[nco] 04/07: Imported Upstream version 4.4.2

Francesco Lovergine frankie at moszumanska.debian.org
Wed Mar 26 16:31:27 UTC 2014


This is an automated email from the git hooks/post-receive script.

frankie pushed a commit to branch master
in repository nco.

commit 9f19f05849c73dd7ee0ace378e310ddf5bfed42f
Author: Francesco Paolo Lovergine <frankie at debian.org>
Date:   Wed Mar 26 16:51:20 2014 +0100

    Imported Upstream version 4.4.2
---
 AUTHORS                           |     7 +
 Makefile.in                       |     4 +-
 bld/Makefile                      |    72 +-
 bld/nco.spec                      |    17 +-
 bld/nco_dst.pl                    |    43 +-
 bm/NCO_bm.pm                      |     4 +-
 bm/NCO_rgr.pm                     |   949 +-
 configure                         |   169 +-
 configure.ac                      |   128 +-
 configure.eg                      |    13 +-
 data/Makefile.am                  |    14 +-
 data/Makefile.in                  |    16 +-
 data/buggy.cdl                    |    50 +
 data/dsm.cdl                      |   146 +
 data/{in.cdl => hdf.cdl}          |    90 +-
 data/hdn.cdl                      |    63 +
 data/in.cdl                       |    14 +-
 data/in_grp.cdl                   |    43 +-
 data/in_grp_3.cdl                 |   172 +-
 data/mdl.cdl                      |    16 +-
 data/mdl2.cdl                     |     6 +
 doc/ANNOUNCE                      |   239 +-
 doc/ChangeLog                     |   758 +-
 doc/MANIFEST                      |     9 +-
 doc/Makefile.am                   |    43 +-
 doc/Makefile.in                   |    68 +-
 doc/TAG                           |     2 +-
 doc/TODO                          |    22 +-
 doc/VERSION                       |     2 +-
 doc/beta.txt                      |    14 +-
 doc/debian.txt                    |   170 +-
 doc/index.shtml                   |   158 +-
 doc/nco.dvi                       |   Bin 1248760 -> 1295552 bytes
 doc/nco.html                      | 20087 ++++++++++++
 doc/nco.pdf                       |   Bin 0 -> 1201173 bytes
 doc/nco.ps                        | 61517 ++++++++++++++++++++++++++++++++++++
 doc/nco.texi                      |  1491 +-
 doc/nco.txt                       | 15162 +++++++++
 doc/nco.xml                       | 17597 +++++++++++
 doc/xmp/ann_avg.sh                |    18 +-
 doc/xmp/ann_avg_grp.sh            |    63 +-
 doc/xmp/cmb_fl.sh                 |    18 +-
 doc/xmp/cmb_fl_grp.sh             |    54 +-
 doc/xmp/glb_avg.sh                |    19 +-
 doc/xmp/mcc_grp.sh                |    38 +-
 man/Makefile.am                   |     4 +-
 man/Makefile.in                   |     6 +-
 man/ncbo.1                        |    15 +-
 man/ncea.1                        |    14 +-
 man/ncecat.1                      |    14 +-
 man/nces.1                        |    14 +-
 man/ncks.1                        |     9 +-
 man/ncpdq.1                       |    14 +-
 man/ncra.1                        |    18 +-
 man/ncrcat.1                      |    16 +-
 man/ncwa.1                        |    16 +-
 qt/nco.pri                        |     9 +-
 qt/nco.pro                        |     1 -
 src/Makefile.in                   |     4 +-
 src/nco++/Makefile.in             |     4 +-
 src/nco++/Makefile.old            |     4 +-
 src/nco++/NcapVar.hh              |     2 +-
 src/nco++/fmc_all_cls.cc          |    10 +-
 src/nco++/fmc_all_cls.hh          |     2 +-
 src/nco++/fmc_cls.hh              |     2 +-
 src/nco++/fmc_gsl_cls.cc          |     8 +-
 src/nco++/fmc_gsl_cls.hh          |     2 +-
 src/nco++/libnco++.hh             |     4 +-
 src/nco++/map_srt_tmp.hh          |     2 +-
 src/nco++/ncap2.cc                |    65 +-
 src/nco++/ncap2_utl.cc            |    10 +-
 src/nco++/ncoEnumTokenTypes.hpp   |     2 +-
 src/nco++/ncoGrammer.g            |     8 +-
 src/nco++/ncoLexer.cpp            |     2 +-
 src/nco++/ncoLexer.hpp            |     4 +-
 src/nco++/ncoParser.cpp           |     2 +-
 src/nco++/ncoParser.hpp           |     4 +-
 src/nco++/ncoParserTokenTypes.hpp |     2 +-
 src/nco++/ncoTree.cpp             |     6 +-
 src/nco++/ncoTree.hpp             |     4 +-
 src/nco++/nco_gsl.c               |     4 +-
 src/nco++/nco_gsl.h               |     4 +-
 src/nco++/prs_cls.cc              |    55 +-
 src/nco++/prs_cls.hh              |     2 +-
 src/nco++/sdo_utl.cc              |     4 +-
 src/nco++/sdo_utl.hh              |     4 +-
 src/nco/Makefile.in               |     4 +-
 src/nco/libnco.h                  |     4 +-
 src/nco/mpncbo.c                  |    27 +-
 src/nco/mpncecat.c                |    27 +-
 src/nco/mpncflint.c               |    27 +-
 src/nco/mpncpdq.c                 |    27 +-
 src/nco/mpncra.c                  |    27 +-
 src/nco/mpncwa.c                  |    27 +-
 src/nco/ncap.c                    |    31 +-
 src/nco/ncap.h                    |     4 +-
 src/nco/ncap_lex.l                |    10 +-
 src/nco/ncap_utl.c                |     8 +-
 src/nco/ncap_yacc.y               |    10 +-
 src/nco/ncatted.c                 |    49 +-
 src/nco/ncbo.c                    |    75 +-
 src/nco/ncecat.c                  |    48 +-
 src/nco/ncflint.c                 |    48 +-
 src/nco/ncks.c                    |   199 +-
 src/nco/nco.h                     |   223 +-
 src/nco/nco_att_utl.c             |    94 +-
 src/nco/nco_att_utl.h             |     4 +-
 src/nco/nco_aux.c                 |   341 +-
 src/nco/nco_aux.h                 |    29 +-
 src/nco/nco_bnr.c                 |     4 +-
 src/nco/nco_bnr.h                 |     4 +-
 src/nco/nco_cln_utl.c             |     4 +-
 src/nco/nco_cln_utl.h             |     4 +-
 src/nco/nco_cnf_dmn.c             |   314 +-
 src/nco/nco_cnf_dmn.h             |     4 +-
 src/nco/nco_cnf_typ.c             |    76 +-
 src/nco/nco_cnf_typ.h             |    16 +-
 src/nco/nco_cnk.c                 |   711 +-
 src/nco/nco_cnk.h                 |    60 +-
 src/nco/nco_cnv_arm.c             |     6 +-
 src/nco/nco_cnv_arm.h             |     4 +-
 src/nco/nco_cnv_csm.c             |   219 +-
 src/nco/nco_cnv_csm.h             |    30 +-
 src/nco/nco_ctl.c                 |    42 +-
 src/nco/nco_ctl.h                 |     4 +-
 src/nco/nco_dbg.c                 |     4 +-
 src/nco/nco_dbg.h                 |     4 +-
 src/nco/nco_dmn_utl.c             |    10 +-
 src/nco/nco_dmn_utl.h             |     6 +-
 src/nco/nco_fl_utl.c              |   149 +-
 src/nco/nco_fl_utl.h              |     9 +-
 src/nco/nco_grp_trv.c             |   256 +-
 src/nco/nco_grp_trv.h             |    49 +-
 src/nco/nco_grp_utl.c             |  2458 +-
 src/nco/nco_grp_utl.h             |   183 +-
 src/nco/nco_lmt.c                 |   615 +-
 src/nco/nco_lmt.h                 |     8 +-
 src/nco/nco_lst_utl.c             |     4 +-
 src/nco/nco_lst_utl.h             |     6 +-
 src/nco/nco_md5.c                 |     6 +-
 src/nco/nco_md5.h                 |     6 +-
 src/nco/nco_mmr.c                 |     4 +-
 src/nco/nco_mmr.h                 |     4 +-
 src/nco/nco_mpi.h                 |     4 +-
 src/nco/nco_msa.c                 |   197 +-
 src/nco/nco_msa.h                 |     4 +-
 src/nco/nco_mss_val.c             |     4 +-
 src/nco/nco_mss_val.h             |     4 +-
 src/nco/nco_netcdf.c              |   233 +-
 src/nco/nco_netcdf.h              |    71 +-
 src/nco/nco_omp.c                 |    16 +-
 src/nco/nco_omp.h                 |     4 +-
 src/nco/nco_pck.c                 |     4 +-
 src/nco/nco_pck.h                 |     4 +-
 src/nco/nco_prn.c                 |   458 +-
 src/nco/nco_prn.h                 |    12 +-
 src/nco/nco_rec_var.c             |     4 +-
 src/nco/nco_rec_var.h             |     4 +-
 src/nco/nco_rth_flt.c             |     4 +-
 src/nco/nco_rth_flt.h             |     4 +-
 src/nco/nco_rth_utl.c             |    75 +-
 src/nco/nco_rth_utl.h             |    11 +-
 src/nco/nco_scl_utl.c             |     4 +-
 src/nco/nco_scl_utl.h             |     4 +-
 src/nco/nco_scm.c                 |     8 +-
 src/nco/nco_scm.h                 |     4 +-
 src/nco/nco_sng_utl.c             |    32 +-
 src/nco/nco_sng_utl.h             |     4 +-
 src/nco/nco_srm.c                 |     4 +-
 src/nco/nco_srm.h                 |     4 +-
 src/nco/nco_typ.h                 |     4 +-
 src/nco/nco_var_avg.c             |   743 +-
 src/nco/nco_var_avg.h             |     4 +-
 src/nco/nco_var_lst.c             |    71 +-
 src/nco/nco_var_lst.h             |     6 +-
 src/nco/nco_var_rth.c             |     6 +-
 src/nco/nco_var_rth.h             |     4 +-
 src/nco/nco_var_scv.c             |     4 +-
 src/nco/nco_var_scv.h             |     4 +-
 src/nco/nco_var_utl.c             |    45 +-
 src/nco/nco_var_utl.h             |     6 +-
 src/nco/ncpdq.c                   |    62 +-
 src/nco/ncra.c                    |   432 +-
 src/nco/ncrename.c                |   207 +-
 src/nco/ncwa.c                    |   133 +-
 src/nco_c++/Makefile.in           |     4 +-
 src/nco_c++/Makefile.old          |     4 +-
 src/nco_c++/libnco_c++.hh         |     4 +-
 src/nco_c++/nco_att.cc            |     4 +-
 src/nco_c++/nco_att.hh            |     4 +-
 src/nco_c++/nco_dmn.cc            |     4 +-
 src/nco_c++/nco_dmn.hh            |     4 +-
 src/nco_c++/nco_fl.cc             |     4 +-
 src/nco_c++/nco_fl.hh             |     4 +-
 src/nco_c++/nco_hgh.cc            |     4 +-
 src/nco_c++/nco_hgh.hh            |     4 +-
 src/nco_c++/nco_utl.cc            |     4 +-
 src/nco_c++/nco_utl.hh            |     4 +-
 src/nco_c++/nco_var.cc            |     4 +-
 src/nco_c++/nco_var.hh            |     4 +-
 src/nco_c++/tst.cc                |    12 +-
 201 files changed, 124723 insertions(+), 4848 deletions(-)

diff --git a/AUTHORS b/AUTHORS
new file mode 100644
index 0000000..21122d1
--- /dev/null
+++ b/AUTHORS
@@ -0,0 +1,7 @@
+Charlie Zender <surname at uci dot edu>
+CZ holds all copyright on NCO code.
+All other contributors have assigned their copyright to Zender,
+or did not make contributions that are legally significant for
+copyright purposes. These contributors are all listed under
+"Contributors" in the Users Guide documentation (nco.texi) at
+http://nco.sf.net/nco.html#ppl
diff --git a/Makefile.in b/Makefile.in
index 810e7cd..cf8fd0f 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -14,7 +14,7 @@
 
 @SET_MAKE@
 
-# $Header: /cvsroot/nco/nco/Makefile.in,v 1.140 2013/11/06 18:12:22 zender Exp $ -*-makefile-*-
+# $Header: /cvsroot/nco/nco/Makefile.in,v 1.143 2014/01/30 07:10:11 zender Exp $ -*-makefile-*-
 VPATH = @srcdir@
 am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
 am__make_running_with_option = \
@@ -237,6 +237,7 @@ EXEEXT = @EXEEXT@
 FGREP = @FGREP@
 GREP = @GREP@
 HAVE_ANTLR = @HAVE_ANTLR@
+HAVE_MAKEINFO = @HAVE_MAKEINFO@
 I18N_SHARE = @I18N_SHARE@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
@@ -315,7 +316,6 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
-have_makeinfo = @have_makeinfo@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
diff --git a/bld/Makefile b/bld/Makefile
index 5455ea1..1889dbb 100644
--- a/bld/Makefile
+++ b/bld/Makefile
@@ -1,9 +1,9 @@
-# $Header: /cvsroot/nco/nco/bld/Makefile,v 1.673 2013/12/02 20:14:49 zender Exp $ -*-makefile-*-
+# $Header: /cvsroot/nco/nco/bld/Makefile,v 1.691 2014/02/20 16:43:22 zender Exp $ -*-makefile-*-
 
 # Purpose: GNU Makefile for NCO module nco
 # Requires GNU Make---AT&T Make chokes on GNU syntax
 
-# Copyright (C) 1994--2013 Charlie Zender
+# Copyright (C) 1994--2014 Charlie Zender
 # License: GNU General Public License (GPL) Version 3
 # See http://www.gnu.org/copyleft/gpl.html for full license text
 
@@ -85,18 +85,23 @@
 # 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.3.9.aix53.tar.gz nc*;scp ~/nco-4.3.9.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.2.aix53.tar.gz nc*;scp ~/nco-4.4.2.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 NCAR Linux cluster systems (yellowstone):
 # /ncar/opt/hpss/hsi # Starts HPSS session
+# export PATH=${PATH}\:/ncar/opt/hpss
+# GNU (works):
 # module swap intel gnu;module add gsl;module add netcdf/4.3.0-rc4;
 # export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}\:/glade/apps/opt/udunits/2.1.24/gnu/default/lib
-# export PATH=${PATH}\:/ncar/opt/hpss
 # cd ~/nco/bld;make NETCDF_ROOT='/glade/apps/opt/netcdf/4.3.0-rc4/gnu/default' UDUNITS_INC='/glade/apps/opt/udunits/2.1.24/gnu/default/include' UDUNITS_LIB='/glade/apps/opt/udunits/2.1.24/gnu/default/lib' OPTS=D allinone;cd -
+# Intel (works as of 20140129):
+# module add intel;module add gsl;module add netcdf/4.3.0-rc4;
+# export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}\:/glade/apps/opt/udunits/2.1.24/intel/12.1.4/lib
+# cd ~/nco/bld;make NETCDF_ROOT='/glade/apps/opt/netcdf/4.3.0-rc4/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 UDUNITS2=Y allinone;cd -
-# cd ~/bin/WIN32;tar cvzf ~/nco-4.3.9.win32.cygwin.tar.gz nc* ; scp ~/nco-4.3.9.win32.cygwin.tar.gz zender,nco at web.sf.net:/home/project-web/nco/htdocs/src
+# cd ~/bin/WIN32;tar cvzf ~/nco-4.4.2.win32.cygwin.tar.gz nc* ; scp ~/nco-4.4.2.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.nc mdl2.nc in_grp*.nc in.nc dust.ess.uci.edu:/var/www/html/nco
 
@@ -279,7 +284,7 @@ endif
 # Default NCO build: DAP_NETCDF, DAP_OPENDAP, NETCDF4, PNETCDF, and ZNETCDF clauses may overwrite this
 ifndef LIB_NCAR
  NC_LDFLAGS := -L${NETCDF_LIB}
- NC_LIBS := -lnetcdf 
+ NC_LIBS := -lnetcdf
 else
  NC_LDFLAGS := ${LIB_NCAR}
 endif
@@ -800,7 +805,7 @@ ${MY_DPN_DIR}/%.d : %.cc
 endif # endif AIX VA Compiler Collection
 # GNU Compiler Collection
 ifneq (${null},$(findstring gcc,${CC}))
- CFLAGS := -Wall -Wunused
+ CFLAGS := -Wall -Werror=format-security -Wunused
 ifeq (${OPTS},O)
  CFLAGS += -O -g ${GCC_RCH_ARG}
 endif
@@ -967,13 +972,20 @@ ifeq (${OPTS},X)
 endif
  CXXFLAGS := ${CFLAGS}
 endif # endif Comeau C Compiler
-# GNU Compiler Collection
+# GNU Compiler Collection or LLVM
+# 20140204: gcc and clang should receive identical options
 ifeq (gcc,$(firstword ${CC}))
+ GCC_OR_CLANG := Y
+endif
+ifeq (clang,$(firstword ${CC}))
+ GCC_OR_CLANG := Y
+endif
+ifeq (${GCC_OR_CLANG},Y)
  CPPFLAGS += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
- CFLAGS := -Wall
+ CFLAGS := -Wall -Wuninitialized
 # Compilation flags for numerical routines recommended by GSL 1.3 manual, p. 397
- CFLAGS += -Wall -W -Wmissing-prototypes -Wshadow -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -fno-common -g
-# Compilation flags recommended by GSL that I like and use:
+ CFLAGS += -Werror=format-security -W -Wmissing-prototypes -Wshadow -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -fno-common -g
+# Compilation flags recommended by GSL and others that I like and use:
 # -D_BSD_SOURCE: Support 4.3 BSD Unix extensions to ANSI C (prevents nameser.h warnings)
 # -D_POSIX_SOURCE: Support POSIX.1 standard additions to ANSI C (prevents fileno warnings)
 # -pedantic: Disallow non-ISO constructs (including type long long) (sometimes useful)
@@ -982,10 +994,14 @@ ifeq (gcc,$(firstword ${CC}))
 # -Wcast-align: Warn if casting pointer to type of different size
 # -Wcast-qual: Warn if const qualifier removed from pointer
 # -Werror: Consider warnings as errors
+# -Werror=format-security: Consider this specific warning as errors
+# -Wmaybe-uninitialized: Warn on uninitialized variables. GCC has many false negatives, clang is better? Available on GCC 4.8.2+. Not available on GCC 4.6.3-.
 # -Wmissing-prototypes: Warn if missing prototypes
 # -Wpointer-arith: Warn if pointer arithmetic on types without size, e.g., void
 # -Wshadow: Warn if local variable has same name as other local variable
+# -Wsometimes-uninitialized: LLVM/clang uses this but GCC does not
 # -Wswitch: Warn if switch statement has enumerated index and case label outside enumeration range
+# -Wuninitialized: Warn on uninitialized variables. GCC has many false negatives, clang is better? 
 # -Wunused: Warn on unused functions, labels, parameters, values, and variables
 # -Wwrite-strings: Apply const-qualifier to string constants, die if overwritten
 # -fno-common: Prevent global variables from being simultaneously defined in different files
@@ -1019,14 +1035,16 @@ endif
 ifeq (${OPTS},X)
 # 20090715: https://wiki.ubuntu.com/CompilerFlags
 # -D_FORTIFY_SOURCE=2 : Compile-time libc checks, run-time buffer/memory checks
+#                     : NB: _FORTIFY_SOURCE macro requires -O switch
 # -fstack-protector : Enable run-time stack overflow verification
 # -Wformat-security : Warn about misuse of format strings
 # -Wl,-z,relro : Read-only relocation table area in final ELF
  CPPFLAGS += -D_FORTIFY_SOURCE=2
  CFLAGS += -g -fstack-protector -Wformat-security -Wl,-z,relro
 # 20090715: -Werror triggers known nc_put_var?_string() and nco_def_var_chunking() errors
-# CFLAGS += -g -O -pg -fno-inline -Werror
- CFLAGS += -g -O -pg -fno-inline
+# CFLAGS += -g -pg -fno-inline -Werror
+# CFLAGS += -g -O -pg -fno-inline
+ CFLAGS += -g -pg -fno-inline
  LDFLAGS += -pg
 # LDFLAGS += /usr/local/lib/ccmalloc-gcc.o -L/usr/local/lib -lccmalloc -ldl
 endif
@@ -1056,10 +1074,11 @@ ifeq (icc,$(firstword ${CC}))
 # -w1: display warnings and errors (DEFAULT)
 # -w2: display remarks, warnings, and errors
 # -wd<L1>[,<L2>,...] disable diagnostics L1 through LN
+# warning #274: declaration is not visible outside of function
 # remark #981: operands are evaluated in unspecified order
 # remark #810: conversion from "double" to "float" may lose significant bits
 # remark #1572: floating-point equality and inequality comparisons are unreliable
- CFLAGS := -w1
+ CFLAGS := -w1 -wd274
  CPPFLAGS += -no-gcc
  LDFLAGS += -lsvml
  OMP_FLG_C := -openmp -openmp_report0
@@ -1244,7 +1263,7 @@ CXX := c++
 # NB: -D_POSIX_SOURCE breaks MACOSX build in nco_fl_utl.c, nco_mmr.c
 CC := cc -std=c99 -pedantic -D_BSD_SOURCE
 # -fno-common: Allows shared libraries to build
-CFLAGS := -Wall -fno-common
+CFLAGS := -Wall -Werror=format-security -fno-common
 CPP := ${CC}
 CPPFLAGS := ${CPP_TKN} ${CPP_TKN_OS} ${CPP_PTH} -I${NETCDF_INC}
 FC := f90
@@ -1379,7 +1398,7 @@ endif # endif ABI
 endif # endif SGI64, SGIMP64
 ifeq (gcc,$(firstword ${CC}))
  LDFLAGS += ${GCC_LDFLAGS_SZ_SPC} ${TMP_LDFLAGS} ${TMP_LIBS} -lm
- CFLAGS := ${GCC_ABI_FLG} -Wall
+ CFLAGS := ${GCC_ABI_FLG} -Wall -Werror=format-security
 ifeq (${OPTS},O)
  CFLAGS += -O2
 endif
@@ -1742,7 +1761,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.3.9 rpm
+rpm:	${MY_BLD_DIR}/nco.spec # Building rpm requires root priveleges, e.g., sudo make NCO_VRS=4.4.2 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
@@ -1797,7 +1816,7 @@ ${MY_DAT_DIR}/buggy.nc: ${MY_DAT_DIR}/buggy.cdl
 dap:	data
 	-cd ~/nco/data; scp in.nc in.cdl dust.ess.uci.edu:/var/www/html/dodsdata; scp in.nc in.cdl esmf.ess.uci.edu:/var/www/html/dodsdata; scp in.nc in.cdl esmf.ess.uci.edu:/data/dodsdata
 data:	dat
-dat:	${MY_DAT_DIR}/cmip5.nc ${MY_DAT_DIR}/obs.nc ${MY_DAT_DIR}/mdl.nc ${MY_DAT_DIR}/mdl2.nc ${MY_DAT_DIR}/in.nc ${MY_DAT_DIR}/in_grp.nc ${MY_DAT_DIR}/in_4.nc ${MY_DAT_DIR}/in_grp_1.nc ${MY_DAT_DIR}/in_grp_2.nc ${MY_DAT_DIR}/in_grp_3.nc ${MY_DAT_DIR}/in_rec_zero.nc
+dat:	${MY_DAT_DIR}/cmip5.nc ${MY_DAT_DIR}/obs.nc ${MY_DAT_DIR}/dsm.nc ${MY_DAT_DIR}/hdn.nc ${MY_DAT_DIR}/hdf.hdf ${MY_DAT_DIR}/mdl.nc ${MY_DAT_DIR}/mdl2.nc ${MY_DAT_DIR}/in.nc ${MY_DAT_DIR}/in_grp.nc ${MY_DAT_DIR}/in_4.nc ${MY_DAT_DIR}/in_grp_1.nc ${MY_DAT_DIR}/in_grp_2.nc ${MY_DAT_DIR}/in_grp_3.nc ${MY_DAT_DIR}/in_rec_zero.nc
 	-for fl in ${MDL_DAT_STB}; do cd ${MY_DAT_DIR}; ln -s -f in.nc $$fl; done
 ${MY_DAT_DIR}/in.nc: ${MY_DAT_DIR}/in.cdl
 	ncgen -b -o $@ $<
@@ -1819,8 +1838,14 @@ ${MY_DAT_DIR}/in_grp_3.nc: ${MY_DAT_DIR}/in_grp_3.cdl
 	-ncgen -k netCDF-4 -b -o $@ $<
 ${MY_DAT_DIR}/cmip5.nc: ${MY_DAT_DIR}/cmip5.cdl
 	-ncgen -k netCDF-4 -b -o $@ $<
+${MY_DAT_DIR}/hdn.nc: ${MY_DAT_DIR}/hdn.cdl
+	-ncgen -k netCDF-4 -b -o $@ $<
+${MY_DAT_DIR}/dsm.nc: ${MY_DAT_DIR}/dsm.cdl
+	-ncgen -k netCDF-4 -b -o $@ $<
 ${MY_DAT_DIR}/obs.nc: ${MY_DAT_DIR}/obs.cdl
 	-ncgen -k netCDF-4 -b -o $@ $<
+${MY_DAT_DIR}/hdf.hdf: ${MY_DAT_DIR}/hdf.cdl
+	-hncgen -b -o $@ $<
 ${MY_DAT_DIR}/mdl.nc: ${MY_DAT_DIR}/mdl.cdl
 	-ncgen -k netCDF-4 -b -o $@ $<
 ${MY_DAT_DIR}/mdl2.nc: ${MY_DAT_DIR}/mdl2.cdl
@@ -2066,7 +2091,7 @@ dbg:
 distclean: dst_cln
 dst_cln: cln bin_cln dat_cln doc_cln root_cln
 	cd ${MY_BLD_DIR}; rm -f *~
-	cd ${MY_DAT_DIR}; rm -f buggy.nc cmip5.nc obs.nc mdl.nc mdl2.nc in.nc in_4.nc in_grp.nc in_grp_1.nc in_grp_2.nc in_grp_3.nc in_rec_zero.nc *~
+	cd ${MY_DAT_DIR}; rm -f buggy.nc cmip5.nc dsm.nc obs.nc hdf.hdf mdl.nc mdl2.nc in.nc in_4.nc in_grp.nc in_grp_1.nc in_grp_2.nc in_grp_3.nc in_rec_zero.nc *~
 tags: 
 	etags ${MY_SRC_DIR}/*.h $(filter-out ${TAGS_FILTER_FILES},${SRC_LST}) ${MDL_DOC_SRC} ${MDL_MAN} ${MDL_BLD_SRC} ${MDL_CXX_SRC} ${MDL_NCAP_SRC} ${MDL_QT_SRC}
 
@@ -2097,6 +2122,15 @@ endif
 	${LEX} ${LFLAGS} $<
 	mv lex.${NCO_YY_PFX}.c $(basename $<).c
 
+# Target-specific variable values syntax TARGET ... : VARIABLE-ASSIGNMENT
+# Rules begin in leftmost column else interpreted as commands
+ifneq (${null},$(findstring ${PVM_ARCH},LINUXALPHALINUXAMD64LINUXARMFREEBSD))
+ifeq (gcc,$(firstword ${CC}))
+${MY_OBJ_DIR}/nco_grp_trv.o : CFLAGS := $(filter-out -Wcast-qual,${CFLAGS})
+${MY_OBJ_DIR}/nco_grp_trv.o : CXXFLAGS := $(filter-out -Wcast-qual,${CXXFLAGS})
+endif # endif GCC
+endif # endif LINUX
+
 # ncap, and only ncap, requires AIX system C++ library
 ifneq (${null},$(findstring AIX,${PVM_ARCH}))
 ifneq (${null},$(findstring xl,${CC}))
diff --git a/bld/nco.spec b/bld/nco.spec
index 047a759..67cb210 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.3.9
+Version:        4.4.2
 Release:        1%{?dist}
 Summary:        Programs that manipulate netCDF files
 Group:          Applications/Engineering
 License:        GPL3
 URL:            http://nco.sf.net/
 
-# Obtain NCO version 4.3.9-1 tar.gz from Sourceforge using CVS:
+# Obtain NCO version 4.4.2-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.3.9-1 -d nco-%{version} nco
-# tar czf nco-%{version}.tar.gz --exclude='nco-4.3.9/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.2-1 -d nco-%{version} nco
+# tar czf nco-%{version}.tar.gz --exclude='nco-4.4.2/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,15 @@ fi
 # %{_libdir}/libnco++.so
 
 %changelog
+* Thu Feb 20 2014 Charlie Zender <zender at uci.edu> - 4.4.1-1
+- new upstream 4.4.2
+
+* Thu Jan 29 2014 Charlie Zender <zender at uci.edu> - 4.4.1-1
+- new upstream 4.4.1
+
+* Thu Jan 09 2014 Charlie Zender <zender at uci.edu> - 4.4.0-1
+- new upstream 4.4.0
+
 * Wed Dec 06 2013 Charlie Zender <zender at uci.edu> - 4.3.9-1
 - new upstream 4.3.9
 
diff --git a/bld/nco_dst.pl b/bld/nco_dst.pl
index 7c17f52..8ea8bef 100755
--- a/bld/nco_dst.pl
+++ b/bld/nco_dst.pl
@@ -6,17 +6,18 @@
 # Usage:
 # Export tagged, public versions
 
-# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln nco-4_3_9 # Build, do not install
-# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --nst_all nco-4_3_9 # Install, do not build
-# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln --nst_all nco-4_3_9 # Build and install
-# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --acd_cnt nco-4_3_9
-# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --acd_prs nco-4_3_9
-# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --cgd_cnt nco-4_3_9
-# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --cray_prs nco-4_3_9
-# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --bbl_cnt nco-4_3_9
-# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --blk_cnt nco-4_3_9
-# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --dat_cnt nco-4_3_9
-# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --ute_prs nco-4_3_9
+# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln nco-4_4_2 # Build, do not release on SF
+# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln --sf nco-4_4_2 # Build, release on SF
+# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --nst_all nco-4_4_2 # Install, do not build
+# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln --nst_all nco-4_4_2 # Build and install
+# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --acd_cnt nco-4_4_2
+# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --acd_prs nco-4_4_2
+# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --cgd_cnt nco-4_4_2
+# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --cray_prs nco-4_4_2
+# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --bbl_cnt nco-4_4_2
+# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --blk_cnt nco-4_4_2
+# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --dat_cnt nco-4_4_2
+# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --ute_prs nco-4_4_2
 
 # Export daily snapshot
 # ${HOME}/nco/bld/nco_dst.pl --dbg=2 
@@ -30,7 +31,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.206 2013/11/13 20:57:01 zender Exp $';
+my $CVS_Header='$Header: /cvsroot/nco/nco/bld/nco_dst.pl,v 1.212 2014/02/05 21:17:07 zender Exp $';
 
 # Specify modules
 use strict; # Protect all namespaces
@@ -56,7 +57,7 @@ my ($idx,$rcd);
 my ($prg_nm,$prg_dsc,$prg_vrs,$prg_date);
 my ($pth_in,$fl_sfx);
 
-my ($dst_vrs,$dst_fl);
+my ($dst_vrs,$dst_fl,$doc_fl);
 my ($dst_fl_chg,$dst_fl_deb,$dst_fl_doc,$dst_fl_dsc,$dst_fl_tgz);
 my ($nco_vrs,$nco_vrs_mjr,$nco_vrs_mnr,$nco_vrs_pch);
 my ($dly_snp);
@@ -67,9 +68,9 @@ my ($rsh_cmd,$rcp_cmd,$cp_cmd,$rm_cmd,$mkdir_cmd,$cvs_cmd);
 my $False=0;
 my $True=1;
 
-my $CVS_Date='$Date: 2013/11/13 20:57:01 $';
-my $CVS_Id='$Id: nco_dst.pl,v 1.206 2013/11/13 20:57:01 zender Exp $';
-my $CVS_Revision='$Revision: 1.206 $';
+my $CVS_Date='$Date: 2014/02/05 21:17:07 $';
+my $CVS_Id='$Id: nco_dst.pl,v 1.212 2014/02/05 21:17:07 zender Exp $';
+my $CVS_Revision='$Revision: 1.212 $';
 my $CVSROOT='zender at nco.cvs.sf.net:/cvsroot/nco'; # CVS repository
 my $DATA=$ENV{'DATA'};
 my $HOME=$ENV{'HOME'};
@@ -94,6 +95,7 @@ my $www_mch_mrr='web.sf.net'; # WWW machine for package mirror
 my $www_drc_mrr='/home/project-web/nco/htdocs'; # WWW directory for package mirror
 
 # Set defaults for command line arguments
+my $sf=$False; # Release tarball and update SourceForge
 my $cln=$True; # GNU standard Makefile option `clean'
 my $dbg_lvl=0;
 my $dst_cln=$False; # GNU standard Makefile option `distclean'
@@ -137,6 +139,7 @@ $rcd=GetOptions( # man Getopt::GetoptLong
 		'acd_cnt!' => \$acd_cnt,
 		'acd_prs!' => \$acd_prs,
 		'bld!' => \$bld,
+		'sf!' => \$sf,
 		'bbl_cnt!' => \$bbl_cnt,
 		'blk_cnt!' => \$blk_cnt,
 		'cgd_cnt!' => \$cgd_cnt,
@@ -173,6 +176,7 @@ if($dbg_lvl >= 1){print ("$prg_nm: $prg_dsc, version $prg_vrs of $prg_date\n");}
 if($dbg_lvl >= 2){print ("$prg_nm: \$vrs_tag = $vrs_tag\n");} # endif dbg
 if($dbg_lvl >= 2){print ("$prg_nm: \$dbg_lvl = $dbg_lvl\n");} # endif dbg
 if($dbg_lvl >= 2){print ("$prg_nm: \$bld = $bld\n");} # endif dbg
+if($dbg_lvl >= 2){print ("$prg_nm: \$sf = $sf\n");} # endif dbg
 if($dbg_lvl >= 2){print ("$prg_nm: \$cln = $cln\n");} # endif dbg
 if($dbg_lvl >= 2){print ("$prg_nm: \$dst_cln = $dst_cln\n");} # endif dbg
 if($dbg_lvl >= 2){print ("$prg_nm: \$nst_all = $nst_all\n");} # endif dbg
@@ -206,6 +210,8 @@ if($dly_snp){
     $dst_vrs=$mdl_sng.'-'.$nco_vrs;
     if($nco_vrs_mjr < 1 || $nco_vrs_mjr > 4){die "$prg_nm: ERROR $nco_vrs_mjr < 1 || $nco_vrs_mjr > 3"};
 } # endelse
+$doc_fl="$HOME/nco/doc/nco.dvi $HOME/nco/doc/nco.html $HOME/nco/doc/nco.ps $HOME/nco/doc/nco.pdf $HOME/nco/doc/nco.txt $HOME/nco/doc/nco.xml"; # Derived documentation
+
 $dst_fl=$dst_vrs.'.tar.gz'; # Standard tarball distribution
 $dst_fl_chg=$mdl_sng.'_'.$nco_vrs.'-1_*.changes'; # Debian changes
 $dst_fl_deb=$mdl_sng.'_'.$nco_vrs.'-1_*.deb'; # Debian executables and libraries
@@ -248,7 +254,8 @@ 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("$tar_cmd cvzf $dst_fl --exclude='nco-4.3.9/debian*' --exclude='.cvsignore' --exclude=ncap_lex.c --exclude=ncap_yacc.[ch] ./$dst_vrs"); # Create gzipped tarfile
+    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.2/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
@@ -272,7 +279,7 @@ if($bld){
 # Use rcp_cmd_no_prs_prm because scp appears to quit without notice if too many warnings errors occur copying first files
 # Usually scp_cmd includes -p switch to preserve permissions and times, but sourceforge server does not allow this
 # Hence it generates warnings when used with -p, and is not properly updated
-    if($True){
+    if($sf){
 	cmd_prc("$rcp_cmd_no_prs_prm $dst_pth_bld/doc/index.shtml $dst_pth_bld/doc/nco.png $dst_pth_bld/doc/nco_news.shtml $dst_pth_bld/doc/README $dst_pth_bld/doc/TODO $dst_pth_bld/doc/VERSION $dst_pth_bld/doc/ChangeLog $usr_nm,nco\@$www_mch_mrr:$www_drc_mrr");
 	cmd_prc("$rcp_cmd_no_prs_prm $dst_pth_bld/doc/nco.html $dst_pth_bld/doc/nco.info* $dst_pth_bld/doc/nco.dvi $dst_pth_bld/doc/nco.pdf $dst_pth_bld/doc/nco.ps $dst_pth_bld/doc/nco.ps $dst_pth_bld/doc/nco.texi $usr_nm,nco\@$www_mch_mrr:$www_drc_mrr");
 	cmd_prc("$rcp_cmd_no_prs_prm $dst_pth_pfx/$dst_fl $DATA/$dst_fl_chg $DATA/$dst_fl_deb $DATA/$dst_fl_dsc $DATA/$dst_fl_tgz $usr_nm,nco\@$www_mch_mrr:$www_drc_mrr/src"); # Copy Debian files to WWW server
diff --git a/bm/NCO_bm.pm b/bm/NCO_bm.pm
index f1795e1..fd0ef8f 100644
--- a/bm/NCO_bm.pm
+++ b/bm/NCO_bm.pm
@@ -1,6 +1,6 @@
 package NCO_bm;
 
-# $Header: /cvsroot/nco/nco/bm/NCO_bm.pm,v 1.86 2013/12/02 01:05:55 zender Exp $
+# $Header: /cvsroot/nco/nco/bm/NCO_bm.pm,v 1.87 2013/12/31 05:14:01 zender Exp $
 
 # Purpose: Library for nco_bm.pl benchmark and regression tests
 # Module contains following functions:
@@ -136,7 +136,7 @@ appending history to file.
 This script is part of the netCDF Operators package:
 http://nco.sf.net
 
-Copyright 1995--2013 Charlie Zender
+Copyright 1995--2014 Charlie Zender
 
 USAGE
 exit(0);
diff --git a/bm/NCO_rgr.pm b/bm/NCO_rgr.pm
index 31cbfed..5fbeefa 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.378 2013/12/02 01:05:55 zender Exp $
+# $Header: /cvsroot/nco/nco/bm/NCO_rgr.pm,v 1.459 2014/02/20 18:25:45 zender Exp $
 
 # Purpose: All REGRESSION tests for NCO operators
 # BENCHMARKS are coded in "NCO_benchmarks.pm"
@@ -296,7 +296,7 @@ print "\n";
 # Fragile: This test fails when length of command changes
 	$tst_cmd[0]="ncatted -O --hdr_pad=1000 $nco_D_flg -a missing_value,val_one_mss,m,f,0.0 $in_pth_arg in.nc %tmp_fl_00%";
 	$tst_cmd[1]="ncks -M %tmp_fl_00% | grep hdr_pad | wc > %tmp_fl_01%";
-	$tst_cmd[2]="cut -c 14-15  %tmp_fl_01%"; ## Daniel:fxm cut/ncks, but how to do grep and wc???
+	$tst_cmd[2]="cut -c 14-15 %tmp_fl_01%"; ## Daniel:fxm cut/ncks, but how to do grep and wc???
 	$dsc_sng="Pad header with 1000B extra for future metadata (failure OK/expected since test depends on command-line length)";
 	$tst_cmd[3]="27";
 	$tst_cmd[4]="SS_OK";
@@ -413,8 +413,9 @@ print "\n";
     $#tst_cmd=0; # Reset array - ok
 
 # ncbo #3    
+# ncbo -h -O --op_typ='-' -v mss_val_scl  in.nc in.nc out.nc
     
-    $tst_cmd[0]="ncbo $omp_flg -h -O $fl_fmt $nco_D_flg --op_typ='-' -v mss_val_scl $in_pth_arg in.nc in.nc %tmp_fl_00%";;
+    $tst_cmd[0]="ncbo $omp_flg -h -O $fl_fmt $nco_D_flg --op_typ='-' -v mss_val_scl $in_pth_arg in.nc in.nc %tmp_fl_00%";
     $tst_cmd[1]="ncks -C -H --no_blank -s '%g' -v mss_val_scl %tmp_fl_00%";
     $dsc_sng="difference scalar missing value";
     $tst_cmd[2]="1.0e36";
@@ -511,7 +512,7 @@ print "\n";
     
     $tst_cmd[0]="ncks -C -O $fl_fmt $nco_D_flg -v three_dmn_var_dbl $in_pth_arg in.nc %tmp_fl_00%";
     $tst_cmd[1]="ncap2 -C -O $fl_fmt $nco_D_flg -v -s 'three_dmn_var_dbl[lon]={0.0,1,2,3};' $in_pth_arg in.nc %tmp_fl_01%";
-    $tst_cmd[2]="ncbo $omp_flg -C -h -O $fl_fmt $nco_D_flg  %tmp_fl_00% %tmp_fl_01% %tmp_fl_02%";
+    $tst_cmd[2]="ncbo $omp_flg -C -h -O $fl_fmt $nco_D_flg %tmp_fl_00% %tmp_fl_01% %tmp_fl_02%";
     $tst_cmd[3]="ncwa $omp_flg -C -h -O $fl_fmt $nco_D_flg -y ttl -v three_dmn_var_dbl %tmp_fl_02% %tmp_fl_03%";
     $tst_cmd[4]="ncks -C -H -s '%f' -v three_dmn_var_dbl %tmp_fl_03%";
     $dsc_sng="Difference which tests 3D broadcasting";
@@ -521,7 +522,7 @@ print "\n";
     $#tst_cmd=0; # Reset array
     
 # ncbo #13   
-	
+# 	
     $tst_cmd[0]="ncks -C -O $fl_fmt $nco_D_flg -v three_dmn_var_dbl $in_pth_arg in.nc %tmp_fl_00%";
     $tst_cmd[1]="ncap2 -C -O $fl_fmt $nco_D_flg -v -s 'three_dmn_var_dbl[lon]={0.0,1,2,3};' $in_pth_arg in.nc %tmp_fl_01%";
     $tst_cmd[2]="ncbo $omp_flg -C -h -O $fl_fmt $nco_D_flg -d time,0,4 -d time,9 -d lon,0 -d lon,3 %tmp_fl_00% %tmp_fl_01% %tmp_fl_02%";
@@ -570,7 +571,7 @@ print "\n";
 # NCO 4.3.0: added support for groups; ncbo -g
 #   
 #ncbo #16
-# ncbo -O -y add -g g4 -v one_dmn_rec_var ~/nco/data/in_grp.nc ~/nco/data/in_grp.nc out.nc
+# ncbo -O -y add -g g4 -v one_dmn_rec_var in_grp.nc in_grp.nc out.nc
 # ncks -C -H -s '%d'  -d time,0,0,1 -g g4 -v one_dmn_rec_var out.nc
 # /g4/one_dmn_rec_var
 # time[0]=1 one_dmn_rec_var[0]=2 
@@ -662,6 +663,7 @@ print "\n";
     $#tst_cmd=0; # Reset array 		
 
 # ncbo #21
+# ncbo -O -g g1 -v var1  in_grp_1.nc  in_grp_2.nc out.nc
 
     $dsc_sng="(Groups) Process different types -g g1 -v var1 in_grp_1.nc  in_grp_2.nc";
     $tst_cmd[0]="ncbo -O $fl_fmt $nco_D_flg  -g g1 -v var1 $in_pth_arg in_grp_1.nc  in_grp_2.nc %tmp_fl_00%";
@@ -809,12 +811,12 @@ print "\n";
 	
     $tst_cmd[0]="/bin/rm -f %tmp_fl_00%";
     $tst_cmd[1]="ncra -Y ncfe $omp_flg -h -O $fl_fmt $nco_D_flg -C $in_pth_arg lrg_bm.nc lrg_bm1.nc %tmp_fl_00%";
-    $tst_cmd[2]="ncra -Y ncfe -t1 -h -O $fl_fmt $nco_D_flg -C $in_pth_arg lrg_bm.nc lrg_bm1.nc %tmp_fl_01%";
-    $tst_cmd[3]="ncbo -C -h -O  %tmp_fl_00% %tmp_fl_01% %tmp_fl_02%";
-    $tst_cmd[4]="ncwa  -t1 -O -C %tmp_fl_02% %tmp_fl_03% 2>%tmp_fl_05%";
+    $tst_cmd[2]="ncra -Y ncfe -t 1 -h -O $fl_fmt $nco_D_flg -C $in_pth_arg lrg_bm.nc lrg_bm1.nc %tmp_fl_01%";
+    $tst_cmd[3]="ncbo -C -h -O %tmp_fl_00% %tmp_fl_01% %tmp_fl_02%";
+    $tst_cmd[4]="ncwa -t 1 -O -C %tmp_fl_02% %tmp_fl_03% 2>%tmp_fl_05%";
     $dsc_sng="Check op with OpenMP";
 #    $tst_cmd[5]="ncks -C -H -s '%d' -v R %tmp_fl_03%";
-    $tst_cmd[5]="ncap2 -t1 -h -v -O -s 'n2= ( (fabs(R)<0.01) && (fabs(S)<0.01) && (fabs(T)<0.01) && (fabs(U)<0.01) && (fabs(V)<0.01) && (fabs(W)<0.01) && (fabs(X)<0.01) );print(n2)' %tmp_fl_03% %tmp_fl_04%";
+    $tst_cmd[5]="ncap2 -t 1 -h -v -O -s 'n2= ((fabs(R)<0.01) && (fabs(S)<0.01) && (fabs(T)<0.01) && (fabs(U)<0.01) && (fabs(V)<0.01) && (fabs(W)<0.01) && (fabs(X)<0.01));print(n2)' %tmp_fl_03% %tmp_fl_04%";
     $tst_cmd[6]="n2 = 1";
     $tst_cmd[7]="NO_SS";
     NCO_bm::tst_run(\@tst_cmd);
@@ -887,26 +889,28 @@ print "\n";
     if($HAVE_NETCDF4_H == 1){
 	
 #nces #14
+# ncra -Y ncge -h -O  mdl.nc out.nc
+# ncks -g cesm -v tas1 out.nc
 	
     $tst_cmd[0]="ncra -Y ncge $omp_flg -h -O $fl_fmt $nco_D_flg $in_pth_arg mdl.nc %tmp_fl_00%";
-    $tst_cmd[1]="ncks -g cesm -v tas1 %tmp_fl_00%";
+    $tst_cmd[1]="ncks -C -g cesm -v tas1 %tmp_fl_00%";
     $dsc_sng="(Groups) 1 file mdl.cdl ensemble";
-    $tst_cmd[2]="time[3] tas1[3]=272.15";
+    $tst_cmd[2]="time[3]=4 tas1[3]=272.15";
     $tst_cmd[3]="SS_OK";
     NCO_bm::tst_run(\@tst_cmd);
     $#tst_cmd=0; # Reset array
 	
-#nces #14
+#nces #15
 	
     $tst_cmd[0]="ncra -Y ncge $omp_flg -h -O --nsm_sfx=_avg $fl_fmt $nco_D_flg $in_pth_arg mdl.nc %tmp_fl_00%";
-    $tst_cmd[1]="ncks -g cesm_avg -v tas1 %tmp_fl_00%";
+    $tst_cmd[1]="ncks -C -g cesm_avg -v tas1 %tmp_fl_00%";
     $dsc_sng="(Groups) 1 file mdl.cdl --nsm_sfx suffix ensemble";
-    $tst_cmd[2]="time[3] tas1[3]=272.15";
+    $tst_cmd[2]="time[3]=4 tas1[3]=272.15";
     $tst_cmd[3]="SS_OK";
     NCO_bm::tst_run(\@tst_cmd);
     $#tst_cmd=0; # Reset array	
 	
-#nces #15
+#nces #16
 # ncra -Y ncge -h -O -G /gpe_grp mdl.nc out.nc
 	
     $tst_cmd[0]="ncra -Y ncge $omp_flg -h -O -G /gpe_grp $fl_fmt $nco_D_flg $in_pth_arg mdl.nc %tmp_fl_00%";
@@ -917,7 +921,7 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     $#tst_cmd=0; # Reset array
 	
-#nces #16
+#nces #17
 #ncra -Y ncge -O mdl.nc mdl2.nc out.nc
     $tst_cmd[0]="ncra -Y ncge $omp_flg -h -O $fl_fmt $nco_D_flg $in_pth_arg mdl.nc mdl2.nc %tmp_fl_00%";
     $tst_cmd[1]="ncks -g ecmwf -v tas1 %tmp_fl_00%";
@@ -927,7 +931,31 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     $#tst_cmd=0; # Reset array
 
+# NEW NCO 4.4.2
+#nces #18 (check fixed variables)
+# ncra -Y ncge -h -O  mdl.nc out.nc
+# ncks -g cesm -v time out.nc
+	
+    $tst_cmd[0]="ncra -Y ncge $omp_flg -h -O $fl_fmt $nco_D_flg $in_pth_arg mdl.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks -m -g cesm -v time  %tmp_fl_00%";
+    $dsc_sng="(Groups) Ensemble fixed variables";
+    $tst_cmd[2]="time dimension 0: time, size = 4 NC_DOUBLE, chunksize = 1 (Record coordinate is time)";
+    $tst_cmd[3]="SS_OK";
+    NCO_bm::tst_run(\@tst_cmd);
+    $#tst_cmd=0; # Reset array
+
      } # #### Group Ensemble tests	
+	 	
+#nces #19 # TODO	
+    #for i in $(seq -w 0 999) ; do iii=$( printf "%03d" ${i} ) ; ln in.nc foo${iii}.nc ; done
+	# TO DO run bash script above by perl
+    $tst_cmd[0]="ncra -Y ncfe $omp_flg -h -O $fl_fmt $nco_D_flg -v dgn_var $in_pth_arg in.nc in.nc in.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks %tmp_fl_00%";
+    $dsc_sng="Test file loop";
+    $tst_cmd[2]="dgn[0]=73 dgn_var[0]=73";
+    $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>;
     
@@ -955,7 +983,7 @@ print "\n";
     $tst_cmd[1]="ncap2 -C -v -O $fl_fmt $nco_D_flg -s 'three_dmn_var_int+=100;' $in_pth_arg in.nc %tmp_fl_01%";
     $tst_cmd[2]="ncecat -C -h -O $omp_flg $fl_fmt $nco_D_flg -d time,0,3 -d time,8,9 -d lon,0,1 -d lon,3,3 -v three_dmn_var_int %tmp_fl_00% %tmp_fl_01% %tmp_fl_02%";
     $tst_cmd[3]="ncwa -C -h -O $omp_flg $fl_fmt $nco_D_flg -y avg -v three_dmn_var_int %tmp_fl_02% %tmp_fl_03%";
-    $tst_cmd[4]="ncks -C -O -H -s '%d' -v three_dmn_var_int  %tmp_fl_03%";
+    $tst_cmd[4]="ncks -C -O -H -s '%d' -v three_dmn_var_int %tmp_fl_03%";
     $dsc_sng="concatenate two 3D vars with multihyperslabbing";
     $tst_cmd[5]="84"; 
     $tst_cmd[6]="SS_OK";
@@ -1032,7 +1060,7 @@ print "\n";
     $dsc_sng="(Groups) Concatenate variables/groups 1: 1D -g g6g1 -v area";
     $tst_cmd[0]="ncecat $nco_D_flg -h -O -g g6g1 -v area $in_pth_arg in_grp.nc in_grp.nc %tmp_fl_00%";
     if($HAVE_NETCDF4_H == 1){
-    $tst_cmd[1]="ncks -H -C -d record,1,1,1 -d lat,1,1,1 -g g6g1 -v area  %tmp_fl_00%";
+    $tst_cmd[1]="ncks -H -C -d record,1,1,1 -d lat,1,1,1 -g g6g1 -v area %tmp_fl_00%";
     $tst_cmd[2]="record[1] lat[1]=90 area[3]=50";
     $tst_cmd[3]="SS_OK";   
     }elsif($HAVE_NETCDF4_H == 0){
@@ -1093,9 +1121,36 @@ print "\n";
     $tst_cmd[2]="SS_OK";        
     }
     NCO_bm::tst_run(\@tst_cmd);
-    $#tst_cmd=0; # Reset array 			       
+    $#tst_cmd=0; # Reset array 		
+
+#ncecat #10
+#Chunking 
+# ncecat -O -4 -D 5 -C --cnk_plc=all -v date_int in.nc in.nc out.nc
+
+    $dsc_sng="Chunking --cnk_plc=all -v date_int";
+    $tst_cmd[0]="ncecat -O -4 $nco_D_flg --cnk_plc=all -v date_int $in_pth_arg in.nc in.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks %tmp_fl_00% | grep 'date_int dimension 0'";
+    $tst_cmd[2]="date_int dimension 0: record, size = 2, chunksize = 1 (Record non-coordinate dimension)";
+    $tst_cmd[3]="SS_OK";   
+    NCO_bm::tst_run(\@tst_cmd);
+    $#tst_cmd=0; # Reset array 
 
-#ncecat #10 
+#ncecat #11
+#Chunking 
+#ncecat -O -C -4  -v four_dmn_rec_var --cnk_dmn lat,2 --cnk_dmn lon,4 in.nc in.nc out.nc
+
+    $dsc_sng="Chunking -v four_dmn_rec_var --cnk_dmn lat,2 --cnk_dmn lon,4";
+    $tst_cmd[0]="ncecat -O -C -4 $nco_D_flg  -v four_dmn_rec_var --cnk_dmn lat,2 --cnk_dmn lon,4  $in_pth_arg in.nc in.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks %tmp_fl_00% | grep 'four_dmn_rec_var dimension 2'";
+    $tst_cmd[2]="four_dmn_rec_var dimension 2: lat, size = 2, chunksize = 2 (Non-coordinate dimension)";
+    $tst_cmd[3]="SS_OK";   
+    NCO_bm::tst_run(\@tst_cmd);
+    $#tst_cmd=0; # Reset array 	
+
+    } #### Group tests	
+	
+		
+#ncecat #12
 #Concatenate files containing same variable in different orders
 # ncks -O    -v time,one ~/nco/data/in.nc ~/foo1.nc
 # ncks -O -a -v one,time ~/nco/data/in.nc ~/foo2.nc
@@ -1112,7 +1167,6 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     $#tst_cmd=0; # Reset array 	
 
-    } #### Group tests	
 	
 
 #print "paused - hit return to continue"; my $wait=<STDIN>;
@@ -1156,7 +1210,7 @@ print "\n";
     $tst_cmd[0]="ncks -h -O $fl_fmt $nco_D_flg -C -d lon,1 -v mss_val $in_pth_arg in.nc %tmp_fl_01%";
     $tst_cmd[1]="ncks -h -O $fl_fmt $nco_D_flg -C -d lon,0 -v mss_val $in_pth_arg in.nc %tmp_fl_02%";
     $tst_cmd[2]="ncflint $omp_flg -h -O $fl_fmt $nco_D_flg -w 0.5,0.5 %tmp_fl_01% %tmp_fl_02% %tmp_fl_03%";
-    $tst_cmd[3]="ncflint $omp_flg -h -O $fl_fmt $nco_D_flg -w 0.5,0.5  %tmp_fl_02% %tmp_fl_01%  %tmp_fl_04%  $foo_y_fl $foo_x_fl $foo_yx_fl";
+    $tst_cmd[3]="ncflint $omp_flg -h -O $fl_fmt $nco_D_flg -w 0.5,0.5 %tmp_fl_02% %tmp_fl_01% %tmp_fl_04%  $foo_y_fl $foo_x_fl $foo_yx_fl";
     $tst_cmd[4]="ncdiff $omp_flg -h -O $fl_fmt $nco_D_flg %tmp_fl_03% %tmp_fl_04% %tmp_fl_05%";
     $tst_cmd[5]="ncks -C -H --no_blank -s '%g' -v mss_val %tmp_fl_05% ";
     $tst_cmd[6]="1e+36";
@@ -1670,11 +1724,11 @@ print "\n";
     $#tst_cmd=0; # Reset array
 
     
-#ncks #30 2D variable definition (netCDF4 file)
+#ncks #30 2D variable definition
 
-    $dsc_sng="2D variable definition (netCDF4 file)";
+    $dsc_sng="2D variable definition";
     $tst_cmd[0]="ncks -O $fl_fmt $nco_D_flg -C -v ilev $in_pth_arg in.nc %tmp_fl_00%";
-    $tst_cmd[1]="ncks  %tmp_fl_00%";
+    $tst_cmd[1]="ncks %tmp_fl_00%";
     $tst_cmd[2]="lev[2] vrt_nbr[1] ilev[5]=1013.25";
     $tst_cmd[3]="SS_OK";
     NCO_bm::tst_run(\@tst_cmd);
@@ -1686,7 +1740,7 @@ print "\n";
     $dsc_sng="(Groups) Variable/Group extraction test 1 (netCDF4 file)";
     $tst_cmd[0]="ncks -O $fl_fmt $nco_D_flg -C -g g6 $in_pth_arg in_grp.nc %tmp_fl_00%";
 	if($HAVE_NETCDF4_H == 1 && $ENABLE_NETCDF4 == 1){
-    $tst_cmd[1]="ncks -v area1  %tmp_fl_00%";
+    $tst_cmd[1]="ncks -v area1 %tmp_fl_00%";
     $tst_cmd[2]="lat[1] area1[1]=31";
     $tst_cmd[3]="SS_OK";
 	 }elsif($HAVE_NETCDF4_H == 1 && $ENABLE_NETCDF4 == 0){
@@ -1907,6 +1961,7 @@ print "\n";
 	
 #ncks #45 Extract CF 'coordinates' variables(netCDF4 file)
 #gds_crd:coordinates = "lat_gds lon_gds";
+#ncks -v gds_crd in_grp.nc 
 
     $dsc_sng="(Groups) Extract CF 'coordinates' variables(netCDF4 file)";
     $tst_cmd[0]="ncks $nco_D_flg -v gds_crd $in_pth_arg in_grp.nc | grep -w /g7/lat_gds";
@@ -1993,7 +2048,7 @@ print "\n";
 #ncks #52    
 
     $dsc_sng="(Groups) Check --fix_rec_dmn (netCDF4 file)";
-    $tst_cmd[0]="ncks -O $fl_fmt $nco_D_flg  --fix_rec_dmn time -v three_dmn_rec_var $in_pth_arg in_grp.nc %tmp_fl_00%";
+    $tst_cmd[0]="ncks -O $fl_fmt $nco_D_flg --fix_rec_dmn time -v three_dmn_rec_var $in_pth_arg in_grp.nc %tmp_fl_00%";
     if($HAVE_NETCDF4_H == 1){
     $tst_cmd[1]="ncks -C -m -v time %tmp_fl_00% | egrep -o -w 'Coordinate is time'";
     $tst_cmd[2]="Coordinate is time";
@@ -2008,7 +2063,7 @@ print "\n";
 #ncks #53    
     
     $dsc_sng="--fix_rec_dmn with MM3 workaround (netCDF3->netCDF3 file)";
-    $tst_cmd[0]="ncks -O $fl_fmt $nco_D_flg --fix_rec_dmn time -v one,two,one_dmn_rec_var,two_dmn_rec_var $in_pth_arg in.nc %tmp_fl_00%";
+    $tst_cmd[0]="ncks -O $nco_D_flg --fix_rec_dmn time -v one,two,one_dmn_rec_var,two_dmn_rec_var $in_pth_arg in.nc %tmp_fl_00%";
     $tst_cmd[1]="ncks -C -m -v time %tmp_fl_00% | egrep -o -w 'Coordinate is time'";
     $tst_cmd[2]="Coordinate is time";
     $tst_cmd[3]="SS_OK";   
@@ -2018,7 +2073,7 @@ print "\n";
     if(0){
 	# NB: does not actually test3 code for reasons explained in header of nco_use_mm3_workaround()
 	$dsc_sng="(Groups) --fix_rec_dmn with MM3 workaround (netCDF4->netCDF3 file)";
-	$tst_cmd[0]="ncks -O -3 $fl_fmt $nco_D_flg --fix_rec_dmn time -v /g10/two_dmn_rec_var,/g10/three_dmn_rec_var $in_pth_arg in_grp.nc %tmp_fl_00%";
+	$tst_cmd[0]="ncks -O -3 $nco_D_flg --fix_rec_dmn time -v /g10/two_dmn_rec_var,/g10/three_dmn_rec_var $in_pth_arg in_grp.nc %tmp_fl_00%";
 	if($HAVE_NETCDF4_H == 1){
 	    $tst_cmd[1]="ncks -C -m -v time %tmp_fl_00% | egrep -o -w 'Coordinate dimension'";
 	    $tst_cmd[2]="Record coordinate dimension";
@@ -2057,6 +2112,7 @@ print "\n";
 # The test greps chunksize = 2 for lat
 # Policy: Chunk All Variables [default]
 # Map:Chunksize Equals Dimension Size [default]
+#ncks -O -4 -v lat_lon --cnk_plc=all in_grp.nc out.nc"
 
     $dsc_sng="(Groups) Chunking --cnk_plc=all --v lat_lon";
     $tst_cmd[0]="ncks $nco_D_flg -O -4 -v lat_lon --cnk_plc=all $in_pth_arg in_grp.nc %tmp_fl_00%";
@@ -2078,9 +2134,9 @@ print "\n";
 # Map:Chunksize Equals Dimension Size [default] Explicitly specify chunksizes for particular dimensions with ‘--cnk_dmn’ option.
 
     $dsc_sng="(Groups) Chunking --cnk_plc=cnk_g3d --cnk_dmn time,2";
-    $tst_cmd[0]="ncks $nco_D_flg  -O -4  --cnk_plc=cnk_g3d --cnk_dmn time,2  -v three_dmn_rec_var  $in_pth_arg in_grp.nc %tmp_fl_00%";
+    $tst_cmd[0]="ncks $nco_D_flg -O -4 --cnk_plc=cnk_g3d --cnk_dmn time,2 -v three_dmn_rec_var $in_pth_arg in_grp.nc %tmp_fl_00%";
     if($HAVE_NETCDF4_H == 1){
-    $tst_cmd[1]="ncks -C -m -v three_dmn_rec_var %tmp_fl_00% | grep  'three_dmn_rec_var dimension 0: /time, size = 10 NC_DOUBLE, chunksize = 2 (Record coordinate is /time)'";
+    $tst_cmd[1]="ncks -C -m -v three_dmn_rec_var %tmp_fl_00% | grep 'three_dmn_rec_var dimension 0: /time, size = 10 NC_DOUBLE, chunksize = 2 (Record coordinate is /time)'";
     $tst_cmd[2]="three_dmn_rec_var dimension 0: /time, size = 10 NC_DOUBLE, chunksize = 2 (Record coordinate is /time)";
     $tst_cmd[3]="SS_OK";   
     }elsif($HAVE_NETCDF4_H == 0){
@@ -2089,7 +2145,6 @@ print "\n";
     }
     NCO_bm::tst_run(\@tst_cmd);
     $#tst_cmd=0; # Reset array 			 
- 
     
 # 
 # Limit/MSA tests
@@ -2102,7 +2157,7 @@ print "\n";
 # time[3]=4 lev[1]=500 two_dmn_rec_var[10]=2.3 
 #
     $dsc_sng="(Groups) MSA --dmn time,1,3,2 --dmn lev,1,1,1";
-    $tst_cmd[0]="ncks $nco_D_flg  -H -C --dmn time,1,3,2 --dmn lev,1,1,1  -v two_dmn_rec_var  $in_pth_arg in_grp.nc";
+    $tst_cmd[0]="ncks $nco_D_flg -H -C --dmn time,1,3,2 --dmn lev,1,1,1 -v two_dmn_rec_var $in_pth_arg in_grp.nc";
     if($HAVE_NETCDF4_H == 1){
     $tst_cmd[1]="time[3]=4 lev[1]=500 two_dmn_rec_var[10]=2.3";
     $tst_cmd[2]="SS_OK";   
@@ -2122,7 +2177,7 @@ print "\n";
 #time[3]=4 lev[2]=1000 two_dmn_rec_var[11]=3 
 
     $dsc_sng="(Groups) MSA --dmn time,1,1,1 --dmn time,3,3,1 --dmn lev,0,0,1";
-    $tst_cmd[0]="ncks $nco_D_flg  -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  $in_pth_arg in_grp.nc";
+    $tst_cmd[0]="ncks $nco_D_flg -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 $in_pth_arg in_grp.nc";
     if($HAVE_NETCDF4_H == 1){
     $tst_cmd[1]="time[3]=4 lev[2]=1000 two_dmn_rec_var[11]=3";
     $tst_cmd[2]="SS_OK";   
@@ -2140,7 +2195,7 @@ print "\n";
 #lon2[3] lon2_var[3]=3 
 
     $dsc_sng="(Groups) MSA -d lon2,1,3,2 -v lon2_var";
-    $tst_cmd[0]="ncks $nco_D_flg  -H -d lon2,1,3,2 -v lon2_var  $in_pth_arg in_grp_3.nc";
+    $tst_cmd[0]="ncks $nco_D_flg -H -d lon2,1,3,2 -v lon2_var $in_pth_arg in_grp_3.nc";
     if($HAVE_NETCDF4_H == 1){
     $tst_cmd[1]="lon2[3] lon2_var[3]=3";
     $tst_cmd[2]="SS_OK";   
@@ -2158,7 +2213,7 @@ print "\n";
 #lon2[3] lon2_var[3]=3 
 
     $dsc_sng="(Groups) MSA -d lon2,1,3,2 -v lon2_var";
-    $tst_cmd[0]="ncks $nco_D_flg  -d lon2,1,1,1 -d lon2,3,3,1  -v lon2_var  $in_pth_arg in_grp_3.nc";
+    $tst_cmd[0]="ncks $nco_D_flg -d lon2,1,1,1 -d lon2,3,3,1 -v lon2_var $in_pth_arg in_grp_3.nc";
     if($HAVE_NETCDF4_H == 1){
     $tst_cmd[1]="lon2[3] lon2_var[3]=3";
     $tst_cmd[2]="SS_OK";   
@@ -2169,10 +2224,9 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     $#tst_cmd=0; # Reset array 			  
     
-
 #ncks #60
 # This test tests both limits and extraction of associated CF variables
-# ncks -H  -v gds_var -d gds_crd,1,1,1  in_grp.nc  
+# ncks -H -v gds_var -d gds_crd,1,1,1 in_grp.nc  
 #/g7/g7g1/gds_var
 #gds_var[1]=273.2 
 #/g7/gds_crd
@@ -2194,7 +2248,6 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     $#tst_cmd=0; # Reset array 			  
   
-  
 #ncks #61
 # This test tests both limits printing of coordinates that are in ancestor groups
 # ncks -H  -v gds_var -d gds_crd,1,1,1  in_grp.nc   
@@ -2215,7 +2268,6 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     $#tst_cmd=0; # Reset array 			  
     
-    
 #ncks #62
 # Test "parallel" scope 
 #ncks: INFO nco_bld_var_dmn() reports variable </g16/g16g1/lon1> with dimension coordinate [0]/g16/g16g1/lon1
@@ -2239,7 +2291,6 @@ print "\n";
 # Test "parallel" scope 
 #ncks: INFO nco_bld_var_dmn() reports variable </g16/g16g1/lon1_var> with dimension coordinate [0]/g16/g16g1/lon1
 
-
     $dsc_sng="(Groups) Parallel scope MSA -g g16g1 -v lon1_var -d lon1,1,1,1";
     $tst_cmd[0]="ncks $nco_D_flg -H -g g16g1 -v lon1_var -d lon1,1,1,1 $in_pth_arg in_grp_3.nc";
     if($HAVE_NETCDF4_H == 1){
@@ -2252,12 +2303,10 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     $#tst_cmd=0; # Reset array 			  
 
-    
 #ncks #64
 # Test "parallel" scope 
 #ncks: INFO nco_bld_var_dmn() reports variable </g16/g16g2/lon1_var> with dimension coordinate [0]/g16/g16g2/lon1
 
-
     $dsc_sng="(Groups) Parallel scope MSA -g g16g2 -v lon1_var -d lon1,1,1,1";
     $tst_cmd[0]="ncks $nco_D_flg -H -g g16g2 -v lon1_var -d lon1,1,1,1 $in_pth_arg in_grp_3.nc";
     if($HAVE_NETCDF4_H == 1){
@@ -2310,7 +2359,7 @@ print "\n";
     $#tst_cmd=0; # Reset array 			      
          
 #ncks #67
-# Test "out of scope " coordinate
+# Test "out of scope" coordinate
 # ncks  -H  -v lon3_var  in_grp.nc
 
     $dsc_sng="(Groups) Out of scope coordinate -v lon3_var";
@@ -2340,14 +2389,12 @@ print "\n";
     }
     NCO_bm::tst_run(\@tst_cmd);
     $#tst_cmd=0; # Reset array 			      
-     
-    
     
 #ncks #69
 # Test -X
-# ncks -O -X 0.,1.,-30.,-29. -g g18 -v gds_3dvar in_grp_3.nc 
+# ncks -O -C -X 0.,1.,-30.,-29. -g g18 -v gds_3dvar in_grp_3.nc 
 
-    $dsc_sng="(Groups) Auxiliary coordinates -X 0.,1.,-30.,-29. -g g18 -v gds_3dvar in_grp_3.nc ";
+    $dsc_sng="(Groups) Auxiliary coordinates -C -X 0.,1.,-30.,-29. -g g18 -v gds_3dvar in_grp_3.nc";
     $tst_cmd[0]="ncks $nco_D_flg -C -X 0.,1.,-30.,-29. -g g18 -v gds_3dvar $in_pth_arg in_grp_3.nc";
     if($HAVE_NETCDF4_H == 1){
     $tst_cmd[1]="time[9] gds_crd[1]=1 gds_3dvar[73]=282.2 meter";
@@ -2358,10 +2405,25 @@ print "\n";
     }
     NCO_bm::tst_run(\@tst_cmd);
     $#tst_cmd=0; # Reset array 			
+	
+#ncks #70
+# Test -X with variables anywhere in file (g18g1 has variable)
+# ncks -O -C -X 0.,1.,-30.,-29. -g g18g1 -v gds_3dvar in_grp_3.nc 
 
+    $dsc_sng="(Groups) Auxiliary coordinates -X 0.,1.,-30.,-29. -g g18g1 -v gds_3dvar in_grp_3.nc";
+    $tst_cmd[0]="ncks $nco_D_flg -C -X 0.,1.,-30.,-29. -g g18g1 -v gds_3dvar $in_pth_arg in_grp_3.nc";
+    if($HAVE_NETCDF4_H == 1){
+    $tst_cmd[1]="time[9] gds_crd[1]=1 gds_3dvar[73]=282.2 meter";
+    $tst_cmd[2]="SS_OK";   
+    }elsif($HAVE_NETCDF4_H == 0){
+     $tst_cmd[1]="nco_err_exit(): ERROR NCO will now exit with system call exit(EXIT_FAILURE)"; 
+    $tst_cmd[2]="SS_OK";        
+    }
+    NCO_bm::tst_run(\@tst_cmd);
+    $#tst_cmd=0; # Reset array 			
+	
 
-   
-#ncks #70
+#ncks #71
 # ncks  -h -O  -C -v three_dmn_var_dbl  -d time,,2 -d lat,0,0 -d lon,0,0 -d lon,3,3 in.nc
 
     $dsc_sng="Limits -C -v three_dmn_var_dbl -d time,,2 -d lat,0,0 -d lon,0,0 -d lon,3,3 in.nc";
@@ -2371,7 +2433,7 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     $#tst_cmd=0; # Reset array 	
 
-#ncks #71
+#ncks #72
 #same as #70, with group
 # ncks -h -O  -v three_dmn_var_dbl  -d time,,2 -d lat,0,0 -d lon,0,0 -d lon,3,3 in_grp_3.nc
 
@@ -2385,12 +2447,234 @@ print "\n";
     $tst_cmd[2]="SS_OK";        
     }
     NCO_bm::tst_run(\@tst_cmd);
+    $#tst_cmd=0; # Reset array 	
+
+#ncks #73
+# ncks -v lat -d latitude,0,1,1 in_grp.nc
+
+    $dsc_sng="(Groups) Invalid dimension input -v lat -d latitude,0,1,1 in_grp.nc";
+    $tst_cmd[0]="ncks $nco_D_flg -v lat -d latitude,0,1,1 $in_pth_arg in_grp.nc";
+    if($HAVE_NETCDF4_H == 1){
+    $tst_cmd[1]="ncks: ERROR dimension latitude is not in input file";
+    $tst_cmd[2]="SS_OK";   
+    }elsif($HAVE_NETCDF4_H == 0){
+     $tst_cmd[1]="nco_err_exit(): ERROR NCO will now exit with system call exit(EXIT_FAILURE)"; 
+    $tst_cmd[2]="SS_OK";        
+    }
+    NCO_bm::tst_run(\@tst_cmd);
     $#tst_cmd=0; # Reset array 		
 
+#ncks #74
+# ncks -O -p ~/nco/data in_grp.nc ~/foo.nc
+# ncks --cdl -g g8g1g1g1 ~/foo.nc | grep answer
 
-   } #### Group tests	
+    $dsc_sng="(Groups) Copy/print metadata-only leaf group";
+    $tst_cmd[0]="ncks -O $nco_D_flg $in_pth_arg in_grp.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks --cdl -g g8g1g1g1 %tmp_fl_00% | grep answer";
+    if($HAVE_NETCDF4_H == 1){
+    $tst_cmd[2]="            :answer = \"Twerking\" ;";
+    $tst_cmd[3]="SS_OK";   
+    }elsif($HAVE_NETCDF4_H == 0){
+     $tst_cmd[2]="nco_err_exit(): ERROR NCO will now exit with system call exit(EXIT_FAILURE)"; 
+     $tst_cmd[3]="SS_OK";        
+    }
+    NCO_bm::tst_run(\@tst_cmd);
+    $#tst_cmd=0; # Reset array
 	
+#ncks #75
+# ncks -O -c in_grp.nc out.nc
+
+    $dsc_sng="(Groups) -c Extract all coordinate variables";
+    $tst_cmd[0]="ncks -O $nco_D_flg $in_pth_arg -c in_grp.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks -v lat %tmp_fl_00% | grep 'lat size'";
+    $tst_cmd[2]="lat size (RAM) = 2*sizeof(NC_FLOAT) = 2*4 = 8 bytes";
+    $tst_cmd[3]="SS_OK";     
+    NCO_bm::tst_run(\@tst_cmd);
+    $#tst_cmd=0; # Reset array
+	
+#ncks #76
+# ncks -O in_grp.nc out.nc
+
+    $dsc_sng="(Groups) Default input dataset";
+    $tst_cmd[0]="ncks -O $nco_D_flg $in_pth_arg in_grp.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks -m -v lat %tmp_fl_00% | grep 'lat size'";
+    $tst_cmd[2]="lat size (RAM) = 2*sizeof(NC_FLOAT) = 2*4 = 8 bytes";
+    $tst_cmd[3]="SS_OK";     
+    NCO_bm::tst_run(\@tst_cmd);
+    $#tst_cmd=0; # Reset array	
+	
+#ncks #77
+# ncks -O in.nc out.nc
+
+    $dsc_sng="Default input dataset";
+    $tst_cmd[0]="ncks -O $nco_D_flg $in_pth_arg in.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks -m -v lat %tmp_fl_00% | grep 'lat size'";
+    $tst_cmd[2]="lat size (RAM) = 2*sizeof(NC_FLOAT) = 2*4 = 8 bytes";
+    $tst_cmd[3]="SS_OK";     
+    NCO_bm::tst_run(\@tst_cmd);
+    $#tst_cmd=0; # Reset array		
+
+#ncks #78
+#ncks -O -3 -G : -g /g27g1/ in_grp_3.nc out.nc
+    
+    $dsc_sng="(Groups) Test flatenning with parallel variables (-3 -G : -g)";
+    $tst_cmd[0]="ncks -O -3 -G : -g /g27g1/  $nco_D_flg $in_pth_arg in_grp_3.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks -m -v delta_time_start %tmp_fl_00%";
+    $tst_cmd[2]="delta_time_start dimension 0: delta_time_start, size = 2 NC_FLOAT (Coordinate is delta_time_start)";
+    $tst_cmd[3]="SS_OK";     
+    NCO_bm::tst_run(\@tst_cmd);
+    $#tst_cmd=0; # Reset array	
+
+#ncks #79
+#ncks -O -3 -G : -g g28 -v delta_time_stop  in_grp_3.nc out.nc	
+# simpler case of ncks -O -D 2 -3 -G : -g /altimetry/${DATA}/hdf/mabel_l2_20130927t201800_008_1.h5 ~/foo_mabel.nc
+    
+    $dsc_sng="(Groups) Test CF extraction with flattening (-3 -G : -g)";
+    $tst_cmd[0]="ncks -O -3 -G : -g g28 -v delta_time_stop  $nco_D_flg $in_pth_arg in_grp_3.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks -m -v delta_time_start %tmp_fl_00%";
+    $tst_cmd[2]="delta_time_start dimension 0: delta_time_start, size = 1 NC_FLOAT (Coordinate is delta_time_start)";
+    $tst_cmd[3]="SS_OK";     
+    NCO_bm::tst_run(\@tst_cmd);
+    $#tst_cmd=0; # Reset array		
 	
+#ncks #80
+#ncks -O -4 -L 0 --cnk_dmn lev,1  -v two_dmn_var in_grp_3.nc out.nc
+#ncks -C -g g19g1g1 --hdn --cdl out.nc | grep _DeflateLevel
+    
+    $dsc_sng="(Groups) Chunking and uncompression -L 0 --cnk_dmn lev,1 -v two_dmn_var";
+    $tst_cmd[0]="ncks -O -L 0 -4 --cnk_dmn lev,1 -v two_dmn_var $nco_D_flg $in_pth_arg in_grp_3.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks -C -g /g19/g19g1/g19g1g1 -v two_dmn_var -m %tmp_fl_00%";
+    $tst_cmd[2]="two_dmn_var dimension 1: lev, size = 3, chunksize = 1 (Non-coordinate dimension)";
+    $tst_cmd[3]="SS_OK";     
+    NCO_bm::tst_run(\@tst_cmd);
+    $#tst_cmd=0; # Reset array	
+
+#ncks #81
+# there are 2 'two_dmn_var' beneath /g19/g19g1, chunking only 1
+#ncks -O -4 --cnk_dmn /g19/g19g1/g19g1g1/lev,1 -v two_dmn_var in_grp_3.nc out.nc
+#ncks -m -C -v /g19/g19g1/two_dmn_var --hdn out.nc
+    
+    $dsc_sng="(Groups) Chunking and full dimension names --cnk_dmn /g19/g19g1/g19g1g1/lev,1";
+    $tst_cmd[0]="ncks -O -4 --cnk_dmn /g19/g19g1/g19g1g1/lev,1 -v two_dmn_var $nco_D_flg $in_pth_arg in_grp_3.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks -m -C -v /g19/g19g1/two_dmn_var --hdn %tmp_fl_00%";
+    $tst_cmd[2]="two_dmn_var attribute 3: _ChunkSizes, size = 2 NC_INT, value = 2, 3";
+    $tst_cmd[3]="SS_OK";     
+    NCO_bm::tst_run(\@tst_cmd);
+    $#tst_cmd=0; # Reset array	
+	
+#ncks #82
+# there are 2 'two_dmn_var' beneath /g19/g19g1, chunking only 1
+#ncks -O -4 --cnk_dmn /g19/g19g1/g19g1g1/lev,1 -v two_dmn_var in_grp_3.nc out.nc
+#ncks -m -C -v /g19/g19g1/g19g1g1/two_dmn_var --hdn out.nc
+    
+    $dsc_sng="(Groups) Chunking and full dimension names --cnk_dmn /g19/g19g1/g19g1g1/lev,1";
+    $tst_cmd[0]="ncks -O -4 --cnk_dmn /g19/g19g1/g19g1g1/lev,1 -v two_dmn_var $nco_D_flg $in_pth_arg in_grp_3.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks -m -C -v /g19/g19g1/g19g1g1/two_dmn_var --hdn %tmp_fl_00% | grep _ChunkSizes";
+    $tst_cmd[2]="two_dmn_var attribute 1: _ChunkSizes, size = 2 NC_INT, value = 2, 1";
+    $tst_cmd[3]="SS_OK";     
+    NCO_bm::tst_run(\@tst_cmd);
+    $#tst_cmd=0; # Reset array	
+	
+#ncks #83 (part 1)
+# there are 2 'two_dmn_var' beneath /g19/g19g1, chunking both, one with absolute other with relative
+# ncks -O -4 --cnk_dmn /g19/g19g1/g19g1g1/lev,1 --cnk_dmn lev,3 -v two_dmn_var in_grp_3.nc out.nc
+# ncks -m -C -v /g19/g19g1/g19g1g1/two_dmn_var --hdn out.nc | grep _ChunkSizes
+    
+    $dsc_sng="(Groups) Chunking and full dimension names --cnk_dmn /g19/g19g1/g19g1g1/lev,1";
+    $tst_cmd[0]="ncks -O -4 --cnk_dmn /g19/g19g1/g19g1g1/lev,1 -v two_dmn_var $nco_D_flg $in_pth_arg in_grp_3.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks -m -C -v /g19/g19g1/g19g1g1/two_dmn_var --hdn %tmp_fl_00% | grep _ChunkSizes";
+    $tst_cmd[2]="two_dmn_var attribute 1: _ChunkSizes, size = 2 NC_INT, value = 2, 1";
+    $tst_cmd[3]="SS_OK";     
+    NCO_bm::tst_run(\@tst_cmd);
+    $#tst_cmd=0; # Reset array	
+	
+#ncks #84 (part 2)
+# there are 2 'two_dmn_var' beneath /g19/g19g1, chunking the 2 , one with absolute other with relative
+# ncks -O -4 --cnk_dmn /g19/g19g1/g19g1g1/lev,1 --cnk_dmn lev,3  -v two_dmn_var in_grp_3.nc out.nc
+# ncks -m -C -v /g19/g19g1/two_dmn_var  --hdn out.nc | grep _ChunkSizes
+    
+    $dsc_sng="(Groups) Chunking and full dimension names --cnk_dmn /g19/g19g1/g19g1g1/lev,1";
+    $tst_cmd[0]="ncks -O -4 --cnk_dmn /g19/g19g1/g19g1g1/lev,1 --cnk_dmn lev,3 -v two_dmn_var $nco_D_flg $in_pth_arg in_grp_3.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks -m -C -v /g19/g19g1/two_dmn_var --hdn %tmp_fl_00% | grep _ChunkSizes";
+    $tst_cmd[2]="two_dmn_var attribute 3: _ChunkSizes, size = 2 NC_INT, value = 2, 3";
+    $tst_cmd[3]="SS_OK";     
+    NCO_bm::tst_run(\@tst_cmd);
+    $#tst_cmd=0; # Reset array		
+
+#ncks #85
+#ncks -O -L 0 --cnk_dmn lat,2 -v one in_grp.nc out.nc
+#ncks -C -m --hdn -v one -g g13  out.nc | grep  _Storage
+    
+    $dsc_sng="(Groups) Chunking and shuffle filter -L 0 --cnk_dmn lat,2 -v one (expect failuse with netCDF 4.1.1-)";
+    $tst_cmd[0]="ncks -O -4 -L 0 --cnk_dmn lat,2 -v one $nco_D_flg $in_pth_arg hdn.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks -C -m --hdn -v one -g g13 %tmp_fl_00% | grep _Storage";
+    $tst_cmd[2]="one attribute 1: _Storage, size = 10 NC_CHAR, value = contiguous";
+    $tst_cmd[3]="SS_OK";     
+    NCO_bm::tst_run(\@tst_cmd);
+    $#tst_cmd=0; # Reset array	
+	
+#ncks #86
+#ncks -h -O --fix_rec_dmn time52 -v one_dmn_rec_var in_grp.nc out.nc
+#ncks -v time52 -m  out.nc
+    
+    $dsc_sng="(Groups) Change record dimension to fixed dimension --fix_rec_dmn time52 -v one_dmn_rec_var";
+    $tst_cmd[0]="ncks -h -O --fix_rec_dmn time52 -v one_dmn_rec_var $nco_D_flg $in_pth_arg in_grp.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks -v time52 -m %tmp_fl_00%";
+    $tst_cmd[2]="time52 dimension 0: time52, size = 10 NC_DOUBLE (Coordinate is time52)";
+    $tst_cmd[3]="SS_OK";     
+    NCO_bm::tst_run(\@tst_cmd);
+    $#tst_cmd=0; # Reset array	
+
+#ncks #87
+#ncks -O -v lat29 in_grp_3.nc out.nc
+    
+    $dsc_sng="(Groups) Test ";
+    $tst_cmd[0]="ncks -O -v lat29  $nco_D_flg $in_pth_arg in_grp_3.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks -m -v lat29 %tmp_fl_00%  | grep 'standard_name'";
+    $tst_cmd[2]="lat29 attribute 0: standard_name, size = 8 NC_CHAR, value = latitude";
+    $tst_cmd[3]="SS_OK";     
+    NCO_bm::tst_run(\@tst_cmd);
+    $#tst_cmd=0; # Reset array		
+
+#ncks #88
+# Test -X writing (apply limits to all standard 'lat' 'lon')
+# ncks -O  -X 0.,1.,-30.,-29. -g g18g1  -v gds_3dvar  in_grp_3.nc out.nc
+
+    $dsc_sng="(Groups) Auxiliary coordinates writing -X 0.,1.,-30.,-29. -g g18g1  -v gds_3dvar";
+    $tst_cmd[0]="ncks $nco_D_flg -X 0.,1.,-30.,-29. -g g18g1  -v gds_3dvar $in_pth_arg in_grp_3.nc %tmp_fl_00%";
+	$tst_cmd[1]="ncks $nco_D_flg -v lon_gds_1 %tmp_fl_00%";
+    $tst_cmd[2]="gds_crd[0]=1 lon_gds_1[0]=0 degree";
+    $tst_cmd[3]="SS_OK";   
+    NCO_bm::tst_run(\@tst_cmd);
+    $#tst_cmd=0; # Reset array 		
+
+#ncks #89
+# Test -X (writing associated coordinates) 
+# ncks -O  -X 0.,1.,-30.,-29. -g g18 -v gds_3dvar in_grp_3.nc out.nc
+# ncks  -g g18g2 -v lat_gds_2 out.nc 
+
+    $dsc_sng="(Groups) Auxiliary coordinates (writing associated coordinates) -X 0.,1.,-30.,-29. -g g18 -v gds_3dvar in_grp_3.nc";
+    $tst_cmd[0]="ncks $nco_D_flg -X 0.,1.,-30.,-29. -g g18 -v gds_3dvar $in_pth_arg in_grp_3.nc %tmp_fl_00%";
+	$tst_cmd[1]="ncks $nco_D_flg -g g18g2 -C -v lat_gds_2 %tmp_fl_00%";
+    $tst_cmd[2]="gds_crd[0]=1 lat_gds_2[0]=-30 degree";
+    $tst_cmd[3]="SS_OK";   
+    NCO_bm::tst_run(\@tst_cmd);
+    $#tst_cmd=0; # Reset array 				
+
+   } #### Group tests	
+   
+	
+#ncks #90
+# Test -X writing
+# ncks -O -X 0.,1.,-30.,-29. -v gds_3dvar  in.nc out.nc
+
+    $dsc_sng="Auxiliary coordinates writing -X 0.,1.,-30.,-29. -v gds_3dvar";
+    $tst_cmd[0]="ncks $nco_D_flg -X 0.,1.,-30.,-29. -v gds_3dvar $in_pth_arg in.nc %tmp_fl_00%";
+	$tst_cmd[1]="ncks $nco_D_flg -v gds_crd %tmp_fl_00%";
+    $tst_cmd[2]="gds_crd[0]=1 lon_gds[0]=0 degree";
+    $tst_cmd[3]="SS_OK";   
+    NCO_bm::tst_run(\@tst_cmd);
+    $#tst_cmd=0; # Reset array 			   
     
 #####################
 #### ncpdq tests #### -OK !
@@ -2433,7 +2717,6 @@ print "\n";
     if($mpi_prc == 0 || ($mpi_prc > 0 && !($localhostname =~ /pbs/))){NCO_bm::tst_run(\@tst_cmd);} # ncpdq hangs with MPI TODO nco772
     $#tst_cmd=0; # Reset array    
     
-    
 #ncpdq #4 
     
     $tst_cmd[0]="ncpdq $omp_flg -h -O $fl_fmt $nco_D_flg -a lon,lat -v three_dmn_var $in_pth_arg in.nc %tmp_fl_00%";
@@ -2446,7 +2729,7 @@ print "\n";
     
 #ncpdq #5
 #three_dmn_var_dbl(time,lat,lon);
-#ncpdq -h -O -C -a lat,lon,time -v three_dmn_var_dbl -d time,0,3 -d time,9,9 -d lon,0,0 -d lon,3,3
+#ncpdq -h -O -C -a lat,lon,time -v three_dmn_var_dbl -d time,0,3 -d time,9,9 -d lon,0,0 -d lon,3,3 in.nc
     
     $tst_cmd[0]="ncpdq $omp_flg -h -O -C $fl_fmt $nco_D_flg -a lat,lon,time -v three_dmn_var_dbl -d time,0,3 -d time,9,9 -d lon,0,0 -d lon,3,3 $in_pth_arg in.nc %tmp_fl_00%";
     $tst_cmd[1]="ncks -C -H -s '%f' -v three_dmn_var_dbl -d lat,0 -d lon,1 -d time,2 %tmp_fl_00%";
@@ -2481,7 +2764,6 @@ print "\n";
     $tst_cmd[3]="SS_OK";
     if($mpi_prc == 0 || ($mpi_prc > 0 && !($localhostname =~ /pbs/))){NCO_bm::tst_run(\@tst_cmd);} # ncpdq hangs with MPI TODO nco772
     $#tst_cmd=0; # Reset array
-  
    
 #ncpdq #8
 
@@ -2496,7 +2778,7 @@ print "\n";
 #ncpdq #9
     
      $tst_cmd[0]="ncpdq $omp_flg -h -O -C $fl_fmt $nco_D_flg -a lon,lat -v three_dmn_var_dbl -d time,0,2 -d time,4 -d lat,1 -d lat,1 --msa_usr_rdr $in_pth_arg in.nc %tmp_fl_00%";
-    $tst_cmd[1]="ncks -C -H -s '%2.f,' -v three_dmn_var_dbl -d time,1 -d lon,0  %tmp_fl_00%";
+    $tst_cmd[1]="ncks -C -H -s '%2.f,' -v three_dmn_var_dbl -d time,1 -d lon,0 %tmp_fl_00%";
     $dsc_sng="Re-order 3D variable with MSA and --msa_usr_rdr flag -C -a lon,lat -v three_dmn_var_dbl -d time,0,2 -d time,4 -d lat,1 -d lat,1 --msa_usr_rdr";
     $tst_cmd[2]="13,13";
     $tst_cmd[3]="SS_OK";
@@ -2694,7 +2976,7 @@ print "\n";
 #ncpdq -h -O -a lat,time -v ty,three_dmn_rec_var -d time,1,6,2 -d lat,1,1 in.nc out.nc
     
     $tst_cmd[0]="ncpdq $omp_flg $fl_fmt $nco_D_flg -h -O -a lat,time -v ty,three_dmn_rec_var -d time,1,6,2 -d lat,1,1 $in_pth_arg in.nc %tmp_fl_00%";
-    $tst_cmd[1]="ncks  -C -H -v three_dmn_rec_var -d lat,0,0 -d time,1,1 -d lon,1,1  %tmp_fl_00%";
+    $tst_cmd[1]="ncks  -C -H -v three_dmn_rec_var -d lat,0,0 -d time,1,1 -d lon,1,1 %tmp_fl_00%";
     $dsc_sng="Re-order several variables -a lat,time -v ty,three_dmn_rec_var (MSA) Test2 read three_dmn_rec_var";
     $tst_cmd[2]="lat[0]=90 time[1]=4 lon[1]=90 three_dmn_rec_var[5]=30";
     $tst_cmd[3]="SS_OK";
@@ -2953,7 +3235,7 @@ print "\n";
 # same #16 as previous but with group
 
    $tst_cmd[0]="ncpdq $omp_flg $fl_fmt $nco_D_flg -O -g g19g2 -a lev,time -v two_dmn_rec_var $in_pth_arg in_grp_3.nc %tmp_fl_00%";
-   $tst_cmd[1]="ncks -C -g g19g2 -d time,1,1 -d lev,1,1  %tmp_fl_00%";
+   $tst_cmd[1]="ncks -C -g g19g2 -d time,1,1 -d lev,1,1 %tmp_fl_00%";
    $dsc_sng="(Groups) Re-order 2D variable with record (no -C , no MSA) -v two_dmn_rec_var -C -a lev,time";
    $tst_cmd[2]="lev[1]=500 time[1]=2 two_dmn_rec_var[11]=2.1 watt meter-2";
    $tst_cmd[3]="SS_OK";
@@ -2969,7 +3251,7 @@ print "\n";
 # same as #17 but with group
 
    $tst_cmd[0]="ncpdq $omp_flg $fl_fmt $nco_D_flg -O -C -g g19g2 -a lev,time -v two_dmn_rec_var -d time,1,1 -d lev,1,1 $in_pth_arg in_grp_3.nc %tmp_fl_00%";
-   $tst_cmd[1]="ncks -g g19g2 -v two_dmn_rec_var  %tmp_fl_00%";
+   $tst_cmd[1]="ncks -g g19g2 -v two_dmn_rec_var %tmp_fl_00%";
    $dsc_sng="(Groups) Re-order 2D variable with record (-C , MSA) -v two_dmn_rec_var -C -a lev,time";
    $tst_cmd[2]="lev[0] time[0] two_dmn_rec_var[0]=2.1 watt meter-2";
    $tst_cmd[3]="SS_OK";
@@ -2986,7 +3268,7 @@ print "\n";
 # same as #18 but with group
   
    $tst_cmd[0]="ncpdq $omp_flg $fl_fmt $nco_D_flg -O -g g19g2 -a lev,time -v two_dmn_rec_var -d time,1,1 -d lev,1,1 $in_pth_arg in_grp_3.nc %tmp_fl_00%";
-   $tst_cmd[1]="ncks -C -g g19g2 -v two_dmn_rec_var  %tmp_fl_00%";
+   $tst_cmd[1]="ncks -C -g g19g2 -v two_dmn_rec_var %tmp_fl_00%";
    $dsc_sng="(Groups) Re-order 2D variable with record (no -C , MSA) -v two_dmn_rec_var";
    $tst_cmd[2]="lev[0]=500 time[0]=2 two_dmn_rec_var[0]=2.1 watt meter-2";
    $tst_cmd[3]="SS_OK";
@@ -3052,6 +3334,24 @@ print "\n";
    $tst_cmd[3]="SS_OK";
    if($mpi_prc == 0 || ($mpi_prc > 0 && !($localhostname =~ /pbs/))){NCO_bm::tst_run(\@tst_cmd);} # ncpdq hangs with MPI TODO nco772
    $#tst_cmd=0; # Reset array  
+   
+   	
+#NEW NCO 4.4.0
+#ncpdq #46
+# ncpdq -O -4  -a lon,lat --cnk_dmn lat,1 --cnk_dmn lon,2 -v lat_2D_rct in.nc out.nc
+
+   $dsc_sng="Chunking -a lon,lat --cnk_dmn lat,1 --cnk_dmn lon,2 -v lat_2D_rct";
+   $tst_cmd[0]="ncpdq $omp_flg -4 $nco_D_flg -a lon,lat --cnk_dmn lat,1 --cnk_dmn lon,2 -v lat_2D_rct $in_pth_arg in.nc %tmp_fl_00%";
+   $tst_cmd[1]="ncks -m %tmp_fl_00% | grep 'lat_2D_rct dimension 0'";
+   $tst_cmd[2]="lat_2D_rct dimension 0: lon, size = 4 NC_FLOAT, chunksize = 2 (Coordinate is lon)";
+   $tst_cmd[3]="SS_OK";
+   if($mpi_prc == 0 || ($mpi_prc > 0 && !($localhostname =~ /pbs/))){NCO_bm::tst_run(\@tst_cmd);} # ncpdq hangs with MPI TODO nco772
+   $#tst_cmd=0; # Reset array  	
+	
+	
+	} ##### Group tests	
+	
+#ncpdq #42
 
     $tst_cmd[0]="ncpdq $omp_flg -h -O -C $fl_fmt $nco_D_flg -P upk -v pck_7 $in_pth_arg in.nc %tmp_fl_00%";
     $tst_cmd[1]="ncpdq $omp_flg -h -O -C $fl_fmt $nco_D_flg -P upk -v pck_7 %tmp_fl_00% %tmp_fl_01%";
@@ -3061,6 +3361,8 @@ print "\n";
     $tst_cmd[4]="SS_OK";
     if($mpi_prc == 0 || ($mpi_prc > 0 && !($localhostname =~ /pbs/))){NCO_bm::tst_run(\@tst_cmd);} # ncpdq hangs with MPI TODO nco772
     $#tst_cmd=0; # Reset array
+	
+#ncpdq #43	
 
     $tst_cmd[0]="ncpdq $omp_flg -h -O -C $fl_fmt $nco_D_flg -P upk -v pck_7 $in_pth_arg in.nc %tmp_fl_00%";
     $tst_cmd[1]="ncks -C -H -s '%f' -v pck_7 %tmp_fl_00%";
@@ -3069,6 +3371,8 @@ print "\n";
     $tst_cmd[3]="SS_OK";
     if($mpi_prc == 0 || ($mpi_prc > 0 && !($localhostname =~ /pbs/))){NCO_bm::tst_run(\@tst_cmd);} # ncpdq hangs with MPI TODO nco772
     $#tst_cmd=0; # Reset array
+	
+#ncpdq #44	
 
     $tst_cmd[0]="ncpdq $omp_flg -h -O -C $fl_fmt $nco_D_flg -P upk --hdf_upk -v pck_7 $in_pth_arg in.nc %tmp_fl_00%";
     $tst_cmd[1]="ncks -C -H -s '%f' -v pck_7 %tmp_fl_00%";
@@ -3077,6 +3381,8 @@ print "\n";
     $tst_cmd[3]="SS_OK";
     if($mpi_prc == 0 || ($mpi_prc > 0 && !($localhostname =~ /pbs/))){NCO_bm::tst_run(\@tst_cmd);} # ncpdq hangs with MPI TODO nco772
     $#tst_cmd=0; # Reset array
+	
+#ncpdq #45	
 
     $tst_cmd[0]="ncpdq $omp_flg -h -O -C $fl_fmt $nco_D_flg -P xst_new --hdf_upk -v pck_7 $in_pth_arg in.nc %tmp_fl_00%";
     $tst_cmd[1]="ncpdq $omp_flg -h -O -C $fl_fmt $nco_D_flg -P upk -v pck_7 %tmp_fl_00% %tmp_fl_01%";
@@ -3085,11 +3391,10 @@ print "\n";
     $tst_cmd[3]="-8";
     $tst_cmd[4]="SS_OK";
     if($mpi_prc == 0 || ($mpi_prc > 0 && !($localhostname =~ /pbs/))){NCO_bm::tst_run(\@tst_cmd);} # ncpdq hangs with MPI TODO nco772
-    $#tst_cmd=0; # Reset array
-	
-	} ##### Group tests	
+    $#tst_cmd=0; # Reset array	
 	
 
+
 ####################
 #### ncrcat tests ## OK !
 ####################
@@ -3120,7 +3425,7 @@ print "\n";
 #ncrcat #03	
 
     $tst_cmd[0]="ncra -Y ncrcat $omp_flg -h -O $fl_fmt $nco_D_flg -v three_dmn_var_dbl $in_pth_arg -d time,,2 -d lat,0,0 -d lon,0,0 -d lon,3,3 in.nc in.nc %tmp_fl_00% 2> %tmp_fl_02%";
-    $tst_cmd[1]="ncwa $omp_flg -h -O $fl_fmt $nco_D_flg -y max  %tmp_fl_00% %tmp_fl_01%"; 
+    $tst_cmd[1]="ncwa $omp_flg -h -O $fl_fmt $nco_D_flg -y max %tmp_fl_00% %tmp_fl_01%"; 
     $tst_cmd[2]="ncks -C -H -s '%f' -v three_dmn_var_dbl %tmp_fl_01%";
     $dsc_sng="Concatenate float variable with multislabs across two files";
     $tst_cmd[3]="20";
@@ -3143,7 +3448,7 @@ print "\n";
 
     $tst_cmd[0]="ncra -Y ncrcat $omp_flg -h -O $fl_fmt $nco_D_flg -v four_dmn_rec_var $in_pth_arg -d time,0,,4 -d lat,0,0 -d lon,0,1 -d lon,3,3  in.nc in.nc %tmp_fl_00% 2> %tmp_fl_02%";
     $tst_cmd[1]="ncwa $omp_flg -h -y max -O $fl_fmt $nco_D_flg %tmp_fl_00% %tmp_fl_01%"; 
-    $tst_cmd[2]="ncks -C -H -s '%f' -v four_dmn_rec_var  %tmp_fl_01%";
+    $tst_cmd[2]="ncks -C -H -s '%f' -v four_dmn_rec_var %tmp_fl_01%";
     $dsc_sng="Concatenate float 4D variable with multislabs across two files";
     $tst_cmd[3]="204";
     $tst_cmd[4]="SS_OK";
@@ -3153,8 +3458,8 @@ print "\n";
 #ncrcat #06	
 
     $tst_cmd[0]="ncap2 -h -O $fl_fmt $nco_D_flg -v -s 'time+=10;' $in_pth_arg in.nc %tmp_fl_00%";    
-    $tst_cmd[1]="ncra -Y ncrcat -O $omp_flg $fl_fmt $nco_D_flg -C -v time -d time,0,,4 $in_pth/in.nc %tmp_fl_00%  %tmp_fl_01% 2> %tmp_fl_02%";
-    $tst_cmd[2]="ncks -C -H -s '%2.f,' -v time  %tmp_fl_01%";
+    $tst_cmd[1]="ncra -Y ncrcat -O $omp_flg $fl_fmt $nco_D_flg -C -v time -d time,0,,4 $in_pth/in.nc %tmp_fl_00% %tmp_fl_01% 2> %tmp_fl_02%";
+    $tst_cmd[2]="ncks -C -H -s '%2.f,' -v time %tmp_fl_01%";
     $dsc_sng="Concatenate 1D variable with stride across two files";
     $tst_cmd[3]=" 1, 5, 9,13,17";
     $tst_cmd[4]="SS_OK";
@@ -3165,8 +3470,8 @@ print "\n";
 
     $tst_cmd[0]="ncap2 -h -O $fl_fmt $nco_D_flg -v -s 'time+=10;' $in_pth_arg in.nc %tmp_fl_00%"; 
     $tst_cmd[1]="ncap2 -h -O $fl_fmt $nco_D_flg -v -s 'time+=20;' $in_pth_arg in.nc %tmp_fl_01%";
-    $tst_cmd[2]="ncra -Y ncrcat -O $omp_flg $fl_fmt $nco_D_flg -C -v time -d time,0,,8 $in_pth/in.nc %tmp_fl_00%  %tmp_fl_01% %tmp_fl_02% 2> %tmp_fl_03%";
-    $tst_cmd[3]="ncks -C -H -s '%2.f,' -v time  %tmp_fl_02%";
+    $tst_cmd[2]="ncra -Y ncrcat -O $omp_flg $fl_fmt $nco_D_flg -C -v time -d time,0,,8 $in_pth/in.nc %tmp_fl_00% %tmp_fl_01% %tmp_fl_02% 2> %tmp_fl_03%";
+    $tst_cmd[3]="ncks -C -H -s '%2.f,' -v time %tmp_fl_02%";
     $dsc_sng="Concatenate 1D variable with stride across three files";
     $tst_cmd[4]=" 1, 9,17,25";
     $tst_cmd[5]="SS_OK";
@@ -3179,8 +3484,8 @@ print "\n";
     $tst_cmd[1]="ncks $fl_fmt $nco_D_flg -O -C -v time -d time,0,4 %tmp_fl_00% %tmp_fl_01%";  
     $tst_cmd[2]="ncap2 -h -O $fl_fmt $nco_D_flg -v -s 'time+=20;' $in_pth_arg in.nc %tmp_fl_02%";
     $tst_cmd[3]="ncks $fl_fmt $nco_D_flg -O -C -v time -d time,5,7 %tmp_fl_02% %tmp_fl_03%";
-    $tst_cmd[4]="ncra -Y ncrcat -O $fl_fmt $nco_D_flg -C -v time -d time,10,,2 $in_pth/in.nc %tmp_fl_01%  %tmp_fl_03% %tmp_fl_04% 2> %tmp_fl_05%";
-    $tst_cmd[5]="ncks -C -H -s '%2.f,' -v time  %tmp_fl_04%";
+    $tst_cmd[4]="ncra -Y ncrcat -O $fl_fmt $nco_D_flg -C -v time -d time,10,,2 $in_pth/in.nc %tmp_fl_01% %tmp_fl_03% %tmp_fl_04% 2> %tmp_fl_05%";
+    $tst_cmd[5]="ncks -C -H -s '%2.f,' -v time %tmp_fl_04%";
     $dsc_sng="Concatenate 1D variable with stride across files with different record dimensions";
     $tst_cmd[6]="11,13,15,27";
     $tst_cmd[7]="SS_OK";
@@ -3239,7 +3544,7 @@ print "\n";
     $tst_cmd[0]="ncap2 -h -O $fl_fmt $nco_D_flg -v -s 'time=time-1;time\@units=\"hours since 1990-1-1\"' $in_pth_arg in.nc %tmp_fl_00%";
     $tst_cmd[1]="ncap2 -h -O $fl_fmt $nco_D_flg -v -s 'time=time-1;time\@units=\"hours since 1990-1-1 10:0:0\"' $in_pth_arg in.nc %tmp_fl_01%";
     $tst_cmd[2]="ncap2 -h -O $fl_fmt $nco_D_flg -v -s 'time=time-1;time\@units=\"hours since 1990-1-1 20:0:0\"' $in_pth_arg in.nc %tmp_fl_02%";
-    $tst_cmd[3]="ncra -Y ncrcat -O $fl_fmt $nco_D_flg -C -v time -d time,0.0,,11  %tmp_fl_00% %tmp_fl_01% %tmp_fl_02% %tmp_fl_03% 2> %tmp_fl_05%";
+    $tst_cmd[3]="ncra -Y ncrcat -O $fl_fmt $nco_D_flg -C -v time -d time,0.0,,11 %tmp_fl_00% %tmp_fl_01% %tmp_fl_02% %tmp_fl_03% 2> %tmp_fl_05%";
     $tst_cmd[4]="ncap2 -O -v -C -s 'time_ttl=time.total();print(time_ttl)' %tmp_fl_03% %tmp_fl_04%";
     $tst_cmd[5]="time_ttl = 33";
     $dsc_sng="Cat. 1D var over 3 files with large stride. Requires UDUnits.";
@@ -3252,7 +3557,7 @@ print "\n";
     $tst_cmd[0]="ncap2 -h -O $fl_fmt $nco_D_flg -v -s 'time=time-1;time\@units=\"hours since 1990-1-1\"' $in_pth_arg in.nc %tmp_fl_00%";
     $tst_cmd[1]="ncap2 -h -O $fl_fmt $nco_D_flg -v -s 'time=time-1;time\@units=\"hours since 1990-1-1 10:0:0\"' $in_pth_arg in.nc %tmp_fl_01%";
     $tst_cmd[2]="ncap2 -h -O $fl_fmt $nco_D_flg -v -s 'time=time-1;time\@units=\"hours since 1990-1-1 20:0:0\"' $in_pth_arg in.nc %tmp_fl_02%";
-    $tst_cmd[3]="ncra -Y ncrcat -O $fl_fmt $nco_D_flg -C -v time -d time,22.0,,7  %tmp_fl_00% %tmp_fl_01% %tmp_fl_02% %tmp_fl_03% 2> %tmp_fl_05%";
+    $tst_cmd[3]="ncra -Y ncrcat -O $fl_fmt $nco_D_flg -C -v time -d time,22.0,,7 %tmp_fl_00% %tmp_fl_01% %tmp_fl_02% %tmp_fl_03% 2> %tmp_fl_05%";
     $tst_cmd[4]="ncap2 -O -v -C -s 'time_ttl=time.total();print(time_ttl)' %tmp_fl_03% %tmp_fl_04%";
     $tst_cmd[5]="time_ttl = 51";
     $dsc_sng="Cat. 1D var over 3 files coord limits+stride. Requires UDUnits.";
@@ -3265,7 +3570,7 @@ print "\n";
     $tst_cmd[0]="ncap2 -h -O $fl_fmt $nco_D_flg -v -s 'time=time-1;time\@units=\"hours since 1990-1-1\"' $in_pth_arg in.nc %tmp_fl_00%";
     $tst_cmd[1]="ncap2 -h -O $fl_fmt $nco_D_flg -v -s 'time=time-1;time\@units=\"hours since 1990-1-1 10:0:0\"' $in_pth_arg in.nc %tmp_fl_01%";
     $tst_cmd[2]="ncap2 -h -O $fl_fmt $nco_D_flg -v -s 'time=time-1;time\@units=\"hours since 1990-1-1 20:0:0\"' $in_pth_arg in.nc %tmp_fl_02%";
-    $tst_cmd[3]="ncra -Y ncrcat -O $fl_fmt $nco_D_flg -C -v time -d time,'1990-1-1 22:0:0',,7  %tmp_fl_00% %tmp_fl_01% %tmp_fl_02% %tmp_fl_03% 2> %tmp_fl_05%";
+    $tst_cmd[3]="ncra -Y ncrcat -O $fl_fmt $nco_D_flg -C -v time -d time,'1990-1-1 22:0:0',,7 %tmp_fl_00% %tmp_fl_01% %tmp_fl_02% %tmp_fl_03% 2> %tmp_fl_05%";
     $tst_cmd[4]="ncap2 -O -v -C -s 'time_ttl=time.total();print(time_ttl)' %tmp_fl_03% %tmp_fl_04%";
     $tst_cmd[5]="time_ttl = 51";
     $dsc_sng="Cat. 1D var over three files date-stamp limits+stride. Requires UDUnits.";
@@ -3278,7 +3583,7 @@ print "\n";
     $tst_cmd[0]="ncap2 -h -O $fl_fmt $nco_D_flg -v -s 'time=time-1;time\@units=\"hours since 1990-1-1\"' $in_pth_arg in.nc %tmp_fl_00%";
     $tst_cmd[1]="ncap2 -h -O $fl_fmt $nco_D_flg -v -s 'time=time-1;time\@units=\"hours since 1990-1-1 10:0:0\"' $in_pth_arg in.nc %tmp_fl_01%";
     $tst_cmd[2]="ncap2 -h -O $fl_fmt $nco_D_flg -v -s 'time=time-1;time\@units=\"hours since 1990-1-1 20:0:0\"' $in_pth_arg in.nc %tmp_fl_02%";
-    $tst_cmd[3]="ncra -Y ncrcat -O $fl_fmt $nco_D_flg -C -v time -d time,'1990-1-1 ',,9  %tmp_fl_00% %tmp_fl_01% %tmp_fl_02% %tmp_fl_03% 2> %tmp_fl_05%";
+    $tst_cmd[3]="ncra -Y ncrcat -O $fl_fmt $nco_D_flg -C -v time -d time,'1990-1-1 ',,9 %tmp_fl_00% %tmp_fl_01% %tmp_fl_02% %tmp_fl_03% 2> %tmp_fl_05%";
     $tst_cmd[4]="ncap2 -O -v -C -s 'time_ttl=time.total();print(time_ttl)' %tmp_fl_03% %tmp_fl_04%";
     $tst_cmd[5]="time_ttl = 54";
     $dsc_sng="Cat. 1D var over 3 files date-stamp limits+stride. Requires UDUnits.";
@@ -3291,7 +3596,7 @@ print "\n";
     $tst_cmd[0]="ncap2 -h -O $fl_fmt $nco_D_flg -v -s 'time=time-1;time\@units=\"hours since 1990-1-1\"' $in_pth_arg in.nc %tmp_fl_00%";
     $tst_cmd[1]="ncap2 -h -O $fl_fmt $nco_D_flg -v -s 'time=time-1;time\@units=\"hours since 1990-1-1 10:0:0\"' $in_pth_arg in.nc %tmp_fl_01%";
     $tst_cmd[2]="ncap2 -h -O $fl_fmt $nco_D_flg -v -s 'time=time-1;time\@units=\"hours since 1990-1-1 20:0:0\"' $in_pth_arg in.nc %tmp_fl_02%";
-    $tst_cmd[3]="ncra -Y ncrcat -O $fl_fmt $nco_D_flg -C -v time -d time,,,20  %tmp_fl_00% %tmp_fl_01% %tmp_fl_02% %tmp_fl_03% 2> %tmp_fl_05%";
+    $tst_cmd[3]="ncra -Y ncrcat -O $fl_fmt $nco_D_flg -C -v time -d time,,,20 %tmp_fl_00% %tmp_fl_01% %tmp_fl_02% %tmp_fl_03% 2> %tmp_fl_05%";
     $tst_cmd[4]="ncap2 -O -v -C -s 'time_ttl=time.total();print(time_ttl)' %tmp_fl_03% %tmp_fl_04%";
     $tst_cmd[5]="time_ttl = 20";
     $dsc_sng="Cat. 1D variable over 3 files dmn limits+stride. Requires UDUnits.";
@@ -3309,7 +3614,7 @@ print "\n";
     $tst_cmd[5]="ncatted -h -O $nco_D_flg -a units,time,o,c,'days since 1981-2-4' %tmp_fl_02%";   
     $tst_cmd[6]="ncks -h -O $fl_fmt $nco_D_flg -C -v time -d time,0,7 $in_pth_arg in.nc %tmp_fl_03%";
     $tst_cmd[7]="ncatted -h -O $nco_D_flg -a units,time,o,c,'days since 1981-2-8' %tmp_fl_03%";   
-    $tst_cmd[8]="ncra -Y ncrcat -O $fl_fmt $nco_D_flg -C -v time -d time,7,   %tmp_fl_00% %tmp_fl_01% %tmp_fl_02% %tmp_fl_03% %tmp_fl_04% 2> %tmp_fl_06%";
+    $tst_cmd[8]="ncra -Y ncrcat -O $fl_fmt $nco_D_flg -C -v time -d time,7, %tmp_fl_00% %tmp_fl_01% %tmp_fl_02% %tmp_fl_03% %tmp_fl_04% 2> %tmp_fl_06%";
     $tst_cmd[9]="ncap2 -O -v -C -s 'time_ttl=time.total();print(time_ttl)' %tmp_fl_04% %tmp_fl_05%";
     $tst_cmd[10]="time_ttl = 92";
     $dsc_sng="Cat. 1D var over 4 files different record sizes. Requires UDUnits.";
@@ -3327,7 +3632,7 @@ print "\n";
     $tst_cmd[5]="ncatted -h -O $nco_D_flg -a units,time,o,c,'days since 1981-2-4' %tmp_fl_02%";   
     $tst_cmd[6]="ncks -h -O $fl_fmt $nco_D_flg -C -v time -d time,0,7 $in_pth_arg in.nc %tmp_fl_03%";
     $tst_cmd[7]="ncatted -h -O $nco_D_flg -a units,time,o,c,'days since 1981-2-8' %tmp_fl_03%";   
-    $tst_cmd[8]="ncra -Y ncrcat -O $fl_fmt $nco_D_flg -C -v time -d time,,,4   %tmp_fl_00% %tmp_fl_01% %tmp_fl_02% %tmp_fl_03% %tmp_fl_04% 2> %tmp_fl_06%";
+    $tst_cmd[8]="ncra -Y ncrcat -O $fl_fmt $nco_D_flg -C -v time -d time,,,4 %tmp_fl_00% %tmp_fl_01% %tmp_fl_02% %tmp_fl_03% %tmp_fl_04% 2> %tmp_fl_06%";
     $tst_cmd[9]="ncap2 -O -v -C -s 'time_ttl=time.total();print(time_ttl)' %tmp_fl_04% %tmp_fl_05%";
     $tst_cmd[10]="time_ttl = 28";
     $dsc_sng="Cat. 1D var over 4 files with srd=4 different rec sizes. Requires UDUnits.";
@@ -3345,7 +3650,7 @@ print "\n";
     $tst_cmd[5]="ncatted -h -O $nco_D_flg -a units,time,o,c,'days since 1981-2-4' %tmp_fl_02%";   
     $tst_cmd[6]="ncks -h -O $fl_fmt $nco_D_flg -C -v time -d time,0,7 $in_pth_arg in.nc %tmp_fl_03%";
     $tst_cmd[7]="ncatted -h -O $nco_D_flg -a units,time,o,c,'days since 1981-2-8' %tmp_fl_03%";   
-    $tst_cmd[8]="ncra -Y ncrcat -O $fl_fmt $nco_D_flg -C -v time -d time,'1981-2-4 ','1981-2-20 ',3   %tmp_fl_00% %tmp_fl_01% %tmp_fl_02% %tmp_fl_03% %tmp_fl_04% 2> %tmp_fl_06%";
+    $tst_cmd[8]="ncra -Y ncrcat -O $fl_fmt $nco_D_flg -C -v time -d time,'1981-2-4 ','1981-2-20 ',3 %tmp_fl_00% %tmp_fl_01% %tmp_fl_02% %tmp_fl_03% %tmp_fl_04% 2> %tmp_fl_06%";
     $tst_cmd[9]="ncap2 -O -v -C -s 'time_ttl=time.total();print(time_ttl)' %tmp_fl_04% %tmp_fl_05%";
     $tst_cmd[10]="time_ttl = 45";
     $dsc_sng="Cat. 1D var over 4 files with srd=3 str/end timestamps. Requires UDUnits.";
@@ -3367,7 +3672,6 @@ print "\n";
 #### Group tests	
 	if($HAVE_NETCDF4_H == 1){
 	
-	
 #ncrcat #22	
 # same as ncrcat #02 with group
 
@@ -3379,8 +3683,6 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     $#tst_cmd=0; # Reset array	
 	
-	
-	
 #ncrcat #23	
 # 2 groups each one with a record (part 1)
 # ncra -Y ncrcat -h -O -g g25g1,g25g2 -v one_dmn_rec_var in_grp_3.nc in_grp_3.nc -d time,2.,3. out.nc
@@ -3409,7 +3711,7 @@ print "\n";
 #same as #03 
 
     $tst_cmd[0]="ncra -Y ncrcat $omp_flg -h -O $fl_fmt $nco_D_flg -v three_dmn_var_dbl $in_pth_arg -d time,,2 -d lat,0,0 -d lon,0,0 -d lon,3,3 in_grp_3.nc in_grp_3.nc %tmp_fl_00% 2> %tmp_fl_02%";
-    $tst_cmd[1]="ncwa $omp_flg -h -O $fl_fmt $nco_D_flg -y max  %tmp_fl_00% %tmp_fl_01%"; 
+    $tst_cmd[1]="ncwa $omp_flg -h -O $fl_fmt $nco_D_flg -y max %tmp_fl_00% %tmp_fl_01%"; 
     $tst_cmd[2]="ncks -C -H -s '%f' -g g19g3 -v three_dmn_var_dbl %tmp_fl_01%";
     $dsc_sng="(Groups) Concatenate float variable with multislabs across two files";
     $tst_cmd[3]="20";
@@ -3418,10 +3720,82 @@ print "\n";
     $#tst_cmd=0; # Reset array	
 	
 	} #### Group tests	
+	
+# ncrcat #26
+# Detect input_complete when stride skips user-specified idx_end_max
+# ncrcat -O -C -v time -d time,0,10,9,1 -p ~/nco/data in.nc in.nc ~/foo.nc
+# ncks -C -H -s '%g, ' -v time ~/foo.nc
+    $dsc_sng="Detect input_complete when stride skips user-specified idx_end_max";
+    $tst_cmd[0]="ncra -Y ncrcat -h -O $fl_fmt $nco_D_flg -C -v time -d time,0,10,9,1 $in_pth_arg in.nc in.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks -C -H -s '%g, ' -v time %tmp_fl_00%";
+    $tst_cmd[2]="1, 10,";
+    $tst_cmd[3]="SS_OK";   
+    NCO_bm::tst_run(\@tst_cmd);
+    $#tst_cmd=0; # Reset array 		
 
+# ncrcat #27
+# Another detect input_complete when stride skips user-specified idx_end_max
+# ncks -O -C -v time -d time,0,2 ~/nco/data/in.nc ~/foo1.nc
+# ncks -O -C -v time -d time,3,5 ~/nco/data/in.nc ~/foo2.nc
+# ncra -Y ncrcat -D 3 -O -C -v time -d time,0,3,2,1 -p ~ foo1.nc foo2.nc ~/foo.nc
+# ncks -C -H -s '%g, ' -v time ~/foo.nc
+    $dsc_sng="Another detect input_complete when stride skips user-specified idx_end_max";
+    $tst_cmd[0]="ncks -h -O $fl_fmt $nco_D_flg -C -v time -d time,0,2 $in_pth_arg in.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks -h -O $fl_fmt $nco_D_flg -C -v time -d time,3,5 $in_pth_arg in.nc %tmp_fl_01%";
+    $tst_cmd[2]="ncra -Y ncrcat -h -O $fl_fmt $nco_D_flg -C -v time -d time,0,3,2,1 %tmp_fl_00% %tmp_fl_01% %tmp_fl_02%";
+    $tst_cmd[3]="ncks -C -H -s '%g, ' -v time %tmp_fl_02%";
+    $tst_cmd[4]="1, 3,";
+    $tst_cmd[5]="SS_OK";   
+    NCO_bm::tst_run(\@tst_cmd);
+    $#tst_cmd=0; # Reset array 	
 	
+#### Group tests	
+	if($HAVE_NETCDF4_H == 1){	
+
+#ncrcat #28
+#ncks -h -O -g g4 -v one_dmn_rec_var in_grp.nc in_grp1.nc
+#ncrcat -h --no_tmp_fl --rec_apn -v one_dmn_rec_var in_grp.nc in_grp1.nc
+
+    $tst_cmd[0]="ncks $omp_flg -h -O $fl_fmt $nco_D_flg -g g4 -v one_dmn_rec_var $in_pth_arg in_grp.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncrcat $omp_flg -h --no_tmp_fl --rec_apn $fl_fmt $nco_D_flg -g g4 -v one_dmn_rec_var $in_pth_arg in_grp.nc %tmp_fl_00%";
+    $tst_cmd[2]="ncks  -C -g g4 -v one_dmn_rec_var %tmp_fl_00%";
+    $dsc_sng="(Groups) Append records to existing file without copying original (Group with 1 record case)";
+    $tst_cmd[3]="time[19]=10 one_dmn_rec_var[19]=10 kelvin";
+    $tst_cmd[4]="SS_OK";
+    NCO_bm::tst_run(\@tst_cmd);
+    $#tst_cmd=0; # Reset array
 	
+#ncrcat #29
+#ncks -h -O -g g5 -v one_dmn_rec_var,time51,time52 in_grp.nc in_grp1.nc
+#ncrcat -h --no_tmp_fl --rec_apn -g g5 -v one_dmn_rec_var in_grp.nc in_grp1.nc
+
+    $tst_cmd[0]="ncks $omp_flg -h -O $fl_fmt $nco_D_flg -g g5 -v one_dmn_rec_var,time51,time52 $in_pth_arg in_grp.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncrcat $omp_flg -h --no_tmp_fl --rec_apn $fl_fmt $nco_D_flg -g g5 -v one_dmn_rec_var $in_pth_arg in_grp.nc %tmp_fl_00%";
+    $tst_cmd[2]="ncks -C -g g5 -v one_dmn_rec_var %tmp_fl_00%";
+    $dsc_sng="(Groups) Append records to existing file without copying original (Group with 2 records case)";
+    $tst_cmd[3]="time52[19]=10 one_dmn_rec_var[19]=10 kelvin";
+    $tst_cmd[4]="SS_OK";
+    NCO_bm::tst_run(\@tst_cmd);
+    $#tst_cmd=0; # Reset array	
 	
+#ncrcat #30
+#ncks -h -O -g g5 -v one_dmn_rec_var,time51,time52 in_grp.nc in_grp1.nc 
+#ncks -h -O -g g5 -v one_dmn_rec_var,time51,time52 in_grp.nc in_grp2.nc 
+#ncrcat -O -h -g g5 -v one_dmn_rec_var in_grp1.nc in_grp2.nc out.nc
+#ncks -C -g g5 -v one_dmn_rec_var  out.nc
+
+	$tst_cmd[0]="ncks $omp_flg -h -O $fl_fmt $nco_D_flg -g g5 -v one_dmn_rec_var,time51,time52 $in_pth_arg in_grp.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks $omp_flg -h -O $fl_fmt $nco_D_flg -v one_dmn_rec_var,time51,time52 $in_pth_arg in_grp.nc %tmp_fl_01%";
+    $tst_cmd[2]="ncrcat -h -O $fl_fmt $nco_D_flg -g g5 -v one_dmn_rec_var %tmp_fl_00% %tmp_fl_01% %tmp_fl_02%";
+	$tst_cmd[3]="ncks -C -g g5 -v one_dmn_rec_var %tmp_fl_02%";
+    $dsc_sng="(Groups) Group with 2 records case";
+    $tst_cmd[4]="time52[19]=10 one_dmn_rec_var[19]=10 kelvin";
+    $tst_cmd[5]="SS_OK";
+    NCO_bm::tst_run(\@tst_cmd);
+    $#tst_cmd=0; # Reset array	
+		
+	} #### End Group tests
+
 #    } else { print "NB: Current mpncrcat test skipped because it hangs fxm TODO nco593.\n";}
     
 ####################
@@ -3638,12 +4012,12 @@ print "\n";
 # ncra #21
 	
     $tst_cmd[0]="/bin/rm -f %tmp_fl_00%";
-    $tst_cmd[1]="ncra  $omp_flg -h -O $fl_fmt $nco_D_flg -C $in_pth_arg lrg_bm.nc lrg_bm1.nc %tmp_fl_00%";
-    $tst_cmd[2]="ncra  -t1 -h -O $fl_fmt $nco_D_flg -C $in_pth_arg lrg_bm.nc lrg_bm1.nc %tmp_fl_01%";
-    $tst_cmd[3]="ncbo -C -h -O  %tmp_fl_00% %tmp_fl_01% %tmp_fl_02%";
-    $tst_cmd[4]="ncwa  -t1 -O -C %tmp_fl_02% %tmp_fl_03% 2>%tmp_fl_05%";
+    $tst_cmd[1]="ncra $omp_flg -h -O $fl_fmt $nco_D_flg -C $in_pth_arg lrg_bm.nc lrg_bm1.nc %tmp_fl_00%";
+    $tst_cmd[2]="ncra -t 1 -h -O $fl_fmt $nco_D_flg -C $in_pth_arg lrg_bm.nc lrg_bm1.nc %tmp_fl_01%";
+    $tst_cmd[3]="ncbo -C -h -O %tmp_fl_00% %tmp_fl_01% %tmp_fl_02%";
+    $tst_cmd[4]="ncwa -t 1 -O -C %tmp_fl_02% %tmp_fl_03% 2>%tmp_fl_05%";
     $dsc_sng="Check op with OpenMP";
-    $tst_cmd[5]="ncap2 -t1 -h -v -O -s 'n2= ( (fabs(R)<0.01) && (fabs(S)<0.01) && (fabs(T)<0.01) && (fabs(U)<0.01) && (fabs(V)<0.01) && (fabs(W)<0.01) && (fabs(X)<0.01) );print(n2)' %tmp_fl_03% %tmp_fl_04%";
+    $tst_cmd[5]="ncap2 -t 1 -h -v -O -s 'n2= ((fabs(R)<0.01) && (fabs(S)<0.01) && (fabs(T)<0.01) && (fabs(U)<0.01) && (fabs(V)<0.01) && (fabs(W)<0.01) && (fabs(X)<0.01));print(n2)' %tmp_fl_03% %tmp_fl_04%";
     $tst_cmd[6]="n2 = 1";
     $tst_cmd[7]="NO_SS";
     NCO_bm::tst_run(\@tst_cmd);
@@ -3733,7 +4107,6 @@ print "\n";
     $tst_cmd[3]="SS_OK";
     NCO_bm::tst_run(\@tst_cmd);
     $#tst_cmd=0; # Reset array		
-		
 
 # ncra #29 Generate a file with 2 records
 # ncecat -O  -g g25g1 in_grp_3.nc in1.nc -> generate "record"
@@ -3741,7 +4114,7 @@ print "\n";
 # ncra -O  in2.nc out.nc
     
     $tst_cmd[0]="ncecat $omp_flg -h -O $fl_fmt $nco_D_flg -g g25g1 $in_pth_arg in_grp_3.nc %tmp_fl_00%";
-	$tst_cmd[1]="ncpdq $omp_flg -h -O $fl_fmt $nco_D_flg -a time,record %tmp_fl_00%  %tmp_fl_01%";
+	$tst_cmd[1]="ncpdq $omp_flg -h -O $fl_fmt $nco_D_flg -a time,record %tmp_fl_00% %tmp_fl_01%";
 	$tst_cmd[2]="ncra $omp_flg -h -O $fl_fmt $nco_D_flg %tmp_fl_01% %tmp_fl_02%";
     $tst_cmd[3]="ncks -C -g g25g1 -v one_dmn_rec_var %tmp_fl_02%";
     $dsc_sng="(Groups) 2 records in 1 group ('time' same as record, 1st record)";
@@ -3750,8 +4123,6 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     $#tst_cmd=0; # Reset array	
 
-	   
-
 #ncra #30
 #Operate files containing same variable in different orders
 # ncks -O    -v time,one ~/nco/data/in.nc ~/foo1.nc
@@ -3771,10 +4142,38 @@ print "\n";
 
    } #### Group tests	
 	
+# ncra #31
+# Treatment of missing values with MRO and rth_dbl
+# ncra -O -F -C -v one_dmn_rec_var_mss_val --mro -d time,1,2 ~/nco/data/in.nc ~/foo.nc
+# ncks -C -H -s '%g' ~/foo.nc
+    $dsc_sng="Treatment of missing values with MRO and rth_dbl";
+    $tst_cmd[0]="ncra -h -O $fl_fmt $nco_D_flg -C -F -v one_dmn_rec_var_mss_val --mro -d time,1,2 $in_pth_arg in.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks -C -H -s '%g' -v one_dmn_rec_var_mss_val %tmp_fl_00%";
+    $tst_cmd[2]="__";
+    $tst_cmd[3]="SS_OK";   
+    NCO_bm::tst_run(\@tst_cmd);
+    $#tst_cmd=0; # Reset array 	
 
-
+	#### Group tests	
+	if($HAVE_NETCDF4_H == 1){
 	
+#NEW 4.4.2	
+#ncra #32
+#ncra -O -v time301 -C in_grp_3.nc out.nc
+if (0){
+    $dsc_sng="(Groups) Cell methods (Create) -v time301";
+    $tst_cmd[0]="ncra $omp_flg $nco_D_flg -O -v time301 $in_pth_arg in_grp_3.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks -m %tmp_fl_00%";
+    $tst_cmd[2]="time301 attribute 1: cell_methods, size = 13 NC_CHAR, value = time301: mean";
+    $tst_cmd[3]="SS_OK";
+    NCO_bm::tst_run(\@tst_cmd);
+    $#tst_cmd=0; # Reset array	
+	}
+
+	} #### Group tests		
+
 	
+
 #print "paused - hit return to continue"; my $wait=<STDIN>;
 #print "<<<STOP>>>- hit return to continue"; my $wait=<STDIN>;
     
@@ -3814,10 +4213,12 @@ print "\n";
 
 #ncwa #3
     
+# 20140207: Behavior changed to comply with documentation that coordinate variables always return averages, never extrema or other statistics
+# Hence request for min(lat) should actually return avg(lat) = 0 != -90
     $tst_cmd[0]="ncwa $omp_flg -h -O $fl_fmt $nco_D_flg -y min -v lat $in_pth_arg in.nc %tmp_fl_00%";
     $tst_cmd[1]="ncks -C -H -s '%g' -v lat %tmp_fl_00%";
-    $dsc_sng="minimize coordinate variable";
-    $tst_cmd[2]="-90";
+    $dsc_sng="return average coordinate coordinate variable during minimization for non-coordinate variables";
+    $tst_cmd[2]="0";
     $tst_cmd[3]="SS_OK";
     NCO_bm::tst_run(\@tst_cmd);
     $#tst_cmd=0; # Reset array
@@ -3902,7 +4303,7 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     $#tst_cmd=0; # Reset array
 
-#ncwa #11
+#ncwa #12
     
     $tst_cmd[0]="ncwa $omp_flg -h -O $fl_fmt $nco_D_flg -v lat -a lat -w gw -d lat,0 $in_pth_arg in.nc %tmp_fl_00%";
     $tst_cmd[1]="ncks -C -H -s '%e' -v lat %tmp_fl_00%";
@@ -3912,7 +4313,7 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     $#tst_cmd=0; # Reset array
 
-#ncwa #12
+#ncwa #13
     
     $tst_cmd[0]="ncwa $omp_flg -h -O $fl_fmt $nco_D_flg -v mss_val_all -a lon -w lon $in_pth_arg in.nc %tmp_fl_00%";
     $tst_cmd[1]="ncks -C -H --no_blank -s '%g' -v mss_val_all %tmp_fl_00%";
@@ -3922,7 +4323,7 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     $#tst_cmd=0; # Reset array
 
-#ncwa #13
+#ncwa #14
     
     $tst_cmd[0]="ncwa $omp_flg -h -O $fl_fmt $nco_D_flg -v val_one_mss -a lat -w wgt_one $in_pth_arg in.nc %tmp_fl_00%";
     $tst_cmd[1]="ncks -C -H -s '%e' -v val_one_mss %tmp_fl_00%";
@@ -3932,7 +4333,7 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     $#tst_cmd=0; # Reset array
 
-#ncwa #14
+#ncwa #15
     
     $tst_cmd[0]="ncwa $omp_flg -h -O $fl_fmt $nco_D_flg -v msk_prt_mss_prt -m msk_prt_mss_prt -M 1.0 -T lt -a lon $in_pth_arg in.nc %tmp_fl_00%";
     $tst_cmd[1]="ncks -C -H -s '%e' -v msk_prt_mss_prt %tmp_fl_00%";
@@ -3942,7 +4343,7 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     $#tst_cmd=0; # Reset array
 
-#ncwa #15
+#ncwa #16
 
     $tst_cmd[0]="ncwa $omp_flg -h -O $fl_fmt $nco_D_flg -w area -v area -a lat $in_pth_arg in.nc %tmp_fl_00%";
     $tst_cmd[1]="ncks -C -H -s '%e' -v area %tmp_fl_00%";
@@ -3952,7 +4353,7 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     $#tst_cmd=0; # Reset array
 
-#ncwa #16
+#ncwa #17
     
     $tst_cmd[0]="ncwa $omp_flg -h -O $fl_fmt $nco_D_flg -w area_asm -v area -a lat $in_pth_arg in.nc %tmp_fl_00%";
     $tst_cmd[1]="ncks -C -H -s '%e' -v area %tmp_fl_00%";
@@ -3962,7 +4363,7 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     $#tst_cmd=0; # Reset array
 
-#ncwa #17
+#ncwa #18
     
     $tst_cmd[0]="ncwa $omp_flg -h -O $fl_fmt $nco_D_flg -w area_asm -v area2 -a lat $in_pth_arg in.nc %tmp_fl_00%";
     $tst_cmd[1]="ncks -C -H -s '%e' -v area2 %tmp_fl_00%";
@@ -3972,7 +4373,7 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     $#tst_cmd=0; # Reset array
 
-#ncwa #18
+#ncwa #19
     
     $tst_cmd[0]="ncwa $omp_flg -h -O $fl_fmt $nco_D_flg -y min -v rec_var_flt_mss_val_dbl $in_pth_arg in.nc %tmp_fl_00% 2> %tmp_fl_02%";
     $tst_cmd[1]="ncks -C -H -s '%e' -v rec_var_flt_mss_val_dbl %tmp_fl_00%";
@@ -3982,7 +4383,7 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     $#tst_cmd=0; # Reset array
 
-#ncwa #19
+#ncwa #20
     
 # will fail SS - ncks not the last cmd
     @tst_cmd=(); # really reset array. $#tst_cmd=0; sets last index=0 --> list has one element.
@@ -3995,7 +4396,7 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     @tst_cmd=(); # Reset array
 
-#ncwa #20
+#ncwa #21
     
 # will fail SS - ncks not the last cmd
     push(@tst_cmd, "ncwa $omp_flg  -h -O $fl_fmt $nco_D_flg -y min -v three_dmn_var_dbl -a lon $in_pth_arg in.nc %tmp_fl_00%");
@@ -4008,7 +4409,7 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     @tst_cmd=(); # Reset array
 
-#ncwa #21
+#ncwa #22
     
 # will fail SS - ncks not the last cmd
     push(@tst_cmd, "ncwa $omp_flg -h -O $fl_fmt $nco_D_flg -y min -v three_dmn_var_int -a lon $in_pth_arg in.nc %tmp_fl_00%");
@@ -4020,7 +4421,7 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     @tst_cmd=(); # Reset array
 
-#ncwa #22
+#ncwa #23
     
 # will fail SS - ncks not the last cmd
     push(@tst_cmd, "ncwa $omp_flg -h -O $fl_fmt $nco_D_flg -y min -v three_dmn_var_int -a lon $in_pth_arg in.nc %tmp_fl_00%");
@@ -4033,7 +4434,7 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     @tst_cmd=(); # Reset array
 
-#ncwa #23
+#ncwa #24
     
 # will fail SS - ncks not the last cmd
     push(@tst_cmd, "ncwa $omp_flg -h -O $fl_fmt $nco_D_flg -y min -v three_dmn_var_sht -a lon $in_pth_arg in.nc %tmp_fl_00%");
@@ -4045,7 +4446,7 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     @tst_cmd=(); # Reset array
 
-#ncwa #24
+#ncwa #25
     
 # will fail SS - ncks not the last cmd
     push(@tst_cmd, "ncwa $omp_flg -h -O $fl_fmt $nco_D_flg -y min -v three_dmn_var_sht -a lon $in_pth_arg in.nc %tmp_fl_00%");
@@ -4058,7 +4459,7 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     @tst_cmd=(); # Reset array
 
-#ncwa #25
+#ncwa #26
     
     $tst_cmd[0]="ncwa $omp_flg -h -O $fl_fmt $nco_D_flg -y min -v three_dmn_rec_var $in_pth_arg in.nc %tmp_fl_00% 2> %tmp_fl_02%";
     $tst_cmd[1]="ncks -C -H -s '%f' -v three_dmn_rec_var %tmp_fl_00%";
@@ -4068,7 +4469,7 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     @tst_cmd=(); # Reset array
 
-#ncwa #26
+#ncwa #27
     
     $tst_cmd[0]="ncwa $omp_flg -h -O $fl_fmt $nco_D_flg -y max -v four_dmn_rec_var $in_pth_arg in.nc %tmp_fl_00% 2> %tmp_fl_02%";
     $tst_cmd[1]="ncks -C -H -s '%f' -v four_dmn_rec_var %tmp_fl_00%";
@@ -4078,7 +4479,7 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     @tst_cmd=(); # Reset array
 
-#ncwa #27
+#ncwa #28
     
 # will fail SS - ncks not the last cmd
     push(@tst_cmd, "ncwa $omp_flg -h -O $fl_fmt $nco_D_flg -y max -v three_dmn_var_dbl -a lat,lon $in_pth_arg in.nc %tmp_fl_00%");
@@ -4090,7 +4491,7 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     @tst_cmd=(); # Reset array
 
-#ncwa #28
+#ncwa #29
     
 # will fail SS - ncks not the last cmd
     push(@tst_cmd, "ncwa $omp_flg -h -O $fl_fmt $nco_D_flg -y max -v three_dmn_var_dbl -a lat,lon $in_pth_arg in.nc %tmp_fl_00%");
@@ -4103,7 +4504,7 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     @tst_cmd=(); # Reset array
 
-#ncwa #29
+#ncwa #30
     
 # will fail SS - ncks not the last cmd
     push(@tst_cmd, "ncwa $omp_flg -h -O $fl_fmt $nco_D_flg -y max -v three_dmn_var_int -a lat $in_pth_arg in.nc %tmp_fl_00%");
@@ -4115,7 +4516,7 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     @tst_cmd=(); # Reset array
 
-#ncwa #30
+#ncwa #31
     
 # will fail SS - ncks not the last cmd
     push(@tst_cmd, "ncwa $omp_flg -h -O $fl_fmt $nco_D_flg -y max -v three_dmn_var_int -a lat $in_pth_arg in.nc %tmp_fl_00%");
@@ -4128,7 +4529,7 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     @tst_cmd=(); # Reset array
 
-#ncwa #31
+#ncwa #32
     
 # will fail SS - ncks not the last cmd
     push(@tst_cmd, "ncwa $omp_flg -h -O $fl_fmt $nco_D_flg -y max -v three_dmn_var_sht -a lat $in_pth_arg in.nc %tmp_fl_00%");
@@ -4140,7 +4541,7 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     @tst_cmd=(); # Reset array
 
-#ncwa #32
+#ncwa #33
     
 # will fail SS - ncks not the last cmd
     push(@tst_cmd, "ncwa $omp_flg -h -O $fl_fmt $nco_D_flg -y max -v three_dmn_var_sht -a lat $in_pth_arg in.nc %tmp_fl_00%");
@@ -4153,7 +4554,7 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     @tst_cmd=(); # Reset array
 
-#ncwa #33
+#ncwa #34
     
     $tst_cmd[0]="ncwa $omp_flg -h -O $fl_fmt $nco_D_flg -y rms -w lat_wgt -v lat_cpy $in_pth_arg in.nc %tmp_fl_00% 2> %tmp_fl_02%";
     $tst_cmd[1]="ncks -C -H -s '%f' -v lat_cpy %tmp_fl_00%";;
@@ -4163,7 +4564,7 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     $#tst_cmd=0; # Reset array
 
-#ncwa #34
+#ncwa #35
     
     $tst_cmd[0]="ncwa $omp_flg -h -O $fl_fmt $nco_D_flg -w val_half_half -v val_one_one_int $in_pth_arg in.nc %tmp_fl_00% 2> %tmp_fl_02%";
     $tst_cmd[1]="ncks -C -H -s '%d' -v val_one_one_int %tmp_fl_00%";;
@@ -4173,7 +4574,7 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     $#tst_cmd=0; # Reset array
 
-#ncwa #35
+#ncwa #36
     
     $tst_cmd[0]="ncwa $omp_flg -h -O $fl_fmt $nco_D_flg -y avg -v val_max_max_sht $in_pth_arg in.nc %tmp_fl_00% 2> %tmp_fl_02%";
     $tst_cmd[1]="ncks -C -H -s '%d' -v val_max_max_sht %tmp_fl_00%";;
@@ -4183,7 +4584,7 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     $#tst_cmd=0; # Reset array
 
-#ncwa #36
+#ncwa #37
     
     $tst_cmd[0]="ncwa $omp_flg -h -O $fl_fmt $nco_D_flg -y ttl -v val_max_max_sht $in_pth_arg in.nc %tmp_fl_00% 2> %tmp_fl_02%";
     $tst_cmd[1]="ncks -C -H -s '%d' -v val_max_max_sht %tmp_fl_00%";
@@ -4198,7 +4599,7 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     $#tst_cmd=0; # Reset array
 
-#ncwa #37
+#ncwa #38
     
     $tst_cmd[0]="ncwa $omp_flg -h -O $fl_fmt $nco_D_flg -y min -a lat -v lat_cpy -w gw $in_pth_arg in.nc %tmp_fl_00%";;
     $tst_cmd[1]="ncks -C -H -s '%g' -v lat_cpy %tmp_fl_00%";;
@@ -4208,7 +4609,7 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     $#tst_cmd=0; # Reset array
 
-#ncwa #38
+#ncwa #39
     
     $tst_cmd[0]="ncwa $omp_flg -h -O $fl_fmt $nco_D_flg -y max -a lat -v lat_cpy -w gw $in_pth_arg in.nc %tmp_fl_00%";;
     $tst_cmd[1]="ncks -C -H -s '%g' -v lat_cpy %tmp_fl_00%";;
@@ -4218,7 +4619,7 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     $#tst_cmd=0; # Reset array
 
-#ncwa #39
+#ncwa #40
     
     $tst_cmd[0]="ncwa $omp_flg -h -O $fl_fmt $nco_D_flg -y ttl -a time -w one -v time,one_dmn_rec_var $in_pth_arg in.nc %tmp_fl_00%";
     $tst_cmd[1]="ncks -C -H -s '%f' -v time %tmp_fl_00%";
@@ -4228,7 +4629,7 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     $#tst_cmd=0; # Reset array
 
-#ncwa #40
+#ncwa #41
     
     $tst_cmd[0]="ncwa $omp_flg -h -O $fl_fmt $nco_D_flg -y ttl -a time -w one -v time,one_dmn_rec_var $in_pth_arg in.nc %tmp_fl_00%";
     $tst_cmd[1]="ncks -C -H -s '%d' -v one_dmn_rec_var %tmp_fl_00%";
@@ -4239,7 +4640,7 @@ print "\n";
     $#tst_cmd=0; # Reset array
 	
 	
-#ncwa #41
+#ncwa #42
     
     $tst_cmd[0]="ncwa $omp_flg -h -O $fl_fmt $nco_D_flg -a lon -b -v lon $in_pth_arg in.nc %tmp_fl_00%";
     $tst_cmd[1]="ncks -C -H -v lon %tmp_fl_00%";
@@ -4249,7 +4650,7 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     $#tst_cmd=0; # Reset array	
 	
-#ncwa #42
+#ncwa #43
     
     $tst_cmd[0]="ncwa $omp_flg -h -O $fl_fmt $nco_D_flg -a lon -b  $in_pth_arg in.nc %tmp_fl_00%";
     $tst_cmd[1]="ncks -C -H -v lon %tmp_fl_00%";
@@ -4259,11 +4660,10 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     $#tst_cmd=0; # Reset array		
 	
-	
 #### Group tests	
 	if($HAVE_NETCDF4_H == 1){	
 	
-#ncwa #43
+#ncwa #44
 #NEW NCO 4.3.3
 #same as #ncwa #25
 #ncwa -h -O -y min -g g10 -v three_dmn_rec_var in_grp.nc out.nc
@@ -4281,14 +4681,12 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     $#tst_cmd=0; # Reset array
 
-
-#ncwa #44
+#ncwa #45
 #NEW NCO 4.3.3
 #same as #ncwa #27
 # ncwa -h -O -y max -g g19g3 -v three_dmn_var_dbl -a lat,lon in_grp_3.nc out.nc
 # ncks -C -H --no_blank -s '%f' -g g19g3 -v three_dmn_var_dbl -d time,3 out.nc
 
-    
 # will fail SS - ncks not the last cmd
     push(@tst_cmd, "ncwa $omp_flg -h -O $fl_fmt $nco_D_flg -y max -g g19g3 -v three_dmn_var_dbl -a lat,lon $in_pth_arg in_grp_3.nc %tmp_fl_00%");
     push(@tst_cmd, "ncks -C -H --no_blank -s '%f' -g g19g3 -v three_dmn_var_dbl -d time,3 %tmp_fl_00%");
@@ -4299,7 +4697,7 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     @tst_cmd=(); # Reset array
 
-#ncwa #45
+#ncwa #46
 #NEW NCO 4.3.3
 #same as #ncwa #28
 # ncwa -h -O  -y max -g g19g3 -v three_dmn_var_dbl -a lat,lon in_grp_3.nc out.nc
@@ -4321,7 +4719,6 @@ print "\n";
 #same as #ncwa #33
 # ncwa -h -O -y rms -w lat_wgt -g g20g1 -v lat_cpy  in_grp_3.nc out.nc
 # ncks -C -H -s '%f' -g g20g1  -v lat_cpy out.nc
-
     
     $tst_cmd[0]="ncwa $omp_flg -h -O $fl_fmt $nco_D_flg -y rms -w lat_wgt -g g20g1 -v lat_cpy $in_pth_arg in_grp_3.nc %tmp_fl_00% 2> %tmp_fl_02%";
     $tst_cmd[1]="ncks -C -H -s '%f' -g g20g1  -v lat_cpy %tmp_fl_00%";;
@@ -4334,7 +4731,6 @@ print "\n";
 #ncwa #48
 #NEW NCO 4.3.6
 #ncwa -O -w gw_lat -d lat,1,2 -d lon,0,1 -a lat,lon -g g26 in_grp_3.nc out.nc
-
     
     $tst_cmd[0]="ncwa $omp_flg -O $fl_fmt $nco_D_flg -w gw_lat -d lat,1,2 -d lon,0,1 -a lat,lon -g g26 $in_pth_arg in_grp_3.nc %tmp_fl_00%";
     $tst_cmd[1]="ncks -v a %tmp_fl_00%";;
@@ -4348,38 +4744,33 @@ print "\n";
 # ncwa -h -O -v lev -a lev -w lev_wgt in_grp_3.nc out.nc
 # lev = 230.769 lev_wgt=10,2,1; /g19/lev
 # lev = 241.667 lev_wgt=9,2,1;  /g8/lev
-
     
     $tst_cmd[0]="ncwa $omp_flg -h -O $fl_fmt $nco_D_flg -v lev -a lev -w lev_wgt $in_pth_arg in_grp_3.nc %tmp_fl_00%";
     $tst_cmd[1]="ncks -C -H -g g8 -v lev %tmp_fl_00%";
-    $dsc_sng="(Groups) Weights and groups (test 1)";
+    $dsc_sng="(Groups) Weights and groups (relative weight name test 1)";
     $tst_cmd[2]="lev = 241.667";
     $tst_cmd[3]="SS_OK";
     NCO_bm::tst_run(\@tst_cmd);
     $#tst_cmd=0; # Reset array	
 	
-	
 #ncwa #50
 # ncwa -h -O -v lev -a lev -w lev_wgt in_grp_3.nc out.nc
 # lev = 230.769 lev_wgt=10,2,1; /g19/lev
 # lev = 241.667 lev_wgt=9,2,1;  /g8/lev
 
-    
     $tst_cmd[0]="ncwa $omp_flg -h -O $fl_fmt $nco_D_flg -v lev -a lev -w lev_wgt $in_pth_arg in_grp_3.nc %tmp_fl_00%";
     $tst_cmd[1]="ncks -C -H -g g19 -v lev %tmp_fl_00%";
-    $dsc_sng="(Groups) Weights and groups (test 2)";
+    $dsc_sng="(Groups) Weights and groups (relative weight name test 2)";
     $tst_cmd[2]="lev = 230.769";
     $tst_cmd[3]="SS_OK";
     NCO_bm::tst_run(\@tst_cmd);
     $#tst_cmd=0; # Reset array	
 	
-	
 #NEW 4.3.7	
 #ncwa #51
 # ncwa  -h -O -a time -b  -v time  in_grp.nc out.nc
 # ncks out.nc | grep 'time dimension 0'
 
-    
     $tst_cmd[0]="ncwa $omp_flg -h -O $fl_fmt $nco_D_flg -a time -b  -v time $in_pth_arg in_grp.nc %tmp_fl_00%";
     $tst_cmd[1]="ncks %tmp_fl_00% | grep 'time dimension 0:'";
     $dsc_sng="(Groups) -b degenerate a record dimension";
@@ -4388,9 +4779,170 @@ print "\n";
     NCO_bm::tst_run(\@tst_cmd);
     $#tst_cmd=0; # Reset array		
 	
+#NEW 4.4.0	
+#ncwa #52 Use -w /g8/lev_wgt
+# ncwa -h -O -v lev -a lev -w /g8/lev_wgt in_grp_3.nc out.nc
+# lev = 230.769 lev_wgt=10,2,1; /g19/lev
+# lev = 241.667 lev_wgt=9,2,1;  /g8/lev
+    
+    $tst_cmd[0]="ncwa $omp_flg -h -O $fl_fmt $nco_D_flg -v lev -a lev -w /g8/lev_wgt $in_pth_arg in_grp_3.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks -C -H -g g8 -v lev %tmp_fl_00%";
+    $dsc_sng="(Groups) Weights and groups (absolute weight name -w /g8/lev_wgt test 1)";
+    $tst_cmd[2]="lev = 241.667";
+    $tst_cmd[3]="SS_OK";
+    NCO_bm::tst_run(\@tst_cmd);
+    $#tst_cmd=0; # Reset array	
+
+#NEW 4.4.0		
+#ncwa #53 Use -w /g8/lev_wgt
+# ncwa -h -O -v lev -a lev -w /g19/lev_wgt in_grp_3.nc out.nc
+# lev = 230.769 lev_wgt=10,2,1; /g19/lev
+# lev = 241.667 lev_wgt=9,2,1;  /g8/lev
+    
+    $tst_cmd[0]="ncwa $omp_flg -h -O $fl_fmt $nco_D_flg -v lev -a lev -w /g8/lev_wgt $in_pth_arg in_grp_3.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks -C -H -g g19 -v lev %tmp_fl_00%";
+    $dsc_sng="(Groups) Weights and groups (absolute weight name -w /g19/lev_wgt test 2)";
+    $tst_cmd[2]="lev = 241.667";
+    $tst_cmd[3]="SS_OK";
+    NCO_bm::tst_run(\@tst_cmd);
+    $#tst_cmd=0; # Reset array		
+	
+#NEW 4.4.0	
+#ncwa #54 
+#Use -a /g8/lev, -w /g8/lev_wgt
+# ncwa -h -O -v lev -a /g8/lev -w /g8/lev_wgt in_grp_3.nc out.nc
+# lev = 230.769 lev_wgt=10,2,1; /g19/lev
+# lev = 241.667 lev_wgt=9,2,1;  /g8/lev
+    
+    $tst_cmd[0]="ncwa $omp_flg -h -O $fl_fmt $nco_D_flg -v lev -a /g8/lev -w /g8/lev_wgt $in_pth_arg in_grp_3.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks -C -H -g g8 -v lev %tmp_fl_00%";
+    $dsc_sng="(Groups) Weights and groups (absolute dimension name -a /g8/lev)";
+    $tst_cmd[2]="lev = 241.667";
+    $tst_cmd[3]="SS_OK";
+    NCO_bm::tst_run(\@tst_cmd);
+    $#tst_cmd=0; # Reset array		
+	
+#NEW 4.4.0	
+#ncwa #55
+#ncwa -O -4  -a time --cnk_dmn lon,4 -v byt_3D_rec in.nc out.nc
+    
+    $dsc_sng="Chunking -a time --cnk_dmn lon,4 -v byt_3D_rec";
+    $tst_cmd[0]="ncwa $omp_flg -O -4 $nco_D_flg -a time --cnk_dmn lon,4 -v byt_3D_rec $in_pth_arg in.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks -m %tmp_fl_00% | grep 'byt_3D_rec dimension 1'";
+    $tst_cmd[2]="byt_3D_rec dimension 1: lon, size = 4 NC_FLOAT, chunksize = 4 (Coordinate is lon)";
+    $tst_cmd[3]="SS_OK";
+    NCO_bm::tst_run(\@tst_cmd);
+    $#tst_cmd=0; # Reset array		
+	
+#NEW 4.4.0	
+#ncwa #56
+#ncwa -O -4 -a /time --cnk_dmn /time,1 -v time in.nc out.nc
+    
+    $dsc_sng="Chunking -a /time --cnk_dmn /time,1 -v time";
+    $tst_cmd[0]="ncwa $omp_flg -O -4 $nco_D_flg -a /time --cnk_dmn /time,1 -v time $in_pth_arg in.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks -m %tmp_fl_00% | grep 'time: type'";
+    $tst_cmd[2]="time: type NC_DOUBLE, 0 dimensions, 5 attributes, chunked? no, compressed? no, packed? no";
+    $tst_cmd[3]="SS_OK";
+    NCO_bm::tst_run(\@tst_cmd);
+    $#tst_cmd=0; # Reset array		
+
+#NEW 4.4.0	
+#ncwa #57	
+#ncwa -O -C -4 -D 12 --rdd -a lon,lat -v four_dmn_rec_var --cnk_dmn lat,2 --cnk_dmn lon,4  in.nc out.nc	
+#ncks --hdn --cdl -v four_dmn_rec_var out.nc
+
+    $dsc_sng="Chunking with --rdd -a lon,lat -v four_dmn_rec_var --cnk_dmn lat,2 --cnk_dmn lon,4 ";
+    $tst_cmd[0]="ncwa $omp_flg -O -C -4 $nco_D_flg --rdd -a lon,lat -v four_dmn_rec_var --cnk_dmn lat,2 --cnk_dmn lon,4 $in_pth_arg in.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks --hdn --cdl -v four_dmn_rec_var %tmp_fl_00% | grep 'four_dmn_rec_var:_ChunkSizes'";
+    $tst_cmd[2]="      four_dmn_rec_var:_ChunkSizes = 1, 1, 3, 1 ;";
+    $tst_cmd[3]="SS_OK";
+    NCO_bm::tst_run(\@tst_cmd);
+    $#tst_cmd=0; # Reset array	
+	
+#NEW 4.4.2	
+#ncwa #58
+#ncwa -O -y avg -a time301 -v time301 -C in_grp_3.nc out.nc
+#ncks -m out.nc
+if (0){
+    $dsc_sng="Cell methods (Create, average) -y avg -a time -v time";
+    $tst_cmd[0]="ncwa $omp_flg $nco_D_flg -O -y avg -a time301 -v time301 -C $in_pth_arg in_grp_3.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks -m %tmp_fl_00%";
+    $tst_cmd[2]="time301 attribute 1: cell_methods, size = 13 NC_CHAR, value = time301: mean";
+    $tst_cmd[3]="SS_OK";
+    NCO_bm::tst_run(\@tst_cmd);
+    $#tst_cmd=0; # Reset array	
+	
+#NEW 4.4.2	
+#ncwa #59
+#ncwa -O -y max -a time301 -v time301 -C in_grp_3.nc out.nc	  
+#ncks -m out.nc	
+
+    $dsc_sng="Cell methods (Create, maximum) -y max -a time -v time";
+    $tst_cmd[0]="ncwa $omp_flg $nco_D_flg -O -y max -a time301 -v time301 -C $in_pth_arg in_grp_3.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks -m %tmp_fl_00%";
+    $tst_cmd[2]="time301 attribute 1: cell_methods, size = 13 NC_CHAR, value = time301: mean";
+    $tst_cmd[3]="SS_OK";
+    NCO_bm::tst_run(\@tst_cmd);
+    $#tst_cmd=0; # Reset array	
+	}	
+
+	
+#NEW 4.4.2	
+#ncwa #60 Append cell_methods
+#ncwa -O -y max -a time302 -v time302 -C in_grp_3.nc out.nc
+#ncks -m out.nc	
+if (0) {
+    $dsc_sng="Cell methods (Append) -y max -a time -v time";
+    $tst_cmd[0]="ncwa $omp_flg $nco_D_flg -O -y max -a time302 -v time302 -C $in_pth_arg in_grp_3.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks -m %tmp_fl_00%";
+    $tst_cmd[2]="time302 attribute 1: cell_methods, size = 13 NC_CHAR, value = time302: mean";
+    $tst_cmd[3]="SS_OK";
+    NCO_bm::tst_run(\@tst_cmd);
+    $#tst_cmd=0; # Reset array
+	} # if (0)
+	
 	} #### Group tests	
+
+
+#NEW 4.4.2	
+#ncwa #61 (part 1)
+#ncwa  --op_typ=avg -O -v one,one_dmn_rec_var,three_dmn_rec_var -a time,lon in.nc out.nc	
+#ncks -m -C -v three_dmn_rec_var out.nc
+if (0){	
+    $dsc_sng="Cell methods (Create, average) -v one,one_dmn_rec_var,three_dmn_rec_var -a time,lon";
+    $tst_cmd[0]="ncwa $omp_flg $nco_D_flg --op_typ=avg -O -v one,one_dmn_rec_var,three_dmn_rec_var -a time,lon $in_pth_arg in.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks  -m -C -v three_dmn_rec_var %tmp_fl_00%";
+    $tst_cmd[2]="three_dmn_rec_var attribute 2: cell_methods, size = 15 NC_CHAR, value = time, lon: mean";
+    $tst_cmd[3]="SS_OK";
+    NCO_bm::tst_run(\@tst_cmd);
+    $#tst_cmd=0; # Reset array		
+
+#NEW 4.4.2	
+#ncwa #62 (part 2)
+#ncwa  --op_typ=avg -O -v one,one_dmn_rec_var,three_dmn_rec_var -a time,lon in.nc out.nc	
+#ncks -m -C -v one_dmn_rec_var out.nc
 	
+    $dsc_sng="Cell methods (Create, average) -v one,one_dmn_rec_var,three_dmn_rec_var -a time,lon";
+    $tst_cmd[0]="ncwa $omp_flg $nco_D_flg --op_typ=avg -O -v one,one_dmn_rec_var,three_dmn_rec_var -a time,lon $in_pth_arg in.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks  -m -C -v one_dmn_rec_var %tmp_fl_00%";
+    $tst_cmd[2]="one_dmn_rec_var attribute 2: cell_methods, size = 10 NC_CHAR, value = time: mean";
+    $tst_cmd[3]="SS_OK";
+    NCO_bm::tst_run(\@tst_cmd);
+    $#tst_cmd=0; # Reset array		
+
+#NEW 4.4.2	
+#ncwa #63 max
+#ncwa  --op_typ=avg -O -v one,one_dmn_rec_var,three_dmn_rec_var -a time,lon in.nc out.nc	
+#ncks -m -C -v one_dmn_rec_var out.nc
 	
+    $dsc_sng="Cell methods (Create, maximum) -v one,one_dmn_rec_var,three_dmn_rec_var -a time,lon";
+    $tst_cmd[0]="ncwa $omp_flg $nco_D_flg --op_typ=max -O -v one,one_dmn_rec_var,three_dmn_rec_var -a time,lon $in_pth_arg in.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks  -m -C -v three_dmn_rec_var %tmp_fl_00%";
+    $tst_cmd[2]="three_dmn_rec_var attribute 2: cell_methods, size = 18 NC_CHAR, value = time, lon: maximum";
+    $tst_cmd[3]="SS_OK";
+    NCO_bm::tst_run(\@tst_cmd);
+    $#tst_cmd=0; # Reset array
+	}		
     
 ####################
 #### ncrename tests #### OK!
@@ -4401,14 +4953,14 @@ print "\n";
 #### Group tests	
 	if($HAVE_NETCDF4_H == 1){	
 
-#################### Attributes 
+#################### Attributes
 
 #ncrename #1
 #ncrename -O -a .nothing,new_nothing in_grp.nc out.nc 
 #optional relative rename nothing to new_nothing (print warning)
     
-    $tst_cmd[0]="ncrename -O $fl_fmt $nco_D_flg -a .nothing,new_nothing $in_pth_arg in_grp.nc %tmp_fl_00%";
     $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[2]="SS_OK";
     NCO_bm::tst_run(\@tst_cmd);
@@ -4418,9 +4970,9 @@ print "\n";
 #ncrename -O -a history,new_history in_grp.nc out.nc  
 #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[1]="ncks %tmp_fl_00% | grep 'History global attribute'";
     $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[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";
     NCO_bm::tst_run(\@tst_cmd);
@@ -4432,9 +4984,9 @@ print "\n";
 # absolute rename /g1/history group/global att to /g1/new_history
 # NB: use escape in '/g1\@history,new_history'
     
-    $tst_cmd[0]="ncrename -O $fl_fmt $nco_D_flg -a '/g1\@history,new_history' $in_pth_arg in_grp.nc %tmp_fl_00%";
-	$tst_cmd[1]="ncks -g g1 %tmp_fl_00% | grep 'History group attribute'";
     $dsc_sng="Attributes: Absolute rename '/g1\@history' to 'new_history'";
+    $tst_cmd[0]="ncrename -O $fl_fmt $nco_D_flg -a '/g1\@history,new_history' $in_pth_arg in_grp.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks -g g1 %tmp_fl_00% | grep 'History group attribute'";
     $tst_cmd[2]="Group attribute 0: new_history, size = 25 NC_CHAR, value = History group attribute.";
     $tst_cmd[3]="SS_OK";
     NCO_bm::tst_run(\@tst_cmd);
@@ -4445,9 +4997,9 @@ print "\n";
 #ncrename -O -a global at history,new_history in_grp.nc out.nc 
 # relative rename history group/global att to new_history
 
-    $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'";
     $dsc_sng="Attributes: Relative rename 'global\@history' to 'new_history'";
+    $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";
     NCO_bm::tst_run(\@tst_cmd);
@@ -4457,9 +5009,9 @@ print "\n";
 #ncrename -O -a /g1/lon at units,new_units in_grp.nc out.nc 
 # absolute rename /g1/lon at units att to /g1/lon at new_units
 
-    $tst_cmd[0]="ncrename -O $fl_fmt $nco_D_flg -a '/g1/lon\@units,new_units' $in_pth_arg in_grp.nc %tmp_fl_00%";
-	$tst_cmd[1]="ncks -g g1  %tmp_fl_00% | grep 'new_units'";
     $dsc_sng="Attributes: Absolute rename '/g1/lon\@units' to 'new_units'";
+    $tst_cmd[0]="ncrename -O $fl_fmt $nco_D_flg -a '/g1/lon\@units,new_units' $in_pth_arg in_grp.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks -g g1 %tmp_fl_00% | grep 'new_units'";
     $tst_cmd[2]="lon attribute 0: new_units, size = 12 NC_CHAR, value = degrees_east";
     $tst_cmd[3]="SS_OK";
     NCO_bm::tst_run(\@tst_cmd);
@@ -4469,9 +5021,9 @@ print "\n";
 #ncrename -D 1 -O -a /g1/lon at units,/g1/lon at new_units in_grp.nc out.nc 
 #absolute rename /g1/lon at units att to /g1/lon at new_units
 
-    $tst_cmd[0]="ncrename -O $fl_fmt $nco_D_flg -a '/g1/lon\@units,/g1/lon\@new_units' $in_pth_arg in_grp.nc %tmp_fl_00%";
-	$tst_cmd[1]="ncks -g g1  %tmp_fl_00% | grep 'new_units'";
     $dsc_sng="Attributes: Absolute rename '/g1/lon\@units' to '/g1/lon\@new_units'";
+    $tst_cmd[0]="ncrename -O $fl_fmt $nco_D_flg -a '/g1/lon\@units,/g1/lon\@new_units' $in_pth_arg in_grp.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks -g g1 %tmp_fl_00% | grep 'new_units'";
     $tst_cmd[2]="lon attribute 0: new_units, size = 12 NC_CHAR, value = degrees_east";
     $tst_cmd[3]="SS_OK";
     NCO_bm::tst_run(\@tst_cmd);
@@ -4481,27 +5033,24 @@ print "\n";
 #ncrename -O -a /g1/lon at .units,new_units in_grp.nc out.nc 
 # optional absolute rename /g1/lon at .units att to new_units
 
-    $tst_cmd[0]="ncrename -O $fl_fmt $nco_D_flg -a '/g1/lon\@.units,new_units' $in_pth_arg in_grp.nc %tmp_fl_00%";
-	$tst_cmd[1]="ncks -g g1  %tmp_fl_00% | grep 'new_units'";
     $dsc_sng="Attributes: Optional absolute rename '/g1/lon\@.units' to '/g1/lon\@new_units'";
+    $tst_cmd[0]="ncrename -O $fl_fmt $nco_D_flg -a '/g1/lon\@.units,new_units' $in_pth_arg in_grp.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks -g g1 %tmp_fl_00% | grep 'new_units'";
     $tst_cmd[2]="lon attribute 0: new_units, size = 12 NC_CHAR, value = degrees_east";
     $tst_cmd[3]="SS_OK";
     NCO_bm::tst_run(\@tst_cmd);
     @tst_cmd=(); # really reset array.	
-
-
 	
 #################### Dimensions	
 
-
 #ncrename #8	
 #ncrename -O -d lat,new_lat in_grp.nc out.nc
 # relative rename lat to new_lat
 
+    $dsc_sng="Dimensions: Relative rename 'lat' to 'new_lat' (expect failure with netCDF < 4.3.1)";
     $tst_cmd[0]="ncrename -O $fl_fmt $nco_D_flg -d lat,new_lat $in_pth_arg in_grp.nc %tmp_fl_00%";
-	$tst_cmd[1]="ncks -m -v new_lat  %tmp_fl_00% | grep 'new_lat dimension'";
-    $dsc_sng="Dimensions: Relative rename 'lat' to 'new_lat'";
-    $tst_cmd[2]="new_lat dimension 0: new_lat, size = 2 NC_FLOAT (Coordinate is new_lat)";
+    $tst_cmd[1]="ncks -m -v lat %tmp_fl_00% | grep 'new_lat'";
+    $tst_cmd[2]="lat dimension 0: new_lat, size = 2 (Non-coordinate dimension)";
     $tst_cmd[3]="SS_OK";
     NCO_bm::tst_run(\@tst_cmd);
     @tst_cmd=(); # really reset array.	
@@ -4510,10 +5059,10 @@ print "\n";
 #ncrename -O -d /lat,new_lat in_grp.nc out.nc
 # Absolute rename /lat to new_lat
 
+    $dsc_sng="Dimensions: Absolute rename '/lat' to 'new_lat' (expect failure with netCDF < 4.3.1)";
     $tst_cmd[0]="ncrename -O $fl_fmt $nco_D_flg -d /lat,new_lat $in_pth_arg in_grp.nc %tmp_fl_00%";
-	$tst_cmd[1]="ncks -m -v new_lat  %tmp_fl_00% | grep 'new_lat dimension'";
-    $dsc_sng="Dimensions: Absolute rename '/lat' to 'new_lat'";
-    $tst_cmd[2]="new_lat dimension 0: new_lat, size = 2 NC_FLOAT (Coordinate is new_lat)";
+    $tst_cmd[1]="ncks -m -v lat %tmp_fl_00% | grep 'new_lat'";
+    $tst_cmd[2]="lat dimension 0: new_lat, size = 2 (Non-coordinate dimension)";
     $tst_cmd[3]="SS_OK";
     NCO_bm::tst_run(\@tst_cmd);
     @tst_cmd=(); # really reset array.	
@@ -4522,10 +5071,10 @@ print "\n";
 #ncrename -O -d .lat,new_lat in_grp.nc out.nc
 # optional relative rename lat to new_lat
 
+    $dsc_sng="Dimensions: Optional existing relative rename '.lat' to 'new_lat' (expect failure with netCDF < 4.3.1)";
     $tst_cmd[0]="ncrename -O $fl_fmt $nco_D_flg -d .lat,new_lat $in_pth_arg in_grp.nc %tmp_fl_00%";
-	$tst_cmd[1]="ncks -m -v new_lat  %tmp_fl_00% | grep 'new_lat dimension'";
-    $dsc_sng="Dimensions: Optional existing relative rename '.lat' to 'new_lat'";
-    $tst_cmd[2]="new_lat dimension 0: new_lat, size = 2 NC_FLOAT (Coordinate is new_lat)";
+    $tst_cmd[1]="ncks -m -v /g6/area %tmp_fl_00% | grep 'new_lat'";
+    $tst_cmd[2]="area dimension 0: /new_lat, size = 2 (Non-coordinate dimension)";
     $tst_cmd[3]="SS_OK";
     NCO_bm::tst_run(\@tst_cmd);
     @tst_cmd=(); # really reset array.	
@@ -4534,10 +5083,10 @@ print "\n";
 #ncrename -O -d /lat,new_lat in_grp.nc out.nc
 # Absolute rename /lat to new_lat
 
+    $dsc_sng="Dimensions: Optional existing absolute rename './lat' to 'new_lat' (expect failure with netCDF < 4.3.1)";
     $tst_cmd[0]="ncrename -O $fl_fmt $nco_D_flg -d ./lat,new_lat $in_pth_arg in_grp.nc %tmp_fl_00%";
-	$tst_cmd[1]="ncks -m -v new_lat  %tmp_fl_00% | grep 'new_lat dimension'";
-    $dsc_sng="Dimensions: Optional existing absolute rename './lat' to 'new_lat'";
-    $tst_cmd[2]="new_lat dimension 0: new_lat, size = 2 NC_FLOAT (Coordinate is new_lat)";
+    $tst_cmd[1]="ncks -m -v lat %tmp_fl_00% | grep 'new_lat'";
+    $tst_cmd[2]="lat dimension 0: new_lat, size = 2 (Non-coordinate dimension)";
     $tst_cmd[3]="SS_OK";
     NCO_bm::tst_run(\@tst_cmd);
     @tst_cmd=(); # really reset array.	
@@ -4546,8 +5095,8 @@ print "\n";
 #ncrename -O -d ./lat_non_existing,new_lat in_grp.nc out.nc
 # Absolute non existing absolute rename
 
+    $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%";
-    $dsc_sng="Dimensions: Optional non existing absolute rename './lat_non_existing,new_lat' to 'new_lat'";
     $tst_cmd[1]="ncrename: WARNING Dimension '/lat_non_existing' not present in ../data/in_grp.nc, skipping it.";
     $tst_cmd[2]="SS_OK";
     NCO_bm::tst_run(\@tst_cmd);
@@ -4559,9 +5108,9 @@ print "\n";
 #ncrename  -D 1 -O -v /g1/v1,new_v1 in_grp.nc out.nc
 #Absolute rename /g1/v1 to /g1/new_v1 
 
-    $tst_cmd[0]="ncrename -O $fl_fmt $nco_D_flg -v /g1/v1,new_v1 $in_pth_arg in_grp.nc %tmp_fl_00%";
-	$tst_cmd[1]="ncks -m -g g1 -v new_v1  %tmp_fl_00% | grep /g1/new_v1";
     $dsc_sng="Variables: Absolute rename '/g1/v1' to '/g1/new_v1'";
+    $tst_cmd[0]="ncrename -O $fl_fmt $nco_D_flg -v /g1/v1,new_v1 $in_pth_arg in_grp.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks -m -g g1 -v new_v1 %tmp_fl_00% | grep /g1/new_v1";
     $tst_cmd[2]="/g1/new_v1";
     $tst_cmd[3]="SS_OK";
     NCO_bm::tst_run(\@tst_cmd);
@@ -4572,9 +5121,9 @@ print "\n";
 #ncrename  -D 1 -O -v v1,new_v1 in_grp.nc out.nc
 #Relative rename v1 to new_v1 
 
-    $tst_cmd[0]="ncrename -O $fl_fmt $nco_D_flg -v v1,new_v1 $in_pth_arg in_grp.nc %tmp_fl_00%";
-	$tst_cmd[1]="ncks -m -g g1 -v new_v1  %tmp_fl_00% | grep /g1/new_v1";
     $dsc_sng="Variables: Relative rename 'v1' to 'new_v1'";
+    $tst_cmd[0]="ncrename -O $fl_fmt $nco_D_flg -v v1,new_v1 $in_pth_arg in_grp.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks -m -g g1 -v new_v1 %tmp_fl_00% | grep /g1/new_v1";
     $tst_cmd[2]="/g1/new_v1";
     $tst_cmd[3]="SS_OK";
     NCO_bm::tst_run(\@tst_cmd);
@@ -4584,9 +5133,9 @@ print "\n";
 #ncrename  -D 1 -O -v ./g1/v1,new_v1 in_grp.nc out.nc
 #Absolute rename /g1/v1 to /g1/new_v1 
 
-    $tst_cmd[0]="ncrename -O $fl_fmt $nco_D_flg -v ./g1/v1,new_v1 $in_pth_arg in_grp.nc %tmp_fl_00%";
-	$tst_cmd[1]="ncks -m -g g1 -v new_v1  %tmp_fl_00% | grep /g1/new_v1";
     $dsc_sng="Variables: Optional absolute rename '/g1/v1' to '/g1/new_v1'";
+    $tst_cmd[0]="ncrename -O $fl_fmt $nco_D_flg -v ./g1/v1,new_v1 $in_pth_arg in_grp.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks -m -g g1 -v new_v1 %tmp_fl_00% | grep /g1/new_v1";
     $tst_cmd[2]="/g1/new_v1";
     $tst_cmd[3]="SS_OK";
     NCO_bm::tst_run(\@tst_cmd);
@@ -4596,9 +5145,9 @@ print "\n";
 #ncrename  -D 1 -O -v .v1,new_v1 in_grp.nc out.nc
 #Optional Relative rename v1 to new_v1 
 
-    $tst_cmd[0]="ncrename -O $fl_fmt $nco_D_flg -v .v1,new_v1 $in_pth_arg in_grp.nc %tmp_fl_00%";
-	$tst_cmd[1]="ncks -m -g g1 -v new_v1  %tmp_fl_00% | grep /g1/new_v1";
     $dsc_sng="Variables: Optional relative rename 'v1' to 'new_v1'";
+    $tst_cmd[0]="ncrename -O $fl_fmt $nco_D_flg -v .v1,new_v1 $in_pth_arg in_grp.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks -m -g g1 -v new_v1 %tmp_fl_00% | grep /g1/new_v1";
     $tst_cmd[2]="/g1/new_v1";
     $tst_cmd[3]="SS_OK";
     NCO_bm::tst_run(\@tst_cmd);
@@ -4608,23 +5157,22 @@ print "\n";
 #ncrename  -D 1 -O -v ./g1/v1_not,new_v1 in_grp.nc out.nc
 #Optional non-existing absolute rename '/g1/v1_not'
 
-    $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.";
     $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[2]="SS_OK";
     NCO_bm::tst_run(\@tst_cmd);
     @tst_cmd=(); # really reset array.		
 
-
 #################### Groups
 
 #ncrename #18
 #ncrename -O -g g1,new_g1 in_grp.nc out.nc 
 # relative rename g1 to new_g1
 
+    $dsc_sng="Groups: Relative rename 'g1' to 'new_g1' (expect failure with netCDF < 4.3.1)";
     $tst_cmd[0]="ncrename -O $fl_fmt $nco_D_flg -g g1,new_g1 $in_pth_arg in_grp.nc %tmp_fl_00%";
-	$tst_cmd[1]="ncks -m  -g new_g1  %tmp_fl_00% | grep new_g1";
-    $dsc_sng="Groups: Relative rename 'g1' to 'new_g1'";
+    $tst_cmd[1]="ncks -m -g new_g1 %tmp_fl_00% | grep new_g1";
     $tst_cmd[2]="/new_g1";
     $tst_cmd[3]="SS_OK";
     NCO_bm::tst_run(\@tst_cmd);
@@ -4634,9 +5182,9 @@ print "\n";
 #ncrename -O -g g1g1,new_g1g1 in_grp.nc out.nc  
 #relative rename g1g1 to new_g1g1
 
+    $dsc_sng="Groups: Relative rename 'g1g1' to 'new_g1g1' (expect failure with netCDF < 4.3.1)";
     $tst_cmd[0]="ncrename -O $fl_fmt $nco_D_flg -g g1g1,new_g1g1 $in_pth_arg in_grp.nc %tmp_fl_00%";
-	$tst_cmd[1]="ncks -m  -g new_g1g1  %tmp_fl_00% | grep new_g1g1";
-    $dsc_sng="Groups: Relative rename 'g1g1' to 'new_g1g1'";
+    $tst_cmd[1]="ncks -m -g new_g1g1 %tmp_fl_00% | grep new_g1g1";
     $tst_cmd[2]="/g1/new_g1g1";
     $tst_cmd[3]="SS_OK";
     NCO_bm::tst_run(\@tst_cmd);
@@ -4646,9 +5194,9 @@ print "\n";
 #ncrename  -D 1 -O -g /g1/g1g1,new_g1g1 in_grp.nc out.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)";
     $tst_cmd[0]="ncrename -O $fl_fmt $nco_D_flg -g /g1/g1g1,new_g1g1 $in_pth_arg in_grp.nc %tmp_fl_00%";
-	$tst_cmd[1]="ncks -m  -g /g1/new_g1g1  %tmp_fl_00% | grep /g1/new_g1g1";
-    $dsc_sng="Groups: Absolute rename '/g1/g1g1' to '/g1/new_g1g1'";
+    $tst_cmd[1]="ncks -m -g /g1/new_g1g1 %tmp_fl_00% | grep /g1/new_g1g1";
     $tst_cmd[2]="/g1/new_g1g1/v1";
     $tst_cmd[3]="SS_OK";
     NCO_bm::tst_run(\@tst_cmd);
@@ -4658,17 +5206,28 @@ print "\n";
 #ncrename -O -g .gfoo,new_g1 in_grp.nc out.nc 
 # optional relative rename gfoo to new_g1 (print warning)
 
-    $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.";
     $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[2]="SS_OK";
     NCO_bm::tst_run(\@tst_cmd);
-    @tst_cmd=(); # really reset array.		
+    @tst_cmd=(); # really reset array.	
 
+	#################### Variables
 	
-} #### Group tests	
+#ncrename #22 (same as #13)
+#ncrename  -D 1 -O -v /g1/v1,/g1/new_v1 in_grp.nc out.nc
+#Absolute rename /g1/v1 to /g1/new_v1 
+
+    $dsc_sng="Variables: Absolute rename '/g1/v1' to '/g1/new_v1' (input absolute name)";
+    $tst_cmd[0]="ncrename -O $fl_fmt $nco_D_flg -v /g1/v1,/g1/new_v1 $in_pth_arg in_grp.nc %tmp_fl_00%";
+    $tst_cmd[1]="ncks -m -g g1 -v new_v1 %tmp_fl_00% | grep /g1/new_v1";
+    $tst_cmd[2]="/g1/new_v1";
+    $tst_cmd[3]="SS_OK";
+    NCO_bm::tst_run(\@tst_cmd);
+    @tst_cmd=(); # really reset array.			
 	
-    
+} #### Group tests	
     
 #print "paused - hit return to continue"; my $wait=<STDIN>;
     
diff --git a/configure b/configure
index cc98b51..92d02c5 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.3.9.
+# Generated by GNU Autoconf 2.69 for NCO netCDF Operators 4.4.2.
 #
 # 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.3.9'
-PACKAGE_STRING='NCO netCDF Operators 4.3.9'
+PACKAGE_VERSION='4.4.2'
+PACKAGE_STRING='NCO netCDF Operators 4.4.2'
 PACKAGE_BUGREPORT='nco-bugs at lists.sourceforge.net'
 PACKAGE_URL=''
 
@@ -641,7 +641,7 @@ LFLAGS
 DOC_FOLDER
 NCOXX
 NCO_CXX
-have_makeinfo
+HAVE_MAKEINFO
 PATH_TO_NCGEN
 UDUNITS2_PATH
 ENABLE_GSL_FALSE
@@ -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.3.9 to adapt to many kinds of systems.
+\`configure' configures NCO netCDF Operators 4.4.2 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.3.9:";;
+     short | recursive ) echo "Configuration of NCO netCDF Operators 4.4.2:";;
    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.3.9
+NCO netCDF Operators configure 4.4.2
 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.3.9, which was
+It was created by NCO netCDF Operators $as_me 4.4.2, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3161,9 +3161,6 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 
-# 20090421 Added for autoreconf to complete after Ubuntu Jaunty upgrade to autoconf 2.6.3
-#AC_DEFINE([AS_TR_CPP], [csz_fxm], [Description])
-
 # Begin pvmgetarch Compatibility
 # Compatibility map between pvmgetarch and GNU triplets
 # Maintained as master list of architectures on which NCO is known to work
@@ -3735,7 +3732,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='nco'
- VERSION='4.3.9'
+ VERSION='4.4.2'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -17449,7 +17446,6 @@ rm -rf conftest*
 fi
 
 
-
 echo "#################################"
 echo "#  Test for netCDF             #"
 echo "################################"
@@ -17668,7 +17664,6 @@ if test "x${enable_netcdf4}" = 'xyes'; then
     CPPFLAGS="`${NETCDF_CONFIG} --cflags` ${CPPFLAGS}";
 fi
 
-
 # ENABLE_NETCDF4 refers to presence of netCDF4-enabled library
 # ENABLE_NETCDF4 implies HAVE_NETCDF4_H
 # The converse is not true! Some distributions (e.g., Debian stable)
@@ -17689,7 +17684,6 @@ $as_echo "#define HAVE_NETCDF4_H 1" >>confdefs.h
 $as_echo "$as_me: netcdf.h contains netCDF4 definitions" >&6;}
 fi
 
-
 if (test "x${enable_netcdf4}" = 'xyes' && test "x${header_defines_nc_chunked}" = 'xyes') ; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nc_def_var_chunking in -lnetcdf" >&5
 $as_echo_n "checking for nc_def_var_chunking in -lnetcdf... " >&6; }
@@ -17744,7 +17738,6 @@ fi
 
 fi
 
-
 # OpenMP
 
   OPENMP_CFLAGS=
@@ -17827,8 +17820,6 @@ if ((test "${enable_openmp}" != 'no') && (test "${enable_netcdf4}" = 'xyes')); t
 fi
 # End OpenMP
 
-
-
 # Begin DAP support
 echo "Beginning generic tests for DAP support"
 # Store pre-DAP LIBS value to restore from later
@@ -19038,7 +19029,7 @@ test -n "$HAVE_ANTLR" || HAVE_ANTLR="no"
 
 #echo "DEBUG: HAVE_ANTLR  = ${HAVE_ANTLR}"
 
-# issue a message if the antlr library was found or not
+# Issue message if Antlr library was found
 if test "${HAVE_ANTLR}" != 'no' ; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: antlr library was found" >&5
 $as_echo "$as_me: antlr library was found" >&6;}
@@ -19047,8 +19038,6 @@ else
 $as_echo "$as_me: antlr library was not found, disabling ncap2 build" >&6;}
 fi
 
-
-
 if test "x${HAVE_ANTLR}" = 'xyes'; then
 # 20070228: Avoid CHECK_LIB on C++ libraries (requires too-complex link-test scripts)
 # AC_CHECK_LIB([antlr],[ASTFactory],enable_ncoxx=yes,enable_ncoxx=no,[-lstdc++])
@@ -19532,20 +19521,17 @@ _ACEOF
 fi
 
     if test "${UDUNITS2_PATH}"; then
-		# Add ${UDUNITS2_PATH}/lib to search path if present
-		nco_udunits2_xml=${UDUNITS2_PATH}/share/udunits/udunits2.xml
-		LDFLAGS="${LDFLAGS} -L${UDUNITS2_PATH}/lib"
-		CPPFLAGS="${CPPFLAGS} -I${UDUNITS2_PATH}/include"
+	# Add ${UDUNITS2_PATH}/lib to search path if present
+	nco_udunits2_xml=${UDUNITS2_PATH}/share/udunits/udunits2.xml
+	LDFLAGS="${LDFLAGS} -L${UDUNITS2_PATH}/lib"
+	CPPFLAGS="${CPPFLAGS} -I${UDUNITS2_PATH}/include"
     elif test "${NETCDF_INC}"; then
-		nco_udunits2_xml="${NETCDF_INC}/../share/udunits/udunits2.xml"
-
+	nco_udunits2_xml="${NETCDF_INC}/../share/udunits/udunits2.xml"
     else
-
-		# NO UDUNITS2_PATH section
-
-		#Fedora 1.7 has /usr/include/udunits2/udunits2.h
-		#add this path to CPPFLAGS if it exists, otherwise do nothing
-		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/include/udunits2/udunits2.h" >&5
+	# NO UDUNITS2_PATH section
+	#Fedora 1.7 has /usr/include/udunits2/udunits2.h
+	#add this path to CPPFLAGS if it exists, otherwise do nothing
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/include/udunits2/udunits2.h" >&5
 $as_echo_n "checking for /usr/include/udunits2/udunits2.h... " >&6; }
 if ${ac_cv_file__usr_include_udunits2_udunits2_h+:} false; then :
   $as_echo_n "(cached) " >&6
@@ -19564,11 +19550,11 @@ if test "x$ac_cv_file__usr_include_udunits2_udunits2_h" = xyes; then :
   CPPFLAGS="$CPPFLAGS -I/usr/include/udunits2"
 fi
 
-		#Ubuntu
-		#/usr/lib/x86_64-linux-gnu/libudunits2.a
-		#/usr/lib/i386-linux-gnu/libudunits2.a
-		#/usr/include/udunits2.h
-		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/include/udunits2.h" >&5
+	#Ubuntu
+	#/usr/lib/x86_64-linux-gnu/libudunits2.a
+	#/usr/lib/i386-linux-gnu/libudunits2.a
+	#/usr/include/udunits2.h
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/include/udunits2.h" >&5
 $as_echo_n "checking for /usr/include/udunits2.h... " >&6; }
 if ${ac_cv_file__usr_include_udunits2_h+:} false; then :
   $as_echo_n "(cached) " >&6
@@ -19587,7 +19573,7 @@ if test "x$ac_cv_file__usr_include_udunits2_h" = xyes; then :
   CPPFLAGS="$CPPFLAGS -I/usr/include"
 fi
 
-		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/lib/x86_64-linux-gnu/libudunits2.a" >&5
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/lib/x86_64-linux-gnu/libudunits2.a" >&5
 $as_echo_n "checking for /usr/lib/x86_64-linux-gnu/libudunits2.a... " >&6; }
 if ${ac_cv_file__usr_lib_x86_64_linux_gnu_libudunits2_a+:} false; then :
   $as_echo_n "(cached) " >&6
@@ -19606,7 +19592,7 @@ if test "x$ac_cv_file__usr_lib_x86_64_linux_gnu_libudunits2_a" = xyes; then :
   LDFLAGS="$LDFLAGS -L/usr/lib/x86_64-linux-gnu"
 fi
 
-		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/lib/i386-linux-gnu/libudunits2.a" >&5
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/lib/i386-linux-gnu/libudunits2.a" >&5
 $as_echo_n "checking for /usr/lib/i386-linux-gnu/libudunits2.a... " >&6; }
 if ${ac_cv_file__usr_lib_i386_linux_gnu_libudunits2_a+:} false; then :
   $as_echo_n "(cached) " >&6
@@ -19625,16 +19611,16 @@ if test "x$ac_cv_file__usr_lib_i386_linux_gnu_libudunits2_a" = xyes; then :
   LDFLAGS="$LDFLAGS -L/usr/lib/i386-linux-gnu"
 fi
 
-		#Mac OSX MacPorts packages
-		#sudo port install libdap
-		#sudo port install gsl
-		#sudo port install antlr
-		#sudo port install udunits2
-		#sudo port install netcdf
-		#installs to /opt/local/include/udunits2/udunits2.h
-		#/opt/local/share/udunits/udunits2.xml
-		#add this path to CPPFLAGS if it exists, otherwise do nothing
-		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for /opt/local/include/udunits2/udunits2.h" >&5
+	#Mac OSX MacPorts packages
+	#sudo port install libdap
+	#sudo port install gsl
+	#sudo port install antlr
+	#sudo port install udunits2
+	#sudo port install netcdf
+	#installs to /opt/local/include/udunits2/udunits2.h
+	#/opt/local/share/udunits/udunits2.xml
+	#add this path to CPPFLAGS if it exists, otherwise do nothing
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for /opt/local/include/udunits2/udunits2.h" >&5
 $as_echo_n "checking for /opt/local/include/udunits2/udunits2.h... " >&6; }
 if ${ac_cv_file__opt_local_include_udunits2_udunits2_h+:} false; then :
   $as_echo_n "(cached) " >&6
@@ -19653,8 +19639,8 @@ if test "x$ac_cv_file__opt_local_include_udunits2_udunits2_h" = xyes; then :
   CPPFLAGS="$CPPFLAGS -I/opt/local/include/udunits2"
 fi
 
-		#/opt/local/lib/libudunits2.a
-		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for /opt/local/lib/libudunits2.a" >&5
+	#/opt/local/lib/libudunits2.a
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for /opt/local/lib/libudunits2.a" >&5
 $as_echo_n "checking for /opt/local/lib/libudunits2.a... " >&6; }
 if ${ac_cv_file__opt_local_lib_libudunits2_a+:} false; then :
   $as_echo_n "(cached) " >&6
@@ -19673,21 +19659,20 @@ if test "x$ac_cv_file__opt_local_lib_libudunits2_a" = xyes; then :
   LDFLAGS="$LDFLAGS -L/opt/local/lib/"
 fi
 
-
-		# 20101011 Debian installs udunits2.xml in /usr/share/xml/udunits/udunits2
-		# NB: 20100729 udunits2.xml location seems to have changed from
-		# /usr/local/share/udunits2.xml (in Fedora Core 6) to /usr/local/share/udunits/udunits2.xml
-		# Not sure of location in more recent Fedora systems...
-		# Updating patch from Fedora Core 6 nco.spec:
-		for udunits2_data_file in /usr/share/xml/udunits/udunits2/udunits2.xml /usr/local/share/udunits/udunits2.xml /usr/local/share/udunits2.xml /share/udunits2.xml /usr/share/udunits/udunits2.xml; do
+	# 20101011 Debian installs udunits2.xml in /usr/share/xml/udunits/udunits2
+	# NB: 20100729 udunits2.xml location seems to have changed from
+	# /usr/local/share/udunits2.xml (in Fedora Core 6) to /usr/local/share/udunits/udunits2.xml
+	# Not sure of location in more recent Fedora systems...
+	# Updating patch from Fedora Core 6 nco.spec:
+	for udunits2_data_file in /usr/share/xml/udunits/udunits2/udunits2.xml /usr/local/share/udunits/udunits2.xml /usr/local/share/udunits2.xml /share/udunits2.xml /usr/share/udunits/udunits2.xml; do
 	    if test -e "$udunits2_data_file" ; then
 		nco_udunits2_xml="$udunits2_data_file"
 	    fi
-		done
+	done
 
-	fi # end NO UDUNITS2_PATH section
+    fi # end NO UDUNITS2_PATH section
 
-	# Warn if udunits2.xml is not found, but continue anyway since builder may be savvy enough to add it when building packages (e.g., .debs)
+# Warn if udunits2.xml is not found, but continue anyway since builder may be savvy enough to add it when building packages (e.g., .debs)
     as_ac_File=`$as_echo "ac_cv_file_$nco_udunits2_xml" | $as_tr_sh`
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $nco_udunits2_xml" >&5
 $as_echo_n "checking for $nco_udunits2_xml... " >&6; }
@@ -19885,7 +19870,7 @@ if test "x${GCC_OR_GXX}" = 'xyes' ; then
 # 20070310: Change to no-shadow so ncoLexer.cpp compiles
 
     GCC_CMD_ARGS='-std=c99 -pedantic -D_BSD_SOURCE -D_POSIX_SOURCE'
-    GCC_BASE_FLAGS='-Wall -Wunused -W -Wshadow -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -fno-common -g -O4'
+    GCC_BASE_FLAGS='-Wall -Wuninitialized -Wunused -W -Wshadow -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -fno-common -g -O4'
     GCC_BASE_FLAGS="${GCC_BASE_FLAGS} ${OPENMP_CFLAGS}"
     GCC_CFLAGS="${GCC_BASE_FLAGS} -Wmissing-prototypes"
     GCC_CXXFLAGS="${GCC_BASE_FLAGS}"
@@ -19897,14 +19882,18 @@ if test "x${GCC_OR_GXX}" = 'xyes' ; then
 # -Werror: Consider warnings as errors
 # -W: Extra warnings, including missing return values, comparison of signed with unsigned
 # -Wall: Warn about common programming problems
+# -Wcast-align: Warn if casting pointer to type of different size
+# -Wcast-qual: Warn if const qualifier removed from pointer
+# -Wmaybe-uninitialized: Warn on uninitialized variables. GCC has many false negatives, clang is better? Available on GCC 4.8.2+. Not available on GCC 4.6.3-.
 # -Wmissing-prototypes: Warn if missing prototypes (C only, not C++)
-# -Wshadow: Warn if local variable has same name as other local variable
 # -Wpointer-arith: Warn if pointer arithmetic on types without size, e.g., void
-# -Wcast-qual: Warn if const qualifier removed from pointer
-# -Wcast-align: Warn if casting pointer to type of different size
+# -Wshadow: Warn if local variable has same name as other local variable
+# -Wsometimes-uninitialized: LLVM/clang uses this but GCC does not
+# -Wuninitialized: Warn on uninitialized variables. GCC has many false negatives, clang is better?
 # -Wwrite-strings: Apply const-qualifier to string constants, die if overwritten
 # -fno-common: Prevent global variables from being simultaneously defined in different files
 # -g: Put debugging symbols in executable
+# -pg: Enable profiling, generate gmon.out output files (also needed by linker)
 # -O4: Turn on optimization so uninitialized variables are flagged
 # Compilation flags recommended by GSL that I do not like and do not use:
 # -ansi: Support only strict ANSI C. Equivalent to -std=c89, conflicts with -std=c99
@@ -19934,7 +19923,7 @@ $as_echo "#define ENABLE_DEBUG_CUSTOM 1" >>confdefs.h
 
     if (test "x${GCC}" = 'xyes'); then
 	CC="${CC} ${GCC_CMD_ARGS}"
-        GCC_CUSTOM_FLAGS='-g -Wall -Wunused -W -Wshadow -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Wmissing-prototypes -fno-common'
+        GCC_CUSTOM_FLAGS='-g -Wall -Wuninitialized -Wunused -W -Wshadow -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Wmissing-prototypes -fno-common'
 	CFLAGS="${GCC_CUSTOM_FLAGS} ${OPENMP_CFLAGS}"
 	if (test "x${CXX}" = 'xg++' && test "x${GXX}" = 'xyes'); then
 	    CXXFLAGS="${GCC_CUSTOM_FLAGS}"
@@ -20347,20 +20336,18 @@ $as_echo "#define ENABLE_STATIC 1" >>confdefs.h
 fi
 # End Static
 
-# 07/05/2012 Test for makeinfo; if not present, do not build doc/Makefile
-# Note: debian install with 'sudo apt-get install texinfo'
-# AC_CHECK_PROGS (variable, progs-to-check-for, [value-if-not-found], [path]
-for ac_prog in makeinfo
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
+# 20120705 Test for makeinfo; if not present, do not build doc/Makefile
+# Note: Debian install with 'sudo apt-get install texinfo'
+# AC_CHECK_PROGS (variable, program-to-check-for, [value-if-not-found], [path]
+# Extract the first word of "makeinfo", so it can be a program name with args.
+set dummy makeinfo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_have_makeinfo+:} false; then :
+if ${ac_cv_prog_HAVE_MAKEINFO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  if test -n "$have_makeinfo"; then
-  ac_cv_prog_have_makeinfo="$have_makeinfo" # Let the user override the test.
+  if test -n "$HAVE_MAKEINFO"; then
+  ac_cv_prog_HAVE_MAKEINFO="$HAVE_MAKEINFO" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in ${PATH}
@@ -20369,7 +20356,7 @@ do
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_have_makeinfo="$ac_prog"
+    ac_cv_prog_HAVE_MAKEINFO="yes"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -20377,24 +20364,19 @@ done
   done
 IFS=$as_save_IFS
 
+  test -z "$ac_cv_prog_HAVE_MAKEINFO" && ac_cv_prog_HAVE_MAKEINFO="no"
 fi
 fi
-have_makeinfo=$ac_cv_prog_have_makeinfo
-if test -n "$have_makeinfo"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_makeinfo" >&5
-$as_echo "$have_makeinfo" >&6; }
+HAVE_MAKEINFO=$ac_cv_prog_HAVE_MAKEINFO
+if test -n "$HAVE_MAKEINFO"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HAVE_MAKEINFO" >&5
+$as_echo "$HAVE_MAKEINFO" >&6; }
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
 
-  test -n "$have_makeinfo" && break
-done
-test -n "$have_makeinfo" || have_makeinfo="no"
-
-
-#echo "DEBUG: have_makeinfo  = ${have_makeinfo}"
 
 # Begin config
 #AC_CONFIG_FILES([Makefile data/Makefile src/Makefile src/nco/Makefile  man/Makefile doc/Makefile])
@@ -20423,8 +20405,8 @@ fi
 
 
 
-#Conditional build of doc/Makefile
-if test "${have_makeinfo}" != 'no' ; then
+# Conditional build of doc/Makefile
+if test "${HAVE_MAKEINFO}" = 'yes' ; then
     ac_config_files="$ac_config_files doc/Makefile"
 
     DOC_FOLDER="doc"
@@ -20997,7 +20979,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.3.9, which was
+This file was extended by NCO netCDF Operators $as_me 4.4.2, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -21063,7 +21045,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.3.9
+NCO netCDF Operators config.status 4.4.2
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
@@ -23112,7 +23094,7 @@ echo "CPP.................. ${CPP}"
 echo "CPPFLAGS............. ${CPPFLAGS}"
 echo "CXX.................. ${CXX}"
 echo "CXXFLAGS............. ${CXXFLAGS}"
-echo "OPENMP_CFLAGS.........${OPENMP_CFLAGS}"
+echo "OPENMP_CFLAGS........ ${OPENMP_CFLAGS}"
 echo "ENABLE_DAP_NETCDF.... ${enable_dap_netcdf}"
 echo "ENABLE_DAP........... ${enable_dap}"
 echo "ENABLE_GSL........... ${enable_gsl}"
@@ -23123,6 +23105,7 @@ echo "ENABLE_UDUNITS....... ${enable_udunits}"
 echo "ENABLE_UDUNITS2...... ${enable_udunits2}"
 echo "GSL_ROOT............. ${GSL_ROOT}"
 echo "HAVE_ANTLR........... ${HAVE_ANTLR}"
+echo "HAVE_MAKEINFO........ ${HAVE_MAKEINFO}"
 echo "HOST................. ${HOST}"
 echo "host................. ${host}"
 echo "HOSTNAME............. ${HOSTNAME}"
diff --git a/configure.ac b/configure.ac
index 218fb11..8d3eef4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,9 +1,9 @@
-# $Header: /cvsroot/nco/nco/configure.ac,v 1.24 2013/12/02 01:12:09 zender Exp $ -*-Shell-script-*-
+# $Header: /cvsroot/nco/nco/configure.ac,v 1.39 2014/02/12 15:59:11 zender Exp $ -*-Shell-script-*-
 
 # Purpose: Template autoconf uses to generate NCO configure script
 # Newer convention names this file configure.ac, rather than configure.in
 
-# Copyright (C) 2003--2013 Charlie Zender
+# Copyright (C) 2003--2014 Charlie Zender
 # License: GNU General Public License (GPL) Version 3
 # See http://www.gnu.org/copyleft/gpl.html for full license text
 
@@ -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.3.9],[nco-bugs at lists.sourceforge.net],[nco])
+AC_INIT([NCO netCDF Operators],[4.4.2],[nco-bugs at lists.sourceforge.net],[nco])
 
 # Print GNU copyright in configure script
 AC_COPYRIGHT
@@ -102,9 +102,6 @@ AC_DEFINE_UNQUOTED(HOST,${nco_hostname},Hostname)
 AC_DEFINE_UNQUOTED(HOSTNAME,${nco_hostname},Hostname alias)
 AC_DEFINE_UNQUOTED(GNU_TRP,${build},Autoconf-generated architecture \"triplet\")
 
-# 20090421 Added for autoreconf to complete after Ubuntu Jaunty upgrade to autoconf 2.6.3
-#AC_DEFINE([AS_TR_CPP], [csz_fxm], [Description])
-
 # Begin pvmgetarch Compatibility
 # Compatibility map between pvmgetarch and GNU triplets
 # Maintained as master list of architectures on which NCO is known to work
@@ -218,7 +215,6 @@ AC_CXX_HAVE_VALARRAY
 # Arrange for large file support (LFS)
 AC_SYS_LARGEFILE
 
-
 echo "#################################"
 echo "#  Test for netCDF             #"
 echo "################################"
@@ -291,7 +287,6 @@ if test "x${enable_netcdf4}" = 'xyes'; then
     CPPFLAGS="`${NETCDF_CONFIG} --cflags` ${CPPFLAGS}";
 fi
 
-
 # ENABLE_NETCDF4 refers to presence of netCDF4-enabled library
 # ENABLE_NETCDF4 implies HAVE_NETCDF4_H
 # The converse is not true! Some distributions (e.g., Debian stable)
@@ -302,7 +297,6 @@ if test "x${header_defines_nc_chunked}" = 'xyes' ; then
     AC_MSG_NOTICE([netcdf.h contains netCDF4 definitions])
 fi
 
-
 if (test "x${enable_netcdf4}" = 'xyes' && test "x${header_defines_nc_chunked}" = 'xyes') ; then
     AC_CHECK_LIB([netcdf],[nc_def_var_chunking],[LIBS="-lnetcdf ${LIBS}"
 	    AC_DEFINE([ENABLE_NETCDF4],[1],[Define to 1 if libnetcdf.a contains netCDF4 functions])
@@ -312,7 +306,6 @@ if (test "x${enable_netcdf4}" = 'xyes' && test "x${header_defines_nc_chunked}" =
 	    ])
 fi
 
-
 # OpenMP
 AC_OPENMP
 AC_SUBST(OPENMP_CFLAGS)
@@ -324,8 +317,6 @@ if ((test "${enable_openmp}" != 'no') && (test "${enable_netcdf4}" = 'xyes')); t
 fi
 # End OpenMP
 
-
-
 # Begin DAP support
 echo "Beginning generic tests for DAP support"
 # Store pre-DAP LIBS value to restore from later
@@ -458,15 +449,13 @@ AC_CHECK_PROGS(HAVE_ANTLR,[runantlr antlr],no,${PATH},[])
 
 #echo "DEBUG: HAVE_ANTLR  = ${HAVE_ANTLR}"
 
-# issue a message if the antlr library was found or not
+# Issue message if Antlr library was found
 if test "${HAVE_ANTLR}" != 'no' ; then
     AC_MSG_NOTICE([antlr library was found])
 else
     AC_MSG_NOTICE([antlr library was not found, disabling ncap2 build])
 fi
 
-
-
 if test "x${HAVE_ANTLR}" = 'xyes'; then
 # 20070228: Avoid CHECK_LIB on C++ libraries (requires too-complex link-test scripts)
 # AC_CHECK_LIB([antlr],[ASTFactory],enable_ncoxx=yes,enable_ncoxx=no,[-lstdc++])
@@ -658,54 +647,50 @@ fi # End test for UDUnits duplication
 if test "${enable_udunits2}" != 'no'; then
     AC_CHECK_LIB([expat],[XML_ParserCreate],,)
     if test "${UDUNITS2_PATH}"; then
-		# Add ${UDUNITS2_PATH}/lib to search path if present
-		nco_udunits2_xml=${UDUNITS2_PATH}/share/udunits/udunits2.xml
-		LDFLAGS="${LDFLAGS} -L${UDUNITS2_PATH}/lib"
-		CPPFLAGS="${CPPFLAGS} -I${UDUNITS2_PATH}/include"
+	# Add ${UDUNITS2_PATH}/lib to search path if present
+	nco_udunits2_xml=${UDUNITS2_PATH}/share/udunits/udunits2.xml
+	LDFLAGS="${LDFLAGS} -L${UDUNITS2_PATH}/lib"
+	CPPFLAGS="${CPPFLAGS} -I${UDUNITS2_PATH}/include"
     elif test "${NETCDF_INC}"; then
-		nco_udunits2_xml="${NETCDF_INC}/../share/udunits/udunits2.xml"
-
+	nco_udunits2_xml="${NETCDF_INC}/../share/udunits/udunits2.xml"
     else
-
-		# NO UDUNITS2_PATH section
-
-		#Fedora 1.7 has /usr/include/udunits2/udunits2.h
-		#add this path to CPPFLAGS if it exists, otherwise do nothing
-		AC_CHECK_FILE([/usr/include/udunits2/udunits2.h], [CPPFLAGS="$CPPFLAGS -I/usr/include/udunits2"], [])
-		#Ubuntu
-		#/usr/lib/x86_64-linux-gnu/libudunits2.a
-		#/usr/lib/i386-linux-gnu/libudunits2.a
-		#/usr/include/udunits2.h
-		AC_CHECK_FILE([/usr/include/udunits2.h], [CPPFLAGS="$CPPFLAGS -I/usr/include"], [])
-		AC_CHECK_FILE([/usr/lib/x86_64-linux-gnu/libudunits2.a], [LDFLAGS="$LDFLAGS -L/usr/lib/x86_64-linux-gnu"], [])
-		AC_CHECK_FILE([/usr/lib/i386-linux-gnu/libudunits2.a], [LDFLAGS="$LDFLAGS -L/usr/lib/i386-linux-gnu"], [])
-		#Mac OSX MacPorts packages
-		#sudo port install libdap
-		#sudo port install gsl
-		#sudo port install antlr
-		#sudo port install udunits2
-		#sudo port install netcdf
-		#installs to /opt/local/include/udunits2/udunits2.h
-		#/opt/local/share/udunits/udunits2.xml
-		#add this path to CPPFLAGS if it exists, otherwise do nothing
-		AC_CHECK_FILE([/opt/local/include/udunits2/udunits2.h], [CPPFLAGS="$CPPFLAGS -I/opt/local/include/udunits2"], [])
-		#/opt/local/lib/libudunits2.a
-		AC_CHECK_FILE([/opt/local/lib/libudunits2.a], [LDFLAGS="$LDFLAGS -L/opt/local/lib/"], [])
-
-		# 20101011 Debian installs udunits2.xml in /usr/share/xml/udunits/udunits2
-		# NB: 20100729 udunits2.xml location seems to have changed from 
-		# /usr/local/share/udunits2.xml (in Fedora Core 6) to /usr/local/share/udunits/udunits2.xml
-		# Not sure of location in more recent Fedora systems...
-		# Updating patch from Fedora Core 6 nco.spec:
-		for udunits2_data_file in /usr/share/xml/udunits/udunits2/udunits2.xml /usr/local/share/udunits/udunits2.xml /usr/local/share/udunits2.xml /share/udunits2.xml /usr/share/udunits/udunits2.xml; do
+	# NO UDUNITS2_PATH section
+	#Fedora 1.7 has /usr/include/udunits2/udunits2.h
+	#add this path to CPPFLAGS if it exists, otherwise do nothing
+	AC_CHECK_FILE([/usr/include/udunits2/udunits2.h], [CPPFLAGS="$CPPFLAGS -I/usr/include/udunits2"], [])
+	#Ubuntu
+	#/usr/lib/x86_64-linux-gnu/libudunits2.a
+	#/usr/lib/i386-linux-gnu/libudunits2.a
+	#/usr/include/udunits2.h
+	AC_CHECK_FILE([/usr/include/udunits2.h], [CPPFLAGS="$CPPFLAGS -I/usr/include"], [])
+	AC_CHECK_FILE([/usr/lib/x86_64-linux-gnu/libudunits2.a], [LDFLAGS="$LDFLAGS -L/usr/lib/x86_64-linux-gnu"], [])
+	AC_CHECK_FILE([/usr/lib/i386-linux-gnu/libudunits2.a], [LDFLAGS="$LDFLAGS -L/usr/lib/i386-linux-gnu"], [])
+	#Mac OSX MacPorts packages
+	#sudo port install libdap
+	#sudo port install gsl
+	#sudo port install antlr
+	#sudo port install udunits2
+	#sudo port install netcdf
+	#installs to /opt/local/include/udunits2/udunits2.h
+	#/opt/local/share/udunits/udunits2.xml
+	#add this path to CPPFLAGS if it exists, otherwise do nothing
+	AC_CHECK_FILE([/opt/local/include/udunits2/udunits2.h], [CPPFLAGS="$CPPFLAGS -I/opt/local/include/udunits2"], [])
+	#/opt/local/lib/libudunits2.a
+	AC_CHECK_FILE([/opt/local/lib/libudunits2.a], [LDFLAGS="$LDFLAGS -L/opt/local/lib/"], [])
+	# 20101011 Debian installs udunits2.xml in /usr/share/xml/udunits/udunits2
+	# NB: 20100729 udunits2.xml location seems to have changed from 
+	# /usr/local/share/udunits2.xml (in Fedora Core 6) to /usr/local/share/udunits/udunits2.xml
+	# Not sure of location in more recent Fedora systems...
+	# Updating patch from Fedora Core 6 nco.spec:
+	for udunits2_data_file in /usr/share/xml/udunits/udunits2/udunits2.xml /usr/local/share/udunits/udunits2.xml /usr/local/share/udunits2.xml /share/udunits2.xml /usr/share/udunits/udunits2.xml; do
 	    if test -e "$udunits2_data_file" ; then
 		nco_udunits2_xml="$udunits2_data_file"
 	    fi
-		done
+	done
 
-	fi # end NO UDUNITS2_PATH section
+    fi # end NO UDUNITS2_PATH section
 
-	# Warn if udunits2.xml is not found, but continue anyway since builder may be savvy enough to add it when building packages (e.g., .debs)
+# Warn if udunits2.xml is not found, but continue anyway since builder may be savvy enough to add it when building packages (e.g., .debs)
     AC_CHECK_FILE([$nco_udunits2_xml],,AC_WARN([file $nco_udunits2_xml was not found but will still attempt to build NCO with UDUnits2 support.]))
 	# Use DEFINE_UNQUOTED for quoted string so quotes get correctly merged into source file
     AC_DEFINE_UNQUOTED([UDUNITS2_PATH],["$nco_udunits2_xml"],[Location of UDUnits2 data file])
@@ -791,7 +776,7 @@ if test "x${GCC_OR_GXX}" = 'xyes' ; then
 # 20070310: Change to no-shadow so ncoLexer.cpp compiles
 
     GCC_CMD_ARGS='-std=c99 -pedantic -D_BSD_SOURCE -D_POSIX_SOURCE'
-    GCC_BASE_FLAGS='-Wall -Wunused -W -Wshadow -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -fno-common -g -O4'
+    GCC_BASE_FLAGS='-Wall -Wuninitialized -Wunused -W -Wshadow -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -fno-common -g -O4'
     GCC_BASE_FLAGS="${GCC_BASE_FLAGS} ${OPENMP_CFLAGS}"
     GCC_CFLAGS="${GCC_BASE_FLAGS} -Wmissing-prototypes"
     GCC_CXXFLAGS="${GCC_BASE_FLAGS}"
@@ -803,14 +788,18 @@ if test "x${GCC_OR_GXX}" = 'xyes' ; then
 # -Werror: Consider warnings as errors
 # -W: Extra warnings, including missing return values, comparison of signed with unsigned
 # -Wall: Warn about common programming problems
+# -Wcast-align: Warn if casting pointer to type of different size
+# -Wcast-qual: Warn if const qualifier removed from pointer
+# -Wmaybe-uninitialized: Warn on uninitialized variables. GCC has many false negatives, clang is better? Available on GCC 4.8.2+. Not available on GCC 4.6.3-.
 # -Wmissing-prototypes: Warn if missing prototypes (C only, not C++)
-# -Wshadow: Warn if local variable has same name as other local variable
 # -Wpointer-arith: Warn if pointer arithmetic on types without size, e.g., void
-# -Wcast-qual: Warn if const qualifier removed from pointer
-# -Wcast-align: Warn if casting pointer to type of different size
+# -Wshadow: Warn if local variable has same name as other local variable
+# -Wsometimes-uninitialized: LLVM/clang uses this but GCC does not
+# -Wuninitialized: Warn on uninitialized variables. GCC has many false negatives, clang is better? 
 # -Wwrite-strings: Apply const-qualifier to string constants, die if overwritten
 # -fno-common: Prevent global variables from being simultaneously defined in different files
 # -g: Put debugging symbols in executable
+# -pg: Enable profiling, generate gmon.out output files (also needed by linker)
 # -O4: Turn on optimization so uninitialized variables are flagged
 # Compilation flags recommended by GSL that I do not like and do not use:
 # -ansi: Support only strict ANSI C. Equivalent to -std=c89, conflicts with -std=c99
@@ -832,7 +821,7 @@ if test "${enable_debug_custom}" = 'yes'; then
     AC_DEFINE(ENABLE_DEBUG_CUSTOM,1,[Custom debugging: Pedantic, bounds checking (slowest execution)])
     if (test "x${GCC}" = 'xyes'); then
 	CC="${CC} ${GCC_CMD_ARGS}"
-        GCC_CUSTOM_FLAGS='-g -Wall -Wunused -W -Wshadow -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Wmissing-prototypes -fno-common'
+        GCC_CUSTOM_FLAGS='-g -Wall -Wuninitialized -Wunused -W -Wshadow -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Wmissing-prototypes -fno-common'
 	CFLAGS="${GCC_CUSTOM_FLAGS} ${OPENMP_CFLAGS}"
 	if (test "x${CXX}" = 'xg++' && test "x${GXX}" = 'xyes'); then
 	    CXXFLAGS="${GCC_CUSTOM_FLAGS}"
@@ -1103,12 +1092,10 @@ if test "${enable_static}" = 'yes'; then
 fi
 # End Static
 
-# 07/05/2012 Test for makeinfo; if not present, do not build doc/Makefile
-# Note: debian install with 'sudo apt-get install texinfo'
-# AC_CHECK_PROGS (variable, progs-to-check-for, [value-if-not-found], [path]
-AC_CHECK_PROGS(have_makeinfo,[makeinfo],no,${PATH},[]) 
-
-#echo "DEBUG: have_makeinfo  = ${have_makeinfo}"
+# 20120705 Test for makeinfo; if not present, do not build doc/Makefile
+# Note: Debian install with 'sudo apt-get install texinfo'
+# AC_CHECK_PROGS (variable, program-to-check-for, [value-if-not-found], [path]
+AC_CHECK_PROG(HAVE_MAKEINFO,makeinfo,yes,no,${PATH}) 
 
 # Begin config
 #AC_CONFIG_FILES([Makefile data/Makefile src/Makefile src/nco/Makefile  man/Makefile doc/Makefile])
@@ -1134,8 +1121,8 @@ fi
 
 AC_SUBST(NCOXX)
 
-#Conditional build of doc/Makefile
-if test "${have_makeinfo}" != 'no' ; then
+# Conditional build of doc/Makefile
+if test "${HAVE_MAKEINFO}" = 'yes' ; then
     AC_CONFIG_FILES(doc/Makefile)
     DOC_FOLDER="doc"
 else
@@ -1166,7 +1153,7 @@ echo "CPP.................. ${CPP}"
 echo "CPPFLAGS............. ${CPPFLAGS}"
 echo "CXX.................. ${CXX}"
 echo "CXXFLAGS............. ${CXXFLAGS}"
-echo "OPENMP_CFLAGS.........${OPENMP_CFLAGS}"
+echo "OPENMP_CFLAGS........ ${OPENMP_CFLAGS}"
 echo "ENABLE_DAP_NETCDF.... ${enable_dap_netcdf}"
 echo "ENABLE_DAP........... ${enable_dap}"
 echo "ENABLE_GSL........... ${enable_gsl}"
@@ -1177,6 +1164,7 @@ echo "ENABLE_UDUNITS....... ${enable_udunits}"
 echo "ENABLE_UDUNITS2...... ${enable_udunits2}"
 echo "GSL_ROOT............. ${GSL_ROOT}"
 echo "HAVE_ANTLR........... ${HAVE_ANTLR}"  
+echo "HAVE_MAKEINFO........ ${HAVE_MAKEINFO}"  
 echo "HOST................. ${HOST}"
 echo "host................. ${host}"
 echo "HOSTNAME............. ${HOSTNAME}"
diff --git a/configure.eg b/configure.eg
index 4b2a18d..858d8e2 100644
--- a/configure.eg
+++ b/configure.eg
@@ -1,4 +1,4 @@
-$Header: /cvsroot/nco/nco/configure.eg,v 1.167 2013/07/25 04:43:28 zender Exp $ -*-Fundamental-*-
+$Header: /cvsroot/nco/nco/configure.eg,v 1.168 2014/02/07 18:08:12 zender Exp $ -*-Fundamental-*-
 
 Purpose(s):
 Track status of autobuild features for NCO
@@ -445,6 +445,17 @@ make check >> nco.make.${GNU_TRP}.foo 2>&1
 make install >> nco.make.${GNU_TRP}.foo 2>&1
 scp nco.configure.${GNU_TRP}.foo nco.config.log.${GNU_TRP}.foo nco.libtool.${GNU_TRP}.foo nco.make.${GNU_TRP}.foo dust.ess.uci.edu:/var/www/html/nco/rgr
 
+# gcc/g++ Zender uses this debug NCO with pre-built netCDF binaries in /usr
+export GNU_TRP=`~/nco/autobld/config.guess`
+cd ~/nco;/bin/rm -f *.${GNU_TRP}.foo;make distclean
+CC='gcc' CFLAGS='' CXX='g++' CXXFLAGS='' NETCDF_INC='/usr/include' NETCDF_LIB='/usr/lib' ./configure --enable-debug-custom --prefix=${HOME} --bindir=${MY_BIN_DIR} --datadir=${HOME}/nco/data --libdir=${MY_LIB_DIR} --mandir=${HOME}/nco/man > nco.configure.${GNU_TRP}.foo 2>&1
+/bin/cp -f config.log nco.config.log.${GNU_TRP}.foo
+/bin/cp -f libtool nco.libtool.${GNU_TRP}.foo
+make clean;make > nco.make.${GNU_TRP}.foo 2>&1
+make check >> nco.make.${GNU_TRP}.foo 2>&1
+make install >> nco.make.${GNU_TRP}.foo 2>&1
+scp nco.configure.${GNU_TRP}.foo nco.config.log.${GNU_TRP}.foo nco.libtool.${GNU_TRP}.foo nco.make.${GNU_TRP}.foo dust.ess.uci.edu:/var/www/html/nco/rgr
+
 # g++/g++ Zender uses this to compile NCO with _g++_ (not recommended for normal use)
 export GNU_TRP=`~/nco/autobld/config.guess`
 cd ~/nco;/bin/rm -f *.${GNU_TRP}.foo;make distclean
diff --git a/data/Makefile.am b/data/Makefile.am
index 1e0188c..ede1257 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -1,8 +1,8 @@
-# $Header: /cvsroot/nco/nco/data/Makefile.am,v 1.27 2013/11/21 04:31:00 pvicente Exp $ -*-makefile-*-
+# $Header: /cvsroot/nco/nco/data/Makefile.am,v 1.29 2014/02/20 16:43:22 zender Exp $ -*-makefile-*-
 
 test_data = big.nc in.nc in_rec_zero.nc
 
-test_data_netCDF4 = in_grp.nc in_grp_1.nc in_grp_2.nc in_grp_3.nc cmip5.nc obs.nc mdl.nc mdl2.nc
+test_data_netCDF4 = in_grp.nc in_grp_1.nc in_grp_2.nc in_grp_3.nc cmip5.nc obs.nc mdl.nc mdl2.nc hdn.nc
 
 # netCDF build rules
 %.nc : %.cdl
@@ -29,6 +29,12 @@ in_grp_3.nc : in_grp_3.cdl
 cmip5.nc : cmip5.cdl
 	- at PATH_TO_NCGEN@ -k netCDF-4 -o $@ $< 
 
+dsm.nc : dsm.cdl
+	- at PATH_TO_NCGEN@ -k netCDF-4 -o $@ $< 
+
+hdn.nc : hdn.cdl
+	- at PATH_TO_NCGEN@ -k netCDF-4 -o $@ $< 
+
 obs.nc : obs.cdl
 	- at PATH_TO_NCGEN@ -k netCDF-4 -o $@ $< 
 
@@ -40,7 +46,7 @@ mdl2.nc : mdl2.cdl
 
 all: ${test_data} ${test_data_netCDF4}
 
-EXTRA_DIST = big.cdl in.cdl in_grp.cdl in_grp_1.cdl in_grp_2.cdl in_grp_3.cdl in_1.cdl in_2.cdl cmip5.cdl obs.cdl mdl.cdl buggy.cdl in_rec_zero.cdl ncap.in ncap.in2 ncap2.in tst.nco
+EXTRA_DIST = big.cdl dsm.cdl hdn.cdl in.cdl in_grp.cdl in_grp_1.cdl in_grp_2.cdl in_grp_3.cdl in_1.cdl in_2.cdl cmip5.cdl obs.cdl mdl.cdl buggy.cdl in_rec_zero.cdl ncap.in ncap.in2 ncap2.in tst.nco
 
 # Automake manual section 14:
 # If configure built it, 'distclean' should delete it
@@ -48,7 +54,7 @@ EXTRA_DIST = big.cdl in.cdl in_grp.cdl in_grp_1.cdl in_grp_2.cdl in_grp_3.cdl in
 DISTCLEANFILES = foo*
 
 # Build procedure produces these files:
-CLEANFILES = 85.nc 86.nc 87.nc 88.nc 89.nc big.nc foo.nc h0001.nc h0002.nc h0003.nc in.nc in_grp.nc in_grp_1.nc in_grp_2.nc in_grp_3.nc cmip5.nc obs.nc mdl.nc mdl2.nc buggy.nc in_rec_zero.nc ../src/nco_c++/in.nc
+CLEANFILES = 85.nc 86.nc 87.nc 88.nc 89.nc big.nc foo.nc h0001.nc h0002.nc h0003.nc in.nc in_grp.nc in_grp_1.nc in_grp_2.nc in_grp_3.nc cmip5.nc hdn.nc dsm.nc obs.nc mdl.nc mdl2.nc buggy.nc in_rec_zero.nc ../src/nco_c++/in.nc
 
 MAINTAINERCLEANFILES = Makefile.in
 
diff --git a/data/Makefile.in b/data/Makefile.in
index 067c940..32afe7b 100644
--- a/data/Makefile.in
+++ b/data/Makefile.in
@@ -14,7 +14,7 @@
 
 @SET_MAKE@
 
-# $Header: /cvsroot/nco/nco/data/Makefile.in,v 1.103 2013/11/24 04:05:40 zender Exp $ -*-makefile-*-
+# $Header: /cvsroot/nco/nco/data/Makefile.in,v 1.108 2014/02/20 16:43:22 zender Exp $ -*-makefile-*-
 VPATH = @srcdir@
 am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
 am__make_running_with_option = \
@@ -148,6 +148,7 @@ EXEEXT = @EXEEXT@
 FGREP = @FGREP@
 GREP = @GREP@
 HAVE_ANTLR = @HAVE_ANTLR@
+HAVE_MAKEINFO = @HAVE_MAKEINFO@
 I18N_SHARE = @I18N_SHARE@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
@@ -226,7 +227,6 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
-have_makeinfo = @have_makeinfo@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -260,8 +260,8 @@ top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 test_data = big.nc in.nc in_rec_zero.nc
-test_data_netCDF4 = in_grp.nc in_grp_1.nc in_grp_2.nc in_grp_3.nc cmip5.nc obs.nc mdl.nc mdl2.nc
-EXTRA_DIST = big.cdl in.cdl in_grp.cdl in_grp_1.cdl in_grp_2.cdl in_grp_3.cdl in_1.cdl in_2.cdl cmip5.cdl obs.cdl mdl.cdl buggy.cdl in_rec_zero.cdl ncap.in ncap.in2 ncap2.in tst.nco
+test_data_netCDF4 = in_grp.nc in_grp_1.nc in_grp_2.nc in_grp_3.nc cmip5.nc obs.nc mdl.nc mdl2.nc hdn.nc
+EXTRA_DIST = big.cdl dsm.cdl hdn.cdl in.cdl in_grp.cdl in_grp_1.cdl in_grp_2.cdl in_grp_3.cdl in_1.cdl in_2.cdl cmip5.cdl obs.cdl mdl.cdl buggy.cdl in_rec_zero.cdl ncap.in ncap.in2 ncap2.in tst.nco
 
 # Automake manual section 14:
 # If configure built it, 'distclean' should delete it
@@ -269,7 +269,7 @@ EXTRA_DIST = big.cdl in.cdl in_grp.cdl in_grp_1.cdl in_grp_2.cdl in_grp_3.cdl in
 DISTCLEANFILES = foo*
 
 # Build procedure produces these files:
-CLEANFILES = 85.nc 86.nc 87.nc 88.nc 89.nc big.nc foo.nc h0001.nc h0002.nc h0003.nc in.nc in_grp.nc in_grp_1.nc in_grp_2.nc in_grp_3.nc cmip5.nc obs.nc mdl.nc mdl2.nc buggy.nc in_rec_zero.nc ../src/nco_c++/in.nc
+CLEANFILES = 85.nc 86.nc 87.nc 88.nc 89.nc big.nc foo.nc h0001.nc h0002.nc h0003.nc in.nc in_grp.nc in_grp_1.nc in_grp_2.nc in_grp_3.nc cmip5.nc hdn.nc dsm.nc obs.nc mdl.nc mdl2.nc buggy.nc in_rec_zero.nc ../src/nco_c++/in.nc
 MAINTAINERCLEANFILES = Makefile.in
 all: all-am
 
@@ -490,6 +490,12 @@ in_grp_3.nc : in_grp_3.cdl
 cmip5.nc : cmip5.cdl
 	- at PATH_TO_NCGEN@ -k netCDF-4 -o $@ $< 
 
+dsm.nc : dsm.cdl
+	- at PATH_TO_NCGEN@ -k netCDF-4 -o $@ $< 
+
+hdn.nc : hdn.cdl
+	- at PATH_TO_NCGEN@ -k netCDF-4 -o $@ $< 
+
 obs.nc : obs.cdl
 	- at PATH_TO_NCGEN@ -k netCDF-4 -o $@ $< 
 
diff --git a/data/buggy.cdl b/data/buggy.cdl
index d1d3586..9813933 100644
--- a/data/buggy.cdl
+++ b/data/buggy.cdl
@@ -160,6 +160,56 @@ netcdf buggy {
      one=1;
    } // /g4
 
+ group: g5 { // Level 1
+    // Purpose: Test hidden attributes
+    // NB: Hidden attributes not supported by ncgen at least through netCDF 4.1.1 (201111)
+    // Having this group in in_grp.cdl breaks building of in_grp.nc with netCDF 4.1.1- (201111)
+    // This breaks many NCO regression tests
+    // ncks -C -v var_cmp.? -m ~/nco/data/in_grp.nc
+  variables:
+
+    int one(lat);
+  one:_DeflateLevel=1;
+  one:_Shuffle=1;
+  one:_Fletcher32=1;
+  one:_NOFILL=1;
+
+    int two(lat);
+
+    int three(lat);
+  three:_ChunkSizes=1;
+  three:_Endianness="big";
+
+    int four(lat);
+  four:_ChunkSizes=2;
+
+    int var_cmp(lat);
+  var_cmp:purpose="Variable with compression. Original _DeflateLevel = 1";
+  var_cmp:_DeflateLevel = 1;
+
+    int var_cmp_0(lat);
+  var_cmp_0:purpose="Variable with compression. Original _DeflateLevel = 0";
+  var_cmp_0:_DeflateLevel = 0;
+    
+    int var_cmp_1(lat);
+  var_cmp_1:purpose="Variable with compression. Original _DeflateLevel = 1";
+  var_cmp_1:_DeflateLevel = 1;
+
+    int var_cmp_9(lat);
+  var_cmp_9:purpose="Variable with compression. Original _DeflateLevel = 9";
+  var_cmp_9:_DeflateLevel = 9;
+
+  data:
+    one=1,1;
+    two=2,2;
+    three=3,3;
+    four=4,4;
+    var_cmp=1,1;
+    var_cmp_0=1,1;
+    var_cmp_1=1,1;
+    var_cmp_9=1,1;
+  } // end g5
+
  group: g12 {
     // Purpose: Test netCDF4 vlen type
     // 20130208: ncgen from netCDF 4.2.1- broken for vlen types
diff --git a/data/dsm.cdl b/data/dsm.cdl
new file mode 100644
index 0000000..ba97caf
--- /dev/null
+++ b/data/dsm.cdl
@@ -0,0 +1,146 @@
+// -*-C++-*-
+// Purpose: File to test ncdismember
+// Contains nested ensembles, metadata-only leaf groups, and "in-between data"
+// Usage:
+// ncgen -k netCDF-4 -b -o ~/nco/data/dsm.nc ~/nco/data/dsm.cdl
+// ncdismember ~/nco/data/dsm.nc /data/zender/nco/tmp cf 1.3 > ~/foo.txt 2>&1
+
+netcdf dsm {
+
+  group: g1 {
+
+  group: g1g1 {
+      :metadata = "Leaf-group metadata";
+    } // g1g1
+
+  } // g1
+
+  group: g2 {
+    :metadata = "g2 group contains metadata and one variable but no shared dimensions";
+  variables:
+    float one;
+  data:
+    one=1;
+  } // g2
+
+  group: g3 {
+    :metadata = "g3 group contains metadata and one variable and one dimension";
+  dimensions:
+    lat=2;
+  variables:
+    float one_arr(lat);
+  data:
+    one_arr=1,1;
+  } // g3
+
+  group: g4 {
+    :metadata = "g4 group contains one dimension, and one subgroup";
+  dimensions:
+    lat=2;
+    group: g4g1 {
+      :metadata = "g4g1 group contains one variable that depends on an inherited dimension";
+    variables:
+      float one_arr(lat);
+    data:
+      one_arr=1,1;
+    } // g4g1
+
+  } // g4
+
+  group: g5 {
+    :metadata = "g5 group contains one dimension, one variable (in-between) data and one subgroup";
+  dimensions:
+    lat=2;
+  variables:
+    float one_arr(lat);
+    group: g5g1 {
+      :metadata = "g5g1 group contains one variable that depends on an inherited dimension";
+    variables:
+      float one_arr(lat);
+    data:
+      one_arr=1,1;
+    } // g5g1
+
+  } // g5
+
+  group: cesm {
+
+  group: cesm_01 {
+      :Conventions = "CF-1.5";
+      :history = "yada yada yada";
+      :Scenario = "Historical";
+      :Model = "CESM";
+      :Realization = "1";
+
+    dimensions:
+      time=4;
+    variables:
+      float tas1(time);
+	  float tas2(time);
+    data:
+      tas1=272.1,272.1,272.1,272.1;
+      tas2=272.1,272.1,272.1,272.1;
+ 
+    } // cesm_01
+
+  group: cesm_02 {
+      :Conventions = "CF-1.5";
+      :history = "yada yada yada";
+      :Scenario = "Historical";
+      :Model = "CESM";
+      :Realization = "2";
+      
+    dimensions:
+      time=4;
+    variables:
+      float tas1(time);
+	  float tas2(time);
+    data:
+      tas1=272.2,272.2,272.2,272.2;
+	  tas2=272.2,272.2,272.2,272.2;
+      
+    } // cesm_02
+    
+  } // cesm
+  
+ group: ecmwf {
+    
+  group: ecmwf_01 {
+      :Conventions = "CF-1.5";
+      :history = "yada yada yada";
+      :Scenario = "Historical";
+      :Model = "ECMWF";
+      :Realization = "1";
+      
+    dimensions:
+      time=4;
+    variables:
+      float tas1(time);
+	  float tas2(time);
+    data:
+      tas1=273.1,273.1,273.1,273.1;
+      tas2=273.1,273.1,273.1,273.1;
+      
+    } // ecmwf_01
+    
+  group: ecmwf_02 {
+      :Conventions = "CF-1.5";
+      :history = "yada yada yada";
+      :Scenario = "Historical";
+      :Model = "ECMWF";
+      :Realization = "2";
+      
+    dimensions:
+      time=4;
+    variables:
+      float tas1(time);
+      float tas2(time);
+    data:
+      tas1=273.2,273.2,273.2,273.2;
+      tas2=273.2,273.2,273.2,273.2;
+      
+    } // ecmwf_02
+
+  } // ecmwf
+
+} // root group
diff --git a/data/in.cdl b/data/hdf.cdl
similarity index 94%
copy from data/in.cdl
copy to data/hdf.cdl
index beeac58..2728d81 100644
--- a/data/in.cdl
+++ b/data/hdf.cdl
@@ -1,36 +1,33 @@
 // -*-C++-*-
 
-// Purpose: CDL file to generate netCDF test file for NCO
+// Purpose: CDL file to generate HDF4 test file for NCO
 
 // Usage:
-// netCDF4: ncgen arguments depend on version:
-// "-k netCDF-4" for netCDF >= 3.6.3, "-k hdf5" for netCDF < 3.6.3
-// "-k netCDF-4 classic model" for netCDF >= 3.6.3, "-k hdf5-nc3" for netCDF < 3.6.3
-// /usr/local/bin/ncgen -k netCDF-4 -b -o in_4.nc in.cdl
-// /usr/local/bin/ncgen -k netCDF-4 -b -o ${HOME}/nco/data/in_4.nc ${HOME}/nco/data/in.cdl
+// /usr/bin/hncgen -b -o hdf.hdf hdf.cdl
+// /usr/bin/hncgen -b -o ~/nco/data/hdf.hdf ~/nco/data/hdf.cdl
 
 // URL: 
-// http://dust.ess.uci.edu/nco/in.nc
+// http://dust.ess.uci.edu/nco/hdf.nc
 // http://dust.ess.uci.edu/nco/in_4.nc
-// http://thredds-test.ucar.edu/thredds/dodsC/testdods/in.nc
+// http://thredds-test.ucar.edu/thredds/dodsC/testdods/hdf.nc
 // http://thredds-test.ucar.edu/thredds/dodsC/testdods/in_4.nc
 
 // netCDF3:
-// ncgen -b -o in.nc in.cdl
-// ncgen -b -o ${HOME}/nco/data/in.nc ${HOME}/nco/data/in.cdl
-// scp ~/nco/data/in.cdl ~/nco/data/in_4.nc dust.ess.uci.edu:nco/data
-// scp ~/nco/data/in.nc ~/nco/data/in_4.nc dust.ess.uci.edu:/var/www/html/nco
-// scp ~/nco/data/in.nc ~/nco/data/in_4.nc dust.ess.uci.edu:/var/www/html/dodsdata
-// mswrite -t 365 ~/nco/data/in.nc /ZENDER/tmp/in.nc
-// mswrite -t 365 ~/nco/data/in.nc /ZENDER/tmp/h0001.nc
-// mswrite -t 365 ~/nco/data/in.nc /ZENDER/tmp/h0002.nc
-// mswrite -t 365 ~/nco/data/in.nc /ZENDER/tmp/h0003.nc
-// mswrite -t 365 ~/nco/data/in.nc /ZENDER/tmp/h0004.nc
-// msrcp -period 365 ~/nco/data/in.nc mss:/ZENDER/tmp/in.nc
-// msrcp -period 365 ~/nco/data/in.nc mss:/ZENDER/tmp/h0001.nc
-// msrcp -period 365 ~/nco/data/in.nc mss:/ZENDER/tmp/h0002.nc
-// msrcp -period 365 ~/nco/data/in.nc mss:/ZENDER/tmp/h0003.nc
-// msrcp -period 365 ~/nco/data/in.nc mss:/ZENDER/tmp/h0004.nc
+// ncgen -b -o hdf.nc hdf.cdl
+// ncgen -b -o ${HOME}/nco/data/hdf.nc ${HOME}/nco/data/hdf.cdl
+// scp ~/nco/data/hdf.cdl ~/nco/data/in_4.nc dust.ess.uci.edu:nco/data
+// scp ~/nco/data/hdf.nc ~/nco/data/in_4.nc dust.ess.uci.edu:/var/www/html/nco
+// scp ~/nco/data/hdf.nc ~/nco/data/in_4.nc dust.ess.uci.edu:/var/www/html/dodsdata
+// mswrite -t 365 ~/nco/data/hdf.nc /ZENDER/tmp/hdf.nc
+// mswrite -t 365 ~/nco/data/hdf.nc /ZENDER/tmp/h0001.nc
+// mswrite -t 365 ~/nco/data/hdf.nc /ZENDER/tmp/h0002.nc
+// mswrite -t 365 ~/nco/data/hdf.nc /ZENDER/tmp/h0003.nc
+// mswrite -t 365 ~/nco/data/hdf.nc /ZENDER/tmp/h0004.nc
+// msrcp -period 365 ~/nco/data/hdf.nc mss:/ZENDER/tmp/hdf.nc
+// msrcp -period 365 ~/nco/data/hdf.nc mss:/ZENDER/tmp/h0001.nc
+// msrcp -period 365 ~/nco/data/hdf.nc mss:/ZENDER/tmp/h0002.nc
+// msrcp -period 365 ~/nco/data/hdf.nc mss:/ZENDER/tmp/h0003.nc
+// msrcp -period 365 ~/nco/data/hdf.nc mss:/ZENDER/tmp/h0004.nc
 
 // WARNING: Changing values of variables below, especially coordinate variables, affects outcome of nco_tst.pl test script
 // Other programs, e.g., ~/f/fff.F90, ~/c++/ccc.cc, ~/c/c.c may also break
@@ -49,7 +46,7 @@
 // roulee:/data/zender/tmp/netcdf-4.2.1/nc_test/ref_tst_diskless2.cdl
 
 // NCL usage:
-// id_in=addfile("/home/zender/nco/data/in.nc","r")
+// id_in=addfile("/home/zender/nco/data/hdf.nc","r")
 // print(id_in)
 // list_filevars(id_in)
 
@@ -60,7 +57,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.180 2013/12/02 21:03:45 zender Exp $";
+	:RCS_Header = "$Header: /cvsroot/nco/nco/data/hdf.cdl,v 1.4 2013/12/23 06:22:19 zender Exp $";
 
 	int date_int(date_dmn);
 	date_int:long_name = "Date (as array of ints: YYYY,MM,DD,HH,MM)";
@@ -295,6 +292,7 @@ variables:
 
 	int nbdate;
 	nbdate:long_name = "base date as 6- or 8-digit integer (YYMMDD or YYYYMMDD)";
+
 	int date(time);
 	date:long_name = "current date as 6- or 8-digit integer (YYMMDD or YYYYMMDD)";
 
@@ -492,9 +490,10 @@ variables:
 	fl_nm_arr:long_name = "Variable that contains a short array of file names";
 	fl_nm_arr:units = "[sng]";
 
-	char fl_nm_rec(time,char_dmn_lng80);
-	fl_nm_rec:long_name = "A record variable of file names";
-	fl_nm_rec:units = "[sng]";
+	//	char fl_nm_rec(time,char_dmn_lng80);
+	//	fl_nm_rec:long_name = "A record variable of file names";
+	//fl_nm_rec:units = "[sng]";
+        //fl_nm_rec: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\"";
 
 	char date_rec(time,char_dmn_lng26);
 	date_rec:long_name = "A record variable of date strings";
@@ -782,6 +781,10 @@ variables:
 	one_dmn_rec_var_missing_value:long_name = "One dimensional record variable with missing data indicated by missing_value attribute only. No _FillValue attribute exists.";
 	one_dmn_rec_var_missing_value:missing_value = 1.0e36f;
 
+	float one_dmn_rec_var_mss_val(time);
+	one_dmn_rec_var_mss_val:long_name = "One dimensional record variable with all missing data.";
+	one_dmn_rec_var_mss_val:_FillValue = 1.0e36f;
+
 	float one_dmn_rec_var__FillValue(time);
 	one_dmn_rec_var__FillValue:long_name = "One dimensional record variable with missing data indicated by _FillValue attribute only. No missing_value attribute exists.";
 	one_dmn_rec_var__FillValue:_FillValue = 1.0e36f;
@@ -792,7 +795,7 @@ variables:
 
 	float one_dmn_rec_var_mss_val_arr(time);
 	one_dmn_rec_var_mss_val_arr:long_name = "One dimensional record variable with missing data indicated by a _FillValue attribute that is an array. This can be tested with ncrcat. 20120905: ncgen chokes on _FillValue arrays and produces this error: _FillValue: must be a single (possibly compound) value. Deprecate the array for normal use since it prevents ncgen from completing. Uncommment following line when testing for compatibility with software changes.";
-//	one_dmn_rec_var_mss_val_arr:_FillValue = 1,2,3;
+//	one_dmn_rec_var_mss_val_arr:_FillValue = 1.0f,2.0f,3.0f;
 	one_dmn_rec_var_mss_val_arr:_FillValue = 1.0f;
 
 	int RDM(time);
@@ -923,8 +926,9 @@ 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.;
 
-	char one_dmn_rec_var_sng(time);
-	one_dmn_rec_var_sng:long_name = "one dimensional record variable of string";
+	//	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\"";
 
 	float time_lon(time,lon);
 	time_lon:long_name = "Record variable of longitude coordinate";
@@ -1155,12 +1159,14 @@ data:
 	one_dmn_rec_var_flt=1,2,3,4,5,6,7,8,9,10;
 	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;
+	one_dmn_rec_var_mss_val_arr=1,2,3,4,5,6,7,8,9,10;
 	one_dmn_rec_var__FillValue=1,2,3,4,5,6,7,8,9,1.0e36;
 	one_dmn_rec_var_unsorted__FillValue=1.0e36,4,6,2,8,1,9,7,3,5;
 	one_dmn_rec_var_mdn=1,1,2,2,2,2,10,10,10,10;
 	one_dmn_rec_var_mdn__FillValue=1,-999,2,2,-999,-999,10,10,10,-999;
 	RDM=1,9,36,84,126,126,84,36,9,1;
-	one_dmn_rec_var_sng="Hello Wor";
+	//	one_dmn_rec_var_sng="Hello Worl";
 	one_dmn_var=1.,10.;
 	one_dmn_int_val_one=1,1;
 	one_dmn_int_val_two=2,2;
@@ -1353,16 +1359,16 @@ data:
 	fl_nm_arr="/data/zender/dstccm04/dstccm04_8589_01.nc",
 		"/data/zender/dstccm04/dstccm04_8589_02.nc",
 		"/data/zender/dstccm04/dstccm04_8589_03.nc";
-	fl_nm_rec="/data/zender/dstccm04/dstccm04_8589_01.nc",
-	  "/data/zender/dstccm04/dstccm04_8589_02.nc",
-	  "/data/zender/dstccm04/dstccm04_8589_03.nc",
-	  "/data/zender/dstccm04/dstccm04_8589_04.nc",
-	  "/data/zender/dstccm04/dstccm04_8589_05.nc",
-	  "/data/zender/dstccm04/dstccm04_8589_06.nc",
-	  "/data/zender/dstccm04/dstccm04_8589_07.nc",
-	  "/data/zender/dstccm04/dstccm04_8589_08.nc",
-	  "/data/zender/dstccm04/dstccm04_8589_09.nc",
-	  "/data/zender/dstccm04/dstccm04_8589_10.nc";
+//	fl_nm_rec="/data/zender/dstccm04/dstccm04_8589_01.nc",
+//	  "/data/zender/dstccm04/dstccm04_8589_02.nc",
+//	  "/data/zender/dstccm04/dstccm04_8589_03.nc",
+//	  "/data/zender/dstccm04/dstccm04_8589_04.nc",
+//	  "/data/zender/dstccm04/dstccm04_8589_05.nc",
+//	  "/data/zender/dstccm04/dstccm04_8589_06.nc",
+//	  "/data/zender/dstccm04/dstccm04_8589_07.nc",
+//	  "/data/zender/dstccm04/dstccm04_8589_08.nc",
+//	  "/data/zender/dstccm04/dstccm04_8589_09.nc",
+//	  "/data/zender/dstccm04/dstccm04_8589_10.nc";
 	date_rec="2010-11-01T00:00:00.000000",
 	  "2010-11-01T01:00:00.000000",
 	  "2010-11-01T02:00:00.000000",
diff --git a/data/hdn.cdl b/data/hdn.cdl
new file mode 100644
index 0000000..1e02a2c
--- /dev/null
+++ b/data/hdn.cdl
@@ -0,0 +1,63 @@
+// -*-C++-*-
+
+// Purpose: Test hidden attributes
+
+// Generate netCDF file with:
+// ncgen -k netCDF-4 -b -o ~/nco/data/hdn.nc ~/nco/data/hdn.cdl
+
+netcdf hdn {
+
+ dimensions:
+  lat=2;
+  
+ group: g13 { // Level 1
+    // Purpose: Test hidden attributes
+    // NB: Hidden attributes not supported by ncgen at least through netCDF 4.1.1 (201111)
+    // Having this group in in_grp.cdl breaks building of in_grp.nc with netCDF 4.1.1- (201111)
+    // This breaks many NCO regression tests
+    // ncks -C -v var_cmp.? -m ~/nco/data/in_grp.nc
+  variables:
+
+    int one(lat);
+  one:_DeflateLevel=1;
+  one:_Shuffle=1;
+  one:_Fletcher32=1;
+  one:_NOFILL=1;
+
+    int two(lat);
+
+    int three(lat);
+  three:_ChunkSizes=1;
+  three:_Endianness="big";
+
+    int four(lat);
+  four:_ChunkSizes=2;
+
+    int var_cmp(lat);
+  var_cmp:purpose="Variable with compression. Original _DeflateLevel = 1";
+  var_cmp:_DeflateLevel = 1;
+
+    int var_cmp_0(lat);
+  var_cmp_0:purpose="Variable with compression. Original _DeflateLevel = 0";
+  var_cmp_0:_DeflateLevel = 0;
+    
+    int var_cmp_1(lat);
+  var_cmp_1:purpose="Variable with compression. Original _DeflateLevel = 1";
+  var_cmp_1:_DeflateLevel = 1;
+
+    int var_cmp_9(lat);
+  var_cmp_9:purpose="Variable with compression. Original _DeflateLevel = 9";
+  var_cmp_9:_DeflateLevel = 9;
+
+  data:
+    one=1,1;
+    two=2,2;
+    three=3,3;
+    four=4,4;
+    var_cmp=1,1;
+    var_cmp_0=1,1;
+    var_cmp_1=1,1;
+    var_cmp_9=1,1;
+  } // end g13
+
+} // end root group
diff --git a/data/in.cdl b/data/in.cdl
index beeac58..d72068b 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.180 2013/12/02 21:03:45 zender Exp $";
+	:RCS_Header = "$Header: /cvsroot/nco/nco/data/in.cdl,v 1.184 2013/12/23 06:22:19 zender Exp $";
 
 	int date_int(date_dmn);
 	date_int:long_name = "Date (as array of ints: YYYY,MM,DD,HH,MM)";
@@ -295,6 +295,7 @@ variables:
 
 	int nbdate;
 	nbdate:long_name = "base date as 6- or 8-digit integer (YYMMDD or YYYYMMDD)";
+
 	int date(time);
 	date:long_name = "current date as 6- or 8-digit integer (YYMMDD or YYYYMMDD)";
 
@@ -782,6 +783,10 @@ variables:
 	one_dmn_rec_var_missing_value:long_name = "One dimensional record variable with missing data indicated by missing_value attribute only. No _FillValue attribute exists.";
 	one_dmn_rec_var_missing_value:missing_value = 1.0e36f;
 
+	float one_dmn_rec_var_mss_val(time);
+	one_dmn_rec_var_mss_val:long_name = "One dimensional record variable with all missing data.";
+	one_dmn_rec_var_mss_val:_FillValue = 1.0e36f;
+
 	float one_dmn_rec_var__FillValue(time);
 	one_dmn_rec_var__FillValue:long_name = "One dimensional record variable with missing data indicated by _FillValue attribute only. No missing_value attribute exists.";
 	one_dmn_rec_var__FillValue:_FillValue = 1.0e36f;
@@ -792,7 +797,7 @@ variables:
 
 	float one_dmn_rec_var_mss_val_arr(time);
 	one_dmn_rec_var_mss_val_arr:long_name = "One dimensional record variable with missing data indicated by a _FillValue attribute that is an array. This can be tested with ncrcat. 20120905: ncgen chokes on _FillValue arrays and produces this error: _FillValue: must be a single (possibly compound) value. Deprecate the array for normal use since it prevents ncgen from completing. Uncommment following line when testing for compatibility with software changes.";
-//	one_dmn_rec_var_mss_val_arr:_FillValue = 1,2,3;
+//	one_dmn_rec_var_mss_val_arr:_FillValue = 1.0f,2.0f,3.0f;
 	one_dmn_rec_var_mss_val_arr:_FillValue = 1.0f;
 
 	int RDM(time);
@@ -925,6 +930,7 @@ variables:
 
 	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\"";
 
 	float time_lon(time,lon);
 	time_lon:long_name = "Record variable of longitude coordinate";
@@ -1155,12 +1161,14 @@ data:
 	one_dmn_rec_var_flt=1,2,3,4,5,6,7,8,9,10;
 	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;
+	one_dmn_rec_var_mss_val_arr=1,2,3,4,5,6,7,8,9,10;
 	one_dmn_rec_var__FillValue=1,2,3,4,5,6,7,8,9,1.0e36;
 	one_dmn_rec_var_unsorted__FillValue=1.0e36,4,6,2,8,1,9,7,3,5;
 	one_dmn_rec_var_mdn=1,1,2,2,2,2,10,10,10,10;
 	one_dmn_rec_var_mdn__FillValue=1,-999,2,2,-999,-999,10,10,10,-999;
 	RDM=1,9,36,84,126,126,84,36,9,1;
-	one_dmn_rec_var_sng="Hello Wor";
+	one_dmn_rec_var_sng="Hello Worl";
 	one_dmn_var=1.,10.;
 	one_dmn_int_val_one=1,1;
 	one_dmn_int_val_two=2,2;
diff --git a/data/in_grp.cdl b/data/in_grp.cdl
index 9926db2..f466792 100644
--- a/data/in_grp.cdl
+++ b/data/in_grp.cdl
@@ -32,9 +32,9 @@
 // list_filevars(id_in)
 // ncks --get_file_info  ~/nco/data/in_grp.nc
 
-//NOTE: Must be tested with 
-//ncks --lbr
-//Linked to netCDF library version 4.1.1, compiled Nov  7 2011 11:35:16
+// NB: Must be tested with 
+// ncks --lbr
+// Linked to netCDF library version 4.1.1, compiled Nov  7 2011 11:35:16
 
 netcdf in_grp {
 
@@ -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.110 2013/11/24 23:05:44 zender Exp $";
+  :RCS_Header = "$Header: /cvsroot/nco/nco/data/in_grp.cdl,v 1.120 2014/02/20 16:43:22 zender Exp $";
   
  data:
   area=10.,10.;
@@ -130,9 +130,11 @@ netcdf in_grp {
   variables:
     //coordinate variable (dimension at root)
     double time(time);
+    float lon(lon);
     float scl;
   data:
     time=1.,2.,3.,4.,5.,6.,7.,8.,9.,10.;
+    lon=0,90,180,270;
     scl=1.2;
   } // end g2
   
@@ -148,6 +150,25 @@ netcdf in_grp {
     one_dmn_rec_var=1,2,3,4,5,6,7,8,9,10;  
   } // end g4
   
+ //
+ //g5
+ //
+ group: g5 { 
+  dimensions:
+  time51=unlimited;  //test --rec_apn with more than 1 record in group (NB: make first record, time51, differ from variable size (time52) ) 
+  time52=unlimited;
+  variables:
+    int one_dmn_rec_var(time52);
+	one_dmn_rec_var:long_name = "one dimensional record variable";
+	one_dmn_rec_var:units = "kelvin";
+	double time51(time51);
+	double time52(time52);
+  data:
+    one_dmn_rec_var=1,2,3,4,5,6,7,8,9,10; 
+	time51=1.,2.;
+    time52=1.,2.,3.,4.,5.,6.,7.,8.,9.,10.;	
+  } // end g5
+  
   //
   //g6
   //
@@ -208,6 +229,20 @@ netcdf in_grp {
   } // end g7
  
   //
+  //g8
+  //
+ group: g8 { // Level 1
+  group: g8g1 { // Level 2
+    group: g8g1g1 { // Level 3
+      group: g8g1g1g1 { // Level 4
+	  :mtd_grp = "Group metadata from g8g1g1g1, a leaf-group with no variables, to test whether metadata-only leaf groups are copied and/or printed";
+	  :answer = "Twerking";
+	} // end g8g1g1g1
+      } // end g8g1g1
+    } // end g8g1
+  } // end g8
+
+  //
   //g9
   //
  group: g9 { // Level 1
diff --git a/data/in_grp_3.cdl b/data/in_grp_3.cdl
index e27d577..ca9e5d3 100644
--- a/data/in_grp_3.cdl
+++ b/data/in_grp_3.cdl
@@ -145,7 +145,7 @@ netcdf in_grp_3 {
     lon1=4;  //dimension that has a coordinate variable down in scope at /g16/g16g1/lon1(lon1)
     lon2=4;  //dimension that does NOT have a coordinate variable anywhere 
     lon3=4;  //dimension that has a coordinate "out of scope" (with group depth greater than the variable that uses the coordinate, g16g3g3)
-    lon4=2;  //dimension that has several intermidiate "in scope" coordinates
+    lon4=2;  //dimension that has several intermediate "in scope" coordinates
     variables:
     float lat1(lat);
     float lon2_var(lon2); //variable with no associated coordinate variable
@@ -225,41 +225,36 @@ netcdf in_grp_3 {
   
     dimensions:
     time=unlimited; // NB: no coordinate for this dimension  
-    lat=2;
-    lon=4;  
     gds_crd=8;
 	
     variables:
-    float lat(lat);
-    float lon(lon); 
-    
-    double lat_gds(gds_crd);
-    lat_gds:long_name = "Latitude";  
-    lat_gds:standard_name = "latitude";
-    lat_gds:units="degree";
-    lat_gds:purpose = "1-D latitude coordinate referred to by geodesic grid variables";
+    double lat_gds_1(gds_crd);
+    lat_gds_1:long_name = "Latitude";  
+    lat_gds_1:standard_name = "latitude";
+    lat_gds_1:units="degree";
+    lat_gds_1:purpose = "1-D latitude coordinate referred to by geodesic grid variables";
 
-    double lon_gds(gds_crd);
-    lon_gds:long_name = "Longitude";
-    lon_gds:standard_name = "longitude";
-    lon_gds:units="degree";
-    lon_gds:purpose = "1-D longitude coordinate referred to by geodesic grid variables";
+    double lon_gds_1(gds_crd);
+    lon_gds_1:long_name = "Longitude";
+    lon_gds_1:standard_name = "longitude";
+    lon_gds_1:units="degree";
+    lon_gds_1:purpose = "1-D longitude coordinate referred to by geodesic grid variables";
     
     float gds_crd(gds_crd);
     gds_crd:long_name = "Geodesic coordinate";
     gds_crd:units = "degree";
     gds_crd:purpose = "enumerated coordinate like those that might define points in a geodesic grid";
-    gds_crd:coordinates = "lat_gds lon_gds";
+    gds_crd:coordinates = "lat_gds_1 lon_gds_1";
     
     float gds_3dvar(time,gds_crd);
     gds_3dvar:long_name = "Geodesic variable";
     gds_3dvar:units = "meter";
-    gds_3dvar:coordinates = "lat_gds lon_gds";
+    gds_3dvar:coordinates = "lat_gds_1 lon_gds_1";
     gds_3dvar:purpose = "Test auxiliary coordinates like those that define geodesic grids";
     
     data:
     gds_crd=0,1,2,3,4,5,6,7;
-	  gds_3dvar=273.1,273.2,273.3,273.4,273.5,273.6,273.7,273.8,
+	gds_3dvar=273.1,273.2,273.3,273.4,273.5,273.6,273.7,273.8,
 	          274.1,274.2,274.3,274.4,274.5,274.6,274.7,274.8,
 	          275.1,275.2,275.3,275.4,275.5,274.5,275.7,275.8,
 	          276.1,276.2,276.3,276.4,276.5,276.5,276.7,276.8,
@@ -269,13 +264,53 @@ netcdf in_grp_3 {
 	          280.1,280.2,280.3,280.4,280.5,280.9,280.7,280.8,
 	          281.1,281.2,281.3,281.4,281.5,281.9,281.7,281.8,
 	          282.1,282.2,282.3,282.4,282.5,282.9,282.7,282.8;
-    lat_gds=-90, -30,  -30,    0,   0, 30,  30,  90;
-    lon_gds=  0,   0,  180,    0, 180,  0, 180,   0;
-    lat=-90,90;
-    lon=0,90,180,270;
-    } // end g18
+    lat_gds_1=-90, -30,  -30,    0,   0, 30,  30,  90;
+    lon_gds_1=  0,   0,  180,    0, 180,  0, 180,   0;
+	
+		 group: g18g1 {  //test -X with "lat_gds lon_gds" in scope
+		 
+			:Conventions = "CF-1.0";
+			
+			variables:
+			float gds_3dvar(time,gds_crd);
+			gds_3dvar:long_name = "Geodesic variable";
+			gds_3dvar:units = "meter";
+			gds_3dvar:coordinates = "lat_gds_1 lon_gds_1";
+			gds_3dvar:purpose = "Test auxiliary coordinates like those that define geodesic grids";
     
+			data:
+			gds_3dvar=273.1,273.2,273.3,273.4,273.5,273.6,273.7,273.8,
+	          274.1,274.2,274.3,274.4,274.5,274.6,274.7,274.8,
+	          275.1,275.2,275.3,275.4,275.5,274.5,275.7,275.8,
+	          276.1,276.2,276.3,276.4,276.5,276.5,276.7,276.8,
+	          277.1,277.2,277.3,277.4,277.5,277.5,277.7,277.8,
+	          278.1,278.2,278.3,278.4,278.5,278.6,278.7,278.8,
+	          279.1,279.2,279.3,279.4,279.5,279.9,279.7,279.8,
+	          280.1,280.2,280.3,280.4,280.5,280.9,280.7,280.8,
+	          281.1,281.2,281.3,281.4,281.5,281.9,281.7,281.8,
+	          282.1,282.2,282.3,282.4,282.5,282.9,282.7,282.8;
+			  
+			group: g18g2 {  	  
+				variables:
+				double lat_gds_2(gds_crd);
+				lat_gds_2:long_name = "Latitude";  
+				lat_gds_2:standard_name = "latitude";
+				lat_gds_2:units="degree";
+				lat_gds_2:purpose = "1-D latitude coordinate referred to by geodesic grid variables";
+
+				double lon_gds_2(gds_crd);
+				lon_gds_2:long_name = "Longitude";
+				lon_gds_2:standard_name = "longitude";
+				lon_gds_2:units="degree";
+				lon_gds_2:purpose = "1-D longitude coordinate referred to by geodesic grid variables";
     
+                data:
+				lat_gds_2=-90, -30,  -30,    0,   0, 30,  30,  90;
+				lon_gds_2=  0,   0,  180,    0, 180,  0, 180,   0;				
+			  } // end g18g2
+		 } // end g18g1 
+    } // end g18
+     
   //
   //g19 test cases for ncpdq; same variables as ncpdq netCDF3 tests
   //
@@ -310,7 +345,17 @@ netcdf in_grp_3 {
     
      data:
      two_dmn_var=1.5,5.5,9.5,13.5,17.5,21.5;
+	 
+	  group: g19g1g1 { //test full name --cnk_dmn
+	  dimensions:
+      lev=3;
+      variables:
+      float two_dmn_var(lat,lev);
+	  two_dmn_var:_DeflateLevel=1;
+       data:
+       two_dmn_var=1.5,5.5,9.5,13.5,17.5,21.5;
       
+     } // end g19g1g1     
     } // end g19g1 
 
     group: g19g2 {
@@ -557,5 +602,84 @@ netcdf in_grp_3 {
 	 gw_lat = 0.1, 0.9, 0.9 ;
 	 gw_lon = 1, 1, 1 ;
 	} // end g26
+	
+group: g27 { //test flatenning with paralell variables: ncks -3 -G : -g /g27g1/
+	group: g27g1 {
+	dimensions:
+	delta_time_start=2;
+	variables:
+	float delta_time_start(delta_time_start);
+	data:
+	delta_time_start=1,2;
+	}
+		
+	group: g27g2 {
+	dimensions:
+	delta_time_start=1;
+	variables:
+	float delta_time_start(delta_time_start);
+	data:
+	delta_time_start=1;	
+	}	
+} // end g27
+	
+	
+group: g28 { //test CF extraction ( "delta_time_stop" has a CF attribute to "delta_time_start")
+	dimensions:
+	delta_time_start=1;
+	variables:
+	float delta_time_start(delta_time_start);
+	float delta_time_stop(delta_time_start);
+	delta_time_stop:coordinates = "delta_time_start";
+	data:
+	delta_time_start=1;	
+	delta_time_stop=1;
+} // end g28
+
+group: g29 { //test standard_name = "longitude"
+	dimensions:
+	time29=unlimited;
+	lat29=2;
+	lon29=2;
+
+	variables:
+	int time29(time29);
+	int lat29(lat29);
+	lat29:standard_name = "latitude";
+	lat29:units="degree";
+	int lon29(lon29);
+	lon29:standard_name = "longitude";
+	lon29:units="degree";
+	int var3d(time29,lat29,lon29);
+	
+	data:
+	time29=1;	
+	lat29=1,2;
+	lon29=1,2;
+	var3d=1,2,3,4;
+} // end g29
 
+group: g30 { //test cell_methods attribute
+ group: g30g1 { 
+	dimensions:
+	time301=unlimited;
+	variables:
+	float time301(time301);
+	time301:long_name = "time301";
+	data:
+	time301=1,2;
+   }// end g30g1
+  group: g30g2 { 
+	dimensions:
+	time302=unlimited;
+	variables:
+	float time302(time302);
+	time302:long_name = "time302";
+	time302:cell_methods = "time302: mean";
+	data:
+	time302=1,2;
+   }// end g30g2
+
+} // end g30
+	
 } // end root group
diff --git a/data/mdl.cdl b/data/mdl.cdl
index c1e318a..8d3897d 100644
--- a/data/mdl.cdl
+++ b/data/mdl.cdl
@@ -14,13 +14,15 @@ netcdf mdl {
       :Realization = "1";
 
     dimensions:
-      time=4;
+      time=unlimited;
     variables:
       float tas1(time);
 	  float tas2(time);
+	  double time(time);
     data:
       tas1=272.1,272.1,272.1,272.1;
 	  tas2=272.1,272.1,272.1,272.1;
+	  time=1.,2.,3.,4.;
  
     } // cesm_01
 
@@ -32,13 +34,15 @@ netcdf mdl {
       :Realization = "2";
       
     dimensions:
-      time=4;
+      time=unlimited;
     variables:
       float tas1(time);
 	  float tas2(time);
+	  double time(time);
     data:
       tas1=272.2,272.2,272.2,272.2;
 	  tas2=272.2,272.2,272.2,272.2;
+	  time=1.,2.,3.,4.;
       
     } // cesm_02
     
@@ -54,13 +58,15 @@ netcdf mdl {
       :Realization = "1";
       
     dimensions:
-      time=4;
+      time=unlimited;
     variables:
       float tas1(time);
 	  float tas2(time);
+	  double time(time);
     data:
       tas1=273.1,273.1,273.1,273.1;
 	  tas2=273.1,273.1,273.1,273.1;
+	  time=1.,2.,3.,4.;
       
     } // ecmwf_01
     
@@ -72,13 +78,15 @@ netcdf mdl {
       :Realization = "2";
       
     dimensions:
-      time=4;
+      time=unlimited;
     variables:
       float tas1(time);
 	  float tas2(time);
+	  double time(time);
     data:
       tas1=273.2,273.2,273.2,273.2;
 	  tas2=273.2,273.2,273.2,273.2;
+	  time=1.,2.,3.,4.;
       
     } // ecmwf_02
 
diff --git a/data/mdl2.cdl b/data/mdl2.cdl
index af14efe..d12f4ec 100644
--- a/data/mdl2.cdl
+++ b/data/mdl2.cdl
@@ -18,9 +18,11 @@ netcdf mdl {
     variables:
       float tas1(time);
 	  float tas2(time);
+	  double time(time);
     data:
       tas1=272.3,272.3,272.3,272.3;
 	  tas2=272.3,272.3,272.3,272.3;
+	  time=1.,2.,3.,4.;
  
     } // cesm_03
 
@@ -41,9 +43,11 @@ netcdf mdl {
     variables:
       float tas1(time);
 	  float tas2(time);
+	  double time(time);
     data:
       tas1=273.3,273.3,273.3,273.3;
 	  tas2=273.3,273.3,273.3,273.3;
+	  time=1.,2.,3.,4.;
       
     } // ecmwf_03
     
@@ -59,9 +63,11 @@ netcdf mdl {
     variables:
       float tas1(time);
 	  float tas2(time);
+	  double time(time);
     data:
       tas1=273.4,273.4,273.4,273.4;
 	  tas2=273.4,273.4,273.4,273.4;
+	  time=1.,2.,3.,4.;
       
     } // ecmwf_04
 
diff --git a/doc/ANNOUNCE b/doc/ANNOUNCE
index 32f03f1..54d4398 100644
--- a/doc/ANNOUNCE
+++ b/doc/ANNOUNCE
@@ -1,138 +1,115 @@
-$Header: /cvsroot/nco/nco/doc/ANNOUNCE,v 1.648 2013/12/03 00:28:01 zender Exp $ -*-text-*-
+$Header: /cvsroot/nco/nco/doc/ANNOUNCE,v 1.693 2014/02/20 21:46:29 zender Exp $ -*-text-*-
 
-The netCDF Operators NCO version 4.3.9 are ready. 
+The netCDF Operators NCO version 4.4.2 are ready. 
 
 http://nco.sf.net (Homepage)
 http://dust.ess.uci.edu/nco (Homepage "mirror")
 
-We are pleased to report the birth of the operator nces.
-nces is for netCDF Ensemble Statistics.
-nces includes the existing functionality of ncea and extends it by
-allowing groups to be treated as an unlimited dimension of datasets.   
-nces is really ncea with a powerful new feature and a new name.
-I will debut nces at AGU (Friday 12/13 11:35 AM Moscone West 2010).  
-See below for more info on the feature. Regarding the name...
-
-We renamed ncea as nces to more accurately describe the operator.
-For historical reasons, NCO is full of misnamed operators:
-NCO itself is misnamed because the operators now work well on HDF (4
-and 5) files, not just netCDF files. We tried to change their name
-to SDO (Scientific Data Operators) but the new name didn't stick.
-And the "averagers" (ncea, ncra, ncwa) are all misnamed because they
-all do many statistics (min/max/ttl/rms...) besides averages. 
-This feature addition is an opportune time to rename ncea as nces.
-ncea is now deprecated, though will remain supported for some time.
-
-We faced the same problem of back-compatibility when we renamed ncdiff
-to ncbo many years ago. We will use the same method. Invoking 'nces'
-produces the same results as the old 'ncea' so scripts do not break. 
-Under the hood, 'ncea' invokes 'nces --nsm_fl', just as 'ncdiff' 
-invokes 'ncbo --op_typ=subtract'. To cause nces to utilize the new
-group ensemble mode, invoke it with 'nces --nsm_grp'. This is similar
-to how ncecat has two modes, record aggregation (the default) and
-group aggregation, invoked with 'ncecat --rag' and 'ncecat --gag', 
-respectively. 
-
-This version also improves ncks support for XML (NcML) output.
-All output now validates without errors with the NcML 2.2 schema.  
-Happy NcML'ing! There is also a bugfix for NaNs in ncatted.
-
-Work on NCO 4.4.0 is underway. It focuses on stability and speed.  
-There will be some netCDF4 mop-up, including netCDF4 support for
-various options (all -X, ncwa -w and -m), and, possibly, improved
-support for HDF4 files. Heads-up: Unless users report unforeseen
-difficulties transitioning from ncea to nces, NCO 4.4.0 will rename
-ncra as ncrs and ncwa as ncws (Record Statistics and Weighted
-Statistics, respectively). 
+This release is mainly a bugfix release. Memory issues that caused
+problems on LLVM/clang (usually Mac OS) and RHEL/CentOS (but not
+trusty old Fedora!) have been fixed. Thank you to everyone who
+reported issues. nces --nsm_grp now works as advertised with
+coordinates. 
+
+The one new feature is support for key parts of the CF cell_methods  
+convention. 
+
+Work on NCO 4.4.3 is underway, focused on stability and speed.   
+There will be more netCDF4 mop-up, improved group broadcasting
+algorithms, and, possibly, improved HDF4 support, and cache
+manipulation for chunking.
 
 Enjoy,
 Charlie
 
-"New stuff" in 4.3.9 summary (full details always in ChangeLog):
+"New stuff" in 4.4.2 summary (full details always in ChangeLog):
 
 NEW FEATURES:
 
-A. ncea is now nces or nces --nsm_fl, meaning ensembles of files.
-   Use nces --nsm_grp, for ensembles of groups, a new feature.
-   The same input is valid in both modes. Members of a group ensemble
-   are groups that share the same structure, parent group, and nesting
-   level. Their contents usually have different values because they
-   are realizations of replicated experiments. 
-   In group-ensemble mode nces computes the statistics across
-   the ensemble of groups, which may span multiple input files. 
-   Files may contain members of multiple ensembles. However, all
-   ensembles must have at least one member in the first input file. 
-   Group ensembles behave as a pseudo-record dimension, in that a
-   group ensemble may comprise an arbitrary and extensible number of
-   realizations in each file, and may be composed of multiple files.
-   Output statistics are stored in the parent group by default.
-   If the ensemble members are /cesm/01 and /cesm/02, then the
-   computed statistic will be in /cesm in the output file.
-   The --nsm_sfx option instructs nces to instead store output in 
-   a new child group of the parent created by attaching the suffix
-   to the parent group's name, i.e., /cesm/cesm_avg:
-   nces          mdl1.nc mdl2.nc mdl3.nc out.nc # Same as ncea
-   nces --nsm_fl mdl1.nc mdl2.nc mdl3.nc out.nc # Same as ncea
-   nces --nsm_grp                  mdl1.nc mdl2.nc mdl3.nc out.nc
-   nces --nsm_grp --nsm_sfx='_avg' mdl1.nc mdl2.nc mdl3.nc out.nc
-   http://nco.sf.net/nco.html#nces
-
-B. Much improved XML/NcML standards compliance and flexibility.
-   Separators for XML now user-configurable with --xml_spr_chr and
-   --xml_spr_nmr for character types (i.e., strings) and numeric
-   types (i.e., numbers), respectively:
-   ncks --xml_spr_chr='***' in.nc # Override default separator '*'
-   ncks --xml_spr_nmr=', '  in.nc # Override default separator ' '
-   ncks dumps all netCDF3/netCDF4 groups and atomic types 
-   (as usual with NCO, netCDF4 non-atomic types are ignored).
-   Output validates without errors against NcML 2.2 schema. 
-   Java/NcML users please test and and give us feedback!
-   http://nco.sf.net/nco.html#xml
+A. cell_methods: ncwa and ncra now support key parts of the CF
+   cell_methods convention. Averaging foo(time,lat,lon) now
+   results in ncwa creating or appending the cell_methods attribute
+   "time, lat, lon: mean" to foo in the output file. 
+   Pre-existing cell_methods are preserved and appended to.
+   cell_methods are turned-on by default. Turn-off with --no_cll_mth.
+   ncwa --op_typ=max in.nc out.nc # Output gets cell_methods
+   ncwa --no_cll_mth in.nc out.nc # Turn-off cell_methods
+   http://nco.sf.net/nco.html#cll_mth
 
 BUG FIXES:
 
-A. Fix ncatted so it does not treat zero as NaN when changing a
-   missing value (_FillValue) from NaN to something else. 
-   Problem reported by Jianfu Pan.
-
-B. Correct XML-mode issues, many reported by Aleksandar Jelenak 
-   1. Print </variable> in metadata mode
-   2. Adds type="typ_nm" attribute to non-string attribute elements
-   3. Add separator="foo" element when separator is not whitespace
-   4. Fix int64-type printing
-   5. Use NcML not CDL type names
-   6. Add hidden _Unsigned attribute for unsigned types
-   7. Add hidden _FillValue attribute for unsigned types
-   8. Do not print underscores for missing data in XML mode
-   9. Add shape="" to scalar variables (cough, cough)
+A. nces --nsm_grp now outputs only the group statisitics. In 4.4.0 and
+   4.4.1 nces --nsm_grp would, inadvertently, also sometimes copy
+   coordinate variables of member groups to member groups in the
+   output file. This did not take much space (because only coordinates
+   were copied), nor did it affect nces --nsm_fl, so we did not notice
+   it for some time. Now fixed.  
+
+B. Groups matched via regular expressions in group-subsetting now
+   have their associated variables flagged in intersection mode. 
+   This mumbo-jumbo means that regular expressions work better now.
+   Any variable(s), group(s), or intersection of the two can be
+   obtained with surgical precision with regular expressions.
+
+C. Fix build problems exposed by LLVM on Mac OS X 10.9 Mavericks.
+   The underlying memory problems could cause segfaults for other
+   OSs including RHEL and CentOS. Issues reported by George White.
+
+D. ncwa now always outputs averages of coordinates, even when
+   operation on (non-coordinate) variables is other like max, min.
+   This complies with longstanding intent & documentation that
+   coordinate variables always return averages, never extrema or other
+   statistics. ncra and nces have long-implemented this convention.
+
+E. The -X option for auxiliary coordinates now works fully when
+   latitude and longitude coordinates are nested in group hierarchies.
+   The most in-scope latitude/longitude are used for each variable.  
+   We said this worked in 4.4.1. This time we mean it :)
+   http://nco.sf.net/nco.html#aux
+
+F. ncap2 sometimes failed when converting netCDF3->netCDF4 files
+   because it had uninitialized deflation levels. Fixed.
+
+G. Chunking: Matt Thompson reported a problem that manifested when
+   multiple --cnk_dmn options were employed. Strange chunk-sizes or
+   segfaults could result. Fixed.
 
 KNOWN ISSUES NOT YET FIXED:
 
    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.3.7 built/tested with netCDF
-   4.3.1-rc4 snapshot 20131119 on top of HDF5 hdf5-1.8.9 with these methods: 
+   These problems occur with NCO 4.4.2 built/tested with netCDF
+   4.3.1 on top of HDF5 hdf5-1.8.9 with these methods: 
 
    cd ~/nco;./configure --enable-netcdf4  # Configure mechanism -or-
-   cd ~/nco/bld;make dir;make all;make ncap2 # Old Makefile mechanism
+   cd ~/nco/bld;make dir;make allinone # Old Makefile mechanism
 
-A. NOT YET FIXED
-   netCDF4 library fails when renaming dimension and variable using
-   that dimension, in either order. Works fine with netCDF3.
-   Hence coordinate renaming does not work with netCDF4 files.
-   Problem with netCDF4 library implementation.
+A. NOT YET FIXED (NCO problem)
+   Correctly read arrays of NC_STRING with embedded delimiters in ncatted arguments
 
    Demonstration:
-   ncks -O -4 -v lat_T42 ~/nco/data/in.nc ~/foo.nc
-   ncrename -O -D 2 -d lat_T42,lat -v lat_T42,lat ~/foo.nc ~/foo2.nc # Breaks with "NetCDF: HDF error"
-   ncks -m ~/foo.nc
+   ncatted -D 5 -O -a new_string_att,att_var,c,sng,"list","of","str,ings" ~/nco/data/in_4.nc ~/foo.nc
+   ncks -m -C -v att_var ~/foo.nc
 
    20130724: Verified problem still exists
-   Bug report filed: netCDF #YQN-334036: problem renaming dimension and coordinate in netCDF4 file
-   Workaround: Use ncrename twice; first rename the variable, then
-   rename the dimension.
+   TODO nco1102
+   Cause: NCO parsing of ncatted arguments is not sophisticated
+   enough to handle arrays of NC_STRINGS with embedded delimiters.
 
-B. NOT YET FIXED (would require DAP protocol change?)
+B. 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
+
+   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
+
+C. NOT YET FIXED (would require DAP protocol change?)
    Unable to retrieve contents of variables including period '.' in name
    Periods are legal characters in netCDF variable names.
    Metadata are returned successfully, data are not.
@@ -147,7 +124,7 @@ B. NOT YET FIXED (would require DAP protocol change?)
 
    Bug report filed: https://www.unidata.ucar.edu/jira/browse/NCF-47
 
-C. NOT YET FIXED (would require DAP protocol change)
+D. NOT YET FIXED (would require DAP protocol change)
    Correctly read scalar characters over DAP.
    DAP non-transparency: Works locally, fails through DAP server.
    Problem, IMHO, is with DAP definition/protocol
@@ -161,31 +138,6 @@ C. NOT YET FIXED (would require DAP protocol change)
    dimension is user-configurable, but still...), NUL-terminated
    strings so MD5 agreement fails 
 
-D. NOT YET FIXED (NCO problem)
-   Correctly read arrays of NC_STRING with embedded delimiters in ncatted arguments
-
-   Demonstration:
-   ncatted -D 5 -O -a new_string_att,att_var,c,sng,"list","of","str,ings" ~/nco/data/in_4.nc ~/foo.nc
-   ncks -m -C -v att_var ~/foo.nc
-
-   20130724: Verified problem still exists
-   TODO nco1102
-   Cause: NCO parsing of ncatted arguments is not sophisticated
-   enough to handle arrays of NC_STRINGS with embedded delimiters.
-
-E. NOT YET FIXED
-   Report correct chunking and compression information for HDF4 files
-
-   Demonstration:
-   ncdump -h -s MOP01-20121231-L1V3.34.10.hdf
-   ncks -m MOP01-20121231-L1V3.34.10.hdf
-
-   20131007: Verified problem still exists
-
-   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
-
 "Sticky" reminders:
 
 A. Pre-built, up-to-date Debian Sid & Ubuntu packages:
@@ -200,25 +152,14 @@ C. Pre-built Windows (native) and Cygwin binaries:
 D. Pre-built AIX binaries:
    http://nco.sf.net#aix
 
-E. Did you try SWAMP (Script Workflow Analysis for MultiProcessing)?
-   SWAMP efficiently schedules/executes NCO scripts on remote servers:  
-
-   http://swamp.googlecode.com
-
-   SWAMP can work command-line operator analysis scripts besides NCO. 
-   If you must transfer lots of data from a server to your client
-   before you analyze it, then SWAMP will likely speed things up. 
-
-F. NCO support for netCDF4 features is tracked at
+E. NCO support for netCDF4 features is tracked at
 
    http://nco.sf.net/nco.html#nco4
 
    NCO supports netCDF4 atomic data types, compression, chunking, and groups.
 
-G. Reminder that NCO works on most HDF4 and HDF5 datasets, e.g., 
-   NASA AURA HIRDLS HDF-EOS5
-   NASA ICESat GLAS HDF5
-   NASA MERRA HDF4
-   NASA MODIS HDF4
-   NASA SBUV HDF5...
+F. Reminder that NCO works on most HDF4 and HDF5 datasets, e.g., 
+   HDF4: AMSR MERRA MODIS ...
+   HDF5: GLAS ICESat Mabel SBUV ...
+   HDF-EOS5: AURA HIRDLS OMI ...
 
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 97cbf37..2ced10c 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,557 @@
+2014-02-20  Charlie Zender  <zender at uci.edu>
+
+	* NCO 4.4.2 release procedure:
+ 	Changes since nco-4_4_1: ncra.c mmr 4 LLVM/clang, -X, rx nsx, cll_mth, ncwa sng, cnk
+	cd ~/nco;cvs tag -d nco-4_4_2;cvs tag -d nco-4_4_2-1
+	cd ~/nco;cvs commit -m "Preparing nco-4.4.2 release"
+	cvs tag -c nco-4_4_2;cvs tag -c nco-4_4_2-1
+
+	* Slightly simplify logic in calling/utilizing nco_inq_format_extended()
+
+	* Restore explanatory messages for new ncrename regression failures
+
+	* Remove test group with hidden attributes from in_grp.cdl to prevent build failures with netCDF 4.1.1-
+	Isolate this group in new file hdn.cdl so that in_grp.nc builds	and regressions pass
+
+2014-02-19  Charlie Zender  <zender at uci.edu>
+
+	* Turn-off OpenMP by setting thr_nbr_max_fsh == 1. Revisit when thoroughly tested.
+
+	* Fix bad initialization of dmn_cmn in nco_cnk_sz_set_trv()
+
+	* Clean-up compiler warnings for GCC 4.4.3- and for netCDF3-only builds (i.e., tephra)
+
+	* Clarify nces behavior with coordinates
+
+2014-02-19 Pedro Vicente  <pvicente at uci.edu>
+
+	* Print error message for ncge, when second file contains ensembles not in first file
+
+2014-02-18 Pedro Vicente  <pvicente at uci.edu>
+
+	* nces regressions #18 Ensemble fixed variables
+
+	* nco_nsm_def_wri() Define OR write ensemble fixed variables
+
+2014-02-18  Charlie Zender  <zender at uci.edu>
+
+	* Fix four crazy/busted ncrename regression tests.
+	They only passed with netCDF < 4.3.1 because of library bug that
+	renamed whole coordinates (variables + dimensions) instead of only dimensions.
+
+2014-02-17  Charlie Zender  <zender at uci.edu>
+
+	* Re-implement cell_methods from scratch
+
+2014-02-13  Charlie Zender  <zender at uci.edu>
+
+	* Change duration (drn) to subcycle (ssc), a more descriptive keyword
+
+2014-02-12  Charlie Zender  <zender at uci.edu>
+
+	* Workaround double-free() bug with ncwa min/max and string arrays
+	Temporarily do not free string memory in nco_var_free() unless dbg_lvl=6
+
+	* nco_var_rdc_[min|max|ttl]() copies first element of NC_CHAR and NC_STRING
+	Previously, these routines did nothing with those variable types
+
+	* Set only flg_mch (not flg_xtr) in nco_trv_rx_search()
+
+	* Always call nco_def_var_deflate() with valid dfl_lvl in ncap2
+
+	* Tidy configure.ac
+
+2014-02-11  Charlie Zender  <zender at uci.edu>
+
+	* Flag objects associated with both explicit _and_ rx-matched objects
+	Now rx-matched groups have associated variables flagged in intersection mode
+
+	* Call nco_cnk_ini() iff fl_out_fmt is netCDF4
+
+2014-02-10 Pedro Vicente  <pvicente at uci.edu>
+
+	* ncwa regressions #61, #62, #63 cell_methods CF attribute convention
+
+2014-02-10  Charlie Zender  <zender at uci.edu>
+
+	* ncks expand smr_sng to accomodate longer filenames, summaries	(fixes SMAP breakage)
+
+2014-02-07  Pedro Vicente  <pvicente at uci.edu>
+
+	* ncra regression #32 cell_methods CF attribute convention (create)
+
+2014-02-07  Charlie Zender  <zender at uci.edu>
+
+	* Make JSON look decent
+
+	* Change cell_methods to agree with actual method used for coordinates
+
+	* Change ncwa behavior to comply with longstanding intent & documentation that coordinate
+	variables always return averages, never extrema or other statistics.
+	ncra and nces have long-implemented this convention.
+
+2014-02-06  Pedro Vicente  <pvicente at uci.edu>
+
+	* Add test data for cell_methods CF attribute convention
+
+	* ncwa regression #58, #59, #60 cell_methods CF attribute convention
+
+2014-02-06  Charlie Zender  <zender at uci.edu>
+
+	* Start node printing for JSON
+
+2014-02-05  Pedro Vicente  <pvicente at uci.edu>
+
+	* Add ncks regression #89 -X and associated coordinates
+
+2014-02-05  Charlie Zender  <zender at uci.edu>
+
+	* Add W10N/JSON stubs
+
+	* Improve documentation build rules in ./configure
+
+	* Explicitly add -Wuninitialized -Wmaybe-uninitialized to GCC in bld/Makefile
+
+2014-02-04  Charlie Zender  <zender at uci.edu>
+
+	* Pass same Make arguments to clang/LLVM as to gcc/GCC
+
+	* Add byte/ubyte-valued nco_var_avg_rdc_ttl()/_min()/max()
+	Was bug in native-byte arithmetic but NCO usually promotes to double...
+
+	* Fix Clang/LLVM compiler warnings: nco_fl_blocksize() and nco_cnk_ini() prototypes,
+	self-assign CEWI compiler warnings (now add zero).
+
+2014-02-04  Pedro Vicente  <pvicente at uci.edu>
+
+	* Add ncks regression #88 -X writing and associated coordinates
+
+2014-02-02  Pedro Vicente  <pvicente at uci.edu>
+
+	* Add ncks regression #90 -X writing and associated coordinates
+
+2014-02-01  Pedro Vicente  <pvicente at uci.edu>
+
+	* Add ncks regression #83 Test 'standard_name' attribute for "longitude" and "latitude" values
+
+2014-01-31  Charlie Zender  <zender at uci.edu>
+
+	* Crude implementation of cnk_map=rew
+
+2014-01-31  Pedro Vicente  <pvicente at uci.edu>
+
+	* nco_cnv_cf_cll_mth_add() Add cell_methods attributes (create mode)
+
+	* Add ncwa regression #58 Add cell_methods attributes (create mode)
+
+2014-01-30  Pedro Vicente  <pvicente at uci.edu>
+
+	* nco_chk_dmn(): Check valid input dimension name (used for --fix_rec_dmn)
+	Make group table construction function return NCO_CHK_NOERR or NCO_CHK_ERR
+
+2014-01-30  Charlie Zender  <zender at uci.edu>
+
+	* Improve REC_APN documentation
+
+2014-01-29  Pedro Vicente  <pvicente at uci.edu>
+
+	* Add ncks regressions #86 Change record dimension to fixed dimension --fix_rec_dmn
+
+2014-01-29  Charlie Zender  <zender at uci.edu>
+
+	* NCO 4.4.1 release procedure:
+ 	Changes since nco-4_4_0: -X grp, cnk_dmn grp, ncra_no_fl_close bugfix
+	cd ~/nco;cvs tag -d nco-4_4_1;cvs tag -d nco-4_4_1-1
+	cd ~/nco;cvs commit -m "Preparing nco-4.4.1 release"
+	cvs tag -c nco-4_4_1;cvs tag -c nco-4_4_1-1
+
+	* Verified ./configure works on Intel compilers on greenplanet, and
+	bld/Makefile works on Intel compilers on yellowstone, and all regressions pass
+
+	* Revert nco_close() and nco_fl_rm() to intended location within ncra.c file loop
+	Fixes important bug since multi-file operator was not closing/removing input files
+	Bug committed in ncra.c revision 1.430 on 20131107 thus affects	NCO 4.3.9-4.4.0.
+
+	* Remove expected return value from free() in strcasecmp() for Mac OS 10.9 LLVM compatibility
+
+2014-01-27  Pedro Vicente  <pvicente at uci.edu>
+
+	* Add ncrcat regressions #28,29,30 Record appending for a group with one record, for a group with 2 records
+
+2014-01-26  Charlie Zender  <zender at uci.edu>
+
+	* Remove early exit from nco_cnk_sz_set(). Revert some changes.
+
+	* Tidy nco_cnk.c
+
+	* NB: Unidata renamed netCDF 4.3.1-rc7 as 4.3.1. Some NCO notes	still say 4.3.1-rc7.
+
+2014-01-23  Pedro Vicente  <pvicente at uci.edu>
+
+	* nco_dmn_malloc() Inquire about number of dimensions in group and return dynamic array of dimension IDs
+
+2014-01-22  Pedro Vicente  <pvicente at uci.edu>
+
+	* nco_prs_aux_crd() Parse auxiliary coordinates limits directly into traversal table
+
+2014-01-21  Pedro Vicente  <pvicente at uci.edu>
+
+	* Add nco_var_scp(). Check if one variable is in scope of another.
+
+2014-01-21  Charlie Zender  <zender at uci.edu>
+
+	* ncgen breaks on hidden attributes in CDL with netCDF 4.1.1- (201111)
+	Hence NCO 4.4.0 has many regressions on older netCDF
+	Need to move in_grp.cdl hidden attributes group g13 into its own "safe" file
+
+	* Performed autoreconf --force to update config.{sub,guess} for	Debian AArch64
+
+	* Add nces.1 manpage to automake instructions
+
+2014-01-20  Pedro Vicente  <pvicente at uci.edu>
+
+	* Add ncks regressions #81,#82,#83,84 --cnk_dmn full names
+
+2014-01-17  Charlie Zender  <zender at uci.edu>
+
+	* Turn-off shuffle when uncompressing otherwise chunking requests may fail
+
+	* Add nco_def_var_fletcher32() wrapper and stub
+
+2014-01-17  Pedro Vicente  <pvicente at uci.edu>
+
+	* Add ncks regressions #81,#82 --cnk_dmn full names
+
+	* Add ncks regressions #83 Chunking and shuffle filter
+
+2014-01-16  Pedro Vicente  <pvicente at uci.edu>
+
+	* Add test data for --cnk_dmn full names in_grp_3.cdl
+
+	* Add ncks regression #80 Chunking and uncompression (-L 0)
+
+	* Add utility functions nco_strrstr(), nco_is_fll_pth()
+
+2014-01-16  Charlie Zender  <zender at uci.edu>
+
+	* Fix to allow uncompressing files at the same time as chunking files
+
+2014-01-14  Pedro Vicente  <pvicente at uci.edu>
+
+	* Add test data for -X option in in_grp_3.cdl
+
+2014-01-12  Pedro Vicente  <pvicente at uci.edu>
+
+	* -X support for associated variables located anywhere in file hierarchy
+
+	* Add ncks regression #70: -X for associated variables located anywhere in file hierarchy
+
+2014-01-09  Charlie Zender  <zender at uci.edu>
+
+	* Fix cnk lfp map bug, re-release 4.4.0
+
+2014-01-08  Charlie Zender  <zender at uci.edu>
+
+	* NCO 4.4.0 release procedure:
+ 	Changes since nco-4_3_9: hash, dyn mmr, ncra.c fixes, hdf4, autocnv, hdn, cnk
+	cd ~/nco;cvs tag -d nco-4_4_0;cvs tag -d nco-4_4_0-1
+	cd ~/nco;cvs commit -m "Preparing nco-4.4.0 release"
+	cvs tag -c nco-4_4_0;cvs tag -c nco-4_4_0-1
+
+	* Add hack to help convert empty variables with multiple record dimensions to all fixed dimensions and netCDF3 output
+
+	* Fix subtle bug when overwriting attributes during autoconversion
+
+2014-01-07  Charlie Zender  <zender at uci.edu>
+
+	* Verify yellowstone build is clean, improve chunking error-tolerance
+
+2014-01-07  Pedro Vicente  <pvicente at uci.edu>
+
+	* Add ncpdq regression #46: Chunking -a lon,lat --cnk_dmn lat,1 --cnk_dmn lon,2 -v lat_2D_rct
+
+	* Add ncecat regression #12: Chunking -v four_dmn_rec_var --cnk_dmn lat,2 --cnk_dmn lon,4
+
+	* Add ncwa regression #57: Chunking with --rdd
+
+2014-01-06  Pedro Vicente  <pvicente at uci.edu>
+
+	* Add ncwa regression #55: Chunking -a time --cnk_dmn lon,4 -v byt_3D_rec
+
+	* Add ncwa regression #56: Chunking -a /time --cnk_dmn /time,1 -v time
+
+2014-01-06  Charlie Zender  <zender at uci.edu>
+
+	* Use "_ChunkSizes" (plural) not "_ChunkSize" (singular) in NcML output
+
+	* Add cnk_map argument to some executables that were missing it
+
+	* Fix recidivist bug where if(sng_cnv_rcd) used instead of if(*sng_cnv_rcd)
+
+2014-01-05  Pedro Vicente  <pvicente at uci.edu>
+
+	* Add ncecat regression #11: Chunking --cnk_plc=all
+
+2014-01-05  Charlie Zender  <zender at uci.edu>
+
+	* Base default cnk_sz_byt on output filesystem blocksize
+
+	* Add chk_sz_byt/cnk_byt input to all netCDF4 writers
+
+2014-01-03  Charlie Zender  <zender at uci.edu>
+
+	* Implement map_lfp and begin accounting for type size and chunk size in bytes
+
+	* Implement plc_xst and map_xst
+
+	* Implement plc_xpl and correct detour when must_be_chunked
+
+	* Add stubs for two new (and not-yet-supported) chunking maps: map_xst and map_lfp
+
+	* Verified nccopy does not preserve pre-set _Chunksizes when copying variables
+
+	* Revert to completing nco_cnk_sz_set_trv() only when user-specified
+
+	* Fix bug where nco_var_lst_dvd_trv() was called with cnk_map, cnk_plc instead of pck_map, pck_plc
+
+2014-01-02  Charlie Zender  <zender at uci.edu>
+
+	* Add nco_op_typ_cf_sng() for cell_methods functionality
+
+	* Refactored chunking code. Exposed old bug in is_chunked flag. Many regressions.
+
+	* Fixed nco_cnk_sz_set_trv() bug where nco_cnk_dsk_inq() was called with output not input ID
+
+	* Replace cnk_sct with cnk_dmn, cnk with cnk_dmn in preparation	for new chunk structure
+
+	* Add nco_[get/set]_chunk_cache() prototypes
+
+	* Tidy nco_cnk_sz_set_trv()
+
+2013-12-31  Charlie Zender  <zender at uci.edu>
+
+	* Prevent printing hidden attributes on netCDF3 files
+
+	* Fix error when new nco_inq_var_fill() stub used on netCDF3 files
+
+	* XML mode deprecate emulation of toolsUI 4.3 _FillValue behavior for unsigned types (present in NCO 4.3.7-4.3.9)
+
+2013-12-30  Charlie Zender  <zender at uci.edu>
+
+	* ncks document --hdn, autoconversion, --fix_rec_dmn changes
+
+	* Update copyright year to 2014
+
+	* Verified snapshot passes tests on Yellowstone
+
+	* NCO snapshot fails all ncra on tephra/netCDF3-only. No obvious valgrind issues.
+
+	* Add regressions tests for ncra/ncrcat issues fixed at AGU
+	including incorrect treatment of missing values with MRO, and
+	detection of input_complete when stride skips user-specified idx_end_max
+
+2013-12-29  Charlie Zender  <zender at uci.edu>
+
+	* Print hidden attributes with --hdn, --hidden
+
+	* ncks --fix_rec_dmn=all fixes all record dimensions
+
+	* ncdismember put groups in per-file directory, call cfchecker in batch mode
+
+2013-12-28  Charlie Zender  <zender at uci.edu>
+
+	* Add HINT for NC_ECANTWRITE
+
+	* ncdismember overwrite Conventions with version used by cfchecker
+
+	* ncdismember match .hdf only as filename suffix for --hdf4 switch
+
+	* Refine nco_xtr_grp_mrk() to check that marked groups match
+	beginning/end of path boundaries. nco_xtr_mk() already does this.
+
+2013-12-27  Charlie Zender  <zender at uci.edu>
+
+	* Failed attempt to convert NC_STRING to NC_CHAR variables
+	Would require implementing (possibly thousands of) dummy dimensions
+
+	* Correctly handle output filenames that contain whitespace
+
+	* ncdismember: Works with group names that contain whitespace
+
+	* CDL-mode: print terminal group name comments in CDL-valid syntax to protect whitespace
+
+	* Fix diagnostic INFO message for mk_rec_dmn/fix_rec_dmn in nco_cpy_var_dfn_trv(), nco_dmn_msa_tbl()
+
+	* Autoconvert: fix when converting _FillValue, and restore defaults. MODIS works!
+
+	* nco_att_cpy() autoconverts all netCDF4->netCDF3 types when appropriate in ncks
+
+	* nco_msa_cpy_var_val_mlt_lmt_trv() use nco_var_cnf_typ() to autoconvert netCDF4->netCDF3
+
+	* nco_msa_cpy_var_val_mlt_lmt_trv() use one code path for scalars and arrays
+
+2013-12-25  Pedro Vicente  <pvicente at uci.edu>
+
+	* Add ncks regression #78: CF extraction of in-scope variables
+
+2013-12-25  Charlie Zender  <zender at uci.edu>
+
+	* Replace harmless continue with more efficient break
+
+2013-12-24  Pedro Vicente  <pvicente at uci.edu>
+
+	* Add ncks regressions #75, #76: Default datasets (no options)
+
+	* Add ncks regression #77: flatten with parallel variables (-3 -G : -g)
+
+2013-12-23  Charlie Zender  <zender at uci.edu>
+
+	* Add autoconvert stubs to nco_xtr_dfn() and nco_cpy_var_val_mlt_lmt_trv()
+
+	* Clean-up nco_cpy_var_dfn_trv() before implementing autoconvert feature
+
+	* Add HINT before exit() on NC_EBADTYPE
+
+2013-12-22  Pedro Vicente  <pvicente at uci.edu>
+
+	* Add ncks regression #74: -c option, extract all coordinate variables
+
+2013-12-22  Charlie Zender  <zender at uci.edu>
+
+	* ncks ~/nco/data/hdf.hdf now works!
+
+	* Document new HDF4 capabilities
+
+	* Eliminate need for --hdf4 switch if linked to netCDF 4.3.1-rc7+
+
+	* Change from nco_hdf_cnv to nco_fmt_xtn enum/tokens
+
+	* Add nco_inq_format_extended() stubs
+
+	* Add hdf.cdl to generate HDF4 files for testing
+
+	* Fix/change --nsm_fl, --nsm_grp switches to not expect arguments
+
+2013-12-19  Pedro Vicente  <pvicente at uci.edu>
+
+	* Fix -X bug, where extra array elements were being printed.
+
+	* Add use case for -X in scope variables, in in_grp_3.cdl.
+
+2013-12-19  Charlie Zender  <zender at uci.edu>
+
+	* Document "group" option to ncatted
+
+	* Tweak ncdismember to append specified CF Convention to each dataset
+
+	* Add dsm.cdl to test ncdismember in ICESat-2 and Mable-like cases
+
+	* Print metadata only groups in all desired cases
+
+2013-12-18  Charlie Zender  <zender at uci.edu>
+
+	* Print only extracted groups for prn_flg->trd in old format
+
+	* Print group closing braces for prn_flg->trd in new format
+
+	* Print metadata-only groups when all ancestors have extracted variables
+
+	* Rely on nco_xtr_grp_mrk() and remove duplicate code from nco_xtr_mk()
+
+	* Copy metadata-only groups. Introduce flg_mtd and use flg_xcl to handle group exclusion.
+
+	* Tidy nco_grp_utl.[ch] before addressing metadata-only leaf-group extraction bug
+
+2013-12-17  Charlie Zender  <zender at uci.edu>
+
+	* Regression test for copy/print metadata-only leaf group
+
+	* Better document ncrename behavior with coordinates and groups
+
+2013-12-16  Pedro Vicente  <pvicente at uci.edu>
+
+	* ncwa weights/masks names can be absolute names (start with '/')
+
+	* Add regressions #52, #53 for ncwa weights/masks names with absolute names
+
+2013-12-16  Charlie Zender  <zender at uci.edu>
+
+	* Clarify ncrename coordinate documentation
+
+	* Use target-specific rule to filter-out -Wcast-qual on files with uthash in prototypes
+
+2013-12-12  Pedro Vicente  <pvicente at uci.edu>
+
+	* Dimensions in hyperslabbing arguments are once again checked for
+	validity prior to processing and invalid (i.e., non-existant)
+	dimensions once-again cause operators to abort.
+
+2013-12-11  Charlie Zender  <zender at uci.edu>
+
+	* Stop writing global attributes twice in ncra.c
+
+	* Re-enable history attribute in ncra.c
+
+2013-12-10  Charlie Zender  <zender at uci.edu>
+
+	* Tentative fix to mss_val/MRO bug: use mss_val from var_prc_out not var_prc in nco_opr_nrm()
+
+	* Whitespace changes while attacking ncra mss_val/MRO bug
+
+	* Fix ncra/ncrcat bug where extra record used when superfluous input files provided
+	and stride places first index of superfluous files beyond user-specified last index.
+
+	* Clean-up hash usage. Try different approaches prior to widespread implementation.
+
+2013-12-10  Pedro Vicente  <pvicente at uci.edu>
+
+	* Replace static dimensions arrays with dynamic. Causes a one order-of-magnitude speedup.
+
+	* Limit structures are now contained in the traversal table build function
+	Information about valid limit names is exported to main programs
+
+2013-12-09  Charlie Zender  <zender at uci.edu>
+
+	* Fix ncra/ncrcat bug where file loop exited after first record dimension completed
+
+	* Whitespace changes while debugging MRO/DRN bug
+
+	* Revert one-line CVS version 1.59->1.60 change in nco_omp.c committed on
+	20131029 which caused many OpenMP-enabled operators to die when dbg_lvl > 2.
+
+	* Prepare to attack ncra/ncrcat MRO/DRN bug
+
+2013-12-09  Pedro Vicente  <pvicente at uci.edu>
+
+	* Enable hash table lookup
+
+2013-12-08  Pedro Vicente  <pvicente at uci.edu>
+
+	* ncrename: Regression #22 Allow input syntax of new name as full path
+
+2013-12-04  Charlie Zender  <zender at uci.edu>
+
+	* Patch ncap2 format string vulnerability to prevent FTBFS error with -Werror=format-security
+	Patch provided by Orion Poplowski
+
+	* Turn-off deflate filter when dfl_lvl == 0
+
+	* Fix many ncap2 compiler warnings
+
+2013-12-04 Pedro Vicente  <pvicente at uci.edu>
+
+	* Function that checks for invalid input dimensions
+
+	* ncks: Regression #72 Invalid dimension input
+
+2013-12-04  Charlie Zender  <zender at uci.edu>
+
+	* De-compressing netCDF4 files/variables to level 0 works
+
+2013-12-03  Charlie Zender  <zender at uci.edu>
+
+	* Add g13 to in_grp.cdl to test compression and other hidden attributes
+
 2013-12-02  Charlie Zender  <zender at uci.edu>
 
 	* NCO 4.3.9 release procedure:
@@ -78,7 +632,7 @@
 
 	* XML mode use xml_typ_nm() instead of cdl_typ_nm()
 
-2013-11-15 Pedro Vicente  <pvicente at uci.edu>
+2013-11-15  Pedro Vicente  <pvicente at uci.edu>
 
 	* nces: Regression #3 file ensemble with GPE
 
@@ -102,7 +656,7 @@
 
 	* XML print </variable> in metadata mode
 
-2013-11-13 Pedro Vicente  <pvicente at uci.edu>
+2013-11-13  Pedro Vicente  <pvicente at uci.edu>
 
 	* nces: Regression #1, #2. 1 file ensembles, with --nsm_sfx
 
@@ -122,7 +676,7 @@
 
 	* Add -7 synonym switch for fl_fmt=netcdf4_classic
 
-2013-10-31 Pedro Vicente  <pvicente at uci.edu>
+2013-10-31  Pedro Vicente  <pvicente at uci.edu>
 
 	* ncatted: Regressions #6 to 11. Groups, for single variable, all
 	variables, wildcard variables, group attributes, relative and
@@ -134,7 +688,7 @@
 
 	* Add missing --op_typ/--operation switches to ncra.c
 
-2013-10-23 Pedro Vicente  <pvicente at uci.edu>
+2013-10-23  Pedro Vicente  <pvicente at uci.edu>
 
 	* Add option to configure --enable-openmp (default yes), disable with --disable-openmp
 
@@ -190,7 +744,7 @@
 	cd ~/nco;cvs commit -m "Preparing nco-4.3.7 release"
 	cvs tag -c nco-4_3_7;cvs tag -c nco-4_3_7-1
 
-2013-10-16 Pedro Vicente  <pvicente at uci.edu>
+2013-10-16  Pedro Vicente  <pvicente at uci.edu>
 
 	* Add ncrename regressions #1 to #21: attributes, dimensions, variables, groups.
 
@@ -308,7 +862,7 @@
 
 	* Add mdl.cdl
 
-2013-09-26 Pedro Vicente  <pvicente at uci.edu>
+2013-09-26  Pedro Vicente  <pvicente at uci.edu>
 
 	* ncwa: Add support for weights and masks per group. Regressions #49, #50
 
@@ -316,7 +870,7 @@
 
 	* Document ncdismember and CF-compliance checker
 
-2013-09-24 Pedro Vicente  <pvicente at uci.edu>
+2013-09-24  Pedro Vicente  <pvicente at uci.edu>
 
 	* Add ncwa test #29 Weights and hyperslabs
 
@@ -326,7 +880,7 @@
 
 	* Add --flt option to ncra.c (had forgotten it before)
 
-2013-09-23 Pedro Vicente  <pvicente at uci.edu>
+2013-09-23  Pedro Vicente  <pvicente at uci.edu>
 
 	* Add ncra test #29 Group with 2 record dimensions made with ncecat, reverted to 1 record with ncpdq
 
@@ -368,7 +922,7 @@
 
 	* Write random walk description of precision degradation
 
-2013-09-18 Pedro Vicente  <pvicente at uci.edu>
+2013-09-18  Pedro Vicente  <pvicente at uci.edu>
 
 	* Add ncra regressions #27,28 2 records to process in 2 groups (do record and variables in group)
 
@@ -376,7 +930,7 @@
 
 	* Add --flt and --rth_flt switches for symmetry to --dbl and --rth_dbl
 
-2013-09-17 Pedro Vicente  <pvicente at uci.edu>
+2013-09-17  Pedro Vicente  <pvicente at uci.edu>
 
 	* Add ncra regressions #25,26 2 records to process in 2 groups (do record in group only)
 
@@ -391,7 +945,7 @@
 
 	* Finish documentation on type conversion, precision, and --dbl
 
-2013-09-11 Pedro Vicente  <pvicente at uci.edu>
+2013-09-11  Pedro Vicente  <pvicente at uci.edu>
 
 	* Add ncra regression #24 (records, group case)
 
@@ -417,7 +971,7 @@
 	by Lori Sentman, Mark Flanner, and Gary Strand.
 	Proof is in ~/netcdf_examples/bugs/ncwa_3528514/tst_gavg_nco.sh
 
-2013-09-07 Pedro Vicente  <pvicente at uci.edu>
+2013-09-07  Pedro Vicente  <pvicente at uci.edu>
 
 	* Add ncks regression #70, #71 (limits, group case)
 
@@ -427,7 +981,7 @@
 
 	* Add new global variable nco_rth_cnv for Arithmetic Convention
 
-2013-09-05 Pedro Vicente  <pvicente at uci.edu>
+2013-09-05  Pedro Vicente  <pvicente at uci.edu>
 
 	* Add ncrcat regression #22 (group case)
 
@@ -439,7 +993,7 @@
 
 	* ncra.c whitespace changes
 
-2013-09-04 Pedro Vicente  <pvicente at uci.edu>
+2013-09-04  Pedro Vicente  <pvicente at uci.edu>
 
 	* Add ncra regression #23 (group case)
 
@@ -451,11 +1005,11 @@
 
 	* nco_xtr_mk() correctly matches variable names that are proper subsets of ancestor group names
 
-2013-08-28 Pedro Vicente  <pvicente at uci.edu>
+2013-08-28  Pedro Vicente  <pvicente at uci.edu>
 
 	* Add in_grp_3.cdl group data for ncra testing
 
-2013-08-27 Pedro Vicente  <pvicente at uci.edu>
+2013-08-27  Pedro Vicente  <pvicente at uci.edu>
 
 	* Add ncwa test #41 Retain degenerate dimensions (one variable)
 
@@ -582,7 +1136,7 @@
 
 	* Rewrite MD5 infrastructure the right way, i.e., like GPE: use/pass dynamic structures
 
-2013-07-24 Pedro Vicente  <pvicente at uci.edu>
+2013-07-24  Pedro Vicente  <pvicente at uci.edu>
 
 	* Add in_grp_3.cdl group data for ncwa testing
 
@@ -626,7 +1180,7 @@
 
 	* Add ncrename stubs and docs for libnetcdf version of nc_rename_grp()
 
-2013-07-22 Pedro Vicente  <pvicente at uci.edu>
+2013-07-22  Pedro Vicente  <pvicente at uci.edu>
 
 	* nco_dmn_trv_msa() Update dimension with hyperslabed size
 
@@ -653,7 +1207,7 @@
         Fill value is average of nearest neigbours in input, but if neighbour was
 	just been filled then its value is NOT used in the calculation of the average.
 
-2013-07-18 Pedro Vicente  <pvicente at uci.edu>
+2013-07-18  Pedro Vicente  <pvicente at uci.edu>
 
 	* nco_dmn_avg_tbl() Transfer averaged dimensions information into GTT (-a for ncwa)
 
@@ -715,7 +1269,7 @@
 
 	* CDL mode works for non-char variables for attributes, dies for float attributes
 
-2013-07-15 Pedro Vicente  <pvicente at uci.edu>
+2013-07-15  Pedro Vicente  <pvicente at uci.edu>
 
 	* Add in_grp_3.cdl group data for ncwa testing
 
@@ -763,7 +1317,7 @@
 	* First version of group-recursive printer nco_grp_prn()
 	Routine is cornerstone of more flexible print output formatting
 
-2013-07-06 Pedro Vicente  <pvicente at uci.edu>
+2013-07-06  Pedro Vicente  <pvicente at uci.edu>
 
 	* Add in_grp_3.cdl group data for ncpdq testing
 
@@ -782,23 +1336,23 @@
 
 	* Implement --union, --intersection, GRP_VAR_UNN in ncflint, ncpdq
 
-2013-07-04 Pedro Vicente  <pvicente at uci.edu>
+2013-07-04  Pedro Vicente  <pvicente at uci.edu>
 
 	* Add in_grp_3.cdl group data for ncpdq testing
 
 	* Add ncpdq test #39 (Groups) Re-order 2D variable with record (no -C, MSA)
 
-2013-07-03 Pedro Vicente  <pvicente at uci.edu>
+2013-07-03  Pedro Vicente  <pvicente at uci.edu>
 
 	* Add ncpdq test #38 (Groups) Re-order 2D variable with record (-C, MSA)
 
-2013-07-02 Pedro Vicente  <pvicente at uci.edu>
+2013-07-02  Pedro Vicente  <pvicente at uci.edu>
 
 	* Add in_grp_3.cdl group data for ncpdq testing
 	* Add ncpdq test #36 (Groups) Re-order 2D variable with record (-C, no MSA)
 	* Add ncpdq test #37 (Groups) Re-order 2D variable with record (no -C, no MSA)
 
-2013-07-01 Pedro Vicente  <pvicente at uci.edu>
+2013-07-01  Pedro Vicente  <pvicente at uci.edu>
 
 	* Add in_grp_3.cdl group data for ncpdq testing
 
@@ -811,17 +1365,17 @@
 
 	* Add -G, --gpe, --unn to ncpdq documentation
 
-2013-06-28 Pedro Vicente  <pvicente at uci.edu>
+2013-06-28  Pedro Vicente  <pvicente at uci.edu>
 
 	* nco_lst_dmn_mk_trv() Build Name-ID array from input dimension names
 
 	* nco_var_dmn_scp() Variable has dimensions in scope of GTT dimension
 
-2013-06-27 Pedro Vicente  <pvicente at uci.edu>
+2013-06-27  Pedro Vicente  <pvicente at uci.edu>
 
 	* Add ncpdq test #24 Re-order several variables
 
-2013-06-27 Pedro Vicente  <pvicente at uci.edu>
+2013-06-27  Pedro Vicente  <pvicente at uci.edu>
 
 	* Add group use case for ncpdq in in_grp_3.cdl.
 
@@ -845,18 +1399,18 @@
 
 	* Add nco_prc_stt_get() and nco_prc_stm_get() to poll /proc/PID/stat and /proc/PID/statm
 
-2013-06-23 Pedro Vicente  <pvicente at uci.edu>
+2013-06-23  Pedro Vicente  <pvicente at uci.edu>
 
 	* nco_var_dmn_rdr_mtd_trv() Determine and set new dimensionality in metadata of each re-ordered variable
 
 	* nco_var_dmn_rdr_val_trv() Change dimension ordering of variable values
 
-2013-06-22 Pedro Vicente  <pvicente at uci.edu>
+2013-06-22  Pedro Vicente  <pvicente at uci.edu>
 
 	* Add ncpdq test #24 Reverse/Re-order 4D variable -a lev,time,-lon,-lat -v four_dmn_rec_var (MSA)
 	* Add ncpdq test #25 Re-order all variables -a lat,time (MSA)
 
-2013-06-21 Pedro Vicente  <pvicente at uci.edu>
+2013-06-21  Pedro Vicente  <pvicente at uci.edu>
 
 	* Add ncpdq test #19 Reverse/Re-order 3D variable -a -lat,-time -v three_dmn_var_dbl
 	* Add ncpdq test #20 Re-order several variables -a lat,time -v ty,three_dmn_rec_var (no MSA) Test 1
@@ -864,7 +1418,7 @@
 	* Add ncpdq test #22 Re-order several variables -a lat,time -v ty,three_dmn_rec_var (MSA) Test 1
 	* Add ncpdq test #23 Re-order several variables -a lat,time -v ty,three_dmn_rec_var (MSA) Test 2
 
-2013-06-19 Pedro Vicente  <pvicente at uci.edu>
+2013-06-19  Pedro Vicente  <pvicente at uci.edu>
 
 	* Add ncpdq test #6 Re-order 3D variable with MSA -C -a lat,lon,time -v three_dmn_var_dbl
 	* Add ncpdq test #7 Re-order 3D variable with MSA (stride) -a lat,lon,time -v three_dmn_var_dbl
@@ -873,14 +1427,14 @@
 
 	* Fix /proc/self/stat read types and add human-readable sizes for failed memory requests
 
-2013-06-18 Pedro Vicente  <pvicente at uci.edu>
+2013-06-18  Pedro Vicente  <pvicente at uci.edu>
 
 	* Add ncpdq test #13  Re-order 2D variable with record (-C, no MSA) -v two_dmn_rec_var -C -a lev,time
 	* Add ncpdq test #14  Re-order 2D variable with record (no -C, no MSA) -v two_dmn_rec_var -a lev,time
 	* Add ncpdq test #15  Re-order 2D variable with record (-C, MSA) -v two_dmn_rec_var -a lev,time
 	* Add ncpdq test #16  Re-order 2D variable with record (no -C, MSA) -v two_dmn_rec_var -a lev,time
 
-2013-06-17 Pedro Vicente  <pvicente at uci.edu>
+2013-06-17  Pedro Vicente  <pvicente at uci.edu>
 
 	* Add ncpdq test #10  Re-order 2D variable (no -C, no MSA) -v two_dmn_var -a lev,lat
 	* Add ncpdq test #11  Re-order 2D variable (-C, MSA) -v two_dmn_var -a lev,lat -d lat,1,1 -d lev,1,1
@@ -910,27 +1464,27 @@
 
 	* Tidy/fix ncflint OpenMP build. Tidy ncpdq.
 
-2013-05-29 Pedro Vicente  <pvicente at uci.edu>
+2013-05-29  Pedro Vicente  <pvicente at uci.edu>
 
         * Add data/in_1.cdl, data/in_2.cdl CDL files to test 2 input file operators
 
-2013-05-15 Pedro Vicente  <pvicente at uci.edu>
+2013-05-15  Pedro Vicente  <pvicente at uci.edu>
 
         * nco_cpy_fix_var_trv() Copy fixed variables from input to output file
 
-2013-05-08 Pedro Vicente  <pvicente at uci.edu>
+2013-05-08  Pedro Vicente  <pvicente at uci.edu>
 
         * nco_var_trv() Fill-in variable structure for a named GTT variable
 
-2013-05-09 Pedro Vicente  <pvicente at uci.edu>
+2013-05-09  Pedro Vicente  <pvicente at uci.edu>
 
         * ncflint test #6,7 --fix_rec_crd
 
-2013-05-08 Pedro Vicente  <pvicente at uci.edu>
+2013-05-08  Pedro Vicente  <pvicente at uci.edu>
 
         * trv_tbl_mrk_typ() Mark output netCDF type in GTT
 
-2013-05-07 Pedro Vicente  <pvicente at uci.edu>
+2013-05-07  Pedro Vicente  <pvicente at uci.edu>
 
         * ncflint test #5 Group weight 1D variable
 
@@ -940,11 +1494,11 @@
 
 	* Document new ncflint, ncbo capabilities
 
-2013-05-06 Pedro Vicente  <pvicente at uci.edu>
+2013-05-06  Pedro Vicente  <pvicente at uci.edu>
 
         * nco_fll_var_trv() Fill-in variable structure list for all extracted variables
 
-2013-05-03 Pedro Vicente  <pvicente at uci.edu>
+2013-05-03  Pedro Vicente  <pvicente at uci.edu>
 
         * nco_bld_aux_crd() Parse auxiliary coordinates
 
@@ -983,13 +1537,13 @@
 
 	* ncecat: Tidy OpenMP
 
-2013-04-24  Pedro Vicente  <pvicente at uci.edu>
+2013-04-24   Pedro Vicente  <pvicente at uci.edu>
 
         * trv_tbl_mrk_prc_fix() Mark fixed/processed flag in table
 
         * ncecat test #6,7,8 Concatenate variables/groups: 1D,2D variables
 
-2013-04-23  Pedro Vicente  <pvicente at uci.edu>
+2013-04-23   Pedro Vicente  <pvicente at uci.edu>
 
         * ncecat test #4,5 Concatenate variables/groups: scalars
 
@@ -6169,20 +6723,20 @@
 	simple cases (only gcc/g++ compilers, etc).  Original Makefile renamed
 	to Makefile.old. Tested under --enable-nco++=yes (default) &
 	--enable-nco++=no.  Added more logic as per CZ request on 3.15 - now
-	checks for runantlr, libantlr, antlr headers, 
+	checks for runantlr, libantlr, antlr headers,
 
 2006-03-13  Harry Mangalam  <hjm at tacgi.com>
 
-	* all but 1 benchmark work server-side.  When trying to execute the ncrcat 
+	* all but 1 benchmark work server-side.  When trying to execute the ncrcat
 	bench, the serverside fails when doing the ncwa command.  It uses
 	a very large amount of mem (~1.3G when it dies - de to an apache
 	limitation?)  Daniel and I are giving up for now - marked as TODO 692.
-	
+
 	* failing regressions tested and some resolved to bad handling by
 	benchmark script. Remaining ones are marked in the failure
 	message. Only new one is TODO691 - looks like a problem with
 	ncatted returning mysteriously null values. Total of 3 regressions
-	failing - 2 ncap, 1 ncatted. 
+	failing - 2 ncap, 1 ncatted.
 
 2006-03-09  Harry Mangalam  <hjm at tacgi.com>
 
@@ -6203,19 +6757,19 @@
 
 	* Remove bogus const prototype on return value of nco_typ_fmt_sng()
 	Apparently gcc 4.0.3 actually pays attention to intended
-	const-ness of return values in these situations 
+	const-ness of return values in these situations
 
 	* Fix TODO nco687 so unequal missing values are formatted
 	correctly in warning messages. This should help debug nco686.
 
 2006-03-09  Harry Mangalam  <hjm at tacgi.com>
 
-	* nco_bm_benchmarks.pl converted to NCO_benchmarks.pm with a good 
+	* nco_bm_benchmarks.pl converted to NCO_benchmarks.pm with a good
         bit of namespace cleanup.  There are still some inexplicable explicit
         declarations that are needed but only about 2-3.
 
 	* both benchmark and regression code support both serverside and
-	clientside execution.  There are still some remaining conflicts, 
+	clientside execution.  There are still some remaining conflicts,
 	but most benchmarks and most regressions run identically.
 
 	* the go() routine was rewritten to be a bit more coherent.  Again,
@@ -6223,7 +6777,7 @@
 
 	* Daniel's ss code changes have tracked the benchmarking code, so both
 	sides work with each other.  There are some unfortuneately primitive
-	hacks to get them working together, but while it's ugly (perl writes 
+	hacks to get them working together, but while it's ugly (perl writes
 	data to file and executes python to pick it up, it's simpler than
 	bringing swig into the picture.
 
@@ -6248,7 +6802,7 @@
 
 	* Change argument bool's to nco_bool's throughout libnco and frontends
 	NB: I may have missed non-front-end bools in libnco.
-	
+
 	* ncap2 now compiles, links, and runs when libnco built with g++
 
 	* Change ncap2 argument bool's to nco_bool's which are typedef's to int's
@@ -6279,7 +6833,7 @@
 
 2006-02-16  Harry Mangalam  <hjm at tacgi.com>
 
-	* Corrected BM code to account for error strings being eval'ed as 0 
+	* Corrected BM code to account for error strings being eval'ed as 0
           when compared as numeric and a number of other error-checking
           improvements.
 
@@ -6335,7 +6889,7 @@
 2006-01-30  Charlie Zender  <zender at uci.edu>
 
 	* cvs tag -c nco-3_1_1
-	Changes since nco-3_1_0: 
+	Changes since nco-3_1_0:
 	C++ builds work again, ssdap, nco++, 4.0-alpha11-compatible
 
 	* Changed copyright to 2006
@@ -6357,17 +6911,17 @@
 	* Added integration example to ncwa in manual
 
 2006-01-04  Harry Mangalam  <hjm at tacgi.com>
-	
+
  	* Fixes to the BM code to force the retrieval of DAP-requested files and
-          a variable ($prsrv_fl) to allow a regression test to maintain files if 
+          a variable ($prsrv_fl) to allow a regression test to maintain files if
 	  a previously downloaded file is needed for a successive test.
 
 	* noted in the TODO as well, but there is a difference between the
           opendap code running on sand (which passes all server-side
 	  regression tests) and the code running on hiperstore, which
 	  fails a number of them, many with OpenDAP errors emitted from
-	  the lib.  Still figuring this out. 
-	
+	  the lib.  Still figuring this out.
+
 	* mods to nco_fl_utl.c: in nco_fl_mk_lcl() to make ncatted and ncrename
 	  fail gracefully when asked to DAP-retrieve a file on which to operate.
 
@@ -6376,8 +6930,8 @@
 	* Add xbitmap icon to homepage
 
 2005-12-19  Harry Mangalam  <hjm at tacgi.com>
-	
-	* mod bm code to make a new dir for dap data and explicitly delete 
+
+	* mod bm code to make a new dir for dap data and explicitly delete
 	  everything in it for each new DAP test to force the network transfer.
 
 2005-12-13  Charlie Zender  <zender at uci.edu>
@@ -6394,7 +6948,7 @@
 
 	* C++-compatibility tweaks to nco_lmt.c, nco_omp.c, and configure.in
 	Current code causes g++ ICE TODO nco662
-	
+
 2005-12-09  Charlie Zender  <zender at uci.edu>
 
 	* Strip -std=c99 from CC and CFLAGS if CC is gcc* in order to support
@@ -6415,18 +6969,18 @@
 	make non_ncap UDUNITS=N
 	This NCO passes all regression tests
 	ncap and UDUNITS linkage remain C++ problems and prevent closing TODO nco656
-	
+
 	* Hacked nco_malloc_*() to remove errno references with G++
 	Presence triggers G++ error: undefined reference to `__errno_location()'
 	This is TODO nco659
-	
+
 	* Set #define YYDEBUG 0 in ncap_yacc.y so C++ compiles ncap_yacc.c
 
-	* Fix type conversions in nco_mss_val_cnf() 
+	* Fix type conversions in nco_mss_val_cnf()
 	This fixed a latent bug that was probably never expressed
 
-	* Explicitly coerce pointers in implicit conversions to make C++ happy in  
-	nco_cmp_chr(), nco_cmp_int(), ncpdq.c 
+	* Explicitly coerce pointers in implicit conversions to make C++ happy in
+	nco_cmp_chr(), nco_cmp_int(), ncpdq.c
 
 	* Correct const-ness of string list arguments with prototypes in
 	nco_prs_rnm_lst(), nco_fl_nm_prs()
@@ -6436,7 +6990,7 @@
 2005-12-02  Charlie Zender  <zender at uci.edu>
 
 	* cvs tag -c nco-3_1_0
-	Changes since nco-3_0_3: 
+	Changes since nco-3_0_3:
 	MPI ZKB, configure netcdf4/mpi, ncwa MRV, ncap rnd_nbr(), netcdf4-alpha10
 
 	* Preparing for NCO 3.1.0 release
@@ -6445,11 +6999,11 @@
 
 	* Changed ncap.c to allow MACOSX to use erf, erfc, gamma
 
-	* changed configure.in to accept a more flexible OS/arch string to 
+	* changed configure.in to accept a more flexible OS/arch string to
 	be able to set AMD64 (reason for previous failing the erf() tests in
 	ncap).
-	
-	* changed the ncap benchmark scripts to correct syntax errors and change 
+
+	* changed the ncap benchmark scripts to correct syntax errors and change
 	dimensions to correspond to the casting dimension order.
 
 2005-11-29  Charlie Zender  <zender at uci.edu>
@@ -6467,7 +7021,7 @@
 	in netCDF4 configure to appear in library, possible hardware dependency
 
 2005-11-28  Harry Mangalam  <hjm at tacgi.com>
-	
+
 	* Spiffing configure/makefiles to make sure that netcdf4 works as
 	expected; adding dependencies into configure rather than requiring the
 	full set to be run at the commandline.  Still a question about  the
@@ -6537,25 +7091,25 @@
 
 	* back on track with updating Makefiles the right way(c)
 
-	* updated MANIFEST to include new bm scripts and the breakup of 
+	* updated MANIFEST to include new bm scripts and the breakup of
         nco_bm.pl.
 
 2005-11-09  Charlie Zender  <zender at uci.edu>
 
 	* Omit -lstdc++ from AIX xl* DAP builds
 
-	* Add CVS Header and -*-makefile-*- to all Makefile.am's 
+	* Add CVS Header and -*-makefile-*- to all Makefile.am's
 	This automatically invokes Emacs Makefile-mode syntax/highlighting
 
 2005-10-31  Harry Mangalam  <hjm at tacgi.com>
 
 	* Changes to mk_bm_plots to scriptify the last of CZ's requests
 
-	* Changes to configure/make to straighten out build protocols 
+	* Changes to configure/make to straighten out build protocols
 	for netcdf4 (NETCDF4_ROOT to be defined, needs to be named
 	libnetcdf4, not libnetcdf).  Automatic paths for -I, -L based
-	on the NETCDF4_ROOT) 
-  
+	on the NETCDF4_ROOT)
+
 2005-10-28  Harry Mangalam  <hjm at tacgi.com>
 
 	* Changes to the configure/make chain to start to resolve
@@ -6565,7 +7119,7 @@
 	and also MPI on Linux (x86,AMD64).  Suports Rich Lowry's
 	mpich2 debs (no additional flags) and MPICH2 from src if
 	given MPICH_ROOT.
-  
+
 	* added checks for -lf95, more error checking
 
 2005-10-27  Charlie Zender  <zender at uci.edu>
@@ -6608,8 +7162,8 @@
 	in nco_netcdf.c wrapper functions for libnetcdf.a library
 
 	* Support netCDF4 NC_UBYTE,NC_USHORT,NC_UINT,NC_INT64,NC_UINT64
-	in metadata and some structures. Still need to add read/write and 
-	conversion/promotion functions. 
+	in metadata and some structures. Still need to add read/write and
+	conversion/promotion functions.
 
 2005-10-22  Charlie Zender  <zender at uci.edu>
 
@@ -6630,7 +7184,7 @@
 	* configure[.in], Makefile[.in], src/nco/Makefile[.in] in good enough
 	shape to commit.  Still some shakiness, but time to check clean checkouts
 	on other platforms.  Now supports --enable-mpi, --enable-netcdf4
-	
+
 	* configure supports MacOSX build (detects OSX and deletes POSIX flag).
 
 2005-10-21  Charlie Zender  <zender at uci.edu>
@@ -6640,7 +7194,7 @@
 	* Verfied that parallelizing use of in_id in SMP code allows
 	parallel read access to file data with nco_get_var*() in ncra.
 	Hence, removed last critical read region from libnco.a
-	SMP on other (non-ncra) operators temporarily broken until 
+	SMP on other (non-ncra) operators temporarily broken until
 	I parallelize their front end use of in_id.
 
 	* Re-wrote nco_omp_ini() logic to use stubs outside of #ifdefs
@@ -6722,12 +7276,12 @@
 
 2005-10-12  Harry Mangalam  <hjm at tacgi.com>
 
-   * added --enable-netcdf4 to configure, configure.in to find the bits
-     necessary (libhdf5, libhdf_hl) to build the netcdf4 version of NCOs
-     (TODO bld52)
+	* added --enable-netcdf4 to configure, configure.in to find the bits
+	necessary (libhdf5, libhdf_hl) to build the netcdf4 version of NCOs
+	(TODO bld52)
 
 	* mods to mk_bm_plot.pl to zero time axis (TODO bld56), compute
-	  regression and place on plots (TODO bld57), 
+	  regression and place on plots (TODO bld57),
 
 2005-10-08  Charlie Zender  <zender at uci.edu>
 
@@ -6770,7 +7324,7 @@
 		into dust for testing (hmangalm at esmf -> hjm at dust)
 
 	* Fixed file tests broken in nco_bm.pl re-org.
-	
+
 	* Fixed udp reporting as per ditto.
 
 2005-09-27  Charlie Zender  <zender at uci.edu>
@@ -6811,18 +7365,18 @@
 	Replaced naked constants with following compile-time tokens/enums:
 	mgr_id,WORK_ALLOC,WORK_REQUEST,TOKEN_ALLOC,TOKEN_REQUEST,TOKEN_RESULT,
 	NO_MORE_WORK,TOKEN_WAIT,TOKEN_ALLOC
-	
+
 	* Create new header nco_mpi.h for all MPI-specific header information
-	Currently this header is only accessed by main() MPI programs 
+	Currently this header is only accessed by main() MPI programs
 	Hence it is not (yet) part of libnco.a
 	Header assumes its inclusion is already conditional on ENABLE_MPI
-	This is currently a header mostly for pre-processor tokens 
-	with few odd file scope constants needed by MPI routines 
+	This is currently a header mostly for pre-processor tokens
+	with few odd file scope constants needed by MPI routines
 	There are no functions yet
 	Adding functions would require creating a corresponding *.c file
 	Adding *.c file requires including it in libnco.a or separately linking
 	MPI executables to it, i.e., slightly complicating the build procedure.
-	I'm not yet sure I want _any_ MPI link dependencies in libnco.a 
+	I'm not yet sure I want _any_ MPI link dependencies in libnco.a
 	Cross-platform link weirdness (e.g., AIX) makes this something to avoid
 	as long as possible
 
@@ -6851,23 +7405,23 @@
 2005-09-17  Charlie Zender  <zender at uci.edu>
 
 	* SMP mpncpdq fails ncpdq regression test 4. This is TODO nco598.
-	
+
 	* Add mpi_cln target to bld/Makefile to remove MPI executables
-	This makes it simple to build/erase all MPI_FAKE executables	
+	This makes it simple to build/erase all MPI_FAKE executables
 
 	* Yesterday's MPI_FAKE mpncea fix broke MPI mpncea regression test 1
 	Today's fix works with SMP and MPI mpncea/mpncra/mpncrcat
 	Testing shows this fix does nothing about ncrcat hanging TODO nco593
-	
+
 	* Add $HOME/nco/bm to Perl @INC so nco_bm.pl runs from directories
 	(e.g., bld) from which bm is ../bm
 
 	* Verify icc 9.0-compiled NCO works in UP/SMP/MPI modes
 
-	* Add '/' to $prefix so nco_bm.pl works when executables in $MY_BIN_DIR 
+	* Add '/' to $prefix so nco_bm.pl works when executables in $MY_BIN_DIR
 	NB: nco_bm.pl does not run for me unless $MY_BIN_DIR is defined
 	Probably same for other bld/Makefile users.
-	
+
 2005-09-16  Harry Mangalam  <hjm at tacgi.com>
 
 	* added --mpi_fake (aka -mpi_fke aka --fake_mpi)  to allow running of
@@ -6878,7 +7432,7 @@
 2005-09-16  Charlie Zender  <zender at uci.edu>
 
 	* Move mpncra.c nco_var_srt_zero() from MPI to common code so
-	UP/SMP executables zero start vectors. Fixes mpncea bug TODO nco594. 
+	UP/SMP executables zero start vectors. Fixes mpncea bug TODO nco594.
 
 2005-09-16  Harry Mangalam  <hjm at tacgi.com>
 
@@ -6904,18 +7458,18 @@
 
 	* the only thing that definitely does not work at this point is the
 	MD5 checking due to some particulary hairy namespace problems.
-	
-	* the MPI versions of the checks have not been tested yet either, 
+
+	* the MPI versions of the checks have not been tested yet either,
 	altho the commandlines it generates are correct.
 
-	* I belive it is up to date with the latest regression tests and 
+	* I belive it is up to date with the latest regression tests and
 	benchmarks.  The relevant bits were diffed against the current code
 	and they appear to be in sync.
 
 2005-09-15  Charlie Zender  <zender at uci.edu>
 
 	* Port ncwa 20050608 bugfix for DO_CONFORM_[MSK,WGT] to mpncwa
-	
+
 	* mpncea hangs on ncea regression test 4 (on sand with LAM) TODO nco597
 
 	* Use fake end scopes to correct Emacs indentation in mpncra.c, mpncpdq.c
diff --git a/doc/MANIFEST b/doc/MANIFEST
index ed32d8f..987637b 100644
--- a/doc/MANIFEST
+++ b/doc/MANIFEST
@@ -1,4 +1,4 @@
-$Header: /cvsroot/nco/nco/doc/MANIFEST,v 1.59 2013/12/02 01:05:56 zender Exp $ -*-text-*-
+$Header: /cvsroot/nco/nco/doc/MANIFEST,v 1.61 2014/02/20 16:43:22 zender Exp $ -*-text-*-
 
 This file enumerates the files in the NCO distribution and, where
 appropriate, describes the purpose of the file.
@@ -70,9 +70,11 @@ nco/data/Makefile(v)	Autotools-generated Makefile
 nco/data/Makefile.am	Automake instructions
 nco/data/Makefile.in(v)	Autotools-generated Makefile
 nco/data/big.cdl 	CDL file to huge netCDF test files
+nco/data/big.cdl 	CDL file to huge netCDF test files
 nco/data/bin_cnt.nco 	ncap2 sample script that bins wind speeds
 nco/data/ddra.nco	Sample ncap2 script that computes DDRA statistics
 nco/data/hdr_pad.sh	Utility to check size of metadata header
+nco/data/hdn.cdl 	CDL file to test hidden attributes
 nco/data/in.cdl 	CDL file to generate netCDF test file in.nc
 nco/data/in_4.cdl 	CDL file to generate netCDF4 test file in_4.nc
 nco/data/in_grp.cdl 	CDL file to test netCDF4 group functionality
@@ -81,7 +83,10 @@ nco/data/in_grp_2.cdl 	CDL file to test ncbo functionality on groups
 nco/data/in_1.cdl 	CDL file to test 2 input file operators
 nco/data/in_2.cdl 	CDL file to test 2 input file operators
 nco/data/cmip5.cdl 	CDL file to test ncbo functionality on groups
-nco/data/obs.cdl 	CDL file to test ncbo functionality on groups
+nco/data/dsm.cdl 	CDL file to test ncdismember
+nco/data/mdl.cdl 	CDL file to test ensemble operations
+nco/data/mdl2.cdl 	CDL file to test ensemble operations
+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/netcdf4.nco	Sample input script for netCDF4-enabled ncap2
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 9ffef6d..92c1b29 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -1,26 +1,37 @@
 info_TEXINFOS = nco.texi
-EXTRA_DIST = nco nco.pdf nco.ps VERSION
+EXTRA_DIST = nco nco.dvi nco.html nco.pdf nco.ps nco.xml VERSION
 
 # csz 20061120 override default MAKEINFOHTML defaults:
 # --ifinfo: Treat HTML branches same as info branches
 # --output=html: Output to html directory
 # Unfortunately, autoconf overrides --output
-AM_MAKEINFOHTMLFLAGS = --ifinfo
+# AM_MAKEINFOHTMLFLAGS = --ifinfo
 # Create single HTML file instead of file-per-node
-#AM_MAKEINFOHTMLFLAGS = --ifinfo --no-split
+AM_MAKEINFOHTMLFLAGS = --ifinfo --no-split
 
-# Automake manual section 14:
-# If configure built it, 'distclean' should delete it
-# If make built it, 'clean' should delete it
-CLEANFILES = nco nco.info* nco.pdf nco.txt nco.xml
+## Automake manual section 14:
+## If configure built it, 'distclean' should delete it
+## If make built it, 'clean' should delete it
+#CLEANFILES = nco nco.dvi nco.info* nco.pdf nco.ps nco.txt nco.xml
+#
+## Additions for NCO; automake may support these later on
+## .PHONY tells make to remake the following non-file targets 
+#.PHONY: html_docs pdf_docs txt_docs xml_docs
+#html_docs = nco.html
+#.texi.html:
+#	$(MAKEINFO) --html --ifinfo --no-split --output=$@ $<
+##	$(MAKEINFO) --html --no-split $<
+#pdf_docs = nco.pdf
+#.texi.pdf:
+#	$(TEXI2DVI) --pdf $<
+##ps_docs = nco.ps
+##.texi.ps:
+##	dvips -o $@ $<
+#txt_docs = nco.txt
+#.texi.txt:
+#	$(MAKEINFO) --no-headers --output=$@ $<
+#xml_docs = nco.xml
+#.texi.xml:
+#	$(MAKEINFO) --xml --ifinfo --no-split --output=$@ $<
 
-# Additions for NCO; automake may support these later on
-html_docs = nco.html
-.texi.html:
-	$(MAKEINFO) --html $<
-#	$(MAKEINFO) --html --no-split $<
-.PHONY: html_docs pdf_docs
-pdf_docs = nco.pdf
-.texi.pdf:
-	$(TEXI2DVI) --pdf $<
 	
diff --git a/doc/Makefile.in b/doc/Makefile.in
index cd16e4f..69b1666 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -136,7 +136,7 @@ AM_V_texidevnull = $(am__v_texidevnull_ at AM_V@)
 am__v_texidevnull_ = $(am__v_texidevnull_ at AM_DEFAULT_V@)
 am__v_texidevnull_0 = > /dev/null
 am__v_texidevnull_1 = 
-INFO_DEPS = nco.info
+INFO_DEPS = $(srcdir)/nco.info
 TEXINFO_TEX = $(top_srcdir)/autobld/texinfo.tex
 am__TEXINFO_TEX_DIR = $(top_srcdir)/autobld
 DVIS = nco.dvi
@@ -216,6 +216,7 @@ EXEEXT = @EXEEXT@
 FGREP = @FGREP@
 GREP = @GREP@
 HAVE_ANTLR = @HAVE_ANTLR@
+HAVE_MAKEINFO = @HAVE_MAKEINFO@
 I18N_SHARE = @I18N_SHARE@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
@@ -294,7 +295,6 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
-have_makeinfo = @have_makeinfo@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -328,28 +328,19 @@ top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 info_TEXINFOS = nco.texi
-EXTRA_DIST = nco nco.pdf nco.ps VERSION
+EXTRA_DIST = nco nco.dvi nco.html nco.pdf nco.ps nco.xml VERSION
 
 # csz 20061120 override default MAKEINFOHTML defaults:
 # --ifinfo: Treat HTML branches same as info branches
 # --output=html: Output to html directory
 # Unfortunately, autoconf overrides --output
-AM_MAKEINFOHTMLFLAGS = --ifinfo
+# AM_MAKEINFOHTMLFLAGS = --ifinfo
 # Create single HTML file instead of file-per-node
-#AM_MAKEINFOHTMLFLAGS = --ifinfo --no-split
-
-# Automake manual section 14:
-# If configure built it, 'distclean' should delete it
-# If make built it, 'clean' should delete it
-CLEANFILES = nco nco.info* nco.pdf nco.txt nco.xml
-
-# Additions for NCO; automake may support these later on
-html_docs = nco.html
-pdf_docs = nco.pdf
+AM_MAKEINFOHTMLFLAGS = --ifinfo --no-split
 all: all-am
 
 .SUFFIXES:
-.SUFFIXES: .dvi .html .pdf .ps .texi
+.SUFFIXES: .dvi .html .info .pdf .ps .texi
 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
@@ -387,40 +378,44 @@ mostlyclean-libtool:
 clean-libtool:
 	-rm -rf .libs _libs
 
-nco.info: nco.texi 
+.texi.info:
 	$(AM_V_MAKEINFO)restore=: && backupdir="$(am__leading_dot)am$$$$" && \
+	am__cwd=`pwd` && $(am__cd) $(srcdir) && \
 	rm -rf $$backupdir && mkdir $$backupdir && \
 	if ($(MAKEINFO) --version) >/dev/null 2>&1; then \
 	  for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \
 	    if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \
 	  done; \
 	else :; fi && \
+	cd "$$am__cwd"; \
 	if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
-	 -o $@ `test -f 'nco.texi' || echo '$(srcdir)/'`nco.texi; \
+	 -o $@ $<; \
 	then \
 	  rc=0; \
+	  $(am__cd) $(srcdir); \
 	else \
 	  rc=$$?; \
+	  $(am__cd) $(srcdir) && \
 	  $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
 	fi; \
 	rm -rf $$backupdir; exit $$rc
 
-nco.dvi: nco.texi  
+.texi.dvi:
 	$(AM_V_TEXI2DVI)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
 	MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
 	$(TEXI2DVI) $(AM_V_texinfo) --build-dir=$(@:.dvi=.t2d) -o $@ $(AM_V_texidevnull) \
-	`test -f 'nco.texi' || echo '$(srcdir)/'`nco.texi
+	$<
 
-nco.pdf: nco.texi  
+.texi.pdf:
 	$(AM_V_TEXI2PDF)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
 	MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
 	$(TEXI2PDF) $(AM_V_texinfo) --build-dir=$(@:.pdf=.t2p) -o $@ $(AM_V_texidevnull) \
-	`test -f 'nco.texi' || echo '$(srcdir)/'`nco.texi
+	$<
 
-nco.html: nco.texi  
+.texi.html:
 	$(AM_V_MAKEINFO)rm -rf $(@:.html=.htp)
 	$(AM_V_at)if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
-	 -o $(@:.html=.htp) `test -f 'nco.texi' || echo '$(srcdir)/'`nco.texi; \
+	 -o $(@:.html=.htp) $<; \
 	then \
 	  rm -rf $@; \
 	  if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
@@ -430,6 +425,10 @@ nco.html: nco.texi
 	    rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \
 	  exit 1; \
 	fi
+$(srcdir)/nco.info: nco.texi 
+nco.dvi: nco.texi 
+nco.pdf: nco.texi 
+nco.html: nco.texi 
 .dvi.ps:
 	$(AM_V_DVIPS)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
 	$(DVIPS) $(AM_V_texinfo) -o $@ $<
@@ -592,7 +591,6 @@ install-strip:
 mostlyclean-generic:
 
 clean-generic:
-	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
@@ -778,12 +776,22 @@ uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \
 	uninstall-dvi-am uninstall-html-am uninstall-info-am \
 	uninstall-pdf-am uninstall-ps-am
 
-.texi.html:
-	$(MAKEINFO) --html $<
-#	$(MAKEINFO) --html --no-split $<
-.PHONY: html_docs pdf_docs
-.texi.pdf:
-	$(TEXI2DVI) --pdf $<
+
+#CLEANFILES = nco nco.dvi nco.info* nco.pdf nco.ps nco.txt nco.xml
+#
+#.PHONY: html_docs pdf_docs txt_docs xml_docs
+#html_docs = nco.html
+#.texi.html:
+#	$(MAKEINFO) --html --ifinfo --no-split --output=$@ $<
+#pdf_docs = nco.pdf
+#.texi.pdf:
+#	$(TEXI2DVI) --pdf $<
+#txt_docs = nco.txt
+#.texi.txt:
+#	$(MAKEINFO) --no-headers --output=$@ $<
+#xml_docs = nco.xml
+#.texi.xml:
+#	$(MAKEINFO) --xml --ifinfo --no-split --output=$@ $<
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/doc/TAG b/doc/TAG
index d1b7b79..61d7a53 100644
--- a/doc/TAG
+++ b/doc/TAG
@@ -1 +1 @@
-$Name: nco-4_3_9 $
+$Name: nco-4_4_2 $
diff --git a/doc/TODO b/doc/TODO
index 926983d..91460c5 100644
--- a/doc/TODO
+++ b/doc/TODO
@@ -1,4 +1,4 @@
-$Header: /cvsroot/nco/nco/doc/TODO,v 1.1256 2013/12/02 20:48:45 zender Exp $
+$Header: /cvsroot/nco/nco/doc/TODO,v 1.1262 2014/02/18 17:44:07 zender Exp $
 
 # Purpose: TODO items for NCO
 
@@ -84,7 +84,7 @@ nco92. ncrcat -O -v base_time,time_offset arm.cdf arm.cdf foo.nc;ncks -H -C -h f
 nco99. Allow ncatted to dump file in ncatted format
 nco103. Implement trapezoidal rule option in ncra, nces
 nco105. Add easy-to-read tabular display option for file contents for ncks, i.e, allow ncks -s to print multiple variables in column format
-nco106. Add switch to keep degenerate dimensions with ncwa, remove them from ncra
+nco106. Add switch to remove degenerate dimensions from ncra
 nco111. Investigate whether using ncwa to average files where variables of type 
         NC_CHAR have a record dimension causes core dumps or other problems.
         i.e., LSM variable timecom caused subtle ncra problems for awhile.
@@ -279,7 +279,6 @@ nco568. bm: test NC_SHARE in ncatted/ncrename?
 nco576. Re-order arguments so var_sbt computes op2:=op1-op2 rather than op2:=op2-op1
 nco577. ncbo: remove dangling pointers in var_1, var_2 after ncap_var_cnf_dmn()
 nco578. ncbo: Use ncbo.c as template for [mp]ncflint re-write
-nco581. ncbo: symmetric w/r/t fl_1 <--> fl_2, Step 2: allow xtr_nbr_out=max(xtr_nbr_1,xtr_nbr_2) when xtr_nbr_2>xtr_nbr_1 if discrepant variables are type fix (e.g., grid properties) not type prc (NB: already works for xtr_nbr_1>xtr_nbr_2)
 nco599. mpi: Allow targets to determine Makefile variables so, e.g., 'make mpi' automagically defines MPI=Y
 nco607. mpi: mpnc*: Define structures (rather than int arrays) for MPI messages
 nco609. mpi: Tune (or remove?) sleep interval in MPI operators
@@ -592,11 +591,6 @@ nco1023. nco: ncap2 overwrites arrays with scalars (and changes type!) without a
 	 ncks -v one_dmn_rec_var -C -m -H ~/foo.nc
 nco222.  nco: Warn when nces/ncra operate on scaled variables ("Results will be meaningless if scale_factor and add_offset are not identical in each file")
 nco1025. nco: ncrcat/ncecat warn/die when concatenating files with different scale factors
-nco1026. ncwa weighted average bug reported by Lori Sentman, then by Mark Flanner
-	 ncwa -O -C -w area -a lat -v area ~/nco/data/in.nc ~/foo.nc # 10
-	 ncwa -O -C -w area_asm -a lat -v area ~/nco/data/in.nc ~/foo.nc # 10
-	 ncwa -O -C -w area_asm -a lat -v area2 ~/nco/data/in.nc ~/foo.nc # 10
-	 ncks -H -C -v area -m ~/foo.nc
 nco1028. ncap2: create maintainable list of reserved words and put in manual
 nco1033. ncrcat: warn when first file has more variables than subsequent files
 nco1035. rewrite nco_var_cnf_typ() to use default rather than truncated missing values
@@ -621,7 +615,7 @@ nco1059. nco: ncatted keep type same by default when modifying/overwriting attri
 nco1063. use '--with-nc-config=path' in configure when possible (rich signell idea) 
 nco1065. ncra2.c move input_complete break to precede record loop but remember to close open filehandles
 nco1067. stat() fails on ~30 GB file on windows? fix workaround
-nco1068. nco: optimize so ncra writes straight to output when drn==1, MRO=Yes (i.e., no nrm) maybe not, what about rms? verify
+nco1068. nco: optimize so ncra writes straight to output when ssc==1, MRO=Yes (i.e., no nrm) maybe not, what about rms? verify
 	 ncra2 -O -C -d time,0,,1,1 --mro -v time -p ~/nco/data in.nc in.nc ~/foo.nc # 
 nco1070. nco: rx add windows equivalent to variable wildcarding regex.h
 nco1071. nco: rx add windows equivalent to filename expansion (globbing) 
@@ -655,8 +649,12 @@ A. ncflint now always works when input files are interchanged, i.e.,
 nco1102. ncatted handle arrays of NC_STRINGs with embedded delimiters
 	 ncatted -D 5 -O -a new_string_att,att_var,c,sng,"list","of","str,ings" ~/nco/data/in_4.nc ~/foo.nc
 nco1104. ncrename and ncatted copy through API with --hdf4
-nco1106. 
-
+nco1106. autoconvert netCDF4 string variable to netCDF3 nc_char type. requires dummy dimension for NC_CHAR array length
+         ncks -O -G : -g /g11/ -v string_var -3 ~/nco/data/in_grp.nc ~/foo.nc
+nco1107. add switch to retain dimensions no longer referenced?
+nco1108. add switch to retain dimensions no longer referenced?
+nco1109. broadcast degenerate dimensions in nco_var_cnf_dmn()/ncap_var_cnf_dmn(): helps ncap/ncwa/ncbo/ncflint
+nco1110. 
 qrk
 ************************************************************************
 End ncoXXX TODOs
@@ -939,7 +937,7 @@ ncap79. make abs() synonym for fabs() and pow() and ** synonyms for ^
 ncap80. ncap2+openmp+netCDF4 - script only works with threads>1 if there are no atts in input file
 ncap81. script 'defdim("a",3);defdim("b",4);a[$a,$b]=10;' works on netCDF3 not netCDF4. Known bug with netCDF4. (Why? what causes it?) 
 ncap82. Unable to average single/multi dimensional var of total size 1 var in ncap2 
-e.g defdim("X",10);defdim("Y",1); m[X,Y]=10; m.avg();- fails with seg fault  
+e.g., defdim("X",10);defdim("Y",1); m[X,Y]=10; m.avg();- fails with seg fault  
 ************************************************************************
 End ncapXXX TODOs
 ************************************************************************
diff --git a/doc/VERSION b/doc/VERSION
index b7f7949..f939222 100644
--- a/doc/VERSION
+++ b/doc/VERSION
@@ -1 +1 @@
-4.3.9
\ No newline at end of file
+4.4.2
\ No newline at end of file
diff --git a/doc/beta.txt b/doc/beta.txt
index 67532bd..6d31465 100644
--- a/doc/beta.txt
+++ b/doc/beta.txt
@@ -1,11 +1,13 @@
 ************************************************************************
-Begin Debian/Ubuntu and AIX beta- or pre-release explanation:
-Posted to NCO groups in Spring 2010; updated March 2011.
+Begin NCO numbering and pre-release explanation:
+Posted to NCO groups in Spring 2010; 
+Updated March 2011, 
+Updated February 2014
 ************************************************************************
-Debian/Ubuntu users who want the latest NCO features before official
-releases, without building from source, take heed: Bleeding-edge NCO
-features are available in Debian package format before official
-releases. New features are built into pre-release .deb packages as the
+Users who want the latest NCO features before official releases,
+without building from source, take heed: Bleeding-edge NCO features 
+are available before official releases. 
+New features are built into pre-release .deb packages as the 
 features are introduced.  Once an (arbritrary) number of new features
 seems stable, we simply announce that the current pre-release code is
 the official (stable) release code. For example, .deb packages with
diff --git a/doc/debian.txt b/doc/debian.txt
index eb4e7c3..1c3efe5 100644
--- a/doc/debian.txt
+++ b/doc/debian.txt
@@ -1,4 +1,4 @@
-# $Header: /cvsroot/nco/nco/doc/debian.txt,v 1.197 2013/11/13 20:57:02 zender Exp $ -*-text-*-
+# $Header: /cvsroot/nco/nco/doc/debian.txt,v 1.200 2014/02/05 21:17:07 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.3.9
-   First we create a clean source distribution of nco and place it in nco-4.3.9
-   Once automated, we will use cvs co -rnco-4_3_9 to get source
+   For starters, we wish to create .debs of tagged releases, e.g., nco-4.4.2
+   First we create a clean source distribution of nco and place it in nco-4.4.2
+   Once automated, we will use cvs co -rnco-4_4_2 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.3.9
-/bin/rm nco.tar.gz;tar cvzf nco-4.3.9.tar.gz ./nco-4.3.9/*
-cd ~/nco/nco-4.3.9
-dh_make -e zender at uci.edu -f ../nco-4.3.9.tar.gz
+cd ~/nco;tar xvzf nco.tar.gz;mv nco nco-4.4.2
+/bin/rm nco.tar.gz;tar cvzf nco-4.4.2.tar.gz ./nco-4.4.2/*
+cd ~/nco/nco-4.4.2
+dh_make -e zender at uci.edu -f ../nco-4.4.2.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.3.9.tar.gz
    from previous build
 
    cd ~/nco;/bin/rm *.gz
-   cd ~/nco/nco-4.3.9
+   cd ~/nco/nco-4.4.2
    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_3_9 with X_Y_Z+1
-# tags-query replace 4.3.9 with X.Y.Z+1
+# tags-query replace 4_4_2 with X_Y_Z+1
+# tags-query replace 4.4.2 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.3.9-1 # Update changelog (-b forces this version number)
+   cd ~/nco/debian;dch -b --force-distribution --distribution=unstable -v 4.4.2-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.3.9 release";cvs tag -c nco-4_3_9
-   ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln nco-4_3_9
+   cd ~/nco;cvs commit -m "Preparing nco-4.4.2 release";cvs tag -c nco-4_4_2
+   ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln nco-4_4_2
 # Upload tarball to SF https://sourceforge.net/projects/nco/files 
-   cd;scp dust.ess.uci.edu:/var/www/html/nco/src/nco-4.3.9.tar.gz .
+   cd;scp dust.ess.uci.edu:/var/www/html/nco/src/nco-4.4.2.tar.gz .
 
 7. Ubuntu PPA
 https://help.launchpad.net/Packaging/PPA
-dput NCO nco_4.3.9-2~ppa1_source.changes
+dput NCO nco_4.4.2-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.3.9-1.dpkg-buildpackage.txt
-http://dust.ess.uci.edu/nco/src/nco_4.3.9-1.dsc
-http://dust.ess.uci.edu/nco/src/nco_4.3.9-1_i386.changes
-http://dust.ess.uci.edu/nco/src/nco_4.3.9-1_i386.deb
-http://dust.ess.uci.edu/nco/src/nco_4.3.9.orig.tar.gz
+http://dust.ess.uci.edu/nco/src/nco_4.4.2-1.dpkg-buildpackage.txt
+http://dust.ess.uci.edu/nco/src/nco_4.4.2-1.dsc
+http://dust.ess.uci.edu/nco/src/nco_4.4.2-1_i386.changes
+http://dust.ess.uci.edu/nco/src/nco_4.4.2-1_i386.deb
+http://dust.ess.uci.edu/nco/src/nco_4.4.2.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.3.9 ${DATA}/nco_4.3.9* ${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_3_9-1 -d nco-4.3.9 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.3.9 nco # Export most recent
-tar cvzf ./nco_4.3.9.orig.tar.gz --exclude='nco-4.3.9/debian*' --exclude='.cvsignore' --exclude='ncap_lex.c' --exclude='ncap_yacc.[ch]' ./nco-4.3.9 
-/bin/rm -rf ${DATA}/nco-4.3.9 # Remove cvs-exported directory
-tar xvzf ./nco_4.3.9.orig.tar.gz # Untar to get directory without excluded files
-mkdir -p ${DATA}/nco-4.3.9/debian/source;cd ~/nco/debian;/bin/cp changelog compat control convert copyright doc-base files info rules ${DATA}/nco-4.3.9/debian;cd ~/nco/debian/source;/bin/cp format ${DATA}/nco-4.3.9/debian/source # Replace debian directory with _CURRENT_ (main trunk) settings
+sudo /bin/rm -rf ${DATA}/nco-4.4.2 ${DATA}/nco_4.4.2* ${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_2-1 -d nco-4.4.2 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.2 nco # Export most recent
+tar cvzf ./nco_4.4.2.orig.tar.gz --exclude='nco-4.4.2/debian*' --exclude='.cvsignore' --exclude='ncap_lex.c' --exclude='ncap_yacc.[ch]' ./nco-4.4.2 
+/bin/rm -rf ${DATA}/nco-4.4.2 # Remove cvs-exported directory
+tar xvzf ./nco_4.4.2.orig.tar.gz # Untar to get directory without excluded files
+mkdir -p ${DATA}/nco-4.4.2/debian/source;cd ~/nco/debian;/bin/cp changelog compat control convert copyright doc-base files info rules ${DATA}/nco-4.4.2/debian;cd ~/nco/debian/source;/bin/cp format ${DATA}/nco-4.4.2/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.3.9;dpkg-buildpackage -rsudo -uc -us > ~/foo.nco 2>&1 # -uc -us: Do not sign changes or source files
-#cd ${DATA}/nco-4.3.9;dpkg-buildpackage -rsudo -sa > ~/foo.nco 2>&1 # -sa: Include _orig.tar.gz in .changes 
-cd ${DATA}/nco-4.3.9;dpkg-buildpackage -rsudo > ~/foo.nco 2>&1
+#cd ${DATA}/nco-4.4.2;dpkg-buildpackage -rsudo -uc -us > ~/foo.nco 2>&1 # -uc -us: Do not sign changes or source files
+#cd ${DATA}/nco-4.4.2;dpkg-buildpackage -rsudo -sa > ~/foo.nco 2>&1 # -sa: Include _orig.tar.gz in .changes 
+cd ${DATA}/nco-4.4.2;dpkg-buildpackage -rsudo > ~/foo.nco 2>&1
 sudo dpkg --remove nco
-sudo dpkg --install ${DATA}/nco_4.3.9-1_*.deb
+sudo dpkg --install ${DATA}/nco_4.4.2-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.3.9-1_*.deb
-ls -l ${DATA}/nco_4.3.9*
+lintian ${DATA}/nco_4.4.2-1_*.deb
+ls -l ${DATA}/nco_4.4.2*
 m ~/foo.nco
 # Upload Ubuntu (rather than Debian) packages to websites
-scp ${DATA}/nco_4.3.9* dust.ess.uci.edu:/var/www/html/nco/src
-scp ${DATA}/nco_4.3.9* zender,nco at web.sf.net:/home/project-web/nco/htdocs/src
+scp ${DATA}/nco_4.4.2* dust.ess.uci.edu:/var/www/html/nco/src
+scp ${DATA}/nco_4.4.2* 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.3.9-1_*.changes
+# cd ${DATA};dupload -t mentors nco_4.4.2-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.3.9* # Cleanup prior build
+sudo /bin/rm /var/cache/pbuilder/result/nco_4.4.2* # 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.3.9-1.dsc > ~/foo.nco.pbuilder 2>&1
-cd /var/cache/pbuilder/result;debsign -k6F635D10 nco_4.3.9-1_*.changes
-lintian /var/cache/pbuilder/result/nco_4.3.9-1_*.deb
+cd ${DATA};DIST=sid sudo pbuilder build nco_4.4.2-1.dsc > ~/foo.nco.pbuilder 2>&1
+cd /var/cache/pbuilder/result;debsign -k6F635D10 nco_4.4.2-1_*.changes
+lintian /var/cache/pbuilder/result/nco_4.4.2-1_*.deb
 sudo dpkg --remove nco
-sudo dpkg --install /var/cache/pbuilder/result/nco_4.3.9-1_*.deb
+sudo dpkg --install /var/cache/pbuilder/result/nco_4.4.2-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.3.9-1_*.changes
+cd /var/cache/pbuilder/result;dupload -t mentors nco_4.4.2-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.3.9 ${DATA}/nco-4.3.9* # Cleanup last build
+/bin/rm -rf ${DATA}/nco-4.4.2 ${DATA}/nco-4.4.2* # Cleanup last build
 ${sudo_sng} /bin/rm -r -f \
-${rpm_root}/BUILD/nco-4.3.9 \
-${rpm_root}/RPMS/i386/nco-4.3.9-?.i386.rpm \
-${rpm_root}/RPMS/i386/nco-debuginfo-4.3.9-?.i386.rpm \
-${rpm_root}/RPMS/i386/nco-devel-4.3.9-?.i386.rpm \
-${rpm_root}/SOURCES/nco-4.3.9.tar.gz \
-${rpm_root}/SPECS/nco-4.3.9.spec \
-${rpm_root}/SRPMS/nco-4.3.9-?.src.rpm
-cd ${DATA};cvs -d zender at nco.cvs.sf.net:/cvsroot/nco export -kkv -r nco-4_3_9-1 -d nco-4.3.9 nco # Export based on tag
-${sudo_sng} ln -s ${HOME}/nco/bld/nco.spec ${rpm_root}/SPECS/nco-4.3.9.spec
-tar cvzf ./nco-4.3.9.tar.gz --exclude='nco-4.3.9/debian*' --exclude='.cvsignore' --exclude='ncap_lex.c' --exclude='ncap_yacc.[ch]' ./nco-4.3.9 
-${sudo_sng} /bin/cp ${DATA}/nco-4.3.9.tar.gz ${rpm_root}/SOURCES
+${rpm_root}/BUILD/nco-4.4.2 \
+${rpm_root}/RPMS/i386/nco-4.4.2-?.i386.rpm \
+${rpm_root}/RPMS/i386/nco-debuginfo-4.4.2-?.i386.rpm \
+${rpm_root}/RPMS/i386/nco-devel-4.4.2-?.i386.rpm \
+${rpm_root}/SOURCES/nco-4.4.2.tar.gz \
+${rpm_root}/SPECS/nco-4.4.2.spec \
+${rpm_root}/SRPMS/nco-4.4.2-?.src.rpm
+cd ${DATA};cvs -d zender at nco.cvs.sf.net:/cvsroot/nco export -kkv -r nco-4_4_2-1 -d nco-4.4.2 nco # Export based on tag
+${sudo_sng} ln -s ${HOME}/nco/bld/nco.spec ${rpm_root}/SPECS/nco-4.4.2.spec
+tar cvzf ./nco-4.4.2.tar.gz --exclude='nco-4.4.2/debian*' --exclude='.cvsignore' --exclude='ncap_lex.c' --exclude='ncap_yacc.[ch]' ./nco-4.4.2 
+${sudo_sng} /bin/cp ${DATA}/nco-4.4.2.tar.gz ${rpm_root}/SOURCES
 cd ${rpm_root}/SPECS
-${sudo_sng} rpmbuild -ba --sign nco-4.3.9.spec > ~/foo.nco 2>&1
+${sudo_sng} rpmbuild -ba --sign nco-4.4.2.spec > ~/foo.nco 2>&1
 scp \
-${rpm_root}/RPMS/i386/nco-4.3.9-?.i386.rpm \
-${rpm_root}/RPMS/i386/nco-debuginfo-4.3.9-?.i386.rpm \
-${rpm_root}/RPMS/i386/nco-devel-4.3.9-?.i386.rpm \
-${rpm_root}/SRPMS/nco-4.3.9-?.src.rpm \
+${rpm_root}/RPMS/i386/nco-4.4.2-?.i386.rpm \
+${rpm_root}/RPMS/i386/nco-debuginfo-4.4.2-?.i386.rpm \
+${rpm_root}/RPMS/i386/nco-devel-4.4.2-?.i386.rpm \
+${rpm_root}/SRPMS/nco-4.4.2-?.src.rpm \
 dust.ess.uci.edu:/var/www/html/nco/src
 scp \
-${rpm_root}/RPMS/i386/nco-4.3.9-?.i386.rpm \
-${rpm_root}/RPMS/i386/nco-debuginfo-4.3.9-?.i386.rpm \
-${rpm_root}/RPMS/i386/nco-devel-4.3.9-?.i386.rpm \
-${rpm_root}/SRPMS/nco-4.3.9-?.src.rpm \
+${rpm_root}/RPMS/i386/nco-4.4.2-?.i386.rpm \
+${rpm_root}/RPMS/i386/nco-debuginfo-4.4.2-?.i386.rpm \
+${rpm_root}/RPMS/i386/nco-devel-4.4.2-?.i386.rpm \
+${rpm_root}/SRPMS/nco-4.4.2-?.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.3.9 ${DATA}/nco-4.3.9* # Cleanup last build
+/bin/rm -rf ${DATA}/nco-4.4.2 ${DATA}/nco-4.4.2* # Cleanup last build
 /bin/rm -r -f \
-${rpm_root}/nco-4.3.9-?.src.rpm \
-${rpm_root}/nco-4.3.9.spec \
-${rpm_root}/nco-4.3.9.tar.gz \
-${rpm_root}/*/nco-4.3.9-?.*.rpm \
-${rpm_root}/*/nco-debuginfo-4.3.9-?.*.rpm \
-${rpm_root}/*/nco-devel-4.3.9-?.*.rpm
-# cd ${DATA};cvs -d zender at nco.cvs.sf.net:/cvsroot/nco export -kkv -r nco-4_3_9-1 -d nco-4.3.9 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.3.9 nco # Export most recent and build as 4.3.9-1
-tar cvzf ./nco-4.3.9.tar.gz --exclude='nco-4.3.9/debian*' --exclude='.cvsignore' --exclude='ncap_lex.c' --exclude='ncap_yacc.[ch]' ./nco-4.3.9 
-/bin/cp ${DATA}/nco-4.3.9.tar.gz ${rpm_root}
+${rpm_root}/nco-4.4.2-?.src.rpm \
+${rpm_root}/nco-4.4.2.spec \
+${rpm_root}/nco-4.4.2.tar.gz \
+${rpm_root}/*/nco-4.4.2-?.*.rpm \
+${rpm_root}/*/nco-debuginfo-4.4.2-?.*.rpm \
+${rpm_root}/*/nco-devel-4.4.2-?.*.rpm
+# cd ${DATA};cvs -d zender at nco.cvs.sf.net:/cvsroot/nco export -kkv -r nco-4_4_2-1 -d nco-4.4.2 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.2 nco # Export most recent and build as 4.4.2-1
+tar cvzf ./nco-4.4.2.tar.gz --exclude='nco-4.4.2/debian*' --exclude='.cvsignore' --exclude='ncap_lex.c' --exclude='ncap_yacc.[ch]' ./nco-4.4.2 
+/bin/cp ${DATA}/nco-4.4.2.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.3.9-?.*.rpm
+rpmlint ${rpm_root}/*/nco-4.4.2-?.*.rpm
 sudo yum remove nco
-sudo yum install ${rpm_root}/*/nco-4.3.9-?.*.rpm
+sudo yum install ${rpm_root}/*/nco-4.4.2-?.*.rpm
 scp \
-${rpm_root}/*/nco-4.3.9-?.*.rpm \
-${rpm_root}/*/nco-debuginfo-4.3.9-?.*.rpm \
-${rpm_root}/*/nco-devel-4.3.9-?.*.rpm \
-${rpm_root}/nco-4.3.9-?.*.src.rpm \
+${rpm_root}/*/nco-4.4.2-?.*.rpm \
+${rpm_root}/*/nco-debuginfo-4.4.2-?.*.rpm \
+${rpm_root}/*/nco-devel-4.4.2-?.*.rpm \
+${rpm_root}/nco-4.4.2-?.*.src.rpm \
 dust.ess.uci.edu:/var/www/html/nco/src
 scp \
-${rpm_root}/*/nco-4.3.9-?.*.rpm \
-${rpm_root}/*/nco-debuginfo-4.3.9-?.*.rpm \
-${rpm_root}/*/nco-devel-4.3.9-?.*.rpm \
-${rpm_root}/nco-4.3.9-?.*.src.rpm \
+${rpm_root}/*/nco-4.4.2-?.*.rpm \
+${rpm_root}/*/nco-debuginfo-4.4.2-?.*.rpm \
+${rpm_root}/*/nco-devel-4.4.2-?.*.rpm \
+${rpm_root}/nco-4.4.2-?.*.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 1774a7e..8debcde 100644
--- a/doc/index.shtml
+++ b/doc/index.shtml
@@ -1,4 +1,4 @@
-<!-- $Header: /cvsroot/nco/nco/doc/index.shtml,v 1.843 2013/12/03 00:28:01 zender Exp $
+<!-- $Header: /cvsroot/nco/nco/doc/index.shtml,v 1.870 2014/02/20 22:03:55 zender Exp $
 Purpose: NCO homepage
 
 URL:
@@ -56,7 +56,7 @@ Try to disable Spammers' machines:
 <td align="right" valign="top">
 [<a href="http://www.antlr.org">ANTLR</a>] 
 [<a href="http://cf-pcmdi.llnl.gov/documents/cf-conventions/latest-cf-conventions-document-1">CF</a>] 
-[<a href="https://wiki.earthdata.nasa.gov/display/ESDSWG/HDF5+Conventions+Working+Group">ESDSWG</a>] 
+[<a href="https://wiki.earthdata.nasa.gov/display/ESDSWG/Dataset+Interoperability+Working+Group">DIWG</a>] 
 [<a href="http://www.gnu.org/software/gsl">GSL</a>]
 [<a href="http://www.unidata.ucar.edu/packages/netcdf">netCDF</a>] 
 [<a href="http://opendap.org">OPeNDAP</a>] 
@@ -68,7 +68,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.3.9 last updated on <!--#flastmod file="VERSION"-->
+Current NCO version is 4.4.2 last updated on <!--#flastmod file="VERSION"-->
 </h2>
 
 <table border=0 width=100%>
@@ -146,10 +146,16 @@ and
 <h2>NCO Milestones</h2>
 
 <ul>
-<li>2013 Dec ??: NCO 4.3.9 (new operator, <tt>nces</tt>) (<i>In progress</i>)
+<li>2014 Mar 25: (TBD) NCO <a href="http://dust.ess.uci.edu/smn/pst_nco_esds_201403.pdf">Poster</a> for NASA ESDSWG, Greenbelt, Maryland</li>
+<li>2014 Feb ??: NCO 4.4.3 (<i>In progress</i>)
+<li>2014 Feb 20: NCO 4.4.2 (Stability)
+<li>2014 Jan 29: NCO 4.4.1 (Stability)
+<li>2014 Jan 09: NCO 4.4.0 (Stability)
+<li>2013 Dec 13: NCO <a href="http://dust.ess.uci.edu/smn/smn_nco_agu_201312.pdf">Talk</a> at Fall AGU, San Francisco, California</li>
+<li>2013 Dec 02: NCO 4.3.9 (new operator, <tt>nces</tt>)
 <li>2013 Nov 06: NCO 4.3.8 (<tt>ncatted</tt> groups)
 <li>2013 Oct 17: NCO 4.3.7 (HDF4, XML, <tt>ncrename</tt> groups)
-<li>2012 Oct 02: NCO <a href="http://dust.ess.uci.edu/smn/pst_nco_esds_201310.pdf">Poster</a> for NASA ESDSWG, Greenbelt, Maryland</li>
+<li>2013 Oct 02: NCO <a href="http://dust.ess.uci.edu/smn/pst_nco_esds_201310.pdf">Poster</a> for NASA ESDSWG, Greenbelt, Maryland</li>
 <li>2013 Sep 27: NCO 4.3.6 (<tt>--dbl</tt> default, <tt>ncdismember</tt>)
 <li>2013 Sep 20: NCO 4.3.5 (<tt>nces</tt>, <tt>ncra</tt>, <tt>ncrcat</tt> groups)
 <li>2013 Aug 01: NCO 4.3.4 (<tt>ncpdq</tt> bugfix, HDF unpacking)
@@ -487,6 +493,10 @@ If you send an endorsement, remember to include (at least) your Name, Title, and
 <h2>Publications and Presentations</h2>
 <ul>
 
+<li><!-- ZVW13 --> <a name="ZVW12"></a> <!--http://www.ess.uci.edu/~zender#ZVW13 -->
+Zender, C. S., P. Vicente and W. Wang (2012): <i>Use Hierarchical Storage and Analysis to Exploit Intrinsic Parallelism</i>. Presented at the Fall Meeting of the American Geophysical Union, San Francisco, CA, December 9–13, 2013. <i>Eos Trans. AGU</i>, <b>93</b>(53), Fall Meet. Suppl., Abstract IN52A-06.
+<a href="http://dust.ess.uci.edu/smn/smn_nco_agu_201312.pdf">PDF</a> (© 2013 by me)</a></li>
+
 <li><!-- ZVW13 --> <a name="ZVW13"></a> <!--http://www.ess.uci.edu/~zender#ZVW13 -->
 Zender, C. S., P. Vicente and W. Wang (2013): <i>The Future of Model Evaluation</i>. Presented to the Chapman University Symposium on Big Data and Analytics: 44th Symposium on the Interface of Computing Science and Statistics, Chapman University, Orange, CA, April 4–6, 2013. <a href="http://dust.ess.uci.edu/smn/smn_nco_chapman_201304.pdf">PDF</a> (© 2013 by me)</a></li>
 
@@ -610,15 +620,37 @@ 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.0</b>: (<i>Future</i>) 
+<li><b>NCO 4.4.4</b>: (<i>Future</i>) 
+extensive hashing?;
 netCDF4 compound types?;
 Optimize diskless files?;</li>
-<li><b>NCO 4.3.9</b>: (<i>In Progress, features completed or being worked on include</i>)
+<li><b>NCO 4.4.3</b>: (<i>In Progress, features completed or being worked on include</i>)
+<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.2</b>: (<i>Current Stable Release</i>)
+Bugfixes for <tt>nces</tt>, LLVM/clang builds, <tt>-X</tt>;</li>
+<li><b>NCO 4.4.1</b>: 
+Group support for <tt>-X</tt> and <tt>--cnk_dmn</tt>;
+Chunk and uncompress simultaneously;
+<tt>ncra/ncea/ncrcat</tt> <a href="#bug_ncra_no_fl_close">bugfix</a></li>
+<li><b>NCO 4.4.0</b>: 
+Optimizations;
+<tt>ncdismember</tt> awesomeness;
+<tt>ncks --hdn</tt>;
+<tt>ncks --fix_rec_dmn=all</tt>;
+<tt>ncks</tt> <a href="http://nco.sf.net/nco.html#autoconv">autoconversion</a>;
+<tt>ncrename</tt> output path;
+<tt>ncra --mro</tt> <a href="#bug_ncra_mro_mss_val">bugfix</a>;
+<tt>ncra/ncrcat</tt> stride bugfix;
+Better <a href="http://nco.sf.net/nco.html#cnk">chunking</a>;
+Group support for <tt>ncwa -w -m</tt>;</li>
+<li><b>NCO 4.3.9</b>:
 New operator <tt>nces</tt>;
-Group support for <tt>-x, ncwa -w -m</tt>;</li>
-<li><b>NCO 4.3.8</b>: (<i>Current Stable Release</i>)
+Full XML/NcML compliance;
+<tt>ncatted</tt> NaN bugfix;</li>
+<li><b>NCO 4.3.8</b>:
 <tt>ncatted</tt> group features;</li>
-<li><b>NCO 4.3.7</b>: (<i>Current Stable Release</i>)
+<li><b>NCO 4.3.7</b>:
 HDF4 <a href="http://nco.sf.net/nco.html#hdf4">support</a>;
 XML/NcML data <a href="http://nco.sf.net/nco.html#xml">support</a>;
 Multiple record dimension <a href="http://nco.sf.net/nco.html#mrd">support</a> with <tt>ncpdq, ncecat --mrd</a></tt>;
@@ -689,7 +721,7 @@ fixes to <tt>--[mk/fix]_rec_dmn</tt>;
 <tt>--no_tmp_fl</tt> to <a href="http://nco.sf.net/nco.html#no_tmp_fl">bypass</a> temporary files;
 Negative indices for <a href="http://nco.sf.net/nco.html#hyp">hyperslabs</a>;
 <tt>ncpdq</tt> unpacks coordinate variables;
-<tt>ncra/ncrcat</tt> DRN/MRO <a href="http://nco.sf.net/nco.html#drn">options</a>;
+<tt>ncra/ncrcat</tt> SSC/MRO <a href="http://nco.sf.net/nco.html#ssc">options</a>;
 <tt>ncra/ncrcat</tt> rebase <a href="http://nco.sf.net/nco.html#rbs">bounds</a>;</li>
 <li><b>NCO 4.2.0</b>: 
 <tt>ncecat</tt> "fixes" auxiliary coordinates and bounds;
@@ -920,7 +952,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.3.9</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.2</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.
@@ -928,12 +960,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.3.9-1_i386.deb</tt>’):</dt>
-<li><a href="src/nco_4.3.9-1_amd64.deb">nco_4.3.9-1_amd64.deb</a> (<!--#fsize file="src/nco_4.3.9-1_amd64.deb"-->): Executables AMD64-compatible (last updated <!--#flastmod file="src/nco_4.3.9-1_amd64.deb"-->)</li>
-<li><a href="src/nco_4.3.9-1.dsc">nco_4.3.9-1.dsc</a> (<!--#fsize file="src/nco_4.3.9-1.dsc"-->): Description (last updated <!--#flastmod file="src/nco_4.3.9-1.dsc"-->)</li>
-<li><a href="src/nco_4.3.9-1_amd64.changes">nco_4.3.9-1_amd64.changes</a> (<!--#fsize file="src/nco_4.3.9-1_amd64.changes"-->): Changes since last deb package (last updated <!--#flastmod file="src/nco_4.3.9-1_amd64.changes"-->)</li>
-<li><a href="src/nco_4.3.9.orig.tar.gz">nco_4.3.9.orig.tar.gz</a> (<!--#fsize file="src/nco_4.3.9.orig.tar.gz"-->): Upstream Source (last updated <!--#flastmod file="src/nco_4.3.9.orig.tar.gz"-->)</li>
-<li><a href="src/nco_4.3.9-1.diff.gz">nco_4.3.9-1.diff.gz</a> (<!--#fsize file="src/nco_4.3.9-1_amd64.changes"-->): Debian patch to upstream source (last updated <!--#flastmod file="src/nco_4.3.9-1_amd64.changes"-->)</li>
+<dt>Debian package for most recent NCO release (install with, e.g., ‘<tt>dpkg --install nco_4.4.2-1_i386.deb</tt>’):</dt>
+<li><a href="src/nco_4.4.2-1_amd64.deb">nco_4.4.2-1_amd64.deb</a> (<!--#fsize file="src/nco_4.4.2-1_amd64.deb"-->): Executables AMD64-compatible (last updated <!--#flastmod file="src/nco_4.4.2-1_amd64.deb"-->)</li>
+<li><a href="src/nco_4.4.2-1.dsc">nco_4.4.2-1.dsc</a> (<!--#fsize file="src/nco_4.4.2-1.dsc"-->): Description (last updated <!--#flastmod file="src/nco_4.4.2-1.dsc"-->)</li>
+<li><a href="src/nco_4.4.2-1_amd64.changes">nco_4.4.2-1_amd64.changes</a> (<!--#fsize file="src/nco_4.4.2-1_amd64.changes"-->): Changes since last deb package (last updated <!--#flastmod file="src/nco_4.4.2-1_amd64.changes"-->)</li>
+<li><a href="src/nco_4.4.2.orig.tar.gz">nco_4.4.2.orig.tar.gz</a> (<!--#fsize file="src/nco_4.4.2.orig.tar.gz"-->): Upstream Source (last updated <!--#flastmod file="src/nco_4.4.2.orig.tar.gz"-->)</li>
+<li><a href="src/nco_4.4.2-1.diff.gz">nco_4.4.2-1.diff.gz</a> (<!--#fsize file="src/nco_4.4.2-1_amd64.changes"-->): Debian patch to upstream source (last updated <!--#flastmod file="src/nco_4.4.2-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. 
@@ -976,14 +1008,12 @@ Thanks to Gavin Burris and Kyle Wilcox for documenting build procedures for RHEL
 <a name="fink"></a> <!-- http://nco.sf.net#fink -->
 <h3><a href="http://www.apple.com/macosx/">Mac OS X/Darwin</a></h3>
 <ul>
-<!-- Copy DMG files from http://ps.uci.edu/~pscsg/nco
-wget http://ps.uci.edu/~pscsg/nco/nco-4.0.7_x86_10.6.dmg -O /tmp/nco-4.0.7_x86_10.6.dmg
-/usr/bin/scp /tmp/nco-4.0.7_x86_10.6.dmg zender,nco at web.sf.net:/home/project-web/nco/htdocs/src
-scp /tmp/nco-4.0.7_x86_10.6.dmg dust.ess.uci.edu:/var/www/html/nco/src
-/usr/bin/scp /home/pvicente/windows_setup/nco-4.3.8.macosx.10.8.tar.gz pvicente,nco at web.sf.net:/home/project-web/nco/htdocs/src
+<!-- 
+/usr/bin/scp /home/pvicente/nco/doc/index.shtml pvicente,nco at web.sf.net:/home/project-web/nco/htdocs
+/usr/bin/scp /home/pvicente/windows_setup/nco-4.4.1.macosx.10.9.tar.gz pvicente,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.3.8.macosx.10.8.tar.gz">nco-4.3.8.macosx.10.8.tar.gz</a> (<!--#fsize file="src/nco-4.3.8.macosx.10.8.tar.gz"-->): Executables MacOSX 10.6-compatible (last updated <!--#flastmod file="src/nco-4.3.8.macosx.10.8.tar.gz"-->). 
+<li><a href="src/nco-4.4.1.macosx.10.9.tar.gz">nco-4.4.1.macosx.10.9.tar.gz</a> (<!--#fsize file="src/nco-4.4.1.macosx.10.9.tar.gz"-->): Executables MacOSX 10.9-compatible (last updated <!--#flastmod file="src/nco-4.4.1.macosx.10.9.tar.gz"-->). 
 (NB: These executables require the <a href="http://trac.macosforge.org/projects/macports/wiki">MacPorts</a> dependencies for <a href="http://svn.macports.org/repository/macports/trunk/dports/science/nco">NCO</a>). Maintained by NCO Project.</li>
 <li><a href="src/nco-4.0.3_x86_10.6.dmg">nco-4.0.3_x86_10.6.dmg</a> (<!--#fsize file="src/nco-4.0.3_x86_10.6.dmg"-->): For Mac OS 10.6 (last updated <!--#flastmod file="src/nco-4.0.3_x86_10.6.dmg"-->). Maintained by Chad Cantwell.</li>
 <li><a href="src/nco-4.0.7_x86_10.6.dmg">nco-4.0.7_x86_10.6.dmg</a> (<!--#fsize file="src/nco-4.0.7_x86_10.6.dmg"-->): For Mac OS 10.6 (last updated <!--#flastmod file="src/nco-4.0.7_x86_10.6.dmg"-->). Maintained by Chad Cantwell.</li>
@@ -1002,20 +1032,18 @@ This is a new feature as of 20120615, please send us feedback.
 To build NCO from source yourself using MSVC or Qt, please see the <a href="nco_qt_msvc.shtml">NCO Qt/MSVC build</a> page.
 <ul>
 <!-- Copy files from http://glace.ess.uci.edu
-wget http://glace.ess.uci.edu/pvicente/windows_setup/nco-4.3.9.windows.mvs.exe -O /tmp/nco-4.3.9.windows.mvs.exe
 /usr/bin/scp /home/pvicente/nco/doc/index.shtml pvicente,nco at web.sf.net:/home/project-web/nco/htdocs
-/usr/bin/scp /home/pvicente/windows_setup/nco-4.3.9.windows.mvs.exe pvicente,nco at web.sf.net:/home/project-web/nco/htdocs/src
-/usr/bin/scp /home/pvicente/windows_setup/nco-4.3.9.win32.cygwin.tar.gz pvicente,nco at web.sf.net:/home/project-web/nco/htdocs/src
-/usr/bin/scp /home/pvicente/windows_setup/nco-4.3.9.macosx.10.8.tar.gz pvicente,nco at web.sf.net:/home/project-web/nco/htdocs/src
-scp /tmp/nco-4.3.6.windows.mvs.exe dust.ess.uci.edu:/var/www/html/nco/src
+/usr/bin/scp /home/pvicente/windows_setup/nco-4.4.1.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.1.win32.cygwin.tar.gz pvicente,nco at web.sf.net:/home/project-web/nco/htdocs/src
+/usr/bin/scp /home/pvicente/windows_setup/nco-4.4.1.macosx.10.9.tar.gz pvicente,nco at web.sf.net:/home/project-web/nco/htdocs/src
 -->
-<li><a href="src/nco-4.3.8.windows.mvs.exe">nco-4.3.8.windows.mvs.exe</a> (<!--#fsize file="src/nco-4.3.8.windows.mvs.exe"-->) : Windows Self-Extracting Installer (last updated <!--#flastmod file="src/nco-4.3.8.windows.mvs.exe"-->). Maintained by NCO Project.</li>
+<li><a href="src/nco-4.4.1.windows.mvs.exe">nco-4.4.1.windows.mvs.exe</a> (<!--#fsize file="src/nco-4.4.1.windows.mvs.exe"-->) : Windows Self-Extracting Installer (last updated <!--#flastmod file="src/nco-4.4.1.windows.mvs.exe"-->). Maintained by NCO Project.</li>
 </ul>
 
 <a name="cygwin"></a> <!-- http://nco.sf.net#cygwin -->
 <h3><a href="http://www.microsoft.com">Microsoft</a> Windows</a> (running <a href="http://www.cygwin.org">Cygwin</a> environment, compiled with GNU-toolchain)</h3>
 <ul>
-<li><a href="src/nco-4.3.8.win32.cygwin.tar.gz">nco-4.3.8.win32.cygwin.tar.gz</a> (<!--#fsize file="src/nco-4.3.8.win32.cygwin.tar.gz"-->): Executables Cygwin-compatible (last updated <!--#flastmod file="src/nco-4.3.8.win32.cygwin.tar.gz"-->). Maintained by NCO Project.</li>
+<li><a href="src/nco-4.4.1.win32.cygwin.tar.gz">nco-4.4.1.win32.cygwin.tar.gz</a> (<!--#fsize file="src/nco-4.4.1.win32.cygwin.tar.gz"-->): Executables Cygwin-compatible (last updated <!--#flastmod file="src/nco-4.4.1.win32.cygwin.tar.gz"-->). Maintained by NCO Project.</li>
 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
@@ -1142,10 +1170,10 @@ The best way to acquire NCO sources 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.3.9.tar.gz">nco-4.3.9.tar.gz</a> 
-(<!--#fsize file="src/nco-4.3.9.tar.gz"--> compressed tar-file)<br>
-<!--#exec cmd="openssl dgst -md5 src/nco-4.3.9.tar.gz"--><br>
-<!--#exec cmd="openssl dgst -sha1 src/nco-4.3.9.tar.gz"--> 
+<a href="src/nco-4.4.2.tar.gz">nco-4.4.2.tar.gz</a> 
+(<!--#fsize file="src/nco-4.4.2.tar.gz"--> compressed tar-file)<br>
+<!--#exec cmd="openssl dgst -md5 src/nco-4.4.2.tar.gz"--><br>
+<!--#exec cmd="openssl dgst -sha1 src/nco-4.4.2.tar.gz"--> 
 </li>
 </ul>
 
@@ -1168,19 +1196,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.3.9</tt> (which is
-tagged as <tt>nco-4_3_9</tt> due to CVS rules) into local directory
-<tt>nco-4.3.9</tt>:   
-<p><tt>cvs -z3 -d:pserver:anonymous at nco.cvs.sf.net:/cvsroot/nco co -r nco-4_3_9 -d nco-4.3.9 nco</tt></p>
+This command retrieves and places NCO version <tt>4.4.2</tt> (which is
+tagged as <tt>nco-4_4_2</tt> due to CVS rules) into local directory
+<tt>nco-4.4.2</tt>:   
+<p><tt>cvs -z3 -d:pserver:anonymous at nco.cvs.sf.net:/cvsroot/nco co -r nco-4_4_2 -d nco-4.4.2 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_3_9</tt>) and the development version is that the
+(e.g., <tt>nco-4_4_2</tt>) and the development version is that the
 tagged release operators will print a valid version number (e.g.,
-<tt>4.3.9</tt>) when asked to do so with the <tt>-r</tt> flag
+<tt>4.4.2</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.
@@ -1246,6 +1274,7 @@ ANTLR 3.x and 4.x C++ interfaces are incomplete.
 
 <dt><a name="apt"></a></dt> <!-- http://nco.sf.net#apt -->
 <dt><a name="aptitude"></a></dt> <!-- http://nco.sf.net#aptitude -->
+<dt><a name="bld_apt"></a></dt> <!-- http://nco.sf.net#bld_apt -->
 For the reasons explained above (compiler compatibility) install as
 much pre-requisite and optional software as possible from pre-compiled
 packages. 
@@ -1262,6 +1291,7 @@ For Debian-based systems:
 </tt>
 
 <dt><a name="yum"></a></dt> <!-- http://nco.sf.net#yum -->
+<dt><a name="bld_yum"></a></dt> <!-- http://nco.sf.net#bld_yum -->
 For RPM-based systems:
 <tt>
 <dt>sudo yum install antlr antlr-C++ -y # ANTLR</dt>
@@ -1275,7 +1305,8 @@ For RPM-based systems:
 <dt>sudo yum install udunits2 udunits2-devel -y # UDUnits</dt>
 </tt>
 
-<dt><a name="yum"></a></dt> <!-- http://nco.sf.net#port -->
+<dt><a name="port"></a></dt> <!-- http://nco.sf.net#port -->
+<dt><a name="bld_macports"></a></dt> <!-- http://nco.sf.net#bld_macports -->
 For Mac OS X with MacPorts:
 <tt>
 <dt>sudo port install libdap # DAP</dt>
@@ -1290,7 +1321,7 @@ For Mac OS X with MacPorts:
 <tt>
 <dt>wget http://dust.ess.uci.edu/nco/nco.tar.gz</dt>
 <dt>tar xvzf nco.tar.gz</dt>
-<dt>cd nco-4.3.9</dt>
+<dt>cd nco-4.4.2</dt>
 <dt>./configure --prefix=/usr/local</dt>
 <dt>make</dt>
 <dt>sudo make install</dt>
@@ -1328,7 +1359,7 @@ builds with it are less common than we would like.
 The file <tt>nco/configure.eg</tt> contains a table which describes the 
 success you can expect building NCO with the <tt>configure</tt>
 mechanism. 
-If the simple <tt>configure</tt> recipe above does not work, savvier
+If the simple <tt>configure</tt> recipe above does not work, savvy
 users may find it straightforward to modify and use the following, more
 advanced <tt>configure</tt> recipe:
 <tt>
@@ -1345,7 +1376,7 @@ sudo make install >> nco.make.${GNU_TRP}.foo 2>&1
 </pre>
 </tt>
 This is the recipe that the developers use to test <tt>configure</tt>
-on the development machines.
+on their machines.
 Please contribute patches required to get the <tt>configure</tt> 
 mechanism working properly for NCO on your platform.
 The <a href="http://dust.ess.uci.edu/nco/rgr">regressions archive</a>
@@ -1712,6 +1743,41 @@ in NCO 4.0.9, which assumes that netCDF 4.1.3 or later is installed.
 
 <ul><b>Recent Operator-specific Run-time Problems:</b>
 
+<!-- http://nco.sf.net#bug_ncra_no_fl_close -->
+<a name="bug_ncra_no_fl_close"></a>
+<li><i><tt>ncra</tt>, <tt>ncea</tt>, and <tt>ncrcat</tt> file close bug:</i>
+Versions 4.3.9—4.4.0 of <tt>ncra</tt>, <tt>ncea</tt>,
+and <tt>ncrcat</tt> failed to correctly close and optionally remove
+input files. 
+This could cause NCO to exceed system limits on the maximum number of
+open files when hundreds-to-thousands of input files were specified
+per NCO invocation. 
+The exact failure point is OS-dependent (NCO commands on Mac OS X 10.9
+would fail when processing more than 256 files at a time). 
+This is embarassing because NCO has always been designed to work with
+arbitrary numbers of input files and we want power users to be
+comfortable running it on hundreds of thousands of input files.
+The solution is to avoid versions 4.3.9—4.4.0 or to upgrade to
+NCO 4.4.1.
+</li>
+</ul>
+
+<!-- http://nco.sf.net#bug_ncra_mro_mss_val -->
+<a name="bug_ncra_mro_mss_val"></a>
+<li><i><tt>ncra</tt> MRO missing value bug:</i>
+Versions 4.3.6—4.3.9 of <tt>ncra</tt> could treat missing values
+incorrectly during double-precision arithmetic. 
+A symptom was that missing values could be replaced by strange numbers
+like, well, infinity or zero. 
+This mainly affects <tt>ncra</tt> in MRO (multi-record output) mode,
+and the symptoms should be noticeable. 
+The workaround is to run the affected versions of ncra using the 
+<tt>--flt</tt> switch, so that single-precision floating point numbers
+are not promoted prior to arithmetic.
+The solution is to upgrade to NCO 4.4.0.
+</li>
+</ul>
+
 <!-- http://nco.sf.net#bug_ncwa_lmt -->
 <a name="bug_ncwa_lmt"></a>
 <li><i><tt>ncwa</tt> hyperslabbing while averaging bug:</i>
@@ -2276,7 +2342,7 @@ site.</li>
 <td align="right" valign="top">
 [<a href="http://www.antlr.org">ANTLR</a>] 
 [<a href="http://cf-pcmdi.llnl.gov/documents/cf-conventions/latest-cf-conventions-document-1">CF</a>] 
-[<a href="https://wiki.earthdata.nasa.gov/display/ESDSWG/HDF5+Conventions+Working+Group">ESDSWG</a>] 
+[<a href="https://wiki.earthdata.nasa.gov/display/ESDSWG/Dataset+Interoperability+Working+Group">DIWG</a>] 
 [<a href="http://www.gnu.org/software/gsl">GSL</a>] 
 [<a href="http://www.unidata.ucar.edu/packages/netcdf">netCDF</a>] 
 [<a href="http://opendap.org">OPeNDAP</a>] 
diff --git a/doc/nco.dvi b/doc/nco.dvi
index e09cfd0..b458a68 100644
Binary files a/doc/nco.dvi and b/doc/nco.dvi differ
diff --git a/doc/nco.html b/doc/nco.html
new file mode 100644
index 0000000..7de6b23
--- /dev/null
+++ b/doc/nco.html
@@ -0,0 +1,20087 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>NCO 4.4.2 User Guide</title>
+
+<meta name="description" content="NCO 4.4.2 User Guide">
+<meta name="keywords" content="NCO 4.4.2 User Guide">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="#Top" rel="start" title="Top">
+<link href="#General-Index" rel="index" title="General Index">
+<link href="#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="dir.html#Top" rel="up" title="(dir)">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<h1 class="settitle" align="center"><acronym>NCO</acronym> 4.4.2 User Guide</h1>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<p>This file documents <acronym>NCO</acronym>, a collection of utilities to
+manipulate and analyze netCDF files.
+</p>
+<p>Copyright © 1995–2014 Charlie Zender
+</p>
+<p>This is the first edition of the <cite>NCO User Guide</cite>,<br>
+and is consistent with version 2<!-- /@w --> of <samp>texinfo.tex</samp>.
+</p>
+<p>Permission is granted to copy, distribute and/or modify this document 
+under the terms of the <acronym>GNU</acronym> Free Documentation License, Version 1.3<!-- /@w -->
+or any later version published by the Free Software Foundation;
+with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
+Texts. The license is available online at 
+<a href="http://www.gnu.org/copyleft/fdl.html">http://www.gnu.org/copyleft/fdl.html</a>
+</p>
+<p>The original author of this software, Charlie Zender, wants to improve it
+with the help of your suggestions, improvements, bug-reports, and patches.<br>
+Charlie Zender <surname at uci dot edu> (yes, my surname is zender)<br>
+3200 Croul Hall<br>
+Department of Earth System Science<br>
+University of California, Irvine<br>
+Irvine, CA 92697-3100<br>
+</p>
+
+
+
+<a name="SEC_Contents"></a>
+<h2 class="contents-heading">Table of Contents</h2>
+
+<div class="contents">
+
+<ul class="no-bullet">
+  <li><a name="toc-Foreword-1" href="#Foreword">Foreword</a></li>
+  <li><a name="toc-Summary-1" href="#Summary">Summary</a></li>
+  <li><a name="toc-Introduction-1" href="#Introduction">1 Introduction</a>
+  <ul class="no-bullet">
+    <li><a name="toc-Availability-1" href="#Availability">1.1 Availability</a></li>
+    <li><a name="toc-How-to-Use-This-Guide" href="#How-to-Use-This-guide">1.2 How to Use This Guide</a></li>
+    <li><a name="toc-Operating-systems-compatible-with-NCO" href="#Compatability">1.3 Operating systems compatible with <acronym>NCO</acronym></a>
+    <ul class="no-bullet">
+      <li><a name="toc-Compiling-NCO-for-Microsoft-Windows-OS" href="#Windows-Operating-System">1.3.1 Compiling <acronym>NCO</acronym> for Microsoft Windows <acronym>OS</acronym></a></li>
+    </ul></li>
+    <li><a name="toc-Symbolic-Links-1" href="#Symbolic-Links">1.4 Symbolic Links</a></li>
+    <li><a name="toc-Libraries-1" href="#Libraries">1.5 Libraries</a></li>
+    <li><a name="toc-netCDF2_002f3_002f4-and-HDF4_002f5-Support-1" href="#netCDF2_002f3_002f4-and-HDF4_002f5-Support">1.6 netCDF2/3/4 and HDF4/5 Support</a></li>
+    <li><a name="toc-Help-Requests-and-Bug-Reports-1" href="#Help-Requests-and-Bug-Reports">1.7 Help Requests and Bug Reports</a></li>
+  </ul></li>
+  <li><a name="toc-Operator-Strategies" href="#Strategies">2 Operator Strategies</a>
+  <ul class="no-bullet">
+    <li><a name="toc-Philosophy-1" href="#Philosophy">2.1 Philosophy</a></li>
+    <li><a name="toc-Climate-Model-Paradigm-1" href="#Climate-Model-Paradigm">2.2 Climate Model Paradigm</a></li>
+    <li><a name="toc-Temporary-Output-Files-1" href="#Temporary-Output-Files">2.3 Temporary Output Files</a></li>
+    <li><a name="toc-Appending-Variables-1" href="#Appending-Variables">2.4 Appending Variables</a></li>
+    <li><a name="toc-Simple-Arithmetic-and-Interpolation-1" href="#Simple-Arithmetic-and-Interpolation">2.5 Simple Arithmetic and Interpolation</a></li>
+    <li><a name="toc-Statistics-vs_002e-Concatenation-1" href="#Statistics-vs_002e-Concatenation">2.6 Statistics vs. Concatenation</a>
+    <ul class="no-bullet">
+      <li><a name="toc-Concatenators-ncrcat-and-ncecat" href="#Concatenation">2.6.1 Concatenators <code>ncrcat</code> and <code>ncecat</code></a></li>
+      <li><a name="toc-Averagers-nces_002c-ncra_002c-and-ncwa" href="#Averaging">2.6.2 Averagers <code>nces</code>, <code>ncra</code>, and <code>ncwa</code></a></li>
+      <li><a name="toc-Interpolator-ncflint" href="#Interpolating">2.6.3 Interpolator <code>ncflint</code></a></li>
+    </ul></li>
+    <li><a name="toc-Large-Numbers-of-Files-1" href="#Large-Numbers-of-Files">2.7 Large Numbers of Files</a></li>
+    <li><a name="toc-Large-Datasets-1" href="#Large-Datasets">2.8 Large Datasets</a></li>
+    <li><a name="toc-Memory-Requirements-1" href="#Memory-Requirements">2.9 Memory Requirements</a>
+    <ul class="no-bullet">
+      <li><a name="toc-Single-and-Multi_002dfile-Operators-1" href="#Single-and-Multi_002dfile-Operators">2.9.1 Single and Multi-file Operators</a></li>
+      <li><a name="toc-Memory-for-ncap2-1" href="#Memory-for-ncap2">2.9.2 Memory for <code>ncap2</code></a></li>
+    </ul></li>
+    <li><a name="toc-Performance-1" href="#Performance">2.10 Performance</a></li>
+  </ul></li>
+  <li><a name="toc-NCO-Features" href="#Common-features">3 NCO Features</a>
+  <ul class="no-bullet">
+    <li><a name="toc-Internationalization-1" href="#Internationalization">3.1 Internationalization</a></li>
+    <li><a name="toc-Metadata-Optimization-1" href="#Metadata-Optimization">3.2 Metadata Optimization</a></li>
+    <li><a name="toc-OpenMP-Threading-1" href="#OpenMP-Threading">3.3 OpenMP Threading</a></li>
+    <li><a name="toc-Command-Line-Options-1" href="#Command-Line-Options">3.4 Command Line Options</a></li>
+    <li><a name="toc-Specifying-Input-Files-1" href="#Specifying-Input-Files">3.5 Specifying Input Files</a></li>
+    <li><a name="toc-Specifying-Output-Files-1" href="#Specifying-Output-Files">3.6 Specifying Output Files</a></li>
+    <li><a name="toc-Accessing-Remote-Files" href="#Remote-storage">3.7 Accessing Remote Files</a>
+    <ul class="no-bullet">
+      <li><a name="toc-OPeNDAP-1" href="#OPeNDAP">3.7.1 <acronym>OPeNDAP</acronym></a></li>
+    </ul></li>
+    <li><a name="toc-Retaining-Retrieved-Files-1" href="#Retaining-Retrieved-Files">3.8 Retaining Retrieved Files</a></li>
+    <li><a name="toc-File-Formats-and-Conversion-1" href="#File-Formats-and-Conversion">3.9 File Formats and Conversion</a>
+    <ul class="no-bullet">
+      <li><a name="toc-File-Formats-1" href="#File-Formats">3.9.1 File Formats</a></li>
+      <li><a name="toc-Determining-File-Format-1" href="#Determining-File-Format">3.9.2 Determining File Format</a></li>
+      <li><a name="toc-File-Conversion-1" href="#File-Conversion">3.9.3 File Conversion</a></li>
+      <li><a name="toc-Autoconversion-1" href="#Autoconversion">3.9.4 Autoconversion</a></li>
+    </ul></li>
+    <li><a name="toc-Large-File-Support-1" href="#Large-File-Support">3.10 Large File Support</a></li>
+    <li><a name="toc-Subsetting-Files-1" href="#Subsetting-Files">3.11 Subsetting Files</a></li>
+    <li><a name="toc-Subsetting-Coordinate-Variables-1" href="#Subsetting-Coordinate-Variables">3.12 Subsetting Coordinate Variables</a></li>
+    <li><a name="toc-Group-Path-Editing-1" href="#Group-Path-Editing">3.13 Group Path Editing</a></li>
+    <li><a name="toc-C-and-Fortran-Index-conventions" href="#C-and-Fortran-Index-Conventions">3.14 C and Fortran Index conventions</a></li>
+    <li><a name="toc-Hyperslabs-1" href="#Hyperslabs">3.15 Hyperslabs</a></li>
+    <li><a name="toc-Stride-1" href="#Stride">3.16 Stride</a></li>
+    <li><a name="toc-Record-Appending-1" href="#Record-Appending">3.17 Record Appending</a></li>
+    <li><a name="toc-Subcycle-1" href="#Subcycle">3.18 Subcycle</a></li>
+    <li><a name="toc-Multislabs-1" href="#Multislabs">3.19 Multislabs</a></li>
+    <li><a name="toc-Wrapped-Coordinates-1" href="#Wrapped-Coordinates">3.20 Wrapped Coordinates</a></li>
+    <li><a name="toc-Auxiliary-Coordinates-1" href="#Auxiliary-Coordinates">3.21 Auxiliary Coordinates</a></li>
+    <li><a name="toc-UDUnits-Support-1" href="#UDUnits-Support">3.22 UDUnits Support</a></li>
+    <li><a name="toc-Rebasing-Time-Coordinate-1" href="#Rebasing-Time-Coordinate">3.23 Rebasing Time Coordinate</a></li>
+    <li><a name="toc-Multiple-Record-Dimensions-1" href="#Multiple-Record-Dimensions">3.24 Multiple Record Dimensions</a></li>
+    <li><a name="toc-Missing-values" href="#Missing-Values">3.25 Missing values</a></li>
+    <li><a name="toc-Chunking-1" href="#Chunking">3.26 Chunking</a></li>
+    <li><a name="toc-Deflation-1" href="#Deflation">3.27 Deflation</a></li>
+    <li><a name="toc-MD5-digests-1" href="#MD5-digests">3.28 MD5 digests</a></li>
+    <li><a name="toc-Buffer-sizes-1" href="#Buffer-sizes">3.29 Buffer sizes</a></li>
+    <li><a name="toc-RAM-disks-1" href="#RAM-disks">3.30 RAM disks</a></li>
+    <li><a name="toc-Packed-data-1" href="#Packed-data">3.31 Packed data</a>
+    <ul class="no-bullet">
+      <li><a name="toc-Packing-Algorithm" href="#Packing-Algorithm">Packing Algorithm</a></li>
+      <li><a name="toc-Unpacking-Algorithm" href="#Unpacking-Algorithm">Unpacking Algorithm</a></li>
+      <li><a name="toc-Default-Handling-of-Packed-Data" href="#Default-Handling-of-Packed-Data">Default Handling of Packed Data</a></li>
+      <li><a name="toc-Default-Handling-of-Packed-Data-1" href="#Default-Handling-of-Packed-Data-1">Default Handling of Packed Data</a></li>
+    </ul></li>
+    <li><a name="toc-Operation-Types-1" href="#Operation-Types">3.32 Operation Types</a></li>
+    <li><a name="toc-Type-Conversion-1" href="#Type-Conversion">3.33 Type Conversion</a>
+    <ul class="no-bullet">
+      <li><a name="toc-Automatic-type-conversion-1" href="#Automatic-type-conversion">3.33.1 Automatic type conversion</a></li>
+      <li><a name="toc-Promoting-Single_002dprecision-to-Double-1" href="#Promoting-Single_002dprecision-to-Double">3.33.2 Promoting Single-precision to Double</a></li>
+      <li><a name="toc-Manual-type-conversion-1" href="#Manual-type-conversion">3.33.3 Manual type conversion</a></li>
+    </ul></li>
+    <li><a name="toc-Batch-Mode-1" href="#Batch-Mode">3.34 Batch Mode</a></li>
+    <li><a name="toc-History-Attribute-1" href="#History-Attribute">3.35 History Attribute</a></li>
+    <li><a name="toc-File-List-Attributes-1" href="#File-List-Attributes">3.36 File List Attributes</a></li>
+    <li><a name="toc-CF-Conventions-1" href="#CF-Conventions">3.37 <acronym>CF</acronym> Conventions</a></li>
+    <li><a name="toc-ARM-Conventions-1" href="#ARM-Conventions">3.38 <acronym>ARM</acronym> Conventions</a></li>
+    <li><a name="toc-Operator-Version-1" href="#Operator-Version">3.39 Operator Version</a></li>
+  </ul></li>
+  <li><a name="toc-Operator-Reference-Manual-1" href="#Operator-Reference-Manual">4 Operator Reference Manual</a>
+  <ul class="no-bullet">
+    <li><a name="toc-ncap2-netCDF-Arithmetic-Processor-1" href="#ncap2-netCDF-Arithmetic-Processor">4.1 <code>ncap2</code> netCDF Arithmetic Processor</a>
+    <ul class="no-bullet">
+      <li><a name="toc-Syntax-of-ncap2-statements-1" href="#Syntax-of-ncap2-statements">4.1.1 Syntax of <code>ncap2</code> statements</a></li>
+      <li><a name="toc-Expressions-1" href="#Expressions">4.1.2 Expressions</a></li>
+      <li><a name="toc-Dimensions-1" href="#Dimensions">4.1.3 Dimensions</a></li>
+      <li><a name="toc-Left-hand-casting-1" href="#Left-hand-casting">4.1.4 Left hand casting</a></li>
+      <li><a name="toc-Arrays-and-hyperslabs-1" href="#Arrays-and-hyperslabs">4.1.5 Arrays and hyperslabs</a></li>
+      <li><a name="toc-Attributes-1" href="#Attributes">4.1.6 Attributes</a></li>
+      <li><a name="toc-Number-literals-1" href="#Number-literals">4.1.7 Number literals</a></li>
+      <li><a name="toc-if-statement-1" href="#if-statement">4.1.8 if statement</a></li>
+      <li><a name="toc-print-statement-1" href="#print-statement">4.1.9 print statement</a></li>
+      <li><a name="toc-Missing-values-ncap2-1" href="#Missing-values-ncap2">4.1.10 Missing values ncap2</a></li>
+      <li><a name="toc-Methods-and-functions-1" href="#Methods-and-functions">4.1.11 Methods and functions</a></li>
+      <li><a name="toc-RAM-variables-1" href="#RAM-variables">4.1.12 <acronym>RAM</acronym> variables</a></li>
+      <li><a name="toc-Where-statement-1" href="#Where-statement">4.1.13 Where statement</a></li>
+      <li><a name="toc-Loops-1" href="#Loops">4.1.14 Loops</a></li>
+      <li><a name="toc-Include-files-1" href="#Include-files">4.1.15 Include files</a></li>
+      <li><a name="toc-sort-methods" href="#Sort-methods">4.1.16 <code>sort</code> methods</a></li>
+      <li><a name="toc-Irregular-Grids" href="#Irregular-grids">4.1.17 Irregular Grids</a></li>
+      <li><a name="toc-Bilinear-interpolation-1" href="#Bilinear-interpolation">4.1.18 Bilinear interpolation</a></li>
+      <li><a name="toc-GSL-special-functions-1" href="#GSL-special-functions">4.1.19 GSL special functions</a></li>
+      <li><a name="toc-GSL-interpolation-1" href="#GSL-interpolation">4.1.20 GSL interpolation</a></li>
+      <li><a name="toc-GSL-least_002dsquares-fitting-1" href="#GSL-least_002dsquares-fitting">4.1.21 GSL least-squares fitting</a></li>
+      <li><a name="toc-GSL-statistics-1" href="#GSL-statistics">4.1.22 GSL statistics</a></li>
+      <li><a name="toc-GSL-random-number-generation-1" href="#GSL-random-number-generation">4.1.23 GSL random number generation</a></li>
+      <li><a name="toc-Examples-ncap2-1" href="#Examples-ncap2">4.1.24 Examples ncap2</a></li>
+      <li><a name="toc-Intrinsic-mathematical-methods-1" href="#Intrinsic-mathematical-methods">4.1.25 Intrinsic mathematical methods</a></li>
+      <li><a name="toc-Operator-precedence-and-associativity-1" href="#Operator-precedence-and-associativity">4.1.26 Operator precedence and associativity</a></li>
+      <li><a name="toc-ID-Quoting-1" href="#ID-Quoting">4.1.27 ID Quoting</a></li>
+    </ul></li>
+    <li><a name="toc-ncatted-netCDF-Attribute-Editor-1" href="#ncatted-netCDF-Attribute-Editor">4.2 <code>ncatted</code> netCDF Attribute Editor</a></li>
+    <li><a name="toc-ncbo-netCDF-Binary-Operator-1" href="#ncbo-netCDF-Binary-Operator">4.3 <code>ncbo</code> netCDF Binary Operator</a></li>
+    <li><a name="toc-nces-netCDF-Ensemble-Statistics-1" href="#nces-netCDF-Ensemble-Statistics">4.4 <code>nces</code> netCDF Ensemble Statistics</a></li>
+    <li><a name="toc-ncecat-netCDF-Ensemble-Concatenator-1" href="#ncecat-netCDF-Ensemble-Concatenator">4.5 <code>ncecat</code> netCDF Ensemble Concatenator</a></li>
+    <li><a name="toc-ncflint-netCDF-File-Interpolator-1" href="#ncflint-netCDF-File-Interpolator">4.6 <code>ncflint</code> netCDF File Interpolator</a></li>
+    <li><a name="toc-ncks-netCDF-Kitchen-Sink-1" href="#ncks-netCDF-Kitchen-Sink">4.7 <code>ncks</code> netCDF Kitchen Sink</a>
+    <ul class="no-bullet">
+      <li><a name="toc-Options-specific-to-ncks" href="#Options-specific-to-ncks">Options specific to <code>ncks</code></a></li>
+      <li><a name="toc-Filters-for-ncks-1" href="#Filters-for-ncks">4.7.1 Filters for <code>ncks</code></a></li>
+    </ul></li>
+    <li><a name="toc-ncpdq-netCDF-Permute-Dimensions-Quickly-1" href="#ncpdq-netCDF-Permute-Dimensions-Quickly">4.8 <code>ncpdq</code> netCDF Permute Dimensions Quickly</a>
+    <ul class="no-bullet">
+      <li><a name="toc-Packing-and-Unpacking-Functions" href="#Packing-and-Unpacking-Functions">Packing and Unpacking Functions</a></li>
+      <li><a name="toc-Dimension-Permutation" href="#Dimension-Permutation">Dimension Permutation</a></li>
+    </ul></li>
+    <li><a name="toc-ncra-netCDF-Record-Averager-1" href="#ncra-netCDF-Record-Averager">4.9 <code>ncra</code> netCDF Record Averager</a></li>
+    <li><a name="toc-ncrcat-netCDF-Record-Concatenator-1" href="#ncrcat-netCDF-Record-Concatenator">4.10 <code>ncrcat</code> netCDF Record Concatenator</a></li>
+    <li><a name="toc-ncrename-netCDF-Renamer-1" href="#ncrename-netCDF-Renamer">4.11 <code>ncrename</code> netCDF Renamer</a></li>
+    <li><a name="toc-ncwa-netCDF-Weighted-Averager-1" href="#ncwa-netCDF-Weighted-Averager">4.12 <code>ncwa</code> netCDF Weighted Averager</a>
+    <ul class="no-bullet">
+      <li><a name="toc-Mask-condition-1" href="#Mask-condition">4.12.1 Mask condition</a></li>
+      <li><a name="toc-Normalization-and-Integration-1" href="#Normalization-and-Integration">4.12.2 Normalization and Integration</a></li>
+    </ul></li>
+  </ul></li>
+  <li><a name="toc-Contributing-1" href="#Contributing">5 Contributing</a>
+  <ul class="no-bullet">
+    <li><a name="toc-Contributors-1" href="#Contributors">5.1 Contributors</a></li>
+    <li><a name="toc-Proposals-for-Institutional-Funding-1" href="#Proposals-for-Institutional-Funding">5.2 Proposals for Institutional Funding</a></li>
+  </ul></li>
+  <li><a name="toc-Quick-Start-1" href="#Quick-Start">6 Quick Start</a>
+  <ul class="no-bullet">
+    <li><a name="toc-Daily-data-in-one-file-1" href="#Daily-data-in-one-file">6.1 Daily data in one file</a></li>
+    <li><a name="toc-Monthly-data-in-one-file-1" href="#Monthly-data-in-one-file">6.2 Monthly data in one file</a></li>
+    <li><a name="toc-One-time-point-one-file-1" href="#One-time-point-one-file">6.3 One time point one file</a></li>
+    <li><a name="toc-Multiple-files-with-multiple-time-points-1" href="#Multiple-files-with-multiple-time-points">6.4 Multiple files with multiple time points</a></li>
+  </ul></li>
+  <li><a name="toc-CMIP5-Example-1" href="#CMIP5-Example">7 <acronym>CMIP5</acronym> Example</a>
+  <ul class="no-bullet">
+    <li><a name="toc-Combine-Files-1" href="#Combine-Files">7.1 Combine Files</a></li>
+    <li><a name="toc-Global-Distribution-of-Long_002dterm-Average-1" href="#Global-Distribution-of-Long_002dterm-Average">7.2 Global Distribution of Long-term Average</a></li>
+    <li><a name="toc-Annual-Average-over-Regions-1" href="#Annual-Average-over-Regions">7.3 Annual Average over Regions</a></li>
+    <li><a name="toc-Monthly-Cycle-1" href="#Monthly-Cycle">7.4 Monthly Cycle</a></li>
+    <li><a name="toc-Regrid-MODIS-Data-1" href="#Regrid-MODIS-Data">7.5 Regrid <acronym>MODIS</acronym> Data</a></li>
+    <li><a name="toc-Add-Coordinates-to-MODIS-Data-1" href="#Add-Coordinates-to-MODIS-Data">7.6 Add Coordinates to <acronym>MODIS</acronym> Data</a></li>
+    <li><a name="toc-Permute-MODIS-Coordinates-1" href="#Permute-MODIS-Coordinates">7.7 Permute <acronym>MODIS</acronym> Coordinates</a></li>
+  </ul></li>
+  <li><a name="toc-Parallel-1" href="#Parallel">8 Parallel</a></li>
+  <li><a name="toc-CCSM-Example-1" href="#CCSM-Example">9 CCSM Example</a></li>
+  <li><a name="toc-References" href="#mybibnode">10 References</a></li>
+  <li><a name="toc-General-Index-1" href="#General-Index">General Index</a></li>
+</ul>
+</div>
+
+
+<a name="Top"></a>
+<div class="header">
+<p>
+Next: <a href="#Foreword" accesskey="n" rel="next">Foreword</a>, Previous: <a href="dir.html#Top" accesskey="p" rel="previous">(dir)</a>, Up: <a href="dir.html#Top" accesskey="u" rel="up">(dir)</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="NCO-User-Guide"></a>
+<h1 class="top">NCO User Guide</h1>
+
+<table class="cartouche" border="1"><tr><td>
+<p><b>Note to readers of the NCO User Guide in HTML format</b>: 
+<b>The <a href="./nco.pdf">NCO User Guide in PDF format</a> 
+(also on <a href="http://nco.sf.net/nco.pdf">SourceForge</a>)
+contains the complete NCO documentation.</b> 
+<br>This HTML documentation is equivalent except it refers you to the
+printed (i.e., DVI, PostScript, and PDF) documentation for description
+of complex mathematical expressions. Also, images appear only in the
+PDF document due to SourceForge limitations.</td></tr></table>
+
+<p>The netCDF Operators, or <acronym>NCO</acronym>, are a suite of programs known as 
+operators. 
+The operators facilitate manipulation and analysis of data stored in the 
+self-describing netCDF format, available from
+(<a href="http://www.unidata.ucar.edu/packages/netcdf">http://www.unidata.ucar.edu/packages/netcdf</a>).
+Each <acronym>NCO</acronym> operator (e.g., ncks) takes netCDF input
+file(s), performs an operation (e.g., averaging, hyperslabbing, or
+renaming), and outputs a processed netCDF file. 
+Although most users of netCDF data are involved in scientific research,
+these data formats, and thus <acronym>NCO</acronym>, are generic and are equally
+useful in fields from agriculture to zoology.
+The <acronym>NCO</acronym> User Guide illustrates <acronym>NCO</acronym> use with
+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.2.
+It was last updated 19 February 2014.
+Corrections, additions, and rewrites of this documentation are very
+welcome.
+</p>
+<p>Enjoy,<br>
+Charlie Zender
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">• <a href="#Foreword" accesskey="1">Foreword</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Summary" accesskey="2">Summary</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Introduction" accesskey="3">Introduction</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Strategies" accesskey="4">Strategies</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Common-features" accesskey="5">Common features</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Operator-Reference-Manual" accesskey="6">Operator Reference Manual</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Contributing" accesskey="7">Contributing</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Quick-Start" accesskey="8">Quick Start</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#CMIP5-Example" accesskey="9">CMIP5 Example</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Parallel">Parallel</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#CCSM-Example">CCSM Example</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#mybibnode">mybibnode</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#General-Index">General Index</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<a name="fwd"></a> <!-- http://nco.sf.net/nco.html#fwd --><hr>
+<a name="Foreword"></a>
+<div class="header">
+<p>
+Next: <a href="#Summary" accesskey="n" rel="next">Summary</a>, Previous: <a href="#Top" accesskey="p" rel="previous">Top</a>, Up: <a href="#Top" accesskey="u" rel="up">Top</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Foreword-1"></a>
+<h2 class="unnumbered">Foreword</h2>
+<a name="index-foreword"></a>
+<a name="index-Charlie-Zender"></a>
+<p><acronym>NCO</acronym> is the result of software needs that arose while I worked
+on projects funded by <acronym>NCAR</acronym>, <acronym>NASA</acronym>, and <acronym>ARM</acronym>.
+Thinking they might prove useful as tools or templates to others,  
+it is my pleasure to provide them freely to the scientific community.  
+Many users (most of whom I have never met) have encouraged the
+development of <acronym>NCO</acronym>.  
+Thanks espcially to Jan Polcher, Keith Lindsay, Arlindo da Silva<!-- /@w -->,
+John Sheldon, and William Weibel for stimulating suggestions and
+correspondence. 
+Your encouragment motivated me to complete the <cite>NCO User Guide</cite>.
+So if you like <acronym>NCO</acronym>, send me a note!
+I should<!-- /@w --> mention that <acronym>NCO</acronym> is not connected to or
+officially endorsed by Unidata, <acronym>ACD</acronym>, <acronym>ASP</acronym>,
+<acronym>CGD</acronym>, or Nike.<br> 
+</p><br>
+<p>Charlie Zender<br>
+May 1997<br>
+Boulder, Colorado<br>
+</p>
+<br>
+<br>
+<p>Major feature improvements entitle me to write another Foreword.
+In the last five years a lot of work has been done to refine
+<acronym>NCO</acronym>. 
+<a name="index-open-source"></a>
+<acronym>NCO</acronym> is now an open source project and appears to be much
+healthier for it. 
+The list of illustrious institutions that do not endorse <acronym>NCO</acronym>     
+continues to grow, and now includes <acronym>UCI</acronym>.<br> 
+</p><br>
+<p>Charlie Zender<br>
+October 2000<br>
+Irvine, California<br>
+</p>
+<br>
+<br>
+<p>The most remarkable advances in <acronym>NCO</acronym> capabilities in the last  
+few years are due to contributions from the Open Source community.
+Especially noteworthy are the contributions of Henry Butowsky and Rorik 
+Peterson.<br> 
+</p><br>
+<p>Charlie Zender<br>
+January 2003<br>
+Irvine, California<br>
+</p>
+<br>
+<br>
+<p><acronym>NCO</acronym> was generously supported from 2004–2008 by US 
+National Science Foundation (<acronym>NSF</acronym>) grant 
+<a href="http://www.nsf.gov/awardsearch/showAward.do?AwardNumber=0431203">IIS-0431203</a>. 
+This support allowed me to maintain and extend core <acronym>NCO</acronym> code,
+and others to advance <acronym>NCO</acronym> in new directions: 
+Gayathri Venkitachalam helped implement <acronym>MPI</acronym>;
+Harry Mangalam improved regression testing and benchmarking;
+Daniel Wang developed the server-side capability, <acronym>SWAMP</acronym>;
+and Henry Butowsky, a long-time contributor, developed <code>ncap2</code>.
+This support also led <acronym>NCO</acronym> to debut in professional journals
+and meetings.  
+The personal and professional contacts made during this evolution have
+been immensely rewarding.<br>
+</p><br>
+<p>Charlie Zender<br>
+March 2008<br>
+Grenoble, France<br>
+</p>
+<br>
+<br>
+<p>The end of the <acronym>NSF</acronym> SEI grant in August, 2008 curtailed <acronym>NCO</acronym>
+development.  
+Fortunately we could justify supporting Henry Butowsky on other research 
+grants until May, 2010 while he developed the key <code>ncap2</code>
+features used in our climate research.
+And recentely the NASA ACCESS program commenced funding NCO support for
+netCDF4 group functionality.<br> 
+Thus <acronym>NCO</acronym> will grow and evade bit-rot for the foreseeable future.
+</p>
+<p>On a personal level, I continue to receive with gratitude the thanks of
+<acronym>NCO</acronym> users at nearly every scientific meeting I attend. 
+People introduce themselves, shake my hand and extol, sometimes rather
+effusively, these time-saving tools.
+These exchanges lighten me like anti-gravity.
+Sometimes I daydream how many hours <acronym>NCO</acronym> has turned from grunt
+work to productive research for researchers world-wide, or from research
+into early happy hours. 
+It’s a cool feeling.
+</p>
+<br>
+<p>Charlie Zender<br>
+April, 2012<br>
+Irvine, California<br>
+</p>
+<a name="smr"></a> <!-- http://nco.sf.net/nco.html#smr --><hr>
+<a name="Summary"></a>
+<div class="header">
+<p>
+Next: <a href="#Introduction" accesskey="n" rel="next">Introduction</a>, Previous: <a href="#Foreword" accesskey="p" rel="previous">Foreword</a>, Up: <a href="#Top" accesskey="u" rel="up">Top</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Summary-1"></a>
+<h2 class="unnumbered">Summary</h2>
+<a name="index-operators"></a>
+<a name="index-summary"></a>
+<p>This manual describes <acronym>NCO</acronym>, which stands for netCDF Operators.
+<acronym>NCO</acronym> is a suite of programs known as <em>operators</em>.
+Each operator is a standalone, command line program executed at the
+shell-level like, e.g., <code>ls</code> or <code>mkdir</code>.  
+The operators take netCDF files (including <acronym>HDF5</acronym> files
+constructed using the netCDF <acronym>API</acronym>) as input, perform an
+operation (e.g., averaging or hyperslabbing), and produce a netCDF file 
+as output.  
+The operators are primarily designed to aid manipulation and analysis of 
+data.
+The examples in this documentation are typical applications of the
+operators for processing climate model output. 
+This stems from their origin, though the operators are as general as
+netCDF itself.
+</p>
+<a name="ntr"></a> <!-- http://nco.sf.net/nco.html#ntr --><hr>
+<a name="Introduction"></a>
+<div class="header">
+<p>
+Next: <a href="#Strategies" accesskey="n" rel="next">Strategies</a>, Previous: <a href="#Summary" accesskey="p" rel="previous">Summary</a>, Up: <a href="#Top" accesskey="u" rel="up">Top</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Introduction-1"></a>
+<h2 class="chapter">1 Introduction</h2>
+<a name="index-introduction"></a>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">• <a href="#Availability" accesskey="1">Availability</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#How-to-Use-This-guide" accesskey="2">How to Use This guide</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Compatability" accesskey="3">Compatability</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Symbolic-Links" accesskey="4">Symbolic Links</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Libraries" accesskey="5">Libraries</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#netCDF2_002f3_002f4-and-HDF4_002f5-Support" accesskey="6">netCDF2/3/4 and HDF4/5 Support</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Help-Requests-and-Bug-Reports" accesskey="7">Help Requests and Bug Reports</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<hr>
+<a name="Availability"></a>
+<div class="header">
+<p>
+Next: <a href="#How-to-Use-This-guide" accesskey="n" rel="next">How to Use This guide</a>, Previous: <a href="#Introduction" accesskey="p" rel="previous">Introduction</a>, Up: <a href="#Introduction" accesskey="u" rel="up">Introduction</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Availability-1"></a>
+<h3 class="section">1.1 Availability</h3>
+<a name="index-NCO-availability"></a>
+<a name="index-source-code"></a>
+<p>The complete <acronym>NCO</acronym> source distribution is currently distributed
+as a <em>compressed tarfile</em> from
+<a href="http://sf.net/projects/nco">http://sf.net/projects/nco</a>
+and from
+<a href="http://dust.ess.uci.edu/nco/nco.tar.gz">http://dust.ess.uci.edu/nco/nco.tar.gz</a>.
+The compressed tarfile must be uncompressed and untarred before building
+<acronym>NCO</acronym>.
+Uncompress the file with ‘<samp>gunzip nco.tar.gz</samp>’. 
+Extract the source files from the resulting tarfile with ‘<samp>tar -xvf
+nco.tar</samp>’.    
+<acronym>GNU</acronym> <code>tar</code> lets you perform both operations in one step
+with ‘<samp>tar -xvzf nco.tar.gz</samp>’. 
+</p>
+<a name="index-documentation"></a>
+<a name="index-WWW-documentation"></a>
+<a name="index-on_002dline-documentation"></a>
+<a name="index-HTML"></a>
+<a name="index-TeXinfo"></a>
+<a name="index-Info"></a>
+<a name="index-User-Guide"></a>
+<a name="index-NCO-User-Guide"></a>
+<p>The documentation for <acronym>NCO</acronym> is called the 
+<cite>NCO User Guide</cite>. 
+The <cite>User Guide</cite> is available in <acronym>PDF</acronym>, Postscript,
+<acronym>HTML</acronym>, <acronym>DVI</acronym>, TeXinfo, and Info formats.
+These formats are included in the source distribution in the files
+<samp>nco.pdf</samp>, <samp>nco.ps</samp>, <samp>nco.html</samp>, <samp>nco.dvi</samp>,
+<samp>nco.texi</samp>, and <samp>nco.info*</samp>, respectively.
+All the documentation descends from a single source file,
+<samp>nco.texi</samp>
+<a name="DOCF1" href="#FOOT1"><sup>1</sup></a>.
+Hence the documentation in every format is very similar.
+However, some of the complex mathematical expressions needed to describe
+<code>ncwa</code> can only be displayed in <acronym>DVI</acronym>, Postscript, and 
+<acronym>PDF</acronym> formats. 
+</p>
+<a name="index-publications"></a>
+<a name="index-presentations"></a>
+<p>A complete list of papers and publications on/about <acronym>NCO</acronym> 
+is available on the <acronym>NCO</acronym> homepage.
+Most of these are freely available. 
+The primary refereed publications are ZeM06 and Zen08. 
+These contain copyright restrictions which limit their redistribution,
+but they are freely available in preprint form from the <acronym>NCO</acronym>.
+</p>
+<a name="index-NCO-homepage"></a>
+<p>If you want to quickly see what the latest improvements in <acronym>NCO</acronym>
+are (without downloading the entire source distribution), visit the
+<acronym>NCO</acronym> homepage at 
+<a href="http://nco.sf.net">http://nco.sf.net</a>.
+The <acronym>HTML</acronym> version of the <cite>User Guide</cite> is also available 
+online through the World Wide Web at <acronym>URL</acronym>
+<a href="http://nco.sf.net/nco.html">http://nco.sf.net/nco.html</a>.
+<a name="index-netCDF"></a>
+To build and use <acronym>NCO</acronym>, you must have netCDF installed.
+The netCDF homepage is
+<a href="http://www.unidata.ucar.edu/packages/netcdf">http://www.unidata.ucar.edu/packages/netcdf</a>.
+</p>
+<p>New <acronym>NCO</acronym> releases are announced on the netCDF list 
+and on the <code>nco-announce</code> mailing list 
+<a href="http://lists.sf.net/mailman/listinfo/nco-announce">http://lists.sf.net/mailman/listinfo/nco-announce</a>.
+</p>
+
+<hr>
+<a name="How-to-Use-This-guide"></a>
+<div class="header">
+<p>
+Next: <a href="#Compatability" accesskey="n" rel="next">Compatability</a>, Previous: <a href="#Availability" accesskey="p" rel="previous">Availability</a>, Up: <a href="#Introduction" accesskey="u" rel="up">Introduction</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="How-to-Use-This-Guide"></a>
+<h3 class="section">1.2 How to Use This Guide</h3>
+<a name="index-contents"></a>
+<a name="index-introduction-1"></a>
+<p>Detailed instructions about
+<a href="http://nco.sf.net/#Source">how to download the newest version</a>, 
+and <a href="http://nco.sf.net/#bld">how to complie source code</a>,
+as well as a <a href="http://nco.sf.net/#FAQ"><acronym>FAQ</acronym></a> and 
+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.2).
+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>).
+More specific use examples for each operator can be seen by visiting the
+operator-specific examples in the <a href="#Operator-Reference-Manual">Operator Reference Manual</a>.
+These can be found directly by prepending the operator name with the
+<code>xmp_</code> tag, e.g., <a href="http://nco.sf.net/nco.html#xmp_ncks">http://nco.sf.net/nco.html#xmp_ncks</a>.
+Also, users can type the operator name on the shell command line to 
+see all the available options, or type, e.g., ‘<samp>man ncks</samp>’ to see
+a help man-page.
+</p>
+<p><acronym>NCO</acronym> is a command-line language.
+You can either use an operator after the prompt (e.g., ‘<samp>$</samp>’ here),
+like, 
+</p><div class="example">
+<pre class="example">$ <code>operator</code> <samp>[options]</samp> <samp>input</samp> <samp>[output]</samp>
+</pre></div>
+<p>or write all commands lines into a shell script, as in
+the <acronym>CMIP5</acronym> Example (see <a href="#CMIP5-Example">CMIP5 Example</a>).
+</p>
+<p>If you are new to <acronym>NCO</acronym>, the Quick Start (see <a href="#Quick-Start">Quick Start</a>)
+shows simple examples about how to use <acronym>NCO</acronym> on different kinds
+of data files.  
+More detailed “real-world” examples are in the
+<a href="#CMIP5-Example"><acronym>CMIP5</acronym> Example</a>. 
+The <a href="#General-Index">Index</a> is presents multiple keyword entries for
+the same subject. 
+If these resources do not help enough, please 
+see <a href="#Help-Requests-and-Bug-Reports">Help Requests and Bug Reports</a>.
+</p>
+<hr>
+<a name="Compatability"></a>
+<div class="header">
+<p>
+Next: <a href="#Symbolic-Links" accesskey="n" rel="next">Symbolic Links</a>, Previous: <a href="#How-to-Use-This-guide" accesskey="p" rel="previous">How to Use This guide</a>, Up: <a href="#Introduction" accesskey="u" rel="up">Introduction</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Operating-systems-compatible-with-NCO"></a>
+<h3 class="section">1.3 Operating systems compatible with <acronym>NCO</acronym></h3>
+<a name="index-OS"></a>
+<a name="index-IBM"></a>
+<a name="index-NEC"></a>
+<a name="index-SGI"></a>
+<a name="index-HP"></a>
+<a name="index-DEC"></a>
+<a name="index-PGI"></a>
+<a name="index-Cray"></a>
+<a name="index-Digital"></a>
+<a name="index-Sun"></a>
+<a name="index-Intel"></a>
+<a name="index-Comeau"></a>
+<a name="index-Compaq"></a>
+<a name="index-Macintosh"></a>
+<a name="index-Microsoft"></a>
+<a name="index-Windows"></a>
+<a name="index-PathScale"></a>
+<a name="index-QLogic"></a>
+<a name="index-compatability"></a>
+<a name="index-portability"></a>
+<a name="index-installation"></a>
+<p><acronym>NCO</acronym> has been successfully ported and tested and is known to
+work on the following 32- and 64-bit platforms:  
+<acronym>IBM AIX</acronym> 4.x, 5.x,
+FreeBSD 4.x, 
+<acronym>GNU</acronym>/Linux 2.x, LinuxPPC, LinuxAlpha, LinuxARM, LinuxSparc64,
+<acronym>SGI IRIX</acronym> 5.x and 6.x,
+MacOS X<!-- /@w --> 10.x, 
+<acronym>NEC</acronym> Super-UX 10.x, 
+<acronym>DEC OSF</acronym>, 
+Sun SunOS 4.1.x, Solaris 2.x, 
+<acronym>Cray UNICOS</acronym> 8.x–10.x,
+and MS Windows95 and all later versions.
+If you port the code to a new operating system, please send me a note 
+and any patches you required.
+</p>
+<a name="index-UNIX"></a>
+<a name="index-Unidata"></a>
+<a name="index-UDUnits"></a>
+<p>The major prerequisite for installing <acronym>NCO</acronym> on a particular
+platform is the successful, prior installation of the netCDF library
+(and, as of 2003, the UDUnits library).
+Unidata has shown a commitment to maintaining netCDF and UDUnits on all
+popular <acronym>UNIX</acronym> platforms, and is moving towards full support for 
+the Microsoft Windows operating system (<acronym>OS</acronym>).
+Given this, the only difficulty in implementing <acronym>NCO</acronym> on a
+particular platform is standardization of various C<!-- /@w -->-language API
+system calls. 
+<acronym>NCO</acronym> code is tested for <acronym>ANSI</acronym> compliance by
+compiling with C99 compilers<!-- /@w --> including those from 
+<a name="index-CC"></a>
+<a name="index-c_002b_002b"></a>
+<a name="index-cc"></a>
+<a name="index-clang"></a>
+<a name="index-como"></a>
+<a name="index-cxx"></a>
+<a name="index-gcc"></a>
+<a name="index-g_002b_002b"></a>
+<a name="index-icc"></a>
+<a name="index-MVS"></a>
+<a name="index-pgcc"></a>
+<a name="index-pgCC"></a>
+<a name="index-pathcc"></a>
+<a name="index-pathCC"></a>
+<a name="index-xlC"></a>
+<a name="index-xlc"></a>
+<acronym>GNU</acronym> (‘<samp>gcc -std=c99 -pedantic -D_BSD_SOURCE -D_POSIX_SOURCE</samp>’ -Wall)
+<a name="DOCF2" href="#FOOT2"><sup>2</sup></a>,
+Comeau Computing (‘<samp>como --c99</samp>’),
+Cray (‘<samp>cc</samp>’),
+<acronym>HP</acronym>/Compaq/<acronym>DEC</acronym> (‘<samp>cc</samp>’),
+<acronym>IBM</acronym> (‘<samp>xlc -c -qlanglvl=extc99</samp>’),
+Intel (‘<samp>icc -std=c99</samp>’),
+<a name="index-LLVM"></a>
+<acronym>LLVM</acronym> (‘<samp>clang</samp>’),
+<acronym>NEC</acronym> (‘<samp>cc</samp>’),
+PathScale (QLogic) (‘<samp>pathcc -std=c99</samp>’),
+<acronym>PGI</acronym> (‘<samp>pgcc -c9x</samp>’),
+<acronym>SGI</acronym> (‘<samp>cc -c99</samp>’),
+and
+Sun (‘<samp>cc</samp>’).
+<a name="index-C_002b_002b"></a>
+<a name="index-ISO"></a>
+<a name="index-libnco"></a>
+<acronym>NCO</acronym> (all commands and the <code>libnco</code> library) and
+the C++ interface to netCDF (called <code>libnco_c++</code>) comply with
+the <acronym>ISO</acronym> C++ standards as implemented by
+Comeau Computing (‘<samp>como</samp>’),
+Cray (‘<samp>CC</samp>’),
+<acronym>GNU</acronym> (‘<samp>g++ -Wall</samp>’),
+<acronym>HP</acronym>/Compaq/<acronym>DEC</acronym> (‘<samp>cxx</samp>’),
+<acronym>IBM</acronym> (‘<samp>xlC</samp>’),
+Intel (‘<samp>icc</samp>’),
+Microsoft (‘<samp>MVS</samp>’),
+<acronym>NEC</acronym> (‘<samp>c++</samp>’),
+PathScale (Qlogic) (‘<samp>pathCC</samp>’),
+<acronym>PGI</acronym> (‘<samp>pgCC</samp>’),
+<acronym>SGI</acronym> (‘<samp>CC -LANG:std</samp>’),
+and
+Sun (‘<samp>CC -LANG:std</samp>’).
+<a name="index-Makefile"></a>
+See <samp>nco/bld/Makefile</samp> and <samp>nco/src/nco_c++/Makefile.old</samp> for
+more details and exact settings. 
+</p>
+<a name="index-ANSI"></a>
+<a name="index-C89"></a>
+<a name="index-printf"></a>
+<p>Until recently (and not even yet), <acronym>ANSI</acronym>-compliant has meant
+compliance with the 1989 <acronym>ISO</acronym> C-standard, usually called C89 (with
+minor revisions made in 1994 and 1995).
+C89 lacks variable-size arrays, restricted pointers, some useful
+<code>printf</code> formats, and many mathematical special functions.
+<a name="index-C99"></a>
+These are valuable features of C99, the 1999 <acronym>ISO</acronym> C-standard. 
+<acronym>NCO</acronym> is C99-compliant where possible and C89-compliant where
+necessary. 
+Certain branches in the code are required to satisfy the native
+<acronym>SGI</acronym> and SunOS C compilers<!-- /@w -->, which are strictly <acronym>ANSI</acronym> 
+C89 compliant, and cannot benefit from C99 features.
+However, C99 features are fully supported by modern <acronym>AIX</acronym>,
+<acronym>GNU</acronym>, Intel, <acronym>NEC</acronym>, Solaris, and <acronym>UNICOS</acronym>
+compilers. 
+<acronym>NCO</acronym> requires a C99-compliant compiler as of <acronym>NCO</acronym>
+version 2.9.8<!-- /@w -->, released in August, 2004.
+</p>
+<p>The most time-intensive portion of <acronym>NCO</acronym> execution is spent in
+arithmetic operations, e.g., multiplication, averaging, subtraction.
+These operations were performed in Fortran by default until August,
+1999.  
+This was a design decision based on the relative speed of Fortran-based
+object code vs. C-based object code in late 1994.
+C compiler<!-- /@w --> vectorization capabilities have dramatically improved 
+since 1994.
+We have accordingly replaced all Fortran subroutines with C functions<!-- /@w -->.
+This greatly simplifies the task of building <acronym>NCO</acronym> on nominally
+unsupported platforms.  
+<a name="index-C-language"></a>
+As of August 1999, <acronym>NCO</acronym> built entirely in C<!-- /@w --> by default.
+This allowed <acronym>NCO</acronym> to compile on any machine with an
+<acronym>ANSI</acronym> C compiler<!-- /@w -->. 
+<a name="index-C99-1"></a>
+<a name="index-C89-1"></a>
+<a name="index-restrict"></a>
+In August 2004, the first C99 feature, the <code>restrict</code> type
+qualifier, entered <acronym>NCO</acronym> in version 2.9.8. 
+C compilers<!-- /@w --> can obtain better performance with C99 restricted 
+pointers since they inform the compiler when it may make Fortran-like
+assumptions regarding pointer contents alteration.
+Subsequently, <acronym>NCO</acronym> requires a C99 compiler to build correctly
+<a name="DOCF3" href="#FOOT3"><sup>3</sup></a>.
+</p>
+<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>).
+<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
+such as Bessel functions, Legendre polynomials, and incomplete gamma
+functions (see <a href="#GSL-special-functions">GSL special functions</a>).
+</p> 
+<a name="index-gamma"></a>
+<p>In June 2005, <acronym>NCO</acronym> version 3.0.1 began to take advantage
+of C99 mathematical special functions.
+These include the standarized gamma function (called <code>tgamma()</code> 
+for “true gamma”). 
+<a name="index-automagic"></a>
+<acronym>NCO</acronym> automagically takes advantage of some <acronym>GNU</acronym>
+Compiler Collection (<acronym>GCC</acronym>) extensions to <acronym>ANSI</acronym> C<!-- /@w -->.
+</p>
+<p>As of July 2000 and <acronym>NCO</acronym> version 1.2<!-- /@w -->, <acronym>NCO</acronym> no
+longer performs arithmetic operations in Fortran.
+We decided to sacrifice executable speed for code maintainability.
+Since no objective statistics were ever performed to quantify 
+the difference in speed between the Fortran and C code<!-- /@w -->,
+the performance penalty incurred by this decision is unknown.
+Supporting Fortran involves maintaining two sets of routines for every
+arithmetic operation. 
+The <code>USE_FORTRAN_ARITHMETIC</code> flag is still retained in the
+<samp>Makefile</samp>.
+The file containing the Fortran code, <samp>nco_fortran.F</samp>, has been
+deprecated but a volunteer (Dr. Frankenstein<!-- /@w -->?) could resurrect it.
+If you would like to volunteer to maintain <samp>nco_fortran.F</samp> please 
+contact me. 
+</p>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">• <a href="#Windows-Operating-System" accesskey="1">Windows Operating System</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<a name="wnd"></a> <!-- http://nco.sf.net/nco.html#wnd -->
+<a name="windows"></a> <!-- http://nco.sf.net/nco.html#windows -->
+<a name="qt"></a> <!-- http://nco.sf.net/nco.html#qt --><hr>
+<a name="Windows-Operating-System"></a>
+<div class="header">
+<p>
+Previous: <a href="#Compatability" accesskey="p" rel="previous">Compatability</a>, Up: <a href="#Compatability" accesskey="u" rel="up">Compatability</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Compiling-NCO-for-Microsoft-Windows-OS"></a>
+<h4 class="subsection">1.3.1 Compiling <acronym>NCO</acronym> for Microsoft Windows <acronym>OS</acronym></h4>
+<a name="index-Windows-1"></a>
+<a name="index-Microsoft-1"></a>
+<a name="index-XP-_0028Microsoft-operating-system_0029"></a>
+<a name="index-NT-_0028Microsoft-operating-system_0029"></a>
+<a name="index-Vista-_0028Microsoft-operating-system_0029"></a>
+<a name="index-MVS-1"></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.
+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.
+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.
+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.
+</p>
+<p>Using the freely available Cygwin (formerly gnu-win32) development
+environment  
+<a name="DOCF4" href="#FOOT4"><sup>4</sup></a>, the compilation process is very similar to
+installing <acronym>NCO</acronym> on a <acronym>UNIX</acronym> system.  
+<a name="index-preprocessor-tokens"></a>
+<a name="index-Cygwin"></a>
+<a name="index-gnu_002dwin32"></a>
+<a name="index-WIN32"></a>
+<a name="index-GNUmakefile"></a>
+<a name="index-Makefile-1"></a>
+<a name="index-f90"></a>
+Set the <code>PVM_ARCH</code> preprocessor token to <code>WIN32</code>.  
+Note that defining <code>WIN32</code> has the side effect of disabling
+Internet features of <acronym>NCO</acronym> (see below). 
+<acronym>NCO</acronym> should now build like it does on <acronym>UNIX</acronym>.
+</p>
+<a name="index-UNIX-1"></a>
+<a name="index-getuid"></a>
+<a name="index-gethostname"></a>
+<a name="index-_003carpa_002fnameser_002eh_003e"></a>
+<a name="index-_003cresolv_002eh_003e"></a>
+<p>The least portable section of the code is the use of standard
+<acronym>UNIX</acronym> and Internet protocols (e.g., <code>ftp</code>, <code>rcp</code>,
+<code>scp</code>, <code>sftp</code>, <code>getuid</code>, <code>gethostname</code>, and header
+files <samp><arpa/nameser.h></samp> and 
+<samp><resolv.h></samp>). 
+<a name="index-ftp"></a>
+<a name="index-sftp"></a>
+<a name="index-rcp"></a>
+<a name="index-scp"></a>
+<a name="index-SSH"></a>
+<a name="index-remote-files"></a>
+Fortunately, these <acronym>UNIX</acronym>-y calls are only invoked by the single  
+<acronym>NCO</acronym> subroutine which is responsible for retrieving files
+stored on remote systems (see <a href="#Remote-storage">Remote storage</a>).
+In order to support <acronym>NCO</acronym> on the Microsoft Windows platforms,
+this single feature was disabled (on Windows <acronym>OS</acronym> only).
+This was required by Cygwin 18.x<!-- /@w -->—newer versions of Cygwin may
+support these protocols (let me know if this is the case).
+The <acronym>NCO</acronym> operators should behave identically on Windows and
+<acronym>UNIX</acronym> platforms in all other respects.
+</p>
+<a name="sym"></a> <!-- http://nco.sf.net/nco.html#sym --><hr>
+<a name="Symbolic-Links"></a>
+<div class="header">
+<p>
+Next: <a href="#Libraries" accesskey="n" rel="next">Libraries</a>, Previous: <a href="#Compatability" accesskey="p" rel="previous">Compatability</a>, Up: <a href="#Introduction" accesskey="u" rel="up">Introduction</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Symbolic-Links-1"></a>
+<h3 class="section">1.4 Symbolic Links</h3>
+<a name="index-symbolic-links"></a>
+<p><acronym>NCO</acronym> relies on a common set of underlying algorithms.
+To minimize duplication of source code, multiple operators sometimes
+share the same underlying source.
+This is accomplished by symbolic links from a single underlying
+executable program to one or more invoked executable names.
+For example, <code>nces</code> and <code>ncrcat</code> are symbolically linked  
+to the <code>ncra</code> executable.
+The <code>ncra</code> executable behaves slightly differently based on its
+invocation name (i.e., ‘<samp>argv[0]</samp>’), which can be 
+<code>nces</code>, <code>ncra</code>, or <code>ncrcat</code>.
+Logically, these are three different operators that happen to share 
+the same executable.
+</p>
+<a name="index-Cygwin-1"></a>
+<a name="index-synonym"></a>
+<a name="index-pseudonym"></a>
+<a name="index-_002d_002dpseudonym"></a>
+<p>For historical reasons, and to be more user friendly, multiple synonyms 
+(or pseudonyms) may refer to the same operator invoked with different
+switches. 
+For example, <code>ncdiff</code> is the same as <code>ncbo</code> and
+<code>ncpack</code> is the same as <code>ncpdq</code>.
+We implement the symbolic links and synonyms by the executing the
+following <acronym>UNIX</acronym> commands in the directory where the
+<acronym>NCO</acronym> executables are installed.
+</p><div class="example">
+<pre class="example">ln -s -f ncbo ncdiff    # ncbo --op_typ='+'
+ln -s -f ncra ncecat    # ncra --pseudonym='ncecat'
+ln -s -f ncra ncrcat    # ncra --pseudonym='ncrcat'
+ln -s -f ncbo ncadd     # ncbo --op_typ='+'
+ln -s -f ncbo ncsubtract # ncbo --op_typ='-'
+ln -s -f ncbo ncmultiply # ncbo --op_typ='*'
+ln -s -f ncbo ncdivide   # ncbo --op_typ='/'
+ln -s -f ncpdq ncpack    # ncpdq
+ln -s -f ncpdq ncunpack  # ncpdq --unpack
+# NB: Cygwin executable (and link) names have an '.exe' suffix, e.g.,
+ln -s -f ncbo.exe ncdiff.exe
+...
+</pre></div>
+<p>The imputed command called by the link is given after the comment.
+As can be seen, some these links impute the passing of a command line
+argument to further modify the behavior of the underlying executable.
+For example, <code>ncdivide</code> is a pseudonym for
+<code>ncbo --op_typ='/'</code>.
+</p>
+<a name="lbr"></a> <!-- http://nco.sf.net/nco.html#lbr --><hr>
+<a name="Libraries"></a>
+<div class="header">
+<p>
+Next: <a href="#netCDF2_002f3_002f4-and-HDF4_002f5-Support" accesskey="n" rel="next">netCDF2/3/4 and HDF4/5 Support</a>, Previous: <a href="#Symbolic-Links" accesskey="p" rel="previous">Symbolic Links</a>, Up: <a href="#Introduction" accesskey="u" rel="up">Introduction</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Libraries-1"></a>
+<h3 class="section">1.5 Libraries</h3>
+<a name="index-libraries"></a>
+<a name="index-LD_005fLIBRARY_005fPATH"></a>
+<a name="index-dynamic-linking"></a>
+<a name="index-static-linking"></a>
+<p>Like all executables, the <acronym>NCO</acronym> operators can be built using dynamic
+linking. 
+<a name="index-performance"></a>
+<a name="index-operator-speed"></a>
+<a name="index-speed"></a>
+<a name="index-execution-time"></a>
+This reduces the size of the executable and can result in significant
+performance enhancements on multiuser systems.
+Unfortunately, if your library search path (usually the
+<code>LD_LIBRARY_PATH</code> environment variable) is not set correctly, or if
+the system libraries have been moved, renamed, or deleted since
+<acronym>NCO</acronym> was installed, it is possible <acronym>NCO</acronym> operators
+will fail with a message that they cannot find a dynamically loaded (aka
+<em>shared object</em> or ‘<samp>.so</samp>’) library. 
+This will produce a distinctive error message, such as
+‘<samp>ld.so.1: /usr/local/bin/nces: fatal: libsunmath.so.1: can't
+open file: errno=2</samp>’.   
+If you received an error message like this, ask your system 
+administrator to diagnose whether the library is truly missing
+<a name="DOCF5" href="#FOOT5"><sup>5</sup></a>, or whether you
+simply need to alter your library search path.
+As a final remedy, you may re-compile and install <acronym>NCO</acronym> with all
+operators statically linked.  
+</p>
+<hr>
+<a name="netCDF2_002f3_002f4-and-HDF4_002f5-Support"></a>
+<div class="header">
+<p>
+Next: <a href="#Help-Requests-and-Bug-Reports" accesskey="n" rel="next">Help Requests and Bug Reports</a>, Previous: <a href="#Libraries" accesskey="p" rel="previous">Libraries</a>, Up: <a href="#Introduction" accesskey="u" rel="up">Introduction</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="netCDF2_002f3_002f4-and-HDF4_002f5-Support-1"></a>
+<h3 class="section">1.6 netCDF2/3/4 and HDF4/5 Support</h3>
+<a name="index-netCDF2"></a>
+<a name="index-netCDF3"></a>
+<p>netCDF version 2<!-- /@w --> was released in 1993.
+<acronym>NCO</acronym> (specifically <code>ncks</code>) began soon after this in 1994.  
+netCDF 3.0<!-- /@w --> was released in 1996, and we were not exactly eager to 
+convert all code to the newer, less tested netCDF implementation.
+One netCDF3<!-- /@w --> interface call (<code>nc_inq_libvers</code>) was added to 
+<acronym>NCO</acronym> in January, 1998, to aid in maintainance and debugging. 
+In March, 2001, the final <acronym>NCO</acronym> conversion to netCDF3<!-- /@w --> 
+was completed (coincidentally on the same day netCDF 3.5<!-- /@w --> was
+released). 
+<acronym>NCO</acronym> versions 2.0<!-- /@w --> and higher are built with the
+<code>-DNO_NETCDF_2</code> flag to ensure no netCDF2<!-- /@w --> interface calls   
+are used.
+<a name="index-NO_005fNETCDF_005f2"></a>
+</p>
+<a name="index-HDF"></a>
+<a name="index-Hierarchical-Data-Format"></a>
+<a name="index-Mike-Folk"></a>
+<p>However, the ability to compile <acronym>NCO</acronym> with only netCDF2<!-- /@w -->
+calls is worth maintaining because <acronym>HDF</acronym> version 4<!-- /@w -->, 
+aka <acronym>HDF4</acronym> or simply <acronym>HDF</acronym>, 
+<a name="DOCF6" href="#FOOT6"><sup>6</sup></a> 
+(available from <a href="http://hdfgroup.org">HDF</a>)
+supports only the netCDF2<!-- /@w --> library calls
+(see <a href="http://hdfgroup.org/UG41r3_html/SDS_SD.fm12.html#47784">http://hdfgroup.org/UG41r3_html/SDS_SD.fm12.html#47784</a>).
+There are two versions of <acronym>HDF</acronym>.
+Currently <acronym>HDF</acronym> version 4.x<!-- /@w --> supports the full netCDF2<!-- /@w -->
+<acronym>API</acronym> and thus <acronym>NCO</acronym> version 1.2.x<!-- /@w -->. 
+If <acronym>NCO</acronym> version 1.2.x<!-- /@w --> (or earlier) is built with only
+netCDF2<!-- /@w --> calls then all <acronym>NCO</acronym> operators should work with 
+<acronym>HDF4</acronym> files as well as netCDF files
+<a name="DOCF7" href="#FOOT7"><sup>7</sup></a>.
+<a name="index-NETCDF2_005fONLY"></a>
+The preprocessor token <code>NETCDF2_ONLY</code> exists
+in <acronym>NCO</acronym> version 1.2.x<!-- /@w --> to eliminate all netCDF3<!-- /@w -->
+calls.  
+Only versions of <acronym>NCO</acronym> numbered 1.2.x and earlier have this
+capability. 
+</p>
+<a name="index-Unidata-1"></a>
+<a name="index-NCSA"></a>
+<a name="index-netCDF4"></a>
+<a name="index-HDF5"></a>
+<p><acronym>HDF</acronym> version 5<!-- /@w --> became available in 1999, but did not
+support netCDF (or, for that matter, Fortran) as of December 1999.
+By early 2001, <acronym>HDF5</acronym> did support Fortran90.
+Thanks to an <acronym>NSF</acronym>-funded “harmonization” partnership,
+<acronym>HDF</acronym> began to fully support the netCDF3<!-- /@w --> read interface
+(which is employed by <acronym>NCO</acronym> 2.x<!-- /@w --> and later). 
+In 2004, Unidata and <acronym>THG</acronym> began a project to implement
+the <acronym>HDF5</acronym> features necessary to support the netCDF API.
+<acronym>NCO</acronym> version 3.0.3 added support for reading/writing
+netCDF4-formatted <acronym>HDF5</acronym> files in October, 2005.
+See <a href="#File-Formats-and-Conversion">File Formats and Conversion</a> for more details.
+</p>
+<p>HDF support for netCDF was completed with HDF5 version 
+version 1.8<!-- /@w --> in 2007. 
+The netCDF front-end that uses this <acronym>HDF5</acronym> back-end 
+was completed and released soon after as netCDF version 4<!-- /@w -->.
+Download it from the
+<a href="http://my.unidata.ucar.edu/content/software/netcdf/netcdf-4">netCDF4</a>
+website. 
+</p>
+<a name="nco4"></a> <!-- http://nco.sf.net/nco.html#nco4 --><p><acronym>NCO</acronym> version 3.9.0, released in May, 2007, added support for
+all netCDF4 atomic data types except <code>NC_STRING</code>.
+Support for <code>NC_STRING</code>, including ragged arrays of strings,
+was finally added in version 3.9.9, released in June, 2009.
+Support for additional netCDF4 features has been incremental.
+We add one netCDF4 feature at a time.
+You must build <acronym>NCO</acronym> with netCDF4 to obtain this support.
+</p>
+<a name="index-NC_005fUBYTE"></a>
+<a name="index-NC_005fUSHORT"></a>
+<a name="index-NC_005fUINT"></a>
+<a name="index-NC_005fINT64"></a>
+<a name="index-NC_005fUINT64"></a>
+<p>The main netCDF4 features that NCO currently supports are the new 
+atomic data types, Lempel-Ziv compression (deflation), and chunking. 
+The new atomic data types are <code>NC_UBYTE</code>, <code>NC_USHORT</code>, 
+<code>NC_UINT</code>, <code>NC_INT64</code>, and <code>NC_UINT64</code>.
+Eight-byte integer support is an especially useful improvement from
+netCDF3. 
+All <acronym>NCO</acronym> operators support these types, e.g., <code>ncks</code>
+copies and prints them, <code>ncra</code> averages them, and
+<code>ncap2</code> processes algebraic scripts with them.
+<code>ncks</code> prints compression information, if any, to screen.
+</p>
+<a name="index-deflation"></a>
+<p><acronym>NCO</acronym> version 3.9.1 (June, 2007) added support for netCDF4 
+Lempel-Ziv deflation.
+Lempel-Ziv deflation is a lossless compression technique.
+See <a href="#Deflation">Deflation</a> for more details.
+</p>
+<a name="index-chunking"></a>
+<p><acronym>NCO</acronym> version 3.9.9 (June, 2009) added support for netCDF4
+chunking in <code>ncks</code> and <code>ncecat</code>.
+<acronym>NCO</acronym> version 4.0.4 (September, 2010) completed support for
+netCDF4 chunking in the remaining operators.
+See <a href="#Chunking">Chunking</a> for more details.
+</p>
+<a name="index-groups"></a>
+<p><acronym>NCO</acronym> version 4.2.2 (October, 2012) added support for netCDF4
+groups in <code>ncks</code> and <code>ncecat</code>.
+Group support for these operators was complete (e.g., regular
+expressions to select groups and Group Path Editing) as of 
+<acronym>NCO</acronym> version 4.2.6 (March, 2013).
+See <a href="#Group-Path-Editing">Group Path Editing</a> for more details.
+Group support for all other operators was finished in the
+<acronym>NCO</acronym> version 4.3.x series completed in December, 2013.
+</p>
+<a name="index-broadcasting-groups"></a>
+<p>Support for netCDF4 in the first arithmetic operator, <code>ncbo</code>,
+was introduced in <acronym>NCO</acronym> version 4.3.0 (March, 2013).
+<acronym>NCO</acronym> version 4.3.1 (May, 2013) completed this support and
+introduced the first example of automatic group broadcasting.
+See <a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a> for more details.
+</p>
+<a name="index-HDF5-1"></a>
+<a name="index-_002d4"></a>
+<a name="index-_002d3"></a>
+<p>netCDF4-enabled <acronym>NCO</acronym> handles netCDF3 files without change.
+In addition, it automagically handles netCDF4 (<acronym>HDF5</acronym>) files:
+If you feed <acronym>NCO</acronym> netCDF3 files, it produces netCDF3 output.
+If you feed <acronym>NCO</acronym> netCDF4 files, it produces netCDF4 output.
+Use the handy-dandy ‘<samp>-4</samp>’ switch to request netCDF4 output from 
+netCDF3 input, i.e., to convert netCDF3 to netCDF4.
+See <a href="#File-Formats-and-Conversion">File Formats and Conversion</a> for more details.
+</p>
+<a name="hdf4"></a> <!-- http://nco.sf.net/nco.html#hdf4 -->
+<a name="HDF4"></a> <!-- http://nco.sf.net/nco.html#HDF4 --><a name="index-HDF4"></a>
+<a name="index-_002d_002dhdf4"></a>
+<p>When linked to a netCDF library that was built with <acronym>HDF4</acronym>
+support
+<a name="DOCF8" href="#FOOT8"><sup>8</sup></a>,
+<acronym>NCO</acronym> automatically supports reading <acronym>HDF4</acronym> 
+files and writing them as netCDF3/netCDF4/<acronym>HDF5</acronym> files.
+<acronym>NCO</acronym> can only write through the netCDF <acronym>API</acronym>, which
+can only write netCDF3/netCDF4/<acronym>HDF5</acronym> files. 
+So <acronym>NCO</acronym> can <em>read</em> <acronym>HDF4</acronym> files, perform
+manipulations and calculations, and then <em>write</em> the results in
+netCDF format. 
+</p>
+<p>Full support for these features is forthcoming, yet support as of
+December, 2013 is quite functional.
+For best results install <acronym>NCO</acronym> versions 4.4.0 or later on top of
+netCDF versions 4.3.1 or later. 
+Getting to this point has been an iterative effort where Unidata
+improved netCDF library capabilities in response to our requests.
+<acronym>NCO</acronym> versions 4.3.6 and earlier do not explicitly support
+<acronym>HDF4</acronym>, yet should work with <acronym>HDF4</acronym> if compiled with 
+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
+<acronym>HDF4</acronym> format by using the ‘<samp>--hdf4</samp>’ switch. 
+</p>
+<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.
+In particular, the ‘<samp>--hdf4</samp>’ switch is obsolete. 
+Current versions of <acronym>NCO</acronym> use netCDF to determine automatically
+whether the underlying file is <acronym>HDF4</acronym>, and then take appropriate
+precautions to avoid calls not yet supported by the netCDF4 subset
+<acronym>HDF4</acronym>. 
+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. 
+</p>
+<p>Converting <acronym>HDF4</acronym> files to netCDF:
+Since <acronym>NCO</acronym> reads <acronym>HDF4</acronym> files natively, it is now easy  
+to convert <acronym>HDF4</acronym> files to netCDF files directly, e.g.,
+</p><div class="example">
+<pre class="example">ncks        fl.hdf fl.nc # Convert HDF4->netCDF4 (NCO 4.4.0+, netCDF 4.3.1+)
+ncks --hdf4 fl.hdf fl.nc # Convert HDF4->netCDF4 (NCO 4.3.7-4.3.9)
+</pre></div>
+<p>The most efficient and accurate way to convert <acronym>HDF4</acronym> data to
+netCDF format is to convert to netCDF4 using <acronym>NCO</acronym> as above.
+It suffices when the data will only be processed by <acronym>NCO</acronym>, or
+other netCDF4-aware tools. 
+However, many tools are not fully netCDF4-aware, and so conversion to
+netCDF3 may be desirable.
+</p>
+<p>Obtaining a netCDF3 file from an <acronym>HDF4</acronym> is now easy, even though
+the <acronym>HDF4</acronym> file may contain netCDF4 atomic types (e.g., unsigned
+bytes, 64-bit integers): 
+</p><div class="example">
+<pre class="example">ncks -3 fl.hdf fl.nc      # HDF4->netCDF3 (NCO 4.4.0+, netCDF 4.3.1+)
+ncks -7 -L 1 fl.hdf fl.nc # HDF4->netCDF4 (NCO 4.4.0+, netCDF 4.3.1+)
+ncks --hdf4 -3 fl.hdf fl.nc # HDF4->netCDF3 (netCDF 4.3.0-)
+ncks --hdf4 -7 fl.hdf fl.nc # HDF4->netCDF4 classic (netCDF 4.3.0-)
+</pre></div>
+<p>As of <acronym>NCO</acronym> version 4.4.0 (January, 2014), these commands work
+with netCDF4 atomic types
+<a name="DOCF9" href="#FOOT9"><sup>9</sup></a>.  
+Many <acronym>HDF4</acronym> producers (<acronym>NASA</acronym>!) love to use netCDF4
+types, e.g., unsigned bytes. 
+</p>
+<a name="index-RPM"></a>
+<a name="index-Debian"></a>
+<p>As of 2012, netCDF4 is relatively stable software.
+Problems with netCDF4 and <acronym>HDF</acronym> libraries have mainly been fixed.
+Binary <acronym>NCO</acronym> distributions shipped as <acronym>RPM</acronym>s and as debs
+have used the netCDF4 library since 2010 and 2011, respectively.
+</p>
+<a name="index-NETCDF4_005fROOT"></a>
+<p>One must often build <acronym>NCO</acronym> from source to obtain netCDF4
+support. 
+Typically, one specifies the root of the netCDF4
+installation directory. Do this with the <code>NETCDF4_ROOT</code> variable.
+Then use your preferred <acronym>NCO</acronym> build mechanism, e.g.,
+</p><div class="example">
+<pre class="example">export NETCDF4_ROOT=/usr/local/netcdf4 # Set netCDF4 location
+cd ~/nco;./configure --enable-netcdf4  # Configure mechanism -or-
+cd ~/nco/bld;./make NETCDF4=Y allinone # Old Makefile mechanism
+</pre></div>
+
+<p>We carefully track the netCDF4 releases, and keep the netCDF4 atomic
+type support and other features working.
+Our long term goal is to utilize more of the extensive new netCDF4
+feature set. The next major netCDF4 feature we are likely to utilize
+is parallel I/O. We will enable this in the <acronym>MPI</acronym> netCDF
+operators. 
+</p>
+<a name="help"></a> <!-- http://nco.sf.net/nco.html#help -->
+<a name="hlp"></a> <!-- http://nco.sf.net/nco.html#hlp -->
+<a name="bug"></a> <!-- http://nco.sf.net/nco.html#bug --><hr>
+<a name="Help-Requests-and-Bug-Reports"></a>
+<div class="header">
+<p>
+Previous: <a href="#netCDF2_002f3_002f4-and-HDF4_002f5-Support" accesskey="p" rel="previous">netCDF2/3/4 and HDF4/5 Support</a>, Up: <a href="#Introduction" accesskey="u" rel="up">Introduction</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Help-Requests-and-Bug-Reports-1"></a>
+<h3 class="section">1.7 Help Requests and Bug Reports</h3>
+<a name="index-reporting-bugs"></a>
+<a name="index-bugs_002c-reporting"></a>
+<a name="index-core-dump"></a>
+<a name="index-help"></a>
+<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
+great and it saves me more time everyday than it took to write this
+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>
+Project Forums. 
+Do not contact project members via personal e-mail unless your request
+comes with money or you have damaging information about our personal
+lives.
+<em>Please use the Forums</em>—they preserve a record of the questions
+and answers so that others can learn from our exchange.
+Also, since <acronym>NCO</acronym> is government-funded, this record helps us
+provide program officers with information they need to evaluate our
+project. 
+</p>
+<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
+(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.
+</p>
+<p>If you want us to include a new feature in <acronym>NCO</acronym>, check first to 
+see if that feature is already on the <a href="file:./TODO">TODO</a> list.
+If it is, why not implement that feature yourself and send us the patch?
+If the feature is not yet on the list, then send a note to the
+<a href="http://sf.net/projects/nco/forums/forum/9829">NCO Discussion forum</a>.
+</p>
+<p>Read the manual before reporting a bug or posting a help request.
+Sending questions whose answers are not in the manual is the best
+way to motivate us to write more documentation.  
+We would also like to accentuate the contrapositive of this statement.  
+If you think you have found a real bug <em>the most helpful thing you 
+can do is simplify the problem to a manageable size and then report it</em>.
+The first thing to do is to make sure you are running the latest
+publicly released version of <acronym>NCO</acronym>.  
+</p>
+<p>Once you have read the manual, if you are still unable to get
+<acronym>NCO</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).
+<a name="index-debugging"></a>
+<a name="index-_002dr"></a>
+<a name="index-_002dD"></a>
+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>NCO</acronym> (with ‘<samp>-r</samp>’).  
+Post your help request to the 
+<a href="http://sf.net/projects/nco/forums/forum/9830">NCO Help forum</a>.
+</p>
+<p>If you think you used the right command when <acronym>NCO</acronym> misbehaves,
+then you might have found a bug.  
+Incorrect numerical answers are the highest priority.
+We usually fix those within one or two days.
+Core dumps and sementation violations receive lower priority.
+They are always fixed, eventually. 
+</p>
+<p>How do you simplify a problem that reveal a bug?
+Cut out extraneous variables, dimensions, and metadata from the
+offending files and re-run the command until it no longer breaks.  
+Then back up one step and report the problem.
+Usually the file(s) will be very small, i.e., one variable with one or
+two small dimensions ought to suffice.
+<a name="dbg"></a> <!-- http://nco.sf.net/nco.html#dbg -->
+<a name="-D"></a> <!-- http://nco.sf.net/nco.html#-D --><a name="index-_002dr-1"></a>
+<a name="index-_002d_002drevision"></a>
+<a name="index-_002d_002dversion"></a>
+<a name="index-_002d_002dvrs"></a>
+<a name="index-_002dD-debug_002dlevel"></a>
+<a name="index-_002d_002ddebug_002dlevel-debug_002dlevel"></a>
+<a name="index-_002d_002ddbg_005flvl-debug_002dlevel"></a>
+<a name="index-debug_002dlevel"></a>
+<a name="index-dbg_005flvl"></a>
+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 
+and compile-time environment.
+Include a copy of your sample input file, or place one on a 
+publically accessible location, of the file(s).
+Post the full bug report to the 
+<a href="http://sf.net/bugs/?group_id=3331">NCO Project buglist</a>.
+</p>
+<a name="index-installation-1"></a>
+<a name="index-autoconf"></a>
+<a name="index-nco_002econfigure_002e_0024_007bGNU_005fTRP_007d_002efoo"></a>
+<a name="index-nco_002econfig_002elog_002e_0024_007bGNU_005fTRP_007d_002efoo"></a>
+<a name="index-nco_002emake_002e_0024_007bGNU_005fTRP_007d_002efoo"></a>
+<a name="index-config_002eguess"></a>
+<a name="index-configure_002eeg"></a>
+<p>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
+are the three files output by <acronym>GNU</acronym> build tools,  
+<samp>nco.config.log.${GNU_TRP}.foo</samp>,
+<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",
+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>.
+<a name="index-regressions-archive"></a>
+The regressions archive at <a href="http://dust.ess.uci.edu/nco/rgr">http://dust.ess.uci.edu/nco/rgr</a>
+contains the build output from our standard test systems.
+You may find you can solve the build problem yourself by examining the
+differences between these files and your own.
+</p>
+<a name="str"></a> <!-- http://nco.sf.net/nco.html#str --><hr>
+<a name="Strategies"></a>
+<div class="header">
+<p>
+Next: <a href="#Common-features" accesskey="n" rel="next">Common features</a>, Previous: <a href="#Introduction" accesskey="p" rel="previous">Introduction</a>, Up: <a href="#Top" accesskey="u" rel="up">Top</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Operator-Strategies"></a>
+<h2 class="chapter">2 Operator Strategies</h2>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">• <a href="#Philosophy" accesskey="1">Philosophy</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Climate-Model-Paradigm" accesskey="2">Climate Model Paradigm</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Temporary-Output-Files" accesskey="3">Temporary Output Files</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Appending-Variables" accesskey="4">Appending Variables</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Simple-Arithmetic-and-Interpolation" accesskey="5">Simple Arithmetic and Interpolation</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Statistics-vs_002e-Concatenation" accesskey="6">Statistics vs. Concatenation</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Large-Numbers-of-Files" accesskey="7">Large Numbers of Files</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Large-Datasets" accesskey="8">Large Datasets</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Memory-Requirements" accesskey="9">Memory Requirements</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Performance">Performance</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<a name="phl"></a> <!-- http://nco.sf.net/nco.html#phl --><hr>
+<a name="Philosophy"></a>
+<div class="header">
+<p>
+Next: <a href="#Climate-Model-Paradigm" accesskey="n" rel="next">Climate Model Paradigm</a>, Previous: <a href="#Strategies" accesskey="p" rel="previous">Strategies</a>, Up: <a href="#Strategies" accesskey="u" rel="up">Strategies</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Philosophy-1"></a>
+<h3 class="section">2.1 Philosophy</h3>
+<a name="index-philosophy"></a>
+<a name="index-climate-model"></a>
+
+<p>The main design goal is command line operators which perform useful,
+scriptable operations on netCDF files.  
+Many scientists work with models and observations which produce too much
+data to analyze in tabular format.
+Thus, it is often natural to reduce and massage this raw or primary
+level data into summary, or second level data, e.g., temporal or spatial
+averages. 
+These second level data may become the inputs to graphical and
+statistical packages, and are often more suitable for archival and
+dissemination to the scientific community.
+<acronym>NCO</acronym> performs a suite of operations useful in manipulating data
+from the primary to the second level state.
+<a name="index-IDL"></a>
+<a name="index-Matlab"></a>
+<a name="index-NCL"></a>
+<a name="index-Perl"></a>
+<a name="index-Yorick"></a>
+Higher level interpretive languages (e.g., <acronym>IDL</acronym>, Yorick,
+Matlab, <acronym>NCL</acronym>, Perl, Python),
+and lower level compiled languages (e.g., C, Fortran) can always perform  
+any task performed by <acronym>NCO</acronym>, but often with more overhead.
+NCO, on the other hand, is limited to a much smaller set of arithmetic
+and metadata operations than these full blown languages.
+</p>
+<a name="index-command-line-switches"></a>
+<p>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.
+Finally, <acronym>NCO</acronym> was written to consume the absolute minimum
+amount of system memory required to perform a given job.
+The arithmetic operators are extremely efficient; their exact memory
+usage is detailed in <a href="#Memory-Requirements">Memory Requirements</a>.
+</p>
+<a name="clm"></a> <!-- http://nco.sf.net/nco.html#clm --><hr>
+<a name="Climate-Model-Paradigm"></a>
+<div class="header">
+<p>
+Next: <a href="#Temporary-Output-Files" accesskey="n" rel="next">Temporary Output Files</a>, Previous: <a href="#Philosophy" accesskey="p" rel="previous">Philosophy</a>, Up: <a href="#Strategies" accesskey="u" rel="up">Strategies</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Climate-Model-Paradigm-1"></a>
+<h3 class="section">2.2 Climate Model Paradigm</h3>
+<a name="index-climate-model-1"></a>
+<a name="index-NCAR"></a>
+<a name="index-GCM"></a>
+
+<p><acronym>NCO</acronym> was developed at <acronym>NCAR</acronym> to aid analysis and
+manipulation of datasets produced by General Circulation Models
+(<acronym>GCM</acronym>s).  
+<acronym>GCM</acronym> datasets share many features with other gridded scientific
+datasets and so provide a useful paradigm for the explication of the
+<acronym>NCO</acronym> operator set. 
+Examples in this manual use a <acronym>GCM</acronym> paradigm because latitude,
+longitude, time, temperature and other fields related to our natural
+environment are as easy to visualize for the layman as the expert.
+</p>
+<a name="out"></a> <!-- http://nco.sf.net/nco.html#out --><hr>
+<a name="Temporary-Output-Files"></a>
+<div class="header">
+<p>
+Next: <a href="#Appending-Variables" accesskey="n" rel="next">Appending Variables</a>, Previous: <a href="#Climate-Model-Paradigm" accesskey="p" rel="previous">Climate Model Paradigm</a>, Up: <a href="#Strategies" accesskey="u" rel="up">Strategies</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Temporary-Output-Files-1"></a>
+<h3 class="section">2.3 Temporary Output Files</h3>
+<a name="index-data-safety"></a>
+<a name="index-error-tolerance"></a>
+<a name="index-safeguards"></a>
+<a name="index-temporary-output-files"></a>
+<a name="index-temporary-files"></a>
+<p><acronym>NCO</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.
+The user-specified <var>output-file</var> is only created upon successful
+completion of the operation  
+<a name="DOCF10" href="#FOOT10"><sup>10</sup></a>.
+This is accomplished by performing all operations in a temporary copy
+of <var>output-file</var>.
+The name of the temporary output file is constructed by appending
+<code>.pid<var><process ID></var>.<var><operator name></var>.tmp</code> to the
+user-specified <var>output-file</var> name.  
+When the operator completes its task with no fatal errors, the temporary
+output file is moved to the user-specified <var>output-file</var>.
+This imbues the process with fault-tolerance since fatal error
+(e.g., disk space fills up) affect only the temporary output file,
+leaving the final output file not created if it did not already exist. 
+Note the construction of a temporary output file uses more disk space
+than just overwriting existing files “in place” (because there may be
+two copies of the same file on disk until the <acronym>NCO</acronym> operation
+successfully concludes and the temporary output file overwrites the
+existing <var>output-file</var>).  
+<a name="index-performance-1"></a>
+<a name="index-operator-speed-1"></a>
+<a name="index-speed-1"></a>
+<a name="index-execution-time-1"></a>
+Also, note this feature increases the execution time of the operator
+by approximately the time it takes to copy the <var>output-file</var>
+<a name="DOCF11" href="#FOOT11"><sup>11</sup></a>.
+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
+“overlap”. 
+</p>
+<a name="tmp_fl"></a> <!-- http://nco.sf.net/nco.html#tmp_fl -->
+<a name="no_tmp_fl"></a> <!-- http://nco.sf.net/nco.html#no_tmp_fl -->
+<a name="wrt_tmp_fl"></a> <!-- http://nco.sf.net/nco.html#wrt_tmp_fl --><a name="index-_002d_002dno_005ftmp_005ffl"></a>
+<a name="index-_002d_002dwrt_005ftmp_005ffl"></a>
+<a name="index-_002d_002dwrite_005ftmp_005ffl"></a>
+<a name="index-_002d_002dcreate_005fram"></a>
+<a name="index-_002d_002dopen_005fram"></a>
+<a name="index-RAM-disks"></a>
+<a name="index-RAM-files"></a>
+<p>Over time many “power users” have requested a way to turn-off the
+fault-tolerance safety feature of automatically creating a temporary
+file. 
+Often these users build and execute production data analysis scripts
+that are repeated frequently on large datasets.
+Obviating an extra file write can then conserve significant disk space
+and time.  
+For this purpose <acronym>NCO</acronym> has, since version 4.2.1 in August, 2012, 
+made configurable the controls over temporary file creation.
+The ‘<samp>--wrt_tmp_fl</samp>’ and equivalent ‘<samp>--write_tmp_fl</samp>’ switches 
+ensure <acronym>NCO</acronym> writes output to an intermediate temporary file.
+This is and has always been the default behavior so there is currently
+no need to specify these switches.
+However, the default may change some day, especially since writing to
+RAM disks (see <a href="#RAM-disks">RAM disks</a>) may some day become the default.
+The ‘<samp>--no_tmp_fl</samp>’ switch causes <acronym>NCO</acronym> to write directly to
+the final output file instead of to an intermediate temporary file. 
+“Power users” may wish to invoke this switch to increase performance
+(i.e., reduce wallclock time) when manipulating large files. 
+When eschewing temporary files, users may forsake the ability to have
+the same name for both <var>output-file</var> and <var>input-file</var> since, as   
+described above, the temporary file prevented overlap issues.
+However, if the user creates the output file in <acronym>RAM</acronym> (see <a href="#RAM-disks">RAM disks</a>)
+then it is still possible to have the same name for both
+<var>output-file</var> and <var>input-file</var>.
+</p><div class="example">
+<pre class="example">ncks in.nc out.nc # Default: create out.pid.tmp.nc then move to out.nc
+ncks --wrt_tmp_fl in.nc out.nc # Same as default
+ncks --no_tmp_fl in.nc out.nc # Create out.nc directly on disk
+ncks --no_tmp_fl in.nc in.nc # ERROR-prone! Overwrite in.nc with itself
+ncks --create_ram --no_tmp_fl in.nc in.nc # Create in RAM, write to disk
+ncks --open_ram --no_tmp_fl in.nc in.nc # Read into RAM, write to disk
+</pre></div>
+<p>There is no reason to expect the fourth example to work.
+The behavior of overwriting a file while reading from the same file is
+undefined, much as is the shell command ‘<samp>cat foo > foo</samp>’.
+Although it may “work” in some cases, it is unreliable.
+One way around this is to use ‘<samp>--create_ram</samp>’ so that the
+output file is not written to disk until the input file is closed,
+See <a href="#RAM-disks">RAM disks</a>.
+However, as of 20130328, the behavior of the ‘<samp>--create_ram</samp>’ and
+‘<samp>--open_ram</samp>’ examples has not been thoroughly tested.
+</p>
+<p>The <acronym>NCO</acronym> authors have seen compelling use cases for utilizing
+the <acronym>RAM</acronym> switches, though not (yet) for combining them with
+‘<samp>--no_tmp_fl</samp>’. 
+<acronym>NCO</acronym> implements both options because they are largely
+independent of eachother.
+It is up to “power users” to discover which best fit their needs.
+We welcome accounts of your experiences posted to the forums.
+</p>
+<a name="-A"></a> <!-- http://nco.sf.net/nco.html#-A -->
+<a name="-O"></a> <!-- http://nco.sf.net/nco.html#-O --><a name="index-_002dA"></a>
+<a name="index-_002dO"></a>
+<a name="index-_002d_002dapn"></a>
+<a name="index-_002d_002dappend"></a>
+<a name="index-_002d_002dovr"></a>
+<a name="index-_002d_002doverwrite"></a>
+<a name="index-overwriting-files"></a>
+<a name="index-appending-variables"></a>
+<a name="index-appending-to-files"></a>
+<p>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,
+then the operator will prompt the user whether to overwrite (erase) the
+existing <var>output-file</var>, attempt to append to it, or abort the
+operation. 
+However, in processing large amounts of data, too many interactive
+questions slows productivity.
+Therefore <acronym>NCO</acronym> also implements two ways to override its own
+safety features, the ‘<samp>-O</samp>’ and ‘<samp>-A</samp>’ switches.
+Specifying ‘<samp>-O</samp>’ tells the operator to overwrite any existing
+<var>output-file</var> without prompting the user interactively.
+Specifying ‘<samp>-A</samp>’ tells the operator to attempt to append to any
+existing <var>output-file</var> without prompting the user interactively.
+These switches are useful in batch environments because they suppress
+interactive keyboard input.
+</p>
+<a name="apn"></a> <!-- http://nco.sf.net/nco.html#apn -->
+<a name="append"></a> <!-- http://nco.sf.net/nco.html#append --><hr>
+<a name="Appending-Variables"></a>
+<div class="header">
+<p>
+Next: <a href="#Simple-Arithmetic-and-Interpolation" accesskey="n" rel="next">Simple Arithmetic and Interpolation</a>, Previous: <a href="#Temporary-Output-Files" accesskey="p" rel="previous">Temporary Output Files</a>, Up: <a href="#Strategies" accesskey="u" rel="up">Strategies</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Appending-Variables-1"></a>
+<h3 class="section">2.4 Appending Variables</h3>
+<p>Adding variables from one file to another is often desirable.
+<a name="index-concatenation"></a>
+<a name="index-appending-variables-1"></a>
+<a name="index-merging-files"></a>
+<a name="index-pasting-variables"></a>
+This is referred to as <em>appending</em>, although some prefer the
+terminology <em>merging</em> <a name="DOCF12" href="#FOOT12"><sup>12</sup></a> or <em>pasting</em>. 
+Appending is often confused with what <acronym>NCO</acronym> calls
+<em>concatenation</em>. 
+<a name="index-record-dimension"></a>
+In <acronym>NCO</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
+lengths of the input files. 
+Appending, on the other hand, refers to copying a variable from one file
+to another file which may or may not already contain the variable 
+<a name="DOCF13" href="#FOOT13"><sup>13</sup></a>. 
+<acronym>NCO</acronym> can append or concatenate just one variable, or all the
+variables in a file at the same time.
+</p>
+<p>In this sense, <code>ncks</code> can append variables from one file to
+another file. 
+This capability is invoked by naming two files on the command line,
+<var>input-file</var> and <var>output-file</var>. 
+When <var>output-file</var> already exists, the user is prompted whether to
+<em>overwrite</em>, <em>append/replace</em>, or <em>exit</em> from the command.
+Selecting <em>overwrite</em> tells the operator to erase the existing
+<var>output-file</var> and replace it with the results of the operation.
+Selecting <em>exit</em> causes the operator to exit—the <var>output-file</var>
+will not be touched in this case.
+Selecting <em>append/replace</em> causes the operator to attempt to place
+the results of the operation in the existing <var>output-file</var>, 
+See <a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a>.
+</p>
+<a name="unn"></a> <!-- http://nco.sf.net/nco.html#unn --><a name="index-union-of-files"></a>
+<a name="index-disjoint-files"></a>
+<p>The simplest way to create the union of two files is
+</p><div class="example">
+<pre class="example">ncks -A fl_1.nc fl_2.nc
+</pre></div>
+<p>This puts the contents of <samp>fl_1.nc</samp> into <samp>fl_2.nc</samp>. 
+The ‘<samp>-A</samp>’ is optional. 
+On output, <samp>fl_2.nc</samp> is the union of the input files,
+regardless of whether they share dimensions and variables, 
+or are completely disjoint.
+The append fails if the input files have differently named record
+dimensions (since netCDF supports only one), or have dimensions of the
+same name but different sizes.
+</p>
+<a name="bnr"></a> <!-- http://nco.sf.net/nco.html#bnr --><hr>
+<a name="Simple-Arithmetic-and-Interpolation"></a>
+<div class="header">
+<p>
+Next: <a href="#Statistics-vs_002e-Concatenation" accesskey="n" rel="next">Statistics vs. Concatenation</a>, Previous: <a href="#Appending-Variables" accesskey="p" rel="previous">Appending Variables</a>, Up: <a href="#Strategies" accesskey="u" rel="up">Strategies</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Simple-Arithmetic-and-Interpolation-1"></a>
+<h3 class="section">2.5 Simple Arithmetic and Interpolation</h3>
+
+<p>Users comfortable with <acronym>NCO</acronym> semantics may find it easier to
+perform some simple mathematical operations in <acronym>NCO</acronym> rather than  
+higher level languages. 
+<code>ncbo</code> (see <a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a>) does file
+addition, subtraction, multiplication, division, and broadcasting. 
+It even does group broadcasting.
+<code>ncflint</code> (see <a href="#ncflint-netCDF-File-Interpolator">ncflint netCDF File Interpolator</a>) does
+file addition, subtraction, multiplication and interpolation. 
+Sequences of these commands can accomplish simple yet powerful
+operations from the command line.
+</p>
+<a name="statisticians"></a> <!-- http://nco.sf.net/nco.html#statisticians -->
+<a name="averagers"></a> <!-- http://nco.sf.net/nco.html#averagers --><hr>
+<a name="Statistics-vs_002e-Concatenation"></a>
+<div class="header">
+<p>
+Next: <a href="#Large-Numbers-of-Files" accesskey="n" rel="next">Large Numbers of Files</a>, Previous: <a href="#Simple-Arithmetic-and-Interpolation" accesskey="p" rel="previous">Simple Arithmetic and Interpolation</a>, Up: <a href="#Strategies" accesskey="u" rel="up">Strategies</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Statistics-vs_002e-Concatenation-1"></a>
+<h3 class="section">2.6 Statistics vs. Concatenation</h3>
+
+<a name="sym_ncea"></a> <!-- http://nco.sf.net/nco.html#sym_ncea -->
+<a name="sym_nces"></a> <!-- http://nco.sf.net/nco.html#sym_nces -->
+<a name="sym_ncrcat"></a> <!-- http://nco.sf.net/nco.html#sym_ncrcat --><a name="index-symbolic-links-1"></a>
+<p>The most frequently used operators of <acronym>NCO</acronym> are probably the
+<em>statisticians</em> (i.e., tools that do statistics) and concatenators.
+Because there are so many types of statistics like averaging (e.g.,
+across files, within a file, over the record dimension, over other
+dimensions, with or without weights and masks) and of concatenating
+(across files, along the record dimension, along other dimensions),
+there are currently no fewer than five operators which tackle these two
+purposes: <code>ncra</code>, <code>nces</code>, <code>ncwa</code>,
+<code>ncrcat</code>, and <code>ncecat</code>.  
+These operators do share many capabilities <a name="DOCF14" href="#FOOT14"><sup>14</sup></a>, though each has its unique specialty.
+Two of these operators, <code>ncrcat</code> and <code>ncecat</code>, 
+concatenate hyperslabs across files. 
+The other two operators, <code>ncra</code> and <code>nces</code>, compute
+statistics across (and/or within) files 
+<a name="DOCF15" href="#FOOT15"><sup>15</sup></a>.  
+First, let’s describe the concatenators, then the statistics tools.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">• <a href="#Concatenation" accesskey="1">Concatenation</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Averaging" accesskey="2">Averaging</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Interpolating" accesskey="3">Interpolating</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<a name="cnc"></a> <!-- http://nco.sf.net/nco.html#cnc --><hr>
+<a name="Concatenation"></a>
+<div class="header">
+<p>
+Next: <a href="#Averaging" accesskey="n" rel="next">Averaging</a>, Previous: <a href="#Statistics-vs_002e-Concatenation" accesskey="p" rel="previous">Statistics vs. Concatenation</a>, Up: <a href="#Statistics-vs_002e-Concatenation" accesskey="u" rel="up">Statistics vs. Concatenation</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Concatenators-ncrcat-and-ncecat"></a>
+<h4 class="subsection">2.6.1 Concatenators <code>ncrcat</code> and <code>ncecat</code></h4>
+<a name="index-ncecat"></a>
+<a name="index-ncrcat"></a>
+
+<p>Joining together independent files along a common record dimension is
+called <em>concatenation</em>.    
+<code>ncrcat</code> is designed for concatenating record variables, while
+<code>ncecat</code> is designed for concatenating fixed length variables.
+Consider five files, <samp>85.nc</samp>, <samp>86.nc</samp>, 
+… <samp>89.nc</samp><!-- /@w --> each containing a year’s worth of data.  
+Say you wish to create from them a single file, <samp>8589.nc</samp>
+containing all the data, i.e., spanning all five years.
+If the annual files make use of the same record variable, then
+<code>ncrcat</code> will do the job nicely with, e.g., 
+<code>ncrcat 8?.nc 8589.nc</code>. 
+The number of records in the input files is arbitrary and can vary from
+file to file. 
+See <a href="#ncrcat-netCDF-Record-Concatenator">ncrcat netCDF Record Concatenator</a>, for a complete description of
+<code>ncrcat</code>. 
+</p>
+<p>However, suppose the annual files have no record variable, and thus
+their data are all fixed length. 
+<a name="index-ensemble"></a>
+<a name="index-climate-model-2"></a>
+For example, the files may not be conceptually sequential, but rather
+members of the same group, or <em>ensemble</em>. 
+Members of an ensemble may have no reason to contain a record dimension.
+<code>ncecat</code> will create a new record dimension (named <var>record</var>
+by default) with which to glue together the individual files into the
+single ensemble file.
+If <code>ncecat</code> is used on files which contain an existing record
+dimension, that record dimension is converted to a fixed-length
+dimension of the same name and a new record dimension (named
+<code>record</code>) is created.  
+Consider five realizations, <samp>85a.nc</samp>, <samp>85b.nc</samp>, 
+… <samp>85e.nc</samp><!-- /@w --> of 1985 predictions from the same climate
+model. 
+Then <code>ncecat 85?.nc 85_ens.nc</code> glues together the individual
+realizations into the single file, <samp>85_ens.nc</samp>. 
+If an input variable was dimensioned [<code>lat</code>,<code>lon</code>], it will
+have dimensions [<code>record</code>,<code>lat</code>,<code>lon</code>] in the output file.
+A restriction<!-- /@w --> of <code>ncecat</code> is that the hyperslabs of the
+processed variables must be the same from file to file.
+Normally this means all the input files are the same size, and contain 
+data on different realizations of the same variables.
+See <a href="#ncecat-netCDF-Ensemble-Concatenator">ncecat netCDF Ensemble Concatenator</a>, for a complete description
+of <code>ncecat</code>. 
+</p>
+<a name="index-ncpdq"></a>
+<a name="dmn_cat"></a> <!-- http://nco.sf.net/nco.html#dmn_cat --><p><code>ncpdq</code> makes it possible to concatenate files along any
+dimension, not just the record dimension.
+First, use <code>ncpdq</code> to convert the dimension to be concatenated
+(i.e., extended with data from other files) into the record dimension. 
+Second, use <code>ncrcat</code> to concatenate these files.
+Finally, if desirable, use <code>ncpdq</code> to revert to the original
+dimensionality.
+As a concrete example, say that files <samp>x_01.nc</samp>, <samp>x_02.nc</samp>,
+… <samp><span class="nolinebreak">x_10.nc</span></samp><!-- /@w --> contain time-evolving datasets from spatially
+adjacent regions.
+The time and spatial coordinates are <code>time</code> and <code>x</code>, respectively.
+Initially the record dimension is <code>time</code>.
+Our goal is to create a single file that contains joins all the
+spatially adjacent regions into one single time-evolving dataset.
+</p><div class="example">
+<pre class="example">for idx in 01 02 03 04 05 06 07 08 09 10; do # Bourne Shell
+  ncpdq -a x,time x_${idx}.nc foo_${idx}.nc # Make x record dimension
+done
+ncrcat foo_??.nc out.nc       # Concatenate along x
+ncpdq -a time,x out.nc out.nc # Revert to time as record dimension
+</pre></div>
+
+<p>Note that <code>ncrcat</code> will not concatenate fixed-length variables, 
+whereas <code>ncecat</code> concatenates both fixed-length and record
+variables along a new record variable.
+To conserve system memory, use <code>ncrcat</code> where possible.
+</p>
+<a name="avg"></a> <!-- http://nco.sf.net/nco.html#avg --><hr>
+<a name="Averaging"></a>
+<div class="header">
+<p>
+Next: <a href="#Interpolating" accesskey="n" rel="next">Interpolating</a>, Previous: <a href="#Concatenation" accesskey="p" rel="previous">Concatenation</a>, Up: <a href="#Statistics-vs_002e-Concatenation" accesskey="u" rel="up">Statistics vs. Concatenation</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Averagers-nces_002c-ncra_002c-and-ncwa"></a>
+<h4 class="subsection">2.6.2 Averagers <code>nces</code>, <code>ncra</code>, and <code>ncwa</code></h4>
+<a name="index-nces"></a>
+<a name="index-ncra"></a>
+<a name="index-ncwa"></a>
+
+<p>The differences between the averagers <code>ncra</code> and <code>nces</code>
+are analogous to the differences between the concatenators.
+<code>ncra</code> is designed for averaging record variables from at least
+one file, while <code>nces</code> is designed for averaging fixed length
+variables from multiple files.
+<code>ncra</code> performs a simple arithmetic average over the record
+dimension of all the input files, with each record having an equal
+weight in the average. 
+<code>nces</code> performs a simple arithmetic average of all the input
+files, with each file having an equal weight in the average. 
+Note that <code>ncra</code> cannot average fixed-length variables,
+but <code>nces</code> can average both fixed-length and record variables.  
+To conserve system memory, use <code>ncra</code> rather than
+<code>nces</code> where possible (e.g., if each <var>input-file</var> is one
+record long). 
+The file output from <code>nces</code> will have the same dimensions
+(meaning dimension names as well as sizes) as the input hyperslabs  
+(see <a href="#nces-netCDF-Ensemble-Statistics">nces netCDF Ensemble Statistics</a>, for a complete description of 
+<code>nces</code>).  
+The file output from <code>ncra</code> will have the same dimensions as
+the input hyperslabs except for the record dimension, which will have a   
+size of 1<!-- /@w --> (see <a href="#ncra-netCDF-Record-Averager">ncra netCDF Record Averager</a>, for a complete
+description of <code>ncra</code>). 
+</p>
+<a name="ntp"></a> <!-- http://nco.sf.net/nco.html#ntp --><hr>
+<a name="Interpolating"></a>
+<div class="header">
+<p>
+Previous: <a href="#Averaging" accesskey="p" rel="previous">Averaging</a>, Up: <a href="#Statistics-vs_002e-Concatenation" accesskey="u" rel="up">Statistics vs. Concatenation</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Interpolator-ncflint"></a>
+<h4 class="subsection">2.6.3 Interpolator <code>ncflint</code></h4>
+<a name="index-ncflint"></a>
+
+<p><code>ncflint</code> can interpolate data between or two files.
+Since no other operators have this ability, the description of
+interpolation is given fully on the <code>ncflint</code> reference page
+(see <a href="#ncflint-netCDF-File-Interpolator">ncflint netCDF File Interpolator</a>). 
+Note that this capability also allows <code>ncflint</code> to linearly
+rescale any data in a netCDF file, e.g., to convert between differing
+units. 
+</p>
+<a name="lrg"></a> <!-- http://nco.sf.net/nco.html#lrg --><hr>
+<a name="Large-Numbers-of-Files"></a>
+<div class="header">
+<p>
+Next: <a href="#Large-Datasets" accesskey="n" rel="next">Large Datasets</a>, Previous: <a href="#Statistics-vs_002e-Concatenation" accesskey="p" rel="previous">Statistics vs. Concatenation</a>, Up: <a href="#Strategies" accesskey="u" rel="up">Strategies</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Large-Numbers-of-Files-1"></a>
+<h3 class="section">2.7 Large Numbers of Files</h3>
+<a name="index-files_002c-numerous-input"></a>
+<a name="index-_002dn-loop"></a>
+
+<p>Occasionally one desires to digest (i.e., concatenate or average)
+hundreds or thousands of input files.
+<a name="index-automagic-1"></a>
+<a name="index-NASA-EOSDIS"></a>
+Unfortunately, data archives (e.g., <acronym>NASA EOSDIS</acronym>) may not
+name netCDF files in a format understood by the ‘<samp>-n <var>loop</var></samp>’
+switch (see <a href="#Specifying-Input-Files">Specifying Input Files</a>) that automagically generates
+arbitrary numbers of input filenames. 
+The ‘<samp>-n <var>loop</var></samp>’ switch has the virtue of being concise,
+and of minimizing the command line.
+This helps keeps output file small since the command line is stored
+as metadata in the <code>history</code> attribute 
+(see <a href="#History-Attribute">History Attribute</a>). 
+However, the ‘<samp>-n <var>loop</var></samp>’ switch is useless when there is no
+simple, arithmetic pattern to the input filenames (e.g.,
+<samp>h00001.nc</samp>, <samp>h00002.nc</samp>, … <samp>h90210.nc</samp><!-- /@w -->).
+Moreover, filename globbing does not work when the input files are too
+numerous or their names are too lengthy (when strung together as a
+single argument) to be passed by the calling shell to the <acronym>NCO</acronym>
+operator
+<a name="DOCF16" href="#FOOT16"><sup>16</sup></a>.
+When this occurs, the <acronym>ANSI</acronym> C-standard <code>argc</code>-<code>argv</code> 
+method of passing arguments from the calling shell to a C-program (i.e.,
+an <acronym>NCO</acronym> operator) breaks down. 
+There are (at least) three alternative methods of specifying the input 
+filenames to <acronym>NCO</acronym> in environment-limited situations.
+</p>
+<a name="stdin"></a> <!-- http://nco.sf.net/nco.html#stdin --><a name="index-standard-input"></a>
+<a name="index-stdin"></a>
+<p>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>UNIX</acronym> <em>standard input</em>
+feature, aka <code>stdin</code>: 
+</p><div class="example">
+<pre class="example"># Pipe large numbers of filenames to stdin
+/bin/ls | grep ${CASEID}_'......'.nc | ncecat -o foo.nc
+</pre></div>
+<p>This method avoids all constraints on command line size imposed by
+the operating system. 
+A drawback to this method is that the <code>history</code> attribute
+(see <a href="#History-Attribute">History Attribute</a>) 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.
+<a name="index-nco_005finput_005ffile_005fnumber"></a>
+<a name="index-nco_005finput_005ffile_005flist"></a>
+<a name="index-global-attributes"></a>
+<a name="index-attributes_002c-global"></a>
+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
+(see <a href="#File-List-Attributes">File List Attributes</a>).
+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.
+</p>
+<a name="index-globbing"></a>
+<a name="index-shell"></a>
+<a name="index-extended-regular-expressions"></a>
+<a name="index-regular-expressions"></a>
+<a name="index-pattern-matching"></a>
+<a name="index-xargs"></a>
+<a name="index-UNIX-2"></a>
+<p>A second option is to use the <acronym>UNIX</acronym> <code>xargs</code> command.
+This simple example selects as input to <code>xargs</code> all the
+filenames in the current directory that match a given pattern.
+For illustration, consider a user trying to average millions of 
+files which each have a six character filename. 
+If the shell buffer cannot hold the results of the corresponding
+globbing operator, <samp>??????.nc</samp>, then the filename globbing
+technique will fail. 
+Instead we express the filename pattern as an extended regular 
+expression, <samp>......\.nc</samp> (see <a href="#Subsetting-Files">Subsetting Files</a>).
+We use <code>grep</code> to filter the directory listing for this pattern
+and to pipe the results to <code>xargs</code> which, in turn, passes the
+matching filenames to an <acronym>NCO</acronym> multi-file operator, e.g.,
+<code>ncecat</code>.
+</p><div class="example">
+<pre class="example"># Use xargs to transfer filenames on the command line
+/bin/ls | grep ${CASEID}_'......'.nc | xargs -x ncecat -o foo.nc
+</pre></div>
+<a name="index-pipes"></a>
+<p>The single quotes protect the only sensitive parts of the extended
+regular expression (the <code>grep</code> argument), and allow shell
+interpolation (the <code>${CASEID}</code> variable substitution) to
+proceed unhindered on the rest of the command.
+<code>xargs</code> uses the <acronym>UNIX</acronym> pipe feature to append the
+suitably filtered input file list to the end of the <code>ncecat</code>
+command options.  
+<a name="index-output-file"></a>
+<a name="index-input-files"></a>
+<a name="index-_002do-fl_005fout"></a>
+The <code>-o foo.nc</code> switch ensures that the input files supplied by
+<code>xargs</code> are not confused with the output file name. 
+<code>xargs</code> does, unfortunately, have its own limit (usually about 
+20,000 characters) on the size of command lines it can pass.
+Give <code>xargs</code> the ‘<samp>-x</samp>’ switch to ensure it dies if it
+reaches this internal limit.
+When this occurs, use either the <code>stdin</code> method above, or the
+symbolic link presented next.
+</p>
+<a name="index-symbolic-links-2"></a>
+<p>Even when its internal limits have not been reached, the
+<code>xargs</code> technique may not be sophisticated enough to handle 
+all situations. 
+A full scripting language like Perl can handle any level of complexity
+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. 
+<a name="index-Perl-1"></a>
+For example, the following Perl script creates a monotonically
+enumerated symbolic link to up to one million <samp>.nc</samp> files in a
+directory. If there are 999,999 netCDF files present, the links are
+named <samp>000001.nc</samp> to <samp>999999.nc</samp>: 
+<a name="index-_002dn-loop-1"></a>
+</p><div class="example">
+<pre class="example"># Create enumerated symbolic links
+/bin/ls | grep \.nc | perl -e \
+'$idx=1;while(<STDIN>){chop;symlink $_,sprintf("%06d.nc",$idx++);}'
+ncecat -n 999999,6,1 000001.nc foo.nc
+# Remove symbolic links when finished
+/bin/rm ??????.nc
+</pre></div>
+<p>The ‘<samp>-n <var>loop</var></samp>’ option tells the <acronym>NCO</acronym> operator to
+automatically generate the filnames of the symbolic links.
+This circumvents any <acronym>OS</acronym> and shell limits on command line size.
+The symbolic links are easily removed once <acronym>NCO</acronym> is finished.
+<a name="index-history"></a>
+One drawback to this method is that the <code>history</code> attribute
+(see <a href="#History-Attribute">History Attribute</a>) retains the filename list of the symbolic
+links, rather than the data files themselves. 
+This makes it difficult to determine the data provenance at a later
+date. 
+</p>
+<hr>
+<a name="Large-Datasets"></a>
+<div class="header">
+<p>
+Next: <a href="#Memory-Requirements" accesskey="n" rel="next">Memory Requirements</a>, Previous: <a href="#Large-Numbers-of-Files" accesskey="p" rel="previous">Large Numbers of Files</a>, Up: <a href="#Strategies" accesskey="u" rel="up">Strategies</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Large-Datasets-1"></a>
+<h3 class="section">2.8 Large Datasets</h3>
+<a name="index-large-datasets"></a>
+<a name="index-LFS"></a>
+<a name="index-Large-File-Support"></a>
+
+<p><em>Large datasets</em> are those files that are comparable in size to the
+amount of random access memory (<acronym>RAM</acronym>) in your computer.
+Many users of <acronym>NCO</acronym> work with files larger than 100 MB<!-- /@w -->.
+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 <code>nces</code> and <code>ncecat</code>.
+<a name="index-swap-space"></a>
+If you work with a 300 MB<!-- /@w --> files on a machine with only 32 MB<!-- /@w --> of
+memory then you will need large amounts of swap space (virtual memory on
+disk) and <acronym>NCO</acronym> will work slowly, or even fail. 
+There is no easy solution for this.
+The best strategy is to work on a machine with sufficient amounts of
+memory and swap space. 
+Since about 2004, many users have begun to produce or analyze files
+exceeding 2 GB<!-- /@w --> in size. 
+These users should familiarize themselves with <acronym>NCO</acronym>’s Large
+File Support (<acronym>LFS</acronym>) capabilities (see <a href="#Large-File-Support">Large File Support</a>).
+The next section will increase your familiarity with <acronym>NCO</acronym>’s
+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="index-UNICOS"></a>
+<a name="index-Cray-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.  
+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.
+When processing large files the operators may appear to hang, or do
+nothing, for large periods of time.
+In order to see what the operator is actually doing, it is useful to
+activate a more verbose output mode.
+This is accomplished by supplying a number greater than 0<!-- /@w --> to the
+‘<samp>-D <var>debug-level</var></samp>’ (or ‘<samp>--debug-level</samp>’, or
+‘<samp>--dbg_lvl</samp>’) switch.
+<a name="index-_002dD-debug_002dlevel-1"></a>
+<a name="index-_002d_002ddebug_002dlevel-debug_002dlevel-1"></a>
+<a name="index-_002d_002ddbg_005flvl-debug_002dlevel-1"></a>
+<a name="index-debug_002dlevel-1"></a>
+<a name="index-dbg_005flvl-1"></a>
+<a name="index-debugging-1"></a>
+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. 
+Choose a <var>debug-level</var> between 1<!-- /@w --> and 3<!-- /@w --> for most situations,
+e.g., <code>nces -D 2 85.nc 86.nc 8586.nc</code>.
+A full<!-- /@w --> description of how to estimate the actual amount of memory the
+multi-file <acronym>NCO</acronym> operators consume is given in 
+<a href="#Memory-Requirements">Memory Requirements</a>. 
+</p>
+<a name="mmr"></a> <!-- http://nco.sf.net/nco.html#mmr --><hr>
+<a name="Memory-Requirements"></a>
+<div class="header">
+<p>
+Next: <a href="#Performance" accesskey="n" rel="next">Performance</a>, Previous: <a href="#Large-Datasets" accesskey="p" rel="previous">Large Datasets</a>, Up: <a href="#Strategies" accesskey="u" rel="up">Strategies</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Memory-Requirements-1"></a>
+<h3 class="section">2.9 Memory Requirements</h3>
+<a name="index-memory-requirements"></a>
+<a name="index-memory-available"></a>
+<a name="index-RAM"></a>
+<a name="index-swap-space-1"></a>
+<a name="index-peak-memory-usage"></a>
+<a name="index-_002d_002dram_005fall"></a>
+<a name="index-_002d_002dopen_005fram-1"></a>
+<a name="index-_002d_002ddiskless_005fall"></a>
+
+<p>Many people use <acronym>NCO</acronym> on gargantuan files which dwarf the
+memory available (free <acronym>RAM</acronym> plus swap space) even on today’s powerful
+machines. 
+These users want <acronym>NCO</acronym> to consume the least memory possible
+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>NCO</acronym> to its limits!
+</p>
+<a name="index-threads"></a>
+<a name="index-OpenMP"></a>
+<a name="index-shared-memory-machines"></a>
+<p>This section describes the memory <acronym>NCO</acronym> requires during
+operation.
+The required memory is based on the underlying algorithms.
+The description below is the memory usage per thread.
+Users with shared memory machines may use the threaded <acronym>NCO</acronym>
+operators (see <a href="#OpenMP-Threading">OpenMP Threading</a>).
+The peak and sustained memory usage will scale accordingly,
+i.e., by the number of threads.
+Memory consumption patterns of all operators are similar, with
+the exception of <code>ncap2</code>.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">• <a href="#Single-and-Multi_002dfile-Operators" accesskey="1">Single and Multi-file Operators</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Memory-for-ncap2" accesskey="2">Memory for ncap2</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<hr>
+<a name="Single-and-Multi_002dfile-Operators"></a>
+<div class="header">
+<p>
+Next: <a href="#Memory-for-ncap2" accesskey="n" rel="next">Memory for ncap2</a>, Previous: <a href="#Memory-Requirements" accesskey="p" rel="previous">Memory Requirements</a>, Up: <a href="#Memory-Requirements" accesskey="u" rel="up">Memory Requirements</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Single-and-Multi_002dfile-Operators-1"></a>
+<h4 class="subsection">2.9.1 Single and Multi-file Operators</h4>
+
+<a name="index-multi_002dfile-operators"></a>
+<p>The multi-file operators currently comprise the record operators,
+<code>ncra</code> and <code>ncrcat</code>, and the ensemble operators,
+<code>nces</code> and <code>ncecat</code>. 
+The record operators require <em>much less</em> memory than the ensemble 
+operators. 
+This is because the record operators operate on one single record (i.e.,
+time-slice) at a time, whereas the ensemble operators retrieve the
+entire variable into memory. 
+Let <em>MS</em> be the peak sustained memory demand of an operator,
+<em>FT</em> be the memory required to store the entire contents of all the 
+variables to be processed in an input file,
+<em>FR</em> be the memory required to store the entire contents of a
+single record of each of the variables to be processed in an input file, 
+<em>VR</em> be the memory required to store a single record of the
+largest record variable to be processed in an input file, 
+<em>VT</em> be the memory required to store the largest variable 
+to be processed in an input file,
+<em>VI</em> be the memory required to store the largest variable 
+which is not processed, but is copied from the initial file to the
+output file. 
+All operators require <em>MI = VI</em> during the initial copying of
+variables from the first input file to the output file. 
+This is the <em>initial</em> (and transient) memory demand.
+The <em>sustained</em> memory demand is that memory required by the
+operators during the processing (i.e., averaging, concatenation)
+phase which lasts until all the input files have been processed.
+The operators have the following memory requirements: 
+<code>ncrcat</code> requires <em>MS <= VR</em>. 
+<code>ncecat</code> requires <em>MS <= VT</em>. 
+<code>ncra</code> requires <em>MS = 2FR + VR</em>. 
+<code>nces</code> requires <em>MS = 2FT + VT</em>. 
+<code>ncbo</code> requires <em>MS <= 3VT</em> 
+(both input variables and the output variable).
+<code>ncflint</code> requires <em>MS <= 3VT</em>
+(both input variables and the output variable).
+<code>ncpdq</code> requires <em>MS <= 2VT</em>
+(one input variable and the output variable).
+<code>ncwa</code> requires <em>MS <= 8VT</em> (see below).
+Note that only variables that are processed, e.g., averaged,
+concatenated, or differenced, contribute to <em>MS</em>. 
+Variables which do not appear in the output file 
+(see <a href="#Subsetting-Files">Subsetting Files</a>) are never read and contribute nothing
+to the memory requirements. 
+</p>
+<p>Further note that some operators perform internal type-promotion on some
+variables prior to arithmetic (see <a href="#Type-Conversion">Type Conversion</a>).
+For example, <code>ncra</code> and <code>nces</code> both promote integer
+types to double-precision floating point prior to arithmetic, then 
+perform the arithmetic, then demote back to the original integer type
+after arithmetic.
+This preserves the on-disk storage type while obtaining the accuracy
+advantages of floating point arithmetic. 
+Since version 4.3.6 (released in September, 2013), <acronym>NCO</acronym> also
+by default converts single-precision floating point to double-precision
+prior to arithmetic, which incurs the same <acronym>RAM</acronym> penalty.
+Hence, the sustained memory required for integer variables and
+single-precision floats are two or four-times their on-disk,
+uncompressed, unpacked sizes if they meet the rules for automatic
+internal promotion. 
+Put another way, disabling auto-promotion of single-precision variables
+(with ‘<samp>--flt</samp>’) considerably reduces the <acronym>RAM</acronym> footprint 
+of arithmetic operators.
+</p>
+<p>The ‘<samp>--open_ram</samp>’ switch (and switches that invoke it like
+‘<samp>--ram_all</samp>’ and ‘<samp>--diskless_all</samp>’) incurs a <acronym>RAM</acronym>
+penalty.
+These switches cause each input file to be copied to <acronym>RAM</acronym> upon
+opening. 
+Hence any operator invoking these switches utilizes an additional
+<em>FT</em> of <acronym>RAM</acronym> (i.e., <em>MS += FT</em>).
+See <a href="#RAM-disks">RAM disks</a> for further details. 
+</p>
+<a name="mmr_ncwa"></a> <!-- http://nco.sf.net/nco.html#mmr_ncwa --><p><code>ncwa</code> consumes between two and seven times the memory of a
+variable in order to process it. 
+Peak consumption occurs when storing simultaneously in memory 
+one input variable, one tally array,
+one input weight, one conformed/working weight, one weight tally, 
+one input mask, one conformed/working mask, and
+one output variable. 
+When invoked, the weighting and masking features contribute up to
+three-sevenths and two-sevenths of these requirements apiece.
+If weights and masks are <em>not</em> specified 
+(i.e., no ‘<samp>-w</samp>’ or ‘<samp>-a</samp>’ options)
+then <code>ncwa</code> requirements drop to <em>MS <= 3VT</em>
+(one input variable, one tally array, and the output variable). 
+</p>
+<a name="index-OpenMP-1"></a>
+<a name="index-threads-1"></a>
+<p>The above memory requirements must be multiplied by the number of
+threads <var>thr_nbr</var> (see <a href="#OpenMP-Threading">OpenMP Threading</a>).
+<a name="index-_002dt-thr_005fnbr"></a>
+If this causes problems then reduce (with ‘<samp>-t <var>thr_nbr</var></samp>’) the
+number of threads.
+</p>
+<hr>
+<a name="Memory-for-ncap2"></a>
+<div class="header">
+<p>
+Previous: <a href="#Single-and-Multi_002dfile-Operators" accesskey="p" rel="previous">Single and Multi-file Operators</a>, Up: <a href="#Memory-Requirements" accesskey="u" rel="up">Memory Requirements</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Memory-for-ncap2-1"></a>
+<h4 class="subsection">2.9.2 Memory for <code>ncap2</code></h4>
+<a name="index-ncap2"></a>
+<a name="index-binary-operations"></a>
+<a name="index-unary-operations"></a>
+<a name="index-memory-leaks"></a>
+<a name="index-left-hand-casting"></a>
+<p><code>ncap2</code> has unique memory requirements due its ability to process
+arbitrarily long scripts of any complexity.
+All scripts acceptable to <code>ncap2</code> are ultimately processed as a
+sequence of binary or unary operations.
+<code>ncap2</code> requires <em>MS <= 2VT</em> under most conditions.
+An exception to this is when left hand casting (see <a href="#Left-hand-casting">Left hand casting</a>) is used to stretch the size of derived variables beyond the
+size of any input variables.
+Let <em>VC</em> be the memory required to store the largest variable
+defined by left hand casting.
+In this case, <em>MS <= 2VC</em>.
+</p>
+<a name="index-malloc_0028_0029"></a>
+<p><code>ncap2</code> scripts are complete dynamic and may be of arbitrary
+length. 
+A script that contains many thousands of operations, may uncover a
+slow memory leak even though each single operation consumes little
+additional memory. 
+Memory leaks are usually identifiable by their memory usage signature.
+Leaks cause peak memory usage to increase monotonically with time
+regardless of script complexity. 
+Slow leaks are very difficult to find.
+Sometimes a <code>malloc()</code> (or <code>new[]</code>) failure is the
+only noticeable clue to their existance.
+If you have good reasons to believe that a memory allocation failure  
+is ultimately due to an <acronym>NCO</acronym> memory leak (rather than
+inadequate <acronym>RAM</acronym> on your system), then we would be very
+interested in receiving a detailed bug report. 
+</p>
+<hr>
+<a name="Performance"></a>
+<div class="header">
+<p>
+Previous: <a href="#Memory-Requirements" accesskey="p" rel="previous">Memory Requirements</a>, Up: <a href="#Strategies" accesskey="u" rel="up">Strategies</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Performance-1"></a>
+<h3 class="section">2.10 Performance</h3>
+
+<a name="index-papers"></a>
+<a name="index-overview"></a>
+<p>An overview of <acronym>NCO</acronym> capabilities as of about 2006 is in
+Zender, C. S. (2008), 
+“Analysis of Self-describing Gridded Geoscience Data with netCDF Operators (NCO)”,
+Environ. Modell. Softw., doi:10.1016/j.envsoft.2008.03.004.
+This paper is also available at
+<a href="http://dust.ess.uci.edu/ppr/ppr_Zen08.pdf">http://dust.ess.uci.edu/ppr/ppr_Zen08.pdf</a>.
+</p>
+<a name="index-scaling"></a>
+<a name="index-performance-2"></a>
+<p><acronym>NCO</acronym> performance and scaling for arithmetic operations is
+described in 
+Zender, C. S., and H. J. Mangalam (2007), 
+“Scaling Properties of Common Statistical Operators for Gridded Datasets”, 
+Int. J. High<!-- /@w --> Perform. Comput. Appl., 21(4), 485-498,
+doi:10.1177/1094342007083802. 
+This paper is also available at
+<a href="http://dust.ess.uci.edu/ppr/ppr_ZeM07.pdf">http://dust.ess.uci.edu/ppr/ppr_ZeM07.pdf</a>.
+</p>
+<p>It is helpful to be aware of the aspects of <acronym>NCO</acronym> design 
+that can limit its performance:
+</p><ol>
+<li> <a name="index-buffering"></a>
+No data buffering is performed during <code>nc_get_var</code> and
+<code>nc_put_var</code> operations.  
+<a name="index-performance-3"></a>
+<a name="index-operator-speed-2"></a>
+<a name="index-speed-3"></a>
+<a name="index-execution-time-2"></a>
+Hyperslabs too large too hold in core memory will suffer substantial
+performance penalties because of this. 
+
+</li><li> <a name="index-monotonic-coordinates"></a>
+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.  
+
+</li><li> <a name="index-C_005fformat"></a>
+<a name="index-FORTRAN_005fformat"></a>
+<a name="index-signedness"></a>
+<a name="index-scale_005fformat"></a>
+<a name="index-add_005foffset"></a>
+<var>C_format</var>, <var>FORTRAN_format</var>, <var>signedness</var>,
+<var>scale_format</var> and <var>add_offset</var> attributes are ignored by
+<code>ncks</code> when printing variables to screen. 
+
+</li><li> <a name="index-Yorick-1"></a>
+In the late 1990s it was discovered that some random access operations
+on large files on certain architectures (e.g., <acronym>UNICOS</acronym>) were
+much slower with <acronym>NCO</acronym> than with similar operations performed
+using languages that bypass the netCDF interface (e.g., Yorick).    
+This may have been a penalty of unnecessary byte-swapping in the netCDF 
+interface.  
+It is unclear whether such problems exist in present day (2007)
+netCDF/<acronym>NCO</acronym> environments, where unnecessary byte-swapping has
+been reduced or eliminated.
+</li></ol>
+
+<a name="ftr"></a> <!-- http://nco.sf.net/nco.html#ftr --><hr>
+<a name="Common-features"></a>
+<div class="header">
+<p>
+Next: <a href="#Operator-Reference-Manual" accesskey="n" rel="next">Operator Reference Manual</a>, Previous: <a href="#Strategies" accesskey="p" rel="previous">Strategies</a>, Up: <a href="#Top" accesskey="u" rel="up">Top</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="NCO-Features"></a>
+<h2 class="chapter">3 NCO Features</h2>
+
+<p>Many features have been implemented in more than one operator and are
+described here for brevity. 
+The description of each feature is preceded by a box listing the
+operators for which the feature is implemented. 
+<a name="index-command-line-switches-1"></a>
+Command line switches for a given feature are consistent across all
+operators wherever possible. 
+If no “key switches” are listed for a feature, then that particular
+feature is automatic and cannot be controlled by the user. 
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">• <a href="#Internationalization" accesskey="1">Internationalization</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Metadata-Optimization" accesskey="2">Metadata Optimization</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#OpenMP-Threading" accesskey="3">OpenMP Threading</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Command-Line-Options" accesskey="4">Command Line Options</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Specifying-Input-Files" accesskey="5">Specifying Input Files</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Specifying-Output-Files" accesskey="6">Specifying Output Files</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Remote-storage" accesskey="7">Remote storage</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Retaining-Retrieved-Files" accesskey="8">Retaining Retrieved Files</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#File-Formats-and-Conversion" accesskey="9">File Formats and Conversion</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Large-File-Support">Large File Support</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Subsetting-Files">Subsetting Files</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Subsetting-Coordinate-Variables">Subsetting Coordinate Variables</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Group-Path-Editing">Group Path Editing</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#C-and-Fortran-Index-Conventions">C and Fortran Index Conventions</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Hyperslabs">Hyperslabs</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Stride">Stride</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Record-Appending">Record Appending</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Subcycle">Subcycle</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Multislabs">Multislabs</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Wrapped-Coordinates">Wrapped Coordinates</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Auxiliary-Coordinates">Auxiliary Coordinates</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#UDUnits-Support">UDUnits Support</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Rebasing-Time-Coordinate">Rebasing Time Coordinate</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Multiple-Record-Dimensions">Multiple Record Dimensions</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Missing-Values">Missing Values</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Chunking">Chunking</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Deflation">Deflation</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#MD5-digests">MD5 digests</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Buffer-sizes">Buffer sizes</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#RAM-disks">RAM disks</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Packed-data">Packed data</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Operation-Types">Operation Types</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Type-Conversion">Type Conversion</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Batch-Mode">Batch Mode</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#History-Attribute">History Attribute</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#File-List-Attributes">File List Attributes</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#CF-Conventions">CF Conventions</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#ARM-Conventions">ARM Conventions</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Operator-Version">Operator Version</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<a name="i18n"></a> <!-- http://nco.sf.net/nco.html#i18n --><hr>
+<a name="Internationalization"></a>
+<div class="header">
+<p>
+Next: <a href="#Metadata-Optimization" accesskey="n" rel="next">Metadata Optimization</a>, Previous: <a href="#Common-features" accesskey="p" rel="previous">Common features</a>, Up: <a href="#Common-features" accesskey="u" rel="up">Common features</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Internationalization-1"></a>
+<h3 class="section">3.1 Internationalization</h3>
+<a name="index-Internationalization"></a>
+<a name="index-I18N"></a>
+<table class="cartouche" border="1"><tr><td>
+<p>Availability: All operators<br>
+</p></td></tr></table>
+<a name="index-L10N"></a>
+<p><acronym>NCO</acronym> support for <em>internationalization</em> of textual input
+and output (e.g., Warning messages) is nascent.
+We hope to produce foreign language string catalogues in 2004.
+</p>
+<a name="hdr"></a> <!-- http://nco.sf.net/nco.html#hdr -->
+<a name="hdr_pad"></a> <!-- http://nco.sf.net/nco.html#hdr_pad --><hr>
+<a name="Metadata-Optimization"></a>
+<div class="header">
+<p>
+Next: <a href="#OpenMP-Threading" accesskey="n" rel="next">OpenMP Threading</a>, Previous: <a href="#Internationalization" accesskey="p" rel="previous">Internationalization</a>, Up: <a href="#Common-features" accesskey="u" rel="up">Common features</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Metadata-Optimization-1"></a>
+<h3 class="section">3.2 Metadata Optimization</h3>
+<a name="index-metadata-optimization"></a>
+<a name="index-performance-4"></a>
+<a name="index-operator-speed-3"></a>
+<a name="index-speed-4"></a>
+<a name="index-execution-time-3"></a>
+<a name="index-nc_005f_005fenddef_0028_0029"></a>
+<a name="index-_002d_002dhdr_005fpad-hdr_005fpad"></a>
+<a name="index-_002d_002dheader_005fpad-hdr_005fpad"></a>
+<table class="cartouche" border="1"><tr><td>
+<p>Availability: All operators<br>
+Short options: None<br>
+Long options: ‘<samp>--hdr_pad</samp>’, ‘<samp>--header_pad</samp>’<br> 
+</p></td></tr></table>
+<p><acronym>NCO</acronym> supports padding headers to improve the speed of future
+metadata operations.
+Use the ‘<samp>--hdr_pad</samp>’ and ‘<samp>--header_pad</samp>’ switches to request
+that <var>hdr_pad</var> bytes be inserted into the metadata section of the
+output file.
+Future metadata expansions will not incur the netCDF3 performance
+penalty of copying the entire output file unless the expansion exceeds
+the amount of header padding exceeded.
+This can be beneficial when it is known that some metadata will be added
+at a future date.
+</p>
+<p>This optimization exploits the netCDF library <code>nc__enddef()</code>
+function, which behaves differently with different versions of netCDF.
+It will improve speed of future metadata expansion with <code>CLASSIC</code>
+and <code>64bit</code> netCDF files, though not necessarily with <code>NETCDF4</code> 
+files, i.e., those created by the netCDF interface to the <acronym>HDF5</acronym>
+library (see <a href="#File-Formats-and-Conversion">File Formats and Conversion</a>).
+</p>
+<a name="omp"></a> <!-- http://nco.sf.net/nco.html#omp -->
+<a name="openmp"></a> <!-- http://nco.sf.net/nco.html#openmp --><hr>
+<a name="OpenMP-Threading"></a>
+<div class="header">
+<p>
+Next: <a href="#Command-Line-Options" accesskey="n" rel="next">Command Line Options</a>, Previous: <a href="#Metadata-Optimization" accesskey="p" rel="previous">Metadata Optimization</a>, Up: <a href="#Common-features" accesskey="u" rel="up">Common features</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="OpenMP-Threading-1"></a>
+<h3 class="section">3.3 OpenMP Threading</h3>
+<a name="index-OpenMP-2"></a>
+<a name="index-threads-2"></a>
+<a name="index-SMP"></a>
+<a name="index-shared-memory-parallelism"></a>
+<a name="index-parallelism"></a>
+<a name="index-nco_005fopenmp_005fthread_005fnumber"></a>
+<a name="index-_002d_002dthr_005fnbr-thr_005fnbr"></a>
+<a name="index-_002d_002dthreads-thr_005fnbr"></a>
+<a name="index-_002d_002domp_005fnum_005fthreads-thr_005fnbr"></a>
+<a name="index-_002dt-thr_005fnbr-1"></a>
+<table class="cartouche" border="1"><tr><td>
+<p>Availability: <code>ncap2</code>, <code>ncbo</code>, <code>nces</code>, <code>ncecat</code>,
+<code>ncflint</code>, <code>ncpdq</code>, <code>ncra</code>, <code>ncrcat</code>,
+<code>ncwa</code><br>
+Short options: ‘<samp>-t</samp>’<br>
+Long options: ‘<samp>--thr_nbr</samp>’, ‘<samp>--threads</samp>’,
+‘<samp>--omp_num_threads</samp>’<br> 
+</p></td></tr></table>
+<p><acronym>NCO</acronym> supports shared memory parallelism (<acronym>SMP</acronym>) when
+compiled with an OpenMP-enabled compiler.
+Threads requests and allocations occur in two stages.
+First, users may request a specific number of threads <var>thr_nbr</var> with
+the ‘<samp>-t</samp>’ switch (or its long option equivalents, ‘<samp>--thr_nbr</samp>’,
+‘<samp>--threads</samp>’, and ‘<samp>--omp_num_threads</samp>’).
+If not user-specified, OpenMP obtains <var>thr_nbr</var> from the
+<code>OMP_NUM_THREADS</code> environment variable, if present, or from the
+<acronym>OS</acronym>, if not.
+</p>
+<table class="cartouche" border="1"><tr><td>
+<p>Caveat:
+Unfortunately, threading does not improve <acronym>NCO</acronym> throughput (i.e.,
+wallclock time) because nearly all <acronym>NCO</acronym> operations are
+I/O-bound. 
+This means that <acronym>NCO</acronym> spends negligible time doing anything
+compared to reading and writing. 
+We have seen some and can imagine other use cases where
+<code>ncwa</code>, <code>ncpdq</code>, and <code>ncap2</code> (with long scripts) 
+will complete faster due to threading. 
+The main benefits of threading so far have been to isolate the serial
+from parallel portions of code. 
+This parallelism is now exploited by OpenMP but then runs into the I/O
+bottleneck during output. 
+The bottleneck could be ameliorated for large files by the use of
+MPI-enabled calls in the netCDF4 library when the underlying filesystem
+is parallel (e.g., <acronym>PVFS</acronym> or <acronym>JFS</acronym>).
+Implementation of the parallel output calls in <acronym>NCO</acronym> is not a
+goal of our current funding and would require new volunteers or funding.  
+</p></td></tr></table>
+
+<a name="index-thr_005fnbr"></a>
+<a name="index-OMP_005fNUM_005fTHREADS"></a>
+<a name="index-ncrcat-1"></a>
+<a name="index-ncwa-1"></a>
+<a name="index-ncap2-1"></a>
+<a name="index-ncpdq-1"></a>
+<a name="index-large-datasets-1"></a>
+<p><acronym>NCO</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
+request.
+We base these limits on our experience and common sense, and to reduce
+potentially wasteful system usage by inexperienced users.
+For example, <code>ncrcat</code> is extremely I/O-intensive so we restrict
+<em><var>thr_nbr</var> <= 2</em> for <code>ncrcat</code>.
+This is based on the notion that the best performance that can be
+expected from an operator which does no arithmetic is to have one thread
+reading and one thread writing simultaneously.
+In the future (perhaps with netCDF4), we hope to demonstrate significant
+threading improvements with operators like <code>ncrcat</code> by performing
+multiple simultaneous writes. 
+</p>
+<p>Compute-intensive operators (<code>ncap2</code>, <code>ncwa</code> and <code>ncpdq</code>) 
+benefit most from threading.
+The greatest increases in throughput due to threading occur on
+large datasets where each thread performs millions, at least,
+of floating point operations.
+Otherwise, the system overhead of setting up threads probably outweighs 
+the speed enhancements due to <acronym>SMP</acronym> parallelism.
+However, we have not yet demonstrated that the <acronym>SMP</acronym> parallelism 
+scales beyond four threads for these operators.
+Hence we restrict <em><var>thr_nbr</var> <= 4</em> for all operators.
+We encourage users to play with these limits (edit file
+<samp>nco_omp.c</samp>) and send us their feedback.
+</p>
+<a name="index-debugging-2"></a>
+<a name="index-dbg_005flvl-2"></a>
+<p>Once the initial <var>thr_nbr</var> has been modified for any
+operator-specific limits, <acronym>NCO</acronym> requests the system to allocate 
+a team of <var>thr_nbr</var> threads for the body of the code.
+The operating system then decides how many threads to allocate
+based on this request.
+Users may keep track of this information by running the operator with
+<em><var>dbg_lvl</var> > 0</em>.
+</p>
+<p>By default, threaded operators attach one global attribute,
+<code>nco_openmp_thread_number</code>, to any file they create or modify. 
+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.
+<a name="index-benchmarks"></a>
+This information is also useful for benchmarking.
+</p>
+<a name="cmd_ln"></a> <!-- http://nco.sf.net/nco.html#cmd_ln --><hr>
+<a name="Command-Line-Options"></a>
+<div class="header">
+<p>
+Next: <a href="#Specifying-Input-Files" accesskey="n" rel="next">Specifying Input Files</a>, Previous: <a href="#OpenMP-Threading" accesskey="p" rel="previous">OpenMP Threading</a>, Up: <a href="#Common-features" accesskey="u" rel="up">Common features</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Command-Line-Options-1"></a>
+<h3 class="section">3.4 Command Line Options</h3>
+<a name="index-command-line-options"></a>
+<table class="cartouche" border="1"><tr><td>
+<p>Availability: All operators<br>
+</p></td></tr></table>
+<a name="index-POSIX"></a>
+<a name="index-UNIX-3"></a>
+<a name="index-GNU"></a>
+<a name="index-switches"></a>
+<p><acronym>NCO</acronym> achieves flexibility by using <em>command line options</em>.
+These options are implemented in all traditional <acronym>UNIX</acronym> commands 
+as single letter <em>switches</em>, e.g., ‘<samp>ls -l</samp>’.
+For many years <acronym>NCO</acronym> used only single letter option names.
+In late 2002, we implemented <acronym>GNU</acronym>/<acronym>POSIX</acronym> extended
+or long option names for all options.
+This was done in a backward compatible way such that the full
+functionality of <acronym>NCO</acronym> is still available through the familiar 
+single letter options.
+In the future, however, some features of <acronym>NCO</acronym> may require the
+use of long options, simply because we have nearly run out of single
+letter options.
+More importantly, mnemonics for single letter options are often
+non-intuitive so that long options provide a more natural way of
+expressing intent.
+</p>
+<a name="index-long-options"></a>
+<p>Extended options, also called long options, are implemented using the
+system-supplied <samp>getopt.h</samp> header file, if possible. 
+<a name="index-BSD"></a>
+<a name="index-getopt"></a>
+<a name="index-getopt_005flong"></a>
+<a name="index-getopt_002eh"></a>
+This provides the <code>getopt_long</code> function to <acronym>NCO</acronym>
+<a name="DOCF17" href="#FOOT17"><sup>17</sup></a>. 
+</p>
+<a name="index-_002dD-debug_002dlevel-2"></a>
+<a name="index-_002d_002ddbg_005flvl-debug_002dlevel-2"></a>
+<p>The syntax of <em>short options</em> (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., 
+‘<samp>-D 2</samp>’.
+</p>
+<p>The syntax of <em>long options</em> (multi-letter options) is 
+<kbd>--<var>long_name</var> <var>value</var></kbd>
+(dash-dash-key-space-value), e.g., ‘<samp>--dbg_lvl 2</samp>’ or
+<kbd>--<var>long_name</var>=<var>value</var></kbd>
+(dash-dash-key-equal-value), e.g., ‘<samp>--dbg_lvl=2</samp>’.
+Thus the following are all valid for the ‘<samp>-D</samp>’ (short version)
+or ‘<samp>--dbg_lvl</samp>’ (long version) command line option.
+</p><div class="example">
+<pre class="example">ncks -D 3 in.nc        # Short option
+ncks --dbg_lvl=3 in.nc # Long option, preferred form
+ncks --dbg_lvl 3 in.nc # Long option, alternate form
+</pre></div>
+<p>The last example is preferred for two reasons.
+First, ‘<samp>--dbg_lvl</samp>’ is more specific and less ambiguous than
+‘<samp>-D</samp>’.
+The long option form makes scripts more self documenting and less error
+prone.  
+Often long options are named after the source code variable whose value 
+they carry.
+Second, the equals sign <kbd>=</kbd> joins the key (i.e., <var>long_name</var>) to   
+the value in an uninterruptible text block. 
+Experience shows that users are less likely to mis-parse commands when
+restricted to this form.
+</p>
+<p><acronym>GNU</acronym> implements a superset of the <acronym>POSIX</acronym> standard 
+which allows any unambiguous truncation of a valid option to be used.
+</p><div class="example">
+<pre class="example">ncks -D 3 in.nc        # Short option
+ncks --dbg_lvl=3 in.nc # Long option, full form
+ncks --dbg=3 in.nc     # Long option, unambiguous truncation
+ncks --db=3 in.nc      # Long option, unambiguous truncation
+ncks --d=3 in.nc       # Long option, ambiguous truncation
+</pre></div>
+<p>The first four examples are equivalent and will work as expected.
+The final example will exit with an error since <code>ncks</code> cannot
+disambiguate whether ‘<samp>--d</samp>’ is intended as a truncation of
+‘<samp>--dbg_lvl</samp>’, of ‘<samp>--dimension</samp>’, or of some other long option. 
+</p>
+<p><acronym>NCO</acronym> provides many long options for common switches.
+For example, the debugging level may be set in all operators with any
+of the switches ‘<samp>-D</samp>’, ‘<samp>--debug-level</samp>’, or ‘<samp>--dbg_lvl</samp>’.
+This flexibility allows users to choose their favorite mnemonic.
+For some, it will be ‘<samp>--debug</samp>’ (an unambiguous truncation of
+‘<samp>--debug-level</samp>’, and other will prefer ‘<samp>--dbg</samp>’.
+Interactive users usually prefer the minimal amount of typing, i.e.,
+‘<samp>-D</samp>’.
+We recommend that scripts which are re-usable employ some form of 
+the long options for future maintainability.
+</p>
+<p>This manual generally uses the short option syntax in examples.
+This is for historical reasons and to conserve space in printed output.
+Users are expected to pick the unambiguous truncation of each option
+name that most suits their taste.
+</p>
+<a name="fl_in"></a> <!-- http://nco.sf.net/nco.html#fl_in -->
+<a name="in"></a> <!-- http://nco.sf.net/nco.html#in -->
+<a name="input"></a> <!-- http://nco.sf.net/nco.html#input --><hr>
+<a name="Specifying-Input-Files"></a>
+<div class="header">
+<p>
+Next: <a href="#Specifying-Output-Files" accesskey="n" rel="next">Specifying Output Files</a>, Previous: <a href="#Command-Line-Options" accesskey="p" rel="previous">Command Line Options</a>, Up: <a href="#Common-features" accesskey="u" rel="up">Common features</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Specifying-Input-Files-1"></a>
+<h3 class="section">3.5 Specifying Input Files</h3>
+<a name="index-input-files-1"></a>
+<a name="index-globbing-1"></a>
+<a name="index-regular-expressions-1"></a>
+<a name="index-wildcards"></a>
+<a name="index-NINTAP"></a>
+<a name="index-Processor_002c-CCM"></a>
+<a name="index-CCM-Processor"></a>
+<a name="index-_002dn-loop-2"></a>
+<a name="index-_002d_002dnintap-loop"></a>
+<a name="index-_002dp-input_002dpath"></a>
+<a name="index-_002d_002dpth-input_002dpath"></a>
+<a name="index-_002d_002dpath-input_002dpath"></a>
+<a name="index-input_002dpath"></a>
+<table class="cartouche" border="1"><tr><td>
+<p>Availability (<code>-n</code>): <code>nces</code>, <code>ncecat</code>, <code>ncra</code>, <code>ncrcat</code><br>
+Availability (<code>-p</code>): All operators<br>
+Short options: ‘<samp>-n</samp>’, ‘<samp>-p</samp>’<br>
+Long options: ‘<samp>--nintap</samp>’, ‘<samp>--pth</samp>’, ‘<samp>--path</samp>’<br>
+</p></td></tr></table>
+<p>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.
+<a name="index-UNIX-4"></a>
+There are four different ways of specifying input files to <acronym>NCO</acronym>:
+explicitly typing each, using <acronym>UNIX</acronym> shell wildcards, and using
+the <acronym>NCO</acronym> ‘<samp>-n</samp>’ and ‘<samp>-p</samp>’ switches (or their long option
+equivalents, ‘<samp>--nintap</samp>’ or ‘<samp>--pth</samp>’ and ‘<samp>--path</samp>’,
+respectively). 
+Techniques to augment these methods to specify arbitrary numbers (e.g.,
+thousands) and patterns of filenames are discussed separately 
+(see <a href="#Large-Numbers-of-Files">Large Numbers of Files</a>).
+</p>
+<p>To illustrate these methods, consider the simple problem of using
+<code>ncra</code> to average five input files, <samp>85.nc</samp>, <samp>86.nc</samp>,
+… <samp>89.nc</samp><!-- /@w -->, and store the results in <samp>8589.nc</samp>.
+Here are the four methods in order.
+They produce identical answers.
+</p><div class="example">
+<pre class="example">ncra 85.nc 86.nc 87.nc 88.nc 89.nc 8589.nc
+ncra 8[56789].nc 8589.nc
+ncra -p <var>input-path</var> 85.nc 86.nc 87.nc 88.nc 89.nc 8589.nc
+ncra -n 5,2,1 85.nc 8589.nc
+</pre></div>
+<p>The first method (explicitly specifying all filenames) works by brute 
+force. 
+The second method relies on the operating system shell to <em>glob</em>
+(expand) the <em>regular expression</em> <code>8[56789].nc</code>.
+The shell passes valid filenames which match the expansion to
+<code>ncra</code>.
+The third method uses the ‘<samp>-p <var>input-path</var></samp>’ argument to specify 
+the directory where all the input files reside.
+<acronym>NCO</acronym> prepends <var>input-path</var> (e.g.,
+<samp>/data/usrname/model</samp>) to all <var>input-files</var> (though not to
+<var>output-file</var>).  
+Thus, using ‘<samp>-p</samp>’, the path to any number of input files need only
+be specified once.
+Note <var>input-path</var> need not end with ‘<samp>/</samp>’; the ‘<samp>/</samp>’ is
+automatically generated if necessary. 
+</p>
+<p>The last method passes (with ‘<samp>-n</samp>’) syntax concisely describing 
+the entire set of filenames
+<a name="DOCF18" href="#FOOT18"><sup>18</sup></a>. 
+<a name="index-multi_002dfile-operators-1"></a>
+<a name="index-files_002c-multiple"></a>
+This option is only available with the <em>multi-file operators</em>:
+<code>ncra</code>, <code>ncrcat</code>, <code>nces</code>, and <code>ncecat</code>.
+By definition, multi-file operators are able to process an arbitrary
+number of <var>input-files</var>.
+This option is very useful for abbreviating lists of filenames
+representable as
+<var>alphanumeric_prefix</var>+<var>numeric_suffix</var>+<samp>.</samp>+<var>filetype</var>
+where <var>alphanumeric_prefix</var> is a string of arbitrary length and
+composition, <var>numeric_suffix</var> is a fixed width field of digits, and
+<var>filetype</var> is a standard filetype indicator. 
+For example, in the file <samp>ccm3_h0001.nc</samp>, we have
+<var>alphanumeric_prefix</var> = <samp>ccm3_h</samp>, <var>numeric_suffix</var> =
+<samp>0001</samp>, and <var>filetype</var> = <samp>nc</samp>.
+</p>
+<p><acronym>NCO</acronym> is able to decode lists of such filenames encoded using the
+‘<samp>-n</samp>’ option. 
+The simpler (3-argument) ‘<samp>-n</samp>’ usage takes the form 
+<code>-n <var>file_number</var>,<var>digit_number</var>,<var>numeric_increment</var></code>
+where <var>file_number</var> is the number of files, <var>digit_number</var> is
+the fixed number of numeric digits comprising the <var>numeric_suffix</var>,
+and <var>numeric_increment</var> is the constant, integer-valued difference
+between the <var>numeric_suffix</var> of any two consecutive files.
+The value of <var>alphanumeric_prefix</var> is taken from the input file,
+which serves as a template for decoding the filenames.
+In the example above, the encoding <code>-n 5,2,1</code> along with the input
+file name <samp>85.nc</samp> tells <acronym>NCO</acronym> to
+construct five (5) filenames identical to the template <samp>85.nc</samp>
+except that the final two (2) digits are a numeric suffix to be
+incremented by one (1) for each successive file.
+Currently <var>filetype</var> may be either be empty, <samp>nc</samp>,
+<samp>cdf</samp>, <samp>hdf</samp>, or <samp>hd5</samp>. 
+If present, these <var>filetype</var> suffixes (and the preceding <samp>.</samp>)
+are ignored by <acronym>NCO</acronym> as it uses the ‘<samp>-n</samp>’ arguments to
+locate, evaluate, and compute the <var>numeric_suffix</var> component of
+filenames. 
+</p>
+<a name="index-wrapped-filenames"></a>
+<a name="index-climate-model-3"></a>
+<p>Recently the ‘<samp>-n</samp>’ option has been extended to allow convenient
+specification of filenames with “circular” characteristics.
+This means it is now possible for <acronym>NCO</acronym> to automatically
+generate filenames which increment regularly until a specified maximum
+value, and then wrap back to begin again at a specified minimum value. 
+The corresponding ‘<samp>-n</samp>’ usage becomes more complex, taking one or
+two additional arguments for a total of four or five, respectively: 
+<code>-n
+<var>file_number</var>,<var>digit_number</var>,<var>numeric_increment</var>[,<var>numeric_max</var>[,<var>numeric_min</var>]]</code>
+where <var>numeric_max</var>, if present, is the maximum integer-value of 
+<var>numeric_suffix</var> and <var>numeric_min</var>, if present, is the minimum
+integer-value of <var>numeric_suffix</var>.
+Consider, for example, the problem of specifying non-consecutive input
+files where the filename suffixes end with the month index.  
+In climate modeling it is common to create summertime and wintertime
+averages which contain the averages of the months June–July–August,
+and December–January–February, respectively:
+</p><div class="example">
+<pre class="example">ncra -n 3,2,1 85_06.nc 85_0608.nc
+ncra -n 3,2,1,12 85_12.nc 85_1202.nc
+ncra -n 3,2,1,12,1 85_12.nc 85_1202.nc
+</pre></div>
+<p>The first example shows that three arguments to the ‘<samp>-n</samp>’ option
+suffice to specify consecutive months (<code>06, 07, 08</code>) which do not
+“wrap” back to a minimum value.
+The second example shows how to use the optional fourth and fifth
+elements of the ‘<samp>-n</samp>’ option to specify a wrap value to <acronym>NCO</acronym>.
+The fourth argument to ‘<samp>-n</samp>’, if present, specifies the maximum
+integer value of <var>numeric_suffix</var>.
+In this case the maximum value is 12,<!-- /@w --> and will be formatted as
+<samp>12</samp> in the filename string. 
+The fifth argument to ‘<samp>-n</samp>’, if present, specifies the minimum
+integer value of <var>numeric_suffix</var>.
+The default minimum filename suffix is 1,<!-- /@w --> which is formatted as
+<samp>01</samp> in this case.   
+Thus the second and third examples have the same effect, that is, they
+automatically generate, in order, the filenames <samp>85_12.nc</samp>,
+<samp>85_01.nc</samp>, and <samp>85_02.nc</samp> as input to <acronym>NCO</acronym>.
+</p>
+<a name="fl_out"></a> <!-- http://nco.sf.net/nco.html#fl_out -->
+<a name="out"></a> <!-- http://nco.sf.net/nco.html#out -->
+<a name="output"></a> <!-- http://nco.sf.net/nco.html#output --><hr>
+<a name="Specifying-Output-Files"></a>
+<div class="header">
+<p>
+Next: <a href="#Remote-storage" accesskey="n" rel="next">Remote storage</a>, Previous: <a href="#Specifying-Input-Files" accesskey="p" rel="previous">Specifying Input Files</a>, Up: <a href="#Common-features" accesskey="u" rel="up">Common features</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Specifying-Output-Files-1"></a>
+<h3 class="section">3.6 Specifying Output Files</h3>
+<a name="index-output-file-1"></a>
+<a name="index-input-files-2"></a>
+<a name="index-positional-arguments"></a>
+<a name="index-command-line-switches-2"></a>
+<a name="index-_002do-fl_005fout-1"></a>
+<a name="index-_002d_002doutput-fl_005fout"></a>
+<a name="index-_002d_002dfl_005fout-fl_005fout"></a>
+<table class="cartouche" border="1"><tr><td>
+<p>Availability: All operators<br>
+Short options: ‘<samp>-o</samp>’<br>
+Long options: ‘<samp>--fl_out</samp>’, ‘<samp>--output</samp>’<br>
+</p></td></tr></table>
+<p><acronym>NCO</acronym> commands produce no more than one output file, <var>fl_out</var>. 
+Traditionally, users specify <var>fl_out</var> as the final argument to the
+operator, following all input file names. 
+This is the <em>positional argument</em> method of specifying input and
+ouput file names.
+The positional argument method works well in most applications.
+<acronym>NCO</acronym> also supports specifying <var>fl_out</var> using the command
+line switch argument method, ‘<samp>-o <var>fl_out</var></samp>’.
+</p>
+<p>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. 
+<a name="index-multi_002dfile-operators-2"></a>
+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.
+<a name="index-xargs-1"></a>
+<a name="index-input-files-3"></a>
+Second, specification of a long list of input files may be difficult
+(see <a href="#Large-Numbers-of-Files">Large Numbers of Files</a>).
+Making the input file list the final argument to an operator facilitates 
+using <code>xargs</code> for this purpose.
+Some alternatives to <code>xargs</code> 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.
+<a name="index-compilers"></a>
+<a name="index-linkers"></a>
+Compilers and linkers are usually invoked this way.
+</p>
+<p>Users should specify <var>fl_out</var> using either (not both) method.
+If <var>fl_out</var> is specified twice (once with the switch and once as
+the last positional argument), then the positional argument takes
+precedence. 
+</p>
+<a name="rmt"></a> <!-- http://nco.sf.net/nco.html#rmt --><hr>
+<a name="Remote-storage"></a>
+<div class="header">
+<p>
+Next: <a href="#Retaining-Retrieved-Files" accesskey="n" rel="next">Retaining Retrieved Files</a>, Previous: <a href="#Specifying-Output-Files" accesskey="p" rel="previous">Specifying Output Files</a>, Up: <a href="#Common-features" accesskey="u" rel="up">Common features</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Accessing-Remote-Files"></a>
+<h3 class="section">3.7 Accessing Remote Files</h3>
+<a name="index-rcp-1"></a>
+<a name="index-scp-1"></a>
+<a name="index-_002erhosts"></a>
+<a name="index-NCAR-MSS"></a>
+<a name="index-MSS"></a>
+<a name="index-Mass-Store-System"></a>
+<a name="index-URL"></a>
+<a name="index-ftp-1"></a>
+<a name="index-sftp-1"></a>
+<a name="index-wget"></a>
+<a name="index-remote-files-1"></a>
+<a name="index-synchronous-file-access"></a>
+<a name="index-asynchronous-file-access"></a>
+<a name="index-_002d_002dpth-input_002dpath-1"></a>
+<a name="index-_002d_002dpath-input_002dpath-1"></a>
+<a name="index-_002d_002dlcl-output_002dpath"></a>
+<a name="index-_002d_002dlocal-output_002dpath"></a>
+<a name="index-_002dl-output_002dpath"></a>
+<a name="index-_002enetrc"></a>
+<a name="index-history-1"></a>
+<table class="cartouche" border="1"><tr><td>
+<p>Availability: All operators<br>
+Short options: ‘<samp>-p</samp>’, ‘<samp>-l</samp>’<br>
+Long options: ‘<samp>--pth</samp>’, ‘<samp>--path</samp>’, ‘<samp>--lcl</samp>’, ‘<samp>--local</samp>’<br>
+</p></td></tr></table>
+<p>All <acronym>NCO</acronym> operators can retrieve files from remote sites as well 
+as from the local file system.
+A remote<!-- /@w --> site can be an anonymous <acronym>FTP</acronym> server, a machine on
+which the user has <code>rcp</code>, <code>scp</code>, or <code>sftp</code>
+privileges, <acronym>NCAR</acronym>’s Mass Storage System (<acronym>MSS</acronym>), or
+an <acronym>OPeNDAP</acronym> server.
+Examples of each are given below, following a brief description of the 
+particular access protocol.
+</p>
+<a name="ftp"></a> <!-- http://nco.sf.net/nco.html#ftp --><p>To access a file via an anonymous <acronym>FTP</acronym> server, supply the
+remote file’s <acronym>URL</acronym>.
+<acronym>FTP</acronym> is an intrinsically insecure protocol because it transfers
+passwords in plain text format. 
+Users should access sites using anonymous <acronym>FTP</acronym>, or better yet,
+secure <acronym>FTP</acronym> when possible. 
+Some <acronym>FTP</acronym> servers require a login/password combination for a
+valid user account.
+<acronym>NCO</acronym> allows these transactions so long as the required
+information is stored in the <samp>.netrc</samp> file. 
+Usually this information is the remote machine name, login, and
+password, in plain text, separated by those very keywords, e.g.,
+</p><div class="example">
+<pre class="example">machine dust.ess.uci.edu login zender password bushlied
+</pre></div>
+<p>Eschew using valuable passwords for <acronym>FTP</acronym> transactions, since
+<samp>.netrc</samp> passwords are potentially exposed to eavesdropping
+software
+<a name="DOCF19" href="#FOOT19"><sup>19</sup></a>. 
+</p>
+<a name="sftp"></a> <!-- http://nco.sf.net/nco.html#sftp --><p><acronym>SFTP</acronym>, i.e., secure <acronym>FTP</acronym>, uses <acronym>SSH</acronym>-based 
+security protocols that solve the security issues associated with
+plain <acronym>FTP</acronym>.  
+<acronym>NCO</acronym> supports <acronym>SFTP</acronym> protocol access to files
+specified with a homebrew syntax of the form
+</p><div class="example">
+<pre class="example">sftp://machine.domain.tld:/path/to/filename
+</pre></div>
+<p>Note the second colon following the top-level-domain, <code>tld</code>.
+This syntax is a hybrid between an <acronym>FTP URL</acronym> and a standard
+remote file syntax.
+</p>
+<a name="rcp"></a> <!-- http://nco.sf.net/nco.html#rcp -->
+<a name="scp"></a> <!-- http://nco.sf.net/nco.html#scp --><p>To access a file using <code>rcp</code> or <code>scp</code>, specify the
+Internet address of the remote file.
+Of course in this case you must have <code>rcp</code> or <code>scp</code>
+privileges which allow transparent (no password entry required) access
+to the remote machine. 
+This means that <samp>~/.rhosts</samp> or <samp>~/ssh/authorized_keys</samp> must
+be set accordingly on both local and remote machines.   
+</p>
+<a name="index-HPSS"></a>
+<a name="index-hsi"></a>
+<a name="index-msrcp"></a>
+<a name="index-msread"></a>
+<a name="index-nrnet"></a>
+<a name="hpss"></a> <!-- http://nco.sf.net/nco.html#hpss -->
+<a name="HPSS"></a> <!-- http://nco.sf.net/nco.html#HPSS -->
+<a name="hsi"></a> <!-- http://nco.sf.net/nco.html#hsi -->
+<a name="HSI"></a> <!-- http://nco.sf.net/nco.html#HSI -->
+<a name="msrcp"></a> <!-- http://nco.sf.net/nco.html#msrcp -->
+<a name="msread"></a> <!-- http://nco.sf.net/nco.html#msread -->
+<a name="nrnet"></a> <!-- http://nco.sf.net/nco.html#nrnet --><p>To access a file on a High Performance Storage System (<acronym>HPSS</acronym>) 
+(such as that at <acronym>NCAR</acronym>, <acronym>ECMWF</acronym>, <acronym>LANL</acronym>,
+<acronym>DKRZ</acronym>, <acronym>LLNL</acronym>) specify the full <acronym>HPSS</acronym> pathname
+of the remote file.  
+<acronym>NCO</acronym> will attempt to detect whether the local machine has direct
+(synchronous) <acronym>HPSS</acronym> access. 
+In this case, <acronym>NCO</acronym> attempts to use the Hierarchical Storage
+Interface (<acronym>HSI</acronym>) command <code>hsi get</code>
+<a name="DOCF20" href="#FOOT20"><sup>20</sup></a>.
+</p>
+<p>The following examples show how one might analyze files stored on  
+remote systems.
+</p><div class="example">
+<pre class="example">ncks -l . ftp://dust.ess.uci.edu/pub/zender/nco/in.nc
+ncks -l . sftp://dust.ess.uci.edu:/home/ftp/pub/zender/nco/in.nc
+ncks -l . dust.ess.uci.edu:/home/zender/nco/data/in.nc
+ncks -l . /ZENDER/nco/in.nc
+ncks -l . /home/zender/nco/in.nc
+ncks -l . http://thredds-test.ucar.edu/thredds/dodsC/testdods/in.nc 
+</pre></div>
+<p>The first example works verbatim if your system is connected to the
+Internet and is not behind a firewall. 
+The second example works if you have <code>sftp</code> access to the
+machine <code>dust.ess.uci.edu</code>.
+The third example works if you have <code>rcp</code> or <code>scp</code>
+access to the machine <code>dust.ess.uci.edu</code>. 
+The fourth and fifth examples work on <acronym>NCAR</acronym> computers with
+local access to the <acronym>HPSS</acronym> <code>hsi get</code> command
+<a name="DOCF21" href="#FOOT21"><sup>21</sup></a>.
+The sixth command works if your local version of <acronym>NCO</acronym> is
+<acronym>OPeNDAP</acronym>-enabled (this is fully described in <a href="#OPeNDAP">OPeNDAP</a>),
+or if the remote file is accessible via <code>wget</code>.
+The above commands can be rewritten using the ‘<samp>-p <var>input-path</var></samp>’ 
+option as follows: 
+<a name="index-_002dp-input_002dpath-1"></a>
+<a name="index-input_002dpath-1"></a>
+<a name="index-_002dl-output_002dpath-1"></a>
+<a name="index-output_002dpath"></a>
+</p><div class="example">
+<pre class="example">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
+ncks -p dust.ess.uci.edu:/home/zender/nco -l . in.nc
+ncks -p /ZENDER/nco -l . in.nc
+ncks -p /home/zender/nco -l . in.nc # HPSS
+ncks -p http://thredds-test.ucar.edu/thredds/dodsC/testdods \ 
+     -l . in.nc
+</pre></div>
+<p>Using ‘<samp>-p</samp>’ is recommended because it clearly separates the
+<var>input-path</var> from the filename itself, sometimes called the
+<em>stub</em>. 
+<a name="index-stub"></a>
+When <var>input-path</var> is not explicitly specified using ‘<samp>-p</samp>’,
+<acronym>NCO</acronym> internally generates an <var>input-path</var> from the first
+input filename.  
+The automatically generated <var>input-path</var> is constructed by stripping 
+the input filename of everything following the final ‘<samp>/</samp>’ character
+(i.e., removing the stub).
+The ‘<samp>-l <var>output-path</var></samp>’ option tells <acronym>NCO</acronym> where to
+store the remotely retrieved file.
+It has no effect on locally-retrieved files, or on the output file.
+Often the path to a remotely retrieved file is quite different than the
+path on the local machine where you would like to store the file.
+If ‘<samp>-l</samp>’ is not specified then <acronym>NCO</acronym> internally generates an
+<var>output-path</var> by simply setting <var>output-path</var> equal to
+<var>input-path</var> stripped of any machine names.
+If ‘<samp>-l</samp>’ is not specified and the remote file resides on the
+<acronym>NCAR</acronym> <acronym>HPSS</acronym> system, then the leading character of
+<var>input-path</var>, ‘<samp>/</samp>’, is also stripped from <var>output-path</var>.
+Specifying <var>output-path</var> as ‘<samp>-l ./</samp>’ tells <acronym>NCO</acronym> to
+store the remotely retrieved file and the output file in the current
+directory. 
+Note that ‘<samp>-l .</samp>’ is equivalent to ‘<samp>-l ./</samp>’ though the latter is
+syntactically more clear.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">• <a href="#OPeNDAP" accesskey="1">OPeNDAP</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<a name="dap"></a> <!-- http://nco.sf.net/nco.html#dap -->
+<a name="DAP"></a> <!-- http://nco.sf.net/nco.html#DAP -->
+<a name="DODS"></a> <!-- http://nco.sf.net/nco.html#DODS -->
+<a name="OPeNDAP"></a> <!-- http://nco.sf.net/nco.html#OPeNDAP -->
+<a name="dods"></a> <!-- http://nco.sf.net/nco.html#dods -->
+<a name="opendap"></a> <!-- http://nco.sf.net/nco.html#opendap --><hr>
+<a name="OPeNDAP"></a>
+<div class="header">
+<p>
+Previous: <a href="#Remote-storage" accesskey="p" rel="previous">Remote storage</a>, Up: <a href="#Remote-storage" accesskey="u" rel="up">Remote storage</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="OPeNDAP-1"></a>
+<h4 class="subsection">3.7.1 <acronym>OPeNDAP</acronym></h4>
+<a name="index-DAP"></a>
+<a name="index-DODS"></a>
+<a name="index-HTTP-protocol"></a>
+<a name="index-DODS_005fROOT"></a>
+<a name="index-Distributed-Oceanographic-Data-System"></a>
+<a name="index-oceanography"></a>
+<a name="index-data-access-protocol"></a>
+<a name="index-Open_002dsource-Project-for-a-Network-Data-Access-Protocol"></a>
+<a name="index-OPeNDAP_002e"></a>
+<a name="index-server-1"></a>
+<a name="index-client_002dserver"></a>
+<p>The Distributed Oceanographic Data System (<acronym>DODS</acronym>) provides
+useful replacements for common data interface libraries like netCDF.
+The <acronym>DODS</acronym> versions of these libraries implement network
+transparent access to data via a client-server data access protocol
+that uses the <acronym>HTTP</acronym> protocol for communication.
+Although <acronym>DODS</acronym>-technology originated with oceanography data,
+it applyies to virtually all scientific data.
+In recognition of this, the data access protocol underlying
+<acronym>DODS</acronym> (which is what <acronym>NCO</acronym> cares about) has been 
+renamed the Open-source Project for a Network Data Access Protocol, 
+<acronym>OPeNDAP</acronym>.
+We use the terms <acronym>DODS</acronym> and <acronym>OPeNDAP</acronym> interchangeably,
+and often write <acronym>OPeNDAP</acronym>/<acronym>DODS</acronym> for now. 
+In the future we will deprecate <acronym>DODS</acronym> in favor of
+<acronym>DAP</acronym> or <acronym>OPeNDAP</acronym>, as appropriate
+<a name="DOCF22" href="#FOOT22"><sup>22</sup></a>.
+</p>
+<p><acronym>NCO</acronym> may be <acronym>DAP</acronym>-enabled by linking
+<acronym>NCO</acronym> to the <acronym>OPeNDAP</acronym> libraries. 
+<a name="index-Makefile-2"></a>
+This is described in the <acronym>OPeNDAP</acronym> documentation and
+automagically implemented in <acronym>NCO</acronym> build mechanisms
+<a name="DOCF23" href="#FOOT23"><sup>23</sup></a>.
+The <samp>./configure</samp> mechanism automatically enables <acronym>NCO</acronym> as
+<acronym>OPeNDAP</acronym> clients if it can find the required
+<acronym>OPeNDAP</acronym> libraries
+<a name="DOCF24" href="#FOOT24"><sup>24</sup></a>.
+ in the usual locations.
+The <code>$DODS_ROOT</code> environment variable may be used to override the 
+default <acronym>OPeNDAP</acronym> library location at <acronym>NCO</acronym>
+compile-time.  
+Building <acronym>NCO</acronym> with <samp>bld/Makefile</samp> and the command
+<code>make DODS=Y</code> adds the (non-intuitive) commands to link to the
+<acronym>OPeNDAP</acronym> libraries installed in the <code>$DODS_ROOT</code>
+directory.  
+The file <samp>doc/opendap.sh</samp> contains a generic script intended to help
+users install <acronym>OPeNDAP</acronym> before building <acronym>NCO</acronym>.
+The documentation at the 
+<a href="http://www.opendap.org">OPeNDAP Homepage</a>
+is voluminous.
+Check there and on the
+<a href="http://www.unidata.ucar.edu/packages/dods/home/mailLists/">DODS mail lists</a>.
+to learn more about the extensive capabilities of <acronym>OPeNDAP</acronym>
+<a name="DOCF25" href="#FOOT25"><sup>25</sup></a>.
+</p>
+<p>Once <acronym>NCO</acronym> is <acronym>DAP</acronym>-enabled the operators are
+<acronym>OPeNDAP</acronym> clients.  
+All <acronym>OPeNDAP</acronym> clients have network transparent access to
+any files controlled by a <acronym>OPeNDAP</acronym> server. 
+Simply specify the input file path(s) in <acronym>URL</acronym> notation and all 
+<acronym>NCO</acronym> operations may be performed on remote files made
+accessible by a <acronym>OPeNDAP</acronym> server. 
+This command tests the basic functionality of <acronym>OPeNDAP</acronym>-enabled  
+<acronym>NCO</acronym> clients: 
+</p><div class="example">
+<pre class="example">% ncks -O -o ~/foo.nc -C -H -v one -l /tmp \
+  -p http://thredds-test.ucar.edu/thredds/dodsC/testdods in.nc
+% ncks -H -v one ~/foo.nc
+one = 1
+</pre></div>
+<p>The <code>one = 1</code> outputs confirm (first) that <code>ncks</code> correctly
+retrieved data via the  <acronym>OPeNDAP</acronym> protocol and (second) that 
+<code>ncks</code> created a valid local copy of the subsetted remote file.
+With minor changes to the above command, netCDF4 can be used as both the
+input and output file format:
+</p><div class="example">
+<pre class="example">% ncks -4 -O -o ~/foo.nc -C -H -v one -l /tmp \
+  -p http://thredds-test.ucar.edu/thredds/dodsC/testdods in_4.nc
+% ncks -H -v one ~/foo.nc
+one = 1
+</pre></div>
+<p>And, of course, <acronym>OPeNDAP</acronym>-enabled <acronym>NCO</acronym> clients continue
+to support other, orthogonal features such as UDUnits 
+(see <a href="#UDUnits-Support">UDUnits Support</a>):
+</p><div class="example">
+<pre class="example">% ncks -u -C -H -v wvl -d wvl,'0.4 micron','0.7 micron' \
+  -p http://thredds-test.ucar.edu/thredds/dodsC/testdods in_4.nc
+% wvl[0]=5e-07 meter
+</pre></div>
+
+<p>The next command is a more advanced example which demonstrates the real
+power of <acronym>OPeNDAP</acronym>-enabled <acronym>NCO</acronym> clients.
+The <code>ncwa</code> client requests an equatorial hyperslab from remotely
+stored <acronym>NCEP reanalyses data</acronym> of the year 1969<!-- /@w -->.
+The <acronym>NOAA</acronym> <acronym>OPeNDAP</acronym> server (hopefully!) serves these data. 
+The local <code>ncwa</code> client then computes and stores (locally) the
+regional mean surface pressure (in Pa)<!-- /@w -->. 
+</p><div class="example">
+<pre class="example">ncwa -C -a lat,lon,time -d lon,-10.,10. -d lat,-10.,10. -l /tmp -p \
+http://www.esrl.noaa.gov/psd/thredds/dodsC/Datasets/ncep.reanalysis.dailyavgs/surface \
+  pres.sfc.1969.nc ~/foo.nc
+</pre></div>
+<a name="index-packing"></a>
+<a name="index-unpacking"></a>
+<p>All with one command!
+The data in this particular input file also happen to be packed
+(see <a href="#Methods-and-functions">Methods and functions</a>), although this is completely transparent
+to the user since <acronym>NCO</acronym> automatically unpacks data before
+attempting arithmetic. 
+</p>
+<p><acronym>NCO</acronym> obtains remote files from the <acronym>OPeNDAP</acronym> server
+(e.g., <samp>www.cdc.noaa.gov</samp>) rather than the local machine. 
+Input files are first copied to the local machine, then processed.
+The <acronym>OPeNDAP</acronym> server performs data access, hyperslabbing,
+and transfer to the local machine.
+<a name="index-I_002fO"></a>
+This allows the I/O to appear to <acronym>NCO</acronym> as if the input files
+were local.  
+The local machine performs all arithmetic operations.
+Only the hyperslabbed output data are transferred over the network (to
+the local machine) for the number-crunching to begin.
+The advantages of this are obvious if you are examining small parts of
+large files stored at remote locations.
+</p>
+<a name="rtn"></a> <!-- http://nco.sf.net/nco.html#rtn --><hr>
+<a name="Retaining-Retrieved-Files"></a>
+<div class="header">
+<p>
+Next: <a href="#File-Formats-and-Conversion" accesskey="n" rel="next">File Formats and Conversion</a>, Previous: <a href="#Remote-storage" accesskey="p" rel="previous">Remote storage</a>, Up: <a href="#Common-features" accesskey="u" rel="up">Common features</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Retaining-Retrieved-Files-1"></a>
+<h3 class="section">3.8 Retaining Retrieved Files</h3>
+<a name="index-file-deletion"></a>
+<a name="index-file-removal"></a>
+<a name="index-file-retention"></a>
+<a name="index-_002dR"></a>
+<a name="index-_002d_002drtn"></a>
+<a name="index-_002d_002dretain"></a>
+<table class="cartouche" border="1"><tr><td>
+<p>Availability: All operators<br>
+Short options: ‘<samp>-R</samp>’<br>
+Long options: ‘<samp>--rtn</samp>’, ‘<samp>--retain</samp>’<br>
+</p></td></tr></table>
+<p>In order to conserve local file system space, files retrieved from
+remote locations are automatically deleted from the local file system 
+once they have been processed.
+Many <acronym>NCO</acronym> operators were constructed to work with numerous
+large (e.g., 200 MB<!-- /@w -->) files. 
+Retrieval of multiple files from remote locations is done serially. 
+Each file is retrieved, processed, then deleted before the cycle
+repeats.  
+In cases where it is useful to keep the remotely-retrieved files on the
+local file system after processing, the automatic removal feature may be 
+disabled by specifying ‘<samp>-R</samp>’ on the command line.
+</p>
+<p>Invoking <code>-R</code> disables the default printing behavior of
+<code>ncks</code>.
+This allows <code>ncks</code> to retrieve remote files without
+automatically trying to print them.
+See <a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a>, for more details.
+</p>
+<a name="index-FTP"></a>
+<a name="index-SSH-1"></a>
+<a name="index-msrcp-1"></a>
+<p>Note that the remote retrieval features of <acronym>NCO</acronym> can always be
+used to retrieve <em>any</em> file, including non-netCDF files, via
+<code>SSH</code>, anonymous <acronym>FTP</acronym>, or <code>msrcp</code>.
+Often this method is quicker than using a browser, or running an
+<acronym>FTP</acronym> session from a shell window yourself.
+<a name="index-server-2"></a>
+For example, say you want to obtain a <acronym>JPEG</acronym> file from a weather
+server. 
+</p><div class="example">
+<pre class="example">ncks -R -p ftp://weather.edu/pub/pix/jpeg -l . storm.jpg
+</pre></div>
+<p>In this example, <code>ncks</code> automatically performs an anonymous
+<acronym>FTP</acronym> login to the remote machine and retrieves the specified
+file. 
+When <code>ncks</code> attempts to read the local copy of <samp>storm.jpg</samp>
+as a netCDF file, it fails and exits, leaving  <samp>storm.jpg</samp> in
+the current directory.
+</p>
+<a name="index-DODS-1"></a>
+<a name="index-server-3"></a>
+<p>If your <acronym>NCO</acronym> is <acronym>DAP</acronym>-enabled (see <a href="#OPeNDAP">OPeNDAP</a>),
+then you may use <acronym>NCO</acronym> to retrieve any files (including netCDF,
+<acronym>HDF</acronym>, etc.) served by an <acronym>OPeNDAP</acronym> server to your local 
+machine. 
+For example, 
+</p><div class="example">
+<pre class="example">ncks -R -l . -p \
+http://www.esrl.noaa.gov/psd/thredds/dodsC/Datasets/ncep.reanalysis.dailyavgs/surface \
+  pres.sfc.1969.nc
+</pre></div>
+<p>It may occasionally be useful to use <acronym>NCO</acronym> to transfer files
+when your other preferred methods are not available locally.
+</p>
+<a name="fl_fmt"></a> <!-- http://nco.sf.net/nco.html#fl_fmt -->
+<a name="hdf"></a> <!-- http://nco.sf.net/nco.html#hdf -->
+<a name="64bit"></a> <!-- http://nco.sf.net/nco.html#64bit -->
+<a name="netcdf4"></a> <!-- http://nco.sf.net/nco.html#netcdf4 --><hr>
+<a name="File-Formats-and-Conversion"></a>
+<div class="header">
+<p>
+Next: <a href="#Large-File-Support" accesskey="n" rel="next">Large File Support</a>, Previous: <a href="#Retaining-Retrieved-Files" accesskey="p" rel="previous">Retaining Retrieved Files</a>, Up: <a href="#Common-features" accesskey="u" rel="up">Common features</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="File-Formats-and-Conversion-1"></a>
+<h3 class="section">3.9 File Formats and Conversion</h3>
+<a name="index-HDF-1"></a>
+<a name="index-netCDF2-1"></a>
+<a name="index-netCDF3-1"></a>
+<a name="index-netCDF4-1"></a>
+<a name="index-NETCDF4_005fCLASSIC-files"></a>
+<a name="index-NETCDF4-files"></a>
+<a name="index-CLASSIC-files"></a>
+<a name="index-64BIT-files"></a>
+<a name="index-_002d_002d3"></a>
+<a name="index-_002d3-1"></a>
+<a name="index-_002d4-1"></a>
+<a name="index-_002d6"></a>
+<a name="index-_002d7"></a>
+<a name="index-_002d_002d4"></a>
+<a name="index-_002d_002d7"></a>
+<a name="index-_002d_002dnetcdf4"></a>
+<a name="index-_002d_002dfl_005ffmt"></a>
+<a name="index-_002d_002dfile_005fformat"></a>
+<a name="index-_002d_002d64bit"></a>
+<table class="cartouche" border="1"><tr><td>
+<p>Availability: <code>ncap2</code>, <code>ncbo</code>, <code>nces</code>,
+<code>ncecat</code>, <code>ncflint</code>, <code>ncks</code>, <code>ncpdq</code>,
+<code>ncra</code>, <code>ncrcat</code>, <code>ncwa</code><br>
+Short options: ‘<samp>-3</samp>’, ‘<samp>-4</samp>’, ‘<samp>-6</samp>’, ‘<samp>-7</samp>’<br>
+Long options: ‘<samp>--3</samp>’, ‘<samp>--4</samp>’, ‘<samp>--64bit</samp>’, ‘<samp>--7</samp>’, ‘<samp>--fl_fmt</samp>’,
+‘<samp>--netcdf4</samp>’<br>  
+</p></td></tr></table>
+<p>All <acronym>NCO</acronym> operators support (read and write) all three (or four, 
+depending on how one counts) file formats supported by netCDF4.
+The default output file format for all operators is the input file
+format. 
+The operators listed under “Availability” above allow the user to
+specify the output file format independent of the input file format. 
+These operators allow the user to convert between the various file
+formats. 
+(The operators <code>ncatted</code> and <code>ncrename</code> do not support
+these switches so they always write the output netCDF file in the same
+format as the input netCDF file.) 
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">• <a href="#File-Formats" accesskey="1">File Formats</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Determining-File-Format" accesskey="2">Determining File Format</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#File-Conversion" accesskey="3">File Conversion</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Autoconversion" accesskey="4">Autoconversion</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<hr>
+<a name="File-Formats"></a>
+<div class="header">
+<p>
+Next: <a href="#Determining-File-Format" accesskey="n" rel="next">Determining File Format</a>, Previous: <a href="#File-Formats-and-Conversion" accesskey="p" rel="previous">File Formats and Conversion</a>, Up: <a href="#File-Formats-and-Conversion" accesskey="u" rel="up">File Formats and Conversion</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="File-Formats-1"></a>
+<h4 class="subsection">3.9.1 File Formats</h4>
+<p>netCDF supports four types of files: <code>CLASSIC</code>, <code>64BIT</code>,
+<code>NETCDF4</code>, and <code>NETCDF4_CLASSIC</code>, 
+The <code>CLASSIC</code> format is the traditional 32-bit offset written by
+netCDF2 and netCDF3.
+As of 2005, nearly all netCDF datasets were in <code>CLASSIC</code> format. 
+The <code>64BIT</code> format was added in Fall, 2004.
+As of 2010, many netCDF datasets were in <code>64BIT</code> format. 
+As of 2013, many netCDF datasets are in <code>NETCDF4_CLASSIC</code> format. 
+</p>
+<p>The <code>NETCDF4</code> format uses <acronym>HDF5</acronym> as the file storage layer. 
+The files are (usually) created, accessed, and manipulated using the 
+traditional netCDF3 <acronym>API</acronym> (with numerous extensions).
+The <code>NETCDF4_CLASSIC</code> format refers to netCDF4 files created with
+the <code>NC_CLASSIC_MODEL</code> mask.
+Such files use <acronym>HDF5</acronym> as the back-end storage format (unlike
+netCDF3), though they incorporate only netCDF3 features.
+Hence <code>NETCDF4_CLASSIC</code> files are entirely readable by applications 
+that use only the netCDF3 <acronym>API</acronym> (though the applications must be
+linked with the netCDF4 library).
+<acronym>NCO</acronym> must be built with netCDF4<!-- /@w --> to write files in the new
+<code>NETCDF4</code> and <code>NETCDF4_CLASSIC</code> formats, and to read files in
+these formats. 
+Datasets in the default <code>CLASSIC</code> or the newer <code>64BIT</code> formats 
+have maximum backwards-compatibility with older applications. 
+<acronym>NCO</acronym> has deep support for <code>NETCDF4</code> formats.
+If performance or disk-space as important as backwards compatibility,
+then use <code>NETCDF4_CLASSIC</code> instead of <code>CLASSIC</code> format files. 
+As of 2014, <acronym>NCO</acronym> support for the <code>NETCDF4</code> format is
+nearly complete and the most powerful and disk/<acronym>RAM</acronym> efficient 
+workflows will utilize this format.
+</p>
+<p>As mentioned above, all operators write use the input file format for
+output files unless told otherwise.
+Toggling the short option ‘<samp>-6</samp>’ or the long option ‘<samp>--64bit</samp>’
+switch (or its <var>key</var>-<var>value</var> equivalent ‘<samp>--fl_fmt=64bit</samp>’)
+produces the netCDF3 64-bit offset format named <code>64BIT</code>. 
+<acronym>NCO</acronym> must be built with netCDF 3.6<!-- /@w --> or higher to produce
+a <code>64BIT</code> file.
+Using the ‘<samp>-4</samp>’ switch (or its long option equivalents
+‘<samp>--4</samp>’ or ‘<samp>--netcdf4</samp>’), or setting its <var>key</var>-<var>value</var>
+equivalent ‘<samp>--fl_fmt=netcdf4</samp>’ produces a <code>NETCDF4</code> file
+(i.e., with all supported <acronym>HDF5</acronym> features).
+Using the ‘<samp>-7</samp>’ switch (or its long option equivalent
+‘<samp>--7</samp>’
+<a name="DOCF26" href="#FOOT26"><sup>26</sup></a>, or 
+setting its <var>key</var>-<var>value</var> equivalent
+‘<samp>--fl_fmt=netcdf4_classic</samp>’ produces a <code>NETCDF4_CLASSIC</code>  
+file (i.e., with all supported <acronym>HDF5</acronym> features like compression
+and chunking but without groups or new atomic types).
+Operators given the ‘<samp>-3</samp>’ (or ‘<samp>--3</samp>’) switch without arguments
+will (attempt to) produce netCDF3 <code>CLASSIC</code> output, even from
+netCDF4 input files.  
+</p>
+<p>Note that <code>NETCDF4</code> and <code>NETCDF4_CLASSIC</code> are the same
+binary format. 
+The latter simply causes a writing application to fail if it attempts to 
+write a <code>NETCDF4</code> file that cannot be completely read by the
+netCDF3 library. 
+Conversely, <code>NETCDF4_CLASSIC</code> indicates to a reading application
+that all of the file contents are readable with the netCDF3 library. 
+<acronym>NCO</acronym> has supported reading/writing basic <code>NETCDF4</code> and
+<code>NETCDF4_CLASSIC</code> files since October, 2005.
+</p>
+<a name="fmt_inq"></a> <!-- http://nco.sf.net/nco.html#fmt_inq --><hr>
+<a name="Determining-File-Format"></a>
+<div class="header">
+<p>
+Next: <a href="#File-Conversion" accesskey="n" rel="next">File Conversion</a>, Previous: <a href="#File-Formats" accesskey="p" rel="previous">File Formats</a>, Up: <a href="#File-Formats-and-Conversion" accesskey="u" rel="up">File Formats and Conversion</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Determining-File-Format-1"></a>
+<h4 class="subsection">3.9.2 Determining File Format</h4>
+<p>Input files often end with the generic <code>.nc</code> suffix that leaves
+(perhaps by intention) the internal file format ambiguous.
+There are at least three ways to discover the internal format of a
+netCDF-supported file.
+These methods determine whether it is a classic (32-bit offset) or newer
+64-bit offset netCDF3 format, or is a netCDF4 format. 
+Each method returns the information using slightly different terminology 
+that becomes easier to understand with practice.
+</p>
+<p>First, examine the first line of global metadata output by ‘<samp>ncks -M</samp>’:  
+<a name="index-netCDF3-classic-file-format"></a>
+<a name="index-netCDF4-classic-file-format"></a>
+<a name="index-netCDF4-file-format"></a>
+<a name="index-32_002dbit-offset-file-format"></a>
+<a name="index-64_002dbit-offset-file-format"></a>
+<a name="index-ncks"></a>
+<a name="index-_002dM"></a>
+</p><div class="example">
+<pre class="example">% ncks -M foo_3c.nc
+Summary of foo_3c.nc: filetype = NC_FORMAT_CLASSIC, 0 groups ...
+% ncks -M foo_364.nc
+Summary of foo_364.nc: filetype = NC_FORMAT_64BIT, 0 groups ...
+% ncks -M foo_4c.nc
+Summary of foo_4c.nc: filetype = NC_FORMAT_NETCDF4_CLASSIC, 0 groups ...
+% ncks -M foo_4.nc
+Summary of foo_4.nc: filetype = NC_FORMAT_NETCDF4, 0 groups ...
+</pre></div>
+<p>This method requires a netCDF4-enabled <acronym>NCO</acronym> version 3.9.0+
+(i.e., from 2007 or later).
+<a name="index-extended-file-format"></a>
+<a name="index-underlying-file-format"></a>
+<a name="index-NC_005fFORMAT_005fNC3"></a>
+<a name="index-NC_005fFORMAT_005fNC_005fHDF5"></a>
+<a name="index-NC_005fFORMAT_005fNC_005fHDF4"></a>
+<a name="index-NC_005fFORMAT_005fPNETCDF"></a>
+<a name="index-NC_005fFORMAT_005fDAP2"></a>
+<a name="index-NC_005fFORMAT_005fDAP4"></a>
+As of <acronym>NCO</acronym> version 4.4.0 (January, 2014), <code>ncks</code> will
+also print the extended or underlying format of the input file.
+The extended filetype will be one of the six underlying formats that
+are accessible through the netCDF <acronym>API</acronym>.
+These formats are
+<code>NC_FORMAT_NC3</code> (classic and 64-bit versions of netCDF3 formats),
+<code>NC_FORMAT_NC_HDF5</code> (classic and extended versions of netCDF4, and
+“pure” HDF5 format),
+<code>NC_FORMAT_NC_HDF4</code> (HDF4 format),
+<code>NC_FORMAT_PNETCDF</code> (PnetCDF format),
+<code>NC_FORMAT_DAP2</code> (accessed via DAP2 protocol), and
+<code>NC_FORMAT_DAP4</code> (accessed via DAP2 protocol).
+For example,
+</p><div class="example">
+<pre class="example">% ncks -D 2 -M hdf.hdf
+Summary of hdf.hdf: filetype = NC_FORMAT_NETCDF4 (representation of \
+  extended/underlying filetype NC_FORMAT_HDF4), 0 groups ...
+% ncks -D 2 -M http://thredds-test.ucar.edu/thredds/dodsC/testdods/in.nc
+Summary of http://thredds-test.ucar.edu/thredds/dodsC/testdods/in.nc: \
+  filetype = NC_FORMAT_CLASSIC (representation of extended/underlying \
+  filetype NC_FORMAT_DAP2), 0 groups  
+% ncks -D 2 -M foo_4.nc
+Summary of foo_4.nc: filetype = NC_FORMAT_NETCDF4 (representation of \
+  extended/underlying filetype NC_FORMAT_HDF5), 0 groups  
+</pre></div>
+<p>The extended filetype determines some of the capabilities that netCDF
+has to alter the file.
+</p>
+<p>Second, query the file with ‘<samp>ncdump -k</samp>’:
+<a name="index-ncdump"></a>
+</p><div class="example">
+<pre class="example">% ncdump -k foo_3c.nc
+classic
+% ncdump -k foo_364.nc
+64-bit-offset
+% ncdump -k foo_4c.nc
+netCDF-4 classic model
+% ncdump -k foo_4.nc
+netCDF-4
+</pre></div>
+<p>This method requires a netCDF4-enabled <acronym>netCDF</acronym> 3.6.2+
+(i.e., from 2007 or later).
+</p>
+<p>The third option uses the POSIX-standard <code>od</code> (octal dump)
+command:   
+<a name="index-od"></a>
+<a name="index-octal-dump"></a>
+</p><div class="example">
+<pre class="example">% od -An -c -N4 foo_3c.nc
+   C   D   F 001
+% od -An -c -N4 foo_364.nc
+   C   D   F 002
+% od -An -c -N4 foo_4c.nc
+ 211   H   D   F
+% od -An -c -N4 foo_4.nc
+ 211   H   D   F
+</pre></div>
+<p>This option works without <acronym>NCO</acronym> and <code>ncdump</code>.
+Values of ‘<samp>C D F 001</samp>’ and ‘<samp>C D F 002</samp>’ indicate 32-bit
+(classic) and 64-bit netCDF3 formats, respectively, while values of
+‘<samp>211 H D F</samp>’ indicate either of the newer netCDF4 file formats.
+</p>
+<a name="hdf2nc"></a> <!-- http://nco.sf.net/nco.html#hdf2nc -->
+<a name="3to4"></a> <!-- http://nco.sf.net/nco.html#3to4 -->
+<a name="4to3"></a> <!-- http://nco.sf.net/nco.html#4to3 --><hr>
+<a name="File-Conversion"></a>
+<div class="header">
+<p>
+Next: <a href="#Autoconversion" accesskey="n" rel="next">Autoconversion</a>, Previous: <a href="#Determining-File-Format" accesskey="p" rel="previous">Determining File Format</a>, Up: <a href="#File-Formats-and-Conversion" accesskey="u" rel="up">File Formats and Conversion</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="File-Conversion-1"></a>
+<h4 class="subsection">3.9.3 File Conversion</h4>
+<p>Let us demonstrate converting a file from any netCDF-supported
+input format into any netCDF output format (subject to limits of the
+output format).  
+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:
+</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
+ncks --fl_fmt=netcdf4_classic in.nc foo_4c.nc # netCDF4 classic
+ncks --fl_fmt=netcdf4 in.nc foo_4.nc # netCDF4 
+ncks -3 in.nc foo_3c.nc # netCDF3 classic
+ncks --3 in.nc foo_3c.nc # netCDF3 classic
+ncks -6 in.nc foo_364.nc # netCDF3 64bit
+ncks --64 in.nc foo_364.nc # netCDF3 64bit
+ncks -4 in.nc foo_4.nc # netCDF4 
+ncks --4 in.nc foo_4.nc # netCDF4 
+ncks -7 in.nc foo_4c.nc # netCDF4 classic
+ncks --7 in.nc foo_4c.nc # netCDF4 classic
+</pre></div>
+<p>Of course since most operators support these switches, the
+“conversions” can be done at the output stage of arithmetic
+or metadata processing rather than requiring a separate step.
+Producing (netCDF3) <code>CLASSIC</code> or <code>64BIT</code> files from
+<code>NETCDF4_CLASSIC</code> files will always work. 
+</p>
+<a name="autoconversion"></a> <!-- http://nco.sf.net/nco.html#autoconversion -->
+<a name="autocnv"></a> <!-- http://nco.sf.net/nco.html#autocnv --><hr>
+<a name="Autoconversion"></a>
+<div class="header">
+<p>
+Previous: <a href="#File-Conversion" accesskey="p" rel="previous">File Conversion</a>, Up: <a href="#File-Formats-and-Conversion" accesskey="u" rel="up">File Formats and Conversion</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Autoconversion-1"></a>
+<h4 class="subsection">3.9.4 Autoconversion</h4>
+<p>Because of the dearth of support for netCDF4 amongst tools and user
+communities (including the <acronym>CF</acronym> conventions), it is often useful
+to convert netCDF4 to netCDF3 for certain applications.
+Until <acronym>NCO</acronym> version 4.4.0 (January, 2014), producing netCDF3
+files from netCDF4 files only worked if the input files contained no 
+netCDF4-specific features (e.g., atomic types, multiple record
+dimensions, or groups). 
+As of <acronym>NCO</acronym> version 4.4.0, <code>ncks</code> supports
+<em>autoconversion</em> of many netCDF4 features to their closest
+netCDF3-compatible representations.
+Since converting netCDF4 to netCDF3 results in loss of features, 
+“automatic down-conversion” may be a more precise description of what  
+we term autoconversion.
+</p>
+<p><acronym>NCO</acronym> employs three algorithms to downconvert netCDF4 to netCDF3:
+</p><ol>
+<li> <a name="index-autoconversion"></a>
+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>.
+It automatically demotes the three types <code>NC_UINT</code>,
+<code>NC_UINT64</code>, and <code>NC_INT64</code> to <code>NC_INT</code>. 
+And it converts <code>NC_STRING</code> to <code>NC_CHAR</code>.
+All numeric conversions work for attributes and variables of any rank.
+Two numeric types (<code>NC_UBYTE</code> and <code>NC_USHORT</code>) are
+<em>promoted</em> to types with greater range (and greater storage). 
+This extra range is often not used so promotion perhaps conveys
+the wrong impression.
+However, promotion never truncates values or loses data (this perhaps
+justifies the extra storage).
+Three numeric types (<code>NC_UINT</code>, <code>NC_UINT64</code> and
+<code>NC_INT64</code>) are <em>demoted</em>.
+Since the input range is larger than the output range, demotion can
+result in numeric truncation and thus loss of data. 
+In such cases, it would possible to convert the data to floating point
+values instead. 
+If this feature interests you, please be the squeaky wheel and let us
+know.
+
+<p>String conversions (to <code>NC_CHAR</code>) work for all attributes, but
+not for variables.
+This is because attributes are at most one-dimensional and may be of any
+size whereas variables require gridded dimensions that usually do not
+fit the ragged sizes of text strings.
+Hence scalar <code>NC_STRING</code> attributes are correctly converted to and
+stored as <code>NC_CHAR</code> attributes in the netCDF3 output file, but
+<code>NC_STRING</code> variables are not correctly converted. 
+If this limitation annoys or enrages you, please let us know by being
+the squeaky wheel.
+</p>
+</li><li> <a name="index-_002d_002dfix_005frec_005fdmn-all"></a>
+Convert multiple record dimensions to fixed-size dimensions.
+Many netCDF4 and <acronym>HDF5</acronym> datasets have multiple unlimited
+dimensions.
+Since a netCDF3 file may have at most one unlimited dimension, all but
+possibly one unlimited dimension from the input file must be converted
+to fixed-length dimensions prior to storing netCDF4 input as netCDF3
+output.
+By invoking <code>--fix_rec_dmn all</code> the user ensures the output file
+will adhere to netCDF3 conventions and the user need not know the names
+of the specific record dimensions to fix.
+See <a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a> for a description of the
+‘<samp>--fix_rec_dmn</samp>’ option. 
+
+</li><li> <a name="index-flattening"></a>
+Flattening (removal) of groups.
+Many netCDF4 and <acronym>HDF5</acronym> datasets have group hierarchies.
+Since a netCDF3 file may not have any groups, groups in the input file
+must be removed.
+This is also called “flattening” the hierarchical file.
+See <a href="#Group-Path-Editing">Group Path Editing</a> for a description of the <acronym>GPE</acronym>
+option ‘<samp>-G :</samp>’ to flatten files.
+</li></ol>
+
+<p>Putting the three algorithms together, one sees that the recipe to 
+convert netCDF4 to netCDF4 becomes increasingly complex as the netCDF4
+features in the input file become more elaborate:
+</p><div class="example">
+<pre class="example"># Convert file with netCDF4 atomic types
+ncks -3 in.nc4 out.nc3
+# Convert file with multiple record dimensions + netCDF4 atomic types
+ncks -3 --fix_rec_dmn=all in.nc4 out.nc3
+# Convert file with groups, multiple record dimensions + netCDF4 atomic types
+ncks -3 -G : --fix_rec_dmn=all in.nc4 out.nc3
+</pre></div>
+<p>Future versions of <acronym>NCO</acronym> may automatically invoke the record
+dimension fixation and group flattening when converting to netCDF3
+(rather than requiring it be specified manually).
+If this feature would interest you, please let us know.
+</p>
+<a name="lfs"></a> <!-- http://nco.sf.net/nco.html#lfs --><hr>
+<a name="Large-File-Support"></a>
+<div class="header">
+<p>
+Next: <a href="#Subsetting-Files" accesskey="n" rel="next">Subsetting Files</a>, Previous: <a href="#File-Formats-and-Conversion" accesskey="p" rel="previous">File Formats and Conversion</a>, Up: <a href="#Common-features" accesskey="u" rel="up">Common features</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Large-File-Support-1"></a>
+<h3 class="section">3.10 Large File Support</h3>
+<a name="index-LFS-1"></a>
+<a name="index-Large-File-Support-1"></a>
+<table class="cartouche" border="1"><tr><td>
+<p>Availability: All operators<br>
+Short options: none<br>
+Long options: none<br>
+</p></td></tr></table>
+<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
+<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
+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
+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,
+interlocking set of operating system  
+<a name="DOCF27" href="#FOOT27"><sup>27</sup></a>
+and netCDF support issues.
+The netCDF LFS 
+<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
+build time. 
+</p>
+<a name="grp"></a> <!-- http://nco.sf.net/nco.html#grp -->
+<a name="var"></a> <!-- http://nco.sf.net/nco.html#var -->
+<a name="xcl"></a> <!-- http://nco.sf.net/nco.html#xcl -->
+<a name="sbs"></a> <!-- http://nco.sf.net/nco.html#sbs -->
+<a name="subset"></a> <!-- http://nco.sf.net/nco.html#subset --><hr>
+<a name="Subsetting-Files"></a>
+<div class="header">
+<p>
+Next: <a href="#Subsetting-Coordinate-Variables" accesskey="n" rel="next">Subsetting Coordinate Variables</a>, Previous: <a href="#Large-File-Support" accesskey="p" rel="previous">Large File Support</a>, Up: <a href="#Common-features" accesskey="u" rel="up">Common features</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Subsetting-Files-1"></a>
+<h3 class="section">3.11 Subsetting Files</h3>
+<a name="index-subsetting"></a>
+<a name="index-union"></a>
+<a name="index-intersection"></a>
+<a name="index-exclusion"></a>
+<a name="index-extraction"></a>
+<a name="index-_002dv-var"></a>
+<a name="index-_002d_002dvariable-var"></a>
+<a name="index-_002dg-grp"></a>
+<a name="index-_002d_002dgrp-grp"></a>
+<a name="index-_002d_002dgroup-grp"></a>
+<a name="index-_002dx"></a>
+<a name="index-_002d_002dexclude"></a>
+<a name="index-_002d_002dxcl"></a>
+<a name="index-_002d_002dunn"></a>
+<a name="index-_002d_002dunion"></a>
+<table class="cartouche" border="1"><tr><td>
+<p>Options <code>--unn</code><br>
+Availability: <code>ncbo</code>, <code>nces</code>,
+<code>ncecat</code>, <code>ncflint</code>, <code>ncks</code>, <code>ncpdq</code>,
+<code>ncra</code>, <code>ncrcat</code>, <code>ncwa</code><br> 
+Short options: <br>
+Long options: ‘<samp>--unn</samp>’ and ‘<samp>--union</samp>’<br>
+Options <code>-g <var>grp</var></code><br>
+Availability: <code>ncbo</code>, <code>nces</code>,
+<code>ncecat</code>, <code>ncflint</code>, <code>ncks</code>, <code>ncpdq</code>,
+<code>ncra</code>, <code>ncrcat</code>, <code>ncwa</code><br> 
+Short options: ‘<samp>-g</samp>’<br>
+Long options: ‘<samp>--grp</samp>’ and ‘<samp>--group</samp>’<br>
+Options <code>-v <var>var</var></code> and <code>-x</code><br>
+Availability: (<code>ncap2</code>), <code>ncbo</code>, <code>nces</code>,
+<code>ncecat</code>, <code>ncflint</code>, <code>ncks</code>, <code>ncpdq</code>,
+<code>ncra</code>, <code>ncrcat</code>, <code>ncwa</code><br>
+Short options: ‘<samp>-v</samp>’, ‘<samp>-x</samp>’<br>
+Long options: ‘<samp>--variable</samp>’, ‘<samp>--exclude</samp>’ or ‘<samp>--xcl</samp>’<br>
+</p></td></tr></table>
+<p>Subsetting variables refers to explicitly specifying variables and
+groups to be included or excluded from operator actions.
+Subsetting is controlled by the ‘<samp>-v <var>var</var>[,…]</samp>’ and
+‘<samp>-x</samp>’ options for directly specifying variables.  
+Specifying groups, whether in addition to or instead of variables,
+is quite similar and is controlled by the ‘<samp>-g <var>grp</var>[,…]</samp>’
+and ‘<samp>-x</samp>’ options.
+A list<!-- /@w --> of variables or groups to extract is specified following the
+‘<samp>-v</samp>’ and ‘<samp>-g</samp>’ options, e.g., ‘<samp>-v time,lat,lon</samp>’ or
+‘<samp>-g grp1,grp2</samp>’.
+Both options may be specified simultaneously and <acronym>NCO</acronym> will
+extract the intersection of the lists, i.e., only variables of the
+specified names found in groups of the specified names.
+The ‘<samp>--unn</samp>’ option causes <acronym>NCO</acronym> to extract the
+union, rather than the intersection, of the specified groups and
+variables. 
+Not using the ‘<samp>-v</samp>’ or ‘<samp>-g</samp>’ option is equivalent to specifying
+all variables or groupp, respectively.  
+The ‘<samp>-x</samp>’ option causes the list of variables specified with
+‘<samp>-v</samp>’ to be <em>excluded</em> rather than <em>extracted</em>.
+Thus ‘<samp>-x</samp>’ saves typing when you only want to extract fewer than
+half of the variables in a file.
+</p>
+<p>Variables or groups explicitly specified for extraction with
+‘<samp>-v <var>var</var>[,…]</samp>’ or ‘<samp>-g <var>grp</var>[,…]</samp>’
+<em>must</em> be present in the input file or an error will result.
+Variables explicitly specified for <em>exclusion</em> with
+‘<samp>-x -v <var>var</var>[,…]</samp>’ need not be present in the input
+file.
+To accord with the sophistication of the underlying hierarchy,
+group subsetting is controlled by a few powerful yet subtle syntactical
+distinctions.
+When learning this syntax it is helpful to keep in mind the similarity
+between group hierarchies and directory structures. 
+</p>
+<a name="index-mv"></a>
+<a name="index-cp"></a>
+<a name="index-recursion"></a>
+<a name="index-recursive"></a>
+<a name="index-anchor"></a>
+<a name="index-anchoring"></a>
+<a name="rcr"></a> <!-- http://nco.sf.net/nco.html#rcr -->
+<a name="recursion"></a> <!-- http://nco.sf.net/nco.html#recursion -->
+<a name="recursive"></a> <!-- http://nco.sf.net/nco.html#recursive -->
+<a name="ncr"></a> <!-- http://nco.sf.net/nco.html#ncr -->
+<a name="anchor"></a> <!-- http://nco.sf.net/nco.html#anchor -->
+<a name="anchoring"></a> <!-- http://nco.sf.net/nco.html#anchoring --><p>Two properties of subsetting, recursion and anchoring, are best
+illustrated by reminding the user of their <acronym>UNIX</acronym> equivalents.
+The <acronym>UNIX</acronym> command <code>mv src dst</code> moves <samp>src</samp>
+<em>and all its subdirectories</em> (and all their subdirectories etc.)
+to <samp>dst</samp>.
+In other words <code>mv</code> is, by default, <em>recursive</em>.
+In contrast, the <acronym>UNIX</acronym> command <code>cp src dst</code> moves
+<samp>src</samp>, and only <samp>src</samp>, to <samp>dst</samp>,
+If <samp>src</samp> is a directory, not a file, then that command fails.
+One must explicitly request to copy directories recursively, i.e.,
+with <code>cp -r src dst</code>.
+In <acronym>NCO</acronym> recursive extraction (and copying) of groups is the
+default (like with <code>mv</code>, not with <code>cp</code>).
+Recursion is turned off by appending a trailing slash to the path.
+</p>
+<p>These <acronym>UNIX</acronym> commands also illustrate a property we call
+<em>anchoring</em>. 
+The command <code>mv src dst</code> moves (recursively) the source
+directory <samp>src</samp> to the destination directory <samp>dst</samp>. 
+If <samp>src</samp> begins with the slash character then the specified path is
+relative to the root directory, otherwise the path is relative to the
+current working directory. 
+In other words, an initial slash character anchors the subsequent path
+to the root directory.
+In <acronym>NCO</acronym> an initial slash anchors the path at the root group.
+Paths that begin and end with slash characters (e.g., <samp>//</samp>,
+<samp>/g1/</samp>, and <samp>/g1/g2/</samp>) are both anchored and non-recursive. 
+</p>
+<p>Consider the following commands, all of which may be assumed to end with
+‘<samp>in.nc out.nc</samp>’:
+</p><div class="example">
+<pre class="example">ncks -g  g1  # Extract, recursively, all groups with a g1 component
+ncks -g  g1/ # Extract, non-recursively, all groups terminating in g1
+ncks -g /g1  # Extract, recursively, root group g1
+ncks -g /g1/ # Extract, non-recursively root group g1
+ncks -g //   # Extract, non-recursively the root group
+</pre></div>
+<p>The first command is probably the most useful and common.
+It would extract these groups, if present, and all their direct
+ancestors and children:
+<samp>/g1</samp>, <samp>/g2/g1</samp>, and <samp>/g3/g1/g2</samp>.
+In other words, the simplest form of ‘<samp>-g grp</samp>’ grabs all groups that 
+(and their direct ancestors and children, recursively) that have
+<samp>grp</samp> as a complete component of their path.
+A simple string match is insufficient, <var>grp</var> must be a complete 
+component (i.e., group name) in the path.
+The option ‘<samp>-g g1</samp>’ would not extract these groups because <samp>g1</samp> 
+is not a complete component of the path: <samp>/g12</samp>, <samp>/fg1</samp>, and
+<samp>/g1g1</samp>.
+The second command above shows how a terminating slash character
+<kbd>/</kbd> cancels the recursive copying of groups.
+An argument to ‘<samp>-g</samp>’ which terminates with a slash character
+extracts the group and its direct ancestors, but none of its children. 
+The third command above shows how an initial slash character <kbd>/</kbd>
+anchors the argument to the root group.
+The third command would not extract the group <samp>/g2/g1</samp> because 
+the <samp>g1</samp> group is not at the root level, but it would extract,
+any group <samp>/g1</samp> at the root level and all its children,
+recursively.  
+The fourth command is the non-recursive version of the third command.
+The fifth command is a special case of the fourth command.
+</p>
+<a name="unn"></a> <!-- http://nco.sf.net/nco.html#unn -->
+<a name="nsx"></a> <!-- http://nco.sf.net/nco.html#nsx -->
+<a name="union"></a> <!-- http://nco.sf.net/nco.html#union -->
+<a name="intersection"></a> <!-- http://nco.sf.net/nco.html#intersection --><a name="index-union-1"></a>
+<a name="index-intersection-1"></a>
+<a name="index-_002d_002dunn-1"></a>
+<a name="index-_002d_002dunion-1"></a>
+<a name="index-_002d_002dnsx"></a>
+<a name="index-_002d_002dintersection"></a>
+<p>As mentioned above, both ‘<samp>-v</samp>’ and ‘<samp>-g</samp>’ options may be
+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="DOCF28" href="#FOOT28"><sup>28</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. 
+Consider the following commands (which may be assumed to end with
+‘<samp>in.nc out.nc</samp>’):
+</p><div class="example">
+<pre class="example"># Intersection-mode subsetting (default)
+ncks -g  g1  -v v1 # Yes: /g1/v1, /g2/g1/v1. No: /v1, /g2/v1
+ncks -g /g1  -v v1 # Yes: /g1/v1, /g1/g2/v1. No: /v1, /g2/v1, /g2/g1/v1
+ncks -g  g1/ -v v1 # Yes: /g1/v1, /g2/g1/v1. No: /v1, /g2/v1, /g1/g2/v1
+ncks -v  g1/v1     # Yes: /g1/v1, /g2/g1/v1. No: /v1, /g2/v1, /g1/g2/v1
+ncks -g /g1/ -v v1 # Yes: /g1/v1. No: /g2/g1/v1, /v1, /g2/v1 ...
+ncks -v /g1/v1     # Yes: /g1/v1. No: /g2/g1/v1, /v1, /g2/v1 ...
+
+# Union-mode subsetting (invoke with --unn or --union)
+ncks -g  g1  -v v1 --unn # All variables in  g1 or progeny, or named v1
+ncks -g /g1  -v v1 --unn # All variables in /g1 or progeny, or named v1
+ncks -g  g1/ -v v1 --unn # All variables in  g1 or named v1
+ncks -g /g1/ -v v1 --unn # All variables in /g1 or named v1
+</pre></div>
+<p>The first command (‘<samp>-g g1 -v v1</samp>’) extracts the variable <samp>v1</samp>
+from any group named <samp>g1</samp> or descendent <samp>g1</samp>.
+The second command extracts <samp>v1</samp> from any root group
+named <samp>g1</samp> and any descendent groups as well.
+The third and fourth commands are equivalent ways of extracting
+<samp>v1</samp> only from the root group named <samp>g1</samp> (not its
+descendents). 
+The fifth and sixth commands are equivalent ways of extracting the 
+variable <samp>v1</samp> only from the root group named <samp>g1</samp>.
+Subsetting in union-mode (with ‘<samp>--unn</samp>’) causes all variables to be
+extracted which meet either one or both of the specifications of the 
+variable and group specifications.
+Union-mode subsetting is simply the logical “OR” of intersection-mode
+subsetting. 
+As discussed below, the group and variable specifications may be comma
+separated lists of regular expressions for added control over
+subsetting. 
+</p>
+<a name="index-memory-requirements-1"></a>
+<p>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
+important variables (see <a href="#Memory-Requirements">Memory Requirements</a>).
+</p><div class="example">
+<pre class="example">ncks          in.nc out.nc # Extract all groups and variables
+ncks -v scl   # Extract variable scl from all groups
+ncks -g g1    # Extract group g1 and descendents
+ncks -x -g g1 # Extract all groups except g1 and descendents
+ncks -g g2,g3 -v scl # Extract scl from groups g2 and g3
+</pre></div>
+<p>Overwriting and appending work as expected:
+</p><div class="example">
+<pre class="example"># Replace scl in group g2 in out.nc with scl from group g2 from in.nc
+ncks -A -g g2 -v scl in.nc out.nc
+</pre></div>
+
+<p>Due to its special capabilities, <code>ncap2</code> interprets the
+‘<samp>-v</samp>’ switch differently 
+(see <a href="#ncap2-netCDF-Arithmetic-Processor">ncap2 netCDF Arithmetic Processor</a>). 
+For <code>ncap2</code>, the ‘<samp>-v</samp>’ switch takes no arguments and
+indicates that <em>only</em> user-defined variables should be output. 
+<code>ncap2</code> neither accepts nor understands the <var>-x</var> and
+<var>-g</var> switches.
+</p>
+<a name="rx"></a> <!-- http://nco.sf.net/nco.html#rx -->
+<a name="wildcarding"></a> <!-- http://nco.sf.net/nco.html#wildcarding --><a name="index-extended-regular-expressions-1"></a>
+<a name="index-regular-expressions-2"></a>
+<a name="index-pattern-matching-1"></a>
+<a name="index-wildcards-1"></a>
+<a name="index-grep-_002dE"></a>
+<a name="index-egrep"></a>
+<a name="index-ncatted"></a>
+<a name="index-GNU-1"></a>
+<p>Regular expressions the syntax that <acronym>NCO</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>’
+from an input file by supplying the regular expression ‘<samp>^DST</samp>’ to
+the ‘<samp>-v</samp>’ switch, i.e., ‘<samp>-v '^DST'</samp>’. 
+The meta-characters used to express pattern matching operations are
+‘<samp>^$+?.*[]{}|</samp>’. 
+If the regular expression pattern matches <em>any</em> part of a variable 
+name then that variable is selected.
+This capability is also called <em>wildcarding</em>, and is very useful for 
+sub-setting large data files.
+</p>
+<p>Extended regular expressions are defined by the <acronym>POSIX</acronym>
+<code>grep -E</code> (aka <code>egrep</code>) command.  
+As of <acronym>NCO</acronym> 2.8.1 (August, 2003), variable name arguments
+to the ‘<samp>-v</samp>’ switch may contain <em>extended regular expressions</em>.
+As of <acronym>NCO</acronym> 3.9.6 (January, 2009), variable names arguments 
+to <code>ncatted</code> may contain <em>extended regular expressions</em>. 
+As of <acronym>NCO</acronym> 4.2.4 (November, 2012), group name arguments 
+to the ‘<samp>-g</samp>’ switch may contain <em>extended regular expressions</em>.
+</p>
+<a name="index-POSIX-1"></a>
+<a name="index-regex"></a>
+<p>Because of its wide availability, <acronym>NCO</acronym> uses the <acronym>POSIX</acronym>  
+regular expression library <code>regex</code>.  
+Regular expressions of arbitary complexity may be used.
+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: 
+<a name="index-_002e-_0028wildcard-character_0029"></a>
+<a name="index-_0024-_0028wildcard-character_0029"></a>
+<a name="index-_005e-_0028wildcard-character_0029"></a>
+<a name="index-_003f-_0028filename-expansion_0029"></a>
+<a name="index-_002a-_0028filename-expansion_0029"></a>
+</p><dl compact="compact">
+<dt>‘<samp>^</samp>’</dt>
+<dd><p>Matches the beginning of a string
+</p></dd>
+<dt>‘<samp>$</samp>’</dt>
+<dd><p>Matches the end of a string
+</p></dd>
+<dt>‘<samp>.</samp>’</dt>
+<dd><p>Matches any single character
+</p></dd>
+</dl>
+<p>The most useful repetition and combination operators are
+<a name="index-_003f-_0028wildcard-character_0029"></a>
+<a name="index-_002a-_0028wildcard-character_0029"></a>
+<a name="index-_002b-_0028wildcard-character_0029"></a>
+<a name="index-_007c-_0028wildcard-character_0029"></a>
+</p><dl compact="compact">
+<dt>‘<samp>?</samp>’</dt>
+<dd><p>The preceding regular expression is optional and matched at most once
+</p></dd>
+<dt>‘<samp>*</samp>’</dt>
+<dd><p>The preceding regular expression will be matched zero or more times
+</p></dd>
+<dt>‘<samp>+</samp>’</dt>
+<dd><p>The preceding regular expression will be matched one or more times
+</p></dd>
+<dt>‘<samp>|</samp>’</dt>
+<dd><p>The preceding regular expression will be joined to the following regular
+expression.
+The resulting regular expression matches any string matching either
+subexpression. 
+</p></dd>
+</dl>
+
+<p>To illustrate the use of these operators in extracting variables
+and groups, consider file <samp>in_grp.nc</samp> with groups
+<code>g0</code>–<code>g9</code>, and subgroups <code>s0</code>–<code>s9</code>, in each of
+those groups, and file <samp>in.nc</samp> with variables <code>Q</code>,
+<code>Q01</code>–<code>Q99</code>, <code>Q100</code>, <code>QAA</code>–<code>QZZ</code>,
+<code>Q_H2O</code>, <code>X_H2O</code>, <code>Q_CO2</code>, <code>X_CO2</code>.  
+</p><div class="example">
+<pre class="example">ncks -v '.+' in.nc               # All variables (default)
+ncks -v 'Q.?' in.nc              # Variables that contain Q
+ncks -v '^Q.?' in.nc             # Variables that start with Q
+ncks -v '^Q+.?.' in.nc           # Q, Q0--Q9, Q01--Q99, QAA--QZZ, etc.
+ncks -v '^Q..' in.nc             # Q01--Q99, QAA--QZZ, etc.
+ncks -v '^Q[0-9][0-9]' in.nc     # Q01--Q99, Q100
+ncks -v '^Q[[:digit:]]{2}' in.nc # Q01--Q99
+ncks -v 'H2O$' in.nc             # Q_H2O, X_H2O 
+ncks -v 'H2O$|CO2$' in.nc        # Q_H2O, X_H2O, Q_CO2, X_CO2 
+ncks -v '^Q[0-9][0-9]$' in.nc    # Q01--Q99
+ncks -v '^Q[0-6][0-9]|7[0-3]' in.nc # Q01--Q73, Q100
+ncks -v '(Q[0-6][0-9]|7[0-3])$' in.nc # Q01--Q73
+ncks -v '^[a-z]_[a-z]{3}$' in.nc # Q_H2O, X_H2O, Q_CO2, X_CO2
+ncks -g 'g.' in_grp.nc           # 10 Groups g0-g9
+ncks -g 's.' in_grp.nc       # 100 sub-groups g0/s0, g0/s1, ... g9/s9
+ncks -g 'g.' -v 'v.' in_grp.nc   # All variables 'v.' in groups 'g.'
+</pre></div>
+<p>Beware—two of the most frequently used repetition pattern matching
+operators, ‘<samp>*</samp>’ and ‘<samp>?</samp>’, are also valid pattern matching
+operators for filename expansion (globbing) at the shell-level.
+Confusingly, their meanings in extended regular expressions and in
+shell-level filename expansion are significantly different.
+In an extended regular expression, ‘<samp>*</samp>’ matches zero or more
+occurences of the preceding regular expression. 
+Thus ‘<samp>Q*</samp>’ selects all variables, and ‘<samp>Q+.*</samp>’ selects all
+variables containing ‘<samp>Q</samp>’ (the ‘<samp>+</samp>’ ensures the preceding item 
+matches at least once).
+To match zero or one occurence of the preceding regular expression,   
+use ‘<samp>?</samp>’.
+Documentation for the <acronym>UNIX</acronym> <code>egrep</code> command details the
+extended regular expressions which <acronym>NCO</acronym> supports.
+</p>
+<a name="globbing"></a> <!-- http://nco.sf.net/nco.html#globbing -->
+<a name="glb"></a> <!-- http://nco.sf.net/nco.html#glb --><a name="index-globbing-2"></a>
+<a name="index-shell-1"></a>
+<a name="index-bash"></a>
+<a name="index-csh"></a>
+<a name="index-quotes"></a>
+<p>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
+double quotes
+</p><div class="example">
+<pre class="example">ncra -v Q?? in.nc out.nc   # Error: Shell attempts to glob wildcards
+ncra -v '^Q+..' in.nc out.nc # Correct: NCO interprets wildcards
+ncra -v '^Q+..' in*.nc out.nc # Correct: NCO interprets, Shell globs 
+</pre></div>
+<p>The final example shows that commands may use a combination of variable
+wildcarding and shell filename expansion (globbing).
+For globbing, ‘<samp>*</samp>’ and ‘<samp>?</samp>’ <em>have nothing to do</em> with the 
+preceding regular expression!
+In shell-level filename expansion, ‘<samp>*</samp>’ matches any string,
+including the null string and ‘<samp>?</samp>’ matches any single character. 
+Documentation for <code>bash</code> and <code>csh</code> describe the rules of
+filename expansion (globbing).
+</p>
+<a name="crd"></a> <!-- http://nco.sf.net/nco.html#crd -->
+<a name="-C"></a> <!-- http://nco.sf.net/nco.html#-C -->
+<a name="-c"></a> <!-- http://nco.sf.net/nco.html#-c --><hr>
+<a name="Subsetting-Coordinate-Variables"></a>
+<div class="header">
+<p>
+Next: <a href="#Group-Path-Editing" accesskey="n" rel="next">Group Path Editing</a>, Previous: <a href="#Subsetting-Files" accesskey="p" rel="previous">Subsetting Files</a>, Up: <a href="#Common-features" accesskey="u" rel="up">Common features</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Subsetting-Coordinate-Variables-1"></a>
+<h3 class="section">3.12 Subsetting Coordinate Variables</h3>
+<a name="index-subsetting-1"></a>
+<a name="index-_002dC"></a>
+<a name="index-_002dc"></a>
+<a name="index-_002d_002dno_002dcoords"></a>
+<a name="index-_002d_002dno_002dcrd"></a>
+<a name="index-_002d_002dcoords"></a>
+<a name="index-_002d_002dcrd"></a>
+<table class="cartouche" border="1"><tr><td>
+<p>Availability: <code>ncap2</code>, <code>ncbo</code>, <code>nces</code>,
+<code>ncecat</code>, <code>ncflint</code>, <code>ncks</code>, <code>ncpdq</code>,
+<code>ncra</code>, <code>ncrcat</code>, <code>ncwa</code><br> 
+Short options: ‘<samp>-C</samp>’, ‘<samp>-c</samp>’<br>
+Long options: ‘<samp>--no-coords</samp>’, ‘<samp>--no-crd</samp>’, ‘<samp>--crd</samp>’, ‘<samp>--coords</samp>’<br>
+</p></td></tr></table>
+<p>By default, coordinates variables associated with any variable appearing
+in the <var>input-file</var> will be placed in the <var>output-file</var>, even
+if they are not explicitly specified, e.g., with the ‘<samp>-v</samp>’ switch.
+Thus variables with a latitude coordinate <code>lat</code> always carry the
+values of <code>lat</code> with them into the <var>output-file</var>.
+This feature can be disabled with ‘<samp>-C</samp>’, which causes <acronym>NCO</acronym>
+to not automatically add coordinates to the variables appearing in the
+<var>output-file</var>. 
+However, using ‘<samp>-C</samp>’ does not preclude the user from including some
+coordinates in the output files simply by explicitly selecting the
+coordinates with the <var>-v</var> option.
+The ‘<samp>-c</samp>’ option, on the other hand, is a shorthand way of
+automatically specifying that <em>all</em> 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.
+<a name="index-CF-conventions"></a>
+As of <acronym>NCO</acronym> version 3.9.6 (January, 2009) 
+both ‘<samp>-c</samp>’ and ‘<samp>-C</samp>’ honor the <acronym>CF</acronym> <code>coordinates</code>
+convention described in <a href="#CF-Conventions">CF Conventions</a>.
+As of <acronym>NCO</acronym> version 4.0.8 (April, 2011) 
+both ‘<samp>-c</samp>’ and ‘<samp>-C</samp>’ honor the <acronym>CF</acronym> <code>bounds</code>
+convention described in <a href="#CF-Conventions">CF Conventions</a>. 
+</p>
+<a name="gpe"></a> <!-- http://nco.sf.net/nco.html#gpe --><hr>
+<a name="Group-Path-Editing"></a>
+<div class="header">
+<p>
+Next: <a href="#C-and-Fortran-Index-Conventions" accesskey="n" rel="next">C and Fortran Index Conventions</a>, Previous: <a href="#Subsetting-Coordinate-Variables" accesskey="p" rel="previous">Subsetting Coordinate Variables</a>, Up: <a href="#Common-features" accesskey="u" rel="up">Common features</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Group-Path-Editing-1"></a>
+<h3 class="section">3.13 Group Path Editing</h3>
+<a name="index-_002dG-gpe_005fdsc"></a>
+<a name="index-_002d_002dgpe-gpe_005fdsc"></a>
+<table class="cartouche" border="1"><tr><td>
+<p>Options <code>-G <var>gpe_dsc</var></code><br>
+Availability: <code>ncbo</code>, <code>ncecat</code>, <code>nces</code>,
+<code>ncflint</code>, <code>ncks</code>, <code>ncpdq</code>, <code>ncra</code>,
+<code>ncrcat</code>, <code>ncwa</code><br>
+Short options: ‘<samp>-G</samp>’<br>
+Long options: ‘<samp>--gpe</samp>’<br>
+</p></td></tr></table>
+
+<p><em>Group Path Editing</em>, or <acronym>GPE</acronym>, allows the user to
+restructure (i.e., add, remove, and rename groups) in the output file 
+relative to the input file based on the instructions they provide.
+As of  <acronym>NCO</acronym> 4.2.3 (November, 2012), all operators that accept  
+netCDF4 files with groups accept the ‘<samp>-G</samp>’ switch, or its
+long-option equivalent ‘<samp>--gpe</samp>’.
+To master <acronym>GPE</acronym> one must understand the meaning of the
+required <var>gpe_dsc</var> structure/argument that specifies the
+transformation of input-to-output group paths.
+</p>
+<p>Each <var>gpe_dsc</var> contains up to three elements (two are optional) in
+the following order:<br>   
+<var>gpe_dsc</var> = <var>grp_pth</var>:<var>lvl_nbr</var> or <var>grp_pth</var>@<var>lvl_nbr</var>
+</p>
+<dl compact="compact">
+<dt><var>grp_pth</var></dt>
+<dd><p>Group Path.
+<a name="index-group-path"></a>
+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.
+</p></dd>
+<dt><var>lvl_nbr</var></dt>
+<dd><p>The number of levels to delete (from the head) or truncate (from the
+tail) of the input path.
+</p></dd>
+</dl>
+<p>If both components of the argument are present, then a single character,
+either the colon or at-sign (<code>:</code> or <code>@</code>), must separate them.
+If only <var>grp_pth</var> is specifed, the separator character may be
+omitted, e.g., ‘<samp>-G g1</samp>’.
+If only <var>lvl_nbr</var> is specifed, the separator character is still
+required to indicate it is a <var>lvl_nbr</var> arugment and not a
+<var>grp_pth</var>, e.g., ‘<samp>-G :-1</samp>’ or ‘<samp>-G @1</samp>’.
+</p>
+<p>If the at-sign separator character <code>@</code> is used instead of the colon
+separator character <code>:</code>, then the following <var>lvl_nbr</var> arugment 
+must be positive and it will be assumed to refer to Truncation-Mode.
+Hence, ‘<samp>-G :-1</samp>’ is the same as ‘<samp>-G @1</samp>’. 
+This is simply a way of making the <var>lvl_nbr</var> argument
+positive-definite. 
+</p>
+<a name="flatten"></a> <!-- http://nco.sf.net/nco.html#flatten -->
+<a name="delete"></a> <!-- http://nco.sf.net/nco.html#delete -->
+<a name="truncate"></a> <!-- http://nco.sf.net/nco.html#truncate --><a name="index-_0040-_0028separator-character_0029"></a>
+<a name="index-_003a-_0028separator-character_0029"></a>
+<a name="index-delete-_0028groups_0029"></a>
+<a name="index-truncate-_0028groups_0029"></a>
+<a name="index-flatten-_0028groups_0029"></a>
+<p><acronym>GPE</acronym> has three editing modes: Delete, Truncate, and
+Flatten.
+Select one of <acronym>GPE</acronym>’s three editing modes by supplying a
+<var>lvl_nbr</var> that is positive, negative, or zero for Delete-, 
+Truncate- and Flatten-mode, respectively. 
+</p>
+<p>In Delete-mode, <var>lvl_nbr</var> is a positive integer which specifies
+the maximum number of group path components (i.e., groups) that
+<acronym>GPE</acronym> will try to delete from the head of <var>grp_pth</var>. 
+For example <em><var>lvl_nbr</var> = 3</em> changes the input path
+<samp>/g1/g2/g3/g4/g5</samp> to the output path <samp>/g4/g5</samp>.
+Input paths with <var>lvl_nbr</var> or fewer components (groups)
+are completely erased and the output path commences from the root  
+level. 
+</p>
+<p>In other words, <acronym>GPE</acronym> is tolerant of specifying too many group
+components to delete. 
+It deletes as many as possible, without complaint, and then begins to
+flatten the file (which will fail if namespace conflicts arise).
+</p>
+<p>In Truncate-mode, <var>lvl_nbr</var> is a negative integer which specifies
+the maximum number of group path components (i.e., groups) that
+<acronym>GPE</acronym> will try to truncate from the tail of <var>grp_pth</var>. 
+For example <em><var>lvl_nbr</var> = -3</em> changes the input path
+<samp>/g1/g2/g3/g4/g5</samp> to the output path <samp>/g1/g2</samp>.
+Input paths with <var>lvl_nbr</var> or fewer components (groups)
+are completely erased and the output path commences from the root  
+level. 
+</p>
+<p>In Flatten-mode, indicated by the separator character alone
+or with <em><var>lvl_nbr</var> = 0</em>, <acronym>GPE</acronym> removes the entire group
+path from the input file and constructs the output path beginning at the
+root level.  
+For example <code>-G :0</code> and <code>-G :</code> are identical and change the
+input path <samp>/g1/g2/g3/g4/g5</samp> to the output path <samp>/</samp> whereas
+<code>-G g1:0</code> and <code>-G g1:</code> are identical and result in the output 
+path <samp>/g1</samp> for all variables.
+</p>
+<p>Subsequent to the alteration of the input path by the specified
+editing mode, if any, <acronym>GPE</acronym> prepends (in Delete Mode)
+or Appends (in Truncate-mode) any specifed <var>grp_pth</var> to the output
+path. 
+For example <code>-G g2</code> changes the input paths <samp>/</samp> and <samp>/g1</samp>
+to <samp>/g2</samp> and <samp>/g1/g2</samp>, respectively.
+Likewise, <code>-G g2/g3</code> changes the input paths <samp>/</samp> and <samp>/g1</samp>
+to <samp>/g2/g3</samp> and <samp>/g1/g2/g3</samp>, respectively.
+When <var>grp_pth</var> and <var>lvl_nbr</var> are both specified, the editing
+actions are taken in sequence so that, e.g., <code>-G g1/g2:2</code> 
+changes the input paths <samp>/</samp> and <samp>/h1/h2/h3/h4</samp>
+to <samp>/g1/g2</samp> and <samp>/g1/g2/h3/h4</samp>, respectively.
+Likewise, <code>-G g1/g2:-2</code> changes the input paths <samp>/</samp> and
+<samp>/h1/h2/h3/h4</samp> to <samp>/g1/g2</samp> and <samp>/h1/h2/g1/g2</samp>,
+respectively. 
+</p>
+<p>Combining <acronym>GPE</acronym> with subsetting (see <a href="#Subsetting-Files">Subsetting Files</a>) 
+yields powerful control over the extracted (or excluded) variables and
+groups and their placement in the output file as shown by the following
+commands. 
+All commands below may be assumed to end with ‘<samp>in.nc out.nc</samp>’.
+</p><div class="example">
+<pre class="example"># Prepending paths without editing:
+ncks                   # /g?/v? -> /g?/v?
+ncks             -v v1 # /g?/v1 -> /g?/v1
+ncks       -g g1       # /g1/v? -> /g1/v?
+ncks -G o1             # /g?/v? -> /o1/g?/v?
+ncks -G o1 -g g1       # /g1/v? -> /o1/g1/v?
+ncks       -g g1 -v v1 # /g1/v1 -> /g1/v1
+ncks -G o1       -v v1 # /g?/v1 -> /o1/g?/v1
+ncks -G o1 -g g1 -v v1 # /g1/v1 -> /o1/g1/v1
+ncks -G g1 -g /  -v v1 # /v1    -> /g1/v1
+ncks -G g1/g2    -v v1 # /g?/v1 -> /g1/g2/g?/v1
+# Delete-mode: Delete from and Prepend to path head
+# Syntax: -G [ppn]:lvl_nbr = # of levels to delete
+ncks -G :1    -g g1    -v v1 # /g1/v1    -> /v1
+ncks -G :1    -g g1/g1 -v v1 # /g1/g1/v1 -> /g1/v1
+ncks -G :2    -g g1/g1 -v v1 # /g1/g1/v1 -> /v1
+ncks -G :2    -g g1    -v v1 # /g1/v1    -> /v1
+ncks -G g2:1  -g g1    -v v1 # /g1/v1    -> /g2/v1
+ncks -G g2:2  -g g1/g1 -v v1 # /g1/g1/v1 -> /g2/v1
+ncks -G g2:1  -g /     -v v1 # /v1       -> /g2/v1
+ncks -G g2:1           -v v1 # /v1       -> /g2/v1
+ncks -G g2:1  -g g1/g1 -v v1 # /g1/g1/v1 -> /g2/g1/v1
+# Flatten-mode: Remove all input path components
+# Syntax: -G [apn]: colon without numerical argument
+ncks -G :            -v v1 # /g?/v1    -> /v1
+ncks -G :   -g g1    -v v1 # /g1/v1    -> /v1
+ncks -G :   -g g1/g1 -v v1 # /g1/g1/v1 -> /v1
+ncks -G g2:          -v v1 # /g?/v1    -> /g2/v1
+ncks -G g2:                # /g?/v?    -> /g2/v?
+ncks -G g2: -g g1/g1 -v v1 # /g1/g1/v1 -> /g2/v1
+# Truncate-mode: Truncate from and Append to path tail
+# Syntax: -G [apn]:-lvl_nbr = # of levels to truncate
+# NB: -G [apn]:-lvl_nbr is equivalent to -G [apn]@lvl_nbr
+ncks -G :-1   -g g1    -v v1 # /g1/v1    -> /v1
+ncks -G :-1   -g g1/g2 -v v1 # /g1/g2/v1 -> /g1/v1
+ncks -G :-2   -g g1/g2 -v v1 # /g1/g2/v1 -> /v1
+ncks -G :-2   -g g1    -v v1 # /g1/v1    -> /v1
+ncks -G g2:-1          -v v1 # /g?/v1    -> /g2/v1
+ncks -G g2:-1 -g g1    -v v1 # /g1/v1    -> /g2/v1
+ncks -G g1:-1 -g g1/g2 -v v1 # /g1/g2/v1 -> /g1/g1/v1
+</pre></div>
+
+<a name="mv"></a> <!-- http://nco.sf.net/nco.html#mv -->
+<a name="move"></a> <!-- http://nco.sf.net/nco.html#move --><a name="index-move-groups"></a>
+<a name="index-groups_002c-moving"></a>
+<a name="index-rename-groups"></a>
+<a name="index-groups_002c-renaming"></a>
+<p>Until fall 2013 (netCDF version 4.3.1-pre1), netCDF contained no library
+function for renaming groups, and therefore <code>ncrename</code> cannot
+rename groups.
+However, <acronym>NCO</acronym> built on earlier versions of netCDF than 4.3.1
+can use a <acronym>GPE</acronym>-based workaround mechanism to “rename”
+groups. 
+The <acronym>GPE</acronym> mechanism actually <em>moves</em> (i.e., copies to a new
+location) groups, a more arduous procedure than simply renaming them.
+<acronym>GPE</acronym> applies to all selected groups, so, in the general case,
+one must move only the desired group to a new file, and then merge that
+new file with the original to obtain a file where the desired group has
+been “renamed” and all else is unchanged.
+Here is how to “rename” group <samp>/g4</samp> to group <samp>/f4</samp> with
+<acronym>GPE</acronym> instead of <code>ncrename</code>
+</p><div class="example">
+<pre class="example">ncks -O -G f4:1 -g g4 ~/nco/data/in_grp.nc ~/tmp.nc # Move /g4 to /f4
+ncks -O -x -g g4 ~/nco/data/in_grp.nc ~/out.nc # Excise /g4
+ncks -A ~/tmp.nc ~/out.nc # Add /f4 to new file
+</pre></div>
+<p>If the original group <samp>g4</samp> is not excised from <samp>out.nc</samp> (step
+two above), then the final output file would contain both <samp>g4</samp> and
+a copy named <samp>f4</samp>.
+Thus GPE can be used to both “rename” and copy groups.
+The recommended way to rename groups when when netCDF version 4.3.1 is
+availale is to use <code>ncrename</code> (see <a href="#ncrename-netCDF-Renamer">ncrename netCDF Renamer</a>).
+</p>
+<a name="xmp_flt"></a> <!-- http://nco.sf.net/nco.html#xmp_flt --><p>One may wish to flatten hierarchical group files for many reasons.
+These include 1. Obtaining<!-- /@w --> flat netCDF3 files for use with tools
+that do not work with netCDF4 files, 2. Splitting<!-- /@w --> apart
+hierarchies to re-assemble into different hierarchies, and
+3. Providing<!-- /@w --> a subset of a hierarchical file with the simplest
+possible storage structure.
+</p><div class="example">
+<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="DOCF29" href="#FOOT29"><sup>29</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
+all other groups (e.g., <code>ecmwf</code>, <code>giss</code>).
+</p>
+<a name="dismember"></a> <!-- http://nco.sf.net/nco.html#dismember -->
+<a name="disaggregate"></a> <!-- http://nco.sf.net/nco.html#disaggregate -->
+<a name="ncdismember"></a> <!-- http://nco.sf.net/nco.html#ncdismember --><a name="index-disaggregate"></a>
+<a name="index-dismember"></a>
+<a name="index-ncdismember"></a>
+<p>Let us show how to completely disaggregate (or, more memorably)
+<em>dismember</em> a hierarchical dataset.
+For now we take this to mean: store each group as a standalone flat
+dataset in netCDF3 format.
+This can be accomplished by looping the previous example over all
+groups. 
+This script <samp>ncdismember</samp> dismembers the input file <var>fl_in</var>
+specified in the first argument and places the resulting files in the
+directory <var>drc_out</var> specified by the second argument:
+</p><div class="example">
+<pre class="verbatim">cat > ~/ncdismember << 'EOF'
+# Purpose: Dismember netCDF4/HDF5 hierarchical files. CF-check them.
+# Place each input file group in separate netCDF3 output file
+# Described in NCO User Guide at http://nco.sf.net/nco.html#dismember
+# Requirements: NCO 4.3.x+, UNIX shell utilities awk, grep, sed
+# Optional: CFchecker command https://bitbucket.org/mde_/cfchecker
+
+# Usage:
+# ncdismember <fl_in> <drc_out> [flg_cf] [cf_vrs] [opt]
+# where fl_in is input file/URL to dismember, drc_out is output directory,
+# CF-compliance check is performed when optional third argument is 'cf',
+# Optional fourth argument cf_vrs is CF version to check
+# Optional fifth argument opt passes straight through to ncks
+# chmod a+x ~/sh/ncdismember
+# ncdismember ~/nco/data/mdl.nc /data/zender/nco/tmp
+# ncdismember ~/nco/data/mdl.nc /data/zender/nco/tmp
+# ncdismember http://dust.ess.uci.edu/nco/mdl.nc /data/zender/nco/tmp
+# ncdismember http://thredds-test.ucar.edu/thredds/dodsC/testdods/foo.nc /data/zender/nco/tmp
+# ncdismember ~/nco/data/mdl.nc /data/zender/nco/tmp cf
+# ncdismember ~/nco/data/mdl.nc /data/zender/nco/tmp cf 1.3
+# ncdismember ~/nco/data/mdl.nc /data/zender/nco/tmp cf 1.5 --fix_rec_dmn=all
+
+# Command line argument defaults
+fl_in="${HOME}/nco/data/mdl.nc" # [sng] Input file to dismember/check
+drc_out="${DATA}/nco/tmp" # [sng] Output directory
+flg_cf='0' # [flg] Perform CF-compliance check
+cf_vrs='1.5' # [sng] Compliance-check this CF version (e.g., '1.5')
+opt='' # [flg] Additional ncks options (e.g., '--fix_rec_dmn=all')
+
+# Command line argument option parsing
+if [ -n "${1}" ]; then fl_in=${1}; fi
+if [ -n "${2}" ]; then drc_out=${2}; fi
+if [ -n "${3}" ]; then flg_cf=${3}; fi
+if [ -n "${4}" ]; then cf_vrs=${4}; fi
+if [ -n "${5}" ]; then opt=${5}; fi
+
+# Prepare output directory
+echo "NCO dismembering file ${fl_in}"
+fl_stb=$(basename ${fl_in})
+drc_out=${drc_out}/${fl_stb}
+mkdir -p ${drc_out}
+cd ${drc_out}
+# Obtain group list
+grp_lst=`ncks --cdl -m ${fl_in} | grep '// group' | awk '{$1=$2=$3="";sub(/^  */,"",$0);print}'`
+IFS=$'\n' # Change Internal-Field-Separator from <Space><Tab><Newline> to <Newline>
+for grp_in in ${grp_lst} ; do
+    # Replace slashes by dots for output group filenames
+    grp_out=`echo ${grp_in} | sed 's/\///' | sed 's/\//./g'`
+    if [ "${grp_out}" = '' ]; then grp_out='root' ; fi
+    # Tell older NCO/netCDF if HDF4 with --hdf4 switch (signified by .hdf/.HDF suffix)
+    hdf4=`echo ${fl_in} | awk '{if(match(tolower($1),".hdf$")) hdf4="--hdf4"; print hdf4}'`
+    # Flatten to netCDF3, anchor, no history, no temporary file, padding, HDF4 flag, options
+    ncks -O -3 -G : -g ${grp_in}/ -h --no_tmp_fl --hdr_pad=40 ${hdf4} ${opt} ${fl_in} ${drc_out}/${grp_out}.nc
+    if [ ${flg_cf} = 'cf' ]; then
+       # cfchecker needs Conventions <= 1.5
+       ncatted -h -a Conventions,global,o,c,"CF-${cf_vrs}" ${drc_out}/${grp_out}.nc
+    else # !flg_cf
+       echo ${drc_out}/${grp_out}.nc
+    fi # !flg_cf
+done
+if [ ${flg_cf} = 'cf' ]; then
+    echo "CFchecker reports CF-compliance of each group in flat netCDF3 format"
+    cfchecker -c ${cf_vrs} *.nc
+fi # !flg_cf
+EOF
+chmod 755 ~/ncdismember # Make command executable
+/bin/mv -f ~/ncdismember ~/sh # Store in location on $PATH, e.g., /usr/local/bin
+
+zender at roulee:~$ ncdismember ~/nco/data/mdl.nc ${DATA}/nco/tmp
+NCO dismembering file /home/zender/nco/data/mdl.nc
+/data/zender/nco/tmp/mdl.nc/cesm.cesm_01.nc
+/data/zender/nco/tmp/mdl.nc/cesm.cesm_02.nc
+/data/zender/nco/tmp/mdl.nc/cesm.nc
+/data/zender/nco/tmp/mdl.nc/ecmwf.ecmwf_01.nc
+/data/zender/nco/tmp/mdl.nc/ecmwf.ecmwf_02.nc
+/data/zender/nco/tmp/mdl.nc/ecmwf.nc
+/data/zender/nco/tmp/mdl.nc/root.nc
+</pre></div>
+<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.
+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
+groups, including the global metadata from the input file.
+As written, the script could fail on groups that contain advanced
+netCDF4 features because the user requests (with the ‘<samp>-3</samp>’ switch)
+that output be netCDF3 classic format.  
+However, <code>ncks</code> detects many format incompatibilities in advance
+and works around them.
+For example, <code>ncks</code> autoconverts netCDF4-only atomic-types (such
+as <code>NC_STRING</code> and <code>NC_UBYTE</code>) to corresponding netCDF3
+atomic types (<code>NC_CHAR</code> and <code>NC_SHORT</code>) when the output format
+is netCDF3. 
+</p>
+<a name="index-CF-compliance-checker"></a>
+<a name="index-cfchecker"></a>
+<a name="index-ncdismember-1"></a>
+<a name="index-compliance-checker"></a>
+<a name="index-Martin-Schultz"></a>
+<a name="index-Michael-Decker"></a>
+<p>One application of dismembering is to check the <acronym>CF</acronym>-compliance of each 
+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="DOCF30" href="#FOOT30"><sup>30</sup></a> 
+<code>cfchecker</code> command.
+</p><div class="example">
+<pre class="verbatim">zender at roulee:~$ ncdismember ~/nco/data/mdl.nc /data/zender/nco/tmp cf
+NCO dismembering file /home/zender/nco/data/mdl.nc
+CFchecker reports CF-compliance of each group in flat netCDF3 format
+WARNING: Using the default (non-CF) Udunits database
+cesm.cesm_01.nc: 
+INFO: INIT:     running CFchecker version 1.5.15
+INFO: INIT:     checking compliance with convention CF-1.5
+INFO: INIT:     using standard name table version: 25, last modified: 2013-07-05T05:40:30Z
+INFO: INIT:     using area type table version: 2, date: 10 July 2013
+INFO: 2.4:      no axis information found in dimension variables, not checking dimension order
+WARNING: 3:     variable "tas1" contains neither long_name nor standard_name attribute
+WARNING: 3:     variable "tas2" contains neither long_name nor standard_name attribute
+INFO: 3.1:      variable "tas1" does not contain units attribute
+INFO: 3.1:      variable "tas2" does not contain units attribute
+--------------------------------------------------
+cesm.cesm_02.nc: 
+...
+</pre></div>
+<p>By default the <acronym>CF</acronym> version checked is determined automatically by
+<code>cfchecker</code>. 
+The user can override this default by supplying a supported <acronym>CF</acronym> version,
+e.g., ‘<samp>1.3</samp>’, as an optional fourth argument to
+<code>ncdismember</code>. 
+Current valid <acronym>CF</acronym> options are ‘<samp>1.0</samp>’, ‘<samp>1.1</samp>’,
+‘<samp>1.2</samp>’, ‘<samp>1.3</samp>’, ‘<samp>1.4</samp>’, and ‘<samp>1.5</samp>’. 
+</p>
+<a name="diwg"></a> <!-- http://nco.sf.net/nco.html#diwg --><p>Our development and testing of <code>ncdismember</code> is funded by our
+involvement in <acronym>NASA</acronym>’s Dataset Interoperability Working Group 
+(<a href="https://wiki.earthdata.nasa.gov/display/ESDSWG/Dataset+Interoperability+Working+Group">DIWG</a>), though our interest extends beyond <acronym>NASA</acronym> datasets.
+Taken together, <acronym>NCO</acronym>’s features (autoconversion to netCDF3  
+atomic types, fixing multiple record dimensions, autosensing
+<acronym>HDF4</acronym> input, scoping rules for CF conventions) make 
+<code>ncdismember</code> reliable and friendly for both dismembering 
+hierarchical files and for <acronym>CF</acronym>-compliance checks. 
+Most <acronym>HDF4</acronym> and <acronym>HDF5</acronym> datasets can be checked for 
+<acronym>CF</acronym>-compliance with a one-line command. 
+Example compliance checks of common <acronym>NASA</acronym> datasets are at
+<a href="http://dust.ess.uci.edu/diwg">http://dust.ess.uci.edu/diwg</a>.
+Our long-term goal is to enrich the hierarchical data model with the 
+expressivity and syntactic power of <acronym>CF</acronym> conventions.
+</p>
+<p><acronym>NASA</acronym> asked the <acronym>DIWG</acronym> to prepare a one-page summary
+of the procedure necessary to check <acronym>HDF</acronym> files for
+<acronym>CF</acronym>-compliance: 
+</p><div class="example">
+<pre class="verbatim">cat > ~/ncdismember.txt << 'EOF'
+    Preparing an RPM-based OS to Test Hierarchical Files for CF-Compliance
+
+By Charlie Zender, UCI & NASA Dataset Interoperability Working Group (DIWG)
+
+Installation Summary:
+1. HDF4 [with netCDF support _disabled_]
+2. HDF5
+3. netCDF version 4.3.1 (or later) [with HDF4 support _enabled_]
+4. NCO version 4.4.0 (or later)
+5. numpy
+6. netcdf4-python
+7. python-lxml
+8. CFunits-python
+9. CFChecker
+10. ncdismember
+
+All 10 packages can use default installs _except_ HDF4 and netCDF.
+Following instructions for Fedora Core 20 (FC20), an RPM-based Linux OS
+Feedback and changes for other Linux-based OS's welcome to zender at uci.edu
+${H4DIR}, ${H5DIR}, ${NETCDFDIR}, ${NCODIR}, may all be different
+For simplicity CZ sets them all to /usr/local
+
+# 1. HDF4. Build in non-default manner. Turn-off its own netCDF support.
+# Per http://www.unidata.ucar.edu/software/netcdf/docs/build_hdf4.html
+# HDF4 support not necessary though it makes ncdismember more comprehensive
+wget -c http://www.hdfgroup.org/ftp/HDF/HDF_Current/src/hdf-4.2.9.tar.gz
+tar xvzf hdf-4.2.9.tar.gz
+cd hdf-4.2.9
+./configure --enable-shared --disable-netcdf --disable-fortran --prefix=${H4DIR}
+make && make check && make install
+
+# 2. HDF5. Build normally. RPM may work too. Please let me know if so.
+# HDF5 is a necessary pre-requisite for netCDF4
+wget -c ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4/hdf5-1.8.11.tar.gz
+tar xvzf hdf5-1.8.11.tar.gz
+cd hdf5-1.8.11
+./configure --enable-shared --prefix=${H5DIR}
+make && make check && make install
+
+# 3. netCDF version 4.3.1. Build in non-default manner with HDF4. No RPM.
+# Per http://www.unidata.ucar.edu/software/netcdf/docs/build_hdf4.html
+# Earlier versions of netCDF may fail checking some HDF4 files
+wget -c ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4.3.1.tar.gz
+tar xvzf netcdf-4.3.1.tar.gz
+cd netcdf-4.3.1
+CPPFLAGS="-I${H5DIR}/include -I${H4DIR}/include" \
+LDFLAGS="-L${H5DIR}/lib -L${H4DIR}/lib" \
+./configure --enable-hdf4 --enable-hdf4-file-tests
+make && make check && make installas
+
+# 4. NCO version 4.4.2. No RPM for this version. Must install by hand.
+# Earlier versions of NCO are relatively useless for ncdismember
+cd ${DATA}/tmp
+wget http://nco.sourceforge.net/src/nco-4.4.2.tar.gz .
+tar xvzf nco-4.4.2.tar.gz
+cd nco-4.4.2
+./configure --prefix=${NCODIR}
+make && make install
+
+# 5. numpy
+sudo yum install numpy -y
+
+# 6. netcdf4-python
+sudo yum install netcdf4-python -y
+
+# 7. python-lxml
+sudo yum install python-lxml -y
+
+# 8. CFunits-python. No RPM available. Must install by hand.
+# http://code.google.com/p/cfunits-python/
+cd ${DATA}/tmp
+wget http://cfunits-python.googlecode.com/files/cfunits-0.9.6.tar.gz .
+cd cfunits-0.9.6
+sudo python setup.py install
+
+# 9. CFChecker. No RPM available. Must install by hand.
+# https://bitbucket.org/mde_/cfchecker
+cd ${DATA}/tmp
+wget https://bitbucket.org/mde_/cfchecker/downloads/CFchecker-1.5.15.tar.bz2 . 
+tar xvjf CFchecker-1.5.15.tar.bz2 
+cd CFchecker
+sudo python setup.py install
+
+# 10. ncdismember. Copy script from http://nco.sf.net/nco.html#ncdismember
+# Store dismembered files somewhere, e.g., ${DATA}/nco/tmp/hdf
+mkdir -p ${DATA}/nco/tmp/hdf
+# Many datasets work with a simpler command...
+ncdismember ~/nco/data/in.nc ${DATA}/nco/tmp/hdf cf 1.5
+ncdismember ~/nco/data/mdl.nc ${DATA}/nco/tmp/hdf cf 1.5
+ncdismember ${DATA}/hdf/AMSR_E_L2_Rain_V10_200905312326_A.hdf \
+            ${DATA}/nco/tmp/hdf cf 1.5
+ncdismember ${DATA}/hdf/BUV-Nimbus04_L3zm_v01-00-2012m0203t144121.h5 \
+            ${DATA}/nco/tmp/hdf cf 1.5
+ncdismember ${DATA}/hdf/HIRDLS-Aura_L3ZAD_v06-00-00-c02_2005d022-2008d077.he5 ${DATA}/nco/tmp/hdf cf 1.5
+# Some datasets, typically .h5, require the --fix_rec_dmn=all argument
+ncdismember_${DATA}/hdf/GATMO_npp_d20100906_t1935191_e1935505_b00012_c20110707155932065809_noaa_ops.h5 ${DATA}/nco/tmp/hdf cf 1.5 --fix_rec_dmn=all
+ncdismember ${DATA}/hdf/mabel_l2_20130927t201800_008_1.h5 \
+            ${DATA}/nco/tmp/hdf cf 1.5 --fix_rec_dmn=all
+EOF
+</pre></div>
+<p>A <acronym>PDF</acronym> version of these instructions is available
+<a href="http://dust.ess.uci.edu/diwg/ncdismember.pdf">here</a>.
+</p>
+<a name="ftn"></a> <!-- http://nco.sf.net/nco.html#ftn -->
+<a name="-F"></a> <!-- http://nco.sf.net/nco.html#-F --><hr>
+<a name="C-and-Fortran-Index-Conventions"></a>
+<div class="header">
+<p>
+Next: <a href="#Hyperslabs" accesskey="n" rel="next">Hyperslabs</a>, Previous: <a href="#Group-Path-Editing" accesskey="p" rel="previous">Group Path Editing</a>, Up: <a href="#Common-features" accesskey="u" rel="up">Common features</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="C-and-Fortran-Index-conventions"></a>
+<h3 class="section">3.14 C and Fortran Index conventions</h3>
+<a name="index-index-convention"></a>
+<a name="index-Fortran-index-convention"></a>
+<a name="index-C-index-convention"></a>
+<a name="index-_002dF"></a>
+<a name="index-_002d_002dfortran"></a>
+<table class="cartouche" border="1"><tr><td>
+<p>Availability: <code>ncbo</code>, <code>nces</code>, <code>ncecat</code>,
+<code>ncflint</code>, <code>ncks</code>, <code>ncpdq</code>, <code>ncra</code>,
+<code>ncrcat</code>, <code>ncwa</code><br> 
+Short options: ‘<samp>-F</samp>’<br>
+Long options: ‘<samp>--fortran</samp>’<br>
+</p></td></tr></table>
+<a name="index-I_002fO-1"></a>
+<p>The ‘<samp>-F</samp>’ switch changes <acronym>NCO</acronym> to read and write with
+the Fortran index convention. 
+By default, <acronym>NCO</acronym> uses C-style (0-based) indices for all I/O. 
+In C<!-- /@w -->, indices count from 0<!-- /@w --> (rather than 1<!-- /@w -->), and
+dimensions are ordered from slowest (inner-most) to fastest
+(outer-most) varying.
+In Fortran, indices count from 1<!-- /@w --> (rather than 0<!-- /@w -->), and
+dimensions are ordered from fastest (inner-most) to slowest 
+(outer-most) varying.  
+<a name="index-transpose"></a>
+Hence C and<!-- /@w --> Fortran data storage conventions represent mathematical
+transposes of eachother.
+<a name="index-record-variable"></a>
+Note that record variables contain the record dimension as the most
+slowly varying dimension.  
+See <a href="#ncpdq-netCDF-Permute-Dimensions-Quickly">ncpdq netCDF Permute Dimensions Quickly</a> for techniques
+to re-order (including transpose) dimensions and to reverse data
+storage order.
+</p>
+<a name="index-record-dimension-1"></a>
+<p>Consider a file <samp>85.nc</samp> containing 12 months<!-- /@w --> of data in the
+record dimension <code>time</code>.
+The following hyperslab operations produce identical results, a
+June-July-August average of the data:
+</p><div class="example">
+<pre class="example">ncra -d time,5,7 85.nc 85_JJA.nc
+ncra -F -d time,6,8 85.nc 85_JJA.nc
+</pre></div>
+
+<p>Printing variable <var>three_dmn_var</var> in file <samp>in.nc</samp> first with
+the C indexing<!-- /@w --> convention, then with Fortran indexing convention
+results in the following output formats: 
+</p><div class="example">
+<pre class="example">% ncks -v three_dmn_var in.nc
+lat[0]=-90 lev[0]=1000 lon[0]=-180 three_dmn_var[0]=0 
+...
+% ncks -F -v three_dmn_var in.nc
+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="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>
+<a name="Hyperslabs"></a>
+<div class="header">
+<p>
+Next: <a href="#Stride" accesskey="n" rel="next">Stride</a>, Previous: <a href="#C-and-Fortran-Index-Conventions" accesskey="p" rel="previous">C and Fortran Index Conventions</a>, Up: <a href="#Common-features" accesskey="u" rel="up">Common features</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Hyperslabs-1"></a>
+<h3 class="section">3.15 Hyperslabs</h3>
+<a name="index-hyperslab"></a>
+<a name="index-dimension-limits"></a>
+<a name="index-coordinate-limits"></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>
+<table class="cartouche" border="1"><tr><td>
+<p>Availability: <code>ncbo</code>, <code>nces</code>, <code>ncecat</code>,
+<code>ncflint</code>, <code>ncks</code>, <code>ncpdq</code>, <code>ncra</code>,
+<code>ncrcat</code>, <code>ncwa</code><br> 
+Short options: ‘<samp>-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</samp>’<br>
+Long options: 
+‘<samp>--dimension <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</samp>’,<br> 
+‘<samp>--dmn <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</samp>’<br>
+</p></td></tr></table>
+<p>A <em>hyperslab</em><!-- /@w --> is a subset of a variable’s data.
+The coordinates of a hyperslab are specified with the 
+<code>-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</code> short
+option (or with the same arguments to the ‘<samp>--dimension</samp>’ or
+‘<samp>--dmn</samp>’ long options).   
+At least one hyperslab argument (<var>min</var>, <var>max</var>, or <var>stride</var>)
+must be present. 
+The bounds of the hyperslab to be extracted are specified by the
+associated <var>min</var> and <var>max</var> values. 
+A half<!-- /@w -->-open range is specified by omitting either the <var>min</var> or
+<var>max</var> parameter.
+The separating comma must be present to indicate the omission of one of
+these arguments.
+The unspecified limit is interpreted as the maximum or minimum value in 
+the unspecified direction.  
+A cross<!-- /@w -->-section at a specific coordinate is extracted by specifying only
+the <var>min</var> 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). 
+</p><div class="example">
+<pre class="example"># First and second indices of lon dimension
+ncks -F -d lon,1,2 in.nc out.nc
+# Second and third indices of lon dimension
+ncks -d lon,1,2 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
+using integer notation without a decimal point. 
+This convention serves only to differentiate coordinate values from
+dimension indices.
+It is independent of the type of any netCDF coordinate variables.
+For a given dimension, the specified limits must both be coordinate
+values (with decimal points) or dimension indices (no decimal points).
+</p>
+<p>If values of a coordinate-variable are used to specify a range or
+cross-section, then the coordinate variable must be monotonic (values
+either increasing or decreasing). 
+In this case, command-line values need not exactly match coordinate
+values for the specified dimension. 
+Ranges are determined by seeking the first coordinate value to occur in
+the closed range [<var>min</var>,<var>max</var>] and including all subsequent
+values until one falls outside the range. 
+The coordinate value for a cross-section is the coordinate-variable
+value closest to the specified value and must lie within the range or
+coordinate-variable values. 
+The <var>stride</var> argument, if any, must be a dimension index, not a
+coordinate value.
+See <a href="#Stride">Stride</a>, for more information on the <var>stride</var> option.
+</p><div class="example">
+<pre class="example"># All longitude values between 1 and 2 degrees
+ncks -d lon,1.0,2.0 in.nc out.nc
+# All longitude values between 1 and 2 degrees
+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.
+</p>
+<a name="index-NC_005fCHAR"></a>
+<p>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. 
+</p>
+<a name="index-wrapped-coordinates"></a>
+<p>The relative magnitude of <var>min</var> and <var>max</var> indicate to the
+operator whether to expect a <em>wrapped coordinate</em>
+(see <a href="#Wrapped-Coordinates">Wrapped Coordinates</a>), such as longitude.
+If <em><var>min</var> > <var>max</var></em>, the <acronym>NCO</acronym> expects the
+coordinate to be wrapped, and a warning message will be printed.
+When this occurs, <acronym>NCO</acronym> selects all values outside the domain
+[<em><var>max</var> < <var>min</var></em>], i.e., all the values exclusive of the
+values which would have been selected if <var>min</var> and <var>max</var> were
+swapped. 
+If this seems confusing, test your command on just the coordinate
+variables with <code>ncks</code>, and then examine the output to ensure
+<acronym>NCO</acronym> selected the hyperslab you expected (coordinate wrapping
+is currently only supported by <code>ncks</code>). 
+</p>
+<p>Because of the way wrapped coordinates are interpreted, it is very
+important to make sure you always specify hyperslabs in the
+monotonically increasing sense, i.e., <em><var>min</var> < <var>max</var></em>
+(even if the underlying coordinate variable is monotonically
+decreasing). 
+The only exception to this is when you are indeed specifying a wrapped
+coordinate.  
+The distinction is crucial to understand because the points selected by, 
+e.g., <code>-d longitude,50.,340.</code>, are exactly the complement of the
+points selected by <code>-d longitude,340.,50.</code>.
+</p>
+<p>Not specifying any hyperslab option is equivalent to specifying full
+ranges of all dimensions. 
+This option may be specified more than once in a single command 
+(each hyperslabbed dimension requires its own <code>-d</code> option).
+</p>
+<a name="srd"></a> <!-- http://nco.sf.net/nco.html#srd -->
+<a name="stride"></a> <!-- http://nco.sf.net/nco.html#stride --><hr>
+<a name="Stride"></a>
+<div class="header">
+<p>
+Next: <a href="#Record-Appending" accesskey="n" rel="next">Record Appending</a>, Previous: <a href="#Hyperslabs" accesskey="p" rel="previous">Hyperslabs</a>, Up: <a href="#Common-features" accesskey="u" rel="up">Common features</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Stride-1"></a>
+<h3 class="section">3.16 Stride</h3>
+<a name="index-stride-1"></a>
+<a name="index-_002dd-dim_002c_005bmin_005d_002c_005bmax_005d_002cstride"></a>
+<a name="index-_002d_002ddimension-dim_002c_005bmin_005d_002c_005bmax_005d_002cstride"></a>
+<a name="index-_002d_002ddmn-dim_002c_005bmin_005d_002c_005bmax_005d_002cstride"></a>
+<table class="cartouche" border="1"><tr><td>
+<p>Availability: <code>ncbo</code>, <code>nces</code>, <code>ncecat</code>,
+<code>ncflint</code>, <code>ncks</code>, <code>ncpdq</code>, <code>ncra</code>,
+<code>ncrcat</code>, <code>ncwa</code><br> 
+Short options: ‘<samp>-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</samp>’<br>
+Long options: 
+‘<samp>--dimension <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</samp>’,<br> 
+‘<samp>--dmn <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</samp>’<br>
+</p></td></tr></table>
+<p>All data operators support specifying a <em>stride</em> for any and all
+dimensions at the same time.
+The <var>stride</var> is the spacing between consecutive points in a
+hyperslab. 
+A <var>stride</var><!-- /@w --> of 1<!-- /@w --> picks all the elements of the hyperslab, and
+a <var>stride</var> of 2<!-- /@w --> skips every other element, etc..
+<code>ncks</code> multislabs support strides, and are more powerful than
+the regular hyperslabs supported by the other operators
+(see <a href="#Multislabs">Multislabs</a>).
+Using the <var>stride</var> option for the record dimension with
+<code>ncra</code> and <code>ncrcat</code> makes it possible, for instance, to
+average or concatenate regular intervals across multi-file input data sets.
+</p>
+<p>The <var>stride</var> is specified as the optional fourth argument to the
+‘<samp>-d</samp>’ hyperslab specification:  
+<code>-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</code>.
+Specify <var>stride</var> as an integer (i.e., no decimal point) following
+the third comma in the ‘<samp>-d</samp>’ argument.  
+There is no default value for <var>stride</var>. 
+Thus using ‘<samp>-d time,,,2</samp>’ is valid but ‘<samp>-d time,,,2.0</samp>’ and
+‘<samp>-d time,,,</samp>’ are not.
+When <var>stride</var> is specified but <var>min</var> is not, there is an
+ambiguity as to whether the extracted hyperslab should begin with (using
+C-style, 0-based indexes) element 0<!-- /@w --> or element ‘<samp>stride-1</samp>’.
+<acronym>NCO</acronym> must resolve this ambiguity and it chooses element 0<!-- /@w -->
+as the first element of the hyperslab when <var>min</var> is not specified.
+Thus ‘<samp>-d time,,,<var>stride</var></samp>’ is syntactically equivalent to
+‘<samp>-d time,0,,<var>stride</var></samp>’.
+This means, for example, that specifying the operation 
+‘<samp>-d time,,,2</samp>’ on the array ‘<samp>1,2,3,4,5</samp>’ selects the hyperslab
+‘<samp>1,3,5</samp>’. 
+To obtain the hyperslab ‘<samp>2,4</samp>’ instead, simply explicitly specify
+the starting index as 1,<!-- /@w --> i.e., ‘<samp>-d time,1,,2</samp>’. 
+</p>
+<p>For example, consider a file <samp>8501_8912.nc</samp> which contains 60
+consecutive months of data. 
+Say you wish to obtain just the March data from this file.
+Using 0-based subscripts (see <a href="#C-and-Fortran-Index-Conventions">C and Fortran Index Conventions</a>) these 
+data are stored in records 2, 14, … 50<!-- /@w --> so the desired
+<var>stride</var> is 12.<!-- /@w -->
+Without the <var>stride</var> option, the procedure is very awkward.
+One could use <code>ncks</code> five times and then use <code>ncrcat</code> to  
+concatenate the resulting files together:
+<a name="index-Bourne-Shell"></a>
+<a name="index-C-Shell"></a>
+</p><div class="example">
+<pre class="example">for idx in 02 14 26 38 50; do # Bourne Shell
+  ncks -d time,${idx} 8501_8912.nc foo.${idx}
+done
+foreach idx (02 14 26 38 50) # C Shell
+  ncks -d time,${idx} 8501_8912.nc foo.${idx}
+end
+ncrcat foo.?? 8589_03.nc
+rm foo.??
+</pre></div>
+<p>With the <var>stride</var> option, <code>ncks</code> performs this hyperslab
+extraction in one operation:
+</p><div class="example">
+<pre class="example">ncks -d time,2,,12 8501_8912.nc 8589_03.nc
+</pre></div>
+<p>See <a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a>, for more information on <code>ncks</code>.
+</p>
+<p>Applying the <var>stride</var> option to the record dimension in
+<code>ncra</code> and <code>ncrcat</code> makes it possible, for instance, to
+average or concatenate regular intervals across multi-file input data
+sets. 
+</p><div class="example">
+<pre class="example">ncra -F -d time,3,,12 85.nc 86.nc 87.nc 88.nc 89.nc 8589_03.nc
+ncrcat -F -d time,3,,12 85.nc 86.nc 87.nc 88.nc 89.nc 8503_8903.nc
+</pre></div>
+
+<a name="rec_apn"></a> <!-- http://nco.sf.net/nco.html#rec_apn -->
+<a name="record_append"></a> <!-- http://nco.sf.net/nco.html#record_append --><hr>
+<a name="Record-Appending"></a>
+<div class="header">
+<p>
+Next: <a href="#Subcycle" accesskey="n" rel="next">Subcycle</a>, Previous: <a href="#Stride" accesskey="p" rel="previous">Stride</a>, Up: <a href="#Common-features" accesskey="u" rel="up">Common features</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Record-Appending-1"></a>
+<h3 class="section">3.17 Record Appending</h3>
+<a name="index-record-append"></a>
+<a name="index-_002d_002drec_005fapn"></a>
+<a name="index-_002d_002drecord_005fappend"></a>
+<table class="cartouche" border="1"><tr><td>
+<p>Availability: <code>ncra</code>, <code>ncrcat</code><br> 
+Short options: None<br>
+Long options: 
+‘<samp>--rec_apn</samp>’, ‘<samp>--record_append</samp>’<br>
+</p></td></tr></table>
+<p>As of version 4.2.6 (March, 2013), <acronym>NCO</acronym> allows both
+Multi-File, Multi-Record operators (<code>ncra</code> and <code>ncrcat</code>)
+to append their output directly to the end of an existing file.
+This feature may be used to augment a target file, rather than construct
+it from scratch. 
+This helps, for example, when a timeseries is concatenated from input
+data that becomes available in stages rather than all at once.
+In such cases this switch significantly speeds writing.
+</p>
+<p>Consider the use case where one wishes to preserve the contents of
+<samp>fl_1.nc</samp>, and add to them new records contained in
+<samp>fl_2.nc</samp>. 
+Previously the output had to be placed in a third file, <samp>fl_3.nc</samp>
+(which could also safely be named <samp>fl_2.nc</samp>), via
+</p><div class="example">
+<pre class="example">ncrcat -O fl_1.nc fl_2.nc fl_3.nc
+</pre></div>
+<p>Under the hood this operation copies all information in
+<samp>fl_1.nc</samp> and <samp>fl_2.nc</samp> not once but twice.
+The first copy is performed through the netCDF interface, as all
+data from <samp>fl_1.nc</samp> and <samp>fl_2.nc</samp> are extracted and placed in
+the output file.
+The second copy occurs (usually much) more quickly as the (by default)
+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><div class="example">
+<pre class="example">ncrcat --rec_apn fl_2.nc fl_1.nc
+</pre></div>
+<p>The ordering of the filename arguments may seem non-intuitive.
+If the record variable represents time in these files, then the
+values in <samp>fl_1.nc</samp> precede those in <samp>fl_2.nc</samp>, so why
+do the files appear in the reverse order on the command line?
+<samp>fl_1.nc</samp> is the last file named because it is the pre-existing
+output file to which we are appending all of the other input files
+(in this case only <samp>fl_2.nc</samp>).
+The contents of <samp>fl_1.nc</samp> are completely preserved, and only
+values in <samp>fl_2.nc</samp> (and any other input files) are copied. 
+This switch avoids the necessity of copying all of <samp>fl_1.nc</samp> 
+through the netCDF interface to a new output file.
+The ‘<samp>--rec_apn</samp>’ switch automatically puts <acronym>NCO</acronym> into 
+append mode (see <a href="#Appending-Variables">Appending Variables</a>), so specifying ‘<samp>-A</samp>’ is
+redundant, and simultaneously specifying overwrite mode with ‘<samp>-O</samp>’
+causes an error.  
+By default, NCO works in an intermediate temporary file.
+Power users may combine ‘<samp>--rec_apn</samp>’ with the ‘<samp>--no_tmp_fl</samp>’
+switch (see <a href="#Temporary-Output-Files">Temporary Output Files</a>):
+</p><div class="example">
+<pre class="example">ncrcat --rec_apn --no_tmp_fl fl_2.nc fl_1.nc
+</pre></div>
+<p>This avoids creating an intermediate file, and copies only the
+minimal amount of data (i.e., all of <samp>fl_2.nc</samp>). 
+Hence, it is fast.
+We recommend users try to understand the safety trade-offs involved. 
+</p>
+<a name="subcycle"></a> <!-- http://nco.sf.net/nco.html#subcycle -->
+<a name="ssc"></a> <!-- http://nco.sf.net/nco.html#ssc -->
+<a name="duration"></a> <!-- http://nco.sf.net/nco.html#duration -->
+<a name="drn"></a> <!-- http://nco.sf.net/nco.html#drn -->
+<a name="mro"></a> <!-- http://nco.sf.net/nco.html#mro --><hr>
+<a name="Subcycle"></a>
+<div class="header">
+<p>
+Next: <a href="#Multislabs" accesskey="n" rel="next">Multislabs</a>, Previous: <a href="#Record-Appending" accesskey="p" rel="previous">Record Appending</a>, Up: <a href="#Common-features" accesskey="u" rel="up">Common features</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Subcycle-1"></a>
+<h3 class="section">3.18 Subcycle</h3>
+<a name="index-duration"></a>
+<a name="index-sub_002dcycle"></a>
+<a name="index-subcycle"></a>
+<a name="index-MRO"></a>
+<a name="index-Multi_002dRecord-Operator"></a>
+<a name="index-_002d_002dmro"></a>
+<a name="index-_002dd-dim_002c_005bmin_005d_002c_005bmax_005d_002c_005bstride_005d_002c_005bsubcycle_005d"></a>
+<a name="index-_002d_002ddimension-dim_002c_005bmin_005d_002c_005bmax_005d_002c_005bstride_005d_002c_005bsubcycle_005d"></a>
+<a name="index-_002d_002ddmn-dim_002c_005bmin_005d_002c_005bmax_005d_002c_005bstride_005d_002csubcycle_005d"></a>
+<table class="cartouche" border="1"><tr><td>
+<p>Availability: <code>ncra</code>, <code>ncrcat</code><br> 
+Short options: ‘<samp>-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>][,[<var>subcycle</var>]]]]</samp>’<br>
+Long options: 
+‘<samp>--mro</samp>’
+‘<samp>--dimension <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>][,[<var>subcycle</var>]]]]</samp>’<br>
+‘<samp>--dmn <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>][,[<var>subcycle</var>]]]]</samp>’<br>
+</p></td></tr></table>
+<p>As of version 4.2.1 (August, 2012), <acronym>NCO</acronym> allows both Multi-File,
+Multi-Record operators, <code>ncra</code> and <code>ncrcat</code>, to extract
+and operate on multiple groups of records. 
+These groups may be connected to physical <em>sub-cycles</em> of a
+periodic nature, e.g., months of a year, or hours of a day. 
+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="DOCF31" href="#FOOT31"><sup>31</sup></a>.
+</p>
+<p>The subcycle feature allows processing of groups of records
+separated by regular intervals of records.
+It is perhaps best illustrated by an extended example which describes
+how to solve the same problem both with and without the <acronym>SSC</acronym> feature.
+</p>
+<p>The first task in climate data processing is often creating seasonal
+cycles. 
+Suppose a 150-year climate simulation produces 150 output files, each
+comprising 12 records, each record a monthly mean:
+<samp>1850.nc</samp>, <samp>1851.nc</samp>, ... <samp>1999.nc</samp>.
+Our goal is to create a single file containing the summertime (June,
+July, and August, aka JJA) mean.
+Traditionally, we would first compute the climatological monthly
+mean for each month of summer. 
+Each of these is a 150-year mean, i.e., 
+</p><div class="example">
+<pre class="example"># Step 1: Create climatological monthly files clm06.nc..clm08.nc
+for mth in {6..8}; do
+  mm=`printf "%02d" $mth`
+  ncra -O -F -d time,${mm},,12 -n 150,4,1 1850.nc clm${mm}.nc
+done
+# Step 2: Average climatological monthly files into summertime mean
+ncra -O clm06 clm07.nc clm08.nc clm_JJA.nc
+</pre></div>
+<p>So far, nothing is unusual and this task can be performed by any
+<acronym>NCO</acronym> version. 
+The <acronym>SSC</acronym> feature makes obsolete the need for the shell loop
+used in Step 1<!-- /@w --> above. 
+</p>
+<p>The new <acronym>SSC</acronym> option aggregates more than one input record at a time
+before performing arithmetic operations, and, with an additional
+switch, allows us to archive those results in multiple record output
+(MRO) files.  
+This reduces the task of producing the climatological summertime
+mean to one step:
+</p><div class="example">
+<pre class="example"># Step 1: Compute climatological summertime mean
+ncra -O -F -d time,6,,12,3 -n 150,4,1 1850.nc clm_JJA.nc
+</pre></div>
+<p>The <acronym>SSC</acronym> option instructs <code>ncra</code> (or <code>ncrcat</code>)
+to process  files in groups of three records. 
+To better understand the meaning of each argument to the ‘<samp>-d</samp>’
+hyperslab option, read it this way: “for the time dimension start with
+the sixth record, continue without end, repeat the process every twelfth
+record, and define a sub-cycle as three consecutive records”. 
+</p>
+<p>A separate option, ‘<samp>--mro</samp>’, instructs <code>ncra</code> to output 
+its results from each sub-group, and to produce a <em>Multi-Record Output</em>
+(MRO) file rather than a <em>Single-Record Output</em> (SRO) file.
+Unless ‘<samp>--mro</samp>’ is specified, <code>ncra</code> collects together all
+the sub-groups, operates on their ensemble, and produces a single
+output record. 
+The addition of ‘<samp>--mro</samp>’ to the above example causes <code>ncra</code>
+to archive all (150) annual summertime means to one file:
+</p><div class="example">
+<pre class="example"># Step 1: Archive all 150 summertime means in one file
+ncra --mro -O -F -d time,6,,12,3 -n 150,4,1 1850.nc 1850_2009_JJA.nc
+# ...or all (150) annual means...
+ncra --mro -O -d time,,,12,12 -n 150,4,1 1850.nc 1850_2009.nc
+</pre></div>
+<p>These operations generate and require no intermediate files.
+This contrasts to previous <acronym>NCO</acronym> methods, which require
+generating, averaging, then catenating 150 files.  
+The ‘<samp>--mro</samp>’ option has no effect on, or rather is redundant for, 
+<code>ncrcat</code> since <code>ncrcat</code> always outputs all selected
+records.
+</p>
+<a name="msa"></a> <!-- http://nco.sf.net/nco.html#msa -->
+<a name="mlt"></a> <!-- http://nco.sf.net/nco.html#mlt --><hr>
+<a name="Multislabs"></a>
+<div class="header">
+<p>
+Next: <a href="#Wrapped-Coordinates" accesskey="n" rel="next">Wrapped Coordinates</a>, Previous: <a href="#Subcycle" accesskey="p" rel="previous">Subcycle</a>, Up: <a href="#Common-features" accesskey="u" rel="up">Common features</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Multislabs-1"></a>
+<h3 class="section">3.19 Multislabs</h3>
+<a name="index-multislab"></a>
+<a name="index-multi_002dhyperslab"></a>
+<a name="index-MSA"></a>
+<a name="index-_002dd-dim_002c_005bmin_005d_005b_002c_005bmax_005d_005b_002c_005bstride_005d_005d_005d-1"></a>
+<a name="index-_002d_002ddimension-dim_002c_005bmin_005d_005b_002c_005bmax_005d_005b_002c_005bstride_005d_005d_005d-1"></a>
+<a name="index-_002d_002ddmn-dim_002c_005bmin_005d_005b_002c_005bmax_005d_005b_002c_005bstride_005d_005d_005d-1"></a>
+<a name="index-_002d_002dmsa"></a>
+<a name="index-_002d_002dmsa_005fusr_005frdr"></a>
+<a name="index-_002d_002dmsa_005fuser_005forder"></a>
+<table class="cartouche" border="1"><tr><td>
+<p>Availability: <code>ncbo</code>, <code>nces</code>, <code>ncecat</code>,
+<code>ncflint</code>, <code>ncks</code>, <code>ncpdq</code>, <code>ncra</code>,
+<code>ncrcat</code><br> 
+Short options: ‘<samp>-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</samp>’<br>
+Long options: 
+‘<samp>--dimension <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</samp>’,<br> 
+‘<samp>--dmn <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</samp>’<br>
+‘<samp>--msa_usr_rdr</samp>’, ‘<samp>--msa_user_order</samp>’<br>
+</p></td></tr></table>
+<p>A multislab<!-- /@w --> is a union of one or more hyperslabs.
+One defines multislabs by chaining together hyperslab commands, i.e., 
+<kbd>-d</kbd> options (see <a href="#Hyperslabs">Hyperslabs</a>).
+Support for specifying a <em>multi-hyperslab</em> or <em>multislab</em> for
+any variable was first added to <code>ncks</code> in late 2002.
+The other operators received these capabilities in April 2008.
+Multi-slabbing is often referred to by the acronym <acronym>MSA</acronym>,
+which stands for “Multi-Slabbing Algorithm”.
+As explained below, the user may additionally request that the
+multislabs be returned in the user-specified order, rather than the
+on-disk storage order. 
+Although <acronym>MSA</acronym> user-ordering has been available in all operators
+since 2008, most users were unaware of it since the documentation
+(below, and in the man pages) was not written until July 2013.
+</p>
+<p>Multislabs overcome many restraints that limit simple hyperslabs.
+A single<!-- /@w --> <kbd>-d</kbd> option can only specify a contiguous and/or
+a regularly spaced multi-dimensional data array.
+Multislabs are constructed from multiple <kbd>-d</kbd> options and may
+therefore have non-regularly spaced arrays.
+For example, suppose it is desired to operate on all longitudes
+from 10.0 to 20.0 and from 80.0 to 90.0 degrees<!-- /@w -->.
+The combined range of longitudes is not selectable in a single 
+hyperslab specfication of the form 
+‘<samp>-d <var>dimension</var>,<var>min</var>,<var>max</var></samp>’ or  
+‘<samp>-d <var>dimension</var>,<var>min</var>,<var>max</var>,<var>stride</var></samp>’ because its
+elements are irregularly spaced in coordinate space (and presumably 
+in index space too). 
+The multislab specification for obtaining these values is simply
+the union of the hyperslabs specifications that comprise the multislab,
+i.e., 
+</p><div class="example">
+<pre class="example">ncks -d lon,10.,20. -d lon,80.,90. in.nc out.nc
+ncks -d lon,10.,15. -d lon,15.,20. -d lon,80.,90. in.nc out.nc
+</pre></div>
+<p>Any number of hyperslabs specifications may be chained together
+to specify the multislab.
+<acronym>MSA</acronym> creates an output dimension equal in size to the sum of
+the sizes of the multislabs.
+This can be used to extend and or pad coordinate grids.
+</p>
+<a name="index-stride-2"></a>
+<p>Users may specify redundant ranges of indices in a multislab, e.g., 
+</p><div class="example">
+<pre class="example">ncks -d lon,0,4 -d lon,2,9,2 in.nc out.nc
+</pre></div>
+<p>This command retrieves the first five longitudes, and then every other
+longitude value up to the tenth.
+Elements 0, 2, and 4<!-- /@w --> are specified by both hyperslab arguments (hence
+this is redundant) but will count only once if an arithmetic operation
+is being performed.  
+This example uses index-based (not coordinate-based) multislabs because
+the <var>stride</var> option only supports index-based hyper-slabbing. 
+See <a href="#Stride">Stride</a>, for more information on the <var>stride</var> option.
+</p>
+<p>Multislabs are more efficient than the alternative of sequentially
+performing hyperslab operations and concatenating the results.
+<a name="index-I_002fO-2"></a>
+This is because <acronym>NCO</acronym> employs a novel multislab algorithm to
+minimize the number of I/O operations when retrieving irregularly spaced
+data from disk.
+The <acronym>NCO</acronym> multislab algorithm retrieves each element from disk
+once and only once.
+Thus users may take some shortcuts in specifying multislabs and the
+algorithm will obtain the intended values.
+Specifying redundant ranges is not encouraged, but may be useful on
+occasion and will not result in unintended consequences.
+</p>
+<p>Suppose the <var>Q</var> variable contains three dimensional arrays of
+distinct chemical constituents in no particular order.
+We are interested in the NOy species in a certain geographic range. 
+Say that NO, NO2, and N2O5 are elements 0<!-- /@w -->, 1, and 5<!-- /@w --> of the
+<var>species</var> dimension of <var>Q</var>.
+The multislab specification might look something like
+</p><div class="example">
+<pre class="example">ncks -d species,0,1 -d species,5 -d lon,0,4 -d lon,2,9,2 in.nc out.nc
+</pre></div>
+<p>Multislabs are powerful because they may be specified for every
+dimension at the same time.
+Thus multislabs obsolete the need to execute multiple <code>ncks</code>
+commands to gather the desired range of data.
+</p>
+<a name="msa_usr_rdr"></a> <!-- http://nco.sf.net/nco.html#msa_usr_rdr --><p>The <acronym>MSA</acronym> user-order switch ‘<samp>--msa_usr_rdr</samp>’ (or
+‘<samp>--msa_user_order</samp>’, both of which shorten to ‘<samp>--msa</samp>’) 
+requests that the multislabs be output in the user-specified
+order from the command-line, rather than in the input-file on-disk
+storage order.  
+This allows the user to perform complex data re-ordering in one
+operation that would otherwise require cumbersome steps of
+hyperslabbing, concatenating, and permuting. 
+Consider the recent example of a user who needed to convert datasets
+stored with the longitude coordinate <code>Lon</code> ranging from
+[-180,180) to datasets that follow the [0,360) convention.
+</p><div class="example">
+<pre class="example">% ncks -H -v Lon in.nc
+Lon[0]=-180
+Lon[1]=-90
+Lon[2]=0
+Lon[3]=90
+</pre></div>
+<p>Although simple in theory, this task requires both mathematics to
+change the numerical value of the longitude coordinate, data
+hyperslabbing to split the input on-disk arrays at Greenwich, and data
+re-ordering within to stitch the western hemisphere onto the eastern
+hemisphere at the date-line.
+The ‘<samp>--msa</samp>’ user-order switch overrides the default that data are
+output in the same order in which they are stored on-disk in the input
+file, and instead stores them in the same order as the multi-slabs are
+given to the command line.
+This default is intuitive and is not important in most uses.
+However, the <acronym>MSA</acronym> user-order switch allows users to meet
+their output order needs by specifying multi-slabs in a certain order.
+Compare the results of default ordering to user-ordering for longitude:
+</p><div class="example">
+<pre class="example">% ncks -O -H       -v Lon -d Lon,0.,180. -d Lon,-180.,-1.0 in.nc
+Lon[0]=-180 
+Lon[1]=-90 
+Lon[2]=0 
+Lon[3]=90 
+% ncks -O -H --msa -v Lon -d Lon,0.,180. -d Lon,-180.,-1.0 in.nc
+Lon[0]=0 
+Lon[1]=90 
+Lon[2]=-180 
+Lon[3]=-90 
+</pre></div>
+<p>The two multi-slabs are the same but they can be presented to screen,
+or to an output file, in either order. 
+The second example shows how to place the western hemisphere after the
+eastern hemisphere, although they are stored in the opposite order in
+the input file. 
+</p>
+<p>With this background, one sees that the following commands suffice to
+rotate the input file by 180 degrees longitude:
+</p><div class="example">
+<pre class="example">% ncks -O -v LatLon --msa -d Lon,0.,180. -d Lon,-180.,-1.0 in.nc out.nc
+% ncap2 -O -s 'where(Lon < 0) Lon=Lon+360' out.nc out.nc
+% ncks -C -H -v LatLon ~/nco/data/in.nc
+Lat[0]=-45 Lon[0]=-180 LatLon[0]=0 
+Lat[0]=-45 Lon[1]=-90 LatLon[1]=1 
+Lat[0]=-45 Lon[2]=0 LatLon[2]=2 
+Lat[0]=-45 Lon[3]=90 LatLon[3]=3 
+Lat[1]=45 Lon[0]=-180 LatLon[4]=4 
+Lat[1]=45 Lon[1]=-90 LatLon[5]=5 
+Lat[1]=45 Lon[2]=0 LatLon[6]=6 
+Lat[1]=45 Lon[3]=90 LatLon[7]=7 
+% ncks -C -H -v LatLon ~/out.nc
+Lat[0]=-45 Lon[0]=0 LatLon[0]=2 
+Lat[0]=-45 Lon[1]=90 LatLon[1]=3 
+Lat[0]=-45 Lon[2]=180 LatLon[2]=0 
+Lat[0]=-45 Lon[3]=270 LatLon[3]=1 
+Lat[1]=45 Lon[0]=0 LatLon[4]=6 
+Lat[1]=45 Lon[1]=90 LatLon[5]=7 
+Lat[1]=45 Lon[2]=180 LatLon[6]=4 
+Lat[1]=45 Lon[3]=270 LatLon[7]=5 
+</pre></div>
+<p>There are other workable, valid methods to accomplish this rotation, yet
+none are simpler nor more efficient than utilizing <acronym>MSA</acronym>
+user-ordering. 
+Some final comments on applying this algorithm:
+Be careful to specify hemispheres that do not overlap, e.g., by
+inadvertently specifying coordinate ranges that both include Greenwich. 
+Some users will find using index-based rather than coordinate-based
+hyperslabs makes this clearer.
+</p>
+<a name="wrp"></a> <!-- http://nco.sf.net/nco.html#wrp --><hr>
+<a name="Wrapped-Coordinates"></a>
+<div class="header">
+<p>
+Next: <a href="#Auxiliary-Coordinates" accesskey="n" rel="next">Auxiliary Coordinates</a>, Previous: <a href="#Multislabs" accesskey="p" rel="previous">Multislabs</a>, Up: <a href="#Common-features" accesskey="u" rel="up">Common features</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Wrapped-Coordinates-1"></a>
+<h3 class="section">3.20 Wrapped Coordinates</h3>
+<a name="index-wrapped-coordinates-1"></a>
+<a name="index-longitude"></a>
+<a name="index-_002dd-dim_002c_005bmin_005d_005b_002c_005bmax_005d_005b_002c_005bstride_005d_005d_005d-2"></a>
+<a name="index-_002d_002ddimension-dim_002c_005bmin_005d_005b_002c_005bmax_005d_005b_002c_005bstride_005d_005d_005d-2"></a>
+<a name="index-_002d_002ddmn-dim_002c_005bmin_005d_005b_002c_005bmax_005d_005b_002c_005bstride_005d_005d_005d-2"></a>
+<table class="cartouche" border="1"><tr><td>
+<p>Availability: <code>ncks</code><br>
+Short options: ‘<samp>-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</samp>’<br>
+Long options: 
+‘<samp>--dimension <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</samp>’,<br> 
+‘<samp>--dmn <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</samp>’<br>
+</p></td></tr></table>
+<p>A <em>wrapped coordinate</em><!-- /@w --> is a coordinate whose values increase or
+decrease monotonically (nothing unusual so far), but which represents a
+dimension that ends where it begins (i.e., wraps around on itself).
+Longitude (i.e., degrees on a circle) is a familiar example of a wrapped
+coordinate.
+Longitude increases to the East of Greenwich, England, where it is
+defined to be zero.
+Halfway around the globe, the longitude is 180 degrees<!-- /@w --> East (or West). 
+Continuing eastward, longitude increases to 360 degrees<!-- /@w --> East at
+Greenwich. 
+The longitude values of most geophysical data are either in the range
+[0,360), or [-180,180).
+In either case, the Westernmost and Easternmost longitudes are
+numerically separated by 360 degrees<!-- /@w -->, but represent contiguous
+regions on the globe.
+For example, the Saharan desert stretches from roughly 340 to 
+50 degrees<!-- /@w --> East.
+Extracting the hyperslab of data representing the Sahara from a global
+dataset presents special problems when the global dataset is stored
+consecutively in longitude from 0 to 360 degrees<!-- /@w -->.
+This is because the data for the Sahara will not be contiguous in the
+<var>input-file</var> but is expected by the user to be contiguous in the
+<var>output-file</var>. 
+In this case, <code>ncks</code> must invoke special software routines to
+assemble the desired output hyperslab from multiple reads of the
+<var>input-file</var>. 
+</p>
+<p>Assume the domain of the monotonically increasing longitude coordinate
+<code>lon</code> is <em>0 < <var>lon</var> < 360</em>. 
+<code>ncks</code> will extract a hyperslab which crosses the Greenwich
+meridian simply by specifying the westernmost longitude as <var>min</var> and
+the easternmost longitude as <var>max</var>.
+The following commands extract a hyperslab containing the Saharan desert:
+</p><div class="example">
+<pre class="example">ncks -d lon,340.,50. in.nc out.nc
+ncks -d lon,340.,50. -d lat,10.,35. in.nc out.nc
+</pre></div>
+<p>The first example selects data in the same longitude range as the Sahara. 
+The second example further constrains the data to having the same
+latitude as the Sahara.
+The coordinate <code>lon</code> in the <var>output-file</var>, <samp>out.nc</samp>, will
+no longer be monotonic! 
+The values of <code>lon</code> will be, e.g., ‘<samp>340, 350, 0, 10, 20, 30,
+40, 50</samp>’. 
+This can have serious implications should you run <samp>out.nc</samp> through
+another operation which expects the <code>lon</code> coordinate to be
+monotonically increasing.
+Fortunately, the chances of this happening are slim, since <code>lon</code>
+has already been hyperslabbed, there should be no reason to hyperslab
+<code>lon</code> again.
+Should you need to hyperslab <code>lon</code> again, be sure to give
+dimensional indices as the hyperslab arguments, rather than coordinate
+values (see <a href="#Hyperslabs">Hyperslabs</a>).
+</p>
+<a name="aux"></a> <!-- http://nco.sf.net/nco.html#aux -->
+<a name="auxiliary"></a> <!-- http://nco.sf.net/nco.html#auxiliary -->
+<a name="-X"></a> <!-- http://nco.sf.net/nco.html#-X -->
+<a name="std_nm"></a> <!-- http://nco.sf.net/nco.html#std_nm -->
+<a name="standard_name"></a> <!-- http://nco.sf.net/nco.html#standard_name --><hr>
+<a name="Auxiliary-Coordinates"></a>
+<div class="header">
+<p>
+Next: <a href="#UDUnits-Support" accesskey="n" rel="next">UDUnits Support</a>, Previous: <a href="#Wrapped-Coordinates" accesskey="p" rel="previous">Wrapped Coordinates</a>, Up: <a href="#Common-features" accesskey="u" rel="up">Common features</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Auxiliary-Coordinates-1"></a>
+<h3 class="section">3.21 Auxiliary Coordinates</h3>
+<a name="index-_002dX"></a>
+<a name="index-_002d_002dauxiliary"></a>
+<a name="index-standard_005fname"></a>
+<a name="index-coordinates"></a>
+<a name="index-CF-conventions-1"></a>
+<a name="index-_002dX-lon_005fmin_002clon_005fmax_002clat_005fmin_002clat_005fmax"></a>
+<a name="index-_002d_002dauxiliary-lon_005fmin_002clon_005fmax_002clat_005fmin_002clat_005fmax"></a>
+<table class="cartouche" border="1"><tr><td>
+<p>Availability: <code>ncbo</code>, <code>nces</code>, <code>ncecat</code>,
+<code>ncflint</code>, <code>ncks</code>, <code>ncpdq</code>, <code>ncra</code>,
+<code>ncrcat</code><br> 
+Short options: ‘<samp>-X <var>lon_min</var>,<var>lon_max</var>,<var>lat_min</var>,<var>lat_max</var></samp>’<br>
+Long options: 
+‘<samp>--auxiliary <var>lon_min</var>,<var>lon_max</var>,<var>lat_min</var>,<var>lat_max</var></samp>’<br>
+</p></td></tr></table>
+<p>Utilize auxiliary coordinates specified in values of the coordinate
+variable’s <code>standard_name</code> attributes, if any, when interpreting 
+hyperslab and multi-slab options. 
+Also ‘<samp>--auxiliary</samp>’.
+This switch supports hyperslabbing cell-based grids over coordinate
+ranges. 
+This works on datasets that associate coordinate variables to
+grid-mappings using the <acronym>CF</acronym>-convention (see <a href="#CF-Conventions">CF Conventions</a>)   
+<code>coordinates</code> and <code>standard_name</code> attributes described 
+<a href="http://cf-pcmdi.llnl.gov/documents/cf-conventions/1.6/cf-conventions.html#coordinate-system">here</a>. 
+Currently, <acronym>NCO</acronym> understands auxiliary coordinate variables 
+pointed to by the <code>standard_name</code> attributes for <var>latitude</var> and 
+<var>longitude</var>.   
+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.  
+</p>
+<a name="index-cell_002dbased-grids"></a>
+<p>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
+coordinates. 
+Rectangular (in longitude and latitude) horizontal hyperslabs cannot
+be selected using the typical procedure (see <a href="#Hyperslabs">Hyperslabs</a>) of
+separately specifying ‘<samp>-d</samp>’ arguments for longitude and latitude.
+Instead, when the ‘<samp>-X</samp>’ is used, <acronym>NCO</acronym> learns the names of
+the latitude and longitude coordinates by searching the
+<code>standard_name</code> attribute of all variables until it finds
+the two variables whose <code>standard_name</code>’s are “latitude” and 
+“longitude”, respectively. 
+This <code>standard_name</code> attribute for latitude and longitude
+coordinates follows the <acronym>CF</acronym>-convention  
+(see <a href="#CF-Conventions">CF Conventions</a>). 
+</p>
+<p>Putting it all together, consider a variable <var>gds_3dvar</var> output from 
+simulations on a cell-based geodesic grid. 
+Although the variable contains three dimensions of data (time, latitude,
+and longitude), it is stored in the netCDF file with only two dimensions,
+<code>time</code> and <code>gds_crd</code>.  
+</p><div class="example">
+<pre class="example">% ncks -m -C -v gds_3dvar ~/nco/data/in.nc
+gds_3dvar: type NC_FLOAT, 2 dimensions, 4 attributes, chunked? no, \
+ compressed? no, packed? no, ID = 41
+gds_3dvar RAM size is 10*8*sizeof(NC_FLOAT) = 80*4 = 320 bytes
+gds_3dvar dimension 0: time, size = 10 NC_DOUBLE, dim. ID = 20 \ 
+ (CRD)(REC)
+gds_3dvar dimension 1: gds_crd, size = 8 NC_FLOAT, dim. ID = 17 (CRD)
+gds_3dvar attribute 0: long_name, size = 17 NC_CHAR, value = \ 
+ Geodesic variable
+gds_3dvar attribute 1: units, size = 5 NC_CHAR, value = meter
+gds_3dvar attribute 2: coordinates, size = 15 NC_CHAR, value = \
+ lat_gds lon_gds
+gds_3dvar attribute 3: purpose, size = 64 NC_CHAR, value = \ 
+ Test auxiliary coordinates like those that define geodesic grids
+</pre></div>
+<p>The <code>coordinates</code> attribute lists the names of the latitude and
+longitude coordinates, <code>lat_gds</code> and <code>lon_gds</code>, respectively. 
+The <code>coordinates</code> attribute is recommended though optional.
+With it, the user can immediately identify which variables contain
+the latitude and longitude coordinates.
+Without a <code>coordinates</code> attribute it would be unclear at first
+glance whether a variable resides on a cell-based grid.
+In this example, <code>time</code> is a normal record dimension and
+<code>gds_crd</code> is the cell-based dimension.
+</p>
+<p>The cell-based grid file must contain two variables whose
+<code>standard_name</code> attributes are “latitude”, and “longitude”:
+</p><div class="example">
+<pre class="example">% ncks -m -C -v lat_gds,lon_gds ~/nco/data/in.nc
+lat_gds: type NC_DOUBLE, 1 dimensions, 4 attributes, \
+ chunked? no, compressed? no, packed? no, ID = 37
+lat_gds RAM size is 8*sizeof(NC_DOUBLE) = 8*8 = 64 bytes
+lat_gds dimension 0: gds_crd, size = 8 NC_FLOAT, dim. ID = 17 (CRD)
+lat_gds attribute 0: long_name, size = 8 NC_CHAR, value = Latitude
+lat_gds attribute 1: standard_name, size = 8 NC_CHAR, value = latitude
+lat_gds attribute 2: units, size = 6 NC_CHAR, value = degree
+lat_gds attribute 3: purpose, size = 62 NC_CHAR, value = \ 
+ 1-D latitude coordinate referred to by geodesic grid variables
+
+lon_gds: type NC_DOUBLE, 1 dimensions, 4 attributes, \
+ chunked? no, compressed? no, packed? no, ID = 38
+lon_gds RAM size is 8*sizeof(NC_DOUBLE) = 8*8 = 64 bytes
+lon_gds dimension 0: gds_crd, size = 8 NC_FLOAT, dim. ID = 17 (CRD)
+lon_gds attribute 0: long_name, size = 9 NC_CHAR, value = Longitude
+lon_gds attribute 1: standard_name, size = 9 NC_CHAR, value = longitude
+lon_gds attribute 2: units, size = 6 NC_CHAR, value = degree
+lon_gds attribute 3: purpose, size = 63 NC_CHAR, value = \
+ 1-D longitude coordinate referred to by geodesic grid variables
+</pre></div>
+<p>In this example <code>lat_gds</code> and <code>lon_gds</code> represent the 
+latitude or longitude, respectively, of cell-based variables.
+These coordinates (must) have the same single dimension (<code>gds_crd</code>,
+in this case) as the cell-based variables.
+And the coordinates must be one-dimensional—multidimensional
+coordinates will not work.
+</p>
+<p>This infrastructure allows <acronym>NCO</acronym> to identify, interpret, and
+process (e.g., hyperslab) the variables on cell-based grids as easily
+as it works with regular grids.
+To time-average all the values between zero and 180 degrees<!-- /@w -->
+longitude and between plus and minus 30 degress<!-- /@w --> latitude, we use
+</p><div class="example">
+<pre class="example">ncra -O -X 0.,180.,-30.,30. -v gds_3dvar in.nc out.nc
+</pre></div>
+<p><acronym>NCO</acronym> accepts multiple ‘<samp>-X</samp>’ arguments for cell-based grid
+multi-slabs, just as it accepts multiple ‘<samp>-d</samp>’ arguments for 
+multi-slabs of regular coordinates.
+</p><div class="example">
+<pre class="example">ncra -O -X 0.,180.,-30.,30. -X 270.,315.,45.,90. in.nc out.nc
+</pre></div>
+<p>The arguments to ‘<samp>-X</samp>’ are always interpreted as floating point
+numbers, i.e., as coordinate values rather than dimension indices
+so that these two commands produce identical results
+</p><div class="example">
+<pre class="example">ncra -X 0.,180.,-30.,30. in.nc out.nc
+ncra -X 0,180,-30,30 in.nc out.nc
+</pre></div>
+<p>In contrast, arguments to ‘<samp>-d</samp>’ require decimal places to be
+recognized as coordinates not indices (see <a href="#Hyperslabs">Hyperslabs</a>).  
+We recommend always using decimal points with ‘<samp>-X</samp>’ arguments
+to avoid confusion.
+</p>
+<a name="UDUnits"></a> <!-- http://nco.sf.net/nco.html#UDUnits -->
+<a name="UDUnits2"></a> <!-- http://nco.sf.net/nco.html#UDUnits2 --><hr>
+<a name="UDUnits-Support"></a>
+<div class="header">
+<p>
+Next: <a href="#Rebasing-Time-Coordinate" accesskey="n" rel="next">Rebasing Time Coordinate</a>, Previous: <a href="#Auxiliary-Coordinates" accesskey="p" rel="previous">Auxiliary Coordinates</a>, Up: <a href="#Common-features" accesskey="u" rel="up">Common features</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="UDUnits-Support-1"></a>
+<h3 class="section">3.22 UDUnits Support</h3>
+<a name="index-UDUnits-1"></a>
+<a name="index-Unidata-2"></a>
+<a name="index-units"></a>
+<a name="index-attribute_002c-units"></a>
+<a name="index-_002dd-dim_002c_005bmin_005d_005b_002c_005bmax_005d_005b_002c_005bstride_005d_005d_005d-3"></a>
+<a name="index-_002d_002ddimension-dim_002c_005bmin_005d_005b_002c_005bmax_005d_005b_002c_005bstride_005d_005d_005d-3"></a>
+<a name="index-_002d_002ddmn-dim_002c_005bmin_005d_005b_002c_005bmax_005d_005b_002c_005bstride_005d_005d_005d-3"></a>
+<table class="cartouche" border="1"><tr><td>
+<p>Availability: <code>ncbo</code>, <code>nces</code>, <code>ncecat</code>,
+<code>ncflint</code>, <code>ncks</code>, <code>ncpdq</code>, <code>ncra</code>,
+<code>ncrcat</code>, <code>ncwa</code><br> 
+Short options: ‘<samp>-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</samp>’<br>
+Long options: 
+‘<samp>--dimension <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</samp>’,<br> 
+‘<samp>--dmn <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</samp>’<br>
+</p></td></tr></table>
+<p>There is more than one way to hyperskin a cat.
+The <a href="http://www.unidata.ucar.edu/packages/udunits">UDUnits</a> package 
+provides a library which, if present, <acronym>NCO</acronym> uses to translate
+user-specified physical dimensions into the physical dimensions of data
+stored in netCDF files.
+Unidata provides UDUnits under the same terms as netCDF, so sites should
+install both.
+Compiling <acronym>NCO</acronym> with UDUnits support is currently optional but
+may become required in a future version of <acronym>NCO</acronym>.
+</p>
+<p>Two examples suffice to demonstrate the power and convenience of UDUnits  
+support. 
+<a name="index-MKS-units"></a>
+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
+in the visible portion of the spectrum in terms of the units
+very frequently used in visible spectroscopy, microns:
+</p><div class="example">
+<pre class="example">% ncks -C -H -v wvl -d wvl,"0.4 micron","0.7 micron" in.nc
+wvl[0]=5e-07 meter
+</pre></div>
+<a name="index-units-1"></a>
+<p>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.
+The automagical algorithm that implements this functionality is worth
+describing since understanding it helps one avoid some potential
+pitfalls. 
+First, the user includes the physical units of the hyperslab dimensions 
+she supplies, separated by a simple space from the numerical values of
+the hyperslab limits.
+She encloses each coordinate specifications in quotes so that the shell
+does not break the <em>value-space-unit</em> string into separate
+arguments before passing them to <acronym>NCO</acronym>. 
+Double quotes (<kbd>"foo"</kbd>) or single quotes (<kbd>'foo'</kbd>) are equally
+valid for this purpose. 
+Second, <acronym>NCO</acronym> recognizes that units translation is requested
+because each hyperslab argument contains text characters and non-initial
+spaces.  
+Third, <acronym>NCO</acronym> determines whether the <var>wvl</var> is dimensioned
+with a coordinate variable that has a <code>units</code> attribute. 
+<a name="index-coordinate-variable"></a>
+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. 
+If the coordinate associated with the variable does not contain a 
+<code>units</code> attribute, then <acronym>NCO</acronym> aborts.
+Fourth, <acronym>NCO</acronym> passes the specified and desired dimension strings  
+(microns are specified by the user, meters are required by
+<acronym>NCO</acronym>) to the UDUnits library.
+Fifth, the UDUnits library that these dimension are commensurate
+and it returns the appropriate linear scaling factors to convert from 
+microns to meters to <acronym>NCO</acronym>.
+If the units are incommensurate (i.e., not expressible in the same
+fundamental MKS units), or are not listed in the UDUnits database, then 
+NCO aborts since it cannot determine the user’s intent.
+Finally, <acronym>NCO</acronym> uses the scaling information to convert the
+user-specified hyperslab limits into the same physical dimensions as
+those of the corresponding cooridinate variable on disk.
+At this point, <acronym>NCO</acronym> can perform a coordinate hyperslab using
+the same algorithm as if the user had specified the hyperslab without
+requesting units conversion.
+</p>
+<a name="index-units-2"></a>
+<a name="index-time"></a>
+<p>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 4 PM<!-- /@w --> and 7 PM<!-- /@w -->
+on December 8<!-- /@w -->, 1999, from a variable whose time dimension is hours 
+since the year 1900:
+</p><div class="example">
+<pre class="example">% ncks -u -H -C -v time_udunits -d time_udunits,"1999-12-08 \
+  16:00:0.0","1999-12-08 19:00:0.0" in.nc
+time_udunits[1]=876018 hours since 1900-01-01 00:00:0.0
+</pre></div>
+<a name="index-stride-3"></a>
+<a name="index-whitespace"></a>
+<p>Here, the user invokes the stride (see <a href="#Stride">Stride</a>) capability to obtain 
+every other timeslice.
+This is possible because the UDUnits feature is additive, not
+exclusive—it works in conjunction with all other hyperslabbing
+(see <a href="#Hyperslabs">Hyperslabs</a>) options and in all operators which support
+hyperslabbing.
+The following example shows how one might average data in a 
+time period spread across multiple input files
+</p><div class="example">
+<pre class="example">ncra -d time,"1939-09-09 12:00:0.0","1945-05-08 00:00:0.0" \
+  in1.nc in2.nc in3.nc out.nc
+</pre></div>
+<p>Note that there is no excess whitespace before or after the individual
+elements of the ‘<samp>-d</samp>’ argument.
+<a name="index-shell-2"></a>
+This is important since, as far as the shell knows, ‘<samp>-d</samp>’ takes
+only <em>one</em> command-line argument.
+Parsing this argument into its component
+<code><var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</code> elements 
+(see <a href="#Hyperslabs">Hyperslabs</a>) is the job of <acronym>NCO</acronym>.
+When unquoted whitespace is present between these elements, the shell
+passes <acronym>NCO</acronym> arugment fragments which will not parse as
+intended. 
+</p>
+<p><acronym>NCO</acronym> implemented support for the UDUnits2 library with version   
+3.9.2 (August, 2007).
+The
+<a href="http://www.unidata.ucar.edu/software/udunits/udunits-2/udunits2.html">UDUnits2</a> package supports non-ASCII characters and logarithmic units. 
+We are interested in user-feedback on these features.
+</p>
+<p>One aspect that deserves mention is that UDUnits, and thus
+<acronym>NCO</acronym>, supports run-time definition of the location of the
+relevant UDUnits databases. 
+With UDUnits version 1<!-- /@w -->, users may specify the directory which
+contains the UDUnits database, <samp>udunits.dat</samp>, via the
+<code>UDUNITS_PATH</code> environment variable.
+With UDUnits version 2<!-- /@w -->, users may specify the UDUnits database file 
+itself, <samp>udunits2.xml</samp>, via the <code>UDUNITS2_XML_PATH</code> 
+environment variable.
+</p><div class="example">
+<pre class="example"># UDUnits1
+export UDUNITS_PATH='/unusual/location/share/udunits'
+# UDUnits2
+export UDUNITS2_XML_PATH='/unusual/location/share/udunits/udunits2.xml'
+</pre></div>
+<p>This run-time flexibility can enable the full functionality of
+pre-built binaries on machines with libraries in different locations.
+</p>
+<a name="index-Climate-and-Forecast-Metadata-Convention"></a>
+<a name="index-CF-conventions-2"></a>
+<p>The <a href="http://www.unidata.ucar.edu/packages/udunits">UDUnits</a>
+package documentation describes the supported formats of time
+dimensions. 
+Among the metadata conventions that adhere to these formats are the  
+<a href="http://cf-pcmdi.llnl.gov">Climate and Forecast (CF) Conventions</a> and the 
+<a href="http://ferret.wrc.noaa.gov/noaa_coop/coop_cdf_profile.html">Cooperative Ocean/Atmosphere Research Data Service (COARDS) Conventions</a>.
+The following ‘<samp>-d arguments</samp>’ extract the same data using 
+commonly encountered time dimension formats: 
+</p><div class="example">
+<pre class="example">-d time,'1918-11-11 00:00:0.0','1939-09-09 00:00:0.0'
+-d time,'1918-11-11 00:00:0.0','1939-09-09 00:00:0.0'
+-d time,'1918-11-11T00:00:0.0Z','1939-09-09T00:00:0.0Z'
+-d time,'1918-11-11','1939-09-09'
+-d time,'1918-11-11','1939-9-9'
+</pre></div>
+<p>All of these formats include at least one dash <kbd>-</kbd> in a
+non-leading character position (a dash in a leading character position 
+is a negative sign). 
+<acronym>NCO</acronym> assumes that a space, colon, or non-leading dash in a
+limit string indicates that a UDUnits units conversion is requested.
+Some date formats like YYYYMMDD that are valid in UDUnits are ambiguous
+to <acronym>NCO</acronym> because it cannot distinguish a purely numerical date
+(i.e., no dashes or text characters in it) from a coordinate or index
+value: 
+</p><div class="example">
+<pre class="example">-d time,1918-11-11 # Interpreted as the date November 11, 1918
+-d time,19181111   # Interpreted as time-dimension index 19181111
+-d time,19181111.  # Interpreted as time-coordinate value 19181111.0
+</pre></div>
+<p>Hence, use the YYYY-MM-DD format rather than YYYYMMDD for dates.
+</p>
+<p>As of version 4.0.0 (January, 2010), <acronym>NCO</acronym> supports some
+calendar attributes specified by the <acronym>CF</acronym> conventions. 
+</p><dl compact="compact">
+<dt><strong>Supported types:</strong></dt>
+<dd><p>"365_day"/"noleap", "360_day", "gregorian", "standard" 
+</p></dd>
+<dt><strong>Unsupported types:</strong></dt>
+<dd><p>"366_day"/"all_leap","proleptic_gregorian","julian","none" 
+</p></dd>
+</dl>
+<p>Unsupported types default to mixed Gregorian/Julian as defined by 
+UDUnits. 
+</p>
+<p>An Example: Consider the following netCDF variable
+</p>
+<div class="example">
+<pre class="example">variables:
+  double lon_cal(lon_cal) ;
+    lon_cal:long_name = "lon_cal" ;
+    lon_cal:units = "days since 1964-2-28 0:0:0" ;
+    lon_cal:calendar = "365_day" ;
+data:
+  lon_cal = 1,2,3,4,5,6,7,8,9,10;
+</pre></div>
+<p>‘<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>.
+</p>
+<a name="index-MKS-units-1"></a>
+<a name="index-God"></a>
+<p>netCDF variables should always be stored with MKS (i.e., God’s) units,
+so that application programs may assume MKS dimensions apply to all
+input variables. 
+The UDUnits feature is intended to alleviate some of the <acronym>NCO</acronym>
+user’s pain when handling MKS units.
+It connects users who think in human-friendly units (e.g.,
+miles, millibars, days) to extract data which are always stored in God’s
+units, MKS (e.g., meters, Pascals, seconds). 
+The feature is not intended to encourage writers to store data in 
+esoteric units (e.g., furlongs, pounds per square inch, fortnights). 
+</p>
+<a name="time_rebase"></a> <!-- http://nco.sf.net/nco.html#time_rebase -->
+<a name="rbs"></a> <!-- http://nco.sf.net/nco.html#rbs --><hr>
+<a name="Rebasing-Time-Coordinate"></a>
+<div class="header">
+<p>
+Next: <a href="#Multiple-Record-Dimensions" accesskey="n" rel="next">Multiple Record Dimensions</a>, Previous: <a href="#UDUnits-Support" accesskey="p" rel="previous">UDUnits Support</a>, Up: <a href="#Common-features" accesskey="u" rel="up">Common features</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Rebasing-Time-Coordinate-1"></a>
+<h3 class="section">3.23 Rebasing Time Coordinate</h3>
+<table class="cartouche" border="1"><tr><td>
+<p>Availability: 
+<code>ncra</code>, <code>ncrcat</code> 
+Short options: None<br>
+</p></td></tr></table>
+
+<p>Time rebasing is invoked when numerous files share a common record
+coordinate, and the record coordinate units change among input files.
+The rebasing is performed automatically if and only if UDUnits is
+installed. 
+Usually rebasing occurs when the recoordinate is a time-based variable, 
+and times are recorded in units of a time-since-basetime, and the
+basetime changes from file to file.
+Since the output file can have only one unit (i.e., one basetime) for
+the record coordinate, <acronym>NCO</acronym>, in such cases, chooses the units
+of the first input file to be the units of the output file.
+It is necessary to “rebase” all the input record variables to this
+output time unit in order for the output file to have the correct
+values.  
+</p>
+<p>For example suppose the time coordinate is in hours and each day in
+January is stored in its own daily file.
+Each daily file records the temperature variable <code>tpt(time)</code> 
+with an (unadjusted) <code>time</code> coordinate value between 0–23 hours,
+and uses the <code>units</code> attribute to advance the base time:
+</p><div class="example">
+<pre class="example">file01.nc time:units="hours since 1990-1-1"   
+file02.nc time:units="hours since 1990-1-2"   
+...
+file31.nc time:units="hours since 1990-1-31"   
+</pre></div>
+
+<div class="example">
+<pre class="example">// Mean noontime temperature in January
+ncra -v tpt -d time,"1990-1-1 12:00:00","1990-1-31 23:59:59",24 \
+      file??.nc noon.nc    
+
+// Concatenate day2 noon through day3 noon records
+ncrcat -v tpt -d time,"1990-1-2 12:00:00","1990-1-3 11:59:59" \ 
+      file01.nc file02.nc file03.nc noon.nc    
+
+// Results: time is "re-based" to the time units in "file01.nc"
+time=36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, \
+     51, 52, 53, 54, 55, 56, 57, 58, 59 ;
+  
+// If we repeat the above command but with only two input files...
+ncrcat -v tpt -d time,"1990-1-2 12:00:00","1990-1-3 11:59:59" \
+      file02.nc file03 noon.nc    
+
+// ...then output time coordinate is based on time units in "file02.nc"
+time = 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, \ 
+     26, 27, 28, 29, 30, 31, 32, 33, 34, 35 ;
+</pre></div>
+<p>As of <acronym>NCO</acronym> version 4.2.1 (August, 2012), <acronym>NCO</acronym>
+automatically rebases not only the record coordinate (<code>time</code>, here) 
+but also any bounds associated with the record coordinate (e.g.,
+<code>time_bnds</code>) (see <a href="#CF-Conventions">CF Conventions</a>).
+</p>
+<a name="mrd"></a> <!-- http://nco.sf.net/nco.html#mrd --><hr>
+<a name="Multiple-Record-Dimensions"></a>
+<div class="header">
+<p>
+Next: <a href="#Missing-Values" accesskey="n" rel="next">Missing Values</a>, Previous: <a href="#Rebasing-Time-Coordinate" accesskey="p" rel="previous">Rebasing Time Coordinate</a>, Up: <a href="#Common-features" accesskey="u" rel="up">Common features</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Multiple-Record-Dimensions-1"></a>
+<h3 class="section">3.24 Multiple Record Dimensions</h3>
+<a name="index-netCDF4-2"></a>
+<a name="index-_002d_002dmrd"></a>
+<a name="index-_002d_002dmultiple_005frecord_005fdimensions"></a>
+<table class="cartouche" border="1"><tr><td>
+<p>Availability: 
+<code>ncecat</code>, <code>ncpdq</code> 
+Short options: None<br>
+Long options: ‘<samp>--mrd</samp>’<br>
+</p></td></tr></table>
+<p>The netCDF3 file format allows only one record dimension, and that
+dimension must be the first dimension (i.e., the least rapidly varying 
+dimension) of any variable in which it appears.
+This imposes certain rules on how operators must perform operations
+that alter the ordering of dimensions or the number of record variables.
+The netCDF4 file format has no such restrictions.
+Files and variables may have any number of record dimensions in any
+order.
+This additional flexibility of netCDF4 can only be realized by
+selectively abandoning the constraints that would make operations
+behave completely consistently between netCDF3 and netCDF4 files.
+</p>
+<p><acronym>NCO</acronym> chooses, by default, to impose netCDF3-based constraints
+on netCDF4 files. 
+This reduces the number of unanticipated consequences and keeps the
+operators functioning in a familiar way.
+Put another way, <acronym>NCO</acronym> limits production of additional record
+dimensions so processing netCDF4 files leads to the same results as
+processing netCDF4 files.
+Users can override this default with the ‘<samp>--mrd</samp>’ (or 
+‘<samp>--multiple_record_dimension</samp>’) switch, which enables netCDF4
+variables to accumulate additional record dimensions.
+</p>
+<p>How can additional record dimensions be produced?
+Most commonly <code>ncecat</code> (in record-aggregate mode) defines a new
+leading record dimension.
+In netCDF4 files this becomes an additional record dimension unless the
+original record dimension is changed to a fixed dimension (as must be
+done in netCDF3 files). 
+Also when <code>ncpdq</code> reorders dimensions it can preserve the
+“record” property of record variables.
+<code>ncpdq</code> tries to define as a record dimension whichever
+dimension ends up first in a record variable, and, in netCDF4 files,
+this becomes an additional record dimension unless the original record
+dimension is changed to a fixed dimension (as must be done in netCDF3
+files). 
+It it easier if <code>ncpdq</code> and <code>ncecat</code> do not increase
+the number of record dimensions in a variable so that is the default.
+Use ‘<samp>--mrd</samp>’ to override this.
+</p>
+<a name="missing_value"></a> <!-- http://nco.sf.net/nco.html#missing_value -->
+<a name="_FillValue"></a> <!-- http://nco.sf.net/nco.html#_FillValue -->
+<a name="fll_val"></a> <!-- http://nco.sf.net/nco.html#fll_val -->
+<a name="mss_val"></a> <!-- http://nco.sf.net/nco.html#mss_val -->
+<a name="mss"></a> <!-- http://nco.sf.net/nco.html#mss --><hr>
+<a name="Missing-Values"></a>
+<div class="header">
+<p>
+Next: <a href="#Chunking" accesskey="n" rel="next">Chunking</a>, Previous: <a href="#Multiple-Record-Dimensions" accesskey="p" rel="previous">Multiple Record Dimensions</a>, Up: <a href="#Common-features" accesskey="u" rel="up">Common features</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Missing-values"></a>
+<h3 class="section">3.25 Missing values</h3>
+<a name="index-missing-values"></a>
+<a name="index-data_002c-missing"></a>
+<a name="index-averaging-data"></a>
+<a name="index-missing_005fvalue"></a>
+<a name="index-_005fFillValue"></a>
+<table class="cartouche" border="1"><tr><td>
+<p>Availability: <code>ncap2</code>, <code>ncbo</code>, <code>nces</code>,
+<code>ncflint</code>, <code>ncpdq</code>, <code>ncra</code>, <code>ncwa</code><br> 
+Short options: None<br>
+</p></td></tr></table>
+
+<p>The phrase <em>missing data</em> 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.  
+<a name="index-arithmetic-operators"></a>
+The <acronym>NCO</acronym> arithmetic operators attempt to handle missing data in
+an intelligent fashion. 
+There are four steps in the <acronym>NCO</acronym> treatment of missing data:
+</p><ol>
+<li> Identifying variables that may contain missing data. 
+
+<p><acronym>NCO</acronym> follows the convention that missing data should be stored
+with the <var>_FillValue</var> specified in the variable’s <code>_FillValue</code> 
+attributes. 
+The <em>only</em> way <acronym>NCO</acronym> recognizes that a variable <em>may</em>
+contain missing data is if the variable has a <code>_FillValue</code>
+attribute. 
+In this case, any elements of the variable which are numerically equal
+to the <var>_FillValue</var> are treated as missing data.
+</p>
+<p><acronym>NCO</acronym> adopted the behavior that the default attribute name, if 
+any, assumed to specify the value of data to ignore is <code>_FillValue</code> 
+with version 3.9.2 (August, 2007).
+Prior to that, the <code>missing_value</code> attribute, if any, was assumed to  
+specify the value of data to ignore.
+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="DOCF32" href="#FOOT32"><sup>32</sup></a>.
+</p>
+<a name="index-ncrename"></a>
+<a name="index-ncatted-3"></a>
+<p>It has been and remains most advisable to create both <code>_FillValue</code> 
+and <code>missing_value</code> attributes with identical values in datasets.
+Many legacy datasets contain only <code>missing_value</code> attributes.
+<acronym>NCO</acronym> can help migrating datasets between these conventions.
+One may use <code>ncrename</code> (see <a href="#ncrename-netCDF-Renamer">ncrename netCDF Renamer</a>) to
+rename all <code>missing_value</code> attributes to <code>_FillValue</code>:
+</p><div class="example">
+<pre class="example">ncrename -a .missing_value,_FillValue inout.nc
+</pre></div>
+<p>Alternatively, one may use
+<code>ncatted</code> (see <a href="#ncatted-netCDF-Attribute-Editor">ncatted netCDF Attribute Editor</a>) to
+add a <code>_FillValue</code> attribute to all variables
+</p><div class="example">
+<pre class="example">ncatted -O -a _FillValue,,o,f,1.0e36 inout.nc
+</pre></div>
+
+</li><li> Converting the <var>_FillValue</var> to the type of the variable, if
+neccessary. 
+
+<p>Consider a variable <var>var</var> of type <var>var_type</var> with a
+<code>_FillValue</code> attribute of type <var>att_type</var> containing the
+value <var>_FillValue</var>.  
+As a guideline, the type of the <code>_FillValue</code> attribute should be
+the same as the type of the variable it is attached to.
+If <var>var_type</var> equals <var>att_type</var> then <acronym>NCO</acronym>
+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. 
+<a name="index-C-language-1"></a>
+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="DOCF33" href="#FOOT33"><sup>33</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
+<code>_FillValue</code> attribute and all data whose data is
+<var>_FillValue</var> to a new value
+(see <a href="#ncatted-netCDF-Attribute-Editor">ncatted netCDF Attribute Editor</a>).
+</p>
+</li><li> Identifying missing data during arithmetic operations.
+
+<a name="index-performance-5"></a>
+<a name="index-operator-speed-4"></a>
+<a name="index-speed-5"></a>
+<a name="index-execution-time-4"></a>
+<a name="index-arithmetic-operators-1"></a>
+<p>When an <acronym>NCO</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.
+Note the <var>_FillValue</var> comparison imposes a performance penalty
+on the operator.
+Arithmetic processing of variables which contain the
+<code>_FillValue</code> attribute always incurs this penalty, even when
+none of the data are missing.
+Conversely, arithmetic processing of variables which do not contain the
+<code>_FillValue</code> attribute never incurs this penalty.
+In other words, do not attach a <code>_FillValue</code> attribute to a
+variable which does not contain missing data.
+This exhortation can usually be obeyed for model generated data, but it
+may be harder to know in advance whether all observational data will be
+valid or not.
+</p>
+</li><li> Treatment of any data identified as missing in arithmetic operators.
+
+<a name="index-nces-1"></a>
+<a name="index-ncra-1"></a>
+<a name="index-ncwa-2"></a>
+<a name="index-ncbo"></a>
+<a name="index-ncflint-1"></a>
+<p><acronym>NCO</acronym> averagers (<code>ncra</code>, <code>nces</code>, <code>ncwa</code>)
+do not count any element with the value <var>_FillValue</var> towards the
+average. 
+<code>ncbo</code> and <code>ncflint</code> define a <var>_FillValue</var> result  
+when either of the input values is a <var>_FillValue</var>.
+Sometimes the <var>_FillValue</var> may change from file to file in a
+multi-file operator, e.g., <code>ncra</code>.
+<acronym>NCO</acronym> is written to account for this (it always compares a
+variable to the <var>_FillValue</var> assigned to that variable in the
+current file). 
+Suffice it to say that, in all known cases, <acronym>NCO</acronym> does “the
+right thing”. 
+</p>
+<p>It is impossible to determine and store the correct result of a binary  
+operation in a single variable.
+One such corner case occurs when both operands have differing
+<var>_FillValue</var> attributes, i.e., attributes with different
+numerical values.
+Since the output (result) of the operation can only have one
+<var>_FillValue</var>, some information may be lost.
+In this case, <acronym>NCO</acronym> always defines the output variable to have
+the same <var>_FillValue</var> as the first input variable.
+Prior to performing the arithmetic operation, all values of the second
+operand equal to the second <var>_FillValue</var> are replaced with the
+first <var>_FillValue</var>.
+Then the arithmetic operation proceeds as normal, comparing each element 
+of each operand to a single <var>_FillValue</var>.
+Comparing each element to two distinct <var>_FillValue</var>’s would be
+much slower and would be no likelier to yield a more satisfactory
+answer. 
+In practice, judicious choice of <var>_FillValue</var> values prevents any
+important information from being lost.
+</p></li></ol>
+
+<a name="chunking"></a> <!-- http://nco.sf.net/nco.html#chunking -->
+<a name="cnk"></a> <!-- http://nco.sf.net/nco.html#cnk -->
+<a name="cnk_sz"></a> <!-- http://nco.sf.net/nco.html#cnk_sz -->
+<a name="chunk_size"></a> <!-- http://nco.sf.net/nco.html#chunk_size --><hr>
+<a name="Chunking"></a>
+<div class="header">
+<p>
+Next: <a href="#Deflation" accesskey="n" rel="next">Deflation</a>, Previous: <a href="#Missing-Values" accesskey="p" rel="previous">Missing Values</a>, Up: <a href="#Common-features" accesskey="u" rel="up">Common features</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Chunking-1"></a>
+<h3 class="section">3.26 Chunking</h3>
+<a name="index-_002d_002dcnk_005fbyt"></a>
+<a name="index-_002d_002dcnk_005fdmn"></a>
+<a name="index-_002d_002dcnk_005fmap"></a>
+<a name="index-_002d_002dcnk_005fplc"></a>
+<a name="index-_002d_002dcnk_005fscl"></a>
+<a name="index-_002d_002dchunk_005fbyte"></a>
+<a name="index-_002d_002dchunk_005fdimension"></a>
+<a name="index-_002d_002dchunk_005fmap"></a>
+<a name="index-_002d_002dchunk_005fpolicy"></a>
+<a name="index-_002d_002dchunk_005fscalar"></a>
+<a name="index-chunking-1"></a>
+<table class="cartouche" border="1"><tr><td>
+<p>Availability: <code>ncap2</code>, <code>ncbo</code>, <code>nces</code>,
+<code>ncecat</code>, <code>ncflint</code>, <code>ncks</code>, <code>ncpdq</code>,
+<code>ncra</code>, <code>ncrcat</code>, <code>ncwa</code><br>
+Short options: none<br>
+Long options: 
+‘<samp>--cnk_byt <var>cnk_sz</var></samp>’, ‘<samp>--chunk_byte <var>cnk_sz</var></samp>’<br>
+‘<samp>--cnk_dmn <var>dmn_nm</var>,<var>cnk_sz</var></samp>’,
+‘<samp>--chunk_dimension <var>dmn_nm</var>,<var>cnk_sz</var></samp>’<br>,
+‘<samp>--cnk_map <var>cnk_map</var></samp>’, ‘<samp>--chunk_map <var>cnk_map</var></samp>’,<br>
+‘<samp>--cnk_plc <var>cnk_plc</var></samp>’, ‘<samp>--chunk_policy <var>cnk_plc</var></samp>’,<br>
+‘<samp>--cnk_scl <var>cnk_sz</var></samp>’, ‘<samp>--chunk_scalar <var>cnk_sz</var></samp>’<br>
+</p></td></tr></table>
+
+<p>All netCDF4-enabled <acronym>NCO</acronym> operators that define variables 
+support a plethora of chunksize options.
+Chunking can significantly accelerate or degrade read/write access
+to large datasets.
+Dataset chunking issues are described in detail
+<a href="http://www.hdfgroup.org/HDF5/doc/H5.user/Chunking.html">here</a>,
+<a href="http://www.unidata.ucar.edu/blogs/developer/en/entry/chunking_data_why_it_matters">here</a>,
+and
+<a href="http://www.unidata.ucar.edu/blogs/developer/en/entry/chunking_data_choosing_shapes">here</a>.
+</p>
+<a name="index-chunking-policy"></a>
+<a name="index-chunking-map"></a>
+<a name="index-chunksize"></a>
+<p>The <acronym>NCO</acronym> chunking implementation is designed to be flexible. 
+Users control three aspects of the chunking implementation.
+These are known as the <em>chunking policy</em>, <em>chunking map</em>,
+and <em>chunksize</em>.
+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. 
+<a name="index-hyperslab-1"></a>
+<a name="index-ncpdq-2"></a>
+<a name="index-packing-1"></a>
+The implementation is a hybrid of the <code>ncpdq</code> packing policies  
+(see <a href="#ncpdq-netCDF-Permute-Dimensions-Quickly">ncpdq netCDF Permute Dimensions Quickly</a>), and the hyperslab
+specifications (see <a href="#Hyperslabs">Hyperslabs</a>).
+Each aspect is intended to have a sensible default, so that most users
+will only need to set one switch to obtain sensible chunking.
+Power users can tune the three switches in tandem to obtain optimal
+performance. 
+</p>
+<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.
+Five chunking policies are currently implemented:<br>   
+<a name="index-all"></a>
+<a name="index-g2d"></a>
+<a name="index-g3d"></a>
+<a name="index-xpl"></a>
+<a name="index-xst"></a>
+<a name="index-cnk_005fall"></a>
+<a name="index-cnk_005fg2d"></a>
+<a name="index-cnk_005fg3d"></a>
+<a name="index-cnk_005fxpl"></a>
+<a name="index-cnk_005fxst"></a>
+<a name="index-plc_005fall"></a>
+<a name="index-plc_005fg2d"></a>
+<a name="index-plc_005fg3d"></a>
+<a name="index-plc_005fxpl"></a>
+<a name="index-plc_005fxst"></a>
+</p><dl compact="compact">
+<dt><em>Chunk All Variables [<em>default</em>]</em></dt>
+<dd><p>Definition: Chunk all variables possible.
+For obvious reasons, scalar variables cannot be chunked.<br>
+Alternate invocation: <code>ncchunk</code><br>
+<var>cnk_plc</var> key values: ‘<samp>all</samp>’, ‘<samp>cnk_all</samp>’, ‘<samp>plc_all</samp>’<br>
+Mnemonic: All<br>
+</p></dd>
+<dt><em>Chunk Variables with at least Two Dimensions</em></dt>
+<dd><p>Definition: Chunk all variables possible with at least two dimensions<br>
+Alternate invocation: none<br>
+<var>cnk_plc</var> key values: ‘<samp>g2d</samp>’, ‘<samp>cnk_g2d</samp>’, ‘<samp>plc_g2d</samp>’<br>
+Mnemonic: <em>G</em>reater than or equal to <em>2</em> <em>D</em>imensions<br>
+</p></dd>
+<dt><em>Chunk Variables with at least Three Dimensions</em></dt>
+<dd><p>Definition: Chunk all variables possible with at least three dimensions<br>
+Alternate invocation: none<br>
+<var>cnk_plc</var> key values: ‘<samp>g3d</samp>’, ‘<samp>cnk_g3d</samp>’, ‘<samp>plc_g3d</samp>’<br>
+Mnemonic: <em>G</em>reater than or equal to <em>3</em> <em>D</em>imensions<br>
+</p></dd>
+<dt><em>Chunk Variables Containing Explicitly Chunked Dimensions</em></dt>
+<dd><p>Definition: Chunk all variables possible that contain at least one
+dimension whose chunksize was explicitly set with the ‘<samp>--cnk_dmn</samp>’ option.
+Alternate invocation: none<br>
+<var>cnk_plc</var> key values: ‘<samp>xpl</samp>’, ‘<samp>cnk_xpl</samp>’, ‘<samp>plc_xpl</samp>’<br>
+Mnemonic: E<em>XPL</em>icitly specified dimensions<br>
+</p></dd>
+<dt><em>Chunk Variables with Existing Chunk Sizes</em></dt>
+<dd><p>Definition: Chunk all variables possible that are already chunked in the
+input file.
+When used in conjunction with ‘<samp>cnk_map=xst</samp>’ this option preserves
+and copies the chunking parameters from the input to the output file.
+Alternate invocation: none<br>
+<var>cnk_plc</var> key values: ‘<samp>xst</samp>’, ‘<samp>cnk_xst</samp>’, ‘<samp>plc_xst</samp>’<br>
+Mnemonic: E<em>X</em>i<em>ST</em>ing chunk sizes<br>
+</p></dd>
+<dt><em>Unchunking</em></dt>
+<dd><p>Definition: Unchunk all variables possible. 
+The <acronym>HDF5</acronym> storge layer requires that record variables (i.e.,
+variables that contain at least one record dimension) must be chunked.
+Also variables that are compressed or use checksums must be chunked.
+Such variables cannot be unchunked.<br>  
+Alternate invocation: <code>ncunchunk</code><br>
+<var>cnk_plc</var> key values: ‘<samp>uck</samp>’, ‘<samp>cnk_uck</samp>’, ‘<samp>plc_uck</samp>’, ‘<samp>unchunk</samp>’<br>
+Mnemonic: <em>U</em>n<em>C</em>hun<em>K</em><br>
+</p></dd>
+</dl>
+<p>Equivalent key values are fully interchangeable.
+Multiple equivalent options are provided to satisfy disparate needs
+and tastes of <acronym>NCO</acronym> users working with scripts and from the
+command line.
+</p>
+<a name="index-chunking-map-1"></a>
+<a name="index-degenerate-dimension"></a>
+<a name="index-cnk_005fmap"></a>
+<a name="index-_002dM-cnk_005fmap"></a>
+<a name="index-_002d_002dcnk_005fmap-cnk_005fmap"></a>
+<a name="index-_002d_002dmap-cnk_005fmap"></a>
+<p>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
+is called the <em>chunking map</em>. 
+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:<br>
+<a name="index-dmn"></a>
+<a name="index-scl"></a>
+<a name="index-prd"></a>
+<a name="index-lfp"></a>
+<a name="index-rd1"></a>
+<a name="index-xst-1"></a>
+<a name="index-rew"></a>
+<a name="index-cnk_005fdmn"></a>
+<a name="index-cnk_005fscl"></a>
+<a name="index-cnk_005fprd"></a>
+<a name="index-cnk_005flfp"></a>
+<a name="index-cnk_005frd1"></a>
+<a name="index-cnk_005fxst-1"></a>
+<a name="index-map_005fdmn"></a>
+<a name="index-map_005fscl"></a>
+<a name="index-map_005fprd"></a>
+<a name="index-map_005flfp"></a>
+<a name="index-map_005frd1"></a>
+<a name="index-map_005fxst"></a>
+<a name="index-Chris-Barker"></a>
+</p><dl compact="compact">
+<dt><em>Chunksize Equals Dimension Size [<em>default</em>]</em></dt>
+<dd><p>Definition: Chunksize defaults to dimension size. 
+Explicitly specify chunksizes for particular dimensions with
+‘<samp>--cnk_dmn</samp>’ option.<br>
+<var>cnk_map</var> key values: ‘<samp>dmn</samp>’, ‘<samp>cnk_dmn</samp>’, ‘<samp>map_dmn</samp>’<br>
+Mnemonic: <em>D</em>i<em>M</em>e<em>N</em>sion<br>
+</p></dd>
+<dt><em>Chunksize Equals Dimension Size except Record Dimension</em></dt>
+<dd><p>Definition: Chunksize equals dimension size except record dimension has size one.
+Explicitly specify chunksizes for particular dimensions with
+‘<samp>--cnk_dmn</samp>’ option.<br>
+<var>cnk_map</var> key values: ‘<samp>rd1</samp>’, ‘<samp>cnk_rd1</samp>’, ‘<samp>map_rd1</samp>’<br>
+Mnemonic: <em>R</em>ecord <em>D</em>imension size <em>1</em><br>
+</p></dd>
+<dt><em>Chunksize Equals Scalar Size Specified</em></dt>
+<dd><p>Definition: Chunksize for all dimensions is set with the
+‘<samp>--cnk_scl</samp>’ option.<br> 
+<var>cnk_map</var> key values: ‘<samp>xpl</samp>’, ‘<samp>cnk_xpl</samp>’, ‘<samp>map_xpl</samp>’<br>
+Mnemonic: E<em>XPL</em>icitly specified dimensions<br>
+</p></dd>
+<dt><em>Chunksize Product Matches Scalar Size Specified</em></dt>
+<dd><p>Definition: The product of the chunksizes for each variable
+matches (approximately equals) the size specified with the
+‘<samp>--cnk_scl</samp>’ option.
+A dimension of size one is said to be <em>degenerate</em>.
+For a variable of rank <var>R</var> (i.e., with <var>R</var> non-degenerate
+dimensions), the chunksize in each non-degenerate dimension is the
+<var>R</var>th root of <var>cnk_scl</var>.<br>
+<var>cnk_map</var> key values: ‘<samp>prd</samp>’, ‘<samp>cnk_prd</samp>’, ‘<samp>map_prd</samp>’<br>
+Mnemonic: <em>PR</em>o<em>D</em>uct<br>
+</p></dd>
+<dt><em>Chunksize Lefter Product Matches Scalar Size Specified</em></dt>
+<dd><p>Definition: The product of the chunksizes for each variable
+(approximately) equals the size specified with the ‘<samp>--cnk_scl</samp>’ 
+option.
+This is accomplished by using dimension sizes as chunksizes for the
+rightmost (most rapidly varying) dimensions, and then “flexing” the
+chunksize of the leftmost (least rapidly varying) dimensions such that 
+the product of all chunksizes matches the specified size.
+All dimensions to the left of and including the first record dimension
+define the left-hand side.
+This map was first proposed by Chris Barker.<br>
+<var>cnk_map</var> key values: ‘<samp>lfp</samp>’, ‘<samp>cnk_lfp</samp>’, ‘<samp>map_lfp</samp>’<br>
+Mnemonic: <em>L</em>e<em>F</em>ter <em>P</em>roduct<br>
+</p></dd>
+<dt><em>Chunksize Equals Existing Chunksize</em></dt>
+<dd><p>Definition: Chunksizes are copied from the input to the output
+file for every variable that is chunked in the input file.
+Variables not chunked in the input file will be chunked with 
+default mappings.<br>
+<var>cnk_map</var> key values: ‘<samp>xst</samp>’, ‘<samp>cnk_xst</samp>’, ‘<samp>map_xst</samp>’<br>
+Mnemonic: E<em>X</em>i<em>ST</em><br>
+</p></dd>
+<dt><em>Chunksize Balances 1D and (N-1)-D Access to N-D Variable</em></dt>
+<dd><p>Definition: Chunksizes are chosen so that 1-D and (<var>(N-1)</var>)-D
+hyperslabs of <var>3</var>-D variables (e.g., point-timeseries orn
+latitude/longitude surfaces of 3-D fields) both require approximately
+the number of chunks. 
+Hence their access time should be balanced.
+Russ Rew explains the motivation and derivation for this strategy 
+<a href="http://www.unidata.ucar.edu/blogs/developer/en/entry/chunking_data_choosing_shapes">here</a>.<br>
+<var>cnk_map</var> key values: ‘<samp>rew</samp>’, ‘<samp>cnk_rew</samp>’, ‘<samp>map_rew</samp>’<br>
+Mnemonic: Russ <em>REW</em><br>
+</p></dd>
+</dl>
+<p>It is possible to combine the above chunking map algorithms with
+user-specified per-dimension (though not per-variable) chunksizes that 
+override specific chunksizes determined by the maps above. 
+The user specifies the per-dimension chunksizes with the (equivalent) 
+long options ‘<samp>--cnk_dmn</samp>’ or ‘<samp>--chunk_dimension</samp>’).
+The option takes two comma-separated arguments,
+<var>dmn_nm</var>,<var>cnk_sz</var>, which are the dimension name and its
+chunksize, respectively. 
+The ‘<samp>--cnk_dmn</samp>’ option may be used as many times as necessary.
+</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
+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
+
+# Chunk data then unchunk it, printing informative metadata
+ncks -O -4 -D 4 --cnk_plc=all ~/nco/data/in.nc ~/foo.nc
+ncks -O -4 -D 4 --cnk_plc=uck ~/foo.nc ~/foo.nc
+
+# Set total chunksize to 8192 B
+ncks -O -4 -D 4 --cnk_plc=all --cnk_byt=8192 ~/nco/data/in.nc ~/foo.nc
+
+# More complex chunking procedures, with informative metadata
+ncks -O -4 -D 4 --cnk_scl=8 ~/nco/data/in.nc ~/foo.nc
+ncks -O -4 -D 4 --cnk_scl=8 dstmch90_clm.nc ~/foo.nc
+ncks -O -4 -D 4 --cnk_dmn lat,64 --cnk_dmn lon,128 dstmch90_clm.nc \ 
+ ~/foo.nc 
+ncks -O -4 -D 4 --cnk_plc=uck ~/foo.nc ~/foo.nc
+ncks -O -4 -D 4 --cnk_plc=g2d --cnk_map=rd1 --cnk_dmn lat,32 \
+ --cnk_dmn lon,128 dstmch90_clm_0112.nc ~/foo.nc
+
+# Chunking works with all operators...
+ncap2 -O -4 -D 4 --cnk_scl=8 -S ~/nco/data/ncap2_tst.nco \ 
+ ~/nco/data/in.nc ~/foo.nc
+ncbo -O -4 -D 4 --cnk_scl=8 -p ~/nco/data in.nc in.nc ~/foo.nc
+ncecat -O -4 -D 4 -n 12,2,1 --cnk_dmn lat,32 \ 
+ -p /data/zender/dstmch90 dstmch90_clm01.nc ~/foo.nc
+ncflint -O -4 -D 4 --cnk_scl=8 ~/nco/data/in.nc ~/foo.nc
+ncpdq -O -4 -D 4 -P all_new --cnk_scl=8 -L 5 ~/nco/data/in.nc ~/foo.nc
+ncrcat -O -4 -D 4 -n 12,2,1 --cnk_dmn lat,32 \ 
+ -p /data/zender/dstmch90 dstmch90_clm01.nc ~/foo.nc
+ncwa -O -4 -D 4 -a time --cnk_plc=g2d --cnk_map=rd1 --cnk_dmn lat,32 \ 
+ --cnk_dmn lon,128 dstmch90_clm_0112.nc ~/foo.nc
+</pre></div>
+
+<a name="index-record-dimension-2"></a>
+<p>It is appropriate to conclude by informing users about an aspect of
+chunking that may not be expected.
+Three types of variables are <em>always</em> chunked: Record variables,
+Deflated (compressed) variables, and Checksummed variables.
+Hence all variables that contain a record dimension are also chunked
+(since data must be chunked in all dimensions, not just one).
+Unless otherwise specified by the user, the other (fixed, non-record) 
+dimensions of record variables are assigned default chunk sizes. 
+The <acronym>HDF5</acronym> layer does all this automatically to optimize the
+on-disk variable/file storage geometry of record variables.
+Do not be surprised to learn that files created without any explicit
+instructions to activate chunking nevertheless contain chunked
+variables. 
+</p>
+<a name="dfl_lvl"></a> <!-- http://nco.sf.net/nco.html#dfl_lvl -->
+<a name="dfl"></a> <!-- http://nco.sf.net/nco.html#dfl -->
+<a name="lz"></a> <!-- http://nco.sf.net/nco.html#lz -->
+<a name="lz77"></a> <!-- http://nco.sf.net/nco.html#lz77 -->
+<a name="deflate"></a> <!-- http://nco.sf.net/nco.html#deflate -->
+<a name="deflation"></a> <!-- http://nco.sf.net/nco.html#deflation --><hr>
+<a name="Deflation"></a>
+<div class="header">
+<p>
+Next: <a href="#MD5-digests" accesskey="n" rel="next">MD5 digests</a>, Previous: <a href="#Chunking" accesskey="p" rel="previous">Chunking</a>, Up: <a href="#Common-features" accesskey="u" rel="up">Common features</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Deflation-1"></a>
+<h3 class="section">3.27 Deflation</h3>
+<a name="index-_002dL"></a>
+<a name="index-_002d_002ddeflate"></a>
+<a name="index-_002d_002ddfl_005flvl"></a>
+<a name="index-Lempel_002dZiv-deflation"></a>
+<a name="index-compression"></a>
+<a name="index-deflation-1"></a>
+<table class="cartouche" border="1"><tr><td>
+<p>Availability: <code>ncap2</code>, <code>ncbo</code>, <code>nces</code>,
+<code>ncecat</code>, <code>ncflint</code>, <code>ncks</code>, <code>ncpdq</code>,
+<code>ncra</code>, <code>ncrcat</code>, <code>ncwa</code><br>
+Short options: ‘<samp>-L</samp>’<br>
+Long options: ‘<samp>--dfl_lvl</samp>’, ‘<samp>--deflate</samp>’<br>  
+</p></td></tr></table>
+
+<p>All <acronym>NCO</acronym> operators that define variables support 
+the netCDF4 feature of storing variables compressed with Lempel-Ziv
+deflation. 
+The Lempel-Ziv algorithm is a lossless data compression technique.
+Activate this deflation with the <code>-L <var>dfl_lvl</var></code> short option
+(or with the same argument to the ‘<samp>--dfl_lvl</samp>’ or ‘<samp>--deflate</samp>’ 
+long options).
+Specify the deflation level <var>dfl_lvl</var> on a scale from 
+no deflation (<var>dfl_lvl = 0</var>) to maximum deflation 
+(<var>dfl_lvl = 9</var>).
+Minimal deflation (<var>dfl_lvl = 1</var>) achieves considerable storage
+compression with little time penalty.
+Higher deflation levels require more time for compression.
+File sizes resulting from minimal (<var>dfl_lvl = 1</var>) and maximal   
+(<var>dfl_lvl = 9</var>) deflation levels typically differ by a few
+percent in size. 
+</p>
+<p>To compress an entire file using deflation, use
+</p><div class="example">
+<pre class="example">ncks -4 -L 0 in.nc out.nc # No deflation (fast, no time penalty)
+ncks -4 -L 1 in.nc out.nc # Minimal deflation (little time penalty)
+ncks -4 -L 9 in.nc out.nc # Maximal deflation (much slower)
+</pre></div>
+
+<p>Unscientific testing shows that deflation compresses typical climate
+datasets by 30-60%.  
+Packing, a lossy compression technique available for all netCDF files 
+(see <a href="#Packed-data">Packed data</a>), can easily compress files by 50%.
+Packed data may be deflated to squeeze datasets by about 80%:
+</p><div class="example">
+<pre class="example">ncks  -4 -L 1 in.nc out.nc # Minimal deflation (~30-60% compression)
+ncks  -4 -L 9 in.nc out.nc # Maximal deflation (~31-63% compression)
+ncpdq         in.nc out.nc # Standard packing  (~50% compression)
+ncpdq -4 -L 9 in.nc out.nc # Deflated packing  (~80% compression)
+</pre></div>
+<a name="index-ncks-1"></a>
+<p><code>ncks</code> prints deflation parameters, if any, to screen
+(see <a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a>).
+</p>
+<a name="md5"></a> <!-- http://nco.sf.net/nco.html#md5 -->
+<a name="digest"></a> <!-- http://nco.sf.net/nco.html#digest -->
+<a name="hash"></a> <!-- http://nco.sf.net/nco.html#hash -->
+<a name="integrity"></a> <!-- http://nco.sf.net/nco.html#integrity -->
+<a name="security"></a> <!-- http://nco.sf.net/nco.html#security --><hr>
+<a name="MD5-digests"></a>
+<div class="header">
+<p>
+Next: <a href="#Buffer-sizes" accesskey="n" rel="next">Buffer sizes</a>, Previous: <a href="#Deflation" accesskey="p" rel="previous">Deflation</a>, Up: <a href="#Common-features" accesskey="u" rel="up">Common features</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="MD5-digests-1"></a>
+<h3 class="section">3.28 MD5 digests</h3>
+<a name="index-_002d_002dmd5_005fdigest"></a>
+<a name="index-_002d_002dmd5_005fdgs"></a>
+<a name="index-_002d_002dmd5_005fwrt_005fatt"></a>
+<a name="index-_002d_002dmd5_005fwrite_005fattribute"></a>
+<a name="index-integrity"></a>
+<a name="index-security"></a>
+<a name="index-digest"></a>
+<a name="index-hash"></a>
+<a name="index-MD5-digest"></a>
+<table class="cartouche" border="1"><tr><td>
+<p>Availability: 
+<code>ncecat</code>, <code>ncks</code>, <code>ncrcat</code><br>
+Short options: <br>
+Long options: ‘<samp>--md5_dgs</samp>’, ‘<samp>--md5_digest</samp>’, ‘<samp>--md5_wrt_att</samp>’, ‘<samp>--md5_write_attribute</samp>’<br>
+</p></td></tr></table>
+
+<p>As of <acronym>NCO</acronym> version 4.1.0 (April, 2012), <acronym>NCO</acronym> 
+supports data integrity verification using the <acronym>MD5</acronym> digest
+algorithm. 
+This support is currently implemented in <code>ncks</code> and in the
+multifile concantenators <code>ncecat</code> and <code>ncrcat</code>.
+Activate it with the ‘<samp>--md5_dgs</samp>’ or ‘<samp>--md5_digest</samp>’ long
+options. 
+As of <acronym>NCO</acronym> version 4.3.3 (July, 2013), <acronym>NCO</acronym> 
+will write the <acronym>MD5</acronym> digest of each variable as an
+<code>NC_CHAR</code> attribute named <code>MD5</code>.
+This support is currently implemented in <code>ncks</code> and in the
+multifile concantenators <code>ncecat</code> and <code>ncrcat</code>.
+Activate it with the ‘<samp>--md5_wrt_att</samp>’ or
+‘<samp>--md5_write_attribute</samp>’ long options.
+</p>
+<p>The behavior and verbosity of the <acronym>MD5</acronym> digest is
+operator-dependent.
+When activating <acronym>MD5</acronym> digests with <code>ncks</code> it is assumed
+that the user simply wishes to see the digest of every variable and this
+is done when the debugging level exceeds one.
+This incurs only the minor overhead of performing the hash algorithm for
+each variable read.
+<acronym>MD5</acronym> digests may be activated in both the one- and two-filename
+argument forms of <code>ncks</code>, which are used for printing and for
+sub-setting, respectively.
+The <acronym>MD5</acronym> digests are shown as a 32-character hexadecimal string 
+in which each two characters represent one byte of the 16-byte digest:
+</p><div class="example">
+<pre class="example">> ncks -O -D 2 -C --md5 -v md5_a,md5_abc ~/nco/data/in.nc
+...
+ncks: INFO MD5(md5_a) = 0cc175b9c0f1b6a831c399e269772661
+md5_a = 'a' 
+ncks: INFO MD5(md5_abc) = 900150983cd24fb0d6963f7d28e17f72
+lev[0]=100 md5_abc[0--2]='abc' 
+> ncks -O -D 2 -C -d lev,0 --md5 -v md5_a,md5_abc ~/nco/data/in.nc
+...
+ncks: INFO MD5(md5_a) = 0cc175b9c0f1b6a831c399e269772661
+md5_a = 'a' 
+ncks: INFO MD5(md5_abc) = 0cc175b9c0f1b6a831c399e269772661
+lev[0]=100 md5_abc[0--0]='a' 
+</pre></div>
+<p>In fact these examples demonstrate the validity of the hash algorithm
+since the <acronym>MD5</acronym> hashes of the strings “a” and “abc” are
+widely known.
+The second example shows that the hyperslab of variable <code>md5_abc</code>
+(= “abc”) consisting of only its first letter (= “a”) has the same
+hash as the variable <code>md5_a</code> (“a”).
+This illustrates that <acronym>MD5</acronym> digests act only on variable data,
+not on metadata. 
+</p>
+<p>When activating <acronym>MD5</acronym> digests with <code>ncecat</code> or
+<code>ncrcat</code> it is assumed that the user wishes to verify
+that every variable written to disk has the same <acronym>MD5</acronym> digest 
+as when it is subsequently read from disk.
+This incurs the major additional overhead of reading in each variable
+after it is written and performing the hash algorithm again on that to
+compare to the original hash.
+Moreover, it is assumed that such operations are generally done
+“production mode” where the user is not interested in actually
+examining the digests herself.
+The digests proceed silently unless the debugging level exceeds three:
+</p><div class="example">
+<pre class="example">> ncecat -O -D 4 --md5 -p ~/nco/data in.nc in.nc ~/foo.nc | grep MD5
+...
+ncecat: INFO MD5(wnd_spd) = bec190dd944f2ce2794a7a4abf224b28
+ncecat: INFO MD5 digests of RAM and disk contents for wnd_spd agree
+> ncrcat -O -D 4 --md5 -p ~/nco/data in.nc in.nc ~/foo.nc | grep MD5
+...
+ncrcat: INFO MD5(wnd_spd) = 74699bb0a72b7f16456badb2c995f1a1
+ncrcat: INFO MD5 digests of RAM and disk contents for wnd_spd agree
+</pre></div>
+<p>Regardless of the debugging level, an error is returned when the digests
+of the variable read from the source file and from the output file
+disagree.  
+</p>
+<p>These rules are evolving and as <acronym>NCO</acronym> pays more attention to
+data integrity. 
+We welcome feedback and suggestions from users.
+</p>
+<a name="bfr_sz_hnt"></a> <!-- http://nco.sf.net/nco.html#bfr_sz_hnt -->
+<a name="bfr"></a> <!-- http://nco.sf.net/nco.html#bfr -->
+<a name="buffer"></a> <!-- http://nco.sf.net/nco.html#buffer --><hr>
+<a name="Buffer-sizes"></a>
+<div class="header">
+<p>
+Next: <a href="#RAM-disks" accesskey="n" rel="next">RAM disks</a>, Previous: <a href="#MD5-digests" accesskey="p" rel="previous">MD5 digests</a>, Up: <a href="#Common-features" accesskey="u" rel="up">Common features</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Buffer-sizes-1"></a>
+<h3 class="section">3.29 Buffer sizes</h3>
+<a name="index-_002d_002dbfr_005fsz_005fhnt"></a>
+<a name="index-Buffer-sizes"></a>
+<a name="index-File-buffers"></a>
+<a name="index-stat_0028_0029-system-call"></a>
+<a name="index-I_002fO-block-size"></a>
+<a name="index-System-calls"></a>
+<table class="cartouche" border="1"><tr><td>
+<p>Availability: All operators<br>
+Short options: <br>
+Long options: ‘<samp>--bfr_sz_hnt</samp>’, ‘<samp>--buffer_size_hint</samp>’<br>  
+</p></td></tr></table>
+
+<p>As of <acronym>NCO</acronym> version 4.2.0 (May, 2012), <acronym>NCO</acronym> 
+allows the user to request specific buffer sizes to allocate for reading 
+and writing files.
+This buffer size determines how many system calls the netCDF layer must
+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="DOCF34" href="#FOOT34"><sup>34</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.
+Because netCDF cannot guarantee the buffer size request will be met, the 
+actual buffer size granted by the system is printed as an INFO
+statement. 
+</p><div class="example">
+<pre class="example"># Request 2 MB file buffer instead of default 8 kB buffer
+> ncks -O -D 3 --bfr_sz=2097152 ~/nco/data/in.nc ~/foo.nc
+...
+ncks: INFO nc__open() will request file buffer size = 2097152 bytes
+ncks: INFO nc__open() opened file with buffer size = 2097152 bytes
+...
+</pre></div>
+
+<a name="ram_all"></a> <!-- http://nco.sf.net/nco.html#ram_all -->
+<a name="ram"></a> <!-- http://nco.sf.net/nco.html#ram -->
+<a name="diskless"></a> <!-- http://nco.sf.net/nco.html#diskless --><hr>
+<a name="RAM-disks"></a>
+<div class="header">
+<p>
+Next: <a href="#Packed-data" accesskey="n" rel="next">Packed data</a>, Previous: <a href="#Buffer-sizes" accesskey="p" rel="previous">Buffer sizes</a>, Up: <a href="#Common-features" accesskey="u" rel="up">Common features</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="RAM-disks-1"></a>
+<h3 class="section">3.30 RAM disks</h3>
+<a name="index-_002d_002dram_005fall-1"></a>
+<a name="index-_002d_002dcreate_005fram-1"></a>
+<a name="index-_002d_002dopen_005fram-2"></a>
+<a name="index-_002d_002ddiskless_005fall-1"></a>
+<a name="index-RAM-disks-1"></a>
+<a name="index-RAM-files-1"></a>
+<a name="index-NC_005fDISKLESS"></a>
+<a name="index-diskless-files"></a>
+<a name="index-memory-requirements-2"></a>
+<a name="index-memory-available-1"></a>
+<a name="index-RAM-1"></a>
+<a name="index-swap-space-2"></a>
+<a name="index-peak-memory-usage-1"></a>
+<table class="cartouche" border="1"><tr><td>
+<p>Availability: All operators<br>
+Short options: <br>
+Long options: ‘<samp>--ram_all</samp>’, ‘<samp>--create_ram</samp>’, ‘<samp>--open_ram</samp>’,
+‘<samp>--diskless_all</samp>’<br>   
+</p></td></tr></table>
+
+<p>As of <acronym>NCO</acronym> version 4.2.1 (August, 2012), <acronym>NCO</acronym> supports
+the use of diskless files, aka <acronym>RAM</acronym> disks, for file access and creation. 
+Two independent switches, ‘<samp>--open_ram</samp>’ and ‘<samp>--create_ram</samp>’,
+control this feature. 
+Before describing the specifics of these switches, we describe why many 
+<acronym>NCO</acronym> operations will not benefit from them.
+Essentially, reading/writing from/to <acronym>RAM</acronym> rather than disk only hastens 
+the task when reads/writes to disk are avoided.
+Most <acronym>NCO</acronym> operations are simple enough that they require a
+single read-from/write-to disk for every block of input/output. 
+Diskless access does not change this, but it does add an extra
+read-from/write-to RAM. 
+However this extra <acronym>RAM</acronym> write/read does avoid contention for limited
+system resources like disk-head access.
+Operators which may benefit from <acronym>RAM</acronym> disks include <code>ncwa</code>, which
+may need to read weighting variables multiple times, the multi-file 
+operators <code>ncra</code>, <code>ncrcat</code>, and <code>ncecat</code>,
+which may try to write output at least once per input file, and
+<code>ncap2</code> scripts which may be arbitrarily long and convoluted. 
+</p>
+<p>The ‘<samp>--open_ram</samp>’ switch causes input files to copied to <acronym>RAM</acronym> when
+opened. 
+All further metadata and data access occurs in <acronym>RAM</acronym> and thus avoids
+access time delays caused by disk-head movement.
+Usually input data is read at most once so it is unlikely that
+requesting input files be stored in <acronym>RAM</acronym> will save much time.
+The likeliest exceptions are files that are accessed numerous times,
+such as those analyzed extensively analyzed by <code>ncap2</code>. 
+</p>
+<p>Invoking ‘<samp>--open_ram</samp>’, ‘<samp>--ram_all</samp>’, or ‘<samp>--diskless_all</samp>’
+uses much more system memory.
+To copy the input file to <acronym>RAM</acronym> increases the sustained
+memory use by exactly the on-disk filesize of the input file, i.e.,
+<em>MS += FT</em>.
+For large input files this can be a huge memory burden that starves
+the rest of the <acronym>NCO</acronym> analysis of sufficient <acronym>RAM</acronym>.
+To be safe, use ‘<samp>--open_ram</samp>’, ‘<samp>--ram_all</samp>’, or
+‘<samp>--diskless_all</samp>’ only on files that are much (say at least a factor
+of four) smaller than your available system <acronym>RAM</acronym>.
+See <a href="#Memory-Requirements">Memory Requirements</a> for further details. 
+</p>
+<a name="index-RAM-variables"></a>
+<p>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
+operator completes.
+Creating files in <acronym>RAM</acronym> may save time, especially with <code>ncap2</code>
+computations that are iterative, e.g., loops, and for multi-file
+operators that write output every record (timestep) or file.
+RAM files provide many of the same benefits as <acronym>RAM</acronym> variables in such
+cases (see <a href="#RAM-variables">RAM variables</a>). 
+</p>
+<p>Two switches, ‘<samp>--ram_all</samp>’ and ‘<samp>--diskless_all</samp>’, are convenient
+shortcuts for specifying both ‘<samp>--create_ram</samp>’ and
+‘<samp>--diskless_ram</samp>’. 
+Thus
+</p><div class="example">
+<pre class="example">ncks in.nc out.nc # Default: Open in.nc on disk, write out.nc to disk
+ncks --open_ram in.nc out.nc # Open in.nc in RAM, write out.nc to disk
+ncks --create_ram in.nc out.nc # Create out.nc in RAM, write to disk
+# Open in.nc in RAM, create out.nc in RAM, then write out.nc to disk
+ncks --open_ram --create_ram in.nc out.nc
+ncks --ram_all in.nc out.nc # Same as above
+ncks --diskless_all in.nc out.nc # Same as above
+</pre></div>
+
+<p>It is straightforward to demonstrate the efficacy of <acronym>RAM</acronym> disks.
+For <acronym>NASA</acronym> we constructed a test that employs <code>ncecat</code>
+an arbitrary number (set to one hundred thousand) of files are all
+symbolically linked to the same file. 
+Everything is on the local filesystem (not <acronym>DAP</acronym>).
+</p><div class="example">
+<pre class="example"># Create symbolic links for benchmark
+cd ${DATA}/nco # Do all work here
+for idx in {1..99999}; do
+  idx_fmt=`printf "%05d" ${idx}`
+  /bin/ln -s ${DATA}/nco/LPRM-AMSR_E_L3_D_SOILM3_V002-20120512T111931Z_20020619.nc \
+             ${DATA}/nco/${idx_fmt}.nc
+done
+# Benchmark time to ncecat one hundred thousand files
+time ncecat --create_ram -O -u time -v ts -d Latitude,40.0 \ 
+ -d Longitude,-105.0 -p ${DATA}/nco -n 99999,5,1 00001.nc ~/foo.nc
+</pre></div>
+<p>Run normally on a laptop in 201303, this completes in 21 seconds<!-- /@w -->.
+The ‘<samp>--create_ram</samp>’ reduces the elapsed time to 9 seconds<!-- /@w -->.
+Some of this speed may be due to using symlinks and caching.
+However, the efficacy of ‘<samp>--create_ram</samp>’ is clear.
+Placing the output file in <acronym>RAM</acronym> avoids thousands of disk writes.
+It is not unreasonable to for <acronym>NCO</acronym> to process a million files
+like this in a few minutes. 
+However, there is no substitute for benchmarking with real files.
+</p>
+<a name="index-temporary-output-files-1"></a>
+<a name="index-temporary-files-1"></a>
+<a name="index-_002d_002dno_005ftmp_005ffl-1"></a>
+<p>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 
+(see <a href="#Temporary-Output-Files">Temporary Output Files</a>).
+</p>
+<a name="pck"></a> <!-- http://nco.sf.net/nco.html#pck -->
+<a name="pack"></a> <!-- http://nco.sf.net/nco.html#pack --><hr>
+<a name="Packed-data"></a>
+<div class="header">
+<p>
+Next: <a href="#Operation-Types" accesskey="n" rel="next">Operation Types</a>, Previous: <a href="#RAM-disks" accesskey="p" rel="previous">RAM disks</a>, Up: <a href="#Common-features" accesskey="u" rel="up">Common features</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Packed-data-1"></a>
+<h3 class="section">3.31 Packed data</h3>
+<a name="index-packing-2"></a>
+<a name="index-unpacking-1"></a>
+<a name="index-add_005foffset-1"></a>
+<a name="index-scale_005ffactor"></a>
+<a name="index-missing_005fvalue-1"></a>
+<a name="index-_005fFillValue-1"></a>
+<a name="index-pack_0028x_0029"></a>
+<a name="index-unpack_0028x_0029"></a>
+<a name="index-_002d_002dhdf_005fupk"></a>
+<a name="index-_002d_002dhdf_005funpack"></a>
+<table class="cartouche" border="1"><tr><td>
+<p>Availability: <code>ncap2</code>, <code>ncbo</code>, <code>nces</code>,
+<code>ncflint</code>, <code>ncpdq</code>, <code>ncra</code>, <code>ncwa</code><br> 
+Short options: None<br>
+Long options: ‘<samp>--hdf_upk</samp>’, ‘<samp>--hdf_unpack</samp>’<br>
+</p></td></tr></table>
+
+<p>The phrase <em>packed data</em> refers to data which are stored in the
+standard netCDF3 packing format which employs a lossy algorithm.
+See <a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a> for a description of deflation, a 
+lossless compression technique available with netCDF4 only.
+Packed data may be deflated to save additional space.
+</p>
+<a name="Packing-Algorithm"></a>
+<h4 class="unnumberedsubsec">Packing Algorithm</h4>
+<p><em>Packing</em>
+The standard netCDF packing algorithm (described
+<a href="http://www.unidata.ucar.edu/software/netcdf/docs/netcdf/Attribute-Conventions.html">here</a>)
+produces data with
+the same dynamic range as the original but which requires no more than
+half the space to store.
+Like all packing algorithms, it is <em>lossy</em>.
+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="DOCF35" href="#FOOT35"><sup>35</sup></a>.
+Let <var>min</var> and <var>max</var> be the minimum and maximum values 
+of <var>x</var>.<!-- /@w --> 
+</p><br>
+<p><var>scale_factor</var> = (<var>max</var>-<var>min</var>)/<var>ndrv</var><br>
+<var>add_offset</var> = 0.5*(<var>min</var>+<var>max</var>)<br>
+<var>pck</var> = (<var>upk</var>-<var>add_offset</var>)/<var>scale_factor</var> = (<var>upk</var>-0.5*(<var>min</var>+<var>max</var>))*<var>ndrv</var>/(<var>max</var>-<var>min</var>)<br> 
+</p><br>
+<p>where <var>ndrv</var> is the number of discrete representable values for
+given type of packed variable.
+The theoretical maximum value for <var>ndrv</var> is two raised to the
+number of bits used to store the packed variable.
+Thus if the variable is packed into type <code>NC_SHORT</code>, a two-byte
+datatype, then there are at most <em>2^{16} = 65536</em> distinct values
+representable.
+In practice, the number of discretely representible values is taken
+to be two less than the theoretical maximum.
+This leaves space for a missing value and solves potential problems with
+rounding that may occur during the unpacking of the variable.
+Thus for <code>NC_SHORT</code>, <em>ndrv = 65536 - 2 = 65534</em>.
+Less often, the variable may be packed into type <code>NC_CHAR</code>, 
+where <em>ndrv = 2^{8} - 2 = 256 - 2 = 254</em>, or type <code>NC_INT</code> where
+where <em>ndrv = 2^{32} - 2 = 4294967295 - 2 = 4294967293</em>.
+One useful feature of (lossy) netCDF packing algorithm is that
+additional, loss-less packing algorithms perform well on top of it. 
+</p>
+<a name="upk"></a> <!-- http://nco.sf.net/nco.html#upk -->
+<a name="unpack"></a> <!-- http://nco.sf.net/nco.html#unpack --><a name="Unpacking-Algorithm"></a>
+<h4 class="unnumberedsubsec">Unpacking Algorithm</h4>
+<p><em>Unpacking</em>
+The unpacking algorithm depends on the presence of two attributes,
+<code>scale_factor</code> and <code>add_offset</code>.
+If <code>scale_factor</code> is present for a variable, the data are
+multiplied by the value <var>scale_factor</var> after the data are read.
+If <code>add_offset</code> is present for a variable, then the
+<var>add_offset</var> value is added to the data after the data are read.
+If both <code>scale_factor</code> and <code>add_offset</code> attributes are
+present, the data are first scaled by <var>scale_factor</var> before the
+offset <var>add_offset</var> is added.   
+</p><br>
+<p><var>upk</var> = <var>scale_factor</var>*<var>pck</var> + <var>add_offset</var> = (<var>max</var>-<var>min</var>)*<var>pck</var>/<var>ndrv</var> + 0.5*(<var>min</var>+<var>max</var>)<br>
+</p><br>
+<p>When <code>scale_factor</code> and <code>add_offset</code> are used for packing, the
+associated variable (containing the packed data) is typically of type
+<code>byte</code> or <code>short</code>, whereas the unpacked values are intended to
+be of type <code>int</code>, <code>float</code>, or <code>double</code>. 
+An attribute’s <code>scale_factor</code> and <code>add_offset</code> and
+<code>_FillValue</code>, if any, should all be of the type intended for the
+unpacked data, i.e., <code>int</code>, <code>float</code> or <code>double</code>. 
+</p>
+<a name="Default-Handling-of-Packed-Data"></a>
+<h4 class="unnumberedsubsec">Default Handling of Packed Data</h4>
+<a name="hdf_upk"></a> <!-- http://nco.sf.net/nco.html#hdf_upk -->
+<a name="hdf_unpack"></a> <!-- http://nco.sf.net/nco.html#hdf_unpack --><a name="index-interoperability"></a>
+<a name="index-HDF-unpacking"></a>
+<p>Most files originally written in <acronym>HDF</acronym> format use the
+<acronym>HDF</acronym> packing/unpacking algorithm.
+This algorithm is incompatible with the netCDF packing algorithm 
+described above.   
+The unpacking component of the <acronym>HDF</acronym> algorithm (described
+<a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame10Datasets.html">here</a>) is
+</p><br>
+<p><var>upk</var> = <var>scale_factor</var>*(<var>pck</var> - <var>add_offset</var>)<br>
+</p><br>
+<p>Confusingly, the (incompatible) netCDF and <acronym>HDF</acronym> algorithms both 
+store their parameters in attributes with the same names
+(<code>scale_factor</code> and <code>add_offset</code>).
+Data packed with one algorithm should never be unpacked with the other;
+doing so will result in incorrect answers.
+Unfortunately, few users are aware that their datasets may be packed,
+and fewer know the details of the packing algorithm employed.
+This is what we in the “bizness” call an <em>interoperability</em> issue
+because it hampers data analysis performed on heterogeneous systems.
+</p>
+<p>As described below, <acronym>NCO</acronym> automatically unpacks data before
+performing arithmetic.
+This automatic unpacking occurs silently since there is usually no
+reason to bother users with these details. 
+There is as yet no generic way for <acronym>NCO</acronym> to know which
+packing convention was used, so <acronym>NCO</acronym> <em>assumes</em> the netCDF 
+convention was used. 
+<acronym>NCO</acronym> uses the same convention for unpacking unless explicitly
+told otherwise with the ‘<samp>--hdf_upk</samp>’ (also ‘<samp>--hdf_unpack</samp>’)
+switch. 
+Until and unless a method of automatically detecting the packing method 
+is devised, it must remain the user’s responsibility to tell
+<acronym>NCO</acronym> when to use the <acronym>HDF</acronym> convention instead of the
+netCDF convention to unpack. 
+</p>
+<p>If your data originally came from an <acronym>HDF</acronym> file (e.g.,
+<acronym>NASA</acronym> <acronym>EOS</acronym>) then it was likely packed with the
+<acronym>HDF</acronym> convention and must be unpacked with the same convention.
+Our recommendation is to only request <acronym>HDF</acronym> unpacking when you 
+are certain. 
+Most packed datasets encountered by <acronym>NCO</acronym> will have used the
+netCDF convention.
+Those that were not will hopefully produce noticeably weird values when
+unpacked by the wrong algorithm.
+Before or after panicking, treat this as a clue to re-try your commands
+with the ‘<samp>--hdf_upk</samp>’ switch.
+See <a href="#ncpdq-netCDF-Permute-Dimensions-Quickly">ncpdq netCDF Permute Dimensions Quickly</a> for an easy technique
+to unpack data packed with the <acronym>HDF</acronym> convention, and then
+re-pack it with the netCDF convention.
+</p>
+<a name="Default-Handling-of-Packed-Data-1"></a>
+<h4 class="unnumberedsubsec">Default Handling of Packed Data</h4>
+<p>All <acronym>NCO</acronym> arithmetic operators understand packed data.
+The operators automatically unpack any packed variable in the input 
+file which will be arithmetically processed.
+For example, <code>ncra</code> unpacks all record variables, 
+and <code>ncwa</code> unpacks all variable which contain a dimension to 
+be averaged.
+These variables are stored unpacked in the output file.
+</p>
+<p>On the other hand, arithmetic operators do not unpack non-processed
+variables. 
+For example, <code>ncra</code> leaves all non-record variables packed, 
+and <code>ncwa</code> leaves packed all variables lacking an averaged
+dimension.  
+These variables (called fixed variables) are passed unaltered from the
+input to the output file. 
+Hence fixed variables which are packed in input files remain packed in
+output files.
+Completely packing and unpacking files is easily accomplished with
+<code>ncpdq</code> (see <a href="#ncpdq-netCDF-Permute-Dimensions-Quickly">ncpdq netCDF Permute Dimensions Quickly</a>).
+Pack and unpack individual variables with <code>ncpdq</code> and the
+<code>ncap2</code> <code>pack()</code> and <code>unpack()</code> functions
+(see <a href="#Methods-and-functions">Methods and functions</a>).
+</p>
+<a name="op_typ"></a> <!-- http://nco.sf.net/nco.html#op_typ --><hr>
+<a name="Operation-Types"></a>
+<div class="header">
+<p>
+Next: <a href="#Type-Conversion" accesskey="n" rel="next">Type Conversion</a>, Previous: <a href="#Packed-data" accesskey="p" rel="previous">Packed data</a>, Up: <a href="#Common-features" accesskey="u" rel="up">Common features</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Operation-Types-1"></a>
+<h3 class="section">3.32 Operation Types</h3>
+<a name="index-operation-types"></a>
+<a name="index-avg"></a>
+<a name="index-sqravg"></a>
+<a name="index-avgsqr"></a>
+<a name="index-min"></a>
+<a name="index-max"></a>
+<a name="index-rmssdn"></a>
+<a name="index-rms"></a>
+<a name="index-ttl"></a>
+<a name="index-sqrt"></a>
+<a name="index-average"></a>
+<a name="index-mean"></a>
+<a name="index-total"></a>
+<a name="index-minimum"></a>
+<a name="index-maximum"></a>
+<a name="index-root_002dmean_002dsquare"></a>
+<a name="index-standard-deviation"></a>
+<a name="index-variance"></a>
+<a name="index-_002dy-op_005ftyp"></a>
+<a name="index-_002d_002doperation-op_005ftyp"></a>
+<a name="index-_002d_002dop_005ftyp-op_005ftyp"></a>
+<table class="cartouche" border="1"><tr><td>
+<p>Availability: <code>ncap2</code>, <code>ncra</code>, <code>nces</code>, <code>ncwa</code><br>
+Short options: ‘<samp>-y</samp>’<br>
+Long options: ‘<samp>--operation</samp>’, ‘<samp>--op_typ</samp>’<br>
+</p></td></tr></table>
+<p>The ‘<samp>-y <var>op_typ</var></samp>’ switch allows specification of many different
+types of operations 
+Set <var>op_typ</var> to the abbreviated key for the corresponding operation:
+</p><dl compact="compact">
+<dt><code>avg</code></dt>
+<dd><p>Mean value
+</p></dd>
+<dt><code>sqravg</code></dt>
+<dd><p>Square of the mean
+</p></dd>
+<dt><code>avgsqr</code></dt>
+<dd><p>Mean of sum of squares
+</p></dd>
+<dt><code>max</code></dt>
+<dd><p>Maximium value
+</p></dd>
+<dt><code>min</code></dt>
+<dd><p>Minimium value
+</p></dd>
+<dt><code>rms</code></dt>
+<dd><p>Root-mean-square (normalized by <var>N</var>)
+</p></dd>
+<dt><code>rmssdn</code></dt>
+<dd><p>Root-mean square (normalized by <var>N-1</var>)
+</p></dd>
+<dt><code>sqrt</code></dt>
+<dd><p>Square root of the mean
+</p></dd>
+<dt><code>ttl</code></dt>
+<dd><p>Sum of values
+</p></dd>
+</dl>
+<a name="index-coordinate-variable-1"></a>
+<p><acronym>NCO</acronym> assumes coordinate variables represent grid axes, e.g.,
+longitude. 
+The only rank-reduction which makes sense for coordinate variables
+is averaging.
+Hence <acronym>NCO</acronym> implements the operation type requested with
+‘<samp>-y</samp>’ on all non-coordinate variables, not on coordinate variables.  
+When an operation requires a coordinate variable to be reduced in
+rank, i.e., from one dimension to a scalar or from one dimension to
+a degenerate (single value) array, then <acronym>NCO</acronym> 
+<em>always averages</em> the coordinate variable regardless of the
+arithmetic operation type performed on the non-coordinate variables.
+</p>
+<p>The mathematical definition of each arithmetic operation is given below. 
+See <a href="#ncwa-netCDF-Weighted-Averager">ncwa netCDF Weighted Averager</a>, for additional information on
+masks and normalization.
+If an operation type is not specified with ‘<samp>-y</samp>’ then the operator
+performs an arithmetic average by default.
+Averaging is described first so the terminology for the other operations
+is familiar. 
+</p>
+<table class="cartouche" border="1"><tr><td>
+<p><b>Note for HTML users</b>: 
+<br>The definition of mathematical operations involving rank reduction
+(e.g., averaging) relies heavily on mathematical expressions which
+cannot easily be represented in HTML.  
+<b>See the <a href="./nco.pdf">printed manual</a> for much more detailed
+and complete documentation of this subject.</b></td></tr></table>
+
+<p>The definitions of some of these operations are not universally useful.
+Mostly they were chosen to facilitate standard statistical
+computations within the <acronym>NCO</acronym> framework.
+We are open to redefining and or adding to the above. 
+If you are interested in having other statistical quantities
+defined in <acronym>NCO</acronym> please contact the <acronym>NCO</acronym> project
+(see <a href="#Help-Requests-and-Bug-Reports">Help Requests and Bug Reports</a>).  
+</p>
+<p>EXAMPLES
+</p>
+<a name="min"></a> <!-- http://nco.sf.net/nco.html#min -->
+<a name="max"></a> <!-- http://nco.sf.net/nco.html#max -->
+<a name="rms"></a> <!-- http://nco.sf.net/nco.html#rms --><p>Suppose you wish to examine the variable <code>prs_sfc(time,lat,lon)</code> 
+which contains a time series of the surface pressure as a function of
+latitude and longitude.
+Find the minimium value of <code>prs_sfc</code> over all dimensions:
+</p><div class="example">
+<pre class="example">ncwa -y min -v prs_sfc in.nc foo.nc 
+</pre></div>
+<p>Find the maximum value of <code>prs_sfc</code> at each time interval for each
+latitude: 
+</p><div class="example">
+<pre class="example">ncwa -y max -v prs_sfc -a lon in.nc foo.nc
+</pre></div>
+<p>Find the root-mean-square value of the time-series of <code>prs_sfc</code> at
+every gridpoint:
+</p><div class="example">
+<pre class="example">ncra -y rms -v prs_sfc in.nc foo.nc
+ncwa -y rms -v prs_sfc -a time in.nc foo.nc
+</pre></div>
+<p>The previous two commands give the same answer but <code>ncra</code> is
+preferred because it has a smaller memory footprint.
+<a name="index-degenerate-dimension-1"></a>
+A dimension of size one is said to be <em>degenerate</em>.
+By default, <code>ncra</code> leaves the (degenerate) <code>time</code>
+dimension in the output file (which is usually useful) whereas
+<code>ncwa</code> removes the <code>time</code> dimension (unless ‘<samp>-b</samp>’ is
+given).
+</p>
+<p>These operations work as expected in multi-file operators.
+Suppose that <code>prs_sfc</code> is stored in multiple timesteps per file
+across multiple files, say <samp>jan.nc</samp>, <samp>feb.nc</samp>,
+<samp>march.nc</samp>.  
+We can now find the three month maximium surface pressure at every point.
+</p><div class="example">
+<pre class="example">nces -y max -v prs_sfc jan.nc feb.nc march.nc out.nc
+</pre></div>
+
+<a name="standard_deviation"></a> <!-- http://nco.sf.net/nco.html#standard_deviation -->
+<a name="stddvn"></a> <!-- http://nco.sf.net/nco.html#stddvn -->
+<a name="sdn"></a> <!-- http://nco.sf.net/nco.html#sdn -->
+<a name="sdv"></a> <!-- http://nco.sf.net/nco.html#sdv -->
+<a name="xmp_sdn"></a> <!-- http://nco.sf.net/nco.html#xmp_sdn --><a name="index-standard-deviation-1"></a>
+<p>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.
+The procedure to compute the temporal standard deviation of the surface
+pressure at all points in a single file <samp>in.nc</samp> involves three
+steps. 
+</p><div class="example">
+<pre class="example">ncwa -O -v prs_sfc -a time in.nc out.nc
+ncbo -O -v prs_sfc in.nc out.nc out.nc 
+ncra -O -y rmssdn out.nc out.nc
+</pre></div>
+<p>First construct the temporal mean of <code>prs_sfc</code> in the file
+<samp>out.nc</samp>.
+Next overwrite <samp>out.nc</samp> with the anomaly (deviation from the mean).
+Finally overwrite <samp>out.nc</samp> with the root-mean-square of itself. 
+Note the use of ‘<samp>-y rmssdn</samp>’ (rather than ‘<samp>-y rms</samp>’) in the
+final step. 
+This ensures the standard deviation is correctly normalized by one fewer
+than the number of time samples.
+The procedure to compute the variance is identical except for the use of 
+‘<samp>-y var</samp>’ instead of ‘<samp>-y rmssdn</samp>’ in the final step.
+</p>
+<p><code>ncap2</code> can also compute statistics like standard deviations.
+Brute-force implementation of formulae is one option, e.g.,
+</p><div class="example">
+<pre class="example">ncap2 -s 'prs_sfc_sdn=sqrt((prs_sfc-prs_sfc.avg($time)^2).total($time)/($time.size-1))'
+      in.nc out.nc
+</pre></div>
+<p>The operation may, of course, be broken into multiple steps in order  
+to archive intermediate quantities, such as the time-anomalies
+</p><div class="example">
+<pre class="example">ncap2 -s 'prs_sfc_anm=prs_sfc-prs_sfc.avg($time)' \
+      -s 'prs_sfc_sdn=sqrt((prs_sfc_anm^2).total($time)/($time.size-1))' \
+      in.nc out.nc
+</pre></div>
+
+<p><code>ncap2</code> supports intrinsic standard deviation functions
+(see <a href="#Operation-Types">Operation Types</a>) which simplify the above expression to
+</p><div class="example">
+<pre class="example">ncap2 -s 'prs_sfc_sdn=(prs_sfc-prs_sfc.avg($time)).rmssdn($time)' in.nc out.nc
+</pre></div>
+<p>These instrinsic functions compute the answer quickly and concisely.
+</p>
+<p>The procedure to compute the spatial standard deviation of a field
+in a single file <samp>in.nc</samp> involves three steps.
+</p><div class="example">
+<pre class="example">ncwa -O -v prs_sfc,gw -a lat,lon -w gw in.nc out.nc
+ncbo -O -v prs_sfc,gw in.nc out.nc out.nc
+ncwa -O -y rmssdn -v prs_sfc -a lat,lon -w gw out.nc out.nc
+</pre></div>
+<p>First the appropriately weighted (with ‘<samp>-w gw</samp>’) spatial mean values
+are written to the output file.  
+This example includes the use of a weighted variable specified with
+‘<samp>-w gw</samp>’. 
+When using weights to compute standard deviations one must remember to
+include the weights in the initial output files so that they may be used
+again in the final step. 
+The initial output file is then overwritten with the gridpoint
+deviations from the spatial mean.
+Finally the root-mean-square of the appropriately weighted spatial
+deviations is taken.  
+</p>
+<p>The <code>ncap2</code> solution to the spatially-weighted standard
+deviation problem is 
+</p><div class="example">
+<pre class="example">ncap2 -s 'prs_sfc_sdn=(prs_sfc*gw-prs_sfc*gw.avg($lat,$lon)).rmssdn($lat,$lon)' \
+      in.nc out.nc
+</pre></div>
+<p>Be sure to multiply the variable by the weight prior to computing the
+the anomalies and the standard deviation.
+</p>
+<p>The procedure to compute the standard deviation of a time-series across
+multiple files involves one extra step since all the input must first be
+collected into one file. 
+</p><div class="example">
+<pre class="example">ncrcat -O -v tpt in.nc in.nc foo1.nc
+ncwa -O -a time foo1.nc foo2.nc
+ncbo -O -v tpt foo1.nc foo2.nc foo3.nc
+ncra -O -y rmssdn foo3.nc out.nc
+</pre></div>
+<p>The first step assembles all the data into a single file.
+Though this may consume a lot of temporary disk space, it is more or
+less required by the <code>ncbo</code> operation in the third step.
+</p>
+<a name="typ_cnv"></a> <!-- http://nco.sf.net/nco.html#typ_cnv --><hr>
+<a name="Type-Conversion"></a>
+<div class="header">
+<p>
+Next: <a href="#Batch-Mode" accesskey="n" rel="next">Batch Mode</a>, Previous: <a href="#Operation-Types" accesskey="p" rel="previous">Operation Types</a>, Up: <a href="#Common-features" accesskey="u" rel="up">Common features</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Type-Conversion-1"></a>
+<h3 class="section">3.33 Type Conversion</h3>
+<a name="index-type-conversion"></a>
+<table class="cartouche" border="1"><tr><td>
+<p>Availability (automatic type conversion): <code>ncap2</code>, <code>ncbo</code>, <code>nces</code>,
+<code>ncflint</code>, <code>ncra</code>, <code>ncwa</code><br> 
+Short options: None (it’s <em>automatic</em>)<br>
+Availability (manual type conversion): <code>nces</code>, <code>ncra</code>, <code>ncwa</code><br> 
+Short options: None<br>
+Long options: ‘<samp>--dbl</samp>’, ‘<samp>--flt</samp>’, ‘<samp>--rth_dbl</samp>’, ‘<samp>--rth_flt</samp>’<br> 
+</p></td></tr></table>
+<a name="index-promotion"></a>
+<a name="index-demotion"></a>
+<a name="index-automatic-type-conversion"></a>
+<a name="index-manual-type-conversion"></a>
+<p>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).  
+Type conversion always <em>promotes</em> or <em>demotes</em> the range and/or 
+precision of the values a variable can hold.
+Type conversion is automatic when the language carries out this
+promotion according to an internal set of rules without explicit user 
+intervention. 
+In contrast, manual type conversion refers to explicit user commands to
+change the type of a variable or attribute.
+Most type conversion happens automatically, yet there are situations in
+which manual type conversion is advantageous.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">• <a href="#Automatic-type-conversion" accesskey="1">Automatic type conversion</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Promoting-Single_002dprecision-to-Double" accesskey="2">Promoting Single-precision to Double</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Manual-type-conversion" accesskey="3">Manual type conversion</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<hr>
+<a name="Automatic-type-conversion"></a>
+<div class="header">
+<p>
+Next: <a href="#Promoting-Single_002dprecision-to-Double" accesskey="n" rel="next">Promoting Single-precision to Double</a>, Previous: <a href="#Type-Conversion" accesskey="p" rel="previous">Type Conversion</a>, Up: <a href="#Type-Conversion" accesskey="u" rel="up">Type Conversion</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Automatic-type-conversion-1"></a>
+<h4 class="subsection">3.33.1 Automatic type conversion</h4>
+
+<p>There are at least two reasons to avoid type conversions.
+First, type conversions are expensive since they require creating
+(temporary) buffers and casting each element of a variable from its 
+storage type to some other type and then, often, converting it back.
+Second, a dataset’s creator perhaps had a good reason for storing 
+data as, say, <code>NC_FLOAT</code> rather than <code>NC_DOUBLE</code>.  
+In a scientific framework there is no reason to store data with more
+precision than the observations merit.
+Normally this is single-precision, which guarantees 6–9 digits of
+precision. 
+Reasons to engage in type conversion include avoiding rounding 
+errors and out-of-range limitations of less-precise types.
+This is the case with most integers.
+Thus <acronym>NCO</acronym> defaults to automatically promote integer types to
+floating point when performing lengthy arithmetic, yet <acronym>NCO</acronym>
+defaults to not promoting single to double-precision floats.
+</p>
+<p>Before discussing the more subtle floating point issues, we first
+examine integer promotion. 
+We will show how following parsimonious conversion rules dogmatically
+can cause problems, and what <acronym>NCO</acronym> does about that. 
+That said, there are situations in which implicit conversion of
+single- to double-precision is also warranted.
+Understanding the narrowness of these situations takes time, and we
+hope the reader appreciates the following detailed discussion.
+</p>
+<p>Consider the average of the two <code>NC_SHORT</code>s <code>17000s</code> and
+<code>17000s</code>.
+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="DOCF36" href="#FOOT36"><sup>36</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="DOCF37" href="#FOOT37"><sup>37</sup></a>: 
+</p><ol>
+<li> The requested operation is arithmetic.
+This is why type conversion is limited to the operators <code>ncap2</code>, 
+<code>ncbo</code>, <code>nces</code>, <code>ncflint</code>, <code>ncra</code>, and
+<code>ncwa</code>.   
+</li><li> The arithmetic operation could benefit from type conversion.
+Operations that could benefit include averaging, summation, or any
+"hard" arithmetic that could overflow or underflow.  
+Larger representable sums help avoid overflow, and more precision
+helps to avoid underflow.
+Type conversion does not benefit searching for minima and maxima
+(‘<samp>-y min</samp>’, or ‘<samp>-y max</samp>’).
+</li><li> The variable on disk is of type <code>NC_BYTE</code>, <code>NC_CHAR</code>,
+<code>NC_SHORT</code>, or <code>NC_INT</code>.
+Type <code>NC_DOUBLE</code> is not promoted because there is no type of
+higher precision.
+Conversion of type <code>NC_FLOAT</code> is discussed in detail below. 
+When it occurs, it follows the same procedure (promotion then
+arithmetic then demotion) as conversion of integer types.
+</li></ol>
+
+<p>When these criteria are all met, the operator promotes the variable in
+question to type <code>NC_DOUBLE</code>, performs all the arithmetic
+operations, casts the <code>NC_DOUBLE</code> type back to the original type,
+and finally writes the result to disk. 
+The result written to disk may not be what you expect, because of
+incommensurate ranges represented by different types, and because of
+(lack of) rounding.
+First, continuing the above example, the average (e.g., ‘<samp>-y avg</samp>’)
+of <code>17000s</code> and <code>17000s</code> is written to disk as <code>17000s</code>. 
+The type conversion feature of <acronym>NCO</acronym> makes this possible since
+the arithmetic and intermediate values are stored as <code>NC_DOUBLE</code>s,
+i.e., <code>34000.0d</code> and only the final result must be represented
+as an <code>NC_SHORT</code>.
+Without the type conversion feature of <acronym>NCO</acronym>, the average would
+have been garbage (albeit predictable garbage near <code>-15768s</code>). 
+Similarly, the total (e.g., ‘<samp>-y ttl</samp>’) of <code>17000s</code> and
+<code>17000s</code> written to disk is garbage (actually <code>-31536s</code>) since 
+the final result (the true total) of <em>34000</em> is outside the range
+of type <code>NC_SHORT</code>.  
+</p>
+<a name="index-trunc_0028_0029"></a>
+<p>After arithmetic is computed in double-precision for promoted variables,
+the intermediate double-precision values must be demoted to the
+variables’ original storage type (e.g., from <code>NC_DOUBLE</code> to
+<code>NC_SHORT</code>). 
+<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="DOCF38" href="#FOOT38"><sup>38</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
+<code>1.8d</code> to the same value, <code>1s</code>. 
+Clearly, truncation does not round floating point numbers to the nearest
+integer! 
+Yet truncation is how the C language<!-- /@w --> performs implicit conversion of 
+real numbers to integers.
+</p>
+<a name="index-Neil-Davis"></a>
+<p><acronym>NCO</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 <code>ncpdq</code>.
+This led to <acronym>NCO</acronym> adopting rounding functions for demotion.
+Rounding functions eliminated the small bias in the packing algorithm.
+</p>
+<a name="index-lround_0028_0029_002e"></a>
+<p>From February, 2012 through March, 2013 (versions 4.0.9–4.2.6),
+<acronym>NCO</acronym> employed the C library<!-- /@w --> family of rounding functions,
+<code>lround()</code>. 
+These functions round <var>x</var> to the nearest integer, halfway cases away
+from zero.
+The problem with <code>lround()</code> is that it always rounds real values
+ending in <code>.5</code> away from zero.
+This rounds, for example, <code>1.5d</code> and <code>2.5d</code> to <code>1s</code>
+and <code>2s</code>, respectively.
+</p>
+<a name="index-lrint_0028_0029_002e"></a>
+<a name="index-IEEE"></a>
+<p>Since April, 2013 (version 4.3.0), <acronym>NCO</acronym> has employed the 
+other C library<!-- /@w --> family of rounding functions, <code>lrint()</code>. 
+This algorithm rounds <var>x</var> to the nearest integer, using the current 
+rounding direction.
+Halfway cases are rounded to the nearest even integer.
+This rounds, for example, both <code>1.5d</code> and <code>2.5d</code> to the same
+value, <code>2s</code>, as recommended by the <acronym>IEEE</acronym>.
+This rounding is symmetric: up half the time, down half the time.
+This is the current and hopefully final demotion algorithm employed by  
+<acronym>NCO</acronym>.
+</p>
+<p>Hence because of automatic conversion, <acronym>NCO</acronym> will compute the
+average of <code>2s</code> and <code>3s</code> in double-precision arithmetic as 
+<em>(<code>2.0d</code> + <code>3.0d</code>)/<code>2.0d</code>) = <code>2.5d</code></em>.
+It then demotes this intermediate result back to <code>NC_SHORT</code> and
+stores it on disk as  
+<em><code>trunc(2.5d)</code> = <code>2s</code></em> (versions up to 4.0.8), 
+<em><code>lround(2.5d)</code> = <code>3s</code></em> (versions 4.0.9–4.2.6), and
+<em><code>lrint(2.5d)</code> = <code>2s</code></em> (versions 4.3.0 and later).
+</p>
+<a name="sp_dp"></a> <!-- http://nco.sf.net/nco.html#sp_dp -->
+<a name="dbl"></a> <!-- http://nco.sf.net/nco.html#dbl --><hr>
+<a name="Promoting-Single_002dprecision-to-Double"></a>
+<div class="header">
+<p>
+Next: <a href="#Manual-type-conversion" accesskey="n" rel="next">Manual type conversion</a>, Previous: <a href="#Automatic-type-conversion" accesskey="p" rel="previous">Automatic type conversion</a>, Up: <a href="#Type-Conversion" accesskey="u" rel="up">Type Conversion</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Promoting-Single_002dprecision-to-Double-1"></a>
+<h4 class="subsection">3.33.2 Promoting Single-precision to Double</h4>
+<a name="index-promotion-1"></a>
+<a name="index-implicit-conversion"></a>
+<a name="index-_002d_002ddbl"></a>
+<a name="index-_002d_002drth_005fdbl"></a>
+<a name="index-_002d_002dflt"></a>
+<a name="index-_002d_002drth_005fflt"></a>
+<p>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
+number of operations.
+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="DOCF39" href="#FOOT39"><sup>39</sup></a>.
+And the <acronym>IEEE</acronym> double-precision representation
+gives from 15 to 17<!-- /@w --> significant decimal digits precision
+<a name="DOCF40" href="#FOOT40"><sup>40</sup></a>. 
+Hence double-precision numbers represent about nine digits more
+precision than single-precision numbers.
+</p>
+<p>Given these properties, there are at least two possible arithmetic
+conventions for the treatment of real numbers:
+<a name="index-C-language-3"></a>
+<a name="index-Fortran"></a>
+</p><ol>
+<li> Conservative, aka Fortran Convention
+Automatic type conversion during arithmetic in the Fortran language is,
+by default, performed only when necessary. 
+All operands in an operation are converted to the most precise type
+involved the operation before the arithmetic operation.
+Expressions which involve only single-precision numbers are computed
+entirely in single-precision.
+Expressions involving mixed precision types are computed in the type
+of higher precision.
+<acronym>NCO</acronym> by default employs the Fortan Convention for promotion.
+</li><li> Aggressive, aka C Convention
+The C language<!-- /@w --> is by default much more aggressive (and thus
+wasteful) than Fortran, and will always implicitly convert single- 
+to double-precision numbers for no good reason.
+All real-number standard C library<!-- /@w --> functions are double-precision, 
+and C programmers<!-- /@w --> must take extra steps to only utilize single
+precision arithmetic.
+The high level interpreted data analysis languages <acronym>IDL</acronym>,
+Matlab, and <acronym>NCL</acronym> all adopt the C Convention<!-- /@w -->.
+</li></ol>
+
+<p><acronym>NCO</acronym> does not automatically promote <code>NC_FLOAT</code> because, in
+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="DOCF41" href="#FOOT41"><sup>41</sup></a>.
+That said, such promotion is warranted in some circumstances.
+</p>
+<p>For example, rounding errors can accumulate to worrisome levels during
+arithmetic performed on large arrays of single-precision floats. 
+This use-case occurs often in geoscientific studies of climate where
+thousands-to-millions of gridpoints may contribute to a single average.
+If the inputs are all single-precision, then so should be the output.
+However the intermediate results where running sums are accumulated may  
+suffer from too much rounding or from underflow unless computed in
+double-precision. 
+</p>
+<p>The order of operations matters to floating point math even when the
+analytic expressions are equal. 
+Cautious users feel disquieted when results from equally valid analyses
+differ in the final bits instead of agreeing bit-for-bit.
+For example, averaging arrays in multiple stages produces different
+answers than averaging them in one step. 
+This is easily seen in the computation of ensemble averages by two
+different methods.
+The <acronym>NCO</acronym> test file <samp>in.nc</samp> contains single- and
+double-precision representations of the same temperature timeseries as 
+<code>tpt_flt</code> and <code>tpt_dbl</code>.  
+Pretend each datapoint in this timeseries represents a monthly-mean
+temperature. 
+We will mimic the derivation of a fifteen-year ensemble-mean January
+temperature by concatenating the input file five times, and then
+averaging the datapoints representing January two different ways.
+In Method 1<!-- /@w --> we derive the 15-year ensemble January average in two 
+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="DOCF42" href="#FOOT42"><sup>42</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">
+<pre class="example"># tpt_flt and tpt_dbl are identical except for precision
+ncks --cdl -C -v tpt_flt,tpt_dbl ~/nco/data/in.nc
+# tpt_dbl = 273.1, 273.2, 273.3, 273.4, 273.5, 273.6, 273.7, 273.8, 273.9, 274
+# tpt_flt = 273.1, 273.2, 273.3, 273.4, 273.5, 273.6, 273.7, 273.8, 273.9, 274
+# Create file with five "ten-month years" (i.e., 50 timesteps) of temperature data
+ncrcat -O -v tpt_flt,tpt_dbl -p ~/nco/data in.nc in.nc in.nc in.nc in.nc ~/foo.nc
+# Average 1st five "Januaries" (elements 1, 11, 21, 31, 41)
+ncra --flt -O -F -d time,1,,10 ~/foo.nc ~/foo_avg1.nc
+# Average 2nd five "Januaries" (elements 2, 12, 22, 32, 42)
+ncra --flt -O -F -d time,2,,10 ~/foo.nc ~/foo_avg2.nc
+# Average 3rd five "Januaries" (elements 3, 13, 23, 33, 43)
+ncra --flt -O -F -d time,3,,10 ~/foo.nc ~/foo_avg3.nc
+# Method 1: Obtain ensemble January average by averaging the averages
+ncra --flt -O ~/foo_avg1.nc ~/foo_avg2.nc ~/foo_avg3.nc ~/foo_avg_mth1.nc
+# Method 2: Obtain ensemble January average by averaging the raw data
+# Employ ncra's "subcycle" feature (http://nco.sf.net/nco.html#ssc)
+ncra --flt -O -F -d time,1,,10,3 ~/foo.nc ~/foo_avg_mth2.nc
+# Difference the two methods
+ncbo -O ~/foo_avg_mth1.nc ~/foo_avg_mth2.nc ~/foo_avg_dff.nc
+ncks --cdl ~/foo_avg_dff.nc
+# tpt_dbl = 5.6843418860808e-14 ;
+# tpt_flt = -3.051758e-05 ;
+</pre></div>
+<p>Although the two methods are arithmetically equivalent, they produce
+slightly different answers due to the different order of operations.
+Moreover, it appears at first glance that the single-precision
+answers suffer from greater error than the double-precision answers.
+In fact both precisions suffer from non-zero rounding errors.
+The answers differ negligibly to machine precision, which is about 
+seven significant figures for single precision floats (<code>tpt_flt</code>),
+and sixteen significant figures for double precision (<code>tpt_dbl</code>).
+The input precision determines the answer precision.
+</p>
+<p>IEEE arithmetic guarantees that two methods will produce bit-for-bit
+identical answers only if they compute the same operations in the same  
+order.  
+Bit-for-bit identical answers may also occur by happenstance when 
+rounding errors exactly compensate one another.
+This is demonstrated by repeating the example above with the
+‘<samp>--dbl</samp>’ (or ‘<samp>--rth_dbl</samp>’ for clarity) option which forces
+conversion of single-precision numbers to double-precision prior to
+arithmetic. 
+Now <code>ncra</code> will treat the first value of <code>tpt_flt</code>,
+<code>273.1000f</code>, as <code>273.1000000000000d</code>. 
+Arithmetic on <code>tpt_flt</code> then proceeds in double-precision until the
+final answer, which is converted back to single-precision for final
+storage. 
+</p><div class="example">
+<pre class="example"># Average 1st five "Januaries" (elements 1, 11, 21, 31, 41)
+ncra --dbl -O -F -d time,1,,10 ~/foo.nc ~/foo_avg1.nc
+# Average 2nd five "Januaries" (elements 2, 12, 22, 32, 42)
+ncra --dbl -O -F -d time,2,,10 ~/foo.nc ~/foo_avg2.nc
+# Average 3rd five "Januaries" (elements 3, 13, 23, 33, 43)
+ncra --dbl -O -F -d time,3,,10 ~/foo.nc ~/foo_avg3.nc
+# Method 1: Obtain ensemble January average by averaging the averages
+ncra --dbl -O ~/foo_avg1.nc ~/foo_avg2.nc ~/foo_avg3.nc ~/foo_avg_mth1.nc
+# Method 2: Obtain ensemble January average by averaging the raw data
+# Employ ncra's "subcycle" feature (http://nco.sf.net/nco.html#ssc)
+ncra --dbl -O -F -d time,1,,10,3 ~/foo.nc ~/foo_avg_mth2.nc
+# Difference the two methods
+ncbo -O ~/foo_avg_mth1.nc ~/foo_avg_mth2.nc ~/foo_avg_dff.nc
+# Show differences
+ncks --cdl ~/foo_avg_dff.nc
+# tpt_dbl = 5.6843418860808e-14 ;
+# tpt_flt = 0 ;
+</pre></div>
+<p>The ‘<samp>--dbl</samp>’ switch has no effect on the results computed from
+double-precision inputs.
+But now the two methods produce bit-for-bit identical results from the
+single-precision inputs!
+This is due to the happenstance of rounding along with the effects of 
+the ‘<samp>--dbl</samp>’ switch.
+The ‘<samp>--flt</samp>’ and ‘<samp>--rth_flt</samp>’ switches are provided for
+symmetry.
+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
+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 arithmetic. 
+The primary advantage is that rounding errors in double-precision are 
+much less likely to accumulate to values near the precision of the 
+underlying geophysical variable. 
+</p>
+<p>For example, if we know temperature to five significant digits, then a
+rounding error of 1-bit could affect the least precise digit of
+temperature after 1,000–10,000 consecutive one-sided rounding
+errors under the worst possible scenario.
+Many geophysical grids have tens-of-thousands to millions of points
+that must be summed prior to normalization to compute an average.
+It is possible for single-precision rouding errors to accumulate and
+degrade the precision in such situtations. 
+Double-precision arithmetic mititgates this problem, so ‘<samp>--dbl</samp>’
+would be warranted. 
+</p>
+<a name="index-TREFHT"></a>
+<a name="index-CAM3"></a>
+<a name="index-GCM-1"></a>
+<p>This can be seen with another example, averaging a global surface
+temperature field with <code>ncwa</code>.
+The input contains a single-precision global temperature field
+(stored in <code>TREFHT</code>) produced by the <acronym>CAM3</acronym> general
+circulation model (<acronym>GCM</acronym>) run and stored at 1.9 by 2.5<!-- /@w -->
+degrees resolution. 
+This requires 94 latitudes<!-- /@w --> and 144 longitudes<!-- /@w -->, or <em>13,824</em> 
+total surface gridpoints, a typical GCM resolution these days.
+These input characteristics are provided only to show the context
+to the interested reader, equivalent results would be found in 
+statistics of any dataset of comparable size.
+Models often represent Earth on a spherical grid where global averages 
+must be created by weighting each gridcell by its latitude-dependent
+weight (i.e., the Gaussian weight stored in <code>gw</code>), or by the
+surface area of each contributing gridpoint (stored in <code>area</code>).
+</p>
+<p>Like many geophysical models and most <acronym>GCM</acronym>s, <acronym>CAM3</acronym>
+runs completely in double-precision yet stores its archival output in
+single-precision to save space.
+In practice such models usually save multi-dimensional prognostic and
+diagnostic fields (like <code>TREFHT(lat,lon)</code> and <code>area(lat,lon)</code>)
+as single-precision, while saving all one-dimensional coordinates and
+weights (here <code>lat</code>, <code>lon</code>, and <code>gw(lon)</code>) as
+double-precision.  
+To obtain pure double-precision arithmetic <em>and</em> storage of the 
+globla mean temperature, we first create and store double-precision
+versions of the single-precision fields:
+</p><div class="example">
+<pre class="example">ncap2 -O -s 'TREFHT_dbl=double(TREFHT);area_dbl=double(area)' in.nc in.nc
+</pre></div>
+<p>The single- and double-precision temperatures may each be averaged
+globally using four permutations for the precision of the weight
+and of the intermediate arithmetic representation:
+</p><ol>
+<li> Single-precision weight (<code>area</code>), single-precision arithmetic
+</li><li> Double-precision weight (<code>gw</code>),   single-precision arithmetic
+</li><li> Single-precision weight (<code>area</code>), double-precision arithmetic
+</li><li> Double-precision weight (<code>gw</code>),   double-precision arithmetic
+</li></ol>
+<div class="example">
+<pre class="example"># NB: Values below are printed with C-format %5.6f using
+# ncks -H -C -s '%5.6f' -v TREFHT,TREFHT_dbl out.nc
+# Single-precision weight (area), single-precision arithmetic
+ncwa --flt -O -a lat,lon -w area in.nc out.nc
+# TREFHT     = 289.246735 
+# TREFHT_dbl = 289.239964
+# Double-precision weight (gw),   single-precision arithmetic
+ncwa --flt -O -a lat,lon -w gw   in.nc out.nc
+# TREFHT     = 289.226135
+# TREFHT_dbl = 289.239964
+# Single-precision weight (area), double-precision arithmetic
+ncwa --dbl -O -a lat,lon -w area in.nc out.nc
+# TREFHT     = 289.239960
+# TREFHT_dbl = 289.239964
+# Double-precision weight (gw),   double-precision arithmetic
+ncwa --dbl -O -a lat,lon -w gw   in.nc out.nc
+# TREFHT     = 289.239960
+# TREFHT_dbl = 289.239964
+</pre></div>
+<p>First note that the <code>TREFHT_dbl</code> average never changes because 
+<code>TREFHT_dbl(lat,lon)</code> is double-precision in the input file.
+As described above, <acronym>NCO</acronym> automatically converts all operands
+involving to the highest precision involved in the operation.
+So specifying ‘<samp>--dbl</samp>’ is redundant for double-precision inputs.
+</p>
+<p>Second, the single-precision arithmetic averages of the single-precision
+input <code>TREFHT</code> differ by <em>289.246735 - 289.226135 = 0.0206</em>
+from eachother, and, more importantly, by as much as 
+<em>289.239964 - 289.226135 = 0.013829</em> from the correct
+(double-precision) answer.
+These averages differ in the fifth digit, i.e., they agree only to four
+significant figures!
+Given that climate scientists are concerned about global temperature
+variations of a tenth of a degree or less, this difference is large.
+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. 
+</p>
+<a name="index-rounding"></a>
+<a name="index-random-walk"></a>
+<p>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 
+weights.  
+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="DOCF43" href="#FOOT43"><sup>43</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>
+rounding errors is zero.
+And the error of any given sequence of rounding errors obeys, for large 
+series, a Gaussian distribution centered on zero.
+</p>
+<a name="index-mantissa"></a>
+<a name="index-exponent"></a>
+<p>Single-precision numbers use three of their four eight-bit bytes to
+represent the mantissa so the smallest representable single-precision
+mantissa is <em>\epsilon \equiv 2^{-23} = 1.19209 \times 10^{-7}</em>.
+This <em>\epsilon</em> is the smallest <var>x</var> such that 
+<em>1.0 + x \ne 1.0</em>.
+This is the rounding error for non-exact precision-numbers.
+Applying random walk theory to rounding, it can be shown that the
+expected rounding error after <var>n</var> inexact operations is
+<em>\sqrt{2n/\pi}</em> for large <var>n</var><!-- /@w -->.
+The expected (i.e., mean absolute) rounding error in our example with
+<em>13,824</em> additions is about 
+<em>\sqrt{2 \times 13824 / \pi} = 91.96</em>.
+Hence, addition alone of about fifteen thousand single-precision floats
+is expected to consume about two significant digits of precision.
+This neglects the error due to the inner product (weights times values)
+and normalization (division by tally) aspects of a weighted average.
+the ratio of two numbers each containing a numerical bias can magnify
+the size of the bias. 
+In summary, a global mean number computed from about 15,000 gridpoints
+each with weights can be expected to lose up to three significant digits.
+Since single-precision starts with about seven significant digits, we
+should not expect to retain more than four significant digits after
+computing weighted averages in single-precision.
+The above example with <code>TREFHT</code> shows the expected four digits of
+agreement. 
+</p>
+<a name="index-beer"></a>
+<p>The <acronym>NCO</acronym> results have been independently validated to the
+extent possible in three other languages: 
+C<!-- /@w -->, Matlab, and <acronym>NCL</acronym>. 
+C and <acronym>NCO</acronym> are the only languages that permit single-precision 
+numbers to be treated with single precision arithmetic:
+</p><div class="example">
+<pre class="example"># Double-precision weight (gw),   single-precision arithmetic (C)
+ncwa_3528514.exe
+# TREFHT     = 289.240112
+# Double-precision weight (gw),   double-precision arithmetic (C)
+# TREFHT     = 289.239964
+# Single-precision weight (area), double-precision arithmetic (Matlab)
+# TREFHT     = 289.239964
+# Double-precision weight (gw),   double-precision arithmetic (Matlab)
+# TREFHT     = 289.239964
+# Single-precision weight (area), double-precision arithmetic (NCL)
+ncl < ncwa_3528514.ncl
+# TREFHT     = 289.239960
+# TREFHT_dbl = 289.239964
+# Double-precision weight (gw),   double-precision arithmetic (NCL)
+# TREFHT     = 289.239960
+# TREFHT_dbl = 289.239964
+</pre></div>
+<p>All languages tested (C, Matlab, <acronym>NCL</acronym>, and <acronym>NCO</acronym>) agree
+to machine precision with double-precision arithmetic.
+Users are fortunate to have a variety of high quality software that 
+liberates them from the drudgery of coding their own.
+Many packages are free (as in beer)!
+As shown above <acronym>NCO</acronym> permits one to shift to their
+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
+mixed-precision expressions, and left-alone pure single-precision
+expressions.  
+This is faster and more memory efficient than other conventions.
+However, pure single-precision arithmetic can lose too much precision
+when used to condense (e.g., average) large arrays.
+Statistics involving about <em>n = 10,000</em> single-precision inputs
+will lose about 2–3<!-- /@w --> digits if not promoted to double-precision
+prior to arithmetic. 
+The loss scales with the squareroot of <var>n</var><!-- /@w -->. 
+For larger <var>n</var>, users should promote floats with the ‘<samp>--dbl</samp>’ 
+option if they want to preserve more than four significant digits in
+their results. 
+</p>
+<p>The ‘<samp>--dbl</samp>’ and ‘<samp>--flt</samp>’ switches are only available with the
+<acronym>NCO</acronym> arithmetic operators that could potentially perform more
+than a few  single-precision floating point operations per result.
+These are <code>nces</code>, <code>ncra</code>, and <code>ncwa</code>.
+Each is capable of thousands to millions or more operations per result. 
+By contrast, the arithmetic operators <code>ncbo</code> and
+<code>ncflint</code> perform at most one floating point operation per
+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.
+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
+environment variable (<acronym>GSL</acronym> does this a lot).
+Please let us know what you think of the selected defaults and options.
+</p>
+<hr>
+<a name="Manual-type-conversion"></a>
+<div class="header">
+<p>
+Previous: <a href="#Promoting-Single_002dprecision-to-Double" accesskey="p" rel="previous">Promoting Single-precision to Double</a>, Up: <a href="#Type-Conversion" accesskey="u" rel="up">Type Conversion</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Manual-type-conversion-1"></a>
+<h4 class="subsection">3.33.3 Manual type conversion</h4>
+<a name="index-ncap2-2"></a>
+<p><code>ncap2</code> provides intrinsic functions for performing manual type
+conversions.
+This, for example, converts variable <code>tpt</code> to external type
+<code>NC_SHORT</code> (a C-type <code>short</code>), and variable <code>prs</code> to
+external type <code>NC_DOUBLE</code> (a C-type <code>double</code>). 
+</p><div class="example">
+<pre class="example">ncap2 -s 'tpt=short(tpt);prs=double(prs)' in.nc out.nc
+</pre></div>
+<p>See <a href="#ncap2-netCDF-Arithmetic-Processor">ncap2 netCDF Arithmetic Processor</a>, for more details.
+</p>
+<a name="ovr"></a> <!-- http://nco.sf.net/nco.html#ovr -->
+<a name="-O"></a> <!-- http://nco.sf.net/nco.html#-O --><hr>
+<a name="Batch-Mode"></a>
+<div class="header">
+<p>
+Next: <a href="#History-Attribute" accesskey="n" rel="next">History Attribute</a>, Previous: <a href="#Type-Conversion" accesskey="p" rel="previous">Type Conversion</a>, Up: <a href="#Common-features" accesskey="u" rel="up">Common features</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Batch-Mode-1"></a>
+<h3 class="section">3.34 Batch Mode</h3>
+<a name="index-batch-mode"></a>
+<a name="index-overwriting-files-1"></a>
+<a name="index-appending-to-files-1"></a>
+<a name="index-force-overwrite"></a>
+<a name="index-force-append"></a>
+<a name="index-_002dO-1"></a>
+<a name="index-_002dA-1"></a>
+<a name="index-_002d_002doverwrite-1"></a>
+<a name="index-_002d_002dovr-1"></a>
+<a name="index-_002d_002dapn-1"></a>
+<a name="index-_002d_002dappend-1"></a>
+<table class="cartouche" border="1"><tr><td>
+<p>Availability: All operators<br>
+Short options: ‘<samp>-O</samp>’, ‘<samp>-A</samp>’<br>
+Long options: ‘<samp>--ovr</samp>’, ‘<samp>--overwrite</samp>’, ‘<samp>--apn</samp>’, ‘<samp>--append</samp>’<br>
+</p></td></tr></table>
+<p>If the <var>output-file</var> specified for a command is a pre-existing file,
+then the operator will prompt the user whether to overwrite (erase) the
+existing <var>output-file</var>, attempt to append to it, or abort the
+operation. 
+However, interactive questions reduce productivity when processing large
+amounts of data.
+Therefore <acronym>NCO</acronym> also implements two ways to override its own safety
+features, the ‘<samp>-O</samp>’ and ‘<samp>-A</samp>’ switches.
+Specifying ‘<samp>-O</samp>’ tells the operator to overwrite any existing
+<var>output-file</var> without prompting the user interactively.
+Specifying ‘<samp>-A</samp>’ tells the operator to attempt to append to any
+existing <var>output-file</var> without prompting the user interactively.
+These switches are useful in batch environments because they suppress
+interactive keyboard input.
+NB: As of 20120515, <code>ncap2</code> is unable to append to files that
+already contain the appended dimensions. 
+</p>
+<a name="hst"></a> <!-- http://nco.sf.net/nco.html#hst -->
+<a name="history"></a> <!-- http://nco.sf.net/nco.html#history -->
+<a name="-h"></a> <!-- http://nco.sf.net/nco.html#-h --><hr>
+<a name="History-Attribute"></a>
+<div class="header">
+<p>
+Next: <a href="#File-List-Attributes" accesskey="n" rel="next">File List Attributes</a>, Previous: <a href="#Batch-Mode" accesskey="p" rel="previous">Batch Mode</a>, Up: <a href="#Common-features" accesskey="u" rel="up">Common features</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="History-Attribute-1"></a>
+<h3 class="section">3.35 History Attribute</h3>
+<a name="index-history-2"></a>
+<a name="index-timestamp"></a>
+<a name="index-global-attributes-1"></a>
+<a name="index-attributes_002c-global-1"></a>
+<a name="index-_002dh"></a>
+<a name="index-_002d_002dhst"></a>
+<a name="index-_002d_002dhistory"></a>
+<table class="cartouche" border="1"><tr><td>
+<p>Availability: All operators<br>
+Short options: ‘<samp>-h</samp>’<br>
+Long options: ‘<samp>--hst</samp>’, ‘<samp>--history</samp>’<br>
+</p></td></tr></table>
+<p>All operators automatically append a <code>history</code> global attribute to
+any file they create or modify.
+The <code>history</code> attribute consists of a timestamp and the full string
+of the invocation command to the operator, e.g., ‘<samp>Mon May 26 20:10:24
+1997: ncks in.nc foo.nc</samp>’.
+The full contents of an existing <code>history</code> attribute are copied
+from the first <var>input-file</var> to the <var>output-file</var>.
+The timestamps appear in reverse chronological order, with the most
+recent timestamp appearing first in the <code>history</code> attribute.
+Since <acronym>NCO</acronym> and many other netCDF operators adhere to the
+<code>history</code> convention, the entire data processing path of a given
+netCDF file may often be deduced from examination of its <code>history</code>
+attribute. 
+As of May, 2002, <acronym>NCO</acronym> is case-insensitive to the spelling
+of the <code>history</code> attribute name.
+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.
+<code>history</code> attribute
+<a name="index-ncatted-2"></a>
+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 
+(see <a href="#ncatted-netCDF-Attribute-Editor">ncatted netCDF Attribute Editor</a>).   
+Note that the ‘<samp>-h</samp>’ switch also turns off writing the
+<code>nco_input_file_list</code> attribute for multi-file operators
+(see <a href="#File-List-Attributes">File List Attributes</a>).
+</p>
+<a name="fl_lst_in_att"></a> <!-- http://nco.sf.net/nco.html#fl_lst_in_att --><hr>
+<a name="File-List-Attributes"></a>
+<div class="header">
+<p>
+Next: <a href="#CF-Conventions" accesskey="n" rel="next">CF Conventions</a>, Previous: <a href="#History-Attribute" accesskey="p" rel="previous">History Attribute</a>, Up: <a href="#Common-features" accesskey="u" rel="up">Common features</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="File-List-Attributes-1"></a>
+<h3 class="section">3.36 File List Attributes</h3>
+<a name="index-nco_005finput_005ffile_005flist-1"></a>
+<a name="index-nco_005finput_005ffile_005fnumber-1"></a>
+<a name="index-stdin-1"></a>
+<a name="index-global-attributes-2"></a>
+<a name="index-attributes_002c-global-2"></a>
+<a name="index-_002dH"></a>
+<a name="index-_002d_002dfl_005flst_005fin"></a>
+<a name="index-_002d_002dfile_005flist"></a>
+<table class="cartouche" border="1"><tr><td>
+<p>Availability: <code>nces</code>, <code>ncecat</code>, <code>ncra</code>, <code>ncrcat</code><br>
+Short options: ‘<samp>-H</samp>’<br>
+Long options: ‘<samp>--fl_lst_in</samp>’, ‘<samp>--file_list</samp>’<br>
+</p></td></tr></table>
+<p>Many methods of specifying large numbers of input file names pass
+these names via pipes, encodings, or argument transfer programs
+(see <a href="#Large-Numbers-of-Files">Large Numbers of Files</a>).
+When these methods are used, the input file list is not explicitly
+passed on the command line.
+This results in a loss of information since the <code>history</code>
+attribute no longer contains the exact command by which the file
+was created.
+</p>
+<p><acronym>NCO</acronym> solves this dilemma by archiving input file list
+attributes.
+When the input file list to a multi-file operator is specified
+via <code>stdin</code>, the operator, by default, attaches two global
+attributes to any file they create or modify.
+The <code>nco_input_file_number</code> global attribute contains the number of
+input files, and <code>nco_input_file_list</code> contains the file names,
+specified as standard input to the multi-file operator. 
+This information helps to verify that all input files the user thinks
+were piped through <code>stdin</code> actually arrived.
+Without the <code>nco_input_file_list</code> attribute, the information is lost
+forever and the “chain of evidence” would be broken.
+</p>
+<p>The ‘<samp>-H</samp>’ switch overrides (turns off) the default behavior of
+writing the input file list global attributes when input is from
+<code>stdin</code>. 
+The ‘<samp>-h</samp>’ switch does this too, and turns off the <code>history</code>
+attribute as well (see <a href="#History-Attribute">History Attribute</a>).
+Hence both switches allows space-conscious users to avoid storing what
+may amount to many thousands of filenames in a metadata attribute.
+</p>
+<a name="CF"></a> <!-- http://nco.sf.net/nco.html#CF -->
+<a name="cnv"></a> <!-- http://nco.sf.net/nco.html#cnv -->
+<a name="cnv_CF"></a> <!-- http://nco.sf.net/nco.html#cnv_CF -->
+<a name="cnv_CCSM"></a> <!-- http://nco.sf.net/nco.html#cnv_CCSM --><hr>
+<a name="CF-Conventions"></a>
+<div class="header">
+<p>
+Next: <a href="#ARM-Conventions" accesskey="n" rel="next">ARM Conventions</a>, Previous: <a href="#File-List-Attributes" accesskey="p" rel="previous">File List Attributes</a>, Up: <a href="#Common-features" accesskey="u" rel="up">Common features</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="CF-Conventions-1"></a>
+<h3 class="section">3.37 <acronym>CF</acronym> Conventions</h3>
+<a name="index-CF-conventions-3"></a>
+<a name="index-CCSM-conventions"></a>
+<a name="index-UDUnits-2"></a>
+<a name="index-ORO"></a>
+<a name="index-area"></a>
+<a name="index-datesec"></a>
+<a name="index-date"></a>
+<a name="index-gw"></a>
+<a name="index-hyai"></a>
+<a name="index-hyam"></a>
+<a name="index-hybi"></a>
+<a name="index-hybm"></a>
+<a name="index-lat_005fbnds"></a>
+<a name="index-lon_005fbnds"></a>
+<a name="index-msk_005f_002a"></a>
+<table class="cartouche" border="1"><tr><td>
+<p>Availability: <code>ncbo</code>, <code>nces</code>, <code>ncecat</code>,
+<code>ncflint</code>, <code>ncpdq</code>, <code>ncra</code>, <code>ncwa</code><br>
+Short options: None<br>
+</p></td></tr></table>
+<p><acronym>NCO</acronym> recognizes some Climate and Forecast (<acronym>CF</acronym>)
+metadata conventions, and applies special rules to such data.
+<acronym>NCO</acronym> was contemporaneous with <acronym>COARDS</acronym> and still
+contains some rules to handle older <acronym>NCAR</acronym> model datasets, such as 
+<acronym>CCM</acronym> and early <acronym>CCSM</acronym> datasets, that pre-date 
+<acronym>CF</acronym>.
+Such datasets may not contain an explicit <code>Conventions</code> attribute
+(e.g., ‘<samp>CF-1.0</samp>’). 
+Nevertheless, we refer to all such metadata collectively as <acronym>CF</acronym> 
+metadata. 
+Skip this section if you never work with <acronym>CF</acronym> metadata.
+</p>
+<p>The <acronym>CF</acronym> netCDF conventions are described 
+<a href="http://cf-pcmdi.llnl.gov/documents/cf-conventions/1.6/cf-conventions.html#coordinate-system">here</a>. 
+Most <acronym>CF</acronym> netCDF conventions are transparent to <acronym>NCO</acronym>  
+<a name="DOCF44" href="#FOOT44"><sup>44</sup></a>.
+There are no known pitfalls associated with using any <acronym>NCO</acronym>
+operator on files adhering to these conventions
+<a name="DOCF45" href="#FOOT45"><sup>45</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
+conventions, yet experience shows that they simplify data analysis.
+</p>
+<a name="prc_xcp"></a> <!-- http://nco.sf.net/nco.html#prc_xcp --><p>Currently, <acronym>NCO</acronym> determines whether a datafile is a
+<acronym>CF</acronym> output datafile simply by checking (case-insensitively)
+whether the value of the global attribute <code>Conventions</code> (if any)
+equals ‘<samp>CF-1.0</samp>’ or ‘<samp>NCAR-CSM</samp>’ 
+Should <code>Conventions</code> equal either of these in the (first)
+<var>input-file</var>, <acronym>NCO</acronym> will apply special rules to certain
+variables because of their usual meaning in <acronym>CF</acronym> files. 
+<acronym>NCO</acronym> will not average the following variables often found in
+<acronym>CF</acronym> files: 
+<code>ntrm</code>, <code>ntrn</code>, <code>ntrk</code>, <code>ndbase</code>, <code>nsbase</code>,
+<code>nbdate</code>, <code>nbsec</code>, <code>mdt</code>, <code>mhisf</code>.
+These variables contain scalar metadata such as the resolution of the
+host geophysical model and it makes no sense to change their values.
+</p>
+<a name="index-non_002dcoordinate-grid-properties"></a>
+<p>Furthermore, the <em>size and rank-preserving arithmetic operators</em> try
+not to operate on certain grid properties.
+These operators are <code>ncap2</code>, <code>ncbo</code>, <code>nces</code>,
+<code>ncflint</code>, and <code>ncpdq</code> (when used for packing, not for
+permutation).  
+These operators do not operate, by default, on (i.e., add, subtract,
+pack, etc.) the following variables:   
+<code>ORO</code>, 
+<code>area</code>, 
+<code>datesec</code>, 
+<code>date</code>, 
+<code>gw</code>, 
+<code>hyai</code>, 
+<code>hyam</code>,
+<code>hybi</code>. 
+<code>hybm</code>, 
+<code>lat_bnds</code>, 
+<code>lon_bnds</code>,
+<code>msk_*</code>.
+These variables represent the Gaussian weights, the orography field,
+time fields, hybrid pressure coefficients, and latititude/longitude
+boundaries.
+We call these fields non-coordinate <em>grid properties</em>.
+Coordinate grid properties are easy to identify because they are 
+coordinate variables such as <code>latitude</code> and <code>longitude</code>.
+</p>
+<p>Users usually want <em>all</em> grid properties to remain unaltered in the
+output file. 
+To be treated as a grid property, the variable name must <em>exactly</em>
+match a name in the above list, or be a coordinate variable. 
+The handling of <code>msk_*</code> is exceptional in that <em>any</em> variable 
+name beginning with the string <code>msk_</code> is considered to be a
+“mask” and is thus preserved (not operated on arithmetically).
+</p>
+<p>You must spoof <acronym>NCO</acronym> if you would like any grid properties
+or other special <acronym>CF</acronym> fields processed normally.
+For example rename the variables first with <code>ncrename</code>, 
+or alter the <code>Conventions</code> attribute.
+</p>
+<a name="cnv_CF_bnd"></a> <!-- http://nco.sf.net/nco.html#cnv_CF_bnd -->
+<a name="bnd"></a> <!-- http://nco.sf.net/nco.html#bnd --><a name="index-bounds"></a>
+<a name="index-bounds-convention"></a>
+<p>As of <acronym>NCO</acronym> version 4.0.8 (April, 2011), <acronym>NCO</acronym> 
+supports the <acronym>CF</acronym> <code>bounds</code> convention for cell boundaries
+described 
+<a href="http://cf-pcmdi.llnl.gov/documents/cf-conventions/1.6/cf-conventions.html#cell-boundaries">here</a>.
+This convention allows coordinate variables (including multidimensional
+coordinates) to describe the boundaries of their cells.
+This is done by naming the variable which contains the bounds in
+in the <code>bounds</code> attribute. 
+Note that coordinates of rank <em>N</em> have bounds of rank <em>N+1</em>.
+NCO-generated subsets of <acronym>CF</acronym>-compliant files with <code>bounds</code>
+attributes will include the coordinates specified by the <code>bounds</code>
+attribute, if any.  
+Hence the subsets will themselves be <acronym>CF</acronym>-compliant.
+</p>
+<a name="cnv_CF_crd"></a> <!-- http://nco.sf.net/nco.html#cnv_CF_crd --><a name="index-coordinates-1"></a>
+<a name="index-coordinates-convention"></a>
+<a name="index-coordinate-variable-2"></a>
+<a name="index-auxiliary-coordinates"></a>
+<a name="index-subsetting-2"></a>
+<a name="index-_002dC-1"></a>
+<a name="index-_002dc-1"></a>
+<a name="index-_002d_002dno_002dcoords-1"></a>
+<a name="index-_002d_002dno_002dcrd-1"></a>
+<a name="index-_002d_002dcoords-1"></a>
+<a name="index-_002d_002dcrd-1"></a>
+<p>As of <acronym>NCO</acronym> version 3.9.6 (January, 2009), <acronym>NCO</acronym>
+supports the <acronym>CF</acronym> <code>coordinates</code> convention described 
+<a href="http://cf-pcmdi.llnl.gov/documents/cf-conventions/1.6/cf-conventions.html#coordinate-system">here</a>. 
+This convention allows variables to specify additional coordinates
+(including multidimensional coordinates) in a space-separated string
+attribute named <code>coordinates</code>. 
+NCO attaches any such coordinates to the extraction list along with
+variable and its usual (one-dimensional) coordinates, if any.
+These auxiliary coordinates are subject to the user-specified overrides
+described in <a href="#Subsetting-Coordinate-Variables">Subsetting Coordinate Variables</a>.
+</p>
+<a name="cnv_CF_cll_mth"></a> <!-- http://nco.sf.net/nco.html#cnv_CF_cll_mth -->
+<a name="cll_mth"></a> <!-- http://nco.sf.net/nco.html#cll_mth -->
+<a name="no_cll_mth"></a> <!-- http://nco.sf.net/nco.html#no_cll_mth -->
+<a name="cell_methods"></a> <!-- http://nco.sf.net/nco.html#cell_methods --><a name="index-cell_005fmethods"></a>
+<a name="index-_002d_002dcll_005fmth"></a>
+<a name="index-_002d_002dno_005fcll_005fmth"></a>
+<a name="index-_002d_002dcell_005fmethods"></a>
+<a name="index-_002d_002dno_005fcell_005fmethods"></a>
+<a name="index-cell-methods-convention"></a>
+<p>As of <acronym>NCO</acronym> version 4.4.2 (February, 2014), <acronym>NCO</acronym> 
+supports some of the <acronym>CF</acronym> <code>cell_methods</code> 
+<a href="http://cf-pcmdi.llnl.gov/documents/cf-conventions/1.7-draft1/cf-conventions.html#cell-methods">convention</a>
+to describe the analysis procedures that have been applied to data.
+The convention creates (or appends to an existing) <code>cell_methods</code>
+attribute a space-separated list of couplets of the form <var>dmn: op</var>
+where <var>dmn</var> is a comma-separated list of dimensions previously
+contained in the variable that have been reduced by the arithmetic
+operation <var>op</var>.
+For example, the <code>cell_methods</code> value <code>time: mean</code> says that
+the variable in question was averaged over the <code>time</code> dimension.
+In such cases <code>time</code> will either be a scalar variable or a
+degenerate dimension or coordinate. 
+This simply means that it has been averaged-over.
+The value <code>time, lon: mean lat: max</code> says that the variable in
+question is the maximum zonal mean of the time averaged original
+variable.
+Which is to say that the variable was first averaged over time and
+longitude, and then the residual latitudinal array was reduced by
+choosing the maximum value.
+Since the <code>cell methods</code> convention may alter metadata in an
+undesirable (or possibly incorrect) fashion, we provide switches
+to ensure it is always or never used.
+Use long-options ‘<samp>--cll_mth</samp>’ or ‘<samp>--cell_methods</samp>’ to invoke the
+algorithm (true by default), and options ‘<samp>--no_cll_mth</samp>’ or 
+‘<samp>--no_cell_methods</samp>’ to turn it off.
+These options are only available in the operators <code>ncwa</code> and
+<code>ncra</code>.
+</p>
+<a name="cnv_ARM"></a> <!-- http://nco.sf.net/nco.html#cnv_ARM --><hr>
+<a name="ARM-Conventions"></a>
+<div class="header">
+<p>
+Next: <a href="#Operator-Version" accesskey="n" rel="next">Operator Version</a>, Previous: <a href="#CF-Conventions" accesskey="p" rel="previous">CF Conventions</a>, Up: <a href="#Common-features" accesskey="u" rel="up">Common features</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="ARM-Conventions-1"></a>
+<h3 class="section">3.38 <acronym>ARM</acronym> Conventions</h3>
+<a name="index-ARM-conventions"></a>
+<a name="index-time_005foffset"></a>
+<a name="index-base_005ftime"></a>
+<a name="index-time-1"></a>
+<table class="cartouche" border="1"><tr><td>
+<p>Availability: <code>ncrcat</code><br>
+Short options: None<br>
+</p></td></tr></table>
+<p><code>ncrcat</code> has been programmed to correctly handle data files
+which utilize the Atmospheric Radiation Measurement (<acronym>ARM</acronym>)
+Program <a href="http://www.arm.gov/data/time.stm">convention</a> for
+time and time offsets.
+If you do not work with <acronym>ARM</acronym> data then you may skip this
+section. 
+<acronym>ARM</acronym> data files store time information in two variables, a
+scalar, <code>base_time</code>, and a record variable, <code>time_offset</code>.
+Subtle but serious problems can arise when these type of files are
+just blindly concatenated.
+Therefore <code>ncrcat</code> has been specially programmed to be able to
+chain together consecutive <acronym>ARM</acronym> <var>input-files</var> and produce
+and an <var>output-file</var> which contains the correct time information.
+Currently, <code>ncrcat</code> determines whether a datafile is an
+<acronym>ARM</acronym> datafile simply by testing for the existence of the
+variables <code>base_time</code>, <code>time_offset</code>, and the dimension
+<code>time</code>.  
+If these are found in the <var>input-file</var> then <code>ncrcat</code> will 
+automatically perform two non-standard, but hopefully useful,
+procedures. 
+First, <code>ncrcat</code> will ensure that values of <code>time_offset</code>
+appearing in the <var>output-file</var> are relative to the <code>base_time</code>
+appearing in the first <var>input-file</var> (and presumably, though not
+necessarily, also appearing in the <var>output-file</var>).
+Second, if a coordinate variable named <code>time</code> is not found in the
+<var>input-files</var>, then <code>ncrcat</code> automatically creates the
+<code>time</code> coordinate in the <var>output-file</var>.  
+The values of <code>time</code> are defined by the <acronym>ARM</acronym> conventions 
+<em><var>time</var> = <var>base_time</var> + <var>time_offset</var></em>.
+Thus, if <var>output-file</var> contains the <code>time_offset</code>
+variable, it will also contain the <code>time</code> coordinate.
+<a name="index-history-3"></a>
+<a name="index-global-attributes-3"></a>
+<a name="index-attributes_002c-global-3"></a>
+A short<!-- /@w --> message is added to the <code>history</code> global attribute
+whenever these <acronym>ARM</acronym>-specific procedures are executed.
+</p>
+<a name="vrs"></a> <!-- http://nco.sf.net/nco.html#vrs -->
+<a name="version"></a> <!-- http://nco.sf.net/nco.html#version --><hr>
+<a name="Operator-Version"></a>
+<div class="header">
+<p>
+Previous: <a href="#ARM-Conventions" accesskey="p" rel="previous">ARM Conventions</a>, Up: <a href="#Common-features" accesskey="u" rel="up">Common features</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Operator-Version-1"></a>
+<h3 class="section">3.39 Operator Version</h3>
+<a name="index-version"></a>
+<a name="index-RCS"></a>
+<a name="index-_002dr-2"></a>
+<a name="index-_002d_002drevision-1"></a>
+<a name="index-_002d_002dversion-1"></a>
+<a name="index-_002d_002dvrs-1"></a>
+<table class="cartouche" border="1"><tr><td>
+<p>Availability: All operators<br>
+Short options: ‘<samp>-r</samp>’<br>
+Long options: ‘<samp>--revision</samp>’, ‘<samp>--version</samp>’, or ‘<samp>--vrs</samp>’<br>
+</p></td></tr></table>
+<p>All operators can be told to print their version information,
+library version, copyright notice, and compile-time configuration 
+with the ‘<samp>-r</samp>’ switch, or its long-option equivalent
+‘<samp>revision</samp>’. 
+The ‘<samp>--version</samp>’ or ‘<samp>--vrs</samp>’ switches print the operator
+version information only.
+The internal version number varies between operators, and indicates the 
+most recent change to a particular operator’s source code.
+This is useful in making sure you are working with the most recent
+operators.
+The version of <acronym>NCO</acronym> you are using might be, e.g., <code>3.9.5</code>.
+Using ‘<samp>-r</samp>’ on, say, <code>ncks</code>, produces something like 
+‘<samp>NCO netCDF Operators version "3.9.5" last modified 2008/05/11 built May 12 2008 on neige by zender 
+Copyright (C) 1995--2008 Charlie Zender
+ncks version 20090918</samp>’.
+This tells you that <code>ncks</code> contains all patches up to version 
+<code>3.9.5</code>, which dates from May 11<!-- /@w -->, 2008.
+<a name="rfr"></a> <!-- http://nco.sf.net/nco.html#rfr --></p><hr>
+<a name="Operator-Reference-Manual"></a>
+<div class="header">
+<p>
+Next: <a href="#Contributing" accesskey="n" rel="next">Contributing</a>, Previous: <a href="#Common-features" accesskey="p" rel="previous">Common features</a>, Up: <a href="#Top" accesskey="u" rel="up">Top</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Operator-Reference-Manual-1"></a>
+<h2 class="chapter">4 Operator Reference Manual</h2>
+
+<p>This chapter presents reference pages for each of the operators
+individually. 
+The operators are presented in alphabetical order.
+<a name="index-command-line-switches-3"></a>
+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 <a href="#Common-features">Common features</a>, to avoid redundancy.
+Only options specific to, or most useful with, a particular operator are 
+described in any detail in the sections below.  
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">• <a href="#ncap2-netCDF-Arithmetic-Processor" accesskey="1">ncap2 netCDF Arithmetic Processor</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#ncatted-netCDF-Attribute-Editor" accesskey="2">ncatted netCDF Attribute Editor</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#ncbo-netCDF-Binary-Operator" accesskey="3">ncbo netCDF Binary Operator</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#nces-netCDF-Ensemble-Statistics" accesskey="4">nces netCDF Ensemble Statistics</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#ncecat-netCDF-Ensemble-Concatenator" accesskey="5">ncecat netCDF Ensemble Concatenator</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#ncflint-netCDF-File-Interpolator" accesskey="6">ncflint netCDF File Interpolator</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#ncks-netCDF-Kitchen-Sink" accesskey="7">ncks netCDF Kitchen Sink</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#ncpdq-netCDF-Permute-Dimensions-Quickly" accesskey="8">ncpdq netCDF Permute Dimensions Quickly</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#ncra-netCDF-Record-Averager" accesskey="9">ncra netCDF Record Averager</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#ncrcat-netCDF-Record-Concatenator">ncrcat netCDF Record Concatenator</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#ncrename-netCDF-Renamer">ncrename netCDF Renamer</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#ncwa-netCDF-Weighted-Averager">ncwa netCDF Weighted Averager</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<a name="ncap"></a> <!-- http://nco.sf.net/nco.html#ncap -->
+<a name="ncap2"></a> <!-- http://nco.sf.net/nco.html#ncap2 --><hr>
+<a name="ncap2-netCDF-Arithmetic-Processor"></a>
+<div class="header">
+<p>
+Next: <a href="#ncatted-netCDF-Attribute-Editor" accesskey="n" rel="next">ncatted netCDF Attribute Editor</a>, Previous: <a href="#Operator-Reference-Manual" accesskey="p" rel="previous">Operator Reference Manual</a>, Up: <a href="#Operator-Reference-Manual" accesskey="u" rel="up">Operator Reference Manual</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="ncap2-netCDF-Arithmetic-Processor-1"></a>
+<h3 class="section">4.1 <code>ncap2</code> netCDF Arithmetic Processor</h3>
+<a name="index-parser"></a>
+<a name="index-lexer"></a>
+<a name="index-arithmetic-processor"></a>
+<a name="index-ncap"></a>
+<a name="index-ncap2-5"></a>
+
+<table class="cartouche" border="1"><tr><td>
+<p><code>ncap2</code> understands a relatively full-featured 
+language of operations, including loops, conditionals, arrays,
+and math functions.
+<code>ncap2</code> is the most rapidly changing <acronym>NCO</acronym> operator and
+its documentation is incomplete.
+The distribution file <samp>data/ncap2_tst.nco</samp> contains an up-to-date
+overview of its syntax and capabilities. 
+The <samp>data/*.nco</samp> distribution files (especially
+<samp>bin_cnt.nco</samp>, <samp>psd_wrf.nco</samp>, and <samp>rgr.nco</samp>) contain
+in-depth examples of <code>ncap2</code> solutions to complex problems.
+</p></td></tr></table>
+
+<p>SYNTAX
+</p><div class="example">
+<pre class="example">ncap2 [-3] [-4] [-6] [-7] [<a href="http://nco.sf.net/nco.html#-A">-A</a>] [-C] [-c] 
+[-D <var>dbg</var>] [-F] [-f] [-h] [--hdf] [--hdr_pad <var>nbr</var>] [-L <var>dfl_lvl</var>] [-l <var>path</var>]
+[--no_tmp_fl] [-O] [-o <var>output-file</var>] [-p <var>path</var>] [-R] [-r] [--ram_all]
+[-s <var>algebra</var>] [-S <var>fl.nco</var>] [-t <var>thr_nbr</var>] [-v]
+<var>input-file</var> [<var>output-file</var>]  
+</pre></div>
+ 
+<p>DESCRIPTION
+</p>
+<p><code>ncap2</code> arithmetically processes netCDF files
+<a name="DOCF46" href="#FOOT46"><sup>46</sup></a>.
+<a name="index-script-file"></a>
+<a name="index-_002d_002dscript_002dfile"></a>
+<a name="index-_002d_002dfl_005fspt"></a>
+<a name="index-_002d_002dscript"></a>
+<a name="index-_002d_002dspt"></a>
+The processing instructions are contained either in the <acronym>NCO</acronym>
+script file <samp>fl.nco</samp> or in a sequence of command line arguments.
+The options ‘<samp>-s</samp>’ (or long options ‘<samp>--spt</samp>’ or ‘<samp>--script</samp>’)
+are used for in-line scripts and ‘<samp>-S</samp>’ (or long options
+‘<samp>--fl_spt</samp>’ or ‘<samp>--script-file</samp>’) are used to provide the
+filename where (usually multiple) scripting commands are pre-stored.   
+<code>ncap2</code> was written to perform arbitrary algebraic
+transformations of data and archive the results as easily as possible.
+<a name="index-derived-fields"></a>
+See <a href="#Missing-Values">Missing Values</a>, for treatment of missing values.
+The results of the algebraic manipulations are called 
+<em>derived fields</em>. 
+</p>
+<p>Unlike the other operators, <code>ncap2</code> does not accept a list of
+variables to be operated on as an argument to ‘<samp>-v</samp>’ 
+(see <a href="#Subsetting-Files">Subsetting Files</a>).
+Rather, the ‘<samp>-v</samp>’ switch takes no arguments and indicates
+that <code>ncap2</code> should output <em>only</em> user-defined variables.
+<code>ncap2</code> neither accepts nor understands the <var>-x</var> switch.
+<a name="index-appending-variables-2"></a>
+NB: As of 20120515, <code>ncap2</code> is unable to append to files that
+already contain the appended dimensions. 
+</p>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">• <a href="#Syntax-of-ncap2-statements" accesskey="1">Syntax of ncap2 statements</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Expressions" accesskey="2">Expressions</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Dimensions" accesskey="3">Dimensions</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Left-hand-casting" accesskey="4">Left hand casting</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Arrays-and-hyperslabs" accesskey="5">Arrays and hyperslabs</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Attributes" accesskey="6">Attributes</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Number-literals" accesskey="7">Number literals</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#if-statement" accesskey="8">if statement</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#print-statement" accesskey="9">print statement</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Missing-values-ncap2">Missing values ncap2</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Methods-and-functions">Methods and functions</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#RAM-variables">RAM variables</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Where-statement">Where statement</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Loops">Loops</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Include-files">Include files</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Sort-methods">Sort methods</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Irregular-grids">Irregular grids</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Bilinear-interpolation">Bilinear interpolation</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#GSL-special-functions">GSL special functions</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#GSL-interpolation">GSL interpolation</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#GSL-least_002dsquares-fitting">GSL least-squares fitting</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#GSL-statistics">GSL statistics</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#GSL-random-number-generation">GSL random number generation</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Examples-ncap2">Examples ncap2</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Intrinsic-mathematical-methods">Intrinsic mathematical methods</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Operator-precedence-and-associativity">Operator precedence and associativity </a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#ID-Quoting">ID Quoting</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<a name="att_prp"></a> <!-- http://nco.sf.net/nco.html#att_prp --><p>Defining new variables in terms of existing variables is a powerful
+feature of <code>ncap2</code>. 
+<a name="index-derived-fields-1"></a>
+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
+exist), then it inherits the metadata (if any) of the left-most variable
+on the right hand side of the defining expression.
+This metadata inheritance is called <em>attribute propagation</em>.
+Attribute propagation is intended to facilitate well-documented 
+data analysis, and we welcome suggestions to improve this feature.
+</p>
+<p>The only exception to this rule of attribute propagation is in cases of
+left hand casting (see <a href="#Left-hand-casting">Left hand casting</a>).
+The user must manually define the proper metadata for variables defined
+using left hand casting. 
+</p>
+<a name="syn"></a> <!-- http://nco.sf.net/nco.html#syn --><hr>
+<a name="Syntax-of-ncap2-statements"></a>
+<div class="header">
+<p>
+Next: <a href="#Expressions" accesskey="n" rel="next">Expressions</a>, Previous: <a href="#ncap2-netCDF-Arithmetic-Processor" accesskey="p" rel="previous">ncap2 netCDF Arithmetic Processor</a>, Up: <a href="#ncap2-netCDF-Arithmetic-Processor" accesskey="u" rel="up">ncap2 netCDF Arithmetic Processor</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Syntax-of-ncap2-statements-1"></a>
+<h4 class="subsection">4.1.1 Syntax of <code>ncap2</code> statements</h4>
+<a name="index-statement"></a>
+<a name="index-syntax"></a>
+<p>Mastering <code>ncap2</code> is relatively simple.
+Each valid statement <var>statement</var> consists of standard forward
+algebraic expression. 
+The <samp>fl.nco</samp>, if present, is simply a list of such statements,
+whitespace, and comments.
+<a name="index-C-language-4"></a>
+The syntax of statements is most like the computer language C<!-- /@w -->.
+The following characteristics of C<!-- /@w --> are preserved:
+</p><dl compact="compact">
+<dt>Array syntax</dt>
+<dd><a name="index-array-syntax"></a>
+<a name="index-_005b_005d-_0028array-delimiters_0029"></a>
+<p>Arrays elements are placed within <code>[]</code> characters;
+</p></dd>
+<dt>Array indexing</dt>
+<dd><a name="index-array-indexing"></a>
+<p>Arrays are 0-based;
+</p></dd>
+<dt>Array storage</dt>
+<dd><a name="index-array-storage"></a>
+<p>Last dimension is most rapidly varying;
+</p></dd>
+<dt>Assignment statements</dt>
+<dd><a name="index-assignment-statement"></a>
+<a name="index-semi_002dcolon"></a>
+<a name="index-_003b-_0028end-of-statement_0029"></a>
+<p>A semi<!-- /@w -->-colon ‘<samp>;</samp>’ indicates the end of an assignment statement.
+</p></dd>
+<dt>Comments</dt>
+<dd><a name="index-comments"></a>
+<a name="index-_002f_002a_002e_002e_002e_002a_002f-_0028comment_0029"></a>
+<a name="index-_002f_002f-_0028comment_0029"></a>
+<p>Multi-line comments are enclosed within <code>/* */</code> characters.
+Single line comments are preceded by <code>//</code> characters.
+</p></dd>
+<dt>Nesting</dt>
+<dd><a name="index-including-files"></a>
+<a name="index-nesting"></a>
+<a name="index-_0023include"></a>
+<p>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 <samp>script</samp> is interpreted relative to the run directory.
+</p></dd>
+<dt>Attribute syntax</dt>
+<dd><a name="index-attribute-syntax"></a>
+<a name="index-_0040-_0028attribute_0029"></a>
+<p>The at-sign <code>@</code> is used to delineate an attribute name from a
+variable name.
+</p></dd>
+</dl>
+
+<a name="ncap_xpr"></a> <!-- http://nco.sf.net/nco.html#ncap_xpr --><hr>
+<a name="Expressions"></a>
+<div class="header">
+<p>
+Next: <a href="#Dimensions" accesskey="n" rel="next">Dimensions</a>, Previous: <a href="#Syntax-of-ncap2-statements" accesskey="p" rel="previous">Syntax of ncap2 statements</a>, Up: <a href="#ncap2-netCDF-Arithmetic-Processor" accesskey="u" rel="up">ncap2 netCDF Arithmetic Processor</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="index-expressions"></a>
+<a name="Expressions-1"></a>
+<h4 class="subsection">4.1.2 Expressions</h4>
+<p>Expressions are the fundamental building block of <code>ncap2</code>. 
+Expressions are composed of variables, numbers, literals, and
+attributes. 
+<a name="index-C-language-5"></a>
+The following C operators<!-- /@w --> are “overloaded” and work with scalars 
+and multi-dimensional arrays:
+</p><div class="example">
+<pre class="example">Arithmetic Operators: * / % + - ^
+Binary Operators:     > >= < <= == != == || && >> <<
+Unary Operators:      + - ++ -- !
+Conditional Operator: exp1 ? exp2 : exp3
+Assign Operators:     = += -= /= *=
+</pre></div>
+
+<p>In the following section a <em>variable</em> also refers to a 
+number literal which is read in as a scalar variable:
+</p>
+<p><strong>Arithmetic and Binary Operators </strong>
+</p>
+<p>Consider <em>var1 ’op’ var2</em>
+</p>
+<p><strong>Precision</strong>
+</p><ul>
+<li> When both operands are variables, the result has the precision of the higher precision operand.
+</li><li> When one operand is a variable and the other an attribute, the result has the precision of the variable. 
+</li><li> When both operands are attributes, the result has the precision of the more precise attribute.
+</li><li> The exponentiation operator “^” is an exception to the above rules. 
+When both operands have type less than <code>NC_FLOAT</code>, the result is <code>NC_FLOAT</code>. 
+When either type is <code>NC_DOUBLE</code>, the result is also <code>NC_DOUBLE</code>. 
+</li></ul>
+
+<a name="index-broadcasting-variables"></a>
+<a name="index-rank"></a>
+<p><strong>Rank</strong>
+</p><ul>
+<li> The Rank of the result is generally equal to Rank of the operand
+that has the greatest number of dimensions.  
+</li><li> If the dimensions in var2 are a subset of the dimensions in var1
+then its possible to  make var2 conform to var1 through broadcasting and
+or dimension reordering.  
+</li><li> Broadcasting a variable means creating data in non-existing
+dimensions by copying data in existing dimensions. 
+</li><li> More specifically: If the numbers of dimensions in var1 is greater 
+than or equal to the number of dimensions in var2 then an attempt is
+made to make var2 conform to var1 ,else var1 is made to conform to
+var2. If conformance  is not possible then an error message will be
+emitted and script execution will cease.<br> 
+</li></ul>
+
+<p>Even though the logical operators return True(1) or False(0)
+they are treated in the same way as the arithmetic operators with regard
+to precision and rank.<br> 
+Examples:
+</p>
+<div class="example">
+<pre class="example">dimensions: time=10, lat=2, lon=4
+Suppose we have the two variables:
+
+double  P(time,lat,lon);
+float   PZ0(lon,lat);  // PZ0=1,2,3,4,5,6,7,8;
+
+Consider now the expression:
+ PZ=P-PZ0
+
+PZ0 is made to conform to P and the result is
+PZ0 =
+   1,3,5,7,2,4,6,8,
+   1,3,5,7,2,4,6,8,
+   1,3,5,7,2,4,6,8,
+   1,3,5,7,2,4,6,8,
+   1,3,5,7,2,4,6,8,
+   1,3,5,7,2,4,6,8,
+   1,3,5,7,2,4,6,8,
+   1,3,5,7,2,4,6,8,
+   1,3,5,7,2,4,6,8,
+   1,3,5,7,2,4,6,8,
+
+Once the expression is evaluated then PZ will be of type double;
+
+Consider now 
+ start=four-att_var at double_att;  // start =-69  and is of type intger;
+ four_pow=four^3.0f               // four_pow=64 and is of type float  
+ three_nw=three_dmn_var_sht*1.0f; // type is now float
+ start at n1=att_var at short_att*att_var at int_att; 
+                                  // start at n1=5329 and is type int 
+</pre></div>
+
+<p><strong>Binary Operators</strong> <br> 
+<a name="index-binary-Operators"></a>
+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
+the arithmetic operators. 
+When an expression is evaluated in an if() the missing values are
+treated as true.<br>  
+The binary operators are, in order of precedence: 
+</p><div class="example">
+<pre class="example">	
+!   Logical Not
+----------------------------
+<<  Less Than Selection
+>>  Greater Than Selection
+----------------------------
+>   Greater than
+>=  Greater than or equal to
+<   Less than
+<=  Less than or equal to
+----------------------------
+==  Equal to
+!=  Not equal to
+----------------------------
+&&  Logical AND
+----------------------------
+||  Logical OR
+----------------------------
+</pre></div>
+
+<p>To see all operators: see <a href="#Operator-precedence-and-associativity">Operator precedence and associativity</a> 
+Examples:
+</p><div class="example">
+<pre class="example">tm1=time>2 && time <7;  // tm1=0, 0, 1, 1, 1, 1, 0, 0, 0, 0 double
+tm2=time==3 || time>=6; // tm2=0, 0, 1, 0, 0, 1, 1, 1, 1, 1 double
+tm3=int(!tm1);          // tm3=1, 1, 0, 0, 0, 0, 1, 1, 1, 1 int
+tm4=tm1 && tm2;         // tm4=0, 0, 1, 0, 0, 1, 0, 0, 0, 0 double
+tm5=!tm4;               // tm5=1, 1, 0, 1, 1, 0, 1, 1, 1, 1 double
+</pre></div>
+	
+<p><strong>Regular Assign Operator</strong><br>
+<em>var1 ’=’ exp1</em> <br>
+If var1 does not already exist in Output then var1 is written to Output with the values and dimensions from expr1. If var1 already exists in Output, then the only requirement on expr1 is that the number of elements must match the number already on disk. The type of expr1 is converted if necessary to the disk type.
+</p>
+<p><strong> Other Assign Operators +=,-=,*=./= </strong><br>
+        <em>var1 ’ass_op’ exp1 </em><br>
+if exp1 is a variable and it doesn’t conform to var1 then an attempt is made to make it conform to var1. If exp1 is an attribute it must have unity size or else have the same number of elements as var1. If expr1 has a different type to var1 the it is converted to the var1 type.
+</p><div class="example">
+<pre class="example">z1=four+=one*=10 // z1=14 four=14 one=10;	
+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>
+<p>Example:
+</p><div class="example">
+<pre class="example">n2=++four;   n2=5, four=5 
+n3=one--+20; n3=21  one=0;	 
+n4=--time;   n4=time=0.,1.,2.,3.,4.,5.,6.,7.,8.,9.;
+</pre></div>
+
+<p><strong>Conditional Operator ?: </strong> <br>
+<a name="index-conditional-Operator"></a>
+<em>exp1 ? exp2 : exp3 </em> <br>
+The conditional operator (or ternary Operator) is a succinct way
+of writing an if/then/else. If exp1 evaluates to true then exp2 is
+returned else exp3 is returned. 
+</p>
+<p>Example:
+</p><div class="example">
+<pre class="example">weight_avg=weight.avg();
+weight_avg at units= (weight_avg == 1 ? "kilo" : "kilos");  
+PS_nw=PS-(PS.min() > 100000 ? 100000 : 0);
+</pre></div>
+
+<a name="clp"></a> <!-- http://nco.sf.net/nco.html#clp -->
+<a name="clipping"></a> <!-- http://nco.sf.net/nco.html#clipping --><p><strong>Clipping Operators</strong>
+<a name="index-clipping-operators"></a>
+</p><dl compact="compact">
+<dt><< Less-than Clipping<br></dt>
+<dd><p>For arrays, the less-than selection operator selects all values in the
+left operand that are less than the corresponding value in the right
+operand. 
+If the value of the left side is greater than or equal to the
+corresponding value of the right side, then the right side value is 
+placed in the result	 
+</p></dd>
+<dt>>> Greater-than Clipping<br></dt>
+<dd><p>For arrays, the greater-than selection operator selects all values in
+the left operand that are greater than the corresponding value in the
+right operand. 
+If the value of the left side is less than or equal to the corresponding
+value of the right side, then the right side value is placed in the
+result.  
+</p></dd>
+</dl>
+
+<p>Example:
+</p><div class="example">
+<pre class="example">RDM2=RDM >> 100.0 // 100,100,100,100,126,126,100,100,100,100 double
+RDM2=RDM <<  90s  // 1, 9, 36, 84, 90, 90, 84, 36, 9, 1 int
+</pre></div>
+
+<a name="ncap_dims"></a> <!-- http://nco.sf.net/nco.html#ncap_dims -->
+<a name="defdim"></a> <!-- http://nco.sf.net/nco.html#defdim --><hr>
+<a name="Dimensions"></a>
+<div class="header">
+<p>
+Next: <a href="#Left-hand-casting" accesskey="n" rel="next">Left hand casting</a>, Previous: <a href="#Expressions" accesskey="p" rel="previous">Expressions</a>, Up: <a href="#ncap2-netCDF-Arithmetic-Processor" accesskey="u" rel="up">ncap2 netCDF Arithmetic Processor</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Dimensions-1"></a>
+<h4 class="subsection">4.1.3 Dimensions</h4>
+<a name="index-defining-dimensions-in-ncap2"></a>
+<a name="index-defdim_0028_0029"></a>
+<p>Dimensions are defined in Output using the <code>defdim()</code> function.
+</p><div class="example">
+<pre class="example">defdim("cnt",10);
+</pre></div>
+
+<p>This dimension name must then be prefixed with a dollar-sign ‘<samp>$</samp>’
+when referred to in method arguments or left-hand-casting, e.g.,
+</p><div class="example">
+<pre class="example">new_var[$cnt]=time;
+temperature[$time,$lat,$lon]=35.5;
+temp_avg=temperature.avg($time);
+</pre></div>
+
+<p>The <code>size</code> method allows the dimension size to be used in an
+arithmetic expression:
+</p><div class="example">
+<pre class="example">time_avg=time.total() / $time.size;
+</pre></div>
+
+<p>Increase the size of a new variable by one and set new member to zero:
+</p><div class="example">
+<pre class="example">defdim("cnt_new",$cnt.size+1);
+new_var[$cnt_new]=0.0;
+new_var(0:($cnt_new.size-2))=old_var;
+</pre></div>
+
+<p><strong>Dimension Abbreviations <br></strong>
+It is possible to use dimension abbreviations as method arguments:<br>
+<code>$0</code> is the first dimension of a variable<br>
+<code>$1</code> is the second dimension of a variable<br>
+<code>$n</code> is the n+1 dimension of a variable<br>
+</p>
+<div class="example">
+<pre class="example">float four_dmn_rec_var(time,lat,lev,lon);
+double three_dmn_var_dbl(time,lat,lon);
+
+four_nw=four_dmn_rev_var.reverse($time,$lon)
+four_nw=four_dmn_rec_var.reverse($0,$3);
+
+four_avg=four_dmn_rec_var.avg($lat,$lev);  
+four_avg=four_dmn_rec_var.avg($1,$2);  
+
+three_mw=three_dmn_var_dbl.permute($time,$lon,$lat);
+three_mw=three_dmn_var_dbl.permute($0,$2,$1);
+</pre></div>
+
+<p><strong>ID Quoting <br></strong>
+If the dimension name contains non-regular characters use ID quoting. 
+See see <a href="#ID-Quoting">ID Quoting</a>
+</p><div class="example">
+<pre class="example">defdim("a--list.A",10);
+A1['$a--list.A']=30.0;
+</pre></div>
+
+<p><strong>GOTCHA <br></strong>
+It is not possible to manually define in Output any dimensions that exist in Input. When a variable from Input appears in an expression or statement its  dimensions in Input are  automagically copied to Output (if they are not already present)
+</p>
+<a name="lhc"></a> <!-- http://nco.sf.net/nco.html#lhc -->
+<a name="lhs"></a> <!-- http://nco.sf.net/nco.html#lhs --><hr>
+<a name="Left-hand-casting"></a>
+<div class="header">
+<p>
+Next: <a href="#Arrays-and-hyperslabs" accesskey="n" rel="next">Arrays and hyperslabs</a>, Previous: <a href="#Dimensions" accesskey="p" rel="previous">Dimensions</a>, Up: <a href="#ncap2-netCDF-Arithmetic-Processor" accesskey="u" rel="up">ncap2 netCDF Arithmetic Processor</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Left-hand-casting-1"></a>
+<h4 class="subsection">4.1.4 Left hand casting</h4>
+<a name="index-hybrid-coordinate-system"></a>
+<a name="index-left-hand-casting-1"></a>
+<a name="index-LHS"></a>
+<p>The following examples demonstrate the utility of the 
+<em>left hand casting</em> ability of <code>ncap2</code>.
+Consider first this simple, artificial, example.
+If <var>lat</var> and <var>lon</var> are one dimensional coordinates of
+dimensions <var>lat</var> and <var>lon</var>, respectively, then addition
+of these two one-dimensional arrays is intrinsically ill-defined because 
+whether <var>lat_lon</var> should be dimensioned <var>lat</var> by <var>lon</var>
+or <var>lon</var> by <var>lat</var> is ambiguous (assuming that addition is to
+remain a <em>commutative</em> procedure, i.e., one that does not depend on 
+the order of its arguments).
+Differing dimensions are said to be <em>orthogonal</em> to one another,
+and sets of dimensions which are mutually exclusive are orthogonal
+as a set and any arithmetic operation between variables in orthogonal
+dimensional spaces is ambiguous without further information.
+</p>
+<p>The ambiguity may be resolved by enumerating the desired dimension 
+ordering of the output expression inside square brackets on the
+left hand side (<acronym>LHS</acronym>) of the equals sign.
+This is called <em>left hand casting</em> because the user resolves the 
+dimensional ordering of the <acronym>RHS</acronym> of the expression by
+specifying the desired ordering on the <acronym>LHS</acronym>.
+</p><div class="example">
+<pre class="example">ncap2 -s 'lat_lon[lat,lon]=lat+lon' in.nc out.nc
+ncap2 -s 'lon_lat[lon,lat]=lat+lon' in.nc out.nc
+</pre></div>
+<p>The explicit list of dimensions on the <acronym>LHS</acronym>, <code>[lat,lon]</code>
+resolves the otherwise ambiguous ordering of dimensions in
+<var>lat_lon</var>. 
+In effect, the <acronym>LHS</acronym> <em>casts</em> its rank properties onto the 
+<acronym>RHS</acronym>.
+Without <acronym>LHS</acronym> casting, the dimensional ordering of <var>lat_lon</var>
+would be undefined and, hopefully, <code>ncap2</code> would print an error
+message. 
+</p>
+<p>Consider now a slightly more complex example.
+In geophysical models, a coordinate system based on 
+a blend of terrain-following and density-following surfaces is 
+called a <em>hybrid coordinate system</em>.
+In this coordinate system, four variables must be manipulated to
+obtain the pressure of the vertical coordinate:
+<var>PO</var> is the domain-mean surface pressure offset (a scalar),
+<var>PS</var> is the local (time-varying) surface pressure (usually two
+horizontal spatial dimensions, i.e. latitude by longitude), <var>hyam</var>
+is the weight given to surfaces of constant density (one spatial
+dimension, pressure, which is orthogonal to the horizontal
+dimensions), and <var>hybm</var> is the weight given to surfaces of
+constant elevation (also one spatial dimension). 
+This command constructs a four-dimensional pressure <code>prs_mdp</code>
+from the four input variables of mixed rank and orthogonality:
+</p><div class="example">
+<pre class="example">ncap2 -s 'prs_mdp[time,lat,lon,lev]=P0*hyam+PS*hybm' in.nc out.nc
+</pre></div>
+<p>Manipulating the four fields which define the pressure in a hybrid
+coordinate system is easy with left hand casting.
+</p>
+<a name="ncap_arr"></a> <!-- http://nco.sf.net/nco.html#ncap_arr --><hr>
+<a name="Arrays-and-hyperslabs"></a>
+<div class="header">
+<p>
+Next: <a href="#Attributes" accesskey="n" rel="next">Attributes</a>, Previous: <a href="#Left-hand-casting" accesskey="p" rel="previous">Left hand casting</a>, Up: <a href="#ncap2-netCDF-Arithmetic-Processor" accesskey="u" rel="up">ncap2 netCDF Arithmetic Processor</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Arrays-and-hyperslabs-1"></a>
+<h4 class="subsection">4.1.5 Arrays and hyperslabs</h4>
+
+<a name="index-array"></a>
+<a name="index-array-function"></a>
+<a name="index-arrays"></a>
+<a name="index-findgen_002dequivalent"></a>
+<a name="index-indgen_002dequivalent"></a>
+<p>Generating a regularly spaced one-dimensional array with <code>ncap2</code>
+is simple with the <code>array()</code> function. 
+The syntax is 
+</p><div class="example">
+<pre class="example">var_out=array(val_srt,val_ncr,$dmn_nm); // One-dimensional output
+var_out=array(val_srt,val_ncr,var_tpl); // Multi-dimensional output
+</pre></div>
+<p>where the arguments are the starting value <var>val_srt</var>, 
+incremental value <var>val_ncr</var>, and, for one-dimensional output, the
+single dimension <code>$dmn_nm</code>, or, for multi-dimensional output, a
+template variable <code>var_tpl</code>, i.e., a variable with the same shape
+as the desired output. 
+The type of <code>var_out</code> will be the same as <code>val_srt</code>.
+Be sure to encode this type with the appropriate decimal point
+and floating point suffix when <code>val_srt</code> is a “naked constant”
+rather than a variable.
+For example, to produce an array of shorts (signed two-byte integers), 
+integers (signed four-byte integers), unsigned 64-bit integers,
+floats, or doubles use
+</p><div class="example">
+<pre class="example">var_out=array(1s,val_ncr,$dmn_nm); // NC_SHORT array
+var_out=array(1,val_ncr,$dmn_nm); // NC_INT array
+var_out=array(1ull,val_ncr,$dmn_nm); // NC_UINT64 array
+var_out=array(1f,val_ncr,$dmn_nm); // NC_FLOAT array
+var_out=array(1.,val_ncr,$dmn_nm); // NC_DOUBLE array
+</pre></div>
+
+<p>Once the associated dimensions have been defined, the start and
+increment arguments may be supplied as values, mathmatical expressions,
+or variables:
+</p><div class="example">
+<pre class="example">var_out=array(1,1,$time); // 1,2,3,4,5,6,7,8,9,10
+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></div>
+
+<a name="index-hyperslabs"></a>
+<p>Hyperslabs in <code>ncap2</code> are more limited than hyperslabs with the
+other <acronym>NCO</acronym> operators. 
+<code>ncap2</code> does not understand the shell command-line syntax
+used to specify multi-slabs, wrapped co-ordinates, negative stride or
+coordinate value limits.
+However with a bit of syntactic magic they are all are possible. 
+<code>ncap2</code> accepts (in fact, it requires) <var>N</var>-hyperslab
+arguments for a variable of rank <var>N</var>:
+</p><div class="example">
+<pre class="example">var1(arg1,arg2 ... argN);
+</pre></div>
+<p>where each hyperslab argument is of the form
+</p><div class="example">
+<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.
+</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). 
+The number of hyperslab arguments MUST equal the variable’s rank.
+</p><br>
+
+<p><strong>Hyperslabs on the Right Hand Side of an assign<br></strong>
+</p>
+<p>A simple 1D example:
+</p><div class="example">
+<pre class="example">($time.size=10)
+od[$time]={20,22,24,26,28,30,32,34,36,38};
+
+od(7);     // 34
+od(7:);    // 34,36,38
+od(:7);    // 20,22,24,26,28,30,32,34 
+od(::4);   // 20,28,36
+od(1:6:2)  // 22,26,30
+od(:)      // 20,22,24,26,28,30,32,34,36,38 
+</pre></div>
+
+<p>A more complex three dimensional example:
+</p><div class="example">
+<pre class="example">($lat.size=2,$lon.size=4)
+th[$time,$lat,$lon]=      
+                          {1, 2, 3, 4, 5, 6, 7, 8,
+                          9,10,11,12,13,14,15,16,
+                          17,18,19,20,21,22,23,24,
+                          -99,-99,-99,-99,-99,-99,-99,-99,
+                          33,34,35,36,37,38,39,40,
+                          41,42,43,44,45,46,47,48,
+                          49,50,51,52,53,54,55,56,
+                          -99,58,59,60,61,62,63,64,
+                          65,66,67,68,69,70,71,72,
+                          -99,74,75,76,77,78,79,-99 };
+
+th(1,1,3);        // 16
+th(2,0,:);        // 17, 18, 19, 20
+th(:,1,3);        // 8, 16, 24, -99, 40, 48, 56, 64, 72, -99 
+th(::5,:,0:3:2); // 1, 3, 5, 7, 41, 43, 45, 47
+</pre></div>
+
+<p>If hyperslab arguments collapse to a single value (a cross-section has
+been specified), then that dimension is removed from the returned
+variable. 
+If all the values collapse then a scalar variable is returned.
+So, for example, the following is valid: 
+</p><div class="example">
+<pre class="example">th_nw=th(0,:,:)+th(9,:,:); 
+// th_nw has dimensions $lon,$lat 
+// NB: the time dimension has become degenerate
+</pre></div>
+
+<p>The following is invalid:
+</p><div class="example">
+<pre class="example">th_nw=th(0,:,0:1)+th(9,:,0:1);
+</pre></div>
+<p>because the <code>$lon</code> dimension now only has two elements.
+The above can be calculated by using a LHS cast with 
+<code>$lon_nw</code> as replacement dim for <code>$lon</code>: 
+</p><div class="example">
+<pre class="example">defdim("lon_nw",2);
+th_nw[$lat,$lon_nw]=th(0,:,0:1) +th(9,:,0:1);
+</pre></div>
+
+<p><strong>Hyperslabs on the Left Hand Side of an assign<br></strong>
+When hyperslabing on the LHS, the expression on the RHS must 
+evaluate to a scalar or a variable/attribute with the same number of 
+elements as the LHS hyperslab.
+Set all elements of the last record to zero:
+</p><div class="example">
+<pre class="example">th(9,:,:)=0.0;
+</pre></div>
+<p>Set first element of each lon element to 1.0:
+</p><div class="example">
+<pre class="example">th(:,:,0)=1.0;
+</pre></div>
+<p>One may hyperslab on both sides of an assign.
+For example, this sets the last record to the first record:
+</p><div class="example">
+<pre class="example">th(9,:,:)=th(0,:,:);
+</pre></div>
+<p>Say <var>th0</var> represents pressure at height=0 and 
+<var>th1</var> represents pressure at height=1.
+Then it is possible to insert these hyperslabs into the records
+</p><div class="example">
+<pre class="example">prs[$time,$height,$lat,$lon]=0.0;
+prs(:,0,:,:)=th0;
+prs(:,1,:,:)=th1
+</pre></div>
+
+<p><strong>Reverse method</strong><br>
+<a name="index-reverse_0028_0029"></a>
+Use the <code>reverse()</code> method to reverse a dimension’s elements in a
+variable with at least one dimension.
+This is equivalent to a negative stride, e.g., 
+</p><div class="example">
+<pre class="example">th_rv=th(1 ,:,:).reverse($lon); // {12,11,10,9 }, {16,15,14,13}
+od_rv=od.reverse($time);        // {38,36,34,32,30,28,26,24,22,20}
+</pre></div>
+
+<p><strong>Permute method</strong>p<br>
+<a name="index-permute_0028_0029"></a>
+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. 
+If the first dimension in the variable is of record type then this must
+remain the first dimension. 
+If you want to change the record dimension then consider using
+<code>ncpdq</code>. 
+</p>
+<p>Consider the variable:
+</p><div class="example">
+<pre class="example">float three_dmn_var(lat,lev,lon);
+three_dmn_var_prm=three_dmn_var.permute($lon,$lat,$lev);
+// The permuted values are
+three_dmn_var_prm= 
+  0,4,8,
+  12,16,20,
+  1,5,9,
+  13,17,21,
+  2,6,10,
+  14,18,22,
+  3,7,11,
+  15,19,23;
+</pre></div>
+
+<a name="ncap_att"></a> <!-- http://nco.sf.net/nco.html#ncap_att --><hr>
+<a name="Attributes"></a>
+<div class="header">
+<p>
+Next: <a href="#Number-literals" accesskey="n" rel="next">Number literals</a>, Previous: <a href="#Arrays-and-hyperslabs" accesskey="p" rel="previous">Arrays and hyperslabs</a>, Up: <a href="#ncap2-netCDF-Arithmetic-Processor" accesskey="u" rel="up">ncap2 netCDF Arithmetic Processor</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Attributes-1"></a>
+<h4 class="subsection">4.1.6 Attributes</h4>
+<a name="index-attributesncap2"></a>
+<p>Attributes are referred to by <em>var_nm at att_nm</em> <br>
+All the following are valid statements:
+</p><div class="example">
+<pre class="example">global at text="Test Attributes"; /* Assign a global variable attribute */
+a1[$time]=time*20;
+a1 at long_name="Kelvin";
+a1 at min=a1.min();
+a1 at max=a1.max();
+a1 at min++;
+--a1 at max; q
+a1(0)=a1 at min;
+a1($time.size-1)=a1 at max;
+</pre></div>
+
+<p>A <em>value list</em> can be used on the RHS of an assign...
+<a name="index-value-list"></a>
+</p><div class="example">
+<pre class="example">a1 at trip1={1,2,3} ;
+a1 at triplet={a1 at min,(a1 at min+a1@max)/2,a1 at max}; 
+</pre></div>
+<p>The netCDF specification allows all attribute types to have a size
+greater than one. 
+The maximum is defined by <code>NC_MAX_ATTRS</code>.
+The following is an <code>ncdump</code> of the metadata for variable <var>a1</var> 
+</p><div class="example">
+<pre class="example">double a1(time) ;
+  a1:long_name = "Kelvin" ;
+  a1:max = 199. ;
+  a1:min = 21. ;
+  a1:trip1 = 1, 2, 3 ;
+  a1:triplet = 21., 110., 199. ;
+</pre></div>
+
+<p>The <code>size()</code> method can be used with attributes.
+For example, to save an attribute text string in a variable,
+</p><div class="example">
+<pre class="example">defdim("sng_len", a1 at long_name.size());
+sng_arr[$sng_len]=a1 at long_name; // sng_arr now contains "Kelvin" 
+</pre></div>
+<p>Attributes defined in a script are stored in memory and are written to Output after script completion.
+To stop the attribute being written use the ram_delete() method or use a bogus variable name.
+</p>
+<p><strong>Attribute Propagation and Inheritance</strong>
+<a name="index-attribute-propagation"></a>
+<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> It is possible to have a regular assign statement for which both propagation and inheritance occur.
+</li></ul>
+
+<div class="example">
+<pre class="example">// prs_mdp inherits attributes from P0:
+prs_mdp[time,lat,lon,lev]=P0*hyam+hybm*PS;
+// th_min inherits attributes from three_dmn_var_dbl:
+th_min=1.0 + 2*three_dmn_var_dbl.min($time);
+</pre></div>
+
+<p>If the attribute name contains non-regular characters use ID quoting. See see <a href="#ID-Quoting">ID Quoting</a>
+</p><div class="example">
+<pre class="example">'b..m1 at c--lost'=23;
+</pre></div>
+
+<a name="ncap_num"></a> <!-- http://nco.sf.net/nco.html#ncap_num --><hr>
+<a name="Number-literals"></a>
+<div class="header">
+<p>
+Next: <a href="#if-statement" accesskey="n" rel="next">if statement</a>, Previous: <a href="#Attributes" accesskey="p" rel="previous">Attributes</a>, Up: <a href="#ncap2-netCDF-Arithmetic-Processor" accesskey="u" rel="up">ncap2 netCDF Arithmetic Processor</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Number-literals-1"></a>
+<h4 class="subsection">4.1.7 Number literals</h4>
+<a name="index-number-literals-ncap2"></a>
+<p>The table below lists the postfix character(s) to add to a number
+literal for type cohesion. 
+To use the new netCDF4 types <acronym>NCO</acronym> must be compiled/linked to
+the netCDF4 library and the output file must be <acronym>HDF5</acronym>.
+</p>
+<div class="example">
+<pre class="example">n1[$time]=1UL; // n1 will now by type <code>NC_UINT</code>
+n2[$lon]=4b;   // n2 will be of type <code>NC_BYTE</code>
+n3[$lat]=5ull; // n3 will be of type <code>NC_UINT64</code>  
+n3 at a1=6.0d;   // attribute will be type <code>NC_DOUBLE</code>
+n3 at a2=-666L;  // attribute will be type <code>NC_INT</code>
+</pre></div>
+
+<p>A floating point number without a postfix will default to
+<code>NC_DOUBLE</code>. 
+An integer without a postfix will default to type <code>NC_INT</code>. 
+There is no postfix for characters, use a quoted string instead.
+</p><div class="example">
+<pre class="example">n4[$rlev]=0.1      // n4 will be of type <code>NC_DOUBLE</code>
+n5[$lon_grd]=2.0   // n5 will be of type <code>NC_DOUBLE</code>
+n6[$gds_crd]=2e3;  // n6 will be of type <code>NC_DOUBLE</code>
+n7[$gds_crd]=2e3f;  // n7 will be of type <code>NC_FLOAT</code>
+n6 at a1=41;         // attribute will be type <code>NC_INT</code>
+n6 at a2=-21;        // attribute will be type <code>NC_INT</code>  
+n6 at units="kelvin" // attribute will be type <code>NC_CHAR</code>
+</pre></div>
+
+<dl compact="compact">
+<dt><strong>netCDF3/4 Types</strong></dt>
+<dt>b|B</dt>
+<dd><p><code>NC_BYTE</code>, a signed 1-byte integer 
+</p></dd>
+<dt>none</dt>
+<dd><p><code>NC_CHAR</code>, an ISO/ASCII character 
+</p></dd>
+<dt>s|S</dt>
+<dd><p><code>NC_SHORT</code>, a signed 2-byte integer 
+</p></dd>
+<dt>l|L</dt>
+<dd><p><code>NC_INT</code>, a signed 4-byte integer 
+</p></dd>
+<dt>f|F</dt>
+<dd><p><code>NC_FLOAT</code>, a single-precision (4-byte) floating point number 
+</p></dd>
+<dt>d|D</dt>
+<dd><p><code>NC_DOUBLE</code>, a double-precision (8-byte) floating point number 
+</p></dd>
+<dt><strong>netCDF4 Types</strong></dt>
+<dt>ub|UB</dt>
+<dd><p><code>NC_UBYTE</code>, an unsigned 1-byte integer 
+</p></dd>
+<dt>us|US</dt>
+<dd><p><code>NC_USHORT</code>, an unsigned 2-byte integer 
+</p></dd>
+<dt>u|U|ul|UL</dt>
+<dd><p><code>NC_UINT</code>, an unsigned 4-byte integer 
+</p></dd>
+<dt>ll|LL</dt>
+<dd><p><code>NC_INT64</code>, a signed 8-byte integer 
+</p></dd>
+<dt>ull|ULL</dt>
+<dd><p><code>NC_UINT64</code>, an unsigned 8-byte integer 
+</p></dd>
+</dl>
+
+<a name="ncap_if"></a> <!-- http://nco.sf.net/nco.html#ncap_if --><hr>
+<a name="if-statement"></a>
+<div class="header">
+<p>
+Next: <a href="#print-statement" accesskey="n" rel="next">print statement</a>, Previous: <a href="#Number-literals" accesskey="p" rel="previous">Number literals</a>, Up: <a href="#ncap2-netCDF-Arithmetic-Processor" accesskey="u" rel="up">ncap2 netCDF Arithmetic Processor</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="if-statement-1"></a>
+<h4 class="subsection">4.1.8 if statement</h4>
+<a name="index-if_0028_0029"></a>
+<p>The syntax of the if statement is similar to its C counterpart. 
+The <em>Conditional Operator (ternary operator)</em> has also been
+implemented. 
+</p><div class="example">
+<pre class="example">if(exp1)
+   stmt1;
+else if(exp2)     
+   stmt2;
+else
+   stmt3;
+
+# Can use code blocks as well:
+if(exp1){
+   stmt1;
+   stmt1a;
+   stmt1b;
+} else if(exp2)     
+   stmt2; 
+else {
+   stmt3;
+   stmt3a;
+   stmt3b;
+}     
+</pre></div>
+
+<p>For a variable or attribute expression to be logically true
+all its non-missing value elements must be logically true, i.e.,
+non-zero. 
+The expression can be of any type. 
+Unlike C<!-- /@w --> there is no short-circuiting of an expression with the 
+OR (<code>||</code>) and AND (<code>&&</code>) operators. 
+The whole expression is evaluated regardless if one of the AND/OR
+operands are True/False.
+</p><div class="example">
+<pre class="example"># Simple example
+if(time>0)
+  print("All values of time are greater than zero\n");
+else if( time<0)
+  print("All values of time are less than zero\n");   
+else {
+  time_max=time.max();
+  time_min=time.min();
+  print("min value of time=");print(time_min,"%f");
+  print("max value of time=");print(time_max,"%f");
+}
+
+# Example from ddra.nco
+if(fl_typ==fl_typ_gcm){
+  var_nbr_apx=32;
+  lmn_nbr=1.0*var_nbr_apx*varsz_gcm_4D; /* [nbr] Variable size */
+  if(nco_op_typ==nco_op_typ_avg){
+    lmn_nbr_avg=1.0*var_nbr_apx*varsz_gcm_4D; // Block size
+    lmn_nbr_wgt=dmnsz_gcm_lat; /* [nbr] Weight size */
+  } // !nco_op_typ_avg
+}else if(fl_typ==fl_typ_stl){
+  var_nbr_apx=8;
+  lmn_nbr=1.0*var_nbr_apx*varsz_stl_2D; /* [nbr] Variable size */
+  if(nco_op_typ==nco_op_typ_avg){
+    lmn_nbr_avg=1.0*var_nbr_apx*varsz_stl_2D; // Block size
+    lmn_nbr_wgt=dmnsz_stl_lat; /* [nbr] Weight size */
+  } // !nco_op_typ_avg
+} // !fl_typ
+</pre></div>
+
+<p><strong>Conditional Operator <br></strong>
+</p><div class="example">
+<pre class="example">// netCDF4 needed for this example
+th_nw=(three_dmn_var_sht >= 0 ? three_dmn_var_sht.uint() : \
+       three_dmn_var_sht.int()); 
+</pre></div>
+
+<a name="ncap_prn"></a> <!-- http://nco.sf.net/nco.html#ncap_prn --><hr>
+<a name="print-statement"></a>
+<div class="header">
+<p>
+Next: <a href="#Missing-values-ncap2" accesskey="n" rel="next">Missing values ncap2</a>, Previous: <a href="#if-statement" accesskey="p" rel="previous">if statement</a>, Up: <a href="#ncap2-netCDF-Arithmetic-Processor" accesskey="u" rel="up">ncap2 netCDF Arithmetic Processor</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="print-statement-1"></a>
+<h4 class="subsection">4.1.9 print statement</h4>
+<a name="index-print_0028_0029-ncap2"></a>
+<div class="example">
+<pre class="example">print(variable_name/attribute name/string, format string);
+</pre></div>
+
+<p>The print function takes a variable name or attribute name or
+a quoted string and prints the contents in a in a similar fashion to
+<code>ncks -H</code>.
+There is also an optional C-language style format string argument. 
+Currently the print function cannot print <acronym>RAM</acronym> variables or expressions 
+such as <code>'print(var_msk*3+4)'</code>. 
+To print an expression, first evaluate it as a non-<acronym>RAM</acronym> variable (so it
+will be saved and can be printed), and then print the variable.
+</p>
+<p>examples
+</p><div class="example">
+<pre class="example">print(lon);
+lon[0]=0 
+lon[1]=90 
+lon[2]=180 
+lon[3]=270 
+
+print(lon_2D_rrg,"%3.2f,");
+0.00,0.00,180.00,0.00,180.00,0.00,180.00,0.00,
+
+print(mss_val_fst at _FillValue);
+mss_val_fst at _FillValue, size = 1 NC_FLOAT, value = -999
+
+print("This function \t is monotonic\n");
+This function is 	  monotonic
+</pre></div>
+
+<a name="ncap_miss"></a> <!-- http://nco.sf.net/nco.html#ncap_miss --><hr>
+<a name="Missing-values-ncap2"></a>
+<div class="header">
+<p>
+Next: <a href="#Methods-and-functions" accesskey="n" rel="next">Methods and functions</a>, Previous: <a href="#print-statement" accesskey="p" rel="previous">print statement</a>, Up: <a href="#ncap2-netCDF-Arithmetic-Processor" accesskey="u" rel="up">ncap2 netCDF Arithmetic Processor</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Missing-values-ncap2-1"></a>
+<h4 class="subsection">4.1.10 Missing values ncap2</h4>
+<a name="index-missing-values-ncap2"></a>
+<p>Missing values operate slightly differently in <code>ncap2</code> 
+Consider the expression where op is any of the following operators (excluding ’=’)
+</p><div class="example">
+<pre class="example">Arithmetic operators ( * / % + - ^ )
+Binary Operators     ( >, >= <, <= ==, !=,==,||,&&, >>,<< ) 
+Assign Operators     ( +=,-=,/=, *= ) 
+
+var1 'op' var2
+</pre></div>
+
+<p>If var1 has a missing value then this is the value used in the 
+operation, otherwise the missing value for var2 is used. 
+If during the element-by-element operation an element from either
+operand is equal to the missing value then the missing value is carried 
+through. 
+In this way missing values ’percolate’ or propagate through an
+expression.<br>  
+Missing values associated with Output variables are stored in memory and
+are written to disk after the script finishes. 
+During script execution its possible (and legal) for the missing value
+of a variable to take on several different values. 
+</p><div class="example">
+<pre class="example"># Consider the variable:
+int rec_var_int_mss_val_int(time); =-999,2,3,4,5,6,7,8,-999,-999;
+rec_var_int_mss_val_int:_FillValue = -999;
+
+n2=rec_var_int_mss_val_int + rec_var_int_mss_val_int.reverse($time); 
+
+n2=-999,-999,11,11,11,11,11,11,999,-999;
+</pre></div>
+
+<a name="set_miss"></a> <!-- http://nco.sf.net/nco.html#set_miss -->
+<a name="get_miss"></a> <!-- http://nco.sf.net/nco.html#get_miss -->
+<a name="change_miss"></a> <!-- http://nco.sf.net/nco.html#change_miss -->
+<a name="number_miss"></a> <!-- http://nco.sf.net/nco.html#number_miss --><p>The following methods manipulate missing value information associated
+with a variable. 
+They only work on variables in Output. 
+</p><dl compact="compact">
+<dt><code>set_miss(expr)</code></dt>
+<dd><a name="index-set_005fmiss_0028_0029"></a>
+<p>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.
+ NB: This only changes the missing value attribute. 
+ Missing values in the original variable remain unchanged, and thus 
+ are no long considered missing values.
+ They are “orphaned”.
+ Thus <code>set_miss()</code> is normally used only when creating new
+ variables.
+ The intrinsic function <code>change_miss()</code> (see below) is typically 
+ used to edit values of existing variables.
+</p></dd>
+<dt><code>change_miss(expr)</code></dt>
+<dd><a name="index-change_005fmiss_0028_0029"></a>
+<p>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. 
+</p></dd>
+<dt><code>get_miss()</code></dt>
+<dd><a name="index-get_005fmiss_0028_0029"></a>
+<p>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.   
+</p></dd>
+<dt><code>delete_miss()</code></dt>
+<dd><a name="index-delete_005fmiss_0028_0029"></a>
+<p>Deletes the missing value associated with a variable.
+</p></dd>
+<dt><code>number_miss()</code></dt>
+<dd><a name="index-number_005fmiss_0028_0029"></a>
+<p>Counts the number of missing values a variable contains.
+</p></dd>
+</dl>
+
+<div class="example">
+<pre class="example">th=three_dmn_var_dbl;
+th.change_miss(-1e10d);
+/* Set values less than 0 or greater than 50 to missing value */
+where(th < 0.0 || th > 50.0) th=th.get_miss();
+
+# Another example:
+new[$time,$lat,$lon]=1.0;
+new.set_miss(-997.0);
+
+// Extract only elements divisible by 3
+where (three_dmn_var_dbl%3 == 0)
+     new=three_dmn_var_dbl; 
+elsewhere
+     new=new.get_miss();   
+
+// Print missing value and variable summary
+mss_val_nbr=three_dmn_var_dbl.number_miss();
+print(three_dmn_var_dbl at _FillValue);
+print("Number of missing values in three_dmn_var_dbl: ");
+print(mss_val_nbr,"%d");
+print(three_dmn_var_dbl);
+</pre></div>
+
+<a name="ncap_mtd"></a> <!-- http://nco.sf.net/nco.html#ncap_mtd --><hr>
+<a name="Methods-and-functions"></a>
+<div class="header">
+<p>
+Next: <a href="#RAM-variables" accesskey="n" rel="next">RAM variables</a>, Previous: <a href="#Missing-values-ncap2" accesskey="p" rel="previous">Missing values ncap2</a>, Up: <a href="#ncap2-netCDF-Arithmetic-Processor" accesskey="u" rel="up">ncap2 netCDF Arithmetic Processor</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Methods-and-functions-1"></a>
+<h4 class="subsection">4.1.11 Methods and functions</h4>
+
+<p>The convention within this document is that methods can be used as 
+functions. 
+However, functions are not and cannot be used as methods.
+Methods can be daisy-chained d and their syntax is cleaner than functions. 
+Method names are reserved words and CANNOT be used as variable names.  
+The command <code>ncap2 -f</code> shows the complete list of methods available
+on your build. 
+</p><div class="example">
+<pre class="example">n2=sin(theta) 
+n2=theta.sin() 
+n2=sin(theta)^2 + cos(theta)^2 
+n2=theta.sin().pow(2) + theta.cos()^2
+</pre></div>
+
+<p>This statement chains together methods to convert three_dmn_var_sht to
+type double, average it, then convert this back to type short: 
+</p><div class="example">
+<pre class="example">three_avg=three_dmn_var_sht.double().avg().short();
+</pre></div>
+
+<br>
+<p><strong>Aggregate Methods <br></strong> 
+These methods mirror the averaging types available in <code>ncwa</code>. The arguments to the methods are the dimensions to average over. Specifying no dimensions is equivalent to specifying all dimensions i.e., averaging over all dimensions. A masking variable and a weighting variable can be manually created and applied as needed.
+</p>
+<dl compact="compact">
+<dt><code>avg()</code></dt>
+<dd><a name="index-avg_0028_0029"></a>
+<p>Mean value 
+</p></dd>
+<dt><code>sqravg()</code></dt>
+<dd><a name="index-sqravg_0028_0029"></a>
+<p>Square of the mean
+</p></dd>
+<dt><code>avgsqr()</code></dt>
+<dd><p>Mean of sum of squares
+</p></dd>
+<dt><code>max()</code></dt>
+<dd><a name="index-max_0028_0029"></a>
+<p>Maximum value
+</p></dd>
+<dt><code>min()</code></dt>
+<dd><a name="index-min_0028_0029"></a>
+<p>Minimum value
+</p></dd>
+<dt><code>rms()</code></dt>
+<dd><p>Root-mean-square (normalize by <var>N</var>)
+</p></dd>
+<dt><code>rmssdn()</code></dt>
+<dd><a name="index-rmssdn_0028_0029"></a>
+<p>Root-mean square (normalize by <var>N-1</var>)
+</p></dd>
+<dt><code>ttl() or total()</code></dt>
+<dd><a name="index-ttl_0028_0029"></a>
+<p>Sum of values
+</p></dd>
+</dl>
+
+<div class="example">
+<pre class="example">// Average a variable over time
+four_time_avg=four_dmn_rec_var($time);
+</pre></div>
+
+<br>
+<p><strong> Packing Methods <br> </strong> 
+For more information see see <a href="#Packed-data">Packed data</a> and see <a href="#ncpdq-netCDF-Permute-Dimensions-Quickly">ncpdq netCDF Permute Dimensions Quickly</a><br>
+</p><dl compact="compact">
+<dt><code>pack() & pack_short()</code></dt>
+<dd><a name="index-pack_0028_0029"></a>
+<p>The default packing algorithm is applied and variable is packed to <code>NC_SHORT</code>
+</p></dd>
+<dt><code>pack_byte()</code></dt>
+<dd><a name="index-pack_005fbyte_0028_0029"></a>
+<p>Variable is packed to <code>NC_BYTE</code>
+</p></dd>
+<dt><code>pack_short()</code></dt>
+<dd><a name="index-pack_005fshort_0028_0029"></a>
+<p>Variable is packed to <code>NC_SHORT</code>
+</p></dd>
+<dt><code>pack_int()</code></dt>
+<dd><a name="index-pack_005fint_0028_0029"></a>
+<p>Variable is packed to <code>NC_INT</code>
+</p></dd>
+<dt><code>unpack()</code></dt>
+<dd><a name="index-unpack_0028_0029"></a>
+<p>The standard unpacking algorithm is applied. 
+</p></dd>
+</dl>
+
+<p><strong>Basic Methods <br></strong>
+These methods work with variables and attributes. They have no arguments
+</p>
+<dl compact="compact">
+<dt><code>size()</code></dt>
+<dd><a name="index-size_0028_0029"></a>
+<p>Total number of elements 
+</p></dd>
+<dt><code>ndims()</code></dt>
+<dd><a name="index-ndims_0028_0029"></a>
+<p>Number of dimensions in variable
+</p></dd>
+<dt><code>type()</code></dt>
+<dd><a name="index-type_0028_0029"></a>
+<p>Returns the netcdf type (see previous section)
+</p></dd>
+</dl>
+
+<br>
+<p><strong>Utility Methods <br></strong>
+These functions are used to manipulate missing values and <acronym>RAM</acronym> variables.
+see <a href="#Missing-values-ncap2">Missing values ncap2</a> 
+</p>
+<dl compact="compact">
+<dt><code>set_miss(expr)</code></dt>
+<dd><p>Takes one argument the missing value. Sets or overwrites the existing missing value. The argument given is converted if necessary to the variable type
+</p></dd>
+<dt><code>change_miss(expr)</code></dt>
+<dd><p>Changes the missing value elements of the variable to the new missing value (n.b. an expensive function).
+</p></dd>
+<dt><code>get_miss()</code></dt>
+<dd><p>Returns the missing value of a variable in Input or Output  
+</p></dd>
+<dt><code>delete_miss()</code></dt>
+<dd><p>Deletes the missing value associated with a variable.
+</p></dd>
+<dt><code>ram_write()</code></dt>
+<dd><p>Writes a <acronym>RAM</acronym> variable to disk i.e., converts it to a regular disk type variable
+</p></dd>
+<dt><code>ram_delete()</code></dt>
+<dd><p>Deletes a <acronym>RAM</acronym> variable or an attribute 
+</p></dd>
+</dl>
+
+<br>
+<p><strong>PDQ Methods <br></strong>
+See see <a href="#ncpdq-netCDF-Permute-Dimensions-Quickly">ncpdq netCDF Permute Dimensions Quickly</a>
+</p><dl compact="compact">
+<dt><code>reverse(dim args)</code></dt>
+<dd><p>Reverses the dimension ordering of elements in a variable. 
+</p></dd>
+<dt><code>permute(dim args)</code></dt>
+<dd><p>Re-shapes variables by re-ordering the dimensions. All the dims of the variable must be specified in the arguments. A limitation of this permute (unlike ncpdq) is that the record dimension cannot be re-assigned. 
+</p></dd>
+</dl>
+<p>// Swap dimensions about and reorder along lon
+</p><div class="example">
+<pre class="example">lat_2D_rrg_new=lat_2D_rrg.permute($lon,$lat).reverse($lon);
+lat_2D_rrg_new=0,90,-30,30,-30,30,-90,0
+</pre></div>
+
+<br>
+<p><strong>Type Conversion Methods <br></strong>
+These methods allow <code>ncap2</code> to convert variables and attributes to the different netcdf types. For more details on automatic and manual type conversion see (see <a href="#Type-Conversion">Type Conversion</a>). You can only use the new netCDF4 types if you have compiled/links <acronym>NCO</acronym> with the netCDF4 library and the Output file is HDF5.
+</p>
+<dl compact="compact">
+<dt><code><strong>netCDF3/4 Types</strong></code></dt>
+<dt><code>byte()</code></dt>
+<dd><a name="index-byte_0028_0029"></a>
+<p>convert to <code>NC_BYTE</code>,  a signed 1-byte integer 
+</p></dd>
+<dt><code>char()</code></dt>
+<dd><a name="index-char_0028_0029"></a>
+<p>convert to <code>NC_CHAR</code>,  an ISO/ASCII character
+</p></dd>
+<dt><code>short()</code></dt>
+<dd><a name="index-sshort_0028_0029"></a>
+<p>convert to <code>NC_SHORT</code>, a signed 2-byte integer 
+</p></dd>
+<dt><code>int()</code></dt>
+<dd><a name="index-int_0028_0029"></a>
+<p>convert to <code>NC_INT</code>,   a signed 4-byte integer 
+</p></dd>
+<dt><code>float()</code></dt>
+<dd><a name="index-float_0028_0029"></a>
+<p>convert to <code>NC_FLOAT</code>, a single-precision (4-byte) floating point number 
+</p></dd>
+<dt><code>double()</code></dt>
+<dd><a name="index-double_0028_0029"></a>
+<p>convert to <code>NC_DOUBLE</code>, a double-precision (8-byte) floating point number 
+</p></dd>
+<dt><code><strong>netCDF4 Types</strong></code></dt>
+<dt><code>ubyte()</code></dt>
+<dd><a name="index-ubyte_0028_0029"></a>
+<p>convert to <code>NC_UBYTE</code>, an unsigned 1-byte integer 
+</p></dd>
+<dt><code>ushort()</code></dt>
+<dd><a name="index-ushort_0028_0029"></a>
+<p>convert to <code>NC_USHORT</code>, an unsigned 2-byte integer 
+</p></dd>
+<dt><code>uint()</code></dt>
+<dd><a name="index-uint_0028_0029"></a>
+<p>convert to <code>NC_UINT</code>, an unsigned 4-byte integer 
+</p></dd>
+<dt><code>int64()</code></dt>
+<dd><a name="index-int64_0028_0029"></a>
+<p>convert to <code>NC_INT64</code>, a signed 8-byte integer 
+</p></dd>
+<dt><code>uint64()</code></dt>
+<dd><a name="index-unit64_0028_0029"></a>
+<p>convert to <code>NC_UINT64</code>, an unsigned 8-byte integer
+</p></dd>
+</dl>
+
+<p><strong>Intrinsic Mathematical Methods <br></strong>
+The list of mathematical methods is system dependant.
+For the full list see <a href="#Intrinsic-mathematical-methods">Intrinsic mathematical methods</a> 
+</p>
+<p>All the mathematical methods take a single argument except <code>atan2()</code>
+and <code>pow()</code> which take two. 
+If the operand type is less than <em>float</em> then the result will be of
+type <em>float</em>. 
+Arguments of type <em>double</em> yield results of type <em>double</em>. 
+Like the other methods, you are free to use the mathematical methods as functions. 
+</p>
+<div class="example">
+<pre class="example">n1=pow(2,3.0f)    // n1 type float
+n2=atan2(2,3.0)   // n2 type double
+n3=1/(three_dmn_var_dbl.cos().pow(2))-tan(three_dmn_var_dbl)^2; // n3 type double
+</pre></div>
+
+<a name="ncap_ram"></a> <!-- http://nco.sf.net/nco.html#ncap_ram --><a name="index-RAM-variables-1"></a>
+<hr>
+<a name="RAM-variables"></a>
+<div class="header">
+<p>
+Next: <a href="#Where-statement" accesskey="n" rel="next">Where statement</a>, Previous: <a href="#Methods-and-functions" accesskey="p" rel="previous">Methods and functions</a>, Up: <a href="#ncap2-netCDF-Arithmetic-Processor" accesskey="u" rel="up">ncap2 netCDF Arithmetic Processor</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="RAM-variables-1"></a>
+<h4 class="subsection">4.1.12 <acronym>RAM</acronym> variables</h4>
+<p>Unlike regular variables, <acronym>RAM</acronym> variables are never written to disk.
+Hence using <acronym>RAM</acronym> variables in place of regular variables (especially
+within loops) significantly increases execution speed.
+Variables that are frequently accessed within <code>for</code> or <code>where</code>
+clauses provide the greatest opportunities for optimization. 
+To declare and define a <acronym>RAM</acronym> variable simply prefix the variable name
+with an asterisk (<code>*</code>) when the variable is declared/initialized.
+To delete a <acronym>RAM</acronym> variables (and recover their memory) use the
+<code>ram_delete()</code> method. 
+To write a <acronym>RAM</acronym> variable to disk (like a regular variable) use
+<code>ram_write()</code>. 
+<a name="index-ram_005fwrite_0028_0029"></a>
+<a name="index-ram_005fdelete_0028_0029"></a>
+</p><div class="example">
+<pre class="example">*temp[$time,$lat,$lon]=10.0;     // Cast
+*temp_avg=temp.avg($time);      // Regular assign
+temp.ram_delete();              // Delete RAM variable
+temp_avg.ram_write();           // Write Variable to output
+
+// Create and increment a RAM variable from "one" in Input
+*one++;   
+// Create RAM variables from the variables three and four in Input.
+// Multiply three by 10 and add it to four. 
+*four+=*three*=10; // three=30, four=34 
+</pre></div>
+
+<a name="where"></a> <!-- http://nco.sf.net/nco.html#where -->
+<a name="ncap_whr"></a> <!-- http://nco.sf.net/nco.html#ncap_whr -->
+<a name="ncap_where"></a> <!-- http://nco.sf.net/nco.html#ncap_where --><hr>
+<a name="Where-statement"></a>
+<div class="header">
+<p>
+Next: <a href="#Loops" accesskey="n" rel="next">Loops</a>, Previous: <a href="#RAM-variables" accesskey="p" rel="previous">RAM variables</a>, Up: <a href="#ncap2-netCDF-Arithmetic-Processor" accesskey="u" rel="up">ncap2 netCDF Arithmetic Processor</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Where-statement-1"></a>
+<h4 class="subsection">4.1.13 Where statement</h4>
+<a name="index-where_0028_0029"></a>
+<p>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:
+</p>
+<div class="example">
+<pre class="example">// Single assign (the 'elsewhere' block is optional)
+where(mask) 
+   var1=expr1;
+elsewhere
+   var1=expr2;	   	
+
+// Multiple assigns
+where(mask){
+    var1=expr1;
+    var2=expr2;
+    ...
+}elsewhere{
+    var1=expr3
+    var2=expr4
+    var3=expr5;
+    ...
+}
+</pre></div>
+
+<ul>
+<li> The only expression allowed in the predicate of a where is assign,
+i.e., ’var=expr’. 
+This assign differs from a regular <code>ncap2</code> assign. 
+The LHS var must already exist in Input or Output. 
+The RHS expression must evaluate to a scalar or a variable/attribute of
+the same size as the LHS variable.
+</li><li> Consider when both the LHS and RHS are variables: 
+For every element where mask condition is True, the corresponding LHS
+variable element is re-assigned to its partner element on the RHS. 
+In the elsewhere part the mask is logically inverted and the assign
+process proceeds as before.
+</li><li> If the mask dimensions are a subset of the LHS variable’s
+dimensions, then it is made to conform; if it cannot be made to conform 
+then script execution halts.   
+</li><li> Missing values in the mask evaluate to False in the where 
+code/block statement and to True in the elsewhere block/statement. 
+LHS variable elements set to missing value are not re-assigned.
+For these reasons, do not explicitly reference missing values in the
+masking condition, e.g., <code>where(foo=foo.get_missing()) foo=1;</code>
+will not work as expected.
+</li></ul>
+
+<p>Example:
+Consider the variables <code>float lon_2D_rct(lat,lon);</code> and
+<code>float var_msk(lat,lon);</code>. 
+Suppose we wish to multiply by two the elements for which <code>var_msk</code> 
+equals 1<!-- /@w -->: 
+</p><div class="example">
+<pre class="example">where(var_msk==1) lon_2D_rct=2*lon_2D_rct;
+</pre></div>
+<p>Suppose that we have the variable <code>int RDM(time)</code> and that we want
+to set its values less than 8 or greater than 80 to 0<!-- /@w -->:
+</p><div class="example">
+<pre class="example">where(RDM < 8 || RDM > 80) RDM=0;          
+</pre></div>
+
+<p>Consider irregularly gridded data, described using rank 2<!-- /@w --> coordinates: 
+<code>double lat(south_north,east_west)</code>,
+<code>double lon(south_north,east_west)</code>, 
+<code>double temperature(south_north,east_west)</code>.
+To find the average temperature in a region bounded by
+[<var>lat_min</var>,<var>lat_max</var>] and [<var>lon_min</var>,<var>lon_max</var>]:
+</p><div class="example">
+<pre class="example">temperature_msk[$south_north,$east_west]=0.0;
+where(lat >= lat_min && lat <= lat_max) && (lon >= lon_min && lon <= lon_max)
+  temperature_msk=temperature;	
+elsewhere
+  temperature_msk=temperature at _FillValue;
+
+temp_avg=temperature_msk.avg();
+temp_max=temperature.max();
+</pre></div>
+
+<a name="ncap_lop"></a> <!-- http://nco.sf.net/nco.html#ncap_lop --><hr>
+<a name="Loops"></a>
+<div class="header">
+<p>
+Next: <a href="#Include-files" accesskey="n" rel="next">Include files</a>, Previous: <a href="#Where-statement" accesskey="p" rel="previous">Where statement</a>, Up: <a href="#ncap2-netCDF-Arithmetic-Processor" accesskey="u" rel="up">ncap2 netCDF Arithmetic Processor</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Loops-1"></a>
+<h4 class="subsection">4.1.14 Loops</h4>
+<a name="index-while_0028_0029"></a>
+<a name="index-for_0028_0029"></a>
+<p><code>ncap2</code> supplies <code>for()</code> loops and <code>while()</code> loops. 
+They are completely unoptimized so use them only with <acronym>RAM</acronym> 
+variables unless you want thrash your disk to death. 
+To break out of a loop use the <code>break</code> command. 
+To iterate to the next cycle use the <code>continue</code> command. 
+</p>
+<div class="example">
+<pre class="example">// Set elements in variable double temp(time,lat) 
+// If element < 0 set to 0, if element > 100 set to 100
+*sz_idx=$time.size;
+*sz_jdx=$lat.size;
+
+for(*idx=0;idx<sz_idx;idx++)
+  for(*jdx=0;jdx<sz_jdx;jdx++)
+    if(temp(idx,jdx) > 100) temp(idx,jdx)=100.0; 
+      else if(temp(idx,jdx) < 0) temp(idx,jdx)=0.0;
+
+// Are values of co-ordinate variable double lat(lat) monotonic?
+*sz=$lat.size;
+
+for(*idx=1;idx<sz;idx++)
+  if(lat(idx)-lat(idx-1) < 0.0) break;
+
+if(idx == sz) print("lat co-ordinate is monotonic\n");
+   else print("lat co-ordinate is NOT monotonic\n");
+
+// Sum odd elements	
+*idx=0;
+*sz=$lat_nw.size;
+*sum=0.0;
+
+while(idx<sz){
+  if(lat(idx)%2) sum+=lat(idx);
+  idx++;
+}
+
+ram_write(sum);
+print("Total of odd elements ");print(sum);print("\n"); 
+</pre></div>
+
+<a name="ncap_inc"></a> <!-- http://nco.sf.net/nco.html#ncap_inc --><hr>
+<a name="Include-files"></a>
+<div class="header">
+<p>
+Next: <a href="#Sort-methods" accesskey="n" rel="next">Sort methods</a>, Previous: <a href="#Loops" accesskey="p" rel="previous">Loops</a>, Up: <a href="#ncap2-netCDF-Arithmetic-Processor" accesskey="u" rel="up">ncap2 netCDF Arithmetic Processor</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Include-files-1"></a>
+<h4 class="subsection">4.1.15 Include files</h4>
+<a name="index-include"></a>
+<p>The syntax of an <var>include-file</var> is:
+</p><div class="example">
+<pre class="example">#include "script.nco"
+</pre></div>
+<p>The script filename is searched relative to the run directory. 
+It is possible to nest include files to an arbitrary depth. 
+A handy use of inlcude files is to store often used constants. 
+Use <acronym>RAM</acronym> variables if you do not want these constants written to
+<var>output-file</var>.  
+</p><div class="example">
+<pre class="example">// script.nco
+// Sample file to #include in ncap2 script
+*pi=3.1415926535; // RAM variable, not written to output
+*h=6.62607095e-34; // RAM variable, not written to output
+e=2.71828; // Regular (disk) variable, written to output
+</pre></div>
+
+<a name="srt"></a> <!-- http://nco.sf.net/nco.html#srt -->
+<a name="sort"></a> <!-- http://nco.sf.net/nco.html#sort -->
+<a name="remap"></a> <!-- http://nco.sf.net/nco.html#remap --><hr>
+<a name="Sort-methods"></a>
+<div class="header">
+<p>
+Next: <a href="#Irregular-grids" accesskey="n" rel="next">Irregular grids</a>, Previous: <a href="#Include-files" accesskey="p" rel="previous">Include files</a>, Up: <a href="#ncap2-netCDF-Arithmetic-Processor" accesskey="u" rel="up">ncap2 netCDF Arithmetic Processor</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="sort-methods"></a>
+<h4 class="subsection">4.1.16 <code>sort</code> methods</h4>
+<a name="index-sort"></a>
+<a name="index-asort"></a>
+<a name="index-dsort"></a>
+<a name="index-remap"></a>
+<a name="index-unmap"></a>
+<a name="index-invert_005fmap"></a>
+<p>In <acronym>ncap2</acronym> there are multiple ways to sort data. 
+Beginning with <acronym>NCO</acronym> 4.1.0 (March, 2012), <acronym>ncap2</acronym> 
+support six sorting functions:
+</p><div class="example">
+<pre class="example">var_out=sort(var_in,&srt_map); // Ascending sort
+var_out=asort(var_in,&srt_map); // Accending sort 
+var_out=dsort(var_in,&srt_map); // Desending sort     
+var_out=remap(var_in,srt_map); // Apply srt_map to var_in
+var_out=unmap(var_in,srt_map); // Reverse what srt_map did to var_in
+dsr_map=invert_map(srt_map); // Produce "de-sort" map that inverts srt_map
+</pre></div>
+<p>The first two functions, <code>sort()</code> and <code>asort()</code>
+sort, in ascending order, all the elements of <var>var_in</var> (which can be
+a variable or attribute) without regard to any dimensions.
+The third function, <code>dsort()</code> does the same but sorts in
+descending order. 
+Remember that ascending and descending sorts are specified by
+<code>asort()</code> and <code>dsort()</code>, respectively.
+</p>
+<p>These three functions are overloaded to take a second, optional argument 
+called the sort map <var>srt_map</var>, which should be supplied as a
+call-by-reference variable, i.e., preceded with an ampersand.
+If the sort map does not yet exist, then it will be created and 
+returned as an integer type the same shape as the input variable.
+</p>
+<p>The output <var>var_out</var> of each sort function is a sorted version of
+the input, <var>var_in</var>.
+The output <var>var_out</var> of the two mapping functions the result of
+applying (with <code>remap()</code> or un-applying (with <code>unmap()</code>) 
+the sort map <var>srt_map</var> to the input <var>var_in</var>.
+To apply the sort map with <code>remap()</code> the size of the variable
+must be exactly divisible by the size of the sort map. 
+</p>
+<p>The final function <code>invert_map()</code> returns the so-called
+de-sorting map <var>dsr_map</var> which is inverse map of the input map
+<var>srt_map</var>. 
+This gives the user access to both the forward and inverse sorting maps
+which can be useful in special situations.
+</p><div class="example">
+<pre class="example">a1[$time]={10,2,3,4,6,5,7,3,4,1};
+a1_sort=sort(a1);
+print(a1_sort);
+// 1, 2, 3, 3, 4, 4, 5, 6, 7, 10;
+
+a2[$lon]={2,1,4,3};
+a2_sort=sort(a2,&a2_map);
+print(a2);
+// 1, 2, 3, 4
+print(a2_map);
+// 1, 0, 3, 2;
+</pre></div>
+
+<p>If the map variable does not exist prior to the <code>sort()</code> call,
+then it will be created with the same shape as the input variable and be
+of type <code>NC_INT</code>. 
+If the map variable already exists, then the only restriction is that it
+be of at least the same size as the input variable. 
+To apply a map use <code>remap(var_in,srt_map)</code>. 
+</p><div class="example">
+<pre class="example">defdim("nlat",5);
+
+a3[$lon]={2,5,3,7};
+a4[$nlat,$lon]={
+ 1, 2, 3, 4, 
+ 5, 6, 7, 8,
+ 9,10,11,12,
+ 13,14,15,16,
+ 17,18,19,20};
+
+a3_sort=sort(a3,&a3_map);
+print(a3_map);
+// 0, 2, 1, 3;
+
+a4_sort=remap(a4,a3_map);
+print(a4_sort);
+// 1, 3, 2, 4,
+// 5, 7, 6, 8,
+// 9,11,10,12,
+// 13,15,14,16,
+// 17,19,18,20;
+
+a3_map2[$nlat]={4,3,0,2,1};
+
+a4_sort2=remap(a4,a3_map2);
+print(a4_sort2);
+// 3, 5, 4, 2, 1
+// 8, 10, 9,7, 6, 
+// 13,15,14,12,11, 
+// 18,20,19,17,16
+</pre></div>
+<p>As in the above example you may create your own sort map.
+To sort in descending order, apply the <code>reverse()</code> method after the
+<code>sort()</code>.    
+</p>
+<p>Here is an extended example of how to use <code>ncap2</code> features to
+hyperslab an irregular region based on the values of a variable not a
+coordinate. 
+The distinction is crucial: hyperslabbing based on dimensional indices
+or coordinate values is straightforward.
+Using the values of single or multi-dimensional variable to define a
+hyperslab is quite different.
+</p><div class="example">
+<pre class="example">cat > ~/ncap2_foo.nco << 'EOF'
+// Purpose: Save irregular 1-D regions based on variable values
+
+// Included in NCO User Guide at http://nco.sf.net/nco.html#sort
+
+/* NB: Single quotes around EOF above turn off shell parameter 
+    expansion in "here documents". This in turn prevents the
+    need for protecting dollarsign characters in NCO scripts with
+    backslashes when the script is cut-and-pasted (aka "moused") 
+    from an editor or e-mail into a shell console window */
+
+/* Copy coordinates and variable(s) of interest into RAM variable(s)
+   Benefits:
+   1. ncap2 defines writes all variables on LHS of expression to disk
+      Only exception is RAM variables, which are stored in RAM only
+      Repeated operations on regular variables takes more time, 
+      because changes are written to disk copy after every change.
+      RAM variables are only changed in RAM so script works faster
+      RAM variables can be written to disk at end with ram_write()
+   2. Script permutes variables of interest during processing
+      Safer to work with copies that have different names
+      This discourages accidental, mistaken use of permuted versions
+   3. Makes this script a more generic template:
+      var_in instead of specific variable names everywhere */
+*var_in=one_dmn_rec_var;
+*crd_in=time;
+*dmn_in_sz=$time.size; // [nbr] Size of input arrays
+
+/* Create all other "intermediate" variables as RAM variables 
+   to prevent them from cluttering the output file.
+   Mask flag and sort map are same size as variable of interest */
+*msk_flg=var_in;
+*srt_map=var_in;
+
+/* In this example we mask for all values evenly divisible by 3
+   This is the key, problem-specific portion of the template
+   Replace this where() condition by that for your problem
+   Mask variable is Boolean: 1=Meets condition, 0=Fails condition */
+where(var_in % 3 == 0) msk_flg=1; elsewhere msk_flg=0;
+
+// print("msk_flg = ");print(msk_flg); // For debugging...
+
+/* The sort() routine is overloaded, and takes one or two arguments
+   The second argument (optional) is the "sort map" (srt_map below)
+   Pass the sort map by reference, i.e., prefix with an ampersand
+   If the sort map does not yet exist, then it will be created and 
+   returned as an integer type the same shape as the input variable.
+   The output of sort(), on the LHS, is a sorted version of the input
+   msk_flg is not needed in its original order after sort()
+   Hence we use msk_flg as both input to and output from sort()
+   Doing this prevents the need to define a new, unneeded variable */
+msk_flg=sort(msk_flg,&srt_map);
+
+// Count number of valid points in mask by summing the one's
+*msk_nbr=msk_flg.total();
+
+// Define output dimension equal in size to number of valid points
+defdim("crd_out",msk_nbr);
+
+/* Now sort the variable of interest using the sort map and remap()
+   The output, on the LHS, is the input re-arranged so that all points
+   meeting the mask condition are contiguous at the end of the array
+   Use same srt_map to hyperslab multiple variables of the same shape
+   Remember to apply srt_map to the coordinate variables */
+crd_in=remap(crd_in,srt_map);
+var_in=remap(var_in,srt_map);
+
+/* Hyperslab last msk_nbr values of variable(s) of interest */
+crd_out[crd_out]=crd_in((dmn_in_sz-msk_nbr):(dmn_in_sz-1));
+var_out[crd_out]=var_in((dmn_in_sz-msk_nbr):(dmn_in_sz-1));
+
+/* NB: Even though we created all variables possible as RAM variables,
+   the original coordinate of interest, time, is written to the ouput.
+   I'm not exactly sure why. For now, delete it from the output with: 
+   ncks -O -x -v time ~/foo.nc ~/foo.nc
+   */ 
+EOF
+ncap2 -O -v -S ~/ncap2_foo.nco ~/nco/data/in.nc ~/foo.nc
+ncks -O -x -v time ~/foo.nc ~/foo.nc
+ncks ~/foo.nc
+</pre></div>
+
+<p>Here is an extended example of how to use <code>ncap2</code> features to
+sort multi-dimensional arrays based on the coordinate values along a
+single dimension. 
+</p><div class="example">
+<pre class="example">cat > ~/ncap2_foo.nco << 'EOF'
+/* Purpose: Sort multi-dimensional array based on coordinate values
+   This example sorts the variable three_dmn_rec_var(time,lat,lon)
+   based on the values of the time coordinate. */
+
+// Included in NCO User Guide at http://nco.sf.net/nco.html#sort
+
+// Randomize the time coordinate
+time=10.0*gsl_rng_uniform(time);
+//print("original randomized time =\n");print(time);
+
+/* The sort() routine is overloaded, and takes one or two arguments
+   The first argument is a one dimensional array
+   The second argument (optional) is the "sort map" (srt_map below)
+   Pass the sort map by reference, i.e., prefix with an ampersand
+   If the sort map does not yet exist, then it will be created and 
+   returned as an integer type the same shape as the input variable.
+   The output of sort(), on the LHS, is a sorted version of the input */
+
+time=sort(time,&srt_map);
+//print("sorted time (ascending order) and associated sort map =\n");print(time);print(srt_map);
+
+/* sort() always sorts in ascending order
+   The associated sort map therefore re-arranges the original,
+   randomized time array into ascending order.
+   There are two methods to obtain the descending order the user wants
+   1) We could solve the problem in ascending order (the default)
+   and then apply the reverse() method to re-arrange the results.
+   2) We could change the sort map to return things in descending
+   order of time and solve the problem directly in descending order. */
+
+// Following shows how to do method one:
+
+/* Expand the sort map to srt_map_3d, the size of the data array
+   1. Use data array to provide right shape for the expanded sort map
+   2. Coerce data array into an integer so srt_map_3d is an integer
+   3. Multiply data array by zero so 3-d map elements are all zero
+   4. Add the 1-d sort map to the 3-d sort map (NCO automatically resizes)
+   5. Add the spatial (lat,lon) offsets to each time index 
+   6. de-sort using the srt_map_3d
+   7. Use reverse to obtain descending in time order
+   Loops could accomplish the same thing (exercise left for reader)
+   However, loops are slow for large datasets */
+
+/* Following index manipulation requires understanding correspondence
+   between 1-d (unrolled, memory order of storage) and access into that
+   memory as a multidimensional (3-d, in this case) rectangular array.
+   Key idea to understand is how dimensionality affects offsets */ 
+// Copy 1-d sort map into 3-d sort map
+srt_map_3d=(0*int(three_dmn_rec_var))+srt_map;
+// Multiply base offset by factorial of lesser dimensions
+srt_map_3d*=$lat.size*$lon.size;
+lon_idx=array(0,1,$lon);
+lat_idx=array(0,1,$lat)*$lon.size;
+lat_lon_idx[$lat,$lon]=lat_idx+lon_idx;
+srt_map_3d+=lat_lon_idx;
+
+print("sort map 3d =\n");print(srt_map_3d);
+
+// Use remap() to re-map the data
+three_dmn_rec_var=remap(three_dmn_rec_var,srt_map_3d);
+
+// Finally, reverse data so time coordinate is descending
+time=time.reverse($time);
+//print("sorted time (descending order) =\n");print(time);
+three_dmn_rec_var=three_dmn_rec_var.reverse($time);
+
+// Method two: Key difference is srt_map=$time.size-srt_map-1;
+EOF
+ncap2 -O -v -S ~/ncap2_foo.nco ~/nco/data/in.nc ~/foo.nc
+</pre></div>
+
+<a name="grd"></a> <!-- http://nco.sf.net/nco.html#grd -->
+<a name="rrg"></a> <!-- http://nco.sf.net/nco.html#rrg -->
+<a name="rct"></a> <!-- http://nco.sf.net/nco.html#rct -->
+<hr>
+<a name="Irregular-grids"></a>
+<div class="header">
+<p>
+Next: <a href="#Bilinear-interpolation" accesskey="n" rel="next">Bilinear interpolation</a>, Previous: <a href="#Sort-methods" accesskey="p" rel="previous">Sort methods</a>, Up: <a href="#ncap2-netCDF-Arithmetic-Processor" accesskey="u" rel="up">ncap2 netCDF Arithmetic Processor</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Irregular-Grids"></a>
+<h4 class="subsection">4.1.17 Irregular Grids</h4>
+<a name="index-irregular-grids"></a>
+<a name="index-rectangular-grids"></a>
+<a name="index-non_002drectangular-grids"></a>
+<a name="index-non_002dstandard-grids"></a>
+<a name="index-mask"></a>
+<p><acronym>NCO</acronym> is capable of analyzing datasets for many different
+underlying coordinate grid types.
+netCDF was developed for and initially used with grids comprised of
+orthogonal dimensions forming a rectangular coordinate system.
+We call such grids <em>standard</em> grids.
+It is increasingly common for datasets to use metadata to describe
+much more complex grids.
+Let us first define three important coordinate grid properties:
+rectangularity, regularity, and fxm.
+</p>
+<p>Grids are <em>regular</em> if the spacing between adjacent is constant. 
+For example, a 4-by-5 degree latitude-longitude grid is regular
+because the spacings between adjacent latitudes (4 degrees<!-- /@w -->) are
+constant as are the (5 degrees<!-- /@w -->) spacings between adjacent
+longitudes. 
+Spacing in <em>irregular</em> grids depends on the location along the
+coordinate. 
+Grids such as Gaussian grids have uneven spacing in latitude (points 
+cluster near the equator) and so are irregular.
+</p>
+<p>Grids are <em>rectangular</em> if the number of elements in any
+dimension is not a function of any other dimension.
+For example, a T42 Gaussian latitude-longitude grid is rectangular
+because there are the same number of longitudes (128) for each of the 
+(64) latitudes.
+Grids are <em>non-rectangular</em> if the elements in any dimension
+depend on another dimension.
+Non-rectangular grids present many special challenges to 
+analysis software like <acronym>NCO</acronym>.
+</p>
+<p>Wrapped coordinates (see <a href="#Wrapped-Coordinates">Wrapped Coordinates</a>), such as longitude,
+are independent of these grid properties (regularity,
+rectangularity). 
+</p>
+<a name="index-wrapped-coordinates-2"></a>
+<p>The preferred <acronym>NCO</acronym> technique to analyze data on non-standard
+coordinate grids is to create a region mask with <code>ncap2</code>, and
+then to use the mask within <code>ncap2</code> for variable-specific
+processing, and/or with other operators (e.g., <code>ncwa</code>,
+<code>ncdiff</code>) for entire file processing. 
+</p>
+<p>Before describing the construction of masks, let us review how
+irregularly gridded geoscience data are described.
+Say that latitude and longitude are stored as <var>R</var>-dimensional
+arrays and the product of the dimension sizes is the total number of  
+elements N in the other variables.
+Geoscience applications tend to use <em><var>R</var>=1</em>, 
+<em><var>R</var>=2</em>, and <em><var>R</var>=3</em>.
+</p>
+<p>If the grid is has no simple representation (e.g., discontinuous) then
+it makes sense to store all coordinates as 1D arrays with the same
+size as the number of grid points. 
+These gridpoints can be completely independent of all the other (own
+weight, area, etc.).  
+</p>
+<p><var>R</var>=1: lat(number_of_gridpoints) and lon(number_of_gridpoints)
+</p>
+<p>If the horizontal grid is time-invariant then <var>R</var>=2 is common:
+</p>
+<p><var>R</var>=2: lat(south_north,east_west) and lon(south_north,east_west)
+</p>
+<p>The Weather and Research Forecast (<acronym>WRF</acronym>) model uses <var>R</var>=3:
+</p>
+<p><var>R</var>=3: lat(time,south_north,east_west), lon(time,south_north,east_west)
+</p>
+<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
+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
+missing values into the unused points near the poles.
+</p>
+<p>We demonstrate the <code>ncap2</code> analysis technique for irregular
+regions by constructing a mask for an <var>R</var>=2 grid.
+We wish to find, say, the mean temperature within 
+[<var>lat_min</var>,<var>lat_max</var>] and [<var>lon_min</var>,<var>lon_max</var>]: 
+</p><div class="example">
+<pre class="example">ncap2 -s 'mask_var= (lat >= lat_min && lat <= lat_max) && \
+                    (lon >= lon_min && lon <= lon_max);' in.nc out.nc
+</pre></div>
+<p>Arbitrarily shaped regions can be defined by more complex conditional
+statements. 
+Once defined, masks can be applied to specific variables,
+and to entire files:
+</p><div class="example">
+<pre class="example">ncap2 -s 'temperature_avg=(temperature*mask_var).avg()' in.nc out.nc
+ncwa -a lat,lon -m mask_var -w area in.nc out.nc
+</pre></div>
+<p>Crafting such commands on the command line is possible though unwieldy.
+In such cases, a script is often cleaner and allows you to document the
+procedure:
+</p><div class="example">
+<pre class="verbatim">cat > ncap2.in << 'EOF'
+mask_var = (lat >= lat_min && lat <= lat_max) && (lon >= lon_min && > lon <= lon_max);
+if(mask_var.total() > 0){ // Check that mask contains some valid values
+  temperature_avg=(temperature*mask_var).avg(); // Average temperature
+  temperature_max=(temperature*mask_var).max(); // Maximum temperature
+}
+EOF
+ncap2 -S ncap2.in in.nc out.nc
+</pre></div>
+
+<a name="wrf"></a> <!-- http://nco.sf.net/nco.html#wrf -->
+<a name="WRF"></a> <!-- http://nco.sf.net/nco.html#WRF --><a name="index-WRF"></a>
+<p>Grids like those produced by the <acronym>WRF</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, 
+longitudes, and missing points. 
+The <acronym>WRF</acronym> grid documentation should describe this.
+For <acronym>WRF</acronym> files creating regional masks looks like 
+</p><div class="example">
+<pre class="example">mask_var = (XLAT >= lat_min && XLAT <= lat_max) && (XLONG >= lon_min && XLONG <= lon_max);
+</pre></div>
+
+<p>A few notes:
+Irregular regions are the union of arrays lat/lon_min/max’s. 
+The mask procedure is identical for all <var>R</var>.
+</p>
+<a name="bln_ntp"></a> <!-- http://nco.sf.net/nco.html#bln_ntp -->
+<a name="bil_int"></a> <!-- http://nco.sf.net/nco.html#bil_int --><hr>
+<a name="Bilinear-interpolation"></a>
+<div class="header">
+<p>
+Next: <a href="#GSL-special-functions" accesskey="n" rel="next">GSL special functions</a>, Previous: <a href="#Irregular-grids" accesskey="p" rel="previous">Irregular grids</a>, Up: <a href="#ncap2-netCDF-Arithmetic-Processor" accesskey="u" rel="up">ncap2 netCDF Arithmetic Processor</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Bilinear-interpolation-1"></a>
+<h4 class="subsection">4.1.18 Bilinear interpolation</h4>
+<p>As of version 4.0.0 <acronym>NCO</acronym> has internal routines to
+perform bilinear interpolation on gridded data sets.
+In mathematics, bilinear interpolation is an extension of linear
+interpolation for interpolating functions of two variables on a regular
+grid. 
+The idea is to perform linear interpolation first in one direction, and
+then again in the other direction.
+</p>
+<p>Suppose we have an irregular grid of data <code>temperature[lat,lon]</code>,
+with co-ordinate vars <code>lat[lat], lon[lon]</code>. 
+We wish to find the temperature at an arbitary point [<var>X</var>,<var>Y</var>]
+within the grid. 
+If we can locate lat_min,lat_max and lon_min,lon_max such that 
+<code>lat_min <= X <= lat_max</code> and <code>lon_min <= Y <= lon_max</code> 
+then we can interpolate in two dimensions the temperature at
+[<var>X</var>,<var>Y</var>]. 
+</p>
+<p>The general form of the <code>ncap2</code> interpolation function is
+</p><div class="example">
+<pre class="example">var_out=bilinear_interp(grid_in,grid_out,grid_out_x,grid_out_y,grid_in_x,grid_in_y)
+</pre></div>
+<p>where
+</p><dl compact="compact">
+<dt><code>grid_in</code></dt>
+<dd><p>Input function data. 
+Usually a two dimensional variable. 
+It must be of size <code>grid_in_x.size()*grid_in_y.size()</code>        
+</p></dd>
+<dt><code>grid_out</code></dt>
+<dd><p>This variable is the shape of <code>var_out</code>. 
+Usually a two dimensional variable. 
+It must be of size <code>grid_out_x.size()*grid_out_y.size()</code>
+</p></dd>
+<dt><code>grid_out_x</code></dt>
+<dd><p><var>X</var> output values 
+</p></dd>
+<dt><code>grid_out_y</code></dt>
+<dd><p><var>Y</var> output values 
+</p></dd>
+<dt><code>grid_in_x</code></dt>
+<dd><p><var>X</var> input values values. Must be monotonic (increasing or decreasing).
+</p></dd>
+<dt><code>grid_in_y</code></dt>
+<dd><p><var>Y</var> input values values. Must be monotonic (increasing or decreasing).
+</p></dd>
+</dl>
+<p>Prior to calculations all arguments are converted to type
+<code>NC_DOUBLE</code>.
+After calculations <code>var_out</code> is converted to the input type of
+<code>grid_in</code>. 
+</p>
+<p>Suppose the first part of an <code>ncap2</code> script is
+</p><div class="example">
+<pre class="example">defdim("X",4);
+defdim("Y",5);
+
+// Temperature
+T_in[$X,$Y]=
+ {100, 200, 300, 400, 500,
+  101, 202, 303, 404, 505,
+  102, 204, 306, 408, 510,
+  103, 206, 309, 412, 515.0 };
+
+// Coordinate variables
+x_in[$X]={0.0,1.0,2.0,3.01};
+y_in[$Y]={1.0,2.0,3.0,4.0,5};
+</pre></div>
+<p>Now we interpolate with the following variables:
+</p><div class="example">
+<pre class="example">defdim("Xn",3);
+defdim("Yn",4); 
+T_out[$Xn,$Yn]=0.0;
+x_out[$Xn]={0.0,0.02,3.01};
+y_out[$Yn]={1.1,2.0,3,4};
+
+var_out=bilinear_interp(T_in,T_out,x_out,y_out,x_in,y_in);
+print(var_out);
+// 110, 200, 300, 400,
+// 110.022, 200.04, 300.06, 400.08,
+// 113.3, 206, 309, 412 ;
+</pre></div>
+
+<p>It is possible to interpolate a single point:
+</p><div class="example">
+<pre class="example">var_out=bilinear_interp(T_in,0.0,3.0,4.99,x_in,y_in);
+print(var_out);
+// 513.920594059406
+</pre></div>
+
+<p><strong>Wrapping and Extrapolation</strong> <br>
+The function <code>bilinear_interp_wrap()</code> takes the same
+arguments as <code>bilinear_interp()</code> but performs wrapping (<var>Y</var>)
+and extrapolation (<var>X</var>) for points off the edge of the grid.
+If the given range of longitude is say (25-335) and we have a point at
+20 degrees, then the endpoints of the range are used for the
+interpolation. 
+This is what wrapping means.   
+For wrapping to occur <var>Y</var> must be longitude and must be in the range
+(0,360) or (-180,180). 
+There are no restrictions on the longitude (<var>X</var>) values, though
+typically these are in the range (-90,90).
+This <code>ncap2</code> script illustrates both wrapping and extrapolation
+of end points:
+</p><div class="example">
+<pre class="example">defdim("lat_in",6);
+defdim("lon_in",5);
+
+// Coordinate input vars
+lat_in[$lat_in]={-80,-40,0,30,60.0,85.0};
+lon_in[$lon_in]={30, 110, 190, 270, 350.0};
+
+T_in[$lat_in,$lon_in]=
+  {10,40,50,30,15,   
+    12,43,52,31,16,   
+    14,46,54,32,17,   
+    16,49,56,33,18,   
+    18,52,58,34,19,   
+    20,55,60,35,20.0 };
+   
+defdim("lat_out",4);
+defdim("lon_out",3);
+
+// Coordinate variables
+lat_out[$lat_out]={-90,0,70,88.0};   
+lon_out[$lon_out]={0,190,355.0};
+
+T_out[$lat_out,$lon_out]=0.0;
+
+T_out=bilinear_interp_wrap(T_in,T_out,lat_out,lon_out,lat_in,lon_in);
+print(T_out); 
+// 13.4375, 49.5, 14.09375,
+// 16.25, 54, 16.625,
+// 19.25, 58.8, 19.325,
+// 20.15, 60.24, 20.135 ;
+</pre></div>
+
+<a name="gsl"></a> <!-- http://nco.sf.net/nco.html#gsl --><hr>
+<a name="GSL-special-functions"></a>
+<div class="header">
+<p>
+Next: <a href="#GSL-interpolation" accesskey="n" rel="next">GSL interpolation</a>, Previous: <a href="#Bilinear-interpolation" accesskey="p" rel="previous">Bilinear interpolation</a>, Up: <a href="#ncap2-netCDF-Arithmetic-Processor" accesskey="u" rel="up">ncap2 netCDF Arithmetic Processor</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="GSL-special-functions-1"></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>). 
+<code>ncap2</code> can access most <acronym>GSL</acronym> special functions including
+Airy, Bessel, error, gamma, beta, hypergeometric, and Legendre functions
+and elliptical integrals. 
+<acronym>GSL</acronym> must be version 1.4<!-- /@w --> or later. 
+To list the <acronym>GSL</acronym> functions available with your <acronym>NCO</acronym> 
+build, use <code>ncap2 -f | grep ^gsl</code>.
+</p>
+<p>The function names used by <acronym>ncap2</acronym> mirror their
+<acronym>GSL</acronym> names.
+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="DOCF47" href="#FOOT47"><sup>47</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. 
+The slow-down due to calling the error-handling version of the 
+<acronym>GSL</acronym> numerical functions was found to be negligible (please let
+us know if you find otherwise).
+</p>
+<a name="index-gamma-function"></a>
+<a name="index-gsl_005fsf_005fgamma"></a>
+<p>Consider the gamma function.<br>
+The <acronym>GSL</acronym> function prototype is <br>
+<code>int gsl_sf_gamma_e(const double x, gsl_sf_result * result)</code>
+The <code>ncap2</code> script would be:
+</p><div class="example">
+<pre class="example">lon_in[lon]={-1,0.1,0,2,0.3};
+lon_out=gsl_sf_gamma(lon_in);
+lon_out= _, 9.5135, 4.5908, 2.9915 
+</pre></div>
+
+<p>The first value is set to <code>_FillValue</code> since the gamma
+function is undefined for negative integers.
+If the input variable has a missing value then this value is used.
+Otherwise, the default double fill value is used
+(defined in the netCDF header <samp>netcdf.h</samp> as 
+<code>NC_FILL_DOUBLE = 9.969e+36</code>).
+</p>
+<a name="index-Bessel-function"></a>
+<a name="index-gsl_005fsf_005fbessel_005fJn"></a>
+<p>Consider a call to a Bessel function with <acronym>GSL</acronym>
+prototype<br> 
+<code>int gsl_sf_bessel_Jn_e(int n, double x, gsl_sf_result * result)</code> 
+</p>
+<p>An <code>ncap2</code> script would be
+</p><div class="example">
+<pre class="example">lon_out=gsl_sf_bessel_Jn(2,lon_in);  
+lon_out=0.11490, 0.0012, 0.00498, 0.011165
+</pre></div>
+<p>This computes the Bessel function of order <var>n=2</var> for every value in
+<code>lon_in</code>.
+The Bessel order argument, an integer, can also be a non-scalar
+variable, i.e., an array.  
+</p><div class="example">
+<pre class="example">n_in[lon]={0,1,2,3};
+lon_out=gsl_sf_bessel_Jn(n_in,0.5);
+lon_out= 0.93846, 0.24226, 0.03060, 0.00256
+</pre></div>
+
+<p>Arguments to <acronym>GSL</acronym> wrapper functions in <code>ncap2</code>
+must conform to one another, i.e., they must share the same sub-set of
+dimensions.  
+For example: <code>three_out=gsl_sf_bessel_Jn(n_in,three_dmn_var_dbl)</code>
+is valid because the variable <code>three_dmn_var_dbl</code> has a <var>lon</var> 
+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.
+</p>
+<a name="index-Elliptic-integrals"></a>
+<p>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>
+</p><div class="example">
+<pre class="example">three_out=gsl_sf_ellint_RD(0.5,time,three_dmn_var_dbl);
+</pre></div>
+
+<p>The three arguments are all conformable so the above <code>ncap2</code> call is valid. The mode argument in the function prototype controls the convergence of the algorithm. It also appears  in the Airy Function prototypes. It can be set by defining the environment variable <code>GSL_PREC_MODE</code>. If unset it defaults to the value <code>GSL_PREC_DOUBLE</code>. See the <acronym>GSL</acronym> manual for more details. 
+</p><div class="example">
+<pre class="example">export GSL_PREC_MODE=0 // GSL_PREC_DOUBLE
+export GSL_PREC_MODE=1 // GSL_PREC_SINGLE
+export GSL_PREC_MODE=2 // GSL_PREC_APPROX
+</pre></div>
+
+<p>The <code>ncap2</code> wrappers to the array functions are
+slightly different. 
+Consider the following <acronym>GSL</acronym> prototype <br> 
+<code>int gsl_sf_bessel_Jn_array(int nmin, int nmax, double x, double *result_array)</code>
+</p><div class="example">
+<pre class="example">b1=lon.double();
+x=0.5;
+status=gsl_sf_bessel_Jn_array(1,4,x,&b1);
+print(status);
+b1=0.24226,0.0306,0.00256,0.00016;
+</pre></div>
+<p>This calculates the Bessel function of <var>x</var>=0.5 for
+<var>n</var>=1 to 4. 
+The first three arguments are scalar values. 
+If a non-scalar variable is supplied as an argument then only the first
+value is used. 
+The final argument is the variable where the results are stored (NB: the
+<code>&</code> indicates this is a call by reference). 
+This final argument must be of type <code>double</code> and must be of least
+size <var>nmax-nmin+1</var>. 
+If either of these conditions is not met then then the function 
+returns an error message. 
+The function/wrapper returns a status flag. 
+Zero indicates success. 
+</p>
+<p>Consider another array function <br> 
+<code>int gsl_sf_legendre_Pl_array( int lmax, double x, double *result_array);</code>
+<a name="index-Legendre-polynomial"></a>
+<a name="index-gsl_005fsf_005flegendre_005fPl"></a>
+</p><div class="example">
+<pre class="example">a1=time.double();
+x=0.3;
+status=gsl_sf_legendre_Pl_array(a1.size()-1, x,&a1);  
+print(status);
+</pre></div>
+<p>This call calculates <var>P_l</var>(0.3) for <var>l</var>=0..9. 
+Note that <var>|x|<=1</var>, otherwise there will be a domain error. 
+See the <acronym>GSL</acronym> 
+documentation for more details.  
+</p>
+<p>The <acronym>GSL</acronym> functions implemented in <acronym>NCO</acronym> are 
+listed in the table below. 
+This table is correct for <acronym>GSL</acronym> version 1.10. 
+To see what functions are available on your build run the command
+<code>ncap2 -f |grep ^gsl</code> . 
+To see this table along with the <acronym>GSL</acronym> <span class="nolinebreak">C-function</span><!-- /@w -->
+prototypes look at the spreadsheet <strong>doc/nco_gsl.ods</strong>. <br> <br> 
+</p>
+<table>
+<tr><td width="35%"><strong>GSL NAME</strong></td><td width="5%"><strong>I</strong></td><td width="60%"><strong>NCAP FUNCTION CALL</strong></td></tr>
+<tr><td width="35%">gsl_sf_airy_Ai_e</td><td width="5%">Y</td><td width="60%">gsl_sf_airy_Ai(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_airy_Bi_e</td><td width="5%">Y</td><td width="60%">gsl_sf_airy_Bi(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_airy_Ai_scaled_e</td><td width="5%">Y</td><td width="60%">gsl_sf_airy_Ai_scaled(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_airy_Bi_scaled_e</td><td width="5%">Y</td><td width="60%">gsl_sf_airy_Bi_scaled(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_airy_Ai_deriv_e</td><td width="5%">Y</td><td width="60%">gsl_sf_airy_Ai_deriv(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_airy_Bi_deriv_e</td><td width="5%">Y</td><td width="60%">gsl_sf_airy_Bi_deriv(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_airy_Ai_deriv_scaled_e</td><td width="5%">Y</td><td width="60%">gsl_sf_airy_Ai_deriv_scaled(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_airy_Bi_deriv_scaled_e</td><td width="5%">Y</td><td width="60%">gsl_sf_airy_Bi_deriv_scaled(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_airy_zero_Ai_e</td><td width="5%">Y</td><td width="60%">gsl_sf_airy_zero_Ai(uint_expr)</td></tr>
+<tr><td width="35%">gsl_sf_airy_zero_Bi_e</td><td width="5%">Y</td><td width="60%">gsl_sf_airy_zero_Bi(uint_expr)</td></tr>
+<tr><td width="35%">gsl_sf_airy_zero_Ai_deriv_e</td><td width="5%">Y</td><td width="60%">gsl_sf_airy_zero_Ai_deriv(uint_expr)</td></tr>
+<tr><td width="35%">gsl_sf_airy_zero_Bi_deriv_e</td><td width="5%">Y</td><td width="60%">gsl_sf_airy_zero_Bi_deriv(uint_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_J0_e</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_J0(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_J1_e</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_J1(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_Jn_e</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_Jn(int_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_Jn_array</td><td width="5%">Y</td><td width="60%">status=gsl_sf_bessel_Jn_array(int,int,double,&var_out)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_Y0_e</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_Y0(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_Y1_e</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_Y1(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_Yn_e</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_Yn(int_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_Yn_array</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_Yn_array</td></tr>
+<tr><td width="35%">gsl_sf_bessel_I0_e</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_I0(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_I1_e</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_I1(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_In_e</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_In(int_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_In_array</td><td width="5%">Y</td><td width="60%">status=gsl_sf_bessel_In_array(int,int,double,&var_out)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_I0_scaled_e</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_I0_scaled(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_I1_scaled_e</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_I1_scaled(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_In_scaled_e</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_In_scaled(int_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_In_scaled_array</td><td width="5%">Y</td><td width="60%">staus=gsl_sf_bessel_In_scaled_array(int,int,double,&var_out)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_K0_e</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_K0(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_K1_e</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_K1(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_Kn_e</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_Kn(int_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_Kn_array</td><td width="5%">Y</td><td width="60%">status=gsl_sf_bessel_Kn_array(int,int,double,&var_out)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_K0_scaled_e</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_K0_scaled(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_K1_scaled_e</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_K1_scaled(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_Kn_scaled_e</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_Kn_scaled(int_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_Kn_scaled_array</td><td width="5%">Y</td><td width="60%">status=gsl_sf_bessel_Kn_scaled_array(int,int,double,&var_out)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_j0_e</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_J0(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_j1_e</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_J1(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_j2_e</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_j2(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_jl_e</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_jl(int_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_jl_array</td><td width="5%">Y</td><td width="60%">status=gsl_sf_bessel_jl_array(int,double,&var_out)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_jl_steed_array</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_jl_steed_array</td></tr>
+<tr><td width="35%">gsl_sf_bessel_y0_e</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_Y0(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_y1_e</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_Y1(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_y2_e</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_y2(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_yl_e</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_yl(int_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_yl_array</td><td width="5%">Y</td><td width="60%">status=gsl_sf_bessel_yl_array(int,double,&var_out)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_i0_scaled_e</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_I0_scaled(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_i1_scaled_e</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_I1_scaled(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_i2_scaled_e</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_i2_scaled(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_il_scaled_e</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_il_scaled(int_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_il_scaled_array</td><td width="5%">Y</td><td width="60%">status=gsl_sf_bessel_il_scaled_array(int,double,&var_out)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_k0_scaled_e</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_K0_scaled(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_k1_scaled_e</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_K1_scaled(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_k2_scaled_e</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_k2_scaled(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_kl_scaled_e</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_kl_scaled(int_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_kl_scaled_array</td><td width="5%">Y</td><td width="60%">status=gsl_sf_bessel_kl_scaled_array(int,double,&var_out)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_Jnu_e</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_Jnu(dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_Ynu_e</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_Ynu(dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_sequence_Jnu_e</td><td width="5%">N</td><td width="60%">gsl_sf_bessel_sequence_Jnu</td></tr>
+<tr><td width="35%">gsl_sf_bessel_Inu_scaled_e</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_Inu_scaled(dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_Inu_e</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_Inu(dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_Knu_scaled_e</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_Knu_scaled(dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_Knu_e</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_Knu(dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_lnKnu_e</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_lnKnu(dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_zero_J0_e</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_zero_J0(uint_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_zero_J1_e</td><td width="5%">Y</td><td width="60%">gsl_sf_bessel_zero_J1(uint_expr)</td></tr>
+<tr><td width="35%">gsl_sf_bessel_zero_Jnu_e</td><td width="5%">N</td><td width="60%">gsl_sf_bessel_zero_Jnu</td></tr>
+<tr><td width="35%">gsl_sf_clausen_e</td><td width="5%">Y</td><td width="60%">gsl_sf_clausen(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_hydrogenicR_1_e</td><td width="5%">N</td><td width="60%">gsl_sf_hydrogenicR_1</td></tr>
+<tr><td width="35%">gsl_sf_hydrogenicR_e</td><td width="5%">N</td><td width="60%">gsl_sf_hydrogenicR</td></tr>
+<tr><td width="35%">gsl_sf_coulomb_wave_FG_e</td><td width="5%">N</td><td width="60%">gsl_sf_coulomb_wave_FG</td></tr>
+<tr><td width="35%">gsl_sf_coulomb_wave_F_array</td><td width="5%">N</td><td width="60%">gsl_sf_coulomb_wave_F_array</td></tr>
+<tr><td width="35%">gsl_sf_coulomb_wave_FG_array</td><td width="5%">N</td><td width="60%">gsl_sf_coulomb_wave_FG_array</td></tr>
+<tr><td width="35%">gsl_sf_coulomb_wave_FGp_array</td><td width="5%">N</td><td width="60%">gsl_sf_coulomb_wave_FGp_array</td></tr>
+<tr><td width="35%">gsl_sf_coulomb_wave_sphF_array</td><td width="5%">N</td><td width="60%">gsl_sf_coulomb_wave_sphF_array</td></tr>
+<tr><td width="35%">gsl_sf_coulomb_CL_e</td><td width="5%">N</td><td width="60%">gsl_sf_coulomb_CL</td></tr>
+<tr><td width="35%">gsl_sf_coulomb_CL_array</td><td width="5%">N</td><td width="60%">gsl_sf_coulomb_CL_array</td></tr>
+<tr><td width="35%">gsl_sf_coupling_3j_e</td><td width="5%">N</td><td width="60%">gsl_sf_coupling_3j</td></tr>
+<tr><td width="35%">gsl_sf_coupling_6j_e</td><td width="5%">N</td><td width="60%">gsl_sf_coupling_6j</td></tr>
+<tr><td width="35%">gsl_sf_coupling_RacahW_e</td><td width="5%">N</td><td width="60%">gsl_sf_coupling_RacahW</td></tr>
+<tr><td width="35%">gsl_sf_coupling_9j_e</td><td width="5%">N</td><td width="60%">gsl_sf_coupling_9j</td></tr>
+<tr><td width="35%">gsl_sf_coupling_6j_INCORRECT_e</td><td width="5%">N</td><td width="60%">gsl_sf_coupling_6j_INCORRECT</td></tr>
+<tr><td width="35%">gsl_sf_dawson_e</td><td width="5%">Y</td><td width="60%">gsl_sf_dawson(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_debye_1_e</td><td width="5%">Y</td><td width="60%">gsl_sf_debye_1(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_debye_2_e</td><td width="5%">Y</td><td width="60%">gsl_sf_debye_2(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_debye_3_e</td><td width="5%">Y</td><td width="60%">gsl_sf_debye_3(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_debye_4_e</td><td width="5%">Y</td><td width="60%">gsl_sf_debye_4(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_debye_5_e</td><td width="5%">Y</td><td width="60%">gsl_sf_debye_5(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_debye_6_e</td><td width="5%">Y</td><td width="60%">gsl_sf_debye_6(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_dilog_e</td><td width="5%">N</td><td width="60%">gsl_sf_dilog</td></tr>
+<tr><td width="35%">gsl_sf_complex_dilog_xy_e</td><td width="5%">N</td><td width="60%">gsl_sf_complex_dilog_xy_e</td></tr>
+<tr><td width="35%">gsl_sf_complex_dilog_e</td><td width="5%">N</td><td width="60%">gsl_sf_complex_dilog</td></tr>
+<tr><td width="35%">gsl_sf_complex_spence_xy_e</td><td width="5%">N</td><td width="60%">gsl_sf_complex_spence_xy_e</td></tr>
+<tr><td width="35%">gsl_sf_multiply_e</td><td width="5%">N</td><td width="60%">gsl_sf_multiply</td></tr>
+<tr><td width="35%">gsl_sf_multiply_err_e</td><td width="5%">N</td><td width="60%">gsl_sf_multiply_err</td></tr>
+<tr><td width="35%">gsl_sf_ellint_Kcomp_e</td><td width="5%">Y</td><td width="60%">gsl_sf_ellint_Kcomp(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_ellint_Ecomp_e</td><td width="5%">Y</td><td width="60%">gsl_sf_ellint_Ecomp(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_ellint_Pcomp_e</td><td width="5%">Y</td><td width="60%">gsl_sf_ellint_Pcomp(dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_ellint_Dcomp_e</td><td width="5%">Y</td><td width="60%">gsl_sf_ellint_Dcomp(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_ellint_F_e</td><td width="5%">Y</td><td width="60%">gsl_sf_ellint_F(dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_ellint_E_e</td><td width="5%">Y</td><td width="60%">gsl_sf_ellint_E(dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_ellint_P_e</td><td width="5%">Y</td><td width="60%">gsl_sf_ellint_P(dbl_expr,dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_ellint_D_e</td><td width="5%">Y</td><td width="60%">gsl_sf_ellint_D(dbl_expr,dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_ellint_RC_e</td><td width="5%">Y</td><td width="60%">gsl_sf_ellint_RC(dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_ellint_RD_e</td><td width="5%">Y</td><td width="60%">gsl_sf_ellint_RD(dbl_expr,dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_ellint_RF_e</td><td width="5%">Y</td><td width="60%">gsl_sf_ellint_RF(dbl_expr,dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_ellint_RJ_e</td><td width="5%">Y</td><td width="60%">gsl_sf_ellint_RJ(dbl_expr,dbl_expr,dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_elljac_e</td><td width="5%">N</td><td width="60%">gsl_sf_elljac</td></tr>
+<tr><td width="35%">gsl_sf_erfc_e</td><td width="5%">Y</td><td width="60%">gsl_sf_erfc(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_log_erfc_e</td><td width="5%">Y</td><td width="60%">gsl_sf_log_erfc(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_erf_e</td><td width="5%">Y</td><td width="60%">gsl_sf_erf(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_erf_Z_e</td><td width="5%">Y</td><td width="60%">gsl_sf_erf_Z(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_erf_Q_e</td><td width="5%">Y</td><td width="60%">gsl_sf_erf_Q(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_hazard_e</td><td width="5%">Y</td><td width="60%">gsl_sf_hazard(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_exp_e</td><td width="5%">Y</td><td width="60%">gsl_sf_exp(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_exp_e10_e</td><td width="5%">N</td><td width="60%">gsl_sf_exp_e10</td></tr>
+<tr><td width="35%">gsl_sf_exp_mult_e</td><td width="5%">Y</td><td width="60%">gsl_sf_exp_mult(dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_exp_mult_e10_e</td><td width="5%">N</td><td width="60%">gsl_sf_exp_mult_e10</td></tr>
+<tr><td width="35%">gsl_sf_expm1_e</td><td width="5%">Y</td><td width="60%">gsl_sf_expm1(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_exprel_e</td><td width="5%">Y</td><td width="60%">gsl_sf_exprel(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_exprel_2_e</td><td width="5%">Y</td><td width="60%">gsl_sf_exprel_2(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_exprel_n_e</td><td width="5%">Y</td><td width="60%">gsl_sf_exprel_n(int_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_exp_err_e</td><td width="5%">Y</td><td width="60%">gsl_sf_exp_err(dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_exp_err_e10_e</td><td width="5%">N</td><td width="60%">gsl_sf_exp_err_e10</td></tr>
+<tr><td width="35%">gsl_sf_exp_mult_err_e</td><td width="5%">N</td><td width="60%">gsl_sf_exp_mult_err</td></tr>
+<tr><td width="35%">gsl_sf_exp_mult_err_e10_e</td><td width="5%">N</td><td width="60%">gsl_sf_exp_mult_err_e10</td></tr>
+<tr><td width="35%">gsl_sf_expint_E1_e</td><td width="5%">Y</td><td width="60%">gsl_sf_expint_E1(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_expint_E2_e</td><td width="5%">Y</td><td width="60%">gsl_sf_expint_E2(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_expint_En_e</td><td width="5%">Y</td><td width="60%">gsl_sf_expint_En(int_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_expint_E1_scaled_e</td><td width="5%">Y</td><td width="60%">gsl_sf_expint_E1_scaled(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_expint_E2_scaled_e</td><td width="5%">Y</td><td width="60%">gsl_sf_expint_E2_scaled(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_expint_En_scaled_e</td><td width="5%">Y</td><td width="60%">gsl_sf_expint_En_scaled(int_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_expint_Ei_e</td><td width="5%">Y</td><td width="60%">gsl_sf_expint_Ei(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_expint_Ei_scaled_e</td><td width="5%">Y</td><td width="60%">gsl_sf_expint_Ei_scaled(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_Shi_e</td><td width="5%">Y</td><td width="60%">gsl_sf_Shi(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_Chi_e</td><td width="5%">Y</td><td width="60%">gsl_sf_Chi(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_expint_3_e</td><td width="5%">Y</td><td width="60%">gsl_sf_expint_3(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_Si_e</td><td width="5%">Y</td><td width="60%">gsl_sf_Si(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_Ci_e</td><td width="5%">Y</td><td width="60%">gsl_sf_Ci(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_atanint_e</td><td width="5%">Y</td><td width="60%">gsl_sf_atanint(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_fermi_dirac_m1_e</td><td width="5%">Y</td><td width="60%">gsl_sf_fermi_dirac_m1(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_fermi_dirac_0_e</td><td width="5%">Y</td><td width="60%">gsl_sf_fermi_dirac_0(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_fermi_dirac_1_e</td><td width="5%">Y</td><td width="60%">gsl_sf_fermi_dirac_1(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_fermi_dirac_2_e</td><td width="5%">Y</td><td width="60%">gsl_sf_fermi_dirac_2(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_fermi_dirac_int_e</td><td width="5%">Y</td><td width="60%">gsl_sf_fermi_dirac_int(int_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_fermi_dirac_mhalf_e</td><td width="5%">Y</td><td width="60%">gsl_sf_fermi_dirac_mhalf(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_fermi_dirac_half_e</td><td width="5%">Y</td><td width="60%">gsl_sf_fermi_dirac_half(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_fermi_dirac_3half_e</td><td width="5%">Y</td><td width="60%">gsl_sf_fermi_dirac_3half(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_fermi_dirac_inc_0_e</td><td width="5%">Y</td><td width="60%">gsl_sf_fermi_dirac_inc_0(dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_lngamma_e</td><td width="5%">Y</td><td width="60%">gsl_sf_lngamma(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_lngamma_sgn_e</td><td width="5%">N</td><td width="60%">gsl_sf_lngamma_sgn</td></tr>
+<tr><td width="35%">gsl_sf_gamma_e</td><td width="5%">Y</td><td width="60%">gsl_sf_gamma(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_gammastar_e</td><td width="5%">Y</td><td width="60%">gsl_sf_gammastar(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_gammainv_e</td><td width="5%">Y</td><td width="60%">gsl_sf_gammainv(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_lngamma_complex_e</td><td width="5%">N</td><td width="60%">gsl_sf_lngamma_complex</td></tr>
+<tr><td width="35%">gsl_sf_taylorcoeff_e</td><td width="5%">Y</td><td width="60%">gsl_sf_taylorcoeff(int_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_fact_e</td><td width="5%">Y</td><td width="60%">gsl_sf_fact(uint_expr)</td></tr>
+<tr><td width="35%">gsl_sf_doublefact_e</td><td width="5%">Y</td><td width="60%">gsl_sf_doublefact(uint_expr)</td></tr>
+<tr><td width="35%">gsl_sf_lnfact_e</td><td width="5%">Y</td><td width="60%">gsl_sf_lnfact(uint_expr)</td></tr>
+<tr><td width="35%">gsl_sf_lndoublefact_e</td><td width="5%">Y</td><td width="60%">gsl_sf_lndoublefact(uint_expr)</td></tr>
+<tr><td width="35%">gsl_sf_lnchoose_e</td><td width="5%">N</td><td width="60%">gsl_sf_lnchoose</td></tr>
+<tr><td width="35%">gsl_sf_choose_e</td><td width="5%">N</td><td width="60%">gsl_sf_choose</td></tr>
+<tr><td width="35%">gsl_sf_lnpoch_e</td><td width="5%">Y</td><td width="60%">gsl_sf_lnpoch(dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_lnpoch_sgn_e</td><td width="5%">N</td><td width="60%">gsl_sf_lnpoch_sgn</td></tr>
+<tr><td width="35%">gsl_sf_poch_e</td><td width="5%">Y</td><td width="60%">gsl_sf_poch(dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_pochrel_e</td><td width="5%">Y</td><td width="60%">gsl_sf_pochrel(dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_gamma_inc_Q_e</td><td width="5%">Y</td><td width="60%">gsl_sf_gamma_inc_Q(dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_gamma_inc_P_e</td><td width="5%">Y</td><td width="60%">gsl_sf_gamma_inc_P(dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_gamma_inc_e</td><td width="5%">Y</td><td width="60%">gsl_sf_gamma_inc(dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_lnbeta_e</td><td width="5%">Y</td><td width="60%">gsl_sf_lnbeta(dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_lnbeta_sgn_e</td><td width="5%">N</td><td width="60%">gsl_sf_lnbeta_sgn</td></tr>
+<tr><td width="35%">gsl_sf_beta_e</td><td width="5%">Y</td><td width="60%">gsl_sf_beta(dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_beta_inc_e</td><td width="5%">N</td><td width="60%">gsl_sf_beta_inc</td></tr>
+<tr><td width="35%">gsl_sf_gegenpoly_1_e</td><td width="5%">Y</td><td width="60%">gsl_sf_gegenpoly_1(dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_gegenpoly_2_e</td><td width="5%">Y</td><td width="60%">gsl_sf_gegenpoly_2(dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_gegenpoly_3_e</td><td width="5%">Y</td><td width="60%">gsl_sf_gegenpoly_3(dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_gegenpoly_n_e</td><td width="5%">N</td><td width="60%">gsl_sf_gegenpoly_n</td></tr>
+<tr><td width="35%">gsl_sf_gegenpoly_array</td><td width="5%">Y</td><td width="60%">gsl_sf_gegenpoly_array</td></tr>
+<tr><td width="35%">gsl_sf_hyperg_0F1_e</td><td width="5%">Y</td><td width="60%">gsl_sf_hyperg_0F1(dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_hyperg_1F1_int_e</td><td width="5%">Y</td><td width="60%">gsl_sf_hyperg_1F1_int(int_expr,int_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_hyperg_1F1_e</td><td width="5%">Y</td><td width="60%">gsl_sf_hyperg_1F1(dbl_expr,dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_hyperg_U_int_e</td><td width="5%">Y</td><td width="60%">gsl_sf_hyperg_U_int(int_expr,int_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_hyperg_U_int_e10_e</td><td width="5%">N</td><td width="60%">gsl_sf_hyperg_U_int_e10</td></tr>
+<tr><td width="35%">gsl_sf_hyperg_U_e</td><td width="5%">Y</td><td width="60%">gsl_sf_hyperg_U(dbl_expr,dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_hyperg_U_e10_e</td><td width="5%">N</td><td width="60%">gsl_sf_hyperg_U_e10</td></tr>
+<tr><td width="35%">gsl_sf_hyperg_2F1_e</td><td width="5%">Y</td><td width="60%">gsl_sf_hyperg_2F1(dbl_expr,dbl_expr,dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_hyperg_2F1_conj_e</td><td width="5%">Y</td><td width="60%">gsl_sf_hyperg_2F1_conj(dbl_expr,dbl_expr,dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_hyperg_2F1_renorm_e</td><td width="5%">Y</td><td width="60%">gsl_sf_hyperg_2F1_renorm(dbl_expr,dbl_expr,dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_hyperg_2F1_conj_renorm_e</td><td width="5%">Y</td><td width="60%">gsl_sf_hyperg_2F1_conj_renorm(dbl_expr,dbl_expr,dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_hyperg_2F0_e</td><td width="5%">Y</td><td width="60%">gsl_sf_hyperg_2F0(dbl_expr,dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_laguerre_1_e</td><td width="5%">Y</td><td width="60%">gsl_sf_laguerre_1(dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_laguerre_2_e</td><td width="5%">Y</td><td width="60%">gsl_sf_laguerre_2(dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_laguerre_3_e</td><td width="5%">Y</td><td width="60%">gsl_sf_laguerre_3(dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_laguerre_n_e</td><td width="5%">Y</td><td width="60%">gsl_sf_laguerre_n(int_expr,dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_lambert_W0_e</td><td width="5%">Y</td><td width="60%">gsl_sf_lambert_W0(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_lambert_Wm1_e</td><td width="5%">Y</td><td width="60%">gsl_sf_lambert_Wm1(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_legendre_Pl_e</td><td width="5%">Y</td><td width="60%">gsl_sf_legendre_Pl(int_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_legendre_Pl_array</td><td width="5%">Y</td><td width="60%">status=gsl_sf_legendre_Pl_array(int,double,&var_out)</td></tr>
+<tr><td width="35%">gsl_sf_legendre_Pl_deriv_array</td><td width="5%">N</td><td width="60%">gsl_sf_legendre_Pl_deriv_array</td></tr>
+<tr><td width="35%">gsl_sf_legendre_P1_e</td><td width="5%">Y</td><td width="60%">gsl_sf_legendre_P1(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_legendre_P2_e</td><td width="5%">Y</td><td width="60%">gsl_sf_legendre_P2(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_legendre_P3_e</td><td width="5%">Y</td><td width="60%">gsl_sf_legendre_P3(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_legendre_Q0_e</td><td width="5%">Y</td><td width="60%">gsl_sf_legendre_Q0(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_legendre_Q1_e</td><td width="5%">Y</td><td width="60%">gsl_sf_legendre_Q1(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_legendre_Ql_e</td><td width="5%">Y</td><td width="60%">gsl_sf_legendre_Ql(int_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_legendre_Plm_e</td><td width="5%">Y</td><td width="60%">gsl_sf_legendre_Plm(int_expr,int_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_legendre_Plm_array</td><td width="5%">Y</td><td width="60%">status=gsl_sf_legendre_Plm_array(int,int,double,&var_out)</td></tr>
+<tr><td width="35%">gsl_sf_legendre_Plm_deriv_array</td><td width="5%">N</td><td width="60%">gsl_sf_legendre_Plm_deriv_array</td></tr>
+<tr><td width="35%">gsl_sf_legendre_sphPlm_e</td><td width="5%">Y</td><td width="60%">gsl_sf_legendre_sphPlm(int_expr,int_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_legendre_sphPlm_array</td><td width="5%">Y</td><td width="60%">status=gsl_sf_legendre_sphPlm_array(int,int,double,&var_out)</td></tr>
+<tr><td width="35%">gsl_sf_legendre_sphPlm_deriv_array</td><td width="5%">N</td><td width="60%">gsl_sf_legendre_sphPlm_deriv_array</td></tr>
+<tr><td width="35%">gsl_sf_legendre_array_size</td><td width="5%">N</td><td width="60%">gsl_sf_legendre_array_size</td></tr>
+<tr><td width="35%">gsl_sf_conicalP_half_e</td><td width="5%">Y</td><td width="60%">gsl_sf_conicalP_half(dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_conicalP_mhalf_e</td><td width="5%">Y</td><td width="60%">gsl_sf_conicalP_mhalf(dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_conicalP_0_e</td><td width="5%">Y</td><td width="60%">gsl_sf_conicalP_0(dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_conicalP_1_e</td><td width="5%">Y</td><td width="60%">gsl_sf_conicalP_1(dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_conicalP_sph_reg_e</td><td width="5%">Y</td><td width="60%">gsl_sf_conicalP_sph_reg(int_expr,dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_conicalP_cyl_reg_e</td><td width="5%">Y</td><td width="60%">gsl_sf_conicalP_cyl_reg(int_expr,dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_legendre_H3d_0_e</td><td width="5%">Y</td><td width="60%">gsl_sf_legendre_H3d_0(dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_legendre_H3d_1_e</td><td width="5%">Y</td><td width="60%">gsl_sf_legendre_H3d_1(dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_legendre_H3d_e</td><td width="5%">Y</td><td width="60%">gsl_sf_legendre_H3d(int_expr,dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_legendre_H3d_array</td><td width="5%">N</td><td width="60%">gsl_sf_legendre_H3d_array</td></tr>
+<tr><td width="35%">gsl_sf_legendre_array_size</td><td width="5%">N</td><td width="60%">gsl_sf_legendre_array_size</td></tr>
+<tr><td width="35%">gsl_sf_log_e</td><td width="5%">Y</td><td width="60%">gsl_sf_log(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_log_abs_e</td><td width="5%">Y</td><td width="60%">gsl_sf_log_abs(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_complex_log_e</td><td width="5%">N</td><td width="60%">gsl_sf_complex_log</td></tr>
+<tr><td width="35%">gsl_sf_log_1plusx_e</td><td width="5%">Y</td><td width="60%">gsl_sf_log_1plusx(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_log_1plusx_mx_e</td><td width="5%">Y</td><td width="60%">gsl_sf_log_1plusx_mx(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_mathieu_a_array</td><td width="5%">N</td><td width="60%">gsl_sf_mathieu_a_array</td></tr>
+<tr><td width="35%">gsl_sf_mathieu_b_array</td><td width="5%">N</td><td width="60%">gsl_sf_mathieu_b_array</td></tr>
+<tr><td width="35%">gsl_sf_mathieu_a</td><td width="5%">N</td><td width="60%">gsl_sf_mathieu_a</td></tr>
+<tr><td width="35%">gsl_sf_mathieu_b</td><td width="5%">N</td><td width="60%">gsl_sf_mathieu_b</td></tr>
+<tr><td width="35%">gsl_sf_mathieu_a_coeff</td><td width="5%">N</td><td width="60%">gsl_sf_mathieu_a_coeff</td></tr>
+<tr><td width="35%">gsl_sf_mathieu_b_coeff</td><td width="5%">N</td><td width="60%">gsl_sf_mathieu_b_coeff</td></tr>
+<tr><td width="35%">gsl_sf_mathieu_ce</td><td width="5%">N</td><td width="60%">gsl_sf_mathieu_ce</td></tr>
+<tr><td width="35%">gsl_sf_mathieu_se</td><td width="5%">N</td><td width="60%">gsl_sf_mathieu_se</td></tr>
+<tr><td width="35%">gsl_sf_mathieu_ce_array</td><td width="5%">N</td><td width="60%">gsl_sf_mathieu_ce_array</td></tr>
+<tr><td width="35%">gsl_sf_mathieu_se_array</td><td width="5%">N</td><td width="60%">gsl_sf_mathieu_se_array</td></tr>
+<tr><td width="35%">gsl_sf_mathieu_Mc</td><td width="5%">N</td><td width="60%">gsl_sf_mathieu_Mc</td></tr>
+<tr><td width="35%">gsl_sf_mathieu_Ms</td><td width="5%">N</td><td width="60%">gsl_sf_mathieu_Ms</td></tr>
+<tr><td width="35%">gsl_sf_mathieu_Mc_array</td><td width="5%">N</td><td width="60%">gsl_sf_mathieu_Mc_array</td></tr>
+<tr><td width="35%">gsl_sf_mathieu_Ms_array</td><td width="5%">N</td><td width="60%">gsl_sf_mathieu_Ms_array</td></tr>
+<tr><td width="35%">gsl_sf_pow_int_e</td><td width="5%">N</td><td width="60%">gsl_sf_pow_int</td></tr>
+<tr><td width="35%">gsl_sf_psi_int_e</td><td width="5%">Y</td><td width="60%">gsl_sf_psi_int(int_expr)</td></tr>
+<tr><td width="35%">gsl_sf_psi_e</td><td width="5%">Y</td><td width="60%">gsl_sf_psi(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_psi_1piy_e</td><td width="5%">Y</td><td width="60%">gsl_sf_psi_1piy(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_complex_psi_e</td><td width="5%">N</td><td width="60%">gsl_sf_complex_psi</td></tr>
+<tr><td width="35%">gsl_sf_psi_1_int_e</td><td width="5%">Y</td><td width="60%">gsl_sf_psi_1_int(int_expr)</td></tr>
+<tr><td width="35%">gsl_sf_psi_1_e</td><td width="5%">Y</td><td width="60%">gsl_sf_psi_1(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_psi_n_e</td><td width="5%">Y</td><td width="60%">gsl_sf_psi_n(int_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_synchrotron_1_e</td><td width="5%">Y</td><td width="60%">gsl_sf_synchrotron_1(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_synchrotron_2_e</td><td width="5%">Y</td><td width="60%">gsl_sf_synchrotron_2(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_transport_2_e</td><td width="5%">Y</td><td width="60%">gsl_sf_transport_2(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_transport_3_e</td><td width="5%">Y</td><td width="60%">gsl_sf_transport_3(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_transport_4_e</td><td width="5%">Y</td><td width="60%">gsl_sf_transport_4(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_transport_5_e</td><td width="5%">Y</td><td width="60%">gsl_sf_transport_5(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_sin_e</td><td width="5%">N</td><td width="60%">gsl_sf_sin</td></tr>
+<tr><td width="35%">gsl_sf_cos_e</td><td width="5%">N</td><td width="60%">gsl_sf_cos</td></tr>
+<tr><td width="35%">gsl_sf_hypot_e</td><td width="5%">N</td><td width="60%">gsl_sf_hypot</td></tr>
+<tr><td width="35%">gsl_sf_complex_sin_e</td><td width="5%">N</td><td width="60%">gsl_sf_complex_sin</td></tr>
+<tr><td width="35%">gsl_sf_complex_cos_e</td><td width="5%">N</td><td width="60%">gsl_sf_complex_cos</td></tr>
+<tr><td width="35%">gsl_sf_complex_logsin_e</td><td width="5%">N</td><td width="60%">gsl_sf_complex_logsin</td></tr>
+<tr><td width="35%">gsl_sf_sinc_e</td><td width="5%">N</td><td width="60%">gsl_sf_sinc</td></tr>
+<tr><td width="35%">gsl_sf_lnsinh_e</td><td width="5%">N</td><td width="60%">gsl_sf_lnsinh</td></tr>
+<tr><td width="35%">gsl_sf_lncosh_e</td><td width="5%">N</td><td width="60%">gsl_sf_lncosh</td></tr>
+<tr><td width="35%">gsl_sf_polar_to_rect</td><td width="5%">N</td><td width="60%">gsl_sf_polar_to_rect</td></tr>
+<tr><td width="35%">gsl_sf_rect_to_polar</td><td width="5%">N</td><td width="60%">gsl_sf_rect_to_polar</td></tr>
+<tr><td width="35%">gsl_sf_sin_err_e</td><td width="5%">N</td><td width="60%">gsl_sf_sin_err</td></tr>
+<tr><td width="35%">gsl_sf_cos_err_e</td><td width="5%">N</td><td width="60%">gsl_sf_cos_err</td></tr>
+<tr><td width="35%">gsl_sf_angle_restrict_symm_e</td><td width="5%">N</td><td width="60%">gsl_sf_angle_restrict_symm</td></tr>
+<tr><td width="35%">gsl_sf_angle_restrict_pos_e</td><td width="5%">N</td><td width="60%">gsl_sf_angle_restrict_pos</td></tr>
+<tr><td width="35%">gsl_sf_angle_restrict_symm_err_e</td><td width="5%">N</td><td width="60%">gsl_sf_angle_restrict_symm_err</td></tr>
+<tr><td width="35%">gsl_sf_angle_restrict_pos_err_e</td><td width="5%">N</td><td width="60%">gsl_sf_angle_restrict_pos_err</td></tr>
+<tr><td width="35%">gsl_sf_zeta_int_e</td><td width="5%">Y</td><td width="60%">gsl_sf_zeta_int(int_expr)</td></tr>
+<tr><td width="35%">gsl_sf_zeta_e</td><td width="5%">Y</td><td width="60%">gsl_sf_zeta(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_zetam1_e</td><td width="5%">Y</td><td width="60%">gsl_sf_zetam1(dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_zetam1_int_e</td><td width="5%">Y</td><td width="60%">gsl_sf_zetam1_int(int_expr)</td></tr>
+<tr><td width="35%">gsl_sf_hzeta_e</td><td width="5%">Y</td><td width="60%">gsl_sf_hzeta(dbl_expr,dbl_expr)</td></tr>
+<tr><td width="35%">gsl_sf_eta_int_e</td><td width="5%">Y</td><td width="60%">gsl_sf_eta_int(int_expr)</td></tr>
+<tr><td width="35%">gsl_sf_eta_e</td><td width="5%">Y</td><td width="60%">gsl_sf_eta(dbl_expr)</td></tr>
+</table>
+
+<a name="gsl_int"></a> <!-- http://nco.sf.net/nco.html#gsl_int --><hr>
+<a name="GSL-interpolation"></a>
+<div class="header">
+<p>
+Next: <a href="#GSL-least_002dsquares-fitting" accesskey="n" rel="next">GSL least-squares fitting</a>, Previous: <a href="#GSL-special-functions" accesskey="p" rel="previous">GSL special functions</a>, Up: <a href="#ncap2-netCDF-Arithmetic-Processor" accesskey="u" rel="up">ncap2 netCDF Arithmetic Processor</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="GSL-interpolation-1"></a>
+<h4 class="subsection">4.1.20 GSL interpolation</h4>
+<a name="index-GSL-2"></a>
+<p>As of version 3.9.9 (released July, 2009), <acronym>NCO</acronym> has wrappers to the <acronym>GSL</acronym> interpolation functions.
+</p>
+<p>Given a set of data points (x1,y1)...(xn, yn) the <acronym>GSL</acronym> functions computes a continuous interpolating function <acronym>Y(x)</acronym> such that <acronym>Y(xi) = yi</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>GSL</acronym> manual. 
+</p>
+<p>Interpolation with <code>ncap2</code> is a two stage process. In the first stage, a <acronym>RAM</acronym> variable is created from the chosen interpolating function and the data set. This <acronym>RAM</acronym> variable holds in memory a <acronym>GSL</acronym> interpolation object. In the second stage, points along the interpolating function are calculated. If you have a very large data set or are interpolating many sets then consider deleting the <acronym>RAM</acronym> variable when [...]
+</p>
+<p>A simple example
+</p>
+<div class="example">
+<pre class="example">x_in[$lon]={1.0,2.0,3.0,4.0};
+y_in[$lon]={1.1,1.2,1.5,1.8};
+
+// Ram variable is declared and defined here 
+gsl_interp_cspline(&ram_sp,x_in,y_in);
+
+x_out[$lon_grd]={1.1,2.0,3.0,3.1,3.99};
+
+y_out=gsl_spline_eval(ram_sp,x_out);
+y2=gsl_spline_eval(ram_sp,1.3);
+y3=gsl_spline_eval(ram_sp,0.0);
+ram_delete(ram_sp);
+
+print(y_out); // 1.10472, 1.2, 1.4, 1.42658, 1.69680002 
+print(y2);    // 1.12454 
+print(y3);    // '_' 
+</pre></div>
+
+<p>Note in the above example y3 is set to ’missing value’ because 0.0 isn’t within the input X range.  
+</p>
+<p><strong><acronym>GSL</acronym> Interpolation Types</strong><br>
+All the interpolation functions have been implemented. These are:<br>
+gsl_interp_linear() <br> gsl_interp_polynomial() <br> gsl_interp_cspline()<br>
+gsl_interp_cspline_periodic()<br> gsl_interp_akima() <br> gsl_interp_akima_periodic() <br>
+</p>
+<br> <br>
+<p><strong> Evaluation of Interpolating Types </strong> <br>
+<strong>Implemented</strong> <br>
+gsl_spline_eval() <br>
+<strong>Unimplemented</strong> <br>
+gsl_spline_deriv()<br>
+gsl_spline_deriv2()<br>
+gsl_spline_integ()<br>
+</p>
+<a name="ncap_lsqf"></a> <!-- http://nco.sf.net/nco.html#ncap_lsqf --><hr>
+<a name="GSL-least_002dsquares-fitting"></a>
+<div class="header">
+<p>
+Next: <a href="#GSL-statistics" accesskey="n" rel="next">GSL statistics</a>, Previous: <a href="#GSL-interpolation" accesskey="p" rel="previous">GSL interpolation</a>, Up: <a href="#ncap2-netCDF-Arithmetic-Processor" accesskey="u" rel="up">ncap2 netCDF Arithmetic Processor</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="GSL-least_002dsquares-fitting-1"></a>
+<h4 class="subsection">4.1.21 GSL least-squares fitting</h4>
+<p>Least Squares fitting is a method of calculating a straight line through a set of experimental data points in the XY plane. The data maybe weighted or unweighted. For more information please refer to the <acronym>GSL</acronym> manual.
+</p>
+<p>These <acronym>GSL</acronym> functions fall into three categories:<br>
+<strong>A)</strong> Fitting data to Y=c0+c1*X<br>
+<strong>B)</strong> Fitting data (through the origin) Y=c1*X<br>
+<strong>C)</strong> Multi-parameter fitting (not yet implemented)<br> 
+</p>
+<p><strong>Section A</strong> <br> <br>
+<code>status=<strong>gsl_fit_linear</strong> (data_x,stride_x,data_y,stride_y,n,&co,&c1,&cov00,&cov01,&cov11,&sumsq) </code>
+</p>
+<p><strong>Input variables</strong>: data_x, stride_x, data_y, stride_y, n <br> 
+From the above variables an X and Y vector both of length ’n’ are derived. 
+If data_x or data_y is less than type double then it is converted to type <code>double</code>. 
+It is up to you to do bounds checking on the input data. 
+For example if stride_x=3 and n=8 then the size of data_x must be at least 24
+</p>
+<p><strong>Output variables</strong>: c0, c1, cov00, cov01, cov11,sumsq <br> 
+The ’&’ prefix indicates that these are call-by-reference variables.
+If any of the output variables don’t exist prior to the call then they are created on the fly as scalar variables of type <code>double</code>. If they already exist then their existing value is overwritten. If the function call is successful then <code>status=0</code>. 
+</p>
+<p><code>status= <strong>gsl_fit_wlinear</strong>(data_x,stride_x,data_w,stride_w,data_y,stride_y,n,&co,&c1,&cov00,&cov01,&cov11,&chisq) </code>
+</p>
+<p>Similar to the above call except it creates an additional weighting vector from the variables data_w, stride_w, n  
+</p>
+
+<p><code> data_y_out=<strong>gsl_fit_linear_est</strong>(data_x,c0,c1,cov00,cov01,cov11) </code>
+</p>
+<p>This function calculates y values along the line Y=c0+c1*X <br> <br>
+</p>
+
+
+<p><strong>Section B</strong> <br> <br>
+<code>status=<strong>gsl_fit_mul</strong>(data_x,stride_x,data_y,stride_y,n,&c1,&cov11,&sumsq) </code>
+</p>
+<p><strong>Input variables</strong>: data_x, stride_x, data_y, stride_y, n <br> 
+From the above variables an X and Y vector both of length ’n’ are derived. 
+If data_x or data_y is less than type <code>double</code> then it is converted to type <code>double</code>. <br>
+</p>
+<p><strong>Output variables</strong>: c1,cov11,sumsq <br> 
+</p>
+
+<p><code>status= <strong>gsl_fit_wmul</strong>(data_x,stride_x,data_w,stride_w,data_y,stride_y,n,&c1,&cov11,&sumsq) </code>
+</p>
+<p>Similar to the above call except it creates an additional weighting vector from the variables data_w, stride_w, n  
+</p>
+
+<p><code> data_y_out=<strong>gsl_fit_mul_est</strong>(data_x,c0,c1,cov11) </code>
+</p>
+<p>This function calculates y values along the line Y=c1*X <br> <br>
+</p>
+<p>The below example shows <strong>gsl_fit_linear()</strong> in action
+</p>
+<div class="example">
+<pre class="example">defdim("d1",10);
+xin[d1]={1,2,3,4,5,6,7,8,9,10.0};
+yin[d1]={3.1,6.2,9.1,12.2,15.1,18.2,21.3,24.0,27.0,30.0};
+gsl_fit_linear(xin,1,yin,1,$d1.size,&c0,&c1,&cov00,&cov01,&cov11,&sumsq);
+print(c0);  // 0.2
+print(c1);  // 2.98545454545
+
+
+defdim("e1",4);
+xout[e1]={1.0,3.0,4.0,11};
+yout[e1]=0.0;
+
+yout=gsl_fit_linear_est(xout, c0,c1, cov00,cov01, cov11, sumsq);
+
+print(yout);  // 3.18545454545 ,9.15636363636, ,12.1418181818 ,33.04
+</pre></div>
+<br> <br>
+
+
+
+<a name="ncap_stat"></a> <!-- http://nco.sf.net/nco.html#ncap_stat -->
+<hr>
+<a name="GSL-statistics"></a>
+<div class="header">
+<p>
+Next: <a href="#GSL-random-number-generation" accesskey="n" rel="next">GSL random number generation</a>, Previous: <a href="#GSL-least_002dsquares-fitting" accesskey="p" rel="previous">GSL least-squares fitting</a>, Up: <a href="#ncap2-netCDF-Arithmetic-Processor" accesskey="u" rel="up">ncap2 netCDF Arithmetic Processor</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="GSL-statistics-1"></a>
+<h4 class="subsection">4.1.22 GSL statistics</h4>
+
+<p>Wrappers for most of the <acronym>GSL</acronym> Statistical functions have been implemented. The <acronym>GSL</acronym> function names include a type specifier (except for type double functions). To obtain the equivalent <acronym>NCO</acronym> name simply remove the type specifier; then depending on the data type the appropriate <acronym>GSL</acronym> function  is called. The weighed statistical functions e.g., <code> gsl_stats_wvariance()</code> are only defined in <acronym>GSL</acro [...]
+</p>
+<p><acronym>GSL</acronym> Functions
+</p><div class="example">
+<pre class="example">short gsl_stats_max (short data[], size_t stride, size_t n);
+double gsl_stats_int_mean (int data[], size_t stride, size_t n);
+double gsl_stats_short_sd_with_fixed_mean (short data[], size_t stride, size_t n, double mean);
+double gsl_stats_wmean (double w[], size_t wstride, double data[], size_t stride, size_t n);
+double gsl_stats_quantile_from_sorted_data (double sorted_data[], size_t stride, size_t n, double f) ;
+</pre></div>
+
+
+<p>Equivalent ncap2 wrapper functions
+</p><div class="example">
+<pre class="example">short gsl_stats_max (var_data, data_stride, n);
+double gsl_stats_mean (var_data, data_stride, n);
+double gsl_stats_sd_with_fixed_mean (var_data, data_stride, n, var_mean);
+double gsl_stats_wmean (var_weight, weight_stride, var_data, data_stride, n, var_mean);
+double gsl_stats_quantile_from_sorted_data (var_sorted_data, data_stride, n, var_f) ;
+</pre></div>
+
+<p><acronym>GSL</acronym> has no notion of missing values or dimensionality beyond one. If your data has missing values which you want ignored in the calculations then use the <code>ncap2</code> built in aggregate functions( <a href="#Methods-and-functions">Methods and functions</a> ). The <acronym>GSL</acronym> functions operate on a vector of values created from the var_data/stride/n arguments. The ncap wrappers check that there is no bounding error with regard to the size of the data  [...]
+</p>
+<p>Some examples
+</p>
+<div class="example">
+<pre class="example">a1[time]={1,2,3,4,5,6,7,8,9,10 };
+
+a1_avg=gsl_stats_mean(a1,1,10);
+print(a1_avg); // 5.5
+
+a1_var=gsl_stats_variance(a1,4,3);
+print(a1_var); // 16.0
+
+// bounding error, vector attempts to access element a1(10)
+a1_sd=gsl_stats_sd(a1,5,3); 
+
+</pre></div>
+
+<p>For functions with the signature 
+<strong>func_nm(var_data,data_stride,n)</strong>, 
+one may omit the second or third arguments. 
+The default value for <var>stride</var> is <code>1</code>. 
+The default value for <var>n</var> is <code>1+(data.size()-1)/stride</code>.
+</p>
+<div class="example">
+<pre class="example">// Following statements are equvalent
+n2=gsl_stats_max(a1,1,10)
+n2=gsl_stats_max(a1,1);
+n2=gsl_stats_max(a1);
+
+// Following statements are equvalent
+n3=gsl_stats_median_from_sorted_data(a1,2,5);
+n3=gsl_stats_median_from_sorted_data(a1,2);
+
+// Following statements are NOT equvalent
+n4=gsl_stats_kurtosis(a1,3,2);
+n4=gsl_stats_kurtosis(a1,3); //default n=4
+</pre></div>
+
+<p>The following example illustrates some of the weighted functions.
+The data are randomly generated. 
+In this case the value of the weight for each datum is either 0.0 or 1.0   
+</p><div class="example">
+<pre class="example">defdim("r1",2000);
+data[r1]=1.0;
+
+// Fill with random numbers [0.0,10.0)
+data=10.0*gsl_rng_uniform(data);
+
+// Create a weighting variable
+weight=(data>4.0);
+
+wmean=gsl_stats_wmean(weight,1,data,1,$r1.size);
+print(wmean);
+
+wsd=gsl_stats_wsd(weight,1,data,1,$r1.size);
+print(wsd);
+
+// number of values in data that are greater than 4
+weight_size=weight.total();
+print(weight_size);
+
+// print min/max of data 
+dmin=data.gsl_stats_min();
+dmax=data.gsl_stats_max();
+print(dmin);print(dmax);
+</pre></div>
+
+<a name="ncap_rng"></a> <!-- http://nco.sf.net/nco.html#ncap_rng -->
+<hr>
+<a name="GSL-random-number-generation"></a>
+<div class="header">
+<p>
+Next: <a href="#Examples-ncap2" accesskey="n" rel="next">Examples ncap2</a>, Previous: <a href="#GSL-statistics" accesskey="p" rel="previous">GSL statistics</a>, Up: <a href="#ncap2-netCDF-Arithmetic-Processor" accesskey="u" rel="up">ncap2 netCDF Arithmetic Processor</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="GSL-random-number-generation-1"></a>
+<h4 class="subsection">4.1.23 GSL random number generation</h4>
+<p>The <acronym>GSL</acronym> library has a large number of random number generators. In addition there are a large set of functions for turning uniform random numbers into discrete or continuous probabilty distributions. The random number generator algorithms vary in terms of quality numbers output, speed of execution and maximium number output. For more information see the <acronym>GSL</acronym> documentation. The algorithm and seed are set via environment variables, these are picked u [...]
+</p>
+<p><strong>Setup</strong> <br>  
+The number algorithm is set by the environment variable <code>GSL_RNG_TYPE</code>. If this variable isn’t set then the default rng algorithm is gsl_rng_19937. The seed is set with the environment variable <code>GSL_RNG_SEED</code>. The following wrapper functions in ncap2 provide information about the chosen algorithm. <br> 
+</p>
+<dl compact="compact">
+<dt><code>gsl_rng_min()</code></dt>
+<dd><p>the minimium value returned by the rng algorithm.
+</p></dd>
+<dt><code>gsl_rng_max()</code></dt>
+<dd><p>the maximium value returned by the rng algorithm. 
+</p></dd>
+</dl>
+
+<p><strong>Uniformly Distributed Random Numbers</strong> 
+</p><dl compact="compact">
+<dt><code>gsl_rng_get(var_in)</code></dt>
+<dd><p>This function returns var_in with integers from the chosen rng algorithm. The min and max values depend uoon the chosen rng algorthm.
+</p></dd>
+<dt><code>gsl_rng_uniform_int(var_in)</code></dt>
+<dd><p>This function returns var_in with random integers from 0 to n-1. The value n must be less than or equal to the maximium value of the chosen rng algorithm. 
+</p></dd>
+<dt><code>gsl_rng_uniform(var_in)</code></dt>
+<dd><p>This function returns var_in with double-precision numbers in the range [0.0,1). The range includes 0.0 and excludes 1.0.
+</p></dd>
+<dt><code>gsl_rng_uniform_pos(var_in)</code></dt>
+<dd><p>This function returns var_in with double-precision numbers in the range (0.0,1), excluding both 0.0 and 1.0.
+</p></dd>
+</dl>
+
+<p>Below are examples of <code>gsl_rng_get()</code> and <code>gsl_rng_uniform_int()</code> in action.
+</p>
+<div class="example">
+<pre class="example">export GSL_RNG_TYPE=ranlux
+export GSL_RNG_SEED=10
+ncap2 -v -O -s 'a1[time]=0;a2=gsl_rng_get(a1);' in.nc foo.nc 
+// 10 random numbers from the range 0 - 16777215
+// a2=9056646, 12776696, 1011656, 13354708, 5139066, 1388751, 11163902, 7730127, 15531355, 10387694 ;
+
+ncap2 -v -O -s 'a1[time]=21;a2=gsl_rng_uniform_int(a1).sort();' in.nc foo.nc
+// 10 random numbers from the range 0 - 20
+a2 = 1, 1, 6, 9, 11, 13, 13, 15, 16, 19 ;
+
+</pre></div>
+
+<p>The following example produces an <code>ncap2</code> runtime error. This is because the chose rng algorithm has a maximium value greater than <code> NC_MAX_INT=2147483647 </code>; the wrapper functions to <code>gsl_rng_get()</code> and <code>gsl_rng_uniform_int()</code> return variable of type <code>NC_INT</code>. Please be aware of this when using random number distribution functions functions from the <acronym>GSL</acronym> library which return <code>unsigned int</code>. Examples of [...]
+</p>
+<div class="example">
+<pre class="example">export GSL_RNG_TYPE=mt19937
+ncap2 -v -O -s 'a1[time]=0;a2=gsl_rng_get(a1);' in.nc foo.nc 
+</pre></div>
+
+<p>To find the maximium value of the chosen rng algorithm use the following code snippet.
+</p><div class="example">
+<pre class="example">ncap2 -v -O -s 'rng_max=gsl_rng_max();print(rng_max)' in.nc foo.nc
+</pre></div>
+
+<p><strong>Random Number Distributions</strong> <br>
+The <acronym>GSL</acronym> library has a rich set of random number disribution functions. The library also provides cumulative distribution functions and inverse cumulative distribution functions sometimes referred to a quantile functions. To see whats available on your build use the shell command <code>ncap2 -f|grep -e _ran -e _cdf</code>.
+</p>
+<p>The following examples all return variables of type <code>NC_INT</code> <br>
+</p><div class="example">
+<pre class="example">defdim("out",15);
+a1[$out]=0.5;
+a2=gsl_ran_binomial(a1,30).sort();
+//a2 = 10, 11, 12, 12, 13, 14, 14, 15, 15, 16, 16, 16, 16, 17, 22 ;
+a3=gsl_ran_geometric(a2).sort();
+//a2 = 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 4, 5 ;
+a4=gsl_ran_pascal(a2,50);
+//a5 = 37, 40, 40, 42, 43, 45, 46, 49, 52, 58, 60, 62, 62, 65, 67 ;
+</pre></div>
+
+<p>The following all return variables of type <code>NC_DOUBLE</code>;
+</p><div class="example">
+<pre class="example">defdim("b1",1000);
+b1[$b1]=0.8;
+b2=gsl_ran_exponential(b1);
+b2_avg=b2.avg();
+print(b2_avg);
+// b2_avg = 0.756047976787
+
+b3=gsl_ran_gaussian(b1);
+b3_avg=b3.avg();
+b3_rms=b3.rms();
+print(b3_avg);
+// b3_avg = -0.00903446534258;
+print(b3_rms);
+// b3_rms = 0.81162979889;
+
+b4[$b1]=10.0;
+b5[$b1]=20.0;
+b6=gsl_ran_flat(b4,b5);
+b6_avg=b6.avg();
+print(b6_avg);
+// b6_avg=15.0588129413
+</pre></div>
+
+<a name="ncap_emp"></a> <!-- http://nco.sf.net/nco.html#ncap_emp --><hr>
+<a name="Examples-ncap2"></a>
+<div class="header">
+<p>
+Next: <a href="#Intrinsic-mathematical-methods" accesskey="n" rel="next">Intrinsic mathematical methods</a>, Previous: <a href="#GSL-random-number-generation" accesskey="p" rel="previous">GSL random number generation</a>, Up: <a href="#ncap2-netCDF-Arithmetic-Processor" accesskey="u" rel="up">ncap2 netCDF Arithmetic Processor</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Examples-ncap2-1"></a>
+<h4 class="subsection">4.1.24 Examples ncap2</h4>
+
+<p>See the <samp>ncap.in</samp> and <samp>ncap2.in</samp> scripts released with <acronym>NCO</acronym> 
+for more complete demonstrations of <code>ncap2</code> functionality
+(script available on-line at <a href="http://nco.sf.net/ncap2.in">http://nco.sf.net/ncap2.in</a>).
+</p>
+<p>Define new attribute <var>new</var> for existing variable <var>one</var>
+as twice the existing attribute <var>double_att</var> of variable
+<var>att_var</var>: 
+</p><div class="example">
+<pre class="example">ncap2 -s 'one at new=2*att_var at double_att' in.nc out.nc
+</pre></div>
+
+<p>Average variables of mixed types (result is of type <code>double</code>):
+</p><div class="example">
+<pre class="example">ncap2 -s 'average=(var_float+var_double+var_int)/3' in.nc out.nc 
+</pre></div>
+
+<p>Multiple commands may be given to <code>ncap2</code> in three ways.
+First, the commands may be placed in a script which is executed, e.g.,
+<samp>tst.nco</samp>. 
+Second, the commands may be individually specified with multiple
+‘<samp>-s</samp>’ arguments to the same <code>ncap2</code> invocation.
+Third, the commands may be chained into a single ‘<samp>-s</samp>’
+argument to <code>ncap2</code>.
+Assuming the file <samp>tst.nco</samp> contains the commands
+<code>a=3;b=4;c=sqrt(a^2+b^2);</code>, then the following <code>ncap2</code>
+invocations produce identical results:
+</p><div class="example">
+<pre class="example">ncap2 -v -S tst.nco in.nc out.nc
+ncap2 -v -s 'a=3' -s 'b=4' -s 'c=sqrt(a^2+b^2)' in.nc out.nc
+ncap2 -v -s 'a=3;b=4;c=sqrt(a^2+b^2)' in.nc out.nc
+</pre></div>
+<p>The second and third examples show that <code>ncap2</code> does not require
+that a trailing semi-colon ‘<samp>;</samp>’ be placed at the end of a ‘<samp>-s</samp>’
+argument, although a trailing semi-colon ‘<samp>;</samp>’ is always allowed.
+However, semi-colons are required to separate individual assignment
+statements chained together as a single ‘<samp>-s</samp>’ argument. 
+</p>
+<a name="xmp_grw"></a> <!-- http://nco.sf.net/nco.html#xmp_grw --><a name="index-growing-dimensions"></a>
+<a name="index-dimensions_002c-growing"></a>
+<p><code>ncap2</code> may be used to “grow” dimensions, i.e., to increase
+dimension sizes without altering existing data.
+Say <samp>in.nc</samp> has <code>ORO(lat,lon)</code> and the user wishes a new
+file with <code>new_ORO(new_lat,new_lon)</code> that contains zeros in the
+undefined portions of the new grid.
+</p><div class="example">
+<pre class="example">defdim("new_lat",$lat.size+1); // Define new dimension sizes
+defdim("new_lon",$lon.size+1);
+new_ORO[$new_lat,$new_lon]=0.0f; // Initialize to zero
+new_ORO(0:$lat.size-1,0:$lon.size-1)=ORO; // Fill valid data
+</pre></div>
+<p>The commands to define new coordinate variables <code>new_lat</code>
+and <code>new_lon</code> in the output file follow a similar pattern.
+One would might store these commands in a script <samp>grow.nco</samp>
+and then execute the script with
+</p><div class="example">
+<pre class="example">ncap2 -v -S grow.nco in.nc out.nc
+</pre></div>
+
+<a name="flg"></a> <!-- http://nco.sf.net/nco.html#flg --><a name="index-flags"></a>
+<p>Imagine you wish to create a binary flag based on the value of 
+an array.
+The flag should have value 1.0<!-- /@w --> where the array exceeds 1.0<!-- /@w -->,
+and value 0.0<!-- /@w --> elsewhere.
+This example creates the binary flag <code>ORO_flg</code> in <samp>out.nc</samp>
+from the continuous array named <code>ORO</code> in <samp>in.nc</samp>.
+</p><div class="example">
+<pre class="example">ncap2 -s 'ORO_flg=(ORO > 1.0)' in.nc out.nc
+</pre></div>
+<p>Suppose your task is to change all values of <code>ORO</code> which 
+equal 2.0<!-- /@w --> to the new value 3.0<!-- /@w -->:
+</p><div class="example">
+<pre class="example">ncap2 -s 'ORO_msk=(ORO==2.0);ORO=ORO_msk*3.0+!ORO_msk*ORO' in.nc out.nc
+</pre></div>
+<a name="index-mask-1"></a>
+<p>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,
+i.e., where <code>ORO</code> equals 2.0<!-- /@w --> <br>
+Using the <code>where</code> statement the above code simplifies to :
+</p><div class="example">
+<pre class="example">ncap2 -s 'where(ORO==2.0) ORO=3.0;' in.nc foo.nc
+</pre></div>
+
+<a name="cvr"></a> <!-- http://nco.sf.net/nco.html#cvr --><p>This example uses <code>ncap2</code> to compute the covariance of two
+variables. 
+Let the variables <var>u</var> and <var>v</var> be the horizontal 
+wind components. 
+<a name="index-covariance"></a>
+The <em>covariance</em> of <var>u</var> and <var>v</var> is defined
+as the time mean product of the deviations of <var>u</var> and
+<var>v</var> from their respective time means.
+Symbolically, the covariance 
+<em>[<var>u'v'</var>] =
+[<var>uv</var>]-[<var>u</var>][<var>v</var>]</em> 
+where <em>[<var>x</var>]</em> denotes the time-average of
+<em><var>x</var></em> and <em><var>x'</var></em> 
+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.
+<a name="index-eddy-covariance"></a>
+Sometimes this is called the <em>eddy covariance</em>.
+We will store the covariance in the variable <code>uprmvprm</code>.
+</p><div class="example">
+<pre class="example">ncwa -O -a time -v u,v in.nc foo.nc # Compute time mean of u,v
+ncrename -O -v u,uavg -v v,vavg foo.nc # Rename to avoid conflict
+ncks -A -v uavg,vavg foo.nc in.nc # Place time means with originals
+ncap2 -O -s 'uprmvprm=u*v-uavg*vavg' in.nc in.nc # Covariance
+ncra -O -v uprmvprm in.nc foo.nc # Time-mean covariance
+</pre></div>
+<p>The mathematically inclined will note that the same covariance would be
+obtained by replacing the step involving <code>ncap2</code> with
+</p><div class="example">
+<pre class="example">ncap2 -O -s 'uprmvprm=(u-uavg)*(v-vavg)' foo.nc foo.nc # Covariance
+</pre></div>
+
+<p>As of <acronym>NCO</acronym> version 3.1.8 (December, 2006), <code>ncap2</code>
+can compute averages, and thus covariances, by itself:
+</p><div class="example">
+<pre class="example">ncap2 -s 'uavg=u.avg($time);vavg=v.avg($time);uprmvprm=u*v-uavg*vavg' \
+      -s 'uprmvrpmavg=uprmvprm.avg($time)' in.nc foo.nc
+</pre></div>
+<p>We have not seen a simpler method to script and execute powerful
+arithmetic than <code>ncap2</code>.
+</p>
+<a name="index-globbing-3"></a>
+<a name="index-shell-3"></a>
+<a name="index-quotes-1"></a>
+<a name="index-extended-regular-expressions-2"></a>
+<a name="index-regular-expressions-3"></a>
+<p><code>ncap2</code> 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.
+The issues are the same as those which arise in utilizing extended
+regular expressions to subset variables (see <a href="#Subsetting-Files">Subsetting Files</a>).
+The example above will fail with no quotes and with double quotes.
+This is because shell globbing tries to <em>interpolate</em> the value of
+<code>$time</code> from the shell environment unless it is quoted:
+</p><div class="example">
+<pre class="example">ncap2 -s 'uavg=u.avg($time)'  in.nc foo.nc # Correct (recommended)
+ncap2 -s  uavg=u.avg('$time') in.nc foo.nc # Correct (and dangerous)
+ncap2 -s  uavg=u.avg($time)   in.nc foo.nc # Fails ($time = '')
+ncap2 -s "uavg=u.avg($time)"  in.nc foo.nc # Fails ($time = '')
+</pre></div>
+<p>Without the single quotes, the shell replaces <code>$time</code> with an
+empty string.
+The command <code>ncap2</code> receives from the shell is
+<code>uavg=u.avg()</code>. 
+This causes <code>ncap2</code> to average over all dimensions rather than
+just the <var>time</var> dimension, and unintended consequence.
+</p>
+<p>We recommend using single quotes to protect <code>ncap2</code>
+command-line scripts from the shell, even when such protection is not
+strictly necessary. 
+Expert users may violate this rule to exploit the ability to use shell
+variables in <code>ncap2</code> command-line scripts 
+(see <a href="#CCSM-Example">CCSM Example</a>). 
+In such cases it may be necessary to use the shell backslash character
+‘<samp>\</samp>’ to protect the <code>ncap2</code> meta-character.
+</p>
+<a name="index-appending-data"></a>
+<a name="index-time_002daveraging"></a>
+<a name="index-ncks-2"></a>
+<a name="index-ncwa-3"></a>
+<a name="index-ncra-2"></a>
+<a name="index-degenerate-dimension-2"></a>
+<a name="index-_002db"></a>
+<p>A dimension of size one is said to be <em>degenerate</em>.
+Whether a degenerate record dimension is desirable or not
+depends on the application.
+Often a degenerate <var>time</var> dimension is useful, e.g., for
+concatentating, but it may cause problems with arithmetic.
+Such is the case in the above example, where the first step employs
+<code>ncwa</code> rather than <code>ncra</code> for the time-averaging.
+Of course the numerical results are the same with both operators.
+The difference is that, unless ‘<samp>-b</samp>’ is specified, <code>ncwa</code>
+writes no <var>time</var> dimension to the output file, while <code>ncra</code>
+defaults to keeping <var>time</var> as a degenerate (size 1<!-- /@w -->) dimension. 
+Appending <code>u</code> and <code>v</code> to the output file would cause
+<code>ncks</code> to try to expand the degenerate time axis of <code>uavg</code>
+and <code>vavg</code> to the size of the non-degenerate <var>time</var> dimension
+in the input file.
+Thus the append (<code>ncks -A</code>) command would be undefined (and
+should fail) in this case. 
+<a name="index-_002dC-2"></a>
+Equally important is the ‘<samp>-C</samp>’ argument 
+(see <a href="#Subsetting-Coordinate-Variables">Subsetting Coordinate Variables</a>) to <code>ncwa</code> to prevent
+any scalar <var>time</var> variable from being written to the output file.  
+Knowing when to use <code>ncwa -a time</code> rather than the default
+<code>ncra</code> for time-averaging takes, well, time.
+</p>
+<a name="mth"></a> <!-- http://nco.sf.net/nco.html#mth --><hr>
+<a name="Intrinsic-mathematical-methods"></a>
+<div class="header">
+<p>
+Next: <a href="#Operator-precedence-and-associativity" accesskey="n" rel="next">Operator precedence and associativity</a>, Previous: <a href="#Examples-ncap2" accesskey="p" rel="previous">Examples ncap2</a>, Up: <a href="#ncap2-netCDF-Arithmetic-Processor" accesskey="u" rel="up">ncap2 netCDF Arithmetic Processor</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Intrinsic-mathematical-methods-1"></a>
+<h4 class="subsection">4.1.25 Intrinsic mathematical methods</h4>
+<p><code>ncap2</code> supports the standard mathematical functions supplied with
+most operating systems.
+<a name="index-addition"></a>
+<a name="index-subtraction"></a>
+<a name="index-multiplication"></a>
+<a name="index-division"></a>
+<a name="index-exponentiation"></a>
+<a name="index-power"></a>
+<a name="index-modulus"></a>
+<a name="index-_002b-_0028addition_0029"></a>
+<a name="index-_002d-_0028subtraction_0029"></a>
+<a name="index-_002a-_0028multiplication_0029"></a>
+<a name="index-_002f-_0028division_0029"></a>
+<a name="index-_005e-_0028power_0029"></a>
+<a name="index-_0025-_0028modulus_0029"></a>
+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: 
+<a name="index-abs"></a>
+<a name="index-acosh"></a>
+<a name="index-acos"></a>
+<a name="index-asinh"></a>
+<a name="index-asin"></a>
+<a name="index-atanh"></a>
+<a name="index-atan"></a>
+<a name="index-ceil"></a>
+<a name="index-cosh"></a>
+<a name="index-cos"></a>
+<a name="index-erfc"></a>
+<a name="index-erf"></a>
+<a name="index-exp"></a>
+<a name="index-floor"></a>
+<a name="index-gamma-1"></a>
+<a name="index-ln"></a>
+<a name="index-log10"></a>
+<a name="index-log"></a>
+<a name="index-nearbyint"></a>
+<a name="index-pow"></a>
+<a name="index-rint"></a>
+<a name="index-round"></a>
+<a name="index-sinh"></a>
+<a name="index-sin"></a>
+<a name="index-sqrt-1"></a>
+<a name="index-tanh"></a>
+<a name="index-tan"></a>
+<a name="index-trunc"></a>
+<a name="index-mathematical-functions"></a>
+<a name="index-nearest-integer-function-_0028inexact_0029"></a>
+<a name="index-nearest-integer-function-_0028exact_0029"></a>
+<a name="index-rounding-functions"></a>
+<a name="index-truncation-function"></a>
+<a name="index-absolute-value"></a>
+<a name="index-arccosine-function"></a>
+<a name="index-arcsine-function"></a>
+<a name="index-arctangent-function"></a>
+<a name="index-ceiling-function"></a>
+<a name="index-complementary-error-function"></a>
+<a name="index-cosine-function"></a>
+<a name="index-error-function"></a>
+<a name="index-exponentiation-function"></a>
+<a name="index-floor-function"></a>
+<a name="index-gamma-function-1"></a>
+<a name="index-hyperbolic-arccosine-function"></a>
+<a name="index-hyperbolic-arcsine-function"></a>
+<a name="index-hyperbolic-arctangent-function"></a>
+<a name="index-hyperbolic-cosine-function"></a>
+<a name="index-hyperbolic-sine-function"></a>
+<a name="index-hyperbolic-tangent"></a>
+<a name="index-logarithm_002c-base-10"></a>
+<a name="index-logarithm_002c-natural"></a>
+<a name="index-power-function"></a>
+<a name="index-sine-function"></a>
+<a name="index-square-root-function"></a>
+</p><dl compact="compact">
+<dt><code>abs(x)</code></dt>
+<dd><p><em>Absolute value</em>
+Absolute value of <var>x</var>.
+Example: 
+<em>abs(-1) = 1</em>
+</p></dd>
+<dt><code>acos(x)</code></dt>
+<dd><p><em>Arc-cosine</em>
+Arc-cosine of <var>x</var> where <var>x</var> is specified in radians.
+Example: 
+<em>acos(1.0) = 0.0</em>
+</p></dd>
+<dt><code>acosh(x)</code></dt>
+<dd><p><em>Hyperbolic arc-cosine</em>
+Hyperbolic arc-cosine of <var>x</var> where <var>x</var> is specified in radians.
+Example: 
+<em>acosh(1.0) = 0.0</em>
+</p></dd>
+<dt><code>asin(x)</code></dt>
+<dd><p><em>Arc-sine</em>
+Arc-sine of <var>x</var> where <var>x</var> is specified in radians.
+Example: 
+<em>asin(1.0) = 1.57079632679489661922</em>
+</p></dd>
+<dt><code>asinh(x)</code></dt>
+<dd><p><em>Hyperbolic arc-sine</em>
+Hyperbolic arc-sine of <var>x</var> where <var>x</var> is specified in radians.
+Example: 
+<em>asinh(1.0) = 0.88137358702</em>
+</p></dd>
+<dt><code>atan(x)</code></dt>
+<dd><p><em>Arc-tangent</em>
+Arc-tangent of <var>x</var> where <var>x</var> is specified in radians between 
+<em>-pi/2</em> and <em>pi/2</em>.
+Example: 
+<em>atan(1.0) = 0.78539816339744830961</em>
+</p>
+</dd>
+<dt><code>atan2(y,x)</code></dt>
+<dd><p><em>Arc-tangent2</em>
+Arc-tangent of <var>y/x</var> 
+<em>:Example atan2(1,3) =  0.321689857</em>
+</p>
+</dd>
+<dt><code>atanh(x)</code></dt>
+<dd><p><em>Hyperbolic arc-tangent</em>
+Hyperbolic arc-tangent of <var>x</var> where <var>x</var> is specified in radians between 
+<em>-pi/2</em> and <em>pi/2</em>.
+Example:
+<em>atanh(3.14159265358979323844) = 1.0</em>
+</p></dd>
+<dt><code>ceil(x)</code></dt>
+<dd><p><em>Ceil</em>
+Ceiling of <var>x</var>. Smallest integral value not less than argument.
+Example: 
+<em>ceil(0.1) = 1.0</em>
+</p></dd>
+<dt><code>cos(x)</code></dt>
+<dd><p><em>Cosine</em>
+Cosine of <var>x</var> where <var>x</var> is specified in radians.
+Example: 
+<em>cos(0.0) = 1.0</em>
+</p></dd>
+<dt><code>cosh(x)</code></dt>
+<dd><p><em>Hyperbolic cosine</em>
+Hyperbolic cosine of <var>x</var> where <var>x</var> is specified in radians.
+Example: 
+<em>cosh(0.0) = 1.0</em>
+</p></dd>
+<dt><code>erf(x)</code></dt>
+<dd><p><em>Error function</em>
+Error function of <var>x</var> where <var>x</var> is specified between
+<em>-1</em> and <em>1</em>.
+Example: 
+<em>erf(1.0) = 0.842701</em>
+</p></dd>
+<dt><code>erfc(x)</code></dt>
+<dd><p><em>Complementary error function</em>
+Complementary error function of <var>x</var> where <var>x</var> is specified between
+<em>-1</em> and <em>1</em>.
+Example: 
+<em>erfc(1.0) = 0.15729920705</em>
+</p></dd>
+<dt><code>exp(x)</code></dt>
+<dd><p><em>Exponential</em>
+Exponential of <var>x</var>,
+<em>e^x</em>.
+Example: 
+<em>exp(1.0) = 2.71828182845904523536</em>
+</p></dd>
+<dt><code>floor(x)</code></dt>
+<dd><p><em>Floor</em>
+Floor of <var>x</var>. Largest integral value not greater than argument.
+Example: 
+<em>floor(1.9) = 1</em>
+</p></dd>
+<dt><code>gamma(x)</code></dt>
+<dd><p><em>Gamma function</em>
+Gamma function of <var>x</var>,
+<em>Gamma(x)</em>.
+The well-known and loved continuous factorial function.
+Example: 
+<em>gamma(0.5) = sqrt(pi)</em>
+</p></dd>
+<dt><code>gamma_inc_P(x)</code></dt>
+<dd><p><em>Incomplete Gamma function</em>
+Incomplete Gamma function of parameter <var>a</var> and variable <var>x</var>,
+<em>gamma_inc_P(a,x)</em>.
+One of the four incomplete gamma functions.
+Example: 
+<em>gamma_inc_P(1,1) = 1-1/e</em>
+</p></dd>
+<dt><code>ln(x)</code></dt>
+<dd><p><em>Natural Logarithm</em>
+Natural logarithm of <var>x</var>,
+<em>ln(x)</em>.
+Example: 
+<em>ln(2.71828182845904523536) = 1.0</em>
+</p></dd>
+<dt><code>log(x)</code></dt>
+<dd><p><em>Natural Logarithm</em>
+Exact synonym for <code>ln(x)</code>.
+</p></dd>
+<dt><code>log10(x)</code></dt>
+<dd><p><em>Base 10 Logarithm</em>
+Base 10<!-- /@w --> logarithm of <var>x</var>, 
+<em>log10(x)</em>.
+Example: 
+<em>log(10.0) = 1.0</em>
+</p></dd>
+<dt><code>nearbyint(x)</code></dt>
+<dd><p><em>Round inexactly</em>
+Nearest integer to <var>x</var> is returned in floating point format.
+<a name="index-inexact-conversion"></a>
+No exceptions are raised for <em>inexact conversions</em>.
+Example: 
+<em>nearbyint(0.1) = 0.0</em>
+</p></dd>
+<dt><code>pow(x,y)</code></dt>
+<dd><p><em>Power</em>
+<a name="index-promotion-2"></a>
+<a name="index-automatic-type-conversion-1"></a>
+Value of <var>x</var> is raised to the power of <var>y</var>.
+Exceptions are raised for <em>domain errors</em>.
+Due to type-limitations in the C language<!-- /@w --> <code>pow</code> function,
+integer arguments are promoted (see <a href="#Type-Conversion">Type Conversion</a>) to type
+<code>NC_FLOAT</code> before evaluation. 
+Example: 
+<em>pow(2,3) = 8</em>
+</p></dd>
+<dt><code>rint(x)</code></dt>
+<dd><p><em>Round exactly</em>
+Nearest integer to <var>x</var> is returned in floating point format.
+Exceptions are raised for <em>inexact conversions</em>.
+Example: 
+<em>rint(0.1) = 0</em>
+</p></dd>
+<dt><code>round(x)</code></dt>
+<dd><p><em>Round</em>
+Nearest integer to <var>x</var> is returned in floating point format.
+Round halfway cases away from zero, regardless of current IEEE rounding direction. 
+Example: 
+<em>round(0.5) = 1.0</em>
+</p></dd>
+<dt><code>sin(x)</code></dt>
+<dd><p><em>Sine</em>
+Sine of <var>x</var> where <var>x</var> is specified in radians.
+Example: 
+<em>sin(1.57079632679489661922) = 1.0</em>
+</p></dd>
+<dt><code>sinh(x)</code></dt>
+<dd><p><em>Hyperbolic sine</em>
+Hyperbolic sine of <var>x</var> where <var>x</var> is specified in radians.
+Example: 
+<em>sinh(1.0) = 1.1752</em>
+</p></dd>
+<dt><code>sqrt(x)</code></dt>
+<dd><p><em>Square Root</em>
+Square Root of <var>x</var>,
+<em>sqrt(x)</em>.
+Example: 
+<em>sqrt(4.0) = 2.0</em>
+</p></dd>
+<dt><code>tan(x)</code></dt>
+<dd><p><em>Tangent</em>
+Tangent of <var>x</var> where <var>x</var> is specified in radians.
+Example: 
+<em>tan(0.78539816339744830961) = 1.0</em>
+</p></dd>
+<dt><code>tanh(x)</code></dt>
+<dd><p><em>Hyperbolic tangent</em>
+Hyperbolic tangent of <var>x</var> where <var>x</var> is specified in radians.
+Example: 
+<em>tanh(1.0) = 0.761594155956</em>
+</p></dd>
+<dt><code>trunc(x)</code></dt>
+<dd><p><em>Truncate</em>
+Nearest integer to <var>x</var> is returned in floating point format.
+Round halfway cases toward zero, regardless of current IEEE rounding direction. 
+Example: 
+<em>trunc(0.5) = 0.0</em>
+</p></dd>
+</dl>
+<p>The complete list of mathematical functions supported is
+platform-specific.  
+Functions mandated by ANSI C<!-- /@w --> are <em>guaranteed</em> to be present
+and are indicated with an asterisk 
+<a name="index-ANSI-C"></a>
+<a name="index-float"></a>
+<a name="index-precision"></a>
+<a name="index-quadruple_002dprecision"></a>
+<a name="index-single_002dprecision"></a>
+<a name="index-double_002dprecision"></a>
+<a name="index-long-double"></a>
+<a name="index-NC_005fDOUBLE"></a>
+<a name="DOCF48" href="#FOOT48"><sup>48</sup></a>.
+and are indicated with an asterisk. 
+<a name="index-_002df"></a>
+<a name="index-_002d_002dprn_005ffnc_005ftbl"></a>
+<a name="index-_002d_002dfnc_005ftbl"></a>
+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="DOCF49" href="#FOOT49"><sup>49</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 -->
+
+<a name="ncap_opts"></a> <!-- http://nco.sf.net/nco.html#ncap_opts --><hr>
+<a name="Operator-precedence-and-associativity"></a>
+<div class="header">
+<p>
+Next: <a href="#ID-Quoting" accesskey="n" rel="next">ID Quoting</a>, Previous: <a href="#Intrinsic-mathematical-methods" accesskey="p" rel="previous">Intrinsic mathematical methods</a>, Up: <a href="#ncap2-netCDF-Arithmetic-Processor" accesskey="u" rel="up">ncap2 netCDF Arithmetic Processor</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Operator-precedence-and-associativity-1"></a>
+<h4 class="subsection">4.1.26 Operator precedence and associativity</h4>
+<p>This page lists the <code>ncap2</code> operators in order of precedence (highest to lowest). Their associativity indicates in what order operators of equal precedence in an expression are applied.
+</p>
+<table>
+<thead><tr><th width="18%">Operator</th><th width="62%">Description</th><th width="20%">Associativity</th></tr></thead>
+<tr><td width="18%"><code>++ --</code></td><td width="62%">Postfix Increment/Decrement</td><td width="20%">Right to Left</td></tr>
+<tr><td width="18%"><code>()</code></td><td width="62%">Parentheses (function call)</td></tr>
+<tr><td width="18%"><code>.</code></td><td width="62%">Method call</td></tr>
+<tr><td width="18%"></td></tr>
+<tr><td width="18%"><code>++ --</code></td><td width="62%">Prefix Increment/Decrement</td><td width="20%">Right to Left</td></tr>
+<tr><td width="18%"><code>+ -</code></td><td width="62%">Unary  Plus/Minus</td></tr>
+<tr><td width="18%"><code>!</code></td><td width="62%">Logical Not</td></tr>
+<tr><td width="18%"></td></tr>
+<tr><td width="18%"><code>^</code></td><td width="62%">Power of Operator</td><td width="20%">Right to Left</td></tr>
+<tr><td width="18%"></td></tr>
+<tr><td width="18%"><code>* / %</code></td><td width="62%">Multiply/Divide/Modulus</td><td width="20%">Left To Right</td></tr>
+<tr><td width="18%"></td></tr>
+<tr><td width="18%"><code>+ -</code></td><td width="62%">Addition/Subtraction</td><td width="20%">Left To Right</td></tr>
+<tr><td width="18%"></td></tr>
+<tr><td width="18%"><code>>> <<</code></td><td width="62%">Fortran style array clipping</td><td width="20%">Left to Right</td></tr>
+<tr><td width="18%"></td></tr>
+<tr><td width="18%"></td></tr>
+<tr><td width="18%"><code>< <=</code></td><td width="62%">Less than/Less than or equal to</td><td width="20%">Left to Right</td></tr>
+<tr><td width="18%"><code>> >=</code></td><td width="62%">Greater than/Greater than or equal to</td></tr>
+<tr><td width="18%"></td></tr>
+<tr><td width="18%"><code>== !=</code></td><td width="62%">Equal to/Not equal to</td><td width="20%">Left to Right</td></tr>
+<tr><td width="18%"></td></tr>
+<tr><td width="18%"><code>&&</code></td><td width="62%">Logical AND</td><td width="20%">Left to Right</td></tr>
+<tr><td width="18%"></td></tr>
+<tr><td width="18%"><code>||</code></td><td width="62%">Logical OR</td><td width="20%">Left to Right</td></tr>
+<tr><td width="18%"></td></tr>
+<tr><td width="18%"><code>?:</code></td><td width="62%">Ternary Operator</td><td width="20%">Right to Left</td></tr>
+<tr><td width="18%"></td></tr>
+<tr><td width="18%"><code>=</code></td><td width="62%">Assignment</td><td width="20%">Right to Left</td></tr>
+<tr><td width="18%"><code>+= -=</code></td><td width="62%">Addition/subtraction assignment</td></tr>
+<tr><td width="18%"><code>*= /=</code></td><td width="62%">Multiplication/division assignment</td></tr>
+</table>
+
+<a name="ncap_nmc"></a> <!-- http://nco.sf.net/nco.html#ncap_nmc --><hr>
+<a name="ID-Quoting"></a>
+<div class="header">
+<p>
+Previous: <a href="#Operator-precedence-and-associativity" accesskey="p" rel="previous">Operator precedence and associativity</a>, Up: <a href="#ncap2-netCDF-Arithmetic-Processor" accesskey="u" rel="up">ncap2 netCDF Arithmetic Processor</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="ID-Quoting-1"></a>
+<h4 class="subsection">4.1.27 ID Quoting</h4>
+<a name="index-ID-Quoting"></a>
+<p>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. 
+</p>
+<p>The default <acronym>NCO</acronym> name is specified by the regular expressions:
+</p>
+<div class="example">
+<pre class="example">DGT:     ('0'..'9');
+LPH:     ( 'a'..'z' | 'A'..'Z' | '_' );
+name:    (LPH)(LPH|DGT)+
+</pre></div>
+
+<p>The first character of a valid name must be alphabetic or the underscore. Any subsequent characters must be alphanumeric or underscore. ( e.g., a1,_23, hell_is_666 )
+</p>
+<p>The valid characters in a quoted name are specified by the regular expressions:
+</p><div class="example">
+<pre class="example">LPHDGT:  ( 'a'..'z' | 'A'..'Z' | '_' | '0'..'9');
+name:    (LPHDGT|'-'|'+'|'.'|'('|')'|':' )+  ;      
+</pre></div>
+
+<p>Quote a variable:<br>
+’avg’ , ’10_+10’,’set_miss’ ’+-90field’ , ’–test’=10.0d<br> <br> 
+Quote a attribute: <br>
+’three at 10’, ’set_mss at +10’, ’666 at hell’, ’t1 at +units’="kelvin" <br> <br>
+Quote a dimension: <br>
+’$10’, ’$t1–’, ’$–odd’, c1[’$10’,’$t1–’]=23.0d <br> 
+</p>
+<br>
+<p>The following comments are from the netCDF library definitions and
+detail the naming conventions for each release. 
+netcdf-3.5.1 <br>
+netcdf-3.6.0-p1 <br>
+netcdf-3.6.1 <br>
+netcdf-3.6.2 <br>
+</p><div class="example">
+<pre class="example">/*
+ * ( [a-zA-Z]|[0-9]|'_'|'-'|'+'|'.'|'|':'|'@'|'('|')' )+
+ * Verify that name string is valid CDL syntax, i.e., all characters are
+ * alphanumeric, '-', '_', '+', or '.'.
+ * Also permit ':', '@', '(', or ')' in names for chemists currently making 
+ * use of these characters, but don't document until ncgen and ncdump can 
+ * also handle these characters in names.
+ */
+</pre></div>
+
+<p>netcdf-3.6.3<br>
+netcdf-4.0 Final  2008/08/28<br>
+</p><div class="example">
+<pre class="example">/*
+ * Verify that a name string is valid syntax.  The allowed name
+ * syntax (in RE form) is:
+ *
+ * ([a-zA-Z_]|{UTF8})([^\x00-\x1F\x7F/]|{UTF8})*
+ *
+ * where UTF8 represents a multibyte UTF-8 encoding.  Also, no
+ * trailing spaces are permitted in names.  This definition
+ * must be consistent with the one in ncgen.l.  We do not allow '/'
+ * because HDF5 does not permit slashes in names as slash is used as a
+ * group separator.  If UTF-8 is supported, then a multi-byte UTF-8
+ * character can occur anywhere within an identifier.  We later
+ * normalize UTF-8 strings to NFC to facilitate matching and queries.
+ */ 
+</pre></div>
+
+<a name="ncatted"></a> <!-- http://nco.sf.net/nco.html#ncatted --><hr>
+<a name="ncatted-netCDF-Attribute-Editor"></a>
+<div class="header">
+<p>
+Next: <a href="#ncbo-netCDF-Binary-Operator" accesskey="n" rel="next">ncbo netCDF Binary Operator</a>, Previous: <a href="#ncap2-netCDF-Arithmetic-Processor" accesskey="p" rel="previous">ncap2 netCDF Arithmetic Processor</a>, Up: <a href="#Operator-Reference-Manual" accesskey="u" rel="up">Operator Reference Manual</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="ncatted-netCDF-Attribute-Editor-1"></a>
+<h3 class="section">4.2 <code>ncatted</code> netCDF Attribute Editor</h3>
+<a name="index-attributes"></a>
+<a name="index-attribute-names"></a>
+<a name="index-editing-attributes"></a>
+<a name="index-ncatted-4"></a>
+
+<p>SYNTAX
+</p><div class="example">
+<pre class="example">ncatted [-a <var>att_dsc</var>] [-a …] [-D <var>dbg</var>] [-h] [--hdr_pad <var>nbr</var>]
+[-l <var>path</var>] [-O] [-o <var>output-file</var>] [-p <var>path</var>] [-R] [-r] [--ram_all]
+<var>input-file</var> [[<var>output-file</var>]]
+</pre></div>
+ 
+<p>DESCRIPTION
+</p>
+<a name="index-ncattget"></a>
+<p><code>ncatted</code> edits attributes in a netCDF file.  
+If you are editing attributes then you are spending too much time in the
+world of metadata, and <code>ncatted</code> was written to get you back out as
+quickly and painlessly as possible.
+<code>ncatted</code> can <em>append</em>, <em>create</em>, <em>delete</em>,
+<em>modify</em>, and <em>overwrite</em> attributes (all explained below).  
+<code>ncatted</code> allows each editing operation to be applied
+to every variable in a file.
+This saves time when changing attribute conventions throughout a file. 
+<code>ncatted</code> is for <em>writing</em> attributes.
+To <em>read</em> attribute values in plain text, use <code>ncks -m -M</code>,
+or define something like <code>ncattget</code> as a shell command
+(see <a href="#Filters-for-ncks">Filters for <code>ncks</code></a>). 
+</p>
+<a name="index-history-4"></a>
+<a name="index-_002dh-1"></a>
+<p>Because repeated use of <code>ncatted</code> can considerably increase the size
+of the <code>history</code> global attribute (see <a href="#History-Attribute">History Attribute</a>), 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>.
+</p>
+<a name="index-missing-values-1"></a>
+<a name="index-data_002c-missing-1"></a>
+<a name="index-_005fFillValue-2"></a>
+<p>When <code>ncatted</code> 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, 
+e.g., 1.0e36, differs between two machines then netCDF files produced 
+on those machines will have incompatible missing values.
+This allows <code>ncatted</code> to change the missing values in files from 
+different machines to a single value so that the files may then be 
+concatenated, e.g., by <code>ncrcat</code>, without losing information.   
+See <a href="#Missing-Values">Missing Values</a>, for more information.
+</p>
+<p>To master <code>ncatted</code> one must understand the meaning of the
+structure that describes the attribute modification, <var>att_dsc</var> 
+specified by the required option ‘<samp>-a</samp>’ or ‘<samp>--attribute</samp>’. 
+Each <var>att_dsc</var> contains five elements, which makes using
+<code>ncatted</code> somewhat complicated, yet powerful.
+The <var>att_dsc</var> fields are in the following order:<br> 
+</p>
+<p><var>att_dsc</var> = <var>att_nm</var>, <var>var_nm</var>, <var>mode</var>, <var>att_type</var>,
+<var>att_val</var><br>
+</p>
+<dl compact="compact">
+<dt><var>att_nm</var></dt>
+<dd><p>Attribute name. 
+Example: <code>units</code>
+</p></dd>
+<dt><var>var_nm</var></dt>
+<dd><p>Variable name. 
+Example: <code>pressure</code>, <code>'^H2O'</code>.
+<a name="index-extended-regular-expressions-3"></a>
+<a name="index-regular-expressions-4"></a>
+<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.
+The names <code>global</code> and <code>group</code> have special meaning.
+</p></dd>
+<dt><var>mode</var></dt>
+<dd><p>Edit mode abbreviation. 
+Example: <code>a</code>. 
+See below for complete listing of valid values of <var>mode</var>.
+</p></dd>
+<dt><var>att_type</var></dt>
+<dd><p>Attribute type abbreviation. 
+Example: <code>c</code>. 
+See below for complete listing of valid values of <var>att_type</var>.
+</p></dd>
+<dt><var>att_val</var></dt>
+<dd><p>Attribute value. 
+Example: <code>pascal</code>. 
+</p></dd>
+</dl>
+<p>There should be no empty space between these five consecutive
+arguments. 
+The description of these arguments follows in their order of
+appearance. 
+</p>
+<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. 
+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. 
+</p>
+<a name="index-global-attributes-4"></a>
+<a name="index-attributes_002c-global-4"></a>
+<p>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.
+The value of <var>var_nm</var> can also be used to direct <code>ncatted</code>
+to edit global attributes, or to repeat the editing operation for every 
+group or variable in a file.
+A value<!-- /@w --> of <var>var_nm</var> of <code>global</code> indicates that <var>att_nm</var>
+refers to a global (i.e., root-level) attribute, rather than to a
+particular variable’s attribute. 
+This is the method <code>ncatted</code> supports for editing global
+attributes.
+A value<!-- /@w --> of <var>var_nm</var> of <code>group</code> indicates that <var>att_nm</var>
+refers to all groups, rather than to a particular variable’s or group’s
+attribute.  
+The operation will proceed to edit group metadata for every group.
+Finally, if <var>var_nm</var> is left blank, then <code>ncatted</code> 
+attempts to perform the editing operation on every variable in the file.
+This option may be convenient to use if you decide to change the
+conventions you use for describing the data.
+</p>
+<a name="mode"></a> <!-- http://nco.sf.net/nco.html#mode -->
+<a name="att_mode"></a> <!-- http://nco.sf.net/nco.html#att_mode --><p>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:<br>
+<a name="index-attributes_002c-appending"></a>
+<a name="index-attributes_002c-creating"></a>
+<a name="index-attributes_002c-deleting"></a>
+<a name="index-attributes_002c-modifying"></a>
+<a name="index-attributes_002c-editing"></a>
+<a name="index-attributes_002c-overwriting"></a>
+</p><dl compact="compact">
+<dt><code>a</code></dt>
+<dd><p><em>Append</em>.
+Append value <var>att_val</var> to current <var>var_nm</var> attribute
+<var>att_nm</var> value <var>att_val</var>, if any.  
+If <var>var_nm</var> does not have an attribute <var>att_nm</var>, there is no
+effect.
+</p></dd>
+<dt><code>c</code></dt>
+<dd><p><em>Create</em>.
+Create variable <var>var_nm</var> attribute <var>att_nm</var> with <var>att_val</var>
+if <var>att_nm</var> does not yet exist.  
+If <var>var_nm</var> already has an attribute <var>att_nm</var>, there is no
+effect. 
+</p></dd>
+<dt><code>d</code></dt>
+<dd><p><em>Delete</em>.
+Delete current <var>var_nm</var> attribute <var>att_nm</var>.
+If <var>var_nm</var> does not have an attribute <var>att_nm</var>, there is no
+effect. 
+If <var>att_nm</var> is omitted (left blank), then all attributes associated
+with the specified variable are automatically deleted. 
+When <em>Delete</em> mode is selected, the <var>att_type</var> and <var>att_val</var>
+arguments are superfluous and may be left blank.
+</p></dd>
+<dt><code>m</code></dt>
+<dd><p><em>Modify</em>.
+Change value of current <var>var_nm</var> attribute <var>att_nm</var> to value
+<var>att_val</var>. 
+If <var>var_nm</var> does not have an attribute <var>att_nm</var>, there is no
+effect. 
+</p></dd>
+<dt><code>o</code></dt>
+<dd><p><em>Overwrite</em>.
+Write attribute <var>att_nm</var> with value <var>att_val</var> to variable
+<var>var_nm</var>, overwriting existing attribute <var>att_nm</var>, if any. 
+This is the default mode.
+</p></dd>
+</dl>
+
+<a name="att_typ"></a> <!-- http://nco.sf.net/nco.html#att_typ --><p>The value of <var>att_type</var> is a single character abbreviation 
+(<code>f</code>, <code>d</code>, <code>l</code>, <code>i</code>, <code>s</code>, <code>c</code>, 
+<code>b</code>, <code>u</code>) or a short string standing for one of the twelve
+primitive netCDF data types:<br>  
+</p><dl compact="compact">
+<dt><code>f</code></dt>
+<dd><p><em>Float</em>.
+Value(s) specified in <var>att_val</var> will be stored as netCDF intrinsic
+type <code>NC_FLOAT</code>. 
+</p></dd>
+<dt><code>d</code></dt>
+<dd><p><em>Double</em>.
+Value(s) specified in <var>att_val</var> will be stored as netCDF intrinsic
+type <code>NC_DOUBLE</code>.
+</p></dd>
+<dt><code>i, l</code></dt>
+<dd><p><em>Integer</em> or <em>Long</em>.
+Value(s) specified in <var>att_val</var> will be stored as netCDF intrinsic
+type <code>NC_INT</code>.
+</p></dd>
+<dt><code>s</code></dt>
+<dd><p><em>Short</em>.
+Value(s) specified in <var>att_val</var> will be stored as netCDF intrinsic
+type <code>NC_SHORT</code>.
+</p></dd>
+<dt><code>c</code></dt>
+<dd><p><em>Char</em>.
+Value(s) specified in <var>att_val</var> will be stored as netCDF intrinsic
+type <code>NC_CHAR</code>.
+</p></dd>
+<dt><code>b</code></dt>
+<dd><p><em>Byte</em>.
+Value(s) specified in <var>att_val</var> will be stored as netCDF intrinsic
+type <code>NC_BYTE</code>.
+</p></dd>
+<dt><code>ub</code></dt>
+<dd><p><em>Unsigned Byte</em>.
+Value(s) specified in <var>att_val</var> will be stored as netCDF intrinsic
+type <code>NC_UBYTE</code>.
+</p></dd>
+<dt><code>us</code></dt>
+<dd><p><em>Unsigned Short</em>.
+Value(s) specified in <var>att_val</var> will be stored as netCDF intrinsic
+type <code>NC_USHORT</code>.
+</p></dd>
+<dt><code>u, ui, ul</code></dt>
+<dd><p><em>Unsigned Int</em>.
+Value(s) specified in <var>att_val</var> will be stored as netCDF intrinsic
+type <code>NC_UINT</code>.
+</p></dd>
+<dt><code>ll, int64</code></dt>
+<dd><p><em>Int64</em>.
+Value(s) specified in <var>att_val</var> will be stored as netCDF intrinsic
+type <code>NC_INT64</code>.
+</p></dd>
+<dt><code>ull, uint64</code></dt>
+<dd><p><em>Uint64</em>.
+Value(s) specified in <var>att_val</var> will be stored as netCDF intrinsic
+type <code>NC_UINT64</code>.
+</p></dd>
+<dt><code>sng, string</code></dt>
+<dd><p><em>String</em>.
+Value(s) specified in <var>att_val</var> will be stored as netCDF intrinsic
+type <code>NC_STRING</code>.
+Note that <code>ncatted</code> handles type <code>NC_STRING</code> attributes
+correctly beginning with version 4.3.3 released in July, 2013. 
+Earlier versions fail when asked to handle <code>NC_STRING</code> attributes.  
+</p></dd>
+</dl>
+<p>In <em>Delete</em> mode the specification of <var>att_type</var> is optional
+(and is ignored if supplied).
+</p>
+<p>The value of <var>att_val</var> is what you want to change attribute
+<var>att_nm</var> to contain.
+The specification of <var>att_val</var> is optional in <em>Delete</em> (and is
+ignored) mode. 
+Attribute values for all types besides <code>NC_CHAR</code> must have an
+attribute length of at least one.
+Thus <var>att_val</var> may be a single value or one-dimensional array of
+elements of type <code>att_type</code>.
+If the <var>att_val</var> is not set or is set to empty space,
+and the <var>att_type</var> is <code>NC_CHAR</code>, e.g., <code>-a units,T,o,c,""</code>
+or <code>-a units,T,o,c,</code>, then the corresponding attribute is set to 
+have zero length.
+When specifying an array of values, it is safest to enclose
+<var>att_val</var> in single or double quotes, e.g., 
+<code>-a levels,T,o,s,"1,2,3,4"</code> or   
+<code>-a levels,T,o,s,'1,2,3,4'</code>.
+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. 
+</p>
+<a name="index-Perl-2"></a>
+<a name="index-ASCII"></a>
+<p><acronym>NCO</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).
+<a name="index-printf_0028_0029"></a>
+<a name="index-_005cn-_0028ASCII-LF_002c-linefeed_0029"></a>
+<a name="index-characters_002c-special"></a>
+<a name="index-_005ct-_0028ASCII-HT_002c-horizontal-tab_0029"></a>
+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>NCO</acronym> will interpret before writing anything to disk.
+<acronym>NCO</acronym> translates valid escape sequences and stores the
+appropriate <acronym>ASCII</acronym> code instead.
+Since two byte escape sequences, e.g., <code>\n</code>, represent one-byte
+<acronym>ASCII</acronym> codes, e.g., <acronym>ASCII</acronym> 10 (decimal), the stored
+string attribute is one byte shorter than the input string length for
+each embedded escape sequence. 
+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. 
+<a name="index-_005ca-_0028ASCII-BEL_002c-bell_0029"></a>
+<a name="index-_005cb-_0028ASCII-BS_002c-backspace_0029"></a>
+<a name="index-_005cf-_0028ASCII-FF_002c-formfeed_0029"></a>
+<a name="index-_005cr-_0028ASCII-CR_002c-carriage-return_0029"></a>
+<a name="index-_005cv-_0028ASCII-VT_002c-vertical-tab_0029"></a>
+<a name="index-_005c_005c-_0028ASCII-_005c_002c-backslash_0029"></a>
+The other valid <acronym>ASCII</acronym> codes are <code>\a</code>, <code>\b</code>, <code>\f</code>,
+<code>\r</code>, <code>\v</code>, and <code>\\</code>. 
+See <a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a>, for more examples of string formatting
+(with the <code>ncks</code> ‘<samp>-s</samp>’ option) with special characters. 
+</p>
+<a name="index-_005c_0027-_0028protected-end-quote_0029"></a>
+<a name="index-_005c_0022-_0028protected-double-quote_0029"></a>
+<a name="index-_005c_003f-_0028protected-question-mark_0029"></a>
+<a name="index-_005c_005c-_0028protected-backslash_0029"></a>
+<a name="index-_0027-_0028end-quote_0029"></a>
+<a name="index-_0022-_0028double-quote_0029"></a>
+<a name="index-_003f-_0028question-mark_0029"></a>
+<a name="index-_005c-_0028backslash_0029"></a>
+<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.
+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
+characters before editing the attribute.
+No other characters require protection by a backslash.
+Backslashes which precede any other character (e.g., <code>3</code>, <code>m</code>,
+<code>$</code>, <code>|</code>, <code>&</code>, <code>@</code>, <code>%</code>, <code>{</code>, and
+<code>}</code>) will not be filtered and will be included in the attribute.
+</p>
+<a name="index-strings"></a>
+<a name="index-NUL_002dtermination"></a>
+<a name="index-NUL"></a>
+<a name="index-C-language-6"></a>
+<a name="index-0-_0028NUL_0029"></a>
+<p>Note that the NUL character <code>\0</code> which terminates C language<!-- /@w -->
+strings is assumed and need not be explicitly specified.
+If <code>\0</code> is input, it is translated to the NUL character.
+However, this will make the subsequent portion of the string, if any,
+invisible to C standard<!-- /@w --> library string functions. 
+And that may cause unintended consequences.
+Because of these context-sensitive rules, one must use <code>ncatted</code>
+with care in order to store data, rather than text strings, in an 
+attribute of type <code>NC_CHAR</code>.
+</p>
+<p>Note that <code>ncatted</code> interprets character attributes
+(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
+<code>history</code>: 
+</p><div class="example">
+<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":
+</p><div class="example">
+<pre class="example">ncatted -a long_name,T,o,c,temperature in.nc
+</pre></div>
+
+<a name="NaN"></a> <!-- http://nco.sf.net/nco.html#NaN --><a name="index-NaN"></a>
+<a name="index-IEEE-NaN"></a>
+<a name="index-Not_002da_002dNumber"></a>
+<p><acronym>NCO</acronym> arithmetic operators will not work as expected on IEEE
+NaN (short for Not-a-Number) and NaN-like numbers such as positive
+infinity and negative infinity.  
+One way to work-around this problem is to change IEEE NaNs to normal
+missing values. 
+As of <acronym>NCO</acronym> 4.1.0 (March, 2012), <code>ncatted</code> works with
+NaNs.
+First set the missing value (i.e., the value of the <code>_FillValue</code>
+attribute) for the variable(s) in question to the IEEE NaN value. 
+</p><div class="example">
+<pre class="example">ncatted -a _FillValue,,o,f,NaN in.nc
+</pre></div>
+<p>Then change the missing value from the IEEE NaN value to a normal IEEE
+number, like 1.0e36 (or to whatever the original missing value was).
+</p><div class="example">
+<pre class="example">ncatted -a _FillValue,,m,f,1.0e36 in.nc
+</pre></div>
+
+<p>Delete all existing <code>units</code> attributes:
+</p><div class="example">
+<pre class="example">ncatted -a units,,d,, in.nc
+</pre></div>
+<p>The value of <var>var_nm</var> was left blank in order to select all
+variables in the file.
+The values of <var>att_type</var> and <var>att_val</var> were left blank because
+they are superfluous in <em>Delete</em> mode. 
+</p>
+<a name="index-global-attribute"></a>
+<a name="index-global-attributes-5"></a>
+<a name="index-attributes_002c-global-5"></a>
+<p>Delete all attributes associated with the <code>tpt</code> variable, and
+delete all global attributes
+</p><div class="example">
+<pre class="example">ncatted -a ,tpt,d,, -a ,global,d,, in.nc
+</pre></div>
+<p>The value of <var>att_nm</var> was left blank in order to select all
+attributes associated with the variable.
+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><div class="example">
+<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><div class="example">
+<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></div>
+
+<a name="index-extended-regular-expressions-4"></a>
+<a name="index-regular-expressions-5"></a>
+<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.
+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></div>
+<p>See <a href="#Subsetting-Files">Subsetting Files</a> for more details.
+</p>
+<a name="index-groups-1"></a>
+<p>As of <acronym>NCO</acronym> 4.3.8 (November, 2013), <code>ncatted</code> 
+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
+# Overwrite units attribute of all 'lon' variables
+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
+# Add new_att attribute to all variables
+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
+# Add new_grp_att group attribute to single group
+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
+</pre></div>
+
+<p>Demonstrate input of C-language escape sequences (e.g., <code>\n</code>) and
+other special characters (e.g., <code>\"</code>) 
+</p><div class="example">
+<pre class="example">ncatted -h -a special,global,o,c,
+'\nDouble quote: \"\nTwo consecutive double quotes: \"\"\n
+Single quote: Beyond my shell abilities!\nBackslash: \\\n
+Two consecutive backslashes: \\\\\nQuestion mark: \?\n' in.nc
+</pre></div>
+<p>Note that the entire attribute is protected from the shell by single
+quotes. 
+These outer single quotes are necessary for interactive use, but may be
+omitted in batch scripts.
+</p>
+<a name="ncbo"></a> <!-- http://nco.sf.net/nco.html#ncbo -->
+<a name="ncdiff"></a> <!-- http://nco.sf.net/nco.html#ncdiff -->
+<a name="ncadd"></a> <!-- http://nco.sf.net/nco.html#ncadd -->
+<a name="ncsub"></a> <!-- http://nco.sf.net/nco.html#ncsub -->
+<a name="ncsubtract"></a> <!-- http://nco.sf.net/nco.html#ncsubtract -->
+<a name="ncmult"></a> <!-- http://nco.sf.net/nco.html#ncmult -->
+<a name="ncmultiply"></a> <!-- http://nco.sf.net/nco.html#ncmultiply -->
+<a name="ncdivide"></a> <!-- http://nco.sf.net/nco.html#ncdivide --><hr>
+<a name="ncbo-netCDF-Binary-Operator"></a>
+<div class="header">
+<p>
+Next: <a href="#nces-netCDF-Ensemble-Statistics" accesskey="n" rel="next">nces netCDF Ensemble Statistics</a>, Previous: <a href="#ncatted-netCDF-Attribute-Editor" accesskey="p" rel="previous">ncatted netCDF Attribute Editor</a>, Up: <a href="#Operator-Reference-Manual" accesskey="u" rel="up">Operator Reference Manual</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="ncbo-netCDF-Binary-Operator-1"></a>
+<h3 class="section">4.3 <code>ncbo</code> netCDF Binary Operator</h3>
+<a name="index-ncbo-1"></a>
+<a name="index-ncdiff"></a>
+<a name="index-ncadd"></a>
+<a name="index-ncsub"></a>
+<a name="index-ncsubtract"></a>
+<a name="index-ncmult"></a>
+<a name="index-ncmultiply"></a>
+<a name="index-ncdivide"></a>
+<a name="index-binary-operations-1"></a>
+<a name="index-addition-1"></a>
+<a name="index-subtraction-1"></a>
+<a name="index-multiplication-1"></a>
+<a name="index-adding-data"></a>
+<a name="index-subtracting-data"></a>
+<a name="index-multiplying-data"></a>
+<a name="index-dividing-data"></a>
+
+<p>SYNTAX
+</p><div class="example">
+<pre class="example">ncbo [-3] [-4] [-6] [-7] [-A] [-C] [-c]
+[--cnk_dmn nm,sz] [--cnk_map map] [--cnk_plc plc] [--cnk_scl sz]
+[-D <var>dbg</var>] [-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]] [-F] 
+[-G <var>gpe_dsc</var>] [-g <var>grp</var>[,…]] [-h] [--hdr_pad <var>nbr</var>]
+[-L <var>dfl_lvl</var>] [-l <var>path</var>] [--no_tmp_fl]
+[-O] [-o <var>file_3</var>] [-p <var>path</var>] [-R] [-r] [--ram_all]
+[-t <var>thr_nbr</var>] [--unn] [-v <var>var</var>[,…]] [-X ...] [-x] [-y <var>op_typ</var>]
+<var>file_1</var> <var>file_2</var> [<var>file_3</var>]
+</pre></div>
+
+<p>DESCRIPTION
+</p>
+<p><code>ncbo</code> performs binary operations on variables in <var>file_1</var>
+and the corresponding variables (those with the same name) in
+<var>file_2</var> and stores the results in <var>file_3</var>. 
+The binary operation operates on the entire files (modulo any excluded
+variables). 
+See <a href="#Missing-Values">Missing Values</a>, for treatment of missing values.
+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>’).
+<a name="index-add"></a>
+<a name="index-subtract"></a>
+<a name="index-multiply"></a>
+<a name="index-divide"></a>
+<a name="index-_002b"></a>
+<a name="index-_002d"></a>
+<a name="index-_002a"></a>
+<a name="index-_002f"></a>
+<a name="index-_002dy-op_005ftyp-1"></a>
+<a name="index-_002d_002doperation-op_005ftyp-1"></a>
+<a name="index-_002d_002dop_005ftyp-op_005ftyp-1"></a>
+<a name="index-alternate-invocations"></a>
+The valid binary operations for <code>ncbo</code>, their definitions, 
+corresponding values of the <var>op_typ</var> key, and alternate invocations
+are:  
+</p><dl compact="compact">
+<dt><em>Addition</em></dt>
+<dd><p>Definition: <var>file_3</var> = <var>file_1</var> + <var>file_2</var><br>
+Alternate invocation: <code>ncadd</code><br>
+<var>op_typ</var> key values: ‘<samp>add</samp>’, ‘<samp>+</samp>’, ‘<samp>addition</samp>’<br>
+Examples: ‘<samp>ncbo --op_typ=add 1.nc 2.nc 3.nc</samp>’, ‘<samp>ncadd 1.nc 2.nc 3.nc</samp>’<br>
+</p></dd>
+<dt><em>Subtraction</em></dt>
+<dd><p>Definition: <var>file_3</var> = <var>file_1</var> - <var>file_2</var><br>
+Alternate invocations: <code>ncdiff</code>, <code>ncsub</code>, <code>ncsubtract</code><br>
+<var>op_typ</var> key values: ‘<samp>sbt</samp>’, ‘<samp>-</samp>’, ‘<samp>dff</samp>’, ‘<samp>diff</samp>’, ‘<samp>sub</samp>’, ‘<samp>subtract</samp>’, ‘<samp>subtraction</samp>’<br>
+Examples: ‘<samp>ncbo --op_typ=- 1.nc 2.nc 3.nc</samp>’, ‘<samp>ncdiff 1.nc 2.nc 3.nc</samp>’<br>
+</p></dd>
+<dt><em>Multiplication</em></dt>
+<dd><p>Definition: <var>file_3</var> = <var>file_1</var> * <var>file_2</var><br> 
+Alternate invocations: <code>ncmult</code>, <code>ncmultiply</code><br> 
+<var>op_typ</var> key values: ‘<samp>mlt</samp>’, ‘<samp>*</samp>’, ‘<samp>mult</samp>’, ‘<samp>multiply</samp>’, ‘<samp>multiplication</samp>’<br>
+Examples: ‘<samp>ncbo --op_typ=mlt 1.nc 2.nc 3.nc</samp>’, ‘<samp>ncmult 1.nc 2.nc 3.nc</samp>’<br>
+</p></dd>
+<dt><em>Division</em></dt>
+<dd><p>Definition: <var>file_3</var> = <var>file_1</var> / <var>file_2</var><br> 
+Alternate invocation: <code>ncdivide</code><br>
+<var>op_typ</var> key values: ‘<samp>dvd</samp>’, ‘<samp>/</samp>’, ‘<samp>divide</samp>’, ‘<samp>division</samp>’<br>
+Examples: ‘<samp>ncbo --op_typ=/ 1.nc 2.nc 3.nc</samp>’, ‘<samp>ncdivide 1.nc 2.nc 3.nc</samp>’<br>
+</p></dd>
+</dl>
+<p>Care should be taken when using the shortest form of key values,
+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="DOCF50" href="#FOOT50"><sup>50</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="DOCF51" href="#FOOT51"><sup>51</sup></a>. 
+<a name="index-globbing-4"></a>
+<a name="index-shell-4"></a>
+<a name="index-quotes-2"></a>
+For example, the following commands are equivalent
+</p><div class="example">
+<pre class="example">ncbo --op_typ=* 1.nc 2.nc 3.nc # Dangerous (shell may try to glob)
+ncbo --op_typ='*' 1.nc 2.nc 3.nc # Safe ('*' protected from shell)
+ncbo --op_typ="*" 1.nc 2.nc 3.nc # Safe ('*' protected from shell)
+ncbo --op_typ=mlt 1.nc 2.nc 3.nc
+ncbo --op_typ=mult 1.nc 2.nc 3.nc
+ncbo --op_typ=multiply 1.nc 2.nc 3.nc
+ncbo --op_typ=multiplication 1.nc 2.nc 3.nc
+ncmult 1.nc 2.nc 3.nc # First do 'ln -s ncbo ncmult'
+ncmultiply 1.nc 2.nc 3.nc # First do 'ln -s ncbo ncmultiply'
+</pre></div>
+<p>No particular argument or invocation form is preferred.
+Users are encouraged to use the forms which are most intuitive to them.
+</p>
+<a name="index-alias"></a>
+<a name="index-ln-_002ds"></a>
+<a name="index-symbolic-links-3"></a>
+<p>Normally, <code>ncbo</code> 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,
+in conformance with your site’s policy on <em>symbolic links</em> to
+executables (files of a different name point to the actual executable).
+For many years, <code>ncdiff</code> was the main binary file operator.
+As a result, many users prefer to continue invoking <code>ncdiff</code>
+rather than memorizing a new command (‘<samp>ncbo -y <var>sbt</var></samp>’) which
+behaves identically to the original <code>ncdiff</code> command.
+However, from a software maintenance standpoint, maintaining a distinct 
+executable for each binary operation (e.g., <code>ncadd</code>) is untenable,
+and a single executable, <code>ncbo</code>, is desirable.
+To maintain backward compatibility, therefore, <acronym>NCO</acronym>
+automatically creates a symbolic link from <code>ncbo</code> to
+<code>ncdiff</code>.  
+Thus <code>ncdiff</code> is called an <em>alternate invocation</em> of
+<code>ncbo</code>. 
+<code>ncbo</code> supports many additional alternate invocations which must
+be manually activated.
+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="DOCF52" href="#FOOT52"><sup>52</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="DOCF53" href="#FOOT53"><sup>53</sup></a>.
+</p>
+<p>It is important to maintain portability in <acronym>NCO</acronym> scripts.
+Therefore we recommend that site-specfic invocations (e.g.,
+‘<samp>ncadd</samp>’) be used only in interactive sessions from the
+command-line.
+For scripts, we recommend using the full invocation (e.g., 
+‘<samp>ncbo --op_typ=add</samp>’).
+This ensures portability of scripts between users and sites.
+</p>
+<a name="brd_var"></a> <!-- http://nco.sf.net/nco.html#brd_var --><a name="index-broadcasting-variables-1"></a>
+<a name="index-rank-1"></a>
+<p><code>ncbo</code> 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>. 
+<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="DOCF54" href="#FOOT54"><sup>54</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>.
+</p>
+<p>Broadcasting a variable means creating data in non-existing dimensions
+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>. 
+<a name="index-anomalies"></a>
+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>.
+<a name="index-rank-2"></a>
+Thus, presently, the number of dimensions, or <em>rank</em>, 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>. 
+Of course, the size of all dimensions common to both <var>file_1</var> and
+<var>file_2</var> must be equal. 
+</p>
+<p>When computing anomalies from the mean it is often the case that
+<var>file_2</var> was created by applying an averaging operator to a file
+with initially the same dimensions as <var>file_1</var> (often <var>file_1</var>
+itself).  
+In these cases, creating <var>file_2</var> with <code>ncra</code> rather than
+<code>ncwa</code> will cause the <code>ncbo</code> operation to fail.
+For concreteness say the record dimension in <code>file_1</code> is
+<code>time</code>.  
+If <var>file_2</var> were created by averaging <var>file_1</var> over the
+<code>time</code> dimension with the <code>ncra</code> operator rather than with
+the <code>ncwa</code> operator, then <var>file_2</var> will have a <code>time</code>
+dimension of size 1<!-- /@w --> rather than having no <code>time</code> dimension at
+all 
+<a name="index-degenerate-dimension-3"></a>
+<a name="index-_002db-1"></a>
+<a name="DOCF55" href="#FOOT55"><sup>55</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.
+To prevent this from occuring, use <code>ncwa</code> to remove the
+<code>time</code> dimension from <var>file_2</var>.
+See the example below.
+</p>
+<a name="index-coordinate-variable-3"></a>
+<a name="index-NC_005fCHAR-1"></a>
+<p><code>ncbo</code> 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.
+<a name="index-CF-conventions-4"></a>
+<code>ncbo</code> applies special rules to some 
+<acronym>CF</acronym>-defined (and/or <acronym>NCAR CCSM</acronym> or <acronym>NCAR CCM</acronym> 
+fields) such as <code>ORO</code>.
+See <a href="#CF-Conventions">CF Conventions</a> for a complete description.
+Finally, we note that <code>ncflint</code> (see <a href="#ncflint-netCDF-File-Interpolator">ncflint netCDF File Interpolator</a>) is designed for file interpolation.
+As such, it also performs file subtraction, addition, multiplication,
+albeit in a more convoluted way than <code>ncbo</code>.
+</p>
+<a name="brd_grp"></a> <!-- http://nco.sf.net/nco.html#brd_grp -->
+<a name="gb"></a> <!-- http://nco.sf.net/nco.html#gb -->
+<a name="GB"></a> <!-- http://nco.sf.net/nco.html#GB --><a name="index-broadcasting-groups-1"></a>
+<p>Beginning with <acronym>NCO</acronym> version 4.3.1 (May, 2013), <code>ncbo</code> 
+supports <em>group broadcasting</em>.
+Group broadcasting means processing data based on group patterns in the
+input file(s) and automatically transferring or transforming groups to
+the output file. 
+Consider the case where <var>file_1</var> contains multiple groups each with
+the variable <var>v1</var>, while <var>file_2</var> contains <var>v1</var> only in its 
+top-level (i.e., root) group.
+Then <code>ncbo</code> will replicate the group structure of <var>file_1</var>
+in the output file, <var>file_3</var>.
+Each group in <var>file_3</var> contains the output of the corresponding
+group in <var>file_1</var> operating on the data in the single group in
+<var>file_2</var>. 
+An example is provided below.
+</p>
+<a name="xmp_ncbo"></a> <!-- http://nco.sf.net/nco.html#xmp_ncbo -->
+<a name="xmp_ncdiff"></a> <!-- http://nco.sf.net/nco.html#xmp_ncdiff --><p>EXAMPLES
+</p>
+<p>Say files <samp>85_0112.nc</samp> and <samp>86_0112.nc</samp> each contain 12 months
+of data.
+Compute the change in the monthly averages from 1985 to 1986:
+</p><div class="example">
+<pre class="example">ncbo   86_0112.nc 85_0112.nc 86m85_0112.nc
+ncdiff 86_0112.nc 85_0112.nc 86m85_0112.nc
+ncbo --op_typ=sub 86_0112.nc 85_0112.nc 86m85_0112.nc
+ncbo --op_typ='-' 86_0112.nc 85_0112.nc 86m85_0112.nc
+</pre></div>
+<p>These commands are all different ways of expressing the same thing.
+</p>
+<a name="index-broadcasting"></a>
+<a name="index-rank-3"></a>
+<p>The following examples demonstrate the broadcasting feature of
+<code>ncbo</code>.  
+Say we wish to compute the monthly anomalies of <code>T</code> from the yearly
+average of <code>T</code> for the year 1985.
+First we create the 1985 average from the monthly data, which is stored
+with the record dimension <code>time</code>.
+</p><div class="example">
+<pre class="example">ncra 85_0112.nc 85.nc
+ncwa -O -a time 85.nc 85.nc
+</pre></div>
+<p>The second command, <code>ncwa</code>, gets rid of the <code>time</code> dimension
+of size 1<!-- /@w --> that <code>ncra</code> left in <samp>85.nc</samp>. 
+Now none of the variables in <samp>85.nc</samp> has a <code>time</code> dimension.
+A quicker<!-- /@w --> way to accomplish this is to use <code>ncwa</code> from the
+beginning:  
+</p><div class="example">
+<pre class="example">ncwa -a time 85_0112.nc 85.nc
+</pre></div>
+<p>We are now ready to use <code>ncbo</code> to compute the anomalies for 1985:
+</p><div class="example">
+<pre class="example">ncdiff -v T 85_0112.nc 85.nc t_anm_85_0112.nc
+</pre></div>
+<p>Each of the 12 records in <samp>t_anm_85_0112.nc</samp> now contains the
+monthly deviation of <code>T</code> from the annual mean of <code>T</code> for each 
+gridpoint. 
+</p>
+<p>Say we wish to compute the monthly gridpoint anomalies from the zonal
+annual mean. 
+A <em>zonal mean</em><!-- /@w --> is a quantity that has been averaged over the
+longitudinal (or <var>x</var>) direction.
+First we use <code>ncwa</code> to average over longitudinal direction
+<code>lon</code>, creating <samp>85_x.nc</samp>, the zonal mean of <samp>85.nc</samp>. 
+Then we use <code>ncbo</code> to subtract the zonal annual means from the
+monthly gridpoint data:
+</p><div class="example">
+<pre class="example">ncwa -a lon 85.nc 85_x.nc
+ncdiff 85_0112.nc 85_x.nc tx_anm_85_0112.nc
+</pre></div>
+<p>This examples works assuming <samp>85_0112.nc</samp> has dimensions
+<code>time</code> and <code>lon</code>, and that <samp>85_x.nc</samp> has no <code>time</code>
+or <code>lon</code> dimension.
+</p>
+<a name="index-broadcasting-groups-2"></a>
+<p>Group broadcasting simplifies evaluation of multiple models against
+observations.
+Consider the input file <samp>cmip5.nc</samp> which contains multiple
+top-level groups <code>cesm</code>, <code>ecmwf</code>, and <code>giss</code>, each of
+which contains the surface air temperature field <code>tas</code>.
+We wish to compare these models to observations stored in <samp>obs.nc</samp> 
+which contains <code>tas</code> only in its top-level (i.e., root) group.
+It is often the case that many models and/or model simulations exist,
+whereas only one observational dataset does.
+We evaluate the models and obtain the bias (difference) between models
+and observations by subtracting <samp>obs.nc</samp> from <samp>cmip5.nc</samp>.
+Then <code>ncbo</code> “broadcasts” (i.e., replicates) the observational
+data to match the group structure of <samp>cmip5.nc</samp>, subtracts,
+and then stores the results in the output file, <samp>bias.nc</samp>
+which has the same group structure as <samp>cmip5.nc</samp>.
+</p><div class="example">
+<pre class="example">% ncbo -O cmip5.nc obs.nc bias.nc
+% ncks -H -v tas -d time,3 bias.nc
+/cesm/tas
+time[3] tas[3]=-1 
+/ecmwf/tas
+time[3] tas[3]=0 
+/giss/tas
+time[3] tas[3]=1 
+</pre></div>
+
+<a name="csn_anm"></a> <!-- http://nco.sf.net/nco.html#csn_anm --><p>As a final example, say we have five years of monthly data (i.e., 
+60 months<!-- /@w -->) stored in <samp>8501_8912.nc</samp> and we wish to create a
+file which contains the twelve month seasonal cycle of the average
+monthly anomaly from the five-year mean of this data. 
+The following method is just one permutation of many which will
+accomplish the same result.
+First use <code>ncwa</code> to create the five-year mean: 
+</p><div class="example">
+<pre class="example">ncwa -a time 8501_8912.nc 8589.nc
+</pre></div>
+<p>Next use <code>ncbo</code> to create a file containing the difference of
+each month’s data from the five-year mean:
+</p><div class="example">
+<pre class="example">ncbo 8501_8912.nc 8589.nc t_anm_8501_8912.nc
+</pre></div>
+<p>Now use <code>ncks</code> to group together the five January anomalies in
+one file, and use <code>ncra</code> 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:
+<a name="index-Bash-Shell"></a>
+<a name="index-Bourne-Shell-1"></a>
+<a name="index-C-Shell-1"></a>
+</p><div class="example">
+<pre class="example">for idx in {1..12}; do # Bash Shell (version 3.0+) 
+  idx=`printf "%02d" ${idx}` # Zero-pad to preserve order
+  ncks -F -d time,${idx},,12 t_anm_8501_8912.nc foo.${idx}
+  ncra foo.${idx} t_anm_8589_${idx}.nc
+done
+for idx in 01 02 03 04 05 06 07 08 09 10 11 12; do # Bourne Shell
+  ncks -F -d time,${idx},,12 t_anm_8501_8912.nc foo.${idx}
+  ncra foo.${idx} t_anm_8589_${idx}.nc
+done
+foreach idx (01 02 03 04 05 06 07 08 09 10 11 12) # C Shell
+  ncks -F -d time,${idx},,12 t_anm_8501_8912.nc foo.${idx}
+  ncra foo.${idx} t_anm_8589_${idx}.nc
+end
+</pre></div>
+<p>Note that <code>ncra</code> understands the <code>stride</code> argument so the
+two commands inside the loop may be combined into the single command 
+</p><div class="example">
+<pre class="example">ncra -F -d time,${idx},,12 t_anm_8501_8912.nc foo.${idx}
+</pre></div>
+<p>Finally, use <code>ncrcat</code> to concatenate the 12 average<!-- /@w --> monthly  
+anomaly files into one twelve-record file which contains the entire
+seasonal cycle of the monthly anomalies:
+</p><div class="example">
+<pre class="example">ncrcat t_anm_8589_??.nc t_anm_8589_0112.nc
+</pre></div>
+
+<a name="nces"></a> <!-- http://nco.sf.net/nco.html#nces -->
+<a name="ncea"></a> <!-- http://nco.sf.net/nco.html#ncea --><hr>
+<a name="nces-netCDF-Ensemble-Statistics"></a>
+<div class="header">
+<p>
+Next: <a href="#ncecat-netCDF-Ensemble-Concatenator" accesskey="n" rel="next">ncecat netCDF Ensemble Concatenator</a>, Previous: <a href="#ncbo-netCDF-Binary-Operator" accesskey="p" rel="previous">ncbo netCDF Binary Operator</a>, Up: <a href="#Operator-Reference-Manual" accesskey="u" rel="up">Operator Reference Manual</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="nces-netCDF-Ensemble-Statistics-1"></a>
+<h3 class="section">4.4 <code>nces</code> netCDF Ensemble Statistics</h3>
+<a name="index-averaging-data-1"></a>
+<a name="index-ensemble-average"></a>
+<a name="index-nces-2"></a>
+
+<p>SYNTAX
+</p><div class="example">
+<pre class="example">nces [-3] [-4] [-6] [-7] [-A] [-C] [-c]
+[--cnk_dmn nm,sz] [--cnk_map map] [--cnk_plc plc] [--cnk_scl sz]
+[-D <var>dbg</var>] [-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]] [-F]
+[-G <var>gpe_dsc</var>] [-g <var>grp</var>[,…]] [-h] [--hdf] [--hdr_pad <var>nbr</var>] 
+[-L <var>dfl_lvl</var>] [-l <var>path</var>] [-n <var>loop</var>] [--no_tmp_fl] [--nsm_fl|grp] [--nsm_sfx sfx]
+[-O] [-o <var>output-file</var>] [-p <var>path</var>] [-R] [-r] [--ram_all] [--rth_dbl|flt]
+[-t <var>thr_nbr</var>] [--unn] [-v <var>var</var>[,…]] [-X ...] [-x] [-y <var>op_typ</var>]
+[<var>input-files</var>] [<var>output-file</var>]
+</pre></div>
+
+<p>DESCRIPTION
+</p>
+<p><code>nces</code> performs gridpoint statistics on variables across an
+arbitrary number (an <em>ensemble</em>) of <var>input-files</var> and/or of
+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="DOCF56" href="#FOOT56"><sup>56</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. 
+This is distinct from <code>ncra</code>, which performs statistics only
+over the record dimension(s) (e.g., <var>time</var>), and weights each record 
+in each record dimension evenly.
+</p>
+<p>The file or group is the logical unit of organization for the results of
+many scientific studies.
+Often one wishes to generate a file or group which is the statistical
+product (e.g., average) of many separate files or groups. 
+This may be to reduce statistical noise by combining the results of a
+large number of experiments, or it may simply be a step in a procedure 
+whose goal is to compute anomalies from a mean state. 
+In any case, when one desires to generate a file whose statistical
+properties are equally influenced by all the inputs, then <code>nces</code>
+is the operator to use. 
+</p>
+<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="DOCF57" href="#FOOT57"><sup>57</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
+if the requested record hyperslab (see <a href="#Hyperslabs">Hyperslabs</a>) resolves to the
+same size for all files.  
+<code>nces</code> 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.
+<a name="index-IPCC"></a>
+<a name="index-AR4"></a>
+<a name="index-CMIP"></a>
+This simplifies analysis of unequal length timeseries from simulation
+ensembles (e.g., the <acronym>CMIP3</acronym> <acronym>IPCC</acronym> <acronym>AR4</acronym>
+archive).   
+</p>
+<a name="nsm_fl"></a> <!-- http://nco.sf.net/nco.html#nsm_fl -->
+<a name="nsm_grp"></a> <!-- http://nco.sf.net/nco.html#nsm_grp -->
+<a name="nsm_sfx"></a> <!-- http://nco.sf.net/nco.html#nsm_sfx --><a name="index-_002d_002dnsm_005ffl"></a>
+<a name="index-_002d_002dnsm_005fgrp"></a>
+<a name="index-_002d_002densemble_005ffile"></a>
+<a name="index-_002d_002densemble_005fgroup"></a>
+<a name="index-_002d_002dnsm_005fsfx"></a>
+<a name="index-_002d_002densemble_005fsuffix"></a>
+<p><code>nces</code> works in one of two modes, file ensembles 
+or group ensembles.
+File ensembles are the default (equivalent to the old <code>ncea</code>) 
+and may also be explicitly specified by the ‘<samp>--nsm_fl</samp>’ or
+‘<samp>--ensemble_file</samp>’ switches.
+To perform statistics on ensembles of groups, a newer feature, use
+‘<samp>--nsm_grp</samp>’ or ‘<samp>--ensemble_group</samp>’.
+Members of a group ensemble are groups that share the same structure,
+parent group, and nesting level. 
+Members must be <em>leaf groups</em>, i.e., not contain any sub-groups.
+Their contents usually have different values because they are
+realizations of replicated experiments.  
+In group ensemble mode <code>nces</code> computes the statistics across 
+the ensemble, which may span multiple input files. 
+Files may contain members of multiple, distinct ensembles. 
+However, all ensembles must have at least one member in the first input 
+file. 
+Group ensembles behave as an unlimited dimension of datasets: 
+they may contain an arbitrary and extensible number of realizations in
+each file, and may be composed from multiple files. 
+</p>
+<p>Output statistics in group ensemble mode are stored in the parent group
+by default. 
+If the ensemble members are <samp>/cesm/cesm_01</samp> and
+<samp>/cesm/cesm_02</samp>, then the computed statistic will be in
+<samp>/cesm</samp> in the output file.  
+The ‘<samp>--nsm_sfx</samp>’ option instructs nces to instead store output in  
+a new child group of the parent created by attaching the suffix
+to the parent group’s name, e.g., ‘<samp>--nsm_sfx='_avg'</samp>’ would store
+results in the output group <samp>/cesm/cesm_avg</samp>:
+</p><div class="example">
+<pre class="example">nces --nsm_grp                  mdl1.nc mdl2.nc mdl3.nc out.nc
+nces --nsm_grp --nsm_sfx='_avg' mdl1.nc mdl2.nc mdl3.nc out.nc
+</pre></div>
+
+<p>See <a href="#Statistics-vs_002e-Concatenation">Statistics vs. Concatenation</a>, for a description of the
+distinctions between the statistics tools and concatenators. 
+<a name="index-multi_002dfile-operators-3"></a>
+<a name="index-standard-input-1"></a>
+<a name="index-stdin-2"></a>
+As a multi-file operator, <code>nces</code> 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 
+(see <a href="#Large-Numbers-of-Files">Large Numbers of Files</a>).
+</p>
+<p>Like <code>ncra</code> and <code>ncwa</code>, <code>nces</code> treats coordinate
+variables as a special case.
+Coordinate variables are assumed to be the same in all ensemble members,
+so <code>nces</code> simply copies the coordinate variables that appear in 
+ensemble members directly to the output file.
+This has the same effect as averaging the coordinate variable across the
+ensemble, yet does not incur the time- or precision- penalties of
+actually averaging them.
+<code>ncra</code> and <code>ncwa</code> allow coordinate variables to be
+processed only by the linear average operation, regardless of the
+arithmetic operation type performed on the non-coordinate variables
+(see <a href="#Operation-Types">Operation Types</a>). 
+Thus it can be said that the three operators (<code>ncra</code>,
+<code>ncwa</code>, and <code>nces</code>) all average coordinate variables
+(even though <code>nces</code> simply copies them).
+All other requested arithmetic operations (e.g., maximization,
+square-root, RMS) are applied only to non-coordinate variables.
+In these cases the linear average of the coordinate variable will be
+returned.
+</p>
+<a name="xmp_ncea"></a> <!-- http://nco.sf.net/nco.html#xmp_ncea -->
+<a name="xmp_nces"></a> <!-- http://nco.sf.net/nco.html#xmp_nces --><p>EXAMPLES
+</p>
+<p>Consider a model experiment which generated five realizations of one
+year of data, say 1985.
+Imagine that the experimenter slightly perturbs the initial conditions
+of the problem before generating each new solution.   
+Assume each file contains all twelve months (a seasonal cycle) of data
+and we want to produce a single file containing the ensemble average
+(mean) seasonal cycle.  
+Here the numeric filename suffix denotes the realization number
+(<em>not</em> the month):
+</p><div class="example">
+<pre class="example">nces 85_01.nc 85_02.nc 85_03.nc 85_04.nc 85_05.nc 85.nc
+nces 85_0[1-5].nc 85.nc
+nces -n 5,2,1 85_01.nc 85.nc
+</pre></div>
+<p>These three commands produce identical answers.
+See <a href="#Specifying-Input-Files">Specifying Input Files</a>, for an explanation of the distinctions
+between these methods.
+The output file, <samp>85.nc</samp>, is the same size as the inputs files.
+It contains 12 months of data (which might or might not be stored in the 
+record dimension, depending on the input files), but each value in the
+output file is the average of the five values in the input files.
+</p>
+<p>In the previous example, the user could have obtained the ensemble
+average values in a particular spatio-temporal region by adding a 
+hyperslab argument to the command, e.g.,
+</p><div class="example">
+<pre class="example">nces -d time,0,2 -d lat,-23.5,23.5 85_??.nc 85.nc
+</pre></div>
+<p>In this case the output file would contain only three slices of data in
+the <var>time</var> dimension. 
+These three slices are the average of the first three slices from the
+input files.
+Additionally, only data inside the tropics is included.
+</p>
+<p>As of <acronym>NCO</acronym> version 4.3.9 (released December, 2013)
+<code>nces</code> also works with groups (rather than files) as the
+fundamental unit of the ensemble.
+Consider two ensembles, <code>/ecmwf</code> and <code>/cesm</code> stored across
+three input files <samp>mdl1.nc</samp>, <samp>mdl2.nc</samp>, and <samp>mdl3.nc</samp>.
+Ensemble members would be leaf groups with names like <code>/ecmwf/01</code>,
+<code>/ecmwf/02</code> etc. and <code>/cesm/01</code>, <code>/cesm/02</code>, etc.
+These commands average both ensembles: 
+</p><div class="example">
+<pre class="example">nces --nsm_grp mdl1.nc mdl2.nc mdl3.nc out.nc
+nces --nsm_grp --nsm_sfx='_min' --op_typ=min -n 3,1,1 mdl1.nc out.nc
+nces --nsm_grp -g cesm -v tas -d time,0,3 -n 3,1,1 mdl1.nc out.nc
+</pre></div>
+<p>The first command stores averages in the output groups <samp>/cesm</samp> and 
+<samp>/ecmwf</samp>, while the second stores minima in the output groups
+<samp>/cesm/cesm_min</samp> and <samp>/ecmwf/ecmwf_min</samp>:
+The third command demonstrates that sub-setting and hyperslabbing work
+as expected.
+Note that each input file may contain different numbers of members
+of each ensemble, as long as all distinct ensembles contain at least one
+member in the first file.
+</p>
+<a name="ncecat"></a> <!-- http://nco.sf.net/nco.html#ncecat --><hr>
+<a name="ncecat-netCDF-Ensemble-Concatenator"></a>
+<div class="header">
+<p>
+Next: <a href="#ncflint-netCDF-File-Interpolator" accesskey="n" rel="next">ncflint netCDF File Interpolator</a>, Previous: <a href="#nces-netCDF-Ensemble-Statistics" accesskey="p" rel="previous">nces netCDF Ensemble Statistics</a>, Up: <a href="#Operator-Reference-Manual" accesskey="u" rel="up">Operator Reference Manual</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="ncecat-netCDF-Ensemble-Concatenator-1"></a>
+<h3 class="section">4.5 <code>ncecat</code> netCDF Ensemble Concatenator</h3>
+<a name="index-concatenation-1"></a>
+<a name="index-ensemble-concatenation"></a>
+<a name="index-ncecat-1"></a>
+
+<p>SYNTAX
+</p><div class="example">
+<pre class="example">ncecat [-3] [-4] [-6] [-7] [-A] [-C] [-c]
+[--cnk_dmn nm,sz] [--cnk_map map] [--cnk_plc plc] [--cnk_scl sz]
+[-D <var>dbg</var>] [-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]] [-F]
+[-G <var>gpe_dsc</var>] [-g <var>grp</var>[,…]] [--gag] [-h] [--hdf] [--hdr_pad <var>nbr</var>]
+[-L <var>dfl_lvl</var>] [-l <var>path</var>] [-M] [--md5_digest] [--mrd] [-n <var>loop</var>] [--no_tmp_fl] 
+[-O] [-o <var>output-file</var>] [-p <var>path</var>] [-R] [-r] [--ram_all] 
+[-t <var>thr_nbr</var>] [-u <var>ulm_nm</var>] [--unn] [-v <var>var</var>[,…]] [-X ...] [-x] 
+[<var>input-files</var>] [<var>output-file</var>]
+</pre></div>
+
+<p>DESCRIPTION
+</p>
+<p><code>ncecat</code> aggregates an arbitrary number of input files into a 
+single output file using using one of two methods.
+<em>Record AGgregation</em> (<acronym>RAG</acronym>), the traditional method employed on
+netCDF3 files and still the default method, stores <var>input-files</var> as
+consecutive records in the <var>output-file</var>.
+<em>Group AGgregation</em> (<acronym>GAG</acronym>) stores <var>input-files</var> as top-level
+groups in the netCDF4 <var>output-file</var>.
+Record Aggregation (<acronym>RAG</acronym>) makes numerous assumptions about the structure
+of input files and Group Aggregation (<acronym>GAG</acronym>) makes none.
+Both methods are described in detail below.
+Since <code>ncecat</code> aggregates all the contents of the input files,
+it can easily produce large output files so it is often helpful to invoke
+subsetting simultaneously (see <a href="#Subsetting-Files">Subsetting Files</a>).
+</p>
+<a name="rag"></a> <!-- http://nco.sf.net/nco.html#rag --><a name="index-record-aggregation"></a>
+<a name="index-RAG"></a>
+<p><acronym>RAG</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).
+</p>
+<p>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, “record”.
+<a name="index-unlimited-dimension"></a>
+<a name="index-record-dimension-4"></a>
+<a name="index-_002du-ulm_005fnm"></a>
+<a name="index-_002d_002dulm_005fnm-ulm_005fnm"></a>
+<a name="index-_002d_002drcd_005fnm-ulm_005fnm"></a>
+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).
+</p>
+<p>Each extracted variable must be constant in size and rank across all
+<var>input-files</var>. 
+<a name="index-record-dimension-5"></a>
+<a name="index-hyperslab-3"></a>
+The only exception is that <code>ncecat</code> allows files to differ in
+the record dimension size if the requested record hyperslab
+(see <a href="#Hyperslabs">Hyperslabs</a>) resolves to the same size for all files. 
+<a name="index-CMIP-1"></a>
+This allows easier gluing/averaging of unequal length timeseries from 
+simulation ensembles (e.g., the <acronym>CMIP</acronym> rchive). 
+</p>
+<a name="index-fixed-dimension"></a>
+<a name="index-fix-record-dimension"></a>
+<p>Classic (i.e., all netCDF3 and <code>NETCDF4_CLASSIC</code>) output files
+can contain only one record dimension.
+<code>ncecat</code> makes room for the new glue record dimension by
+changing the pre-existing record dimension, if any, in the input files
+into a fixed dimension in the output file. 
+netCDF4 output files may contain any number of record dimensions, so
+<code>ncecat</code> need not and does not alter the record dimensions,
+if any, of the input files as it copies them to the output file. 
+</p>
+<a name="gag"></a> <!-- http://nco.sf.net/nco.html#gag --><a name="index-group-aggregation"></a>
+<a name="index-GAG"></a>
+<p><em>Group AGgregation</em> (<acronym>GAG</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 
+object (variable or dimension or group) in the input file.
+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.
+</p>
+<a name="index-_002d_002dgag"></a>
+<p><acronym>GAG</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>’,
+takes as argument a group path editing description <var>gpe_dsc</var> of
+where to place the results.
+Each input file needs a distinct output group name to avoid namespace
+conflicts in the <var>output-file</var>. 
+Hence <code>ncecat</code> automatically creates unique output group names
+based on either the input filenames or the <var>gpe_dsc</var> arguments.
+When the user provides <var>gpe_dsc</var> (i.e., with ‘<samp>-G</samp>’), then the
+output groups are formed by enumerating sequential two-digit numeric
+suffixes starting with zero, and appending them to the specified group
+path (see <a href="#Group-Path-Editing">Group Path Editing</a>).
+When <var>gpe_dsc</var> is not provided (i.e., user requests <acronym>GAG</acronym> with
+‘<samp>--gag</samp>’ instead of ‘<samp>-G</samp>’), then <code>ncecat</code> forms the
+output groups by stripping the input file name of any type-suffix
+(e.g., <code>.nc</code>), and all but the final component of the full
+filename. 
+</p><div class="example">
+<pre class="example">ncecat --gag 85.nc 86.nc 87.nc 8587.nc # Output groups 85, 86, 87
+ncecat -G 85_ a.nc b.nc c.nc 8589.nc # Output groups 85_00, 85_01, 85_02
+ncecat -G 85/ a.nc b.nc c.nc 8589.nc # Output groups 85/00, 85/01, 85/02
+</pre></div>
+
+<p>With both <acronym>RAG</acronym> and <acronym>GAG</acronym> the <var>output-file</var> size is
+the sum of the sizes of the extracted variables in the input files. 
+See <a href="#Statistics-vs_002e-Concatenation">Statistics vs. Concatenation</a>, for a description of the
+distinctions between the various statistics tools and concatenators. 
+<a name="index-multi_002dfile-operators-4"></a>
+<a name="index-standard-input-2"></a>
+<a name="index-stdin-3"></a>
+As a multi-file operator, <code>ncecat</code> 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 
+(see <a href="#Large-Numbers-of-Files">Large Numbers of Files</a>).
+</p>
+<a name="index-_002dM-1"></a>
+<a name="index-_002d_002dglb_005fmtd_005fspp"></a>
+<a name="index-metadata_002c-global"></a>
+<p>Suppress global metadata copying.
+By default <acronym>NCO</acronym>’s multi-file operators copy the global metadata
+from the first input file into <var>output-file</var>.  
+This helps to preserve the provenance of the output data.
+However, the use of metadata is burgeoning and is not uncommon to
+encounter files with excessive amounts of extraneous metadata.
+Extracting small bits of data from such files leads to output files
+which are much larger than necessary due to the automatically copied
+metadata.
+<code>ncecat</code> supports turning off the default copying of global
+metadata via the ‘<samp>-M</samp>’ switch (or its long option equivalents,
+‘<samp>--glb_mtd_spp</samp>’ and ‘<samp>--global_metadata_suppress</samp>’). 
+</p>
+<a name="index-climate-model-4"></a>
+<p>Consider five realizations, <samp>85a.nc</samp>, <samp>85b.nc</samp>, 
+… <samp>85e.nc</samp><!-- /@w --> of 1985 predictions from the same climate
+model. 
+Then <code>ncecat 85?.nc 85_ens.nc</code> glues together the individual
+realizations into the single file, <samp>85_ens.nc</samp>. 
+If an input variable was dimensioned [<code>lat</code>,<code>lon</code>], it will
+by default have dimensions [<code>record</code>,<code>lat</code>,<code>lon</code>] in
+the output file. 
+A restriction<!-- /@w --> of <code>ncecat</code> is that the hyperslabs of the
+processed variables must be the same from file to file.
+Normally this means all the input files are the same size, and contain 
+data on different realizations of the same variables.
+</p>
+<a name="index-ncpdq-3"></a>
+<a name="index-packing-3"></a>
+<a name="index-unpacking-2"></a>
+<a name="index-add_005foffset-2"></a>
+<a name="index-scale_005ffactor-1"></a>
+<p>Concatenating a variable packed with different scales across multiple
+datasets is beyond the capabilities of <code>ncecat</code> (and
+<code>ncrcat</code>, the other concatenator (<a href="#Concatenation">Concatenation</a>).
+<code>ncecat</code> does not unpack data, it simply <em>copies</em> the data
+from the <var>input-files</var>, and the metadata from the <em>first</em>
+<var>input-file</var>, to the <var>output-file</var>. 
+This means that data compressed with a packing convention must use
+the identical packing parameters (e.g., <code>scale_factor</code> and
+<code>add_offset</code>) for a given variable across <em>all</em> input files.
+Otherwise the concatenated dataset will not unpack correctly.
+The workaround for cases where the packing parameters differ across
+<var>input-files</var> requires three steps:
+First, unpack the data using <code>ncpdq</code>.
+Second, concatenate the unpacked data using <code>ncecat</code>, 
+Third, re-pack the result with <code>ncpdq</code>.
+</p>
+<a name="xmp_ncecat"></a> <!-- http://nco.sf.net/nco.html#xmp_ncecat --><p>EXAMPLES
+</p>
+<p>Consider a model experiment which generated five realizations of one
+year of data, say 1985.
+You can imagine that the experimenter slightly perturbs the
+initial conditions of the problem before generating each new solution.  
+Assume each file contains all twelve months (a seasonal cycle) of data
+and we want to produce a single file containing all the seasonal
+cycles. 
+Here the numeric filename suffix denotes the experiment number
+(<em>not</em> the month):
+</p><div class="example">
+<pre class="example">ncecat 85_01.nc 85_02.nc 85_03.nc 85_04.nc 85_05.nc 85.nc
+ncecat 85_0[1-5].nc 85.nc
+ncecat -n 5,2,1 85_01.nc 85.nc
+</pre></div>
+<p>These three commands produce identical answers.
+See <a href="#Specifying-Input-Files">Specifying Input Files</a>, for an explanation of the distinctions
+between these methods.
+The output file, <samp>85.nc</samp>, is five times the size as a single
+<var>input-file</var>. 
+It contains 60 months<!-- /@w --> of data.
+</p>
+<a name="ncecat_rnm"></a> <!-- http://nco.sf.net/nco.html#ncecat_rnm --><p>One often prefers that the (new) record dimension have a more
+descriptive, context-based name than simply “record”. 
+This is easily accomplished with the ‘<samp>-u <var>ulm_nm</var></samp>’ switch:
+</p><div class="example">
+<pre class="example">ncecat -u realization 85_0[1-5].nc 85.nc
+</pre></div>
+<p>Users are more likely to understand the data processing history when
+such descriptive coordinates are used. 
+</p>
+<a name="dmn_rcd_rm"></a> <!-- http://nco.sf.net/nco.html#dmn_rcd_rm --><a name="index-record-dimension-6"></a>
+<a name="index-fixed-dimension-1"></a>
+<a name="index-fix-record-dimension-1"></a>
+<a name="index-_002d_002dmk_005frec_005fdmn-dim"></a>
+<p>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.
+This may be useful, for example, when the user has another use for the
+record variable.
+The simplest method is to use ‘<samp>ncks --fix_rec_dmn</samp>’ but another
+possibility is to use <code>ncecat</code> followed by 
+<code>ncwa</code>: 
+<a name="index-degenerate-dimension-4"></a>
+</p><div class="example">
+<pre class="example">ncecat in.nc out.nc # Convert time to non-record dimension
+ncwa -a record in.nc out.nc # Remove new degenerate record dimension
+</pre></div>
+<p>The second step removes the degenerate record dimension.
+See <a href="#ncpdq-netCDF-Permute-Dimensions-Quickly">ncpdq netCDF Permute Dimensions Quickly</a> and
+<a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a> for other methods of
+of changing variable dimensionality, including the record dimension.
+</p>
+<a name="ncflint"></a> <!-- http://nco.sf.net/nco.html#ncflint --><hr>
+<a name="ncflint-netCDF-File-Interpolator"></a>
+<div class="header">
+<p>
+Next: <a href="#ncks-netCDF-Kitchen-Sink" accesskey="n" rel="next">ncks netCDF Kitchen Sink</a>, Previous: <a href="#ncecat-netCDF-Ensemble-Concatenator" accesskey="p" rel="previous">ncecat netCDF Ensemble Concatenator</a>, Up: <a href="#Operator-Reference-Manual" accesskey="u" rel="up">Operator Reference Manual</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="ncflint-netCDF-File-Interpolator-1"></a>
+<h3 class="section">4.6 <code>ncflint</code> netCDF File Interpolator</h3>
+<a name="index-interpolation"></a>
+<a name="index-adding-data-1"></a>
+<a name="index-multiplying-data-1"></a>
+<a name="index-addition-2"></a>
+<a name="index-ncflint-2"></a>
+
+<p>SYNTAX
+</p><div class="example">
+<pre class="example">ncflint [-3] [-4] [-6] [-7] [-A] [-C] [-c]
+[--cnk_dmn nm,sz] [--cnk_map map] [--cnk_plc plc] [--cnk_scl sz]
+[-D <var>dbg</var>] [-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]
+[-F] [--fix_rec_crd] [-G <var>gpe_dsc</var>] [-g <var>grp</var>[,…]] [-h] [--hdr_pad <var>nbr</var>]
+[-i <var>var</var>,<var>val3</var>] [-L <var>dfl_lvl</var>] [-l <var>path</var>] [--no_tmp_fl] 
+[-O] [-o <var>file_3</var>] [-p <var>path</var>] [-R] [-r] [--ram_all] 
+[-t <var>thr_nbr</var>] [--unn] [-v <var>var</var>[,…]] [-w <var>wgt1</var>[,<var>wgt2</var>]] [-X ...] [-x]
+<var>file_1</var> <var>file_2</var> [<var>file_3</var>]
+</pre></div>
+
+<p>DESCRIPTION
+</p>
+<p><code>ncflint</code> creates an output file that is a linear combination of 
+the input files.
+This linear combination is a weighted average, a normalized weighted
+average, or an interpolation of the input files.
+Coordinate variables are not acted upon in any case, they are simply
+copied from <var>file_1</var>.
+</p>
+<p>There are two conceptually distinct methods of using <code>ncflint</code>.
+The first method is to specify the weight each input file contributes to 
+the output file.
+In this method, the value <var>val3</var> of a variable in the output file
+<var>file_3</var> is determined from its values <var>val1</var> and <var>val2</var> in
+the two input files according to 
+<em><var>val3</var> = <var>wgt1</var>*<var>val1</var> + <var>wgt2</var>*<var>val2</var></em> 
+.
+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.
+<a name="index-_002dw-wgt1_005b_002cwgt2_005d"></a>
+<a name="index-_002d_002dweight-wgt1_005b_002cwgt2_005d"></a>
+<a name="index-_002d_002dwgt_005fvar-wgt1_005b_002cwgt2_005d"></a>
+If only <var>wgt1</var> is specified then <var>wgt2</var> is automatically
+computed as <em><var>wgt2</var> = 1 - <var>wgt1</var></em>.
+Note that weights larger than 1<!-- /@w --> are allowed. 
+Thus it is possible to specify <em><var>wgt1</var> = 2</em> and
+<em><var>wgt2</var> = -3</em>.
+One can use this functionality to multiply all the values in a given
+file by a constant.
+</p>
+<p>The second method of using <code>ncflint</code> is to specify the
+interpolation option with ‘<samp><span class="nolinebreak">-i</span></samp>’<!-- /@w --> (or with the ‘<samp>--ntp</samp>’ or 
+‘<samp>--interpolate</samp>’ long options). 
+This is the inverse of the first method in the following sense: 
+When the user specifies the weights directly, <code>ncflint</code> has no
+work to do besides multiplying the input values by their respective
+weights and adding together the results to produce the output values.  
+It makes sense to use this when the weights are known 
+<em>a priori<!-- /@w --></em>.
+</p>
+<a name="index-arrival-value"></a>
+<p>Another class of problems has the <em>arrival value</em> (i.e., <var>val3</var>)
+of a particular variable <var>var</var> known <em>a priori<!-- /@w --></em>. 
+In this case, the implied weights can always be inferred by examining
+the values of <var>var</var> in the input files. 
+This results in one equation in two unknowns, <var>wgt1</var> and <var>wgt2</var>:  
+<em><var>val3</var> = <var>wgt1</var>*<var>val1</var> + <var>wgt2</var>*<var>val2</var></em> 
+.
+Unique determination of the weights requires imposing the additional
+constraint of normalization on the weights:
+<em><var>wgt1</var> + <var>wgt2</var> = 1</em>.
+Thus, to use the interpolation option, the user specifies <var>var</var>
+and <var>val3</var> with the ‘<samp>-i</samp>’ option.
+<code>ncflint</code> then computes <var>wgt1</var> and <var>wgt2</var>, and uses these
+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.  
+<a name="index-degenerate-dimension-5"></a>
+Thus any dimensions associated with <var>var</var> must be <em>degenerate</em>,
+i.e., of size one.
+</p>
+<p>If neither ‘<samp>-i</samp>’ nor ‘<samp>-w</samp>’ is specified on the command line,
+<code>ncflint</code> defaults to weighting each input file equally in the
+output file.
+This is equivalent to specifying ‘<samp>-w 0.5</samp>’ or ‘<samp>-w 0.5,0.5</samp>’.
+Attempting to specify both ‘<samp>-i</samp>’ and ‘<samp>-w</samp>’ methods in the same
+command is an error. 
+</p>
+<p><code>ncflint</code> does not interpolate variables of type <code>NC_CHAR</code>
+and <code>NC_STRING</code>. 
+This behavior is hardcoded.
+</p>
+<p>By default <code>ncflint</code> interpolates or multiplies record
+coordinate variables (e.g., time is often stored as a record coordinate) 
+not other coordinate variables (e.g., latitude and longitude). 
+This is because <code>ncflint</code> is often used to time-interpolate
+between existing files, but is rarely used to spatially interpolate.
+Sometimes however, users wish to multiply entire files by a constant
+that does not multiply any coordinate variables.
+The ‘<samp>--fix_rec_crd</samp>’ switch was implemented for this purpose
+in <acronym>NCO</acronym> version 4.2.6 (March, 2013).
+It prevents <code>ncflint</code> from multiplying or interpolating any
+coordinate variables, including record coordinate variables. 
+</p>
+<a name="index-missing-values-2"></a>
+<a name="index-_005fFillValue-3"></a>
+<p>Depending on your intuition, <code>ncflint</code> may treat missing values
+unexpectedly.
+Consider a point where the value in one input file, say <var>val1</var>,
+equals the missing value <var>mss_val_1</var> and, at the same point,
+the corresponding value in the other input file <var>val2</var> is not
+misssing (i.e., does not equal <var>mss_val_2</var>).
+There are three plausible answers, and this creates ambiguity.
+</p>
+<p>Option one<!-- /@w --> is to set <em><var>val3</var> = <var>mss_val_1</var></em>.
+The rationale is that <code>ncflint</code> is, at heart, an interpolator
+and interpolation involving a missing value is intrinsically undefined.
+<code>ncflint</code> currently implements this behavior since it is the
+most conservative and least likely to lead to misinterpretation.
+</p>
+<p>Option two<!-- /@w --> is to output the weighted valid data point, i.e.,
+<em><var>val3</var> = <var>wgt2</var>*<var>val2</var></em> 
+.
+The rationale for this behavior is that interpolation is really a
+weighted average of known points, so <code>ncflint</code> should weight the
+valid point. 
+</p>
+<p>Option three<!-- /@w --> is to return the <em>unweighted</em> valid point, i.e.,
+<em><var>val3</var> = <var>val2</var></em>.
+This behavior would appeal to those who use <code>ncflint</code> to
+estimate data using the closest available data. 
+When a point is not bracketed by valid data on both sides, it is better
+to return the known datum than no datum at all.
+</p>
+<p>The current implementation uses the first approach, Option one<!-- /@w -->.
+If you have strong opinions on this matter, let us know, since we are
+willing to implement the other approaches as options if there is enough
+interest. 
+</p>
+<a name="xmp_ncflint"></a> <!-- http://nco.sf.net/nco.html#xmp_ncflint --><p>EXAMPLES
+</p>
+<p>Although it has other uses, the interpolation feature was designed 
+to interpolate <var>file_3</var> to a time between existing files.
+Consider input files <samp>85.nc</samp> and <samp>87.nc</samp> containing variables 
+describing the state of a physical system at times <em><code>time</code> =
+85</em> and <em><code>time</code> = 87</em>.
+Assume each file contains its timestamp in the scalar variable
+<code>time</code>.  
+Then, to linearly interpolate to a file <samp>86.nc</samp> which describes
+the state of the system at time at <code>time</code> = 86, we would use
+</p><div class="example">
+<pre class="example">ncflint -i time,86 85.nc 87.nc 86.nc
+</pre></div>
+
+<p>Say you have observational data covering January and April 1985 in two
+files named <samp>85_01.nc</samp> and <samp>85_04.nc</samp>, respectively.
+Then you can estimate the values for February and March by interpolating
+the existing data as follows.
+Combine <samp>85_01.nc</samp> and <samp>85_04.nc</samp> in a 2:1 ratio to make
+<samp>85_02.nc</samp>:  
+</p><div class="example">
+<pre class="example">ncflint -w 0.667 85_01.nc 85_04.nc 85_02.nc
+ncflint -w 0.667,0.333 85_01.nc 85_04.nc 85_02.nc
+</pre></div>
+
+<p>Multiply <samp>85.nc</samp> by 3<!-- /@w --> and by -2<!-- /@w --> and add them
+together to make <samp>tst.nc</samp>: 
+</p><div class="example">
+<pre class="example">ncflint -w 3,-2 85.nc 85.nc tst.nc
+</pre></div>
+<a name="index-null-operation"></a>
+<p>This is an example of a null operation, so <samp>tst.nc</samp> should be
+identical (within machine precision) to <samp>85.nc</samp>.
+</p>
+<a name="index-multiplication-2"></a>
+<a name="index-file-multiplication"></a>
+<a name="index-scaling-1"></a>
+<p>Multiply all the variables except the coordinate variables in the file
+<samp>emissions.nc</samp> by by 0.8<!-- /@w -->:
+</p><div class="example">
+<pre class="example">ncflint --fix_rec_crd -w 0.8,0.0 emissions.nc emissions.nc scaled_emissions.nc
+</pre></div>
+<p>The use of ‘<samp>--fix_rec_crd</samp>’ ensures, e.g., that the <code>time</code>
+coordinate, if any, is not scaled (i.e., multiplied).
+</p>
+<p>Add <samp>85.nc</samp> to <samp>86.nc</samp> to obtain <samp>85p86.nc</samp>,
+then subtract <samp>86.nc</samp> from <samp>85.nc</samp> to obtain <samp>85m86.nc</samp> 
+</p><div class="example">
+<pre class="example">ncflint -w 1,1 85.nc 86.nc 85p86.nc
+ncflint -w 1,-1 85.nc 86.nc 85m86.nc
+ncdiff 85.nc 86.nc 85m86.nc
+</pre></div>
+<p>Thus <code>ncflint</code> can be used to mimic some <code>ncbo</code>
+operations. 
+<a name="index-broadcasting-variables-3"></a>
+However this is not a good idea in practice because <code>ncflint</code>
+does not broadcast (see <a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a>) conforming
+variables during arithmetic. 
+Thus the final two commands would produce identical results except that    
+<code>ncflint</code> would fail if any variables needed to be broadcast.
+</p>
+<a name="index-units-5"></a>
+<p>Rescale the dimensional units of the surface pressure <code>prs_sfc</code>
+from Pascals to hectopascals (millibars)
+</p><div class="example">
+<pre class="example">ncflint -C -v prs_sfc -w 0.01,0.0 in.nc in.nc out.nc
+ncatted -a units,prs_sfc,o,c,millibar out.nc
+</pre></div>
+
+<a name="ncks"></a> <!-- http://nco.sf.net/nco.html#ncks --><hr>
+<a name="ncks-netCDF-Kitchen-Sink"></a>
+<div class="header">
+<p>
+Next: <a href="#ncpdq-netCDF-Permute-Dimensions-Quickly" accesskey="n" rel="next">ncpdq netCDF Permute Dimensions Quickly</a>, Previous: <a href="#ncflint-netCDF-File-Interpolator" accesskey="p" rel="previous">ncflint netCDF File Interpolator</a>, Up: <a href="#Operator-Reference-Manual" accesskey="u" rel="up">Operator Reference Manual</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="ncks-netCDF-Kitchen-Sink-1"></a>
+<h3 class="section">4.7 <code>ncks</code> netCDF Kitchen Sink</h3>
+<a name="index-kitchen-sink"></a>
+<a name="index-printing-files-contents"></a>
+<a name="index-printing-variables"></a>
+<a name="index-ncks-3"></a>
+
+<p>SYNTAX
+</p><div class="example">
+<pre class="example">ncks [-3] [-4] [-5] [-6] [-7] [-A] [-a] [-b <var>binary-file</var>] [-C] [-c] [--cdl]
+[--cnk_dmn nm,sz] [--cnk_map map] [--cnk_plc plc] [--cnk_scl sz]
+[-D <var>dbg</var>] [-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]] [-F] [--fix_rec_dmn <var>dim</var>] 
+[-G <var>gpe_dsc</var>] [-g <var>grp</var>[,…]] [-H] [-h] [--hdn] [--hdr_pad <var>nbr</var>]
+[-L <var>dfl_lvl</var>] [-l <var>path</var>] [-M] [-m] [--mk_rec_dmn <var>dim</var>] [--md5_digest]
+[--no_blank] [--no_tmp_fl] [-O] [-o <var>output-file</var>] [-P] [-p <var>path</var>] 
+[-Q] [-q] [-R] [-r] [--ram_all] [-s <var>format</var>] 
+[-u] [--unn] [-v <var>var</var>[,…]] [-X ...] [-x] [--xml]
+<var>input-file</var> [[<var>output-file</var>]]
+</pre></div>
+
+<p>DESCRIPTION
+</p>
+<a name="index-ncextr"></a>
+<p>The nickname “kitchen sink” is a catch-all because <code>ncks</code>
+combines most features of <code>ncdump</code> and <code>nccopy</code> with
+extra features to extract, hyperslab, multi-slab, sub-set, and translate  
+into one versatile utility. 
+<code>ncks</code> extracts (a subset of the) data from <var>input-file</var> and 
+and writes (or pastes) it in netCDF format to <var>output-file</var>, and 
+optionally writes it in flat binary format to <samp>binary-file</samp>, and
+optionally prints it to screen.
+</p>
+<p><code>ncks</code> prints netCDF input data in <acronym>ASCII</acronym>,
+<acronym>CDL</acronym>, or <acronym>NcML</acronym> text formats <code>stdout</code>, like (an
+extended version of) <code>ncdump</code>.
+By default <code>ncks</code> prints data in a tabular format intended to be
+easy to search for the data you want, one datum per screen line, with
+all dimension subscripts and coordinate values (if any) preceding the
+datum. 
+Option ‘<samp>-s</samp>’ (or long options ‘<samp>--sng_fmt</samp>’ and ‘<samp>--string</samp>’) 
+permits the user to format data using C-style format strings, while
+option ‘<samp>--cdl</samp>’ outputs <acronym>CDL</acronym> and option ‘<samp>--xml</samp>’
+outputs <acronym>NcML</acronym>. 
+<code>ncks</code> exposes many flexible controls over printed output,
+including <acronym>CDL</acronym> and <acronym>NcML</acronym>.
+</p>
+<p>Options ‘<samp>-5</samp>’, ‘<samp>-a</samp>’, ‘<samp>--cdl</samp>’, ‘<samp>-F</samp>’ , ‘<samp>-H</samp>’,
+‘<samp>--hdn</samp>’, ‘<samp>-M</samp>’, ‘<samp>-m</samp>’, ‘<samp>-P</samp>’, ‘<samp>-Q</samp>’, ‘<samp>-q</samp>’,
+‘<samp>-s</samp>’, ‘<samp>-u</samp>’, ‘<samp>--xml</samp>’ (and their long option counterparts)
+control the formatted appearance of the data.
+</p>
+<a name="index-global-attributes-6"></a>
+<a name="index-attributes_002c-global-6"></a>
+<p><code>ncks</code> extracts (and optionally creates a new netCDF file
+comprised of) only selected variables from the input file
+(similar to the old <code>ncextr</code> specification).
+Only variables and coordinates may be specifically included or
+excluded—all global attributes and any attribute associated with an
+extracted variable are copied to the screen and/or output netCDF file. 
+Options ‘<samp>-c</samp>’, ‘<samp>-C</samp>’, ‘<samp>-v</samp>’, and ‘<samp>-x</samp>’ (and their long 
+option synonyms) control which variables are extracted.
+</p>
+<p><code>ncks</code> extracts hyperslabs from the specified variables
+(<code>ncks</code> implements the original <code>nccut</code> specification). 
+Option ‘<samp>-d</samp>’ controls the hyperslab specification.
+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. 
+</p>
+<a name="index-appending-data-1"></a>
+<a name="index-merging-files-1"></a>
+<p><code>ncks</code> 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
+sizes of <var>input-file</var>. 
+The append features of <code>ncks</code> are intended to provide a
+rudimentary means of adding data from one netCDF file to another,
+conforming, netCDF file. 
+If naming conflicts exist between the two files, data in
+<var>output-file</var> is usually overwritten by the corresponding data from 
+<var>input-file</var>.  
+Thus, when appending, the user should backup <var>output-file</var> in case 
+valuable data are inadvertantly overwritten.
+</p>
+<p>If <var>output-file</var> exists, the user will be queried whether to
+<em>overwrite</em>, <em>append</em>, or <em>exit</em> the <code>ncks</code> call
+completely.  
+Choosing <em>overwrite</em> destroys the existing <var>output-file</var> and
+create an entirely new one from the output of the <code>ncks</code> call.  
+Append has differing effects depending on the uniqueness of the
+variables and attributes output by <code>ncks</code>: If a variable or
+attribute extracted from <var>input-file</var> does not have a name conflict
+with the members of <var>output-file</var> then it will be added to
+<var>output-file</var> without overwriting any of the existing contents of
+<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. 
+<a name="index-global-attributes-7"></a>
+<a name="index-attributes_002c-global-7"></a>
+When a name conflict occurs, a global attribute from <var>input-file</var>
+will overwrite the corresponding global attribute from
+<var>output-file</var>.  
+If the name conflict occurs for a non-record variable, then the
+dimensions and type of the variable (and of its coordinate dimensions,
+if any) must agree (conform) in both files. 
+Then the variable values (and any coordinate dimension values)
+from <var>input-file</var> will overwrite the corresponding variable values
+(and coordinate dimension values, if any) in <var>output-file</var> 
+<a name="DOCF58" href="#FOOT58"><sup>58</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 
+both files if a record dimension variable is to be appended. 
+If the record dimensions are of differing sizes, the record dimension of
+<var>output-file</var> will become the greater of the two record dimension
+sizes, the record variable from <var>input-file</var> will overwrite any
+counterpart in <var>output-file</var> and fill values will be written to any
+gaps left in the rest of the record variables (I think). 
+In all cases variable attributes in <var>output-file</var> are superseded by
+attributes of the same name from <var>input-file</var>, and left alone if
+there is no name conflict. 
+</p>
+<p>Some users may wish to avoid interactive <code>ncks</code> queries about
+whether to overwrite existing data.
+For example, batch scripts will fail if <code>ncks</code> does not receive 
+responses to its queries. 
+Options ‘<samp>-O</samp>’ and ‘<samp>-A</samp>’ are available to force overwriting
+existing files and variables, respectively. 
+</p>
+<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>.  
+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="index-_002d5"></a>
+</dd>
+<dt>‘<samp>-5</samp>’</dt>
+<dd><p>Print data to screen alphabetically by group, and alphabetically by
+variable within each group.
+This ordering here is used by default in <acronym>CDL</acronym>-mode printing,
+and may be selected for traditional mode printing with ‘<samp>-5</samp>’
+(The switch for invocation may change to something more descriptive in
+the future). 
+</p>
+<a name="index-alphabetization"></a>
+<a name="index-sort-alphabetically"></a>
+<a name="index-_002da"></a>
+<a name="index-_002d_002dabc"></a>
+<a name="index-_002d_002dalphabetize"></a>
+</dd>
+<dt>‘<samp>-a</samp>’</dt>
+<dd><p>Do not alphabetize extracted fields. 
+By default, the specified output variables are extracted, printed, and
+written to disk in alphabetical order.
+This tends to make long output lists easier to search for particular
+variables. 
+Specifying <code>-a</code> results in the variables being extracted, printed,
+and written to disk in the order in which they were saved in the input
+file.
+Thus <code>-a</code> retains the original ordering of the variables.
+Also ‘<samp>--abc</samp>’ and ‘<samp>--alphabetize</samp>’.
+</p>
+<a name="index-binary-format"></a>
+<a name="index-_002db-2"></a>
+<a name="index-_002d_002dfl_005fbnr"></a>
+<a name="index-_002d_002dbnr"></a>
+<a name="index-_002d_002dbinary"></a>
+</dd>
+<dt>‘<samp>-b <samp>file</samp></samp>’</dt>
+<dd><p>Activate native machine binary output writing to binary file
+<samp>file</samp>.
+Also ‘<samp>--fl_bnr</samp>’ and ‘<samp>--binary-file</samp>’.
+Writing packed variables in binary format is not supported.
+</p>
+<a name="dmn_fix_mk"></a> <!-- http://nco.sf.net/nco.html#dmn_fix_mk -->
+<a name="fix_rec_dmn"></a> <!-- http://nco.sf.net/nco.html#fix_rec_dmn --><a name="index-record-dimension-7"></a>
+<a name="index-fixed-dimension-2"></a>
+<a name="index-_002d_002dfix_005frec_005fdmn-dim"></a>
+<a name="index-_002d_002dno_005frec_005fdmn-dim"></a>
+</dd>
+<dt>‘<samp>--fix_rec_dmn</samp>’</dt>
+<dd><p>Change record dimension <var>dim</var> in the input file into a fixed
+dimension in the output file. 
+Also ‘<samp>--no_rec_dmn</samp>’.
+Before <acronym>NCO</acronym> version 4.2.5 (January, 2013), the syntax for 
+<code>--fix_rec_dmn</code> did not permit or require the specification of
+the dimension name <var>dim</var>. 
+This is because the feature only worked on netCDF3 files, which support
+only one record dimension, so specifying its name was not necessary.
+netCDF4 files allow an arbitrary number of record dimensions, so the
+user must specify which record dimension to fix.
+The decision was made that starting with <acronym>NCO</acronym> version 4.2.5
+(January, 2013), it is always required to specify the dimension name to
+fix regardless of the netCDF file type.
+This keeps the code simple, and is symmetric with the syntax for
+<code>--mk_rec_dmn</code>, described next.
+</p>
+<p>As of <acronym>NCO</acronym> version 4.4.0 (January, 2014), the argument
+<code>all</code> may be given to ‘<samp>--fix_rec_dmn</samp>’ to convert <em>all</em> 
+record dimensions to fixed dimensions in the output file. 
+Previously, ‘<samp>--fix_rec_dmn</samp>’ only allowed one option, the name of a
+single record dimension to be fixed. 
+Now it is simple to simultaneously fix all record dimensions.
+This is useful (and nearly mandatory) when flattening netCDF4 files that
+have multiple record dimensions per group into netCDF3 files (which are
+limited to at most one record dimension) (see <a href="#Group-Path-Editing">Group Path Editing</a>). 
+</p>
+<a name="hdn"></a> <!-- http://nco.sf.net/nco.html#hdn -->
+<a name="hidden"></a> <!-- http://nco.sf.net/nco.html#hidden --><a name="index-hidden-attributes"></a>
+<a name="index-special-attributes"></a>
+<a name="index-_002d_002dhdn"></a>
+<a name="index-_002d_002dhidden"></a>
+<a name="index-_005fFormat"></a>
+<a name="index-_005fDeflateLevel"></a>
+<a name="index-_005fShuffle"></a>
+<a name="index-_005fStorage"></a>
+<a name="index-_005fChunkSizes"></a>
+<a name="index-_005fEndianness"></a>
+<a name="index-_005fFletcher32"></a>
+<a name="index-_005fNOFILL"></a>
+<p>As of <acronym>NCO</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>’.
+Hidden attributes include: <code>_Format</code>, <code>_DeflateLevel</code>,
+<code>_Shuffle</code>, <code>_Storage</code>, <code>_ChunkSizes</code>,
+<code>_Endianness</code>, <code>_Fletcher32</code>, and <code>_NOFILL</code>. 
+Previously <code>ncks</code> ignored all these attributes in
+<acronym>CDL</acronym>/<acronym>XML</acronym> modes. 
+Now it prints these attributes as appropriate. 
+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
+detailed descriptions of the meanings of these attributes. 
+</p>
+<a name="cdl"></a> <!-- http://nco.sf.net/nco.html#cdl -->
+<a name="hdp"></a> <!-- http://nco.sf.net/nco.html#hdp -->
+<a name="hncgen"></a> <!-- http://nco.sf.net/nco.html#hncgen -->
+<a name="ncgen-hdf"></a> <!-- http://nco.sf.net/nco.html#ncgen-hdf --><a name="index-hdp"></a>
+<a name="index-ncgen"></a>
+<a name="index-ncgen_002dhdf"></a>
+<a name="index-hncgen"></a>
+<a name="index-ncdump-1"></a>
+<a name="index-_002d_002dcdl"></a>
+<a name="index-CDL"></a>
+<a name="index-HDF-2"></a>
+<a name="index-HDF4-1"></a>
+</dd>
+<dt>‘<samp>--cdl</samp>’</dt>
+<dd><p>As of <acronym>NCO</acronym> version 4.3.3 (July, 2013), <code>ncks</code> can
+print extracted data and metadata to screen (i.e., <code>stdout</code>) as
+valid <acronym>CDL</acronym> (network Common data form Description Language). 
+<acronym>CDL</acronym> is the human-readable “lingua franca” of netCDF ingested by
+<code>ncgen</code> and excreted by <code>ncdump</code>.
+Compare <code>ncks</code> “traditional” with <acronym>CDL</acronym> printing:
+</p><div class="example">
+<pre class="example">zender at roulee:~$ ncks -v one ~/nco/data/in.nc
+one: type NC_FLOAT, 0 dimensions, 1 attribute, chunked? no, compressed? no, packed? no
+one size (RAM) = 1*sizeof(NC_FLOAT) = 1*4 = 4 bytes
+one attribute 0: long_name, size = 3 NC_CHAR, value = one
+
+one = 1 
+
+zender at roulee:~$ ncks --cdl -v one ~/nco/data/in.nc
+netcdf in {
+
+  variables:
+    float one ;
+    one:long_name = "one" ;
+
+  data:
+    one = 1 ;
+
+} // group /
+</pre></div>
+<p><code>ncgen</code> converts <acronym>CDL</acronym>-mode output into a netCDF file:
+</p><div class="example">
+<pre class="example">ncks --cdl -v one ~/nco/data/in.nc > ~/in.cdl
+ncgen -k netCDF-4 -b -o ~/in.nc ~/in.cdl
+ncks -v one ~/in.nc
+</pre></div>
+<p>The <acronym>HDF</acronym> version of <code>ncgen</code>, often named
+<code>hncgen</code> or <code>ncgen-hdf</code>, converts netCDF3 <acronym>CDL</acronym>
+into an <acronym>HDF</acronym> file:  
+</p><div class="example">
+<pre class="example">/usr/hdf4/bin/ncgen -b -o ~/in.hdf ~/in.cdl # HDF ncgen (local builds)
+/usr/bin/hncgen     -b -o ~/in.hdf ~/in.cdl # Same as HDF ncgen (RPM packages?)
+/usr/bin/ncgen-hdf  -b -o ~/in.hdf ~/in.cdl # Same as HDF ncgen (Debian packages?)
+hdp dumpsds ~/in.hdf                        # ncdump-equivalent for HDF4 files
+</pre></div>
+<p>Note that <acronym>HDF4</acronym> does not support netCDF-style groups, so the
+above commands fail when the input file contains groups.
+Only netCDF4 and <acronym>HDF5</acronym> support groups.
+In our experience the <acronym>HDF</acronym> <code>ncgen</code> command, by whatever 
+name installed, is not robust and can fail on valid netCDF3
+<acronym>CDL</acronym>.  
+</p>
+<a name="dmn_rec_mk"></a> <!-- http://nco.sf.net/nco.html#dmn_rec_mk -->
+<a name="mk_rec_dmn"></a> <!-- http://nco.sf.net/nco.html#mk_rec_dmn --><a name="index-record-dimension-8"></a>
+<a name="index-fixed-dimension-3"></a>
+<a name="index-fix-record-dimension-2"></a>
+<a name="index-_002d_002dmk_005frec_005fdmn-dim-1"></a>
+</dd>
+<dt>‘<samp>--mk_rec_dmn <var>dim</var></samp>’</dt>
+<dd><p>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
+record dimension, and works fine in most cases.
+See <a href="#ncecat-netCDF-Ensemble-Concatenator">ncecat netCDF Ensemble Concatenator</a> and 
+<a href="#ncpdq-netCDF-Permute-Dimensions-Quickly">ncpdq netCDF Permute Dimensions Quickly</a> for other methods of
+changing variable dimensionality, including the record dimension. 
+</p>
+<a name="prn"></a> <!-- http://nco.sf.net/nco.html#prn --><a name="index-_002dH-1"></a>
+<a name="index-_002d_002ddata"></a>
+<a name="index-_002d_002dhieronymus"></a>
+</dd>
+<dt>‘<samp>-H</samp>’</dt>
+<dd><p>Turn-on printing to screen or turn-off copying data (not metadata).
+Also activated using ‘<samp>--print</samp>’ or ‘<samp>--prn</samp>’.
+By default <code>ncks</code> prints all metadata and data to screen if
+no netCDF output file is specified.
+Use ‘<samp>-H</samp>’ to print data to screen if a netCDF output is specified,
+or to restrict printing to data (no metadata) when no netCDF output is 
+specified.
+Also use ‘<samp>-H</samp>’ to turn-off copying data (not metadata) to an output
+file. 
+Unless otherwise specified (with <code>-s</code>), each element of the data
+hyperslab prints on a separate line containing the names, indices,
+and, values, if any, of all of the variables dimensions.
+The dimension and variable indices refer to the location of the
+corresponding data element with respect to the variable as stored on
+disk (i.e., not the hyperslab).
+</p><div class="example">
+<pre class="example">% ncks -C -v three_dmn_var in.nc
+lat[0]=-90 lev[0]=100 lon[0]=0 three_dmn_var[0]=0 
+lat[0]=-90 lev[0]=100 lon[1]=90 three_dmn_var[1]=1 
+lat[0]=-90 lev[0]=100 lon[2]=180 three_dmn_var[2]=2 
+...
+lat[1]=90 lev[2]=1000 lon[1]=90 three_dmn_var[21]=21 
+lat[1]=90 lev[2]=1000 lon[2]=180 three_dmn_var[22]=22 
+lat[1]=90 lev[2]=1000 lon[3]=270 three_dmn_var[23]=23 
+</pre></div>
+<p>Printing the same variable with the ‘<samp>-F</samp>’ option shows the same
+variable indexed with Fortran conventions
+</p><div class="example">
+<pre class="example">% ncks -F -C -v three_dmn_var in.nc
+lon(1)=0 lev(1)=100 lat(1)=-90 three_dmn_var(1)=0 
+lon(2)=90 lev(1)=100 lat(1)=-90 three_dmn_var(2)=1 
+lon(3)=180 lev(1)=100 lat(1)=-90 three_dmn_var(3)=2 
+...
+</pre></div>
+<p>Printing a hyperslab does not affect the variable or dimension indices
+since these indices are relative to the full variable (as stored in the
+input file), and the input file has not changed.
+However, if the hyperslab is saved to an output file and those values
+are printed, the indices will change:
+</p><div class="example">
+<pre class="example">% ncks -H -d lat,90.0 -d lev,1000.0 -v three_dmn_var in.nc out.nc
+...
+lat[1]=90 lev[2]=1000 lon[0]=0 three_dmn_var[20]=20 
+lat[1]=90 lev[2]=1000 lon[1]=90 three_dmn_var[21]=21 
+lat[1]=90 lev[2]=1000 lon[2]=180 three_dmn_var[22]=22 
+lat[1]=90 lev[2]=1000 lon[3]=270 three_dmn_var[23]=23 
+% ncks -C -v three_dmn_var out.nc
+lat[0]=90 lev[0]=1000 lon[0]=0 three_dmn_var[0]=20 
+lat[0]=90 lev[0]=1000 lon[1]=90 three_dmn_var[1]=21 
+lat[0]=90 lev[0]=1000 lon[2]=180 three_dmn_var[2]=22 
+lat[0]=90 lev[0]=1000 lon[3]=270 three_dmn_var[3]=23 
+</pre></div>
+
+<a name="index-_002dM-2"></a>
+<a name="index-_002d_002dMtd"></a>
+<a name="index-_002d_002dMetadata"></a>
+<a name="index-metadata_002c-global-1"></a>
+</dd>
+<dt>‘<samp>-M</samp>’</dt>
+<dd><p>Turn-on printing to screen or turn-off copying global and group metadata.
+This includes file summary information and global and group attributes.
+Also ‘<samp>--Mtd</samp>’ and ‘<samp>--Metadata</samp>’.
+By default <code>ncks</code> prints global metadata to screen if no netCDF
+output file and no variable extraction list is specified (with ‘<samp>-v</samp>’).  
+Use ‘<samp>-M</samp>’ to print global metadata to screen if a netCDF output is 
+specified, or if a variable extraction list is specified (with ‘<samp>-v</samp>’). 
+Use ‘<samp>-M</samp>’ to turn-off copying of global and group metadata when
+copying, subsetting, or appending to an output file.
+</p>
+<a name="prn_tbl"></a> <!-- http://nco.sf.net/nco.html#prn_tbl --><p>The various combinations of printing switches can be confusing.
+In an attempt to anticipate what most users want to do, <code>ncks</code>
+uses context-sensitive defaults for printing.
+Our goal is to minimize the use of switches required to accomplish the
+common operations.
+We assume that users creating a new file or overwriting (e.g., with
+‘<samp>-O</samp>’) an existing file usually wish to copy all global and
+variable-specific attributes to the new file.
+In contrast, we assume that users appending (e.g., with ‘<samp>-A</samp>’ an
+explicit variable list from one file to another usually wish to copy
+only the variable-specific attributes to the output file.
+The switches ‘<samp>-H</samp>’, ‘<samp>-M</samp>’, and ‘<samp>-m</samp>’ switches are
+implemented as toggles which reverse the default behavior.
+The most confusing aspect of this is that ‘<samp>-M</samp>’ inhibits copying
+global metadata in overwrite mode and causes copying of global
+metadata in append mode.
+</p><div class="example">
+<pre class="example">ncks                 in.nc        # Print  VAs and GAs
+ncks          -v one in.nc        # Print  VAs not GAs
+ncks    -M    -v one in.nc        # Print  GAs only
+ncks       -m -v one in.nc        # Print  VAs only
+ncks    -M -m -v one in.nc        # Print  VAs and GAs
+ncks -O              in.nc out.nc # Copy   VAs and GAs
+ncks -O       -v one in.nc out.nc # Copy   VAs and GAs
+ncks -O -M    -v one in.nc out.nc # Copy   VAs not GAs
+ncks -O    -m -v one in.nc out.nc # Copy   GAs not VAs
+ncks -O -M -m -v one in.nc out.nc # Copy   only data (no atts)
+ncks -A              in.nc out.nc # Append VAs and GAs
+ncks -A       -v one in.nc out.nc # Append VAs not GAs
+ncks -A -M    -v one in.nc out.nc # Append VAs and GAs
+ncks -A    -m -v one in.nc out.nc # Append only data (no atts)
+ncks -A -M -m -v one in.nc out.nc # Append GAs not VAs
+</pre></div>
+<p>where <code>VAs</code> and <code>GAs</code> denote variable and group/global
+attributes, respectively. 
+</p>
+<a name="index-ncdump-2"></a>
+<a name="index-_002dm"></a>
+<a name="index-_002d_002dmtd"></a>
+<a name="index-_002d_002dmetadata"></a>
+<a name="index-metadata"></a>
+</dd>
+<dt>‘<samp>-m</samp>’</dt>
+<dd><p>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.
+<a name="index-chunking-2"></a>
+<a name="index-compression-1"></a>
+<a name="index-deflation-2"></a>
+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>’.
+The <code>ncks</code> default behavior is to print variable metadata to
+screen if no netCDF output file is specified.
+Use ‘<samp>-m</samp>’ to print variable metadata to screen if a netCDF output is  
+specified. 
+Also use ‘<samp>-m</samp>’ to turn-off copying of variable metadata to an output
+file.
+</p>
+<a name="index-_002d_002dno_005fblank"></a>
+<a name="index-_002d_002dnoblank"></a>
+<a name="index-_002d_002dno_002dblank"></a>
+<a name="index-blank"></a>
+<a name="index-missing-values-3"></a>
+</dd>
+<dt>‘<samp>--no_blank</samp>’</dt>
+<dd><p>Print numeric representation of missing values.
+As of <acronym>NCO</acronym>
+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.
+To enable the old behavior of printing the numeric representation of
+missing values (e.g., <code>1.0e36</code>), use the ‘<samp>--no_blank</samp>’ switch.
+Also activated using ‘<samp>--noblank</samp>’ or ‘<samp>--no-blank</samp>’.
+</p>
+<a name="index-_002dP"></a>
+<a name="index-_002d_002dprint"></a>
+<a name="index-_002d_002dprn"></a>
+</dd>
+<dt>‘<samp>-P</samp>’</dt>
+<dd><p>Print data, metadata, and units to screen.
+The ‘<samp>-P</samp>’ switch is a convenience abbreviation for 
+‘<samp>-C -H -M -m -u</samp>’.
+Also activated using ‘<samp>--print</samp>’ or ‘<samp>--prn</samp>’.
+This set of switches is useful for exploring file contents.
+</p>
+<a name="index-_002dQ"></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 
+different dimensions. 
+</p>
+<a name="index-_002dq"></a>
+<a name="index-_002d_002dquiet"></a>
+<a name="index-quiet"></a>
+</dd>
+<dt>‘<samp>-q</samp>’</dt>
+<dd><p>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>’.
+</p>
+<a name="index-_002ds"></a>
+<a name="index-_002d_002dstring"></a>
+<a name="index-_002d_002dsng_005ffmt"></a>
+<a name="index-printf_0028_0029-1"></a>
+<a name="index-C-language-7"></a>
+</dd>
+<dt>‘<samp>-s <var>format</var></samp>’</dt>
+<dd><p>String format for text output. 
+Accepts C language<!-- /@w --> escape sequences and <code>printf()</code> formats. 
+Also ‘<samp>--string</samp>’  and ‘<samp>--sng_fmt</samp>’. 
+</p>
+<a name="index-_002du"></a>
+<a name="index-_002d_002dunits"></a>
+</dd>
+<dt>‘<samp>-u</samp>’</dt>
+<dd><p>Toggle the printing of a variable’s <code>units</code> attribute, if any, 
+with its values.
+Also ‘<samp>--units</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>
+<a name="index-ncdump-3"></a>
+<a name="index-XML"></a>
+<a name="index-NcML"></a>
+</dd>
+<dt>‘<samp>--xml, --ncml</samp>’</dt>
+<dd><p>As of <acronym>NCO</acronym> version 4.3.3 (July, 2013), <code>ncks</code> can
+print extracted metadata to screen (i.e., <code>stdout</code>) as
+<acronym>XML</acronym> in <acronym>NcML</acronym>, the netCDF Markup Language.  
+<code>ncks</code> supports for <acronym>XML</acronym> more completely than 
+of ‘<samp>ncdump -x</samp>’.
+With <code>ncks</code> one can translate entire netCDF3 and netCDF4 files
+into <acronym>NcML</acronym>, including metadata and data, using all 
+<acronym>NCO</acronym>’s subsetting and hyperslabbing capabilities.
+Compare <code>ncks</code> “traditional” with <acronym>XML</acronym> printing:
+</p><div class="example">
+<pre class="verbatim">zender@@roulee:~$ ncks -v one ~/nco/data/in.nc
+one: type NC_FLOAT, 0 dimensions, 1 attribute, chunked? no, compressed? no, packed? no
+one size (RAM) = 1*sizeof(NC_FLOAT) = 1*4 = 4 bytes
+one attribute 0: long_name, size = 3 NC_CHAR, value = one
+
+one = 1 
+
+zender at roulee:~$ ncks --xml -v one ~/nco/data/in.nc
+<?xml version="1.0" encoding="UTF-8"?>
+<netcdf xmlns="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2" location="/home/zender/nco/data/in.nc">
+  <variable name="one" type="float" shape="">
+    <attribute name="long_name" separator="*" value="one" />
+    <values>1.</values>
+  </variable>
+</netcdf>
+</pre></div>
+<p><acronym>XML</acronym>-mode prints variable metadata and, as of 
+<acronym>NCO</acronym> version 4.3.7 (October, 2013), variable data and, as of
+<acronym>NCO</acronym> version 4.4.0 (January, 2014), hidden attributes.
+That <acronym>ncks</acronym> produces correct <acronym>NcML</acronym> translations of
+<acronym>CDM</acronym> files for all supported datatypes is verified by
+comparison to output from Unidata’s <code>toolsUI</code> Java program.
+Please let us know how to improve <acronym>XML</acronym>/<acronym>NcML</acronym>
+features. 
+</p>
+<a name="index-_002d_002dxml_005fno_005flocation"></a>
+<a name="index-_002d_002dxml_005fspr_005fchr"></a>
+<a name="index-_002d_002dxml_005fspr_005fnmr"></a>
+<a name="index-separator"></a>
+<p><code>ncks</code> provides additional options to configure <acronym>NcML</acronym>
+output: ‘<samp>--xml_no_location</samp>’, ‘<samp>--xml_spr_chr</samp>’, and
+‘<samp>--xml_spr_nmr</samp>’. 
+Every <acronym>NcML</acronym> configuration option automatically triggers
+<acronym>NcML</acronym> printing, so that specifying ‘<samp>--xml</samp>’ in addition
+to a configuration option is redundant and unnecessary.
+The ‘<samp>--xml_no_location</samp>’ switch prevents output of the
+<acronym>NcML</acronym> <code>location</code> element.
+By default the location element is printed with a value equal to the
+location of the input dataset, e.g.,
+<code>location="/home/zender/in.nc"</code>.
+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 " ":
+</p><div class="example">
+<pre class="verbatim">zender@@roulee:~$ ncks --xml -d time,0,3 -v two_dmn_rec_var_sng in.nc
+...
+   <values separator="*">abc*bcd*cde*def</values>
+ ...
+ zender@@roulee:~$ ncks --xml_spr_chr=', ' -v two_dmn_rec_var_sng in.nc
+...
+<values separator=", ">abc, bcd, cde, def, efg, fgh, ghi, hij, jkl, klm</values>
+...
+zender@@roulee:~$ ncks --xml -v one_dmn_rec_var in.nc
+...
+<values>1 2 3 4 5 6 7 8 9 10</values>
+...
+zender@@roulee:~$ ncks --xml_spr_nmr=', ' -v one_dmn_rec_var in.nc
+...
+<values separator=", ">1, 2, 3, 4, 5, 6, 7, 8, 9, 10</values>
+...
+</pre></div>
+<p>Separator elements for strings are a thorny issue.
+One must be sure that the separator element is not mistaken as a portion
+of the string. 
+<acronym>NCO</acronym> attempts to produce valid <acronym>NcML</acronym> and supplies the
+‘<samp>--xml_spr_chr</samp>’ option to work around any difficulties.
+<acronym>NCO</acronym> performs precautionary checks with
+<code>strstr(<var>val</var>,<var>spr</var>)</code> to identify presence of the separator
+string (<var>spr</var>) in data (<var>val</var>) and, when it detects a match,
+automatically switches to a backup separator string (<code>*|*</code>). 
+However limitations of <code>strstr()</code> may lead to false negatives 
+when the separator string occurs in data beyond the first string in
+multi-dimensional <code>NC_CHAR</code> arrays. 
+Hence, results may be ambiguous to NcML parsers. 
+If problems arise, use ‘<samp>--xml_spr_chr</samp>’ to specify a multi-character
+separator that does not appear in the string array and that does not
+include an NcML formatting characters (e.g., commas, angles, quotes).
+</p></dd>
+</dl>
+
+<a name="ncattget"></a> <!-- http://nco.sf.net/nco.html#ncattget -->
+<a name="nclist"></a> <!-- http://nco.sf.net/nco.html#nclist -->
+<a name="ncdmnsz"></a> <!-- http://nco.sf.net/nco.html#ncdmnsz -->
+<a name="ncrecsz"></a> <!-- http://nco.sf.net/nco.html#ncrecsz -->
+<a name="ncmax"></a> <!-- http://nco.sf.net/nco.html#ncmax -->
+<a name="ncmdn"></a> <!-- http://nco.sf.net/nco.html#ncmdn -->
+<a name="ncavg"></a> <!-- http://nco.sf.net/nco.html#ncavg -->
+<a name="ncrng"></a> <!-- http://nco.sf.net/nco.html#ncrng -->
+<a name="ncunits"></a> <!-- http://nco.sf.net/nco.html#ncunits -->
+<a name="alias"></a> <!-- http://nco.sf.net/nco.html#alias -->
+<a name="filters"></a> <!-- http://nco.sf.net/nco.html#filters -->
+<a name="filter"></a> <!-- http://nco.sf.net/nco.html#filter -->
+<a name="flt"></a> <!-- http://nco.sf.net/nco.html#flt --><table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">• <a href="#Filters-for-ncks" accesskey="1">Filters for <code>ncks</code></a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<hr>
+<a name="Filters-for-ncks"></a>
+<div class="header">
+<p>
+Previous: <a href="#ncks-netCDF-Kitchen-Sink" accesskey="p" rel="previous">ncks netCDF Kitchen Sink</a>, Up: <a href="#ncks-netCDF-Kitchen-Sink" accesskey="u" rel="up">ncks netCDF Kitchen Sink</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Filters-for-ncks-1"></a>
+<h4 class="subsection">4.7.1 Filters for <code>ncks</code></h4>
+<a name="index-UNIX-5"></a>
+<a name="index-ncattget-1"></a>
+<a name="index-ncavg"></a>
+<a name="index-ncdmnsz"></a>
+<a name="index-nclist"></a>
+<a name="index-ncmax"></a>
+<a name="index-ncmdn"></a>
+<a name="index-ncmin"></a>
+<a name="index-ncrecsz"></a>
+<a name="index-ncrng"></a>
+<a name="index-ncunits"></a>
+<a name="index-_002ebashrc"></a>
+<a name="index-filters"></a>
+<a name="index-alias-1"></a>
+<a name="index-shell-5"></a>
+<a name="index-Bash-shell-1"></a>
+<a name="index-Csh-shell"></a>
+<a name="index-Sh-shell"></a>
+<a name="index-bash-1"></a>
+<p>We encourage the use of standard <acronym>UNIX</acronym> pipes and filters to
+narrow the verbose output of <code>ncks</code> into more precise targets.
+For example, to obtain an uncluttered listing of the variables in a file
+try 
+</p><div class="example">
+<pre class="example">ncks -m in.nc | grep -E ': type' | cut -f 1 -d ' ' | sed 's/://' | sort
+</pre></div>
+<p>A Bash user could alias the previous filter to the shell command
+<code>nclist</code> as shown below.
+More complex examples could involve command line arguments.
+For example, a user may frequently be interested in obtaining the value
+of an attribute, e.g., for textual file examination or for passing to
+another shell command.
+Say the attribute is <code>purpose</code>, the variable is <code>z</code>, and the
+file is <code>in.nc</code>.
+In this example, <code>ncks -m -v z</code> is too verbose so a robust
+<code>grep</code> and <code>cut</code> filter is desirable, such as
+</p><div class="example">
+<pre class="example">ncks -M -m in.nc | grep -E -i "^z attribute [0-9]+: purpose" | cut -f 11- -d ' ' | sort
+</pre></div>
+<p>The filters are clearly too complex to remember on-the-fly so the entire 
+procedure could be implemented as a shell command or function called,
+say, <code>ncattget</code>
+</p><div class="example">
+<pre class="example">function ncattget { ncks -M -m ${3} | grep -E -i "^${2} attribute [0-9]+: ${1}" | cut -f 11- -d ' ' | sort ; }
+</pre></div>
+<p>The shell <code>ncattget</code> is invoked with three arugments that are,
+in order, the names of the attribute, variable, and file to examine.
+Global attributes are indicated by using a variable name of <code>global</code>.
+This definition yields the following results
+</p><div class="example">
+<pre class="example">% ncattget purpose z in.nc
+Height stored with a monotonically increasing coordinate
+% ncattget Purpose Z in.nc
+Height stored with a monotonically increasing coordinate
+% ncattget history z in.nc
+% ncattget history global in.nc
+History global attribute.
+</pre></div>
+<p>Note that case sensitivity has been turned off for the variable and
+attribute names (and could be turned on by removing the ‘<samp>-i</samp>’ switch
+to <code>grep</code>).
+Furthermore, extended regular expressions may be used for both the
+variable and attribute names.
+The next two commands illustrate this by searching for the values
+of attribute <code>purpose</code> in all variables, and then for all
+attributes of the variable <code>z</code>:
+</p><div class="example">
+<pre class="example">% ncattget purpose .+ in.nc
+1-D latitude coordinate referred to by geodesic grid variables
+1-D longitude coordinate referred to by geodesic grid variables
+...
+% ncattget .+ Z in.nc
+Height
+Height stored with a monotonically increasing coordinate
+meter
+</pre></div>
+
+<p>Extended filters are best stored as shell commands if they are
+used frequently.
+Shell commands may be re-used when they are defined in shell
+configuration files.
+These files are usually named <samp>.bashrc</samp>, <samp>.cshrc</samp>, and
+<samp>.profile</samp> for the Bash, Csh, and Sh shells, respectively.
+</p><div class="example">
+<pre class="verbatim"># NB: Untested on Csh, Ksh, Sh, Zsh! Send us feedback!
+# Bash shell (/bin/bash) users place these in .bashrc
+# ncattget $att_nm $var_nm $fl_nm : What attributes does variable have?
+function ncattget { ncks -M -m ${3} | grep -E -i "^${2} attribute [0-9]+: ${1}" | cut -f 11- -d ' ' | sort ; }
+# ncunits $att_val $fl_nm : Which variables have given units?
+function ncunits { ncks -M -m ${2} | grep -E -i " attribute [0-9]+: units.+ ${1}" | cut -f 1 -d ' ' | sort ; }
+# ncavg $var_nm $fl_nm : What is mean of variable?
+function ncavg { ncwa -y avg -O -C -v ${1} ${2} ~/foo.nc ; ncks -H -C -v ${1} ~/foo.nc | cut -f 3- -d ' ' ; }
+# ncavg $var_nm $fl_nm : What is mean of variable?
+function ncavg { ncap2 -O -C -v -s "foo=${1}.avg();print(foo)" ${2} ~/foo.nc | cut -f 3- -d ' ' ; }
+# ncdmnsz $dmn_nm $fl_nm : What is dimension size?
+function ncdmnsz { ncks -m -M ${2} | grep -E -i ": ${1}, size =" | cut -f 7 -d ' ' | uniq ; }
+# nclist $fl_nm : What variables are in file?
+function nclist { ncks -m ${1} | grep -E ': type' | cut -f 1 -d ' ' | sed 's/://' | sort ; }
+# ncmax $var_nm $fl_nm : What is maximum of variable?
+function ncmax { ncwa -y max -O -C -v ${1} ${2} ~/foo.nc ; ncks -H -C -v ${1} ~/foo.nc | cut -f 3- -d ' ' ; }
+# ncmax $var_nm $fl_nm : What is maximum of variable?
+function ncmax { ncap2 -O -C -v -s "foo=${1}.max();print(foo)" ${2} ~/foo.nc | cut -f 3- -d ' ' ; }
+# ncmdn $var_nm $fl_nm : What is median of variable?
+function ncmdn { ncap2 -O -C -v -s "foo=gsl_stats_median_from_sorted_data(${1}.sort());print(foo)" ${2} ~/foo.nc | cut -f 3- -d ' ' ; }
+# ncrng $var_nm $fl_nm : What is range of variable?
+function ncrng { ncap2 -O -C -v -s "foo_min=${1}.min();foo_max=${1}.max();print(foo_min,\"%f\");print(\" to \");print(foo_max,\"%f\")" ${2} ~/foo.nc ; }
+# ncmode $var_nm $fl_nm : What is mode of variable?
+function ncmode { ncap2 -O -C -v -s "foo=gsl_stats_median_from_sorted_data(${1}.sort());print(foo)" ${2} ~/foo.nc | cut -f 3- -d ' ' ; }
+# ncrecsz $fl_nm : What is record dimension size?
+function ncrecsz { ncks -M ${1} | grep -E -i "^Record dimension:" | cut -f 8- -d ' ' ; }
+# Csh shell (/bin/csh) users place these in .cshrc
+ncattget() { ncks -M -m ${3} | grep -E -i "^${2} attribute [0-9]+: ${1}" | cut -f 11- -d ' ' | sort ; }
+ncdmnsz() { ncks -m -M ${2} | grep -E -i ": ${1}, size =" | cut -f 7 -d ' ' | uniq ; }
+nclist() { ncks -m ${1} | grep -E ': type' | cut -f 1 -d ' ' | sed 's/://' | sort ; }
+ncrecsz() { ncks -M ${1} | grep -E -i "^Record dimension:" | cut -f 8- -d ' ' ; }
+# Sh shell (/bin/sh) users place these in .profile
+ncattget() { ncks -M -m ${3} | grep -E -i "^${2} attribute [0-9]+: ${1}" | cut -f 11- -d ' ' | sort ; }
+ncdmnsz() { ncks -m -M ${2} | grep -E -i ": ${1}, size =" | cut -f 7 -d ' ' | uniq ; }
+nclist() { ncks -m ${1} | grep -E ': type' | cut -f 1 -d ' ' | sed 's/://' | sort ; }
+ncrecsz() { ncks -M ${1} | grep -E -i "^Record dimension:" | cut -f 8- -d ' ' ; }
+</pre></div>
+
+<a name="xmp_ncks"></a> <!-- http://nco.sf.net/nco.html#xmp_ncks --><p>EXAMPLES
+</p>
+<p>View all data in netCDF <samp>in.nc</samp>, printed with Fortran indexing
+conventions: 
+</p><div class="example">
+<pre class="example">ncks -F in.nc
+</pre></div>
+
+<p>Copy the netCDF file <samp>in.nc</samp> to file <samp>out.nc</samp>.
+</p><div class="example">
+<pre class="example">ncks in.nc out.nc
+</pre></div>
+<p>Now the file <samp>out.nc</samp> contains all the data from <samp>in.nc</samp>.
+There are, however, two differences between <samp>in.nc</samp> and
+<samp>out.nc</samp>.
+<a name="index-history-5"></a>
+First, the <code>history</code> global attribute (see <a href="#History-Attribute">History Attribute</a>)
+will contain the command used to create <samp>out.nc</samp>.
+<a name="index-alphabetize-output"></a>
+<a name="index-sort-alphabetically-1"></a>
+<a name="index-_002da-1"></a>
+Second, the variables in <samp>out.nc</samp> will be defined in alphabetical
+order.
+Of course the internal storage of variable in a netCDF file should be
+transparent to the user, but there are cases when alphabetizing a file 
+is useful (see description of <code>-a</code> switch).
+</p>
+<a name="xmp_att_glb_cpy"></a> <!-- http://nco.sf.net/nco.html#xmp_att_glb_cpy --><a name="index-global-attributes-8"></a>
+<a name="index-attributes_002c-global-8"></a>
+<a name="index-subsetting-3"></a>
+<a name="index-exclusion-1"></a>
+<a name="index-extraction-1"></a>
+<a name="index-_002dv-var-1"></a>
+<a name="index-_002d_002dvariable-var-1"></a>
+<a name="index-_002dx-1"></a>
+<a name="index-_002d_002dexclude-1"></a>
+<a name="index-_002d_002dxcl-1"></a>
+<p>Copy all global attributes (and no variables) from <samp>in.nc</samp> to
+<samp>out.nc</samp>: 
+</p><div class="example">
+<pre class="example">ncks -A -x ~/nco/data/in.nc ~/out.nc
+</pre></div>
+<p>The ‘<samp>-x</samp>’ switch tells <acronym>NCO</acronym> to use the complement of the extraction
+list (see <a href="#Subsetting-Files">Subsetting Files</a>). 
+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.
+<a name="index-_002dA-2"></a>
+<a name="index-_002d_002dapn-2"></a>
+<a name="index-_002d_002dappend-2"></a>
+<a name="index-appending-to-files-2"></a>
+Without any variables to extract, the append (‘<samp>-A</samp>’) command
+(see <a href="#Appending-Variables">Appending Variables</a>) has only to extract and copy
+(i.e., append) global attributes to the output file.
+</p>
+<a name="xmp_att_glb_cpy"></a> <!-- http://nco.sf.net/nco.html#xmp_att_var_cpy --><p>Copy/append metadata (not data) from variables in one file to
+variables in a second file.
+When copying/subsetting/appending files (as opposed to printing them),
+the copying of data, variable metadata, and global/group metadata are
+now turned OFF by ‘<samp>-H</samp>’, ‘<samp>-m</samp>’, and ‘<samp>-M</samp>’, respectively. 
+This is the opposite sense in which these switches work when
+<em>printing</em> a file. 
+One can use these switches to easily replace data or metadata in one
+file with data or metadata from another:
+</p><div class="example">
+<pre class="example"># Extract naked (data-only) copies of two variables
+ncks -h -M -m -O -C -v one,three_dmn_rec_var ~/nco/data/in.nc ~/out.nc
+# Change values to be sure original values are not copied in following step
+ncap2 -O -v -s 'one*=2;three_dmn_rec_var*=0' ~/nco/data/in.nc ~/in2.nc
+# Append in2.nc metadata (not data!) to out.nc
+ncks -A -C -H -v one,three_dmn_rec_var ~/in2.nc ~/out.nc
+</pre></div>
+<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-printf_0028_0029-2"></a>
+<a name="index-_005cn-_0028linefeed_0029"></a>
+<a name="index-_005ct-_0028horizontal-tab_0029"></a>
+<p>Print variable <code>three_dmn_var</code> from file <samp>in.nc</samp> with
+default notations. 
+Next print <code>three_dmn_var</code> as an un-annotated text column.
+Then print <code>three_dmn_var</code> signed with very high precision.
+Finally, print <code>three_dmn_var</code> as a comma-separated list.
+</p><div class="example">
+<pre class="example">% ncks -C -v three_dmn_var in.nc
+lat[0]=-90 lev[0]=100 lon[0]=0 three_dmn_var[0]=0 
+lat[0]=-90 lev[0]=100 lon[1]=90 three_dmn_var[1]=1 
+...
+lat[1]=90 lev[2]=1000 lon[3]=270 three_dmn_var[23]=23 
+% ncks -s '%f\n' -C -v three_dmn_var in.nc
+0.000000
+1.000000
+...
+23.000000
+% ncks -s '%+16.10f\n' -C -v three_dmn_var in.nc
+   +0.0000000000
+   +1.0000000000
+...
+  +23.0000000000
+% ncks -s '%f, ' -C -v three_dmn_var in.nc
+0.000000, 1.000000, ..., 23.000000,
+</pre></div>
+<p>Programmers will recognize these as the venerable C language<!-- /@w --> 
+<code>printf()</code> formatting strings. 
+The second and third options are useful when pasting data into text
+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>
+<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: 
+</p><div class="example">
+<pre class="example">% ncks -C -H -v mss_val in.nc
+lon[0]=0 mss_val[0]=73 
+lon[1]=90 mss_val[1]=_ 
+lon[2]=180 mss_val[2]=73 
+lon[3]=270 mss_val[3]=_ 
+% ncks -s '%+5.1f, ' -H -C -v mss_val in.nc
++73.0, _, +73.0, _, 
+</pre></div>
+
+<p>One dimensional arrays of characters stored as netCDF variables are 
+automatically printed as strings, whether or not they are
+NUL-terminated, e.g.,
+</p><div class="example">
+<pre class="example">ncks -v fl_nm in.nc
+</pre></div>
+<p>The <code>%c</code> formatting code is useful for printing 
+multidimensional arrays of characters representing fixed length strings
+</p><div class="example">
+<pre class="example">ncks -s '%c' -v fl_nm_arr in.nc
+</pre></div>
+<a name="index-core-dump-2"></a>
+<p>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.
+</p>
+<a name="index-subsetting-4"></a>
+<a name="index-exclusion-2"></a>
+<a name="index-extraction-2"></a>
+<p>Create netCDF <samp>out.nc</samp> containing all variables, and any associated 
+coordinates, except variable <code>time</code>, from netCDF <samp>in.nc</samp>:
+</p><div class="example">
+<pre class="example">ncks -x -v time in.nc out.nc
+</pre></div>
+<p>As a special case of this, consider how to remove a 
+<acronym>CF</acronym> Convention comliant <code>bounds</code> or <code>coordinates</code>
+variable (see <a href="#CF-Conventions">CF Conventions</a>) such as <code>time_bounds</code>.
+<acronym>NCO</acronym> subsetting assumes the user wants all coordinates 
+and bounds and axes associated with all extracted variables 
+(see <a href="#Subsetting-Coordinate-Variables">Subsetting Coordinate Variables</a>).
+Hence to exclude a <code>bounds</code> or <code>coordinates</code> variable while
+retaining the “parent” variable (here <code>time</code>), one must use the
+‘<samp>-C</samp>’ switch: 
+</p><div class="example">
+<pre class="example">ncks -C -x -v time_bounds in.nc out.nc
+</pre></div>
+<p>The ‘<samp>-C</samp>’ switch tells the operator <em>NOT</em> to necessarily
+include all the <acronym>CF</acronym> coordinates and bounds and axes.
+Hence the output file will contain <code>time</code> and not
+<code>time_bounds</code>. 
+</p>
+<p>Extract variables <code>time</code> and <code>pressure</code> from netCDF
+<samp>in.nc</samp>.  
+If <samp>out.nc</samp> does not exist it will be created.
+Otherwise the you will be prompted whether to append to or to
+overwrite <samp>out.nc</samp>: 
+</p><div class="example">
+<pre class="example">ncks -v time,pressure in.nc out.nc
+ncks -C -v time,pressure in.nc out.nc
+</pre></div>
+<p>The first version of the command creates an <samp>out.nc</samp> which contains
+<code>time</code>, <code>pressure</code>, and any coordinate variables associated
+with <var>pressure</var>. 
+The <samp>out.nc</samp> from the second version is guaranteed to contain only 
+two variables <code>time</code> and <code>pressure</code>.  
+</p>
+<p>Create netCDF <samp>out.nc</samp> containing all variables from file
+<samp>in.nc</samp>.  
+Restrict the dimensions of these variables to a hyperslab. 
+Print (with <code>-H</code>) the hyperslabs to the screen for good measure.  
+The specified hyperslab is: the fifth value in dimension <code>time</code>;
+the 
+half-open range <em><var>lat</var> > 0.</em> in coordinate <code>lat</code>; the
+half-open range <em><var>lon</var> < 330.</em> in coordinate <code>lon</code>; the
+closed interval <em>0.3 < <var>band</var> < 0.5</em> in coordinate <code>band</code>;
+and cross-section closest to 1000. in coordinate <code>lev</code>.  
+Note that limits applied to coordinate values are specified with a
+decimal point, and limits applied to dimension indices do not have a 
+decimal point See <a href="#Hyperslabs">Hyperslabs</a>.
+</p><div class="example">
+<pre class="example">ncks -H -d time,5 -d lat,,0.0 -d lon,330.0, -d band,0.3,0.5 
+-d lev,1000.0 in.nc out.nc 
+</pre></div>
+
+<a name="index-wrapped-coordinates-3"></a>
+<p>Assume the domain of the monotonically increasing longitude coordinate
+<code>lon</code> is <em>0 < <var>lon</var> < 360</em>. 
+Here, <code>lon</code> is an example of a wrapped coordinate.
+<code>ncks</code> will extract a hyperslab which crosses the Greenwich
+meridian simply by specifying the westernmost longitude as <var>min</var> and 
+the easternmost longitude as <var>max</var>, as follows:
+</p><div class="example">
+<pre class="example">ncks -d lon,260.0,45.0 in.nc out.nc
+</pre></div>
+<p>For more details See <a href="#Wrapped-Coordinates">Wrapped Coordinates</a>.
+</p>
+<a name="ncpdq"></a> <!-- http://nco.sf.net/nco.html#ncpdq -->
+<a name="ncpack"></a> <!-- http://nco.sf.net/nco.html#ncpack -->
+<a name="ncunpack"></a> <!-- http://nco.sf.net/nco.html#ncunpack --><hr>
+<a name="ncpdq-netCDF-Permute-Dimensions-Quickly"></a>
+<div class="header">
+<p>
+Next: <a href="#ncra-netCDF-Record-Averager" accesskey="n" rel="next">ncra netCDF Record Averager</a>, Previous: <a href="#ncks-netCDF-Kitchen-Sink" accesskey="p" rel="previous">ncks netCDF Kitchen Sink</a>, Up: <a href="#Operator-Reference-Manual" accesskey="u" rel="up">Operator Reference Manual</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="ncpdq-netCDF-Permute-Dimensions-Quickly-1"></a>
+<h3 class="section">4.8 <code>ncpdq</code> netCDF Permute Dimensions Quickly</h3>
+<a name="index-ncpdq-4"></a>
+<a name="index-ncpack"></a>
+<a name="index-ncunpack"></a>
+<a name="index-reshape-variables"></a>
+<a name="index-permute-dimensions"></a>
+<a name="index-reverse-dimensions"></a>
+<a name="index-re_002dorder-dimensions"></a>
+<a name="index-re_002ddimension"></a>
+<a name="index-packing-4"></a>
+<a name="index-unpacking-3"></a>
+
+<p>SYNTAX
+</p><div class="example">
+<pre class="example">ncpdq [-3] [-4] [-6] [-7] [-A] [-a [-]<var>dim</var>[,…]] [-C] [-c]
+[--cnk_dmn nm,sz] [--cnk_map map] [--cnk_plc plc] [--cnk_scl sz]
+[-D <var>dbg</var>] [-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]
+[-F] [-G <var>gpe_dsc</var>] [-g <var>grp</var>[,…]] [-h] [--hdf] [--hdr_pad <var>nbr</var>]
+[-L <var>dfl_lvl</var>] [-l <var>path</var>] [-M <var>pck_map</var>] [--mrd] [--no_tmp_fl] 
+[-O] [-o <var>output-file</var>] [-P <var>pck_plc</var>] [-p <var>path</var>] 
+[-R] [-r] [--ram_all] [-t <var>thr_nbr</var>] [-U] [--unn] [-v <var>var</var>[,…]] [-X ...] [-x]
+<var>input-file</var> [<var>output-file</var>]
+</pre></div>
+
+<p>DESCRIPTION
+</p>
+<p><code>ncpdq</code> performs one (not both) of two distinct functions:
+packing or dimension permutation.
+<code>ncpdq</code> is optimized to perform these actions in a parallel
+fashion with a minimum of time and memory.
+The <em>pdq</em> may stand for “Permute Dimensions Quickly”, 
+“Pack Data Quietly”, “Pillory Dan Quayle”, or other silly uses.
+</p>
+<a name="index-add_005foffset-3"></a>
+<a name="index-scale_005ffactor-2"></a>
+<a name="index-ncap2-3"></a>
+<a name="index-packing-policy"></a>
+<a name="Packing-and-Unpacking-Functions"></a>
+<h4 class="unnumberedsubsec">Packing and Unpacking Functions</h4>
+<p>The <code>ncpdq</code> packing (and unpacking) algorithms are described 
+in <a href="#Methods-and-functions">Methods and functions</a>, and are also implemented in
+<code>ncap2</code>. 
+<code>ncpdq</code> extends the functionality of these algorithms by 
+providing high level control of the <em>packing policy</em> so that
+users can consistently pack (and unpack) entire files with one command. 
+<a name="index-pck_005fplc"></a>
+<a name="index-_002dP-pck_005fplc"></a>
+<a name="index-_002d_002dpck_005fplc-pck_005fplc"></a>
+<a name="index-_002d_002dpack_005fpolicy-pck_005fplc"></a>
+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.
+Four packing policies are currently implemented:<br>   
+</p><dl compact="compact">
+<dt><em>Packing (and Re-Packing) Variables [<em>default</em>]</em></dt>
+<dd><p>Definition: Pack unpacked variables, re-pack packed variables<br>
+Alternate invocation: <code>ncpack</code><br>
+<var>pck_plc</var> key values: ‘<samp>all_new</samp>’, ‘<samp>pck_all_new_att</samp>’<br>
+</p></dd>
+<dt><em>Packing (and not Re-Packing) Variables</em></dt>
+<dd><p>Definition: Pack unpacked variables, copy packed variables<br>
+Alternate invocation: none<br>
+<var>pck_plc</var> key values: ‘<samp>all_xst</samp>’, ‘<samp>pck_all_xst_att</samp>’<br>
+</p></dd>
+<dt><em>Re-Packing Variables</em></dt>
+<dd><p>Definition: Re-pack packed variables, copy unpacked variables<br>
+Alternate invocation: none<br>
+<var>pck_plc</var> key values: ‘<samp>xst_new</samp>’, ‘<samp>pck_xst_new_att</samp>’<br>
+</p></dd>
+<dt><em>Unpacking</em></dt>
+<dd><p>Definition: Unpack packed variables, copy unpacked variables<br>
+Alternate invocation: <code>ncunpack</code><br>
+<var>pck_plc</var> key values: ‘<samp>upk</samp>’, ‘<samp>unpack</samp>’, ‘<samp>pck_upk</samp>’<br>
+</p></dd>
+</dl>
+<p>Equivalent key values are fully interchangeable.
+Multiple equivalent options are provided to satisfy disparate needs
+and tastes of <acronym>NCO</acronym> users working with scripts and from the
+command line.
+</p>
+<p>Regardless of the packing policy selected, <code>ncpdq</code> 
+no longer (as of <acronym>NCO</acronym> version 4.0.4 in October, 2010)
+packs coordinate variables, or the special variables, weights, 
+and other grid properties described in <a href="#CF-Conventions">CF Conventions</a>.
+Prior <code>ncpdq</code> versions treated coordinate variables and
+grid properties no differently from other variables.
+However, coordinate variables are one-dimensional, so packing saves
+little space on large files, and the resulting files are difficult for
+humans to read. 
+<code>ncpdq</code> will, of course, <em>unpack</em> coordinate variables and
+weights, for example, in case some other, non-<acronym>NCO</acronym> software
+packed them in the first place.
+</p>
+<p>Concurrently, Gaussian and area weights and other grid properties are
+often used to derive fields in re-inflated (unpacked) files, so packing
+such grid properties causes a considerable loss of precision in 
+downstream data processing.
+If users express strong wishes to pack grid properties, we will
+implement new packing policies.
+An immediate workaround for those needing to pack grid properties
+now, is to use the <code>ncap2</code> packing functions or to rename the
+grid properties prior to calling <code>ncpdq</code>. 
+We welcome your feedback. 
+</p>
+<p>To reduce required memorization of these complex policy switches, 
+<code>ncpdq</code> may also be invoked via a synonym or with switches
+that imply a particular policy.
+<code>ncpack</code> is a synonym for <code>ncpdq</code> and behaves the same 
+in all respects.
+Both <code>ncpdq</code> and <code>ncpack</code> assume a default packing
+policy request of ‘<samp>all_new</samp>’.
+Hence <code>ncpack</code> may be invoked without any ‘<samp>-P</samp>’ switch,
+unlike <code>ncpdq</code>.
+Similarly, <code>ncunpack</code> is a synonym for <code>ncpdq</code> 
+except that <code>ncpack</code> implicitly assumes a request to unpack, 
+i.e., ‘<samp>-P pck_upk</samp>’.
+<a name="index-_002dU"></a>
+<a name="index-_002d_002dupk"></a>
+<a name="index-_002d_002dunpack"></a>
+Finally, the <code>ncpdq</code> ‘<samp>-U</samp>’ switch (or its long option
+equivalents, ‘<samp>--upk</samp>’ and ‘<samp>--unpack</samp>’) requires no argument.
+It simply requests unpacking.
+</p>
+<p>Given the menagerie of synonyms, equivalent options, and implied
+options, a short list of some equivalent commands is appropriate.
+The following commands are equivalent for packing:
+<code>ncpdq -P all_new</code>, <code>ncpdq --pck_plc=all_new</code>, and
+<code>ncpack</code>.
+The following commands are equivalent for unpacking:
+<code>ncpdq -P upk</code>, <code>ncpdq -U</code>, <code>ncpdq --pck_plc=unpack</code>, 
+and <code>ncunpack</code>.
+Equivalent commands for other packing policies, e.g., ‘<samp>all_xst</samp>’, 
+follow by analogy. 
+<a name="index-alias-2"></a>
+<a name="index-ln-_002ds-1"></a>
+<a name="index-symbolic-links-4"></a>
+Note that <code>ncpdq</code> synonyms are subject to the same constraints 
+and recommendations discussed in the secion on <code>ncbo</code> synonyms
+(see <a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a>).
+That is, symbolic links must exist from the synonym to <code>ncpdq</code>,
+or else the user must define an <code>alias</code>.
+</p>
+<a name="index-packing-map"></a>
+<a name="index-pck_005fmap"></a>
+<a name="index-_002dM-pck_005fmap"></a>
+<a name="index-_002d_002dpck_005fmap-pck_005fmap"></a>
+<a name="index-_002d_002dmap-pck_005fmap"></a>
+<p>The <code>ncpdq</code> 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,
+packed type, is called the <em>packing map</em>.
+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:<br>
+<a name="index-hgh_005fsht"></a>
+<a name="index-hgh_005fbyt"></a>
+<a name="index-flt_005fsht"></a>
+<a name="index-flt_005fbyt"></a>
+<a name="index-nxt_005flsr"></a>
+<a name="index-NC_005fDOUBLE-1"></a>
+<a name="index-NC_005fFLOAT"></a>
+<a name="index-NC_005fINT64-1"></a>
+<a name="index-NC_005fUINT64-1"></a>
+<a name="index-NC_005fINT"></a>
+<a name="index-NC_005fUINT-1"></a>
+<a name="index-NC_005fSHORT"></a>
+<a name="index-NC_005fUSHORT-1"></a>
+<a name="index-NC_005fCHAR-2"></a>
+<a name="index-NC_005fBYTE"></a>
+<a name="index-NC_005fUBYTE-1"></a>
+</p><dl compact="compact">
+<dt><em>Pack Floating Precisions to <code>NC_SHORT</code> [<em>default</em>]</em></dt>
+<dd><p>Definition: Pack floating precision types to <code>NC_SHORT</code><br>
+Map: Pack [<code>NC_DOUBLE</code>,<code>NC_FLOAT</code>] to <code>NC_SHORT</code><br>
+Types copied instead of packed: [<code>NC_INT64</code>,<code>NC_UINT64</code>,<code>NC_INT</code>,<code>NC_UINT</code>,<code>NC_SHORT</code>,<code>NC_USHORT</code>,<code>NC_CHAR</code>,<code>NC_BYTE</code>,<code>NC_UBYTE</code>]<br>
+<var>pck_map</var> key values: ‘<samp>flt_sht</samp>’, ‘<samp>pck_map_flt_sht</samp>’<br>
+</p></dd>
+<dt><em>Pack Floating Precisions to <code>NC_BYTE</code></em></dt>
+<dd><p>Definition: Pack floating precision types to <code>NC_BYTE</code><br>
+Map: Pack [<code>NC_DOUBLE</code>,<code>NC_FLOAT</code>] to <code>NC_BYTE</code><br> 
+Types copied instead of packed: [<code>NC_INT64</code>,<code>NC_UINT64</code>,<code>NC_INT</code>,<code>NC_UINT</code>,<code>NC_SHORT</code>,<code>NC_USHORT</code>,<code>NC_CHAR</code>,<code>NC_BYTE</code>,<code>NC_UBYTE</code>]<br>
+<var>pck_map</var> key values: ‘<samp>flt_byt</samp>’, ‘<samp>pck_map_flt_byt</samp>’<br>
+</p></dd>
+<dt><em>Pack Higher Precisions to <code>NC_SHORT</code></em></dt>
+<dd><p>Definition: Pack higher precision types to <code>NC_SHORT</code><br>
+Map: 
+Pack [<code>NC_DOUBLE</code>,<code>NC_FLOAT</code>,<code>NC_INT64</code>,<code>NC_UINT64</code>,<code>NC_INT</code>,<code>NC_UINT</code>] to <code>NC_SHORT</code><br>
+Types copied instead of packed: [<code>NC_SHORT</code>,<code>NC_USHORT</code>,<code>NC_CHAR</code>,<code>NC_BYTE</code>,<code>NC_UBYTE</code>]<br>
+<var>pck_map</var> key values: ‘<samp>hgh_sht</samp>’, ‘<samp>pck_map_hgh_sht</samp>’<br>
+</p></dd>
+<dt><em>Pack Higher Precisions to <code>NC_BYTE</code></em></dt>
+<dd><p>Definition: Pack higher precision types to <code>NC_BYTE</code><br>
+Map: 
+Pack [<code>NC_DOUBLE</code>,<code>NC_FLOAT</code>,<code>NC_INT64</code>,<code>NC_UINT64</code>,<code>NC_INT</code>,<code>NC_UINT</code>,<code>NC_SHORT</code>,<code>NC_USHORT</code>] to <code>NC_BYTE</code><br>
+Types copied instead of packed: [<code>NC_CHAR</code>,<code>NC_BYTE</code>,<code>NC_UBYTE</code>]<br>
+<var>pck_map</var> key values: ‘<samp>hgh_byt</samp>’, ‘<samp>pck_map_hgh_byt</samp>’<br>
+</p></dd>
+<dt><em>Pack to Next Lesser Precision</em></dt>
+<dd><p>Definition: Pack each type to type of next lesser size<br>
+Map: Pack [<code>NC_DOUBLE</code>,<code>NC_INT64</code>,<code>NC_UINT64</code>], to <code>NC_INT</code>. 
+Pack [<code>NC_FLOAT</code>,<code>NC_INT</code>,<code>NC_UINT</code>] to <code>NC_SHORT</code>.
+Pack [<code>NC_SHORT</code>,<code>NC_USHORT</code>] to <code>NC_BYTE</code>.<br>
+Types copied instead of packed: [<code>NC_CHAR</code>,<code>NC_BYTE</code>,<code>NC_UBYTE</code>]<br>
+<var>pck_map</var> key values: ‘<samp>nxt_lsr</samp>’, ‘<samp>pck_map_nxt_lsr</samp>’<br>
+</p></dd>
+</dl>
+<p>The default ‘<samp>all_new</samp>’ packing policy with the default
+‘<samp>flt_sht</samp>’ packing map reduces the typical <code>NC_FLOAT</code>-dominated
+file size by about 50%.<!-- /@w -->
+‘<samp>flt_byt</samp>’ packing reduces an <code>NC_DOUBLE</code>-dominated file by
+about 87%.<!-- /@w --> 
+</p>
+<a name="index-_005fFillValue-4"></a>
+<a name="index-_005fFillValue-5"></a>
+<a name="index-NUL-1"></a>
+<p>The netCDF packing algorithm (see <a href="#Methods-and-functions">Methods and functions</a>) is
+lossy—once packed, the exact original data cannot be recovered without
+a full backup. 
+Hence users should be aware of some packing caveats:
+First, the interaction of packing and data equal to the
+<var>_FillValue</var> is complex.
+Test the <code>_FillValue</code> behavior by performing a pack/unpack cycle 
+to ensure data that are missing <em>stay</em> missing and data that are
+not misssing do not join the Air National Guard and go missing.
+This may lead you to elect a new <var>_FillValue</var>.
+Second, <code>ncpdq</code> actually allows packing into <code>NC_CHAR</code> (with,
+e.g., ‘<samp>flt_chr</samp>’).
+However, the intrinsic conversion of <code>signed char</code> to higher
+precision types is tricky for values equal to zero, i.e., for
+<code>NUL</code>.  
+Hence packing to <code>NC_CHAR</code> is not documented or advertised.  
+Pack into <code>NC_BYTE</code> (with, e.g., ‘<samp>flt_byt</samp>’) instead.
+</p>
+<a name="rvr"></a> <!-- http://nco.sf.net/nco.html#rvr --><a name="Dimension-Permutation"></a>
+<h4 class="unnumberedsubsec">Dimension Permutation</h4>
+<p><code>ncpdq</code> re-shapes variables in <var>input-file</var> by re-ordering
+and/or reversing dimensions specified in the dimension list.
+The dimension list is a whitespace-free, comma separated list of
+dimension names, optionally prefixed by negative signs, that follows the 
+‘<samp>-a</samp>’ (or long options ‘<samp>--arrange</samp>’, ‘<samp>--permute</samp>’,
+‘<samp>--re-order</samp>’, or ‘<samp>--rdr</samp>’) switch.  
+To re-order variables by a subset of their dimensions, specify
+these dimensions in a comma-separated list following ‘<samp>-a</samp>’, e.g., 
+‘<samp>-a lon,lat</samp>’. 
+To reverse a dimension, prefix its name with a negative sign in the
+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>’. 
+</p>
+<a name="index-record-dimension-9"></a>
+<p>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.
+<a name="index-concatenation-2"></a>
+<a name="index-record-dimension-10"></a>
+This unique <code>ncpdq</code> capability makes it possible to concatenate
+files along any dimension.
+See <a href="#Concatenation">Concatenation</a> for a detailed example.
+<a name="index-record-variable-1"></a>
+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="DOCF59" href="#FOOT59"><sup>59</sup></a>.
+</p>
+<p>Two special cases of dimension re-ordering and reversal deserve special
+mention. 
+First, it may be desirable to completely reverse the storage order of a
+variable. 
+To do this, include all the variable’s dimensions in the dimension
+re-order list in their original order, and prefix each dimension name
+with the negative sign.  
+<a name="index-transpose-1"></a>
+Second, it may useful to transpose a variable’s storage order, e.g.,
+from C<!-- /@w --> to Fortran data storage order 
+(see <a href="#C-and-Fortran-Index-Conventions">C and Fortran Index Conventions</a>).
+To do this, include all the variable’s dimensions in the dimension
+re-order list in reversed order.
+Explicit examples of these two techniques appear below.
+</p>
+
+
+<a name="xmp_ncpdq"></a> <!-- http://nco.sf.net/nco.html#xmp_ncpdq --><p>EXAMPLES
+</p>
+<p>Pack and unpack all variables in file <samp>in.nc</samp> and store the results
+in <samp>out.nc</samp>:  
+</p><div class="example">
+<pre class="example">ncpdq in.nc out.nc # Same as ncpack in.nc out.nc
+ncpdq -P all_new -M flt_sht in.nc out.nc # Defaults
+ncpdq -P all_xst in.nc out.nc
+ncpdq -P upk in.nc out.nc # Same as ncunpack in.nc out.nc
+ncpdq -U in.nc out.nc # Same as ncunpack in.nc out.nc
+</pre></div>
+<p>The first two commands pack any unpacked variable in the input file.
+They also unpack and then re-pack every packed variable.
+The third command only packs unpacked variables in the input file.
+If a variable is already packed, the third command copies it unchanged
+to the output file. 
+The fourth and fifth commands unpack any packed variables.
+If a variable is not packed, the third command copies it unchanged.
+</p>
+<p>The previous examples all utilized the default packing map.
+Suppose you wish to archive all data that are currently unpacked 
+into a form which only preserves 256 distinct values.
+Then you could specify the packing map <var>pck_map</var> as ‘<samp>hgh_byt</samp>’
+and the packing policy <var>pck_plc</var> as ‘<samp>all_xst</samp>’:
+</p><div class="example">
+<pre class="example">ncpdq -P all_xst -M hgh_byt in.nc out.nc
+</pre></div>
+<a name="index-appending-variables-3"></a>
+<a name="index-_002dA-3"></a>
+<a name="index-_002dv"></a>
+<p>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>’ (see <a href="#Appending-Variables">Appending Variables</a>).
+</p>
+<p>Users may wish to unpack data packed with the <acronym>HDF</acronym> convention,
+and then re-pack it with the netCDF convention so that all their
+datasets use the same packing convention prior to intercomparison.
+<a name="index-ncl_005fconvert2nc"></a>
+<a name="index-NCL-1"></a>
+</p><div class="example">
+<pre class="example"># One-step procedure: For NCO 4.4.0+, netCDF 4.3.1+
+# 1. Convert, unpack, and repack HDF file into netCDF file
+ncpdq --hdf_upk -P xst_new modis.hdf modis.nc # HDF4 files
+ncpdq --hdf_upk -P xst_new modis.h5  modis.nc # HDF5 files
+
+# One-step procedure: For NCO 4.3.7--4.3.9
+# 1. Convert, unpack, and repack HDF file into netCDF file
+ncpdq --hdf4 --hdf_upk -P xst_new modis.hdf modis.nc # HDF4
+ncpdq        --hdf_upk -P xst_new modis.h5  modis.nc # HDF5
+
+# Two-step procedure: For NCO 4.3.6 and earlier
+# 1. Convert HDF file to netCDF file
+ncl_convert2nc modis.hdf
+# 2. Unpack using HDF convention and repack using netCDF convention
+ncpdq --hdf_upk -P xst_new modis.nc modis.nc
+</pre></div>
+<p><acronym>NCO</acronym> now
+<a name="DOCF60" href="#FOOT60"><sup>60</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.
+The <code>ncpdq</code> command first unpacks all packed variables using the
+<acronym>HDF</acronym> unpacking algorithm (as specified by ‘<samp>--hdf_upk</samp>’), 
+and then repacks those same variables using the netCDF algorithm
+(because that is the only algorithm <acronym>NCO</acronym> packs with).
+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="DOCF61" href="#FOOT61"><sup>61</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
+<samp>out.nc</samp>:  
+</p><div class="example">
+<pre class="example">ncpdq -a lon,lat in.nc out.nc
+ncpdq -v three_dmn_var -a lon,lat in.nc out.nc
+</pre></div>
+<p>The first command re-orders every variable in the input file.
+The second command extracts and re-orders only the variable
+<code>three_dmn_var</code>. 
+</p>
+<a name="index-reverse-dimensions-1"></a>
+<p>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
+latitude values decrease monotonically from north to south.
+Accomplish this with
+</p><div class="example">
+<pre class="example">% ncpdq -a -lat in.nc out.nc
+% ncks -C -v lat in.nc
+lat[0]=-90
+lat[1]=90
+% ncks -C -v lat out.nc
+lat[0]=90
+lat[1]=-90
+</pre></div>
+<p>This operation reversed the latitude dimension of all variables.
+Whitespace immediately preceding the negative sign that specifies
+dimension reversal may be dangerous.
+<a name="index-long-options-1"></a>
+<a name="index-quotes-3"></a>
+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.
+</p><div class="example">
+<pre class="example">ncpdq -a -lat in.nc out.nc # Dangerous? Whitespace before "-lat"
+ncpdq -a '-lat' in.nc out.nc # OK. Quotes protect "-" in "-lat"
+ncpdq -a lon,-lat in.nc out.nc # OK. No whitespace before "-"
+ncpdq --rdr=-lat in.nc out.nc # Preferred. Uses "=" not whitespace
+</pre></div>
+
+<a name="index-reverse-dimensions-2"></a>
+<p>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>: 
+</p><div class="example">
+<pre class="example">% ncpdq -a lon,lev,lat -v three_dmn_var in.nc out.nc
+% ncks -C -v three_dmn_var in.nc
+lat[0]=-90 lev[0]=100 lon[0]=0 three_dmn_var[0]=0 
+lat[0]=-90 lev[0]=100 lon[1]=90 three_dmn_var[1]=1 
+lat[0]=-90 lev[0]=100 lon[2]=180 three_dmn_var[2]=2 
+...
+lat[1]=90 lev[2]=1000 lon[1]=90 three_dmn_var[21]=21 
+lat[1]=90 lev[2]=1000 lon[2]=180 three_dmn_var[22]=22 
+lat[1]=90 lev[2]=1000 lon[3]=270 three_dmn_var[23]=23 
+% ncks -C -v three_dmn_var out.nc
+lon[0]=0 lev[0]=100 lat[0]=-90 three_dmn_var[0]=0
+lon[0]=0 lev[0]=100 lat[1]=90 three_dmn_var[1]=12
+lon[0]=0 lev[1]=500 lat[0]=-90 three_dmn_var[2]=4
+...
+lon[3]=270 lev[1]=500 lat[1]=90 three_dmn_var[21]=19
+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></div>
+
+<a name="index-reverse-data"></a>
+<p>To completely reverse the storage order of a variable, include
+all its dimensions in the re-order list, each prefixed by a negative
+sign. 
+This example reverses the storage order of <code>three_dmn_var</code>: 
+</p><div class="example">
+<pre class="example">% ncpdq -a -lat,-lev,-lon -v three_dmn_var in.nc out.nc
+% ncks -C -v three_dmn_var in.nc
+lat[0]=-90 lev[0]=100 lon[0]=0 three_dmn_var[0]=0 
+lat[0]=-90 lev[0]=100 lon[1]=90 three_dmn_var[1]=1 
+lat[0]=-90 lev[0]=100 lon[2]=180 three_dmn_var[2]=2 
+...
+lat[1]=90 lev[2]=1000 lon[1]=90 three_dmn_var[21]=21 
+lat[1]=90 lev[2]=1000 lon[2]=180 three_dmn_var[22]=22 
+lat[1]=90 lev[2]=1000 lon[3]=270 three_dmn_var[23]=23 
+% ncks -C -v three_dmn_var out.nc
+lat[0]=90 lev[0]=1000 lon[0]=270 three_dmn_var[0]=23
+lat[0]=90 lev[0]=1000 lon[1]=180 three_dmn_var[1]=22
+lat[0]=90 lev[0]=1000 lon[2]=90 three_dmn_var[2]=21
+...
+lat[1]=-90 lev[2]=100 lon[1]=180 three_dmn_var[21]=2
+lat[1]=-90 lev[2]=100 lon[2]=90 three_dmn_var[22]=1
+lat[1]=-90 lev[2]=100 lon[3]=0 three_dmn_var[23]=0
+</pre></div>
+
+<a name="dmn_rcd_mk"></a> <!-- http://nco.sf.net/nco.html#dmn_rcd_mk -->
+<a name="mk_rcd_dmn"></a> <!-- http://nco.sf.net/nco.html#mk_rcd_dmn --><p>Creating a record dimension named, e.g., <code>time</code>, in a file which
+has no existing record dimension is simple with <code>ncecat</code>:
+</p><div class="example">
+<pre class="example">ncecat -O -u time in.nc out.nc # Create degenerate record dimension named "time"
+</pre></div>
+
+<a name="index-record-dimension-11"></a>
+<p>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  
+a record dimension. 
+This may be useful, for example, when the user wishes to append
+additional time slices to the data.
+As of <acronym>NCO</acronym> version 4.0.1 (April, 2010) the preferred method for
+doing this is with <code>ncks</code>:
+</p><div class="example">
+<pre class="example">ncks -O --mk_rec_dmn time in.nc out.nc # Change "time" to record dimension
+</pre></div>
+
+<p>Prior to 4.0.1, the procedure to change an existing fixed dimension into
+a record dimension required three separate commands,
+<code>ncecat</code> followed by <code>ncpdq</code>, and then <code>ncwa</code>.
+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: 
+<a name="index-degenerate-dimension-6"></a>
+</p><div class="example">
+<pre class="example">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"
+ncwa -O -a record out.nc out.nc # Remove (degenerate) "record"
+</pre></div>
+<p>The first step creates a degenerate (size equals one) record dimension
+named (by default) <code>record</code>. 
+The second step swaps the ordering of the dimensions named <code>time</code>
+and <code>record</code>.
+Since <code>time</code> now occupies the position of the first (least rapidly
+varying) dimension, it becomes the record dimension.
+The dimension named <code>record</code> is no longer a record dimension.
+The third step averages over this degenerate <code>record</code> dimension.
+Averaging over a degenerate dimension does not alter the data.
+The ordering of other dimensions in the file (<code>lat</code>, <code>lon</code>,
+etc.) is immaterial to this procedure. 
+See <a href="#ncecat-netCDF-Ensemble-Concatenator">ncecat netCDF Ensemble Concatenator</a> and 
+<a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a> for other methods of
+changing variable dimensionality, including the record dimension. 
+</p>
+<a name="ncra"></a> <!-- http://nco.sf.net/nco.html#ncra --><hr>
+<a name="ncra-netCDF-Record-Averager"></a>
+<div class="header">
+<p>
+Next: <a href="#ncrcat-netCDF-Record-Concatenator" accesskey="n" rel="next">ncrcat netCDF Record Concatenator</a>, Previous: <a href="#ncpdq-netCDF-Permute-Dimensions-Quickly" accesskey="p" rel="previous">ncpdq netCDF Permute Dimensions Quickly</a>, Up: <a href="#Operator-Reference-Manual" accesskey="u" rel="up">Operator Reference Manual</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="ncra-netCDF-Record-Averager-1"></a>
+<h3 class="section">4.9 <code>ncra</code> netCDF Record Averager</h3>
+<a name="index-averaging-data-2"></a>
+<a name="index-record-average"></a>
+<a name="index-record-dimension-12"></a>
+<a name="index-running-average"></a>
+<a name="index-ncra-3"></a>
+
+<p>SYNTAX
+</p><div class="example">
+<pre class="example">ncra [-3] [-4] [-6] [-7] [-A] [-C] [-c]
+[--cnk_dmn nm,sz] [--cnk_map map] [--cnk_plc plc] [--cnk_scl sz]
+[-D <var>dbg</var>] [-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>][,[<var>subcycle</var>]]]] [-F]
+[-G <var>gpe_dsc</var>] [-g <var>grp</var>[,…]] [-h] [--hdf] [--hdr_pad <var>nbr</var>] 
+[-L <var>dfl_lvl</var>] [-l <var>path</var>] [--mro] [-n <var>loop</var>] [--no_tmp_fl]
+[-O] [-o <var>output-file</var>] [-p <var>path</var>] [-R] [-r] [--ram_all] [--rec_apn] [--rth_dbl|flt]
+[-t <var>thr_nbr</var>] [--unn] [-v <var>var</var>[,…]] [-X ...] [-x] [-y <var>op_typ</var>]
+[<var>input-files</var>] [<var>output-file</var>]
+</pre></div>
+
+<p>DESCRIPTION
+</p>
+<p><code>ncra</code> averages record variables across an arbitrary number of 
+<var>input-files</var>.
+<a name="index-degenerate-dimension-7"></a>
+<a name="index-record-dimension-13"></a>
+The record dimension is, by default, retained as a degenerate 
+(size 1)<!-- /@w --> dimension in the output variables.
+See <a href="#Statistics-vs_002e-Concatenation">Statistics vs. Concatenation</a>, for a description of the
+distinctions between the various statistics tools and concatenators. 
+<a name="index-multi_002dfile-operators-5"></a>
+<a name="index-standard-input-3"></a>
+<a name="index-stdin-4"></a>
+As a multi-file operator, <code>ncra</code> 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 
+(see <a href="#Large-Numbers-of-Files">Large Numbers of Files</a>).
+</p>
+<p>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). 
+<a name="index-hyperslab-4"></a>
+Hyperslabs of the record dimension which include more than one file 
+work correctly.
+<a name="index-stride-4"></a>
+<code>ncra</code> supports the <var>stride</var> argument to the ‘<samp>-d</samp>’
+hyperslab option (see <a href="#Hyperslabs">Hyperslabs</a>) for the record dimension only,
+<var>stride</var> is not supported for non-record dimensions.
+</p>
+<p><code>ncra</code> weights each record (e.g., time slice) in the
+<var>input-files</var> equally.
+<code>ncra</code> 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.
+<a name="index-operation-types-1"></a>
+<code>ncra</code> <em>always averages</em> coordinate variables regardless of 
+the arithmetic operation type performed on the non-coordinate variables. 
+(see <a href="#Operation-Types">Operation Types</a>). 
+</p>
+<a name="xmp_ncra"></a> <!-- http://nco.sf.net/nco.html#xmp_ncra --><p>EXAMPLES
+</p>
+<p>Average files <samp>85.nc</samp>, <samp>86.nc</samp>, … <samp>89.nc</samp><!-- /@w -->
+along the record dimension, and store the results in <samp>8589.nc</samp>: 
+<a name="index-globbing-5"></a>
+<a name="index-NINTAP-1"></a>
+<a name="index-Processor"></a>
+<a name="index-CCM-Processor-1"></a>
+</p><div class="example">
+<pre class="example">ncra 85.nc 86.nc 87.nc 88.nc 89.nc 8589.nc
+ncra 8[56789].nc 8589.nc
+ncra -n 5,2,1 85.nc 8589.nc
+</pre></div>
+<p>These three methods produce identical answers.
+See <a href="#Specifying-Input-Files">Specifying Input Files</a>, for an explanation of the distinctions
+between these methods.
+</p>
+<a name="index-Fortran-1"></a>
+<p>Assume the files <samp>85.nc</samp>, <samp>86.nc</samp>, … <samp>89.nc</samp><!-- /@w -->
+each contain a record coordinate <var>time</var> of length 12 defined such
+that the third record in <samp>86.nc</samp> contains data from March 1986,
+etc. 
+<acronym>NCO</acronym> knows how to hyperslab the record dimension across files.
+Thus, to average data from December, 1985 through February, 1986:
+</p><div class="example">
+<pre class="example">ncra -d time,11,13 85.nc 86.nc 87.nc 8512_8602.nc
+ncra -F -d time,12,14 85.nc 86.nc 87.nc 8512_8602.nc
+</pre></div>
+<p>The file <samp>87.nc</samp> is superfluous, but does not cause an error.
+The ‘<samp>-F</samp>’ turns on the Fortran (1-based) indexing convention.
+<a name="index-stride-5"></a>
+The following uses the <var>stride</var> option to average all the March
+temperature data from multiple input files into a single output file
+</p><div class="example">
+<pre class="example">ncra -F -d time,3,,12 -v temperature 85.nc 86.nc 87.nc 858687_03.nc
+</pre></div>
+<p>See <a href="#Stride">Stride</a>, for a description of the <var>stride</var> argument.
+</p>
+<p>Assume the <var>time</var> coordinate is incrementally numbered such that
+January, <em>1985 = 1</em><!-- /@w --> and December, <em>1989 = 60</em><!-- /@w -->.
+Assuming ‘<samp>??</samp>’ only expands to the five desired files, the following 
+averages June, 1985–June, 1989: 
+</p><div class="example">
+<pre class="example">ncra -d time,6.,54. ??.nc 8506_8906.nc
+</pre></div>
+
+<a name="ncrcat"></a> <!-- http://nco.sf.net/nco.html#ncrcat --><hr>
+<a name="ncrcat-netCDF-Record-Concatenator"></a>
+<div class="header">
+<p>
+Next: <a href="#ncrename-netCDF-Renamer" accesskey="n" rel="next">ncrename netCDF Renamer</a>, Previous: <a href="#ncra-netCDF-Record-Averager" accesskey="p" rel="previous">ncra netCDF Record Averager</a>, Up: <a href="#Operator-Reference-Manual" accesskey="u" rel="up">Operator Reference Manual</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="ncrcat-netCDF-Record-Concatenator-1"></a>
+<h3 class="section">4.10 <code>ncrcat</code> netCDF Record Concatenator</h3>
+<a name="index-concatenation-3"></a>
+<a name="index-record-concatenation"></a>
+<a name="index-ncrcat-2"></a>
+
+<p>SYNTAX
+</p><div class="example">
+<pre class="example">ncrcat [-3] [-4] [-6] [-7] [-A] [-C] [-c]
+[--cnk_dmn nm,sz] [--cnk_map map] [--cnk_plc plc] [--cnk_scl sz]
+[-D <var>dbg</var>] [-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>][,[<var>subcycle</var>]]]] [-F]
+[-G <var>gpe_dsc</var>] [-g <var>grp</var>[,…]] [-h] [--hdr_pad <var>nbr</var>]
+[-L <var>dfl_lvl</var>] [-l <var>path</var>] [--md5_digest] [-n <var>loop</var>] [--no_tmp_fl]
+[-O] [-o <var>output-file</var>] [-p <var>path</var>] [-R] [-r] [--ram_all] [--rec_apn]
+[-t <var>thr_nbr</var>] [--unn] [-v <var>var</var>[,…]] [-X ...] [-x] 
+[<var>input-files</var>] [<var>output-file</var>]
+</pre></div>
+
+<p>DESCRIPTION
+</p>
+<p><code>ncrcat</code> concatenates record variables across an arbitrary
+number of <var>input-files</var>.
+<a name="index-record-dimension-14"></a>
+The final record dimension is by default the sum of the lengths of the 
+record dimensions in the input files.
+See <a href="#Statistics-vs_002e-Concatenation">Statistics vs. Concatenation</a>, for a description of the
+distinctions between the various statistics tools and concatenators. 
+<a name="index-multi_002dfile-operators-6"></a>
+<a name="index-standard-input-4"></a>
+<a name="index-stdin-5"></a>
+As a multi-file operator, <code>ncrcat</code> 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 
+(see <a href="#Large-Numbers-of-Files">Large Numbers of Files</a>).
+</p>
+<p>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).
+<a name="index-hyperslab-5"></a>
+Hyperslabs along the record dimension that span more than one file are  
+handled correctly.
+<a name="index-stride-6"></a>
+<code>ncra</code> 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.
+</p>
+<a name="index-ncpdq-5"></a>
+<a name="index-packing-5"></a>
+<a name="index-unpacking-4"></a>
+<a name="index-add_005foffset-4"></a>
+<a name="index-scale_005ffactor-3"></a>
+<p>Concatenating a variable packed with different scales multiple datasets  
+is beyond the capabilities of <code>ncrcat</code> (and <code>ncecat</code>,
+the other concatenator (<a href="#Concatenation">Concatenation</a>).
+<code>ncrcat</code> does not unpack data, it simply <em>copies</em> the data
+from the <var>input-files</var>, and the metadata from the <em>first</em>
+<var>input-file</var>, to the <var>output-file</var>. 
+This means that data compressed with a packing convention must use
+the identical packing parameters (e.g., <code>scale_factor</code> and
+<code>add_offset</code>) for a given variable across <em>all</em> input files.
+Otherwise the concatenated dataset will not unpack correctly.
+The workaround for cases where the packing parameters differ across
+<var>input-files</var> requires three steps:
+First, unpack the data using <code>ncpdq</code>.
+Second, concatenate the unpacked data using <code>ncrcat</code>, 
+Third, re-pack the result with <code>ncpdq</code>.
+</p>
+<a name="index-ARM-conventions-1"></a>
+<p><code>ncrcat</code> applies special rules to <acronym>ARM</acronym> convention time
+fields (e.g., <code>time_offset</code>).
+See <a href="#ARM-Conventions">ARM Conventions</a> for a complete description.
+</p>
+<a name="xmp_ncrcat"></a> <!-- http://nco.sf.net/nco.html#xmp_ncrcat --><p>EXAMPLES
+</p>
+<p>Concatenate files <samp>85.nc</samp>, <samp>86.nc</samp>, … <samp>89.nc</samp><!-- /@w -->
+along the record dimension, and store the results in <samp>8589.nc</samp>: 
+<a name="index-globbing-6"></a>
+<a name="index-NINTAP-2"></a>
+<a name="index-Processor-1"></a>
+<a name="index-CCM-Processor-2"></a>
+</p><div class="example">
+<pre class="example">ncrcat 85.nc 86.nc 87.nc 88.nc 89.nc 8589.nc
+ncrcat 8[56789].nc 8589.nc
+ncrcat -n 5,2,1 85.nc 8589.nc
+</pre></div>
+<p>These three methods produce identical answers.
+See <a href="#Specifying-Input-Files">Specifying Input Files</a>, for an explanation of the distinctions
+between these methods.
+</p>
+<a name="index-Fortran-2"></a>
+<p>Assume the files <samp>85.nc</samp>, <samp>86.nc</samp>, … <samp>89.nc</samp><!-- /@w -->
+each contain a record coordinate <var>time</var> of length 12<!-- /@w --> defined
+such that the third record in <samp>86.nc</samp> contains data from March
+1986, etc. 
+<acronym>NCO</acronym> knows how to hyperslab the record dimension across files. 
+Thus, to concatenate data from December, 1985–February, 1986:
+</p><div class="example">
+<pre class="example">ncrcat -d time,11,13 85.nc 86.nc 87.nc 8512_8602.nc
+ncrcat -F -d time,12,14 85.nc 86.nc 87.nc 8512_8602.nc
+</pre></div>
+<p>The file <samp>87.nc</samp> is superfluous, but does not cause an error.
+When <code>ncra</code> and <code>ncrcat</code> encounter a file which does 
+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.
+<a name="index-stride-7"></a>
+</p>
+<p>The following uses the <var>stride</var> option to concatenate all the March 
+temperature data from multiple input files into a single output file
+</p><div class="example">
+<pre class="example">ncrcat -F -d time,3,,12 -v temperature 85.nc 86.nc 87.nc 858687_03.nc
+</pre></div>
+<p>See <a href="#Stride">Stride</a>, for a description of the <var>stride</var> argument.
+</p>
+<p>Assume the <var>time</var> coordinate is incrementally numbered such that
+January, 1985 = 1<!-- /@w --> and December, 1989 = 60.<!-- /@w -->
+Assuming <code>??</code> only expands to the five desired files, the following 
+concatenates June, 1985–June, 1989: 
+</p><div class="example">
+<pre class="example">ncrcat -d time,6.,54. ??.nc 8506_8906.nc
+</pre></div>
+
+<a name="ncrename"></a> <!-- http://nco.sf.net/nco.html#ncrename --><hr>
+<a name="ncrename-netCDF-Renamer"></a>
+<div class="header">
+<p>
+Next: <a href="#ncwa-netCDF-Weighted-Averager" accesskey="n" rel="next">ncwa netCDF Weighted Averager</a>, Previous: <a href="#ncrcat-netCDF-Record-Concatenator" accesskey="p" rel="previous">ncrcat netCDF Record Concatenator</a>, Up: <a href="#Operator-Reference-Manual" accesskey="u" rel="up">Operator Reference Manual</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="ncrename-netCDF-Renamer-1"></a>
+<h3 class="section">4.11 <code>ncrename</code> netCDF Renamer</h3>
+<a name="index-renaming-variables"></a>
+<a name="index-renaming-groups"></a>
+<a name="index-renaming-dimensions"></a>
+<a name="index-renaming-attributes"></a>
+<a name="index-variable-names"></a>
+<a name="index-dimension-names"></a>
+<a name="index-attribute-names-1"></a>
+<a name="index-group-names"></a>
+<a name="index-ncrename-1"></a>
+
+<p>SYNTAX
+</p><div class="example">
+<pre class="example">ncrename [-a <var>old_name</var>,<var>new_name</var>] [-a …] [-D <var>dbg</var>] 
+[-d <var>old_name</var>,<var>new_name</var>] [-d …] [-g <var>old_name</var>,<var>new_name</var>] [-g …] 
+[-h] [--hdf] [--hdr_pad <var>nbr</var>] [-l <var>path</var>] [-O] [-o <var>output-file</var>] [-p <var>path</var>] [-R] [-r] 
+[-v <var>old_name</var>,<var>new_name</var>] [-v …]
+<var>input-file</var> [[<var>output-file</var>]]
+</pre></div>
+ 
+<p>DESCRIPTION
+</p>
+<a name="index-_002e"></a>
+<p><code>ncrename</code> renames netCDF dimensions, variables, attributes, and
+groups. 
+Each object that has a name in the list of old names is renamed 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 ‘<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. 
+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
+whose attributes are to be renamed.
+</p>
+<p>Although <code>ncrename</code> supports full pathnames for both
+<var>old_name</var> and <var>new_name</var>, this is really “window dressing”.
+The full-path to <var>new_name</var> must be identical to the full-path to 
+<var>old_name</var> in all classes of objects (attributes, variables,
+dimensions, or groups).
+In other words, <code>ncrename</code> can change only the local names
+of objects, it cannot change the location of the object in the group
+hierarchy within the file.
+Hence using a full-path in <var>new_name</var> is redundant. 
+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.
+</p>
+<a name="index-data-safety-1"></a>
+<a name="index-safeguards-1"></a>
+<a name="index-temporary-output-files-2"></a>
+<p><code>ncrename</code> is an exception to the normal <acronym>NCO</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
+during the operation. 
+If only <var>input-file</var> is specified, then <code>ncrename</code> changes
+the names of the <var>input-file</var> in place without prompting and without
+creating a temporary copy of <code>input-file</code>.
+This is because the renaming operation is considered reversible if the
+user makes a mistake.
+The <var>new_name</var> can easily be changed back to <var>old_name</var> by using 
+<code>ncrename</code> one more time.
+</p>
+<p>Note that renaming a dimension to the name of a dependent variable can
+be used to invert the relationship between an independent coordinate
+variable and a dependent variable. 
+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.
+</p>
+<a name="index-performance-6"></a>
+<a name="index-operator-speed-5"></a>
+<a name="index-speed-6"></a>
+<a name="index-execution-time-5"></a>
+<p>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>.
+</p>
+<p>OPTIONS
+</p>
+<dl compact="compact">
+<dt>‘<samp>-a <var>old_name</var>,<var>new_name</var></samp>’</dt>
+<dd><p>Attribute renaming. 
+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.  
+<a name="index-global-attribute-1"></a>
+<a name="index-global-attributes-9"></a>
+<a name="index-attributes_002c-global-9"></a>
+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
+will be renamed unless the ‘<samp>.</samp>’ form is used, with one exception.
+To change the attribute name for a particular variable, specify 
+the <var>old_name</var> in the format <var>old_var_name at old_att_name</var>.
+The ‘<samp>@</samp>’ symbol delimits the variable from the attribute name.
+If the attribute is uniquely named (no other variables contain the
+attribute) then the <var>old_var_name at old_att_name</var> syntax is
+redundant. 
+The <var>var_nm</var> <code>global</code> has special significance—it indicates
+that <var>att_nm</var> refers to a global or group attribute, and not to a
+variable named <code>global</code>.
+In other words, a <var>var_nm</var> of <code>global</code> is syntactically
+equivalent to a <var>var_nm</var> that is empty.
+The <var>var_name at att_name</var> syntax is accepted, though not required,
+for the <var>new_name</var>.
+</p>
+</dd>
+<dt>‘<samp>-d <var>old_name</var>,<var>new_name</var></samp>’</dt>
+<dd><p>Dimension renaming. 
+The old and new names of the dimension are specified with ‘<samp>-d</samp>’
+(or ‘<samp>--dmn</samp>’, ‘<samp>--dimension</samp>’) by the associated <var>old_name</var>
+and <var>new_name</var> values.  
+This option may be specified more than once.
+</p> 
+</dd>
+<dt>‘<samp>-g <var>old_name</var>,<var>new_name</var></samp>’</dt>
+<dd><p>Group renaming. 
+The old and new names of the group are specified with ‘<samp>-g</samp>’
+(or ‘<samp>--grp</samp>’, ‘<samp>--group</samp>’) by the associated <var>old_name</var>
+and <var>new_name</var> values.  
+This option may be specified more than once.
+This functionality is only available in <acronym>NCO</acronym> version 4.3.7
+(October, 2013) or later, and only when built on netCDF library version
+4.3.1-rc1 (August, 2013) or later. 
+</p> 
+</dd>
+<dt>‘<samp>-v <var>old_name</var>,<var>new_name</var></samp>’</dt>
+<dd><p>Variable renaming. 
+The old and new names of the variable are specified with ‘<samp>-v</samp>’
+(or ‘<samp>--variable</samp>’) by the associated <var>old_name</var> and
+<var>new_name</var> values.  
+This option may be specified more than once.
+</p></dd>
+</dl>
+
+<a name="xmp_ncrename"></a> <!-- http://nco.sf.net/nco.html#xmp_ncrename --><p>EXAMPLES
+</p>
+<p>Rename the variable <code>p</code> to <code>pressure</code> and <code>t</code> to
+<code>temperature</code> in netCDF <samp>in.nc</samp>. 
+In this case <code>p</code> must exist in the input file (or
+<code>ncrename</code> will abort), but the presence of <code>t</code> is optional:
+</p><div class="example">
+<pre class="example">ncrename -v p,pressure -v .t,temperature in.nc
+</pre></div>
+
+<p>Rename the attribute <code>long_name</code> to <code>largo_nombre</code> in the
+variable <code>u</code>, and no other variables in netCDF <samp>in.nc</samp>. 
+</p><div class="example">
+<pre class="example">ncrename -a u at long_name,largo_nombre in.nc
+</pre></div>
+ 
+<p>Rename the group <code>g8</code> to <code>g20</code> in netCDF4 file
+<samp>in_grp.nc</samp>:   
+</p><div class="example">
+<pre class="example">ncrename -g g8,g20 in_grp.nc
+</pre></div>
+ 
+<p>Rename the variable <code>/g1/lon</code> to <code>longitude</code> in netCDF4
+<samp>in_grp.nc</samp>:
+</p><div class="example">
+<pre class="example">ncrename -v /g1/lon,longitude in_grp.nc
+ncrename -v /g1/lon,/g1/longitude in_grp.nc # Alternate
+</pre></div>
+ 
+<a name="ncrename_crd"></a> <!-- http://nco.sf.net/nco.html#ncrename_crd --><a name="index-coordinate-variables"></a>
+<p><code>ncrename</code> 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
+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: 
+</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
+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 <code>ncrename</code> invocations (e.g., first rename the
+variable, then 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:
+</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
+ncrename -O -v lat_T42,lat ~/foo.nc ~/foo2.nc # Also renames dimension
+ncrename -O -d lat_T42,lat ~/foo.nc ~/foo2.nc # Also renames variable
+</pre></div>
+<p>To avoid this faulty behavior, either build <acronym>NCO</acronym> with netCDF
+version 4.3.1-rc5 or later, or convert the file to netCDF3 first,
+then rename as intended, then convert back.
+</p>
+<a name="index-global-attributes-10"></a>
+<a name="index-attributes_002c-global-10"></a>
+<a name="index-_005fFillValue-6"></a>
+<a name="index-missing_005fvalue-2"></a>
+<p>Create netCDF <samp>out.nc</samp> identical to <samp>in.nc</samp> 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
+those variables which possess it), the attribute <code>hieght</code> is
+changed to <code>height</code> in the variable <code>tpt</code>, and in the
+variable <code>prs_sfc</code>, if it exists.
+</p><div class="example">
+<pre class="example">ncrename -a _FillValue,missing_value -a .units,CGS_units \
+  -a tpt at hieght,height -a prs_sfc at .hieght,height in.nc out.nc 
+</pre></div>
+<p>The presence and absence of the ‘<samp>.</samp>’ and ‘<samp>@</samp>’ features
+cause this command to execute successfully only if a number of 
+conditions are met. 
+All variables <em>must</em> have a <code>_FillValue</code> attribute <em>and</em> 
+<code>_FillValue</code> must also be a global attribute.
+The <code>units</code> attribute, on the other hand, will be renamed to
+<code>CGS_units</code> wherever it is found but need not be present in
+the file at all (either as a global or a variable attribute).
+The variable <code>tpt</code> must contain the <code>hieght</code> attribute.
+The variable <code>prs_sfc</code> need not exist, and need not contain the
+<code>hieght</code> attribute.
+</p>
+<p>Rename the global or group attribute <code>Convention</code> to
+<code>Conventions</code>
+</p><div class="example">
+<pre class="example">ncrename -a Convention,Conventions  in.nc # Variable and global atts.
+ncrename -a .Convention,Conventions in.nc # Variable and global atts.
+ncrename -a @Convention,Conventions  in.nc # Global atts. only
+ncrename -a @.Convention,Conventions in.nc # Global atts. only
+ncrename -a global at Convention,Conventions   in.nc # Global atts. only
+ncrename -a .global at .Convention,Conventions in.nc # Global atts. only
+</pre></div>
+<p>The examples without the <code>@</code> character attempt to change the
+attribute name in both Global or Group and variable attributes.
+The examples with the <code>@</code> character attempt to change only 
+global and group <code>Convention</code> attributes, and leave unchanged any
+<code>Convention</code> attributes attached directly to variables.
+Attributes prefixed with a period (<code>.Convention</code>) need not be
+present. 
+Attributes not prefixed with a period (<code>Convention</code>) must be
+present. 
+Variables prefixed with a period (<code>.</code> or <code>.global</code>) need not 
+be present.  
+Variables not prefixed with a period (<code>global</code>) must be present.  
+</p>
+<a name="ncwa"></a> <!-- http://nco.sf.net/nco.html#ncwa --><hr>
+<a name="ncwa-netCDF-Weighted-Averager"></a>
+<div class="header">
+<p>
+Previous: <a href="#ncrename-netCDF-Renamer" accesskey="p" rel="previous">ncrename netCDF Renamer</a>, Up: <a href="#Operator-Reference-Manual" accesskey="u" rel="up">Operator Reference Manual</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="ncwa-netCDF-Weighted-Averager-1"></a>
+<h3 class="section">4.12 <code>ncwa</code> netCDF Weighted Averager</h3>
+<a name="index-averaging-data-3"></a>
+<a name="index-weighted-average"></a>
+<a name="index-masked-average"></a>
+<a name="index-broadcasting-variables-4"></a>
+<a name="index-ncwa-4"></a>
+
+<p>SYNTAX
+</p><div class="example">
+<pre class="example">ncwa [-3] [-4] [-6] [-7] [-A] [-a <var>dim</var>[,…]] [-B <var>mask_cond</var>] [-b] [-C] [-c]
+[--cnk_dmn nm,sz] [--cnk_map map] [--cnk_plc plc] [--cnk_scl sz]
+[-D <var>dbg</var>] [-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]] [-F]
+[-G <var>gpe_dsc</var>] [-g <var>grp</var>[,…]] [-h] [--hdr_pad <var>nbr</var>] [-I]
+[-L <var>dfl_lvl</var>] [-l <var>path</var>] [-M <var>mask_val</var>] [-m <var>mask_var</var>] [-N] [--no_tmp_fl]
+[-O] [-o <var>output-file</var>] [-p <var>path</var>] [-R] [-r] [--ram_all] [--rth_dbl|flt]
+[-T <var>mask_comp</var>] [-t <var>thr_nbr</var>] [--unn] [-v <var>var</var>[,…]] [-w <var>weight</var>]
+[-X ...] [-x] [-y <var>op_typ</var>]
+<var>input-file</var> [<var>output-file</var>]
+</pre></div>
+
+<p>DESCRIPTION
+</p>
+<p><code>ncwa</code> averages variables in a single file over arbitrary
+dimensions, with options to specify weights, masks, and normalization.   
+See <a href="#Statistics-vs_002e-Concatenation">Statistics vs. Concatenation</a>, for a description of the
+distinctions between the various statistics tools and concatenators. 
+The default behavior of <code>ncwa</code> is to arithmetically average
+every numerical variable over all dimensions and to produce a scalar 
+result for each. 
+</p>
+<a name="index-degenerate-dimension-8"></a>
+<p>Averaged dimensions are, by default, eliminated as dimensions.
+Their corresponding coordinates, if any, are output as scalar
+variables. 
+The ‘<samp>-b</samp>’ switch (and its long option equivalents ‘<samp>--rdd</samp>’ and 
+‘<samp>--retain-degenerate-dimensions</samp>’) causes <code>ncwa</code> to retain
+averaged dimensions as degenerate (size 1<!-- /@w -->) dimensions.
+This maintains the association between a dimension (or coordinate) and
+variables after averaging and simplifies, for instance, later
+concatenation along the degenerate dimension. 
+</p>
+<p>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>’. 
+<a name="index-arithmetic-operators-2"></a>
+<a name="index-hyperslab-6"></a>
+<a name="index-_002dd-dim_002c_005bmin_005d_005b_002c_005bmax_005d_005d"></a>
+As with all arithmetic operators, the operation may be restricted to
+an arbitrary hypserslab by employing the ‘<samp>-d</samp>’ option
+(see <a href="#Hyperslabs">Hyperslabs</a>). 
+<code>ncwa</code> also handles values matching the variable’s
+<code>_FillValue</code> attribute correctly. 
+Moreover, <code>ncwa</code> understands how to manipulate user-specified
+weights, masks, and normalization options.
+With these options, <code>ncwa</code> can compute sophisticated averages
+(and integrals) from the command line. 
+</p>
+<a name="-w"></a> <!-- http://nco.sf.net/nco.html#-w -->
+<a name="wgt"></a> <!-- http://nco.sf.net/nco.html#wgt --><a name="index-_002dw-weight"></a>
+<a name="index-_002d_002dweight-weight"></a>
+<a name="index-_002d_002dwgt_005fvar-weight"></a>
+<a name="index-_002dm-mask_005fvar"></a>
+<a name="index-_002d_002dmask_002dvariable-mask_005fvar"></a>
+<a name="index-_002d_002dmask_005fvariable-mask_005fvar"></a>
+<a name="index-_002d_002dmsk_005fnm-mask_005fvar"></a>
+<a name="index-_002d_002dmsk_005fvar-mask_005fvar"></a>
+<a name="index-_002dB-mask_005fcond"></a>
+<a name="index-_002d_002dmsk_005fcnd-mask_005fcond"></a>
+<a name="index-_002d_002dmask_005fcondition-mask_005fcond"></a>
+<p><var>mask_var</var> and <var>weight</var>, if specified, are broadcast to conform
+to the variables being averaged. 
+<a name="index-rank-4"></a>
+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
+averaged by <code>ncwa</code> appear in the <var>output-file</var> as scalars.
+This allows the user to infer which dimensions may have been averaged.
+Note that that it is impossible for <code>ncwa</code> to make make a
+<var>weight</var> or <var>mask_var</var> of rank <var>W</var> conform to a <var>var</var> of
+rank <var>V</var> if <var>W > V</var>.
+This situation often arises when coordinate variables (which, by
+definition, are one dimensional) are weighted and averaged.
+<code>ncwa</code> assumes you know this is impossible and so <code>ncwa</code>
+does not attempt to broadcast <var>weight</var> or <var>mask_var</var> to conform
+to <var>var</var> in this case, nor does <code>ncwa</code> print a warning
+message telling you this, because it is so common.  
+Specifying <var>dbg > 2</var> does cause <code>ncwa</code> to emit warnings in
+these situations, however.
+</p>
+<p>Non-coordinate variables are always masked and weighted if specified.
+Coordinate variables, however, may be treated specially.
+By default, an averaged coordinate variable, e.g., <code>latitude</code>,
+appears in <var>output-file</var> averaged the same way as any other variable 
+containing an averaged dimension.
+In other words, by default <code>ncwa</code> weights and masks
+coordinate variables like all other variables.  
+This design decision was intended to be helpful but for some
+applications it may be preferable not to weight or mask coordinate
+variables just like all other variables.   
+Consider the following arguments to <code>ncwa</code>: 
+<code>-a latitude -w lat_wgt -d latitude,0.,90.</code> where <code>lat_wgt</code> is
+a weight in the <code>latitude</code> dimension.
+Since, by default <code>ncwa</code> 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 be 45.0<!-- /@w -->, the midpoint latitude
+of the hyperslab.
+<a name="index-coordinate-variable-4"></a>
+<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="DOCF62" href="#FOOT62"><sup>62</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
+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="DOCF63" href="#FOOT63"><sup>63</sup></a>.  
+</p>
+<a name="index-average-1"></a>
+<a name="index-operation-types-2"></a>
+<p>As explained in See <a href="#Operation-Types">Operation Types</a>, <code>ncwa</code> 
+<em>always averages</em> coordinate variables regardless of the arithmetic
+operation type performed on the non-coordinate variables. 
+This is independent of the setting of the ‘<samp>-I</samp>’ option.
+The mathematical definition of operations involving rank reduction 
+is given above (see <a href="#Operation-Types">Operation Types</a>).
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">• <a href="#Mask-condition" accesskey="1">Mask condition</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Normalization-and-Integration" accesskey="2">Normalization and Integration</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<a name="mask"></a> <!-- http://nco.sf.net/nco.html#mask -->
+<a name="msk"></a> <!-- http://nco.sf.net/nco.html#msk -->
+<a name="-m"></a> <!-- http://nco.sf.net/nco.html#-m --><hr>
+<a name="Mask-condition"></a>
+<div class="header">
+<p>
+Next: <a href="#Normalization-and-Integration" accesskey="n" rel="next">Normalization and Integration</a>, Previous: <a href="#ncwa-netCDF-Weighted-Averager" accesskey="p" rel="previous">ncwa netCDF Weighted Averager</a>, Up: <a href="#ncwa-netCDF-Weighted-Averager" accesskey="u" rel="up">ncwa netCDF Weighted Averager</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Mask-condition-1"></a>
+<h4 class="subsection">4.12.1 Mask condition</h4>
+<a name="index-mask-condition"></a>
+<a name="index-truth-condition"></a>
+
+<a name="index-_002d_002dop_005frlt-mask_005fcomp"></a>
+<a name="index-_002d_002dmask_005fcomparator-mask_005fcomp"></a>
+<a name="index-_002d_002dmsk_005fcmp_005ftyp-mask_005fcomp"></a>
+<a name="index-_002d_002dmsk_005fcnd_005fsng-mask_005fcond"></a>
+<a name="index-_002d_002dmask_005fcondition-mask_005fcond-1"></a>
+<a name="index-_002dB-mask_005fcond-1"></a>
+<p>The mask condition has the syntax <em><var>mask_var</var></em>
+<em><var>mask_comp</var></em> <em><var>mask_val</var></em>. 
+The preferred method to specify the mask condition is in one string with  
+the ‘<samp>-B</samp>’ or ‘<samp>--mask_condition</samp>’ switches.
+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="DOCF64" href="#FOOT64"><sup>64</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>
+<a name="index-comparator"></a>
+<p>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>’).  
+The truth <var>mask_comp</var> argument (specified with ‘<samp>-T</samp>’,
+‘<samp>--mask_comparator</samp>’, ‘<samp>--msk_cmp_typ</samp>’, or ‘<samp>--op_rlt</samp>’ may 
+be any one of the six arithmetic comparators: <kbd>eq</kbd>, <kbd>ne</kbd>,
+<kbd>gt</kbd>, <kbd>lt</kbd>, <kbd>ge</kbd>, <kbd>le</kbd>. 
+These are the Fortran-style character abbreviations for the logical 
+comparisons <em>==</em>, <em>!=</em>, <em>></em>, <em><</em>, <em>>=</em>,
+<em><=</em>. 
+The mask comparator defaults to <kbd>eq</kbd> (equality).
+<a name="index-_002d_002dmask_002dvalue-mask_005fval"></a>
+<a name="index-_002d_002dmask_005fvalue-mask_005fval"></a>
+<a name="index-_002d_002dmsk_005fval-mask_005fval"></a>
+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
+<em>mask condition</em>.
+Thus for the <var>i</var>’th element of the hyperslab to be averaged,
+the mask condition is 
+<em>mask(i)</em> <var>mask_comp</var> <var>mask_val</var>.
+</p>
+
+<a name="nrm"></a> <!-- http://nco.sf.net/nco.html#nrm -->
+<a name="ntg"></a> <!-- http://nco.sf.net/nco.html#ntg --><hr>
+<a name="Normalization-and-Integration"></a>
+<div class="header">
+<p>
+Previous: <a href="#Mask-condition" accesskey="p" rel="previous">Mask condition</a>, Up: <a href="#ncwa-netCDF-Weighted-Averager" accesskey="u" rel="up">ncwa netCDF Weighted Averager</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Normalization-and-Integration-1"></a>
+<h4 class="subsection">4.12.2 Normalization and Integration</h4>
+<a name="index-normalization"></a>
+<a name="index-_002dN"></a>
+<a name="index-numerator"></a>
+<a name="index-integration"></a>
+<a name="index-dot-product"></a>
+<p><code>ncwa</code> 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
+‘<samp>--numerator</samp>’) prevents <code>ncwa</code> from dividing the weighted
+sum of the variable (the numerator in the averaging expression) by the
+weighted sum of the weights (the denominator in the averaging
+expression).   
+Thus ‘<samp>-N</samp>’ tells <code>ncwa</code> to return just the numerator of the
+arithmetic expression defining the operation (see <a href="#Operation-Types">Operation Types</a>). 
+</p>
+<p>With this normalization option, <code>ncwa</code> can integrate variables.
+Averages are first computed as sums, and then normalized to obtain the
+average. 
+The original sum (i.e., the numerator of the expression in
+<a href="#Operation-Types">Operation Types</a>) is output if default normalization is turned off
+(with ‘<samp><span class="nolinebreak">-N</span></samp>’<!-- /@w -->). 
+This sum is the integral (not the average) over the specified 
+(with ‘<samp><span class="nolinebreak">-a</span></samp>’<!-- /@w -->, or all, if none are specified) dimensions.
+The weighting variable, if specified (with ‘<samp><span class="nolinebreak">-w</span></samp>’<!-- /@w -->), plays the
+role of the differential increment and thus permits more sophisticated 
+integrals (i.e., weighted sums) to be output.
+For example, consider the variable 
+<code>lev</code> where <em><var>lev</var> = [100,500,1000]</em> weighted by
+the weight <code>lev_wgt</code> where <em><var>lev_wgt</var> = [10,2,1]</em>.
+<a name="index-dot-product-1"></a>
+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 is 3000.0<!-- /@w --> can be seen by inspection and verified with 
+the integration command
+</p><div class="example">
+<pre class="example">ncwa -N -a lev -v lev -w lev_wgt in.nc foo.nc;ncks foo.nc
+</pre></div>
+
+
+
+<a name="xmp_ncwa"></a> <!-- http://nco.sf.net/nco.html#xmp_ncwa --><p>EXAMPLES
+</p>
+<p>Given file <samp>85_0112.nc</samp>:
+</p><div class="example">
+<pre class="example">netcdf 85_0112 {
+dimensions:
+        lat = 64 ;
+        lev = 18 ;
+        lon = 128 ;
+        time = UNLIMITED ; // (12 currently)
+variables:
+        float lat(lat) ;
+        float lev(lev) ;
+        float lon(lon) ;
+        float time(time) ;
+        float scalar_var ;
+        float three_dmn_var(lat, lev, lon) ;
+        float two_dmn_var(lat, lev) ;
+        float mask(lat, lon) ;
+        float gw(lat) ;
+} 
+</pre></div>
+
+<p>Average all variables in <samp>in.nc</samp> over all dimensions and store
+results in <samp>out.nc</samp>:
+</p><div class="example">
+<pre class="example">ncwa in.nc out.nc
+</pre></div>
+<p>All variables in <samp>in.nc</samp> are reduced to scalars in <samp>out.nc</samp> 
+since <code>ncwa</code> averages over all dimensions unless otherwise
+specified (with ‘<samp>-a</samp>’).
+</p>
+<p>Store the zonal (longitudinal) mean of <samp>in.nc</samp> in <samp>out.nc</samp>:
+</p><div class="example">
+<pre class="example">ncwa -a lon in.nc out1.nc
+ncwa -a lon -b in.nc out2.nc
+</pre></div>
+<a name="index-degenerate-dimension-9"></a>
+<p>The first command turns <code>lon</code> into a scalar and the second retains 
+<code>lon</code> as a degenerate dimension in all variables.
+</p><div class="example">
+<pre class="example">% ncks -C -H -v lon out1.nc
+lon = 135
+% ncks -C -H -v lon out2.nc
+lon[0] = 135
+</pre></div>
+<p>In either case the tally is simply the size of <code>lon</code>, i.e., 180
+for the <samp>85_0112.nc</samp> file described by the sample header above.
+</p>
+<a name="index-gw-1"></a>
+<a name="index-Gaussian-weights"></a>
+<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="DOCF65" href="#FOOT65"><sup>65</sup></a>: 
+</p><div class="example">
+<pre class="example">ncwa -w gw -a lat in.nc out.nc
+</pre></div>
+<p>Here the tally is simply the size of <code>lat</code>, or 64.<!-- /@w -->
+The sum of the Gaussian weights is 2.0.<!-- /@w -->
+</p>
+<p>Compute the area mean over the tropical Pacific:
+</p><div class="example">
+<pre class="example">ncwa -w gw -a lat,lon -d lat,-20.,20. -d lon,120.,270. in.nc out.nc
+</pre></div>
+<p>Here the tally is 
+64 times 128 = 8192.
+</p>
+<a name="index-ORO-1"></a>
+<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="DOCF66" href="#FOOT66"><sup>66</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
+</pre></div>
+<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="DOCF67" href="#FOOT67"><sup>67</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>
+<p>Assuming 70% of the gridpoints are maritime, then here the tally is
+0.70 times 8192 = 5734.
+</p>
+<p>Compute the global annual mean over the maritime tropical Pacific:
+</p><div class="example">
+<pre class="example">ncwa -B 'ORO < 0.5'      -w gw -a lat,lon,time \
+  -d lat,-20.0,20.0 -d lon,120.0,270.0 in.nc out.nc
+ncwa -m ORO -M 0.5 -T lt -w gw -a lat,lon,time \
+  -d lat,-20.0,20.0 -d lon,120.0,270.0 in.nc out.nc
+</pre></div>
+<p>Further examples will use the one-switch specification of
+<var>mask_cond</var>.  
+</p>
+<p>Determine the total area of the maritime tropical Pacific, assuming
+the variable <var>area</var> contains the area of each gridcell
+</p><div class="example">
+<pre class="example">ncwa -N -v area -B 'ORO < 0.5' -a lat,lon \
+  -d lat,-20.0,20.0 -d lon,120.0,270.0 in.nc out.nc
+</pre></div>
+<p>Weighting <var>area</var> (e.g., by <var>gw</var>) is not appropriate because
+<var>area</var> is <em>already</em> area-weighted by definition.
+Thus the ‘<samp>-N</samp>’ switch, or, equivalently, the ‘<samp>-y ttl</samp>’ switch, 
+correctly integrate the cell areas into a total regional area.
+</p>
+<a name="index-mask-condition-1"></a>
+<a name="index-truth-condition-1"></a>
+<p>Mask a file to contain <var>_FillValue</var> everywhere except where
+<em><var>thr_min</var> <= <var>msk_var</var> <= <var>thr_max</var></em>:
+</p><div class="example">
+<pre class="example"># Set masking variable and its scalar thresholds
+export msk_var='three_dmn_var_dbl' # Masking variable
+export thr_max='20' # Maximum allowed value
+export thr_min='10' # Minimum allowed value
+ncecat -O in.nc out.nc # Wrap out.nc in degenerate "record" dimension
+ncwa -O -a record -B "${msk_var} <= ${thr_max}" out.nc out.nc
+ncecat -O out.nc out.nc # Wrap out.nc in degenerate "record" dimension
+ncwa -O -a record -B "${msk_var} >= ${thr_min}" out.nc out.nc
+</pre></div>
+<p>After the first use of <code>ncwa</code>, <samp>out.nc</samp> contains
+<var>_FillValue</var> where <code>${msk_var} >= ${thr_max}</code>.
+The process is then repeated on the remaining data to filter out 
+points where <code>${msk_var} <= ${thr_min}</code>.
+The resulting <samp>out.nc</samp> contains valid data only
+where <em><var>thr_min</var> <= <var>msk_var</var> <= <var>thr_max</var></em>.
+</p>
+<a name="ctr"></a> <!-- http://nco.sf.net/nco.html#ctr --><hr>
+<a name="Contributing"></a>
+<div class="header">
+<p>
+Next: <a href="#Quick-Start" accesskey="n" rel="next">Quick Start</a>, Previous: <a href="#Operator-Reference-Manual" accesskey="p" rel="previous">Operator Reference Manual</a>, Up: <a href="#Top" accesskey="u" rel="up">Top</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Contributing-1"></a>
+<h2 class="chapter">5 Contributing</h2>
+<a name="index-contributing"></a>
+<p>We welcome contributions from anyone.
+The project homepage at <a href="https://sf.net/projects/nco">https://sf.net/projects/nco</a>
+contains more information on how to contribute. 
+</p>
+<a name="index-PayPal"></a>
+<p>Financial contributions to <acronym>NCO</acronym> development may be made through  
+<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&currency_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="DOCF68" href="#FOOT68"><sup>68</sup></a>. 
+So you could be the third!
+</p>
+<a name="dvl"></a> <!-- http://nco.sf.net/nco.html#dvl -->
+<a name="cnt"></a> <!-- http://nco.sf.net/nco.html#cnt -->
+<a name="ppl"></a> <!-- http://nco.sf.net/nco.html#ppl --><table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">• <a href="#Contributors" accesskey="1">Contributors</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Proposals-for-Institutional-Funding" accesskey="2">Proposals for Institutional Funding</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<hr>
+<a name="Contributors"></a>
+<div class="header">
+<p>
+Next: <a href="#Proposals-for-Institutional-Funding" accesskey="n" rel="next">Proposals for Institutional Funding</a>, Previous: <a href="#Contributing" accesskey="p" rel="previous">Contributing</a>, Up: <a href="#Contributing" accesskey="u" rel="up">Contributing</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Contributors-1"></a>
+<h3 class="section">5.1 Contributors</h3>
+<p><acronym>NCO</acronym> would not exist without the dedicated efforts of the
+remarkable software engineers who conceive, develop, and
+maintain netCDF, UDUnits, and OPeNDAP.
+<a name="index-Russ-Rew"></a>
+<a name="index-John-Caron"></a>
+<a name="index-Glenn-Davis"></a>
+<a name="index-Steve-Emmerson"></a>
+<a name="index-James-Gallagher"></a>
+<a name="index-Ed-Hartnett"></a>
+<a name="index-Dennis-Heimbigner"></a>
+Since 1995 <acronym>NCO</acronym> has received support from, I believe, the
+entire staff of all these projects, including 
+Russ Rew, 
+John Caron,
+Glenn Davis, 
+Steve Emmerson, 
+James Gallagher, 
+Ed Hartnett, 
+and Dennis Heimbigner.
+In addition to their roles in maintaining the software stack on which
+<acronym>NCO</acronym> perches, Yertl-like, some of these gentlemen have advised
+or contributed to <acronym>NCO</acronym> specifically. That support is
+acknowledged separately below. 
+</p>
+<a name="index-contributors"></a>
+<p>The primary contributors to <acronym>NCO</acronym> development have been:
+</p><dl compact="compact">
+<dd><a name="index-Charlie-Zender-1"></a>
+</dd>
+<dt>Charlie Zender</dt>
+<dd><p>All concept, design and implementation from 1995-2000.
+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,
+netCDF4 integration, external funding, project management, science
+research, releases. 
+<a name="index-Henry-Butowsky"></a>
+</p></dd>
+<dt>Henry Butowsky</dt>
+<dd><p>Non-linear operations and <code>min()</code>, <code>max()</code>, <code>total()</code>
+support in <code>ncra</code> and <code>ncwa</code>. 
+Type conversion for arithmetic.
+Migration to netCDF3 API.
+<code>ncap2</code> parser, lexer, <acronym>GSL</acronym>-support, and I/O<!-- /@w -->.
+Multislabbing algorithm.
+Variable wildcarding.
+Numerous hacks.
+<code>ncap2</code> language.
+<a name="index-Rorik-Peterson"></a>
+</p></dd>
+<dt>Rorik Peterson</dt>
+<dd><p>Original autotool build support. 
+Long command-line options.
+Original UDUnits support.
+Debianization.
+Numerous bug-fixes.
+<a name="index-Daniel-Wang"></a>
+</p></dd>
+<dt>Daniel Wang</dt>
+<dd><p>Script Workflow Analysis for MultiProcessing (SWAMP).
+RPM support.
+<a name="index-Harry-Mangalam"></a>
+</p></dd>
+<dt>Harry Mangalam</dt>
+<dd><p>Benchmarking.
+OPeNDAP configuration.
+<a name="index-Pedro-Vicente"></a>
+</p></dd>
+<dt>Pedro Vicente</dt>
+<dd><p>Windows Visual Studio support.
+netCDF4 groups.
+<a name="index-Russ-Rew-1"></a>
+</p></dd>
+<dt>Russ Rew</dt>
+<dd><p>Advice on NCO structural algorithms
+<a name="index-Brian-Mays"></a>
+</p></dd>
+<dt>Brian Mays</dt>
+<dd><p>Original packaging for Debian <acronym>GNU</acronym>/Linux, <code>nroff</code> man pages.
+<a name="index-George-Shapovalov"></a>
+</p></dd>
+<dt>George Shapovalov</dt>
+<dd><p>Packaging for Gentoo <acronym>GNU</acronym>/Linux.
+<a name="index-Bill-Kocik"></a>
+</p></dd>
+<dt>Bill Kocik</dt>
+<dd><p>Memory management.
+<a name="index-Len-Makin"></a>
+</p></dd>
+<dt>Len Makin</dt>
+<dd><p>NEC SX architecture support.
+<a name="index-Jim-Edwards"></a>
+</p></dd>
+<dt>Jim Edwards</dt>
+<dd><p>AIX architecture support.
+<a name="index-Juliana-Rew"></a>
+</p></dd>
+<dt>Juliana Rew</dt>
+<dd><p>Compatibility with large <acronym>PID</acronym>s.
+<a name="index-Karen-Schuchardt"></a>
+</p></dd>
+<dt>Karen Schuchardt</dt>
+<dd><p>Auxiliary coordinate support.
+<a name="index-Gayathri-Venkitachalam"></a>
+</p></dd>
+<dt>Gayathri Venkitachalam</dt>
+<dd><p><acronym>MPI</acronym> implementation.
+<a name="index-Scott-Capps"></a>
+</p></dd>
+<dt>Scott Capps</dt>
+<dd><p>Large work-load testing
+<a name="index-Peter-Campbell"></a>
+<a name="index-Martin-Dix"></a>
+<a name="index-Mark-Flanner"></a>
+<a name="index-Markus-Liebig"></a>
+<a name="index-Keith-Lindsay"></a>
+<a name="index-Stu-Muller"></a>
+<a name="index-Mike-Page"></a>
+<a name="index-Martin-Schmidt"></a>
+<a name="index-Lori-Sentman"></a>
+<a name="index-Michael-Schulz"></a>
+<a name="index-Gary-Strand"></a>
+<a name="index-Andrew-Wittenberg"></a>
+<a name="index-George-White"></a>
+<a name="index-Remik-Ziemlinski"></a>
+</p></dd>
+<dt>Peter Campbell, Martin Dix, Mark Flanner, Markus Liebig, Keith Lindsay, Mike Page, Martin Schmidt, Michael Schulz, Lori Sentman, Gary Strand, George White Andrew Wittenberg, Remik Ziemlinski</dt>
+<dd><p>Excellent bug reports and feature requests.
+<a name="index-Daniel-Baumann"></a>
+<a name="index-Nick-Bower"></a>
+<a name="index-Luk-Claes"></a>
+<a name="index-Barry-deFreese"></a>
+<a name="index-Aleksandar-Jelenak"></a>
+<a name="index-Francesco-Lovergine"></a>
+<a name="index-Matej-Vela"></a>
+</p></dd>
+<dt>Daniel Baumann, Nick Bower, Luk Claebs, Barry deFreese, Aleksandar Jelenak, Francesco Lovergine, Matej Vela</dt>
+<dd><p>Debian packaging
+<a name="index-Patrice-Dumas"></a>
+<a name="index-Ed-Hill"></a>
+<a name="index-Orion-Powlawski"></a>
+</p></dd>
+<dt>Patrice Dumas, Ed Hill, Orion Poplawski</dt>
+<dd><p>RedHat packaging
+<a name="index-George-Shapavalov"></a>
+<a name="index-Patrick-Kursawe"></a>
+</p></dd>
+<dt>George Shapavalov, Patrick Kursawe</dt>
+<dd><p>Gentoo packaging
+<a name="index-Filipe-Fernandes"></a>
+</p></dd>
+<dt>Filipe Fernandes</dt>
+<dd><p>OpenSuse packaging
+<a name="index-Alexander-Hansen"></a>
+<a name="index-Takeshi-Enomoto"></a>
+</p></dd>
+<dt>Takeshi Enomoto, Alexander Hansen</dt>
+<dd><p>Mac OS packaging
+<a name="index-Eric-Blake"></a>
+</p></dd>
+<dt>Eric Blake</dt>
+<dd><p>Autoconf/M4 help
+<a name="index-Gavin-Burris"></a>
+<a name="index-Kyle-Wilcox"></a>
+</p></dd>
+<dt>Gavin Burris, Kyle Wilcox</dt>
+<dd><p>RHEL and CentOS build scripts and bug reports.
+<a name="index-Andrea-Cimatoribus"></a>
+</p></dd>
+<dt>Andrea Cimatoribus</dt>
+<dd><p><acronym>NCO</acronym> Spiral Logo
+<a name="index-Martin-Otte"></a>
+<a name="index-Etienne-Tourigny"></a>
+</p></dd>
+<dt>Martin Otte, Etienne Tourigny</dt>
+<dd><p>Single bug reports and fixes
+<a name="index-Wenshan-Wang"></a>
+</p></dd>
+<dt>Wenshan Wang</dt>
+<dd><p><acronym>CMIP5</acronym> and <acronym>MODIS</acronym> processing documentation.
+</p></dd>
+</dl>
+<p>Please let me know if your name was omitted!
+</p>
+<a name="prp"></a> <!-- http://nco.sf.net/nco.html#prp -->
+<a name="prp_sei"></a> <!-- http://nco.sf.net/nco.html#prp_sei -->
+<a name="fnd"></a> <!-- http://nco.sf.net/nco.html#fnd --><table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">• <a href="#Proposals-for-Institutional-Funding" accesskey="1">Proposals for Institutional Funding</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<hr>
+<a name="Proposals-for-Institutional-Funding"></a>
+<div class="header">
+<p>
+Previous: <a href="#Contributors" accesskey="p" rel="previous">Contributors</a>, Up: <a href="#Contributing" accesskey="u" rel="up">Contributing</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Proposals-for-Institutional-Funding-1"></a>
+<h3 class="section">5.2 Proposals for Institutional Funding</h3>
+<a name="index-funding"></a>
+<a name="index-proposals"></a>
+<a name="index-NSF"></a>
+<a name="index-server_002dside-processing-1"></a>
+<a name="index-Distributed-Data-Reduction-_0026-Analysis"></a>
+<a name="index-Scientific-Data-Operators"></a>
+<a name="index-DDRA"></a>
+<a name="index-Server_002dSide-Distributed-Data-Reduction-_0026-Analysis"></a>
+<a name="index-SSDDRA"></a>
+<a name="index-CCSM"></a>
+<a name="index-IPCC-1"></a>
+<a name="index-NSF-1"></a>
+<a name="index-SDO"></a>
+<a name="index-SEIII"></a>
+<a name="index-OptIPuter"></a>
+<p><acronym>NSF</acronym> has funded a
+<a href="http://nco.sf.net#prp_sei">project</a>
+to improve Distributed Data Reduction & Analysis (<acronym>DDRA</acronym>) by
+evolving <acronym>NCO</acronym> into a suite of Scientific Data Operators called 
+<acronym>SDO</acronym>.
+<a name="index-parallelism-1"></a>
+The two main components of this project are <acronym>NCO</acronym> parallelism
+(OpenMP, <acronym>MPI</acronym>) and Server-Side <acronym>DDRA</acronym>
+(<acronym>SSDDRA</acronym>) implemented through extensions to <acronym>OPeNDAP</acronym> 
+and netCDF4. 
+This project will dramatically reduce bandwidth usage for <acronym>NCO</acronym>
+<acronym>DDRA</acronym>. 
+</p>
+<a name="index-NASA"></a>
+<a name="index-NRA"></a>
+<a name="index-HDF-3"></a>
+<p>With this first <acronym>NCO</acronym> proposal funded, the content of the
+next <acronym>NCO</acronym> proposal is clear.
+We are interested in obtaining <acronym>NASA</acronym> support for
+<acronym>HDF</acronym>-specific enhancements to <acronym>NCO</acronym>. 
+We plan to submit a proposal to the next suitable <acronym>NASA</acronym>
+<acronym>NRA</acronym> or <acronym>NSF</acronym> opportunity. 
+</p>
+<p>We are considering other interesting ideas for still more proposals.
+Please contact us if you wish to be involved with any future
+<acronym>NCO</acronym>-related proposals.  
+Comments on the proposals and letters of support are also very welcome.
+</p>
+<a name="quicksrt"></a> <!-- http://nco.sf.net/nco.html#quicksrt --><hr>
+<a name="Quick-Start"></a>
+<div class="header">
+<p>
+Next: <a href="#CMIP5-Example" accesskey="n" rel="next">CMIP5 Example</a>, Previous: <a href="#Contributing" accesskey="p" rel="previous">Contributing</a>, Up: <a href="#Top" accesskey="u" rel="up">Top</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Quick-Start-1"></a>
+<h2 class="chapter">6 Quick Start</h2>
+<a name="index-Quick-Start"></a>
+<p>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
+monthly data in either one file or multiple files. 
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">• <a href="#Daily-data-in-one-file" accesskey="1">Daily data in one file</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Monthly-data-in-one-file" accesskey="2">Monthly data in one file</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#One-time-point-one-file" accesskey="3">One time point one file</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Multiple-files-with-multiple-time-points" accesskey="4">Multiple files with multiple time points</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<hr>
+<a name="Daily-data-in-one-file"></a>
+<div class="header">
+<p>
+Next: <a href="#Monthly-data-in-one-file" accesskey="n" rel="next">Monthly data in one file</a>, Previous: <a href="#Quick-Start" accesskey="p" rel="previous">Quick Start</a>, Up: <a href="#Quick-Start" accesskey="u" rel="up">Quick Start</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Daily-data-in-one-file-1"></a>
+<h3 class="section">6.1 Daily data in one file</h3>
+<a name="index-daily-data"></a>
+<p>Suppose we have daily data from Jan 1st, 1990 to Dec. 31, 2005 in the
+file of <samp>in.nc</samp> with the record dimension as <code>time</code>.
+</p>
+<p><strong>Monthly average:</strong>
+<a name="index-monthly-average"></a>
+<a name="index-average-2"></a>
+<a name="index-time_002daveraging-1"></a>
+</p><div class="example">
+<pre class="example">for yyyy in {1990..2005}; do      # Loop over years
+  for moy in {1..12}; do          # Loop over months
+    mm=$( printf "%02d" ${moy} )  # Change to 2-digit format
+
+    # Average specific month yyyy-mm
+    ncra -O -d time,"${yyyy}-${mm}-01","${yyyy}-${mm}-31" \
+         in.nc in_${yyyy}${mm}.nc
+  done
+done
+
+# Concatenate monthly files together
+ncrcat -O in_??????.nc out.nc
+</pre></div>
+
+<p><strong>Annual average:</strong>
+<a name="index-annual-average-from-daily-data"></a>
+<a name="index-average-3"></a>
+<a name="index-time_002daveraging-2"></a>
+</p><div class="example">
+<pre class="example">for yyyy in {1990..2005}; do      # Loop over years
+  ncra -O -d time,"${yyyy}-01-01","${yyyy}-12-31" in.nc in_${yyyy}.nc
+done
+
+# Concatenate annual files together
+ncrcat -O in_????.nc out.nc
+</pre></div>
+<p>The <samp>-O</samp> switch means to overwrite the pre-existing files (see <a href="#Batch-Mode">Batch Mode</a>).
+The <samp>-d</samp> option is to specify the range of hyperslabs (see <a href="#Hyperslabs">Hyperslabs</a>).
+There are detailed instructions on <code>ncra</code> (see <a href="#ncra-netCDF-Record-Averager">ncra netCDF Record Averager</a> and <code>ncrcat</code> (see <a href="#ncrcat-netCDF-Record-Concatenator">ncrcat netCDF Record Concatenator</a>).
+<acronym>NCO</acronym> supports UDUnits so that we can use readable dates as time dimension (see <a href="#UDUnits-Support">UDUnits Support</a>).
+</p>
+<hr>
+<a name="Monthly-data-in-one-file"></a>
+<div class="header">
+<p>
+Next: <a href="#One-time-point-one-file" accesskey="n" rel="next">One time point one file</a>, Previous: <a href="#Daily-data-in-one-file" accesskey="p" rel="previous">Daily data in one file</a>, Up: <a href="#Quick-Start" accesskey="u" rel="up">Quick Start</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Monthly-data-in-one-file-1"></a>
+<h3 class="section">6.2 Monthly data in one file</h3>
+<a name="index-monthly-data"></a>
+<p>Inside the input file <samp>in.nc</samp>, the record dimension <code>time</code> is from Jan 1990 to Dec 2005.
+</p>
+<p><strong>Seasonal average (e.g., DJF):</strong>
+<a name="index-seasonal-average"></a>
+<a name="index-average-4"></a>
+<a name="index-time_002daveraging-3"></a>
+</p><div class="example">
+<pre class="example">ncra -O --mro -d time,"1990-12-01",,12,3 in.nc out.nc
+</pre></div>
+
+<p><strong>Annual average:</strong>
+<a name="index-annual-average-from-monthly-data"></a>
+<a name="index-average-5"></a>
+<a name="index-time_002daveraging-4"></a>
+</p><div class="example">
+<pre class="example">ncra -O --mro -d time,,,12,12 in.nc out.nc
+</pre></div>
+<p>Here we use the subcycle feature (i.e., the number after the fourth comma: ‘<samp>3</samp>’ in the seasonal example and the second ‘<samp>12</samp>’ in the annual example) 
+to retrieve groups of records separated by regular intervals (see <a href="#Subcycle">Subcycle</a>).
+The option <samp>--mro</samp> switches <code>ncra</code> to produce a Multi-Record Output instead of a single-record output.
+For example, assume <var>snd</var> is a 3D array with dimensions <code>time</code> * <code>latitude</code> * <code>longitude</code> 
+and <code>time</code> includes every month from Jan. 1990 to Dec. 2005, 192 months as total, which are 16 years.
+Let’s look at the following two command lines.
+</p><div class="example">
+<pre class="example">ncra --mro -v snd -d time,"1990-12-01",,12,3 in.nc out_mro.nc
+ncra -v snd -d time,"1990-12-01",,12,3 in.nc out_sro.nc
+</pre></div>
+<p>In the first output file, <samp>out_mro.nc</samp>, <var>snd</var> is still a 3D array with dimensions <code>time</code> * <code>latitude</code> * <code>longitude</code>,
+but the length of <code>time</code> now is 16, meaning 16 winters.
+In the second output file, <samp>out_sro.nc</samp>, the length of <code>time</code> is only 1<!-- /@w -->.
+It is now the average of all the 16 winters.
+</p>
+<p>when using ‘<samp>-d <var>dim</var>,min[,max]</samp>’ to specify the hyperslabs,
+you can leave it blank if you want to include the minimum or the maximum of the data, like we did above.
+</p>
+<hr>
+<a name="One-time-point-one-file"></a>
+<div class="header">
+<p>
+Next: <a href="#Multiple-files-with-multiple-time-points" accesskey="n" rel="next">Multiple files with multiple time points</a>, Previous: <a href="#Monthly-data-in-one-file" accesskey="p" rel="previous">Monthly data in one file</a>, Up: <a href="#Quick-Start" accesskey="u" rel="up">Quick Start</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="One-time-point-one-file-1"></a>
+<h3 class="section">6.3 One time point one file</h3>
+<a name="index-daily-data-1"></a>
+<a name="index-monthly-data-1"></a>
+<a name="index-average-6"></a>
+<a name="index-time_002daveraging-5"></a>
+<p>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.
+For example, your daily data files may look like <samp>snd_19900101.nc</samp>, <samp>snd_19900102.nc</samp>, <samp>snd_19900103.nc</samp> ...
+If you want to know the monthly average of Jan 1990, you can write like,
+</p><div class="example">
+<pre class="example">ncra -O snd_199001??.nc out.nc
+</pre></div>
+<p>You might want to use loop if you need the average of each month.
+</p><div class="example">
+<pre class="example">for moy in {1..12}; do          # Loop over months
+  mm=$( printf "%02d" ${moy} )  # Change to 2-digit format
+
+  ncra -O snd_????${mm}??.nc out_${mm}.nc
+done
+</pre></div>
+
+<hr>
+<a name="Multiple-files-with-multiple-time-points"></a>
+<div class="header">
+<p>
+Previous: <a href="#One-time-point-one-file" accesskey="p" rel="previous">One time point one file</a>, Up: <a href="#Quick-Start" accesskey="u" rel="up">Quick Start</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Multiple-files-with-multiple-time-points-1"></a>
+<h3 class="section">6.4 Multiple files with multiple time points</h3>
+<a name="index-daily-data-2"></a>
+<a name="index-monthly-data-2"></a>
+<p>Similar as the last one, it’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 <code>ncra</code> on the specific data file.
+And for seasonal averages, you can specify the three months by shell scripts.
+</p>
+<a name="cmip5"></a> <!-- http://nco.sf.net/nco.html#cmip5 --><hr>
+<a name="CMIP5-Example"></a>
+<div class="header">
+<p>
+Next: <a href="#Parallel" accesskey="n" rel="next">Parallel</a>, Previous: <a href="#Quick-Start" accesskey="p" rel="previous">Quick Start</a>, Up: <a href="#Top" accesskey="u" rel="up">Top</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="CMIP5-Example-1"></a>
+<h2 class="chapter">7 <acronym>CMIP5</acronym> Example</h2>
+<a name="index-CMIP5"></a>
+
+<p>The fifth phase of the Coupled Model Intercomparison Project 
+(<a href="http://cmip-pcmdi.llnl.gov/cmip5/index.html?submenuheader=0"><acronym>CMIP5</acronym></a>) 
+provides a multi-model framework for comparing the mechanisms and
+responses of climate models from around the world.   
+However, it is a tremendous workload to retrieve a single climate
+statistic from all these models, each of which includes several ensemble 
+members.  
+Not only that, it is too often a repetitive process which impedes new
+research and hypothesis testing.  
+Our <acronym>NASA</acronym> <acronym>ACCESS</acronym> project is designed to simplify and
+accelerate this process.  
+To begin, we document below a prototypical example of <acronym>CMIP5</acronym>
+analysis and evaluation using traditional <acronym>NCO</acronym> commands on
+netCDF3-format model and <acronym>HDF-EOS</acronym> format observational
+(<acronym>NASA</acronym> <acronym>MODIS</acronym> satellite instrument) datasets.
+These examples complement the <acronym>NCO</acronym> User Guide by detailing
+in-depth data analysis in a frequently encountered “real world”
+context.   
+Graphical representations of the results (<acronym>NCL</acronym> scripts
+available upon request) are provided to illustrate physical meaning of
+the analysis.
+Since <acronym>NCO</acronym> can process hierarchical datasets, i.e., datasets
+stored with netCDF4 groups, we present sample scripts illustrating
+group-based processing as well. 
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">• <a href="#Combine-Files" accesskey="1">Combine Files</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Global-Distribution-of-Long_002dterm-Average" accesskey="2">Global Distribution of Long-term Average</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Annual-Average-over-Regions" accesskey="3">Annual Average over Regions</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Monthly-Cycle" accesskey="4">Monthly Cycle</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Regrid-MODIS-Data" accesskey="5">Regrid MODIS Data</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Add-Coordinates-to-MODIS-Data" accesskey="6">Add Coordinates to MODIS Data</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Permute-MODIS-Coordinates" accesskey="7">Permute MODIS Coordinates</a>:</td><td>  </td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<hr>
+<a name="Combine-Files"></a>
+<div class="header">
+<p>
+Next: <a href="#Global-Distribution-of-Long_002dterm-Average" accesskey="n" rel="next">Global Distribution of Long-term Average</a>, Previous: <a href="#CMIP5-Example" accesskey="p" rel="previous">CMIP5 Example</a>, Up: <a href="#CMIP5-Example" accesskey="u" rel="up">CMIP5 Example</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Combine-Files-1"></a>
+<h3 class="section">7.1 Combine Files</h3>
+<a name="index-file-combination"></a>
+<p>Sometimes, the data of one ensemble member will be stored in several
+files to reduce single file size.
+But it is not convenient to process in a batch mode.
+The following script illustrates how to concatenate these files into one.
+Key steps include: 
+</p><ol>
+<li> Obtain number and names (or partial names) of files in a directory
+</li><li> Concatenate files along the record dimension (usually time) using 
+<code>ncrcat</code> (see <a href="#ncrcat-netCDF-Record-Concatenator">ncrcat netCDF Record Concatenator</a>).
+</li></ol>
+<div class="example">
+<pre class="verbatim">#!/bin/bash      # shell type
+shopt -s extglob # enable extended globbing
+
+#===========================================================================
+# Some of the models cut one ensemble member into several files, 
+#  which include data of different time periods.
+# We'd better concatenate them into one at the beginning so that 
+#  we won't have to think about which files we need if we want 
+#  to retrieve a specific time period later.
+#
+# Method:
+#	- Make sure 'time' is the record dimension (i.e., left-most)
+#	- ncrcat
+#
+# Input files like:
+# /data/cmip5/snc_LImon_bcc-csm1-1_historical_r1i1p1_185001-190012.nc
+# /data/cmip5/snc_LImon_bcc-csm1-1_historical_r1i1p1_190101-200512.nc
+# 
+# Output files like:
+# /data/cmip5/snc_LImon_bcc-csm1-1_historical_r1i1p1_185001-200512.nc
+#
+# Online: http://nco.sourceforge.net/nco.html#Combine-Files
+#
+# Execute this script: bash cmb_fl.sh
+#===========================================================================
+
+drc_in='/home/wenshanw/data/cmip5/' # Directory of input files
+
+var=( 'snc' 'snd' )                 # Variables
+rlm='LImon'                         # Realm
+xpt=( 'historical' )                # Experiment ( could be more )
+
+for var_id in {0..1}; do            # Loop over two variables
+  # Names of all the models (ls [get file names]; 
+  #  cut [get model names]; 
+  #  sort; uniq [remove duplicates]; awk [print])
+  mdl_set=$( ls ${drc_in}${var[var_id]}_${rlm}_*_${xpt[0]}_*.nc | \
+    cut -d '_' -f 3 | sort | uniq -c | awk '{print $2}' )
+  # Number of models (echo [print contents]; wc [count])
+  mdl_nbr=$( echo ${mdl_set} | wc -w )
+  echo "=============================="
+  echo "There are" ${mdl_nbr} "models for" ${var[var_id]}.
+  
+  for mdl in ${mdl_set}; do	        # Loop over models
+    # Names of all the ensemble members
+    nsm_set=$( ls ${drc_in}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}_*.nc | \
+      cut -d '_' -f 5 | sort | uniq -c | awk '{print $2}' )
+    # Number of ensemble members in each model
+    nsm_nbr=$( echo ${nsm_set} | wc -w )		
+    echo "------------------------------"
+    echo "Model" ${mdl} "includes" ${nsm_nbr} "ensemble member(s):"
+    echo ${nsm_set}"."
+    
+    for nsm in ${nsm_set}; do	      # Loop over ensemble members
+      # Number of files in this ensemble member
+      fl_nbr=$( ls ${drc_in}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}_${nsm}_*.nc \
+        | wc -w ) 
+      
+      # If there is only 1 file, continue to next loop
+      if [ ${fl_nbr} -le 1 ]			
+      then
+      	echo "There is only 1 file in" ${nsm}.
+      	continue
+      fi
+      
+      echo "There are" ${fl_nbr} "files in" ${nsm}.
+      
+      # Starting date of data 
+      #   (sed [the name of the first file includes the starting date])
+      yyyymm_str=$( ls ${drc_in}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}_${nsm}_*.nc\
+        | sed -n '1p' | cut -d '_' -f 6 | cut -d '-' -f 1 )
+      # Ending date of data 
+      #   (sed [the name of the last file includes the ending date])
+      yyyymm_end=$( ls ${drc_in}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}_${nsm}_*.nc\
+        | sed -n "${fl_nbr}p" | cut -d '_' -f 6 | cut -d '-' -f 2 )
+      
+      # Concatenate one ensemble member files 
+      #   into one along the record dimension (now is time)
+      ncrcat -O ${drc_in}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}_${nsm}_*.nc \
+        ${drc_in}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}_\
+        ${nsm}_${yyyymm_str}-${yyyymm_end}
+      
+      # Remove useless files
+      rm ${drc_in}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}_${nsm}_\
+        !(${yyyymm_str}-${yyyymm_end})
+    done
+  done
+done
+</pre></div>
+
+<p>Right now, <acronym>CMIP5</acronym> model data downloaded from Earth System Grid
+Federation (<a href="http://pcmdi9.llnl.gov/esgf-web-fe/"><acronym>ESGF</acronym></a>) 
+will not contain <tt class="key">group</tt> features yet. 
+Therefore users can aggregate the flat files into groups themselves.
+The following script shows how to aggregate models to one file.
+Each dataset becomes a group in the output file.
+There can be several levels of groups.
+In this example, we employ two experiments as the top-level.
+The second-level comprises different models.
+Some models have more than one ensemble member.
+These ensemble members are on the third level.
+In each sub-group of ensemble members, we appended two variables,
+<var>snc</var> and <var>snd</var> (these stand for snow cover and snow depth, by
+the way).
+<a name="index-_002d_002dgag-1"></a>
+<a name="index-aggregation"></a>
+<a name="index-group-aggregation-1"></a>
+<a name="index-groups_002c-creating"></a>
+</p><div class="example">
+<pre class="verbatim">#!/bin/bash
+#
+#============================================================
+# Aggregate models to one group file
+#
+# Method:
+# - Create files with groups by ncecat --gag
+#	- Append groups level by level using ncks
+#
+# Input files like:
+# snc_LImon_CCSM4_historical_r1i1p1_199001-200512.nc
+# snd_LImon_CESM1-BGC_esmHistorical_r1i1p1_199001-200512.nc
+# 
+# Output files like:
+# sn_LImon_199001-200512.nc
+#
+# Online: http://nco.sourceforge.net/nco.html#Combine-Files
+#
+# Execute this script: bash cmb_fl_grp.sh
+#============================================================
+
+# Directories
+drc_in='../data/'
+drc_out='../data/grp/'
+
+# Constants
+rlm='LImon'         # Realm: LandIce; Time frequency: monthly
+tms='200001-200512' # Timeseris
+flt='nc'            # File Type
+
+# Geographical weights
+# Can be skipped when ncap2 works on group data
+# Loop over all snc files
+for fn in $( ls ${drc_in}snc_${rlm}_*_${tms}.${flt} ); do
+  ncap2 -O -s \
+    'gw = float(cos(lat*3.1416/180.)); gw at long_name="geographical weight";'\
+    ${fn} ${fn}
+done
+
+var=( 'snc' 'snd' )
+xpt=( 'esmHistorical' 'historical' )
+mdl=( 'CCSM4' 'CESM1-BGC' 'CESM1-CAM5' )
+
+for i in {0..1}; do     # Loop over variables
+  for j in {0..1}; do   # Loop over experiments
+    for k in {0..2}; do # Loop over models
+      ncecat -O --glb_mtd_spp -G ${xpt[j]}/${mdl[k]}/${mdl[k]}_ \
+        ${drc_in}${var[i]}_${rlm}_${mdl[k]}_${xpt[j]}_*_${tms}.${flt} \
+        ${drc_out}${var[i]}_${rlm}_${mdl[k]}_${xpt[j]}_all-nsm_${tms}.${flt}
+      ncks -A \
+        ${drc_out}${var[i]}_${rlm}_${mdl[k]}_${xpt[j]}_all-nsm_${tms}.${flt} \
+        ${drc_out}${var[i]}_${rlm}_${mdl[0]}_${xpt[j]}_all-nsm_${tms}.${flt}
+    done                # Loop done: models
+    ncks -A \
+      ${drc_out}${var[i]}_${rlm}_${mdl[0]}_${xpt[j]}_all-nsm_${tms}.${flt} \
+      ${drc_out}${var[i]}_${rlm}_${mdl[0]}_${xpt[0]}_all-nsm_${tms}.${flt}
+  done                  # Loop done: experiments
+  ncks -A \
+    ${drc_out}${var[i]}_${rlm}_${mdl[0]}_${xpt[0]}_all-nsm_${tms}.${flt} \
+    ${drc_out}${var[0]}_${rlm}_${mdl[0]}_${xpt[0]}_all-nsm_${tms}.${flt}
+done                    # Loop done: variables
+
+# Rename output file
+mv ${drc_out}${var[0]}_${rlm}_${mdl[0]}_${xpt[0]}_all-nsm_${tms}.${flt} \
+  ${drc_out}sn_${rlm}_all-mdl_all-xpt_all-nsm_${tms}.${flt}
+# Remove temporary files
+rm ${drc_out}sn?_${rlm}*.nc
+
+#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+# Coming soon!
+#- Group names: 
+#   E.g., file snc_LImon_CESM1-CAM5_historical_r1i1p1_199001-200512.nc
+#   will be group /historical/CESM1-CAM5/00
+#- You can rename groups on the last level to be more meaningful by
+#ncrename -g ${xpt}/${mdl}/02,${xpt}/${mdl}/r3i1p1 \
+#  ${drc_out}${var}_${rlm}_${mdl}_all-nsm_${tms}.${flt}
+#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+#------------------------------------------------------------
+# Output file structure
+#------------------------------------------------------------
+# esmHistorical 
+# {
+#   CESM1-BGC 
+#   {
+#     CESM1-BGC_00 
+#     {
+#       snc(time, lat, lon)
+#       snd(time, lat, lon)
+#     }
+#   }
+# }
+# historical
+# {
+#    CCSM4
+#    {
+#      CCSM4_00
+#      {
+#       snc(time, lat, lon)
+#       snd(time, lat, lon)
+#      }
+#      CCSM4_01
+#      {
+#       snc(time, lat, lon)
+#       snd(time, lat, lon)
+#      }
+#      CCSM4_02 { ... }
+#      CCSM4_03 { ... }
+#      CCSM4_04 { ... }
+#    }
+#    CESM1-BGC
+#    {
+#      CESM1-BGC_00 { ... }
+#    }
+#    CESM1-CAM5
+#    {
+#      CESM1-CAM5_00 { ... }
+#      CESM1-CAM5_01 { ... }
+#      CESM1-CAM5_02 { ... }
+#    }
+# }
+</pre></div>
+
+<hr>
+<a name="Global-Distribution-of-Long_002dterm-Average"></a>
+<div class="header">
+<p>
+Next: <a href="#Annual-Average-over-Regions" accesskey="n" rel="next">Annual Average over Regions</a>, Previous: <a href="#Combine-Files" accesskey="p" rel="previous">Combine Files</a>, Up: <a href="#CMIP5-Example" accesskey="u" rel="up">CMIP5 Example</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Global-Distribution-of-Long_002dterm-Average-1"></a>
+<h3 class="section">7.2 Global Distribution of Long-term Average</h3>
+<a name="index-spatial-distribution"></a>
+<a name="index-long_002dterm-average"></a>
+<a name="index-average-7"></a>
+<a name="index-time_002daveraging-6"></a>
+<div class="float"><a name="fgr_003aglb"></a>
+<img src="xmp/fgr1.png" alt="xmp/fgr1"> 
+
+<div class="float-caption"><p><strong>Figure 7.1: </strong>Global Distribution of Long-term Average.</p></div></div><p>This section illustrates how to calculate the global distribution of
+long-term average (see <a href="#fgr_003aglb">Figure 7.1</a>) with either flat files or 
+<a href="http://nco.sourceforge.net/nco.html#index-groups">group file</a>.
+Key steps include: 
+</p><ol>
+<li> Average ensemble members of each model using <code>nces</code> (see <a href="#nces-netCDF-Ensemble-Statistics">nces netCDF Ensemble Statistics</a>)
+</li><li> Average the record dimension using <code>ncra</code> (see <a href="#ncra-netCDF-Record-Averager">ncra netCDF Record Averager</a>)
+</li><li> Store results of each model as a distinct group in a single output file using <code>ncecat</code> (see <a href="#ncrcat-netCDF-Record-Concatenator">ncrcat netCDF Record Concatenator</a>) with the <samp>--gag</samp> option
+</li></ol>
+<p>The first example shows how to process flat files.
+</p><div class="example">
+<pre class="verbatim">#!/bin/bash
+
+#===========================================================================
+# After cmb_fl.sh
+# Example: Long-term average of each model globally
+#
+# Input files like:
+# /data/cmip5/snc_LImon_bcc-csm1-1_historical_r1i1p1_185001-200512.nc
+# 
+# Output files like:
+# /data/cmip5/output/snc/snc_LImon_all-mdl_historical_all-nsm_clm.nc
+#
+# Online: 
+#  http://nco.sourceforge.net/nco.html#Global-Distribution-of-Long_002dterm-Average
+#
+# Execute this script: bash glb_avg.sh
+#===========================================================================
+
+#---------------------------------------------------------------------------
+# Parameters
+drc_in='/home/wenshanw/data/cmip5/'         # Directory of input files
+drc_out='/home/wenshanw/data/cmip5/output/' # Directory of output files
+
+var=( 'snc' 'snd' )                         # Variables
+rlm='LImon'                                 # Realm
+xpt=( 'historical' )                        # Experiment ( could be more )
+
+fld_out=( 'snc/' 'snd/' )                   # Folders of output files
+#---------------------------------------------------------------------------
+
+for var_id in {0..1}; do	                  # Loop over two variables
+  # Names of all models 
+  #   (ls [get file names]; cut [get the part for model names]; 
+  #   sort; uniq [remove duplicates]; awk [print])
+  mdl_set=$( ls ${drc_in}${var[var_id]}_${rlm}_*_${xpt[0]}_*.nc | \
+    cut -d '_' -f 3 | sort | uniq -c | awk '{print $2}' )
+  # Number of models (echo [print contents]; wc [count])
+  mdl_num=$( echo ${mdl_set} | wc -w )		
+  
+  for mdl in ${mdl_set}; do				          # Loop over models
+  	# Average all the ensemble members of each model
+    # Use nces file ensembles mode: --nsm_fl
+  	nces --nsm_fl -O -4 -d time,"1956-01-01 00:00:0.0","2005-12-31 23:59:9.9" \
+      ${drc_in}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}_*.nc \
+      ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}\
+      _all-nsm_195601-200512.nc
+  	
+  	# Average along time
+  	ncra -O ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}\
+      _all-nsm_195601-200512.nc \
+      ${drc_out}${fld_out[var_id]}${var[var_id]}_${mdl}.nc
+  
+  	echo Model ${mdl} done!
+  done
+
+	# Remove temporary files
+	rm ${drc_out}${fld_out[var_id]}${var[var_id]}*historical*.nc
+  
+  # Store models as groups in the output file
+  ncecat -O --gag ${drc_out}${fld_out[var_id]}${var[var_id]}_*.nc \
+    ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_\
+    all-mdl_${xpt[0]}_all-nsm_clm.nc
+
+	echo Var ${var[var_id]} done!
+done
+</pre></div>
+
+<p>With the use of <tt class="key">group</tt>, the above script
+will be shortened to just TWO LINES<!-- /@w -->.
+<a name="index-groups_002c-averaging"></a>
+</p><div class="example">
+<pre class="example"># Data from cmb_fl_grp.sh
+# ensemble averaging
+nces -O --nsm_grp --nsm_sfx='_avg' \
+sn_LImon_all-mdl_all-xpt_all-nsm_200001-200512.nc \
+  sn_LImon_all-mdl_all-xpt_nsm-avg.nc
+ncra -O -g 'avg$' sn_LImon_all-mdl_all-xpt_nsm-avg.nc \
+  sn_LImon_all-mdl_all-xpt_nsm-avg_tm-avg.nc
+</pre></div>
+<p>The input file, <samp>sn_LImon_all-mdl_all-xpt_all-nsm_200001-200512.nc</samp>, produced by <samp>cmb_fl_grp.sh</samp>, 
+includes all the ensemble members as groups.
+The option ‘<samp>--nsm_grp</samp>’ denotes 
+that we are using <a href="http://nco.sf.net/nco.html#nsm_grp">group ensembles mode</a> of <code>nces</code>,
+instead of <a href="http://nco.sf.net/nco.html#nsm_fl">file ensembles mode</a>, ‘<samp>--nsm_fl</samp>’.
+The option ‘<samp>--nsm_sfx='_avg'</samp>’ instructs <code>nces</code> 
+to store the output as a new child group <samp>/[model]/[model name]_avg</samp>,
+instead of in the parent group <samp>/[model]</samp>. 
+In the final output file, <samp>sn_LImon_all-mdl_all-xpt_nsm-avg_tm-avg.nc</samp>, 
+sub-groups with a suffix of ‘avg’ are the long-term averages of each model.
+Here, ‘<samp>-g 'avg$'</samp>’ is used to retrieve groups having ’avg’ at the end of their names,
+i.e., the long-term average groups.
+</p>
+<hr>
+<a name="Annual-Average-over-Regions"></a>
+<div class="header">
+<p>
+Next: <a href="#Monthly-Cycle" accesskey="n" rel="next">Monthly Cycle</a>, Previous: <a href="#Global-Distribution-of-Long_002dterm-Average" accesskey="p" rel="previous">Global Distribution of Long-term Average</a>, Up: <a href="#CMIP5-Example" accesskey="u" rel="up">CMIP5 Example</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Annual-Average-over-Regions-1"></a>
+<h3 class="section">7.3 Annual Average over Regions</h3>
+<a name="index-annual-average"></a>
+<a name="index-average-8"></a>
+<a name="index-time_002daveraging-7"></a>
+<a name="index-area_002daveraging"></a>
+<a name="index-dimension-order"></a>
+<a name="index-anomalies-1"></a>
+<a name="index-standard-deviation-2"></a>
+<a name="index-renaming-variables-1"></a>
+<a name="index-attributes_002c-editing-1"></a>
+<a name="index-attributes_002c-modifying-1"></a>
+<a name="index-attributes_002c-overwriting-1"></a>
+<a name="index-regression"></a>
+<a name="index-nco-script-file"></a>
+<a name="index-variables_002c-appending"></a>
+<div class="float"><a name="fgr_003aanl"></a>
+<img src="xmp/fgr2.png" alt="xmp/fgr2">
+
+<div class="float-caption"><p><strong>Figure 7.2: </strong>Annual Average over Regions.</p></div></div><p>This section illustrates how to calculate the annual average over
+specific regions (see <a href="#fgr_003aanl">Figure 7.2</a>).
+Key steps include: 
+</p><ol>
+<li> Spatial average using <code>ncap2</code> (see <a href="#ncap2-netCDF-Arithmetic-Processor">ncap2 netCDF Arithmetic Processor</a>) and <code>ncwa</code> (see <a href="#ncwa-netCDF-Weighted-Averager">ncwa netCDF Weighted Averager</a>); 
+</li><li> Change dimension order using <code>ncpdq</code> (see <a href="#ncpdq-netCDF-Permute-Dimensions-Quickly">ncpdq netCDF Permute Dimensions Quickly</a>);
+</li><li> Annual average using <code>ncra</code> (see <a href="#ncra-netCDF-Record-Averager">ncra netCDF Record Averager</a>);
+</li><li> Anomaly from long-term average using <code>ncbo</code> (see <a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a>);
+</li><li> Standard deviation using <code>ncbo</code> (see <a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a>) and <code>nces</code> (see <a href="#nces-netCDF-Ensemble-Statistics">nces netCDF Ensemble Statistics</a>);
+</li><li> Rename variables using <code>ncrename</code> (see <a href="#ncrename-netCDF-Renamer">ncrename netCDF Renamer</a>);
+</li><li> Edit attributions using <code>ncatted</code> (see <a href="#ncatted-netCDF-Attribute-Editor">ncatted netCDF Attribute Editor</a>);
+</li><li> Linear regression using <code>ncap2</code> (see <a href="#ncap2-netCDF-Arithmetic-Processor">ncap2 netCDF Arithmetic Processor</a>);
+</li><li> Use <code>ncap2</code> (see <a href="#ncap2-netCDF-Arithmetic-Processor">ncap2 netCDF Arithmetic Processor</a>) with nco script file (i.e., <samp>.nco</samp> file);
+</li><li> Move variables around using <code>ncks</code> (see <a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a>).
+</li></ol>
+<p><strong>Flat files example</strong>
+</p><div class="example">
+<pre class="verbatim">#!/bin/bash
+# Includes gsl_rgr.nco
+
+#===========================================================================
+# After cmb_fl.sh
+# Example: Annual trend of each model over Greenland and Tibet 
+#   ( time- and spatial-average, standard deviation, 
+#   anomaly and linear regression)
+#
+# Input files:
+# /data/cmip5/snc_LImon_bcc-csm1-1_historical_r1i1p1_185001-200512.nc
+#
+# Output files:
+# /data/cmip5/outout/snc/snc_LImon_all-mdl_historical_all-nsm_annual.nc
+#
+# Online: http://nco.sourceforge.net/nco.html#Annual-Average-over-Regions
+#
+# Execute this script: bash ann_avg.sh
+#===========================================================================
+
+#---------------------------------------------------------------------------
+# Parameters
+drc_in='/home/wenshanw/data/cmip5/'         # Directory of input files
+drc_out='/home/wenshanw/data/cmip5/output/' # Directory of output files
+
+var=( 'snc' 'snd' )                         # Variables
+rlm='LImon'                                 # Realm
+xpt=( 'historical' )                        # Experiment ( could be more )
+
+fld_out=( 'snc/' 'snd/' )                   # Folders of output files
+# ------------------------------------------------------------
+
+for var_id in {0..1}; do                    # Loop over two variables
+  # Names of all models 
+  #   (ls [get file names]; cut [get the part for model names]; 
+  #   sort; uniq [remove duplicates]; awk [print])
+  mdl_set=$( ls ${drc_in}${var[var_id]}_${rlm}_*_${xpt[0]}_*.nc | \
+    cut -d '_' -f 3 | sort | uniq -c | awk '{print $2}' )
+  
+  for mdl in ${mdl_set}; do		              # Loop over models
+  	# Loop over ensemble members
+    for fn in $( ls ${drc_in}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}_*.nc ); do
+      pfx=$( echo ${fn} | cut -d'/' -f6 | cut -d'_' -f1-5 )
+    
+      # Two regions
+      # Geographical weight
+      ncap2 -O -s 'gw = cos(lat*3.1415926/180.); gw at long_name="geographical weight"\
+        ;gw at units="ratio"' ${fn} ${drc_out}${fld_out[var_id]}${pfx}_gw.nc
+      # Greenland
+      ncwa -O -w gw -d lat,60.0,75.0 -d lon,300.0,340.0 -a lat,lon \
+        ${drc_out}${fld_out[var_id]}${pfx}_gw.nc \
+        ${drc_out}${fld_out[var_id]}${pfx}_gw_1.nc
+      # Tibet
+      ncwa -O -w gw -d lat,30.0,40.0 -d lon,80.0,100.0 -a lat,lon \
+        ${drc_out}${fld_out[var_id]}${pfx}_gw.nc \
+        ${drc_out}${fld_out[var_id]}${pfx}_gw_2.nc
+    
+      # Aggregate 2 regions together
+      ncecat -O -u rgn ${drc_out}${fld_out[var_id]}${pfx}_gw_?.nc \
+        ${drc_out}${fld_out[var_id]}${pfx}_gw_rgn4.nc
+
+      # Change dimensions order
+      ncpdq -O -a time,rgn ${drc_out}${fld_out[var_id]}${pfx}_gw_rgn4.nc \
+        ${drc_out}${fld_out[var_id]}${pfx}_gw_rgn4.nc
+
+      # Remove temporary files (optional)
+      rm ${drc_out}${fld_out[var_id]}${pfx}_gw_?.nc \
+        ${drc_out}${fld_out[var_id]}${pfx}_gw.nc
+    
+      # Annual average (use the feature of 'Duration')
+      ncra -O --mro -d time,"1956-01-01 00:00:0.0","2005-12-31 23:59:9.9",12,12 \
+        ${drc_out}${fld_out[var_id]}${pfx}_gw_rgn4.nc \
+        ${drc_out}${fld_out[var_id]}${pfx}_yrly.nc
+    
+      # Anomaly
+      # Long-term average
+      ncwa -O -a time ${drc_out}${fld_out[var_id]}${pfx}_yrly.nc \
+        ${drc_out}${fld_out[var_id]}${pfx}_clm.nc
+      # Subtract long-term average
+      ncbo -O --op_typ=- ${drc_out}${fld_out[var_id]}${pfx}_yrly.nc \
+        ${drc_out}${fld_out[var_id]}${pfx}_clm.nc \
+        ${drc_out}${fld_out[var_id]}${pfx}_anm.nc
+    done
+    
+    rm ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}_*_yrly.nc
+    
+    # Average over all the ensemble members
+    ncea -O -4 ${drc_out}${fld_out[var_id]}${var[var_id]}_\
+      ${rlm}_${mdl}_${xpt[0]}_*_anm.nc ${drc_out}${fld_out[var_id]}\
+      ${var[var_id]}_${rlm}_${mdl}_${xpt[0]}_all-nsm_anm.nc
+    
+    # Standard deviation ------------------------------
+    for fn in $( ls ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_${mdl}_\
+      ${xpt[0]}_*_anm.nc ); do
+      pfx=$( echo ${fn} | cut -d'/' -f8 | cut -d'_' -f1-5 )
+    
+      # Difference between each ensemble member and the average of all members
+      ncbo -O --op_typ=- ${fn} \
+        ${drc_out}${fld_out[var_id]}${var[var_id]}_\
+        ${rlm}_${mdl}_${xpt[0]}_all-nsm_anm.nc \
+        ${drc_out}${fld_out[var_id]}${pfx}_dlt.nc
+    done
+    
+    # RMS
+    ncea -O -y rmssdn ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_\
+      ${mdl}_${xpt[0]}_*_dlt.nc \
+      ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_\
+      ${mdl}_${xpt[0]}_all-nsm_sdv.nc
+    # Rename variables
+    ncrename -v ${var[var_id]},sdv \
+      ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_\
+      ${mdl}_${xpt[0]}_all-nsm_sdv.nc
+    # Edit attributions
+    ncatted -a standard_name,sdv,a,c,"_standard_deviation_over_ensemble" \
+      -a long_name,sdv,a,c," Standard Deviation over Ensemble" \
+      -a original_name,sdv,a,c," sdv" \
+      ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_\
+      ${mdl}_${xpt[0]}_all-nsm_sdv.nc
+    #------------------------------------------------------------
+  
+    # Linear regression -----------------------------------------
+    #!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+    # Have to change the name of variable in the commands file 
+    #   of gsl_rgr.nco manually (gsl_rgr.nco is listed below)
+    ncap2 -O -S gsl_rgr.nco \
+      ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_\
+      ${mdl}_${xpt[0]}_all-nsm_anm.nc ${drc_out}${fld_out[var_id]}${var[var_id]}\
+      _${rlm}_${mdl}_${xpt[0]}_all-nsm_anm_rgr.nc
+    #!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+    # Get rid of temporary variables
+    ncks -O -v c0,c1,pval,${var[var_id]},gw \
+      ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_${mdl}_\
+      ${xpt[0]}_all-nsm_anm_rgr.nc \
+      ${drc_out}${fld_out[var_id]}${var[var_id]}_${mdl}.nc
+    #------------------------------------------------------------
+    
+    # Move the variable 'sdv' into the anomaly files (i.e., *anm.nc files)
+    ncks -A -v sdv \
+      ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_\
+      ${mdl}_${xpt[0]}_all-nsm_sdv.nc \
+      ${drc_out}${fld_out[var_id]}${var[var_id]}_${mdl}.nc
+    rm ${drc_out}${fld_out[var_id]}${var[var_id]}_*historical*
+    
+    echo Model ${mdl} done!
+  done
+  
+  # Store models as groups in the output file
+  ncecat -O --gag ${drc_out}${fld_out[var_id]}${var[var_id]}_*.nc 
+  ${drc_out}${fld_out[var_id]}${var[var_id]}_\
+    ${rlm}_all-mdl_${xpt[0]}_all-nsm_annual.nc
+
+  echo Var ${var[var_id]} done!
+done
+</pre></div>
+<p><strong>gsl_rgr.nco</strong>
+</p><div class="example">
+<pre class="verbatim">// Linear Regression
+// Called by ann_avg.sh
+// Caution: make sure the variable name is 
+//  in agreement with the main script (now is 'snd')
+// Online: http://nco.sourceforge.net/nco.html#Annual-Average-over-Regions
+
+// Declare variables
+*c0[$rgn]=0.;        // Intercept
+*c1[$rgn]=0.;        // Slope
+*sdv[$rgn]=0.;       // Standard deviation
+*covxy[$rgn]=0.;     // Covariance
+*x = double(time);
+
+for (*rgn_id=0;rgn_id<$rgn.size;rgn_id++)   // Loop over regions
+{
+	gsl_fit_linear(time,1,snd(:,rgn_id),1,$time.size, \
+    &tc0, &tc1, &cov00, &cov01,&cov11,&sumsq); // Linear regression function
+	c0(rgn_id) = tc0;    // Output results
+	c1(rgn_id) = tc1;
+	covxy(rgn_id) = gsl_stats_covariance(time,1,\
+    $time.size,double(snd(:,rgn_id)),1,$time.size); // Covariance function
+	sdv(rgn_id) = gsl_stats_sd(snd(:,rgn_id), \
+    1, $time.size);   // Standard deviation function
+}
+
+// P value------------------------------------------------------------
+*time_sdv = gsl_stats_sd(time, 1, $time.size);
+*r_value = covxy/(time_sdv*sdv); 
+*t_value = r_value/sqrt((1-r_value^2)/($time.size-2));
+pval = abs(gsl_cdf_tdist_P(t_value, $time.size-2) - \
+  gsl_cdf_tdist_P(-t_value, $time.size-2));
+//----------------------------------------------------------------
+
+// Write RAM variables to disk
+//------------------------------------------------------------
+// Usually NCO writes the outputs directly to disk
+// Using RAM variables, declared by *, will shorten running time
+// Output the final results using ram_write()
+//------------------------------------------------------------
+ram_write(c0);
+ram_write(c1);
+</pre></div>
+
+<p>With the <tt class="key">group</tt> feature, 
+all the loops over experiments, models and ensemble members can be omitted.
+As we are working on implementing <tt class="key">group</tt> feature in all <acronym>NCO</acronym> operators,
+some functions (e.g., regression and standard deviation over ensemble members) 
+may have to wait until the new versions.
+<a name="index-group_002c-spatial-averaging"></a>
+<a name="index-group_002c-temporal-averaging"></a>
+<a name="index-group_002c-anomaly"></a>
+<a name="index-group_002c-standard-deviation"></a>
+<a name="index-group_002c-aggregation"></a>
+<a name="index-group_002c-dimension-permutation"></a>
+</p><div class="example">
+<pre class="verbatim">#!/bin/bash
+#
+#============================================================
+# Group data output by cmb_fl_grp.sh
+# Annual trend of each model over Greenland and Tibet 
+# Time- and spatial-average, standard deviation and anomaly
+# No regression yet (needs ncap2)
+#
+# Input files:
+# sn_LImon_all-mdl_all-xpt_all-nsm_200001-200512.nc
+#
+# Online: http://nco.sourceforge.net/nco.html#Annual-Average-over-Regions
+#
+# Execute this script: bash ann_avg_grp.sh
+#===========================================================================
+# Input and output directory
+drc='../data/grp/'
+
+# Constants
+pfx='sn_LImon_all-mdl_all-xpt_all-nsm'
+tms='200001-200512'           # Time series
+
+# Greenland
+ncwa -O -w gw -d lat,60.0,75.0 -d lon,300.0,340.0 -a lat,lon \
+  ${drc}${pfx}_${tms}.nc \
+  ${drc}${pfx}_${tms}_grl.nc
+# Tibet
+ncwa -O -w gw -d lat,30.0,40.0 -d lon,80.0,100.0 -a lat,lon \
+  ${drc}${pfx}_${tms}.nc \
+  ${drc}${pfx}_${tms}_tbt.nc
+
+# Aggregate 2 regions together
+ncecat -O -u rgn ${drc}${pfx}_${tms}_???.nc \
+  ${drc}${pfx}_${tms}_rgn2.nc
+
+# Change dimensions order
+ncpdq -O -a time,rgn ${drc}${pfx}_${tms}_rgn2.nc \
+  ${drc}${pfx}_${tms}_rgn2.nc
+
+# Remove temporary files (optional)
+rm ${drc}${pfx}_${tms}_???.nc
+
+#Annual average
+ncra -O --mro -d time,,,12,12 ${drc}${pfx}_${tms}_rgn2.nc \
+  ${drc}${pfx}_${tms}_rgn2_ann.nc
+
+# Anomaly
+#------------------------------------------------------------
+# Long-term average
+ncwa -O -a time ${drc}${pfx}_${tms}_rgn2_ann.nc \
+  ${drc}${pfx}_${tms}_rgn2_clm.nc
+# Subtract
+ncbo -O --op_typ=- ${drc}${pfx}_${tms}_rgn2_ann.nc \
+  ${drc}${pfx}_${tms}_rgn2_clm.nc \
+  ${drc}${pfx}_${tms}_rgn2_anm.nc
+#------------------------------------------------------------
+
+# Standard Deviation: inter-annual variability 
+# RMS of the above anomaly
+ncra -O -y rmssdn ${drc}${pfx}_${tms}_rgn2_anm.nc \
+  ${drc}${pfx}_${tms}_rgn2_stddev.nc
+</pre></div>
+
+<hr>
+<a name="Monthly-Cycle"></a>
+<div class="header">
+<p>
+Next: <a href="#Regrid-MODIS-Data" accesskey="n" rel="next">Regrid MODIS Data</a>, Previous: <a href="#Annual-Average-over-Regions" accesskey="p" rel="previous">Annual Average over Regions</a>, Up: <a href="#CMIP5-Example" accesskey="u" rel="up">CMIP5 Example</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Monthly-Cycle-1"></a>
+<h3 class="section">7.4 Monthly Cycle</h3>
+<a name="index-monthly-average-1"></a>
+<a name="index-average-9"></a>
+<a name="index-time_002daveraging-8"></a>
+<a name="index-anomalies-2"></a>
+<a name="index-geographical-weight"></a>
+<a name="index-weighted-average-1"></a>
+<div class="float"><a name="fgr_003amon"></a>
+<img src="xmp/fgr3.png" alt="xmp/fgr3">
+
+<div class="float-caption"><p><strong>Figure 7.3: </strong>Monthly Cycle.</p></div></div><p>This script illustrates how to calculate the monthly anomaly from the
+annual average (see <a href="#fgr_003amon">Figure 7.3</a>). 
+In order to keep only the monthly cycle,
+we will subtract the annual average of each year from the monthly data,
+instead of subtracting the long-term average.
+This is a little more complicated in coding since we need to loop over years. 
+</p>
+<p><strong>Flat files example</strong>
+</p><div class="example">
+<pre class="verbatim">#!/bin/bash
+
+#============================================================
+# After cmb_fl.sh
+# Example: Monthly cycle of each model in Greenland
+#
+# Input files:
+# /data/cmip5/snc_LImon_bcc-csm1-1_historical_r1i1p1_185001-200512.nc
+#
+# Output files:
+# /data/cmip5/snc/snc_LImon__all-mdl_historical_all-nsm_GN_mthly-anm.nc
+#
+# Online: http://nco.sourceforge.net/nco.html#Monthly-Cycle
+#
+# Execute this script: bash mcc.sh
+#============================================================
+
+#------------------------------------------------------------
+# Parameters
+drc_in='/home/wenshanw/data/cmip5/'		# Directory of input files
+drc_out='/home/wenshanw/data/cmip5/output/'	# Directory of output files
+
+var=( 'snc' 'snd' )		# Variables
+rlm='LImon'			# Realm
+xpt=( 'historical' )		# Experiment ( could be more )
+
+fld_out=( 'snc/' 'snd/' )		# Folders of output files
+#------------------------------------------------------------
+
+for var_id in {0..1}; do		# Loop over two variables
+  # names of all models 
+  #  (ls [get file names]; cut [get the part for model names]; 
+  #  sort; uniq [remove duplicates]; awk [print])
+  mdl_set=$( ls ${drc_in}${var[var_id]}_${rlm}_*_${xpt[0]}_*.nc | \
+    cut -d '_' -f 3 | sort | uniq -c | awk '{print $2}' )
+
+  for mdl in ${mdl_set}; do		## Loop over models
+    # Average all the ensemble members of each model
+    ncea -O -4 -d time,"1956-01-01 00:00:0.0","2005-12-31 23:59:9.9" \
+      ${drc_in}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}_*.nc \
+      ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}_all-nsm.nc
+    
+    # Greenland
+    # Geographical weight
+    ncap2 -O -s \
+      'gw = cos(lat*3.1415926/180.); \
+      gw at long_name="geographical weight";gw at units="ratio"' \
+      ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}_all-nsm.nc \
+      ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}_all-nsm.nc
+    ncwa -O -w gw -d lat,60.0,75.0 -d lon,300.0,340.0 -a lat,lon \
+      ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}_all-nsm.nc \
+      ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}_all-nsm_GN.nc
+    
+    # Anomaly----------------------------------------
+    for moy in {1..12}; do		# Loop over months
+      mm=$( printf "%02d" ${moy} )	# Change to 2-digit format
+      
+      for yr in {1956..2005}; do		# Loop over years
+        # If January, calculate the annual average
+        if [ ${moy} -eq 1 ]; then	 
+        	ncra -O -d time,"${yr}-01-01 00:00:0.0","${yr}-12-31 23:59:9.9" \
+            ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_${mdl}_\
+            ${xpt[0]}_all-nsm_GN.nc ${drc_out}${fld_out[var_id]}${var[var_id]}_\
+            ${rlm}_${mdl}_${xpt[0]}_all-nsm_GN_${yr}.nc
+        fi
+        
+        # The specific month
+        ncks -O -d time,"${yr}-${mm}-01 00:00:0.0","${yr}-${mm}-31 23:59:9.9" \
+          ${drc_out}${fld_out[var_id]}${var[var_id]}_\
+          ${rlm}_${mdl}_${xpt[0]}_all-nsm_GN.nc \
+          ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}_\
+          all-nsm_GN_${yr}${mm}.nc
+        # Subtract the annual average from the monthly data
+        ncbo -O --op_typ=- ${drc_out}${fld_out[var_id]}${var[var_id]}_\
+          ${rlm}_${mdl}_${xpt[0]}_all-nsm_GN_${yr}${mm}.nc \
+          ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}_\
+          all-nsm_GN_${yr}.nc ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_\
+          ${mdl}_${xpt[0]}_all-nsm_GN_${yr}${mm}_anm.nc
+      done
+      
+      # Average over years
+      ncra -O ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_${mdl}_\
+        ${xpt[0]}_all-nsm_GN_????${mm}_anm.nc \
+        ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_${mdl}_\
+        ${xpt[0]}_all-nsm_GN_${mm}_anm.nc
+    done
+    #--------------------------------------------------
+    
+    # Concatenate months together
+    ncrcat -O ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_${mdl}_\
+      ${xpt[0]}_all-nsm_GN_??_anm.nc \
+      ${drc_out}${fld_out[var_id]}${var[var_id]}_${mdl}.nc
+    
+    echo Model ${mdl} done!
+  done
+  
+  rm -f ${drc_out}${fld_out[var_id]}${var[var_id]}*historical*
+  
+  # Store models as groups in the output file
+  ncecat -O --gag -v ${var[var_id]} \
+    ${drc_out}${fld_out[var_id]}${var[var_id]}_*.nc \
+    ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_all-mdl_\
+    ${xpt[0]}_all-nsm_GN_mthly-anm.nc
+  
+  echo Var ${var[var_id]} done!
+done
+</pre></div>
+<p>Using <tt class="key">group</tt> feature and <a href="http://nco.sourceforge.net/nco.html#Hyperslabs">hyperslabs</a> of <code>ncbo</code>,
+the script will be shortened.
+</p><div class="example">
+<pre class="verbatim">#!/bin/bash
+
+#============================================================
+# Monthly cycle of each ensemble member in Greenland
+#
+# Input file from cmb_fl_grpsh
+#   sn_LImon_all-mdl_all-xpt_all-nsm_199001-200512.nc
+# Online: http://nco.sourceforge.net/nco.html#Monthly-Cycle
+#
+# Execute this script in command line: bash mcc_grp.sh
+#============================================================
+# Input and output directory
+drc='../data/grp/'
+
+# Constants
+pfx='sn_LImon_all-mdl_all-xpt_all-nsm_200001-20051'
+
+# Greenland
+ncwa -O -w gw -d lat,60.0,75.0 -d lon,300.0,340.0 -a lat,lon \
+  ${drc}${pfx}.nc ${drc}${pfx}_grl
+
+# Anomaly from annual average of each year 
+for yyyy in {2000..2005}; do
+  # Annual average
+  ncwa -O -d time,"${yyyy}-01-01","${yyyy}-12-31" \
+    ${drc}${pfx}_grl.nc ${drc}${pfx}_grl_${yyyy}.nc
+
+  # Anomaly
+  ncbo -O --op_typ=- -d time,"${yyyy}-01-01","${yyyy}-12-31" \
+    ${drc}${pfx}_grl.nc ${drc}${pfx}_grl_${yyyy}.nc \
+    ${drc}${pfx}_grl_${yyyy}_anm.nc
+done
+
+# Monthly cycle
+for moy in {1..12}; do
+  mm=$( printf "%02d" ${moy} )      # Change to 2-digit format
+  ncra -O -d time,"2000-${mm}-01",,12 \
+    ${drc}${pfx}_grl_????_anm.nc ${drc}${pfx}_grl_${mm}_anm.nc
+done
+# Concatenate 12 months together
+ncrcat -O ${drc}${pfx}_grl_??_anm.nc \
+  ${drc}${pfx}_grl_mth_anm.nc
+</pre></div>
+
+<hr>
+<a name="Regrid-MODIS-Data"></a>
+<div class="header">
+<p>
+Next: <a href="#Add-Coordinates-to-MODIS-Data" accesskey="n" rel="next">Add Coordinates to MODIS Data</a>, Previous: <a href="#Monthly-Cycle" accesskey="p" rel="previous">Monthly Cycle</a>, Up: <a href="#CMIP5-Example" accesskey="u" rel="up">CMIP5 Example</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Regrid-MODIS-Data-1"></a>
+<h3 class="section">7.5 Regrid <acronym>MODIS</acronym> Data</h3>
+<a name="index-regrid"></a>
+<a name="index-MODIS"></a>
+<a name="index-bilinear-interpolation"></a>
+<a name="index-interpolation-1"></a>
+<a name="index-renaming-variables-2"></a>
+<a name="index-renaming-attributes-1"></a>
+<a name="index-renaming-dimensions-1"></a>
+<a name="index-attributes_002c-editing-2"></a>
+<a name="index-attributes_002c-modifying-2"></a>
+<a name="index-attributes_002c-overwriting-2"></a>
+<p>In order to compare the results between <acronym>MODIS</acronym> and
+<acronym>CMIP5</acronym> models, one usually regrids one or both datasets so 
+that the spatial resolutions match. 
+Here, the script illustrates how to regrid <acronym>MODIS</acronym> data.
+Key steps include:
+</p><ol>
+<li> Regrid using bilinear interpolation (see <a href="#Bilinear-interpolation">Bilinear interpolation</a>)
+</li><li> Rename variables, dimensions and attributions using <code>ncrename</code> (see <a href="#ncrename-netCDF-Renamer">ncrename netCDF Renamer</a>).
+</li></ol>
+<p><strong>Main Script</strong>
+</p><div class="example">
+<pre class="verbatim">#!/bin/bash
+# include bi_interp.nco
+
+#===========================================================================
+# Example for
+#	- regrid (using bi_interp.nco): the spatial resolution of MODIS data 
+#		is much finer than those of CMIP5 models. In order to compare
+#		the two, we can regrid MODIS data to comform to CMIP5.
+#
+# Input files (Note: the .hdf files downloaded have to be converted to .nc at
+# the present):
+# /modis/mcd43c3/MCD43C3.A2000049.005.2006271205532.nc
+#
+# Output files:
+# /modis/mcd43c3/cesm-grid/MCD43C3.2000049.regrid.nc
+#
+# Online: http://nco.sourceforge.net/nco.html#Regrid-MODIS-Data
+#
+# Execute this script: bash rgr.sh
+#===========================================================================
+
+var=( 'MCD43C3' )     # Variable 
+fld_in=( 'monthly/' )     # Folder of input files
+fld_out=( 'cesm-grid/' )      # Folder of output files
+drc_in='/media/grele_data/wenshan/modis/mcd43c3/'     # Directory of input files
+
+for fn in $( ls ${drc_in}${fld_in}${var}.*.nc ); do		# Loop over files
+  sfx=$( echo $fn | cut -d '/' -f 8 | cut -d '.' -f 2 ) # Part of file names
+  
+  # Regrid
+  ncap2 -O -S bi_interp.nco ${fn} ${drc_in}${fld_out}${var}.${sfx}.regrid.nc
+  # Keep only the new variables
+  ncks -O -v wsa_sw_less,bsa_sw_less ${drc_in}${fld_out}${var}.${sfx}.regrid.nc \
+    ${drc_in}${fld_out}${var}.${sfx}.regrid.nc
+  # Rename the new variables, dimensions and attributions
+  ncrename -O -d latn,lat -d lonn,lon -v latn,lat -v lonn,lon \
+    -v wsa_sw_less,wsa_sw -v bsa_sw_less,bsa_sw -a missing_value,_FillValue \
+    ${drc_in}${fld_out}${var}.${sfx}.regrid.nc
+  
+  echo $sfx done.
+done
+</pre></div>
+<p><strong>bi_interp.nco</strong>
+</p><div class="example">
+<pre class="verbatim">// Bilinear interpolation
+// Included by rgr.sh
+// Online: http://nco.sourceforge.net/nco.html#Regrid-MODIS-Data
+
+defdim("latn",192);		// Define new dimension: latitude
+defdim("lonn",288);		// Define new dimension: longitude
+latn[$latn] = {90,89.0576 ,88.1152 ,87.1728 ,86.2304 ,85.288  ,\
+  84.3456 ,83.4031 ,82.4607 ,81.5183 ,80.5759 ,79.6335 ,78.6911 ,\
+  77.7487 ,76.8063 ,75.8639 ,74.9215 ,73.9791 ,73.0367 ,72.0942 ,\
+  71.1518 ,70.2094 ,69.267  ,68.3246 ,67.3822 ,66.4398 ,65.4974 ,\
+  64.555  ,63.6126 ,62.6702 ,61.7277 ,60.7853 ,59.8429 ,58.9005 ,\
+  57.9581 ,57.0157 ,56.0733 ,55.1309 ,54.1885 ,53.2461 ,52.3037 ,\
+  51.3613 ,50.4188 ,49.4764 ,48.534  ,47.5916 ,46.6492 ,45.7068 ,\
+  44.7644 ,43.822  ,42.8796 ,41.9372 ,40.9948 ,40.0524 ,39.11   ,\
+  38.1675 ,37.2251 ,36.2827 ,35.3403 ,34.3979 ,33.4555 ,32.5131 ,\
+  31.5707 ,30.6283 ,29.6859 ,28.7435 ,27.8011 ,26.8586 ,25.9162 ,\
+  24.9738 ,24.0314 ,23.089  ,22.1466 ,21.2042 ,20.2618 ,19.3194 ,\
+  18.377  ,17.4346 ,16.4921 ,15.5497 ,14.6073 ,13.6649 ,12.7225 ,\
+  11.7801 ,10.8377 ,9.89529 ,8.95288 ,8.01047 ,7.06806 ,6.12565 ,\
+  5.18325 ,4.24084 ,3.29843 ,2.35602 ,1.41361 ,0.471204,-0.471204,\
+  -1.41361,-2.35602,-3.29843,-4.24084,-5.18325,-6.12565,-7.06806,\
+  -8.01047,-8.95288,-9.89529,-10.8377,-11.7801,-12.7225,-13.6649,\
+  -14.6073,-15.5497,-16.4921,-17.4346,-18.377 ,-19.3194,-20.2618,\
+  -21.2042,-22.1466,-23.089 ,-24.0314,-24.9738,-25.9162,-26.8586,\
+  -27.8011,-28.7435,-29.6859,-30.6283,-31.5707,-32.5131,-33.4555,\
+  -34.3979,-35.3403,-36.2827,-37.2251,-38.1675,-39.11  ,-40.0524,\
+  -40.9948,-41.9372,-42.8796,-43.822 ,-44.7644,-45.7068,-46.6492,\
+  -47.5916,-48.534 ,-49.4764,-50.4188,-51.3613,-52.3037,-53.2461,\
+  -54.1885,-55.1309,-56.0733,-57.0157,-57.9581,-58.9005,-59.8429,\
+  -60.7853,-61.7277,-62.6702,-63.6126,-64.555 ,-65.4974,-66.4398,\
+  -67.3822,-68.3246,-69.267 ,-70.2094,-71.1518,-72.0942,-73.0367,\
+  -73.9791,-74.9215,-75.8639,-76.8063,-77.7487,-78.6911,-79.6335,\
+  -80.5759,-81.5183,-82.4607,-83.4031,-84.3456,-85.288,-86.2304,\
+  -87.1728,-88.1152,-89.0576,-90};		// Copy of CCSM4 latitude
+lonn[$lonn] = {-178.75,-177.5,-176.25,-175,-173.75,-172.5,-171.25,\
+  -170,-168.75,-167.5,-166.25,-165,-163.75,-162.5,-161.25,-160,\
+  -158.75,-157.5,-156.25,-155,-153.75,-152.5,-151.25,-150,-148.75,\
+  -147.5,-146.25,-145,-143.75,-142.5,-141.25,-140,-138.75,-137.5,\
+  -136.25,-135,-133.75,-132.5,-131.25,-130,-128.75,-127.5,-126.25,\
+  -125,-123.75,-122.5,-121.25,-120,-118.75,-117.5,-116.25,-115,\
+  -113.75,-112.5,-111.25,-110,-108.75,-107.5,-106.25,-105,-103.75,\
+  -102.5,-101.25,-100,-98.75,-97.5,-96.25,-95,-93.75,-92.5,-91.25,\
+  -90,-88.75,-87.5,-86.25,-85,-83.75,-82.5,-81.25,-80,-78.75,-77.5,\
+  -76.25,-75,-73.75,-72.5,-71.25,-70,-68.75,-67.5,-66.25,-65,-63.75,\
+  -62.5,-61.25,-60,-58.75,-57.5,-56.25,-55,-53.75,-52.5,-51.25,-50,\
+  -48.75,-47.5,-46.25,-45,-43.75,-42.5,-41.25,-40,-38.75,-37.5,\
+  -36.25,-35,-33.75,-32.5,-31.25,-30,-28.75,-27.5,-26.25,-25,-23.75,\
+  -22.5,-21.25,-20,-18.75,-17.5,-16.25,-15,-13.75,-12.5,-11.25,-10,\
+  -8.75,-7.5,-6.25,-5,-3.75,-2.5,-1.25,0,1.25,2.5,3.75,5,6.25,7.5,\
+  8.75,10,11.25,12.5,13.75,15,16.25,17.5,18.75,20,21.25,22.5,23.75,\
+  25,26.25,27.5,28.75,30,31.25,32.5,33.75,35,36.25,37.5,38.75,40,\
+  41.25,42.5,43.75,45,46.25,47.5,48.75,50,51.25,52.5,53.75,55,56.25,\
+  57.5,58.75,60,61.25,62.5,63.75,65,66.25,67.5,68.75,70,71.25,72.5,\
+  73.75,75,76.25,77.5,78.75,80,81.25,82.5,83.75,85,86.25,87.5,88.75,\
+  90,91.25,92.5,93.75,95,96.25,97.5,98.75,100,101.25,102.5,103.75,\
+  105,106.25,107.5,108.75,110,111.25,112.5,113.75,115,116.25,117.5,\
+  118.75,120,121.25,122.5,123.75,125,126.25,127.5,128.75,130,131.25,\
+  132.5,133.75,135,136.25,137.5,138.75,140,141.25,142.5,143.75,145,\
+  146.25,147.5,148.75,150,151.25,152.5,153.75,155,156.25,157.5,\
+  158.75,160,161.25,162.5,163.75,165,166.25,167.5,168.75,170,171.25,\
+  172.5,173.75,175,176.25,177.5,178.75,180};	// Copy of CCSM4 longitude
+
+*out[$time,$latn,$lonn]=0.0;		// Output structure
+
+// Bi-linear interpolation
+bsa_sw_less=bilinear_interp_wrap(bsa_sw,out,latn,lonn,lat,lon);
+wsa_sw_less=bilinear_interp_wrap(wsa_sw,out,latn,lonn,lat,lon);
+
+// Add attributions
+latn at units = "degree_north";
+lonn at units = "degree_east";
+latn at long_name = "latitude";
+lonn at long_name = "longitude";
+bsa_sw_less at hdf_name = "Albedo_BSA_shortwave";
+bsa_sw_less at calibrated_nt = 5;
+bsa_sw_less at missing_value = 32767.0;
+bsa_sw_less at units = "albedo, no units";
+bsa_sw_less at long_name = "Global_Albedo_BSA_shortwave";
+wsa_sw_less at hdf_name = "Albedo_WSA_shortwave";
+wsa_sw_less at calibrated_nt = 5;
+wsa_sw_less at missing_value = 32767.0;
+wsa_sw_less at units = "albedo, no units";
+wsa_sw_less at long_name = "Global_Albedo_WSA_shortwave";
+</pre></div>
+
+<hr>
+<a name="Add-Coordinates-to-MODIS-Data"></a>
+<div class="header">
+<p>
+Next: <a href="#Permute-MODIS-Coordinates" accesskey="n" rel="next">Permute MODIS Coordinates</a>, Previous: <a href="#Regrid-MODIS-Data" accesskey="p" rel="previous">Regrid MODIS Data</a>, Up: <a href="#CMIP5-Example" accesskey="u" rel="up">CMIP5 Example</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Add-Coordinates-to-MODIS-Data-1"></a>
+<h3 class="section">7.6 Add Coordinates to <acronym>MODIS</acronym> Data</h3>
+<a name="index-MODIS-1"></a>
+<a name="index-coordinates-2"></a>
+<p><strong>Main Script</strong>
+</p><div class="example">
+<pre class="verbatim">#!/bin/bash
+
+#============================================================
+# Example for
+#	- regrid (using bi_interp.nco): the spatial resolution of MODIS data 
+#		is much finer than those of CMIP5 models. In order to compare
+#		the two, we can regrid MODIS data to comform to CMIP5.
+#	- add coordinates (using coor.nco): there is no coordinate information
+#		in MODIS data. We have to add it manually now.
+#
+# Input files:
+# /modis/mcd43c3/cesm-grid/MCD43C3.2000049.regrid.nc
+#
+# Output files:
+# /modis/mcd43c3/cesm-grid/MCD43C3.2000049.regrid.nc
+#
+# Online: http://nco.sourceforge.net/nco.html#Add-Coordinates-to-MODIS-Data
+#
+# Execute this script: bash add_crd.sh
+#============================================================
+
+var=( 'MOD10CM' )     # Variable
+fld_in=( 'snc/nc/' )  # Folder of input files
+drc_in='/media/grele_data/wenshan/modis/' # directory of input files
+
+for fn in $( ls ${drc_in}${fld_in}${var}*.nc ); do		# Loop over files
+  sfx=$( echo ${fn} | cut -d '/' -f 8 | cut -d '.' -f 2-4 )	# Part of file names
+  echo ${sfx} 
+  
+  # Rename dimension names
+  ncrename -d YDim_MOD_CMG_Snow_5km,lat -d XDim_MOD_CMG_Snow_5km,lon -O \
+    ${drc_in}${fld_in}${var}.${sfx}.nc ${drc_in}${fld_in}${var}.${sfx}.nc
+  # Add coordinates
+  ncap2 -O -S crd.nco ${drc_in}${fld_in}${var}.${sfx}.nc \
+    ${drc_in}${fld_in}${var}.${sfx}.nc
+done
+</pre></div>
+<p><strong>crd.nco</strong>
+</p><div class="example">
+<pre class="verbatim">// Add coordinates to MODIS HDF data
+// Included by add_crd.sh
+// Online: http://nco.sourceforge.net/nco.html#Add-Coordinates-to-MODIS-Data
+
+lon = array(0.f, 0.05, $lon) - 180;
+lat = 90.f- array(0.f, 0.05, $lat);
+</pre></div>
+
+<hr>
+<a name="Permute-MODIS-Coordinates"></a>
+<div class="header">
+<p>
+Previous: <a href="#Add-Coordinates-to-MODIS-Data" accesskey="p" rel="previous">Add Coordinates to MODIS Data</a>, Up: <a href="#CMIP5-Example" accesskey="u" rel="up">CMIP5 Example</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Permute-MODIS-Coordinates-1"></a>
+<h3 class="section">7.7 Permute <acronym>MODIS</acronym> Coordinates</h3>
+<a name="index-coordinates_002c-modifying"></a>
+<p><acronym>MODIS</acronym> orders latitude data from 90°N to
+-90°N, and longitude from -180°E to
+180°E.   
+However, <acronym>CMIP5</acronym> orders latitude from -90°N to
+90°N, and longitude from 0°E to
+360°E.  
+This script changes the <acronym>MODIS</acronym> coordinates to follow the
+<acronym>CMIP5</acronym> convention.
+</p><div class="example">
+<pre class="verbatim">#!/bin/bash
+
+##===========================================================================
+## Example for
+##	- permute coordinates: the grid of MODIS is 
+##		from (-180 degE, 90 degN), the left-up corner, to
+##		(180 degE, -90 degN), the right-low corner. However, CMIP5 is
+##		from (0 degE, -90 degN) to (360 degE, 90 degN). The script
+##		here changes the MODIS grid to CMIP5 grid.
+##
+## Input files:
+## /modis/mcd43c3/cesm-grid/MCD43C3.2000049.regrid.nc
+##
+## Output files:
+## /modis/mcd43c3/cesm-grid/MCD43C3.2000049.regrid.nc
+##
+## Online: http://nco.sourceforge.net/nco.html#Permute-MODIS-Coordinates
+##
+## Execute this script: bash pmt_crd.sh
+##===========================================================================
+
+##---------------------------------------------------------------------------
+## Permute coordinates
+##	- Inverse lat from (90,-90) to (-90,90)
+##	- Permute lon from (-180,180) to (0,360)
+for fn in $( ls MCD43C3.*.nc ); do      # Loop over files
+  sfx=$( echo ${fn} | cut -d '.' -f 1-3 )     # Part of file names
+  echo ${sfx}
+  
+  ## Lat
+  ncpdq -O -a -lat ${fn} ${fn}      # Inverse latitude (NB: there is '-' before 'lat')
+  
+  ## Lon
+  ncks -O --msa -d lon,0.0,180.0 -d lon,-180.0,-1.25 ${fn} ${fn}
+
+  ## Add new longitude coordinates
+  ncap2 -O -s 'lon=array(0.0,1.25,$lon)' ${fn} ${fn}
+done
+</pre></div>
+
+
+<a name="parallel"></a> <!-- http://nco.sf.net/nco.html#parallel --><hr>
+<a name="Parallel"></a>
+<div class="header">
+<p>
+Next: <a href="#CCSM-Example" accesskey="n" rel="next">CCSM Example</a>, Previous: <a href="#CMIP5-Example" accesskey="p" rel="previous">CMIP5 Example</a>, Up: <a href="#Top" accesskey="u" rel="up">Top</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Parallel-1"></a>
+<h2 class="chapter">8 Parallel</h2>
+<a name="index-parallel"></a>
+<p>This section will describe scripting strategies, including the use of
+<acronym>GNU</acronym> Parallel, to <acronym>NCO</acronym>.
+</p><div class="example">
+<pre class="example">ls *historical*.nc | parallel ncks -O -d time,"1950-01-01","2000-01-01" {} 50y/{}
+</pre></div>
+
+<a name="ccsm"></a> <!-- http://nco.sf.net/nco.html#ccsm --><hr>
+<a name="CCSM-Example"></a>
+<div class="header">
+<p>
+Next: <a href="#mybibnode" accesskey="n" rel="next">mybibnode</a>, Previous: <a href="#Parallel" accesskey="p" rel="previous">Parallel</a>, Up: <a href="#Top" accesskey="u" rel="up">Top</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="CCSM-Example-1"></a>
+<h2 class="chapter">9 CCSM Example</h2>
+<a name="index-CCSM-1"></a>
+
+<p>This chapter illustrates how to use <acronym>NCO</acronym> to
+process and analyze the results of a <acronym>CCSM</acronym> climate simulation.
+</p><div class="example">
+<pre class="example">************************************************************************
+Task 0: Finding input files
+************************************************************************
+The CCSM model outputs files to a local directory like:
+
+/ptmp/zender/archive/T42x1_40
+
+Each component model has its own subdirectory, e.g., 
+
+/ptmp/zender/archive/T42x1_40/atm
+/ptmp/zender/archive/T42x1_40/cpl
+/ptmp/zender/archive/T42x1_40/ice
+/ptmp/zender/archive/T42x1_40/lnd
+/ptmp/zender/archive/T42x1_40/ocn
+
+within which model output is tagged with the particular model name
+
+/ptmp/zender/archive/T42x1_40/atm/T42x1_40.cam2.h0.0001-01.nc
+/ptmp/zender/archive/T42x1_40/atm/T42x1_40.cam2.h0.0001-02.nc
+/ptmp/zender/archive/T42x1_40/atm/T42x1_40.cam2.h0.0001-03.nc
+...
+/ptmp/zender/archive/T42x1_40/atm/T42x1_40.cam2.h0.0001-12.nc
+/ptmp/zender/archive/T42x1_40/atm/T42x1_40.cam2.h0.0002-01.nc
+/ptmp/zender/archive/T42x1_40/atm/T42x1_40.cam2.h0.0002-02.nc
+...
+
+or 
+
+/ptmp/zender/archive/T42x1_40/lnd/T42x1_40.clm2.h0.0001-01.nc
+/ptmp/zender/archive/T42x1_40/lnd/T42x1_40.clm2.h0.0001-02.nc
+/ptmp/zender/archive/T42x1_40/lnd/T42x1_40.clm2.h0.0001-03.nc
+...
+
+************************************************************************
+Task 1: Regional processing
+************************************************************************
+The first task in data processing is often creating seasonal cycles.
+Imagine a 100-year simulation with its 1200 monthly mean files.
+Our goal is to create a single file containing 12 months of data.
+Each month in the output file is the mean of 100 input files.
+
+Normally, we store the "reduced" data in a smaller, local directory.
+
+caseid='T42x1_40'
+#drc_in="${DATA}/archive/${caseid}/atm"
+drc_in="${DATA}/${caseid}"
+drc_out="${DATA}/${caseid}"
+mkdir -p ${drc_out}
+cd ${drc_out}
+
+Method 1: Assume all data in directory applies
+for mth in {1..12}; do
+  mm=`printf "%02d" $mth`
+  ncra -O -D 1 -o ${drc_out}/${caseid}_clm${mm}.nc \
+    ${drc_in}/${caseid}.cam2.h0.*-${mm}.nc 
+done # end loop over mth
+
+Method 2: Use shell 'globbing' to construct input filenames
+for mth in {1..12}; do
+  mm=`printf "%02d" $mth`
+  ncra -O -D 1 -o ${drc_out}/${caseid}_clm${mm}.nc \
+    ${drc_in}/${caseid}.cam2.h0.00??-${mm}.nc \
+    ${drc_in}/${caseid}.cam2.h0.0100-${mm}.nc
+done # end loop over mth
+
+Method 3: Construct input filename list explicitly
+for mth in {1..12}; do
+  mm=`printf "%02d" $mth`
+  fl_lst_in=''
+  for yr in {1..100}; do
+    yyyy=`printf "%04d" $yr`
+    fl_in=${caseid}.cam2.h0.${yyyy}-${mm}.nc
+    fl_lst_in="${fl_lst_in} ${caseid}.cam2.h0.${yyyy}-${mm}.nc"
+  done # end loop over yr
+  ncra -O -D 1 -o ${drc_out}/${caseid}_clm${mm}.nc -p ${drc_in} \
+    ${fl_lst_in}
+done # end loop over mth
+
+Make sure the output file averages correct input files!
+ncks -M prints global metadata: 
+
+  ncks -M ${drc_out}/${caseid}_clm01.nc
+
+The input files ncra used to create the climatological monthly mean
+will appear in the global attribute named 'history'.
+
+Use ncrcat to aggregate the climatological monthly means
+
+  ncrcat -O -D 1 \
+    ${drc_out}/${caseid}_clm??.nc ${drc_out}/${caseid}_clm_0112.nc
+
+Finally, create climatological means for reference.
+The climatological time-mean:
+
+  ncra -O -D 1 \
+    ${drc_out}/${caseid}_clm_0112.nc ${drc_out}/${caseid}_clm.nc
+
+The climatological zonal-mean:
+
+  ncwa -O -D 1 -a lon \
+    ${drc_out}/${caseid}_clm.nc ${drc_out}/${caseid}_clm_x.nc
+
+The climatological time- and spatial-mean:
+
+  ncwa -O -D 1 -a lon,lat,time -w gw \
+    ${drc_out}/${caseid}_clm.nc ${drc_out}/${caseid}_clm_xyt.nc
+
+This file contains only scalars, e.g., "global mean temperature",
+used for summarizing global results of a climate experiment.
+
+Climatological monthly anomalies = Annual Cycle: 
+Subtract climatological mean from climatological monthly means. 
+Result is annual cycle, i.e., climate-mean has been removed.
+
+  ncbo -O -D 1 -o ${drc_out}/${caseid}_clm_0112_anm.nc \
+    ${drc_out}/${caseid}_clm_0112.nc ${drc_out}/${caseid}_clm_xyt.nc
+
+************************************************************************
+Task 2: Correcting monthly averages
+************************************************************************
+The previous step appoximates all months as being equal, so, e.g.,
+February weighs slightly too much in the climatological mean.
+This approximation can be removed by weighting months appropriately.
+We must add the number of days per month to the monthly mean files.
+First, create a shell variable dpm:
+
+unset dpm # Days per month
+declare -a dpm
+dpm=(0 31 28.25 31 30 31 30 31 31 30 31 30 31) # Allows 1-based indexing
+
+Method 1: Create dpm directly in climatological monthly means
+for mth in {1..12}; do
+  mm=`printf "%02d" ${mth}`
+  ncap2 -O -s "dpm=0.0*date+${dpm[${mth}]}" \
+    ${drc_out}/${caseid}_clm${mm}.nc ${drc_out}/${caseid}_clm${mm}.nc
+done # end loop over mth
+
+Method 2: Create dpm by aggregating small files
+for mth in {1..12}; do
+  mm=`printf "%02d" ${mth}`
+  ncap2 -O -v -s "dpm=${dpm[${mth}]}" ~/nco/data/in.nc \
+    ${drc_out}/foo_${mm}.nc
+done # end loop over mth
+ncecat -O -D 1 -p ${drc_out} -n 12,2,2 foo_${mm}.nc foo.nc
+ncrename -O -D 1 -d record,time ${drc_out}/foo.nc
+ncatted -O -h \
+  -a long_name,dpm,o,c,"Days per month" \
+  -a units,dpm,o,c,"days" \
+  ${drc_out}/${caseid}_clm_0112.nc
+ncks -A -v dpm ${drc_out}/foo.nc ${drc_out}/${caseid}_clm_0112.nc
+
+Method 3: Create small netCDF file using ncgen
+cat > foo.cdl << 'EOF'
+netcdf foo { 
+dimensions:
+	time=unlimited;
+variables:
+	float dpm(time);
+	dpm:long_name="Days per month";
+	dpm:units="days";
+data:
+	dpm=31,28.25,31,30,31,30,31,31,30,31,30,31;
+}
+EOF
+ncgen -b -o foo.nc foo.cdl
+ncks -A -v dpm ${drc_out}/foo.nc ${drc_out}/${caseid}_clm_0112.nc
+
+Another way to get correct monthly weighting is to average daily
+output files, if available.  
+
+************************************************************************
+Task 3: Regional processing
+************************************************************************
+Let's say you are interested in examining the California region.
+Hyperslab your dataset to isolate the appropriate latitude/longitudes.
+
+ncks -O -D 1 -d lat,30.0,37.0 -d lon,240.0,270.0 \ 
+    ${drc_out}/${caseid}_clm_0112.nc \
+    ${drc_out}/${caseid}_clm_0112_Cal.nc
+
+The dataset is now much smaller!
+To examine particular metrics.
+
+************************************************************************
+Task 4: Accessing data stored remotely
+************************************************************************
+OPeNDAP server examples:
+
+UCI DAP servers:
+ncks -M -p http://dust.ess.uci.edu/cgi-bin/dods/nph-dods/dodsdata in.nc
+ncrcat -O -C -D 3 \
+  -p http://dust.ess.uci.edu/cgi-bin/dods/nph-dods/dodsdata \
+  -l /tmp in.nc in.nc ~/foo.nc
+
+Unidata DAP servers:
+ncks -M -p http://thredds-test.ucar.edu/thredds/dodsC/testdods in.nc
+ncrcat -O -C -D 3 \
+  -p http://thredds-test.ucar.edu/thredds/dodsC/testdods \
+  -l /tmp in.nc in.nc ~/foo.nc
+
+NOAA DAP servers:
+ncwa -O -C -a lat,lon,time -d lon,-10.,10. -d lat,-10.,10. -l /tmp -p \
+http://www.esrl.noaa.gov/psd/thredds/dodsC/Datasets/ncep.reanalysis.dailyavgs/surface \
+pres.sfc.1969.nc ~/foo.nc
+
+LLNL PCMDI IPCC OPeNDAP Data Portal: 
+ncks -M -p http://username:password@esgcet.llnl.gov/cgi-bin/dap-cgi.py/ipcc4/sresa1b/ncar_ccsm3_0 pcmdi.ipcc4.ncar_ccsm3_0.sresa1b.run1.atm.mo.xml
+
+Earth System Grid (ESG): http://www.earthsystemgrid.org
+
+caseid='b30.025.ES01' 
+CCSM3.0 1% increasing CO2 run, T42_gx1v3, 200 years starting in year 400
+Atmospheric post-processed data, monthly averages, e.g.,
+/data/zender/tmp/b30.025.ES01.cam2.h0.TREFHT.0400-01_cat_0449-12.nc
+/data/zender/tmp/b30.025.ES01.cam2.h0.TREFHT.0400-01_cat_0599-12.nc
+
+ESG supports password-protected FTP access by registered users
+NCO uses the .netrc file, if present, for password-protected FTP access 
+Syntax for accessing single file is, e.g.,
+ncks -O -D 3 \
+  -p ftp://climate.llnl.gov/sresa1b/atm/mo/tas/ncar_ccsm3_0/run1 \
+  -l /tmp tas_A1.SRESA1B_1.CCSM.atmm.2000-01_cat_2099-12.nc ~/foo.nc 
+
+# Average surface air temperature tas for SRESA1B scenario
+# This loop is illustrative and will not work until NCO correctly
+# translates '*' to FTP 'mget' all remote files
+for var in 'tas'; do
+for scn in 'sresa1b'; do
+for mdl in 'cccma_cgcm3_1 cccma_cgcm3_1_t63 cnrm_cm3 csiro_mk3_0 \
+gfdl_cm2_0 gfdl_cm2_1 giss_aom giss_model_e_h giss_model_e_r \
+iap_fgoals1_0_g inmcm3_0 ipsl_cm4 miroc3_2_hires miroc3_2_medres \
+miub_echo_g mpi_echam5 mri_cgcm2_3_2a ncar_ccsm3_0 ncar_pcm1 \
+ukmo_hadcm3 ukmo_hadgem1'; do
+for run in '1'; do
+        ncks -R -O -D 3 -p ftp://climate.llnl.gov/${scn}/atm/mo/${var}/${mdl}/run${run} -l ${DATA}/${scn}/atm/mo/${var}/${mdl}/run${run} '*' ${scn}_${mdl}_${run}_${var}_${yyyymm}_${yyyymm}.nc
+done # end loop over run
+done # end loop over mdl
+done # end loop over scn
+done # end loop over var
+
+cd sresa1b/atm/mo/tas/ukmo_hadcm3/run1/
+ncks -H -m -v lat,lon,lat_bnds,lon_bnds -M tas_A1.nc | m
+bds -x 096 -y 073 -m 33 -o ${DATA}/data/dst_3.75x2.5.nc # ukmo_hadcm3
+ncview ${DATA}/data/dst_3.75x2.5.nc
+
+# msk_rgn is California mask on ukmo_hadcm3 grid
+# area is correct area weight on ukmo_hadcm3 grid
+ncks -A -v area,msk_rgn ${DATA}/data/dst_3.75x2.5.nc \
+${DATA}/sresa1b/atm/mo/tas/ukmo_hadcm3/run1/area_msk_ukmo_hadcm3.nc 
+
+Template for standardized data:
+${scn}_${mdl}_${run}_${var}_${yyyymm}_${yyyymm}.nc
+
+e.g., raw data
+${DATA}/sresa1b/atm/mo/tas/ukmo_hadcm3/run1/tas_A1.nc
+becomes standardized data
+
+Level 0: raw from IPCC site--no changes except for name 
+         Make symbolic link name match raw data
+Template: ${scn}_${mdl}_${run}_${var}_${yyyymm}_${yyyymm}.nc
+
+ln -s -f tas_A1.nc sresa1b_ukmo_hadcm3_run1_tas_200101_209911.nc
+area_msk_ukmo_hadcm3.nc
+
+Level I: Add all variables (not standardized in time)
+         to file containing msk_rgn and area
+Template: ${scn}_${mdl}_${run}_${yyyymm}_${yyyymm}.nc
+
+/bin/cp area_msk_ukmo_hadcm3.nc sresa1b_ukmo_hadcm3_run1_200101_209911.nc
+ncks -A -v tas sresa1b_ukmo_hadcm3_run1_tas_200101_209911.nc \
+               sresa1b_ukmo_hadcm3_run1_200101_209911.nc
+ncks -A -v pr  sresa1b_ukmo_hadcm3_run1_pr_200101_209911.nc \
+               sresa1b_ukmo_hadcm3_run1_200101_209911.nc
+
+If already have file then:
+mv sresa1b_ukmo_hadcm3_run1_200101_209911.nc foo.nc
+/bin/cp area_msk_ukmo_hadcm3.nc sresa1b_ukmo_hadcm3_run1_200101_209911.nc
+ncks -A -v tas,pr foo.nc sresa1b_ukmo_hadcm3_run1_200101_209911.nc
+
+Level II: Correct # years, months
+Template: ${scn}_${mdl}_${run}_${var}_${yyyymm}_${yyyymm}.nc
+
+ncks -d time,....... file1.nc file2.nc 
+ncrcat file2.nc file3.nc sresa1b_ukmo_hadcm3_run1_200001_209912.nc
+
+Level III: Many derived products from level II, e.g., 
+
+      A. Global mean timeseries
+      ncwa -w area -a lat,lon \
+           sresa1b_ukmo_hadcm3_run1_200001_209912.nc \
+	   sresa1b_ukmo_hadcm3_run1_200001_209912_xy.nc
+
+      B. Califoria average timeseries
+      ncwa -m msk_rgn -w area -a lat,lon \
+           sresa1b_ukmo_hadcm3_run1_200001_209912.nc \
+	   sresa1b_ukmo_hadcm3_run1_200001_209912_xy_Cal.nc
+</pre></div>
+
+<a name="bibliography"></a> <!-- http://nco.sf.net/nco.html#bibliography -->
+<a name="bib"></a> <!-- http://nco.sf.net/nco.html#bib --><hr>
+<a name="mybibnode"></a>
+<div class="header">
+<p>
+Next: <a href="#General-Index" accesskey="n" rel="next">General Index</a>, Previous: <a href="#CCSM-Example" accesskey="p" rel="previous">CCSM Example</a>, Up: <a href="#Top" accesskey="u" rel="up">Top</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="References"></a>
+<h2 class="chapter">10 References</h2>
+<ul>
+<li> <a name="ZeM07"></a>[ZeM07]
+ Zender, C. S., and H. J. Mangalam (2007), Scaling Properties of Common Statistical Operators for Gridded Datasets, Int. J. High Perform. Comput. Appl., 21(4), 485-498, doi:10.1177/1094342007083802.
+</li><li> <a name="Zen08"></a>[Zen08]
+ Zender, C. S. (2008), Analysis of Self-describing Gridded Geoscience Data with netCDF Operators (NCO), Environ. Modell. Softw., 23(10), 1338-1342, doi:10.1016/j.envsoft.2008.03.004.
+</li><li> <a name="WZJ07"></a>[WZJ07]
+ Wang, D. L., C. S. Zender, and S. F. Jenks (2007), DAP-enabled Server-side Data Reduction and Analysis, Proceedings of the 23rd AMS Conference on Interactive Information and Processing Systems (IIPS) for Meteorology, Oceanography, and Hydrology, Paper 3B.2, January 14-18, San Antonio, TX. American Meteorological Society, AMS Press, Boston, MA.
+</li><li> <a name="ZMW06"></a>[ZMW06]
+ Zender, C. S., H. Mangalam, and D. L. Wang (2006), Improving Scaling Properties of Common Statistical Operators for Gridded Geoscience Datasets, Eos Trans. AGU, 87(52), Fall Meet. Suppl., Abstract IN53B-0827.
+</li><li> <a name="ZeW07"></a>[ZeW07]
+ Zender, C. S., and D. L. Wang (2007), High performance distributed data reduction and analysis with the netCDF Operators (NCO), Proceedings of the 23rd AMS Conference on Interactive Information and Processing Systems (IIPS) for Meteorology, Oceanography, and Hydrology, Paper 3B.4, January 14-18, San Antonio, TX. American Meteorological Society, AMS Press, Boston, MA.
+</li><li> <a name="WZJ06"></a>[WZJ06]
+ Wang, D. L., C. S. Zender, and S. F. Jenks (2006), Server-side netCDF Data Reduction and Analysis, Eos Trans. AGU, 87(52), Fall Meet. Suppl., Abstract IN53B-0826.
+</li><li> <a name="WZJ073"></a>[WZJ073]
+ Wang, D. L., C. S. Zender, and S. F. Jenks (2007), Server-side parallel data reduction and analysis, in Advances in Grid and Pervasive Computing, Second International Conference, GPC 2007, Paris, France, May 2-4, 2007, Proceedings. IEEE Lecture Notes in Computer Science, vol. 4459, edited by C. Cerin and K.-C. Li, pp. 744-750, Springer-Verlag, Berlin/Heidelberg, doi:10.1007/978-3-540-72360-8_67.
+</li><li> <a name="WZJ074"></a>[WZJ074]
+ Wang, D. L., C. S. Zender and S. F. Jenks (2007), A System for Scripted Data Analysis at Remote Data Centers, Eos Trans. AGU, 88(52), Fall Meet. Suppl., Abstract IN11B-0469.
+</li><li> <a name="WZJ081"></a>[WZJ081]
+ Wang, D. L., C. S. Zender and S. F. Jenks (2008), Cluster Workflow Execution of Retargeted Data Analysis Scripts, Proceedings of the 8th IEEE Int’l Symposium on Cluster Computing and the Grid (IEEE CCGRID ’08), pp. 449-458, Lyon, France, May 2008.
+</li><li> <a name="WZJ091"></a>[WZJ091]
+ Wang, D. L., C. S. Zender, and S. F. Jenks (2009), Efficient Clustered Server-side Data Analysis Workflows using SWAMP, Earth Sci. Inform., 2(3), 141-155, doi:10.1007/s12145-009-0021-z.
+</li><li> <a name="PFT88"></a>[PFT88]
+ Press, Flannery, Teukolsky, and Vetterling (1988), Numerical Recipes in C, Cambridge Univ. Press, New York, NY.
+</li></ul>
+
+
+
+<a name="index"></a> <!-- http://nco.sf.net/nco.html#index -->
+<a name="idx"></a> <!-- http://nco.sf.net/nco.html#idx --><hr>
+<a name="General-Index"></a>
+<div class="header">
+<p>
+Previous: <a href="#mybibnode" accesskey="p" rel="previous">mybibnode</a>, Up: <a href="#Top" accesskey="u" rel="up">Top</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#General-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="General-Index-1"></a>
+<h2 class="unnumbered">General Index</h2>
+
+<table><tr><th valign="top">Jump to:   </th><td><a class="summary-letter" href="#General-Index_cp_symbol-1"><b>"</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-2"><b>#</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-3"><b>$</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-4"><b>%</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-5"><b>'</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-6"><b>*</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-7"><b>+</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-8"><b>-</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-9"><b>.</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-10"><b>/</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-11"><b>0</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-12"><b>3</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-13"><b>6</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-14"><b>:</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-15"><b>;</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-16"><b><</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-17"><b>?</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-18"><b>@</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-19"><b>[</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-20"><b>\</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-21"><b>^</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-22"><b>_</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-23"><b>|</b></a>
+   
+<br>
+<a class="summary-letter" href="#General-Index_cp_letter-A"><b>A</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-B"><b>B</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-C"><b>C</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-D"><b>D</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-E"><b>E</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-F"><b>F</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-G"><b>G</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-H"><b>H</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-I"><b>I</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-J"><b>J</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-K"><b>K</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-L"><b>L</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-M"><b>M</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-N"><b>N</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-O"><b>O</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-P"><b>P</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-Q"><b>Q</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-R"><b>R</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-S"><b>S</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-T"><b>T</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-U"><b>U</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-V"><b>V</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-W"><b>W</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-X"><b>X</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-Y"><b>Y</b></a>
+   
+</td></tr></table>
+<table class="index-cp" border="0">
+<tr><td></td><th align="left">Index Entry</th><td> </td><th align="left"> Section</th></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_symbol-1">"</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_0022-_0028double-quote_0029"><code>"</code> (double quote)</a>:</td><td> </td><td valign="top"><a href="#ncatted-netCDF-Attribute-Editor">ncatted netCDF Attribute Editor</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_symbol-2">#</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_0023include"><code>#include</code></a>:</td><td> </td><td valign="top"><a href="#Syntax-of-ncap2-statements">Syntax of ncap2 statements</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_symbol-3">$</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_0024-_0028wildcard-character_0029"><code>$</code> (wildcard character)</a>:</td><td> </td><td valign="top"><a href="#Subsetting-Files">Subsetting Files</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_symbol-4">%</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_0025-_0028modulus_0029"><code>%</code> (modulus)</a>:</td><td> </td><td valign="top"><a href="#Intrinsic-mathematical-methods">Intrinsic mathematical methods</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_symbol-5">'</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_0027-_0028end-quote_0029"><code>'</code> (end quote)</a>:</td><td> </td><td valign="top"><a href="#ncatted-netCDF-Attribute-Editor">ncatted netCDF Attribute Editor</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_symbol-6">*</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002a"><code>*</code></a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002a-_0028filename-expansion_0029"><code>*</code> (filename expansion)</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-_002a-_0028multiplication_0029"><code>*</code> (multiplication)</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-_002a-_0028wildcard-character_0029"><code>*</code> (wildcard character)</a>:</td><td> </td><td valign="top"><a href="#Subsetting-Files">Subsetting Files</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_symbol-7">+</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002b"><code>+</code></a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002b-_0028addition_0029"><code>+</code> (addition)</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-_002b-_0028wildcard-character_0029"><code>+</code> (wildcard character)</a>:</td><td> </td><td valign="top"><a href="#Subsetting-Files">Subsetting Files</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_symbol-8">-</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d"><code>-</code></a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<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_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>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dabc"><code>--abc</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_002dalphabetize"><code>--alphabetize</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_002dapn"><code>--apn</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_002dapn-1"><code>--apn</code></a>:</td><td> </td><td valign="top"><a href="#Batch-Mode">Batch Mode</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dapn-2"><code>--apn</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_002dappend"><code>--append</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_002dappend-1"><code>--append</code></a>:</td><td> </td><td valign="top"><a href="#Batch-Mode">Batch Mode</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dappend-2"><code>--append</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_002dauxiliary"><code>--auxiliary</code></a>:</td><td> </td><td valign="top"><a href="#Auxiliary-Coordinates">Auxiliary Coordinates</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dauxiliary-lon_005fmin_002clon_005fmax_002clat_005fmin_002clat_005fmax"><code>--auxiliary <var>lon_min</var>,<var>lon_max</var>,<var>lat_min</var>,<var>lat_max</var></code></a>:</td><td> </td><td valign="top"><a href="#Auxiliary-Coordinates">Auxiliary Coordinates</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dbfr_005fsz_005fhnt"><code>--bfr_sz_hnt</code></a>:</td><td> </td><td valign="top"><a href="#Buffer-sizes">Buffer sizes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dbinary"><code>--binary</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_002dbnr"><code>--bnr</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_002dcdl"><code>--cdl</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_002dcell_005fmethods"><code>--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_002dchunk_005fbyte"><code>--chunk_byte</code></a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dchunk_005fdimension"><code>--chunk_dimension</code></a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dchunk_005fmap"><code>--chunk_map</code></a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dchunk_005fpolicy"><code>--chunk_policy</code></a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dchunk_005fscalar"><code>--chunk_scalar</code></a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dcll_005fmth"><code>--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_002dcnk_005fbyt"><code>--cnk_byt</code></a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dcnk_005fdmn"><code>--cnk_dmn</code></a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dcnk_005fmap"><code>--cnk_map</code></a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dcnk_005fmap-cnk_005fmap"><code>--cnk_map <var>cnk_map</var></code></a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dcnk_005fplc"><code>--cnk_plc</code></a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dcnk_005fscl"><code>--cnk_scl</code></a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dcoords"><code>--coords</code></a>:</td><td> </td><td valign="top"><a href="#Subsetting-Coordinate-Variables">Subsetting Coordinate Variables</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dcoords-1"><code>--coords</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_002dcrd"><code>--crd</code></a>:</td><td> </td><td valign="top"><a href="#Subsetting-Coordinate-Variables">Subsetting Coordinate Variables</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dcrd-1"><code>--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_002dcreate_005fram"><code>--create_ram</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_002dcreate_005fram-1"><code>--create_ram</code></a>:</td><td> </td><td valign="top"><a href="#RAM-disks">RAM disks</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002ddata"><code>--data</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_002ddbg_005flvl-debug_002dlevel"><code>--dbg_lvl <var>debug-level</var></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_002ddbg_005flvl-debug_002dlevel-1"><code>--dbg_lvl <var>debug-level</var></code></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-_002d_002ddbg_005flvl-debug_002dlevel-2"><code>--dbg_lvl <var>debug-level</var></code></a>:</td><td> </td><td valign="top"><a href="#Command-Line-Options">Command Line Options</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002ddbl"><code>--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_002ddebug_002dlevel-debug_002dlevel"><code>--debug-level <var>debug-level</var></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_002ddebug_002dlevel-debug_002dlevel-1"><code>--debug-level <var>debug-level</var></code></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-_002d_002ddeflate"><code>--deflate</code></a>:</td><td> </td><td valign="top"><a href="#Deflation">Deflation</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002ddfl_005flvl"><code>--dfl_lvl</code></a>:</td><td> </td><td valign="top"><a href="#Deflation">Deflation</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002ddimension-dim_002c_005bmin_005d_002c_005bmax_005d_002cstride"><code>--dimension <var>dim</var>,[<var>min</var>],[<var>max</var>],<var>stride</var></code></a>:</td><td> </td><td valign="top"><a href="#Stride">Stride</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002ddimension-dim_002c_005bmin_005d_002c_005bmax_005d_002c_005bstride_005d_002c_005bsubcycle_005d"><code>--dimension <var>dim</var>,[<var>min</var>],[<var>max</var>],[<var>stride</var>],[<var>subcycle</var>]</code></a>:</td><td> </td><td valign="top"><a href="#Subcycle">Subcycle</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002ddimension-dim_002c_005bmin_005d_005b_002c_005bmax_005d_005b_002c_005bstride_005d_005d_005d"><code>--dimension <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</code></a>:</td><td> </td><td valign="top"><a href="#Hyperslabs">Hyperslabs</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002ddimension-dim_002c_005bmin_005d_005b_002c_005bmax_005d_005b_002c_005bstride_005d_005d_005d-1"><code>--dimension <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</code></a>:</td><td> </td><td valign="top"><a href="#Multislabs">Multislabs</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002ddimension-dim_002c_005bmin_005d_005b_002c_005bmax_005d_005b_002c_005bstride_005d_005d_005d-2"><code>--dimension <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</code></a>:</td><td> </td><td valign="top"><a href="#Wrapped-Coordinates">Wrapped Coordinates</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002ddimension-dim_002c_005bmin_005d_005b_002c_005bmax_005d_005b_002c_005bstride_005d_005d_005d-3"><code>--dimension <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</code></a>:</td><td> </td><td valign="top"><a href="#UDUnits-Support">UDUnits Support</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002ddiskless_005fall"><code>--diskless_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_002ddiskless_005fall-1"><code>--diskless_all</code></a>:</td><td> </td><td valign="top"><a href="#RAM-disks">RAM disks</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002ddmn-dim_002c_005bmin_005d_002c_005bmax_005d_002cstride"><code>--dmn <var>dim</var>,[<var>min</var>],[<var>max</var>],<var>stride</var></code></a>:</td><td> </td><td valign="top"><a href="#Stride">Stride</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002ddmn-dim_002c_005bmin_005d_002c_005bmax_005d_002c_005bstride_005d_002csubcycle_005d"><code>--dmn <var>dim</var>,[<var>min</var>],[<var>max</var>],[<var>stride</var>],<var>subcycle</var>]</code></a>:</td><td> </td><td valign="top"><a href="#Subcycle">Subcycle</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002ddmn-dim_002c_005bmin_005d_005b_002c_005bmax_005d_005b_002c_005bstride_005d_005d_005d"><code>--dmn <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</code></a>:</td><td> </td><td valign="top"><a href="#Hyperslabs">Hyperslabs</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002ddmn-dim_002c_005bmin_005d_005b_002c_005bmax_005d_005b_002c_005bstride_005d_005d_005d-1"><code>--dmn <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</code></a>:</td><td> </td><td valign="top"><a href="#Multislabs">Multislabs</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002ddmn-dim_002c_005bmin_005d_005b_002c_005bmax_005d_005b_002c_005bstride_005d_005d_005d-2"><code>--dmn <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</code></a>:</td><td> </td><td valign="top"><a href="#Wrapped-Coordinates">Wrapped Coordinates</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002ddmn-dim_002c_005bmin_005d_005b_002c_005bmax_005d_005b_002c_005bstride_005d_005d_005d-3"><code>--dmn <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</code></a>:</td><td> </td><td valign="top"><a href="#UDUnits-Support">UDUnits Support</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002densemble_005ffile"><code>--ensemble_file</code></a>:</td><td> </td><td valign="top"><a href="#nces-netCDF-Ensemble-Statistics">nces netCDF Ensemble Statistics</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002densemble_005fgroup"><code>--ensemble_group</code></a>:</td><td> </td><td valign="top"><a href="#nces-netCDF-Ensemble-Statistics">nces netCDF Ensemble Statistics</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002densemble_005fsuffix"><code>--ensemble_suffix</code></a>:</td><td> </td><td valign="top"><a href="#nces-netCDF-Ensemble-Statistics">nces netCDF Ensemble Statistics</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dexclude"><code>--exclude</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_002dexclude-1"><code>--exclude</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_002dfile_005fformat"><code>--file_format</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_002dfile_005flist"><code>--file_list</code></a>:</td><td> </td><td valign="top"><a href="#File-List-Attributes">File List Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dfix_005frec_005fdmn-all"><code>--fix_rec_dmn all</code></a>:</td><td> </td><td valign="top"><a href="#Autoconversion">Autoconversion</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dfix_005frec_005fdmn-dim"><code>--fix_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_002dflt"><code>--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_002dfl_005fbnr"><code>--fl_bnr</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_002dfl_005ffmt"><code>--fl_fmt</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_002dfl_005flst_005fin"><code>--fl_lst_in</code></a>:</td><td> </td><td valign="top"><a href="#File-List-Attributes">File List Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dfl_005fout-fl_005fout"><code>--fl_out <var>fl_out</var></code></a>:</td><td> </td><td valign="top"><a href="#Specifying-Output-Files">Specifying Output Files</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dfl_005fspt"><code>--fl_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_002dfnc_005ftbl"><code>--fnc_tbl</code></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_002dfortran"><code>--fortran</code></a>:</td><td> </td><td valign="top"><a href="#C-and-Fortran-Index-Conventions">C and Fortran Index Conventions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dgag"><samp>--gag</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-_002d_002dgag-1"><samp>--gag</samp></a>:</td><td> </td><td valign="top"><a href="#Combine-Files">Combine Files</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dglb_005fmtd_005fspp"><code>--glb_mtd_spp</code></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-_002d_002dgpe-gpe_005fdsc"><code>--gpe <var>gpe_dsc</var></code></a>:</td><td> </td><td valign="top"><a href="#Group-Path-Editing">Group Path Editing</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dgroup-grp"><code>--group <var>grp</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_002dgrp-grp"><code>--grp <var>grp</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_002dhdf4">‘<samp>--hdf4</samp>’</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-_002d_002dhdf_005funpack"><code>--hdf_unpack</code></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-_002d_002dhdf_005fupk"><code>--hdf_upk</code></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-_002d_002dhdn"><code>--hdn</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_002dhdr_005fpad-hdr_005fpad"><code>--hdr_pad <var>hdr_pad</var></code></a>:</td><td> </td><td valign="top"><a href="#Metadata-Optimization">Metadata Optimization</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dheader_005fpad-hdr_005fpad"><code>--header_pad <var>hdr_pad</var></code></a>:</td><td> </td><td valign="top"><a href="#Metadata-Optimization">Metadata Optimization</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dhidden"><code>--hidden</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_002dhieronymus"><code>--hieronymus</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_002dhistory"><code>--history</code></a>:</td><td> </td><td valign="top"><a href="#History-Attribute">History Attribute</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dhst"><code>--hst</code></a>:</td><td> </td><td valign="top"><a href="#History-Attribute">History Attribute</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dintersection"><code>--intersection</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_002dlcl-output_002dpath"><code>--lcl <var>output-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_002dlocal-output_002dpath"><code>--local <var>output-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_002dmap-cnk_005fmap"><code>--map <var>cnk_map</var></code></a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dmap-pck_005fmap"><code>--map <var>pck_map</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-_002d_002dmask_002dvalue-mask_005fval"><code>--mask-value <var>mask_val</var></code></a>:</td><td> </td><td valign="top"><a href="#Mask-condition">Mask condition</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dmask_002dvariable-mask_005fvar"><code>--mask-variable <var>mask_var</var></code></a>:</td><td> </td><td valign="top"><a href="#ncwa-netCDF-Weighted-Averager">ncwa netCDF Weighted Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dmask_005fcomparator-mask_005fcomp"><code>--mask_comparator <var>mask_comp</var></code></a>:</td><td> </td><td valign="top"><a href="#Mask-condition">Mask condition</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dmask_005fcondition-mask_005fcond"><code>--mask_condition <var>mask_cond</var></code></a>:</td><td> </td><td valign="top"><a href="#ncwa-netCDF-Weighted-Averager">ncwa netCDF Weighted Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dmask_005fcondition-mask_005fcond-1"><code>--mask_condition <var>mask_cond</var></code></a>:</td><td> </td><td valign="top"><a href="#Mask-condition">Mask condition</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dmask_005fvalue-mask_005fval"><code>--mask_value <var>mask_val</var></code></a>:</td><td> </td><td valign="top"><a href="#Mask-condition">Mask condition</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dmask_005fvariable-mask_005fvar"><code>--mask_variable <var>mask_var</var></code></a>:</td><td> </td><td valign="top"><a href="#ncwa-netCDF-Weighted-Averager">ncwa netCDF Weighted Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dmd5_005fdgs"><code>--md5_dgs</code></a>:</td><td> </td><td valign="top"><a href="#MD5-digests">MD5 digests</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dmd5_005fdigest"><code>--md5_digest</code></a>:</td><td> </td><td valign="top"><a href="#MD5-digests">MD5 digests</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dmd5_005fwrite_005fattribute"><code>--md5_write_attribute</code></a>:</td><td> </td><td valign="top"><a href="#MD5-digests">MD5 digests</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dmd5_005fwrt_005fatt"><code>--md5_wrt_att</code></a>:</td><td> </td><td valign="top"><a href="#MD5-digests">MD5 digests</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dMetadata"><code>--Metadata</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_002dmetadata"><code>--metadata</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_002dmk_005frec_005fdmn-dim"><code>--mk_rec_dmn <var>dim</var></code></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-_002d_002dmk_005frec_005fdmn-dim-1"><code>--mk_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_002dmrd"><code>--mrd</code></a>:</td><td> </td><td valign="top"><a href="#Multiple-Record-Dimensions">Multiple Record Dimensions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dmro"><code>--mro</code></a>:</td><td> </td><td valign="top"><a href="#Subcycle">Subcycle</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dmsa"><code>--msa</code></a>:</td><td> </td><td valign="top"><a href="#Multislabs">Multislabs</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dmsa_005fuser_005forder"><code>--msa_user_order</code></a>:</td><td> </td><td valign="top"><a href="#Multislabs">Multislabs</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dmsa_005fusr_005frdr"><code>--msa_usr_rdr</code></a>:</td><td> </td><td valign="top"><a href="#Multislabs">Multislabs</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dmsk_005fcmp_005ftyp-mask_005fcomp"><code>--msk_cmp_typ <var>mask_comp</var></code></a>:</td><td> </td><td valign="top"><a href="#Mask-condition">Mask condition</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dmsk_005fcnd-mask_005fcond"><code>--msk_cnd <var>mask_cond</var></code></a>:</td><td> </td><td valign="top"><a href="#ncwa-netCDF-Weighted-Averager">ncwa netCDF Weighted Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dmsk_005fcnd_005fsng-mask_005fcond"><code>--msk_cnd_sng <var>mask_cond</var></code></a>:</td><td> </td><td valign="top"><a href="#Mask-condition">Mask condition</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dmsk_005fnm-mask_005fvar"><code>--msk_nm <var>mask_var</var></code></a>:</td><td> </td><td valign="top"><a href="#ncwa-netCDF-Weighted-Averager">ncwa netCDF Weighted Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dmsk_005fval-mask_005fval"><code>--msk_val <var>mask_val</var></code></a>:</td><td> </td><td valign="top"><a href="#Mask-condition">Mask condition</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dmsk_005fvar-mask_005fvar"><code>--msk_var <var>mask_var</var></code></a>:</td><td> </td><td valign="top"><a href="#ncwa-netCDF-Weighted-Averager">ncwa netCDF Weighted Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dMtd"><code>--Mtd</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_002dmtd"><code>--mtd</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_002dmultiple_005frecord_005fdimensions"><code>--multiple_record_dimensions</code></a>:</td><td> </td><td valign="top"><a href="#Multiple-Record-Dimensions">Multiple Record Dimensions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dncml"><code>--ncml</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_002dnetcdf4"><code>--netcdf4</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_002dnintap-loop"><code>--nintap <var>loop</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_002dno_002dblank"><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_002dcoords"><code>--no-coords</code></a>:</td><td> </td><td valign="top"><a href="#Subsetting-Coordinate-Variables">Subsetting Coordinate Variables</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dno_002dcoords-1"><code>--no-coords</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_002dcrd"><code>--no-crd</code></a>:</td><td> </td><td valign="top"><a href="#Subsetting-Coordinate-Variables">Subsetting Coordinate Variables</a></td></tr>
+<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_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_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>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dnsm_005ffl"><code>--nsm_fl</code></a>:</td><td> </td><td valign="top"><a href="#nces-netCDF-Ensemble-Statistics">nces netCDF Ensemble Statistics</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dnsm_005fgrp"><code>--nsm_grp</code></a>:</td><td> </td><td valign="top"><a href="#nces-netCDF-Ensemble-Statistics">nces netCDF Ensemble Statistics</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dnsm_005fsfx"><code>--nsm_sfx</code></a>:</td><td> </td><td valign="top"><a href="#nces-netCDF-Ensemble-Statistics">nces netCDF Ensemble Statistics</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dnsx"><code>--nsx</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_002domp_005fnum_005fthreads-thr_005fnbr"><code>--omp_num_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_002dopen_005fram"><code>--open_ram</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_002dopen_005fram-1"><code>--open_ram</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_002dopen_005fram-2"><code>--open_ram</code></a>:</td><td> </td><td valign="top"><a href="#RAM-disks">RAM disks</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002doperation-op_005ftyp"><code>--operation <var>op_typ</var></code></a>:</td><td> </td><td valign="top"><a href="#Operation-Types">Operation Types</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002doperation-op_005ftyp-1"><code>--operation <var>op_typ</var></code></a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dop_005frlt-mask_005fcomp"><code>--op_rlt <var>mask_comp</var></code></a>:</td><td> </td><td valign="top"><a href="#Mask-condition">Mask condition</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dop_005ftyp-op_005ftyp"><code>--op_typ <var>op_typ</var></code></a>:</td><td> </td><td valign="top"><a href="#Operation-Types">Operation Types</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dop_005ftyp-op_005ftyp-1"><code>--op_typ <var>op_typ</var></code></a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002doutput-fl_005fout"><code>--output <var>fl_out</var></code></a>:</td><td> </td><td valign="top"><a href="#Specifying-Output-Files">Specifying Output Files</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002doverwrite"><code>--overwrite</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_002doverwrite-1"><code>--overwrite</code></a>:</td><td> </td><td valign="top"><a href="#Batch-Mode">Batch Mode</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dovr"><code>--ovr</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_002dovr-1"><code>--ovr</code></a>:</td><td> </td><td valign="top"><a href="#Batch-Mode">Batch Mode</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dpack_005fpolicy-pck_005fplc"><code>--pack_policy <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-_002d_002dpath-input_002dpath"><code>--path <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_002dpath-input_002dpath-1"><code>--path <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_002dpck_005fmap-pck_005fmap"><code>--pck_map <var>pck_map</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-_002d_002dpck_005fplc-pck_005fplc"><code>--pck_plc <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-_002d_002dprint"><code>--print</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_002dprn"><code>--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_002dprn_005ffnc_005ftbl"><code>--prn_fnc_tbl</code></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_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_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_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>
+<tr><td></td><td valign="top"><a href="#index-_002d_002drcd_005fnm-ulm_005fnm">‘<samp>--rcd_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>
+<tr><td></td><td valign="top"><a href="#index-_002d_002drecord_005fappend"><code>--record_append</code></a>:</td><td> </td><td valign="top"><a href="#Record-Appending">Record Appending</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002drec_005fapn"><code>--rec_apn</code></a>:</td><td> </td><td valign="top"><a href="#Record-Appending">Record Appending</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dretain"><code>--retain</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_002drevision"><code>--revision</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_002drevision-1"><code>--revision</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_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_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_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_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_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_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>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dunion"><code>--union</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_002dunion-1"><code>--union</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_002dunits"><code>--units</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_002dunn"><code>--unn</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_002dunn-1"><code>--unn</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_002dunpack"><code>--unpack</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_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_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>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dvrs-1"><code>--vrs</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_002dweight-weight"><code>--weight <var>weight</var></code></a>:</td><td> </td><td valign="top"><a href="#ncwa-netCDF-Weighted-Averager">ncwa netCDF Weighted Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dweight-wgt1_005b_002cwgt2_005d"><code>--weight <var>wgt1</var>[,<var>wgt2</var>]</code></a>:</td><td> </td><td valign="top"><a href="#ncflint-netCDF-File-Interpolator">ncflint netCDF File Interpolator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dwgt_005fvar-weight"><code>--wgt_var <var>weight</var></code></a>:</td><td> </td><td valign="top"><a href="#ncwa-netCDF-Weighted-Averager">ncwa netCDF Weighted Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dwgt_005fvar-wgt1_005b_002cwgt2_005d"><code>--wgt_var <var>wgt1</var>[,<var>wgt2</var>]</code></a>:</td><td> </td><td valign="top"><a href="#ncflint-netCDF-File-Interpolator">ncflint netCDF File Interpolator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dwrite_005ftmp_005ffl"><code>--write_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_002dwrt_005ftmp_005ffl"><code>--wrt_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_002dxcl"><code>--xcl</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_002dxcl-1"><code>--xcl</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_002dxml"><code>--xml</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_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-_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-_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>
+<tr><td></td><td valign="top"><a href="#index-_002dA-1"><code>-A</code></a>:</td><td> </td><td valign="top"><a href="#Batch-Mode">Batch Mode</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="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002da-1"><code>-a</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-_002dA-2"><code>-A</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-_002dA-3">‘<samp>-A</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-_002db">‘<samp>-b</samp>’</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-_002db-1">‘<samp>-b</samp>’</a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002db-2"><code>-b</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-_002dB-mask_005fcond"><code>-B <var>mask_cond</var></code></a>:</td><td> </td><td valign="top"><a href="#ncwa-netCDF-Weighted-Averager">ncwa netCDF Weighted Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002dB-mask_005fcond-1"><code>-B <var>mask_cond</var></code></a>:</td><td> </td><td valign="top"><a href="#Mask-condition">Mask condition</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002dC"><code>-C</code></a>:</td><td> </td><td valign="top"><a href="#Subsetting-Coordinate-Variables">Subsetting Coordinate Variables</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002dc"><code>-c</code></a>:</td><td> </td><td valign="top"><a href="#Subsetting-Coordinate-Variables">Subsetting Coordinate Variables</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002dC-1"><code>-C</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-_002dc-1"><code>-c</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-_002dC-2"><code>-C</code></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-_002dD"><code>-D</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-_002dD-debug_002dlevel"><code>-D <var>debug-level</var></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-_002dD-debug_002dlevel-1"><code>-D <var>debug-level</var></code></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-_002dD-debug_002dlevel-2"><code>-D <var>debug-level</var></code></a>:</td><td> </td><td valign="top"><a href="#Command-Line-Options">Command Line Options</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002dd-dim_002c_005bmin_005d_002c_005bmax_005d_002cstride"><code>-d <var>dim</var>,[<var>min</var>],[<var>max</var>],<var>stride</var></code></a>:</td><td> </td><td valign="top"><a href="#Stride">Stride</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002dd-dim_002c_005bmin_005d_002c_005bmax_005d_002c_005bstride_005d_002c_005bsubcycle_005d"><code>-d <var>dim</var>,[<var>min</var>],[<var>max</var>],[<var>stride</var>],[<var>subcycle</var>]</code></a>:</td><td> </td><td valign="top"><a href="#Subcycle">Subcycle</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002dd-dim_002c_005bmin_005d_005b_002c_005bmax_005d_005b_002c_005bstride_005d_005d_005d"><code>-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</code></a>:</td><td> </td><td valign="top"><a href="#Hyperslabs">Hyperslabs</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002dd-dim_002c_005bmin_005d_005b_002c_005bmax_005d_005b_002c_005bstride_005d_005d_005d-1"><code>-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</code></a>:</td><td> </td><td valign="top"><a href="#Multislabs">Multislabs</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002dd-dim_002c_005bmin_005d_005b_002c_005bmax_005d_005b_002c_005bstride_005d_005d_005d-2"><code>-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</code></a>:</td><td> </td><td valign="top"><a href="#Wrapped-Coordinates">Wrapped Coordinates</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002dd-dim_002c_005bmin_005d_005b_002c_005bmax_005d_005b_002c_005bstride_005d_005d_005d-3"><code>-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</code></a>:</td><td> </td><td valign="top"><a href="#UDUnits-Support">UDUnits Support</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002dd-dim_002c_005bmin_005d_005b_002c_005bmax_005d_005d"><code>-d <var>dim</var>,[<var>min</var>][,[<var>max</var>]]</code></a>:</td><td> </td><td valign="top"><a href="#ncwa-netCDF-Weighted-Averager">ncwa netCDF Weighted Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002dF"><code>-F</code></a>:</td><td> </td><td valign="top"><a href="#C-and-Fortran-Index-Conventions">C and Fortran Index Conventions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002df"><code>-f</code></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-_002dG-gpe_005fdsc"><code>-G <var>gpe_dsc</var></code></a>:</td><td> </td><td valign="top"><a href="#Group-Path-Editing">Group Path Editing</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002dg-grp"><code>-g <var>grp</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-_002dh"><code>-h</code></a>:</td><td> </td><td valign="top"><a href="#History-Attribute">History Attribute</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002dH"><code>-H</code></a>:</td><td> </td><td valign="top"><a href="#File-List-Attributes">File List Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002dh-1"><code>-h</code></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-_002dH-1"><code>-H</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-_002dI"><code>-I</code></a>:</td><td> </td><td valign="top"><a href="#ncwa-netCDF-Weighted-Averager">ncwa netCDF Weighted Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002dL"><code>-L</code></a>:</td><td> </td><td valign="top"><a href="#Deflation">Deflation</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002dl-output_002dpath"><code>-l <var>output-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-_002dl-output_002dpath-1"><code>-l <var>output-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-_002dM"><code>-M</code></a>:</td><td> </td><td valign="top"><a href="#Determining-File-Format">Determining File Format</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002dM-1"><code>-M</code></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-_002dM-2"><code>-M</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-_002dm"><code>-m</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-_002dM-cnk_005fmap"><code>-M <var>cnk_map</var></code></a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002dm-mask_005fvar"><code>-m <var>mask_var</var></code></a>:</td><td> </td><td valign="top"><a href="#ncwa-netCDF-Weighted-Averager">ncwa netCDF Weighted Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002dM-pck_005fmap"><code>-M <var>pck_map</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-_002dN"><code>-N</code></a>:</td><td> </td><td valign="top"><a href="#Normalization-and-Integration">Normalization and Integration</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002dn-loop"><code>-n <var>loop</var></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-_002dn-loop-1"><code>-n <var>loop</var></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-_002dn-loop-2"><code>-n <var>loop</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-_002dO"><code>-O</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-_002dO-1"><code>-O</code></a>:</td><td> </td><td valign="top"><a href="#Batch-Mode">Batch Mode</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002do-fl_005fout"><code>-o <var>fl_out</var></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-_002do-fl_005fout-1"><code>-o <var>fl_out</var></code></a>:</td><td> </td><td valign="top"><a href="#Specifying-Output-Files">Specifying Output Files</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002dP"><code>-P</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-_002dp-input_002dpath"><code>-p <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-_002dp-input_002dpath-1"><code>-p <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-_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-_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-_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">‘<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>
+<tr><td></td><td valign="top"><a href="#index-_002dw-weight"><code>-w <var>weight</var></code></a>:</td><td> </td><td valign="top"><a href="#ncwa-netCDF-Weighted-Averager">ncwa netCDF Weighted Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002dw-wgt1_005b_002cwgt2_005d"><code>-w <var>wgt1</var>[,<var>wgt2</var>]</code></a>:</td><td> </td><td valign="top"><a href="#ncflint-netCDF-File-Interpolator">ncflint netCDF File Interpolator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002dx"><code>-x</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-_002dX"><code>-X</code></a>:</td><td> </td><td valign="top"><a href="#Auxiliary-Coordinates">Auxiliary Coordinates</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002dx-1"><code>-x</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-_002dX-lon_005fmin_002clon_005fmax_002clat_005fmin_002clat_005fmax"><code>-X <var>lon_min</var>,<var>lon_max</var>,<var>lat_min</var>,<var>lat_max</var></code></a>:</td><td> </td><td valign="top"><a href="#Auxiliary-Coordinates">Auxiliary Coordinates</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002dy-op_005ftyp"><code>-y <var>op_typ</var></code></a>:</td><td> </td><td valign="top"><a href="#Operation-Types">Operation Types</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002dy-op_005ftyp-1"><code>-y <var>op_typ</var></code></a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_symbol-9">.</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002e"><kbd>.</kbd></a>:</td><td> </td><td valign="top"><a href="#ncrename-netCDF-Renamer">ncrename netCDF Renamer</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002e-_0028wildcard-character_0029"><code>.</code> (wildcard character)</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-_002ebashrc"><samp>.bashrc</samp></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-_002enetrc"><samp>.netrc</samp></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-_002erhosts"><samp>.rhosts</samp></a>:</td><td> </td><td valign="top"><a href="#Remote-storage">Remote storage</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_symbol-10">/</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002f"><code>/</code></a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002f-_0028division_0029"><code>/</code> (division)</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-_002f_002a_002e_002e_002e_002a_002f-_0028comment_0029"><code>/*...*/</code> (comment)</a>:</td><td> </td><td valign="top"><a href="#Syntax-of-ncap2-statements">Syntax of ncap2 statements</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002f_002f-_0028comment_0029"><code>//</code> (comment)</a>:</td><td> </td><td valign="top"><a href="#Syntax-of-ncap2-statements">Syntax of ncap2 statements</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_symbol-11">0</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-0-_0028NUL_0029"><code>0</code> (NUL)</a>:</td><td> </td><td valign="top"><a href="#ncatted-netCDF-Attribute-Editor">ncatted netCDF Attribute Editor</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_symbol-12">3</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-32_002dbit-offset-file-format">32-bit offset file format</a>:</td><td> </td><td valign="top"><a href="#Determining-File-Format">Determining File Format</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_symbol-13">6</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-64_002dbit-offset-file-format">64-bit offset file format</a>:</td><td> </td><td valign="top"><a href="#Determining-File-Format">Determining File Format</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-64BIT-files"><code>64BIT</code> files</a>:</td><td> </td><td valign="top"><a href="#File-Formats-and-Conversion">File Formats and Conversion</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_symbol-14">:</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_003a-_0028separator-character_0029"><code>:</code> (separator character)</a>:</td><td> </td><td valign="top"><a href="#Group-Path-Editing">Group Path Editing</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_symbol-15">;</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_003b-_0028end-of-statement_0029"><code>;</code> (end of statement)</a>:</td><td> </td><td valign="top"><a href="#Syntax-of-ncap2-statements">Syntax of ncap2 statements</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_symbol-16"><</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_003carpa_002fnameser_002eh_003e"><code><samp><arpa/nameser.h></samp></code></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-_003cresolv_002eh_003e"><code><samp><resolv.h></samp></code></a>:</td><td> </td><td valign="top"><a href="#Windows-Operating-System">Windows Operating System</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_symbol-17">?</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_003f-_0028filename-expansion_0029"><code>?</code> (filename expansion)</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-_003f-_0028question-mark_0029"><code>?</code> (question mark)</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-_003f-_0028wildcard-character_0029"><code>?</code> (wildcard character)</a>:</td><td> </td><td valign="top"><a href="#Subsetting-Files">Subsetting Files</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_symbol-18">@</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_0040-_0028attribute_0029"><code>@</code> (attribute)</a>:</td><td> </td><td valign="top"><a href="#Syntax-of-ncap2-statements">Syntax of ncap2 statements</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_0040-_0028separator-character_0029"><code>@</code> (separator character)</a>:</td><td> </td><td valign="top"><a href="#Group-Path-Editing">Group Path Editing</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_symbol-19">[</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_005b_005d-_0028array-delimiters_0029"><code>[]</code> (array delimiters)</a>:</td><td> </td><td valign="top"><a href="#Syntax-of-ncap2-statements">Syntax of ncap2 statements</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_symbol-20">\</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_005c-_0028backslash_0029"><code>\</code> (backslash)</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-_005c_0022-_0028protected-double-quote_0029"><code>\"</code> (protected double quote)</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-_005c_0027-_0028protected-end-quote_0029"><code>\'</code> (protected end quote)</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-_005c_003f-_0028protected-question-mark_0029"><code>\?</code> (protected question mark)</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-_005ca-_0028ASCII-BEL_002c-bell_0029"><code>\a</code> (<acronym>ASCII</acronym> BEL, bell)</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-_005cb-_0028ASCII-BS_002c-backspace_0029"><code>\b</code> (<acronym>ASCII</acronym> BS, backspace)</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-_005cf-_0028ASCII-FF_002c-formfeed_0029"><code>\f</code> (<acronym>ASCII</acronym> FF, formfeed)</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-_005cn-_0028ASCII-LF_002c-linefeed_0029"><code>\n</code> (<acronym>ASCII</acronym> LF, linefeed)</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-_005cn-_0028linefeed_0029"><code>\n</code> (linefeed)</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-_005cr-_0028ASCII-CR_002c-carriage-return_0029"><code>\r</code> (<acronym>ASCII</acronym> CR, carriage return)</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-_005ct-_0028ASCII-HT_002c-horizontal-tab_0029"><code>\t</code> (<acronym>ASCII</acronym> HT, horizontal tab)</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-_005ct-_0028horizontal-tab_0029"><code>\t</code> (horizontal tab)</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-_005cv-_0028ASCII-VT_002c-vertical-tab_0029"><code>\v</code> (<acronym>ASCII</acronym> VT, vertical tab)</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-_005c_005c-_0028ASCII-_005c_002c-backslash_0029"><code>\\</code> (<acronym>ASCII</acronym> \, backslash)</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-_005c_005c-_0028protected-backslash_0029"><code>\\</code> (protected backslash)</a>:</td><td> </td><td valign="top"><a href="#ncatted-netCDF-Attribute-Editor">ncatted netCDF Attribute Editor</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_symbol-21">^</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_005e-_0028power_0029"><code>^</code> (power)</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-_005e-_0028wildcard-character_0029"><code>^</code> (wildcard character)</a>:</td><td> </td><td valign="top"><a href="#Subsetting-Files">Subsetting Files</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_symbol-22">_</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_005fChunkSizes"><code>_ChunkSizes</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-_005fDeflateLevel"><code>_DeflateLevel</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-_005fEndianness"><code>_Endianness</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-_005fFillValue"><code>_FillValue</code></a>:</td><td> </td><td valign="top"><a href="#Missing-Values">Missing Values</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_005fFillValue-1"><code>_FillValue</code></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-_005fFillValue-2"><code>_FillValue</code></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-_005fFillValue-3"><code>_FillValue</code></a>:</td><td> </td><td valign="top"><a href="#ncflint-netCDF-File-Interpolator">ncflint netCDF File Interpolator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_005fFillValue-4"><var>_FillValue</var></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-_005fFillValue-5"><code>_FillValue</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-_005fFillValue-6"><code>_FillValue</code></a>:</td><td> </td><td valign="top"><a href="#ncrename-netCDF-Renamer">ncrename netCDF Renamer</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_005fFletcher32"><code>_Fletcher32</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-_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-_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>
+<tr><td></td><td valign="top"><a href="#index-_007c-_0028wildcard-character_0029"><code>|</code> (wildcard character)</a>:</td><td> </td><td valign="top"><a href="#Subsetting-Files">Subsetting Files</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_letter-A">A</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-abs"><var>abs</var></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-absolute-value">absolute value</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-acos"><var>acos</var></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-acosh"><var>acosh</var></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-add"><code>add</code></a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-adding-data">adding data</a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-adding-data-1">adding data</a>:</td><td> </td><td valign="top"><a href="#ncflint-netCDF-File-Interpolator">ncflint netCDF File Interpolator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-addition">addition</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-addition-1">addition</a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-addition-2">addition</a>:</td><td> </td><td valign="top"><a href="#ncflint-netCDF-File-Interpolator">ncflint netCDF File Interpolator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-add_005foffset"><var>add_offset</var></a>:</td><td> </td><td valign="top"><a href="#Performance">Performance</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-add_005foffset-1"><code>add_offset</code></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-add_005foffset-2"><code>add_offset</code></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-add_005foffset-3"><code>add_offset</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-add_005foffset-4"><code>add_offset</code></a>:</td><td> </td><td valign="top"><a href="#ncrcat-netCDF-Record-Concatenator">ncrcat netCDF Record Concatenator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-aggregation">aggregation</a>:</td><td> </td><td valign="top"><a href="#Combine-Files">Combine Files</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Aleksandar-Jelenak">Aleksandar Jelenak</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Alexander-Hansen">Alexander Hansen</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-alias"><code>alias</code></a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-alias-1">alias</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-alias-2"><code>alias</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-all">‘<samp>all</samp>’</a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-alphabetization">alphabetization</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-alphabetize-output">alphabetize output</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-alternate-invocations">alternate invocations</a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-anchor">anchor</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-anchoring">anchoring</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-Andrea-Cimatoribus">Andrea Cimatoribus</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Andrew-Wittenberg">Andrew Wittenberg</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-annual-average">annual average</a>:</td><td> </td><td valign="top"><a href="#Annual-Average-over-Regions">Annual Average over Regions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-annual-average-from-daily-data">annual average from daily data</a>:</td><td> </td><td valign="top"><a href="#Daily-data-in-one-file">Daily data in one file</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-annual-average-from-monthly-data">annual average from monthly data</a>:</td><td> </td><td valign="top"><a href="#Monthly-data-in-one-file">Monthly data in one file</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-anomalies">anomalies</a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-anomalies-1">anomalies</a>:</td><td> </td><td valign="top"><a href="#Annual-Average-over-Regions">Annual Average over Regions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-anomalies-2">anomalies</a>:</td><td> </td><td valign="top"><a href="#Monthly-Cycle">Monthly Cycle</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ANSI"><acronym>ANSI</acronym></a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ANSI-C"><code>ANSI C</code></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-appending-data">appending data</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-appending-data-1">appending data</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-appending-to-files">appending to files</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-appending-to-files-1">appending to files</a>:</td><td> </td><td valign="top"><a href="#Batch-Mode">Batch Mode</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-appending-to-files-2">appending to files</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-appending-variables">appending variables</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-appending-variables-1">appending variables</a>:</td><td> </td><td valign="top"><a href="#Appending-Variables">Appending Variables</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-appending-variables-2">appending variables</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-appending-variables-3">appending variables</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-AR4"><acronym>AR4</acronym></a>:</td><td> </td><td valign="top"><a href="#nces-netCDF-Ensemble-Statistics">nces netCDF Ensemble Statistics</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-arccosine-function">arccosine function</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-arcsine-function">arcsine function</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-arctangent-function">arctangent function</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-area"><code>area</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-area_002daveraging">area-averaging</a>:</td><td> </td><td valign="top"><a href="#Annual-Average-over-Regions">Annual Average over Regions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-arithmetic-operators">arithmetic operators</a>:</td><td> </td><td valign="top"><a href="#Missing-Values">Missing Values</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-arithmetic-operators-1">arithmetic operators</a>:</td><td> </td><td valign="top"><a href="#Missing-Values">Missing Values</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-arithmetic-operators-2">arithmetic operators</a>:</td><td> </td><td valign="top"><a href="#ncwa-netCDF-Weighted-Averager">ncwa netCDF Weighted Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-arithmetic-processor">arithmetic processor</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-ARM-conventions"><acronym>ARM</acronym> conventions</a>:</td><td> </td><td valign="top"><a href="#ARM-Conventions">ARM Conventions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ARM-conventions-1">ARM conventions</a>:</td><td> </td><td valign="top"><a href="#ncrcat-netCDF-Record-Concatenator">ncrcat netCDF Record Concatenator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-array"><code>array</code></a>:</td><td> </td><td valign="top"><a href="#Arrays-and-hyperslabs">Arrays and hyperslabs</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-array-function"><code>array</code> function</a>:</td><td> </td><td valign="top"><a href="#Arrays-and-hyperslabs">Arrays and hyperslabs</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-array-indexing">array indexing</a>:</td><td> </td><td valign="top"><a href="#Syntax-of-ncap2-statements">Syntax of ncap2 statements</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-array-storage">array storage</a>:</td><td> </td><td valign="top"><a href="#Syntax-of-ncap2-statements">Syntax of ncap2 statements</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-array-syntax">array syntax</a>:</td><td> </td><td valign="top"><a href="#Syntax-of-ncap2-statements">Syntax of ncap2 statements</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-arrays">arrays</a>:</td><td> </td><td valign="top"><a href="#Arrays-and-hyperslabs">Arrays and hyperslabs</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-arrival-value">arrival value</a>:</td><td> </td><td valign="top"><a href="#ncflint-netCDF-File-Interpolator">ncflint netCDF File Interpolator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ASCII"><acronym>ASCII</acronym></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-ASCII-1"><acronym>ASCII</acronym></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-asin"><var>asin</var></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-asinh"><var>asinh</var></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-asort"><code>asort</code></a>:</td><td> </td><td valign="top"><a href="#Sort-methods">Sort methods</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-assignment-statement">assignment statement</a>:</td><td> </td><td valign="top"><a href="#Syntax-of-ncap2-statements">Syntax of ncap2 statements</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-asynchronous-file-access">asynchronous file access</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-atan"><var>atan</var></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-atanh"><var>atanh</var></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-attribute-inheritance">attribute inheritance</a>:</td><td> </td><td valign="top"><a href="#Attributes">Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-attribute-names">attribute names</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-attribute-names-1">attribute names</a>:</td><td> </td><td valign="top"><a href="#ncrename-netCDF-Renamer">ncrename netCDF Renamer</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-attribute-propagation">attribute propagation</a>:</td><td> </td><td valign="top"><a href="#Attributes">Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-attribute-syntax">attribute syntax</a>:</td><td> </td><td valign="top"><a href="#Syntax-of-ncap2-statements">Syntax of ncap2 statements</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-attribute_002c-units">attribute, <code>units</code></a>:</td><td> </td><td valign="top"><a href="#UDUnits-Support">UDUnits Support</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-attributes">attributes</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-attributes_002c-appending">attributes, appending</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-attributes_002c-creating">attributes, creating</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-attributes_002c-deleting">attributes, deleting</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-attributes_002c-editing">attributes, editing</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-attributes_002c-editing-1">attributes, editing</a>:</td><td> </td><td valign="top"><a href="#Annual-Average-over-Regions">Annual Average over Regions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-attributes_002c-editing-2">attributes, editing</a>:</td><td> </td><td valign="top"><a href="#Regrid-MODIS-Data">Regrid MODIS Data</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-attributes_002c-global">attributes, global</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-attributes_002c-global-1">attributes, global</a>:</td><td> </td><td valign="top"><a href="#History-Attribute">History Attribute</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-attributes_002c-global-2">attributes, global</a>:</td><td> </td><td valign="top"><a href="#File-List-Attributes">File List Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-attributes_002c-global-3">attributes, global</a>:</td><td> </td><td valign="top"><a href="#ARM-Conventions">ARM Conventions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-attributes_002c-global-4">attributes, global</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-attributes_002c-global-5">attributes, global</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-attributes_002c-global-6">attributes, global</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-attributes_002c-global-7">attributes, global</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-attributes_002c-global-8">attributes, global</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-attributes_002c-global-9">attributes, global</a>:</td><td> </td><td valign="top"><a href="#ncrename-netCDF-Renamer">ncrename netCDF Renamer</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-attributes_002c-global-10">attributes, global</a>:</td><td> </td><td valign="top"><a href="#ncrename-netCDF-Renamer">ncrename netCDF Renamer</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-attributes_002c-modifying">attributes, modifying</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-attributes_002c-modifying-1">attributes, modifying</a>:</td><td> </td><td valign="top"><a href="#Annual-Average-over-Regions">Annual Average over Regions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-attributes_002c-modifying-2">attributes, modifying</a>:</td><td> </td><td valign="top"><a href="#Regrid-MODIS-Data">Regrid MODIS Data</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-attributes_002c-overwriting">attributes, overwriting</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-attributes_002c-overwriting-1">attributes, overwriting</a>:</td><td> </td><td valign="top"><a href="#Annual-Average-over-Regions">Annual Average over Regions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-attributes_002c-overwriting-2">attributes, overwriting</a>:</td><td> </td><td valign="top"><a href="#Regrid-MODIS-Data">Regrid MODIS Data</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-attributesncap2">attributes<code>ncap2</code></a>:</td><td> </td><td valign="top"><a href="#Attributes">Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-autoconf"><code>autoconf</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-autoconversion">autoconversion</a>:</td><td> </td><td valign="top"><a href="#Autoconversion">Autoconversion</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-automagic">automagic</a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-automagic-1">automagic</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-automatic-type-conversion">automatic type conversion</a>:</td><td> </td><td valign="top"><a href="#Type-Conversion">Type Conversion</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-automatic-type-conversion-1">automatic type conversion</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-auxiliary-coordinates">auxiliary coordinates</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-average">average</a>:</td><td> </td><td valign="top"><a href="#Operation-Types">Operation Types</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-average-1">average</a>:</td><td> </td><td valign="top"><a href="#ncwa-netCDF-Weighted-Averager">ncwa netCDF Weighted Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-average-2">average</a>:</td><td> </td><td valign="top"><a href="#Daily-data-in-one-file">Daily data in one file</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-average-3">average</a>:</td><td> </td><td valign="top"><a href="#Daily-data-in-one-file">Daily data in one file</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-average-4">average</a>:</td><td> </td><td valign="top"><a href="#Monthly-data-in-one-file">Monthly data in one file</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-average-5">average</a>:</td><td> </td><td valign="top"><a href="#Monthly-data-in-one-file">Monthly data in one file</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-average-6">average</a>:</td><td> </td><td valign="top"><a href="#One-time-point-one-file">One time point one file</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-average-7">average</a>:</td><td> </td><td valign="top"><a href="#Global-Distribution-of-Long_002dterm-Average">Global Distribution of Long-term Average</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-average-8">average</a>:</td><td> </td><td valign="top"><a href="#Annual-Average-over-Regions">Annual Average over Regions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-average-9">average</a>:</td><td> </td><td valign="top"><a href="#Monthly-Cycle">Monthly Cycle</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-averaging-data">averaging data</a>:</td><td> </td><td valign="top"><a href="#Missing-Values">Missing Values</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-averaging-data-1">averaging data</a>:</td><td> </td><td valign="top"><a href="#nces-netCDF-Ensemble-Statistics">nces netCDF Ensemble Statistics</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-averaging-data-2">averaging data</a>:</td><td> </td><td valign="top"><a href="#ncra-netCDF-Record-Averager">ncra netCDF Record Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-averaging-data-3">averaging data</a>:</td><td> </td><td valign="top"><a href="#ncwa-netCDF-Weighted-Averager">ncwa netCDF Weighted Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-avg"><code>avg</code></a>:</td><td> </td><td valign="top"><a href="#Operation-Types">Operation Types</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-avg_0028_0029">avg()</a>:</td><td> </td><td valign="top"><a href="#Methods-and-functions">Methods and functions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-avgsqr"><code>avgsqr</code></a>:</td><td> </td><td valign="top"><a href="#Operation-Types">Operation Types</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_letter-B">B</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Barry-deFreese">Barry deFreese</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-base_005ftime"><code>base_time</code></a>:</td><td> </td><td valign="top"><a href="#ARM-Conventions">ARM Conventions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-bash"><code>bash</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-bash-1"><code>bash</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-Bash-shell">Bash shell</a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Bash-Shell">Bash Shell</a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Bash-shell-1">Bash shell</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-batch-mode">batch mode</a>:</td><td> </td><td valign="top"><a href="#Batch-Mode">Batch Mode</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-beer">beer</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-benchmarks">benchmarks</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-Bessel-function">Bessel function</a>:</td><td> </td><td valign="top"><a href="#GSL-special-functions">GSL special functions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-bilinear-interpolation">bilinear interpolation</a>:</td><td> </td><td valign="top"><a href="#Regrid-MODIS-Data">Regrid MODIS Data</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Bill-Kocik">Bill Kocik</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-binary-format">binary format</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-binary-operations">binary operations</a>:</td><td> </td><td valign="top"><a href="#Memory-for-ncap2">Memory for ncap2</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-binary-operations-1">binary operations</a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-binary-Operators">binary Operators</a>:</td><td> </td><td valign="top"><a href="#Expressions">Expressions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-blank">blank</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-bounds"><code>bounds</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-bounds-convention">bounds convention</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-Bourne-Shell">Bourne Shell</a>:</td><td> </td><td valign="top"><a href="#Stride">Stride</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Bourne-Shell-1">Bourne Shell</a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Brian-Mays">Brian Mays</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-broadcasting">broadcasting</a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-broadcasting-groups">broadcasting groups</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-broadcasting-groups-1">broadcasting groups</a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-broadcasting-groups-2">broadcasting groups</a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-broadcasting-variables">broadcasting variables</a>:</td><td> </td><td valign="top"><a href="#Expressions">Expressions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-broadcasting-variables-1">broadcasting variables</a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-broadcasting-variables-2">broadcasting variables</a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-broadcasting-variables-3">broadcasting variables</a>:</td><td> </td><td valign="top"><a href="#ncflint-netCDF-File-Interpolator">ncflint netCDF File Interpolator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-broadcasting-variables-4">broadcasting variables</a>:</td><td> </td><td valign="top"><a href="#ncwa-netCDF-Weighted-Averager">ncwa netCDF Weighted Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-BSD"><code>BSD</code></a>:</td><td> </td><td valign="top"><a href="#Command-Line-Options">Command Line Options</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Buffer-sizes">Buffer sizes</a>:</td><td> </td><td valign="top"><a href="#Buffer-sizes">Buffer sizes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-buffering">buffering</a>:</td><td> </td><td valign="top"><a href="#Performance">Performance</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-bugs_002c-reporting">bugs, reporting</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-byte_0028_0029">byte()</a>:</td><td> </td><td valign="top"><a href="#Methods-and-functions">Methods and functions</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_letter-C">C</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-C-index-convention">C index convention</a>:</td><td> </td><td valign="top"><a href="#C-and-Fortran-Index-Conventions">C and Fortran Index Conventions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-C-language">C language</a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-C-language-1">C language</a>:</td><td> </td><td valign="top"><a href="#Missing-Values">Missing Values</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-C-language-2">C language</a>:</td><td> </td><td valign="top"><a href="#Automatic-type-conversion">Automatic type conversion</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-C-language-3">C language</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-C-language-4">C language</a>:</td><td> </td><td valign="top"><a href="#Syntax-of-ncap2-statements">Syntax of ncap2 statements</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-C-language-5">C language</a>:</td><td> </td><td valign="top"><a href="#Expressions">Expressions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-C-language-6">C language</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-C-language-7">C language</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-C-Shell">C Shell</a>:</td><td> </td><td valign="top"><a href="#Stride">Stride</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-C-Shell-1">C Shell</a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-c_002b_002b"><code>c++</code></a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-C_002b_002b">C++</a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-C89">C89</a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-C89-1">C89</a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-C99">C99</a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-C99-1">C99</a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-C99-2">C99</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-CAM3"><acronym>CAM3</acronym></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-CC"><code>CC</code></a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-cc"><code>cc</code></a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-CCM-Processor"><acronym>CCM</acronym> Processor</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-CCM-Processor-1"><acronym>CCM</acronym> Processor</a>:</td><td> </td><td valign="top"><a href="#ncra-netCDF-Record-Averager">ncra netCDF Record Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-CCM-Processor-2"><acronym>CCM</acronym> Processor</a>:</td><td> </td><td valign="top"><a href="#ncrcat-netCDF-Record-Concatenator">ncrcat netCDF Record Concatenator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-CCSM"><acronym>CCSM</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-CCSM-1">CCSM</a>:</td><td> </td><td valign="top"><a href="#CCSM-Example">CCSM Example</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-CCSM-conventions"><acronym>CCSM</acronym> conventions</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-CDL"><acronym>CDL</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-ceil"><var>ceil</var></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-ceiling-function">ceiling function</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-cell-methods-convention">cell methods convention</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-cell_002dbased-grids">cell-based grids</a>:</td><td> </td><td valign="top"><a href="#Auxiliary-Coordinates">Auxiliary Coordinates</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-cell_005fmethods"><code>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-CF-compliance-checker"><acronym>CF</acronym> compliance checker</a>:</td><td> </td><td valign="top"><a href="#Group-Path-Editing">Group Path Editing</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-CF-conventions"><acronym>CF</acronym> conventions</a>:</td><td> </td><td valign="top"><a href="#Subsetting-Coordinate-Variables">Subsetting Coordinate Variables</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-CF-conventions-1"><acronym>CF</acronym> conventions</a>:</td><td> </td><td valign="top"><a href="#Auxiliary-Coordinates">Auxiliary Coordinates</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-CF-conventions-2"><acronym>CF</acronym> conventions</a>:</td><td> </td><td valign="top"><a href="#UDUnits-Support">UDUnits Support</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-CF-conventions-3"><acronym>CF</acronym> conventions</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-CF-conventions-4"><acronym>CF</acronym> conventions</a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-cfchecker"><code>cfchecker</code></a>:</td><td> </td><td valign="top"><a href="#Group-Path-Editing">Group Path Editing</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-change_005fmiss_0028_0029"><code>change_miss()</code></a>:</td><td> </td><td valign="top"><a href="#Missing-values-ncap2">Missing values ncap2</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-char_0028_0029">char()</a>:</td><td> </td><td valign="top"><a href="#Methods-and-functions">Methods and functions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-characters_002c-special">characters, special</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-Charlie-Zender">Charlie Zender</a>:</td><td> </td><td valign="top"><a href="#Foreword">Foreword</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Charlie-Zender-1">Charlie Zender</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-chocolate">chocolate</a>:</td><td> </td><td valign="top"><a href="#Contributing">Contributing</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Chris-Barker">Chris Barker</a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-chunking">chunking</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-chunking-1">chunking</a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-chunking-2">chunking</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-chunking-map">chunking map</a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-chunking-map-1">chunking map</a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-chunking-policy">chunking policy</a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-chunksize">chunksize</a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-clang"><code>clang</code></a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-CLASSIC-files"><code>CLASSIC</code> files</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-client_002dserver">client-server</a>:</td><td> </td><td valign="top"><a href="#OPeNDAP">OPeNDAP</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Climate-and-Forecast-Metadata-Convention">Climate and Forecast Metadata Convention</a>:</td><td> </td><td valign="top"><a href="#UDUnits-Support">UDUnits Support</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-climate-model">climate model</a>:</td><td> </td><td valign="top"><a href="#Philosophy">Philosophy</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-climate-model-1">climate model</a>:</td><td> </td><td valign="top"><a href="#Climate-Model-Paradigm">Climate Model Paradigm</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-climate-model-2">climate model</a>:</td><td> </td><td valign="top"><a href="#Concatenation">Concatenation</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-climate-model-3">climate model</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-climate-model-4">climate model</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-climate-model-5">climate model</a>:</td><td> </td><td valign="top"><a href="#Normalization-and-Integration">Normalization and Integration</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-climate-model-6">climate model</a>:</td><td> </td><td valign="top"><a href="#Normalization-and-Integration">Normalization and Integration</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-clipping-operators">clipping operators</a>:</td><td> </td><td valign="top"><a href="#Expressions">Expressions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-CMIP"><acronym>CMIP</acronym></a>:</td><td> </td><td valign="top"><a href="#nces-netCDF-Ensemble-Statistics">nces netCDF Ensemble Statistics</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-CMIP-1"><acronym>CMIP</acronym></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-CMIP5"><acronym>CMIP5</acronym></a>:</td><td> </td><td valign="top"><a href="#CMIP5-Example">CMIP5 Example</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-cnk_005fall">‘<samp>cnk_all</samp>’</a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-cnk_005fdmn">‘<samp>cnk_dmn</samp>’</a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-cnk_005fg2d">‘<samp>cnk_g2d</samp>’</a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-cnk_005fg3d">‘<samp>cnk_g3d</samp>’</a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-cnk_005flfp">‘<samp>cnk_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-cnk_005fmap"><var>cnk_map</var></a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-cnk_005fprd">‘<samp>cnk_prd</samp>’</a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-cnk_005frd1">‘<samp>cnk_rd1</samp>’</a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-cnk_005fscl">‘<samp>cnk_scl</samp>’</a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-cnk_005fxpl">‘<samp>cnk_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-cnk_005fxst">‘<samp>cnk_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-cnk_005fxst-1">‘<samp>cnk_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-Comeau">Comeau</a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-command-line-options">command line options</a>:</td><td> </td><td valign="top"><a href="#Command-Line-Options">Command Line Options</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-command-line-switches">command line switches</a>:</td><td> </td><td valign="top"><a href="#Philosophy">Philosophy</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-command-line-switches-1">command line switches</a>:</td><td> </td><td valign="top"><a href="#Common-features">Common features</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-command-line-switches-2">command line switches</a>:</td><td> </td><td valign="top"><a href="#Specifying-Output-Files">Specifying Output Files</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-command-line-switches-3">command line switches</a>:</td><td> </td><td valign="top"><a href="#Operator-Reference-Manual">Operator Reference Manual</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-comments">comments</a>:</td><td> </td><td valign="top"><a href="#Syntax-of-ncap2-statements">Syntax of ncap2 statements</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-como"><code>como</code></a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Compaq">Compaq</a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-comparator">comparator</a>:</td><td> </td><td valign="top"><a href="#Mask-condition">Mask condition</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-compatability">compatability</a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-compilers">compilers</a>:</td><td> </td><td valign="top"><a href="#Specifying-Output-Files">Specifying Output Files</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-complementary-error-function">complementary error function</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-compliance-checker">compliance checker</a>:</td><td> </td><td valign="top"><a href="#Group-Path-Editing">Group Path Editing</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-compression">compression</a>:</td><td> </td><td valign="top"><a href="#Deflation">Deflation</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-compression-1">compression</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-concatenation">concatenation</a>:</td><td> </td><td valign="top"><a href="#Appending-Variables">Appending Variables</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-concatenation-1">concatenation</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-concatenation-2">concatenation</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-concatenation-3">concatenation</a>:</td><td> </td><td valign="top"><a href="#ncrcat-netCDF-Record-Concatenator">ncrcat netCDF Record Concatenator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-conditional-Operator">conditional Operator</a>:</td><td> </td><td valign="top"><a href="#Expressions">Expressions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-config_002eguess"><samp>config.guess</samp></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-configure_002eeg"><samp>configure.eg</samp></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-constraint-expressions">constraint expressions</a>:</td><td> </td><td valign="top"><a href="#OPeNDAP">OPeNDAP</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-contents">contents</a>:</td><td> </td><td valign="top"><a href="#How-to-Use-This-guide">How to Use This guide</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-contributing">contributing</a>:</td><td> </td><td valign="top"><a href="#Contributing">Contributing</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-contributors">contributors</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-coordinate-limits">coordinate limits</a>:</td><td> </td><td valign="top"><a href="#Hyperslabs">Hyperslabs</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-coordinate-variable">coordinate variable</a>:</td><td> </td><td valign="top"><a href="#UDUnits-Support">UDUnits Support</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-coordinate-variable-1">coordinate variable</a>:</td><td> </td><td valign="top"><a href="#Operation-Types">Operation Types</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-coordinate-variable-2">coordinate variable</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-coordinate-variable-3">coordinate variable</a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-coordinate-variable-4">coordinate variable</a>:</td><td> </td><td valign="top"><a href="#ncwa-netCDF-Weighted-Averager">ncwa netCDF Weighted Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-coordinate-variables">coordinate variables</a>:</td><td> </td><td valign="top"><a href="#ncrename-netCDF-Renamer">ncrename netCDF Renamer</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-coordinates"><code>coordinates</code></a>:</td><td> </td><td valign="top"><a href="#Auxiliary-Coordinates">Auxiliary Coordinates</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-coordinates-1"><code>coordinates</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-coordinates-2">coordinates</a>:</td><td> </td><td valign="top"><a href="#Add-Coordinates-to-MODIS-Data">Add Coordinates to MODIS Data</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-coordinates-convention">coordinates convention</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-coordinates_002c-modifying">coordinates, modifying</a>:</td><td> </td><td valign="top"><a href="#Permute-MODIS-Coordinates">Permute MODIS Coordinates</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-core-dump">core dump</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-core-dump-1"><code>core dump</code></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-core-dump-2"><code>core dump</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-cos"><var>cos</var></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-cosh"><var>cosh</var></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-cosine-function">cosine function</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-covariance">covariance</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-cp"><code>cp</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-Cray">Cray</a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Cray-1">Cray</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-csh"><code>csh</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-Csh-shell">Csh shell</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-cxx"><code>cxx</code></a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Cygwin">Cygwin</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-Cygwin-1">Cygwin</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-C_005fformat"><var>C_format</var></a>:</td><td> </td><td valign="top"><a href="#Performance">Performance</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_letter-D">D</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-daily-data">daily data</a>:</td><td> </td><td valign="top"><a href="#Daily-data-in-one-file">Daily data in one file</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-daily-data-1">daily data</a>:</td><td> </td><td valign="top"><a href="#One-time-point-one-file">One time point one file</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-daily-data-2">daily data</a>:</td><td> </td><td valign="top"><a href="#Multiple-files-with-multiple-time-points">Multiple files with multiple time points</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Daniel-Baumann">Daniel Baumann</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Daniel-Wang">Daniel Wang</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-DAP"><acronym>DAP</acronym></a>:</td><td> </td><td valign="top"><a href="#OPeNDAP">OPeNDAP</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-data-access-protocol">data access protocol</a>:</td><td> </td><td valign="top"><a href="#OPeNDAP">OPeNDAP</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-data-safety">data safety</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-data-safety-1">data safety</a>:</td><td> </td><td valign="top"><a href="#ncrename-netCDF-Renamer">ncrename netCDF Renamer</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-data_002c-missing">data, missing</a>:</td><td> </td><td valign="top"><a href="#Missing-Values">Missing Values</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-data_002c-missing-1">data, missing</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-date"><code>date</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-datesec"><code>datesec</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-dbg_005flvl"><var>dbg_lvl</var></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-dbg_005flvl-1"><var>dbg_lvl</var></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-dbg_005flvl-2"><var>dbg_lvl</var></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-DDRA"><acronym>DDRA</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-Debian">Debian</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-debug_002dlevel"><var>debug-level</var></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-debug_002dlevel-1"><var>debug-level</var></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-debugging">debugging</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-debugging-1">debugging</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-debugging-2">debugging</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-DEC"><acronym>DEC</acronym></a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-defdim_0028_0029"><code>defdim()</code></a>:</td><td> </td><td valign="top"><a href="#Dimensions">Dimensions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-defining-dimensions-in-ncap2">defining dimensions in <code>ncap2</code></a>:</td><td> </td><td valign="top"><a href="#Dimensions">Dimensions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-deflation">deflation</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-deflation-1">deflation</a>:</td><td> </td><td valign="top"><a href="#Deflation">Deflation</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-deflation-2">deflation</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-degenerate-dimension">degenerate dimension</a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-degenerate-dimension-1">degenerate dimension</a>:</td><td> </td><td valign="top"><a href="#Operation-Types">Operation Types</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-degenerate-dimension-2">degenerate dimension</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-degenerate-dimension-3">degenerate dimension</a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-degenerate-dimension-4">degenerate dimension</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-degenerate-dimension-5">degenerate dimension</a>:</td><td> </td><td valign="top"><a href="#ncflint-netCDF-File-Interpolator">ncflint netCDF File Interpolator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-degenerate-dimension-6">degenerate dimension</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-degenerate-dimension-7">degenerate dimension</a>:</td><td> </td><td valign="top"><a href="#ncra-netCDF-Record-Averager">ncra netCDF Record Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-degenerate-dimension-8">degenerate dimension</a>:</td><td> </td><td valign="top"><a href="#ncwa-netCDF-Weighted-Averager">ncwa netCDF Weighted Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-degenerate-dimension-9">degenerate dimension</a>:</td><td> </td><td valign="top"><a href="#Normalization-and-Integration">Normalization and Integration</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-delete-_0028groups_0029">delete (groups)</a>:</td><td> </td><td valign="top"><a href="#Group-Path-Editing">Group Path Editing</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-delete_005fmiss_0028_0029"><code>delete_miss()</code></a>:</td><td> </td><td valign="top"><a href="#Missing-values-ncap2">Missing values ncap2</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-demotion">demotion</a>:</td><td> </td><td valign="top"><a href="#Type-Conversion">Type Conversion</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Dennis-Heimbigner">Dennis Heimbigner</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-derived-fields">derived fields</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-derived-fields-1">derived fields</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-digest">digest</a>:</td><td> </td><td valign="top"><a href="#MD5-digests">MD5 digests</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Digital">Digital</a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-dimension-limits">dimension limits</a>:</td><td> </td><td valign="top"><a href="#Hyperslabs">Hyperslabs</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-dimension-names">dimension names</a>:</td><td> </td><td valign="top"><a href="#ncrename-netCDF-Renamer">ncrename netCDF Renamer</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-dimension-order">dimension order</a>:</td><td> </td><td valign="top"><a href="#Annual-Average-over-Regions">Annual Average over Regions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-dimensions_002c-growing">dimensions, growing</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-disaggregate">disaggregate</a>:</td><td> </td><td valign="top"><a href="#Group-Path-Editing">Group Path Editing</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-disjoint-files">disjoint files</a>:</td><td> </td><td valign="top"><a href="#Appending-Variables">Appending Variables</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-diskless-files">diskless files</a>:</td><td> </td><td valign="top"><a href="#RAM-disks">RAM disks</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-dismember">dismember</a>:</td><td> </td><td valign="top"><a href="#Group-Path-Editing">Group Path Editing</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Distributed-Data-Reduction-_0026-Analysis">Distributed Data Reduction & Analysis</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-Distributed-Oceanographic-Data-System">Distributed Oceanographic Data System</a>:</td><td> </td><td valign="top"><a href="#OPeNDAP">OPeNDAP</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-divide"><code>divide</code></a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-dividing-data">dividing data</a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-division">division</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-dmn">‘<samp>dmn</samp>’</a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-documentation">documentation</a>:</td><td> </td><td valign="top"><a href="#Availability">Availability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-DODS"><acronym>DODS</acronym></a>:</td><td> </td><td valign="top"><a href="#OPeNDAP">OPeNDAP</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-DODS-1"><acronym>DODS</acronym></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-DODS_005fROOT"><code>DODS_ROOT</code></a>:</td><td> </td><td valign="top"><a href="#OPeNDAP">OPeNDAP</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-dot-product">dot product</a>:</td><td> </td><td valign="top"><a href="#Normalization-and-Integration">Normalization and Integration</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-dot-product-1">dot product</a>:</td><td> </td><td valign="top"><a href="#Normalization-and-Integration">Normalization and Integration</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-double_0028_0029">double()</a>:</td><td> </td><td valign="top"><a href="#Methods-and-functions">Methods and functions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-double_002dprecision">double-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-dsort"><code>dsort</code></a>:</td><td> </td><td valign="top"><a href="#Sort-methods">Sort methods</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-duration">duration</a>:</td><td> </td><td valign="top"><a href="#Subcycle">Subcycle</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-dynamic-linking">dynamic linking</a>:</td><td> </td><td valign="top"><a href="#Libraries">Libraries</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_letter-E">E</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Ed-Hartnett">Ed Hartnett</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Ed-Hill">Ed Hill</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-eddy-covariance">eddy covariance</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-editing-attributes">editing attributes</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-egrep"><code>egrep</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-Elliptic-integrals">Elliptic integrals</a>:</td><td> </td><td valign="top"><a href="#GSL-special-functions">GSL special functions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ensemble">ensemble</a>:</td><td> </td><td valign="top"><a href="#Concatenation">Concatenation</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ensemble-1">ensemble</a>:</td><td> </td><td valign="top"><a href="#nces-netCDF-Ensemble-Statistics">nces netCDF Ensemble Statistics</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ensemble-average">ensemble average</a>:</td><td> </td><td valign="top"><a href="#nces-netCDF-Ensemble-Statistics">nces netCDF Ensemble Statistics</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ensemble-concatenation">ensemble concatenation</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-erf"><var>erf</var></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-erfc"><var>erfc</var></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-Eric-Blake">Eric Blake</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-error-function">error function</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-error-tolerance">error tolerance</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-Etienne-Tourigny">Etienne Tourigny</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-exclusion">exclusion</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-exclusion-1">exclusion</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-exclusion-2">exclusion</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-execution-time">execution time</a>:</td><td> </td><td valign="top"><a href="#Libraries">Libraries</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-execution-time-1">execution time</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-execution-time-2">execution time</a>:</td><td> </td><td valign="top"><a href="#Performance">Performance</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-execution-time-3">execution time</a>:</td><td> </td><td valign="top"><a href="#Metadata-Optimization">Metadata Optimization</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-execution-time-4">execution time</a>:</td><td> </td><td valign="top"><a href="#Missing-Values">Missing Values</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-execution-time-5">execution time</a>:</td><td> </td><td valign="top"><a href="#ncrename-netCDF-Renamer">ncrename netCDF Renamer</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-exp"><var>exp</var></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-exponent">exponent</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-exponentiation">exponentiation</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-exponentiation-function">exponentiation function</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-expressions">expressions</a>:</td><td> </td><td valign="top"><a href="#Expressions">Expressions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-extended-file-format">extended file format</a>:</td><td> </td><td valign="top"><a href="#Determining-File-Format">Determining File Format</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-extended-regular-expressions">extended regular expressions</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-extended-regular-expressions-1">extended regular expressions</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-extended-regular-expressions-2">extended regular expressions</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-extended-regular-expressions-3">extended regular expressions</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-extended-regular-expressions-4">extended regular expressions</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-extraction">extraction</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-extraction-1">extraction</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-extraction-2">extraction</a>:</td><td> </td><td valign="top"><a href="#Filters-for-ncks">Filters for <code>ncks</code></a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_letter-F">F</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-f90"><code>f90</code></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-features_002c-requesting">features, requesting</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-File-buffers">File buffers</a>:</td><td> </td><td valign="top"><a href="#Buffer-sizes">Buffer sizes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-file-combination">file combination</a>:</td><td> </td><td valign="top"><a href="#Combine-Files">Combine Files</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-file-deletion">file deletion</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-file-multiplication">file multiplication</a>:</td><td> </td><td valign="top"><a href="#ncflint-netCDF-File-Interpolator">ncflint netCDF File Interpolator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-file-removal">file removal</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-file-retention">file retention</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-files_002c-multiple">files, multiple</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-files_002c-numerous-input">files, numerous input</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-Filipe-Fernandes">Filipe Fernandes</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-filters">filters</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-findgen_002dequivalent">findgen-equivalent</a>:</td><td> </td><td valign="top"><a href="#Arrays-and-hyperslabs">Arrays and hyperslabs</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-fix-record-dimension">fix record dimension</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-fix-record-dimension-1">fix record dimension</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-fix-record-dimension-2">fix record dimension</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-fixed-dimension">fixed dimension</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-fixed-dimension-1">fixed dimension</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-fixed-dimension-2">fixed dimension</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-fixed-dimension-3">fixed dimension</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-flags">flags</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-flatten-_0028groups_0029">flatten (groups)</a>:</td><td> </td><td valign="top"><a href="#Group-Path-Editing">Group Path Editing</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-flattening">flattening</a>:</td><td> </td><td valign="top"><a href="#Autoconversion">Autoconversion</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-float"><code>float</code></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-float_0028_0029">float()</a>:</td><td> </td><td valign="top"><a href="#Methods-and-functions">Methods and functions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-floor"><var>floor</var></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-floor-function">floor function</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-flt_005fbyt">‘<samp>flt_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-flt_005fsht">‘<samp>flt_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-for_0028_0029">for()</a>:</td><td> </td><td valign="top"><a href="#Loops">Loops</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-force-append">force append</a>:</td><td> </td><td valign="top"><a href="#Batch-Mode">Batch Mode</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-force-overwrite">force overwrite</a>:</td><td> </td><td valign="top"><a href="#Batch-Mode">Batch Mode</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-foreword">foreword</a>:</td><td> </td><td valign="top"><a href="#Foreword">Foreword</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Fortran">Fortran</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-Fortran-1">Fortran</a>:</td><td> </td><td valign="top"><a href="#ncra-netCDF-Record-Averager">ncra netCDF Record Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Fortran-2">Fortran</a>:</td><td> </td><td valign="top"><a href="#ncrcat-netCDF-Record-Concatenator">ncrcat netCDF Record Concatenator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Fortran-index-convention">Fortran index convention</a>:</td><td> </td><td valign="top"><a href="#C-and-Fortran-Index-Conventions">C and Fortran Index Conventions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-FORTRAN_005fformat"><var>FORTRAN_format</var></a>:</td><td> </td><td valign="top"><a href="#Performance">Performance</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Francesco-Lovergine">Francesco Lovergine</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ftp"><code>ftp</code></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-ftp-1"><code>ftp</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-FTP"><acronym>FTP</acronym></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-funding">funding</a>:</td><td> </td><td valign="top"><a href="#Proposals-for-Institutional-Funding">Proposals for Institutional Funding</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_letter-G">G</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-g_002b_002b"><code>g++</code></a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-g_002b_002b-1"><code>g++</code></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-g2d">‘<samp>g2d</samp>’</a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-g3d">‘<samp>g3d</samp>’</a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-GAG"><acronym>GAG</acronym></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-gamma"><var>gamma</var></a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-gamma-1"><var>gamma</var></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-gamma-function">gamma function</a>:</td><td> </td><td valign="top"><a href="#GSL-special-functions">GSL special functions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-gamma-function-1">gamma function</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-Gary-Strand">Gary Strand</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Gaussian-weights">Gaussian weights</a>:</td><td> </td><td valign="top"><a href="#Normalization-and-Integration">Normalization and Integration</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Gavin-Burris">Gavin Burris</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Gayathri-Venkitachalam">Gayathri Venkitachalam</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-gcc"><code>gcc</code></a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-gcc-1"><code>gcc</code></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-GCM"><acronym>GCM</acronym></a>:</td><td> </td><td valign="top"><a href="#Climate-Model-Paradigm">Climate Model Paradigm</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-GCM-1"><acronym>GCM</acronym></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-geographical-weight">geographical weight</a>:</td><td> </td><td valign="top"><a href="#Monthly-Cycle">Monthly Cycle</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-George-Shapavalov">George Shapavalov</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-George-Shapovalov">George Shapovalov</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-George-White">George White</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-gethostname"><code>gethostname</code></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-getopt"><code>getopt</code></a>:</td><td> </td><td valign="top"><a href="#Command-Line-Options">Command Line Options</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-getopt_002eh"><samp>getopt.h</samp></a>:</td><td> </td><td valign="top"><a href="#Command-Line-Options">Command Line Options</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-getopt_005flong"><code>getopt_long</code></a>:</td><td> </td><td valign="top"><a href="#Command-Line-Options">Command Line Options</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-getuid"><code>getuid</code></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-get_005fmiss_0028_0029"><code>get_miss()</code></a>:</td><td> </td><td valign="top"><a href="#Missing-values-ncap2">Missing values ncap2</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Glenn-Davis">Glenn Davis</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-global-attribute"><code>global</code> attribute</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-global-attribute-1"><code>global</code> attribute</a>:</td><td> </td><td valign="top"><a href="#ncrename-netCDF-Renamer">ncrename netCDF Renamer</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-global-attributes">global attributes</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-global-attributes-1">global attributes</a>:</td><td> </td><td valign="top"><a href="#History-Attribute">History Attribute</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-global-attributes-2">global attributes</a>:</td><td> </td><td valign="top"><a href="#File-List-Attributes">File List Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-global-attributes-3">global attributes</a>:</td><td> </td><td valign="top"><a href="#ARM-Conventions">ARM Conventions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-global-attributes-4">global attributes</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-global-attributes-5">global attributes</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-global-attributes-6">global 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-global-attributes-7">global 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-global-attributes-8">global attributes</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-global-attributes-9">global attributes</a>:</td><td> </td><td valign="top"><a href="#ncrename-netCDF-Renamer">ncrename netCDF Renamer</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-global-attributes-10">global attributes</a>:</td><td> </td><td valign="top"><a href="#ncrename-netCDF-Renamer">ncrename netCDF Renamer</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-globbing">globbing</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-globbing-1">globbing</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-globbing-2">globbing</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-globbing-3">globbing</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-globbing-4">globbing</a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-globbing-5">globbing</a>:</td><td> </td><td valign="top"><a href="#ncra-netCDF-Record-Averager">ncra netCDF Record Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-globbing-6">globbing</a>:</td><td> </td><td valign="top"><a href="#ncrcat-netCDF-Record-Concatenator">ncrcat netCDF Record Concatenator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-GNU"><acronym>GNU</acronym></a>:</td><td> </td><td valign="top"><a href="#Command-Line-Options">Command Line Options</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-GNU-1"><acronym>GNU</acronym></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-gnu_002dwin32"><code>gnu-win32</code></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-GNU_002fLinux"><acronym>GNU</acronym>/Linux</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-GNUmakefile"><samp>GNUmakefile</samp></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-God">God</a>:</td><td> </td><td valign="top"><a href="#UDUnits-Support">UDUnits Support</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-grep-_002dE"><code>grep -E</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-group-aggregation">group aggregation</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-group-aggregation-1">group aggregation</a>:</td><td> </td><td valign="top"><a href="#Combine-Files">Combine Files</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-group-names">group names</a>:</td><td> </td><td valign="top"><a href="#ncrename-netCDF-Renamer">ncrename netCDF Renamer</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-group-path">group path</a>:</td><td> </td><td valign="top"><a href="#Group-Path-Editing">Group Path Editing</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-group_002c-aggregation">group, aggregation</a>:</td><td> </td><td valign="top"><a href="#Annual-Average-over-Regions">Annual Average over Regions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-group_002c-anomaly">group, anomaly</a>:</td><td> </td><td valign="top"><a href="#Annual-Average-over-Regions">Annual Average over Regions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-group_002c-dimension-permutation">group, dimension permutation</a>:</td><td> </td><td valign="top"><a href="#Annual-Average-over-Regions">Annual Average over Regions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-group_002c-spatial-averaging">group, spatial averaging</a>:</td><td> </td><td valign="top"><a href="#Annual-Average-over-Regions">Annual Average over Regions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-group_002c-standard-deviation">group, standard deviation</a>:</td><td> </td><td valign="top"><a href="#Annual-Average-over-Regions">Annual Average over Regions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-group_002c-temporal-averaging">group, temporal averaging</a>:</td><td> </td><td valign="top"><a href="#Annual-Average-over-Regions">Annual Average over Regions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-groups">groups</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-groups-1">groups</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-groups_002c-averaging">groups, averaging</a>:</td><td> </td><td valign="top"><a href="#Global-Distribution-of-Long_002dterm-Average">Global Distribution of Long-term Average</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-groups_002c-creating">groups, creating</a>:</td><td> </td><td valign="top"><a href="#Combine-Files">Combine Files</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-groups_002c-moving">groups, moving</a>:</td><td> </td><td valign="top"><a href="#Group-Path-Editing">Group Path Editing</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-groups_002c-renaming">groups, renaming</a>:</td><td> </td><td valign="top"><a href="#Group-Path-Editing">Group Path Editing</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-growing-dimensions">growing dimensions</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-GSL"><acronym>GSL</acronym></a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-GSL-1"><acronym>GSL</acronym></a>:</td><td> </td><td valign="top"><a href="#GSL-special-functions">GSL special functions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-GSL-2"><acronym>GSL</acronym></a>:</td><td> </td><td valign="top"><a href="#GSL-interpolation">GSL interpolation</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-gsl_005fsf_005fbessel_005fJn"><var>gsl_sf_bessel_Jn</var></a>:</td><td> </td><td valign="top"><a href="#GSL-special-functions">GSL special functions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-gsl_005fsf_005fgamma"><var>gsl_sf_gamma</var></a>:</td><td> </td><td valign="top"><a href="#GSL-special-functions">GSL special functions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-gsl_005fsf_005flegendre_005fPl"><code>gsl_sf_legendre_Pl</code></a>:</td><td> </td><td valign="top"><a href="#GSL-special-functions">GSL special functions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-gw"><code>gw</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-gw-1"><code>gw</code></a>:</td><td> </td><td valign="top"><a href="#Normalization-and-Integration">Normalization and Integration</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_letter-H">H</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Harry-Mangalam">Harry Mangalam</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-hash">hash</a>:</td><td> </td><td valign="top"><a href="#MD5-digests">MD5 digests</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-HDF"><acronym>HDF</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-1"><acronym>HDF</acronym></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-HDF-2"><acronym>HDF</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-HDF-3"><acronym>HDF</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-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-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-hdp"><code>hdp</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-help">help</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-Henry-Butowsky">Henry Butowsky</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<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-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>
+<tr><td></td><td valign="top"><a href="#index-history-2"><code>history</code></a>:</td><td> </td><td valign="top"><a href="#History-Attribute">History Attribute</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-history-3"><code>history</code></a>:</td><td> </td><td valign="top"><a href="#ARM-Conventions">ARM Conventions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-history-4"><code>history</code></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-history-5"><code>history</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-hncgen"><code>hncgen</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-HP"><acronym>HP</acronym></a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-HPSS"><acronym>HPSS</acronym></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-hsi"><code>hsi</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-HTML"><acronym>HTML</acronym></a>:</td><td> </td><td valign="top"><a href="#Availability">Availability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-HTTP-protocol"><acronym>HTTP</acronym> protocol</a>:</td><td> </td><td valign="top"><a href="#OPeNDAP">OPeNDAP</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-hyai"><code>hyai</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-hyam"><code>hyam</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-hybi"><code>hybi</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-hybm"><code>hybm</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-hybrid-coordinate-system">hybrid coordinate system</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-hyperbolic-arccosine-function">hyperbolic arccosine function</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-hyperbolic-arcsine-function">hyperbolic arcsine function</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-hyperbolic-arctangent-function">hyperbolic arctangent function</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-hyperbolic-cosine-function">hyperbolic cosine function</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-hyperbolic-sine-function">hyperbolic sine function</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-hyperbolic-tangent">hyperbolic tangent</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-hyperslab">hyperslab</a>:</td><td> </td><td valign="top"><a href="#Hyperslabs">Hyperslabs</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-hyperslab-1">hyperslab</a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-hyperslab-2">hyperslab</a>:</td><td> </td><td valign="top"><a href="#nces-netCDF-Ensemble-Statistics">nces netCDF Ensemble Statistics</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-hyperslab-3">hyperslab</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-hyperslab-4">hyperslab</a>:</td><td> </td><td valign="top"><a href="#ncra-netCDF-Record-Averager">ncra netCDF Record Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-hyperslab-5">hyperslab</a>:</td><td> </td><td valign="top"><a href="#ncrcat-netCDF-Record-Concatenator">ncrcat netCDF Record Concatenator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-hyperslab-6">hyperslab</a>:</td><td> </td><td valign="top"><a href="#ncwa-netCDF-Weighted-Averager">ncwa netCDF Weighted Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-hyperslabs">hyperslabs</a>:</td><td> </td><td valign="top"><a href="#Arrays-and-hyperslabs">Arrays and hyperslabs</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_letter-I">I</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-I_002fO">I/O</a>:</td><td> </td><td valign="top"><a href="#OPeNDAP">OPeNDAP</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-I_002fO-1">I/O</a>:</td><td> </td><td valign="top"><a href="#C-and-Fortran-Index-Conventions">C and Fortran Index Conventions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-I_002fO-2">I/O</a>:</td><td> </td><td valign="top"><a href="#Multislabs">Multislabs</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-I_002fO-block-size">I/O block size</a>:</td><td> </td><td valign="top"><a href="#Buffer-sizes">Buffer sizes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-I18N">I18N</a>:</td><td> </td><td valign="top"><a href="#Internationalization">Internationalization</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-IBM"><acronym>IBM</acronym></a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-icc"><code>icc</code></a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ID-Quoting">ID Quoting</a>:</td><td> </td><td valign="top"><a href="#ID-Quoting">ID Quoting</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-IDL"><acronym>IDL</acronym></a>:</td><td> </td><td valign="top"><a href="#Philosophy">Philosophy</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-IEEE"><acronym>IEEE</acronym></a>:</td><td> </td><td valign="top"><a href="#Automatic-type-conversion">Automatic type conversion</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-IEEE-NaN">IEEE NaN</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-if_0028_0029">if()</a>:</td><td> </td><td valign="top"><a href="#if-statement">if statement</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ilimit"><code>ilimit</code></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-implicit-conversion">implicit conversion</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-include"><code>include</code></a>:</td><td> </td><td valign="top"><a href="#Include-files">Include files</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-including-files">including files</a>:</td><td> </td><td valign="top"><a href="#Syntax-of-ncap2-statements">Syntax of ncap2 statements</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-index-convention">index convention</a>:</td><td> </td><td valign="top"><a href="#C-and-Fortran-Index-Conventions">C and Fortran Index Conventions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-indgen_002dequivalent">indgen-equivalent</a>:</td><td> </td><td valign="top"><a href="#Arrays-and-hyperslabs">Arrays and hyperslabs</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-inexact-conversion">inexact conversion</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-Info">Info</a>:</td><td> </td><td valign="top"><a href="#Availability">Availability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-input-files">input files</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-input-files-1">input files</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-input-files-2">input files</a>:</td><td> </td><td valign="top"><a href="#Specifying-Output-Files">Specifying Output Files</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-input-files-3">input files</a>:</td><td> </td><td valign="top"><a href="#Specifying-Output-Files">Specifying Output Files</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-input_002dpath"><var>input-path</var></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-input_002dpath-1"><var>input-path</var></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-installation">installation</a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-installation-1">installation</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-int_0028_0029">int()</a>:</td><td> </td><td valign="top"><a href="#Methods-and-functions">Methods and functions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-int64_0028_0029">int64()</a>:</td><td> </td><td valign="top"><a href="#Methods-and-functions">Methods and functions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-integration">integration</a>:</td><td> </td><td valign="top"><a href="#Normalization-and-Integration">Normalization and Integration</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-integrity">integrity</a>:</td><td> </td><td valign="top"><a href="#MD5-digests">MD5 digests</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Intel">Intel</a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Internationalization">Internationalization</a>:</td><td> </td><td valign="top"><a href="#Internationalization">Internationalization</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-interoperability">interoperability</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-interpolation">interpolation</a>:</td><td> </td><td valign="top"><a href="#ncflint-netCDF-File-Interpolator">ncflint netCDF File Interpolator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-interpolation-1">interpolation</a>:</td><td> </td><td valign="top"><a href="#Regrid-MODIS-Data">Regrid MODIS Data</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-intersection">intersection</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-intersection-1">intersection</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-introduction">introduction</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-introduction-1">introduction</a>:</td><td> </td><td valign="top"><a href="#How-to-Use-This-guide">How to Use This guide</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-invert_005fmap"><code>invert_map</code></a>:</td><td> </td><td valign="top"><a href="#Sort-methods">Sort methods</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-IPCC"><acronym>IPCC</acronym></a>:</td><td> </td><td valign="top"><a href="#nces-netCDF-Ensemble-Statistics">nces netCDF Ensemble Statistics</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-IPCC-1"><acronym>IPCC</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-irregular-grids">irregular grids</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-ISO"><acronym>ISO</acronym></a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_letter-J">J</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-James-Gallagher">James Gallagher</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Jim-Edwards">Jim Edwards</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-John-Caron">John Caron</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Juliana-Rew">Juliana Rew</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_letter-K">K</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Karen-Schuchardt">Karen Schuchardt</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Keith-Lindsay">Keith Lindsay</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-kitchen-sink">kitchen sink</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-Kyle-Wilcox">Kyle Wilcox</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_letter-L">L</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-L10N">L10N</a>:</td><td> </td><td valign="top"><a href="#Internationalization">Internationalization</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-large-datasets">large datasets</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-large-datasets-1">large datasets</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-Large-File-Support">Large File Support</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-Large-File-Support-1">Large File Support</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-lat_005fbnds"><code>lat_bnds</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-LD_005fLIBRARY_005fPATH"><code>LD_LIBRARY_PATH</code></a>:</td><td> </td><td valign="top"><a href="#Libraries">Libraries</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-left-hand-casting">left hand casting</a>:</td><td> </td><td valign="top"><a href="#Memory-for-ncap2">Memory for ncap2</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-left-hand-casting-1">left hand casting</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-Legendre-polynomial">Legendre polynomial</a>:</td><td> </td><td valign="top"><a href="#GSL-special-functions">GSL special functions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Lempel_002dZiv-deflation">Lempel-Ziv deflation</a>:</td><td> </td><td valign="top"><a href="#Deflation">Deflation</a></td></tr>
+<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-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>
+<tr><td></td><td valign="top"><a href="#index-linkers">linkers</a>:</td><td> </td><td valign="top"><a href="#Specifying-Output-Files">Specifying Output Files</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Linux">Linux</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-LLVM"><acronym>LLVM</acronym></a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ln"><var>ln</var></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-ln-_002ds"><code>ln -s</code></a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ln-_002ds-1"><code>ln -s</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-log"><var>log</var></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-log10"><var>log10</var></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-logarithm_002c-base-10">logarithm, base 10</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-logarithm_002c-natural">logarithm, natural</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-long-double"><code>long double</code></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-long-options">long options</a>:</td><td> </td><td valign="top"><a href="#Command-Line-Options">Command Line Options</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-long-options-1">long options</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-long_002dterm-average">long-term average</a>:</td><td> </td><td valign="top"><a href="#Global-Distribution-of-Long_002dterm-Average">Global Distribution of Long-term Average</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-longitude">longitude</a>:</td><td> </td><td valign="top"><a href="#Wrapped-Coordinates">Wrapped Coordinates</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-lon_005fbnds"><code>lon_bnds</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-Lori-Sentman">Lori Sentman</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-lrint_0028_0029_002e"><code><code>lrint()</code>.</code></a>:</td><td> </td><td valign="top"><a href="#Automatic-type-conversion">Automatic type conversion</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-lround_0028_0029_002e"><code><code>lround()</code>.</code></a>:</td><td> </td><td valign="top"><a href="#Automatic-type-conversion">Automatic type conversion</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Luk-Claes">Luk Claes</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_letter-M">M</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Macintosh">Macintosh</a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Makefile"><samp>Makefile</samp></a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Makefile-1"><samp>Makefile</samp></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-Makefile-2"><samp>Makefile</samp></a>:</td><td> </td><td valign="top"><a href="#OPeNDAP">OPeNDAP</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-malloc_0028_0029"><code>malloc()</code></a>:</td><td> </td><td valign="top"><a href="#Memory-for-ncap2">Memory for ncap2</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-mantissa">mantissa</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-manual-type-conversion">manual type conversion</a>:</td><td> </td><td valign="top"><a href="#Type-Conversion">Type Conversion</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-map_005fdmn">‘<samp>map_dmn</samp>’</a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-map_005flfp">‘<samp>map_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-map_005fprd">‘<samp>map_prd</samp>’</a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-map_005frd1">‘<samp>map_rd1</samp>’</a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-map_005fscl">‘<samp>map_scl</samp>’</a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-map_005fxst">‘<samp>map_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-Mark-Flanner">Mark Flanner</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Markus-Liebig">Markus Liebig</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Martin-Dix">Martin Dix</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Martin-Otte">Martin Otte</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Martin-Schmidt">Martin Schmidt</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Martin-Schultz">Martin Schultz</a>:</td><td> </td><td valign="top"><a href="#Group-Path-Editing">Group Path Editing</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-mask">mask</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-mask-1">mask</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-mask-condition">mask condition</a>:</td><td> </td><td valign="top"><a href="#Mask-condition">Mask condition</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-mask-condition-1">mask condition</a>:</td><td> </td><td valign="top"><a href="#Normalization-and-Integration">Normalization and Integration</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-masked-average">masked average</a>:</td><td> </td><td valign="top"><a href="#ncwa-netCDF-Weighted-Averager">ncwa netCDF Weighted Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Mass-Store-System">Mass Store System</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-Matej-Vela">Matej Vela</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-mathematical-functions">mathematical functions</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-Matlab">Matlab</a>:</td><td> </td><td valign="top"><a href="#Philosophy">Philosophy</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-max"><code>max</code></a>:</td><td> </td><td valign="top"><a href="#Operation-Types">Operation Types</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-max_0028_0029">max()</a>:</td><td> </td><td valign="top"><a href="#Methods-and-functions">Methods and functions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-maximum">maximum</a>:</td><td> </td><td valign="top"><a href="#Operation-Types">Operation Types</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-MD5-digest">MD5 digest</a>:</td><td> </td><td valign="top"><a href="#MD5-digests">MD5 digests</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-mean">mean</a>:</td><td> </td><td valign="top"><a href="#Operation-Types">Operation Types</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-memory-available">memory available</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-memory-available-1">memory available</a>:</td><td> </td><td valign="top"><a href="#RAM-disks">RAM disks</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-memory-leaks">memory leaks</a>:</td><td> </td><td valign="top"><a href="#Memory-for-ncap2">Memory for ncap2</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-memory-requirements">memory requirements</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-memory-requirements-1">memory requirements</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-memory-requirements-2">memory requirements</a>:</td><td> </td><td valign="top"><a href="#RAM-disks">RAM disks</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-merging-files">merging files</a>:</td><td> </td><td valign="top"><a href="#Appending-Variables">Appending Variables</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-merging-files-1">merging files</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-metadata">metadata</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-metadata-optimization">metadata optimization</a>:</td><td> </td><td valign="top"><a href="#Metadata-Optimization">Metadata Optimization</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-metadata_002c-global">metadata, global</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-metadata_002c-global-1">metadata, global</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-Michael-Decker">Michael Decker</a>:</td><td> </td><td valign="top"><a href="#Group-Path-Editing">Group Path Editing</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Michael-Prather">Michael Prather</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-Michael-Schulz">Michael Schulz</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Microsoft">Microsoft</a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Microsoft-1">Microsoft</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-Microsoft-Visual-Studio">Microsoft Visual Studio</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-Mike-Folk">Mike Folk</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-Mike-Page">Mike Page</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-min"><code>min</code></a>:</td><td> </td><td valign="top"><a href="#Operation-Types">Operation Types</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-min_0028_0029">min()</a>:</td><td> </td><td valign="top"><a href="#Methods-and-functions">Methods and functions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-minimum">minimum</a>:</td><td> </td><td valign="top"><a href="#Operation-Types">Operation Types</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-missing-values">missing values</a>:</td><td> </td><td valign="top"><a href="#Missing-Values">Missing Values</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-missing-values-1">missing values</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-missing-values-2">missing values</a>:</td><td> </td><td valign="top"><a href="#ncflint-netCDF-File-Interpolator">ncflint netCDF File Interpolator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-missing-values-3">missing values</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-missing-values-ncap2">missing values ncap2</a>:</td><td> </td><td valign="top"><a href="#Missing-values-ncap2">Missing values ncap2</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-missing_005fvalue"><code>missing_value</code></a>:</td><td> </td><td valign="top"><a href="#Missing-Values">Missing Values</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-missing_005fvalue-1"><code>missing_value</code></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-missing_005fvalue-2"><code>missing_value</code></a>:</td><td> </td><td valign="top"><a href="#ncrename-netCDF-Renamer">ncrename netCDF Renamer</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-MKS-units">MKS units</a>:</td><td> </td><td valign="top"><a href="#UDUnits-Support">UDUnits Support</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-MKS-units-1">MKS units</a>:</td><td> </td><td valign="top"><a href="#UDUnits-Support">UDUnits Support</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-MODIS">MODIS</a>:</td><td> </td><td valign="top"><a href="#Regrid-MODIS-Data">Regrid MODIS Data</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-MODIS-1">MODIS</a>:</td><td> </td><td valign="top"><a href="#Add-Coordinates-to-MODIS-Data">Add Coordinates to MODIS Data</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-modulus">modulus</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-monotonic-coordinates">monotonic coordinates</a>:</td><td> </td><td valign="top"><a href="#Performance">Performance</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-monthly-average">monthly average</a>:</td><td> </td><td valign="top"><a href="#Daily-data-in-one-file">Daily data in one file</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-monthly-average-1">monthly average</a>:</td><td> </td><td valign="top"><a href="#Monthly-Cycle">Monthly Cycle</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-monthly-data">monthly data</a>:</td><td> </td><td valign="top"><a href="#Monthly-data-in-one-file">Monthly data in one file</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-monthly-data-1">monthly data</a>:</td><td> </td><td valign="top"><a href="#One-time-point-one-file">One time point one file</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-monthly-data-2">monthly data</a>:</td><td> </td><td valign="top"><a href="#Multiple-files-with-multiple-time-points">Multiple files with multiple time points</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-move-groups">move groups</a>:</td><td> </td><td valign="top"><a href="#Group-Path-Editing">Group Path Editing</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-MRO">MRO</a>:</td><td> </td><td valign="top"><a href="#Subcycle">Subcycle</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-MSA"><acronym>MSA</acronym></a>:</td><td> </td><td valign="top"><a href="#Multislabs">Multislabs</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-msk_005f_002a"><code>msk_*</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-msrcp"><code>msrcp</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-msrcp-1"><acronym>msrcp</acronym></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-msread"><code>msread</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-MSS"><acronym>MSS</acronym></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-multi_002dfile-operators">multi-file operators</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-multi_002dfile-operators-1">multi-file operators</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-multi_002dfile-operators-2">multi-file operators</a>:</td><td> </td><td valign="top"><a href="#Specifying-Output-Files">Specifying Output Files</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-multi_002dfile-operators-3">multi-file operators</a>:</td><td> </td><td valign="top"><a href="#nces-netCDF-Ensemble-Statistics">nces netCDF Ensemble Statistics</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-multi_002dfile-operators-4">multi-file operators</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-multi_002dfile-operators-5">multi-file operators</a>:</td><td> </td><td valign="top"><a href="#ncra-netCDF-Record-Averager">ncra netCDF Record Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-multi_002dfile-operators-6">multi-file operators</a>:</td><td> </td><td valign="top"><a href="#ncrcat-netCDF-Record-Concatenator">ncrcat netCDF Record Concatenator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-multi_002dhyperslab">multi-hyperslab</a>:</td><td> </td><td valign="top"><a href="#Multislabs">Multislabs</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Multi_002dRecord-Operator">Multi-Record Operator</a>:</td><td> </td><td valign="top"><a href="#Subcycle">Subcycle</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-multiplication">multiplication</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-multiplication-1">multiplication</a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-multiplication-2">multiplication</a>:</td><td> </td><td valign="top"><a href="#ncflint-netCDF-File-Interpolator">ncflint netCDF File Interpolator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-multiply"><code>multiply</code></a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-multiplying-data">multiplying data</a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-multiplying-data-1">multiplying data</a>:</td><td> </td><td valign="top"><a href="#ncflint-netCDF-File-Interpolator">ncflint netCDF File Interpolator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-multislab">multislab</a>:</td><td> </td><td valign="top"><a href="#Multislabs">Multislabs</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-mv"><code>mv</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-MVS"><code>MVS</code></a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-MVS-1"><acronym>MVS</acronym></a>:</td><td> </td><td valign="top"><a href="#Windows-Operating-System">Windows Operating System</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_letter-N">N</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-naked-characters">naked characters</a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-NaN">NaN</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-NASA"><acronym>NASA</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-NASA-EOSDIS"><acronym>NASA EOSDIS</acronym></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-National-Virtual-Ocean-Data-System">National Virtual Ocean Data System</a>:</td><td> </td><td valign="top"><a href="#OPeNDAP">OPeNDAP</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ncadd"><code>ncadd</code></a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ncap"><code>ncap</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-ncap2-4"><code>ncap2</code></a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ncap2-5"><code>ncap2</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-ncap2"><code>ncap2</code></a>:</td><td> </td><td valign="top"><a href="#Memory-for-ncap2">Memory for ncap2</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ncap2-1"><code>ncap2</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-ncap2-2"><code>ncap2</code></a>:</td><td> </td><td valign="top"><a href="#Manual-type-conversion">Manual type conversion</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ncap2-3"><code>ncap2</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-NCAR"><acronym>NCAR</acronym></a>:</td><td> </td><td valign="top"><a href="#Climate-Model-Paradigm">Climate Model Paradigm</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-NCAR-MSS"><acronym>NCAR MSS</acronym></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-ncatted-3"><code>ncatted</code></a>:</td><td> </td><td valign="top"><a href="#Missing-Values">Missing Values</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ncatted-4"><code>ncatted</code></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-ncatted"><code>ncatted</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-ncatted-1"><code>ncatted</code></a>:</td><td> </td><td valign="top"><a href="#Missing-Values">Missing Values</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ncatted-2"><code>ncatted</code></a>:</td><td> </td><td valign="top"><a href="#History-Attribute">History Attribute</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ncattget"><code>ncattget</code></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-ncattget-1"><code>ncattget</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-ncavg"><code>ncavg</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-ncbo-1"><code>ncbo</code></a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ncbo"><code>ncbo</code></a>:</td><td> </td><td valign="top"><a href="#Missing-Values">Missing Values</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ncdiff"><code>ncdiff</code></a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ncdismember"><code>ncdismember</code></a>:</td><td> </td><td valign="top"><a href="#Group-Path-Editing">Group Path Editing</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ncdismember-1"><code>ncdismember</code></a>:</td><td> </td><td valign="top"><a href="#Group-Path-Editing">Group Path Editing</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ncdivide"><code>ncdivide</code></a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ncdmnsz"><code>ncdmnsz</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-ncdump"><code>ncdump</code></a>:</td><td> </td><td valign="top"><a href="#Determining-File-Format">Determining File Format</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ncdump-1"><code>ncdump</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-ncdump-2"><code>ncdump</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-ncdump-3"><code>ncdump</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-ncecat-1"><code>ncecat</code></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-ncecat"><code>ncecat</code></a>:</td><td> </td><td valign="top"><a href="#Concatenation">Concatenation</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-nces-2"><code>nces</code></a>:</td><td> </td><td valign="top"><a href="#nces-netCDF-Ensemble-Statistics">nces netCDF Ensemble Statistics</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-nces"><code>nces</code></a>:</td><td> </td><td valign="top"><a href="#Averaging">Averaging</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-nces-1"><code>nces</code></a>:</td><td> </td><td valign="top"><a href="#Missing-Values">Missing Values</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ncextr"><code>ncextr</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-ncflint-2"><code>ncflint</code></a>:</td><td> </td><td valign="top"><a href="#ncflint-netCDF-File-Interpolator">ncflint netCDF File Interpolator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ncflint"><code>ncflint</code></a>:</td><td> </td><td valign="top"><a href="#Interpolating">Interpolating</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ncflint-1"><code>ncflint</code></a>:</td><td> </td><td valign="top"><a href="#Missing-Values">Missing Values</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ncgen"><code>ncgen</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-ncgen_002dhdf"><code>ncgen-hdf</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-ncks-1"><code>ncks</code></a>:</td><td> </td><td valign="top"><a href="#Deflation">Deflation</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ncks-2"><code>ncks</code></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-ncks-3"><code>ncks</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-ncks"><code>ncks</code></a>:</td><td> </td><td valign="top"><a href="#Determining-File-Format">Determining File Format</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-NCL"><acronym>NCL</acronym></a>:</td><td> </td><td valign="top"><a href="#Philosophy">Philosophy</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-NCL-1"><acronym>NCL</acronym></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-nclist"><code>nclist</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-ncl_005fconvert2nc"><code>ncl_convert2nc</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-ncmax"><code>ncmax</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-ncmdn"><code>ncmdn</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-ncmin"><code>ncmin</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-NcML"><acronym>NcML</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-ncmult"><code>ncmult</code></a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ncmultiply"><code>ncmultiply</code></a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-NCO-availability"><acronym>NCO</acronym> availability</a>:</td><td> </td><td valign="top"><a href="#Availability">Availability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-NCO-homepage"><acronym>NCO</acronym> homepage</a>:</td><td> </td><td valign="top"><a href="#Availability">Availability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-nco-script-file">nco script file</a>:</td><td> </td><td valign="top"><a href="#Annual-Average-over-Regions">Annual Average over Regions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-NCO-User-Guide"><cite>NCO User Guide</cite></a>:</td><td> </td><td valign="top"><a href="#Availability">Availability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-nco_002econfig_002elog_002e_0024_007bGNU_005fTRP_007d_002efoo"><samp>nco.config.log.${GNU_TRP}.foo</samp></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-nco_002econfigure_002e_0024_007bGNU_005fTRP_007d_002efoo"><samp>nco.configure.${GNU_TRP}.foo</samp></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-nco_002emake_002e_0024_007bGNU_005fTRP_007d_002efoo"><samp>nco.make.${GNU_TRP}.foo</samp></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-nco_005finput_005ffile_005flist"><code>nco_input_file_list</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-nco_005finput_005ffile_005flist-1"><code>nco_input_file_list</code></a>:</td><td> </td><td valign="top"><a href="#File-List-Attributes">File List Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-nco_005finput_005ffile_005fnumber"><code>nco_input_file_number</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-nco_005finput_005ffile_005fnumber-1"><code>nco_input_file_number</code></a>:</td><td> </td><td valign="top"><a href="#File-List-Attributes">File List Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-nco_005fopenmp_005fthread_005fnumber"><code>nco_openmp_thread_number</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-ncpack"><code>ncpack</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-ncpdq-2"><code>ncpdq</code></a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ncpdq-3"><code>ncpdq</code></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-ncpdq-4"><code>ncpdq</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-ncpdq-5"><code>ncpdq</code></a>:</td><td> </td><td valign="top"><a href="#ncrcat-netCDF-Record-Concatenator">ncrcat netCDF Record Concatenator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ncpdq"><code>ncpdq</code></a>:</td><td> </td><td valign="top"><a href="#Concatenation">Concatenation</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ncpdq-1"><code>ncpdq</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-ncra-2"><code>ncra</code></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-ncra-3"><code>ncra</code></a>:</td><td> </td><td valign="top"><a href="#ncra-netCDF-Record-Averager">ncra netCDF Record Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ncra"><code>ncra</code></a>:</td><td> </td><td valign="top"><a href="#Averaging">Averaging</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ncra-1"><code>ncra</code></a>:</td><td> </td><td valign="top"><a href="#Missing-Values">Missing Values</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ncrcat-2"><code>ncrcat</code></a>:</td><td> </td><td valign="top"><a href="#ncrcat-netCDF-Record-Concatenator">ncrcat netCDF Record Concatenator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ncrcat"><code>ncrcat</code></a>:</td><td> </td><td valign="top"><a href="#Concatenation">Concatenation</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ncrcat-1"><code>ncrcat</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-ncrecsz"><code>ncrecsz</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-ncrename"><code>ncrename</code></a>:</td><td> </td><td valign="top"><a href="#Missing-Values">Missing Values</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ncrename-1"><code>ncrename</code></a>:</td><td> </td><td valign="top"><a href="#ncrename-netCDF-Renamer">ncrename netCDF Renamer</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ncrng"><code>ncrng</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-NCSA"><acronym>NCSA</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-ncsub"><code>ncsub</code></a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ncsubtract"><code>ncsubtract</code></a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ncunits"><code>ncunits</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-ncunpack"><code>ncunpack</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-ncwa-3"><code>ncwa</code></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-ncwa-4"><code>ncwa</code></a>:</td><td> </td><td valign="top"><a href="#ncwa-netCDF-Weighted-Averager">ncwa netCDF Weighted Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ncwa"><code>ncwa</code></a>:</td><td> </td><td valign="top"><a href="#Averaging">Averaging</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ncwa-1"><code>ncwa</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-ncwa-2"><code>ncwa</code></a>:</td><td> </td><td valign="top"><a href="#Missing-Values">Missing Values</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-NC_005fBYTE"><code>NC_BYTE</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-NC_005fCHAR"><code>NC_CHAR</code></a>:</td><td> </td><td valign="top"><a href="#Hyperslabs">Hyperslabs</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-NC_005fCHAR-1"><code>NC_CHAR</code></a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-NC_005fCHAR-2"><code>NC_CHAR</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-NC_005fDISKLESS"><code>NC_DISKLESS</code></a>:</td><td> </td><td valign="top"><a href="#RAM-disks">RAM disks</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-NC_005fDOUBLE"><code>NC_DOUBLE</code></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-NC_005fDOUBLE-1"><code>NC_DOUBLE</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-NC_005fFLOAT"><code>NC_FLOAT</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-NC_005fFORMAT_005fDAP2"><code>NC_FORMAT_DAP2</code></a>:</td><td> </td><td valign="top"><a href="#Determining-File-Format">Determining File Format</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-NC_005fFORMAT_005fDAP4"><code>NC_FORMAT_DAP4</code></a>:</td><td> </td><td valign="top"><a href="#Determining-File-Format">Determining File Format</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-NC_005fFORMAT_005fNC3"><code>NC_FORMAT_NC3</code></a>:</td><td> </td><td valign="top"><a href="#Determining-File-Format">Determining File Format</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-NC_005fFORMAT_005fNC_005fHDF4"><code>NC_FORMAT_NC_HDF4</code></a>:</td><td> </td><td valign="top"><a href="#Determining-File-Format">Determining File Format</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-NC_005fFORMAT_005fNC_005fHDF5"><code>NC_FORMAT_NC_HDF5</code></a>:</td><td> </td><td valign="top"><a href="#Determining-File-Format">Determining File Format</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-NC_005fFORMAT_005fPNETCDF"><code>NC_FORMAT_PNETCDF</code></a>:</td><td> </td><td valign="top"><a href="#Determining-File-Format">Determining File Format</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-NC_005fINT"><code>NC_INT</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-NC_005fINT64"><code>NC_INT64</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-NC_005fINT64-1"><code>NC_INT64</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-NC_005fSHORT"><code>NC_SHORT</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-NC_005fUBYTE"><code>NC_UBYTE</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-NC_005fUBYTE-1"><code>NC_UBYTE</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-NC_005fUINT"><code>NC_UINT</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-NC_005fUINT-1"><code>NC_UINT</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-NC_005fUINT64"><code>NC_UINT64</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-NC_005fUINT64-1"><code>NC_UINT64</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-NC_005fUSHORT"><code>NC_USHORT</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-NC_005fUSHORT-1"><code>NC_USHORT</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-nc_005f_005fenddef_0028_0029"><code>nc__enddef()</code></a>:</td><td> </td><td valign="top"><a href="#Metadata-Optimization">Metadata Optimization</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ndims_0028_0029">ndims()</a>:</td><td> </td><td valign="top"><a href="#Methods-and-functions">Methods and functions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-nearbyint"><var>nearbyint</var></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-nearest-integer-function-_0028exact_0029">nearest integer function (exact)</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-nearest-integer-function-_0028inexact_0029">nearest integer function (inexact)</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-NEC"><acronym>NEC</acronym></a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Neil-Davis">Neil Davis</a>:</td><td> </td><td valign="top"><a href="#Automatic-type-conversion">Automatic type conversion</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-nesting">nesting</a>:</td><td> </td><td valign="top"><a href="#Syntax-of-ncap2-statements">Syntax of ncap2 statements</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-netCDF">netCDF</a>:</td><td> </td><td valign="top"><a href="#Availability">Availability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-netCDF2">netCDF2</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-netCDF2-1">netCDF2</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-NETCDF2_005fONLY"><code>NETCDF2_ONLY</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-netCDF3">netCDF3</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-netCDF3-1">netCDF3</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-netCDF3-classic-file-format">netCDF3 classic file format</a>:</td><td> </td><td valign="top"><a href="#Determining-File-Format">Determining File Format</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-netCDF4">netCDF4</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-netCDF4-1">netCDF4</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-netCDF4-2">netCDF4</a>:</td><td> </td><td valign="top"><a href="#Multiple-Record-Dimensions">Multiple Record Dimensions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-netCDF4-classic-file-format">netCDF4 classic file format</a>:</td><td> </td><td valign="top"><a href="#Determining-File-Format">Determining File Format</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-netCDF4-file-format">netCDF4 file format</a>:</td><td> </td><td valign="top"><a href="#Determining-File-Format">Determining File Format</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-NETCDF4-files"><code>NETCDF4</code> files</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-NETCDF4_005fCLASSIC-files"><code>NETCDF4_CLASSIC</code> files</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-NETCDF4_005fROOT"><code>NETCDF4_ROOT</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-Nick-Bower">Nick Bower</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-NINTAP"><code>NINTAP</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-NINTAP-1"><code>NINTAP</code></a>:</td><td> </td><td valign="top"><a href="#ncra-netCDF-Record-Averager">ncra netCDF Record Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-NINTAP-2"><code>NINTAP</code></a>:</td><td> </td><td valign="top"><a href="#ncrcat-netCDF-Record-Concatenator">ncrcat netCDF Record Concatenator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-non_002dcoordinate-grid-properties">non-coordinate grid properties</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-non_002drectangular-grids">non-rectangular grids</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-non_002dstandard-grids">non-standard grids</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-normalization">normalization</a>:</td><td> </td><td valign="top"><a href="#Normalization-and-Integration">Normalization and Integration</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Not_002da_002dNumber">Not-a-Number</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-NO_005fNETCDF_005f2"><code>NO_NETCDF_2</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-NRA"><acronym>NRA</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-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-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>
+<tr><td></td><td valign="top"><a href="#index-null-operation">null operation</a>:</td><td> </td><td valign="top"><a href="#ncflint-netCDF-File-Interpolator">ncflint netCDF File Interpolator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-number-literals-ncap2">number literals <code>ncap2</code></a>:</td><td> </td><td valign="top"><a href="#Number-literals">Number literals</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-number_005fmiss_0028_0029"><code>number_miss()</code></a>:</td><td> </td><td valign="top"><a href="#Missing-values-ncap2">Missing values ncap2</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-numerator"><code>numerator</code></a>:</td><td> </td><td valign="top"><a href="#Normalization-and-Integration">Normalization and Integration</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-NVODS"><acronym>NVODS</acronym></a>:</td><td> </td><td valign="top"><a href="#OPeNDAP">OPeNDAP</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-nxt_005flsr">‘<samp>nxt_lsr</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 colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_letter-O">O</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-oceanography">oceanography</a>:</td><td> </td><td valign="top"><a href="#OPeNDAP">OPeNDAP</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-octal-dump">octal dump</a>:</td><td> </td><td valign="top"><a href="#Determining-File-Format">Determining File Format</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-od"><code>od</code></a>:</td><td> </td><td valign="top"><a href="#Determining-File-Format">Determining File Format</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-OMP_005fNUM_005fTHREADS"><code>OMP_NUM_THREADS</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-on_002dline-documentation">on-line documentation</a>:</td><td> </td><td valign="top"><a href="#Availability">Availability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-open-source">open source</a>:</td><td> </td><td valign="top"><a href="#Foreword">Foreword</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-open-source-1">open source</a>:</td><td> </td><td valign="top"><a href="#OPeNDAP">OPeNDAP</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Open_002dsource-Project-for-a-Network-Data-Access-Protocol">Open-source Project for a Network Data Access Protocol</a>:</td><td> </td><td valign="top"><a href="#OPeNDAP">OPeNDAP</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-OPeNDAP_002e"><acronym>OPeNDAP</acronym>.</a>:</td><td> </td><td valign="top"><a href="#OPeNDAP">OPeNDAP</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-OpenMP">OpenMP</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-OpenMP-1">OpenMP</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-OpenMP-2">OpenMP</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-operation-types">operation types</a>:</td><td> </td><td valign="top"><a href="#Operation-Types">Operation Types</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-operation-types-1">operation types</a>:</td><td> </td><td valign="top"><a href="#ncra-netCDF-Record-Averager">ncra netCDF Record Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-operation-types-2">operation types</a>:</td><td> </td><td valign="top"><a href="#ncwa-netCDF-Weighted-Averager">ncwa netCDF Weighted Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-operator-speed">operator speed</a>:</td><td> </td><td valign="top"><a href="#Libraries">Libraries</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-operator-speed-1">operator speed</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-operator-speed-2">operator speed</a>:</td><td> </td><td valign="top"><a href="#Performance">Performance</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-operator-speed-3">operator speed</a>:</td><td> </td><td valign="top"><a href="#Metadata-Optimization">Metadata Optimization</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-operator-speed-4">operator speed</a>:</td><td> </td><td valign="top"><a href="#Missing-Values">Missing Values</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-operator-speed-5">operator speed</a>:</td><td> </td><td valign="top"><a href="#ncrename-netCDF-Renamer">ncrename netCDF Renamer</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-operators">operators</a>:</td><td> </td><td valign="top"><a href="#Summary">Summary</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-OptIPuter">OptIPuter</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-Orion-Powlawski">Orion Powlawski</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ORO"><code>ORO</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-ORO-1"><code>ORO</code></a>:</td><td> </td><td valign="top"><a href="#Normalization-and-Integration">Normalization and Integration</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-OS"><acronym>OS</acronym></a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-output-file">output file</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-output-file-1">output file</a>:</td><td> </td><td valign="top"><a href="#Specifying-Output-Files">Specifying Output Files</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-output_002dpath"><var>output-path</var></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-overview">overview</a>:</td><td> </td><td valign="top"><a href="#Performance">Performance</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-overwriting-files">overwriting files</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-overwriting-files-1">overwriting files</a>:</td><td> </td><td valign="top"><a href="#Batch-Mode">Batch Mode</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_letter-P">P</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-pack_0028_0029">pack()</a>:</td><td> </td><td valign="top"><a href="#Methods-and-functions">Methods and functions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-pack_0028x_0029"><code>pack(x)</code></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-packing">packing</a>:</td><td> </td><td valign="top"><a href="#OPeNDAP">OPeNDAP</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-packing-1">packing</a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-packing-2">packing</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-packing-3">packing</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-packing-4">packing</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-packing-5">packing</a>:</td><td> </td><td valign="top"><a href="#ncrcat-netCDF-Record-Concatenator">ncrcat netCDF Record Concatenator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-packing-map">packing map</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-packing-policy">packing policy</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-pack_005fbyte_0028_0029">pack_byte()</a>:</td><td> </td><td valign="top"><a href="#Methods-and-functions">Methods and functions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-pack_005fint_0028_0029">pack_int()</a>:</td><td> </td><td valign="top"><a href="#Methods-and-functions">Methods and functions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-pack_005fshort_0028_0029">pack_short()</a>:</td><td> </td><td valign="top"><a href="#Methods-and-functions">Methods and functions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-papers">papers</a>:</td><td> </td><td valign="top"><a href="#Performance">Performance</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-parallel"><code>parallel</code></a>:</td><td> </td><td valign="top"><a href="#Parallel">Parallel</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-parallelism">parallelism</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-parallelism-1">parallelism</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-parser">parser</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-pasting-variables">pasting variables</a>:</td><td> </td><td valign="top"><a href="#Appending-Variables">Appending Variables</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-pathcc"><code>pathcc</code></a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-pathCC"><code>pathCC</code></a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-PathScale">PathScale</a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Patrice-Dumas">Patrice Dumas</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Patrick-Kursawe">Patrick Kursawe</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-pattern-matching">pattern matching</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-pattern-matching-1">pattern matching</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-pattern-matching-2">pattern matching</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-pattern-matching-3">pattern matching</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-PayPal">PayPal</a>:</td><td> </td><td valign="top"><a href="#Contributing">Contributing</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-pck_005fmap"><var>pck_map</var></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-pck_005fplc"><var>pck_plc</var></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-peak-memory-usage">peak memory usage</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-peak-memory-usage-1">peak memory usage</a>:</td><td> </td><td valign="top"><a href="#RAM-disks">RAM disks</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Pedro-Vicente">Pedro Vicente</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-performance">performance</a>:</td><td> </td><td valign="top"><a href="#Libraries">Libraries</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-performance-1">performance</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-performance-2">performance</a>:</td><td> </td><td valign="top"><a href="#Performance">Performance</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-performance-3">performance</a>:</td><td> </td><td valign="top"><a href="#Performance">Performance</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-performance-4">performance</a>:</td><td> </td><td valign="top"><a href="#Metadata-Optimization">Metadata Optimization</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-performance-5">performance</a>:</td><td> </td><td valign="top"><a href="#Missing-Values">Missing Values</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-performance-6">performance</a>:</td><td> </td><td valign="top"><a href="#ncrename-netCDF-Renamer">ncrename netCDF Renamer</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Perl">Perl</a>:</td><td> </td><td valign="top"><a href="#Philosophy">Philosophy</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Perl-1">Perl</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-Perl-2">Perl</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-permute-dimensions">permute dimensions</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-permute_0028_0029">permute()</a>:</td><td> </td><td valign="top"><a href="#Arrays-and-hyperslabs">Arrays and hyperslabs</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Peter-Campbell">Peter Campbell</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-pgcc"><code>pgcc</code></a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-pgCC"><code>pgCC</code></a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-PGI"><acronym>PGI</acronym></a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-philosophy">philosophy</a>:</td><td> </td><td valign="top"><a href="#Philosophy">Philosophy</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-pipes">pipes</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-plc_005fall">‘<samp>plc_all</samp>’</a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-plc_005fg2d">‘<samp>plc_g2d</samp>’</a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-plc_005fg3d">‘<samp>plc_g3d</samp>’</a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-plc_005fxpl">‘<samp>plc_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-plc_005fxst">‘<samp>plc_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-portability">portability</a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-positional-arguments">positional arguments</a>:</td><td> </td><td valign="top"><a href="#Specifying-Output-Files">Specifying Output Files</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-POSIX"><acronym>POSIX</acronym></a>:</td><td> </td><td valign="top"><a href="#Command-Line-Options">Command Line Options</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-POSIX-1"><acronym>POSIX</acronym></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-pow"><var>pow</var></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-power">power</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-power-function">power function</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-prd">‘<samp>prd</samp>’</a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-precision">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-preprocessor-tokens">preprocessor tokens</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-presentations">presentations</a>:</td><td> </td><td valign="top"><a href="#Availability">Availability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-print_0028_0029-ncap2">print() <code>ncap2</code></a>:</td><td> </td><td valign="top"><a href="#print-statement">print statement</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-printf"><code>printf</code></a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-printf_0028_0029"><code>printf()</code></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-printf_0028_0029-1"><code>printf()</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-printf_0028_0029-2"><code>printf()</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-printing-files-contents">printing files contents</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-printing-variables">printing variables</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-Processor">Processor</a>:</td><td> </td><td valign="top"><a href="#ncra-netCDF-Record-Averager">ncra netCDF Record Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Processor-1">Processor</a>:</td><td> </td><td valign="top"><a href="#ncrcat-netCDF-Record-Concatenator">ncrcat netCDF Record Concatenator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Processor_002c-CCM">Processor, <acronym>CCM</acronym></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-promotion">promotion</a>:</td><td> </td><td valign="top"><a href="#Type-Conversion">Type Conversion</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-promotion-1">promotion</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-promotion-2">promotion</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-proposals">proposals</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-pseudonym">pseudonym</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-publications">publications</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-Q">Q</a></th><td></td><td></td></tr>
+<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-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>
+<tr><td></td><td valign="top"><a href="#index-quotes-3">quotes</a>:</td><td> </td><td valign="top"><a href="#ncpdq-netCDF-Permute-Dimensions-Quickly">ncpdq netCDF Permute Dimensions Quickly</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_letter-R">R</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-RAG"><acronym>RAG</acronym></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-RAM"><acronym>RAM</acronym></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-RAM-1"><acronym>RAM</acronym></a>:</td><td> </td><td valign="top"><a href="#RAM-disks">RAM disks</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-RAM-disks"><acronym>RAM</acronym> disks</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-RAM-disks-1"><acronym>RAM</acronym> disks</a>:</td><td> </td><td valign="top"><a href="#RAM-disks">RAM disks</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-RAM-files"><acronym>RAM</acronym> files</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-RAM-files-1"><acronym>RAM</acronym> files</a>:</td><td> </td><td valign="top"><a href="#RAM-disks">RAM disks</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-RAM-variables"><acronym>RAM</acronym> variables</a>:</td><td> </td><td valign="top"><a href="#RAM-disks">RAM disks</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-RAM-variables-1"><acronym>RAM</acronym> variables</a>:</td><td> </td><td valign="top"><a href="#Methods-and-functions">Methods and functions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ram_005fdelete_0028_0029">ram_delete()</a>:</td><td> </td><td valign="top"><a href="#RAM-variables">RAM variables</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ram_005fwrite_0028_0029">ram_write()</a>:</td><td> </td><td valign="top"><a href="#RAM-variables">RAM variables</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-random-walk">random walk</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-rank">rank</a>:</td><td> </td><td valign="top"><a href="#Expressions">Expressions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-rank-1">rank</a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-rank-2">rank</a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-rank-3">rank</a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-rank-4">rank</a>:</td><td> </td><td valign="top"><a href="#ncwa-netCDF-Weighted-Averager">ncwa netCDF Weighted Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-rcp"><code>rcp</code></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-rcp-1"><code>rcp</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-RCS"><acronym>RCS</acronym></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-rd1">‘<samp>rd1</samp>’</a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-re_002ddimension">re-dimension</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-re_002dorder-dimensions">re-order dimensions</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-record-aggregation">record aggregation</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-record-append">record append</a>:</td><td> </td><td valign="top"><a href="#Record-Appending">Record Appending</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-record-average">record average</a>:</td><td> </td><td valign="top"><a href="#ncra-netCDF-Record-Averager">ncra netCDF Record Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-record-concatenation">record concatenation</a>:</td><td> </td><td valign="top"><a href="#ncrcat-netCDF-Record-Concatenator">ncrcat netCDF Record Concatenator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-record-dimension">record dimension</a>:</td><td> </td><td valign="top"><a href="#Appending-Variables">Appending Variables</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-record-dimension-1">record dimension</a>:</td><td> </td><td valign="top"><a href="#C-and-Fortran-Index-Conventions">C and Fortran Index Conventions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-record-dimension-2">record dimension</a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-record-dimension-3">record dimension</a>:</td><td> </td><td valign="top"><a href="#nces-netCDF-Ensemble-Statistics">nces netCDF Ensemble Statistics</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-record-dimension-4">record dimension</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-record-dimension-5">record dimension</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-record-dimension-6">record dimension</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-record-dimension-7">record dimension</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-record-dimension-8">record dimension</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-record-dimension-9">record dimension</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-record-dimension-10">record dimension</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-record-dimension-11">record dimension</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-record-dimension-12">record dimension</a>:</td><td> </td><td valign="top"><a href="#ncra-netCDF-Record-Averager">ncra netCDF Record Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-record-dimension-13">record dimension</a>:</td><td> </td><td valign="top"><a href="#ncra-netCDF-Record-Averager">ncra netCDF Record Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-record-dimension-14">record dimension</a>:</td><td> </td><td valign="top"><a href="#ncrcat-netCDF-Record-Concatenator">ncrcat netCDF Record Concatenator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-record-variable">record variable</a>:</td><td> </td><td valign="top"><a href="#C-and-Fortran-Index-Conventions">C and Fortran Index Conventions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-record-variable-1">record variable</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-rectangular-grids">rectangular grids</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-recursion">recursion</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-recursive">recursive</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-regex"><code>regex</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-regression">regression</a>:</td><td> </td><td valign="top"><a href="#Annual-Average-over-Regions">Annual Average over Regions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-regressions-archive">regressions archive</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-regrid">regrid</a>:</td><td> </td><td valign="top"><a href="#Regrid-MODIS-Data">Regrid MODIS Data</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-regular-expressions">regular expressions</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-regular-expressions-1">regular expressions</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-regular-expressions-2">regular expressions</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-regular-expressions-3">regular expressions</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-regular-expressions-4">regular expressions</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-regular-expressions-5">regular expressions</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-remap"><code>remap</code></a>:</td><td> </td><td valign="top"><a href="#Sort-methods">Sort methods</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Remik-Ziemlinski">Remik Ziemlinski</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-remote-files">remote files</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-remote-files-1">remote files</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-rename-groups">rename groups</a>:</td><td> </td><td valign="top"><a href="#Group-Path-Editing">Group Path Editing</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-renaming-attributes">renaming attributes</a>:</td><td> </td><td valign="top"><a href="#ncrename-netCDF-Renamer">ncrename netCDF Renamer</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-renaming-attributes-1">renaming attributes</a>:</td><td> </td><td valign="top"><a href="#Regrid-MODIS-Data">Regrid MODIS Data</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-renaming-dimensions">renaming dimensions</a>:</td><td> </td><td valign="top"><a href="#ncrename-netCDF-Renamer">ncrename netCDF Renamer</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-renaming-dimensions-1">renaming dimensions</a>:</td><td> </td><td valign="top"><a href="#Regrid-MODIS-Data">Regrid MODIS Data</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-renaming-groups">renaming groups</a>:</td><td> </td><td valign="top"><a href="#ncrename-netCDF-Renamer">ncrename netCDF Renamer</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-renaming-variables">renaming variables</a>:</td><td> </td><td valign="top"><a href="#ncrename-netCDF-Renamer">ncrename netCDF Renamer</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-renaming-variables-1">renaming variables</a>:</td><td> </td><td valign="top"><a href="#Annual-Average-over-Regions">Annual Average over Regions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-renaming-variables-2">renaming variables</a>:</td><td> </td><td valign="top"><a href="#Regrid-MODIS-Data">Regrid MODIS Data</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-reporting-bugs">reporting bugs</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-reshape-variables">reshape variables</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-restrict"><code>restrict</code></a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-reverse-data">reverse data</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-reverse-dimensions">reverse dimensions</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-reverse-dimensions-1">reverse dimensions</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-reverse-dimensions-2">reverse dimensions</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-reverse_0028_0029">reverse()</a>:</td><td> </td><td valign="top"><a href="#Arrays-and-hyperslabs">Arrays and hyperslabs</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-rew">‘<samp>rew</samp>’</a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-rint"><var>rint</var></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-rms"><code>rms</code></a>:</td><td> </td><td valign="top"><a href="#Operation-Types">Operation Types</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-rmssdn"><code>rmssdn</code></a>:</td><td> </td><td valign="top"><a href="#Operation-Types">Operation Types</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-rmssdn_0028_0029">rmssdn()</a>:</td><td> </td><td valign="top"><a href="#Methods-and-functions">Methods and functions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-root_002dmean_002dsquare">root-mean-square</a>:</td><td> </td><td valign="top"><a href="#Operation-Types">Operation Types</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Rorik-Peterson">Rorik Peterson</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-round"><var>round</var></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-rounding">rounding</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-rounding-functions">rounding functions</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-RPM"><acronym>RPM</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-running-average">running average</a>:</td><td> </td><td valign="top"><a href="#ncra-netCDF-Record-Averager">ncra netCDF Record Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Russ-Rew">Russ Rew</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Russ-Rew-1">Russ Rew</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_letter-S">S</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-safeguards">safeguards</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-safeguards-1">safeguards</a>:</td><td> </td><td valign="top"><a href="#ncrename-netCDF-Renamer">ncrename netCDF Renamer</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-scale_005ffactor"><code>scale_factor</code></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-scale_005ffactor-1"><code>scale_factor</code></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-scale_005ffactor-2"><code>scale_factor</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-scale_005ffactor-3"><code>scale_factor</code></a>:</td><td> </td><td valign="top"><a href="#ncrcat-netCDF-Record-Concatenator">ncrcat netCDF Record Concatenator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-scale_005fformat"><var>scale_format</var></a>:</td><td> </td><td valign="top"><a href="#Performance">Performance</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-scaling">scaling</a>:</td><td> </td><td valign="top"><a href="#Performance">Performance</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-scaling-1">scaling</a>:</td><td> </td><td valign="top"><a href="#ncflint-netCDF-File-Interpolator">ncflint netCDF File Interpolator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Scientific-Data-Operators">Scientific Data Operators</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-scl">‘<samp>scl</samp>’</a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Scott-Capps">Scott Capps</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-scp"><code>scp</code></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-scp-1"><code>scp</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-script-file">script file</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-SDO"><acronym>SDO</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-seasonal-average">seasonal average</a>:</td><td> </td><td valign="top"><a href="#Monthly-data-in-one-file">Monthly data in one file</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-security">security</a>:</td><td> </td><td valign="top"><a href="#MD5-digests">MD5 digests</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-SEIII"><acronym>SEIII</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-semi_002dcolon">semi-colon</a>:</td><td> </td><td valign="top"><a href="#Syntax-of-ncap2-statements">Syntax of ncap2 statements</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-separator">separator</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-server">server</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-server-1">server</a>:</td><td> </td><td valign="top"><a href="#OPeNDAP">OPeNDAP</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-server-2">server</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-server-3">server</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-Server_002dSide-Distributed-Data-Reduction-_0026-Analysis">Server-Side Distributed Data Reduction & Analysis</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-server_002dside-processing">server-side processing</a>:</td><td> </td><td valign="top"><a href="#OPeNDAP">OPeNDAP</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-server_002dside-processing-1">server-side processing</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-set_005fmiss_0028_0029"><code>set_miss()</code></a>:</td><td> </td><td valign="top"><a href="#Missing-values-ncap2">Missing values ncap2</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-sftp"><code>sftp</code></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-sftp-1"><code>sftp</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-SGI"><acronym>SGI</acronym></a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Sh-shell">Sh shell</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-shared-memory-machines">shared memory machines</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-shared-memory-parallelism">shared memory parallelism</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-shell">shell</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-shell-1">shell</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-shell-2">shell</a>:</td><td> </td><td valign="top"><a href="#UDUnits-Support">UDUnits Support</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-shell-3">shell</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-shell-4">shell</a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-shell-5">shell</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-signedness"><var>signedness</var></a>:</td><td> </td><td valign="top"><a href="#Performance">Performance</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-sin"><var>sin</var></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-sine-function">sine function</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-single_002dprecision">single-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-sinh"><var>sinh</var></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-size_0028_0029">size()</a>:</td><td> </td><td valign="top"><a href="#Methods-and-functions">Methods and functions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-SMP"><acronym>SMP</acronym></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-sort"><code>sort</code></a>:</td><td> </td><td valign="top"><a href="#Sort-methods">Sort methods</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-sort-alphabetically">sort alphabetically</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-sort-alphabetically-1">sort alphabetically</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-source-code">source code</a>:</td><td> </td><td valign="top"><a href="#Availability">Availability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-spatial-distribution">spatial distribution</a>:</td><td> </td><td valign="top"><a href="#Global-Distribution-of-Long_002dterm-Average">Global Distribution of Long-term Average</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-special-attributes">special 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-special-characters">special characters</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-speed">speed</a>:</td><td> </td><td valign="top"><a href="#Libraries">Libraries</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-speed-1">speed</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-speed-2">speed</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-speed-3">speed</a>:</td><td> </td><td valign="top"><a href="#Performance">Performance</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-speed-4">speed</a>:</td><td> </td><td valign="top"><a href="#Metadata-Optimization">Metadata Optimization</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-speed-5">speed</a>:</td><td> </td><td valign="top"><a href="#Missing-Values">Missing Values</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-speed-6">speed</a>:</td><td> </td><td valign="top"><a href="#ncrename-netCDF-Renamer">ncrename netCDF Renamer</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-sqravg"><code>sqravg</code></a>:</td><td> </td><td valign="top"><a href="#Operation-Types">Operation Types</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-sqravg_0028_0029">sqravg()</a>:</td><td> </td><td valign="top"><a href="#Methods-and-functions">Methods and functions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-sqrt"><code>sqrt</code></a>:</td><td> </td><td valign="top"><a href="#Operation-Types">Operation Types</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-sqrt-1"><var>sqrt</var></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-square-root-function">square root function</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-SSDDRA"><acronym>SSDDRA</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-SSH"><acronym>SSH</acronym></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-SSH-1"><acronym>SSH</acronym></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-sshort_0028_0029">sshort()</a>:</td><td> </td><td valign="top"><a href="#Methods-and-functions">Methods and functions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-standard-deviation">standard deviation</a>:</td><td> </td><td valign="top"><a href="#Operation-Types">Operation Types</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-standard-deviation-1">standard deviation</a>:</td><td> </td><td valign="top"><a href="#Operation-Types">Operation Types</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-standard-deviation-2">standard deviation</a>:</td><td> </td><td valign="top"><a href="#Annual-Average-over-Regions">Annual Average over Regions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-standard-input">standard input</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-standard-input-1">standard input</a>:</td><td> </td><td valign="top"><a href="#nces-netCDF-Ensemble-Statistics">nces netCDF Ensemble Statistics</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-standard-input-2">standard input</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-standard-input-3">standard input</a>:</td><td> </td><td valign="top"><a href="#ncra-netCDF-Record-Averager">ncra netCDF Record Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-standard-input-4">standard input</a>:</td><td> </td><td valign="top"><a href="#ncrcat-netCDF-Record-Concatenator">ncrcat netCDF Record Concatenator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-standard_005fname"><code>standard_name</code></a>:</td><td> </td><td valign="top"><a href="#Auxiliary-Coordinates">Auxiliary Coordinates</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-stat_0028_0029-system-call"><code>stat() system call</code></a>:</td><td> </td><td valign="top"><a href="#Buffer-sizes">Buffer sizes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-statement">statement</a>:</td><td> </td><td valign="top"><a href="#Syntax-of-ncap2-statements">Syntax of ncap2 statements</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-static-linking">static linking</a>:</td><td> </td><td valign="top"><a href="#Libraries">Libraries</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-stdin"><code>stdin</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-stdin-1"><code>stdin</code></a>:</td><td> </td><td valign="top"><a href="#File-List-Attributes">File List Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-stdin-2"><code>stdin</code></a>:</td><td> </td><td valign="top"><a href="#nces-netCDF-Ensemble-Statistics">nces netCDF Ensemble Statistics</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-stdin-3"><code>stdin</code></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-stdin-4"><code>stdin</code></a>:</td><td> </td><td valign="top"><a href="#ncra-netCDF-Record-Averager">ncra netCDF Record Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-stdin-5"><code>stdin</code></a>:</td><td> </td><td valign="top"><a href="#ncrcat-netCDF-Record-Concatenator">ncrcat netCDF Record Concatenator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Steve-Emmerson">Steve Emmerson</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-stride">stride</a>:</td><td> </td><td valign="top"><a href="#Hyperslabs">Hyperslabs</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-stride-1">stride</a>:</td><td> </td><td valign="top"><a href="#Stride">Stride</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-stride-2">stride</a>:</td><td> </td><td valign="top"><a href="#Multislabs">Multislabs</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-stride-3">stride</a>:</td><td> </td><td valign="top"><a href="#UDUnits-Support">UDUnits Support</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-stride-4">stride</a>:</td><td> </td><td valign="top"><a href="#ncra-netCDF-Record-Averager">ncra netCDF Record Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-stride-5">stride</a>:</td><td> </td><td valign="top"><a href="#ncra-netCDF-Record-Averager">ncra netCDF Record Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-stride-6">stride</a>:</td><td> </td><td valign="top"><a href="#ncrcat-netCDF-Record-Concatenator">ncrcat netCDF Record Concatenator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-stride-7">stride</a>:</td><td> </td><td valign="top"><a href="#ncrcat-netCDF-Record-Concatenator">ncrcat netCDF Record Concatenator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-strings">strings</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-Stu-Muller">Stu Muller</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-stub">stub</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-sub_002dcycle">sub-cycle</a>:</td><td> </td><td valign="top"><a href="#Subcycle">Subcycle</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-subcycle">subcycle</a>:</td><td> </td><td valign="top"><a href="#Subcycle">Subcycle</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-subsetting">subsetting</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-subsetting-1">subsetting</a>:</td><td> </td><td valign="top"><a href="#Subsetting-Coordinate-Variables">Subsetting Coordinate Variables</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-subsetting-2">subsetting</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-subsetting-3">subsetting</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-subsetting-4">subsetting</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-subtract"><code>subtract</code></a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-subtracting-data">subtracting data</a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-subtraction">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-subtraction-1">subtraction</a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-summary">summary</a>:</td><td> </td><td valign="top"><a href="#Summary">Summary</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Sun">Sun</a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-swap-space">swap space</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-swap-space-1">swap space</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-swap-space-2">swap space</a>:</td><td> </td><td valign="top"><a href="#RAM-disks">RAM disks</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-switches">switches</a>:</td><td> </td><td valign="top"><a href="#Command-Line-Options">Command Line Options</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-symbolic-links">symbolic links</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-symbolic-links-1">symbolic links</a>:</td><td> </td><td valign="top"><a href="#Statistics-vs_002e-Concatenation">Statistics vs. Concatenation</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-symbolic-links-2">symbolic links</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-symbolic-links-3">symbolic links</a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-symbolic-links-4">symbolic links</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-synchronous-file-access">synchronous file access</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-synonym">synonym</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-syntax">syntax</a>:</td><td> </td><td valign="top"><a href="#Syntax-of-ncap2-statements">Syntax of ncap2 statements</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-System-calls">System calls</a>:</td><td> </td><td valign="top"><a href="#Buffer-sizes">Buffer sizes</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_letter-T">T</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Takeshi-Enomoto">Takeshi Enomoto</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-tan"><var>tan</var></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-tanh"><var>tanh</var></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-temporary-files">temporary files</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-temporary-files-1">temporary files</a>:</td><td> </td><td valign="top"><a href="#RAM-disks">RAM disks</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-temporary-output-files">temporary output files</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-temporary-output-files-1">temporary output files</a>:</td><td> </td><td valign="top"><a href="#RAM-disks">RAM disks</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-temporary-output-files-2">temporary output files</a>:</td><td> </td><td valign="top"><a href="#ncrename-netCDF-Renamer">ncrename netCDF Renamer</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-TeXinfo">TeXinfo</a>:</td><td> </td><td valign="top"><a href="#Availability">Availability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-threads">threads</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-threads-1">threads</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-threads-2">threads</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-thr_005fnbr"><var>thr_nbr</var></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-time"><code>time</code></a>:</td><td> </td><td valign="top"><a href="#UDUnits-Support">UDUnits Support</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-time-1"><code>time</code></a>:</td><td> </td><td valign="top"><a href="#ARM-Conventions">ARM Conventions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-time_002daveraging">time-averaging</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-time_002daveraging-1">time-averaging</a>:</td><td> </td><td valign="top"><a href="#Daily-data-in-one-file">Daily data in one file</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-time_002daveraging-2">time-averaging</a>:</td><td> </td><td valign="top"><a href="#Daily-data-in-one-file">Daily data in one file</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-time_002daveraging-3">time-averaging</a>:</td><td> </td><td valign="top"><a href="#Monthly-data-in-one-file">Monthly data in one file</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-time_002daveraging-4">time-averaging</a>:</td><td> </td><td valign="top"><a href="#Monthly-data-in-one-file">Monthly data in one file</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-time_002daveraging-5">time-averaging</a>:</td><td> </td><td valign="top"><a href="#One-time-point-one-file">One time point one file</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-time_002daveraging-6">time-averaging</a>:</td><td> </td><td valign="top"><a href="#Global-Distribution-of-Long_002dterm-Average">Global Distribution of Long-term Average</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-time_002daveraging-7">time-averaging</a>:</td><td> </td><td valign="top"><a href="#Annual-Average-over-Regions">Annual Average over Regions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-time_002daveraging-8">time-averaging</a>:</td><td> </td><td valign="top"><a href="#Monthly-Cycle">Monthly Cycle</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-timestamp">timestamp</a>:</td><td> </td><td valign="top"><a href="#History-Attribute">History Attribute</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-time_005foffset"><code>time_offset</code></a>:</td><td> </td><td valign="top"><a href="#ARM-Conventions">ARM Conventions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-total">total</a>:</td><td> </td><td valign="top"><a href="#Operation-Types">Operation Types</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-transpose">transpose</a>:</td><td> </td><td valign="top"><a href="#C-and-Fortran-Index-Conventions">C and Fortran Index Conventions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-transpose-1">transpose</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-TREFHT"><acronym>TREFHT</acronym></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-trunc"><var>trunc</var></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-trunc_0028_0029"><code>trunc()</code></a>:</td><td> </td><td valign="top"><a href="#Automatic-type-conversion">Automatic type conversion</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-truncate-_0028groups_0029">truncate (groups)</a>:</td><td> </td><td valign="top"><a href="#Group-Path-Editing">Group Path Editing</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-truncation-function">truncation function</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-truth-condition">truth condition</a>:</td><td> </td><td valign="top"><a href="#Mask-condition">Mask condition</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-truth-condition-1">truth condition</a>:</td><td> </td><td valign="top"><a href="#Normalization-and-Integration">Normalization and Integration</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ttl"><code>ttl</code></a>:</td><td> </td><td valign="top"><a href="#Operation-Types">Operation Types</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ttl_0028_0029">ttl()</a>:</td><td> </td><td valign="top"><a href="#Methods-and-functions">Methods and functions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-type-conversion">type conversion</a>:</td><td> </td><td valign="top"><a href="#Type-Conversion">Type Conversion</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-type_0028_0029">type()</a>:</td><td> </td><td valign="top"><a href="#Methods-and-functions">Methods and functions</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_letter-U">U</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ubyte_0028_0029">ubyte()</a>:</td><td> </td><td valign="top"><a href="#Methods-and-functions">Methods and functions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-UDUnits">UDUnits</a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-UDUnits-1">UDUnits</a>:</td><td> </td><td valign="top"><a href="#UDUnits-Support">UDUnits Support</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-UDUnits-2">UDUnits</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-uint_0028_0029">uint()</a>:</td><td> </td><td valign="top"><a href="#Methods-and-functions">Methods and functions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ulimit"><code>ulimit</code></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-unary-operations">unary operations</a>:</td><td> </td><td valign="top"><a href="#Memory-for-ncap2">Memory for ncap2</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-underlying-file-format">underlying file format</a>:</td><td> </td><td valign="top"><a href="#Determining-File-Format">Determining File Format</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-UNICOS"><acronym>UNICOS</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-Unidata">Unidata</a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Unidata-1">Unidata</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-Unidata-2">Unidata</a>:</td><td> </td><td valign="top"><a href="#UDUnits-Support">UDUnits Support</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-union">union</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-union-1">union</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-union-of-files">union of files</a>:</td><td> </td><td valign="top"><a href="#Appending-Variables">Appending Variables</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-unit64_0028_0029">unit64()</a>:</td><td> </td><td valign="top"><a href="#Methods-and-functions">Methods and functions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-units"><code>units</code></a>:</td><td> </td><td valign="top"><a href="#UDUnits-Support">UDUnits Support</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-units-1"><code>units</code></a>:</td><td> </td><td valign="top"><a href="#UDUnits-Support">UDUnits Support</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-units-2"><code>units</code></a>:</td><td> </td><td valign="top"><a href="#UDUnits-Support">UDUnits Support</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-units-3"><code>units</code></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-units-4"><code>units</code></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-units-5"><code>units</code></a>:</td><td> </td><td valign="top"><a href="#ncflint-netCDF-File-Interpolator">ncflint netCDF File Interpolator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-UNIX"><acronym>UNIX</acronym></a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-UNIX-1"><acronym>UNIX</acronym></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-UNIX-2"><acronym>UNIX</acronym></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-UNIX-3"><acronym>UNIX</acronym></a>:</td><td> </td><td valign="top"><a href="#Command-Line-Options">Command Line Options</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-UNIX-4"><acronym>UNIX</acronym></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-UNIX-5"><acronym>UNIX</acronym></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-unlimited-dimension">unlimited dimension</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-unmap"><code>unmap</code></a>:</td><td> </td><td valign="top"><a href="#Sort-methods">Sort methods</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-unpack_0028_0029">unpack()</a>:</td><td> </td><td valign="top"><a href="#Methods-and-functions">Methods and functions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-unpack_0028x_0029"><code>unpack(x)</code></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-unpacking">unpacking</a>:</td><td> </td><td valign="top"><a href="#OPeNDAP">OPeNDAP</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-unpacking-1">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-unpacking-2">unpacking</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-unpacking-3">unpacking</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-unpacking-4">unpacking</a>:</td><td> </td><td valign="top"><a href="#ncrcat-netCDF-Record-Concatenator">ncrcat netCDF Record Concatenator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-URL"><acronym>URL</acronym></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-User-Guide"><cite>User Guide</cite></a>:</td><td> </td><td valign="top"><a href="#Availability">Availability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ushort_0028_0029">ushort()</a>:</td><td> </td><td valign="top"><a href="#Methods-and-functions">Methods and functions</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_letter-V">V</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-value-list">value list</a>:</td><td> </td><td valign="top"><a href="#Attributes">Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-variable-names">variable names</a>:</td><td> </td><td valign="top"><a href="#ncrename-netCDF-Renamer">ncrename netCDF Renamer</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-variables_002c-appending">variables, appending</a>:</td><td> </td><td valign="top"><a href="#Annual-Average-over-Regions">Annual Average over Regions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-variance">variance</a>:</td><td> </td><td valign="top"><a href="#Operation-Types">Operation Types</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-version">version</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-Vista-_0028Microsoft-operating-system_0029">Vista (Microsoft operating system)</a>:</td><td> </td><td valign="top"><a href="#Windows-Operating-System">Windows Operating System</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_letter-W">W</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-weighted-average">weighted average</a>:</td><td> </td><td valign="top"><a href="#ncwa-netCDF-Weighted-Averager">ncwa netCDF Weighted Averager</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-weighted-average-1">weighted average</a>:</td><td> </td><td valign="top"><a href="#Monthly-Cycle">Monthly Cycle</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Wenshan-Wang">Wenshan Wang</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-wget"><code>wget</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-where_0028_0029">where()</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-while_0028_0029">while()</a>:</td><td> </td><td valign="top"><a href="#Loops">Loops</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-whitespace">whitespace</a>:</td><td> </td><td valign="top"><a href="#UDUnits-Support">UDUnits Support</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-wildcards">wildcards</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-wildcards-1">wildcards</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-wildcards-2">wildcards</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-wildcards-3">wildcards</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-WIN32"><code>WIN32</code></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-Windows">Windows</a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Windows-1">Windows</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-wrapped-coordinates">wrapped coordinates</a>:</td><td> </td><td valign="top"><a href="#Hyperslabs">Hyperslabs</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-wrapped-coordinates-1">wrapped coordinates</a>:</td><td> </td><td valign="top"><a href="#Wrapped-Coordinates">Wrapped Coordinates</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-wrapped-coordinates-2">wrapped coordinates</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-wrapped-coordinates-3">wrapped coordinates</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-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-WWW-documentation">WWW 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>
+<tr><td></td><td valign="top"><a href="#index-xargs-1"><code>xargs</code></a>:</td><td> </td><td valign="top"><a href="#Specifying-Output-Files">Specifying Output Files</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-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-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>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="General-Index_cp_letter-Y">Y</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Yorick">Yorick</a>:</td><td> </td><td valign="top"><a href="#Philosophy">Philosophy</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Yorick-1">Yorick</a>:</td><td> </td><td valign="top"><a href="#Performance">Performance</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+</table>
+<table><tr><th valign="top">Jump to:   </th><td><a class="summary-letter" href="#General-Index_cp_symbol-1"><b>"</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-2"><b>#</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-3"><b>$</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-4"><b>%</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-5"><b>'</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-6"><b>*</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-7"><b>+</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-8"><b>-</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-9"><b>.</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-10"><b>/</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-11"><b>0</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-12"><b>3</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-13"><b>6</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-14"><b>:</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-15"><b>;</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-16"><b><</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-17"><b>?</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-18"><b>@</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-19"><b>[</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-20"><b>\</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-21"><b>^</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-22"><b>_</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_symbol-23"><b>|</b></a>
+   
+<br>
+<a class="summary-letter" href="#General-Index_cp_letter-A"><b>A</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-B"><b>B</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-C"><b>C</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-D"><b>D</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-E"><b>E</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-F"><b>F</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-G"><b>G</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-H"><b>H</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-I"><b>I</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-J"><b>J</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-K"><b>K</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-L"><b>L</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-M"><b>M</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-N"><b>N</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-O"><b>O</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-P"><b>P</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-Q"><b>Q</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-R"><b>R</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-S"><b>S</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-T"><b>T</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-U"><b>U</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-V"><b>V</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-W"><b>W</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-X"><b>X</b></a>
+   
+<a class="summary-letter" href="#General-Index_cp_letter-Y"><b>Y</b></a>
+   
+</td></tr></table>
+
+<div class="footnote">
+<hr>
+<h4 class="footnotes-heading">Footnotes</h4>
+
+<h3><a name="FOOT1" href="#DOCF1">(1)</a></h3>
+<p>To produce these formats, <samp>nco.texi</samp> was simply run through the
+freely available programs <code>texi2dvi</code>, <code>dvips</code>,
+<code>texi2html</code>, and <code>makeinfo</code>.    
+Due to a bug in TeX, the resulting Postscript file, <samp>nco.ps</samp>,
+contains the Table of Contents as the final pages. 
+Thus if you print <samp>nco.ps</samp>, remember to insert the Table of
+Contents after the cover sheet before you staple the manual.
+</p>
+<h3><a name="FOOT2" href="#DOCF2">(2)</a></h3>
+<p>The ‘<samp>_BSD_SOURCE</samp>’ token is required on some Linux platforms where 
+<code>gcc</code> dislikes the network header files like
+<samp>netinet/in.h</samp>).</p>
+<h3><a name="FOOT3" href="#DOCF3">(3)</a></h3>
+<p><acronym>NCO</acronym> may still build with an 
+<acronym>ANSI</acronym> or <acronym>ISO</acronym> C89 or C94/95-compliant compiler if the
+C <span class="nolinebreak">pre-processor</span><!-- /@w --> undefines the <code>restrict</code> type qualifier, e.g.,
+by invoking the compiler with ‘<samp>-Drestrict=''</samp>’.</p>
+<h3><a name="FOOT4" href="#DOCF4">(4)</a></h3>
+<p>The Cygwin package is available from<br>
+<code>http://sourceware.redhat.com/cygwin</code><br>
+<a name="index-gcc-1"></a>
+<a name="index-g_002b_002b-1"></a>
+Currently, Cygwin 20.x<!-- /@w --> comes with the <acronym>GNU</acronym> C/C++
+compilers (<code>gcc</code>, <code>g++</code>.
+These <acronym>GNU</acronym> compilers may be used to build the netCDF
+distribution itself.</p>
+<h3><a name="FOOT5" href="#DOCF5">(5)</a></h3>
+<p>The <code>ldd</code> command, if it is available on your system,
+will tell you where the executable is looking for each dynamically
+loaded library. Use, e.g., <code>ldd `which nces`</code>.</p>
+<h3><a name="FOOT6" href="#DOCF6">(6)</a></h3>
+<p>The Hierarchical Data Format, or <acronym>HDF</acronym>, is another
+self-describing data format similar to, but more elaborate than,
+netCDF. 
+<acronym>HDF</acronym> comes in two flavors, <acronym>HDF4</acronym> and <acronym>HDF5</acronym>. 
+Often people use the shorthand <acronym>HDF</acronym> to refer to the older
+format <acronym>HDF4</acronym>.
+People almost always use <acronym>HDF5</acronym> to refer to <acronym>HDF5</acronym>.</p>
+<h3><a name="FOOT7" href="#DOCF7">(7)</a></h3>
+<p>One must link the <acronym>NCO</acronym> code to the <acronym>HDF4</acronym>
+<acronym>MFHDF</acronym> library instead of the usual netCDF library. 
+Apparently ‘<samp>MF</samp>’ stands for Multi-file not for Mike Folk.
+In any case, until about 2007 the <acronym>MFHDF</acronym> library only supported 
+netCDF2<!-- /@w --> calls. 
+Most people will never again install <acronym>NCO</acronym> 1.2.x and so will
+never use <acronym>NCO</acronym> to write <acronym>HDF4</acronym> files.
+It is simply too much trouble.</p>
+<h3><a name="FOOT8" href="#DOCF8">(8)</a></h3>
+<p>The procedure for doing this is documented at
+<a href="http://www.unidata.ucar.edu/software/netcdf/docs/build_hdf4.html">http://www.unidata.ucar.edu/software/netcdf/docs/build_hdf4.html</a>.</p>
+<h3><a name="FOOT9" href="#DOCF9">(9)</a></h3>
+<p>Prior to <acronym>NCO</acronym> version 4.4.0 (January, 2014), we recommend the
+<code>ncl_convert2nc</code> tool to convert <acronym>HDF</acronym> to netCDF3 when
+both these are true: 1. You<!-- /@w --> must have netCDF3 and 2. the<!-- /@w -->
+<acronym>HDF</acronym> file contains netCDF4 atomic types. 
+More recent versions of <acronym>NCO</acronym> handle this problem fine, so we
+no longer recommend <code>ncl_convert2nc</code> because <code>ncks</code>
+is faster and more space-efficient.
+Both automatically convert netCDF4 types to netCDF3 types, yet
+<code>ncl_convert2nc</code> cannot produce full netCDF4 files.
+In contrast, <code>ncks</code> will happily convert <acronym>HDF</acronym> straight
+to netCDF4 files with netCDF4 types. 
+Hence <code>ncks</code> can and does preserve the variable types.
+Unsigned bytes stay unsigned bytes. 
+64-bit integers stay 64-bit integers. 
+Strings stay strings. 
+Hence, <code>ncks</code> conversions often result in smaller files than
+<code>ncl_convert2nc</code> conversions.</p>
+<h3><a name="FOOT10" href="#DOCF10">(10)</a></h3>
+<p>The <code>ncrename</code> and <code>ncatted</code> operators are
+exceptions to this rule.
+See <a href="#ncrename-netCDF-Renamer">ncrename netCDF Renamer</a>.</p>
+<h3><a name="FOOT11" href="#DOCF11">(11)</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>
+<h3><a name="FOOT12" href="#DOCF12">(12)</a></h3>
+<p>The terminology <em>merging</em> is
+reserved for an (unwritten) operator which replaces hyperslabs of a
+variable in one file with hyperslabs of the same variable from another 
+file</p>
+<h3><a name="FOOT13" href="#DOCF13">(13)</a></h3>
+<p>Yes, the terminology is confusing. 
+By all means mail me if you think of a better nomenclature.
+Should <acronym>NCO</acronym> use <em>paste</em> instead of <em>append</em>?
+</p>
+<h3><a name="FOOT14" href="#DOCF14">(14)</a></h3>
+<p>Currently
+<code>nces</code> and <code>ncrcat</code> are symbolically linked to the
+<code>ncra</code> executable, which behaves slightly differently based on
+its invocation name (i.e., ‘<samp>argv[0]</samp>’). 
+These three operators share the same source code, and merely have
+different inner loops.</p>
+<h3><a name="FOOT15" href="#DOCF15">(15)</a></h3>
+<p>The third averaging operator, <code>ncwa</code>, is the most
+sophisticated averager in <acronym>NCO</acronym>. 
+However, <code>ncwa</code> is in a different class than <code>ncra</code> and
+<code>nces</code> because it operates on a single file per invocation (as
+opposed to multiple files).    
+On that single file, however, <code>ncwa</code> provides a richer set of 
+averaging options—including weighting, masking, and broadcasting.</p>
+<h3><a name="FOOT16" href="#DOCF16">(16)</a></h3>
+<p>The exact length which exceeds the operating system internal
+limit for command line lengths varies from <acronym>OS</acronym> to <acronym>OS</acronym>
+and from shell to shell.  
+<acronym>GNU</acronym> <code>bash</code> may not have any arbitrary fixed limits to the
+size of command line arguments. 
+Many <acronym>OS</acronym>s cannot handle command line arguments (including
+results of file globbing) exceeding 4096 characters.</p>
+<h3><a name="FOOT17" href="#DOCF17">(17)</a></h3>
+<p>If a <code>getopt_long</code> function cannot be found on the system, 
+<acronym>NCO</acronym> will use the <code>getopt_long</code> from the
+<code>my_getopt</code> package by Benjamin Sittler
+<a href="mailto:bsittler at iname.com">bsittler at iname.com</a>.
+This is <acronym>BSD</acronym>-licensed software available from  
+<a href="http://www.geocities.com/ResearchTriangle/Node/9405/#my_getopt">http://www.geocities.com/ResearchTriangle/Node/9405/#my_getopt</a>.</p>
+<h3><a name="FOOT18" href="#DOCF18">(18)</a></h3>
+<p>The ‘<samp>-n</samp>’ option is a backward compatible superset of the
+<code>NINTAP</code> option from the <acronym>NCAR</acronym> <acronym>CCM</acronym> Processor.</p>
+<h3><a name="FOOT19" href="#DOCF19">(19)</a></h3>
+<p><acronym>NCO</acronym> does not implement command line options to
+specify <acronym>FTP</acronym> logins and passwords because copying those data
+into the <code>history</code> global attribute in the output file (done by
+default) poses an unacceptable security risk. 
+</p>
+<h3><a name="FOOT20" href="#DOCF20">(20)</a></h3>
+<p>The <code>hsi</code> command must be in the user’s path in one of
+the following directories: <code>/usr/local/bin</code>, <code>/opt/hpss/bin</code>,
+or <code>/ncar/opt/hpss/hsi</code>.
+Tell us if the <acronym>HPSS</acronym> installation at your site places the
+<code>hsi</code> command in a different location, and we will add that
+location to the list of acceptable paths to search for <code>hsi</code>.
+</p>
+<h3><a name="FOOT21" href="#DOCF21">(21)</a></h3>
+<p><acronym>NCO</acronym> supported the old <acronym>NCAR</acronym> Mass Storage
+System (<acronym>MSS</acronym>) until version 4.0.7 in April, 2011.
+<acronym>NCO</acronym> supported <acronym>MSS</acronym>-retrievals via a variety of
+mechanisms including the <code>msread</code>, <code>msrcp</code>, and
+<code>nrnet</code> commands invoked either automatically or with sentinels
+like <code>ncks -p mss:/ZENDER/nco -l . in.nc</code>.
+Once the <acronym>MSS</acronym> was decommissioned in March, 2011, support for
+these retrieval mechanisms was replaced by support for <acronym>HPSS</acronym>
+in <acronym>NCO</acronym>.
+</p>
+<h3><a name="FOOT22" href="#DOCF22">(22)</a></h3>
+<a name="index-NVODS"></a>
+<a name="index-National-Virtual-Ocean-Data-System"></a>
+<a name="index-open-source-1"></a>
+<p><acronym>DODS</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.
+<acronym>DAP</acronym> is the discipline-neutral Data Access Protocol at the
+heart of <acronym>DODS</acronym>.
+The National Virtual Ocean Data System (<acronym>NVODS</acronym>) refers to the
+collection of oceanography data and oceanographic extensions to
+<acronym>DAP</acronym>. 
+In other words, <acronym>NVODS</acronym> is implemented with <acronym>OPeNDAP</acronym>.
+<acronym>OPeNDAP</acronym> is <em>also</em> the open source project which
+maintains, develops, and promulgates the <acronym>DAP</acronym> standard. 
+<acronym>OPeNDAP</acronym> and <acronym>DAP</acronym> really are interchangeable.
+Got it yet?</p>
+<h3><a name="FOOT23" href="#DOCF23">(23)</a></h3>
+<p>Automagic support for <acronym>DODS</acronym> version 3.2.x was deprecated in 
+December, 2003 after <acronym>NCO</acronym> version 2.8.4.
+<acronym>NCO</acronym> support for <acronym>OPeNDAP</acronym> versions 3.4.x commenced in
+December, 2003, with <acronym>NCO</acronym> version 2.8.5.
+<acronym>NCO</acronym> support for <acronym>OPeNDAP</acronym> versions 3.5.x commenced in
+June, 2005, with <acronym>NCO</acronym> version 3.0.1.
+<acronym>NCO</acronym> support for <acronym>OPeNDAP</acronym> versions 3.6.x commenced in
+June, 2006, with <acronym>NCO</acronym> version 3.1.3.
+<acronym>NCO</acronym> support for <acronym>OPeNDAP</acronym> versions 3.7.x commenced in
+January, 2007, with <acronym>NCO</acronym> version 3.1.9.</p>
+<h3><a name="FOOT24" href="#DOCF24">(24)</a></h3>
+<p>The minimal set of libraries required to build <acronym>NCO</acronym> as
+<acronym>OPeNDAP</acronym> clients, where <acronym>OPeNDAP</acronym> is supplied as a
+separate library apart from <samp>libnetcdf.a</samp>, are, in link order,
+<samp>libnc-dap.a</samp>, <samp>libdap.a</samp>, and 
+<samp>libxml2</samp> and <samp>libcurl.a</samp>.</p>
+<h3><a name="FOOT25" href="#DOCF25">(25)</a></h3>
+<p>We are most familiar with the <acronym>OPeNDAP</acronym> ability to enable 
+network-transparent data access.
+<a name="index-constraint-expressions"></a>
+<a name="index-server_002dside-processing"></a>
+<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"
+for incorporation in the <cite>NCO User Guide</cite>.</p>
+<h3><a name="FOOT26" href="#DOCF26">(26)</a></h3>
+<p>The reason (and mnemonic) for ‘<samp>-7</samp>’ is that <code>NETCDF4_CLASSIC</code>
+files include great features of both netCDF3 (compatibility) and
+netCDF4 (compression, chunking) and, well, <em>3+4=7</em>.</p>
+<h3><a name="FOOT27" href="#DOCF27">(27)</a></h3>
+<p>Linux and <acronym>AIX</acronym> do support <acronym>LFS</acronym>.</p>
+<h3><a name="FOOT28" href="#DOCF28">(28)</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="FOOT29" href="#DOCF29">(29)</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="FOOT30" href="#DOCF30">(30)</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="FOOT31" href="#DOCF31">(31)</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="FOOT32" href="#DOCF32">(32)</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="FOOT33" href="#DOCF33">(33)</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="FOOT34" href="#DOCF34">(34)</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="FOOT35" href="#DOCF35">(35)</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="FOOT36" href="#DOCF36">(36)</a></h3>
+<p><em>32767 = 2^15-1</em>
+</p>
+<h3><a name="FOOT37" href="#DOCF37">(37)</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="FOOT38" href="#DOCF38">(38)</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="FOOT39" href="#DOCF39">(39)</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 IEEE 754 single-precision and then converted back to the
+same number of significant decimal, then the final string should match
+the original; and if an IEEE 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="FOOT40" href="#DOCF40">(40)</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 IEEE 754 double-precision representation and then converted
+back to a string with the same number of significant digits, then the
+final string should match the original; and if an IEEE 754 double
+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="FOOT41" href="#DOCF41">(41)</a></h3>
+<p>See page 21<!-- /@w --> in Section 1.2 of the First edition for this
+gem:
+</p><blockquote>
+<p>One does not need much experience in scientific computing to recognize
+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="FOOT42" href="#DOCF42">(42)</a></h3>
+<p>For example, the <acronym>CMIP5</acronym> archive tends to distribute
+monthly average timeseries in 50-year chunks.</p>
+<h3><a name="FOOT43" href="#DOCF43">(43)</a></h3>
+<a name="index-Michael-Prather"></a>
+<p>Thanks to Michael J.<!-- /@w --> Prather for explaining this to me.</p>
+<h3><a name="FOOT44" href="#DOCF44">(44)</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="FOOT45" href="#DOCF45">(45)</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 
+‘<samp>days since 1992-10-8 15:15:42.5 -6:00</samp>’. 
+A problem<!-- /@w --> with this format occurs when using <code>ncrcat</code> to
+concatenate multiple files, each with a different <var>base_time</var>. 
+That is, any <code>time</code> values from files following the first file to
+be concatenated should be corrected to the <var>base_time</var> offset
+specified in the <code>units</code> attribute of <code>time</code> from the first
+file. 
+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="FOOT46" href="#DOCF46">(46)</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="FOOT47" href="#DOCF47">(47)</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="FOOT48" href="#DOCF48">(48)</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>
+without having to perform intrinsic conversions.
+For example, <acronym>ANSI</acronym> compilers provide <code>sin</code> for the sine of C-type
+<code>double</code> variables. 
+The <acronym>ANSI</acronym> standard does not require, but many compilers provide,
+an extended set of mathematical functions that apply to single
+(<code>float</code>) and quadruple (<code>long double</code>) precision variables. 
+Using these functions (e.g., <code>sinf</code> for <code>float</code>, 
+<code>sinl</code> for <code>long double</code>), when available, is (presumably)
+more efficient than casting variables to type <code>double</code>,
+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="FOOT49" href="#DOCF49">(49)</a></h3>
+<p>Linux supports more of these intrinsic functions than
+other OSs.</p>
+<h3><a name="FOOT50" href="#DOCF50">(50)</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="FOOT51" href="#DOCF51">(51)</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 
+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="FOOT52" href="#DOCF52">(52)</a></h3>
+<p>The command to do this is ‘<samp>ln -s -f ncbo ncadd</samp>’</p>
+<h3><a name="FOOT53" href="#DOCF53">(53)</a></h3>
+<p>The command to do this is ‘<samp>alias ncadd='ncbo --op_typ=add'</samp>’</p>
+<h3><a name="FOOT54" href="#DOCF54">(54)</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="FOOT55" href="#DOCF55">(55)</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="FOOT56" href="#DOCF56">(56)</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="FOOT57" href="#DOCF57">(57)</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. 
+The fixed (i.e., non-record) dimensions should be the same size in
+all ensemble members both before and after hyperslabbing, although
+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="FOOT58" href="#DOCF58">(58)</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>,
+<code>ncks</code> merely copies the values of the variable and its
+coordinate dimensions, if any, from <var>input-file</var> to
+<var>output-file</var>. 
+</p>
+<h3><a name="FOOT59" href="#DOCF59">(59)</a></h3>
+<p>This limitation, imposed by the netCDF storage layer,
+may be relaxed in the future with netCDF4.</p>
+<h3><a name="FOOT60" href="#DOCF60">(60)</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.
+For example, ‘<samp>ncpdq --hdf4 --hdf_upk -P xst_new modis.hdf modis.nc</samp>’.
+That switch is now obsolete, though harmless for backwards compatibility.
+Prior to version 4.3.7 (October, 2013), <acronym>NCO</acronym> lacked the
+software necessary to workaround netCDF library flaws handling
+<acronym>HDF4</acronym> files, and thus <acronym>NCO</acronym> failed to convert
+<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="FOOT61" href="#DOCF61">(61)</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="FOOT62" href="#DOCF62">(62)</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="FOOT63" href="#DOCF63">(63)</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="FOOT64" href="#DOCF64">(64)</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="FOOT65" href="#DOCF65">(65)</a></h3>
+<p><code>gw</code> stands for <em>Gaussian weight</em> in many
+climate models.</p>
+<h3><a name="FOOT66" href="#DOCF66">(66)</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="FOOT67" href="#DOCF67">(67)</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="FOOT68" href="#DOCF68">(68)</a></h3>
+<a name="index-chocolate"></a>
+<p>Happy users have sent me a few gifts, though.
+This includes a box of imported chocolate.
+Mmm.
+Appreciation and gifts are definitely better than money.
+Naturally, I’m too lazy to split and send gifts to the other developers.
+However, unlike some <acronym>NCO</acronym> developers, I have a steady "real job".
+My intent is to split monetary donations among the active developers
+and to send them their shares via PayPal.</p>
+</div>
+<hr>
+
+
+
+</body>
+</html>
diff --git a/doc/nco.pdf b/doc/nco.pdf
new file mode 100644
index 0000000..2dc4536
Binary files /dev/null and b/doc/nco.pdf differ
diff --git a/doc/nco.ps b/doc/nco.ps
new file mode 100644
index 0000000..a63acdc
--- /dev/null
+++ b/doc/nco.ps
@@ -0,0 +1,61517 @@
+%!PS-Adobe-2.0
+%%Creator: dvips(k) 5.993 Copyright 2013 Radical Eye Software
+%%Title: nco.dvi
+%%CreationDate: Thu Feb 20 13:52:08 2014
+%%Pages: 268
+%%PageOrder: Ascend
+%%BoundingBox: 0 0 596 842
+%%DocumentFonts: CMBX12 CMR10 CMSY10 CMSL10 CMTT10 CMMI12 CMMI10 CMR7
+%%+ CMR9 CMTT9 CMB10 CMR8 CMTI10 CMSLTT10 CMSL9 CMTT12 LCIRCLE10 CMTI9
+%%+ CMTI8 CMMI7 CMEX10 CMSY9 CMSY7 CMMI9
+%%DocumentPaperSizes: a4
+%%EndComments
+%DVIPSWebPage: (www.radicaleye.com)
+%DVIPSCommandLine: dvips -o nco.ps nco.dvi
+%DVIPSParameters: dpi=600
+%DVIPSSource:  TeX output 2014.02.20:1351
+%%BeginProcSet: tex.pro 0 0
+%!
+/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
+N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
+mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
+0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
+landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
+mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
+matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
+exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
+statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
+N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
+/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
+/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
+array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
+df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
+definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
+}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
+B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
+1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S
+/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy
+setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask
+restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
+/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
+}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
+bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
+mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
+SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
+userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
+1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
+index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
+/dir 0 def/dyy{/dir 0 def}B/dyt{/dir 1 def}B/dty{/dir 2 def}B/dtt{/dir 3
+def}B/p{dir 2 eq{-90 rotate show 90 rotate}{dir 3 eq{-90 rotate show 90
+rotate}{show}ifelse}ifelse}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0
+N/Ry 0 N/V{}B/RV/v{/Ry X/Rx X V}B statusdict begin/product where{pop
+false[(Display)(NeXT)(LaserWriter 16/600)]{A length product length le{A
+length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}
+forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{
+BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat
+{BDot}imagemask grestore}}ifelse B/QV{gsave newpath transform round exch
+round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0
+rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B
+/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}
+B/g{0 M}B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p
+-3 w}B/n{p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{
+0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
+
+%%EndProcSet
+%%BeginProcSet: texps.pro 0 0
+%!
+TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2
+index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
+exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0
+ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{
+pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get
+div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type
+/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end
+definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup
+sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll
+mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[
+exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if}
+forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def
+end
+
+%%EndProcSet
+%%BeginProcSet: special.pro 0 0
+%!
+TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N
+/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N
+/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N
+/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{
+/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho
+X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B
+/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{
+/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known
+{userdict/md get type/dicttype eq{userdict begin md length 10 add md
+maxlength ge{/md md dup length 20 add dict copy def}if end md begin
+/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S
+atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{
+itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll
+transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll
+curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf
+pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}
+if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1
+-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3
+get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip
+yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub
+neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{
+noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop
+90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get
+neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr
+1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr
+2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4
+-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S
+TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{
+Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale
+}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState
+save N userdict maxlength dict begin/magscale true def normalscale
+currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts
+/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x
+psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx
+psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub
+TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def
+ at MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll
+newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto
+closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N
+/@beginspecial{SDict begin/SpecialSave save N gsave normalscale
+currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N}
+N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs
+neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate
+rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse
+scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg
+lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx
+ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N
+/setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{
+pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave
+restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B
+/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1
+setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY
+moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix
+matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc
+savematrix setmatrix}N end
+
+%%EndProcSet
+%%BeginFont: CMMI9
+%!PS-AdobeFont-1.0: CMMI9 003.002
+%%Title: CMMI9
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMMI9.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMMI9 known{/CMMI9 findfont dup/UniqueID known{dup
+/UniqueID get 5087384 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMMI9 def
+/FontBBox {-29 -250 1075 750 }readonly def
+/UniqueID 5087384 def
+/PaintType 0 def
+/FontInfo 10 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMMI9.) readonly def
+/FullName (CMMI9) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+/ascent 750 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 58 /period put
+dup 60 /less put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5
+45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4
+7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7
+72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E
+BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89
+974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674
+11453BC81C443407AF41AF8A831A85A700CFC65E2181BCBFBD07FC5A8862A8DB
+7E2B90C16137614CDAFB584A32E50C0935109679E31306B8BDD29F1756946A67
+7A7C2D9BA6FAB9B20A424AA0E6F4BA64C2801C2FB5A1156CBEED0ACB95F697B8
+BC2A6E6AA7EB1F9FD8E3C9B1A16697EE1F0E7400421A7765AB218FC837A49365
+82DC6B2C877A7DA84A81E6126EE96DB25C17A207D3020A045DCDAA064360DFFC
+E3CD50E21ED239D2A6450D04F879A26443ADEB6A20ACC504989876476C7D1A74
+91564FEA1F4CC2C8C8FDF666DB537F315AE1886C73CB5B00E67E7B398A6C018E
+540EAEE98BB8136C4F044EDD63C33431D2CF9740F051DF365A4045D9D8782112
+7BB5D494D9235BA98CF2F30CB119F5A904C32AD04C960C43FC1F5FD8DA7D90D8
+93AFB59F3FF4F796481AE2A7548F948FECFC6C127C4D3F159B08F206AE8C296D
+EE470DB2F879EA79475E029D22D7A8535C09A18689DB0609CC233E5199C02756
+972CC9C94D9FCE264DEE5D75C8D651E4E2D1189AD9588CB815722BB5EE3C379A
+6F31C2E6AE1AE4CCEB29766190AFA20EA937114978752189F1A9F42B39483149
+796FCFA123BA9CCD1D9BE28289660BCAE16C40B5B504058D55CFCBFB4F4E3D94
+DDBF39F157E63946534DA81C018B1C01B9F10DDB55E0A5C2B3985ED1977C039B
+D6755EA42CD09E27751E159C30B93F376DBE61CD3AED34BA36A768F232EB3B80
+E3E6B77C4A48D408217818E398B83D995AB6BC871F20991DF57313D6EB0C793D
+0F28088EBDB7F38DAF7E01AAB3476EC24D7BB38A9889A7D3038D930FF4289B83
+F54A7BE1E2D98A3822098D2E4D067A0D400C20C0B2B4BBD74C13ED1B827490F9
+ECF48F8C3994C1C5AAC9CF783BFA4F307528F51EAB55F961808A42ED53F00C97
+72A432EAEDCFCFB622389BDA707B6ACC9433B065CF29EBFE93AD14B8ECD5F47F
+F073F11822C49B8BE924CDFA6348C3A75E9BB9BF3F31C41716B34794B28CDAC9
+4DB8B087E180A9B3B17680F73D9C12C8D86A922C948093629F5D7F542ED882A1
+692F4F6696865E53E3E2DD43B2D5E8C989CFAA5CA5C4C5999045E170BDE9921C
+BACD6F2863F5553EAB2BA2D4A9034729EC0C4201DE90DA89B0A27C5A5C974109
+4E37BFB3F46B3A506169FB0C68E1CAFC844419A8D261A1FD86A3BB78E33D5FB1
+CFC687A5975987CE45155E5FDFAF0CC5FD5568CB1C26212F92E88255F0549F59
+41B33125946DE43436BEC00804063FBF03EC796E3361B1C852EC3038D107F80A
+9198968265D5488B26D7670B22C2D75EDFFD1B7B4AAFA36DFD94640C9D0E2D20
+5BCA18683EFB91834A3939AB8EB60E2F09655BE003582634C52770DA9668C292
+2E02929D812EE2B0CC65F020064AD5BDAC5F5693B30508F40ED8E20E87149BD5
+8DD41AFF83FD1944804017DC5A04512E593549FFFAE501131CE2FDB65EFD0B8B
+33809CBAEE411B3941C241550B9C30DD28088708F1C0CC3125CBEDCD985EAD28
+03313741F67DB5744A87B381147D5BA70AE1145C27F794854628D87D6C1ECCA1
+749E3465B950175D3C3F40E344297BD92D3190041A4392033A79BEAEAABB8DBE
+CC14E39612F43721CFAE6F79074429221CA588AA2501DE520A464DE157A03AFE
+3C082FAE7628FC0C57FFC61D0330AE6332D20FDBB09BF36848FE05E782D6379F
+64F9C82C45402481B0A35989027F9756BF5A79DA2D96E10F39167ADB4305578F
+90B509B6891338FA1D67DCFD61804AA6621526B2EE4769589A2646581712AC05
+DA6E98D16494F07D612743058F54FEE516BD89A8EC3E03F9D7F905175D3412C8
+F7329077FD6EB25213F3CAC94BA0C3363B759401B6EF7548C7D709F3241D030D
+4EB46A1AE81863C412BDDAEA6084C37143A4C5E41BC646315B1CD09F934186CF
+49D1D8239E363A435307030BD79536B50B723A39DD763DB539F24A10DDA12BD4
+E467339D2D6DB177D6FC539FA77D2DE4118EBAC161E928749F7C753ADEF86117
+58619F1155C563DF2E11ACA8347908B98113AED58FCD0394150EEC94B7F986EE
+88BF7171D208D8F1774B1DD478F0C2958AE372D257E7EDF0F6B5D6059CC4D5D3
+B00FCBD2E9CBE79235B9A5A3E943CC27AABB58728C95C7DBD4F4A1F8A4DA99AE
+7377B0CC0BFBD454794398AE0D5F7281771FFE87B25A819F36E692286A42D776
+01794A43CA9BB30FB8FFDAAF014F909A369E34C2F6C75B7D4EB9DB0580E33F46
+19654443AFF8384B95600B86FF8E41FEFD032355626D60C7507C058EF832DF41
+194B48A36F11082D1DCF4723E21401E0C7447AABFAB4639B26E3D2730E348F55
+53EBFF39CDD03E06E2FA5FB379603C879EDB7E1A10F89695C9C47DEEE52BE0A3
+F446F187AB9D7E93E6F9387F21129034F36DF40605D28FD526AF82CA9D232BE4
+412567F06B38ECCD496EF40A7B243E46C9FEBA4F1BF4B1ECA029C5EC239353D6
+C0B100BF7E7DB33BD1277DE104F15AA19F37340A777741AD1AD693BC76DA48CC
+C6F83CD84591ECFEE375979972B0FAC4C10B625E4BFB261B9FFFA83C31DA0108
+4FFB6377466E9739E0EB64424BD9FC7239C7DD834EC6788A0F97FE714AF92831
+E1BA36A8A9E24739F1DC82DC26CC3CE28C210AA7C569B19E1784D663A0CA4E81
+AFF43E86D6F5F63778847700072CEB77A4EB946DC1F23DBC00BCE773203F76DF
+00F0B085F31420672974DDC642D885E95BA6BBE43E1CA8ABF464D9881CDECC7A
+E98E31B9754C9B72A8BD5CF6D4D214DBC3BA7A0CDF6635953F5AC1E7639C4A91
+C7AECE4C75CA3389C348F656FC2CC96C84C85A926237B6504DB51937C9CFCDAC
+B75C31ED570D180757884E27757783DB2D5F35ECC48C496CDA342D49AA947BF8
+2FDAD2F19DFE8CD1C76A8FA08F33681F3E12E229D7DAB45BE3A3F258B5ED4980
+F15340CF20D965252843E026803E8AEE736EC41CCA82167401977AB719AA2F50
+0B791EEAA82027B3C712D2EB9D14BF8F94FBDE2227609BCAC41EC08DE2BAC023
+28352F913F7DF08D4E1C66E83F764578B22B4EB7191E852B91ADCCB1BCFDB1F4
+E63DFD152E86FA9DE9BC8908130EFDE29CC4401339C05B5B9764CF8EFF14951A
+C6C13AF979546996BF22F2B96D3D585B90CD27DADEC78914DA48432C6ACBDD42
+20EF583FD41F2F6D6D10C3DF7DD077304B5940BB0462656E306CBD91EB9B756B
+7014B1884A36201EC582FC9345C386043DD2818FC301EF78791C1D7854F8FACE
+5DE9801DE9F59D5B4271E003AB897B2EF49501589D681D59CFFD9B03F722EEF4
+74ABD29997515DA3591496B62666744EA76DCA45504F8075C0652D6779DBEAE4
+90430C2945FBD60AD53B51DDBEFC7ED703C418B4B244C8FFA5A3C1B7600C5A55
+3EBDB93C16AC191C3A28EB2279BD3F0D67C826BC6A73D3C0AD02262368AB4621
+98A1605F2887BC5880E1AF2780330E0FD01D7CAACBB0F008A42C427F38236066
+54799594E515B289044BAC4DADF8B3686B4372C5110201221FDA923F131E07E7
+93C44BAD406838BA4D1C277EF74098B8C0EDC41EEDD58C195D7DFF5FEDBF96FC
+19CEBC6C3006DD2CBF76916B4298BB915663C2F61AFD7747E03A03BD7280197A
+9DA590E3D081C6F53DBF94E8D6FDDDD910A70AB18A0F6D48A590FFAB314D6CFD
+E3FB20C1F3C91063F00726A2C13A3D48323F9854839405E5A29D66A43E6E2B84
+A8B3765F1D817071D4D6FF42BC785C2D11AB2B9452F141696CE19C6AFB9777DB
+107D6E22D8CC6C26440BC48248AD8805C4329D46BF433741CB519B21663392DA
+5DC7FC9BF37E5BC396BFADD7263D09F6B4D69594AB386B7BDFCF3BACB97A0E08
+22013E716E642592A20136CF9CFD61D4E515D80E06A4CB4FC9D9B916C93CEA95
+B83B98C48CF36C1D02291D4F5C0419338D64E33C90C90EDD2BA3B96D70FAFE0D
+403A060CFF448D3E28A9B1E3916018465E86095BAAB4706CF7ED350D7C554789
+D7F4FE5F180767DE8739259E68CF142040BE1E2E8C6152DE3417C1FAEA7584B6
+20781DC4A9796431EE713DAC4E713C839D7A4FDC8AB6BFEFFE767AFD8B67FDA6
+943AD387E5D3BCB09039ADB64ECC2BE2620C6EC269E708DD06C311F450099E33
+AF46AEC644222E7DC4DBB9371EE12CFBC4F9B27AB46AD1DA96CE006E1DF8291F
+A550A93026CBFFC1087B134EC6EA76F5E109CDA58FF47338A0039A786A575F70
+B8A03A4F9C8D07A4C856C77D9BCC8E3EAA740172D0C2D0A15BA35C9E5717D7FA
+2691774DDE730BB9D7C70D7AE103DB8D35F3728470C76EBA0E670634E1A0BA84
+2FA102BAD7271DF2680D86A4CA6FC353869987700E5E3FD778165456033D624F
+E9B3E80EBF431ACC934AA0357E824B8AD73E222B510DE8445C55C07C8E5DE46D
+E478F832BDDECAF2EBB11941DCF84CCD887043FAED9AA90D12BC8CA9A0C8D94F
+8D3BF1F80B14B6CAE6BB1C6AA405AA64BB94D5A82CFEA548BA070796A02F9642
+87326D066101435AB9EB40BA9EA9E61B363F5F5E3B924369796E8B78DE3414A4
+2B79C6A13ECB2F34E6299658D07D2B3DEF3D4383CE009A927F0EF5C196652842
+D96B857AB5E905201E7E8BA21A5EBED1FC6863BA9A1A6E5390407F75055E2EEC
+512FBDB3E82CEA13663F1A1944DA072C765D8CED06AB461470C5723BDC1271D4
+4D1D049D3EB131743F1EC9A6ADDAA038ACA2C41D139DC6A84EC3C61AC7F1E559
+6155CC2F49171F6E07CF56D721D9728E87FC7DCBCAC46455A3694C765FE807E9
+9CBC2D304AF37E0F28CCB22F239541B53A4D24D09C662559267467EA487BD33A
+0BEFD4899B581D20582930703A868655C31BE935364CA6A95FBCB22CB714C040
+9718824DFE97929D0482430726CCB5A5307957DD2432A9B6271E849148DEB76B
+FAA290FF6D0B18DC5B76407852E81C105EC6CFAB0F620C6DC9DA555A33C167B1
+430A8BC338BFC7D75B7099CC906AD923FA107C74D3FBB719D77A4E5A685FF9D8
+56424EE4AA074434B809D894ED50F6A60A035C5223EA25DD8983B9B34210DABE
+718D7B2BEB293FF1B63CFB1CBDAFC69552963D90F5E3FF533A3FDBB626E9FAA3
+F3C119E5E01C7BFF832A033C3515BF049E29558B1DAD652F2888E339E67D15AE
+95F9BD14E3253DFE9072B24C0E7E85025B71096AF51C86AECB2921126A43156B
+EC812B32B1164BD9B2B947D503C015616DBF2024F5C8CB3236C1DCA653D661FE
+6B1C19A22D272A176B7F1B7F9E67AF40DB0EFD4940E58B2A050249CA4E55CAF7
+6ACFD84FB46FEF952D18552B3972D79D808B4C263B8C7E1BB647A2D03E102867
+630D5C3F2C917F765A4F6FB8106BA6A9D0093E27A4CB6049C2371287D94B5111
+6E7020776EBD744C6C920464BBBC0AC206033E8240017F8CCB112596ECD7CAFA
+89950CF43FD87ACA750C03A778A37FBCE9C82C2F5ABB135BB02DA8E8C0D24475
+3BEA9D79372D0022FF1ABD378C151417DBC69FE5C9CA38D23A3900E34BF924A2
+90777ACDC37930B67DD44A2E76DDBD9B89598D5F626BFD325A978D277265DA47
+38CFAF16E7FF1946E15F41CA73F7B4B02E5AE8FC4C37B115BC567E4EEEFEFC34
+EC8974B1465AE57759EDDA28DD38A9210871D35D331AE1BE6097C3EC21C770C9
+B25D040B2ECCC3AEB1EA1BF99E0C2C0F192C13BB9152CFCF75332E03F9CEC376
+9B8C285A35F53655BE38713E09AE34BA2DA9C06FA42A6FD2D00CBF2AFD2BADB9
+1571629C65DA38A431710CF5B01FCA68E8B8569922FBC3F9B64A5509B6F677AF
+1B97E91FFFEB6308AB68AC58F9BA43DB5E764021E75B56170EB44C2C0A7DB86C
+62B8982256D3621EBE3DB3994DBF5C5A14CF34B4AF3BD5697F8E3203085DE9D5
+84B0598169760B925463E93DC87CE70AF4C2DF0F4287D2F2069847BCCF7A37A2
+AD451D5ACE4DBCCB2E14D5DF38B226952E7446BF87BEC736EF3D5AE793304618
+D66D3299AB9F9CA1D13F134FAEDF36750046E27706C7CBD8E0877BB6276E5196
+BC2A355D109C0253644918E1CC11B717DE6FBDA201E769812752888CD66268F6
+4ACF4A9449378F9F9923D584BA1B51F33663BE7A306887BC14A37E3C5A4654E6
+531D6EB63DE3946BD8BA95CFB037991174F36D61D842071E6625605CAA350A24
+FE551025D10871FE0E2599A63900C8520EF4911C53A03897C8BEE152451708E2
+43FCF4E700C583A5E8DBCC03BF9CAB864DBD19E1760945DEA0EC0BA38BEA8256
+D3A8D4F70F6685A99C6BD2BA8B412A26C002D76138CFCC7DF6802931E5D97BA6
+0151F6A4C572235B4196B22B7B2D14B32886DF0D2CA8A277ABAAC53B63F64CE4
+E4C088192AAB674497E8AF81961359C389B51F4A257373D907C615030BFBEF53
+DBD99058FD06E352450B658478C10454AC8FC0232B70D5CB916981978053E358
+99D322A07294748BA427FFD1E45C909171017B52B7C742FD77A8560852D819DD
+8DD53211A14D7B2FD11E42941722FD3985D627FDAF87EB57326A0D290B5077D1
+8A4230BEB40523A8565F95E0D44F036A571DB698EDD9D94FEC9512369E5E5E73
+A3CA5C142617944F4F99C0697ED088ACAC007FCE06E5A6EDE7D0E03A3399DCE5
+362271BC31533866BA79FD1FB3F608B22CCD4111FFB1BA35D920A23AD157C6B3
+C3DAE11069D5E46DEDA7158C6478D8B8C0D9DC237CDF0CC6633911673C43FB79
+E4F9B7F27495201E5ADE66255BC2CBE9D9F237DECB62A19D62CB41A1C92432D2
+07F0629E913A71B3F1AAF8B8C5AC66D3C8605A48F8913E39C859E163DB1DBC8F
+0ACFEE80A40B6172032E95A76B752B873FB4DF23CF3A655AF1A1B88C8DC156C6
+190DE72973950565454C0A188A33395FD3D529A88F2B578356DE8EBBC12F04C4
+5B899F667D9E6F3A4EC6DD8DE71FD4C2E2B6D56823EE4E0526679D71FF1B868D
+F261489F06F97B010CCBE640E2F57BA3DC3332B329F7958394BA9777D833AB50
+005E8E9232547104065ACE33396772B0E0BD66D2C6CC54DEDD071E444D8C95F8
+6F88B31E20FDB80F77C83151B7E25BD3736B4F9BDC52EE78C41E9475E5A6D94C
+D348AB42F5E36B4F167D29EBDFBD43B03F77EB296B06A36880FF17D412E77EA9
+F2E7C25FD05E16BEC6732681EA21AC3FF6893B93FC09316A370CDDB86D9E6087
+F6042C3F9ECD742778389170F5F041329782FB9F9702F7533E51F355F71825AE
+2BF4F8FE50D413AC9A20C41B42537FDBE8DDC5A5C793D3760C1EE13716068752
+F0AF10812250BEDFB4D7133FD58F4587BACD572505C84A7D3802D27443175FE0
+0D89C3398B55176D8642AFBAB5CBCDFD6220C8488564B4306D74A58CD2921AAD
+73CF803C754DAC2F30A5324886E273064FA51781D5BC596BFEDDCE3982EA1AA2
+62CA7BAA1B16C6EBB99B2AAC4E6C9CEFB3D10F19987045C4918DB239E6E63D79
+5F44B9D097118D081153AFF96E5EB39CBFBB99A3BE30909F614869031358EB98
+F07A97EA78AE50375941B2474DB46AF3305F2B208D45921F93743A6CB8AC584F
+6BEBE25ECAADD5A789EF60C9F54446687E7B030DA3E5243189F02BA46BFD28B7
+DC14822E136AC7E40CE20458DDBF356488045C95907363864CD6943643BF0109
+EE027A3091C11EA392EA91320EBFEA3B857370AD8EB86D73F035A476F7058222
+E8CDE78CA1AA9EA69A8AA6EBFF3E67324C567B914134DE042D6F8F18A9373107
+536E8D90189917D343F5299024239E2EC1D2D177D82DC8E344A7CF2AC71AEC18
+36F139E7A4EB59A67192BCA9ED0EB25DE13032F6FEAFC3B1F4FC81BB0EDC41DF
+B9EB92618667C59EA499B788CD26C2137D70F1B0AF793AF5AD0D0941F2E746E3
+F5A7F0288BC1EE11E982EAAE763CA422D72FBBC0D754AD58FBF92629DC8866A0
+431213513744DB48E52EFC89C83FEB082588E4F30D7DA77BB4C90E011A8C6BFD
+78C82BDCF2A4AAC3F5414C57C9ED29EEE1D68060473C239DBA7010537BF1D2CA
+1310A26AD4F71AB9C414BCCF10203734AF782E067931EFDECFE6919D632B4CDF
+967583F5DEB2BE8868EB08D1B0C7B0024EA03AD592E24F47A6D28525C823C945
+743609B53849276DF9E112781D53309AEF17B92DE777EC90486B0B8F5CBEC6D9
+9E053FE75FABDD66A317EB1B8BF2982AEC246A706076E279D99FEB5F61F1CF22
+C5C8AFBCD095599A81E6695A191FD7EEC5B28140B8EFA448B6532AC9E2618FCD
+8DFDDD56AC4B38BD355F9D94665B605CBC57C31AE91DC4E37F1B8E4144E88376
+D09C66FDDED81CBF4B9E91DAF49C91A710EB4176F47E8C16C7A5423C223196CC
+3E3F649D0427D85F31F444FF93FCFA28DA581658DD6EF8AB329035AEB2ECBBE9
+A53C0BA8EC71
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont 
+%%BeginFont: CMB10
+%!PS-AdobeFont-1.0: CMB10 003.002
+%%Title: CMB10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMB10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMB10 known{/CMB10 findfont dup/UniqueID known{dup
+/UniqueID get 5000761 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMB10 def
+/FontBBox {-62 -250 1011 750 }readonly def
+/UniqueID 5000761 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMB10.) readonly def
+/FullName (CMB10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Bold) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 12 /fi put
+dup 40 /parenleft put
+dup 41 /parenright put
+dup 42 /asterisk put
+dup 44 /comma put
+dup 45 /hyphen put
+dup 46 /period put
+dup 47 /slash put
+dup 51 /three put
+dup 52 /four put
+dup 58 /colon put
+dup 61 /equal put
+dup 63 /question put
+dup 65 /A put
+dup 66 /B put
+dup 67 /C put
+dup 68 /D put
+dup 69 /E put
+dup 70 /F put
+dup 71 /G put
+dup 72 /H put
+dup 73 /I put
+dup 74 /J put
+dup 76 /L put
+dup 77 /M put
+dup 78 /N put
+dup 79 /O put
+dup 80 /P put
+dup 81 /Q put
+dup 82 /R put
+dup 83 /S put
+dup 84 /T put
+dup 85 /U put
+dup 87 /W put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 119 /w put
+dup 120 /x put
+dup 121 /y put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
+0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
+51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
+7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
+E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
+0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
+C01924195A181D03F5054A93B71E5065F8D92FE23794D2D432E1428FB6D5BDAF
+3F02C975AA4E0072BE5F8CC7D3D59BA3FD04709FC9E52189F55C7747056EDBF5
+F85CCBDB1DDE9F9163AC7158EE8DBFBE8D94A46510118ECE6A280C4872F448F2
+E6A6B36AE3224FA448DAF204D1C998D010C6BF52DDCC45831DF1EC22528B00C7
+70525CAC9F6BAD892E7D5C81295A2AEFA8A5E4B6BA2C4EF61FD3FECFA2A8551B
+DC84DAC597222341E762620D3D3C1A4AFF2F6D68C4813004318FDBBDE23AE224
+617F7BC1F3846943E915624D6BBFC555E2EDD013F190492F03CB64E5F2403723
+7A2D4652BFFAD1FAA1DBA4538F2C3E608367BF95E09B853A2BBF9930D9B3BE46
+0BFBEF05DA75DF3D8E11A09D472A9E45C626428A1A599C111ADDEC7A4E70407A
+014F792395A2A12303EF51698D487854EA15000AB08BCCA8B2E35A5018F5460C
+9B223315D7B838BFEB224E8D1DC9A0C1077DA31F5FCE0D9D499EB0507B90E9A0
+1F92FB5FBB8D40568C1E8B8CD6E1DD27CAE6E107AEAC5696CFEB19091B40FD77
+7A4B4F0F261702BFF5E2320C62EB5C6E9DDE142E9FC7DEAB99D90297AE0F15A7
+04C0E3B39FBC85CB6B92BDA7917698230B5374D9159807ED1D07947D95802693
+A856C84812ABD3EBA336B88CC8F37288CAB59790B0882A4ED6815FF6D7A1BB35
+5C7B7437D2ED76E806813478007886ED1009A1E73CCE210FFA69A20D6E05A713
+F6EFAB133D146B0EBD547CD29FFE7870973C1E71854C1C643BADC69974BE360A
+4CF84FAB098EA3DCD2DD8B2FAAD19429B0ACC7C312B03E6446F1C1D51E6AB45F
+72F11FFA078DF3196EA970B24B1BE607571795A2FDC2EE7194E9422C483799EE
+23E16A737951BB935EE2C2BF008B6190E0138D551E75C9E6D0EA48E64E9750C4
+BAAE32B894BE25D092CFAE894230430E43C585D0F06636C8D56BB80A4597A0AA
+547FBCF12821C20F0E62369E1A9CD2343B8A8647B2FBB1F4C86CAB1F7A14669B
+69DC857F9BC7538A864E523C2DF7C830315E0907CB17C8FB6E412A2A9E88317C
+0026A6A402B36BDC433015AEBAD775835E5ADB4EE75FD8CA06C199E000CEDF93
+00692F29C5394DEE45DFF2D42872B1370C8D4A14E144FF36163C849F9339AB97
+EA87BD445733162A34E609BA1E92DC92F9AC892E7A0B39AB0FFE517856491695
+56155FF0C2B231EF1314CD4A146EDB1CA9AF7DD546CACDE1E6B49BF0D4ACBC09
+55C85E2D38DF84E0B779642F7E9C26CE19EDBF328104B9E803D1B03F3FC24C4C
+9EF0D27C8E5AFA420A63981C000A0C1F0B3D3F853FF300EEC524C586376AF998
+DF4ED5AA16D8E298C159C2A3E33048D4EF192A11287F69B11BE24D49A033B334
+83CB8783383F92EFB9E3BE84CEF37796BA4211E534B0360970B9C57EA7CB54FB
+F582789A83113ADD2415B3F84AC4ECA15DC70878A32559198DAE67B083B0EE6D
+68A92511FA8FD6BA88A42769E3FBBBBDFDAD61F99A6C274B48CB044D16FD5953
+44F1503D8D1D6DBAC41C1246A71EBCEE5B1F0DCE3EE7E3A99792DD8FFBD94DD4
+3A5ED347A62D301B6739AD2BCCC7C57378C29FA5A83759E7AC6F1505DF6C0E16
+71587914F698608AD93ABEC43611DE709ABC3F1C0A1343CBED5F09DDB4FACE0A
+8BBA9DE5B85FE9B4365358DFE877BBFD9AF08BC60BAD7C41433BBDBA17EA9A7B
+92F76358612FE44F43A85588DAACCF7846ECF5C58B22F18120F895317609AFA1
+06E88CA1D73C4CD5098CF44093207C31F46977B6D22665AACAD5A169906640F6
+3DFFEB3937BD6CE1501C52783743F8F6110DF43ECF512D49A55379432CAB1C33
+7C38B7A38DDB91F0683A052378CBED8BDE4E6DC32FFF6D723A4D1469D32AEDA9
+FBF89B9604656DD0D44ADFAC39BA893808676E1E08444CE56F6CAFF3E93D8D41
+F164049193BA11AF94B43515BC79D6A538C00B08FB518EB67C27E73380A651DC
+4B244E8A2E4ED405EA5C7EEDDB09D44C458A883C839B98D9D6A2209516E0310C
+AD777536190ED06F47EB2ED61C53A2E0AD0CA4E4035324DE75F272B1CA6BC1FB
+B912807B7331D932DADA30F1975A1C9A8B55604EEE8A0CB514C6CAEECAF9C46B
+5D5563E8934B421EA1CCE3B96412D78DBEEABA59FC603CC6ECF65BDB5B66EAF9
+14B852CC04286EBEDD560713090BC417A10BB834944E007F45B61AD6E6150B9C
+10A6FBA56C1B45EA5F9A5379B1A0788513DD4100B82BD61D89E6841A26B362B1
+D4762EAF4FF3BEABD882700BE9832115405728C5292BE942F871661EB0E6B29D
+430CB271A090B6F5399184F21ED6728171B1783C982E61DB7C0BF90CBC1482CE
+C6982B4F0AA39076B64CCA5A71BE73CA65F2CB60B89AFACA957EF8E6429F2182
+CA36220F80EEC5D01AD7061DF45CC5109D9F0B7E2B6DB9D6C6326A45DC6C05D1
+E81B636A82592D99C7B7ADA0E958A0D7570BFF1830017A6241AD62C53D4CB36C
+583672FBA265142DCE545F4855CA3D9E528143AAC66EBC9527B76EE43B4F4E2B
+B209BD265D6AEF18D168CA7BA2CEC40DF86FF352029597A5A3B2941D467DF229
+50C788D4276C5B400F360AB596E35983262A215047C9714912B2E69CABC0DBDF
+BF6925E19EDF3A6638CF5794722C8B92C6DCF5853DF288B9DA52A2152F98227C
+FC04D3C318E7D942E9D33582A490888F0C1CC1A8C4474091B4956222DE467632
+33CF5DB7DA165B59A648AC6945687B0ADB83EF5B286CC469B2C9E4AE92ACAE8E
+86E4C62A092B8F6C05EB2ED346DAA7C573A03760ADB3CD55B6C794FF4463BAC4
+2F4A738F9C4237107C503A7EBF4F4BB4380DBB64F5F5C9B268111752FD2204CF
+F25085683D071FB4149A64426859D407936A3D1E2C627652C126D8F9264E2919
+960ACB9DD61BDF973492CDB1FD20EA81E06BECF5E164A8ABAC12926DE1CBC0FC
+6693737B4875F465B5623C899FE129B3A52A2BDF104F8B8429890AC870580C7D
+B078A9E26C322D1A8AC1C6B2BF340813D989EE8D054882B965905D33EC3F4278
+DC41BE055E0E5F73B5A1F45E9E69718F5E155B4EA30B28BD28C52C6C322F2E84
+674CE600D699CEE1D2CFB7212BD8168B45824890273A0AAE4757D112980DF2DC
+C3026300B4BBC9B081817AC7F4D48B309E66CC7455708C772A08EF6FAC829363
+E27AEBC3E7D0A91984C05935B16E102E81D6AAAC347E38EBA40125543263BCA6
+9C6F4AD6BF8C3A90279FCA4A99D9290C3B8E0DEBB4B2DF932F66FD47AAC3094B
+7582FF8265CFF8BBC7F79C8C74B1FF94B26F3817A39B5FFC6BB562BF6DBF9CEC
+31CC3BE4D7E431D41D55D96C4F020486F993781828E9E8850192F9F6BA350AAA
+5E292210B0EFA4061EC8BD6EE15E3FAA4AB2F54110D17D29BA32C0D28559FF32
+D164DCC98EAC78822D6D6AC6F4871D47290A11C83670374F072A9DC723096C89
+EA584D43BBB13584D9B8B1820C415DA2E0DCA1B50655E81B47B9AC8343DD8FAF
+95F4771ABF81361EBFA9259EE8901F31C21E95DD22FE04BDB77D23DA561FFCE5
+A7708647AAF65FBA2FD95E843D839E5734D4C08A215180C7244924E002A965D8
+AB29470A1B86065B4133A9A6EBA05EF1AC67DFB5ED8DD8C11450233D2624EFEF
+3E6D3DCA7E23ADF174BC83AF25A1D7529E52D39C27DA86A2DF4BE4F8A96361CE
+7025BC1954C75A765ABC95B4AFE0AF5474653E6808F85893BE6ECA1A37F8B666
+05A9E9FBAADB0DD86848D6FC48A1000FAB396F756513798E09D29ED6DBCC8466
+40181BB71C92CAAF8E240E16304DB9F4B0FB6880004A0F9AF6228E60646647D1
+669577DA709B4FDB8721B95B07B4599652A303FFCEBF858A41F08BF3B83EBD31
+74EFA947A8ABFC7467D6CC544B655A7BD4B6A4F5EA9BF11CFC9CDCE14FEEDEC5
+9116A3FEF962932F8B105BC4C51744916E8976815AC286B1E682D83091E9C533
+839223A68B9D977C41107F597E05C3D8C1C3E79542A990B0E8E22F34BBDD8E47
+B6C2CAF54B72E8F0E8A41DB343934FD2C33B6D77AF2E9061C4E76BF258CFD615
+30AEAECE9D04569D358541C346C922A01D017BCE85D4F083AA9B6939D85EEF29
+335D1BDCC9E6D5F7F58EC2BA2D8CE50CCB38AE6A2DE2F695B76831F8F591BEC4
+EC6391563D18E4169151F552B5E1601B1DDA6F93E5C8B5F4FE63F5E002AA3C15
+E0C8DE2C735EE00E9A2A01530FF37B7FEB0FB182A4E381CF1BBC80D743209814
+F99002980CEBCBE3E677005766CE1D0AF4DCC9F103499D1961771FFBF01B833F
+1701EF6EB1A381A287F73E519C01084241335905661B2E8B86B398C88F39BBC5
+09FACC1344E15CC7685708BCB3F43EAD4E24A84AA0687FCE0A2178D9BA84EBB9
+68E8A727DAF9A0B28A7CA3B119798603F9BBC6728C5A6B4BFC84C95DC4F36839
+C2649E364CEA39A4EDBBA4C0E27C61648D38CA46B64E8CE797CA3464C80214EE
+28A1E58B387AE0A663A39F04F57899ED62FB0E542EA108AC32490B4B2BC068F6
+2087BE9C9C3CBFDD80F2E632BC4C971A79A0A3C3A5607B997223A9F6373EE51F
+C58EBEE7756A391C91758A1F6567F532A5EB762A2927F57CF9F0E845E4F66B3D
+8100D1795B706FD32944CEF24A054650EC911A54A22F4F35E3034AC70F07C98B
+8DD43BE9F7D68C50D6449791F5331A189706D9CD18417348B9F296D8D01368E3
+2523FCC0EF33B998FE925B4CC7BE329B32D6AF791BFFACB60E4874412C8C8676
+34914A453A592C7614AEE5001DF3E5E8D9335A155C65174B940E1AE61ACBCBD8
+A41D7E1C6FC0680E094ECF65C60CE714E6EB2A1897D8A3F39FF58D64EF7E9A41
+4CD8E55BE32CE8CA29239A9BE3FD6B1DD5CA5A035AB1FE57CAFACB8A39B6A877
+C853BE6BAAEF5714982FBFA414EC128B61326B60D83076E690FDCBE3D2AD256B
+FA7A15B804402826684AAD933E94853CD0CDEA3CCA7DC833E486F431EC4764DB
+F3FB244DB99FA0CA2FA14DFA75A326385B3AF92AF8E4C6D437DC3DCC07FAF25B
+6C0F270333ED377B08E498BC3004C25C7A991DAC9A3E0D1FC43E2EB6996C7269
+7A864CEF35FE312DD8F87E37AC69490299CEF9B059EC7E7492D1D6E5640E0AC6
+35B97F7A629B6B7CDF3BF86D2B518EA807B03E4F79DEA59C84D98E4C94102EE3
+71A29649ED75F5ED02EFEED8064E2D54E8F9CA0C4284B987B81B7F41FD7DCAC4
+FB9C3ED70774F9FD09F3321CE1D0319C1129F5868DABBD183045984748C8A3E4
+53E085818729A1353B13C78E63E837DE483E9E2ABFDAD16534420BE4D7976D35
+F56B86EEB90F663E9778A6E0CD698E6324EC2D19901972B74EDAB8F4073E4F37
+89082F08735E8345BA167B2B76C77703C586CA5DAF41C0DD0E231184DECD8A9C
+DE8FD239B6CC636507A5BE6EE5283C06A1D8D59E98A31AA76F4D358DBC641DE2
+ECE3D9F2D262FE2E878E909A950A7642A3F59995519D541B96D459F24F12682A
+9AE61FC08CF436D9DF060DAAA90884A1281B370A2F824704B5347FEC65E14E7E
+3D212E29723427BBB12C1CB91B28CA47D6FA8259A875EDAE4B49C33B2F73938A
+784C1E7A7F21873CAD55A868A1451B070A3F259A983293289B131E07C903D7A6
+3CC66CEF8C4D2B6736282896A2683EEB944B67240CAC5FBD8A1392A875245A9E
+2611B511909A041846063E465473D41958104E92519C0F86706AD640FC6CEA10
+620C9718C4589D9D562D8810CF6F461B776D5A1B040F8272D43C029C2A695D2E
+86CF508C4AB11104E575E13C2EF56914E241279BE0558CD3D59D25BF13CE8212
+3D7AD1F25FA5A9155AA06306C7CD0F49E3498856318B0ADF279731E1769839EF
+98657EE73CF07B0585EECB67F5FF609E0E3DA1B78F6A8FBE2F2E0C051237AB4B
+1587DD72BBFD962E865EAE0CAF1A5C592F5019C7533BAF297C0F78F3287838D6
+CEBFC8B5969486A5134DA76B4961C8056E1EF1F2AD17F19D7998175D66B3149A
+2CF21CCABA281EA0345EF50C1EBE7004ED495C6D03963B639A66638A43C049C6
+DCD311B5F86EBC814BE42D432EEC87B861FCBA9C8729FA5AE87E20C5B30B8E5A
+BB41189A42B9853CA408BA01A559CAB722AAC3DA28E70AD79E1BBC8B6FCC937C
+180B5C2E20B03D3FBAC60C83F765CDCDB3146FE5C0B02911F6E120D63EDFB0B0
+86CCF83C2AB62922450206D3701588B54A8B232126BE120432E6BB2E25C50B13
+708D742A44E20176C54FF89F4589B10D5396C94625AEA1914AC168899FE7AE9A
+7D90DA67A5EF3DDA25CCBB18DBAC3AF4AB889528A381542185821B96CCFB4302
+987611DD5B5B8514FDD7F5148D1BAC9C34567F75EDAB317E0B8A7A76604A42F3
+1D46332C4791006DD1AB657308CDBBC7314592707EB163326E345C2C5EA05B33
+01FEA5B7A346E6B1B6EF58B692150C6116B149B6A26B493674337A9C1CB4F42B
+A7A80AC587F9BBD7A487F407EBBF9978840A01B5E7E772DF7EF28481E7AD14F2
+424816AAA958320A0E6F318C757A474F7B05AC0F570094372CDE877B479AE3F4
+90C257A2B3F443DE43D8A58594BE8D4B5C7E5E075ACFB1AFAD4C06415266E168
+FB38C1CA256287953EDAB1D40537A3633CB52FECF3D35BEB8C2C6CBEECB54BBA
+CD6E043EEF68A21D7639FAB8D1006B1119CF92350D9773502F7554B4B3036EA3
+D747596506FC674DC01ADEA9B45ADC43B9E6947235E9BA30FF462252038D91D1
+D908E9132A946FD03B86A08885AC44CEE72F0E27AA63A901F2DCCB86D87702D9
+A66F35F06D6640115B075B0260FB116E24E795E24DAE988CD48A95FFD3116E92
+63D02221D272531186E2AAB74496FB78A4064C9C9772608C49D46E40FE28088E
+B5109171E7AF69599BD8BC1186C196EB11FB4132F5C9FC1395220392E17B66E2
+32215E54E9483196341D6DC691FCCEFBD00DFF4C095FA8AB36A374BD5E1F5082
+730A698AAB7B57A5399196ABCF7B7963E2970CCAC5E9A5EC552CDBE1E2EE1968
+B81CF5BDDFF9D385C9C1FFD726A0C52A4CB0C8121E77AEA16157C1EDCD1AEFF5
+5607E8F5C44072DC54332B95AF28417E2D45B4685F270821EB6C455AC147F938
+50CC9F7F2006D933D0664AADBF5D7E3E6DAD57527AB59DDD13BCA392B059FAD2
+E7833AD00F62EB89CD7BECA9DD479F7CD7C981859EF43CBB1EC1681081B58A39
+2CEC9FEC039082771E1BF48968431F72817C8156D0D6B65DD33D472BCC49496D
+1F5FB1796892C6A45BCC65BECF41D8604B811824739647D87A7B28FDB3574478
+9807DA2557F411E0BA7479F31B9E3BBE6F3CAAA653883A9D2BEF2073F47F057A
+CFD20BE1371F17F5B6F0A9520F2EFCC3C04A24EC272C43E1F587ACDAFEAD7076
+6139D04FD9A50F67301D7765109C76D6270D2DECC94017A877EF386AC7F625C0
+ABCA9A6D15D71AF7A5889403DDB83EDE87EF5A69EEA97995CC1601160B296750
+32AD8D65A456F5471AD4536F1AF41A4D370203F897686CAE7C89577D3A843E90
+9C08CF3E3D489625256DA5E0984BF971E0D8D251AE5B09C17883CE07750051DF
+770B920AABB2E80A4944EF613891B4EC3F9E214339AEDFDD5DD15240933DC82C
+D878BCB743ACBB562A41BBD86191E1129718826681FD12981D4159C7432DC3D9
+AD4C6C478EEEA0A34030BDD0B9122E8AE5F0B473AC5A48346D56C2DE42815D19
+FE378D252960D3F56654B31C58CBBBE0D634FF6EB81295809AF12222C58345C0
+4595590CFBE4FD924113743D5E41F80796B2C5CA077D8042C15732ADBEB4AB2C
+772E80E7C490AA9104DFEA7D363CCEE8BDE3644BC9E155CC433060C749151A6E
+25E7A787826AB0187BBC8C1DEDC1B91AE502256231B376E2B3FCE63EA61889A9
+FDDAC13FEAF57217EC230CCA301F89A1016CD5766B4BF11115560CE3287119DF
+E0FE2FFE4CFA7B41DBCCE9E48F09AD1C3DC43E4C2E379C5976ADA0586431588D
+2E7915BC1DDCDBC1B006CFE5A032B95CA40F19FE0EEEA857328A3AA1BE8F7AB1
+DBB2FCA49033F72FCE87D63F2ECDC3699035DE6025433AF9B61C3966A802421F
+AE89795551B076A423CD9CF1EFD9C37B5AFEB19F225BB34C1B676592FEC36ADB
+F38FF8E7B60DC1EC13C508DE4AE8DFA21E23DB7E05FECB7CBC4A049B275EEEC2
+216280187059B0BB02205C95B68BE31E7900FF1ECD9957FA350664D60210C5FE
+37C3D31984ECA3C3F58CE6C2968946BB397F1A66D68048F44664D1AC519E4DC9
+72F44474CB35738074BCB9FEE4077CC0C4993403300CB5AB595D7C58123CE01E
+1590A3015450F98C6027C4256A7CECA22D415FC62F2370D53C1380FAA37C2B30
+C76426D68344541E7A392ECA7D9932DEFFC819E8A7270A8D6E9F9D387B54FF11
+F7B3620B4AAD325929957F3B4855EE8C9C981CE3AEF12DDF571ABDB6A97838C3
+035D741867F10DE07A619D424C8050CD4CFB102466D7670D819102A7607FDD86
+52EC98C400357306DE513BAF898A8A7B59B8CA44A0E9D31BC613D8DBC8B16C10
+BDDBF045A0FB4CF91958BD031657521A06A807263E359FDFFC253949C2F28966
+45CCE1C5137D6E02761006E4D4475CE68EEA1EB651AF2D23CEE47765548A15F4
+46E87ED99371D49C62AE5224972FC9193657B0A019DA3AF8F6E1CE4409CCD433
+9FE54CE6CFFC0481A95886CB7EC7AB42BFA0EEFE3AADFEE0D5D670C0062B8345
+715F2DAAD5FAE2B01D111F60B800B5DA78D90275D261E8A5A7A7A3F71ADB2C54
+242BBD4640B2D5EBE2EF88172CEFAC1D8B65E0C3707A59F12855D3024C0CF289
+CD7998AE1170DBDA9AC3B35BAC3014E7AD9E23CE504B58A966760EC038F69EAF
+D32758190720B9411E5FFBCB67E8C09BF105D6202D23D5BC0217CBFD72EE38C8
+51FA2B60204A0B2CB619209F4B17E0E75DF3BEE8F4052669C3BDFDD855B9967A
+331B66B3DC6E3031796496EC80ECCA699D545DBD6919B44D7D120EC9D8BE58FA
+2BE6ADDEE2A72866497F731CCB4A4105F27511C81543F167D2A7D1BA368222D0
+A265BE0D28C70B430F6812DCF0CC5C263F14A296A21C7FBF3614D604ED314774
+23F2C5D631CF0785354C93A8E17A920073158930338B1501CB6B20361D6D32ED
+7C0ABCBC89063DABAFA06F20D0A26C4C7F544721403D3283F7369447B0C892D0
+2DA951336995D21C17BA0C4E2A7BCFAFB75A7DB1806E81D70779E9B7F9B6B76E
+114B1C858494D8C4F30CE601D65A08107008F9A6CBDB8C6EDE0EB7D9877991F6
+67290C717EBB730ECCE7854C0EBBC03709D4A91036E6AB69632AC2834514305E
+8EB6E550D7C6E8988476F23D8E2071979B6E460B2A7BB55E35BBEAC1F4977DE5
+09E357DBE89CCE767DF08C52AAE3B6806CBA9A2873A7A63ADCDEB5460FBBF725
+56D73FDF101F4BF2F39B2826199498C0E8924A809ACEFBB17059B6DBCB14621C
+B37BE482F9F84DBD7069BAB9D553A98782C30F4FBCD501CEC067AFF0DA3A147D
+3F279238A3A47177586A7B6860A9CF000D4D9BC042CC24C3E70533F826041474
+286D8DC4F8B6AE4A844BED18BB3BC331365B69E4B2E3676837047CFFD7C5F625
+1F762D22F16A678FF5AA38570490E07CC72D5B49A6E58D188A3C4D0BBF554E9C
+BE3A4DAE664FCA78A59DC2D224DB964CE5639AC9082DBE13866405938A330FBE
+4A443855E934D725785906D4F8B2D01BE1B21CD0C4B6DD1F9AEE2C617BE25173
+D9C0204E2EE5968452B801899F8EDB42EE9F382E0160CC6CECAB80661ACB3704
+69E2050A629446424D82858D5202749908E4BC1528F58CC1210C1D06C5EE7535
+6E25F46C057ABA9AFD5D34EDA0252AB3910A089B9211DE8E3C682C9601D0E0AC
+A7BCEAD688F38153CE3782F65FF122007B4574C97E736CF4E194B0663F7FD362
+4EC11D214A04FCE99C26D24D248F20061AAEAE15809829A0B4E94ABB4E831DE2
+DBA0FBA7EE7E62BCCBC7069F91DD95AD9562ACD4FB7696DF3CEA2580F88726ED
+64D37D6C9FF2BFE1F1EDC442935581FFF30B9D40AC6B22B9722F940B95F0421C
+38BBBB419D6AEA38553ADB942C50EAB160E2EE55FD32443D093184E8256288EB
+54ACE07EE2D5E0C003D86EF2E4906B99F06A6E34DF084EBB1F722259DD6347B2
+BCCDA2BCB7A8D6DD52686A5154A2AD1765D4DEDCB84BBE58B117A9D418497C00
+E97044D359B47AA40F3C45439DA2709E3565534819A2CE5AF9EC1A0979565EA2
+3DFD8B62984BF618456787D91277DBE32EEBD3CD48D00F601A47CB708292FDEC
+F8401FFC8EB49FB29FD19DABF3E4B44DAB34F01ED31C680B98A3453517F5C122
+D03A9A788235AA0847B7E967057ABA1780C2474E39C98215B7C8DCCE427526CD
+3DB9A465E9B6DDD1945269A65D51A3506088E8F8CA05BC62E0B00A93FCF8B989
+D571AAF338F3A2DA4D30E15BCEEDCB242067BA154F1ACBDCB5AB3289872B278E
+F93E78763E854592E59DA5B8EF5570B71AA36923CED8EF9C765E31F7A36C294C
+3F011A962B802229B5109D4CD57D0FAAB7996F373FAEA49113D5E493C298926B
+26856182D5D88AD012CA67B1CF3D776C9D8AEC99138E0481C6061BFC98D3067C
+6F907B9C13E804F9BC8BAE3E744C9FF50D5C0BB7A3DC0CC2B81622219F6748AA
+AD425082E9C1874D39C30E7675CD00EAF50900A75E90D22EAD6B3CFFDF5596E5
+60E828644829B06C8C8FD8AD53FB22CFDC74AD012E28CF064BC546376BFEA6E0
+0987ED69DEFA944EDA59E5F3AE3BF5ED74076F822CE48257D4871E186FFF3B67
+55F207217BBBE83EAC227BADA1DE61437C90B50B01BEA607F2D566736390DFE1
+EF2E9DE7E5989D61A0EE18C798F05C12F9F769385E51CFB6CB6858B407BEA33B
+5B9E7B83B9BEA4BB0EDF1A95B649BBBC9AED169580818A7E0B21EA02A12D6AC3
+4F360C206A799B84004889244E646DD7DAFA9168FDC2FB034A9C194C527449BC
+E8058EB73E331C6B2BC71F9FEA1AD71B476786382F94D0728F1EEBC5A595A487
+5397585CA8C7B742650422E1438974DFC1B5938F943D9B5685B9ADC16E9B72C2
+9C0B7A875CE90A5042B2B98544B4B31E7CC255AC4833F1D7BF9D3150BDF27884
+0E5B6B4C22AB2863AD4ADDB7069079AF900FF97FF3002AC7B8B7FA1A5A64F79E
+5DFDC784F43FAAF6DF2DC8FFE2E4EF60A56352F6DA46805C916A93EB822EE7B0
+3467AED1DC254450B636DCFC5A88231236E664A924A5FEA51E1F9AB32DC839D1
+79CB9DA782D869BD7A3AE94A0F0D0A31E300A21B5810911698D165FB7C5925F4
+296D444B4CE73CF22A5F32CCA90223473258A93BE717362FCD2657C1B76097F7
+2AF4B74A5B2E88CE788CE84DDA4C827EDBFB96BD7F37325DB791F6514CD14702
+69C4B52C6FD026860989CC13090FE510E818B2CEB4375AF0BB76FA56699F1490
+AEBAB31B3C5D74763F0097B4DAD3123A3B70F67A32FA04E4932F5DD7EF1C41C4
+B95F67063E9C5BC42A51F78F64EC825DD79CEF1D6C55B3F14B107F5B1F92BB54
+8EF8A94807592EAD3D21C006487B96A32FD991A8314454D11A46F9B11CB1B3C5
+98BAE00EADA34CDD46127449CE200E014661D7E9A207F77958CBCFE0FCBD0A31
+8A43D0342C4D87341AACEAD4215554137434DD7676622EA541DD767C746745DE
+6AB2082A9D64B50B488945484265E4C4F8645525041A82A25E354FF7CA6F03A2
+D0C90DC77C09F9212F4A8D42179C03F739EAC73AC4FB43242E2589B3579971C3
+5062C69D3E9DB9F7F16DBDE900189676FE35B6C4422D43A8C0D74FBD6E9AE253
+083CED23F0923B33197180D23BE6D20649D9BEEBD8987A1126C9376C77BA56B8
+ED4E7AF0F47E01BDD09A97518CD0BCC95733CFE1323DB0F9742FEA1EE9E85804
+E521E88B9A5CCA7A8F027E0F83EF81985FF8E29AE51E1A7EF7CA243AE4F28CD2
+FE86F09C5A2856ADD4E210E63C79C0C96FF46FC5DD21DC758A48E0EAEED191C2
+0EE15735421F31C2C36669B233706E93024255F97815719C4447D1D7C0B29C32
+8C3EFE7A5931DB7DF87211F0B4AE646CD6CAD60818F90632E54F8CCA6699129C
+6F180589B23780C1FE00E12646803AB913F3985B183D0E415038FB508AE882DF
+2AD58D5860E79D00410DA6C752E8FD765DB378D6597C9069D01811FCE8729E0B
+A2BE29273BC79BFD34E98A96A451AE3975FC3780B98CB9488CC7467A1E2244F4
+50E6420A77B45B5645FF4F5FD01B656BA5C60A5011B453DD8D9B18BD980D5875
+34C086CCB8F90100B319737000556CD908D5E989DD12590F0C9E97B0773895FF
+A058A043C063D963E9C779B0E1D2C8818D5FF42BFAC9365155088E1E55242676
+05F81BF40C9AB1ED966ED92C56A684C73AABEB58822AA2F2C52E03256F52551C
+57DEDFB9C1332C5676D925950C5731C0DF9A654A064C8D02BB98CC2589230C92
+E87DFA7CBB0F063DC3795FF4011DE8D7BC860BA8CA7CE8312A0DF611639B4F2C
+8BE4B97754C8FBE7FC5FBAF90687B6BE83329DFC53661303D47EC0BF72F932C4
+87EA4225E8787FB3BCCB6164196D017D24B83B853533717EAD57BAE19ED766B5
+B00752F5009B5B1E8BC2825A42D10365E8A430EFF74858EB586C456CE369D673
+B7B27FA09FFE2ED5551136B80CFCA1978852A110D5CB96F986FF7CAECCFFCE4E
+6BC6F0F47EC83A96F1091956B9F9F80E42D7E937CEDE8DD091ECD230A0A0E010
+4823C7EFE07FB2A75A852B080B480E37314ADE9FEB8D0EA2FDBD0FD25F97876F
+D11AC241AD43F2214B928879E98921E493A2689450470BECDF6E382991CDDB13
+2885254FF56609A0690FC4C861536EBB5007E4BC95FDECE2F9D3FE0617FB9CAE
+0897196A4927EC1A34F1005AF1409BA9C3C0C26E0AB1E32669111C0551CA28F2
+6E26785E9943A5DF14DE6BC71AC3643029D076DA91F5DB62B55B17BD7302FA0E
+18CE03BF43EE76377FF2CF9BD15FF1B3EB5BE641177CB5CE4D39480883CE525E
+BD9349C7FCEE1F220DEFFCE538CC5D9325F04E50819C8F53C6DB3108CD599A78
+92FA950D16ECA6D7E9029EDBE43386445100478B82E2972A222ECF3554580B6F
+18852400E3DE5562AB1DA1AD0713CD26F1DC15DDE9DD04F105A11108E9B2AA17
+43BB38E51662C85D078CC98967D8DEAF9F529CF00A0BEF2CA2FB642F2DB7F876
+241898FCBAD2979BEC16AED3B812C83E95D9118CE3DD8DD35AE3EAC0BE3899BB
+7D7CCF5523E92F55A196FCD7D5397A9D864DAB878EA75B54A1E7EF99E1D92892
+0101B9CC3B82C679BE90021BDC8B93AFC70AF6DD27356D08F3581F9F1279E15F
+D651D61D356969E1B1BB14C8F30712EDC15946237AF3D03593D580AF83EF0C9E
+E202976C329A92151C4845AC0409838B5F7B54C834E05C08BBBE329A77D43021
+BB3357EFEA9A7723EAE25E0DBC992CEBA453425F990B594176C64067CD25D392
+530342D9D01D65E86299BD44F87DA3B78D6F6307F09432C8200CDF9C192404DF
+DD5C9457133CE3842A3ABC78CA7C71BB61953F552693A95F5C7EAC682595E39C
+ED0264C3FEC7A8D18D5503919598D5B01A1B02AE39BCE9D2B187EE1DF4E67AB5
+2493D37F50BE5DF513D14F7584A845747A104DE79289C170FCF31238C5EA153A
+CE23E3F138008FBFEEAA37F9AC7D38BCF5AB83E0AFDE0E4972848049F91D2831
+B0C346E8C9EB0952DBB8078238B24856CC880C11E5053818756F11A7A16362FE
+E326BDC7917ED892D8012ED757CE24139474F1FA2827397303930669351DBDA3
+158D27483397B13B42493DEE995EE562054CA3DCA222A87C402673C7A03578A5
+528E23BBAE28B3BF0BD7E7A1DA5FAE531874AAD3097D371F433004DFB4289C5E
+33E0012EE0B58F6194170C3A514DCB728546055A90D6F6985714FB05286443AF
+4E756E1954A7D183543F3C750D7DCFE0740596D2C5173636B8F8B8A2FF5954B4
+39D858B3BFA104259A24AD98D3CE7F16E0695AA0808530C03D8048DCDA919902
+544D19655A617BBED547CEC87504BCAF7DD2599EAA91E5B70050AFD8C54E8599
+A704E1376EC99F6F66AFEAFF9D9D69668E523BADDD63E534984B66D0AE9F16E5
+6D35871F61F40EBB75EEF891E68F2F3ED802042C76E01458F5C28692C53B4241
+4B3BF7E27DBABA707B4845F767763BC51845BF28B9A73AA36A868AEA38439AAA
+5D1AE47489A95A51B4CDA9BFA4A36FA883227564CC51E780C43D8CF57A99AD40
+F2E7CEBB681971B561DE948381D9D843022607D83A46C8F8F8B04223701BE602
+7B522256523D04E0CF20F57AAE4C68F8F14A30B1C3E6AD87C7729DF51B3B8A1C
+74460A8AB55AA599AB290216649AD5DC02400298FAB0015204E0AB21C78E5C81
+F9CE63885D478AF2296ADC9DA3578B776BE0B2BE8E4C495A2794E979509F7119
+EFA0282731AF74AEA1D149A404E677F0A6CAE0571594C1BA9658AC1B1886896F
+C1D888B097780B8E2B657C4DCF63009C159EB3C9D2A10E29D6FCB7B76C981235
+051BE1B57D4C237CFF0651F978A098C81EAE5D8BDA6BD30DE697BDCD4A399917
+119AA84242E855FDDCF3EED0740C035288C1EF5443AB8947CA8B3324CB95024C
+4005D1ACC5122E10E6A1FED5557A7FC46ED211D39324E19629F5D0F2C1BCCBB8
+92E31226EC70CF5FA3A1E5FB18A92DC12CA8B82EEFD12057192AEF5617F5AC3D
+E2FE0F546CADE65CD111B83B1E3E6F31F26780D4D7E810AA63783357B92D29AF
+91282443D9E3AEBDBA14DE9D963B8E859D3317F4F6C07E6EDF0A6F7485F7D888
+4D93F0AF8B0E3411FFBBCBBD78CB0FDD35A83139DBEF4E3C88D8714795E9EB5B
+3C8FA23894F839A6191965437384C4F9260EBB3FEBD068D131C7F30204B154D9
+CFD6C73E9CA1A8A4801C7327218BB60D3FB916A8693808FA2C4FDFA63A4EC485
+25F28A7999E60F6B534D467A7720880F243293EE8FACBAAB1E3CC49D458B294C
+0BE5E700C28E73BA63E24E4D23A41A5EF4036EB35458B7D6330D59DB15BF65DC
+F639837AED7BF56CEF4E7CD72D0FE16C384124A40D2A4D9C33280399B4692DB9
+13C81640E7F0A7E71297204D8B3C50602EB461CF46CB4651DAB2A7F7F5163CCB
+D053E2AEA0392CFB2B66EF3F3E5BE0630314892DD18B09BEDB5683AF0EC6A463
+C73D383E0A1A5B8E138849C7C45E9CC4B52E9708975811A754B96FBDF55FD721
+3ED18B3893AAC40A34776D1A1074FEA2773FB8C4AF8BA26779AE91D2F2967DB1
+6FBA5105A6A29B9935E771C051868E9EA1D40BB6AA7DA3CEA3BBAA9DE6E912A5
+65BD1C94FA331BDE2B339D203067CAF4AECFDF3AB24E2B00E393F05AD4FFE6B7
+7056382165001B521F1D0847C3D4676A34DD8B496E238DE95C6274F778E8F988
+D0A52A91FBD7795FA257986F331ED3E61D615A4F72E79175AA00EF598C8AA0A4
+249945AC1D92A7F5A0AA99E70A61BC3CC4A44B1A08FD0F54E3F3F06BC033B3D6
+2C2ED323BF221EDD0A6887113F738C522E12C033FD33CFB4F605D6AC1AB940FE
+7B675C02179F7C424C8F1D8DC22053CD983847D8957E234F9BCFDE871E175399
+1C611A01AECE3A55BEB344558AD3420F33BF492A9EB280BBE0AF5BCA1DDF6DE7
+8202D44EC5715B2B09BE484709A8136C15D2E931874587506638CE10AF4577BF
+9941F36F36671984D47F947DD26D45BEE77B40CE4026E5ABBB30F720CEA5B2F3
+5344EE0C2AC475495180DEB45AB4ED61062E99DB746C068647584AAB556017A3
+ED9729EC29C351E75CF7969FE9FA45AE9A49A8DC4B4498FE40C4F8A4828C5CE6
+D82251903AEA03B2C46F05F84483C5EFD44B8DE85DB73B607533FE4E2AD979A4
+A62E3AC8F338E3D2170F6C12C6D2B7FB7793ABCE42F1AEEF912B0A37E462DB0C
+B2A40C2A5AA989E9B1D4D4E8DEBD405E502DF21B6234DEDC4B187CDC427CFA10
+486728D950AFDE9BAE97726352D5B0A0AC7640C6B0404DBF82D161E2F906AF0B
+44443A89A504AB57C377100420F26B4CE2D5ADF8778D9DCCCE1A2A49D35FEE3C
+9DD63D418BDDD066D2649D0AD4DEAAC1D3A3F8F2E568F8C4BE770B2EE686BC15
+4AB0A374AFA95F58353D1D6B27D2398EE5117907EAC51BAEB9F78A9FFCC59D1A
+EA4F80CF83C2677E4D88C1F26CC2AF9876EE7F78B2A59B0A19F86DF1CF313797
+49B331CF022196318B965D7581802F3FAB937C1312F9F8587461625A9AEACCDB
+C7A60599488BF4791521AC83571EB6477C14412A4B30EA92BEB95DF8BFAE6276
+F06B02AACB0283F36204391EF9B49E013BCD2EB5DD9CC2B73B0C63367B8622C7
+AEDD3CC6BB9F4D88DE17F0C594B8B5F468ED3B2D1B6D6CC9DAD54DFD13066818
+7CF2F5A5CE2ADE20C1EC3A22F1743E11DDBA678E6DAE545D73E45BCB10B4C262
+D90532F360835616938642267F7C3FB3552123C08D817B3ACE3B100C7BCCED41
+7415AA71E16BDEAC287625028C4F8A86E84A91D8047D78B17C45A9FF249B6467
+0BF3DE20D0531B251AC011CEBDE0CA7F7BC440AF593FB26E0EFCD83841AD3732
+B847562E4583D07D5F90162206CBED91FD135A0DA4955C9D4A12BF1A2FEAF0C5
+A69456900B8525B33D19C3ECCF41C16B5FA53801AB75DC0396E0802A5CCEE04B
+C66EEB5994F4A67201103E9DCA7E4BA6DF0EDA89220E9503D935808865FBB464
+F09652E4E13F6CA15E9B82A002F5F949D809F0B4A1E6992B405317D4C4583ACF
+AB8FD75FB5EA90D5F906295B32036ED128F388A05C5A3128DCD96FE68AACBC71
+726D286E63FEF63BA4E8E9BB7278D4F4AE140FBE89FC767EB132D99375978494
+233E9A89343A3AD1D0724E4DD6BB389DC4026FF48585345386F3E3D205F4A4CB
+3DB01E5581BBEBE2968A1F3192C63485819F6553C32E59B5C4FC2FAC8169E370
+9603701B25B2E120840CDB4C7226954DAD62ADB2C8A522281A2FA9BD8A16428B
+554FAFA59E77B504F5AFE0BF37BD45D1A5442AB1582211C8D452A69A0C1FD6C6
+DEC091D52765436938CBE9D36EB79E5D9E7A44C9F85C4CD2F5F6BFA957CB0284
+0E6222E8F0E254B0F00E0DA62119BC7D65A71CB20DD137E4965402946CBC8861
+EA3C3BA4C376DC23DE72799A43B308BBA0DA96CF50F3D6AE745EA569E7DFF19B
+0504E54BDA40D900CC216435775D70F12890DC8D6DFE3677701F35F47AFE4977
+88E959C8EF512ADF875D0FA795361CF078C256AF08594DFC47EF8A5800B55787
+EF6A13484D6EE35015DA0F6594E1B35864F30ECB4DC68EB8CDB33769EFC18486
+B96451DCB4A2CB30A168F0C60C50A533AEB8BC7F4EDE5A5491459A9846B5764A
+153074200C3E35751E87F94C425745F3E131E38C9F9D064C86F7824B13B9B138
+B063CDF0B27CB8713BDD0B3FF2AAFC3652A6C8561E9ADD735FFFFF275A0A7A86
+DDD9C968AD1F84F3B11F40636798EE25648A8593601347C1FD0089AE946024EE
+5628CD787966BE6ECC00EB52F967011847E87D7CB02E83F5307E0E1FE28B37CE
+5D4DF6B87FD93E42288CFEF252DEBA1973D38FF678F69E14C4EC5760C980F534
+2E95AB5F8C12CD3AF5B7AAC741E48CA220C2CC9AAB2D82A6D339967429C5C3A6
+ED5FA51605CB8656F163D96BA5B69F49623A6759FCA187AF5C6D810E01A1B8EE
+9BB2CD0A79D47DFB3F1AE2D665F4AD14C9108BF06B144664160EAB036E451321
+3A3A8003AEE884D8FDC3FD3E83ECE2A3E4D486448DA0C7118FC776E348B14C0C
+D649AF6F7140A1CFE3762908A168A58A9621A8DFC255B689450D59C5E732B940
+A475DA81E53A6548D39AB3CBC4E2E838524DB69CC52A685C69932330E011DF55
+66D53F85D2C8A8F26A591DEAF5B17F66D08A9309D042149A60E7DA88B54CEAE3
+25BB21E32CAD1DE07BFA72630123FF4166D65D8A174A060FCFD8EB3FCE24825A
+AE5E0EBEB1B79C53620EA52EECAE177A8CE4E0ADD660A7D99D42C18EC86FE5A2
+68EC8179C51EEEFB01CD240A8780E0F99EB783362816FD6CDECBDF4784D18C91
+1AADC6CEA0260A5AE8AED38997D4621AC5B2C819E50B314BBB0E2BD418AC23AE
+05D9D3811D9269C5BCE7A21B000A73A011123EF96D4CE6268315E7EA637EE916
+E88B3F7F6FB1479BA1E2C809615E2130F62999C1FBFF68E14561AE9FDD2F37F6
+9D4CB601E0C43C1E3EBB9D136FEA5530B59BD5C44599FA78FFD854DB9FB14520
+870696C80A2D5FBDE4179CC441D69C05711468AFDFCEA3A4FAA727D0F0682498
+47BBFBC17D43CAD14FF508135089C442E6BEFDADB67C1F4F933FDC7C406031EE
+46B8171BBE6BCD516A26CD32DD81897DDA1FC513ACC40C11E8C81A95F5022AF9
+50A1856AB0DBBA241E0CBAF48507912E63E9FD3492702595B70BD204E55BB0DF
+3F888A9F10F3D3FF434DE3CE002ACF2068E12E3FBE7F74F19BFF00D8DBD41E9B
+56B69C50053993032EE2B3C92437E5204A787E69FF3D6CBEE77CF13B4B777F78
+36E9713FE1F557BBC1DE3728EB8CC46DAEE02426694541416982A39642DB1670
+E305D1D86F9D46345CA7391C5321D3CA8F05C95DE23DD9C0E189562233E152DB
+B3DF35143AED4C321AFEFA44AD28DF7FE8FD73BF51B5F06736EB17C496D27929
+C8B7E531113DD6C555D54E6FBBED906B6FEFB20ED157699BFBE7085CF85C3F2F
+9B54EE89FBBEF613C4942BB31404013A62532037C530B03282E8DDAE85CDD305
+79E4EFB6F780A4E5AF774EFDCB073F5F4CD7C7693358A7FD2DA1BEACE3408A89
+866BCE88F9CA67044021C1A3E52899E0604638153560FD3C018E5BB133481B7A
+00F317152F67A4C0DD4AE90382915542C84A3B5EEC352188AAA1074CB93889D5
+86BC096D8D56C91A11B9DF0289018F3D64D2A705F8215DFE6D837CC94E9722F8
+31AD6DA528A871C8DE072E275E076C1315F7F94BB893D52F80B4E57EB2B69BB9
+2E5C256C479E2AA439608AC40AD6FB43D3951A1605D60A8F714342B30D488085
+D37D1BCCE89E0F54C01654EBA5A9BC77AB4E4D81FF250AD9F9BCD299B53A7B65
+140D3CBE9A059B1D27898D9DF1CA4638854BF782EFE89F241D0F91843CA97E07
+B2AA1DF556AFBE23BEC5748211A0D871BF0C105EFF2BFCCAE20B3725E09F752E
+C8C710026F97E60B33B00C186FDCABCFEBFDADF7AC79BA5E5853046DD572A1EF
+911F7185EE0E031648220379DC397B7FC1D5E69B53B8D1CBFB88A250FB53DD4A
+1671A26CCECCACC5876605174324A61933918D21FEB56DA56868C6918B0F8640
+BDAACC9DD39535F9622C92FD2F688C9C3AA93B16ECCEB1795D6ACD48BF4D25C2
+0F23765A00CAB628D54B867CD5A8ECCD4D7E17A850B95D8D38D8524FE6F7B4C4
+1C3B9C343547454B4B810ADA1D6064ED9D1B61639AD0FFC08FE25FABB0046C2C
+B45475964D2E6A849635FF109BB34EB88C1ABB9ADE49A8144D92CC016E2E01C0
+FBFF804B2509F8780A22DD60835FD446F664FA40E585D7370F0FA330FBC39CF2
+510E0F1D1E0A9E810CD547777E3E20174E36119697848C15D1E9DA227891E585
+3E9F088D9ED716E5F2194E402D95B39E9149664363E2B71187B8F9A14B932E08
+6788505A882977737623F994964522CE6DF52D55D627FE8C797B8325B9B9F8CC
+1FE4255579E182F7DAA6417218F2F6C8FA12BCE1C67A55160DB75839B5D60B9D
+959E72D3247A3A34216134226A6A1133D8151A00A1DDB9BBD6EDA6248DCAC8C3
+50570E2518FD7DB0CCDFAD7FD9CF45AAFFFC68CC52A87D7986C09E6D1B11878C
+F7C029D946F138C7300AA4934137DCC74B99C3FDB990841C4662E38F304640FB
+19C9D59790E191D9FFBA1243D90CCA6CFF5CEA621725E059334FDA6A738D7DF5
+B0F7DCC58B788BECCA70A37F0CE896A2FF3230FA09D383749CE7FBEE0E3BFD7F
+402DFF619B1FD93EB9A1132E7243AC6C173E25881A270D9A7E43B2837DE9F791
+1B727AC5362FCE7BC76956C9E7024852E75E45BF317F5E97CB5B9A257789870C
+50D98371CD7BA7864B4CB68182A8BDA2BE23FC3585DA0C33C2509C2468443797
+AC22062908794D59B118CE7F7A2D5B090A98D33E63329EB641239827CF757620
+88096823497A5787D0CE7D75988C707B5AAD960E98194B8A505283F465D799C7
+CFEF36BE3F7C1EA452CF6BEDD25ACBC90EAF9BBBF55E5A57C9F07D3C3153582B
+27097DAA1D4F95FBE5580F0D7B384BCD6D8B5E55E082F92B14758A1CCF2FD40F
+8FA6CC243EE588E9A7A8D8392B2A8F109674CA2D65E41E49E68EAAC9E11BD101
+6F3269A21DD835303E5882D42CC04C359AE401E82A3B4C1CE40FD9A991785D81
+6F1F501C69910EA948B8D727D7EF3361D5772D6461A1522C799E99C3060334A3
+BED7BFA24899CD0B44378CD315EED7541B4D56B4C4382D9A865CE7455FB1B87E
+363F75B19FA2BD271435F61436D1D48D590C7F9954744DBC2F053B7BECDB7FB5
+540301B27F51EA66063673B6186BFDEB72A65FBBFE4C9FADC41CFEA7D3886812
+E26F8A254D16E6F8268324235819FFACF467F2253A1F25C1AFC9393B975CB1A5
+24BCBAE00997ADBA0363CA766C7DD344E0930D0498B1387C54495E693657130E
+14F5F9DDFED23776A0176975FFA51AC20114103B4486758F8B5DBC0D13FCD0C6
+D6F4676F29E7208C0082C59462B4C99B97B6EE708F706B5C069A4D20FADA753C
+EC8892025B5DE8CC6BD29AE24CD4D49FBA67FD1EB31036A45B5B6BEA0BA5F211
+83F036AAC2590F5728CC014C0E004600197B7460A735380035EFDA8E6043B42E
+A0B07025B4F7509DD1B638559B7C8D4CAAEB97FCA8C55A2C5F266A9A7A4853E7
+86153A968271A1A6F3D8FF5E76091835C60DEC1EBA379ADC5EA921C3A67864FE
+A9D89719FA9370F21FEF7B4D76309B0107EC85636E53A67B1D849EB488D5D525
+06AE069F31A9373DC1A5EBDF4B7EAB496EA44BBA1FB8EF95541E23BC13E72C2A
+DECBAC1F0DA734A978BCE4758C9F0067BE3E6F482C73F3DD13FD7650205604DB
+3E73ADF3A5B8718FE102136516085BEE1CB5757E2E1879447E7382985B93FBCA
+6B86D1FA914AB5ACE7211D056BA374CD626221C075C40B385823F04F27B5D83E
+679F3D740547E49C1F7636D0C761DD94108C9BC7507413CE148B76E8DB223964
+FB57E88E5C547B5634054B06160C001F64CAE0B98126847A5AE23611D522D571
+34CB564B4BCFFE145C526C756C3501A4E724BBE299B90BC0E2B108627955D2F7
+567E693B1F3B4BAAAC76DA61BFF0DFA18E1BC0F3A12D8E77A71E522F13824DC3
+D9D324B7C2FB08491E95B9D3F6FCBF79A93F3F345C7E727CDEAD94CCEA3C68E6
+2CBBEFE001BB0D1B1E8BBE1691EBD8852794DFDF765017843ECB0CCDC683E111
+6363BD1560DA8762A9B1ADFB1C203AC811ED4E4AC75915F634B67D56694C0006
+24B70890F3D3F768508210D009DF92F18424E16C72D10394D9D200C7443D58DE
+AAF0B2DE0FF30D1120DBA3F153FA3086889183B3B04F6FDADD5C658C124BBF0F
+9F5482481050D313019B1D59627D4C501E47D9740324A1D61BD898AE25BCCCBA
+E608D38D609A36DDB1EF60A61FBC32F0A50E34648EB0AAED9673F01E68318DBA
+B4B82CF58D54DE94FF5DB218AE2CA8EEE25073351C7D0F89A63F2F4D11D24C53
+692AA98D3BA5AF290DEC8F9AE306260D9D5F02F95B07C4EFD4290783DE0DC484
+78DFF7D6A8BF1121801050817A5AC1BDCED3D5C332D63EAB875D6FEA44798532
+7349D52F519A46F56707629818EA6AC14A763F37E41C19CAAAC643E56F606B4E
+55A197D0CD4593F9F792953C153631ECAEC06B68FC0E029FA0B4F616ED7328C3
+8AC2D9CCD0A03AFC808C9A5F4136703FD780737FC928906A44D778055B317BD4
+FF1361E47CE2AA45D12F1DFF83D341584859BB4567A854C8D5F151E8B6DB1171
+A84318453BBFB9BB754AEF5013C99AA04597943172D07884C53EF4E6D44BFFC2
+CF1E0DF1772CF422A55F77948E4F608857EE8FDDFD7994BFE8807CA8DB05E710
+6FDCA01374D0FEF40DA2D5607A91673A3DF6291DFA934C63ACDDE6C64753E3F2
+4AF198B515B2DE03F5DA6239FB2E239AB2541F3D48DD9230382CC8E5B60583B6
+8B30E2D629E34F8D87629E3CA16FF64F6C13EA01DD940BE954ABF612140D8E6D
+849F3A5EC06C4627A2CBE2F633B27A75BA96BFCA53C67F17A0B0EF70ADE0D858
+4EBB01097FB2AF7B5FE3294409CF7B072DC339C21B3BFD289D92F19244FF5A3A
+720514FFA575D143CA4831C9941B02C323A9E17A6CE99303A6CDEE2A801564C1
+854B99D84CA9840E4AE8B18CB0AEFB9319A504923B6A922C109D3B54D923B96C
+0A4F454623D06919084421B5E49C12DC57F283F872F5B97D0C97CB5A410CAB21
+8F19119A3250CF3FB2971F20F5DA467678B6BB3BB936359D48514E7C20DB5624
+0C7C0E001D86C35E0D5D20ACF9A51D210AF370554AED3E8D642F280C9AD441B3
+F6
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont 
+%%BeginFont: CMTT12
+%!PS-AdobeFont-1.0: CMTT12 003.002
+%%Title: CMTT12
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTT12.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMTT12 known{/CMTT12 findfont dup/UniqueID known{dup
+/UniqueID get 5000833 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMTT12 def
+/FontBBox {-1 -234 524 695 }readonly def
+/UniqueID 5000833 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTT12.) readonly def
+/FullName (CMTT12) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch true def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 34 /quotedbl put
+dup 43 /plus put
+dup 50 /two put
+dup 60 /less put
+dup 92 /backslash put
+dup 94 /asciicircum put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 105 /i put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 113 /q put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 119 /w put
+dup 124 /bar put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
+5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99
+8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716
+EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C
+02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D
+46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A
+4B60D020D325E4C2450F3BCF59223103D20DB6943DE1B57D05DA0555DF933BB0
+7B42D264831116C06C79335D519461E7B0E870A6715E3D74A08D1BCF86E3BCC3
+A43FC6BAD1C68BD9D4AFCC06D845FD1F1E70D7A47F0BBCAECE8396E04591E5E3
+4797F646AFEEB7DB548183F0B74C9BB6BA2AA04E7F5950EC8AE97C741D4B2C5C
+A8E7A8DF5A36A30B5A7592D95E1DBC63EF33C92FE459792CED29E2B8B6919251
+75EF62089BD7D44A6E1F9B62EC802FBE62B821DA1C3B2DDED45D27964AD29ED0
+9FB7868F3A8FEADA87A8E42D52C1EB7229D7C79B60BDA263F2BDB025AE14A507
+098FA274206BACFB4A0A7257D5998EE8F0FDCA79CB61DD1FC59DADD11E16BF02
+ECDFD706CDA1E72054D4EB55AF7BA9F19955886BC0BD6E0E3FE3769C94AF3581
+DFB2BCD67FE2892AF07E858A01280194D8DD7332B3D0A585C87FAB056C2EAA9B
+5AD48D1C9F00CEF8EF0D1408DBE1C03D04B231D7B8D5D998FE0CD7EE19828EF2
+F988EBF6DDBFEE00F04A4A1F4E1A55DED7EF3AACEAB5005F1962C724A017C914
+2936E2E0DF26A55ACD7DD836C6035CBF07981C1BCE3615064F0540A1034C69B4
+E3908E76EF8925D486DF0B4A8E1F02D8AA99585A7C31847AB9382F83880C1C21
+C496AB2DF8E7BD4643B28B704B5F6B53429D3EE940A79135F5BF0396E5B46F23
+42AF406C26D12BEA7A41F332AEB75DF43C15334CF4651A99F602036946B1B91D
+4BB0D2E51C20216D892C8173241AC8FD15A37C3CDD8AB4FB67D8565AFA61C068
+95E3D6E46D7C09BBD09428207D506AD43C693F3C3D787F6A5C39084AE45E81C9
+830900DB50DAD10A17E118FB5E9680B5194716A788FF7514A1167DD1A305FBE3
+FC1F39A39F5613D50934419B95A4A2FE1B6C18912CECB86726926F6B77B5C3AF
+F38F85F974A2D2145BE010EBB4A390B842BC222AD4A0B7FDD882668C04C51F19
+13FF91E7CFA0A0F4E99A1944B272E0291BBF3F9ADFCF3F625B87377AFEBD9F11
+6385726E908BAB7D1357504048C0F5B26251A1FA52F08BAE1D64B9FC32A684AE
+896F3DD0AAE9624050D4DFDA25E581FB2630E8840AC5322D38B92F3E77B55CE2
+91ACB8321BE53A2C7D274D63CF0C68AC833BAF4B22B26EFC197D4A893A5AE492
+660D995DA9294C16BED1113CBCC18AFCB5968175EE2FB374B1AA261F22CD75F6
+6E7295A254FEFC41A66EA6833A6A4EE0E75EF6B6FAF292DC5D2AFB61D5203DB5
+4BAEAABAF39E9F98B45F22F2E37F337A7BA412807D539C91F3FD1AFB8E35446E
+DAB21346AF2FEF98F772992C5637092710177BA2E331993DF752B5FC6B2B7CA6
+66F6E1078F7B9F3446848D0B4D5FB3F33718D737A59B72D9A0132631B9F56CD1
+FF4DCE95CB6B8D3ED065F69EC61453CE5F7720300867F43A34FEB3BE8C2A69D6
+B0554B12A77A0838FD015394A70874B9B2CA8A78A514EED93425742D97CC8FF1
+34193406C6E877BA398627E7532C64769C8C8304B9B3F1F20A28658266BCD51D
+48678ACB02E38D4949627320CF16FC67F85CB99A69B333D205BDA5BC26334816
+4CD7B178154BC9123E35B3B8845D49794031A17F46261A9A70D287B31D5E287A
+9C06D580BB0AD85E1F0430E1F497796C92B7119C3F15B0D2168AC4AC23AF905F
+B4E05AE23B492FEEA94ECFDA6EB2A14BA0DD6F05533BBB163DD66E89F27F3054
+B3E1CC5EF5E56DC6CEACCA74F7B3D53D2F507802705472B9D4346CFA47EAE6F9
+2EB1917316F0F1CF47D19B1C741F78074381877358DC2831765AB51353FED4BC
+FE4CF59C41265FE1CC31B79B151316B70ED82B90BB765249CC768BEA49BFBCEE
+91699ECB7795D77DC69404B6857DE636A1F00F36694EFC6431138397CD280AFF
+BCB4CB5B3C72F359E08241BD7FA31E86663B8B55E0DCAAF15F0EA734C3AFE551
+A4E3049C0BCCE6E2C27093FECF6B6D7C9510D33094BF433E220FAE6A03C076BC
+CBBFB14B8274177E66DDCDD30B49F9975E09821134647F378561D03308C82515
+76C6486E33FBB79D67D773C5C025F6D17D37602FEB4122ECB12BB483B813ED1A
+49F64BD492FE1FED6201B6B5E0D6F40C3B4B8CDAA607F70CC4E75076BE591768
+0D21A8D3B2CD9F1F09F154005EC6792D97055B2EA2C24962F25797E6E582232E
+AB51813B2D5956AC1CDAC4CAAFBF1352633F604C28EC7B3CD8BE57F8FE52CDCC
+FFC37783A18D43CDB3A383FE18E1CF4A69EBA817E376E025BE3D390EA0869699
+716357B43495F3B2106FB9DE6C83FF6605C4B86B4526F908E7AB26FCD09A0430
+E8C6B77973824085029B59F22AE775D52A39A4F66AFDEFC3068A6110531A37F5
+5440E94C8261317EE70FE217CDA2B7F732A3D5BCAF255E911A5427C98B4B32C1
+7A42655C38516A80AA1231628FBB5F2A9A1871BCE1DBF8A2DFF7925D8743240E
+069FF51FE1C4B50556738A04CC68AE806633B62E14A2FED69B038D31159BF879
+35C264823E4DCE5C2749EEF3DFF694D52BC832A6F246BCEA5BAA9E92340F00A5
+007DB2D4C311DEF91EA4BE2CDFA7B36C3F9A067E0B3E3E88337190ABD1C1C285
+2799E21025B7EDCAC379160CF7F2188A920376DA60056B06671559AB1473EDE9
+F9C621CC846B433D0D25431B683C8C6C0965CA2A577AE7941BA4BA0D7A3DE0BC
+8A5811C1E45C42AE53025C48C53AEF603AA3FF1C3C4648463E0A6419D401E705
+3C02BEFA33135B9955E414218EEF94FB6397044F84EB90EEAE4662C341A53FA5
+FB998F2A7AE3770843EC1545BF0687E15C15338A9D8B15D4C1D9A4E7E0F2A31B
+781BC0B5657EB1EA6350ED58959E4529F64532F67F7B750EDFF4DA5645314DA7
+B7803DF00DF462B2A0002413AD0271A645145C1753A304326CABB2F4692D71CB
+D4DA333EC3590B5D4CB7225C20908BA0A9F713BF70A67AF4ABDCA0FFC850DD4B
+787FB271B0A7F743D61F540497490A6D436578D03E4534D1044A54E79A356706
+BE51A4585BE2B8706F2F356D30FBA1407367FF250659139B75D34492B689382A
+E4116DFF20ED8FA8FA8596884C32416749F881DA38783631096D7DF5E45C9004
+4E36AA59BB983C73017431EA1BC62CFABB7B7BDE132A356B307774E64CAC8C1B
+646A5B4E7525213A23EB7E568D1283A69BD089B1722ECEDB21728627B92168E1
+8844D4E9413808C2B5A29CF7B947CF9A3428762B7B2DEA442D37D49AD838435A
+87B4CB4C8FD71B0BC64CD4F41F318DF90A0D17EE9992CDE7B040DC74E5A7E783
+08BF322C5A833246432A10622EB533C3A2BB133552C72C33A43A8AE6450D2610
+6F38EACE8782B5B7C5E27FFB7CBD29476661DD066288459998EBC86746763074
+FD74DE26C0E71CA48E7ED8BB423B1E34340AD7C78714EF0054BFA4A562EA070A
+53F112B64979FA756D69FCA5C91FC37DD7AE4CD798A11FFD6B8C47F074F3A952
+56B5EAC35A0F9FEF8D156C02E87720BDD166DDA28110980B70B4FF1D75758AEE
+30EA729AF84ADB37EECF0D5C49DD12A381E8A347BCF7A7EACE905FA3650EF7B4
+D841D116A373EB39D843D20F60B7062A8391DA992EA0F1C30BC4F6F35D2DF90D
+83E196F0267ADA454D095984916FCB520F9B49868F501C126E27895F623D1493
+C8E1B71B5E6EE514DD7B0393BC3AA13298B31A6A8A033E57004C102B57FBCA66
+D8B3DF1408AF675ACDB7724B2D1C27271430C29834E3AEDDA8ACA4BCD9C607CB
+B7BF7282E0656615320163FE6538A09EA4975DC388D82D000F5A600FCAFA2F53
+1908E4147CD83E07862491EF49BE3842E2902EF213A594FB25E66BC7FDD84C20
+1F73CD1262C4B5BF194275D05A108597CED877EEC1DA7A10E50C41B757464973
+7941C4E7A646E28D505A7883BE1E6B9D65BFA6F5D223879695C7F3A2DEA10DB5
+175475EFB7B682ECBF8FEEE09CAAFD79B3DCC7A1E67519F7A7FDADB3884DCB7A
+E5A9D6BC571BC5CD7A62A0D04B2893C6139F66C1412A97282C5DF17E0951C939
+1143EEC5B7ED63B5083A4F25D21808279050DC85944CA487ED95860B9805CB72
+35AB199D969F907DDA55142EDC38606728FF07CE33B34C5C9479E525F303517A
+899C40F06627FA97C5605D3C7588EC714B55533109B727614EC9BFACE5296246
+799F214B3C693DF2FD6762EF68A685D94AFFD598F3C5BDA4BB16581A560D978F
+09D8A5F6B39549C51796D99C0B5309EEEFADBA68347B2790EF6DC37749D1480D
+135E32A012549E56AC6F96394AB5BFAA4BA3F79406BBB92DEF07CF57BCF36145
+CF4032CD9FCD2F432FB7B71A958E4A0399263B8BDDB016DFB2EEC7CBF9469E77
+9D2C99639FB4858BF89A70E6BD93DBC16DF0B63A2A171C82EECD747D428430E6
+56687748913D472CE8904D1D07276D98E32BCF35EA17888035AF19356584DF44
+3C66C94A71B8E019514F7FDC5780E755E230B41B7508E17C81A5199AC698AB46
+BAD7DEB8AA1A38D58865977FC1676A74741C49CA49B41911DA42FF361C434AC4
+0FAD582ED683D758E2C13A9D2E8DACB0C822A64334E98494A63038EE3F6F2A60
+7C0E99D47E891D5B42459EA3307B865176A3E0168D5E975535B06156B585725E
+1AF57AF04033168E925D243F863ABA4221B963BBD8D9EFA38579EF586DE10FFB
+AEEE5E4A0AB77751AB5F9D5F7E6892EF35C89B068830F4A0FF21DEDEC0A716A2
+D902DFE5C2996B76BF6B280FE4B1252A8F55C558665467E959D77515671BCA54
+F673DB3A0758FAEAA41C192CC88CD5E83790C6421D4F7DCE2BD4F9950EBC48ED
+FE3C57E28D27504FFFF0BE8E23EB90702A5E35ECE51E90EF09CB29DBBD82617C
+C0EB10838615173927C509C24D0AC24C70592F0BFB8FDE715969E30085B3B211
+D7ACBA45FA2E04F8F4E1911F39727B1EA62999B16EE6B5B4DA4B431B6C65EFE1
+3D546463D6B6E0B521A5BE77A7E1B883086813EA5F43CF3DCCD63826CE21163D
+BCC6D7914E4F77D062F6AAE9683E75DDF2BB6176B3802740EFDC7B8BE813F90A
+2B85E8360EEA93CF5B2CE279E4974ED63525F5A8E9FF93A21E4E19AD98003081
+6AAB6C2D02CF58C9218402CFE4A831FDF6C03B261EAB6ADCD0F31AD5EA5CC88B
+3AB216F2F8EC3DD723F53C296DE93A0D59E0AFF171506DDE15A67D190E0D7948
+FF64D07217607E25B11B66419AAF9982F161A1AEB8F43BA217E6E36D46EC6693
+435BDB3BF9E7D51216F6BC2AA80105C026E6D2339C5A7283E7184653A803C122
+9A85B380F5C8C0CE93F91EE554D6F07B9C7D4EA5CD77EEE2FC454AD11D035BFE
+119429F257C498949B069D60DB8CB49D8932AAE5B68CDBD8618279C0515E440B
+F8662267E340F8AE147ED88557B219D059D6ACB92C4EB526882927FADEFEBDB6
+E4078479C830B400262B1B6394E02DE23B311EA322A223EC6DC4091F8E3A3CF5
+4D85C0DA45D4BED61CDB7B54B4718936337C8AFF91D6D474BD69F8E4C23672CB
+45F8EBC78468437651F8C6AF73C92030CAD38931B9AA0C38CE7EC10C151A9ACD
+E95A16FF38EED64BF91A8FDFBBBDE9F4478AF4367D41CB0DAAC36B6949599709
+977D77C9133B1CDFBD84866D53449E9368FC6094C1497EE82172337FE28F8D63
+D4DA6602366DDB4C90F8E6E8FEB1113E96BC507DA67F00120F0E77BE3EEC9739
+723D5776920914C9A603D3AEACCCE1D0436E9A7A50143DAD10F0D236B9508E7B
+D1FF92424755D138519AAC663705EE96E371123D40717F43FDC37F0DCF749F4C
+13D0878281BF82258F8DAE3A807411EC4F8F856AA5D40EC8DCA78403E75079F5
+10C4700B3B953AFF8377112784FC50B373B0B0FE360495AB8726D454CC08BBDD
+96A4E314C71DDA4883C924672F9913C0AE2580C19EDA7E612F10E87E218BE770
+F2D145A375CD098B1F4131305DEDE025975AB578AF814B844A0191815DE686EA
+FAB4F2E82BD83F7EC0A7D80783B29C3E68FA5F2E93527A59E2734BE6DA6C87E4
+C03CA2A3F15543343BDE693D6CBD0B0493834E1425008B2690CF7AEF1FB9B6E7
+A3DC440F5377E7662851BF03B73953DDC206AE3DB3938F365A1912A75DC53DC7
+E39ED52337342413B6865160E457210A1D46BE10393889CEB66FDC3454EB68AD
+2831BE80DC9E9B0484B0D46F65169A0EF4608F09469F9E5BBA05C16E434CE184
+0C781BB0125F2B4693CC4473D4F6665349DA3715C6084F0A2A5B370BD2359991
+6FEF25BC18C144D1B7543AF2BF98CDF94B0C5C43A58BF8B6842507E3EECB67C5
+8161F19144B5BA46D60A2F61
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont 
+%%BeginFont: CMSY7
+%!PS-AdobeFont-1.0: CMSY7 003.002
+%%Title: CMSY7
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSY7.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMSY7 known{/CMSY7 findfont dup/UniqueID known{dup
+/UniqueID get 5096648 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMSY7 def
+/FontBBox {-15 -951 1251 782 }readonly def
+/UniqueID 5096648 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSY7.) readonly def
+/FullName (CMSY7) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 0 /minus put
+dup 14 /openbullet put
+dup 48 /prime put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0
+7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81
+DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91
+511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6
+1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD
+028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86
+1319147A4A219ECB92D0D9F6228B51A97C29547000FCC8A4D9DAFF1B3EA76067
+C5493B69F73B89C8B61804A34FCEC826343337CCDFFCE17BF343EA8034BF95AA
+14C56862C2C052569AFB236E1F1795F05150C8F28DFEF6BF4BCBACB678D00036
+30EE84FEB44B1A8438185EB45654E6853C1159B073E54292D135F0961A64E8A5
+AAE49C4BA9C44156C123426212120F99F3E8B7425752A5FE384AAEF755A8464B
+51F015F9E2967477D57B22627D75CEF8AAAF0AEBD504EB46D0289DFC8D86C972
+F042BD88A90A53613DD93D8A7A8460E63D85F6C15C000C0AAEE4BD5130B6E668
+8C9B3F3FFD804745DA1D5EC0AB85C96E1724FA67F9324C59275415182AB48D57
+9722DCF602396AD4B5C075A5A89A5D005C9FE11273E5FBDDD1800F11BBDF6AEC
+6711C5633A73AC5DF038BA521AC492E138F7FFC7C5438FFD32FEAA1128C66E83
+0D3AA40665F05E62D7EF00B1B0596162C402A34B6BAE6300D43F3DFCC84860F5
+C0F0F1CE28FC60642BBFE9BC9102E80146774CDC88F9C250DE762D24A3484BCD
+1D26B6D9FE981CA5AAB2A4BEDC528115043DC18D7105735D7528C2C5DD89A812
+75B5D7B2E5A586FBB0C061E708F92C1552F64A296490BD0F20243986A4707FF9
+8AB3C917B8DB92F19DCA6B9D4A1DB57515E51DD85D5C9D2CAF7A036AA3F9E9B1
+5B5E099CC05A9126AB274C17D75CB4FAF78052366D2F21EDAADF84B22A2D645A
+3E65C4BC0F540B5D9609D88DD0E4CBEEF87C16447D43A5F98528FD45ADD10DE6
+41AEC411FD6929308F0E4F48A8D9C9EE386E920D41C1CC98A52073011DF5BD28
+5683F280B5CF7F27DC50930C81D344FF5A8A9258A207D2531AC21A735B14155B
+C22C752DD22AA33C52D6D4D053B3E46FD4C9129068DFF52695A3A9184D04E8EC
+93696A3FEC3AEB3814D9015EC14C22EC3ABD5070E8C28A3B42F5596D948212B4
+AFB9978A0A361135C9E18CBDC98E0D1E8BDC17E25DDB3D52E86127E5AAECC55D
+FEE61693190E378978EF1BBD4D1AF005D511C7607CCFA4BCBD3EC427CAD82809
+B725B25AE8A03EE88F80A7732A571A2317E0B6A0D072EE8CE2EB9E033CDCC899
+B64CF4FA1C708A885442062F08D3D8DAF44C066EE278714D1486EB709D327865
+A483F62709E89D08291F044325208EBA758DD459481334F5D9AE3BB61B3020F2
+A4538CFC2C94BE84C920BE80806FDCEE394230730E049333A7E16509207514FD
+695B5E0AEA9E4A9737311AA0B33B15F6769FF865D1ACB63DC6201C3F1062A3FD
+1B446C1857460745917A36289DD57C94FE6240F4A40FBDFC10E91B91B79029D9
+9F1B9C74E8E5AA011A0ECBEC660230AD5929F01D0325D15FDC0040406F124021
+02AE176F4C98BAC1706F03C2B5B40F325A50CA4683B2BB4605E68E72D0CBDC2D
+96B3BBCDD01201B650A7E7744D58D1E36D81FBF72E0A875FF29B4C109A1950FC
+9621B18D58806392EEE9841794DFD39E3C4E20D45384FE07F9D445F143B922D1
+AB350AA6DFC51FCF767B141A392D6A8B633AACBCEC9F56A0CF40AB08020EE63E
+08CC0BE01B40E86388A65F5869F2F4D022DD4B912031CB8CEDEDFC2473772569
+5B28F66AB74CD7902A0061AA3547D13C7F0C6EEEA7B0BD316694A94E4D672520
+EA044AB28D8D01076C486CE456EDA1811F7ACA75D27473080D27D3E681E35FC6
+447046120C6CC4C17674F0F051570A79DCA74848F3F300B58B19018430D99858
+CA5504084D6BB74CFDB635B6866974A9AF05DF201C69352B2663B0623E7828B9
+5EC5FFA8D8F10A7C28000F8C679B180067D5481D6315BF1C4194EB171C8F3CE2
+4CE319975B9E948D907F9F7EEAF07089844391555F329E331D52FF114668B8A4
+80704B3C6AC0CCAA2F5D043CE44E65EDA89A0CA854CFDCB11D549B7FA72EDB90
+D35353C34A771B1FAF96F83FCA5258AAB65384BAFFCE448690C1432A1F749C20
+5817205185F973FA098BA856584753E75EBEBF387FC155202885F5B67117DD7E
+70D1CD887183C5573B6FB607D4F6CC9F8B94B09B3F3AEC2EF1E6A320CF6D0112
+63046321941D1FB3F2140B59370AA9387E24D579D389A166A10C989497FE9549
+34E1AC2E546CC06C5308460DBEF3E1AEEB6CBB0FFDAC458E61DE3391480CF5CD
+34A647D4DE15B81131B7D1F9EED4C6837A32E89B0EAAD6A05F5F67518655E5DB
+224D4833CEC60D5DBBDB8A03FB1A9730589BB4F0FF56191D17E73B9562E0C356
+B188882B36F9505F6F42EB2644FEE125C2A7D12227ABC8ADB924E88B0A9E8DC2
+79762523B0B88DBBE6AC7968A46BD9E9F0C3F03F5F64724CA07782195F01F130
+30DBE895C212E0EE20162D863F46A674D85232FA0DEE69A8DF019794AF6873AD
+9CC2A5EEEF9393313CA519BF95C08ADF7A75B6F53EDCDC39851D20E58B97CA57
+A7523717AA1821DEA94C8A9F8B82346B16D92D15AEDC16F0011A45A44B09DE47
+08CBA46E8511D0C5CC83F952EEFA4ACFA7F3D7FA5E113EF6B70E5ABA6F1AD3B1
+E4D3B15AC6D5C3BC70A3946F411A7D965D6FA9D7B6C6ECE19B2C29A2FF476251
+EBF0CF3BF658A1D896323706172746F58B2DE49F8B7E431E20304A42694CCF73
+11C4E9E96260CC442E2938A1E27EE6744C7CAB01634C8210CE40488B9CBD757C
+4277B5E3E43C7560291D945F9128AF1F85924003418F96458ADDC5BB8EC431D5
+AC9093D20DEA69B92454613BC1A82DAD4FBF8E56084494D9D2FFABD82A7C9847
+171FE36B265B546F3072B0923840E6C6BB12CA53E05A99F0E8FD4F5109782746
+7CAB9B35B68050230736AE624B7862D1244C7D9BE4D1CAAE21B123D1E8372377
+F1FEF269A9A2EDF02CE0CC8BF92FD7EF09556987B8A3BF6D8C0A663DB6B9742B
+E9AC61A449106AF1EA7ACAD40AC6F59427CC51865E6A90CF2AEED8D6037BA70E
+4ADDAF622CDE877C98C3B2006B4721FC9BA18E30F0752BD4ACE36221F5CD1497
+8FEDA5D643BE2EE007970A68E53D85975116E6CC09F0039A09EBAF0CA4B0EED6
+A485CC0B69E526033FD1C1190BC5686739CE13D1AE8EBCABC01FCFF26141867C
+44ED291196E546369129B9F759FDD7DC21BAF0A528FC34BA9FA8937813953644
+C539F9DA4E55E83DB3D6DA309C562DA1330B157957B18F7618544AB738E25F16
+F0517CD13C1F11BB8EA056BDC575D77CDC526EF497639DD89C2098660C5C45B2
+D7CF715AC5E76847E0D3178360DAC1BAF6ACAEE72453B845B9F86621C166857B
+029CEF5AFE29D1EDB4CA3AD7D008B7550A779E0066D7312DD6C7AFE1C0BFFF25
+7B062B0DF30032EA2A2FE3CC46C96A3A0BA1888D1D2B05424A59ABE3EE928ED8
+B67F507EFA78AE128F58B54634C7F534B3D0F4AFC23E38FB56EB39CFA425FD37
+848545EAD03EDC5A9E796CEFB345F527615C785963F536972EBD9CFC4A6A4A07
+5A31A508CA147FBB762ADD198CE36DF86730FCE2B643D1E7DF0BDE800DE7AF89
+44A36B04193E44231E08919EE91A8B559646DC4DFAFF0AD891890A0A88FFA8EF
+B066BCB7AFCA409C51889E7FEB33F19A3CB1268BD0EA74AF29C1401BABD16F87
+ACF7DD65A8513DA9995C5092C36A774BC4260113360D29AF7ADF5D22B5B58E7E
+A9BEFC33B9A91D2C397B27A81087376CB623318A8362C3FA9CBE3026675723C2
+E711910DDB328E0EE3FCE219F44FE528B70E58B8E6CDB4AAB48237DD933D9639
+E9D4F9EADAA8D46537D964D75C27F210B0C2473CB60D65F61BBD91ADE01576BF
+77C49E31936138B0FBA066BE910DE1B1F0E4FFB5E81038E8656ABFF08DFD923E
+6BA2AFEDCE6998BBF7045393C34811501586A4846E5B942C8E99D4C481D3AE60
+2796ADBB5242D59F1116EBB828014BD903EF58B223DFD18BFBAAE4D348876B06
+CAC10B7AF0DC270E6702A3F75D4DCEF872F2CDB9470AC9A1DC1ABCB55636D26F
+9CB6BF27A0DAEB1F62AFEC12F55F78C9B59AC6DA9DB4B45444B0C582DB4DB8A4
+B31EF4AFB77988E92FC0B257374B4408406490D9AFCC495316D6C08BEC9A76C7
+12371E14417711EF802FB7151B3F6A2580C97527C9C3A0FAAB8D62FD992AA18F
+EBEB36F7910186CD5F70A55DFE932757C299D9D2289796769A00A0C6ABD18F82
+E0D4E95D6477E67B4C012DBBD098FE20E2F15C412DD2AD5471A65EACE05B3A1A
+0C9C430BAEF4887F2CCE668116B87FFD9DAB4B9B3605CD26E6B12488058AFA30
+8843791A95BB322DF5C47387F3EC72343855D6B23D72144EB5EB5157B8B238FD
+6C71DDDA64C9539F66A7DD569FFF43DBE4A8F0608A3CBD354DD9BAB5E3C756DD
+92C3C1B3E169D86A2230299432488BC04A87E08A80809F9968676DF9157B1C91
+27C664ABCCBA9997FAD8966F766B325086899D1FE44581FE07C97688B3E15B0C
+234A22646C32BB965B9BFD2CD34854D1488AAF021E169BF9CA9665CF040E25A8
+16156C80A2F47397CD370AAEDA731E0D14FBEE1E51A17DB972D96DBCCE33F937
+5CDBF1A650BF1D3536BA4CB7A1CACFD5CB457E2368A660A62AC26E64A631B2BA
+6B08EBE42E02D9B1B2E95BF9F0A6B59C96A122968FD46A4D17BA3D018CCBA0F9
+80BA3C1E6C683111AFF79303CF64F1D2CCBD7571C6E09DD9B27B8E101BE219F0
+E075880A0E367885AC94143E777DAE455B990383100EADF786300602C2CE28F2
+4F44662FDF03BD39A5181912D8F1243C36FF88882CFC4B34C1D4EBBC01D96A7D
+9CE5303042D1B21042E4FEAA455F22A01333FCAD7E4AACA5D3A5386331985F6B
+9B247EC6310BB07507321BEF3E4ECFC3B915AAA6E029B3999644C987640863B0
+5DCF58CE479497AFAD1208FEFD1796E74467E9F7867C313A3412E6923F4C9144
+C69EFA17965056DF043DB465BF2F1E191706D3AAB47E6AD5C9767E4A73B29F2D
+E2E579D0262237568F82B360ADB6D0219B7535EFD02DD0688CDD23D84FC4F308
+5D2D0010B1A9F4F0321A00C154672D21708B66B91ADCF98BAC7A2F94848E9A4E
+86CC82EDD0399BD9F13E43359E71F80086B9B0C3B6D08831D4479ED83E7892C4
+90C477BD1F06DFEBBF60F26516EECDEFE4787EEA8683754F2B257D0BAA607DBA
+35EC6D1618C2FDF3881827F92D793ECF152D761F2423A96210F582DC9B90120F
+26A33025414716A5E6F56D712E31BABE5047EC4855B767AC63D793995C9E074B
+6E35C7E5255FBF4C3F17E7AD7B2A6C5F7459794FC94306B581536910F244BF5A
+3158E821CE75F4B0565EBE985DF24DAA92F9C1D848EEC6B88E21FB6C51125872
+1752F7352291960E5BD36F78AABBCF6DAA4D07AF56E4B6058AAB13D41BCDAA14
+C0D63C6807FCD0E2B4B9CC892F224843173A75DC53A8F0FA396959C2E2CFE3F5
+9B1C8B62797F34E7A0BFCF0787C73FEF98442234A617CF161829498035D30B29
+ADFEAABD0B496E8A2E764D22DB7737F950FC5982F1C5F4FD414C1B0202F40FBA
+62C81B8F0E836CD73D79366FD62388B437B81FC673442EE34BF27454F72A08F3
+389E60CE28A050601A42FB4491C60DC02EC008E6B9DD2495522BBEC7293E2923
+120584E88412DA7137397B41A28706B1CC6BB0C80709A2A4BA79822D245757A4
+3EE454198942ED2316FAEB981F7615E642167620EBDDC5B271E273216EB119C6
+4F2F0412F0BA6E3BA396217597575C6739194E1F839232FF088FDDFD3695A5CB
+9A0E220389938596D8BDB183138E1F73F64512E4FAB5E1328F9B42364E3113B8
+004BE2CA0B074EE271BBE0260D31CE555D535C16EBB528747EBAFFF253E659DA
+3A377CBE0B296276AACF0294CF90FDAADB4EAD5E2F600E5B2A018DEFB86FF61C
+84296480A425687CCE37D671472537E897AFD4B8C6A6175E1ADDF9AD24DFC5C3
+A73E18AC2D9B28BDA2F17D51DB3521945850DAF0EE48B0FAC271544C1B4F3B2D
+53BFC8DE32BA366FB1FEC0DD6C0B1FEA374CBE2B96F5B235A1D83A240DB442C7
+1460980A3E5B96AE3D5784DE2C2DFFA671E0A856DB2FF4130E5905F3D5338856
+C11A468D867D0C6EC585F1AD3E7164B8598BB59973B9A952FAE819F052A6554D
+EDC342BCCB0525905D1D27ECB9EE43847B69AE116F494CB2DBBAFB2773F1A3E1
+C75FBDF8D66FA5AB4005757D631A0D9424FCDA91A1D2AC6FCE7CC7A23E84C65B
+3E92BC684F23467DCF8521E0E27CF1441C487EC6E3BCA0AB54BB137E83776009
+833D772FD225E88A8BD992FD69819B3BA90BAAD1DDF16E4326190CC4BF9C30F2
+AF7CA1FB38E6387D9745FC5E176B248B1581BF7A4CA2FCA8E423DF340EAE29AA
+7E07A25FF838F67378F9A6A9A0B404E01E86E64FEF71DD3D540D4711AEB1974D
+E2E0D485DAFFC74BA6B8E9AFDA245BC8997BB39BB6BD52B496A09C68F7A8E900
+8DB3007643416040FCEC85B407EA0A946827771FBBEE49A3DA5542CC5173A31A
+0280AB8E922C23C1BDD88D70627EF124633C318E7C9ACBC14AE216BFD41C0B6B
+3A0161757913CA1F7B6626963C09936A52E73DD9B3D86DEEE73C0293A646FCF1
+21D4C33DFF1671DA7A53E77E20233EDE51571549AACB7968602CD03EE67ACACA
+B231661CA9DA2BEC5795A83DFAF675E9B052C8BDD51490F7874C91EF5ED2E0A6
+BE9CBABB98A950F7E55DDA3823036437C11F614E27DA5BB8BC6D955FFE54B825
+0201275C2C49A3908BEF1DB3D87792DDFFED23DE7FD9CFC284F6255C77E54A39
+C2FDBCD28F2938E4CC135829AC1867CAA5705674062C9639FEEFBE49D6108091
+7C58585B80464F7E69966D7933C7019BF336B88B9E0E7073A85EAF297B71B303
+31EEE9121347A482D28CCE942AF53E94F88A97EF2F1860A92CE29A14495D67B7
+D37E207D42F3891E0423F5BCFFCAAC057FEC683696ED6FEEFA65C8FB6F1312C5
+24A1130192B4179F3B08DA1C951D988894E7FE7CFC28C56992A1CA82BF8BDBDA
+E021F16E630FF67201BA4DF5F3F4D6AA65B8347FC1575C142C6C1868E8472BD2
+CF191137AE1B36F32FD84DCAD50644AD55EBA2694C93BDF984A5C9E7C92B73A0
+26769F00831537266FD2E711AB3F8AFC5F3FDA3C9E6439FFC48C3D1B5527FC56
+1FEDE991E66E8465C0E395EAD0A22A2FDC001E449AB9C5E0EF187A1DE9B74696
+BEB6A525DBF3A60DA2FBF1579150DEE1C5D1B6F55FF2708CE23289803CE123BD
+C81E25DB96551A13AD713D5C7BFDD3F2E1D5C12463A195442B51909CC1724E50
+A1F6F4EADB3B7355908F36F88521F333C4E7C70B094209D1F883B961DFAC32BC
+8C5A2CAF77CA5E6AAB714CC0AF2B42FFF6F73301FC71AFFA9B33A2153F55C2DB
+C1C111874DEC37CB746BEC9A3A9A37A2DD098CE7C66B0FE38460ACD77A47D53C
+1550F857FFB733B5A8D02FB56790A09190B29CCB4F4A3058B1C82F0CC5E1B2EB
+2F8E06F2DE531E1EB81326A8EF0F82843A4AC59D267EEE45730895752820BA93
+A129C22A78C1AB28BCF67AD5DF372FECC9EE6719A02E499FD5CA866688E86089
+7EE8E5912087E0C4588DE38428114785E0CFEDB1E2EE24CC067D107DFDF1E2BD
+B1C4F9C6B740F3DEA0BD315581004E851ED5A9F66C4F9E95DE97D355DB06F482
+A43B565F1255A85710B15A281E2F034B1C23FEE6CDF3A043780CB6AB18A016F1
+9EAFE545CA5A5B5AAE2459D69D2151E99D029FB5C1649B9DA784BFDF7D177385
+4D8B16B9922D149FFF6B4F99311D52BEC9A9FC098E7192180DBB38767DA9B9C6
+E8CFC98615219EF3AD4A8157D14C72BA3F91C8B78381383E0BCA1A5319749B8D
+07C9A8BBB76C74F0F05157151B418C385F2ECADE863C977BC1D0592216FF2843
+DC1BB8509D9BB8356D008D7449147F456517EDB169678E28B2C0EDBD271BEC30
+6E181064988515BD2B3AACC6D45DADEBD4DECAD9AC58CA06A6C9014B780C53D4
+67D0FE46560B44CA4FF989A4D77F1B8828BB42507B524B622F10AC8781B19CE8
+AA275F9FEDFB3036079F4F10ADC8CA8FAF5F5DA7088996FB632CEBD691C1F29A
+FD52CB18BD258ADFB0B4B8B80F857B543BC64BE31FC83D5ED0A4866444501B5C
+C98E1CF0A452E886EF57A241A093B769BB09B19B125F334D9D374A9C1B6CFFD6
+FFED42F77C7624F8094CA624F45801B960F6E145D9623ADCB90F36C0C273C5B0
+6E0AA4E0C95CDA1561529F446FE5489523B6E793FFF58C9DE63B03DA57EA145B
+9F029FB1CFB5561C7149D486FD411C8E707D4E805F7AC940DF416EE24AEFF818
+2266BD5E414B0E9E0705A1005173C293BC00646EFAF6A455AA262F6B54155CF1
+873AA5D1F0603E74D4D9FA698211D75CD93944B15345682F0AFC4E4B87DCB24B
+44590DE18C04FAFBC3293CFE4B7FC0E0C0293A310D956421EB00065BA9D4297A
+1F78718613AFE8CEA04478ABC9F7894C1909E392EC51C24F932A9D5A20443F2A
+584E651F6864E852BD3123F9448348685E12A4BC636710CC76ADE89515107327
+11716EC0FFD894A0AEF39F2FDF9797BC22D999DED9C25A379E7DC4A42BB02129
+69C539ABE4137C45FA4697D8D606D6B34AE2CDC25B2301E8526032F6D11480E2
+47AF64DE0FB56E5230A6A0C7C7089119DF3E922A0727C5DB39A1EB958B350D0F
+05856D5DF239E13E77AB80C02E7134096CC4A20A1DB7BBC5D4E77C80F7681F55
+741AD1537E605641AF77E29ECDCA439DF7057338220287A28B2DD15D285CBF0A
+FE
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont 
+%%BeginFont: CMSY9
+%!PS-AdobeFont-1.0: CMSY9 003.002
+%%Title: CMSY9
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSY9.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMSY9 known{/CMSY9 findfont dup/UniqueID known{dup
+/UniqueID get 5096650 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMSY9 def
+/FontBBox {-29 -958 1146 777 }readonly def
+/UniqueID 5096650 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSY9.) readonly def
+/FullName (CMSY9) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 0 /minus put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0
+7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81
+DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91
+511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6
+1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD
+028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86
+1319147A4A219ECB92D0D9F6228B51A97C29547000FCC8A580F0834F28818EBF
+F29D3B2C7C9AFD969BA6D3B7429E222AF78F6DE00CE2C8008A5966422936DC5A
+DE549B458EB41026E123FE75E703E046F665B7DC78298A145548DEF8D579E008
+39279A5208EAF898A357DF3FD9CE4450811F20B454D86B2947BEBB11EABFC62B
+187B12458E022CDBAA6EDF4A89D79300F635D8CD973E35FA8D9B1240B3D30D72
+4F30444BDF0B51ABA15A181A3196A6CDF9CD1D38D64C83E745A767446641991E
+23EAE067609DC2E84B44D923CC98407812813D5AEF0EA21E560B31BD77D735BD
+E35EAA564A570DD3294C703E16BB9F251D54407269C8B23DEAD063018D6EB748
+4204A415AAC8384025FA922E7074FA7B8A6C31FD3761E7B2737D4D9C9992B7B6
+DBD0CFDBD87D42E1A451FC5C7EFAAEC65D10D278470DDF42DFABC836CF15D042
+6900E0DCDD36E7153BA186B8358E74F91A1D43D62EB0B821C0E97FE63F1586D0
+98F01E8F6B6F2A435343A25CDD80D3AEB42DC8E5AE02F8837B84EE5EB508B02B
+6980D2349984FE1A0D3ED12355D556BA483CA078B7921FB336EDAFC22AE05C1C
+5614F5025B890009272DA8C838B81913C872A54F7E932237FB1BC2CE5D64CD04
+2D320C8E2E610E9EE36EAC7C28C833F8A14048E751B61D0CEB342CBAAB34D104
+311B421B8CE4D903D2E2518BA8B734E2637E2CA55426C4A87EEBCE637F8D71F1
+54626C52083262A5A9A3B49142948BC1AC0B7698811AE81FC3D3B1C14E6C274E
+CFD6C480514F3649D7725A0A14C82C9D537B1C5A9ADC816340B8B4E484AF55AA
+905EA936A83FE2BE788D084469008F407447E0077417096333F163CE94CD3098
+4B9712EE23120829AE2695EA63975492DB2615214B11C87ED0ADB776ED4BA0B1
+40D09D1A617D4F57EE1A9B05C8D5F42AECB9C6AE67757DE6307B1A9C467123DA
+773239976AB0EA052B23F263031ACABEC9EEC7A43ACD0DC2D7AD66664FB0D937
+6A0F463A173E8B90B2596DD323D2350435D9D31B638112D70492F44769FC0C6B
+40A291FE78AA598CAFC19E5AD195BE7264F0EC29305D36C7AB8F2A733797D75D
+94C8F7AAFC49C13C108F514745A394F460294C6F3F44162BBFA878F773A5115F
+062E934253B786DA2B9A6E8E843E06B97075BE99F21B330D6684998C5C340B72
+09D69B655097354CB682D42120ABF5109E5522ABEC94D05E7211DACE8737A1A9
+0BD3EC16F48798E67C7C85560D79366504BBFE5F7F5EC1B05B9F68F98149A02E
+E53F321C213456D802C01871E9024F965258F71215F40EA71057C15E349F06A3
+A016BF1B7E44DC4766FC92EE500EBF7C47D36B1EA34981EE6FE38FF4903466A8
+C9020B91CFC731642003AAEB145EC0F13D6281B0838BB4236C220F6F467F7DCB
+C79BB9CD5B6A180DD2ED7F94DA6B5CB833E62E898BE832DF601BFBC8148F9430
+C8AC459F23EA2536E301C9DFD3FFBAF4D01E7853B60A69B5D012DCC0054C0BA2
+1293D3B4EEDF7C5C78118138544A60FB1A500F72BA39E63EF5D97D68369850E6
+9B6336DA577128DE68FEB71877360D97204B5F3C06E808BF95AA6D6013524BCC
+85CBA9FD2CFEF383645E7E960E7AD471A6A3B8B8C3A0A0B8464836499309D82F
+52004FCDB68997BAD9E4B5B881634FE1213283B6B19308BB67F2364F7ECD5534
+467EF07CBE71989FFCBC6224417C0710EB3EF2676B9DE846E7FFB1AA6608EC9A
+76C31724A19ABB2AD08CC102F5DE8E4E513F90A53F06D440A66B000CCAF6AD12
+6F4B161B56FA5FAED65A24FA183B84F4B45407AA69624068EE0E3E47BBE973CA
+C72137823F1D676131C8CD5070092CD73FC2A93E0480310E21CFB14C031206AB
+411694AFE7B639ACF35C28705A115E98BC69C66F6C58E9E79902453798D76267
+29B780AFB6B895B34CBEA51530E8300569EE4D500527BA294282FED81F730A46
+6ED19AA5AD45852739882216EE937FC45D75116BBDBA6FF4B4423B398E383CCD
+A7D705B8BA85076133E823300C3EFC9EB9399575F5F6BBF868265304B299AD77
+B6B4EEA04C83E163E8CE2BFACA65F9DAAE3AD2B0F8DA1F986E6A12DDB2AFACD2
+217E37B093F46FF3E20E587A9490401C2833F5844763FE2C528E151214E8CA95
+018E1D8D47C9EB5FB4F0EA2A6D064680DEFD2C5489298F83B58EA7FA8CB019E0
+671028C59C3E007DD86CD247889ECFA6AD6DA2433B02180DCE6ECF9E495D0976
+D063A61B007233DED5E3F351D790F26D4011582735A69F37E7CCBB0AF254B925
+B378522B748BD9BF152E2187DEA12BB168C42AD8D67D18567393B35DB2AD8403
+5A7093EB59FC276525B8796FE81944F7F03349BB077110E182A61754ADECECD8
+A5255DBADB523F3DC251A7D97F17DC76281CC632FAEB382A972D60A15FDDA57E
+2F42AA338D889B47F6A3C1FADAFA8D11D63EF8D0C8C0FCE61FBD8AD34EB8DB3B
+722BD86CE5B1268F704ACE82A39466DC2D96C9849B9422567FA5E728B17FAF61
+59A77E9B3289DB807DF54D076139E3DFE176C3131FA4540C1542AE5AD6200FCD
+B92D5DAA77DD4D3022049B6EA2A037FE96E0CEBB1608C663F1373246FA74D70A
+BAE7BD37F3AC23E003204FA8270B4514DE1FDC5401B69CBC98A67A5CAB5505F2
+87C242B6ECC86E88EEF44B9C79DA5F88CFADAE8B4CF437A7CBD5E0C01A9BC479
+E92EA48C808820C567E74D62ED7597FCEC53DE9A0B3EBB9A3FB50AEACAB82BF9
+2AA56D029357AAE016582592972ED01C0ADE565E87607F17BCF4983E3321F606
+ED664B9516D404B277C2C1B0F873D469D64A9744D9C1897125FD471E71BE060B
+A3A617DC8D812E184664BD83EC74EEB5197611380F2D859E1A61A14404493D04
+B5537C04541E557CB5039905F37E72B762EBD2321633E12C38C409338AD5AAD3
+1A507BB2B8F5235F0614D0CEC2BE44CAD504C9B2CD3E45437A493A33B9BF8A1C
+3FE66B1E673449A54E8E3C3470688E94EE4404C888583F7C96B43A592D586D25
+8AC1F206EE5FBF3AFF7EDF9BA91EEC6BABD573D455E0AD6802E7E23A662D4F12
+FDDA00EA054CD331DF86C099C4BE8AB4EAF5D8EC1BFEFCF50302BE61E6FF26D8
+1E88C544570E8D6F7D875466C70AA91D6CCD4DF4BBA34FC67191D1692D3FB76A
+66F114152956A5E38345E7495BEB1A389B7D0A59624ABA784F77C1BF7728E556
+F9D97D71858D61624C22C6914A3A995BD75922A2C37EF2CA91F923A4561CD3D5
+2DCEACD9C3A65A9FAFFFA4822E79D6D89D6366DA6362DB16FF061840582DA35D
+E4EE8308040C2DA5F298944EED470D6E4E1FF58DFDDA96C20C85E2DF2652E12B
+2EFB8F890D301E8CE777678FA786E552A62A60DFC369AF4BDC069F5457FC86F5
+1FB1A38A2222EEE86FE1AC9A8227663AE33217C1F381115CCD04D2F381A27E97
+36D356DC64615AD63E1952B37AD4F967317D76A6DEF039CE8446AA634086BFB7
+7B0B34F595B61ACEB346F51ED10ADDB7B852B5B2BCFE416D0435A7CAA4C9D9A6
+152D9AD938F39E9756AC752F1604D884992BAD768C720C45479F5AD8E53A4832
+1B44D6109DE4460A662DA6081465E2BE02ACBEB52259E046767DA24E1416FF44
+D5AA1D303CC4249510D703CC6CD0FD7DDB078A91089FD86ACE1721F875F019B9
+82D7C5B2530567F2306F47DE90EADDCD12AA1C693B1982827DC36A74C86474B7
+0A8A2E084CA403AF654E2F8488806B943E38ABF544ECD45FECDC441DD970B180
+FF3FFF1A50D5E22216B240A527F95DA1E43770A3867F225DD2A8AF01A965E06E
+A063997C4CDC0B16B52F9B9C8B0DBA94F88F26A7A01E596DCF8F33DA3DA5B02D
+2ACF771F25A1372F521A80B93DB0337886FCAC0A2E8FAE0D7E1E0C31EB43AE3D
+B4C2020F322A9857A9EADFA7782CA70DE7421B9A83DE1873EED8D096701370B7
+7EC33B9C104E9CC16DF8C80ED24D1F91677E355DF037621ABBB75E09ACDBEB82
+30F1AFB82FAEC4D9E2DA93303F72C1078679EDDA35ABF2AB38DFF091AEB273CC
+5A7B29C0164977160CA75F62BC20474C7C1F127AE7E4DE865FBCEF852698AB80
+B61340CAB6F86017FEF570104E46B6FB3320E78D387CC58DF1C4FAD8570C0126
+B6F54AB5BCD47904A9255366AC9C88576456D3CF605822269CC65979EC3CC740
+AE3D09257BA3AC7A364A7F5EECA3E658AA20B53423553C416D98FD8100D80A30
+A1B19F029B7473070D7C60CDE51BBEEFD2B45B1C82F4FE32A5BB6BB5BC32BBB8
+F600ABE893B83B806A5435AE2B40E5CEA9068C6ABBCE73C9B3533520439F28F5
+E171DB1DD90B2EC04A1F36767B2B97D4EC0FBF217D4E80ADA5383BADCD7E066F
+5F4B23738A14F19AC7D765119AAC9AB6CD0A8AD4EAF8955CB9F5BDB0156CACFF
+236D24E8A12AEBA549FAA9D7053D10AB7094B5D9B86FC7375E245EA8D7FC64B9
+859A1A37C006E0449AA8DB8B89730348C71C7E014A2EF8D871AAA856407C33C9
+392720173DA60850938D0537564455C3957631AC8F8C0B3B29BF6163828796E6
+0944C3000B990715188203B32BC4E3FCDF173A4A9C78753AB7D76BB9A4C2DA4E
+3EC638753D6FF6356EBB07D0A9E8D3F50EA5451FB6C836B9E5EBB8F1331C8CA0
+B0CD271AF316502CBE87F652B5ACCD43176AAA32C6530C69E77E3C85DA496F3C
+06980ACA739DECB5D986622AD81F204579218660EA791774C2D11878DE23F858
+BBC4ABC7EBA01B7FEBB32BC914FEA8E5720731FD43F8A5CC53954D13455827EE
+9C7BADAE8322E77EE7413D6C86E6D378FF8044F50F529E765A1CAC29E8B1D91E
+CD40F70F2D4890E0FD04502933212D5AB176DB143831958605C1667B8841E770
+CB4D513DF0C3182C23CA653A7A714B2A8DE29D6B203F5A9481E0CF3FF073FC6F
+476B0B205136DA43650A940035A970584DD7D06B7CDA8E960186158B75FE3917
+9B1D0FFE45EE1606C875DF635B80F5A9E5B67A6ED748F52A53A710A45AC20BCF
+FC96755E685A3B0712D5E09D860986C61C631A8D2A505C57D57C1D4AE78C552C
+DC5C9EE15B82A4C3020331B78FDEFDE53974C391F375E8118EB7B2D23DFA3F15
+389043EB6F33842C82B896073760197B13D3DAC172D77779DF517AE31BAC43BF
+5BD6F75B59AAA59C7EB81B776FADB720282DC06BBC9C33AF5AC0BC59F6A0044E
+3898A4B5868EF32BC4F980DD863E8EDF6DE3E753A7B3E39F8E8BCB3D3BF14EDE
+3395E73BD07440FCE88FB28A96878E823C1E5519650F2054EC2CF733EB8AEB0D
+510E5659A3179C3FA8E31EED621BE0EA648D76C370C3CBD8043BE206F28699D7
+5871DA483AA5D3580CD55902C85DB9EF5CF5D3191738FE64DB42410F5AB8ACFC
+CE07E524BECA5633B082F4793002A4A7215AD1BA31159A30D72AC60EDD0B2BAF
+73C9934C85C5372B47BCD3ECEE463CADC05CE8352EC1399ABE2465AA53E5965E
+79400336B1F5D1401EE2DA5807F9701D1086DE505F6AD4E64DD4F3E5E90CD64D
+FDD25E6FA03B679597CFB8C5C1F03641CEB7B9B40787E70BC6B063621382E3D5
+1287365426E44A2EA208C26155CDF782F404CA7B3C6D379103EF4A51CA3F1343
+22B04A0B55CE5A7633175838B9E50480E9B80446CD3B541362E7A10BB3C58A42
+88C0FF580B4A0296073F5B6505E4FCCA5D4BA2F7E8D59BB04EC9ED4E664BC2BB
+8754777594DB26DA0985663D321CCD13FB261BE8A771470DDDA783493E452A87
+D0AD01AFF8EDCB7BB159F1408FBCC52F126C46234CE6BEF241B49472102598D6
+91FF2DCBA2CD0E6658A61DB3591EA02E4DF202954B655C5A3C34B14CB60CF9C9
+2A6683AB282DFD79B33FF3A6AA524582F174F11A5568159083496B242ACD2770
+0ACE8473D363AC11250E5DCDCD3CB2281B71FCEB8AAC1367D0714796AF3BF01E
+80BD4B05A0A45E6CFA6C672850B9DF113F5EB15923ED885A0E4488D4914B62A2
+FAFB6A63F8AF0CF0DA498E1BA68C4150B6E59CBA80BD17026FA09920006D2075
+BC6F1010D0A10648A20D8ABF8137BFCD6A5DB3606F6B3CA51E8A4645D32E5966
+6DFF7537F65DA4268A86BCA5791C21F5FA9F4C2F1F6C1AFC4D4BADFA63609C4F
+5F5158608E6FFD9C5BF00646C3AAB983DDA5E37A9C2EA81796B161A06201FB6F
+8EACE87008EE7A008BFBA69AAC04D73A8C0447FADA0249D8861ED405537E23E7
+BE68C4349FD64A14E3A53D6C6484E704BE4AD5FA0269F56D3B752A070D9872FD
+A5CEE543B413F13CC4CFABCE885BA4533EA0969FDADC14DE6846B330552CFD60
+A75BC8C9DDA76102E48DB6B81975A1F3FBE182CEF410841CC6164AFA0CE51FD6
+8E8E6F0971277052E21126909B5EE51508306B886E945C11DFFE1C91BD0D79E4
+554CC7D6A774C9B98610A1E49C3326D62F157CA9D89B56699F32DBB9D49C716D
+CBDEC052133F8E18E8F3D7A59008398AF3E4E1192CFFE4D0B7D2ECC8DE2ABC1D
+4DF7F2EA5EC0DD756CB2FF9F95FF10E506463D3037BABD221C08506FA603DE1C
+DC45A5998921C4023E501DBA494C1F41C0955A761AC3D5B13A88EC4F0BF40756
+BAE8645EA76027B8AF74726521DC129B9AED4BAE67A511EA56EE9D0D8D30C7F6
+FA8BB890375A263A0BC4E9CBBBB8F8F8613A43B10E964F8CBD6BAA2B0BAA70C4
+4CFAF6EBF4882B610AE13689823D37B046FD26DA85BD96B896CBDAB6662573D0
+2CB87D45A86A016146513441BF7A748F1E9C2AC7172460EA628BFB22F9797905
+F6DF6749F13C7F234A2CE4829D41E0F53EF3C5F52165297AAC4B5AF4747A9F53
+60370B4C0110DBB42C25308F489A856B6664371FC2126BAF4710790021255653
+CACDE1B9ED6AF5C696C3D8BEA4698DD9045B3004A5C4C03EA994A5445C9D4EB9
+865266850047E28F2D82A08617E9283FE637CFAE4F7F261CC2D616A8C746EF23
+7360553A6B434201944C04B1522533C61F615A20BA3678AF8D4BAD1FB548D82C
+72D41699FB96EF40ABBABDEE633F05B4445BFC4E6E661DCBC8EC473BD2BBAF7F
+75F7FC86CC7B1F3A2343EDEDF6B5F7E98A0BC4443E21611F4D807FE7F597A37A
+A4DAF8A8E6D04FEFB320E0E25C61E156A72A3E4A69EDA04B0E3B72B69FC19E63
+AA33A682663A8F37F4FFC1533CCA2A80DAA675DD723A7E13D9DAE3BB0F5F3E07
+99BAB9B9BCFB29B73FC76EFA02F4F632690651DAAEC2B3688B636F0FCB156047
+F8EF7239716BE5D3DB2FD1DAEEC11DC2D65CFBEDC1C950CA737A04FCCCA509C4
+7E47664E160322366F70CCC641B9B49192AB839E0AC609AB2FDD3783095293C3
+11C56740FB50D23AE9FEAF66DB13F35367B562F15161AA270EE44713881B2387
+7889FD10198AD4D750390811714DAE7A8DC6F5770224E93408F8CCD4F8712A9B
+3C583C983D98CCA7FF9DDDEF8AFA292781B1D7089336CA631413EA0728353E8B
+3650EDED7ABB6E5DB5B85014A3A9C4C76EBB664A5B3E0F3CB2ECFBB6294F5C4F
+69EA3AC8C071B122B129A28E04FE989DA9670EB6246806A516517DDBC52DC001
+4C027D51EF1F98506F21E63D57FEF267B913F1ED4770D892239222F3A9035C35
+FFA38D1AF3ED9A8C02235D7422695D30A2F801389DADF34CDC489EEB38089B6B
+026D884EE1C24FE5785C383B988FFFEB5459A1644CA44D353503AE117E87F956
+393DEF6C47D4E1C5B1A33835C9B8E1B98809DFEE43C4D6DBEF1C2B1ADE4B8F13
+3B5D224C25927433D5738B0FE019CB88B1F373E4AC2BDB5BD86887FCFC50FA1F
+3E01CC550BE5FA0703E1B89486C67E8A16C560DBC051028078BEF85B349D3058
+55D633040BF5853FE9E50A671CA0A088959B2AACA1B614DBDBD906FBCB6A6B13
+7ED6C5BF448F92E9EB110ECAEADA36CADF4B6D79703CA2EA9BBCC810A6E3532F
+63C155FB86CBF6A6049D730B4729C613BD759AF3742399C6B118C1D2B38FBC4A
+22154122B3E325ACA78A9D418FB443FB334F67F8BD2D33A8491FB2E85BA2BB40
+F538F5DCA031BB3A7E6FB3A47391B9CBBE69A420143793087399AE2CD4C47FB1
+9A93E945FA671D902C95EABDB29F20FAD4D984B5EA0D9F7B1896F77899649E55
+098A11CB40F7BF083B1CE8C511F5858E189ABE6C7F66953621FE5A90479B79F5
+E20C65EF767759387B788A7759465B889B262B3987DCD0D2FA2A948AEC42C3B5
+33C38B3B2E312EE8D2DCD5E0AF1FDF5FA0059464ADC08ECAC4614497F7A7E702
+A4F394B0
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont 
+%%BeginFont: CMEX10
+%!PS-AdobeFont-1.0: CMEX10 003.002
+%%Title: CMEX10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMEX10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMEX10 known{/CMEX10 findfont dup/UniqueID known{dup
+/UniqueID get 5092766 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMEX10 def
+/FontBBox {-24 -2960 1454 772 }readonly def
+/UniqueID 5092766 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMEX10.) readonly def
+/FullName (CMEX10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 32 /parenleftBigg put
+dup 33 /parenrightBigg put
+dup 80 /summationtext put
+dup 82 /integraltext put
+dup 88 /summationdisplay put
+dup 112 /radicalbig put
+dup 116 /radicalbt put
+dup 117 /radicalvertex put
+dup 118 /radicaltp put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
+0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
+51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
+7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
+E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
+0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
+C01924195A181D03F5054A93B71E5065F8D92FE23E7BC2A6E71BCF95FF3DA948
+1A27320759222BD7BC7C1A533E90058824F06942F0234C68671083E0E4708398
+D246C94F9C16DAB6563651BA33D86273FD2DB3C50C106F3CA95B1C79778D0BEB
+B99D9CFB38E41BDCB4261A86A23E2CDEE4837D9B6F0E85ACEAA984C344A63709
+EA35B61F08821338D363D172BD185A3658F43052AE1E61D879C99DED7F6D726E
+FAFEBD881BDDEA91FB09DB75675FC74AA2BEA8771027C7A51BF849F8E765B870
+8F7CC0871F301ADEF9B71EC3C607B2F51325AA5B3DD74A2C5426E7B329FAE84E
+94A159C8C9C35E27A0FC93FB98A4D616750DAD50068A5F0EB96B8228946E5CC6
+B69E93D262C92E3BC7161313156E380A2ABE27BE400A23DF95E65A4F76B3FFE4
+CF3CD141B006C487EBC73A5A101466D4388FB2CF1D9439D0714720BB58537B7D
+B3EE1F04AE117222CA5F0E5942F7A875D55D91D63958B1A02405D9DE08109B8C
+7104F2D109EF7074852DFD74CBE02E0F3704F2BACA14E05EB1D0D9021EFAC23F
+76C2389F8EA237D2E2AB6AFA83A725E16AECCAF025E05F1B1B5699D761F62A46
+EC6F31B0FE4769BD0D66821592ADBAEFA9EB454CF1402FE870F5F96D09980C1B
+8B6D2FE88BE56032C1959E6C3DC319B6A7353F3AC629CE5BCB947B4B235426E9
+4769302817AEC1ADF50E50265AB488017634AF824D44D3C8423FC7CAD97F6D6E
+6B34313637687FBDE3BDF6FC951CB41277D8EF49D14767B59656D214C9724DC4
+0523EF896F4E48434FCC5D8423F07194C54D48C62AC29001B10C9C8B514B24C5
+CEB60FF68D36749711E108DBB52738760FCF6571D5B04E58F24CC0247834B412
+D0F6F8D7F1573F23E3E399D5A3A3A37FCFFEAFA044A5694D2458EFF2BC1F7650
+8FB0A27C505A20C16776EDF94BEF9DF702F3C64DBC1939BEC0399B6AB283F832
+DD8FB358F701CC075C596FA7B0ED7A9304DC73274C8169337D55124CB748CE26
+A635B2704D8F65E23CC0FDA3C57ED451F8FDE7B6FBFCE2746F5AEA11B065A6DC
+C3D200D962A034DD6757991BA62D8DC0408F49083D48799B6097B61343365A5B
+30FB02E9CDFB5104FB751BE8A268EE55C1208DD8B29D5635014EDE9D0D94BB64
+ED5643B3049027925BF2FD7EFCB631E01269B731AE12AA6226B2656F035C7E92
+959C4A21BE40D7C138C8FF28C9FD4B768CF25F08859AE84FEE6EA18C033B3659
+D9EE250BA5FF2568E8BF7684A93BED7852251D1ADE5DB815AF3AAC36D1A500C9
+41D1BF3A1926828CD1F9E501ABE441A07B1B96612CF0728AD5FECF7480421F46
+0B18E06D2FF1A5B1183459C59517976474698BCE18A728515CD489A83C001AFA
+47BDA929F60D0FABCD8786AE16EE18615C37D18703571936A365D334BACA9BA3
+08E2523132887B5EE95ABCE8581C78C3E858DBF35ADD56A1F6C2489AFA73D1B2
+379C5064DAFD30FDA84581FDE268B470636EE35F21648955513714F6EAA08AF0
+249C937721DB0E93D95C4DDDFB0948051953F39C6D2D811D3FFDC25F786E072B
+2A8A1F4830F9CFC34666A1D3F13268980E9A26682CAB64817318A1E266F3D2D2
+DE4EBB3EDAF0E7B526C838CBD7F37E74A35B1C3EB96DA4099DE689A53970D4CB
+9AB355E93EB294B07DD09356C338BB4A61C147BEDC152E58DC92FA69846E4829
+551A5330006793CD88523F7B3AF7B4475C531C67A4B66A603597EE72C4ADA491
+BF13706F341125CABF37FADA554FDA0BA5534C7AC35F1829E250C885D9A9983C
+5D1FE8CE24458A8B13E5C7EA22BF1608AFA96B83C700889A2A6C9C4052DCB892
+6CAEEAA9E7D7F3E215019719B36A5DAFCCF2396FA0C04AD99A7C23772A7BAA64
+D1FABE8E476EAE9FC1A3E08CD6D1DDC6E087934E676BDFD1528652B6B9A50A35
+2029466364300AF4CA3C5883F6293A7104617D0858B3E43D43752F814654A938
+A44C33410BA0E5EA7BF55D4F1D57E27921DB05C059DE29BAC1BFC9B607D2C5CB
+1DDC47793984FBB18BD99E1DF7776B563A55E15DF024D6D8E6ADF62F16F602A6
+7DDE1C68637672AA9C7A1250161502ADDDC1B4F6011A9BD5605B73AEDC37CE4E
+4467C838B7692C4D541EF87DB41123F9DCCFFA971553A5D9B0E7EC539A28750C
+8554383585CD8B93DF731A301D85BA9ADC95B4A3A237794C30230A82300B6756
+AE5A46A090958109C5565EF60B0B16D6C0A16A56644B05D3371DABBB67ED9BB8
+9BD3983575D371419C7568B2556649402AFB9843106729E4EA87B3F9038218A1
+F820B098A1271E330708432567297CCDA332B555A40C62BAEB16330175D28AA6
+13AE6939CEFA2334E3E890B66A73277F0B63B1FA59F856ABECC5FC0A50571F5B
+0747FA554F5FC72A51E215304B2E44701A13E41D91397B204C66AAB3D101004C
+7FEF2D87DA558EA057BD492CD6EF93601CB63F78426B502CDC5C8E9EF4FF3692
+376601B1FAADD801602668370B5ACEFFDBACA8F8B3F4E850D07A20F6F47440FC
+FD39504F0FDFCA35AF2ED0DA8BAB63AD42EA8CDA912CE17F5E62192DDD912333
+3E9FA0884117F07221642490044A72E359D5F25D9591A8FAD568A3DEE435C354
+11995C0EFCFEA21735DF44A30F79F747510E28767A4266461D1394F81344F6DB
+1FA8D0B0D9E5F52FBB663C8F1E91192E5608FFEAA178B93F8298F70510A65BEE
+12ECB5D675311B5B3B19205476512D92B1D16262720484049370A76F78D9BDC3
+02EB96AC1E5B3CB078D2F219988FD0F36B043ABBF347B22D36CF541A8F80F791
+8E4F92D900B7E7B64DFD500882EFBBF23565FA470103B2E0D2D14E3E4D7827D1
+BAA0F84713A8CDE5904FFF2794850871DEADDDC53B77A502F5CA98B0744BB656
+2FC40ED2AEBCC5CACE2301E983E6C18CF16AFB9FD8CA49DE51B22F4259D43076
+DDC1BD4974CDF2E733EAB6334B1D5614288CC81FDCC722CEE193635D1088FB29
+F80AD5CB96394AE89D920DF8E1F271585AF019190F17DB51FEC9064B54C3A53E
+3FD33C3B553FC79F743BEC9674743BF0A821051261DE4527A2BEF4A04E293E97
+02B181EC5F5EED3E26060F2C9EF6852B7433CA1BC1690C30424B03C522A087EE
+92016EBDAC4B787133B4A22BFEF0B6CA564C6EB910E1DBF983CB4CFC3A1F8A26
+45329CED7F5A8704ACE9D4233583365A5A97342A053EF403F0567E9D0A62EBCD
+84B5D7145BBB11D31046BC2CF5B450CC68B85DA0E78EF8902F8D37DAAA9D4242
+455288C0D73748F9BFEB1B1769D6FB84B94993D5F7C2B9CBDF75AEF2C930F277
+210B3CCB8A0299F50AFE2548A4B8DF5ABB52F098ECDD56FCB8D3A406EFD95088
+92D7EC39FDC7EB1824ECA24D0CBC6EC6F4C6A7F9590D593B269D2CC0BFBD961C
+AA8BB4296B4E4411B54367A341A5EDA97288DAC370A015FDE6D7FB0A4CECEFBD
+1A67DF3A3703E922BEF2C414FDDA42482EB35D5DBB206B44C76C412A435A0842
+6845EAD204BDF87065CE2C99B05D2D4080D5D11CFC3316967472C7DA44CC1F9D
+51B83B4BE9B882D6E9ECB482F9855D024ABFBA502CCD624E0F88164A6F13CED4
+85F20DC01BB15C7D78B1C79FD9FF71F4B043F59DB5C297768115542BC7C8A99E
+ACE39A268D32122541FB441FF1364FCBA2B7627F12C49ED038BC044B6D9D533B
+A72D35317A5AB8D91A9AC56CA90D1DAE9F967605C63BC9F406FB3D5BAEB4B38F
+4934EE3D2F5FE434B45CF5C2D0E5E417EC279DCEC4F16504EE40E837B11620B7
+7526AFF23381ED3E9A92DA4DBF4EA2BE4FE444B9A74AB60EFC818E20DD8B852B
+DF8CB659C0A3956D0DA61F49A9DD467726E57E9B32EFF540D551A67213D40273
+AEAA6E319D92B4B406377D36DAB85662C755D76ADF5795C52D54ECCF0DE81E30
+B84F951233A0A400CB063911837F0AACF44AD2441A7CE08818D64705E1ACF7E0
+F59AEFC5DD812981C5508385274817056B2CDCCA4C9F3103C92838917EBFEC94
+21D5737AC634B23B6F7F63B166D60C6BAA8F33AF44379C5A7337E737190EB3EE
+14272B905D08C01EA118964D3444A03676FF3B62E7626168FA1DC6220699780A
+0BD5776DDFA26BF0BB335B3C978CDD5CF1A419D4B5C562B3974FECFCF0118199
+E547EB287CD92E32E881F344420FA3CD97333BFEF5D7E1BA31FD20622E5B4F95
+692DD0ACAF01D413B21C8608FA87B470191C3CC5AD333263C955B4ADF4370FCE
+D6667FC93495003F4B6AEE4F83603D55F19EFBF56F955FC9CC01E494804952CD
+D426FE706C13D41F87C5C668D8B6BE50AE0370E07F52AC0534ECAB1C19851099
+FC0BB1EC2A649795A62299F73CA606EDFB1D28183DC63ADF67294553115E8C57
+7CB603CC491A6065802B925E6DFBF42917EE6E44C714228AE452851D61BF70AC
+844B5D800EF029357FD659B8A648445CED0ECAE1474E443124F4B3644F54C556
+A330D92EABEC7F607C6B13FACF69CA928F835056BD1A8ADA20EFE6BD5CF4A1A0
+8B9E415E4A5FC6F209EF05ABF2E0C55F6E3060D1C72967E1E68791499F303C8B
+3960C5A1F2DF6306710DFA98C8D0815A06B5590374554DCCDBDC4C295B3BA6B8
+8BE3200CD4421A521C06BE39D4CA495BC63F3F982CAE3C82AD38DCB537E617D3
+34BD96EFDA7C6A0F6D97A6BC9F084645390E194E7A11399FCE4EEB9A965909BA
+6EC69D34DBA081BB3F18BD1ADB1AE1B7FBF96E4C546498667690857EB6931841
+46C427A5B7C7D99FF889582C4AD11A7D267B301C5A5AAD9DA99D5BFD438238DA
+62DEB899FF0F7B7997F781315B2CC328BE3572A3903A33EC901AC6BCC7F152A9
+8A6865C6CB17189A4EEB699006A5F9D4482D53A76E88438E444F9302C79F0DC4
+B3033D29D303B38F5959F020337EE6619DC8A8C3912101B02CF8AD113BF4BC29
+8C6B9D25AF6B6A787F222C05964475B49B6751E3A3A6EBBEA03677D5B136B9DC
+6D9AC20193BFB0759E89831C9E2AF68BD45ECC81175DFE80DC0879069ADFA8E5
+24CF3C84121CD9739A28BACB9891945FA4E72EC07136682E18FCA81938FA6A3B
+8CEFBAED60121530E33C1C0E698B5923D6AFC4E907A99B1367C3D435CAEDEF5F
+878237453B8DB2FE53073CF3319FD096343F42D68F097759D051AEE17E4FCFC9
+86E17099799DE82A38F22D870BF7AB90890E3B5264976700BAE594C8563A218C
+C985D9A5A7D7BD959F7E4E66286833C86E89203ECECD6FC4C6FE1F04010218FA
+A5714881C4C846E85F13BD68AC250CD0E488DBF60BB10B2CD7AE2E30F9C21DFA
+0E84F76B4E996AA1C5C056E64BAC85622C160B56DEFD4DEF86887C1201F7C20C
+076D4A27BA69572BE9C89FF3A9D3BAA5CAE0A6F2187AD01ED497798A305E3BD8
+422DBFBF45E3F4AD35240B07285128B59FA9E83D9F6A2E620CAF6DB05129D930
+44CB241CFF84E776315114C3AB61FBC0A8368D9154CC5066E2B162E89DA51165
+F9CC075F2524F9A8624D2B56ABE64AF93B9F0407CC770C1F2C76CCDC06345D03
+7B173C2FAA201D8E1F6C0315987A7A13902F4AA5ADF081C2B0A01C77E4F7A3E7
+6A4AAEDDC577E855D69D38AF6A1D271B02AB496D94D81996FB078FBED17F833D
+C6C0BCE141BCDE277D530951DD6574B9CB3CF0370D74211E9AC00C7CD3A67842
+0B4B72ED517E4906409DEA7993D0B8E92D418139960EBC86BE63A1B1D417C451
+8BA13C230DAE1EC4E466F23351D410D9FC4A7BBD477D5FA07659B71CE9921B1B
+6755C67AB3D4988064004CF75948879D16174E8097C91F7544352474C2D9A1F8
+A1813BC6F4BA13E952678F5707F19B4799ADB3BD186DF650821DF58CF3C78D67
+84E4E1DF8DACEC50D15647C3DBBC3C4355E602D3A03171FE1CB36FEB940211EE
+0A5300841DD7B7CF91C02B3FC5D89C691156BFF8A38C6C72789DF260B868AAA1
+895046E405661D97FA9A0048AF114A89E3ADAEBCE541753E4FFCD902391B5372
+6A97E32F0257FA9FA1DC15BD3140EC7F0CA5A68AABCEDBE73C38B35FDF195F96
+0F9DB0F592C188D72D73512F4DD92D2371D1A59254BC477CA084E68184AEAB6C
+266BB21DC3AAF874DE999AD2A17C79621AE322612EE4B6D5BDAC511418EDE90A
+AE75066AF19662C4AD855E4200A5D67BEE4ADA9A399192C74D35E59B15FB61E7
+BB167282D32D538029ED22CC5C9860C1F6B7BA7F33D5CF108D4BEEFAE7B37E67
+39391F9934DE17956303532ABB011540645DB8420749C9B9A019C3CE86ACD566
+1EE8D8D5E0D8D0DEAB33B5413EF10D4EE650F82417002E436E0B3B628A657F84
+074098C2E9F897D9AB692E0FB9F268E6728F94A79CF4D6B0A07C8DFDC1D67FD5
+EDD5863EA8949D180B1596D0009D662FC429449D76BF13D83F0D0CF165982443
+E9CC288CF7C5F2E17EB7F3736D1FB814196CCEAB8C833720E3733BF594E1B536
+BC0063080BC751F9DA1741522B2967D07DDDA169E7D3417B4A39EFAC15EA5E8E
+DE3473CC9DF991FAD2A971F44B09635085DB02D692F149F144F3DCDB69B72C53
+A2AF34C65DF0D5F35E82102E67B733750646EC03A4FF47138F7998607BD93AB2
+B63A0B82E8E225FFAD5DC468077FBE8C8C8E5B4BB10A8FE836B07367D742BD6B
+D36DF5304B9DF363120504C279453452EB177FBCDAA6F6FB78A24848F4A1D94D
+1E49F6C46CB36796F3F4C9739346381F28AF085C5EBDB2A02DC0570C7A21E097
+77522D4947B51182431BCBF3E55CCDDE93A916AA40CEB577277FA512380816DF
+9111C56F36341381D62368E70462577D0C135BB3CB4462B269AA8E0F03245BFA
+D01DB8E23F2DFD5DAA88FCAFDD51D48E562EC649DB1FFDA0FD8CC8C48E6A9207
+260ABE35733D75630053CC74A07E5AF6FE87BD5FEA69CB6AA20122276AD92853
+6B225BC9E3350D1B1362E04C7795D473F1266852B02C83D02D938C55D8F0C671
+7A9205F8CD058304DFA034D99A6BC16C582F02484A089602D42DF30D7A5716C1
+D42A4CE56C19E40C01DC7DED931FA13679CFD2700B3826A1E6539AAC12293DA8
+664DE251C5D1761BB45FE364CE3F7F7E9B67F86EB31D9626CCACE4DCE03EF3C1
+0D2FD1B12B5774510D46C5C5CBF0A34847418B9A1DF0C67789422D0EC2D49576
+9DDE72D63A4A98613461A6F730A05336C691583F96C3CAD2AF7C4BFD3AEB3814
+D909858B6598FE19397006C8C4D549AA1635968F47144E7861A2BCE8AB4CA7F0
+4D253949AA0127559FAE3161C810A8CE22A3079602E747C9398F9C8B2A868F23
+D77D7AD6B980FEB038E0557E58E1D7AE471036CBB96B83595D9C96A4895971CD
+C2A810651A045F876A1F5AE470BEF39F856808B1F8D736030A722E1576BDB3B4
+4DF06F73D38D313C8A0D3504EFBC774750C9F6E687ABCB1927FA1BB3882AABC1
+2306A030CEBB259AECAA646C6497712F6C1E9DB7E1365A60EEC5AEDD5147A77B
+1E3A10D73C477876D54FEE853D953EE75F7EDFB287550B93CFA8250D1FE2FE7D
+D34441F1224F3DB1D355188819EBB98A94DB193B9CA23803869DD10776647BF5
+5BB42031AC44A7339DC036AD0292AB9B732E6FB79BEE852A103C3788BB0F4B72
+EF37BB62356F9B2DF7F5899A26F1FE0A3D6469C1034B8AB14F52555EBF6DC592
+3F24D6DB395A3A182ED4B8ECEE8254661C19CC942F236CA40BAABE818EC312D8
+7F5762C210FCE8A3CB9A23A24D0A751A09F4FCFB72DD0FB3AAE0575CF97D126E
+1669203BE1C8F8FF626F49E8AFA7B29EF26618C6D8336D4471314D5D009BEC8C
+D914E74D0BE7D7C3A2511C0DDEB6FE04360D54FB3283AD67D9DCDE211FAFD19C
+449E201F2913232DDAFB2043F674EA73C9F043EB73CC9A96289B3CF819DB3E56
+5FE403D8C387C99979ED9F8EB2F6578921D5AB9E577C031F9EDB87EC734958EB
+C950C93CDC8C2DD2785A2E1EE8BB1E27175D9DB1F2EF7148779D9B638C817C82
+FED1C7227004C0D3699AEB33667331B98B6E645EB015591EE192E7EC6B869E15
+F45169E4C2C974D89C9E70278C1F59D5966D6CE564446AD90C11FE1EC9C36615
+1CB9076037467451F0D6383B28695DB778E2CD1DAA659E5583322824AC006304
+D98D78F680DF44B5A27CC9224076F81B0150E7625ED2B4476C4439C2B377881C
+4DC9D0A43B3ED2C80535FA30A5CFE640774B45E52AA7FE2803FCF6F0A8D62CD0
+A0A9714B51593F7C31E905CFF908BE3455ACD597F50EEBA325C59479A8B960DF
+5744D08F4AFA89BBB654B8EC5201F17ADA1F45837D20285BFFC71912E80D0A9A
+12BEFC455F2B7248FBAB43A4E24CBC1D09091D173D51B3DE14E163809E7A5ED0
+97F0B993FEBF3C46C8BB064B233C54AE989A6AD6E86E46C9796366121A92E088
+F0BAE6B5D8129E74199B83BDE53C2846CADD5309A1E6DD5147CE32663FBE94AB
+AD1AFCE9F5AA12D4EAB9F6668182EAE0F6EB5637792A12C853E091416D37A954
+33EFA0E81C20BD1BBC9DDD6F731BCB933445F495474168F7330BC206EE94E755
+5AE15246D7A2E46445C76D3635836C0A90B1378ED6A45B1A898F1D2CED889E95
+CE8D5B81243D7DEE6ECB3895F9BB4126095E1AB6DD7702211FFFFCBBF784E1D8
+7CF18DE046E3957EA95F68CC81346708A349FB1211F6BEC5F51D5F011604D5FF
+A9627BC2E73BD75928A1C34E8AE597148E0792D4B1BB7BC848F6EA690CF8994B
+08246825C52BFA2CF7A507CF5DCB4C96562BA952A714D45441A41944C76B9C0B
+3043B7F82CF0B0C7ACF5F5EB3DF5109750A1188A1DD86D2CC1D5C9352F294D72
+B47C350C85663BF64ED1717B9A1AB734BB7F9AEE7165876DC1178702DE712FB7
+48AF275630C0397E907A09A885ED1C116B35021255117EAE48484759D992D1CB
+0D7E520DE627D72B70769519DEEC3C3863D69CFC257992EC7239DED6C1084070
+871F9C0A92B3ABB61C99EAC038BF75E4A9DADE88DF11893FDF0828D7334C4334
+C109BAD7FE89D6A84B62A4C3751D84A5FFFC70FEEAE41D24C436109F0DFDB014
+327E51D5F5E956DBEB127F426CEE2E671F9318D3AF7347482906B636CA8ED332
+D809BADCE0BDED78295F15EF4A90B498EFABBA44393FB7364D6C1E05C81DC035
+5B9AA950F11F3289BE6616A237F76C3862CA3E73DA2F3466E42511639389F01E
+41A8098E4E1AAAA73E6B0357642416F1CA67246CD77D5C1ADDB2798E6062B806
+3C3B7F35C3F1077C2C51E5C9F548F856A26E16AA6CA5B52709A8FBA2E435083B
+0A592115582D667ECFC3C4F0F391A9416E6744E8CE3B55C9D8159618E83EC4CF
+7EFD694EF3CF01A060687F9CBF680E6D4749A76D01BC2D1DB28274AEE4C0C96F
+53D0BF5BE9C56B03859A404D586FBA00CFB5723A64B87C753F03064861998E83
+E5365136AC0B28ECEF9D570AAD73C35A52F70FAB9844410B3CE00B9485E411D2
+1419AE7AD0BA910E59F9FB26B9591B595212A0AE99E7994BE91034C1630FF625
+651A31B7073CB98FAE1EDAF75AF0BCB19F576F2AF9078D0E51937441AF15980C
+E51E13045728AC8FBA708AAA2C2D73EDA4C782D22A07EB6D933DA2275578B294
+CC4631B126DF2B9EF790A61A64EB2F2FFA7034CFBA285B744290525249400662
+39A16F2863E0EAF8D123C5FC5A01B991FD823ADD1BD4678EBEA374524A680AB5
+CD9C9C2C1F8753504BA85661C3984609B659BD3159E064186B65FAACC178284C
+0261A5CE7DB119B86761E54FC0E77B5002DE1E92C701FBCAE1249B4DC8A02B57
+3413F5234812396D4C750919A5E47005D911D625A867ACFC1BBC006A5662F586
+1B5284CDB0640BABE0A921F0488451E9EAF03A0BF8CE5900476473AA86A089D3
+7A5F9481FCE57C
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont 
+%%BeginFont: CMMI7
+%!PS-AdobeFont-1.0: CMMI7 003.002
+%%Title: CMMI7
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMMI7.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMMI7 known{/CMMI7 findfont dup/UniqueID known{dup
+/UniqueID get 5087382 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMMI7 def
+/FontBBox {-1 -250 1171 750 }readonly def
+/UniqueID 5087382 def
+/PaintType 0 def
+/FontInfo 10 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMMI7.) readonly def
+/FullName (CMMI7) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+/ascent 750 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 28 /tau put
+dup 78 /N put
+dup 82 /R put
+dup 83 /S put
+dup 105 /i put
+dup 106 /j put
+dup 110 /n put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 120 /x put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5
+45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4
+7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7
+72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E
+BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89
+974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674
+11453BC81C443407AF41AF8A831A85A700CFC65E2181BCBFBBAAB71645535A2B
+6F0F22458E1429F4A67307E01F0BCF6F337E0E2AD89658D880B04C26306F8179
+C8121B958459B923AC3B05B594D8AB95F75870019130442FD29578D44F5690BC
+7281357A5041C8A809A59D0DEE108E2A07D406656BC74A9F3317CB887E712318
+46B2ECAA341F8692ACC2D14ABABDFBCAC6F35858355F1D3228B0223EC73AC56F
+3C987464DB829F243E304F4C59CDE3EF6EB53A4EF9BA91510CB89A3407261F58
+A2AE66880BA98FC1EF546112892494C85A2C39F9DCCAC5766725894A7AA148E9
+42360AE64BF3A4F1F9F0A0D0C1AAFDC4D50C52233AA595B7D0CE557D4A010D86
+6E6B76A7E9523E8A6633DA9348BC3F59302F72F492A30782AE7EF220516893D3
+DE836CDE311DED9262AF01C506040541EE84AAC539B404B23033EF56D4BCE6BE
+B05F79CD633FE75C6728114D2749E39FD7454050F67763AB636377BA8E1867C3
+996C7D7D4A4A02BC49D1AD7FF174C1F49F1F205BC9D5AE42BCB02CF8554E8F5A
+D1876C9285B6CCD7B8C165F75843B0AA11D8462B57077AFE75BAD086E9D9F91E
+30ACFF91776132F3CACAD1CA5E08B17B36A0E45ACBAC52393B9AF9089BD821D9
+CD5A9CD9BECA59F7445D63DECC1B4502D299DB85B6E2EE7C69A1DAB91E22A3A5
+89B524FA20AF6005E7A586B90A2C6E5A93C9EFA4ABEF5F7E4C7B81363FE8D2B3
+0AD637FA863DE787581ADD7CBE463F7866C40F4E280260ED0E9C8453E5C7E668
+FFF058B9742DD3F131C264F8FA102CD0DA05F3114D13D34D422799181453FE23
+2FC6EFB01BE420C930B879D671F3DFB036197874725220644A5A52DFB467BB75
+8089E4F40CE9401777B9FE1D0AEE02E782A6EB2A185A454AE9394094CDFE7CFA
+C03C23A78EAF242E4F811E4C83B59EF4DC5ACE4AD37B41616B46C263358710B2
+6137314545CA6CE89119B42A3518EC85C68DC07D26839C68B1FF55C4A9CD518B
+A1FB32F9C475BB6110839FCCB94156E7B3648F27245A00D2966FC4DDE3996BFA
+F463A663CB6935B596B1582ED0ABBC648AAA8A86068BF0038001C753C8BAFA0D
+2058041DFA720B528E2D4B16196DB1CF30C779D3F4800FE662D5B60B208341F2
+A66EFCB8448C2FCD12DF0DD899911A8BD96C9B670054D328790E5D388518B146
+8CE92E368EB1DB3CAAFCA4834CC9D9D9DCC80FB1F34F39DACDE643052C977A7E
+A95C5FA8DFED9B4DCE769E4E46256D6DA8FB18FD7FA4E4CED5D486803538F3B4
+6D3F5B3C03184F5C26C66DBB4C724918EBB6A89C4602E4EDDA81EEE2BD18B683
+FDB459F2CE0A9CED23DC208EAA8BEDB304B00E093DEE926A7B32FDB2EC70DD85
+94B9137856DDDABB402B2C76DBA87149051ADC6007018EBDD571BE1D092EBD95
+76D4E063AD7D5F62E6C26EDB88D38678F2806A1F4900B0ABC4ED034A818119A4
+E618F1A902315BC98F26775E59555A3DCEA1D0F8B20A9084920ECBE3F7F245AC
+1182A40B518B194669D95DE968542BFF80FDC89669BC256C44CB66A2AB8CD7A9
+E42C69956CCB6BDE8C09AD22EF3196939B3B84EB23A6E071A36D702909E019FF
+058F27562441EB5CAE87A4407F67C4390810BE89BBE867D636468E73677B84C8
+5A1228DD7DC8EADA221B1BAD5F43E832F20ADE7ADBFF170AB306F5B711816FD1
+39B7882556E30F002977FB88D8B28826A75DE0D20354A2D41F2DA8578376F7DD
+F27B0F59D4DDDF5790E11E3957491DC74EEB7625CA49FAD90FA47AD8E0BDE824
+FF326A84846A47A21B70FA549BEE307F9C6970009F963B49A504F0115777826F
+1D81203F655C242FFF15BA97E3BDDFBF435B10E74CE8543C98966223818839B3
+6BF3BC63F882B0AD0FDACA8C56A570277952E1D83F18BEDF084D2AC004E2B09D
+70DE1740D7D220E92B54D2FD0DDEAF1E08C41FD321A8D474982DD105B23166A7
+AA9E0129DC88065B1E0F9382BEB4B4E1DAAE3EA5489BDCA921AD5A8175F2841F
+9400478DFA99C5E5553F383882664D73FBDFA29BF32E52C28DCE80DAF4839434
+022FA515679DBC13FE98968D2894DF5DD69C49BD23D00F5D858B69D1F220F968
+F0700E13873579B3CFB658972098DC61F1DD580105BC27795DB4AF11A871CCD6
+2E1B9AF7F0DAAD4CE315379A7B42CECB983DAC5A2B9426B4E5E0A7F7978504C1
+DD7E30063AE3CBDFB24EA2BCCDC478AB82084FD30A4793F4707D9F8F9647B413
+F8A5C5AC6D5EA0E35628CE1096A434FB8286F4617CB4D0AD30A4A0B255A5A356
+25AA5A947FD3C4FA44B4AA80BAB44C48CC1E2C6D0A711365A37A58C3483D07ED
+301A83D2650A2E8CBA9EE62FF5C2736EC82C1402959F64527F9B640619F112D9
+8E0F4A8A3078C72ACF3F34AD855AA4008C96E30D9E8C414607C34E06E29AC5B9
+2EE5DDB823E8C3EEE6A8DE228313D476A7F39B5DFBFBDEDDF7C45C1C88EE6D01
+7FB4F7BB2CBBD5DF7F0CBD98DC287FA6940FBFE1B3B136613A3CF16634CA7B90
+53D5FD5776515EFF5D37F8FCC62D8BEC8EE2216503D54D6F2032D3C2BF861E15
+FD1B45B71576F15852EEA65DD372E911EF4CC18283CD2FF4196A3F1A9D81137F
+F1820EC604D6C61AF318C6C5AB6DA1EDF305CADEF7CC0183B86D31310A09972C
+A4BC37D110C77ECCA614D1A281EE1C2040B4A5ECB31A3FC61760F608E44332D1
+D2C53C7891B505A3020E9E4915F3618588FCEC80B9ECC5E637D8D0F3C94B1F2A
+C53FC46CAE0AFAA7E12266C212A73AAE60199752C042BD55A5DF1CD07FBDB830
+C83E7832D8554AD9C9CAEEC7CED1DAEE622090897641CF2E5B34A353D83264D4
+4687522DB290D3BA927BA315EA5D25B0D7B69350C6C180AB0C322B05E01F7C7D
+F2F48651567F0C1B49AF3950E43C94D78F7B184BF2946B924BC4279AED28F3A0
+17A7D8B235698A516D3FB5DF0B18A422B2410C385E7E9439C6D60917EB3299AD
+E31471616251FA40C9FA098109BB31A54D9C03B2F12947E4E9252A0851B81C4D
+F39E7FC44752504B589C3911571B1D3EC3BD1E1807F99CED1DB20270E483A805
+CA2A016E7283550D1B1D35C226FAB63F983CED41A4D02A2F228FA9EF065027B3
+CC69D6F2E278C0A2D238D3A37154B0D22281F62C61D9182A69657B027BBDED64
+11E261E47620602F865221A534C5A32E2BF5B93A187911A146F2E96538B47DBB
+7BFA7EF406FE940F4DAD17E6E4B80C4F031D71F65657C2F5C8233EEAC68DE8A7
+E1FC3055C122C1795D0C71A0284F89A9BF04837F61C9E08DB42644A490C97D34
+A5D3CEE475B8D578205005A0D68AF94AD27C0E855BB8EDB74775690A4EDD6543
+BCC10CF13283D6FA8A7CF3FE6C4F96470A11FF0B0160D3F9816B13B0BAE0D8F9
+B84C7631063FE658D13D108D6FE24A89799FABA72E6A6D1C943922CBE676C1B6
+11A4106ECB4F1A7F8A84B2783C2E6A109C58D63FC0B74D8C8A1CB62D527441AE
+E656D94B1AA8581B4F07B653ED6486AAE1F8ADB30FA8D8914AF24721C74B0908
+D84F2EBB91144ED4BD7EF533F2584048DEE37E17CDE5FBC2992A6F924FEBAF07
+B626F988599DECDAB43C931CFECF99FC6EBB72F8E542765C26295902DFF60B7C
+7B9ADDB4858BC9D808B7F0909690CF8DFBC59A786D48B891937C31A219842A43
+234425B4963062DB4C4E9F534C77F4243408805B5A6B8BBF428632CA4AC03A7A
+E336DD181CE0CF3E742079E2919EAFABE16A63299771BF276EFA8D85C920F995
+5B9D4E8F1ADFCC5C29AA89BF90C186C5DE7679906B2FD4DB279D245D27D08837
+D3A8D541FE37415B706EC585C05804108C1D938E543B8B63E275EE85CE9DD843
+0A8B9163144B77DA1A552A25D5E77E94F29CF252BE9950F4E627D5F72536B6F3
+3278D4A45D10759F16AE42BAE8460865FEE84537F8EC9BF4813570E883B826FD
+1ABF3F4E66DB6FEF8366E07BCF290EA67D39C9D81B2A7EA48E0A228FE3D5AA50
+1A56CCBF229C9AF2537A8FA70EEF41096ACED34CC7BEECA4EA1F23B39FBC39D8
+CCEA93E63F508CBE6722C11467A3D0D5C4C52031DE43C449333E4295104651CE
+E13B821D7904653346067E971BE0042C571ABF40C3A1079A675FE4264B784D46
+1B8FAA4CDE9851C4EBF69ADF51A7B68CC8706C08D13A44909D4C1D78DB0E0B2D
+0E0318304B229DD2FDC968027CDFF65722059C62154304D6F9C3F06DE22914EE
+928B7D1BF1FC7E74B4D882998D59BC086AA2D4EAD0AE39F6B75B5A3FB9994506
+E21731E1A15F0F2D12F88724BA72898197A80FDAC00243A3038871EBD2F2BAB1
+C616278BB78490CB86F552CBE5DD0862F3793D72C68AC16AF8E38FE1A523A5FA
+9B0428745B1455671CFA1F6BFBCCF9CA23C833113C2948E7A6AEFFF1A83509FF
+C559BB5EE7F92BB43F7F37A371E661C826F63DD0C1B25E34A8119E71EC82FB66
+23C7B126FB6554E7560B1B69F2EDBB742F3B20D1648C151C37A8570CBD330A9E
+7592A8607D2D727F3AAA0FF2057DF4E2A4C7D3B658C6CED38824A770420D89E7
+F6AD385DBCE9C9A9095CF0042052A67AB804A6675BB9373A99390CBDFB715984
+A069DE543E4C6ADD7F1EC7A15392EF834EAB4584679A43443953427DB13E6959
+0F2F5061C99C6D00FA5327FDB5330AEDE19A53DE3AE092634DC6AEEAF63A5BED
+990F8A117AEB1CA0E7F7DBE02CB3D86465F1613B976D1CF6F3A1E69740A2FDC8
+062ACC45EDA6B863B60015F276860FB79C31D28F97A799568E66D0A8757B2C41
+E939337B467303041D0F4C59390B2E41E5F298F275DCC699D27C459ED4D5ADBD
+02539F00095D7E1872862142B46BE06513D3EB1A406E6BAA64BE795122100F09
+C37E5D1834218EC1D11B031C7DFC9F5AB071A8F4DC08203821366959E9191D4B
+289682D915AF28CE5858F83338DC51B6B0DD052A181D9133FBA50CF18F70EE65
+C33726A0450EBA9D0E0C3662AF6C2121AB7911AA9880D6BB6811D6D7515888E7
+199A0E632104059A88C9D85B19BB35EDF4AB95E1515BB2339572928BD5FE8CBD
+2D4DAF55DCFE29FBC4C3D56336277BA0C9A889A129F9FA7052AD1420B8705163
+1A808EC1284C888D78CEA2B4BAB71AD76289F5F4986008FA9BF328E8537E6C91
+E11DBDD8447E1C9ACE18DB0EC3D5742C264C8EFA445C5D16C2930FB43669774F
+A2CA52144D99EFA8FC427DB4128CD4C036A8C611B087335C780740FAA419D39B
+5DD68EA89C95275F9254D947EB3683D0130255269B10C6CFF29EA0BE484C9949
+96188FCB747618A8044E2E37DFFD2DB8ABB621B34DC024259340677095B6937A
+78EDCF508AC91D4CEFD872AD73F50582DC8807143CEB9F109C84DC5DA30B64E2
+E56DE973088A9D32583D6946DB4F3523902FB1781D993B89D5F56D79D5D98CC1
+7FEE73FC3A7D1BCCE90179AE450829E228B4DEAD3B2B4C79A400CFF899AB26F9
+048B0875EBC871AD23BA96F88CDA8B87FE5809A13889A6AC349ABB25E54ACAA9
+C213C5DE2D01BCB9CC0D7BBD384D23AE12E289FF8FDF1F611F5E14D4B20B15A3
+42D9B3B37A83A9CA39B5DB6C8316C51B70F211530A56CFE54D63E88169CF5233
+D1A7B2388025B3EBD2BEE0716C3A2D589EBC7A42B3DA602AC4E2FD9C9052C922
+711E44408DEEA1FE0C9FD50A39AD46D437F61F284A2EFD42EF158EDD71A1486D
+4865D6B5E20E60F4F4FC3D646909FF1EE2D7573665E4CD8340A1B232CAC0202C
+C35BA9BB3D2267C7E78518F6711633F888EBEF72DC750AC2CB362D528CFC8B2E
+A1AE1C05456F50EED8CAA768DEF47FF85C4322F02D7F9D188C6F285C674EF589
+251B0B913339FD701FDB281338D96704ED7ED908BC113B4275A24D058955890B
+12CCDD5572D63688426B0E1E9A40D6AAECFA5555C1CF9DBEF8C04CE1E5A63F14
+969D39B6DAE8A91F6AF4CD1E2DA89A4661DA34E272B6032C442C031F081F5DF5
+858F4620885773D8A2B2F5EB6DDA74C1408DF279900450E4A3E80BA9A9B1295E
+F24EDC3F6EFD81A741EF74B0202820516C4FB720687BDD915EB2396128C3B262
+20E3075DA153D6FD36E1C05B855929DAA4DE694B6F15EF2145C63250B24B031A
+4CF0AFDB225E91D99828B83BD90F1702D3906D45872587A3A116B138AD9627CE
+E778A949C392202823C670FDBC56F1896FFFFBCF52C4B400F67BA36B5FCE44A5
+F18EEB8ADFC088C99DFF8E0A593E81A5ACA2E3693005F723C7D3E0AE2BDD3805
+8C6007A00542DEB2539709558A88B21003CE4B2C7817AF207ED576B25A41DEA0
+FC55A459BEB00ADB01309B35920F04F84B7B64F95AA99EBCB843A06CED900D99
+97BEFD7CCB9F4D85876F10160C8D63E2FDE82B7A8D945F37CC9933ABE0FD1D76
+268296B1A5AB06B2E814691128771694224781171DC6266BCC290FCE1AB59416
+85530368115BABD4F1DE45952918D1945D51EB713C283DAE8EDD559F437CD886
+A4B1DA6120D685C284673A3EE489FC1AE4297A3623B339B7D886B6B4B8F9F4A3
+7BF85E320A52FDC6323B51879B98A14C33C567BC069D9B44616514EE1BE36F90
+EC5FA33E1B6B0A46945D876EF0085E74935DF2560A03321861A752E59742B9FC
+5C501FBC64BFB1602459885B63873DC857ED37F8BE1A9C6E9517B9BF5A6161BD
+DEB6DB0381FFB34A8A96AB4AD48BEC40D4C198ABC599C3758AFF638AA75BBDA4
+8545D5F95FA426FB25587301A43E176F6CED7851E815AD907F2443E70740DD2D
+4FBD5D978B9B37F59D6DCF0ADD0F90825DD23558FCB858513602C8BC82BFA383
+7AA6DCEA4009961D06DF233C5381A7F9541259926446B2F03664BC5978A1B6CD
+EA6EBC9FE6100A65959513EEE32E69D47B55BAF30A893D77142F943982019C01
+715CE29923795EA01C58A798979939B507C5B29A32881877EF7EF0C5CB3DE591
+6B9A6C3F3FFA847F396A396F078860B59850BA4CA3115CA2376AEE6B30C05DC1
+6F9DB6781ED0F9D45D10E096C33B1B7CD12A9D57C6E49AD833C4B093DC82811F
+16B3BD902BE764A1680831EC5A6C1CED84AE0DC0A65678EA5270BF20931E6409
+7AA44EACB22CCA11098F8A51096BE83A1ABA56C9EED4195D5CCF24FDAD92E823
+C439DAAFBFD652157D728F2754F28304710D3CB33763156D76A259D446647A11
+493FAC70DD28063A4CDDA162F72542368E1AC2826C4BFF7109208F66371910C1
+068F21779FC39DE03AECF1C9FB2F417930C22791961D801284DCC89B0833B6A8
+D63F153ACBFB7B7D547924613BBCCAED37D90BAC5B0264ED31C7B9DA5A2BC620
+9B20CA48424D0FF58905BCD6190BF4B5FC6ECCA1BCEF13426920197CAB41C4E6
+E82E8EE7BCB23C6BA6F8B58001533B225ED721D6CE3D6E89116EC33CAA6E905A
+649F8C6A1AA187A48E20DB864596481976216DB78F0F57543DFAE3CDC0A6FC77
+2CAA49442527A5D94DC54BE93C875690CBE52EAA4EDD9F2A511361BC0F0807EE
+96AD0D26B62D809E82EC14EDB158EF48A748A6FE0C3A7EE5D4479B35425F35AD
+3EC7444F6FA75CEA5011AD571078293448A33C7647611CAEE87974B0A756DAC9
+4E1BA78DEE477FA59AD50BF5C52E068A5E044A4A4994D5B24CC5045F768A3C51
+D4F65E2A5AFD271A7666C6835E28C60751EE528C0742433165AFBE71562A3016
+F59676D56B0B5F7E4984D664BC3ADDAF24B4205752EE21D4B57057A943018466
+09C3FA5D2C5BCBFC22A643586BC9E7A965DC34C0A7D272B5B1617BAC2B0CB510
+5DD5EC6F7ED1226D19189FF547776698FD48B7A6A038131F869A9E24006A4FCB
+9FDD5E4A6DA9C531E1F1D1F0131CF8BF06B78BD2C6109E3D5251ACCAA6661142
+7E0CF66D8C1998ED3DDDF69890FB2039F35BFBA2D9E6EA42F2E2E88E8C66D0C7
+6B2A404F1C72AD38C2742D4AC7AB941BB9306ADAADAECAC68EB229D3CE861D48
+CFA0EDBF55C5AE42B7888DB9FE6BFE987CD2D13CF5E416829ADE55B64E33933B
+A1D88A6B89D36D0DCAEC29DD4B4C2D2021ED9831ABC1F94DBDF4952CBC514C25
+9F8C5C39B4E7A77247AA023F208B63AF2A8D436901C08079E59BE74DBF83018E
+D58B882B96D1D0AF2274EC40BF80AA2D323DBF12839DDC16CD48B4F6549B8EDE
+4B8D2EC13F781065B10E08698C3C1C07186089B5FFAEC9BEAE7F753DB024376C
+044C96A9CC8F911B864C5D7230690AFAFB176EECB756DFE15133B7173A6C058C
+62584ECAB08EF752434BCED665E7E1C67B7C49BFA4516BF9E870BCD342D18AD8
+5CE246CE72ABAA86A483CE01CC370C45A6A2CF9B4C84EBB2670C26013BE4BB6B
+72A2AFADE105643B389616752FD84BAD4064ADE7576EFAB481B94C85135276C8
+4ACFF0A774194E3BA0F24FEEBA02D35C0BBC0F9E152C300510F511561664524F
+93F4770B700FBF2F2813504CA1EC0B3FF5C5846A96538891CCF04F4CBFFF3D2F
+2F38EF6A80C8F66A69CD4F9B0592096086B6442EA869995A2166423E9427B8E9
+356C5380F89961D44A4E9683970360F90F8402DC5F14AC095C43990F2BC3445A
+667194C34CC44237285037E321BAF2F34D978BCB43317BCAEB58D4B2EE59417F
+9A16D5178C7290C8BFAB66680239FB6B89ED6A51E2B297BC3587ACB18B41D169
+9C9C52C536229C333A059C91171FDC8698080D7B76F45BC6EA83453A6FA312F9
+17ADF154B9000F7583FFE37CFEB155942117C6539E20533CB8B611FEB5284C1D
+F66F145B255512CB73222578BA17E1B849E0EF8674AF6032F64E2C91F68AA109
+472D03BFE68DD462A89851882CB730EBBD1EA5090260E9DD94C29006E942BD3A
+35B784511F77B8C743996FC6AAA6C1078232D0B20BC06EF006A83D66BBCC05E0
+211D480CDC914698797C8D627BEB4A24AD9B2EBE70B7CA2EAA421EEB2A21FD76
+F94B8848F1CB8F4BD7FCF317A35C5A4691323F006604F62D5360BC42DC80537E
+79683A41C261BE135F4E1015116035AFEA1D04CF84B46567D1A153CC13EE7195
+91BCF7CF31A04528580B58C5D6556C106D99A503965EBBAAF48B6FC2B2780AB5
+8D1C09A89B062E71D33F54EBC1B7C256B161AE2BDA0FA40B8105E39C905E242D
+F09BB7FC0B6F97EA092E181D77A6984BD6DB7E2BE48D94A43B2D475EE8EC8535
+60069C7E2957894333D5DC8D83D72A2C872C0014FE902A1548DDA81BC2C64109
+A5B422CE9DCA2D16A8D65C684572B3E97EEB34E2B444D87544AEAFF235AA87A3
+6E0C1EC488CEE9F49EBD0C00771F9667553481245A167F898102D44CB1D7B48E
+7E459EF361303128B1370EC9A7B2D2238B7F0D7C4C644772B5D3CCCE731442D4
+A95F7A1C4A7C0F09B7A959F31C19413843539591853BFDA5CF0154E5CAA991E2
+3506267479798723251F6D39B9343F107CD17E75988B58E087A08C568A14A2C4
+50DE1A854EB79608E52F06AE5E39CA85B9FF651C5B30178CDA0027F752A59B4D
+B86CBCDBF6CBED58684F1689EE57D558C8760C2C516A3D1E04590C69FE9B28E0
+FA5887A621416D7F61C8751320248E5F03716E8775D662F7C80AED68AACE7749
+243BE9B9E21D5039A39D7335D33698AAB8940347ABB2213DB9686F320397094F
+7DB5E1A6EBE4E419C8F359380FE8A0C033D8147AADD8A9E8585F73EA783101E7
+B86B32F025611C9D6030871CE13D292F97058670C6E61EB7600236DBE30AA888
+8D90ECB9CC49E898819FC500E087D64CE8B8E070216413964069859C65B3F6F4
+11602580BC4928189DF803BC2B8559F7383744168D03A892B04EDF4539D429AE
+E8EE61DDA844C7590676E115AA5C6AA188943813F33BF5EE4A53C995F159F511
+2A65840F49E1DF95B1DEA4452B22886F368D1A704E643979BE6DEAE838BF72C2
+953E734E691BC16C5035BBF3E6D1E5FF5D4911DEF666ED8A31E4F2A77BF611B5
+824B2B8D179C2A16D219EF5F68FE0A405065ABCBD5F880096EA96FFF759DFA71
+043707CE9E7F56F1CC8074ED996EFC22CDC91B22E04F74E78FE23AE7C3B7A0E8
+B8A7A870DCA5BA7FB297E4A1ECCB501BD2EA3ED3CCDC2344BD2666CABB27A39A
+D5CBD0DDCCAA872665DD312102DCAB9341E727353429D4691E9CAB420E5B7C46
+170F357F718C689C115B406394500EDB1E8FDB8EA68B65E68BC7AA340714CCFC
+3D2359202C8C16720028798D782199C363AC60C93D36A038D871F11D2E47225D
+E848D12D7DC5CADD5C2B397C71D1CDB5894F0DD7767E9FB34BB9614A9B812A2D
+CE02D57B3998B0B6622384E41E71D5D5973F5BDC8575B0D433BE8BFC025964F7
+00BCD36DFD42E521F7C86891A3B2BC7EED22F6A31FFB449A02BD57EDD9E24B62
+70F9EC3F7A23B10B6F21E960345169B0660B1C54521323A60D4853891090CC47
+354F299CF5A07AA526408E75DC12AAAF4181A2AB043CAA3FF6B3C03848A892F2
+FB0BE0E88FCCB64B38F0EB5E50C9750EA6DF46FD8E22DE12FB4EDF5158ABB8D9
+E82CCD3229B583D1856D6A0696B0AE2F1DC10D9FD200136C101EC0CB2BA6EB44
+483595832B3EC6BC1BD1BE7FBBA6188798E9795F61B76A1B7E039E7B989B3CAB
+9CE28973AE6BB0ABDDDEAF354232CE21DD2383677BAB9D2E66F1D26904469C2E
+62AC6D3B483DDF47BDB38C2A00689DC0BD183133E78F9FB6DD27DFB5DAC18E37
+1D2A1D414EE3DFA13F88C98758A77401D7D5C671002B670A3D6F8E3197A3DBC7
+245BA7197CD870FFCC6132CB3CEB583FCB501D86B1AF8CA0929A4BB8A94B23A3
+F56EBCD82EDE14195A7F2714537A8F5FB99EA10F5AE4870401D9154408356D47
+FDF2BC4BB8B9B941AB01CB622B34627208DFF8A6D94B5DF66FFFD135D3285FE9
+F272C068D1F44E5F815946DAB89D2D3B8732608E0B36E5C29ED7034641AFB1B4
+C5EE92F0C2BE4095BD5AA366303DEADEE04920B67C60D69977C756598983FF7E
+D05C534B6D1C227E27ED631850257734CBA8D4B94BAE88391B0DD249775220BB
+44CEB28CEC2449F00D18D64564BCD270215F09DB5E8F0986CDAE91F84F2ACB47
+B78AD52656C5E6E72595801420624C1BCC9608EC3E9952E0B473E599EEC161F2
+52846312121C86D8ACA5EC463941FC78CB6EBE796671B19F34FEA698D23C6234
+8AA58D09683C9213EB1A205E2278E5452E4F3E49DD5845936D067F2BB2EF30CC
+E08DFD505A9E8B4962824BF09BD9979B12AF6A0D6BBD0B79D7483113995847D4
+16E263F0E7515A11C8A3AC8B632B7C7F8813106BE042EB281B03E88FACD342B9
+BD67A71168B736A4EBCC3AB93F50130828F1C81FA7B4B5A5F5C6F5D536411A77
+4A6C151EAFAC44DEEEA61B988767E01411933561857C71D30E2A720535C427E1
+C3C9B127010D9F0AB01013E93620AF5F2C894100E502E538EC634E20D086C2A7
+4385B35E646ED6880D248F1B3187ACCCC389F940D8E312B82F8072422EE19F39
+FAFCCC717BD5FB0E7F4011DC2567FBE95D2B05C8A85D8240C7B9064FFCAB1B04
+0C754002C32B88977B584CBD8DDE52277CEE68376FC42AF5CB601E359A58A256
+FC025517BC6D15D299221BC4BBFBC115487E49BD940E854E106D554BA342E4B3
+5B15B40F0B0CC421A1854266F4B9C42470773C3AE349BC46EFFBDF3295A2AB63
+CEFA183A4EEA7C70CAAC9B94137C3DDC204CA9F91B551B9C573EB2B3327374E5
+40A4A0A27B6AB00E9C1B155C72BB
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont 
+%%BeginFont: CMSLTT10
+%!PS-AdobeFont-1.0: CMSLTT10 003.002
+%%Title: CMSLTT10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSLTT10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMSLTT10 known{/CMSLTT10 findfont dup/UniqueID known{dup
+/UniqueID get 5000800 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMSLTT10 def
+/FontBBox {-20 -233 617 696 }readonly def
+/UniqueID 5000800 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSLTT10.) readonly def
+/FullName (CMSLTT10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -9.46 def
+/isFixedPitch true def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 37 /percent put
+dup 39 /quoteright put
+dup 42 /asterisk put
+dup 45 /hyphen put
+dup 46 /period put
+dup 47 /slash put
+dup 49 /one put
+dup 50 /two put
+dup 51 /three put
+dup 61 /equal put
+dup 65 /A put
+dup 67 /C put
+dup 68 /D put
+dup 69 /E put
+dup 70 /F put
+dup 71 /G put
+dup 72 /H put
+dup 73 /I put
+dup 76 /L put
+dup 77 /M put
+dup 78 /N put
+dup 79 /O put
+dup 80 /P put
+dup 83 /S put
+dup 85 /U put
+dup 86 /V put
+dup 95 /underscore put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 113 /q put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 119 /w put
+dup 120 /x put
+dup 121 /y put
+dup 122 /z put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE33C33655F6FF751F340A8D6C01E3
+2E02C24E186BA91B34A1F538959D4450CB683EAE5B034D030186901B458D3777
+6B3942BD2E07121385120248891AEC2EB33C4E3A0CF00828D0F130C31A918C18
+979FE94379C648EF21ABF659253E43CD1253866F157F1DF85AE7E8714F061B1E
+ABA3AD094FE8D6293916FA82EE4F486C7E513A06D4C9BE44306A8287970B4ABF
+B6D1F9274A5A0BB6ECF713ADBD1260D5D6C4420D357FD486470A74B2F0621B59
+A9373ABECDBF32FA68AABB66FAB0C970A3354A335FEDDA1C288245E6C890B8DA
+3D0EB953283ABFE372221EEB1586B0167F634E3F29CADCAB484B81A243CE1E3F
+D5106AD6BDB1AEC91123377F816711CB9D5140120FEA84B8205B79D1569509FC
+6B671211985CEF51691C45A168740BD826464B2CB0ABC575E7D453161328F80F
+3AF1C99EC219010EC6C95E0A8D1909719CF18BE424967E90DF67537220E60C3C
+4345B154D08F9EA684710E659DFFB0BA1B7FDDCD519305900A5E1CDA219A6C90
+DF8BD712A3686DAB90344E8784C7A9AF3318550285039B701B9FA1D3A3C3B6C2
+753F1E794A3463A173C99A9EC0E2AB5737134CEC2C97CD6A37E38692ADB4B131
+54697B7BBBB23680C72CE96066D8007B90AF0FC5958232AB4F21826691E9874D
+107F47DAC1026298D787989BD77CB43A09FC95F6997DB00D8483AE9C2716CBD3
+7CDF02DA34FDA2F0754ED0968270E118DDD8BAAAA65C41D699E2BCC2556AA231
+328187D2F50FD518CF458B0BA1F7DBAF4B231CFD61D5DC56335B53C3013BCCC9
+85690E19E992ACE55EEF2BA7A75DEE6DC33933C226FC1494269B7CA4CBAE987C
+2C787386400172AE3F44AE47115F4117EED866713BDDCA4A7AF658C49F913CB7
+308635000043F63BA210410A66E192289592882C477B2EEA0B2A339F0E7CF450
+CA0EF79D3A6C28598825CA03FD688DA60C95EF707C6E67CB7E57DE7A80545195
+739ACBDF27069F34C9E0216C3D17CFE7A652B910FCC9B9AECC2E646809C22D93
+FAFAD465DE794755AFF5BEC17160C9563B5C51D07022E2D3A256FB5CACE131D6
+F4B30F591A0419D957D8F0DCAA0A8D65A8D83422AD7C2613FF13A302E152B312
+3F1ABB45E42084EAC894FE335C07324849C9736D00C872C4551997DB889AF17A
+A52C5AA77DEB548B0103B77F65717F70B90C1BBAEA7BCB4959F32851A9882A3F
+55673F24103D6BF7FB3AD3EC3CC50FD8FBB4A6B13C3D278174320713A7B327CC
+A71F01E50840B33D0FC3F5F6A6F2B0F2D0E38494B1C73096A430510F927235FB
+69E931DA8CE5415EE88D0248565E3347353621A48F7948AC9EAB5F5057541B50
+82BA955D90BBC82E582FD71904445A59186022FB928015235B60830DA59813D0
+8DA3FC306C43FF8BB2CB6772B1F7BA3C1AA4B2343E7DA7E065EA53A4E5E28DC8
+0790F2D5CFB203CB135A08DCC9702B59A63290444F202756E55B9FB053F773D6
+0F69C63E74DE593E49186FF4304E8FA76C3E3006358DE549E946DB69431981E8
+1261C9C9A884E4EC708F69E6AF5D22C5BAC49F2AE85903E3D48D03B7B97054F1
+D2937A0C685D912D6D20A75A77712164DCBF8FE4D5460DACE139C5A934EEA09F
+B94DBF168A4BC03A9D689936D833018FF43837DF9519AD10F357F00BC068E737
+170FC9FC6715165F733A0B6FADB9ABB48B845167DBE6D771C916577FC2132863
+767DC6E3D460E779254194AA690983184D934F5E858C1176B3862B69B42EBE7D
+EC9AC4E020085D474093F7694C8A8C2025D4B0163E29320C384D62A9F3FBCB1F
+AB5A374EF3DBA48AC2147A207AEFE8B78BECEBC55C97B538F3A0FF4589D171E3
+826342C8A5186224FEE54E4C6AD5EB02BCB4088B132FA1A48362824BEF161235
+8E661DCFDFD8429C65CCEF63902D0E07C2FEC1DC2756D942F13FECCB7E8A8048
+345338F24B7808E46A04A915C111F939E2669A12FAC0BA4F74B832EAC83EABEE
+67E2817C058E69C2010F2572FDD15194CD8DF0FE9F827D349C0444A18D1A86FD
+802BC120A5114FA3523C221242C7E767B0AAF6AD15DA1561CE8EB18A2401D71E
+20481FA5F1E247CB5288F47795A6A3A3BB186E89EAAC4A54AC91405427136127
+5B151203426830F7CADABDB3FF63B40CA29CF8E667E71615869978E99E6F3F07
+0170EACDE3DC62DC05681D7680E2E96C30002AE34A4E5EAEDF88577601A82C36
+22D625A03B0451D7BBAAAE0C396711500E94A482EA787495073F16A76D1657DC
+4EA7C7B83BC30CE7F145B65B6E2ADC207D192CE3B5FEF7031F4BD64F57E1BEFF
+CCFFE06F1E4ECA48B442DF413766A70DA626359183A9B24C70419487423C816B
+4BCB067E661E47E172563090D6328BD738D2B0FE41A0C1D7A47576A79BAFC880
+0473229D134F998909898301CEF50A82B627A9A06DF59D0B9C530EC5D877F1E5
+220D3A1ABD2ACBFDF1933F92B3137B22B9F95A961D93B729307749A50D8A6403
+7AD0F9C40743E39B8D198CFCF7C033D99440D46D821D97545B930EF92E7AE005
+27F2FC766FDD4790FD1913C7A13328E73E587618ABD9008022C5C6C23935CEFE
+B5ECA2CEBA1D25DD846B48423F7186E03B1F61C8F1D5AC95CE03C83B2F221300
+7A761D6CB5F7F9251D3F9A7F4B25B99EE7A1347ED3059A811A82A35A033E9B07
+A4FB2A95009576F48665605C478E5F6C1B135016FEB4AE6A6BE4B4359836E04D
+45AA11366992162973FB6266547C2E570B8F56F6D992D2C0F63950A16839FE10
+F56E59D93A37573E3268C5892C9F3358753D1FAD6379E82BE740FA17236E96F7
+C53A2FF785FAB86AD17EB1DE8A6AA9C69B91C9D9B43B5188E51F6939FEC21B65
+AF17DCE95DD3BA4F1DD51F0BD5E5869A1ECA7398B6E664EB0D189181E9C23012
+DC1E54C146842A90909DBEC03B79B58909205F2CB2A7F83C66B437D7F7DB9781
+FF0C67F004E979C95B706D8D85255CCD827CF6196D847DB380B56980109E96CA
+997157BE78A4F758CE59D78158A854EF2C20099438F74777D3B0298D45BA86D4
+3C0AC30C984718FD62ABA0567AF0A70C1DD41953E3E7212D5C562085177E650A
+2ACD49940551E3F7619B4CC31DBF67AC15D938619B95DBF66E6D1300B1BB8605
+31C4011379FB5388CA49E4A9BD6C921560CB8D513F8716A0733D2A7D77E62D22
+A69B54E9048CA168D210816E613CF6357706EF6B118A1263B858B7E19AA98891
+43BD675B06C893579957BAB97199ACB82C080593ECB8B66A7334779CC16E4D0D
+4AF365CA6AF9727AE29417B61A5FD52452873B1D666044F8E7C1F6C6AA3397B5
+94A5780F4005FB5E41698FADD1594B505A58253D68D2AE3320E22165D198050E
+425820CC0A43FF1D61F168D87CDD30C14D387610B6CDB63BAA39B3EC9B3CA616
+FF1CC679227749DED3DDEA26B4D97C633090DCB8D8A6E5E07E3579E4A99BF1D5
+51E43D1D7F139C9CB1D76D8F693A3F23A74EFBE79F01E0B850BC6B6C7F62C2E9
+859469A144853434895D73DA6BD2B348A48BA80E79327ABD96539F2EA2209852
+E1BF6B0B819D7C68A9A1D0F6F39416E3EC4AC21DCD3C51D3B5B8D417EFAE165F
+2A7E0B76E558AC9F685A76FEC7E3C73CD607D9025DE6113BE5D0401887A53910
+82A813B026A502B51D484797D9D7E79A25B6624940AEDB4A15F2C73CA1AF60FA
+22D15BFBF268EB044FAE17822511AC6580D1D74DBA3C3335217780B29FEE792D
+200B00B8CD888A8BFF15D938FC758BB5CD9B3E08E1AC6CD1669E663BE86711A5
+892684DFCAF70C11E803164994BDAD89128AAD6461D4558AC2ECA3E05EB56D32
+0290AB16A6DF7133DDCBDEAE89C6CD83552792E23CBF567D57E46548EEB0A140
+437492B53C14419B6FE7E64AC23923A9E85F56A9DF209DC4E6BCAF1E045F9CA3
+BB904BFA150F4083C18B0CB5580450CDB657EA768E71222C71DA911A722AB9D9
+E18B6847F417125C40EA8A0CA1F551A4548712D098209C78DF9C3F78605E5402
+DA2DBE2218E49B819296D5AC88D17DDBA982E171733D1E9E295B3157C9B90BF1
+CE68CB185947D1E3D7544155B741296D14B064BEFD3E6AF25C74006CF6800551
+80FCAAEE6FC9105E1674EDFE68C45617D8D3E2264CD395EE94EDD017EB85884F
+FDF530EDF4F3F14750CA066F149E688FAF8EF4B5FE6AB515CD298E8D170346CA
+9B32BAD1D86DC147BD12EBEDF6CE1E749C5B48314F512470A568C172C35CFA41
+031E34586A89404CB5372D7B2C7A6D96F420D4D7C2D4C08184F4AF86B4536A90
+9367598424112A7B05D7107B23695CBCD569002290599E0FF4EC5C852C31F5F3
+9BD56BB840DC17DEEA579E7A7A9F764788D4E3774BD523D21267869224D68891
+4523070E80A123B58F7B579866332FC38A41A5915EC06F2D14FBE4A6CAF59AEB
+57E98D661637EBB885AA5D74AD429CCFF64E5149815E7350118E6385F4C74E0B
+2EB474A6DED021D429F01C9B0634A09250C40E22B3BFE1B7246D18116D585F39
+0E06E9B5F27A6CB77C8E9462189CB900CFEF08F798CAE15FBD94587F33816EE9
+03FB2DA6826EB69D8C284AB9F7B00630D0420EB6E35E0E288BA25F5C2345C067
+22412633898AF99C2FB232D1469025BF262B567F29A05F4816FE8EEF5F02BD79
+06202F6A1E3E5D4B3C91BA8D5FF53D5136BF70E5FAEF441A7310CA83721711FC
+39EE48BFB2FF287234B1A6102AF146B10A632A53AF97E11FFAC3A2A86BBAE3BD
+E0459ECF0305366078066F2CC628A3918E775E4236651B3D817AF1684B07A163
+A0142D16F55D2FB5F2255A8813B8E54EF3E801E95A4A226AB8C0476AC5EDCAD6
+9258ACB6F7C0CBDD298A0B816560622A1871FBE2FAEBFE697A8216A0D8FE30C6
+B1BA6C3E975F78182743842E7F851064037394142AC91B2530FB1D511EB20F3F
+79EDD8B7E1579D35F6E7B2883C47A46B6C1A458BECD6BE58AAFD834A7D82A553
+2FE4E66878E4699856DEDE964F454638F768AEDB595A883E380408F558015FB5
+8720954ECE2704AFAD4D62E8BB2657C4FA920D72248B3F762B2F12D125B796AA
+1C4BD6B42D766EC1C9B2C7AA4B6A3474BF753742DE8AB76D0AB0DD9A20EE2DCA
+0F34CB25995ED3183759CA83ABC32B8BDF0B06EF169252587971F7D37463BFA2
+BE36B2E45559DD73DE7CBE29DE92B9BE6B9F8093F934BA311D81E18A8DA92FC3
+312E3FAB43C53E803975981F0076EBB8F257C123908450661B6FA79E7ECE98F3
+B0A94E0DE3A4DCC8E0FEC106CDEDAA297A75BF1E40F3C2419BF72A644F452E2F
+9A8793810319885EB3AB23B1E80E8B62A889311355C73722C18E62711A7E6A16
+A5B923408444B13F6522FECA9A60B067EE332B83E1A69CD835C9D69B5D8859D6
+91F9276863D2E2E8193641E4239F4ED15E2C482C735BF5434BAA454EC2830C1F
+7CF766DAC9E924F17F03093132627673BA3D99DC2DBFC89E5BA032C16D3C1C8D
+78B3C464081044DB53C7A29E925F4157EEEE928C8E28EDA5F0A4BB6E0042D8AC
+7595C350645118172D04FBF06B2C9A9F3603A54B57999E2960C993724CCD6A09
+766BDF73F66E07FCA9BD09079CE8010E6CFECBE2E5DE1EA4E280AB78D5184C11
+016385007CB5AC0BC95955A1E88EA1A1D8EFEA886007708BA063F556D9284D4D
+C764E75CECA51BEE3D35DFCEBF6175953D30FDAC00F23B1721A1DD577945B5E3
+8176A21A649D907B5F63C71718ECF32ECCF1B26BF15AF694F1045CF98FC75278
+E9782ACD3D83CBDBEE690D29B3176E745AAE436382D258CB22F3DEDD02E441FC
+6A9931AC2F61156DE258DAAD5EDAD41E6C0DFC902173168BB4F51DFA7EA615C8
+B0F92FDB118378CBAC3D56B6B9BB0883C0C14EAA67396AAA7987222A132B7959
+44FC1E9D6DB6D549DFBEF8D2DD8C53DD3B66935FC239E74E2C440CCA13C068EB
+C4A3B69F499F573D076E2C92E24F2C69B806591B0807CD903E078683854963EE
+5125C3640860CEF37BE186DB781475554BFE6C528A9633AD5772BD53244E24AB
+42CA2D1123AF45FA257940CE611D83014DF04E60220E9AF27CB2A2247BBB004A
+F5722A5EF058FDC7DC2B6ED1406649DBAA58DF2ED3A91483D60F11C4A39BAF57
+CB1E320A987B790672CDD3E3BEF4A67032244DED2FF4588B2072CDABFEB36009
+9F4BCBEE16F811A44CEC77F8AE873C90C0F4C975E51014ECBD45A56A63F034C2
+82212977023A132E5C88AAA826D841FDE9CBCE7A01E4B6F0EBDDB9A69EFEBD72
+0B41EDA807CEDB791084047624BC11CE10B7A0A311272EFC9E013FA374D97EA5
+F7998FD908748CA72D8CABFD0F01220C2114D3B462B22FB71A23B284B1CBC7D9
+EA20BE71F8ACCED21F096009A14A7C7B51450BA51514707EB46B9FAAB31CFBEA
+E1DDA6F5D9AF0B6E7D05A1EEEEECD606427B0F2363D1B882B50140466B9D3CBD
+D00DB06DDD1BD4681E367DAA4B7C405C6281B67FFF794041738FC6A01D261CDD
+F6E0A330985F2CA782CBCC02B6F4EE5993434F656B91A51CC03B1D73FFA6629F
+14F6075EBFD83B702D8844A96CFB5C14051595BC7DB2218156A6DEDA5C98CAD8
+BEB5284D9D9F86406A8C1AE85857185991C360E5F44DEF352A1F301207BE94C2
+9A3A11BA468FACB3FA2D683419C44EFDD7C8F1079659F3ABD89D7F168B1591E5
+6105F9B3FA481BA953CD34CCFE73E427D3AFC46E5C58C2981198BA284DB8B37A
+6647BEAA561799877DD6858FCA71CA6003F2961FAA529906673EA94D82D78116
+4DAC81011FD175DA707C1E15D4B6FF19F8720A4E05E6E103E2DE880FA9C192BE
+C5ABE7C311C2ECCBCE8F9713DBA74AEC37A61C8F21F271B35F0F7C88B182525B
+A4183377597ACDA9A6E2F181725D427795B975BC4168A408D292CAA484BD1B8C
+9DC62E737ABC805C8FCB7E96454DA032B601345570EAE0379BDA84BB6D15D780
+42FA1E068A7D62F152B43B788513E13724666FAB4E2B4F04B0448194E46582CE
+7389BAF0D1DD4435BAA6B82AC305C04686B89FD51197C721D941BD2893596024
+1598E6C2BD84527EDA6FAB782033E4BB4F964FBACD96CAEC3F3CF89CBABF6B4D
+4D3AD14A03D4BE931632BB03BC2B92842FAD51A19A756892D5B978DB695D0540
+CC9D030C612E2B201D60D09F56332DD0BA1351EE62816C21A35C33DC11B37BE4
+D2F164ACD836A5CA1553CBC733E3B159860454B17064B4E22D3764FF6293BC81
+CFA3B2325C8E072857F6FF4ADAA8818247D431A28D3C5FDFBFB24A6CAA327AC1
+0B3630C84ED9F0D33B8255A3CAA9C5A0C79F7BF6BA3B9801C3BD0B30AEF7CCA9
+92F25E332EA97A7CC653C93D1497992D6B76363885B92ADE34C2A33E30A3B1A0
+57E9C16D8CEC189565808D3FAC92973C71CDE74DE9D8781CCAF88747758014C4
+5B62667D4D2CC5EBEBE77C5AD00C6A69D1819F5A786964501E077EB3BBEA52A4
+57729AEDF35253F7E1D31F2DD1587BC15CCFC1B0CA930DA83E2031B099A38158
+8D1849E7145AC74777A3C7136DEABB0C787E5A218309A65EC7D128147EDE3AE0
+C0AC039B56F767A22555CFCC12DCBC7F5A5A3B4E86EF5A69EEA93DF0BAF2A3F3
+7504F5C6A7A67388D2F9045BD755BEB7DFBC2EED679497EBEC808BE20FDCB5C7
+B586463BBB898DECCCF7249E9047DA943FAF0718A2050FCFDF8A4C2029FBA674
+EA64003AC03A847185936FC375CC67B3006EA681F61F640C3640A78D0C7FF521
+D477981E23E5956BAF42252463FDBEC49BB560A9428D248B0C5250CFA2A49CD9
+DBCEF73123C13BA382D3CF6A7B8A8CA3191D379A659F0E2C6E9CAFE9DA2AC074
+F622E397A2F7C73347364AE249B11AE2C34AA7F0D27B5F35D548D5AD1228597D
+D16A478C901D3A34D870BA39F770885B7DE62298F0114752435050E99EA4E5E0
+56B965EA185E8DF96B9FE97EE23DD45AADBFE02B427222B9FC99DA94FB2648B8
+46BD30F881BAD3820DCA4D8093BA0FE70E03482CC063B751439125623FA7AE40
+52DB2A380D89D5E37BF264CC73DA9A1540031587F481A0F146C6ED6F3F2957FA
+19477F075ACF608CD94CE466C1FC3EDAEA3ED25C96FE89A7CBFE528A33C4E84D
+465FE6FB031B48D904C5120D428D6B51F3232847CB0B7521E5CEA887FFC56F02
+0882B3BB7F5B0B954E7078DE3E31D8AE65F9EA55F4C169DB7C35DB9645617AFE
+078E03BF9A1BCE4E489AC959CED84E6A9B242B0452188FE2CE0EC111BF9584F2
+807CDA5BF7CC4A92C20167B897BA97B21C9170785FD7E5AA1CE86E130A1919C2
+475971302C6786D05D419007D78A9A97D2774EF4D5FBC8032955669B0469E356
+1BA6C1C3A5B210E9C2146C0797AE355583D824B2BB0726F641802D31F91BAA40
+C3D90C30A01449D0F3EFDE71D35086F68CB548AC66A16E6C1A4CECD34EB49139
+AC6F37B5FE670209BF6B22B6963985CFDF36B819B07306C44D6E21A31A8040DE
+1CB0C6846B22D33D6715F6C1D33BFE41B68AC47737765378A41779FF9662B29E
+516AA57FDFA4D553E25AC6EAC01367E0188C22959E44F5DB21124162F0339B06
+DAFCC53459F1841A5CE8CE9602929AE901C72EA78A05D65FDD96722D089DEC3F
+24E178D7169ABA83504664F9F60576CF134E61CB40DD842E6AA9E935CA8F8B19
+2E73700CF9A9634F56E4B6A37CF10B64D7550BD110D16AE2830909986EEA2376
+E04709D49BB99F22944E2DA92CB6F7E032B80744B51E979A10C3F65F8498FD5A
+FC79B7F8EA75221B8E27C354AFAB785E6D3FF93C7C5DB8F0167597A4E9FD85E1
+6DE3D8BB734C95A200488CAF72C34A1F64F99B5914193A51F8447F03EBF091DF
+C4A54F30BCB6DD0033731D62330741F2EE8E88B5EA580A0232C95B1491780171
+0DFDAD0970487326A5AAF7FFEAC42271EE0FAC51BE7F2FC84E70FA86667F7654
+AAF8AF3AE33764D03FFBCED58DAC2318B5AD18B265A4CC7C142E72F7E171CFDE
+61ACCB3D43010CFA20E622FDA583BBAC96EB7F465BD011724EBC6BC1F6F1DDD6
+F2E1F5EACA70340C7C4C84A615ADCBE682BF1AE62BF29C97FB3BCD6492429A81
+04C028ECE31693725A9F85F6D97E297FF10031DAFB720725890A3BE90E42BAA3
+D1924FEF15E6DFAC27ADAC8094C11C41A98C42D242285B68D5E1B5607C2CD221
+508D406F8DA2B8463DA992D8FEF922B661BEA603B6DFE0B817E47224B08ABD10
+FA8712C2CC87A13A3A97710549FDEA79D592A9F44C414AC0359B01DA1AF0FB40
+52D93E8A3C1C9457DE568DEB1757E099BCF0641E6640816CEC786E25B54FEC03
+FAACF50780F963216EE4ED8918CBD9F7293A6E055EAA90588398D4CFD5959E0A
+20F0968A1CEF52F3B46F9E2986E1B25B0DADC7C2F13B84EB99CFC0056142E054
+F28EF8CBA3599BE532192AD512698DCEFCC7355DDAEF337E3A6A84F7D46FC0D1
+73C90D1140555331B460973CA68C3C075ED4CA0D96926477F77F11DA3204B6DF
+1769A1D60CEB0815238E4BAD49C4481425F120A3F47243D609190362DCE94027
+7B1A726F0A4077E2BBB47EFF8DEAA52365A8381FEA5ADA69793D674E07545CB2
+49F166EF1FCF38F8189F7ECD00FAA3945E3CE4639D4DC424C8BDCF578C6FCBD9
+1734A5D6409998114BF92E9AFB5F0AA9739D2AA40BB12DFC77E10E603EB7BF77
+D88D7239A0AE9281537CCB3D225F3BB0C585684D192EF6392AC3541D4617D04F
+3E72292C1C32AC7A20CF8AE1EAA2A9417B255D3EB84F75103B624733533E20C1
+C7EFCD3663BC03699EA7E36EDC760C93E5D41016CB0A1E2984E0122E6750A5F1
+EF3F22DAAB2E44F1325AF003707F76AAC8AB2469DE616C691CB8ADBBCCFC771F
+B0FB7EB0FF580201D75A85AB3F9F451C6E4706BF81085C5CDE67E960850CCAA6
+7651CB3B1EFAA81C8F778D5519C63A9C53A21234F3DC2ED2644B5F0FF7D9B5B1
+093217FAFB3DB12E5E233366FEDD2F2D0320321FF9BF7D3EC56D1EE80A831911
+649ABBA8FA21AF1252BCBAD0DD7B6A10BFBDD552A3C6C85FA1716B7E6F6236A0
+25E425ACB9F317A71A17BC464F3497E2AEEBF2313F198090AD50FD3CA114F9F7
+F968B0EA6E83864933B317E033A149ABB11A8C90A23CA8F175AD3F6CE84C20D2
+8DE734043E51259945F994D6D04687B8DA912E39031DF14A5467573EB376E84A
+5CEFD988ABA040ABD30198AB91BEA448FEF20D14B25277F4863DCC3B875CFC50
+C31BA18F44903B2EB275D35A7C19760DA2F7923708E20D8E348FCEB8665E1C75
+57B4DB8C792D6AC11DCD67E7AD7111A10E9D14864E0C2B2E7B99217354E47B26
+67E202503245541C2F5E0913916B03E2B26A026B9314F2929D6043F778A8E6CA
+12FEEC3AA698EECAA87FA849A29C19B3B62F0A2407F70B70C74EF3293E79CD01
+91AE5123F7949140AD1344FD40F4E02019631799204BD2CD60B012C966D0CC4C
+B5C50295CED8172750CA0CD1C4EF52A0705F87E8756DC3511D424D3470C03A73
+14F5ED5BAE6D6751572B1C04D2BE03A08BD9377B55399C06619AA6CCBC3DD8B2
+B4DDA425749088745565065624FC44161378F5CEE0C82CFFE8025F9205E2DB5A
+36CD565AB425AABBC0E4EF22CB618AB59D23680EFD18D853407D6CCDBBABDEC3
+780FBAD16591C791BB88B72967ADB2A54B9746B9E8D75D2A7421313AED08F80E
+3DBD6618259FBCB7EAC7922847ABAA4BDBCCF5ADCE9419BA3370E133282816E6
+9C292A4425531FC3C95FBA5347F2DB16D3390FBD0498E1449D261AB4BFB3DDAC
+77A5E128C657F5FF51664BD8BB6A8604C58F5BFC6432BC971B58CC9DBE08B7BD
+3A3A49294B05F9FBA808042B94F5BAEFAAB8F2C1DFB413DFEFFA90F0D5679319
+722E2AD80AC84C0B30291D8B85312E7D394678506643503C4D39519F167FF49C
+38944ABBA3038C2779DE65019B146A39A10E61C0F6DC271822C305117ADA6226
+409FDD3819C98C39F590974AC291C3BB5C65D1FBDF1E53579984BAAB9200AD40
+B029FC08797426DE7528B78A96C704C6326D3183D469315B5B9D86C6FA7EB877
+33ADEFB842CE4F6554F43E19B208B3BEB9082F0B14AB804EEB592EF8FF2D16D5
+5B0F61A9A4A8043733D692CB58FE1AFB7B94C354409D0D4308B73D8048EB8549
+B4A41F85280B6AE2DA0623431BCA13A9725D04AE740D0EEAF5EB942DDEB7E9E6
+01E4E804DB03FD5D4D2F9F2D9A1BE9B0F43EC2F671A276B3D41F0EFDA3814AB8
+BDC042F7D4463DD840751ABF6C1F500F8C78E15AAE355C33F294E33252DEDB5F
+9005A95783018471A67733971BA0C0A7980CCE7D563AD139E8A7C27F1C0D1707
+8944E0BEAA8EF6EF83741760ED81BC5B2BC0A28A4CD0235B2688316A50920ECA
+9BCE1D6D0D10CDABA2983EA49528E9898BD800FF2403F3A9C6073E255D5F6F14
+D13A36DB61BEB01E324731C59B119C12D137174BC6C05C120A8CF510BF57552B
+41B888239F58173E735D890AB5CC2983FED2579A98D76CA51093B8541871C001
+5DC849E869DCCD02D01C9DC140F3EE75C1EA0BCE56FD662D22A62CFF8E472D3D
+9223DDCA5F226016C4F02DE6A9CB470697A86D8275DBD787036A9CBDA528EBA1
+917B98F803DF1FA1C052B71DC55139CEBBC28FE30BD2D7CD787A95274A001CB9
+421DE1DD7BC5043DBC7B96558F1A81BD81E3A8420ADA6BE83993D22890673A4C
+7986DB88D435E1AAE4537C1A237140449F675BEC3C6614074EA05949DDB7B589
+33342DEDDC08483BFD73782028F113F1579A07581D3DAA1E5C14720A7672B405
+AA208B3022988A801540EF8374E891D0BCC318B117E8DA632D2E4D2A6466F48D
+C005CB111CE558868784A6CDBDBED1AD7D67D8A7C0B196EECB5CD85EE5469282
+12CD6433A26FA9BEE6DF6B7D5D0AB3514949CED97CF46C292C2DFB89F16C6FF7
+57E3733A7CAB1F0C8F9BBB0A1B6427DAD1800E537EEF90CD9636CBA0040C1BD5
+0AD000286692DD5F51AE2B3EEFAB8D47B1C07081717DD5746E8F27B22666E314
+08DF7A7183EF4DCADE90618C06D78CDFF17BCCF85CDFF27AED1DD15D07511A31
+126BFAE276DA3A6E51F8557F6BD436C71956BFF7651639FA4EEE296F53B3F344
+E71F90276BC0EF74F3189282DB9F737A96EDF6E9C52528A65BB9102E0FF1C83A
+E208340497F61BE2BA5E43F71A8017BA9EFE0958751571D1C1DB9BE5088CA5A5
+B7DEEA1A2C5D835DA786ED2987ED1D8FA9A0FB0AEE882FC2D12DA83AF8DBD30A
+5C709AEAF46664B955FD3D27018918BC21CF40A75F33DD530BB78ED946A8D49B
+3D5A32BE571625215CA76425551B8F4CAB74A5F64BEE97996B3AF90BC3D935E9
+58A66F6C7F8BC26E626BC1D79BA049933170580C0520B2C77F007E8886B54258
+DCEC03D76ECF86788B411F9B422A404910A3CF2363AC8D831BF2DB17281F4D93
+E1DB455725FC79BF58C882C204BCCB5BDF4EBA6FD80F70CA5208E905593D26BD
+B8485E39CC98CBD8E1C551795EFEEC0F69B3481A67C569712A29A5E8E664BA12
+68B97AA0001C7CADAB7C79DEE44D310A79AA2CF537661F5E5AC56B6C4CE4B4CC
+AB4CE667825DE33A1E8873767743C0D222FCA8A9588CDAF9F0FF3E4A1CD0D3AD
+BC8FB39F256649B57C7EF81662C25C7648E62003FFB754597634D716A0D03BB1
+D26447D84C7206C56CDE58E796086231493346805F775C1B488558CB1536D537
+4D0DE00308AFFCCD0C0057679C6E42891B5EC65059627BEBF1D13667519E9FC9
+2BAEA56EBE6097A07F5CB058FDFBAC0B0ED64B34340D07D2C79363A5FD25DC82
+7F6D83FAA8000525745158886A70680CF4E6069A2EDA23F95150EF36F8667D9F
+0AB3A22AD636D7F72966649E99549F4813FFDBCF519994BEF896DC3DDAAFAFCB
+991602383E5ABD0D31F77C787486721D5BC560E033139426CC6F10F109BEE2B6
+37FFA157A72EB161DCE1645DA0A53373BFD033DABD281EBD6BAA9A719A22BFF5
+D31C9CB8675B6E1CF2986744148B1B78BE87A9BEFDC38E3863157DDA3409762F
+F587388145681C89A42F0CD5303D92DFEDC5FEB369A2FF9C409581A8574939CD
+2CD484CE3E35C5D95EFDAFEB686C2F90329DF5D1A8F3EA760C253E9AD40B28DD
+7F5E4748BFB09CD4020180E7C071A12AB5B2BAEE80CB0292A6C2C93789830C21
+2984571D38E27F3CB25BE06D9C2BAF634D54D0FC8E5FFC96D76FDAFC01082655
+F96190E7D5BD4C178117A3A7A2BDC744108FAE4E31F03084314E828117A7BA5C
+2B9D9103B21B3FE9446C610E39C3F84AB46312DE1A188FE10A825C38F0A52FF2
+C80EF60C4E1F8613095FA8937E1F92877423000A190C0E6D25F253DA6D4F3D8A
+E41B75310B92E490EBC73E5AE2AC2F52A932946FBFF3B8F4E2031DEB3A5E7CE3
+292C5565B7E22B5E416ED493726AA3016D17FA1E8CEFDBF87F6030C5529F9E8E
+C57F6BF9458005A5129CCEA64DC14B18642471CB4C202AC357139DA4B8A89F1B
+C04E879411BB8A97135DEBE74AABBD2DD5F4B23ABECDED17F2C3B8B094C2A108
+277ACD33C0F7472A000248DC0458D5D6AB69CC74F2D58A3AC731B4FE60161C23
+277D6826D5136BDB06E0ED6D6807FFA2B276B949B96DC70430888C929A4C1BE7
+B9F106EEE46470A26C3188D46A92396C5B0118BD4396F87ACFAB95CAD76E38B5
+80479253975B4A3E54118941F4F0FB2C70ECFBC1CAD3B80C12C9704A2FC9502A
+F12FBC741A370F8D77AAFC43D51D71FFEBAC9248A2FC086972C132575CD8D898
+36419CDB2694AC72695F10C0A206C3E0CD8823125DCFC7D3B8FA77DB6CB550E0
+8DD264998F74B32F2DC260BFC2018925AE57B9DD9A3B2ED53C4584660E5250CF
+FE315E270B530A692998CE5B5C2D4E3193A6C724B1FE276BBE862D772E689635
+FA1451E92A30EFB9FF94D4E567D867A8E518FE0A646E8F5B03967BA1B9798E44
+021EC1F6588B9C0C8760D3E75E79F3E0D4282DA6E489803C29EBF73365E16F85
+8AFA366D123CAE5FD2A56EA3A5F88F1110541724F53AC3434D439796B15955AF
+C8E5F5FF930D2BC74A996AEE7A7EBBDFCD1BC0281FE40CC20E7D5143D3897E3E
+654D557ED95CF1F1E5B901433E4D8912FDB9BC31EA874DBA0BD460FB9D30E86F
+F48D15E4ED6E8BB21647C4AFCDFFE7426045AEE794E456E00133736217B1BB04
+EE27428AC5353B4AA07F19EB05485AF530E227C69DBBD6A718203DAAD8AA2DD6
+BB71F465D1DD1A676D9C8CEBF70348DC2635C22011D675B1CA56377B44835F3E
+764C3475A4F614BB89EFA8B75FA0AAEE63B34E3620DAD1FA8ECCFD022E3B016F
+C0CDEDCFDAFC5C82E855AA75804DDD589F5227B5868D6D4C39FFADBF00859F79
+61DCC0A2AF3B330796137EC2FDC99BB2C6F4658C6386209C1CC7221F33894BC3
+C6ECFE28A923A12140C70F82A7E1AD70F9C8F405D5EA99B619EFF805A36EB73A
+0627C65AF710472B5E2C502B79519B6C7F37F00AC044A759C63369B69D12F9C3
+B69E476EC1C4FE428C32B6B56B1AF81D5BC4A4615BC4D22FBB7B1E2876C3D3BE
+61C44D230B45254D7296188FED195417291015E468F4057CD22E8A69F1763287
+7D3D27A024AF47535A3A9158DC0D355100D1F56C7ADF6D858CF8864C69F96C96
+BCA5519BFBDC111BA0F7BAC132D55AA3E61DCAE53E40C88470C27A1B4ADD541A
+4FB87DDEA008C44869D63A68C00A83FA322E65E0EF26FCF592515BF10BC470C1
+D038D5DAF074B1A5C4237588783FEE22D9093A1D28A427239B24A69B87224F43
+CD202D27F12C5BF272253664CE9B65ED898571956378B62C2543063DF601B100
+4FB95D1384633019D9ADE8F8540E2213620BD4CAC61BA8238F5045C89901F29C
+1231D83BD9E817E4A6613CB8481050D7731B980EF3C793572728FEC05D74F980
+8B82A3A1D0EFC5DD67196F05014EBB8BCA6447C2727CA0F1954C97DE1BDEC838
+0A9C82A4ADA5B393DBFBF8E6CC4BDE9837F7324876B4F609B4552EDDD004BE67
+A84D3E8105EF8D8DBA8E6358F7178A153F9E89996987F4259C94EBCCBC6D190E
+7D973CC5C3D1D58471F71F9C5A9A7F7DE95179875F21CD2BCA5D811BFD4EA8BC
+A5A8C72072282236FE8634E6DFD69A8E8E466CD260605B47A07D1BDBF6E2184F
+498FEB9E32F901EA2FEAB98454D1DEAD45FA95D906A0D282AC98E540FB7B0C1A
+CE5A412C8482C8E7931B618A9363739901349445480407BA425188D71BECAA01
+EC7B7028621112E47B5DBD009EB3C9DBD6049434763239C96424CD1FFD442EF1
+C5494FBA8B3BA18E30A39B4B4455364FEFE0F824F70021F2BA644A8743C2557D
+93150884ED0D2679159348D90D45F68259D8ABB05CF73F5B9763E90AB11E51AB
+1379E8453D8FB32965C46E0AEEE2CDD53F93B68FD9A8AC749604773CE9FB872C
+4EC140ACB395FA04007B94FCC99A964A7CDC54E9E1298136440F1D6453BB6D82
+876C2D0A887B9C1981A079782CFAF4FB8280E14AEC14AB2BC7F288071B34676B
+360124AB94814EBC13B78200503682C09B0A8B9A19B72203E17458673E5B7919
+1F698401322A629B254B56F8B0523C2963FA1EDD09D7251B71C5492895658892
+D4AD04A29BD0C4D44A87245F28A67D9651280497B72B6B9E6E66461A3B4C7BC1
+DF82CC3A522373264735030BAB4BEAC1BD62CE96FA99C2DEA47F1F0FAF49BA08
+EEEDDE0125320E6CF468C0307A2BAB4D5A3055FC55DA094C8D41E6FA61F55F17
+FE84CA86CBBC83C0A789491792573D1AAEC580639046D7CA2BDF7F275DC6E39C
+26A555DA32A9551C2874196B049EE4A7556FF98852FDAC42724E4CBA4112A7C6
+3D7D29862289F09AAC559628CC5246142B324B108232F2575A17BB9FB6D59A68
+0F13FDB5A7A92C0B865E25B0FA38A6E0D17C4611DC9CEBCA707B18EA6E54E03C
+362D1946AC99F4225B8273777D980F69CC59A8EE8DACE154AF338A31FD1E3AA2
+601EC7273D7FD40B1774334C570F328DFDC7BD7ED52731DEA3E27B09ECA68916
+5FD52A54DB1ABCF1DA81F53A8B9EA77ACFF5C1AA6703416E243AA0A83115E8AE
+D878E7AB06019467261710B2AEE3A6857059E700A44F1C8587863DB557E0EB75
+E9938DC6DEE82D36D26FC03FB6A7A2E8B39580D7F919E1778EF82D4553E99295
+7467A6CA16836AFBB76DA896E2880FF2433C472DDBF075DC42752221AB5E4F8E
+FA0EFFBB95167C29F8E336B7D815427E75D875A02ED63FF2FEB8FA6CD180DB94
+A238173E012BB474412458190F6DBD3C105139D73B1577A9CE236EE26A2B59FB
+4E8AC2919737B1FBC90C4EC60B70148474D02C6579C3386299C5F4123FF78737
+C319984BE77C1D195A3D874DCF4FB1EBFC2B9F64042031F2DFB7F82F7CFF759A
+0F2F64C61D2A33D12FFC280AAA37AD740E45F119CBAD755A860D5D546C0D9ECA
+94810A70EC1D1BACB6DADE3B2D62EE04B6FD897614EB036BB3354F2C5181C148
+C3C0D84E00F337854AB6ED9D3154972982124F1A1D34584E3638F06BF0AA9436
+FDA8215FB613FC03C6DB87B48164F3DFE6D8034629EFA7DA3E3C101DC9E1BFF4
+E4850C70894E2CD7152FCA9F22F549DADEFD4127728585E834C8A851C7096B21
+B0AE401C50190EFA88BF92352E0A9D14487D015D04274DCD7EE339F3D1A665F2
+882F1866CE968946FE293AEF2A0E53362E6D9EFC7F45CCAEE891B3569581E3C6
+A1E84329B992D72109CD72A41003CFA3A61055E398F51D1808F3C94F40859A25
+0EF6CC1658BA149541442EB18D88627388E59CDF6ED7F482F692A8ACB0A57532
+1726CCA9063B7A2DF8A1BC12A4E7BACECCF337174B87D9E5089F513ED346BCFD
+7BE47230CEAC7FDA6898D20529126AB4484016353972ABFE29332F45BA335DDD
+E623ADD99CB1ABE3E818B22F9560C5BA14BAD345BF8A836C9E78A5B4E4E99699
+C4B063AA350F84988A68FA7F4F2106C9E99A4A5833BF9A6AE2D4671621953348
+E57B355C17B195366D461EAEB622859ED5F28CF0C28CA28AF6923456695F084C
+94FC6DAAFFC438D9B0DC765998C54A3A495517F4E75DD74F5AD0619B3664CA1E
+31D3B4F62B1B9D7C2B7EAD550C7A23E540A8B73FCAB88E40F28241C7A4DEA9BD
+084DC015359F43F0EE6FC4F9DE0766EE8DAD6EFB6BBB8C0AD0F0A02D0047C3BF
+FF553A539F05BFD36E8F94C8A1276EE4A417D7BA199E60E5ED36C007BDDD7346
+79C0BEAF65F56A1A2830582E73D60C8C04774151A9DEC7889A684E0B892FFCBE
+9E30AF6D91A72A1C285FEB799DBF93FF6EBCB1E17D475D6DE9B2DF9324831605
+6E4A5976A982FFA19EB9232206BFDDCDE09A459E8761AF55AF516E38DCCDBA13
+A15451B152FD3D6926237BF667E31E62CA0C45FB0FFD70C93A073ED26E7EA216
+4D9D62A656E4B05F8A14BC7381EFF8C1131A72E9FDB14B8CD0CA3728579B9C1A
+1A7DD9FA4E8CD39F124E6DD81C540AE436C037E7631224CFDD8CB18F9A3FE8EB
+1DC08821EE5E9B1D7B5E8DAF1935362E0312A16DB223043C96C9BFAF262D5244
+077A51AF9F9A02E3AF69D5CAC327334C4C3ED1B1D608EE446A574349A56F28F9
+48E31B89CEA070ACB641FD458FBA4A40064CBDB4FA8F6F5EAE54BA08CC3F6536
+2A33816362E648F6174BAA1C72B68E382FD9BF039A9A1D66F698F2C7CE937BC4
+46469F96EAB2528D4C5C173C5BD66D8C3B9D91E8BD20D8F5CE0023D4C88CE6F0
+F59550C9E244729ECEAB3B4167C204719B28C86C9F8714E1C07B2ECCC337E2EF
+18B5936096706AB1FB83C40F44415C3986CDBFC5639B15EB606952B6A6E54B02
+EF9F8914A5EB99772459D7052EF7B4B3E6234C06AB0AA6036CE2B09C71248060
+384B1F29840E211CA56F16E48B45C426F58222C45F2FA574B2338DBD5A369D97
+E6D9EDE855437AB2DA11775B2D51C561E2DE48283E09AFF7C896472F3B0978C4
+8C24E55A3AECB2CEC687436ACEAB0E132AF68EDBD2A50E5C45B58E6E29B31DB6
+1B8DA96B25A1AF46BD1EAEE2919ACE758064D27F8669A07D100CE0A61BB11957
+D208277C1B6C547F34598F9C69C8EB05EEB9CCE4CC5DF8D748F5E831825CF8D5
+8C3D1531E89F69CED148CE4F6ED85E7A5BA7F19B473F6A08C95A4373C4EAB134
+2A43F649911804675E91C0B1E74B9596C1184B1CCCBBC459C0B05E3FC4885BD2
+FEFD67683FE750E71C3801AB4F50ED172EF169E34273FCBC1C3E1D828C1B746B
+27F5BC4DD1D2A0CE14A27ECD949FF211E37ED98597FC09AE4868012441E36C1C
+A3269547D88D486E63F67792A27442FBB5545E1B5C3405ACC152B340A05CF868
+A1F8F82C8C90343A1111713E97AEE6EB70BD15C155EEB7E580DB6C8EFE7E111B
+7A52413283C5670341675BB5A1830329AEB3B2AC9D8CB945E717B586C39A8D29
+163D52F0587267C01A9596B669D352DAFB766E380C1A89F7DE849ECD3BE8BE12
+7499D47D3B56475F30355D218712ED682A15B31D08CFE5577FF1CE129C2F7CFC
+BF3AE97511324A8C312CBD77BDF550525E234640962472DC539E950D30C7154E
+5F77D2C612DD8DC198F4AF5DD3F2C336CF814EF092E58CE27729C219F270D035
+22D20530E522DFEB99B0E45CF69E58312D754241EEB13CEAD3356988BA9A3D7D
+77A0BB9CD886CF887413E652A5FAFE73D3E6205470E1A2F310B7E5B883E4F758
+10B8A6950B7C5463080DCFDDEE54CC4B914CF0B35700383C621290CC8634A68D
+33D72CAFEB9EE2DBD2FBEB5C0818A7356A7BBE882980F359A1C81C977F40ED3B
+BF1B0F532A7D41A2A2BC8CB0011DCA0F0FA453773BD6ECB28ECA185E7BF410E8
+A2F41F503A3CE099FBF069054F6EA5C00DB84F6756385A39DC068A60515142FD
+4BB755575A1DA1E0CAE53972BBE7E316032446223BA3B11948D6BFD6F519683F
+CF689053E855906991848F95B7E4A1AAFAC7E89CAC60E2E45167909702453C2A
+0DB783797E30FF6FF04A9D963B04F54A77DF4484889C3A49E112AD777D71DB1A
+FD245F1B7F06E0027137CA9DC440E28E37AEEE5AB1A2DD0E21D0BEAA061618CD
+B41FDF21488E9D4E8F3EF7B7F2DCD60620448F70BB27C5A3FFFFAA6277125140
+BA32F78403332E638AE10B60977080235C23CD9AC81256C96647A46B40D53FC6
+21424A3AD516B31ABC868F4B1019D1CF87FBDE2877F5C1E8E1353086D6C61D7B
+C5450555F0E10D50EEEA235F7E8224F62B758978505DA4261227758B52CD014D
+988D031EB40DAEAEEE7AAC1940F2F01A4D3563912D2D408644E5ED0768A68B75
+4D14D76F5AE57DD70B9EC6C90705368DAD8FF37ED150B24F2E20906EE523882C
+8B848D1FFB2F5DA878F1969CC81A409148C1A6B2E50A1B34D5973AA77E91FCB3
+F363AD88ED79943EA8D25EF390E12EC1E1C2E42FD70A125C6244164E3F77903B
+0D027C2797D789746FCC312B020E54075066881E79498B8052726DA688700133
+DCBFA4D79F723236B145D9D20DCE139744B3A47D812B094C15C2E0F0B953D923
+341D5E221BD06C19C20D17B11ABFA708F03035E244AB4F0A684BFBEB7D93B8BC
+C826B17ADAC1252EA09977AB12188A4BCBD50ACE59EF4E5BC254851F46D78590
+3DD7A92355AEA3A72782A29523CCC0E6AEF2BDAFF4B3CC6C0B207DDAB856D10C
+3678BF4D53B3C6D474B955E1F053933C086AC8E1D4874653440C811ADD1B4E8E
+D3988FDD4FEC69FDBC483E128D2D346E424AA83D882B4D1D65589A06F264E69E
+47D94CE5B5FFA87A6AE7ED1D9EBF9DE99B11B0D7BFE65B679936A4B67FF25A81
+175B07515A1F37
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont 
+%%BeginFont: CMTI8
+%!PS-AdobeFont-1.0: CMTI8 003.002
+%%Title: CMTI8
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTI8.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMTI8 known{/CMTI8 findfont dup/UniqueID known{dup
+/UniqueID get 5000826 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMTI8 def
+/FontBBox {-35 -250 1190 750 }readonly def
+/UniqueID 5000826 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTI8.) readonly def
+/FullName (CMTI8) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 67 /C put
+dup 78 /N put
+dup 79 /O put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
+5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99
+8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716
+EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C
+02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D
+46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A
+4B60D020D325E4C2450F3BCF59223103D20DB6943DE1B57C5188B8F2AEA89F6B
+B9F27709B9A6F7FA0D2B5A522C8FFAC1E14B3F5FD04513BB94F52F432B304636
+6AE8FADAAF2CD49830BAF2AB6E4BE9BD0BBB46BCDF190BD729750493D407FFBC
+E0AF4FF2457B984427D29E386D7D003DE9F46C90DDB2052542599275C0B2AF3D
+5782F71AA076172B764888EE754083308056CE0FFD39135F0CA6359948C049FD
+63EBF553A84FB9B32845354B27A32CB1398F49E0A331193E0A858DD240483727
+07F041E6D75C1378445A58E2B31F146BAE8BE3BBDBFAEF873B44F245604F69FE
+376E57A404A743550B10A450B9C8413069E2E00F0C304EAA7CF987E7F4577A04
+77F67F4B845BAE635E0639F6E98C3DB615F4376F878495FFD22D7A49FA424EC2
+823C1587925820B548400B53B5513AE97A366A87B4FA8C886467766986F80174
+047CEE583365F828D13C1DC83280388C21E7822EA28E715C1C071B4DCA6F19BD
+1ECD540DE11C990D6AF7D52495E5882E8E4FD30B3C4E33BB91B30BDBE07DCE04
+3DA11D0A2E0DE87AA3FC65A92B11CD3F8A601536AC29992E7219A6E21E6F6DA8
+8B98EF41DBC1D19CD926D2888EFB42BBFA73C8ECFAC12E368E92598AA943FA70
+9D02829DB25AB9A0109C6361752223FE5E054C1E21CEF35E48979979A0DDDEF1
+5EFD7BBF989B7C7D3437DBCE1669341264E290646F2C8C564B6640D0DE9ECE1F
+71724CAD66C37C8EC298848C43387CD3F4488229EE5C7E68668B2D39471ACE31
+D502B7C9560ACDE008E84D99FD379D13C6AE62FCA484B7BADF5B8A92E69790E5
+8240C3E5C78A83E2600B0EADEB020DC3A7B2066E895AEA5A9A1E606E14818DF3
+56EFBF8876EDC25C14D6DAA1B7A80E8F667738D8D5040BDCA080A6A284C25651
+40E7A230582EA0204276217571168BF11644A7DF209C22E3748AAD3A90A2BFBE
+8C3BE010FE3BF7932B36DF91858583EFB3BB212E9F66A09F525981477AC03967
+95C70DC6BF8498F80B7F92B748560C07A583B14D5DB2E48718E2D5B118386AC0
+30DB1283D2842392655AD117A75B4425C51ABAE1EE122E68D24A35406B73CC2C
+A839EEE18F626494A7C781310FE182DBBE6EB9AB532E32EA64534ED6224450AE
+25E1C2DBD245F76936FDC8BD65775F5FB281330BE2F7E21E34FCA486106A8385
+BDE975E225E68DCA7CE41C0A882075D128AD32E4D0B0E2E2AAC9F40D272003FA
+C804774131EA9C190CCB741D688284EE32CD2C7790AA683F56E33D571100C12E
+F753258FBF6749FAED4540FD7BC73429B4C9C93BC9D2D482444C50FC35DEAF0D
+D65136129D220DF8B9CF961F93D4D0E6D6B8E0240B9DB73B2B81617E0A708DA4
+F9B95DFFF22A1EB794B5C2F4E7F2159471F9631DD4B7959B8D87BED8B70B67E2
+BF7D6DCD58A336E3A6E97DB53D94268910CC212EEBE18B4898A56E16F97C7C4D
+A34EB6E1E6AA0154FFEBB13000ED9A4DC26FFBF0481D95F5481A72F480EB7A04
+DCA9A6143D19B604F8502F25000352AE50C33C53657A4F6118EE324246191316
+DBB6635CBA9047F911F0799942C5F46782A8EB3F500BCC68948E58EB0CBEE0D0
+9BA12584C79AAEA795F4EFC3B04169FDB8EF672F6126BB7BA9497CF58CFCB0D5
+CD03BB351D07943B8D0FBFB7DEBA03E833D591660F31EA7BA55A9167766A26D6
+A156EAD371941D319D95FBE43260C19DD649BF80B44C9C695EB927095421DA01
+0D422AE17F547FDDFE09D3D867AD4A1C79014FABF12E69A547B73EC7DF70E3D9
+24D5E8012C5ED4917E2A5E7E830573F44CDBFDEFECDB5CD4BBE0C4DD6A458E31
+A7410FF8C89E1F04775713BC812C34E4D22D375927552B305FDE786B14AC3347
+6695364B2A8F5727B3A202ED392573AD67FC899007EE380485384D10CD55664A
+A7D6AEAD020002AD45B46C9273D50BED3387A0C1D11F894004CBC61C6A8A3166
+E68FF692B25063926DE2F698CD0A0141A4685DCF0FC0A785BB2FCBECCA57771E
+7031DAD19207691B2F1A9F00485D746765B4AF02A9606522D8C75BC14998D68B
+8208773F4D2635EB9502DDA4825EC7DD185DD098B953B086C9B9F99E0BDD7ACD
+058E3D2A02DD2B2C6959BB3D961E27D234189D23088DAC6B2204C4A9E0F76DCE
+394E2E4670346A37E7FA9402E40C20F3C40138C6C7CC90A5A8B9ED3104750118
+4AA57EA814ABC985B0796C3EEB88017C0F69BC5F268F7BA1B700E75A851B79B4
+FB5C715F3792340341D74B45D70D1651814D8847E02B814D47CD8172EB87619E
+5D66CF55CF11D1A877276DFFEA9028B507FA173E1A846D1C42C9662D79766315
+2619DC94A4E331F6B70E5ABA692A96E842D43B05362DA4546427CB890123AF04
+93293AA38FE8CEDB20D325E4E820137206A23DE2E8E3A5663638F74A89D5563E
+1BDA0CAF151F6BA70C4A22AF26E0AC3F2B9F8C45523A53AC4F25A2389F4980CE
+44A118CF1679CC860B075EBE32E52489F75FD6C747BE2E6996714FB61498B05A
+66C01A15D93BBC7C745CE0E923712BB3BF889239D7E9FA4CF6BFD3A48ADC1B62
+AA0D91BEC7F7C836F2AF0BDD8967BE0D63C5EBFA9BB4545AFCE1CBDE408F5DDB
+EAADB00BE93D21DCAECBC937212E64C17C742B77551A7486725DC5B6968B89B7
+71DDC6FF46B31DFE19C5F3FF92CAF32ABA409AEF643E4D8B672E5A4AF5923B10
+08389AEB65A68D4DDD8D8034EE1345D4A357E27A3A0CFBE376748764598912B1
+D29B80102831F3EAF20A854F9B13F3BBD61F69605AEC1B6ED1AB066F8A13D87A
+63A4008A3EEDA327F8541CD5F105D8A5EE4A79B9283820B195D8CEC1E00116EC
+DD4276E99B39A38EB9EB7D2B6FE23EE248EFB9095484930A1B8E68FFE5199643
+D9213A1789D8068E444F4814B88B0389D83C9F1F29572BDB7FFD034B33DC9AC1
+D271CEA82F4EADA3BC91F9E5E7DA608D8567EB4D8A605130E0045F722AD3A0CE
+CDEA22B9CCA878E88EC5E9C8D0B6142B281D99BF7F32D1CA8CED728DBE57C270
+D3636F62D06A97A245B5E7C84BE2B15987A2A4AAAB7C54479A14669B47F26C54
+034F20C1146AEC8295F995C1AE7C03D11F7257BE65803D8582ADA8257BC27F4C
+0459D9B41274267D50CE7C88C42987631D29869AB4EFB1F439D8808BEDBEFBCD
+DCE341F58196C6BBAACE9D924671C1B82E82CD6D394FB092FAEC820660D09767
+F14ED82B17FC5C7AA5C376A63AB05A4B4C6E21FC5A76185D3038591334DEDAFB
+D09146B80D3A0E5D0A171BD83313C9C49B569F42824FC8BF2E1C1DCC8B126E17
+FE92C679853C1EA00FD376A7C12142FB7EBC911168F98BBB77CD5673D038BED1
+677A498EFD3AF478A0E9F0F468310BB304E38BFBA27E35E329779BF4AADD96D5
+7D83517EB68BF45DEB72327924F3DF5FB0434E153C2B4A01BFBD77C6F1DF56C3
+19BCAF94457B781EE43E4F1D69434D96475880591A492100FA85E6AC6BF70299
+3FDCC4F27C49AAB1C339A841A571CE65C1E6C1133409236C0B2AF151A423E4FF
+7C84F42A41E472A5B18EB93DF182BBF8675AA3C0EE971808CC67B83E17FFB475
+CD041D9F5C69F907BC2E1699B9A516E048F1778C8EC1C50E7455B9BC6802E871
+E6EA5B6D6E92BC0048BFA7FCCE18DB433EB037D7D7081F00CF4020C07FFC871A
+C486338D2F8437040DAC75AC1E1114569C60CCF03792360B420F195F2383E51F
+D028FB342CADE9A8B13099A21C2603C7859188784D857D4950F4D82D15F025DC
+6D015BCB9626AB339674589595384AB6CF067820E908493AAEEA2F16D0FC91EA
+C797F6BCDC5963BA1B213CBC050661C84334FD7E643E978594B2E9979C25A9C3
+AD0F3E7AE0445CA0B106C97F962E5B314050AB826F8D01B3C3CB08E3795FAE53
+1C2E0D7A174A2A968AC06A53FD98F807C38CCB35BB57C39FA945D27153CF8C12
+4DD344A2F1FB3F777834716CB86D96C11C1BA9E1CE79DC7FFC1520067CC76AA8
+E4CA100D74C9C26DAC68F6E16C84365B8EB104CD382C5188423A3193C0BAF143
+CACB03DC0EFE64611C71C0BB65C2DB29CC8F9DF85B05CE69C685F54AE506DE41
+7225D2C3EC3021219C84392AE00D862EEC9D4FFD6E520E6245924A16A58D4B9E
+7050013BCA1D24C5C9FC8CC596220BFAF8F9A58D53396106230DD64C19F561A5
+462741FA6B99FC44A23493489E5DC251E63CF2A5629963F356789F78F3117F0F
+2B22F7EFB47D93B92A16F5951DEE257FFFC7E6F8E94BA6E73B3F2216186F3612
+4A276778340698C5C12ED370CF2D2FBAAAE66579A85351B509F73163C459C002
+0D6DA5E9018D6AF35E978779236104086149F79B914111202708B4FB7558F098
+4EC8C44BACC28CC8F20CA53726A73DF040976341CD72FFD434670AD09A62C5D2
+873E0A89A16FB8BB94B25FAD9DA42549758FAE38531D1BF13B2D4E51585C8E9A
+EFEACF6F368BD564FAC6784FB264BEFEC0C133A9F6AE59F53EEC61F03B9F6D46
+17E615CB7AC40DE1C29E1DBF2515A6462CE1278AD5E7C7D616B4D1F61C4092BB
+83FE68173BB8AD591B189106C69F30CA946AB505B955148A9C64F7E767DE1D32
+D19A9CF799F2F005D7E3D912E8351373CA6926D4D9BF2881198F3F92508B0F1C
+9E32E86304261D57A9FB7CE2CBB1DA95F42C728E876DAE97175B7684E1DED2EB
+F6353EF742AA647EA82CCBB8213238A4498C652B0020BBE09DF9248D2B0D7939
+D5D99B1AA7CE785B5979EE2E1EE199856BD2E03ABE8F2916C2A3ED3895AD6F32
+5B3E3C46493C37014B6F339268080FD6FA8B5CFA5527FD21AFF7098021762797
+3A3B7A778B16C138719535225E1C0FFD38E1DFD29E5128442D6FEFB2A9DC568E
+CCB4F97F808B485303A3DF9A7283E14900FEB5E75A0359E9AC87BD47B4E7DB71
+1D155DAB0441EB966240B3FA2F5AE8C5D6C61E156A959B6F0E1B104684A51023
+942121A09D119F830D312A3B23AF98AA065BCD631EFA0BB945442CDA214FA193
+995A49B79600D2AE25085BCBF58BA6A663037FAC029B9D75C7D3D862003DC968
+285FE22C8BCA86583F305C4250442843B2DFF5CDD4736168C668042864DF6C89
+F9719A52ABA0C611F280FFEEA603E4B9C8EB744D1542EDE8BDAFB30740B09788
+E825C550291039A4020367130E66BD2B8E1C04B02C1853F37F07FF529394D18B
+01106058E3C30412F79FF5E4DDC9CD06C77BEADAC904432DCF41C2667E85F89B
+E980DC692E1E396514B6DD04CE197D3B6BF3B059F0F74CAB342B984BBCA7551F
+A19EC31DF2A8F2923318A74269024BF26D7AED42E748B6B67721CE33B2B27A0E
+04C1E92E3B3F97BA524DB97E9C6D3291231DE3D48F7D78A6CC2FD49E98117A1B
+B39418F0DFD8FAFE4A374B337224B935E2827CF69102E30BDC6DE8448562F813
+3AAB07044FAF7324EEBB01DD182969963FE036A483EA0B5EBF59A52200685EDC
+B733F81996FF22E99E772495A82AE6CE4BAC947B819A9250C1E7BAB86C06C3D2
+C9180763BAE247CD41EC46883DA3E98C2C947A2F2E515A0C9593CBC5B7D6CF08
+AB2101C1209AF33851314D4578B0B711888FC3BA0EF3A9480FF16B1DEF59BAE7
+3FAD030F9F0F81014B0960C2B234854FF290473010B011ED96016519D2A3AA57
+5F40CD98C367DBA14AF270965CA1FCFB66295A2DA89F0FBB8AF87B013760D85F
+BD03F8AEDB62221C29746B7195C88D777EBB552D388D79F98A8472615C06F4D2
+DB9045B66BD7CF4A984C7C5A1642FBF92C821B9E74870C129F0E76FB23B27E12
+E88EF9194AB96BEF8846248DE86F31E6DDAD25BB4F86FE0E024A65FC6FBAF2D7
+E172453E3F9C5B5497C10045A0683BB3DA8B5A4EFAEEF4631E9E0042227002F4
+D9025797967F9F143189F30F6A89B4B26E4D274EFAA19677ABE18F75358168F1
+5D5106765AACB1F8338C0A221B5895C660D68EA1864577F8D3B2BD2FA3B7EA21
+A604274B6937DFCE6EB90D0C6F87D987DF0F7DB37E3219DAEC27C500B705C2A1
+D635405DDFD87C99299249281210DA7D0CF6C519389ECC166D99EC9C11EE000F
+96C180A20466E4D9D3F803E0F9562AD09FE2289B5A0F72ACDCDB700158C150B0
+01BC38D269742A8B62E8C005535374F10134162AADD690D40556FF6621E41001
+D530D47D29CB33294D0CD50A4428B8C74C9FE425DF4455A7B283350A112C7721
+565C68084184AA06B8D2FC631080885DA36A9BCC09F8C9AEB8C79D72C2DCBFDD
+BAADF34FA92449ABAAF510196620FF6693E252D31A6C2A4ACB3A198FE3278A25
+2ACCD4B665B5A62CAA65D60C1FFE196825927C922EED2EA130C945F1502263AC
+4D364DF0476BD7F79A6F7B75E217155FB7E9E5CC967B94ACAE72455C709DA98A
+0BA10E1F8851355190C17B6B6211D7610845B16D0FDDF9E12F55FFCAF2CD677B
+FDF3BDEAADAEAE4CADD0334DF5CDA9C737C3A04CAFBAF6C002C26CF29895C11A
+0C744C8738D1A720716272B4025DD975523DA33FC0B4EFBE48CE761B938D9530
+643C26E779566314BD72FDE97A88C62A94B4FE5CDB88C14952F739B5030A2A5E
+ADA78AA3EE7971299E4FBB93404E91DDA9CC799933E7C3B32DC630FCFA9C4F48
+B42B33DD10F5F23B79C539B5B0B645F34DA8D8DF9BF2A052140CD52CC5079D94
+33EB60C17ABE3756BD28A384D91BDF9D655FFEE546B49E98FA3C48243C291B6A
+FC5E352B2EBC82E2104BF7FF5B158847DF59B7B18CF808149DA8C6E55F357E22
+9B78BA28D7DF56A0CA7B55BCBC04307B5E2C811BDAC9815F70DC7671704699EF
+59855418FBFDEF36AE436B74A4447554B39D9362E30D50597C0061C1E4BD6F81
+5856620DC330EA0FA77EAEC9E087341C4BC808CAB056591CB4C5EE5DE3E6A198
+F86A0081801F197142D986047DAB4677A862AAD48DD9EC4BA033FFB00DDEA8A3
+6D8BDFA7EBE4743BB134B6AD5A014B084978DA46D117CEE5BBE5E0BBDF13CB5C
+EFFB4762D2400E5C0E15DAFB986DE0639D7547EC244B38F93EDF3D0C359594E7
+979A0E908E750C7C6BB9E65A9179CE5F2666103C493E84B165A3F08DA5F214A8
+A5E5B1ED447635BF3FCBD6577968E01745F81983DDF961336F79A6404DE6BD1F
+DC9039005742F0D3C45314A7BD52FB4E16727D439746DD5500DA19E0F89914E5
+73E52CE753649DB28FD70F7AC5726BDBAD3F715FD3611D9D27D304E2BA58C32B
+BFE69F9836D0AE72839A4B116CBDEEA9CDD5D6061782BBD53F7905B98A587AD7
+31C6DF8F3673AB9D6F5ABB9376D78137E8377EECB661B6CC8418438D510E6481
+ACC726178F7B86CB1EDD6B12CFA3E0AD19AF7096B7E75B753E06981B2BBC4BB0
+8F7BA4495FF84A571BDB84E280EE393419343F2FD0122C2D6E3C5DD7736E2374
+E41140B2B64EA6AA25D2D198799A2CDE0E7B3EFE8534815C7AE82D31577E8BC7
+73645A02780D46BE9F62A701B585FDBE40A8FABBF35A757B181C4F3070F208A3
+F3318CA3076C2878DDFD4BDEBB547BDBFECA4D5952491768306465317CB31A97
+DCB565FF8391CA4E1FA19533D7AD57332BD149910417E3E2025C86CC62591C4E
+F3C3B0A8C9CB69C788FFEB3945CD080EEA26332EE79D87259B08AD2CE83AD63E
+E90DA927AFAEBE9CE84F7A22CD13DDCB7E75C282537ACE01A31AF410A6ED11D9
+D2C6B6AA40D7CCAA092E9C26EED247CA403E9A3C0BE495C3D04B5541515438E1
+F36D398238F5D214B0D13CFFC3C54344BA08C9F096AD627F24B7C95A560BD01C
+95165B4E7C4172F1B18271FC24337EB0DB10DC587D1D16777D527FC11DBAF6F7
+DDFA806CCCDD5A5D241FD3677E133346B521BAE646C275A7A886C13265E7A788
+43F80CD719C44633862B102690CC61A9FAD8F5344525EA820AF443E9FF5A66AE
+D00AD974CFA67F94EC19C3EC32AA714E650AF284926BA6379D56C6BE1E710E2E
+C984A35AF9469E3B276920CD7F78DF747C0135D9290E91B28AEFFB11DD9CFDC9
+4E18730A535E14CF0AD87B08BB7F0E4F76C142A06D56F9AE7838FB01419E70EA
+5865B1732373F285DC2D08C218FB00D41E6A4607F19CF469C0D649E2423C73FB
+F82E99E175EF6BB8CF092157C6DF82C613F008EC7289246D873B2925E3F964EF
+5FFAF9D374EE9AC93EB26AE8E3FBCCE227A2CB32EEE79EB5C818CF94BD60AC54
+4488668B48D563C8D1B3FC5212F3D92A7AC517CA82144090E3C8B4FF20A7D700
+89DCA49DF1F13FD89202471D6DE0314FCBC1464984D0E5D2204687845CF6964F
+3E0870374E422AB0A42116A787ACCB562A3FC9280D8D5F2FF1A53971264398C7
+C8C71505A16BEAC1253A82D02836E30DD58AA92D63E380957825D2ED56FA3AE3
+8C1C5E20FCC4AE74377FD9D554EA2386221CECA8C4096A50EF04D237A390147F
+6277725BF0B07CF5A86BA30A5BD423C1F492E3B6984618E64399BDB843DFBC71
+854E797A19421063CC6A89C2678A858BF3A17D26B6045943977A6D4E05624CC5
+6D58789D2A01B5B33F0C96CF262823DE2FB97D4E66788612CF1CCE8F894CF3FB
+3D11C7E9432194005B25B0F07D4770C8199EFDC45B8A5488DB88FB8057D4142B
+8B46B093CCFA1A16E8D68A124A839E73093E7A245F0091821172CD5B04B5BDBD
+2AE44742285EA96AF41CA678B88D02057E23772CED39DCB057518F97E00AF7C7
+A61DC92D95ED94711D7E96AEC1743EB4D2A074533A255FA596D5F6179B8A2FF6
+4233C32B09F6CA7ECB1DCD1AF7279DE37F1A0AA6118648E8FFC53073FA5D8D9D
+4A3C45CDC69D5FE59A5ED390140127F24A17E733DA241A40B02973DB6011E5E9
+8368368FAB75905DD03703742C06F54F20D4A9F9DA3A3F9B6E8233578A5F704E
+1FB927B345B0DE87DB0C6EA41B58DDAB11AD16493587D14A7C1EA1A4E0ED0A5B
+1B54B036B9D71C036495E93CD8B598B189CB15803FFB1494A4AEDF0D9135B403
+C2BB95DD217380CF523F24C2C5F082C53543CB37958E
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont 
+%%BeginFont: CMTI9
+%!PS-AdobeFont-1.0: CMTI9 003.002
+%%Title: CMTI9
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTI9.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMTI9 known{/CMTI9 findfont dup/UniqueID known{dup
+/UniqueID get 5000827 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMTI9 def
+/FontBBox {-35 -250 1148 750 }readonly def
+/UniqueID 5000827 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTI9.) readonly def
+/FullName (CMTI9) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 97 /a put
+dup 98 /b put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 105 /i put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
+5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99
+8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716
+EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C
+02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D
+46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A
+4B60D020D325E4C2450F3BCF59223103D20DB6943DE1B57C50F9043B95BDF77C
+1450E422362CCD41FB4AF30F73B66A85AC8DDEAFA65B4FCF0033D034E111830C
+ACB981C2AC41AC32863D02E6D9CA81F8D407DE4AB20B4CB6418B8067D694DA02
+6E76FF50A7197281B7E8E700C4A8824220374DE1CA077D50A8B751391E35FAAE
+E0AB0604164A16D476EDD5E33B08639DCA14796F27A20EAA52D0BD8B61065AAD
+083E4AAF626C2575C56F87AAC636FDC2E5ABF623F2D916D3CF5CE8703D297151
+0A664F40B144A2F3900D053B709210AB8678EF35301AEF3696CF17A5B41B588F
+539243F32FD78B62A0D80B17F1028CBD7234BA7513A4809B584092B95583CF1B
+664929C33846E8F59A43220F79D8BE0DA051D17D09C1E9DBA6C60BCF99BAE773
+3E9439791901546793B3CDF014E6AD9AA169483DB87A6CE4104A8B25AC117504
+8D6DF6052EF491D510F67D730CA315915E77290A40D3F8EB8F004114BB64C5EE
+9F1E18A47A785A04D4EE3FCEA794EB3438CBCAE35242782053277EFD6B67F6AF
+97D892DA958EDBFAFDDEBEAC4451EF8E00D6D0E7E60C112F74999096428AFC5F
+507D0DEAC778A81F8F47FBB1FD8C22FD22DF2AD0C9BDEFF2633F180E0186A9AB
+B0680E661CF083B8DC5635D7DBD69A17E6BF1E86F7C19FF7E48EAE8D35F0B698
+F990DC16CAE9D6E9D1C323FDD183096BE0EF3BCE379CE5E5CB0F58E4516C01B1
+55004C20A6F2BF430D59368AD4F6D398B9A27B89DBCF70BB8A36AA24496CA621
+0D28748646257C95B113209FA00B4525C582A8B223C64B658DA11CA08CB64F12
+8BF230A57B4DC2FD0AA8C486D7B151C9713B12ABDF174ABDF52EC8034B0858CC
+6D389B503A320AE42AF3BBE33135032FE83E6B7AE0D713BA6A56230A50C22FB8
+597A5F21CDF98D70423E8AF8E3CBCE4756DEB5695D3A5E7C47E6EE62F4D06BC6
+C9978DEFFF773BA6CB9B92D2B2638FA3A1D92806EAF9A9A9D6DE09D81FBD8622
+AA7AE1FE01A1390427D270287D4A436A544D4F568640100F94518C113CCAA34B
+28791F62F1C5B6207165A847AE2A9F1E3AF8B96203DDAEC2AF8F3450CA2FFB5D
+E55DA538F39D6A5F13963857E2CE6D75E510E8287D4DDFE5FF5CDCC0FF51E346
+B8717B28181DC56315751FC861DE7CAFECE8E350CECE6B324879ABC8D8206ED7
+51D1D299BACD2F7F6EC2F8D3836EED6CCF09C205A7A76B82FE1AAFE0833C7693
+FC7E22D373C10C34BC0B57382312646763F593AA91D90F6CBDB096CAF9F52C12
+CB6E75237566C5D528DB58B92D0C7E16D6BB2D097C1FE565A07076209AC4DEE2
+BB6147D06D65F403B6919D65D1C3D9D0FFFC0CEA7FE0EE002AA0EFBFC120A724
+CCE85B3419C44ED7216E4C714FC85F72CA933D3707D2EDC6AC02335D4770B48E
+0B64716C0E1B9DC8A4DA1BCF7B47FE7B37F9630E55E9868AD41AC770C5036E78
+4D8B24AF41E90CE8358F97CCC43295371B73EF7E86BD1647EAB2E493EE912F74
+EBDBB5CAC34EC1044114FDFEEE2FA8E3574F4D1E3EFB38C3BCDC341A0E53044C
+0A19D619CB789E8C10100E413B8057373E6D77709B8019841DF04C8B27700FA8
+B21E2955C9ADD9CBCECB52727BFF0E48029D46C695028CB3A7EA779EA69C8763
+2BA38F274B4217F4D5C942042ABC9E4C1627D63C0BA9B1E03E9E3C7C8CB2812F
+503564C0C02A6F2041D4CD59BFD6E465CD060D655C38FC5499F06E0323A4F359
+37061EA5248B3AD809D16446E67B0267A3A929FBEB0A93DFEFEA3E8D5B7C564B
+95AA458F532CBA8770DD90AE6D3A0BED3BA140A4AB6261CE41967038861D947F
+20BCD353B32618537EACA0F1CA5C2708D67D46B6F9B6D4F12081485AF0699628
+05AE00F008AA816DB07710E06AE2DBFA830C34851E5C63A7E9E02404ADF1DCA7
+2185507F0CEAF858389E4F8DC3A1283FBEC373FB4A1720BA71F993D432425C2E
+D0FB5A6FBC1E1904B959838FCCD085AF1778A5E3EF29166C6660B797C8ADAFF7
+1EEDE9BD371E11CEE77D70008706E0BF2B6DA250F9C6A92BF91ADB7D32CA17D9
+776CE695179FC5D1686E86E2B4C3E34D2741CDA86C0F343E7CDD52AD3059A8C8
+134C7DAE20076E5EE5990CC56EF8AF66131243212C40480BBFDEA97FE0558ED5
+7AECD669BA1AD9A50F1C0B21D75AD5A11FF9F577153C12F9789EDDF81FB683B1
+F66244F6FB2DC1FF2B3BC8CDC6990E6C4CB835E552E2AC9A7540DDCFAD1F931C
+44815C59118C7EB3C4CED4DE0D45C311D69576D5E6DAE9DF8265EC6E566DDBA7
+22655E765C074082F346AB496F08F4E598D6D35472629273128157FA8608DD96
+0CC4A3B97B430B1DF8EA4851CD54E742AC0170215F86D4612129F2CC3874D047
+F485BE77D2FF57B8899E1E667D41E519948F0E60C5247F5483D20CB108BDDDA4
+27F15C14A35FDC3CEA924E051D711D8D4EE36E7735E6DB443DBBD000A4CE0635
+2727EF9C1AFC95E876A46FE001EFF903D64A2C1F00D734D32FF4A6C8E3956DF5
+5E676815AA165DAA9E0AF2D56EFFF32BEC9897F45E40909F2F39BAF85A354420
+5E6CBBC6626B98FF1A9BCC1F76D9AB0348C8E7540E42EEF3F3351006CDBFEB01
+0FED065EBE147B5E36BB659D6AA429E6BF8121F147554BC0959E6F45C6990AE4
+66A74CEBDEDD67A559C3E4937F50D3B51E7DACCA53A2DB98306E7AA86D21977A
+A4CB7592590C94C8479530239945471408FA1F774CAD14F58AFFB59D8CE596B0
+8DDC2E8CEAC94156D5FC69D70F2F779774503F168C48594C63F3180E8C93F423
+7F1F1D44CCC5E5F766D7BECC470F880611C545FB3F4C0E171A30516DBD6477C6
+2C478B4E3C2AC2241C68124C4570D476B1A18E7D093C97D16999E06CC1C8C485
+15AFA4836718A40733ED145DFA4B80D3FC3AA074665316786E65706DA958BB71
+67A4EE35FA629FE738CEC51D4F51431BCF8B14804F2C83453566253847077644
+257AFB4D3D13CE77C9CD592F6C913F5AA3064E88779966EDCA52B2D9469FE48A
+C8F6E5036AC9B0671508DA664E3F24BCE551D22434DBDF58196254D7D2C7C308
+1A6822F2F21BDAE029F7F776C1FA7BA9CD94CA7D919B4E7BCB9B885FD767CD9E
+96CC1604B95F0A8715837D7C27BBA08663FBC0DA33C2962577451DB48A4B76F4
+8A4B66E7D2A2E465789D1E6B6D5F20413D84A47E5788CFA97BE43ED05FA176B1
+F535C65F8FE60C72BE326737154602688AB71A8F12622648031414AB80C46289
+1EAE582B933C87122DBDF3E3F1C4F4F5175E88AD0EC90B33CFC13DA07CBE8C49
+EB1E86E0DCA68AF0BE3814595A4B2A4113FC8654A032BF00DAE293B4F2CCECC6
+C0E804B658720C67DC156B4785D9A15274F2BF38748FAC7936275CDF42915CBD
+FB21A739B80CE81B3897539492F113D589DA8A6C7B38621C8354625DC8B40FC0
+7CFF21FD2D09E41AC9E99CB18FB9C92BB735C16FDEE7A8BB75A2258E76195AD2
+1A88B0D64C130BE88CB2FEE3C723A46516DCE8DC6692EE27C6D8469FF511B7EA
+F1B7EBA054708112981C79CFDCDD40BC55A1778FB3FDFC0AAA7EDC425FC2938D
+694802705011B724423608C7BC1E803D344C9B5BDE13005D06C3F27DE0371EA4
+0F836D5C0D6C0BE2D27700B08ABD09783D329EDD00415387C97C04F89607DCAB
+62463E6A37E36C3A1CD92158353D45B443428177D1AE501F1CC0B50C100166B2
+98C4824CAD58B3A396D097E2850B39130E743CF3CF59259A174586B9361D8F23
+6DFDDAAC5B40CBA0495A3971399A95BAAC66CE5B472669E2C31ED0F2BE60E787
+503EB379D332055EBF839B25802E076B1BA8DE3EC59782335AC80D1CB950948A
+5EEA00C5F5829EB5293E05B982032207D41DDA035B3CAF26802A61751B17D0E5
+170C99F6A0EE0EABB1576814EC3B4317A89C7F11022A0695FA3C2B2B80A2F73F
+6A3FBD3A2B8C4820E7705CCEE368CE580434F3EBD2E9DBC162CB482278531546
+74355C299E321C47D1C4C6D48C5100A4B8B2A16DD422AC3365B37A79D936FB24
+786E9AD00E8E2666438B096BEF243BEC5C1AE35A9612D08CF7776E458265FC58
+0D67659A4D5AB175ADB10F662536C8A9447DCF5173E620320A43B2AA5D5B5C34
+78265F88656D2125C6E694AE4750193B05ED2A6DB4CD5A81E48B9912E25710DF
+C66A0FCB7920479DBBF739D4BC746BB03C2F1FF89288DD807E805957EFB929CB
+248F64A431C995F0300C0F836EBE1678C28DEA1F45034A4057520D17A25180A8
+693BB0FE3FE6308A332A7E54A674B497471E2D13756CB0B991C4A4F9F4851A9C
+49DDFB13416722223559BF7BBE8F1499BC93DC8BAC757E42E25369B182811ABC
+FE4F1CBA5E5BC15ACB6344EBC575C2F443A508A46ADDEBF7C34D88702FE46A8E
+D96C91AEA3EB989909A2B22E86FA80721E68A1385239B4883DC065A0C08ECCB3
+693B0D13CA411A78C13BEE866D8AF8A634B81283B77FF62EEF25C5D48CCB10DB
+BFA10E3066C116662395A6AF0B71D23C4047EE0352F4E02CCF28F959FD4394EF
+43F0761B73B8D726B69D5111CF94B720D461E0AE42C974F2EDA6F7883BCC35FD
+093304225534D8043D934772B0FEEE6427D0481A6CD8BD614669B875E1DCC6E8
+EC423D9A0DA290D8571E97CB6CAEF274DF823767AF4E0576588CF2ADC239FDC6
+437910EC0C2F01B4DC773E73C7FDE6E37D3E784E0E5B655600FBF3FBCC1FDCB4
+CF356017BE2A663DD7983A46482A4C1B42A067381D58AB1B332CAB8E5C83FC78
+1F0D9DBACEAAD372991BE3074D9911CBAA95E776008644F203D6B2EEAAFCDC57
+C53DE48816934BF9D70F90F4186F6268522D260512492305533C1B0FB23D4726
+6ACE20B872517CA01EF5EE275CCDC3BFE45C19FF225550E4E73B15E9BEE3CF21
+1594CC1773CDAF0C659F3EDC2EA43C25D00AA68DA8D39DC46A1676099496DFD7
+1155BCBC439742A80EC917BDB6E7593639CF1217C0265BA3183209DDDAF50E71
+FA061C8978583D93EBD97C70A890230AA7123947B197E9536F0DA91373DECFD9
+BD4E1C12B086B12077EBA19BA50B786AAE9244C60020F406AFF705CF029B43E8
+D70CDD5DC7A61A75858E03657264392D9CAEA8C515DD98C2CB9E84BDBC6A62D2
+36CA59D774BD889D64E6C9A0E043D04744D3D807D3A1B1B25266F0D9953266DC
+662424A93FFEF40F47097F48D1904A1CC00030155AA3D9B07D281E055E6D033D
+745856D9465D7349797A07396AE9026EE96DB8BAAA081D64EE4D86ADD8C4D1C1
+CE8EDA25CF3242047E18E4C9870320052ADF3EA543D32E6EDC93264DCC2E5A1F
+458369CC5CD73DDE165D5BF594C81FC992F35DF29A57464A0C6D72D5E7A92535
+3CA14943640A67B23935409206FAAA6A11F598BE24373E7BF54A2B3C34551080
+1B4DB4E3135AD0B61CB1C12A5154013E11B33393A1C16D74B16BB4D8E7B893FA
+E6AA0C843BA5DC50FBE07407D8B16ED2963E36D021EB433609053BD19ACA31AC
+53B1360A48F71D972E669D5357C22A33A7211F3380DF41069AFC7ABCB3300D72
+FA1E9D6F2291E147988003554D2DCE165B5F316A390500D0273E83453381B13A
+95D6E6F3300F36155573B8FB32A1691F6A9AAFC39541BAE0A4153C9F6B181B89
+43D246EFEB5A2B5F66FC60A44E2E1A6D972C53B1E930CAA18A5B58820D8D2EF6
+C1E798E9B744A31FB980C77D36728AEE6E682EA668F32E0C3EC70BCADC32A8D9
+A2597F1A4AB9565FEE420056E8A8B0004C006AD981E94A84CB30ED6FC9642D65
+0FADC7C9950BD962E0D86543EED6DE476E29A525183E52A8C97769E2FBC4149C
+53A13C54341A9F554F0178211FA1E4731BFB84C11E6B776335F1F42864C70E9F
+4C3F71F7DED7FB704A05FAEF7A2186B2C9C2AE9A3BEA55EC7F3334699BCD3D70
+A675D3D1EBD9958BFE62267CAC06FA97421994C17D60879D8B847B39D5379B2C
+079AD7BDB6FDDC56106127147297932F788184B0BBBEA5657DC92E4D6B097F30
+97149A14677113EC8929C69FC93CCE56C068C015F46029110C7DB91DFE31E06C
+CBB475E860D068ED6BE3B15B5C6F6F0D1D5FE6E7E4E47392C46FAA9CE932F928
+FF628944653962EBFE4EE5AF7522BACB33ED77387B0247C146B81F7A860B84D0
+D372252C89556DABA34913010DBA3576A6E13E3A184CD18D53FC758DDA762338
+AF195F1F261D5F10AE0E733ECB98BA2F81F7B456A75D862C69D623CBDC50BE99
+E3D1ED35ED4AEBD6CE39723F459AD508863C020FEE61980A17D41BBE0A54E120
+1EB69BE8C1198663596A3678F11BB8F28D7BF5F713AAF61866B6C172EAD9D25F
+02289C719F2C121A09DE6D8E47001FA41002DE821E739567F5D45F5C65D2A0D2
+65D011472F8AA705C7BC3E0580BF4E2E007EA98AEAF9AFD2F25FB20B08EE26E2
+E8F94A39F6240409F44E85FFAC9A46A2EA23A5A5F8BB0DBE50A7A1A9A6034D32
+B777C38B88F25D392E59AFEC304C13CB1407C70B7DEC884B5B7AC97440CC198A
+A949ABBCBABD1442C67E1828CE582D77F616A49BA12BD006CD541F707ED05737
+FEDED2D912D3C1083AA726C21C396EC6A36EB6B9219F2BE7EF62D09E487B3FD0
+9748121C531F7CD54DD98622C4C945E5B04ED2FD66D20873BB42C5391627B074
+7DF90B81ECC6AA0743F25247978CC09C28C4F878E29A5070E4023BCE95FE0ACC
+CC01D0EE219FA8344E8F6D7D43475678DEC28FCA370A417D2192DD293B13E507
+F20AEEC2B825BD73A6678698858CC4B3DFA40DC96536735CFBBC2CEB5CA6A396
+C8D387BCB4D6031DD45563921409C33F3BFFE220D7A255AD2B422AC9DDFE7A13
+AFFAE4D39E8F285A4877D1FD83FF8BB9BAAD29C4C4DC7CEEB139D4CC253859B7
+24221EBA02F074C94543E32176588F50D0ABB9B0AB449E21E01377E96A487B39
+E45385A6A12DE9067750598BD5A12DEE276612012DC4226B14B0B289C9C8EB08
+49B5FBCA42865EE9ADECA117AF8B2BE60A2F825F51B3FF32DE769AF8A9F0708D
+7BA0C614E8B1CAFB429B6407B3BDB582FC49D3794A0BA6932824A1FE44429731
+5F1C8D2DEE93EFEE11C29B1C020196EEC515336D8FD1FBD73FA4F2B454066970
+1657B1EF286BB2DE8E5ACBBF40C992F9A22255B3D842E68346CF43C568E1DC7E
+389CB45E387321424D7950AD8834BA43A128309ACFB55FA8D30C0A4E13A06862
+0BA93765AD3744B7F0502EFE5D457D7CA7E988968EF34E2AEF0D1C5C1252BA48
+E4AFEBD828CD1DCB34738801458A8E4F9970DFDDF7973961E756ED7DAD161736
+0F774F441671DB46F07E28F57A1EC5FAFA529685CC5D419FA0ADDF1030B3F21F
+AF395EF405CFC8FDD30B79B80CFC1708602680E9985C38474971F5A24FD0C415
+CAF1F98938F27BB1C805F0617DFB86783BE6F3AE6265DE523D2781E94B042D16
+36DCBA12FAC0BA0B2CAB48F31FE24BCC5B032D3987DE21BE7E191D578E9E5644
+81BC38C95513F04C8F1BB7DD82DA3909DC75CD509C0A5EF8226E0EAC4BAD4D64
+FD2D6BD98699B1B147B03FB3235F4F16F367D9EF10EEEF02093C40B9C6905716
+E43CBE3B6814EC7DC6358B72A2DBDB3A22F65E1B9CDDD4A639ED9FF36E021E07
+F5C45A74E31E755CD1F75CD2432D2E369537D3D738D643624E43CB52A1675A2A
+2501397B11A902B26BFA828E9A744AB40CE3C143C758C6969350BA53BB8CDE8C
+B21FF1336AAB3DA651DA4E822AC8E7B26B484955D115689E5B47F1FC0A88D9E1
+C58559306D908BEFBAAC4411B52396F19D4585B4DA54EA8929B11DC4428F158C
+AA3AB1B6C5736A7F52A3424F1B7995A97253C8F822C11204E340635D13BBEF95
+108334977E7FE842A2159F2B9C85558031F5D1B00F3C41E627B1DB9876EE658C
+50AB296BCF6987C92C60EA329075C391FE8162A7ED4E48FEEF9A7ABD6C26A1A2
+C667A8B8CD2647A9CFA8C792FFE0C2F0DE0C0E93D1A7B33E8E7872F061FD9655
+F39311738856E18EA0D00B495CB2457719FEA94CAB84DB6F5FC372411D7A0AB2
+ADE0DE96EFD4C911DFDA9E71FDCEAFF5D560F3F5452B64A5DBFC767F42C2E275
+BD357515CA488B6396DBB3F64411CA16977271074F78E59A64D710D418B800ED
+C6B89803DB4C5C203539D1F5B72F010F93C7C4AD5B083D12593C3FB192661D2D
+D29EF941C0FFE601698FDCE920459049C09AD75A27D5D356DEDABEBD4D7006A2
+61EF36DBD3B89455CA9BFE2FE8ED26203A2B353C3C9F88C7C0F139E2F261BB8C
+BCD84D39EF0F0BA674CBFB2A3D33E55E3F16D464B4FCA2D199CB49CFAE39C3D6
+4578ED1507341B99F3B0B5648404DB4DB6017AD727B3AC90583C33A97B292D31
+B92B6409377F817A90F44EACE98D1E9E964B629151524CB3B6EF817E1CB9B6D1
+85BFD2484C540143F283177F22CBACEBFCDDC0C6B0D86FAE4F7AA2BF1B70E7B5
+B5E19CC12D9BC9BFF6318F8520903A11E907177CA545CF3CA05C4A78E5964957
+691E37D3075119CFEE88EFED871405B1FC78C9DD07A13113EAB7E5DDF5C6C84D
+1F8819155CAE71C9DE330E88F8A649DF6557539A58ABFA70F267BAC51F57BA6B
+79408024A8CCA932BA20F052D7490936F22143B8ADCE943234BE421F50AA1BEF
+E4AAE6B234E58E3328633A9FD04C941F3A17552AE71E7B3CB316D0E483D33E2C
+03778F67FDECC327E7BC4E66CF5C4CA3D6484B712335F05D1741E48F4110A28B
+B826A6801154315165DC13F1353577686366D1CA0B7C6C941A975B67B33AE277
+BE65C316B7D89159BDDB28924543D29F88E898D9A4F59EAE18C2C93C72E8162E
+96500FA66A3BE9D91E1611A1F077526AADC6AF349BB6CB935B97BABCD26EF76B
+3A22CAA03C3851BA257BA4AB96DAF178453CBFA14033EB231D65F7873E71EE0A
+87E979F8DA40FDF21E3E9BC122E3FA1AAAE2635949970E574A37D05FFBC91E9B
+6ED1B5B87DF427A916488153AA890098373F1BCC262D2E2D0185B57EE56E4C87
+036A25A07F542960AB9E568DE948EC11FB54AAA8FF1D9C299C2F70D0569774CD
+67215FADBCFA5AF9F122222EBF1EDD7B28F2616981D497B2A3BD0A19654FCB69
+323E7F74CAD5CDA7647124D45EFA2F20B6BA5F49B7C5AF1ED4A0374DF6C08342
+60E56F5CD4BBE45E40CE2494DC35EA70F0DAE7B979207ECE532C9CE11E65FA4F
+596B104C58041BF1831EE339F5B614D49A17702B708321EDB45FF21694235B8E
+80414797FFF5693A4720F6EC865F6E664187003C4D516942FCA5050170555061
+469C587A61DE9A3D73819D07CFBA180789D28AD23EBE17430F202B1C26F596E8
+5C094581987396A07EEDC5093AF3DA0C4652CA24CCC2CDAE799E5BCDFDE013E9
+97294C35B21551FDE34127C35C62D130801F34E16CB9613AE7ED67D24431142C
+218554FEE2832F44F710A3ECF4F0DCEECE9768C9A194240CD034FB6DB1E57133
+7AE89B49B3AEF42701554D47C20FB36EF52A86A8C4AE214A374BA8168265071A
+125C4AC375376D56B6025C646F6EAA1E9898AB6DC59B05B13B6EADA6C76754B7
+59A03CE878FDFB64ECF76277C04927EFE1684DDF185332B20964ABBDCE359C72
+3E5D3A46B83090192E2A3610DB0C86098B97980EF6FFBE1806911ACB37DC3E93
+661DE6892DF5BA611890058F7543D623EE6ECFB60C7FE16F87149E8762FE13EB
+14E0B8AE81957FFE454091BE9BF7B6BF01BBE3AAB6D3836B626498DE34D4F2DF
+34662AD01B5FBB931F649BFD4DFAFDAAB5534B5F1231A49FDF56879CB42DC9BF
+B9FF931ECEEEB7C2679B0672234110AF6C90D8DCD6AE2D4403A6B89F575F7BD4
+AE5339670392370957A400A9835871B9A9C5C35DE422ABED94037A5AC10D398D
+124CBE3ACC4AFBE354E329EB4EDF367A2FB59968491858227347A5A82B9C25A4
+231C963DDC23776B3F00228D56A5771B3B3CD8F69F41B0DDBAC5CBCCBFE8B663
+0E71699F56D6B86E2BBB5959FEB4F8FEBEF49AACB582F6F8E8745AA5D0C8569D
+201D6686EDD985FE7AAE502E7F0FE3E7ECEA2B2868A0DE867E260C1DEAF94697
+805DC9FACFECA5F6F5BEAEDF0316B1E4D54B7C3737CC8F1167FA08B4D3CE8FF2
+EB1232D17483BEA7BD41EF0C3590651D13DB2ABA613E1D4BD355E84A23EEFF87
+8B362A1E06B42CD682D6EC13D865E8C228F79A2C76BBF908F8BCB533F4383805
+7A68AFF605BA6725149D5F1BB043A12F77563E549AFE6DCEEB9A62BD39125917
+A244E4D65E9460082A270F43DFC030DC57E256F9FB541D2967A56B8B32D30769
+C237132C22CAAB4F8E0F7543FB1B821C09BF4FB1B18B023B509AD441DD8EB003
+DB958E368228CF2E45C524688207FD2B909FDEFD8669A6E313F812E805834733
+ABED5C151051C7E103F0DC087B3057716E3A275DE58A2749206679AE5F800C4D
+682B8BDE495C28E080C32F07FB37C33FCB7716E06DB74D69849C728CD7936C53
+46C5FCB18ABDB0943EA6379460CF3670E2DCF3610AA482C86C674B9A3237CB94
+8443B5B8CC66336BAC78D1001883FF00897EC8D7630EFD81053DA2C437C54587
+041535CB6596BFA81DDB1D7EEC8B4947A27D56A35068B43F6ED640417473D596
+3B651B3902E3BB5F1D3C26FBC224CB635AAA6726B44D988548A1EDBC2258E14D
+040962E9FB6AD9BA43208668B1923997B978F7E43551A2ABD4E6093A0AA0A963
+8D6FD933E4E11E61274637493974BCB29C4DCC902BE808E29E8816E1FF70E1F5
+E38918F737902908C1C2E1A8006FE458C303FF05DB9D793D7A021E1D70BADC77
+EAD492F305C2619F1BA7BA932E6938C2592F5ABD42CA9ED23F6B7577AE880669
+780AC859F674898D55AE22C8C372BF09DFC1BEA6AFBBCC701809DE0402511A8C
+31E36FB3B1D6C6E019FA48B89F95B142AF31B68D3A23579FA74A89F96D864D00
+8E3536117F695F69F8C525DF9E0A351CC11D0FA3A4DDF34DFCE20397E73B0D6D
+B646E90E6B8DC76D6592F6D7D65E8FFFA8E4A405CBEC677EC568470E606CCE90
+FA31DF28BAF24D208EEA82A0B9D4EE3819435A6B0DE5F905916E3BFD2C93030B
+DAEDBB9C56F1AC87273A4017D1A3BFAF8C4BA93DCA98C387287A69FACB27BF03
+94EDB3619FA3971B196602BA872405B7183D238576F31B0AE74B23B607BC7D7E
+F2C6FCBF7DF0312759FA7F82EAE4C7328F6E3D4E54621A8DEFB9028736D4E20D
+BF31C21FFCE06B824D671783CC8A7512E47359EE5071BD72D45E54637BC251D1
+E8FA11BEB0B7147202CF764D30A32D49D87EE8D333798E18C19A333A778A7846
+6579B2FB033AACFE90EBA1D193DD9C05FDD29DA578918F0A2E0A9F1190EE67D2
+7D3061C90626F30C645EFAE1C56EC27C08C5D9BFEB56F3B9C5A52B8D8429FAD2
+0E117F9833E364ECC3C34A74ED6744A9A3BD176D62FAEF9BCE0AF038F058D432
+B5BAF839F6BECEE47B6F86C09953A48B32888CBE47A573584902BDC02B5E81A7
+B73F6863244DEDE27EC661DF043E2C8BF3491CD170D764FD010FCB96D4E7E60B
+04647E079F37049A67D63CF3FF6A5C9288F8D0B32FC777BD54B420E01DC781F9
+95A8E8E5AF291EB2FC753810DAD7CE08EB088A1C3B5C93C44B6FF77345932F92
+B9B46A230E9DB50E4A6147FD5C26E017D9DCE6C6D8025B36E4CC50D8978825B3
+CF1E0CF3E5CEB823F616B11CDCAEA29D00A3F8B1C2131E46E1ADEF9585CF2563
+472BAF63EA0E742ECD1355145540558100A554048BEF55B8E175BE0A346747D2
+06E4BE9F0FCB0172AAF28C7C38AE30B1D7A1EF05E64C3806169F9DEE3B7FF19E
+64BF63E87F5B78CA171A1DACE1E237230CA831D411C2E1D61A27BC62150381EB
+8B80B405D7F0D360E61A9906476175DF73B83221FA10B03E94CF0C7669ED9E36
+89E6043EE075D823D64D7055E6200F3A673B77C18A2E9644216D52B0C51BFD37
+E6E407E695C7FBFB14125095255C7B43E91A1B73BA78D0544B464ACE110CF84B
+24DC927E722A0C0E5E86BBC905E2C0615399BB1EFC83736F448976CFEFBD1111
+A023B496CC772532ED3E0CC3A49A3EA559EE5C0935981E49788E1EC1C03C8B1D
+DE63435B1EBF31D36A11A97983F698033FCD49DE8953DC963416D80504B250FE
+5796AC4291EDC449BFBC546210ED255865A5D723779B38C4F8B3F6933DBCE50F
+D7B06E1841D7BF821BD70D942164F9291FC9D27A29CB75A2DF3AC46A81CC5334
+F6F1213BBBB258B50AC210E121EDE6FED93AE3
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont 
+%%BeginFont: LCIRCLE10
+%!PS-AdobeFont-1.0: LCIRCLE10 003.002
+%%Title: LCIRCLE10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name LCIRCLE10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/LCIRCLE10 known{/LCIRCLE10 findfont dup/UniqueID known{dup
+/UniqueID get 5011942 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /LCIRCLE10 def
+/FontBBox {-2000 -2000 2040 2040 }readonly def
+/UniqueID 5011942 def
+/PaintType 0 def
+/FontInfo 7 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name LCIRCLE10.) readonly def
+/FullName (LCIRCLE10) readonly def
+/FamilyName (LaTeX) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 8 /a8 put
+dup 9 /a9 put
+dup 10 /a10 put
+dup 11 /a11 put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE366EF37D4823F376DD9F7E4CBB15
+DA8E93E91E84D36BA5A5B06F3A46B45692ED11C8FC76C0B0B3157F699878E2ED
+D89511CBE105EB42FD76309DA91EEEE85F1AED9920648285111A1690C4AE2638
+C0601A7DBC8D2D41CA8C4F9DC7A6AA5C51015D8BA926831892381DCA7E61E230
+5BB3BD5632D276B929D97D4836F9703461BED94450CDD2660430A0D13F49EB47
+72EB0371E38B92F488FD6E19C944811D4AA52CCC359210320B484568E5060BC5
+4D2FDAC73C49BA0168EC70388AF54EB24A30387A41246830C3E11B3DBB829229
+A126B8552A35551E255F5AAE7C8EF6118CBD2D4F784FD65B963C316BC80901FD
+B45C9EBB618DFE69C5799A6286E6538B2D72B6CDEFE238C65027FD1C9AA5A1B3
+ACB812A949B7FCF9A7D3295CF3E74B9A9A868E31998E520117DF61FC2ACBB551
+356134A66E4DA553ACE4B3AEC750C9F07790ABA5A908A249C7456F5A3D41D78B
+04A74B53B8A37DB4F3395242D85DFAE5B94CCA6CF9C83ABFB97FC6E91813569E
+D23422021C1A436F1C58A993F06F9219F3E4765E3DD412F07415F2FA51C7E0D8
+9A3A713A43AE7BE764ABFFDC9698CE0F5DE5E7D23BF18BA2012537B3645DB8CC
+D41C2038389037BE4ED53A763F0E2E402BCE13407EB82A814673E8914A7F11CE
+BB5202453FFF14EDBF91F321D2230DE76B34DF7D6AC2BDB21C6FBC15D3E7FA36
+EDE1148E37E302A88B376017392C24B66D231585C3A116E5D363D82FA8CAE807
+97822B87AE10F280D6A66AED7749AB5A6A2A98EA3585A37C74C5C77E389BD364
+85A2BC86C7739ED20211EC314423CB956709D0C336F65D04AD96659DF4F1CCEE
+610631809B9D9199D943DB10FFD23D24FB061CA40091A2D06C660E0968E06AC1
+6AF5733ECC7D22BAED0938251326BEFF83747018B59D1D1A610F821FE23BD403
+811B76423D3E5DCA6312C7E7564EA5736B737134261F430B0752D104FA1658C0
+B10C5CE008180940DF1A333E45992E5EFA514E74C571C1F70FA8326B82186A1C
+CCBA123B2C56BC2426A16C93E907ADAFFC6D632D5BC62BA87086EA10A597E1E2
+F6F8C884CAEBF065F610B00B5285EF78B1D0F72CE3FE6E475E5D06112F804350
+2D1609CE532919621D017A17BFF9AFF5DBCC8F69F0FD2473A1967151864B344B
+BF1CC589907970D84F25CDA6DC8DFEC10D4575E5CB29FB8AF128AF47734FFEDE
+6B4EF9B59CC6F4EFCB6D11B27F8AE9C912B242578AB1604F51D9B09AFAF07179
+48CF524C66CD522E8F7918648B59DC53F7DB1E7A0A273CE0DE442E93737AC5E2
+356F71642E6EA8EDA5220CF2AFCF0FEBED0DF2A546BE6DD1D538D80520516515
+AA5E3AFCB7F9FA1F0F62EAB2D9FC05A3B9EB7CD491F760C5EDEAE34C13665223
+60F616A3574A5144AD7926CB04C5A606009E56069A49927C53E3120AB4DE04D1
+358210F9176E15658973B2D08FD3FD4479C6B7267BA91E8DD98AD2417A9BA799
+F0C6EAC948F03BA8C88249A304ECF8F59A1E3BF3083F77A05DB003DE5CA3314D
+63917E4B63ECE36005952EE2AE157BA062086C2F18B1C5C12CD02D20B186DBB0
+A7DDE7AC216307578F382AE4D4E81BBAF3EBD8FF6FF841E39D28CCC7736C3C0C
+FDC32E5AAD23454E1279C976C3654C84391C8068EE84CD1CE5A335716CC5FE7E
+60A328392DDBFCB4550D521940D69BE80C5A98337F0EF3F4AA16714E743F585A
+1DF2B5514D7AE3F710BA76159481FB3F2C30A8594D80124D0826FDFF3F4D8B7B
+B7B6FF443D85E3B2
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont 
+%%BeginFont: CMSL9
+%!PS-AdobeFont-1.0: CMSL9 003.002
+%%Title: CMSL9
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSL9.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMSL9 known{/CMSL9 findfont dup/UniqueID known{dup
+/UniqueID get 5000797 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMSL9 def
+/FontBBox {-61 -250 1150 750 }readonly def
+/UniqueID 5000797 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSL9.) readonly def
+/FullName (CMSL9) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -9.46 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 11 /ff put
+dup 12 /fi put
+dup 13 /fl put
+dup 45 /hyphen put
+dup 48 /zero put
+dup 49 /one put
+dup 50 /two put
+dup 65 /A put
+dup 67 /C put
+dup 70 /F put
+dup 71 /G put
+dup 74 /J put
+dup 78 /N put
+dup 79 /O put
+dup 82 /R put
+dup 84 /T put
+dup 85 /U put
+dup 86 /V put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 113 /q put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 119 /w put
+dup 120 /x put
+dup 121 /y put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
+5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99
+8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716
+EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C
+02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D
+46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A
+4B60D020D325E4C2450F3BCF59223103D20DB6943DE1BA6FC706FFBAD8F64C4B
+4198909DF28702E889F2DFA1FB9AA175E65D5B8FD3EC28297FC91D644E95B337
+039276A8EF44BBF9AE8C27910AC03F70F9022CCBACD01DF6D2A5247F8050414D
+20008C564BD55A841F12DDF816DBFC3D5CA2AAC9A64235CACF7F17A81AB28785
+F6C95B135A2B9A4B15795B114AFC7FBDEA4B5A49E61ABF7CF1CE129C2F4882A5
+4DECB2F07A9C7EEB2D3B896F5C5C77290881B0C903969A059671DBE2BBC2B72C
+6ED6DF41413AD37609C430EA2BCB630D41BCA9439CBBAC12FECD18D1A7C7A123
+D7613A87CD73488E2EE66DBD78440949A0919E0EED78EBA35409DFF589EA71E4
+CB9C7669FBD96E7DEA501605AA8868B98243F09DF73C4DD85720F14DB4FF402C
+B689D1131CAA96A50D26ED450D7D1E9D2D05885B63872B0906AB8429EE94B494
+DBD181BF2A622D5193FE630D1427270C6B456D2EF8A9C4045A90B4584BC95F58
+0FA668DE006C18595C16BD20CE73928B39A8CFCB9C58B38EB2E72BD69E2326E8
+951C60E3E55537FBB804363D3D608A3D7FD71A5CA0B37F2E7FD34C2524BD3A92
+8686BBEDBC07D7AE6D4ECC940EDB5ED234445D98A6BF7F92B23AB7B501D79148
+BDB9DE83AC86873C061F07A012168DC92B1C7C52AE2041696895D7200DB28B90
+2A6396CF1CD6B827E309CF79F68DCC92A12F4C0762671E025D60AE1F591C57C0
+580F521B41B8187F057C40C03EF9AB27DC90A3CA0434E7A4ECED9F83A32A37E9
+ECE1016828B54008F73DB0C48B407095D800DDFEBD044EE8AC9535B9092C3EBF
+37135F79983DB2F3AF9509D57A11092EE30FDF9FD10599C4D18C926D2DB941F5
+E19D1B4CAFECE138CF9991DA0B109AA841106C89DC7E2872AF52937AB85DC1B7
+06BCFC4705747CAE32E061EDE0C1EDB35E7ED8A307C241F6E11EC14DCCF04745
+693C30DECFEC4087B692D0495AB3870D0D5F001CC29F0CE5C0FFEF417D3F89EA
+3D4BF5398AB7DDBFF6AA1DA49B856654F9D529C29E67884A48119148CCDCFAD4
+09C7B4CD263DEB25029A0D2EF53EC59675A76DF70757D71BC30E82E94327DC96
+828162ADCC70CCF0FE0CA9DC088B0C1FAF498DEE93C7038403B742D393F882F7
+8F2C37565E266274E4033F4DD024DEA90D24B0E5FA96A0B6FCCCA0DB9F268E10
+646C4507F1BBE75F5D014C264AD9F50CE4892C9189F6A60C26012F5EC8B4839B
+57BEE5B2F0F79AA8873BF61D8017AB3CEDA5006F838B436212C115DCCC1BD581
+EB86C4C67F97934C9B0BB46DF9A2BA09C06429F74490BBC6DE00898CDB1C83A4
+3EFF3810104D7B96E70F0BC9DAEB019BD56DC293CCB28EFE9FCD1E571B5D85C6
+55D79A0F4F26FF98AE764742D28B64DF642A9BEC15EE85929EEC9E662F74C8D3
+ED995C8BC3CEF54656E4E3CBD3E91C3323A4AE755C0A56DE2FDEB64FF2F8F5C5
+6600C9A94E6E8348E7E47181565B47180E8010A29F962A609C15689E75D53934
+44FFA7BB0763642336FDFBF8C45704A6BA10AE06C7CB62CF4FA17D50A99F180D
+A936DABA5F2E625A45BFB670DC5D54045D83CF071531537896D2AF608FC6BC85
+70484384898B04B5E9F40F731468FF4FAC27206984BF54177F19BB899C758A66
+E8CC1B6324C99E5CAD172B3FCC901312307AF69D3D933A5041DA93BC8F65A816
+73073444397A754A4C6D1768B4F9BE952FC835E60D9412DFB62B0891943F00AB
+002038C0E22D22599A13AECE302C3A5EEA58DC8B781B1E558B49948EBC949C06
+71D5C102B91B352CC3CD453A76742F8A9E244279E71838CD79E556AADC6D4A56
+A66FBA05A2C284F74B053F79445F1A9C0ADA5261942C15B0C20D8F9A9899999B
+70620939956A7A011E9A9A53F7FDF15BA0174FA85221383B6EB2AB94AA55DC86
+637A0871674885F5F937AB1ECBF5149F3C469B9A454DE86E0949396DF314E6A8
+9E4044B3F11425647AF7D1EB89E42D8BDA43A1E6A7B991E9B6D5776B2A6BBE1C
+573A4780B1486ADE26A9B12CCBB73DBC87A1F171AB0F013A5409A4945406C1AB
+92C082211B597EC3AB4A56DEB6851336AC9E65F84C79E2466170EF9360A210DC
+5D71686D5B88A0B3B789240D722438315E667DB5425554C9B2BED3C3FB5A6AEA
+07DE5132A1732AA95FB309BB86A87003524F9FE1072307B2EE046921520699C8
+61DB4364F342F5A7D29F4B1D0EB04F86B259BC2ED0FA22F8E5A54A7E876A6327
+E01E22A5B40897CBB71F36F02BA648AA1D06662637C1CA48C469C80A6168EC23
+966863583673A6B291A18A56941AD768683B85FE2BA65EA4D0EDDAA2833443C5
+337C537671D74C30BD343EAFAA0A4F0B8DBB62E35E926782EAEBEE313F92538C
+99E3E620CE7832FCFAFE3B051975E7E76BFB1085A9CD2194FC119E2AC91DD517
+5E17AB570B33A27CE5E2FEF0356A6B0E32D7584AE7B9041A452EC64CACB10799
+E694FEDB87CCB82C288FE809B0F4997FA9A6C1683B29CA03E15C017F3A301543
+5581AC58C6A9A0E34FF5E77A091A7ADB44B597A1EA5768B34F869521006A10D7
+67E462E70A2C20021683FBABC1DAEB1CE1DD7FAE43721306492770BEEFC96FD5
+8F69C60D81082136FD9F9A7FC0910E9D36E483131E95B1587F1725E2E80031C4
+730FD118482964289E153B9B91B91FF190C86B020AAA97CB7DE843C54827D4DB
+365741D530D33F46CA483DD183480CB148E24C0039E44EAE0CD7433BBA81C8D0
+766EDBB15B4DE1A5AE8000881CF01BCC835FC20D1F8250E66BE78265D3B437F1
+FB7CB10A2CEDB6A6814AD48C365F51C1C55ACBFE2BF4BEAD06C6E86FD2FF4DB7
+CB7DCCC01CA2DEEAC1E8AE4D6546CE8B6D704A38E895C32CF7B644A04E1D2AE1
+A5C759FF1CA4A832A93060DC5570245A5D769988A86731B3137A5AB0688B2E7E
+58189EC3A60C138DF4277831397B4EBE4F1B390182F2EAF332200C7F6A9FF312
+02D1A0451EA9DDA7B5BB217441ED2A88B2B63C7D27F2EE65EB4E6FD20348CA54
+75D79E0207093C987CB79C04708CA8500DA58A27F21FD95E2C9E02926710D013
+BC2F118CF2A43B2820C29758EFEB5DB30BAFB0E087D0BC0C42F36AFDF491B640
+4D01F38F9218CF25BEB38AB91D7E943E8EC9A9A9277F02EF057B51AB3989AEE6
+7945CA22634DB32DECC1E18D9901A37A05B3395F9E28E2BD394C86CE470CF465
+D9FAFCB4747C5E168C9EA017D8F1901989F076173D61AAB8D0ECA85ED04E2012
+DFA4B89525947FCB6B4A17FD9805E5EAA888326C3281B34CF76152D047ADA492
+1E1ABC03289F49D682133D46D304A02905E397F0678A469DCDC8CC516263AF58
+913BC2874DC4407E53FFE8CEE90056387A32B169ADEB0F7ABFA9AA5A6229C998
+5644C47AF6930AA016CAA265C7B05691604F04FBDFD43BA3D2F3FD36CA761BA2
+5BC7445B4F6380C06A40EFCB4A6A9D501B1ECA0AAD0CBA97C6D726F6DA2E076F
+6CEBD3EB8096C9AFAAC641A3F87066A882064C2B0C21DA8926CEE57C9AEAF611
+31C99FE3E6D3B691BD55AB8D488CDAAA0E8C2A72B057CFF65C1EEF0EA031A2C9
+D9E38DF696C11600B8D9EE07DF6CFF3CB112342020771F124BED5059D8D97E56
+7E1A057552227D80D3CC51C011D736F8A19622D3E72E232CEACDDDB126E2CA6D
+96A143BC63A0066505D5BCC353E086279229E01CD8F69EEF69E26823E4B7FFEF
+589476CED8547DC0C3F7F1702A169FCAFA3D88EAC3ED08DF8043324B6D6BB481
+4FC534FF50FFEA0D3F8A93D9D40929FAD7202AB500C047B2F013BB351040B8E6
+BC513403629AF692145E59A5E518DE768B5210BED9D72CA2B8A36DEEF730C755
+5332F126F59EA348E5366FCCCB88E7AD4E1E2EC21F240F12867716FCE6907AFE
+5F3F6EC4E155096E6418CB525E1BB0C61E23553A1AEF9268D81A76BE23A2D85D
+8C72FCB6662EAFADE3C325A39BFA1A1EE05A1B8075AB66047A293976A626B5C9
+09F95D42CF9357E3522EEB028AD48174D14938C5E11E5B808FDF747B41C2D5BA
+11FAF9F65E4F82EE60CACFC23CA860BB47FBEF3463B622BA9DB82CAF75640993
+F6339111A1303156DEBA684B5940BB59DDE383BF01CF444028F9FB60AEF34959
+38176F1EB5353F1CE8248098FC760ACC07B2139DDECA158DA9D69FE374E63E14
+418A2FB18595442E81D18CF85321316601DB24DE54DBBCE0E8CEF81F3A4EC5B7
+9D05894A70BDC5117AFA0B642974B4A826FA64D8334CD2D19D16DF9E617384FA
+E42A517F62C0A5B34EAA7AB7772716E31261598E3BB2DC426E52EA2AC31B74C3
+39C33EBA019EC687B7FF694AF4E7DC3018B122C6B01985FBF7317B9C29E340D2
+EBAE10F30F8A0840753F4A73FE5917DF79EFB4A9DDEBDBF5A309472E5FC89571
+E0BF21A3CF13CD2FE84CC0A3313A6A2AFA92E750EA8E11DFE6EFB4BCD50B5FCF
+EBDBCCAD8010D14C36C91F0629DFEFBD7EF7AA277BEA1170302E60C4FDECFACB
+979C35A026B703DBBEAFDB89A50243A657ECCF9A16D0491EF3453F946AE188F1
+CD7AD2FCAC0A2ED2A868974D5D51371395D509B71925AAF535F3246AA9EE6899
+52A7C6CACAFEB437C5B31AA73F58CA48766DF6C4D806641CF424AEA5160998CB
+C73E1D4869A5D7BB4662F4A73743BBFD8EFFB371A8DC5606B1A0C7F70C025FF4
+7E8B362860D6864E7B7F85D215C547543D7B039AA07F8135BD4441D393A86D21
+A73E30D863F36CF991BB022A8D74BEF4C88A19AF37BF8241E6C6827C328E13CE
+410F2105A94702F1B5F575A2710A271BA244D1787DC15FFCCCD7D666E900E8F9
+1F5EDE7531043AA339CCF97481BE36E53409E4EE454F72B42C8DA78E6B241850
+060CE2C0933EFA45E4901952B819BF14C9ED7D15797506FF81065E7D46789EDA
+34005123FF1CEDF111B2E3145E502612930E8E26408F6A8E2409BF62650FEBB1
+A15C98097CE83852D3782249D763092DE94C6C05A6912970B3A809578A69D8D0
+792BD8107C1ECA0954BB1709C73F2879EAE3994927EAC8BFA1BFF11AFB382F3F
+8680EBE0DA5F5143C37C9EE4DF21A8EC23BB3D1ABACC474568FEC8E229641B9B
+CC19408FC1CA59F56B1AA815C3AF151514045BB4E2634B60543CFF6AB61AAA9F
+175C9630D68F336CE178ABA458EF07937EE412AC56EB8EAD8DEACEB5D5FCA45E
+58A297DF1E7E9AB7105DDCA38557A7508416A159A10864809C853F0FEB49D79C
+CA26EAE48112337D5F62A60A3EB9C86444A9DF4FFBE9F3763E683683CB429E14
+896C43487C3B9EFBC14CB09540F13B6140834F87027F5A31F166BD26DCF19BCA
+C3EF4B6BD6A610C9D38C2ADEA1F63D5C9AB59A146FCD9473B2FEF9A0F37BF9C2
+C9A9176CF23425B2ADEF0399F608CC71FAAEBFA07185EE94EF4A7E3F8D43A31B
+855C4ED42ABF17F10C5744F64FFE51D0784DA589EC2942CA9506128F5F951667
+CFDBF28184F69C38FD418D02F5E1F546E74A74549CE962F00423A86AC4BCCA5A
+2383D83000B802CE258BC8BE22881518B4A485D8EE33C632F38041B8CA5D469A
+75104DD5B7E7375023F6F8FDF4E348EFB00B1A55C10B394DCAAB87BE84D3142F
+D172E17115A09F29319329E22E652967C67C621145C510B7617103DFF2970DCB
+CF2EFC9B820F2C78FB902021E93E19E48A09F24C71D8E5181AE8C654D72F513B
+A0452A4B5232F15926FCDFDCD8D8CF64F9BF15A5533033986E3C326A5C5504CA
+560D50EF0EC5CC5409E928EC541EE0A931CC159C55C03ACDA7C177C05D72F0F2
+DAECFDD9476118467C0689C7F55AF0312F3F8680B6332B017194B74FE9034D35
+F2B42CFAB4497533786EBA218D3BA699DEEC1D3600822826BC34DC5002EC67E3
+6C5EA3AE332D4D4E995E1216D755B07417CCE2F0E0A8C50870CFA33A95A050EC
+8A230B446E9C46DCC4FD1185500AD432AC3F41C61133A366AD8F23260136B72F
+0AD4AC80AB5AE776A81D2D57E0C3AD28CD8A38065134E3A416FC75A3CA4BFC7F
+1ED5DD3E0F890042FA257E06F3073E832475FF9D42FD462E1394961ADA8B71B8
+2E0BD527786511AF2A9F3058A619E78C01317DD19DD7D3B3D8D3F6E39CBD39F2
+5F60F1A5C6DB389EA554ED283B8C8AEF1013C917AF69950C5D1FFAD294DFEC71
+001ACB3870E1B541E2D892EF72F7E726E029973283E6218AE2660379B977014E
+FD1B97E4D4341F9831D4F399DBDD11F6E717803BCA06C842EB23D668C89765BC
+4F89F7C2C0919D983174D1DA69D4AA27AF05C43F513B856C15DE6B199F093EBF
+2A46A47422A444FEEF7384ACC9CC0161582E336CCB0762CD88B7A21386C797CA
+E6CF26EDF6133C0E4D6A3972556721AB5DCBE1F2EC8CB180A557601A8B86BDE5
+45A50319A3621DE010389CBD16A32C6F2BFE2F107F0FE17AF448D49DDF247E9E
+C130F3D414B5F046AAC808607530239BCFB5C871899C24FAE159506652DAFA4C
+F2F2B61CB88E9E320D85838E8343213CFED5A5354DF5CF0756908C5676A8C919
+74D26319709A29BB17C7590C405817EFD042D75A95BA4504C99161A4CDBF7AC2
+D1DDE99FDA9C04BA88D54B0741705BAE7EFA68EF7AF6B99F31AD9FC16B60E685
+79EE02CCEE2B5702DADE3EEE8A81C3EBF75D9D909621A2EE707EA0E2855F64C4
+B251718FDA71EDAF082C65647AAE6E7E5835CD5BEB23418066783DF21F9CEAB2
+A0BC38217D5BEE9F31AF8206693ECC93B3879D12A067A92CDFEA59A190ECA4F1
+039D4AB46180D368A71F1DCAF637E51EA61EDF0CD2D4378427258422A8F3B770
+33D6C0FDD0434525E105EB38284F189FAB7AE3C546379E200264E1711EE50B04
+B21CB5CF0DA936E5816392BE2A89A4D15F0F4A39DE5232BE9E00BC2B24B1BC2C
+C355DACA7371CBA346313DD7C5655314AB9A098321B406208CAFD741E8833C49
+8328588853B1F2E38498DD13E948689B0FEEC5DDBEF9576C29DB283E22AE9376
+66D6B4B443AFBFE40E6F01D2699F28A28EFE45B108562244C2DE591147882E0C
+2B776020075A39CDC9CA5D353D7DE2CAD3BFE5E76D7D81BAE3A7954A7E7096ED
+8C92D4A787E0403D8469511A39E8AB2BAC7F9D098FE2D4E79416E0F3EBC990E9
+9B9C27467FE13DCEE8999D4430730A053AF37FB0988B9F02981C0666C336F163
+D4C810E2C19CBB865A1F18E5E1FF007825A7DCC19B445300AD85D72A15D58C14
+ECF0B0475EA6B10BA5073D0CF7511E072DC938B969D4196B1A94CD8E5F09B49D
+94A4BE1C06A910D35A724596E0F862468FEE5373F69F7C9C4418F0B487393E01
+9CCA7B80E94FAA33F5100209C10240F00D9C2DC3035008AFFA5150A269CBECA4
+04CC805A1D6D590CC4FDFF6EAC2E81F770407A354C7B4AF0B07EA45B15F23EE7
+9B4B0F8C84156170A3B688A3E45B4F21E7B35B96BD6C371EF75F5D07408D5C37
+0225DBBB43DE22AE5D0A5FCEB5684FEB86C566FE98E712D2692B82A49F30059F
+0463647E0C8FBEF6EE2C2DF00BC5D44086CB8BF2C8C06235659D485187975B49
+4E4179A596BD5A43F8408D849C05AD1B5FDAF83B330E9871F06C6A970F56CF5D
+180F38F2D30C06AF91EE5FADB3952CDC2C512818687629130EE49177B25855D6
+3D888ED4F0EA504279AF45B4232877F40E32014DA3D8CAED305B081ABC08CC4D
+BB16719F966E48CA126091863F7F4E90C4F9E434163479FFCF4655AE7E1DC423
+99BE9F2A7F30A98DD1A33AD45BCCFA75BA8DC8C50A59E36629073CFAC939FDF7
+50B128AF3A04986CC9B6EA75BEE37DB1484F24C67742DB868C42C2BCCB1367F8
+B3A8D2C6AC693C0A3B7785D00C79714D6FED70645D2D05E49BB9FCA6E7FC9D84
+A0F5D7D4B35D4E24AC4A11F6D76807456F2EBF2705ECCE7B2ED90343D23E006E
+CB282A2D23DB41D95C366B9580053E25009486C377A608E2CBA9F534C4587595
+D6A9B217ACE5A5379A1596F4BABD07E5F4673D4602A68FE1104533B9120E19E5
+F7F214E97BBB957327F58B068E8F6CBB662F8DF4B4DE4315683E204D6762D14D
+EB1343ACC80FB96EF56096D6A16CDD1C1748FE75C4E4ACF3700C42078DE37ED4
+D0055002B4160B2C8A3A097DDAE8237E4A34D9C413290538C5E297121D52A97A
+C9D9D5522CEE519304252015FA0C223FEB058A7AD6C906AB9675F371970948CD
+728899E17FA0F9011A3101DD5B870EBA459DCD04594913FB0D781F369F3B20DE
+5F61E1D5B3D3C331197BA17F3DEEBBD390EFB7511A9F6FEBF19AFF4C1BD98C03
+E81CD41945FBDCCBCBDF4FD451DF1EFAA2B266381D8084A6743B653E33623124
+DEA21E34FE0109F8CBDFE73197CF0444BD6190F8D9D5E229BB3613A0986F7FC2
+6BBED7E5CF359D09B63FF238BFE8CE7DA0300C110113EED3AD2CB01BDF03C693
+80E4CEA182BB1EDAACF6264D3B1A07CDBC02F178D675BA12F6812E057B1BC408
+DE221CEF0543D9D60E400AC87B07B554A0CA51D1578ADA59A9C723F0E8812E61
+7CB2F7A9DD149897C6E62406EC371E149D611B7719BDF0CE49082D4B55BB2145
+1EED16CF4E54762D6AAD097644E33EDFE512AF229CDD304588CD153862666AD0
+E32162711CB0C922CEEEBDEC987B7349DEAA8AB5DF53229D08BCBC0409CEED6C
+EA965E638BAF179329AB1AA023393C8CF818CFA4E9A3DF1C1443E77B81BFAB9C
+CA1E7391506E1E0B63E68B6B67F22A3AA9D5961475BC8F694FA9C6870A294C7E
+D9510851A79FD4F58127432EE75500B1F256345E0D86E07D40A6FFFC9DEFCED8
+5AEF7B8C93A5FB83CBA0CB0747F7A2516318BA753A7E4ABAACB1BA449D5901F8
+8CC3D9F06F791ACF5E3D908DC4D0DAC6FA6A09B5260E182755322D07FC07291D
+9DA6383DD942BDB530B2D7475DA43893CECE3BCB0826A396F33D9344F0B82360
+0545F1894AB578A073DC901630BE59E0D1EC8AB51C00A5488AB25C9D5043C58B
+071FE517658378CABF079A100D3C65F836B8A3C430D2C4713A332A661C4B0420
+6CA787561B1CC2943310DF12FE77B870B1E02DC0140C0D1A6E45199CD996B9CC
+E0D95BA4E333AFCD22D505C11789519F69CBFDE90D6A26A5B85CC2118577590B
+39F778A2D5694F1A5510F23C1093A10A76169565444E92481477423BA1C3295B
+DD7764448FFEDD972371CF5506DD708A78CF70A0DBA8B5580947901E4B59585C
+0C40F666E9B073C27647E6DC48F3D5DEB6F55E948AE4C3AC42C1C4438A7DDB4A
+3D23A13278ACEF4043FDDE30709BE9CE185FC3AB995E4674511CA7B9AF8E7C1E
+DEC044D9428D0069128757D93A2004900253F54D5C9C38688AA4A9B407E43DC7
+4344AD0637C803F23A0FCE7B41710111D0B470FEFFE51FC4A642486B35A93BAB
+A1315B2C1BBD2B678B243C2DF359A0CD8465CBD775E31A9DC1A3DA825CE5AF7D
+FAABF79BACB12C863AF34B9C2B86AACF3F95CE8097D617FE0D11D7B312F0EA10
+A20588F43BC2227DBD726D6B09BAE18DC78BCAC379CACD709D51136E1877D798
+190DB596A7D4A0A856DEFEEA2CE8FE3B8C3CB9243CBAE88131365B3E327E91AE
+C11B422107C38BAF221DFF1E1ECCA7832655C192562EB0D06E4984832E34AD87
+FB20C120F737F548155899BF4A11E47E27FB5FE31D7B47DD4D68BDB9A5A1BC86
+9BCFDBDCFA32ADF449F712AA871829433A9E2A721A885C05C9ED333107C8F0D3
+0AE2F614A3F1E5754C8509A44A40ADF8A1DC460205CC8DFCD9001186A54AEDDA
+CF14BF5BDFEC12E0FF54D9464CEF4012C92C53ABF099BDFAF6C09AAFA37D830D
+F602881E57388F84E494F9D5B4F75F1853779F232B087789FDD983D94B44294D
+46361BF998ED678E8B4270840D168F73F06B58C7B0FAA2A1A134DA4E5CD8622C
+CE0AEB28D55B380A268A2C1307CC6BB25B48D33F891966459629A7A55170F814
+6D4CDD93BD76F1CB3B80DDDA81B2845224229412E7986B6FD790C782852FEC74
+9D3BBB0E5E166A39FF450C544566D2890BD918DC8D5EA89E9B19FFEC7AD03573
+FFB71D8EE111DA41022A191AC2836DEB8BC922A6E4381089F113BC6BFAB5260E
+23799E8497822F38D937FC964BC6CD079B433035AD8CFF09DB300D0DAA669E9A
+A48A42C5217B572C228A9C4AB68580B81427751D1FF032610410338F63A0E718
+A44DA8465D3E18CE7B1B045D3D447E2067FE93814AA8AFA0FE40AFC614D62ECE
+E891AED985BD7D5902F234AD40AFBF31358EA52B54D94389293BEB3456E5EA12
+2A16BF706FDBA83B566C3CE0FB511C8F9B4A237627014E5975819315E6ED2F51
+0B48F9DECE98870EC819953AACBA88F390CF65171168246BE8E06794BE121E0A
+7DE32EEC7C5D7EBBF108ACDA4EE6281E98AAC6F778F473A3F872080BE04AFD44
+C4CDA59BA9BBF87244C3DCC0F90C59F0B827B08623A28ED4EB6C01738B30E192
+536F50A8E7AF97D2EF69CBD8477AC00C9B9832306C4D06EA6D58FE8965F92AEE
+5694996999CF868137CB2DB80BFDCEED93A4E2E06A0BAA64B0A9B5D18FB66517
+F03518A26AC0DE300CBDC3CF59CB559370C94A46C07CB6510329DA761983809E
+F9A626D1F812490E878D615056AAB4DD8D21441F129EE07F48106247AE949750
+DA6C0965682F93B847BAD17D19183ED6D848DBCB2E86F2BBC89E5F7B1A07468A
+89C5C3ED05B27C4C3D073FFF4BBC2BEEDF15D6B428889EEE03BDE2D6C2C49A70
+392FA4D885FFBF1C8246FE8A8F717AC78AD4F334B4BBDF8A0558795B75309856
+DF0C75A430BB3B829315146BC3341A5AD7CB3A1738FA95F8EBEE9B7646205B3A
+7D3C9A9FD5C17F079B792B8F2CF218AD173766DDA1A52EB922F1E8B0AFC0E139
+30AA6DD71371A7310FDD0DAB20871FA26F2595FA9568980108B97731A54416A6
+CD00379E53B1A29D111E9C718D019A0C28D3932FC4D4F34B924A1422DCBC7D71
+8E16CF3CBB3C4686BE0691F6934734EDCF015F9621A3ADFA119FAF8557A55A04
+FB079404AF79784AC2A5CE3818B9B9283E2136C0C9FB6867B0EC9034F3A82D07
+7BD2CA28CB44ECE5A68F187C63B8AA5C6A63D6FFB9C484746EE43AD140EE98E7
+FE54E16CD0F66F4D9AC605F1029B4FE49DD0F99D7998A263039B73782372D350
+6417A8CC94168F472D6D9E4747F77ECDD95AB95DC358AECDD9305B454F06B985
+21BA07CC5C0D0067044405CB8D67922DEB40A3DD9D8A0FC44A9E0C050A2FDA49
+502573471E848258F08CF9821918FB1B5C51DD7E4FFA522BDB8B2C235D4C90FB
+12EEE5DB6E7C3C5749FBFBAAE6CF7D44B3E79C4B47D306F5DA46F34280E0C8F4
+F6F60419D170CEBCFC61A375C134BB4F06184585CE860844D66CEE953A477E5D
+27167DE8E73EDA1BCB6CD8441D39854C50ABA4840BF743EF8782D809E17DCAD3
+BFB1D7F9624C478A1710AFA45A8C81A5BAA96BE24555D76FF4EDF4934E8BDAEC
+BA3770475AB762D288B031DECC970D4EDA79B22D3361004DD54DAEF26296D665
+0099DBF8E718362E26D3D08468A056621006A0446B4706282ECCBCD41BE10E91
+F0C34779AACA54DB9307036C64F1B39B672FC58216A0DEE9434A55A1DE8E3BA0
+9AE224E29EDFF625AD2F8282379E01BFFED6794B0B555C289DB5026E9F9F97D4
+667405DCB47AAA201D968A177293C3E37873C1AEA829F5DF3D18CD54F5B0F84D
+8C97A38F3BF88EE7602F8FBDBAC07FD85E527D2DEDD62CFFD26A5B48CB5D5244
+10BAE857E955DF819C52EED00BF085D1E4B1FE91A0BB6F6881ADF859E638CF38
+4FF442F40AF64CB7D3E69211EB16C8856FE5812A11C8C4A3DA81DC3319DF37DE
+BDA842F694204A30C86D83F687726BBB89D19C64C96767F9A436EFDAD49D718B
+BCA2F07AB5D7D78D1ABE0907B61F119AB481D8B8A38AD579E239CFDB70A13FB3
+C8F5CC5960D82A8931F65330EC47EE6F8CC8D58F7033D9D01B1378CFCA0F3B79
+1D1E4538EB48A65DA6C64D72065E5700BBAC7ED93EEA21EECA10A52E6A494E36
+31CCBB7A0F9956CB434D98AE78CA246C67469A77EC4E2AAE251D893E084CABE0
+608873AB58DA45897B1E820DD870807E12E6451FEDF627C7A8C762EE9BF6A8AD
+F0113AEBA54899B454F1F2877E3D4C5BDFE6A9D78C3B0BE5AE092FE7266C2BE8
+2F85DDF7D2A4F11656956FB710B109033EF007D3838CEA23FC60D6A36DC42CF4
+29A6D51D49A11DCC0439940F55AFDA8A4136E157F55CD09B42196584DCF5390E
+89A8C267C8A2C7CBB362ED65C94C708C05491C742467E7FEB7C81B79248A7406
+2E94A744B1D968241E96229F0BD1206078CEF30259CE920D315A4CBD29A648B9
+440CC7BE9B463B4045EA0907872ED50D077179447FA2F43E542882DDB55A8F24
+2A752EAE79126FF18B0BA7296AF4AA2DBBEF6E53DFC174E863BD6108D4BF9E81
+005E68B3CE6263F6F3C1F484C97F6C1C3420651CB307B410EF48A40F4D7AFE73
+CD0014EF217A2CBCB0B402057F2C0EAA881E94F3EE7DD559D1A2C1A6AD8A0895
+3251185DEC46749EDE79759D18B523794DB41E089F297D89A05FBC11B8475F57
+27F458CC5450AF6FAD9282E122446718A273E9F49AC1FCAC436A872FF0903D75
+0DD4CF6F97D22CAFBB7A3BBF09BC09EFCD266A962DED5D2C51376BABD3A33675
+8435CE532956A8644A9BF6E27062E7DA5279AE147C9776711E2AE98175035673
+FEAE46F9F364BB907ED9D6A561466F6C42BFCD2E58BF819D71016A898A4A025F
+1FA6AA27362129F14784979CE527F3DD981D15E1794D8AFDEB41A4F715F7D028
+677B0726AE2A34545C0B25DB17A5C4506099F8F6FCAEDA4CC3C1AE0719E2753E
+C571B87DE71D7A15F90D74CC3AACB8BD306C8ED0E77505FE37602E489EB96555
+B05EB360AED19C05291B74A6E20538BE23DB584A978D04F0976EFA1E7B4317B3
+6238CC0F8950392B6C9AC34EDA5E61B26B6F11C177AC31EEAE58B24AC712D6C9
+2C90C62D4E1EC057F4C4E3E8AD7F563D8203739C5A6F4A23E0BEF33CB4E2FA90
+F5625CF0983C250D3CFF101436EED9C11E3383D3647649CE94EB745C79359AB5
+88F285AE82CC06ECA1ED42202D044B21C559046B11C40DF7C34DF44781746E2E
+703902C98686076046B02190BC102956B5D85137908E9660256BAA40806EBFB8
+52CBCAA7D701ACBC879A25315BF3B9D4722D86DCD29CF54AF5F6A267F2BDCCFD
+AB90A8B00ECDD360D2B6B2539D5A4132580AD1B61077212FE3E55AC6849E3B80
+9E676C9E0EA107FF32F094C3C33A3B09DC42C2A01AE626A1B7D33B55839F7454
+242E7FB5C23ED4B1A28B845507E7A712A73D5A3E1E2167D93B3D8B2D0950BD70
+E1FDFB8AD6CE30E07B1612DBC323D6E2EDBED24CA3E21C362D24CA88C71309C9
+D3340E86DF6882F075F41942A07C5634799D38636E2B83E02D6BD1916AA6998A
+D405BD175BED92FAF070946F1781A13272BFC77C952237352D36CB7DD8D14A2A
+84A994657D13CC5BA597CE3394E37AB8D7B95F0D969C457CFD5C02F44371063F
+131AA17AA8AF7A91B350273771CFA0E908692C1C4D1A0736C40951F442B81724
+39ABAE6970CC000C7AFF359543D3E20D2F49C56BA87ABE8E5DC92A679BB81BFE
+6F49D910344C72863D4ADEC180596AB2FD392416AE161EDEBEBC85C6437E962A
+657AEAE5BF65D6073C0171FEBF0166219CB9BAE6A78DE2434BEA60B362D31F7B
+3BA125625697A8292B19D586A4D2B7DADAB364F8419219A85002D3B862691459
+9C1E89D5838FE6327B7FD5ADA1AE9C8AEE090FB23F203523539C690D3BB4447C
+842EA36DC0BC170C49B12471A1B1A4BD4381E857B6448DB8C64A95773EACBED7
+8C09F1A85020DE9970434A34389F5DDD790B3C79E72BAA161789D8AE034EAC20
+E15E45FA91CFAB8CC791605176C46FA22457262582FF0B61083AB6CB932589A3
+90B7F51863698E6852EAC4C65F2EDBEA4D1A9EE5587ECF0BBA3744F3FD5007C0
+03BE38A071DAC4FB4FBA4A68B44DF53CA38C151B9E0731D5392E012870E9F1FE
+9543EA1821143051BEF40CA616038F0E2E828723A54EF5DA3B8EE27987D412EC
+DD7953079ED8BBAC48DC3ED077CC37F8B05C3F98986154E767F4DD73B6000E88
+9BFAA568E6339859E99014A22BB9451FBFC2026F0C9F524EDB9AFF1806FA0E78
+4FDC4156FB6A57E719A3D70E8EE4BDB2DBFA070F1FD11BEC97F3B499D832FEC6
+012DD771F293564DB9B5394743CF097215C8864971F931F75E4AAC31068517BF
+BBC5374EAA4C2D4FAE59C702A010F44016820C1E3138251647F3EFF443E80AE2
+BAD63D034136BD6F1174BAF14E9A1680F336A0E8F9ADCD922E82E5BFE8197DE0
+C5FF7655698F3534FB9026E7DDC48F99ACB6CB7532414E9DC7CCAD7EBF2E29B1
+8AA59B73E9FF1D6540F75CF8BB91519DFD0AD78085C56363D005D9545FE9152C
+C64922F1A40327B7306C407E2882E85FBA761AF4B752F3C4788128F760939999
+EB1B7CF66D347239BEEE4BFD8C2FCA992160FB289E7A24B522E98AEA409149B8
+F71D794844B577E0B1715E37138459E861456946CAE42282DF084D53AC93EFD8
+AF0B6C7E2C442D1E1E9BD235BD955ED4C4E929A542F6F8EBC248E62A5EEA2432
+A98C33A33D4523CE96A2BE013C7CABC803312CC148991F3AD0479E94DBB0E29E
+645E93292FA4600677D8BB7BE0101D385B5AAED5821551B7E6E11AAD2DC8332E
+02881D11540F0AB272E71236001D9ED425560EF70656CC7EE485D988848BF5DE
+23EEFFDE17ADBFD8E5C74D7F2143331E12BC0E5AF0A59D0611E404277E63388C
+3914933014242E5BB44C7B7790DFC93A1BE5A7D75227F85B374365FDDF21C8D8
+533379994CAF791C174FA17F60418A081D8B38974F2BA83E5D0872209E9957E7
+5D71B166178C9F882A46737CF1A431BE3CC1DE86E83B7E799303BEB9E5640089
+9A2161775E7004D4F00513F17C14DC4FE405B70C82166672D248644F5C026278
+3DC1EBD1D0610C8C79B656B3C3C666C4D10B1707A805228BC29C97A9C5C8686E
+513C599E72674D7EC26DB0344D383ED2F00C661BB62E1E2F8EDE2C43A6A5B15A
+954371A2DA42794C874C456948B79E8AFEF046AD37C564FC499306D65C7F621F
+F6D4C2F10898B5FDDD820BB8FED099174401F512686BF48575AE7317D6F3ADF9
+0ADD49EFFCB65B161754415E1E54FFE17E0320AF34AAF8DD5E6F97E431082483
+7143E72C027272A7B33A5796F979F731906083556292CA8B670362026F6B5E7F
+41C0583552FA1760726DB370C67A9DC36EB3D7ACC73F43DA517388E41841579C
+996FCEF2BCBEDB1F116E749446C6D43D389FC7325FA2EF5136D1B9BB2E8B1967
+5A73B0D37040DE0224F61857D674E6A33322B8F8BBBEEFC4FA8C822190F8CAB8
+D50B7296CDC21E5CBEA0A9E06406F4F8862C723316DA66AA1010F7199A4ECD65
+920B57B0368BA245CCAC2F98552D6F393F184D2D8D56C795FB87507FBB549E77
+9213D14993E82A2C672F1507E54459C2887EADF16303ED2039A26BC7FCED0506
+CB8600D8B600E7963A04BE9A4BD272969C1F19750D32C9F69D69570D0EAFCBFD
+AD82FB221FB057988318ECE8B4E5D9CA631B24D2BFF1AB46F222D5AE8D738774
+AA9CD243FCF1E28203482239314A305131998F77C241D3FE7CC7680665A7E99D
+D0901BABD3DB22AB93824CFEC24A9D0EDC0F2B11A4F75C4BD9BD019154082CC8
+04CFAAB89F27C518EB3E043216C20BEFAFD919400FC6F45FBB3B6B73E80D21B6
+91821A07D71F52E4BF4153851E6246558AA5D7DF543C66422A66FB12B8A7EADA
+32D4836ED00BD5C7E91A70F25D82A59CDCEA3C8E967D0BB1BF0074D0F02B54C5
+708A25B50517282870277BF6922085B87ADB912E568503B671DBBC1FAE8B34B2
+5C88CA4F4EBD18A8987782FC3B45FB59814A02B1C743EEF5F205B0FA971A5268
+94894D3A62648BB62CCDFA3C875D2D28B93D9EF28C5E3ABE264263712F759E10
+760C3DEF8E337B99E4DB0B46E25392CD6F619E96EC36842834B8C7E1783FBFDA
+E52B1785737F5A771C7A2DB6870A6F6808F396773204814BCB3CFCECCA059F96
+13294EFFA3A773C03013F468CB4D72FC78EE29EF725B2F1586D2210AF43EF1EB
+DB7F824AB4B7250AEC8675F16E14F4B18896E93A717D713D18318696928A12E2
+9DB0E0DD2CE552746FFE4D39EF133FCCF03127374352DD317AA319303A657463
+1CFC4A29EC4750E3FB90AF0600D071E1B310A5E3E21FB2BA200883A386C68E38
+00241518DABBA6B3DC0BAEA6B815A71E347EA5B5F181DED3C3413D6813149DE7
+9AF64C5EC00EC0CBD9C9FC920720BDF75CD6C04A2EEFC1208BE645ABA419305E
+E690BF8F337BCF2A5B12F070434CA512DDE01AB4F34F4E5159C11866545DD289
+970B977A2825B824F15C70AFFCDED425FDA05B16747F7D09C0895FFBC1802B0C
+648C19BB5FA4F92430A1A42F01FD7BF5880D42E42B648D0BD66AE0CC5F73E2B7
+14BC51BE7AFDA4CCCA1CD27CAE5DDC5C226AB35397DF9C266F3527952735376F
+5E33E29BA8FD0812A4113BE26506BB582EBD27E2956188D8FD0485AE1B2B46F3
+23814E32F36C551D1B0477DACC0E8140B0D6C8399C19C19252EED89E546992E9
+93133A26E1F3D6DA978D711EA6E7FB4346F754EE1E65E53AFC8510827AD67CD8
+C6C727D6916FD96A886B9A3BBB1EE397C267028ED10FE9EBF84D97CBB7509C18
+81722019ABC6FB3D9303C3CAE031FD13A50E558105410F1F43E5EEFFBC4B24B7
+0EFEA3EC0EDCB87D7A7B66C5F415F42493778CEEF03A8144C80D5E6EC51BB8D1
+CDCE30A590A5B5FE628DD5F2E4972839A94AC70978C47957C8C381FC07E7D4D6
+B3458315ED82A8F1075CCBDD50340B9082422B4C64698DBD31476F106B06E836
+2A21630E7754CA470D60DA2C6BEBE6469EB2693E6924ED1CB63EA3FBDFF82EDA
+7FD922D4E72FEDDDF5CC0C611B7C79AE8B38BA878E98DAF49E186C3079F346A6
+36C320AF626ACD741914B7F86864691B0386574DC3D1E746FDB7700CD67A1B9D
+AFE3534F388F341F6F65069B810EC6508DE72C2F8E0624E879D6CDB17A2C6FF2
+629B31F66E215EBB1F568F5A6E6636FC62D99A718846ED52C8D719332A67CCB4
+8AFD9B60E3D45E3276555256A3310E4016568015E984AA748B8EC5DA1C42154B
+EB1C718232391934FA907FD0F5BEC0377EF0E6749A362981A9AC5694D549603A
+DD26B77585F33368DDE1BF8DE0C8B0C1DA0F9F2E63BE48A365E9E72B1926B1D7
+F2665B735CBEFF818F5834ABEF66A3CCC21F2F649B16589655BF7E56D65F17E6
+D2C0AEE65A27D98A85A50FCFA3CEB9F25ED34DEAC5998EB33890D9E296E09276
+A6D79EA077B49B04B73F091A63B20771DEB20DE287239A1E8AEA6152C933E984
+6163ADFA10FBDD55CAA85F9A17ECE747D8AC4521741DCC7B5FAC8F786D2D7807
+7CE959C5DA4228C430CBAD2C1F6262C7CA1491EBB1A7DE51DCCFCC97E4ED9050
+3DB1575BED8B11355E78CD255B47C5D66775AB312C48A7896417386A4EF15A17
+4F84172CBFA3A49CF120AE6EB83D8A3D8F82F699AA5CEBE4DA2C358957674E0D
+7C0331292B8594983D4235846681189E3FD305BA0CBC0AC4F1C194B88879AF75
+2972B79EF39F649046AE5355C7FAA197769276DFDB740A17AB5EB324DCE892C1
+63EEA39591AA5B75E9F306D8B6DA26EB17922FC50265C8B39629A2BB4B47ED3A
+58A832A7579B2209A279E8E3D4698F109FD05C352D79B46AE4150A2B24193C44
+D1C8E12E727B003FF976D473FBB2F83CF3DB3352082AB6BD01E4CFCF52BB6B04
+4A9B895D896DB8C5675F0C093567B49DC493A4880747BAD0D6EA54FCCDC6D35A
+0F94C14F47A234D7AB3FBEBD28E4A0864E2A435F1CBA5A2FDDE02B9C9619C32B
+3797F538B473C6FAD26AB24EF0C3C021FB05FE5F494280B1C7BC2BFEABB84D46
+CB483AEC8036B9C991D19E7A1E19E34E3B4C9DBE5A8768B6079C8AD4138DFD5D
+AD64BADF6185CA28170330582D76215602DC26868CFD111E32142FFBD36CB05B
+300C11EB8D793AC03CE3A73EBA07D4DB2B9EE463D8567B7DB68F068FC4C41B26
+251C38C26580ABDAA8FDD13C756BE850E3A4C904589A81A95276451EC29AA356
+EEF5B3230E57AE79BC114A71BD51F09FC0B289201915A1DA567A5DEB413D2155
+7E56840C0E8AC89526C78316A47E07069D2956E1C8CCE11224C6A3F05BA06B25
+840DDD619C60EA30FAC4A97B7D21A3ABA03792B15826E6AF2052930D44B7094A
+FBC2DF827EE63894E0215146A86922957C5081362D4B62FCA6D2813AFFFB6256
+6486668F3B76D339FD329AA1196BDE79B0E2E3E1025FDC7C6DE0FC3C36327A24
+E841F2A2998DE3258726B28980703A04250A284294D8D1F71A9ABF12999332C3
+CCA33928872733E04D157D45AADF1377FABA0F5BD6A736FA1BCD02503A1A1781
+4CDAE0E2C594D9FCAABF1323190C20434D14247AC134E134ABD15729319016F5
+A83352C10A02F6D5AC3BF3BD99D722C4D97B4A8C0C02A504C79C29EBE3501EF7
+736423DA46CBB07C8FEC39E0B8132C29550771A41ED28DC1039CCDF068FFEAF9
+B950A6C3D593630D85037C591F7936AF9FA5506E64BD4FF44101873C836414CB
+0DE2377718C753FDBFA0F4D70B0C0DF7BEB9009746749FCD45FA60898B4EB68E
+492F5891569EC9EE710C57BF9DA25EEB4F064B9B7A16F15499A506C2E5E1CB80
+88FA6197DA3BA297D811E6C133F47EBE3553B60693F213E9DAA1FCBFCEB0B6F9
+0A9864184A45D43EF26FFBFF75942265748381CE9CC12C1BA77BC4C1FE552C3B
+D3DCB57C63F2526A133BAF957D2A02329A5D01CC29B31D47AC8F87A4D13DAB61
+7CA8B941DA83897A4B404BE12CF73F66BECC4D32A8D30F2E80A0B1C8F152CE03
+05B2681E76C39C0D8EA746586094B92BC47CB8D49CD9A12F3B8A9FD4177E80CC
+9E62DB46176387F8DCE56A63C5A7CAFF3D40B9A19C33621DD6584448A2607734
+576C77702F4F99E41A0F1E3F10429D3003735A8ECCF7ED83022F885D58721549
+FD522E78436F7CAD4242AE6C632A7E8AD617A4F02DFD2DA2D6C86F1E67C31E14
+BDE946408D4C87B441244975E93B372442C806FDB7E6841FBD19D1B04BF19993
+E913676FE38D4B005EAE7CF66B3F817F3ED26AA68110CC51140C999F884F0F38
+AC955AE98C928BD0DC94EB494DF8AB93B5950074E12FAF351D5C35A3A3BCA63C
+30F5284AB96CD0BE719EF5AE013301BAA0C88DBCEAB6B4A5E6566F8BD8BF26D6
+1E5570EA404FBBB00DDAC68E59492AE9BA122B8D330F04E1FCC0A5F5E77451D0
+5AFD947560D4FAB51CDAD459319933FE9DF68EF185BC51DB9BB39649970D2831
+C16D7EA9470806AB1623344FA9E40D702B4A46C8CE55D4E65805525C9E736F51
+7605A557EAF223587C481B1CBE58C4744C2CB05C896883903917147CE32CF733
+510031596E5215A02383CFE7C3CB4F6F66D91099C1A0E9C2C7B73910F597CE5D
+3273DC4F3CC77D84678F20FF618E3EB760B1A0EB968858E1BF494948493DF04E
+34D6939C4907BC763090F6561B1CA13FDB336B3ED434265FCF2670CB14E50D5E
+02A4178386937DED73783988FA63741727542D3AD94C8683767B8D589769C679
+BF786CC68DFF7596609B1F0457506391964F32DBFBD6B66007B5F168DFD73B7A
+276DF427D9FF86BF0E2BB441D81DFBF8D515B63D61E1902C26AEF660143774EC
+2D9400CA691695A408F6D9EE3657C4B6C9C0D0FA4021958329809DC1FCDAFDC9
+CE6DA229930AAB43AA7658625A317C2EC9BDC7DA9923FFCB2F4A7E6D5EADD6AF
+C5B97BEF94388D1EBC5C724C8E2C7DEF510DC64E40A52046CECE6781C5BA90FE
+6B26DDC902953A16B17582DAF706EDA6362E0D9879AC68B92DF030051AF5AC38
+D1041403618EC206ECD259C59C90935983E36A881B60459A781067074A178C82
+8D33EDA58D304DFF3E3B09B8B1B680A9FF87E62E7A9E51D11BAEF10CB1A988B2
+E5E991A6CB22A76D3AC9B8578509E5E26212A073EC154BB35EBCA94819DF5227
+17151D981FDA53CA9F054EC95D52384CEA9D9AE51EB4296CEDE289152F8F9B84
+DFE61BFCD2ADD62234CEF52710F98DCA85EDCE577C23D85DD69786FCACF12E19
+F83FD9F54CC7CD2EF662B263B1335AF0C36E14ECA9036B649AA262CC0CB50B3F
+12B9534156BED04762372C10B0D5AE29A9C643D89D4FEB072A984AE5BCAFF2F4
+59DA331B2A44F9754F92253440674C3F45BC80F3F5B1B77A328859AC93E6B1A6
+7391ECFAB7D5A1287E7AF1FC3F02A9A5F865E3DC5EF9A935B4B1789FEE02BEA9
+198EE1283A218469CA1BF04D033213FA4562EAEBED73F6DAA06ABAB360A715CB
+09F1B77C309AD215EBC09332B8799A086BD50F17D790E90543E37FB1DE3EC91B
+C6C55AA0AEE54DADBD48E2F5614A58D842EE0A1EEB060FE5B8E3EDB829CCEEFA
+7AF7CD57F99139AE26543846C66BC94A040E38B82448353BF73DCAE2BD840E1B
+6ACF9C42E75083CACC8C9CE2A72DBCD015EC7380AA6B5F7724371635E43C39A6
+E9A9717C2CAF7E332FC1436808A41422F0AED2576DF52A16C9D502DFD7A43619
+948BAD815EF17271C8793792E7CADD073B44398799A520EF0FC4E6945FB81912
+097A2BD95921ADAFD25BB8C6C236AFCAC3A5734D38DA044BA19CC6C39FAB444B
+82B6BE1E7D4FAFD713301556A75C10D549A784EFCD453833F90187D4E7868130
+FCD897A2B972C85C61299DA47BF32B05121BCFCE2640BDA80723FA83B9A514C7
+14094716A51DA89CCD3D7318393A82FB533543C016D046C26C6A21C99FD01BA5
+2479DEFADD877C54B20E1E6C735BE351E8B57564F33130B2115C858825C29632
+987F6B6A510F82C8DFD0BD68CE0119A4349AE00685E9562C74E30B2CA6B97CC8
+E5B68235BED95C5092A355EDDB07D3A527ECE8E6AF2D849D947098D1A132336A
+E6C6024E38BC6D7573AE64E47E80873B2AEDDF
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont 
+%%BeginFont: CMTI10
+%!PS-AdobeFont-1.0: CMTI10 003.002
+%%Title: CMTI10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTI10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMTI10 known{/CMTI10 findfont dup/UniqueID known{dup
+/UniqueID get 5000828 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMTI10 def
+/FontBBox {-35 -250 1124 750 }readonly def
+/UniqueID 5000828 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTI10.) readonly def
+/FullName (CMTI10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 12 /fi put
+dup 13 /fl put
+dup 39 /quoteright put
+dup 40 /parenleft put
+dup 41 /parenright put
+dup 45 /hyphen put
+dup 49 /one put
+dup 50 /two put
+dup 51 /three put
+dup 58 /colon put
+dup 61 /equal put
+dup 63 /question put
+dup 64 /at put
+dup 67 /C put
+dup 68 /D put
+dup 69 /E put
+dup 70 /F put
+dup 71 /G put
+dup 75 /K put
+dup 76 /L put
+dup 77 /M put
+dup 78 /N put
+dup 79 /O put
+dup 80 /P put
+dup 82 /R put
+dup 83 /S put
+dup 84 /T put
+dup 85 /U put
+dup 87 /W put
+dup 88 /X put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 119 /w put
+dup 120 /x put
+dup 121 /y put
+dup 122 /z put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
+5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99
+8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716
+EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C
+02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D
+46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A
+4B60D020D325E4C2450F3BCF59223103D20DB6943DE1B57C5FD29DA32D34C95E
+2AB2ADB3F60EEB0600C8ADE15A2380DE10AC5AAD585FBD13097B1A7E8E210D4A
+EE96785449E07F0C8EBC2EC5EFBFD0897DFDC15E5BFAC9584D8DE95C5AB288CD
+8AD8B9BEF0B8E5F887B3B0B331542FC8184DCCB753DB6ACEEF98B85756B988DF
+CAF1AE0DBE7D37D5F44A2E760AAE3A5197C27B15E32275A64946C3E4D0476FD2
+7FDE148C788DD2106F7C825E270588AC05B57E625AB17BDD02306F9E5FC851DC
+32A5A6EDC43C770A71419B2C0C8074EF3F222C8A2097CD81A91F333A521B3A09
+482A4FE1CB231CE344AD126AA284C3280AAC3AD162CF0EE241BFB4C8F20502FF
+118507F5D1B5FD898571015E73E5CF2281085072E00D401F6F59761EEC3E8381
+1F26F75DB66C504AB6BABA87D121B1E7040A07AA2FE01F80DBC246CC03C4B2DC
+C2A715980C52B7F96BC1A78FCC7F4F52EEED5F705E08FC1E5BBFCAD121FA88AA
+8EBE58172C162AF409DBB0728F14923ED02A65EA24E5D52B6AD07777455A70A4
+61833D3789C719BA92E901232599767E423D5AD9C807670BE0E7B5CFF8256A20
+C7BF7214FFE0342809570F5966A2C43E784F35015D9040BA34FEAB6A6F089504
+3A40A9E9D711A2721D3F4998371430FB3C94BFC619559B97D49627BB630F4B70
+9D0A8FE4E916235335C3962F3CFDB04C4A3CF714DB5E260F4E66FFF2F27CEF2A
+D4AA26BBCAED23B8BDC98F8F453BA27AD7758537561E766B82DC3032E92A9EB0
+125D98A22C5466AF069BF72A9BFA052A8628FEC6A6AD0B711DFFEDE3AA2D7CE8
+34EA487038EF50F953B8B4471CBA6FC3C53877EC1BC94582B1123EDF44B4056A
+30F49394BDE22CDAD7F01951C7013D26979277D18EFA594E8F4F2B5E615187D9
+39E842EC28461B9ABA52020A127D2CB9002A673A435B13C10602EEFDBBA6BD49
+9DDEAB9E68D655443A5C2492BA061C1391A51592BA8C353A6F6A0708E8860184
+2B5D031D2CAB87D618E9F6F7A0BF3F66B3FD5A25BB91F7F1F5F99CFF56EFF4FF
+0A35C55658001ED2E97B26C869292F6274D433A5443179DBB8EE987196306348
+3F9E87C6422AFFDD30080C9AC4EE7FE5E2DCBFEE4974331F4AAE479FD8806D4D
+9C2B85FC69EB0453AD827A1E767E5C484BDFBF5C8D6E2B3C96298B390F22D757
+802643A79D5E29CF3AEDF0E12CFBECA4663444FC87F2027571DBA9ECF688BF28
+FF0DDB3AEDBA0FB28447CB4B5D5205F40C1E7A525FD7373392EEFFD910AC82D0
+98E71660A1B3227C4A2592F3E853CA4CDF64DF19A52582E167234F4036FAAAB9
+5446BE102DE2BF43E82F0112C2A20F15A3F92C6571AC761665A905362C4F8BDF
+AC8705519C99862CD9C0D75113C4AB5FBB83C880E46B82715B5628890D9103AD
+A2329638B95D93C4DECDC5E6C588C9D5183EE6FC28FAF9825F02DCA567306D93
+5440987A81B51EE7291107A08F201C609FEF91A8F0587E8B13D4BAF74A5A6815
+DE9E4441F46AF8E1DDDFA2D611C889614040B144A5EC064DEE4638C04EAB2E37
+4CA8F50FB8C4D65BB296DCCCD39F1F554CFBED96670A91F515CA10EF896874BC
+8EF48C6447752C70FF5A06F928DB55586354076773BFF7E94C4C3A7A1C1F421B
+A9B4E3936EC26E0C19BBBFC90F021E877F54B62108F6DD1C7F6D5B8E64FC9362
+E173F01BF2904B7E5A08B3543611562C2714099DE7D4FA330DB148B560A9601F
+42A84452811CE213DCE782A0D7809CFD954D6BC1EBF2BA4D1B18F50FA8174C96
+3E0120E266AD5DDB40B3F6798AC28CDC5C3C4BC34583528F5B5DC8A222B80B59
+A3A93DC715D061EC6915E6E6E21A25425C25E8747C60F170D61047108826F96F
+7830E220C108B441B6EA3198E33C49BAD8D43086E49F5A2BC7958A1A8CD011C4
+49045193394696EC3DDD0BE084E8F2E9F0B9496F035C0DEC1CE11409DF566428
+D50043CFF5CDD1092F6E0807E660B68163BCA738E8D98FC6EE3F713164CD204C
+0BA84FFF4F33F47BC31750B448603D7ADB9AE92FA91AEBBBEC0DCD66980E6955
+CEB425ED07115B24E40F53B29B9D840842EAC691B4F591F866DF27556474B485
+1C6F53DD72499847109B16C7093984A6B8487D4F3870DD517945CD90E648C1BB
+8A6861E540FCF9D75B984B5009B5CC760CBE297042C240DD624111670B703388
+6FE6FC0E89C6B4C88F51DFF3913D0CC1FB4770C8CBEADD4B86393605C0B6C468
+83CA5594754411B6FC331EF56D7CD6D247FAE42E966583C29239A8F862348D29
+60B177984B6B957E733DB4D275015691D91443BBB13C2DA96097A29733CDB284
+42F89C85A7A743338C9DD3BBC4EE53F695E5163E6E1ABE5791ABF100B198B9B2
+1C21E2FA2FB4AFE7F9BB2D381260CDD3A2CC05BF513AA1E80ED69FA27BC5ED5A
+21445BF00BC2F997B356D94AF13736C6D3B0613EB6F4CD96A685FEB672661DCA
+206105EDC3CA07900676EB2FAB37F48D2E8207BDE1463894DA3C5B1488AC1EE9
+D39DAF691648048F5D7A384B8927F8DA2BE3602669F71D80686E427F395134E7
+7ADCC611BA91AD4B7A0237213C60CF2C905359C90795230344FC3C50A22BD44B
+55B2044792509F50F5C21F53D9F9E9F063ADBED3AB99E2613B23334FE8DF70B4
+6120F2EDF69F50BE793EE145B9FF9C73179DE640FC2ACEB5C6617F918CEEB762
+4CD81E665B2E544864D13230B058717B207D3CC5D6647D5343DB4D0356082392
+871EFFA896631A7E0D6477942B632074A9A4EF7B09D4701B1639BAAB4E03A40E
+9B54A7A4F845CD63F88831EBFA4FB847847CB98F3455CB5957F2E0A0F5623645
+DBB5C5564C7F8B117D6E27E65C0F3EA81AE67B4AE4B201E7C4FB0A8364FE53F5
+41A7CE8F834C2C4B322809B353A5E63BBA7BF3B7DC1A85EA700BD287C2BD3FC8
+2832B0BB4695FC937FF5EF06FCD87DCE6DE793C2B1EE10E6450352C17726155F
+220D550B1759E15AB2C1D5968E52C8080CD280E99D3CCC0E80C2EF8BBFD96001
+A226FEED7311EFB4B67F424B557A877379A15BCA54780F0CD2CCA00400B9B39D
+981C6B552AFD2506D1B23618FA9AE6D8143CD7198A8482CB416CCE62B992347F
+337D505A4078713BBD91E5535BD58EF0351EBDCD749CC24D4AD39F8CECD7D6C8
+139756680A4C03A58B3374CEC658D30160AE4863A3938A891BB59CBE02BB451B
+1BA4B2B6E68AB61DEB85F95E3C909B8B66E220B9F18280161C279F10F7093CDC
+100A53D542F071CC0A5AF834DC1D18738F5DD62A5573E884E1FFD22BD810828A
+1EA47F8218C15A2E97CBC609927DA3CC2B802EA4A0D7EB57627C135E3B065905
+F97597D818A2C5CC6F328AD25AD11FA50F1E4FE637980B7474D6F85A521892FB
+72989AABEBE02A2D0EFE88A6F67AC29F5D8DDFEDAAF465C439983C6B84389FF7
+A6434462BEB7B07DBE4BBA61ACD4A60C55B5C0AAE527DE381DFECA2E6BAFDC8D
+310364ECB42CAFF72BA93C067B2F02D1CA7C34AE7CDC46787A0E234C8BE8A928
+7A6F3DDE0338FAD532A9886E8E3525B85DD39364AB03EC4C0DD25DC179CC1989
+1BE232E387E857C78332D834679195E10F1E7B87B7966DA3B2238F53D1E13FE2
+8F55ED6A92A750C7250C9B91E29796621E7E9520373214D7DA81B2875A986D33
+80382AFF6DE1F829F048E57664D9C4ACE91E4684A51023943A4964AB5657D610
+3A5405EFD4CFD1EBA684243E15093C9667797BB47617B66054EE02C41FFEC45C
+C1BAE8AD56B00D323FCB1D2744F061FA16E161988741A319B1564E04BA210996
+4F9F02A3268CABE450D166A763F5284954564A1C86B76544C5F5ACDFE0D758DB
+865A1CFCF9FE8CD5F9C3B2998C56468FD52DF8EE60C6935A3D221EAEC7714E3B
+301371C7DDA0B03A2416238F2B47BAD3A2C5021C886DF51C695AF9C87A864B48
+3BB3FE0B355EED5454B59B25A0D8A1B8CBD356C24F64D9B55E16C30C011365C9
+1E0380753BA3EDC0868788D5F50B9353D0227BCEE1BE36998B2622C0759BD66B
+E4444250589F9CEDE766D8B940770CB6B89503E925B35C00CBEC2873D2DC4A29
+0823FB7A3717B69A7DEDBAAECC067949932728E89BEECAA91DE3AF9BF070B9C0
+30EEFA8C0A55C8388CAA2F0515915C98E67FA095BB98967D14B0DCAFA9622E4E
+2E0EBFC768D80585ACDF28D8A5C2B6EE2FE7AAF62FFB90F569F84A0903996DF0
+C1D5723366C436E4088F3E2BB9B47F9789052A71CF5C49908CDC1DDA194BFB89
+14D7E3D7D4D72A150FD6FFD8303E9DE5A97A71B808B8BDF2AE466F31BF5D7A4A
+44F81230BBE2B456A221E2F72A8B59F8FEA8D31F8A005A5BD93B9F49CFDC3DCC
+CE2B67090460F632271C7157BDC2F05BC2749FD562FC28682A616A52D1B67654
+DF78B7843A9EC26A7DE2EB168F874904C2915B97534B2D4D9F74A9573A771D34
+9F7BC855E8F794621BF6AD471BCC347E2DF5F620F5C209E33A4CBF1EA85AEA87
+4492A77342DD33EF615FF34037D660B713C908786D9022051B825226545827A3
+2AD1B05D654DB6E6D261B4E8AF0933AD1F0FCFC7201E1A7C1B4199F160C38676
+21ABA2DDF1CEB655B3EC3226E0B122976EEA998F7A5241F062E54AD1DFD6ED26
+47C99A439E0AE95415059179867CDD3F0FF751F3141309F40E00A6C7C28433E4
+F649BCD5DAA64177580E05C495EE7BCBCC5FBF104DAF360CC2711386655B26F9
+D349D887EEB32ADE595241560FD5924A1745A22E6A01DB9C285EF14596EBFF0F
+03F36EB2E0A7C3864F819EF7B0855121292D49482F046A55CD7271FE03F02EA5
+886864D9D8EC22A68C23089EAEFFF03DED6484D8C341861EF8B6FD3C5BDF5AC8
+352DA4E13A1E30D0CB71E090E9CFB9AB2CAFD0CA7C34AE7D8E3B2EB4666834BD
+9CCD1AC2108348AFEF6071796F4BB2FFA4A67ED917E76A109FA2DC2A30D744A0
+9AE653A748C1D18FB52595D84E87F1C1FB6B2F32667FE203262C66627AEFFED3
+92B23861E5EB238BB4EDCE09DAE1C65BAFC198CDD1B45D42CDF93E16BB82D35F
+821E9E49067E966AFAB2AB52928F8DD6359984071FC37AA652FB834A09E5BD93
+3AFAE161140E74C6531E413E8FBBFC42BFE8A464B71EB1D8CAA93B33D7BCC3B0
+47C7EEFCD3E9FCF26FF9441DD9BDE68D77AD7251C06BBB9A2103049E8827CAF0
+F26BEF33F656A690235DEEC623CC519AFA82DE2AE16FB99F780FD7D8290DA40B
+9B604AEF36B529FD184239E7D50561A07428D28E51B55546590A1AEAD4B7F2B1
+AB8C5B9022C1FA03E33F8F409B24911AB8BFCF6EF4A8E415263C789F89063E71
+C0910DC20347469380B7FC1EEB87D4CED7F4A361E58B61C91AFCABA35C03F978
+B9FB5257C31657EE48504C355CE893FE3C553274C641DBC4004F5D5B879CC5ED
+D3F21F867F6DF054127067DE86189F0B59A1B90FDABCDFEE61423609D888EEFD
+F4A1367129962110C651D9481CEDDB8C5C2576A59AED64E95F7ED042AEAE2F7E
+81AC0C408E593DC30DCAC334EDE9EE27D932B98F040DDCD195D6155607DD2038
+970EB78221A94C52BD4F0EAC65F1FC10E5DAA93C17266F351669CAE56F42B68C
+6D01E1EA03AE554D63CE76D800FDD9CFD89F80A241EAEFF7EDFA41794EA25CE7
+97BD5028464D2CD45B53834B4AEF8BF0B9E7C6ECDEACEC887E8790A47A93F668
+A9095E5FA1116A122C0E5B74E2226C654D3187C6CFD8807917820423DA3EC1DE
+AA020EEEF2280C44A15209EE2F3FC1776875308CEAD38571E7BF889F287E4594
+971A83605E0B4169D4A23EE790515223DF8724054EDAD905F57918FC0BC64F96
+514B4BF7DC9BA79E763C22C977FB6146B10D26FEA1BAA7BAF21312F78D1625A7
+8E242D743471DB5821408AB786E4A7EA9D35E30E85533C617689F95758FB2C7C
+392E759C299DCCE36689686DE0C4DCE32649493650BA194A6208C5EAB670B170
+3F2C70BF0EF0E3BE2FB0A79224FF4ECECD6BB3388C6D06867A0E5E3DB93C1B2F
+464C23E44D3132E7D4086E3B59B1D13F49EB4772DEDF8EDC4F603217233FB7BE
+C13C28648E9AA51D53F11FB896839F97AEDD8834BCA53CB0021AE91FD8E95E2E
+F8A094093AF556B9639F508A401542B06821FF9DE1A745FE9AC5CACD5E8E1053
+911442FC15CA5333751ABFE2C617D38FA1DC332BFEF44AE569DC631C93EC54D6
+261583A695F5A392867A57F59B741EFCD2DCFECBC55D1EA5F2317601C9DFE9ED
+D1EA466210FFA905A8F85BD58B98991BEA58DFD1CDED5C9B086D42CCE632DADA
+147941917B879139E016B0DDEB8446BA017FC8EE5A354533D667B0835F5D027D
+C2D580C16B80B3D05CC92C0465CAE077729F0A15B2DAFC89DCD349B3F81D0516
+C65526EB5C10E45A8A85D716EE35FB9AB201FD7C89ADE5AD925A174169DA20FB
+61E96C73A143DF964C20589EF24A0FCFE6195317F2FA0D2249C0D8E649C3D9AD
+FF13332EA2E4C9CD36D8443EC8F027B61CEF92C6A6B72DD4ACBACC16E429A9A3
+F5F29C1631360E32F8C1C93ACB22F810B86D2969A7480F486F62F8488BEEC74C
+2C1AF13BB92BC578E8CD30BEA6BC8CB68ED730F54CED0167605FA76AD7B7E88C
+7AE7688E598F91C471BD65A542E96D64B1EAF19FB4F1234308C48C2DC86E2193
+11ABDB4C6189C6F201627C693691A86DD07FF55C30FDB3F72381E09C6080FD7C
+9182762E5001E30F52A216E0B71E4D2D4E2F3B20F95DF3A11FDB2D2B5B5FAA66
+C46226D5E0C77066349770514E5675550FAC9394FB27CD2C2F974F1FD58C04A3
+1EF53A8AB3B2202CCA1CEFA66228E1480A0709436C44BD3319C40CF888AE4692
+5DBBB52B15CF3A518F627F672135A24D5DB9B2EBEF04C860AECF231EBB5A3BF5
+6DCCD5E72FE4B6DD29E896691868A7DE4120AD06AC573F5608B8449B38E71CA0
+EB5CDA3F942482EA7973661170F81DC88D54DD5B92323F46F833DFA757107E9E
+F62A47CC50FAA1B68ED535C3E0E1073532A05ED339C8D70B3B9864808ABACD23
+AA95E9FDA43D54C66A675FA074E0A5B8777D3C07850A09087F36852B5351F35D
+8BC4DDFCA35CF29CD5E3DE118A741FAC4DED36847F2E2C6CFE08669301722D94
+376F540982958074E7F1383C409652F6C99DA39FE90B38221E75BC1ECB93ABF6
+B00F410A0C5651DB418566AB350FDA1789AFD88286AF3BCB42B98386F7BC144B
+02DEB8940D20A6B3062F0C4244EABC50923390064F1D027A8BACC3DE45156E56
+4A942D1B87F1C4A76B0D4D6801AE792CCAE3009BF25368B31B6AD5476FBD3BFF
+9759EF463EF5E78E10B7BF64005B2ABE0E8813950A08A1808587A98E0021D0DD
+751AD515E8278F1A0759E85D8A084490BBB0F8206484AA36388B1013643D3198
+3509078847BDAE08E76FA5BF3E3A73C323CE093DCC148E3C02C2DE1E26C94D5A
+40EC8308ECB02FF7DD04EC1005A2A0DC74D4E587F10A3EF349E828F69FD38962
+2F0C74D5DAB3ED6CC9F97008ACCE74C086A503948DEF1AAF58FC8BEC703CD360
+D32098A56AC776B1BD08442052A2A4EF6C8798F7CDC102AF1A2009657254762A
+0793F79A39DCD6ADBAA5EC84A7ED6018BBE727E5D477893D84F157074B24C13E
+8D4881C7DF8ADC13EBA0D89745EF93B7616EC5355600BB0D2B630AABA3CF2946
+AFFD0B2B724EF0F28393F2034B2E69DA5061426805353EB4D80E20739BC4C510
+6C45275B8261DCBA10DE1D104B12F46ACD230977EE7D7D1D35D2814139E38C4B
+CA6937CCFA653349B1EF64A98457F7B4B5D8F2978F16ECCEF7054905863AA46E
+DD524CB33459220C71E9EFA7845A3A760A507B3D3ABC525B35930B613710A13D
+098832C58EBBC8B0CA6AD516E6385792C59220331D0922A1F6F838A8DE13C337
+900462F952EABBDC2EB1FBF94A66186C177501453CD3FE3582073DD86F04406B
+41B6AEB440DA475E13240445D46726A6D45185D56BAB8807CEC8A8F7CE1AD149
+7CE2E1BB5DE4E5B9592241DD136479A65905FD0062C91DFF7349874BFEA5D9EA
+2F610ADB9AE7757B2307A1BB9D6797D9F9C4844A59841C7C7682105E23A374BC
+A91885E7410F56F1126D6062165B9EE0BAFF28C2B54AB563630AFE4B69FF032E
+7EAFC808A831EB41785EE4E3C12C9811617774408CD94DB0AA8DD8DA1FAEBC92
+63DBB3C52FCF345AC37310804965CBA5ACCD58E4C1858E9DCDC60B7EC5DE8628
+B9430467A2B7E011B3DED61C7F5A8833EE3F12414FF0B259F9C797559384A645
+BA89F48D26B63043DA049712FB5D33B93FF615BC11AEAA97473B095D79BA450D
+D76B761A5E47340C37814FE1FB817C7C68A5AFCE8768B2B9A0705095755901A3
+27881880298D9DB49E00986D3B9EC53E7FDFA26F060FC883892586428602BD14
+FB4F5EFB7864B895346429B104706745B73D7C2986C30A676D15736C339C5BFB
+BF322588116D67DA72141F4E8C032ACEF5767F2497968B797B3E7CADDC2C3309
+492AC1BA983FCBF326E1BAC7CF91F5AB41CD15536F59F38011AA379A62EDFB13
+78A82FA82511BF1887387A29333AF8E54B79142482B2FE7853B7960061A6C420
+A695F426745E30D20FD1358CBB612A2A7FCD7AB34DAFFDA77102CC5AFF99CE80
+55D070F0E5DC2EA171E90DE5650A0B10503D420B6517A73A255A39E525FAACC9
+3E21B2443290EB5025AF7BEB6D1FF6DD3E69B5F06D010E6BF1D358F7481AA6A3
+3920FAD9A7F7A6CC1703EE06340147CCCFAD7582D711094C0C8B3F1C892370DE
+073A17C26A7EAD3D8B0B7E99C3C08C33498D55FB08ED70950207ABA04B73CB2E
+4EBCF70184C5E1D9C9E3DF6D0AB7F579BE2394C221EFEAE6B514EF09B6121E40
+859662F332F1A91FBF65566BC5BBC90E3E7D05911EDA99912980707299900A6F
+51D2D4D723D4B97C537D80C2DCFE2168ACDF7CEF71ACE205F1EAF90229068FC2
+081EF9CF7B3004F59C5A5D669240E5B7248C8D8DEEB3E0D0918F99342104B4E8
+B6FE947CC273451A1629E9D49D1E5A7BFB95EB473BE91AAB3F8E63D69B1BF02F
+FB141C9777BAD9C226660CCCF1CA0A25AB10E08548D5BE7FF46931493B6F8219
+3E8BADC80B49E283775875126F296BF1CE9CDEADC1EA404EFAAF8B6A567CA94D
+1E6F1190E796E083BCCF96648A03B924C2885F09F1BDE40E5DFBC1A171A7280E
+8FF4AC0D4C8A2199EEF25A377FF6243E9B38814F9CFE771F4A5F8ADA3243CB6F
+6B0677DEDD7EA8BA95C4F28FA7E4FB82012F5A5D7970E22E8A6173586CA83035
+4A8D87F5B5C3DC10D405C0F67FE3950462318057F8187DD5286F6352B3E25B0B
+2886ABBAB846D2EF397F9A5E745EE1577A6E0BB290BD5952B44907874A1B286B
+8D54C921CE493CAA229F8C5F0A5A958B00868FFC21945C93182C034354025F51
+E380B32D290EBBC3B35D92E4820A587BBD81C14A74BDA47832C5F5B695B6B6B1
+43EB6BD348915FAF4F3F2C3E0837FA664F4F4626A30647A4660263851EF848ED
+B981DC4C3972DACF5998B8E3C6CA577E3D9C976321D5AF0DEA0746600FBFCD96
+E60F8ED0220EF38C2F2FE368F51654EF8F3C6F4C6E591B4CF63B3B865D3F39A4
+EFAF3D982283A04848A2AB9F03BA7E25859BBDA3304F931BF11C781A2FE6BDFD
+B6F9FA055203CE73F6FBBD936466B1E7981411AFD7DA2C9A2C1A99B521256BF8
+FD6F7DDF0699A4D666129B9CF8889B73C8A86FEC4E3670693EAD97CFB83AFCAD
+54F44AC00C32E36E1E0F626415A034DDA09D9601412F73845D5F52675AFD1489
+3EC9A430D15ED70DAB5CB0BE23636A4C7426584812DDF02676E499511AB71ECB
+5F7D2D27AD1E99BFDAE23BA335A29ECC8D98E9E49D106753EA622BB3FCC09177
+F796EB9674A2D2D945369A735D469749B9F14E5287208D583BFE57D69E4DB940
+9C78A2B92A5D200A66105898A13FAE4662AD178BFA85201702300427419B6E92
+F3B5ED583F0652BEB6E5E9FCEDC142965806E2725B3387F7383D154BB5E1AFE6
+02AB4A52A686DF87BCB53504786CAF9B7165F73C3A0B86FF4114A8C8D95B83BD
+FCD42F1EED670768E05DD5DB5B945E6ADB0C8D23AF0A92F5072B8E68B8D125FD
+2AE3AC31B22907B36A71B736AFA1AB550740F7291E2EB98A957D3DAE33E425EB
+F9D5BAA0923E22CCC94861F1435B83062809E10D36AF5A15D4C162357C5BF9CE
+6BE96E61B0482F8FF93BF72B016A76562D641EAE89788F1C55B03F95BD2AE8F2
+C19F2DE157B8A61632AA0E5D3E2DE106EEBD7E137C7B040EA0DDF9BBA7571943
+7614A4E3996AE8A37E778AB1FBC4B5AA8C17E6D5FE6F89DD715C55D82C97ED43
+90D94315EF82961BF83C428D7FE34CEBF78CC5E922663B82E2544A6F6C501CB1
+18BA50885F0696F9E24AE171264C2592CCDB0D908A420B044B37AB515E82532B
+6E2E9B21CE59A620147C67884FC6C3645A8756E17EBEEA7C1FDE25750CC0865C
+5F890610ECA8DF25E806D6A29CCC5D50768086564EF67A43886F9B14BB26E815
+5A65FC976AFF8027943F7A3B7DE0616E168D55848B1CE0E6952551B05CFCCBDB
+E8B38263ABBB7F0DE7C642BCD8AAB6EAE315682AF7BB1904EF0B4DC2C5B6DB6A
+62DE5A07015661F89C4BD2513E1DFC0D96C9FB49C65047977B52EABA92992A90
+11DBB4F7B2B4AB0D525B0A0E496EB300E314C2E96BCD0572349EC0025C05A4DF
+136488B9FDD9660E774B36D23A520BF03E0A92049F25D4D6E1DA3D6053F007B4
+B89B8B884C0F2D2CDA0BDF6A127D6251FF8BD093A796303331F3561A784FA500
+39F2850BC0416E48DB1CD385E839291CFE69D7DF899963DC1B4B1B6A06A462B2
+7C1F6721DED9750653905361E9D17AE6E40FDEA0E15E47CE680CC3E751A64F49
+6D608483028541485085DC5349A75FE8B648A1AE3472C98DBD0AA0A31E167B91
+5B6050F31F8F661857F34C7E45D7DCF6C2848F3F3101B04B931792A16BB80ABB
+6688657DF35A672BFCD302BD117FD21326B7AE6FF1491AB4544B55A4C1494238
+32C9FB7D291286FBAF6563F167A66E23726F35C2BAB8B61F44D4FDC8E9B709B9
+48C353DCB4A649C3A98730885CEA03BF479427AEB0A6D5926C50AC03635399FD
+5CCBDB012E644FA624CE051D9C67B7EE28D039492BB605DA5A2395EE474C94AF
+10AB7C52CBE86EE9E4A362F1744198DA72CF98BED0A2C57733C2113AAE930AB4
+BDA1206AD266195F4C38D4A5566AF29195C653FAF41CAE9541D24C365DB1AAFC
+8B23FE2B49F9F05980643821708E659AE758789B8AE6972F75FA7E60FD83B63A
+D59F3F06536926A08F53F46A77262F2DE0B22F7739DF2166EDDBACA8ED6359EB
+0A98CEC7F7ECCB3B537947DF7D099AA7535C07C8496DC4F35CC67865C873E384
+BC8292617FFB58F289320B5A282CA8D97D592BA7CB488A19136D2433661E2E88
+F489AAAD15A72603D6C962E5442C0C8D6D1663768B17FECFA7C2E79CC201E0B0
+BFEB0B0CD2CB514B7D9D835B775BC1F11E1901DB4435EC16E9EAB8E893CF5B0D
+38744DBEB4D3205B40E70015CF264487CEF951EC32104BD02DCBABA439188FE8
+2B482BC6FC812E2D30ED7B19EC3AFA319FED702AEEE9EC31D095A4C4A070DDC2
+525516E3044677859530436E46FDE470D568BCA089FCA78E13BAEB18EB675337
+BDF65FA7FA7AF953A8051F18B428DBA614FEC683DAB168EBB5E40D7A2778595B
+5A3F357C506D7422AFA1865AE4BEDE97004E5C4A36E2E77E47843B84CCACA7D9
+7F9EC1FAA0F24068111967E9085C997AAFADE834F0CAE2A5349706FD70609804
+BB9A15E196305295D24AB6FB02BD9D91D91344C5D0958F42B7D735547F4B96A2
+36D26344DF600F2E8F1332C0FF9AF0688D8516445A1928928B05FAFA34175BAA
+DC8BC522D9C225E604F8AC30021A5B8DD9524A2A59752A378E311E4164B1A0CC
+34F1D10876DB3B1B1A592B7ABE305CEEC3A3B494F3809BC2DAB1E2DF0F6B4491
+D6CBF0904327E35B4DF27369E08E74CB5409D1422C16CE74B399F6684F4234E3
+7A79553F924E02E3054B28CA8B45101329DFB13EF9AB49435A7F763A292BA4E1
+252809ABCACDB348D830238E64E5A60132FC3D1096E32726849BC6C33DAC79B1
+6A2582343BB6BC4CFF212EDB134A93A3303615FA3B485104C61196479DC55950
+168901953F0AFABF3EE47CD1FEF55E443F92E59CF9309B6F1C50A6A6BC8663C4
+DF715407075EB2373AD05135693BC90A3DB6AD2348D4257F2BB3E2F5CCCA26BA
+27BEA274485E2C7DC99B92EABA3AFF6B377630268C43DD8D12B911BFA3C8ED35
+32CF337FEC5E73AE06CE637899F51E5617AC9C31AB9DCC709DE6771ECA3F527A
+9B6856B9359EF50642E36C3C1F29D11693906A8104A7100DDD164C0F42E70A1A
+2C2034A1BEB88C8AB973DB6532E618B2BEC02D620CB948FB9681FCC5EB5704D6
+4EF505E392BF45E0CAACA99098218E73CDC495B867E882431D73F0B344C9C404
+DFDBF7A2D2271729E31E6DC7D906B7780B591B11E1A3223985615A28BBABCDAB
+3696397644F6AEA7A2A4F2AEB996C42362CFBA13D7AE9C156B7CCAA3CBFFA32C
+ED1769D87C599A0BEDA5BC2E32ED99578AE76007D961D2D9080210AEE9B237E5
+6B9258953261D63A41A22A9EF739CFCF1AC6F3C566D6391583FDB79E01A1D2A6
+DACD2F27B3C21CADC5C08E6A5CC129ECA5A8A171A4A41930C0FD4DEBBBB74851
+3963254412ED1613EE400D3872975CE29BA18AA5DBC789350B9985C52B64C29A
+CEA4691954EAE396AC26E21956BA4CAF914218DF01F9F18C4E8E996B59A05A9D
+940C00BEA81262BC1B9AF4E169F8E5DD10E5CBDD29930856F0F726607E1AAB81
+C7823EDFCCF8D3B2A366B203FA15841936AAC5D0136B614441097234CCA1A03B
+FE78A0027372ADD34924FD425BDF4784F2ED507C3ADB801184996E837C4C4FE5
+D264D58E11F56712AFD99B0A4D2E88A7659A271D294A021C0BAA091E9DA1CECB
+6A912E5E7A70F15D0FE0088AE0942375528610D302073EC3CA9FBB6663F96294
+02CC82EBA0612899F38A999CDD9B75C534341F98DC6F389700AE53CFDD00FF4C
+EC15829AB3E8BB6988511A33B458D9DC76A6ECEC5C4B9485AC0E49657EB5E26B
+8B89ECBFAF3521F315841F9E747765A62BDF3806E3B33BF634DE12AC7C6534D5
+4E8B14E296AE4469E945714CFF7E8EC765E66D82C03BD39FF68F0763E15A536C
+96D8DEBB7D0A1130E3763C3A161AA1C81FA55A3822266A8E6B12B71B6B45419B
+62122C9B1809CFB80A701A0EF927E28F9B68C4A7073EDA07F8D6DACF9FC03B34
+2274391F96B86122B669DE17EEA9DDB6D9579BEC5D9F15A6CEBCB86E468FCCFA
+2EB4C47844999B2600E714E7C85BEB70B2A40BFFB5E807E80AC2EC21674875C4
+78DEC753F02CACA510DA707677B514C7361CBA2C5199477A01AA6FCC40CD6B59
+4F3FA87E6991FFD3694BF19BD54702C2A147DD2A518F101F6BCE3D04780CF860
+A65DE14D64FE92B1536A267AF61A53EDD7746D8DD5295BF8E304968D054F1532
+62FB9F82F7FE5B77A1DFFBCDCC42A56D661F83E46327DD841D295EF4CF591ABE
+182D960ECC840CC39AE750132879427469AF55D351B813AF01F53DFDBFF8AC5A
+D9A8126C81A38148E293213DBE06422D1C075D8494B0063FE7CBC5B704260183
+8238B720C88325655677A0D7A346DA8B6D2064011E96319AA7ACE7700E23983E
+0A94A33DD90B773D350DAE95950CBE1BF2F98F74B7C301D8E03011C32304C694
+98249687348B77E904C4C2FD8288896BA07088E570BAA6940225D90DDAA0A272
+A8E23025D53A86FA76B8C6B0F7B686D7A220B74DF5C35145E25F66D6AA3BE0AE
+F4F851D5C428C7A0B35B8E2B017DEDB021F5E5D27FB9840BC83CA62BEDA90EA9
+E593DA2573784D6809F4D519EFDBE096CFFE4A906E11BDF6F45644B7111A31DD
+A33283E4FE47A522DEE5E701B7968503B5A4983DC999B9402BD40A177F4CA3C4
+F71BE3AC70814E01FF6B41148127A72E5AAEC03271AA3F100B39C30996F5642B
+935FB37CB3888F51E4E5BE924E96A4E7C70F445007093E2739C51DE2D468E9ED
+FDE3D7B7A50181B9097E4FA120CED93542C8109FC01176909DA446FD0665A74F
+C445D89C8F43D5BB3F1D4C70D8F1346061EBC74AE0121CFBD21865DE291305B6
+17B986B0F6D3E7FF9A3DD3809D6881EF21066673768425B9D65C73631F1B60C6
+E54604BEAF3C4AC4A73CED81594D11753CE4F22396A0408C09424CB3AF136AAF
+0D209960B4CAF58ABD236FA5DA99E34135C287148584CBE1F3978D0BEC9BF7CA
+5FD30386E86A565A4F02657A714242DF469B9311554DF264D2F90830497A80D9
+1A5782E5D801A6AB0EFDEFAC88507F0990D6AA2896A478119C5BFBC45F0E40D4
+B800EC6AC69B025CD8D823645FD1F84C2F93C73DCC1AB28AD1C12BB23167F05E
+9943345D81F8EEB22642E6A90A49DB0669DD54DD13B73B05DCD76D5D57446BA3
+2389FC41C4DE50FBCE39E176F351C56EBBDE2BF83AC9233B2653EB2C98FB7C25
+F8D59DE2A83A4EEC6034F696CA782546D306152E3ACB833DB712D8372FEBD28A
+70DB237FD37021C989D4CF13C03F8AC8C95FFE1BBE38930302152920777C51B7
+D25A5B940DE41773D7D83F80EA3C51BF49B8DF118AB6572E08218F1D9B8ED5B7
+8A73CF93FC2B5175201A686584999A35D786B00BCC8A412C7AB7167E899226FD
+EB4168179F500C66BCABF57BDA4C7556F46202B173FF52F55FC120109607E3EC
+7F5CA1090A301EA674060F532E9A17CA98D11D6400FC883835B11433651C6462
+B69159D7FCBC21848C3A835F2F8B1E37A7D63CC6311AEDCB7115EDC006543979
+625480F1C84C13881F24F76454B0C368108CB0B9A5F90FCCF95536811A27BE02
+D91BB08D066CC35D7C5AB462A6F04D46BF9BEE8FCA75234A5F93FCD522C56EA4
+B55429B0EE4565C7932F63AFBC257EDB5B0E3C7267EDE5CF64CB24BE35A187AB
+DB4C020972D162EAF6F888AEC45426702C139ACE57D9BCE5B8D3EF9735BCE60A
+C98CF9764EF762C3E4FBA3E90A42F9CD3343B2BA1EF47137146E5C72D88CBF76
+689372F4E3D302BBEF1144E46E4C511BC7C9805CDAE0D654C526F6336722BCBF
+08F90029ED81CF8FB1760C0DAB9E262AFC0B65C5B04B91B3EED670FED289A2B0
+173C9D61C3C4209BDBC127A51CC3F0EA27403766656C530A0344B1035876693A
+F8846B2533E9307D89F4DC7B4D1033EB811AA7BFDEFED2954BF965790825478E
+24B667C302FDC37AE7861E5D8BB4E4B082F160BCDA4FFEA0122A06EC3C6B9C9C
+FA3CCD13C22F8F1E26630F398853CEE52E0C42BDC46AA117270C4C5767D7FE22
+5FAFA2571746FF9FBE12FFD14644616B7CF3126E9F62CB9D1DD745A6BDD15B2E
+81D4C2184A8C85756ABA476F37A665784C9323CC1E0750366D28804699DFC932
+79EAAC5DC156959FC199B9EB09E29E31DC587BCE97C286EB643428862B761A3F
+08C9838D6878A0742A2D2501331EBD16B10523022FEC9C88D0A2C5A0E622BECB
+E56B1080E91C6F874E205DDF587DF85D6A5067CB975C7AA24CB87C9BB72D7CEB
+94BDA3A4BE5AAF13AC725DE1455842B437F1A7FD5DE8E8C8AD8C71E4B84EBD41
+4F50A7519492187495E121FF15C3E234615569BF5802ACCDA5D9857D0C633F47
+37983F7B474D47C47C62DE1888C8C2BC6CA580CD94E82B7C4FFFBB0DA628950A
+D13FE838D6546E1554045484F18E17B1EE19E0B4B44009540A6FB69A7B7F2C2A
+CB88CC6DD6CF8308BD1B479AF3E0C33B3E09380320A93A88A5D4080E4EBD8586
+EFD6A4F51ED040EB58DADAC1A78C4150DA4569554A4DD07ECB5DDF528233D5C1
+F2DD84B9AA0B0DC44909CB2B1DF226A6CB353DFCF3D97A98FCA98F93DA05CCD6
+5C8D669C30BC5A7D5C72FC49A20B38EAE83D9D0E77F4B71EA60766D1B4370331
+3D66305C3422C86D6404FA1C98BF6367E1C5942AED7E9EAF9B6D6568F6BD09AE
+486331383BC034D9234116384819595898877815FF43B0CF32B61014E01B2403
+3C93155D49B11EC9598E3248B0367A0AE79D7F6F8F966652F28740393C517240
+F563364B6E1B32C426EEC07752E0B499C2A1EC4B89CF74E8C63723DFFD43F613
+C620A2EC0178959DB857E4F53D2A5C3150416E073E4FE453F82F645231871A58
+691EF2F27BE88816DDC7B7A7525A0B8565053E219C0478C0DDC60E589E63BB9D
+F15E1C31E5D64BDACFBFE14297A6C26CFD3C6D55C8DDD565EE702B39D2F3A2D8
+432A9BB866593E054E1D44F8AC9CCF11910C0C9C16C76D98B82644762AB93238
+46EE43E48C9B300FF92EB5373DDEA5AD7263D8DD78BB3487FA53BA0F68C0E855
+5A4AE76BED226089D475476E73311D98FD816AAF66653BF46FE5BBC8DAE4FA28
+8C726D5DC7DBDFE86E3B3ED4E64D5DD14B5C7031B42F640A35E449D6E74CA1D8
+56045A76EDA5C9008E0D0D03246F9053D43F716F7AA56852F048409779B06382
+1B00C2038B403247DADC792C23344060373DE2B0849BCED71F0DF7AFF1904EFF
+31FE683188B6CD25D1CBEDF5250990E09A670347C846CCDF67C909AC6ACA54A3
+67D4FCAD84349A720EE5BADD13C0BC3E1B06491BD632522AF0BA92287353B144
+C620E754C8348465CF25612F3B8CA625CABDB50F32EC2D490D968D5BAFED2814
+6490412D31D6DA7F19900286A3BC0CFB8F3C5C2CEA67515BC86AB4B3ED6F3E1D
+0BCD57027CCA5036261617FB6D2606F935D7ABD1F700E369D4631ACCA5472284
+26C0085520E34A8C5251D137C42D02223A4BE8B94FB1808C02519E49DC37537D
+CE511C969207F7B1B058EB78F636F3DED317854502436AD2F5AFCA23B3575348
+94385A67FB5D06470E7CD2B1514253E87AF7586B03D1738959FAD6F256F21C7F
+B3A615B2B14F1F2F5C0F6BFBDF5EB531DDEE3B0A643E975DE43FD0C3A6AC6718
+2D2004732146EB2A1B4D0EA8E939D2FF6F1F896BDC2F5D364E25933D8F923581
+F88572148BF3FD04E9033943EFA7508A34EE66DB5DB6EF5256E482921465D408
+B25B39AC6542020491DDDF6D0F7DB02E09D0153E31A12EC22EDDCE3E7EFAC97E
+0D41CED3B00AA8A3FC3962F3DFAC10FF3B124C5885F86775F885551B6500549C
+18E285BA9C78A9912CDEE2E0BE800BECE29B5820547F460DBB47AFB14105E20E
+D02A080D8E234F0CCD38E10B2A7B8B4885DEC02F71623FB760819B8E2C4C134D
+CCBFCAAE75E85935F9F41EC039F8846CA4EDFE31A57533A2A3DE64D411A168D7
+8929D7AE5AD682BAF723B8798CD495E79E8283AD413A0C38F4CF72F96BBE99A2
+16E37FCC5E7E544367445663572A3B3982242AA147FC618A80E111F4C3F50DEC
+5AC8B476CFD7DC53327A502C5D7F45FB59AB771E68ABE95199B62FCC2E97E412
+F5924360F63853227AE5A8A4D4F941C3DA7EBF41766B4FC573A34576840635CD
+CF97FDD6ABF1BF544FF3293F179FDAC9589BED67FC7E16911D821D68E9A68706
+91736E6DAEEBAABD051161CB8741661BFFCB785049377FBE0C06C555BE34DAE7
+0A662020ED7470ACBBEB6FC5A2D14C2EDDCC7BDE94DD40AFB30B6D55CC2E0B98
+BEDBC3E4519FB0B6C5BDEEBB4B2006A9596A82E23CA1BA4DB7F9C10D4A3A1229
+B9139DCE2528B86A80A64A0F3B222073AF0F804436044D62B92651EC22A55ECB
+6600ED010A5DC856BBA6BAE8A6A2787E0E7D6EC512BED760AE25BC1609EF9234
+C90D6D8770616D3B94B52C5CCC341DBB1481A4B0782577D3C830DB00B0C30EA2
+FC80BDE0EAF8AAFEB6EB7CA2125CA718245BD0D78FB4143A3D0FCEA0D5BA6135
+52B25EAF916416A900B2CDC0AA534F6D66A809B59968C27ECF513AEE9333EFD5
+27A5780736421458142E79E570D334A89FFB165628063D888CFCC3F51E13D400
+22A10A70BA0C09FDF8061F26935BBCEA22386D1D81E41C7C125B508C078364BC
+B7ECAEE4FA7FBD5CE49A47F4E24A4ECA2EFD7C5E264BF1E5CE53EDED3D2CF4AE
+154211C8B24892CC5D9DEE94C5AF66379B2E903463BABB6BA45EA616F5193B38
+42034A6985254497DB4858A95EDD85106C505A6BBE40E53092B41CFD95034861
+CA97D7B34B14E2E4ADA576824E04DC3875D689E1AAB770B4863A598C07FC967A
+69106340A044776E9232629BB1744FC286E5994EB36B8A2C34CABB25D5118133
+983DBF45FBA0B4F81B785AAD9CB5F2C1ED83216FE79E97922F3FC8AE882E496C
+E5DF89D1DCA071E7D406687DA2F4A6C57684289ECF44735F83D126CFF108477C
+03D9454B3ECF073733EB08790AD037A1C4A3A8050A44AC5DFA3E93C4F74312CD
+CCB9283FB35D93ABB5DADB5F8810D9D6717D8203BDB26D6A3AD2BA01B7935E0F
+CE2D0D2EF83FB285A72E083527C2F2B06AE6A734FD38923BF5767CE74287184B
+263EEF5D277387B2B9EFDF4261D195A0E6D509375FC5D0696E35A9DFBE00B747
+B2BF85309E3D9E6A081B455B32F98B13F2FBCC85C825ED828C3D3C941D7CDC55
+F2DBA02AFE1D7A2F4436507517AA6A18321E1A687DF52052ED19332760BF8B2B
+BC169D3D0BAA43AC70AB3D77099630471D7DDD24F7CA5B27073687FF0F3D5CAB
+CACEA7B400F774DFF60ADA0898D8A716EFA0998153975712E7F108F6E48A2028
+87F57CAC4538029D7A90DA0F3E369F5680CF384540FA69C278728B96AEF7896C
+5ED6465D767FDFCCD19AE503B832DD09B631785B8472CA3925E9D2221524BA57
+CFBE7DF75F7C23F8628B3C4E85D226A24E68EEB7778144FC9D592056D37B4EF7
+569E24C22550ADBDCF0FAF71CFB1A077642325D11C379E3852F7B99FAE5EB6A9
+AFF9A7A64815A668A69FF8AB21075AF432A5507069F0A852CA06CD65B13A750D
+8EB01E61A452455633E944F918204A3921F11C5530241906B0F4835FD8CB6EE1
+EBD181DBD3ECB55A73201ABE722042E1A4ED23D27C803318859A888B9EEF2172
+734259CEB62CD639527C6F8545CADC182E854F9BFF0A101FC4489665829E862D
+66885014833645B02D0AEB773E71420D4E511E243926AD93E4D4A4706347E47F
+13279E32814B782DD9681C7FD1A992DC85B0A85A0E2BEF85791852C90DA6C811
+7F5005DAEAD1EC5A6DE9FB748C663226B7B6154EA40D00902005223010051597
+4246E40592A9B318CD69C2089591513C120447A9AB3745396BF4294564A20E8C
+B7B127FC14FA7A8F5B8E16737F3214AB5F920B65AEE0942DF983FC7AA837CFD1
+9C087F3B035081D3C4E787A2D42683F239F5DB8172A671E6491E4B7B52441B67
+CE0109585917AA945AD77FBEADBA4C8F1A8A3F68835AE01D40F49B57124447AC
+EC67D35003FA6873769D2A0B43CE08C097DC7A80CDAB0F8C3A2DFEE75C898FD6
+718DB3138449EC6767E9EC4DDCDBE7C895FD00CEDD66870875C500D2F33365FD
+19BE16B4E4810EDF63E9798A64F5BACA0F0B8A66A69D96D3CA96E884815EDFFF
+054A7E844BF0FF37731DF698E0D2E8645E31228E4319F5CBA939845F3A387826
+0F750AFFAA25842F6249EF2D6845E1EE831756076D91FD2B3B156F48F676559F
+232D42359272B4B50FD4E6AA1B9301097E507D06BBDD4E5489F35CAB37931F8A
+DF0165A4047C007AEB5FF2E97F426FCF1302B230C8FC36D0855166884240C6F5
+1777B6024B68EA01AB44781193A3B82D58D5C54FCDB6D26BE0917CDBBFB499D3
+51F215409ECF0C36F3253CB3388F34AD0F1D49A8A21B64BD8823D719A16058D3
+B5D13BAE21F93498EDD97107345A5F67BD778FFCE3A76EC785957709B4192EEF
+541B66CAF06DF01136F0C31ACF3926078F247035ABF05C31509AA5A62483BF8A
+1DF43FC345AE3D81B0A9E148CBE61B162191F5A809952F25B26C65AB1F4913C3
+55A1DA89431F64E6757855C629E957994C9131E1FEC7CED4FE950C7AA546F86E
+27208905D150789ADAB9660BE39854D869BC4F67F6285FE665A15D4CBDC75E99
+3CE1707D8BAA6F3FFD9A3F4990D40DD84053B6402F9355A4D8EC63782EF3A939
+CA7FA569CDDD33EEB01691BD0C0616B80CA50764A573C27A13022C08D7BC9C61
+0F2D491C44ED918D4384B378C176D7DC24FE7E650C4C4178F161AB18CD007804
+0EBA8E7617D34BABF65C2B849B743577FA2641D68424F6111FA90434034FA102
+66CA872C30D338897A8D0E6262FC310BA4B5674ACF9089BAF9FD953E791864BF
+2135C4C46B528CE9956E76D78F9C33FDF4E6260DDD89BC44D74BF1D94E7AC55C
+1E29AE798A951E72D6687BE98330D809B00B79885177F2D5333C3B5383C17FEE
+A9676322182990D0C852D22EF3A0658DF1A790DBAACDE2BED07547D78FADFDDC
+7714FAFE1082E8369A21B13BAED60D81171C7967392F2BB549C17AE3D3AE96E7
+78E553CB1AE995BED6CD2F0AEBB87F99463976A006DC87A4BD2FC339F4DE7E9E
+7AD524BC4ABD39BD60F69D25A47088C2151B48BAC654A4381D513C13C0063642
+6B5C834CD0E7CD214A553A736873997F5D360B60BEFFC18BBAD485DF2F60460A
+0F881EBB03107DD9E15BAD48A23EF036A2CD25292B58C77447834E85B3BAA266
+6E116D96D3BF68B7F2D0CB3394A29DE070E73A176134FA00FF01CBE2BF5F6E7F
+610795BA7CF7D064042EEDECCED0CAAB71E153EF181A3BD638111B606B12004F
+2F6A0F5992250B2341FBA7E73AB47C78AB162F35851A67EEF32B164548FC3E85
+ECA8C6427542692047E88F923A336ACF01A1FF3E28DF325822181A72021E97E3
+7B96447F48DE50E1B52AAC07F21CDBD463C515AD6B49BB9A94C6C1F328A7C598
+E56A2F77E6D0BB70FFF33A479694F8BFCE3DB8025D85F3C09BD69416D11CFD48
+C7AD4AC873CFA3DEC72E83650FD8EE73C5072ECE772F3ED5BDADBDCE9EC4CAFB
+6B4F29640166E573A9E1E194B1AF8016A795FD2BCA37BB816E22C10FC25E379C
+EFA3199C6CA4C48D118B23119908A4B045BAA92861D363382AE1732EFC798833
+C36A2B2EA75124453DA2B06E0289669B559A163DBF7E5F59613320BB79F99731
+06D19E18A014548C23060E20946BA5C6FC67719A505F093E72F46BA0075C9B79
+C8C2E1F6612999C0819EE9EE01003B330F40D1711B709138F4C67AAB3668545E
+ED02AA8D3916BBD8AC4906C857F4C9DEB428DC4569096628F246500C031CE774
+1AE5B5F3372958E86569685AE2C46C99FB8C3CDF6E0E9F7AFD54CAD2BB0DA63E
+06B865C57216C1361E148F23B2D85A8D507693F8E0B14CDE2F084BD0C7488B7B
+448DBA3EBBBEFF32A18C5BECE8AF0C147689296389AB676171C19A97926D2680
+A0D6DAAF846106D04B20D056F0BBE2A18FBE3D812346265355FB39AFBEE58D35
+69FAE5A2A6E8D6BFAB447216605E73E30E676A27BB5AAE50AA2631D326180765
+729EC4D37A57D0863FE8942BFB0C75505CF2ED17C3C5AB5570FB47B926599847
+B65D6624202C9CFC715D8DE3C5EAA9B9766A42D3FF0765933D27C48011FEFE75
+C6977C3D3F4639C458B5B799D939EEAAD7995A9A8F1C0E9CF5D0F55DC7889BDA
+8D6E9C04B6B3962ABF62CB890F1C89EAEAF5DE23FFC81C2D33CCAA7295298ACF
+77EEAE464F1EF0CD64E1A25B4FA057A5AA7EFF70DE121D872033DD71EF774739
+3147B66D3D4FBB154B9754C2F1C0281A472270AE054EB15EC18D15F5EFDBECDC
+8E95489355058CABB592272D242F02C26E77BB2FE47A0D58E4DFABFD25C349EE
+6326544AF56B9C8847E0217F056279ECE596786B3939BE7A02A94C3228377975
+732E88C19A0F3234D12E890D46E591F507F573891C12F290BB6DB459D6B6830A
+C9D04C55BF9C9754B53111140D39312CF13B994746F0EF5154ACCEABCC6D4DAC
+36683DBCE582D9860E1DDFD80C5ACBDA66F5C2768546A526CA2E8F21CD39F83B
+E260BBBC2FCE561F0B06EF6B449F809E3B0565A1B23DE40FC893453C1232A94F
+02D3376AC14945D5B9701ECEBB4D8EA0B26823067671FDA91F5087AF1D144786
+A81FE688956ABEC56F7947BF9CCB78F9F8A328F9B3B59F5877094B0AEFE319CD
+31B8B83311C59B5483569B81958CD7D34D96BDD6881BE2DE6FEFDB28D702213A
+8A83630A3E76B131A378395F127E8833C63239C6C14F566853A3E148D15300A8
+89471F0579303A7D93C799A1DE096F836E94DD201836FAD54729A4CD4F3035EE
+3AE91FFCAA93379A8E3A91BDF9FC3C59515A384488958DAD7B7A469C93ECF37E
+27492EA264B258182D00FCDD5B7CA4357DE81AC6D2E6EE73BB3C1BF6410E371F
+B0BA97EBE3D31E741F809F9080D6CD1AA7C4C06FB950204B99D7DA00F80E1592
+13E2FAB9386B83360ECDB42452784574713894EFB1F12485EC8D120F024A09AD
+A8121000F97533A8AA0DD701B71C6496DF1D222E40F8BDF192C13FDB7EEA6972
+691E8512E2B129F4EB657F1EC8D3B7DFD75FE2925FAB3BF0BC098092E0B43CB6
+7FE8E32005A6C1094681DE63B1CBAC1B224E557977EE4DE936264775355DBDC8
+4F776AC2D621061DAE8818A6CB3AE871F03841DD41CEE30CA655B74DDA576750
+B4F0E7E8B8978F8B7C7CFD4E3BCAB2DA3C3C4EA4D946A61B3AED9EAA2EA90758
+97CE60D655C80C1D3E48C8F5FF56979867975E893E12F61E4687B95F3AEF5EF4
+D367DB7ED1B24765DFBFEBEAD78ED5FE449F310700138910EC294DCFADBF9E11
+8C8D433D73659C0EBDE229ECA609D976201CE6F61B834A24DF0E48701C4EBAD9
+DED9A22F5335146FEBE22636DA097A45DF69AE276ACA9C4BD89B97D44EA68CC3
+9382F27179EEE72E2A355E83533DCB3A53FD4559582582ADB2CDD18B21EEFCB4
+8D3C0C69CB7FB1138738D32C1AEA8C0442D634F14126199EECAC5BE9FDD0E8DC
+F6CE664104BE714018C3C9AEDF4FF542934E133C7E02F27B6892EDF47E0E3318
+3C4D2D12936F0E8460D1F6E879AB202255DB117DA742AF7E4AC511A818D22C2E
+153A1D15C601C3FEF1FCFA2084D0F5686B268A19A6FF3A4741DB79E1846F5C6E
+D7936170A10FA281E1E82726F7023FAAD427A55030C71C19A106C0F507519A55
+26F787B5E548653F52AF589F04F823B25C6187F4EC20C2A911CE1CFAED321202
+D1B7F8406DAA95D78D571135E978E3A0AD69CD1E5E6C39719B95A5E38EE3EB72
+91744E2058B94C17D070E29AADB25AA49F4B71CC5486DF4EE602F04DF68B4CAE
+65AE1A2EB0FC094A028C9C152717D4638ACE5FB37684C1B2CB300F18E12F7D4C
+D671536F35B466F088F62244251E0AA181281418BDBDB1E69D20461A47C2D8B3
+138B86BDEA8CACA039674D7F766BC0D411F4D379B9C762C95045BA4AA4089D08
+CA38C70AF56F45B8DC8200D4BCCDF728940491F6954489B8B67F1D5E468B4D4A
+E9C0807D4103E356070E01E2482EFF5649A6A411EC2735998E8411FA032E5744
+06074E0EF4D3254BE580A5D209B4FF7539B72CF8BA3C4CDB2C92BE2341E82E48
+427C41DFF2006EEE10FC3CC831875F104FCD108824BF8B9D651C8FED7ECE53E1
+73029992ADDD3DBC5BE032815ACF40EEF0FE8FEDE01A7A3FD4716E6130BAADAE
+7C9A39ADB628216910FF02B8B6762B0DE77DE74B54CC8C360BF72E74F0E6385F
+B406EBE530CFCEADD1B56658B3B82714AF2D889C7357C0B64A9148E728A04B98
+B98079EAA62D1C3A7E9ECC6AF23BCA7249C743E5268D2DE6736EE80DBD8C1C9A
+6E3146F5FB038251D6052FE338E029C1008FA8CA1BC9146BD5B6E9F3A702C319
+7061B6A30EB1DF96C631F75189971BCC346F50E92BB5C7A4007D4157F219778A
+E57074129677BDA86304DB18E94CCC126E0186D92162943000709B0D9C5F7611
+D43FD4F63304F6E62A28E4F9DD96494B48F981208275F8774C107A20C2BD8F7A
+82B8CAC74F6C9AF3E0D4B12255A016EA9291D9328695A40654C364ECA8AB1C4E
+94CC73E9320A3403A966462A6ECC7CCB2133DB4C1E62223CBF9503CAD350AD11
+BBFD96BC5EC82C4C990BEC8284061198178266BC8B72E3CF3CBC9942FCB15148
+22BEA373E4C5F75664FB7543F3DB3C6299513CC0EBA1F5BAA95933D6E3849440
+E19B5432550ED3B3533C0598F0A6A7A167D39760F7255A6C6D73F67EA3734980
+F15FC3929F401BC30CBD21A66935BCBCA7D4C9D90F4144C414751BC7D80210B8
+B1E1994562D30F151A3CF2BB9F4D4990D549E3C3B39C3F253D00243A74AA2FE3
+649F482075EE0F343F495ABDE4EE4D95C90563D9AA8185D8D5E1095BFAB36AA5
+0C69AEE4E2626040A147D33AE3E064009C84F86470B22306BD211895091B727D
+10DF9180CFB08443BC7880CAE73E793D5A95197BC64F93B8EA953C98D638E626
+ABA558EC0F8CCFB7E060119B33949F4F83957678F76EB333ADF1F29200AD6A01
+1335ECCC17E5DE69F46BFF616607373BB3CFED904AE36BF51A1DE5383DED2D26
+07B58CF205FA0F2DB31F0A8FAFDDAF6A91AAB235E6A1E1B97409FBAC7262FA90
+5080EC11C1E782FE47C1CD2F3288E1FCD3970C0C966C4E691103CED8CABFB0ED
+330980A8BF843EE02D58B95CA47DE7F12C9D8BB8E50C5A8E2687F56AFBC998A8
+BF21B04075A4C4F5C847059355187728CC55649DAC0CCAB1FFCA5BDA7485069A
+42140AFFE902840F633534F2FA21581D37848140F5EB23D0EE0DF3937B44C265
+EF8A0B0B2C570441123C4922AC81BBFEEB019FEA506918079131A1ACE0FCFB5F
+60E0A9836F4F0761D96DA07A2415AE3217B8A869E660C9125C6863E1FFA19F4A
+FC97938FC9C49BAB5A359764D8DB585C519322EAAC95EDD91D68DF002C29427C
+6E5FBE68CD399CD9B6854E09277B6BBF6F3E8306E172F0ADF6DB24F300C428FD
+8021A1354DD3242167934F7BBFBFCA5C7E828BE6673C869777753CAD163FA0C2
+D902C5C80911BC50857166BBB4F5BC1F91A568521418702D1CCFB1BB025ADE58
+040CC3A06EED55701736DDE36F4538B842AB0A0EFA7338F1DD238F85F2A33AB5
+2230E9FC9C3EDD94FB8B920F1AC258A499390E91EBBD7A88CD1B756D0B991F81
+C9E64F2782A888ABFC0A30BC646C7D4CDFF42AE5DF453FE952BF1AE0A0B55962
+7D002716FD449C957D07CBC49379962163A2B46A0D275072853F3C003801E08F
+C1845FF34F13E555879E84D19B7C42106D0EC5B1E2F7DA03AAF4823AFF4E2C31
+9EACD1C9BE74CEB81E2D5249E3A6494D2FDB1683654CEDCF447FB3B35967FBDA
+792A16B8882D9C35D267A40B020F4004CFA8818BC2D22677DBDDC160D2DACE03
+C02323F78F6EC3CEC2AFFFE41C0A39E1DBCAB102D45041DC45630A1B0463DEF1
+3AF157F9927051412BF5B85215E297CD984FE235F2F530C6FDB60E3582D4055F
+4634D6B2EBB4C7D4DECB545CFFC0BE111B31D21C02D4E890B8E5B044BFE671C2
+DD71F629EE7A4E81F30DE08D7C32A685F4E1BFDF17A66AC3FF013F7E96772CB7
+F7CC7CC9BFA3DC4E30C1BFFCD724B45680B0589AAFB29A8D80F7CBAD7BAED0B1
+7C377217BBFC28F7C9B2B593D7EC8C8F5FD75D0CA860C006E951BDFD97756136
+38C1FAA8893664CD5D89AE6529C8AA0A15AD54E5EF9FCF46E9C47E4EA2D5BFC6
+8B4213CDC412DBFD482FD21AD0FAD684E1221F186ECBD0891537D773145D4943
+A40344377D9C76413F432CA3C8AF6C52ED7FF54781CCCFF7D6846BC5E97CFB7E
+B4EDFB149E960D7C829F7CFD4BE36D45FC4585984C7DCDBDBA3CD6B023EC073F
+DE64B89492EB96AAC5D413EF8EE6F4A3E7F88DAF051EEBC2628516FA1E064B16
+8A57D25BBAA4C99D53593BA6CB6D9C66ED01B85534749810E0ACA10A0F331AD8
+E7F05F721491A6918954C1B0294CED11E68CACF8E5A7E83D570C2080628F11B1
+116FBE86106B37F561337810BC7CBDB0BA8C9B366022668DA5B1D96B2F39E3F7
+7453CBB9BD24EED17E76E4A30CF0F3989A00C337DDB4FE4D1453D5E9DAB6F863
+914780B22DE2F0A653EAE1B0A5A4E45C4E91D2799516EC302E84663D1EA7C9F5
+B7C92223F521A0476BA18B4B379804B91A315B4985E5B56E18E9B22E60340E9D
+F45FDCD758336C5FC1773B0AFAA5781763C0386184A50DCA2EBEE2FB93DB0837
+1F303EACBF178524D352FB1DC23BE7363EB7BF91E23693354EEBD63AC7265630
+646691F71C1F05CC75A46AC793E7ECF77E1FF077F15961D0698E6F35E2494B79
+A04D39AA42FE4AFE4C9DE1FA28188155E6AD795619DA2D96822345CCBE29F007
+F4F55811CCCDA5581EF0346F176D491E9916F5276AFF90A81B649D89AC60FD7E
+C7121D065A27FFA154BF5AD15961DE9885AA20655E66DE5B850230857A4B9996
+30BF0C4D2CB4D0E22D53B020E8BD5BDE28CB4A74CE8E876600200DAD54200E02
+B6DAEFA68C47C8084ED5E5B5FDDDAF473F6C0359A060DB1F9281CFB891612D41
+ECCEF4E3391F95953B1B54E904A183B1D15B174C265734B27D039A365B2188B5
+DE092B57BFF49A498DAB0D4133A11DE25AD02E40B84B4E57B5C766D585940363
+79E66C0D9CBD4595B04EE24A347A
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont 
+%%BeginFont: CMR8
+%!PS-AdobeFont-1.0: CMR8 003.002
+%%Title: CMR8
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR8.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMR8 known{/CMR8 findfont dup/UniqueID known{dup
+/UniqueID get 5000791 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMR8 def
+/FontBBox {-36 -250 1070 750 }readonly def
+/UniqueID 5000791 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR8.) readonly def
+/FullName (CMR8) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 51 /three put
+dup 52 /four put
+dup 53 /five put
+dup 65 /A put
+dup 66 /B put
+dup 67 /C put
+dup 68 /D put
+dup 69 /E put
+dup 70 /F put
+dup 71 /G put
+dup 72 /H put
+dup 73 /I put
+dup 76 /L put
+dup 77 /M put
+dup 78 /N put
+dup 79 /O put
+dup 80 /P put
+dup 82 /R put
+dup 83 /S put
+dup 84 /T put
+dup 85 /U put
+dup 86 /V put
+dup 87 /W put
+dup 88 /X put
+dup 99 /c put
+dup 101 /e put
+dup 109 /m put
+dup 112 /p put
+dup 114 /r put
+dup 115 /s put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
+0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
+51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
+7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
+E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
+0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
+C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9928A7C95D3A6E9B
+8E92F84CA0AA44461D2F4FA0F8B81C6F5B7BE98C9712BE166610465CF689DFAF
+27C875C029C0116DE61C21DA0092D029E7DBEDFDDEE3D67E6936623AB53FA2AF
+18BEDDD7AC19A19CADB6ED6CA7A26E6044BE414FFF59C0B98D5819A6B881F9AB
+7AD0D03BDD5CD309C67811D5CF0B93F6FDC9AE64F74ED4E81F2E18D880BD842A
+DAFD0BDF06300201C6946087FC0B999447BC370200BFB8CA420B668B32EBC242
+6DB1546A7164CF55B332FE9D239B65F532B69EF9F4F93828A44C8F5C526126F8
+B7A369114CA68D4F98638121F4E17F351723D9F1A902FCF087F94AFD23876517
+2D15B482AF2D68C3F31FFA864E031596E597882578AC7FB0DAE2A713B065B374
+3E2E72519ED6D50CBCA40A7275A7109A4F3ED8A4566AD8832890D3D1F4899850
+9B757442B7EA355175CD5D6D8B4152ED2D7EEB4CE30F174FF672140354046A45
+7098EC45B9DF3DF5CF7B417E201DA88308CEF4CED8E8903AF24FB8DD0187352D
+25738519ECBC70304F8F620CC45D2586619205DA3955696FAFFE2082402B3502
+CB682F410DE5FFE80A4DA3D3BCF02E35BD577D0DE55E7B8A33B7A2FD5136B5DD
+A0BCB61F8E7F4363C21F890CF287304DDB8FCE7FE207C0D160B81E7EA662BED2
+DFF8C444E19C91E72254257CD87240A70F1A964FA54ED9ECF27E27A57DACC3DE
+EABB92C085030870C6CF5C40B6E47F5C0AEB30E84A73ECDABB2D754EF6EA28BB
+16EBD6636BC288E62F4A38BFB55F5F4DD20FDD77D767F6CB52F9513E8EB75413
+07F1877B2C01278675177499E4E8EB09F2657821613F5C7643FC064293EC6E9E
+B519FFAEEA36B19C9D1302CF91FCBF87FCB57C5F995CB6712BB3D8681EB6F05B
+B2A4195A3C73CB4ABCCFB958EAC533BD89560D2790CDE1444C0F2E4EF27A529C
+F01052964E56F6D76A190E5FF45934BB711A3406284AF130D4DC0D8112BB3752
+762CA0200CA262359D4F54C0CCFA9A50DE18C7DB14419E2990ADDC4A54B94978
+D9174CA39434022FA77FB30179EF805E2189C35919F5EBE215EE2A00B4407826
+CE56329C5586D8B414770BA5D45513C3AF1931D632FCE69B4CA504944E03362C
+74A1177C6398A61A12DAA0F156543E2A8E9969C4308B7ACC21A5ECAC8F172541
+1B1316A88C0C163E574FFD3CD22FF08488662FCF2F9344BC25D02146F36CA6F9
+E2D0130C654B7485EEA9A110A33AA0C769121F81821E9A2BD062FAC158359D44
+3F9D9947200EF1EDDD5860F10438B162A69683957300C75AF7546C70C97AB2EE
+37EAAF0089E2623F787F252569B06C665FDB45EC9681C0774ACFBA76B98C4E89
+7EB12AA5F8798FFC110B49C25E3A483ABE83B0BCC6DF0578403ADC369E013762
+C9D08FC94D949BAE636ACA9F36F4E3F02296775A062077B011A705B6F1784D36
+A926622CB3847533D7ACB24A4EBABB14593B5D8E1DAE2BFEF8A51835C8D4E76D
+7543C126A4271C59A5881A5AF89331694F84489CA66725995DC3070F306EA447
+CF30F63CD476A46D528EC1FFBFB8EACFA2BEEDCF54C92CE2BD26DEA5827186BD
+3A4D1709415CEE7D51D671357B4A5D11E835F63521B9824EE5282E58F05A8ACC
+FD249461181A38C2F47BAC4E79BE368D64F886AA493C61CBCB2ED401C8AFBA61
+59CA6F6216D941A92AC52ACB3D7ECC28D6A58EF4CC70BA6DE23E80937AB38E89
+6F05FDD15B954C0826636267EDAF9F2BB466BF79D2E10EED9B04297E6BC93069
+79581ADD1A9D9FAE9306F46AC95B98C60A2E53D60CF1AA4069BE301E17E25070
+F98DD67BD8642B1D07571A32766072E48BF27E1576FFEED300D7313A358A823B
+49C8F135961B7E259095C9BB67F996CE0B90E95344F203922F47E11753F70D38
+2ECB615403490310CEE6C03AFA97DA2F47ED47125D110FA69725BA0018F6A40B
+29A307FDB3E52322A77A0102E6F57654CF1E96A134D13860D83AFA0A41112D3F
+2247A09ACF7D06713BE443FA27C7E7220E875965D53030FE7D2D62EFD2F1DB87
+5FB091FEAF599BA8C5167525899E578AB341BFE2BC4E53A047093168AE189237
+EA55F055514EFA939DAE9E859CB5FBCF37D99484F44FE5AA5FA386B28BB642F5
+5DBAF059A50FE96C7C6D834531D64F1F2E99AB2E96EE74D149178B1C0618495E
+293973D9A03E1790654B67C0882376ABEC17D74785B3737D81644F28B3BC6FFF
+F92FE29126995A07E0BC5EF3A4B93789A103C428943E045B8D1A5063AE71E806
+568D48072E53DEA85253B01DF0BB7367A6BE4DD7BE514AD74E3F77C825ABA405
+64DAFA25EAFF8F63344B5F6B523629776CEB090B546469F6A6008DE43072DD3C
+DEF51F62731037D1FBD0C038A1E9B669849EB3BEBA281624F13D20B61917A109
+A0A7871A73F7BAA18077360B38A4625C5DB9AB9E43BDEEB856FD0E2D3AA2E075
+267B978B9EB47F2369302E87DBD5D5B422830BEC32411FE75D584C58650EFB1D
+136FEB92B94BF8939FD63AFB7349C7511E5E46AA7324F8B1FFCA9C2A9E9720C0
+A720918E8E860F137567D386AC29870FD990BD69465B3A3D2A0ECF2753578AD7
+80DC87EBB319EB5AFE0B6F6FF8616EA30C51425FE3ECBC5F8D0B0BEFDEF32FA7
+D168B4E85C804B7326A0942CFDE732B1171C643452B7099B31649CA2C38B62FB
+46EBDF7180004C549B53F88021D029452C2B37D8C565BCDB0B11541039A13C0A
+E45D4B68C7907B8BF08C6F41F564B62BB554235D50330E78DD02795516D969C9
+66119D718798120442CB7EB9877FF84EC69DAE25F8559DCE3BD8042959F695F8
+2F99845B1B5680DDCF181D806CC4903E077D1FF5E60918EB34C0B1E028422B71
+CA63EFBF3F4F3CD813CE831EB54265A555BDD35AD7D723F9CFBDAB29C54F8AFF
+2D35C6A3299E0A2DB470C7B141B1E3E10DABB7873AE302926BA8743278FAA8C0
+DC6174501D6A289CF980A3F55F2DD5C3A514E7E7F13133C35D2697D64C25130C
+DB78FC997968D6B3BC929E8A31B6D212C5128E4412632BC52B3A1049F7F2F61B
+C74AE9A6AD19B9E2E240617E2882F7D29ED3A4279439107AF9AEBEE47CE85DE5
+CE9595A96A118ACF1EB1F5929930321AF7732E351E18C6AD378508E37B4C327B
+0E06AAE21278AFA9255AFE5C022034DA2968D260879B4B38E7EE2E11A593DC3F
+CE71ABA050C004473324CAB6F3C50E85DEDA3E9A27388D8FD3A8F6E42A79670E
+F7549CFAD4CCB337A6E0BAA4846ABCA059F1E1933CF11DC0FFBFF550CC4A1B47
+CF7BCE0875FA747AA854534960F757884505A5AEE0330179A9547A4AE3E68479
+7A457DE83326DC30B67F27CFD4AB697601CEE352F72F0966B3CEE3EA24683BEF
+6D23AD51B8432C3F0DD0D0F80791E1091F38988B7A54E466A9AC7810DE8B7893
+6B0AA6356597891D56190A7660BC7F657BC559E0525D41EC228078F2FBF89C6C
+72D666DAD838CBF0861FBF0A1D4ECC069AA49DFBAE5C56B781A1D5D79DAAC256
+13E3F9B928A2394FC71691E4355642764459714412D6F8EF803FC5F7353822DE
+6CCBB8FBE5AA1F2C7F4D384039D85E7728527DF9FE0239E2CF8BCB7411C000B7
+1FE660AE6A2A19229E5E8776CC83EFF3C27403935756463EB4721C51FE0B1197
+86C2F17842A0FB639F28083DFD4F1E86D7D3BEFA922514ABF489C5CCE93D6F72
+D2EAAE14F6CBA2BE4BBE7D7EA8EA19DB3A87350D4A52064137C3D15A5B05B03B
+70B1DA7328D10713B83974C390C3270AF5A9A47C0BFBFABB9F31063B0CCFBB10
+0F236C74446688198EFF039110F6FF42FA9F82D463AD3958B5FD205BDF85DE20
+FE3F0C7AEEF350AEE6DBC1DE2E2DA4F4599956F59D6F121F7086DC120416E180
+52DBBC4E56C09746938698860F30007091E1CC0351B43990E47208ED495310F5
+7BA9C6AB3CA10A3F1B318FD47C1CE3B9FF1304321F9623E32D315AA9CE64B35B
+F841E6C62B5B2488A311C94937879E5E0E170FA77AF0AC75C5E6E9F3E8F825AA
+09C1702682E14FDFA72D27901C5BDE009B1E52E8C4511C6F6336251BD45261F7
+401CA3DAE7C4B0CAEB91B9954BF4A97C48ECE7FAD401351D59DDAE9DA94E2335
+74A2B880E4749D3D7026CB5299F16C204B6E00A20A6619C34922C7D3FB50F127
+3157CFC08DCC5164C8023CD1B6C3556C73CB8E4ADA845339CA9BABA1457ECEE6
+ECB9849DF1F0FEBC89E5F97C92978A500196520839CEBA6C0FD2E3D27BB4B4F0
+93CB2BB565F4627C6DB62DD0E084E627D69B5DEF42EF094381B62C0D67EFD197
+301B132420F51A41561E6106870147E0D597078435BE3819ACF0DE28AD779847
+F3D2CF667DA06955D53E0204CEA2935E9E984E76963D3079EC092031E2A10E61
+1227E5EE6770DD4D745A52655369EBA06A19BD7D95BBA271E488241199D1008E
+36EA99F8DFD2A9F87B06B070158B466AA4C6EA3BA77DB0F853F0BF9A304EA291
+34069714368E0B94DFCBA3BE5EDB6C8204DFA7EAF5C3406F60A7056407D1BF6C
+CB85C1F432F97D821F5518BBA79AF8453A568FB2C2D025A70CEC75F46C545011
+ACE3A99B2582793BA1DC655230AE2EFD24DE20A01D4A441AFFAB7771F223FA6B
+9169849E727E494247F67D6E1EA9DCA06A082FE2094BD548AD7F08B565145634
+E7ED832FEC1378306DDC796303392ADB0CBA130B63B38ED57B7828B47732853A
+893E8836FE19CCF27002AE92C2B2CACFDF8A42F1B8066E033B965D2E9157FDF8
+E1264B40813C1A4CE424274AA3528A4F09B3B53DD4D23789A68B3D17BC1398AE
+0ADA2C2168427A49846DE0216908C2FFFEF4F13C1ECA12AD341E238EE46E6DC2
+B71B54C52659632911F901660261E493AE2483D64E119D9924489779B62BC9FB
+A052E822FD8D83178E09ADC825DF0DA07FCE7AD68EEB29FAA275A13691B4A5A5
+B0BC0499CD6307610CD6209583C1152C559A2760823F8DC0B9B990BFFE7B7E9F
+3969B968AFEAADB9FC0F1410EBBAA0DB979CF153F0B8C978405F8E6F2B6406D7
+AAFBF4A655A15DD6D1E9A7EAE10EF89264659B09283F50B734236885FC09FBE5
+98D780012FA77FCB19F15BDC522CC7312546C0730EF5225DEA8C22A3BC6554EF
+4FE73B9AEB5C2F7DBD474221760E5F539A064AC450591BCF3499E3968F2CBD6B
+F15BA2B37080A4129B66D4C2188524F025414F14DB3F96049A8B0E5EB2BBE7A1
+AD64A988FE875FE4FE5186BB4F5DDA16983CB052D474B7D72F3E8965663EB50E
+015C72407C3437142D3D7DBC055FA627139488DBC5A0F98D805C2143D99F491A
+167E07AF60EC9F17C36289368D740B632CB919A0E74C412B76CE7A5906D5200F
+9E79CEB9C65ADA3A0F23E8947E834AE7A329A9F0AA7A6BF545B1D7B4666C6522
+CFF268634EA06DB3A82D91A4C0A9B227E79961212881A54A6762C335DE7E0831
+130C45D94394D21C049B9D189ED955438C2151514F17BFC67E431DD9A8349202
+2F616AEC1C7B19F63D5000EB4771370924BD4B9053FE78B5E4A244B9A149D66D
+A8BF3B398396D2233E92E4A5FDC70FAADEADAFD255193D688842DBA865CF6154
+C9348D590F3FEB135D4B7BD4D76A52CB140888247CAFAB25ED51F4D187041CA0
+ABD956F83A5661CEC171B52AF92F9ADE27973B560C802E1E0FF51C4003D1289A
+CDD09F8EDA8AFDFF666D35418CEADF3B0BE298F0D1E5C8E024D6A2017A7E71F3
+3A9FEC9930F1118101E040339F9D41379170928DDF5B5875212B271DC843F612
+E0C21C67263186E3D6929160464D4D5C8928E14D0845762C36FFBDE548188E20
+3B6BAFE5EECA0385142F01216FB8A90C43A472C1D4447FE5C7C78CC088FC72E7
+3FAFA062C338BDE8A430FDF1951B107D8D73FF9376FACDE5900BA362C66F8C1D
+947F9545C5C13A53E4479B1C1A50472C05E8F8C266C6D4F4EB08E97B3B1BA972
+26973B844545089C5732322BCC9A5A8FC972FA0D7DB8BD85D2F515ADE65DA479
+0224F7EA2276CFED0B75B2C23AE7377F86F1F6F205D6FE19377D87E782143697
+984E731F83CA888199CEB425643C259D4FB8B58DD69A96085198306494BB497E
+FE7C9954EF35B679BBE3847A9C73507874F71FC97665E2A58BA41407A1745247
+44A79B588D969D11CE4B863CDA655DAA53CEA5C3C263B345E782006CE9831D49
+603D2D95DE9E370D617F5928BA416C362BB2B4DEF16A5D44BD24B34257765F3B
+6223B3F9B54DAED69A90C7050AB97B06693D253C6894CBD7B497DA449F1D9B7C
+D91B421891EC0724F59C82B9CB288DC42F2D2D7A7F22EE3D910E15953D7766AE
+276DABED3820390BAF2700C4653E1C77FE63DB71A66D93ED293E25B8412A1EFF
+809554BF04ED0DE83F7F190883ED793803CAD2C34A66524D3A580ACDF3C13B22
+08F18905E7A4A16DA9ED2A112462FB9FFE481EC2069E484E8BBFC19D594153B7
+3DED4C11762223B7586483B06BC164D824D1A6FCAE80A35DE0DB8B33396771DF
+76DC5C05578EF1BE00A70BAF3D951A01C87328DB2B0DAD6E1B4C21F37D1BC0C5
+A929BDE5EADF20DA60C4DE2E3C151005814F24824D33B95F700E09A0207EB602
+3EF60DEB1622B91DB99A855A8F1DA96358F05CFCEDBDDDFC8446AE3391BEEC41
+966E594E28D052DD5ADA49DFF65E79540EBE5329DFD86C23CC800F95221B9C18
+CBBF941D2FA47EF1EF59A89DB5DD188E75EE94AD2A79E2221107E5992C00D531
+2E00B544895A9204656867E3DE9D4CDB64B920B5CCA9A73E6514B36CABAE01BF
+94C15603B86780190595560F792E5EF01650074EA4A9BBC6ED284B9AC2020641
+DCBCEE0ED27FE58171DFE104EEE4202759E594159DF45113C00236127A46FB35
+9EC705F21C0E456C1F0F924594C09AC64D4377C5FEEF764BA4A09ABA8D09DEB1
+FC13B0CD202B2F04CF5D73DEAB65C36C2FA7C0DC236BEEF6D23BFFC9C493DC8E
+1831F19EEF81EEDD976E43BAC6B5CED13F901DE59835FC75490EA528A72CEB77
+24C38B258EC38B9E6B97F85CA8C10D8809BBE55A6FAA12456FCAC786942E123C
+06D1E55F7ED04400088BEC968BC5081DC7A1B1B65166E7821679F76694F235FC
+6854C8776AF855B83445D9FF919B1D80E98DE0741D06D6C5EEDB3E3EA6392530
+F1BA817737D8162F7B3A36AC2A03190CDEC654383E31934C3E0A012B639532C6
+26FEBE9B412F1C92D1943B7C18CEF510729D501349644C97F087F2F840074AE6
+D8CD0FB2E620FFC908BFCD938B675A0A4A687F7FBE8F3DD06A62D7B6DE7DF3E2
+49D367D60B10061EA86CD512F5A1BE8950D83C62695E130128E0037B62552D17
+064319BBB9B1FAB9D79705E5D68AAE9B36EA14BF1A59A863BDB8DAD9AB5D7B8A
+E30E2B499F952D65877C8E38EDD7DB29F9579D09E629AC188DB6A6403AB4BA3A
+D358B3770D727A2B77D84B6C9EC17E29D88E3421F9B7D2D822EB78BB8BB50692
+8C46DD6F9BBEF2E848A2B5669B200019802AD19661537A84D3514AEC5AA47445
+2C791E01DCEDF18D9506367241255FFADEEA6183F51A9F42448A7DE413C08359
+52DAD2A60FD606AFE14702BD3B0EC448720FE63438D020DEDFCDE3582FC31DF1
+17B25FC152789D2F17FD60B8209D292D2152DCF8D28B5ADC04F6659BBB746CDF
+145163361823CA343763AA951C640B5D4A99B7787105A1609EDD6A596EFC3F6F
+2AEBB90C4B257BF563574D9980BA3160D59811D25FDA43865C2EF2168316F2FA
+FF514FDD56C78D3EEF38378129BE38676C1A750B344A8C069A83E035F8729D43
+6B65B80B3DD3D4B8F9041C564626D9CB87AB7B9379F8A02E912F859AE0B3F9CE
+0F253FB6800D5D6BB753CFB933FB9303AAAC53D12E21FB229C222646DADE4018
+51AFD06497D881A16DC7532F7C517CC04E27182EBC4DAFD078E2C58CAF3E801A
+701E4D48476D645F86023FE852EB25C98058B68C3E5E1EA186E514A8CE865960
+FAEF7B85CE2E6C2FD725AAF4647371E11A8927AEB722E3B0A70F46877976C122
+6DB4C5A22B23D2574425D4AED5F59D89410AE7E4AE6B8BD87A115141C3399745
+D6D09621988B5909B8DAAACF3CCCA6C0A0CABBB72135AB30009897F3244C8FCA
+51368A761AC0314AA9C9D13B43F84AE05279B113890F28B92AE0D7FA547A4CD3
+ED0C0F71E9624BC8EA8ABC3978AD4D96E95864758AD57B2F7119BCB37C077D11
+0A6C4042D9DFDFB8D708C94E099C7DD732A69EB97B5D5B537BD2FF89884947F2
+2E17754BECDABD11AADCDD15535B1CCB7C8DA45DD0F670C1063F0C5744035B66
+189C324276462B10929D883907CCDF643FF8EF802CD735211BF282020767660F
+66C8CF6105723F14C47BE01DC1105494F7135EBC357F9852B29CB014C6A904F9
+4F6E4243792948A76C29C1EBFB08D773037DB17DA01E7D772F08A14E65B3669A
+7D3F6528BF71B855C8F3A8180D53BEC6B9E32640DAA219D1C608F9217BA80DD3
+18AA45872C80C6860FFB94486136FB14FD627FB9C8C3E6FB5686068EB063258D
+A563567DF910C9F304C9CB9FA69F84F6F0F170457BC3B31A921E88EB21D3DFC3
+E961D5DC1C4FE86026EA333652D25F786ABF5BD1AE9D950378329099E3DEDD73
+F412A2EEBB73A9885878BEEB54FAC1757EE0870B7EBA35B7789FD3D5255DE9A6
+1F026A9F38248EFA2A9C5AC1A42148A98023C36D33AEDEE8308F8CD315F26C53
+66884A1D4019D8A16C415DBACBD7BDD86F535CBDAB42A8B4443F528D5160C7E9
+F69D31699029B8D31F5F2483A50C1B66CA1B620CAEBDEBB4EAB2B478F8C67A3A
+423D83464218B574A74686E5E46CC2FFBA031C74F4EC2A1C7BD49DEEBB3CC428
+8650C04E55DF21B98B27D301598A9F86C2985A8C79E9AC88E8BF42E3BA6F3099
+4CEFFADA1E6D848B5A2AC7056D77C237E699C4E973159FBD69879DFCC9162E56
+9EDA1136CD809AB400C8857A4CC3B96F44541D517EC3EF336E5D359088E007E2
+5914F773A643BA20E596B1FA262C66B1A711857A7CD42B48CF64F0E7FF6CBD84
+BE132642EAD29405C7FBFE666B5CED0623606D465033F5EC5C42C1622CFFA690
+948C737D653B0244F2F8696D87D121F2273AC30EC4227EB93CBDF022D1EE1669
+34A546E9EE5D8BF18BCC2FE9F9794899657F36C3ADCAA3ED873471E873B7D084
+37B8218DA6A4C33746D66DD515396350C9FF5C989AAFC6E34E653351BE2B4437
+CA916AA6CA3AD3893B67C8E397D2A66D1BE8C006EB04ACDB479D1CA49224B19D
+95D3CBD51050D60F43618716E2793AD91DADB60664192E1457F7577AD1CEC028
+D3AF8E20AA2DCF3294E6707EA896B80F838021A0C3808694CC9A897ECB76704F
+0A9C6B27CECA048EF01FE8C0A55CEDAD51C867D79B2D102763986CE8BDF1A43D
+7150A666B0107BFADB3A238E6C7FB0AAD17216B8788F713EF7DDB1D392BEDA29
+8FFE86CA8941E21D463C8EDEADE64BECED661002B86E36EBED59773262D0F45E
+B0438FF9F08545D476C2C92E05D63A82061FBE2ACF3BE7D5D3FCD355D73548F1
+34CD0A3199B13881564A2B350779C53A8A897019FF2B1A43697D87282C4E6D8A
+446CB3A80A4AC3F8919DE466F1D5AA5D8EE11D97AB325E930E072655F652DE09
+8A27DB840B883587DFA505D3A994F244DBC2818DCB366196187967FCE5D8250D
+E173A18A49B61E89078EA0C2CE564158E74C0DD391A9C98E3E7D23B3DDE35140
+0804BCB63F7513A827C3D1873E6810216D107AAA9DF70FF0916CA522986ED3D0
+84B9E4FFEF6F6D07C42796DBB3214E61CD22FD96C0B9206CBBABDE8C4EEC2F51
+748AD80662D709344C9D32E5C1EBDD5D075B840A1638808A360BCA7C948AD8CC
+36D9F86F423B0C51B87FD1915E9E117DCFB5A20D3C2DA42DE02B4EDB210D8E92
+C26C651563191003A310D59933E41831AC799A554F6D975B68611C97343FA911
+658D03BB502B22B9BBE21630324F1B87622BFA364B07540AB67793BE909C4403
+FE32E4875495B73B8B2C17FB16C6DBB633DB9A09E6BAD0B35CADC6CFDEA9CC73
+2DC7F19FA7E55AB27C0638B46C1E1BE12A943FC5C05E3074DE614D16C0AED4C6
+F5A43D2B1D3072FB81BD31F54CB1413B94E93878B456095528FBF96560C954B4
+3A6C8E1E3682D7B2E8B671A6E373CE7ECE280D0A0E21729F3E2F7D6050763FD1
+2579F8A65ABA737F0F6105BEA237207209D5357E81EF866E63AD8F9A5B6E52C4
+8683E7A777B5CC4A7F29E3500546B71FEDEBF93921826950B67BDC79A4643798
+F53B22B69AF8F585A6B6FF2347485DC139765427962092509ED6AEACBAC9ED5B
+C5265205F8D97F62ED0C0E1D9C250D5D1C9291D79A23DA1BFB274270915D436B
+8B9A09C3977E071048F70B2030F0286C46E0220F44017F285BF8A148ED2A3EC4
+94F8B4F8D9B26AB039CA9FE54A2E54BE63FE1266845A6C0B61B62EBA5CF5F287
+F8D3516D5C8F5C50F3906EEF6D5A9129F44D84CF9C23069732D62048BF2B4724
+1F662DFC68C318E735FB7D732F2044F0F2186E13EFCA221C4CDEBC2BB8B6C2AA
+3C4E17780B13476EDD47D08E3E990637776D5FB31C97E3B32CC62A1597E99D81
+941F31E5749AE570363CBA83879BC83105914454CD70F381DF9E2910BF2D6638
+7E8C2921D90BE04B9C7440656E4534D38F8831117015119F4D1B9ADDA1BB6AFE
+1ADA3E0BF56B21302E656A1D51CF3EC0F57704D14C2AD6FA391B5D5AF2E2841A
+2D0CC555441BD554B30A78B47AE397F6F71F72FF52A8A4C8A56E9543FC4DC72C
+EB6D1E84541F7BD3CC7BC711D107A7A27C6C348592EA5506295B2F7AC7BB9219
+F3A9C0713B69E098E94FFB0DF8463D765E90789AB0B9C03076FEAB96A7E28217
+CB1FBAF8665784D4B38340BF84AF43C2137F132249849E1FF0D8EBE2697EB3A2
+6AC137AC78E6EE9EE83CAB3E69331C296DDA954398C8CF7EEDC4FA4A965BF2AB
+214FD05D4D17E4C977B0E41D1CD2FFDF307D83421D7F99ED727C2782B2EE44BD
+8CE84A24D9043C40336383107FFC83268D712DBA3AAEFE68A97DE04E9CEE4583
+CC65517FD50B6BB9E0106E919C9C49D650A547EE62A88B988E747265F642E6D6
+5F18D94237C106669FE0C451CFD2660B7685CA3B08A9C181C29487E9771B5ACD
+E87BF97365BC09D32C71B0487749E483E6BE9CF78D40771FB642FC8E9905F263
+FE0FC13B24730A3E0E0292343899904E29111C174AFB03C1121DA6298597EB5B
+F90FA440516D64B2AAF74EA5537A5496218C960C9A237C1E297F8DC74D00E124
+96B4D9D2B3E5298B80B3C23DD8EAF49C38786ECEDFF32324500122C59FB5BD0C
+16EE30F5CE8D04296A155334E0B374DDEDCAF4C6C092451DF378DCE5398C989F
+48F2ED01AA34E0E886FD44F6B90932598115B932FEB62118D4F5556E62CFA0D7
+38C20E669A6DF4B5A985B3AABEED47917BF90EC6E144DE4B3C662056EAC0C72C
+32D123C379FACE4560C6D532B0D55A234BAE0738A6199B27618A1052F0E411C8
+D7FE5E28CEF7446FB58EE07EC279E3A6E359087D0836F49B87595183AB73FD9B
+63F15B88E7BDEF227B41B5BBB5E36D46EB21D421674873C20ABBB5BE746C0FF9
+69BEB4A20FFA001844B5CD35811FF01D3E50036947A884FDD81D1728EF000266
+D3E97E68323B1E5AB4E8DEE6C5406394709FBEBEB5AE1B56B2321C19DE5F99E4
+DBDCD33ED0C234D78ADDDFA46150680977892366A45D71BC16D898D80C0942FC
+47DB220EDBABB1EB1237D81FB7C34710AC84E77EB5B1BD10DD616CB0E3AAB719
+1273B8AA123434F80B87FAB65962B278C3EB8015B30DEF4BF40FF226CF54D3D6
+103748A89972B72994747F200244867FBA81EB82168A299B403708EBAC5D9F89
+FA33F634FCB30574CB137B727ACB16D6623F54ACD355A84626FEF738D2845411
+85FBC12E17D60DC102494F055B3210E74E735DE29807CCFFC06839D848BF11C9
+6693DA8AE693A4A89F5E021B0418C30E951C4190C4ABE940D44DB1713114129B
+2D31C664EBFA3A81984E857E7DC599B93438D0BD2234964BA08CF4676EC76AAF
+712901A2CD8042C9552C6A0EA0ED4A0C8555DBCA5DFFEB18B6F3285CBFDBE04F
+5BC3B05B79B8E2269F38F79C7A0CB4E8EADCEB674EC0438775D05EF154D72F63
+671FC4DF2515FFC3C31743AA4C8A0E0CE3C49A46168AB93BE4637AE003B5894F
+DAAD9418D8398BE4EA63211AA9CC89AA522507425B417EDC71C899471E6131CA
+588BF19DA3A4EF2565183CBDF911C4A6389D72A3F9BBC28C5DDE2350472EEB6E
+A2B5AC3C6B43A1777C93DDBA2BDF2F0F6174BED2CAD4CEEAA2473F497D9391B0
+813847636BF2DFB65E6B3A6A9793A23626FE31407022BA957A6D05D01FDDEFBE
+4C1C662909350FC1541009C257CC7EE8871C3906576343FE0F63C587488BD476
+74FBF991C164AA51C28C833B8F52DA3007D3E3FFE15D3A8B8BA8FF67315BD2EB
+B36BB0623E815FA21BCEB94761CE73EBD91C4336ED091BCC285B2B2B4238A215
+AF2BDF72E8A466FC03F8DF68BC7F91D632C97C414F07FED4B3C8650BB994B102
+0CC57CEFB04E242F5B0033F6BA594435E65EBE76BC9CEF863A1EA762F6B2F8BF
+CDF0F51415FC10434E8A7B71D8A7A4B0FD61C362A54E63A13114CE256B22D7BC
+635A81985A9E139DC715445893B5F5B63E4D020F2A60DF2F3E48DC5656D8C211
+462B7C129903A0965FC87A04BE32CD3CAED5C72FCF8970C1CB661880D274C83A
+9152C5D80B0FAC06D0C77680570406DF40C1316FFF06EE72317CC2A1F74DCFF7
+1035DCB775313B2AD72955295AC3FE40BD49E779E31AFC5C295E354A18F6435F
+CDEC271F52E0D436A498226343B8B8902EEF3367C2A35EA1EE201DC81AF0478E
+56E8721B29ED6F285F762408AD16C66A00ECD665A62668EBEEA384435B747D2A
+B562A45ED7888A42C6ACC7F8245B4133B4E19B2B2C5DADF94BB5FEF5CD821856
+00754D4683A7E18CECCF3C6EB95ACEA49F8CF442D6A0938FA7AE5136969F1451
+6D4F01ACEF510A8152466734E2E9CC396530A13D4C798D75EF4C3A456C79B0BF
+57144A98C9DD63892E749F3557C78F9B4F8129C4E7E62B9A3C76B7C500B329BB
+C0D8F3E73966EBBA0A70307185DE7D36F12BF7DE3F496C35A6CA30B019C194F5
+7EAB4EDCE893FB2867D05BBB45350F8CCEB777684CF607EC041399102B2D26DC
+3E7C4E71CEBF1B3EC3BDB414075DE82F513C5DF2F0C58147B7CFFA5675EA6F63
+D308D0D03735A653A6127374EBD44CCD3A06EA7F5400094BD3C4519D30623FCD
+BC90C1DD786D901579C497C356062250AC0C1D8982676E0C75E81ACEFC359391
+83F651A86EF51E4528DCA519BF07EFD5536E37A9B276C93D649E3C7F2A9DFC60
+31638053BA41AA90570061B57A10F6A85D6A34050603BAA88B47B6497AEE7305
+FA07F2FCF5769DB07864E5967C6724CA4E5119CD6DC34BF56234928B729F91C4
+97803D669D6E76508F89DD7D378BB5145B23653E8367D6E642AD7A0791B98BC1
+DDB174ABECADFE84F30D94CFE73CDE30808BE6148CCD5D8084D00572F63C27F0
+49321260584C6A8776DDE9F5B2AD5297148F8E97C5CB6416D8D4660D90911E6E
+23000DC8DC76C7FFC521779E38A42602CBEB9F3AABDA6CE9832260158A62AA1C
+4EE2A14C74BC98C7585B5910B5A0E017BEEA7FDB59FCF3C761ACD1E4B94E2417
+961A8CBD6377E23ECAC0B45997EEFF174B5B3D1E059E23F7A125A2BFD79B61E8
+5135646580757659ACD5FD397DF07772001B03B91FFF3F4D5A0C6E690F2480A2
+481F5F56EC57550C3CB919CD6C6418184C37BF0766C517F403076BC8897EC070
+F39A4AC78D711FBD4B34C16511E78286101586A1ADBE634AB54EFED610C741BA
+3100D4E6DF57E0AE72585D2302C1EAE9D2A9190FFB4F30EEBA33EE64E816EA24
+1BE9C8EE64F33DA0D43E404F9C4C799AA2D724FE943582126909ACA65D60B1EA
+E387D72D3342F779C6EB84E1D04047B877988B3095E5378084256D846DE63351
+67FFC38516CA6D35B2EB3478BD4C25E63DE7415E2EDAFE932DD46C94151344E2
+A1D9B13ECAAE9A1FE4369755F612B1299FD81D692B287BF349653F80C8273C43
+5E3D5D18889056AD5514CBFED5757F881EE23643674EA73033E261CFFA267E72
+E141A7FA0A5BD24B019B94A5FF5A8477D4DB345144836C0BC50340A6C32C520E
+BDA9AE12671E2F0CEAE78D33A26FCAD6802B51C67BA04D8653453030DE9A0662
+26AB4A53E2227DD02A44651A592BD1DFDC2889C0CC1655E5DD065DE31EB3DBEC
+B298ECF39CF4C319B595EF4BA8DEC3C4F260E61D261A1FB7338A9C366A3E04E4
+349E54496AB6AF829491D76B2A312D870A051A053F555AD078BE5178442C3C71
+5F2236DBB7716BBB562028E995FDCEAD6B492E59634982866DF8D44C6745E4E4
+AD5F76D50C1EDF578700CB26E9218A6E7CF346197EA676EAB390626C449705CA
+1A4A52E57276BAF6D9FE36D3A00BC3664EE68C81B0AA1BD7FFCAD8BC04BF515E
+7555746721C508B715C632A00B271871134F22C308687B5A2A6CE609354C2D51
+0E6BC7F9B61EF48C2C94AFDC530264DAF698D1873C471A92A57A3FE33FA76BE8
+D216E10A2EBB1933F3ABF15F5D51D2F7D7D8799BC7D86CBE90E87F81498DA9D1
+AA1199C55D42DC86181FA55E394ACB1CD65BE931E078E660D665B3D1EA64C40A
+D84DF5CB839BD174183EA299DA447EA7E43B7C89BE1CA843896ECDEC07FF6664
+53879A4D99734E9A1C1D5F4AF0D8E37AAEE5651B924AC2C2F4C37E4CFE7C6089
+30ADBD330BE06E1B92D753A6613FD3703E753716D9B71CF48667FBE3D7524B9F
+B7A4B54140B7ACB7E03EF0729C7671D46392B5A4D8523F2939BE6FA28AF82E01
+BEDE1267FF7D0A3B21D12D03826CF5ACFB4881FF6EA60CC859116D966E16A640
+F3D294D9CDFED942CEC7474959CF09CBE14BEE4C23779E9D2CFDE9E7DC8A16FD
+46332B31DBF2DE3C1F6BDC63B780B3B5734655C1796BAD6FCE05CA894FD66454
+DC5E3916341890F76C52F43A99B9F0CA18005EDCA0AFB1D8DCB2B603A436C380
+96E1C4EA06F5931FA9AB65976560A40F6B4990F397FDB783FF292FE13D2C7CB4
+A085FC8C9880D5A67D5198F71EEDB9F481606C7B29047D6DD7D213BBFF42C9F1
+63677C29EBD8140BBEC2F2C4AD4C2C02799293910F4404FCFEE66D2D91D4D198
+49A78DFD04766E434A3B794E8BBB53D80764655D5237E1690D96080BC8A4AB2E
+14FCC1644DA476EC3DEDB80B39D6271E924B528209985C5AA94EBDBA487C0300
+838F2DCB5A70CF9364B1ECC2140E6B8F34AA80A02C1E3FF9D5E1C03B72A46E79
+62A4D65C0714EE4ED3AFF22C76A19B3A24EBD8F2AC28422A789D83F8884CF214
+0469FDC069AB7ECF02798CBD3C52F16BAB2B227308257081FF1B5CDF7A90DD4C
+972B69C0EA216957CECBD3A399E420A3DD11639E1FF267325CF2C8C5DAEBDEAE
+479A72CD19074CF6865C63E02BF86831BED68D0A9442C98851BE3F7D7A023FA7
+5E569E807EB3150A3E2BE48596053CCBE3B4CF3E5C636F7EA4B022DCAF045902
+982CA5D1A8A6436E41D8250864ABA42BB900F9F087E8E80FD52EB948ABE0130E
+64675FBE305EA78AEC96483DCC486710A82273E595A071C065235F8C26C830F3
+E36BC8F7EAD5B1AD8BB8427F3A4222C251C5B50D24C3CA1B10340072B42DD700
+66BA37F47765134E3FBD369B312A1DE70A0091C1FD31F9C6C877C58278A72789
+C682B06D5D1FF5B10281606B11307E221CC069753A30D78132BE69DC694B9102
+9F88EA9FD21D2694CF9F7FD07EF8CCFFB063E5F21848088C48BC766770D3E196
+EF8C95084C14DEA17736D0535B2E90EC1673FD13541084274F50B3379E6E612F
+92F0A6F55957B47842C7D22C7E773DB751A79D89497D899A95B6C1DCC4F172BE
+41982D8EAC19F2B190E35A9BF7A321CB072A61DC6D04C1519862D5533323B2D9
+68E75239FC488E6C88DB6DEC53BE039EFA93910F8D04B47E31BBCF5D582134EF
+131843DD73A0FE1FB0AEBB04919BFD11C67CE4A24F34B650E1ED2904C03F07D1
+1312C82EF0DDB7F4D8C12FBB3CE07F954DFAF428E41694C8645C57D9724E471E
+2F8AB0BC18DBE1A9FD79B792BF83816113ED5D3C143E3E1132D33E8F720A7495
+0971CC0509A7772698522B7D9DF571F91DB96C3602A15D38651DB16717D22910
+9591E1AE2631B9E9FE31956B53299E7BA18DCEC6EB0FA8C11F255169D0A660AB
+582AC4B31CE1D69626374EAD2E4B70D0333C30E1C208414C56FD041792159ACB
+BEEFB9544FCA3AC2B5649B9FBE93CA7975CD374E5E61EDAC7A61C62D66299D10
+4346C06AF01FF1D478EF363F292298E0DD26A561F4ADC139609DF42CE785CD4A
+FE2A6E096D003498BAA63E3BDF7ABF9CE927F3ACB131D23BDDE7CF952552531C
+6E60711EF8FE0F6E3392311D20D16D0D612F48AEDE118D8B70B6F656BE6DB5C0
+6416502F88C07915AE68089CAB48A7DC8A810AEFC1D076D09EB017D3A4EE8B67
+26B4D799B2AAC3A798B80090AA3C2FD6F70EEBEF70CBC39873A94F6DC19D6111
+B66BE275B321B5EF0D278CEB9C442DF7CC9CFAE13D3A220858DE33C37FC4A1DE
+2876CC6D258D4AB6C2A411F6F658345D1D4F54743FEAAF48E798D69F47093183
+A42CC951B3A436BDEA9B55EE35B95AB0C1EB03D3B2D8CECE45C23D5F2EE1BE86
+BB6F31718DD3E6E5610FEE09D5CD7281E3605DACECB5E36FD8A7B906320EE029
+E968F364CA
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont 
+%%BeginFont: CMTT9
+%!PS-AdobeFont-1.0: CMTT9 003.002
+%%Title: CMTT9
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTT9.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMTT9 known{/CMTT9 findfont dup/UniqueID known{dup
+/UniqueID get 5000831 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMTT9 def
+/FontBBox {-6 -233 542 698 }readonly def
+/UniqueID 5000831 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTT9.) readonly def
+/FullName (CMTT9) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch true def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 34 /quotedbl put
+dup 35 /numbersign put
+dup 36 /dollar put
+dup 37 /percent put
+dup 39 /quoteright put
+dup 40 /parenleft put
+dup 41 /parenright put
+dup 42 /asterisk put
+dup 43 /plus put
+dup 44 /comma put
+dup 45 /hyphen put
+dup 46 /period put
+dup 47 /slash put
+dup 48 /zero put
+dup 49 /one put
+dup 50 /two put
+dup 51 /three put
+dup 52 /four put
+dup 53 /five put
+dup 54 /six put
+dup 55 /seven put
+dup 56 /eight put
+dup 57 /nine put
+dup 58 /colon put
+dup 59 /semicolon put
+dup 60 /less put
+dup 61 /equal put
+dup 62 /greater put
+dup 63 /question put
+dup 64 /at put
+dup 65 /A put
+dup 66 /B put
+dup 67 /C put
+dup 68 /D put
+dup 69 /E put
+dup 70 /F put
+dup 71 /G put
+dup 72 /H put
+dup 73 /I put
+dup 75 /K put
+dup 76 /L put
+dup 77 /M put
+dup 78 /N put
+dup 79 /O put
+dup 80 /P put
+dup 81 /Q put
+dup 82 /R put
+dup 83 /S put
+dup 84 /T put
+dup 85 /U put
+dup 86 /V put
+dup 87 /W put
+dup 88 /X put
+dup 89 /Y put
+dup 90 /Z put
+dup 91 /bracketleft put
+dup 92 /backslash put
+dup 93 /bracketright put
+dup 94 /asciicircum put
+dup 95 /underscore put
+dup 96 /quoteleft put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 113 /q put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 119 /w put
+dup 120 /x put
+dup 121 /y put
+dup 122 /z put
+dup 123 /braceleft put
+dup 124 /bar put
+dup 125 /braceright put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
+0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
+51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
+7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
+E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
+0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
+C01924195A181D03F5054A93B71E5065F8D92FE23794DDF2E6BABDA4215500A0
+42D1A3D0D02C0C98BB1D6ED0B7791274C38B038FC7921FF1FB8FAE7258C09259
+4B8E1BD9EDCEDE9ADAD9BD9598EEA9691589649A9A21539161E374075BEE3457
+689F308A4A7AC9F2FE4B301A6C36B0442FB92E3B002623493DC087800B5A0521
+0DB96A23175AC584DE166F59142779F26FEE9783E28DE49FC3A8D6583EE63FBA
+610DA773CA18ACE6F64A4867A1A7817120ABF9DE4D17782866E6CB6B65A9F6D8
+3667C8D3E61E5356E35343FDD4C6436DF73934470916CB5F0ECEA6BFF092E735
+C7C355B56189D1DD5715EC97E50145FFC17BB1497315A9585D713A7A6DFC7933
+995468EFD0F59E3C15865B87925A3F2930E20D5A35970E2C44F1629FA16E00EE
+EE21EFC50D49F5BC02300D0A7BB85E649CB4E2E828C8B1C5469463013E71D723
+2CB11BCBAC191AC751A2AF7FC228395CE9472DC1809052012AEC2CD66695DAF0
+4CA04234F0187F4116C93F59A7F1F8123DE87F111853B785A20CA8B49B3B0CEC
+B11AD345E1A11578D2EFEB0536D125237086CC8CD9F34A5137AC5DDFD8746014
+D74AAE8239B81ACF65F379CF2153B06A238A2D767F294CAE0D79228F0B7D45CE
+510AC9657A1776202FEF42F96D476E7DF407786AEA12DEA0013D3B4C5D0640F5
+BC5BB72C34066270399CE595827175B23B25072723BD24E07F6BCD9EF0175DEF
+93714BAA53960F81103CFB731CED4A267B53727BCA3C97B0BA5004055D4EF0EC
+F725658E53AC86E4061B489AD4154915C3981B3B703E1E2A8D390CCECCA99385
+45EBE35441B062D7D12DAB2B31569387187D74A4043FD71F1C6D352EAE0F6757
+4345FBFB6DB15CAE47CAC4BAE47AECAE5FF5EC19057DCEFA1B23F47364ABDF47
+088A7C6A2AE26B10459B6D41CB69182FD1472F326CE3A15B59255D1DE3B616D8
+9D1F12561038839781E657C896B8C58A32DF5AEA23732A0966D96C68C988ED7A
+09B7E2C8F9F3D0D56879764781566299A4EDD3588BDF70E3D924D25074F30988
+E35BDD827AE4D0B4A06F55A9976BF0DB3C0B1D09CD08E8CB168B50617691638C
+0EC1A791C228177D4FFB021EC3DF5082CA3487AD2EFC8DE9466A690ADDB4C52A
+FE2A6DB4CC275CD33D9136E735279FBB2008D59E667905EBB04326EC33C98B2C
+94744B7F540D86E90DED64572ECF1EAD3A58EC101642B245A9C7232DC8FB8741
+03F97883BB32FB955C22F878FA0FD114451A3B3859B0B5537AFAB73AEC7DB2BF
+409E1FB41D473714F6BEA73CB085139879FA31710E01915C2938C37BAD6D7D71
+45B897E00857D3931A489EAC7B42BCE4E65F73F67FE027CE482DC47598ABCB95
+39E98DA8ECA3E23F0799D5963ABA6E2984DEACBE7B46B40ADC6213E0F4D08971
+58F68C946C748E4B4217CBA2391BE2086C9758F4E32C9B6413E48D84D33A6E85
+84747029C0A9C9B92841D217A902BA8EB333999D62FDA9F82BFC8ED11F67988A
+0CAE42182E414A9766AFFF4B046A09D476F8E3F15A8C7829BEE982D8350BDF5F
+F215F2BBBF68D4B567BAB798B9604C79306C475926E9FEC0F07A99F43473C6FD
+B15AC29C3D07FEBAD1BAFF75AAF2FBE94F104F1DBF838044FAD94B661B06AECD
+D9AEBD02B60CA4546DD6B5B5C1A3833ED07845671CEFCA8955CE0DE5DB8FC93B
+3306683CBFB8E5B79A863DE78D455DE9D592043C2686F88A43140F8B9F3B553B
+7047420E93E753829F8D47AC7621CFE3626F271E31F0019CC02D0B57F67BB47D
+8CFB63E902EA3231C00EC66EEC0D30FE8394558BD3535C888C4CEFC6EB72E737
+712ADC6300162D5D79BEE0CA1F6E4127A0BC90656C01692F6D82C85550AFC97E
+C2693E379160FDB9636FA41AE9C75B7F6643B05971C6D67CE30971D590FC07B3
+E0B36B4D1C7F25110B5DA2130D574FA292B47322975A2BADBDB39AAE69BDDBDA
+A880F9AAB580117708C79204DFFDC08BF4A48919B5C22228845CE8C3109E93AC
+2479E523B8A1C12A6E541118F121DC6B4EAED83491A03192D5C3A2A45D1A2467
+757E7B377C635CF5CAE11A7CB49D49F3A1BB2286090B5F0E4F89869D1771D50C
+54B5C5E091E3048A2C194F0ED00DD64FB95BAC6FA9D61ECD093ED416DA3A4981
+DB07CFF17C4F55C62DF628EBFF06FAC3F3D3F91C30EBB34052BE1A08F5EDA4B9
+08977197950A282B84E21D43C64BE3AE4BCE22C70E7D392DE09D89B7F23351AD
+6AD37225C12BA79EC9951F5DA1E505DB26200190ADE0E549305B7530CB86EFD2
+A896F13A97E51754F70B609CB4511CEFC38BA579C071E9510A49982389980DC5
+336D6C4A2DB100DFEC4055C7AA9C55880F94FBEA9EB280BEF66CB8E1E38A359D
+E5AFB12B540CD599085ADDA7FC2C72E7C873015773FFEECA2C596B75BC39A3EB
+3C43FA2E53C0D7993042F3D652BCC483E48B7F6C94C3FF6D38E276086A6AE67A
+E5A571B9C72E0D7824E0BC2ADF51A393B9E334649F786EC1923C854382B89627
+1B9E701AE5A6C42E672B2C6A33C8BBCA8F69B9061E787D6B92183F20CF4C3903
+FF5417427B84798C82BE28D2C81624E3920CA61EC9EADB364B5A6E50E49A1A72
+A9A090A1FCD84814B8B2708AD787D2B5015DA1305874F58C5EB62F843685FCB6
+465FCA80176CAB2B2FE65E0A270BCE1E3DB97564BEDFAE5CA44395A8DF4505C0
+3E103CC3B914359B2870DA6CD30382EAE8949131CFE31E9E75C3E47A3834BB32
+CF183D4A8B9001710D0A11390C9DAD116196568591D38C2AF4ADD852F31494EF
+573462759A35415900360882739789D6B89ACEFA251C5ED90ED704DD7C3C80CA
+9F6CDED69537D201D520C99E69EEAD5D3C0EB84C166660B3C190166D93EDFE6D
+15BCB6DC5CDCA825E48D33845CC2FB15291AAB823F25CF8BB0A1EAED8BEC524D
+D9CA016027141FAC9D35B64FB9C224552F29EF6B32497254E319090E698FD8A5
+15491CDFE1B988C79A0E3B9D01E12FF084E9FA86CCAE02A3EE6F2917B61A2CC1
+64B8CAF309D1AB48A34227A7729DFF99CB6EC282E3FAEDD2673779AA7E4C1789
+D93FDC37FE95F087C5F88F53D30A2DA9C913BF205FC6BDD060A40184F4AAEB3C
+D080D63B89CA3DEFF310D09EF0A83F3914BD5B7932980ECE139EF0313C20B4C8
+576EE0FE3F28FAF4D3CE7CD0890BC824A85B8EF4636BDF1EF1BB519F93D36540
+ED09FAF93FD71992CA2CE2E83F5355162ECEB32AD218092F45D5A61A44E67135
+EF0453589CECDC6962D0E8DA7E7567603BAF50B2C8F1CA65EA5320984E7D69AC
+9A7D3D7F92565D79E8C9DD2D92CCA7DE9CD058545E9F98AA47904D70E1897099
+3C4C852B3BA131DDD348433C336BDF5FBDFB62120DDEAEB3255E3207B0C84A0A
+1ECF9EC869DB9BFA3693B03FCB27C5A5D3CDD62630DEDE91B4DD5B9784BF0BDD
+FC6EEC3FA7ACA9E15FAE47CDD9B7FCD2BF0EFA10716F08C0AF25FF67CB6F9598
+C607D2FCA452417D2C69DC808A9441A66492394C3450BD30632AE739EAD654BA
+4343459CA36B6D5B2C12C39495952F2EF93D82C73E33236785A79609E260C4E0
+CF3A3C950DE71DDC3939D42DB1CB1CA917CEAD56979A70F8F3B207C805319FA7
+3C000AE2B21D711A6D78C7BFB901334DC06F59EAB6D94B507734C27971F8458D
+D00193645AB92FB8FE163D5C51AE4F40BDB4F2C51691E76EE0636F071F37AAA9
+BA78BD12459CA499210EB0CE2F8BD317387797C33F5933AE7A6264DA06B4A6A6
+1188326147A16B205D1F965872DED7D8EDB3294FAD2FCDF0D423329E9CCF879D
+4E0B966D509F45527F7609DD09694D286F6FF7535EF8971B7DFBAF608A19D442
+C133207EB1152ABBD11C455D0977F66A9B73E51381D1CA4B66E87C0C7175A63D
+80C699A052F00C41DAEF42E7A40E07B1B14107AB0787E24E17C1462960E3C54C
+AE73BE4924464FB177EC62F116B2822842541543EFF7ABDDEE197D6BD8F8D4E6
+59175D8C5957550B70BE775AD52FFF6E7C00DA7CDC16E1DF7446BB5D8FD82647
+3E9F87D5EA365C82A2D991321ECB14A9E3AEADC5A56665DF7072D6DAE402BCB6
+14D92B17F9E063E4E9D8D239C91F5C7C0BCD2FBD936C9D4A0B57659420343B59
+B395BBD1AB5B6003F653699D57E7581F9813CC98D4F072FB78899D6DECC42D34
+F2787EDEA64058B46C4BFAA2BB96E9BE5CACE8D91E4C080ADFC0FA0D4A29C6B8
+54FEA9E11DBCF53D9CA40A21AE5076451EDAB3593E56B6D453DC8EAB8C78B588
+34D4C4F36861B5649BC1E9F3091E704BDA7613ED45C911DFECA74EEA05165191
+825F95A947CAF382FBAF01F3B8B041ACCDF39718D7DC5BA6CA12BB20EEE96439
+BF2E2628AA3BD2C91998E6247A690FCB0CC95F286F427345CC4F1115BA3A6E54
+4743355F2CC991CBDFF5725902C1F5A6DEFDC8638A26EA456C33C27773D6214F
+66536CD2E44FD253531732D5A8C44B336B1BB47B0477350EB8CF74889B93402E
+2356A9CAAFCA562315D8E0B3F42F08932CB87BA2499A875AFA08D11DA73B38AF
+F46D03B7F639A8D7BF88CF07FFF4E91716DCCE6E2CCAB60A64D5E40EFD8B336A
+1BFCC4CB04F49DE1FBDE7AA5B2092A6EDBD913D161A3271AB6411622D0E14416
+37F81E0102F5B0F2F9A2B27819E4BACD7C50E29D6291AE5B0973C657761545A6
+741729620EF2BF1046B3913399C10982EE5F4142CF461EA31042E432CC79A1A1
+39C607D22E45A6DEC008CB4BF6007CDE9DD5802B49A62C8E02A6D448B64177CC
+887AD71D171B99E7ABE2085B37D90B3BD8513995D9A57F53184DA474F6DB5E49
+B73E04CC214EA5398DF7D7541F94E623E8687B511640457A48A68E9D9D6584CD
+15B57CC044D8091C771D175F2EEDD411099BC8F7B4317DC503BB5E405AEEB526
+5E6E1B1F2705275D274E012A98F66075CEB90AFC648B964DDC0E9C4AE7B24CE1
+80B051022E5781A533A21DCFB97893847D685137EAD85BA708A7E118C72FA839
+A9E460B5D17365A0AF1F53A98319FB64A5819B087F554BC056C4BE44113A5404
+BEF759F890C1CA5E7AE156F4F8106FDB4F8DFCCC640976983EADB30976344048
+2A86D7B2AF4A01CA736B98D52ACE392AD4BECE7E61C710B08B66F01857CA460B
+B8376E257113E10F6DEDF14CE2A4E6A99ECBCD302C36CADB713D849EAE9EB598
+F29DC98531D793B79F83091F9B136809E006F34E423D528CC4309AFFB3EEB47B
+9A9DE4D5B25CE953345C326BCBE2B4912641780637783084D3D12693F8135483
+CBB0AC4EE0B5610D7CEB7DF205830BDB9BB404DC1B28FB0824CC187B26C19A91
+DA0025EC739BF3993700101D042DED86D67F5FB87912CFC51AA7DF53F2162D62
+6314A2CE13810D0B8D81F45771391A236422CFA0F35F7A0CDF14ACB2724AA57B
+7C2C28D53029B1146558610E0CFBBF72A85AB9BA308F846228F299F13F68E8F7
+D963B2EE9EF7D4C21690632B640BDDAD0556EFA4EFBF035F13377ABB5CBC280B
+9E0C12AACB153C93351E5BA95A7D149010E204950A59C7FC6581D9703468C1E9
+EFAE37E7E6ACB892B3F8D1248D9A4A72F642FECC5E0B25C15EEB921EDDE84D12
+0E524FE6133C4921FF4921242392C12FBE69744D53739F7E849C1B96C4020AB2
+1FF10DEA608F111749E2FBD8DBCB17F353DCB3075B4F4B8186963EFE95A76A10
+85AA5BB6DB4095291974221829A8E436680F4860E01C3843BE5BB3101D0869C0
+EFCE08D187BC04F58C7A450A59093680A0F09E8E3F12DF5223E7EAFEFA01978F
+D8354753A68022CC92C71F2CA732DADAA8A466D4AAE5999B0DC077715671F518
+E6277741F44AE798EE50DF44CCF71FCF8BC71F76374005FEBC4883C6EDA854B0
+88C0C2B476709AA809ECE41AE786DB1A32B3FBBCC14921673578D3514C8CA842
+E1FF90BE33F7B93ADF6BFB8B1AFBBD080783BEF056A6BFAEF676F7BF9F2DFCC8
+01D255A9F0391951210D60D4D4DCA93AA858B38C0D7B8FD740D5FC6F277C2A68
+54CC2DE1F40B6347201FCA2A0A91822708D820CE645C3E4E5A09FE25721AB33A
+97871ED448F38FC5A349D81F402B34461D840D5768BFC6849439AB6115104F78
+B87115B1DAE12542EA898F86ACE247709817850B067F537E6137196101D46DD2
+D842EA03EF4501E34074E8458E638ACC4EB349A7430AB035BEF2DD4CE00554F9
+18F9FE32A55AC1E7E50D64AAFDA278D77A7149C59DC5B1E3064A4B281A54C9CE
+A5EA94ABEAE4C6D5674C208ABC72563976487136AF2E21F835BEFD232D7F0D13
+1D19932367F51D5379934DA7F1635AC51EE5CEBFA63D4D32F018DEF13624EE62
+31DAE68A08DBE3B4FDAAFC75291C8C6CC7A657E3C7453C7D1461A36E88E633D5
+408253B673AD87A9FB2D0F56DF1305916D14D5DD62051E27BCE09CEE9A1F14AF
+1D7164BA5FB6E6EC8D38750F7E28BE330909F303ECDEE692E347DE13C8C2F82E
+29C8BE6EFD76546F362A12A1C2DC12389EA95ACB4DCBE95620F0C193EAD91B33
+BAAC5801AE827B9AB3FCE5D11D1D7854F8FA8A31670119CC0CA98628F801838B
+AAC7EF90AC5466BE69CE3E3CD9951A5EB9AC08014285422F6DA6F6E221BB30F8
+0042A11F2E4B765BB0D142AD52F4D85785EA71B2E1CE20728B9E9306CE93268D
+99B822A5AB5232EC7E26EE1160850AD3905864A01357F22722B6A54D4EBE58CE
+480EAD9FBF068EE965AC4B5FD2FA8CCB91ECFC6E90B9C49268CA0B0FDAD23ADC
+D5A74B41149BB08454054C451AD0DA4CCF8B60F2EBD061AA03A011D548B6B481
+FAB00AF9225BB5463F27FD67333FB51F8664536267E95CFAA0BE3BC1B8F889CB
+587A3A4FA2B45864F07E11372C9507A625C0030EF7030A0B4D931BCC48F6DD51
+A4D1F63FDC4B59C1CB18E6242E9F4B4B8AD9755B870FE60D640181FB7EB8120C
+C56F51DC8C47FCC6318C2145EDCBEFA7BC4253315BA67FD2B3D4AF6A9F3F229C
+AB75B592EADE15B1FB5FDBA1C0F786BD21A51506B7A2E42C2D086BA6F84D1B3D
+AC7531545F0B01346831FF36A52CAC1E390F99AEDC265B44B0FC9C581BBA6BE4
+48B723811EBCAEA5FEFAEA7E5B987F2C7B3E9A65D2D14A7B74F099401C57E367
+385352D0776D2A908F7A5A2E4D4160946C5591397877025C8C387CA413EFED56
+8B142E8341E349DB4DBA422A4FEE56A573972A0C66590175158E48850A9F7F38
+4B95726787B8F969FDBC97491CC81CABC976CD00A27D1DFCA7CF467A956C1C6C
+839817AEF8794B6151FAE9261119DD5DB787DC9D3B420FD325ED6599FACADE0C
+320D54C2E0D296537E22C1783670A9D9BECAEC63853EC2F05A990260DC189D63
+7CCC0BDDF2CF7585071ABAC14630666737041194D0777EA4292AE60BD7F7100E
+DB568C90F0D899EA006CA423CFFD6EC70A5D3D8AC43C747DBAD3B02219E47D8D
+DE030631F4678C357A58ECC52782B31B50CFD44EC33F41585E51B27E3997D33F
+461BEF897220AEC80007F13C5A1EE3A0430CA899047DF944831F8B010A7DE74A
+BFD26001472DC00CDC9F17CC435F61ADAD4E9AE062ED477FC621FDDF9242C449
+1BB3F77FDD1519A251B663A693D84B42BF0962F537757F38CE5C5D56B98AB10A
+3B70C8AE8D52DCAFCEC22E7B09D3C4EFDA1841C74CA975E4F8294F7BDC796500
+0ABE197ED3737A65F7BAE601C91DB3983EAE11DA3EA18ABBBA3650DC361C2E77
+EF9F97618B0C337A906FF39926D2B0B7883ABBA650816C4C6B34EEA836994EEA
+AFEDDE56E0099D0E09EB88EB093544B9BF4871200746A0409C475FC4232A38D8
+F3105B0FF44E4F132378DD12D9E796412FD0F9478322215E9F59E69396C35AC4
+097C4995B2C3BAB2DD04B1A7097DE16DFDD76465E79ADEEBA90489ADD0914EBA
+53E11A43ECB11D072C68D2131BE1C7C43CB9DD5FBA0A67BA43D6851AD4CD3BC7
+39AE2E22CCC183A56CEB71D4F9F578518E376426E42B6390426A8434B5A83E78
+77A5B9963BAECD5FA5521C2A29418764E4EC1A72462B04957F823E2817A7F8D0
+1512919889500024B1C42EC107E8B8533C0B314EE4E23313A4C1BDB009A2073F
+9BAB479A3F9DA76CCD65629CCEF78015ADBC2D0D124B3BB2D322FC4D209E417D
+84BC3C758B6AB64A01E25C9C7B71D741AF90A19A339F99A0BE9FC39622F04C6F
+737474CFEC19C890A657BCE192B9DCD8F273CDC5294875DD4507DC572551C934
+9C362FD595A429FDA2D815959461B0CC2A804C1142BD91C7567082699B8E274C
+6A22806D6C51B7DA809BE9F612EC537D4FF3122644AE0718BBDC6ADEFE7EDBCB
+8C8A76CBB280E70ADFE563C01CB9EB828ECFCD365825941C8B7E1B1401AF773E
+0D3E8A6F2D62624F8F5FD1EC3CC76254E4CCB4D8E4DF0D5E6DE10BC1FD8BC325
+05E773E0925B6838E0D7ACF12AE32E572F6642EA587806FD2805C9147B873194
+788B8162F3C20C915E4909B72D0A62D4A2B63B3825F96C42625DA10FC0E9ADCD
+77F50821EC5850E6F8A7F315BFF798EAB24D64E5963A71911FC53BB6747C9940
+2B07103312B17D16087DE7AC9DB6404C12E27C19BA1780838F15A62435DA8ED9
+994E963269C3DD05237146697A0E11E130B25BBFDD29C35D62BDDA8234E4E6EA
+B673DBA822574B364E116F15E76EA096DE97A61FCCEA9455E3D222A378AAF7BB
+31BA4C691C4AAC73A3DEDF7B0B982EBF827566BFAB0E83BECAAC2762DBDACDB1
+8F355393956A6C4D731AB5CC2627E25E66545EE540AC462555A4E27372B8B657
+28B4949C5AC5135576ED51D13A6D2F3F6496CF32DD4944DD855C7761E21A6F42
+862DA2889A63F9BDDC1C6391BD929C4C5333430CDF82FF3756C5A46D5DC75C8C
+ED796CF3D17FB4C9A44D41B7E22C9F9D89AE3F567A9AB267509FA116C2B55152
+774A2DC65FBC8F4A29FF8C4DCE1C0F6FA6B4A0BA00F221D0C0E6F532CF792529
+D82F0EFF54340B6F36F064E063E7A9D20B75CF0E1EDD1967AA093015E10328D5
+299578288227791BA08A9486E4F573A87A192BFE027F67D1C22CFA6C297236E7
+CCBA034F04264E1622AB3AE0EF1594EC4222402C10602DA34FAEBFFC9679AFB6
+FB370E6D882250E5AA405F11F82C5648FFAB8CE24FA92D20AD3BADFE6F7D8CD6
+102060931DB7626D9BCB99D9568DBBF29C0E019292AB8CE840268D78FFA6AF82
+BE4CA2B47A1D92F564904A8CB54CFF6C90101099BF5600C8E88C146AAFF01CFC
+92D508CFCA90473ED55A58AF06FA2EF9C9FF2698BD5953A7D0DBF8458BC3DC8C
+0E192C95FA90117C30E39569041597C493CB0090F7C8C7E5DC53479FFA5C34D1
+29032D65A588D5A009B7F4E75D9DF37560516ED3ACF45B86F9AED91E79C9384F
+399DAF27075C89B1442BB94D0AD211E8C138B6570199820F917C5E807B6E6552
+6766133B1815E55C77644159D3DDE7510D0B5F923ED8CEDF1D0B8D7FB912D2B1
+578AAEC5BDE1CA22E1AC3CDA6E16695401C51792DDBB68BF3B937A33F3E50468
+7EF2CAE6839EC7DCAC8BCBC862CBA4436AC077C36A379336D69B2C4B77A3A970
+4FE70A1A22D207753608775190B9A1E61DA44AA7FB9D126D3CDB01A1A0934310
+220371100868B4E76A3B97B1D5791FCDB75B4726B8093058DD213FC71131E175
+131C8CC487F713DEA668B1EE7C10BCEF92C879B2EB9A5DD2088DBF06110D4580
+9B73E7B5E7B5354BF42CBF8BFA0F366DB802A6DD53CA37A422594070A92D6AB5
+213BA6851DEAF900F24CB2B0DFD010D71A457D148DB1A092F8451F752779B698
+FF52F9645FCC8DCDB4211AD140E522C559C691208DFB1B174F696BF5763F0C46
+268092E09C91E147C5501E385EF8E1EC9BC2827438F030B7BB86C10AC9D5CA3B
+99E1DFF8DEB482A0A0E2B0B8C79723849A60CC5A0E69EBE71D6498E173E86783
+DEB2794B16F9BA56B43B0C6021E1E4771529EA81BC19C265F3683C60B0B1B236
+584E223F6D9A85F8982A98D919145BC58DF9D63290316A72AD1E80828BAA81C6
+31F1F38993119EAD274C76B737D03ED680DFC46887876D537B866313BDAE6AA2
+CC156CD8C73670E4563B95862DE0EFB791F23F52723DC657438F826593796882
+17B0FDAAC1BC46BE3E075F48519CA477D56D9DB7E53AD8E3C4742163B3F4FD64
+93CA2A30BFC4AB38C9455294743DE61CCFB6DBFED641C5EE9D364C0B6868B2E9
+9B31290D88A4D7A5AA149DF01A89822C4CDDB67B7907C5CFF899002869F51F67
+DEA8E06B59D25D53EDC8666A12101E3E2D2F81B83BB0E920D21C70FD4CAA7227
+AA2FE02E3E1513DB3D40E02732999816DDFB277E5F8FBD1CE591029FD4D342F3
+A7F99EEEE0209667292C1464A75CBE706468D8884F5E4ABE3A459DB441A792B3
+F9905C117925623B509672CBBA1F9D3D7C38EF8F14DD89E1E8AF983CBCADE5E8
+05242DBFF4BC8B6715517C6ED735AEBA49E3D59C16DA79F437817BDB95185375
+47BAEFEB9E9AD56E53197F796CFB6F86F814D1EB63AD7433D9E06D26D3A64FBA
+AF20655EC9DE0A1C2B67517B03DAC8BD820E4E073CABB77159CEE1695DBF00FA
+6D2E4B8590A91FD63CBA99392FA1D88A32934AFB10D63054A9A689B6F25EE458
+906211613B6C63B9A6005B1817F2CE8433377C9C2B843C142A0215659154E4E0
+83F8556EDEA2B5018C236F73B3F4969D43021BAF2FCBD308347134A140699CD9
+8AC53956AFD643696F69D130E3278DF9E23AA193F1740D271DCD02E77D0B1143
+CAF2FE0981079AC284B44E71E2D70E653E7468BB0E7F7F65253CCAAF7A30FC37
+5FA6E2A4D8F5145AC70D8C5C3A8F17D3F8D34BE01EC7EEA8A8F8B205301FE5A2
+F546EAB91CBE158BB40377F356460C0E4291CC6309447EA1326D84C950AA7844
+48E8EB74D2219B32A8350FA07153F43855C99E1B85E2A82C9BA33D4DEC05845F
+B010AD23E05F02B41ACBEC273BDB5A9614AF82D00B6895D3DAE6AB2460A23FFA
+92417A9EC436910035B4B876B1458784D8843FCD5AE1A5C7A5F6A921AF3960AA
+DAF079FBA550661DC3154BC691E51E9D7B9BEFFC39AA6DEA856FA1BE1F4D850F
+EA94BF6230F456BCAFD8DAE127A413E42FF02C9726A715CB78E9470EC499AB11
+772920A528B3A42D91DB512A8A9916EC3C5239000166478122F195F2CD10CFB6
+BCCEC1DDFAE9AEB1F8E772FFB71993192ED3F4A5C83CBCB7C3FD6AA963D562BC
+F1B7765092D4F932011111BECB1B6F778CF3A5097E6753C8FAA1F6CCA93D4CA9
+5F248909175D4466F50AA2BCB3630A0A9A58E882939A4ABD533DFF623ED3BFB5
+98CAC1EB05B635D8796AAA965FEC355BF70CBBB1991B72435BD7C7664C5957F9
+3A9F326C98248A8E379B963F62D40DAE6579E17714A0220901E20AE9FBEF64C3
+6FCF588B7E6958F3DDF10B013ED1FEEECF72E9BC8B184F07F32F2A0777BEEB64
+E44FD9DD5B2F549D97C0EAAA7401654821F5078CA7FC85774E0EE1C1D736B8C1
+92807D64F5F93301C3FBEAC6144D8AFFEB32549B50737DFE5594D5ACCB6F14EF
+10F990818B280707F2E6DAD64EF1CF2C8C4490F0EE4F0F54E6BF338694725EFE
+A44C4682CCF43107067EE54C815F5338F4C4C90A7873659760AB0B653209A5DD
+F6E63077D9A15930E8C484105B78A34DB34E4429D45F547493851CB3F784E56E
+4686E861448037D8C247FB183CCC76E7B692735FD466253722B41389B1C75AC2
+55E7E00AF83BD25499778C47EABB8293EFDC917414AF725866B4C562E2597178
+47836C58792811A4F0E17E1C809E87A40298E90749BB0A83DBC04E087C7BA88B
+24E1389B4D17CC2C0631257A40C062DC4CCAE29917A9E637ECD815C2F1453A90
+7902893E79F6B56AD28B8E747406D21CED895FEB1E8AB34A0E8F24094348B72F
+629490F37C4DB46AAB6B583F2C619AEEC2645F75B5462B8D6E3673A30552AB8C
+9A05ED1BE6DEAE4A2FE1EFEC2D7B84A1D79DB8D9625959B3EC119232B1ACE8CB
+EB68252C68D1DEE91AB2A53E6679C2B1C6DE35EF92523EBA4331543E40B0EFCE
+F964254EAF6CA115E96B9B678964A149DEFFE1210A0769C98B67755A14917F3A
+70E915585B50AB1CEDF68AEE3573A42669BEADED5839EC7704B60A7151ABC2CD
+B724688E5A8CE02877E0B78E03844A79B8F786B311C463D22CF574F9051282C6
+C2717070FD8E93399F75811DBA593E4C2DCB7B2A02184CE1A2C1BA73B19F98C6
+E2F3D8E2627D6AADBAAE5D2221BF19D830B9EA0DE12E0C9F963F509E9D257A8E
+01BE40862B561C5055C43F37FF6F79E9FEA31CC4E436A7E8CB11CDAB301758BF
+38678F03A86D7B0C89A73A08086FF85063910F3A8BDD38AB2264FB2438BC68D0
+03C3ECA21AA6D50B8004C35C516AD79A6416641B4B95F63242B55AFB54EAF9ED
+5C2E9A1A77DCD2B7DC83E6627D52B25EAC8A25F461659FFC7610D44E35C9BA99
+3C0975027FA0B2BD649329B00220690FCA92BFB1210A0671CA2D100009B38F92
+BDDB2170835275009635D8B9BE5EDD1B0B68F24D981E8BE4409C422A7BD9BB77
+20FE3B056AEA83F570FB60ABF4A5AD85D5B84C9EC343A7FAC754D82EE08742C0
+74E8860035B60CBD8AD87A5446A52373860F5DD68994B4506AFB1E73E81B937A
+5731A0B09F58CD4402811521997FB12701A40D661E654F6C4E6CBD900CC49C1B
+93B27235660DE86737F1ED31F238BEE22708179BFB2F1D0A440C7A9563DEF149
+943AD5E7F652F95152305F42A81A03006CB6FEA0545450365E12B05FB1FC7945
+98B495D44E13C196B8DE9DAAC04C3BF2D4BEE6BD4B92ED7DBAD6C2DCD12E9264
+499ABA698842F30FB8681024B5567C45C64B97505E2C237ED9599CCD0FF84888
+90C9420FC55B997D0527BEF09941C13CB2A4D548201B951BF101BD1E6E5FC76F
+71980858A11071F41465819A4513ADCBB677D31082E1EFDF18911013A3FBF5A8
+CEE04EB7511399FCEB994CB1CD5BBECD4C3C6D06C869FE20BDB60BEC99F019A0
+B3B5D5C4EDF5A9AB92F2F1B22823A41AD5190566B8F9808B80DE12B2FA99E9C7
+13C7CE27DEC9626D5FDCFB6392806D037C59ABA364EC06107B73831FF2A92CEA
+8E4E114A7A72A427EF5C938B1C0AA49C5666BC21496E70E61916BB0B55F6D12F
+DBC03000882D3D9D9FFDF663739D087D4EC32D85F98089514A55F49FD1ACF0DF
+69981E9492DE5E21101DD16E95B25539F96188799EA8ABCABECA5E2AD0E17EC2
+091E851A8E27C3233E5DC44FE16E8392915186E03F14DED5921E1F2BE64FE7D4
+9C1A3BB8847100F91B16DC435E98576B735643E92C6882AA3E58E82F3BD4CEEE
+2B3B2B10399CA1B3A0F194538C6DCEF645682D6E4C11889C5D6ABD3ED7034E58
+E6FFD95120D67381882E822BFBA8D584D5BA9D1883E3C3A127DC4AB9DBE89AAB
+B1F0FA6D768A60B1C246CF6A1DE6B2F3C4B46C5C41A7317D9D9C0D89950721B1
+584ADEF939D4DE702AE1D4D495700B83CEBE19EAED9F3FAEE731B86E8727E54A
+96B3713C3CF94AA87271969A28AED26A833F9F36BF17637395507F47998524AB
+576A2664BE79A971F1FD9691CB736213BB038FBDCA83234B23BE7B007D8186E6
+361E4E8787A6A11054B1D2C656D69B2282BEDAE14864E444B18C3D1DA8201917
+595419021CB142483C99A8D612E632BCE14E072DE1D7314874228C899E97965C
+E82C1A4F53E47320854CD9EF0DCCA500718BA88E1C44D6B28175A0837210ECF0
+81F73829F3102DE82E7E21A362D81B9CEB91842297E1DD72AFA0216ACA518CA8
+7A0817C2AFEA036ABA4092C8D5A59171E6F46286CC68D5EFBDFDA9A9E536456B
+71280A7DDF13AC8DD4E8271ED9269183513A250AFC2F6BC9C5416E2722632592
+3E2AA4EBA182321305BA7452C3DCFCF3CCCFA2270578126E897399AC60168961
+91848F2741536870F675B4DC2727404C6EF5F3E4A197621E07EA64265A4DDD3B
+03A892AB116D2CF4516742C01B5D2DED3C31AE9102AC930515E859710413F030
+310D8717C3E437DF547F94EB1C682142E4A9FD270D20605201C5CD5372CB04A1
+A0CAEEA099C7558710E3EE4BB61F4D227DBA0B07186A46FBC57F112CC6D0A858
+47A80DF28CEA761F71703E50F773153BF4B67DCCCFF02EF75CB3F6B01642A483
+1A7F8E736A8D78015C15D5C14DD19A395EDA366B930B76CBC11C5C50EAC1D332
+C4013CE3D22CE51524A52F25CCC0D71DFD740F0527B6F2522A8FB3642FC27335
+EBBFD12A77B459757E96FD15DEB0A271A67CCBACFEF4F590CDB0D814FEB56BB2
+7D864DC0DD74D9CF1A685CBCC0B07CCD7BF9819A59C620D12740B33639839DF3
+3744B9A7AD83DC0EA9FCA10C666EF2726A9D406169D935934AADBF3591854CF7
+DE657320B65DA0A2E8F139869CD63A97FC3EFB0D3AA9A6A585EC4142E1EB2F51
+4B779E9C2FE361A9567BB0A3A53B8D6B8F275D9423DBE3E7D46260EE493A3519
+91F9C9D119480A59B2328CCEB4B5F74637F7DD7D51FB20879E060F57C118A6F1
+47962461CAA09A2AC1BE4C0950106E80424BE7EB5F5B2A09B21563799260FABD
+C8C76B30B95FAF8C13B6B0C5C43303D763A955394ECDC67029D89F26A253797B
+8D22EC251B5D0F3A25D574E1598874843F2091C2074A8CE01C59111972FB0589
+519739BE3029B53013D87B8EB87F6C032D2BF6B4A7C5DFE6888AA444FFE31C6F
+2645514E5EFB4D625B59C82513395535B4EA9BF4CC3C019AE739D10787D4D9C7
+15888A432768A92140FEE2607C1D72E3C9058E1D108B99DE89D0642671CCFB51
+6ECE4B86B3462F6EAA83C3AA70B2DBC9F0901FF7FAA2AC78298068483C940FE8
+B5372A0BC3B784C3AD7B2D7A8185EB91514A103914757CDEFB9AEB532D43463C
+3C89C973AF8622CB44C503D38C5382D1DD69B0C8EADF4B545DEBD9889EA07E52
+B4172D8E78D5EB733D1FC998887F24DF09B402C4770EA6A5C409B004FA28BF73
+B28C86E6D13752B2C541313838D1EF253F50DC57325F9C99D77D5F40EB00EC54
+4A2B742171F70E7F1ED508D71B59E7E66C8C6EFFC47432F1704AE9CE5AF274E8
+846D44D088832D409B43347F8738FBB795B5B3736CCF5A15517B3EB56BC6B2D1
+E3E26977B588DC2380850BBEA84F09C96D802FEBBBF5A0C24197E25276C9C556
+9DF110D9E3F46FC17C936233B37E1FD0B9E5754B6DA1AF6DB44237F71D9F5F68
+93DC60CA27E46C4C58CB18F47571BDAF656000E5625FBB74EDBCD8389D396B33
+9BD812C825A978EEEC9B04FBE417C63F4284CA1EA7E0638438FE20277E100E05
+3508E7981BEE45230364F6E352AE74CF9B5157E8B1942C05A6D9FA010136575E
+99925DE0E8024BF9C204F55A4BC8D37B152CA3BF412250CC0126FCCDA3D4C1A7
+6CE0B86FF2DB4C5340E43B39338387CC22259DD6D52BF9309D850199D7DEE377
+92CD40972D102F589038FCFB6DB3B1FCE988C624FF44D257E23DB121D7EBA9EE
+C4BABA0A5897997D4DD237C88C622CA13531893A0B35AA85C0D38F33072D71A3
+DD30D0063B66A7108B073170AAC1805FCC4C35888F35583C6A75661615A9EE4E
+E05C65DCA0E8F9C1079B6193E3D5FEF3F253CA3051B8AC8DD217C37F2E9177D7
+7185CC10354686E5D6F40223014FDB52649B5BCB58E70913FA8F82DC2C865780
+A737AE24EA85ADBC1A05C5191E68ED0CA802216D0A76858D65B37ACDF1746D03
+C2ABA54939354C44BF6460B2A0F8B7412B996309C593A903C68D4B8F948032E0
+F1EDAB825CAFEA2120C625767512C9483E3885F96B9A2AC9D4BAAFAFB7A9DEDE
+2EF1445FE01340EDBEF729F5680DB88B4265B992EDFD9DE34123C5D20FA8B571
+7E0FAD40BF5329921A20B7E58478A2EF62665616BD306D4631B6F37594EAFBD9
+55FECCF3D2C5F2465E9428767E095C1E04FE0F274E397BBC5B6698D13817ABFE
+E37DC536141F03DA35D68D4F78EF077DA25DEB8E92F2DCDB53DD3C44BD4FFDC9
+3096C6B6A6F8A87785B6942C98773A0835E8C297C43F6F3E04A2B3D5E522E50F
+4A5BC30FCF2E2477FAB2AF9F68031E0EDE5A628E7F953DA1A1D7A85F0C34A1AA
+E43A4FD78937C7AA612CDD70EFCC77242438219648A34F5D319B0F6AC6F86E60
+D6BEFEE8AEDF157F4EE7214ACACB2F4E4A71D6A42E2AD74D0A7FFB0D8C0B9B24
+25C6AB734434F086ACE23D6B7D968DC2347176E593AF12710EB1A10C59F96BEE
+A222688291B2607BA850C7F43642B6C99E2E19EFFF4C9236B91B8CBCA8B94AB2
+3A018F3477262255CC09621266B22747E9DB14F93455B2002159C4B88CBF8B17
+61BFF81C441D9EA88CDA477A7DAC80AF7C82E83EA23F32E27F270F76BB839DF9
+041D7F25862D65A3DFBADF6ACB4FDB7D654D8B06E7F90249315ADB3E78CB2F3F
+5929094D4EC342EA1DE147C8D82F0A86B00ACA1D5596FD2A98FC63B9A6504465
+F7C7972ED64F64177271E8FD0EE47280CF6AA726CE0D5E4FCBA47F93F0201678
+06FF6A1CA52BEE6F78F89D880FA2C8B2195BD92A195BFD39398288817D001FDC
+BD3EF1EB95B1FBA9B4D2A5CCB17CDAFDACC31C55E0384A301A822C5BD3E48571
+C4BFD8DB8B86DE2D677593C6111B261FCA1366481F1657DD35B97BC7AB3945B1
+CEFF2D3452E2D3F52791FFC82488ADC73BAA5C6278959D0F36A8A479B1444BC7
+42A3F7C97532DEDCE0D62152C1254F66695E54EE4645EA385E32FDC8FEA33D89
+8146D2ED50C1DE7E8495D2076811008ACCF316405F42FA51E93DBB8F17636710
+D9ED94A70CA08D78008EB264E6B68D1849694B43DDE359F7F5CDF50D01483EB5
+9B349BC77F603CE89C6B44ECB13DAA02456D0E42B4639CBAE4F3E7575C24A5CC
+F4B3161A04B451853BD659BFF028D901DE63C2015BE0E4F4CAEE560044B91A41
+9161057A825100B95D7BFB5F0471640B8ED1D3EB87A326A7104092CE22E0BBE9
+6E6E4E528FA7B19A20BEA57142C94569AECFE43B737E20DE75231F8D58890FF5
+A6CF559D2ED72E787F01EFBC1FB609FF15500D11FC586ACA92724AE96E69A62E
+6C3DEB91515BDC970A115367EE79EC5026C4ABD06B7A565C690946DE307065DA
+E2127599B6371E43ECC308CB603364F72FFE3E2B1284C2913494AD74C4E9D840
+369780EE2834DB0475651D4410F23087FC234A3045BF7645F34FB4AF0433F1B4
+67FE00181AC64FE6550B46102C8D33C70573823E58239BD1C536E63C39639A37
+DEBAC487A259BEEB59C6AD7CDFC881E9577D60B8EA68308E482CDCFF2038DDFF
+3F59E81CD835E35328461FDEC94D817007EFF98DC1EA4E4CA40E5FAF96B9D8E9
+0CBF8FC2F534A3CEF2D60F8105103B2E85936AFECF58C84D74BC60C145BA2DFB
+2F3D71F74A8557D86D6DD486A3F702CAA326975CAB6A0BEB946259FFE39A9328
+DF2BF464A35BA6FD039E84953C9C9CA0036888B085E002AAC61168FB5FE7F725
+DD8BA93D4F1C028AB01768590C0918A10C47F04A268AA3F1DD5BCB68633016B3
+C95EFD75D85DDED3FA78C1D9535F8DD253714D8FCC0CC0B27A60A1DF8BD60B85
+21B824E4CB62CE17EF8F0E2666CFCCD762F75E103AF5E9842BC22B0A136445AC
+0AB5305FC395C5045B83C0C1E2E1A5436145BF8491767C04663FA0C76EAE6C14
+F85CB74FB94E5DB7B25F91C02EF7A9C9FF9AA6810169B578B014A6CA5CBAC1D3
+BF5B0DAC78567CCE36F7CFDBC3C5FD0877EDEC058AC3F9C8121A1B92CD034ED9
+1BCC2AC894522929B424EB01D8C93AE0039FE8E078121AD1EBA68343972EABEA
+771C616FDA38B87A834947E44A9D1214719D6FE8A5A489102DBE827312D465E5
+26937D573C382727A8D7DF1D3B7B8ECD2AC4E445A28FB6DBA5B5434442CB2F59
+D13CB2E3A705D46AAAF284EFE2DCC75AC6AB5155F48349BB815267ECAF6144C9
+76E39E82CFE2DE7D909703D7B8A0FF7A103DF688C5E3672B0827EAD390CFFDEE
+701BCD7582DE7D49886D8E8B0B4C10D5526264A4D26A4B8540BEF775F623620F
+4B0E139FFBD457CC3A55692BCF92D630F450CD78BF4B916E7E5D609CE1E5B456
+33A98EE611FD2BB85AACB7B79EF6B4AAB89961FC5C99845087EBB092B6D72C9A
+C1CFB3980C174BF1E8C0F573B53F2BF28EB55A14881AFAFD375D16E5792FC605
+3D49AA915621B330C7FB0985EC8DFC1482155FE14C76F3C77F731D97C8F9A809
+952F25B26C65F9A0CCE6843A1E02E536973870EEB8A09292DD744C7E7D3889E0
+3F55246A6C02CED8412448305C62C8C5FA2203A5987924302879ACD82DE1AF89
+057DE9704B58AA12D88EFD8B6876077F2A7757489FDB00F79497E7C84FB7C1CE
+18E6E2089D2ECCB48070DA1CA6D9ADDFF9A09639BB05B0B72BCB834856A2A46D
+834CB1ADB0EBAA4345EAFC670A9B8354B60EF94D6543A5644691A22E5A8622E4
+BDEFC49B6B778A0E10D41FFDEAB3ACC987D9D17587100780CAF48B5DFB9123F1
+7A64743330B7F563412E57CBBFE5774505B9B2E96680A00FD426186B3509717D
+178F68B4AF044F63C84811F094FE1ED1B3FDB0FBF0CC456E58093727714BF6D9
+3885F010123D59E17E86BC9EB1223B33EEDBD706F9BFDCC456BF0441B831CDC7
+1140BB898085C3587B92B8FCB972E50F7DB64FDC333BC2E87AC2351F06753D71
+35A6EAD07CCAAA7F8F6252A5E29A818AC38FFC133B3ED8034CF00A51E6F66C6C
+35337B22BBFC8CE6BAA399EA1D9261A16EF0EF7E15D1FE937C8D4CAAEB97FCA8
+F13FFFE0DA29531DAD32B0EBA43FD4162EC09A0C3DB9A7D4B028E1EC54CD3E50
+8710B1ABFFEBDF407E309985F9126360E15099343B310256A2ABBBD7EE1815D5
+B9CDAE0F7E59E99EAF5C775B680E99E033B7559BF99813BFF82CB54CFAC3F426
+7047E6AD2D1D98ADA08950421F237CA29CD82B635FD81DD2570B20B8E5BABA05
+938B5FBC9CFA426D29CDAF0732759E4E9BD870397EDDACDCDD84CF2311B824B1
+EE7030D031F6F5E72B3BC01BA1A235BBCC00980201F8975F1F851F5D5EE25C7E
+2E6482DA01F6B04A7CE146309441378C10CB66164139697413C0EA9EA9D9781B
+B2690DDA9B27B29A462E3DE1F9F8C1D0B5C66FB1E410FE109784F750F685454F
+B5CDB8A83980266BF79D175F728C1040DCCD7EACC11D52730093FD8B3CA6DCB6
+656457B155387C0465DEDDFFC00C51E218F7A3653755B61EBC4CD7647ED5EA9A
+95AC0A14453B1482852F0E459E233384109C5E8D73C3F7919941E54642C02DA4
+68E1B14054D3E75345132AA11676717FF6378D5A36C549C7A45A545F4DBCD370
+9CFBEBFB783242C1D1B137A1ABE8DCCE1784C0C4B1A7590D8F8F06C6BE216F94
+2EE221A3C81CC5EF38F9C1E67945E8F9BB9A091B71225C4F1F52E683DB8DCFA5
+652A2AE5802D427CFFACEB057CEAE5F62CB28FC7FB7BF9C1A795659D6B9F8648
+D7BF28BFD130AC8991F0DC67029DC21D974400A8C2D4D5C454618A300E440E88
+38A4226AD57D195BE10C11B083AE58F83DA458B1EAC92ADC664F9FEF613BF0BC
+D4C62666E0E8D936DD011EDCA5A50968DE90E570E04A12FB2390BB53A82664CF
+ED4489D6F57CEBB7A73AD9D74B6BB7BBB741DB04CEFBD93D28A5CDF3E00AE2C7
+39EED6C9FB5FABA5B4B48135CEC589C6FF875911D7F9DCF59B5CB7F1CB10883C
+1843D24885AE98BC81EAFB8D692B47F631A59E0E72A214607365E49D8FBA891A
+7540EF8A6FDAD3A80115AFFAF13D91BC97885F7DBD0FF41C26186CFD8483B21D
+8C24205827EA4D5A940C0C54AA49D316055F12C8546026668616E2C4F362CCA1
+1515891936B66A4CE08FBFD721155ADC176B8B7D728D963F207973974CF4CCA7
+B19FD7BD28D5957B77746B05334B2141B54237AC33E3D01DD641D55DAD167646
+0055FDD9AF472CB17AA6F81A27199E7BD27B666710757D60E66B04DA9226B9CC
+EEA1DA34259AB9FD0613D306AF6977244F486FA059F6E24F71C4AE1D0CA58044
+D11643CAC40E37DE26D1FABB8A972B03D6BB51D60FC41838868D60FBC9C02890
+C19589542ECA089F9E4BC79B2FC50CA34162D3311169ABBD7591D0FE070AAB26
+6B1352803F06F996D6EC85D9237EF74ADC69190A7C9F1B08F89AC0675E10F3A1
+690A9822E07D08D67435908576FDC45847BD08DEEA41135E32AD5D0A4C8420D6
+1794FC1AB8F588B4C27CAF4469025AACC64B73D3B160FC1C884CABA6261D5605
+B92091E01A73FA4ACC6E1D395F18DAA265B1063E0715ECD71D134FB0CC1F6B4D
+F1EE283358A5163F4065B375964036A0D464F0F64579E3190C2AC34F42A174BB
+FA212B08E892854FF42B2A61D3F9C9FB89EBC60CFD9DE4CA90B9D8BA2BCDDACB
+1067ABDF2ED92F56C091198C94E707BEA1111D3218665CCE32CE56DC59CCEE87
+9B7437D934330BA317B27B4EEF673D8F30D4052DDFA6FC6F79D7FCFEA1A1F623
+7F412A45467BDF81A4E4CA25FD72AF7BAD5B78F14E9606ACD5A5A02B080E7483
+974ED855AB9EE8E0A49C1162DE501DD0EFC67A214110CBC3DFC09DFC4EE0C9D7
+83EBA5322B232CF011DED807EEACAB9A332F49FA11363DE3D60A5302B50181B8
+E02D69D843428A73A8493CA1C839785CCB694FD5B203331AE63957AFA91BD2FA
+015BFD11310CB22DF44D737B25E99AEA2A5C1DD813B97E6FF581F96294FE162F
+D884297686DDD519825C163E5F9635875B24DE2A04FCF5FDF8B1B7CA70FB0C4D
+4F62AB52D56C051603BC0B1029BD2C4E9170E9216C9A49CF22C831C736515F5C
+73CE5BBCA12ECA1F9A6BA614C0578E053D6CBC34EC86D213B5FFC539FA3A5AFA
+7426762906FA40A3074FFEE84FE63A875630E176753F2211B5C19C9FBDD6D74E
+5FD27AC6E7DFE398F5B09BA0CE25F98A32AAB73ED1B8D4D91D27C9B9EDAC0520
+7118C0E0C5CA4F86DE79796259B468A756B072F91D37FF1A02491AF793C28AB5
+7E552F7C3A6DC118987E1404753DE51F4F7971992974DF4244ED1A89EC563861
+ED1D8069918BBF6365541EFF19DF9FB702A31926DB99B08F2A5BC11BE1486D13
+0A3659AC0D15FB5EADDF51F90A5764D92A8C776067EC5D6695B041CC2DB83B9C
+4E8B95143DFB283E226EE2F274F18153132EA2FA499E2E458D3AF8640EA11FA8
+A6C0429077F8B560A9BA0D17FBDCDBAA5393AAC9EC4BD8B2254FC47E726FFAAE
+E7DC0E9B40449481356AC56C6A01AC661E3633B932FF39A2D5DFBFBF2ED656EC
+35DEE3CEB73D817E89B58CC9690A6675E845BC696698C54D28660C1540F6DE94
+3149F183E5F63524B48C1B189B3F012E245F95D35C1A35959287301E27A8F150
+364FCE6C561A3778524BEF754AAC8BD0A97660CFCFF3CC0B0522427B5C1010DD
+0A01C5EDAC72C6B493149EFB1EE1FFB97CA2B3F4140E6603299B46B091357396
+5FA21BF8F13A3BF7078ACD6F32BC295160B51D3CE0EF6DF4C39159355A4A479B
+3ED4127D23433427F4AA0145ABD8A15ACD8E8ECB3E1AAC5AD3A5981F546C9684
+F5D6212158227753B1DBA4121DE0A8E043BFEFAFABEB0880DB854A5B31B13418
+130B05A6260D81C6E224E02642C74A626692CF4E160EE1255968B7D0A132E01F
+A47DCBAE7AD2540483EB8005CC71DFD08206CD2BD604A37DC1D1D2088CB017D2
+B351D4FCD984D6717F368926BC56EFC84B7035B63CC039FB2B6381627BEFD6A2
+3B55FC639295288353C49EEEA85143AD82D69DD54324ED6F5DB499E0F8DB523E
+167CB8573FF1B1605D6104507E1975F0A43E071CFB6BEC0E104EA9BA67421F9A
+C9BDF855D2B96143FE39A6EE85482CC9CBF14E2BB82DB39DECAB6109C82C0C15
+CD70171486DAD08AB3397A8FCF3107B763E0F76ECC8724F3208A8278BF062549
+89347AC3D470955C274664CF9A9CC7CB0A061D63D17429F602A2B428611DE8C3
+208D81D19CDF9E8CB3F5820ED525F04CCBC3C5899C9C29B796D1AC817D60A1AB
+5D975192F7F022788848EFA212407C6BEE5434432D95DF94C00DF23EAE1036F7
+3F2E85003BE0635C9CA3BEEEA4F68F1531A1522AD3E23C780198224F0A5817B1
+935DB5A1009253535E2C0879C372F9A9469066E0CCF1053C53372A0781DA38BC
+3066E469FDC508EEDA1263577D0D75FF92B88F51DF1D43D6D0C567F7266D3456
+7DA6E745692176603F06653FC6461E34CF9A79E9AD024A29B73E95AA104D7F4D
+192452554C159952016F9F9095143AB68E0E624C2A3661AC11507EAFD2582CE4
+482205263C1D5BD772B1D2F22EA3EB0BB4F2C8AE029B468BB3A63619A745B4ED
+9E3A4667161AC55A58330FB7861774EC13FF76DD2D412C4831B33CC662D86691
+A8CDD8CD575035270AFEFE8C2570580DB4610633151B8633E318BB09FB1C2CA5
+77F28075F8595249E9375B850CFD839127AC31B96349708CC7D1911B6E78BA12
+A2BC33F3CAA307F8DDC07E7D8BF023D0F726C52EC7F9CF6EE5E83D7B308A0E13
+454274C529527F37ADE6EDFCE8619CC0CDBD5CE87749CCF7812E0A4C7909384B
+BB8FC6BB3817B4C5D52F7311FBC9D6205F8A2EE38A80174A67E3DD83644B7783
+A99A61B76416DEF3A0FEC652602270421143307E7AA4D0B587932CB30EB69065
+A875E5A46FBB6CC33FB77111613FD00C995AF2EFFD964AB8EE454305A4519197
+9DD616BCBCD7E270EBCCC640A5EE1F262B0DB82EE30C7066C54F1DF17952B155
+7AFA1D2A0AA99801775837B9F572D2288D5AC646A3FB64FA06C864DD6978743D
+FD1516B68043414570699639D8E7870ED0B78702ACBD279B65A4F10B02096812
+03A86FB19CCAB0881493689EAE9A45184A9B8D147C832E22320D08A824E987DC
+F5CB82D1D02E5ADB522EBB70B278B59A43E178DB3B6B690447A4032FA0D2B53B
+6016F6FE0D2E44FE50B2814E5E7BE4E2EF61191E780063ED30CC7C4CD3D6102A
+931337C10C1D31E7ED3CC6A8919C76D1EC2F29EFAC8168BFB108108F839D3901
+C9B050418BC5BF22451984CA5E49CDC3ADF0A07E575844840834895B443F8DF1
+049C93E265A33E63F858581C7B9B054C75DB55C5F9C7B5F5D93406159A36865A
+947940417CF0FD25B4860470B201F3EE7B09D6607F134E64A2AE2AB6F6EDA54E
+9A78D2D4A29F0A1583852AA003E6BC4ACEDB3C7CD3B7923BB5DF1D2AA260B25C
+F1DEF2AA9180A2D351F0ACAFB7455FCE0321A771152E385D4391124994957050
+033602DE812568E1FFD8EBECDBCF522CA21B7D46C24A439287AB9E60F872A4E6
+1E3B769AE993729D362EF1C6107095BF6A158AB06F8FFF9071D2C115B637CD2B
+C3AD75A9AA4AA10303BC0304E5F61EDF96FB07E5B166102A23F7C32597A02A02
+E720A905C9E0D0C93D9D34F613980B062C397DD3ABB4D363BC5F2481696AA323
+DF47EB2AA41198C7797A86A88A2A56DDE355BFAA5B0EF821D6B2910B3DAEC11F
+20E465B816E92EDED0BA909EC99E655AB93BBB26A1601C368D0A487BE9FC0D0A
+C21033D9118E43623C6C155719B9D63F21693F61A5FBF4A3E1D46B7F32B58405
+A3363A281DBB5FB574737FDF66F62BF07A0AE13C53767ECC11A4A90B728A423F
+BC77B198F80439C9B49B1989E8CE0FCC471BF1DF670E8DB673E32D1572CF6AB4
+124B6E7E08507CDFD403765DE1FEE57AB7783BE0E5601617D8E22E832D725368
+74501489F2C031154B7A73307C2BC4B8608D4E47D26DE4944815EBC32850965A
+2D2047399B4CB7357551C86931E487CB496C2C4896143CE4131A161074E79601
+29EF5C056C9BA4B2D01913E84AC009FAF52E00A343596A311CB2B1FC650C4F6A
+638A30145F1B56524A5282A248209AEDC5920F37985232007F234D4C05CA7048
+9B6613A802F8151167B4EEE2E618ED9FF17177C9E5EAA0F82DC1927E8B19204E
+8A2E7124F7F1650B870F8BA47074CAAF709D27B81C00045F97DFEBD72D852DB2
+14E50C82C83C76C3BD26A99DE58E7A2B6488A3D7470BEEFE315A172D6F1611A3
+567B7469193F60A6646651AB5B1200F3CF472D5DE8E4B990F80160473B97CF22
+1233F013DFF1523D01C61F8BBBF1EB04FD8B00D01AF3BBCA1FDCD55657830430
+5FA0285377A3134449D162DDB5D13A006888964803154EE30729C1A86D0033EB
+15F3C8BA1C8C8D4B1D45E5C13F6162616EA0382110E7B5CAA0B4C8ECAA3CD3DC
+C218E5F3096E4467DDACACAE9083F1C12C756ACF9F1281A47AC6050E0247AA4A
+69AFAC379756F67B54364E3BD45EC57002FABFAB012B222B70282FEEEF208691
+961CBFD48B514F000DEE6BD0BB9994FCF9C5111DD2BB264490BABACAC87C5747
+C77DEA9018F223F73BAF7605A0022F45D263ABEEA80C1EDE319C3262E2F379D9
+7C21DFCE6CFF183755C7D9B237CBE1A1D527A15B760E695AB0311C57B4AA8BC3
+D7CFBA27CDBB9828DC8485B8320DC5A5F45E4B39BF7A59FA9F4DC1125196F153
+23F662AEEC2C9977896D78614C1F100516CB839EDAEBE5789C731651A93B2366
+3CD61ED1CE21F12B48ABD0A09A035C0DA0B3EE5F787B297511D0D087F2924FC7
+B33BCE459477D69BF7F96B334F1DB6016872F8AE6F12A0C9830207CCE3B64629
+B3E231A6A7A94DC79320BA92CB12FFBFD8407EA766848572A7471B6EFCFCD083
+5D57446247914E80598937ECAAD0FEBA6AAD9D174E6FD70BC5142FC3A450FF6C
+3882850BB85FEFDD3478DB9C1552AB89BB07B6AC05462E7783A14A8CF2AE6BE7
+2AE87AE02CA25F3C2715F9AB7EF48A0437569FB2F3D209D785EBCD3660C84978
+A3373E246356C2893B2B721485004CE42112F94FF82A07747ADB7CB44DF986F1
+315E5EC4CEF2BD4AEF554DD6D10D3953C0DA830C1F82D83864B0CA84380798DE
+AD54023A0E0DADACE3647D4D6FF0D92187DE3C442050BBB4A3A5FBADAB4FCA85
+D143F9ED554ADFC4C440C1ED0DE47AAB53DDF0FCAD1E6D5CAA4E584D72FD6C0A
+37EF48242CA7153F09F364AAC58C94713A1BB3CFF48AF396538DFAAE4C805435
+1670F7F276685613D5068B0F1A7B6F347E5B35F3BB91D26B8F0B9ACAE3EB04FE
+FD2B267FC3F0CCB7F78AEE07ADC35A7B31BFF3369046BD61F6D2E02CE64397F1
+2991FFE59A6D56A111EB0781BD8C14593A0AD92BCC345788175ED9D8C726F58D
+771229C2A3A43F78BB9890BA5D7180FE174FC72CB22862B2F6B56A78C2B948AC
+CC744045CBE2540764FC01D3941EBD0ADA18C0BBAA1D5076A2CAFFB180A902C5
+6B9D159102EB030B3441592A6EDE96096D2F45AD9D0F8807F34C4937B9AB5C5C
+E80A7C386D5023A82B5E992D8185702E374D43B8630ABBA2588A2A48318BF0A0
+7F355A794FC5F5A7B33935F6F3786A94FD04947D0019D437EBFC8CB4E7913779
+8675A1C51ACC5813D7417FF9BFD442AF201F38937C5F84041758E5C22CA373B9
+6D5A2B4169659C86241FE188A216E77FBD3943104CDD0AAAFD74E4CB8E80C8CA
+A79AC6E3537BA2C2F31F3194DF568DED75DD39B781D42AB2B8E1311DCE047742
+F4E1F005F767027C339B1F2F5EBAA82CCA1B0472D6D0FC54E00C758EECB98427
+739FEF589FA53C45B40B3AC41771AF723A5B31C9B2A82FD5D9A4D24DA9465D18
+4804CB862A65A6E6632B22D5107325EFCB18B6F432BF315FAD491848BFB1CE4C
+2FB84974683F7DFF151401242D35E13AC4C9BD705D4AFE1C4472C16ADEAA088D
+891A355DB0A5C50108B5BA4A5CE2D94D39DB95CC85DE58B75C4AFA617AF20280
+92FF6DB7FA6678907FC2AFC91E91AEC07CD88D02E0D3F385C0BDF2695039AA5D
+899ED23F4B00EE8FE5A8BE2DBEA8AB9F74263ACDFDBE9E4EFF45A46920FECA50
+6AAA624F537CD9A3C06DA778EED206C7B721230CCD7BB417F8349D91EC18BA76
+7F6DBA835948DABB126A5A33CB401CABD89986EE4D14BB436DC768E773D57070
+F44324CC082CE4B808862BC2DDC0033D035B1DBF7274764504B7E694DB1CAC9A
+5B9A750B31789576AD69817F723E5E349E9B795BFCA3B2F345A46FF5B0FFD943
+30237E78C15F85C0BA83C3982E3209A15C2E55C30E6A857741F3C27A0488F779
+1ECA7FB861DC4F22672004B33225C407CBCA41298B4E2F92BDF5D45D6ECF856A
+C4CE0EA0E6237AE14C9CDD2216475E12CBC769109B8D7D471D3C1F2BB80A0764
+CA63194501B088F0A97B2B211D9052084529615853B1CC755ABC1E3D56BC93DD
+71CA512FBFB9E8B79C817F9C008B1EF60D248DE1DA521B84DBB5B5DA9980C960
+A06E11CC039CCFBE15D151D160F81B8A081E16182D85D747A1DD
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont 
+%%BeginFont: CMR9
+%!PS-AdobeFont-1.0: CMR9 003.002
+%%Title: CMR9
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR9.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMR9 known{/CMR9 findfont dup/UniqueID known{dup
+/UniqueID get 5000792 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMR9 def
+/FontBBox {-39 -250 1036 750 }readonly def
+/UniqueID 5000792 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR9.) readonly def
+/FullName (CMR9) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 11 /ff put
+dup 12 /fi put
+dup 13 /fl put
+dup 14 /ffi put
+dup 33 /exclam put
+dup 34 /quotedblright put
+dup 38 /ampersand put
+dup 39 /quoteright put
+dup 40 /parenleft put
+dup 41 /parenright put
+dup 43 /plus put
+dup 44 /comma put
+dup 45 /hyphen put
+dup 46 /period put
+dup 47 /slash put
+dup 48 /zero put
+dup 49 /one put
+dup 50 /two put
+dup 51 /three put
+dup 52 /four put
+dup 53 /five put
+dup 54 /six put
+dup 55 /seven put
+dup 56 /eight put
+dup 57 /nine put
+dup 58 /colon put
+dup 59 /semicolon put
+dup 61 /equal put
+dup 63 /question put
+dup 65 /A put
+dup 66 /B put
+dup 67 /C put
+dup 68 /D put
+dup 69 /E put
+dup 70 /F put
+dup 71 /G put
+dup 72 /H put
+dup 73 /I put
+dup 74 /J put
+dup 75 /K put
+dup 76 /L put
+dup 77 /M put
+dup 78 /N put
+dup 79 /O put
+dup 80 /P put
+dup 81 /Q put
+dup 82 /R put
+dup 83 /S put
+dup 84 /T put
+dup 85 /U put
+dup 86 /V put
+dup 87 /W put
+dup 88 /X put
+dup 89 /Y put
+dup 90 /Z put
+dup 91 /bracketleft put
+dup 92 /quotedblleft put
+dup 93 /bracketright put
+dup 96 /quoteleft put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 106 /j put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 113 /q put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 119 /w put
+dup 120 /x put
+dup 121 /y put
+dup 122 /z put
+dup 124 /emdash put
+dup 127 /dieresis put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
+0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
+51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
+7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
+E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
+0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
+C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9AF72336CC4AD340
+15A449513D5F74BFB9A68ABC471020464E3E6E33008238B123DEDE18557D712E
+ED5223722892A4DAC477120B8C9F3FE3FD334EACD3E8AABDC3C967C61FF003B4
+B10C56D6A490CE9594D57A2D431B9E5E10FE3D8832E227A7087611431ABCD029
+85F4865E17E17F8CFBD2CADC97E0A8820E3ACEC873F31464466A9545E967E53C
+DBDDB8478E69063FBB891566BAF88B7660A4405B16834761F041CCF7650AF955
+F9E853AA9F5F4382E1FE7D0C5BB4023818A2383F91249D48CE021250EC9EEB1D
+2835E18FB73026250B32A8849067D5E2258797C917F998F2D4121D96560C5FB5
+B5D3471216639A8671B6DFAC5E3554EC36D9A72518525A795590C74DD70DA3A7
+78BFC43E51D6F2BA52F17D4DD00D389D3983EC54912AFF73684A8A7E345537B7
+E62361C04A47859DA084BC72EA53512DC54132EB2EE671793603015652EAFDE3
+41C4B6B679BD60AEC5153EA0D2200CB1D097DAD770F5F31E6FC475A225995277
+B867B731D5401E2D02B85BA85158C80FF7E2BBCC42B98AC867E67D25DB656072
+55A0D32AB7AA483A5A9686CEA4E2B3031D90D84DB3E2DEE7706C91BA81CB8DAA
+700E5F61E07D6998C9552C81B66FD10A10033D49EF3BCB0FF22ED0A3737523C9
+8F851C61C4BF8A213BF6EC70C956AE48B5BD276CC0437C72BF6515B10739919A
+F00F6ADD2798CB211668842349171A5AEB0664D2C44397E55A4A9EBDF54A3EF4
+FBBCDAD9DAEF4B0CAEF7112FA828F2F8D9F633D37E5516AB5ECEA87342EF8DC4
+3A50548490F5BC9A8A1F98AC7AEAD9D913BFA10CA86D73AEB5BACC1FEEFDCC15
+B3655522CCA2C772E902FAB2A6FC153597D52763EB44AB7489FF061F7F58E8F2
+AEAAF4D17F36CBFC00D3C653F335D14240C87DB4339DA9D30A5BD1F502BC9013
+461B9DB2FBEEC01BB18990439A0E9CA6576BC9CF6B1A3DB9386C4A5D4AA6A5DC
+CFA45FB75F22E10ECB72565DB441A194902C91427B4F676E531C661F7A2C3C85
+CD534D1C89B6779B2EDC8E44667B992C20C70B663BFBF680A6CF4383EB7CA26C
+4D1F06B5EF4025BBE65795F1EDB5CCB97050872D6C07BC2974F905ACDB7A765F
+291365D6C8152153E7F017A25FB4476C60FD9EAF9A121633DBEAC32F62850223
+D6418566AB350F90F4B35F19598478F76B63E347D4C61E203D4DB8ECB9889181
+C387F4B663A502C638761D2782BB96EAC81A0108D7BD6938F67FEBB69218D115
+D8E89CFABCE15C6ACC7FEB983332A51A6A73CF4E341574F366713D7FB29956D9
+9BF238A87483D37E526A2EA2F101EDD34E34CB92730DCA7235AA0027189BE405
+2DAB4AA021A30C28B26C50808E1E965C02F6212EC7C72F5683339425A7739380
+A422E6191ED8453AF0CAAA424AE44DFA7CC5C2F6EAA8D73A5101D8E9517DBCFB
+2858D0E8ECB7DC430EF23A9E4428CB7DED8D035D6050251AC101A2D0E884721E
+2F21E573F948048BB8FF888911C508CC198BD750083B339500C426AFCD5634A6
+AAAC1C7E91249667B231BBFC64B4317192FE07FE9DA0DDB5E517D097AAE46577
+9555F29D45C67CDE9812CAD03F220B20519F2FF32DCA56A554D4296FE2D1F3FB
+B209B5270E0E695EA5A0EF1144957CE045881AEB8D05D72CE57F4D34617AED67
+0D3AF0472CD8D60933651626550366E300E72A9C89ACD475C2E2ED9BD44B472D
+9DAFE943F8E02A6DC38E447EED964624C37C3130E48211CA279BB6A0BD59466B
+42F3D89B5746F29E084E22CF58395AF0F29E55113F3A3F2F52CB3A6DF3D026D0
+C81754B8E2E4A15F6943BE9D0087D5166060734FD07C4C57D7C7D90E8C9C1F35
+623CEEE3ABAE75E1A18A1E3B50B7266BD2D8E812CFEB4A46B856885B185640D6
+B9C22179551002B94282F57FB433B7FF157D2F0D240836B72AF4A331668AE5D4
+E6B85415F4E8B9D2F9AF90FAFAA0A3866DF417CA5A31348CF9B41B8F5F4D2F97
+CCF7ADE851B5E2E2F6E319AAF5792EBB9DA2C6AA8B73D889F3CDAA42932CDA7D
+07A7E59183CD89520DDFC36E5D513BFD8AD0886046585F29B4D7F42CC0C27AA7
+53915AB1167D292FE91957E94A57FEE2D49C20C9070ECD736BDEE0F046E60350
+EA539DC298156A4E0D019E7D481FDDA6861E20678516AB80ABEC1F09B126BCB9
+52E8272A06BB6DD87ACFC423B4A4FC9A3DC8DCAEBB807C5F748F1FF8B17B8B88
+F426206BF1B7B7D239D26BC3CF0776C467A98CFBBCA5FB6145D5900137ED19DC
+D002F10704AA680EC753C22E29AAB15712EF22AF73D80820A1EEE953463D4EA3
+81FAF99518D4FD0F862A324FC44C4B9542A92C5B60CC983CC8F647CE5BDB4D6D
+B92B380E0E5F7208A9CD91FA9A469548162C761C1BA05AC9D60B766764D821B6
+B4E17F56CE455F06EA1EE2D38FE47581746C4C5FBA63AEE2B58E877D1A8FA83A
+31C972D53B64E92EEEA147426A92CFBF76FC614119C6E9C6476FD6A069C803BF
+E949FBE50B5AB1F1463F9747E8D353F7BBD991C4F90F920BC9407D8E24720293
+846D052214E60390C3CB926D38C83AF697425D80C2B4FC4706615B905516B733
+46ACA325CEA68FB21B2D17CF0B68BA4DF249368625CF83441EDBF2B86C957C1E
+44CD722BD2537CE84FBA07EC7AE15C840041B9F7F3040072E6084CD55B301C08
+A64A53BD4D3DC30DCAC6C152F316ABC59B8EE978793EBD568849DCC2A75A495A
+BC83470D503F8E389F54B4A4A31624E83C601B43AC1E52CB811FAA7CA6B644A5
+1AE0BFD4FC774C9C9DFC2769ABFA9C83F900BE2DD4010416053A1D4874E6ECF4
+D86E44B4CAB15D53E5630C144B0C15B58DAAD785BA298B1893D1B09BA5D40344
+6678FD2D17FF6674433C976D6DAC659175CED26139967C9B2B9CFFD78FC2570A
+E5142141C2888DBF2DC8503F9137CE7CB21A1EBC2D65BF33FCEFBC85C9CB736E
+24E8595CE934AB032CC70BD6A3B0F3BDBFBBE185512FDB7BE3D4A6620478453E
+75D044BF770B44C9741E31985E6DAF5A318D7BED12B02A4BCFE60D25EF12843D
+EFC9BAE2A3F2EFAD66D7858E83EB46BB09D2FF8AE9C43844A7001C86ED97AF51
+C511E3A89A1BE349FF5215D1A57843EF51456B9838133846F19BE79AAA5C1AB0
+5F400E5E8E7B0BF96EFCA3B8F0894BE589F2C9FB6C97BD16D38F0A237CD4F034
+099C41F85C7E2C7BEC8E02C4F327306A53B4B48B26A8926670CEEF96F6DF2281
+7C2DAD99EF8B81BBB777227C2475AE7400DC393D9C0445E925DB1E955950F7AE
+53E9AC4306794239346A419F7B5DF4168382EF5956B81F83BD4BB7635B3BCC84
+7D84D05AEDC02D14675D777CD19B08124001A4F4EA96990D96000C082A12F00F
+7FEF793A7FA69D56D3A38D012168C5458B667190AFE80E02C816CAFF0A71953C
+D80B085CD286027E2FDBB05452AA762FD7C813B2E19A79C74190E04E746C4933
+CE1E300CAF5DD53B08110509BDA404EF07FA1BC5224BF1205DE8E0C3276A13DD
+866675103B960C5F36644F96B4FAC16F5D6E91F74629B318FCCC8E8CB13EB76B
+B0B7B90718D913A52A04732EA3667674994A325A7973C601A7DDD50F658E0826
+ACB8E53D4914B0274AED98D7BC3B2B7F9D48A7ECC2F8ABEE05CF2C4F2B90360B
+B7DF779EAF3E103D1D83EDBE32DDA873768D8C37DC10A5354A94B4153049AD64
+FF3E0BB51AB91D7C0B4134D8731CD0270DAAF19BED9EAD800A14B65B68EEE89B
+40DD624111670DDC7C030DEFE0D1B96420E249332445C155BA96231C88E70643
+D526BDF3CA1E05FEE72CE2B881CFC01ED780C10E89F0828AD55FE29043BC56E8
+2750A6DD15AADD54492F6092618F4CC6A31766B17FC60766D18C307EFC9BB787
+39047DAD6B38419EFBA46B4E2C932F97451FE78AD75FA90DE409FC6DD46585D2
+1941F5ED47A8FBAEF5A917A240959E8D9F9917DEA3247D9CAE6BF7A88DB4C4A4
+F9F5A6DCE542420A032FF3392FE0F3357B51F884D6181583A554F75B1DF192E9
+253CC828FF06B0D992D5316435980B044BB191508C7C45CD90F797F88856424B
+14A5707459C50EDCF3E3D8D1667AAA83015405354CE744C66D9A5728F29E0085
+6DBF740717FA0799E3BCC4ED7841588B496A5E549B953A7FD288B4A045DB611E
+E3B2F35963FF18ACCB1C968BEEA2CBF52B3999AAF89A05320BB2E97F52CFE06B
+9F10E3A79865A3059A957F97972D80ADF678A36E2B586C101FC6AFA4D137C13E
+EE7102C9B8EF78CB057F8B7476F146E8FF5C897FD5503DD198128CFF7B5FB339
+FAD0AF0EA967F77B07B367A4AC9F668F8BED99B98E87FAC750EE045602D76C3F
+289FC9D97694C96AAC0AD1BD3FA94DF2CBCEA24B40F47B9B59E54EECEE7AC4C3
+A3F5D19160E4C1EA830D57FBE10D8D46AC5CA0260F22FAA45236F0F542BEA9C5
+5A88F878F68B36114E0573900C65E305462B22A3429A17C7A567694414DDDA46
+5F30542B8FD4F00F6C295B2E8D3A986B953D96822DB2ECD48E8BB1763434E652
+152EF3717F5E7FA10FF0B01D9F64E22C5DBD7254629658887BACEC0ABDE972EE
+67299FB84A05B3EFE22B6976DB4CCA384232DDAE38C31623A4E39EA2E82C1EA3
+BBB68F1A7DBF405DEC37CB7203A895C36A44BD2D63F45B3888AF91D37B510A59
+3C921BB44DA620892AD87B665F69F6FA510B071ECC403CB2BE2F54B3969C9E88
+713244BC97C1466DA8216DA7600C221E7E7EF5C789D2E12B36422023A03E11BF
+2790FD6062FE6BF62F5010A92F0A104B76E255A0975E04F6F20F760881BDA7F5
+D834D1D328B6EC19AA7D5E5678A84C74C82553DBE8BB5765E84F5A8789032143
+6020940B4B8D45FC3433D356E28C25F42D0C19F911213D85951B2B00D01B77BB
+A4C72E964F9D95422BEDE582A05CD52E03D28A996E6CC8FCD910CBAB728073F9
+F9FAEED5470FFA55930447C5BA816F826F983D53EC9941EC8364B3060FD74C95
+26D4F5CA753B574FD2FA4D1D333785241D8741B79E628BC852FDC35478C5ED9A
+C1BE88C5EE7302816E65C12B58EA16FEDD4672EB3E24B6EDAD5DCE263BA8A970
+350B651E5A9F3C281D85BC3F44EADD0D93402E36489BA5185E7D388974B0B700
+70575188BB610CCA20F081E2CBDA13DCC6F72567962ADB342E02C1E763B673C5
+F7384E24C6E1730A3A790D690A2103AEF88E0C1D4480DC9B25E5C8C9E1919C95
+F83320179B4C7C4A26D559BFB24D7D596FB73758C9990C451E77FCDDD17763B8
+9C30A9534E3CB6680D3D419D4B70B0B0A0D160FCCDE169714E373F65B7144CC2
+DB9A44E041211E1517D3148E65A2486CBE5E74E625261CCF65392FB4F3091473
+F9E8DF327D59A58558E5C9F7190DB577D5DC658F5E36258291C708B3D224653D
+064BB6079F91293FC733710893AD1C96169B30CBFE4E9D52E7EFAE4AFEE68FEF
+1AFD5E7E9DFCE8DE332B0FDC0514F9B3090AC85BBFB527FD8034DD33E9576325
+A8769AE09AF1BA792447DDD932B98FC9486B39E0B04DDB3EFB7A30DA0940B33E
+E27490E0E841E87B1C90E5248A91742ABEDC10F43A8AF0F9C5B4A4930B1AADAF
+01874B9AC3B8D0DBECCDA6CD7E96471FAA15CB7F8A599C5746327CE392224C3C
+40BD60AF97BCA6FF6FCAB2FEA114D7300B89E91C3BC92D5B3E2C83BB37992D8C
+72F661EFD0AA034C738C019DFB79BF40651A1A34BC1EB9F5AAF58F8B3DA32645
+24AFF8636486F08BC21533B5FF7391B0679A78DFDCB03DAF6BB7475A1D51DAC1
+EE4BE9B986655D1FDB6936445EF99B58B303FE79F11275EEA96A9F6808EA8775
+D873D1052FAC93769789C700F20EB2ED6D15676F6E563A769CA9298E463FC311
+83281483B1C953370D196727A6A0E66D32D9480AB1B6DCA77868C1A2D5DB6483
+5F31EB6B18EEFEF1CDC31533E69B0AFC6B30FC9912DC89BAAEEADC30BE14F448
+1A6B70D36A5D9B01799BEEA686066114910842D022EB464A9A1E8F0A5628BA69
+AA9A1925CCADD44703BC67A89F3B48E4680726DC4360274185CF3C8AB747A8FC
+4B928AD62B092EFE48B01E33ED756DB696171FDB775396BBA138E056F71EDAE3
+7A1E4CC272B8418114B0E81DE0BC43DB3C133167344488820A92DF10FFA26FB9
+65FCA2C87D302E956DE6B4FE145145440C83DB43A68F8B29A592B127BDF49063
+B7F11E155CD4CAE305525BEA56B7C412A6260426407BD892A3F2B444AC3421E6
+FB6E6425EB5C3053C5644666B80405530FA0012B54557327C98E0F4F064099A6
+4ACAAFC1870359C1B6FBE7606BB8A26026AE20C212210449905E628AF1B20490
+8CE908B7EF3E3DB551C85AEB0F7FEB6A8D215B97998E5DD9C7CCFB2A9402B8B6
+1770D4023777D4B45A73F471355353412C51D4CE71FAD1E0AFBD87B5F86307F3
+10D0B94F1194EFFB64AD5DA54A4200490F609CA8B912E149F8217ABB1E9EBB3B
+C4470E7365CF5E1E761AA1945044B225BD53D142F6588C50E0644740F7DD55E4
+8F73201E5354A8BC78339211AFC4935F44701FBA043AAC4BA4698E9D7700029A
+C79F992F62627C91EB855F64C4B251718FDA71EDAF082A0C7B00550949D617A0
+7071FB14F05620CCF2180941341D8E60FC88823438FD728A4042AFA8B853107F
+852F631518B61B234565291B5D5B89DA818DEE3AE3B68A2869DFA63255CC882C
+3B16BBA08FCE3632E57FF7A07F857A1F0FDCADAB39D77960BD827CCC8661A997
+648BF5BEBC0FD2286C2A112A8DEB9CCB6330A049170D5D68EEEEA011D3EF3EBD
+855236B9380087CBBB6BE24191F728B7EAC5B50F7A547AA0989B7C7D3437DBCE
+1669341264E290646F2C8C5A3ACAAC7CB63DC692FAAE13E9B40E8BD39FE16A0C
+1660CE66872D061056C04DDDC265C024BEF8B7E3C3AEE76FE5C9702002C28BE0
+B180295EE00E567FA2E5CD1638226D24A7C732E1BD8103B476EF5702768689C7
+D4FCD47F2AB94A2B1FBAE6ABF87B09E7713C773FB65CA83F7318035B332B9F99
+24A2C8897527021321D003AAD7C273E4BFA2710B9BB26C2CFD3D9A5D7ED1096C
+552D50028AE2476FCD6D12A5D0A897521313ED1A3A8456A70C16EAA50A3E6733
+6DC89FEC56AB54A579EF264377A103939D5EE00A90B4F2206D0023AF9491FBE0
+800C6540FC945199E20E945F46CEEA2E885F6800B9DF042BCEF4291A4B1A62C8
+6A7ACFF872B25FA3AE69E0093F3D0FF13A3313430C06F1AF94D500431566F659
+E8C859A5F80F5BD2E85C8E32603D3745628E8FE6FBC50FA68F9C3811A2BEFEA4
+5852CAE2AE5AAD3230ED050593BAD0A9581EB7B327C6916B8FC348F4C23E6FA2
+00FA28AAACCB3091C1D83F7BB88672A53A2EA3B8C7C24374E400C57F0F01019F
+E52D5C47F389D4C9AF126F4080F9AB8D1C8F470932BBECCEC72A9796F6E965A4
+82057DDB43D68298A00880D4C2E2496F26F015FD83C5549215753459310339B7
+6B2961EEEE74DA31FEC8E2BDDA42D4080A32372AC372524BDDA580EF6634ACE3
+128C69D04D890DCA337212B109585C665AA83EFE47D5BABC2627A86EAD11BF7D
+744176652C7F9497785A7A06A994ED8414BBE8B26E74D48CB83FA24AAFBDD507
+84A90195EA3D77BCE8C2BEDDD1DC52E8164DF15D65B916EBDF3A8A76849653DF
+AE3CAF9561AF3B705F75B9E5DFD6758DB65A2FD54683759912E0D0035CFBCD86
+5D207125947C3797DDDDF27B0F05D69411E79DF1586378263BE1BFB9863BF9B1
+B2CE4EAEDABE212A040FCA30A5AC8F758F4B543CA539858D7D2DA5E8D4AE8343
+DA1C74EFA3207BFD3AAF761712526884385719C5B2B1C3C2A125975270E98803
+BE1717D7FD9500E68B2C77DBDA49C6C7CC468986AD847D5976FA7D445365047C
+DEC7C2EA876A6D2048DB062B6682A49CB88706982B6687B8E51E12F0AD378B85
+8DFDA6DD200D31F6BA872ACBEBA94F1FE5920A18A2F17DA30AFEB722FEC5701C
+B3691A04D0896F1A60DA20C9BFB9FF931ECEEE556BCC9C4374EA6B2CC21E5301
+C5B8623C5878851857B3E665490A7FFCE5A8DC0FFCF3D56BF55E4AB2ACC6743F
+4DE7216BA87F183CC0CA3266EDD52D3A8681B75AD590B3989A01A62745ACD499
+17C30C6D5AB9B7AE32D938D2A9257D3A4444614D8DAADBDEE4C99F4FF66DE769
+52F52733B7F3B44F48E7FBBD1038AE21593A5B8B4C649ACB5F5C66A5E4C7CE09
+E8530FF9E9E77B6982E21ABE6EAE47E2372B4552D66D2C141237569D7CE41808
+CD3259B7325463CD9475124A0453475186BB44083AE9262BD5EBA8E709E36725
+A1257264A4CE1F08102F2D4BD5640F758B4ADA3F4EC9DBEC4063547AC174E81C
+F88EF1B4ABF1EDB4C6C94053DAEA20D3B36179F1490B23A95AD7CA9B8C5E797D
+B75DB61D83AF76F0EB2A612502CE147B11579A6C8BC27630AE14535C0B77E4C1
+06578A1C23B48A90E2E786462439CF2CC73F89825E5E7B4AE1245E300CED4B30
+C9EDB92AC36F7DFD0FABD94996A0D326D478B7783C87AE473351ABD014CD380C
+EF7BFBB68CDB7C90D1C85A5D96C622B04FCDDB40B675F081053377364DEC2F69
+29224D4E70B69FD185D55ACD4D1E263FA8F13279E19089FB17A1283E72AD6FA3
+26370C7F0BCCA2CC89C048FEC738F2AABB0A36AB3A61FB3C8731450623CA88FE
+C8ECAD1BEE7A9A33C8C40DD2F4B12106F61E525F08CF4752ED2343AEB46D89CA
+8103F7C53355250B7A5F99C3BE4370DAA818DAAA7280496C8BBDFE4480A36CD4
+F92ED541B4CEDD13F1D5A0023C7BC1F219150A4F9C0B98A440E0A0786F32F1C9
+19DD28668DA7A60C446A2C87954489F24E742ABE05387BBEE210760F30A06821
+56EACE37BDAACDAFDF84C683D992894DD9C126FD6571624D7CE37CEF6478F82A
+A536E68F009EFADEC89C595390BC25C7BBB4F744E0A34913ED4F3CEF7295F7CB
+B7FFC71FC82F03CD5E0DB79EA523DFD240504D5A4A0953C8F30EF69B3B39A561
+3325DCF159B27BCFAE3AEAE84C047D6361229B6B896FA0BC2E8BF93A60183766
+2CD44DC4EB4988B9CDA332B525BC2DB4584FEF623337FB4393F9DD009BCCE5C2
+F6C9B792E2185432C09B97FD9802792535160C1B7BE2A1A8252D8E05B37ADEF8
+341F7D9F6C26A1FCB03A9EC77B59540B407D49A5C52458C31CBBDDEA0FCCABDD
+ADEE2C931DC4860979653E71F8A1E10E7805DCF438CD9F6FDF01179347DBA9F2
+647BAB05369B26B827AD99B87280B662E77A0C80C0A828A47BB4D8A2FE7E9F4D
+5097FAF3D631F64BFC518B5F6BE13884C3F70369822915A56721FD7F5958DC4F
+9E24851089AFF3E608D2242AC08B868FDAAAB0AAF8C14BF3D4417949FD23B10F
+40A4179A630994CEF7A2359122F3E9F7096E9E92D3431C3DD7E8F1E60E3413BE
+D7753357281A6ADA56EDD51EAE468312FC75114EC09FEA182E84A9AE7F82F4D1
+0AE4F1BCC1C4188BA00840AFA09862A7C6579DE0654DFF2767AAE46D4E754A22
+5FEA2A9CA4ED8AA2454F1E6DD7C7CD63886109B9796DBE67225616FC555CD945
+90072F04C5A67AE11CFF7E5CE97B67525D2FA055A29F927F9FA46A119354DC4A
+93EDB7B6F239BC2C10D443E0F90CC36D65D628F75A8EA758F6C8F93ECC036EAC
+CF01A6F2D73F6A5AF9C72FA4328F977C22150E9DC454E1C2FA91315123D1A507
+CA174839C70C03D0F641ADAB8771F1038B06B22FD2E73579929F1BF420B674BF
+708DB7E5E02AFF78865E03C0C0D6DE7B16FF0F4B407962C3723BF6E61ECC8DD3
+1E3337EACD844F717AE5F28D0726BA35B2A0F95CD0323746254A5EA9D63C064A
+8F59D7A42A3445286F80E311383CE52AB9C73967BA45AADEEAC1A82C13A2C4CC
+7F1EDD5CB4F81790F2F8351500DDB9D271921500E788E9623DD2E25F1CDF9970
+6AC59F0A33FE83C973E6D2CC7AE8BE89CD7A503788ABA1BF0D9C2DCDEE1EDDB0
+B6F2EA1ADD9053A3367BA3C28DB698CA74375AD117698B08908DEE15D0F4BD22
+339E88CAC825238CE597FC3CE1471DF76254BF7C2851C7274D46B0AD1FF10C69
+E9AA8238CE9FE044B1F07CAFB376C1724A9C36A7119B1E06B1A1A213262E4D4A
+BBD8DF2EDF5175D4D9A88D0F77447D1E1F1C28A032462FE322A0B17F5CD2CD24
+ACB00501DE3CB6D6D9D65FD51C4556974CEC3D5F27E9BBB22921D7082423D46E
+B801F8502449684418493C3E07689B50BCD398B6F41DAA0D68C3608FB168A9AF
+854E83558BB80F465AA564EFEF24021480D75B36CEF1F23878A36BF4CDC435EC
+AE7B8342F16D054A1F332267E2724CC2AC98B6B044F503AA0FBC7E138A05E23A
+93EDEE4D73C7E5148EA820443030CA49D193CCE06DC0EB25F19303DD11F1C57D
+0A2FCD28A4516DD563692DAB5BFD98ACF80D5927A07DA8A3AA987A899E28EBF3
+6401C42D31DBE92073F1C32669FA2A748A8DDD3FEB75118D4690A28A1AC09707
+2F623DA41AFB80699B814CB4B1039DDE13A0F1AE59016C00953CA47FE1F0A9E9
+843F0EE896ADE39E72A9AF2ED6BF1F40F6A5AF97615653B19CF15F936E09CBA0
+290BEBAEE375183746FC9D762EDD8A41EE4E5BEC6688ACCC45B962A67731C7C7
+C405361934E8A80986C49A4237E2D2ABB4A4F4B904715B3AC4C481E8E5A1158C
+2955CFFB11B7E1EE0EE8E7E8121083BA976C37BDF6809F9F5BC021E7B7E53D1F
+F320EBF19F2AF08668C26FD29AB6E849715BFCFAC2784D902D6F7A0105052936
+004A2EABFEC760804A958A22626CE9FDDBF894BD684FF8EFE3CEB44670B82BC1
+6D4B85C2FCEF694E50B8AD1C4823F6F35B0A023E6DE42AF570809A736DD2CCF2
+7DC2E35A20C3082D7F116BB9CDAD61F0D079C207ECFCAB9AC7528E3712A9163B
+64E48D0E4B884C10D8A4776C6C8571B6512A8DF2BB22E8CB85F591DB5D9D092F
+E891CEF12829C8FA3AD03DB1602D3007A0A1AF3026086A21B68443E56BFC0223
+8D6779C15A23F1B04780B1AF1AB3D8C52CB02E17FD6A5191D3A7E7A52A58F7D5
+A192B4428B7C8F36AC90A77D7CFBBE6A1F71A77307247ADBD55C86DF19E8D089
+C73FF40999F6E04DEE57C48A5794E026DF56D77AB921459022D7CE2B68A52AE4
+4AE97F247D1FE081D8932197E23B3E53F5F2584808D7895EC8BAE0773B9A6822
+42F06801C1DE59C4DF38C7A5AFE1C5D6F5BCCF615D41B7D4AB67BA51FEAF62F6
+8C1FCEC23B2BA62E33807B91C6DEB6493F61C16CB4067C296E04CF7CBFE0D46D
+B42D38082F573AC1E449567C2F7E6A18F4225686544E2010FF11852B8F6DC9E2
+145916A05C5BA18602B0852086BF2553285D2B83F646C7AA19D614E0C7FBC733
+562D95144281A16ED54026E6D979D12BE954E34D573EEF9AC2EC7284D71F0AEF
+5756B8026B1A2744B90ECC85C2354D62AF769E5F27AE8BA4A863286A6026B682
+DDCE6C665932442E05ABBF69BD0356DF5654CAA0EF1A6B36F538843092755758
+A96EAC37059F210FD0A592250793A23EC612C0010748A7E5BA8705197565DB5B
+089757FAD879B8DA0FE5E556C81783180D9325AA15D34EF253C8C8C81DE2C0A3
+05EC78E77D7339A556904E8A1FEC30091402AA916B4DAD07E31FFFEE0BF9B936
+BF909392D710B3976C795E8E8A7286BF15A26ADBBFD88102A65618858A687C8D
+7DCE0C419C9FAAB0CD1F06C9D8288944519E38463B6ADB8A83E5A8E6A0BF1DB8
+57B9E85D99BA8E7C1E2E2D8560E8F340344311762CF7A5A4E5035BF9AF621B97
+4F9FE7EBEDD03E97466C7C009D3D4A2D73765E4918819450458DBD52DE9F9424
+790B5AA5BD1F9FC78C497E829C00202C7B50A29BCD3A6160C687B24211555639
+B2EF2505FA31B95794032A64C48CD44B5C446C2C1BCB335F0970EE88AE166CFB
+08F6571D8AB122C765DD5579BA9BC70EE00AE43A284DD33386AC45DA4CA097F3
+463A040FA3BFE0FBB0315FC6DA7DA8F5F31AA1B7CE8D50826019F26470AF8CC6
+51363E3926574AF694FF807D61CE42922F67031E3DA7AE134145C913CA6DFF04
+0E9B25DD8840428E9BAD8DD3107EBD030AC7DB269017D778F9EE7F72FB8BB3F0
+80FE7CE17BA5063A1633A9D85D3161143AC4CD8B66CF0123F9C0E63AB33A21F8
+9FC6AE7FF84CD30739F081B13FE942076B808377EB1C29BEF0419AD4A80D6317
+B6388E427B6F212472E2D3A8C9A3D5CEE2B0A291D7B7544E57298F0FE0B4F974
+0A8D5B1DC1D2C55A67217C06B7B5A21E7625512B4A33E458362EACD753975BB1
+E6FC99E1253D1C61191570CB95BA5025BDF393532F6802B51F1962E5FCE07057
+60D927FC713D871EB2AAFE00914E0EEE9522840C69388D39C47A3B9B625997C1
+99AF4DBE7DD402FF4589667A325D6F08641E2BA3DF91CD39357798AB36D782E5
+22A70080FD0AC149C65C26A5E99834A04DDC5B55E57E55850B886F31CDA46C83
+737195D3DBFCDC9F2D8B0E4807E665B3DF4CA4E566BAD762782C75A72C53EB8E
+CAE990EFA060EF42AEC317AEA4BE411C7D15370C5A4CD0BF45AF48A7DD6AC34D
+FA01862040D4167DF207EFC6FEC53A029EFF203361CFCB769657CF60C0795990
+EA27A2FF6AC7E8613C7BE4AE57F76246CA1E1670DBF2CA58CEF6CBE78E920B6E
+DF96DBEE1F2CF86EDAD61E4476BCFAECAD30C8FA55E51D1822C9B5AE9D72C582
+9F56771C951B4430F18FDD8A8691F3FE1D7B30645D7FF9203F145A9EA06B2987
+4CAB541ED13AEEEAA272588FE7B900E4F4C1D4B4F11D1C410ACD096766CF8024
+D2D0EAB7FE13DA6EFC55D3AF100B0E2D54479D590C7E8A999C1B1254EC07A68E
+378527DE1A60E07C68FA757066F55CB2FF5F680FC0C3B0F8BE5B0C6085F6E93F
+0FBB85FBD2F95504A4D096EE832BE7725DA0252B9F661A180C70BCF47235016F
+38D6F42C014301E3126413B3764B41F8FA4805726842E288EED6750C35D1DABB
+A9EEA47991BB5FFEE5C8170640BDF5FC14FA1437784E66774186BE05580857DF
+7F38A88CBA14030AFB4F5EFF93575D100D389C07FB039392A0FE595BBDA29E5E
+42C9B06A714101C6B3572DEEC341207DFB71DA77BA277E9B1733BBE7C0FD6B0E
+9EEE34B93CD73EBCFCEC6C1F0A9B9BD7CF98D1607913C7BD2A5CEC1E99C28E78
+919C6BD97183D56314FB8CE370ADB0B7EC149070CA174DA12C9E78E2F8237DCE
+6542FD8F8FF09F30C7AA7512834D3C9023DC8C38AB822AB24B5868E95D11EEA0
+2B8E5DB0A0202733183E4D42A6ACFAC476719CE650E4D626DF0C61DAC38D2E0D
+F6A547BE27F6F81FF57E4429CD386550B1269AD1D5DAD3001F09219D84ED7DA0
+42BCE945AF25A2BBBA5A8A9837AAFF24834BE518C24B93116DBE2F3505918462
+8E5CB1837636824945C9EBEB19FAC2436234EFB6C7DDEC962443F95126115FDA
+9ED2EDCF90E89AAA4161CC2C9905C09A3AFC7F43F3CA5359A1B93D2708A7772C
+C38B3CAAA89039F2494B3B8A98CFDC1017DF2D56EA4D327DEF18192AF0C50443
+7F441EB251A4E0DED7E9AD1F97B7ED4AC84510B46A65106BFFEA8CE52B6B8761
+B67BC5E8BDB115F573B00288CCE135A81FDA356A64FD05EA4FA64FA5C2F65560
+9EC41377AF28EC1BD5C2E02DBA275DD1C0D3D1DD6B5D9DF50CF34F7FEAD7FDAE
+FD37AF16B984F465CCE7DCCE5B90C4629C9BDF32A148AC2A8D910FA0E29C40AE
+58A65887C0B88AC3FCDF9FD19A59D338FAE6D5B47B18EEC3DF3E6E8099B53C38
+631F105389025CE542B1DC0AD4C37A1E3D3750549597D8ADDEDC2EBB63CFDBBE
+715A17A63FDB1BA66CA14F1654ACCFEC673896E822134793E25CB19CF345738A
+30C2271A55FE6738DD024B885E162DFC3ED25A48E4D20AB1FA20F042F0E0D7EA
+920F4F762E372079028A768E1376933FB79F1ACB7491F1A46AC493765AFE952E
+5AA2C99D424B8A2C21515CB0E5C8C3DC7E3DBF98D7023E4BAB642DF9574B3A03
+77D6AA40E3EACEDDF61ECD5C2CED3A01136149DE496CFB79E8F9D8996B7CFA35
+5EAA591DD2FB7901450B2862EBBDADBC91482B242AF0DC5F160701BFC2F19E73
+C90BF0F70BB581F51E5672A14084BDA05072AB7F4C8273A7E692994EAA17D624
+C973DB63D069B1BE80133A6F2DD6AFC294A90D3A91E08E2DF6EA3B25C5183E9D
+D2C5B0EDC2206BE65DFFBCE16BE8F29EBD3B88CEC4566A8E13E4CADC903AC00B
+6004D8D004C9811E952EBC5556782DE99D6B89D78DAA83B72700FC07AC2A1533
+9F61068E3C51536A49A03EDFD6362E3EF785CEFC3637F7F6FCF01C145C9347B1
+EB7275DD83638C7D2D818D70C1856311A672F796FCFA926CFDB4BD6D5CD9A3F8
+4F5813652AF596D0B0D8DBD656EFD44941B373F6C8932B80257C401C507A76F0
+309242DF0090F2B11E667DB0D982939669A03C2A9A1929634267795763A8C8D8
+69EC48E7123A1F2A59E6FED8E2CC1622F405A20AD944D6117EF0C5D99BDD0644
+B867ACC187FB8EB8E2052DA933C9050BAE11C55820F594AF51CFA2E492ADDB85
+44D6B9BF91A93231D73B0AA98BF2454E37602F225005B34511DAA2DCDC00E080
+40AEE3EFB786ACC3460BDCC960417C9DA3D871F8AB4EBEDCF69F156B60572EC8
+6CEEB6C30E6B96ED68F21ED71BDC5CF134BEED8F2B14D63F51E5D231702EDE02
+B371AA01311549C60C18DF8C8A7B5E287E28489A0A826C01E6B2DDF660B00E1A
+A5A774030064EBCCB783B252F5F16311E4B5D18644D4690A91C7AF7218265958
+9DF9BE85709786DC0B61029D0B3733BF47A500399BB692E83B712DEA255CF6ED
+278846CD80787D44FABB12DE58E695F7C442B012CA6597A30A7EE2044EC827AB
+AAB695150F84BFF0550C9F9D4F8C11FC2CEB8366AD3D64B475F8CF767983A702
+2DC5BC1542A3F724C481E89B6CBB22B2E1EF14F1A966D1C1FE77DF03F6122893
+C8234CA23370E373DAF64E07806B250AC1026C8B8D77ABDA8BC5E68096C761EA
+C626D04AB428377CC56C100C945010D623FA29C20886760DBECBC789EE408B31
+C2ACEB25E07F23F486A62CB8CAD305AFAEA05818B9123793DECF15CC947F9C7A
+CE4DDA5710854E8F741CDBBC24180CE13CE065A62F88BC3C3689F59A4CE31223
+0A5A539E3083E8687B5AFC85ED17D9FF44797DC18CDF03DAD0A6793E9508F010
+ACFBDE6ACD434EBE2D484358628B82D322F2FDF5415A76758CE9693027CF8DED
+6BD640AC48DB05298D0886BEB91A465233C3FCD0A965B9C4CAB1D5BA26AFBD4D
+F4E90A0B6953ED2D83C1E17FC13DC56868E90551373DA33CCA31E46F90CDE47F
+7B7A909E71C33BB18BA8C2B99D8DF4CD578C139335D392D8E28E19ACFE262B8F
+25720BC91B292125833CD1F2D8729A067A671C09D82F5E510905C4AD9DC4937C
+9FA882BE39EFA7AA717FF51D651EF35784AD0F79F47C10D4D453BE6827A66343
+554CCDE1D3333427475C9A51A91D9162796AFD0CB4EBBB2CCFEF4B982F0A165C
+E4F2620DC0EBAAD7CB7488AC299FE2FBD5F0A8E74CD1E19F9C00D07096ABA755
+13A3624914E776E46CA24159DD3BE2FDC5380935A3EA56CCF855DEB471E0EA24
+E1A6607A321C5D252E297074406BD34A186E5A27F0E9266B1A0E5C76E2A7259C
+BB0CF1D4C09DCACCCE45B1B7E5FB1014926B28B51588508F8682313E1E9AF6BC
+4C2EA9E0056849EDCDC3488A89BC2914FAB950ED916F060DE90719ED42A5200F
+FF1661CD953E4DF79C855E5334CE101EE702F70854C809BB02BD2EFC168D2370
+1C05BF3E0CE8DBAE8195882032806DF9CB6F255BE2081AE8B1BD4A59B12872A5
+4A7C4493CD027EB52EA2DC4DCD13C71A5CFC077C1CA0FAA472F3CD23EA5F6D6F
+B613C147306950661D3303694F5AE7EB1F61CDF4F0E26C3245F598888FF8BB85
+3DE03BFC9D6100853DDB402995BBD0C07CA3AC37A9D431D29473D499DA0F98B8
+A87611EE0290C4B3176742A785DE6D70AB8E359869159607C703D8C6C0DDD385
+A375AEA1A0FDAA7DFB69E3EDACC38389350BD1768104503CAD2A918E5EA8FBEB
+B8B18C4E86442B667B4E9C3EBE393BAAF460708E9B08DFF09EC56DE840C7ABAC
+909150D6FA50B338A41F346C057FE09E7FC87EA5037BFE59EF31B1EBB3A3B6CB
+92ABE96E01AF1200053C1793B9D4B235DC5E462C56579B09EBA3DA1DD54677C3
+9418979C7F9949EE69800F889B787DDE3CE77AC588B018501A94A34E04F4AB71
+1B1AF892AA7EB62E988B0D81E1CC1BAD21B74EF5B74938C0DAF1595799DEB2EB
+74712F1B2581407FAA136E26F42EB97F7079D2F6A089D8E0C8F3EFE37AC22D01
+2CDA859611A534EFC25B981C3E09BD83BB794AAFD8348106C04DEFB1C45048C8
+5F974FB0E02D80289B27687052AC6FE0518E0DF50B3EA48E94E0759633D838EF
+345509EAEA08E380A2BE2F74DED3632919C6D445DB1C5E71C586ED8EDE60B466
+2C7B23826CFAC7D56D390ED69612EA6ECDA473786A3C50A5DFA892BE3A805DFD
+1821825083AD2E60FD5966E604B66D8DA798D3A8DBD4722BE83487D63BC279F8
+7EE507546EEFFE498C6353DB5E2A34B916686243CA3DF137F31D4F9AB0A5F218
+16B8108CF1FC37DDABD02F4503F5EBC0D474D3B2129E41D7B582B1715732519B
+4C8D330C50A50F5EBFE2CA930D6BE2F259FEAF9A84536F2FBA0CF08DAC607A1E
+A7613C3A4F484EC7F1EFAC73D46A704D6B28BE98329516943862F2060D966DBC
+D65EB1FE8B28D7ECB685B295381EA70878A4365BE7C0BE237EECC44B18C191E0
+A643A9302AE5C0E1DC5BA7492973E15C23C1F2971219470E3A0E1BB5A53CA01F
+A762ABB4485832FFA96EC84B91365BDAD51725CE384755D894CA44C3A16FE96B
+C8AF6679F0F6E742323174554DA8E3DC3AD18E27C444B77A9B5997240FA58490
+13F7C1CE8AE4BEE8E379437C4A0B6CE990F0563799201585E991B38489DD978E
+5686A4EFAAEC3FC44A2394CBE15099D481AF4E0CABD88C2EA43983624280CB18
+7FDC9ABEE3520B9D1A8EA9B6374852409785067C44878F3B6F549FA52D67E2F6
+9894BEF1F2D1A290A77DE1E2222C098E75B57DA6AA421F38540F42B771AA0334
+C4737C29C0A2F6F9471056E6975587B26B386E98B3AF18FAB90A0CE97D2891D8
+D09096FC147E6354969E96AC184C225D57D91456DE27B20EEA371205ACF8DAAB
+0F5F625BC0F4DAE8D6E3394BA9C83076B121EB70B1FDF7D08423A722E84D9FAC
+58D518824C0A28678E595D391C73E8DF7697D976F341DA9DB4D470EE6671955E
+C0A52ACF5585B13658009E52B34B43D3CA68C3ED60F4C559F3F14679E821242A
+4652EFED5EB2FA10FD79A7625A65F55FDBEB039F3ED81BF813F4B2903B100F49
+FB969582AAF8E7915240A797598E64CA013C2A677553C5D3B31DBE97808DC969
+D93E1E95D84561EBF2DE1C5385140BFE6DC008C8D69AF6C9E66D494D4A05196A
+E0B0EDDB89237695A47476F7A8D4FE4996257A68FBC95463FF5DBBDD7AF91987
+53144A0F1E87C8802873658C26E2122B275BB100FAF9B45B31CE1626D8F34E8C
+4B328E94AC5357F209ED3CABB5AC998CB12787EF5B91FA3E3D4A41A76F2F4A6D
+56DF840FC2CF7B6E6DEC1883D8AC69A4CCEBF6E12B299D6B0FF47518543E0F5A
+5B6EF034F2FC137889537A47F3471D095CADEAF2F5E79B963BE37E51702B582F
+4C40FBF833EA25146D3B84CB7D7F15D84F055DDC7DE1C1761E92D747E5E9408C
+F76BF379111A752AB8AEB60C89FD2B50EFD6E0248EAE16979B34DA5BBAD73BAF
+066BAD64231F5B7AF89086E9A359EDA0EB85F31E83822C53C21B4288FB486626
+F439671D64CC07B4109EBC20D226CF1D14149649F18C6DA944C418219053788F
+EF41D2AFCDA16A2E3134E6291D0EAD43779E1C8E08C330E25FEB5D9758B0D90C
+4EF22BE46B227321E394771C0A197427D7577825454E014196A0D1BE31C8C710
+B575622D690BBDA023D6D6F5A0C480C44164613EB2BA73A122540C7DB72BD689
+D6B7CAB154E68E9821A1CD04F7A19DEABE8CFAD3B82A1D3F72C568C2690E3DA5
+825224B7137BE317F786BF68EC61F9471E8A602AD23A5574B30EF1C5507F367E
+EF5BB3433527556D50648DD640736C859F3FC09FA88F27C2494E6135DDC30EDB
+28866065801AD1D0436FF0017BBD84B83C499D2BEA0CAF173AB82201D8A5BFD6
+832E74A970CF430455D1333B1832526EACF1F10B1175C2F70F8C29C8866E68A5
+C1A0FEEC5126F5E1D465CF53A0691DCC9BBB81A2F1AEF93C3ECD6AE37EE990B5
+F1116A13946A893BCB15DF826A51A76D02B187369A3996CD51BB7BA9A175E9B9
+E01ACEC915C2CFF351D2BEFC9481A5EE31969F21403A46BB2DEDE08E1A714677
+53A290657A3ACF80B7BBA1C0A3AA55193D46CEC9B84A3747E4C1DE0502BA2707
+9EE55266F1E6560A065745E7F9DCA5C43385466521DEAB53C0EC9B6ADA2A1256
+55F2FB1FE9877CADB4FEDFCD8D3C406D8298F827688D9468A7B0F1E62DC71189
+337D4D4C96A4398D1E5CBDCB81D7AC4D6FA6D704C9DD67A2938292D6DF0D108E
+295CB442D7FA63DEF8B948765EDD7CC7DCE33F91367FC693D365A5D1BF443C8F
+517E671D1B0750F663A9DC740D201024E494A55D69A9AC4F1F4DEFFA14137655
+8301A8007A5E9440130CA4B06F445BF5980D628E52A48FA40B4605534DA31227
+815484BA6E80A731C5231EDBA6E6C1E726778906AE0A2610EF04A4C6118AF0C2
+C9F80D817EFB721AF5CEA77FA63E5A5D06823090D876A4A0BD80805651294327
+980A51408C688EF1BB8CF9510B964EDCB3090A98ED580DBEB04DD2539FDF92A3
+312E14FDD1E97ABB9375DDA98D7DAB52137BB0A23EC2D6272964C959B5DD3807
+2127D51812B0506A18C1C32E743615A46DA5049B1C7788B834A387D724D3D093
+91AAF5E85C79B748F764E5FF1C0C62E8219BEAB9E6C898A70DE12E45999180EA
+0EFE85D1C271F1AAA6B22ACD961B5F069E98FDD7E389B9D2321A92692F572A1E
+286723013AFBF1BCE87EC20FB1A2CA631CEC078616DA0B8820C7B8FC38E40782
+0436BD0E5FFC15AC70D64B29D480ED29E87180C4BCFA326BD12E039905AB2A03
+F5BC16012AD5B365EF8833E75C1027A20E75D6FC90BB344483A0B4B9524EA050
+1EAEC5D2B1A1BEE774B3FF449ECB36799501D4D0BBE3D7A238A70245CEEDBE47
+21037B436CCDF087A1DBA2BBBA72E1FBA1C67D4A9B6C31F83F5B4D4C22083636
+C6A0E02497DE7D9B4F1F77AB35683E747730EEEC14C8E8D09E9E6AA8BADC1352
+5F4E0DFEEFEDDF79120B52CF864C15DFEF485102954E594234C5B8C3A1B8E781
+C94F5031CBD7B4F9D062E026C155FEADC34F5155661CD54629CEF3FE900A8DBD
+C420246807D654AE74A7F8B12FE83845B8A223ADF74D5A1CFFB0ADA8B7C3CDAE
+AD5A531A02CDBED684D582C687FBBEA28672D318D6EBBF69440AC288D2DA0D8F
+28D071A5925CBF464873200726F937F753D8E46223D33BD852C55F18DCC5EB7E
+90C156D31073DD1208B1413233A1453D0FD097BD9436A6D8C48D2C06F562E685
+5403C65647DBFECE330FF479B5AAA85A2062CCAF56CA86EA9DA8A2665B718F9D
+9BD99CC45E71761462FE9F1C9E6DC5A065B4E49D71B8D075FF39763FA421EE81
+13AA6299F88E858E72B1BFFA7E3718ACA332F4B4DB0BCA5F1949C0A9DFDCA08A
+5592A71B93ABCE7C7532E86E36521739E2FAC0657152D683AADC6C948BE885CB
+4A138B3E52DEA54E47635249A3E91AABF5B0D1F2E098916DDB0033DA6FAE4E8E
+3F249B75B28A761006D7C5AFB5446D01CB817D9EF4C577DF1B8CA8538F23470A
+473475E4D14FFE1FFC3641FA22D67A054F64EB7BA84AA7F3B64728E413E73D65
+E688DF8F1E2FDA51D26EE06556F90415EAA03B9FF16F2D71D31915783FA3E336
+2A351A50CD17B7C0A18BCBC2B8D723BA2E0B274B8F729D2F98F748525754A991
+C1A2E99A7F1CE6796F69ED0B3B65456446F3E44353B99EB0EF378B90F78AFA7C
+DAB8AA429FAE0E131E106EE6D1FF50342A55FAEE220314797A4178841D921073
+FD51EBC4717549E78D2F0EAC656B85982FFAD6E2323FBE976C6FF8B5CF305047
+ECD4D0A288AC9C4B6C3AF1A31698DB3E0B89D1F53682CD327840357AF76EDF85
+61C39658C50BAF03B6FB5E3849CFD15242BDB3127DDFACDE0B55E54113372FF3
+EAD5683980395B4B06DDDFEC8658D0DDA4C4F510AAA05829E66E05262DBA15F4
+5CC0D71FED30C5E581430DCF1C97E594AF8DCE92C9DDA10E548DA7C0D267AC08
+14AACABE8E19DF560785F574ACD0CC405D572731259D6CBC837C7DA4E657761B
+AE01F94FDB34810BB3D0E2710AC5759C1393E37A4C32199A4AF79D6051F22740
+2F4A4B0B7C5626843DD6A7111E7F235E576FEFD15D0A539D783D172F6D81366E
+3675769A38F189BBBD7DB67F1657EABE119DAD594358D460986C9DF3BC8E5F91
+8C793CE4EF65099608002971537DD4C142D56A04B3F277B027FF88AE185F618D
+1EC38FEA4917BF02BFABC7F38280DDFE621B5C0D3B7CE7BF3FCA10A104D884EA
+759A102ED85BE48E2D86BDDB22A3EFFF736F0C226BEDCE80549C46C58227984F
+7820CDCCD6D91B1D3DC0D64413E3D864AA555B1F8768FB56B3F2730EAC6651C6
+08974F3C001C831E088298BD62FBB651D533EA0D560457C3BF1ECD0600891A89
+208E0E64304EEAB64E7BBFE0C311110B69326B281E733CDE3E830F18A65344B6
+AB0BC49F600DB1FD0FAE003B282A3E53CC777F30BC7F5025B2DFC07ACA3F9F58
+F4CA04D4ECFBFCE044D7605741C5DA0BEBAD465A615847B1BF36ADCDB90D6E43
+A380748B53A88A38DA85596A6B9D763D6387C86C06029946B611EAD2571CD348
+4BC8156CA7DADC70B3B52305C87FBB149D4C2B494E187B88A9465D41B7506ACB
+C95AADD4DC86B73EBA2F8F9BFD114646D5F63D76076CED733312F79CD35E2636
+7C62214EBD2EC427045912F2641CF35F55EE950EAAF3D46A853C48F2FCF39E85
+F95D45FA3BAA655399FF86EBF5DED9058AFEA9F1ACA93E4CA45098ABA10DC21A
+82AB37DB61666C054AE9A7B0CC5E5BB0AFE5853AE83A6F2B195041BEDBDFE93B
+3FD9AE1C1071850B1322A2BE6661BD792875E4E1FBC1F5403C92B5D359823BFD
+E6660D6186FCAA2F8935812473013CB9FC8722E5826EF24892571029A9B2E04D
+AD278B866A3B3131DF6ABEC661A208D41ECE38246BFE505ABE1FF43AA9FBE173
+5976125DFE94748AC9E773CDF98D97C452DE40CEE2F22E096D56988E5FCA6F75
+FF26F21ED8B30BEC538A6EB6A32C91EEDA9E6A418AC7B65BD32C98E4D4905CBE
+732557CE8F13867D8DA1FCC26AC2C9EBCB4E5CF02A63622A7C78A0E4077E6C3C
+8124DDA2EE92EB024F2A9952B40AC4F268C82391A57FA6778E369691E9E45262
+6CBFE8465EE5E88963673530B393E1BFD2B31E3D4A179F2FADC18B3086AFB3E0
+C907E77553FB505D1E77B38B2B7BF7ACB47225AAF5012527825B05A074BA7DF6
+BF312FECDA6231935BF47DF86825A2597343AE6AF3037993E3FB2AE3887A0F8E
+D3A18F10A0EB221C3D0745429668C14160BB103C632901AE636E94021704C1FD
+229C48B75EC4D56D68C3FE65555F3433801436C5988D5C284D9FF9F5C0292916
+F92A3E4CF2A837CC9EB5817FC75470AD738D5D7FF7B2A1119D9100A832069705
+045ECFE15AC37413424FDFB1596787037513FA5C68B313FAF2674AF5E3146E88
+DC49A761BD3B1E7F6D7D4FB47837C020E335FCDC2A412BB2D6D26511BE395108
+A24DD06D2273A7743E1B37D28A33528BEB674A0437DFF8EE6CF20C11FAB343CF
+74EF415D8552708D6B8FE071E44DF304CB0DABB4DDFAB61021A433D3FDFFC67C
+E1F3C3A77C896D8BB41F239903360FE2CF43DA66C8F91697D3F51CACDC637F01
+3D1B0F5870C799F437E74F0E189559414DC0575EDFF802BE346227644344FB00
+C99A34939D08752FA14BC8FB82F01CEAF5D7CD37FCDB16A109ADF1C78953887F
+DDD35FFDE006E0DDB2D23D330176AF281094580187F2520B5243FF3709DE1F03
+0FF1AF46F526557778C85D838D62D8AF6EC569881F6E7C050B9E513D8285F690
+20E471BADB6037633AF4C5B170844E693489A3E839B41BD0E2143A780F0DA313
+23D35D2D4F2E62285697B61ED869AE81019DD391DF0408BD9E8F6281B1B927DC
+7540DAE676AFF9D9836C3D603BFAA665C416FA7A7E469C2C04451D3CAA4E377B
+44F94DAB0E73261D1E687079340150864D1BEA9C2D339EA16082B5A44A1C75C1
+82847F47DD03EDDFF32752D3E02E99DAA3B8DB957B7466973D06403C29B97F24
+BB8E98E13A8E9320D8E781913B20EA7538B818B8FAAA9F0824D95C2740987F32
+0B744E78A349D1DE89C448A320BBD94B8DB00FF6497B755027F03E5F54C75E6A
+21947E505134FA5EF393EEC36699E02C91666D159233E757942B27AF8C8330EF
+6259A6A50F5D8C44490F79239ED9C23CE1CBAC6F73B63A792F8F3CDF9088A7C5
+9478EE991E68D3656C0B7133D069C1BC507AA1115082390225A165B20C95B376
+D3201EBB9CCBAFB4955228F9C505F4C8A52AA46595B425D58FA6FE046C86A065
+9FAAF35EE91C8BE9F86A8554CBDDC09DA7A50E40BB6C5F2413F29DCC224B3963
+65AD2E5B379C32FE1836F6C4A34C61C49B9211999E75CFDE3BECA0354E2780C5
+8571551C9F33738AC21DB34538B1C1CB210BA109D665FFB5B532FF715F3F92A1
+8BFE7CB44B0B1025F7F90678655DA0F6733FA47EE8CC94D5596272E071DDBE95
+FE4443FA9A12EB34908091266102825BCC944404D0DBC94880C847D8C4ECA6E4
+58153F94CC0A5E79E5541DFF4238D21606CC71014C81A3471CBAC3D5184A95B3
+F4BA024FDF4CDA85A5036F4BA06F60AF697F0393C959076C46C8A1E6D9F981DF
+3AA6D1D0E6450CCEEDD93E9C32E602F2EDEF336AE58E192439E28ACD713F48F0
+4E17D2DD2285B486611A1D0BD75BD8A0F68EDA56CE7818840F37B2DE318C4A13
+A0F5DA34277B63ECB86C6069CB108173579ECB9DE09D648A17D93169AFD3B955
+A2A5903A5BA40F8EF974A1629833B197FBBBEB565B2860B339BC24DEF8C33F3D
+24969C37701491EBB7E8060DA5B2611932AFE8DD212D9EC4DEAC39C18AFB5B7C
+7EB41BEBF049D091BF808A5AB6931113F76486FB719523D908C778C90B7E3CD2
+2FAC73A7D615AF840BC898348535909350F587369BF4487F430AAD05E264AB58
+9B199B3656FD5B2EE30E84865522317A803DB4271408E03D5D1D58337C189069
+B12CBF1EECFD7390E99E3BEDB74C1B52BCF211D87CFF0421591541DCBCDDD787
+E76287821FB4B028B6FDF71633A311B37195B2114B4455520BFACA0AE008C532
+1DB9ADFD5D826D23F60C0D004614A30B940ABB17C0AC1F3CFC89C120E9760778
+44C01C3635B23CE5CCF9C3501EE6AC22ACBA5054BB51708DD215C86DC2B91393
+DF87672307B782A6637015B4D7FD94DD76A7B4459F7FCF0B56FFF2D9F933EC08
+306C331F091A85796A2C3FD0DE120B7E3614AAB3507B6259A22524DE6431147D
+99F525D64FFAFB0303C85808E4417944F56DDF77493F790F487EF7B946B1717E
+98A120D8DFB12E04C15BCABEE0FDDE6AE96B1EB12151DC559C5CA04253D43C6F
+E8DBEA0AB991F68580E0EFAEA156CE4C30397BBB6B77E136427CB54184F58F3F
+04A2270461917D234047AACA8263398D056D15F7BFDF8728B8E4E96EE2EC5D17
+C301079EA0D7BF7352EB1CDC808FA0606369C5D970606FA9A1A264AAF0AFACDB
+81EDE7FFFD3322ACCD8AA9BEE2BF58547E9EE98079E9E652B2B44BF40FC919A8
+6D93FF069DC89EE6B7DD3C7BEDEF8904C3DA71A7279A839A4898885B3BE61A53
+1FC8001AFD5F2D3C67EC848FD1A9C6D9A1F3AA71C7EC53C6F9D0AB5B18090ACC
+BC709E15AD073F908F7B2180013FF082B4A7129A719A3BDE4D0D2DDFB471475D
+570A557A578528FE23089BE67219F7961C18F2FD352AAECC9C031A3DFD102A88
+2DC8C741596FD630BF9FA4967F3E4A55B79DC79A87900866D98B88F25B30BA35
+FF523E798FEB65FD8FAFE1AE2E8D5120455FDA54B4408BEF62477CDD881661D7
+E2168F5528F1D9665C3239607C39A19F44D37E6301EB005BD0C6B0651A4DFAA0
+30409C5C10BA9031263E3C9D036307A513B1A1A15770130FE6EFE206DF689FBB
+F92114D3C10DC1AD88E10D4156FA2D07BAEFA5A3E756A46D9EC838DF5A8A288B
+BF28CC24EB4A50F07CEB8C65E28EAD4C39E1F9EB6D710260C05288897F6B923C
+B54D4238AC9D4C67060EBA295A9B171930D73C2358B8F2CC28EAE996590B863D
+9E7A5BC2342995ACE7D4F88741E49F797EB7FF08B8D42E1315573AAAED1E95BE
+11F2F8718A95BE4CC399BB8E5B26813CAFF85B93B8757C3D26DCB36C4411E0FD
+D8126FC86FB09EE3A243A90BAE287CE9CFEFF48D8DF37A5839E4E49802511B11
+810D030373A9BEBF406185E80797E66E2FAFB006D1B6A9C96BA8E4B0B4F52B10
+8DDC3E03CF3CDE14BA0C8D5038BD7FBE0995AEBD046D875EF91D5A4D8E6F3A0D
+F26A616751D0AE2AB43E7BB2A9BD9FA78FDB69536C5BC1D4403FCE0D9896B1F3
+6988EEE0E903E88E0C3745FC410EA85F5BC3379E6F2325499287C68E845BB448
+5EBC447A5683B96C69FEB150C270FCC5E8FF59C04B586C1973DEA3F9DBFF71AA
+939D27C78C089A96D1C2A693D7F4276077829324D681798D3E58350C8E5AF735
+6C262BABAD00C6C757576EA0E462EB25BF9D9E05EC29BE90A5571AE272BA6404
+F7B428B0150CDD14498BC1B8FF2D5F6C004F4D81030963A09ED2A4E162C5E2B6
+C77914390A35CAD73632F8EE97D36F11A6D81BBB898B35FEA3D8113F56C6A7B2
+BA73BED49CCD66AAC38D8827227C5EFD98ACF80D5927A0C004F2D317AEFD92AA
+1BFF1242D31636F48315F72C963D99464A517BD3073E8FB6A6E3BED023CF4579
+37C6520C28A831A9C5BAF45088D6C08DEC85F3E155C4E26721F45DFAE728B374
+96EC34E4ED7AB4B1599536FBA4570D07CC5D4B44DB3FC2CECC9F2D6D8A45B783
+B4080E437FD8B67B646D004DED5CA0EB26961401DD9E471B3ACC165C42310B08
+D3812C98F37358A65BD4071B164C6C6B952F7BB5826903A8F7ED9361DB25A152
+34165FA78B2615D98F8272E1D92C35FA9D984D0DCFF2CC0A8DC37E7195C80F5C
+26539378FF46640369571FAD6DDD7B385105FA33F684BDF134C59799E60E3B85
+85F2EF3B56FDE0A78AB57CE6284D055E55EBE9CD9CDDF0512CD1D124FFDB34BE
+0DB3C60DBB0D682FB90DA8F919B67D9E8972976B6AB6EDF4465D4428F07C900B
+454242768A1BBDEB38412F487788A5146B776C0809371DF3F185D5442C87DF02
+E8A6D7B2C5B6951511B06574D00356E21C19AB54B3176556B5289318D9EA3F2A
+E9E871EF3F9FEC2ECE45FBF68304C967AA2CB31ECD6377F02D1CC417CCFFE858
+7A8E4A5046714166AD865833701145D8DCF040E0E4C1921A06413AD9AF323656
+C2F3F2278479E7168F2FE892CAB7F5223A00609D58B4AF30B4A45ABCCA30728A
+FBFE731C6E826D6F240AEDEA3B99F85B6A370D8DFAFA62CC1B19E76F02A7E87B
+D4089D2C221995FD7DA83AD6F8181AAA483BE98FC7CE5B159805C3DA26CEE874
+57B2978C3E0285145FA96A9B2AF0CCE5CB68EA7EC95B166FF24B6687B020083F
+A10E639CDE59F7E59309F034B8DFD24C3E2479B83E57E25CFE67A2DC0DF375C8
+91E28313B03851B2F4CC917F2AE82FBCEB0CCE4F46C65F58F0BFAA3025750E23
+D916616FA7D88A90A634790FA1F403A7D583C99558B348170F6871CD1F528C80
+CDD2EC08D16EEA6642788AB015B834B37EC2845F83836B1C08676903B9ADD123
+C868E72A74F06B5DAD560BE028DECA2109210D32B231E30CF1E2545DD7B4C68A
+3F7946EA6B5DF7BE832E5076EA39C64561F9162901D418B94B97A4705A9639CF
+59F7480407D4C0A42B2708F156127766C430F86D5437A4441D3DF83C09B6BC75
+E533B0F96323A243318C2B1D2C38DA14ABA8803C15847A5DB49EB0D56AEC39A4
+F0BA4011CDC6D2AC0F7F469CC896FA6FEE960CA744E17A94D094CFB1FA136A6E
+A5844113A881DA8CF6E9A17C8644AA7CC149D73674BB9E23C7FDEAB512B5A5BE
+14CF8C7E94555961414D80FD03C69A9CEF41187123479C66C8C8CDE9FF16A45A
+39034CA2A45AA158DE8B3AE3509253E10121BABD3D17840618A2646F73B07E43
+EB0EB40FE4A7561DAC79859487BBC9E5CD46E13566416EBD16644063FE1727E9
+7F504D7D9CD0BEE3376A116C96D5F296D6694178778AFC44B9B06D4FE773FE2A
+651156FF236F70B509B68DA2683EF1B899E90B96DA8FFC1DDCC5E685082390D4
+9E55FFF0B4C22B60B9A24A34C749B90DA95969EB58A53ABBAF57EB13E00F5940
+EACCBA3D1D330932A475CF3871B29EB03CAA33CBF5EF73B97AB7D3BB0BE1F30E
+D32EBD2C56D30287CDB671904F2D8CFE0C8E8B99BF2E9D97B4896B1334BEFB03
+BB5AB9974692770856D2C1C6E544CB688EBE905CB2C56044DC02F34F23010142
+EF8279E29161C07CBBB60634DDD5F83E4EACF81E1909297A43B6ADC3E899F47A
+41088009AC604D16675B0D46869BD6804552B4DBC387C46B4113B1BE0BFC56B5
+53A04F4E2D1F874D3D04873A9623CED065FF174FF6CF094A6F401846657F6760
+83A231132B24EE08C7DC19C20A1AEEF9EBC291518142C68B0152B0ABDA981EA0
+B52C061ED89FF52C83D1E87E54267B53E7B70BFE11E12F03E667FC94954B82F2
+ADB1539B2C9EA18742105DE6C8D98EB5D5884A2CCA46F302CC3F01685D53B60C
+E20153395D1F42AC8194E0F80A2A9146A3F445D97161BB62C0C3A3B6D940C63D
+746ADB286F7B87124002FAFD3C4873A8779939899C1755276039943F8C80BF29
+2D8C6A53090A0073D64EBE58BB56CAB7AE3A1965800DEF454E3B49932850CD95
+89C4E6733CAD0E57718CF4B047D2B511938C14A9DB02B1096A62ED7265752233
+BD6603FDE98F1E5F353A07DAF565423E23F9868A3C239C4E0F3154A2A2D7D72C
+843C2BF577526612F35775404AE259A3AF07FD60C18EB309486763F95F8D83E8
+40390D6A4330D8A8BC7EDCFDDF35D92AFCD7287815E875E2A0FBCB6C9AD2286E
+F9E4B2E310D48403418720C93C307BA54A260B536FBCB14A8BE3F7BEDE7FE460
+21EE62AD2BCAFC0D22E3F31FE06ACFBDB6A75EE4E82580BABCCF4A50A1F9BB8D
+0BB40598F71D5A41E21137AD0D10AFA953FE91F5F2D77FF7518007927E3B8EBD
+04D22BAFC49447C51DCD16DB8A1442A582A7D42B87FFEE1237A7E6D8ADF24EE0
+ED80B64232B3FBD2505B9D3C15BA811024803830523CA8CA7F0E3267834AE74B
+CE956BB0289DD30CB462D2B433C4A703FADAAD37E7709F034295128C0DFDA3BF
+5426749CF1B091036478AB7EACE6BF1B9D16347596F6C99CE4A748F7C1FAF036
+EA7B52CD1E738637488BB252CD9DCA0AC8CBD4E43A7D7BEA8A37766C74666DB9
+87BC8D5F59E761A96C9FF0C9858336F527238E6987D67DEA5A2D76981D682CB4
+46B328504202DE579C501FB5CD968ACAC8BBE645551A80EA58E610AF9C1997C7
+C28D68465BA1282523A5548E166D4C6438BFD09272A6DA455BF8F9433F9A826F
+661965E2A1B5D500A1BDF01595343164CB202930F045885DF57A174A2F92998B
+18CE592C8E9FE0C032FCA5359829A178748D88E7919FBA3E5C512EDBC17FE06C
+9777C224052395A6635A92687AFB695F7B756BBF18604F89B5B35FB34E4AF83F
+1761647B6EA6F9328B1D98D4C01D95F2A4C624C89CABD5D13B6B7A81C485408D
+54501E6769E6798686EC746F406B5AC7D79BC18954026346C56526B929645817
+4AA79F861DAC4B016DD9FC4451124834F5D6D49D1913905F951F6A1557907554
+1F61A6EF6AB30BDD46E80ED54A88D6C02AFD014AD06F8A580342F227A9A179B2
+A706025911081B585926873C4D760E446972227FE6988DE2526572C264F419D6
+BA8458BE65774CB9BF8AC64C1986CD704EE52C508DEBF7D34227172DB4C9E6CA
+DE2F01141BFB5D11D5C1150B6AED028A0564509829ABDA80BF5ED8D67F48028E
+E5D040F361DECB1C4B4EEE546383E5D2DB1852CD507931A608641F572DB35334
+67B956CD2B10F3B9AEDF95348883725CEE8FD6FC3241AC406B9769562FFD515E
+8DCE4C10EFE1EDA26934C6F54DE4CCD6AFC691388DB70F6676191C8A425E20EE
+437C3D83A9F10019CB64B029464A7988B70285C3CBC03FE4C088C1828F0D80E6
+EE9DCE67719E6553352B965A339BFE5A901BA8CCD19AE5876E33C3911DDB5F75
+8BF8DDAB7BE8E5F3CA4B5FDA5D1D493EA2207184DE8FC05F02D28647D218E1DB
+05B40BFB267417C33ACA893F7298F43B11B6E6E4519A5898A31DA1733FED25E3
+B89EA375A300D8B82BFE53A226495274EFA1CFC835648B3B6D40277CA3CA5273
+BF209DC1AD8DAEEA7674FAE4F76289096605FABF493C71F7EE19F6BBE3EE9B29
+705476696D7797B90E86795819E830D4CDCBF135B351B47FE039950163C30DB8
+883EE94652DBB7E52212672C654277842E3869BC336E34F11883CA8D73A2D867
+68083489DF474E5D9E93E82FF7D6E53E8C39AAA17E059A88E19DEE9370418BA9
+87BDFECF2001DE95FFB8B43397DF3A3B9EEA9948EA2064011A18C8A946149FFC
+618A22427A61480E0E01524C6EE912F91A7AB50F612D6199DA68914B9FB77A9C
+AAE29FE7BBD1001DC5A05B0EF8C0A047B323865A9B03966CB35FCBA5348A8325
+65FA15A6F1105FA285B713D983BFBC89C26344B20478E64D0152CF1995D19936
+42CB35983A647E1C2397F448C46BA1640A7B167962BCFDAC01A81A5A280E35F6
+631C0709379658E711DC725265F6BB057082F4A5B15B1AD97FA14DF7E98B0EDF
+F8804A5D2B58B9A2C31E4220746CE72FCB13F19C769FBF517616275B1D09BCFA
+78A34DBB7EE210E82CBE47C11456974A1EF37A30B4A486947DBE26BEA2F5654D
+C6C1CD6AEB04936FF0902DF563E8FE36A9EFF440ABF0DB23A9BEB0F15E675E68
+3FFAF60A36D7FEF957289B0E8C6D2E4CCC1ED6E70F9A2D4DD48CCA14E2F47D48
+B84F128B674F64CE70AD616CCD9C2FEF4347F8A0B7E477F597655A366123C0B0
+43CE45BA523A5B03CF6B24E7D7DBC3F1DBFB4CB96D64DC8BBBDD6A1AA414E6B3
+82A8CB1E746B1D3C58A34FC0893D1E9F71C07617CB2B240A4D171D143C6FD66E
+6C0D3CB7045B411599EE16040A3CF867932B7186D7FBFF04979242FBA954C345
+8CCD52625A1C96F3EB6CE261A9B8ADEE3A03FF10D6184095A1FA0E2A7581E6B4
+23F62AC3AD6D4B6C705A3FE8C292603F71CEB72FF9134E86F881E105C29B7980
+6EA291361AFFE83279608299DF31672E2C41BA9EB285882BFC1C1D34E544539B
+4F0596285E26E5408457B0B7DF29E4FAC717F73E907B9E7E8E2DBB5289993537
+F705860C9AED41AB90330B3D0D46B330580EBA7D1154885C74B5715173292408
+34450907E45F5247001A441EEEEE67E8689E1C957383059E652281A8338FA282
+D9247643EFE539035B0BDB68280529CF712977AD351616DF396646BB540531AF
+B4F6943A992E63C0D41A7E4B1D34A4CB422FBB214D8CDB80D1EC6BAEA254D691
+DB730D99D447D892EEA99EAE6D5A2EB2FC9A40613AEBE5DB42C83AA822E4BC47
+89880FDAAF71ADB0EBCE10DA9FEDFF23A31DC35F283D410C561728E4A121FD8F
+60B487BBB15DBB309F94B8EE0BFABEB002DEF53C4BAABA8900A85BA07B09B435
+AFA429842C995BD22353B39DD60681DFB0EF3978BDEB08AE89A2F8D5A947445F
+EB8D1C7329102C29539E8255FE1CDF780EE7FAD66EB2FBEDAD852EEEEF7456CA
+A391AB497A300E547316AC5DE3201955628E668810F56FF5DD3AD6FC344AF8CC
+69A7364D971719DF51B5CDE2C798881D115AB677314166C1EEC8C656AC462CFF
+8653B191094F1BAC25E62A1B7072595B83A47635AD24B01408CE73A8F37C3241
+F915EF0F1C4AA2EDA019C0741C874D09E217D205A0E1DB9D234994A1AF2BBA7C
+FCFA17FF51C3EF0295CD2A473834A8B04459E9DA1AD8000A001AAA1D37FF0F13
+7C47F570EE428ECC180916D447D8A1FE3E61AFD1B1C8C0A6A2A68ABB1BB2F58D
+89142913EC06CD43067D9EC344EC550DB4E05120B9958EB909E5B0E4BEC52992
+37B221D2B19CA0C3B76754733CB9C2E92FFE6F0F3CF856D13E38772D10A3A47F
+32C4977D351B165CC77CF5A7A058307C38AF290430E2DDA105D7740FDB82329C
+BCC5188D45DDB074BABC2C836A4DF57F37975D228F572DEE5B730ABE903D193C
+B9FEE2BAA52D96E6E6E1DE0A9712E7D35B3F1AB3481448F519143ACDEDA7245D
+EA04A8785262FB58623FC93695AC71D63FE44869A378F7C84B7D96993B506527
+FC9CB99ED23FB42B2E8E44CB54CB0CEFA9857B1E2D8D835CF8795BC41F57BBC1
+77CAC72CE36097FC8819A0FAA91F69D39D1B4952402E1FB940149B12F8A1883D
+A7743C2372D0310A694A1992F83EC6DFE40F939DDAC05515162115D1609A129D
+28B0A4A41237FD295316BD21A2BFD952A5F22FAC1DD39309924DC3BBD588C846
+BC5E079C79B29AC92884CE0BCC21B3752DA76253BE0932492DB6C930E120E275
+FC30DD0F403F0B0D25470E27668AA9FD2FEE2D4927D88DA2A3763620376615DC
+2E9DA9472789C53EBA16F2D5B1A3F58452095A9958A4F1426089071014B493A6
+418877DA0B9571871AF05E0A6E231B51B959F7B6B27966AF4E7400B78ADB2F5B
+EC7619FAE378E21228E88D5DBCAE5F5A5F6212D7E30C370CD0D29E564AA01363
+5B6C83B8D708B542BFE9789CD5E5455329FA7FEA44A4A4F60818FD6CB14F4E82
+B32924F2EAD7815C2FB31CD64A5D3BA3043AAA1D807965D8170F09D263205A73
+0E631EC454B7CDD32E10FECEF07F8EBD76AD31064B8780EBB5C72FB97D8AE555
+D3A90A576A56DDA351F85E80F4FD34C84F42B1049D3620B6C48E93B4D5DB9E5C
+8FACEB6CC1B990215A296B53EFA396023FBCF2A237F26C26782E01C3785CF217
+5C554476C1D477977E764607C7BB3DA98F1DC5531A14D21A74B8FF9109C7BEAA
+7C53DF87CF5B54C94B5AE896A1B83AEC62E747ECF564A5D6CBB1B8D7A0A1EB8C
+40FD32DCD9EEEE9B54602743226D5F5E5FFA20D57A7DB57A3DBDE0D5F2306A06
+92C5F55D4A61625237E51CCF620415C65C91707ADB05716A7D46C40F50BA9AFC
+CE00B87CA1890C20693FCC674B0CAF2DF1D4F059581704D0116359508FFFC44E
+CBA7CB09C7DC3A9D325FC4209EC203177087974A287AC5E7E92BF2C8ACA61162
+0B22E161B45C7310CF7E32939BAB7950D30575A2BB6AC10DD6B1A54FAF98093F
+7D7F021B8057ED719A1823231E62D87384258BFB71E43DFB0B90D42B78E32DB2
+DA5A50927318E892921FC947AD8AA0AC377869C23301806E1DEE8036BA871A3C
+EBCD52010187CEB075D508D1B30AA9137DB417D7AB8456EE9D4E88444AC44278
+A1F99FCE4EFE0A0B847BDE8315BE07B57BE1E49E968F7B3CD9F384ADDF410218
+E18797966D46250AFD931FCF1E7EDA81C1EC6807160E0B45B509047B5BE9715F
+2167EC7CC20C2F5F010CF4766513B09DB8E57E802E1D81D8FC4747C25812C9FC
+CF8911CBD0A6EA1306BA164F64FD2C3777CD7FED4D053721EFC209C813948FF0
+EDE45A757C6FD958533BE1593D672B9FDCFC028E5F078DBE76729D6943688AE3
+F1B1F585D74ADF1DB099612CB445EB1A43DCBC20AA2348C5FB32F2C4E55FA85C
+5D849A772996E9B1EAD9F391900A0CCFBEC2D13BA8E110131F6A7B6387E84E8F
+1C9FE694C159EBC92BC6AD42B9266D7AE8BF6F7EE11AA20094DC9C8CF929D557
+7C2294DC7AB644DEB88B729F02F8A021E2AA2CE324
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont 
+%%BeginFont: CMR7
+%!PS-AdobeFont-1.0: CMR7 003.002
+%%Title: CMR7
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR7.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMR7 known{/CMR7 findfont dup/UniqueID known{dup
+/UniqueID get 5000790 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMR7 def
+/FontBBox {-27 -250 1122 750 }readonly def
+/UniqueID 5000790 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR7.) readonly def
+/FullName (CMR7) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 43 /plus put
+dup 48 /zero put
+dup 49 /one put
+dup 50 /two put
+dup 51 /three put
+dup 52 /four put
+dup 53 /five put
+dup 54 /six put
+dup 55 /seven put
+dup 56 /eight put
+dup 57 /nine put
+dup 61 /equal put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
+0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
+51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
+7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
+E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
+0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
+C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB981ABA2ACC9A23A5
+3E152596AF52983541F86D859FC064A0E3D5FC6647C3CAB83AD4F31DDA35019C
+CDB9E3DD3FEBD4C2B36BA3CF6E6C7DA85E25D8A31A9BAD39BDF31FD0D1790707
+9DE6A078E8A409D8295F642DF492AC4F86AC84383B0F4C6BAA7C22AD5A898A71
+D6CB34D2CD12266C486B75E75A69C14819DD9BB8159088E04D4717E576B8482D
+BDA52110AC8B8A80E4E9D58F470EEBD3CF44A1E1EE8DA318FFF3611B02534FC9
+F4018C7C57E80570D2F634D98BE5D5EC6D95051157F0EA94A3D12BE0B4B79939
+F82F8D73136D3337C44E314B0B16CB030D9A12E01FB667105F334C3EE965E5A3
+D410D2F1531547A4497C355AEEB295CD3C5334BEE5232992960B757594B89F3E
+52095042DBE6B4DA3C3AD50CA95EA9EBADA10630B500CF1FCCA7D60306743681
+7E428D33B7F7C40B425CD58E4CD8AB474BCE6A307BC6C6EBC15A8A96E0E2977E
+A33389154536F5C5D8CF036D07F24094E779E5ACBE5502C92892F10F4C6DB627
+C7EC4C7BF20B39418A8A85D7FD9B0EAAFD871DDD41F93BDE5FE619AFB8711824
+DE890E62C1969A6FE28DD3578AF43D58A728FAFF0B9FAA640962C8F35A26F76C
+67F3548D6DB54A25CEB368B47F97EA2B0C4D7C0E7894A4F0C823C6C1922CF9DC
+10E05600556F1C7C9AFB33A2DB6F8730F70D6BF94B1FB0887451F2FFEEF3584F
+DFADCFA9A2D4846B8F0E51620E1327D994CDF973B837D10C90FF76DE22B47CD5
+EE3183898D156861AB4DFAD34A1E3FA260B8164E6680BF58413A553E88F6100B
+C4F4E8E972C81A5F88A7DBCDC308B4C3581BCDE13877B976B1F84330839FE5CF
+C78551620EB803DF94A5C921F8EE24F7EF8FC4C3E1653514212631F54F90E3DC
+E9EAF96E998F340C4F729ECF7AB430FDB7C0BE3DF2C0D23015820E28B743CAD7
+7F0AE95413C3EEABBC69E852F53EE1DC260D7F1E712BECEF2F18437DB23D8E74
+2902AAFBC733AC5BAA452DD6F3671859AD836C8564E99CDC4183D8495AFD99D6
+1F0D65B6588CE7546717911E25BDCA6C2649E3A7466A3E2DA7C7994A30AB4449
+672EFD00632EFA8629C1AFB7D53D801028F77C864869FE636213A69173003EA6
+BE1ABA95EB07B13D1594BEFCC95ECB0A9CFA9892EE0677D6B6C250855762B7A7
+8E4E022640F93169DFA0303A0D5E73BF3E0F4D4AAD10FD7E4EB20532BA30371F
+E9F480F9513432946F9828AFB5D4AEAFA5829B2CB544E5EB634C4537EF7DF08A
+A1CFD94A52DCF0E7CE4C5EFFB01E6D50558B75DB4C8D5512B06080F27BE62E01
+2EEA6A0357441401458C842D3DD4C35B8F561D816B336216CE0C14BF77648AF5
+E33912CF95872A1E1AB9A18980A0B29A881D13397C15E1CBA5D3E0B27943EBE2
+F3003D15EB446BCFC1C231832475D5B7AA19E4CFDE119D6CD62D053C6D29C333
+5F729791D17B3F7108074EEF4D1BD101CB33E01004532CB0D716D2E54D169C6E
+80163E70C0E9081F31A1ECBAE079D2A518B790B0CB2CD03DFD034A0F4788E800
+B0CD2DC1FAFDD487C2F381EBAB2A2F3F3AF82021B211DC9CD2FBA6A1BB3D4AEA
+4C7F3D9A5C21DFF284CCB827D205A69638E98D5DD8E36AFC1A4481B5CB2A2E8F
+D6C838DA6F81990F5ED928DC7457501B5C979FF4CD20A830896A460C5DB13D56
+A3B2B5D9B292374A9BF392894DD99FCD6A1E655AB395E839F074D1596488700C
+4E2891C8AEEF66568E82A8B826F9A28FF84D4D9BDA21F638EAF96880B4EBE0D8
+081982F34831A03BEE81FC177700C2360D2A48915EC40D5FE85B400E175D5AF1
+067FA0097904FB647757BB44B4042D30D1557BD0F7922D731142FD682139CEB7
+58CA4C8C240A0B86B1888CACC507E24E04020BF1882BD9B4CAECFA97DB24D7F5
+AD64C69454027F198BA35881B94EE9159A2D73E450C3BDAED66B886D6DEBC84B
+653E165176228F88993F12A170775A8D7038BDF2FE8DC1F7B98BDC02D1E6686E
+9B834F6C0AD90780B17DFE25F0A4E470CBA84E73F2D22BEE09A040F14CFA2C14
+0FDA5A5149B5FAFFE49F55EEFC43831BC43A8326FEE9C7F469C0FC3B000884FA
+41DA7318EB57262CB96FC4EC7F16CA07FE1C3BE8C2DBC8A8135953D6DDF20BDF
+75A2B6D26074FCE752BD32FB9F5CA797775E8DB9BB9786B469A3CD65A0D9DDDA
+C2A166E454A94860EEF5B5C12172DDFC576A03F6E6F8A735FF21A3E9CCB4CAA1
+3064893487697986A42CB5888B2B0A79FA3C74E8187BDDF7BEAB884B70B8D4AA
+AC6615745AEB906E08BF831CFDE222F58D02B428D55E9D5A3CDE74E42D8A2CB7
+E1A3A9439B678AD438793ABBEB72B21C58981DAF3EDCE4BB93D95F4A1E943BBC
+B3A012DE92FED4F232A3A7D60CE60B605151F9C7C18A5C653E5D6D15E5B49A63
+73E7A339504D0ACC74B8B116EA88C3EBA2CC631AAB29F761E5F062966AD2FD28
+7FFE52FA8A115DBE23E471094FFB3CBAFBDF11B7E9058313F2D069B2CE98A962
+64645738F02A31E2F2AC11628724034ADBCEE012721EBF0A567893411F950410
+B20754A7510D041FFA6144AC9CC46D846B82581F20BBD001D34D9764010824BE
+61C30D05E5C5D100A24F1917F01799CF5BC4E50FCECFEA732CB50196825F0E08
+8A1EC868C6D4357857EE2957E081A0E4372E31A8ABEF23C3F2EA0FEE57DE4D08
+61C570175C41AA0C7A3A579ADF593F18B4AE3782D2552E4E0759C32E059EE741
+2D8191E381731769F6648B3581CAF11DAE46471896666F18F02918B0860BDA3C
+BD5DE777672447C23C62ACFC2611ED5239D6A266FDA6031EBC5A530C1A2FF7A6
+B4380B9A4C877267854AD1F1677CB5433F28894ADF93D39EAB94541A8D232E08
+22D082D0951A60F62B87DC028714EC74133A4D65F7D0D1296C0E189C4A42AA98
+28E8AE7ECBB9FC8DFABCC6EEB1E9FB06227F90808EF31331CCC5D4C9A6182181
+047902DC9FD0444FB94B60FC74F3B677758088CE6A159D940C5CF682335E756A
+8BACF06AD7225D49B0002392C889B0FE2C71311D2596F4903D12FA20BA2FFE25
+A0804B4BC282929BE31E0F46B34532CB5795A65218CFAE21F390792DA67775C7
+B91A2BF4C16DE4F6551DAE3A5827F616BE9040EE6B1008DA2F99A01EF66D697A
+6CD1A44E0A15D1F39EA8025E886A68A1E9C334327C7703EE721E497CA924AC90
+7723106D913C5ED4BA4FC743CEA8D0F5172526107DA65775C0B1B77179D336C2
+9B09B608D80B1A1E87CA1A84A833A00D980D919BFF56F6390E9D5B45E9935CF5
+E69D003564462F750F7DCE02DC23CC215A0696B74D8BD3156A392A94F557655E
+00BFAA035647568ED66157FACC585E411F7F428569C147DC43F6E4FDE693D0F3
+9917BEFEDF61FB980B85515FF6424824E2D995B05CA1E5D3E8BD8D3281DB7CE4
+E54923E84058FFC0A8A2C491327D0F87CE4C352B724167CEE224DABA3B95757E
+4A419594BE4F92E78BA6D35D4C93D31ECC3134B24A45DC32445725BB044F09A3
+AA8C31EFC0A2944ACE2F2CE054CF24DB350FB3C71115518C24BDC0F7E54250AF
+9D3378D38480E1CB9029F31570C619A28F065CA4FED5665EDB96712ABEB33B9B
+4232C00C1B0215F08D53F7E430887035AC25BEAF06942FD1B6C442253C887AB7
+D694C1A6115C8990B4CAF1E81DD1FDDD6B03C00055BE956BE7FD8A4E1049AE69
+EDA8593CBA8C4A41E046C689FBBF9F1B64E5856A7FB1C61EC815A56DE2A8ED33
+41F370B8203D4E5B19C63AE9E6E0D26F4F3814B5AF48AD30EC9B8402C941FDD9
+722FCAFC638FBB835F83DC77F93D367266FA7DFFFCB567EF82B1695AB4D94D09
+B18AC041811027229DF431F5CB2BBF6ACCE9D500C8F075A74590641C1A607C56
+D2B8624797BCD9C91C3177818691FBB4744EDB6056464A0B95B8D63F7C22309B
+82D6126E2057BCC9FE5566D96B7A9B201A09B0D3252A5494C8CA2C8BA8A13C29
+37EF2A882D61DA708C279F663D88A8E2999A0F3B6F98C49901A7631BF7708B67
+54D0B4C52BF4BE0DA0439E6763A7C9D639AD4092E77B13D3510DAE1475C978AC
+796F9B2AAD3BFF35C5A3E19B5E2BF704B3BBDF68CE48BA4FA2496D60E58888EA
+28AE12D00E9F0816FAC190590A865BB58569A91BF0345D01230ABA361442006D
+BA2C90EC2036BBAB79EBAFC3F217DBD5854C519235F9627A1C3C71D21ED38AEF
+0BB40F3B86BB9F09A3F309473D8757AB7E638DC1C59A7F9BCD49DE4107A2E54F
+422767FB94048987847205584309397F554744690ACFFDF5902FE5DB355930B8
+71863217830DD7A563B0B3A4025ACE75B0E777B4414B62A13B50C54E0E6D47E9
+D43BF769B9411B74E1069BF71BA873B4B8973EC9BA492A5DEA58D267872BB246
+10AA67B143D0E2223FFB4991E583E629413CC894C3FA4869B72D19CE1A0CEC8C
+0FF5E5A3EC1FCB7D3C4289813F0D249A11B55104BD60B2A89BEF44CC77CCDA9A
+065B8B83B4F4253AA1D535290DCFAA4773452D110D2B3370F9E2FE5432B54A9E
+644EB3BA9BFF62347F376839024CD5EF3C5DFD30F412DD5474B7933E6A1AB63B
+4B12F2417C72D0543C26A263AEA53E5BAEBD67E23553A72E949DEC556BEB5D09
+C4D7A89B14FE4EC68D0E3E9D65A64B285E53590F418EDA8175113CA375A29930
+DDCF4C71ABB26CEB800C2C2B253AC1F53651C88A56ABE5A74F3B54CB4FFDDB92
+60AD7272BA25EC2F6FB759AA6E1E7964FB55AD09F4EB25DE45FD01833947BD05
+6266AA8ABB7DD792941C7A070FCF3A4636FBF8921C70298D42FE92F079DBA2AD
+6149D9CF9EF7264DE6DFCD4429949B15EA90B596340713BD61926DDB2BB23BE8
+F9DE38A31620A817420A245946E551463960A8C5C7295E3B3D6A59BCDF5E472A
+40B7A2CDDAA43CD8AAFC411D037142579D11054A903E102DF0D0C7B5BB854DBA
+F3F086AF991F7F5D5C730F8F9AF213F25786F3EC0E54530FF912F4876FDE16B6
+A07D0DC4FC46EC6363BCB68B83ACC448B801EC43FDD2F8BE0E93D809FF81E38E
+176AE17C67C85FEA58EC95435434C49A950AA955D8B20989C550AB1F1C31B7FF
+99422E1F48FB7D6F327C6DBC4695A03903DB275B94CB39386E46579271870A25
+21823E75C377E9D5B46655E8CD8F986372CF8BA846423E26582315A9D19E0BF5
+305C32B2A0EAC3ECB275B1D8BE11A37ADF524944219D94EA2C5DBDA768828B6D
+775DA8CDB09E0570E4ADDF462EFD8D3FA3F86B1DEECDFFB699AF6507257C1879
+16FC615868C2D51F03CD57BA38D42995D9164B257441210084DC409B6EE4C119
+0B2E17B0A8D5326DD0010E4A325D5F77BF935693BC90A00A28C7B5F74817DA39
+F47A41E32F4F92AA04D30D810F7B1484EB53AD8CFC8CE8928B570314E0F713F8
+AF127227190F9C16BB73D2A217FF801C391A29095DA5E4974D137A0CAA7DE702
+E20DD4755B1D78739756A5E7EC3542B96AD6844199FFA2F5F2E9C64E2DA4FB2A
+ED79869F745C59D235438251BC2E6D26112AAED20E06021D1AB896EE1F1DD2EB
+437FBD4A25E42245C5A647493FCC9922E6DD7AF57D5D482921D1CBD6F0F02949
+C27777144751C1E72F4EE2BC343D4AE7A8A8758123B54FB1A026144C643651EF
+0907A376945E19A8FC7F98A034832A5820A481B0823F980F59623E0511593FEA
+BDE6EFBCC0383242CBD4954027B075B21F10472059A480D6E5ED01C3B07461CE
+9810251A5C5643EC7403130C2246E8616CEA25EAC7A0076731FEA8CC43BCE3BE
+933FCE61067F5FD402E67E2B9DAD954AA77C5BC86BC5E4BCE2ED676D8D8EC7D0
+ABC5C86D82180B9D5D7451C71B5149B6B67883578DE9909317928C0A92E3205E
+F23015400A1763A6FBF67FDE3318AD2696685A1832FC31CF38589EBC7CA1C818
+60D2B2211E04EFCCEA88D9A9082E82951EEB123924A267CB03C48889032F2892
+4227E217FA28F87E01CBF27BF1EA60641A4238258CB7AA355908FE36D90F5CAD
+FE992D03A33E47CA9AEBEFDA57793F39DC6A9E85D5B289F6B862B35DBCF82E43
+5CD6A862F6FFAC36478C384C3BDB0148CB1FEDF55969C776E77917635B5A65EB
+F2AD351D21CD3822D43289FE8EB0FED58182997097C7E9F4373553AE1CA92083
+EDE3BBE6C3BC7009D15AB5FEC6A59E9FD1BCC7B2099CA15FEF083B9CBF7B890E
+CDDDE6BA0AFF306C76500C945DC91BD533FF9A585CEEDEF79238C54E6168001E
+26FEB29E523EE501BFA4F60B782B1499B07084C35A2434B4D29D3D8E2C8F945F
+A9922443B68D07DF7EAA1F4CDEFFC438B597D8943E231B5216808A85F30EDC81
+9DF5DD22F54A45335B4C2203887475F39D247F0E7347BACFEAF220ED82F9263A
+6488E73C1910023E505FDEB143006C1A351D441AC57F9D52D2C6D63D78C75605
+999885676BBBAD56074298E0BFDACBA1830BA58E87F436CC670EE8EB1870154D
+72DDBBF3794F8CAAA3F1E11DE29752DD99EAC695838A19BB67A1FA3829B6E0BC
+5301610A0351AAA749F456AE31ADD87D6ABADCDD1FB3CE81C3713F48780DF407
+530CB284B2AC709F52EE7AD647DEF9FA4D2A867CCEF728F3D40CF34C28D21527
+10160B3DAFB5FE16AFC9D36C6EC4021FC189005862082BEA60AC72B63AD27D72
+FAF3C2D89DA2648FC4C65104A069212D87144E8533CD86A6D73DC7CD9DBA25CE
+7DA53B000266F3871B24663C77723703315C5E4A89DFCDBAB384AE7EB2F455AE
+AB191FED406F7F6EC9E5B8276EF5C4CBA041AC7E8BCEC7CAE840154BDCA3232F
+15711ABD1E867A434E9787CA0A6D1F197597DA27ED2402CB2D84ED082E8D3A39
+81E6EB270DCA4E7A90E2BEBD3CBB3A2BE3CAB926192D7292CC16845B6399A543
+BCFD224BB52F21352732DB5154FA3442733066CDC3E186D8AA97CD801DFBE43A
+116C86889BE198DA88CA978B8C40ACB67E8F7BA499DE68A6FF0DC72C3D00BA1A
+B378B39610F15CA026F95ED8155CE3FFFFA2E2FEB352DBE14CEE1669F2387B70
+55B91185FBBED764266215D518716EDA3DFC9E5DB6B148A553E75AE5E38E1CFC
+6EF47B314D54CF24BC13856F4F7C976BB91D143DE32FF49BFFC87E17885A1893
+BA1B8E441B08EFC04F7D103C1FFBB665194B3D0920473740C55FB1C50EBCF717
+A2359B687FCEAD65616EE89A68F8D91AFACAA0B238EE4AF0279AF5BE5294C3DE
+A7E1F5E6248C0210E7D40683F04B12A933C746ECB517CF94BBCC6E4CF49AC715
+D8005AFECBDFB7A6B417DB8A28F8E9EAF39CEC1CA64DF37A5E66A76C26F721F8
+A63B003A040A62F87DCF61B298F960D510BEFA453F118E59E7DE8CA3DD002EF0
+127EAF733D5C61B5132348D280F84D159809CC71A3C6F7373BBFD8D6EF715D34
+0016DEFF14AA5F960BF1BB9AC304A1823722843547BB4CA5EA4C41C6C2701C8F
+7BDC810443F9DF34BA469A3260009B799871BAF8523C8763544DCD0B382D44C5
+F75046AFF85F0B5A3188C2EE786CEEE5496A5AF4BCB0B429CAFC403FB983EFE3
+61FD9F52ADFC38E07A0FD7BACBA530D2E4DAB2592AA9564843E7E2305047F060
+C5FE4243FA8FDF1B5D4F61ACA7850A604FBC6D6970959752695C90F78961B4E2
+C8CFA41082B1A37405AABCEE5BA3DC2B9EA76F486117B84728EC6D8AE6379CCB
+402C2AA89078EC992C00D53151E9D82C65643F549A572A20F05107A41BE5AC57
+8EDE92AE20B05E2D0C98151CC92D5389A675DFE39DF546A33A84A4C534337ADE
+B17C34E09145B37CE1EB1D10D42CC8D6E6B127A3809F7202381FDB88D42084CD
+0AEAEB8A8288CB56870EA2BE9D0B9DC8291021CA561E2BA388DA3494E433E0EE
+5E69DA51D0AC505C9F71562D3E9750F23CF14D2C8ECF0692FBBCB4A92B48B4B0
+AA2163A7E18E8FCD41E167D93B600EA8F397B710EEEB490F61CF81FE31C93254
+2912B987A9BFB87F71AB914E836DEFBF5CAE7F91D91D44C4A9D70992C1F31DC6
+AFFBB6B4746899019E44605C4B1825CA5F3FBF96A21E24C2B7B08D084D52D8AF
+08626BD51584CC05DDFA42B196E9024DB542D76A79A2A2A29FC6DC756A71F808
+728A2EFEE04014E47EAF15F9B9D348BEB927CB2CDA74809941539B92718AC156
+0490608F78ADE49A8ACA8D973C77FA015D982C53211F5913E9E705599C3EA349
+ADAFA279CE3D68916281A04E31B43C9775495C36C1F01F2D89844797CD4C7989
+DB35C7A8FF93C8C339B45C23BC0A53FCAE77E912288D82D1D5D4854F6C3B355E
+2185F626DC2E80C0CA4307024FE7E29F31D38CBBCB47A1E525FF27F953A149C3
+80122237308031A5C59C9706132D098BA52ADA347A996878BA0579844075A33D
+2E193FBC2FE8D4AE9E682D072F1A06A93D4A97D3E3DEC9B40BEBD83F89853DD4
+E223F1DFFD615CEA95C026C680F0E2C77A4BECA64400043C2B084497F16488EB
+014030997C75B6EE5FDEC558CED18AAFDF715E2E3A24C842C7298C5975D68F29
+D09553834657C4185C1A86A224B899F96614ED813BE271C3EFFC51C71E0C4F25
+54BD6F1F8D8D07C87A637DBAD3426FC1C81FBB16FE2AE5FEEFCBF6E51C6A5A67
+605A98171E144DB39DC0E2454E9B143D22FA6E0D4B9F2ACFD07466D39864601B
+8C726A06B255674E9303C10C28F569187BF62F8A87B3A0241B93C0F017D6AF28
+B8EDD89014B23401860AA2EA40BC12626C125FF4DD8979FBAB439117E0BE64BD
+91A726065DA1FC87700A40C304E47E2507EDD79BF25BD273C47F8BF54E089AA2
+815DE7DC219C1AAEF052D9B4EB1B807B688975AE9453072F300D0AF84C1DB795
+BF643E3E3C624D27ABA35D5E834668170499FCEBDE54225733D1B7134EADD8AA
+E3B09BED2BBDA71DDC79A498C80268ABE1A06E87DFF0018D1EA3344D3090FF7A
+482A5242D3DAF5F9BB1A5A52FA28150F8A79C1C6792591A3CBF4CBA99156737A
+BD585D71FE5FE50938C6C6FF794FC5AC5CC7BB52B34F86E95965E375C7C53FD7
+0A5BF985984FD8BAF260F398EDD9B6749EC08D9B25CA7FBBB8DF90FBF2DBC907
+8E181D3CE52A5C19E20320090DCF30B4C8A91B8EF88659E272B72127369BA7BA
+9D0A3AC52910DC04E89F69901C86923ED5726F8CEFF57F15312F90CF2A6A4667
+93EDE68CC67B5CC1BEFAF4BFC0C09220B5092B78E11FE65FC227C075D4C5F8EA
+D0319197827EFE2736182F847B4304DFDA37CAA3F48E34347C2244960D1A5BC0
+5105AE2C0F952F1F09AE34EF4E7CF2795FB6D079889A2FFCCF2369AEFDD1411A
+6F78E81DADE6CB1E36FB971DBC621DC645CB0B78C8EEFFC2E235FA425047CB4F
+0362EAB37E1A67205F6AE1FD6FC77FCCC29D3B8F48E7CFCD2CBBA2C70FFA483A
+1CF95B56C70106BD03388E25AEC34F8ABC43BBD2DADD3FB976ACD01E1883A9EF
+6267D07A15C964F0FA7C2B9C82E519155FB0915E7CB8A970467E4A7224B509B4
+928BC5AEEABE9D010589DB07D965418ED5281A0C1CA60F7D15ABABD6E5A6A677
+7020E373E210D256EAFACA0FE571C0F92BC4B53E2A05B1C1244304606C6C1F15
+1614FD0080949232EF990490384989F2ABC312A3D87925689BDD3D2529D02DE8
+3B88B5B67C97320D0E1A8A6205F493D9A09D2A2EBAD79B980F46B36334A715AB
+CC9F6E06B607C69B4780E652496373C59B020F9988396C19DD9D39C46F856387
+2660747C753748FD829E0DD82A44CD718F28A9B6FC802F43CF9D1E4FBE8AE961
+CDC0B62F5296493C3B57BAFBFD5E5C3D22187280A26369BFCA6CCA94533770AC
+6A4A028F95FBD8ADD2408BE2E16A517163FFABF332DD702AC4D9965F1851E291
+67F8DDF8E1531BCF9434A033A41F78ED3E7ADADAAE485247477B67EC2784BF8C
+8F0FE44458A5BADB442D68C1171C1B1E247402746DC8655E4A53AF05F6DED9D5
+6407CC611DD20AF6AB3083F7E238EE4328B359643C955C0B877C014DB49DE4C1
+EA2F12F4DC500B95E24C53CE505A0DECE01119DE1886E5040F6515229FCDB2EC
+32F92AB88207EE73167B29F2C6C3E80481A1B974CA7CED078380EAEDCF2B00F9
+03730F3AB6C677ACC4BD71FD5EB039D7542D703B919E68F7EA5FB6F1D574B65A
+69E4199137D114FBC21EEDD53FB4C3F6BEBDA2E679B672EC5201192B285E14A2
+060776586983E9D6E3DBFE961C4B362444C35B649FC9FD8985474CA7C4BAA7BE
+0849856C7C8F3D03D6E6673196630FF0CCE79BB3A3CAC78C9FF03C91FD4C4990
+C79A889C4028B06BD43D38ECF2FAD9DBFD939BC79F072A5C15F807F2F677A7CD
+7EAC7BB9641000160CCBD3886AB6F9A90D738551CD2240415F2F60A56F1A5936
+823328A501971F7CFE36C1CCFE048866FCFC5EA6207FE132B65C192E0127C75A
+880A49C4250E9AD074FA2DE488A2E0EC6A9F7AE5DB635F43252294F8644576BB
+7D34415FA2D4768F782FC2FD2DE8735001393A632462B86ECBF90E66019B272B
+8EBD68D5A965263A305A1731608F64EE104FA40F14EE6A0CCD24651A425A6BA6
+6269C04337573F51746691838E60DB02ADF4D0E935540447C07C92097F0698EE
+DFC9FE2E1CB570B743AA1B8540F6AE121D8B50DFC324EC351376DC0EF811B296
+8DC2E1A9643BC5E81C59D4AC3E81D0269B041D5F509AE6F1F8279BE653F97661
+70AB5743393D11BEF0C8E5D4995545D9988B811654EBD6ADE59AD55DB8757B68
+42334BD43E9B2EB43CFB40A5BEB78B6FEBF3E0E903EAD3520F2716D8068C309D
+26BA32750A6DAD91402F20EE822CE4BF4A68394E2EC7
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont 
+%%BeginFont: CMBX12
+%!PS-AdobeFont-1.0: CMBX12 003.002
+%%Title: CMBX12
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMBX12.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMBX12 known{/CMBX12 findfont dup/UniqueID known{dup
+/UniqueID get 5000769 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMBX12 def
+/FontBBox {-53 -251 1139 750 }readonly def
+/UniqueID 5000769 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMBX12.) readonly def
+/FullName (CMBX12) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Bold) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 11 /ff put
+dup 12 /fi put
+dup 13 /fl put
+dup 35 /numbersign put
+dup 36 /dollar put
+dup 37 /percent put
+dup 39 /quoteright put
+dup 42 /asterisk put
+dup 44 /comma put
+dup 45 /hyphen put
+dup 46 /period put
+dup 47 /slash put
+dup 48 /zero put
+dup 49 /one put
+dup 50 /two put
+dup 51 /three put
+dup 52 /four put
+dup 53 /five put
+dup 54 /six put
+dup 55 /seven put
+dup 56 /eight put
+dup 57 /nine put
+dup 58 /colon put
+dup 59 /semicolon put
+dup 63 /question put
+dup 64 /at put
+dup 65 /A put
+dup 66 /B put
+dup 67 /C put
+dup 68 /D put
+dup 69 /E put
+dup 70 /F put
+dup 71 /G put
+dup 72 /H put
+dup 73 /I put
+dup 74 /J put
+dup 75 /K put
+dup 76 /L put
+dup 77 /M put
+dup 78 /N put
+dup 79 /O put
+dup 80 /P put
+dup 81 /Q put
+dup 82 /R put
+dup 83 /S put
+dup 84 /T put
+dup 85 /U put
+dup 86 /V put
+dup 87 /W put
+dup 88 /X put
+dup 89 /Y put
+dup 90 /Z put
+dup 91 /bracketleft put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 113 /q put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 119 /w put
+dup 120 /x put
+dup 121 /y put
+dup 122 /z put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
+0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
+51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
+7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
+E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
+0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
+C01924195A181D03F5054A93B71E5065F8D92FE23794D2D43A151FEE81296FBE
+0CF37DF6A338C826464BA5198991445EC4BE80971DB687336AE8F74B516E333D
+2D8AB74D362C559AAE6ACFAE49AEEF4F52E28C869222C1301D041E7A0BC1B608
+1BF728EF9E98F3A12EB2714E7F16B14E055FE1FA0EEFB058860ACADEDA9D0E4C
+42E3C6F1E4869471BFAA3760175F3FBD842755A9D7847EBF605F18293B42F557
+FBE2715002669091BB033E1AAD657532F34F7C66E4F04D63ABB07E6CB9D9AEAE
+78EDE8B79DD9BC87A1FF445EAA05B5572BB880E69F4DE1F82D7F0E9980AB0C18
+22C448B0B1722D3CC33C56FF287CECB80658B3AF5E7675BE82CEFF3DAD5942EE
+A03C955FF979E41E54BCFB5316A9AB8945C403A73180D0961416EC9C92F49811
+4B91BC4C788392994587517718521E416D469F69952149FF7F9224377EBA1065
+4A727BF806A112A7B45B0A1BA1D5A23683960575368D9EAC8C04753BF7465AF7
+95F25C258C63E4FDFFD0B412FD381946AA38C0B961652BCEC30322C47BF4755D
+9F91880688AF066E32FFB22E1A52DE741307AD3ED830D6BAA1D1F562919666DC
+5E8FD9862AC8600B0AE0BC7FC779252AAC57248744ACC8A8AAFA836BCF09B0DF
+9253DFBB1CB77EA8A59D42D1B18FF25E9AED72FA62FEC3F126F030F5D7DED9C3
+CF60FE890BA4A48E39E687BFFAEAB96AE542A6387F6624486037C8924002A511
+BEE5FBFD780AC1D4BEC3FBC47A930BAD0280D444259528B6C565DE11DE36BB65
+9BADC55C1EDA1A80458E98896D782DFB5C137897419602809F9BF8CA39F00C68
+EFB9E076FB324C2963F23CBFED28B9EF70EAA4E4B903225D1F199A7162AB239A
+D92D71C18B1B682D04C6A48926275BCB16D413B2A0E953E1257E0B12D8B717CE
+2EC84CFBC046A4338A69F454A469B12118E562B4F56C5FFB3CA5D357513E6FFE
+947A564B229C7FD873057D5C7CDF03E958294A1003B37D8DF565A70A00A3734B
+0138AE5277D383D10C2BD853EF806D3CCDC47739F0E374A3DF3B63638B949ED6
+4EC25869DC1C0B1F4DBDFFCC97382841D8F10F3635C792139A1EC462FDBA379C
+BE0990CA2E70FE73137AFBBF30CA54954D7E7377CC50BDD780DDD4C7FDC77AD2
+F3EB1169F14A0041F18160F43C24FAF556DB5D621709FBC544CE55424F7446D4
+6AC07A51C8CD5161AB0AD5084A96FB35D77F1CA155147DEF8D7A590EA6939514
+D4A226588295CE0007BA8A550895511C8D80BBE5CDFB8A50D249C3BDCA974415
+F5557914A9B805782F399E4078DDB6264F1A49A9A5BA45E284A5196E9828EBA8
+481D357B8D9E6ECA631A6204439FDFACE7D7E6A2392726107CB7D2517CD19A24
+FBE592C119626DB221BBB635B6EB84845C16A9585282E34958B961F4A543AF9D
+419B6A9105BF185FC767712D923437BE08A9C0EB92AB6792DBDC671029B6FCA6
+7F717FCE379C0F3B51C6CF042A762ED04898FBB4B0105C3C4ADDDC18C51BAA3B
+70A93666669547081D9246732CFF74C83EE90DA17F5B4F8BAF47FE4D81590988
+2858C9B96071341FA0A0D23BDD4947FC9BC2297913CFBD4FD6CA4303AB3179AE
+0203F1BD502065F90CE9BEA3B52DAFE4A29446082EA0E6B1D7AF1F31D0AD02CC
+9A7FACE2CA86E5FE0F6A425B28A5940ECA306891CECDB3CFC7A5BBC76B5D9E8A
+C754379ADE80B4D72CE493010317BF21A0CF4A0A55C1246218839DCA3F4D626D
+1F4161D38F54AD5142C1CEE95C61D8BB10FAD4B772F4955777AFDE8AE5A837C2
+A2BBB11D0BF5DA2E63D0B75ED421DBA9C789B281B01846B65DC572BA69591969
+21265DB722AE86BD8CAA3D887C975A617ACEDDFB7AAB341F47532AC0F354A530
+7662C089DA3939588774FFA16FC4A52555DED6D6F51DE718BF5F345C23C90198
+17B77CB8B5D53A5CE7A79F3E286B6A59F3F6178AC8BF15C0A15C1A8A95D03B60
+30EBE53DE328CE085CD9A1D49C69AA299C5B58B24334A546F6E274C1B534DC8F
+3289553F560C2F81E413ADB92FA0E7DD1C2F39D5FD268EBA97AB7335ECF28257
+96B4EADB7D0778706CB41C7E9C882760E7670936774A1088FFB2011115FDADB3
+B69EBD5108760762521C25C968C3E282DC3400001AC8FB1EA27FF643E3025950
+1D617BB8BB321281708E496277E11DD3AE0023DA9F25AD06B39C7CF527FED27B
+57397E88D3DF70EE4FCCEFC8A0927D6B05517E571B3E70ECC99F3CBA32CCD4DE
+B8BF22626B6C94FE65598A88AB90D238461EBD9A098DADEA4091AF1CDD7560EC
+8E1B9BC2321686E1759E6B8A270C8CB4A254F7368039602EAEAB86ED21CDED91
+8F2DB9889F46981C494C7EAF5E819B91C129F0740B8002B510014985E5791F59
+B16879CC6521D8E9F1C4C1890AC85A78022BE614BEFF318AB2616F0C3F02405E
+BB425D1555472A2642BA7686E431DC3FB8A1688B76660D9957C3FDE8D58109AC
+21B1234C9DDF3F0FAF93BCF7B2F88A001F23162E1A13E5E9118D51B485B70A91
+D0CBC39CF44413FD8686D9030782DAB58064F5B987E0402AF5B264B17BD31BD4
+FDF63951BECD73ACA6138854EF35B062D01F33073850D9C09A818828C581241F
+A625AB3638081DD0F00F946BE5450D38489CECEA4E66B4D85CC8AE0157E2AEE4
+A22A9313829F24D573101D84CC1784D1CED7DFAD5DD966601370C6CCBB723082
+A86BBAF0A5D867D0D2E3CA16E14E5109A29EF02649C47E12E88B3B397D65CACA
+DEB9940B92100744D686066F8250FF30E5F13D81428EE238A2E4E07ACE0F5C38
+7D79D4A336D0D26AF9C2B84088ED8ECDF94A1E3FADB45AFDAB46CAD6FF950B0F
+07AA2CDF82374DA76C56D29C80138841EB13F0D02ADD32F88B23E282ECC845F9
+BB9AAECE9CDC644AC2D49577A92307A83A99434F6493156DF25DBF0FCF2EC21E
+8C50A312C3D19E0609C0038554CF4FEF3ACEB7A833FD54B06EF0D617C2971C89
+E4C06075B09B84A4F78A82152B9A9C540B1D881313C2C74F20ED064A9606EC2C
+B56D7BB4797F1EEF4A9B13579CCF311FA4A4DFA62D80FDB7F535CC6526D1AAE5
+45C008EAF024B48C377522F74D939A475970533E645B1BFA81997549AFF26F67
+2AAE6C2EFA357DB3B525276EF330905688777057F4E4CBF584520A534A8587E5
+5A8360891E75A15205E8ADAC4A4E5A6E27D0C4A7D492216E4BC023AB027F37AF
+A8DC7579BA50204D5F45A51460C5BD8A5A7F87668CA6451137F2F59E117BBE28
+5C40820882A5546FA76F0CF49F8A6EC445F0647CC3227C400F56E7E9B84A6975
+E85E243CC1666DBAFF4E07EEAF3AF71BDACB30DAEA792F2B8504CAB071544F01
+5D66243D529C479D276FE22F7E275D9E7FA9C6EECA18716B2F213916E32C1D94
+6E32397B41AC6779543218E506569E3544803BBF9B404A983EBA62A494187B30
+8D3DFA4E1237A2E5E08224A60492C09ADAD8775B7CDB830520829BA164209ACB
+BCDEB2D574CEBFB7AE4BE72DF4EB1945FEF2458761AD8DCC0D378AEB7DA002C6
+9C14A665DAAA532B0ABA98D7BFB5A6151FF6703385AF7AE8FD315A492FCCDBCB
+B825707F9566B3B4943A3C61C3DEFDC31A843A2D67AB06891F3E110DD8C73D3B
+B5E4151B51D9F13905D7D94DB9ABBFCAF35F43B6EEE256B1A80ED6D1739D8D5E
+8C767F6F0E8704C5345D028A2A6DAFD9BB7AA048B8B895FE9423A7ACE858BADD
+595CB074A128DAFE08FDFFD6BDAC0114159A702FDCBF8013804B0CAEAD7AF38E
+FAF086A3248AD4FCA1401A85AE2F72E3E6956DC0996FE8ADB18F89B14A208A15
+13F81AF73D0DB72F78C4DA634ADE3C73756CAE6AF2E149C26316DFD93370BE1A
+FB4A79F77A67C07CB0A53C78367F21661D4AFE9E27328E077B522B50FD9AE2E3
+DA087BE481515B5DD7BF894A96A84A6C78874100505B7DDE1D22EFCE8D58B3AB
+313AB5495F72E2CA4E6AE22C0CB854302B9990372F1661D9F0A517F90686F248
+C5643008B3D29F7296E5C8FD4049886662EFDD4106E17C879F5D41CE84F87E89
+F6A3117C968B95A35940CC29C43E1E0DEF51C1E46B676301F40D59615C3F73DD
+DE37B72FF7105DB84227DA5241583272AB1C3CD97AE11C1EE98FFDB5E5F44844
+8FC41BEA5C54B26341AFF6830D9D0A5A2901B0653D8BD0746838194D240FF753
+E99750D3383373F453723D86BE97B571B8B84D8696089B5CFDD53E6C562A2197
+A8C4FB0CC690C27761A816B441029D3D306245052E0C41B53025D8CB7267CFE3
+C17FDFE348E765326F91AEB700CC49162DF748171214252CBC821493DD01AA20
+417D66DF47EBEFFF3E9BB2B0A2BE7D9B8C68BD570FC2EB0FA54CECC318F04C43
+19598BDE93F2F13DC7847354C99059AB20593EE51E94F9D4E9241869D605AAF4
+9D9B5FD88C3798A039A67993C5EC68B6326B132E647F67EACCA7F7AE7F718D85
+12666E90D7C73EF210E344964A38228B236679A2B18F5E081234CAA2458F8D83
+3F0CA308D19663CB12EB904076EF88E556407C33C9380A6A3D68A9EFE65387C1
+A1BCD2D26DFD2AC0881EC30E81C0A4E76C244A2BD822EE88C4A60B480D107E68
+90E419A1F512E865BA922A7830909BC2611A80931CB2E9344529586726614D94
+3AC5200FB9FF68AD9686506C5EFA8788C0AD0251AFE7F95E84683380CDB421C5
+B1A783B6D5F3A6BD1BC1C14B363DB01C87C0796DCDD5BECF41A1A9F43183CF6B
+82C2AE49F0BFDC5DEF7729F2E638EE6EA9E4D059EB9BB1B992AD8C82D501A550
+1BF73CBBFE740179B54E193E84A55DCD61B343C1852780FFB44248FC9426AC94
+AA2B3FE20FBA30F6C4D1E0FF3EDCDD8C0F57CCB50CDB0EFE2E04A8927E239C1D
+9B026C7929BB48461D4D695FFC766C8A0E545B1BCC2AA068D1865333108E7985
+2D93F9B00EA0A90939D0D3840D59B6CC0CE2C147B2E1A9A4F14270FE3ACF51D5
+99F7349106165AD627CBBB0ABA01ECC6D3A14C1DC1ED23A9DB9865BB4396C51A
+31ECD001EAC94B33C34E29C5611148EF3E55DD61813470B8F3CE32564C749414
+3C93C77EA5A3538A0B5AE3FC4DA32813B06772E0E48E25BB39F3F6FDCC077E86
+F86FA50E18FD19EB2F37311CE87F18F3BC85CE7FD71CA92D5C3264E34E04A2E5
+70C79D99F54D6C6D9D527AE45EBB48411221134587D2253E7C8ED7658EDCA34E
+5E768DD14E0200470F73C44D006CE8CB35DE1CA3EC10ADC668B0662A7774C891
+84EC95A31DD872F0728D9F65CA80940080E04630BE4DEC77A2C49E3913C39978
+BF145F8832AF2C4385EBCDB15F9D32C22CBA0CF950877717D6F1591D7C0B8047
+8C9BFCB16AF7124ED83137695F3D69228DB633053208C29E0ABA1B06A7FB3EE7
+5625CB44927E2DA6E038A6E62DEBDA2D96A03177982D8FA33BAAF4426E05F4B7
+9C1748B3FF7691F9888E7FF864A10B9DF761A41E6B5CFAD2BDD7E1C4924AC97B
+F4B352705316DD1A58637CC12D71C18A5CA691AB2AA8F171590EC24582B1123E
+94D4DC587D8F99E18A711776BF4013C96446BFECFEE4C809EA94B169088024DE
+0CBD20199A915AA406F0BD5F3D63D1467C49B4691AEBBB35ED6624F2D7BB74BC
+E80FD92B9FD04DD9C2BE9B6FD29EC7EC07FAB447511C61DD299C783BC09AE2A4
+7B3CBCA6A20C6631D06D0B2E2482A50612BB7C29B7E7D0A205EB0E8436702581
+596BC996ABD58CD8D5BAAE4B1478195CAFF98FE0141287296C4EFB8D2E7A8442
+F0A3AA9F9264329982532295A176BA1867EF732BBAC49AF485D9D0F7130F617E
+7F7DEEF935874D55A22240F8EDE4F247D5F73481373A392D40A8076BD91079E1
+1CE5998BA13D48D56B49A92B4A18430E316405D2E2E391B496A1934671FF1785
+AF42BA3B2D14B8E04014437FD194455C50289DFBA61B5C377BCBDADA48E82DEE
+4E70EF5E9DC03064907BCB8BE4D59DE069FB0C0CB140DA54708E630767313F9F
+744594AD8A499CFEF733E640A11FD74E46A749F9C7D18D49251BF85C6EB4668D
+67598C31A8F90922FEAEAD4B83B6E7184567DC798E4BA1C4C9B3461A478D63CA
+054F13B502DACB674EB49D6BB935E5EC82BF99FDA7D47C581AD7F940DF4FC6FA
+6C6D25D647033AC69505F0CAC58DE99087F365531A6283CB89CB644688963C3B
+8B2203A94294E58739EF23C7803630A1F9121D62BE1977DE2F41687C8CAF87FE
+CBD7AD3B98E0D95C8C6E1A7CCB0E09465AA874DC90A0F5DB2C5E7C130297FD39
+EFE63B0350B5139D09E6864D22C3F1150B29196E40EEF9723E71158B7ECFB8E4
+C426FEDCD439420B7F1C251FADA347C9A2C49738B5A17922E1EA93CA7B125B76
+57449EAA9C1D591CAD327D0E98EF2D44D614EE9ED49DD31ACAC0B956620B6BA5
+5BF6D08CA7541059D5ED2EF00AE2EE95488F5645BF6837D9241C0D3959B7580F
+C9ECB2BCF3E65C07D52EC9CFB21C11CD4C883E44C173214C900C44D2E1E43DD1
+CE8DFE3DA93C38B548BC4EC46FF91F30CFB97525E1FD4E77686433B20BABF8D2
+848C1CDF1BCF185CFD7A81D2D4BB826E837E2AF35CFC4F419F698DB0C43E9F9C
+B0FB628AC9A3CBE9B1FF4A067016E70333E78B32AB2D89C483834B31F5808FDB
+77492E099F1504DABCA5722C7860CDCEDB2DDEB512FFCC7D287F4945FD711F28
+87BC3D36173566B81FC2C1290C717A09697DAC6072408E20926D39270121CE58
+3EF97CE12EDD7F87F2C8CFE36C3C0400869C0D813B71C425343EE0CDF717BDD8
+409D5297D0F8F7FDEB0257C0A391F5635E0DB1116058942FF3E7C94D5F2873A7
+A3B0ADAFC3835AF2BE474E6741319BC6695FB37F59AEE388F81F6E66F910000B
+72E6BA7531B4378CEFEEDC79CCF4947BA1703823B5AB4F4AD73D9615C66C489D
+99D68E49C9BF765B7FC547BAB9640D51D5A7A2396507AB5A4DFF3D14F52422CD
+8FCFEAA06A56C6C7FFCD29C9A7A59DDD2A909A9363FE5F1E9629616D25ED38CB
+E754C059E4379318CC491C3B1A90128693AC53F80F8210FAEA7EE638902A7D3C
+82B95B3F5AE340EC1B648DBB9FB679D6E80B7F426D8671FE7136D97F51E2D2F3
+C9CE9183E4061CA40091A2A70DBB9ECBB19CE3F65ADD0FB346B54BAB182E2CD0
+EAF4C0F402C25573FB344EA771B297BEB615FCD0595172E84ED2A62FF8962634
+23C19076C2A9ECEED5135994EB397303A9619C76DC55E032DA83FBA441BD484A
+59F70A5110A8927F6239A14D4E223E189A5462E4A92EAEFFA4B961A2A32B320F
+C2B4E8C1821FA67A655B5042C15E4DE1FB3652B55078DB123573C4E986B19DB0
+1C5131F3DFAB271C30A5476B4A19D8FC922E31879C34BAED94C07A4841B8209C
+403369FB8E842610D1EB4662B6171A4465FD0E819964F62EC5B0ADC92F08CF90
+1DE0B410FFBAD16F6D355E8AD72CCF67961EDB6CDA82398021007C2D0462E893
+75EB0710AE4A6CDD15077C9DEFC5774EF4A657734D703CE42174259B58E5277E
+0DF26BF59AF8D1A3E7DC12E3C12AA4B67CF35B19962F6950C2020B698D971B35
+82FF84E72F72FBB0C54A112BADBAE6C4CAA358BDE6A705AB59332C3850CA3D25
+C7564499BC1319121CE0D93218210C68080AFF33420E3CB3A48BF9EB66BC07C8
+A79D8CD8E78C200FF7CFA3DAED0B9E87E6141C88B436D8FCBA50AC195FCBB9BC
+9512B95FE3A37FFAAB39850FCEBD4D50A243EA416E73F53B4B00F3B6EAE0CA06
+0693AFFEF215D00BFCAD02E45496D7C8F5E99EB9096FC4300D038C1AFD31EC4C
+5ACA6B72C1BE7204E37A4CBBCB1EC26AB87F2FF82DE20601025169A5FBD2D060
+62B5B2DBC288C79C33B596832AA18D730AD572C6EDFABCBD36DEA87C0F323C3D
+6E537AD3B43C6F3A905597570A8C6B0B4A5E08C08EAFF9731E745F2BA8ED0C0E
+1ADF7821CFCD4E38F3F4C243CAD31D9F8FC68B9043740852B4CCBDD37BF728E5
+648215961FA82A0C847ADCC5187331D0863A4573BE520C02CAE14AED4F06B3F1
+FB4A318AB54CD86DEC824707B29F858FD726A167F2333855C0575EAF4EBEA0B6
+754B1775F967140641FC06F82B191244186FF347A351FBD8FA62E8C978B21F6A
+E124929876488AFA97FAD1A68A0C3496BCA768F4AF8016D7A65BBA3AAFD7F5FE
+E75FE714FFF3D54D09C9747ACA01CEFD260985C6EFCF9F0831780165A3374B17
+88EE15E86A40B16BDFB75FF3B73127BA45BC6E1F752B9A508639FC3EAE24DD7F
+2FA0F626822AA8AADC525E8D3BD70E93AF0235096D04530A79F9419B51397A1C
+D59597B69DC433C565A6CFF294EAA027FC5A36D8060A1A0CA18B49E3088A3216
+30BC1C79785051BB75B7341F06D8E33B49BB22371E3F2C25912D64B01E825B1E
+3FB7AE3C0427D44F0DA691A912C5C0DB845E8637950A393F4F1720D2BDDC7F34
+281148F9D84054968F9E6176AFE229109E6A2995EE0690A27891C5DF8055EC0D
+5D7D17C3722AF875C08ADA539E190137D2ED0056380D04874D35FC8711BC9629
+10F16FB1EB5F1D60149990A463C530649874E7F83CA5874CC91D5440DC1CCD41
+98DDF34845DDA9FE5B4DB3DD55D05668D72C484F6B5D16FD24EC64A7420E8619
+F2174B65735C849C33A4578A4B42478E719C308B66A674D0EA61B77CC3074911
+C7BF6F235A6F41157331084F12700A2C595C225F74D7892BDF73F94A7A2B770B
+7A52A1D366CA2116E89E91A88372E716943F4D5E3F60603DD915DCFE2CD2FBAC
+DC28CD84F137D9EC7E5616D2F5A4E7D8C29006847CE095FB94F3239F64413121
+3F4B7B417077C6D801F6ACF897593722860182A6133A1A0DDBD17214980A4BDC
+C962E7223796D583B85FBF1F050E6C43673ADADFBB7FB92974123A3B30744F12
+EFD352D48D1F3D9652F9B1328AEBB7F4827134A379B4860CF3597EDD164F9936
+6A7590D925D0EB854A386135CEF57781F5069CAE81C387F6B68A3CE8A6CA7AF9
+9D875EC79825D92FB8E877CD84A6165FB5D9D465F5484EFCDAF40DE082B544B4
+AFD30A7BABBC0A1CEE8DDB986BA8B30CF50D8E2308C490E225E2E5682B1F76F1
+8203D126159DE2E8285789CF207BA23EEE727BA30376883C2977A493A6D295B6
+533B681C683CC54D1A763F24107371E3F12B46013AC08EA27C174B9215D271AC
+221E97A53EE9774EAD44154F87FCAF27A4980FD1AE61390B9AC9A6ED71D4450A
+0B7AA2C10F7017B49F74AF068F316377CA2C6550EE40AAF106E016B2B53A7EC3
+3AD311FFD7A2FE05E4C20C24A5EF69301CA8410F6BBDA01AD7A24FCE497DC3CB
+3E37DD00BAD7722716AFA8803AB560EDCB7794A8C2591C5512421DE1B1A7014B
+08C011D88898B7310A3DD57B1371E422C7820D3F2BDB77DCC1E0BCF548C555BA
+7952B85207F44A9BD1F2CCE7033FA6E65055191099D6504801404C80121A2E7A
+D93CC489B18A58FA29D40BB987F13B4FF5EFC0FE9031835FFCDC291F071C040F
+8C2FD59B73572F03DBD170CFED7400375BAA367E147804FD286B5A36121D2B1C
+E7A3BE39B42B8FBD638333FC49BD57DE86B0644D56759EDE251EAB9038707E27
+96F764ADADB0A52C5171470BCFFCACEF645C573BEA5CE57F82F7B030E3596312
+724F907DF9E2E73CCB066424940274B4822B654D90D6474850DFFED189FFE0CE
+2DD546F1F9783DB6C86D3D5B453DABDF52FDE9A72D9FCB0FC46AEF69FCA2BC15
+E2A8D7197B0F7D208F36B39CD043B4532BB990F7A1F46549E050577DAB229C67
+B1AB979D9BA70EF59855862288E59985DBFF512ED2DE6B177FD414C09C3C3045
+89FAD5B5CD9110960D5661BA0199F277DD480F3FA78F2AA21A969301704227FF
+9E1742BB0A6FFF2009591E9D0C7D46D508C13A98BB3D468C0BBEE8DF2017C908
+83B3F870F7402A916328BE32050368598256411E67D2B4E784B3B6DD58E572DC
+892C3877D0761E3858E8BEFEA23CD4ED63FD156C5D7AAF367EA82EE8BA75CF94
+E48A690F94C263ABB6CEA89498AF7CE4F1D019D54BB2D2FC214229B7EFD0797F
+80B3228A67D1C8478408B8118C798D5E4586031DC8E8D608410D506424B7A63C
+6DBB9532AC65668C4FC0D24E09927BFD221FD39C713A1F7B9BBB8E761C1CD2F2
+9E2F58A5E199E3C64B2A3B00FF9849DDFC8937DE0D27DD59CFD6732582968861
+C777CB377543D5E8CD7E90406C35CBA49F58AF7DAE09E0BB8B2DCB3273C2FF6C
+F82DBFFB493A86F0B0FE12D49070FBBBFC592BB81A18F4A8921507775BEB5FB8
+DA96551084499FA14368C30BB01D8D384172976841B9349F8EE4BB6E3F4A6268
+78F885ABF060CBFD22E844E5E4BF5B8D79F9E1E7CD3DC1DFDDC6176B44ADFA09
+83CDBE297649C681F69CEC0F59F515E9F6BA3148C2C60FF1ED6CA73D0D402F3C
+AFC71FD620D83D64B52914E4152EFFBEDEE987F571DDE63198479DAC9B2A7307
+630DB82B7B5708246086A82F4A13BEFD9603A4758D6C07128970DF7F59D66B10
+327E60BCBC1145FD2AAE87A47DD6FE2C44B7D9B5F54AAB3952D2903EBE32B08A
+601CB68587D3B7A520C12E30A05ACE428910FB94DB53DF422FF2D2FB722CC6CA
+233C56D4EB5912CD20C0CA8B046DFC4D117323C708A1005CF09AC94EDF05DDE7
+373B831609295D82C39464BA28123E167A3F3726139072EF10E9D7317F5B1143
+3A7B80ED69F4E738E7F7E8EFFB7D01A876CF8995C2462BC9B1F1380668A66FDF
+5D72BBF40A5599993D3C96B60BF519C5F787790F10AC52B414DCDFC500600B4A
+568D21054A609AF4A56005E38593A868A27F679B553526FD035E5E3B781DF298
+4E392FB3133C22382248BAD2C6197167C07F5841F5F73FB1EDA93116B344F86D
+B78AAC7A6E64BE3DC22982F1F8E4282C51847D501123470AE0C705A1B00E42E5
+747FA3F5AA30C4E9477220924E22DBD4052223790C5B01F51D8B0D07C7DED745
+1F8E04FDE94D547B4927BECB69AE8EB04C18D8FD1653794DB22C0B307877F8A4
+C6E93ACFAD57EDE00D871589756286B5933D6B60218DFB69154504C508579F6E
+6E8EB02A3C78EDED358AF92DE7FD50B70DE6067F734118E48F9FC2C35D851E3D
+E79A8169332E8D4D41169DE368035A10147EF304A1E3881F6F9E347C2C0DCBDE
+4E1764ACF224B5D40EDB21D3433EF42A8EAFB3FE436B2CE4045576C1C35EADB5
+8A6E52FAB37773E57C3037C6296FA32FB7618B2273DCF4CB3A1C2AD9910C7735
+8B3BCFB1FBA69B845DF6B5506DAF10A1942EA38683E2E06236BFE884FA161075
+ACABC754B8292F60784B4C0BCB13E718E82B24E436ACE3DCA850F2449991C13E
+404D12142CFAE733CE01AE83A43BB1012ED5CE8CF4DBDED5434055F07DF08ABE
+C1138CF05C688F793DA5CF23A53D4797B514B9C68D871A495D7E66EE92CCB162
+B2EA7807DBB0F6764C2B75F6CF8E0FE4701381F1715325D117620994AEB1E311
+381ACC3A1D58FCA3A4E874058F0F8C85586D75C72B22E3F5D2DFB6743EA3C4C7
+F2919892E64C063C1CD8D15F362DC5676A021C59C96FBA36F0C02DBB75856F2B
+552A5C356241EABA1A3D9E872F35637E1C99C52476D7F2BCE1B59DAA54B5BE90
+7A1BF96CE96F608B0A7FCC2A930508D8AC153EA9025CF609586EC38D0A83793E
+FF331FC176CE8809C394033B8ACC13217CA08846081C3165FAD1ADA36BF27A13
+C18F2A6688B488F39A21DEBBB143BEDB2F0492CBB1EE6DEE38946680D678FDFF
+F9DACCF8E03682449C101E0B7F903618FF8A692E4A797292F42A8930A8AE277C
+A4321B9F1A6AB0E9590CC77E4E2AF7E7892F4AC8960E61F47CB2F799F66241C7
+AB9E8265C71256994E72D396FCDF472EA491316E460895B442D9A24499536A7F
+6AE74591623811705336BA5E9481533930D0E5D6FFF2DEDD798658D84B546CC4
+A0B721901E5491A5F5CE6788F9844A77A76AF8FA2EED57ECD5B6395DE63A414A
+E3AFA4BA191C19F416EEA9B4D5CFB7850F975382AF5A8D7B5E34F2CD8991F99B
+DD0188E8788BA95EF9564F7FCDB0249D5398C475048ABF74809DC7AF1C30F47E
+22CEF9B2BC18A86723F8B65D14DC5C1289C7EC8B65986F6D369CAF145F2C817C
+C6A70DCD450AE55C977AC6B0B1015929A4D02B283CA54265B560A0D809DC43C1
+DDDE0E5040A7CC8FE65D0B748E251158BC5516025B18985E7A6DB5C3D9AB58FD
+ED287B9612A3F0D8B4B4FFF52CA90507FFDC0D570337C18D4718DAF1E16891E9
+96B377F20991033BCF86DBE1B06A492C9CE1916ECE4DB9807EB3CE629740BC37
+C6222E668391D86C44D629550FC32732BC5E7E3D0C758EF25D99DA9D793C3A9B
+517A147ED8C5C30A6322434DE576FD76BAB1A1CE3374A85B3AE89C40CC9C2CD9
+0C08D4206E3CF71977930C91C6A1C3E647EB479697FE4A8B4913BCC319F37867
+FEFF635601318CEFAE4B1925ABF9062399D855EFE1F369A3CD58EA69E0F36A28
+99937B48CA9DD396BACC75D0947FBE3EEB94F485E4B42093D9867C912E34EE93
+C2865AACACC4523F22A03B932CE9909DC9A58734CAE12431B4C720ACE2D1CD1E
+602793B95025A7F453107901DF3D28DE5BD350D44D2292EDDBDA59E4721DA669
+5161C36EAA32BE7FD46A731C93CDB8593113E059058EDFC95F76E7A82C1FD275
+9C78E71FFEC2473D4C3909872057D1D5B8DFF61A7B9E8E852C0B1323B25A0DF5
+974869337073928DDBEB837E7851DF17B444871B5441789838C185B8EB021C2C
+58D8CAD7BF0C552A2A5246EBE8AAD513C09D7B3EA573C8FD2DEDED55B63BAB43
+70C6D70B730F645F3464B37A11FE97E5B9EBCC7DC29075A71F17251C3CD01EE7
+B549C7A940FC0F4228F77FFCCA9EC581647237A94121CF95995746172DDA7F97
+FDBE87B80328CA19C03799CEC195E6CB07DD1E17B22A8EA13F580F5D26BE09F2
+D6985AC53A2634FDAF16E1984D08AB034066A372E89A3A0A3F9DAF030D8516F5
+8FE43147F06CC2614EA53C2979994FFEE03E2E563C9A4FCE829D241993E8FFB5
+60B9E5631679B329668AF3AB4E190AEE2FFAF3A436B57DEED99A75A05ACDAFFF
+3EF95FC8313B0B846E39ADCB4F859DF6FB2FF919324682903ECF228115C350B7
+835AE63D2619D70E41D65EC7718BB49E8C6669066D9C06A637E7D9128222B880
+87477D2A20F5AD3A98BC05A9B6BDDBD46CC66AF7FC47E8CEAFE736197069677A
+A2C4A557DC4DA207FB072718A378D4AE312996116B69F55D326C93B8332E11A2
+973B728B720D80DD7A85CF1EDC41A2D4085D93D69A0F8E44564E4AE43F4B5CBE
+6DFE781798199D542502CF85939BD102E5427E0F0237CE7A851995BAF02926E1
+ED40B588EDE437360CE9C0F4510471D52479A953D10FA1ECC765C251461C48B3
+99B865E84C2AE6D4F109CEBF9B3F14C2C60D449375C9D73273DE9B2DB03C3613
+FB7B2EFB8C74C6BA13D8B020C5BAF29BA038FB587C7AD18C4ADBC4F444DD4F48
+F5AB6515E2DAE79B9AE905D05F1057CFDBB6E5EA777792CC934F6AF06195B4FE
+3B10059A93505C580932533F055A494138AA3F0194FA1F261136E9859AB59894
+067FB9BAC5FFB5990D45F6817D4DBFA8843B31A8C0CD41154048A0BF53B33BAE
+C7C6EA968CE23D1E66ADDAFDC8945D8A0BF68312F4FEB8098E8F511BE4505A49
+3F0CEA2ACD62F80A03EBF5765F6A1E71CB4F7A729A9876153899FF8B9B6FE411
+0B0BB5D7F6903B5E03BB47370B3C533012C23C9DD409B9913DC4503B080F84CA
+D6EF12995EA98ED3BD43A5A2269B7FFB1CF88170898F98791C0F8A2C4D48E386
+A690E471EE19F1F930618D76C6D54CD7FB56E1A94B121E72E950207E29220023
+11D57D9AF50EBCF715FA8A12A907D787286A679A09383D3344ECE8E10FEBC410
+37DCDA04D13F813360518FFEF9BE75D87879315DFA114644C26788F3662A0B33
+5C3D1EA651AD4F60B61D0CB99A95C5466371BC68FCBB5F71FA2F76466925873E
+CB9A1AA7BEDCF21471C7ABDA2C3ABF2B3E9255D0420719CC8C56FAF1BBACE4BD
+ACE32BDA2AC71DB7294BF8FA9C091FFDF2B7DF3FB60FAB34A5823DC175FECEE0
+DC057B384D7295C75300121AA4AA5D231DA168C7B0E591AE0A438EB7C3ED4EF2
+955B6D4DD33613B205B3F69B5EBD5118D709A1A8FB8EE2628CDF68E5E6F26453
+E1485BABD7262263897F0016F82BE779D4E3284FB680360E2CC844BD903CEF89
+F130A314B3E55EDA5EA3E221ABC47896F0699DC43B64EDC70074DDEE942913E5
+05A36097A158BC925DBB46220EEFAD8759E09F7AF7A4A00A580FC7DFFE0E084B
+AE453F93B60A92B6749144098F642A7203895829E8CA422597D70C2F67691662
+69EF89275CF9810C619284AC5AB4E4A1A0526B88BD8E7EF8900655A7B655B1DB
+086452B52BF902F84A1A61D11359E9F9C993DC098B1D0050621C99785E3458E8
+6B333F73DDA828778B4AF6A002D247D757CABA7915A6E9343DDA90305C40A16A
+66D9C82C29EF44583B976C0899C3399F9A262EB1C6BB9840BBFC23CE6C6B318A
+A92874A880D100919BF116572771C55C7B20F24AA836274FF8E20FC42B92571D
+1CB295BC938103F32D460D1C0BF44A1B0974928EF497DDE0FA89BBD4E6252C67
+145337E923C1766A87855ED0771F840C06A861BB2C64F1860461EB8DFE1D641C
+86B536D7D10D65585612AF2B5D913528109D34774462862593FD20141219F43A
+2301CEE9578670833476081B2F532BB24F69BC5FB2355FDD094AE39B72FE7DFE
+C785633EB5A18174244CDC253DCDC5E02038CF32DD3854DB49825C544BCDD31F
+EF476DAA2AE5CD046F2768E8FADFF50D3C99EF3CB3A6591F59BD4DB21B7FFDF8
+7C63F19959AB719FDFEDEAB16B656916A09681693B70E98C18011F7A057C1252
+B09DFBF35EDE848DC156329F33881366815F09DF2E039489ECB5B61F38326D74
+25734D57B6D4C5C49A5339968091A613998A162D77EB4B443C2E076043AF0590
+81C8D8D1F4FF659CB0C5EB052F72228B46B1FBA9BA390937B3B2BC06822F60EA
+342C00BF3E2BBEAE8AEAF179C99801BC5B5410169208536EC7A0F8C9878D2F97
+D0E3E94F3D6D5102A23CDCDC591AFB32BE668C44E60F50FE31DD52D209603508
+62AD6C24A1DA5DCC47883AB519EF1AF9F28EC3EE4929B57ECFCDDCD68C6556A3
+52B79CDF9196BADDA3932B608DF6940657F05FD30D699957541BC063F0914ADD
+AA73D1EA63A0557925B32D630B5452893D5E846A0683849E3F4CC4AE4EC1BB93
+F31628A149AD131997606A31550876F3833FFC515729731736734702BE22492A
+836EC1E6C6901D8E78E0F6B46A3CBC5B0078D2BEABBCE5242EDE380333E81AB0
+CD41DFF0D368B989C2685F802E901ABC859F1533B4DD4EC34158FFF38261D0D9
+FB820274784AB6EFACF370C8E592B0D013C1E38EE45868B3E4304DA974A0BC03
+979EF3554D1D86C296FB864E4EE2BC899CF07BB3942E5431C06D2C1CEE83FCAD
+3302F6D1DB4C8D6DA821675E699819079BAED2ABFBAB9D22F8960D58270A6898
+9E5C3FB36A078DCC61A3E9853F2C125C3D56C096586131B366ECE9AD62921A12
+898B4CEFF6DA0A7084D6868FBEA708A94055ED2983FFE62D9A0F0CC9C5EA0EF5
+5D82BB6A5AC9F4CDA82FAB86D13DD00831A0CC5F403CB09F7F132161B871969C
+3A39FECF20FCB2E3D1596C06B5DE3EADCD0FDDF221C7B8497A1F3AAE20C0CD3A
+C4FC8CDC59D1C0934DD278A35D6C5F9A5DCCC79CAA15A74F7726272C20EA6FCF
+A4D3C7E4B747CF1EEF9559B446B331A75AEB14ABCB9222F8FBC3FB0B6C0F7DAC
+CD82507A0171A7872458296F2DF0E2B3C25F6FD50E5FB18565C87563CAFFEFE9
+322A6E52E41BBDDFFA391FF1781785213D442CC6EF3E66E9BF4BED6C795BA756
+44F2F17E8C9C9AF245C396A2871DE8C1530972C2F344947283E0DC8EA3E5E669
+8BE68A9EFE05D7634FFA1EECF2EBB8761B85F45EE87CFFB388544DB7F1D3D401
+FB91235718B25B0D2E37B089AE6984E692E70547D79D5980727C951C6B564F3F
+CDEFE3E2BD19F8D945CED41E4D618A4454AB97A54944F2FA3903A2E16A8C7B8E
+C664C1D8DF774C139DB1276D125A8394722624BF81D35251145D806C86ADF945
+3CD668AD5F6F236BE43C806DCD2C4B7F9A8D5C9134E2782C6DA1AC1A484C52B9
+89C4DDF83948C9842FB4012008646BE73DF766E2AC8F7568895F9BD8922D617C
+42DD1422924E0D2C778EDF60FABF104B7EB547C3CC4B076BDFDBE6BF5CFD5DD7
+8AFCBCF2E8C23EDE5F05427B9242D7D3D126CC8287578FBCD64DB13E926361D3
+3579F4578DF860C4A750A5F290A7C5F3B71D58FBEEECCFCDC010D78E8DE83D54
+C4FEE6F4A3B479BFE6343146EE7579F3F53ECFB76F1B2958326F1C0F7232E522
+01C49EF53273437CBF9CFED7D565B7991533B788189FAF21EA49C4A386FD3916
+D6C88A7F89EFE13A007C83F6316E142BDB002D1A7878601E658F0FBA78F8A983
+82DC0E458C2FBD2A066B640B60FE6DACA99ECAFDCCDD2FF15A2B1432B1BA636E
+EF1C2FE461133244B8B5919CFE9E1579E5733ADA5E2002798A57354545DD1E45
+F354C23EDC15D78EA488D1ED74D515D7E96BB3F6C60457FF1E6B6C56F9164D08
+34D9B482B3D826F27A151CE1F24C8655DA85DD78DB9023D24BF24147C5DFF5F0
+44969DBBA4E5E0AE68A45A88F26A8C720328317165605B9612BC4885178D4F6F
+64C1708E3E0CC01C2134BEACC6EEBA734E58DC8E857C20B6B9566C08F3C887CF
+DA67E01FF857FB364A19A75658366CEE4DAEC35EC9F48C14291B2B0E1BB84E27
+2CA6C81FC7C1E5331E7FCE8C12220B29FF568D530CC2E3709F59604AA61F9E8D
+0FCD4CEA346A83C2B0F4730E5D57EED076A82EAECADACF5E0FA4C92C5E94C527
+9AF7EAB42AC986F19BF7251F872AC2769764F74DBF2911C1BDC387B6BC4DF849
+393963086BF177CB75170433DC9EDAE04C37B682466D547174D2D773CB3047A2
+B53F17D87D0912AC26B20126E05D896089680B6F182EDC39FF4DBC037F6433FA
+31494DCCEB7A4FF8269B5D626275498F3FEEC6BEE314F32FE054FD241BB9B972
+B2C29A47F933EBF122AFD48BDD445394E2EDE0A8799CF227B571828FBF7A97F7
+7A0B03C339CE93304E01B7765387BD3CD4AA17073074CB45301FAC897B0AB963
+8A66069C1624E9C9D16AF13B7EE3236D6931D9E03D6172E0539E9D6F734C4EF5
+C3A7BB1281160E08B7BE591BFE1D0495968A5080154E6DB36EFB663A322CEA7F
+35056A477AD0C4AC0B9237A3E372F1EB060998CA4ED8DD6D77C6AF5793021B9F
+D3EC6E7E3C75C0AAEB1BCF17051992CF8DF93B54F10A9E083C4AC797CDF53589
+9DF01DE367E894A1AF88B11F641B5E4FFE13B465BF3416C843B894248B0AF524
+906CBDECB9C7BE596213BE8CC75452954811A17B948B1B3101702F0085344E31
+14C0897D90A253E9B94FF5664A8B29A0C01D5392E7FCBB15F752E89188BB34E0
+6D14092563CA66F16D010C49CF4CBB6F9D60E5117C63D05BFB9C73B10E486D86
+27D6BA6317AEC476FE5C3F36BE1C72E66178081DBB5CDD20FF730B8805100212
+0C1DBB97566563C59746254770A723F884FDA2BA1FBC3E244DB4046FE88C6145
+2E6542D9EBA6F112F5EA8347359DDF2205682EFD5A4932828A17BF74C7AC2E2D
+29E18F15C4106EF2C4158079B44E962E49DC20C472CC6C26167486A6A8D3D075
+0762A5F13C7439308BE5607296D4A17A15089CA1DB60679DE3B28E07459409FC
+00AF3948CDD175D11162065768592C1A744B8BE4C29FFFC098F25037D979D9B3
+20CC8F07A0E7FA9E9D809CB82072715E5D4C44EBE677B6604B0A82AD53BFCAF7
+A7179C06BE46A745F49FECB56ADD992A2D9EA5DBCDAA5F911FB37AFCDBFA81A0
+21B2C361C4A5CCB4D50A838CC69B411CDF8DA93B116D39980805AD5FC0958116
+F04ABA31193FA23E0B51E2E3E3CDF5431ED7680BCCFE9BC18E5BB6DCFF5B2424
+F98BF163EFBA30795292D2C2835098E0764E70C515FD36666DCACF85B6728698
+10F976C150343E1725B12C37C60B70DB97DB639753FCDDF7D957F97FCDF243A6
+7EAAC90BFDCC9812DF43A9A0CE079B4661C10A036415E287897E95316134EC57
+0ADE1F5E6CBCAE54B947851E63F724BBDA3E7FD0F3D554EC18E694D967E4AE12
+ADED7F746C29990A7FDF67CCBABF5DB50F43E18FEA0D749F008FC5C1E82DC8D6
+E5558622E83A31D82FF1A1F3A42D5DA8C7EBDC3820DA449D6BCF00BB0D81112C
+EC7C7F2EF36F770F7AF7E63D2DF57C1416805C64BC61D50BE22CAAE709635155
+D1CBE70147D33DF0DF76AED61B1DFBBC606F1358D3FC010FE93631B51FCA66B4
+E9D5C08159688C9DCDEE1E7286961E9C3E4B857AA79C7B3F4C9A46A0A44D5989
+B32A877623CD83F4A39C6384F9715288A6786A64575C28D043CB1DB17E48C92A
+4190D242D9C0BCE6DE7DB3CB924A814C134AFBB5F47C457CF4D24714FCE84DF9
+7408D087E2334457FE772D3CB5ED8D6C96CC77A6C1F3A5C35E4B898C1DAA555A
+B66CB4CD118419E5AEC0C2625FB7282FA3F67F5D8E2F0942B3DA7A1F32E736BF
+C7D54C79723B3BEB48C89B2EA8F88A0E8711EDD5A83E23FB960A8C0F9BD04628
+BB021610A7A3D0BBBE312DC4DDBAA651C844DE46FDB86EB668943EC43CCAB10A
+536DDFBB04AF5D863D6C67AB9B2E79374D1E5E8A64F61A2E6977BCF7FFFE1910
+1DAB057DBF7D4BA8CE840D034B580522C8BEEB633BF32CB175D6039F7E33C33B
+3EA95208629B4568EF313397D8A09557D7D9F59C9A5B1390F9DD70A9385F6336
+AC2C28BFC83AADE2EE3A181A13502CB9682D6D407238671F0645E6A37BF2ECFB
+40BA0D36A4AFEF15136192E11800EF2B7222E22119F74679258ACD48F851EFA7
+E0069DCC81648D04284C97DB1D7F4DAB1C281E89259B76226E667E5A1CAEB973
+9A15B741005CA1DE762E046B702FD888751BEB48C28409986DC57135BD2C035F
+306D214395EC3BA8D804ECBCD9C1502D92E5AFC92EFF776DD25AF574F5BC5BFC
+D5AFF27EE302DF75DC55ECA9363C90B5E037A0DB9559B74291913D6CF6899F58
+E5A3D5862816C1BC7C84630C8BBB5D7A4E044EE71EC62EFABEF0ECFE82BF02FE
+B624F1A2B42D1E962636F64E7B15E96745C7DFD542A9C8E0C6251A625324AEA9
+9CCB4850FC7EFAEBAD03BBD713752E9BBB07DE17A42539FC47EF19EFC836574F
+48D24270040F63DF45166186A38B63795711C98D90786A81338013D9A1006A71
+B6E5C4277AB8F99AF60D4BC1DCCFD1204DE0EF65F7A60CC79503E9C33A953809
+5310ADE6C5025002F4E13E05DFCEBB8C1DD9B6F27437A07275024D653F6B5D1F
+09BC8F857FE8C7BC2ABCA1BEFED3516E86B4F911676D7C7E42426F2197AAFC90
+350EFC42DA44306934E24B07794989BCBBDB324204D59493436D5570354FD8D4
+F50E5C8DFE8A3F262DAB9CFB5315F352431E12E0B0FB3848E17B929B6A0C3A96
+36ACBEA28D94F2357E1FB066DC5E3C1AA29F1001E46449154F28B6D78BAD7C19
+70A415F4D22FFC1A9D48DB801273E9B1483388B023D866EF13B31DBA5A5D97F5
+AA25F86A86CF7F19E3645103F64046F7016B9180D58CA8DC32B5844EFBB7AF48
+371B9F1B3B389BA5E2B39A467825B3B548F48D83C2BF57BBF7178468EFE4B8E3
+04DC3FBFF832223F80927E8B26B0F41D787411B08A7B22783F534B98BE4BFC8A
+15D5B63BC71F296CBD7EE9F0151242A635342E3DCAB50B4AF68260FE70FB6A12
+4E7000B1F993CC1D0B3089151AB0490DA1A9E17B42E9817A612DB42BBA2C46A5
+FA43A84F34BF847A158B73B28BD1BCDBB7DD6C81A90F90021F9D02B621384654
+CBAA3F46052219CCE6BB57A1ED0B3347CB6386CEC7F8ED7C623EEF38B752BD4E
+6812DC710EB56997357F38E8304BAFFDDC65A3ADEC4DA8EAF3817F8DD0398E3A
+431712C7F18AFD104424F5F7F64F9CAD45D0F616E373818C54E9242AD0156887
+90B2736F01C1B7C74DC47D4A65E0C34AFA0921AC90CABB1C69ACBF83F4C50548
+B80440D06D40C87B189D8FD7732C76DB5F24C2289DFBFA4FD72AF209030E6B4F
+368C95CDCE5087C0958AB51A68D2D7D815FBF0F0B390120EE8D23A258D47E50B
+64B4CBCC224A7377C36D35FBD9F0B6F5903E528D771AB0A147430995516A8948
+D2A1C42E1822DD448277C0313D8B9CB50AE03A462B8F61BA1EC5EDEFA79E8E5E
+7B1C0D93BD2CD08B8171FC4F7E5E7650BB071EC644F6E53AF5F3BC69FF32F016
+069631D755C391281B5C3977615C2E7143216CE581B881C2BE5C43B37A034AE1
+E22A7A23B95D065913EBE6EEABAD361141C461F64EF3103978678B091E96A223
+7B3E40C7512C219B13F6648E34C1A96B1532698F0BA21A66709C7FAD2DF5677A
+F3E231E7725288550F88C30FC84B66851A2D30CEBA9CEB9FCC6BB11D635ECD03
+BE382C963E00E3309342340AFD7ED42BB207BFBB04E0749B39D97CECAE975C09
+8CC11679586C42D5252ADC0112C6548610C8765816F623AD29CBE0AA008EB814
+775A1852D714B550D3D15D105F159A58C0AED376DC165B6112B6D2FA49EE1957
+1DD95938C4DC3E04187A385F8E89661647E4D3F249A04573107490E784EFF742
+784248B3685829B7FB29AE9C103FBE5A00A6D26BA2F950583BBB3B1458A88C0F
+CAE981BE0A61790B5FDF4320165044A069C77E6C24919EEC77182489A5CA003C
+3F582307436399976C39AFE9463844825143F2D38F53202CA235762819EAF688
+7BCD6B64ECDE32E497C7EC003FE8D81BC5578B4EFD87397BBC7D5036390EF937
+3D3F824197CC9CEE4555C33D39E956C7AB2271755B340DB5CFF71F8270765A8B
+43DF3613AAADF123109E011F8D3447D099499537DE6BDA09B5B7508DA56A93E5
+BD6E0FD273B76BB571501A714F6CFD048C0F6B6FE47B0F5F515917A20F5B8A36
+67D8A58035FDB30ACE19A67D3B4E053828F0A6FDA895C8AA44724C84DE7C2B38
+59F7474293D00D54F4BB572C2B65EEACFCA20428A4B999CF6314144FC5DA1802
+F0D31D15B682944674072FBA7AF1BD2D028817E9EE868B43E94A62D56E317FDF
+D49601B55753DF2F96B74A7E37A3AEF2674E1A56B842813415F4D936E74195FF
+2E55398D9523E562C8A40CBC7B02FD9E94454524D5C112D396099E691E0BE2C9
+3B087113F0E026392D8DBE4B5286538219C9C8AA705CA58B00637DB6164F169D
+89A075F28F113D9282BA58B17C68E66B7B91F3B6830728AFA52F4BD47DA23A0F
+74B09B8346D9B5D98FA191CD5E239407150FE66CFDFEFBAD76CD1A9FEE8B899C
+0C712F7D2C8DF98DD89E36A6FDE10CFC5F2F2CF13BC835106BDE0D5F5C6E9613
+1E4714B77355BD5C231187E2CA1CC99654E5E5CFAFCD72E709791A250BDFB727
+12A4CF06957AF8CAEFB4AB0D395182B6113F6C6B3CD3523C1BF4AAE71E3B77D2
+693E91928F3788C5CF78133A01873217F952EC014AB1D3F6D6928F259828453C
+A78EDEB68EB0B432263D7EBAFBDE4BBFA12A833BFF3BB78318A7DCFB6C84C521
+C420C562399093F66C60728ACD501643E5B96FA999C0467C5B268770F345C791
+F69C500566A022A10FD6B9968428A2BBCFB0DA225D1245652044E08ADF225495
+A5540F78BA1FE4D01012BD125267D929CE8BE7D3F09B3D81B98885330497463C
+713931565FA4BF0AF954017393013298FF151CF94FB15B3B6B31043E1F98F7C6
+A6AEBA35DD55D37189302641AAAC4FC295AB95AB1B300C752ABDC87694BF4836
+1EE68EDA3C799469402D4B5F1B6442F6ECF1944F7168E6DFB9F0C7E948BB0025
+D023DA2C005F5CACCAC594DE08C7DEFBD5105EE8B87CF42FDFD7AB96DC50E572
+0000E81CDC81EE01936583D3E5C132FA816402B53175EEA8D7491754164DB797
+6BDB0BA9541C9BADC5CCB263815B06279A37427B6F308C32D9CD2DECED2EE6B1
+FBDC6B2ECA599D739F8470CCF22D979CE69A1600800278C9334517ABC10514F8
+2792635273B8945FB1DFE4EF788F4089C7C2E8248F8F3845518C617AEED74D11
+1AC15C6098F0935BCDB0ABF8AB8E37C50A1B311479AABD3EAD694A79F866FD9A
+03DF623CC5951E53539FB1C6D13AEEC8A5D3D861D54B9A798C905E132AA71C59
+E99D1B38E65A8DBDB51C15C6B10C7106FF5B357919185675F6A04AB2CA088830
+D107B5AE57D67D5F755868E40D9375727090F969CD42E82F8790EBF029E0F41F
+AE3E68A05B401E305B596C0B87EA39B0D8397D9F047BB1C598FF9416E9833F20
+87079A48951EBCA21B88956E14CEC82D5036898867B4553FF53E5EA7D8AABB3D
+93EE17F6AD2FB4A2201322EACBBC6BC26CE3E762F904E39237DB9E144C3467FD
+AE69FBF08778E7EF059BBC9C798E76E86A4E3A85473E979CFDCDA0DE7AA10055
+C43D0E6692B85149DFFD24835FAFE41E43624ED860B6FBCB8C2C53D9ECA22D89
+B70B0A910C80C4FBEA990C102C35BCBE55A877516C4D80CC5189F3FC02475051
+56BE4E57455C159799FA697C9E966977BD8C8D332D0BCC6BB96AD0F7CCA6877B
+17266E9298053350A110F35CF54AF91477D4D3AC997F794DE9D167D21010D0F6
+1A76E31295396AC9AC450593E24A75B7FC03C936BB1EA0A0B7862578B2AC9524
+8482E2052E752E59D1C50539DD41A1219D60D94D60CC5BF408CAD424FE3FE762
+C624F6FF6D0D5CCDCD984E949A7D8189DDE4717C4C1A120E293BA325EAF3CD3C
+67E65CC5F7A2E2F3D61E2DF0874BEED205AC968B8175D4F837B6E056BEF61B52
+975043223C38E3EF7D6BBBB14A18A6B7289032040816276CC12CC1504F5C60B4
+A62DD6D5BF6866BB9B455897C8B2AFE108B658603F085D97B93A8ADA02E6506B
+BE489C592B38D0224EF974134D56961588F41372B9A977752065B2291C0180EE
+7FF55B9BCC908F39695116C02BA07760B65289BE3A68EE464B55A8BD16CC4152
+660C74E25104690DA6A5CE8284D5F75179933C8EC575EBECB77A901FBCAFA299
+56C0BA2EAE9E15F11733903085E0B363C2BBE805D607B67E17FA6A477BFD1AA5
+39714AE834B3DB3EB95E529EC08810CF40AE9E540701ED2A314A5D1E72F022EF
+8F13EE99273D8688F556D5D7825504F94E94655AA0B79703C1B961A4543D2747
+EA83BD26613317040C730B0A3CF844D40AB9C306C32CC4CB3406277F170A38FE
+F02A9E674FC5ECE5977CEA72D2EF6518D07B82A08CBC65ECE0364CFA60C8293D
+97037676CCF2D5D5D2C6201700F27E6136A5635A4974885452B3EF2D00AFE3F9
+31779B2035127326A0B2D1C17C1C4E6F7DCACB1051307BE812435C14E331FC34
+0FA005C4B78E9A729309A564B47D27231807819571E3F308A979EF4C6250A4B2
+A8D06899770B088CC25E6E5F56F3F28D39529603AA9B61D08565286643DAFBF8
+E656D3E21FEAEABB7A84B98BBDE93DEFB728BA07CFD093A9602E0D423000155E
+BD0B6DA63E39E7041C9424F71B6F0169395FC1D43E2CCE9C082F0BBBE2440945
+7FCA8B37A735374EC47A70CB07B6E778BC3343F7D3EC55DA6850195D94FACE95
+39A2DB866E731BE6FD502A509503FE500B9732B02F529A7A30656B5D4D8A8674
+CA1A252ABB1F0396297ADF34C55849B2ED93A4292F44AE6F3D14594A8D10EC9E
+E21B9745AAC2D314B9A59F9781022622057C22F60C9A01FA89108556530350A0
+4A5F4A8DBBCA5A8302A185FC5AFE1932CD9C16B931E1A363DC8A065A37DE39BB
+5F186081CDBB526935050F90CE5FA4BBB2F1E157B73F8D6F8DCA2D6209632777
+8F87F13E61DE1F5835C042ED405934A01CE6A4F8BA8424052119762BCAFEE642
+D0718C8144FEB2336E46BAAFB03BB7ACF8341B16981AA2375450724A796C1873
+2B29E0B1DDA0871DC2104BB2F1DB0ABB0E874385B7BD2693963CCBC6F6D2DFFD
+AF50DACB14736747EBB500D5F679CC7BDA6C3794D2106CFC3038F7BD01C1B274
+70301E1A387E9BEEB0A99E47EC219689C86FCE5827B81FAC3CD9A004F3AD5155
+2C12F0DF767E2C791590BE3B4249B9926C25F837A322094CF88D51E003D7A67A
+7BD18F85655B8CA9D6E990EA65D376A4AE872FEBBAD4FF285D3B4165CD6FAC8E
+739EC6FA914C0359612D35ECF0FD45596E13126CA7971F1A2460F35788EA101D
+47BB4B07BD4BC7B6C7AD886D09DC593D2DE8E424BA8F136FF6388ED18E518C05
+65D7BDF0EAC9C06E0BFAFA542F854124CAAC1032700E8D56D63ECBDA75D76350
+15E8C49C487FC2776BE0CED98B707F274021EA94E389DF03BED6A4F611DE0EA6
+9EF512A58893641FB9BC2FDE793DDC5C5E1F20408EAE0AF401CAB006D1626D4E
+F50C6DA65979BE21C408D176DC85736DB16521D6DA96B6E770E8BD1DF94FFC56
+AADD87D84D5BFC24C6CEE33228E1E6E20346EEF5A409DB8D986A7A0333FBFAB5
+24EC6235B3873E00591AE3D238BA1FFA012B53F59CB5348F867110F10E31EDBC
+F9DACF8665698D0379F90423B6449C3DAD48B38C11BEBB1309E064AE9B4FDC3D
+7410C707F0D172EED08D1257779CE0D57E0D0F9544903F3219947FE4E29333D4
+8630FDCEA6B2620DA3C567DBE96882BFBE7AF0D00519A843DBC74DCC5407C707
+615B9A05DE3815AFAAB1DA6EBE1D402980C314687C7EC0A105E1D22F6A02A9D0
+7189ADC491988BDC13EB24A8090C48F26C6C5FA02B5595D058EC5DFB66D92B78
+C17AA6E1399394BB5B11E5C3D2E6824C4950773445D537B239EA9C29F4BAE44F
+90B49338F05C0015399586552103B7483AB6B07053F1BC7F98FE8A1EC466221D
+1983A4B0E62333EF70D936A453FA5B73000A0661484496774804B40AA105DD02
+658033300B8B73405AE4D8FE34838F551121D35CCB808EF08BE8208290422C5E
+6EF2521BE79E042CD2A6097C73E90BC213F63454F9CA369EB805A3A1F01DB59A
+770F9C6BF139F2A2B3E7B4377A73E61E3E2F1438FF2C98CF00E29CAD3927DDED
+F08ECF532BDF7DE9AD3C8EB11199D503C9901662C8154C6B552B6E66582F71B4
+69C22A4ED7A6466057D98B837ACE47491AAA39409C93F36E60D0001F3E8E3B81
+CB4A2D472FA03AB2D4B9CF1B7511F0C4CC623CFA59D327DCDBC64BB0D3D626BF
+219B4829AA79315234D9D7652AC2CC01AB739DD2EC3D6F8E8B5B707015B15156
+79700E6D103A95009B561877B87157FE0B0DD9E19197B91D27B366802BE31E80
+47E4505F2E57FAF842DEFC20A9B177E2AFC2E52F74E0C844A0E1323D2B6FABD6
+600860B7D8FB4DD9832854FE2682ADFC6FE0D2D92BA5422C7C88324C5FBD0E44
+38F218A5DC77B0E948A97C7B872076D384F72CD092FDDABF0277DF908C7E65E9
+AEE98B7499E33455DA251FC05D8BC678E99C7D3B066997130266DAF099E31AA3
+81C89A26CD1936A490876D1E24B81083C974089DD58B98007BD6023D595A1730
+B5B70CA20EA9BDF758D754DE87F77F762B84BD984143DFFFB1037E9D4E100DC6
+5536B06B0703DE27D53F1F2EFAB9041C85B2A9E975701C00D84C866FDF5B1F41
+A4B86B7C46ABF5621384657F549926FCC42D9FE710C3A62A1930DBF1A82EFB5F
+F3CAC89F79955D4385FE91A5CDF38D51E773A8999EA1A1089D1707546517D559
+E0DE6652547874DF18A0D18194CF5A7C2DCB7E9988D53C7BE60F5F7E0B03FFD4
+6CBB9A3BF36665834C8767D4217B27FB2FEB5D6D8ECB1761D052F27DFAE4CB15
+C791D1E376DE0CC1DCC4E12217F84A41FEDE3B1F0DD02EABB7F10D8843B363C8
+6DF36A06914AA99AF4B2859A751C0B5529E1821422947A04606BBDE3FD1B1FE7
+DF80EF8F011DF98B07ECDBBCC4F54F0160E2127449A17E8FF5E596F1899D70F6
+737A291FC7959E15699139295345191CCDD842FB5E865174D24DBA8E7FE42EFA
+9E692B310FC415540D2688EC21591399CAA13FBAEB835E8A828B35DE1EC6FF12
+5F549641154F3B0D68E2AEC799D1DBB9F13EE4C87917BBD090D90DB816942FB1
+A237CF6C09AC41DFDDB21DD0C2279C47F9E84F4DC9E9C00F879D7E2AFD80973A
+E2E1A1142581D035C9EC0E596A31CB06E630E9628CE606C43F497A972758F179
+C70C60B7EDB91CDBCB8EFC601DF9196454FDC435052B4EC0E42FBE085D4A9041
+488F906450AD7033EC498C1038FCBC9FC9BF395478ABB6537F4987DA3C0F03B3
+4CC168B3202DD84AC83DAF61651ECE7F88BEA0D8C39ACEE1C700083A43B48B57
+9EFA5A828B23D07A3BC99DC3FD45C1D6CE51D31992AB25781CB0831225D73CE4
+30F001AB507134B1CACB479D3D48CA0454D268FE492D3B3A2F86544AD1AC6A9B
+FEEB9F73A6B173D306CA5144FD8975D21570AFF53066B81CB5895D1CB8E7AC0E
+A2F32F6DA2419B1B8238333C57F00BABB3233EFD28D71A62D69564391C844519
+232EC8C3003DEE760A8C80ABA4CB61840DD83B2D415DDDF3BEC3F7E6F368DD82
+FC1B90B33ADC9FA512D2C6827CDD3D2AF218D69945BAA93C45A9F5A0BF6F0D6C
+C12B7C166697AE3898CEBCDECF2E8235462E68C22DDF924FF2E247ABC6E9390B
+E4C83CC18DA3621DC707002358D592FC36D08307E269B0E8A167DD1B73B0FD8E
+6D1DA64C978A92FCCBA72C8F6231BC5F5E0EFE39B62CB21EE36E367ECBBA8A1D
+8B4850C8EDD199BF4C1D27C67FFEF67D022C77407BC97E48BA3E0D0DE74012B6
+7E1D62812F87DF781F80CC5D194352D009BC8A725DD5F00D98285A9E7CDE0A46
+87DF81719B42F34961A09654F044ACA9346DBE584F7140F8609F533AD99C1A97
+B032B49B05D9FF98A2A692A467EAC8B76ABA2A4375A8188F2277FD16155852B3
+13D04A79606A36BDBC061916E89AAE318DEB63E0507DA935B3FB4CE34E18932E
+56DB6D6131DFB23A35213B9B1F94DB75271B1E468D22AA7562EF731E7392EFE8
+01BB7986B191B1B993EE2DB62B73D5921F4E221FEA85FBAFE585A857F8D4F999
+2B56E7053F8C3CB6BBA74F8316D6D8CA13E9B1A68DE6E3D2647E2299E3C797B2
+BC20C4B5586DBA822A8D3ACF75A24F1B578DECD8649C4252DE9C64C7A68D5D3A
+44E6A0FB5759E60713289A377A9C08AA7142258809FBBB370117621249C641BE
+481C98C9381061478369E48BF4330248FC77FB1BB4C456E72F92EB5D373E09F4
+2F155FC2B0AD4ADFBAA43345F659BA32DD0648E96432B8A1383806A8400DE12B
+F54FC9FBC3879BDCDB6653B257F3925A14D1A9F2EE4262C3D88BB20561C58134
+AA3475C62BDF002765A11165D888F4FA4E4419D46FF176AECCEC0BA0794C1126
+AEAF2CE28812B89CA1141ABEC3A656A3832CFFD55D231E4E25382EA011EA6560
+C5EAB2BDA6D1633400EF6F57BBBA3D56EF48BB185137BD3336533A0C044CC6EC
+DE97ED35AAB09D869D34F0926770410E8829B45644E610A3C02DE0C10CB6A15F
+364F2EED9F407538C5AF43073D3D30D56E504AB73D1903F62034593693DD765E
+BDBBE664395C08634371D02B408A421721F2DCBCDED9C5A1ED9D4696CDB5F05C
+56812EC99830AC0AE270EEFCAA6A4B7C484839615662EA34D7DA1F6D3822ECC2
+DF5866771A180B30FE51F584FAF191E8AA5BF4D6E3D938BA4F0B1C15091575EC
+DAC314C831013542D07BCAE6CC39036BA51185BCF0756771CF64F6D5B22BF7F1
+785BB481B81E736B976A33F4D61839C441C49770F6E4FDBFC3A07F47F1E1FD2F
+239D4EC8B45142112F6EEA8606803E1600B87979CE6A505A9D96CC8CC9ADE510
+7CA75ED4D6D40A45721197575D4DDC550119F7265CD3D32EA792F079B764C0A1
+168DA852BEF5E7468A2CBD65AD2181758ACE2DD967912FE38563739B8443CCC1
+84CB4F1BED103FEFA843886FE734CD247052DEAED44AEA3334188AA74D5B4C62
+C1B8F4716089AF3FC83358A3569E0D41EDA272141718EB42473DE4684A108E80
+D79D30273609A23636FA05FE875A72FB2ABC658F8B48B102399023975FCB0BAE
+349F83C5A7862450798CBBFA4F8657410E5753812772E2BE15B8CF036E48C9FC
+B85CC9A1B78D8895CE9B543FAB173242D1F5AE33B678FAB02945DD8EA7F3DD71
+EE61A29B5976B3567F1894CE16B798CEB773D58F5851E58C7246216A8873C33C
+041C9947DAD7325A8893C418A98673606350A45766F2D9CE0BF5DA79A96913B6
+69995002AE1230C4BC5FD7A9AF58F20EAB2EBD152BCDE096B3A2759ACF28ADD7
+86396142B9299692B840641BD9D3F3ED82290702B2245E9280ACAA1C83B2D834
+AA80FF46F5D375EDABBE095A479BDB727E581C3DD4BDED8FB493763C7D7B7726
+191651D266D9DEEE359856326AD68664E96A4D78B77F9E7B91A8C876A464A3A3
+DEE590E0820B15AEC2BDF49A22211B95EB45E09FBEE959F3794242B21DA52C6F
+015640022366AEA7E4EC167AF8FC1669A51B712A729AEBDF9D26FCF9D021AB31
+
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont 
+%%BeginFont: CMMI10
+%!PS-AdobeFont-1.0: CMMI10 003.002
+%%Title: CMMI10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMMI10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMMI10 known{/CMMI10 findfont dup/UniqueID known{dup
+/UniqueID get 5087385 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMMI10 def
+/FontBBox {-32 -250 1048 750 }readonly def
+/UniqueID 5087385 def
+/PaintType 0 def
+/FontInfo 10 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMMI10.) readonly def
+/FullName (CMMI10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+/ascent 750 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 15 /epsilon1 put
+dup 22 /mu put
+dup 25 /pi put
+dup 58 /period put
+dup 59 /comma put
+dup 60 /less put
+dup 61 /slash put
+dup 62 /greater put
+dup 67 /C put
+dup 68 /D put
+dup 70 /F put
+dup 73 /I put
+dup 74 /J put
+dup 77 /M put
+dup 78 /N put
+dup 79 /O put
+dup 80 /P put
+dup 82 /R put
+dup 83 /S put
+dup 84 /T put
+dup 86 /V put
+dup 97 /a put
+dup 100 /d put
+dup 101 /e put
+dup 103 /g put
+dup 105 /i put
+dup 106 /j put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 114 /r put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 119 /w put
+dup 120 /x put
+dup 121 /y put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5
+45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4
+7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7
+72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E
+BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89
+974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674
+11453BC81C443407AF41AF8A831A85A700CFC65E2181BCBFBC7878DFBD546AC2
+1EF6CC527FEEA044B7C8E686367E920F575AD585387358FFF41BCB212922791C
+7B0BD3BED7C6D8F3D9D52D0F181CD4D164E75851D04F64309D810A0DEA1E257B
+0D7633CEFE93FEF9D2FB7901453A46F8ACA007358D904E0189AE7B7221545085
+EDD3D5A3CEACD6023861F13C8A345A68115425E94B8FDCCEC1255454EC3E7A37
+404F6C00A3BCCF851B929D4FE66B6D8FD1C0C80130541609759F18EF07BCD133
+78CBC4A0D8A796A2574260C6A952CA73D9EB5C28356F5C90D1A59DC788762BFF
+A1B6F0614958D09751C0DB2309406F6B4489125B31C5DD365B2F140CB5E42CEE
+88BE11C7176E6BBC90D24E40956279FBDC9D89A6C4A1F4D27EC57F496602FBC4
+C854143903A53EF1188D117C49F8B6F2498B4698C25F2C5E8D8BD833206F88FC
+BD5B495EB993A26B6055BD0BBA2B3DDFD462C39E022D4A1760C845EA448DED88
+98C44BAAB85CD0423E00154C4741240EB3A2290B67144A4C80C88BE3D59AD760
+E553DAC4E8BA00B06398B1D0DFE96FB89449D4AE18CE8B27AFE75D2B84EFDB44
+143FD887F8FB364D000651912E40B0BAEDDA5AD57A3BC0E411E1AD908C77DCE3
+981985F98E258A9BB3A1B845FC4A21BCC54559E51BC0E6C22F0C38540F8C9490
+88A0E23EA504FA79F8960CC9D58611C519D3ACDC63FB2FBCAE6674357D7F2285
+4BCC9F54D3DA421D744D3A341DA3B494BB526C0734E1A8FC71501745399F7683
+FD17EC3044419A88C3979FD2ABA5B0130907B145A8462AAF0A9B511D2C8A7C7F
+347FF6AC057E6512902BFD2918E2CD31DE615F5D643764E900B60287670AE18F
+FDE15545D8BC69591A8CBBB275AFFC9B14BD68DF0AAB32268FB84844D4DBC7BB
+C591C1AC5102C50A9C7BAAA848DA88B0519F0F5F0813BF055CF0E3C86F633A04
+B779D2E8E656DB1E09A66A85FE21CA8BA5523F472A229E83F2C4E91ABA46C733
+F3C7B5775B06C97782BC225C46385BEBDC61572458EFC5CF4190AB7A9C1C92DA
+29F84BAACF552089195966E3AD9E57CC914D20B6962BE80429A16D4DF1ECAA66
+36C4343FADF0B2B48F12E2EB8443C4AA29D00949255F3968617F98B8ABD4CC12
+048B838EE243A21AC808BD295195E4AE9027005F52258BFCA915C8D9AED9A2C0
+80814F79CF943FBE3594C530A22A92E11BE80FCEC1684C4F56712D5846B0749C
+9B54A979B315222F209DEE72583B03093EC38F7C5B9F9BCB21DBE8EDDAE9BE8B
+75ACE6B12A31083AC8348EC84D1D29D2297A266284B7E9734E207DAF59A25F4E
+4AA38509E993C5394FED76E6A2F25462685C4C86C6E8CFC9863338EC1428BDFC
+74616BB1BC8948B0ED4C87C15B4405F3A7796F9DB3798FFFE8BD0A94E834817B
+D5E9812E308D0CC920470A6F2CD088FCB80462BF7CB3F039A7DF3DAF5B2B5355
+E083A385CD2EAF0FC181E40E96DD7E9AB9EF5C7E6866A13B8A54718E950FE097
+EF0951A357114F18CE9933D28B3A77AA71E3CE884661F13284BCED5D5FD1A86D
+543E588FF473DC2CF9A4DC312500135F29C2D0174B32018C8DBD40EF9A232883
+710A1F2AB2CD11312300ACDF789A9B7B93D2035D81D1C84984D92D78A53A00C6
+EDA94B24BBAC1AD17774A4E07E6F74ABD90415965616AD540C8ECD8C3A44EE4F
+7F4F6BB6238C5062D63FA59B7BF08BE93FAEA70A2AB08FBEAAF7DBF56B95FD93
+03CA406543BA6C9527D0DF01F5108D31A51778A5EB1C93F27B72B46146A353A2
+01CACBC829603B9989A87CF64528682CCBA0562A8165B185C58A5C6BB72F5E89
+500ACCAAB8ECEFBB2640E99EAEEC4EA979AA793D013D61D8ACF8784FF8D9398F
+F6A252A709324FB39509F0B3A4E725E82F53543383C6765BE556CC897C758208
+AA3AD37B0406E4A79F8F0A6C1983FC73E71CD858C0DB66ED66D5D992978614EE
+1EA91EBE191E082EBA1FC040AF19A2202575C2EBEB8058833E3520FA03D2F915
+85C1ED337E457B9FEEB0C6EF2735EFDA6E0D05FA641BCF698AC6B97751E8306C
+4DF00A39B8581FF53DB8F8525FDB196D85950906CCB59B8EF171349AA3B567B1
+6A00819947A995FB383C3C1709C9A2C113B2E40BB832B7D4A0FBA0B16A2C455F
+55809CC425C403E9668DC66BE45B71A81C332FD4DB279D22A2959962304A8F18
+085893DAC61317D24A8F198FDAB95F3B86F0AFD35047B868A9A17037A2829A02
+BAB042F75F349E197A7EED41984C2859754CAFD0251439921C248B463B516951
+2E1322C80D73F9CBCAA63A585450275AC2492E4D3FB78E800F788254DB5E610D
+CF788DF5C70FF99892BCDF16133E34B24B77C8F097F546B87C603DDB8998B66E
+BACB68BA27462AF54AA405682EC96D701F0D474DECD5F95CA2102DF639EB169E
+D518162C2BAE45FF698B6DE15FC6E7DE48C336C40A670FD26952A6BAB09115E1
+991F0073419F2CC2A1C08BE91096936AA0C37E4ED3CCCEE235476074B8FF1125
+6BDE3701F85532D8BB64CCC927CC335281C95EA689706F0AC717DC2CF680C754
+E5EFD7FA4BB8880B2B727A964C876D4A223069D4E6001771F0E23EAD2A4BBC80
+E76675297B2EF05F52BF4E71B3EE2BE3048CF088C79540113C66AE98B2FD3CB1
+B0741A215FD070882C52765009D7D711DAA2508F19AE7DDA15229A856AC49BC3
+4DDF40814FF96500E4B9B02D412E94623C5FDCC76C0FB8E42DF56A904FE49D65
+1DA7C53901B2EA71AB658A464D3ABDE27D9DB8D9E0B48F64E61A2495AD5D8DAB
+B5E72424AD017DF37964AF911BD7FA21A5EB4775DC8E95EF0C0EB856B00D89D7
+8172A1DE8530767D317B8256103E53CFB877E10686A04F5A08F8DC58D843DEBA
+FD5F40597588663D103689F6EB3EB14D06E18C8078F2538B43E712DF491FC5C6
+AF639256C8C6134B64D560D8476DEA6329D995E46CC4BC78841C59E73648B47E
+BFA7DE0846422F738454AE77E822A083405289247BD7C478BE4974F742CD6051
+E99FBB1D1B3FBABFEE855174734EE45E87D0AADF32B1283B911162A9955847FD
+38944D70584FAA6B1A7191C5C134B73F98EB632B69E2F0C0F94156787C34C8A3
+7622A029D58F9626B74F8A8A1F3803E0BC20E0EADEB1E99B70F1BD9F980FB751
+2A842843DE42EB142A84D5D3138629AE9EAF6F3479C423E8829C8816FA6EFA27
+DCE5580E65AA9854B1C64163DC318420CD993C15BFD76A8BA1182860A6B03D6D
+22B8CF43CFE6C8AB27C64842E239CAE707D3086BADDE1D7C94E3BC96319470D6
+8D26915C575CFDD03271D6BB9DE86A0EB6EEA6E768B224A626C62A9AB48A6EDB
+44F70BB5AF991CDF9736D65933E81CC57A78F623F33EC9AF535F2F25FA4EEC90
+D50DB7E87F31E971A75A33A301CA6013EEC5A4E179D695B33DADF2C98364434A
+42926776000B610E17524162253F6FA638D6581C18F99EA0BD1D2E24D2424ADF
+C05010D08192485153DD03930C7BF45237593E484F9851E6D464FA10FECA5D9E
+0C8CCC97DE029030900CDBB491C5CF226DBF903CFE7735D939C3FDF3A20B70CE
+66579B28B99313FEE914E295388C7BC8E055A2E54EA3A8206D3C8F4F7C0BA5E6
+E519419FD8CE215F7B8E9BEC604A9E3FE272A0328A24E31997C8A91E0946BCF1
+6943A97CBED2AB9FC636B49828BBB8B89E0BBC2653796431224895ABA5DAC41E
+1854BD9764E86147FD7624F736F40DE3B7582EDDFD15C2BDE3F22B5A54D7DF10
+B87A1301CE85CFC061689A890A321412A13314AE96DCD3EDA75035FDD8F4AB9B
+897A2C68263A68457032C469987970648BA2D88B1C5375DFEAA35A917B8A952E
+EE670427942AEDB3CB599C5746180E392837D371E15D860620ABDB6AA7772C40
+A5E346661673ACA530BE3D8E3FFB895E5DA3DC23B1B43C080C77F7E47847F0F3
+F3AA5CA9E4BF75FC5EBD18D19F21A7DAA3B11CABC6E4070A15F7DBC8B05EB6AA
+A02EF1B078EB66D61D6AFE41DA9B36FE7EC9EF94D1EA26282A9871E2CACB3126
+2AD49C2D9B50A6E47D8F2CCAD50992D1B430979A45FD9E76182A19964BB2A1F6
+51779A2B258DC1DF4C2F3074621286831F3848AC152DDD2BA561E6586ADA88D3
+598A2CE2CD048F027CE0008B828BD915887D7785341E8305DF2346ADB76BE99F
+87B02173BDC334E9221C8DF54114A6B24C1C5340299512FA6C8C51AB4C8778CE
+178CEF531C6D1B5FF0A1BE8EFF767F959BD4C345C52699A29A17B2A230842BF6
+4B011217D6D24EDAC3F6D53482786F1CA33169B90ECD499407D37CE9B70DDF78
+7B7547B32952535BA9ACD1E244447AE3FCED3AF28717083CF9590A09780984D6
+AF0743C82AE4FB3E2BB2856A4153A3967A023FFC35382D6C22D84A924900B6A6
+3DDD400E6D2418DA6C27F2FA34C075C902B89EBAE658B3C9A18EEE449DA5A379
+337DE95CB7AB3F0970CF1A5D8FAD8090E495570FDFB2FBBA79244780D8035547
+C5A55BB21A2270F724BF5D442CDC5BB9F09BE0CAE59B1C2270F0BDACE698F2C5
+DE8F66BFB9634904B161F5BA2B1950048300D69BABD312D58D89C4ED527AF7BA
+7DA2478EDC2CDEE3473DD8A8ED9D891CD1FC21F23013228BB3281B71FCE959BD
+6F8E9059D682A7FCC5265A0620992D4FA8D78377EB34CE3ECA070EE3707239BC
+98907DB0120CE42ABA32CF97127E28382BDDFD685674279F588D4F951216C355
+821361790F64C2CC720DE97E8ECB57326C43EE47367628E05769E106868B54F4
+C33C9951908DF6FC4F5ED2C7787BD8FA591BBB3E9C6C1DA94CC5E38D9B20C886
+7D237572FF46DD896A4D6163408EA6CEFAC398EE041EAE29D577E75326CA17A6
+B072D47A7B13EC441CE6DAA042ECD02134CBFA6809A435050413817193DAEB16
+A5882C8AEA44BCF36E74E9ECCDFE7E19FF5A5DD7A94E5AB4F8702C3DA7F42325
+23C808670A0490F5B373DADE40814FF9650241D3D69C91FBC5ECE728F827D9BF
+C928602E05477903449E079164CA39859C4BCA60C579F490AA455F82B5050BB3
+969AFB478E0D4A257B3356EA3CD62051FCE6C6B1929CFF85BFDF166BEF658E10
+3A55E007F38EBBB248B3F0B8ED1925106B499B762E45113AE1AC9DE09644C84B
+9C08034B297314EE69BC32DB6E7D7FB9913CE5AC17E7335979E9DCCE2BAB3725
+1976155551F9706A576FE0E3ADCCF72C87683291528ECB749CB0ED291966E239
+B5E3630676BD409E08F85BC1AEC9A2D4135376284A96EA24431243BD6FE8B966
+95F11A4BB53F392E0AEFEA623064FF8A7002367B0A515635CB2D2DDFB9B4A8D7
+FE721754E81BBA548848A235B91AD4E4F7DB19CCE2F61D277FC00AB956EB93BE
+44AB4970CA56BF59506C94ED160FB1E25D3DF2988A532BDB787BFB8539D22986
+FDC378AC31444E63C4727FEE121A43751043849E6DCAC5B59D0FC703AAFBBFD4
+E8B7C268F21615AD02CE9DABEFA27B5FE6A6441B619539CAB1F810F1263447AA
+633F5DAF483752EF1A0421740E3A811D2D2898CBF53E7F686C9223FD7235F02D
+6F90D2D48CC20AB87778DE3C6FB335E0F0EC20B5DC5B65223FE117526DE2C72F
+FE839DF93CB2A7D66CD900CB325F891E311BEC932F703FB4FEFA29DB8B9C88DD
+375EC71B3D58C7BC59ADA91971A3BDA1ADEA629CE6CC92BD542CDDFAA7706FB2
+6CDDE2DF07E56D6741916AE8E8744339816F3E6C38062747AA9FDA2A2678A6B7
+EFEA870AA3A4D71B25EE3013EAB1DBA34401B867C7A41AE51E0421D41D3BB83C
+E120C8FEABA6E5DEC53A689C21426D4BBCB68CB37568761C360E6D4E3596FB7D
+F4DEC7918E58C0293D12D6DDA7E9DCDAAD7C939F55CD1BC4A228B31E9A904156
+DA6B40B08E6ACE674618B768DD681C772A3E55FE096CF949CF3B0460ABDCD891
+D17B37B355B29AB5137899C036F31DA026244FA25FB798FBE5105BDA29F46538
+D3D3AC1001A7BCECE64DE94FFE6C354166A0F97256137BDFA07F6E22A3D1D2F4
+9588DBAE95E895BC5E64DDCBBAA8D0A22C229B42CB717FC711E7E9DF793DF80B
+9F14754585A3C7E17F37B32924B9F9870DA8635E3E18BD1DCD81EDF01834D9C6
+B33F23C956C2FCBFA47D84422F583459D827D1E120B97694D12F1F54D02379C0
+D288F7104F3FFCF4F76E3494F4ACBD1BE3A15543CC680924C78A473F8E311ADF
+8FE00A04C6C393DE61AD3EDA5BC031E2353076A2489391B52632387CA28A7B93
+FBB065A6EF3658AE80B1ADA47E9B2539E73A71FA75645F85ED8ECC257FB4CF26
+B6C912DE9D0F9899E70BECCB934AD32CF49A093371A9F73DE6255EBC39DE1E7F
+00D0CBDABD4D0383977E694890E71FBE5C376BE5F3A80C28987417504F515C50
+909F3D31178BB9B1D085BE514F71B910A9085BD6122DDC72A150BFE266920E49
+5661BCB4BAB51D6DEFE32B616963DBD989FCDD1637B294CE4E288655FBEFA1BF
+7F25BBF8CF17C2D5FD161A7C2CC9CC7490D9BF15A1D35B3BFA43ADE256E88BDA
+BD490D92907C57BAC408A575EC84D6AEE070148C7C9A91C03B09FDBD792E8FF0
+C0B886AAD2EDD86541E5E579359D40E3AC312ACD3D8FD49F71BD533DDF8859B1
+BAF17F1884E331DD07CEEF93B71D492AEBAADF7A263450A7A72210CE630A0D37
+BF024BDC09ACC882816B8C22C62AE38A3A8D0F6EBC2B1B2C0B8161A8B076DD5D
+4B779C0788546BB4CF57332230D237856B00D79C28A7C01D11F44B7304F69075
+94B97A745DA43D1BE561372CE611C345A843834E46AD9DDB16CABCD3FA33D6F1
+F6B5C0497F5EE5400B305CDC16A7EC286AA4D45D0EEBB9DA06AC9C5294D68EC9
+E4DC3CA2B92CE8FC0526184A86EDC7AB34D67E60AC12D9CA8FD300235EC968BA
+92C6FBDA47572BC5600F25249F60AD287CBDAE980E747FCBE7EE5CD323E733F0
+63553B494D3DDEB9CC1480B5C3BB79A28E419AA65B18CB297AB383419E890E2A
+CE6F98C9900CCB4675280A10CF060B8D220DDA1BE55DFA65715EABCC1AFAA271
+B1F8732341613E17B231231A0D24D4D7FC198AE04D89A99C4536217769C6FBD9
+5EE24A6302F97438F7C0E311C878F674B4477A5ADA3952CDE4055AC408B8174E
+86F8FB797646DFFFE0ECA25D1BAB9A9F71F3926D3D85AA63E7A8C931D71E79E0
+AF1EAC26FADE468F4FF7F3861D14C10E3BE1F9EAFD6D3A544E8108D5DAB5B180
+3950C74818BC8AF4758A108F462EF1826647A49667F5E482038C54716856D9BC
+35F29922846D2148F92F943E951D7438C73D6A60459A8003174036C64E1629CD
+155D47FD04B03C023AD67CD5A70C98AB556EEAB8C48169706E5B352F6505D580
+AC945171BFE62E81F8F500438AC3B64D857BA5BC54C2C4BBB237F8FA51296255
+E66A92A61FE13FDE781D393557EB72CEBAD86511035F775FAC39A0479CCD400F
+226709118F887F47CC2ECC8F79816D4A945B2845F50AFD62D8C9A9BBF4739496
+9E644BC9F7B04803B7EE75A09EAE94365F6F374B4FCEB0B506C76297564B9B6B
+8B812BC3A33929AA94692572B010E6210AEAA312BDFC88BF302244AB9D587A9B
+919823FD01DE12438D960944D1977800FEB49E638C32E5B188B1CA033E0C37EE
+A142F746367888AA119535F0CCAF7EAA461B790EB089D2D6962E28A398439BB7
+9C9943654D7A2D765B46BC0DD1F915327F369162E1BA1BA83110B93F442905E0
+523BFF5E279508A98568CD5CFD18FABBE9D17265A9042537872831BF5F1F340A
+8D3E6DEA1D9675E87B3425FAA0172DBEFD7C28E30906B9FBA65517C9B58FB6BD
+E0D474E69BB90B0D130A32C4130974A1C961CF064A5BE8EC1056858553FFCF7C
+0D78627BDE04E5D0B9F6F72F92B61A915DFF7AFE7DC3807891D039AECEAC3F50
+0A09579E661D3DC3022206061E0250B09A05CF198DF82D4F28FCD3671E815A6D
+94820D0C87AB1DCEC251605D9490BC465D8A62C95B7352250D76D9FF1D3D5A32
+9690780A5B56F9BA2083B29AAEA996FA95246D55AE88B0D3F6F307959251AFD9
+82650287B5A98758C8FF3A60C40CBE3445ECB497F3E04C98DD52DCDB2F632D5E
+FB5654C417A12EEEF2DB5F0CC54A379DA75BB9DEAB9FD9F256C1B832D55382E1
+22A7DFDC37044BF0CC2CBCC4405D8A3495F4886001D615E1737FD9877EA3EB51
+823C2FA1940BD8BD802C34BD648B41E268B825129BB13543961334C69DDD8407
+97E868B79C83752682CB506FC1C801F63AE7B3B8D7EFD23C54232AA97FA8B2ED
+EF2AE0382B4ECC8B24CFC62F698F8BBC90215BEAA8446BE6D261E30DCBEE8CE7
+6BF8D0E51BE2597E8086F27D4C58573A2080DA5C2AFADC88F26A639CA0C767B4
+4E3E6CFDA486F508CC9D67B7930A88335101F127472BAFB7E9D32F1B784F6D8F
+D02294302A7A5D4AAEBBD8A29A4913F440E35AFDCA44903C40D271656F5E5EC5
+35538CA4B90A5576736DE83486BA99C21A9D395929EB5BB76F8E578A6468B2AC
+7BCE0A26AF73AE250D2ADAB421A04CEC8A8A9A0C1F9698CE5DE46D930FAFA849
+684D3972E03E43E23BDFE4BD603B61946913C2ECB6886DC8444F4EA58FF64C98
+ED01358F74C66A260BD130F9FE2F3B9316FCE3FF7265BF6E14A221035D3FFFE9
+A755EFF21B8E63B4ABCDD91FDCAC1E1B02A1F476C040C5821B3F53BBE34FAC09
+CF589465E219D3945086B00219CD05533EC4E9276BF65F23ACD91CC2353AE438
+AC1B05D60A82AB7737EE2B510B778620ED09FB79365BE35B3EDF101ED2C2725A
+E1290E991D5A786C1AC61D7B46CDE3482D13BE2392AADAF85DEDBA199D2DB40C
+051AFF0460E92F6E7FF20D007DDC155A3C4C150757D27C9DFB9156DCD415231B
+7D22D31632DA7A3ED3879F496E8F742797F271B1344217C56CD9435B7FAF42DE
+0F41383BC75E79EF118D69306AB040474E72F0FA6933DBA1C4D194419322FB37
+DCD3A29389E052C791342874C7E095C0CBBE7C8CBC740A94DCEBAC1D9906A842
+43ECA4E6CA170447128F6B7A1B192A449C0F23E837A60DE6DFB4EF7194CEA536
+E36BAD2EA6C022B8DF94CAA323562D16FF54EAE1B34FC97C15DC28C7C4E40D63
+4FF5D2CE03267ED07001A1CEADD34EE2AB35A016B7BF4969F25D7B2241428599
+FC94A5E7D85C3C7212BD16A129321498154BCC0CF58BC1F01D0CCC126D530C54
+3C92BC6E4F0A54B86E4F222817806F70B6E6A4ACE82440EB72915BF81388B35B
+F17431A25A19C8D6ED0C59D4049B83BD6E0B12E95FC462DCC5A6F1C41053EF9F
+DE38A0792D9F51B949A877B38CFDAC7490A1AE0583FBA180A7FDFCC3C0F7D4B3
+23A62EB8722992F79D7C9ABEE05921FFA2B969438246AC713F4C84CCDAA9F097
+49967CFD84BB1A660889F70D21C077B62BE2804C0D7F1783EAAB8031E2D6AA3D
+FB588783CDB6FDFE32BED57703E7E82B073A17AAE23CA894A8D0B26655B772C0
+DDAC6B0A4E015A2EE458417043B4F3275FFACD0183C681AAAAF9F0C80C3EE000
+33B8CC399B23FC367DDBCF5F77044F76515071FA54607343157B45FDD09FBE4E
+4D2490DC1D987F2D6301441FD7F1891BC7CBB1509E12B330487BD24BC8CF6A7F
+B8648EC2107BEAE97C8DD44F1EDE47546A3FE6AB800129D8F5F07C455C09E529
+401BB72E06986308614DEAD49CF14F2C68D815A62F2A81AED775CB9763824E0F
+F1718B8AF1246233D692B4F10E587BF8F357B54D64BD2F0941BB6D8D39D77938
+934567CC61B4311D12B9BAAD3C583110D0DAC8734CAF5C35EB64D7E27714EB1D
+6F203159A5498AF7C945939EF551A4E4CBA2F5E3FE135A4649633C8FB76CA066
+66658B2067E1648A99D75B0C6E56D319B6C5C8FF0A073C59CC45022FFB3C5C4C
+36E3946A5CF857ED9F727B607F8EC6F5517093671D2299DF15E16F74585487F0
+3F3622FBC828BC8D0AA1E5264A4FF4F194A3DE629606F3542AB1D496CE65197C
+862479B8C8EA696E34C7C88FD19AB5FA0EFB0F6BDC008C3A1BFDD28761E2EEB7
+33B93DDFF2E6032EEAA2E03FA86C7C703E08A34E2B8BC4B85D1C02D44BFE138C
+40F13400C98A56B1E66CC05A4D40CE23799373B747CA8469793DAD900D738228
+55BD106CEE1C6C1684D38D8940AAE2635B924923E063997732DF270D9C7CE449
+B99302A2DE3A27957E255082BE58B622098555DC56A3C3FE71565F42BBB54FC9
+F5ADD44AD76EA2B774AEE5A89FF12F205E05D889059DF51F092A72DDC602A36A
+C62553D037AEC600385A00766C50F3ECF0268101E2F7D0F4951704563CAA4464
+81497CA43AA0F6AE670F5FF085C7CAB2B935CA2AC6F5010344E6E5627D613B18
+71810A21A552E0D5C9141E8A3EA53D7F66072959928E97CBDF7492DBD63767A7
+20258C7CB0C86BDFC3198D6E953E711F6B7D9C0DAE59326C87D66463E430DD96
+3224FC732CFE01C2F6A74B764E26579369382823EB0004469A73B7C0BD6CE6DB
+0F093D15A4A6189874CC2457EA262E11EF9FA7D4C4F0D6C8C7E75F8FD39C6729
+F1B653A8F14246804FE77E9A50563473C68804596A2B77324F928F8423D45105
+C3B0FDF001DD577340244AC33A1864069CC3D6AFF466E8915AB33BD596D7E5D8
+2898387E7FADDDA1538D2CBA5A14825FFF4FE2C8937527ACC21DA2F53D321C91
+64FB3F56DDB61B4E6616BD5B79D4F89F8AE6EC7BCD539827DA3D33681DF39C2D
+384B71E3E3CA80C337F1F11039CF7DE0E0B7A8F92F853A5B6F221FFF850E9A17
+5C83CF701BCEFFF3C2103FD82895B817885F2637BC8B918A03F042145D97D850
+48C4428B6F6F1858E6FFF8F4B0FECD183C37F4F4DBE70BF9AA47A81E943CEF7A
+8AEA469A5D7FAD34E926D8182C9F31BC50D85143FD5A95D8F08528EDCCAE55AA
+5E5DAAA5F411C9ED1BD34754564B32EC2C2439F30CA9518ECD94E44AA8FA5F8A
+53236E044B96E027C8036A709FD58B920EB036289365AC09C7F1B2B9B73088F5
+A52F11341FE0AFC5CEFBE062041D370CFE5D1AA1B7E359F0156655F45569C760
+CE6FD9B0D4533BAD5D52B8E43FAB464BD7D40FAD195B6C282CD2B7284B5A1451
+A88C967124D307FF608CEA7D6AAF09CD27CF1FD28338013EBA21D7693EDE6A4C
+8DADAE9F2F7C5656587BD22A6E71A35E51B8696513F6DE26A075646E424F6A8E
+C7BF848169839EC53D22E2DA9F5C878E759DB5766EF081B5FE51F9599216A8D4
+FFBDAAA0873F3FB13A63F7313ECAE98C4CD9EAF063088825F223CB39677A357C
+BA1C50B438E5A96DBAA440CF542A9C44799B991449D2B75ED67594B092AFAF91
+0A0A1E19D59D11541E85EE97A5EB14A4FCD597F3D5F4DA9A0824C992B2631A20
+7860162F6049CB03669AA11D1E41D1DDA64705B1277846A60549A635AF81DAA4
+576635F91F32C6DB77DABE0C7F050DF78913C7910BF929C04F8B5E4D45FA6377
+B95BE62ED8F7D4E84577595B1065FB51DFFC47FD7A43FB8A9BE70F86151DCEFF
+2A23274E4B38CA4D0CBC3563E0BF4D4C87EDAED447DF1F0AB182931238F09850
+E7A7A1EDE1BA43B5F4E5BE603E8F9B62E82F9247C43A7DA453CCC447C79FD488
+52CC56300BE335F9DBE2E4A30B0840DDCD03D17B89D1B7B955A7C8DBC198B6F3
+45D2EE100D33FC47CD17AEC61F567CC18264C4D2A892E71FF76909A7C1FF0A76
+102FC534D8519C5FCC57BFB6B77D119DCCFC44FA0344855A1DABDF76646D2CDB
+DD9C97CF2C3B16E9553FE9F2F0CA3DA79910F540069A6D12402FD8ED91123D7B
+064B1C0626F98603B39BC4E82B02AAF4FFBED0541A01D1487F4031379D0C6241
+72C8DC691680A1EA9D7EB261BDDA2DFD24E77A13E3C3AD11D19A6E645E1621BC
+4834ABF5229F92F10AB1FB42B6AD6751260A650D9E9D6C2CFEA20066E1700878
+8C74FBFF33025839308E85157B623D3897291BC109CC0A987721437DA6CED46B
+D3F1E31D3C9BA094E52CF5237BFC72287F528333CFCFABCB96D583E080CF3C50
+4777902D47E9BC33F7F5184D7B251378F52A4ADBD8CFDAD19F9F2F766C23102A
+3F0A8B5C547513B552689B66FE3B2CA4129115B9F13D986C05ADE5063CD89596
+76AEE0FD3B837F369CEE095F958ADEC33000C688702D4780E8DF88EDA0BEE930
+B876957D28A18FE986A702113E90E08D0A375475D143DE90AEB1AB8DBBACEE23
+A335853E86060FC34BC099FB010E66C0E30EF9F6616282EBCF0FFEE621F19AB9
+F937F6B4E2767DF61AF6CDE35FBEAA7ECEC7BA386B8D50357E78AAC23E48DC0A
+C8DCC103DBB497D92C20D1E659C0209B027849CBE137BEB509928DC43A9CD193
+4F3CC23646E18621ABDDF6149ECB7B9E8CDB69653F372A87C12977A33094DE77
+DF0A9A030C2AF0E3D461DAFC7739232714C890AFF8393ADE7AC587A9594DB98E
+16094E3D2A32726BE425A1A0FF1A215C63F8A75937883F024AD23103EF6FE8EA
+02641BC32EE0B95826262F3E5F7B2D214AEC2382CD39C0BE51FF34B02F503BE9
+8DD482E9B01569CB0BB8B7673CAC707A9C473752329D3DA54A901AA75F9371F7
+0F666F00741B2D9E42990A6340E770AFF54F732B07CB2896C8F462DD94C92E4E
+25F5E0FF230B9A26C7173C17ADA2CF91C6557E5D67C4B4CFCBAEB867118FC302
+2E85A7C3AFBF9D07FE75848EDE525B72D8EA7B81DEB40B3047DBCC07352A1DD7
+4A76B031AE132DED9D36D0B48D30F5E2AACC93F676DD9CED2C79B58F3F898873
+D1142A0BED92885845C0ECD3348C21874CCB0A4CDBB5AFC0114B86B780F2B0DD
+390B8562C7A3D260A95963FF64D5C6FF5B65E7F5452CA9E69D593C3AFABDC356
+869F52BA58E9875615AAC7FC52C73C20868DA02265FEB674F8F7642C9920590B
+62695A2AD32067678054360E491196D08E03F1D043FBF1CC24EA0674F2397C1D
+881600F850C397F340F59BBDBA7621AA502192B1B7B91338BD124F09681B9F7D
+587891CB6D6C2517DA853F744966EF1165E9679FEB22C39FE1650B2A1607C0BD
+094A704B9CC34D4990268B2C2BC3CF8016B1C6C963090E37091CD6E1C3A769FC
+9252883C283C02A4655C572FF174DE34C1819A3C5795A82082FA4B4CA61939D9
+0EB3F45A576EFC446B7872CCC62840ED9BE1DF36151EEFD9D7C0C0AC1F747DDD
+48DF2E3B2B57D98D8BF52C9B6FEB7D84FC001FCC36D24504B0A54B882E7C154A
+1337B7E45B8277F20D2A4A79284F9B6C27CD7793964BE59DEA989BF933852EDF
+3615316C8B286B0EF27D1EA73990FF78AA4A9BFA90202B9FFC7ACE8B990E3A4C
+2B3F42C2363261A04539DD185F10AE354BF7432DA99597AD6F84FE00DB4E22F8
+51D0624062A79C6703047D84A49D67CDB8F7F314175BC9CA6C29D2A8EE3DA2BD
+544B7B92BF5F337003BE0392AF83F14277F1C21D35F9EA9E39022965F22E39E3
+2248760FFD088A27540944676F3012D72903B71120E65F969857C14EE854C070
+8BDB008FF4FFAA4A2F5EF1D42C3065DB803D106DBC810DAF0DF3F41DDAED1A23
+2071CC67AA68FF2E077B64962ECF2DA17D58F6D83984E8EED1318DAB77780899
+8697C829AB15D04B96514E439859738CC1B651CA1302075EEE69A55ABA404BE4
+63684C4DE96129CA7FA868F88BDB2C9F29E8F7845D874B78CBA1165E47B1AC4C
+3A5C56C14641F42AC7B933C8DB391FD16542066F877F2BD01F008B6229BA6D42
+3B3A23C8463F77CC9A8F2D86E37A85B933491169102932C49027E47E2079D979
+456A117D1BCCE89E346A31E59A2B34C9800758D651A8F81800951AB0C4C85F3E
+DBFCCE59BF00AB78691E9EE2F5A90F2B82FF4882A0861FFAD2C98C97A190A897
+6D65C2D403C5F1EEE0B0681B2B88461D112FF7F4DD44A5F6E0F9326989FE61D7
+9FD90C78EE9B43A64EFD141799E5119B44739AE0ABCEBAD7D37C994DD17534F0
+6D587137666210DBBD979FEA082C9E9A73C29836878408848293FCEE04B71882
+6E382AE29E3175AE0BD3D5065DC86F60E375B45B2810962447C082B84AC5BFD9
+F3644B26B77D3CAE50261E3DC7149666A5E45CFD79A05C0F3511F823E75AD49B
+1F1472E62741EF623E833F2CD4A301EA3B0D4A46135955110C961563D2691B48
+1951AE7E147B95D25943F9D89B9C311AEDC36B42496F4ABD09AF56581284165D
+E6CB850967400E239D30E3BB6D14C2A2945E1F50BCDC7BE3E425B54D53A37C85
+2F65C8250103FF85049DBD28BA3942BE22757C6326FCE7C2A44A9D8A35068E94
+C8DE1785096DA9C5CB857F0A0284D0FB9F78A690E1B7B966A35A2B7428C6678D
+7ED671CE16A52E2D62DADC71329AEF7C5A69F1EC45E4814341040F8AB8C9DF8E
+D65B2E79DF3D24A797148B0FD0DAFFB1EAA47FAD65B4D0167CE1C41367590120
+817CD89DA677CE901EB8293C6A902B5BFA58738C39198DF90B5CEDB2E18C0F07
+588198FC4AF67A075A927006154E4A2688F10B35DE8496F355B61ED9818BF3DB
+E3B2C475D44DAD4AFAB5B8D3C83DAEC03D53A04A5557D8BD673F79CC1DC21B95
+DD7918589960D47DFF65C4C4635ADB885C690522125E2E4C817AD5163C5E925B
+EF1D11A24DCFAFB10F9CE220263F1DA8EE88A9607C321D65B4B0623BF2087F20
+498ED295D5204A0F7E55581F5E07DF9248082D8ED860F765056CB1E76CE99962
+463711846AC17CA0545116646287E77A03761BD13FEC4A6CC7F4A82720BEE004
+7633522C947BCA7B586F191D624D61A180F5E933CE485655829ABA91AACC90F0
+2ACE144BFD5B53679D39DF4F466D21E4C1544E89FE182C53CE61688D6E82A548
+E8EB844C25C68A9B68DF7C7E29400F50C3F9EE8A6C3D7A4B9159D1053A4147EE
+827D372C2E8896475FEABCB208AFB8C0741515D6582F546685D4E735300E51C6
+E8924528A4598F3FE9AAA5F1E08ECE56329EB5D3FF12432A787CB48F49D2A232
+AD3A8A741411FA1DE5F85D1AD2D9A80FE4774F1883A79954166A3CE47A47882A
+F5ABC4952064E668F8F9861632EB43F94C949240E8CEAB741322711993B6DBE4
+FFD77BB80D6978319CAA5DE8A4C95FC0E4B020341903A85DB0D2AFAD2A6EE860
+392DD706003ADA8A1D37BD166C72770772C648A2EEF756679298DF05D9497C88
+FAF9B6A2A7DD4E3E1778F67BEE99F4B79647D4093A171E9506C8AC861674E76E
+1D329899F4517E8CE6AD3BE7DAB964BC03B9A37B303FDAAA9E2EE311E3D97F92
+6727FEFDA7BCEF153F3B5D188671251A5E89DCBF30A807A79D4DB463157FA74F
+33A11FCA0EBF852946976B6F00C7B77E5B6AD8DF0F00F2E9086FFA6B70385C93
+9621977BBB6EE25FA6641C258C06C82D28163D04AB541F6C6699B1C3C61F2DE7
+B414C741759F68C275F8E38E6CBA2E7306D49055138E86D4D0068F36A395BB54
+D54426F761F4D19E4A277C0F1AD0179380D306C7725391C6B5356B59D5443D94
+A4B547A076F2773873A3434597979FD9804EF1640E00A67C39B141F6B5F13D60
+F301D943F87D045BFFCBAD15ACDBC76BF4EC81B4B7419AB5672E7706579E3DDC
+FEDC64E55F0647FA07B7B6A0D0CCD133EE61E068C4D5DA5CDE92E99FB53EE670
+1BCFC0CF2C59B5399A0C4CBB3DE71B86E3A319FD51710B7643FE97F8BA233959
+901A0406140B8D9D3D5A439DA4DE5237D68D06DDAF25053652105ECEB5B73308
+0BA1F8A7D9171D7E8BBBF50CBD2D48BA362437DB664B930D6F469B26ADCE154F
+00EAF28545247B0A148F0BBF928595885E89C162F1B26B1AD2938753C13FD5CE
+5BC0B770AB9DEA99F0471E1818DFF91A5FB93C5871C6A232FB7BAAD3EC230B5D
+6241695F1E28CE881941BE91A7C28FC71740ED170383CD398C8AE80D17E68FCF
+7C29450B91C9309010235911004A4036EC90C2278E65DEAE2905BF6D6ADE7C6A
+730D01EF1FF4E3D68352F4A19B43C6AF1BE74B5DF96C8930EF71A3D9B05EDFBF
+2FF35E8E5130316296472CFA3480D25A6A4602F5B7695B2F35521414E0919498
+5E4208A1C8BBEEB5DFCC34161FF311C6F6D037CAEFC1E34084AE022B70D4EC3B
+3B8D4119FAE711BAE396F18C4EEE126BD7EA3CA0D04ACC08554BC96AB1EB0492
+73D5728863A8F617CDB8A0A955228773049484342DBC8D4F03316E51FD359BAD
+296187133AA32160C9340F464017B138CBC4072F4E3CAB84A7652896F7F7D832
+F6B2CB585591897413F68FC65EE8E28D80AC54CC65F658E7591C992C197BA004
+9A9905210E84AA78738716A5CCF43A1CDD75979EEA02A37AAC6737BE06CBA00A
+A6C39854B268422E2AD0CA2B2F2D9E73861B23BA424ACE821D263606A3D7A3FD
+1CAF438A3EFD767F772ACAAC70BB7330727DAFC6D7D3F094BCB1D9541D2752AB
+FD95966439A17606C75AB8A8B9D691C62AC39D514CF0F398FDBBE890B9A7EF63
+B0FCB66A96AEECE8C57F66714E63B2A139C72423C1E2126202E50B4D156A0902
+4E0CB480D77E73250F3EF23F5F4F60A6B615D9FD1789F486977B450EA48322E7
+8A99FEED0BCA692506849CAC24060278F53C3D78E7439E073C35221472ED0C0F
+894F61063352C4166803871ADEE2CBBECAC1BBD2DE66C8D8308D293B283042EA
+88F572D01FE26EB24982FCAE7B3EFFDF27C0D83B751703EB8BA44DA80D56D418
+962AED0965F0D640C2B958CEA135526A8D069B1E5583074CA0A1DFC93CC39B2B
+3EED9E94F01232BD1B1536FDA8653969E3C24E8C87A31465D3F3D25AC6E7AB7E
+CBD4AB6F6633EF0973B1863C0028659B19630D9F9A1571A239212F05BA154584
+000AC9D984E78C87D8E111A6F09CC0BCEF4751703E10C86AE5065E98AC3C397F
+1D39784AC5358ADF9A160C6E7086D1CD28451692D06F952C91DD3B0C882537D5
+7063A0664B764F82246BFEBAAF569D115BF935255D4C3CE99BE406207E9EC1CA
+BFB70D0EAE2E2CB481C51A0D6063EF82DC00E6AE60E6B3171EF54AB46D1BBE23
+532166F45D6763147585BC12AE274CD66BE5C958E726008301D7E11991A8BB65
+9AA4B1C678A80A0C01F6C58DA48B1F4FD478CD9F3740B4D0F5548C7805BCFF26
+00D38E82E21233AA2F7B41CF130C98B617E842B8611E8E62063B7AB61E0C4442
+5440F204D019FEBBAB576DB048FC6AF796EF700549D10E89913C28916016628F
+555F8D80AC3EA649420F2A7724424C0770ECEA7EC350B130B82B7660F146A892
+7853A59DC97DCAA4103B3FD28071D574302603A607D988E47341842EEC4383C0
+F465A1FD525FC33E5A6CC5DE3174464C386EAFCBE3D73FC509110AD2F706728B
+B163B3777689BE67BC1A1D9324E7BEC763DBAAB5C553A23C7C82C1D33138A75E
+1ED9167FD21CF17C20179F7F4EE5C3FE14D00CFABF0EBD6B2482326492D94B01
+7A1BEB4FEF2CBD4F231D2836E3080C1D6A5944E859FAE931DC4D6E870D7BF1AD
+433BBD2BC72DD009C7504902A0E43BF9D2316E909540A13996E1FDF656258C72
+F94AB9ECFFF3EFB161335919427893A09F978CD62C1C7030A4A19911A627EA94
+121FD3824FA5B6DF6267C2B4CF5CCEDB9495A0E1C810962A2016B2DC4A62AA7F
+4874A89253DB00BB109D6EAF9F57BAC3E587F8FB439ACE999394F45C635DDE64
+73FB42E147EC5AEFB5788D8B467ED8C600A04CE5BDEB0F3FBFDC7A5FA2779F1D
+FFC8ABE747729BB80E09ABC8A1C04C608E977D3EC92D101B6457543E5ECF06C8
+38948F8A2CD8964A94115BF148DECBE8A2139295DED8DB75F0C2D3A67A980ADB
+AF7E106421524FBA2225C09EE092CF4F5756C3910A3D43E0320595F2716B21E9
+895ACC5675D60803214DA66800E5376AD2507D978ABFC729D9F096C359D50508
+A80131301FF357549C555470B659376CA8B6276D0A44C5FC34D797C48232A44E
+B2AF054908CC7D3C6647DCFD77326F886B8C961632C6D66F4EA40A17E7651086
+5FCAE854E708EAA6AF44DA41BB3D7F7B6E4D4B3ADC16BB20CE86BF993B2AC854
+877251B9E3BAB5C3243332A135AD85EE5C0084FD75CB36F23CA8AB4575B1E9EA
+9F3CED9ADB63B6FAA062E668E5E4510A830D37482F7DF6E416F9642C707415F9
+85F3065B74D8EA67A6156574EF9EE9888FD22BB69340F0F582429828C7A51A57
+36C80C8D010B237FFDBDF26C799E433571C91B52FF4BAE75A22D8FE6E16EAEAE
+A82CF7DADDCA064786FD7827FD3AC5743CB3452E0002FE96DBDB3A8A186F5BB6
+EFACDD3ADDBA87BD94C3E655862945D6E9C83C9F2FACE3752D91D91E38FAEBB5
+6526A3EF855128C9F304B03E2DE504F269FD1257ED612398DEFC16283FA11FBB
+7FF6B3A4FC012DB78BBB00C5AFA400F6467C862F9BD5048776FB872FC693A7E3
+3ECCE7DC441D95500E048B9E8F05C39243195CFA099704432E0AAC087B8A8E5E
+F7DDBA473C5076F37B4FAF834CDF46F47ED12993B46E98C980083702292A50A6
+1A870179431035A287F31752B4
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont 
+%%BeginFont: CMMI12
+%!PS-AdobeFont-1.0: CMMI12 003.002
+%%Title: CMMI12
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMMI12.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMMI12 known{/CMMI12 findfont dup/UniqueID known{dup
+/UniqueID get 5087386 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMMI12 def
+/FontBBox {-31 -250 1026 750 }readonly def
+/UniqueID 5087386 def
+/PaintType 0 def
+/FontInfo 10 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMMI12.) readonly def
+/FullName (CMMI12) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+/ascent 750 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 58 /period put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5
+45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4
+7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7
+72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E
+BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89
+974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674
+11453BC81C443407AF41AF8A831A85A700CFC65E2181BCBFBFE3573BF464E2BE
+882A715BE109B49A15C32F62CF5C10257E5EA12C24F72137EB63297C28625AC3
+2274038691582D6D75FE8F895A0813982793297E49CC9B54053BA2ABD429156A
+7FFCD7B19DAA44E2107720921B74185AE507AC33141819511A6AC20BC20FB541
+0B5AAEC5743673E9E39C1976D5E6EB4E4D8E2B31BEA302E5AF1B2FBCEC6D9E69
+987970648B9276232093695D55A806D87648B1749CB537E78BB08AA83A5001F7
+609CD1D17FFA1043EB3807AF0B596AF38C91A9675E2A53196FEF45849C95F7DC
+182A5EC0EC4435A8A4B6E1CDBF9A5AF457564EA72BF85228EB6FD244F2511F5A
+CA9B71A65D53CC06EF5F7EC3A85106139A4D312378BC22183C09A229577B793A
+1B7422611C03E84BF809F46C62CE52D3AE29CE01C32B202ACDAA5B72733EB0AE
+C31D7EF7BA88D2D14F85313F7A8B9B7A5B124B03AB923744D336C969E5CE304D
+3AD977A46664479EDEFB69F113024E761C05FA48A54072DF9E12C2F352ACB3E6
+D04F6EEFFDE209E7FA3DA22E5B1D1409461F4286B7F4F8251B44E5CB7805762E
+E129FF4A06A7458F3191926B1CAF70E32C6571AD2DC07C34FF62840896F4D200
+761B1A7FA356526D1E3AB4C542AF13623BAEB9F61B1BEEF79A9205B1FEFDAE24
+8799D516A9ACC30BC0139C63C9A0523E9D5439213B67D490C96F902958779B8F
+68BD8E9FDDCE8A3A2E35877DB6C94B7612382ED8F218EB1157D2ADD090A2448D
+10B99FBC9211C5629ED1C61C74FE93041E5AA03EA4AC3FFDA00C2B6E719CFAA4
+262FE17F66804A6B54D3669836EE4367D2A2991580C5564463C973CA0DA38AC6
+922716E13B4A807B50304B8826CEFEAA47C305FC07EB2AF25FA7945797237B16
+56CDE17AB0834F5C97E0CC5741B061C6FF3A8DD1A79B9A173B66A6A750538E26
+32FBC92E75BA15CFFE22A7302F47908547007402569158F62C29BA2956534FEA
+7DACF1E507AC309DAE8C325F2A6023D2FBD81EF42146BFCE6A16A6310A650460
+7B07BB7647C8760FADDF0DBBCD3DA6CC4645D1732DB3A22D8B76E1D2D48E4D4A
+46F4BEB80CE65F3517283A1AE08391FD1C10ED452133706BC6725AABC80107FD
+754A8BA47B0281D479F052CE26A723EFFACB79B213041A536542AB334769A2BF
+88505D82C498ABDD5A73EB539530F47CAC52825D16A969C8BB56D4A7F2830B8F
+CB63B92B576E7BD922A4B25E634751F8A3B7C4EBAFCB373EDC8B8281B1D1371A
+7844E9AD990CFF09F0D7ED73A5CF873D2D5C9E8A9923CFA31E1A4B4CCCC40760
+8B3AC8FC3C88BC08BD7407725281BB879A1A822D94997826418F1B89D303F2C0
+BE7A0102E6F529630CBF1BC5BF3E4578C164A3DDE45E62A957EF3FB7F0FBBA6B
+CA1E79A1ED195B6A11CFB345B663C5E72FA55D80476F604F6C4257B51686AE25
+8F7D159FE605DDA0AC74BAA5034F29FFFD403070013C6E2D8EF6A0990D91173B
+D5A3AEB98B64E412991505C3CB7C2CDE13C091FEB3DFBCAF30C4C19511102300
+135BD5D444BB55692013F52056908DFAB2ABFACE81A58423ACEC59344CEF7D4A
+C5A3EFFFFF70759BC3E593D878281225060B97D1BEE6B26EED90571FEAFA1812
+1115C0EEC892F5DE6FDD68321A0B3F10A2D771B79BD85476AF6018472A499A86
+07D64CFF4550866AFE590C471C80EB12CB3A989A60BC7BED39097C12D9286E39
+14C7952C4C64820B4DE44A1827B7B0B535244E93FDB80036D6332F90F95B472D
+7031E7E3819E881BD0313CFA112EB3AAE943C99C47635CCA7E34DC0306C04E5D
+2E9F60FF037EB11602BE74E8E6B711392E866E3E55D988F7C856417A2B9C186D
+639819B4786D039B77F8578EF63C088FF28BD08D8353031445C8498A8F445BC3
+D08923D32AC04BF3CAFEFCCC1E77EA894F4E846F47EF62D6841B8D8576FEAE8F
+90044626869D04D61D64D56E8C51AF8C18D6CC3FEF3B6C4F7D56FE3260354948
+10104F69B117FB8269292579A7D52FED688C663B643D8D99F13956612271073E
+1A337AED059B7A93819A28CDF01569CBEB51069D22ADAE25C47355560F402B2E
+8C9900DA82B79C64497C8494F42FABE5AC41791C2010D98FB7E593C744F250DC
+D837DB0EAA4F75D0016970F3AE8359878A08CF9A697A06C5EA945819151265B9
+1A12122B98F79185DF852257BB4798E7DC03712EA6ED34F6E6AE1476788DBC33
+9229FADB8D581BE1A63F596698DBD6DB98A092F67197A4FD4A50B648F2691875
+EE2495D6BB310078F516785A0CEC7EB6E8305FDBAEB1D15690409FE32DD9CFAE
+DBD3866FB63EBCAAB73E3E4BE5D7F3AA44793938AAF3F8341683F0790F1D46A3
+60CE083F9BEDDA22E0639A92393960F86602216FA51E2754BC2F4CD0BDECE3D8
+FFAB7E0E49613DD4956C9A10AEA798BDA1F756C755BEC12147ADECAB0FB73B7D
+203A11D84DD2AB5AA98FD38C1C2573570FD49A4924A94A106D2A7D850E793608
+FB135853E8C4204441CDBE697FD0CB330B1C3596F32D2BCBF263237EAB362D09
+DA6F531B40384DC91F30674760CA7B64BA1968F6A7FC9EBEF431A1AFC5E76D7F
+2D44DCB7F61C7F6B16196B3E8B47343F572DBA8B8B21B43E35BB6B2DD5C7982D
+244FD4304D254D6CCB5E8CF70E77F50812F41A988EEB3B26BF0F6F69BBA18077
+31134B5A5823D10FEF6201D045AEE7A24E0F25376E9FC66340C56C05F6CD810B
+724D85CC4BB8D789834A447CBBA159565D08BA5793D8599035BB5063271518E8
+F6C50E7DCE71B1D186270DDC860C6DC0CD506010EB5B1FDF6BE47A9A18CC15D7
+D657E58BED9EECAD5CE5D49F63139A39BC52C6584BB2C3264D51BD584B40F8EA
+AFCD8B83F548594386EB2B05CE803105E84931DC6E7A1398073D48E130E0D907
+CD0F1ECC3254EDF5D4DDBF44415DC9BA66C673820CDB0FDF033D59BE2B5EFCEF
+01FF9D33EDC88F8D522E07F1689D024DBCD09A16A63519E1764C8630FF36058D
+CFC07027E0ECDA01E0E85B166C613B22F587B4D355EB018BA93E92A36007B4DA
+287FF5A91F7D8A0EDF5554ACCF45AC8066E88865C5692E63EB99CAC81367B605
+8E6C19EB98EBFE0D2D161B447B9A70CDD1122C7B78A413369016E6D8481E2AE9
+9AA97B5DD0ACC9B0820F7742CEB2F46F89F3E2092621969A88DC0156B4F941A1
+6BF1546D4B136657C47B082A8A35FE96016BAF3D9679B8C32EDDD6AE6DF3BFB5
+7854074FA019707FC22BFA82299E72ADF9A980AE29A8E2434277E58B01F6B03C
+192E1E25DADD49F6E3F69799AE62B56E00B60A031BF8721DB8B2CB6D4A4C15CA
+AB1FDE010AB7DC0DDED977389B101B8E53A949222FAA126656E02817DD32B0D4
+A49516CEC2B97EA7C78FD66229B044EB92F502384BCC6CCDFFF995EABE3BB7A9
+50D5D1AED861E7D3BA8D333026C673C5762712E763E59261426044583D789C67
+A606B96F97663F92BF104CE02FBFDFC521EC0D6670B7D4F85A229F51426DE912
+3B729C4A535FB7C88D0A5E78074751B58885DD6BDD2DD9E9C83F105E8CF63DDF
+CA7DB39D0319CA7CC2E73F42747F007574DE25AE1538B4D493D22D0D5F0F80C6
+5F6FA3937C8391DE2F0116F81DB2DB0EF751EC838A7F85F163A6F48804E84B96
+8D715EF25B7E2A5CAECC558D80F421052A1D698F3B8452AC27E30A4E6226E3CE
+084C8A83ADA0818A110923CF7AC7AD4CB92AE4ABBE0A9EC1FF935FD02774C1F7
+92A278E513012AD17722A23C55EF82E18F8847B5CCE47F4FE3EC508BA563F7B2
+AE56C94285A18DED4D432FB0CEFC05A20BC17DDF9FF919C724810A8ED7358A27
+97EC93C1A13C443A91947FE1F6F528EA7B628917FA7E554A1D7B31ED46C5ABCF
+92BA57961C8876DB4041305EBB029B03D8351D5E2819FF87E97ED214D8F1CEF5
+7F7668DDE223721C0B810F4A4AC81CA4EAC86EAE546E1B15D91E626FB9A31824
+5BFF17C4E79FD56ADBF6DBF01BAF6453A81EBDCB38A5FC0FD0FF0646B3B0D199
+13E2E59A1B5CAB6DE5329BE389BA0E2A2AB55CA40B711ED746C24F1E48892E76
+6DACF7DA163CDC90CF076763008E7A899870CDED5A80758E6177BE6B93B07EB1
+5800A3BF7B9AAC3FA825CE594EF5B7546B181375FA8F37608DF17856D2F8EBD5
+6030A9E6F6BEAF224AD2AEF76D03B023E2FCB922CB8E3C6816AABB61FE6E4F83
+F21B4935102C860ECA03DBEFCA461F0E5B93E5A8D18440BCF7D1D6252A24CB6E
+A64FDAC8B67C4888519AA368D9C4A8C08C7155DF5BACD75C5196C571C3C456C4
+7CE8D90215FA6EE8CDD72C48740F7F5930EC3632DB63A9C8D2DA125088C0F05A
+9FC83D16B7F53163F4EB6FF372C6C3115F1E68EB35967D11126EDEDF0BF80817
+E68A698183B3EB0A207DB43786E1B9D289359D75AD5E465328CAA90E712C2962
+AE2A466173F2FF30EB535A6054BB0B875DC8552C16B49DF17CF84D98D35497BD
+F55E273FCBB0C735899529A69990E09149FBD2DDE64B7FA8D50AE83925DF03C8
+0B63EA158FBABB12A028803DA4B9DD6C48C0FEC469C4E730729F4BB420D5B003
+1918B4AE9CF35CFD31E8E62A44C0484E3D00143BF1D330235E821E5CFEAB4D31
+7CB4604DB1F310457FCF9075A3527279644D908DE847CCD00B6F50DBDEF91D3E
+38238CAF550FDCABA2C3A46237218DCC5A09AFAF69997E1EBDA7EFE6FC99ECC8
+5D4AFD5EE35FE2346BE79B499EC8EC436868154A947D13BC02C780EBA4B9E64F
+3026F1BF5DC1F8D64FEA1281EA40B4BC355638A3A59BD9055BCBB232FA45EA0B
+B405131B64F105814019BC55466EE78E9E9ABB62DB30EA452F7EFD7196C76A85
+15B2CFCD89922CADC0F392B0C54A231F3999AEFB53C24EB0C63B0C8A1A1ABB6B
+AAB2F93E5ECC7AB90EADA320E918106BAAFC1F8C425C617639984629018BA674
+6FF4F338AC43E23BC3740542911C058D43A49A11CB3A0CC8E3088BB5BA6048D6
+CC2AD250DE956BFBE83BB24C945C20D9C22E7105983F284EF478F9B68BFB0322
+EEB7D62802CBAAEFF1C2332159DCC7243EA40CE15C734EA905E04C476B178B82
+A08ABCB0B86A7330C75E62EE7844C9E22DDB013ADDF20AFE08122EE1B930A81D
+806A0F8CC584CB7FF5F56F9B35E5FF78FD93E7E4A40C64537464EAA275FE88F4
+461FC6A467C8A69B9A9FBC10D44AC1B753D313A8E7D97F5FAEB60F82855658D1
+4DCEE043C8FCDFD8A29DD091F3BA55874A458B2B8989F35055C72FC411382361
+9AADC717E602B48D7C9521D3971A6F7EB19D539445DDE9EFBC5B58FA9E5E426C
+172C45CDA24985FC4632287FC3B15849DEB56F5A061993AB10A6BC59868534E6
+69888175053108B77E4978D971B4EC57224C0F93EEA4C15AE92254140A94704E
+ED5666FC06C5341F643F779CC88A9E81891565C63B6F7F6286E664F4E0A48690
+356DC96F1B98026C563700772485B83BFA06435D4E0793EF822F423C93FBACA0
+E5D889D2B76771C6F0EE997A5DB43C2F6921132890406E3C33F6F159B14C5D78
+7C151BDFFDD02B697315F191B5490073EB418A4FF2A398C68D44F0CD1B87CF9C
+B52F12728B72F94D752D23151196A256908135C87991E508B8906CE2539DCA8A
+31F86809C8C6C18A09F6129BD7CDC6B37E76B648788056851F22BD3E3B5772FF
+EC01D822B57FFDB3BAE624F05531292641FD6A7E3666152D18F6C653048DD7D7
+98A942C840C4A0FA662F260B21C64214152BB86F03662A330109C5AC0A5EBA30
+C6201F558858130703DF76AF4FBBEE069BDE45C0D9467077D85FFED4F9BA9C61
+AED87D67CDCA453A6528AC5BA153E1039D9CCC556CEA5CBB542265FF54A1B208
+E0E13740E7E7C26AA00AEE909F8F3ADC2726081A744D8EF6BB711BF5F611A900
+76F91C26A338DA13A7160A9F42410CCEB3190000D963D036FDA05A29F598EF40
+8FAE6F8E7E6F50C99C3304A573501C13A00023085F057DF331E3354CBE65D573
+CAE73BF15B3B96B502E0AAF2B4A86237E98A997AAEFFF4227D5A26E8972C48E7
+761F430733E6EF8AB2D903C17FAFBFA21C25F8A0AC157D397BF3CC1AE7598F0A
+2BE4FB46B29443CE57F41FD5F91122E9D86F903E94D5B55E2BB95949C156D138
+89883BEFD634311F9280C7F028DCA6408D3A682DF5B55B9F7ABF08F019190F60
+D39E4F0E80F0594235B09A5320109638B938633A2C196E4ED2B43DCD8643C3CF
+C6123B076B7F73352F906D96FDE0FBF50CCCA432712C574D5857838BAC30B485
+D25024EB254A7EFE57D1DF0892C275CDB3DF77602F0FED0FAEBC644BCACA04B8
+B424DB125E487794CAB36E01B5E1A26F5E1E97A739AA36D77A12F5B45338EB39
+AF36CEBDED55DCBFCF497FD475FC6BAB5530AD6153C6BD982564EE8712185F1F
+D5EA7ADF4104661168A01994C1FD773A50C8AD6A3E4D332E4D59521BB8BBC6C3
+866EB4AC3EA4532477E6CBF6BBF0860031C3B916AA25E3492670EA67F55CF4FD
+207C684A0DDB6F4AD21B2909CBA71BCE2E762012B0927BA72367A6AE0AF87F73
+756C9BC85E4EDE35317E2CCCD138C02C7A8013AFDC1A48C3A4BB8EF257BDEEA7
+60E012F54D12D31D18DC59D5E526F12567B8688B4B67E16B56713870300016BD
+A3B9DA87FDC865246AF8E94316799110D86B1DDADB8A673402D4226C519C058A
+1D1E5A5778584FC28AF12819B1924060BC4F54B1054EA6AB0149E04B8C4302D4
+A56D8A347EB5D3D2A0E12CF7E35059BDB53D9FF6BD25F6D9619BC4669CFC1048
+C6C9978B8751B840F27D82A69075832BE59F55C1737CBB1220FB8FF691FDBDF3
+03BD7D225A9372AC221C38245E48320E1CCF898D9EEDD678E5B8C65B7F588321
+1A3953EEB9B39EA9A8CB72DB08C3E9234DFFF5FDF9DF804C021D57E97DA7622B
+97F4CB6E0EB640E0DC9EA15C5193F92A3A7565F4C7A4C9CC327F7CD2C44900AE
+D9E76FFE62FC37FA376E77131B566AE67C3E09DA80F198BBB995EE8FA47EEDB8
+4B467C6C7DB8AEA745CF8C56B8BE56534E9C56FCB2B7006426DFE93D728FA4CF
+94F131C549814E54ECE7C914C5FE8E4961D3437CE7475D03534B62650F551D97
+201C794AA877445DBEB11C85ADF6119B05360700F8CEDE4766E3A1D7A35CDDC7
+9ABF7C619E3868A39D1852DBE1EEAF5D7898C78323873AC005542B68C43C5000
+CC58F675EB595F87C879694751494676465891E8A897158B481F11A171CCBBD7
+29603F00210CFD7FF31FE3D273933ECC34AFBCC4108D9B76D9ECE63EA06CF939
+4799092A54A749DACB82C1424E9879672C8BC084C360014C9C1B6D5D65C68AED
+66CE329C3AD712C0A36BE7EF03FDF339CAA2E0336D387A693B1DFAB5D5164E31
+14755A158168962C9B399F8F1DF3FF5060D7464D5071058C30C572A2BC7DEE53
+84BD7614A4BEC4C84E18CF7EC81C811724463BD46CECA5FB57B0F55EAE20CC74
+6AD815D1897B037C197D2456797B992C20C70B663BF99FE28C513B4E221C8E12
+49779F8C0AE8517048ADDF7CDF0D698E3EFE60071C4997B7F5EF12B6CB65390C
+224F13FBB99FFC034C0710F05019899689B6D3350BBA65C7CE7C2AB03D81B9A5
+5F3D65E4D462DAB189006669F7390A78A1B8908A4C913B15DB8827DFF15BB9A4
+A6037DDB643103B937257A7DAB025F09D53FBBC2BCB6B0BCD8D56B2B2784E498
+1F6CF8470DCC892AD0CFE11578718948BABF9C1427084643B66BB9181094E29D
+5FBE37708E1D8A6B7518A96876844CB66954227A7A6AF28DD075A462526DD5D6
+40EECC56FA366106E55C7068997B54B7F0D03AC1AD45D28C67C7ECA99DBEDB1C
+E18A79C353113E2E05B837E703278B202112B1C69E42A69D64B62F0E7D8F7E5B
+C1F93F0F99EC20EF312046F4B0CD7DAB31E422070B629A7FA96583CF3F1519CD
+CF08806F40ACD7BB5C960F21E9DA7FB3C72CBA0801ADE83DF738A4EC94F2977D
+2B95A166BA4AE28CAD1E37FBBF49D342CDB4DF615E2C5F3076313AC517C350DE
+710F5D52DE31DF69864D29DABF14234DF13904BA4333B0D714EEA55CDD79DE45
+FF5D64259C877191547076B1C7684CD252C0337BD9DF66CDC5DBAA4F3102F2E8
+FE48385C55727B80D11F3BE0B7568AA9356FB2B180A6B1392D620DED02F0B736
+5F4399FB9D32DFBC8ED942AD311C82250DA8BFE98D65
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont 
+%%BeginFont: CMTT10
+%!PS-AdobeFont-1.0: CMTT10 003.002
+%%Title: CMTT10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTT10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMTT10 known{/CMTT10 findfont dup/UniqueID known{dup
+/UniqueID get 5000832 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMTT10 def
+/FontBBox {-4 -233 537 696 }readonly def
+/UniqueID 5000832 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTT10.) readonly def
+/FullName (CMTT10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch true def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 33 /exclam put
+dup 34 /quotedbl put
+dup 35 /numbersign put
+dup 36 /dollar put
+dup 37 /percent put
+dup 38 /ampersand put
+dup 39 /quoteright put
+dup 40 /parenleft put
+dup 41 /parenright put
+dup 42 /asterisk put
+dup 43 /plus put
+dup 44 /comma put
+dup 45 /hyphen put
+dup 46 /period put
+dup 47 /slash put
+dup 48 /zero put
+dup 49 /one put
+dup 50 /two put
+dup 51 /three put
+dup 52 /four put
+dup 53 /five put
+dup 54 /six put
+dup 55 /seven put
+dup 56 /eight put
+dup 57 /nine put
+dup 58 /colon put
+dup 59 /semicolon put
+dup 60 /less put
+dup 61 /equal put
+dup 62 /greater put
+dup 63 /question put
+dup 64 /at put
+dup 65 /A put
+dup 66 /B put
+dup 67 /C put
+dup 68 /D put
+dup 69 /E put
+dup 70 /F put
+dup 71 /G put
+dup 72 /H put
+dup 73 /I put
+dup 74 /J put
+dup 75 /K put
+dup 76 /L put
+dup 77 /M put
+dup 78 /N put
+dup 79 /O put
+dup 80 /P put
+dup 81 /Q put
+dup 82 /R put
+dup 83 /S put
+dup 84 /T put
+dup 85 /U put
+dup 86 /V put
+dup 87 /W put
+dup 88 /X put
+dup 89 /Y put
+dup 90 /Z put
+dup 91 /bracketleft put
+dup 92 /backslash put
+dup 93 /bracketright put
+dup 94 /asciicircum put
+dup 95 /underscore put
+dup 96 /quoteleft put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 106 /j put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 113 /q put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 119 /w put
+dup 120 /x put
+dup 121 /y put
+dup 122 /z put
+dup 123 /braceleft put
+dup 124 /bar put
+dup 125 /braceright put
+dup 126 /asciitilde put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
+0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
+51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
+7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
+E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
+0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
+C01924195A181D03F5054A93B71E5065F8D92FE23794DDF2E5ECEBA191DB82B3
+7A69521B0C4D40495B5D9CE7A3AF33D17EE69979B82B715BAD8A5904C5DE0260
+6C15950CCF6E188A0CDF841EB68E5A2F88253E382140F87C87E55C9EA93B8C89
+14A36CDF630D6BE7CD36DBDCE22B21778E8648B97B7EC6742EB5114BDF0454B0
+0EA7B1FE236C84C0E5308C871F67B973892890557AA12E00B2C20C71F516C397
+3F3BBD14A1D0149CA064391056E45E9470FC7F6F556ABC82653B3C8049AB5CF4
+BA83C8F2158C236B2FFD4208846013BAF4165E8BB8D334C8FF2E8D74AF5DAB2F
+D44788869B08399421AAA900ECC6A2D594641C121660D4B5F512938994C18DD0
+FCD9B008F68F0351D21ED735B2740CB1E0C1CCD25EB548C35B844601D98828DB
+556F71D07E081A593FF12DAF83676492A0FFE16E95717A07082B43A966C1EE8F
+8A59E1255E1705C43A23CF29A5E4A6547C93F1680A870EE7BAD8CF74D838CD5E
+F806911D8FE4262ED8E7F5BC58B92C9C6D74F8AD45FBB021EC7E97393018B9DB
+B1B84E7B243ADB05ADD3F1DB3692ADC5D47FEC7DF93080669E63281F1576B673
+125EDF08016664BE73364F65389F7C3B66623AD1754ECBEF9E5CE6948D933787
+A5674279ACB2EBECD3B4E6361419AB32028A27670C9F3E18B746A10B00AF6D77
+4EC00E3BE521C02A99AE5BAA98F793EB1228952BE67934B91472E01AF7B816BC
+56D7F19F631A1927846D800C107B1E9CBFF9D2DD513B4A8CE2E0DFD77B1ED178
+E43FA7052765E9FAF89989D490D8FEF6C536EC0D4AE27A74F474B98DA9E6B92F
+15E063DB260571979A5DE2423920CE1F59F56EB11E00E3BB9D466A8263E1E385
+2014BEFDA8D1EA3EDA04BE32AEE6CD15C5C010A1DF7F705A2C0C18E87C8DCCE9
+05D9163181CBA56C0FAC8C06A2990554C8E759D076B01BBEADE3B5FB8B551390
+6C8E4A2A1C6E7D9C708614626F3770C0AB7DD2027469C77975C27576065862AD
+04E5E50CEBE907E3E991FA0C627302C0E207B4D5992BEBAB5853AD1C0D271728
+C76F40A79392ACCA7358F948AC65DC823CFDA59E1FF69CEBB6B7EC3CF21669E4
+70D999508F9C49E2D9F8818CA53C977D93E15FBBBAF75B1E84F0BA62BCC4BAFA
+4EEC82D804C8A8C0210F3E5E258BB1F6921AF02BA9861BAD5C3D5FC8CEFABA8A
+A607E547B802096F7AEB09FBA99C83C9A494B94408DD607CA6561A6E6660C473
+62CF8D35F31D052F6C6C8138A8E1430CBA7EA6973D6D510C1A06B3FBD79D9364
+240C1A00272DA44B89A9FE8D5BF36DC1B5EBB4A78ADBE9C5EDB485F093D9517D
+69E1AC9A8E6C9D7C324E3797CFEAD9A18E82E03F69B2CED7D5DDCD1A218BF2E2
+ED2293AE999FE2A4B5213A10083EE0407BCF8007670B8C737EAB30311C868D84
+121149ACB4A27F3ED6C0C181C98AAAF51B105F264B5672D7F745131ABAB5BEA4
+0C9B43C0DD9116D6DC61F90BE72018F290D26D5E9D341055CAF09C9F45333CDB
+D45B7954271767F638EEC499F7B53C2CC5774EA7A7F024C4CABFB93D9CB1856A
+0C671A4ECA7C62EA5242648A84E7F3AFB9547A0AFC29593CFCE6D8B873A78157
+D337CABD291431C0A2CE1F37E0CD7340567AC206FF98E4B5A6410F70F750451C
+550EFB54AA259A1B236CA9CB730D2CEF125EC65D959441F7CC9768F777B44844
+CC9842A307C72B740680ACBBF6AA35FA7A94825069BF7696ED81A371A9E5475A
+9D997F2DFAD339AADF797F7E03E654234455AC3D17702A420EE0A597BA31BDE4
+FEB8DBA7C61D311CC90441A620164DC22DC2D373973EF84CC553453AB1B3337F
+7B39983B8DFFB3A9425F119B45C1CD37A76F905777B3154CA6200792F1759D06
+E017890F4041A385F2238E3C48B6C8EE6F5258463FDBFF7AC762F6C4363926D6
+50F004D473B7B7F73CA686B559C2885F1AA761653C727A77D73431E9D110E76A
+2E55C68CD50F43997C9B2FC4710F8C8540909829E215678E63BB8363C4B8AF05
+9986102BB36580D9CA95CD216B7C321822CB41B2E0422CD077F3B55E0246FDB2
+44D5976F67296B5B0BE4B06F6E43535C21164E6C5089C3E9BA2D6B30888C57DE
+49DC8D9D46C0D5EDC47ACF2C03B72DE3B69512508539019B759280BABEA12BC9
+385308A0395C4CD33182A10A5A229743379C2075D82D8BFCE4A66E1AA087A091
+8F5372684FA5037D1B92D50CD9CB4F50AD4F8EE7D51F1C9E63C721CB5B9BD011
+6F0A8DD4FDCD2B008F223A1036D90F0F3B252487DE7898F9AFBB3A9D9CD49E0C
+EF4ADAD5155A98D2125ED5A3D3907F67301649519419F33CD942E8DDEAC1BDA0
+E90C431B198F646766A8FA9F8D1561B57E126EF604838C0C1966655CF31FB7EB
+C8CCC434FC1C96046D38203E1791EC824A3D7AED85C029288D4608CA7668A2BE
+484C99639F121845B22EEFCE0A3B808261921AA042AE19E641769E91277BEC29
+4594082CCB3058F90FAC4A700A8A827ACA00FCF574ABC8EB7DBCECD97F2B22C0
+0AA19E8739B81AF8C6F621D69B8E6F29BAE233FBA655A0AF5BDFD7F5C6B9167C
+6BC7AB693D45EF2AD999F5DA3CEFA39BA48A17EE6D9F2C4DAB91AE3F0044DC3F
+5D5506CE4675AA928B0092D6F173644F91295216D8BBB14CDDE0AD524A4D545C
+1B5E284A3BF0396664081CFB4F186A84A0D24D61E82F4767C1E55A0642720CF3
+909FA1AB8EAB78030B59BEA067DEDBD2F1D0340E790AB2777DB18248521934A8
+BB38A58B7F633DEA4291B0D5D13E9A882C974697CC6D3B49E030C94EA29B5506
+CC29C44D01B4751B453A46A9F6BF3BF135AE87A4CE232AF57B66578310DE41E0
+2A6AC422117F1963C4D7CC306BD25A6E724E51921779F22F029733122E23E2F0
+CB340008813ABB104380C80A492B3FC6D0BB07CB8D8409E9576891EF6E5C9D08
+EB8320DFA31BAFFBD336D0C2BBC3D3B2D30368B9860768FC080D30569C7F7811
+0EBEDA2962476113625EEB555490B8CE4C5F99D74ED10F738C61854CFF8B41C6
+9402E56BE8856144A1A05D0B05F4CB7EF728B2F4F5A439F18C3B68CEFA41E59A
+D8308ADC92EC1289DC84CF48D2CDEFF509A145BF945E1E00D552D329EBD2A7C4
+21D58082CC8FA790E981F4AC8EAB99950678FD3A7DA3DF13778681B208DD71A0
+7C3CBD0664B37C9EDC6B601D79A2C51FB54DAEE849F93209793849104E722D3F
+52DFAF7047EEEDDFE744787A5801E4AC2C3D58EC5DDC15FCEE03990C53B0C57A
+FC54F125A04C8E4A0ADAA725808C587E7DAFB9F784FA2875689979D316DC22BD
+AA36B306A1ABCF907B63C6476737B746099973CAEA8C1E2C5C41F27E0F7DE8D7
+F0D942E34E92F43FE902653D4D2EBB6F3B9F7928B1550A82AF234D45D028F429
+067652BD3D391BF423AE72B9CB1E8D91E898161BE3A7849D456A861A2046711E
+E934DC59442AE7D81661CE8EF727D8D7DDC0270E937E40F896AEAE6171661431
+C1025C53172F9D366834BA0054FBFD84503FBAE328B6FDEA180F8EA35B1DA937
+5CC3B8F00C206908C2FFFFA6A7AC6915D15EA44BDCF29E2BFCFD4A849535F19B
+0D307C696BE8205C7D84B9C77F02EF27D911056EDBB4080E4D3ED72788666CAD
+CD91B0ECE27A177DB23320A7FA9C31408B4D02D2A4B1CC6DDE1A6CAC3D8EC1EC
+2226EC98E51046D1EC26FA20EE62D24747D83CF4941DCE5CCEEC0DBE387149CD
+E05B19FFCAFC0D117F9A3E60DCD4C815228D98EF95EB559AD0ACC0D50FFDF714
+56C3C812EA5ADBB013BBD956A7C4CC0ED7D3E25D5C9AF5E626F18297F75D4957
+F5B0B33379114B903FE98BCF35C3FF76FEE1D9AEB711F2962276531F7380EE3F
+E368720E0292A170A15C5539B1FC7BB954EE2624B504CB8C805B8D31AC38307F
+0513606F09211AE64DAC447693B2A0AD15E9A64C34F5A911ECD0ABCA90E9791D
+67C6BD202B0858EF96E7722305B8AC02B01AB1706CC6AE875A8DDD15EE349046
+EAA65005E7866B506EDFB7A5A2AFD5C9E9DCC821A79EE9C1EA2C7BBA32A40BC7
+CEC26DB1AC473C8C3960ACEC581B37D6569E8C8C42950BAB7930B65E1570E3F8
+9A7FA719F1DCFDA45A3BF2AAB32C9A93BA3552608A61C623DE59BCB346E87EF5
+9CF025A87803161221C5C1C6F6B3403712C76E9D755C7BD68D7F2DC03C14CDF0
+C1BBED1D648B905B4B17037B7263C1EA7A7F06FAAC4E09E08483A8D714C19861
+327CD9C32DDF850302DD6DDE24912D00C22ECDF3CDFB18FA831A41A7488EC203
+F564CFE30D506F0829A96D35A7E09C3DCD107D589B627A15B55C5D6649126BEC
+60B88C55ECCBB4E680265D9EAB4CE22965D3B1AF759B01ACB0D0E6C92B6B4EFD
+A81E6A648708979487FC591CF09631310D46891423F4EC159A73E30D8DD147A4
+B0EACF6D45D18CD16CEB8176F03ABCB41F2234747B9733C8FAF34AE5D43D3BA5
+0CE0FACFC9B087F84FB6C68678BC6E76022B1526D6E5B3A48EC1A110BD75F45F
+1C4DC6D39F254976453F57DF873B7D635C80C42026DE020E5BAFE0DA0D54D1E1
+DC634D2621BA184347E5252F645A6A1DB7657C48124186F0E4C644077457C24D
+55753C651A9A7B6349867641464B515B821349C795A645420508673B93750D0C
+7A3B33EB1F09782033742AE8F3A23FC02284E6C03818FADD1731361542E3FA3E
+75B8D52B668C3E18A4AE967D0FC3157083D952AFB8144D549E69EAAC51C279C5
+E5D88A0D9D53013DFFB4352A1598FF84DCDE6FA32FC377306B9B92C0F96EE149
+8CD55E7B2445B86CCA7A547FA732D52D59025129FD8C6333AC0DF4F0CFF6287E
+F2036D5DBBB3B91B92F12FEBE0B61A313A4DB5A9CF0BB3DDB781A56FEBFFACCB
+8CB9D1D3DBDBC4CB6AAE6769E470582403CB920630221B68BCB625CD4605FA8F
+D3D5B7A1A28D15E44B38E92E906C138E72C15B86F64C38E23BF0440052A8C914
+54397F49DBED99D0AF7CEA3B0A05FF37C2D7EAE1412567E6776333237C31E3C0
+49949EC8BFD6E0F6446CE2D4DCD2C1524A288818CC5D159BF8463A847AE4A2B9
+CC8C58F822804B81B13BF4F2DEB6229C4F51F093075581791D02C36A13B855A0
+34900AA7CD4F1A797652656FE3A8425A38F421C4CC0ACA1CDD44FA6B31219276
+1CDE1CD63D6A58CE705CB56CCA1260F9B86E989019071563A9B4C274A87558CA
+6EF1660D574EDA276801F0057740E2C3B80D253D697736484D892CE1AB128B8A
+DECD69712F5E70E895FBAA927E8194D792A04AB6CE205E04E38A433BBB793FB4
+E8BBC4279D58A223C6673D909D6AFECD246E66A52F4CB35E5931D24C828489BD
+4ECAF621A220D8ECF702BEB01C4FC7510197D3F6D15321EC87175ADBA6434ECD
+2B5A306E91375CAD22CD94301763E4A8B981472890422C5488FCD523C9CB17DC
+ED22FBF12D5F7525D0D6BCFE8CE85B0DFB1D6F989C267FFBA0A996D309E4A934
+3DB54A9D29C88B9D55D7300DA3D46419256C5A07A2A529A8DE8BD1727281F5FE
+97033D861E0531B14E811378EC1AF1CC7EE9BA2B07D935843D3053F673979F8C
+FAFD59D555B56CE338F606747238B22BD62C42BB7238FEA335678D474A643570
+A9E7B4970E8C541CE9DBC7BF70ED7BA33639D6744A18379455029E934C95E2EF
+639C4848CE9A0879B51649FAB023A71782444B451F92A34CB8A124270CCF86D4
+D18EEF5C1D2B2A29012613851C49F50702D63BACF95EE2AB4D72B375E0A62615
+E0991E130A67ECBA9E05329B740708F1CB148724C3A6E5E3AEC1F88EBCA398D2
+1CA8827C977D72734310233176D1AE26C55CF2CEACA62223315C28FCF6305C7E
+A22414D4739A059F552F1F9372CCCA5FED4F9AC987942848EB498900269511F3
+F408CBEA0659B954F5F1B18AE4FB270213646F9B28AE4439D2BA2D3E0AAAA780
+5E530E4EFC8A060EB979E12191044509DA0C14397AFF949E12DC970658D5EAF5
+4EA963F5BC1407A32F3837CA6A24B7F3D60EB8E6222B702E25ED903F9D21AE50
+664A095009BDEAF4B78DAF94E5A55D48366CABF07791A1684B2F54EA69070844
+4F031AF8DF416C2D3679F8BA038B0DC9DD0400CA6B34667BCBBC07E62C1668A8
+35A8C57C9048A7227E672E89681B54D662079A189A9E96A3CA96D8DD10189B04
+1DA49BA2729F1CA585B1BD5C467295285D52E47CA904235A1A3E48EFAE9EB6F6
+01374125CE89D53C276858668CF45D2F092DDCAA52418E0BB94C2B8266B4D88A
+5D911507BB1DDA3D8F6E7C14A91CA11AE799EC42E993098E18CADA70BD2A1D82
+2C39326C6E3F9E84CD9758B9AE43D79BF99E6A0CD713E95B3D9B7DB90D127DE0
+DAFEBF850CAAACBD860B5DEF2082F1ADA64B44B193C4A1417BE221FDCA36456C
+BE5934C8CE3ED55AE3A11697C2D682B7D0F72D48976451D205783BE25DBD2507
+39C14FFB4BB828DFD187104F38A7F11D5F0698C11E8C1D4F107CACE573FDC4B1
+C56FDAE47024D6FD16A2FEABB434CA320300FC4B6C1B6CA08F76C60B7C08A665
+99F404DBA8A2A1EB18EF6750E4EC186E31561A3F080BA6562967546715859481
+7BA782940F5C5D06626D6F6A412CA7C13820EC7C1DF23E15E5829F698CF617BE
+D940523E4EE4ADECEC48C24297DBAD528BA1DCE7AC335A1D15D55415B108EFC8
+6D45030D27B3EA63B2B4CD771DBE66AE0218ABB1153D4B7482289D1313CEF184
+5C960B1E3C3C953912CC6F4521D1E15636C1545EEE457EFB87B88C9E43CC2F38
+6BC4BC96969F4FF28ABB06F4454C01CEF1B6DC538F1E832FC1666D977E5A881B
+F72F1B4C7DD4BE167A5535F1163A0706F9A0B26400178DF8A128FB5EBE6A7B81
+E478AD183EC06622B591337B9F1872AAEA356F4FC67EE767B34CB5A4D90702D9
+39FB846947F4096FB3DCF16EC81455164783BA0B5D723060DAFF411B68307E81
+7BEA1D9A47A5AA3D648E618C83C60F060029E6EC4D46B045FA7415BAB2AD0AA5
+ED9C729C24136F6AF61E6409C0B5CA760B16225641E268A68CFB8260BBEAFC77
+6626EBD97195E77CAB425CFB0096D805D9EE699E41680D095AE9FA10122A7882
+2F00F495C9EB2102DF0D3E61833BC0A2E468C5CF7AB430FDB7C0BE3DF2C0D230
+1580BAA25D65F599378D873165482A1FBB224AEA89C6BCCFBDBA42AE1C5DCF41
+06969F585CD3B737D1388D6359F5468D88FCD2279BDB270F6A858FB7D2ABDEFE
+5EE8FB79FA437F8F50237B92C307B73B0DCB808D07A9C3255CB9B3B17039CE5A
+288103D05D132863FB522A02CEE3839EF9AF7F07D99732F0B8B384745369FB3E
+7901166478F4A16076A1504C5E98D17408494E270BBF4470ED12B4332422679F
+759F1D93984D7E506D16950DB6C2682FE1379EFFA6F6C95DD71F6E55BE3EF6AF
+E0CB25388EEB436E6527806FC75484133F6E561DEB979D5C1FFEFDAF2A6D964E
+03BAE0BD593C2992AD84569C81050F7A793C5263E50C2F50B98C4CC703EAE17A
+6AEDAACE312DAFAF5278D125B6EFC5587484F61DAFF46B87B7C9B1EEDECA4859
+314A9A9E2248467DE1E54D90DD671660B9040B3E0DD982260822177EFD757266
+74A16C83A7FB168016A320D3DF3BD7726F1F4EC90EE5DFE810C96B099FD4368D
+906AE4699049EFD37E8EF058D4B97BF71106445AADD4FC6E90615A0066823A36
+673B8DE32322BBE861AE251226B4385AB28702831270DBD25D666FBB0AD7B96E
+A44E891EA1EAF0F87013AFC982E33D67A28E96E0C9CB99B9E4192536830D9901
+931A8CAFA41289633B20BA3BD7AA3414B6DA8D57CCF2FBE39920CC06361F075B
+CC40335DB9A0071CFF77F6B7BB47F3100DBDC9C4A58C2B81EC99E8E966AF3390
+E3FBCC28BA1D79961C8A1584266454DF772FBA99664D74D4A89FC82FFEDFCFE1
+4C9E4A04291E803D142E37E7ACA66AB279378F2F192FFB2B5BBAD18B95F03136
+2CB594A3D6D3F8576B90A6C4DAD6D6C8EE07AF682F925F01D0B26CBA347C03BE
+F3B0585CF4539FDC66915E22117078CC94D621F31DCB3E021998A5D6EE94CA4B
+E214D07517283D56973D8E4367392BF6C1150DEBF459D141AE0941C1C8C5CFBE
+E735D796E365A1B0F60BB4CF2801EAFE4889EE5F338D3C4885368281B3C95CCE
+251C28A90D318A8A0384439B38D63B94757252062EA44E88509FDD2E75FAAB71
+7329622828B2785C1A8B26351BC74237A6BF99216652ACBD4CCF54CFC8AC72A6
+46342F1E32D4318E7E27C7B2DAC943B3E72C472FC6F1DDA8684AA922516A672C
+E969C047E318B5E3B1270C1BEB1C4071A15BC81B29B268C679B41FC5E381BE33
+DD95F0D68118CBB60C521E5CB2BA46A10E50E9238163713290DF6DD8A27D3813
+F871C07E725D4518013D9A84CEC96782541E5580E33C2EBCDB18F08EB4655A46
+507A8526DB26C854928B81FD502B0CCE4A68943C12078F57C10F4E85FBEE1025
+46D925B8B3B447D4920410FEEB9844FABE985F9228FDD9F58392F2F3BD650E49
+2E3AD5A14984874DF4572816931885CE8A448EC95BBF40DDF4F85653AD90A88C
+C4A879C0C7596E61997B972E8A55E57B17F802C738E5C7A8FBF6424F8B131B23
+CEE3EA3747DB066246C250EAD335A76FA166ABF75120CECB59076AB31A51F176
+57176CBE8C802A97B0542A5CFD6D5E6D7EC848B923012E45D9F065BFFA0D03E6
+788B68BA4DE51DA37994948F859D41C28BA939C3A82BFDB44DA585AE80B8CD7B
+A6EEA79B70BFB4864E06F06A9751BD2D2A209D150D7135E0A25D67263EDD2A7C
+C63B5B76ADB05D44BD5BC0BB3EBCE2E74E1AE5F7DE07A59D90C932DAA2553505
+27F2AFC05F7CEB39E1C7E54F69FB0BBB069959F2FBD11709F8E81F6E7CA06DBA
+1CBDD8E7A78487462596DA288B50B295E46F4C3D9BA862688C68859734B232A7
+4B371D2BD786924F186524765E789EEAA30B20C069322D42C893A30BF1BD2C46
+F8F3732DDFE80B8FC1789239345944D8B457824FD80D11184E73FBA30EB80A9F
+2FD466826D4E666E3A835B98A1D4AE5D17053A6A648E26E77BD08F9A3E02956A
+AE82C4929E9666F539079846527D0E326FE7CBBF86E3722BA3E53F8A5121080B
+ACF8D3C67A2A1DF624B9DB92105D3C833F5A6ECEC108E026E1D3D968967A1447
+15CEFDD09123D56606134BC3449404ADAB1330C9238DE48F3CDFBC91EB86D7B3
+8B85B5BA97376A0673E434DBFF19798EA90BFBD94493E2D21976F8106FC0C276
+C81C9B9F7D4A68120DDA56FC6EC65FFA40DB78A60A05EC270A106DEEBD2CB92B
+F0622BD2B1D43771DF39AAD3ECB655F317AB483F7290C148690903AAA636583C
+99DE3DBA99EFE20773D3D8DDD816A28D7BD8881DE570BAF5C7A30679179E1214
+FCFED81605FE56AEA21C1894167F93D648B474352A65C0756F812F97AB435ADD
+22C031A21714A626DE35308AC51CD676DB1748DD2773532294FA77CFB2AAFD32
+A72BB7A045F12B4934A768F89217233DBBD69B900B28492A26713CA5D61A9042
+A982CB071F1F875718FAC168E4E275860DB6369B8114E1BDD4801110B62C3E3E
+CF140554C826967A99F4E9726526E87D57BF845CE38E33893E5F9788769B6A4B
+A4577C38C8D45AF2EDC9F4FA7DD9979AB8E14FF5D8956233AB4C02982BE8E561
+C63B7BC314793F634DB6F086E1A60D9FC3B69D3A7C20A99FBF3CB028CDBCEB60
+E803C8DC3C5F0CCAC030905E72BBAC052520CB0E40E23B46B2150DE67F61E4B1
+8C4D55904B7F90DDE4A4A78B11AE1009DE46DA396791B1C0EA63FB6897FDFA0F
+42474042E7E9B06A703A7C6E672AC6705506F3C0B6861BC85CEBB9DC9BCFDE0D
+43F5248CD7CAD4B89835BACABBCE6C791BC35FE7211E775C009844FC75CBF6CA
+DA6A6B7B488270BFAFFA3E9950914CB0F88C8AB7CDEFD2FDE11ADA7073037EF3
+1A5CEEE37090F3A56D06FBC70597907A26498593783878C02722ECFD5D65903C
+7D421CAFA78924DD27756853568535B02533C3393183D6E30DA6ED4BD6582E09
+A5A4B4404EC452E91CB44515AC6124EBADAAE8A98D8A95E7D14DA39951EBC461
+D426490071462F246794023DE1BDC04AB0F1834D50F748C3C60A07E1FB8EF400
+78DBAB90B59500BD1232A872ED51928329CC8F06E83164FBB2D0B24222223EE5
+992241E8E00D5DCCD6DB9A8E2325ADBE12FC8512AC127BBEABDA739672C1644B
+554850CD75724E6779A7E76424CAF89E9455860E0AE2679231F4A535C0ED4336
+313717D6F7A4A4DA833847A1BCFC7BF99234FA645F2B85C9A9AAF7108931E3CB
+077A9C571E57B0D7EFD92B56C3AA4FCEC0BCAA96005E649AE8012366BE6E62CD
+9E742F8F45AE4C96BCD73AD80AFB6F061D629ABEAEC3018CFF45E41F46751953
+44E490B1355DC49C1E10BF343307263584091D122ABB1E3892E532B6DBAA105F
+CD48375C112331EC5DB49E4D4CE2D126C9274B21E678E5E3EAAD4EA0CAAA29A7
+86FD8819217B195EC6E40AF23ABCD71156656DAD38C931C8730715A2773DC44C
+4DEF14D92C2A054739F27D7EF349A0EB76D952BD9BA169B4F85C09D80984D232
+2CB4A3812BDE539DC79E2EDC7C221739D16B10246A5F57151C210878556D4176
+31EFF3AB6C4D78C4F0DF81692B3C9BDE4F85242BF0E84BACBFA39688BB222A81
+E85E9CB332868ED5B64E140C66E242B97A90C13B6DFBC3D285A49BA9D4BA1A47
+64D83577FFB50BF974D953F42A249ADF9AC228CC4D8E82213FD463BC757AFF26
+DF4D1678FBCD55AFD5FB3014C0380B2F8CA9D6400DF2AA041580A6FA5694ADBA
+674286F00E531693DB28F7C996D5A66F80AAAF53001EDFBC065C72FA5BE3F114
+1FA3354376AEF7374AE1D0A8E9B06C58FD029922164DC9FA09343FB6652232E2
+2EE34C662F0092BE479D739ACE775C6F589775DD768B736F7391B9AEBDE7F760
+727702E145CF749DC457B2E98A36C52416107B1E59084B5F777B61511B8D17AC
+88386A7933CAF852CA23FE179B67DF8DCF15800755605847ECC0FD77873727FC
+1AF2BA8BC75D30E26C40913771E528724FD7C5DE284A8B58AE55A5C48AF26AC8
+02E155B8FCD6755D8F7F5A6F1AE66E4D24A13567B6463B18E65972BD75ABF732
+FB41F87A62FECE9A50C697BCEA1E3B3DF1E3DC961DCA598220CC746326F85F83
+72E803A4E69106EC5BCA01139F92171DBF9964BBEC8D3370039623CA1F927CBF
+FE7DA71B04B4321EB4D3FCB27F8404994CC7DE5F26AB8FC019A203D6DF2F449D
+85A4F103F7604986A1AC1F7D05D239E728FD6AD1DB5024B0A0542130D2B0E7EA
+4432F910F9FD75568F5732EAC95F7A87CEBC359949C26595741533E952327791
+87E42DF84E1064E1BDD3F5A6455087B8E9C783AB9ABBCAF032E9FA32C27ED7E6
+CA7E3D1D76CD1905166090BD81A85485B9B4E976DB2E19A8E62EFB795FD6298C
+9ADA57D5BDA2FEBB227F0EFEC59E4B51E06B8358006F9D79C1EFE92510D6046B
+6AFEEDC793137DE622A8B3F5C9E3B21F29A98A589D9CEE75E348FD4D206415CE
+508AB95A7496236AF1F6F5ED6B3ADFBAF1E35B51484F9B1E0C11C5AEAB9336F5
+A8861ACE1EC74C4A145A64E4FC8F6BEB3A16B021AFF4AEDA59B06326A8D7FCB3
+3B75F9729BFB7EEEDA8A1774728C80AED40BC35D42045E5CEEBBBEFAD2566CB1
+AD69A9A972826DF0F2303BB232367E611C115E8955DC97779B1AF269B84574C0
+9D816C88BAE3AACA6428CFC648FCF0869AD9236591E3B8FA326BD2EDE7F97286
+511C75F4EE4F7B4DA33BA2CE7F778D92AE7C1B4844CAB3ED8FCA285454D78469
+1639D24729E8002E4507A114407DF51543CF7DFFDB7E05ADB2D36E139F2DBACF
+D90AF274AFB3E5AB5B38918A28EDFCF6EACA78248BEFDC2FAC0E041AD35B1240
+B33191F5397FD09BD2B23112C25D27233ACEBD728E9B2D6ACEF70F13DDA614AC
+12AD845A43269E2BA323A9051FD2B5C539F417DEB625465AD2370DE58D4E0C1C
+90DDBBC85CC416287B4FD8DE7F41085412CA5A1508A9A383089690144F4DC4FB
+B64B7D3E1AFE43B8CA67E55244940C3C3605E259BD02335B0DDA6F022D585A7C
+4A98ECF5D52756717DC98BDC5FF425948858B33C58D1A6521ACD41B381CEBAA1
+C0A3AA55193D46F5962C2C7F26589F5888F3A2BAA0FA4206601B580FEBADAD8C
+34CD8AC20C07D8232B7E2EDEE184FA4D901844FFB3E8F2629CC1462B42CDA11F
+FDD31DBB41286064731E0D0677CDB3BF5A61BA4171C2A79FA9E8D667FC547BEA
+9571408643C4383979354C214CF6C9D8971E91D944791F0E6B2EADB55E4D1356
+66A1D81D0B769C30E3E7672B22170177C015F8B9657663B486648801252DBE96
+AA54E5068AF986D8EA010E158F07F0A3140FE739BF702ECCBDD73F65353D300F
+50FFD9536BE94A080A36C9FB22EBE3E60FD4773B6BCAD134DCA14E30A7A429B7
+23035AEB6C8E5EA7A79937BA62F3B99BE1D0E72D2398C52B32E55823AADC7CF8
+DE4435F908959FF59420B4038042746132994A046C678FB1DC065049E1E5794E
+DC638D83EE32D6423E07B092D82CEC388DD63E05E9ECBDBDEEB34A56DFF67D10
+1113B0996774C5EC465A774C371547440A4AB91C1A64419914ED7D27F7175331
+A0CA4E7F6E85D9BA778C26AD642AC9CAA66D8605332DD7EF702B00E46CEB58A6
+D51573013917544EA4219777E83385E3DF69CFA50DF2AC71C64036CE75E24738
+3A2E951CF750EB4D28EA85F95B13C30825C273091A568A69537BF03D70272A6B
+1E47077D64054588403AC984B9A80390C866A2E2DFB498064555EF3D4D531D10
+669C3E830EA3E0067B5677AFA5BD29C94B5E0893EA14FE874B911DB192F0527D
+646E7206F79859D5E6EA4ECE8B26BBA97BB791BD7DA4F7F7CEBCC8B04D00D920
+6D2E4227F997936A16C683A0AE11F059109A2E679244E9776DC9C7ECBB0BB73D
+D9A149C90BA2C69AD26F9F900323DFF9D04779F53AED156C8A8647FCE57DEFFB
+863B8D148E6722A9077DD3F50DF532094874AC6682680AAEADB785FEBB7F3B12
+1FDFFA94A4BACEC70943405DB37CF6E9E4C7EE51977A803035E06AD0D3B43734
+C8B07ACCCA764DE24A841023316C84CEBF6A2D86E6382281856D8AFC9BABD871
+3BE9E6B1F99262A2BC0C99138A5049C44F2527B02E07E40B9727017F30E59AFD
+9EAF7590517673069D0D5D399446C5D4DA1996CEE93112B322C35290AE4C14E4
+B651FEB0CD3C9A845F5AA9B6C6CC7548895DFB88574F89AE4BC8DF6C94084367
+40ED5EEC51173B32A02B6DA16353E91D07EFD2E034DB0A4B57608EA80C56D975
+9DF0B73BB12A1FC8FE26C7B5486C971D89217E6D45760045255531E2579830FB
+B4984CA52896E88D964BC91E1CD3B3CED5DE4861F98DEAB97979BA9A30F100CA
+027362CFFDD972347B466B295D8244F99EF1A929E54F99830FA62F0A11D7C279
+D5D76395F83D12264B50782207C957324FE35DE6C03C571A0C0E06F1AE3A6C85
+5F8AD72CC806E2EC0BCA6128524A9FA3EF41B372968B0F4D4CDD2B5E5C4FE3A7
+27D0EB547C3F34CA3BCAD92FFA62D761F21C4B213C9529C60D4D83A4AC9BBFE0
+500EDD6E1F22E53E1ADFBB8D1A0FA4D68668E7DF7DEE87CC7A6E55AB0EA91178
+3B46465E041B262CAC2C775B6964AE59F1352A98F4F6D6FE648DDA8C1769A333
+0D35A6CFD30357BC2D059D67ABF7E1A4C78246AF7E9528014CC2D36E12379284
+C17974375E1E4ACA37593C07876312F2BE5018E71F85E140BCC45EB4BFAA7CC3
+0FF2CAF72A76A0788108BE53388ED11FB521CE8C5499F528ECA91F2A21EBD10C
+1F26C0D816DF93E840052230356507BFE615320D7C856332A9DC966AE7960B19
+95C50BFACDB6E824E5E05F6F21CA855CCAA7991F052F222DE81361C6CCBF9BAE
+BCA4BB3E293FEE1A4ACF635AECDBD204EB5AD40926DE56664B67751E90289EF1
+005DE6AEA7BB788D5C1BDEA4D2626A0AD6FB4DCB5D4F5FE3C3B0ABE2AB39EC39
+0C83EF5DD92D5458ACCC7CC6C23E930E60CC81636BE65CAA56A7C552DF3AD090
+F41C8448DBBC4785B2E5359CE5F4B5458E0F5D5BDFB191B5E11D166CDCD979E5
+71B494C2AC013D908F0786751D8E4921C8D3AFF9A2640371F0037CDD33A5B239
+5427A3F13FEDDE7350199E194CBD0D0367A32B654893961B696E27248EE1FA2E
+D4C6128E66526AA9EFE0693BADA6F4196A617A86AA1667503F45B430D50D2187
+1922575245D78C0E696E7301A6D4C9A2BF81FD0294459432A5B46F334A1E9CFA
+D0EAFCEEE0127679E963B04EC13B8C81380E5F68992E95314062767FB1A7481D
+C7268BDDF0840C1BA24B08335256C46FF042661523EE084DBC7F05ABA12EB45E
+BD46ECD92DE2DDAFC372498CBDC82A51AE32A4E3AC7FAC9C2B2FCEA14C18E2B5
+8A2182F6188B9EBDEA3F0288071552D838AFF8F28D41E13633EEEF3DF8EA106B
+78CAB5C69A6F54C5CA0600D151A5FA476183D2EC55D4AE76E856BFE0B91A8A75
+6D9FEAB2BEABCABDD42BA4FA9EAB6335D036B99C7E345632F2557C5AB48093BC
+2B01BEADFF47D830F7F724A305C4DB87B0F44C29D460FC45B1525EDCCBC9C566
+CC6434A2A4767FF5A35E0094097E9A0CE33CD9D09310E77F84662E4870C64BFC
+11D2D1E263756EFDB365A2F6C9EF4E5FB1F493192F14F6CD68C35AF59AEF138E
+60665714C3AAB84BE8A44AACE61A940B2274EC6E48F0DFB2E10870A423F84636
+8C6C1F4EA85F9560C3190AC388727BE054B2A8FA80A18F3309CFB0087553CB4B
+75A3A01B7676B26E92C11B85C7BBC51B8E7842877A2C5FA7CBEE7CDB00123789
+6159D6A49B0B7D5503C2096749F69526C2779388AD5CD2675B5087B5DF61197B
+9FDEEF9AAE9C98B8DD71E5B2AD45CBE9C6CF84E39CE3B1412895A86B6A016279
+EF39755F2F1F045B62CE8EED13A9B05E445D2C8B781987E5DD891070AAFE3F8E
+76F9B2901111D4094DED65E0631AD91AE2A497BA0322EAB3978A2405CA6CE376
+C1C51461BB73B990EDDDDF66F4C4AD9BF1F403AD130F104D67A7781839273653
+181EE49022707C03B0945C08271CAAECB922893F0050270F2BF1AFA776C78DDC
+F2B55A1F80184F2A26D230D42131E91A53A536B5238D2702E8AEA9AD5CDD9E20
+D13B7D67EA0C52E48B6FB033D2BE976B2EDB855FEB8D9BB4BFEBB0A96867CD85
+C04317DFDDBDACEE413EAFE6544CB5CE9DF41E99AC8F9945D8E303A1E86F2AB6
+A12E5E79185B7C1DFB6DB8FD9D6F93B34165F8B88D3993DF034507AFF20DBE60
+72D3329495A1AB31BA5E057D40C10BB6B0B1CF50F1D07F748531DC0BF1011195
+07428DB85302235746CDA81DF9D05F085EE1E452E45FA115CC80E114E4D1F5CC
+36C6266733E70CB2EE8C9FA7F641A08047CEB84126E1B8723F6A19B637D2B4CE
+E73281E6AA7964DFFF6002BFDEB7D206DDA4BC7CCEBC5FCAEE8DE9C3203ECF73
+56082B0B67F2C3DE2B7A30B839E736A96CCC8F10515C450389C37EBF7316889A
+602D35C3DDA74A5270D5C280CBBEFD3ED473D45E068EC4E011E4DADEBA005914
+2DE2C0854DED8C7DF430FF29F3E454442645B646A1718796E9D5910271F088D2
+522DBBBF002D5BB08A129AC2F716E57D31217D6186E05A410F634502EA74C7F5
+8A1DBB0F5B35012291FF58700C3A41856C8351BEB4233AC8FC879D0B1CD0CE1E
+CE50742ED437BE8F80280AEEAE20A7C7C2770F6AEECD7A9F9009207730C6F05B
+42ECE0F1B464558D7487F5143FC0E1B7EBE675BC48A18C0C34A99404579F99BF
+ED16457F3E0C800434234257AA531955833AD900928626C993955299593C8495
+B084CA0AD01EBDDE91E49EE562C961D3828F38FF1B05D977DAC40742AA7AE4E2
+A153C65511D055BA412F67425D63B303296F3B9C4C4B377099F265646D101B4E
+117C63F22CB46BFF21081B885853610C36A2F5BE721BA16AD203F9167F60B7FF
+A83CD5EB56C2FFAB222A1D3B9210B8698863158C6848F0FADF096831557D9B81
+A0061BA5E1BBB75FCC178EC4E5263CE0FDBCED4239012B64808BC85776D70835
+F713846E6C17D92E80B8A1DFED2CFFE0962B5FE2FB7CC764DA214977A03EB01C
+CCB1CD127A23C5486A8115BB840132B3D568D9EDE75B7A0AA814ABBC47854FED
+7F75B0EFB6A2C9B19CABCB0334F70451A7B03662DD83ABC273D16D79E801718C
+7DD2B8D033AB828E9D80023B1024E377295E7A660F894F128B9380E57CCE7DE8
+F842F80F76BCBDD52EAEF474C6F368DA0B30648C46E13121652CE16AB55D78F3
+9E15E6210751706E6EF3DDAD926FDC49C13CCFC3436C9B01008F8D656C0A2111
+8B21119342A600757477D5AE24F673FBE2429BA7A0BD4A3AD41ACB26D732FD54
+BD3F5499F4EF2CA22F29ED773A796AAE0E8D05CBDD3A56EDFA1ABE8A8E3C631F
+7CDB0DB86B5D7345C7CEBAB208702C6E19D0ED09E26980AAE57BB17CE2A98477
+4628C86F7336599DC729B04C8C5C4F0E908D6135434598BA3A1C594B46832E3D
+866A992F4382C00C928540FA636C958C807B2BC3CD4BC1F7C6A79F8DB58A9722
+CD5D352FC5B0B8383ACFEE3BA2072B5A66A5858F4A7CDD70DAAA4A6088CD55F1
+561872587AAE330EF9E76619AAB72744C83D29A51EB86C057D0F5972E5C31FCC
+4A34175C47ABDFAE5311D2318126FB8F15AE8A40E609CDB7ACA07431DFC2DD91
+30765EA0F2DA53F1C9C6459E18645FF6BF92FF9918F860151D1C53E8076239BD
+1FA4F932A7EA9589A439AA3793B4F939AA349A2DB6F574CEFC3F0537A18CA734
+6CA31DEFA1F46A0D93B0A8092E176ACF3475136F03D66506E0B4814E0DEBA2F2
+0640483BB98FE5AD51457A49387EB6FA7CB464DE2683DEFCEEE7754322EC3D75
+BE93657480EE0B205EA0764C411F2957048D84137E27961DDDA720B972697AAC
+07A00FAD82226F92DCCF48E9DF7BC311D9098D9BD2069BB306449EEC97FFBD75
+202C13B602FAA33F29675411D738AE1F3DC5C97641F8215E8ED4A28904C06387
+EEB28B2F6C0494289228512B76CC04B6741C6076C4FE2C42D58A28C332E9FDE9
+289001D2BBC1A8790D7F1FAC88E645E1D3B50C1CA28B24A31E14025679A61250
+67BA993BB3F22CDE012A9CEC30F66DF165A53EB4145850535DA2E17F27E7AD30
+C2EBC274B6D9388B8B58D7BB242581B22AB5ED916276841540EDA6001252565D
+E7E0FC7B762602133B335FAAD00E9690F90747675CE69B17A789DC774D8009FE
+D9D4B7105854A44B634A56D4266E3AD008A1F78FE23FF876B9F8A640E2302C70
+AF50667B3D4B8954D01DDC88BC8140462F22B67EDF59692BA9A70B1E6DE915F7
+429567A130A730A359F58388DE4EB4382EE07D03CCCE3FAE0EA6391A05A3F255
+B63DD8E4EE1F8FEA91F96EDAABD436790E0DA067F0662CFA8BBBEA3E434171BF
+790C78B3CA0A3F4BACFBEAA9B18E5FE5B266A3AE06B85400A1B90902EFE6BB8D
+76D07EA68E0AAE52FB0D6B15660874A3CE6AA275FD279CEA98BACADC5869A3ED
+0E11200EB25B9760D1795B7B261C9144BECE83D37BF4C3FFAEBCCFC3554D6CB9
+40D9E4F20333CF18582D379942940574524B17B767B0405722EDBA9A360D2C14
+C4680EFBC0442D6C35B5C0DEFAD773793338EDC66E14A05FC87F7A38091DB3CB
+0EF6D9F2AFEB4356B5E024ABEF34EB7799EF3A658BB58F6FB1D43C792C3816DE
+A1A41493FD6C4FE088F02379292015FA9CCAC621CEB98F8709AADBF331027B17
+B236BE24CD7AE1F02DBC0064D65C26C3C0929DA5713DD9C0FE39EDEDD24C4417
+D36FE80291FBDD3245918CA105AD4E52ACA28BA901ABBE8D416A53A412921112
+AEE6120650FC6DA122D1B82738BF5A127633BE6E2044F0104614AFD80315251D
+D086A8D2A91C87A545F61CB01CD289CFE86ADC1A5DE5B1DD7F2EDEFC81927F3B
+0DAA749D888E4FE9B6EA80B3E0A2F5E9721B6F81192E021E2705ECCB1F92AB50
+D51064B847A13AD0F32B1769102B0531276D47FC621D5660D4436DB33E028F9F
+EFEEB9953010AB8660E5C9F531E242D7873358F6E6B713478FC40CB42B9A7D06
+40D8558706F5A5628BE9842BEE345E759EC581ACEBFD70A6CD51D412A810C00B
+8ADA276E44994D72AE69AA71C61D1FAA8456710D603D30B155F6AABFB76DE963
+386AFEB54E41E450C65E6F0C0979855EB117AA0B50E8FB8C02F2973CB5A53C34
+D2E7ED301619A8325C4F085454D451BCCD02F46AC1129662EFFDFBC6B4600C37
+A51490A3619DE5ECA9003AD60D601154F03B7053A8CA9FF2134C5F2175DE2120
+76226AB000F940193F4D0B17EBDFD9247B85FE823DE740CCBA6D0CEF119CE48A
+44AD0A5EE0760573119CD4EF9FB0C6C81C6826A24B88B3E3D878091FBD73B117
+0F8A875A96C13E2F328C28A482C250DC5871C5232F3AC55CA4F231C71DF26715
+0585A2F42DEE145A6987ED34593DD1A62C731D15BE51CCD339D52845AD9896BF
+90DBE789D5AE81199735293C113E5BC6BCCBCE4D9A721EC3E4DA08ACF5A4819C
+986402BFCC14DCBC35FBC26252B9BD83BCDB7AFA4075DC58E1CCB295F542F303
+FB0A8F54063D40E435DA18E845DB2030D62BCEBAFBB972608132584E6D484E06
+1FD48230B808A8C67AF8AEEC2C48822C588437DB547A734A7169FDA7A3B347D8
+B59BF7447DA941F25E502F0C3FEBF9D1132DE2FE4093425CC3CE4515D00CB74E
+85AE8C677A13E7A54CC8073C841E5C8F32B4B967EF7694054582447BDCE42E74
+9B07C2140E92CEC205C25B2625F070461422FA1077941A1ED5F1CF6C218CEBB5
+AE70ECA87102BE081C33626F0678F82485CB1DEA62D26C89654FCF294BAFB0A7
+4DC08F22F7993016648570008BE8DB1EFD7ECB6A3147B3A23EDDBC413039004E
+7B3ED15CCCC90A4771467EFE51E795F464FF11EAB2B813118ACA0FED6EFA734F
+2532D136E26F42623A52A863BA0CFA773109F261A97EB35DBDA81768BD5F13C7
+2668C6DAF749BE6564A1F81947F6D224A5A9D792AE5B783F95AB372F71305CFC
+29F5A86D98432C0ADFA5E448EB06D022053BCD2D95E7611C2D321E0E53FF9C5C
+670EFE6732E74ED7DAA70D1F18AC98D8D975E8F82B3903A16CEA2CF34224E30D
+65D0E7E05A991E5C98B8554F8E02C7C85EADC34E9C879B00570862CB7AD01F85
+F6107E0A3013F98A90E972FBD3561659583B08455577D12F25F5E74EE2474C94
+A69EC94EBBCCB05FB90FD00CC773826A7EE5FC7D252AB1748847E38C8F50631B
+42E0FEDCD88D4C47E7F91B74EA3AD2E26B57E6674C78EB74B6178B20B27FFCC1
+0594A99352D7115AF251222F772D66892BE04E44FA40EDFAAB219628CF4D5B83
+746EEED9CF0F84A19EBF3D3DFD8F33BAE2835C1E6E57983B5D9B3FB0AD120B7B
+A8DB2C3648B676F02D98ABF893569C55D5102E772A97947F6D85464AF35BF392
+1F0B31A8D4AAAD549FEB9409B8EA47605D1CBD9D50934D6E14D282AF3727CA58
+CC4B26B63D41755E802E798A1F2153FC12585BE8BDBAB3991AD188CA10DA3F55
+F9056640A1F31D0242A015938DA000ADDFAC774FA6B5010D4647E13682290E2E
+48CDED102CD6A4993C9858F0C7E3842F1C3FBA14E431D068BAB68258C10DE1DF
+682EBB96525AA82E20EA1E4E124DD7630E3553EFFE0F03C3763A776C5D64318B
+2BBF007C0029ACC45615D3B4E77CEB40688EC755F2A1606CDFE4ED8B1B5D4515
+6D9582137DF6358A8208CE99B191999792310E3E9138DCBA4E726700E4D0C4EF
+016EBB22A37C4213BED2822EDC5D5F54C40EB2D22A92E40E63D827FCC8A24CF7
+A802576CD9CF3795892FD077CC77DB908564E4944CD852A3C41466E0683F6437
+BF3CB99189CAF2F3D7A293C5349F494200A88F74FC900122A5E6DE4157BB22A5
+2041988C2E1FFA890A4143AAA8BBD5EEEE9157CE5CAD36C9A1B929576C41094B
+1F4BDF445A6FE42CA871679B1385BA5088BFF264500DB66A1AEE0BF19810E27F
+327D44DD4317C307C811C38864698A0F0F93F9DDE1BA1B7B00D469645A8E353B
+9307B242284689AEE0675E9C6CE7ED473ACB90EBAEE98BE4E336CC926D952D74
+BA108E306C78B1A91D07F7ED434F37B86AE93C52081C696B4BF20053B340BB3D
+961C387DEFF21597F306C4B741A96D98DB7E7B8D835889C6581688EEB62F6E3C
+163BE8E23A7EF73B87D41CB4FE29BC6D23EAF95A258B8FF77B832EBBCD1B4645
+2FF147D8B3EAA3F930231FE68C357114E9B7433B34CC96AAD26540792628B506
+452359AD152CAC44BEFD9F9660DE8FEC6D6FB19E8BD650BFB237E9501AC91ED8
+F6EF73EE75E5BCACB151AF904AD4D476523E7504F0291AB8DDD14437C79E6B4D
+DBF914075E3568A4755A04CA0C42E50665D8ABA4D83273260D3020063D02AE1D
+8FC05995D51B8C9A90DD26BB3C05A6EE022E69F2E59362C07D09CF5E337E94C3
+6672053AAECBFE391F148C575A8C4BDC3EA5E5EC498D8B8C31733E0DF0638D69
+4A5BC67021F8B3B32199C6A36B021ED18B113D6E1DEE67D7C9CA6336ABBD9E22
+93C79BEDEAF3ED5BBDF5083A19705A33848918F66916F8937AE3E2B76A160487
+F6CBDEA233B128EFA70896AB27EAEEE73AB7BAB3AB9F856E924D34DB474FFE9E
+FED841710AE8A00345D7DEA9D92D4423550B37F6D3855F22DA2D8DF65A99E569
+B058C4B4BB0413B844DFFDFD665385374781CB3B9AF1833591C22D4FC7B71BE0
+329E06E9610DB8BDCDC0A319EB45571B2CA8C1E7FE7EB46410AF9BAEC3867949
+264F207EDC23D35E402E1EBD41B8FEA39BAF4A2DCFFDD6DD7B0F10BA352D91D8
+07E4A7FADCB8D98F59A08AE999157809B208DF0FA06D47DC568DF681FF72AAE1
+7B37FC433C7AEEC73AF11AD7EAC745BB7D6691B0920B2B78CADA825E0BC5D030
+ACDBC0E9E5A37B34D796FA5A2DAEE16C7F467787D292BA93A5FF4DE374BFBBED
+DA7E28361FE2071F6D64FDA8F4F97097ACA617A3B1C0C2ECF71DDAE8478CCE80
+D97ADBACA25E95A43084465EB30234C653F7266BBE0EA83CE96906D8C5D03F7F
+8FDD490D7FE1D84E6BE16F9E10AC20709FCA8AACC1B8A8A8A566EB46EC51BAB1
+3BF501E4B079468F08130FF0BF3D2B786F71543C16B7BB173B8D1329A2C65A69
+C5ED57B225E7774F694B44D1ECADE5CF4A53B2315504DB62C2F8E2ED5321B19A
+494103966108C3C60D5B246F8FCEE5007D4DD369C2E2CBC8076019CF8DEC8891
+63114D54F0C8B58363E7043FB422986FFB468FB3D978A0E326D6967CBDDA745C
+15348C665619F41AC20591C3A4610C4190100E753B621C08F9CC026BE5FE3654
+E37790CEBD7F51AB4F187C19641865234E54A5720D419544E7EDD0D718C5592E
+EAD0F2363EC919871D7FA3EF55B1F89C176926F360586A5C8C5C205F554BDB1A
+D25A28E7B2335616E6AF945A8F4D81BC0B998AE317B36246B8361F639E308272
+58FEC15DD63172C4BCE2C57D7711AA0109673D6AD7FB5935FF390A9BF9752B84
+54AA0A4D5726691D59620F66900EDCE15B7B332BE3E198C3562A351299D0E8D8
+F655F492587525A1FB2EA800268A800C8F7FDE34EB732312694F7180247ACCC2
+AEE06ECBB1972DD04B35B46E7564AA7B265DD4E1377B9E3198FC069C67400AE5
+C707F1A990985D93906B1FBF31ABF448C926AFE10242CD3C1B314598F98A899F
+33B9C031F4FD8ABF398E13035EF7A1A3C1370D98F60038A508E7D86C06C6AC19
+48982631E4DD41BE967BC5B1893A693E46860A9E0A3823A73B42F4219A80096A
+04E7A736E423B0DEBF67C4E5DC0A49F6AE294B152C16ABF8426D3845D886BF29
+D906492867AF7E0297D62911AFD504E1AAA7B9EFA2A81FE0C58C8A9A44D6BE0D
+05A751E818DE653489C7A71932AD98C0F0DE2619DFD1C690F29287F56E14E2D9
+2677C61BA8C6DFC1DB65B882C3B3D02964A9D835213F4E37EF48C61E45A3DA8D
+17E7C45ECD56CB63F1372D99817A40CA9705A02785F9173509680DEF0A484A21
+7DD6B88ACCFB9483E9F7B11F08B580B1C76C0D2B9337927694A23DB941C2EE08
+A6E8F874BEC2F5A0E18845791B8297752731F994FA78F6D82EC09FF8EF2FC7A4
+400DF95C31487CF65CDEBBD4BD866647510832BEA0B9D9661CFB8F513AD5954C
+0ABB6A70841E230C19DC4E1B2B4F8D1421BC5D54782C9A6AAD8AA6CEA14D0A5E
+0D66988D9CBA1B65D54C779BF5D79D5A9DAEC89F5551A50F35C316AF4667D96E
+1B7476A500E6BE15C3525A5D7EAF873813D2207E1E5166444F1BD0D52427EBF2
+445483FFF53E7B0ED56AD4741F99ED5F37E7141CBC1C23EC7F69A476C458F327
+EAB3A290A1BB29D1BCDC1D2FA2942208E102AC9818E22E9EC10F2F3AEEF94BD1
+399614049D1EDD94EDA791EBA2E8D5C25A7449941098425A7A911998D3F9F15D
+633C05A5355167A1196D0C4340AF63CC3D268CF99A692C94ADE405C646D19F0B
+0B1A8530615AFA7FC4AAB63663D90BC517A3392B9499103A4F2E189C57322879
+839C898DAF180FF50CB64A3D5172671A2B7F3B6F22307B1B10D233CD138AB41B
+945692D447F0E8228B337F45E3871A224466DB6BCDD2D9B857B2C359D39745C8
+C1836665BD49218EA80E4BDAF20B5B889D1578CF0E7EB6FAAEC228886F530BA4
+F2806B4851E34349A8588CADA96A3D70C51BBD3DC1CB0825C3B4E3C72286C053
+D10BDF61280F27AC3DEF4ADB164FE4CB2EBE6E1155C0A437315CC818237C8AF4
+FE4776C1306B158683FDC03838F66CB6A3618EA101BDBE131D8D77DEE97B10B1
+CFB45A1B9E13E4B02A6A556BB8B78769A410F13BB0C3BFFDD6F776E19CA0F03A
+217BCDB2EA78614CB68F8B8141F38FF7BE62D28458B5FB08734676B36DD03A70
+A1843999E4AE5384029901548D01045972AA77AD5214FB345A7F47C4A7480A58
+BBDAD39FDE66FB7B2C0EF82AC9A814D3A1298684923374EC5E92F8B52B1726E8
+EEB56AF8DEAFBB31F4D1090401675DA4EB033C6905C784A0205D94F0A305F1B4
+3255F47774576908F0C3BED7D3438327E24EC145BF5BCFABDBFCA47D40B77029
+36431000A253860094BFD836DCF19E6BFB5FF75508CBF65FEA900382745FC2AE
+EF968CCE1C6032205871B023892F451474E5379DFD5F885E428FABEC1DEFCB4D
+2DB98F261D3C039591905768B03BCF8588618F386C8B75F2C2B1CFEB5ACB821C
+23474D93C05C07B8D88B88D0430BF19BF699C9D649C1ABA7A7B4FDB7B8E70A4C
+8394B27AB99AB406E334AFE0050AC566D7695FDBBF508E93E7D22121EBA505B0
+F1AE5FA3B8F32E1BA971585EFC7A2CE5513CE410748439522542F90B380AB0AD
+9F1527055B7E2A559E1D3735128D02B96EA028FD5DA8727E33CE3822A44301B6
+BBABDA3192C650FCD7D1F89142A5D47544C19458F86412D6DCFA1BABF3CF4A80
+AF980F44F7AB893A9D2197BAE883BB672E63C3C00CCA363F5C45CE6BC30BEC6C
+8BCA685F08F46FEE281A42C171FFF3C6A1AC5E551C659C6808E76FE3B7178792
+1F94B67E7E100DA039040206D53CB9366F100A637FC14350869EB5D2AEC8DBBC
+E24FE1547A3C7D3CC0E8A48EDEFC323D31C026792AD179215E7FFA45F18D9585
+6859EF48E7F6A90A693FF66A3CC8DB1C13A75E722B3CEF084079D8E423ED67D8
+077EC4FD608EDC7FBB8121E59BD2B2304F54D6540DC186CAB44E68F342836E8B
+559AEB63C74E0DCB9A1891F1D3628F5B34AF42617385F3CD3B28B585C21553FF
+A2E96A984B1043371A184D83AFA58B0600E291B50A97E114C507E56DF287386D
+B1FA3A1C3D62A89D690481412D3846D17D12224C971DFFAAD2F99244B3366EAD
+4E46C7A4B6551ABC34B99543E712AADE0AA1D56E8EF3439A5BBA78CFF308AEFE
+71C3292D3FAAB992A98480B3B553A7102156FC99CEFB5FA56EF0CF162145E5E1
+18D263A6598B436C0190DB08CEE27A69D4F5A7B3B9D740B7C51E5C9149FF2629
+BB8568FE356A82BD8B2E6905B03CF385AF23E961E9A6DAF1A7B2034A05608971
+E9D56EB8195F133BC99502765EE811A4DAB4025733606A888224AE875FAEB9AA
+3B2579585ECFAE0C90E1BFCA9727F7CBC87CF62D35C4AB3657235C3A46C38225
+79FE1424CE94C3A3D64F1FB8D3D673ADACA1DC48A0E0726753818924A4A186EA
+34B2CB2492D0B8A64516FDB920DC59E1AA8FFC403D852DC03ACEB1E33DCA32F0
+737CF57D4665843BD6AC9EBCA63C092035810CCF5ABB9262737F2C256A4EADEE
+B450387F9326EDD7B4242C0D981F8BF9D7CCCE6AD7BD77A96058E2B9B1CD0BF4
+C4697B977AD1422661E854176C6DA938D17CEE9F3A6121BE465803C51D56BFBD
+E8EC49553DDF8127F1FC35DB9C4F0AA3959FD17ED40E850DADAE2AC870E5AA53
+662019B26B3E6EBEF1387EA4A60510219B9D0995F8504945385704D6FB4E93F4
+1125F862CA15265C1FA66F440B8FB9E5B33433014EB2A517BAD771FA7DF8F23E
+89CD3E58F89DF19776DBC3E5673CF190B35CF68B5934C0EB37558FC14581FA56
+07CAF596E51991008C035194B7FA9F150E30B53A7B2117BFCE6932CB3929B2F6
+87232470568A90CBBDD9B77C77A7966AE1C84FD680681AEC09BAC06E39688AE5
+4DE2DB3CEE5F0B072865B5CFF15C835C9AF5737D9ED19C1501BCBBBE909F0EFA
+978CBAFE5A25D203D8E630B36740B22E854CED07D73DE75FD6C1C0C80417E0FA
+BB6BC4AAE6DACBE26F499B8B69B958DEFCB7BCE7ACC9F5E058098170F4FB9E54
+DE12711C4C3A03E0CA3C1EC7AFCF26747BADD5D594A901E31CD42DDFBC50655E
+D669003E1D6A34E98C1A37F3C2B05A0F4E331390D4BEB19372A91BA3894FB886
+5868375664253DA120D2C094492E7C0E14EFFF97A9825F549B5FD8B89FA4CB6A
+5FEA11B2E0293BA22D57FD4A0150902AA3729D81EF74D6AF88D6B2133CA24B68
+FEC7E3941B884067B53DAD429CB7ED9FB023A5F693D1FF1EED9A6FF32F20F947
+5A2FA756EDB6621DD7DF077220C96AEB910E49A2B4CCCF82A02DACB0C42E8263
+7F0E76DFF2F21CEF6628EADC5BB5648BF82DB67FC39B0D0244A0BC0B30A59B8F
+76A7594A3D2A38DC3E6BD9CD05354E6EBE00448D7A7B8A5C094AE8D756151870
+EE984259842C8D2B2AE14D8E3C1FB010DE3B6996499A2426A124DC57BA152304
+D2467D7F3BD9286F3EBD43AF7A51079FBD7770947FD252FA6264E78B48ACC9C5
+CAA45D69784D107686B57E3CC94690C09B47CAE7845398B2C480A183A771FF94
+39B68F3FC3DCEC7059DF57105EF23C92555131F6D1F5DD509E1B6AEB3A4DCEF3
+4F6E660AE7C859139A1414839CAD6380155F907BF0E607BF2710C8F3743A3E44
+558DD7B820D8B9634E9183D0EC8B93297E33C71F2EFAE552E2D8371398CA8729
+60C6FE5B314600A01053279AE003D4470756977366467B2C843E267BCC69AFCE
+5E5297ECB2D69BE6EA118D486F05CE63785E52956ACA64662A962C5148E96C61
+346B834C2401B2A61A002A9738C28120BA7BCFF64A84F85D2F23792555C345E4
+86A37AEDD3C06176AB27D3CDA4FA46EFB1897C5D8827AC392F28A592DC1C5143
+13BA138F0D8B27ABFEE428D062538FE6BA62D2BDEC73EC3B830825E12E69D1C4
+CBFC07C631BBB7AE9BC8F8BDB25DB7415C7B9D0502C734FBAB387E201D1CEEDB
+C5F72A9FF2328DAECFC97A3EA1A75E7C7CCF1B274A3829B9F71C3B1BEC03923C
+F6E1E5E32BB8CBE6E71A855F1A7FB01A6AD8959A4E7CA24AED8F8E8B50967EDF
+E32A69B846B22F7A39D36B8809005E70C6A148F861C9DD68986677F16FF78F10
+B479132D9D5A4DEA428B5F2F360DDFB20C99B653F0F5C2B44472F947FF0F981D
+DA1317377C9D2B686A583814170CF417ED89686E568B1585A8AC08A5B6137695
+B2518B04FA646222A16B167CFAA29A59C9ABEC521868DFF306DE1F11715F16FD
+79F34C80F3BF298AE6ED20352AE60DC029C41552AD946C6CF7CB95F9E8B8C4A1
+7107F9BB0C5C9347D4669F4BAC9DA73D798104C9116FC8E1D10FC2C01AF559AB
+4A139BE448BCBDF113943FCBA3781DC6C0FB26637AF91874924BB9568BE0D34C
+71CBE4CB7CEED092D787C77608D3B2EC8137780BEA416E72DDAB37227A75087E
+DD680558A48CB39B804C795E4CA1642149C488A97186CA640A209F1D4DFE0F8A
+AB95DF6289C9A8490D3AB5B7C2D9F869665C9E163A58F200C3C97983E8D52E0A
+7D7BA1DC68876C3DA365168C1674B44A9F6702CE1BC29C5239240AF0C98E88FB
+64ECD020A7063061468DC709BD3E1BCA4E93E3574CFC4511B3548B5B263ECB2B
+C11543731619C381177C9AC98DC17EF0F1EA4D1A657A58136D873EC2D6555B70
+1B62409E24897A3DB5132039914365D529B476CC5587B1773CEA7C6BED50BC79
+35A2D753876A555D29273A8387A0E7BF81374BDC9B68A4EEA07E3A3E68876AE3
+3443F3DECD2711DE89C23961B364E650317DFCABD116D9E5E7476D6168852B8E
+945A52C78FF81DA9CCF9308C08C11438653AF10D496C82E6FF8FACBC785EFF4D
+42D053AC59E4E2869CF0A44B71AD9422D3C10F47DCF39CA5F57BF5BECDC098C7
+D011468870269798486A67D03579A843222ACE77AD05B05546101DFE33B04237
+EF34690DC25DF3B937113E46C233599F73B00F1C01DFCDC08F2138602C09172A
+63B0229F92E494FBBC896EE5B16BC65C990307F74B506E1BFB8C22D3FC4BB714
+962E6F057604B73859CAF2E14FAD61F427364992092D8CCECE6D0E51676BAC7B
+DA24651A425A61E74040AED70EA59FABA7035514A0F8FDE6DFB1B43838565702
+17B9C8C8786D4C359FFF347DFE060A91FA81932E96C73FEC129D1C5024570262
+FF1C515171973F908B4FB47B13A5AF652072A270ECF4A00402AA0CB9DB91FFAC
+B54DBBDBF179BD3E3A9B67A3E714F7C2A423A61F3AEC621C1D7E31C0398E4F22
+FE8F979EBFD5B143C3FA34E11D5EB1688A8C482D3ED2099DE89BD08069678287
+8FFCDAC7C19706F2288F51DF332B96106C6B7600C0BE4F8C89D013CD7D779472
+EAF9261E10092901566EF875F29CE04D8C6D8ECB37A7096078BDF6DD5F25348F
+9E39DAC89EB8A3DF269E7A7178579E626380EDA7E5D330B2639731FCF802E2E9
+BFA9A87C1685656736F55EF3769FA1EAB28933073CB87621A6B8B9D3D2BC4A98
+61022BCE0E35EF358D903FC77F8930D2CA2D663557BE3B573EBB07E2140779B8
+9E526B45BD4896EDF8229A02DD4A48A0AEAF7CB14679238B301370C1ABB056F0
+C37D9CC91141B5E855363E0E51345F4FC983345AB2057F726F0677C7BF6ACB6C
+AEF80CC2EA9C976206FE0B4D84795ED3D5A4588D0C90E7ABEC97ABCA62A18F8E
+1814E2538564B4A07A82C6758BAE9E8D37DCF47EA9E8154B9299DF7A51EAC45D
+BC4A341307F1A49176F83486153168BAADB77B19D2B6BE161BEFD021722F44D7
+1740E3687921E12D64AAA3744F9457E83A0F7B0459E7E046E29182F0286F38D5
+C35449E6849AAE29E612601164437702FD0BF9BF2331612F3AADD906ED5E7F26
+539AC3A8F798F447076200C0290D58C14A617D9A072FDF46123F89F21F0EA20D
+71F222AF6AAB681CC9BC2CE9E1F37D489C73E8E628B0CE90389C1BF15FBB82CC
+432631F956C85AC52EE619CC864EC00F4E631597691DFF1905D1CC16C78749FE
+9F39FC04257224F8E8B41629AA9A71827D002361850AF30D1EDAFC58E323E361
+D3ADCC591BDEA4D2626A0AD6903C6814FE57E782ED040FBC2CE140AC36336CBB
+C17BE07B5CCC863940CF36853E0154113D625788877329B9C4739F481E8CA942
+27B2DE3588F60EA297BDFA0F3EA34E275455988892F060C98F91758EA4E0B0D1
+7170E0C4FC9E9781A6875512E97E81B7373A9E352BAD9EB00004CBC4763871BD
+BD54D005815128532889B5ADC362B1B64657910FE5FA3DA3A8DCB70BF46C5598
+B1D844B4EAF1AAEC9BB44D37C48872A9307BD5A5FAA4A4DFF81CE7D2952B9676
+6126C65726EA85CF7F0AFADBE9EB077441F9A590F684AB98F22ACD1ABCB1B2BA
+8B659E7716DD06767E04AF78FFD888F6BEBF6D950A42CB9195E69F18C9607C70
+71CCD52A86C7A08A586B816A9F16F69941A08ECB1AE3CD0CD58F6F5AB5D5A8B4
+165655F31B21C0EAC5BD295E419A6F3C925F969C2A605E9183F96BF17FD4CD07
+86E04E57D07565CDD7841835BADA8EC57AADA52666BE34F2736B7015C1637315
+A8B2CC14C4AC2C8509D32D5199FE6F293BE46A5C3F32A00BDFC2EF6F344527DA
+D36898DD9C5319A8617AB3E95814A87C301FD92EEAE2639CD4978DC8DC62F3A4
+E42C0821F9F9178C3EE632D3C4E798C24945CBAF94FCCE65046E1C233B9D4A15
+65ADD80B536709F0282414B62F5A142E08B52F3C21F014438B0FD1E36B9A7734
+A6D9CA034080481D75E317CFC24F723F9B801401DF362BD4C9DDBFA99C6BC828
+D03481F1EB9F767573CF5E7B3A22A2323EDE34AB5CDE29E05D610715C9723FB2
+25BBA2FA1D2D7CDDC230CB6C49E52F3054D5D0D11613CB8A3B5D229A41A20622
+C0D20AE3B443B2527EE54AB4DB3E1CDC89013D56AB754CA542F4F4C634A46751
+2629264596717A9FBF6D3781809A14E3970B65DCE2C2957451414108915A803D
+93292A2B802A02CEC1B34F3E455620AEC38A4F28CC09D835F42FC57741BA951E
+AE907E955DFABA52A9076F322B8F122351E85D75B99EDFF3D2D50059FBF2064F
+A86648300F3B78B9117ACC4B83F8AAEB1AE57A1F056BE2AAD247429B873D314A
+F4ABABB5EA4F9031F8CF29DBCCFAE1EB519D9C3572E4D2D88AC3E856F900D267
+D734164AFCB4FF518AEA409AD3EBA59AF40E53493536188BB496B9247ACBCB88
+529DF6DE1C453F1BBC597E43FF1B8DE2FAACBCD384C813336B5C11F56F368789
+ABEB6C7F5758F356C6ABA76F4E50463EB728315DB7F6C64A6C9C890F2AD3337F
+6FB7E3A64190D687003065D990A395F60505C5334CFCC4F05D7061288AF4B52D
+E3555C18F955D9C5FBEC3FD4F83C580E6D3576CC4E86F059D59F40152A454984
+8BF8A749E118855B6ED6BA9E66316EAB63309FC2C597F76F4981CD56BB180EC7
+1BEE4A8C9AFBCE06C7ED7BA126782D47474F91AAEF69C0D9EC460B44D3083ECF
+8D93D7F22005B41477145A3362A0E22A47B50E3CCEE3693B8259A795F645A9DF
+C7AB00FDC56372725AE9B280EFFEDBB1D082DFF316E125358052E8BBC8C8DA6B
+8DEFE3454245BB6E682F8DBEE76901EED818622974D66EFD951F003F6FB019E4
+9AEFE6DC73BA878DAAEDC7329E5ED9019A6482B802298F4F123A3DB13E508C7A
+38ACB631516936D5373AB9518D138EABB19F460E45C725E5BE52907093AC519B
+3E495CF7078266468CCF9D9494A22A2382968051800791A0AC4AD6D5F6E48621
+D520B1F52F44BC2001587154A8340542CA42417EAA002CA3328AC878AC6C8238
+797C1345E2356FCD4FBE87CDC346EA0B830FF17B35C374F9D8A71451EA3A6159
+8CFD6A39AF6FD5BF14A39F1824CF7179C92FF7E2765F9CB624B1BEAE7110F34F
+B1E74C926352B57E7DAE80C98E60ADEA3F23564CB6DA53E4141092E9EF973CEF
+2915A6D0E5882CB9C2ADC2FA533B616A1874FC20A4D58A73AAE65CA4F4B6FAD0
+E1A970C748F18D80FB0120FD6B766DD79DF40C3BD8A215F6A5A701F16C9982DC
+C6E18342F5E1B2331133DE2500CCF86137564CFB52A759B7CE851424DFD802B0
+5EABAA0AF079E5F906CE3CB4B32D049586A09739B4AAAFEE980A8B608C62FB4C
+CED631546433847D6A103065F35190E73B45F78AC127AF9462CD4DC92B98E22F
+0FE0780F1D6057D8FA051D0D54385ECE63C32FCDD8BD2E82208122C8B8C25498
+92011D7F3A5383F18936E94F570BF307DCA1BF05277B87E366F30A79A2A7EEBE
+FD048294EE529625C7C10AA28694F3FE49D0B8790B39B1A7637E667CD5BB9D75
+9AF8067981238094150A78CCE08B225B427932DC47779922EEAAEFD137E82CFB
+4AA3476AE7AB02558ECD89D6AEAABCDB85F1FB4F4E318FFF3A9CAB4757EF24DA
+ADB33711E855A0E25582F10469F1B6C19089AF013C38F2624826A5730646
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont 
+%%BeginFont: CMSL10
+%!PS-AdobeFont-1.0: CMSL10 003.002
+%%Title: CMSL10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSL10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMSL10 known{/CMSL10 findfont dup/UniqueID known{dup
+/UniqueID get 5000798 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMSL10 def
+/FontBBox {-62 -250 1123 750 }readonly def
+/UniqueID 5000798 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSL10.) readonly def
+/FullName (CMSL10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -9.46 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 11 /ff put
+dup 12 /fi put
+dup 13 /fl put
+dup 14 /ffi put
+dup 40 /parenleft put
+dup 41 /parenright put
+dup 45 /hyphen put
+dup 47 /slash put
+dup 48 /zero put
+dup 49 /one put
+dup 50 /two put
+dup 51 /three put
+dup 52 /four put
+dup 54 /six put
+dup 57 /nine put
+dup 58 /colon put
+dup 61 /equal put
+dup 64 /at put
+dup 65 /A put
+dup 66 /B put
+dup 67 /C put
+dup 68 /D put
+dup 69 /E put
+dup 70 /F put
+dup 71 /G put
+dup 72 /H put
+dup 73 /I put
+dup 76 /L put
+dup 77 /M put
+dup 78 /N put
+dup 79 /O put
+dup 80 /P put
+dup 81 /Q put
+dup 82 /R put
+dup 83 /S put
+dup 84 /T put
+dup 85 /U put
+dup 86 /V put
+dup 87 /W put
+dup 88 /X put
+dup 89 /Y put
+dup 91 /bracketleft put
+dup 93 /bracketright put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 106 /j put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 113 /q put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 119 /w put
+dup 120 /x put
+dup 121 /y put
+dup 122 /z put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
+5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99
+8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716
+EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C
+02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D
+46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A
+4B60D020D325E4C2450F3BCF59223103D20DB6943DE1BA6FC8D4362C3CE32E0D
+DCE118A7394CB72B56624142B74A3863C1D054C7CB14F89CBAFF08A4162FC384
+7FEDA760DD8E09028C461D7C8C765390E13667DD233EA2E20063634941F668C0
+C14657504A30C0C298F341B0EC9D1247E084CC760B7D4F27874744CDC5D76814
+25E2367955EA15B0B5CD2C4A0B21F3653FCC70D32D6AC6E28FB470EB246D6ED5
+7872201EF784EE43930DC4801FC99043C93D789F5ED9A09946EC104C430B5581
+299CB76590919D5538B16837F966CF6B213D6E40238F55B4E0F715DBD2A8B8B8
+80A4B633D128EB01BB783569E827F83AF61665C0510C7EA8E6FC89A30B0BC0EB
+5A53E5E67EF62D8855F6606E421BD351916549C569C7368AAFB714E22A023584
+8B1D6B52FC6F635E44058690002C6BA02CEC21C54CC8875B408A8BB84F445894
+5D6B3E4841CA20AF852A660FE9C832F773691DC6F7197FF3DEAEE97418A5ED2F
+F2AE65300416227CD3BB03C29003C770CD7D2A7A2E4C1DCA193651C2CDDBF93B
+966938788694BFB562AB0010268955FC3555E5984CCAB0A9B7590C77C9BC713E
+A29E5BD7193A4E971D1752DDD0F0AA4648E7E87BBCE66A1E836C715C408B07A5
+9EB56BEFD4596706CF839BA4CFA90CAD4038C1E006B51913279A2C31FBEE5BD4
+A7D74F9103CE6124F5B439CB860987DF44FE17EF88EF1BF62C67060D25696BCD
+94ADF08F04E349CEBDF9D3389D870D94CC05E393B3F4362A13A6A672EE5E8F5A
+DFE7046AFE3EBAEA58FFEBA4A47BF61F92E2003756DA643CCF2C9DFCCAB62669
+E3C2A18D690B64D907F50BCA155A85E47C3A6954C6FF7ACA36D8DFCE777B7929
+5F5D5F787B9C247ABF13D6D7B4A8F06BA25CCB342F8A5071325CDA86AD71BA23
+8A9695C7D1D50D0AAC267AB7CDBA7AAF46A264B7B081B7E79AD937FEE4969FD5
+155A99E652461EFFB4BD010E5885631E2B2497D6B8C43CE77D7D47FE201DD46E
+4482FFDCE150A1183C22C004A0AF0E1F42AA6804E038E1DFC8B0A3CE26B52038
+44D2E7F759DA5C252489E5525963D68BC27C82247BEB18818C7D4CF0BC5CC97D
+8C701034B8DF798DD4CE36C3F8B1FD40B2DA14EA75583852875031AF8C909EE0
+04495FDCD04B05A5EFEBA56A8CAC1F57F1B8AB91FB25C81CD51EE69D6E0F52CC
+A0E12CF7E3187D67DF71A599FFD895FAA7BF80E2E6B96592BE77AE96905BAF0F
+F547355A36C443797DDA7C414AA606CF9153E03450B77D1BA4088D739DF55F07
+111B9E11AF37F45B6EDE6D7AC126E05886A57C83886DA87761BE600DEECD1344
+8A82BD652BE7ABFE6A0F50ED7C6F4EE12CDFD80CA7A5518692F267C51C3FE76C
+567BB8DDBE09A2AF901F79AD02B435287CB8057B3D5EE6655071F67B00438728
+C4C3EBD648BAF650993AFE5E2B29074A99ED0FB725D9B8CE8B0292B08A280214
+C3AF252BEEAD30C88F72E322FAC3E9D78A1038F5DFC41F7BF1AE3744A0677094
+51B77C2D630B67853FE5E975A395C06A4D4DA744040B272C2B88D8B7ED3A2C01
+66F503C9DFD3C7DDAC865900D2A4F2CDF517F449851DB1963468D0266D7A3E58
+9F6B2A1843E6444274F16A9930302DACD8D2BC4588765099A86BCCD8A31DF0E6
+2853114DFF2D19F812F19AE6C2E419D7AC1BC024D1195074FD0C6717BFB389A4
+4D5428E7BB2E4F9E9FDEDED7BDCBDD3460805AEA0B5F6460C2FDF19273CE5BA7
+5D3AAE0DB94C6AFA8339646191C23B0149E7CBF136FC4C844E025A38935DF256
+0A0A6466A45EE8B9B23B6A055856FB084F87C73BA28F1883E3B184CD813C72F9
+233B78CA4E125ABD26F29B92CD9DF39D6FDC2A217E2B6B45D9B0A4D536790A5D
+BC0903069565A442FA7466414D948AC432C6B75D8D0E1DBB217CA3DC38A52DEF
+62E9D5AE9E753956C13819D93148C7683BE4F71B80BC066D8C19FC807FB1C086
+B49215DCF56A91A42089F0D063B9981925691F7DDE3237403AC714F5CC3ACA88
+DB2F1DD205578C00472FD70C8BA4F752E3923ACF3164D442A6B639902ED060D0
+C5777BC20F9A3BDA60FA3BC986C38136FBD2E8F910E32EF36377C9CC187F4AFA
+CCEC423DB925B378522B748BDF12D523804CABA83CB5A7ED69FAB9AAB75EE8FC
+38D9866E3754C4E2F2B9AEFA804044D878DED0E114EA0E9682FCF38F6628E63D
+FE1C1B5615E54FAE8684566EDC4B616F76EEFD6207E0386F06D3BFFA26425F24
+303CC7C8A8D7021E7D09B202616988287838C3DBCE3179B4FB5C726E603A47F2
+8248CB508F327D1291CF3F08F7C88298DC2D0F778D24304EFCF6E074182BF5B1
+8E6551811FD6991971692108E289B61053D6DCBA2925B3903E8916EBD09D97A2
+C6D08E89DE4C0CDF7185E1E00DF456B249F0BFC686E04FDAAD2772DC2C39DD53
+9C23A41471267F53A87E5C2B8CBCDB66CE0B9844BC506428E6150B48D2FA6363
+4FDB2CEDFBAE0B7DBCE4D83E29B2955F8966272CB865EDB360C8A8C19EC62A29
+03066483E4083524A1E8D80FE3867BC1AA91753C26ACBE8489AB0E3330206212
+93E07ED473DBF457EB8489E66FB4B8ED8A9EA8911CF9308CFE3E6D6F36810EE8
+91CCB11BD548617B2C683C354452B9229E7C9E68828BBEC324420DF7C188CCE0
+FBB514547553A7E9B38AC265783891F42DA472388569C8E7594F7E8810895A27
+06E456902A8D9F65CA808F1FD475D011C4572F8A654BA01D67942226A663D179
+95149FFF41A9F55AE84EEB9A6A39C017D7E4FD6EFEEE7FF3CE847CDB064A4954
+9DCD273B810E0F259501BA4003A3EC1ABA6E13D24C0B57FF82D6DF077833B6A2
+7EA54801BA81DB961C261689C0887FAD83771E55D3D137AFBB21779397E11972
+6C6CA922F45AFA5C0526863A5AD8B9C0775CCBA17FFD37A44CED4710884DBC31
+5C9D3F5441595B86CF7CA2EEE42AE87896E9E60EBF5F35C2B7FDBF9A9CDAE262
+3F48396F0F741E9DDF1D4FEF75E68AFB020D06CC29B3A7B2ED819D1AABC12B91
+CA2A65F1AFDDA2F3FB322E0268DBBA024663E49EFF076455338FE31A16B04EC1
+797EAB0B49AFFB906A0690A1E8E2F5314773E1CCFFF43E6FB3875AC907F0C5D0
+DCB9BCC127014D472463560CA0CB1C2CE614D94177C7A52A5B089316689C8112
+CA57E35D716D956DBF9013B1E5B9626456B1433C8C15FA906458F957133B9E19
+8D46DC3AC015F7602538C2AE3927C6DDBACF38E59220C2F5AF36B68DE9117C51
+04CF7DF32B1AF55B87D1D8A5F4BCFEC66F63B32B6548DEDA3AAB06C5310E4757
+78AFF947DA22809B360FE535506A554DDDE5A6F2411246653710ECE5CD3185BE
+730520A766C47E1ED01890059882BE1432586864E1A86A7F586438C8DD35C00F
+021A741ED47E0F16DB6070ED0C50038632CA4AC2975578A8372A080CC0447C79
+CEABDF2BCD5E78564247B0F0025F556DA8FB62125227849EACFB724A4AE3EF57
+90C07A5B27D2E59425F56BF8AD84C5F5310FEB1BC73D536339FC2E6A5BE2DAFD
+97FC835E0D52F680F80ACA37DB498AACF152B9B44626CD89E3302C3EE1623EE0
+F998FA78305960AAB9F483F731F5F67A8C963C23DB8E48FB804EF8B86FAFE7F9
+4C09641915FA7E3930AC922682313408BC1607C76751CEEAFD660206A39CF394
+40ABE2A313AB7D5FD6444E219DC5C26734D322BA268D330AC17959A390D6C8E7
+3A155095BDD66516DAD5D65519A7FB871ECDA77061EFB21F359158B4470EF79B
+362C35C06B85C9A9505C8361939C6AC013F2CFE8EEF46FD8CB4452AAB3EF1FA7
+DC066557BADC2ADDDF7DDC2A0E1DD4A357E27A2073427EACF9B9035DA5272136
+7DF37E26D96ED4B2ACD60596E039BCB15E259C72FEB3344E3EEE3D4F17DF4233
+04C1416BCADE80BD483DD8C9AF979E1C7D50C4CF015870703F88B92C4FE46AB8
+DE6717B55C460C805B391B84333097E116F4A51F631FAFAB34CFC925BEE8B72B
+C9FD5F5A79D8F2295FBFAE649DC6AB47794AC7D73431FFE5BE992F2B5AC67049
+B5208251C0E442385A9FACF25E3A98D7F5D4C2A1ABDC600AABE84769CA83350F
+9B87F71CEAD3600E02FF9AC03C1B5C21C84F911511A0CF0111BAC7605EE31229
+3C526A79D943D92E1CC3C38ABE82D560CFD4172F318030852A5FCC0534B8B3FE
+D7365987C8B48A072907B26CDC2108130A33233E8E0BB5FDF14FB55098A10EA2
+B51AD9EFB119F82B08D256D396D3263FBD9DBF172D43A90ACD1A31F3E89E8571
+74BE98B9560E2CD661A2F93C69FEA3FF26B00772AE2C2C24B98D3D122EA2AA8A
+44652CCDF4EF4F01CA7D62A976E23E8A86291F43BFAF38FD9C325E70F9C36CB5
+A181DAD30156E98339E6A0498D3420B7BB3B4E651A9090D4A17604AE386273A8
+3D4AE8CC18345E6E19DF06BA848F203F74B161D6A8882991CBA7385F308696A1
+BEEB0130D938A764B98A2001A38489B1334025EA848CA44A116D64926D460D64
+01159E77EA7ED9ECE7BA77635BE564A4ED89315BDFF54ACE6AA1A26591D13CD4
+6D6425CA7933769B842192858D10998509396829263290A3A7CFEBBDA3EE6CDD
+DF1E492AECDFF7941B53573F01F623CA0A5ECC9D05A3D0954F7AE8CE94AC3B2A
+CD4E27519B2E16F033EB732AA024BBAF74626DB55DC74B1FDDB07FAE98B4AC5C
+683CFD8744F361838D343B657EBF52DEEE7AEA7565C5BEEFE455DDDBC4DCCA7D
+87D6D769C5ECCF14118A14A85A86865777C8E28F953160D5E82844AE54D541DF
+550D5F1519E183E0C42BE88F0458CE8087F2CD4B1B49A8E9E3D127C4A4CB74A6
+2E73BF4CC317781D03FF04BC36AC0E4AF99E2ACAD20F6F8029DE8A035DAB40DB
+17D237850BCDD05931FF4B0FE2D0B79EC5A88FE0236271CCB075BD194AA25AFB
+3FB93A5206F61A14602E4EB6F1C31C654527CE0C02D04314DF9AFD710D0EBB9E
+F8721B97F5FB18E27507E1F800B5509A58A1A8296C72B7B73F99B6CFE42E9C2F
+B63B3555475E562672645CD374BCDE937A9B05A157FB3E74C8297507253E957B
+1A9DC421946734CEFA3D5EE357DAC7E9DE17A5BDDEF6B2D2A740BC58128FC514
+61154664412BA1C05209EC992A77B7CA45AB7C0EEBF590A5B5652866008CDEF7
+124A3003AE6A7CF9DF3C72750CBD281358CD2FF25B162B78CBB971DB3477F8D2
+ECA3EE9CBC90323B2C236E375337EA0848CD7CB5781A2B0A42DE7E4D99DB2746
+0B26796CEE129D23C76794B7CE21C13C7D4A998B752C8CF43A4821B736EBE246
+D2A2BD7BA3351FBCD1B0A501EC1EAABE60D06DA2FE39BE1F0AD629769FDDC933
+F9D02F9686EC8C2D7455C26AF4DD3F6860B2289E3A30E1C254AD17D731CB73B2
+BF4DFE90CAEECE3ED0CD3FB4C8F4C7BE1C056AB4E9B95781A8968E3CC1010003
+75DFBC4AB9F6B27C5A9AD88D94441A8ADF09EB275E5F0E5E6F3BFEA0FA8C308A
+8593ABA0645ECA8FDC3F0E264B35D4B0DDB86B93CD8A047FC409E18196B501C3
+B003622999C47BAC04FD1ABD8AD359C977766E9643EF3BD6385306B08EE3E13E
+7DA5A06AE33D17A3D574C6390DB6E9429754B210F0C349C359559C7EAA2350BD
+F61D4D8A92B1AF697BC620FA0351E67E0D9F41A95A47EE0BF210C2C48691901F
+F905F65693DCB85BE412F097480F6A7266AE0A928729DA0F691CBFFF3B276EA7
+322BCD2206D96E3DAFDFB992CA8F2955F0E8B882729DFF840569D12E4DA1775E
+523AA734552AAB6F2F16B89B39F1A3FF0E07EA08D13E612F201716C67F327017
+6C041760DA30374434808273062C1FFA2C47B3FB578807BC26537F542040FF77
+66C995EF3E8B08B09FCD3EE89C30F157158A739606D2CEAA26694A4F1CEA6633
+B54933141CB85C60AB262E2D4E824A3B85C2BEF810DD774F296AB37D0BAE7182
+5648CD18556ACB124246A75474B232D712C2358908B5D9A76F82C626BFDE01A1
+093B8FA6AA0B32F2CDEF737B28BC0448FF816DDB5812131DA0DD5979D77C3838
+B978CC3F6778A4BFCE9A7087EFB19749285AE4C92B99A6649DA349A2E0889D72
+6D4FC664522F06C8C4D86D30BA43ED4E42211217D01636A4E17E2A132D26F394
+EC34EA12D84594AED9C6CDBBC0908860F39B240FA7D7B3003DB10322498691CF
+A294C0FC7ACC0BAD1EED3E9D60AAE3F7429695892D1A21CEBF062C6129B33966
+8B2EF6E932F9891DE6028B81C5E9B23278D35B7F0D83989BCBA25E20E9D503DE
+144DC485F09A4EFA1268AC5E4B551C5B2F1D51E9B9B9C0FEE585204F869D0BE0
+7287D7570A12940A47C1F51AC6134F03B415C30E147C49F89228855D093EE55F
+172711F37776E97A99CC4B36E2F10713E36FB279FD3FA5A0EB9F3938F42E2BB9
+254EB8F0C0F30391735019E02BFDA21D9813C6A22279B898EAF01AA892B14DC6
+5912B9275167AB46EBC420836CC1A5F38A4EB47C039A7BCA62BC3FCE4199FC71
+011DD6E5FFA0F3D7F04AC02AF91B9249B9F993AE346572329DA852115BEF8460
+B94690E790003586F473F37EAB5AC2922F5F663EE2C3C0C336A8DB71650631AC
+0A923A389AC911CB215EC2EC7D50CF8AEFD59EBFFA53A9F1FFB7E6215F17093E
+3975F186FE23BB5FA5474C11408FABD223E1E6F62035B5A5C1AEFD8899F00FFB
+E729C2D5FD551E80716CEA4E8281660286A802AAE8D5834F37F2EAC46297E57E
+993B09251DD7789D3467417E393B7DEABD06676B96241B0E43ED1A1A9FC3B12E
+0D34B2B0792B79AA648FE9450C3B209FB6D7D91F50C52A5DAB0BC81A8B698BD9
+18946EFF691912D7348D48FE68CD876FC6F71F81165D0C3272DA1A992308D9E0
+ED6D0A4DAD679AF495F62B78D462B463BD4A40931172290C615B3B3B6B47E45F
+CEBB85E0A6AB6832067CA6D403C239530D07F199788AA4DD52553836851C5228
+1072406F6D7323A334E7A7FCA588897C4FBA6D4F7DEB65525EFB74E539C988C3
+A685A98752F7198E77E456A545F0D23A1BEF81EF58B02D289CF980A3F17BEC8A
+6F83DD90C4A917EB0E5E2B444A608E2E9D2FF80620E16AC1D7775C0A10C1299B
+BEE0E1AB24C50647E5CA1DA65CFF3B2C295F0644CA7826E1DC6FADEA93D66A20
+DE852F20AD224D28DB900519EB1569837139C833F24B799F7EBE3FDC14235323
+1D0BCD4991C861F38DF413A5A5588B73AEC3BBFDB885CE17BB3E97B4E6A79761
+93EC8418C2BC4725CD61B5E30C07352F647C3FD50083878C13CFAC241DDCB082
+E53703D182068727F9EB6FACEC25F6D901D7309ED7370867E34E267519E22D62
+4FC7093448BD0D6B1C43D318A3E14C92032325C132AE0FF7ED707E1FA4A955FB
+F5224BE0045CB14ECC321D0F333FE24EEFCC504F7C756451D7693C3E6CA87526
+4912E1B6DB935BDE76FBFAFCA4ED473F1D2618812CFF25A6859C626A216603C1
+361BE3E071FCFEC2D4BF2FEBDE07DBD56A1BFF8303901168FA06488BA6B76F36
+95B0A90D7724E9ADB567C2ADC65CF3482CF47FD1D16F70AA19A97D0F9EFC611C
+AEA5E1ACCDA7FB2DF05E9480936281484BC329F0B771775E73F7FD72FE3F45F0
+50ADBD03932B38F37A8F0A66B2F739EA3AC8811C8F514E68C5643E4AFF485C81
+88475A523D7FCCA5C8809BD49846C77795A38DC6406082000236A4D2628B5932
+AB7916D44EC2210CB941B143FB218EDE899E4C47E0081BD91A7BAA1D80F1562B
+A19D442C49D1295FE662395CA9143CB136751300AB9F9341255A9BA1323DDE0B
+DB92E2D787DB0F57D7600215E8FC23ED8E1F0D3764780499D425D7824DE64B3F
+988AB0C9ED06E600942526F12590D8A239B8AC70E319262AF6A41B2D45B2C200
+5DDD22E105A1F4AE4D2529C9B9A1CFBA75207C66D0B692FE7C9CEED9A54EE660
+7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E611ADF045E0AF3C
+46E2F650CC36E969855BFA34B66B0C13481151129AA93F8003F666C963A5086C
+8F7DA89ED6D2616BEC5F71C3D5C65C821419AE7F10EEA2F1D2F4353A40F2A99C
+5C2A47A16E9F55A77D248163C0B7CC9E2FBAE80D7344BF0365A8CFE2D96E4E1C
+342B8478B7485BE9C86297677D66B683C75C0023B71D456F5039788CDFF6049C
+4D63AE6E85DDBE826FD8145968FC237F12812FEF2505E3ED7565083022A07F2D
+ABDD90859F3DE0E6A95121238DBF05300C35CAA9065DC45D17FF350A4022FC78
+2C32EFBD53D8605DFB775CABF857C2F54BA01FAA6288A52E1F78969FBBF99013
+99D0DC4D53DFC2166A2DE5CB0DAC8F839CF46EBAFAD2162A214B85D77EA7DDC6
+A3A60AC085A5229AD801503BCC725E7243736559F03FA898F0D03B7B07DE7434
+70275491D0D5E8F1A2188FFE9DE4D3E3B5AE169FD837BCD4BAAFD127A55B234F
+BE16FAD495A9DC3562AAF88BB031CDFC0DFB5D8C1477BEA23D2B20B203E1DD9A
+24985524067ADA9F3D899B52E12B0EBC66B77ADCCFC2D82DB75D120E1435B229
+97575ACE066DCE7AAB5447BF3E3BE8165E4C36BEC37044BAA976A3D43FB565F4
+4335CA96CECEAD3A21956F5111852334983BF982B884C04CC25C8841B9786E54
+F850D08514057671F845BA9CE10FFFF8448E6C313A67B1479863404697086C35
+3C1CA6AC83275F0EC3EBACE5489017DAAED24A80454894B4D7956AE4ED379599
+9276CC944DB18B9E78F875ADD92B09CB60E6CDFC11D2F47C542270DEB4AF2DBD
+C5F92A8EAA7C911D4CE5F5B331587FC1BD8884BB68D56C3D7737AFFA430B825C
+0B0859998A1F2B4859DEDE19F3FDCF6210F1172B2B5338294BB52AD5B73D82D2
+CE3800552C22E98DA1213425BB2FA844C9C214959653E0C464596BE8034F4C23
+98F890602E1CF40F4E9697CBC4DFCA89B1611FB59CE5241AE1A6D770539789C7
+ADAA9A943D81FF3A2A9E49D621325B393CD59ECD20BBB281A2D228477D502EEA
+777713360109C4C4CA250C5B8092F866869EC87CFEF1D127F7FFDA77C4DFB822
+DDFDE6A7C95CF435ED90E5E85CF71CEE08379305265A6A2350A7239FB2808079
+90CE45AA391B9453D17801B6793FAAF982857531F01C1EB1B6C7E678E3DD2E19
+28E792F27AED7089C62AEE63903A534E5EDE55A2AAD18F4DA62F3D47870FE7BE
+C1D71B337DE48D98DC2158DE79004A00F121EA9EC21BCED87050389CFFDD6B11
+EE0D82E64EAF3608D4916E272E038E33EB3AF49893472239FE6C75E062DB87B4
+C2EE858921CAE82E3219A2BF1B2F7F6C5B3B7DF8A08EA2FFC5A06692998AE814
+9733503639827DB1823B166BAD533948658E8A05358BE69767AC0DF266DAD6EF
+8B94353A5D1448D04BEB94E739174618F7F3AA02390BA8F5B78C79B1059981E3
+53D3DBC636F575404C0A897882971D1E41805D361C4B90F30BBE88EFE223D9B2
+EE75CDABD101202199483FD59F409EED07895E86088479B150E15616F9242131
+9459F393EA8E72931D88E046A006E33906403E3CD0AAF83C2A157990F2E4BE45
+FB619AFF13E34AE062880557D807AC396EE4E1208DA4DF237A1C03EDFCEC5A97
+81D4F76C21DEAE59A06B3F776B943A3D30126A39BA1002F7892A34AC8D773F43
+700C4195848203424E0CB43CA1586D24804ADE279523EB5402CEE210FF8CF1B3
+C11CC0ADEADB0F94DAEF5B0F120E7B00B848AB3FB2CB8946166381F1E364629B
+B4E6154505599722D79936E49E4B0BFD08D8B12AE3003C04E821683011B74291
+426AEF2D5B015C513A6F91A615EF6404874F768B40E9E2506FD8BD7F600A4DD9
+7E4550481C4E158A8D09724B515E40C5FC9085B0C955E008C448A197338270A9
+F1D69B2E5215E35A57466C78B2F5AAB8A1F6BEABFC4DE9BCE3151C7391BE364C
+7FF3AC3704E4648677A0E8AB667D6B638FC8A4A81C84BDE42CE1650D70F7C1AD
+099E9A8DFDDAAE59C2F2EBE068F61358D8674CDB2323D0100E575136B029CCF4
+88826D3D468D013A0093BF45BBC45E973C4C7EF0617BA1BF3A83051251B86E6A
+0913290FB6DFFF8290C47CC86C52EA082135F59FD514B01268F22E050053170F
+93ACD4163CD1F3A6D1933E2C2459602FD243F3E117ED875F37F84AF53F0139E0
+D60D77F484D31E7BAB41C8A026D64BC9A0BB372EFC3BF463712602D201B47C8C
+C427DC224E8DA488E643668760345A38565CD16EB51C28F489C095BE207C8302
+893E4392BC3A286C9D159675A761ED9E6D70922C1505EBDC7C5F7B842263D15A
+B51B46C702308FD6AFD95A5DE1FDA3121B52BB3F84D9A835C851B2C6E01C1368
+555E2EF5BD186FF2F82B5AAC055E0100A05B6D6D23A87F2015354B20ED9AEE3F
+F12BCC2ED68950B378AD1EEC22072A78DE911AC357786D106AB3F4FD6493CA2A
+308778ADF10B33AB71813A4194C4668528AD4328F861577E2DAB24B4FC8857DB
+1428A2C616AD9ACD54E72CFCFEFFABA7AC6C85B2CE000F7252EBB794F368C1C8
+79B8E09EC0A71E8AC8D3DB48B8C06C8ED71C88AB996924C5F7CBC935D79DCC5E
+D97F815992C93E52234E77072BAE84BDB081A3DC0B4586C3992FC5A840425FCE
+159910E8F2836200E54F575B90A8E05F9A825919073E0AFC54C962B7CA054911
+BC1B9D795A4DC8B195BD3817F2ED68680865B98791F138FB0F545AD22325CE87
+B559DAE94B364B3A8336D7DFAB1C5261E00C331CDA309B310EF1CFA9483AD0CC
+1C35839B2E83ED42153F529920A92F8C86B98A3615E9F90515A5AFC55C85A2C7
+5D63CD559D60A853DBBAFD077E600DCD2064C2D32E5A9A38A1F390E7980D3C38
+F0A269C25BF98CE7919EC952AF71D7B8D585B00BAA7C8F8CE7B53DC68BBACEED
+0EB52AA4479E1A633C6AFE42BA010BA9CB3884A5B5B25A231E8F6C54D4B9F728
+9E7A24B53DEBD33E890DCF5057DDF12BD03B7330CE3B1E9F041AF5AE199C85B9
+882B10A7C3F03E124E4E146A8883703085543D1A276B0AAECAF3C9C3DC6E290D
+E6CE6C77A9C94395A04D9DE2B3B088695968DEBD325C81CDADBA4C87710640FA
+D92257C62DCF3AE11DECB9293A95D6FBD8AA7DFE656B8F4DA7035DE67098F2E2
+B9C35974354670BD1AD837FE43DA9F41E858B613259ACC0740887E4C92240A17
+C421157C2A508CD2268C4B9E617DC4ADD2B359AF762DA8924817B903D7422AF9
+4DFD563328C46FC805D1F1321F0AA4D071E5F0A8BD2D9DD553FEEF9407822BBF
+8ED58F6FA309B59AF37F8B43AC32108B88B104941063A79B120E7369466B6DDE
+67E103D9097ECE0FA9DEAB1183FA37E36685C8FBA8BABE5E53A9BB6FEDAD6E4C
+2BDCE1477C8B73ADFC1CDF038A7B129A99929642018AA142A8B94D4521C755D3
+4B4965FA7F3DA2F719A9A16F128B02498418EB7EEF3B4B04766ACAB6C18BD929
+506B6BD1150477DBCFA68B2CDCFC6C821DC62A98644E9DAAE1FF64D952A26044
+E2759FFB26A0903E0D3B5D2316232E6015F832302DE2580D5DD87B08123B263D
+4142FC91D227263A122F57E5075633900743AB1473B24A8DB85A6D98286FC4E7
+D0FFECF0BEBFB5AB1F524FAE53B502A19CE2D43CD2D4C69031B4603971D50528
+1829F30C715422CBDB480E8934B8B78EF074AABC092325BBE82FB9B796B99A9A
+E8CF5F5AC26F2ACC7FAB1A9548A1C607AC31C3048EF322544644A576C9D36B86
+13283EFA3B8B4FBD31F313FE51BFD332DEBDF7BF8901EE19FF890534FF083937
+62A2BE05643EBC99919C85DB4FCD317775A00F5B0945032A3DC22C349A02E273
+EAB6AD42DD10B194AE29A214D4271E8A5D98AF476A841C599443B3917C41E070
+7BFFE54372E76A52772173DDC8E6180F6EBE9771A2CA5FD2CD1BCB7ED14C1727
+1692303E954099C242AC6847F2B3291DF8E0883F1DE6BD2B082FA9AACB3640DA
+D6830BE82ACE102C95A4047DEE9995FD75BC710BEECCA1730CC38747B4A8D408
+57B58F860F85AC8D21720684B60FB14D99EAFC394B106BC00F3E6E37B830675C
+E16EB5C60490E14A049AB9934A809FA865E4361E55A4C3F20069036DC21AA373
+FBC48D06EAB7E5E339BDD07235467EDDCE655C3F3CEA69F44E09E6D53399026C
+D87F45684610B6E353F1C1961CC89E36175EAD13A3C7E62BBA022B12C1DE1878
+A8800AE691524EC810DA7B22ADE0832031EE8FF801BBECC0080FA075881DF90C
+E48747C3905D0951FF41C5F37FA47597EBA70A94FF890CC95F894E8EF5C6A832
+C2A29A985D98B880E2246A859680584C34C49A17F2050FDF56B344027DD7C5B4
+D605C3AEC085C2747E121468C88FF31CA63C426A8B8F09C4454CC32DA5D01A7B
+D52F6CE227B1728821EB94AFBAA119506A8E8D747CF5AF715E691497AD3172D0
+1CA166F6475ABD0C72DC860766B6B257B0A754AE8C182AAD87D6C70DF547D352
+9C109C1E1B9F2A1C9883BF4BA71ED2A194EC841D6F1613011E3DBA013F4D22C8
+D40A7DFC484EA903584A732BB122C8C516AA1F03D892A4B222CCDD669CE3AB61
+6930D84019A34E24ED9D7ABABFEDDCC6E6A6FC033E6A5CC093AB80F5BDD06F6F
+7CAF9271A58893528B1D4ECEF546B530DA20090FEAB0EB967B14A59FC9DECD50
+F544323C9A6329323A4719B1D5A635B09024983C7F16AD79F8BA0BB65E0F8459
+5BB1BDCB0FAB7FCE662D9162DC36677990D9FDB9CAC2FE929D603A4886213EC7
+82E2F9D02B18B6421F739C09092E0ECFFF4CECEAB4B8B2341CD21323AFA97241
+E313E84C2B6AA6B233F15731FF7E0F4C5C5FF64BE678F0E15E46C5AE971725E3
+34A216ADEB02FC55FCEFDDC6634DEE0242496797559CC7C44460E39A01496D53
+8F4FE734DCAEABAC5A4C3F7AD67A81BF24A8E7424EF0ECEE6C9DCC65BCE0E97F
+E16863BE6010C7C7E05FB023A6E44AEC9ABAE6CD69FF7117E940AE5F723BA943
+6457AE2577277C87087E4659E8735435938680B3727BD34E3D1CF4B56A8DB2C5
+BA9D5BBC669E5791DE0DE552E5CB480FC0A19F6C0A0D0C31A497F4DDD5A17481
+9250482FA8E633D55E33CD9C68305235402BF66EF817991D0F50092E08F4D5CD
+0E403B31E33920E88C32DAB553FFC3FA7BBA3505F6158C5185BA9D913B8D022E
+A2D1E96503CAFFB87F4DCFE889F7F5DC485FE61314A3CB4DEAA87062C21049C3
+3F0F04D3CDA38989493EF3E99C43DBF8165B5D41E0061881C224769C0DD95C8D
+F30D9F9A6D0E9332121897FA7B25B34603A5B03FF43DCC0D8CF223335A03E15E
+88247111F6BEE3FCBA71AB1C283E89A3B9D5897DBC02097358F62CB64109E985
+CCDE5912ED17D9E5AE0E1BC72E625989521B5C3D3DEE31D8489B1815D023D3ED
+86660237F3FF2E62C1B3A125EE3718356EC8B8C7C194E4EDA46D7F138EB1ACB4
+5AF421AD860FA48155DFA251408D1D4B256198F392250908BE34AC4EA814ED94
+72F3BE9BD169660845247D1E21861F6F083F59304051DF2DB0A215DB59B9BB91
+F1F6F40D19E5B22CD86984DFAA54C0DFE40DC490F43877590E17EFC663984CEF
+816A241F087308C1B5E1246C882CAF00063E1E178F3B25C28F7EDA99809EF0F4
+3931BA329A8BE5AB38BBF34D22AAA5D21D552EB96FB7E2BD3117E684C7C5967B
+348094658B82EE8C3B90E0C9709DF0F438F4D4D143FFDCDA11E77CCED4EA6C32
+93C44897E185E7B48B9A6EE1FA679F00B3F6E192F11A47D6DF6B433709C2F183
+3A736D2698B9BFF67744DFA9FC309533DD8DB9D53868A47AC1C4D1B27073F4A1
+060429BE976885353E49771D3FC407864F8C765EFB45A6E217DF467DDD2E1600
+9595D819F53B70997A1A507E520CD7F854BB3937BD31C1CBE4E0AB0AACAE9923
+64869235B3A20BAD3D68B32C07C6F8B6B864BA626E7C7AAC3E88D804B5985E68
+B6D328CA99EB8815ABFD76B2AE8EFB1CAD2D816A7DBF61F6D2CF76455ADB0681
+1CBF8EC4F25EC64384A4CD17770B109EEADF68A3CA41FD96E02AF82EBD37BDA4
+C172304F6C104E8471082DB7B80118C413F52337B9EA7F8ACE39801ADB2844EE
+4E14138AB284AB5ED98B61031C749B9CAED6739E3BF77B800599B4928937F4EF
+CC6A01B3C702AB6ACC0D41E829EBACD601A608AF2C09AB4C644B54F36F6C4A04
+8E2E062AAB79CA022A058F4952ED28E35F53563173C7FFE8B85FB350537F126E
+94CCE6C95FC1B832D55382E1229E0189247ADB99E3EBAABD9AE19E755A46C95E
+ABC34A48EACBA47AA6F8C19CABAE4EF4CAF67A5859AAB847A4780A8E8E789141
+B6E13A4A8439FB2FD0585AF1EAB54A83420A62FE191F229E19BFDEFFB89B846B
+96D1065C2D6A93646523A130A287EF0E9E6A211B09B3622FC71E6804BD29AF32
+AA85D1F419DC44A3637EB4D1E5E2D2BBB42D0D07783EBF05CA93FF183037DF4A
+4BD23C04CFE4EC9B8BCA2203DE9921AE8C06925EB018D2ACB6CDADCB5A26A869
+3EC4F6669DEEEBAFDDBE1687E19A526A07EAF7F2AE3B60A0ED751F57DAF48C1E
+2645F9B2BA0FFAD79A2CD0FD4AE778997324E8EE78B39DD3C94DDEFF940CF695
+FEA43D07B426FF66D2FCFFBCF7C35A0C1BE0A26164AF6DE54A1F136C09306B57
+866F978813D067B0A5ED5E9375E7CE31DB1D854ABE14D1521A17D3621B10EC5A
+78A0CBE37E0A74241CA5DB4404FB9482A463FA63B2B60B749DF353AFF7531AC1
+28A9AA52B17581C6D3EA306CDB27C60181864CA69B0987DF82583D8746B2FB76
+666D80C7A8E9CC73A4B9E2A424E91A5D9C9E4B4516CCF0C0DB8D7D6B990B0617
+B2D4BB80F5F44B8FFCE757257DBCB603CD39B910BEAD4875AFCA1A2CC3C1A227
+F0D7ECFFAE66C5B0DCC906E5EC3968D06AB9E012D44DBD374D253E3B7E63F2D5
+A493DF7E62FCB8C36A4FDA9F17E5E00EA7694A4ED428772C9123E543C902D0DC
+CA60BC04B97F01017D3F2B49E073828B55F3068551E8505110E3D90ED5927AA7
+5B218243FFB4B750C6C90BF9C4F08E94B9EE95A9835279AF1D630FD1A5AA3811
+32710CA0F92DB56FA7FB8826CF0D25878D3D1B6D9324F68ACED610819E084F82
+BB74206C03B2226B45194E2129D71D44B93DB0B0F9A199D49DCE080D2E76B5B0
+4035831FA95543FA6DD0B3297DB0954B3E62E835C6EAB14B6890606D582F56EF
+FD1FFA40C44DBED19A88E98611B2A524C5690D13AF990182C6820DA79712F418
+EECDB01EAEB74F698E89CCE2D6E4FF89239E63D78940E66972B1A441B8C7194F
+1D0207BE9E753269952711C130FEA0D7FF0A47EE2C713A3BB84143676E9F07AE
+036715EC18FD6FACDAA2F25BD068E19C42551ECACA21AF051171760DAE572159
+E2F262F330D96B0673B3B3221A233365D51F243F9D03065EADF1443A71B2B148
+5297B36B9A93F9E58B2EC58B8186F209CDEFCCB8F85B9064E35FF1AA085DBF72
+639D82A07FC3D881235F818DB280BEAF5CB2025080675FE7EADC7E8AE4C115B3
+605EEA0A7B055AB5B16D19AC8AFABE9B882E662AE6BF3EDE9CE308104154CD04
+C6728A4F2A6FD3C9FDB5D97AB95A0C95EA614AF28F73CFA5A7397D727F55D8F1
+6D12D44E059C678807D33AF0AD405997A40D5D8B3A88080F9C8110D6EFD49EC3
+DCD651A67946D91A9CF2955ECAD27EB3073894E6237AA3A9B7168FFE3DAA81D8
+0041B203045BDEA8FD43FCF894E5A11FB192E07E6BD9D187DF7F55FD7068060F
+2994EC7C2E3A554D0D3C01EB56CF8AB44E926D053512FB591A72783F65CC3A5E
+9CABC9D8997F8BF7AED93F01B58D3DABEAC39932EA310F6533A25518872E7005
+D2145AE7DE39330CE5270A9B0808A6E735F31CDF39BEE7385C56989BD2244DE7
+C849F8BFB906FB794315F383CB99BF0EFF63A3B1AC735CEC9A50FF56B3D141B0
+A3B300179B1FA5FF1846DD7389AE24337CF1B340FA311884F324B3EAA0BC37F8
+3E757864956286A37254CC50032E00D6DB9C7E9C62ADEBAFAFDBE63A3B7F2A34
+69F67DC5EC11488FFBE72B331A38C911D02A1616679C6206AA14A4393540752F
+B46C804C42A3575CFD8988841B962C20B288B57F35EBF36D3C26873A65008B88
+76DBB940DD66FE458E27D962485BF068804BE922AEDFC62A3137FFE0D86EF4E8
+CEB20992BDA16F7CBF01F51DE0923D0D96A3E7FEB00D63118B3D4EAF3E692D4C
+9FEC460194825CA2766CF4D14693C62129E5EDEA288373C9D82E9D4EC7D79DE5
+DB952C6602D48C8345DC7C4D4138C2AFF84A262A12DDA6485005160C2382AE01
+8E3B510C5A942A38301ED8A5C7BC5F5738BEA7AB1C8A80A62B72D814E5B113B3
+D07FD53BC8DCD79413DF41D56FB985C64718C4872FE461CAD45BB8DF23BEA38B
+81779181855771FBEF3019F1D578E2CF5F5A2FD77E34D5594796765CBD65313F
+56561F21C0E84A86057E35A1532C760E661805E1D3AD893667B2B670E3A57369
+726FDEF0774052B75626D05AA15ED5EE79AD0540754CE77B61A0B4C920ADD86E
+2AFDEC70819274E55385E5FC62BBA6FD4A06F4D3C73A7636DFC37EE0E9EFBE6A
+80C16C7F161A1C5D33ECADE5785C2615DACCC633B6F543E4740CAE50A1A542D1
+59BD8073835E1DB768BFCDAAD152DA2B403C8987DAB55170AA14E498DD6D1BC3
+D555035250F975A96ED945DB953A5AA73175F841216D9FEE530DBFC7ED8A9B05
+AF36650E74D82F29C81ABD918547CFE78ED4F5FC574A182855B3DD00A9DCCC5A
+57098E04C0C296A58038C7F86A80D8300BF8A354D62D6F56AD45C02A1E56283B
+238EBE2F629AD8420E6D14F68903D3277EFCE0BFEB1B8755654CAA25E0D8E5BE
+26784C1F0FD5A233821958BCB346891135FFFB1AAA3A5152BCE9D5C82B468260
+0ADE466E2C867A667B50E030F53AE63687861F74DACA26309D2FB22F67794F5A
+4FF18F6A2D97E42C24E9B0F7FB073C3F32DFC9D5B8D6182217213393AE0A1276
+05569BF056B04DCC84A624C910AF58B4052F32079135B69EBD0663CC24FD12A1
+E9202406E8DDCAE6CE4D772218A998C84B40DAE4E955853AE9AFA7B3C643EC09
+D0ABA5FFB200E7C931754FC5245E92F23DB92511133B4E7EA1D4A36E4B79E992
+6696CBE8812C41CB8E7493D8CDFA35E406EE3E4347EDF7DD7C255A25D2861EE7
+517C266E81D56135E140BF2A32526A757A8F1FCA465AED57BC4ADF067C2C4B24
+6FBB19DC6AFB67949033EA303AE450A47165BC82809C4A1C98492B26A1C44327
+DBA5D6A3843E94E76B78FC26D83EDA9966EE16E1FF6EA56C0F054D39BA2D0C14
+40FE303FFDA15F552DC7107780F468A34BF4B53D2B14FD50B46B375B5D31A913
+D335906568D13DFB928622B55343FEC3EE9D4C7CBD9B5908D5F2D1F0B7B9A4CF
+300EFB57F4BE807D8EEBDCF3BA40D3ED14B586CC52C1466B841B086457CB1458
+A4F59B7E2DBD80B6C64EDE5948AADF52DDBDDA037C73AE9AB5D280E5CC1CBA3C
+E1ECABF80CF6820E22FF7AFFAF3240C66D094A7F48E33EA42189EEE885245B09
+A39B636932D472ADCF531CCD8767C803151C94096C97408B0365C892032CA18C
+292224F0978DA852AC90754EC12695171E1C99F825997628B97EF9304BBF92D3
+F1CABDC473CDC15FE87926C15505ED8BB9C6C1D72DD128C9264705246CC8F721
+AD93FDDE653283E6347AFC4FFDF3A6B598F7EAD74B14EAE911A5E5B5577FE96D
+FEB38CF357D94B3D1ACDF79A52E42AD9551CBC33BF07E43E35D12FD8ACDC80EA
+FFC58F37549A20A32DDC37798C98A244C0BE03BAB8E24E4CECCD61913791B72D
+B8B86BC3A196B97C4B7954B37C668C3D8332099CB22B1469ADAC9C4D72DA07C4
+308EDCC5D81581E589C208D9615A0014CF085678357446CC1D8FD09FBEA45E8C
+2A0EFE1A696A6410D71633692796F571A790B70F3CFA953FD7B8F207AEFCC10A
+2AD2D80D229BA32FFF63FA080F8375645484DDFA67D7E18306AE0EBA4BE80D21
+50BD528B435D8C7D5C4223C5B9820C578B84447F95597E0D677A92E980F3D22E
+C0DB14D520BDF4F7BA4EFD2E96DE6C95D919DB81E0525C649CE68E548F47FAC3
+D49D32CD1EBD0081D6C4A463D964BD1DA937BF879CA668D75808171F1DDA3101
+1C11863DA33F73AE5DC706ABEF799225FE8BF59F4B8FA2BE77D1A7EC12359442
+BA3187AF51B30A4FB522F39818839549468EB325F3839832A93D1F9D6E36EF71
+2BE9B7F0AACF4DC29339F65FA6011CD31F80EAA33CE51CF3AE15CE3208D3242C
+4B25715554C188602000B670FE25723DD816335C7AED15E21550BFA55D4873B4
+B0BB480DEB9B313067C8BB64EC3C2C8C3FF9DF4F06C65DA6EBF0E3F16FDEAE6A
+34EC17B75895CE31DD95691282817AA1C553C61A3FDC48F9AB3FDC2D87DBFE13
+4F0A2CDDED7CC0760D427D46B54C31CCD6552F2243433435F2BFFCF2F6B2DC27
+D7415852C3541A5873FDD022D7CFF120DD280F8160224805A661A79065F2295E
+1FE93EA78081B80464EA6131DA784CA339D048FE1DEFFCA15C316C2A2F073E26
+D77FE5DE60261F97C903BBA11FE28A5478F28C1120F31FC3403AD0B76343B095
+C34170B0C2B2FAB990FE1B3C44D6F658E3605E93CBFBEEB0F9C869138FC2AAEC
+925CC1186D8A934ABAD65F0D540C4FC4985B451AC00C134E8B0B884D8DAB9740
+53DAB9937E5F27872D4D28E48C2B17553037039C0A1A409014234A191CF140FF
+872162E676E682DF16094624FF190AEFA6946AFB31A7DDC9D37BF2F0E1491F73
+043757B23286941389B7F8A1BB170CC239AFB0D386E08AAF532AB8E6E488100D
+FFD6BFFFD3D2B41C23DD99E835EBC7714C8105B64B5C6F65BA3164A92E2857A4
+4EAA689F340B161700F2265B619DF683B5E844F04174F9D34537742912918B30
+F5678220E8486A05976936F63358584BC9D2B914DCB1FCE987924BDEA89E25EE
+9080C7D2508448E95591CEC7F50CDE1DBCC6B5BF7E58544F06D6AA9C073C769A
+5D7B3CC8D92D7D8A92D9C7EA32FC65E1B094040BAA1EE33127BD5631B8FAB0FE
+D22E3450AF3EE0280F8B0E4443B8B6766FCC0632FD60AD7F2CE0B26D50A9BB5E
+D1F57673F019C8FA743047EA261A866C096ED4A1EBBCF0D2C36A03F0615DDAEA
+307AE8A7114FD2E2553366E8111B405B45337087F3936EB9633F7C732595FC6D
+343DE36A8A37E28F66AA425BAD0D0023D2C1399B40BE54C6DF4AB1AD822ECFE8
+AE877EB8124D0873EBC9A23F0615518C7FB8EA1F512D8F46663D97F370141456
+A5269ECB9302635BD560CF72F69D156E2B0B83C3C3DC8F5415A2FEC54059A5B7
+A1375B7F074A72D13E7766B3A4EBC3D899845C1C1706F6AE986DDD9402E24CD9
+0D717774773724AA88C043562D50525B69BFEA957BD893CE45CABB029C656111
+815B0AEA64274D80A8B0E1992728ECB0788E7B6467C9BA27EE71B8347CCF3048
+59C8333CF920038345F1D961EAB2DD689D6626EE5F0081F486A9324A717B6A91
+09DC67826C4237EFE68CF5992E6D7A19ACE28ED393BEA215D5101CB885837B6F
+0EF89F77DB7AACD620C5F574036E13FC1CA5619A074D7B416AA9A90CED155586
+1927922B72C4AAAD7C504BF5C4916F45197872E873C82766CEBCF72551111768
+675AC1FC672C619E28D5C67D3A83F378D66111B53E903FBA03B6324CED29A895
+98F6437AD9446A2AAFD7E8A290973000A90D4CF675CAF2C22001C766ACDB71BC
+929465EEFD28326B164D17990FF214624F35A76004169F39E2A774CE5D7521D7
+8A3A9E2E772A50195A81E764DFB10F0A39389C36A8976248346347E59875136B
+779E45181B9CA5A13FA4A8A1D8E8403C8C487E17854B3A652EFE481C6D131030
+C5E2C76F785ED9EEF33E4F34438A860D8BA87A4EB82F770AA031C5233D0A399E
+F6041D27C498BE213301D03D91581A470DC93AB3FE2BD1201DE62C647DA2935A
+47A713EA537BD35EF8AAB42DDAD67E3FB80923AFCD4772E164160013270E4AC2
+1795963DF0B7272B14CA254700F686876C92F6B9D344EACC8E102A22631A78FC
+F553226C615F5E30A79F2EF4C2D97524C04F7590701B32448B39ED144BB1A619
+3DAAF628E52B7B353BA4470D1BC4E19277C7091AEB971310BC2981C50FF81720
+5482F7B39DDE8FD669F24C99CA1DEC2B65040BD95B5FA5FCF417373158C7032A
+5A3D3377E1FDA40CC3C85B20113D23F4809EB260CF28A9805DB01075751E47C1
+204AC5FF27EFEE21F9B593FE72DA1AB7907174B89BA75F2F9AAEE07543B69CA7
+8C3AAB6D9C08995793CAF1F20E9F4083751CD300E60B3A5605E12117B48B6CCB
+53CF4A2A96B3AFE2612B47DDE999AC9AF62510E806CEDF17104E01FA19E5B982
+1183FDF79BD321DCBD3C31A551ECD019AAEC3FF59D5EE692560EE34E7D67A4FB
+5B009EC1A33207B4455294CA2B54ED8798EAC203D8ED4AAE1F38CA56B25698FA
+28BF32C4106ACDD2CEEE8323E2DAC6EDB21D2F45E4A4A488B01C11E5B246454F
+4B60C3190C5590740A4238EF7A49144B89BDD3EBFDB380536606D3E10D91CB23
+439EE311B892E5134D9FE5CC74B870DFFF7DC83DA94C8DDB8E7A0B7E177BF1F1
+E9D18EAFD7D1A2ADC30619CA95CD8F97EA79214A4342A1B0868CB8D934BC65CF
+9F82FB86089F4DAD3B5089058CFE6D4BD774E798DEEF7D8ABAFED407A06F03A4
+A4AAE43254CA92F0DBF64976CF4B326A865465077D6644CF8FBE1D71F4C030C6
+8189492695FE346032BB2FDFECAF7DDE2591CD9794D04BDC242D3EDACEBE69FD
+445212A0AE0EE29595CEC478BE8ED461EEC61837B7EDA829173B922E9EC6F038
+AF6E261669BCF46EC41E89C17B2D83EC074CB26AC8616A42C8BA6C454B1CE038
+40A831123D8A61E3FE904D03F5C2C991D71E7D42C525CA93EB158BCD8A894CF8
+D72637FF9E4EBEF4B13913F0BCB61E2D85D9C12049860F4579CB34D9BBDB7238
+EB94A9DF92EBC35528244CA4576371C97BCEC979DD0BE756D4CB8E154B5A0773
+0568448A8BC3AE9B0F64A72E7C61C932A9275C81AC3B04F079E4557A3698221B
+F77B4FA4A7FD3971B589C7CCEC6F0A7AE9FB4365B3F114F22C3DF8B2A2F73801
+B7CE2323F7F004D4660FD16F2436481E8D40545E0D4228B0940488C440266CB9
+94EB97716EE5FFD31916405E7DEB4C4C4BD085BC8B9CBEA511F4850B9872CE7E
+585BB97F98A9C46AF792D800122577575C61961CB6DE2421AC4DDA9AE6DB8755
+B8303785784603A0EDEC90678F549EC810B082EAE519E8C70BADA409FC975CD9
+A0E0CB3732B41D3AD414A3A20F32CA6C0DB28BCDC02E846ED52DC264A52361E5
+DD576D853DB8899101956732949DF7B675DA644014A31760F6741811AD0FEB5A
+14E52A1DBD8570A1E16E24A9D5A314D0EFCE12B3BCE3721001C2F4E0319F13F7
+541F68F4DA6BA8663F6AC3D7141C78B325EAFF053429B74C7177417C81198CA2
+2D96ADBF09151C81A8228D868020EA9A695F49DCA897A1540F558B906DCCAF4C
+C456CBEA53A973C50776718A1CD9960D54B693AC4A1D6001065750D500BCD41D
+F6A4DECF6E6A279620BF48AEB46D13ABF35A4AD326C204B1066E3E38904ADA68
+C61DC9DFEEB1E45EA94EE0D499B5BD86CCA0853092825CE4FA3FE7F6998BF76E
+3ABC5D705B2D98523625A40882F60D1B1E66391071A60CBD22BFAE2BE7C25993
+C778139B50F7CE949F30290767F776AF68AFE90F9301D53F1F82C838D75A3C07
+5D7AB510B3AF880651E2A2D8F68230D2DFF494FEA6A4E3B9D38C9AAD9DB39606
+F2D5F23624836A6576345677BD4EA57A66398B7A875ADED0A384B2F3B46DE31D
+EA2CE7D476033BADC4FE5B06D48DCD2C3FB369E7C5CEFDF176AA61499910C5B9
+21290036BB746A0A29F2D825AAA69871872DF0393E6A9DA72EE62A4408B32AA5
+024ED2CEA2E4D2467111EC2CAC6380FBF1451CBC48B35AF8B365EDCEF8A49302
+C6293EB59E3D82172B05041A721983070EB0FF316DB1B0CC771B6237A123D6FE
+5B7B8030A6B09E3FB300F8291392ED2CD17687C0CC25E978DE0B97BBFC2F091D
+857F1FA652EA9A8DDEF20CD7A7150FABC5FA50FAC384357A0A533011D6556A4C
+01770C0AFE53751A928019ABBD3C366A814B1A8D6D798B88D41F76F2B020970A
+5FA357E9D30D864C62F9469D741C345DD4E6D60628B0D7F6E4F7D718320333F3
+ABA1E1F700D57F1BCD203A9D84E98B8880470FE1C4198E61EF3537BD48FD587F
+348364A5C98CDBD28E5F8EAEF7D5330BF751697DC2473F043543BDD6DDFC0FE5
+920814F59827A5A8B462330EBED883B1540BE494D8B15F896D7D57DA0CB58333
+BAF2C40CCD28300CD1FAA74E5FF7CCA41C224BE7005594DC0A27DFFD9788C601
+022AA48CB97FCBF330838D12728ABBAD2502EC9C186257B4B96211FDE9F0B8DD
+95C1F833FFB246B66F0E152F8863ABB2FE6C471DF3246670E5FEB2AD4BDC57F2
+DFDE55D2CA970699FE737EF167FE912433656CDF481CB2A21F7F5318EF49E6D9
+D1F2F6FA7470FC4A915765919988CD6B05CE266E23DE4F53EE0AFDFF3BAE149C
+B4746F4FC7246F2109F56F86379FE075B2F479BF4CEE8E317A2DB45BEE15F9EE
+56D62D31C3DF3ECE7B94AAA44A33285B8D2784550F92D43C4688CA5730002EC3
+7F1B89AF7AB10E358EE586D7299FD59FACFD8DCE83037295738FB134EB82291A
+EF5CA235D77D56F45C901C1E1F301F25C8B259B082B9BFF0DC27A90813C3E6E0
+150F3F950FB999C79E1C5224CD5119DDB3D4E30582971150A2B8D01BFC039082
+B6EFB1CBD50517BDC1D2BC07252CDCA327FCA494DF9834ABEBFC5BB3D922B151
+6351C15C8D0F281EAEEE5C693A083B15287D09FB52FA53ED1786BCD39B6B5F64
+374D25C7681BD312676257FA18B993DC7AED3769A7A699D1F4240D9AD951D04B
+0D959060AA72C4835A0B523C324CD82994F9837C7678656D38B5AE9708EA639B
+CC017C65FAF1EF79F48AD5C6798E1A2345BB2D1E9CB080260C3C54CC60A1F58D
+834D91CCFD0643AF41157E09F4FE748281C96FDF8A9230F4D1B997168546170E
+4995FB284BC7E690D830CB3AFB754326DD29E6D5578438A21D3A4110B17E7A2D
+7EEDC502B8D5082649B6F074DABFCDF47176096E66A193D422E70A65AA9D83F6
+338964E0DCB95A0A4C84EA21D1DAAE0BAB1B103383D4F14BA32D20FEA7A2470B
+574513D8DF046EB1CB547E728BCE6CF0D6FB72D32BBF839800235CF64C16C265
+3C3DED2F2D99D6421F9A3A06AFC31C05601D0408D9310150222C9DD83B30008B
+68A6276400460F5172175EB818FB356A6BD6789B836F4C89A075B3695B72A08A
+123F446FAB5D025097428BCC8BE91297BA81B2738F935AED58D85E96951E413D
+888F1F77D0D50BCDF8696E9A5E69896009F26627AE408896609BE88C7A116CE5
+A35FDBD549478B80435207D7E782EBB20BA6F3F907609439063F25BECBC8DD4F
+2A2D5B34E52075B62E5018559DD0E65E302B4A0FE6344878D0FFDB438DA8F532
+31D1081802D22892CB98EF444F0AC988E971D1A140E31137DBB9E9DCD0E3DFA5
+104F70C8281DF90F2216D30915EC270D771C39DB30E7CFD04730ECE03EF333D5
+471E4D4F71DD8B6245DD440FC86C462D860FD487FEB97A626C5DDF5BE9C6F7C1
+95CBAAAEBE97452271186CAB2B22BB2E89144E11569E8E229842E2A49F094F3C
+2301B55A473609F63F806C1CC7CB9194F59C60FF71EE6324352D56570C60DDAE
+5362E7B2BD1AB594E30D3FC5B51FFD7F2FD08E46FBBC69CA3A14ADC116F276C6
+03B9BF31907EFACD6C8EAB9048D7AD15778E5B64A0A957791B00D01DF717C7F5
+AE610398231D7C5549433B2526C1B21C632494A1A8128A932BBD6D3FFFD93477
+537EFB672B7CC4442594D1B7D0C4EB8B95CC61BC2C226704375B2E25C3DD46A9
+8062E4AA9946FDBB0E2878CDA07625F55113852581A0A796D91C9FA2FE4F84BD
+8757849CAE0C8DD36908FB744D9D998E9495FB21C667190C8C7643AE48611A6F
+91FF4A86105682323E8CA3C2DD9F19F1F9E15C4935DB3BC7CC3CD5B3447237E3
+12F4992436D2232158699A83B4D9F28AFF4A5CB7C921A37BD6698E3856A482D4
+58B21670F835DCE5F4473DF4EDA510EAB2D56F573FBD192A868DEE896BFDFCB2
+82B02C327B22AB5661C88CA3F4AD18B883754CD52C2C10C76D288E4343E9F4B2
+6BEA30D03043E00B78FD43C411B219FD33DD6561AD4244425E51A6AC8A6742DD
+7DDA7DC304C81B7A1F6A09F8B5A7665E42360F430130D56BFF107BC432DF1F3E
+2864DB14AEAC6F6F3327B3D6D7AA794608E1BF069B8A89677B4187A2715E42D6
+39A53740FF2B5F9B4774D7144595F8E2A3E1DCA47B5AD3E6F0CB194BD7C9315D
+6F48BDF80FB9E000969F4B83EB0E15966B5F6476F97845897CB8E40CD6C4FA69
+68916899FAE0663FAF1E3666969715081723104F40B42C45E0D48B0D2082CEC9
+3150FD4EE265B3941534773473855DAD248630B8D810669F33CA307BFB215E5E
+A59D9B509125D464B60683CB02D1F8C25E6B08616FCB04FF9076F0AE4A4F5F73
+296FB829B653F7A00225C05CA4A4685D99A568C4DE3770F05E7BDBBF7C5876AD
+60541D5F5B2718C0122FA950228EFD70BF12BEE525C7443B7169C28116322D47
+6B8AA10B008960195A69CAD5D13375A101F4DF5BD0A45418DE71A0EBF2026E06
+C5ACBA696E92AF6BA96C8E7FA4E899B73EBE364E2881161A1AB5565D38154A51
+E681A677C476C818EC99CA89B8257E8CB95735A73DBAC6430DBB955444A874C4
+3C0B8F0E7EA3DE8C9FB18205C1763E38D4ECFBB6691E1EA08BA505A8C159EF87
+A0C78F8C517C6DF7F871342DAEAECE80FBB02F03CEBF93AB6062979FA5BCC2BD
+FB265689CBE6E7F6E4CA0E39CCCA58359537982AC4B3CF9EBCF42C3F0CFB9DA4
+FA2BEDBCCA7B8411C3DA85B41982BB4866EC8640F7F1594C735DC9597927DE0B
+4AF7653554598713D45CE4795C7A5780AF89521A1981473E6379212F068D04F8
+C913E30040655E666844E44C2AE644FD9D723D2CDB5C2A57C089A8C302981E07
+10C5630A492D5FFDE6C3E568EEF1F0FCE0221DDA19E569DED96EDADC0B8C4264
+EE13C4FD6959EB4C6BA43715558B2C1995A4463EB8EBFD77EE810AB3576CA9F6
+52321CAD216C7628DBD6F9A20516A14847E789FA0B0345618627568E1C088F27
+9A5E8559854C2EC31BED7DB38F0A2AD10BE6C9065174FF681732A14D5BCD1EF7
+12E9CE8C43BEF76E95C4193E857EA871E2CCA6A6D03C56F985371F36A459E62C
+DCE476EF7BFDFD1F6D35358631AF71F56A537FFEEA593EE1503B5CEBEEA17770
+92216353AF0F168303BADB7A0DA9AC999D863BA011E1A743BADD7C613E966600
+A0F4A8AE79B91707A4BB0C3583A6F086C6FD3CDBE13F307D54C30154D1E6C73A
+0169D9A3FBE40F5E041C3F6AE229E3F232509DD34BFF3566F7A7B4D6F78DA67C
+929789E809EA216313F61F29D16A00538278E7227007C3DB4794E92D312DB275
+E90E0A9F043A28D8B71A88D2F563F3C0E17FE37C874DEC0E985AC3EA92D31409
+D352B09E27FB8671DC9F1B6E07A078093CCE14F02C0A969F591B38541FCCFE9F
+080DA87257088562FF63BFC324E89777AF6F7F7119C7B5D36126CBFFC60C39CD
+32E26471840F5759D9C0FC5C7B9534FA607FFE31D1D0CAD74A59DBE4407CF39A
+E60CD9474F6F21FBDE6D73598FF39E08EC15E93A2BCF398B0ACCF0A0D9CDF2D7
+22149078423166D2A0FB739A3804A5BF7855C578AEE73E239A34004022F76883
+7E94112D0C2505B8D6024177F34E0FC098B054746102CC32C51744DE089E835A
+FB677055AFE416CA986EDE59E07549627A488431FAAEECFC5AC3344A4A0726C5
+B6323B8F5B6CF32854ACD1D9BB8B0FAC721435AA9EB4AD6F60476076028E4664
+024CB8FEC02630D8AA3E601C016FCBC943F29096B8B580454D0609378CA66C47
+CCED9008C10304A7F01A0B97E80B9C98108766E8FEA6743AE95B9D08A840DA9B
+3F1E42F644716E2AC29402828A947D4E4BA2284A6D5438AA3A2CE843D0331EC3
+377C7C99E245D2D7D3EFD4763584A935A50938256F0103D2EC694B70B168C8A5
+6E655B893C2604332DA659CC76CC0E39E9F2B7356D9BE8C4CB089D6B85B9D017
+9E3C51E340502BE415A9D5A53B2250693A0B66E7BC381CF5EB8044788098F0BB
+B6074DE342BDE46C3314AB76CC8EFC16CD6F5820B7AD151802F8EB95A7C4BCAF
+92D3E148A5D5285EF951E70CA5EC44BF3164D8B60F032A24B5928F9CA8BF89B0
+4CC8071E70EAA1C7F327FC221CFF0913B0CB0AC44C8522A82AB770F3F5EFDA7C
+A04762EA4EF797CDD8A8CBD4109B4956265A7D0C14FECA51685B30CCA3FB4904
+2463E92BB697C74E569E3559156578D02688C11D9B6D5FF0CD458D5FFD8E2950
+FE7F3DCAA6B79E497BBC72F052F04D74DD8F6FCBC4714CB6CC2E399BA30EC5D5
+E2F1438C1E6C11DAAA29B93728DB23692E9AF21519F62FE23DAC087D7C14CA3D
+F8A75805CB7F3426E5F31195F0AB53D6F623EA69E55FCC746DD3206B89BC1D5E
+9B8D065D3F4DDF77FE6490B46D4D492B8B441F78C55D6A63EA76C28AB75D63C8
+632FEC815ACC754126EC915386FDDDB3ABFF56EC80BC75939BBF899B851E9CB8
+E8F9CDDC23DC403F792CFD133AE56A1EC47206E1125A80C829CCA60982B2F235
+FE52F2C07F449BF81E2CD3F55823D77CA9B659FD6DB17BA0DE65C27649A6029B
+1ADD725B21443BB63BA1BC48991A6751EBE0CCF542C65E01D67477277E03661C
+D30A3D47433FBB28BBAAA5EDBDBEAA984BAF310F99EACAB060CC1D88F3C5D885
+C96786A9EA3A2D8A196EA2ABF2FC574313EF12A9D779E66E7B946F04ED24C8B0
+751C127F795AF4C3F271372845309E96395ABFF0CEDC62E026AD8A06B22FD2E7
+357992FEC62C966FAF011576EA538B9C9C7CA695A43F793BC0A4AAA59D6A4915
+A1D123006BF39A2E6CFE5B0203EBAF14E0743D28D4FEC39ABB46AC2917E029FE
+AB6F2CB263C42C6003A9D7B24DA48BC3E240977319CE8B957E7C335AC0B9D70B
+D88EAC6B105FA4EE1244D88F2628F993EDF9F4B8C4B51E7573800FA231AB8B5A
+F7C649CDD908D24598FCE7395BF7A423487C26AA15FD6BA2586E3037506229DB
+6E436E7B21759454BBD2652CBCCFE18FF91545A19F6579E342823BDA81D5F22B
+A99767E73CA56C53E2C18381C390D85B68223FF5004D001C88E264905E5FFC6E
+406C84D227FA590D866CF31D7A89D1DC579134BE39D6A8AF4E8E75F609E1D93B
+A8C1B2F2131E250A170FD7F81706E2536CE8E9637A758C6D961016081602A94E
+B21DFE2A927707178623D6DFE5812C7BA07D9FDF1061EFD1C198B1A15EE28E57
+72676DF8180411693127B8F270CDF87A92DF5FF2F3E523981C8028CC2273E1D4
+B53547C34BB4DCCD64B4C6A59A1254D45FC142DD606E74EC06E376A616CF9BED
+1A20ECF09E64497449C0F18DF695724FB272E439822F7502B3DB9FD3AD4F6840
+A4EFB08659E73D45759918970D1BCE03681B422ED53E798331CF77A5C4B36443
+DB08F40A53DACE01AAEEB6CAEB045065441F8D1601E145CC8AFC3FD4E3F27528
+ECB2A5970D3F6FAA596D6C8C87565A3A6B1920C5B29FC4BB62B3DB14DA024181
+169DE1FE15B0136EB88645EF4C7EE1686F079F72EE0590982998F7AC25E923B0
+D17BC8483F7B861D7A797AD9AB4D1EFAB1CE593179AFF9468CC54F53ABA67F65
+D7155713C84CF694B60B1876F8E674F4D774D5F76F62DDA115494FA6646B296E
+5F12BEDC6EC652590177B90231796742CFC92B37F285AC64DA9C8D6926132601
+02A3C1DAF50B430E02C201980274922CCF116ACE13F0214E295D9E3406CD277E
+CAE552F4C7FA7FC6A8F4753CB79F6AF0F0BFE4EE86EBAE5EEEE3E03670B3A93A
+28E71F9852B127652C43075C6877D5D920AF0720C33748CD7E91FC78B86B33BF
+2565E84DA4D1BF18A7E5EB8B13F5E0E50C7673DFD4B6E9265AC097CF13E832B1
+F474E80EF6BCAC84D13B088BD645DE069BB8E1C53027FD6A2A2553DBFB8306DD
+3C85042392F68E8B18F1E5D8920649ECBC77A01AF629A467D29CA3F39C4DC2C9
+0E6E5739BE913009057BEB8F927FAB4F3D19AB2057D63CA74611C744A8BDEB34
+E10322B0FFDB7DBBC3267474DBF908059D49009716739CA45147F06203F39E90
+B55FC5B81565EDC8BE84B99A5ACA18FDA9F8A66C737CB3A1C41DF6752317594C
+AFDF6BE12CA5191875AB535DB36D2BFDD337600AC5C3082F145D224A052BCD7A
+5EBF460549A81C19AAC571AD94880732C12BFE3EED0D0FB42B351BC6A9ECBF7F
+F3E20B97B8A2510A9F249F047F63F084E094DC92B2BF98F4036009356A604D67
+8D54E74CE897F1AB0019E64ABE8C212D04C12E50FA0B3B93B9BA1FCBBCBF1B66
+32AD337DE52F4384E0A3B4AB9CCBC86301B13B8AC860B64469266892051AB868
+9475D4AD10C0E6EA277E0EAB6E5D9E97398EDF28B68E37BC2562431D77C37488
+0472DC8A5923AC28C5957C04314940307254F7B1E8E5DB79AC5299AA4D97FD51
+C0E3C24A77BD0A97623FE92FBB1EB258CB619F0639E9BD83D3D75E1C6651534A
+1C7FB7C61AADA26B49FB82CD1E6DA455B9B357F32EAAE6373116AB02A478269D
+23B39452CDF87C2E3655E6B4C38B939602D8F7A3748C090814CABFC733A96DC9
+C0F9FC360F6365463C012A2905B12CD9D08E7702589A2F35C8AB75AB3A7E3365
+CF252EEDA99E50F3B5A5C3421B2D5DE7CDDAB624F92D8D62D85BF069A555D0B1
+F803C877858DBEE64D2BF623EB3B182B79736A61A0072B9C4E6A41525D295649
+71F07878127B39AA25C502723CE1BF85D59C7C6599F8712F25E952914FF7D4C4
+F4508E516E34626DB226B771C8E3F5696DC481B2B4AC09692D257CAB362A385E
+80252630CF991377DC00D1199FBA2DCB262D3FA698C9B72A249704DB311464C0
+7329E86C09A10A88C4E6CBB64AFFB824DFFABE3B66A1EF08C42530C3F59D6D48
+72CEE38E0CB51E502A040CB4DACDAEBD4CFFD12AC7DF8E08EECA526E68FD1526
+5678769AD49AB33A3929605D02CE1965313EA352E2D165650667FAEEDDBFA6B6
+6947974765F4A72799EA546390B13227D4B57CE6632F8988EF1D7453F793B952
+020E4177483FC506CCFA0C345E640B46334DFEACD452D43B939653D952279BC0
+8D7DB082C5E08D2A8251BE59E94958F7F5D7AEEF145358E297A4A7B2FD33E58D
+D9AC5A06C200BC53687CFE6D3E2906F39CB2741A37CE462EE75D418ED5013BA3
+AF0AE35C083AB69C
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont 
+%%BeginFont: CMSY10
+%!PS-AdobeFont-1.0: CMSY10 003.002
+%%Title: CMSY10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSY10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMSY10 known{/CMSY10 findfont dup/UniqueID known{dup
+/UniqueID get 5096651 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMSY10 def
+/FontBBox {-29 -960 1116 775 }readonly def
+/UniqueID 5096651 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSY10.) readonly def
+/FullName (CMSY10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 0 /minus put
+dup 2 /multiply put
+dup 13 /circlecopyrt put
+dup 15 /bullet put
+dup 17 /equivalence put
+dup 20 /lessequal put
+dup 21 /greaterequal put
+dup 25 /approxequal put
+dup 33 /arrowright put
+dup 50 /element put
+dup 54 /negationslash put
+dup 55 /mapsto put
+dup 77 /M put
+dup 92 /intersection put
+dup 106 /bar put
+dup 112 /radical put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0
+7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81
+DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91
+511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6
+1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD
+028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86
+1319147A4A219ECB92D0D9F6228B51A97C29547000FCC8A581BE543D73F1FED4
+3D08C53693138003C01E1D216B185179E1856E2A05AA6C66AABB68B7E4409021
+91AA9D8E4C5FBBDA55F1BB6BC679EABA06BE9795DB920A6343CE934B04D75DF2
+E0C30B8FD2E475FE0D66D4AA65821864C7DD6AC9939A04094EEA832EAD33DB7A
+11EE8D595FB0E543D0E80D31D584B97879B3C7B4A85CC6358A41342D70AD0B97
+C14123421FE8A7D131FB0D03900B392FDA0ABAFC25E946D2251F150EC595E857
+D17AE424DB76B431366086F377B2A0EEFD3909E3FA35E51886FC318989C1EF20
+B6F5990F1D39C22127F0A47BC8461F3AFDF87D9BDA4B6C1D1CFD7513F1E3C3D3
+93BEF764AA832316343F9FE869A720E4AA87AE76FA87A833BBC5892DE05B867F
+10FA225E233BCFA9BB51F46A6DF22ADCEACC01C3CD1F54C9AEFA25E92EFAC00D
+7E2BA427C25483BA42A199F4D2E43DFCE79A7156F7417ACF78E41FCA91E6C9EF
+B933450D851B73A6AB6AEA7EE4C710CB5C14270D1674FA334686653793FCB31B
+491E870D3C2BC654D2C1DE463EC9BA29D7371AA1078800EF93D3F66263A2EBBB
+F5723697BF7448BD0D2E301544BECF497FD475B85DFEF52AF4F8F8BE445CABE6
+019318806D10C5952157FF8F8286C1EE701545C8F60EFA854EAE66835A2046A6
+915D395F1E0366EFE0C0391583FE001FF16D82A2E2DA5F57754A2C6F69306E36
+356ECF8EFC3F1188AD6FCD2427E0580C97A5B69B4E0E09B85EEDE142F5ADD2F0
+5DE51D6DB72B127412A0D57106C19CA493048A4F815129ABE767D51715B1515D
+9C21067CB5BC88741B7298C83EAE36A866DFA87D8981F179B1C31292F56BBB64
+3C430779468AAF07C8A8B4934E1E775FE3F35186BD1FA6EE3689C1C750678AF1
+FBF9B23195A124C5C991FE670AC0C86FD39D2B07B9A319E74EFD498B45820252
+720ECDF7294F7B0B137CEB86D33BFCEB8606985A3260FD669E461C8BE94216C5
+D434FD8854F44EE66E5A289A9F9E32BC36AF645D53F96652602BAED418C8D726
+BD04A1B4617551FE4DEF54083D414F7DCE004E6BB2DC9C2EF7CE232B254BA2C5
+7DCBD36C2072ED46FF711F121A701E2284BF1B718B3164382B8F453D68FA0377
+DFE106503B8401D4DB87F5402A3AC9A442FA060B0610A9524D530C7157C26B56
+AC970FCC1D5655FFFFA39246E6420CF97D08ADFB7B05822679BD40C638DDF0E7
+A97BFE8918B611A145AC965C203F1428812F9D340AF499B3A915B22BE798594E
+0F520109FC81E452180AE45B170FF999C5FC2761C6CECD8742A5A6FC97F16743
+AD4EFCC6572A6D3F3E4E330C5CB2FF6FEA48A5B64DD3DBE943BD9918D4A18E18
+CBCF598AEFBB6AB3CD2CBC9BFD6099272F6543F3E532E0E21E614BD2880B1023
+0AC234CB705827BF016DB84E00E8C255FDEFA0101A842929540B7B4AA8A089BD
+5EFF05B72356B6BC3727817823B5CDBB1B963103000D7F2A4E2A1472FC3E614B
+5CBCB6D6D784023173DEFEBFA8F9ED87EC1A0A9EE98CA59CFC964CF943DC683F
+E9E00DA718C4425A705A69D99988EC6F152525C790912C2E46A2381A569424AB
+54DF4798BC2D7E7A361E7991641D4B756CE2A7FF4A2848927092C59C2C4B8809
+E13AB84FB6B111E680D7FB9F2FFC2C5C66B0B501E4447C2E46C10E2F6124476F
+A140C404CFE2DC9E0199BF61E035CEB481D438139A9630934E541D261FFD2906
+4CAD99E20655FA746AFB81EDBB5601F5FD6B1D6832A01D585E2C55053F6A7378
+4DAACCAC7608DBDADAAE732D66B3E7F87E79756337C1A961E53A4651BE7C77F4
+038B89C87F650C54A2A90EB7F1D525BB353F33318551EE8D84A6A83C718EA5A4
+B2AC0F7306B1E095819B87015A90CA3ED739B09061782C28CDB36BA4BD5E5308
+5CBB70414E4112193DAC4A1FA30996327230D1E021F3CD8115E12D239D93FFDC
+B645910EB29E40D830E7BAF2DB255FD7C4E776557BB38157917D993EAC245837
+A3B515147043574157B8342D829C7228CCEA843ABC89D1785A9672A5923FC4CD
+2F3FF27E6FCACF84E2D3136CA2C0FD3EF1EE7354CD04C38B5FB874553646ED2D
+CEDF7E362EADD04B18051F20A8FB0DE18E152385B9D05F98A3A7EF177824E246
+455ABE69E2F700EB78185CCFC07E3B4C6FA301112528D977367D30D0D5D59EDE
+FAEB706DDC970A9E296236C725B2B55B09B9C336B8E23CBA5FB8692D56F33B03
+16294E5FC7FAA42E96395A57CE51CA8DDD77442F142E2E576B778373FB31C81C
+16840BB422CA827E30A81829648BDF1CA36700EA32AD888D097C1FE0A05B2D9F
+483AEE40269DF09AF0D1AD3DF80C45DDC59C2A03FBB661C79B87853737C6D352
+67626B657321B16198DBD6DB98A092F17878AE4698121E1006E53D6F9B0A3BE2
+3FB68828EF854A0CDBAA68B37ABCA6AD4A3D809AAF0BAB1697A81FE59C98C472
+1E33CD70A75A22C249DD11D76C2575ED3370A25892A16D2FD569CDA70C130770
+93F493C7D47D6F9A5424A7A542BAD726BFC3AB225DCEBBE6AC4BE006F8C7C0EA
+051424B08305BF2D951AB2986AAFEA04E078CA79B399585BFF0F1ADCED02E15B
+8765EB6BF6A8E4D0901EFF2C3AA104924EAD9637A35D877E0C51A3C37DA78CD4
+8643C8CE6DCDDE3F116A6C2390F948E5371BEB5AD2E87B41C5F01FB5C196C436
+6E256A88D082E3F46E4EFFBF605B2EFF1E9D9AD5EE4DDC323A137CD9451EDEE0
+06F7D82898D71FAF2362C0FCF1F726F97F820305B7CE20728CA08C63575083A7
+84BA28B7DE2B916432475510E274C12FFD1660A717F51DACFDF0A102D85224E0
+D6DB607BB72569ABB8A7BC6A10354CBBC01732EFE35B72062DF269CB25EA3DE6
+DC603B04C90C5912D2C38D7A5ACDCDD3F6F116D884F0D8C528F69D5D47BA20DB
+0A9E585C7D8CC3C324FE8A1DF150279F7E8FB43BDB720E624E5E9918032C02CD
+8020636AE5C38DA2484B7F4B34163E0D0A561B43B80E97746DC05C871AB620EC
+C5D47101ECED4A7E25F291184BEF8B80024AA7BB456C1B83A907652B331DEA34
+754226C39C6889EBEEFDAD081E01EF8FE47751987667836FDE4C8BB8A3FD4406
+1E643B4EA37BD370734D1A2DB17C2F4B74B4ED75098B433601F75A88C9A37A05
+CCB157EF6E32023BFA33973F3E655A4D58289136996FCFA61EEABD70791B6523
+1FF5DE71AB8A17038923118A5EED8D59C4C58D246FFA9BB26472346B40C8741F
+153D19CAFF20DD2A86C6DB89154A630FB1761929FC3F0448EE2F089C1C953E02
+905BA8DE75D101A982A611056C4B237596C10951DD98BAB838B742D3CF7DE718
+617DB72E5268583223E37E029D1C8FD3F1D21690151F76B76C52C725CA135CA2
+8666553E863CE188BFC9B99AF56AC2DB5BFEBEB12FB563D00244EB89E478657A
+98AF2E1223C1ABC25A4500E8119B86EB3C26B8A2F3505A3E5610F89B7C34E278
+53FA0A54A7F46D84A35EFEC36AE660A9E3C37EE3864106702DE5AF6C45ABF64B
+888A4A51323138CE77DB935576FE6B4824B6942DF80625098CE1B5B32B234F1D
+052A9D6039697118A9D793793775D8729D8574A2E74D7109C7B7E23BC5E2E87A
+CA8E019203952A4892544E1AD3D4EDD22971611358AB230E9A2ABDF00A288501
+A01B67C42B33F6B78C39562DB50F4663B922D9BE0D8A150311AE44B83C1F129F
+07337323E9A23211EE58E16043E127C6F9574019179F5635648A011266677B56
+B5D0201A4E1470B952A1579B57AB2329CD4C615395023C653F784D36B5EE3672
+10D191F29EA508CE84763CA4CE7C2C5229E38E241255A5CABCD6C7CBAED901A2
+CA53B5E24111921CDDF83578D33D463D70EDACA0E470D8F592303FB6BFD68B4D
+3F3BE2D7C5EC8BBF10C90111A33E205F2649B56E8443F6FAA6C721C66575AE12
+D4C40F1F46CF9E9DA675AB5D5840D938780CD9E4AD6736ECBEB6A4397613586F
+849B51048AC5F9405E03E14540A5E5582F61CDCDB57EDDF95A8C6705F433EE16
+648F098C03DED8A2AD94AE3DE202D629B9422ABB031318D48F2C85F9DBFA17BE
+84708AA3B6C9F81F4508F7A5CB7B6646AB8722ECF817877B77D473F577556DAA
+2BA0ABACFCF5DEA7498C47328E873019A956FBB250FD9D8885D21D368FA70CBD
+2709D2DA44EE7A9869963EAB48789541906DE49FAE785ECE1F18A22C7E7ED204
+9768896B78E9EB7A2BD6EEC1B26083940656ECD689D92942CC8AF05CBF82AED0
+B45A7DF4DD7AA6526FB597322560B9ED3087A65B5EEF1371C328A021411BFE3B
+D9B5088B2F1AAE381FFED52D2D1E02CD0DA78683E3B06171CBE94BE9760005D7
+135893D7CC2DB097F6AC664D9594CF1C650F84DA80D2EDE04802DBA33CE3DAFE
+EB7A37E8AEFA4FDA6252FF21E8673DD98E67124D5DBC7BACF361E57077B71939
+C1D1FB923E4E35C075CD1BCBE0E80DAEA1320D55B43EAB45D9B26C366B278782
+7519FDC482D98839BF0DF2E7C3A56A1C1A3FC0E57A75CA414F6536C1FE8EB7A0
+4ADFEE3BEDA0F53BE8CF5F64230784A797133E8CD46BCCB3BF38BCE38A73CCE2
+9E073ADE792F7128231DDD1F63E6156ADB2609C200837C2E8A2D93D2A7BC9171
+050C709A71E44E32B1B03C92EB5CF1D3BAB1C38E027DC4ED9AED633D98CD7486
+3F773ACF8AE332631CF2ABE6D606607593FE862ADE31803964E3F4DC3CE3A271
+C76BDD95C87CDB3B87BC26FC7A16D567EEC62E6FF0D471B4853DB8A94D4CACF8
+843824F818083F10E88D52FC4253E8203292CB40F1414AE7E51DD7347007C342
+CD70E8E9F2D2A13D71213B841DDEAAB208AD9EA644591C15DEB084165F9DF24B
+B91D3BBEEC2E34E38EF16A0C3F00700A7BDCBBFED2EC0D09601AD6538288DB50
+3478B051B5E16B604A0341FE621A58718D960D699D3FAD284310DCF54EB13175
+19A75A539EE98E804AEA24689D3540F0F12951A3C01FACCE9A7BAF4D0DAFA946
+FF65A4D2A4C39969607272C6886F44E90ABE27CA3A1F12A29D9B32E60E8E34F0
+17C5FE43D0E69A99A922D98909B2BBCD145E59A5E7F5426B3988F73B09A525F6
+8BD4915663C1301323180E760BE81CB874B020FDA3AE63340E4261E4F3E4949B
+CC0966BDC4426190BE9F5D77F76A72AD925662E5FE1CEF9CCAB68F0BD33DA003
+F11EB91AC4502FBD6AE48DA0F9D07C35B96B103E379B8A83A05FE728F1716194
+1F650F75BEBADB2E3810388F3E2DC7B19F1BA9E32925F2FD9F19F4E8701F3E4E
+4069125D7C401144740691E7A460021A47B1E27997FC1DDABEC5BD0EE0B20194
+2D579C7D6727AA124083242BDA46D8E116E2751C5F298851A62B60AEBE82A929
+9B9F2492BA35690D1EFD16215B8EF14E7A3803B93C28FA41D971B05B6AF3B593
+E74AD1E68A5FCE12A86E63B78BFEA87D3949FD164F12277A4688BE96356791CB
+8671C49365608F3EDECC109321AF92B4C29CAF073DA3A7D73E913D0D83FAC5EB
+BD884D4C686056404DAAAD6F82F94F803FA1FB0DD8908D1DF08FB87A8BB83027
+04DE0CBB1C6FEB6B517FBD7CF065120079E608CE41893C2BC96A347826CCDFD5
+C69E161217F2127A59F1A6F22037641613F191F22D5B4CDCBCC2EE5615623404
+ABA7BE6C5FE475481615B2AC1A2412E54688DD21E44CC9AF5F16E634AFCA389C
+4D740B7B51BB141BFAD1080E7C726C1606A28ED492E6BDE9F800EFACD1513909
+84E98CEB6A0B7A2A6F3E1D1DCC3B2552795E0932673E59ECC56DDD37A1D52BA6
+C3F0E905978AB568941A163F4CE3AAB5C5B16F86016EC47BA6F3F7AAAA77C3B6
+09C8C3ABDB6D514A76ECD37C37AA88B5860630B3406B494F7725975596F84777
+D9CF48686EC9C5DBCC1D78513F591C7C10AB9D153B3D41426B7BF668B0D04503
+56BCB686258462C1DC61095724B9F3312316262FD7C1AEC6E54DE7E5A7BD8EFF
+035299B8FD8A4A7B0F51404F4A760F4D8B4C0FB7A32FA4B2383AB6E9C78FDEDB
+FE6A5788D38A6701B123630C2A6D820A684166FBBC83DB17069494FBD411B333
+CB37E2491C5BD035A33867A6D3A3D420CC31ACF43AA07182CAAE67E40EC63663
+B678F71D4C6E0EC3A0AAF904CD3AA66E0DE5E3CDE049E94249B39A1C06E3CE9A
+F974B2484BB2CDA14282B9511E505B3C89F9C802218AE40D1A7541335C5736DD
+CD565D4B9F4CC78F3A393737EDB4FBD0DA299E21CCFEBA5478EEF013F0552A8B
+0BB11FF46CCDB784E8BDCF730A16363E66572049E42C695886EAB42A9AD9094C
+B635DF4B5B9BD9B9AE8455DFA3EEFC77653190F9A8B1E93B7281C2A21EA7DDA9
+33484745BDF7E3DD63C7AC66C286C9A5A698A5E4D7A91710B7FF943FB23609B6
+4B442F83CB795788FAB5E9CF3F75D5487DA26170E4561C7941C910B088C3B86D
+F844B0F340CF82786A3FCF347048463EBD2006281A816627065DDA6CD4D3AC5E
+2024BC96C7D896381BBB567951E7A1F29D4E95351298B000D29E5F3D0448CB5A
+CFDAE1BADE9403B90371C3A07D208948AFA022A69C519434B6813086ADF518D5
+88E0B92072A44BA1B3EBB630A13B7AB90992E85B6D67361C8D96F3E0D826FF37
+17B67E4B1EB7BADFD98D7F4FD17BECE740ADF13C141EBF0A91CB105DABB32FE0
+55086D56A0D358841D15FD349E6B95512E4EDF4C430216FF85C2ABE995E4B40A
+A6044CC8820AD885C07E052B3F91C2E9A1D163BFFD210F7BE95B923E2500DB50
+2075106DB541C267BD450B25B670CE80BCD068D4DBFF2D82634175B61FBD3BC3
+406131F44C7D6F18D375D1F2270829DDF29DC14DBB58A30AC193245D18DE91F8
+AB88AB548D8138605BB5A50073295534E314366E26665AE70482B890E4101D6B
+60E4F3B37ABCA1346DAAE8FDB8DD9C832EFF3E73BA470E2BACE7B8515CB43388
+C27AF99FF9322175CF8D4947E6B3846AFF5163E972156847F58A66660EC8A3A6
+5FB47C9F637B4CBB4C73B6A080B0CF6FD1E9665E92032540570FFCC747C67C50
+822811AADC404BC7ECD1673E8AA6C3A2F1D82F39430B58C29145E2F1B679C46E
+94EDC711883F1E4EA84117A54757E8895A40401A26E1437B39A2F65CAADD6E02
+D71FA8AF7453668DC613F326A3344F74AD7AC67569AF399385500ABDA5EDD3BA
+343CC5EDD4B558467626850E752B9959FEF1454E53E7A3DCBC2255AD8F6AB4FE
+894455118A61C58840CB68A925ACCAD75CEACE863D806916228F0614191A1CD5
+DC9BAE256018615AA3725834519449B0A88B4F396654E74099C007930ADB1327
+DD119BF799FE3B0B223E1EDA04FE2DA7A1C879143E1C33B6C6344F4BA033AD6F
+8E88C33DEF1977796B454BAB2494C930F492A518E8198C708A75FFEF8C49C324
+A718AB59B889DED521229E741FFE53F98EBE88B0405AD523254FD3FA4BBE96DA
+DA1C27C1C979A0DD4E61C3B1F4C4DE01E42F1C4435EECFC02D97994BC8AF5270
+E7CB1458D76ED0229C5FFB4A23B8716018F9050970895D51722CDE8F2EA3D947
+DFF374D84915D5C5D16463A6FFCD079D1ED416C4347BF831FF0C4ADFB61295DC
+4D5785BB0852BF472CFC97EC174491CAF961AB90629F055E75DAA6D9898E8653
+5BCF379816CAE46FEA62E7BE8E9B953466E51828172C4DBD0E1BBAD1CE28B5B1
+02B3E36403BE80B49A47446A6677FCED438F01D60EB10F478C89528FA337D0D8
+88D3FC123C076507ACDAF783A9A6E24ED73BF24B6E0F11C13E532DE5F70B1491
+307A6D9A2F2BA5099C8A07762E70BDAA74BA5E2BAB260C1352107EB8A96523D9
+4BA3082B99772D585329AB8645C3BBD11D72BA01F95CCF11C6DEBFDAAF7F5C4D
+795F99DAE6A8D59462D759001BBEBB59AB0C322EFE02904D82B424649C2FA593
+0E23281DECC5AA908E54244566055D418602EEDBE78843300158908F77C0AC75
+9562065826D34C38C598D8626BFED7CB672F132E065E2C27932F709935988376
+94901EBAEAEC410E2B36575A71EBB8954C3A90EEC264E6115950FC91D0D54999
+323D8B4FF8129A8EEC3900A00CCB026E6943BE105BF5F504AB332FC17E568681
+F423D1125A596766BE58ADC658888DB39BA74F67CE0E26C392220832FB036E93
+7587E96684BFB78BD035F54AF71B2408241AAF548F996AD440155624B3EDDC79
+2102EE58E1E27EAA0675F1F13297A4CAF514CB319E58D424A820B8F48984987C
+4B8934934BF21E81B529E3B6985C41413566EBBB6B2FFAA82FCF9BC6834B365C
+39F4F5434F5ACF57D96F605DC501BDB14E54C693A33F3A4EB501F760EFA3B5CB
+2A5E5C93E4039D48B1DCA293C3937A276C520D6262C755F5EBC702465871B5F0
+6D51B9CAC1F5595D9F90BC977E173B994E890B0851CAB033F61C5C663B538878
+A5975C4DB8E318ADCEA6242FC9527D1AAD986E5FD862BC4646BFE6FE6CB20C53
+EC8B0CFEC72C3A3AF805507FD44C948622210DCE229A06D0EE96637935E46139
+C3AD3582F785CA7146CEE8F7B883918A65C5E5202D0606DA9630E14F5BF9D50D
+D521344F686ABF6B8355E62FDA17CA6CD1092B2100B2DA58D91B2DEC7500C084
+32F18B37AE2E5EDCD0E961F0444D4909E8AFD188243250122CF718C5D08DC3AB
+AEE8A7E851FBFD13BBFCF23842A4541A6D4918F9C66D48A7E76583B0D10FFD97
+4F21218FE5B92E6E88E359A6A4F00A78FCF74983C9403E6589A8BB294D6CFC1C
+0662F43F754B3E32A068F37D7D371F552619445AC5F260639122D3683B3BF464
+E20201C5313237F230B22E67DEA9183A5242F928F9488B1C7DA854779CC8770C
+FBAAFD55CBBC9A49408580D76C020BA95A39BEB2FC85272E3B7212D7DB333D0D
+04E3EB8D136A1A2A2CFE4A338D2A8D2D33BF411B4009B2E92A2386B678179E2E
+70EF2577A0486E298B2C7BB7DDF8D57B78EC3D057E7A94E0D131B3B2DA035E43
+4035B9DF18C29E0F1C27784BB343E29C3B0A72008C6BF092518E461D38AA6E2E
+242C160C8E4400D441A16F05D8E03E8D5D6F1815E164E6F20E8EF30B5B96B77A
+BAEAABFD348E9EE06CFA3A62A80DC4471AF484B3D2CF9FAFF686E4C83A0D92C3
+6E2531C3752C2897C7879945AA14E8B41A2C639B1BCF8F918D63786C2ABB4D9D
+2E79066668A721797D887C66C4E95B96466B9176A594DE74F22E8CF9F94ADB13
+C03D60E6F66870F19C168FBFD4C4EBD04CF929083E917539678A91DB49A9A354
+2344410DD40D75C6FA323FFAFB59F7AB557E4461CBC4C300BEF7A30F622021E0
+CFDE12AF4BE584DE2156F49A5F4FEF52A2E9F0408A75889CF7BB127C6510230A
+3FB752438613C7F2986776E4059E047E4417C8BCB72F11C55690F9A77DCD9D26
+9A9D788966E684ADEF378730EC34A502FC016500C8C6C6DA74F7154724616619
+5F244C7BFA8275B75DAAABC217EE8E7E8EF4E5985FB49382E8ECB1C647743FDD
+7A68BA6E6401D97A14F85E366F14211301A7AB63479D78EA5A34F2B44A29D505
+2DC692B90FBB90CE7EC41636D2BF18543014CE2E61005CE67F4B94428214F67D
+A4B7A369BB7165AFDD0C55FC982AF2705D4FBD38F7536A22B7272DCDB9BD898A
+8104EDB0C5B64E447FD0470FFA6B6B2561CD26E807FDE2F1F919B0962B8948F1
+191CD320F1E43FDC64179819A95A0815BF691CEDC2FFE095A2EAEF8B93856645
+D245E608488F30A6C3B4C7A00F617EAD71AB2AE8DC6927D21398AFEFA16B4A15
+51CADCEF35759213057F135062104B9D3B06490D12549E21E387C4B15AE0E30C
+F561106C139ABFB97A1AA30EF2EAFABF6F5F52ED8CABF16DC5A7967B67D7A771
+97F1E6684850684DE037CF6CAFA94D26D42E3C084FF075DD8773B83B703664FE
+25FC046A4C986694C7E2243E1B24FE3139114E3B1B3C32FE81E7A01CBD78308E
+D52B981E6C835F8D5A281B2B4172723A6BADCECDC0D64349D04F6367E04C3CBB
+E14056F53F20287A57916C58B67B32115861D6D9ADC0110AD780C2A504D62292
+1003B07F8413827AC3B4A5C2EE101E6B94BBF660389274A06F547EB6FF79992F
+E96369EE878B23E19D785042CB6CE5CA3D3321DB9F5130AD8B86107486DDD54B
+97A3C56E10A051AAE48164EDACFD0AC7C5027FE6F60F8BF488C338479EEC7170
+12C5B22D739B92C24C2F4902A81C15EAB66EB263E124381260093D6E14BA5B7B
+CC978501621ACE9BE296A82922E88FB0AE92736CB1FB7140C30BD2A94552E62E
+464963813620B9787F5F95E12ACBC4D73759E3B708D80F23E21D6D22B965F0AC
+9408A30029445347DEA0976A5A904136EF30F48AD94B913332619EDC2E3C2F52
+05F34E9BF03A5F49A249F957905494517309E9D496CCDE11E5F74E41CB0BD0E2
+0298066B78B7D46BB3B49C21F244D9C730815E6D81C0C40FF9DF4CD72175A4D1
+032C10622954388BED78ECA0C9ABEA54181B7AFC8C0248B0544D51F3A38C0411
+B58603D5BE2AC669710F8D7BE0AFCBB50AC6916150A4D153E711E1A99D147B06
+19C24466C90E3049399B8C11D132820E76789CE71EDA9A98E0175426458F5288
+16D83D737AE6F7055281726731EE28BB6523D93C61CAFC4061A9F86409862001
+DBE1356F75162CF28D40F4C02B25A6A4F7B7E6BB436445A0C9BDB170C8BE8DDA
+F83FF3F583B1B6C142F16E25BA2F7090995C7EBC8194BA14CDC1C5679B05DFD7
+73F058D9B2A5EA7E60770BABF0FCD715C04B5BBA768C3C48BED49B97479AC241
+97D38DABA01B116F21C9886E9D2872A1C0CDE4517A1D6D30B2965CA014737AA5
+CEA6BD181012EF43CCF85868CE17E7BB6C571C61A811E343D8159A7F58D2CAAF
+D64BF588FB8E5E1012A5B4925C1634D46697F9DB01B4ACFE6AC1CEFF25E365C4
+586E160B391C92D5BC37D00FBD9278AFED9F296F1716F386B9D6B59FA47155B5
+85113AE2B63CE15E0FDF74EBBC6C56A8E44815C4351D0E375888FCEC90321051
+A44E2C6303D3D01BF8EA735DE9149D353A04AFEDAA62565D83223FBFCA2FF712
+D5C0A4FB1BD8566E3BCA3621DA5BEB5569B7ED30FCFA1023D51D5475E07F23CC
+BE21F056FF39137EB1E991801648D2DF51BECC7887EFA08C0485A8A3C03FF0E4
+4E8867BFA9EEB49C3DF1B658911124E4BE56C475293D0C83114B975765C06907
+E87B0900FE255BCFEBD3B1B438BD3DC7142BB5DCBC5531273D293BFF1457DEB8
+7D44E3745DDEDBBADBB912FE4D4E538558B1B394D1FF3DE7D967F4C26387877C
+E13517F231E7D6401050B47032296B5E942BC597918AD5AF04F254147AEE1275
+3B523FC27A6C0158DC141F86E00E51041E3F2991A055B1005F8E3C5DBB73AF32
+9D24D27E76BA
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont 
+%%BeginFont: CMR10
+%!PS-AdobeFont-1.0: CMR10 003.002
+%%Title: CMR10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMR10 known{/CMR10 findfont dup/UniqueID known{dup
+/UniqueID get 5000793 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMR10 def
+/FontBBox {-40 -250 1009 750 }readonly def
+/UniqueID 5000793 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR10.) readonly def
+/FullName (CMR10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 0 /Gamma put
+dup 11 /ff put
+dup 12 /fi put
+dup 13 /fl put
+dup 14 /ffi put
+dup 22 /macron put
+dup 24 /cedilla put
+dup 33 /exclam put
+dup 34 /quotedblright put
+dup 36 /dollar put
+dup 37 /percent put
+dup 38 /ampersand put
+dup 39 /quoteright put
+dup 40 /parenleft put
+dup 41 /parenright put
+dup 42 /asterisk put
+dup 43 /plus put
+dup 44 /comma put
+dup 45 /hyphen put
+dup 46 /period put
+dup 47 /slash put
+dup 48 /zero put
+dup 49 /one put
+dup 50 /two put
+dup 51 /three put
+dup 52 /four put
+dup 53 /five put
+dup 54 /six put
+dup 55 /seven put
+dup 56 /eight put
+dup 57 /nine put
+dup 58 /colon put
+dup 59 /semicolon put
+dup 61 /equal put
+dup 63 /question put
+dup 64 /at put
+dup 65 /A put
+dup 66 /B put
+dup 67 /C put
+dup 68 /D put
+dup 69 /E put
+dup 70 /F put
+dup 71 /G put
+dup 72 /H put
+dup 73 /I put
+dup 74 /J put
+dup 75 /K put
+dup 76 /L put
+dup 77 /M put
+dup 78 /N put
+dup 79 /O put
+dup 80 /P put
+dup 81 /Q put
+dup 82 /R put
+dup 83 /S put
+dup 84 /T put
+dup 85 /U put
+dup 86 /V put
+dup 87 /W put
+dup 88 /X put
+dup 89 /Y put
+dup 90 /Z put
+dup 91 /bracketleft put
+dup 92 /quotedblleft put
+dup 93 /bracketright put
+dup 96 /quoteleft put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 106 /j put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 113 /q put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 119 /w put
+dup 120 /x put
+dup 121 /y put
+dup 122 /z put
+dup 123 /endash put
+dup 124 /emdash put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
+0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
+51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
+7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
+E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
+0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
+C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9B8591E5F01442D8
+569672CF86B91C3F79C5DDC97C190EE0082814A5B5A2A5E77C790F087E729079
+24A5AC880DDED58334DD5E8DC6A0B2BD4F04B17334A74BF8FF5D88B7B678A04A
+2255C050CB39A389106B0C672A1912AFA86A49EFD02E61E6509E50EE35E67944
+8FC63D91C3D2794B49A0C2993832BC4CDC8F7BD7575AD61BCDF42E2E421AA93E
+3FF9E4FAD980256D8B377043A07FC75D6169338028692CCA8CD1FE92FD60AD26
+D57B7519B80A8F8DCE9CEE5CDF720AF268D3C14099498A843D76E3B6C0328F24
+D36EFE7F5C4E5B5C612786200C8DE3A41EE5F1FFAF4097653CFCDC8F4FD32E0B
+03EDB3E413283B9EFB0AC33B055617005BC9B0057FD68C52D1B0E67F0C571685
+767F2AA85ADE4E0104A1C777733D5E318A22A9944336E5B98D965E50D31F357A
+8B6EA5A0EA98E1B027CE68C2EDB149EDDD04ED74A1B3D206D471A0C11C11449B
+DE190BBFEBC08C9E1B7513B43DA3134D6B11A2516E6E86B67F68C970A320D05E
+94FEC57FB347606DF89989C33482BD09D011C55AA920319E7B26A205D3D0F004
+22466F09C0482A164CFB27EF6ED2B040ECCC3DCAF345B5A73676F193D43123B7
+72FD6CFC5E37930E61EBD5A6307E4DE70194E6384EC0D79DB6AD86D3B319A31C
+8B0589D0FE28241D8ACE280D0530EE99C80723E560BB72AE9D53F4713181F491
+344B06D3027BA4E9E94D4305BE1D817197C54C8FF56CD6964165F6448ECC8A8A
+64B48B4F0FD69299A137589E2491A283509B21A3A5772F75B7602A9F60AE559B
+07A58436D04222C73EAEA72DE9A5A441F88D27C11F4F91255EFE280E91A4ACAC
+1E98A4E5E6C57B9AE86FD218C3CD8F24A4104156A80F13821384E529783C52C8
+78B94AB3A0096090867ED32E8A30980E737922037F75F062BD83BF4F5929BC51
+CC22AEE2DBBAAA001CFFBFF41D258424FAD888FFF1BEAB796A44E3126159E120
+7E4025C676CF94888A1971AEF8B6764B3AF4A92D36FAF6FC56FD049710EE3782
+BC2CD84FE2473F133BE03C1346B875463F126DCAB15C7A9BCC9A727D23611462
+4E8D2BFD2466600285D79518712B8681ABCD69608E6AA9578F7BD771EC36E01A
+5A17BC17E375020ECA59B43790ABEB9DF5F4FBBEF807E5699EFEAC563E1ACC5D
+EFA336E75DE6D8248E9381BB110884FDC89C2F9A41EBBC9A8A1F98E6A41F68BE
+EE30E25CA148C1EFF42DFF8C214A6537AB11F260B8C329A4947B5FC8DC9C5622
+4DF7BF4FBFB00380D47BABB03BC30627AA74103E553F55278F538EDD8C1E64CE
+0F1398CA0AB5A86630139B4A7E8FC02804CAFF3830114640AE50D2FDA3B561B5
+C63AD7EE3347804CBB40FB1E77A6C89735DD870351C3A1811591AB493251B904
+314F65791963C0412377C1D02362C5E9655F1C3D4803CD379A8EF24C48218C2E
+DF1165840462BF37DDE1B8D5FF09FA2C3B261E2F1A65ECFBE5D4EAD43B52C029
+EEB3948CB8A252CBAF545C8FA1C31E920E23A12DD7222CEF2D2A513BD758EA13
+DA33BF5FBF1D734653EB83DA2D374A5B9A0CE316F24EE375D6DF6BDA49954C2E
+DB25A88821193636119D469BA66E5DAA9C92520FD4F84426A4E54273FA469084
+7517817A6EE3E21176D333825E88046F50B3CF6938AF9BA79A2F51398239EB91
+1A2D07F7FCD948427FF62F40FF95E39FE1A1AA8451411563FD5388472251C155
+69BDE9283B41900B21EB1190D06E6B13B7794FED020D2C1BDD205AE77B084BCE
+EF628249398B496DE85B406FC2E1939EF00DFC84C07E26CF72EC401BAAE756E5
+7F6673216E7560D1C2A723CB405EE5CA474A07F61B81F8836482F73DC9516D67
+CE0CB770EAD755B6B356198B4B97EBB29C63456953270CCC8D5650C1D006E69D
+38DE2DFEAB27DAD50A817F0D645D30AF5B75A7B53CBD3D2B8D87BD0A7E525AF3
+22F7ADDFCE31716914C2318260C2E2B4664893921B68C5A93334A361D94A759C
+0D7B146D6FD94F0442D672BDA0F6432E18F3C5DFA37ADA378D95B75F413C9ED1
+BB5C606A3EC7DFB3F796F59B0478C13FD1900381EFE0BB5242D5B5D34D03AF1D
+4BDC93EAF8020E26CA23C8B0E7DDEBBC6762A557067A4CE05A524188A8F02E2F
+3625DA38DFCF381727887F5646A3995A8A38A5FB1E5D5EBB395FDD0B7C8E71AD
+B48EEDB62AB2CE99D121435EFBBFCEEA69AE9ED8238B60CC7288DE33C766CDFE
+15B767B4AE2E6CE0965E77272AC9F86023DA620548CFAC85BC751C44218A29C9
+849F1C2DCBDFAD895B54E51A569952ED50F82DC8A19F367E7E44643854EFD6B3
+FCAEB04E55E4661C82D31E2932611748480EF61FB2FBFB0CFB940BEA81AFCD84
+4C6A6332D7A600170E38A8EAFCD4F93DC153C43175434C86BC747348FAC61B76
+1FEC9027C1A193E55C80F1F20B5317AA0A05AAA36AE235F6E49F06E570FEE798
+84857D7552EA92EF3EFAD52DE39C2F8F43C59E3A957B7B926FC95FC4B60186DF
+7F3523EE2AB74E294C8C4BCD8B4975E84849E0FBDA6C0B0F24A636DFA578B122
+CF97BC5089E21E9F5298D1C9F30CB8BAFF6A3A11BB4D9A0A5CF2B18D055C44CA
+4FD4D8FE1AF3630907DE7E585AA811F9CD11FB2C8FC791851D651009FA5DF20B
+3C33FD2FF848A9E3F5652BD294965A332DD3F246C91B0ADA34017FF2451D1394
+F9C3C95AAC6EC8062BE98E8914D51DA6A164AD13938693D446044859D03A949D
+F9AC5DF4A000CDA98BB516D762CB9F6D44B5268FD0C26E88BC4A760C0F75A140
+DEBDECA4F511128B7D2805872160C55236F0A0FA7637FF0D4E94AC079CD3C8A7
+D03A5A56F26B0438B577C46011A10532FEBCAD14FBD6032E224F45691A726886
+56F305231EB2FCDF59C8BBFCB5DBD2D093A0E84D62AC93A2312CA69295E937C4
+8DBA1802B85F54B5E7E6D6216A918F911FF705D3B5CF055F1D873B96283A0B53
+59344D910CD396D883F6F7836BA65FAB4393A773A8F6BC298069E5BA38210EED
+49C9D920F718E3FCE692527DC7CCE6963BF744F2C91BC5952564196D60574E86
+87A0FAB21F2DB2BD5A51D7FBD8FC19946D24E5A228462C4772F978E650ADCE3B
+8D66B9C21279C531CA1C3A8ECE3420BB65837287A7222CC3673A2A5F8BBFDB60
+C719CD073EF9A23675198462C7C87B24CC92D6AEE5C25AC63855CC3281494342
+D28F3D2FDE0C183486769A4FD5B0143193D31FCB2C2A14E487BBD96D0BADBB64
+D1B56021C363A795BF10E2DB448261C363A54A4AC1182B470C457AA82DF3F5D1
+F4B329806141EBD53CAE309319B94133D7EBDC2D0453A905ADD207364371E178
+0A95C2686E3B34C4A978BFC0EE968C39ABA00889BC5149162C2B54483D44FD3B
+5CFF41F611C7E03B94945F414560E874D7CF27FFD0630890D7D7EA66CBD15448
+229059E1C436BB33D69552B5367AB5D53591C4678D0C704DD3EA23F5D9E8A7AC
+17D003C19E333E726FFFA2961F33C70F429085F7BFE3E2510F59B78F58B19CB4
+01B48E184BAD9020FECCE3AF52048A056981DAEA02AE78197E65855DDB170616
+F54278395D9EA50DC83761AE759F9CDEF9E1948E7002414FC05286ED793E6662
+3347F2A9AF8917493D7305B92CF93E8E9185F70015F5594084298A6C2F9FD3C0
+689F262AC9FEDC9B89577ECDE92F08D3142209FBCE7B5C0A840CC767BCA56C20
+4E4E545E2BE4D21C53855CEE4CD0AB35D1A604C0FFFF77DBAE4289752276559F
+A05FEE65F45ECAF44E95E23FAB6052195C7948AF0B1126482D4E02D72BF8AB03
+DE0F1A632F7672AD9DDE70EDC82AA993678A82BEAD0BC2649C4707FD8509810D
+364B5C6FE0E10772E95288C622C2F06C634F4DF8C7FD1432BC9310D5F24FEE3F
+7AB324863D6DABAA1576E70643CA79EF4D7DF4105093D66CEE0F3B87D2164A7F
+26EA05F5C4645B22D3E1BFD2219657712C168FD90DE801FB0F32759E80DEC1E1
+43CEEB19FED12D757205043FC98FEC62D6A8D8B97BC083B4A0E985AF7850D6FD
+8716B9957C1C35A0675BC53DF672C425C79F43FDABAEE7D63F092CF271C9A9D7
+C41F40C4189510987887942E60A412B3EEC84C9A6E1AC7D54D528F5604B72C08
+94B7882621A5BF1F325B92FF96B80878CC550D1AE4D8196E41CB1251856609A5
+C4D3BD05A922D0D45E039D9450DEF8490A3E924E41434194910BF60BA1B08BE1
+B41824345627745541A4F1703E956328F6227D11C74946B38CFB096139979E56
+4E723B889B44C6D78673868C89912F8B4F0B4B485F1587A637B630F92E6072D5
+7F3B44EA6FD96BBD4FC28A6C1D90805E3BE3E42A7BC9C880762966C55BC04E01
+204D083AE976FAE6F37C94F27E68F8C0F28D52B17F6C0FD7C9150701FD78F8CE
+B8E8DC9260E3974005EB5CA728171F482D765016C94D4ADFE4A42EF42212BC56
+7E4EEEE8B0D2A7856CD4E44F55C0BAB762F92CB8D64C17022D4BF3A47C12F5E6
+279FC23101FEE93753653CE8CEDC3B75C9CCB29BF1D4554C6120DE8EE750FCBB
+E38B5D915206974962E320362E59B3F21B3AB1875703191043D03284D4467346
+CFF2F98CEB4845B73ED8E003E0DC94251B73E13A9B51A3F1430BCF6A21EB9B7A
+65E17FA411F53BE6432F1506232B8159E008FA257F884A4A01AC53BE91754D78
+BF14A5B0FBFB9C31BF4908355F8A762052968DF526D118708CCB0B7CB5BEE285
+6DAB6CD2E3934178E60BECB11AAB5478623CF6C50C92F8BB5D1A583609028FA7
+B8A53B791BDC9EF76A124F3F7641857E4BEA0837CB36176EC9A522EA7F41B8D3
+63C37D1145367BD300F17B54522A834BBB74DE12BF9EB26ACE6F24A046D58F89
+4D4B7DF74875F1A0C1C9D97BE0849593D7B398EB4B00BEBC8C8D1497B6EF831A
+A35380FFB7F1AFA4D888AA52C9482E8B1755CC209905F98F40D95B44D4DCBCB6
+67423D1BC2F3560FF0A8B4F0CAC352A4EE2C1D946E45AAEC8A6AD40303F3382C
+DF0756BFA3B1ED64C169E56ED1C760F2FF0E24DC5C9F41306EF8D2628153D30A
+5DCB0791126BEFD4947D7EF08301FE015F2B0008DFFCBF9F2D4D859FD43EC7D9
+C5BE237E9BF6665B7B1BEBB362F0C0C3A8D86010B9C97FA741C97C2E0513386C
+9C26C235B14DD2A58BFDAC7B5F63DB4DA6D5D37D0098175A9071590E1DF66A3D
+B8173A047C29D7D35557F06132CC920B5460B8AFC11D23D09A4E45D089F5EB51
+963FA1A6256E359D485107FD143B2BF21FDE9DA5744BC2615E86C31C89470CF0
+D06C6397D9FCCB316EA9989430240759D2C4945D941F159FC02327F34B042BAB
+B5C3A47C78E8C1A6FBCD396B1A51CC4B020B8AD401841EDABACECDB482D6EC5B
+72D2BFEB4556720FADD49D07307C8B22ACB7E310CA4151A85C71EEF70E8D15DE
+B3B00F26E0E166C14647A65ADA228A3D1C89025BE059306565DB1B1EFC37D358
+8C1EB024254AFD049BA977BD4C2C605050E17940A89D0D4C5D963E792320F5DB
+3706682E03D25D9E02487247819551465092CC22B6B56E93F3AB528038FEC3F0
+668F866707A19B0463BE706EC729D2EE1653AAC7E29BD25BFB3241D4792F5152
+ED415B4E7FA92C2EE5A22E27E8B75542C492E56D811C192E95542A6FE0BFE5A5
+69273C2ABED4300D491B92D2AECDD278404CB84B1BB1BD7AFEC858215837D118
+C0E928BE7E07CFEEB51A6D21375B772B8248C994564014015232A0DA4BEA1754
+3274F407FED0837A236371F1A32056240F2015B1E7F4B2CA72C6B58610A66F13
+407CFFBA5E0A2893C1F572D50F51286E9133B5A84239C9493B0574E77D281D01
+11D00683354A000C9700EAFBC1FD104EA19DFCB87470190E7E2CE26E3A6FD0FF
+2620B87B82AC8686B6206B530F17E9348BC7D04B948348802CE53A312443DB87
+4DBBA5313A6A2A8DAB8A1CC9A594FF8C299281C0A261C8CB2226B732FBEEDE40
+2C6ACC74A1A61379E2E1CD5548CD908268A32FA83D8504C442EA0E183ADBF7FF
+9FD09C037AB03516ECCA93FF048235BD11A25DB07F164512A079C5392AC7F889
+CE96AE5C8D9580BCAFCC087C35E76EED1A671E87C12E3045E15A687134736DF8
+DA984772AFD189D68571A2ED7256F1E204230E41D3D9DD876F938951714A3973
+0CA9310489F8E807C1C7A4E51AEA5BC030610A5D7263FF7E0F9FDE3E5E37A362
+5B919000BD94D978583B942EB79CF2BEAC33FEBC9A67272EB10865BA8FB75FD7
+9D280AB59F91B96C16C982DE848D76D8FA8620DFD7C80B7DEAE7264350D6FB3A
+EF04794DA3305844A7CF718F6D1A4A3AFF6826173A076A1372ABFC54ED3AC6C2
+09C9287FC830556CA694E21CA5342ECA7B10C90AFC4783D841D7B1E34FA3DB7A
+2B706F3E21B0FBAB23E7257962FC3BC309CEA2C7239A9D6B44CC96825115ABD2
+AF9A2566D2F3382C01569FBDB94C8D664A5DA0F7DC3DD140CA77C743D7BC1420
+324ECF9E4780280EB119885E96A6C619CE3C0C8E1E264E2DEB137E5DC8149786
+486D65667ECF47B1A1E20E9E6E4FC8323E0BC8E61BDD3BCDFC6575C69C03E31A
+EFFC290472CBBD049DE3F840AEE37A2486034240F80E75D8A79E0762377DF660
+52B12EAA16D678990B11A9BFBC03C1D4FCDA9FD4FFBB3E88352438102F10B7C5
+9F04C013B6575B5E948FAB58EA691984A0E54E6B9F3F505FFFEF74D06FA1CDF3
+4B8A95904C8A2763AA8AF5B71D00F5DE09DC1CDF87A08B6D181453063E14C12D
+B7BB3775A6E2A901636273D9EEB833EA8CF20FD83AE899E28DADE10EEEC20BD7
+BD93085A4B1AC80AC1AE8280C14767F1A487BD066007A0D050317BD081131A14
+6EA0898ED59E46DA7B6254BDCCBC660686E2EDA0E77A705A653733BB5C5497D0
+B130359F866CF293FB6EF0C2AC5BAA2DB0DED045E2DED3A2612D078333260359
+16CF0CCB272D34767EA069E0F0B0D42327A18529D72E890EDA6195C2688438ED
+E9ACDBEED41E81CA8EB5E43C2B09CE266EFCA03F2D7FF57F12B06F9E54FCC6A6
+546676F6FFC5B8B7D3F0982B6FF0D21D949309F0C0B175CC1D0976F8C55C6AED
+6E821C39041E22D91AB30922F2B2EC2746BC7DAB484991542FBC82D87B487507
+559AB466F73EE23C2D3194DC5CE4C9AE66D3164613AC5CBB3DB501B64DA7C91B
+C7ED2EE9027FC0906820B35D4F2CF66C4F9CE4A884B7C07155BCA884ECA5EB3A
+ABB83F84DB1F5639599DC7D3F51241AB5D95C3BCB7AB1EC90B4BC989F74FB354
+04B2D7366A34D335A47B8C00C05CB423482BF6C7970A95545424A08AFF9A035B
+7F83F52B65A9799CE76E303B85664B624C65E9CA58184C7BE2BB9D9C86A4DE5A
+8165EE3DA2E652B5022EE7893896BABD88931DE1D538F615787645DF5ACBBA0B
+A8E5B899A37321AA7D4B283AC9234978C2DD81813A1EE5DB6EC170DAC1B6EF02
+94892635B498765C07A38D2E9DB0B7581B11056C28278F89B0E60998379C07EB
+C0EAEDC32AA69B8B836F92A61AFD35688315B2C3F860632FC13E4BDFB63214BC
+41CC6859EAB3AC3034449213CAB99FA1D216563419CD6D6CE4E1B56F33E6C654
+7AA9DCB5B05FC068DF02AC32408C8010AD004F6CCA9887830927F8CBCD49CDB5
+18CAC1EAFF815FF2F6F527F936948201565003022C6C7390B4E3C2B219FB4F76
+9F12BD25CA7B3B61D1A2F8DFEE795D04D5428B42FB66E0C254AF7B7A10CEF7FD
+E5ADA5E217BE24851180E9A1700FBA66C7D2B0D7BFDE4F4EED1D24B821A40947
+5620363657F6D048E651A689822CF815E72FC8AE9D835BE31D1DD8B54C9A717F
+4DC319B4B59AE073936EA40B070524C7E71D5A7B64436DA107749746B516E29F
+E3BBCB8F8C473E706670E11E5B221716F315FF097CD1841D0069FA69EA1898FF
+9F9EC2518C77806A19730C97F54BEAD604548D553D4A6EDB247853225E24E7E9
+89D71F6BC94DB986467E755CCC99069B313F5745B02B4BB608A39F0A0A732B87
+7EA2DED68219754BF1FBCA350327572D769C962EF9242132D93A5C8E9725D8D3
+AAAEC15ED0F362471AA58488620156F3474FA59CA080EA96FE995D2B3DEEADF3
+3141D157481C66507725ACA5953CBBE1ACEE7E3F02C72C6552D15EB3D612730E
+61A06A43575568DC3CF3844BABF04CA767E2995196097015E0C4F622C4356B6B
+F41DBAFD797A4B9D7AC22332C552043EF98913D0D9B50CA6B7CDAF903BC5C04F
+D20A952BA5CC35B646ACD0A287C956B98C450051AF6AAF79DF37F8954473F8F6
+652BF03AE2AE82B99D820CF93F5FC0BA17EBD7AF90313E70594EB5C354023BFA
+07912408F1757319C7288E99872B907D5AB583B082EEED8AB079C63E38B07D11
+6744856E689A479CB3A8BC081F33CB06755926204981DC0A45B3ACC18F6865BB
+EE2C50DB43B62E3630FC1D9B1FFB3BFFAA6D0A20C0381ADF48E4D916BEE85BA2
+BB40F538F55C11D50F882B73913840B45161262BC8B0012694C3EF26452F9B77
+2CD7C7AD6BFEEAFE31C8A721C2D46AA00C10681BA9970D09F1E10DDC250E2AC3
+9A160EC8C9654FCEB36AC2B586E978D54744FC8A0E963D8EF6E228ADD22D093B
+B889C940206F504F14DD921D909BE06EC9BACBC23EB9E9D137FBC983570FFD2E
+CC5D2EB5D2A4A8604A4AD418B800EDC6B89809E0009760E9470F037FDD15E649
+93E9C8FCD9436AF02447C7F5AC380FBE69D1405189E8DBFDACF0E7DAECFA095F
+E6AE1A2E9ACFC032BA9A5DEDE9DDEE22A88D9A1F1E0FD9BAE2D88FA168386D43
+4B93EFF3AD84A9C05A80462BB3A940B2F7311CF7054F501BDD4F1347213C9327
+5653B73E9D78866901235C66B0C49CBDE3A1BA3A11991E6B8443117745D96020
+38F4A74D9676E4E99291D4420C57ADE4A8D5214D07B14916D83DF15114393048
+FBE0DB83223F609ABE120AB877FEF549B6E2389487BB7ECF1979BCB0785DAD1A
+2916961A1DA60AB491FC90BCD6578571226B4DFD204E75FF18FB5E72DFE8A028
+C66F8576254930567A877DBD22F8372E7BA4F23F9497ED653906F5F67A66A1B2
+51957AEB8D443550161075E5523F3D2AFF386E2640B276C3EC5EDAB74AC0DC94
+7D975D7F5781A652BD13AA7F97ADDBE68847167997ACDD038E74E930D8248F0C
+2CCBC094031C7147BD8D4DD664184695CF8C474845692540FE2B8A72CDF9DB62
+BE05E15A05F59D56E5EDBE7C371BE5CB3B276FC7A03B5942057EC3136591A1B9
+15E504DC497B663A9DD1729EFD1478C233B9317351D000DC0982F061BFF25A3A
+8983E560AE31E321DFB137C77C0AEC704F8DA99024232F26AA6920D58CB17DE3
+C1BC8E20988FBC4705E594569BEFC3F6666785B2FFA49367E3CC695F2A1EB846
+DEB37E120B0F4C0783C0D54655C143C4F74DA0690C6D08D07ED225F361BC0F86
+572D79540730791DCAC15823991FD5DF1AB8F25F84EF40C085B17C9070C59EE6
+31DCE45AFA78440BDE4C69A4D954C2006070A2C310179851F2D39B1B5D3EDBAA
+289570BE80F25D75116BBDA61F002B832F9EF2C32B53258B15A1174225168B28
+EC3324C6EC61E5711811E658A1BA65C8D2D47CEC6071CD88DBCDE9CFD2BC34DF
+1ECD2226AD588B50AF2399D171E99D8086DDE33E24640A767F249797B1B742CC
+F4E95A64E1AF8D88FB128194673CDEFD6A1672DD1D03B6749E729587C0CB7C6D
+13BFC785759F35578D611E924CD89FF87DFBC5C93FA7BE150624825F7D137CBB
+FBFB1238C1A397826B8D1DF0A39EBDABA5F10B37FE8C27568E1C088F279A0E28
+020DFD377694024FA154AB5C06EDC3CAAC3CB5A69297E1079F5C2F351D81614C
+D73ED708907A96F6F8FB0994D3247045E8D41028432E91C7ADB2F22066D6F8D2
+701298CC9FDA7928F99CA135B69808AF6FA1E0A3CCE1BFDE234E9218A565FE28
+96541CB9381E887182873FD7866F5F8415EBE92E51E7FF064D6CEB7BDBEE4DF9
+97633E53488AB11EE93137AA185AA7E4AA043BC73DF1739C92B4D3A8C46BA689
+B9F8FA73BE010D7C4F9007937AD0EE3EE4E3041C72A2C4DB92C6C5433DF33A10
+700F9E891885DAFDA44A00781BD019A9FFFDB6FDF9361520D50AA5037E654C8A
+ACD179511AF61BA10DB29A0535972DDE8B838091B5EC3F6C3408E02B8CBB3FD1
+E213E2C53DB7AB14D465CB0E4FE2A2CAFA20E74BF4601CC23687FA7921CB1B86
+6DB57E04C99BF7F56FED75A052362016840676DE91888490B4A1DFE0C079C88D
+C8C3BD3527F7C006E1403DABB47C3F9174208A379C221931724F06270985BDE6
+A53263227EDB00124C5677613BEA94BA029F9D6F8BD1F7B87C4426210AE554C0
+7BC707199BF6DB673E40D55741CE1F0853504A414099BA8E0BC7F5EBA5392684
+79552A5D4F7C0CD3A6D80B18014008AB011C8C66C74D32AAD748EF30C1AD484D
+B56BFB090C5BB937E81189912665F332911E11E83CCE75A79DEC2838E811D5B7
+DA85AD6ACB7D8A98D15DEC66504CF2131FF06AC9A8A4FBC4CF34EFB8455C231D
+0F73A50052AC8FCFB2B2ACB95033AF04078E9CB99551FBB1C46EE6C413D86C90
+AE8BD7FBDB7BA6E9087658C79C4758E242256C0546DB76A3857BC89F26A4DD9A
+F4A848104BF1ADB2DCDA25C79BBBDB66CE1C1A45C7427FE7CE5BDDA7CB599B4D
+B5D346B15414DC9688A9D00F0372DB98FD33E6164E5D78D6CCEEF0FEA60A7F5A
+9873AA7E2A7F98893AC5A9598B71BD06D13D2766489248190A262E5EAA459888
+6D0A38261697EBFA55180F3D416C2190B36C309202D1619A405764612BAA3506
+7D157F49FA1E0A7F252FCB0B8459A30975E02748AE1A891FD6BB288E0D7C144A
+1D348F1DDD145912678DAE1906796591E35012373AE01E18515F5CC3BB29A629
+F8B28B54376A9E10D0CFB29B81981E66F27B6AF44DDE0A3621B9ADADA9588201
+11A0362FEF840B200C84480177C9E3F0777350BE92707BA916A90AA81160D498
+6417DB6C7E15766EC5C9058CD51879041BDF2D2514B0D6B968CA0A300EE2E30B
+6AE41238D76DF324B0502BF79D58C2DA1FF7E384891182AA59918DC8EDF92299
+BA162134FC3DADB6FA5CEABB94D1CA9BE1635F769EAA88377AD96510A4DA8F8C
+5319E0C06CDBDA1BA9845302F716DECFF7B965BE413A7BCFF3C4EADC91626070
+9A5776EC64C67DDBDBBC66F16962306631D70E62616DE4997ECFE39DC6BC9A75
+D2297C2159066195F43B7002138456AE7EF69220925877C87405D06144D250E3
+55EEF1575DE8564BF98E2ED403591F2EA4F6AD71A126A9B1F5D350819058FE4A
+949B8C3A7907A725B463B752EB3B44B090C731EBB86FAFE24340D1A89D3FC0A6
+B89E64C3FA480C91DFCCE4922C000B0533A052FB9305EA3B58A38A3AC2688715
+A7C7418637C393439725F0509B3B08E07DE5E0350A005E4C5DB815CD317EDACF
+6460DADCF9281BC6523DC8FFFFE18CFFB2EC61884E7B324806851A91F7E0336C
+F86AF2C88F1EA1EAF0F87013AFC7DAB6F6BE426D92A406437E38C75614AAC461
+4EDBD8F129D985A1385B0F9F1A4E6D9936FEC600F4E431C653DFD1D56F694471
+FABDCEC7BAAA0C266D35D7380AEE587F61DA5CD1229D99F82BFA7B1A45A165FB
+658A4E7A741E11931D6E5C1358CF76056CC0DCF4B623C2A8CCED91694E46661F
+BCBA0225541BA9A58EA1F2E2B2402299EF2B691C39A87AB3D5C722DB2738EDC6
+8ADEB09750D714286EB392D198A55784AD908470517724B92849D539ACAE89E7
+A8E37CF20CA87635FF92F1140DDBAA76CD52BFC0B40FBFCA768F837D0AFBC7E9
+BBC89422CBD6429B284F67AD2DF917AF69346A5BFE8DA3DA8F9597C2265F3BC5
+A90CCE79572DB45176AED6E1A5FBADC98816F0E29BF58DBCEF62EF76A8D8C845
+4C7E9AB94A0EA43D2FA271BEA800890613D8247171938596CE4948BCBC7960AD
+5B2BA3E0A4384749A7D88F3DD515CC1DA7292EE9775B67F621E156020419D0D2
+1A6AF5B51E64D3EA7D182AA65AD1F663FB28739B86F9EE5880A5A96C3AE1C563
+7A002FD0ECE3AEE80AF18A0FBCA3EDD496C18C8974E856BA39226C382CF8541F
+F7E2C35B3CEB1DEE3BA8F346199944BE2F350E4C3DC89D789250C3C5192236AC
+513D1A3058230470BBA11E0B39141F48065B808B6FC459A897C304B749B5A656
+38B55950D6F379A535CE2816498DE36D03747FD07514C2DA1764217BF2DE17BF
+C8FB2F06382136D301953DC42EA0B429489275571F6B86AAF496E6A2EB196547
+B76BD6DFF6054DAFC9CDC11FBC541426DF0351ED027FE76128411F6F62DAD159
+C116B43AC59C885B3308B158EB74405541F2BD247BEED5D3B35554EABCC133F1
+B71EA3C7C7876661EEDC141818A3E8A9C519E7054E26DC023320A0166FED1C19
+DB1C3044D23E5BA7F039D86ACFBCB5F881A6FF9135E1F5DCF910A873E6F7DF8F
+11372C039D09A875DDACA3FFADB73504C1749932C3792CA80D78979CE0269AD7
+47CBE7CA39E26FCE1E71DB711D176644423FB964CF8CCDF16FBB686877B1B99B
+FC570BBEE55DC7F2AED8E81FF38DFD61322F1FB69E5CD6EEB8135128A35FC23A
+5ADD95D4F873B2EFD14A1FF76CD20454BD3BD2752C9A5F0C21F1E5F39C5865C6
+D4874580E6224B22FAB9240E0346C843AF0C495E7FD5B3310D90A6308D47E882
+EAF80772C87D3F7FB9DDA52F253FE4E3D1E56EBFCBDB9BB9A977DC7E9772428C
+47EDCE4D4F793F4DB9C66E65827109E83723E50424A87B36D6E74DD05B327128
+E407252F937ABE315B18312C8BE965E84ED9C895D275A331EBA6E872DBCEE1BB
+C6254960940B95F46CAB4F8469E7412F546E62683AA356366F454308367A789E
+B1E6F3A07B87829111DD17856727E948E0FAECA4EB00192F125C2331011AABA8
+F4067FD01D56853FA445ADEAE5901242DF460ED8AEF939332F87D81DBE9A30A4
+18884AFF8A7F00530BC7DDD3A1E6C40549BE3E567B225E7C8844F0AF3E19A4A7
+E61F818A5F1BC836012FBB9AC4A5AE737FFA908EBFC88B2EAA62877B05B1B1BB
+65062420B89BC4C3C4B7CFAD1148C6A373F26ABA9A8DDC74DBFE47937035DB49
+20F0B8E788C0AD02381732BEB2B9587D6B50E6F7B4E9DAD171B8C64B60A04776
+F70BDD9C6C8831AE39561701FB54D68810E4C3249C32E4D39BB40C500C8A735D
+F316A68985E3A0338D8CF730881326E2B76D75BD2566D7387C0DD8C5724592D5
+1FEE9798B269DE09387D3A1EDAB20063BA852726BC7EF07CED98E2DD1957F94F
+7E336F6047A935E128444DA8F525FF1E458ADBCB1B6D910B68955DCC59512591
+2F1228007F9524A0AA6113FC6805AC4ED806D5CE6E03AC9EB6830EA9A7AE975D
+99A4FDA50B92FB6977BCE8BCBE2D8EA44BCE9B39718584A452205C4349561CBC
+7B1E281C058D0BE636CDDE883E1C1AE3802A35C5426443AEB6FF705EC26AF94A
+2A7BC536F373C0EBAB41C780E56F5BD1CA645DCED5090CF32D4F0E5A780651A0
+477CB27558B2D0E2AE3D0A02565EE38D5F437D01308A6BEF55E80422F5B5B56F
+6DD11ED717B034083F9BB1536D76E321255A137E618B398875B5BB8F5AF02B6E
+B4DFFB173C424B23EEE6F3691E7325C5DC14FEDE542FB77989928AE09A64EC5E
+357E02F1D8B438DEBAD3427561B2B877A28A76015B94080357EF9084F6F15591
+B27312E428EFBE528E3D90A2928D240CA8DF763A7C732C6E2D5E3E996E1EE2CD
+FEE065664CB8B943E0E433A343CAD1EDD3BEE13661AA647DE922F9FA1383113A
+E412AC84CDFAA4345C5D3587370EBC27A1061109AE85E7EF6E61603FEA774CA3
+111D26590E342F6FAF278FDA35CF5D5108245E2202D321C6E1F382178EE02921
+7CFAF21F97718B5BC7FFB288C223247C65FA99ACBE3F82DCC70B121FBAFD6EFE
+205D0DB1540021738B11FE9DE0C13154756B11F4442B33B9CA010A45FD0A5197
+842063CCF8ED3C4BFE65EE2AC1B4BB1203465136C3E267DB0DE392A1F78A8704
+DDA3E37B72C7ABFAC9692530E843D0E99AF828F6363AEA35EAA2B26D873BEC2D
+EA28ADBF900DF3483525A99DB7F1B17970D1E669EF07232FB165F57EF5730F89
+603782D7C655CC3AE39CE979793AFA8A640A6C39A5B79EE9D3CCD380F92D0D74
+339409FB292BD1E924D1135B54C5A6293CF743CD750BF49BA1FB45CA15B050CF
+ED1436639330D76C232AA3A8913334E3485C9ECCF9A00D4D3548D47355B8F9AF
+BD822DCF83EBB0B66F998C19FF8F918A1A95B2A055F10651C44634B2F4070546
+3B9D583F001C76A502158C649398A7B4C060DF69BFB6291AA71BDDBBD09B560F
+F43A19CA1ED8CE79E6E236E41E88D95553E80724CB0CC530CEB757BE8BE6EBBD
+BA610CBFE66433523B97E74DDDA709A1B4057AD003ABF86930095C53E25BE047
+763FD2F81C4F275CF47A8357811A93BDC41F8FAB1574FBBC54204F9D49D51F13
+06DF8590723082F0DACD81E8A96C131FD30F7A32C1615351598AD13E0D406CBB
+656F0E8F78EAA512EB38C70FCD72CB1B083012229177D069F02812687814CFD7
+8E10240C478F92B8272504EE27591D9B1A71145F476503633E76D78BC37CE5AD
+08DED03D4646B351BAFB9276116F0099A7B23C8488F85A18D7827EAED99714DF
+38405C453504B3186C0AE7B8BBDCA92276195F1C8AB164137903FBDC88FC7874
+0368C38054FA0A6112F367514A0623BBF0EE7D018B3840EC8723B55BE395267E
+83C03C099266A00AD498C022B8DF65AE6F6B7E19890F8085800FB98B76BDD6CB
+317FB1DB911B78650C1B2D39B53054726D2DA8951A1E919E39D9D2210AA03398
+6441B11D8EF9E0705E1E8E8AB3465EC35C250FF888C438FF5CA4F09D5879D9E8
+FB4E0562CB484535B875FD7C4A32D93B92A3EE1EE97B425756F3B9D15C319203
+0FB57A22611436ABA6520EB58FCD4502F8F7E36645B5766D7FB8B77297F69E00
+67FD6727CBDF253DE04FA4E06632EB3BC4780984D497D4407011356DD73E091C
+0628AC7D02E09219DC40FCECB53FBAD50B6B898E27EE86F10C70F488884BBB3E
+AD868496E31BF004F92F26ADFC99B9E2648D1298A2379870E607D2F4CA9108F1
+4921F05732B04C161C40E5CABA049745D3758DA36BEA172F9EBBD8E135FB6568
+8E8CCFF0E2A525E023D0D27E32F519062285028570848F234F6CBB3F24D20410
+8FAEAE2E200FB7E5AE3F6B0D46C6A87E0AB7FEA838E74BF8499B1095D84ECEC2
+05A6E17F275F769D81CAC70109B7D7C00F906091946BA0E3351B5EE44B367FFC
+37612859B3F0422C28B85F4DF3ABF31DD81A7E90C1C44C171CC72784E7A7ED8C
+E7507A32D8F898AFD29472A02AB080F4119096AE71BBEE8EA34C0948D77A8755
+B432D0E5339EF117BB3C48F3EA7E6D8C06F774FC681AC3F77AB3A0CBC1DD2EF7
+FC3283633F7699DA11EF33D78A6FC26C43460EB01395BE4CF0677CEC9BC85EFE
+BAF91DE4C40EDD6DBD115CB63BD37F161F378EB69D830749D1C66AB6FBEC29C2
+74FF74D2EAD999EC6DC2D9F3828BC2C6400018BA1A157C6B3945F5898A06E0B2
+FF842800278706AFAA28D62E99DE63E4F5E440012771520087A56050D3EB1E9C
+EEEF18007212E644A15AC620BB5C2F15C4DE9B2F5793A831282A58149C77827B
+9BA9A06CCE0D38F8DA35149A6BAF400A7FE6EE1551AFF5C5F261B36386047A87
+465180B918C1F5BC22E8F66DD1504C33005A1C55F8F644C13DDFB8A6313CADEA
+ADAE85AA13C5108E79BEA8DC328A21A662677BEEAF9919A86ECD2D6FF208894F
+DCDB0A80511212F7DBB0EE559F2D3A2BA167352E2AC902F97F63BD731FA6679B
+009BB4CA99A8FE828163D2BE053128E0AA63D515BB053D04D1F91C587ED088E3
+2E83F0E915F6B4CC373AE6D77DDB94E3E1DD14FECD8644D1E74434A4287C6097
+FF55F7995BEF3353EBA6399A94DF57DDB5BCBF4A13C896FA805EA26A323FD08F
+7CD197056A467F055943B84F4D43FA395A9A464D9CA86608B2C0E0F41CAA83B2
+84C9A629A011589582BC3C9B5A054DE8BD7CA8B63C1C4A12EB3463D183D73B8D
+F0279F68A57DA70311E0E757829FE73534D39D3B7E40FC9827476A7109C8F4D8
+2ABFD6477628130FE10D765A387E66C31031A5BBEAA6CAE58F8DE0255582A5E9
+16863CB6E924D7A8AD2F9D308FE17E1C074030E4317568E5D1C26051FE10E8DC
+8181200DBF1313DE80333AE64C8994349DA884425A5D2A01C882F09DE4A3C466
+670B6E0F6EDAE602F68B1E2CB9F405E8C042A06BAA620D3E3C4BC98C63B6627A
+1E2495D4CCDCA65853834254EF4B667755AAF7BB2875FFE9CE7D0B09C45FCEC2
+E0E7AB1F99827FA4FDAE6D408DB27AA82A76F6A336359C43C5B3ED4E961B69F0
+84C0183560E89B1FAE563468EABF9AB2DF8FFBE166DB6784F08244C04BC5660A
+85C11B78653090CE7364E49822F1B758596016ADACBF8D0662E4E1AE337DD206
+37C60CC74531771B9C619450D20E6DAF20E51C7EAEDF5366E1860CC3444DEA45
+2F04847F4763E2B59E3906DBBE8CC7B4B54913F057A276B75F133A90EA44D26D
+DC70ECCBCF6EAE5FB97F597E7CC20E5FCA2A3DA03B7A4EDFC3FE5999251D6991
+B29EA90B5AA0499FBF9107015C3EAC9345D036E87A28C5BC9C98B1A7705FDB46
+94D1539026C9F017D55C04AB2CC2773BF469C0B8FB426EF7AD9CF91FEEEAFE04
+15F0FC377BE888DEADB24F279D51D2D75730EF7C23497F6533B2F491918B16ED
+868CECBB1E36D88B41E3A927A0DB84C2C2C6D602B544D150FB0A6F147B524D7D
+B5AFB10D129BE506580ECA4840099CC9764620DACC6285F22BFF71E47CC3548D
+24C9030D609AAEFE5F2C886B00039EA620703716580958C5CC8F2B9619D26110
+80853AF5D60D4A2BCC32855645A600AF1513440CB7F41985F9375DFD8004F137
+43B2383358CDDB2E3AE291B415F0C8D4F478D0072B8451F7F5A1EFBF4708B58E
+14F3FE9C7652F70277052E7D4993BF6F484D8F7A9CC377B159AD7C39539C3B1C
+F5A27B5B9E2A2C4DB14DF833F2BD3B9DE2D4644700B09CEE1D154FC7F8EB0344
+BBC82800464A66F19E2CD7D958A0E8E2AEE4E724B21717C523C0EF4849AA3341
+1DFEA88193C2295A7632D7354D7DC8EF0FD5AF6AFF2C46E266EA079DD01A7354
+C846AAAAF73CFC3ED75683D89545216207BBC42BAD3DCD229E16975DD8EA29D1
+F46F82E389DBDBD89681AE70DD1921AE2B56DF792F02897A57341B7F60844181
+FBD622195AA33C751E993E68AFC3C7EBB8A577ACFBBA22E7191AFF0AE74B34EE
+8BF32DE9BE878E036158838349DB8ECBF43DB2D3DFCE17B94D5CACC0C076493C
+5DA32F8FD0EE551EC9419F958057E81C126EE5F94CFC84F9F252007313E28A56
+BE8B1B3C5BF3EF847F6CF1CB52887083F993366CFEA26E15B65EB7E6EC139B53
+BD2891333153BABC634A415A0F28F84647DF9FC59BA11C12082D37E18F2052DA
+421ED56B3DDC0E546E7319FD2F6A8866D5024C68CA041E0B15D6616A38EC6BC1
+0F8639FFE896250D019CA98C44CB5FBA0ABD2734AFC6C8B024AE398B62108FB1
+A1DB6F27CD6299CD01CCD04299FB484343DA05055575CD13B89A9D72DE184365
+14A14004900F38C4823FD98872C753D052E5DC20D00173DABDB21B039A6F402B
+B4A84C411E3A3BE7B93EA184062A14FE738583C3AF736FA0DBB515F66E6C1D87
+F9F76B9403E5AF7FFC1C0C5720F496C600CC5B6E47CA6FED3E85624455773A24
+3EAEB8648670A7F563947A5050F75A71E594CBC3F5BA070F92430ECAFF40639D
+E17D954DEA340A2D2BCFA891EE800A4C0E0213D1B9BE739E2FEF0CB9AE53FA85
+40C1C891ECC1CB8C9AC9557F97784F2392C346FB5843F497F8C48AC7A4967E2F
+059A18521563BC50194E80026C69504381A25F7DA6404DCE1586989E85F60049
+B25AD1F37F65A0B3540950460FF521CCC2E3533936E4A38F66095C6055905F02
+AC3B101F0A2295DB619C3703C88E1E39C53F042336AF50D325DDFB6023270475
+EAB88D132676B1588F3D132662FD957664A5197B3E3CE47EDAEBB51F8D53B8F3
+8259406D0D42D59795D52BAEAF29D61C1DA78B0DBFDBD60A5535B921CBF6F34F
+5109C1D611878EEE10CE9665CC4C0B224CDC24CC2A2621A8FC107FD0743E1F4C
+C6CDFB80DFA908D7BB5CAA76F42C384D45F9DA9A97BC581F0EEA7F4E1B46200D
+7EB5B5E4746D3279C6236B533B26F1A0FC330462FC1146061477B6563F3DF60B
+1508BC71D89B060651DCD30FCC9D2CB22415B1517C52AB07F8E8AF75790FCA48
+8E16B71E8FD9808C4FA5C19EBC9620CCD1F59EEF1FA42CDCEC0D2BDABD615167
+6D7D6615A275CB9822FDD63488CD63EC1ED369E5B6063FC4987964AED2ED2F1D
+46C9B0657A808F52DC190811E6F478786154053F618086B0BA9FC2CDF5BA1037
+BF0E0E4A6CE355647B53506D1EEE685D258312573F7A2A3D2D8CCF5FD360FC2E
+3FCB1478CE4653F86D22705C9FAE55E17DE1F53838842437F4652FC3F2D18D3C
+CC5957F262ACDBE7A3582999C261D8A52AB2DF6366516F4FF8575832EA6FA961
+1629D8E6E810CD8F61853C96F7FF6810C3B7D7E9C4313A53ACEBAE1F2FE2B430
+80A5D69E9B3D73BF6004214CCC888D5F7C7723B24229EFA9388AF82C43D7EC91
+0F484A8A9954777D4E51E3EF82F437C61E6DADA3B395A6224223DD001E4C5C04
+DD0229A2B37F520188243BC3819714E941B68B884DD348986DFB85E04DA661B0
+30AF0CD77157692C18AD2843133FB0806F8677B5D995B39891DBD1F3F4AECADA
+D0A5D9A942B2C6280830778F118C32B2656A99057B6BBD51DC7F3731C93C55D7
+D5420D9F7A8E19A816FE5EC93C392AC45E62157D83727A0FBDA169224B6F62B9
+B98B891EC125A100FDF555AEDD017258959904B4ACED337898C8CCF9654DF0A2
+4DC7E7AEAD13445F7BD3582BF32ED876F5D5A2FDA8A61B9BC215FA40FB9E68A2
+A06A372C40ACAFF18FEE295EB9A32E19326EABAA58BBB190A49B14FB6E8F24E6
+85E1A78E5B774D6B846087EBD836E80328929DBC1E8C6B9429CAA367183A600B
+AF5639DD8FF8AC8F89E4C5BB5A1BA38CDB0635919B5BE363493215CDA30E78B9
+A4DB4CF8CF165D60E8AC8267CEF3AB50F3E0ADB5FAEB49EA241266E1AC4B298B
+CF4F668BE1FEC859E5E0A5E13406703935FEE53CFA2B3CBB96A08D24939D4FF1
+2CE5E61986BC7FDAA1CB9A2C5C03BC92363261630B5927ADED9459168ECB0142
+C7EAE829A96F2CCF20C34514D726CACB427337EA768967B0FEFD5E1D49D94F70
+391CE8D80C06EEA5BA0FCB99DCE1E852516E770E4037F9E112B6640A21389681
+B6840D788CEF1BECFA06FC60DADF7EBEE3A61351C068D7B1DAE208A61C0B6EA0
+D749EB0619C2A0613099778E03B9CAF084725EC5EAE83EDE2FAC1C6481ABF830
+FF231C0441FC1253AA80447A6F84596F1A4A2D5AF05EA204C7AA7F9E374045FD
+A466DB3714F820DB9F31243854ADDDEA5681853C730A7C01D33147397B40A6C1
+E6E743751868B334B51FC30B0FE61327F16ACE5086BCF9111541DDD1AC385C7F
+BCBFC371F6244CBE8FF2CB0158F7F5113027C53965C2509DBC0BD8F3DC894CFF
+799BBE6D1FE7897C030050905DAF77474C037E10D522FE0F8658E354ECB0C898
+08A3A99FEE411B4AAFE78F0F57CDF92C6EA92C3AFB498774961F6B7D313B85C2
+3AE7B50624A1603BD75FD125378C101683B58070524999B6923BCA0FB198DB24
+FFDA7E25B98EA1D728B46CA48DAD8D7F3E54C34E5887E84532F54446E34FFD1D
+DA7767C5783FBC770370E63BA9CD75403442CF8F3793F2DD35F2F597BD5012BE
+EC588F9A90394DBD9E473B3B352D3454EB5AB59ED0D88B7A9BC6D5A56569FBD5
+4C4EEFD57F90DD6F9FDCDC71252162FE1780F2F844ED548F3B67889FA80BE146
+EC242C8CC38B7C9402E399A3C1917CA5B674CBF4D3733B84B19414E8580F611D
+7699AF68BF510C44C902F5E15D37EB08032876B5613C1F2902E3C38FBC7F730C
+8712D0F8ED7EE4B84961EE8DE2CDDABAF9A84047C8CB465F63050CA207243167
+2A095C50E6726C23F1A1A6A19C7BA290E1E2206BA3DC8081FCEC101D1577B6AE
+44C6E4000F30F0FBDCF30A006422B5ED14430D8B19673B09AB0A99B2FCFB6ED0
+434567F5CF9762EA16B670AC6DE5BA2EBB85033C0B589F958D8D2CCE58BDA9B5
+8593F3338248FA6CB9626F5FA0A616EEC4EA17ADA631E5695684ECAB3F158010
+1A6E0669AFBB8FCC2DE4DE584CEBD628F2FE4F0A63C6F9D3761ABFA5422D9E52
+52B0415061E5FA33D177A6DB1BB60A055851BB5C816C9D96CBD79836E41BE39C
+3B22B8C62F58AA682C504830F03AEA815E3BA843847315663249E8EA64C98BEA
+77BD7D9D93C766CFA4BC55191A425195EE93D1AF5F4E9F641C4CEECCFB9AA802
+F3002A2924F449D3AA1F0CDF0D04D9ABA7F5CD147CB12094A8537FC163CE077D
+FB23932D21C0901E30979F787CE710381F9FFEFDA0ECEB83E028151002F25C66
+D91B562241A8DEE2A00710E12330EB9860CA2F755C787FF7DD9BA13B0A41CC20
+97EFFB9F6DDCFA66440A17DA0A7304ECBDEB4D9D48B50C9E3D3C49A7EFE978CD
+DF19AABCB677BDC51FD2D04EA4AF8EDC55FBA5F16EE4DFBD4452E8E112B48E2A
+CD49D239B75DDB31A8E9C2F8D003C7ED3DD5439BB519E203FDAF695784DE630E
+0575E02748AE1A891FED4F3D1F3F7B0F7F007FACFDEFC770C1528D18ACDB368B
+4F4F217AA9876CE17DD60922E1A98398552F46E3D68E38113D3E010C47A2B7B3
+5FAF3401D9F587DEB0414776616B4FFD46B7FC051775E37A725067AA73FC30C6
+DC0A27C7A56F8BA98231E1AC23D217CDDB2F7E4549A44EA81884CA170BD68494
+C1F4518226752F4FF9B883C2D199DA8F47887371EC763324DD6B492BE6EF70EC
+39E7123229EBB651B7C1134B6E765D7D2429D0A4D5DB51663E47750044CEB600
+5E3652CC53924A653CB4FF4C05DE04D493C3EADA761B9DB33688671E5AE8F313
+5444C6A30725E18B1F8AF77C3F23B71B61A5C60D5B78E07B2091AD5CDA3C38E4
+18AD64948F07339D63036708E2DD8BCC03F04945781096F0A96CCC5921C33F2F
+703EE3AFB3BA3644F9C838F085B92A1F0833A066905169CB67D6BB3FB27001E7
+E1049DDB57608F68754F96962C8BA0BF03C1A25B485E98A83E4DA0EEE3BA19F3
+1672B8B36FD0CE703CB319ED5E34D239428B97443C004778BFDB785598391A67
+BC159176BB6F1E1592847C48085D09564C0E27B94D771A5E6CCE891740BAE013
+732FBA5953AEE5069C3E74F472BC066A958995FE530AA346BB6DF61797F29F7B
+61E938E90DCE5CA357DA08399871878EC6FA5CDF0DB586CF9A833ECD0C5714C4
+9D1BE94CB55B596B1F65C787ADB3F2C8DDD4A534C1D9422ECD8C8E1180E2C404
+778CC8D87D6D7FB4AA832D5CF7060DD99B0B71E1C3FF9D06688D9ACAC2660B29
+1D548DCB491301417B58916683C738953FE1C7DA85A4F8A2A6CBD9C58AB60652
+CB5B21C3428CD2942576B443C4C0A2C36D4F0538B7363CA261DC17A02782ED6E
+B7E2DC73C347159F3B70CFD21506D3D77335C017E01E2E5B91B2249F452C4594
+11592553D8DA96DE797081AAACCD6C53F2E8B60C2D98B598F02806BB4088FB51
+B36EF560834006BDABCD60A3BF338832B40B3B1E6D5BAC6A9EF740D36CAF5FA3
+54626A4832FC635A98762C63203F5E7D989306313FD31F8BD01EC7D5D9C7EC39
+3F04010FD2BD594C4081AAEFB80A9F9CA66F3375B5C3CCF180091FD5930F743F
+60A54ABBCCB8A8A6FEB54EC9B3C58AB042B52E0348220E47B2CAE34EC35FC475
+C5E14FE46F0EBCF44B408A7EFB21B97E5058E8A601565B3A5078F7550029C335
+F7671CA9123AD906312E937A18CD6EBA53E4EFBF03319D907129451FF13A8797
+5F0FD82E13D4AE702F319B65C08C3A606682DA5E14EE113A67AEA52FE92A7D28
+A0C175462DBFB92C1A05C2E460C9CA64C1A3D2D9B5013F4D5055D3022A1FEFD8
+E0F32FD945D8523BA661EF34AFEB5E4A6D6B784C93B89616DEB73A2C7775A90C
+CD8F55F53FEE3CAF13FF056222526AF8BB9DBAEE98D32E12949D7AE76787CB35
+0BD09A61E69494080E4063A09D83939EE93711E25BE00B5D3BC7A20B027278E7
+E6A551E247D95BAD5D9ACE7453ED12AA4DA4D8CD134C2AA31DE0401A452CA598
+DC6E97146BE861053B7AAC2B9D92F13F3BD639F5A3092113ECE3542CDE24A317
+92347E1DD05411C936512C9AC55AAA17C61E67705F4A5990B719FF29C01A4728
+C0020DA5E4415AD8DF313E01414E551BE350A12F1FB379641E024848506C7D78
+0C6A8DD50F89A039B9A20A2AD47FCEC5A84EB6769A71B76D450B1866D7A52B5A
+F715E5EE9D493EAD68A7F36A52F3200A53FB9B67FF13037BD1D62851FC5C4801
+8C77FB7751B5822DB340CF5659703B11BA40D1B2E85A9ACA88D811CB13B089F6
+C04D0C18BE2260230E56E23410B0ABA9BD8B7CED5F56FF69D5EB4CCAA08D9EA6
+30BE9AE2EFE5AD1CBD0D7232DE5EB88339DD2793FF76B84D749DADF90D6D41E0
+BD224AC8905BB88E69925BC35C70B1320652F0D40A01B48E75F840E9869F0A8F
+28E93ACE7F49AF66E1F257C77A72CD8C958C45078D48533DD61C33824C159D08
+26400F27FEFFEE3D8CBF0F9B53C85A71F054BEF06C887B72FB607DB0701E7329
+5B99E8BFACE6E01DB9D784E66E8ADA6E5BC90BDBA2B9299D0B1B99FC18D80A7B
+550835DC047CD7778ED3EDBB52A2658BC3C64B3743B0739DF089937124F25A5E
+24838316F39FDFDD482E6E588FF16EF3046EE96BDBD1DFCACFE080D29C8597F1
+74A82C78B4C0A8247D7FAC2E41FA95032B549111B605C998832E5E3D5AA3A13C
+36588FF89830786D5751E95D1F0384AD08245C2527074D816B85DADE28C0617A
+6CB3ADEC5135BFDA174E1D9C33A341816FF9A0D292337ECF9B8CA010351513F8
+54D848F7B26D2020D85FE091FFD8AC25C5B3D702BE6C45698A872FD313C9091D
+93C9B5CD6CB9E7E4A44748D6EFDBBE6550E17478E769717588C79DFC79E8D409
+5EF2874B1C7256184753072B5F83095E734CE3FC224E958321BF3D874023D7FB
+B3F4DAA307E437355AD1C9D61FC13FB14C6DBB62AA20A7B0405BAD7518464467
+3D7AD54A37626C0A3654641371DCA46A9FE1B584B55B79B3A83263146952D072
+7335BF426146EC1A0EDFADEAA034A82322CBA72B8776AFE4460A90C559A3D243
+53CCCB26444F4FDF77CEF201A9D7A422BBBA2BB69FF2949AE4B6F4F4DB332B22
+16CCA517F87AFFE5B13DDD0BC25255E6A54EFED5E8B25CF1A74CE1C2F4030DD6
+697FCF9F6FF7E7BAEB9F6A5D130266EBF0B9A68AD95EB3FBC97F1F26859BC5CD
+504CF6617A68366A7BDB2824167C801D7EEF470B1993F73315F757D5C2E0291D
+5EF24CABF17595729DDBAD893EF5E6A5A59CDFBDB3584C86F98897017095E06E
+ABA2A7999D1538EB39AA03C856AA79EAF545F3321158DA47691639D9761C7075
+9FE9C4A8F5349C35FAEF9DDB9069EE2E7E37D28E9A61345ECADB8005B9D12743
+E3F77A2F8105152F711A14B2B632E62C3F7236AEE5D2ACD15F55E1551098AA27
+A141370CA486620A1217DF015295689E9833253EB4E025F79BA7EC3DFC434F1C
+020FB7B9B95E8318120185464B92F9EBE220E0CF738F673A874F744AA5EA9ABB
+B7F9FBCAEACEB5CF55E7AF820F6AB04EA4C1633B65C04F10B3FB4188B5EE13E1
+D09EEE11B32685A87D832272929692D74BE9CFB1481D6F57015AC1596B06322B
+A61B0F6C8B7DFF379D7033A139E817EC492E9B481FB3948BC406461C1431664D
+AD98E133A61BE63DAFC5DBEEC20FF2F11572D4235B1B29245DA670F968D4AEA4
+917356D7D3191906634EC8697CC022D8FD57AB4AB6CB97FA68D215BB8C43365E
+701C8E0AFFCE56A5D22C9061547F40D4C424B8097501DEC060D000B05A8074C9
+7111094BEE441444C286E7823D52264CF3D70B62D38E8422ACA92ED392405BDB
+00AEB76BA6CD378BF341E490D65B044157B8B5891043468B0C92008BC01319CD
+F09CD309135F90B13B3295B35B5AE3BE21FDC67BF853A92A1D568D0D7C1661FD
+36E4B0645A4C2567DDD20E745AA42FA9048A71955F523E09FABD80AF319DDD62
+90A1ED6DEB890CC9DB463ACB2B999BF92BEA6E81486EED237CFD59F263B28155
+904CECA47D94FCC1211779CF516A8883F257A3C934033734197540D5136C2D5E
+ECB6C310AD8AF310933584ECCDBF12574A3A078635F28EA3B85311BC04A0412F
+107634052938769E809E84D3ED2E8B2055E6D6AF6C033A4B139E6C4DD62BE38F
+AA720D9FD4440F90483EDB70FCA4514488C9590EE6F9CA6A6D1B4F9A2B6D6DFD
+F3FC91879E78F952D5E0E7116A9969DCB331464368B80F158D94BDA509365F63
+02A11CCCD7E9CB80C76679F614FBF72BC094582745455C0DD6B780AEBD1A20AD
+0BF90191D90797022640A75287DD716D433C2D4A24A717EDE2677FE76014DF9C
+546D92BA1E215F8B48BA4BEC6C12EC59DA151E1EA0BABA3F6D225343987E7C91
+936F5606613E4912526B917AC6A21B968209E0C143C974C3129F6CFE089B6844
+CE49B8EC40F6477366CB3D18A9ABAFD3B45753A731CE29F6AD31AD783752DE4C
+26C2854DF8A56CA539FE770E71C7E6C0245CF7F0790C1D0251F7A3A9528AA9FD
+C959FE3D74F409F3428FCE1646B7B350676AB317603B2A78EE5371B6DEC27940
+F039273F52CE025BCD1BDB7F0E1ACA6ED31BC255522BE1C81A3459571F38B3B9
+2390FD72D4FE0105F7F850124B1A1310BEDF5C5D647A8EA39A3BE10442E17EA5
+43ABBE1FBE8FE46F8D59DDE300F80F77A45EE28E5772676DF855AEAF59F3AA39
+CD554643FD04D41A4F0DEA2162628A3B8AD85F5A76FC7C337F53457A4BE60C43
+01ADCDFCC043A1BA36E7381B5B4DCDDCC2F0AB413688DAA99E7946FE2EF97320
+97DF15AB542D536A8E18F485EB1BE9AFD9738A6B146A31D9EB5486E516C0CFD9
+B72304688EF2B41F88A4F0AC1444B338459F16CE1E5482E957DF9477425F8129
+2F33D135C7296ECEDBC2B98B2434E846864AC2730D829408B23D01DDE8416C38
+5D65947336D8D71BA14709D6233C668863E4106199E8C65A5ED953F79D48838C
+095A331555CAA64E34AFBB0B00C968F6F6618C375D1EC39DC3DCC3FFF88D350B
+0328D8B616E48FE0736C51CE65EBB099863B0748B1E3BEF9C8F450F0C8CC760C
+AE9BCCEAA5ED14913425D9F8855426D23CF9469F82E82C9E731277D758AD86E4
+A3D0F951A935DE967713287AB428EBA4FBC47DDA1CB4CEB40B5C6E82F3779787
+ED7869D747D6D712C0EEADC453A7D3831292BB034181E20CA9A093FAAD8E6AB4
+42D64EBC841AA8E3D769EB20E9135AEA8A2D13B0D2CCE6BF8043C2B022BD8BE6
+71AFB73CA629A1A4CF4120722819A308E173BC1233AFDEC949D8476CCD645DD4
+31908A1CCC13BE0361315F234426433EB843C7887DFCCFE806337890FD8AF759
+721415D502DC1E12DC75C643BD3644F598268DEC35AAFA30F42EDE930CD860C0
+B8A539553400D265E7D42117CA01019978DCB8CD4C87BA3CF7ED2B2BCDC1C310
+E58FDE83CECDA3B16894B878BF242558941E3D8F44C14A875C36224F669E423A
+8F508D9D1E193EEC193C1B416CC93637565A25C1BB427B89805643FD09BAB63B
+F4E9A30A08A72B6F163A9675AB6B9F0FEE3EAE529DD19CAD29866961DB1A5248
+AE458165527AE9954E8821FB22B9A9B8CC1EC8805C15E046B3B60C6F90CA72A3
+FF5778D1F06D303A95723EA05E306F02FFC00814F797D31D6681517B70B2BC7E
+2303172D7F06D589E5AAED5CB04CD8A4AE64C1B18998D3975B7B316F90C7E3EC
+A36D39EC7123B3686DB8D6A9DDBE2E3D91CFC8CAD82898AF845E885936D0A984
+BF410D30271EFC6ABEB9CFECD7FF5A6148587193B0AB5EFA27BE8D57B85ED5A6
+80A808EFD5DC47B5BAA8B83311009354643F701257856BDCF7B4E87ECB2473B8
+80A28D7F1FC17AB006AE7AC5B5AC02B4CE2D5C2EDACFD949BE9CC825D713B7CE
+5F0E65C4A4F6B0E167B1F985F6A4F698E887CB83635059524847A022BB469A6D
+EEDB3BAFE64F96143928B54FB20050912D47927E9AA192D89F3C9F5B356340C7
+C6192B295A4D66AA26AF627D562B56CC1DFF881D46390098172B7050783BCCD9
+C4C9ABDAA64940889DD1E7EC6567C7895C19DEE58E64FDF8DB69835F7034F21E
+CF288EC7C542B85D0614E059A76CD3B54FB963D65DB79BFDB144064BBE3E0711
+46D5B058E8B261B897CCEA6EB5AB957926E1CF085EA0B48835CB5471A1AA00BE
+C230F05949AD70FF6499F9F42C440CB2327CC71D422A9486A6575D74C009B33E
+D60A0B063D2B53D7582E5FB9519A329FBBF3465AA1827DB94CD77BF401804C4C
+4B20F9A09639BA77E26BBA2C297D25B4BE338A41598665B130A24C49FE9EFEF3
+1E4D1DC5EE9F43F7F4C1B0621C12C62F077DDB7FC1BE755CD73796CA6E66C7F3
+7AC464977B4BF75949F8D8AE560960EFA3BB8175B7D53BD15482490D73F89531
+5BB6767BE5C230D4DAD5E3F47FA4AA1CC5D1B58D3604C726B020A977B7FD5C5C
+E55C85D880790990703F496C1E419ABCE704470705A93BFA49C44663E83EE263
+612CDEBAFB57607B7B4B363B7DC1469B6E53C83CC7CC81D7AF0B5B10954A6E54
+71F8D89395500AAFBF2779CC1471A11DE68A49BA58CAC86654E2CC9FBFCAF7AF
+8B0BDA8F800F7865430A2448E0C1974F0570C39B1A96AF13901770DF91E1C6C3
+0027D6C1D0BB48DB9938E213FAA55DA07105ED5F605664060286A3A5809FFE47
+DC9CDAA91076B8F32522AB8EF31E9ABFF78AF07B67E9860F415DFC439789834A
+4AA853A16C44AE0A50E462BA251B9A450DD38052F0D141453844084965C7BCB8
+1CC3239ABB09AA2F953967B067BC8B2D08C779C1DD4F38963C948061E66F5A73
+3C6AC3FE60C4F24CDFEBE8FC47B1B4350CE3B1F6940FD7B388C06EA25B7DEB55
+4479757564E552A3110A1AFB11C1F39D243085E814D3EA966AB2E5D15A6DEE04
+9A9867E5A3028CE20FA272D8C17EF8A259F53530E4D39656C56103ADFD9A5315
+0276FBAF5BE2AD4719FE6337F49713101F4FE2081D2C381C465881EB12BAFDC5
+1519198A1A73FC8762ECD193B91DECD64E653803C30F31E97BAB92265FAAF5C9
+6D2AF76F19352DDD7DC5209493AD374326509923C377B4F0F23E311AE44AAF5B
+61955EB7B9BF3CEAA6312E5BAEE410D90B3B3D89119F3018B3C4AAC4313D8B9C
+B50AE03A78552F3C7E0EA8906E273F6AC4D9AD4B56AF65490EDAB6B13DBF1A90
+2AB352257A0A93992E6733AA69D4C0E846AF7BC811B444FD63DFD98E804D759A
+EF2E1376A2D0357318F6B77C3A58D29D50E26174BB7ED60AEF87D7A66D4A5957
+7E769271631092ED0A27E41FE0083A887C3A71D3BCD4EE0665840829889E255F
+7AA2D40D0605A452A669806AB37B381185A4EC3C23CA29AF2CBD9B3264E5E208
+24A814592DB8CD8AA888C2B411BA55C9E5462B89459445EE8C93F51F3A45FC4D
+2FA3A6A245AE1710D8E42AAB7F5732592E567D3FD91A55640BD2B16EF7E92573
+4AB29A8B230B33925E5A39157D784CBB98E589ECB44C2DC31365B1E0A819E129
+A5311B7D62375482C8CD930F7DB8A061DCAE18298CA5A7498E62D480AE344E57
+4C0621E72915D0DFC6290C9D90787BAC010E966623A913BE45C790A8ED1E09BE
+DE10D23ECCD6F75B6E687C9FEF91869B1F9247587CCC3AFA9521CF81407F88AC
+DBE065460F4FFA567D2E298601649F5174962C3D445C9AA217FA9BD64597852B
+5C8FAB98E5E4F2217597F8500D0C0B6CB3A8535BD1835CD7904CC977F0BB0648
+2CEDF71A272CA224CFEBBD8115B9B83C960FE941920709B8332B6C47B8A7A976
+25316665CC52C229B451130DAADCE0FDE29F216C8B85FC5869D4F94DB38D0BAD
+B2F4DC5E2DBB323564A48224FCC267E3D2AEBDFB321F221EEC9B584C63A94486
+6E976642E6165F70970E5F544CB6A50110C36066A2673381DB8EFE7C3195592A
+B09DC6F3817A801B037488EFDC925D493D3898D35085A4949964DEFB7CFFA253
+69DD54579F7AE67AE010C232C5603720312D318A4B0F5FFC94EE22E8B0D966CC
+B029C81B860F67C1E50B58310729A80B1C728F7A391A4D8A344ED93137F13F1B
+9DFF30898AA2E45E671EE641D1DF08579CF5FE1FF02A4A8391D4A463094635F4
+E8B20AE42E7CD36962812E555E8B26F9CF995131F30E0163AE31F53262396D26
+91DC4B679A4DCB531059ACBBA2745996A3F78716BCC4CDE2FAFDAA56B2A4167C
+FEA13CC3971E67962FE4B8D8C1901FF068CE73E18E1D8CA2A9C3E5E68EE1B8B3
+4C993BDBCAE223957FC27F7F35D9BA6665CE43A50774898AC72A6C4131950E6A
+2699DD71FFDF58ED3AF0F743AE65EA1414AD28B8CF03F7C8F2C0F02C7EC811F1
+0588193477C24242A451F08F88D824B4316F2F6DC7416DC638897D3D63396439
+8889DB280032C457BFC089DBBD83ABA07E7960D7D6E5C2931A45D971B592A78E
+134A4BCF508D096E767C77199F70146C54337F52426A431EFEE0AB59FD327642
+DBA85B9D063C7A57948D50BD384BF8985544BEDD636FC5987AC759BF78E7610A
+5C257ABF21FF95BFC92441011C091010E9E2FB07A9BB4D3385A748B6C099F7D3
+59C50E0D8747F5F01ABFD583FD9540D0ECCC505FA8AF6582E85B0269DA87AA8E
+B2B231A502D24FDCB4F58B408A1723E52803464FC98FC8DBA549DE6A1C991A3B
+F00BE4FB5B258AFD3176EF7C6F2CAB7C799E6ED9B3DF5AA9A7CB4FB6AC5734C7
+4A97F05A6A9313F5499F8D1B60890B8C054AFF5D3BEA4C1489211E58945E6ADB
+0C8D23AF5FD9A0E41D37A9221501886F3507D19C3C9B4EB2BD0B693EEB09C97D
+D4E06247F8F056CD6CB30B3B97DD9F3CC8B68DD5F3E9C7F5FD4042C186C55FCC
+475EB5292D65C69C3EE64795B7DAEA74D4BFB4408207C0CE984CBAB7377E262D
+09B7B8FB58D46AA54F3B0BD5ECAB54DA1A6F332BBB0A3D7CFF54000B8499AC29
+4A007B9E6441715F68B0E9711013060E41BF0066259F6B50FB4D3A20E6CA5605
+D0198C0E0FCABD4A4A1F858FDCD8475BD855856E7579BB9A35767FADBB405582
+B4EE62923BEEBC51A9B6D720296D2174D3C82D5D38CEECA4C3FB437471EB64B0
+4923A31E00642D4AD20507417D3E223E3D7D629580545EE1B4CEC72CC26E2E02
+52E787B7D481A9943EB0B1DFDBB51A0E732F4077ABD633EFEA45655B689AA18F
+316FBB7ACCFAB20CF7E95D1710FCCB21128C1C01766E098EEE85AFA74550DA61
+D0858459A971B1DFF8769B9139A30C1114C0B8ADF4F2B05850D4AF8D57192E2F
+D83D13BD01EF8C833022EA21B33DF1BF0258E6167B03C4524A54AE5618A0CFA9
+BF8CEBED7325E223AF64E5C2282E97BBF52F5BF2F58F3A4FA1C8AE81D0A449DD
+DC15E4488F5239E1DCF4627E7ABE77E1A1DAB72C1BE92C5038CDE99026FC316F
+E43F21B46F6AB826BF79F67FF2FF7ABB6E2D0E671BBCCFCA24011D40131A11B7
+201F65F8DB943431267A54A5B9E9A95E8E4DB826C81980AEBD6071F32A77F64F
+919F735ABEDFF5BFDB0C350E81EB0A8351FA27CA984C00930894CF532AFE71CE
+8F84E501205F5A82A8C37357D6F589A48B8D4FA02767C180D3C7FA650AE987D0
+CA092C7B0490CD9704B03948F568CE739D1D1864DB9BA0653BED3563A988F099
+B6140B7AB55B1BD716F8279C94F8AAC793766AA46A70D0A0758FC2C9899894E5
+230504813D817813C669897926D4764ADCA0410F79CF7CA00C202C9793F3F790
+8EC6D4705290704D02986B41E4795A5FFF7FF412D2EC7324AC44384FECCCEACC
+77B64F1C68A720FED63BCAA7FB07FC9FA71019590077DB5D56F1D2E040CA05B1
+5752D1332C888EDC43E87335570FA826EB19836361134D6D4DAA205F58874616
+BA099A2EE0E67902E415C73F0924DA4AF134524BA067FB9E75AE67FA470B26A6
+54B224DFFD139BD8C601AB7B3676F68A8B95C78C4F77B5084AA5734369924A2D
+6F115741BBA7EF0700B1C5833616E1B14AC4FE84B36CF8C65B60F0EB17DBB7A3
+3A3DAFA5ACDD46DD9F9696637E7B98E1AA780CACB4782540C1148178E5EDE90C
+B12FA4A1EA75A5C4E97745C32D11692F2FD27CCD2C1133F210692FB87A902AFF
+AF0224F21639813BD910A0D72A2AC0A99098158B5FF3924FE30B1056C7F48D7C
+E41F9C4BDE9115E5E493BA0EB0F8C3B33B0AA18B13870B5D3699BA56E75C752C
+A01302494206A573F4D79DC15BA73A71A90673AE4C452A405FE4D29884D7B17C
+6B2B06CE42A8A23E18B82146B1AA8D92267B48EAF24C4B83AADE66932C9EC565
+C5528B668C9FC5B0033E3C07F3AACCAC2DDE03824051EFD066BE4CA94B95383F
+BD8ABAD101D4154B0F0415686E34BD3BBA6A326D50242AD86CABD3ED63A7766F
+241208EE558EF4F777535C1712B874E148CFAC99408A2F1BC29C9C6AEF618709
+A918CEF3F3195A42B6DF0DE3DF8FD8ECEB7BF8265BBAC021CF1047DA46561E0B
+6BA7D73F0863B193A22439EA3A497D27CA845FBC937C0034891B67A710002E37
+C7F7F8841A443B8B7E6E292C2B9264CAD03969A7BA6FCB132A2E61BF0065297E
+32A11F0D58592C49E6A8E007A307043101C6EBA9FB749F7E05C2A60E1F27560D
+6F6A8086EBCC701C8103DC5BD73D01B0EBFCB46978D4B7654835D2DFA335546E
+21C8A1F120C4D29A508FF45786AF567C80F3E10CD2F4529F0432BF63F8F8038D
+0BA15F3C7CFDDD3DD98104BBA4B9F662E79BDD57E7A19B9658C11EC663102E33
+36D48F083102C086EAFFD93F527DE57BAB4491A5931B932A2FD24F2418EACF64
+3BA3177D3ACAB44082A68FD21526A58D92F4D2FEC8CE1FE42D0FEF45EE7587DE
+652B0F6C3CED8EEF963EBFADAF3971A1DA6FD4AB68DD12CD95361D7A3AC48FB1
+6FDADB8F8E7B842CAA729307C44A3E9F40B0F1115430B90581E4F6FF6374661A
+47D51A0855A1423BA70A2F3F1509F1D9621AA3F809639772A2E6AABD8AE0585E
+2706E519DE0467E8F9756BE427E18EDDCBB0149E6FD1BB176AD0DD2E75E8B92E
+E4B35175FA44C3B89C7255A4993F4A8DFEDB157263DE57C87FC89B8E674B7BF2
+55B096936D42F6E45F3A5CD79C54081804F5FD98DA1BE7A76AECC197AF66CEA7
+E0DCB1449381119B3F8AD28D08CD12655FE8C43710485E77402E02DDD3AF63AE
+40BAE39FAD6B402C72C720A28D4081FDA5547A125D0EBF050B7BBED1A9101CC2
+8133A2D880ADB3E6968D1D2CAC055D351E417ECAB8B578B0529D036E8F5E59A8
+D8C739795E5F7DB379FACA0A50448F921485E98AB0B653D8EF18E412C57B9DD3
+8BBEAEC5D3C3201146371035AAA38BBFA78C52FA64746E9E78508DB4791A5E59
+6E400DB150448531B692E8E52C7A2C25F523734E2D6D5E68BB80A20F5CBDE325
+4413928469C93854080EB3A7693B4F752AB4267D5EB4C142962F2E030E757B10
+5B020E5074EF3D0F914DD1310336AC771D6FBA28D8AEEA8C85DAB00C7329FB4D
+9ABAD63AE2F4E6D63AB18DC8984E7A20EB1081768D8BC7E7FC5B4E6B491756A7
+895F4C1B677FF257CBB52FC26A14022202BC8031CD6833CC73CCE4C5C26B0A6E
+FDB5798A5E772910E6787C35ADC252BCCB78039E4A3CC7DA3CBB8FD9A89B81CA
+2D5E6241B33C0DDFD50B4AA7D948E0B7F3F7AF3CDADCE2FE6DFBF90C88EAAEC5
+497945636C88B7369539D0FB760C5AB780A23ACD677EA9CCCF1456A3F147F618
+3E1C06CFBB9006ABDBBED269CD3A836AECCFE95150EFCDABED732F85EAFA5BB0
+F9C03FB7F9BE4FAC9F754EA3E0A53289137A890460FF07640099AC49BFC0BE1A
+CD1D8CBC45E9FECE481C7E292F4D9D8720752650FFABAE8E35AB875A80E2E0AA
+6FA5963704F717479A13647399C10E10F5EEF2A810890DB1A5EE886CB7E2CE75
+602D70C6D743CF97D125547BB33BFD460DA2033347A8A49BDD8B0509DBBE0B8E
+3CFB85DA340356C412F3A19A662A45E0F14A509B4992FDFD997FB8F14DBA16CA
+3B4CDA21380D3EC05D077539C9681A38E5D8AC0EC5F2790758292F2C076E2EB4
+E619114EEB36799E77A928D11603827F24C137C698EABFFFE810F076D007B07D
+A10DD81782545055420CC74423D257F4F2B3E6D85E7BC50E545F08EF659A4635
+4B79706EF6442220EA5E18656CEE85474FD9186DDC3E2D57434CD4DDCF51E622
+59715410EB2472B19BA17B3A3FD705ED7046575DEBEEE56A41A9CA12A27EAABB
+B7150C406F37BECCF2415E0AD8B9CF100E477F05D6AEDD79024CDDDAF8C84C4E
+201C6F7AA0B9F3DEF4E633FA8CDA074FB1907A6930D6D0B94C1AF0EB7DFE2705
+9956D25E03EFDAD0BF2B1099D1CAC4665D547B7B26275EC29D995AB1C6DF9581
+3161DE3A57B6649F18C0E5E8AD96AF828A948F30E5C121C1F6C8191FC0F64A3B
+964902EA44B7216A1269F70E764307AD03FB6FDBB048137D1334B4BC1BD0BECB
+065B9F77FDCC62D47AF0043EEDAFEF70896FFACC6BE28870EBA531EC98DE76C9
+13A16C50CFCC0D902D0F333C4B7526DC3F5A2D19882A17BE6DF9B33BB944EFF9
+C201FF03F3FAEB2D91F6629398A701E61234844D879A15D3553D31921A5B39D2
+A686387C3D28E700F9A2EE7523EA7A5E0BB571C1E3140830E53240D84D0DC70D
+7F46CDCF40B0C8C6FEF7B3BD0E259F756600350607B4F9B96619BA886DE9BBF9
+AB4D6FD637E9744C554D43586FA17AF58BA91E04A39BD4F9805166DBC06A177B
+CEF13F48217E8AA43B035A1CC105116EA0AB7A5E7D42958759BCC043AE81BBB4
+4E50ACBCF673C702251072035DAE3039590CF13A555A0904EEA3C77DA4E8526C
+FBBFD1ABE060F8CAFB79B63A6C9664FACECB28DD5428B252722D001980096C85
+A7A6C0C33492DCB151DE306DB8403AD55808A3BE09BB2794A0A3EB56AA4B167D
+96614B7BDA1527A26EA8074E44303BC90960246C74F1BFDD1E20BF89E563144C
+B17F0D638D770F2388AB0865C4CB38253C99639D58FEF9A7D6C84B89E0C66E68
+306CD848341B7E791409E713BB4D27337A64B18EB4A5C8E841D9743B3A7FBC54
+EA96FAF7645660CB71046428CADA096285488691EF21286FD1F6AF7412F39459
+8D40670F58762D8F8C23AA14114F57714622C0D530489D85013E5A875A316491
+79110A18EB788F1F90A75E535E323E8DA3123B398BAB51F79AAA27356234DFED
+6192E9F5F409D3C008AF75A1730054B4B74FF53C728E103A3D9B290ADC9B47C2
+261610601DEA2AF674DB8739B463A0031F032903FB636D59791DF5CD6411A900
+D33F8AB8C92796D7AF6D35061FC53AC17A7026EBE9E2D29016400B7DEAE4F367
+F647FEA68B8BC32EB28C649E2F1BA52A07384DEBD7AF2CB7A6875B246F948F9D
+8D9A0C222BA0E98A06BC6AA6FAB48D8DF192B739C650AB32682A482E16DF45B4
+EEC5FE9070394140901A615E9A520428AA376AA2B6CAE7C6DD512F1745B053DE
+F6898F675CA24E8EF5F474663C13488DC83F2A82FD0ABEC9A97FF140184BB622
+D44541D298CCE8E67DC3460B19F389480DD425166F5D25A0F4A52865D8A41D87
+0F9065A5578FEA5AFC2A2C128364966DEACA8A1D15FB284F2B272BA1D7CAABC2
+501CC62A729618E8D4F18D01A6C475146FD12D64166EB2B013C85894758EA811
+203DB76A7C0D059E378252A39F158FDA9DDA97640551AE8CF805755C967AE35B
+BDB2E49E89ECC11B2C84DC3BA1657966143C249F3324CD0247090BC1C1E60423
+1E3E61D17248CC3804C207CC4151CE762D15988D579620CC8029422F496F0761
+82A56EE80B20144CDB9673CE866BDDC7810D6932BA105C1880345E588A32726C
+F4DD4FC9237CF97FCB6C51519CDEFDB7A583068880787C5FAB24A4E7CB143591
+9E7232EF43C551B15104E76E3846515CB0B7700CA61AA4B01121761E0222DB90
+95C05EAFDC1DD895EDC5DF7A28BCE7DEAF2BBC24EF8852DE746342B8A3521EC4
+0C03391B7C5A31CCB7183874F64C44D401D7A4419FFF5689C43A0F15C35588CB
+C268D2775A7ED0818BACAFCBF6BB58D09ADC38C359CC1E6EC94B836FE377D126
+5B17B3754E27E92C0F4D0CE9CBF254924FE542A278A330A06A138506DDCB44CF
+DAFA50830854A1D2B29BCD217824C936C4E696551853FC7AD6BD8D8A67A0B46C
+57FBEECE0E4D8F9209DA78E608411B68759F129EDA8885B49EEB3406ED130400
+FDA18961A8E1A006455ED5DCBE289B9B104F97EFBE74A447DEB37B728E03A6AD
+307996FE4872B06DFFFFBBB4E4775A18381174E15660E9989F88D4D4884C88A0
+8A4A66F2765708C6720CD747E8126C80283E47CA6FFDF23BB679BC2B147A965B
+4A99024A2DAFD0ECC1EC37F7B4EA6123BA77116C997886581B733890FDECD602
+29D0841369A7226FB241F22416C9030CAB892DB9A7B1EC7CC2F5EB690A985C26
+9AD79E04A265F2EAFD70F093EE578A7A2FA02E0714AFA5A8C82F07AA1A4679F7
+7732348FB43ED3C3E3388C84BDB17AB5F6CE3B64C8D9BAFE59303BABCEF2633E
+177A3566AE050F6512A567BBC9259CE7AAD80439D9892283CCA5BECE70994B04
+D4455DBA30BAB96E1FD22779DF0673BC712B1B51ED08CFD5B9B7098F0AEBCCB6
+66DC2C01D677B1D2AD8D5160C7E9F6CA751B146A4C2389C605DBAADDC2545450
+6246ABAEE608106D8D7C8C4B092C34A1C539B85329DFCA4D16B1E90BAF4CE2D5
+4431D4CBF402AB75943AAB528A01DA70CA4E98C75306634F8662611C449554FC
+AE9CB8FFBE18E9A766453D3A21CB9EC1CB6ED4D22AF712B02ABD4F44CC3E53A3
+C5F563C48A2050B067E780EC18BD77C33613A1DABA893DCD7868A60E58E16C5D
+61496D4D98669C140C683E727538378B0A0E6B8A55D7F722B0165B2FE4ED7587
+5877001C187E7A8FCA1D1CA6918E09EEE7C3175A6AD53CC66F90AB0958725D7C
+5925F63DE7B734D088AE64BCD7F5389C91FB1E6F3FC1ACCC30BA36647EF1ECD6
+B2385CB9DC9CD93753B57E66374032AAFA5A90636394C3EEF675A18DD4BAF39D
+9E1D178C2739424F7993A5C9AD9C0161856915DF5142491FF264565430E084B7
+EDBB7046DE9685094ECD45CE24B6105F68F8A7A2D2E6A894969C1A8EA9B63748
+5240A48D109BCC2DF2844BF5E21D98D7859E1F31B40520DFF5AAE4DDC77CAEB3
+DE497433F98EDA8C395FEF26CB43E797FFFD7299AE6FB9934558FBF51D6BC066
+4AF8655A0B2DA6243743BC8915FA2AA298D9DB3581F85BF46F63F3D0BBD9B816
+35970E92B3B3F28F34BE291308775D9EF03C19CBC17FCCFC75B2E439C6023F53
+1209C00C5E07A4775E780EA1AC89CA21CAE4E1B450EEECA3A273F40FCE7994D6
+1223B3B495846D527B14897ECAC9D14A2210A7EB0A0DA0207ABFB5D528D86F81
+B09BE002BC159BAE7B7A810C9A0DE6520FBC90CF05A9067A8A4AED99D136FF52
+9856AF79951CA1935A582E1735B679F5830E4BDCCF31F24D3E7304E1BD5F95A8
+ADB5B6F814468738FE21DD8DB8AF3873A451A34468F914CC354D86C7CC03510D
+EE22DB0B20148028FF6B50003080DBDFEDB1593DB259294CE3131AF899BB84F4
+7232C9506430F9367BE1162EDB8C61AF2B4083B89903AE3E1AF154FC2B321609
+8C2A2CAE2F8B6A8DB26A9216D3E68F867F75F1877BB335429D44A7E20DF364C4
+564CDD4009B739A72D3BECC1939BEF9399A1DEDDCEF664ECFD1D8483316EC7C8
+C4505B1185689D560C124D63264FCDD9F29397E7CBF9C8F4F81EC570C8E5033B
+CC73060B9ADB4C4D2E4BBB61F8A759E961BDDA5F6A67A66C9081BBED66612D7F
+1D65B2A93B6F81CF6A054AD6C83D4B1DA99E49ED7ED9D9E01DEBB7A17FFE3D53
+B036515BABAF4A703C533BA8B529AFBBAE
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont 
+TeXDict begin 39158280 55380996 1000 600 600 (nco.dvi)
+ at start /Fa 195[60 1[21 58[{}2 74.7198 /CMMI9 rf /Fb 172[46
+6[50 4[65 71[{}3 83.022 /CMB10 rf /Fc 131[62 4[62 2[62
+62 62 62 62 62 62 62 62 62 1[62 2[62 62 62 62 62 62 2[62
+1[62 31[62 9[62 6[62 8[62 34[{}25 119.552 /CMTT12 rf
+/Fd 207[19 33[34 13[52{}3 58.1154 /CMSY7 rf /Fe 255[60{}1
+74.7198 /CMSY9 rf /Ff 137[88 88 88 3[83 23[120 5[39 1[88
+46[66 66 32[{}9 83.022 /CMEX10 rf /Fg 135[38 3[25 31
+31 3[41 3[27 23 21[41 50 3[53 49[31 28[{}11 58.1154 /CMMI7
+rf /Fh 134[39 39 39 39 39 39 39 39 1[39 39 39 39 39 39
+1[39 39 39 39 39 39 39 39 39 1[39 8[39 39 1[39 2[39 39
+39 1[39 2[39 1[39 39 39 1[39 1[39 3[39 10[39 39 2[39
+39 5[39 39[{}43 74.7198 /CMSLTT10 rf /Fi 176[55 53 10[51
+67[{}3 66.4176 /CMTI8 rf /Fj 137[35 41 25 31 32 2[39
+43 63 20 2[24 2[24 35 39 1[35 39 97[{}15 74.7198 /CMTI9
+rf /Fk 244[100 100 100 100 8[{}4 83.022 /LCIRCLE10 rf
+/Fl 136[56 2[56 56 56 1[56 56 56 1[56 56 1[56 2[56 56
+1[56 1[56 46[56 50[{}15 109.091 /CMTT12 rf /Fm 134[41
+41 55 41 43 30 30 30 41 43 38 43 64 21 41 1[21 43 38
+23 34 43 34 43 38 10[58 58 55 1[57 2[60 58 3[39 2[60
+50 2[55 1[58 14[38 38 38 2[26 31[43 43 45 11[{}42 74.7198
+/CMSL9 rf /Fn 133[48 48 48 48 48 48 48 48 48 48 48 48
+48 48 48 48 1[48 48 48 48 48 48 48 48 48 1[48 8[48 8[48
+3[48 48 1[48 1[48 48 5[48 9[48 48 48 1[48 48 48 2[48
+2[48 1[48 37[{}43 90.9091 /CMSLTT10 rf /Fo 133[37 44
+42 60 42 49 30 37 38 1[46 46 51 74 23 42 1[28 46 42 28
+42 46 42 42 46 8[68 91 1[68 65 51 66 1[62 70 68 82 57
+70 3[70 59 62 69 65 2[70 46 1[70 2[28 6[46 46 46 3[33
+3[37 37 28 25[53 51 12[{}54 90.9091 /CMTI10 rf /Fp 140[28
+28 1[39 2[59 7[31 1[31 10[53 72 53 53 51 39 52 1[48 55
+53 65 44 2[25 53 55 46 48 54 51 50 53 11[35 35 35 51[{}30
+66.4176 /CMR8 rf /Fq 134[48 48 66 48 51 35 36 39 1[51
+45 51 76 25 48 1[25 51 45 28 42 51 40 51 44 9[94 1[70
+63 51 69 68 62 68 71 86 55 1[47 36 71 71 57 60 70 66
+65 69 1[43 1[71 2[25 5[45 45 3[45 25 30 25 1[45 35 35
+27[51 12[{}57 90.9091 /CMB10 rf /Fr 130[39 39 39 39 39
+39 39 39 39 39 39 39 39 39 39 39 39 39 39 1[39 39 39
+39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39
+39 39 39 39 39 39 39 39 39 39 1[39 39 39 39 39 39 39
+39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39
+39 39 39 39 39 39 39 39 39 39 1[39 39 39 39 34[{}89 74.7198
+/CMTT9 rf /Fs 128[38 2[77 1[34 41 41 55 41 43 30 30 30
+41 43 38 43 64 21 41 23 21 43 38 23 34 43 34 43 38 21
+2[21 38 21 47 58 58 79 58 58 55 43 57 60 52 60 58 70
+48 60 39 28 58 60 50 52 59 55 54 58 1[36 1[60 1[21 21
+38 38 38 38 38 38 38 38 38 38 38 21 26 21 60 1[30 30
+21 60 3[38 21 18[64 43 43 45 11[{}87 74.7198 /CMR9 rf
+/Ft 194[51 3[33 33 33 33 33 33 33 33 33 33 4[51 43[{}12
+58.1154 /CMR7 rf /Fu 133[55 65 65 89 65 68 48 48 50 65
+68 61 68 102 34 65 1[34 68 61 37 56 68 55 68 60 9[127
+1[94 1[68 92 92 84 92 96 116 74 2[46 96 96 77 81 94 89
+87 93 7[61 61 61 61 61 61 61 61 61 61 1[34 41 34 31[68
+12[{}58 109.091 /CMBX12 rf /Fv 134[45 52 65 44 52 33
+1[41 3[55 80 27 1[37 31 1[43 1[42 47 2[48 10[53 1[53
+56 69 1[58 69 73 88 2[50 40 2[58 1[75 65 4[71 45 71 25
+25 32[52 2[55 6[37 15[{}37 90.9091 /CMMI10 rf /Fw 197[33
+58[{}1 119.552 /CMMI12 rf /Fx 134[85 85 117 1[90 63 64
+66 1[90 81 90 134 45 85 1[45 1[81 49 74 90 72 90 78 12[112
+90 120 121 110 121 126 153 3[60 1[127 101 106 1[117 9[81
+81 81 81 81 81 81 81 81 81 48[{}44 143.462 /CMBX12 rf
+/Fy 129[48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
+48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
+48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
+48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
+48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
+48 48 48 48 48 48 48 33[{}94 90.9091 /CMTT10 rf /Fz 133[40
+48 48 66 48 51 35 36 36 48 51 45 51 76 25 48 28 25 51
+45 28 40 51 40 51 45 3[25 1[25 1[68 68 93 68 68 66 51
+67 71 62 71 68 83 57 2[33 68 71 59 62 69 66 64 68 71
+2[71 2[25 45 2[45 1[45 45 45 45 45 45 1[30 3[35 35 25[76
+51 51 53 11[{}69 90.9091 /CMSL10 rf /FA 143[76 5[25 13[61
+14[109 21[0 0 3[61 16[91 7[71 3[71 71 2[71 1[45 1[91
+10[71 1[71{}16 90.9091 /CMSY10 rf /FB 133[60 71 71 97
+71 75 52 53 55 71 75 67 75 112 37 71 1[37 75 67 41 61
+75 60 75 65 5[37 82 102 102 139 102 103 94 75 100 101
+92 101 105 128 81 105 69 50 105 106 85 88 103 97 96 102
+105 64 3[37 37 67 67 67 67 67 67 67 67 67 67 67 37 45
+37 1[67 2[37 1[112 67 112 21[75 75 78 11[{}78 119.552
+/CMBX12 rf /FC 134[44 44 3[32 33 33 1[46 1[46 1[23 44
+1[23 3[37 46 37 1[42 6[51 62 62 85 62 62 60 46 61 65
+57 65 62 76 52 65 43 30 62 65 54 57 63 60 59 62 3[65
+7[42 42 42 42 4[28 3[32 32 40[{}48 83.022 /CMR10 rf /FD
+131[91 45 40 48 48 66 48 51 35 36 36 48 51 45 51 76 25
+48 28 25 51 45 28 40 51 40 51 45 25 2[25 45 25 56 68
+68 93 68 68 66 51 67 71 62 71 68 83 57 71 47 33 68 71
+59 62 69 66 64 68 71 43 1[71 1[25 25 45 45 45 45 45 45
+45 45 45 45 45 25 30 25 71 45 35 35 25 71 76 45 1[45
+25 8[40 1[45 7[76 51 51 53 10[57{}94 90.9091 /CMR10 rf
+/FE 138[108 1[76 79 8[54 3[88 108 14[149 5[145 151 6[152
+3[140 67[{}11 172.154 /CMBX12 rf end
+%%EndProlog
+%%BeginSetup
+%%Feature: *Resolution 600dpi
+TeXDict begin
+%%BeginPaperSize: a4
+/setpagedevice where
+{ pop << /PageSize [595 842] >> setpagedevice }
+{ /a4 where { pop a4 } if }
+ifelse
+%%EndPaperSize
+ end
+%%EndSetup
+%%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.2,)j(for)d FC(NCO)g
+FD(V)-8 b(ersion)31 b(4.4.2)3180 1697 y(F)-8 b(ebruary)30
+b(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
+%%Page: 2 2
+TeXDict begin 2 1 bop 150 2072 a FD(Cop)m(yrigh)m(t)602
+2069 y(c)577 2072 y FA(\015)30 b FD(1995{2014)35 b(Charlie)30
+b(Zender.)150 2451 y(This)g(is)g(the)h(\014rst)e(edition)i(of)g(the)f
+Fz(NCO)g(User)h(Guide)p FD(,)150 2560 y(and)f(is)g(consisten)m(t)i
+(with)e(v)m(ersion)h(2)g(of)f Fy(texinfo.tex)p FD(.)150
+2939 y(Published)f(b)m(y)h(Charlie)h(Zender)150 3049
+y(Departmen)m(t)h(of)e(Earth)g(System)g(Science)150 3158
+y(3200)i(Croul)e(Hall)150 3268 y(Univ)m(ersit)m(y)i(of)e(California,)h
+(Irvine)150 3377 y(Irvine,)f(CA)g(92697-3100)35 b(USA)150
+3646 y(P)m(ermission)d(is)f(gran)m(ted)i(to)f(cop)m(y)-8
+b(,)33 b(distribute)e(and/or)h(mo)s(dify)f(this)g(do)s(cumen)m(t)g
+(under)g(the)g(terms)h(of)150 3756 y(the)23 b FC(GNU)h
+FD(F)-8 b(ree)24 b(Do)s(cumen)m(tation)g(License,)h(V)-8
+b(ersion)31 b(1.3)24 b(or)f(an)m(y)h(later)f(v)m(ersion)h(published)d
+(b)m(y)i(the)g(F)-8 b(ree)150 3866 y(Soft)m(w)m(are)27
+b(F)-8 b(oundation;)28 b(with)e(no)g(In)m(v)-5 b(arian)m(t)27
+b(Sections,)h(no)d(F)-8 b(ron)m(t-Co)m(v)m(er)29 b(T)-8
+b(exts,)28 b(and)d(no)h(Bac)m(k-Co)m(v)m(er)150 3975
+y(T)-8 b(exts.)41 b(The)30 b(license)i(is)e(a)m(v)-5
+b(ailable)33 b(online)d(at)i Fy(http://www.gnu.org/copy)o(lef)o(t/fd)o
+(l.ht)o(ml)150 4354 y FD(The)h(original)h(author)f(of)g(this)g(soft)m
+(w)m(are,)i(Charlie)e(Zender,)g(w)m(an)m(ts)h(to)g(impro)m(v)m(e)g(it)f
+(with)g(the)g(help)g(of)150 4463 y(y)m(our)d(suggestions,)i(impro)m(v)m
+(emen)m(ts,)g(bug-rep)s(orts,)d(and)h(patc)m(hes.)150
+4573 y(Charlie)g(Zender)g Fy(<)p FD(surname)f(at)i(uci)f(dot)h(edu)p
+Fy(>)e FD(\(y)m(es,)j(m)m(y)f(surname)e(is)h(zender\))150
+4682 y(Departmen)m(t)i(of)e(Earth)g(System)g(Science)150
+4792 y(3200)i(Croul)e(Hall)150 4902 y(Univ)m(ersit)m(y)i(of)e
+(California,)h(Irvine)150 5011 y(Irvine,)f(CA)g(92697-3100)p
+eop end
+%%Page: -1 3
+TeXDict begin -1 2 bop 3725 -116 a FD(i)150 299 y Fx(T)-13
+b(able)53 b(of)h(Con)l(ten)l(ts)150 632 y FB(F)-11 b(orew)l(ord)27
+b Fw(:)19 b(:)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(:)h(:)f(:)h(:)f(:)g(:)
+h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)71 b FB(1)150
+898 y(Summary)18 b Fw(:)h(:)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(:)h(:)f(:)g(:)
+h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)62
+b FB(3)150 1164 y(1)135 b(In)l(tro)t(duction)13 b Fw(:)19
+b(:)h(:)f(:)h(:)f(:)g(:)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(:)
+h(:)57 b FB(5)275 1301 y FD(1.1)92 b(Av)-5 b(ailabilit)m(y)26
+b Fv(:)16 b(:)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(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
+(:)54 b FD(5)275 1411 y(1.2)92 b(Ho)m(w)31 b(to)g(Use)g(This)e(Guide)e
+Fv(:)16 b(:)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(:)57 b FD(5)275 1520 y(1.3)92 b(Op)s(erating)30
+b(systems)g(compatible)i(with)e FC(NCO)25 b Fv(:)16 b(:)f(:)g(:)h(:)f
+(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
+56 b FD(6)399 1630 y(1.3.1)93 b(Compiling)30 b FC(NCO)g
+FD(for)g(Microsoft)i(Windo)m(ws)f FC(OS)10 b Fv(:)15
+b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)41
+b FD(7)275 1740 y(1.4)92 b(Sym)m(b)s(olic)30 b(Links)11
+b Fv(:)j(:)i(:)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(:)h(:)f(:)g(:)41
+b FD(8)275 1849 y(1.5)92 b(Libraries)18 b Fv(:)d(:)g(:)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(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)48
+b FD(9)275 1959 y(1.6)92 b(netCDF2/3/4)33 b(and)d(HDF4/5)i(Supp)s(ort)
+19 b Fv(:)14 b(:)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(:)49
+b FD(9)275 2068 y(1.7)92 b(Help)30 b(Requests)h(and)f(Bug)g(Rep)s(orts)
+16 b Fv(:)f(:)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(:)46
+b FD(12)150 2307 y FB(2)135 b(Op)t(erator)45 b(Strategies)33
+b Fw(:)20 b(:)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(:)76 b FB(15)275
+2444 y FD(2.1)92 b(Philosoph)m(y)13 b Fv(:)i(:)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(:)g(:)h(:)f(:)h(:)f(:)g(:)43 b FD(15)275 2553
+y(2.2)92 b(Climate)31 b(Mo)s(del)g(P)m(aradigm)12 b Fv(:)k(:)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(:)42
+b FD(15)275 2663 y(2.3)92 b(T)-8 b(emp)s(orary)29 b(Output)h(Files)c
+Fv(:)15 b(:)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(:)h(:)f(:)55 b FD(15)275 2773 y(2.4)92 b(App)s(ending)28
+b(V)-8 b(ariables)19 b Fv(:)e(:)e(:)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(:)48
+b FD(17)275 2882 y(2.5)92 b(Simple)30 b(Arithmetic)h(and)f(In)m(terp)s
+(olation)9 b Fv(:)16 b(:)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(:)38
+b FD(17)275 2992 y(2.6)92 b(Statistics)32 b(vs.)e(Concatenation)19
+b Fv(:)f(:)d(:)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
+(:)49 b FD(18)399 3101 y(2.6.1)93 b(Concatenators)32
+b Fy(ncrcat)c FD(and)i Fy(ncecat)8 b Fv(:)14 b(:)i(:)f(:)g(:)h(:)f(:)h
+(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)38
+b FD(18)399 3211 y(2.6.2)93 b(Av)m(eragers)32 b Fy(nces)p
+FD(,)d Fy(ncra)p FD(,)g(and)h Fy(ncwa)17 b Fv(:)e(:)g(:)g(:)h(:)f(:)h
+(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)
+f(:)g(:)47 b FD(19)399 3321 y(2.6.3)93 b(In)m(terp)s(olator)31
+b Fy(ncflint)15 b Fv(:)f(:)h(:)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(:)45 b FD(19)275 3430 y(2.7)92
+b(Large)31 b(Num)m(b)s(ers)e(of)h(Files)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(:)g(:)
+h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)38
+b FD(19)275 3540 y(2.8)92 b(Large)31 b(Datasets)13 b
+Fv(:)18 b(:)d(:)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(:)f(:)43
+b FD(21)275 3649 y(2.9)92 b(Memory)30 b(Requiremen)m(ts)23
+b Fv(:)16 b(:)g(:)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(:)53 b FD(22)399 3759 y(2.9.1)93
+b(Single)31 b(and)e(Multi-\014le)j(Op)s(erators)19 b
+Fv(:)c(:)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(:)49 b FD(22)399
+3869 y(2.9.2)93 b(Memory)31 b(for)f Fy(ncap2)c Fv(:)16
+b(:)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(:)57 b FD(23)275 3978 y(2.10)92 b(P)m(erformance)21
+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(:)h(:)f(:)g(:)h(:)
+f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)50
+b FD(24)150 4217 y FB(3)135 b(NCO)45 b(F)-11 b(eatures)32
+b Fw(:)20 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f
+(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)77
+b FB(25)275 4354 y FD(3.1)92 b(In)m(ternationalization)21
+b Fv(:)d(:)e(:)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(:)51 b FD(25)275 4463
+y(3.2)92 b(Metadata)32 b(Optimization)27 b Fv(:)15 b(:)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(:)55
+b FD(25)275 4573 y(3.3)92 b(Op)s(enMP)29 b(Threading)13
+b Fv(:)i(:)g(:)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(:)43 b FD(25)275 4682
+y(3.4)92 b(Command)29 b(Line)h(Options)16 b Fv(:)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(:)45
+b FD(26)275 4792 y(3.5)92 b(Sp)s(ecifying)29 b(Input)g(Files)17
+b Fv(:)g(:)e(:)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(:)h(:)46 b FD(28)275 4902 y(3.6)92
+b(Sp)s(ecifying)29 b(Output)h(Files)21 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(:)50
+b FD(30)275 5011 y(3.7)92 b(Accessing)31 b(Remote)h(Files)c
+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(:)h(:)f(:)g(:)
+h(:)f(:)h(:)f(:)g(:)57 b FD(30)399 5121 y(3.7.1)93 b
+FC(OP)n(eND)n(AP)15 b Fv(:)f(:)i(:)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(:)g(:)h(:)f(:)h(:)
+f(:)45 b FD(32)275 5230 y(3.8)92 b(Retaining)31 b(Retriev)m(ed)h(Files)
+d Fv(:)15 b(:)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(:)58 b FD(34)275 5340 y(3.9)92 b(File)31 b(F)-8
+b(ormats)32 b(and)d(Con)m(v)m(ersion)19 b Fv(:)e(:)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(:)h(:)f(:)49 b FD(35)p eop
+end
+%%Page: -2 4
+TeXDict begin -2 3 bop 150 -116 a FD(ii)2667 b FC(NCO)30
+b FD(4.4.2)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
+b FD(35)399 193 y(3.9.2)93 b(Determining)31 b(File)h(F)-8
+b(ormat)20 b Fv(:)d(:)e(:)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(:)50 b FD(36)399 302 y(3.9.3)93 b(File)31 b(Con)m(v)m(ersion)c
+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(:)56 b FD(37)399 412 y(3.9.4)93
+b(Auto)s(con)m(v)m(ersion)8 b Fv(:)17 b(:)e(:)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(:)38
+b FD(38)275 521 y(3.10)92 b(Large)31 b(File)h(Supp)s(ort)12
+b Fv(:)h(:)j(:)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(:)42 b FD(39)275 631
+y(3.11)92 b(Subsetting)30 b(Files)12 b Fv(:)k(:)g(:)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(:)41 b FD(40)275 741 y(3.12)92 b(Subsetting)30
+b(Co)s(ordinate)h(V)-8 b(ariables)9 b Fv(:)17 b(:)e(:)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(:)39 b FD(44)275 850 y(3.13)92 b(Group)30
+b(P)m(ath)h(Editing)11 b Fv(:)k(:)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(:)41
+b FD(44)275 960 y(3.14)92 b(C)30 b(and)g(F)-8 b(ortran)31
+b(Index)e(con)m(v)m(en)m(tions)15 b Fv(:)j(:)e(:)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(:)45 b FD(52)275 1069 y(3.15)92 b(Hyp)s(erslabs)10
+b Fv(:)k(:)i(:)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(:)f(:)g(:)h(:)39
+b FD(53)275 1179 y(3.16)92 b(Stride)9 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(55)275 1289 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 b FD(56)275 1398
+y(3.18)92 b(Sub)s(cycle)14 b Fv(:)h(:)g(:)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
+(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)44 b FD(57)275 1508 y(3.19)92
+b(Multislabs)22 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(:)
+f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f
+(:)g(:)h(:)f(:)52 b FD(59)275 1617 y(3.20)92 b(W)-8 b(rapp)s(ed)30
+b(Co)s(ordinates)16 b Fv(:)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(:)46 b FD(61)275
+1727 y(3.21)92 b(Auxiliary)31 b(Co)s(ordinates)11 b Fv(:)k(:)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
+(:)41 b FD(62)275 1836 y(3.22)92 b(UDUnits)31 b(Supp)s(ort)18
+b Fv(:)13 b(:)j(:)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(:)48 b FD(64)275
+1946 y(3.23)92 b(Rebasing)31 b(Time)f(Co)s(ordinate)17
+b Fv(:)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(:)h(:)f(:)h
+(:)46 b FD(67)275 2056 y(3.24)92 b(Multiple)31 b(Record)g(Dimensions)c
+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(:)57
+b FD(68)275 2165 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(69)275 2275 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(71)275
+2384 y(3.27)92 b(De\015ation)29 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(:)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(:)57 b FD(75)275 2494
+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(76)275 2604 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
+(:)h(:)52 b FD(77)275 2713 y(3.30)92 b(RAM)31 b(disks)26
+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(78)275 2823 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(79)399 2932 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(79)399
+3042 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(80)399 3152 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(80)399 3261 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(81)275 3371 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(81)275
+3480 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
+(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)43 b FD(86)399
+3590 y(3.33.1)93 b(Automatic)32 b(t)m(yp)s(e)f(con)m(v)m(ersion)21
+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(87)399 3699 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(89)399 3809 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(95)275 3919 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
+b FD(95)275 4028 y(3.35)92 b(History)31 b(A)m(ttribute)21
+b Fv(:)16 b(:)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(:)h(:)f(:)g(:)
+h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)51 b FD(95)275
+4138 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(96)275 4247 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(:)
+g(:)h(:)f(:)h(:)44 b FD(96)275 4357 y(3.38)92 b FC(ARM)31
+b FD(Con)m(v)m(en)m(tions)12 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
+(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
+42 b FD(98)275 4467 y(3.39)92 b(Op)s(erator)30 b(V)-8
+b(ersion)28 b Fv(:)15 b(:)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(:)57
+b FD(99)p eop end
+%%Page: -3 5
+TeXDict begin -3 4 bop 3674 -116 a FD(iii)150 83 y FB(4)135
+b(Op)t(erator)45 b(Reference)h(Man)l(ual)19 b Fw(:)h(:)f(:)h(:)f(:)h(:)
+f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)63 b FB(101)275
+220 y FD(4.1)92 b Fy(ncap2)29 b FD(netCDF)i(Arithmetic)g(Pro)s(cessor)
+23 b Fv(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
+(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)53 b FD(102)399
+330 y(4.1.1)93 b(Syn)m(tax)30 b(of)h Fy(ncap2)e FD(statemen)m(ts)22
+b Fv(:)c(:)d(:)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(:)53 b
+FD(103)399 439 y(4.1.2)93 b(Expressions)20 b Fv(:)14
+b(:)h(:)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(:)g(:)h(:)f(:)h(:)f(:)g(:)50 b FD(103)399 549
+y(4.1.3)93 b(Dimensions)25 b Fv(:)16 b(:)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
+(:)55 b FD(107)399 658 y(4.1.4)93 b(Left)31 b(hand)e(casting)d
+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(:)55 b FD(108)399 768 y(4.1.5)93 b(Arra)m(ys)30
+b(and)g(h)m(yp)s(erslabs)9 b Fv(:)14 b(:)h(:)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(:)39 b FD(108)399 878 y(4.1.6)93
+b(A)m(ttributes)28 b Fv(:)15 b(:)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(:)57
+b FD(111)399 987 y(4.1.7)93 b(Num)m(b)s(er)29 b(literals)23
+b Fv(:)17 b(:)e(:)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(:)53 b FD(112)399 1097 y(4.1.8)93
+b(if)30 b(statemen)m(t)15 b Fv(:)i(:)e(:)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(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)45
+b FD(113)399 1206 y(4.1.9)93 b(prin)m(t)30 b(statemen)m(t)c
+Fv(:)16 b(:)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(:)55 b FD(115)399 1316 y(4.1.10)93
+b(Missing)31 b(v)-5 b(alues)31 b(ncap2)14 b Fv(:)i(:)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(:)44 b FD(115)399
+1425 y(4.1.11)93 b(Metho)s(ds)31 b(and)e(functions)16
+b Fv(:)f(:)g(:)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(:)46
+b FD(117)399 1535 y(4.1.12)93 b FC(RAM)31 b FD(v)-5 b(ariables)22
+b Fv(:)16 b(:)g(:)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(:)g(:)h(:)f(:)h(:)f(:)52 b FD(119)399 1645 y(4.1.13)93
+b(Where)31 b(statemen)m(t)9 b Fv(:)18 b(:)d(:)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(:)h(:)39 b
+FD(120)399 1754 y(4.1.14)93 b(Lo)s(ops)10 b Fv(:)15 b(:)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(:)h(:)f(:)g(:)h(:)f
+(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)40 b FD(121)399
+1864 y(4.1.15)93 b(Include)30 b(\014les)13 b Fv(:)j(:)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(:)43 b FD(122)399 1973 y(4.1.16)93 b Fy(sort)30
+b FD(metho)s(ds)11 b Fv(:)k(:)g(:)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(:)41 b
+FD(122)399 2083 y(4.1.17)93 b(Irregular)30 b(Grids)12
+b Fv(:)k(:)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(:)43 b FD(127)399 2193 y(4.1.18)93
+b(Bilinear)32 b(in)m(terp)s(olation)26 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(:)55 b FD(129)399
+2302 y(4.1.19)93 b(GSL)30 b(sp)s(ecial)h(functions)18
+b Fv(:)e(:)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(:)48
+b FD(131)399 2412 y(4.1.20)93 b(GSL)30 b(in)m(terp)s(olation)11
+b Fv(:)17 b(:)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(:)h(:)f(:)g(:)h(:)f(:)
+h(:)f(:)g(:)h(:)41 b FD(139)399 2521 y(4.1.21)93 b(GSL)30
+b(least-squares)i(\014tting)19 b Fv(:)d(:)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(:)49 b FD(140)399 2631 y(4.1.22)93 b(GSL)30
+b(statistics)11 b Fv(:)17 b(:)f(:)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(:)h(:)f(:)g(:)41 b
+FD(142)399 2741 y(4.1.23)93 b(GSL)30 b(random)g(n)m(um)m(b)s(er)f
+(generation)10 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(:)40 b FD(144)399
+2850 y(4.1.24)93 b(Examples)31 b(ncap2)d Fv(:)15 b(:)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(:)g(:)h(:)f(:)58
+b FD(146)399 2960 y(4.1.25)93 b(In)m(trinsic)31 b(mathematical)h(metho)
+s(ds)20 b Fv(:)c(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
+f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)51 b FD(148)399 3069
+y(4.1.26)93 b(Op)s(erator)30 b(precedence)h(and)f(asso)s(ciativit)m(y)
+15 b Fv(:)j(:)e(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
+(:)h(:)45 b FD(150)399 3179 y(4.1.27)93 b(ID)31 b(Quoting)22
+b Fv(:)15 b(:)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(:)52 b FD(151)275
+3289 y(4.2)92 b Fy(ncatted)28 b FD(netCDF)j(A)m(ttribute)g(Editor)c
+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(:)57 b FD(153)275
+3398 y(4.3)92 b Fy(ncbo)29 b FD(netCDF)i(Binary)f(Op)s(erator)16
+b Fv(:)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(:)46
+b FD(159)275 3508 y(4.4)92 b Fy(nces)29 b FD(netCDF)i(Ensem)m(ble)f
+(Statistics)21 b Fv(:)c(:)e(:)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(:)51
+b FD(164)275 3617 y(4.5)92 b Fy(ncecat)28 b FD(netCDF)j(Ensem)m(ble)g
+(Concatenator)9 b Fv(:)16 b(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
+(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)39 b FD(167)275
+3727 y(4.6)92 b Fy(ncflint)28 b FD(netCDF)j(File)h(In)m(terp)s(olator)
+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(:)57 b FD(170)275
+3836 y(4.7)92 b Fy(ncks)29 b FD(netCDF)i(Kitc)m(hen)g(Sink)8
+b Fv(:)14 b(:)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(:)38 b FD(173)399 3946 y(Options)30 b(sp)s(eci\014c)g(to)h
+Fy(ncks)11 b Fv(:)k(:)g(:)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(:)41 b FD(174)399 4056
+y(4.7.2)93 b(Filters)31 b(for)f Fy(ncks)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(:)54 b FD(180)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(186)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(186)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(189)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(194)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(196)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(198)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(202)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(203)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(204)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.2)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(207)275 220 y FD(5.1)92 b(Con)m(tributors)15
+b Fv(:)f(:)i(:)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(:)f(:)g(:)h(:)f(:)45
+b FD(207)275 330 y(5.2)92 b(Prop)s(osals)30 b(for)g(Institutional)h(F)
+-8 b(unding)13 b Fv(:)i(:)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(:)43
+b FD(209)150 572 y FB(6)135 b(Quic)l(k)45 b(Start)26
+b Fw(:)20 b(:)f(:)g(:)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(:)70 b FB(211)275 709 y FD(6.1)92 b(Daily)31 b(data)g(in)f(one)h
+(\014le)11 b Fv(:)k(:)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(:)41 b FD(211)275 819
+y(6.2)92 b(Mon)m(thly)31 b(data)g(in)f(one)h(\014le)10
+b Fv(:)15 b(:)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(:)40 b FD(211)275 928 y(6.3)92 b(One)30
+b(time)h(p)s(oin)m(t)f(one)h(\014le)11 b Fv(:)16 b(:)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(:)41
+b FD(212)275 1038 y(6.4)92 b(Multiple)31 b(\014les)f(with)g(m)m
+(ultiple)h(time)g(p)s(oin)m(ts)13 b Fv(:)j(:)f(:)h(:)f(:)h(:)f(:)g(:)h
+(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)43
+b FD(212)150 1280 y FB(7)135 b Fu(CMIP5)45 b FB(Example)24
+b Fw(:)c(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)
+f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)68
+b FB(213)275 1417 y FD(7.1)92 b(Com)m(bine)30 b(Files)d
+Fv(:)15 b(:)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(:)56
+b FD(213)275 1527 y(7.2)92 b(Global)31 b(Distribution)g(of)f(Long-term)
+h(Av)m(erage)15 b Fv(:)j(:)e(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
+f(:)g(:)h(:)f(:)h(:)f(:)g(:)46 b FD(218)275 1636 y(7.3)92
+b(Ann)m(ual)30 b(Av)m(erage)i(o)m(v)m(er)g(Regions)26
+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(:)h(:)f(:)g(:)h(:)f(:)h(:)55
+b FD(221)275 1746 y(7.4)92 b(Mon)m(thly)31 b(Cycle)16
+b Fv(:)g(:)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(:)f(:)g(:)h(:)f(:)h
+(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)47
+b FD(228)275 1856 y(7.5)92 b(Regrid)30 b FC(MODIS)h FD(Data)10
+b Fv(:)17 b(:)e(:)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(:)40 b FD(231)275 1965
+y(7.6)92 b(Add)29 b(Co)s(ordinates)h(to)i FC(MODIS)e
+FD(Data)10 b Fv(:)18 b(:)d(:)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(:)41
+b FD(234)275 2075 y(7.7)92 b(P)m(erm)m(ute)31 b FC(MODIS)f
+FD(Co)s(ordinates)15 b Fv(:)h(:)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(:)45 b FD(235)150 2317 y FB(8)135 b(P)l(arallel)13
+b Fw(:)22 b(:)d(:)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(:)h(:)f(:)h(:)f(:)
+g(:)h(:)f(:)h(:)f(:)h(:)57 b FB(237)150 2587 y(9)135
+b(CCSM)44 b(Example)23 b Fw(:)e(:)f(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h
+(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)
+h(:)67 b FB(239)150 2857 y(10)135 b(References)20 b Fw(:)h(:)e(:)g(:)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(:)64
+b FB(247)150 3127 y(General)46 b(Index)24 b Fw(:)19 b(:)g(:)h(:)f(:)h
+(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
+h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)68
+b FB(249)p eop end
+%%Page: 1 7
+TeXDict begin 1 6 bop 150 -116 a FD(F)-8 b(orew)m(ord)3188
+b(1)150 299 y Fx(F)-13 b(orew)l(ord)150 548 y FC(NCO)28
+b FD(is)g(the)g(result)g(of)g(soft)m(w)m(are)h(needs)f(that)g(arose)h
+(while)f(I)g(w)m(ork)m(ed)g(on)g(pro)5 b(jects)28 b(funded)e(b)m(y)i
+FC(NCAR)p FD(,)150 658 y FC(NASA)p FD(,)45 b(and)c FC(ARM)p
+FD(.)73 b(Thinking)41 b(they)g(migh)m(t)h(pro)m(v)m(e)g(useful)f(as)g
+(to)s(ols)h(or)g(templates)g(to)g(others,)i(it)150 767
+y(is)39 b(m)m(y)g(pleasure)f(to)i(pro)m(vide)f(them)f(freely)h(to)h
+(the)f(scien)m(ti\014c)h(comm)m(unit)m(y)-8 b(.)67 b(Man)m(y)39
+b(users)f(\(most)i(of)150 877 y(whom)24 b(I)h(ha)m(v)m(e)h(nev)m(er)f
+(met\))g(ha)m(v)m(e)h(encouraged)g(the)f(dev)m(elopmen)m(t)h(of)f
+FC(NCO)p FD(.)39 b(Thanks)23 b(esp)s(cially)j(to)f(Jan)150
+986 y(P)m(olc)m(her,)i(Keith)d(Lindsa)m(y)-8 b(,)26 b(Arlindo)e(da)30
+b(Silv)-5 b(a,)26 b(John)d(Sheldon,)i(and)e(William)j(W)-8
+b(eib)s(el)25 b(for)f(stim)m(ulating)150 1096 y(suggestions)35
+b(and)e(corresp)s(ondence.)50 b(Y)-8 b(our)34 b(encouragmen)m(t)h
+(motiv)-5 b(ated)36 b(me)e(to)g(complete)h(the)f Fz(NCO)150
+1205 y(User)22 b(Guide)p FD(.)37 b(So)22 b(if)f(y)m(ou)h(lik)m(e)h
+FC(NCO)p FD(,)h(send)d(me)g(a)h(note!)39 b(I)30 b(should)21
+b(men)m(tion)h(that)g FC(NCO)f FD(is)h(not)g(connected)150
+1315 y(to)31 b(or)f(o\016cially)j(endorsed)c(b)m(y)h(Unidata,)i
+FC(A)n(CD)p FD(,)f FC(ASP)p FD(,)f FC(CGD)p FD(,)h(or)f(Nik)m(e.)150
+1694 y(Charlie)g(Zender)150 1803 y(Ma)m(y)i(1997)150
+1913 y(Boulder,)f(Colorado)275 2401 y(Ma)5 b(jor)28 b(feature)g(impro)m
+(v)m(emen)m(ts)h(en)m(title)g(me)f(to)g(write)g(another)g(F)-8
+b(orew)m(ord.)40 b(In)27 b(the)h(last)g(\014v)m(e)g(y)m(ears)150
+2511 y(a)f(lot)h(of)f(w)m(ork)g(has)g(b)s(een)f(done)h(to)h(re\014ne)e
+FC(NCO)p FD(.)39 b FC(NCO)27 b FD(is)g(no)m(w)g(an)g(op)s(en)f(source)h
+(pro)5 b(ject)27 b(and)g(app)s(ears)150 2620 y(to)39
+b(b)s(e)f(m)m(uc)m(h)g(healthier)h(for)f(it.)65 b(The)37
+b(list)i(of)g(illustrious)f(institutions)h(that)g(do)f(not)g(endorse)g
+FC(NCO)150 2730 y FD(con)m(tin)m(ues)31 b(to)h(gro)m(w,)f(and)f(no)m(w)
+g(includes)g FC(UCI)p FD(.)150 3108 y(Charlie)g(Zender)150
+3218 y(Octob)s(er)g(2000)150 3328 y(Irvine,)g(California)275
+3816 y(The)e(most)i(remark)-5 b(able)30 b(adv)-5 b(ances)30
+b(in)f FC(NCO)g FD(capabilities)i(in)e(the)g(last)i(few)e(y)m(ears)h
+(are)g(due)e(to)i(con-)150 3925 y(tributions)i(from)h(the)g(Op)s(en)e
+(Source)i(comm)m(unit)m(y)-8 b(.)50 b(Esp)s(ecially)33
+b(notew)m(orth)m(y)h(are)f(the)h(con)m(tributions)150
+4035 y(of)d(Henry)f(Buto)m(wsky)g(and)g(Rorik)h(P)m(eterson.)150
+4413 y(Charlie)f(Zender)150 4523 y(Jan)m(uary)g(2003)150
+4633 y(Irvine,)g(California)275 5121 y FC(NCO)56 b FD(w)m(as)h
+(generously)h(supp)s(orted)d(from)h(2004{2008)61 b(b)m(y)c(US)f
+(National)j(Science)f(F)-8 b(ounda-)150 5230 y(tion)50
+b(\()p FC(NSF)p FD(\))h(gran)m(t)g(I)s(IS-0431203)g(\()p
+Fy(http:)15 b(/)h(/)c(www)i(.)e(nsf)j(.)d(gov)j(/)d(awardsearch)h(/)f
+(showAward)h(.)f(do)j(?)150 5340 y(AwardNumber=0431203)p
+FD(\).)36 b(This)29 b(supp)s(ort)g(allo)m(w)m(ed)j(me)f(to)g(main)m
+(tain)g(and)f(extend)g(core)h FC(NCO)f FD(co)s(de,)p
+eop end
+%%Page: 2 8
+TeXDict begin 2 7 bop 150 -116 a FD(2)2672 b FC(NCO)30
+b FD(4.4.2)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
+(regression)g(testing)g(and)f(b)s(enc)m(hmarking;)k(Daniel)e(W)-8
+b(ang)41 b(de-)150 518 y(v)m(elop)s(ed)32 b(the)g(serv)m(er-side)h
+(capabilit)m(y)-8 b(,)34 b FC(SW)-9 b(AMP)p FD(;)33 b(and)f(Henry)f
+(Buto)m(wsky)-8 b(,)34 b(a)e(long-time)h(con)m(tributor,)150
+628 y(dev)m(elop)s(ed)24 b Fy(ncap2)p FD(.)37 b(This)23
+b(supp)s(ort)f(also)j(led)e FC(NCO)h FD(to)g(debut)f(in)h(professional)
+g(journals)f(and)g(meetings.)150 737 y(The)37 b(p)s(ersonal)g(and)h
+(professional)g(con)m(tacts)i(made)d(during)g(this)h(ev)m(olution)h(ha)
+m(v)m(e)g(b)s(een)e(immensely)150 847 y(rew)m(arding.)150
+1225 y(Charlie)30 b(Zender)150 1335 y(Marc)m(h)h(2008)150
+1445 y(Grenoble,)g(F)-8 b(rance)275 1933 y(The)27 b(end)f(of)i(the)g
+FC(NSF)g FD(SEI)f(gran)m(t)h(in)f(August,)h(2008)i(curtailed)e
+FC(NCO)f FD(dev)m(elopmen)m(t.)41 b(F)-8 b(ortunately)150
+2042 y(w)m(e)26 b(could)g(justify)g(supp)s(orting)e(Henry)i(Buto)m
+(wsky)g(on)g(other)g(researc)m(h)h(gran)m(ts)f(un)m(til)h(Ma)m(y)-8
+b(,)28 b(2010)g(while)150 2152 y(he)e(dev)m(elop)s(ed)h(the)g(k)m(ey)g
+Fy(ncap2)f FD(features)h(used)e(in)i(our)f(climate)i(researc)m(h.)40
+b(And)26 b(recen)m(tely)i(the)f(NASA)150 2262 y(A)m(CCESS)i(program)h
+(commenced)h(funding)e(NCO)h(supp)s(ort)e(for)j(netCDF4)g(group)f
+(functionalit)m(y)-8 b(.)150 2371 y(Th)m(us)29 b FC(NCO)h
+FD(will)h(gro)m(w)g(and)f(ev)-5 b(ade)31 b(bit-rot)g(for)f(the)h
+(foreseeable)h(future.)275 2531 y(On)38 b(a)h(p)s(ersonal)g(lev)m(el,)k
+(I)c(con)m(tin)m(ue)i(to)f(receiv)m(e)h(with)e(gratitude)h(the)f
+(thanks)g(of)g FC(NCO)g FD(users)f(at)150 2640 y(nearly)33
+b(ev)m(ery)g(scien)m(ti\014c)h(meeting)g(I)e(attend.)49
+b(P)m(eople)34 b(in)m(tro)s(duce)e(themselv)m(es,)j(shak)m(e)e(m)m(y)g
+(hand)f(and)150 2750 y(extol,)e(sometimes)g(rather)e(e\013usiv)m(ely)-8
+b(,)30 b(these)f(time-sa)m(ving)h(to)s(ols.)41 b(These)28
+b(exc)m(hanges)i(ligh)m(ten)f(me)g(lik)m(e)150 2859 y(an)m(ti-gra)m
+(vit)m(y)-8 b(.)49 b(Sometimes)32 b(I)g(da)m(ydream)f(ho)m(w)h(man)m(y)
+g(hours)f FC(NCO)g FD(has)h(turned)e(from)i(grun)m(t)f(w)m(ork)h(to)150
+2969 y(pro)s(ductiv)m(e)39 b(researc)m(h)h(for)g(researc)m(hers)f(w)m
+(orld-wide,)j(or)e(from)f(researc)m(h)h(in)m(to)g(early)g(happ)m(y)f
+(hours.)150 3078 y(It's)31 b(a)f(co)s(ol)i(feeling.)150
+3347 y(Charlie)e(Zender)150 3457 y(April,)g(2012)150
+3567 y(Irvine,)g(California)p eop end
+%%Page: 3 9
+TeXDict begin 3 8 bop 150 -116 a FD(Summary)3172 b(3)150
+299 y Fx(Summary)150 558 y FD(This)20 b(man)m(ual)g(describ)s(es)g
+FC(NCO)p FD(,)i(whic)m(h)f(stands)f(for)g(netCDF)h(Op)s(erators.)37
+b FC(NCO)20 b FD(is)g(a)h(suite)g(of)f(programs)150 667
+y(kno)m(wn)38 b(as)h Fz(op)s(erators)p FD(.)65 b(Eac)m(h)39
+b(op)s(erator)g(is)f(a)h(standalone,)j(command)c(line)h(program)f
+(executed)h(at)150 777 y(the)g(shell-lev)m(el)i(lik)m(e,)i(e.g.,)g
+Fy(ls)38 b FD(or)h Fy(mkdir)p FD(.)65 b(The)39 b(op)s(erators)g(tak)m
+(e)h(netCDF)g(\014les)f(\(including)g FC(HDF5)150 887
+y FD(\014les)30 b(constructed)g(using)g(the)g(netCDF)h
+FC(API)p FD(\))f(as)g(input,)f(p)s(erform)g(an)h(op)s(eration)g
+(\(e.g.,)i(a)m(v)m(eraging)h(or)150 996 y(h)m(yp)s(erslabbing\),)25
+b(and)f(pro)s(duce)g(a)h(netCDF)g(\014le)g(as)g(output.)39
+b(The)24 b(op)s(erators)h(are)g(primarily)f(designed)150
+1106 y(to)32 b(aid)g(manipulation)f(and)g(analysis)h(of)f(data.)44
+b(The)31 b(examples)h(in)f(this)g(do)s(cumen)m(tation)i(are)e(t)m
+(ypical)150 1215 y(applications)37 b(of)e(the)h(op)s(erators)f(for)g
+(pro)s(cessing)g(climate)i(mo)s(del)f(output.)55 b(This)34
+b(stems)i(from)f(their)150 1325 y(origin,)c(though)f(the)h(op)s
+(erators)f(are)h(as)g(general)g(as)g(netCDF)g(itself.)p
+eop end
+%%Page: 4 10
+TeXDict begin 4 9 bop eop end
+%%Page: 5 11
+TeXDict begin 5 10 bop 150 -116 a FD(Chapter)30 b(1:)41
+b(In)m(tro)s(duction)2592 b(5)150 299 y Fx(1)80 b(In)l(tro)t(duction)
+150 649 y FB(1.1)68 b(Av)-7 b(ailabilit)l(y)150 809 y
+FD(The)27 b(complete)j FC(NCO)d FD(source)i(distribution)e(is)h(curren)
+m(tly)g(distributed)f(as)h(a)g Fz(compressed)g(tar\014le)33
+b FD(from)150 918 y Fy(http:)8 b(/)g(/)e(sf)i(.)e(net)i(/)e(projects)i
+(/)e(nco)37 b FD(and)j(from)g Fy(http:)8 b(/)g(/)e(dust)i(.)e(ess)i(.)e
+(uci)i(.)e(edu)i(/)e(nco)i(/)e(nco)i(.)e(tar)i(.)150
+1028 y(gz)p FD(.)84 b(The)44 b(compressed)h(tar\014le)h(m)m(ust)e(b)s
+(e)h(uncompressed)e(and)i(un)m(tarred)f(b)s(efore)h(building)f
+FC(NCO)p FD(.)150 1138 y(Uncompress)30 b(the)h(\014le)g(with)g(`)p
+Fy(gunzip)e(nco.tar.gz)p FD('.)39 b(Extract)32 b(the)f(source)g
+(\014les)f(from)h(the)g(resulting)150 1247 y(tar\014le)39
+b(with)g(`)p Fy(tar)29 b(-xvf)h(nco.tar)p FD('.)64 b
+FC(GNU)39 b Fy(tar)f FD(lets)h(y)m(ou)g(p)s(erform)f(b)s(oth)f(op)s
+(erations)i(in)g(one)g(step)150 1357 y(with)30 b(`)p
+Fy(tar)g(-xvzf)f(nco.tar.gz)p FD('.)275 1519 y(The)d(do)s(cumen)m
+(tation)h(for)g FC(NCO)f FD(is)h(called)h(the)f Fz(NCO)f(User)h(Guide)p
+FD(.)39 b(The)26 b Fz(User)h(Guide)32 b FD(is)27 b(a)m(v)-5
+b(ailable)150 1628 y(in)37 b FC(PDF)p FD(,)j(P)m(ostscript,)h
+FC(HTML)p FD(,)f FC(D)n(VI)p FD(,)g(T)1550 1648 y(E)1600
+1628 y(Xinfo,)f(and)e(Info)h(formats.)62 b(These)38 b(formats)g(are)g
+(included)150 1738 y(in)43 b(the)g(source)g(distribution)g(in)f(the)i
+(\014les)f Fy(nco.pdf)p FD(,)h Fy(nco.ps)p FD(,)h Fy(nco.html)p
+FD(,)f Fy(nco.dvi)p FD(,)h Fy(nco.texi)p FD(,)150 1848
+y(and)c Fy(nco.info*)p FD(,)h(resp)s(ectiv)m(ely)-8 b(.)77
+b(All)42 b(the)g(do)s(cumen)m(tation)g(descends)f(from)g(a)h(single)h
+(source)f(\014le,)150 1957 y Fy(nco.texi)534 1924 y Ft(1)569
+1957 y FD(.)d(Hence)27 b(the)f(do)s(cumen)m(tation)h(in)f(ev)m(ery)h
+(format)f(is)h(v)m(ery)f(similar.)40 b(Ho)m(w)m(ev)m(er,)29
+b(some)d(of)h(the)150 2067 y(complex)34 b(mathematical)j(expressions)c
+(needed)g(to)i(describ)s(e)e Fy(ncwa)g FD(can)h(only)f(b)s(e)h(displa)m
+(y)m(ed)g(in)f FC(D)n(VI)p FD(,)150 2176 y(P)m(ostscript,)f(and)d
+FC(PDF)i FD(formats.)275 2338 y(A)25 b(complete)i(list)f(of)g(pap)s
+(ers)f(and)g(publications)g(on/ab)s(out)h FC(NCO)f FD(is)h(a)m(v)-5
+b(ailable)28 b(on)d(the)h FC(NCO)g FD(home-)150 2448
+y(page.)41 b(Most)31 b(of)f(these)g(are)g(freely)h(a)m(v)-5
+b(ailable.)42 b(The)30 b(primary)f(refereed)g(publications)h(are)h
+(ZeM06)g(and)150 2557 y(Zen08.)54 b(These)34 b(con)m(tain)i(cop)m
+(yrigh)m(t)g(restrictions)f(whic)m(h)g(limit)g(their)g(redistribution,)
+g(but)f(they)h(are)150 2667 y(freely)c(a)m(v)-5 b(ailable)32
+b(in)f(preprin)m(t)e(form)h(from)g(the)g FC(NCO)p FD(.)275
+2829 y(If)19 b(y)m(ou)i(w)m(an)m(t)g(to)g(quic)m(kly)h(see)f(what)f
+(the)g(latest)i(impro)m(v)m(emen)m(ts)g(in)e FC(NCO)g
+FD(are)h(\(without)g(do)m(wnloading)150 2939 y(the)j(en)m(tire)g
+(source)g(distribution\),)h(visit)f(the)f FC(NCO)h FD(homepage)g(at)g
+Fy(http://nco.sf.net)p FD(.)34 b(The)23 b FC(HTML)150
+3048 y FD(v)m(ersion)39 b(of)g(the)g Fz(User)g(Guide)44
+b FD(is)38 b(also)i(a)m(v)-5 b(ailable)41 b(online)e(through)f(the)h(W)
+-8 b(orld)40 b(Wide)f(W)-8 b(eb)39 b(at)h FC(URL)150
+3158 y Fy(http:)q(/)q(/)q(nco)q(.)q(sf)q(.)q(net)q(/)q(nco)q(.)q(html)p
+FD(.)h(T)-8 b(o)33 b(build)e(and)g(use)h FC(NCO)p FD(,)h(y)m(ou)f(m)m
+(ust)g(ha)m(v)m(e)h(netCDF)g(installed.)150 3267 y(The)d(netCDF)h
+(homepage)g(is)g Fy(http://www.unidata.ucar)o(.ed)o(u/pa)o(ckag)o(es/)o
+(netc)o(df)p FD(.)275 3429 y(New)d FC(NCO)h FD(releases)g(are)g
+(announced)f(on)g(the)h(netCDF)g(list)h(and)e(on)g(the)h
+Fy(nco-announce)c FD(mailing)150 3539 y(list)31 b Fy
+(http://lists.sf.net/mail)o(man/)o(list)o(inf)o(o/nc)o(o-an)o(nou)o
+(nce)p FD(.)150 3779 y FB(1.2)68 b(Ho)l(w)46 b(to)f(Use)h(This)e(Guide)
+150 3939 y FD(Detailed)37 b(instructions)d(ab)s(out)h(ho)m(w)f(to)i(do)
+m(wnload)f(the)f(new)m(est)i(v)m(ersion)f(\()p Fy(http:)t(/)t(/)s(nco)t
+(.)s(sf)t(.)s(n)o(et)s(/)6 b(#)150 4048 y(Source)p FD(\),)35
+b(and)f(ho)m(w)h(to)h(complie)g(source)f(co)s(de)g(\()p
+Fy(http:)t(/)t(/)s(nco)t(.)s(sf)t(.)s(net)t(/)7 b(#)s(bl)o(d)p
+FD(\),)31 b(as)k(w)m(ell)h(as)f(a)g FC(F)-9 b(A)n(Q)150
+4158 y FD(\()p Fy(http:)q(/)q(/nco)q(.sf)q(.net)q(/)q(#FAQ)o
+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.2\).)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(101.)42 b(Man)m(y)30 b(of)g(the)g(tasks)h(that)f
+FC(NCO)150 4649 y FD(can)h(accomplish)g(are)g(describ)s(ed)f(during)f
+(the)i(explanation)g(of)g(common)g FC(NCO)f FD(F)-8 b(eatures)32
+b(\(see)g(Chap-)150 4758 y(ter)24 b(3)g([Common)f(features],)j(page)e
+(25\).)40 b(More)24 b(sp)s(eci\014c)g(use)f(examples)h(for)f(eac)m(h)i
+(op)s(erator)f(can)g(b)s(e)f(seen)150 4868 y(b)m(y)35
+b(visiting)h(the)f(op)s(erator-sp)s(eci\014c)g(examples)h(in)e(the)h
+(Chapter)g(4)g([Op)s(erator)g(Reference)h(Man)m(ual],)p
+150 4979 1200 4 v 199 5047 a Ft(1)304 5078 y Fs(T)-6
+b(o)29 b(pro)r(duce)h(these)f(formats,)j Fr(nco.texi)f
+Fs(w)n(as)f(simply)g(run)e(through)h(the)g(freely)h(a)n(v)l(ailable)g
+(programs)h Fr(texi2dvi)p Fs(,)275 5166 y Fr(dvips)p
+Fs(,)f Fr(texi2html)p Fs(,)i(and)c Fr(makeinfo)p Fs(.)45
+b(Due)28 b(to)g(a)h(bug)f(in)h(T)2069 5182 y(E)2112 5166
+y(X,)g(the)f(resulting)h(P)n(ostscript)h(\014le,)g Fr(nco.ps)p
+Fs(,)g(con)n(tains)275 5253 y(the)h(T)-6 b(able)33 b(of)g(Con)n(ten)n
+(ts)f(as)g(the)g(\014nal)g(pages.)54 b(Th)n(us)32 b(if)h(y)n(ou)f(prin)
+n(t)f Fr(nco.ps)p Fs(,)k(remem)n(b)r(er)d(to)h(insert)f(the)g(T)-6
+b(able)32 b(of)275 5340 y(Con)n(ten)n(ts)25 b(after)i(the)e(co)n(v)n
+(er)h(sheet)f(b)r(efore)i(y)n(ou)e(staple)h(the)g(man)n(ual.)p
+eop end
+%%Page: 6 12
+TeXDict begin 6 11 bop 150 -116 a FD(6)2672 b FC(NCO)30
+b FD(4.4.2)j(User)d(Guide)150 299 y(page)d(101.)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
+(html)t(#)s(xmp_ncks)p FD(.)51 b(Also,)38 b(users)d(can)h(t)m(yp)s(e)g
+(the)g(op)s(erator)g(name)150 518 y(on)29 b(the)h(shell)f(command)g
+(line)h(to)g(see)g(all)g(the)g(a)m(v)-5 b(ailable)32
+b(options,)e(or)f(t)m(yp)s(e,)h(e.g.,)h(`)p Fy(man)f(ncks)p
+FD(')e(to)j(see)f(a)150 628 y(help)g(man-page.)275 788
+y FC(NCO)25 b FD(is)h(a)g(command-line)g(language.)41
+b(Y)-8 b(ou)26 b(can)g(either)g(use)f(an)h(op)s(erator)g(after)g(the)g
+(prompt)f(\(e.g.,)150 897 y(`)p Fy($)p FD(')31 b(here\),)f(lik)m(e,)390
+1057 y Fy($)47 b(operator)f([options])f(input)i([output])275
+1217 y FD(or)28 b(write)h(all)h(commands)e(lines)h(in)m(to)h(a)f(shell)
+g(script,)g(as)g(in)f(the)h FC(CMIP5)f FD(Example)h(\(see)g(Chapter)g
+(7)150 1327 y([CMIP5)i(Example],)g(page)g(213\).)275
+1487 y(If)h(y)m(ou)h(are)g(new)g(to)g FC(NCO)p FD(,)h(the)f(Quic)m(k)g
+(Start)g(\(see)h(Chapter)e(6)h([Quic)m(k)h(Start],)g(page)g(211\))g
+(sho)m(ws)150 1597 y(simple)26 b(examples)g(ab)s(out)g(ho)m(w)g(to)g
+(use)g FC(NCO)f FD(on)h(di\013eren)m(t)g(kinds)f(of)h(data)h(\014les.)
+39 b(More)27 b(detailed)g(\\real-)150 1706 y(w)m(orld")34
+b(examples)h(are)g(in)f(the)g(Chapter)f(7)i([CMIP5)f(Example],)i(page)f
+(213.)53 b(The)34 b([General)h(Index],)150 1816 y(page)i(249)g(is)e
+(presen)m(ts)h(m)m(ultiple)h(k)m(eyw)m(ord)f(en)m(tries)g(for)g(the)g
+(same)g(sub)5 b(ject.)57 b(If)35 b(these)h(resources)g(do)150
+1925 y(not)31 b(help)f(enough,)g(please)h(see)g(Section)g(1.7)h([Help)f
+(Requests)f(and)g(Bug)h(Rep)s(orts],)f(page)h(12.)150
+2160 y FB(1.3)68 b(Op)t(erating)46 b(systems)f(compatible)i(with)e
+Fu(NCO)150 2319 y FC(NCO)26 b FD(has)f(b)s(een)h(successfully)g(p)s
+(orted)f(and)g(tested)i(and)f(is)g(kno)m(wn)f(to)i(w)m(ork)f(on)g(the)g
+(follo)m(wing)h(32-)h(and)150 2429 y(64-bit)h(platforms:)40
+b FC(IBM)25 b(AIX)j FD(4.x,)i(5.x,)f(F)-8 b(reeBSD)29
+b(4.x,)g FC(GNU)p FD(/Lin)m(ux)g(2.x,)g(Lin)m(uxPPC,)e(Lin)m(uxAlpha,)
+150 2538 y(Lin)m(uxARM,)e(Lin)m(uxSparc64,)i FC(SGI)c(IRIX)i
+FD(5.x)h(and)f(6.x,)i(MacOS)k(X)25 b(10.x,)j FC(NEC)d
+FD(Sup)s(er-UX)f(10.x,)j FC(DEC)150 2648 y(OSF)p FD(,)f(Sun)d(SunOS)g
+(4.1.x,)k(Solaris)f(2.x,)h FC(Cra)n(y)21 b(UNICOS)k FD(8.x{10.x,)j(and)
+c(MS)h(Windo)m(ws95)h(and)e(all)i(later)150 2758 y(v)m(ersions.)51
+b(If)34 b(y)m(ou)g(p)s(ort)f(the)h(co)s(de)g(to)h(a)f(new)f(op)s
+(erating)h(system,)h(please)g(send)e(me)h(a)g(note)g(and)g(an)m(y)150
+2867 y(patc)m(hes)d(y)m(ou)g(required.)275 3027 y(The)40
+b(ma)5 b(jor)41 b(prerequisite)h(for)f(installing)h FC(NCO)f
+FD(on)g(a)h(particular)f(platform)g(is)h(the)f(successful,)150
+3137 y(prior)35 b(installation)i(of)f(the)f(netCDF)h(library)f(\(and,)i
+(as)f(of)f(2003,)k(the)c(UDUnits)i(library\).)55 b(Unidata)150
+3246 y(has)31 b(sho)m(wn)g(a)g(commitmen)m(t)i(to)f(main)m(taining)g
+(netCDF)g(and)f(UDUnits)h(on)f(all)h(p)s(opular)e FC(UNIX)i
+FD(plat-)150 3356 y(forms,)23 b(and)f(is)g(mo)m(ving)h(to)m(w)m(ards)f
+(full)g(supp)s(ort)e(for)i(the)g(Microsoft)i(Windo)m(ws)e(op)s(erating)
+g(system)g(\()p FC(OS)p FD(\).)150 3466 y(Giv)m(en)35
+b(this,)f(the)g(only)g(di\016cult)m(y)g(in)f(implemen)m(ting)i
+FC(NCO)e FD(on)h(a)g(particular)g(platform)g(is)f(standard-)150
+3575 y(ization)38 b(of)e(v)-5 b(arious)36 b(C)o(-language)i(API)e
+(system)g(calls.)59 b FC(NCO)35 b FD(co)s(de)i(is)f(tested)g(for)g
+FC(ANSI)h FD(compliance)150 3685 y(b)m(y)45 b(compiling)h(with)f(C99)31
+b(compilers)45 b(including)g(those)h(from)e FC(GNU)i
+FD(\(`)p Fy(gcc)30 b(-std=c99)e(-pedantic)150 3794 y(-D_BSD_SOURCE)f
+(-D_POSIX_SOURCE)p FD(')59 b(-W)-8 b(all\))1850 3761
+y Ft(2)1890 3794 y FD(,)71 b(Comeau)64 b(Computing)e(\(`)p
+Fy(como)30 b(--c99)p FD('\),)71 b(Cra)m(y)150 3904 y(\(`)p
+Fy(cc)p FD('\),)25 b FC(HP)p FD(/Compaq/)p FC(DEC)d FD(\(`)p
+Fy(cc)p FD('\),)j FC(IBM)d FD(\(`)p Fy(xlc)30 b(-c)g(-qlanglvl=extc99)p
+FD('\),)20 b(In)m(tel)j(\(`)p Fy(icc)30 b(-std=c99)p
+FD('\),)150 4013 y FC(LL)-9 b(VM)32 b FD(\(`)p Fy(clang)p
+FD('\),)h FC(NEC)f FD(\(`)p Fy(cc)p FD('\),)h(P)m(athScale)h
+(\(QLogic\))g(\(`)p Fy(pathcc)29 b(-std=c99)p FD('\),)j
+FC(PGI)f FD(\(`)p Fy(pgcc)f(-c9x)p FD('\),)150 4123 y
+FC(SGI)54 b FD(\(`)p Fy(cc)31 b(-c99)p FD('\),)59 b(and)54
+b(Sun)e(\(`)p Fy(cc)p FD('\).)113 b FC(NCO)53 b FD(\(all)j(commands)d
+(and)h(the)g Fy(libnco)f FD(library\))h(and)150 4233
+y(the)59 b(C)p Fy(++)g FD(in)m(terface)h(to)g(netCDF)g(\(called)h
+Fy(libnco_c++)p FD(\))c(comply)i(with)g(the)g FC(ISO)g
+FD(C)p Fy(++)g FD(stan-)150 4342 y(dards)39 b(as)i(implemen)m(ted)g(b)m
+(y)g(Comeau)f(Computing)g(\(`)p Fy(como)p FD('\),)k(Cra)m(y)c(\(`)p
+Fy(CC)p FD('\),)k FC(GNU)d FD(\(`)p Fy(g++)31 b(-Wall)p
+FD('\),)150 4452 y FC(HP)p FD(/Compaq/)p FC(DEC)g FD(\(`)p
+Fy(cxx)p FD('\),)h FC(IBM)f FD(\(`)p Fy(xlC)p FD('\),)h(In)m(tel)g(\(`)
+p Fy(icc)p FD('\),)f(Microsoft)i(\(`)p Fy(MVS)p FD('\),)f
+FC(NEC)e FD(\(`)p Fy(c++)p FD('\),)i(P)m(ath-)150 4561
+y(Scale)j(\(Qlogic\))i(\(`)p Fy(pathCC)p FD('\),)d FC(PGI)g
+FD(\(`)p Fy(pgCC)p FD('\),)i FC(SGI)e FD(\(`)p Fy(CC)c(-LANG:std)p
+FD('\),)k(and)g(Sun)e(\(`)p Fy(CC)f(-LANG:std)p FD('\).)150
+4671 y(See)38 b Fy(nco/bld/Makefile)33 b FD(and)38 b
+Fy(nco/src/nco_c++/Makefil)o(e.ol)o(d)32 b FD(for)37
+b(more)h(details)h(and)e(exact)150 4781 y(settings.)275
+4941 y(Un)m(til)31 b(recen)m(tly)h(\(and)e(not)h(ev)m(en)g(y)m(et\),)h
+FC(ANSI)p FD(-complian)m(t)h(has)d(mean)m(t)i(compliance)f(with)g(the)f
+(1989)150 5050 y FC(ISO)22 b FD(C-standard,)h(usually)g(called)g(C89)g
+(\(with)g(minor)e(revisions)i(made)f(in)h(1994)h(and)d(1995\).)41
+b(C89)23 b(lac)m(ks)p 150 5154 1200 4 v 199 5221 a Ft(2)304
+5253 y Fs(The)31 b(`)p Fr(_BSD_SOURCE)p Fs(')i(tok)n(en)c(is)i
+(required)e(on)h(some)h(Lin)n(ux)e(platforms)j(where)e
+Fr(gcc)h Fs(dislik)n(es)f(the)g(net)n(w)n(ork)g(header)275
+5340 y(\014les)c(lik)n(e)f Fr(netinet/in.h)p Fs(\).)p
+eop end
+%%Page: 7 13
+TeXDict begin 7 12 bop 150 -116 a FD(Chapter)30 b(1:)41
+b(In)m(tro)s(duction)2592 b(7)150 299 y(v)-5 b(ariable-size)31
+b(arra)m(ys,)f(restricted)g(p)s(oin)m(ters,)f(some)h(useful)e
+Fy(printf)f FD(formats,)j(and)e(man)m(y)i(mathemat-)150
+408 y(ical)k(sp)s(ecial)g(functions.)48 b(These)33 b(are)g(v)-5
+b(aluable)33 b(features)h(of)f(C99,)h(the)f(1999)i FC(ISO)e
+FD(C-standard.)47 b FC(NCO)150 518 y FD(is)33 b(C99-complian)m(t)j
+(where)d(p)s(ossible)f(and)h(C89-complian)m(t)j(where)d(necessary)-8
+b(.)50 b(Certain)33 b(branc)m(hes)g(in)150 628 y(the)g(co)s(de)g(are)f
+(required)g(to)h(satisfy)g(the)g(nativ)m(e)h FC(SGI)f
+FD(and)f(SunOS)e(C)g(compilers,)k(whic)m(h)e(are)h(strictly)150
+737 y FC(ANSI)25 b FD(C89)g(complian)m(t,)j(and)c(cannot)h(b)s
+(ene\014t)f(from)g(C99)i(features.)39 b(Ho)m(w)m(ev)m(er,)28
+b(C99)d(features)g(are)g(fully)150 847 y(supp)s(orted)g(b)m(y)j(mo)s
+(dern)e FC(AIX)p FD(,)i FC(GNU)p FD(,)h(In)m(tel,)g FC(NEC)p
+FD(,)f(Solaris,)g(and)f FC(UNICOS)g FD(compilers.)40
+b FC(NCO)27 b FD(requires)150 956 y(a)k(C99-complian)m(t)h(compiler)f
+(as)g(of)f FC(NCO)h FD(v)m(ersion)f(2.9.8)r(,)h(released)g(in)f
+(August,)g(2004.)275 1121 y(The)40 b(most)h(time-in)m(tensiv)m(e)j(p)s
+(ortion)c(of)h FC(NCO)g FD(execution)h(is)f(sp)s(en)m(t)g(in)f
+(arithmetic)i(op)s(erations,)150 1230 y(e.g.,)g(m)m(ultiplication,)h(a)
+m(v)m(eraging,)g(subtraction.)65 b(These)38 b(op)s(erations)h(w)m(ere)g
+(p)s(erformed)e(in)h(F)-8 b(ortran)150 1340 y(b)m(y)36
+b(default)h(un)m(til)f(August,)i(1999.)60 b(This)35 b(w)m(as)i(a)g
+(design)f(decision)h(based)e(on)i(the)f(relativ)m(e)i(sp)s(eed)e(of)150
+1449 y(F)-8 b(ortran-based)23 b(ob)5 b(ject)23 b(co)s(de)f(vs.)g
+(C-based)g(ob)5 b(ject)23 b(co)s(de)g(in)e(late)j(1994.)40
+b(C)30 b(compiler)22 b(v)m(ectorization)k(ca-)150 1559
+y(pabilities)j(ha)m(v)m(e)g(dramatically)g(impro)m(v)m(ed)f(since)g
+(1994.)42 b(W)-8 b(e)29 b(ha)m(v)m(e)g(accordingly)f(replaced)h(all)f
+(F)-8 b(ortran)150 1669 y(subroutines)23 b(with)h(C)30
+b(functions.)38 b(This)24 b(greatly)i(simpli\014es)e(the)g(task)h(of)g
+(building)e FC(NCO)h FD(on)h(nominally)150 1778 y(unsupp)s(orted)33
+b(platforms.)58 b(As)36 b(of)g(August)g(1999,)j FC(NCO)d
+FD(built)f(en)m(tirely)j(in)30 b(C)35 b(b)m(y)h(default.)58
+b(This)35 b(al-)150 1888 y(lo)m(w)m(ed)c FC(NCO)e FD(to)h(compile)g(on)
+f(an)m(y)h(mac)m(hine)g(with)f(an)h FC(ANSI)g FD(C)g(compiler.)41
+b(In)28 b(August)h(2004,)j(the)e(\014rst)150 1997 y(C99)37
+b(feature,)i(the)e Fy(restrict)d FD(t)m(yp)s(e)j(quali\014er,)h(en)m
+(tered)f FC(NCO)f FD(in)h(v)m(ersion)g(2.9.8.)61 b(C)30
+b(compilers)37 b(can)150 2107 y(obtain)25 b(b)s(etter)f(p)s(erformance)
+g(with)g(C99)h(restricted)g(p)s(oin)m(ters)f(since)g(they)h(inform)f
+(the)g(compiler)h(when)150 2217 y(it)30 b(ma)m(y)g(mak)m(e)h(F)-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
+(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
+FC(GSL)g FD(sp)s(e-)150 2710 y(cial)34 b(function)e(library)h(to)g(ev)
+-5 b(aluate)35 b(geoscience-relev)-5 b(an)m(t)37 b(mathematics)d(suc)m
+(h)e(as)h(Bessel)h(functions,)150 2819 y(Legendre)j(p)s(olynomials,)i
+(and)e(incomplete)h(gamma)g(functions)f(\(see)h(Section)g(4.1.19)h
+([GSL)e(sp)s(ecial)150 2929 y(functions],)30 b(page)i(131\).)275
+3093 y(In)40 b(June)g(2005,)45 b FC(NCO)c FD(v)m(ersion)g(3.0.1)i(b)s
+(egan)e(to)g(tak)m(e)i(adv)-5 b(an)m(tage)43 b(of)e(C99)g(mathematical)
+i(sp)s(e-)150 3203 y(cial)36 b(functions.)55 b(These)35
+b(include)g(the)g(standarized)g(gamma)h(function)f(\(called)i
+Fy(tgamma\(\))c FD(for)i(\\true)150 3312 y(gamma"\).)60
+b FC(NCO)37 b FD(automagically)i(tak)m(es)f(adv)-5 b(an)m(tage)38
+b(of)f(some)g FC(GNU)g FD(Compiler)f(Collection)i(\()p
+FC(GCC)p FD(\))150 3422 y(extensions)31 b(to)g FC(ANSI)g
+FD(C.)275 3586 y(As)38 b(of)h(July)f(2000)j(and)d FC(NCO)g
+FD(v)m(ersion)31 b(1.2)q(,)41 b FC(NCO)e FD(no)f(longer)i(p)s(erforms)d
+(arithmetic)j(op)s(erations)150 3696 y(in)f(F)-8 b(ortran.)69
+b(W)-8 b(e)41 b(decided)f(to)g(sacri\014ce)g(executable)h(sp)s(eed)e
+(for)g(co)s(de)h(main)m(tainabilit)m(y)-8 b(.)71 b(Since)40
+b(no)150 3805 y(ob)5 b(jectiv)m(e)43 b(statistics)g(w)m(ere)f(ev)m(er)g
+(p)s(erformed)e(to)h(quan)m(tify)h(the)f(di\013erence)h(in)f(sp)s(eed)f
+(b)s(et)m(w)m(een)i(the)150 3915 y(F)-8 b(ortran)35 b(and)f(C)c(co)s
+(de,)35 b(the)g(p)s(erformance)e(p)s(enalt)m(y)i(incurred)e(b)m(y)h
+(this)g(decision)h(is)f(unkno)m(wn.)51 b(Sup-)150 4025
+y(p)s(orting)37 b(F)-8 b(ortran)39 b(in)m(v)m(olv)m(es)h(main)m
+(taining)f(t)m(w)m(o)g(sets)f(of)g(routines)g(for)g(ev)m(ery)g
+(arithmetic)h(op)s(eration.)150 4134 y(The)d Fy(USE_FORTRAN_ARITHMETIC)
+31 b FD(\015ag)37 b(is)g(still)h(retained)f(in)f(the)h
+Fy(Makefile)p FD(.)58 b(The)36 b(\014le)h(con)m(taining)150
+4244 y(the)25 b(F)-8 b(ortran)25 b(co)s(de,)i Fy(nco_fortran.F)p
+FD(,)22 b(has)i(b)s(een)g(deprecated)i(but)e(a)h(v)m(olun)m(teer)h
+(\(Dr.)31 b(F)-8 b(rank)m(enstein)q(?\))150 4353 y(could)26
+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
+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
+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
+(compiler)i(with)e(`)p Fr(-Drestrict='')p Fs('.)p eop
+end
+%%Page: 8 14
+TeXDict begin 8 13 bop 150 -116 a FD(8)2672 b FC(NCO)30
+b FD(4.4.2)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
+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
+FD(,)e(and)i(header)g(\014les)g Fy(<arpa/nameser.h>)d
+FD(and)150 1763 y Fy(<resolv.h>)p FD(\).)35 b(F)-8 b(ortunately)g(,)25
+b(these)c FC(UNIX)p FD(-y)h(calls)g(are)g(only)f(in)m(v)m(ok)m(ed)h(b)m
+(y)f(the)g(single)g FC(NCO)g FD(subroutine)150 1873 y(whic)m(h)32
+b(is)h(resp)s(onsible)f(for)g(retrieving)i(\014les)e(stored)h(on)f
+(remote)i(systems)f(\(see)g(Section)h(3.7)f([Remote)150
+1983 y(storage],)45 b(page)c(30\).)71 b(In)40 b(order)g(to)h(supp)s
+(ort)d FC(NCO)i FD(on)h(the)f(Microsoft)i(Windo)m(ws)e(platforms,)j
+(this)150 2092 y(single)38 b(feature)f(w)m(as)h(disabled)f(\(on)g
+(Windo)m(ws)g FC(OS)g FD(only\).)61 b(This)36 b(w)m(as)i(required)e(b)m
+(y)h(Cygwin)30 b(18.x)q(|)150 2202 y(new)m(er)38 b(v)m(ersions)h(of)g
+(Cygwin)e(ma)m(y)i(supp)s(ort)e(these)i(proto)s(cols)g(\(let)h(me)e
+(kno)m(w)h(if)f(this)g(is)h(the)f(case\).)150 2311 y(The)28
+b FC(NCO)g FD(op)s(erators)g(should)f(b)s(eha)m(v)m(e)i(iden)m(tically)
+h(on)e(Windo)m(ws)g(and)g FC(UNIX)h FD(platforms)f(in)g(all)h(other)150
+2421 y(resp)s(ects.)150 2652 y FB(1.4)68 b(Sym)l(b)t(olic)45
+b(Links)150 2811 y FC(NCO)34 b FD(relies)g(on)g(a)g(common)g(set)g(of)g
+(underlying)f(algorithms.)52 b(T)-8 b(o)34 b(minimize)h(duplication)f
+(of)g(source)150 2921 y(co)s(de,)27 b(m)m(ultiple)g(op)s(erators)e
+(sometimes)i(share)f(the)g(same)g(underlying)e(source.)40
+b(This)24 b(is)i(accomplished)150 3031 y(b)m(y)42 b(sym)m(b)s(olic)h
+(links)g(from)f(a)g(single)i(underlying)d(executable)j(program)e(to)i
+(one)e(or)h(more)f(in)m(v)m(ok)m(ed)150 3140 y(executable)j(names.)79
+b(F)-8 b(or)43 b(example,)48 b Fy(nces)42 b FD(and)g
+Fy(ncrcat)g FD(are)h(sym)m(b)s(olically)i(link)m(ed)e(to)h(the)f
+Fy(ncra)150 3250 y FD(executable.)j(The)31 b Fy(ncra)f
+FD(executable)j(b)s(eha)m(v)m(es)g(sligh)m(tly)f(di\013eren)m(tly)h
+(based)e(on)g(its)h(in)m(v)m(o)s(cation)i(name)150 3359
+y(\(i.e.,)j(`)p Fy(argv[0])p FD('\),)d(whic)m(h)g(can)g(b)s(e)f
+Fy(nces)p FD(,)h Fy(ncra)p FD(,)g(or)g Fy(ncrcat)p FD(.)50
+b(Logically)-8 b(,)38 b(these)d(are)f(three)g(di\013eren)m(t)150
+3469 y(op)s(erators)d(that)f(happ)s(en)f(to)i(share)f(the)h(same)g
+(executable.)275 3628 y(F)-8 b(or)27 b(historical)g(reasons,)h(and)e
+(to)h(b)s(e)e(more)i(user)e(friendly)-8 b(,)27 b(m)m(ultiple)h(synon)m
+(yms)d(\(or)i(pseudon)m(yms\))150 3738 y(ma)m(y)39 b(refer)f(to)h(the)f
+(same)h(op)s(erator)f(in)m(v)m(ok)m(ed)i(with)e(di\013eren)m(t)g(switc)
+m(hes.)65 b(F)-8 b(or)39 b(example,)i Fy(ncdiff)c FD(is)150
+3848 y(the)31 b(same)f(as)h Fy(ncbo)e FD(and)h Fy(ncpack)e
+FD(is)j(the)f(same)h(as)f Fy(ncpdq)p FD(.)40 b(W)-8 b(e)31
+b(implemen)m(t)g(the)g(sym)m(b)s(olic)f(links)h(and)150
+3957 y(synon)m(yms)f(b)m(y)g(the)g(executing)i(the)f(follo)m(wing)g
+FC(UNIX)g FD(commands)f(in)g(the)h(directory)g(where)f(the)g
+FC(NCO)150 4067 y FD(executables)i(are)f(installed.)390
+4226 y Fy(ln)47 b(-s)g(-f)h(ncbo)e(ncdiff)189 b(#)48
+b(ncbo)f(--op_typ='+')390 4336 y(ln)g(-s)g(-f)h(ncra)e(ncecat)189
+b(#)48 b(ncra)f(--pseudonym='ncecat')390 4445 y(ln)g(-s)g(-f)h(ncra)e
+(ncrcat)189 b(#)48 b(ncra)f(--pseudonym='ncrcat')390
+4555 y(ln)g(-s)g(-f)h(ncbo)e(ncadd)237 b(#)48 b(ncbo)f(--op_typ='+')390
+4664 y(ln)g(-s)g(-f)h(ncbo)e(ncsubtract)f(#)j(ncbo)e(--op_typ='-')390
+4774 y(ln)h(-s)g(-f)h(ncbo)e(ncmultiply)f(#)j(ncbo)e(--op_typ='*')390
+4884 y(ln)h(-s)g(-f)h(ncbo)e(ncdivide)141 b(#)48 b(ncbo)e(--op_typ='/')
+p 150 4979 1200 4 v 199 5047 a Ft(4)275 5078 y Fs(The)25
+b(Cygwin)i(pac)n(k)l(age)f(is)g(a)n(v)l(ailable)h(from)275
+5166 y Fr(http://sourceware.redhat.com/cy)q(gwin)275
+5253 y Fs(Curren)n(tly)-6 b(,)24 b(Cygwin)i(20.x)g(comes)f(with)g(the)f
+Fp(GNU)h Fs(C/C)p Fr(++)h Fs(compilers)g(\()p Fr(gcc)p
+Fs(,)g Fr(g++)p Fs(.)35 b(These)25 b Fp(GNU)g Fs(compilers)h(ma)n(y)e
+(b)r(e)275 5340 y(used)h(to)h(build)f(the)g(netCDF)h(distribution)g
+(itself.)p eop end
+%%Page: 9 15
+TeXDict begin 9 14 bop 150 -116 a FD(Chapter)30 b(1:)41
+b(In)m(tro)s(duction)2592 b(9)390 299 y Fy(ln)47 b(-s)g(-f)h(ncpdq)e
+(ncpack)189 b(#)48 b(ncpdq)390 408 y(ln)f(-s)g(-f)h(ncpdq)e(ncunpack)93
+b(#)48 b(ncpdq)e(--unpack)390 518 y(#)h(NB:)g(Cygwin)f(executable)f
+(\(and)i(link\))f(names)h(have)f(an)i('.exe')e(suffix,)g(e.g.,)390
+628 y(ln)h(-s)g(-f)h(ncbo.exe)d(ncdiff.exe)390 737 y(...)275
+898 y FD(The)32 b(imputed)h(command)g(called)i(b)m(y)e(the)h(link)f(is)
+h(giv)m(en)g(after)g(the)g(commen)m(t.)51 b(As)33 b(can)h(b)s(e)f
+(seen,)150 1007 y(some)39 b(these)h(links)e(impute)h(the)g(passing)g
+(of)g(a)g(command)g(line)g(argumen)m(t)g(to)h(further)e(mo)s(dify)g
+(the)150 1117 y(b)s(eha)m(vior)g(of)g(the)g(underlying)e(executable.)65
+b(F)-8 b(or)38 b(example,)j Fy(ncdivide)35 b FD(is)j(a)g(pseudon)m(ym)f
+(for)g Fy(ncbo)150 1226 y(--op_typ='/')p FD(.)150 1461
+y FB(1.5)68 b(Libraries)150 1621 y FD(Lik)m(e)34 b(all)g(executables,)i
+(the)d FC(NCO)g FD(op)s(erators)g(can)h(b)s(e)e(built)h(using)g
+(dynamic)g(linking.)49 b(This)32 b(reduces)150 1730 y(the)g(size)h(of)f
+(the)g(executable)h(and)e(can)h(result)g(in)g(signi\014can)m(t)h(p)s
+(erformance)e(enhancemen)m(ts)h(on)g(m)m(ul-)150 1840
+y(tiuser)k(systems.)59 b(Unfortunately)-8 b(,)39 b(if)d(y)m(our)h
+(library)f(searc)m(h)h(path)f(\(usually)g(the)h Fy(LD_LIBRARY_PATH)150
+1950 y FD(en)m(vironmen)m(t)f(v)-5 b(ariable\))36 b(is)f(not)g(set)h
+(correctly)-8 b(,)38 b(or)d(if)g(the)g(system)h(libraries)f(ha)m(v)m(e)
+h(b)s(een)e(mo)m(v)m(ed,)k(re-)150 2059 y(named,)j(or)e(deleted)g
+(since)g FC(NCO)g FD(w)m(as)g(installed,)j(it)e(is)e(p)s(ossible)h
+FC(NCO)f FD(op)s(erators)h(will)h(fail)f(with)g(a)150
+2169 y(message)e(that)g(they)g(cannot)f(\014nd)f(a)i(dynamically)g
+(loaded)f(\(ak)-5 b(a)38 b Fz(shared)d(ob)5 b(ject)39
+b FD(or)d(`)p Fy(.so)p FD('\))h(library)-8 b(.)150 2278
+y(This)35 b(will)i(pro)s(duce)e(a)h(distinctiv)m(e)i(error)d(message,)k
+(suc)m(h)d(as)g(`)p Fy(ld.so.1:)28 b(/usr/local/bin/nces:)150
+2388 y(fatal:)h(libsunmath.so.1:)d(can't)j(open)g(file:)g(errno=2)p
+FD('.)48 b(If)33 b(y)m(ou)h(receiv)m(ed)h(an)f(error)f(message)150
+2498 y(lik)m(e)h(this,)g(ask)g(y)m(our)f(system)g(administrator)g(to)h
+(diagnose)g(whether)f(the)g(library)g(is)g(truly)g(missing)3688
+2465 y Ft(5)3725 2498 y FD(,)150 2607 y(or)f(whether)f(y)m(ou)h(simply)
+f(need)h(to)g(alter)h(y)m(our)f(library)f(searc)m(h)i(path.)44
+b(As)32 b(a)g(\014nal)g(remedy)-8 b(,)32 b(y)m(ou)g(ma)m(y)150
+2717 y(re-compile)g(and)d(install)j FC(NCO)e FD(with)g(all)h(op)s
+(erators)g(statically)i(link)m(ed.)150 2952 y FB(1.6)68
+b(netCDF2/3/4)46 b(and)f(HDF4/5)g(Supp)t(ort)150 3111
+y FD(netCDF)f(v)m(ersion)31 b(2)44 b(w)m(as)g(released)h(in)e(1993.)82
+b FC(NCO)44 b FD(\(sp)s(eci\014cally)g Fy(ncks)p FD(\))f(b)s(egan)h(so)
+s(on)f(after)h(this)150 3221 y(in)37 b(1994.)65 b(netCDF)31
+b(3.0)38 b(w)m(as)g(released)h(in)e(1996,)42 b(and)37
+b(w)m(e)h(w)m(ere)g(not)g(exactly)h(eager)g(to)g(con)m(v)m(ert)g(all)
+150 3330 y(co)s(de)c(to)h(the)f(new)m(er,)h(less)f(tested)h(netCDF)f
+(implemen)m(tation.)56 b(One)34 b(netCDF3)i(in)m(terface)g(call)g(\()p
+Fy(nc_)150 3440 y(inq_libvers)p FD(\))27 b(w)m(as)k(added)e(to)i
+FC(NCO)e FD(in)h(Jan)m(uary)-8 b(,)30 b(1998,)i(to)f(aid)f(in)g(main)m
+(tainance)h(and)f(debugging.)150 3550 y(In)38 b(Marc)m(h,)j(2001,)h
+(the)c(\014nal)g FC(NCO)g FD(con)m(v)m(ersion)i(to)f(netCDF3)g(w)m(as)g
+(completed)g(\(coinciden)m(tally)i(on)150 3659 y(the)c(same)g(da)m(y)f
+(netCDF)31 b(3.5)38 b(w)m(as)f(released\).)60 b FC(NCO)36
+b FD(v)m(ersions)31 b(2.0)37 b(and)f(higher)g(are)h(built)g(with)f(the)
+150 3769 y Fy(-DNO_NETCDF_2)27 b FD(\015ag)j(to)i(ensure)d(no)h
+(netCDF2)i(in)m(terface)g(calls)f(are)g(used.)275 3929
+y(Ho)m(w)m(ev)m(er,)48 b(the)43 b(abilit)m(y)h(to)g(compile)g
+FC(NCO)e FD(with)h(only)g(netCDF2)h(calls)g(is)f(w)m(orth)g(main)m
+(taining)150 4039 y(b)s(ecause)21 b FC(HDF)h FD(v)m(ersion)31
+b(4,)24 b(ak)-5 b(a)22 b FC(HDF4)f FD(or)g(simply)g FC(HDF)p
+FD(,)2066 4006 y Ft(6)2127 4039 y FD(\(a)m(v)-5 b(ailable)24
+b(from)d(HDF)h(\()p Fy(http://hdfgroup.)150 4148 y(org)p
+FD(\)\))32 b(supp)s(orts)e(only)i(the)g(netCDF2)h(library)f(calls)h
+(\(see)g Fy(http:)q(/)q(/)q(hdfgroup)q(.)q(org)q(/)q(UG41r3_ht)o(ml)q
+(/)150 4258 y(SDS_SD)6 b(.)t(fm12)g(.)t(html)g(#)t(4778)o(4)p
+FD(\).)55 b(There)37 b(are)g(t)m(w)m(o)i(v)m(ersions)e(of)h
+FC(HDF)p FD(.)61 b(Curren)m(tly)37 b FC(HDF)g FD(v)m(ersion)31
+b(4.x)150 4367 y(supp)s(orts)21 b(the)j(full)f(netCDF2)h
+FC(API)f FD(and)g(th)m(us)f FC(NCO)h FD(v)m(ersion)31
+b(1.2.x)r(.)38 b(If)23 b FC(NCO)g FD(v)m(ersion)31 b(1.2.x)24
+b(\(or)g(earlier\))150 4477 y(is)37 b(built)g(with)g(only)g(netCDF2)h
+(calls)g(then)f(all)h FC(NCO)e FD(op)s(erators)i(should)e(w)m(ork)h
+(with)f FC(HDF4)i FD(\014les)f(as)150 4587 y(w)m(ell)f(as)g(netCDF)g
+(\014les)964 4554 y Ft(7)1001 4587 y FD(.)55 b(The)35
+b(prepro)s(cessor)g(tok)m(en)h Fy(NETCDF2_ONLY)c FD(exists)k(in)f
+FC(NCO)g FD(v)m(ersion)c(1.2.x)p 150 4686 1200 4 v 199
+4753 a Ft(5)275 4785 y Fs(The)22 b Fr(ldd)h Fs(command,)h(if)f(it)g(is)
+g(a)n(v)l(ailable)g(on)g(y)n(our)e(system,)j(will)g(tell)f(y)n(ou)f
+(where)g(the)h(executable)f(is)h(lo)r(oking)h(for)f(eac)n(h)275
+4872 y(dynamically)i(loaded)i(library)-6 b(.)34 b(Use,)26
+b(e.g.,)h Fr(ldd)f(`which)h(nces`)p Fs(.)199 4944 y Ft(6)275
+4975 y Fs(The)36 b(Hierarc)n(hical)i(Data)e(F)-6 b(ormat,)40
+b(or)d Fp(HDF)p Fs(,)i(is)e(another)f(self-describing)i(data)f(format)g
+(similar)h(to,)i(but)35 b(more)275 5063 y(elab)r(orate)30
+b(than,)f(netCDF.)g Fp(HDF)f Fs(comes)i(in)f(t)n(w)n(o)g(\015a)n(v)n
+(ors,)h Fp(HDF4)e Fs(and)h Fp(HDF5)p Fs(.)44 b(Often)28
+b(p)r(eople)h(use)g(the)f(shorthand)275 5150 y Fp(HDF)d
+Fs(to)h(refer)g(to)g(the)f(older)i(format)f Fp(HDF4)p
+Fs(.)35 b(P)n(eople)26 b(almost)h(alw)n(a)n(ys)g(use)f
+Fp(HDF5)f Fs(to)h(refer)h(to)e Fp(HDF5)p Fs(.)199 5221
+y Ft(7)275 5253 y Fs(One)16 b(m)n(ust)i(link)f(the)g
+Fp(NCO)g Fs(co)r(de)h(to)f(the)h Fp(HDF4)f(MFHDF)g Fs(library)g
+(instead)h(of)g(the)g(usual)f(netCDF)h(library)-6 b(.)31
+b(Apparen)n(tly)275 5340 y(`)p Fr(MF)p Fs(')k(stands)g(for)h
+(Multi-\014le)f(not)f(for)i(Mik)n(e)f(F)-6 b(olk.)61
+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.2)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
+b(5)20 b(b)s(ecame)h(a)m(v)-5 b(ailable)23 b(in)d(1999,)k(but)c(did)f
+(not)i(supp)s(ort)e(netCDF)i(\(or,)i(for)d(that)h(matter,)150
+693 y(F)-8 b(ortran\))32 b(as)f(of)g(Decem)m(b)s(er)h(1999.)44
+b(By)31 b(early)g(2001,)i FC(HDF5)f FD(did)e(supp)s(ort)f(F)-8
+b(ortran90.)44 b(Thanks)29 b(to)j(an)150 803 y FC(NSF)p
+FD(-funded)i(\\harmonization")j(partnership,)e FC(HDF)h
+FD(b)s(egan)f(to)h(fully)e(supp)s(ort)g(the)h(netCDF3)h(read)150
+913 y(in)m(terface)h(\(whic)m(h)f(is)f(emplo)m(y)m(ed)i(b)m(y)e
+FC(NCO)30 b FD(2.x)36 b(and)f(later\).)58 b(In)35 b(2004,)j(Unidata)f
+(and)d FC(THG)i FD(b)s(egan)g(a)150 1022 y(pro)5 b(ject)24
+b(to)g(implemen)m(t)g(the)g FC(HDF5)f FD(features)h(necessary)g(to)g
+(supp)s(ort)d(the)j(netCDF)g(API.)f FC(NCO)g FD(v)m(ersion)150
+1132 y(3.0.3)37 b(added)d(supp)s(ort)f(for)h(reading/writing)i
+(netCDF4-formatted)h FC(HDF5)e FD(\014les)f(in)h(Octob)s(er,)h(2005.)
+150 1241 y(See)31 b(Section)g(3.9)g([File)h(F)-8 b(ormats)32
+b(and)d(Con)m(v)m(ersion],)j(page)f(35)g(for)f(more)h(details.)275
+1417 y(HDF)k(supp)s(ort)e(for)h(netCDF)h(w)m(as)g(completed)h(with)e
+(HDF5)i(v)m(ersion)f(v)m(ersion)c(1.8)k(in)f(2007.)55
+b(The)150 1526 y(netCDF)42 b(fron)m(t-end)e(that)i(uses)f(this)f
+FC(HDF5)i FD(bac)m(k-end)f(w)m(as)h(completed)g(and)e(released)i(so)s
+(on)e(after)150 1636 y(as)d(netCDF)g(v)m(ersion)31 b(4.)60
+b(Do)m(wnload)38 b(it)f(from)f(the)h(netCDF4)g(\()p Fy(http:)5
+b(/)g(/)t(my)g(.)t(unidata)g(.)t(ucar)g(.)t(edu)g(/)150
+1745 y(content/software/netcdf/)o(netc)o(df-4)o FD(\))25
+b(w)m(ebsite.)275 1921 y FC(NCO)34 b FD(v)m(ersion)h(3.9.0,)i(released)
+f(in)e(Ma)m(y)-8 b(,)37 b(2007,)h(added)33 b(supp)s(ort)g(for)h(all)i
+(netCDF4)f(atomic)h(data)150 2030 y(t)m(yp)s(es)g(except)h
+Fy(NC_STRING)p FD(.)55 b(Supp)s(ort)34 b(for)h Fy(NC_STRING)p
+FD(,)g(including)h(ragged)h(arra)m(ys)f(of)g(strings,)i(w)m(as)150
+2140 y(\014nally)k(added)g(in)g(v)m(ersion)g(3.9.9,)48
+b(released)43 b(in)f(June,)i(2009.)78 b(Supp)s(ort)41
+b(for)h(additional)h(netCDF4)150 2250 y(features)37 b(has)f(b)s(een)f
+(incremen)m(tal.)60 b(W)-8 b(e)38 b(add)e(one)g(netCDF4)i(feature)f(at)
+g(a)f(time.)60 b(Y)-8 b(ou)37 b(m)m(ust)f(build)150 2359
+y FC(NCO)30 b FD(with)g(netCDF4)i(to)f(obtain)g(this)f(supp)s(ort.)275
+2534 y(The)43 b(main)g(netCDF4)i(features)f(that)g(NCO)f(curren)m(tly)h
+(supp)s(orts)e(are)i(the)g(new)f(atomic)i(data)150 2644
+y(t)m(yp)s(es,)34 b(Lemp)s(el-Ziv)e(compression)h(\(de\015ation\),)i
+(and)d(c)m(h)m(unking.)48 b(The)32 b(new)h(atomic)h(data)g(t)m(yp)s(es)
+f(are)150 2754 y Fy(NC_UBYTE)p FD(,)f Fy(NC_USHORT)p
+FD(,)f Fy(NC_UINT)p FD(,)h Fy(NC_INT64)p FD(,)g(and)g
+Fy(NC_UINT64)p FD(.)46 b(Eigh)m(t-b)m(yte)35 b(in)m(teger)g(supp)s(ort)
+c(is)150 2863 y(an)i(esp)s(ecially)i(useful)d(impro)m(v)m(emen)m(t)j
+(from)e(netCDF3.)50 b(All)34 b FC(NCO)f FD(op)s(erators)g(supp)s(ort)f
+(these)i(t)m(yp)s(es,)150 2973 y(e.g.,)26 b Fy(ncks)21
+b FD(copies)i(and)f(prin)m(ts)g(them,)i Fy(ncra)d FD(a)m(v)m(erages)k
+(them,)f(and)e Fy(ncap2)f FD(pro)s(cesses)h(algebraic)i(scripts)150
+3082 y(with)30 b(them.)41 b Fy(ncks)29 b FD(prin)m(ts)h(compression)g
+(information,)h(if)f(an)m(y)-8 b(,)32 b(to)f(screen.)275
+3258 y FC(NCO)51 b FD(v)m(ersion)h(3.9.1)h(\(June,)j(2007\))e(added)d
+(supp)s(ort)e(for)j(netCDF4)g(Lemp)s(el-Ziv)f(de\015ation.)150
+3367 y(Lemp)s(el-Ziv)c(de\015ation)h(is)f(a)g(lossless)h(compression)g
+(tec)m(hnique.)92 b(See)47 b(Section)h(3.27)h([De\015ation],)150
+3477 y(page)31 b(75)g(for)f(more)h(details.)275 3652
+y FC(NCO)46 b FD(v)m(ersion)i(3.9.9)h(\(June,)i(2009\))e(added)e(supp)s
+(ort)e(for)i(netCDF4)h(c)m(h)m(unking)g(in)f Fy(ncks)f
+FD(and)150 3762 y Fy(ncecat)p FD(.)38 b FC(NCO)28 b FD(v)m(ersion)h
+(4.0.4)h(\(Septem)m(b)s(er,)f(2010\))h(completed)f(supp)s(ort)e(for)h
+(netCDF4)h(c)m(h)m(unking)f(in)150 3871 y(the)j(remaining)f(op)s
+(erators.)41 b(See)31 b(Section)g(3.26)h([Ch)m(unking],)e(page)h(71)g
+(for)f(more)h(details.)275 4047 y FC(NCO)43 b FD(v)m(ersion)i(4.2.2)g
+(\(Octob)s(er,)j(2012\))e(added)d(supp)s(ort)f(for)i(netCDF4)h(groups)e
+(in)h Fy(ncks)f FD(and)150 4156 y Fy(ncecat)p FD(.)38
+b(Group)25 b(supp)s(ort)g(for)h(these)h(op)s(erators)g(w)m(as)g
+(complete)g(\(e.g.,)j(regular)c(expressions)g(to)h(select)150
+4266 y(groups)32 b(and)g(Group)g(P)m(ath)i(Editing\))f(as)g(of)g
+FC(NCO)f FD(v)m(ersion)i(4.2.6)g(\(Marc)m(h,)h(2013\).)50
+b(See)33 b(Section)g(3.13)150 4375 y([Group)d(P)m(ath)h(Editing],)g
+(page)g(44)h(for)e(more)g(details.)42 b(Group)30 b(supp)s(ort)f(for)h
+(all)h(other)g(op)s(erators)g(w)m(as)150 4485 y(\014nished)e(in)h(the)g
+FC(NCO)h FD(v)m(ersion)f(4.3.x)i(series)f(completed)g(in)f(Decem)m(b)s
+(er,)i(2013.)275 4660 y(Supp)s(ort)39 b(for)i(netCDF4)i(in)e(the)g
+(\014rst)g(arithmetic)i(op)s(erator,)h Fy(ncbo)p FD(,)f(w)m(as)f(in)m
+(tro)s(duced)f(in)g FC(NCO)150 4770 y FD(v)m(ersion)d(4.3.0)h(\(Marc)m
+(h,)i(2013\).)65 b FC(NCO)37 b FD(v)m(ersion)h(4.3.1)h(\(Ma)m(y)-8
+b(,)42 b(2013\))e(completed)e(this)g(supp)s(ort)e(and)150
+4880 y(in)m(tro)s(duced)20 b(the)h(\014rst)f(example)i(of)e(automatic)j
+(group)d(broadcasting.)39 b(See)21 b(Section)g(4.3)h([ncb)s(o)e(netCDF)
+150 4989 y(Binary)30 b(Op)s(erator],)h(page)g(159)h(for)e(more)g
+(details.)p 150 5154 1200 4 v 275 5253 a Fs(supp)r(orted)25
+b(netCDF2)h(calls.)38 b(Most)27 b(p)r(eople)f(will)i(nev)n(er)d(again)i
+(install)h Fp(NCO)d Fs(1.2.x)i(and)f(so)h(will)g(nev)n(er)f(use)g
+Fp(NCO)g Fs(to)275 5340 y(write)g Fp(HDF4)g Fs(\014les.)35
+b(It)25 b(is)h(simply)g(to)r(o)g(m)n(uc)n(h)f(trouble.)p
+eop end
+%%Page: 11 17
+TeXDict begin 11 16 bop 150 -116 a FD(Chapter)30 b(1:)41
+b(In)m(tro)s(duction)2546 b(11)275 299 y(netCDF4-enabled)30
+b FC(NCO)e FD(handles)g(netCDF3)i(\014les)f(without)f(c)m(hange.)42
+b(In)28 b(addition,)h(it)g(automag-)150 408 y(ically)h(handles)f
+(netCDF4)h(\()p FC(HDF5)p FD(\))g(\014les:)40 b(If)28
+b(y)m(ou)i(feed)f FC(NCO)f FD(netCDF3)i(\014les,)g(it)f(pro)s(duces)f
+(netCDF3)150 518 y(output.)39 b(If)24 b(y)m(ou)i(feed)f
+FC(NCO)f FD(netCDF4)j(\014les,)f(it)g(pro)s(duces)d(netCDF4)k(output.)
+38 b(Use)26 b(the)f(handy-dandy)150 628 y(`)p Fy(-4)p
+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 914 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
+881 y Ft(8)2948 914 y FD(,)i FC(NCO)d FD(automatically)150
+1023 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 1133 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 1243 y(So)g FC(NCO)g FD(can)g
+Fo(r)-5 b(e)g(ad)45 b FC(HDF4)34 b FD(\014les,)h(p)s(erform)e
+(manipulations)h(and)f(calculations,)k(and)d(then)f Fo(write)42
+b FD(the)150 1352 y(results)30 b(in)g(netCDF)h(format.)275
+1529 y(F)-8 b(ull)28 b(supp)s(ort)e(for)h(these)h(features)g(is)g
+(forthcoming,)h(y)m(et)g(supp)s(ort)c(as)j(of)g(Decem)m(b)s(er,)h(2013)
+h(is)e(quite)150 1638 y(functional.)52 b(F)-8 b(or)35
+b(b)s(est)e(results)h(install)h FC(NCO)f FD(v)m(ersions)g(4.4.0)i(or)e
+(later)h(on)f(top)g(of)g(netCDF)h(v)m(ersions)150 1748
+y(4.3.1)i(or)f(later.)57 b(Getting)37 b(to)f(this)f(p)s(oin)m(t)h(has)f
+(b)s(een)g(an)g(iterativ)m(e)j(e\013ort)e(where)f(Unidata)i(impro)m(v)m
+(ed)150 1858 y(netCDF)k(library)f(capabilities)i(in)e(resp)s(onse)g(to)
+h(our)f(requests.)70 b FC(NCO)40 b FD(v)m(ersions)h(4.3.6)h(and)e
+(earlier)150 1967 y(do)34 b(not)g(explicitly)h(supp)s(ort)d
+FC(HDF4)p FD(,)j(y)m(et)g(should)e(w)m(ork)h(with)f FC(HDF4)h
+FD(if)g(compiled)g(with)f(a)i(v)m(ersion)f(of)150 2077
+y(netCDF)40 b(\(4.3.2)i(or)e(later?\))69 b(that)41 b(do)s(es)e(not)h
+(unexp)s(ectedly)f(die)h(when)f(probing)g FC(HDF4)h FD(\014les)f(with)
+150 2186 y(standard)32 b(netCDF)g(calls.)48 b FC(NCO)32
+b FD(v)m(ersions)h(4.3.7{4.3.9)j(\(Octob)s(er{Decem)m(b)s(er,)f(2013\))
+g(use)d(a)g(sp)s(ecial)150 2296 y(\015ag)d(to)h(w)m(ork)-5
+b(around)28 b(netCDF)h FC(HDF4)g FD(issues.)40 b(The)28
+b(user)g(m)m(ust)h(tell)h(these)f(v)m(ersions)g(of)g
+FC(NCO)g FD(that)g(an)150 2405 y(input)g(\014le)i(is)f
+FC(HDF4)h FD(format)g(b)m(y)f(using)g(the)g(`)p Fy(--hdf4)p
+FD(')g(switc)m(h.)275 2582 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 2692 y(uary)-8 b(,)30
+b(2014\))j(and)c(later)j(more)e(gracefully)h(handle)f
+FC(HDF4)h FD(\014les.)41 b(In)29 b(particular,)i(the)f(`)p
+Fy(--hdf4)p FD(')f(switc)m(h)150 2801 y(is)44 b(obsolete.)85
+b(Curren)m(t)43 b(v)m(ersions)i(of)f FC(NCO)h FD(use)f(netCDF)h(to)g
+(determine)f(automatically)k(whether)150 2911 y(the)36
+b(underlying)g(\014le)g(is)g FC(HDF4)p FD(,)i(and)e(then)g(tak)m(e)i
+(appropriate)e(precautions)g(to)h(a)m(v)m(oid)h(calls)f(not)g(y)m(et)
+150 3020 y(supp)s(orted)27 b(b)m(y)i(the)h(netCDF4)g(subset)f
+FC(HDF4)p FD(.)40 b(The)29 b(`)p Fy(--hdf4)p FD(')f(switc)m(h)i(is)f
+(supp)s(orted)e(\(for)j(bac)m(kw)m(ards)150 3130 y(compatibilit)m(y\))
+25 b(y)m(et)e(redundan)m(t)f(\(i.e.,)j(do)s(es)d(no)h(harm\))f(with)g
+(curren)m(t)g(v)m(ersions)h(of)f FC(NCO)g FD(and)g(netCDF.)275
+3307 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 3416 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 3593 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
+3702 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 3879 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 3989 y(con)m(v)m(ert)34
+b(to)f(netCDF4)g(using)f FC(NCO)g FD(as)g(ab)s(o)m(v)m(e.)47
+b(It)33 b(su\016ces)f(when)f(the)h(data)h(will)g(only)f(b)s(e)f(pro)s
+(cessed)150 4098 y(b)m(y)25 b FC(NCO)p FD(,)h(or)g(other)f(netCDF4-a)m
+(w)m(are)j(to)s(ols.)40 b(Ho)m(w)m(ev)m(er,)28 b(man)m(y)e(to)s(ols)g
+(are)f(not)h(fully)f(netCDF4-a)m(w)m(are,)150 4208 y(and)30
+b(so)g(con)m(v)m(ersion)i(to)f(netCDF3)h(ma)m(y)f(b)s(e)e(desirable.)
+275 4384 y(Obtaining)36 b(a)i(netCDF3)g(\014le)f(from)f(an)h
+FC(HDF4)g FD(is)g(no)m(w)g(easy)-8 b(,)40 b(ev)m(en)d(though)g(the)g
+FC(HDF4)g FD(\014le)g(ma)m(y)150 4494 y(con)m(tain)32
+b(netCDF4)f(atomic)h(t)m(yp)s(es)f(\(e.g.,)h(unsigned)d(b)m(ytes,)i
+(64-bit)h(in)m(tegers\):)390 4670 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
+4780 y(ncks)h(-7)g(-L)g(1)g(fl.hdf)g(fl.nc)f(#)h(HDF4->netCDF4)e(\(NCO)
+h(4.4.0+,)g(netCDF)g(4.3.1+\))390 4890 y(ncks)h(--hdf4)f(-3)h(fl.hdf)f
+(fl.nc)g(#)i(HDF4->netCDF3)c(\(netCDF)i(4.3.0-\))390
+4999 y(ncks)h(--hdf4)f(-7)h(fl.hdf)f(fl.nc)g(#)i(HDF4->netCDF4)c
+(classic)i(\(netCDF)g(4.3.0-\))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.2)j(User)d(Guide)275 299 y(As)j(of)h FC(NCO)g
+FD(v)m(ersion)g(4.4.0)h(\(Jan)m(uary)-8 b(,)36 b(2014\),)h(these)d
+(commands)f(w)m(ork)h(with)f(netCDF4)i(atomic)150 408
+y(t)m(yp)s(es)360 375 y Ft(9)397 408 y FD(.)41 b(Man)m(y)31
+b FC(HDF4)g FD(pro)s(ducers)d(\()p FC(NASA)p FD(!\))43
+b(lo)m(v)m(e)32 b(to)f(use)f(netCDF4)i(t)m(yp)s(es,)e(e.g.,)i(unsigned)
+e(b)m(ytes.)275 568 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 677 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 787 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 946 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 1056 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
+1166 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 1325 y
+Fy(export)46 b(NETCDF4_ROOT=/usr/local/n)o(etc)o(df4)41
+b(#)48 b(Set)f(netCDF4)f(location)390 1435 y(cd)h(~/nco;./configure)c
+(--enable-netcdf4)91 b(#)48 b(Configure)d(mechanism)g(-or-)390
+1544 y(cd)i(~/nco/bld;./make)d(NETCDF4=Y)h(allinone)g(#)j(Old)f
+(Makefile)e(mechanism)275 1704 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 1813 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 1923 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
+2032 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 2259 y FB(1.7)68
+b(Help)46 b(Requests)g(and)e(Bug)h(Rep)t(orts)150 2419
+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 2528 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 2638 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 2797 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
+2907 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 3017
+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
+3126 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 3236 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 3345 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 3505 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 3614 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 3724 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 3833 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
+3943 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 4053 y(p)s(oster.)275
+4212 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 4322 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 4431
+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 4541 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(\).)p 150 4631 1200 4 v 199 4698 a Ft(9)298 4730 y
+Fs(Prior)24 b(to)f Fp(NCO)g Fs(v)n(ersion)h(4.4.0)h(\(Jan)n(uary)-6
+b(,)23 b(2014\),)i(w)n(e)f(recommend)f(the)g Fr(ncl_convert2nc)k
+Fs(to)r(ol)d(to)f(con)n(v)n(ert)g Fp(HDF)g Fs(to)275
+4817 y(netCDF3)i(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
+4904 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 4991 y Fr(ncl_convert2nc)31
+b Fs(b)r(ecause)d Fr(ncks)h Fs(is)f(faster)h(and)f(more)g
+(space-e\016cien)n(t.)42 b(Both)28 b(automatically)h(con)n(v)n(ert)f
+(netCDF4)275 5078 y(t)n(yp)r(es)d(to)h(netCDF3)g(t)n(yp)r(es,)g(y)n(et)
+f Fr(ncl_convert2nc)k Fs(cannot)d(pro)r(duce)f(full)i(netCDF4)f
+(\014les.)35 b(In)25 b(con)n(trast,)i Fr(ncks)g Fs(will)275
+5166 y(happily)d(con)n(v)n(ert)h Fp(HDF)g Fs(straigh)n(t)g(to)h
+(netCDF4)f(\014les)h(with)f(netCDF4)h(t)n(yp)r(es.)33
+b(Hence)25 b Fr(ncks)h Fs(can)g(and)e(do)r(es)i(preserv)n(e)275
+5253 y(the)c(v)l(ariable)i(t)n(yp)r(es.)33 b(Unsigned)23
+b(b)n(ytes)f(sta)n(y)h(unsigned)g(b)n(ytes.)33 b(64-bit)23
+b(in)n(tegers)h(sta)n(y)f(64-bit)g(in)n(tegers.)35 b(Strings)23
+b(sta)n(y)275 5340 y(strings.)35 b(Hence,)26 b Fr(ncks)g
+Fs(con)n(v)n(ersions)g(often)g(result)g(in)g(smaller)h(\014les)f(than)f
+Fr(ncl_convert2nc)k Fs(con)n(v)n(ersions.)p 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)275 299 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 408 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
+518 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 628 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 737 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 847
+y(the)h(latest)h(publicly)e(released)h(v)m(ersion)g(of)f
+FC(NCO)p FD(.)275 1006 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 1116 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
+1225 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 1335 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 1445 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 1554 y(nco/forums/forum/9830)p FD(\).)275
+1714 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 1823 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 1933
+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 2042 y(They)30 b(are)h(alw)m(a)m(ys)h
+(\014xed,)d(ev)m(en)m(tually)-8 b(.)275 2202 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
+2311 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 2421 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 2531 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 2640
+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 2750 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 2859
+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 2969 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 3078 y(buglist)30
+b(\()p Fy(http://sf.net/bugs/?group_i)o(d=33)o(31)p FD(\).)275
+3238 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 3347 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 3457 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 3567 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 3676 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
+3786 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 3895 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 4005 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
+4115 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: 14 20
+TeXDict begin 14 19 bop eop end
+%%Page: 15 21
+TeXDict begin 15 20 bop 150 -116 a FD(Chapter)30 b(2:)41
+b(Op)s(erator)30 b(Strategies)2264 b(15)150 299 y Fx(2)80
+b(Op)t(erator)54 b(Strategies)150 643 y FB(2.1)68 b(Philosoph)l(y)150
+803 y FD(The)23 b(main)g(design)h(goal)h(is)e(command)h(line)f(op)s
+(erators)h(whic)m(h)f(p)s(erform)f(useful,)j(scriptable)f(op)s
+(erations)150 912 y(on)37 b(netCDF)h(\014les.)61 b(Man)m(y)38
+b(scien)m(tists)h(w)m(ork)e(with)g(mo)s(dels)g(and)f(observ)-5
+b(ations)38 b(whic)m(h)f(pro)s(duce)f(to)s(o)150 1022
+y(m)m(uc)m(h)f(data)g(to)g(analyze)h(in)e(tabular)h(format.)53
+b(Th)m(us,)35 b(it)g(is)g(often)g(natural)f(to)i(reduce)e(and)g
+(massage)150 1131 y(this)29 b(ra)m(w)g(or)g(primary)f(lev)m(el)j(data)e
+(in)m(to)h(summary)-8 b(,)29 b(or)g(second)g(lev)m(el)i(data,)f(e.g.,)h
+(temp)s(oral)e(or)g(spatial)150 1241 y(a)m(v)m(erages.)42
+b(These)28 b(second)f(lev)m(el)i(data)g(ma)m(y)f(b)s(ecome)g(the)g
+(inputs)e(to)i(graphical)h(and)e(statistical)j(pac)m(k-)150
+1351 y(ages,)d(and)d(are)h(often)g(more)g(suitable)h(for)e(arc)m(hiv)-5
+b(al)26 b(and)e(dissemination)h(to)g(the)g(scien)m(ti\014c)h(comm)m
+(unit)m(y)-8 b(.)150 1460 y FC(NCO)36 b FD(p)s(erforms)e(a)j(suite)f
+(of)g(op)s(erations)g(useful)g(in)f(manipulating)h(data)h(from)f(the)g
+(primary)f(to)i(the)150 1570 y(second)25 b(lev)m(el)i(state.)40
+b(Higher)25 b(lev)m(el)i(in)m(terpretiv)m(e)f(languages)g(\(e.g.,)i
+FC(IDL)p FD(,)e(Y)-8 b(oric)m(k,)28 b(Matlab,)g FC(NCL)p
+FD(,)e(P)m(erl,)150 1679 y(Python\),)h(and)f(lo)m(w)m(er)h(lev)m(el)h
+(compiled)e(languages)i(\(e.g.,)g(C,)e(F)-8 b(ortran\))27
+b(can)g(alw)m(a)m(ys)g(p)s(erform)e(an)m(y)h(task)150
+1789 y(p)s(erformed)31 b(b)m(y)h FC(NCO)p FD(,)h(but)f(often)g(with)h
+(more)f(o)m(v)m(erhead.)48 b(NCO,)32 b(on)g(the)h(other)g(hand,)f(is)g
+(limited)h(to)150 1899 y(a)c(m)m(uc)m(h)g(smaller)h(set)f(of)g
+(arithmetic)h(and)e(metadata)j(op)s(erations)e(than)g(these)g(full)g
+(blo)m(wn)f(languages.)275 2060 y(Another)k(goal)j(has)d(b)s(een)g(to)i
+(implemen)m(t)f(enough)f(command)h(line)g(switc)m(hes)g(so)g(that)h
+(frequen)m(tly)150 2169 y(used)28 b(sequences)i(of)f(these)h(op)s
+(erators)f(can)h(b)s(e)e(executed)i(from)f(a)g(shell)h(script)f(or)g
+(batc)m(h)h(\014le.)40 b(Finally)-8 b(,)150 2279 y FC(NCO)27
+b FD(w)m(as)h(written)g(to)g(consume)f(the)h(absolute)g(minim)m(um)f
+(amoun)m(t)h(of)f(system)h(memory)f(required)g(to)150
+2388 y(p)s(erform)j(a)i(giv)m(en)g(job.)43 b(The)31 b(arithmetic)i(op)s
+(erators)e(are)h(extremely)g(e\016cien)m(t;)i(their)d(exact)i(memory)
+150 2498 y(usage)e(is)f(detailed)i(in)e(Section)h(2.9)h([Memory)f
+(Requiremen)m(ts],)g(page)g(22.)150 2736 y FB(2.2)68
+b(Climate)47 b(Mo)t(del)e(P)l(aradigm)150 2895 y FC(NCO)39
+b FD(w)m(as)g(dev)m(elop)s(ed)g(at)h FC(NCAR)g FD(to)f(aid)g(analysis)h
+(and)e(manipulation)h(of)h(datasets)g(pro)s(duced)d(b)m(y)150
+3005 y(General)26 b(Circulation)f(Mo)s(dels)g(\()p FC(GCM)p
+FD(s\).)40 b FC(GCM)25 b FD(datasets)h(share)e(man)m(y)h(features)g
+(with)g(other)g(gridded)150 3114 y(scien)m(ti\014c)j(datasets)g(and)e
+(so)h(pro)m(vide)g(a)g(useful)f(paradigm)h(for)g(the)g(explication)h
+(of)f(the)g FC(NCO)g FD(op)s(erator)150 3224 y(set.)85
+b(Examples)45 b(in)f(this)h(man)m(ual)g(use)g(a)g FC(GCM)g
+FD(paradigm)g(b)s(ecause)g(latitude,)50 b(longitude,)f(time,)150
+3334 y(temp)s(erature)28 b(and)f(other)h(\014elds)g(related)h(to)g(our)
+e(natural)h(en)m(vironmen)m(t)h(are)f(as)g(easy)h(to)g(visualize)g(for)
+150 3443 y(the)i(la)m(yman)g(as)f(the)h(exp)s(ert.)150
+3681 y FB(2.3)68 b(T)-11 b(emp)t(orary)45 b(Output)f(Files)150
+3840 y FC(NCO)25 b FD(op)s(erators)g(are)g(designed)g(to)h(b)s(e)e
+(reasonably)i(fault)f(toleran)m(t,)j(so)d(that)h(a)f(system)g(failure)g
+(or)g(user-)150 3950 y(ab)s(ort)c(of)h(the)f(op)s(eration)h(\(e.g.,)j
+(with)c Fn(C-c)p FD(\))g(do)s(es)g(not)g(cause)h(loss)g(of)f(data.)39
+b(The)21 b(user-sp)s(eci\014ed)f Fz(output-)150 4059
+y(\014le)38 b FD(is)33 b(only)h(created)g(up)s(on)d(successful)i
+(completion)i(of)e(the)g(op)s(eration)2679 4026 y Ft(1)2717
+4059 y FD(.)49 b(This)32 b(is)h(accomplished)h(b)m(y)150
+4169 y(p)s(erforming)e(all)i(op)s(erations)f(in)g(a)g(temp)s(orary)g
+(cop)m(y)g(of)h Fz(output-\014le)p FD(.)48 b(The)33 b(name)g(of)g(the)g
+(temp)s(orary)150 4279 y(output)k(\014le)g(is)g(constructed)h(b)m(y)f
+(app)s(ending)e Fy(.pid<)p Fn(process)27 b(ID)p Fy(>.<)p
+Fn(operator)g(name)p Fy(>.tmp)35 b FD(to)j(the)150 4388
+y(user-sp)s(eci\014ed)28 b Fz(output-\014le)35 b FD(name.)40
+b(When)29 b(the)g(op)s(erator)h(completes)g(its)g(task)g(with)f(no)g
+(fatal)h(errors,)150 4498 y(the)j(temp)s(orary)g(output)f(\014le)h(is)g
+(mo)m(v)m(ed)h(to)g(the)f(user-sp)s(eci\014ed)f Fz(output-\014le)p
+FD(.)48 b(This)32 b(im)m(bues)h(the)g(pro-)150 4607 y(cess)27
+b(with)e(fault-tolerance)k(since)d(fatal)i(error)e(\(e.g.,)i(disk)e
+(space)h(\014lls)f(up\))f(a\013ect)j(only)e(the)g(temp)s(orary)150
+4717 y(output)g(\014le,)h(lea)m(ving)h(the)e(\014nal)g(output)g(\014le)
+g(not)h(created)g(if)f(it)h(did)e(not)i(already)f(exist.)40
+b(Note)28 b(the)e(con-)150 4827 y(struction)g(of)g(a)g(temp)s(orary)f
+(output)h(\014le)g(uses)f(more)h(disk)f(space)h(than)g(just)f(o)m(v)m
+(erwriting)i(existing)g(\014les)150 4936 y(\\in)d(place")h(\(b)s
+(ecause)g(there)f(ma)m(y)g(b)s(e)g(t)m(w)m(o)h(copies)g(of)f(the)g
+(same)g(\014le)g(on)g(disk)f(un)m(til)i(the)f FC(NCO)f
+FD(op)s(eration)150 5046 y(successfully)38 b(concludes)g(and)f(the)i
+(temp)s(orary)e(output)h(\014le)g(o)m(v)m(erwrites)h(the)f(existing)h
+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(198.)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.2)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
+b(Finally)-8 b(,)41 b(note)c(this)g(fault-toleran)m(t)j(feature)d(allo)
+m(ws)i(the)150 518 y Fz(output-\014le)d FD(to)31 b(b)s(e)e(the)i(same)g
+(as)f(the)h Fz(input-\014le)k FD(without)30 b(an)m(y)h(danger)f(of)h
+(\\o)m(v)m(erlap".)275 677 y(Ov)m(er)23 b(time)g(man)m(y)g(\\p)s(o)m(w)
+m(er)h(users")e(ha)m(v)m(e)j(requested)d(a)i(w)m(a)m(y)g(to)f
+(turn-o\013)g(the)g(fault-tolerance)j(safet)m(y)150 787
+y(feature)41 b(of)g(automatically)j(creating)e(a)f(temp)s(orary)f
+(\014le.)72 b(Often)41 b(these)g(users)f(build)f(and)i(execute)150
+897 y(pro)s(duction)31 b(data)h(analysis)g(scripts)g(that)g(are)g(rep)s
+(eated)g(frequen)m(tly)g(on)f(large)i(datasets.)46 b(Ob)m(viating)150
+1006 y(an)28 b(extra)h(\014le)f(write)h(can)f(then)g(conserv)m(e)h
+(signi\014can)m(t)g(disk)f(space)h(and)e(time.)41 b(F)-8
+b(or)29 b(this)f(purp)s(ose)e FC(NCO)150 1116 y FD(has,)42
+b(since)e(v)m(ersion)g(4.2.1)i(in)d(August,)j(2012,)i(made)c
+(con\014gurable)f(the)h(con)m(trols)h(o)m(v)m(er)g(temp)s(orary)150
+1225 y(\014le)34 b(creation.)55 b(The)33 b(`)p Fy(--wrt_tmp_fl)p
+FD(')f(and)i(equiv)-5 b(alen)m(t)36 b(`)p Fy(--write_tmp_fl)p
+FD(')31 b(switc)m(hes)k(ensure)e FC(NCO)150 1335 y FD(writes)i(output)f
+(to)h(an)f(in)m(termediate)i(temp)s(orary)f(\014le.)53
+b(This)34 b(is)g(and)g(has)g(alw)m(a)m(ys)i(b)s(een)e(the)h(default)150
+1445 y(b)s(eha)m(vior)44 b(so)g(there)g(is)g(curren)m(tly)f(no)h(need)g
+(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(78\))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
+(\014le)g(instead)h(of)f(to)h(an)f(in)m(termediate)i(temp)s(orary)e
+(\014le.)40 b(\\P)m(o)m(w)m(er)31 b(users")150 1883 y(ma)m(y)j(wish)e
+(to)i(in)m(v)m(ok)m(e)h(this)e(switc)m(h)h(to)f(increase)h(p)s
+(erformance)f(\(i.e.,)i(reduce)e(w)m(allclo)s(c)m(k)j(time\))e(when)150
+1993 y(manipulating)40 b(large)h(\014les.)68 b(When)40
+b(esc)m(hewing)g(temp)s(orary)g(\014les,)i(users)d(ma)m(y)h(forsak)m(e)
+h(the)e(abilit)m(y)150 2102 y(to)g(ha)m(v)m(e)g(the)f(same)g(name)g
+(for)f(b)s(oth)g Fz(output-\014le)43 b FD(and)37 b Fz(input-\014le)43
+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(78\))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
+(out.pid.tmp.nc)e(then)j(move)f(to)i(out.nc)390 2700
+y(ncks)f(--wrt_tmp_fl)d(in.nc)i(out.nc)h(#)g(Same)g(as)g(default)390
+2809 y(ncks)g(--no_tmp_fl)d(in.nc)j(out.nc)f(#)h(Create)f(out.nc)g
+(directly)g(on)h(disk)390 2919 y(ncks)g(--no_tmp_fl)d(in.nc)j(in.nc)f
+(#)i(ERROR-prone!)c(Overwrite)h(in.nc)i(with)f(itself)390
+3029 y(ncks)h(--create_ram)d(--no_tmp_fl)h(in.nc)h(in.nc)h(#)g(Create)f
+(in)h(RAM,)g(write)f(to)h(disk)390 3138 y(ncks)g(--open_ram)e
+(--no_tmp_fl)f(in.nc)j(in.nc)f(#)i(Read)e(into)h(RAM,)f(write)h(to)g
+(disk)150 3298 y FD(There)35 b(is)h(no)g(reason)g(to)h(exp)s(ect)g(the)
+f(fourth)f(example)h(to)h(w)m(ork.)58 b(The)35 b(b)s(eha)m(vior)h(of)g
+(o)m(v)m(erwriting)i(a)150 3407 y(\014le)c(while)f(reading)h(from)f
+(the)h(same)g(\014le)g(is)g(unde\014ned,)e(m)m(uc)m(h)i(as)g(is)g(the)g
+(shell)g(command)f(`)p Fy(cat)d(foo)150 3517 y(>)g(foo)p
+FD('.)62 b(Although)37 b(it)h(ma)m(y)g(\\w)m(ork")h(in)e(some)h(cases,)
+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(78.)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
+(v)m(e)h(seen)f(comp)s(elling)g(use)g(cases)g(for)g(utilizing)h(the)f
+FC(RAM)g FD(switc)m(hes,)h(though)150 4115 y(not)k(\(y)m(et\))i(for)e
+(com)m(bining)g(them)g(with)g(`)p Fy(--no_tmp_fl)p FD('.)42
+b FC(NCO)32 b FD(implemen)m(ts)g(b)s(oth)g(options)g(b)s(ecause)150
+4224 y(they)d(are)h(largely)g(indep)s(enden)m(t)e(of)i(eac)m(hother.)41
+b(It)30 b(is)f(up)f(to)i(\\p)s(o)m(w)m(er)f(users")g(to)h(disco)m(v)m
+(er)g(whic)m(h)f(b)s(est)150 4334 y(\014t)h(their)h(needs.)40
+b(W)-8 b(e)31 b(w)m(elcome)i(accoun)m(ts)e(of)g(y)m(our)f(exp)s
+(eriences)h(p)s(osted)f(to)h(the)f(forums.)275 4493 y(Other)35
+b(safeguards)g(exist)h(to)h(protect)f(the)g(user)f(from)g(inadv)m
+(erten)m(tly)i(o)m(v)m(erwriting)g(data.)57 b(If)35 b(the)150
+4603 y Fz(output-\014le)45 b FD(sp)s(eci\014ed)39 b(for)h(a)h(command)e
+(is)h(a)h(pre-existing)g(\014le,)h(then)e(the)g(op)s(erator)g(will)h
+(prompt)150 4712 y(the)34 b(user)e(whether)h(to)h(o)m(v)m(erwrite)h
+(\(erase\))g(the)f(existing)g Fz(output-\014le)p FD(,)g(attempt)h(to)f
+(app)s(end)e(to)i(it,)h(or)150 4822 y(ab)s(ort)g(the)h(op)s(eration.)56
+b(Ho)m(w)m(ev)m(er,)39 b(in)c(pro)s(cessing)g(large)h(amoun)m(ts)g(of)f
+(data,)j(to)s(o)e(man)m(y)f(in)m(teractiv)m(e)150 4932
+y(questions)29 b(slo)m(ws)h(pro)s(ductivit)m(y)-8 b(.)41
+b(Therefore)29 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)g(its)g(o)m(wn)150 5041 y(safet)m(y)37
+b(features,)h(the)f(`)p Fy(-O)p FD(')f(and)f(`)p Fy(-A)p
+FD(')h(switc)m(hes.)59 b(Sp)s(ecifying)36 b(`)p Fy(-O)p
+FD(')g(tells)h(the)f(op)s(erator)g(to)h(o)m(v)m(erwrite)150
+5151 y(an)m(y)c(existing)h Fz(output-\014le)k FD(without)32
+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
+%%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
+b(to)g(attempt)h(to)g(app)s(end)d(to)i(an)m(y)g(existing)h
+Fz(output-\014le)k FD(without)24 b(prompting)g(the)h(user)f(in)m(ter-)
+150 408 y(activ)m(ely)-8 b(.)43 b(These)26 b(switc)m(hes)i(are)g
+(useful)e(in)h(batc)m(h)g(en)m(vironmen)m(ts)h(b)s(ecause)f(they)g
+(suppress)e(in)m(teractiv)m(e)150 518 y(k)m(eyb)s(oard)30
+b(input.)150 818 y FB(2.4)68 b(App)t(ending)44 b(V)-11
+b(ariables)150 978 y FD(Adding)23 b(v)-5 b(ariables)24
+b(from)e(one)i(\014le)f(to)h(another)g(is)f(often)h(desirable.)38
+b(This)23 b(is)g(referred)g(to)h(as)f Fz(app)s(ending)p
+FD(,)150 1087 y(although)37 b(some)h(prefer)e(the)i(terminology)g
+Fz(merging)2036 1054 y Ft(3)2110 1087 y FD(or)g Fz(pasting)p
+FD(.)61 b(App)s(ending)35 b(is)i(often)h(confused)150
+1197 y(with)h(what)f FC(NCO)h FD(calls)h Fz(concatenation)p
+FD(.)68 b(In)38 b FC(NCO)p FD(,)j(concatenation)h(refers)c(to)i
+(splicing)f(a)g(v)-5 b(ariable)150 1306 y(along)38 b(the)g(record)f
+(dimension.)61 b(The)36 b(length)i(along)g(the)g(record)f(dimension)g
+(of)g(the)h(output)e(is)i(the)150 1416 y(sum)e(of)g(the)h(lengths)g(of)
+g(the)g(input)e(\014les.)59 b(App)s(ending,)37 b(on)g(the)f(other)h
+(hand,)h(refers)e(to)h(cop)m(ying)h(a)150 1526 y(v)-5
+b(ariable)34 b(from)f(one)g(\014le)g(to)h(another)f(\014le)h(whic)m(h)e
+(ma)m(y)i(or)f(ma)m(y)h(not)f(already)h(con)m(tain)g(the)g(v)-5
+b(ariable)3687 1493 y Ft(4)3725 1526 y FD(.)150 1635
+y FC(NCO)30 b FD(can)i(app)s(end)d(or)h(concatenate)k(just)c(one)h(v)-5
+b(ariable,)32 b(or)f(all)g(the)g(v)-5 b(ariables)32 b(in)e(a)h(\014le)g
+(at)h(the)f(same)150 1745 y(time.)275 1927 y(In)e(this)h(sense,)h
+Fy(ncks)e FD(can)h(app)s(end)f(v)-5 b(ariables)31 b(from)e(one)i
+(\014le)f(to)h(another)g(\014le.)40 b(This)30 b(capabilit)m(y)i(is)150
+2036 y(in)m(v)m(ok)m(ed)c(b)m(y)f(naming)g(t)m(w)m(o)h(\014les)f(on)g
+(the)g(command)g(line,)h Fz(input-\014le)j FD(and)c Fz(output-\014le)p
+FD(.)39 b(When)27 b Fz(output-)150 2146 y(\014le)33 b
+FD(already)28 b(exists,)h(the)f(user)f(is)h(prompted)f(whether)g(to)i
+Fz(o)m(v)m(erwrite)p FD(,)h Fz(app)s(end/replace)p FD(,)e(or)g
+Fz(exit)i FD(from)150 2255 y(the)35 b(command.)54 b(Selecting)37
+b Fz(o)m(v)m(erwrite)42 b FD(tells)36 b(the)f(op)s(erator)g(to)h(erase)
+f(the)g(existing)h Fz(output-\014le)41 b FD(and)150 2365
+y(replace)31 b(it)g(with)g(the)f(results)g(of)h(the)g(op)s(eration.)41
+b(Selecting)32 b Fz(exit)h FD(causes)e(the)g(op)s(erator)g(to)g
+(exit|the)150 2475 y Fz(output-\014le)38 b FD(will)33
+b(not)h(b)s(e)e(touc)m(hed)i(in)e(this)h(case.)50 b(Selecting)34
+b Fz(app)s(end/replace)k FD(causes)33 b(the)h(op)s(erator)150
+2584 y(to)e(attempt)h(to)g(place)f(the)g(results)f(of)h(the)g(op)s
+(eration)g(in)g(the)f(existing)i Fz(output-\014le)p FD(,)f(See)g
+(Section)h(4.7)150 2694 y([nc)m(ks)e(netCDF)g(Kitc)m(hen)g(Sink],)f
+(page)h(173.)275 2876 y(The)e(simplest)i(w)m(a)m(y)g(to)g(create)h(the)
+f(union)e(of)i(t)m(w)m(o)h(\014les)e(is)390 3058 y Fy(ncks)47
+b(-A)g(fl_1.nc)f(fl_2.nc)275 3240 y FD(This)41 b(puts)h(the)h(con)m
+(ten)m(ts)i(of)e Fy(fl_1.nc)d FD(in)m(to)k Fy(fl_2.nc)p
+FD(.)76 b(The)42 b(`)p Fy(-A)p FD(')h(is)f(optional.)79
+b(On)42 b(output,)150 3349 y Fy(fl_2.nc)35 b FD(is)i(the)h(union)e(of)i
+(the)f(input)f(\014les,)j(regardless)f(of)f(whether)g(they)g(share)g
+(dimensions)g(and)150 3459 y(v)-5 b(ariables,)43 b(or)d(are)g
+(completely)i(disjoin)m(t.)69 b(The)40 b(app)s(end)e(fails)i(if)g(the)g
+(input)f(\014les)h(ha)m(v)m(e)h(di\013eren)m(tly)150
+3568 y(named)g(record)h(dimensions)f(\(since)h(netCDF)g(supp)s(orts)e
+(only)i(one\),)j(or)d(ha)m(v)m(e)h(dimensions)e(of)h(the)150
+3678 y(same)31 b(name)f(but)g(di\013eren)m(t)h(sizes.)150
+3978 y FB(2.5)68 b(Simple)46 b(Arithmetic)f(and)g(In)l(terp)t(olation)
+150 4138 y FD(Users)34 b(comfortable)i(with)e FC(NCO)g
+FD(seman)m(tics)i(ma)m(y)f(\014nd)e(it)i(easier)g(to)g(p)s(erform)e
+(some)i(simple)f(mathe-)150 4247 y(matical)f(op)s(erations)e(in)f
+FC(NCO)h FD(rather)g(than)f(higher)h(lev)m(el)i(languages.)43
+b Fy(ncbo)30 b FD(\(see)i(Section)f(4.3)h([ncb)s(o)150
+4357 y(netCDF)37 b(Binary)f(Op)s(erator],)i(page)f(159\))h(do)s(es)d
+(\014le)i(addition,)h(subtraction,)g(m)m(ultiplication,)i(divi-)150
+4466 y(sion,)32 b(and)e(broadcasting.)44 b(It)31 b(ev)m(en)h(do)s(es)f
+(group)f(broadcasting.)44 b Fy(ncflint)29 b FD(\(see)k(Section)f(4.6)g
+([nc\015in)m(t)150 4576 y(netCDF)e(File)g(In)m(terp)s(olator],)h(page)f
+(170\))h(do)s(es)e(\014le)g(addition,)h(subtraction,)g(m)m
+(ultiplication)h(and)e(in-)150 4686 y(terp)s(olation.)51
+b(Sequences)33 b(of)g(these)h(commands)f(can)h(accomplish)g(simple)f(y)
+m(et)i(p)s(o)m(w)m(erful)e(op)s(erations)150 4795 y(from)d(the)g
+(command)h(line.)p 150 4963 1200 4 v 199 5031 a Ft(3)275
+5063 y Fs(The)23 b(terminology)h Fm(merging)31 b Fs(is)24
+b(reserv)n(ed)f(for)h(an)f(\(un)n(written\))g(op)r(erator)h(whic)n(h)f
+(replaces)i(h)n(yp)r(erslabs)e(of)h(a)f(v)l(ariable)275
+5150 y(in)i(one)h(\014le)g(with)g(h)n(yp)r(erslabs)f(of)i(the)e(same)h
+(v)l(ariable)h(from)f(another)g(\014le)199 5221 y Ft(4)275
+5253 y Fs(Y)-6 b(es,)26 b(the)g(terminology)i(is)f(confusing.)37
+b(By)27 b(all)g(means)g(mail)g(me)g(if)g(y)n(ou)f(think)f(of)i(a)g(b)r
+(etter)f(nomenclature.)38 b(Should)275 5340 y Fp(NCO)25
+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.2)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
+568 y(statistics\))35 b(and)e(concatenators.)51 b(Because)34
+b(there)f(are)h(so)f(man)m(y)g(t)m(yp)s(es)g(of)g(statistics)i(lik)m(e)
+f(a)m(v)m(eraging)150 677 y(\(e.g.,)k(across)e(\014les,)g(within)e(a)i
+(\014le,)g(o)m(v)m(er)g(the)f(record)g(dimension,)h(o)m(v)m(er)g(other)
+g(dimensions,)f(with)g(or)150 787 y(without)29 b(w)m(eigh)m(ts)h(and)e
+(masks\))h(and)f(of)g(concatenating)j(\(across)f(\014les,)f(along)h
+(the)f(record)f(dimension,)150 897 y(along)f(other)g(dimensions\),)g
+(there)g(are)g(curren)m(tly)f(no)g(few)m(er)h(than)f(\014v)m(e)h(op)s
+(erators)g(whic)m(h)f(tac)m(kle)i(these)150 1006 y(t)m(w)m(o)42
+b(purp)s(oses:)58 b Fy(ncra)p FD(,)42 b Fy(nces)p FD(,)g
+Fy(ncwa)p FD(,)g Fy(ncrcat)p FD(,)f(and)f Fy(ncecat)p
+FD(.)68 b(These)40 b(op)s(erators)h(do)f(share)g(man)m(y)150
+1116 y(capabilities)593 1083 y Ft(5)632 1116 y FD(,)i(though)d(eac)m(h)
+h(has)f(its)h(unique)e(sp)s(ecialt)m(y)-8 b(.)70 b(Tw)m(o)39
+b(of)g(these)h(op)s(erators,)i Fy(ncrcat)c FD(and)150
+1225 y Fy(ncecat)p FD(,)46 b(concatenate)h(h)m(yp)s(erslabs)c(across)h
+(\014les.)82 b(The)44 b(other)g(t)m(w)m(o)i(op)s(erators,)h
+Fy(ncra)c FD(and)h Fy(nces)p FD(,)150 1335 y(compute)f(statistics)i
+(across)e(\(and/or)g(within\))f(\014les)2038 1302 y Ft(6)2076
+1335 y FD(.)77 b(First,)47 b(let's)d(describ)s(e)e(the)h
+(concatenators,)150 1445 y(then)30 b(the)h(statistics)h(to)s(ols.)150
+1634 y Fu(2.6.1)63 b(Concatenators)40 b Fl(ncrcat)i Fu(and)f
+Fl(ncecat)150 1781 y FD(Joining)36 b(together)h(indep)s(enden)m(t)e
+(\014les)h(along)h(a)f(common)g(record)g(dimension)g(is)g(called)h
+Fz(concatena-)150 1891 y(tion)p FD(.)57 b Fy(ncrcat)34
+b FD(is)i(designed)g(for)f(concatenating)j(record)e(v)-5
+b(ariables,)38 b(while)e Fy(ncecat)e FD(is)i(designed)f(for)150
+2000 y(concatenating)29 b(\014xed)c(length)i(v)-5 b(ariables.)40
+b(Consider)26 b(\014v)m(e)g(\014les,)h Fy(85.nc)p FD(,)f
+Fy(86.nc)p FD(,)32 b(.)22 b(.)g(.)42 b Fy(89.nc)25 b
+FD(eac)m(h)i(con-)150 2110 y(taining)39 b(a)f(y)m(ear's)h(w)m(orth)f
+(of)g(data.)65 b(Sa)m(y)38 b(y)m(ou)g(wish)g(to)g(create)i(from)e(them)
+g(a)g(single)h(\014le,)h Fy(8589.nc)150 2219 y FD(con)m(taining)h(all)g
+(the)f(data,)k(i.e.,)f(spanning)c(all)i(\014v)m(e)f(y)m(ears.)70
+b(If)39 b(the)h(ann)m(ual)g(\014les)g(mak)m(e)h(use)f(of)g(the)150
+2329 y(same)28 b(record)f(v)-5 b(ariable,)29 b(then)e
+Fy(ncrcat)f FD(will)i(do)f(the)g(job)g(nicely)i(with,)f(e.g.,)h
+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(196,)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
+2927 y(\014xed)24 b(length.)39 b(F)-8 b(or)25 b(example,)i(the)d
+(\014les)h(ma)m(y)g(not)g(b)s(e)e(conceptually)j(sequen)m(tial,)i(but)
+23 b(rather)i(mem)m(b)s(ers)150 3036 y(of)35 b(the)f(same)h(group,)g
+(or)f Fz(ensem)m(ble)p FD(.)53 b(Mem)m(b)s(ers)35 b(of)f(an)g(ensem)m
+(ble)h(ma)m(y)g(ha)m(v)m(e)h(no)e(reason)h(to)g(con)m(tain)150
+3146 y(a)c(record)g(dimension.)41 b Fy(ncecat)30 b FD(will)h(create)h
+(a)f(new)g(record)f(dimension)h(\(named)f Fz(record)35
+b FD(b)m(y)30 b(default\))150 3256 y(with)k(whic)m(h)h(to)g(glue)h
+(together)g(the)f(individual)f(\014les)h(in)m(to)g(the)g(single)h
+(ensem)m(ble)f(\014le.)54 b(If)34 b Fy(ncecat)f FD(is)150
+3365 y(used)24 b(on)h(\014les)g(whic)m(h)f(con)m(tain)i(an)f(existing)h
+(record)f(dimension,)g(that)h(record)e(dimension)h(is)f(con)m(v)m
+(erted)150 3475 y(to)k(a)g(\014xed-length)f(dimension)g(of)h(the)f
+(same)h(name)f(and)g(a)h(new)f(record)g(dimension)g(\(named)g
+Fy(record)p FD(\))150 3584 y(is)g(created.)41 b(Consider)27
+b(\014v)m(e)g(realizations,)j Fy(85a.nc)p FD(,)d Fy(85b.nc)p
+FD(,)32 b(.)22 b(.)g(.)42 b Fy(85e.nc)26 b FD(of)h(1985)i(predictions)e
+(from)150 3694 y(the)42 b(same)f(climate)j(mo)s(del.)73
+b(Then)41 b Fy(ncecat)29 b(85?.nc)f(85_ens.nc)39 b FD(glues)j(together)
+h(the)f(individual)150 3804 y(realizations)30 b(in)m(to)f(the)g(single)
+g(\014le,)f Fy(85_ens.nc)p FD(.)38 b(If)28 b(an)g(input)f(v)-5
+b(ariable)29 b(w)m(as)f(dimensioned)g([)p Fy(lat)p FD(,)p
+Fy(lon)p FD(],)150 3913 y(it)j(will)g(ha)m(v)m(e)h(dimensions)e([)p
+Fy(record)p FD(,)p Fy(lat)p FD(,)p Fy(lon)p FD(])e(in)i(the)h(output)f
+(\014le.)42 b(A)30 b(restriction)i(of)f Fy(ncecat)e FD(is)h(that)150
+4023 y(the)i(h)m(yp)s(erslabs)e(of)h(the)h(pro)s(cessed)f(v)-5
+b(ariables)32 b(m)m(ust)f(b)s(e)f(the)i(same)g(from)f(\014le)g(to)h
+(\014le.)44 b(Normally)32 b(this)150 4132 y(means)d(all)h(the)f(input)g
+(\014les)g(are)g(the)h(same)f(size,)i(and)d(con)m(tain)j(data)e(on)g
+(di\013eren)m(t)h(realizations)h(of)f(the)150 4242 y(same)35
+b(v)-5 b(ariables.)54 b(See)35 b(Section)g(4.5)h([ncecat)g(netCDF)f
+(Ensem)m(ble)g(Concatenator],)j(page)d(167,)i(for)e(a)150
+4351 y(complete)d(description)e(of)h Fy(ncecat)p FD(.)275
+4511 y Fy(ncpdq)k FD(mak)m(es)k(it)e(p)s(ossible)g(to)h(concatenate)i
+(\014les)e(along)g(an)m(y)g(dimension,)g(not)g(just)f(the)g(record)150
+4620 y(dimension.)60 b(First,)39 b(use)e Fy(ncpdq)e FD(to)j(con)m(v)m
+(ert)g(the)f(dimension)g(to)g(b)s(e)g(concatenated)i(\(i.e.,)h
+(extended)p 150 4702 1200 4 v 199 4769 a Ft(5)275 4801
+y Fs(Curren)n(tly)22 b Fr(nces)h Fs(and)f Fr(ncrcat)i
+Fs(are)f(sym)n(b)r(olically)h(link)n(ed)e(to)h(the)f
+Fr(ncra)h Fs(executable,)h(whic)n(h)e(b)r(eha)n(v)n(es)g(sligh)n(tly)h
+(di\013er-)275 4888 y(en)n(tly)i(based)h(on)h(its)f(in)n(v)n(o)r
+(cation)h(name)f(\(i.e.,)i(`)p Fr(argv[0])p Fs('\).)38
+b(These)27 b(three)f(op)r(erators)i(share)e(the)g(same)h(source)g(co)r
+(de,)275 4975 y(and)e(merely)h(ha)n(v)n(e)f(di\013eren)n(t)g(inner)g
+(lo)r(ops.)199 5047 y Ft(6)275 5078 y Fs(The)32 b(third)h(a)n(v)n
+(eraging)g(op)r(erator,)j Fr(ncwa)p Fs(,)f(is)f(the)e(most)h
+(sophisticated)h(a)n(v)n(erager)f(in)g Fp(NCO)p Fs(.)55
+b(Ho)n(w)n(ev)n(er,)34 b Fr(ncwa)g Fs(is)f(in)275 5166
+y(a)c(di\013eren)n(t)g(class)i(than)d Fr(ncra)i Fs(and)f
+Fr(nces)h Fs(b)r(ecause)g(it)g(op)r(erates)g(on)f(a)h(single)g(\014le)f
+(p)r(er)h(in)n(v)n(o)r(cation)f(\(as)h(opp)r(osed)g(to)275
+5253 y(m)n(ultiple)e(\014les\).)44 b(On)27 b(that)i(single)g(\014le,)h
+(ho)n(w)n(ev)n(er,)f Fr(ncwa)h Fs(pro)n(vides)e(a)h(ric)n(her)g(set)g
+(of)g(a)n(v)n(eraging)g(options|including)275 5340 y(w)n(eigh)n(ting,)d
+(masking,)h(and)e(broadcasting.)p eop end
+%%Page: 19 25
+TeXDict begin 19 24 bop 150 -116 a FD(Chapter)30 b(2:)41
+b(Op)s(erator)30 b(Strategies)2264 b(19)150 299 y(with)33
+b(data)h(from)f(other)g(\014les\))h(in)m(to)g(the)f(record)g
+(dimension.)49 b(Second,)34 b(use)f Fy(ncrcat)e FD(to)j(concatenate)150
+408 y(these)42 b(\014les.)75 b(Finally)-8 b(,)46 b(if)c(desirable,)j
+(use)d Fy(ncpdq)e FD(to)i(rev)m(ert)h(to)g(the)e(original)i
+(dimensionalit)m(y)-8 b(.)77 b(As)150 518 y(a)39 b(concrete)g(example,)
+i(sa)m(y)e(that)g(\014les)f Fy(x_01.nc)p FD(,)g Fy(x_02.nc)p
+FD(,)44 b(.)23 b(.)f(.)41 b Fy(x_10.nc)c FD(con)m(tain)i(time-ev)m
+(olving)150 628 y(datasets)30 b(from)f(spatially)i(adjacen)m(t)f
+(regions.)41 b(The)29 b(time)h(and)e(spatial)j(co)s(ordinates)f(are)f
+Fy(time)f FD(and)h Fy(x)p FD(,)150 737 y(resp)s(ectiv)m(ely)-8
+b(.)47 b(Initially)33 b(the)f(record)g(dimension)f(is)h
+Fy(time)p FD(.)44 b(Our)31 b(goal)i(is)f(to)h(create)g(a)g(single)f
+(\014le)g(that)150 847 y(con)m(tains)g(joins)e(all)h(the)g(spatially)g
+(adjacen)m(t)h(regions)f(in)m(to)g(one)g(single)g(time-ev)m(olving)i
+(dataset.)390 1009 y Fy(for)47 b(idx)g(in)g(01)g(02)g(03)h(04)f(05)g
+(06)g(07)g(08)g(09)h(10;)f(do)g(#)g(Bourne)f(Shell)485
+1118 y(ncpdq)h(-a)g(x,time)f(x_${idx}.nc)f(foo_${idx}.nc)f(#)j(Make)g
+(x)h(record)e(dimension)390 1228 y(done)390 1337 y(ncrcat)g(foo_??.nc)f
+(out.nc)333 b(#)47 b(Concatenate)e(along)h(x)390 1447
+y(ncpdq)g(-a)i(time,x)e(out.nc)g(out.nc)g(#)h(Revert)f(to)i(time)e(as)h
+(record)f(dimension)275 1609 y FD(Note)33 b(that)g Fy(ncrcat)e
+FD(will)h(not)h(concatenate)i(\014xed-length)d(v)-5 b(ariables,)34
+b(whereas)e Fy(ncecat)f FD(concate-)150 1718 y(nates)22
+b(b)s(oth)e(\014xed-length)i(and)f(record)g(v)-5 b(ariables)22
+b(along)g(a)g(new)f(record)g(v)-5 b(ariable.)39 b(T)-8
+b(o)21 b(conserv)m(e)i(system)150 1828 y(memory)-8 b(,)31
+b(use)f Fy(ncrcat)f FD(where)h(p)s(ossible.)150 2032
+y Fu(2.6.2)63 b(Av)m(eragers)40 b Fl(nces)p Fu(,)i Fl(ncra)p
+Fu(,)f(and)g Fl(ncwa)150 2179 y FD(The)33 b(di\013erences)h(b)s(et)m(w)
+m(een)g(the)g(a)m(v)m(eragers)h Fy(ncra)e FD(and)f Fy(nces)h
+FD(are)h(analogous)h(to)f(the)f(di\013erences)h(b)s(e-)150
+2289 y(t)m(w)m(een)f(the)e(concatenators.)46 b Fy(ncra)31
+b FD(is)g(designed)g(for)h(a)m(v)m(eraging)h(record)f(v)-5
+b(ariables)32 b(from)f(at)h(least)h(one)150 2398 y(\014le,)40
+b(while)d Fy(nces)g FD(is)g(designed)g(for)h(a)m(v)m(eraging)i(\014xed)
+d(length)h(v)-5 b(ariables)38 b(from)f(m)m(ultiple)h(\014les.)62
+b Fy(ncra)150 2508 y FD(p)s(erforms)30 b(a)j(simple)f(arithmetic)h(a)m
+(v)m(erage)i(o)m(v)m(er)e(the)f(record)g(dimension)f(of)i(all)f(the)h
+(input)e(\014les,)h(with)150 2617 y(eac)m(h)h(record)f(ha)m(ving)g(an)g
+(equal)h(w)m(eigh)m(t)g(in)f(the)g(a)m(v)m(erage.)48
+b Fy(nces)31 b FD(p)s(erforms)f(a)j(simple)f(arithmetic)h(a)m(v-)150
+2727 y(erage)f(of)f(all)h(the)f(input)f(\014les,)h(with)g(eac)m(h)h
+(\014le)f(ha)m(ving)h(an)e(equal)i(w)m(eigh)m(t)g(in)f(the)g(a)m(v)m
+(erage.)45 b(Note)32 b(that)150 2836 y Fy(ncra)40 b FD(cannot)h(a)m(v)m
+(erage)i(\014xed-length)e(v)-5 b(ariables,)44 b(but)c
+Fy(nces)g FD(can)g(a)m(v)m(erage)k(b)s(oth)c(\014xed-length)h(and)150
+2946 y(record)36 b(v)-5 b(ariables.)58 b(T)-8 b(o)37
+b(conserv)m(e)g(system)f(memory)-8 b(,)38 b(use)e Fy(ncra)f
+FD(rather)h(than)g Fy(nces)f FD(where)g(p)s(ossible)150
+3056 y(\(e.g.,)j(if)d(eac)m(h)h Fz(input-\014le)k FD(is)35
+b(one)g(record)g(long\).)55 b(The)35 b(\014le)g(output)g(from)f
+Fy(nces)g FD(will)h(ha)m(v)m(e)h(the)g(same)150 3165
+y(dimensions)f(\(meaning)i(dimension)e(names)h(as)h(w)m(ell)g(as)f
+(sizes\))h(as)f(the)g(input)g(h)m(yp)s(erslabs)e(\(see)j(Sec-)150
+3275 y(tion)32 b(4.4)h([nces)f(netCDF)g(Ensem)m(ble)f(Statistics],)j
+(page)f(164,)g(for)e(a)h(complete)h(description)f(of)f
+Fy(nces)p FD(\).)150 3384 y(The)36 b(\014le)h(output)f(from)g
+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(194,)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
+b(Since)22 b(no)g(other)g(op)s(erators)h(ha)m(v)m(e)g(this)f(abilit)m
+(y)-8 b(,)150 4064 y(the)26 b(description)g(of)h(in)m(terp)s(olation)g
+(is)f(giv)m(en)h(fully)f(on)g(the)g Fy(ncflint)e FD(reference)j(page)g
+(\(see)g(Section)g(4.6)150 4174 y([nc\015in)m(t)f(netCDF)h(File)h(In)m
+(terp)s(olator],)g(page)f(170\).)41 b(Note)28 b(that)f(this)f
+(capabilit)m(y)i(also)f(allo)m(ws)h Fy(ncflint)150 4283
+y FD(to)j(linearly)g(rescale)h(an)m(y)f(data)g(in)f(a)g(netCDF)h
+(\014le,)g(e.g.,)h(to)f(con)m(v)m(ert)h(b)s(et)m(w)m(een)f(di\013ering)
+f(units.)150 4523 y FB(2.7)68 b(Large)46 b(Num)l(b)t(ers)f(of)g(Files)
+150 4682 y FD(Occasionally)36 b(one)f(desires)f(to)h(digest)h(\(i.e.,)h
+(concatenate)g(or)d(a)m(v)m(erage\))k(h)m(undreds)32
+b(or)i(thousands)g(of)150 4792 y(input)d(\014les.)43
+b(Unfortunately)-8 b(,)33 b(data)f(arc)m(hiv)m(es)h(\(e.g.,)h
+FC(NASA)29 b(EOSDIS)p FD(\))j(ma)m(y)g(not)f(name)h(netCDF)g(\014les)
+150 4902 y(in)37 b(a)h(format)f(understo)s(o)s(d)f(b)m(y)h(the)g(`)p
+Fy(-n)30 b Fn(loop)p FD(')37 b(switc)m(h)h(\(see)g(Section)g(3.5)g([Sp)
+s(ecifying)f(Input)f(Files],)150 5011 y(page)28 b(28\))g(that)g
+(automagically)i(generates)f(arbitrary)e(n)m(um)m(b)s(ers)f(of)h(input)
+f(\014lenames.)40 b(The)27 b(`)p Fy(-n)j Fn(loop)p FD(')150
+5121 y(switc)m(h)22 b(has)f(the)g(virtue)h(of)f(b)s(eing)g(concise,)k
+(and)20 b(of)i(minimizing)f(the)h(command)f(line.)38
+b(This)21 b(helps)f(k)m(eeps)150 5230 y(output)k(\014le)g(small)h
+(since)g(the)f(command)g(line)h(is)f(stored)h(as)f(metadata)i(in)e(the)
+h Fy(history)d FD(attribute)j(\(see)150 5340 y(Section)35
+b(3.35)i([History)e(A)m(ttribute],)i(page)f(95\).)55
+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.2)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
+b(\014lename)c(globbing)g(do)s(es)f(not)h(w)m(ork)g(when)f(the)h(input)
+e(\014les)i(are)g(to)s(o)150 518 y(n)m(umerous)26 b(or)g(their)h(names)
+g(are)g(to)s(o)g(length)m(y)g(\(when)f(strung)g(together)i(as)f(a)g
+(single)h(argumen)m(t\))f(to)h(b)s(e)150 628 y(passed)k(b)m(y)g(the)g
+(calling)h(shell)g(to)f(the)h FC(NCO)e FD(op)s(erator)2051
+595 y Ft(7)2089 628 y FD(.)46 b(When)32 b(this)g(o)s(ccurs,)g(the)g
+FC(ANSI)h FD(C-standard)150 737 y Fy(argc)p FD(-)p Fy(argv)39
+b FD(metho)s(d)i(of)g(passing)h(argumen)m(ts)f(from)g(the)g(calling)i
+(shell)f(to)g(a)f(C-program)g(\(i.e.,)46 b(an)150 847
+y FC(NCO)34 b FD(op)s(erator\))i(breaks)e(do)m(wn.)54
+b(There)34 b(are)h(\(at)h(least\))g(three)f(alternativ)m(e)i(metho)s
+(ds)d(of)h(sp)s(ecifying)150 956 y(the)c(input)e(\014lenames)h(to)i
+FC(NCO)e FD(in)g(en)m(vironmen)m(t-limited)i(situations.)275
+1127 y(The)25 b(recommended)h(metho)s(d)g(for)g(sending)g(v)m(ery)h
+(large)g(n)m(um)m(b)s(ers)e(\(h)m(undreds)g(or)h(more,)i(t)m
+(ypically\))150 1237 y(of)23 b(input)f(\014lenames)i(to)g(the)f(m)m
+(ulti-\014le)h(op)s(erators)f(is)h(to)f(pass)g(the)h(\014lenames)f
+(with)g(the)g FC(UNIX)h Fz(standard)150 1347 y(input)31
+b FD(feature,)g(ak)-5 b(a)32 b Fy(stdin)p FD(:)390 1518
+y Fy(#)47 b(Pipe)g(large)f(numbers)g(of)h(filenames)f(to)h(stdin)390
+1627 y(/bin/ls)f(|)h(grep)g(${CASEID}_'......'.nc)42
+b(|)47 b(ncecat)f(-o)i(foo.nc)275 1798 y FD(This)43 b(metho)s(d)h(a)m
+(v)m(oids)j(all)e(constrain)m(ts)h(on)e(command)h(line)g(size)g(imp)s
+(osed)f(b)m(y)h(the)f(op)s(erating)150 1908 y(system.)39
+b(A)26 b(dra)m(wbac)m(k)g(to)g(this)f(metho)s(d)g(is)g(that)h(the)g
+Fy(history)d FD(attribute)k(\(see)f(Section)g(3.35)h([History)150
+2017 y(A)m(ttribute],)34 b(page)g(95\))f(do)s(es)f(not)h(record)f(the)h
+(name)g(of)f(an)m(y)h(input)f(\014les)g(since)h(the)f(names)h(w)m(ere)g
+(not)150 2127 y(passed)e(on)g(the)g(command)g(line.)44
+b(This)30 b(mak)m(es)j(determining)e(the)g(data)h(pro)m(v)m(enance)g
+(at)g(a)g(later)g(date)150 2237 y(di\016cult.)39 b(T)-8
+b(o)26 b(remedy)f(this)g(situation,)j(m)m(ulti-\014le)e(op)s(erators)g
+(store)g(the)f(n)m(um)m(b)s(er)f(of)i(input)e(\014les)i(in)f(the)150
+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(96\).)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
+(command)f(and)g(determine)g(the)h(data)g(pro)m(v)m(enance.)275
+2846 y(A)37 b(second)g(option)g(is)g(to)h(use)f(the)g
+FC(UNIX)h Fy(xargs)e FD(command.)60 b(This)36 b(simple)h(example)h
+(selects)h(as)150 2956 y(input)33 b(to)h Fy(xargs)f FD(all)h(the)g
+(\014lenames)g(in)g(the)f(curren)m(t)h(directory)g(that)h(matc)m(h)f(a)
+g(giv)m(en)h(pattern.)51 b(F)-8 b(or)150 3065 y(illustration,)26
+b(consider)e(a)f(user)g(trying)h(to)g(a)m(v)m(erage)i(millions)e(of)g
+(\014les)f(whic)m(h)h(eac)m(h)g(ha)m(v)m(e)h(a)f(six)f(c)m(haracter)150
+3175 y(\014lename.)40 b(If)28 b(the)g(shell)g(bu\013er)f(cannot)h(hold)
+g(the)g(results)g(of)g(the)g(corresp)s(onding)f(globbing)h(op)s
+(erator,)150 3284 y Fy(??????.nc)p FD(,)g(then)i(the)g(\014lename)g
+(globbing)h(tec)m(hnique)g(will)f(fail.)41 b(Instead)30
+b(w)m(e)h(express)e(the)i(\014lename)150 3394 y(pattern)d(as)f(an)h
+(extended)f(regular)h(expression,)g Fy(......\\.nc)c
+FD(\(see)29 b(Section)f(3.11)h([Subsetting)e(Files],)150
+3504 y(page)i(40\).)42 b(W)-8 b(e)30 b(use)e Fy(grep)g
+FD(to)h(\014lter)g(the)g(directory)g(listing)h(for)e(this)h(pattern)g
+(and)f(to)h(pip)s(e)f(the)h(results)150 3613 y(to)h Fy(xargs)e
+FD(whic)m(h,)h(in)g(turn,)g(passes)g(the)g(matc)m(hing)i(\014lenames)e
+(to)h(an)f FC(NCO)g FD(m)m(ulti-\014le)h(op)s(erator,)g(e.g.,)150
+3723 y Fy(ncecat)p FD(.)390 3894 y Fy(#)47 b(Use)g(xargs)g(to)g
+(transfer)e(filenames)h(on)h(the)g(command)f(line)390
+4003 y(/bin/ls)g(|)h(grep)g(${CASEID}_'......'.nc)42
+b(|)47 b(xargs)g(-x)g(ncecat)f(-o)h(foo.nc)275 4174 y
+FD(The)39 b(single)i(quotes)g(protect)h(the)e(only)h(sensitiv)m(e)g
+(parts)f(of)h(the)f(extended)h(regular)f(expression)150
+4284 y(\(the)c Fy(grep)f FD(argumen)m(t\),)j(and)d(allo)m(w)j(shell)e
+(in)m(terp)s(olation)h(\(the)f Fy(${CASEID})d FD(v)-5
+b(ariable)37 b(substitution\))150 4394 y(to)42 b(pro)s(ceed)e
+(unhindered)f(on)h(the)h(rest)g(of)g(the)g(command.)72
+b Fy(xargs)40 b FD(uses)g(the)h FC(UNIX)h FD(pip)s(e)d(feature)150
+4503 y(to)d(app)s(end)d(the)j(suitably)f(\014ltered)g(input)f(\014le)i
+(list)f(to)h(the)g(end)e(of)i(the)f Fy(ncecat)e FD(command)i(options.)
+150 4613 y(The)28 b Fy(-o)i(foo.nc)d FD(switc)m(h)i(ensures)f(that)h
+(the)g(input)f(\014les)g(supplied)f(b)m(y)i Fy(xargs)e
+FD(are)i(not)g(confused)f(with)150 4722 y(the)33 b(output)f(\014le)g
+(name.)47 b Fy(xargs)31 b FD(do)s(es,)i(unfortunately)-8
+b(,)33 b(ha)m(v)m(e)g(its)g(o)m(wn)g(limit)g(\(usually)f(ab)s(out)g
+(20,000)150 4832 y(c)m(haracters\))27 b(on)d(the)h(size)h(of)f(command)
+g(lines)g(it)g(can)g(pass.)39 b(Giv)m(e)26 b Fy(xargs)e
+FD(the)h(`)p Fy(-x)p FD(')f(switc)m(h)i(to)f(ensure)f(it)p
+150 4979 1200 4 v 199 5047 a Ft(7)275 5078 y Fs(The)34
+b(exact)g(length)g(whic)n(h)g(exceeds)h(the)e(op)r(erating)j(system)e
+(in)n(ternal)g(limit)h(for)g(command)f(line)h(lengths)g(v)l(aries)275
+5166 y(from)26 b Fp(OS)g Fs(to)g Fp(OS)g Fs(and)f(from)h(shell)h(to)f
+(shell.)35 b Fp(GNU)26 b Fr(bash)h Fs(ma)n(y)e(not)h(ha)n(v)n(e)f(an)n
+(y)g(arbitrary)h(\014xed)e(limits)j(to)f(the)g(size)g(of)275
+5253 y(command)j(line)g(argumen)n(ts.)45 b(Man)n(y)29
+b Fp(OS)p Fs(s)g(cannot)g(handle)g(command)h(line)f(argumen)n(ts)g
+(\(including)g(results)h(of)g(\014le)275 5340 y(globbing\))c(exceeding)
+g(4096)h(c)n(haracters.)p eop end
+%%Page: 21 27
+TeXDict begin 21 26 bop 150 -116 a FD(Chapter)30 b(2:)41
+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
+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
+(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
+(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
+(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
+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
+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
+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
+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
+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
+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
+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
+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
+(Section)g(3.35)h([History)f(A)m(ttribute],)i(page)e(95\))g(retains)f
+(the)h(\014lename)150 2716 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
+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
+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
+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)
+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
+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
+(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
+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(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
+(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
+(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
+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(39\).)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
+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
+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
+%%Page: 22 28
+TeXDict begin 22 27 bop 150 -116 a FD(22)2627 b FC(NCO)30
+b FD(4.4.2)j(User)d(Guide)275 299 y(The)k(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(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
+(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
+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
+(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
+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
+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
+(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
+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
+(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
+(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
+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
+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
+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
+(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
+(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
+(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
+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,)
+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
+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
+(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
+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
+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
+(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
+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
+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
+(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(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
+(\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
+(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
+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.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
+(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
+%%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(86\).)50
+b(F)-8 b(or)33 b(example,)i Fy(ncra)d FD(and)150 796
+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
+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
+(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
+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
+(\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)
+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
+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
+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
+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
+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
+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(78)h(for)
+e(further)f(details.)275 2448 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
+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
+(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
+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
+(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
+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
+(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)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
+(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
+(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
+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
+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
+(casting)k(\(see)e(Section)h(4.1.4)h([Left)e(hand)f(casting],)j(page)e
+(108\))150 4405 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
+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
+%%Page: 24 30
+TeXDict begin 24 29 bop 150 -116 a FD(24)2627 b FC(NCO)30
+b FD(4.4.2)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(\\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
+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
+(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
+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)
+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
+(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
+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
+(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
+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
+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
+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
+(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
+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
+(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)
+m(apping)h(has)f(b)s(een)f(reduced)h(or)g(eliminated.)p
+eop end
+%%Page: 25 31
+TeXDict begin 25 30 bop 150 -116 a FD(Chapter)30 b(3:)41
+b(NCO)30 b(F)-8 b(eatures)2475 b(25)150 299 y Fx(3)80
+b(NCO)54 b(F)-13 b(eatures)150 549 y FD(Man)m(y)36 b(features)g(ha)m(v)
+m(e)g(b)s(een)f(implemen)m(ted)h(in)f(more)g(than)g(one)h(op)s(erator)f
+(and)g(are)h(describ)s(ed)e(here)150 659 y(for)g(brevit)m(y)-8
+b(.)54 b(The)34 b(description)g(of)h(eac)m(h)g(feature)g(is)f(preceded)
+h(b)m(y)f(a)h(b)s(o)m(x)f(listing)h(the)g(op)s(erators)f(for)150
+768 y(whic)m(h)25 b(the)h(feature)g(is)g(implemen)m(ted.)40
+b(Command)25 b(line)h(switc)m(hes)g(for)g(a)g(giv)m(en)g(feature)g(are)
+h(consisten)m(t)150 878 y(across)37 b(all)g(op)s(erators)f(wherev)m(er)
+g(p)s(ossible.)58 b(If)35 b(no)i(\\k)m(ey)g(switc)m(hes")g(are)g
+(listed)f(for)g(a)h(feature,)h(then)150 987 y(that)31
+b(particular)g(feature)f(is)h(automatic)h(and)e(cannot)h(b)s(e)f(con)m
+(trolled)i(b)m(y)e(the)g(user.)150 1216 y FB(3.1)68 b(In)l
+(ternationalization)150 1326 y Fk(\013)p 200 1326 3554
+4 v 3553 w(\010)p 150 1597 4 223 v 178 1462 a FD(Av)-5
+b(ailabilit)m(y:)43 b(All)31 b(op)s(erators)p 3803 1597
+V 150 1648 a Fk(\012)p 200 1648 3554 4 v 3553 w(\011)275
+1823 y FC(NCO)36 b FD(supp)s(ort)e(for)i Fz(in)m(ternationalization)k
+FD(of)c(textual)i(input)d(and)h(output)g(\(e.g.,)k(W)-8
+b(arning)37 b(mes-)150 1933 y(sages\))32 b(is)e(nascen)m(t.)42
+b(W)-8 b(e)31 b(hop)s(e)f(to)h(pro)s(duce)e(foreign)i(language)h
+(string)e(catalogues)j(in)d(2004.)150 2161 y FB(3.2)68
+b(Metadata)46 b(Optimization)150 2295 y Fk(\013)p 200
+2295 V 3553 w(\010)p 150 2785 4 442 v 178 2431 a FD(Av)-5
+b(ailabilit)m(y:)43 b(All)31 b(op)s(erators)178 2541
+y(Short)f(options:)41 b(None)178 2650 y(Long)31 b(options:)41
+b(`)p Fy(--hdr_pad)p FD(',)28 b(`)p Fy(--header_pad)p
+FD(')p 3803 2785 V 150 2836 a Fk(\012)p 200 2836 3554
+4 v 3553 w(\011)275 3006 y FC(NCO)d FD(supp)s(orts)e(padding)i(headers)
+g(to)h(impro)m(v)m(e)g(the)g(sp)s(eed)e(of)i(future)e(metadata)j(op)s
+(erations.)40 b(Use)150 3116 y(the)f(`)p Fy(--hdr_pad)p
+FD(')d(and)i(`)p Fy(--header_pad)p FD(')d(switc)m(hes)40
+b(to)f(request)f(that)h Fz(hdr)p 2837 3116 28 4 v 39
+w(pad)i FD(b)m(ytes)e(b)s(e)f(inserted)150 3226 y(in)m(to)h(the)g
+(metadata)h(section)f(of)g(the)f(output)g(\014le.)65
+b(F)-8 b(uture)38 b(metadata)i(expansions)e(will)h(not)g(incur)150
+3335 y(the)f(netCDF3)h(p)s(erformance)e(p)s(enalt)m(y)i(of)f(cop)m
+(ying)g(the)h(en)m(tire)f(output)g(\014le)g(unless)f(the)h(expansion)
+150 3445 y(exceeds)c(the)g(amoun)m(t)g(of)f(header)g(padding)g
+(exceeded.)50 b(This)33 b(can)h(b)s(e)e(b)s(ene\014cial)i(when)e(it)i
+(is)f(kno)m(wn)150 3554 y(that)e(some)g(metadata)h(will)f(b)s(e)e
+(added)h(at)h(a)g(future)e(date.)275 3714 y(This)34 b(optimization)j
+(exploits)f(the)g(netCDF)f(library)g Fy(nc__enddef\(\))d
+FD(function,)k(whic)m(h)f(b)s(eha)m(v)m(es)150 3823 y(di\013eren)m(tly)
+45 b(with)e(di\013eren)m(t)i(v)m(ersions)f(of)g(netCDF.)h(It)f(will)g
+(impro)m(v)m(e)h(sp)s(eed)e(of)h(future)f(metadata)150
+3933 y(expansion)f(with)h Fy(CLASSIC)d FD(and)i Fy(64bit)g
+FD(netCDF)h(\014les,)j(though)c(not)h(necessarily)h(with)e
+Fy(NETCDF4)150 4042 y FD(\014les,)32 b(i.e.,)i(those)f(created)g(b)m(y)
+e(the)h(netCDF)h(in)m(terface)g(to)g(the)f FC(HDF5)g
+FD(library)g(\(see)h(Section)f(3.9)h([File)150 4152 y(F)-8
+b(ormats)32 b(and)d(Con)m(v)m(ersion],)j(page)f(35\).)150
+4380 y FB(3.3)68 b(Op)t(enMP)44 b(Threading)150 4514
+y Fk(\013)p 200 4514 3554 4 v 3553 w(\010)p 150 5004
+4 442 v 178 4650 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(ncpdq)p FD(,)h Fy(ncra)p
+FD(,)h Fy(ncrcat)p FD(,)f Fy(ncwa)178 4760 y FD(Short)h(options:)41
+b(`)p Fy(-t)p FD(')178 4869 y(Long)31 b(options:)41 b(`)p
+Fy(--thr_nbr)p FD(',)28 b(`)p Fy(--threads)p FD(',)h(`)p
+Fy(--omp_num_threads)p FD(')p 3803 5004 V 150 5055 a
+Fk(\012)p 200 5055 3554 4 v 3553 w(\011)275 5230 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
+5340 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)m(o)h(stages.)53 b(First,)35
+b(users)e(ma)m(y)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.2)j(User)d(Guide)150 299 y(request)d(a)g(sp)s(eci\014c)f(n)m
+(um)m(b)s(er)f(of)i(threads)f Fz(thr)p 1722 299 28 4
+v 40 w(n)m(br)32 b FD(with)26 b(the)h(`)p Fy(-t)p FD(')g(switc)m(h)g
+(\(or)g(its)g(long)g(option)g(equiv)-5 b(a-)150 408 y(len)m(ts,)26
+b(`)p Fy(--thr_nbr)p FD(',)c(`)p Fy(--threads)p FD(',)h(and)f(`)p
+Fy(--omp_num_threads)p FD('\).)35 b(If)22 b(not)h(user-sp)s(eci\014ed,)
+h(Op)s(enMP)150 518 y(obtains)36 b Fz(thr)p 602 518 V
+40 w(n)m(br)41 b FD(from)36 b(the)g Fy(OMP_NUM_THREADS)c
+FD(en)m(vironmen)m(t)k(v)-5 b(ariable,)39 b(if)d(presen)m(t,)h(or)f
+(from)g(the)150 628 y FC(OS)p FD(,)30 b(if)h(not.)150
+706 y Fk(\013)p 200 706 3554 4 v 3553 w(\010)p 150 1876
+4 1122 v 303 847 a FD(Ca)m(v)m(eat:)70 b(Unfortunately)-8
+b(,)48 b(threading)c(do)s(es)g(not)g(impro)m(v)m(e)h
+FC(NCO)f FD(throughput)f(\(i.e.,)49 b(w)m(allclo)s(c)m(k)178
+957 y(time\))42 b(b)s(ecause)f(nearly)g(all)h FC(NCO)e
+FD(op)s(erations)i(are)f(I/O-b)s(ound.)70 b(This)40 b(means)h(that)g
+FC(NCO)g FD(sp)s(ends)178 1066 y(negligible)36 b(time)e(doing)g(an)m
+(ything)g(compared)g(to)g(reading)g(and)f(writing.)51
+b(W)-8 b(e)35 b(ha)m(v)m(e)g(seen)f(some)g(and)178 1176
+y(can)26 b(imagine)h(other)e(use)g(cases)i(where)e Fy(ncwa)p
+FD(,)g Fy(ncpdq)p FD(,)h(and)f Fy(ncap2)f FD(\(with)h(long)h(scripts\))
+g(will)g(complete)178 1286 y(faster)g(due)f(to)h(threading.)39
+b(The)25 b(main)g(b)s(ene\014ts)g(of)g(threading)h(so)g(far)f(ha)m(v)m
+(e)h(b)s(een)f(to)h(isolate)i(the)d(serial)178 1395 y(from)i(parallel)h
+(p)s(ortions)e(of)h(co)s(de.)40 b(This)26 b(parallelism)i(is)f(no)m(w)g
+(exploited)h(b)m(y)e(Op)s(enMP)g(but)g(then)h(runs)178
+1505 y(in)m(to)32 b(the)g(I/O)f(b)s(ottlenec)m(k)i(during)d(output.)43
+b(The)30 b(b)s(ottlenec)m(k)j(could)e(b)s(e)g(ameliorated)i(for)e
+(large)h(\014les)178 1614 y(b)m(y)h(the)g(use)f(of)h(MPI-enabled)g
+(calls)h(in)e(the)h(netCDF4)h(library)e(when)g(the)h(underlying)e
+(\014lesystem)i(is)178 1724 y(parallel)j(\(e.g.,)j FC(PVFS)c
+FD(or)g FC(JFS)p FD(\).)55 b(Implemen)m(tation)37 b(of)e(the)g
+(parallel)h(output)f(calls)i(in)d FC(NCO)h FD(is)g(not)h(a)178
+1833 y(goal)c(of)f(our)f(curren)m(t)g(funding)f(and)g(w)m(ould)h
+(require)h(new)e(v)m(olun)m(teers)j(or)e(funding.)p 3803
+1876 V 150 1928 a Fk(\012)p 200 1928 3554 4 v 3553 w(\011)275
+2120 y FC(NCO)k FD(ma)m(y)i(mo)s(dify)e Fz(thr)p 1136
+2120 28 4 v 39 w(n)m(br)41 b FD(according)36 b(to)f(its)g(o)m(wn)g(in)m
+(ternal)h(settings)g(b)s(efore)e(it)i(requests)f(an)m(y)150
+2230 y(threads)42 b(from)g(the)h(system.)77 b(Certain)42
+b(op)s(erators)h(con)m(tain)h(hard-co)s(de)e(limits)h(to)g(the)g(n)m
+(um)m(b)s(er)e(of)150 2339 y(threads)35 b(they)h(request.)57
+b(W)-8 b(e)36 b(base)g(these)g(limits)h(on)e(our)g(exp)s(erience)h(and)
+f(common)h(sense,)h(and)e(to)150 2449 y(reduce)g(p)s(oten)m(tially)i(w)
+m(asteful)g(system)e(usage)h(b)m(y)g(inexp)s(erienced)f(users.)55
+b(F)-8 b(or)36 b(example,)i Fy(ncrcat)c FD(is)150 2559
+y(extremely)24 b(I/O-in)m(tensiv)m(e)h(so)e(w)m(e)h(restrict)g
+Fz(thr)p 1784 2559 V 46 w(n)m(br)31 b Fv(<)p FD(=)24
+b(2)g(for)e Fy(ncrcat)p FD(.)37 b(This)22 b(is)h(based)g(on)g(the)g
+(notion)150 2668 y(that)28 b(the)f(b)s(est)g(p)s(erformance)g(that)g
+(can)h(b)s(e)f(exp)s(ected)g(from)g(an)g(op)s(erator)h(whic)m(h)f(do)s
+(es)g(no)g(arithmetic)150 2778 y(is)e(to)h(ha)m(v)m(e)h(one)e(thread)h
+(reading)f(and)g(one)g(thread)g(writing)h(sim)m(ultaneously)-8
+b(.)40 b(In)24 b(the)i(future)e(\(p)s(erhaps)150 2887
+y(with)h(netCDF4\),)j(w)m(e)d(hop)s(e)f(to)i(demonstrate)g
+(signi\014can)m(t)g(threading)f(impro)m(v)m(emen)m(ts)h(with)f(op)s
+(erators)150 2997 y(lik)m(e)32 b Fy(ncrcat)c FD(b)m(y)j(p)s(erforming)e
+(m)m(ultiple)i(sim)m(ultaneous)g(writes.)275 3179 y(Compute-in)m
+(tensiv)m(e)24 b(op)s(erators)f(\()p Fy(ncap2)p FD(,)g
+Fy(ncwa)f FD(and)g Fy(ncpdq)p FD(\))g(b)s(ene\014t)g(most)h(from)f
+(threading.)38 b(The)150 3288 y(greatest)26 b(increases)g(in)e
+(throughput)f(due)h(to)h(threading)f(o)s(ccur)h(on)f(large)i(datasets)f
+(where)f(eac)m(h)i(thread)150 3398 y(p)s(erforms)36 b(millions,)k(at)e
+(least,)i(of)e(\015oating)g(p)s(oin)m(t)f(op)s(erations.)62
+b(Otherwise,)39 b(the)e(system)h(o)m(v)m(erhead)150 3508
+y(of)31 b(setting)h(up)d(threads)h(probably)g(out)m(w)m(eighs)i(the)f
+(sp)s(eed)f(enhancemen)m(ts)h(due)f(to)h FC(SMP)g FD(parallelism.)150
+3617 y(Ho)m(w)m(ev)m(er,)c(w)m(e)c(ha)m(v)m(e)h(not)f(y)m(et)i
+(demonstrated)e(that)g(the)g FC(SMP)g FD(parallelism)h(scales)g(b)s(ey)
+m(ond)e(four)g(threads)150 3727 y(for)31 b(these)g(op)s(erators.)43
+b(Hence)32 b(w)m(e)g(restrict)f Fz(thr)p 1818 3727 V
+46 w(n)m(br)h Fv(<)p FD(=)26 b(4)32 b(for)e(all)i(op)s(erators.)43
+b(W)-8 b(e)33 b(encourage)f(users)150 3836 y(to)f(pla)m(y)g(with)f
+(these)h(limits)g(\(edit)g(\014le)g Fy(nco_omp.c)p FD(\))d(and)i(send)f
+(us)h(their)g(feedbac)m(k.)275 4018 y(Once)24 b(the)h(initial)h
+Fz(thr)p 1037 4018 V 39 w(n)m(br)31 b FD(has)24 b(b)s(een)g(mo)s
+(di\014ed)f(for)i(an)m(y)g(op)s(erator-sp)s(eci\014c)g(limits,)i
+FC(NCO)d FD(requests)150 4128 y(the)33 b(system)f(to)i(allo)s(cate)h(a)
+d(team)i(of)e Fz(thr)p 1604 4128 V 40 w(n)m(br)38 b FD(threads)32
+b(for)g(the)h(b)s(o)s(dy)e(of)i(the)f(co)s(de.)48 b(The)31
+b(op)s(erating)150 4237 y(system)i(then)g(decides)g(ho)m(w)g(man)m(y)g
+(threads)g(to)g(allo)s(cate)j(based)d(on)f(this)h(request.)49
+b(Users)33 b(ma)m(y)g(k)m(eep)150 4347 y(trac)m(k)f(of)e(this)g
+(information)h(b)m(y)f(running)f(the)i(op)s(erator)f(with)g
+Fz(dbg)p 2512 4347 V 48 w(lvl)f Fv(>)c FD(0.)275 4529
+y(By)20 b(default,)j(threaded)e(op)s(erators)f(attac)m(h)j(one)e
+(global)h(attribute,)h Fy(nco_openmp_thread_number)p
+FD(,)150 4638 y(to)37 b(an)m(y)g(\014le)g(they)g(create)h(or)f(mo)s
+(dify)-8 b(.)59 b(This)36 b(attribute)i(con)m(tains)f(the)g(n)m(um)m(b)
+s(er)f(of)h(threads)f(the)h(op-)150 4748 y(erator)i(used)e(to)i(pro)s
+(cess)e(the)i(input)e(\014les.)63 b(This)37 b(information)i(helps)e(to)
+i(v)m(erify)f(that)h(the)f(answ)m(ers)150 4858 y(with)j(threaded)g(and)
+g(non-threaded)g(op)s(erators)h(are)g(equal)g(to)g(within)f(mac)m(hine)
+h(precision.)75 b(This)150 4967 y(information)31 b(is)f(also)h(useful)f
+(for)g(b)s(enc)m(hmarking.)150 5267 y FB(3.4)68 b(Command)45
+b(Line)g(Options)p eop end
+%%Page: 27 33
+TeXDict begin 27 32 bop 150 -116 a FD(Chapter)30 b(3:)41
+b(NCO)30 b(F)-8 b(eatures)2475 b(27)150 51 y Fk(\013)p
+200 51 3554 4 v 3553 w(\010)p 150 322 4 223 v 178 188
+a FD(Av)-5 b(ailabilit)m(y:)43 b(All)31 b(op)s(erators)p
+3803 322 V 150 374 a Fk(\012)p 200 374 3554 4 v 3553
+w(\011)275 558 y FC(NCO)26 b FD(ac)m(hiev)m(es)i(\015exibilit)m(y)g(b)m
+(y)e(using)h Fz(command)f(line)h(options)p FD(.)39 b(These)27
+b(options)g(are)f(implemen)m(ted)150 668 y(in)36 b(all)h(traditional)g
+FC(UNIX)g FD(commands)f(as)g(single)h(letter)g Fz(switc)m(hes)p
+FD(,)i(e.g.,)g(`)p Fy(ls)30 b(-l)p FD('.)57 b(F)-8 b(or)37
+b(man)m(y)f(y)m(ears)150 778 y FC(NCO)43 b FD(used)g(only)h(single)g
+(letter)h(option)g(names.)80 b(In)43 b(late)i(2002,)k(w)m(e)44
+b(implemen)m(ted)g FC(GNU)p FD(/)p FC(POSIX)150 887 y
+FD(extended)37 b(or)g(long)g(option)g(names)g(for)f(all)i(options.)60
+b(This)36 b(w)m(as)h(done)g(in)f(a)h(bac)m(kw)m(ard)h(compatible)150
+997 y(w)m(a)m(y)k(suc)m(h)e(that)h(the)g(full)f(functionalit)m(y)i(of)f
+FC(NCO)f FD(is)h(still)g(a)m(v)-5 b(ailable)43 b(through)d(the)h
+(familiar)g(single)150 1106 y(letter)c(options.)55 b(In)35
+b(the)h(future,)f(ho)m(w)m(ev)m(er,)k(some)c(features)h(of)f
+FC(NCO)g FD(ma)m(y)h(require)f(the)h(use)f(of)g(long)150
+1216 y(options,)c(simply)f(b)s(ecause)h(w)m(e)g(ha)m(v)m(e)h(nearly)e
+(run)f(out)i(of)g(single)g(letter)h(options.)42 b(More)31
+b(imp)s(ortan)m(tly)-8 b(,)150 1326 y(mnemonics)35 b(for)g(single)h
+(letter)h(options)e(are)h(often)g(non-in)m(tuitiv)m(e)g(so)g(that)g
+(long)g(options)f(pro)m(vide)h(a)150 1435 y(more)31 b(natural)f(w)m(a)m
+(y)h(of)g(expressing)f(in)m(ten)m(t.)275 1609 y(Extended)i(options,)i
+(also)g(called)h(long)e(options,)i(are)e(implemen)m(ted)h(using)e(the)i
+(system-supplied)150 1719 y Fy(getopt.h)28 b FD(header)i(\014le,)h(if)f
+(p)s(ossible.)41 b(This)29 b(pro)m(vides)i(the)f Fy(getopt_long)d
+FD(function)j(to)i FC(NCO)3421 1686 y Ft(1)3458 1719
+y FD(.)275 1893 y(The)25 b(syn)m(tax)h(of)f Fz(short)h(options)j
+FD(\(single)e(letter)g(options\))f(is)f Fn(-key)30 b(value)24
+b FD(\(dash-k)m(ey-space-v)-5 b(alue\).)150 2002 y(Here,)31
+b Fz(k)m(ey)39 b FD(is)30 b(the)h(single)g(letter)h(option)f(name,)f
+(e.g.,)i(`)p Fy(-D)e(2)p FD('.)275 2176 y(The)25 b(syn)m(tax)i(of)f
+Fz(long)h(options)j FD(\(m)m(ulti-letter)f(options\))e(is)f
+Fn(--long_name)h(value)e FD(\(dash-dash-k)m(ey-)150 2286
+y(space-v)-5 b(alue\),)34 b(e.g.,)f(`)p Fy(--dbg_lvl)28
+b(2)p FD(')j(or)g Fn(--long_name=value)c FD(\(dash-dash-k)m(ey-equal-v)
+-5 b(alue\),)34 b(e.g.,)150 2396 y(`)p Fy(--dbg_lvl=2)p
+FD('.)41 b(Th)m(us)30 b(the)i(follo)m(wing)h(are)e(all)i(v)-5
+b(alid)31 b(for)g(the)h(`)p Fy(-D)p FD(')f(\(short)g(v)m(ersion\))i(or)
+e(`)p Fy(--dbg_lvl)p FD(')150 2505 y(\(long)g(v)m(ersion\))h(command)e
+(line)g(option.)390 2679 y Fy(ncks)47 b(-D)g(3)g(in.nc)381
+b(#)47 b(Short)g(option)390 2789 y(ncks)g(--dbg_lvl=3)d(in.nc)j(#)g
+(Long)g(option,)f(preferred)f(form)390 2898 y(ncks)i(--dbg_lvl)e(3)i
+(in.nc)g(#)g(Long)g(option,)f(alternate)f(form)150 3072
+y FD(The)32 b(last)h(example)g(is)g(preferred)e(for)h(t)m(w)m(o)i
+(reasons.)47 b(First,)34 b(`)p Fy(--dbg_lvl)p FD(')c(is)j(more)g(sp)s
+(eci\014c)f(and)g(less)150 3182 y(am)m(biguous)h(than)g(`)p
+Fy(-D)p FD('.)48 b(The)32 b(long)i(option)f(form)g(mak)m(es)g(scripts)g
+(more)g(self)g(do)s(cumen)m(ting)g(and)g(less)150 3292
+y(error)d(prone.)40 b(Often)29 b(long)i(options)f(are)h(named)e(after)i
+(the)f(source)g(co)s(de)h(v)-5 b(ariable)30 b(whose)g(v)-5
+b(alue)31 b(they)150 3401 y(carry)-8 b(.)62 b(Second,)40
+b(the)d(equals)h(sign)g Fn(=)f FD(joins)g(the)h(k)m(ey)g(\(i.e.,)j
+Fz(long)p 2448 3401 28 4 v 41 w(name)5 b FD(\))38 b(to)g(the)f(v)-5
+b(alue)38 b(in)g(an)f(unin-)150 3511 y(terruptible)32
+b(text)i(blo)s(c)m(k.)48 b(Exp)s(erience)33 b(sho)m(ws)f(that)h(users)f
+(are)h(less)g(lik)m(ely)h(to)g(mis-parse)e(commands)150
+3620 y(when)d(restricted)i(to)h(this)e(form.)275 3794
+y FC(GNU)d FD(implemen)m(ts)f(a)h(sup)s(erset)e(of)i(the)f
+FC(POSIX)g FD(standard)g(whic)m(h)g(allo)m(ws)h(an)m(y)g(unam)m
+(biguous)f(trun-)150 3904 y(cation)32 b(of)e(a)h(v)-5
+b(alid)31 b(option)g(to)g(b)s(e)e(used.)390 4078 y Fy(ncks)47
+b(-D)g(3)g(in.nc)381 b(#)47 b(Short)g(option)390 4188
+y(ncks)g(--dbg_lvl=3)d(in.nc)j(#)g(Long)g(option,)f(full)g(form)390
+4297 y(ncks)h(--dbg=3)e(in.nc)238 b(#)47 b(Long)g(option,)f
+(unambiguous)e(truncation)390 4407 y(ncks)j(--db=3)f(in.nc)285
+b(#)47 b(Long)g(option,)f(unambiguous)e(truncation)390
+4516 y(ncks)j(--d=3)f(in.nc)333 b(#)47 b(Long)g(option,)f(ambiguous)f
+(truncation)150 4690 y FD(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 4800 y(exit)26
+b(with)g(an)f(error)g(since)h Fy(ncks)e FD(cannot)i(disam)m(biguate)h
+(whether)e(`)p Fy(--d)p FD(')g(is)h(in)m(tended)f(as)h(a)g(truncation)
+150 4910 y(of)31 b(`)p Fy(--dbg_lvl)p FD(',)d(of)j(`)p
+Fy(--dimension)p FD(',)d(or)i(of)h(some)f(other)h(long)g(option.)p
+150 5066 1200 4 v 199 5134 a Ft(1)307 5166 y Fs(If)i(a)h
+Fr(getopt_long)h Fs(function)e(cannot)g(b)r(e)g(found)f(on)h(the)g
+(system,)i Fp(NCO)d Fs(will)j(use)e(the)f Fr(getopt_long)k
+Fs(from)d(the)275 5253 y Fr(my_getopt)f Fs(pac)n(k)l(age)e(b)n(y)g
+(Benjamin)h(Sittler)f Fr(bsittler at iname)t(.)s(com)p Fs(.)52
+b(This)31 b(is)g Fp(BSD)p Fs(-licensed)g(soft)n(w)n(are)h(a)n(v)l
+(ailable)275 5340 y(from)26 b Fr(http://www.geocities.com/Rese)q(arch)q
+(Trian)q(gle/)q(Node/)q(9405)q(/#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.2)j(User)d(Guide)275 299 y FC(NCO)23 b FD(pro)m(vides)h(man)m
+(y)g(long)h(options)f(for)g(common)g(switc)m(hes.)39
+b(F)-8 b(or)25 b(example,)h(the)e(debugging)g(lev)m(el)150
+408 y(ma)m(y)k(b)s(e)f(set)h(in)f(all)i(op)s(erators)f(with)f(an)m(y)h
+(of)g(the)f(switc)m(hes)i(`)p Fy(-D)p FD(',)f(`)p Fy(--debug-level)p
+FD(',)d(or)j(`)p Fy(--dbg_lvl)p FD('.)150 518 y(This)21
+b(\015exibilit)m(y)i(allo)m(ws)h(users)d(to)h(c)m(ho)s(ose)h(their)f
+(fa)m(v)m(orite)i(mnemonic.)38 b(F)-8 b(or)23 b(some,)h(it)f(will)f(b)s
+(e)f(`)p Fy(--debug)p FD(')150 628 y(\(an)29 b(unam)m(biguous)f
+(truncation)h(of)f(`)p Fy(--debug-level)p FD(',)f(and)h(other)g(will)h
+(prefer)f(`)p Fy(--dbg)p FD('.)40 b(In)m(teractiv)m(e)150
+737 y(users)34 b(usually)g(prefer)g(the)h(minimal)g(amoun)m(t)g(of)g(t)
+m(yping,)h(i.e.,)h(`)p Fy(-D)p FD('.)54 b(W)-8 b(e)36
+b(recommend)e(that)h(scripts)150 847 y(whic)m(h)30 b(are)h(re-usable)f
+(emplo)m(y)i(some)e(form)g(of)h(the)f(long)h(options)g(for)f(future)g
+(main)m(tainabilit)m(y)-8 b(.)275 1007 y(This)34 b(man)m(ual)h
+(generally)h(uses)f(the)g(short)f(option)i(syn)m(tax)f(in)g(examples.)
+55 b(This)34 b(is)h(for)g(historical)150 1116 y(reasons)21
+b(and)f(to)h(conserv)m(e)h(space)f(in)f(prin)m(ted)h(output.)37
+b(Users)20 b(are)h(exp)s(ected)g(to)h(pic)m(k)f(the)g(unam)m(biguous)
+150 1226 y(truncation)31 b(of)f(eac)m(h)i(option)f(name)f(that)h(most)g
+(suits)f(their)g(taste.)150 1460 y FB(3.5)68 b(Sp)t(ecifying)45
+b(Input)f(Files)150 1594 y Fk(\013)p 200 1594 3554 4
+v 3553 w(\010)p 150 2198 4 557 v 178 1735 a FD(Av)-5
+b(ailabilit)m(y)33 b(\()p Fy(-n)p FD(\):)41 b Fy(nces)p
+FD(,)29 b Fy(ncecat)p FD(,)g Fy(ncra)p FD(,)h Fy(ncrcat)178
+1845 y FD(Av)-5 b(ailabilit)m(y)33 b(\()p Fy(-p)p FD(\):)41
+b(All)31 b(op)s(erators)178 1954 y(Short)f(options:)41
+b(`)p Fy(-n)p FD(',)31 b(`)p Fy(-p)p FD(')178 2064 y(Long)g(options:)41
+b(`)p Fy(--nintap)p FD(',)29 b(`)p Fy(--pth)p FD(',)g(`)p
+Fy(--path)p FD(')p 3803 2198 V 150 2250 a Fk(\012)p 200
+2250 3554 4 v 3553 w(\011)275 2421 y FD(It)37 b(is)f(imp)s(ortan)m(t)h
+(that)h(users)e(b)s(e)g(able)i(to)f(sp)s(ecify)g(m)m(ultiple)g(input)f
+(\014les)h(without)g(t)m(yping)g(ev)m(ery)150 2530 y(\014lename)e(in)g
+(full,)h(often)f(a)g(tedious)g(task)h(ev)m(en)g(b)m(y)e(graduate)i
+(studen)m(t)f(standards.)53 b(There)34 b(are)i(four)150
+2640 y(di\013eren)m(t)24 b(w)m(a)m(ys)h(of)e(sp)s(ecifying)h(input)f
+(\014les)g(to)i FC(NCO)p FD(:)37 b(explicitly)25 b(t)m(yping)f(eac)m
+(h,)j(using)c FC(UNIX)h FD(shell)g(wild-)150 2749 y(cards,)g(and)e
+(using)g(the)h FC(NCO)f FD(`)p Fy(-n)p FD(')g(and)g(`)p
+Fy(-p)p FD(')g(switc)m(hes)i(\(or)e(their)h(long)g(option)g(equiv)-5
+b(alen)m(ts,)26 b(`)p Fy(--nintap)p FD(')150 2859 y(or)h(`)p
+Fy(--pth)p FD(')f(and)g(`)p Fy(--path)p FD(',)h(resp)s(ectiv)m(ely\).)
+41 b(T)-8 b(ec)m(hniques)27 b(to)g(augmen)m(t)h(these)f(metho)s(ds)g
+(to)g(sp)s(ecify)g(ar-)150 2969 y(bitrary)36 b(n)m(um)m(b)s(ers)f
+(\(e.g.,)40 b(thousands\))c(and)f(patterns)i(of)f(\014lenames)h(are)g
+(discussed)e(separately)j(\(see)150 3078 y(Section)31
+b(2.7)h([Large)f(Num)m(b)s(ers)e(of)i(Files],)h(page)f(19\).)275
+3238 y(T)-8 b(o)34 b(illustrate)h(these)g(metho)s(ds,)f(consider)g(the)
+g(simple)g(problem)g(of)g(using)f Fy(ncra)g FD(to)i(a)m(v)m(erage)i
+(\014v)m(e)150 3348 y(input)c(\014les,)j Fy(85.nc)p FD(,)e
+Fy(86.nc)p FD(,)40 b(.)22 b(.)g(.)42 b Fy(89.nc)n FD(,)36
+b(and)e(store)g(the)h(results)f(in)g Fy(8589.nc)p FD(.)51
+b(Here)34 b(are)h(the)g(four)150 3457 y(metho)s(ds)30
+b(in)g(order.)40 b(They)30 b(pro)s(duce)f(iden)m(tical)j(answ)m(ers.)
+390 3617 y Fy(ncra)47 b(85.nc)f(86.nc)g(87.nc)h(88.nc)f(89.nc)g
+(8589.nc)390 3727 y(ncra)h(8[56789].nc)d(8589.nc)390
+3836 y(ncra)j(-p)g Fn(input-path)e Fy(85.nc)h(86.nc)h(87.nc)f(88.nc)g
+(89.nc)h(8589.nc)390 3946 y(ncra)g(-n)g(5,2,1)f(85.nc)h(8589.nc)275
+4106 y FD(The)40 b(\014rst)g(metho)s(d)g(\(explicitly)j(sp)s(ecifying)e
+(all)g(\014lenames\))g(w)m(orks)g(b)m(y)g(brute)f(force.)73
+b(The)40 b(sec-)150 4216 y(ond)d(metho)s(d)g(relies)h(on)f(the)h(op)s
+(erating)f(system)h(shell)g(to)g Fz(glob)i FD(\(expand\))d(the)h
+Fz(regular)f(expression)150 4325 y Fy(8[56789].nc)p FD(.)54
+b(The)36 b(shell)g(passes)f(v)-5 b(alid)37 b(\014lenames)f(whic)m(h)f
+(matc)m(h)i(the)f(expansion)g(to)g Fy(ncra)p FD(.)56
+b(The)150 4435 y(third)40 b(metho)s(d)h(uses)g(the)g(`)p
+Fy(-p)30 b Fn(input-path)p FD(')39 b(argumen)m(t)j(to)g(sp)s(ecify)f
+(the)g(directory)h(where)f(all)h(the)150 4544 y(input)28
+b(\014les)h(reside.)40 b FC(NCO)29 b FD(prep)s(ends)e
+Fz(input-path)h FD(\(e.g.,)j Fy(/data/usrname/model)p
+FD(\))24 b(to)30 b(all)g Fz(input-\014les)150 4654 y
+FD(\(though)35 b(not)g(to)g Fz(output-\014le)5 b FD(\).)54
+b(Th)m(us,)35 b(using)g(`)p Fy(-p)p FD(',)h(the)f(path)f(to)h(an)m(y)g
+(n)m(um)m(b)s(er)f(of)h(input)f(\014les)g(need)150 4764
+y(only)41 b(b)s(e)f(sp)s(eci\014ed)f(once.)72 b(Note)42
+b Fz(input-path)e FD(need)g(not)h(end)f(with)g(`)p Fy(/)p
+FD(';)46 b(the)41 b(`)p Fy(/)p FD(')f(is)h(automatically)150
+4873 y(generated)31 b(if)g(necessary)-8 b(.)275 5033
+y(The)19 b(last)j(metho)s(d)e(passes)g(\(with)g(`)p Fy(-n)p
+FD('\))h(syn)m(tax)g(concisely)h(describing)e(the)g(en)m(tire)i(set)f
+(of)f(\014lenames)3687 5000 y Ft(2)3725 5033 y FD(.)150
+5143 y(This)k(option)h(is)f(only)h(a)m(v)-5 b(ailable)27
+b(with)d(the)h Fz(m)m(ulti-\014le)g(op)s(erators)t FD(:)38
+b Fy(ncra)p FD(,)25 b Fy(ncrcat)p FD(,)f Fy(nces)p FD(,)g(and)g
+Fy(ncecat)p FD(.)p 150 5241 1200 4 v 199 5308 a Ft(2)275
+5340 y Fs(The)e(`)p Fr(-n)p Fs(')i(option)f(is)g(a)g(bac)n(kw)n(ard)g
+(compatible)g(sup)r(erset)g(of)g(the)g Fr(NINTAP)h Fs(option)f(from)g
+(the)f Fp(NCAR)g(CCM)h Fs(Pro)r(cessor.)p eop end
+%%Page: 29 35
+TeXDict begin 29 34 bop 150 -116 a FD(Chapter)30 b(3:)41
+b(NCO)30 b(F)-8 b(eatures)2475 b(29)150 299 y(By)39 b(de\014nition,)h
+(m)m(ulti-\014le)g(op)s(erators)e(are)h(able)g(to)h(pro)s(cess)e(an)g
+(arbitrary)g(n)m(um)m(b)s(er)g(of)g Fz(input-\014les)p
+FD(.)150 408 y(This)46 b(option)h(is)f(v)m(ery)h(useful)f(for)g
+(abbreviating)h(lists)g(of)g(\014lenames)f(represen)m(table)h(as)g
+Fz(alphan)m(u-)150 518 y(meric)p 373 518 28 4 v 40 w(pre\014x)6
+b Fy(+)p Fz(n)m(umeric)p 1009 518 V 39 w(su\016x)g Fy(+.+)p
+Fz(\014let)m(yp)s(e)40 b FD(where)c Fz(alphan)m(umeric)p
+2541 518 V 40 w(pre\014x)41 b FD(is)36 b(a)g(string)g(of)g(arbitrary)
+150 628 y(length)41 b(and)f(comp)s(osition,)45 b Fz(n)m(umeric)p
+1494 628 V 40 w(su\016x)h FD(is)41 b(a)g(\014xed)f(width)g(\014eld)h
+(of)g(digits,)j(and)c Fz(\014let)m(yp)s(e)47 b FD(is)41
+b(a)150 737 y(standard)g(\014let)m(yp)s(e)i(indicator.)77
+b(F)-8 b(or)44 b(example,)i(in)c(the)g(\014le)h Fy(ccm3_h0001.nc)p
+FD(,)f(w)m(e)g(ha)m(v)m(e)i Fz(alphan)m(u-)150 847 y(meric)p
+373 847 V 40 w(pre\014x)36 b FD(=)30 b Fy(ccm3_h)p FD(,)f
+Fz(n)m(umeric)p 1434 847 V 40 w(su\016x)36 b FD(=)30
+b Fy(0001)p FD(,)f(and)h Fz(\014let)m(yp)s(e)36 b FD(=)30
+b Fy(nc)p FD(.)275 1066 y FC(NCO)47 b FD(is)h(able)g(to)g(deco)s(de)g
+(lists)g(of)g(suc)m(h)f(\014lenames)h(enco)s(ded)f(using)g(the)h(`)p
+Fy(-n)p FD(')f(option.)93 b(The)150 1176 y(simpler)30
+b(\(3-argumen)m(t\))i(`)p Fy(-n)p FD(')e(usage)h(tak)m(es)g(the)g(form)
+e Fy(-n)h Fn(file_number)p Fy(,)p Fn(digit_number)o Fy(,)p
+Fn(num)o(eric)o(_)150 1285 y(increment)41 b FD(where)j
+Fz(\014le)p 1022 1285 V 40 w(n)m(um)m(b)s(er)49 b FD(is)44
+b(the)g(n)m(um)m(b)s(er)f(of)h(\014les,)j Fz(digit)p
+2555 1285 V 41 w(n)m(um)m(b)s(er)i FD(is)44 b(the)g(\014xed)f(n)m(um)m
+(b)s(er)150 1395 y(of)d(n)m(umeric)g(digits)g(comprising)g(the)g
+Fz(n)m(umeric)p 1834 1395 V 40 w(su\016x)p FD(,)i(and)d
+Fz(n)m(umeric)p 2654 1395 V 40 w(incremen)m(t)j FD(is)e(the)g(constan)m
+(t,)150 1504 y(in)m(teger-v)-5 b(alued)28 b(di\013erence)f(b)s(et)m(w)m
+(een)g(the)g Fz(n)m(umeric)p 1957 1504 V 40 w(su\016x)32
+b FD(of)27 b(an)m(y)g(t)m(w)m(o)h(consecutiv)m(e)g(\014les.)39
+b(The)26 b(v)-5 b(alue)150 1614 y(of)27 b Fz(alphan)m(umeric)p
+789 1614 V 41 w(pre\014x)32 b FD(is)27 b(tak)m(en)i(from)d(the)i(input)
+e(\014le,)i(whic)m(h)f(serv)m(es)h(as)g(a)f(template)i(for)e(deco)s
+(ding)150 1724 y(the)h(\014lenames.)40 b(In)27 b(the)h(example)g(ab)s
+(o)m(v)m(e,)i(the)e(enco)s(ding)f Fy(-n)j(5,2,1)c FD(along)j(with)e
+(the)h(input)f(\014le)h(name)150 1833 y Fy(85.nc)f FD(tells)i
+FC(NCO)f FD(to)h(construct)f(\014v)m(e)h(\(5\))g(\014lenames)f(iden)m
+(tical)i(to)f(the)g(template)g Fy(85.nc)e FD(except)i(that)150
+1943 y(the)e(\014nal)g(t)m(w)m(o)h(\(2\))g(digits)f(are)g(a)h(n)m
+(umeric)e(su\016x)g(to)i(b)s(e)e(incremen)m(ted)h(b)m(y)g(one)g(\(1\))h
+(for)f(eac)m(h)h(successiv)m(e)150 2052 y(\014le.)67
+b(Curren)m(tly)38 b Fz(\014let)m(yp)s(e)45 b FD(ma)m(y)39
+b(b)s(e)g(either)g(b)s(e)g(empt)m(y)-8 b(,)42 b Fy(nc)p
+FD(,)f Fy(cdf)p FD(,)g Fy(hdf)p FD(,)f(or)f Fy(hd5)p
+FD(.)66 b(If)39 b(presen)m(t,)i(these)150 2162 y Fz(\014let)m(yp)s(e)36
+b FD(su\016xes)29 b(\(and)h(the)g(preceding)g Fy(.)p
+FD(\))g(are)h(ignored)f(b)m(y)g FC(NCO)g FD(as)g(it)h(uses)e(the)i(`)p
+Fy(-n)p FD(')f(argumen)m(ts)g(to)150 2271 y(lo)s(cate,)i(ev)-5
+b(aluate,)33 b(and)c(compute)i(the)g Fz(n)m(umeric)p
+1846 2271 V 40 w(su\016x)k FD(comp)s(onen)m(t)c(of)g(\014lenames.)275
+2491 y(Recen)m(tly)45 b(the)e(`)p Fy(-n)p FD(')h(option)g(has)f(b)s
+(een)g(extended)h(to)g(allo)m(w)h(con)m(v)m(enien)m(t)g(sp)s
+(eci\014cation)g(of)f(\014le-)150 2600 y(names)f(with)g(\\circular")h
+(c)m(haracteristics.)82 b(This)42 b(means)h(it)h(is)f(no)m(w)g(p)s
+(ossible)f(for)h FC(NCO)g FD(to)h(auto-)150 2710 y(matically)39
+b(generate)g(\014lenames)f(whic)m(h)f(incremen)m(t)h(regularly)g(un)m
+(til)f(a)h(sp)s(eci\014ed)f(maxim)m(um)g(v)-5 b(alue,)150
+2819 y(and)44 b(then)f(wrap)h(bac)m(k)h(to)g(b)s(egin)e(again)i(at)g(a)
+g(sp)s(eci\014ed)e(minim)m(um)h(v)-5 b(alue.)82 b(The)44
+b(corresp)s(onding)150 2929 y(`)p Fy(-n)p FD(')37 b(usage)h(b)s(ecomes)
+f(more)h(complex,)i(taking)e(one)g(or)f(t)m(w)m(o)h(additional)h
+(argumen)m(ts)e(for)g(a)h(total)h(of)150 3039 y(four)20
+b(or)h(\014v)m(e,)i(resp)s(ectiv)m(ely:)37 b Fy(-n)30
+b Fn(file_number)p Fy(,)p Fn(digit_number)p Fy(,)o Fn(nume)o(ric)o
+(_inc)o(reme)o(nt)p Fy([)o(,)p Fn(num)o(eric)o(_)150
+3148 y(max)p Fy([,)p Fn(numeric_min)p Fy(]])c FD(where)k
+Fz(n)m(umeric)p 1625 3148 V 40 w(max)p FD(,)h(if)f(presen)m(t,)h(is)g
+(the)f(maxim)m(um)h(in)m(teger-v)-5 b(alue)32 b(of)f
+Fz(n)m(u-)150 3258 y(meric)p 373 3258 V 40 w(su\016x)41
+b FD(and)34 b Fz(n)m(umeric)p 1162 3258 V 40 w(min)p
+FD(,)h(if)g(presen)m(t,)h(is)f(the)g(minim)m(um)f(in)m(teger-v)-5
+b(alue)37 b(of)e Fz(n)m(umeric)p 3481 3258 V 40 w(su\016x)p
+FD(.)150 3367 y(Consider,)48 b(for)d(example,)k(the)c(problem)g(of)g
+(sp)s(ecifying)g(non-consecutiv)m(e)h(input)e(\014les)h(where)g(the)150
+3477 y(\014lename)37 b(su\016xes)f(end)h(with)f(the)i(mon)m(th)f
+(index.)60 b(In)36 b(climate)j(mo)s(deling)e(it)g(is)g(common)h(to)f
+(create)150 3587 y(summertime)26 b(and)f(win)m(tertime)i(a)m(v)m
+(erages)i(whic)m(h)d(con)m(tain)h(the)f(a)m(v)m(erages)j(of)d(the)h
+(mon)m(ths)f(June{July{)150 3696 y(August,)k(and)g(Decem)m(b)s(er{Jan)m
+(uary{F)-8 b(ebruary)g(,)33 b(resp)s(ectiv)m(ely:)390
+3915 y Fy(ncra)47 b(-n)g(3,2,1)f(85_06.nc)g(85_0608.nc)390
+4025 y(ncra)h(-n)g(3,2,1,12)e(85_12.nc)h(85_1202.nc)390
+4134 y(ncra)h(-n)g(3,2,1,12,1)e(85_12.nc)g(85_1202.nc)275
+4354 y FD(The)32 b(\014rst)g(example)h(sho)m(ws)g(that)g(three)g
+(argumen)m(ts)g(to)g(the)g(`)p Fy(-n)p FD(')g(option)g(su\016ce)g(to)g
+(sp)s(ecify)f(con-)150 4463 y(secutiv)m(e)g(mon)m(ths)e(\()p
+Fy(06,)g(07,)f(08)p FD(\))h(whic)m(h)g(do)h(not)f(\\wrap")h(bac)m(k)g
+(to)g(a)f(minim)m(um)g(v)-5 b(alue.)41 b(The)30 b(second)150
+4573 y(example)f(sho)m(ws)f(ho)m(w)g(to)h(use)f(the)h(optional)g
+(fourth)f(and)f(\014fth)h(elemen)m(ts)h(of)g(the)f(`)p
+Fy(-n)p FD(')g(option)h(to)g(sp)s(ec-)150 4682 y(ify)34
+b(a)g(wrap)e(v)-5 b(alue)35 b(to)f FC(NCO)p FD(.)50 b(The)34
+b(fourth)e(argumen)m(t)i(to)h(`)p Fy(-n)p FD(',)f(if)g(presen)m(t,)h
+(sp)s(eci\014es)e(the)h(maxim)m(um)150 4792 y(in)m(teger)26
+b(v)-5 b(alue)26 b(of)f Fz(n)m(umeric)p 1095 4792 V 40
+w(su\016x)p FD(.)38 b(In)24 b(this)h(case)h(the)f(maxim)m(um)g(v)-5
+b(alue)26 b(is)k(12,)c(and)f(will)g(b)s(e)f(formatted)150
+4902 y(as)33 b Fy(12)f FD(in)g(the)g(\014lename)h(string.)47
+b(The)32 b(\014fth)g(argumen)m(t)h(to)g(`)p Fy(-n)p FD(',)g(if)g
+(presen)m(t,)g(sp)s(eci\014es)f(the)h(minim)m(um)150
+5011 y(in)m(teger)e(v)-5 b(alue)30 b(of)g Fz(n)m(umeric)p
+1109 5011 V 40 w(su\016x)p FD(.)39 b(The)29 b(default)h(minim)m(um)f
+(\014lename)h(su\016x)f(is)h(1,)g(whic)m(h)g(is)f(format-)150
+5121 y(ted)35 b(as)f Fy(01)g FD(in)g(this)g(case.)54
+b(Th)m(us)33 b(the)h(second)h(and)f(third)f(examples)i(ha)m(v)m(e)g
+(the)g(same)g(e\013ect,)i(that)e(is,)150 5230 y(they)27
+b(automatically)j(generate,)g(in)d(order,)h(the)f(\014lenames)g
+Fy(85_12.nc)p FD(,)f Fy(85_01.nc)p FD(,)g(and)h Fy(85_02.nc)e
+FD(as)150 5340 y(input)k(to)j FC(NCO)p FD(.)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.2)j(User)d(Guide)150 299 y FB(3.6)68 b(Sp)t(ecifying)45
+b(Output)g(Files)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(All)31 b(op)s(erators)178 678 y(Short)f(options:)41
+b(`)p Fy(-o)p FD(')178 788 y(Long)31 b(options:)41 b(`)p
+Fy(--fl_out)p FD(',)29 b(`)p Fy(--output)p FD(')p 3803
+922 V 150 974 a Fk(\012)p 200 974 3554 4 v 3553 w(\011)275
+1145 y FC(NCO)f FD(commands)g(pro)s(duce)f(no)i(more)g(than)f(one)h
+(output)f(\014le,)h Fz(\015)p 2531 1145 28 4 v 40 w(out)p
+FD(.)40 b(T)-8 b(raditionally)g(,)31 b(users)d(sp)s(ec-)150
+1255 y(ify)33 b Fz(\015)p 341 1255 V 39 w(out)i FD(as)e(the)f(\014nal)h
+(argumen)m(t)g(to)g(the)g(op)s(erator,)g(follo)m(wing)h(all)g(input)d
+(\014le)i(names.)47 b(This)32 b(is)h(the)150 1365 y Fz(p)s(ositional)i
+(argumen)m(t)j FD(metho)s(d)c(of)g(sp)s(ecifying)h(input)f(and)g(ouput)
+g(\014le)g(names.)54 b(The)34 b(p)s(ositional)i(ar-)150
+1474 y(gumen)m(t)29 b(metho)s(d)e(w)m(orks)h(w)m(ell)i(in)d(most)i
+(applications.)41 b FC(NCO)28 b FD(also)h(supp)s(orts)d(sp)s(ecifying)j
+Fz(\015)p 3348 1474 V 39 w(out)h FD(using)150 1584 y(the)h(command)f
+(line)g(switc)m(h)h(argumen)m(t)g(metho)s(d,)f(`)p Fy(-o)g
+Fn(fl_out)p FD('.)275 1744 y(Sp)s(ecifying)k Fz(\015)p
+773 1744 V 40 w(out)k FD(with)d(a)g(switc)m(h,)j(rather)d(than)g(as)h
+(a)g(p)s(ositional)g(argumen)m(t,)h(allo)m(ws)g Fz(\015)p
+3467 1744 V 40 w(out)g FD(to)150 1854 y(precede)28 b(input)f(\014les)h
+(in)g(the)g(argumen)m(t)h(list.)41 b(This)27 b(is)h(particularly)h
+(useful)e(with)h(m)m(ulti-\014le)h(op)s(erators)150 1964
+y(for)j(three)g(reasons.)46 b(Multi-\014le)34 b(op)s(erators)e(ma)m(y)h
+(b)s(e)e(in)m(v)m(ok)m(ed)j(with)e(h)m(undreds)d(\(or)k(more\))g
+(\014lenames.)150 2073 y(Visual)42 b(or)f(automatic)i(lo)s(cation)g(of)
+f Fz(\015)p 1533 2073 V 39 w(out)i FD(in)d(suc)m(h)g(a)g(list)h(is)g
+(di\016cult)f(when)f(the)i(only)f(syn)m(tactic)150 2183
+y(distinction)32 b(b)s(et)m(w)m(een)g(input)e(and)g(output)h(\014les)g
+(is)g(their)g(p)s(osition.)43 b(Second,)32 b(sp)s(eci\014cation)g(of)f
+(a)g(long)150 2292 y(list)23 b(of)g(input)e(\014les)i(ma)m(y)g(b)s(e)e
+(di\016cult)i(\(see)g(Section)g(2.7)h([Large)f(Num)m(b)s(ers)e(of)i
+(Files],)j(page)d(19\).)39 b(Making)150 2402 y(the)28
+b(input)f(\014le)h(list)g(the)g(\014nal)g(argumen)m(t)g(to)g(an)g(op)s
+(erator)g(facilitates)j(using)c Fy(xargs)f FD(for)i(this)f(purp)s(ose.)
+150 2511 y(Some)36 b(alternativ)m(es)j(to)e Fy(xargs)e
+FD(are)i(v)m(ery)g(ugly)f(and)g(undesirable.)58 b(Finally)-8
+b(,)39 b(man)m(y)e(users)e(are)i(more)150 2621 y(comfortable)27
+b(sp)s(ecifying)e(output)g(\014les)g(with)h(`)p Fy(-o)k
+Fn(fl_out)p FD(')24 b(near)h(the)h(b)s(eginning)e(of)i(an)f(argumen)m
+(t)h(list.)150 2731 y(Compilers)k(and)g(link)m(ers)g(are)h(usually)f
+(in)m(v)m(ok)m(ed)i(this)e(w)m(a)m(y)-8 b(.)275 2891
+y(Users)34 b(should)g(sp)s(ecify)h Fz(\015)p 1181 2891
+V 40 w(out)i FD(using)d(either)i(\(not)f(b)s(oth\))g(metho)s(d.)54
+b(If)34 b Fz(\015)p 2876 2891 V 40 w(out)j FD(is)e(sp)s(eci\014ed)f(t)m
+(wice)150 3001 y(\(once)f(with)e(the)g(switc)m(h)h(and)f(once)i(as)e
+(the)h(last)g(p)s(ositional)h(argumen)m(t\),)f(then)g(the)f(p)s
+(ositional)i(argu-)150 3110 y(men)m(t)e(tak)m(es)h(precedence.)150
+3347 y FB(3.7)68 b(Accessing)45 b(Remote)h(Files)150
+3480 y Fk(\013)p 200 3480 3554 4 v 3553 w(\010)p 150
+3970 4 442 v 178 3616 a FD(Av)-5 b(ailabilit)m(y:)43
+b(All)31 b(op)s(erators)178 3726 y(Short)f(options:)41
+b(`)p Fy(-p)p FD(',)31 b(`)p Fy(-l)p FD(')178 3836 y(Long)g(options:)41
+b(`)p Fy(--pth)p FD(',)29 b(`)p Fy(--path)p FD(',)h(`)p
+Fy(--lcl)p FD(',)g(`)p Fy(--local)p FD(')p 3803 3970
+V 150 4022 a Fk(\012)p 200 4022 3554 4 v 3553 w(\011)275
+4193 y FD(All)22 b FC(NCO)h FD(op)s(erators)f(can)h(retriev)m(e)g
+(\014les)g(from)e(remote)j(sites)f(as)f(w)m(ell)i(as)e(from)g(the)h(lo)
+s(cal)g(\014le)g(system.)150 4303 y(A)30 b(remote)f(site)f(can)f(b)s(e)
+g(an)g(anon)m(ymous)h FC(FTP)f FD(serv)m(er,)h(a)g(mac)m(hine)g(on)f
+(whic)m(h)g(the)h(user)e(has)h Fy(rcp)p FD(,)h Fy(scp)p
+FD(,)150 4412 y(or)h Fy(sftp)f FD(privileges,)i FC(NCAR)p
+FD('s)g(Mass)f(Storage)h(System)f(\()p FC(MSS)p FD(\),)i(or)e(an)g
+FC(OP)n(eND)n(AP)e FD(serv)m(er.)41 b(Examples)150 4522
+y(of)31 b(eac)m(h)g(are)g(giv)m(en)g(b)s(elo)m(w,)g(follo)m(wing)h(a)f
+(brief)e(description)i(of)f(the)h(particular)g(access)g(proto)s(col.)
+275 4682 y(T)-8 b(o)32 b(access)h(a)f(\014le)f(via)i(an)e(anon)m(ymous)
+h FC(FTP)f FD(serv)m(er,)h(supply)e(the)i(remote)h(\014le's)f
+FC(URL)p FD(.)44 b FC(FTP)31 b FD(is)h(an)150 4792 y(in)m(trinsically)
+39 b(insecure)f(proto)s(col)h(b)s(ecause)g(it)f(transfers)g(passw)m
+(ords)f(in)h(plain)g(text)h(format.)64 b(Users)150 4902
+y(should)32 b(access)i(sites)g(using)e(anon)m(ymous)h
+FC(FTP)p FD(,)h(or)f(b)s(etter)g(y)m(et,)i(secure)e FC(FTP)g
+FD(when)f(p)s(ossible.)48 b(Some)150 5011 y FC(FTP)38
+b FD(serv)m(ers)h(require)f(a)h(login/passw)m(ord)g(com)m(bination)h
+(for)e(a)h(v)-5 b(alid)39 b(user)f(accoun)m(t.)66 b FC(NCO)39
+b FD(allo)m(ws)150 5121 y(these)31 b(transactions)h(so)f(long)g(as)g
+(the)g(required)f(information)h(is)g(stored)f(in)h(the)g
+Fy(.netrc)e FD(\014le.)42 b(Usually)150 5230 y(this)29
+b(information)h(is)f(the)g(remote)h(mac)m(hine)g(name,)g(login,)g(and)f
+(passw)m(ord,)g(in)g(plain)g(text,)h(separated)150 5340
+y(b)m(y)g(those)h(v)m(ery)g(k)m(eyw)m(ords,)g(e.g.,)p
+eop end
+%%Page: 31 37
+TeXDict begin 31 36 bop 150 -116 a FD(Chapter)30 b(3:)41
+b(NCO)30 b(F)-8 b(eatures)2475 b(31)390 299 y Fy(machine)46
+b(dust.ess.uci.edu)d(login)k(zender)f(password)f(bushlied)275
+459 y FD(Esc)m(hew)30 b(using)h(v)-5 b(aluable)31 b(passw)m(ords)f(for)
+h FC(FTP)f FD(transactions,)j(since)e Fy(.netrc)e FD(passw)m(ords)h
+(are)h(p)s(o-)150 568 y(ten)m(tially)i(exp)s(osed)d(to)h(ea)m(v)m
+(esdropping)g(soft)m(w)m(are)1878 535 y Ft(3)1917 568
+y FD(.)275 728 y FC(SFTP)p FD(,)i(i.e.,)i(secure)d FC(FTP)p
+FD(,)i(uses)e FC(SSH)p FD(-based)h(securit)m(y)h(proto)s(cols)f(that)h
+(solv)m(e)g(the)f(securit)m(y)g(issues)150 838 y(asso)s(ciated)40
+b(with)e(plain)h FC(FTP)p FD(.)64 b FC(NCO)39 b FD(supp)s(orts)d
+FC(SFTP)i FD(proto)s(col)i(access)g(to)f(\014les)g(sp)s(eci\014ed)e
+(with)i(a)150 948 y(homebrew)30 b(syn)m(tax)h(of)f(the)h(form)390
+1108 y Fy(sftp://machine.domain.tl)o(d:/p)o(ath/)o(to/)o(file)o(name)
+275 1268 y FD(Note)44 b(the)f(second)g(colon)h(follo)m(wing)g(the)f
+(top-lev)m(el-domain,)49 b Fy(tld)p FD(.)77 b(This)43
+b(syn)m(tax)g(is)g(a)g(h)m(ybrid)150 1377 y(b)s(et)m(w)m(een)31
+b(an)f FC(FTP)e(URL)i FD(and)g(a)h(standard)e(remote)j(\014le)e(syn)m
+(tax.)275 1537 y(T)-8 b(o)23 b(access)h(a)f(\014le)g(using)f
+Fy(rcp)g FD(or)g Fy(scp)p FD(,)i(sp)s(ecify)e(the)h(In)m(ternet)g
+(address)f(of)h(the)g(remote)g(\014le.)39 b(Of)22 b(course)150
+1647 y(in)i(this)h(case)g(y)m(ou)g(m)m(ust)f(ha)m(v)m(e)i
+Fy(rcp)e FD(or)g Fy(scp)g FD(privileges)h(whic)m(h)g(allo)m(w)h
+(transparen)m(t)e(\(no)h(passw)m(ord)f(en)m(try)150 1756
+y(required\))d(access)j(to)e(the)g(remote)h(mac)m(hine.)38
+b(This)21 b(means)h(that)h Fy(~/.rhosts)c FD(or)j Fy(~/ssh/authorized_)
+150 1866 y(keys)29 b FD(m)m(ust)h(b)s(e)g(set)h(accordingly)h(on)e(b)s
+(oth)g(lo)s(cal)h(and)f(remote)h(mac)m(hines.)275 2026
+y(T)-8 b(o)31 b(access)i(a)f(\014le)f(on)g(a)h(High)g(P)m(erformance)g
+(Storage)g(System)f(\()p FC(HPSS)p FD(\))h(\(suc)m(h)g(as)f(that)h(at)g
+FC(NCAR)p FD(,)150 2135 y FC(ECMWF)p FD(,)c FC(LANL)p
+FD(,)h FC(DKRZ)p FD(,)f FC(LLNL)p FD(\))g(sp)s(ecify)f(the)h(full)f
+FC(HPSS)g FD(pathname)h(of)f(the)h(remote)g(\014le.)40
+b FC(NCO)28 b FD(will)150 2245 y(attempt)i(to)f(detect)h(whether)e(the)
+h(lo)s(cal)h(mac)m(hine)f(has)g(direct)g(\(sync)m(hronous\))f
+FC(HPSS)h FD(access.)41 b(In)28 b(this)150 2355 y(case,)k
+FC(NCO)e FD(attempts)h(to)g(use)f(the)h(Hierarc)m(hical)h(Storage)g(In)
+m(terface)f(\()p FC(HSI)p FD(\))h(command)e Fy(hsi)f(get)3575
+2322 y Ft(4)3612 2355 y FD(.)275 2515 y(The)g(follo)m(wing)j(examples)f
+(sho)m(w)f(ho)m(w)h(one)f(migh)m(t)i(analyze)f(\014les)g(stored)f(on)g
+(remote)i(systems.)390 2675 y Fy(ncks)47 b(-l)g(.)g
+(ftp://dust.ess.uci.edu/pu)o(b/ze)o(nder)o(/nc)o(o/in)o(.nc)390
+2784 y(ncks)g(-l)g(.)g(sftp://dust.ess.uci.edu:/)o(home)o(/ftp)o(/pu)o
+(b/ze)o(nder)o(/nc)o(o/in)o(.nc)390 2894 y(ncks)g(-l)g(.)g
+(dust.ess.uci.edu:/home/ze)o(nder)o(/nco)o(/da)o(ta/i)o(n.nc)390
+3003 y(ncks)g(-l)g(.)g(/ZENDER/nco/in.nc)390 3113 y(ncks)g(-l)g(.)g
+(/home/zender/nco/in.nc)390 3222 y(ncks)g(-l)g(.)g
+(http://thredds-test.ucar.)o(edu/)o(thre)o(dds)o(/dod)o(sC/t)o(est)o
+(dods)o(/in.)o(nc)150 3382 y FD(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 3492 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(y)m(ou)g(ha)m(v)m(e)h
+Fy(sftp)e FD(access)i(to)f(the)g(mac)m(hine)150 3602
+y Fy(dust.ess.uci.edu)p FD(.)35 b(The)27 b(third)f(example)i(w)m(orks)f
+(if)g(y)m(ou)h(ha)m(v)m(e)g Fy(rcp)e FD(or)h Fy(scp)g
+FD(access)h(to)g(the)f(mac)m(hine)150 3711 y Fy(dust.ess.uci.edu)p
+FD(.)57 b(The)37 b(fourth)f(and)h(\014fth)f(examples)i(w)m(ork)f(on)g
+FC(NCAR)h FD(computers)f(with)g(lo)s(cal)150 3821 y(access)c(to)f(the)f
+FC(HPSS)h Fy(hsi)d(get)i FD(command)1664 3788 y Ft(5)1701
+3821 y FD(.)44 b(The)31 b(sixth)g(command)g(w)m(orks)g(if)h(y)m(our)f
+(lo)s(cal)i(v)m(ersion)f(of)150 3930 y FC(NCO)27 b FD(is)g
+FC(OP)n(eND)n(AP)p FD(-enabled)f(\(this)i(is)f(fully)g(describ)s(ed)f
+(in)h(Section)g(3.7.1)i([OP)m(eND)m(AP],)h(page)e(32\),)h(or)150
+4040 y(if)34 b(the)g(remote)h(\014le)f(is)g(accessible)h(via)g
+Fy(wget)p FD(.)50 b(The)33 b(ab)s(o)m(v)m(e)i(commands)f(can)g(b)s(e)f
+(rewritten)h(using)g(the)150 4150 y(`)p Fy(-p)c Fn(input-path)p
+FD(')e(option)j(as)f(follo)m(ws:)p 150 4250 1200 4 v
+199 4318 a Ft(3)275 4349 y Fp(NCO)f Fs(do)r(es)g(not)h(implemen)n(t)f
+(command)g(line)h(options)g(to)g(sp)r(ecify)g Fp(FTP)f
+Fs(logins)i(and)e(passw)n(ords)h(b)r(ecause)g(cop)n(ying)275
+4436 y(those)c(data)h(in)n(to)f(the)g Fr(history)i Fs(global)g
+(attribute)e(in)g(the)g(output)f(\014le)h(\(done)g(b)n(y)g(default\))g
+(p)r(oses)h(an)g(unacceptable)275 4524 y(securit)n(y)e(risk.)199
+4595 y Ft(4)275 4627 y Fs(The)36 b Fr(hsi)h Fs(command)f(m)n(ust)g(b)r
+(e)g(in)g(the)f(user's)i(path)f(in)g(one)g(of)h(the)f(follo)n(wing)j
+(directories:)56 b Fr(/usr/local/bin)p Fs(,)275 4714
+y Fr(/opt/hpss/bin)p Fs(,)37 b(or)d Fr(/ncar/opt/hpss/hsi)p
+Fs(.)60 b(T)-6 b(ell)34 b(us)e(if)i(the)e Fp(HPSS)i Fs(installation)g
+(at)f(y)n(our)g(site)g(places)h(the)e Fr(hsi)275 4801
+y Fs(command)26 b(in)g(a)h(di\013eren)n(t)f(lo)r(cation,)i(and)e(w)n(e)
+h(will)g(add)f(that)g(lo)r(cation)i(to)f(the)f(list)h(of)g(acceptable)g
+(paths)f(to)g(searc)n(h)275 4888 y(for)g Fr(hsi)p Fs(.)199
+4960 y Ft(5)275 4991 y Fp(NCO)34 b Fs(supp)r(orted)h(the)g(old)g
+Fp(NCAR)g Fs(Mass)i(Storage)f(System)e(\()p Fp(MSS)p
+Fs(\))h(un)n(til)g(v)n(ersion)h(4.0.7)h(in)e(April,)j(2011.)64
+b Fp(NCO)275 5078 y Fs(supp)r(orted)20 b Fp(MSS)p Fs(-retriev)l(als)h
+(via)h(a)f(v)l(ariet)n(y)f(of)i(mec)n(hanisms)g(including)f(the)g
+Fr(msread)p Fs(,)i Fr(msrcp)p Fs(,)h(and)c Fr(nrnet)i
+Fs(commands)275 5166 y(in)n(v)n(ok)n(ed)g(either)i(automatically)h(or)f
+(with)g(sen)n(tinels)g(lik)n(e)g Fr(ncks)j(-p)f(mss:/ZENDER/nco)j(-l)d
+(.)f(in.nc)p Fs(.)35 b(Once)24 b(the)f Fp(MSS)275 5253
+y Fs(w)n(as)g(decommissioned)h(in)e(Marc)n(h,)i(2011,)g(supp)r(ort)e
+(for)h(these)g(retriev)l(al)g(mec)n(hanisms)g(w)n(as)g(replaced)g(b)n
+(y)e(supp)r(ort)h(for)275 5340 y Fp(HPSS)j Fs(in)h Fp(NCO)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.2)j(User)d(Guide)390 299 y Fy(ncks)47 b(-p)g
+(ftp://dust.ess.uci.edu/p)o(ub/)o(zend)o(er/n)o(co)41
+b(-l)48 b(.)f(in.nc)390 408 y(ncks)g(-p)g(sftp://dust.ess.uci.edu:)o
+(/ho)o(me/f)o(tp/p)o(ub/)o(zend)o(er/n)o(co)41 b(-l)48
+b(.)f(in.nc)390 518 y(ncks)g(-p)g(dust.ess.uci.edu:/home/z)o(end)o
+(er/n)o(co)42 b(-l)47 b(.)g(in.nc)390 628 y(ncks)g(-p)g(/ZENDER/nco)e
+(-l)i(.)g(in.nc)390 737 y(ncks)g(-p)g(/home/zender/nco)c(-l)k(.)h
+(in.nc)e(#)i(HPSS)390 847 y(ncks)f(-p)g(http://thredds-test.ucar)o(.ed)
+o(u/th)o(redd)o(s/d)o(odsC)o(/tes)o(tdo)o(ds)42 b(\\)629
+956 y(-l)47 b(.)g(in.nc)150 1130 y FD(Using)37 b(`)p
+Fy(-p)p FD(')g(is)f(recommended)h(b)s(ecause)g(it)g(clearly)h
+(separates)g(the)f Fz(input-path)e FD(from)i(the)g(\014lename)150
+1240 y(itself,)42 b(sometimes)e(called)g(the)f Fz(stub)p
+FD(.)65 b(When)38 b Fz(input-path)g FD(is)h(not)g(explicitly)h(sp)s
+(eci\014ed)f(using)f(`)p Fy(-p)p FD(',)150 1349 y FC(NCO)d
+FD(in)m(ternally)i(generates)g(an)e Fz(input-path)g FD(from)g(the)h
+(\014rst)f(input)f(\014lename.)57 b(The)35 b(automatically)150
+1459 y(generated)29 b Fz(input-path)f FD(is)g(constructed)g(b)m(y)g
+(stripping)g(the)g(input)g(\014lename)g(of)g(ev)m(erything)h(follo)m
+(wing)150 1568 y(the)38 b(\014nal)f(`)p Fy(/)p FD(')h(c)m(haracter)h
+(\(i.e.,)j(remo)m(ving)c(the)g(stub\).)62 b(The)37 b(`)p
+Fy(-l)30 b Fn(output-path)p FD(')35 b(option)j(tells)h
+FC(NCO)150 1678 y FD(where)34 b(to)i(store)f(the)g(remotely)g(retriev)m
+(ed)h(\014le.)54 b(It)34 b(has)h(no)f(e\013ect)i(on)f(lo)s
+(cally-retriev)m(ed)i(\014les,)f(or)f(on)150 1787 y(the)d(output)f
+(\014le.)44 b(Often)31 b(the)h(path)f(to)h(a)g(remotely)h(retriev)m(ed)
+f(\014le)g(is)f(quite)h(di\013eren)m(t)g(than)f(the)h(path)150
+1897 y(on)38 b(the)g(lo)s(cal)h(mac)m(hine)g(where)e(y)m(ou)i(w)m(ould)
+e(lik)m(e)j(to)e(store)h(the)f(\014le.)63 b(If)38 b(`)p
+Fy(-l)p FD(')g(is)g(not)g(sp)s(eci\014ed)f(then)150 2007
+y FC(NCO)24 b FD(in)m(ternally)i(generates)g(an)e Fz(output-path)h
+FD(b)m(y)f(simply)g(setting)i Fz(output-path)e FD(equal)h(to)h
+Fz(input-path)150 2116 y FD(stripp)s(ed)33 b(of)i(an)m(y)h(mac)m(hine)f
+(names.)54 b(If)35 b(`)p Fy(-l)p FD(')g(is)g(not)g(sp)s(eci\014ed)f
+(and)g(the)h(remote)h(\014le)f(resides)g(on)g(the)150
+2226 y FC(NCAR)40 b(HPSS)g FD(system,)j(then)c(the)h(leading)h(c)m
+(haracter)g(of)f Fz(input-path)p FD(,)i(`)p Fy(/)p FD(',)g(is)e(also)h
+(stripp)s(ed)d(from)150 2335 y Fz(output-path)p FD(.)56
+b(Sp)s(ecifying)35 b Fz(output-path)h FD(as)g(`)p Fy(-l)30
+b(./)p FD(')35 b(tells)h FC(NCO)g FD(to)g(store)g(the)g(remotely)h
+(retriev)m(ed)150 2445 y(\014le)g(and)f(the)g(output)h(\014le)f(in)g
+(the)h(curren)m(t)g(directory)-8 b(.)60 b(Note)38 b(that)f(`)p
+Fy(-l)30 b(.)p FD(')36 b(is)h(equiv)-5 b(alen)m(t)38
+b(to)f(`)p Fy(-l)30 b(./)p FD(')150 2555 y(though)g(the)h(latter)g(is)g
+(syn)m(tactically)i(more)e(clear.)150 2782 y Fu(3.7.1)63
+b Fq(OP)m(eND)m(AP)150 2929 y FD(The)24 b(Distributed)g(Oceanographic)h
+(Data)g(System)f(\()p FC(DODS)p FD(\))i(pro)m(vides)e(useful)f
+(replacemen)m(ts)i(for)f(com-)150 3039 y(mon)32 b(data)i(in)m(terface)g
+(libraries)f(lik)m(e)h(netCDF.)f(The)f FC(DODS)i FD(v)m(ersions)f(of)f
+(these)i(libraries)e(implemen)m(t)150 3148 y(net)m(w)m(ork)39
+b(transparen)m(t)f(access)h(to)f(data)h(via)f(a)g(clien)m(t-serv)m(er)i
+(data)f(access)g(proto)s(col)g(that)f(uses)g(the)150
+3258 y FC(HTTP)27 b FD(proto)s(col)i(for)e(comm)m(unication.)41
+b(Although)28 b FC(DODS)p FD(-tec)m(hnology)i(originated)f(with)e(o)s
+(ceanogra-)150 3367 y(ph)m(y)32 b(data,)i(it)f(applyies)f(to)i
+(virtually)f(all)g(scien)m(ti\014c)h(data.)47 b(In)32
+b(recognition)i(of)f(this,)g(the)f(data)i(access)150
+3477 y(proto)s(col)f(underlying)e FC(DODS)h FD(\(whic)m(h)h(is)f(what)g
+FC(NCO)f FD(cares)i(ab)s(out\))f(has)g(b)s(een)f(renamed)h(the)g(Op)s
+(en-)150 3587 y(source)k(Pro)5 b(ject)37 b(for)f(a)g(Net)m(w)m(ork)i
+(Data)f(Access)g(Proto)s(col,)i FC(OP)n(eND)n(AP)p FD(.)57
+b(W)-8 b(e)37 b(use)e(the)i(terms)e FC(DODS)150 3696
+y FD(and)27 b FC(OP)n(eND)n(AP)f FD(in)m(terc)m(hangeably)-8
+b(,)30 b(and)d(often)g(write)h FC(OP)n(eND)n(AP)p FD(/)p
+FC(DODS)f FD(for)g(no)m(w.)39 b(In)27 b(the)g(future)f(w)m(e)150
+3806 y(will)31 b(deprecate)g FC(DODS)g FD(in)f(fa)m(v)m(or)h(of)g
+FC(D)n(AP)f FD(or)h FC(OP)n(eND)n(AP)p FD(,)e(as)i(appropriate)2783
+3773 y Ft(6)2820 3806 y FD(.)275 3979 y FC(NCO)22 b FD(ma)m(y)g(b)s(e)g
+FC(D)n(AP)p FD(-enabled)h(b)m(y)f(linking)g FC(NCO)g
+FD(to)h(the)g FC(OP)n(eND)n(AP)e FD(libraries.)38 b(This)22
+b(is)g(describ)s(ed)f(in)150 4089 y(the)31 b FC(OP)n(eND)n(AP)f
+FD(do)s(cumen)m(tation)i(and)e(automagically)k(implemen)m(ted)d(in)g
+FC(NCO)f FD(build)g(mec)m(hanisms)3687 4056 y Ft(7)3725
+4089 y FD(.)150 4198 y(The)d Fy(./configure)e FD(mec)m(hanism)j
+(automatically)i(enables)e FC(NCO)g FD(as)g FC(OP)n(eND)n(AP)e
+FD(clien)m(ts)k(if)d(it)h(can)g(\014nd)p 150 4353 1200
+4 v 199 4421 a Ft(6)303 4452 y Fp(DODS)g Fs(is)h(b)r(eing)f(deprecated)
+g(b)r(ecause)h(it)f(is)h(am)n(biguous,)h(referring)g(b)r(oth)e(to)g(a)h
+(proto)r(col)g(and)f(to)h(a)f(collection)i(of)275 4540
+y(\(o)r(ceanograph)n(y\))23 b(data.)34 b(It)22 b(is)h(sup)r(erceded)g
+(b)n(y)e(t)n(w)n(o)i(terms.)34 b Fp(D)n(AP)23 b Fs(is)g(the)f
+(discipline-neutral)i(Data)f(Access)g(Proto)r(col)275
+4627 y(at)31 b(the)g(heart)g(of)h Fp(DODS)p Fs(.)51 b(The)31
+b(National)h(Virtual)f(Ocean)g(Data)h(System)e(\()p Fp(NV)n(ODS)p
+Fs(\))h(refers)h(to)g(the)e(collection)j(of)275 4714
+y(o)r(ceanograph)n(y)26 b(data)f(and)g(o)r(ceanographic)j(extensions)d
+(to)h Fp(D)n(AP)p Fs(.)34 b(In)25 b(other)g(w)n(ords,)i
+Fp(NV)n(ODS)e Fs(is)h(implemen)n(ted)f(with)275 4801
+y Fp(OP)n(eND)n(AP)p Fs(.)44 b Fp(OP)n(eND)n(AP)29 b
+Fs(is)h Fj(also)k Fs(the)29 b(op)r(en)g(source)h(pro)t(ject)g(whic)n(h)
+f(main)n(tains,)i(dev)n(elops,)f(and)f(prom)n(ulgates)h(the)275
+4888 y Fp(D)n(AP)25 b Fs(standard.)34 b Fp(OP)n(eND)n(AP)26
+b Fs(and)f Fp(D)n(AP)h Fs(really)g(are)g(in)n(terc)n(hangeable.)35
+b(Got)26 b(it)g(y)n(et?)199 4960 y Ft(7)300 4991 y Fs(Automagic)g(supp)
+r(ort)f(for)h Fp(DODS)f Fs(v)n(ersion)g(3.2.x)h(w)n(as)h(deprecated)e
+(in)g(Decem)n(b)r(er,)h(2003)g(after)g Fp(NCO)f Fs(v)n(ersion)h(2.8.4.)
+275 5078 y Fp(NCO)d Fs(supp)r(ort)g(for)i Fp(OP)n(eND)n(AP)e
+Fs(v)n(ersions)h(3.4.x)h(commenced)f(in)f(Decem)n(b)r(er,)i(2003,)h
+(with)d Fp(NCO)h Fs(v)n(ersion)g(2.8.5.)35 b Fp(NCO)275
+5166 y Fs(supp)r(ort)20 b(for)h Fp(OP)n(eND)n(AP)g Fs(v)n(ersions)g
+(3.5.x)g(commenced)g(in)g(June,)h(2005,)h(with)e Fp(NCO)f
+Fs(v)n(ersion)h(3.0.1.)35 b Fp(NCO)20 b Fs(supp)r(ort)g(for)275
+5253 y Fp(OP)n(eND)n(AP)j Fs(v)n(ersions)g(3.6.x)h(commenced)g(in)f
+(June,)h(2006,)h(with)f Fp(NCO)f Fs(v)n(ersion)g(3.1.3.)35
+b Fp(NCO)23 b Fs(supp)r(ort)g(for)h Fp(OP)n(eND)n(AP)275
+5340 y Fs(v)n(ersions)i(3.7.x)g(commenced)g(in)g(Jan)n(uary)-6
+b(,)25 b(2007,)j(with)e Fp(NCO)f Fs(v)n(ersion)h(3.1.9.)p
+eop end
+%%Page: 33 39
+TeXDict begin 33 38 bop 150 -116 a FD(Chapter)30 b(3:)41
+b(NCO)30 b(F)-8 b(eatures)2475 b(33)150 299 y(the)40
+b(required)f FC(OP)n(eND)n(AP)g FD(libraries)1439 266
+y Ft(8)1476 299 y FD(.)69 b(in)39 b(the)h(usual)g(lo)s(cations.)70
+b(The)39 b Fy($DODS_ROOT)e FD(en)m(vironmen)m(t)150 408
+y(v)-5 b(ariable)22 b(ma)m(y)f(b)s(e)g(used)f(to)h(o)m(v)m(erride)h
+(the)f(default)h FC(OP)n(eND)n(AP)d FD(library)i(lo)s(cation)h(at)g
+FC(NCO)f FD(compile-time.)150 518 y(Building)28 b FC(NCO)f
+FD(with)g Fy(bld/Makefile)e FD(and)i(the)g(command)h
+Fy(make)h(DODS=Y)d FD(adds)h(the)h(\(non-in)m(tuitiv)m(e\))150
+628 y(commands)f(to)h(link)f(to)h(the)g FC(OP)n(eND)n(AP)e
+FD(libraries)h(installed)h(in)f(the)h Fy($DODS_ROOT)c
+FD(directory)-8 b(.)41 b(The)27 b(\014le)150 737 y Fy(doc/opendap.sh)32
+b FD(con)m(tains)k(a)g(generic)g(script)g(in)m(tended)f(to)h(help)f
+(users)g(install)h FC(OP)n(eND)n(AP)e FD(b)s(efore)150
+847 y(building)g FC(NCO)p FD(.)55 b(The)34 b(do)s(cumen)m(tation)i(at)g
+(the)f(OP)m(eND)m(AP)i(Homepage)g(\()p Fy(http:)t(/)t(/)s(www)t(.)s
+(opendap)t(.)150 956 y(org)p FD(\))26 b(is)g(v)m(oluminous.)39
+b(Chec)m(k)27 b(there)g(and)e(on)i(the)f(DODS)g(mail)h(lists)g(\()p
+Fy(http://www.unidata.ucar.)150 1066 y(edu/packages/dods/home/ma)o
+(ilLi)o(sts/)o FD(\).)35 b(to)d(learn)e(more)h(ab)s(out)f(the)h
+(extensiv)m(e)g(capabilities)i(of)150 1176 y FC(OP)n(eND)n(AP)549
+1143 y Ft(9)585 1176 y FD(.)275 1346 y(Once)21 b FC(NCO)g
+FD(is)h FC(D)n(AP)p FD(-enabled)f(the)h(op)s(erators)f(are)h
+FC(OP)n(eND)n(AP)e FD(clien)m(ts.)40 b(All)22 b FC(OP)n(eND)n(AP)e
+FD(clien)m(ts)j(ha)m(v)m(e)150 1455 y(net)m(w)m(ork)k(transparen)m(t)f
+(access)i(to)e(an)m(y)h(\014les)f(con)m(trolled)i(b)m(y)e(a)g
+FC(OP)n(eND)n(AP)f FD(serv)m(er.)40 b(Simply)25 b(sp)s(ecify)h(the)150
+1565 y(input)37 b(\014le)g(path\(s\))h(in)f FC(URL)h
+FD(notation)h(and)d(all)j FC(NCO)e FD(op)s(erations)h(ma)m(y)g(b)s(e)f
+(p)s(erformed)f(on)h(remote)150 1674 y(\014les)31 b(made)g(accessible)i
+(b)m(y)e(a)g FC(OP)n(eND)n(AP)f FD(serv)m(er.)43 b(This)31
+b(command)g(tests)g(the)h(basic)f(functionalit)m(y)i(of)150
+1784 y FC(OP)n(eND)n(AP)p FD(-enabled)c FC(NCO)i FD(clien)m(ts:)390
+1954 y Fy(\045)47 b(ncks)g(-O)g(-o)g(~/foo.nc)f(-C)h(-H)g(-v)h(one)e
+(-l)i(/tmp)e(\\)485 2064 y(-p)i(http://thredds-test.uca)o(r.ed)o(u/t)o
+(hred)o(ds/d)o(ods)o(C/te)o(stdo)o(ds)41 b(in.nc)390
+2173 y(\045)47 b(ncks)g(-H)g(-v)g(one)g(~/foo.nc)390
+2283 y(one)g(=)g(1)275 2453 y FD(The)26 b Fy(one)j(=)h(1)c
+FD(outputs)g(con\014rm)g(\(\014rst\))g(that)h Fy(ncks)f
+FD(correctly)i(retriev)m(ed)f(data)g(via)g(the)g FC(OP)n(eND)n(AP)150
+2563 y FD(proto)s(col)41 b(and)e(\(second\))i(that)g
+Fy(ncks)d FD(created)j(a)g(v)-5 b(alid)40 b(lo)s(cal)h(cop)m(y)g(of)f
+(the)g(subsetted)g(remote)h(\014le.)150 2672 y(With)33
+b(minor)f(c)m(hanges)i(to)f(the)g(ab)s(o)m(v)m(e)h(command,)f(netCDF4)h
+(can)f(b)s(e)f(used)g(as)h(b)s(oth)f(the)h(input)f(and)150
+2782 y(output)e(\014le)g(format:)390 2952 y Fy(\045)47
+b(ncks)g(-4)g(-O)g(-o)h(~/foo.nc)d(-C)i(-H)h(-v)f(one)g(-l)g(/tmp)f(\\)
+485 3062 y(-p)i(http://thredds-test.uca)o(r.ed)o(u/t)o(hred)o(ds/d)o
+(ods)o(C/te)o(stdo)o(ds)41 b(in_4.nc)390 3171 y(\045)47
+b(ncks)g(-H)g(-v)g(one)g(~/foo.nc)390 3281 y(one)g(=)g(1)275
+3451 y FD(And,)39 b(of)g(course,)h FC(OP)n(eND)n(AP)p
+FD(-enabled)e FC(NCO)g FD(clien)m(ts)i(con)m(tin)m(ue)f(to)g(supp)s
+(ort)e(other,)k(orthogonal)150 3560 y(features)31 b(suc)m(h)f(as)g
+(UDUnits)h(\(see)h(Section)f(3.22)h([UDUnits)f(Supp)s(ort],)e(page)i
+(64\):)390 3731 y Fy(\045)47 b(ncks)g(-u)g(-C)g(-H)h(-v)f(wvl)g(-d)g
+(wvl,'0.4)e(micron','0.7)g(micron')h(\\)485 3840 y(-p)i
+(http://thredds-test.uca)o(r.ed)o(u/t)o(hred)o(ds/d)o(ods)o(C/te)o
+(stdo)o(ds)41 b(in_4.nc)390 3950 y(\045)47 b(wvl[0]=5e-07)e(meter)275
+4120 y FD(The)c(next)h(command)f(is)h(a)g(more)g(adv)-5
+b(anced)42 b(example)h(whic)m(h)e(demonstrates)h(the)g(real)h(p)s(o)m
+(w)m(er)150 4229 y(of)34 b FC(OP)n(eND)n(AP)p FD(-enabled)f
+FC(NCO)h FD(clien)m(ts.)53 b(The)33 b Fy(ncwa)g FD(clien)m(t)i
+(requests)f(an)g(equatorial)h(h)m(yp)s(erslab)e(from)150
+4339 y(remotely)d(stored)f FC(NCEP)c(reanalyses)f(data)k
+FD(of)h(the)g(y)m(ear)i(1969)r(.)40 b(The)29 b FC(NO)n(AA)f(OP)n(eND)n
+(AP)g FD(serv)m(er)h(\(hop)s(e-)150 4449 y(fully!\))73
+b(serv)m(es)42 b(these)f(data.)74 b(The)41 b(lo)s(cal)h
+Fy(ncwa)e FD(clien)m(t)j(then)e(computes)g(and)g(stores)g(\(lo)s
+(cally\))j(the)150 4558 y(regional)32 b(mean)e(surface)g(pressure)f
+(\(in)i(P)m(a\))q(.)p 150 4702 1200 4 v 199 4769 a Ft(8)304
+4801 y Fs(The)e(minimal)h(set)g(of)g(libraries)h(required)d(to)i(build)
+f Fp(NCO)g Fs(as)h Fp(OP)n(eND)n(AP)f Fs(clien)n(ts,)i(where)e
+Fp(OP)n(eND)n(AP)g Fs(is)h(supplied)275 4888 y(as)d(a)h(separate)g
+(library)f(apart)h(from)g Fr(libnetcdf.a)p Fs(,)i(are,)e(in)g(link)f
+(order,)h Fr(libnc-dap.a)p Fs(,)i Fr(libdap.a)p Fs(,)g(and)c
+Fr(libxml2)275 4975 y Fs(and)f Fr(libcurl.a)p Fs(.)199
+5047 y Ft(9)300 5078 y Fs(W)-6 b(e)25 b(are)i(most)f(familiar)i(with)e
+(the)f Fp(OP)n(eND)n(AP)g 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
+%%Page: 34 40
+TeXDict begin 34 39 bop 150 -116 a FD(34)2627 b FC(NCO)30
+b FD(4.4.2)j(User)d(Guide)390 299 y Fy(ncwa)47 b(-C)g(-a)g
+(lat,lon,time)d(-d)k(lon,-10.,10.)c(-d)j(lat,-10.,10.)e(-l)i(/tmp)g(-p)
+g(\\)390 408 y(http://www.esrl.noaa.gov)o(/psd)o(/thr)o(edd)o(s/do)o
+(dsC/)o(Dat)o(aset)o(s/nc)o(ep.)o(rean)o(alys)o(is.)o(dail)o(yavg)o
+(s/s)o(urfa)o(ce)41 b(\\)485 518 y(pres.sfc.1969.nc)j(~/foo.nc)150
+687 y FD(All)28 b(with)f(one)g(command!)40 b(The)26 b(data)i(in)f(this)
+g(particular)h(input)e(\014le)h(also)i(happ)s(en)c(to)j(b)s(e)f(pac)m
+(k)m(ed)h(\(see)150 797 y(Section)j(4.1.11)i([Metho)s(ds)d(and)f
+(functions],)i(page)g(117\),)h(although)f(this)f(is)g(completely)i
+(transparen)m(t)150 906 y(to)f(the)g(user)e(since)i FC(NCO)f
+FD(automatically)j(unpac)m(ks)d(data)h(b)s(efore)f(attempting)i
+(arithmetic.)275 1076 y FC(NCO)39 b FD(obtains)g(remote)h(\014les)g
+(from)e(the)i FC(OP)n(eND)n(AP)e FD(serv)m(er)h(\(e.g.,)44
+b Fy(www.cdc.noaa.gov)p FD(\))35 b(rather)150 1185 y(than)h(the)h(lo)s
+(cal)g(mac)m(hine.)60 b(Input)35 b(\014les)h(are)h(\014rst)e(copied)i
+(to)g(the)g(lo)s(cal)g(mac)m(hine,)i(then)d(pro)s(cessed.)150
+1295 y(The)20 b FC(OP)n(eND)n(AP)f FD(serv)m(er)i(p)s(erforms)e(data)i
+(access,)j(h)m(yp)s(erslabbing,)d(and)f(transfer)g(to)h(the)f(lo)s(cal)
+i(mac)m(hine.)150 1404 y(This)34 b(allo)m(ws)i(the)f(I/O)f(to)i(app)s
+(ear)e(to)h FC(NCO)g FD(as)g(if)g(the)f(input)g(\014les)h(w)m(ere)g(lo)
+s(cal.)55 b(The)34 b(lo)s(cal)i(mac)m(hine)150 1514 y(p)s(erforms)24
+b(all)j(arithmetic)g(op)s(erations.)40 b(Only)25 b(the)h(h)m(yp)s
+(erslabb)s(ed)e(output)i(data)g(are)h(transferred)e(o)m(v)m(er)150
+1624 y(the)32 b(net)m(w)m(ork)h(\(to)h(the)e(lo)s(cal)i(mac)m(hine\))f
+(for)f(the)g(n)m(um)m(b)s(er-crunc)m(hing)f(to)i(b)s(egin.)46
+b(The)32 b(adv)-5 b(an)m(tages)34 b(of)150 1733 y(this)c(are)h(ob)m
+(vious)g(if)f(y)m(ou)h(are)g(examining)g(small)f(parts)g(of)h(large)g
+(\014les)g(stored)f(at)h(remote)h(lo)s(cations.)150 1995
+y FB(3.8)68 b(Retaining)47 b(Retriev)l(ed)g(Files)150
+2129 y Fk(\013)p 200 2129 3554 4 v 3553 w(\010)p 150
+2619 4 442 v 178 2265 a FD(Av)-5 b(ailabilit)m(y:)43
+b(All)31 b(op)s(erators)178 2375 y(Short)f(options:)41
+b(`)p Fy(-R)p FD(')178 2484 y(Long)31 b(options:)41 b(`)p
+Fy(--rtn)p FD(',)29 b(`)p Fy(--retain)p FD(')p 3803 2619
+V 150 2670 a Fk(\012)p 200 2670 3554 4 v 3553 w(\011)275
+2850 y FD(In)39 b(order)h(to)i(conserv)m(e)f(lo)s(cal)h(\014le)f
+(system)f(space,)k(\014les)d(retriev)m(ed)g(from)f(remote)i(lo)s
+(cations)g(are)150 2960 y(automatically)30 b(deleted)e(from)e(the)h(lo)
+s(cal)i(\014le)e(system)g(once)h(they)f(ha)m(v)m(e)h(b)s(een)e(pro)s
+(cessed.)40 b(Man)m(y)27 b FC(NCO)150 3069 y FD(op)s(erators)33
+b(w)m(ere)g(constructed)g(to)h(w)m(ork)f(with)g(n)m(umerous)e(large)j
+(\(e.g.,)i(200)31 b(MB)q(\))i(\014les.)48 b(Retriev)-5
+b(al)35 b(of)150 3179 y(m)m(ultiple)e(\014les)g(from)f(remote)i(lo)s
+(cations)g(is)f(done)f(serially)-8 b(.)49 b(Eac)m(h)33
+b(\014le)g(is)g(retriev)m(ed,)h(pro)s(cessed,)f(then)150
+3288 y(deleted)g(b)s(efore)f(the)h(cycle)h(rep)s(eats.)47
+b(In)31 b(cases)j(where)e(it)g(is)h(useful)f(to)h(k)m(eep)g(the)f
+(remotely-retriev)m(ed)150 3398 y(\014les)24 b(on)h(the)g(lo)s(cal)g
+(\014le)g(system)g(after)g(pro)s(cessing,)g(the)g(automatic)i(remo)m(v)
+-5 b(al)25 b(feature)g(ma)m(y)g(b)s(e)f(disabled)150
+3508 y(b)m(y)30 b(sp)s(ecifying)g(`)p Fy(-R)p FD(')h(on)f(the)h
+(command)f(line.)275 3677 y(In)m(v)m(oking)g Fy(-R)f
+FD(disables)g(the)h(default)g(prin)m(ting)f(b)s(eha)m(vior)h(of)g
+Fy(ncks)p FD(.)39 b(This)29 b(allo)m(ws)i Fy(ncks)d FD(to)j(retriev)m
+(e)150 3786 y(remote)42 b(\014les)g(without)f(automatically)j(trying)e
+(to)g(prin)m(t)f(them.)73 b(See)42 b(Section)g(4.7)h([nc)m(ks)e(netCDF)
+150 3896 y(Kitc)m(hen)31 b(Sink],)f(page)h(173,)h(for)e(more)h
+(details.)275 4065 y(Note)i(that)g(the)g(remote)g(retriev)-5
+b(al)34 b(features)e(of)h FC(NCO)f FD(can)g(alw)m(a)m(ys)i(b)s(e)e
+(used)g(to)h(retriev)m(e)h Fo(any)41 b FD(\014le,)150
+4175 y(including)h(non-netCDF)h(\014les,)j(via)e Fy(SSH)p
+FD(,)h(anon)m(ymous)d FC(FTP)p FD(,)k(or)d Fy(msrcp)p
+FD(.)76 b(Often)42 b(this)h(metho)s(d)f(is)150 4284 y(quic)m(k)m(er)31
+b(than)e(using)g(a)h(bro)m(wser,)f(or)h(running)e(an)h
+FC(FTP)g FD(session)h(from)f(a)h(shell)g(windo)m(w)e(y)m(ourself.)41
+b(F)-8 b(or)150 4394 y(example,)31 b(sa)m(y)g(y)m(ou)g(w)m(an)m(t)g(to)
+g(obtain)g(a)g FC(JPEG)e FD(\014le)i(from)f(a)g(w)m(eather)h(serv)m
+(er.)390 4563 y Fy(ncks)47 b(-R)g(-p)g(ftp://weather.edu/pub/pi)o(x/jp)
+o(eg)42 b(-l)47 b(.)g(storm.jpg)150 4732 y FD(In)e(this)h(example,)k
+Fy(ncks)45 b FD(automatically)j(p)s(erforms)c(an)i(anon)m(ymous)g
+FC(FTP)f FD(login)i(to)f(the)g(remote)150 4842 y(mac)m(hine)41
+b(and)e(retriev)m(es)j(the)e(sp)s(eci\014ed)g(\014le.)70
+b(When)40 b Fy(ncks)f FD(attempts)i(to)g(read)f(the)g(lo)s(cal)i(cop)m
+(y)f(of)150 4952 y Fy(storm.jpg)28 b FD(as)i(a)h(netCDF)g(\014le,)g(it)
+g(fails)g(and)f(exits,)h(lea)m(ving)h Fy(storm.jpg)c
+FD(in)i(the)g(curren)m(t)h(directory)-8 b(.)275 5121
+y(If)27 b(y)m(our)h FC(NCO)g FD(is)g FC(D)n(AP)p FD(-enabled)h(\(see)g
+(Section)g(3.7.1)h([OP)m(eND)m(AP],)g(page)f(32\),)h(then)e(y)m(ou)g
+(ma)m(y)h(use)150 5230 y FC(NCO)j FD(to)h(retriev)m(e)g(an)m(y)f
+(\014les)g(\(including)g(netCDF,)h FC(HDF)p FD(,)h(etc.\))47
+b(serv)m(ed)32 b(b)m(y)g(an)g FC(OP)n(eND)n(AP)f FD(serv)m(er)h(to)150
+5340 y(y)m(our)e(lo)s(cal)i(mac)m(hine.)41 b(F)-8 b(or)32
+b(example,)p eop end
+%%Page: 35 41
+TeXDict begin 35 40 bop 150 -116 a FD(Chapter)30 b(3:)41
+b(NCO)30 b(F)-8 b(eatures)2475 b(35)390 299 y Fy(ncks)47
+b(-R)g(-l)g(.)g(-p)h(\\)390 408 y(http://www.esrl.noaa.gov)o(/psd)o
+(/thr)o(edd)o(s/do)o(dsC/)o(Dat)o(aset)o(s/nc)o(ep.)o(rean)o(alys)o
+(is.)o(dail)o(yavg)o(s/s)o(urfa)o(ce)41 b(\\)485 518
+y(pres.sfc.1969.nc)275 677 y FD(It)f(ma)m(y)g(o)s(ccasionally)j(b)s(e)c
+(useful)g(to)i(use)f FC(NCO)g FD(to)g(transfer)g(\014les)g(when)f(y)m
+(our)h(other)g(preferred)150 787 y(metho)s(ds)30 b(are)g(not)h(a)m(v)-5
+b(ailable)33 b(lo)s(cally)-8 b(.)150 1009 y FB(3.9)68
+b(File)46 b(F)-11 b(ormats)45 b(and)f(Con)l(v)l(ersion)150
+1119 y Fk(\013)p 200 1119 3554 4 v 3553 w(\010)p 150
+1609 4 442 v 178 1256 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 1365 y FD(Short)h(options:)41 b(`)p Fy(-3)p
+FD(',)31 b(`)p Fy(-4)p FD(',)f(`)p Fy(-6)p FD(',)h(`)p
+Fy(-7)p FD(')178 1475 y(Long)g(options:)41 b(`)p Fy(--3)p
+FD(',)30 b(`)p Fy(--4)p FD(',)g(`)p Fy(--64bit)p FD(',)f(`)p
+Fy(--7)p FD(',)i(`)p Fy(--fl_fmt)p FD(',)e(`)p Fy(--netcdf4)p
+FD(')p 3803 1609 V 150 1661 a Fk(\012)p 200 1661 3554
+4 v 3553 w(\011)275 1836 y FD(All)36 b FC(NCO)g FD(op)s(erators)g(supp)
+s(ort)e(\(read)i(and)f(write\))i(all)f(three)h(\(or)f(four,)h(dep)s
+(ending)d(on)i(ho)m(w)g(one)150 1946 y(coun)m(ts\))27
+b(\014le)f(formats)g(supp)s(orted)e(b)m(y)i(netCDF4.)40
+b(The)25 b(default)i(output)e(\014le)h(format)g(for)g(all)h(op)s
+(erators)150 2055 y(is)33 b(the)g(input)f(\014le)h(format.)48
+b(The)32 b(op)s(erators)h(listed)g(under)f(\\Av)-5 b(ailabilit)m(y")36
+b(ab)s(o)m(v)m(e)e(allo)m(w)g(the)f(user)f(to)150 2165
+y(sp)s(ecify)g(the)h(output)g(\014le)g(format)g(indep)s(enden)m(t)f(of)
+h(the)g(input)f(\014le)g(format.)49 b(These)32 b(op)s(erators)h(allo)m
+(w)150 2274 y(the)26 b(user)e(to)i(con)m(v)m(ert)h(b)s(et)m(w)m(een)f
+(the)g(v)-5 b(arious)25 b(\014le)h(formats.)39 b(\(The)25
+b(op)s(erators)h Fy(ncatted)d FD(and)i Fy(ncrename)150
+2384 y FD(do)39 b(not)h(supp)s(ort)d(these)j(switc)m(hes)g(so)g(they)f
+(alw)m(a)m(ys)i(write)e(the)h(output)f(netCDF)h(\014le)f(in)g(the)h
+(same)150 2494 y(format)31 b(as)f(the)h(input)e(netCDF)i(\014le.\))150
+2682 y Fu(3.9.1)63 b(File)41 b(F)-10 b(ormats)150 2829
+y FD(netCDF)26 b(supp)s(orts)d(four)h(t)m(yp)s(es)h(of)g(\014les:)38
+b Fy(CLASSIC)p FD(,)24 b Fy(64BIT)p FD(,)h Fy(NETCDF4)p
+FD(,)f(and)g Fy(NETCDF4_CLASSIC)p FD(,)e(The)150 2939
+y Fy(CLASSIC)34 b FD(format)i(is)g(the)g(traditional)h(32-bit)g
+(o\013set)g(written)f(b)m(y)g(netCDF2)h(and)e(netCDF3.)58
+b(As)36 b(of)150 3049 y(2005,)j(nearly)d(all)g(netCDF)h(datasets)f(w)m
+(ere)g(in)g Fy(CLASSIC)d FD(format.)57 b(The)35 b Fy(64BIT)g
+FD(format)h(w)m(as)g(added)150 3158 y(in)30 b(F)-8 b(all,)33
+b(2004.)43 b(As)31 b(of)g(2010,)i(man)m(y)e(netCDF)g(datasets)h(w)m
+(ere)f(in)f Fy(64BIT)g FD(format.)42 b(As)30 b(of)h(2013,)i(man)m(y)150
+3268 y(netCDF)e(datasets)h(are)e(in)g Fy(NETCDF4_CLASSIC)d
+FD(format.)275 3427 y(The)h Fy(NETCDF4)f FD(format)j(uses)f
+FC(HDF5)g FD(as)g(the)h(\014le)f(storage)i(la)m(y)m(er.)42
+b(The)28 b(\014les)h(are)h(\(usually\))g(created,)150
+3537 y(accessed,)f(and)e(manipulated)g(using)g(the)h(traditional)h
+(netCDF3)f FC(API)f FD(\(with)g(n)m(umerous)g(extensions\).)150
+3646 y(The)i Fy(NETCDF4_CLASSIC)c FD(format)30 b(refers)f(to)h(netCDF4)
+g(\014les)f(created)i(with)e(the)g Fy(NC_CLASSIC_MODEL)150
+3756 y FD(mask.)44 b(Suc)m(h)30 b(\014les)h(use)g FC(HDF5)h
+FD(as)g(the)f(bac)m(k-end)h(storage)h(format)e(\(unlik)m(e)h
+(netCDF3\),)i(though)d(they)150 3866 y(incorp)s(orate)g(only)g(netCDF3)
+h(features.)42 b(Hence)32 b Fy(NETCDF4_CLASSIC)27 b FD(\014les)k(are)g
+(en)m(tirely)h(readable)f(b)m(y)150 3975 y(applications)h(that)g(use)f
+(only)g(the)g(netCDF3)i FC(API)d FD(\(though)i(the)f(applications)h(m)m
+(ust)f(b)s(e)g(link)m(ed)g(with)150 4085 y(the)e(netCDF4)i(library\).)
+40 b FC(NCO)29 b FD(m)m(ust)g(b)s(e)g(built)g(with)g(netCDF4)h(to)g
+(write)g(\014les)f(in)g(the)g(new)g Fy(NETCDF4)150 4194
+y FD(and)j Fy(NETCDF4_CLASSIC)c FD(formats,)33 b(and)f(to)h(read)f
+(\014les)h(in)f(these)h(formats.)47 b(Datasets)34 b(in)e(the)h(default)
+150 4304 y Fy(CLASSIC)i FD(or)j(the)f(new)m(er)h Fy(64BIT)e
+FD(formats)h(ha)m(v)m(e)i(maxim)m(um)e(bac)m(kw)m(ards-compatibilit)m
+(y)k(with)c(older)150 4413 y(applications.)69 b FC(NCO)39
+b FD(has)g(deep)g(supp)s(ort)f(for)h Fy(NETCDF4)f FD(formats.)67
+b(If)39 b(p)s(erformance)g(or)g(disk-space)150 4523 y(as)e(imp)s(ortan)
+m(t)h(as)f(bac)m(kw)m(ards)h(compatibilit)m(y)-8 b(,)41
+b(then)c(use)g Fy(NETCDF4_CLASSIC)c FD(instead)38 b(of)f
+Fy(CLASSIC)150 4633 y FD(format)c(\014les.)50 b(As)33
+b(of)g(2014,)j FC(NCO)d FD(supp)s(ort)e(for)i(the)g Fy(NETCDF4)f
+FD(format)h(is)g(nearly)h(complete)g(and)f(the)150 4742
+y(most)e(p)s(o)m(w)m(erful)f(and)f(disk/)p FC(RAM)i FD(e\016cien)m(t)h
+(w)m(ork\015o)m(ws)f(will)f(utilize)i(this)e(format.)275
+4902 y(As)g(men)m(tioned)h(ab)s(o)m(v)m(e,)g(all)h(op)s(erators)e
+(write)h(use)f(the)g(input)f(\014le)i(format)f(for)g(output)g(\014les)h
+(unless)150 5011 y(told)k(otherwise.)54 b(T)-8 b(oggling)36
+b(the)f(short)f(option)h(`)p Fy(-6)p FD(')f(or)h(the)g(long)g(option)g
+(`)p Fy(--64bit)p FD(')e(switc)m(h)i(\(or)g(its)150 5121
+y Fz(k)m(ey)p FD(-)p Fz(v)-5 b(alue)35 b FD(equiv)-5
+b(alen)m(t)30 b(`)p Fy(--fl_fmt=64bit)p FD('\))c(pro)s(duces)h(the)i
+(netCDF3)g(64-bit)h(o\013set)g(format)e(named)150 5230
+y Fy(64BIT)p FD(.)74 b FC(NCO)42 b FD(m)m(ust)g(b)s(e)f(built)h(with)g
+(netCDF)31 b(3.6)43 b(or)f(higher)f(to)i(pro)s(duce)e(a)h
+Fy(64BIT)f FD(\014le.)76 b(Using)150 5340 y(the)42 b(`)p
+Fy(-4)p FD(')f(switc)m(h)h(\(or)g(its)g(long)g(option)g(equiv)-5
+b(alen)m(ts)42 b(`)p Fy(--4)p FD(')g(or)f(`)p Fy(--netcdf4)p
+FD('\),)i(or)e(setting)i(its)f Fz(k)m(ey)p FD(-)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.2)j(User)d(Guide)150 299 y Fz(v)-5 b(alue)29
+b FD(equiv)-5 b(alen)m(t)25 b(`)p Fy(--fl_fmt=netcdf4)p
+FD(')20 b(pro)s(duces)i(a)i Fy(NETCDF4)d FD(\014le)j(\(i.e.,)i(with)e
+(all)g(supp)s(orted)e FC(HDF5)150 408 y FD(features\).)62
+b(Using)38 b(the)f(`)p Fy(-7)p FD(')g(switc)m(h)h(\(or)g(its)g(long)g
+(option)f(equiv)-5 b(alen)m(t)39 b(`)p Fy(--7)p FD(')2894
+375 y Ft(10)2964 408 y FD(,)g(or)f(setting)g(its)g Fz(k)m(ey)p
+FD(-)150 518 y Fz(v)-5 b(alue)32 b FD(equiv)-5 b(alen)m(t)27
+b(`)p Fy(--fl_fmt=netcdf4_classic)p FD(')21 b(pro)s(duces)j(a)j
+Fy(NETCDF4_CLASSIC)22 b FD(\014le)k(\(i.e.,)j(with)150
+628 y(all)43 b(supp)s(orted)e FC(HDF5)i FD(features)f(lik)m(e)i
+(compression)f(and)f(c)m(h)m(unking)g(but)g(without)g(groups)g(or)g
+(new)150 737 y(atomic)32 b(t)m(yp)s(es\).)41 b(Op)s(erators)30
+b(giv)m(en)h(the)g(`)p Fy(-3)p FD(')f(\(or)h(`)p Fy(--3)p
+FD('\))f(switc)m(h)h(without)f(argumen)m(ts)h(will)f(\(attempt)150
+847 y(to\))h(pro)s(duce)f(netCDF3)h Fy(CLASSIC)e FD(output,)h(ev)m(en)h
+(from)f(netCDF4)h(input)f(\014les.)275 1006 y(Note)24
+b(that)h Fy(NETCDF4)c FD(and)i Fy(NETCDF4_CLASSIC)d FD(are)k(the)g
+(same)g(binary)e(format.)39 b(The)23 b(latter)i(simply)150
+1116 y(causes)38 b(a)h(writing)e(application)j(to)e(fail)h(if)f(it)g
+(attempts)h(to)f(write)h(a)f Fy(NETCDF4)e FD(\014le)i(that)g(cannot)h
+(b)s(e)150 1225 y(completely)47 b(read)d(b)m(y)h(the)g(netCDF3)h
+(library)-8 b(.)84 b(Con)m(v)m(ersely)-8 b(,)50 b Fy(NETCDF4_CLASSIC)41
+b FD(indicates)46 b(to)g(a)150 1335 y(reading)25 b(application)i(that)f
+(all)g(of)f(the)h(\014le)f(con)m(ten)m(ts)i(are)f(readable)f(with)g
+(the)h(netCDF3)g(library)-8 b(.)39 b FC(NCO)150 1445
+y FD(has)h(supp)s(orted)f(reading/writing)i(basic)g Fy(NETCDF4)e
+FD(and)h Fy(NETCDF4_CLASSIC)c FD(\014les)41 b(since)g(Octob)s(er,)150
+1554 y(2005.)150 1752 y Fu(3.9.2)63 b(Determining)42
+b(File)f(F)-10 b(ormat)150 1899 y FD(Input)41 b(\014les)i(often)g(end)g
+(with)f(the)h(generic)h Fy(.nc)e FD(su\016x)g(that)h(lea)m(v)m(es)i
+(\(p)s(erhaps)c(b)m(y)i(in)m(ten)m(tion\))i(the)150 2009
+y(in)m(ternal)26 b(\014le)f(format)g(am)m(biguous.)39
+b(There)24 b(are)i(at)f(least)h(three)f(w)m(a)m(ys)h(to)g(disco)m(v)m
+(er)g(the)f(in)m(ternal)h(format)150 2118 y(of)j(a)g(netCDF-supp)s
+(orted)e(\014le.)40 b(These)29 b(metho)s(ds)f(determine)g(whether)g(it)
+h(is)g(a)g(classic)g(\(32-bit)i(o\013set\))150 2228 y(or)41
+b(new)m(er)g(64-bit)h(o\013set)g(netCDF3)g(format,)i(or)d(is)g(a)g
+(netCDF4)h(format.)73 b(Eac)m(h)42 b(metho)s(d)e(returns)150
+2338 y(the)27 b(information)f(using)g(sligh)m(tly)i(di\013eren)m(t)f
+(terminology)h(that)f(b)s(ecomes)g(easier)g(to)h(understand)c(with)150
+2447 y(practice.)275 2607 y(First,)31 b(examine)g(the)f(\014rst)g(line)
+g(of)h(global)h(metadata)g(output)e(b)m(y)g(`)p Fy(ncks)f(-M)p
+FD(':)390 2766 y Fy(\045)47 b(ncks)g(-M)g(foo_3c.nc)390
+2876 y(Summary)f(of)h(foo_3c.nc:)e(filetype)h(=)h(NC_FORMAT_CLASSIC,)c
+(0)k(groups)f(...)390 2985 y(\045)h(ncks)g(-M)g(foo_364.nc)390
+3095 y(Summary)f(of)h(foo_364.nc:)e(filetype)g(=)j(NC_FORMAT_64BIT,)43
+b(0)48 b(groups)e(...)390 3204 y(\045)h(ncks)g(-M)g(foo_4c.nc)390
+3314 y(Summary)f(of)h(foo_4c.nc:)e(filetype)h(=)h
+(NC_FORMAT_NETCDF4_CLASSI)o(C,)42 b(0)47 b(groups)f(...)390
+3424 y(\045)h(ncks)g(-M)g(foo_4.nc)390 3533 y(Summary)f(of)h(foo_4.nc:)
+e(filetype)h(=)h(NC_FORMAT_NETCDF4,)c(0)48 b(groups)e(...)275
+3693 y FD(This)30 b(metho)s(d)h(requires)f(a)i(netCDF4-enabled)h
+FC(NCO)e FD(v)m(ersion)g(3.9.0)p Fy(+)i FD(\(i.e.,)g(from)e(2007)i(or)e
+(later\).)150 3802 y(As)k(of)g FC(NCO)g FD(v)m(ersion)g(4.4.0)i(\(Jan)m
+(uary)-8 b(,)37 b(2014\),)h Fy(ncks)c FD(will)h(also)h(prin)m(t)f(the)g
+(extended)g(or)g(underlying)150 3912 y(format)i(of)g(the)g(input)f
+(\014le.)61 b(The)36 b(extended)h(\014let)m(yp)s(e)g(will)g(b)s(e)g
+(one)g(of)g(the)g(six)g(underlying)f(formats)150 4021
+y(that)44 b(are)f(accessible)i(through)d(the)i(netCDF)g
+FC(API)p FD(.)78 b(These)43 b(formats)g(are)h Fy(NC_FORMAT_NC3)39
+b FD(\(clas-)150 4131 y(sic)i(and)f(64-bit)h(v)m(ersions)g(of)g
+(netCDF3)g(formats\),)j Fy(NC_FORMAT_NC_HDF5)36 b FD(\(classic)42
+b(and)e(extended)150 4241 y(v)m(ersions)28 b(of)g(netCDF4,)i(and)d
+(\\pure")h(HDF5)h(format\),)h Fy(NC_FORMAT_NC_HDF4)23
+b FD(\(HDF4)29 b(format\),)h Fy(NC_)150 4350 y(FORMAT_PNETCDF)f
+FD(\(PnetCDF)k(format\),)h Fy(NC_FORMAT_DAP2)29 b FD(\(accessed)34
+b(via)f(D)m(AP2)h(proto)s(col\),)h(and)150 4460 y Fy(NC_FORMAT_DAP4)26
+b FD(\(accessed)32 b(via)f(D)m(AP2)h(proto)s(col\).)42
+b(F)-8 b(or)31 b(example,)390 4619 y Fy(\045)47 b(ncks)g(-D)g(2)h(-M)f
+(hdf.hdf)390 4729 y(Summary)f(of)h(hdf.hdf:)f(filetype)f(=)j
+(NC_FORMAT_NETCDF4)43 b(\(representation)g(of)k(\\)485
+4838 y(extended/underlying)c(filetype)j(NC_FORMAT_HDF4\),)d(0)k(groups)
+f(...)390 4948 y(\045)h(ncks)g(-D)g(2)h(-M)f(http://thredds-test.ucar)o
+(.edu)o(/th)o(redd)o(s/do)o(dsC)o(/tes)o(tdod)o(s/i)o(n.nc)390
+5057 y(Summary)f(of)h(http://thredds-test.ucar)o(.edu)o(/thr)o(edd)o
+(s/do)o(dsC/)o(tes)o(tdod)o(s/in)o(.nc)o(:)42 b(\\)p
+150 5154 1200 4 v 166 5221 a Ft(10)292 5253 y Fs(The)18
+b(reason)h(\(and)e(mnemonic\))h(for)g(`)p Fr(-7)p Fs(')h(is)f(that)g
+Fr(NETCDF4_CLASSIC)j Fs(\014les)d(include)g(great)g(features)h(of)f(b)r
+(oth)g(netCDF3)275 5340 y(\(compatibilit)n(y\))26 b(and)f(netCDF4)h
+(\(compression,)h(c)n(h)n(unking\))d(and,)i(w)n(ell,)h(3)17
+b(+)g(4)22 b(=)f(7.)p eop end
+%%Page: 37 43
+TeXDict begin 37 42 bop 150 -116 a FD(Chapter)30 b(3:)41
+b(NCO)30 b(F)-8 b(eatures)2475 b(37)485 299 y Fy(filetype)46
+b(=)h(NC_FORMAT_CLASSIC)d(\(representation)f(of)k(extended/underlying)c
+(\\)485 408 y(filetype)j(NC_FORMAT_DAP2\),)d(0)48 b(groups)390
+518 y(\045)f(ncks)g(-D)g(2)h(-M)f(foo_4.nc)390 628 y(Summary)f(of)h
+(foo_4.nc:)e(filetype)h(=)h(NC_FORMAT_NETCDF4)c(\(representation)h(of)j
+(\\)485 737 y(extended/underlying)c(filetype)j(NC_FORMAT_HDF5\),)d(0)k
+(groups)275 899 y FD(The)29 b(extended)h(\014let)m(yp)s(e)h(determines)
+f(some)h(of)f(the)h(capabilities)h(that)f(netCDF)g(has)f(to)h(alter)g
+(the)150 1008 y(\014le.)275 1170 y(Second,)f(query)g(the)g(\014le)h
+(with)f(`)p Fy(ncdump)f(-k)p FD(':)390 1332 y Fy(\045)47
+b(ncdump)g(-k)g(foo_3c.nc)390 1441 y(classic)390 1551
+y(\045)g(ncdump)g(-k)g(foo_364.nc)390 1661 y(64-bit-offset)390
+1770 y(\045)g(ncdump)g(-k)g(foo_4c.nc)390 1880 y(netCDF-4)f(classic)f
+(model)390 1989 y(\045)i(ncdump)g(-k)g(foo_4.nc)390 2099
+y(netCDF-4)275 2261 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 2422 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
+2584 y Fy(\045)47 b(od)h(-An)f(-c)g(-N4)g(foo_3c.nc)533
+2693 y(C)143 b(D)g(F)47 b(001)390 2803 y(\045)g(od)h(-An)f(-c)g(-N4)g
+(foo_364.nc)533 2913 y(C)143 b(D)g(F)47 b(002)390 3022
+y(\045)g(od)h(-An)f(-c)g(-N4)g(foo_4c.nc)438 3132 y(211)142
+b(H)h(D)g(F)390 3241 y(\045)47 b(od)h(-An)f(-c)g(-N4)g(foo_4.nc)438
+3351 y(211)142 b(H)h(D)g(F)275 3513 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 3622 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
+3732 y(F)p FD(')g(indicate)i(either)f(of)f(the)h(new)m(er)f(netCDF4)h
+(\014le)g(formats.)150 3935 y Fu(3.9.3)63 b(File)41 b(Con)m(v)m(ersion)
+150 4082 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 4192 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 4302 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
+4411 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
+4521 y(output)30 b(format)h(written)f(in)g(the)h(commen)m(t:)390
+4682 y Fy(ncks)47 b(--fl_fmt=classic)c(in.nc)j(foo_3c.nc)g(#)h(netCDF3)
+f(classic)390 4792 y(ncks)h(--fl_fmt=64bit)d(in.nc)i(foo_364.nc)f(#)i
+(netCDF3)f(64bit)390 4902 y(ncks)h(--fl_fmt=netcdf4_classi)o(c)42
+b(in.nc)k(foo_4c.nc)f(#)j(netCDF4)e(classic)390 5011
+y(ncks)h(--fl_fmt=netcdf4)c(in.nc)j(foo_4.nc)g(#)h(netCDF4)390
+5121 y(ncks)g(-3)g(in.nc)f(foo_3c.nc)f(#)j(netCDF3)e(classic)390
+5230 y(ncks)h(--3)g(in.nc)f(foo_3c.nc)f(#)j(netCDF3)d(classic)390
+5340 y(ncks)i(-6)g(in.nc)f(foo_364.nc)f(#)j(netCDF3)d(64bit)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.2)j(User)d(Guide)390 299 y Fy(ncks)47 b(--64)f(in.nc)h
+(foo_364.nc)e(#)i(netCDF3)f(64bit)390 408 y(ncks)h(-4)g(in.nc)f
+(foo_4.nc)g(#)h(netCDF4)390 518 y(ncks)g(--4)g(in.nc)f(foo_4.nc)f(#)j
+(netCDF4)390 628 y(ncks)f(-7)g(in.nc)f(foo_4c.nc)f(#)j(netCDF4)e
+(classic)390 737 y(ncks)h(--7)g(in.nc)f(foo_4c.nc)f(#)j(netCDF4)d
+(classic)275 913 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 1022 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 1132 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 1241 y(w)m(ork.)150
+1473 y Fu(3.9.4)63 b(Auto)s(con)m(v)m(ersion)150 1620
+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
+1729 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 1839 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
+1948 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 2058 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
+2168 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 2277 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 2387 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
+2562 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 2738 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
+2847 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 2957 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 3066 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 3176 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 3286 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 3395 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
+3505 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 3614
+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 3724 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 3833 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 3943 y(squeaky)30
+b(wheel)h(and)f(let)h(us)f(kno)m(w.)330 4094 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 4203 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 4313 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 4422 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
+4532 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 4642 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 4792 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 4902 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
+5011 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 5121
+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
+5230 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 5340 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)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)330 299 y(record)33
+b(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(173)h(for)f(a)330
+408 y(description)d(of)h(the)g(`)p Fy(--fix_rec_dmn)p
+FD(')c(option.)199 544 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
+653 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 763 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 872
+y(P)m(ath)f(Editing],)g(page)g(44)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 1058 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
+1167 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
+1277 y(more)d(elab)s(orate:)390 1437 y Fy(#)47 b(Convert)f(file)h(with)
+g(netCDF4)e(atomic)h(types)390 1546 y(ncks)h(-3)g(in.nc4)f(out.nc3)390
+1656 y(#)h(Convert)f(file)h(with)g(multiple)e(record)h(dimensions)f(+)j
+(netCDF4)d(atomic)i(types)390 1766 y(ncks)g(-3)g(--fix_rec_dmn=all)c
+(in.nc4)j(out.nc3)390 1875 y(#)h(Convert)f(file)h(with)g(groups,)e
+(multiple)h(record)g(dimensions)f(+)i(netCDF4)f(atomic)g(types)390
+1985 y(ncks)h(-3)g(-G)g(:)g(--fix_rec_dmn=all)d(in.nc4)i(out.nc3)275
+2145 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 2254 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 2364 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 2598 y FB(3.10)68 b(Large)46 b(File)f(Supp)t(ort)150
+2732 y Fk(\013)p 200 2732 3554 4 v 3553 w(\010)p 150
+3221 4 442 v 178 2868 a FD(Av)-5 b(ailabilit)m(y:)43
+b(All)31 b(op)s(erators)178 2977 y(Short)f(options:)41
+b(none)178 3087 y(Long)31 b(options:)41 b(none)p 3803
+3221 V 150 3273 a Fk(\012)p 200 3273 3554 4 v 3553 w(\011)275
+3449 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 3558 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 3668 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 3777 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
+3887 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
+3997 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 4106 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 4216 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
+4325 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 4435 y(mo)s(dern)c(netCDF)i(in)m(terface.)275 4595
+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 4705 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 4672 y Ft(11)3604 4705 y FD(and)150 4814
+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
+4924 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 5033 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
+5143 y(con\014gure)30 b(LFS)g(at)h(build)f(time.)p 150
+5241 1200 4 v 166 5308 a Ft(11)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: 40 46
+TeXDict begin 40 45 bop 150 -116 a FD(40)2627 b FC(NCO)30
+b FD(4.4.2)j(User)d(Guide)150 299 y FB(3.11)68 b(Subsetting)46
+b(Files)150 433 y Fk(\013)p 200 433 3554 4 v 3553 w(\010)p
+150 1908 4 1428 v 178 568 a FD(Options)30 b Fy(--unn)178
+677 y 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 787 y FD(Short)h(options:)178 896
+y(Long)h(options:)41 b(`)p Fy(--unn)p FD(')29 b(and)h(`)p
+Fy(--union)p FD(')178 1006 y(Options)g Fy(-g)g Fn(grp)178
+1116 y 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 1225 y FD(Short)h(options:)41 b(`)p
+Fy(-g)p FD(')178 1335 y(Long)31 b(options:)41 b(`)p Fy(--grp)p
+FD(')29 b(and)h(`)p Fy(--group)p FD(')178 1444 y(Options)g
+Fy(-v)g Fn(var)f FD(and)h Fy(-x)178 1554 y FD(Av)-5 b(ailabilit)m(y:)43
+b(\()p Fy(ncap2)p FD(\),)30 b Fy(ncbo)p FD(,)g 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 1664 y FD(Short)h(options:)41 b(`)p
+Fy(-v)p FD(',)31 b(`)p Fy(-x)p FD(')178 1773 y(Long)g(options:)41
+b(`)p Fy(--variable)p FD(',)28 b(`)p Fy(--exclude)p FD(')g(or)j(`)p
+Fy(--xcl)p FD(')p 3803 1908 V 150 1959 a Fk(\012)p 200
+1959 3554 4 v 3553 w(\011)275 2155 y FD(Subsetting)k(v)-5
+b(ariables)36 b(refers)g(to)g(explicitly)i(sp)s(ecifying)d(v)-5
+b(ariables)37 b(and)e(groups)g(to)i(b)s(e)e(included)150
+2265 y(or)29 b(excluded)f(from)h(op)s(erator)g(actions.)41
+b(Subsetting)29 b(is)f(con)m(trolled)j(b)m(y)d(the)h(`)p
+Fy(-v)h Fn(var)p Fy([,...)n(])p FD(')f(and)f(`)p Fy(-x)p
+FD(')150 2374 y(options)22 b(for)f(directly)h(sp)s(ecifying)g(v)-5
+b(ariables.)38 b(Sp)s(ecifying)21 b(groups,)i(whether)e(in)g(addition)h
+(to)g(or)g(instead)150 2484 y(of)k(v)-5 b(ariables,)27
+b(is)f(quite)g(similar)g(and)f(is)h(con)m(trolled)h(b)m(y)f(the)f(`)p
+Fy(-g)30 b Fn(grp)p Fy([,...)n(])p FD(')c(and)f(`)p Fy(-x)p
+FD(')g(options.)40 b(A)30 b(list)150 2593 y(of)38 b(v)-5
+b(ariables)38 b(or)f(groups)f(to)j(extract)f(is)g(sp)s(eci\014ed)e
+(follo)m(wing)j(the)f(`)p Fy(-v)p FD(')f(and)g(`)p Fy(-g)p
+FD(')g(options,)j(e.g.,)g(`)p Fy(-v)150 2703 y(time,lat,lon)p
+FD(')25 b(or)j(`)p Fy(-g)i(grp1,grp2)p FD('.)37 b(Both)29
+b(options)f(ma)m(y)g(b)s(e)f(sp)s(eci\014ed)g(sim)m(ultaneously)i(and)e
+FC(NCO)150 2812 y FD(will)32 b(extract)h(the)e(in)m(tersection)i(of)f
+(the)f(lists,)i(i.e.,)g(only)e(v)-5 b(ariables)32 b(of)g(the)f(sp)s
+(eci\014ed)g(names)g(found)f(in)150 2922 y(groups)e(of)h(the)h(sp)s
+(eci\014ed)e(names.)40 b(The)29 b(`)p Fy(--unn)p FD(')f(option)h
+(causes)g FC(NCO)g FD(to)h(extract)g(the)f(union,)g(rather)150
+3032 y(than)24 b(the)h(in)m(tersection,)j(of)d(the)f(sp)s(eci\014ed)g
+(groups)g(and)g(v)-5 b(ariables.)40 b(Not)25 b(using)f(the)h(`)p
+Fy(-v)p FD(')f(or)h(`)p Fy(-g)p FD(')f(option)150 3141
+y(is)32 b(equiv)-5 b(alen)m(t)33 b(to)f(sp)s(ecifying)g(all)h(v)-5
+b(ariables)32 b(or)g(groupp,)f(resp)s(ectiv)m(ely)-8
+b(.)47 b(The)31 b(`)p Fy(-x)p FD(')g(option)i(causes)f(the)150
+3251 y(list)38 b(of)f(v)-5 b(ariables)38 b(sp)s(eci\014ed)e(with)h(`)p
+Fy(-v)p FD(')g(to)g(b)s(e)g Fo(exclude)-5 b(d)47 b FD(rather)37
+b(than)g Fo(extr)-5 b(acte)g(d)p FD(.)63 b(Th)m(us)36
+b(`)p Fy(-x)p FD(')g(sa)m(v)m(es)150 3360 y(t)m(yping)31
+b(when)e(y)m(ou)i(only)f(w)m(an)m(t)i(to)f(extract)h(few)m(er)e(than)g
+(half)h(of)f(the)h(v)-5 b(ariables)31 b(in)f(a)h(\014le.)275
+3545 y(V)-8 b(ariables)58 b(or)f(groups)g(explicitly)i(sp)s(eci\014ed)d
+(for)h(extraction)i(with)e(`)p Fy(-v)30 b Fn(var)p Fy([,...)n(])p
+FD(')57 b(or)g(`)p Fy(-g)150 3655 y Fn(grp)p Fy([,...)n(])p
+FD(')44 b Fo(must)53 b FD(b)s(e)43 b(presen)m(t)h(in)g(the)g(input)f
+(\014le)h(or)g(an)g(error)g(will)g(result.)82 b(V)-8
+b(ariables)45 b(explic-)150 3765 y(itly)28 b(sp)s(eci\014ed)f(for)g
+Fo(exclusion)34 b FD(with)27 b(`)p Fy(-x)j(-v)g Fn(var)p
+Fy([,...)n(])p FD(')d(need)g(not)h(b)s(e)e(presen)m(t)i(in)f(the)g
+(input)g(\014le.)39 b(T)-8 b(o)150 3874 y(accord)26 b(with)f(the)h
+(sophistication)h(of)e(the)h(underlying)e(hierarc)m(h)m(y)-8
+b(,)28 b(group)d(subsetting)h(is)f(con)m(trolled)i(b)m(y)150
+3984 y(a)35 b(few)f(p)s(o)m(w)m(erful)g(y)m(et)i(subtle)e(syn)m
+(tactical)j(distinctions.)53 b(When)34 b(learning)h(this)f(syn)m(tax)h
+(it)g(is)g(helpful)150 4093 y(to)c(k)m(eep)g(in)f(mind)g(the)g
+(similarit)m(y)i(b)s(et)m(w)m(een)f(group)f(hierarc)m(hies)h(and)f
+(directory)g(structures.)275 4278 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 4388 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
+FD(command)f Fy(mv)f(src)g(dst)g FD(mo)m(v)m(es)i Fy(src)f
+Fo(and)j(al)5 b(l)34 b(its)150 4497 y(sub)-5 b(dir)g(e)g(ctories)44
+b FD(\(and)34 b(all)i(their)e(sub)s(directories)g(etc.\))55
+b(to)35 b Fy(dst)p FD(.)53 b(In)33 b(other)i(w)m(ords)f
+Fy(mv)g FD(is,)i(b)m(y)e(default,)150 4607 y Fo(r)-5
+b(e)g(cursive)p FD(.)41 b(In)29 b(con)m(trast,)i(the)f
+FC(UNIX)g FD(command)f Fy(cp)h(src)g(dst)e FD(mo)m(v)m(es)j
+Fy(src)p FD(,)e(and)g(only)h Fy(src)p FD(,)f(to)h Fy(dst)p
+FD(,)f(If)150 4717 y Fy(src)f FD(is)h(a)h(directory)-8
+b(,)31 b(not)e(a)h(\014le,)f(then)g(that)h(command)f(fails.)41
+b(One)28 b(m)m(ust)h(explicitly)i(request)e(to)h(cop)m(y)150
+4826 y(directories)g(recursiv)m(ely)-8 b(,)30 b(i.e.,)g(with)e
+Fy(cp)i(-r)g(src)f(dst)p FD(.)39 b(In)28 b FC(NCO)g FD(recursiv)m(e)h
+(extraction)h(\(and)f(cop)m(ying\))150 4936 y(of)g(groups)f(is)h(the)g
+(default)g(\(lik)m(e)i(with)d Fy(mv)p FD(,)h(not)g(with)g
+Fy(cp)p FD(\).)40 b(Recursion)28 b(is)h(turned)f(o\013)h(b)m(y)g(app)s
+(ending)f(a)150 5045 y(trailing)j(slash)g(to)g(the)f(path.)275
+5230 y(These)j FC(UNIX)h FD(commands)g(also)g(illustrate)h(a)f(prop)s
+(ert)m(y)g(w)m(e)g(call)h Fo(anchoring)p FD(.)52 b(The)33
+b(command)h Fy(mv)150 5340 y(src)29 b(dst)35 b FD(mo)m(v)m(es)i
+(\(recursiv)m(ely\))f(the)g(source)f(directory)h Fy(src)e
+FD(to)i(the)g(destination)g(directory)g Fy(dst)p FD(.)54
+b(If)p eop end
+%%Page: 41 47
+TeXDict begin 41 46 bop 150 -116 a FD(Chapter)30 b(3:)41
+b(NCO)30 b(F)-8 b(eatures)2475 b(41)150 299 y Fy(src)27
+b FD(b)s(egins)h(with)g(the)g(slash)g(c)m(haracter)i(then)e(the)h(sp)s
+(eci\014ed)e(path)h(is)g(relativ)m(e)j(to)e(the)f(ro)s(ot)h(directory)
+-8 b(,)150 408 y(otherwise)35 b(the)g(path)g(is)g(relativ)m(e)i(to)f
+(the)f(curren)m(t)f(w)m(orking)i(directory)-8 b(.)55
+b(In)34 b(other)h(w)m(ords,)h(an)f(initial)150 518 y(slash)d(c)m
+(haracter)h(anc)m(hors)f(the)g(subsequen)m(t)g(path)f(to)i(the)f(ro)s
+(ot)g(directory)-8 b(.)46 b(In)32 b FC(NCO)f FD(an)h(initial)h(slash)
+150 628 y(anc)m(hors)g(the)f(path)h(at)g(the)g(ro)s(ot)g(group.)46
+b(P)m(aths)33 b(that)g(b)s(egin)g(and)f(end)f(with)i(slash)f(c)m
+(haracters)i(\(e.g.,)150 737 y Fy(//)p FD(,)c Fy(/g1/)p
+FD(,)f(and)h Fy(/g1/g2/)p FD(\))f(are)i(b)s(oth)e(anc)m(hored)i(and)f
+(non-recursiv)m(e.)275 901 y(Consider)40 b(the)i(follo)m(wing)i
+(commands,)g(all)f(of)f(whic)m(h)f(ma)m(y)i(b)s(e)e(assumed)g(to)h(end)
+g(with)f(`)p Fy(in.nc)150 1010 y(out.nc)p FD(':)390 1174
+y Fy(ncks)47 b(-g)95 b(g1)f(#)48 b(Extract,)d(recursively,)g(all)i
+(groups)f(with)h(a)g(g1)g(component)390 1283 y(ncks)g(-g)95
+b(g1/)46 b(#)i(Extract,)d(non-recursively,)f(all)j(groups)f
+(terminating)f(in)i(g1)390 1393 y(ncks)g(-g)g(/g1)94
+b(#)48 b(Extract,)d(recursively,)g(root)i(group)f(g1)390
+1503 y(ncks)h(-g)g(/g1/)f(#)i(Extract,)d(non-recursively)f(root)j
+(group)f(g1)390 1612 y(ncks)h(-g)g(//)142 b(#)48 b(Extract,)d
+(non-recursively)f(the)j(root)g(group)275 1776 y FD(The)37
+b(\014rst)h(command)g(is)h(probably)f(the)g(most)h(useful)f(and)g
+(common.)65 b(It)38 b(w)m(ould)h(extract)g(these)150
+1885 y(groups,)27 b(if)f(presen)m(t,)h(and)f(all)h(their)f(direct)h
+(ancestors)g(and)f(c)m(hildren:)38 b Fy(/g1)p FD(,)27
+b Fy(/g2/g1)p FD(,)f(and)f Fy(/g3/g1/g2)p FD(.)150 1995
+y(In)c(other)h(w)m(ords,)h(the)f(simplest)g(form)f(of)h(`)p
+Fy(-g)30 b(grp)p FD(')21 b(grabs)g(all)i(groups)e(that)h(\(and)f(their)
+h(direct)g(ancestors)150 2104 y(and)31 b(c)m(hildren,)i(recursiv)m
+(ely\))g(that)g(ha)m(v)m(e)g Fy(grp)e FD(as)i(a)f(complete)i(comp)s
+(onen)m(t)e(of)g(their)g(path.)46 b(A)32 b(simple)150
+2214 y(string)k(matc)m(h)h(is)e(insu\016cien)m(t,)j Fz(grp)g
+FD(m)m(ust)e(b)s(e)f(a)h(complete)i(comp)s(onen)m(t)e(\(i.e.,)j(group)c
+(name\))h(in)g(the)150 2324 y(path.)73 b(The)40 b(option)i(`)p
+Fy(-g)30 b(g1)p FD(')41 b(w)m(ould)g(not)g(extract)i(these)e(groups)g
+(b)s(ecause)g Fy(g1)f FD(is)i(not)f(a)g(complete)150
+2433 y(comp)s(onen)m(t)36 b(of)f(the)h(path:)50 b Fy(/g12)p
+FD(,)36 b Fy(/fg1)p FD(,)f(and)g Fy(/g1g1)p FD(.)54 b(The)35
+b(second)g(command)g(ab)s(o)m(v)m(e)i(sho)m(ws)e(ho)m(w)150
+2543 y(a)h(terminating)h(slash)f(c)m(haracter)h Fn(/)f
+FD(cancels)h(the)f(recursiv)m(e)h(cop)m(ying)f(of)h(groups.)56
+b(An)36 b(argumen)m(t)g(to)150 2652 y(`)p Fy(-g)p FD(')i(whic)m(h)f
+(terminates)i(with)f(a)g(slash)g(c)m(haracter)h(extracts)h(the)e(group)
+f(and)g(its)i(direct)f(ancestors,)150 2762 y(but)30 b(none)h(of)g(its)h
+(c)m(hildren.)42 b(The)31 b(third)f(command)h(ab)s(o)m(v)m(e)h(sho)m
+(ws)f(ho)m(w)g(an)g(initial)h(slash)f(c)m(haracter)h
+Fn(/)150 2872 y FD(anc)m(hors)f(the)f(argumen)m(t)h(to)g(the)f(ro)s(ot)
+h(group.)40 b(The)30 b(third)f(command)i(w)m(ould)f(not)g(extract)i
+(the)e(group)150 2981 y Fy(/g2/g1)g FD(b)s(ecause)i(the)g
+Fy(g1)g FD(group)f(is)h(not)g(at)h(the)f(ro)s(ot)g(lev)m(el,)j(but)c
+(it)h(w)m(ould)g(extract,)i(an)m(y)e(group)g Fy(/g1)150
+3091 y FD(at)f(the)f(ro)s(ot)h(lev)m(el)h(and)d(all)i(its)g(c)m
+(hildren,)f(recursiv)m(ely)-8 b(.)42 b(The)30 b(fourth)f(command)h(is)g
+(the)h(non-recursiv)m(e)150 3200 y(v)m(ersion)d(of)g(the)f(third)g
+(command.)39 b(The)27 b(\014fth)g(command)g(is)h(a)f(sp)s(ecial)i(case)
+f(of)g(the)f(fourth)g(command.)275 3364 y(As)38 b(men)m(tioned)i(ab)s
+(o)m(v)m(e,)i(b)s(oth)c(`)p Fy(-v)p FD(')h(and)f(`)p
+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 3473 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 3583
+y(in)d(the)h(sp)s(eci\014ed)f(groups)1038 3550 y Ft(12)1107
+3583 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
+3693 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 3802 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('\):)390 3966
+y Fy(#)47 b(Intersection-mode)d(subsetting)h(\(default\))390
+4075 y(ncks)i(-g)95 b(g1)f(-v)48 b(v1)f(#)g(Yes:)g(/g1/v1,)f
+(/g2/g1/v1.)f(No:)i(/v1,)f(/g2/v1)390 4185 y(ncks)h(-g)g(/g1)94
+b(-v)48 b(v1)f(#)g(Yes:)g(/g1/v1,)f(/g1/g2/v1.)f(No:)i(/v1,)f(/g2/v1,)g
+(/g2/g1/v1)390 4294 y(ncks)h(-g)95 b(g1/)46 b(-v)i(v1)f(#)g(Yes:)g
+(/g1/v1,)f(/g2/g1/v1.)f(No:)i(/v1,)f(/g2/v1,)g(/g1/g2/v1)390
+4404 y(ncks)h(-v)95 b(g1/v1)237 b(#)47 b(Yes:)g(/g1/v1,)f(/g2/g1/v1.)f
+(No:)i(/v1,)f(/g2/v1,)g(/g1/g2/v1)390 4514 y(ncks)h(-g)g(/g1/)f(-v)i
+(v1)f(#)g(Yes:)g(/g1/v1.)f(No:)h(/g2/g1/v1,)e(/v1,)h(/g2/v1)g(...)390
+4623 y(ncks)h(-v)g(/g1/v1)237 b(#)47 b(Yes:)g(/g1/v1.)f(No:)h
+(/g2/g1/v1,)e(/v1,)h(/g2/v1)g(...)390 4842 y(#)h(Union-mode)e
+(subsetting)g(\(invoke)h(with)h(--unn)f(or)h(--union\))390
+4952 y(ncks)g(-g)95 b(g1)f(-v)48 b(v1)f(--unn)f(#)i(All)f(variables)e
+(in)95 b(g1)47 b(or)g(progeny,)f(or)h(named)f(v1)p 150
+5066 1200 4 v 166 5134 a Ft(12)300 5166 y Fs(In)n(tersection-mo)r(de)26
+b(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
+(and)g(consistency)h(and)e(do)h(absolutely)h(nothing)f(since)h(in)n
+(tersection-mo)r(de)f(is)275 5340 y(the)25 b(default.)p
+eop end
+%%Page: 42 48
+TeXDict begin 42 47 bop 150 -116 a FD(42)2627 b FC(NCO)30
+b FD(4.4.2)j(User)d(Guide)390 299 y Fy(ncks)47 b(-g)g(/g1)94
+b(-v)48 b(v1)f(--unn)f(#)i(All)f(variables)e(in)i(/g1)g(or)g(progeny,)f
+(or)h(named)f(v1)390 408 y(ncks)h(-g)95 b(g1/)46 b(-v)i(v1)f(--unn)f(#)
+i(All)f(variables)e(in)95 b(g1)47 b(or)g(named)f(v1)390
+518 y(ncks)h(-g)g(/g1/)f(-v)i(v1)f(--unn)f(#)i(All)f(variables)e(in)i
+(/g1)g(or)g(named)f(v1)275 689 y FD(The)34 b(\014rst)h(command)g(\(`)p
+Fy(-g)30 b(g1)g(-v)g(v1)p FD('\))35 b(extracts)i(the)e(v)-5
+b(ariable)37 b Fy(v1)d FD(from)h(an)m(y)h(group)f(named)g
+Fy(g1)150 798 y FD(or)h(descenden)m(t)h Fy(g1)p FD(.)57
+b(The)36 b(second)g(command)g(extracts)i Fy(v1)e FD(from)f(an)m(y)i(ro)
+s(ot)f(group)g(named)g Fy(g1)g FD(and)150 908 y(an)m(y)41
+b(descenden)m(t)f(groups)f(as)i(w)m(ell.)71 b(The)40
+b(third)f(and)g(fourth)h(commands)g(are)g(equiv)-5 b(alen)m(t)42
+b(w)m(a)m(ys)f(of)150 1017 y(extracting)29 b Fy(v1)d
+FD(only)i(from)e(the)i(ro)s(ot)f(group)g(named)g Fy(g1)f
+FD(\(not)i(its)f(descenden)m(ts\).)41 b(The)26 b(\014fth)g(and)h(sixth)
+150 1127 y(commands)c(are)h(equiv)-5 b(alen)m(t)24 b(w)m(a)m(ys)h(of)e
+(extracting)i(the)e(v)-5 b(ariable)25 b Fy(v1)d FD(only)i(from)e(the)i
+(ro)s(ot)g(group)e(named)150 1236 y Fy(g1)p FD(.)38 b(Subsetting)23
+b(in)h(union-mo)s(de)e(\(with)i(`)p Fy(--unn)p FD('\))f(causes)h(all)h
+(v)-5 b(ariables)24 b(to)h(b)s(e)e(extracted)i(whic)m(h)e(meet)150
+1346 y(either)i(one)f(or)h(b)s(oth)e(of)i(the)f(sp)s(eci\014cations)h
+(of)g(the)f(v)-5 b(ariable)25 b(and)f(group)g(sp)s(eci\014cations.)39
+b(Union-mo)s(de)150 1456 y(subsetting)30 b(is)g(simply)f(the)h(logical)
+i(\\OR")f(of)f(in)m(tersection-mo)s(de)h(subsetting.)41
+b(As)30 b(discussed)e(b)s(elo)m(w,)150 1565 y(the)33
+b(group)f(and)g(v)-5 b(ariable)33 b(sp)s(eci\014cations)g(ma)m(y)g(b)s
+(e)f(comma)i(separated)f(lists)g(of)g(regular)f(expressions)150
+1675 y(for)e(added)g(con)m(trol)i(o)m(v)m(er)f(subsetting.)275
+1845 y(Remem)m(b)s(er,)41 b(if)f(a)m(v)m(eraging)i(or)e(concatenating)i
+(large)f(\014les)e(stresses)h(y)m(our)g(systems)f(memory)h(or)150
+1955 y(disk)31 b(resources,)g(then)g(the)g(easiest)h(solution)g(is)f
+(often)g(to)h(subset)f(\(with)g(`)p Fy(-g)p FD(')g(and/or)f(`)p
+Fy(-v)p FD('\))i(to)f(retain)150 2064 y(only)f(the)h(most)g(imp)s
+(ortan)m(t)f(v)-5 b(ariables)31 b(\(see)h(Section)f(2.9)g([Memory)g
+(Requiremen)m(ts],)h(page)f(22\).)390 2235 y Fy(ncks)476
+b(in.nc)47 b(out.nc)f(#)h(Extract)f(all)h(groups)f(and)h(variables)390
+2345 y(ncks)g(-v)g(scl)142 b(#)48 b(Extract)d(variable)h(scl)h(from)g
+(all)f(groups)390 2454 y(ncks)h(-g)g(g1)190 b(#)48 b(Extract)d(group)i
+(g1)g(and)g(descendents)390 2564 y(ncks)g(-x)g(-g)g(g1)g(#)h(Extract)d
+(all)i(groups)f(except)h(g1)g(and)g(descendents)390 2673
+y(ncks)g(-g)g(g2,g3)f(-v)h(scl)g(#)h(Extract)e(scl)g(from)h(groups)f
+(g2)h(and)g(g3)275 2844 y FD(Ov)m(erwriting)30 b(and)g(app)s(ending)f
+(w)m(ork)h(as)h(exp)s(ected:)390 3014 y Fy(#)47 b(Replace)f(scl)h(in)g
+(group)g(g2)g(in)g(out.nc)f(with)h(scl)g(from)f(group)h(g2)g(from)g
+(in.nc)390 3124 y(ncks)g(-A)g(-g)g(g2)g(-v)g(scl)g(in.nc)g(out.nc)275
+3294 y FD(Due)23 b(to)h(its)f(sp)s(ecial)h(capabilities,)i
+Fy(ncap2)c FD(in)m(terprets)h(the)h(`)p Fy(-v)p FD(')f(switc)m(h)g
+(di\013eren)m(tly)h(\(see)g(Section)g(4.1)150 3404 y([ncap2)44
+b(netCDF)g(Arithmetic)g(Pro)s(cessor],)k(page)c(102\).)82
+b(F)-8 b(or)44 b Fy(ncap2)p FD(,)h(the)f(`)p Fy(-v)p
+FD(')f(switc)m(h)h(tak)m(es)h(no)150 3513 y(argumen)m(ts)33
+b(and)e(indicates)j(that)f Fo(only)41 b FD(user-de\014ned)31
+b(v)-5 b(ariables)33 b(should)e(b)s(e)h(output.)46 b
+Fy(ncap2)31 b FD(neither)150 3623 y(accepts)h(nor)e(understands)e(the)i
+Fz(-x)37 b FD(and)30 b Fz(-g)39 b FD(switc)m(hes.)275
+3794 y(Regular)24 b(expressions)f(the)g(syn)m(tax)h(that)g
+FC(NCO)g FD(use)f(pattern-matc)m(h)i(ob)5 b(ject)24 b(names)g(in)f
+(netCDF)h(\014le)150 3903 y(against)29 b(user)e(requests.)39
+b(The)27 b(user)g(can)h(select)h(all)f(v)-5 b(ariables)28
+b(b)s(eginning)f(with)g(the)h(string)f(`)p Fy(DST)p FD(')g(from)150
+4013 y(an)g(input)g(\014le)h(b)m(y)f(supplying)g(the)g(regular)h
+(expression)f(`)p Fy(^DST)p FD(')g(to)i(the)e(`)p Fy(-v)p
+FD(')h(switc)m(h,)h(i.e.,)g(`)p Fy(-v)h('^DST')p FD('.)150
+4122 y(The)38 b(meta-c)m(haracters)k(used)c(to)h(express)g(pattern)g
+(matc)m(hing)h(op)s(erations)f(are)g(`)p Fy(^$+?.*[]{}|)p
+FD('.)63 b(If)150 4232 y(the)36 b(regular)g(expression)f(pattern)h
+(matc)m(hes)h Fo(any)45 b FD(part)35 b(of)h(a)g(v)-5
+b(ariable)37 b(name)f(then)f(that)h(v)-5 b(ariable)37
+b(is)150 4341 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 4451 y(data)e(\014les.)275 4622
+y(Extended)d(regular)i(expressions)f(are)g(de\014ned)f(b)m(y)h(the)h
+FC(POSIX)e Fy(grep)i(-E)e FD(\(ak)-5 b(a)31 b Fy(egrep)p
+FD(\))d(command.)150 4731 y(As)33 b(of)g FC(NCO)g FD(2.8.1)i(\(August,)
+f(2003\),)j(v)-5 b(ariable)33 b(name)h(argumen)m(ts)f(to)h(the)f(`)p
+Fy(-v)p FD(')g(switc)m(h)h(ma)m(y)g(con)m(tain)150 4841
+y Fz(extended)e(regular)f(expressions)p FD(.)44 b(As)32
+b(of)f FC(NCO)h FD(3.9.6)h(\(Jan)m(uary)-8 b(,)33 b(2009\),)h(v)-5
+b(ariable)32 b(names)g(argumen)m(ts)150 4950 y(to)f Fy(ncatted)d
+FD(ma)m(y)j(con)m(tain)g Fz(extended)g(regular)f(expressions)p
+FD(.)40 b(As)30 b(of)h FC(NCO)f FD(4.2.4)i(\(No)m(v)m(em)m(b)s(er,)g
+(2012\),)150 5060 y(group)e(name)g(argumen)m(ts)h(to)g(the)g(`)p
+Fy(-g)p FD(')f(switc)m(h)h(ma)m(y)g(con)m(tain)g Fz(extended)g(regular)
+f(expressions)p FD(.)275 5230 y(Because)35 b(of)e(its)h(wide)g(a)m(v)-5
+b(ailabilit)m(y)d(,)38 b FC(NCO)c FD(uses)f(the)h FC(POSIX)f
+FD(regular)g(expression)h(library)f Fy(regex)p FD(.)150
+5340 y(Regular)c(expressions)f(of)g(arbitary)g(complexit)m(y)i(ma)m(y)f
+(b)s(e)f(used.)39 b(Since)28 b(netCDF)h(v)-5 b(ariable)29
+b(names)g(are)p eop end
+%%Page: 43 49
+TeXDict begin 43 48 bop 150 -116 a FD(Chapter)30 b(3:)41
+b(NCO)30 b(F)-8 b(eatures)2475 b(43)150 299 y(relativ)m(ely)28
+b(simple)d(constructs,)i(only)e(a)h(few)f(v)-5 b(arieties)27
+b(of)f(v)-5 b(ariable)26 b(wildcards)f(are)h(lik)m(ely)h(to)f(b)s(e)e
+(useful.)150 408 y(F)-8 b(or)31 b(con)m(v)m(enience,)i(w)m(e)e
+(de\014ne)e(the)i(most)g(useful)e(pattern)i(matc)m(hing)g(op)s(erators)
+g(here:)150 599 y(`)p Fy(^)p FD(')382 b(Matc)m(hes)32
+b(the)f(b)s(eginning)e(of)i(a)g(string)150 765 y(`)p
+Fy($)p FD(')382 b(Matc)m(hes)32 b(the)f(end)e(of)i(a)g(string)150
+932 y(`)p Fy(.)p FD(')382 b(Matc)m(hes)32 b(an)m(y)f(single)g(c)m
+(haracter)150 1122 y(The)f(most)h(useful)e(rep)s(etition)i(and)f(com)m
+(bination)i(op)s(erators)e(are)150 1313 y(`)p Fy(?)p
+FD(')382 b(The)30 b(preceding)g(regular)h(expression)f(is)g(optional)i
+(and)e(matc)m(hed)h(at)g(most)g(once)150 1479 y(`)p Fy(*)p
+FD(')382 b(The)30 b(preceding)g(regular)h(expression)f(will)h(b)s(e)e
+(matc)m(hed)j(zero)f(or)f(more)h(times)150 1645 y(`)p
+Fy(+)p FD(')382 b(The)30 b(preceding)g(regular)h(expression)f(will)h(b)
+s(e)e(matc)m(hed)j(one)e(or)h(more)f(times)150 1812 y(`)p
+Fy(|)p FD(')382 b(The)42 b(preceding)g(regular)h(expression)f(will)h(b)
+s(e)f(joined)g(to)h(the)g(follo)m(wing)h(regular)e(ex-)630
+1921 y(pression.)k(The)32 b(resulting)g(regular)h(expression)f(matc)m
+(hes)h(an)m(y)g(string)f(matc)m(hing)h(either)630 2031
+y(sub)s(expression.)275 2275 y(T)-8 b(o)32 b(illustrate)h(the)g(use)f
+(of)g(these)g(op)s(erators)h(in)f(extracting)h(v)-5 b(ariables)33
+b(and)f(groups,)g(consider)g(\014le)150 2384 y Fy(in_grp.nc)22
+b FD(with)h(groups)h Fy(g0)p FD({)p Fy(g9)p FD(,)h(and)e(subgroups)f
+Fy(s0)p FD({)p Fy(s9)p FD(,)j(in)f(eac)m(h)h(of)f(those)h(groups,)g
+(and)e(\014le)h Fy(in.nc)150 2494 y FD(with)30 b(v)-5
+b(ariables)31 b Fy(Q)p FD(,)f Fy(Q01)p FD({)p Fy(Q99)p
+FD(,)g Fy(Q100)p FD(,)f Fy(QAA)p FD({)p Fy(QZZ)p FD(,)h
+Fy(Q_H2O)p FD(,)f Fy(X_H2O)p FD(,)g Fy(Q_CO2)p FD(,)g
+Fy(X_CO2)p FD(.)390 2657 y Fy(ncks)47 b(-v)g('.+')f(in.nc)715
+b(#)47 b(All)g(variables)f(\(default\))390 2766 y(ncks)h(-v)g('Q.?')f
+(in.nc)667 b(#)47 b(Variables)f(that)g(contain)g(Q)390
+2876 y(ncks)h(-v)g('^Q.?')f(in.nc)619 b(#)47 b(Variables)f(that)g
+(start)h(with)f(Q)390 2985 y(ncks)h(-v)g('^Q+.?.')e(in.nc)524
+b(#)47 b(Q,)h(Q0--Q9,)d(Q01--Q99,)h(QAA--QZZ,)f(etc.)390
+3095 y(ncks)i(-v)g('^Q..')f(in.nc)619 b(#)47 b(Q01--Q99,)f(QAA--QZZ,)f
+(etc.)390 3205 y(ncks)i(-v)g('^Q[0-9][0-9]')d(in.nc)237
+b(#)47 b(Q01--Q99,)f(Q100)390 3314 y(ncks)h(-v)g('^Q[[:digit:]]{2}')c
+(in.nc)j(#)h(Q01--Q99)390 3424 y(ncks)g(-v)g('H2O$')f(in.nc)619
+b(#)47 b(Q_H2O,)g(X_H2O)390 3533 y(ncks)g(-v)g('H2O$|CO2$')e(in.nc)380
+b(#)47 b(Q_H2O,)g(X_H2O,)f(Q_CO2,)g(X_CO2)390 3643 y(ncks)h(-v)g
+('^Q[0-9][0-9]$')c(in.nc)190 b(#)47 b(Q01--Q99)390 3753
+y(ncks)g(-v)g('^Q[0-6][0-9]|7[0-3]')42 b(in.nc)k(#)i(Q01--Q73,)d(Q100)
+390 3862 y(ncks)i(-v)g('\(Q[0-6][0-9]|7[0-3]\)$')41 b(in.nc)47
+b(#)g(Q01--Q73)390 3972 y(ncks)g(-v)g('^[a-z]_[a-z]{3}$')c(in.nc)j(#)h
+(Q_H2O,)g(X_H2O,)f(Q_CO2,)g(X_CO2)390 4081 y(ncks)h(-g)g('g.')f
+(in_grp.nc)523 b(#)47 b(10)h(Groups)e(g0-g9)390 4191
+y(ncks)h(-g)g('s.')f(in_grp.nc)332 b(#)48 b(100)e(sub-groups)f(g0/s0,)i
+(g0/s1,)f(...)h(g9/s9)390 4301 y(ncks)g(-g)g('g.')f(-v)i('v.')e
+(in_grp.nc)141 b(#)47 b(All)g(variables)f('v.')g(in)h(groups)g('g.')275
+4463 y FD(Bew)m(are|t)m(w)m(o)29 b(of)e(the)h(most)f(frequen)m(tly)g
+(used)f(rep)s(etition)i(pattern)f(matc)m(hing)h(op)s(erators,)g(`)p
+Fy(*)p FD(')g(and)150 4573 y(`)p Fy(?)p FD(',)f(are)e(also)i(v)-5
+b(alid)25 b(pattern)h(matc)m(hing)g(op)s(erators)g(for)f(\014lename)g
+(expansion)h(\(globbing\))g(at)g(the)f(shell-)150 4682
+y(lev)m(el.)40 b(Confusingly)-8 b(,)24 b(their)f(meanings)f(in)h
+(extended)f(regular)h(expressions)f(and)g(in)h(shell-lev)m(el)i
+(\014lename)150 4792 y(expansion)37 b(are)g(signi\014can)m(tly)h
+(di\013eren)m(t.)61 b(In)36 b(an)h(extended)f(regular)i(expression,)g
+(`)p Fy(*)p FD(')f(matc)m(hes)h(zero)150 4902 y(or)k(more)h(o)s
+(ccurences)g(of)f(the)h(preceding)f(regular)h(expression.)76
+b(Th)m(us)42 b(`)p Fy(Q*)p FD(')g(selects)i(all)f(v)-5
+b(ariables,)150 5011 y(and)34 b(`)p Fy(Q+.*)p FD(')h(selects)h(all)g(v)
+-5 b(ariables)36 b(con)m(taining)g(`)p Fy(Q)p FD(')f(\(the)h(`)p
+Fy(+)p FD(')f(ensures)f(the)h(preceding)g(item)h(matc)m(hes)150
+5121 y(at)j(least)h(once\).)67 b(T)-8 b(o)39 b(matc)m(h)g(zero)h(or)e
+(one)h(o)s(ccurence)g(of)g(the)g(preceding)g(regular)g(expression,)h
+(use)150 5230 y(`)p Fy(?)p FD('.)g(Do)s(cumen)m(tation)31
+b(for)e(the)g FC(UNIX)h Fy(egrep)e FD(command)h(details)h(the)f
+(extended)g(regular)g(expressions)150 5340 y(whic)m(h)h
+FC(NCO)g FD(supp)s(orts.)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.2)j(User)d(Guide)275 299 y(One)25 b(m)m(ust)h(b)s(e)f(careful)
+i(to)f(protect)h(an)m(y)g(sp)s(ecial)f(c)m(haracters)i(in)d(the)h
+(regular)h(expression)e(sp)s(eci\014ca-)150 408 y(tion)31
+b(from)f(b)s(eing)g(in)m(terpreted)h(\(globb)s(ed\))g(b)m(y)f(the)h
+(shell.)42 b(This)29 b(is)i(accomplish)g(b)m(y)g(enclosing)g(sp)s
+(ecial)150 518 y(c)m(haracters)h(within)e(single)h(or)f(double)g
+(quotes)390 682 y Fy(ncra)47 b(-v)g(Q??)g(in.nc)f(out.nc)142
+b(#)47 b(Error:)f(Shell)h(attempts)e(to)i(glob)g(wildcards)390
+791 y(ncra)g(-v)g('^Q+..')f(in.nc)g(out.nc)g(#)i(Correct:)d(NCO)i
+(interprets)e(wildcards)390 901 y(ncra)i(-v)g('^Q+..')f(in*.nc)g
+(out.nc)g(#)h(Correct:)f(NCO)h(interprets,)d(Shell)j(globs)275
+1065 y FD(The)27 b(\014nal)g(example)i(sho)m(ws)f(that)g(commands)g(ma)
+m(y)g(use)g(a)g(com)m(bination)h(of)f(v)-5 b(ariable)29
+b(wildcarding)150 1174 y(and)i(shell)h(\014lename)f(expansion)h
+(\(globbing\).)45 b(F)-8 b(or)32 b(globbing,)g(`)p Fy(*)p
+FD(')g(and)f(`)p Fy(?)p FD(')g Fo(have)j(nothing)h(to)f(do)k
+FD(with)150 1284 y(the)32 b(preceding)f(regular)g(expression!)44
+b(In)30 b(shell-lev)m(el)k(\014lename)d(expansion,)h(`)p
+Fy(*)p FD(')g(matc)m(hes)g(an)m(y)g(string,)150 1393
+y(including)26 b(the)h(n)m(ull)f(string)g(and)g(`)p Fy(?)p
+FD(')h(matc)m(hes)g(an)m(y)g(single)g(c)m(haracter.)41
+b(Do)s(cumen)m(tation)28 b(for)e Fy(bash)g FD(and)150
+1503 y Fy(csh)j FD(describ)s(e)h(the)h(rules)f(of)g(\014lename)h
+(expansion)f(\(globbing\).)150 1748 y FB(3.12)68 b(Subsetting)46
+b(Co)t(ordinate)g(V)-11 b(ariables)150 1882 y Fk(\013)p
+200 1882 3554 4 v 3553 w(\010)p 150 2372 4 442 v 178
+2018 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 2127
+y FD(Short)h(options:)41 b(`)p Fy(-C)p FD(',)31 b(`)p
+Fy(-c)p FD(')178 2237 y(Long)g(options:)41 b(`)p Fy(--no-coords)p
+FD(',)28 b(`)p Fy(--no-crd)p FD(',)h(`)p Fy(--crd)p FD(',)g(`)p
+Fy(--coords)p FD(')p 3803 2372 V 150 2423 a Fk(\012)p
+200 2423 3554 4 v 3553 w(\011)275 2597 y FD(By)c(default,)h(co)s
+(ordinates)g(v)-5 b(ariables)25 b(asso)s(ciated)i(with)d(an)m(y)h(v)-5
+b(ariable)26 b(app)s(earing)f(in)f(the)h Fz(input-\014le)150
+2707 y FD(will)30 b(b)s(e)g(placed)g(in)g(the)g Fz(output-\014le)p
+FD(,)g(ev)m(en)h(if)f(they)g(are)g(not)h(explicitly)g(sp)s(eci\014ed,)f
+(e.g.,)h(with)f(the)g(`)p Fy(-v)p FD(')150 2817 y(switc)m(h.)46
+b(Th)m(us)31 b(v)-5 b(ariables)33 b(with)f(a)g(latitude)h(co)s
+(ordinate)g Fy(lat)e FD(alw)m(a)m(ys)j(carry)e(the)g(v)-5
+b(alues)33 b(of)f Fy(lat)f FD(with)150 2926 y(them)39
+b(in)m(to)h(the)g Fz(output-\014le)p FD(.)67 b(This)39
+b(feature)g(can)h(b)s(e)e(disabled)h(with)g(`)p Fy(-C)p
+FD(',)j(whic)m(h)d(causes)g FC(NCO)g FD(to)150 3036 y(not)33
+b(automatically)j(add)d(co)s(ordinates)g(to)h(the)f(v)-5
+b(ariables)34 b(app)s(earing)f(in)g(the)g Fz(output-\014le)p
+FD(.)49 b(Ho)m(w)m(ev)m(er,)150 3145 y(using)35 b(`)p
+Fy(-C)p FD(')h(do)s(es)f(not)h(preclude)f(the)h(user)f(from)g
+(including)g(some)h(co)s(ordinates)h(in)e(the)h(output)f(\014les)150
+3255 y(simply)e(b)m(y)h(explicitly)i(selecting)g(the)e(co)s(ordinates)g
+(with)g(the)g Fz(-v)42 b FD(option.)52 b(The)34 b(`)p
+Fy(-c)p FD(')f(option,)j(on)e(the)150 3365 y(other)c(hand,)f(is)h(a)h
+(shorthand)e(w)m(a)m(y)h(of)h(automatically)h(sp)s(ecifying)e(that)h
+Fo(al)5 b(l)40 b FD(co)s(ordinate)31 b(v)-5 b(ariables)30
+b(in)150 3474 y(the)j Fz(input-\014les)j FD(should)c(app)s(ear)h(in)g
+(the)g Fz(output-\014le)p FD(.)49 b(Th)m(us)32 b(`)p
+Fy(-c)p FD(')g(allo)m(ws)j(the)e(user)f(to)i(select)h(all)f(the)150
+3584 y(co)s(ordinate)24 b(v)-5 b(ariables)24 b(without)f(ha)m(ving)h
+(to)g(kno)m(w)f(their)g(names.)38 b(As)23 b(of)h FC(NCO)f
+FD(v)m(ersion)g(3.9.6)i(\(Jan)m(uary)-8 b(,)150 3693
+y(2009\))36 b(b)s(oth)e(`)p Fy(-c)p FD(')g(and)g(`)p
+Fy(-C)p FD(')g(honor)g(the)h FC(CF)f Fy(coordinates)d
+FD(con)m(v)m(en)m(tion)37 b(describ)s(ed)c(in)h(Section)h(3.37)150
+3803 y([CF)30 b(Con)m(v)m(en)m(tions],)h(page)g(96.)41
+b(As)29 b(of)h FC(NCO)g FD(v)m(ersion)g(4.0.8)h(\(April,)f(2011\))i(b)s
+(oth)d(`)p Fy(-c)p FD(')g(and)g(`)p Fy(-C)p FD(')g(honor)150
+3913 y(the)i FC(CF)f Fy(bounds)f FD(con)m(v)m(en)m(tion)j(describ)s(ed)
+e(in)g(Section)h(3.37)h([CF)e(Con)m(v)m(en)m(tions],)i(page)g(96.)150
+4158 y FB(3.13)68 b(Group)45 b(P)l(ath)g(Editing)150
+4291 y Fk(\013)p 200 4291 V 3553 w(\010)p 150 4890 4
+551 v 178 4427 a FD(Options)30 b Fy(-G)g Fn(gpe_dsc)178
+4536 y FD(Av)-5 b(ailabilit)m(y:)43 b Fy(ncbo)p FD(,)30
+b Fy(ncecat)p FD(,)f Fy(nces)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 4646 y FD(Short)h(options:)41 b(`)p
+Fy(-G)p FD(')178 4755 y(Long)31 b(options:)41 b(`)p Fy(--gpe)p
+FD(')p 3803 4890 V 150 4941 a Fk(\012)p 200 4941 3554
+4 v 3553 w(\011)275 5121 y Fz(Group)h(P)m(ath)i(Editing)p
+FD(,)k(or)43 b FC(GPE)p FD(,)j(allo)m(ws)f(the)f(user)f(to)h
+(restructure)f(\(i.e.,)49 b(add,)d(remo)m(v)m(e,)j(and)150
+5230 y(rename)34 b(groups\))g(in)g(the)h(output)f(\014le)g(relativ)m(e)
+j(to)e(the)f(input)g(\014le)g(based)g(on)g(the)h(instructions)f(they)
+150 5340 y(pro)m(vide.)49 b(As)33 b(of)g FC(NCO)g FD(4.2.3)i(\(No)m(v)m
+(em)m(b)s(er,)g(2012\),)i(all)d(op)s(erators)f(that)g(accept)i(netCDF4)
+f(\014les)f(with)p eop end
+%%Page: 45 51
+TeXDict begin 45 50 bop 150 -116 a FD(Chapter)30 b(3:)41
+b(NCO)30 b(F)-8 b(eatures)2475 b(45)150 299 y(groups)36
+b(accept)j(the)e(`)p Fy(-G)p FD(')g(switc)m(h,)j(or)d(its)g
+(long-option)i(equiv)-5 b(alen)m(t)38 b(`)p Fy(--gpe)p
+FD('.)60 b(T)-8 b(o)38 b(master)f FC(GPE)g FD(one)150
+408 y(m)m(ust)24 b(understand)f(the)h(meaning)h(of)f(the)h(required)e
+Fz(gp)s(e)p 2090 408 28 4 v 40 w(dsc)30 b FD(structure/argumen)m(t)25
+b(that)g(sp)s(eci\014es)f(the)150 518 y(transformation)31
+b(of)f(input-to-output)h(group)f(paths.)275 682 y(Eac)m(h)h
+Fz(gp)s(e)p 646 682 V 39 w(dsc)36 b FD(con)m(tains)c(up)d(to)i(three)g
+(elemen)m(ts)g(\(t)m(w)m(o)h(are)f(optional\))h(in)e(the)h(follo)m
+(wing)g(order:)150 791 y Fz(gp)s(e)p 295 791 V 40 w(dsc)k
+FD(=)30 b Fz(grp)p 730 791 V 40 w(pth)p FD(:)p Fz(lvl)p
+1030 791 V 40 w(n)m(br)36 b FD(or)30 b Fz(grp)p 1484
+791 V 40 w(pth)p FD(@)p Fz(lvl)p 1830 791 V 40 w(n)m(br)150
+984 y(grp)p 288 984 V 40 w(pth)171 b FD(Group)33 b(P)m(ath.)51
+b(This)33 b(\(optional\))j(comp)s(onen)m(t)e(sp)s(eci\014es)f(the)h
+(output)g(group)f(path)g(that)630 1094 y(should)c(b)s(e)g(app)s(ended)f
+(after)i(an)m(y)g(editing)h(\(i.e.,)g(deletion)g(or)f(truncation\))g
+(of)g(the)g(input)630 1203 y(path)g(is)h(p)s(erformed.)150
+1371 y Fz(lvl)p 254 1371 V 40 w(n)m(br)207 b FD(The)35
+b(n)m(um)m(b)s(er)f(of)i(lev)m(els)g(to)h(delete)f(\(from)g(the)f
+(head\))h(or)f(truncate)h(\(from)f(the)h(tail\))h(of)630
+1481 y(the)31 b(input)e(path.)150 1674 y(If)34 b(b)s(oth)f(comp)s(onen)
+m(ts)h(of)h(the)f(argumen)m(t)g(are)h(presen)m(t,)g(then)f(a)g(single)h
+(c)m(haracter,)i(either)e(the)f(colon)150 1783 y(or)28
+b(at-sign)g(\()p Fy(:)g FD(or)g Fy(@)p FD(\),)g(m)m(ust)g(separate)g
+(them.)40 b(If)27 b(only)h Fz(grp)p 2179 1783 V 40 w(pth)f
+FD(is)g(sp)s(ecifed,)h(the)g(separator)g(c)m(haracter)150
+1893 y(ma)m(y)39 b(b)s(e)f(omitted,)j(e.g.,)h(`)p Fy(-G)30
+b(g1)p FD('.)65 b(If)38 b(only)g Fz(lvl)p 1834 1893 V
+41 w(n)m(br)43 b FD(is)c(sp)s(ecifed,)h(the)f(separator)g(c)m(haracter)
+h(is)e(still)150 2002 y(required)30 b(to)h(indicate)g(it)g(is)f(a)h
+Fz(lvl)p 1323 2002 V 41 w(n)m(br)36 b FD(arugmen)m(t)30
+b(and)g(not)h(a)g Fz(grp)p 2488 2002 V 39 w(pth)p FD(,)f(e.g.,)i(`)p
+Fy(-G)e(:-1)p FD(')g(or)g(`)p Fy(-G)g(@1)p FD('.)275
+2166 y(If)35 b(the)h(at-sign)g(separator)h(c)m(haracter)g
+Fy(@)e FD(is)h(used)f(instead)h(of)g(the)g(colon)g(separator)h(c)m
+(haracter)g Fy(:)p FD(,)150 2276 y(then)h(the)h(follo)m(wing)h
+Fz(lvl)p 1026 2276 V 40 w(n)m(br)k FD(arugmen)m(t)39
+b(m)m(ust)f(b)s(e)g(p)s(ositiv)m(e)i(and)e(it)g(will)h(b)s(e)f(assumed)
+g(to)h(refer)f(to)150 2385 y(T)-8 b(runcation-Mo)s(de.)46
+b(Hence,)34 b(`)p Fy(-G)c(:-1)p FD(')h(is)h(the)h(same)f(as)g(`)p
+Fy(-G)f(@1)p FD('.)45 b(This)31 b(is)h(simply)g(a)g(w)m(a)m(y)h(of)g
+(making)150 2495 y(the)e Fz(lvl)p 411 2495 V 40 w(n)m(br)36
+b FD(argumen)m(t)31 b(p)s(ositiv)m(e-de\014nite.)275
+2659 y FC(GPE)e FD(has)g(three)i(editing)f(mo)s(des:)40
+b(Delete,)33 b(T)-8 b(runcate,)30 b(and)g(Flatten.)42
+b(Select)31 b(one)f(of)h FC(GPE)p FD('s)e(three)150 2768
+y(editing)23 b(mo)s(des)f(b)m(y)g(supplying)f(a)i Fz(lvl)p
+1412 2768 V 40 w(n)m(br)28 b FD(that)23 b(is)g(p)s(ositiv)m(e,)i
+(negativ)m(e,)h(or)c(zero)i(for)e(Delete-,)k(T)-8 b(runcate-)150
+2878 y(and)30 b(Flatten-mo)s(de,)i(resp)s(ectiv)m(ely)-8
+b(.)275 3041 y(In)37 b(Delete-mo)s(de,)43 b Fz(lvl)p
+1062 3041 V 41 w(n)m(br)h FD(is)38 b(a)h(p)s(ositiv)m(e)g(in)m(teger)h
+(whic)m(h)f(sp)s(eci\014es)f(the)g(maxim)m(um)h(n)m(um)m(b)s(er)e(of)
+150 3151 y(group)28 b(path)g(comp)s(onen)m(ts)g(\(i.e.,)i(groups\))e
+(that)h FC(GPE)e FD(will)i(try)f(to)h(delete)g(from)f(the)g(head)g(of)h
+Fz(grp)p 3555 3151 V 39 w(pth)p FD(.)150 3261 y(F)-8
+b(or)42 b(example)h Fz(lvl)p 800 3261 V 44 w(n)m(br)49
+b FD(=)44 b(3)e(c)m(hanges)g(the)g(input)e(path)i Fy(/g1/g2/g3/g4/g5)37
+b FD(to)42 b(the)g(output)f(path)150 3370 y Fy(/g4/g5)p
+FD(.)e(Input)27 b(paths)i(with)g Fz(lvl)p 1307 3370 V
+40 w(n)m(br)35 b FD(or)29 b(few)m(er)h(comp)s(onen)m(ts)f(\(groups\))g
+(are)g(completely)i(erased)f(and)150 3480 y(the)h(output)f(path)g
+(commences)h(from)f(the)g(ro)s(ot)h(lev)m(el.)275 3643
+y(In)g(other)h(w)m(ords,)h FC(GPE)e FD(is)h(toleran)m(t)i(of)e(sp)s
+(ecifying)g(to)s(o)h(man)m(y)g(group)e(comp)s(onen)m(ts)i(to)f(delete.)
+48 b(It)150 3753 y(deletes)35 b(as)f(man)m(y)f(as)h(p)s(ossible,)g
+(without)g(complain)m(t,)i(and)d(then)g(b)s(egins)g(to)h(\015atten)g
+(the)g(\014le)g(\(whic)m(h)150 3863 y(will)d(fail)g(if)f(namespace)h
+(con\015icts)g(arise\).)275 4026 y(In)c(T)-8 b(runcate-mo)s(de,)29
+b Fz(lvl)p 1145 4026 V 40 w(n)m(br)34 b FD(is)28 b(a)g(negativ)m(e)i
+(in)m(teger)g(whic)m(h)d(sp)s(eci\014es)h(the)g(maxim)m(um)g(n)m(um)m
+(b)s(er)f(of)150 4136 y(group)e(path)f(comp)s(onen)m(ts)i(\(i.e.,)i
+(groups\))c(that)i FC(GPE)e FD(will)i(try)f(to)h(truncate)f(from)g(the)
+g(tail)i(of)e Fz(grp)p 3555 4136 V 39 w(pth)p FD(.)150
+4246 y(F)-8 b(or)37 b(example)h Fz(lvl)p 790 4246 V 44
+w(n)m(br)j FD(=)35 b FA(\000)p FD(3)i(c)m(hanges)h(the)e(input)g(path)g
+Fy(/g1/g2/g3/g4/g5)d FD(to)k(the)g(output)f(path)150
+4355 y Fy(/g1/g2)p FD(.)j(Input)27 b(paths)i(with)g Fz(lvl)p
+1307 4355 V 40 w(n)m(br)35 b FD(or)29 b(few)m(er)h(comp)s(onen)m(ts)f
+(\(groups\))g(are)g(completely)i(erased)f(and)150 4465
+y(the)h(output)f(path)g(commences)h(from)f(the)g(ro)s(ot)h(lev)m(el.)
+275 4628 y(In)i(Flatten-mo)s(de,)k(indicated)e(b)m(y)f(the)g(separator)
+h(c)m(haracter)h(alone)f(or)f(with)g Fz(lvl)p 3157 4628
+V 44 w(n)m(br)k FD(=)31 b(0,)36 b FC(GPE)150 4738 y FD(remo)m(v)m(es)28
+b(the)f(en)m(tire)g(group)f(path)g(from)g(the)h(input)e(\014le)i(and)f
+(constructs)h(the)f(output)g(path)h(b)s(eginning)150
+4848 y(at)41 b(the)f(ro)s(ot)h(lev)m(el.)72 b(F)-8 b(or)41
+b(example)g Fy(-G)30 b(:0)39 b FD(and)h Fy(-G)30 b(:)40
+b FD(are)g(iden)m(tical)i(and)e(c)m(hange)h(the)g(input)e(path)150
+4957 y Fy(/g1/g2/g3/g4/g5)h FD(to)45 b(the)f(output)g(path)g
+Fy(/)g FD(whereas)g Fy(-G)30 b(g1:0)43 b FD(and)h Fy(-G)30
+b(g1:)43 b FD(are)i(iden)m(tical)h(and)150 5067 y(result)30
+b(in)g(the)h(output)f(path)g Fy(/g1)f FD(for)i(all)g(v)-5
+b(ariables.)275 5230 y(Subsequen)m(t)24 b(to)i(the)f(alteration)i(of)f
+(the)f(input)f(path)h(b)m(y)g(the)h(sp)s(eci\014ed)e(editing)i(mo)s
+(de,)g(if)g(an)m(y)-8 b(,)27 b FC(GPE)150 5340 y FD(prep)s(ends)22
+b(\(in)i(Delete)j(Mo)s(de\))d(or)h(App)s(ends)d(\(in)i(T)-8
+b(runcate-mo)s(de\))25 b(an)m(y)f(sp)s(ecifed)g Fz(grp)p
+3139 5340 V 40 w(pth)f FD(to)i(the)f(out-)p eop end
+%%Page: 46 52
+TeXDict begin 46 51 bop 150 -116 a FD(46)2627 b FC(NCO)30
+b FD(4.4.2)j(User)d(Guide)150 299 y(put)25 b(path.)38
+b(F)-8 b(or)27 b(example)f Fy(-G)j(g2)c FD(c)m(hanges)i(the)e(input)f
+(paths)h Fy(/)g FD(and)g Fy(/g1)g FD(to)h Fy(/g2)e FD(and)h
+Fy(/g1/g2)p FD(,)g(resp)s(ec-)150 408 y(tiv)m(ely)-8
+b(.)56 b(Lik)m(ewise,)37 b Fy(-G)30 b(g2/g3)j FD(c)m(hanges)j(the)e
+(input)g(paths)g Fy(/)h FD(and)f Fy(/g1)g FD(to)h Fy(/g2/g3)e
+FD(and)h Fy(/g1/g2/g3)p FD(,)150 518 y(resp)s(ectiv)m(ely)-8
+b(.)42 b(When)29 b Fz(grp)p 1075 518 28 4 v 40 w(pth)f
+FD(and)h Fz(lvl)p 1554 518 V 40 w(n)m(br)35 b FD(are)29
+b(b)s(oth)g(sp)s(eci\014ed,)g(the)g(editing)h(actions)g(are)g(tak)m(en)
+g(in)150 628 y(sequence)e(so)g(that,)i(e.g.,)g Fy(-G)f(g1/g2:2)d
+FD(c)m(hanges)j(the)f(input)f(paths)h Fy(/)f FD(and)g
+Fy(/h1/h2/h3/h4)e FD(to)k Fy(/g1/g2)150 737 y FD(and)41
+b Fy(/g1/g2/h3/h4)p FD(,)f(resp)s(ectiv)m(ely)-8 b(.)75
+b(Lik)m(ewise,)45 b Fy(-G)30 b(g1/g2:-2)39 b FD(c)m(hanges)j(the)g
+(input)e(paths)h Fy(/)g FD(and)150 847 y Fy(/h1/h2/h3/h4)27
+b FD(to)k Fy(/g1/g2)e FD(and)h Fy(/h1/h2/g1/g2)p FD(,)d(resp)s(ectiv)m
+(ely)-8 b(.)275 1011 y(Com)m(bining)42 b FC(GPE)f FD(with)h(subsetting)
+g(\(see)h(Section)g(3.11)h([Subsetting)e(Files],)47 b(page)c(40\))h
+(yields)150 1121 y(p)s(o)m(w)m(erful)27 b(con)m(trol)j(o)m(v)m(er)f
+(the)f(extracted)i(\(or)e(excluded\))g(v)-5 b(ariables)29
+b(and)e(groups)g(and)h(their)f(placemen)m(t)150 1230
+y(in)43 b(the)g(output)g(\014le)h(as)f(sho)m(wn)g(b)m(y)g(the)h(follo)m
+(wing)g(commands.)79 b(All)44 b(commands)f(b)s(elo)m(w)h(ma)m(y)g(b)s
+(e)150 1340 y(assumed)30 b(to)h(end)e(with)i(`)p Fy(in.nc)e(out.nc)p
+FD('.)390 1504 y Fy(#)47 b(Prepending)e(paths)i(without)f(editing:)390
+1614 y(ncks)906 b(#)47 b(/g?/v?)f(->)h(/g?/v?)390 1724
+y(ncks)619 b(-v)48 b(v1)f(#)g(/g?/v1)f(->)h(/g?/v1)390
+1833 y(ncks)333 b(-g)47 b(g1)334 b(#)47 b(/g1/v?)f(->)h(/g1/v?)390
+1943 y(ncks)g(-G)g(o1)620 b(#)47 b(/g?/v?)f(->)h(/o1/g?/v?)390
+2052 y(ncks)g(-G)g(o1)g(-g)g(g1)334 b(#)47 b(/g1/v?)f(->)h(/o1/g1/v?)
+390 2162 y(ncks)333 b(-g)47 b(g1)g(-v)h(v1)f(#)g(/g1/v1)f(->)h(/g1/v1)
+390 2271 y(ncks)g(-G)g(o1)333 b(-v)48 b(v1)f(#)g(/g?/v1)f(->)h
+(/o1/g?/v1)390 2381 y(ncks)g(-G)g(o1)g(-g)g(g1)g(-v)h(v1)f(#)g(/g1/v1)f
+(->)h(/o1/g1/v1)390 2491 y(ncks)g(-G)g(g1)g(-g)g(/)95
+b(-v)48 b(v1)f(#)g(/v1)190 b(->)47 b(/g1/v1)390 2600
+y(ncks)g(-G)g(g1/g2)189 b(-v)48 b(v1)f(#)g(/g?/v1)f(->)h(/g1/g2/g?/v1)
+390 2710 y(#)g(Delete-mode:)e(Delete)h(from)h(and)g(Prepend)e(to)j
+(path)e(head)390 2819 y(#)h(Syntax:)f(-G)h([ppn]:lvl_nbr)e(=)i(#)h(of)f
+(levels)f(to)h(delete)390 2929 y(ncks)g(-G)g(:1)190 b(-g)47
+b(g1)191 b(-v)47 b(v1)g(#)h(/g1/v1)189 b(->)47 b(/v1)390
+3039 y(ncks)g(-G)g(:1)190 b(-g)47 b(g1/g1)g(-v)g(v1)g(#)h(/g1/g1/v1)d
+(->)i(/g1/v1)390 3148 y(ncks)g(-G)g(:2)190 b(-g)47 b(g1/g1)g(-v)g(v1)g
+(#)h(/g1/g1/v1)d(->)i(/v1)390 3258 y(ncks)g(-G)g(:2)190
+b(-g)47 b(g1)191 b(-v)47 b(v1)g(#)h(/g1/v1)189 b(->)47
+b(/v1)390 3367 y(ncks)g(-G)g(g2:1)94 b(-g)47 b(g1)191
+b(-v)47 b(v1)g(#)h(/g1/v1)189 b(->)47 b(/g2/v1)390 3477
+y(ncks)g(-G)g(g2:2)94 b(-g)47 b(g1/g1)g(-v)g(v1)g(#)h(/g1/g1/v1)d(->)i
+(/g2/v1)390 3587 y(ncks)g(-G)g(g2:1)94 b(-g)47 b(/)239
+b(-v)47 b(v1)g(#)h(/v1)333 b(->)47 b(/g2/v1)390 3696
+y(ncks)g(-G)g(g2:1)524 b(-v)47 b(v1)g(#)h(/v1)333 b(->)47
+b(/g2/v1)390 3806 y(ncks)g(-G)g(g2:1)94 b(-g)47 b(g1/g1)g(-v)g(v1)g(#)h
+(/g1/g1/v1)d(->)i(/g2/g1/v1)390 3915 y(#)g(Flatten-mode:)e(Remove)h
+(all)h(input)f(path)h(components)390 4025 y(#)g(Syntax:)f(-G)h([apn]:)g
+(colon)f(without)g(numerical)f(argument)390 4134 y(ncks)i(-G)g(:)572
+b(-v)47 b(v1)h(#)f(/g?/v1)189 b(->)48 b(/v1)390 4244
+y(ncks)f(-G)g(:)143 b(-g)47 b(g1)190 b(-v)47 b(v1)h(#)f(/g1/v1)189
+b(->)48 b(/v1)390 4354 y(ncks)f(-G)g(:)143 b(-g)47 b(g1/g1)f(-v)h(v1)h
+(#)f(/g1/g1/v1)e(->)j(/v1)390 4463 y(ncks)f(-G)g(g2:)476
+b(-v)47 b(v1)h(#)f(/g?/v1)189 b(->)48 b(/g2/v1)390 4573
+y(ncks)f(-G)g(g2:)763 b(#)47 b(/g?/v?)189 b(->)48 b(/g2/v?)390
+4682 y(ncks)f(-G)g(g2:)g(-g)g(g1/g1)f(-v)h(v1)h(#)f(/g1/g1/v1)e(->)j
+(/g2/v1)390 4792 y(#)f(Truncate-mode:)d(Truncate)i(from)h(and)f(Append)
+h(to)g(path)f(tail)390 4902 y(#)h(Syntax:)f(-G)h([apn]:-lvl_nbr)d(=)k
+(#)f(of)g(levels)g(to)g(truncate)390 5011 y(#)g(NB:)g(-G)h
+([apn]:-lvl_nbr)43 b(is)48 b(equivalent)d(to)i(-G)g([apn]@lvl_nbr)390
+5121 y(ncks)g(-G)g(:-1)142 b(-g)47 b(g1)191 b(-v)47 b(v1)g(#)h(/g1/v1)
+189 b(->)47 b(/v1)390 5230 y(ncks)g(-G)g(:-1)142 b(-g)47
+b(g1/g2)g(-v)g(v1)g(#)h(/g1/g2/v1)d(->)i(/g1/v1)390 5340
+y(ncks)g(-G)g(:-2)142 b(-g)47 b(g1/g2)g(-v)g(v1)g(#)h(/g1/g2/v1)d(->)i
+(/v1)p eop end
+%%Page: 47 53
+TeXDict begin 47 52 bop 150 -116 a FD(Chapter)30 b(3:)41
+b(NCO)30 b(F)-8 b(eatures)2475 b(47)390 299 y Fy(ncks)47
+b(-G)g(:-2)142 b(-g)47 b(g1)191 b(-v)47 b(v1)g(#)h(/g1/v1)189
+b(->)47 b(/v1)390 408 y(ncks)g(-G)g(g2:-1)476 b(-v)47
+b(v1)g(#)h(/g?/v1)189 b(->)47 b(/g2/v1)390 518 y(ncks)g(-G)g(g2:-1)f
+(-g)h(g1)191 b(-v)47 b(v1)g(#)h(/g1/v1)189 b(->)47 b(/g2/v1)390
+628 y(ncks)g(-G)g(g1:-1)f(-g)h(g1/g2)g(-v)g(v1)g(#)h(/g1/g2/v1)d(->)i
+(/g1/g1/v1)275 794 y FD(Un)m(til)35 b(fall)h(2013)h(\(netCDF)f(v)m
+(ersion)f(4.3.1-pre1\),)k(netCDF)d(con)m(tained)g(no)f(library)f
+(function)h(for)150 904 y(renaming)44 b(groups,)j(and)c(therefore)i
+Fy(ncrename)c FD(cannot)k(rename)f(groups.)81 b(Ho)m(w)m(ev)m(er,)49
+b FC(NCO)44 b FD(built)150 1013 y(on)35 b(earlier)h(v)m(ersions)g(of)f
+(netCDF)h(than)f(4.3.1)h(can)g(use)f(a)g FC(GPE)p FD(-based)g(w)m(ork)
+-5 b(around)34 b(mec)m(hanism)h(to)150 1123 y(\\rename")44
+b(groups.)76 b(The)42 b FC(GPE)g FD(mec)m(hanism)h(actually)h
+Fo(moves)50 b FD(\(i.e.,)d(copies)d(to)f(a)g(new)f(lo)s(cation\))150
+1232 y(groups,)29 b(a)g(more)g(arduous)f(pro)s(cedure)g(than)h(simply)f
+(renaming)h(them.)41 b FC(GPE)28 b FD(applies)h(to)h(all)f(selected)150
+1342 y(groups,)38 b(so,)g(in)e(the)h(general)g(case,)i(one)e(m)m(ust)f
+(mo)m(v)m(e)i(only)f(the)g(desired)e(group)h(to)h(a)g(new)f(\014le,)j
+(and)150 1452 y(then)27 b(merge)i(that)f(new)f(\014le)h(with)f(the)h
+(original)h(to)f(obtain)g(a)g(\014le)g(where)f(the)h(desired)f(group)g
+(has)h(b)s(een)150 1561 y(\\renamed")38 b(and)g(all)g(else)h(is)f(unc)m
+(hanged.)62 b(Here)39 b(is)f(ho)m(w)f(to)i(\\rename")g(group)e
+Fy(/g4)g FD(to)i(group)e Fy(/f4)150 1671 y FD(with)30
+b FC(GPE)g FD(instead)g(of)h Fy(ncrename)390 1837 y(ncks)47
+b(-O)g(-G)g(f4:1)g(-g)g(g4)g(~/nco/data/in_grp.nc)42
+b(~/tmp.nc)k(#)h(Move)g(/g4)g(to)g(/f4)390 1947 y(ncks)g(-O)g(-x)g(-g)g
+(g4)g(~/nco/data/in_grp.nc)c(~/out.nc)i(#)j(Excise)e(/g4)390
+2056 y(ncks)h(-A)g(~/tmp.nc)e(~/out.nc)h(#)h(Add)g(/f4)g(to)g(new)g
+(file)275 2223 y FD(If)40 b(the)i(original)g(group)f
+Fy(g4)g FD(is)g(not)h(excised)g(from)f Fy(out.nc)e FD(\(step)j(t)m(w)m
+(o)h(ab)s(o)m(v)m(e\),)j(then)41 b(the)g(\014nal)150
+2332 y(output)33 b(\014le)h(w)m(ould)f(con)m(tain)i(b)s(oth)e
+Fy(g4)g FD(and)g(a)h(cop)m(y)g(named)g Fy(f4)p FD(.)49
+b(Th)m(us)33 b(GPE)h(can)g(b)s(e)e(used)h(to)i(b)s(oth)150
+2442 y(\\rename")d(and)e(cop)m(y)i(groups.)41 b(The)31
+b(recommended)f(w)m(a)m(y)i(to)f(rename)g(groups)g(when)e(when)h
+(netCDF)150 2552 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 2661 y(page)g(198\).)275
+2827 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 2937 y(1.)41 b(Obtaining)d(\015at)g(netCDF3)i(\014les)e
+(for)f(use)h(with)g(to)s(ols)h(that)f(do)g(not)h(w)m(ork)f(with)g
+(netCDF4)h(\014les,)150 3047 y(2.)i(Splitting)36 b(apart)g(hierarc)m
+(hies)g(to)h(re-assem)m(ble)g(in)m(to)f(di\013eren)m(t)h(hierarc)m
+(hies,)g(and)e(3.)42 b(Pro)m(viding)36 b(a)150 3156 y(subset)30
+b(of)g(a)h(hierarc)m(hical)h(\014le)e(with)g(the)h(simplest)g(p)s
+(ossible)f(storage)h(structure.)390 3323 y Fy(ncks)47
+b(-O)g(-G)g(:)g(-g)h(cesm)e(-3)h(~/nco/data/cmip5.nc)c(~/cesm.nc)i(#)j
+(Extract)e(/cesm)g(to)h(/)275 3489 y FD(The)39 b Fy(-3)f
+FD(switc)m(h)855 3456 y Ft(13)966 3489 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 3599 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
+(the)g Fy(cesm)e FD(group)150 3708 y(and)f(lea)m(v)m(es)i(all)g(other)e
+(groups)g(\(e.g.,)i Fy(ecmwf)p FD(,)d Fy(giss)p FD(\).)275
+3875 y(Let)36 b(us)f(sho)m(w)h(ho)m(w)g(to)g(completely)i(disaggregate)
+g(\(or,)g(more)e(memorably\))h Fo(dismemb)-5 b(er)47
+b FD(a)36 b(hier-)150 3984 y(arc)m(hical)43 b(dataset.)76
+b(F)-8 b(or)42 b(no)m(w)g(w)m(e)g(tak)m(e)h(this)e(to)i(mean:)63
+b(store)42 b(eac)m(h)h(group)e(as)h(a)f(standalone)i(\015at)150
+4094 y(dataset)c(in)e(netCDF3)i(format.)63 b(This)37
+b(can)h(b)s(e)f(accomplished)i(b)m(y)e(lo)s(oping)h(the)g(previous)f
+(example)150 4203 y(o)m(v)m(er)h(all)g(groups.)59 b(This)36
+b(script)h Fy(ncdismember)d FD(dismem)m(b)s(ers)h(the)i(input)f(\014le)
+h Fz(\015)p 2992 4203 28 4 v 40 w(in)f FD(sp)s(eci\014ed)g(in)h(the)150
+4313 y(\014rst)26 b(argumen)m(t)i(and)f(places)h(the)f(resulting)g
+(\014les)g(in)g(the)g(directory)h Fz(drc)p 2653 4313
+V 40 w(out)h FD(sp)s(eci\014ed)d(b)m(y)i(the)f(second)150
+4423 y(argumen)m(t:)390 4589 y Fy(cat)47 b(>)g(~/ncdismember)e(<<)i
+('EOF')390 4699 y(#)g(Purpose:)f(Dismember)f(netCDF4/HDF5)g
+(hierarchical)f(files.)i(CF-check)g(them.)390 4808 y(#)h(Place)g(each)f
+(input)h(file)f(group)h(in)g(separate)f(netCDF3)f(output)h(file)390
+4918 y(#)h(Described)f(in)h(NCO)g(User)f(Guide)h(at)g
+(http://nco.sf.net/nco.ht)o(ml#d)o(isme)o(mbe)o(r)390
+5027 y(#)g(Requirements:)e(NCO)i(4.3.x+,)e(UNIX)i(shell)f(utilities)g
+(awk,)g(grep,)h(sed)p 150 5154 1200 4 v 166 5221 a Ft(13)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 5340 y Fp(GPE)25 b Fs(implemen)n(tation)i(whic)n(h)e(w)n(e)i
+(wish)f(to)g(remo)n(v)n(e)f(in)h(the)f(future.)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.2)j(User)d(Guide)390 299 y Fy(#)47 b(Optional:)f(CFchecker)f
+(command)h(https://bitbucket.org/md)o(e_/)o(cfch)o(ecke)o(r)390
+518 y(#)h(Usage:)390 628 y(#)g(ncdismember)e(<fl_in>)h(<drc_out>)f
+([flg_cf])h([cf_vrs])f([opt])390 737 y(#)i(where)g(fl_in)f(is)h(input)g
+(file/URL)e(to)i(dismember,)e(drc_out)h(is)h(output)g(directory,)390
+847 y(#)g(CF-compliance)e(check)h(is)h(performed)e(when)i(optional)f
+(third)g(argument)g(is)h('cf',)390 956 y(#)g(Optional)f(fourth)g
+(argument)g(cf_vrs)g(is)h(CF)g(version)f(to)h(check)390
+1066 y(#)g(Optional)f(fifth)g(argument)g(opt)h(passes)f(straight)f
+(through)h(to)h(ncks)390 1176 y(#)g(chmod)g(a+x)g(~/sh/ncdismember)390
+1285 y(#)g(ncdismember)e(~/nco/data/mdl.nc)e(/data/zender/nco/tmp)390
+1395 y(#)k(ncdismember)e(~/nco/data/mdl.nc)e(/data/zender/nco/tmp)390
+1504 y(#)k(ncdismember)e(http://dust.ess.uci.edu/n)o(co/m)o(dl.)o(nc)d
+(/data/zender/nco/tmp)390 1614 y(#)47 b(ncdismember)e
+(http://thredds-test.ucar.)o(edu/)o(thr)o(edds)o(/dod)o(sC/)o(test)o
+(dods)o(/fo)o(o.nc)c(/data/zender/nco/tmp)390 1724 y(#)47
+b(ncdismember)e(~/nco/data/mdl.nc)e(/data/zender/nco/tmp)g(cf)390
+1833 y(#)k(ncdismember)e(~/nco/data/mdl.nc)e(/data/zender/nco/tmp)g(cf)
+k(1.3)390 1943 y(#)g(ncdismember)e(~/nco/data/mdl.nc)e
+(/data/zender/nco/tmp)g(cf)k(1.5)g(--fix_rec_dmn=all)390
+2162 y(#)g(Command)f(line)h(argument)e(defaults)390 2271
+y(fl_in="${HOME}/nco/data/)o(mdl.)o(nc")c(#)48 b([sng])e(Input)g(file)h
+(to)g(dismember/check)390 2381 y(drc_out="${DATA}/nco/tmp)o(")42
+b(#)47 b([sng])g(Output)f(directory)390 2491 y(flg_cf='0')f(#)i([flg])g
+(Perform)f(CF-compliance)e(check)390 2600 y(cf_vrs='1.5')g(#)k([sng])e
+(Compliance-check)e(this)i(CF)h(version)f(\(e.g.,)g('1.5'\))390
+2710 y(opt='')g(#)i([flg])e(Additional)f(ncks)i(options)e(\(e.g.,)h
+('--fix_rec_dmn=all'\))390 2929 y(#)h(Command)f(line)h(argument)e
+(option)i(parsing)390 3039 y(if)g([)h(-n)f("${1}")f(];)h(then)g
+(fl_in=${1};)d(fi)390 3148 y(if)j([)h(-n)f("${2}")f(];)h(then)g
+(drc_out=${2};)d(fi)390 3258 y(if)j([)h(-n)f("${3}")f(];)h(then)g
+(flg_cf=${3};)d(fi)390 3367 y(if)j([)h(-n)f("${4}")f(];)h(then)g
+(cf_vrs=${4};)d(fi)390 3477 y(if)j([)h(-n)f("${5}")f(];)h(then)g
+(opt=${5};)e(fi)390 3696 y(#)i(Prepare)f(output)g(directory)390
+3806 y(echo)h("NCO)f(dismembering)f(file)h(${fl_in}")390
+3915 y(fl_stb=$\(basename)d(${fl_in}\))390 4025 y
+(drc_out=${drc_out}/${fl_)o(stb})390 4134 y(mkdir)j(-p)i(${drc_out})390
+4244 y(cd)f(${drc_out})390 4354 y(#)g(Obtain)g(group)f(list)390
+4463 y(grp_lst=`ncks)e(--cdl)j(-m)g(${fl_in})e(|)j(grep)e('//)h(group')
+f(|)i(awk)f('{$1=$2=$3="";sub\(/^)90 b(*/,"",$0\);print}'`)390
+4573 y(IFS=$'\\n')45 b(#)j(Change)e(Internal-Field-Separator)41
+b(from)47 b(<Space><Tab><Newline>)42 b(to)47 b(<Newline>)390
+4682 y(for)g(grp_in)f(in)h(${grp_lst})e(;)j(do)581 4792
+y(#)f(Replace)f(slashes)g(by)h(dots)g(for)g(output)f(group)g(filenames)
+581 4902 y(grp_out=`echo)e(${grp_in})h(|)j(sed)f('s/\\///')e(|)j(sed)f
+('s/\\//./g'`)581 5011 y(if)g([)h("${grp_out}")c(=)j('')h(];)f(then)f
+(grp_out='root')e(;)k(fi)581 5121 y(#)f(Tell)g(older)f(NCO/netCDF)f(if)
+j(HDF4)e(with)h(--hdf4)f(switch)g(\(signified)f(by)i(.hdf/.HDF)e
+(suffix\))581 5230 y(hdf4=`echo)g(${fl_in})g(|)j(awk)f
+('{if\(match\(tolower\($1\),")o(.hd)o(f$"\))o(\))42 b(hdf4="--hdf4";)i
+(print)i(hdf4}'`)581 5340 y(#)h(Flatten)f(to)h(netCDF3,)f(anchor,)g(no)
+h(history,)e(no)j(temporary)d(file,)h(padding,)g(HDF4)g(flag,)h
+(options)p eop end
+%%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)581 299 y Fy(ncks)47
+b(-O)g(-3)g(-G)g(:)h(-g)f(${grp_in}/)e(-h)i(--no_tmp_fl)e(--hdr_pad=40)
+f(${hdf4})i(${opt})g(${fl_in})f(${drc_out}/${grp_out}.nc)581
+408 y(if)i([)h(${flg_cf})d(=)i('cf')g(];)g(then)724 518
+y(#)h(cfchecker)d(needs)h(Conventions)f(<=)i(1.5)724
+628 y(ncatted)f(-h)h(-a)g(Conventions,global,o,c,"C)o(F-${)o(cf_v)o
+(rs})o(")42 b(${drc_out}/${grp_out}.nc)581 737 y(else)47
+b(#)g(!flg_cf)724 847 y(echo)g(${drc_out}/${grp_out}.n)o(c)581
+956 y(fi)g(#)h(!flg_cf)390 1066 y(done)390 1176 y(if)f([)h(${flg_cf})d
+(=)i('cf')g(];)g(then)581 1285 y(echo)g("CFchecker)e(reports)g
+(CF-compliance)g(of)i(each)f(group)h(in)g(flat)g(netCDF3)e(format")581
+1395 y(cfchecker)g(-c)i(${cf_vrs})f(*.nc)390 1504 y(fi)h(#)h(!flg_cf)
+390 1614 y(EOF)390 1724 y(chmod)e(755)h(~/ncdismember)d(#)k(Make)f
+(command)e(executable)390 1833 y(/bin/mv)h(-f)h(~/ncdismember)d(~/sh)j
+(#)g(Store)g(in)g(location)e(on)j($PATH,)e(e.g.,)g(/usr/local/bin)390
+2052 y(zender at roulee:~$)d(ncdismember)i(~/nco/data/mdl.nc)e
+(${DATA}/nco/tmp)390 2162 y(NCO)k(dismembering)d(file)j
+(/home/zender/nco/data/md)o(l.nc)390 2271 y(/data/zender/nco/tmp/mdl)o
+(.nc/)o(cesm)o(.ce)o(sm_0)o(1.nc)390 2381 y(/data/zender/nco/tmp/mdl)o
+(.nc/)o(cesm)o(.ce)o(sm_0)o(2.nc)390 2491 y(/data/zender/nco/tmp/mdl)o
+(.nc/)o(cesm)o(.nc)390 2600 y(/data/zender/nco/tmp/mdl)o(.nc/)o(ecmw)o
+(f.e)o(cmwf)o(_01.)o(nc)390 2710 y(/data/zender/nco/tmp/mdl)o(.nc/)o
+(ecmw)o(f.e)o(cmwf)o(_02.)o(nc)390 2819 y(/data/zender/nco/tmp/mdl)o
+(.nc/)o(ecmw)o(f.n)o(c)390 2929 y(/data/zender/nco/tmp/mdl)o(.nc/)o
+(root)o(.nc)275 3089 y FD(A)20 b(\(p)s(oten)m(tially)j(more)d(p)s
+(ortable\))h(binary)f(executable)i(could)f(b)s(e)f(written)g(to)i
+(dismem)m(b)s(er)d(all)j(groups)150 3199 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 3308
+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
+3418 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 3527 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 3637 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 3747 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 Fy(-3)p FD(')h(switc)m(h\))g(that)g(output)f(b)s(e)150
+3856 y(netCDF3)33 b(classic)h(format.)45 b(Ho)m(w)m(ev)m(er,)35
+b Fy(ncks)c FD(detects)i(man)m(y)f(format)h(incompatibilities)h(in)d
+(adv)-5 b(ance)150 3966 y(and)23 b(w)m(orks)i(around)e(them.)38
+b(F)-8 b(or)25 b(example,)h Fy(ncks)d FD(auto)s(con)m(v)m(erts)j
+(netCDF4-only)g(atomic-t)m(yp)s(es)g(\(suc)m(h)150 4075
+y(as)36 b Fy(NC_STRING)c FD(and)j Fy(NC_UBYTE)p FD(\))e(to)j(corresp)s
+(onding)f(netCDF3)h(atomic)h(t)m(yp)s(es)e(\()p Fy(NC_CHAR)f
+FD(and)h Fy(NC_)150 4185 y(SHORT)p FD(\))29 b(when)h(the)g(output)g
+(format)h(is)f(netCDF3.)275 4345 y(One)44 b(application)j(of)e(dismem)m
+(b)s(ering)g(is)g(to)h(c)m(hec)m(k)h(the)e FC(CF)p FD(-compliance)i(of)
+f(eac)m(h)g(group)f(in)g(a)150 4455 y(\014le.)54 b(When)35
+b(in)m(v)m(ok)m(ed)h(with)f(the)g(optional)h(third)e(argumn)m(t)h(`)p
+Fy(cf)p FD(',)h Fy(ncdismember)c FD(passes)i(eac)m(h)i(\014le)f(it)150
+4564 y(generates)d(to)f(the)f(freely)h(a)m(v)-5 b(ailable)1406
+4531 y Ft(14)1509 4564 y Fy(cfchecker)28 b FD(command.)390
+4724 y Fy(zender at roulee:~$)43 b(ncdismember)i(~/nco/data/mdl.nc)e
+(/data/zender/nco/tmp)f(cf)390 4834 y(NCO)47 b(dismembering)d(file)j
+(/home/zender/nco/data/md)o(l.nc)390 4943 y(CFchecker)e(reports)h
+(CF-compliance)e(of)j(each)g(group)f(in)i(flat)e(netCDF3)g(format)390
+5053 y(WARNING:)g(Using)g(the)h(default)f(\(non-CF\))f(Udunits)h
+(database)p 150 5154 1200 4 v 166 5221 a Ft(14)275 5253
+y Fs(CFc)n(hec)n(k)n(er)32 b(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 Fr
+(https://bitbucket.org/mde_/c)q(fche)q(cker)p Fs(.)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.2)j(User)d(Guide)390 299 y Fy(cesm.cesm_01.nc:)390
+408 y(INFO:)46 b(INIT:)238 b(running)45 b(CFchecker)h(version)g(1.5.15)
+390 518 y(INFO:)g(INIT:)238 b(checking)45 b(compliance)g(with)i
+(convention)e(CF-1.5)390 628 y(INFO:)h(INIT:)238 b(using)46
+b(standard)g(name)g(table)h(version:)e(25,)i(last)g(modified:)e
+(2013-07-05T05:40:30Z)390 737 y(INFO:)h(INIT:)238 b(using)46
+b(area)h(type)f(table)h(version:)e(2,)i(date:)g(10)g(July)g(2013)390
+847 y(INFO:)f(2.4:)286 b(no)47 b(axis)f(information)f(found)i(in)g
+(dimension)e(variables,)g(not)i(checking)e(dimension)h(order)390
+956 y(WARNING:)g(3:)238 b(variable)45 b("tas1")h(contains)g(neither)g
+(long_name)f(nor)i(standard_name)d(attribute)390 1066
+y(WARNING:)i(3:)238 b(variable)45 b("tas2")h(contains)g(neither)g
+(long_name)f(nor)i(standard_name)d(attribute)390 1176
+y(INFO:)i(3.1:)286 b(variable)45 b("tas1")h(does)h(not)g(contain)f
+(units)g(attribute)390 1285 y(INFO:)g(3.1:)286 b(variable)45
+b("tas2")h(does)h(not)g(contain)f(units)g(attribute)390
+1395 y(------------------------)o(----)o(----)o(---)o(----)o(----)o
+(---)o(----)390 1504 y(cesm.cesm_02.nc:)390 1614 y(...)275
+1778 y FD(By)28 b(default)g(the)g FC(CF)h FD(v)m(ersion)f(c)m(hec)m(k)m
+(ed)i(is)e(determined)g(automatically)j(b)m(y)d Fy(cfchecker)p
+FD(.)37 b(The)28 b(user)150 1888 y(can)36 b(o)m(v)m(erride)h(this)f
+(default)g(b)m(y)g(supplying)f(a)h(supp)s(orted)e FC(CF)i
+FD(v)m(ersion,)i(e.g.,)h(`)p Fy(1.3)p FD(',)e(as)f(an)g(optional)150
+1998 y(fourth)e(argumen)m(t)i(to)g Fy(ncdismember)p FD(.)53
+b(Curren)m(t)34 b(v)-5 b(alid)36 b FC(CF)f FD(options)h(are)g(`)p
+Fy(1.0)p FD(',)g(`)p Fy(1.1)p FD(',)h(`)p Fy(1.2)p FD(',)f(`)p
+Fy(1.3)p FD(',)150 2107 y(`)p Fy(1.4)p FD(',)30 b(and)g(`)p
+Fy(1.5)p FD('.)275 2271 y(Our)i(dev)m(elopmen)m(t)j(and)f(testing)g(of)
+g Fy(ncdismember)d FD(is)j(funded)e(b)m(y)i(our)f(in)m(v)m(olv)m(emen)m
+(t)j(in)e FC(NASA)p FD('s)150 2381 y(Dataset)k(In)m(terop)s(erabilit)m
+(y)f(W)-8 b(orking)37 b(Group)f(\(DIW)m(G)i(\()p Fy(https:)5
+b(/)g(/)t(wiki)g(.)t(ear)o(thda)o(ta)t(.)t(n)o(asa)t(.)s(gov)t(/)150
+2491 y(display)s(/)s(ESDSWG)s(/)s(Dataset+)o(Inte)o(rope)o(rab)o(ilit)o
+(y+Wo)o(rki)o(ng+G)o(roup)o FD(\)\),)31 b(though)j(our)g(in)m(terest)h
+(ex-)150 2600 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)150 2710 y(atomic)j(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 2819
+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(for)h(b)s(oth)f(dismem)m(b)s(ering)g
+(hierarc)m(hi-)150 2929 y(cal)33 b(\014les)g(and)f(for)g
+FC(CF)p FD(-compliance)i(c)m(hec)m(ks.)48 b(Most)34 b
+FC(HDF4)e FD(and)g FC(HDF5)h FD(datasets)g(can)g(b)s(e)f(c)m(hec)m(k)m
+(ed)i(for)150 3039 y FC(CF)p FD(-compliance)39 b(with)f(a)g(one-line)g
+(command.)63 b(Example)37 b(compliance)i(c)m(hec)m(ks)g(of)f(common)g
+FC(NASA)150 3148 y FD(datasets)j(are)f(at)h Fy(http:)8
+b(/)g(/)e(dust)i(.)e(ess)i(.)e(u)o(ci)h(.)f(ed)o(u)i(/)d(diwg)o
+FD(.)63 b(Our)39 b(long-term)h(goal)i(is)d(to)i(enric)m(h)f(the)150
+3258 y(hierarc)m(hical)32 b(data)f(mo)s(del)f(with)g(the)h(expressivit)
+m(y)g(and)f(syn)m(tactic)i(p)s(o)m(w)m(er)f(of)f FC(CF)h
+FD(con)m(v)m(en)m(tions.)275 3422 y FC(NASA)37 b FD(ask)m(ed)g(the)f
+FC(DIW)n(G)h FD(to)g(prepare)f(a)h(one-page)h(summary)d(of)i(the)f(pro)
+s(cedure)f(necessary)i(to)150 3532 y(c)m(hec)m(k)32 b
+FC(HDF)f FD(\014les)f(for)h FC(CF)p FD(-compliance:)390
+3696 y Fy(cat)47 b(>)g(~/ncdismember.txt)c(<<)48 b('EOF')581
+3806 y(Preparing)d(an)i(RPM-based)f(OS)h(to)g(Test)g(Hierarchical)d
+(Files)i(for)h(CF-Compliance)390 4025 y(By)g(Charlie)f(Zender,)g(UCI)h
+(&)g(NASA)g(Dataset)f(Interoperability)d(Working)j(Group)g(\(DIWG\))390
+4244 y(Installation)e(Summary:)390 4354 y(1.)j(HDF4)g([with)f(netCDF)g
+(support)g(_disabled_])390 4463 y(2.)h(HDF5)390 4573
+y(3.)g(netCDF)f(version)g(4.3.1)g(\(or)h(later\))f([with)h(HDF4)f
+(support)g(_enabled_])390 4682 y(4.)h(NCO)g(version)f(4.4.0)g(\(or)h
+(later\))390 4792 y(5.)g(numpy)390 4902 y(6.)g(netcdf4-python)390
+5011 y(7.)g(python-lxml)390 5121 y(8.)g(CFunits-python)390
+5230 y(9.)g(CFChecker)390 5340 y(10.)g(ncdismember)p
+eop end
+%%Page: 51 57
+TeXDict begin 51 56 bop 150 -116 a FD(Chapter)30 b(3:)41
+b(NCO)30 b(F)-8 b(eatures)2475 b(51)390 408 y Fy(All)47
+b(10)g(packages)f(can)h(use)f(default)g(installs)g(_except_)f(HDF4)i
+(and)g(netCDF.)390 518 y(Following)e(instructions)g(for)i(Fedora)f
+(Core)g(20)i(\(FC20\),)d(an)j(RPM-based)d(Linux)h(OS)390
+628 y(Feedback)g(and)g(changes)g(for)h(other)g(Linux-based)d(OS's)j
+(welcome)f(to)h(zender)f(at)h(uci.edu)390 737 y(${H4DIR},)e(${H5DIR},)h
+(${NETCDFDIR},)e(${NCODIR},)h(may)i(all)g(be)g(different)390
+847 y(For)g(simplicity)e(CZ)i(sets)g(them)f(all)h(to)g(/usr/local)390
+1066 y(#)g(1.)h(HDF4.)e(Build)g(in)i(non-default)c(manner.)i(Turn-off)g
+(its)h(own)f(netCDF)h(support.)390 1176 y(#)g(Per)g
+(http://www.unidata.ucar.ed)o(u/s)o(oftw)o(are/)o(net)o(cdf/)o(docs)o
+(/bu)o(ild_)o(hdf4)o(.ht)o(ml)390 1285 y(#)g(HDF4)g(support)f(not)h
+(necessary)e(though)h(it)h(makes)g(ncdismember)d(more)j(comprehensive)
+390 1395 y(wget)g(-c)g(http://www.hdfgroup.org/)o(ftp)o(/HDF)o(/HDF)o
+(_Cu)o(rren)o(t/sr)o(c/h)o(df-4)o(.2.9)o(.ta)o(r.gz)390
+1504 y(tar)g(xvzf)g(hdf-4.2.9.tar.gz)390 1614 y(cd)g(hdf-4.2.9)390
+1724 y(./configure)e(--enable-shared)e(--disable-netcdf)h
+(--disable-fortran)f(--prefix=${H4DIR})390 1833 y(make)k(&&)g(make)f
+(check)h(&&)g(make)g(install)390 2052 y(#)g(2.)h(HDF5.)e(Build)g
+(normally.)g(RPM)h(may)f(work)h(too.)g(Please)f(let)h(me)g(know)g(if)g
+(so.)390 2162 y(#)g(HDF5)g(is)g(a)h(necessary)d(pre-requisite)f(for)j
+(netCDF4)390 2271 y(wget)g(-c)g(ftp://ftp.unidata.ucar.e)o(du/)o(pub/)o
+(netc)o(df/)o(netc)o(df-4)o(/hd)o(f5-1)o(.8.1)o(1.t)o(ar.g)o(z)390
+2381 y(tar)g(xvzf)g(hdf5-1.8.11.tar.gz)390 2491 y(cd)g(hdf5-1.8.11)390
+2600 y(./configure)e(--enable-shared)e(--prefix=${H5DIR})390
+2710 y(make)k(&&)g(make)f(check)h(&&)g(make)g(install)390
+2929 y(#)g(3.)h(netCDF)e(version)g(4.3.1.)g(Build)g(in)h(non-default)e
+(manner)h(with)h(HDF4.)f(No)h(RPM.)390 3039 y(#)g(Per)g
+(http://www.unidata.ucar.ed)o(u/s)o(oftw)o(are/)o(net)o(cdf/)o(docs)o
+(/bu)o(ild_)o(hdf4)o(.ht)o(ml)390 3148 y(#)g(Earlier)f(versions)g(of)h
+(netCDF)f(may)h(fail)g(checking)e(some)i(HDF4)f(files)390
+3258 y(wget)h(-c)g(ftp://ftp.unidata.ucar.e)o(du/)o(pub/)o(netc)o(df/)o
+(netc)o(df-4)o(.3.)o(1.ta)o(r.gz)390 3367 y(tar)g(xvzf)g
+(netcdf-4.3.1.tar.gz)390 3477 y(cd)g(netcdf-4.3.1)390
+3587 y(CPPFLAGS="-I${H5DIR}/inc)o(lude)41 b(-I${H4DIR}/include")i(\\)
+390 3696 y(LDFLAGS="-L${H5DIR}/lib)e(-L${H4DIR}/lib")j(\\)390
+3806 y(./configure)h(--enable-hdf4)f(--enable-hdf4-file-tests)390
+3915 y(make)j(&&)g(make)f(check)h(&&)g(make)g(installas)390
+4134 y(#)g(4.)h(NCO)f(version)e(4.4.2.)h(No)i(RPM)f(for)f(this)h
+(version.)f(Must)g(install)g(by)h(hand.)390 4244 y(#)g(Earlier)f
+(versions)g(of)h(NCO)g(are)g(relatively)e(useless)h(for)h(ncdismember)
+390 4354 y(cd)g(${DATA}/tmp)390 4463 y(wget)g(http://nco.sourceforge.)o
+(net/)o(src)o(/nco)o(-4.4)o(.2.)o(tar.)o(gz)42 b(.)390
+4573 y(tar)47 b(xvzf)g(nco-4.4.2.tar.gz)390 4682 y(cd)g(nco-4.4.2)390
+4792 y(./configure)e(--prefix=${NCODIR})390 4902 y(make)i(&&)g(make)f
+(install)390 5121 y(#)h(5.)h(numpy)390 5230 y(sudo)f(yum)g(install)e
+(numpy)i(-y)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.2)j(User)d(Guide)390 299 y Fy(#)47 b(6.)h(netcdf4-python)390
+408 y(sudo)f(yum)g(install)e(netcdf4-python)f(-y)390
+628 y(#)j(7.)h(python-lxml)390 737 y(sudo)f(yum)g(install)e
+(python-lxml)g(-y)390 956 y(#)i(8.)h(CFunits-python.)43
+b(No)k(RPM)g(available.)e(Must)i(install)f(by)h(hand.)390
+1066 y(#)g(http://code.google.com/p/c)o(funi)o(ts-)o(pyth)o(on/)390
+1176 y(cd)g(${DATA}/tmp)390 1285 y(wget)g(http://cfunits-python.g)o
+(oogl)o(eco)o(de.c)o(om/f)o(ile)o(s/cf)o(unit)o(s-0)o(.9.6)o(.tar)o
+(.gz)41 b(.)390 1395 y(cd)47 b(cfunits-0.9.6)390 1504
+y(sudo)g(python)f(setup.py)f(install)390 1724 y(#)i(9.)h(CFChecker.)d
+(No)i(RPM)g(available.)e(Must)h(install)g(by)h(hand.)390
+1833 y(#)g(https://bitbucket.org/mde_)o(/cfc)o(hec)o(ker)390
+1943 y(cd)g(${DATA}/tmp)390 2052 y(wget)g(https://bitbucket.org/m)o
+(de_/)o(cfc)o(heck)o(er/d)o(own)o(load)o(s/CF)o(che)o(cker)o(-1.5)o
+(.15)o(.tar)o(.bz2)41 b(.)390 2162 y(tar)47 b(xvjf)g
+(CFchecker-1.5.15.tar.bz)o(2)390 2271 y(cd)g(CFchecker)390
+2381 y(sudo)g(python)f(setup.py)f(install)390 2600 y(#)i(10.)g
+(ncdismember.)e(Copy)h(script)h(from)f(http://nco.sf.net/nco.htm)o
+(l#nc)o(dis)o(memb)o(er)390 2710 y(#)h(Store)g(dismembered)e(files)h
+(somewhere,)f(e.g.,)h(${DATA}/nco/tmp/hdf)390 2819 y(mkdir)g(-p)i
+(${DATA}/nco/tmp/hdf)390 2929 y(#)f(Many)g(datasets)f(work)g(with)h(a)g
+(simpler)f(command...)390 3039 y(ncdismember)f(~/nco/data/in.nc)e
+(${DATA}/nco/tmp/hdf)g(cf)k(1.5)390 3148 y(ncdismember)e
+(~/nco/data/mdl.nc)e(${DATA}/nco/tmp/hdf)f(cf)48 b(1.5)390
+3258 y(ncdismember)d(${DATA}/hdf/AMSR_E_L2_R)o(ain_)o(V10_)o(200)o
+(9053)o(1232)o(6_A)o(.hdf)c(\\)963 3367 y(${DATA}/nco/tmp/hdf)h(cf)47
+b(1.5)390 3477 y(ncdismember)e(${DATA}/hdf/BUV-Nimbus0)o(4_L3)o(zm_v)o
+(01-)o(00-2)o(012m)o(020)o(3t14)o(4121)o(.h5)c(\\)963
+3587 y(${DATA}/nco/tmp/hdf)h(cf)47 b(1.5)390 3696 y(ncdismember)e
+(${DATA}/hdf/HIRDLS-Aura)o(_L3Z)o(AD_v)o(06-)o(00-0)o(0-c0)o(2_2)o
+(005d)o(022-)o(200)o(8d07)o(7.he)o(5)d(${DATA}/nco/tmp/hdf)g(cf)47
+b(1.5)390 3806 y(#)g(Some)g(datasets,)e(typically)h(.h5,)g(require)g
+(the)h(--fix_rec_dmn=all)c(argument)390 3915 y
+(ncdismember_${DATA}/hdf/)o(GATM)o(O_np)o(p_d)o(2010)o(0906)o(_t1)o
+(9351)o(91_e)o(193)o(5505)o(_b00)o(012)o(_c20)o(1107)o(071)o(5593)o
+(206)o(5809)o(_noa)o(a_o)o(ps.h)o(5)f(${DATA}/nco/tmp/hdf)g(cf)48
+b(1.5)e(--fix_rec_dmn=all)390 4025 y(ncdismember)f
+(${DATA}/hdf/mabel_l2_20)o(1309)o(27t2)o(018)o(00_0)o(08_1)o(.h5)c(\\)
+963 4134 y(${DATA}/nco/tmp/hdf)h(cf)47 b(1.5)g(--fix_rec_dmn=all)390
+4244 y(EOF)275 4540 y FD(A)24 b FC(PDF)h FD(v)m(ersion)g(of)g(these)g
+(instructions)g(is)g(a)m(v)-5 b(ailable)27 b(here)e(\()p
+Fy(http://dust.ess.uci.edu/)o(diwg)o(/)150 4649 y(ncdismember.pdf)p
+FD(\).)150 5290 y FB(3.14)68 b(C)45 b(and)g(F)-11 b(ortran)45
+b(Index)f(con)l(v)l(en)l(tions)p eop end
+%%Page: 53 59
+TeXDict begin 53 58 bop 150 -116 a FD(Chapter)30 b(3:)41
+b(NCO)30 b(F)-8 b(eatures)2475 b(53)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(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(-F)p FD(')178 407 y(Long)31 b(options:)41 b(`)p Fy(--fortran)p
+FD(')p 3803 541 V 150 593 a Fk(\012)p 200 593 3554 4
+v 3553 w(\011)275 764 y FD(The)30 b(`)p Fy(-F)p FD(')h(switc)m(h)h(c)m
+(hanges)g FC(NCO)f FD(to)h(read)g(and)e(write)i(with)f(the)g(F)-8
+b(ortran)32 b(index)f(con)m(v)m(en)m(tion.)46 b(By)150
+874 y(default,)34 b FC(NCO)e FD(uses)g(C-st)m(yle)i(\(0-based\))g
+(indices)e(for)h(all)g(I/O.)g(In)d(C)o(,)k(indices)f(coun)m(t)g(from)d
+(0)j(\(rather)150 984 y(than)d(1)q(\),)d(and)e(dimensions)f(are)i
+(ordered)f(from)g(slo)m(w)m(est)j(\(inner-most\))e(to)g(fastest)h
+(\(outer-most\))g(v)-5 b(ary-)150 1093 y(ing.)70 b(In)39
+b(F)-8 b(ortran,)44 b(indices)c(coun)m(t)g(from)30 b(1)41
+b(\(rather)f(than)30 b(0)q(\),)43 b(and)c(dimensions)g(are)i(ordered)e
+(from)150 1203 y(fastest)i(\(inner-most\))f(to)h(slo)m(w)m(est)h
+(\(outer-most\))f(v)-5 b(arying.)69 b(Hence)41 b(C)30
+b(and)39 b(F)-8 b(ortran)41 b(data)f(storage)150 1312
+y(con)m(v)m(en)m(tions)i(represen)m(t)f(mathematical)i(transp)s(oses)c
+(of)i(eac)m(hother.)72 b(Note)42 b(that)f(record)f(v)-5
+b(ariables)150 1422 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 1532 y(netCDF)c(P)m(erm)m(ute)
+g(Dimensions)f(Quic)m(kly],)i(page)f(186)h(for)d(tec)m(hniques)i(to)g
+(re-order)f(\(including)g(trans-)150 1641 y(p)s(ose\))30
+b(dimensions)g(and)g(to)h(rev)m(erse)g(data)g(storage)h(order.)275
+1802 y(Consider)f(a)h(\014le)g Fy(85.nc)f FD(con)m(taining)j(12)d(mon)m
+(ths)h(of)g(data)h(in)f(the)g(record)g(dimension)g Fy(time)p
+FD(.)44 b(The)150 1911 y(follo)m(wing)29 b(h)m(yp)s(erslab)d(op)s
+(erations)h(pro)s(duce)f(iden)m(tical)j(results,)e(a)h
+(June-July-August)e(a)m(v)m(erage)k(of)d(the)150 2021
+y(data:)390 2182 y Fy(ncra)47 b(-d)g(time,5,7)e(85.nc)i(85_JJA.nc)390
+2291 y(ncra)g(-F)g(-d)g(time,6,8)f(85.nc)g(85_JJA.nc)275
+2452 y FD(Prin)m(ting)27 b(v)-5 b(ariable)28 b Fz(three)p
+1175 2452 28 4 v 40 w(dmn)p 1393 2452 V 39 w(v)-5 b(ar)34
+b FD(in)26 b(\014le)i Fy(in.nc)d FD(\014rst)i(with)g(the)g(C)j
+(indexing)d(con)m(v)m(en)m(tion,)j(then)150 2562 y(with)g(F)-8
+b(ortran)31 b(indexing)f(con)m(v)m(en)m(tion)j(results)d(in)g(the)h
+(follo)m(wing)g(output)f(formats:)390 2723 y Fy(\045)47
+b(ncks)g(-v)g(three_dmn_var)d(in.nc)390 2832 y(lat[0]=-90)h
+(lev[0]=1000)g(lon[0]=-180)f(three_dmn_var[0]=0)390 2942
+y(...)390 3051 y(\045)j(ncks)g(-F)g(-v)g(three_dmn_var)e(in.nc)390
+3161 y(lon\(1\)=0)h(lev\(1\)=100)f(lat\(1\)=-90)g(three_dmn_var\(1\)=0)
+390 3271 y(...)150 3507 y FB(3.15)68 b(Hyp)t(erslabs)150
+3641 y Fk(\013)p 200 3641 3554 4 v 3553 w(\010)p 150
+4240 4 552 v 178 3777 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 3887
+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 3996 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 4106 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 4240 V 150 4292 a
+Fk(\012)p 200 4292 3554 4 v 3553 w(\011)275 4463 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 4573 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 4682 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 4792 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 4902 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 5011 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
+5121 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 5230 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 5340 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)p eop end
+%%Page: 54 60
+TeXDict begin 54 59 bop 150 -116 a FD(54)2627 b FC(NCO)30
+b FD(4.4.2)j(User)d(Guide)150 299 y(are)k(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 408 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 581 y Fy(#)47 b(First)g(and)g(second)f
+(indices)g(of)h(lon)g(dimension)390 690 y(ncks)g(-F)g(-d)g(lon,1,2)f
+(in.nc)g(out.nc)390 800 y(#)h(Second)g(and)f(third)h(indices)f(of)h
+(lon)g(dimension)390 909 y(ncks)g(-d)g(lon,1,2)f(in.nc)g(out.nc)275
+1082 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 1191 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 1301 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 1410 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
+1520 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 1630 y(\(no)h(decimal)g(p)s(oin)m(ts\).)275
+1802 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 1911 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 2021 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
+2131 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 2240 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 2350 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 2459 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 2569 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(55,)h(for)150 2679 y(more)d(information)f(on)g(the)h
+Fz(stride)k FD(option.)390 2851 y Fy(#)47 b(All)g(longitude)f(values)g
+(between)g(1)h(and)g(2)g(degrees)390 2960 y(ncks)g(-d)g(lon,1.0,2.0)e
+(in.nc)h(out.nc)390 3070 y(#)h(All)g(longitude)f(values)g(between)g(1)h
+(and)g(2)g(degrees)390 3180 y(ncks)g(-F)g(-d)g(lon,1.0,2.0)e(in.nc)h
+(out.nc)390 3289 y(#)h(Every)g(other)f(longitude)f(value)i(between)f(0)
+h(and)g(90)g(degrees)390 3399 y(ncks)g(-F)g(-d)g(lon,0.0,90.0,2)d
+(in.nc)i(out.nc)275 3571 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 3680 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 3790 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
+3900 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 4009 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
+4181 y Fy(#)47 b(Last)g(two)g(indices)f(of)h(lon)g(dimension)390
+4291 y(ncks)g(-F)g(-d)g(lon,1,-2)f(in.nc)g(out.nc)390
+4401 y(#)h(First)g(to)g(penultimate)e(indices)h(of)h(lon)g(dimension)
+390 4510 y(ncks)g(-F)g(-d)g(lon,1,-2)f(in.nc)g(out.nc)390
+4620 y(#)h(Third-to-last)e(to)i(last)f(index)h(of)g(lon)g(dimension)390
+4729 y(ncks)g(-F)g(-d)g(lon,-3,-1)e(in.nc)i(out.nc)390
+4839 y(#)g(Third-to-last)e(to)i(last)f(index)h(of)g(lon)g(dimension)390
+4949 y(ncks)g(-F)g(-d)g(lon,-3,)f(in.nc)g(out.nc)150
+5121 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 5230 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 5340
+y(index.)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)275 299 y(User-sp)s(eci\014ed)27
+b(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 408 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 518 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 685 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 795 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(61\),)g(suc)m(h)e(as)h
+(longitude.)150 904 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
+1014 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
+1123 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 1233
+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 1343 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 1452 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 1619 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 1729 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 1839 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
+1948 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 2058 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 2167 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 2334 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
+2444 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 2554 y(dimension)30 b(requires)g(its)g(o)m(wn)h
+Fy(-d)f FD(option\).)150 2809 y FB(3.16)68 b(Stride)150
+2919 y Fk(\013)p 200 2919 3554 4 v 3553 w(\010)p 150
+3519 4 552 v 178 3056 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 3165
+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 3275 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 3384 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 3519 V 150 3570 a
+Fk(\012)p 200 3570 3554 4 v 3553 w(\011)275 3748 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 3858 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 3967 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 4077 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 4187 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(59\).)42
+b(Using)30 b(the)h Fz(stride)k FD(option)c(for)150 4296
+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 4406 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
+4573 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 4682
+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 4792 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 4902 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 5011 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 5121
+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 5230 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
+5340 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)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.2)j(User)d(Guide)150 299 y Fy(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
+408 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
+518 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
+686 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 796 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 905 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
+(52\))h(these)f(data)h(are)f(stored)g(in)f(records)150
+1015 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
+1124 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 1234 y(\014les)g(together:)
+390 1402 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 1512 y(ncks)h(-d)g(time,${idx})e(8501_8912.nc)f
+(foo.${idx})390 1621 y(done)390 1731 y(foreach)i(idx)h(\(02)g(14)g(26)g
+(38)g(50\))g(#)h(C)f(Shell)485 1841 y(ncks)g(-d)g(time,${idx})e
+(8501_8912.nc)f(foo.${idx})390 1950 y(end)390 2060 y(ncrcat)i(foo.??)g
+(8589_03.nc)390 2169 y(rm)h(foo.??)275 2337 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
+2505 y Fy(ncks)47 b(-d)g(time,2,,12)e(8501_8912.nc)f(8589_03.nc)275
+2674 y FD(See)30 b(Section)h(4.7)h([nc)m(ks)f(netCDF)g(Kitc)m(hen)f
+(Sink],)h(page)g(173,)h(for)e(more)g(information)h(on)f
+Fy(ncks)p FD(.)275 2842 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
+2951 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 3119 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 3229
+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 3487 y FB(3.17)68 b(Record)46
+b(App)t(ending)150 3621 y Fk(\013)p 200 3621 3554 4 v
+3553 w(\010)p 150 4111 4 442 v 178 3757 a FD(Av)-5 b(ailabilit)m(y:)43
+b Fy(ncra)p FD(,)30 b Fy(ncrcat)178 3867 y FD(Short)g(options:)41
+b(None)178 3976 y(Long)31 b(options:)41 b(`)p Fy(--rec_apn)p
+FD(',)28 b(`)p Fy(--record_append)p FD(')p 3803 4111
+V 150 4162 a Fk(\012)p 200 4162 3554 4 v 3553 w(\011)275
+4346 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 4456 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
+4565 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 4675 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 4785 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 4953 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 5062 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
+5172 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 5340 y
+Fy(ncrcat)46 b(-O)h(fl_1.nc)f(fl_2.nc)g(fl_3.nc)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)275 299 y(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
+408 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 518 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
+628 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 737 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 847 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 1025 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 1135 y(end)i(of)g(the)h
+(corresp)s(onding)e(records)h(in)g Fy(fl_1.nc)p FD(:)390
+1313 y Fy(ncrcat)46 b(--rec_apn)f(fl_2.nc)h(fl_1.nc)275
+1491 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 1601 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 1710 y(do)c(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
+1820 y(b)s(ecause)e(it)g(is)g(the)g(pre-existing)g(output)g(\014le)f
+(to)i(whic)m(h)e(w)m(e)h(are)h(app)s(ending)d(all)i(of)g(the)g(other)g
+(input)f(\014les)150 1929 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
+2039 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 2149 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
+2258 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 2368 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
+2477 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 2587 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 2696 y(Output)29 b(Files],)j(page)f(15\):)390
+2875 y Fy(ncrcat)46 b(--rec_apn)f(--no_tmp_fl)g(fl_2.nc)h(fl_1.nc)275
+3053 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 3162 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 3272 y(trade-o\013s)e(in)m
+(v)m(olv)m(ed.)150 3561 y FB(3.18)68 b(Sub)t(cycle)150
+3695 y Fk(\013)p 200 3695 3554 4 v 3553 w(\010)p 150
+4294 4 552 v 178 3831 a FD(Av)-5 b(ailabilit)m(y:)43
+b Fy(ncra)p FD(,)30 b Fy(ncrcat)178 3940 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 4050 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
+4160 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 4294 V 150 4346 a Fk(\012)p
+200 4346 3554 4 v 3553 w(\011)275 4540 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 4649
+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 4759 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
+4868 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 4978 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
+5088 y(abbreviated)c FC(SSC)800 5055 y Ft(15)870 5088
+y FD(.)p 150 5241 1200 4 v 166 5308 a Ft(15)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: 58 64
+TeXDict begin 58 63 bop 150 -116 a FD(58)2627 b FC(NCO)30
+b FD(4.4.2)j(User)d(Guide)275 299 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 408 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 518 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 701 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
+810 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
+920 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 1029 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 1139 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 1249
+y(these)e(is)f(a)h(150-y)m(ear)i(mean,)e(i.e.,)390 1431
+y Fy(#)47 b(Step)g(1:)g(Create)f(climatological)e(monthly)i(files)g
+(clm06.nc..clm08.nc)390 1541 y(for)h(mth)g(in)g({6..8};)f(do)485
+1650 y(mm=`printf)f("\04502d")i($mth`)485 1760 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
+1870 y(done)390 1979 y(#)i(Step)g(2:)g(Average)f(climatological)e
+(monthly)i(files)g(into)h(summertime)e(mean)390 2089
+y(ncra)i(-O)g(clm06)f(clm07.nc)g(clm08.nc)f(clm_JJA.nc)150
+2271 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 2381 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 2564 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 2673 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
+2783 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 2892 y(summertime)e(mean)g(to)h(one)g(step:)390
+3075 y Fy(#)47 b(Step)g(1:)g(Compute)f(climatological)e(summertime)h
+(mean)390 3185 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 3367 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 3477 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
+3587 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 3696 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 3879 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 3988 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 4098 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 4208 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 4317 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
+4500 y Fy(#)47 b(Step)g(1:)g(Archive)f(all)h(150)g(summertime)e(means)h
+(in)h(one)g(file)390 4609 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 4719
+y(#)h(...or)g(all)g(\(150\))f(annual)g(means...)390 4829
+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 5011 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 5121 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 5230 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 5340
+y(selected)j(records.)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 FB(3.19)68
+b(Multislabs)150 409 y Fk(\013)p 200 409 3554 4 v 3553
+w(\010)p 150 1118 4 661 v 178 545 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 655 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 765
+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 874 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 984 y(`)p Fy(--msa_usr_rdr)p FD(',)f(`)p Fy(--msa_user_order)p
+FD(')p 3803 1118 V 150 1170 a Fk(\012)p 200 1170 3554
+4 v 3553 w(\011)275 1344 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
+1454 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(53\).)150 1564 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 1673 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 1783 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 1892
+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
+2002 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
+2112 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 2221 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 2385 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 2494 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 2604
+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 2714 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 2823 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 2933 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 3042 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)150 3152 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 3262 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 3425
+y Fy(ncks)47 b(-d)g(lon,10.,20.)e(-d)i(lon,80.,90.)d(in.nc)j(out.nc)390
+3535 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 3699 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
+3808 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 3918 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 4082 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 4245 y Fy(ncks)47 b(-d)g(lon,0,4)f(-d)h(lon,2,9,2)e(in.nc)h(out.nc)
+150 4409 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 4519 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 4628 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 4738
+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 4847 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(55,)j(for)c(more)150 4957 y(information)31
+b(on)f(the)h Fz(stride)k FD(option.)275 5121 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 5230 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
+5340 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)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.2)j(User)d(Guide)150 299 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 408 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
+518 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 628 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
+800 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 909 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 1019 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
+1129 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 1301 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 1473 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
+1583 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
+1692 y(desired)f(range)h(of)f(data.)275 1864 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 1974 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 2084 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 2193 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 2303 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 2412 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
+2522 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 2694 y Fy(\045)47 b(ncks)g(-H)g(-v)g(Lon)g(in.nc)390
+2804 y(Lon[0]=-180)390 2913 y(Lon[1]=-90)390 3023 y(Lon[2]=0)390
+3133 y(Lon[3]=90)150 3305 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 3414 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
+3524 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 3634 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 3743 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 3853 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
+3962 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 4072 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
+4181 y(Compare)c(the)h(results)f(of)g(default)h(ordering)f(to)h
+(user-ordering)f(for)g(longitude:)390 4354 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 4463 y(Lon[0]=-180)390 4573
+y(Lon[1]=-90)390 4682 y(Lon[2]=0)390 4792 y(Lon[3]=90)390
+4902 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 5011 y(Lon[0]=0)390
+5121 y(Lon[1]=90)390 5230 y(Lon[2]=-180)390 5340 y(Lon[3]=-90)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(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
+408 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
+518 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
+690 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
+800 y(\014le)g(b)m(y)h(180)g(degrees)g(longitude:)390
+972 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 1081 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
+1191 y(\045)h(ncks)g(-C)g(-H)g(-v)h(LatLon)e(~/nco/data/in.nc)390
+1300 y(Lat[0]=-45)f(Lon[0]=-180)g(LatLon[0]=0)390 1410
+y(Lat[0]=-45)g(Lon[1]=-90)g(LatLon[1]=1)390 1520 y(Lat[0]=-45)g
+(Lon[2]=0)h(LatLon[2]=2)390 1629 y(Lat[0]=-45)f(Lon[3]=90)g
+(LatLon[3]=3)390 1739 y(Lat[1]=45)g(Lon[0]=-180)g(LatLon[4]=4)390
+1848 y(Lat[1]=45)g(Lon[1]=-90)g(LatLon[5]=5)390 1958
+y(Lat[1]=45)g(Lon[2]=0)h(LatLon[6]=6)390 2067 y(Lat[1]=45)f(Lon[3]=90)h
+(LatLon[7]=7)390 2177 y(\045)h(ncks)g(-C)g(-H)g(-v)h(LatLon)e(~/out.nc)
+390 2287 y(Lat[0]=-45)f(Lon[0]=0)h(LatLon[0]=2)390 2396
+y(Lat[0]=-45)f(Lon[1]=90)g(LatLon[1]=3)390 2506 y(Lat[0]=-45)g
+(Lon[2]=180)g(LatLon[2]=0)390 2615 y(Lat[0]=-45)g(Lon[3]=270)g
+(LatLon[3]=1)390 2725 y(Lat[1]=45)g(Lon[0]=0)h(LatLon[4]=6)390
+2835 y(Lat[1]=45)f(Lon[1]=90)h(LatLon[5]=7)390 2944 y(Lat[1]=45)f
+(Lon[2]=180)g(LatLon[6]=4)390 3054 y(Lat[1]=45)g(Lon[3]=270)g
+(LatLon[7]=5)150 3226 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 3335 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 3445 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 3554 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 3664 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 3934 y FB(3.20)68 b(W)-11 b(rapp)t(ed)44
+b(Co)t(ordinates)150 4068 y Fk(\013)p 200 4068 3554 4
+v 3553 w(\010)p 150 4667 4 552 v 178 4204 a FD(Av)-5
+b(ailabilit)m(y:)43 b Fy(ncks)178 4314 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 4423 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 4533 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 4667 V 150 4719 a
+Fk(\012)p 200 4719 3554 4 v 3553 w(\011)275 4902 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
+5011 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 5121 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 5230 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 5340
+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\).)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.2)j(User)d(Guide)150 299 y(Con)m(tin)m(uing)g(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 408 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 518 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 628 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
+737 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 847 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 956 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 1066 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 1176
+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 1285
+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 1473 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 1582 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 1692 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 1802 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
+1989 y Fy(ncks)47 b(-d)g(lon,340.,50.)d(in.nc)j(out.nc)390
+2099 y(ncks)g(-d)g(lon,340.,50.)d(-d)j(lat,10.,35.)e(in.nc)i(out.nc)150
+2286 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 2396 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 2506 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 2615 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
+2725 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 2834 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 2944 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
+3054 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 3163 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(53\).)
+150 3480 y FB(3.21)68 b(Auxiliary)46 b(Co)t(ordinates)150
+3614 y Fk(\013)p 200 3614 3554 4 v 3553 w(\010)p 150
+4104 4 442 v 178 3750 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 3860 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 3969 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 4104 V 150 4155 a Fk(\012)p 200 4155 3554 4 v 3553
+w(\011)275 4354 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 4463 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
+4573 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 4682 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
+4792 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(96\))i Fy(coordinates)25 b FD(and)k
+Fy(standard_name)150 4902 y FD(attributes)36 b(describ)s(ed)e(here)h
+(\()p Fy(http:)t(/)t(/)s(cf-pcmdi)t(.)s(llnl)t(.)s(go)o(v)t(/)s(d)o
+(ocum)o(ents)s(/)s(cf)o(-co)o(nven)o(tion)o(s)t(/)s(1)s(.)150
+5011 y(6/cf-conventions.html#co)o(ordi)o(nate)o(-sy)o(stem)o
+FD(\).)f(Curren)m(tly)-8 b(,)27 b FC(NCO)e FD(understands)f(auxiliary)j
+(co-)150 5121 y(ordinate)32 b(v)-5 b(ariables)33 b(p)s(oin)m(ted)f(to)h
+(b)m(y)f(the)g Fy(standard_name)c FD(attributes)33 b(for)f
+Fz(latitude)38 b FD(and)31 b Fz(longitude)p FD(.)150
+5230 y(Cells)21 b(that)h(con)m(tain)g(a)f(v)-5 b(alue)21
+b(within)g(the)g(user-sp)s(eci\014ed)e(range)i([)p Fz(lon)p
+2513 5230 28 4 v 41 w(min)p FD(,)p Fz(lon)p 2852 5230
+V 40 w(max)p FD(,)p Fz(lat)p 3191 5230 V 41 w(min)p FD(,)p
+Fz(lat)p 3514 5230 V 41 w(max)6 b FD(])150 5340 y(are)31
+b(included)e(in)h(the)h(output)f(h)m(yp)s(erslab.)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)275 299 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 408 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 518 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 628 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 737 y(page)32 b(53\))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 847 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 956 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 1066 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 1176 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 1285 y([CF)c(Con)m(v)m(en)m(tions],)h(page)
+f(96\).)275 1461 y(Putting)e(it)h(all)g(together,)h(consider)e(a)h(v)-5
+b(ariable)30 b Fz(gds)p 2112 1461 28 4 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
+1570 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 1680 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
+1855 y Fy(\045)47 b(ncks)g(-m)g(-C)g(-v)h(gds_3dvar)d(~/nco/data/in.nc)
+390 1965 y(gds_3dvar:)g(type)i(NC_FLOAT,)e(2)i(dimensions,)e(4)j
+(attributes,)c(chunked?)i(no,)h(\\)438 2074 y(compressed?)d(no,)j
+(packed?)f(no,)h(ID)g(=)h(41)390 2184 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
+2293 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 2403 y(\(CRD\)\(REC\))390
+2513 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 2622 y(gds_3dvar)d
+(attribute)h(0:)h(long_name,)e(size)h(=)i(17)f(NC_CHAR,)f(value)g(=)h
+(\\)438 2732 y(Geodesic)e(variable)390 2841 y(gds_3dvar)g(attribute)h
+(1:)h(units,)f(size)g(=)i(5)f(NC_CHAR,)f(value)g(=)i(meter)390
+2951 y(gds_3dvar)d(attribute)h(2:)h(coordinates,)d(size)j(=)g(15)g
+(NC_CHAR,)f(value)g(=)i(\\)438 3061 y(lat_gds)e(lon_gds)390
+3170 y(gds_3dvar)f(attribute)h(3:)h(purpose,)e(size)i(=)g(64)h
+(NC_CHAR,)d(value)h(=)i(\\)438 3280 y(Test)e(auxiliary)g(coordinates)e
+(like)j(those)f(that)h(define)f(geodesic)g(grids)275
+3455 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
+3565 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 3674 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 3784 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
+3893 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 4003 y(record)30 b(dimension)g(and)g
+Fy(gds_crd)e FD(is)j(the)f(cell-based)i(dimension.)275
+4178 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 4288 y(\\latitude",)j(and)c(\\longitude":)
+390 4463 y Fy(\045)47 b(ncks)g(-m)g(-C)g(-v)h(lat_gds,lon_gds)43
+b(~/nco/data/in.nc)390 4573 y(lat_gds:)j(type)g(NC_DOUBLE,)f(1)j
+(dimensions,)c(4)k(attributes,)d(\\)438 4682 y(chunked?)g(no,)i
+(compressed?)e(no,)i(packed?)f(no,)h(ID)g(=)g(37)390
+4792 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 4902 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
+5011 y(lat_gds)f(attribute)f(0:)i(long_name,)e(size)i(=)g(8)h(NC_CHAR,)
+d(value)i(=)g(Latitude)390 5121 y(lat_gds)f(attribute)f(1:)i
+(standard_name,)d(size)j(=)g(8)h(NC_CHAR,)d(value)i(=)g(latitude)390
+5230 y(lat_gds)f(attribute)f(2:)i(units,)f(size)h(=)g(6)h(NC_CHAR,)d
+(value)i(=)g(degree)390 5340 y(lat_gds)f(attribute)f(3:)i(purpose,)f
+(size)g(=)i(62)f(NC_CHAR,)f(value)g(=)h(\\)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.2)j(User)d(Guide)438 299 y Fy(1-D)47 b(latitude)e(coordinate)g
+(referred)h(to)h(by)g(geodesic)f(grid)g(variables)390
+518 y(lon_gds:)g(type)g(NC_DOUBLE,)f(1)j(dimensions,)c(4)k(attributes,)
+d(\\)438 628 y(chunked?)g(no,)i(compressed?)e(no,)i(packed?)f(no,)h(ID)
+g(=)g(38)390 737 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 847 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
+956 y(lon_gds)f(attribute)f(0:)i(long_name,)e(size)i(=)g(9)h(NC_CHAR,)d
+(value)i(=)g(Longitude)390 1066 y(lon_gds)f(attribute)f(1:)i
+(standard_name,)d(size)j(=)g(9)h(NC_CHAR,)d(value)i(=)g(longitude)390
+1176 y(lon_gds)f(attribute)f(2:)i(units,)f(size)h(=)g(6)h(NC_CHAR,)d
+(value)i(=)g(degree)390 1285 y(lon_gds)f(attribute)f(3:)i(purpose,)f
+(size)g(=)i(63)f(NC_CHAR,)f(value)g(=)h(\\)438 1395 y(1-D)g(longitude)e
+(coordinate)g(referred)g(to)j(by)f(geodesic)e(grid)i(variables)275
+1559 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 1668 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 1778 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 1887 y(m)m(ultidimensional)c(co)s(ordinates)g
+(will)g(not)g(w)m(ork.)275 2051 y(This)i(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 2161 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 2270 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 2380 y(latitude,)h(w)m(e)e(use)390
+2544 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 2708 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 2817
+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 2981
+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 3145 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
+3254 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)390 3418 y Fy(ncra)47 b(-X)g(0.,180.,-30.,30.)c(in.nc)k
+(out.nc)390 3528 y(ncra)g(-X)g(0,180,-30,30)d(in.nc)j(out.nc)275
+3692 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 3801 y(not)32 b(indices)h(\(see)g(Section)g
+(3.15)h([Hyp)s(erslabs],)e(page)h(53\).)47 b(W)-8 b(e)34
+b(recommend)e(alw)m(a)m(ys)h(using)f(decimal)150 3911
+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 4157 y FB(3.22)68 b(UDUnits)46
+b(Supp)t(ort)150 4290 y Fk(\013)p 200 4290 3554 4 v 3553
+w(\010)p 150 4890 4 552 v 178 4426 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 4536
+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 4646 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 4755 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 4890 V 150 4941 a
+Fk(\012)p 200 4941 3554 4 v 3553 w(\011)275 5121 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
+5230 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 5340 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)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)150 299 y(netCDF)30
+b(\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
+408 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 518 y(required)f(in)g(a)g(future)g(v)m(ersion)h
+(of)f FC(NCO)p FD(.)275 701 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 810 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 920 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
+1029 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 1139 y(sp)s(ectroscop)m(y)-8 b(,)32 b(microns:)390
+1322 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 1431 y(wvl[0]=5e-07)e(meter)150
+1614 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 1724 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 1833 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 1943 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
+2052 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 2162 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 2271 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 2381 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 2491 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 2600 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 2710 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 2819 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 2929 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 3039 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 3148 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 3258 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 3367 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(.)150 3477 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 3587 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
+3696 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 3806 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
+3915 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 4025 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
+4208 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
+4317 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 4427 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 4536 y(is)h(hours)g(since)g
+(the)h(y)m(ear)g(1900:)390 4719 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 4829 y(16:00:0.0","1999-12-08)g(19:00:0.0")j(in.nc)390
+4938 y(time_udunits[1]=876018)d(hours)k(since)g(1900-01-01)f(00:00:0.0)
+150 5121 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(55\))f(capabilit)m(y)i(to)
+e(obtain)g(ev)m(ery)150 5230 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 5340 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(53\))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.2)j(User)d(Guide)150 299 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 408
+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
+579 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 689 y(in1.nc)i(in2.nc)f(in3.nc)g(out.nc)150
+859 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 969 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
+1078 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
+1188 y FD(elemen)m(ts)47 b(\(see)f(Section)g(3.15)h([Hyp)s(erslabs],)i
+(page)d(53\))h(is)e(the)h(job)f(of)g FC(NCO)p FD(.)86
+b(When)45 b(unquoted)150 1297 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 1407 y(whic)m(h)30
+b(will)h(not)f(parse)h(as)f(in)m(tended.)275 1577 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 1687 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
+1797 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 1906
+y(in)m(terested)31 b(in)f(user-feedbac)m(k)h(on)g(these)f(features.)275
+2077 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 2186 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 2296
+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 2405 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 2515
+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 2625 y(able.)390 2795 y Fy(#)47 b(UDUnits1)390
+2905 y(export)f(UDUNITS_PATH='/unusual/lo)o(cat)o(ion/)o(shar)o(e/u)o
+(duni)o(ts')390 3014 y(#)h(UDUnits2)390 3124 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 3294 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
+3404 y(with)30 b(libraries)h(in)f(di\013eren)m(t)g(lo)s(cations.)275
+3574 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 3684 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 3794 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
+3903 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 4013 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 4122 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 4232 y(time)d(dimension)f(formats:)390
+4402 y Fy(-d)47 b(time,'1918-11-11)d(00:00:0.0','1939-09-09)d
+(00:00:0.0')390 4512 y(-d)47 b(time,'1918-11-11)d
+(00:00:0.0','1939-09-09)d(00:00:0.0')390 4622 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 4731 y(-d)g(time,'1918-11-11','1939-0)o(9-09)o(')390
+4841 y(-d)g(time,'1918-11-11','1939-9)o(-9')150 5011
+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 5121 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 5230 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 5340 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)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(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
+408 y(it\))f(from)f(a)h(co)s(ordinate)g(or)g(index)e(v)-5
+b(alue:)390 569 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 679 y(-d)g(time,19181111)140
+b(#)47 b(Interpreted)e(as)i(time-dimension)d(index)i(19181111)390
+788 y(-d)h(time,19181111.)92 b(#)47 b(Interpreted)e(as)i
+(time-coordinate)d(value)i(19181111.0)275 949 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 1109 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 1219 y
+FC(CF)k FD(con)m(v)m(en)m(tions.)150 1405 y Fq(Supp)s(orted)f(t)m(yp)s
+(es:)630 1515 y Fy(")p FD(365)p 819 1515 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 1515 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
+1676 y Fq(Unsupp)s(orted)d(t)m(yp)s(es:)630 1786 y Fy(")p
+FD(366)p 819 1786 V 41 w(da)m(y)p Fy(")p FD(/)p Fy(")p
+FD(all)p 1237 1786 V 41 w(leap)p Fy(")p FD(,)p Fy(")p
+FD(proleptic)p 1908 1786 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
+1972 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
+2133 y(An)f(Example:)41 b(Consider)29 b(the)i(follo)m(wing)h(netCDF)f
+(v)-5 b(ariable)390 2293 y Fy(variables:)485 2403 y(double)47
+b(lon_cal\(lon_cal\))c(;)581 2512 y(lon_cal:long_name)g(=)k("lon_cal")f
+(;)581 2622 y(lon_cal:units)e(=)k("days)e(since)g(1964-2-28)g(0:0:0")g
+(;)581 2732 y(lon_cal:calendar)d(=)48 b("365_day")d(;)390
+2841 y(data:)485 2951 y(lon_cal)h(=)i(1,2,3,4,5,6,7,8,9,10;)275
+3111 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
+3221 y(in)30 b Fy(lon_cal=1,2,3,4)p FD(.)275 3381 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
+3491 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
+3600 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 3710 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 3820 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 3929 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 4039 y(p)s(ounds)28 b(p)s(er)i(square)g(inc)m
+(h,)g(fortnigh)m(ts\).)150 4274 y FB(3.23)68 b(Rebasing)46
+b(Time)g(Co)t(ordinate)150 4408 y Fk(\013)p 200 4408
+3554 4 v 3553 w(\010)p 150 4679 4 223 v 178 4544 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 4679 V 150 4730
+a Fk(\012)p 200 4730 3554 4 v 3553 w(\011)275 4902 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
+5011 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 5121 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 5230 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 5340
+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\))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.2)j(User)d(Guide)150 299 y(for)g(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
+408 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 518 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 682 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 792 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 901
+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 1011 y(adv)-5 b(ance)31
+b(the)g(base)f(time:)390 1175 y Fy(file01.nc)45 b(time:units="hours)e
+(since)k(1990-1-1")390 1285 y(file02.nc)e(time:units="hours)e(since)k
+(1990-1-2")390 1394 y(...)390 1504 y(file31.nc)e(time:units="hours)e
+(since)k(1990-1-31")390 1668 y(//)g(Mean)g(noontime)e(temperature)g(in)
+i(January)390 1778 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 1887 y(file??.nc)h
+(noon.nc)390 2106 y(//)h(Concatenate)e(day2)i(noon)f(through)g(day3)h
+(noon)f(records)390 2216 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 2326 y(file01.nc)h(file02.nc)
+f(file03.nc)g(noon.nc)390 2545 y(//)i(Results:)f(time)g(is)i
+("re-based")d(to)i(the)g(time)f(units)h(in)g("file01.nc")390
+2654 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 2764 y(51,)g(52,)f(53,)h(54,)g
+(55,)g(56,)g(57,)g(58,)g(59)g(;)390 2983 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
+3093 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 3202 y(file02.nc)h(file03)g(noon.nc)390
+3422 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 3531 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 3641 y(26,)g(27,)f(28,)h(29,)g(30,)g(31,)g(32,)g(33,)g(34,)g(35)g
+(;)275 3805 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 3914 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
+4024 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(96\).)150 4271 y FB(3.24)68
+b(Multiple)46 b(Record)f(Dimensions)150 4404 y Fk(\013)p
+200 4404 3554 4 v 3553 w(\010)p 150 4785 4 333 v 178
+4541 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 4650 y(Long)31
+b(options:)41 b(`)p Fy(--mrd)p FD(')p 3803 4785 V 150
+4836 a Fk(\012)p 200 4836 3554 4 v 3553 w(\011)275 5011
+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
+5121 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 5230 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
+5340 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)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(has)37
+b(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 408 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 518 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 628 y(b)s(et)m(w)m(een)31
+b(netCDF3)g(and)f(netCDF4)i(\014les.)275 828 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
+937 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 1047 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 1157
+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 1266 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 1376 y(enables)g(netCDF4)
+g(v)-5 b(ariables)31 b(to)g(accum)m(ulate)i(additional)e(record)f
+(dimensions.)275 1576 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 1686 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 1795
+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
+1905 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 2014 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 2124 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 2233
+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
+2343 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 2453 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
+2562 y(`)p Fy(--mrd)p FD(')29 b(to)j(o)m(v)m(erride)f(this.)150
+2917 y FB(3.25)68 b(Missing)46 b(v)-7 b(alues)150 3051
+y Fk(\013)p 200 3051 3554 4 v 3553 w(\010)p 150 3431
+4 333 v 178 3187 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
+3296 y FD(Short)g(options:)41 b(None)p 3803 3431 V 150
+3482 a Fk(\012)p 200 3482 3554 4 v 3553 w(\011)275 3693
+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 3803 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 3913
+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 4022 y(four)30 b(steps)g(in)g(the)h FC(NCO)f
+FD(treatmen)m(t)i(of)e(missing)g(data:)199 4222 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 4398 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 4398 28 4 v 80 w Fz(FillV)-8 b(alue)330 4507
+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
+4617 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
+4726 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 4726 V 76 w Fz(FillV)-8 b(alue)330 4836 y FD(are)31
+b(treated)g(as)g(missing)f(data.)330 5011 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
+5121 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 5230 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 5340 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)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.2)j(User)d(Guide)330 299 y(the)c(b)s(eha)m(vior)h
+FC(NCO)f FD(once)g(applied)g(to)h Fz(missing)p 1986 299
+28 4 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 299 V 67 w Fz(FillV)-8 b(alue)p FD(.)41 b FC(NCO)330
+408 y FD(no)m(w)30 b(treats)i(an)m(y)e Fz(missing)p 1249
+408 V 40 w(v)-5 b(alue)36 b FD(as)31 b(normal)f(data)2119
+375 y Ft(16)2190 408 y FD(.)330 537 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 647 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 756 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 866 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(198\))330 975 y(to)31 b(rename)g(all)g
+Fy(missing_value)c FD(attributes)k(to)g Fy(_FillValue)p
+FD(:)570 1104 y Fy(ncrename)46 b(-a)h(.missing_value,_FillVal)o(ue)42
+b(inout.nc)330 1233 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 1342 y(page)31 b(153\))h(to)f(add)f(a)h
+Fy(_FillValue)c FD(attribute)k(to)h(all)f(v)-5 b(ariables)570
+1471 y Fy(ncatted)46 b(-O)h(-a)g(_FillValue,,o,f,1.0e36)42
+b(inout.nc)199 1599 y FD(2.)61 b(Con)m(v)m(erting)31
+b(the)p 960 1599 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 1728 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 1728 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 1728 V
+41 w(t)m(yp)s(e)330 1837 y FD(con)m(taining)33 b(the)g(v)-5
+b(alue)p 1174 1837 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 1947 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 1947 V 40 w(t)m(yp)s(e)44
+b FD(equals)330 2057 y Fz(att)p 451 2057 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 2057 V 74 w Fz(FillV)-8 b(alue)41 b FD(to)34 b(de-)330
+2166 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 2276 y FD(con)m(v)m(erts)p
+701 2276 V 79 w Fz(FillV)-8 b(alue)45 b FD(from)37 b
+Fz(att)p 1477 2276 V 42 w(t)m(yp)s(e)43 b FD(to)38 b
+Fz(v)-5 b(ar)p 1978 2276 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
+2385 y(of)31 b(C)o(,)25 b(or,)g(if)e Fz(att)p 877 2385
+V 41 w(t)m(yp)s(e)28 b FD(is)23 b Fy(NC_CHAR)1534 2352
+y Ft(17)1603 2385 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
+2495 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 2605 y(tribute)h(and)g(all)h(data)g(whose)f
+(data)h(is)p 1730 2605 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 2714 y(netCDF)d(A)m(ttribute)g(Editor],)g(page)g(153\).)199
+2843 y(3.)61 b(Iden)m(tifying)31 b(missing)f(data)h(during)e
+(arithmetic)j(op)s(erations.)330 2971 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 3081 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 3081
+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.)330 3191 y(Note)26 b(the)p 700 3191 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 3300 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 3410
+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 3519 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 3629 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 3738 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 3848 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
+3977 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
+4105 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 4105 V
+69 w Fz(FillV)d(alue)330 4215 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 4215 V 74 w Fz(FillV)-8 b(alue)41 b FD(result)34
+b(when)f(either)h(of)g(the)330 4324 y(input)27 b(v)-5
+b(alues)28 b(is)g(a)p 1007 4324 V 68 w Fz(FillV)-8 b(alue)p
+FD(.)43 b(Sometimes)28 b(the)p 2076 4324 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 4434 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 4544
+y(a)g(v)-5 b(ariable)33 b(to)h(the)p 1030 4544 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 4653 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
+4782 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 4891 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 4891 V 77 w Fz(FillV)-8 b(alue)p 150 4963 1200 4
+v 166 5031 a Ft(16)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(17)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: 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)330 299 y(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
+408 y(of)c(the)f(op)s(eration)h(can)g(only)f(ha)m(v)m(e)i(one)p
+1767 408 28 4 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 518 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 518
+V 73 w Fz(FillV)-8 b(alue)40 b FD(as)34 b(the)f(\014rst)330
+628 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 737 y(op)s(erand)j(equal)h(to)g(the)g(second)p
+1525 737 V 78 w Fz(FillV)-8 b(alue)45 b FD(are)38 b(replaced)h(with)e
+(the)h(\014rst)p 3064 737 V 77 w Fz(FillV)-8 b(alue)p
+FD(.)65 b(Then)330 847 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 956 y(to)k(a)g(single)p 785 956 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 956 V 73 w Fz(FillV)-8
+b(alue)5 b FD('s)36 b(w)m(ould)e(b)s(e)330 1066 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
+1176 y(judicious)37 b(c)m(hoice)j(of)p 1115 1176 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
+1285 y(lost.)150 1541 y FB(3.26)68 b(Ch)l(unking)150
+1675 y Fk(\013)p 200 1675 3554 4 v 3553 w(\010)p 150
+2603 4 881 v 178 1811 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 1921 y FD(Short)h(options:)41 b(none)178
+2030 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 2140 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 2249 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 2359 y(`)p Fy(--cnk_plc)h Fn(cnk_plc)p FD(',)h(`)p
+Fy(--chunk_policy)e Fn(cnk_plc)p FD(',)178 2469 y(`)p
+Fy(--cnk_scl)h Fn(cnk_sz)p FD(',)h(`)p Fy(--chunk_scalar)e
+Fn(cnk_sz)p FD(')p 3803 2603 V 150 2655 a Fk(\012)p 200
+2655 3554 4 v 3553 w(\011)275 2833 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 2942
+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
+3052 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 3162 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 3271 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
+3381 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(\).)275 3548 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 3658
+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 3767 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 3877 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 3986 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 4096 y(P)m(erm)m(ute)28 b(Dimensions)f(Quic)m(kly],)h(page)
+g(186\),)h(and)e(the)g(h)m(yp)s(erslab)e(sp)s(eci\014cations)j(\(see)g
+(Section)f(3.15)150 4206 y([Hyp)s(erslabs],)39 b(page)g(53\).)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 4315 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
+4425 y(the)31 b(three)f(switc)m(hes)h(in)f(tandem)h(to)g(obtain)f
+(optimal)i(p)s(erformance.)275 4592 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
+4702 y(equiv)-5 b(alen)m(ts,)32 b(`)p Fy(--cnk_plc)p
+FD(')d(and)h(`)p Fy(--chunk_policy)p FD('\))d(and)j(its)h
+Fz(cnk)p 2564 4702 28 4 v 40 w(plc)36 b FD(argumen)m(t.)42
+b(Fiv)m(e)32 b(c)m(h)m(unking)150 4811 y(p)s(olicies)f(are)g(curren)m
+(tly)f(implemen)m(ted:)150 5121 y Fz(Ch)m(unk)f(All)i(V)-8
+b(ariables)32 b([)p Fo(default)9 b Fz(])630 5230 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 5340 y(cannot)31 b(b)s(e)f(c)m(h)m(unk)m(ed.)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.2)j(User)d(Guide)630 299 y(Alternate)i(in)m(v)m(o)s(cation:)43
+b Fy(ncchunk)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(all)p FD(',)30
+b(`)p Fy(cnk_all)p FD(',)f(`)p Fy(plc_all)p FD(')630
+518 y(Mnemonic:)41 b(All)150 806 y Fz(Ch)m(unk)29 b(V)-8
+b(ariables)32 b(with)e(at)h(least)g(Tw)m(o)g(Dimensions)630
+916 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 1025 y(Alternate)g(in)m(v)m(o)s(cation:)43
+b(none)630 1135 y Fz(cnk)p 775 1135 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 1244 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 1533 y Fz(Ch)m(unk)29 b(V)-8
+b(ariables)32 b(with)e(at)h(least)g(Three)f(Dimensions)630
+1642 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 1752 y(Alternate)h(in)m(v)m(o)s(cation:)43 b(none)630
+1861 y Fz(cnk)p 775 1861 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 1971 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 2259 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 2369 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 2478 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 2588 y(in)m(v)m(o)s(cation:)43 b(none)630
+2697 y Fz(cnk)p 775 2697 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 2807 y(Mnemonic:)41
+b(E)p Fo(XPL)p FD(icitly)31 b(sp)s(eci\014ed)f(dimensions)150
+3095 y Fz(Ch)m(unk)f(V)-8 b(ariables)32 b(with)e(Existing)h(Ch)m(unk)d
+(Sizes)630 3205 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 3314 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 3424 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 3533 y(in)m(v)m(o)s(cation:)43 b(none)630
+3643 y Fz(cnk)p 775 3643 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 3753 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
+4041 y Fz(Unc)m(h)m(unking)630 4150 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
+4260 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 4369 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 4479 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 4589 y(Alternate)i(in)m(v)m(o)s(cation:)43 b
+Fy(ncunchunk)630 4698 y Fz(cnk)p 775 4698 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 4808 y(Mnemonic:)41 b Fo(U)15 b
+FD(n)p Fo(C)e FD(h)m(un)p Fo(K)150 5121 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 5230 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 5340 y(line.)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)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 408 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
+518 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
+628 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 628 28 4 v 40 w(map)j
+FD(argumen)m(t.)150 737 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 1042 y Fz(Ch)m(unksize)g(Equals)g
+(Dimension)h(Size)g([)p Fo(default)9 b Fz(])630 1152
+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
+1261 y(for)g(particular)h(dimensions)e(with)i(`)p Fy(--cnk_dmn)p
+FD(')d(option.)630 1371 y Fz(cnk)p 775 1371 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
+1480 y(Mnemonic:)41 b Fo(D)9 b FD(i)p Fo(M)15 b FD(e)p
+Fo(N)g FD(sion)150 1760 y Fz(Ch)m(unksize)30 b(Equals)g(Dimension)h
+(Size)g(except)g(Record)g(Dimension)630 1870 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 1980 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 2089 y(option.)630 2199
+y Fz(cnk)p 775 2199 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 2308 y(Mnemonic:)41 b Fo(R)t FD(ecord)31
+b Fo(D)9 b FD(imension)29 b(size)i Fo(1)150 2588 y Fz(Ch)m(unksize)f
+(Equals)g(Scalar)h(Size)g(Sp)s(eci\014ed)630 2698 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 2807 y Fz(cnk)p 775
+2807 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 2917 y(Mnemonic:)41 b(E)p Fo(XPL)p FD(icitly)31
+b(sp)s(eci\014ed)f(dimensions)150 3197 y Fz(Ch)m(unksize)g(Pro)s(duct)f
+(Matc)m(hes)j(Scalar)f(Size)g(Sp)s(eci\014ed)630 3307
+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 3416 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 3526 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
+3635 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
+3745 y Fz(R)p FD(th)h(ro)s(ot)h(of)f Fz(cnk)p 1256 3745
+V 40 w(scl)p FD(.)630 3855 y Fz(cnk)p 775 3855 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
+3964 y(Mnemonic:)41 b Fo(PR)t FD(o)p Fo(D)9 b FD(uct)150
+4244 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 4354 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 4463 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 4573
+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
+4682 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
+4792 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
+4902 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
+5011 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
+5121 y Fz(cnk)p 775 5121 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 5230 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)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.2)j(User)d(Guide)150 299 y Fz(Ch)m(unksize)g(Equals)g
+(Existing)h(Ch)m(unksize)630 408 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 518 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
+628 y(\014le)30 b(will)h(b)s(e)f(c)m(h)m(unk)m(ed)g(with)h(default)f
+(mappings.)630 737 y Fz(cnk)p 775 737 28 4 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
+847 y(Mnemonic:)41 b(E)p Fo(X)14 b FD(i)p Fo(ST)150 1134
+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 1243 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 1353 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
+1463 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
+1572 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 1682 y(strategy)h(here)f(\()p Fy
+(http://www.unidata.ucar.edu/blogs/devel)o(oper)o(/en/ent)o(ry/)630
+1791 y(chunking_data_choosing_s)o(hape)o(s)p FD(\).)630
+1901 y Fz(cnk)p 775 1901 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 2010 y(Mnemonic:)41
+b(Russ)30 b Fo(REW)150 2322 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 2432 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)
+150 2541 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
+2651 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 2761 y(argumen)m(ts,)30 b Fz(dmn)p
+801 2761 V 39 w(nm)p FD(,)p Fz(cnk)p 1131 2761 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 2870 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 3039 y Fy(#)47
+b(Simple)g(chunking)e(and)i(unchunking)390 3148 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
+3258 y(ncks)h(-O)g(-4)g(--cnk_plc=unchunk)c(in.nc)j(out.nc)h(#)g
+(Unchunk)f(in.nc)390 3477 y(#)h(Chunk)g(data)f(then)h(unchunk)f(it,)h
+(printing)e(informative)g(metadata)390 3587 y(ncks)i(-O)g(-4)g(-D)g(4)h
+(--cnk_plc=all)c(~/nco/data/in.nc)f(~/foo.nc)390 3696
+y(ncks)k(-O)g(-4)g(-D)g(4)h(--cnk_plc=uck)c(~/foo.nc)h(~/foo.nc)390
+3915 y(#)i(Set)g(total)g(chunksize)e(to)i(8192)g(B)390
+4025 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 4244 y(#)k(More)g(complex)f(chunking)f
+(procedures,)g(with)i(informative)e(metadata)390 4354
+y(ncks)i(-O)g(-4)g(-D)g(4)h(--cnk_scl=8)c(~/nco/data/in.nc)g(~/foo.nc)
+390 4463 y(ncks)j(-O)g(-4)g(-D)g(4)h(--cnk_scl=8)c(dstmch90_clm.nc)g
+(~/foo.nc)390 4573 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 4682
+y(~/foo.nc)390 4792 y(ncks)j(-O)g(-4)g(-D)g(4)h(--cnk_plc=uck)c
+(~/foo.nc)h(~/foo.nc)390 4902 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
+5011 y(--cnk_dmn)f(lon,128)h(dstmch90_clm_0112.nc)c(~/foo.nc)390
+5230 y(#)47 b(Chunking)f(works)g(with)h(all)g(operators...)390
+5340 y(ncap2)f(-O)i(-4)f(-D)g(4)g(--cnk_scl=8)e(-S)i
+(~/nco/data/ncap2_tst.nco)41 b(\\)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)438 299 y Fy(~/nco/data/in.nc)43
+b(~/foo.nc)390 408 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 518 y(ncecat)g(-O)h(-4)g(-D)
+h(4)f(-n)g(12,2,1)f(--cnk_dmn)g(lat,32)g(\\)438 628 y(-p)h
+(/data/zender/dstmch90)42 b(dstmch90_clm01.nc)h(~/foo.nc)390
+737 y(ncflint)j(-O)h(-4)g(-D)g(4)h(--cnk_scl=8)d(~/nco/data/in.nc)e
+(~/foo.nc)390 847 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
+956 y(ncrcat)j(-O)h(-4)g(-D)h(4)f(-n)g(12,2,1)f(--cnk_dmn)g(lat,32)g
+(\\)438 1066 y(-p)h(/data/zender/dstmch90)42 b(dstmch90_clm01.nc)h
+(~/foo.nc)390 1176 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
+1285 y(--cnk_dmn)f(lon,128)h(dstmch90_clm_0112.nc)c(~/foo.nc)275
+1452 y FD(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 1562 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 1671 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
+1781 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 1891 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 2000 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 2110 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 2219 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
+2329 y(nev)m(ertheless)31 b(con)m(tain)h(c)m(h)m(unk)m(ed)f(v)-5
+b(ariables.)150 2584 y FB(3.27)68 b(De\015ation)150 2695
+y Fk(\013)p 200 2695 3554 4 v 3553 w(\010)p 150 3185
+4 442 v 178 2831 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
+2941 y FD(Short)h(options:)41 b(`)p Fy(-L)p FD(')178
+3050 y(Long)31 b(options:)41 b(`)p Fy(--dfl_lvl)p FD(',)28
+b(`)p Fy(--deflate)p FD(')p 3803 3185 V 150 3236 a Fk(\012)p
+200 3236 3554 4 v 3553 w(\011)275 3414 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 3524 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 3633 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
+3743 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 3852 y(lev)m(el)i
+Fz(d\015)p 467 3852 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 3852 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 3852 V 39 w(lvl)g(=)f(9)7 b FD(\).)150 3962 y(Minimal)35
+b(de\015ation)g(\()p Fz(d\015)p 1036 3962 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 4072 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
+4181 y(minimal)37 b(\()p Fz(d\015)p 653 4181 V 39 w(lvl)g(=)f(1)7
+b FD(\))37 b(and)f(maximal)h(\()p Fz(d\015)p 1755 4181
+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 4291 y(p)s(ercen)m(t)30
+b(in)h(size.)275 4458 y(T)-8 b(o)30 b(compress)h(an)f(en)m(tire)h
+(\014le)g(using)e(de\015ation,)i(use)390 4625 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 4735 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
+4844 y(ncks)g(-4)g(-L)g(9)g(in.nc)g(out.nc)f(#)h(Maximal)f(deflation)f
+(\(much)i(slower\))275 5011 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 5121 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 5230 y([P)m(ac)m(k)m(ed)33 b(data],)f(page)f(79\),)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 5340 y(squeeze)h
+(datasets)h(b)m(y)e(ab)s(out)g(80\045:)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.2)j(User)d(Guide)390 299 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 408 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
+518 y(ncpdq)428 b(in.nc)47 b(out.nc)f(#)h(Standard)f(packing)93
+b(\(~50\045)47 b(compression\))390 628 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
+805 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 914 y(Sink],)30 b(page)h(173\).)150 1200
+y FB(3.28)68 b(MD5)45 b(digests)150 1334 y Fk(\013)p
+200 1334 3554 4 v 3553 w(\010)p 150 1824 4 442 v 178
+1470 a FD(Av)-5 b(ailabilit)m(y:)43 b Fy(ncecat)p FD(,)29
+b Fy(ncks)p FD(,)h Fy(ncrcat)178 1580 y FD(Short)g(options:)178
+1689 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 1824
+V 150 1875 a Fk(\012)p 200 1875 3554 4 v 3553 w(\011)275
+2069 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 2178 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
+2288 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 2397 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 2507 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 2616 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 2726
+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 2903 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
+3013 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 3122 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 3232 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
+3342 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 3451 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
+3561 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 3738 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 3848 y(...)390
+3957 y(ncks:)i(INFO)h(MD5\(md5_a\))e(=)i(0cc175b9c0f1b6a831c399e269)o
+(7726)o(61)390 4067 y(md5_a)f(=)i('a')390 4176 y(ncks:)e(INFO)h
+(MD5\(md5_abc\))d(=)k(900150983cd24fb0d6963f7d)o(28e1)o(7f7)o(2)390
+4286 y(lev[0]=100)d(md5_abc[0--2]='abc')390 4396 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 4505 y(...)390 4615 y(ncks:)i(INFO)h(MD5\(md5_a\))e(=)i
+(0cc175b9c0f1b6a831c399e269)o(7726)o(61)390 4724 y(md5_a)f(=)i('a')390
+4834 y(ncks:)e(INFO)h(MD5\(md5_abc\))d(=)k(0cc175b9c0f1b6a831c399e2)o
+(6977)o(266)o(1)390 4944 y(lev[0]=100)d(md5_abc[0--0]='a')275
+5121 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 5230 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 5340 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)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)150 299 y(the)35
+b(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 408 y(v)-5 b(ariable)31
+b(data,)g(not)g(on)f(metadata.)275 572 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 681 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 791 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
+901 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
+1010 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 1120 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 1229 y(silen)m(tly)32 b(unless)d(the)i
+(debugging)f(lev)m(el)i(exceeds)g(three:)390 1393 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 1502 y(...)390 1612 y(ncecat:)g(INFO)g
+(MD5\(wnd_spd\))f(=)i(bec190dd944f2ce2794a7a4abf)o(224)o(b28)390
+1721 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 1831 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 1941 y(...)390 2050 y(ncrcat:)g(INFO)g(MD5\(wnd_spd\))f(=)i
+(74699bb0a72b7f16456badb2c9)o(95f)o(1a1)390 2160 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 2323 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 2433 y(read)30 b(from)g(the)h(source)f(\014le)h(and)f
+(from)f(the)i(output)f(\014le)g(disagree.)275 2596 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 2705 y(feedbac)m(k)j(and)f(suggestions)h(from)f
+(users.)150 2950 y FB(3.29)68 b(Bu\013er)45 b(sizes)150
+3060 y Fk(\013)p 200 3060 3554 4 v 3553 w(\010)p 150
+3550 4 442 v 178 3196 a FD(Av)-5 b(ailabilit)m(y:)43
+b(All)31 b(op)s(erators)178 3306 y(Short)f(options:)178
+3415 y(Long)h(options:)41 b(`)p Fy(--bfr_sz_hnt)p FD(',)28
+b(`)p Fy(--buffer_size_hint)p FD(')p 3803 3550 V 150
+3601 a Fk(\012)p 200 3601 3554 4 v 3553 w(\011)275 3781
+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 3890 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 4000
+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 4109 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
+4219 y Fy(stat\(\))j FD(system)i(call)902 4186 y Ft(18)974
+4219 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
+4329 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
+4438 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 4548 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
+4711 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 4821 y(>)g(ncks)g(-O)g(-D)g(3)h
+(--bfr_sz=2097152)43 b(~/nco/data/in.nc)h(~/foo.nc)390
+4930 y(...)390 5040 y(ncks:)i(INFO)h(nc__open\(\))e(will)i(request)e
+(file)i(buffer)f(size)h(=)g(2097152)f(bytes)p 150 5154
+1200 4 v 166 5221 a Ft(18)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
+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: 78 84
+TeXDict begin 78 83 bop 150 -116 a FD(78)2627 b FC(NCO)30
+b FD(4.4.2)j(User)d(Guide)390 299 y Fy(ncks:)46 b(INFO)h(nc__open\(\))e
+(opened)h(file)h(with)f(buffer)g(size)h(=)h(2097152)d(bytes)390
+408 y(...)150 643 y FB(3.30)68 b(RAM)45 b(disks)150 754
+y Fk(\013)p 200 754 3554 4 v 3553 w(\010)p 150 1243 4
+442 v 178 890 a FD(Av)-5 b(ailabilit)m(y:)43 b(All)31
+b(op)s(erators)178 999 y(Short)f(options:)178 1109 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 1243 V 150 1295 a Fk(\012)p 200 1295 3554
+4 v 3553 w(\011)275 1471 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 1580 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 1690 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 1800 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 1909
+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
+2019 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
+2128 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 2238 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 2348 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
+2457 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 2567
+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 2676 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 2836
+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 2946 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 3056 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
+3165 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
+3275 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 3435 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 3545
+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 3654 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 3764 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 3873
+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 3983 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
+4092 y(Requiremen)m(ts],)31 b(page)g(22)h(for)e(further)f(details.)275
+4253 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 4362 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 4472 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 4581 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
+4691 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 4801 y([RAM)d(v)-5
+b(ariables],)32 b(page)f(119\).)275 4961 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 5070
+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 5230 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 5340 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)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)47
+b(--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 408 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
+518 y(ncks)f(--open_ram)e(--create_ram)f(in.nc)i(out.nc)390
+628 y(ncks)h(--ram_all)e(in.nc)h(out.nc)g(#)i(Same)e(as)i(above)390
+737 y(ncks)f(--diskless_all)d(in.nc)i(out.nc)g(#)h(Same)g(as)g(above)
+275 901 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 1011 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 1120 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 1284 y
+Fy(#)47 b(Create)g(symbolic)e(links)h(for)h(benchmark)390
+1394 y(cd)g(${DATA}/nco)e(#)i(Do)h(all)e(work)h(here)390
+1503 y(for)g(idx)g(in)g({1..99999};)e(do)485 1613 y(idx_fmt=`printf)f
+("\04505d")i(${idx}`)485 1722 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 1832
+y(${DATA}/nco/${idx_fmt}.nc)390 1942 y(done)390 2051
+y(#)47 b(Benchmark)f(time)g(to)i(ncecat)e(one)h(hundred)e(thousand)h
+(files)390 2161 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 2270 y(-d)j(Longitude,-105.0)c(-p)k
+(${DATA}/nco)e(-n)i(99999,5,1)f(00001.nc)f(~/foo.nc)275
+2434 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 2544 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 2653 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
+2763 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 2872 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 2982 y(\014les.)275 3146 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 3255 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
+3365 y([T)-8 b(emp)s(orary)30 b(Output)f(Files],)j(page)f(15\).)150
+3611 y FB(3.31)68 b(P)l(ac)l(k)l(ed)46 b(data)150 3721
+y Fk(\013)p 200 3721 3554 4 v 3553 w(\010)p 150 4211
+4 442 v 178 3857 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
+3967 y FD(Short)g(options:)41 b(None)178 4076 y(Long)31
+b(options:)41 b(`)p Fy(--hdf_upk)p FD(',)28 b(`)p Fy(--hdf_unpack)p
+FD(')p 3803 4211 V 150 4262 a Fk(\012)p 200 4262 3554
+4 v 3553 w(\011)275 4437 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 4547 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
+4656 y(page)j(173)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 4766 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 4974 y Fu(P)m(ac)m(king)40 b(Algorithm)150
+5121 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 5230 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 5340
+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)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.2)j(User)d(Guide)150 299 y(the)36 b(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 408 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
+518 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 485 y Ft(19)3549 518 y FD(.)43 b(Let)150
+628 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
+819 y(scale)p 1238 819 28 4 v 41 w(factor)c(=)f(\(max)c
+FA(\000)f FD(min)o(\))p Fv(=)p FD(ndrv)1106 953 y(add)p
+1259 953 V 40 w(o\013set)26 b(=)f(\(min)20 b(+)g(max\))p
+Fv(=)p FD(2)1364 1088 y(p)s(c)m(k)25 b(=)g(\(upk)20 b
+FA(\000)g FD(add)p 2073 1088 V 39 w(o\013set)q(\))p Fv(=)p
+FD(scale)p 2588 1088 V 42 w(factor)1528 1283 y(=)1634
+1222 y(ndrv)f FA(\002)h FD([upk)f FA(\000)h FD(\(min)g(+)g(max\))p
+Fv(=)p FD(2])p 1634 1262 1200 4 v 2018 1346 a(max)h FA(\000)e
+FD(min)150 1530 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 1640 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
+1749 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
+1859 y(then)g(there)g(are)h(at)f(most)h(2)1099 1826 y
+Ft(16)1195 1859 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 1968 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 2078 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 2188 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 2297 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
+2264 y Ft(8)2939 2297 y FA(\000)13 b FD(2)25 b(=)g(256)13
+b FA(\000)g FD(2)26 b(=)f(254,)150 2407 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
+2374 y Ft(32)1783 2407 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
+2516 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
+2626 y(p)s(erform)h(w)m(ell)i(on)g(top)f(of)h(it.)150
+2828 y Fu(Unpac)m(king)41 b(Algorithm)150 2975 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
+3085 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
+3195 y(b)m(y)34 b(the)g(v)-5 b(alue)35 b Fz(scale)p 871
+3195 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 3304 y(then)23 b(the)h Fz(add)p 653 3304
+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 3414 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 3414 V 41 w(factor)39
+b FD(b)s(efore)31 b(the)150 3523 y(o\013set)g Fz(add)p
+543 3523 V 40 w(o\013set)i FD(is)e(added.)1147 3714 y(upk)24
+b(=)h(scale)p 1609 3714 V 42 w(factor)c FA(\002)f FD(p)s(c)m(k)g(+)g
+(add)p 2389 3714 V 39 w(o\013set)1321 3910 y(=)1427 3849
+y(p)s(c)m(k)h FA(\002)e FD(\(max)i FA(\000)f FD(min\))p
+1427 3889 753 4 v 1711 3972 a(ndrv)2210 3910 y(+)2311
+3849 y(min)g(+)g(max)p 2311 3889 432 4 v 2504 3972 a(2)150
+4154 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 4264 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 4373 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 4483 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
+4593 y(i.e.,)g Fy(int)p FD(,)d Fy(float)g FD(or)i Fy(double)p
+FD(.)150 4795 y Fu(Default)41 b(Handling)h(of)g(P)m(ac)m(k)m(ed)c(Data)
+150 4942 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 5052 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)p 150 5154 1200 4 v 166 5221 a Ft(19)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: 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(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 408 y
+(HDF5/doc/UG/UG_frame10Da)o(tase)o(ts.h)o(tml)o FD(\)\))25
+b(is)1172 612 y(upk)f(=)h(scale)p 1634 612 28 4 v 42
+w(factor)c FA(\002)f FD(\(p)s(c)m(k)g FA(\000)g FD(add)p
+2449 612 V 40 w(o\013set)q(\))150 815 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
+925 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 1035 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 1144 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
+1254 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 1363 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 1473 y(systems.)275
+1632 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 1742 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)150 1851 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 1961 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
+2071 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 2180 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 2290 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 2399 y(of)k(the)f(netCDF)h(con)m(v)m(en)m(tion)i(to)e
+(unpac)m(k.)275 2559 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
+2668 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 2778 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 2888 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 2997 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 3107 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 3216 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(186)h(for)e(an)g(easy)h(tec)m(h-)150 3326 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 3436 y(con)m(v)m(en)m(tion.)150 3633
+y Fu(Default)41 b(Handling)h(of)g(P)m(ac)m(k)m(ed)c(Data)150
+3780 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 3890 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
+4000 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
+4109 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 4269 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 4378 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 4488 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
+4597 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 4707 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
+4817 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(186\).)42
+b(P)m(ac)m(k)31 b(and)150 4926 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 5036
+y(Section)31 b(4.1.11)i([Metho)s(ds)d(and)g(functions],)g(page)i
+(117\).)150 5267 y FB(3.32)68 b(Op)t(eration)46 b(T)l(yp)t(es)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.2)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(ncra)p
+FD(,)f Fy(nces)p FD(,)h Fy(ncwa)178 297 y FD(Short)g(options:)41
+b(`)p Fy(-y)p FD(')178 407 y(Long)31 b(options:)41 b(`)p
+Fy(--operation)p FD(',)28 b(`)p Fy(--op_typ)p FD(')p
+3803 541 V 150 593 a Fk(\012)p 200 593 3554 4 v 3553
+w(\011)150 767 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 767 28 4 v 40 w(t)m(yp)150 876 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 1068 y Fy(avg)336 b FD(Mean)31 b(v)-5 b(alue)150
+1234 y Fy(sqravg)192 b FD(Square)30 b(of)g(the)h(mean)150
+1401 y Fy(avgsqr)192 b FD(Mean)31 b(of)g(sum)e(of)h(squares)150
+1567 y Fy(max)336 b FD(Maximium)31 b(v)-5 b(alue)150
+1734 y Fy(min)336 b FD(Minimium)30 b(v)-5 b(alue)150
+1900 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 2067 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
+2233 y Fy(sqrt)288 b FD(Square)30 b(ro)s(ot)g(of)h(the)g(mean)150
+2400 y Fy(ttl)336 b FD(Sum)29 b(of)i(v)-5 b(alues)150
+2591 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 2701 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
+2810 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 2920 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
+3030 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 3139 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
+3249 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 3412 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 3521 y([ncw)m(a)44 b(netCDF)f(W)-8
+b(eigh)m(ted)46 b(Av)m(erager],)i(page)c(202,)j(for)c(additional)h
+(information)g(on)f(masks)g(and)150 3631 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
+3740 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 3850 y(op)s(erations)i(is)f
+(familiar.)275 4013 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 4295 y(\026)-48
+b Fv(x)1587 4309 y Fg(j)1647 4295 y FD(=)1753 4169 y
+Ff(P)1841 4190 y Fg(i)p Ft(=)p Fg(N)1841 4256 y(i)p Ft(=1)1993
+4234 y Fv(\026)2048 4248 y Fg(i)2075 4234 y Fv(m)2155
+4248 y Fg(i)2183 4234 y Fv(w)2248 4248 y Fg(i)2276 4234
+y Fv(x)2328 4248 y Fg(i)p 1753 4274 603 4 v 1793 4303
+a Ff(P)1880 4324 y Fg(i)p Ft(=)p Fg(N)1880 4390 y(i)p
+Ft(=1)2033 4367 y Fv(\026)2088 4381 y Fg(i)2115 4367
+y Fv(m)2195 4381 y Fg(i)2223 4367 y Fv(w)2288 4381 y
+Fg(i)150 4573 y FD(where)40 b(\026)-48 b Fv(x)472 4587
+y Fg(j)544 4573 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 4587 y Fg(i)2480 4573 y FD(is)f(the)f Fv(i)p
+FD('th)g(elemen)m(t)i(of)e(the)h(input)150 4682 y(h)m(yp)s(erslab,)30
+b Fv(\026)643 4696 y Fg(i)701 4682 y FD(is)g(1)h(unless)f
+Fv(x)1189 4696 y Fg(i)1247 4682 y FD(equals)h(the)f(missing)h(v)-5
+b(alue,)31 b Fv(m)2344 4696 y Fg(i)2402 4682 y FD(is)f(1)h(unless)f
+Fv(x)2890 4696 y Fg(i)2948 4682 y FD(is)h(mask)m(ed,)g(and)f
+Fv(w)3631 4696 y Fg(i)3689 4682 y FD(is)150 4792 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
+4902 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 5011 y Fv(\026)205 5025 y Fg(i)264
+5011 y FD(=)f Fv(m)447 5025 y Fg(i)507 5011 y FD(=)f
+Fv(w)674 5025 y Fg(i)734 5011 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 5121 y(a)m(v)m(erage.)72 b(F)-8 b(urthermore,)42
+b Fv(m)1184 5135 y Fg(i)1252 5121 y FD(=)f Fv(w)1429
+5135 y Fg(i)1497 5121 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
+5230 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 5340 y(op)s(erators.)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)275 299 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 408 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 518 y(con)m(tributing)k(to)g(eac)m(h)k(\026)-49 b
+Fv(x)1080 532 y Fg(j)1161 518 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
+628 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 737 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 751 y Fg(i)3191
+737 y FD(con)m(tributes)f(to)150 847 y(the)31 b(output)f(elemen)m(t)h
+Fv(x)992 861 y Fg(j)1058 847 y FD(except)g(in)f(t)m(w)m(o)i
+(conditions:)199 1006 y(1.)61 b Fv(x)382 1020 y Fg(i)434
+1006 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(69\))g(for)f(the)g(v)-5 b(ariable.)199 1139
+y(2.)61 b Fv(x)382 1153 y Fg(i)438 1139 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 1249 y(page)h(203\))h(is)f(false.)275
+1431 y(P)m(oin)m(ts)c Fv(x)602 1445 y Fg(i)655 1431 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 1445 y Fg(j)2828 1431 y FD(|they)f(are)g
+(ignored.)40 b(W)-8 b(e)150 1541 y(no)m(w)30 b(de\014ne)g(these)h
+(criteria)g(more)g(rigorously)-8 b(.)275 1700 y(Eac)m(h)45
+b Fv(x)567 1714 y Fg(i)640 1700 y FD(has)g(an)g(asso)s(ciated)i(Bo)s
+(olean)f(w)m(eigh)m(t)h Fv(\026)2128 1714 y Fg(i)2200
+1700 y FD(whose)e(v)-5 b(alue)46 b(is)f(0)h(or)f(1)g(\(false)h(or)g
+(true\).)150 1810 y(The)38 b(v)-5 b(alue)40 b(of)f Fv(\026)756
+1824 y Fg(i)822 1810 y FD(is)g(1)h(\(true\))f(unless)g
+Fv(x)1608 1824 y Fg(i)1674 1810 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
+1919 y(V)-8 b(alues],)31 b(page)f(69\))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
+1933 y Fg(i)3689 1919 y FD(is)150 2029 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 2139 y(v)-5
+b(alues)31 b(analogously)-8 b(.)275 2298 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 2408 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 2517 y(T)m(yp)s(es],)h(page)f
+(81\).)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
+2627 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 2897 y(\026)-48 b Fv(x)1643
+2911 y Fg(j)1703 2897 y FD(=)1799 2791 y Fg(i)p Ft(=)p
+Fg(N)1805 2816 y Ff(X)1812 2993 y Fg(i)p Ft(=1)1947 2897
+y Fv(\026)2002 2911 y Fg(i)2030 2897 y Fv(m)2110 2911
+y Fg(i)2137 2897 y Fv(w)2202 2911 y Fg(i)2230 2897 y
+Fv(x)2282 2911 y Fg(i)150 3158 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
+3268 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 3377 y(page)31
+b(202\).)275 3537 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 3731
+y(\026)-49 b Fv(x)1023 3745 y Fg(j)1084 3731 y FD(=)24
+b(min[)p Fv(\026)1411 3745 y Ft(1)1448 3731 y Fv(m)1528
+3745 y Ft(1)1565 3731 y Fv(w)1630 3745 y Ft(1)1668 3731
+y Fv(x)1720 3745 y Ft(1)1757 3731 y Fv(;)15 b(\026)1852
+3745 y Ft(2)1889 3731 y Fv(m)1969 3745 y Ft(2)2006 3731
+y Fv(w)2071 3745 y Ft(2)2109 3731 y Fv(x)2161 3745 y
+Ft(2)2198 3731 y Fv(;)g(:)g(:)g(:)h(;)f(\026)2454 3745
+y Fg(N)2518 3731 y Fv(m)2598 3745 y Fg(N)2660 3731 y
+Fv(w)2725 3745 y Fg(N)2788 3731 y Fv(x)2840 3745 y Fg(N)2903
+3731 y FD(])150 3925 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
+4119 y(\026)-49 b Fv(x)1014 4133 y Fg(j)1075 4119 y FD(=)25
+b(max[)p Fv(\026)1420 4133 y Ft(1)1457 4119 y Fv(m)1537
+4133 y Ft(1)1574 4119 y Fv(w)1639 4133 y Ft(1)1676 4119
+y Fv(x)1728 4133 y Ft(1)1766 4119 y Fv(;)15 b(\026)1861
+4133 y Ft(2)1898 4119 y Fv(m)1978 4133 y Ft(2)2015 4119
+y Fv(w)2080 4133 y Ft(2)2118 4119 y Fv(x)2170 4133 y
+Ft(2)2207 4119 y Fv(;)g(:)g(:)g(:)h(;)f(\026)2463 4133
+y Fg(N)2526 4119 y Fv(m)2606 4133 y Fg(N)2669 4119 y
+Fv(w)2734 4133 y Fg(N)2797 4119 y Fv(x)2849 4133 y Fg(N)2912
+4119 y FD(])150 4313 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
+4472 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
+4753 y(\026)-49 b Fv(x)1502 4767 y Fg(j)1563 4753 y FD(=)1659
+4609 y Ff( )1734 4627 y(P)1822 4648 y Fg(i)p Ft(=)p Fg(N)1822
+4714 y(i)p Ft(=1)1974 4691 y Fv(\026)2029 4705 y Fg(i)2057
+4691 y Fv(m)2137 4705 y Fg(i)2164 4691 y Fv(w)2229 4705
+y Fg(i)2257 4691 y Fv(x)2309 4705 y Fg(i)p 1734 4732
+603 4 v 1774 4761 a Ff(P)1862 4782 y Fg(i)p Ft(=)p Fg(N)1862
+4848 y(i)p Ft(=1)2014 4825 y Fv(\026)2069 4839 y Fg(i)2097
+4825 y Fv(m)2177 4839 y Fg(i)2204 4825 y Fv(w)2269 4839
+y Fg(i)2347 4609 y Ff(!)2412 4626 y Ft(2)150 5017 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 5278 y(\026)-48
+b Fv(x)1582 5292 y Fg(j)1642 5278 y FD(=)1748 5152 y
+Ff(P)1836 5173 y Fg(i)p Ft(=)p Fg(N)1836 5239 y(i)p Ft(=1)1988
+5216 y Fv(\026)2043 5230 y Fg(i)2071 5216 y Fv(m)2151
+5230 y Fg(i)2178 5216 y Fv(w)2243 5230 y Fg(i)2271 5216
+y Fv(x)2323 5183 y Ft(2)2323 5239 y Fg(i)p 1748 5257
+613 4 v 1793 5286 a Ff(P)1880 5307 y Fg(i)p Ft(=)p Fg(N)1880
+5373 y(i)p Ft(=1)2033 5350 y Fv(\026)2088 5364 y Fg(i)2115
+5350 y Fv(m)2195 5364 y Fg(i)2223 5350 y Fv(w)2288 5364
+y Fg(i)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.2)j(User)d(Guide)150 299 y(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 313 y Fg(i)2653 299 y FD(=)g
+Fv(y)2794 313 y Fg(i)2825 299 y FA(\000)t FD(\026)-46
+b Fv(y)24 b FD(\(p)s(ossibly)d(created)i(b)m(y)150 408
+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 518 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
+628 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 787 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 1080 y(\026)-48
+b Fv(x)1538 1094 y Fg(j)1598 1080 y FD(=)1694 901 y Ff(v)1694
+947 y(u)1694 997 y(u)1694 1047 y(t)p 1782 901 632 4 v
+1792 954 a(P)1880 974 y Fg(i)p Ft(=)p Fg(N)1880 1041
+y(i)p Ft(=1)2032 1018 y Fv(\026)2087 1032 y Fg(i)2115
+1018 y Fv(m)2195 1032 y Fg(i)2222 1018 y Fv(w)2287 1032
+y Fg(i)2315 1018 y Fv(x)2367 987 y Ft(2)2367 1039 y Fg(i)p
+1792 1059 613 4 v 1836 1088 a Ff(P)1924 1108 y Fg(i)p
+Ft(=)p Fg(N)1924 1175 y(i)p Ft(=1)2077 1152 y Fv(\026)2132
+1166 y Fg(i)2159 1152 y Fv(m)2239 1166 y Fg(i)2267 1152
+y Fv(w)2332 1166 y Fg(i)150 1343 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 1503 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 1612 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 1722 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 2009 y(\026)-49
+b Fv(x)1515 2023 y Fg(j)1576 2009 y FD(=)1672 1830 y
+Ff(v)1672 1877 y(u)1672 1927 y(u)1672 1976 y(t)p 1759
+1830 678 4 v 1838 1884 a(P)1926 1904 y Fg(i)p Ft(=)p
+Fg(N)1926 1971 y(i)p Ft(=1)2078 1948 y Fv(\026)2133 1962
+y Fg(i)2161 1948 y Fv(m)2241 1962 y Fg(i)2268 1948 y
+Fv(x)2320 1917 y Ft(2)2320 1968 y Fg(i)p 1769 1988 658
+4 v 1769 2082 a FA(\000)p FD(1)21 b(+)1996 2018 y Ff(P)2084
+2038 y Fg(i)p Ft(=)p Fg(N)2084 2105 y(i)p Ft(=1)2237
+2082 y Fv(\026)2292 2096 y Fg(i)2319 2082 y Fv(m)2399
+2096 y Fg(i)150 2273 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 2287 y Fg(i)2822 2273 y FD(=)25
+b Fv(y)2963 2287 y Fg(i)3009 2273 y FA(\000)c FD(\026)-47
+b Fv(y)s FD(,)30 b(then)g(applying)150 2383 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 2492 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
+2602 y(Consult)30 b(a)h(statistics)h(b)s(o)s(ok)e(for)g(more)g
+(details.)275 2761 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 2871 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 2885 y Fg(i)3117 2871 y FD(and)f(subtracting)150
+2980 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 3090 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 3200 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 3309
+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 3419 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 3528 y(ask)m(ed.)275 3688 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 3797
+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 3907 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 4017 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 4126
+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 4236 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 4345
+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 4455 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
+4565 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 4674 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 4967 y(\026)-48 b Fv(x)1543 4981 y Fg(j)1603
+4967 y FD(=)1699 4788 y Ff(v)1699 4834 y(u)1699 4884
+y(u)1699 4934 y(t)p 1787 4788 623 4 v 1797 4841 a(P)1884
+4862 y Fg(i)p Ft(=)p Fg(N)1884 4928 y(i)p Ft(=1)2037
+4905 y Fv(\026)2092 4919 y Fg(i)2119 4905 y Fv(m)2199
+4919 y Fg(i)2227 4905 y Fv(w)2292 4919 y Fg(i)2319 4905
+y Fv(x)2371 4919 y Fg(i)p 1797 4946 603 4 v 1836 4975
+a Ff(P)1924 4995 y Fg(i)p Ft(=)p Fg(N)1924 5062 y(i)p
+Ft(=1)2077 5039 y Fv(\026)2132 5053 y Fg(i)2159 5039
+y Fv(m)2239 5053 y Fg(i)2267 5039 y Fv(w)2332 5053 y
+Fg(i)150 5230 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 5340 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)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(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 408 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
+518 y(and)c(Bug)g(Rep)s(orts],)h(page)g(12\).)150 693
+y(EXAMPLES)150 869 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 978 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 1088
+y(v)-5 b(alue)31 b(of)f Fy(prs_sfc)f FD(o)m(v)m(er)i(all)h(dimensions:)
+390 1263 y Fy(ncwa)47 b(-y)g(min)g(-v)g(prs_sfc)f(in.nc)g(foo.nc)150
+1439 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 1614 y Fy(ncwa)47
+b(-y)g(max)g(-v)g(prs_sfc)f(-a)h(lon)g(in.nc)f(foo.nc)150
+1789 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 1965 y Fy(ncra)47
+b(-y)g(rms)g(-v)g(prs_sfc)f(in.nc)g(foo.nc)390 2074 y(ncwa)h(-y)g(rms)g
+(-v)g(prs_sfc)f(-a)h(time)g(in.nc)f(foo.nc)150 2250 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 2359 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 2469 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 2578 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 2754 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 2863 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 2973 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 3148 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 3324 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 3433 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
+3543 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 3652 y FD(in)m(v)m(olv)m(es)g(three)f(steps.)390
+3828 y Fy(ncwa)47 b(-O)g(-v)g(prs_sfc)f(-a)h(time)g(in.nc)f(out.nc)390
+3937 y(ncbo)h(-O)g(-v)g(prs_sfc)f(in.nc)g(out.nc)g(out.nc)390
+4047 y(ncra)h(-O)g(-y)g(rmssdn)f(out.nc)g(out.nc)275
+4222 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 4332 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
+4441 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 4551
+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 4661 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 4770 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
+4945 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
+5055 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 5340 y(in.nc)f(out.nc)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.2)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(81\))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 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 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 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 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 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 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 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 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
+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 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 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 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 5267 y FB(3.33)68 b(T)l(yp)t(e)45 b(Con)l(v)l(ersion)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)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 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
+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 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 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
+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
+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 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 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
+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 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 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
+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 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 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 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 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
+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 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 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 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 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
+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 4270
+y(than)27 b(32,767)609 4237 y Ft(20)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
+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 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
+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 4708 y(met)301 4675 y Ft(21)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 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(.)p 150 5051 1200 4 v 166 5118 a Ft(20)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(21)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: 88 94
+TeXDict begin 88 93 bop 150 -116 a FD(88)2627 b FC(NCO)30
+b FD(4.4.2)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)h(a)m(v)m(eraging,)j(summation,)d(or)g(an)m
+(y)h Fy(")p FD(hard)p Fy(")d FD(arithmetic)j(that)g(could)f(o)m(v)m
+(er\015o)m(w)h(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
+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 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 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 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 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 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 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
+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)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 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 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 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 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
+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 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 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
+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 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 3216
+y Fy(trunc\(\))486 3183 y Ft(22)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 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 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 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 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
+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 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 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
+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 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 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(1s)150 4644 y FD(and)30 b Fy(2s)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 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 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,)p 150 5154 1200 4 v 166 5221 a Ft(22)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: 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(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 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 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 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 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
+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
+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
+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 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)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(23)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(24)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 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 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 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 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 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 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 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 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 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 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 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
+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 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)p 150 4440 1200
+4 v 166 4508 a Ft(23)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
+4627 y(digits)c(is)g(con)n(v)n(erted)f(to)g(IEEE)h(754)h
+(single-precision)g(and)e(then)g(con)n(v)n(erted)g(bac)n(k)g(to)g(the)g
+(same)i(n)n(um)n(b)r(er)d(of)i(signi\014can)n(t)275 4714
+y(decimal,)24 b(then)f(the)f(\014nal)h(string)h(should)e(matc)n(h)h
+(the)g(original;)j(and)c(if)i(an)f(IEEE)g(754)h(single-precision)h(is)f
+(con)n(v)n(erted)275 4801 y(to)j(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 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(24)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
+5078 y(digits)i(is)f(con)n(v)n(erted)g(to)g(IEEE)h(754)h
+(double-precision)e(represen)n(tation)h(and)f(then)f(con)n(v)n(erted)h
+(bac)n(k)g(to)g(a)h(string)g(with)275 5166 y(the)e(same)i(n)n(um)n(b)r
+(er)d(of)j(signi\014can)n(t)f(digits,)i(then)d(the)h(\014nal)f(string)i
+(should)e(matc)n(h)h(the)g(original;)j(and)c(if)i(an)f(IEEE)g(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 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: 90 96
+TeXDict begin 90 95 bop 150 -116 a FD(90)2627 b FC(NCO)30
+b FD(4.4.2)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(25)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 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 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 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 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 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 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 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 2590 y(\014les)j(are)g
+(needed)774 2557 y Ft(26)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 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
+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
+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 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
+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
+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
+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
+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
+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(25)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(26)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: 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)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(IEEE)e(arithmetic)i(guaran)m
+(tees)h(that)e(t)m(w)m(o)h(metho)s(ds)f(will)g(pro)s(duce)f
+(bit-for-bit)h(iden)m(tical)i(answ)m(ers)150 1943 y(only)i(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 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
+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 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
+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
+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
+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
+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
+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 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 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 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 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
+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: 92 98
+TeXDict begin 92 97 bop 150 -116 a FD(92)2627 b FC(NCO)30
+b FD(4.4.2)j(User)d(Guide)275 299 y(As)c(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 408 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
+518 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
+628 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 737 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 847 y(cal)h(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 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
+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 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 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 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 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
+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 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 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 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 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 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 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
+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 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
+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 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 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 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 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
+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: 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)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 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 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 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
+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
+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 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 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 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
+3608 y Ft(27)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 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
+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 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 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 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 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 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
+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
+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
+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 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)p 150 5241 1200
+4 v 166 5308 a Ft(27)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: 94 100
+TeXDict begin 94 99 bop 150 -116 a FD(94)2627 b FC(NCO)30
+b FD(4.4.2)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 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 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 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 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 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 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 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 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 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\))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)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 4047 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 4156 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
+4266 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 4376 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 4485 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 4595 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 4704 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 4814 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 5011 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
+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 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
+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)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)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(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 678 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 787 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 897 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
+1006 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 1116 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 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 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
+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(102,)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 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 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 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 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 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 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 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
+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 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 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 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
+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)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.2)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 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 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 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 1504 y(Editor],)35
+b(page)f(153\).)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 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(96\).)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 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 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
+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 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 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 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 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
+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 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 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(95\).)51 b(Hence)34
+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 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: 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 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 665 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 775 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 885 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
+994 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 1104 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 1213 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
+1380 y(The)54 b FC(CF)i FD(netCDF)f(con)m(v)m(en)m(tions)j(are)d
+(describ)s(ed)g(here)g(\()p Fy(http:)19 b(/)h(/)15 b(cf-pcmdi)k(.)c
+(llnl)k(.)d(gov)j(/)150 1489 y(documents)10 b(/)e(cf-conventions)i(/)e
+(1)i(.)e(6)i(/)e(cf)o(-con)o(ven)o(tion)o(s)i(.)e(htm)o(l)i(#)e(coor)o
+(din)o(ate-)o(syst)o(em)p FD(\).)73 b(Most)150 1599 y
+FC(CF)31 b FD(netCDF)h(con)m(v)m(en)m(tions)h(are)e(transparen)m(t)g
+(to)g FC(NCO)2077 1566 y Ft(28)2148 1599 y FD(.)42 b(There)30
+b(are)i(no)e(kno)m(wn)h(pitfalls)g(asso)s(ciated)150
+1708 y(with)24 b(using)g(an)m(y)h FC(NCO)f FD(op)s(erator)h(on)f
+(\014les)h(adhering)f(to)h(these)g(con)m(v)m(en)m(tions)2776
+1675 y Ft(29)2848 1708 y FD(.)39 b(Ho)m(w)m(ev)m(er,)28
+b(to)d(facilitate)150 1818 y(maxim)m(um)32 b(user)g(friendliness,)h
+FC(NCO)f FD(applies)h(sp)s(ecial)g(rules)f(to)h(certain)h(v)-5
+b(ariables)33 b(in)f FC(CF)h FD(\014les.)47 b(The)150
+1928 y(sp)s(ecial)25 b(functions)f(are)h(not)g(required)e(b)m(y)i(the)f
+FC(CF)h FD(netCDF)g(con)m(v)m(en)m(tions,)j(y)m(et)d(exp)s(erience)g
+(sho)m(ws)f(that)150 2037 y(they)31 b(simplify)e(data)j(analysis.)275
+2203 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 2313 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 2423
+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 2532 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 2642 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 2751 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
+2861 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 3027 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 3137 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 3247 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
+3356 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 3466
+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 3575 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 3685 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 3794 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 3961 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
+4070 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
+4180 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 4290 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 4399
+y(\(not)c(op)s(erated)f(on)h(arithmetically\).)p 150
+4528 1200 4 v 166 4595 a Ft(28)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(29)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)j Fp(ARM)g Fs(\014les)h(\(see)g(Section)f(3.38)i([ARM)e(Con)n
+(v)n(en)n(tions],)i(page)g(98\))f(and)f(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)c(lobb)n
+(ying.)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.2)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 678 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
+787 y(b)s(oundaries)g(describ)s(ed)h(here)h(\()p Fy(http:)q(/)q(/)q
+(cf-pcmdi)q(.)q(llnl)q(.)q(gov)q(/)q(docum)o(ent)o(s)q(/)q(cf-)o(conv)o
+(ent)o(ions/)q(1)q(.)150 897 y(6/cf-conventions.html#cell-bounda)o
+(ries)o FD(\).)37 b(This)30 b(con)m(v)m(en)m(tion)j(allo)m(ws)g(co)s
+(ordinate)e(v)-5 b(ariables)150 1006 y(\(including)33
+b(m)m(ultidimensional)h(co)s(ordinates\))g(to)g(describ)s(e)f(the)h(b)s
+(oundaries)d(of)j(their)f(cells.)50 b(This)33 b(is)150
+1116 y(done)g(b)m(y)h(naming)f(the)h(v)-5 b(ariable)35
+b(whic)m(h)e(con)m(tains)i(the)f(b)s(ounds)d(in)i(in)h(the)f
+Fy(bounds)f FD(attribute.)52 b(Note)150 1226 y(that)39
+b(co)s(ordinates)h(of)f(rank)f Fv(N)49 b FD(ha)m(v)m(e)40
+b(b)s(ounds)c(of)j(rank)f Fv(N)e FD(+)26 b(1.)66 b(NCO-generated)40
+b(subsets)e(of)h FC(CF)p FD(-)150 1335 y(complian)m(t)31
+b(\014les)f(with)f Fy(bounds)f FD(attributes)i(will)g(include)g(the)g
+(co)s(ordinates)g(sp)s(eci\014ed)f(b)m(y)h(the)g Fy(bounds)150
+1445 y FD(attribute,)h(if)g(an)m(y)-8 b(.)41 b(Hence)31
+b(the)g(subsets)f(will)g(themselv)m(es)i(b)s(e)e FC(CF)p
+FD(-complian)m(t.)275 1604 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
+1714 y(tion)44 b(describ)s(ed)f(here)h(\()p Fy(http:)11
+b(/)g(/)e(cf-pcmdi)i(.)e(llnl)i(.)e(go)o(v)i(/)e(d)o(ocum)o(ent)o(s)i
+(/)e(c)o(f-co)o(nve)o(ntio)o(ns)i(/)d(1)j(.)d(6)j(/)150
+1824 y(cf-conventions)s(.)r(html)s(#)r(coordina)o(te-s)o(yst)o(em)p
+FD(\).)46 b(This)34 b(con)m(v)m(en)m(tion)i(allo)m(ws)g(v)-5
+b(ariables)34 b(to)h(sp)s(ecify)150 1933 y(additional)27
+b(co)s(ordinates)g(\(including)f(m)m(ultidimensional)h(co)s
+(ordinates\))h(in)e(a)g(space-separated)i(string)150
+2043 y(attribute)36 b(named)e Fy(coordinates)p FD(.)52
+b(NCO)34 b(attac)m(hes)j(an)m(y)e(suc)m(h)g(co)s(ordinates)h(to)f(the)h
+(extraction)g(list)150 2152 y(along)41 b(with)f(v)-5
+b(ariable)40 b(and)g(its)g(usual)g(\(one-dimensional\))h(co)s
+(ordinates,)i(if)d(an)m(y)-8 b(.)71 b(These)39 b(auxiliary)150
+2262 y(co)s(ordinates)29 b(are)g(sub)5 b(ject)28 b(to)g(the)h(user-sp)s
+(eci\014ed)e(o)m(v)m(errides)i(describ)s(ed)e(in)h(Section)h(3.12)h
+([Subsetting)150 2372 y(Co)s(ordinate)g(V)-8 b(ariables],)33
+b(page)e(44.)275 2531 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 2641 y FD(con)m(v)m(en)m(tion)48
+b(\()p Fy(http:)13 b(/)g(/)d(cf-pcmdi)j(.)d(llnl)j(.)c(gov)j(/)d(docu)o
+(ment)o(s)k(/)c(cf-)o(conv)o(enti)o(ons)j(/)e(1)i(.)e(7)o(-dra)o(ft1)i
+(/)150 2750 y(cf-conventions.html#cell)o(-met)o(hods)o
+FD(\))25 b(to)30 b(describ)s(e)g(the)g(analysis)g(pro)s(cedures)f(that)
+h(ha)m(v)m(e)i(b)s(een)150 2860 y(applied)23 b(to)g(data.)39
+b(The)22 b(con)m(v)m(en)m(tion)j(creates)f(\(or)g(app)s(ends)c(to)k(an)
+f(existing\))h Fy(cell_methods)19 b FD(attribute)150
+2970 y(a)26 b(space-separated)h(list)g(of)f(couplets)g(of)g(the)g(form)
+g Fz(dmn:)37 b(op)28 b FD(where)d Fz(dmn)g FD(is)h(a)g(comma-separated)
+h(list)150 3079 y(of)e(dimensions)f(previously)h(con)m(tained)h(in)e
+(the)h(v)-5 b(ariable)26 b(that)g(ha)m(v)m(e)g(b)s(een)e(reduced)g(b)m
+(y)h(the)g(arithmetic)150 3189 y(op)s(eration)34 b Fz(op)p
+FD(.)48 b(F)-8 b(or)34 b(example,)h(the)e Fy(cell_methods)d
+FD(v)-5 b(alue)34 b Fy(time:)29 b(mean)j FD(sa)m(ys)h(that)h(the)f(v)-5
+b(ariable)34 b(in)150 3298 y(question)e(w)m(as)g(a)m(v)m(eraged)i(o)m
+(v)m(er)f(the)f Fy(time)f FD(dimension.)44 b(In)31 b(suc)m(h)h(cases)h
+Fy(time)d FD(will)i(either)h(b)s(e)e(a)h(scalar)150 3408
+y(v)-5 b(ariable)43 b(or)g(a)g(degenerate)h(dimension)e(or)g(co)s
+(ordinate.)78 b(This)42 b(simply)g(means)g(that)h(it)g(has)g(b)s(een)
+150 3517 y(a)m(v)m(eraged-o)m(v)m(er.)57 b(The)34 b(v)-5
+b(alue)35 b Fy(time,)29 b(lon:)g(mean)g(lat:)g(max)34
+b FD(sa)m(ys)h(that)g(the)g(v)-5 b(ariable)35 b(in)f(question)h(is)150
+3627 y(the)d(maxim)m(um)f(zonal)i(mean)e(of)h(the)g(time)g(a)m(v)m
+(eraged)i(original)e(v)-5 b(ariable.)45 b(Whic)m(h)32
+b(is)g(to)g(sa)m(y)h(that)f(the)150 3737 y(v)-5 b(ariable)30
+b(w)m(as)g(\014rst)e(a)m(v)m(eraged)k(o)m(v)m(er)e(time)g(and)f
+(longitude,)h(and)f(then)g(the)g(residual)g(latitudinal)h(arra)m(y)150
+3846 y(w)m(as)24 b(reduced)g(b)m(y)f(c)m(ho)s(osing)i(the)f(maxim)m(um)
+g(v)-5 b(alue.)39 b(Since)24 b(the)g Fy(cell)29 b(methods)22
+b FD(con)m(v)m(en)m(tion)k(ma)m(y)f(alter)150 3956 y(metadata)k(in)f
+(an)f(undesirable)g(\(or)h(p)s(ossibly)f(incorrect\))i(fashion,)g(w)m
+(e)f(pro)m(vide)g(switc)m(hes)g(to)g(ensure)f(it)150
+4065 y(is)33 b(alw)m(a)m(ys)i(or)f(nev)m(er)f(used.)49
+b(Use)34 b(long-options)h(`)p Fy(--cll_mth)p FD(')c(or)i(`)p
+Fy(--cell_methods)p FD(')d(to)k(in)m(v)m(ok)m(e)i(the)150
+4175 y(algorithm)e(\(true)g(b)m(y)f(default\),)i(and)e(options)g(`)p
+Fy(--no_cll_mth)p FD(')e(or)i(`)p Fy(--no_cell_methods)p
+FD(')c(to)34 b(turn)150 4285 y(it)d(o\013.)41 b(These)30
+b(options)h(are)g(only)f(a)m(v)-5 b(ailable)33 b(in)d(the)g(op)s
+(erators)h Fy(ncwa)e FD(and)h Fy(ncra)p FD(.)150 4518
+y FB(3.38)68 b Fu(ARM)45 b FB(Con)l(v)l(en)l(tions)150
+4628 y Fk(\013)p 200 4628 3554 4 v 3553 w(\010)p 150
+5008 4 333 v 178 4764 a FD(Av)-5 b(ailabilit)m(y:)43
+b Fy(ncrcat)178 4874 y FD(Short)30 b(options:)41 b(None)p
+3803 5008 V 150 5060 a Fk(\012)p 200 5060 3554 4 v 3553
+w(\011)275 5230 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 5340 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(.)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 Fy(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 408 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
+518 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 628 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 737 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 847 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
+956 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 1066 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 1176 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)150 1285 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 1395 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
+1504 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 1614 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 1724 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 1724 28 4 v 45 w(time)h FD(+)20
+b Fz(time)p 2160 1724 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
+1833 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 1943 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
+2175 y FB(3.39)68 b(Op)t(erator)46 b(V)-11 b(ersion)150
+2309 y Fk(\013)p 200 2309 3554 4 v 3553 w(\010)p 150
+2799 4 442 v 178 2445 a FD(Av)-5 b(ailabilit)m(y:)43
+b(All)31 b(op)s(erators)178 2555 y(Short)f(options:)41
+b(`)p Fy(-r)p FD(')178 2664 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 2799 V 150 2850 a Fk(\012)p 200
+2850 3554 4 v 3553 w(\011)275 3020 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 3130 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 3240 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
+3349 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 3459 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
+3568 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 3678 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 3788 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 3897
+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
+4007 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: 100 106
+TeXDict begin 100 105 bop eop end
+%%Page: 101 107
+TeXDict begin 101 106 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(101)150
+299 y Fx(4)80 b(Op)t(erator)54 b(Reference)e(Man)l(ual)150
+558 y FD(This)29 b(c)m(hapter)h(presen)m(ts)g(reference)g(pages)g(for)f
+(eac)m(h)i(of)f(the)f(op)s(erators)h(individually)-8
+b(.)41 b(The)29 b(op)s(erators)150 667 y(are)37 b(presen)m(ted)f(in)g
+(alphab)s(etical)i(order.)58 b(All)37 b(v)-5 b(alid)36
+b(command)h(line)f(switc)m(hes)h(are)g(included)f(in)g(the)150
+777 y(syn)m(tax)k(statemen)m(t.)70 b(Recall)41 b(that)f(descriptions)f
+(of)h(man)m(y)g(of)f(these)h(command)g(line)f(switc)m(hes)i(are)150
+887 y(pro)m(vided)25 b(only)h(in)f(Chapter)g(3)h([Common)f(features],)i
+(page)f(25,)i(to)e(a)m(v)m(oid)h(redundancy)-8 b(.)38
+b(Only)25 b(options)150 996 y(sp)s(eci\014c)39 b(to,)k(or)d(most)f
+(useful)g(with,)j(a)e(particular)g(op)s(erator)f(are)h(describ)s(ed)f
+(in)g(an)m(y)h(detail)h(in)e(the)150 1106 y(sections)31
+b(b)s(elo)m(w.)p eop end
+%%Page: 102 108
+TeXDict begin 102 107 bop 150 -116 a FD(102)2582 b FC(NCO)30
+b FD(4.4.2)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
+(language)i(of)e(op)s(erations,)i(including)e(lo)s(ops,)i(con-)178
+682 y(ditionals,)h(arra)m(ys,)e(and)f(math)g(functions.)56
+b Fy(ncap2)35 b FD(is)h(the)g(most)g(rapidly)f(c)m(hanging)i
+FC(NCO)f FD(op)s(erator)178 791 y(and)e(its)h(do)s(cumen)m(tation)g(is)
+f(incomplete.)54 b(The)34 b(distribution)g(\014le)h Fy
+(data/ncap2_tst.nco)29 b FD(con)m(tains)178 901 y(an)39
+b(up-to-date)g(o)m(v)m(erview)h(of)f(its)f(syn)m(tax)h(and)f
+(capabilities.)67 b(The)38 b Fy(data/*.nco)d FD(distribution)j(\014les)
+178 1010 y(\(esp)s(ecially)32 b Fy(bin_cnt.nco)p FD(,)c
+Fy(psd_wrf.nco)p FD(,)f(and)j Fy(rgr.nco)p FD(\))e(con)m(tain)k
+(in-depth)d(examples)i(of)g Fy(ncap2)178 1120 y FD(solutions)g(to)g
+(complex)g(problems.)p 3803 1163 V 150 1214 a Fk(\012)p
+200 1214 3554 4 v 3553 w(\011)150 1393 y FD(SYNT)-8 b(AX)390
+1563 y Fy(ncap2)46 b([-3])h([-4])g([-6])f([-7])h([-A])g([-C])f([-c])390
+1672 y([-D)h Fn(dbg)p Fy(])g([-F])f([-f])h([-h])f([--hdf])g([--hdr_pad)
+f Fn(nbr)p Fy(])i([-L)g Fn(dfl_lvl)p Fy(])e([-l)i Fn(path)p
+Fy(])390 1782 y([--no_tmp_fl])d([-O])j([-o)g Fn(output-file)p
+Fy(])d([-p)j Fn(path)p Fy(])f([-R])h([-r])g([--ram_all])390
+1892 y([-s)g Fn(algebra)p Fy(])e([-S)i Fn(fl.nco)p Fy(])f([-t)h
+Fn(thr_nbr)p Fy(])f([-v])390 2001 y Fn(input-file)f Fy([)p
+Fn(output-file)p Fy(])150 2171 y FD(DESCRIPTION)275 2340
+y Fy(ncap2)25 b FD(arithmetically)k(pro)s(cesses)d(netCDF)i(\014les)
+2009 2307 y Ft(1)2046 2340 y FD(.)39 b(The)27 b(pro)s(cessing)f
+(instructions)h(are)g(con)m(tained)150 2450 y(either)40
+b(in)f(the)g FC(NCO)g FD(script)h(\014le)f Fy(fl.nco)f
+FD(or)h(in)g(a)h(sequence)f(of)h(command)f(line)h(argumen)m(ts.)67
+b(The)150 2559 y(options)40 b(`)p Fy(-s)p FD(')f(\(or)h(long)g(options)
+f(`)p Fy(--spt)p FD(')g(or)g(`)p Fy(--script)p FD('\))f(are)i(used)e
+(for)h(in-line)h(scripts)f(and)g(`)p Fy(-S)p FD(')150
+2669 y(\(or)f(long)g(options)g(`)p Fy(--fl_spt)p FD(')d(or)j(`)p
+Fy(--script-file)p FD('\))d(are)j(used)e(to)i(pro)m(vide)g(the)g
+(\014lename)f(where)150 2778 y(\(usually)32 b(m)m(ultiple\))g
+(scripting)g(commands)f(are)h(pre-stored.)45 b Fy(ncap2)30
+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(69,)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
+Fy(ncap2)d FD(do)s(es)h(not)h(accept)h(a)f(list)g(of)g(v)-5
+b(ariables)26 b(to)g(b)s(e)f(op)s(erated)g(on)h(as)150
+3386 y(an)32 b(argumen)m(t)g(to)h(`)p Fy(-v)p FD(')f(\(see)h(Section)g
+(3.11)h([Subsetting)e(Files],)i(page)e(40\).)47 b(Rather,)33
+b(the)g(`)p Fy(-v)p FD(')e(switc)m(h)150 3496 y(tak)m(es)42
+b(no)e(argumen)m(ts)g(and)g(indicates)h(that)g Fy(ncap2)e
+FD(should)g(output)h Fo(only)49 b FD(user-de\014ned)39
+b(v)-5 b(ariables.)150 3605 y Fy(ncap2)27 b FD(neither)h(accepts)i(nor)
+e(understands)f(the)h Fz(-x)35 b FD(switc)m(h.)41 b(NB:)29
+b(As)g(of)f(20120515,)33 b Fy(ncap2)27 b FD(is)h(unable)150
+3715 y(to)j(app)s(end)e(to)i(\014les)f(that)h(already)g(con)m(tain)h
+(the)e(app)s(ended)f(dimensions.)275 3884 y(De\014ning)g(new)f(v)-5
+b(ariables)30 b(in)f(terms)g(of)g(existing)h(v)-5 b(ariables)30
+b(is)f(a)h(p)s(o)m(w)m(erful)e(feature)i(of)f Fy(ncap2)p
+FD(.)39 b(De-)150 3994 y(riv)m(ed)g(\014elds)f(inherit)h(the)g
+(metadata)h(\(i.e.,)j(attributes\))c(of)g(their)g(ancestors,)j(if)d(an)
+m(y)-8 b(,)42 b(in)c(the)h(script)150 4104 y(or)h(input)f(\014le.)69
+b(When)40 b(the)g(deriv)m(ed)g(\014eld)f(is)h(completely)i(new)d(\(no)h
+(iden)m(tically-named)i(ancestors)150 4213 y(exist\),)29
+b(then)e(it)g(inherits)g(the)g(metadata)h(\(if)g(an)m(y\))f(of)g(the)h
+(left-most)g(v)-5 b(ariable)28 b(on)f(the)g(righ)m(t)g(hand)f(side)150
+4323 y(of)33 b(the)g(de\014ning)f(expression.)48 b(This)32
+b(metadata)i(inheritance)f(is)g(called)h Fz(attribute)g(propagation)p
+FD(.)49 b(A)m(t-)150 4432 y(tribute)24 b(propagation)h(is)f(in)m
+(tended)g(to)h(facilitate)h(w)m(ell-do)s(cumen)m(ted)g(data)e
+(analysis,)i(and)e(w)m(e)g(w)m(elcome)150 4542 y(suggestions)31
+b(to)g(impro)m(v)m(e)h(this)e(feature.)275 4711 y(The)h(only)h
+(exception)i(to)e(this)g(rule)g(of)g(attribute)h(propagation)g(is)f(in)
+g(cases)h(of)f(left)h(hand)e(casting)150 4821 y(\(see)d(Section)f
+(4.1.4)i([Left)e(hand)f(casting],)j(page)e(108\).)41
+b(The)27 b(user)f(m)m(ust)g(man)m(ually)i(de\014ne)d(the)i(prop)s(er)
+150 4931 y(metadata)32 b(for)e(v)-5 b(ariables)31 b(de\014ned)e(using)h
+(left)h(hand)f(casting.)p 150 5066 1200 4 v 199 5134
+a Ft(1)275 5166 y Fr(ncap2)22 b Fs(is)g(the)f(successor)i(to)f
+Fr(ncap)g Fs(whic)n(h)g(w)n(as)g(put)f(in)n(to)g(main)n(tenance)h(mo)r
+(de)g(in)f(No)n(v)n(em)n(b)r(er,)h(2006.)34 b(This)23
+b(do)r(cumen-)275 5253 y(tation)e(refers)h(to)f Fr(ncap2)p
+Fs(,)i(whic)n(h)e(has)g(a)g(sup)r(erset)g(of)g(the)g
+Fr(ncap)g Fs(functionalit)n(y)-6 b(.)33 b(Ev)n(en)n(tually)21
+b Fr(ncap)g Fs(will)h(b)r(e)f(deprecated)275 5340 y(in)k(fa)n(v)n(or)h
+Fr(ncap2)p Fs(.)36 b Fr(ncap2)27 b Fs(ma)n(y)e(b)r(e)h(renamed)f
+Fr(ncap)i Fs(in)e(2013.)p eop end
+%%Page: 103 109
+TeXDict begin 103 108 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(103)150
+299 y Fu(4.1.1)63 b(Syn)m(tax)39 b(of)j Fl(ncap2)g Fu(statemen)m(ts)150
+446 y FD(Mastering)33 b Fy(ncap2)d FD(is)i(relativ)m(ely)i(simple.)44
+b(Eac)m(h)33 b(v)-5 b(alid)32 b(statemen)m(t)h Fz(statemen)m(t)j
+FD(consists)c(of)g(standard)150 555 y(forw)m(ard)j(algebraic)j
+(expression.)56 b(The)35 b Fy(fl.nco)p FD(,)h(if)g(presen)m(t,)h(is)f
+(simply)f(a)h(list)h(of)f(suc)m(h)f(statemen)m(ts,)150
+665 y(whitespace,)26 b(and)d(commen)m(ts.)39 b(The)23
+b(syn)m(tax)h(of)g(statemen)m(ts)i(is)d(most)h(lik)m(e)h(the)f
+(computer)f(language)32 b(C.)150 775 y(The)e(follo)m(wing)i(c)m
+(haracteristics)h(of)d(C)g(are)h(preserv)m(ed:)150 953
+y(Arra)m(y)g(syn)m(tax)630 1063 y(Arra)m(ys)f(elemen)m(ts)i(are)f
+(placed)g(within)f Fy([])f FD(c)m(haracters;)150 1210
+y(Arra)m(y)i(indexing)630 1320 y(Arra)m(ys)f(are)h(0-based;)150
+1467 y(Arra)m(y)g(storage)630 1577 y(Last)g(dimension)f(is)g(most)h
+(rapidly)f(v)-5 b(arying;)150 1724 y(Assignmen)m(t)31
+b(statemen)m(ts)630 1834 y(A)f(semi)q(-colon)h(`)p Fy(;)p
+FD(')g(indicates)g(the)g(end)f(of)g(an)g(assignmen)m(t)i(statemen)m(t.)
+150 1982 y(Commen)m(ts)630 2091 y(Multi-line)22 b(commen)m(ts)g(are)f
+(enclosed)h(within)e Fy(/*)30 b(*/)21 b FD(c)m(haracters.)39
+b(Single)21 b(line)g(commen)m(ts)630 2201 y(are)31 b(preceded)f(b)m(y)g
+Fy(//)g FD(c)m(haracters.)150 2348 y(Nesting)180 b(Files)26
+b(ma)m(y)g(b)s(e)f(nested)g(in)g(scripts)g(using)g Fy(#include)j
+Fn(script)p FD(.)37 b(Note)27 b(that)f(the)f Fy(#include)630
+2458 y FD(command)g(is)h(not)g(follo)m(w)m(ed)h(b)m(y)e(a)h(semi-colon)
+h(b)s(ecause)f(it)g(is)f(a)h(pre-pro)s(cessor)f(directiv)m(e,)630
+2568 y(not)37 b(an)g(assignmen)m(t)h(statemen)m(t.)63
+b(The)37 b(\014lename)g Fy(script)e FD(is)j(in)m(terpreted)f(relativ)m
+(e)i(to)630 2677 y(the)31 b(run)d(directory)-8 b(.)150
+2825 y(A)m(ttribute)31 b(syn)m(tax)630 2934 y(The)f(at-sign)h
+Fy(@)f FD(is)h(used)e(to)i(delineate)h(an)f(attribute)g(name)f(from)g
+(a)h(v)-5 b(ariable)31 b(name.)150 3122 y Fu(4.1.2)63
+b(Expressions)150 3269 y FD(Expressions)40 b(are)h(the)f(fundamen)m
+(tal)h(building)e(blo)s(c)m(k)i(of)g Fy(ncap2)p FD(.)70
+b(Expressions)40 b(are)g(comp)s(osed)h(of)150 3378 y(v)-5
+b(ariables,)44 b(n)m(um)m(b)s(ers,)d(literals,)j(and)c(attributes.)71
+b(The)40 b(follo)m(wing)h(C)30 b(op)s(erators)41 b(are)f(\\o)m(v)m
+(erloaded")150 3488 y(and)30 b(w)m(ork)g(with)g(scalars)i(and)d(m)m
+(ulti-dimensional)j(arra)m(ys:)390 3647 y Fy(Arithmetic)45
+b(Operators:)g(*)i(/)h(\045)f(+)h(-)f(^)390 3757 y(Binary)f(Operators:)
+236 b(>)47 b(>=)h(<)f(<=)g(==)g(!=)h(==)f(||)g(&&)g(>>)g(<<)390
+3866 y(Unary)f(Operators:)284 b(+)47 b(-)h(++)f(--)g(!)390
+3976 y(Conditional)e(Operator:)g(exp1)i(?)g(exp2)g(:)g(exp3)390
+4086 y(Assign)f(Operators:)236 b(=)47 b(+=)h(-=)f(/=)g(*=)275
+4245 y FD(In)33 b(the)i(follo)m(wing)h(section)g(a)e
+Fz(v)-5 b(ariable)41 b FD(also)35 b(refers)f(to)i(a)e(n)m(um)m(b)s(er)g
+(literal)i(whic)m(h)e(is)g(read)h(in)f(as)h(a)150 4355
+y(scalar)c(v)-5 b(ariable:)275 4514 y Fq(Arithmetic)31
+b(and)e(Binary)h(Op)s(erators)275 4673 y FD(Consider)f
+Fo(var1)34 b('op')f(var2)275 4833 y Fq(Precision)225
+4992 y FA(\017)60 b FD(When)30 b(b)s(oth)g(op)s(erands)g(are)h(v)-5
+b(ariables,)31 b(the)g(result)g(has)f(the)h(precision)g(of)g(the)f
+(higher)h(precision)330 5102 y(op)s(erand.)225 5230 y
+FA(\017)60 b FD(When)26 b(one)h(op)s(erand)f(is)g(a)h(v)-5
+b(ariable)28 b(and)e(the)h(other)f(an)h(attribute,)h(the)f(result)g
+(has)f(the)h(precision)330 5340 y(of)k(the)f(v)-5 b(ariable.)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.2)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(\\)
+p Fy(^)p FD(")g(is)f(an)h(exception)h(to)f(the)g(ab)s(o)m(v)m(e)g
+(rules.)89 b(When)47 b(b)s(oth)330 649 y(op)s(erands)40
+b(ha)m(v)m(e)j(t)m(yp)s(e)e(less)h(than)f Fy(NC_FLOAT)p
+FD(,)h(the)f(result)g(is)h Fy(NC_FLOAT)p FD(.)71 b(When)41
+b(either)h(t)m(yp)s(e)330 759 y(is)30 b Fy(NC_DOUBLE)p
+FD(,)f(the)h(result)g(is)h(also)g Fy(NC_DOUBLE)p FD(.)275
+940 y Fq(Rank)225 1099 y FA(\017)60 b FD(The)28 b(Rank)g(of)g(the)h
+(result)f(is)h(generally)g(equal)g(to)g(Rank)f(of)h(the)f(op)s(erand)g
+(that)g(has)h(the)f(greatest)330 1209 y(n)m(um)m(b)s(er)h(of)i
+(dimensions.)225 1340 y FA(\017)60 b FD(If)37 b(the)g(dimensions)f(in)h
+(v)-5 b(ar2)37 b(are)h(a)f(subset)g(of)g(the)g(dimensions)f(in)h(v)-5
+b(ar1)37 b(then)g(its)h(p)s(ossible)e(to)330 1450 y(mak)m(e)31
+b(v)-5 b(ar2)31 b(conform)f(to)h(v)-5 b(ar1)31 b(through)f
+(broadcasting)h(and)f(or)g(dimension)g(reordering.)225
+1581 y FA(\017)60 b FD(Broadcasting)42 b(a)g(v)-5 b(ariable)41
+b(means)g(creating)h(data)g(in)e(non-existing)i(dimensions)e(b)m(y)h
+(cop)m(ying)330 1690 y(data)31 b(in)f(existing)h(dimensions.)225
+1822 y FA(\017)60 b FD(More)31 b(sp)s(eci\014cally:)41
+b(If)30 b(the)h(n)m(um)m(b)s(ers)e(of)h(dimensions)g(in)g(v)-5
+b(ar1)31 b(is)f(greater)h(than)g(or)f(equal)h(to)g(the)330
+1931 y(n)m(um)m(b)s(er)f(of)i(dimensions)f(in)g(v)-5
+b(ar2)32 b(then)f(an)h(attempt)h(is)e(made)h(to)g(mak)m(e)h(v)-5
+b(ar2)32 b(conform)f(to)i(v)-5 b(ar1)330 2041 y(,else)40
+b(v)-5 b(ar1)39 b(is)f(made)h(to)g(conform)g(to)g(v)-5
+b(ar2.)66 b(If)38 b(conformance)i(is)e(not)h(p)s(ossible)f(then)h(an)f
+(error)330 2150 y(message)31 b(will)g(b)s(e)f(emitted)h(and)f(script)g
+(execution)i(will)f(cease.)150 2441 y(Ev)m(en)h(though)g(the)h(logical)
+h(op)s(erators)f(return)e(T)-8 b(rue\(1\))33 b(or)f(F)-8
+b(alse\(0\))35 b(they)d(are)h(treated)g(in)f(the)h(same)150
+2550 y(w)m(a)m(y)e(as)g(the)g(arithmetic)g(op)s(erators)g(with)f
+(regard)g(to)h(precision)g(and)f(rank.)150 2660 y(Examples:)390
+2819 y Fy(dimensions:)45 b(time=10,)g(lat=2,)h(lon=4)390
+2929 y(Suppose)g(we)h(have)g(the)g(two)f(variables:)390
+3148 y(double)94 b(P\(time,lat,lon\);)390 3258 y(float)142
+b(PZ0\(lon,lat\);)92 b(//)47 b(PZ0=1,2,3,4,5,6,7,8;)390
+3477 y(Consider)f(now)g(the)h(expression:)438 3587 y(PZ=P-PZ0)390
+3806 y(PZ0)g(is)g(made)g(to)g(conform)f(to)h(P)g(and)g(the)g(result)f
+(is)390 3915 y(PZ0)h(=)533 4025 y(1,3,5,7,2,4,6,8,)533
+4134 y(1,3,5,7,2,4,6,8,)533 4244 y(1,3,5,7,2,4,6,8,)533
+4354 y(1,3,5,7,2,4,6,8,)533 4463 y(1,3,5,7,2,4,6,8,)533
+4573 y(1,3,5,7,2,4,6,8,)533 4682 y(1,3,5,7,2,4,6,8,)533
+4792 y(1,3,5,7,2,4,6,8,)533 4902 y(1,3,5,7,2,4,6,8,)533
+5011 y(1,3,5,7,2,4,6,8,)390 5230 y(Once)g(the)g(expression)e(is)i
+(evaluated)e(then)i(PZ)g(will)f(be)i(of)f(type)f(double;)p
+eop end
+%%Page: 105 111
+TeXDict begin 105 110 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(105)390
+299 y Fy(Consider)46 b(now)438 408 y(start=four-att_var at doub)o(le_a)o
+(tt;)89 b(//)47 b(start)g(=-69)94 b(and)47 b(is)g(of)g(type)g(intger;)
+438 518 y(four_pow=four^3.0f)711 b(//)47 b(four_pow=64)e(and)i(is)g(of)
+g(type)g(float)438 628 y(three_nw=three_dmn_var_)o(sht*)o(1.0f)o(;)42
+b(//)47 b(type)g(is)g(now)g(float)438 737 y(start at n1=att_var at short_)o
+(att*)o(att_)o(var)o(@int)o(_att)o(;)2013 847 y(//)g(start at n1=5329)d
+(and)j(is)g(type)g(int)150 1044 y Fq(Binary)30 b(Op)s(erators)150
+1154 y FD(Unlik)m(e)36 b(C)f(the)g(binary)f(op)s(erators)i(return)d(an)
+i(arra)m(y)h(of)f(v)-5 b(alues.)55 b(There)35 b(is)g(no)g(suc)m(h)g
+(thing)g(as)g(short)150 1263 y(circuiting)i(with)f(the)h(AND/OR)g(op)s
+(erators.)59 b(Missing)37 b(v)-5 b(alues)37 b(are)g(carried)f(in)m(to)i
+(the)e(result)h(in)f(the)150 1373 y(same)f(w)m(a)m(y)g(they)f(are)h
+(with)f(the)g(arithmetic)h(op)s(erators.)53 b(When)34
+b(an)g(expression)g(is)g(ev)-5 b(aluated)35 b(in)f(an)150
+1482 y(if\(\))d(the)g(missing)f(v)-5 b(alues)31 b(are)f(treated)i(as)e
+(true.)150 1592 y(The)g(binary)f(op)s(erators)i(are,)g(in)f(order)g(of)
+g(precedence:)390 1899 y Fy(!)143 b(Logical)46 b(Not)390
+2008 y(------------------------)o(----)390 2118 y(<<)95
+b(Less)47 b(Than)f(Selection)390 2228 y(>>)95 b(Greater)46
+b(Than)g(Selection)390 2337 y(------------------------)o(----)390
+2447 y(>)143 b(Greater)46 b(than)390 2556 y(>=)95 b(Greater)46
+b(than)g(or)i(equal)e(to)390 2666 y(<)143 b(Less)47 b(than)390
+2776 y(<=)95 b(Less)47 b(than)f(or)h(equal)g(to)390 2885
+y(------------------------)o(----)390 2995 y(==)95 b(Equal)46
+b(to)390 3104 y(!=)95 b(Not)47 b(equal)f(to)390 3214
+y(------------------------)o(----)390 3324 y(&&)95 b(Logical)46
+b(AND)390 3433 y(------------------------)o(----)390
+3543 y(||)95 b(Logical)46 b(OR)390 3652 y(------------------------)o
+(----)275 3850 y FD(T)-8 b(o)24 b(see)h(all)g(op)s(erators:)37
+b(see)25 b(Section)g(4.1.26)h([Op)s(erator)e(precedence)h(and)e(asso)s
+(ciativit)m(y],)29 b(page)c(150)150 3959 y(Examples:)390
+4156 y Fy(tm1=time>2)45 b(&&)i(time)g(<7;)94 b(//)48
+b(tm1=0,)e(0,)h(1,)g(1,)g(1,)g(1,)h(0,)f(0,)g(0,)g(0)h(double)390
+4266 y(tm2=time==3)d(||)i(time>=6;)e(//)j(tm2=0,)e(0,)h(1,)g(0,)g(0,)g
+(1,)h(1,)f(1,)g(1,)g(1)h(double)390 4376 y(tm3=int\(!tm1\);)473
+b(//)48 b(tm3=1,)e(1,)h(0,)g(0,)g(0,)g(0,)h(1,)f(1,)g(1,)g(1)h(int)390
+4485 y(tm4=tm1)e(&&)h(tm2;)428 b(//)48 b(tm4=0,)e(0,)h(1,)g(0,)g(0,)g
+(1,)h(0,)f(0,)g(0,)g(0)h(double)390 4595 y(tm5=!tm4;)713
+b(//)48 b(tm5=1,)e(1,)h(0,)g(1,)g(1,)g(0,)h(1,)f(1,)g(1,)g(1)h(double)
+150 4792 y Fq(Regular)31 b(Assign)f(Op)s(erator)150 4902
+y Fo(var1)k('=')e(exp1)150 5011 y FD(If)38 b(v)-5 b(ar1)38
+b(do)s(es)g(not)g(already)g(exist)h(in)f(Output)f(then)h(v)-5
+b(ar1)38 b(is)g(written)g(to)h(Output)e(with)g(the)i(v)-5
+b(alues)150 5121 y(and)28 b(dimensions)g(from)g(expr1.)40
+b(If)28 b(v)-5 b(ar1)29 b(already)g(exists)g(in)f(Output,)g(then)g(the)
+h(only)f(requiremen)m(t)h(on)150 5230 y(expr1)g(is)f(that)h(the)g(n)m
+(um)m(b)s(er)f(of)g(elemen)m(ts)i(m)m(ust)f(matc)m(h)g(the)g(n)m(um)m
+(b)s(er)e(already)j(on)e(disk.)40 b(The)28 b(t)m(yp)s(e)h(of)150
+5340 y(expr1)h(is)h(con)m(v)m(erted)h(if)e(necessary)h(to)g(the)f(disk)
+g(t)m(yp)s(e.)p eop end
+%%Page: 106 112
+TeXDict begin 106 111 bop 150 -116 a FD(106)2582 b FC(NCO)30
+b FD(4.4.2)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
+b(ar1)37 b(then)g(an)g(attempt)i(is)e(made)g(to)h(mak)m(e)g(it)150
+628 y(conform)23 b(to)i(v)-5 b(ar1.)39 b(If)23 b(exp1)g(is)h(an)f
+(attribute)i(it)f(m)m(ust)f(ha)m(v)m(e)i(unit)m(y)e(size)i(or)e(else)i
+(ha)m(v)m(e)g(the)e(same)h(n)m(um)m(b)s(er)150 737 y(of)37
+b(elemen)m(ts)i(as)e(v)-5 b(ar1.)62 b(If)37 b(expr1)g(has)g(a)g
+(di\013eren)m(t)h(t)m(yp)s(e)g(to)f(v)-5 b(ar1)38 b(the)f(it)h(is)f
+(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
+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
+(if/then/else.)150 2670 y(If)k(exp1)h(ev)-5 b(aluates)31
+b(to)h(true)e(then)g(exp2)g(is)h(returned)e(else)i(exp3)g(is)f
+(returned.)275 2837 y(Example:)390 3005 y Fy
+(weight_avg=weight.avg\(\);)390 3114 y(weight_avg at units=)43
+b(\(weight_avg)i(==)i(1)g(?)h("kilo")e(:)h("kilos"\);)390
+3224 y(PS_nw=PS-\(PS.min\(\))c(>)k(100000)f(?)i(100000)e(:)h(0\);)150
+3391 y Fq(Clipping)30 b(Op)s(erators)150 3592 y Fy(<<)g
+FD(Less-than)g(Clipping)630 3811 y(F)-8 b(or)28 b(arra)m(ys,)g(the)g
+(less-than)f(selection)i(op)s(erator)f(selects)g(all)g(v)-5
+b(alues)28 b(in)f(the)g(left)h(op)s(erand)630 3920 y(that)37
+b(are)g(less)g(than)g(the)g(corresp)s(onding)e(v)-5 b(alue)37
+b(in)g(the)g(righ)m(t)g(op)s(erand.)58 b(If)37 b(the)f(v)-5
+b(alue)630 4030 y(of)32 b(the)g(left)g(side)f(is)h(greater)h(than)e(or)
+h(equal)g(to)g(the)g(corresp)s(onding)f(v)-5 b(alue)32
+b(of)g(the)f(righ)m(t)630 4139 y(side,)g(then)f(the)g(righ)m(t)h(side)f
+(v)-5 b(alue)31 b(is)g(placed)g(in)f(the)g(result)150
+4315 y Fy(>>)g FD(Greater-than)h(Clipping)630 4534 y(F)-8
+b(or)46 b(arra)m(ys,)51 b(the)46 b(greater-than)h(selection)g(op)s
+(erator)f(selects)h(all)g(v)-5 b(alues)46 b(in)f(the)h(left)630
+4644 y(op)s(erand)38 b(that)h(are)h(greater)g(than)f(the)g(corresp)s
+(onding)f(v)-5 b(alue)39 b(in)g(the)g(righ)m(t)h(op)s(erand.)630
+4753 y(If)33 b(the)h(v)-5 b(alue)34 b(of)g(the)g(left)h(side)e(is)h
+(less)g(than)g(or)f(equal)i(to)f(the)g(corresp)s(onding)f(v)-5
+b(alue)34 b(of)630 4863 y(the)d(righ)m(t)g(side,)f(then)g(the)h(righ)m
+(t)g(side)f(v)-5 b(alue)31 b(is)f(placed)h(in)f(the)h(result.)275
+5063 y(Example:)390 5230 y Fy(RDM2=RDM)46 b(>>)h(100.0)f(//)h
+(100,100,100,100,126,126,1)o(00,1)o(00,1)o(00,)o(100)41
+b(double)390 5340 y(RDM2=RDM)46 b(<<)94 b(90s)h(//)47
+b(1,)g(9,)h(36,)f(84,)f(90,)h(90,)g(84,)g(36,)g(9,)g(1)h(int)p
+eop end
+%%Page: 107 113
+TeXDict begin 107 112 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(107)150
+299 y Fu(4.1.3)63 b(Dimensions)150 446 y FD(Dimensions)31
+b(are)f(de\014ned)f(in)i(Output)e(using)h(the)g Fy(defdim\(\))e
+FD(function.)390 616 y Fy(defdim\("cnt",10\);)275 787
+y FD(This)35 b(dimension)g(name)h(m)m(ust)f(then)h(b)s(e)f(pre\014xed)g
+(with)g(a)h(dollar-sign)h(`)p Fy($)p FD(')f(when)f(referred)g(to)h(in)
+150 896 y(metho)s(d)30 b(argumen)m(ts)g(or)h(left-hand-casting,)h
+(e.g.,)390 1067 y Fy(new_var[$cnt]=time;)390 1176 y
+(temperature[$time,$lat,$)o(lon])o(=35.)o(5;)390 1286
+y(temp_avg=temperature.avg)o(\($ti)o(me\);)275 1456 y
+FD(The)d Fy(size)h FD(metho)s(d)f(allo)m(ws)j(the)f(dimension)e(size)j
+(to)f(b)s(e)f(used)f(in)h(an)g(arithmetic)i(expression:)390
+1627 y Fy(time_avg=time.total\(\))42 b(/)47 b($time.size;)275
+1797 y FD(Increase)30 b(the)h(size)g(of)g(a)f(new)g(v)-5
+b(ariable)31 b(b)m(y)g(one)f(and)g(set)h(new)f(mem)m(b)s(er)g(to)h
+(zero:)390 1967 y Fy(defdim\("cnt_new",$cnt.si)o(ze+1)o(\);)390
+2077 y(new_var[$cnt_new]=0.0;)390 2187 y(new_var\(0:\($cnt_new.size)o
+(-2\)\))o(=old)o(_va)o(r;)150 2357 y Fq(Dimension)f(Abbreviations)180
+2467 y FD(It)h(is)f(p)s(ossible)g(to)h(use)f(dimension)g(abbreviations)
+h(as)g(metho)s(d)e(argumen)m(ts:)150 2576 y Fy($0)h FD(is)g(the)h
+(\014rst)e(dimension)h(of)h(a)f(v)-5 b(ariable)150 2686
+y Fy($1)30 b FD(is)g(the)h(second)f(dimension)g(of)h(a)f(v)-5
+b(ariable)150 2795 y Fy($n)30 b FD(is)g(the)h(n)p Fy(+)p
+FD(1)f(dimension)g(of)g(a)h(v)-5 b(ariable)390 3075 y
+Fy(float)46 b(four_dmn_rec_var\(time,lat,)o(lev)o(,lon)o(\);)390
+3185 y(double)g(three_dmn_var_dbl\(time,la)o(t,l)o(on\);)390
+3404 y(four_nw=four_dmn_rev_var)o(.rev)o(erse)o(\($t)o(ime,)o($lon)o
+(\))390 3514 y(four_nw=four_dmn_rec_var)o(.rev)o(erse)o(\($0)o(,$3\))o
+(;)390 3733 y(four_avg=four_dmn_rec_va)o(r.av)o(g\($l)o(at,)o($lev)o
+(\);)390 3842 y(four_avg=four_dmn_rec_va)o(r.av)o(g\($1)o(,$2)o(\);)390
+4062 y(three_mw=three_dmn_var_d)o(bl.p)o(ermu)o(te\()o($tim)o(e,$l)o
+(on,)o($lat)o(\);)390 4171 y(three_mw=three_dmn_var_d)o(bl.p)o(ermu)o
+(te\()o($0,$)o(2,$1)o(\);)150 4342 y Fq(ID)30 b(Quoting)197
+4451 y FD(If)46 b(the)i(dimension)e(name)h(con)m(tains)h(non-regular)f
+(c)m(haracters)i(use)d(ID)i(quoting.)91 b(See)47 b(see)g(Sec-)150
+4561 y(tion)31 b(4.1.27)h([ID)f(Quoting],)g(page)g(151)390
+4731 y Fy(defdim\("a--list.A",10\);)390 4841 y(A1['$a--list.A']=30.0;)
+150 5011 y Fq(GOTCHA)180 5121 y FD(It)g(is)g(not)g(p)s(ossible)f(to)h
+(man)m(ually)g(de\014ne)f(in)g(Output)g(an)m(y)h(dimensions)e(that)j
+(exist)f(in)f(Input.)40 b(When)150 5230 y(a)e(v)-5 b(ariable)39
+b(from)f(Input)f(app)s(ears)g(in)h(an)g(expression)f(or)h(statemen)m(t)
+i(its)f(dimensions)e(in)h(Input)f(are)150 5340 y(automagically)c
+(copied)e(to)g(Output)f(\(if)g(they)h(are)g(not)f(already)h(presen)m
+(t\))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.2)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
+y(Consider)25 b(\014rst)f(this)i(simple,)h(arti\014cial,)h(example.)40
+b(If)25 b Fz(lat)j FD(and)d Fz(lon)h FD(are)g(one)g(dimensional)f(co)s
+(ordinates)150 665 y(of)34 b(dimensions)f Fz(lat)j FD(and)d
+Fz(lon)p FD(,)i(resp)s(ectiv)m(ely)-8 b(,)37 b(then)c(addition)h(of)g
+(these)g(t)m(w)m(o)h(one-dimensional)g(arra)m(ys)150
+775 y(is)e(in)m(trinsically)h(ill-de\014ned)e(b)s(ecause)h(whether)f
+Fz(lat)p 1964 775 28 4 v 41 w(lon)h FD(should)e(b)s(e)h(dimensioned)g
+Fz(lat)k FD(b)m(y)c Fz(lon)h FD(or)g Fz(lon)150 884 y
+FD(b)m(y)k Fz(lat)j FD(is)d(am)m(biguous)g(\(assuming)g(that)g
+(addition)g(is)g(to)h(remain)f(a)g Fz(comm)m(utativ)m(e)45
+b FD(pro)s(cedure,)38 b(i.e.,)150 994 y(one)32 b(that)h(do)s(es)f(not)g
+(dep)s(end)e(on)i(the)h(order)e(of)h(its)h(argumen)m(ts\).)46
+b(Di\013ering)33 b(dimensions)f(are)g(said)g(to)150 1103
+y(b)s(e)f Fz(orthogonal)36 b FD(to)d(one)f(another,)g(and)f(sets)h(of)g
+(dimensions)e(whic)m(h)i(are)g(m)m(utually)g(exclusiv)m(e)h(are)f(or-)
+150 1213 y(thogonal)27 b(as)f(a)g(set)g(and)f(an)m(y)h(arithmetic)h(op)
+s(eration)f(b)s(et)m(w)m(een)g(v)-5 b(ariables)26 b(in)g(orthogonal)h
+(dimensional)150 1323 y(spaces)k(is)f(am)m(biguous)h(without)f(further)
+f(information.)275 1482 y(The)34 b(am)m(biguit)m(y)j(ma)m(y)f(b)s(e)e
+(resolv)m(ed)j(b)m(y)e(en)m(umerating)h(the)f(desired)g(dimension)f
+(ordering)h(of)h(the)150 1592 y(output)24 b(expression)g(inside)g
+(square)g(brac)m(k)m(ets)i(on)e(the)h(left)g(hand)e(side)i(\()p
+FC(LHS)p FD(\))g(of)g(the)f(equals)h(sign.)39 b(This)150
+1701 y(is)29 b(called)h Fz(left)g(hand)e(casting)38 b
+FD(b)s(ecause)29 b(the)g(user)f(resolv)m(es)i(the)f(dimensional)g
+(ordering)g(of)g(the)g FC(RHS)h FD(of)150 1811 y(the)h(expression)f(b)m
+(y)g(sp)s(ecifying)g(the)h(desired)f(ordering)g(on)g(the)h
+FC(LHS)p FD(.)390 1970 y Fy(ncap2)46 b(-s)i('lat_lon[lat,lon]=lat+l)o
+(on')41 b(in.nc)47 b(out.nc)390 2080 y(ncap2)f(-s)i
+('lon_lat[lon,lat]=lat+l)o(on')41 b(in.nc)47 b(out.nc)275
+2239 y FD(The)27 b(explicit)i(list)f(of)g(dimensions)g(on)f(the)h
+FC(LHS)p FD(,)h Fy([lat,lon])c FD(resolv)m(es)k(the)g(otherwise)f(am)m
+(biguous)150 2349 y(ordering)41 b(of)h(dimensions)f(in)h
+Fz(lat)p 1341 2349 V 41 w(lon)p FD(.)75 b(In)41 b(e\013ect,)46
+b(the)c FC(LHS)g Fz(casts)k FD(its)c(rank)g(prop)s(erties)f(on)m(to)i
+(the)150 2458 y FC(RHS)p FD(.)58 b(Without)37 b FC(LHS)g
+FD(casting,)i(the)d(dimensional)g(ordering)g(of)h Fz(lat)p
+2566 2458 V 41 w(lon)f FD(w)m(ould)g(b)s(e)f(unde\014ned)f(and,)150
+2568 y(hop)s(efully)-8 b(,)30 b Fy(ncap2)f FD(w)m(ould)h(prin)m(t)g(an)
+g(error)g(message.)275 2727 y(Consider)38 b(no)m(w)h(a)h(sligh)m(tly)h
+(more)e(complex)h(example.)69 b(In)38 b(geoph)m(ysical)k(mo)s(dels,)f
+(a)f(co)s(ordinate)150 2837 y(system)24 b(based)f(on)g(a)h(blend)f(of)h
+(terrain-follo)m(wing)h(and)e(densit)m(y-follo)m(wing)j(surfaces)d(is)h
+(called)g(a)g Fz(h)m(ybrid)150 2946 y(co)s(ordinate)i(system)p
+FD(.)40 b(In)25 b(this)g(co)s(ordinate)h(system,)h(four)e(v)-5
+b(ariables)26 b(m)m(ust)g(b)s(e)f(manipulated)g(to)h(obtain)150
+3056 y(the)44 b(pressure)e(of)h(the)h(v)m(ertical)h(co)s(ordinate:)68
+b Fz(PO)48 b FD(is)43 b(the)h(domain-mean)f(surface)h(pressure)e
+(o\013set)150 3166 y(\(a)c(scalar\),)j Fz(PS)h FD(is)c(the)g(lo)s(cal)h
+(\(time-v)-5 b(arying\))39 b(surface)f(pressure)e(\(usually)i(t)m(w)m
+(o)h(horizon)m(tal)g(spatial)150 3275 y(dimensions,)g(i.e.)65
+b(latitude)38 b(b)m(y)g(longitude\),)j Fz(h)m(y)m(am)e
+FD(is)f(the)g(w)m(eigh)m(t)h(giv)m(en)g(to)g(surfaces)f(of)g(constan)m
+(t)150 3385 y(densit)m(y)27 b(\(one)g(spatial)g(dimension,)g(pressure,)
+f(whic)m(h)h(is)f(orthogonal)i(to)f(the)g(horizon)m(tal)h
+(dimensions\),)150 3494 y(and)f Fz(h)m(ybm)f FD(is)h(the)g(w)m(eigh)m
+(t)i(giv)m(en)f(to)g(surfaces)f(of)g(constan)m(t)i(elev)-5
+b(ation)29 b(\(also)f(one)g(spatial)g(dimension\).)150
+3604 y(This)21 b(command)h(constructs)g(a)g(four-dimensional)g
+(pressure)f Fy(prs_mdp)f FD(from)h(the)h(four)f(input)g(v)-5
+b(ariables)150 3714 y(of)31 b(mixed)f(rank)g(and)f(orthogonalit)m(y:)
+390 3873 y Fy(ncap2)46 b(-s)i('prs_mdp[time,lat,lon,l)o(ev])o(=P0*)o
+(hyam)o(+PS)o(*hyb)o(m')42 b(in.nc)k(out.nc)275 4032
+y FD(Manipulating)32 b(the)g(four)f(\014elds)h(whic)m(h)f(de\014ne)g
+(the)h(pressure)f(in)g(a)i(h)m(ybrid)d(co)s(ordinate)j(system)f(is)150
+4142 y(easy)f(with)f(left)h(hand)e(casting.)150 4326
+y Fu(4.1.5)63 b(Arra)m(ys)40 b(and)h(h)m(yp)s(erslabs)150
+4473 y FD(Generating)25 b(a)g(regularly)f(spaced)h(one-dimensional)f
+(arra)m(y)h(with)f Fy(ncap2)f FD(is)h(simple)g(with)g(the)g
+Fy(array\(\))150 4583 y FD(function.)40 b(The)30 b(syn)m(tax)h(is)390
+4742 y Fy(var_out=array\(val_srt,va)o(l_nc)o(r,$d)o(mn_)o(nm\);)41
+b(//)47 b(One-dimensional)d(output)390 4852 y
+(var_out=array\(val_srt,va)o(l_nc)o(r,va)o(r_t)o(pl\);)d(//)47
+b(Multi-dimensional)c(output)150 5011 y FD(where)g(the)g(argumen)m(ts)h
+(are)g(the)f(starting)h(v)-5 b(alue)44 b Fz(v)-5 b(al)p
+2104 5011 V 41 w(srt)p FD(,)47 b(incremen)m(tal)d(v)-5
+b(alue)44 b Fz(v)-5 b(al)p 3190 5011 V 41 w(ncr)p FD(,)46
+b(and,)g(for)150 5121 y(one-dimensional)39 b(output,)g(the)f(single)g
+(dimension)f Fy($dmn_nm)p FD(,)h(or,)i(for)d(m)m(ulti-dimensional)i
+(output,)150 5230 y(a)f(template)i(v)-5 b(ariable)38
+b Fy(var_tpl)p FD(,)g(i.e.,)j(a)e(v)-5 b(ariable)38 b(with)g(the)g
+(same)g(shap)s(e)f(as)i(the)f(desired)f(output.)150 5340
+y(The)44 b(t)m(yp)s(e)g(of)h Fy(var_out)d FD(will)j(b)s(e)f(the)g(same)
+h(as)g Fy(val_srt)p FD(.)80 b(Be)45 b(sure)f(to)h(enco)s(de)f(this)h(t)
+m(yp)s(e)f(with)p eop end
+%%Page: 109 115
+TeXDict begin 109 114 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(109)150
+299 y(the)26 b(appropriate)g(decimal)h(p)s(oin)m(t)e(and)h(\015oating)g
+(p)s(oin)m(t)g(su\016x)f(when)g Fy(val_srt)f FD(is)h(a)i(\\nak)m(ed)f
+(constan)m(t")150 408 y(rather)20 b(than)h(a)f(v)-5 b(ariable.)39
+b(F)-8 b(or)21 b(example,)i(to)e(pro)s(duce)f(an)g(arra)m(y)h(of)g
+(shorts)f(\(signed)g(t)m(w)m(o-b)m(yte)j(in)m(tegers\),)150
+518 y(in)m(tegers)32 b(\(signed)e(four-b)m(yte)h(in)m(tegers\),)h
+(unsigned)d(64-bit)j(in)m(tegers,)g(\015oats,)f(or)f(doubles)g(use)390
+678 y Fy(var_out=array\(1s,val_ncr)o(,$dm)o(n_nm)o(\);)41
+b(//)48 b(NC_SHORT)d(array)390 788 y(var_out=array\(1,val_ncr,)o($dmn)o
+(_nm\))o(;)d(//)47 b(NC_INT)f(array)390 897 y
+(var_out=array\(1ull,val_n)o(cr,$)o(dmn_)o(nm\))o(;)c(//)47
+b(NC_UINT64)e(array)390 1007 y(var_out=array\(1f,val_ncr)o(,$dm)o(n_nm)
+o(\);)c(//)48 b(NC_FLOAT)d(array)390 1117 y(var_out=array\(1.,val_ncr)o
+(,$dm)o(n_nm)o(\);)c(//)48 b(NC_DOUBLE)d(array)275 1277
+y FD(Once)33 b(the)i(asso)s(ciated)g(dimensions)e(ha)m(v)m(e)i(b)s(een)
+e(de\014ned,)h(the)g(start)h(and)e(incremen)m(t)i(argumen)m(ts)150
+1386 y(ma)m(y)c(b)s(e)f(supplied)f(as)h(v)-5 b(alues,)31
+b(mathmatical)i(expressions,)d(or)g(v)-5 b(ariables:)390
+1547 y Fy(var_out=array\(1,1,$time\))o(;)42 b(//)47 b
+(1,2,3,4,5,6,7,8,9,10)390 1656 y(var_out=array\(1+2-2,one,)o($tim)o
+(e\);)41 b(//)47 b(1,2,3,4,5,6,7,8,9,10)390 1766 y
+(var_out=array\(1,2,three_)o(dmn_)o(rec_)o(var)o(\);)42
+b(//)47 b(1,3,5,...155,157,159)275 1926 y FD(Hyp)s(erslabs)35
+b(in)g Fy(ncap2)g FD(are)i(more)f(limited)h(than)e(h)m(yp)s(erslabs)g
+(with)h(the)g(other)h FC(NCO)f FD(op)s(erators.)150 2035
+y Fy(ncap2)44 b FD(do)s(es)i(not)g(understand)e(the)i(shell)g
+(command-line)g(syn)m(tax)h(used)e(to)h(sp)s(ecify)g(m)m(ulti-slabs,)
+150 2145 y(wrapp)s(ed)38 b(co-ordinates,)44 b(negativ)m(e)e(stride)e
+(or)f(co)s(ordinate)i(v)-5 b(alue)40 b(limits.)70 b(Ho)m(w)m(ev)m(er)42
+b(with)e(a)g(bit)g(of)150 2255 y(syn)m(tactic)c(magic)g(they)e(are)h
+(all)g(are)g(p)s(ossible.)51 b Fy(ncap2)33 b FD(accepts)j(\(in)e(fact,)
+j(it)d(requires\))g Fz(N)p FD(-h)m(yp)s(erslab)150 2364
+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
+%%Page: 110 116
+TeXDict begin 110 115 bop 150 -116 a FD(110)2582 b FC(NCO)30
+b FD(4.4.2)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
+(-99,)o(-99)o(,)1631 956 y(33,34,35,36,37,38,39,40,)1631
+1066 y(41,42,43,44,45,46,47,48,)1631 1176 y(49,50,51,52,53,54,55,56,)
+1631 1285 y(-99,58,59,60,61,62,63,64)o(,)1631 1395 y
+(65,66,67,68,69,70,71,72,)1631 1504 y(-99,74,75,76,77,78,79,-9)o(9)42
+b(};)390 1724 y(th\(1,1,3\);)379 b(//)47 b(16)390 1833
+y(th\(2,0,:\);)379 b(//)47 b(17,)g(18,)g(19,)g(20)390
+1943 y(th\(:,1,3\);)379 b(//)47 b(8,)g(16,)g(24,)g(-99,)g(40,)g(48,)g
+(56,)g(64,)g(72,)f(-99)390 2052 y(th\(::5,:,0:3:2\);)d(//)48
+b(1,)f(3,)g(5,)g(7,)g(41,)g(43,)g(45,)g(47)275 2212 y
+FD(If)38 b(h)m(yp)s(erslab)g(argumen)m(ts)h(collapse)i(to)f(a)f(single)
+h(v)-5 b(alue)39 b(\(a)h(cross-section)h(has)e(b)s(een)f(sp)s
+(eci\014ed\),)150 2322 y(then)32 b(that)i(dimension)e(is)g(remo)m(v)m
+(ed)i(from)e(the)h(returned)e(v)-5 b(ariable.)49 b(If)32
+b(all)h(the)g(v)-5 b(alues)33 b(collapse)h(then)150 2432
+y(a)d(scalar)g(v)-5 b(ariable)31 b(is)g(returned.)39
+b(So,)31 b(for)f(example,)h(the)g(follo)m(wing)h(is)e(v)-5
+b(alid:)390 2592 y Fy(th_nw=th\(0,:,:\)+th\(9,:,:)o(\);)390
+2701 y(//)47 b(th_nw)g(has)f(dimensions)f($lon,$lat)390
+2811 y(//)i(NB:)g(the)g(time)g(dimension)e(has)i(become)f(degenerate)
+275 2971 y FD(The)29 b(follo)m(wing)j(is)f(in)m(v)-5
+b(alid:)390 3131 y Fy(th_nw=th\(0,:,0:1\)+th\(9,:)o(,0:1)o(\);)275
+3292 y FD(b)s(ecause)34 b(the)i Fy($lon)d FD(dimension)i(no)m(w)f(only)
+i(has)e(t)m(w)m(o)i(elemen)m(ts.)56 b(The)34 b(ab)s(o)m(v)m(e)j(can)e
+(b)s(e)f(calculated)150 3401 y(b)m(y)c(using)g(a)h(LHS)f(cast)h(with)f
+Fy($lon_nw)f FD(as)h(replacemen)m(t)i(dim)e(for)g Fy($lon)p
+FD(:)390 3561 y Fy(defdim\("lon_nw",2\);)390 3671 y
+(th_nw[$lat,$lon_nw]=th\(0)o(,:,0)o(:1\))41 b(+th\(9,:,0:1\);)150
+3831 y Fq(Hyp)s(erslabs)30 b(on)g(the)g(Left)h(Hand)f(Side)g(of)g(an)g
+(assign)179 3941 y FD(When)f(h)m(yp)s(erslabing)g(on)g(the)g(LHS,)g
+(the)g(expression)g(on)g(the)h(RHS)f(m)m(ust)g(ev)-5
+b(aluate)31 b(to)f(a)f(scalar)h(or)g(a)150 4050 y(v)-5
+b(ariable/attribute)26 b(with)d(the)h(same)g(n)m(um)m(b)s(er)e(of)i
+(elemen)m(ts)g(as)g(the)g(LHS)f(h)m(yp)s(erslab.)37 b(Set)24
+b(all)h(elemen)m(ts)150 4160 y(of)31 b(the)f(last)h(record)g(to)g
+(zero:)390 4320 y Fy(th\(9,:,:\)=0.0;)275 4480 y FD(Set)f(\014rst)g
+(elemen)m(t)i(of)e(eac)m(h)i(lon)e(elemen)m(t)i(to)f(1.0:)390
+4640 y Fy(th\(:,:,0\)=1.0;)275 4800 y FD(One)e(ma)m(y)i(h)m(yp)s
+(erslab)e(on)g(b)s(oth)h(sides)f(of)i(an)e(assign.)41
+b(F)-8 b(or)31 b(example,)g(this)f(sets)g(the)g(last)h(record)f(to)150
+4910 y(the)h(\014rst)e(record:)390 5070 y Fy(th\(9,:,:\)=th\(0,:,:\);)
+275 5230 y FD(Sa)m(y)f Fz(th0)36 b FD(represen)m(ts)28
+b(pressure)f(at)i(heigh)m(t=0)g(and)e Fz(th1)36 b FD(represen)m(ts)28
+b(pressure)f(at)i(heigh)m(t=1.)41 b(Then)150 5340 y(it)31
+b(is)f(p)s(ossible)g(to)h(insert)g(these)f(h)m(yp)s(erslabs)g(in)m(to)h
+(the)g(records)p eop end
+%%Page: 111 117
+TeXDict begin 111 116 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(111)390
+299 y Fy(prs[$time,$height,$lat,$)o(lon])o(=0.0)o(;)390
+408 y(prs\(:,0,:,:\)=th0;)390 518 y(prs\(:,1,:,:\)=th1)150
+691 y Fq(Rev)m(erse)32 b(metho)s(d)150 800 y FD(Use)26
+b(the)h Fy(reverse\(\))c FD(metho)s(d)i(to)i(rev)m(erse)g(a)f
+(dimension's)g(elemen)m(ts)h(in)f(a)g(v)-5 b(ariable)27
+b(with)f(at)g(least)i(one)150 910 y(dimension.)40 b(This)30
+b(is)g(equiv)-5 b(alen)m(t)32 b(to)f(a)g(negativ)m(e)h(stride,)f(e.g.,)
+390 1082 y Fy(th_rv=th\(1)45 b(,:,:\).reverse\($lon\);)d(//)47
+b({12,11,10,9)e(},)i({16,15,14,13})390 1192 y
+(od_rv=od.reverse\($time\);)375 b(//)47 b({38,36,34,32,30,28,26,24,2)o
+(2,20)o(})150 1365 y Fq(P)m(erm)m(ute)32 b(metho)s(d)p
+FD(p)150 1474 y(Use)g(the)g Fy(permute\(\))d FD(metho)s(d)i(to)i(sw)m
+(ap)e(the)h(dimensions)f(of)h(a)g(v)-5 b(ariable.)45
+b(The)32 b(n)m(um)m(b)s(er)e(and)h(names)150 1584 y(of)h(dimension)g
+(argumen)m(ts)h(m)m(ust)f(matc)m(h)h(the)f(dimensions)g(in)f(the)i(v)-5
+b(ariable.)47 b(If)32 b(the)g(\014rst)g(dimension)150
+1693 y(in)g(the)g(v)-5 b(ariable)33 b(is)f(of)g(record)g(t)m(yp)s(e)g
+(then)g(this)f(m)m(ust)h(remain)g(the)g(\014rst)g(dimension.)45
+b(If)31 b(y)m(ou)h(w)m(an)m(t)h(to)150 1803 y(c)m(hange)f(the)e(record)
+g(dimension)g(then)g(consider)h(using)e Fy(ncpdq)p FD(.)275
+1976 y(Consider)g(the)i(v)-5 b(ariable:)390 2148 y Fy(float)46
+b(three_dmn_var\(lat,lev,lon\))o(;)390 2258 y(three_dmn_var_prm=three_)
+o(dmn_)o(var.)o(per)o(mute)o(\($lo)o(n,$)o(lat,)o($lev)o(\);)390
+2367 y(//)h(The)g(permuted)f(values)g(are)390 2477 y
+(three_dmn_var_prm=)485 2587 y(0,4,8,)485 2696 y(12,16,20,)485
+2806 y(1,5,9,)485 2915 y(13,17,21,)485 3025 y(2,6,10,)485
+3134 y(14,18,22,)485 3244 y(3,7,11,)485 3354 y(15,19,23;)150
+3579 y Fu(4.1.6)63 b(A)m(ttributes)150 3726 y FD(A)m(ttributes)31
+b(are)g(referred)f(to)h(b)m(y)f Fo(var)p 1449 3726 28
+4 v 41 w(nm at att)p 1791 3726 V 42 w(nm)150 3836 y FD(All)h(the)g(follo)m
+(wing)g(are)g(v)-5 b(alid)31 b(statemen)m(ts:)390 4008
+y Fy(global at text="Test)43 b(Attributes";)i(/*)i(Assign)f(a)h(global)f
+(variable)g(attribute)f(*/)390 4118 y(a1[$time]=time*20;)390
+4228 y(a1 at long_name="Kelvin";)390 4337 y(a1 at min=a1.min\(\);)390
+4447 y(a1 at max=a1.max\(\);)390 4556 y(a1 at min++;)390 4666
+y(--a1 at max;)g(q)390 4776 y(a1\(0\)=a1 at min;)390 4885 y
+(a1\($time.size-1\)=a1 at max;)275 5058 y FD(A)30 b Fo(value)j(list)39
+b FD(can)31 b(b)s(e)e(used)h(on)g(the)h(RHS)f(of)g(an)h(assign...)390
+5230 y Fy(a1 at trip1={1,2,3})43 b(;)390 5340 y(a1 at triplet={a1 at min,\(a1 at m)
+o(in+a)o(1 at ma)o(x\)/)o(2,a1)o(@max)o(};)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.2)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
+b(follo)m(wing)h(is)f(an)g Fy(ncdump)e FD(of)i(the)h(metadata)g(for)150
+518 y(v)-5 b(ariable)31 b Fz(a1)390 692 y Fy(double)46
+b(a1\(time\))g(;)485 801 y(a1:long_name)f(=)i("Kelvin")f(;)485
+911 y(a1:max)h(=)g(199.)g(;)485 1021 y(a1:min)g(=)g(21.)g(;)485
+1130 y(a1:trip1)f(=)h(1,)h(2,)f(3)g(;)485 1240 y(a1:triplet)e(=)j(21.,)
+f(110.,)f(199.)h(;)275 1414 y FD(The)26 b Fy(size\(\))g
+FD(metho)s(d)h(can)h(b)s(e)e(used)h(with)g(attributes.)40
+b(F)-8 b(or)28 b(example,)h(to)g(sa)m(v)m(e)g(an)e(attribute)h(text)150
+1523 y(string)i(in)g(a)h(v)-5 b(ariable,)390 1697 y Fy
+(defdim\("sng_len",)43 b(a1 at long_name.size\(\)\);)390
+1807 y(sng_arr[$sng_len]=a1 at lon)o(g_na)o(me;)e(//)47
+b(sng_arr)f(now)h(contains)f("Kelvin")275 1980 y FD(A)m(ttributes)41
+b(de\014ned)e(in)h(a)g(script)g(are)h(stored)f(in)g(memory)h(and)e(are)
+i(written)f(to)h(Output)e(after)150 2090 y(script)30
+b(completion.)42 b(T)-8 b(o)31 b(stop)f(the)h(attribute)g(b)s(eing)f
+(written)g(use)g(the)g(ram)p 2814 2090 28 4 v 40 w(delete\(\))i(metho)s
+(d)e(or)g(use)150 2200 y(a)h(b)s(ogus)e(v)-5 b(ariable)32
+b(name.)150 2373 y Fq(A)m(ttribute)f(Propagation)h(and)e(Inheritance)
+225 2547 y FA(\017)60 b FD(A)m(ttribute)27 b(propagation)g(o)s(ccurs)f
+(in)g(a)h(regular)f(assign)h(statemen)m(t.)41 b(The)25
+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
+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
+3348 y Fy(//)47 b(prs_mdp)f(inherits)g(attributes)f(from)h(P0:)390
+3457 y(prs_mdp[time,lat,lon,lev)o(]=P0)o(*hya)o(m+h)o(ybm*)o(PS;)390
+3567 y(//)h(th_min)f(inherits)g(attributes)f(from)h(three_dmn_var_dbl:)
+390 3676 y(th_min=1.0)f(+)i(2*three_dmn_var_dbl.min\($t)o(ime\))o(;)275
+3850 y FD(If)d(the)h(attribute)g(name)g(con)m(tains)h(non-regular)e(c)m
+(haracters)j(use)d(ID)h(quoting.)84 b(See)45 b(see)g(Sec-)150
+3960 y(tion)31 b(4.1.27)h([ID)f(Quoting],)g(page)g(151)390
+4134 y Fy('b..m1 at c--lost'=23;)150 4362 y Fu(4.1.7)63
+b(Num)m(b)s(er)41 b(literals)150 4509 y FD(The)31 b(table)h(b)s(elo)m
+(w)f(lists)g(the)h(p)s(ost\014x)e(c)m(haracter\(s\))j(to)f(add)e(to)i
+(a)g(n)m(um)m(b)s(er)d(literal)k(for)e(t)m(yp)s(e)g(cohesion.)150
+4618 y(T)-8 b(o)30 b(use)f(the)h(new)f(netCDF4)i(t)m(yp)s(es)f
+FC(NCO)f FD(m)m(ust)h(b)s(e)f(compiled/link)m(ed)h(to)h(the)f(netCDF4)g
+(library)g(and)150 4728 y(the)h(output)f(\014le)g(m)m(ust)g(b)s(e)g
+FC(HDF5)p FD(.)390 4902 y Fy(n1[$time]=1UL;)44 b(//)j(n1)g(will)g(now)g
+(by)g(type)g(NC_UINT)390 5011 y(n2[$lon]=4b;)140 b(//)47
+b(n2)g(will)g(be)g(of)g(type)g(NC_BYTE)390 5121 y(n3[$lat]=5ull;)d(//)j
+(n3)g(will)g(be)g(of)g(type)g(NC_UINT64)390 5230 y(n3 at a1=6.0d;)140
+b(//)47 b(attribute)f(will)g(be)h(type)g(NC_DOUBLE)390
+5340 y(n3 at a2=-666L;)92 b(//)47 b(attribute)f(will)g(be)h(type)g(NC_INT)
+p eop end
+%%Page: 113 119
+TeXDict begin 113 118 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(113)275
+299 y(A)24 b(\015oating)h(p)s(oin)m(t)g(n)m(um)m(b)s(er)e(without)h(a)h
+(p)s(ost\014x)e(will)i(default)g(to)g Fy(NC_DOUBLE)p
+FD(.)36 b(An)24 b(in)m(teger)i(without)150 408 y(a)h(p)s(ost\014x)f
+(will)h(default)f(to)i(t)m(yp)s(e)f Fy(NC_INT)p FD(.)37
+b(There)27 b(is)f(no)h(p)s(ost\014x)e(for)i(c)m(haracters,)i(use)d(a)h
+(quoted)g(string)150 518 y(instead.)390 677 y Fy(n4[$rlev]=0.1)283
+b(//)47 b(n4)g(will)g(be)g(of)g(type)g(NC_DOUBLE)390
+787 y(n5[$lon_grd]=2.0)139 b(//)47 b(n5)g(will)g(be)g(of)g(type)g
+(NC_DOUBLE)390 897 y(n6[$gds_crd]=2e3;)91 b(//)47 b(n6)g(will)g(be)g
+(of)g(type)g(NC_DOUBLE)390 1006 y(n7[$gds_crd]=2e3f;)91
+b(//)47 b(n7)g(will)g(be)g(of)g(type)g(NC_FLOAT)390 1116
+y(n6 at a1=41;)427 b(//)47 b(attribute)f(will)g(be)h(type)g(NC_INT)390
+1225 y(n6 at a2=-21;)379 b(//)47 b(attribute)f(will)g(be)h(type)g(NC_INT)
+390 1335 y(n6 at units="kelvin")c(//)k(attribute)f(will)g(be)h(type)g
+(NC_CHAR)150 1518 y Fq(netCDF3/4)32 b(T)m(yp)s(es)150
+1627 y FD(b)p Fy(|)p FD(B)317 b Fy(NC_BYTE)p FD(,)29
+b(a)h(signed)h(1-b)m(yte)g(in)m(teger)150 1784 y(none)293
+b Fy(NC_CHAR)p FD(,)29 b(an)h(ISO/ASCI)s(I)e(c)m(haracter)150
+1941 y(s)p Fy(|)p FD(S)345 b Fy(NC_SHORT)p FD(,)28 b(a)j(signed)f(2-b)m
+(yte)i(in)m(teger)150 2097 y(l)p Fy(|)p FD(L)350 b Fy(NC_INT)p
+FD(,)29 b(a)i(signed)f(4-b)m(yte)i(in)m(teger)150 2254
+y(f)p Fy(|)p FD(F)345 b Fy(NC_FLOAT)p FD(,)28 b(a)j(single-precision)h
+(\(4-b)m(yte\))g(\015oating)f(p)s(oin)m(t)g(n)m(um)m(b)s(er)150
+2410 y(d)p Fy(|)p FD(D)312 b Fy(NC_DOUBLE)p FD(,)28 b(a)j
+(double-precision)f(\(8-b)m(yte\))j(\015oating)e(p)s(oin)m(t)f(n)m(um)m
+(b)s(er)150 2567 y Fq(netCDF4)h(T)m(yp)s(es)150 2677
+y FD(ub)p Fy(|)p FD(UB)198 b Fy(NC_UBYTE)p FD(,)28 b(an)j(unsigned)e
+(1-b)m(yte)j(in)m(teger)150 2833 y(us)p Fy(|)p FD(US)226
+b Fy(NC_USHORT)p FD(,)28 b(an)i(unsigned)g(2-b)m(yte)h(in)m(teger)150
+2990 y(u)p Fy(|)p FD(U)p Fy(|)p FD(ul)p Fy(|)p FD(UL)630
+3099 y Fy(NC_UINT)p FD(,)e(an)h(unsigned)f(4-b)m(yte)j(in)m(teger)150
+3256 y(ll)p Fy(|)p FD(LL)268 b Fy(NC_INT64)p FD(,)28
+b(a)j(signed)f(8-b)m(yte)i(in)m(teger)150 3413 y(ull)p
+Fy(|)p FD(ULL)149 b Fy(NC_UINT64)p FD(,)28 b(an)i(unsigned)g(8-b)m(yte)
+h(in)m(teger)150 3609 y Fu(4.1.8)63 b(if)41 b(statemen)m(t)150
+3756 y FD(The)35 b(syn)m(tax)g(of)g(the)g(if)g(statemen)m(t)i(is)e
+(similar)h(to)g(its)f(C)g(coun)m(terpart.)55 b(The)34
+b Fo(Conditional)40 b(Op)-5 b(er)g(ator)150 3866 y(\(ternary)34
+b(op)-5 b(er)g(ator\))37 b FD(has)30 b(also)i(b)s(een)d(implemen)m
+(ted.)390 4025 y Fy(if\(exp1\))533 4134 y(stmt1;)390
+4244 y(else)47 b(if\(exp2\))533 4354 y(stmt2;)390 4463
+y(else)533 4573 y(stmt3;)390 4792 y(#)g(Can)g(use)g(code)g(blocks)f(as)
+h(well:)390 4902 y(if\(exp1\){)533 5011 y(stmt1;)533
+5121 y(stmt1a;)533 5230 y(stmt1b;)390 5340 y(})g(else)g(if\(exp2\))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.2)j(User)d(Guide)533 299 y Fy(stmt2;)390 408
+y(else)47 b({)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(its)f(non-missing)f(v)-5 b(alue)29
+b(elemen)m(ts)150 1176 y(m)m(ust)h(b)s(e)f(logically)k(true,)d(i.e.,)i
+(non-zero.)41 b(The)30 b(expression)f(can)i(b)s(e)e(of)h(an)m(y)h(t)m
+(yp)s(e.)41 b(Unlik)m(e)31 b(C)f(there)g(is)150 1285
+y(no)f(short-circuiting)g(of)g(an)g(expression)g(with)f(the)h(OR)g(\()p
+Fy(||)p FD(\))f(and)h(AND)g(\()p Fy(&&)p FD(\))g(op)s(erators.)40
+b(The)29 b(whole)150 1395 y(expression)h(is)h(ev)-5 b(aluated)31
+b(regardless)g(if)f(one)h(of)f(the)h(AND/OR)g(op)s(erands)e(are)i(T)-8
+b(rue/F)g(alse.)390 1614 y Fy(#)47 b(Simple)g(example)390
+1724 y(if\(time>0\))485 1833 y(print\("All)e(values)i(of)g(time)f(are)h
+(greater)f(than)h(zero\\n"\);)390 1943 y(else)g(if\()g(time<0\))485
+2052 y(print\("All)e(values)i(of)g(time)f(are)h(less)g(than)g
+(zero\\n"\);)390 2162 y(else)g({)485 2271 y(time_max=time.max\(\);)485
+2381 y(time_min=time.min\(\);)485 2491 y(print\("min)e(value)i(of)g
+(time="\);print\(time_min,")o(\045f"\))o(;)485 2600 y(print\("max)e
+(value)i(of)g(time="\);print\(time_max,")o(\045f"\))o(;)390
+2710 y(})390 2929 y(#)g(Example)f(from)h(ddra.nco)390
+3039 y(if\(fl_typ==fl_typ_gcm\){)485 3148 y(var_nbr_apx=32;)485
+3258 y(lmn_nbr=1.0*var_nbr_apx*va)o(rsz_)o(gcm)o(_4D;)41
+b(/*)47 b([nbr])g(Variable)e(size)i(*/)485 3367 y
+(if\(nco_op_typ==nco_op_typ_)o(avg\))o({)581 3477 y
+(lmn_nbr_avg=1.0*var_nbr_)o(apx*)o(var)o(sz_g)o(cm_4)o(D;)41
+b(//)48 b(Block)e(size)581 3587 y(lmn_nbr_wgt=dmnsz_gcm_la)o(t;)c(/*)47
+b([nbr])f(Weight)g(size)h(*/)485 3696 y(})h(//)f(!nco_op_typ_avg)390
+3806 y(}else)f(if\(fl_typ==fl_typ_stl\){)485 3915 y(var_nbr_apx=8;)485
+4025 y(lmn_nbr=1.0*var_nbr_apx*va)o(rsz_)o(stl)o(_2D;)41
+b(/*)47 b([nbr])g(Variable)e(size)i(*/)485 4134 y
+(if\(nco_op_typ==nco_op_typ_)o(avg\))o({)581 4244 y
+(lmn_nbr_avg=1.0*var_nbr_)o(apx*)o(var)o(sz_s)o(tl_2)o(D;)41
+b(//)48 b(Block)e(size)581 4354 y(lmn_nbr_wgt=dmnsz_stl_la)o(t;)c(/*)47
+b([nbr])f(Weight)g(size)h(*/)485 4463 y(})h(//)f(!nco_op_typ_avg)390
+4573 y(})g(//)h(!fl_typ)150 4792 y Fq(Conditional)31
+b(Op)s(erator)390 5121 y Fy(//)47 b(netCDF4)f(needed)g(for)h(this)g
+(example)390 5230 y(th_nw=\(three_dmn_var_sht)41 b(>=)47
+b(0)h(?)f(three_dmn_var_sht.uint\(\))41 b(:)48 b(\\)724
+5340 y(three_dmn_var_sht.int\(\)\);)p eop end
+%%Page: 115 121
+TeXDict begin 115 120 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(115)150
+299 y Fu(4.1.9)63 b(prin)m(t)40 b(statemen)m(t)390 446
+y Fy(print\(variable_name/attr)o(ibut)o(e)i(name/string,)i(format)i
+(string\);)150 616 y FD(The)33 b(prin)m(t)g(function)h(tak)m(es)h(a)f
+(v)-5 b(ariable)34 b(name)g(or)f(attribute)i(name)e(or)h(a)g(quoted)g
+(string)f(and)g(prin)m(ts)150 725 y(the)40 b(con)m(ten)m(ts)h(in)e(a)h
+(in)g(a)g(similar)f(fashion)h(to)g Fy(ncks)29 b(-H)p
+FD(.)68 b(There)39 b(is)h(also)g(an)g(optional)h(C-language)150
+835 y(st)m(yle)34 b(format)e(string)h(argumen)m(t.)47
+b(Curren)m(tly)32 b(the)g(prin)m(t)g(function)g(cannot)h(prin)m(t)f
+FC(RAM)h FD(v)-5 b(ariables)33 b(or)150 945 y(expressions)g(suc)m(h)h
+(as)g Fy('print\(var_msk*3+4\)')p FD(.)45 b(T)-8 b(o)35
+b(prin)m(t)e(an)h(expression,)h(\014rst)e(ev)-5 b(aluate)35
+b(it)f(as)h(a)150 1054 y(non-)p FC(RAM)c FD(v)-5 b(ariable)31
+b(\(so)g(it)g(will)f(b)s(e)g(sa)m(v)m(ed)i(and)d(can)i(b)s(e)f(prin)m
+(ted\),)g(and)g(then)g(prin)m(t)g(the)h(v)-5 b(ariable.)150
+1224 y(examples)390 1394 y Fy(print\(lon\);)390 1504
+y(lon[0]=0)390 1613 y(lon[1]=90)390 1723 y(lon[2]=180)390
+1833 y(lon[3]=270)390 2052 y(print\(lon_2D_rrg,"\0453.2f,)o("\);)390
+2161 y(0.00,0.00,180.00,0.00,18)o(0.00)o(,0.0)o(0,1)o(80.0)o(0,0.)o
+(00,)390 2380 y(print\(mss_val_fst at _FillV)o(alue)o(\);)390
+2490 y(mss_val_fst at _FillValue,)41 b(size)47 b(=)h(1)f(NC_FLOAT,)e
+(value)i(=)g(-999)390 2709 y(print\("This)e(function)g(\\t)i(is)h
+(monotonic\\n"\);)390 2819 y(This)f(function)e(is)191
+b(monotonic)150 3039 y Fu(4.1.10)63 b(Missing)43 b(v)-7
+b(alues)41 b(ncap2)150 3186 y FD(Missing)27 b(v)-5 b(alues)27
+b(op)s(erate)g(sligh)m(tly)h(di\013eren)m(tly)f(in)f
+Fy(ncap2)f FD(Consider)h(the)g(expression)h(where)f(op)g(is)h(an)m(y)
+150 3296 y(of)k(the)f(follo)m(wing)i(op)s(erators)e(\(excluding)h
+('='\))390 3466 y Fy(Arithmetic)45 b(operators)g(\()j(*)f(/)h(\045)f(+)
+h(-)f(^)g(\))390 3575 y(Binary)f(Operators)236 b(\()48
+b(>,)f(>=)g(<,)g(<=)g(==,)g(!=,==,||,&&,)e(>>,<<)h(\))390
+3685 y(Assign)g(Operators)236 b(\()48 b(+=,-=,/=,)d(*=)i(\))390
+3904 y(var1)g('op')f(var2)150 4074 y FD(If)23 b(v)-5
+b(ar1)24 b(has)g(a)g(missing)f(v)-5 b(alue)24 b(then)g(this)f(is)h(the)
+g(v)-5 b(alue)24 b(used)f(in)g(the)h(op)s(eration,)i(otherwise)e(the)g
+(missing)150 4184 y(v)-5 b(alue)34 b(for)f(v)-5 b(ar2)34
+b(is)g(used.)49 b(If)33 b(during)f(the)i(elemen)m(t-b)m(y-elemen)m(t)j
+(op)s(eration)d(an)f(elemen)m(t)i(from)e(either)150 4293
+y(op)s(erand)26 b(is)h(equal)h(to)f(the)h(missing)f(v)-5
+b(alue)27 b(then)g(the)g(missing)g(v)-5 b(alue)27 b(is)h(carried)f
+(through.)39 b(In)26 b(this)h(w)m(a)m(y)150 4403 y(missing)j(v)-5
+b(alues)31 b('p)s(ercolate')h(or)e(propagate)i(through)e(an)g
+(expression.)150 4512 y(Missing)k(v)-5 b(alues)35 b(asso)s(ciated)g
+(with)f(Output)f(v)-5 b(ariables)34 b(are)h(stored)f(in)g(memory)f(and)
+h(are)g(written)g(to)150 4622 y(disk)26 b(after)h(the)f(script)g
+(\014nishes.)39 b(During)26 b(script)g(execution)h(its)g(p)s(ossible)f
+(\(and)g(legal\))i(for)f(the)f(missing)150 4732 y(v)-5
+b(alue)31 b(of)f(a)h(v)-5 b(ariable)31 b(to)g(tak)m(e)h(on)f(sev)m
+(eral)g(di\013eren)m(t)g(v)-5 b(alues.)390 4902 y Fy(#)47
+b(Consider)f(the)h(variable:)390 5011 y(int)g
+(rec_var_int_mss_val_int\()o(time)o(\);)41 b
+(=-999,2,3,4,5,6,7,8,-999,-)o(999;)390 5121 y(rec_var_int_mss_val_int:)
+o(_Fil)o(lVal)o(ue)g(=)48 b(-999;)390 5340 y(n2=rec_var_int_mss_val_i)o
+(nt)42 b(+)47 b(rec_var_int_mss_val_int.r)o(eve)o(rse\()o($tim)o(e\);)p
+eop end
+%%Page: 116 122
+TeXDict begin 116 121 bop 150 -116 a FD(116)2582 b FC(NCO)30
+b FD(4.4.2)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
+b(only)g(w)m(ork)h(on)f(v)-5 b(ariables)31 b(in)f(Output.)150
+857 y Fy(set_miss\(expr\))630 966 y FD(The)37 b(n)m(umeric)h(argumen)m
+(t)g Fz(expr)44 b FD(b)s(ecomes)38 b(the)g(new)f(missing)g(v)-5
+b(alue,)41 b(o)m(v)m(erwriting)e(the)630 1076 y(old)33
+b(missing)g(v)-5 b(alue,)35 b(if)e(an)m(y)-8 b(.)50 b(The)33
+b(argumen)m(t)h(giv)m(en)g(is)f(con)m(v)m(erted)i(if)e(necessary)h(to)g
+(the)630 1186 y(v)-5 b(ariable)31 b(t)m(yp)s(e.)41 b(NB:)30
+b(This)g(only)g(c)m(hanges)h(the)f(missing)g(v)-5 b(alue)30
+b(attribute.)42 b(Missing)30 b(v)-5 b(al-)630 1295 y(ues)29
+b(in)f(the)h(original)i(v)-5 b(ariable)29 b(remain)g(unc)m(hanged,)g
+(and)g(th)m(us)f(are)i(no)f(long)g(considered)630 1405
+y(missing)g(v)-5 b(alues.)41 b(They)28 b(are)i(\\orphaned".)40
+b(Th)m(us)28 b Fy(set_miss\(\))f FD(is)i(normally)g(used)g(only)630
+1514 y(when)23 b(creating)i(new)e(v)-5 b(ariables.)39
+b(The)23 b(in)m(trinsic)h(function)g Fy(change_miss\(\))c
+FD(\(see)k(b)s(elo)m(w\))630 1624 y(is)30 b(t)m(ypically)j(used)c(to)i
+(edit)g(v)-5 b(alues)31 b(of)f(existing)i(v)-5 b(ariables.)150
+1773 y Fy(change_miss\(expr\))630 1883 y FD(Sets)43 b(or)f(c)m(hanges)i
+(\(an)m(y)g(pre-existing\))f(missing)g(v)-5 b(alue)43
+b(attribute)h(and)e(missing)g(data)630 1993 y(v)-5 b(alues)43
+b(to)g Fz(expr)p FD(.)76 b(NB:)43 b(This)f(is)g(an)h(exp)s(ensiv)m(e)f
+(function)g(since)h(all)h(v)-5 b(alues)42 b(m)m(ust)h(b)s(e)630
+2102 y(examined.)83 b(Use)45 b(this)f(function)g(when)g(c)m(hanging)h
+(missing)f(v)-5 b(alues)45 b(for)f(pre-existing)630 2212
+y(v)-5 b(ariables.)150 2361 y Fy(get_miss\(\))630 2471
+y FD(Returns)40 b(the)h(missing)g(v)-5 b(alue)42 b(of)f(a)h(v)-5
+b(ariable.)73 b(If)41 b(the)g(v)-5 b(ariable)42 b(exists)g(in)f(Input)f
+(and)630 2580 y(Output)e(then)h(the)g(missing)g(v)-5
+b(alue)39 b(of)h(the)f(v)-5 b(ariable)40 b(in)e(Output)g(is)i
+(returned.)65 b(If)39 b(the)630 2690 y(v)-5 b(ariable)31
+b(has)f(no)h(missing)f(v)-5 b(alue)31 b(then)f(an)g(error)g(is)g
+(returned.)150 2839 y Fy(delete_miss\(\))630 2949 y FD(Deletes)i(the)f
+(missing)f(v)-5 b(alue)31 b(asso)s(ciated)h(with)e(a)h(v)-5
+b(ariable.)150 3098 y Fy(number_miss\(\))630 3208 y FD(Coun)m(ts)30
+b(the)h(n)m(um)m(b)s(er)e(of)h(missing)h(v)-5 b(alues)30
+b(a)h(v)-5 b(ariable)31 b(con)m(tains.)390 3367 y Fy
+(th=three_dmn_var_dbl;)390 3477 y(th.change_miss\(-1e10d\);)390
+3587 y(/*)47 b(Set)g(values)f(less)h(than)f(0)i(or)f(greater)f(than)h
+(50)g(to)g(missing)f(value)g(*/)390 3696 y(where\(th)g(<)h(0.0)g(||)g
+(th)g(>)h(50.0\))e(th=th.get_miss\(\);)390 3915 y(#)h(Another)f
+(example:)390 4025 y(new[$time,$lat,$lon]=1.0)o(;)390
+4134 y(new.set_miss\(-997.0\);)390 4354 y(//)h(Extract)f(only)h
+(elements)e(divisible)g(by)j(3)390 4463 y(where)e
+(\(three_dmn_var_dbl\0453)d(==)k(0\))629 4573 y(new=three_dmn_var_dbl;)
+390 4682 y(elsewhere)629 4792 y(new=new.get_miss\(\);)390
+5011 y(//)g(Print)g(missing)e(value)i(and)g(variable)e(summary)390
+5121 y(mss_val_nbr=three_dmn_va)o(r_db)o(l.nu)o(mbe)o(r_mi)o(ss\(\))o
+(;)390 5230 y(print\(three_dmn_var_dbl@)o(_Fil)o(lVal)o(ue\))o(;)390
+5340 y(print\("Number)f(of)j(missing)f(values)g(in)h
+(three_dmn_var_dbl:)c("\);)p eop end
+%%Page: 117 123
+TeXDict begin 117 122 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(117)390
+299 y Fy(print\(mss_val_nbr,"\045d"\);)390 408 y
+(print\(three_dmn_var_dbl\))o(;)150 602 y Fu(4.1.11)63
+b(Metho)s(ds)43 b(and)e(functions)150 749 y FD(The)32
+b(con)m(v)m(en)m(tion)i(within)d(this)h(do)s(cumen)m(t)g(is)h(that)f
+(metho)s(ds)g(can)g(b)s(e)g(used)f(as)h(functions.)46
+b(Ho)m(w)m(ev)m(er,)150 859 y(functions)37 b(are)h(not)g(and)f(cannot)i
+(b)s(e)e(used)g(as)g(metho)s(ds.)62 b(Metho)s(ds)38 b(can)g(b)s(e)f
+(daisy-c)m(hained)h(d)g(and)150 969 y(their)f(syn)m(tax)g(is)f(cleaner)
+h(than)g(functions.)58 b(Metho)s(d)37 b(names)f(are)h(reserv)m(ed)g(w)m
+(ords)f(and)f(CANNOT)150 1078 y(b)s(e)i(used)g(as)i(v)-5
+b(ariable)38 b(names.)64 b(The)37 b(command)h Fy(ncap2)29
+b(-f)37 b FD(sho)m(ws)h(the)g(complete)h(list)g(of)f(metho)s(ds)150
+1188 y(a)m(v)-5 b(ailable)33 b(on)d(y)m(our)g(build.)390
+1347 y Fy(n2=sin\(theta\))390 1457 y(n2=theta.sin\(\))390
+1566 y(n2=sin\(theta\)^2)44 b(+)j(cos\(theta\)^2)390
+1676 y(n2=theta.sin\(\).pow\(2\))42 b(+)47 b(theta.cos\(\)^2)275
+1835 y FD(This)33 b(statemen)m(t)j(c)m(hains)e(together)h(metho)s(ds)f
+(to)g(con)m(v)m(ert)i(three)p 2571 1835 28 4 v 40 w(dmn)p
+2789 1835 V 39 w(v)-5 b(ar)p 2952 1835 V 40 w(sh)m(t)34
+b(to)h(t)m(yp)s(e)f(double,)150 1945 y(a)m(v)m(erage)f(it,)e(then)f
+(con)m(v)m(ert)i(this)e(bac)m(k)i(to)f(t)m(yp)s(e)f(short:)390
+2104 y Fy(three_avg=three_dmn_var_)o(sht.)o(doub)o(le\()o(\).av)o
+(g\(\).)o(sho)o(rt\(\))o(;)150 2373 y Fq(Aggregate)j(Metho)s(ds)171
+2483 y FD(These)22 b(metho)s(ds)f(mirror)f(the)i(a)m(v)m(eraging)i(t)m
+(yp)s(es)e(a)m(v)-5 b(ailable)24 b(in)d Fy(ncwa)p FD(.)37
+b(The)21 b(argumen)m(ts)h(to)g(the)g(metho)s(ds)150 2593
+y(are)29 b(the)g(dimensions)f(to)h(a)m(v)m(erage)i(o)m(v)m(er.)41
+b(Sp)s(ecifying)28 b(no)h(dimensions)f(is)g(equiv)-5
+b(alen)m(t)30 b(to)g(sp)s(ecifying)e(all)150 2702 y(dimensions)f(i.e.,)
+i(a)m(v)m(eraging)g(o)m(v)m(er)g(all)f(dimensions.)39
+b(A)27 b(masking)h(v)-5 b(ariable)28 b(and)f(a)g(w)m(eigh)m(ting)i(v)-5
+b(ariable)150 2812 y(can)31 b(b)s(e)e(man)m(ually)i(created)h(and)e
+(applied)g(as)g(needed.)150 2993 y Fy(avg\(\))240 b FD(Mean)31
+b(v)-5 b(alue)150 3148 y Fy(sqravg\(\))96 b FD(Square)30
+b(of)g(the)h(mean)150 3302 y Fy(avgsqr\(\))96 b FD(Mean)31
+b(of)g(sum)e(of)h(squares)150 3456 y Fy(max\(\))240 b
+FD(Maxim)m(um)31 b(v)-5 b(alue)150 3610 y Fy(min\(\))240
+b FD(Minim)m(um)30 b(v)-5 b(alue)150 3764 y Fy(rms\(\))240
+b FD(Ro)s(ot-mean-square)32 b(\(normalize)f(b)m(y)g Fz(N)10
+b FD(\))150 3918 y Fy(rmssdn\(\))96 b FD(Ro)s(ot-mean)31
+b(square)g(\(normalize)g(b)m(y)g Fz(N-1)7 b FD(\))150
+4072 y Fy(ttl\(\))29 b(or)h(total\(\))630 4182 y FD(Sum)f(of)i(v)-5
+b(alues)390 4341 y Fy(//)47 b(Average)f(a)h(variable)f(over)h(time)390
+4451 y(four_time_avg=four_dmn_r)o(ec_v)o(ar\($)o(tim)o(e\);)180
+4720 y Fq(P)m(ac)m(king)32 b(Metho)s(ds)174 4830 y FD(F)-8
+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(79)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(186)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: 118 124
+TeXDict begin 118 123 bop 150 -116 a FD(118)2582 b FC(NCO)30
+b FD(4.4.2)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
+820 y(pack_int\(\))630 929 y FD(V)-8 b(ariable)32 b(is)e(pac)m(k)m(ed)i
+(to)f Fy(NC_INT)150 1080 y(unpack\(\))96 b FD(The)30
+b(standard)f(unpac)m(king)i(algorithm)g(is)g(applied.)150
+1260 y Fq(Basic)g(Metho)s(ds)180 1370 y FD(These)f(metho)s(ds)g(w)m
+(ork)h(with)f(v)-5 b(ariables)31 b(and)e(attributes.)42
+b(They)30 b(ha)m(v)m(e)h(no)f(argumen)m(ts)150 1550 y
+Fy(size\(\))192 b FD(T)-8 b(otal)32 b(n)m(um)m(b)s(er)d(of)h(elemen)m
+(ts)150 1701 y Fy(ndims\(\))144 b FD(Num)m(b)s(er)29
+b(of)i(dimensions)e(in)i(v)-5 b(ariable)150 1852 y Fy(type\(\))192
+b FD(Returns)29 b(the)i(netcdf)f(t)m(yp)s(e)h(\(see)g(previous)f
+(section\))150 2141 y Fq(Utilit)m(y)i(Metho)s(ds)197
+2251 y FD(These)46 b(functions)h(are)g(used)f(to)i(manipulate)f
+(missing)g(v)-5 b(alues)47 b(and)f FC(RAM)h FD(v)-5 b(ariables.)91
+b(see)47 b(Sec-)150 2360 y(tion)31 b(4.1.10)h([Missing)g(v)-5
+b(alues)30 b(ncap2],)h(page)h(115)150 2540 y Fy(set_miss\(expr\))630
+2650 y FD(T)-8 b(ak)m(es)33 b(one)f(argumen)m(t)g(the)g(missing)f(v)-5
+b(alue.)45 b(Sets)32 b(or)g(o)m(v)m(erwrites)h(the)e(existing)i
+(missing)630 2760 y(v)-5 b(alue.)41 b(The)30 b(argumen)m(t)h(giv)m(en)g
+(is)g(con)m(v)m(erted)h(if)e(necessary)h(to)g(the)f(v)-5
+b(ariable)31 b(t)m(yp)s(e)150 2911 y Fy(change_miss\(expr\))630
+3020 y FD(Changes)37 b(the)h(missing)f(v)-5 b(alue)38
+b(elemen)m(ts)g(of)g(the)g(v)-5 b(ariable)38 b(to)g(the)f(new)g
+(missing)g(v)-5 b(alue)630 3130 y(\(n.b.)40 b(an)31 b(exp)s(ensiv)m(e)f
+(function\).)150 3281 y Fy(get_miss\(\))630 3390 y FD(Returns)f(the)i
+(missing)f(v)-5 b(alue)31 b(of)g(a)f(v)-5 b(ariable)32
+b(in)e(Input)f(or)h(Output)150 3541 y Fy(delete_miss\(\))630
+3651 y FD(Deletes)i(the)f(missing)f(v)-5 b(alue)31 b(asso)s(ciated)h
+(with)e(a)h(v)-5 b(ariable.)150 3801 y Fy(ram_write\(\))630
+3911 y FD(W)d(rites)32 b(a)e FC(RAM)h FD(v)-5 b(ariable)31
+b(to)g(disk)f(i.e.,)i(con)m(v)m(erts)g(it)f(to)g(a)g(regular)f(disk)g
+(t)m(yp)s(e)h(v)-5 b(ariable)150 4062 y Fy(ram_delete\(\))630
+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(186)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
+b(ariables)28 b(b)m(y)g(re-ordering)f(the)h(dimensions.)39
+b(All)28 b(the)g(dims)f(of)g(the)h(v)-5 b(ariable)630
+5230 y(m)m(ust)24 b(b)s(e)f(sp)s(eci\014ed)g(in)g(the)h(argumen)m(ts.)
+39 b(A)24 b(limitation)i(of)e(this)f(p)s(erm)m(ute)h(\(unlik)m(e)g(ncp)
+s(dq\))630 5340 y(is)30 b(that)h(the)g(record)f(dimension)g(cannot)h(b)
+s(e)f(re-assigned.)p eop end
+%%Page: 119 125
+TeXDict begin 119 124 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(119)275
+299 y(//)31 b(Sw)m(ap)f(dimensions)f(ab)s(out)h(and)g(reorder)g(along)h
+(lon)390 459 y Fy(lat_2D_rrg_new=lat_2D_rr)o(g.pe)o(rmut)o(e\($)o(lon,)
+o($lat)o(\).r)o(ever)o(se\($)o(lon)o(\);)390 568 y
+(lat_2D_rrg_new=0,90,-30,)o(30,-)o(30,3)o(0,-)o(90,0)150
+838 y Fq(T)m(yp)s(e)f(Con)m(v)m(ersion)i(Metho)s(ds)173
+947 y FD(These)22 b(metho)s(ds)g(allo)m(w)i Fy(ncap2)e
+FD(to)h(con)m(v)m(ert)i(v)-5 b(ariables)23 b(and)f(attributes)h(to)h
+(the)f(di\013eren)m(t)g(netcdf)g(t)m(yp)s(es.)150 1057
+y(F)-8 b(or)43 b(more)f(details)h(on)f(automatic)i(and)d(man)m(ual)i(t)
+m(yp)s(e)f(con)m(v)m(ersion)h(see)g(\(see)g(Section)g(3.33)g([T)m(yp)s
+(e)150 1166 y(Con)m(v)m(ersion],)28 b(page)e(86\).)41
+b(Y)-8 b(ou)26 b(can)g(only)g(use)f(the)h(new)f(netCDF4)i(t)m(yp)s(es)f
+(if)f(y)m(ou)h(ha)m(v)m(e)h(compiled/links)150 1276 y
+FC(NCO)j FD(with)g(the)h(netCDF4)g(library)f(and)g(the)g(Output)g
+(\014le)g(is)h(HDF5.)150 1461 y Fq(netCDF3/4)h(T)m(yp)s(es)150
+1571 y Fy(byte\(\))192 b FD(con)m(v)m(ert)32 b(to)f Fy(NC_BYTE)p
+FD(,)e(a)h(signed)h(1-b)m(yte)h(in)m(teger)150 1731 y
+Fy(char\(\))192 b FD(con)m(v)m(ert)32 b(to)f Fy(NC_CHAR)p
+FD(,)e(an)h(ISO/ASCI)s(I)e(c)m(haracter)150 1891 y Fy(short\(\))144
+b FD(con)m(v)m(ert)32 b(to)f Fy(NC_SHORT)p FD(,)d(a)j(signed)f(2-b)m
+(yte)i(in)m(teger)150 2051 y Fy(int\(\))240 b FD(con)m(v)m(ert)32
+b(to)f Fy(NC_INT)p FD(,)e(a)i(signed)f(4-b)m(yte)i(in)m(teger)150
+2212 y Fy(float\(\))144 b FD(con)m(v)m(ert)32 b(to)f
+Fy(NC_FLOAT)p FD(,)d(a)j(single-precision)h(\(4-b)m(yte\))g(\015oating)
+g(p)s(oin)m(t)e(n)m(um)m(b)s(er)150 2372 y Fy(double\(\))96
+b FD(con)m(v)m(ert)32 b(to)f Fy(NC_DOUBLE)p FD(,)d(a)j
+(double-precision)f(\(8-b)m(yte\))j(\015oating)e(p)s(oin)m(t)g(n)m(um)m
+(b)s(er)150 2532 y Fq(netCDF4)g(T)m(yp)s(es)150 2642
+y Fy(ubyte\(\))144 b FD(con)m(v)m(ert)32 b(to)f Fy(NC_UBYTE)p
+FD(,)d(an)j(unsigned)e(1-b)m(yte)j(in)m(teger)150 2802
+y Fy(ushort\(\))96 b FD(con)m(v)m(ert)32 b(to)f Fy(NC_USHORT)p
+FD(,)d(an)i(unsigned)g(2-b)m(yte)i(in)m(teger)150 2962
+y Fy(uint\(\))192 b FD(con)m(v)m(ert)32 b(to)f Fy(NC_UINT)p
+FD(,)e(an)h(unsigned)f(4-b)m(yte)j(in)m(teger)150 3122
+y Fy(int64\(\))144 b FD(con)m(v)m(ert)32 b(to)f Fy(NC_INT64)p
+FD(,)d(a)j(signed)f(8-b)m(yte)i(in)m(teger)150 3283 y
+Fy(uint64\(\))96 b FD(con)m(v)m(ert)32 b(to)f Fy(NC_UINT64)p
+FD(,)d(an)i(unsigned)g(8-b)m(yte)i(in)m(teger)150 3468
+y Fq(In)m(trinsic)f(Mathematical)i(Metho)s(ds)180 3577
+y FD(The)c(list)h(of)g(mathematical)i(metho)s(ds)c(is)i(system)g(dep)s
+(endan)m(t.)39 b(F)-8 b(or)31 b(the)f(full)f(list)h(see)g(Section)h
+(4.1.25)150 3687 y([In)m(trinsic)g(mathematical)h(metho)s(ds],)e(page)i
+(148)275 3847 y(All)c(the)h(mathematical)h(metho)s(ds)e(tak)m(e)i(a)f
+(single)f(argumen)m(t)h(except)g Fy(atan2\(\))e FD(and)g
+Fy(pow\(\))g FD(whic)m(h)150 3956 y(tak)m(e)33 b(t)m(w)m(o.)45
+b(If)31 b(the)h(op)s(erand)e(t)m(yp)s(e)i(is)f(less)h(than)f
+Fo(\015o)-5 b(at)42 b FD(then)31 b(the)g(result)h(will)f(b)s(e)g(of)h
+(t)m(yp)s(e)f Fo(\015o)-5 b(at)p FD(.)46 b(Argu-)150
+4066 y(men)m(ts)33 b(of)g(t)m(yp)s(e)g Fo(double)41 b
+FD(yield)33 b(results)g(of)g(t)m(yp)s(e)g Fo(double)p
+FD(.)48 b(Lik)m(e)34 b(the)f(other)h(metho)s(ds,)f(y)m(ou)g(are)g(free)
+g(to)150 4176 y(use)d(the)h(mathematical)h(metho)s(ds)e(as)h
+(functions.)390 4335 y Fy(n1=pow\(2,3.0f\))187 b(//)47
+b(n1)g(type)g(float)390 4445 y(n2=atan2\(2,3.0\))139
+b(//)47 b(n2)g(type)g(double)390 4555 y(n3=1/\(three_dmn_var_dbl.)o
+(cos\()o(\).po)o(w\(2)o(\)\)-t)o(an\(t)o(hre)o(e_dm)o(n_va)o(r_d)o
+(bl\)^)o(2;)42 b(//)47 b(n3)g(type)g(double)150 4755
+y Fu(4.1.12)63 b Fq(RAM)41 b Fu(v)-7 b(ariables)150 4902
+y FD(Unlik)m(e)33 b(regular)g(v)-5 b(ariables,)34 b FC(RAM)e
+FD(v)-5 b(ariables)33 b(are)g(nev)m(er)g(written)f(to)h(disk.)47
+b(Hence)33 b(using)f FC(RAM)g FD(v)-5 b(ari-)150 5011
+y(ables)29 b(in)g(place)h(of)f(regular)g(v)-5 b(ariables)30
+b(\(esp)s(ecially)g(within)f(lo)s(ops\))g(signi\014can)m(tly)h
+(increases)g(execution)150 5121 y(sp)s(eed.)38 b(V)-8
+b(ariables)26 b(that)f(are)g(frequen)m(tly)g(accessed)g(within)f
+Fy(for)g FD(or)h Fy(where)e FD(clauses)i(pro)m(vide)g(the)f(great-)150
+5230 y(est)30 b(opp)s(ortunities)g(for)f(optimization.)43
+b(T)-8 b(o)30 b(declare)h(and)e(de\014ne)g(a)i FC(RAM)f
+FD(v)-5 b(ariable)31 b(simply)e(pre\014x)g(the)150 5340
+y(v)-5 b(ariable)38 b(name)g(with)f(an)g(asterisk)h(\()p
+Fy(*)p FD(\))g(when)e(the)i(v)-5 b(ariable)38 b(is)f
+(declared/initialized.)65 b(T)-8 b(o)38 b(delete)h(a)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.2)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
+(regular)g(v)-5 b(ariable\))31 b(use)f Fy(ram_write\(\))p
+FD(.)390 568 y Fy(*temp[$time,$lat,$lon]=1)o(0.0;)232
+b(//)47 b(Cast)390 677 y(*temp_avg=temp.avg\($time)o(\);)280
+b(//)47 b(Regular)f(assign)390 787 y(temp.ram_delete\(\);)663
+b(//)47 b(Delete)g(RAM)f(variable)390 897 y(temp_avg.ram_write\(\);)519
+b(//)47 b(Write)g(Variable)e(to)j(output)390 1116 y(//)f(Create)f(and)h
+(increment)e(a)j(RAM)f(variable)e(from)i("one")f(in)i(Input)390
+1225 y(*one++;)390 1335 y(//)f(Create)f(RAM)h(variables)e(from)i(the)g
+(variables)e(three)i(and)g(four)f(in)h(Input.)390 1445
+y(//)g(Multiply)f(three)g(by)h(10)g(and)g(add)g(it)g(to)h(four.)390
+1554 y(*four+=*three*=10;)43 b(//)k(three=30,)e(four=34)150
+1744 y Fu(4.1.13)63 b(Where)41 b(statemen)m(t)150 1891
+y FD(A)30 b Fy(where\(\))d FD(com)m(bines)k(the)e(de\014nition)h(and)f
+(application)i(of)e(a)h(mask)g(all)g(in)g(one)g(go)g(and)f(can)h(lead)g
+(to)150 2001 y(succinct)h(co)s(de.)41 b(The)30 b(full)g(syn)m(tax)h(of)
+f(a)h Fy(where\(\))d FD(statemen)m(t)33 b(is)d(as)h(follo)m(ws:)390
+2160 y Fy(//)47 b(Single)f(assign)g(\(the)h('elsewhere')e(block)h(is)h
+(optional\))390 2270 y(where\(mask\))533 2380 y(var1=expr1;)390
+2489 y(elsewhere)533 2599 y(var1=expr2;)390 2818 y(//)g(Multiple)f
+(assigns)390 2928 y(where\(mask\){)581 3037 y(var1=expr1;)581
+3147 y(var2=expr2;)581 3256 y(...)390 3366 y(}elsewhere{)581
+3475 y(var1=expr3)581 3585 y(var2=expr4)581 3695 y(var3=expr5;)581
+3804 y(...)390 3914 y(})225 4073 y FA(\017)60 b FD(The)26
+b(only)h(expression)g(allo)m(w)m(ed)h(in)f(the)g(predicate)g(of)g(a)h
+(where)e(is)h(assign,)h(i.e.,)h('v)-5 b(ar=expr'.)39
+b(This)330 4183 y(assign)28 b(di\013ers)f(from)h(a)g(regular)g
+Fy(ncap2)e FD(assign.)40 b(The)28 b(LHS)f(v)-5 b(ar)28
+b(m)m(ust)f(already)i(exist)f(in)g(Input)e(or)330 4292
+y(Output.)47 b(The)32 b(RHS)h(expression)f(m)m(ust)h(ev)-5
+b(aluate)34 b(to)g(a)f(scalar)h(or)f(a)g(v)-5 b(ariable/attribute)35
+b(of)e(the)330 4402 y(same)e(size)g(as)g(the)f(LHS)g(v)-5
+b(ariable.)225 4532 y FA(\017)60 b FD(Consider)34 b(when)g(b)s(oth)g
+(the)h(LHS)f(and)g(RHS)h(are)g(v)-5 b(ariables:)50 b(F)-8
+b(or)36 b(ev)m(ery)f(elemen)m(t)i(where)d(mask)330 4642
+y(condition)29 b(is)g(T)-8 b(rue,)28 b(the)h(corresp)s(onding)e(LHS)h
+(v)-5 b(ariable)29 b(elemen)m(t)h(is)f(re-assigned)g(to)g(its)g
+(partner)330 4751 y(elemen)m(t)e(on)e(the)h(RHS.)f(In)g(the)g
+(elsewhere)h(part)f(the)h(mask)f(is)h(logically)i(in)m(v)m(erted)e(and)
+f(the)h(assign)330 4861 y(pro)s(cess)k(pro)s(ceeds)g(as)h(b)s(efore.)
+225 4991 y FA(\017)60 b FD(If)30 b(the)h(mask)g(dimensions)f(are)h(a)g
+(subset)f(of)h(the)g(LHS)f(v)-5 b(ariable's)31 b(dimensions,)g(then)f
+(it)h(is)g(made)330 5100 y(to)g(conform;)g(if)f(it)h(cannot)g(b)s(e)f
+(made)g(to)h(conform)f(then)g(script)h(execution)g(halts.)225
+5230 y FA(\017)60 b FD(Missing)36 b(v)-5 b(alues)35 b(in)g(the)h(mask)f
+(ev)-5 b(aluate)37 b(to)f(F)-8 b(alse)37 b(in)e(the)h(where)f(co)s
+(de/blo)s(c)m(k)h(statemen)m(t)i(and)330 5340 y(to)32
+b(T)-8 b(rue)31 b(in)g(the)g(elsewhere)h(blo)s(c)m(k/statemen)m(t.)47
+b(LHS)31 b(v)-5 b(ariable)32 b(elemen)m(ts)g(set)g(to)g(missing)f(v)-5
+b(alue)p eop end
+%%Page: 121 127
+TeXDict begin 121 126 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(121)330
+299 y(are)40 b(not)g(re-assigned.)68 b(F)-8 b(or)41 b(these)f(reasons,)
+i(do)d(not)h(explicitly)h(reference)f(missing)f(v)-5
+b(alues)40 b(in)330 408 y(the)27 b(masking)f(condition,)i(e.g.,)h
+Fy(where\(foo=foo.get_missing)o(\(\)\))24 b(foo=1;)h
+FD(will)h(not)h(w)m(ork)g(as)330 518 y(exp)s(ected.)275
+712 y(Example:)114 b(Consider)67 b(the)h(v)-5 b(ariables)68
+b Fy(float)29 b(lon_2D_rct\(lat,lon\);)61 b FD(and)67
+b Fy(float)29 b(var_)150 821 y(msk\(lat,lon\);)p FD(.)76
+b(Supp)s(ose)42 b(w)m(e)h(wish)g(to)h(m)m(ultiply)g(b)m(y)f(t)m(w)m(o)i
+(the)e(elemen)m(ts)i(for)e(whic)m(h)g Fy(var_msk)150
+931 y FD(equals)31 b(1:)390 1095 y Fy(where\(var_msk==1\))43
+b(lon_2D_rct=2*lon_2D_rct;)275 1259 y FD(Supp)s(ose)23
+b(that)k(w)m(e)f(ha)m(v)m(e)h(the)f(v)-5 b(ariable)26
+b Fy(int)k(RDM\(time\))23 b FD(and)i(that)h(w)m(e)g(w)m(an)m(t)h(to)f
+(set)h(its)f(v)-5 b(alues)26 b(less)150 1369 y(than)k(8)h(or)f(greater)
+i(than)e(80)h(to)g(0)q(:)390 1533 y Fy(where\(RDM)45
+b(<)j(8)f(||)g(RDM)g(>)h(80\))f(RDM=0;)275 1697 y FD(Consider)1207
+b(irregularly)h(gridded)150 1807 y(data,)35 b(describ)s(ed)e(using)g
+(rank)d(2)k(co)s(ordinates:)48 b Fy(double)28 b
+(lat\(south_north,east_west)o(\))p FD(,)h Fy(double)150
+1916 y(lon\(south_north,east_wes)o(t\))p FD(,)f Fy(double)g
+(temperature\(south_north,e)o(ast_)o(west)o(\))p FD(.)42
+b(T)-8 b(o)33 b(\014nd)150 2026 y(the)d(a)m(v)m(erage)i(temp)s(erature)
+e(in)g(a)g(region)g(b)s(ounded)e(b)m(y)i([)p Fz(lat)p
+2235 2026 28 4 v 41 w(min)p FD(,)p Fz(lat)p 2558 2026
+V 41 w(max)6 b FD(])30 b(and)g([)p Fz(lon)p 3152 2026
+V 40 w(min)p FD(,)p Fz(lon)p 3490 2026 V 40 w(max)6 b
+FD(]:)390 2190 y Fy(temperature_msk[$south_n)o(orth)o(,$ea)o(st_)o
+(west)o(]=0.)o(0;)390 2300 y(where\(lat)45 b(>=)i(lat_min)f(&&)h(lat)g
+(<=)h(lat_max\))d(&&)i(\(lon)g(>=)g(lon_min)f(&&)h(lon)g(<=)g
+(lon_max\))485 2409 y(temperature_msk=temperatur)o(e;)390
+2519 y(elsewhere)485 2628 y(temperature_msk=temperatur)o(e at _F)o(ill)o
+(Valu)o(e;)390 2848 y(temp_avg=temperature_msk)o(.avg)o(\(\);)390
+2957 y(temp_max=temperature.max)o(\(\);)150 3166 y Fu(4.1.14)63
+b(Lo)s(ops)150 3313 y Fy(ncap2)34 b FD(supplies)g Fy(for\(\))g
+FD(lo)s(ops)h(and)g Fy(while\(\))e FD(lo)s(ops.)55 b(They)35
+b(are)h(completely)h(unoptimized)e(so)g(use)150 3422
+y(them)30 b(only)g(with)g FC(RAM)g FD(v)-5 b(ariables)30
+b(unless)g(y)m(ou)g(w)m(an)m(t)h(thrash)e(y)m(our)h(disk)f(to)i(death.)
+40 b(T)-8 b(o)31 b(break)f(out)g(of)150 3532 y(a)h(lo)s(op)f(use)g(the)
+h Fy(break)e FD(command.)40 b(T)-8 b(o)31 b(iterate)h(to)f(the)g(next)g
+(cycle)g(use)f(the)h Fy(continue)d FD(command.)390 3696
+y Fy(//)47 b(Set)g(elements)f(in)h(variable)e(double)h
+(temp\(time,lat\))390 3806 y(//)h(If)g(element)f(<)i(0)f(set)g(to)g(0,)
+g(if)h(element)d(>)j(100)f(set)g(to)g(100)390 3915 y
+(*sz_idx=$time.size;)390 4025 y(*sz_jdx=$lat.size;)390
+4244 y(for\(*idx=0;idx<sz_idx;id)o(x++\))485 4354 y
+(for\(*jdx=0;jdx<sz_jdx;jdx+)o(+\))581 4463 y(if\(temp\(idx,jdx\))c(>)
+48 b(100\))e(temp\(idx,jdx\)=100.0;)676 4573 y(else)h
+(if\(temp\(idx,jdx\))c(<)48 b(0\))f(temp\(idx,jdx\)=0.0;)390
+4792 y(//)g(Are)g(values)f(of)h(co-ordinate)e(variable)h(double)g
+(lat\(lat\))f(monotonic?)390 4902 y(*sz=$lat.size;)390
+5121 y(for\(*idx=1;idx<sz;idx++\))485 5230 y
+(if\(lat\(idx\)-lat\(idx-1\))d(<)48 b(0.0\))e(break;)p
+eop end
+%%Page: 122 128
+TeXDict begin 122 127 bop 150 -116 a FD(122)2582 b FC(NCO)30
+b FD(4.4.2)j(User)d(Guide)390 299 y Fy(if\(idx)46 b(==)h(sz\))g
+(print\("lat)e(co-ordinate)g(is)i(monotonic\\n"\);)533
+408 y(else)g(print\("lat)e(co-ordinate)g(is)i(NOT)g(monotonic\\n"\);)
+390 628 y(//)g(Sum)g(odd)g(elements)390 737 y(*idx=0;)390
+847 y(*sz=$lat_nw.size;)390 956 y(*sum=0.0;)390 1176
+y(while\(idx<sz\){)485 1285 y(if\(lat\(idx\)\0452\))d(sum+=lat\(idx\);)
+485 1395 y(idx++;)390 1504 y(})390 1724 y(ram_write\(sum\);)390
+1833 y(print\("Total)g(of)k(odd)f(elements)e
+("\);print\(sum\);print\("\\n"\))o(;)150 2053 y Fu(4.1.15)63
+b(Include)41 b(\014les)150 2200 y FD(The)30 b(syn)m(tax)h(of)f(an)h
+Fz(include-\014le)k FD(is:)390 2370 y Fy(#include)46
+b("script.nco")275 2540 y FD(The)24 b(script)i(\014lename)f(is)g(searc)
+m(hed)h(relativ)m(e)i(to)e(the)f(run)f(directory)-8 b(.)40
+b(It)26 b(is)f(p)s(ossible)g(to)h(nest)f(include)150
+2650 y(\014les)36 b(to)i(an)e(arbitrary)g(depth.)59 b(A)36
+b(handy)g(use)g(of)g(inlcude)h(\014les)f(is)h(to)g(store)g(often)g
+(used)f(constan)m(ts.)150 2759 y(Use)31 b FC(RAM)g FD(v)-5
+b(ariables)31 b(if)f(y)m(ou)h(do)f(not)g(w)m(an)m(t)i(these)f(constan)m
+(ts)g(written)f(to)i Fz(output-\014le)p FD(.)390 2929
+y Fy(//)47 b(script.nco)390 3039 y(//)g(Sample)f(file)h(to)g(#include)f
+(in)h(ncap2)f(script)390 3148 y(*pi=3.1415926535;)d(//)k(RAM)g
+(variable,)e(not)i(written)f(to)h(output)390 3258 y(*h=6.62607095e-34;)
+c(//)k(RAM)g(variable,)e(not)i(written)f(to)h(output)390
+3367 y(e=2.71828;)e(//)i(Regular)f(\(disk\))g(variable,)f(written)h(to)
+h(output)150 3588 y Fu(4.1.16)63 b Fl(sort)41 b Fu(metho)s(ds)150
+3734 y FD(In)35 b FC(ncap2)g FD(there)i(are)f(m)m(ultiple)h(w)m(a)m(ys)
+g(to)f(sort)h(data.)58 b(Beginning)37 b(with)e FC(NCO)h
+FD(4.1.0)i(\(Marc)m(h,)h(2012\),)150 3844 y FC(ncap2)29
+b FD(supp)s(ort)g(six)h(sorting)h(functions:)390 4014
+y Fy(var_out=sort\(var_in,&srt)o(_map)o(\);)42 b(//)47
+b(Ascending)e(sort)390 4124 y(var_out=asort\(var_in,&sr)o(t_ma)o(p\);)c
+(//)47 b(Accending)f(sort)390 4233 y(var_out=dsort\(var_in,&sr)o(t_ma)o
+(p\);)41 b(//)47 b(Desending)f(sort)390 4343 y
+(var_out=remap\(var_in,srt)o(_map)o(\);)c(//)47 b(Apply)f(srt_map)g(to)
+h(var_in)390 4452 y(var_out=unmap\(var_in,srt)o(_map)o(\);)42
+b(//)47 b(Reverse)f(what)g(srt_map)g(did)h(to)g(var_in)390
+4562 y(dsr_map=invert_map\(srt_m)o(ap\);)41 b(//)47 b(Produce)f
+("de-sort")f(map)i(that)g(inverts)f(srt_map)275 4732
+y FD(The)25 b(\014rst)f(t)m(w)m(o)j(functions,)f Fy(sort\(\))e
+FD(and)h Fy(asort\(\))f FD(sort,)j(in)e(ascending)h(order,)g(all)g(the)
+g(elemen)m(ts)h(of)150 4841 y Fz(v)-5 b(ar)p 280 4841
+28 4 v 40 w(in)30 b FD(\(whic)m(h)h(can)g(b)s(e)g(a)g(v)-5
+b(ariable)31 b(or)g(attribute\))h(without)f(regard)g(to)g(an)m(y)g
+(dimensions.)41 b(The)31 b(third)150 4951 y(function,)g
+Fy(dsort\(\))d FD(do)s(es)i(the)h(same)g(but)f(sorts)h(in)f(descending)
+g(order.)41 b(Remem)m(b)s(er)30 b(that)i(ascending)150
+5061 y(and)e(descending)g(sorts)g(are)h(sp)s(eci\014ed)f(b)m(y)g
+Fy(asort\(\))e FD(and)i Fy(dsort\(\))p FD(,)f(resp)s(ectiv)m(ely)-8
+b(.)275 5230 y(These)26 b(three)h(functions)f(are)i(o)m(v)m(erloaded)g
+(to)g(tak)m(e)g(a)g(second,)f(optional)h(argumen)m(t)g(called)g(the)f
+(sort)150 5340 y(map)33 b Fz(srt)p 468 5340 V 40 w(map)p
+FD(,)h(whic)m(h)f(should)f(b)s(e)g(supplied)g(as)i(a)f(call-b)m
+(y-reference)j(v)-5 b(ariable,)35 b(i.e.,)g(preceded)e(with)p
+eop end
+%%Page: 123 129
+TeXDict begin 123 128 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(123)150
+299 y(an)33 b(amp)s(ersand.)46 b(If)32 b(the)h(sort)g(map)g(do)s(es)f
+(not)h(y)m(et)h(exist,)g(then)f(it)g(will)g(b)s(e)f(created)i(and)e
+(returned)g(as)150 408 y(an)e(in)m(teger)i(t)m(yp)s(e)f(the)f(same)h
+(shap)s(e)e(as)i(the)g(input)e(v)-5 b(ariable.)275 584
+y(The)34 b(output)g Fz(v)-5 b(ar)p 898 584 28 4 v 40
+w(out)37 b FD(of)e(eac)m(h)h(sort)f(function)g(is)g(a)g(sorted)g(v)m
+(ersion)g(of)g(the)g(input,)h Fz(v)-5 b(ar)p 3405 584
+V 40 w(in)p FD(.)53 b(The)150 693 y(output)33 b Fz(v)-5
+b(ar)p 581 693 V 40 w(out)36 b FD(of)d(the)h(t)m(w)m(o)h(mapping)d
+(functions)h(the)h(result)f(of)h(applying)f(\(with)h
+Fy(remap\(\))d FD(or)j(un-)150 803 y(applying)29 b(\(with)g
+Fy(unmap\(\))p FD(\))f(the)h(sort)h(map)f Fz(srt)p 1811
+803 V 40 w(map)i FD(to)f(the)g(input)e Fz(v)-5 b(ar)p
+2685 803 V 40 w(in)p FD(.)40 b(T)-8 b(o)30 b(apply)e(the)i(sort)f(map)
+150 913 y(with)g Fy(remap\(\))f FD(the)h(size)i(of)e(the)h(v)-5
+b(ariable)30 b(m)m(ust)g(b)s(e)f(exactly)i(divisible)f(b)m(y)f(the)h
+(size)g(of)g(the)f(sort)h(map.)275 1088 y(The)d(\014nal)g(function)h
+Fy(invert_map\(\))d FD(returns)h(the)i(so-called)i(de-sorting)e(map)g
+Fz(dsr)p 3196 1088 V 39 w(map)i FD(whic)m(h)e(is)150
+1198 y(in)m(v)m(erse)j(map)f(of)g(the)h(input)e(map)h
+Fz(srt)p 1470 1198 V 40 w(map)p FD(.)40 b(This)29 b(giv)m(es)j(the)e
+(user)g(access)h(to)g(b)s(oth)f(the)g(forw)m(ard)g(and)150
+1307 y(in)m(v)m(erse)h(sorting)g(maps)f(whic)m(h)g(can)h(b)s(e)e
+(useful)h(in)g(sp)s(ecial)h(situations.)390 1482 y Fy
+(a1[$time]={10,2,3,4,6,5,)o(7,3,)o(4,1})o(;)390 1592
+y(a1_sort=sort\(a1\);)390 1702 y(print\(a1_sort\);)390
+1811 y(//)47 b(1,)g(2,)h(3,)f(3,)g(4,)g(4,)g(5,)g(6,)h(7,)f(10;)390
+2030 y(a2[$lon]={2,1,4,3};)390 2140 y(a2_sort=sort\(a2,&a2_map\))o(;)
+390 2250 y(print\(a2\);)390 2359 y(//)g(1,)g(2,)h(3,)f(4)390
+2469 y(print\(a2_map\);)390 2578 y(//)g(1,)g(0,)h(3,)f(2;)275
+2754 y FD(If)30 b(the)i(map)f(v)-5 b(ariable)32 b(do)s(es)f(not)g
+(exist)h(prior)f(to)h(the)f Fy(sort\(\))f FD(call,)j(then)e(it)h(will)f
+(b)s(e)g(created)h(with)150 2863 y(the)i(same)h(shap)s(e)e(as)h(the)h
+(input)e(v)-5 b(ariable)34 b(and)g(b)s(e)f(of)i(t)m(yp)s(e)f
+Fy(NC_INT)p FD(.)50 b(If)34 b(the)g(map)f(v)-5 b(ariable)35
+b(already)150 2973 y(exists,)c(then)e(the)i(only)f(restriction)h(is)e
+(that)i(it)f(b)s(e)g(of)g(at)g(least)i(the)e(same)g(size)h(as)f(the)g
+(input)f(v)-5 b(ariable.)150 3082 y(T)d(o)31 b(apply)f(a)h(map)f(use)g
+Fy(remap\(var_in,srt_map\))p FD(.)390 3258 y Fy(defdim\("nlat",5\);)390
+3477 y(a3[$lon]={2,5,3,7};)390 3587 y(a4[$nlat,$lon]={)438
+3696 y(1,)47 b(2,)g(3,)g(4,)438 3806 y(5,)g(6,)g(7,)g(8,)438
+3915 y(9,10,11,12,)438 4025 y(13,14,15,16,)438 4134 y(17,18,19,20};)390
+4354 y(a3_sort=sort\(a3,&a3_map\))o(;)390 4463 y(print\(a3_map\);)390
+4573 y(//)g(0,)g(2,)h(1,)f(3;)390 4792 y(a4_sort=remap\(a4,a3_map\))o
+(;)390 4902 y(print\(a4_sort\);)390 5011 y(//)g(1,)g(3,)h(2,)f(4,)390
+5121 y(//)g(5,)g(7,)h(6,)f(8,)390 5230 y(//)g(9,11,10,12,)390
+5340 y(//)g(13,15,14,16,)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.2)j(User)d(Guide)390 299 y Fy(//)47 b(17,19,18,20;)390
+518 y(a3_map2[$nlat]={4,3,0,2,)o(1};)390 737 y
+(a4_sort2=remap\(a4,a3_map)o(2\);)390 847 y(print\(a4_sort2\);)390
+956 y(//)g(3,)g(5,)h(4,)f(2,)g(1)390 1066 y(//)g(8,)g(10,)g(9,7,)g(6,)
+390 1176 y(//)g(13,15,14,12,11,)390 1285 y(//)g(18,20,19,17,16)275
+1468 y FD(As)39 b(in)h(the)g(ab)s(o)m(v)m(e)h(example)f(y)m(ou)g(ma)m
+(y)g(create)i(y)m(our)d(o)m(wn)h(sort)g(map.)69 b(T)-8
+b(o)40 b(sort)g(in)f(descending)150 1577 y(order,)30
+b(apply)g(the)h Fy(reverse\(\))d FD(metho)s(d)h(after)i(the)g
+Fy(sort\(\))p FD(.)275 1760 y(Here)22 b(is)f(an)g(extended)h(example)g
+(of)g(ho)m(w)f(to)i(use)e Fy(ncap2)f FD(features)i(to)g(h)m(yp)s
+(erslab)e(an)i(irregular)f(region)150 1870 y(based)26
+b(on)f(the)h(v)-5 b(alues)27 b(of)f(a)g(v)-5 b(ariable)27
+b(not)f(a)g(co)s(ordinate.)40 b(The)25 b(distinction)i(is)f(crucial:)39
+b(h)m(yp)s(erslabbing)150 1979 y(based)c(on)g(dimensional)h(indices)f
+(or)g(co)s(ordinate)i(v)-5 b(alues)35 b(is)h(straigh)m(tforw)m(ard.)56
+b(Using)36 b(the)f(v)-5 b(alues)36 b(of)150 2089 y(single)31
+b(or)f(m)m(ulti-dimensional)i(v)-5 b(ariable)31 b(to)g(de\014ne)f(a)g
+(h)m(yp)s(erslab)g(is)g(quite)h(di\013eren)m(t.)390 2271
+y Fy(cat)47 b(>)g(~/ncap2_foo.nco)d(<<)j('EOF')390 2381
+y(//)g(Purpose:)f(Save)g(irregular)g(1-D)h(regions)e(based)i(on)g
+(variable)e(values)390 2600 y(//)i(Included)f(in)h(NCO)g(User)f(Guide)h
+(at)g(http://nco.sf.net/nco.ht)o(ml#s)o(ort)390 2819
+y(/*)g(NB:)g(Single)f(quotes)g(around)g(EOF)h(above)g(turn)f(off)h
+(shell)g(parameter)581 2929 y(expansion)e(in)i("here)g(documents".)d
+(This)j(in)g(turn)g(prevents)e(the)581 3039 y(need)i(for)f(protecting)f
+(dollarsign)g(characters)g(in)j(NCO)f(scripts)e(with)581
+3148 y(backslashes)g(when)h(the)h(script)f(is)h(cut-and-pasted)d(\(aka)
+j("moused"\))581 3258 y(from)g(an)g(editor)f(or)h(e-mail)f(into)h(a)g
+(shell)g(console)e(window)h(*/)390 3477 y(/*)h(Copy)g(coordinates)e
+(and)h(variable\(s\))f(of)i(interest)f(into)h(RAM)f(variable\(s\))533
+3587 y(Benefits:)533 3696 y(1.)h(ncap2)g(defines)f(writes)g(all)h
+(variables)e(on)i(LHS)g(of)g(expression)e(to)i(disk)676
+3806 y(Only)g(exception)e(is)i(RAM)g(variables,)e(which)i(are)g(stored)
+f(in)h(RAM)g(only)676 3915 y(Repeated)f(operations)f(on)i(regular)f
+(variables)f(takes)i(more)f(time,)676 4025 y(because)g(changes)g(are)h
+(written)f(to)h(disk)g(copy)f(after)h(every)f(change.)676
+4134 y(RAM)h(variables)f(are)g(only)h(changed)f(in)h(RAM)g(so)g(script)
+f(works)h(faster)676 4244 y(RAM)g(variables)f(can)g(be)i(written)d(to)j
+(disk)e(at)h(end)g(with)g(ram_write\(\))533 4354 y(2.)g(Script)f
+(permutes)g(variables)f(of)i(interest)f(during)g(processing)676
+4463 y(Safer)h(to)g(work)g(with)f(copies)g(that)h(have)g(different)e
+(names)676 4573 y(This)i(discourages)e(accidental,)f(mistaken)i(use)h
+(of)g(permuted)f(versions)533 4682 y(3.)h(Makes)g(this)f(script)g(a)i
+(more)f(generic)e(template:)676 4792 y(var_in)h(instead)g(of)h
+(specific)f(variable)g(names)g(everywhere)f(*/)390 4902
+y(*var_in=one_dmn_rec_var;)390 5011 y(*crd_in=time;)390
+5121 y(*dmn_in_sz=$time.size;)d(//)47 b([nbr])f(Size)h(of)g(input)f
+(arrays)390 5340 y(/*)h(Create)f(all)h(other)g("intermediate")c
+(variables)j(as)h(RAM)g(variables)p eop end
+%%Page: 125 131
+TeXDict begin 125 130 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(125)533
+299 y Fy(to)47 b(prevent)f(them)h(from)f(cluttering)f(the)i(output)f
+(file.)533 408 y(Mask)h(flag)f(and)h(sort)g(map)g(are)g(same)f(size)h
+(as)g(variable)f(of)h(interest)f(*/)390 518 y(*msk_flg=var_in;)390
+628 y(*srt_map=var_in;)390 847 y(/*)h(In)g(this)g(example)f(we)h(mask)g
+(for)g(all)f(values)h(evenly)f(divisible)f(by)i(3)533
+956 y(This)g(is)g(the)g(key,)g(problem-specific)c(portion)j(of)h(the)g
+(template)533 1066 y(Replace)f(this)h(where\(\))e(condition)h(by)h
+(that)g(for)f(your)h(problem)533 1176 y(Mask)g(variable)e(is)j
+(Boolean:)d(1=Meets)h(condition,)f(0=Fails)h(condition)f(*/)390
+1285 y(where\(var_in)f(\045)k(3)f(==)h(0\))f(msk_flg=1;)e(elsewhere)g
+(msk_flg=0;)390 1504 y(//)i(print\("msk_flg)d(=)k
+("\);print\(msk_flg\);)42 b(//)48 b(For)e(debugging...)390
+1724 y(/*)h(The)g(sort\(\))f(routine)g(is)h(overloaded,)e(and)i(takes)f
+(one)h(or)g(two)g(arguments)533 1833 y(The)g(second)f(argument)g
+(\(optional\))f(is)i(the)g("sort)f(map")h(\(srt_map)e(below\))533
+1943 y(Pass)i(the)g(sort)f(map)h(by)g(reference,)e(i.e.,)i(prefix)f
+(with)h(an)g(ampersand)533 2052 y(If)g(the)g(sort)g(map)g(does)f(not)h
+(yet)g(exist,)f(then)h(it)g(will)g(be)g(created)f(and)533
+2162 y(returned)g(as)h(an)g(integer)f(type)h(the)f(same)h(shape)f(as)i
+(the)f(input)f(variable.)533 2271 y(The)h(output)f(of)h(sort\(\),)f(on)
+h(the)g(LHS,)g(is)g(a)h(sorted)e(version)f(of)j(the)f(input)533
+2381 y(msk_flg)f(is)h(not)g(needed)f(in)h(its)g(original)f(order)g
+(after)h(sort\(\))533 2491 y(Hence)g(we)g(use)g(msk_flg)e(as)j(both)e
+(input)h(to)g(and)g(output)f(from)g(sort\(\))533 2600
+y(Doing)h(this)f(prevents)g(the)h(need)f(to)h(define)g(a)g(new,)g
+(unneeded)e(variable)h(*/)390 2710 y(msk_flg=sort\(msk_flg,&sr)o(t_ma)o
+(p\);)390 2929 y(//)h(Count)g(number)f(of)h(valid)f(points)g(in)h(mask)
+g(by)g(summing)f(the)h(one's)390 3039 y(*msk_nbr=msk_flg.total\(\))o(;)
+390 3258 y(//)g(Define)f(output)g(dimension)g(equal)g(in)h(size)g(to)g
+(number)f(of)h(valid)g(points)390 3367 y(defdim\("crd_out",msk_nbr)o
+(\);)390 3587 y(/*)g(Now)g(sort)g(the)g(variable)e(of)i(interest)f
+(using)g(the)h(sort)g(map)g(and)g(remap\(\))533 3696
+y(The)g(output,)f(on)h(the)g(LHS,)g(is)g(the)g(input)f(re-arranged)f
+(so)i(that)g(all)g(points)533 3806 y(meeting)f(the)h(mask)g(condition)e
+(are)i(contiguous)e(at)i(the)g(end)g(of)g(the)g(array)533
+3915 y(Use)g(same)g(srt_map)f(to)h(hyperslab)e(multiple)h(variables)f
+(of)i(the)g(same)g(shape)533 4025 y(Remember)f(to)h(apply)f(srt_map)g
+(to)h(the)g(coordinate)e(variables)g(*/)390 4134 y
+(crd_in=remap\(crd_in,srt_)o(map\))o(;)390 4244 y
+(var_in=remap\(var_in,srt_)o(map\))o(;)390 4463 y(/*)i(Hyperslab)e
+(last)i(msk_nbr)f(values)g(of)h(variable\(s\))e(of)i(interest)f(*/)390
+4573 y(crd_out[crd_out]=crd_in\()o(\(dmn)o(_in_)o(sz-)o(msk_)o(nbr\))o
+(:\(d)o(mn_i)o(n_sz)o(-1\))o(\);)390 4682 y(var_out[crd_out]=var_in\()o
+(\(dmn)o(_in_)o(sz-)o(msk_)o(nbr\))o(:\(d)o(mn_i)o(n_sz)o(-1\))o(\);)
+390 4902 y(/*)h(NB:)g(Even)g(though)f(we)h(created)f(all)h(variables)e
+(possible)h(as)h(RAM)g(variables,)533 5011 y(the)g(original)f
+(coordinate)f(of)i(interest,)e(time,)h(is)i(written)d(to)j(the)f
+(ouput.)533 5121 y(I'm)g(not)g(exactly)f(sure)g(why.)h(For)g(now,)g
+(delete)f(it)h(from)g(the)f(output)h(with:)533 5230 y(ncks)g(-O)g(-x)g
+(-v)g(time)g(~/foo.nc)f(~/foo.nc)533 5340 y(*/)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.2)j(User)d(Guide)390 299 y Fy(EOF)390 408 y(ncap2)46
+b(-O)i(-v)f(-S)g(~/ncap2_foo.nco)d(~/nco/data/in.nc)f(~/foo.nc)390
+518 y(ncks)k(-O)g(-x)g(-v)g(time)g(~/foo.nc)e(~/foo.nc)390
+628 y(ncks)i(~/foo.nc)275 792 y FD(Here)40 b(is)g(an)g(extended)g
+(example)h(of)f(ho)m(w)g(to)g(use)g Fy(ncap2)f FD(features)h(to)h(sort)
+f(m)m(ulti-dimensional)150 902 y(arra)m(ys)31 b(based)f(on)g(the)h(co)s
+(ordinate)g(v)-5 b(alues)31 b(along)g(a)g(single)g(dimension.)390
+1066 y Fy(cat)47 b(>)g(~/ncap2_foo.nco)d(<<)j('EOF')390
+1176 y(/*)g(Purpose:)f(Sort)g(multi-dimensional)d(array)k(based)f(on)h
+(coordinate)e(values)533 1285 y(This)i(example)f(sorts)g(the)h
+(variable)e(three_dmn_rec_var\(time,lat)o(,lon)o(\))533
+1395 y(based)i(on)g(the)g(values)f(of)h(the)g(time)f(coordinate.)f(*/)
+390 1614 y(//)i(Included)f(in)h(NCO)g(User)f(Guide)h(at)g
+(http://nco.sf.net/nco.ht)o(ml#s)o(ort)390 1833 y(//)g(Randomize)e(the)
+i(time)g(coordinate)390 1943 y(time=10.0*gsl_rng_unifor)o(m\(ti)o
+(me\);)390 2052 y(//print\("original)c(randomized)i(time)i
+(=\\n"\);print\(time\);)390 2271 y(/*)g(The)g(sort\(\))f(routine)g(is)h
+(overloaded,)e(and)i(takes)f(one)h(or)g(two)g(arguments)533
+2381 y(The)g(first)f(argument)g(is)h(a)h(one)f(dimensional)d(array)533
+2491 y(The)j(second)f(argument)g(\(optional\))f(is)i(the)g("sort)f
+(map")h(\(srt_map)e(below\))533 2600 y(Pass)i(the)g(sort)f(map)h(by)g
+(reference,)e(i.e.,)i(prefix)f(with)h(an)g(ampersand)533
+2710 y(If)g(the)g(sort)g(map)g(does)f(not)h(yet)g(exist,)f(then)h(it)g
+(will)g(be)g(created)f(and)533 2819 y(returned)g(as)h(an)g(integer)f
+(type)h(the)f(same)h(shape)f(as)i(the)f(input)f(variable.)533
+2929 y(The)h(output)f(of)h(sort\(\),)f(on)h(the)g(LHS,)g(is)g(a)h
+(sorted)e(version)f(of)j(the)f(input)f(*/)390 3148 y
+(time=sort\(time,&srt_map\))o(;)390 3258 y(//print\("sorted)e(time)i
+(\(ascending)f(order\))h(and)h(associated)e(sort)i(map)g
+(=\\n"\);print\(time\);print)o(\(srt)o(_map)o(\);)390
+3477 y(/*)g(sort\(\))f(always)g(sorts)h(in)g(ascending)e(order)533
+3587 y(The)i(associated)e(sort)i(map)g(therefore)e(re-arranges)g(the)i
+(original,)533 3696 y(randomized)e(time)i(array)f(into)h(ascending)e
+(order.)533 3806 y(There)i(are)f(two)h(methods)f(to)h(obtain)f(the)h
+(descending)e(order)i(the)g(user)f(wants)533 3915 y(1\))h(We)h(could)e
+(solve)g(the)h(problem)f(in)h(ascending)e(order)i(\(the)f(default\))533
+4025 y(and)h(then)g(apply)f(the)h(reverse\(\))e(method)h(to)i
+(re-arrange)d(the)h(results.)533 4134 y(2\))h(We)h(could)e(change)g
+(the)h(sort)g(map)f(to)i(return)e(things)g(in)h(descending)533
+4244 y(order)g(of)g(time)f(and)h(solve)g(the)g(problem)e(directly)h(in)
+h(descending)e(order.)h(*/)390 4463 y(//)h(Following)e(shows)i(how)g
+(to)g(do)g(method)f(one:)390 4682 y(/*)h(Expand)f(the)h(sort)g(map)g
+(to)g(srt_map_3d,)e(the)i(size)f(of)h(the)g(data)g(array)533
+4792 y(1.)g(Use)g(data)g(array)f(to)h(provide)f(right)h(shape)f(for)h
+(the)g(expanded)e(sort)i(map)533 4902 y(2.)g(Coerce)f(data)h(array)f
+(into)h(an)g(integer)f(so)h(srt_map_3d)e(is)i(an)h(integer)533
+5011 y(3.)f(Multiply)f(data)h(array)f(by)h(zero)g(so)g(3-d)g(map)g
+(elements)e(are)i(all)g(zero)533 5121 y(4.)g(Add)g(the)g(1-d)g(sort)g
+(map)g(to)g(the)g(3-d)g(sort)f(map)h(\(NCO)g(automatically)d(resizes\))
+533 5230 y(5.)j(Add)g(the)g(spatial)f(\(lat,lon\))f(offsets)h(to)h
+(each)g(time)g(index)533 5340 y(6.)g(de-sort)f(using)h(the)f
+(srt_map_3d)p eop end
+%%Page: 127 133
+TeXDict begin 127 132 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(127)533
+299 y Fy(7.)47 b(Use)g(reverse)f(to)h(obtain)f(descending)f(in)j(time)e
+(order)533 408 y(Loops)h(could)f(accomplish)f(the)i(same)f(thing)h
+(\(exercise)e(left)i(for)g(reader\))533 518 y(However,)f(loops)g(are)h
+(slow)g(for)g(large)f(datasets)f(*/)390 737 y(/*)i(Following)e(index)i
+(manipulation)d(requires)i(understanding)e(correspondence)533
+847 y(between)i(1-d)h(\(unrolled,)e(memory)h(order)g(of)i(storage\))d
+(and)i(access)f(into)h(that)533 956 y(memory)f(as)h(a)h
+(multidimensional)43 b(\(3-d,)k(in)g(this)f(case\))h(rectangular)e
+(array.)533 1066 y(Key)i(idea)g(to)g(understand)e(is)i(how)g
+(dimensionality)d(affects)i(offsets)g(*/)390 1176 y(//)h(Copy)g(1-d)g
+(sort)f(map)h(into)g(3-d)g(sort)f(map)390 1285 y
+(srt_map_3d=\(0*int\(three_)o(dmn_)o(rec_)o(var)o(\)\)+s)o(rt_m)o(ap;)
+390 1395 y(//)h(Multiply)f(base)g(offset)g(by)i(factorial)d(of)i
+(lesser)f(dimensions)390 1504 y(srt_map_3d*=$lat.size*$l)o(on.s)o(ize;)
+390 1614 y(lon_idx=array\(0,1,$lon\);)390 1724 y
+(lat_idx=array\(0,1,$lat\)*)o($lon)o(.siz)o(e;)390 1833
+y(lat_lon_idx[$lat,$lon]=l)o(at_i)o(dx+l)o(on_)o(idx;)390
+1943 y(srt_map_3d+=lat_lon_idx;)390 2162 y(print\("sort)f(map)i(3d)g
+(=\\n"\);print\(srt_map_3d\);)390 2381 y(//)g(Use)g(remap\(\))f(to)h
+(re-map)f(the)h(data)390 2491 y(three_dmn_rec_var=remap\()o(thre)o
+(e_dm)o(n_r)o(ec_v)o(ar,s)o(rt_)o(map_)o(3d\);)390 2710
+y(//)g(Finally,)f(reverse)g(data)g(so)h(time)g(coordinate)e(is)i
+(descending)390 2819 y(time=time.reverse\($time\))o(;)390
+2929 y(//print\("sorted)d(time)i(\(descending)f(order\))h
+(=\\n"\);print\(time\);)390 3039 y(three_dmn_rec_var=three_)o(dmn_)o
+(rec_)o(var)o(.rev)o(erse)o(\($t)o(ime\))o(;)390 3258
+y(//)h(Method)f(two:)h(Key)g(difference)e(is)i
+(srt_map=$time.size-srt_m)o(ap-1)o(;)390 3367 y(EOF)390
+3477 y(ncap2)f(-O)i(-v)f(-S)g(~/ncap2_foo.nco)d(~/nco/data/in.nc)f
+(~/foo.nc)150 3727 y Fu(4.1.17)63 b(Irregular)41 b(Grids)150
+3874 y FC(NCO)33 b FD(is)g(capable)h(of)f(analyzing)h(datasets)g(for)f
+(man)m(y)g(di\013eren)m(t)g(underlying)f(co)s(ordinate)i(grid)f(t)m(yp)
+s(es.)150 3984 y(netCDF)26 b(w)m(as)g(dev)m(elop)s(ed)f(for)g(and)g
+(initially)i(used)d(with)h(grids)g(comprised)g(of)h(orthogonal)h
+(dimensions)150 4093 y(forming)33 b(a)g(rectangular)h(co)s(ordinate)f
+(system.)49 b(W)-8 b(e)34 b(call)g(suc)m(h)f(grids)f
+Fo(standar)-5 b(d)45 b FD(grids.)j(It)33 b(is)g(increas-)150
+4203 y(ingly)h(common)g(for)f(datasets)h(to)h(use)e(metadata)i(to)f
+(describ)s(e)f(m)m(uc)m(h)g(more)h(complex)g(grids.)50
+b(Let)34 b(us)150 4313 y(\014rst)c(de\014ne)f(three)i(imp)s(ortan)m(t)f
+(co)s(ordinate)i(grid)e(prop)s(erties:)40 b(rectangularit)m(y)-8
+b(,)33 b(regularit)m(y)-8 b(,)32 b(and)e(fxm.)275 4498
+y(Grids)38 b(are)h Fo(r)-5 b(e)g(gular)50 b FD(if)38
+b(the)h(spacing)g(b)s(et)m(w)m(een)g(adjacen)m(t)h(is)f(constan)m(t.)67
+b(F)-8 b(or)39 b(example,)j(a)d(4-b)m(y-5)150 4607 y(degree)g
+(latitude-longitude)i(grid)d(is)h(regular)f(b)s(ecause)h(the)f
+(spacings)h(b)s(et)m(w)m(een)g(adjacen)m(t)h(latitudes)150
+4717 y(\(4)31 b(degrees)q(\))c(are)h(constan)m(t)h(as)f(are)f(the)h
+(\(5)j(degrees)q(\))c(spacings)h(b)s(et)m(w)m(een)g(adjacen)m(t)h
+(longitudes.)40 b(Spac-)150 4826 y(ing)27 b(in)g Fo(irr)-5
+b(e)g(gular)38 b FD(grids)27 b(dep)s(ends)e(on)i(the)h(lo)s(cation)g
+(along)g(the)g(co)s(ordinate.)40 b(Grids)27 b(suc)m(h)f(as)i(Gaussian)
+150 4936 y(grids)f(ha)m(v)m(e)i(unev)m(en)e(spacing)h(in)f(latitude)h
+(\(p)s(oin)m(ts)g(cluster)g(near)f(the)h(equator\))g(and)f(so)h(are)g
+(irregular.)275 5121 y(Grids)35 b(are)h Fo(r)-5 b(e)g(ctangular)48
+b FD(if)36 b(the)g(n)m(um)m(b)s(er)f(of)h(elemen)m(ts)h(in)f(an)m(y)g
+(dimension)g(is)g(not)g(a)g(function)g(of)150 5230 y(an)m(y)f(other)h
+(dimension.)54 b(F)-8 b(or)36 b(example,)h(a)e(T42)h(Gaussian)f
+(latitude-longitude)i(grid)e(is)g(rectangular)150 5340
+y(b)s(ecause)28 b(there)g(are)g(the)g(same)h(n)m(um)m(b)s(er)d(of)i
+(longitudes)h(\(128\))g(for)f(eac)m(h)h(of)f(the)g(\(64\))i(latitudes.)
+40 b(Grids)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.2)j(User)d(Guide)150 299 y(are)j Fo(non-r)-5
+b(e)g(ctangular)45 b FD(if)33 b(the)g(elemen)m(ts)h(in)e(an)m(y)h
+(dimension)g(dep)s(end)e(on)h(another)h(dimension.)48
+b(Non-)150 408 y(rectangular)31 b(grids)f(presen)m(t)h(man)m(y)f(sp)s
+(ecial)h(c)m(hallenges)h(to)g(analysis)e(soft)m(w)m(are)i(lik)m(e)g
+FC(NCO)p FD(.)275 570 y(W)-8 b(rapp)s(ed)29 b(co)s(ordinates)i(\(see)h
+(Section)f(3.20)h([W)-8 b(rapp)s(ed)29 b(Co)s(ordinates],)i(page)g
+(61\),)h(suc)m(h)e(as)h(longi-)150 679 y(tude,)f(are)h(indep)s(enden)m
+(t)e(of)i(these)g(grid)f(prop)s(erties)g(\(regularit)m(y)-8
+b(,)32 b(rectangularit)m(y\).)275 840 y(The)38 b(preferred)g
+FC(NCO)h FD(tec)m(hnique)h(to)g(analyze)h(data)f(on)f(non-standard)f
+(co)s(ordinate)i(grids)f(is)g(to)150 950 y(create)24
+b(a)f(region)g(mask)g(with)f Fy(ncap2)p FD(,)h(and)f(then)g(to)i(use)e
+(the)h(mask)f(within)g Fy(ncap2)g FD(for)g(v)-5 b(ariable-sp)s
+(eci\014c)150 1060 y(pro)s(cessing,)30 b(and/or)h(with)f(other)g(op)s
+(erators)h(\(e.g.,)h Fy(ncwa)p FD(,)e Fy(ncdiff)p FD(\))f(for)h(en)m
+(tire)h(\014le)g(pro)s(cessing.)275 1221 y(Before)i(describing)f(the)h
+(construction)h(of)e(masks,)i(let)f(us)f(review)h(ho)m(w)g(irregularly)
+g(gridded)e(geo-)150 1330 y(science)40 b(data)f(are)g(describ)s(ed.)63
+b(Sa)m(y)39 b(that)g(latitude)h(and)d(longitude)j(are)e(stored)h(as)g
+Fz(R)p FD(-dimensional)150 1440 y(arra)m(ys)26 b(and)e(the)i(pro)s
+(duct)e(of)h(the)h(dimension)f(sizes)h(is)f(the)h(total)h(n)m(um)m(b)s
+(er)d(of)h(elemen)m(ts)i(N)e(in)g(the)h(other)150 1549
+y(v)-5 b(ariables.)41 b(Geoscience)33 b(applications)f(tend)e(to)h(use)
+f Fz(R)25 b FD(=)g(1,)31 b Fz(R)25 b FD(=)g(2,)31 b(and)f
+Fz(R)25 b FD(=)g(3.)275 1711 y(If)34 b(the)i(grid)f(is)g(has)g(no)g
+(simple)g(represen)m(tation)h(\(e.g.,)j(discon)m(tin)m(uous\))c(then)g
+(it)h(mak)m(es)g(sense)f(to)150 1820 y(store)e(all)h(co)s(ordinates)f
+(as)g(1D)h(arra)m(ys)f(with)f(the)h(same)g(size)h(as)f(the)g(n)m(um)m
+(b)s(er)e(of)i(grid)g(p)s(oin)m(ts.)47 b(These)150 1930
+y(gridp)s(oin)m(ts)30 b(can)h(b)s(e)e(completely)k(indep)s(enden)m(t)c
+(of)h(all)h(the)g(other)g(\(o)m(wn)f(w)m(eigh)m(t,)j(area,)e(etc.\).)
+275 2091 y Fz(R)p FD(=1:)40 b(lat\(n)m(um)m(b)s(er)p
+971 2091 28 4 v 40 w(of)p 1084 2091 V 41 w(gridp)s(oin)m(ts\))30
+b(and)g(lon\(n)m(um)m(b)s(er)p 2225 2091 V 39 w(of)p
+2337 2091 V 40 w(gridp)s(oin)m(ts\))275 2252 y(If)f(the)i(horizon)m
+(tal)h(grid)e(is)h(time-in)m(v)-5 b(arian)m(t)32 b(then)e
+Fz(R)p FD(=2)h(is)f(common:)275 2413 y Fz(R)p FD(=2:)40
+b(lat\(south)p 887 2413 V 41 w(north,east)p 1327 2413
+V 41 w(w)m(est\))32 b(and)d(lon\(south)p 2159 2413 V
+41 w(north,east)p 2599 2413 V 40 w(w)m(est\))275 2574
+y(The)g(W)-8 b(eather)32 b(and)e(Researc)m(h)h(F)-8 b(orecast)33
+b(\()p FC(WRF)p FD(\))f(mo)s(del)e(uses)g Fz(R)p FD(=3:)275
+2736 y Fz(R)p FD(=3:)40 b(lat\(time,south)p 1088 2736
+V 42 w(north,east)p 1529 2736 V 41 w(w)m(est\),)32 b(lon\(time,south)p
+2411 2736 V 41 w(north,east)p 2851 2736 V 41 w(w)m(est\))275
+2897 y(and)d(so)i(supp)s(orts)d(grids)i(that)h(c)m(hange)h(with)e
+(time.)275 3058 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 3168 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 3168 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 3277 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 3387 y(maxim)m(um)30
+b(n)m(um)m(b)s(er)e(of)i(east)p 1169 3387 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 3496 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 3657 y(W)-8 b(e)41
+b(demonstrate)g(the)g Fy(ncap2)e FD(analysis)i(tec)m(hnique)g(for)g
+(irregular)f(regions)h(b)m(y)f(constructing)i(a)150 3767
+y(mask)24 b(for)f(an)g Fz(R)p FD(=2)h(grid.)38 b(W)-8
+b(e)25 b(wish)d(to)j(\014nd,)e(sa)m(y)-8 b(,)27 b(the)c(mean)h(temp)s
+(erature)f(within)g([)p Fz(lat)p 3191 3767 V 41 w(min)p
+FD(,)p Fz(lat)p 3514 3767 V 41 w(max)6 b FD(])150 3877
+y(and)30 b([)p Fz(lon)p 479 3877 V 40 w(min)p FD(,)p
+Fz(lon)p 817 3877 V 40 w(max)6 b FD(]:)390 4038 y Fy(ncap2)46
+b(-s)i('mask_var=)d(\(lat)h(>=)h(lat_min)f(&&)h(lat)g(<=)g(lat_max\))f
+(&&)h(\\)1345 4147 y(\(lon)f(>=)h(lon_min)f(&&)h(lon)g(<=)g
+(lon_max\);')e(in.nc)i(out.nc)275 4309 y FD(Arbitrarily)22
+b(shap)s(ed)g(regions)h(can)g(b)s(e)f(de\014ned)g(b)m(y)h(more)f
+(complex)i(conditional)g(statemen)m(ts.)40 b(Once)150
+4418 y(de\014ned,)29 b(masks)i(can)f(b)s(e)g(applied)g(to)h(sp)s
+(eci\014c)f(v)-5 b(ariables,)32 b(and)d(to)j(en)m(tire)f(\014les:)390
+4579 y Fy(ncap2)46 b(-s)i('temperature_avg=\(tempe)o(rat)o(ure*)o(mask)
+o(_va)o(r\).a)o(vg\(\))o(')42 b(in.nc)k(out.nc)390 4689
+y(ncwa)h(-a)g(lat,lon)f(-m)h(mask_var)e(-w)j(area)e(in.nc)h(out.nc)275
+4850 y FD(Crafting)41 b(suc)m(h)f(commands)h(on)g(the)g(command)g(line)
+g(is)g(p)s(ossible)g(though)f(un)m(wieldy)-8 b(.)73 b(In)40
+b(suc)m(h)150 4960 y(cases,)32 b(a)e(script)h(is)f(often)h(cleaner)g
+(and)f(allo)m(ws)i(y)m(ou)e(to)h(do)s(cumen)m(t)g(the)f(pro)s(cedure:)
+390 5121 y Fy(cat)47 b(>)g(ncap2.in)f(<<)h('EOF')390
+5230 y(mask_var)f(=)h(\(lat)g(>=)g(lat_min)f(&&)h(lat)g(<=)g(lat_max\))
+e(&&)j(\(lon)e(>=)h(lon_min)f(&&)h(>)h(lon)f(<=)g(lon_max\);)390
+5340 y(if\(mask_var.total\(\))c(>)k(0\){)g(//)g(Check)f(that)h(mask)g
+(contains)e(some)i(valid)f(values)p eop end
+%%Page: 129 135
+TeXDict begin 129 134 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(129)485
+299 y Fy(temperature_avg=\(temperatu)o(re*m)o(ask)o(_var)o(\).av)o
+(g\(\))o(;)42 b(//)47 b(Average)f(temperature)485 408
+y(temperature_max=\(temperatu)o(re*m)o(ask)o(_var)o(\).ma)o(x\(\))o(;)c
+(//)47 b(Maximum)f(temperature)390 518 y(})390 628 y(EOF)390
+737 y(ncap2)g(-S)i(ncap2.in)d(in.nc)h(out.nc)275 897
+y FD(Grids)30 b(lik)m(e)j(those)e(pro)s(duced)f(b)m(y)h(the)g
+FC(WRF)h FD(mo)s(del)f(are)g(complex)h(b)s(ecause)f(one)h(m)m(ust)f
+(use)g(global)150 1006 y(metadata)d(to)f(determine)f(the)g(grid)g
+(staggering)i(and)d(o\013sets)i(to)g(translate)g Fy(XLAT)e
+FD(and)h Fy(XLONG)e FD(in)m(to)j(real)150 1116 y(latitudes,)41
+b(longitudes,)g(and)c(missing)h(p)s(oin)m(ts.)63 b(The)38
+b FC(WRF)g FD(grid)g(do)s(cumen)m(tation)h(should)e(describ)s(e)150
+1226 y(this.)k(F)-8 b(or)31 b FC(WRF)g FD(\014les)f(creating)i
+(regional)f(masks)g(lo)s(oks)f(lik)m(e)390 1385 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
+1545 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(lat/lon)p 2798 1545 28 4 v
+42 w(min/max's.)64 b(The)38 b(mask)150 1654 y(pro)s(cedure)29
+b(is)i(iden)m(tical)h(for)e(all)h Fz(R)p FD(.)150 1854
+y Fu(4.1.18)63 b(Bilinear)41 b(in)m(terp)s(olation)150
+2001 y FD(As)32 b(of)g(v)m(ersion)h(4.0.0)h FC(NCO)e
+FD(has)g(in)m(ternal)g(routines)g(to)h(p)s(erform)e(bilinear)h(in)m
+(terp)s(olation)i(on)e(gridded)150 2110 y(data)g(sets.)43
+b(In)30 b(mathematics,)j(bilinear)f(in)m(terp)s(olation)g(is)f(an)g
+(extension)h(of)f(linear)h(in)m(terp)s(olation)g(for)150
+2220 y(in)m(terp)s(olating)40 b(functions)e(of)h(t)m(w)m(o)h(v)-5
+b(ariables)40 b(on)e(a)i(regular)f(grid.)65 b(The)39
+b(idea)g(is)g(to)g(p)s(erform)f(linear)150 2329 y(in)m(terp)s(olation)
+32 b(\014rst)d(in)h(one)h(direction,)g(and)f(then)g(again)i(in)e(the)g
+(other)h(direction.)275 2489 y(Supp)s(ose)22 b(w)m(e)i(ha)m(v)m(e)h(an)
+f(irregular)g(grid)f(of)i(data)f Fy(temperature[lat,lon])p
+FD(,)c(with)k(co-ordinate)h(v)-5 b(ars)150 2598 y Fy(lat[lat],)28
+b(lon[lon])p FD(.)44 b(W)-8 b(e)34 b(wish)d(to)i(\014nd)e(the)h(temp)s
+(erature)h(at)g(an)f(arbitary)g(p)s(oin)m(t)g([)p Fz(X)p
+FD(,)p Fz(Y)13 b FD(])33 b(within)150 2708 y(the)k(grid.)59
+b(If)36 b(w)m(e)h(can)g(lo)s(cate)h(lat)p 1346 2708 V
+41 w(min,lat)p 1669 2708 V 41 w(max)f(and)f(lon)p 2220
+2708 V 40 w(min,lon)p 2558 2708 V 40 w(max)h(suc)m(h)f(that)h
+Fy(lat_min)29 b(<=)g(X)150 2818 y(<=)h(lat_max)i FD(and)h
+Fy(lon_min)c(<=)h(Y)g(<=)f(lon_max)k FD(then)g(w)m(e)i(can)f(in)m(terp)
+s(olate)i(in)e(t)m(w)m(o)h(dimensions)f(the)150 2927
+y(temp)s(erature)c(at)h([)p Fz(X)p FD(,)p Fz(Y)13 b FD(].)275
+3087 y(The)29 b(general)j(form)e(of)g(the)h Fy(ncap2)e
+FD(in)m(terp)s(olation)i(function)f(is)390 3246 y Fy
+(var_out=bilinear_interp\()o(grid)o(_in,)o(gri)o(d_ou)o(t,gr)o(id_)o
+(out_)o(x,gr)o(id_)o(out_)o(y,gr)o(id_)o(in_x)o(,gri)o(d_i)o(n_y\))275
+3406 y FD(where)150 3590 y Fy(grid_in)144 b FD(Input)37
+b(function)h(data.)65 b(Usually)38 b(a)h(t)m(w)m(o)g(dimensional)g(v)-5
+b(ariable.)65 b(It)38 b(m)m(ust)g(b)s(e)g(of)g(size)630
+3700 y Fy(grid_in_x.size\(\)*grid_in)o(_y.s)o(ize\()o(\))150
+3859 y(grid_out)96 b FD(This)32 b(v)-5 b(ariable)34 b(is)f(the)g(shap)s
+(e)g(of)g Fy(var_out)p FD(.)47 b(Usually)33 b(a)h(t)m(w)m(o)g
+(dimensional)f(v)-5 b(ariable.)50 b(It)630 3969 y(m)m(ust)30
+b(b)s(e)g(of)h(size)g Fy(grid_out_x.size\(\)*grid_)o(out_)o(y.si)o
+(ze\()o(\))150 4129 y(grid_out_x)630 4238 y Fz(X)40 b
+FD(output)30 b(v)-5 b(alues)150 4398 y Fy(grid_out_y)630
+4507 y Fz(Y)43 b FD(output)30 b(v)-5 b(alues)150 4667
+y Fy(grid_in_x)630 4777 y Fz(X)40 b FD(input)29 b(v)-5
+b(alues)31 b(v)-5 b(alues.)41 b(Must)30 b(b)s(e)g(monotonic)h
+(\(increasing)h(or)e(decreasing\).)150 4936 y Fy(grid_in_y)630
+5046 y Fz(Y)43 b FD(input)30 b(v)-5 b(alues)30 b(v)-5
+b(alues.)41 b(Must)31 b(b)s(e)e(monotonic)j(\(increasing)f(or)g
+(decreasing\).)150 5230 y(Prior)39 b(to)h(calculations)h(all)f(argumen)
+m(ts)f(are)h(con)m(v)m(erted)g(to)g(t)m(yp)s(e)f Fy(NC_DOUBLE)p
+FD(.)65 b(After)39 b(calculations)150 5340 y Fy(var_out)28
+b FD(is)j(con)m(v)m(erted)h(to)f(the)f(input)g(t)m(yp)s(e)g(of)h
+Fy(grid_in)p FD(.)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.2)j(User)d(Guide)275 299 y(Supp)s(ose)e(the)j(\014rst)e(part)i
+(of)f(an)g Fy(ncap2)f FD(script)i(is)390 471 y Fy(defdim\("X",4\);)390
+581 y(defdim\("Y",5\);)390 800 y(//)47 b(Temperature)390
+909 y(T_in[$X,$Y]=)438 1019 y({100,)f(200,)h(300,)f(400,)h(500,)485
+1129 y(101,)g(202,)g(303,)f(404,)h(505,)485 1238 y(102,)g(204,)g(306,)f
+(408,)h(510,)485 1348 y(103,)g(206,)g(309,)f(412,)h(515.0)f(};)390
+1567 y(//)h(Coordinate)e(variables)390 1677 y(x_in[$X]={0.0,1.0,2.0,3.)
+o(01};)390 1786 y(y_in[$Y]={1.0,2.0,3.0,4.)o(0,5})o(;)275
+1958 y FD(No)m(w)31 b(w)m(e)f(in)m(terp)s(olate)i(with)e(the)h(follo)m
+(wing)h(v)-5 b(ariables:)390 2131 y Fy(defdim\("Xn",3\);)390
+2240 y(defdim\("Yn",4\);)390 2350 y(T_out[$Xn,$Yn]=0.0;)390
+2459 y(x_out[$Xn]={0.0,0.02,3.0)o(1};)390 2569 y
+(y_out[$Yn]={1.1,2.0,3,4})o(;)390 2788 y(var_out=bilinear_interp\()o
+(T_in)o(,T_o)o(ut,)o(x_ou)o(t,y_)o(out)o(,x_i)o(n,y_)o(in\))o(;)390
+2898 y(print\(var_out\);)390 3007 y(//)47 b(110,)g(200,)f(300,)h(400,)
+390 3117 y(//)g(110.022,)f(200.04,)g(300.06,)f(400.08,)390
+3226 y(//)i(113.3,)f(206,)h(309,)g(412)f(;)275 3399 y
+FD(It)30 b(is)g(p)s(ossible)g(to)h(in)m(terp)s(olate)h(a)f(single)g(p)s
+(oin)m(t:)390 3571 y Fy(var_out=bilinear_interp\()o(T_in)o(,0.0)o(,3.)o
+(0,4.)o(99,x)o(_in)o(,y_i)o(n\);)390 3680 y(print\(var_out\);)390
+3790 y(//)47 b(513.920594059406)150 3962 y Fq(W)-8 b(rapping)30
+b(and)f(Extrap)s(olation)150 4072 y FD(The)g(function)g
+Fy(bilinear_interp_wrap\(\))24 b FD(tak)m(es)31 b(the)f(same)g(argumen)
+m(ts)g(as)g Fy(bilinear_interp\(\))150 4181 y FD(but)36
+b(p)s(erforms)f(wrapping)h(\()p Fz(Y)13 b FD(\))37 b(and)f(extrap)s
+(olation)i(\()p Fz(X)9 b FD(\))38 b(for)f(p)s(oin)m(ts)f(o\013)h(the)g
+(edge)h(of)f(the)g(grid.)59 b(If)150 4291 y(the)37 b(giv)m(en)g(range)g
+(of)g(longitude)g(is)f(sa)m(y)i(\(25-335\))h(and)d(w)m(e)h(ha)m(v)m(e)h
+(a)f(p)s(oin)m(t)f(at)h(20)h(degrees,)h(then)d(the)150
+4401 y(endp)s(oin)m(ts)e(of)g(the)h(range)g(are)g(used)f(for)g(the)h
+(in)m(terp)s(olation.)54 b(This)34 b(is)g(what)h(wrapping)e(means.)53
+b(F)-8 b(or)150 4510 y(wrapping)36 b(to)i(o)s(ccur)g
+Fz(Y)50 b FD(m)m(ust)37 b(b)s(e)g(longitude)h(and)f(m)m(ust)g(b)s(e)g
+(in)g(the)g(range)h(\(0,360\))i(or)e(\(-180,180\).)150
+4620 y(There)22 b(are)h(no)g(restrictions)h(on)f(the)f(longitude)i(\()p
+Fz(X)9 b FD(\))24 b(v)-5 b(alues,)25 b(though)d(t)m(ypically)j(these)e
+(are)g(in)g(the)g(range)150 4729 y(\(-90,90\).)44 b(This)29
+b Fy(ncap2)g FD(script)i(illustrates)g(b)s(oth)f(wrapping)f(and)h
+(extrap)s(olation)i(of)e(end)g(p)s(oin)m(ts:)390 4902
+y Fy(defdim\("lat_in",6\);)390 5011 y(defdim\("lon_in",5\);)390
+5230 y(//)47 b(Coordinate)e(input)i(vars)390 5340 y
+(lat_in[$lat_in]={-80,-40)o(,0,3)o(0,60)o(.0,)o(85.0)o(};)p
+eop end
+%%Page: 131 137
+TeXDict begin 131 136 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(131)390
+299 y Fy(lon_in[$lon_in]={30,)42 b(110,)47 b(190,)g(270,)f(350.0};)390
+518 y(T_in[$lat_in,$lon_in]=)485 628 y({10,40,50,30,15,)581
+737 y(12,43,52,31,16,)581 847 y(14,46,54,32,17,)581 956
+y(16,49,56,33,18,)581 1066 y(18,52,58,34,19,)581 1176
+y(20,55,60,35,20.0)d(};)390 1395 y(defdim\("lat_out",4\);)390
+1504 y(defdim\("lon_out",3\);)390 1724 y(//)k(Coordinate)e(variables)
+390 1833 y(lat_out[$lat_out]={-90,0)o(,70,)o(88.0)o(};)390
+1943 y(lon_out[$lon_out]={0,190)o(,355)o(.0};)390 2162
+y(T_out[$lat_out,$lon_out])o(=0.0)o(;)390 2381 y
+(T_out=bilinear_interp_wr)o(ap\(T)o(_in,)o(T_o)o(ut,l)o(at_o)o(ut,)o
+(lon_)o(out,)o(lat)o(_in,)o(lon_)o(in\))o(;)390 2491
+y(print\(T_out\);)390 2600 y(//)i(13.4375,)f(49.5,)g(14.09375,)390
+2710 y(//)h(16.25,)f(54,)h(16.625,)390 2819 y(//)g(19.25,)f(58.8,)h
+(19.325,)390 2929 y(//)g(20.15,)f(60.24,)g(20.135)g(;)150
+3126 y Fu(4.1.19)63 b(GSL)41 b(sp)s(ecial)h(functions)150
+3273 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 3383 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
+3493 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 3602 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 3712 y(-f)i(|)g(grep)f(^gsl)p FD(.)150 3871
+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 3981 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
+3948 y Ft(2)3725 3981 y FD(.)150 4090 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 4200 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 4309 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 4419 y(otherwise\).)150
+4578 y(Consider)30 b(the)g(gamma)h(function.)150 4688
+y(The)f FC(GSL)g FD(function)g(protot)m(yp)s(e)h(is)150
+4798 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
+4907 y(b)s(e:)390 5067 y Fy(lon_in[lon]={-1,0.1,0,2,)o(0.3})o(;)p
+150 5154 1200 4 v 199 5221 a Ft(2)297 5253 y Fs(These)i(are)g(the)e
+Fp(GSL)i Fs(standard)g(function)f(names)h(p)r(ost\014xed)e(with)i
+Fr(_e)p Fs(.)34 b Fp(NCO)22 b Fs(calls)h(these)g(functions)f
+(automatically)-6 b(,)275 5340 y(without)25 b(the)h Fp(NCO)f
+Fs(command)h(ha)n(ving)f(to)h(sp)r(eci\014cally)h(indicate)f(the)f
+Fr(_e)h Fs(function)g(su\016x.)p eop end
+%%Page: 132 138
+TeXDict begin 132 137 bop 150 -116 a FD(132)2582 b FC(NCO)30
+b FD(4.4.2)j(User)d(Guide)390 299 y Fy(lon_out=gsl_sf_gamma\(lon)o
+(_in\))o(;)390 408 y(lon_out=)46 b(_,)h(9.5135,)f(4.5908,)f(2.9915)150
+577 y FD(The)38 b(\014rst)g(v)-5 b(alue)38 b(is)h(set)g(to)g
+Fy(_FillValue)c FD(since)k(the)g(gamma)g(function)f(is)g(unde\014ned)f
+(for)h(negativ)m(e)150 687 y(in)m(tegers.)52 b(If)33
+b(the)h(input)f(v)-5 b(ariable)35 b(has)e(a)h(missing)g(v)-5
+b(alue)34 b(then)g(this)f(v)-5 b(alue)34 b(is)g(used.)50
+b(Otherwise,)35 b(the)150 796 y(default)22 b(double)f(\014ll)h(v)-5
+b(alue)23 b(is)e(used)g(\(de\014ned)g(in)h(the)g(netCDF)g(header)g
+Fy(netcdf.h)e FD(as)i Fy(NC_FILL_DOUBLE)150 906 y(=)30
+b(9.969e+36)p FD(\).)150 1074 y(Consider)g(a)g(call)i(to)f(a)g(Bessel)g
+(function)f(with)g FC(GSL)h FD(protot)m(yp)s(e)150 1184
+y Fy(int)e(gsl_sf_bessel_Jn_e\(int)c(n,)30 b(double)e(x,)i
+(gsl_sf_result)d(*)j(result\))275 1353 y FD(An)g Fy(ncap2)e
+FD(script)j(w)m(ould)f(b)s(e)390 1521 y Fy(lon_out=gsl_sf_bessel_Jn)o
+(\(2,l)o(on_i)o(n\);)390 1631 y(lon_out=0.11490,)43 b(0.0012,)j
+(0.00498,)g(0.011165)275 1799 y FD(This)31 b(computes)i(the)f(Bessel)i
+(function)e(of)g(order)g Fz(n=2)39 b FD(for)32 b(ev)m(ery)h(v)-5
+b(alue)33 b(in)f Fy(lon_in)p FD(.)45 b(The)32 b(Bessel)150
+1909 y(order)e(argumen)m(t,)h(an)f(in)m(teger,)i(can)f(also)g(b)s(e)f
+(a)h(non-scalar)g(v)-5 b(ariable,)31 b(i.e.,)h(an)e(arra)m(y)-8
+b(.)390 2078 y Fy(n_in[lon]={0,1,2,3};)390 2187 y
+(lon_out=gsl_sf_bessel_Jn)o(\(n_i)o(n,0.)o(5\);)390 2297
+y(lon_out=)46 b(0.93846,)f(0.24226,)h(0.03060,)f(0.00256)150
+2465 y FD(Argumen)m(ts)c(to)h FC(GSL)g FD(wrapp)s(er)d(functions)i(in)g
+Fy(ncap2)f FD(m)m(ust)h(conform)g(to)h(one)g(another,)i(i.e.,)i(they)
+150 2575 y(m)m(ust)c(share)f(the)i(same)f(sub-set)g(of)g(dimensions.)74
+b(F)-8 b(or)43 b(example:)65 b Fy(three_out=gsl_sf_bessel)o(_)150
+2685 y(Jn\(n_in,three_dmn_var_db)o(l\))22 b FD(is)29
+b(v)-5 b(alid)29 b(b)s(ecause)f(the)h(v)-5 b(ariable)29
+b Fy(three_dmn_var_dbl)24 b FD(has)k(a)h Fz(lon)150 2794
+y FD(dimension,)d(so)g Fy(n_in)e FD(in)h(can)h(b)s(e)f(broadcast)h(to)g
+(conform)f(to)i Fy(three_dmn_var_dbl)p FD(.)34 b(Ho)m(w)m(ev)m(er)27
+b Fy(time_)150 2904 y(out=gsl_sf_bessel_Jn\(n_i)o(n,ti)o(me\))d
+FD(is)30 b(in)m(v)-5 b(alid.)275 3072 y(Consider)50 b(the)h(elliptical)
+i(in)m(tegral)g(with)d(protot)m(yp)s(e)i Fy(int)29 b
+(gsl_sf_ellint_RD_e\(double)24 b(x,)150 3182 y(double)29
+b(y,)g(double)g(z,)h(gsl_mode_t)d(mode,)i(gsl_sf_result)e(*)j(result\))
+390 3351 y(three_out=gsl_sf_ellint_)o(RD\(0)o(.5,t)o(ime)o(,thr)o(ee_d)
+o(mn_)o(var_)o(dbl\))o(;)150 3519 y FD(The)45 b(three)g(argumen)m(ts)h
+(are)f(all)h(conformable)g(so)g(the)f(ab)s(o)m(v)m(e)h
+Fy(ncap2)e FD(call)j(is)e(v)-5 b(alid.)86 b(The)44 b(mo)s(de)150
+3629 y(argumen)m(t)h(in)f(the)g(function)h(protot)m(yp)s(e)g(con)m
+(trols)g(the)g(con)m(v)m(ergence)i(of)d(the)h(algorithm.)83
+b(It)45 b(also)150 3738 y(app)s(ears)25 b(in)g(the)g(Airy)h(F)-8
+b(unction)26 b(protot)m(yp)s(es.)39 b(It)26 b(can)g(b)s(e)f(set)h(b)m
+(y)f(de\014ning)f(the)i(en)m(vironmen)m(t)g(v)-5 b(ariable)150
+3848 y Fy(GSL_PREC_MODE)p FD(.)49 b(If)33 b(unset)h(it)h(defaults)f(to)
+h(the)g(v)-5 b(alue)34 b Fy(GSL_PREC_DOUBLE)p FD(.)48
+b(See)35 b(the)f FC(GSL)h FD(man)m(ual)150 3957 y(for)30
+b(more)h(details.)390 4126 y Fy(export)46 b(GSL_PREC_MODE=0)e(//)j
+(GSL_PREC_DOUBLE)390 4236 y(export)f(GSL_PREC_MODE=1)e(//)j
+(GSL_PREC_SINGLE)390 4345 y(export)f(GSL_PREC_MODE=2)e(//)j
+(GSL_PREC_APPROX)150 4514 y FD(The)37 b Fy(ncap2)f FD(wrapp)s(ers)g(to)
+i(the)g(arra)m(y)g(functions)f(are)h(sligh)m(tly)g(di\013eren)m(t.)63
+b(Consider)37 b(the)g(follo)m(wing)150 4623 y FC(GSL)30
+b FD(protot)m(yp)s(e)150 4733 y Fy(int)f(gsl_sf_bessel_Jn_array\(int)24
+b(nmin,)29 b(int)g(nmax,)g(double)g(x,)g(double)g(*result_array\))390
+4902 y(b1=lon.double\(\);)390 5011 y(x=0.5;)390 5121
+y(status=gsl_sf_bessel_Jn_)o(arra)o(y\(1,)o(4,x)o(,&b1)o(\);)390
+5230 y(print\(status\);)390 5340 y(b1=0.24226,0.0306,0.0025)o(6,0.)o
+(0001)o(6;)p eop end
+%%Page: 133 139
+TeXDict begin 133 138 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(133)150
+299 y(This)35 b(calculates)j(the)d(Bessel)i(function)e(of)h
+Fz(x)6 b FD(=0.5)37 b(for)e Fz(n)p FD(=1)g(to)h(4.)57
+b(The)35 b(\014rst)g(three)h(argumen)m(ts)g(are)150 408
+y(scalar)28 b(v)-5 b(alues.)40 b(If)27 b(a)g(non-scalar)h(v)-5
+b(ariable)28 b(is)f(supplied)f(as)i(an)f(argumen)m(t)g(then)g(only)g
+(the)h(\014rst)e(v)-5 b(alue)28 b(is)150 518 y(used.)45
+b(The)32 b(\014nal)g(argumen)m(t)h(is)f(the)g(v)-5 b(ariable)33
+b(where)f(the)g(results)g(are)h(stored)f(\(NB:)i(the)e
+Fy(&)g FD(indicates)150 628 y(this)25 b(is)g(a)h(call)g(b)m(y)f
+(reference\).)40 b(This)24 b(\014nal)h(argumen)m(t)g(m)m(ust)g(b)s(e)g
+(of)g(t)m(yp)s(e)g Fy(double)f FD(and)g(m)m(ust)h(b)s(e)f(of)i(least)
+150 737 y(size)34 b Fz(nmax-nmin)p Fy(+)p Fz(1)p FD(.)50
+b(If)33 b(either)h(of)g(these)g(conditions)g(is)g(not)f(met)i(then)e
+(then)g(the)h(function)f(returns)150 847 y(an)d(error)g(message.)42
+b(The)30 b(function/wrapp)s(er)f(returns)g(a)i(status)f(\015ag.)41
+b(Zero)31 b(indicates)g(success.)150 1022 y(Consider)f(another)g(arra)m
+(y)h(function)150 1132 y Fy(int)e(gsl_sf_legendre_Pl_array\()24
+b(int)29 b(lmax,)g(double)g(x,)h(double)e(*result_array\);)390
+1307 y(a1=time.double\(\);)390 1417 y(x=0.3;)390 1526
+y(status=gsl_sf_legendre_P)o(l_ar)o(ray\()o(a1.)o(size)o(\(\)-1)o(,)42
+b(x,&a1\);)390 1636 y(print\(status\);)150 1811 y FD(This)25
+b(call)i(calculates)g Fz(P)p 992 1811 28 4 v 40 w(l)t
+FD(\(0.3\))g(for)f Fz(l)t FD(=0..9.)40 b(Note)27 b(that)f
+Fy(|)p Fz(x)p Fy(|<)p Fz(=1)p FD(,)g(otherwise)g(there)f(will)h(b)s(e)f
+(a)h(domain)150 1921 y(error.)40 b(See)31 b(the)g FC(GSL)f
+FD(do)s(cumen)m(tation)h(for)f(more)h(details.)150 2096
+y(The)e FC(GSL)h FD(functions)f(implemen)m(ted)h(in)g
+FC(NCO)f FD(are)h(listed)g(in)g(the)f(table)i(b)s(elo)m(w.)41
+b(This)29 b(table)h(is)g(correct)150 2206 y(for)i FC(GSL)g
+FD(v)m(ersion)h(1.10.)48 b(T)-8 b(o)33 b(see)g(what)f(functions)g(are)h
+(a)m(v)-5 b(ailable)34 b(on)e(y)m(our)h(build)e(run)g(the)h(command)150
+2315 y Fy(ncap2)d(-f)h(|grep)f(^gsl)e FD(.)41 b(T)-8
+b(o)29 b(see)g(this)g(table)h(along)g(with)f(the)g FC(GSL)g
+FD(C-function)f(protot)m(yp)s(es)i(lo)s(ok)f(at)150 2425
+y(the)i(spreadsheet)f Fq(do)s(c/nco)p 1124 2425 28 5
+v 40 w(gsl.o)s(ds)p FD(.)150 2819 y Fq(GSL)g(NAME)867
+b(I)144 b(NCAP)30 b(FUNCTION)g(CALL)150 2929 y FD(gsl)p
+262 2929 28 4 v 41 w(sf)p 367 2929 V 39 w(airy)p 560
+2929 V 40 w(Ai)p 693 2929 V 41 w(e)742 b(Y)112 b(gsl)p
+1802 2929 V 40 w(sf)p 1906 2929 V 40 w(airy)p 2100 2929
+V 40 w(Ai\(dbl)p 2395 2929 V 40 w(expr\))150 3039 y(gsl)p
+262 3039 V 41 w(sf)p 367 3039 V 39 w(airy)p 560 3039
+V 40 w(Bi)p 689 3039 V 41 w(e)746 b(Y)112 b(gsl)p 1802
+3039 V 40 w(sf)p 1906 3039 V 40 w(airy)p 2100 3039 V
+40 w(Bi\(dbl)p 2391 3039 V 40 w(expr\))150 3148 y(gsl)p
+262 3148 V 41 w(sf)p 367 3148 V 39 w(airy)p 560 3148
+V 40 w(Ai)p 693 3148 V 41 w(scaled)p 971 3148 V 41 w(e)464
+b(Y)112 b(gsl)p 1802 3148 V 40 w(sf)p 1906 3148 V 40
+w(airy)p 2100 3148 V 40 w(Ai)p 2233 3148 V 41 w(scaled\(dbl)p
+2673 3148 V 40 w(expr\))150 3258 y(gsl)p 262 3258 V 41
+w(sf)p 367 3258 V 39 w(airy)p 560 3258 V 40 w(Bi)p 689
+3258 V 41 w(scaled)p 967 3258 V 41 w(e)468 b(Y)112 b(gsl)p
+1802 3258 V 40 w(sf)p 1906 3258 V 40 w(airy)p 2100 3258
+V 40 w(Bi)p 2229 3258 V 41 w(scaled\(dbl)p 2669 3258
+V 40 w(expr\))150 3367 y(gsl)p 262 3367 V 41 w(sf)p 367
+3367 V 39 w(airy)p 560 3367 V 40 w(Ai)p 693 3367 V 41
+w(deriv)p 934 3367 V 40 w(e)502 b(Y)112 b(gsl)p 1802
+3367 V 40 w(sf)p 1906 3367 V 40 w(airy)p 2100 3367 V
+40 w(Ai)p 2233 3367 V 41 w(deriv\(dbl)p 2636 3367 V 39
+w(expr\))150 3477 y(gsl)p 262 3477 V 41 w(sf)p 367 3477
+V 39 w(airy)p 560 3477 V 40 w(Bi)p 689 3477 V 41 w(deriv)p
+930 3477 V 40 w(e)506 b(Y)112 b(gsl)p 1802 3477 V 40
+w(sf)p 1906 3477 V 40 w(airy)p 2100 3477 V 40 w(Bi)p
+2229 3477 V 41 w(deriv\(dbl)p 2632 3477 V 39 w(expr\))150
+3587 y(gsl)p 262 3587 V 41 w(sf)p 367 3587 V 39 w(airy)p
+560 3587 V 40 w(Ai)p 693 3587 V 41 w(deriv)p 934 3587
+V 40 w(scaled)p 1211 3587 V 41 w(e)224 b(Y)112 b(gsl)p
+1802 3587 V 40 w(sf)p 1906 3587 V 40 w(airy)p 2100 3587
+V 40 w(Ai)p 2233 3587 V 41 w(deriv)p 2474 3587 V 39 w(scaled\(dbl)p
+2912 3587 V 41 w(expr\))150 3696 y(gsl)p 262 3696 V 41
+w(sf)p 367 3696 V 39 w(airy)p 560 3696 V 40 w(Bi)p 689
+3696 V 41 w(deriv)p 930 3696 V 40 w(scaled)p 1207 3696
+V 41 w(e)228 b(Y)112 b(gsl)p 1802 3696 V 40 w(sf)p 1906
+3696 V 40 w(airy)p 2100 3696 V 40 w(Bi)p 2229 3696 V
+41 w(deriv)p 2470 3696 V 40 w(scaled\(dbl)p 2909 3696
+V 40 w(expr\))150 3806 y(gsl)p 262 3806 V 41 w(sf)p 367
+3806 V 39 w(airy)p 560 3806 V 40 w(zero)p 761 3806 V
+41 w(Ai)p 895 3806 V 41 w(e)540 b(Y)112 b(gsl)p 1802
+3806 V 40 w(sf)p 1906 3806 V 40 w(airy)p 2100 3806 V
+40 w(zero)p 2301 3806 V 41 w(Ai\(uin)m(t)p 2629 3806
+V 41 w(expr\))150 3915 y(gsl)p 262 3915 V 41 w(sf)p 367
+3915 V 39 w(airy)p 560 3915 V 40 w(zero)p 761 3915 V
+41 w(Bi)p 891 3915 V 41 w(e)544 b(Y)112 b(gsl)p 1802
+3915 V 40 w(sf)p 1906 3915 V 40 w(airy)p 2100 3915 V
+40 w(zero)p 2301 3915 V 41 w(Bi\(uin)m(t)p 2625 3915
+V 41 w(expr\))150 4025 y(gsl)p 262 4025 V 41 w(sf)p 367
+4025 V 39 w(airy)p 560 4025 V 40 w(zero)p 761 4025 V
+41 w(Ai)p 895 4025 V 41 w(deriv)p 1136 4025 V 40 w(e)300
+b(Y)112 b(gsl)p 1802 4025 V 40 w(sf)p 1906 4025 V 40
+w(airy)p 2100 4025 V 40 w(zero)p 2301 4025 V 41 w(Ai)p
+2435 4025 V 40 w(deriv\(uin)m(t)p 2869 4025 V 41 w(expr\))150
+4134 y(gsl)p 262 4134 V 41 w(sf)p 367 4134 V 39 w(airy)p
+560 4134 V 40 w(zero)p 761 4134 V 41 w(Bi)p 891 4134
+V 41 w(deriv)p 1132 4134 V 40 w(e)304 b(Y)112 b(gsl)p
+1802 4134 V 40 w(sf)p 1906 4134 V 40 w(airy)p 2100 4134
+V 40 w(zero)p 2301 4134 V 41 w(Bi)p 2431 4134 V 41 w(deriv\(uin)m(t)p
+2866 4134 V 40 w(expr\))150 4244 y(gsl)p 262 4244 V 41
+w(sf)p 367 4244 V 39 w(b)s(essel)p 637 4244 V 40 w(J0)p
+769 4244 V 40 w(e)667 b(Y)112 b(gsl)p 1802 4244 V 40
+w(sf)p 1906 4244 V 40 w(b)s(essel)p 2177 4244 V 40 w(J0\(dbl)p
+2471 4244 V 39 w(expr\))150 4354 y(gsl)p 262 4354 V 41
+w(sf)p 367 4354 V 39 w(b)s(essel)p 637 4354 V 40 w(J1)p
+769 4354 V 40 w(e)667 b(Y)112 b(gsl)p 1802 4354 V 40
+w(sf)p 1906 4354 V 40 w(b)s(essel)p 2177 4354 V 40 w(J1\(dbl)p
+2471 4354 V 39 w(expr\))150 4463 y(gsl)p 262 4463 V 41
+w(sf)p 367 4463 V 39 w(b)s(essel)p 637 4463 V 40 w(Jn)p
+775 4463 V 39 w(e)662 b(Y)112 b(gsl)p 1802 4463 V 40
+w(sf)p 1906 4463 V 40 w(b)s(essel)p 2177 4463 V 40 w(Jn\(in)m(t)p
+2458 4463 V 40 w(expr,dbl)p 2825 4463 V 39 w(expr\))150
+4573 y(gsl)p 262 4573 V 41 w(sf)p 367 4573 V 39 w(b)s(essel)p
+637 4573 V 40 w(Jn)p 775 4573 V 39 w(arra)m(y)495 b(Y)112
+b(status=gsl)p 2111 4573 V 40 w(sf)p 2215 4573 V 40 w(b)s(essel)p
+2486 4573 V 40 w(Jn)p 2624 4573 V 39 w(arra)m(y\(in)m(t,in)m
+(t,double,&v)-5 b(ar)p 3654 4573 V 42 w(out\))150 4682
+y(gsl)p 262 4682 V 41 w(sf)p 367 4682 V 39 w(b)s(essel)p
+637 4682 V 40 w(Y0)p 790 4682 V 41 w(e)645 b(Y)112 b(gsl)p
+1802 4682 V 40 w(sf)p 1906 4682 V 40 w(b)s(essel)p 2177
+4682 V 40 w(Y0\(dbl)p 2492 4682 V 40 w(expr\))150 4792
+y(gsl)p 262 4792 V 41 w(sf)p 367 4792 V 39 w(b)s(essel)p
+637 4792 V 40 w(Y1)p 790 4792 V 41 w(e)645 b(Y)112 b(gsl)p
+1802 4792 V 40 w(sf)p 1906 4792 V 40 w(b)s(essel)p 2177
+4792 V 40 w(Y1\(dbl)p 2492 4792 V 40 w(expr\))150 4902
+y(gsl)p 262 4902 V 41 w(sf)p 367 4902 V 39 w(b)s(essel)p
+637 4902 V 40 w(Yn)p 796 4902 V 40 w(e)640 b(Y)112 b(gsl)p
+1802 4902 V 40 w(sf)p 1906 4902 V 40 w(b)s(essel)p 2177
+4902 V 40 w(Yn\(in)m(t)p 2479 4902 V 40 w(expr,dbl)p
+2846 4902 V 39 w(expr\))150 5011 y(gsl)p 262 5011 V 41
+w(sf)p 367 5011 V 39 w(b)s(essel)p 637 5011 V 40 w(Yn)p
+796 5011 V 40 w(arra)m(y)473 b(Y)112 b(gsl)p 1802 5011
+V 40 w(sf)p 1906 5011 V 40 w(b)s(essel)p 2177 5011 V
+40 w(Yn)p 2336 5011 V 39 w(arra)m(y)150 5121 y(gsl)p
+262 5121 V 41 w(sf)p 367 5121 V 39 w(b)s(essel)p 637
+5121 V 40 w(I0)p 755 5121 V 40 w(e)681 b(Y)112 b(gsl)p
+1802 5121 V 40 w(sf)p 1906 5121 V 40 w(b)s(essel)p 2177
+5121 V 40 w(I0\(dbl)p 2457 5121 V 40 w(expr\))150 5230
+y(gsl)p 262 5230 V 41 w(sf)p 367 5230 V 39 w(b)s(essel)p
+637 5230 V 40 w(I1)p 755 5230 V 40 w(e)681 b(Y)112 b(gsl)p
+1802 5230 V 40 w(sf)p 1906 5230 V 40 w(b)s(essel)p 2177
+5230 V 40 w(I1\(dbl)p 2457 5230 V 40 w(expr\))150 5340
+y(gsl)p 262 5340 V 41 w(sf)p 367 5340 V 39 w(b)s(essel)p
+637 5340 V 40 w(In)p 761 5340 V 39 w(e)676 b(Y)112 b(gsl)p
+1802 5340 V 40 w(sf)p 1906 5340 V 40 w(b)s(essel)p 2177
+5340 V 40 w(In\(in)m(t)p 2444 5340 V 40 w(expr,dbl)p
+2811 5340 V 39 w(expr\))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.2)j(User)d(Guide)150 299 y(gsl)p 262 299 28
+4 v 41 w(sf)p 367 299 V 39 w(b)s(essel)p 637 299 V 40
+w(In)p 761 299 V 39 w(arra)m(y)509 b(Y)112 b(status=gsl)p
+2111 299 V 40 w(sf)p 2215 299 V 40 w(b)s(essel)p 2486
+299 V 40 w(In)p 2610 299 V 39 w(arra)m(y\(in)m(t,in)m(t,double,&v)-5
+b(ar)p 3640 299 V 42 w(out\))150 408 y(gsl)p 262 408
+V 41 w(sf)p 367 408 V 39 w(b)s(essel)p 637 408 V 40 w(I0)p
+755 408 V 40 w(scaled)p 1032 408 V 41 w(e)403 b(Y)112
+b(gsl)p 1802 408 V 40 w(sf)p 1906 408 V 40 w(b)s(essel)p
+2177 408 V 40 w(I0)p 2295 408 V 40 w(scaled\(dbl)p 2734
+408 V 40 w(expr\))150 518 y(gsl)p 262 518 V 41 w(sf)p
+367 518 V 39 w(b)s(essel)p 637 518 V 40 w(I1)p 755 518
+V 40 w(scaled)p 1032 518 V 41 w(e)403 b(Y)112 b(gsl)p
+1802 518 V 40 w(sf)p 1906 518 V 40 w(b)s(essel)p 2177
+518 V 40 w(I1)p 2295 518 V 40 w(scaled\(dbl)p 2734 518
+V 40 w(expr\))150 628 y(gsl)p 262 628 V 41 w(sf)p 367
+628 V 39 w(b)s(essel)p 637 628 V 40 w(In)p 761 628 V
+39 w(scaled)p 1037 628 V 41 w(e)398 b(Y)112 b(gsl)p 1802
+628 V 40 w(sf)p 1906 628 V 40 w(b)s(essel)p 2177 628
+V 40 w(In)p 2301 628 V 39 w(scaled\(in)m(t)p 2720 628
+V 42 w(expr,dbl)p 3089 628 V 39 w(expr\))150 737 y(gsl)p
+262 737 V 41 w(sf)p 367 737 V 39 w(b)s(essel)p 637 737
+V 40 w(In)p 761 737 V 39 w(scaled)p 1037 737 V 41 w(arra)m(y)231
+b(Y)112 b(staus=gsl)p 2076 737 V 40 w(sf)p 2180 737 V
+40 w(b)s(essel)p 2451 737 V 39 w(In)p 2574 737 V 40 w(scaled)p
+2851 737 V 41 w(arra)m(y\(in)m(t,in)m(t,double,&v)-5
+b(ar)p 3883 737 V 42 w(out\))150 847 y(gsl)p 262 847
+V 41 w(sf)p 367 847 V 39 w(b)s(essel)p 637 847 V 40 w(K0)p
+793 847 V 40 w(e)643 b(Y)112 b(gsl)p 1802 847 V 40 w(sf)p
+1906 847 V 40 w(b)s(essel)p 2177 847 V 40 w(K0\(dbl)p
+2495 847 V 39 w(expr\))150 956 y(gsl)p 262 956 V 41 w(sf)p
+367 956 V 39 w(b)s(essel)p 637 956 V 40 w(K1)p 793 956
+V 40 w(e)643 b(Y)112 b(gsl)p 1802 956 V 40 w(sf)p 1906
+956 V 40 w(b)s(essel)p 2177 956 V 40 w(K1\(dbl)p 2495
+956 V 39 w(expr\))150 1066 y(gsl)p 262 1066 V 41 w(sf)p
+367 1066 V 39 w(b)s(essel)p 637 1066 V 40 w(Kn)p 799
+1066 V 39 w(e)638 b(Y)112 b(gsl)p 1802 1066 V 40 w(sf)p
+1906 1066 V 40 w(b)s(essel)p 2177 1066 V 40 w(Kn\(in)m(t)p
+2482 1066 V 40 w(expr,dbl)p 2849 1066 V 39 w(expr\))150
+1176 y(gsl)p 262 1176 V 41 w(sf)p 367 1176 V 39 w(b)s(essel)p
+637 1176 V 40 w(Kn)p 799 1176 V 39 w(arra)m(y)471 b(Y)112
+b(status=gsl)p 2111 1176 V 40 w(sf)p 2215 1176 V 40 w(b)s(essel)p
+2486 1176 V 40 w(Kn)p 2648 1176 V 39 w(arra)m(y\(in)m(t,in)m
+(t,double,&v)-5 b(ar)p 3678 1176 V 42 w(out\))150 1285
+y(gsl)p 262 1285 V 41 w(sf)p 367 1285 V 39 w(b)s(essel)p
+637 1285 V 40 w(K0)p 793 1285 V 40 w(scaled)p 1070 1285
+V 41 w(e)365 b(Y)112 b(gsl)p 1802 1285 V 40 w(sf)p 1906
+1285 V 40 w(b)s(essel)p 2177 1285 V 40 w(K0)p 2333 1285
+V 40 w(scaled\(dbl)p 2772 1285 V 40 w(expr\))150 1395
+y(gsl)p 262 1395 V 41 w(sf)p 367 1395 V 39 w(b)s(essel)p
+637 1395 V 40 w(K1)p 793 1395 V 40 w(scaled)p 1070 1395
+V 41 w(e)365 b(Y)112 b(gsl)p 1802 1395 V 40 w(sf)p 1906
+1395 V 40 w(b)s(essel)p 2177 1395 V 40 w(K1)p 2333 1395
+V 40 w(scaled\(dbl)p 2772 1395 V 40 w(expr\))150 1504
+y(gsl)p 262 1504 V 41 w(sf)p 367 1504 V 39 w(b)s(essel)p
+637 1504 V 40 w(Kn)p 799 1504 V 39 w(scaled)p 1075 1504
+V 41 w(e)360 b(Y)112 b(gsl)p 1802 1504 V 40 w(sf)p 1906
+1504 V 40 w(b)s(essel)p 2177 1504 V 40 w(Kn)p 2339 1504
+V 39 w(scaled\(in)m(t)p 2758 1504 V 42 w(expr,dbl)p 3127
+1504 V 39 w(expr\))150 1614 y(gsl)p 262 1614 V 41 w(sf)p
+367 1614 V 39 w(b)s(essel)p 637 1614 V 40 w(Kn)p 799
+1614 V 39 w(scaled)p 1075 1614 V 41 w(arra)m(y)193 b(Y)112
+b(status=gsl)p 2111 1614 V 40 w(sf)p 2215 1614 V 40 w(b)s(essel)p
+2486 1614 V 40 w(Kn)p 2648 1614 V 39 w(scaled)p 2924
+1614 V 41 w(arra)m(y\(in)m(t,in)m(t,double,&v)-5 b(ar)p
+3956 1614 V 42 w(out\))150 1724 y(gsl)p 262 1724 V 41
+w(sf)p 367 1724 V 39 w(b)s(essel)p 637 1724 V 40 w(j0)p
+750 1724 V 40 w(e)686 b(Y)112 b(gsl)p 1802 1724 V 40
+w(sf)p 1906 1724 V 40 w(b)s(essel)p 2177 1724 V 40 w(J0\(dbl)p
+2471 1724 V 39 w(expr\))150 1833 y(gsl)p 262 1833 V 41
+w(sf)p 367 1833 V 39 w(b)s(essel)p 637 1833 V 40 w(j1)p
+750 1833 V 40 w(e)686 b(Y)112 b(gsl)p 1802 1833 V 40
+w(sf)p 1906 1833 V 40 w(b)s(essel)p 2177 1833 V 40 w(J1\(dbl)p
+2471 1833 V 39 w(expr\))150 1943 y(gsl)p 262 1943 V 41
+w(sf)p 367 1943 V 39 w(b)s(essel)p 637 1943 V 40 w(j2)p
+750 1943 V 40 w(e)686 b(Y)112 b(gsl)p 1802 1943 V 40
+w(sf)p 1906 1943 V 40 w(b)s(essel)p 2177 1943 V 40 w(j2\(dbl)p
+2452 1943 V 40 w(expr\))150 2052 y(gsl)p 262 2052 V 41
+w(sf)p 367 2052 V 39 w(b)s(essel)p 637 2052 V 40 w(jl)p
+730 2052 V 40 w(e)706 b(Y)112 b(gsl)p 1802 2052 V 40
+w(sf)p 1906 2052 V 40 w(b)s(essel)p 2177 2052 V 40 w(jl\(in)m(t)p
+2413 2052 V 41 w(expr,dbl)p 2781 2052 V 39 w(expr\))150
+2162 y(gsl)p 262 2162 V 41 w(sf)p 367 2162 V 39 w(b)s(essel)p
+637 2162 V 40 w(jl)p 730 2162 V 40 w(arra)m(y)539 b(Y)112
+b(status=gsl)p 2111 2162 V 40 w(sf)p 2215 2162 V 40 w(b)s(essel)p
+2486 2162 V 40 w(jl)p 2579 2162 V 40 w(arra)m(y\(in)m(t,double,&v)-5
+b(ar)p 3477 2162 V 41 w(out\))150 2271 y(gsl)p 262 2271
+V 41 w(sf)p 367 2271 V 39 w(b)s(essel)p 637 2271 V 40
+w(jl)p 730 2271 V 40 w(steed)p 972 2271 V 41 w(arra)m(y)296
+b(Y)112 b(gsl)p 1802 2271 V 40 w(sf)p 1906 2271 V 40
+w(b)s(essel)p 2177 2271 V 40 w(jl)p 2270 2271 V 40 w(steed)p
+2512 2271 V 40 w(arra)m(y)150 2381 y(gsl)p 262 2381 V
+41 w(sf)p 367 2381 V 39 w(b)s(essel)p 637 2381 V 40 w(y0)p
+770 2381 V 40 w(e)666 b(Y)112 b(gsl)p 1802 2381 V 40
+w(sf)p 1906 2381 V 40 w(b)s(essel)p 2177 2381 V 40 w(Y0\(dbl)p
+2492 2381 V 40 w(expr\))150 2491 y(gsl)p 262 2491 V 41
+w(sf)p 367 2491 V 39 w(b)s(essel)p 637 2491 V 40 w(y1)p
+770 2491 V 40 w(e)666 b(Y)112 b(gsl)p 1802 2491 V 40
+w(sf)p 1906 2491 V 40 w(b)s(essel)p 2177 2491 V 40 w(Y1\(dbl)p
+2492 2491 V 40 w(expr\))150 2600 y(gsl)p 262 2600 V 41
+w(sf)p 367 2600 V 39 w(b)s(essel)p 637 2600 V 40 w(y2)p
+770 2600 V 40 w(e)666 b(Y)112 b(gsl)p 1802 2600 V 40
+w(sf)p 1906 2600 V 40 w(b)s(essel)p 2177 2600 V 40 w(y2\(dbl)p
+2472 2600 V 40 w(expr\))150 2710 y(gsl)p 262 2710 V 41
+w(sf)p 367 2710 V 39 w(b)s(essel)p 637 2710 V 40 w(yl)p
+750 2710 V 40 w(e)686 b(Y)112 b(gsl)p 1802 2710 V 40
+w(sf)p 1906 2710 V 40 w(b)s(essel)p 2177 2710 V 40 w(yl\(in)m(t)p
+2433 2710 V 41 w(expr,dbl)p 2801 2710 V 39 w(expr\))150
+2819 y(gsl)p 262 2819 V 41 w(sf)p 367 2819 V 39 w(b)s(essel)p
+637 2819 V 40 w(yl)p 750 2819 V 40 w(arra)m(y)519 b(Y)112
+b(status=gsl)p 2111 2819 V 40 w(sf)p 2215 2819 V 40 w(b)s(essel)p
+2486 2819 V 40 w(yl)p 2599 2819 V 40 w(arra)m(y\(in)m(t,double,&v)-5
+b(ar)p 3497 2819 V 41 w(out\))150 2929 y(gsl)p 262 2929
+V 41 w(sf)p 367 2929 V 39 w(b)s(essel)p 637 2929 V 40
+w(i0)p 747 2929 V 41 w(scaled)p 1025 2929 V 41 w(e)410
+b(Y)112 b(gsl)p 1802 2929 V 40 w(sf)p 1906 2929 V 40
+w(b)s(essel)p 2177 2929 V 40 w(I0)p 2295 2929 V 40 w(scaled\(dbl)p
+2734 2929 V 40 w(expr\))150 3039 y(gsl)p 262 3039 V 41
+w(sf)p 367 3039 V 39 w(b)s(essel)p 637 3039 V 40 w(i1)p
+747 3039 V 41 w(scaled)p 1025 3039 V 41 w(e)410 b(Y)112
+b(gsl)p 1802 3039 V 40 w(sf)p 1906 3039 V 40 w(b)s(essel)p
+2177 3039 V 40 w(I1)p 2295 3039 V 40 w(scaled\(dbl)p
+2734 3039 V 40 w(expr\))150 3148 y(gsl)p 262 3148 V 41
+w(sf)p 367 3148 V 39 w(b)s(essel)p 637 3148 V 40 w(i2)p
+747 3148 V 41 w(scaled)p 1025 3148 V 41 w(e)410 b(Y)112
+b(gsl)p 1802 3148 V 40 w(sf)p 1906 3148 V 40 w(b)s(essel)p
+2177 3148 V 40 w(i2)p 2287 3148 V 40 w(scaled\(dbl)p
+2726 3148 V 41 w(expr\))150 3258 y(gsl)p 262 3258 V 41
+w(sf)p 367 3258 V 39 w(b)s(essel)p 637 3258 V 40 w(il)p
+727 3258 V 41 w(scaled)p 1005 3258 V 40 w(e)431 b(Y)112
+b(gsl)p 1802 3258 V 40 w(sf)p 1906 3258 V 40 w(b)s(essel)p
+2177 3258 V 40 w(il)p 2267 3258 V 40 w(scaled\(in)m(t)p
+2687 3258 V 42 w(expr,dbl)p 3056 3258 V 39 w(expr\))150
+3367 y(gsl)p 262 3367 V 41 w(sf)p 367 3367 V 39 w(b)s(essel)p
+637 3367 V 40 w(il)p 727 3367 V 41 w(scaled)p 1005 3367
+V 40 w(arra)m(y)264 b(Y)112 b(status=gsl)p 2111 3367
+V 40 w(sf)p 2215 3367 V 40 w(b)s(essel)p 2486 3367 V
+40 w(il)p 2576 3367 V 40 w(scaled)p 2853 3367 V 41 w(arra)m(y\(in)m
+(t,double,&v)-5 b(ar)p 3752 3367 V 41 w(out\))150 3477
+y(gsl)p 262 3477 V 41 w(sf)p 367 3477 V 39 w(b)s(essel)p
+637 3477 V 40 w(k0)p 770 3477 V 40 w(scaled)p 1047 3477
+V 41 w(e)388 b(Y)112 b(gsl)p 1802 3477 V 40 w(sf)p 1906
+3477 V 40 w(b)s(essel)p 2177 3477 V 40 w(K0)p 2333 3477
+V 40 w(scaled\(dbl)p 2772 3477 V 40 w(expr\))150 3587
+y(gsl)p 262 3587 V 41 w(sf)p 367 3587 V 39 w(b)s(essel)p
+637 3587 V 40 w(k1)p 770 3587 V 40 w(scaled)p 1047 3587
+V 41 w(e)388 b(Y)112 b(gsl)p 1802 3587 V 40 w(sf)p 1906
+3587 V 40 w(b)s(essel)p 2177 3587 V 40 w(K1)p 2333 3587
+V 40 w(scaled\(dbl)p 2772 3587 V 40 w(expr\))150 3696
+y(gsl)p 262 3696 V 41 w(sf)p 367 3696 V 39 w(b)s(essel)p
+637 3696 V 40 w(k2)p 770 3696 V 40 w(scaled)p 1047 3696
+V 41 w(e)388 b(Y)112 b(gsl)p 1802 3696 V 40 w(sf)p 1906
+3696 V 40 w(b)s(essel)p 2177 3696 V 40 w(k2)p 2310 3696
+V 40 w(scaled\(dbl)p 2749 3696 V 41 w(expr\))150 3806
+y(gsl)p 262 3806 V 41 w(sf)p 367 3806 V 39 w(b)s(essel)p
+637 3806 V 40 w(kl)p 750 3806 V 40 w(scaled)p 1027 3806
+V 41 w(e)408 b(Y)112 b(gsl)p 1802 3806 V 40 w(sf)p 1906
+3806 V 40 w(b)s(essel)p 2177 3806 V 40 w(kl)p 2290 3806
+V 40 w(scaled\(in)m(t)p 2710 3806 V 42 w(expr,dbl)p 3079
+3806 V 39 w(expr\))150 3915 y(gsl)p 262 3915 V 41 w(sf)p
+367 3915 V 39 w(b)s(essel)p 637 3915 V 40 w(kl)p 750
+3915 V 40 w(scaled)p 1027 3915 V 41 w(arra)m(y)241 b(Y)112
+b(status=gsl)p 2111 3915 V 40 w(sf)p 2215 3915 V 40 w(b)s(essel)p
+2486 3915 V 40 w(kl)p 2599 3915 V 40 w(scaled)p 2876
+3915 V 41 w(arra)m(y\(in)m(t,double,&v)-5 b(ar)p 3775
+3915 V 41 w(out\))150 4025 y(gsl)p 262 4025 V 41 w(sf)p
+367 4025 V 39 w(b)s(essel)p 637 4025 V 40 w(Jn)m(u)p
+823 4025 V 39 w(e)614 b(Y)112 b(gsl)p 1802 4025 V 40
+w(sf)p 1906 4025 V 40 w(b)s(essel)p 2177 4025 V 40 w(Jn)m(u\(dbl)p
+2525 4025 V 38 w(expr,dbl)p 2890 4025 V 40 w(expr\))150
+4134 y(gsl)p 262 4134 V 41 w(sf)p 367 4134 V 39 w(b)s(essel)p
+637 4134 V 40 w(Yn)m(u)p 844 4134 V 40 w(e)592 b(Y)112
+b(gsl)p 1802 4134 V 40 w(sf)p 1906 4134 V 40 w(b)s(essel)p
+2177 4134 V 40 w(Yn)m(u\(dbl)p 2546 4134 V 39 w(expr,dbl)p
+2912 4134 V 39 w(expr\))150 4244 y(gsl)p 262 4244 V 41
+w(sf)p 367 4244 V 39 w(b)s(essel)p 637 4244 V 40 w(sequence)p
+1023 4244 V 40 w(Jn)m(u)p 1209 4244 V 40 w(e)227 b(N)112
+b(gsl)p 1802 4244 V 40 w(sf)p 1906 4244 V 40 w(b)s(essel)p
+2177 4244 V 40 w(sequence)p 2563 4244 V 40 w(Jn)m(u)150
+4354 y(gsl)p 262 4354 V 41 w(sf)p 367 4354 V 39 w(b)s(essel)p
+637 4354 V 40 w(In)m(u)p 809 4354 V 39 w(scaled)p 1085
+4354 V 41 w(e)350 b(Y)112 b(gsl)p 1802 4354 V 40 w(sf)p
+1906 4354 V 40 w(b)s(essel)p 2177 4354 V 40 w(In)m(u)p
+2349 4354 V 39 w(scaled\(dbl)p 2787 4354 V 40 w(expr,dbl)p
+3154 4354 V 39 w(expr\))150 4463 y(gsl)p 262 4463 V 41
+w(sf)p 367 4463 V 39 w(b)s(essel)p 637 4463 V 40 w(In)m(u)p
+809 4463 V 39 w(e)628 b(Y)112 b(gsl)p 1802 4463 V 40
+w(sf)p 1906 4463 V 40 w(b)s(essel)p 2177 4463 V 40 w(In)m(u\(dbl)p
+2511 4463 V 39 w(expr,dbl)p 2877 4463 V 39 w(expr\))150
+4573 y(gsl)p 262 4573 V 41 w(sf)p 367 4573 V 39 w(b)s(essel)p
+637 4573 V 40 w(Kn)m(u)p 847 4573 V 39 w(scaled)p 1123
+4573 V 41 w(e)312 b(Y)112 b(gsl)p 1802 4573 V 40 w(sf)p
+1906 4573 V 40 w(b)s(essel)p 2177 4573 V 40 w(Kn)m(u)p
+2387 4573 V 39 w(scaled\(dbl)p 2825 4573 V 40 w(expr,dbl)p
+3192 4573 V 39 w(expr\))150 4682 y(gsl)p 262 4682 V 41
+w(sf)p 367 4682 V 39 w(b)s(essel)p 637 4682 V 40 w(Kn)m(u)p
+847 4682 V 39 w(e)590 b(Y)112 b(gsl)p 1802 4682 V 40
+w(sf)p 1906 4682 V 40 w(b)s(essel)p 2177 4682 V 40 w(Kn)m(u\(dbl)p
+2549 4682 V 38 w(expr,dbl)p 2914 4682 V 39 w(expr\))150
+4792 y(gsl)p 262 4792 V 41 w(sf)p 367 4792 V 39 w(b)s(essel)p
+637 4792 V 40 w(lnKn)m(u)p 923 4792 V 39 w(e)514 b(Y)112
+b(gsl)p 1802 4792 V 40 w(sf)p 1906 4792 V 40 w(b)s(essel)p
+2177 4792 V 40 w(lnKn)m(u\(dbl)p 2625 4792 V 38 w(expr,dbl)p
+2990 4792 V 39 w(expr\))150 4902 y(gsl)p 262 4902 V 41
+w(sf)p 367 4902 V 39 w(b)s(essel)p 637 4902 V 40 w(zero)p
+838 4902 V 41 w(J0)p 971 4902 V 40 w(e)465 b(Y)112 b(gsl)p
+1802 4902 V 40 w(sf)p 1906 4902 V 40 w(b)s(essel)p 2177
+4902 V 40 w(zero)p 2378 4902 V 41 w(J0\(uin)m(t)p 2705
+4902 V 40 w(expr\))150 5011 y(gsl)p 262 5011 V 41 w(sf)p
+367 5011 V 39 w(b)s(essel)p 637 5011 V 40 w(zero)p 838
+5011 V 41 w(J1)p 971 5011 V 40 w(e)465 b(Y)112 b(gsl)p
+1802 5011 V 40 w(sf)p 1906 5011 V 40 w(b)s(essel)p 2177
+5011 V 40 w(zero)p 2378 5011 V 41 w(J1\(uin)m(t)p 2705
+5011 V 40 w(expr\))150 5121 y(gsl)p 262 5121 V 41 w(sf)p
+367 5121 V 39 w(b)s(essel)p 637 5121 V 40 w(zero)p 838
+5121 V 41 w(Jn)m(u)p 1025 5121 V 39 w(e)412 b(N)112 b(gsl)p
+1802 5121 V 40 w(sf)p 1906 5121 V 40 w(b)s(essel)p 2177
+5121 V 40 w(zero)p 2378 5121 V 41 w(Jn)m(u)150 5230 y(gsl)p
+262 5230 V 41 w(sf)p 367 5230 V 39 w(clausen)p 694 5230
+V 41 w(e)741 b(Y)112 b(gsl)p 1802 5230 V 40 w(sf)p 1906
+5230 V 40 w(clausen\(dbl)p 2396 5230 V 40 w(expr\))150
+5340 y(gsl)p 262 5340 V 41 w(sf)p 367 5340 V 39 w(h)m(ydrogenicR)p
+902 5340 V 41 w(1)p 988 5340 V 40 w(e)448 b(N)112 b(gsl)p
+1802 5340 V 40 w(sf)p 1906 5340 V 40 w(h)m(ydrogenicR)p
+2442 5340 V 40 w(1)p eop end
+%%Page: 135 141
+TeXDict begin 135 140 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(135)150
+299 y(gsl)p 262 299 28 4 v 41 w(sf)p 367 299 V 39 w(h)m(ydrogenicR)p
+902 299 V 41 w(e)533 b(N)112 b(gsl)p 1802 299 V 40 w(sf)p
+1906 299 V 40 w(h)m(ydrogenicR)150 408 y(gsl)p 262 408
+V 41 w(sf)p 367 408 V 39 w(coulom)m(b)p 736 408 V 41
+w(w)m(a)m(v)m(e)p 967 408 V 42 w(F)m(G)p 1136 408 V 41
+w(e)299 b(N)112 b(gsl)p 1802 408 V 40 w(sf)p 1906 408
+V 40 w(coulom)m(b)p 2276 408 V 41 w(w)m(a)m(v)m(e)p 2507
+408 V 42 w(F)m(G)150 518 y(gsl)p 262 518 V 41 w(sf)p
+367 518 V 39 w(coulom)m(b)p 736 518 V 41 w(w)m(a)m(v)m(e)p
+967 518 V 42 w(F)p 1068 518 V 40 w(arra)m(y)201 b(N)112
+b(gsl)p 1802 518 V 40 w(sf)p 1906 518 V 40 w(coulom)m(b)p
+2276 518 V 41 w(w)m(a)m(v)m(e)p 2507 518 V 42 w(F)p 2608
+518 V 40 w(arra)m(y)150 628 y(gsl)p 262 628 V 41 w(sf)p
+367 628 V 39 w(coulom)m(b)p 736 628 V 41 w(w)m(a)m(v)m(e)p
+967 628 V 42 w(F)m(G)p 1136 628 V 41 w(arra)m(y)132 b(N)112
+b(gsl)p 1802 628 V 40 w(sf)p 1906 628 V 40 w(coulom)m(b)p
+2276 628 V 41 w(w)m(a)m(v)m(e)p 2507 628 V 42 w(F)m(G)p
+2676 628 V 41 w(arra)m(y)150 737 y(gsl)p 262 737 V 41
+w(sf)p 367 737 V 39 w(coulom)m(b)p 736 737 V 41 w(w)m(a)m(v)m(e)p
+967 737 V 42 w(F)m(Gp)p 1187 737 V 41 w(arra)m(y)81 b(N)112
+b(gsl)p 1802 737 V 40 w(sf)p 1906 737 V 40 w(coulom)m(b)p
+2276 737 V 41 w(w)m(a)m(v)m(e)p 2507 737 V 42 w(F)m(Gp)p
+2727 737 V 40 w(arra)m(y)150 847 y(gsl)p 262 847 V 41
+w(sf)p 367 847 V 39 w(coulom)m(b)p 736 847 V 41 w(w)m(a)m(v)m(e)p
+967 847 V 42 w(sphF)p 1206 847 V 39 w(arra)m(y)64 b(N)112
+b(gsl)p 1802 847 V 40 w(sf)p 1906 847 V 40 w(coulom)m(b)p
+2276 847 V 41 w(w)m(a)m(v)m(e)p 2507 847 V 42 w(sphF)p
+2746 847 V 39 w(arra)m(y)150 956 y(gsl)p 262 956 V 41
+w(sf)p 367 956 V 39 w(coulom)m(b)p 736 956 V 41 w(CL)p
+900 956 V 39 w(e)537 b(N)112 b(gsl)p 1802 956 V 40 w(sf)p
+1906 956 V 40 w(coulom)m(b)p 2276 956 V 41 w(CL)150 1066
+y(gsl)p 262 1066 V 41 w(sf)p 367 1066 V 39 w(coulom)m(b)p
+736 1066 V 41 w(CL)p 900 1066 V 39 w(arra)m(y)370 b(N)112
+b(gsl)p 1802 1066 V 40 w(sf)p 1906 1066 V 40 w(coulom)m(b)p
+2276 1066 V 41 w(CL)p 2440 1066 V 39 w(arra)m(y)150 1176
+y(gsl)p 262 1176 V 41 w(sf)p 367 1176 V 39 w(coupling)p
+739 1176 V 41 w(3j)p 853 1176 V 40 w(e)583 b(N)112 b(gsl)p
+1802 1176 V 40 w(sf)p 1906 1176 V 40 w(coupling)p 2279
+1176 V 40 w(3j)150 1285 y(gsl)p 262 1285 V 41 w(sf)p
+367 1285 V 39 w(coupling)p 739 1285 V 41 w(6j)p 853 1285
+V 40 w(e)583 b(N)112 b(gsl)p 1802 1285 V 40 w(sf)p 1906
+1285 V 40 w(coupling)p 2279 1285 V 40 w(6j)150 1395 y(gsl)p
+262 1395 V 41 w(sf)p 367 1395 V 39 w(coupling)p 739 1395
+V 41 w(RacahW)p 1121 1395 V 41 w(e)314 b(N)112 b(gsl)p
+1802 1395 V 40 w(sf)p 1906 1395 V 40 w(coupling)p 2279
+1395 V 40 w(RacahW)150 1504 y(gsl)p 262 1504 V 41 w(sf)p
+367 1504 V 39 w(coupling)p 739 1504 V 41 w(9j)p 853 1504
+V 40 w(e)583 b(N)112 b(gsl)p 1802 1504 V 40 w(sf)p 1906
+1504 V 40 w(coupling)p 2279 1504 V 40 w(9j)150 1614 y(gsl)p
+262 1614 V 41 w(sf)p 367 1614 V 39 w(coupling)p 739 1614
+V 41 w(6j)p 853 1614 V 40 w(INCORRECT)p 1459 1614 V 38
+w(e)-21 b(N)112 b(gsl)p 1802 1614 V 40 w(sf)p 1906 1614
+V 40 w(coupling)p 2279 1614 V 40 w(6j)p 2392 1614 V 40
+w(INCORRECT)150 1724 y(gsl)p 262 1724 V 41 w(sf)p 367
+1724 V 39 w(da)m(wson)p 697 1724 V 40 w(e)739 b(Y)112
+b(gsl)p 1802 1724 V 40 w(sf)p 1906 1724 V 40 w(da)m(wson\(dbl)p
+2399 1724 V 39 w(expr\))150 1833 y(gsl)p 262 1833 V 41
+w(sf)p 367 1833 V 39 w(deb)m(y)m(e)p 630 1833 V 41 w(1)p
+716 1833 V 40 w(e)720 b(Y)112 b(gsl)p 1802 1833 V 40
+w(sf)p 1906 1833 V 40 w(deb)m(y)m(e)p 2170 1833 V 41
+w(1\(dbl)p 2418 1833 V 40 w(expr\))150 1943 y(gsl)p 262
+1943 V 41 w(sf)p 367 1943 V 39 w(deb)m(y)m(e)p 630 1943
+V 41 w(2)p 716 1943 V 40 w(e)720 b(Y)112 b(gsl)p 1802
+1943 V 40 w(sf)p 1906 1943 V 40 w(deb)m(y)m(e)p 2170
+1943 V 41 w(2\(dbl)p 2418 1943 V 40 w(expr\))150 2052
+y(gsl)p 262 2052 V 41 w(sf)p 367 2052 V 39 w(deb)m(y)m(e)p
+630 2052 V 41 w(3)p 716 2052 V 40 w(e)720 b(Y)112 b(gsl)p
+1802 2052 V 40 w(sf)p 1906 2052 V 40 w(deb)m(y)m(e)p
+2170 2052 V 41 w(3\(dbl)p 2418 2052 V 40 w(expr\))150
+2162 y(gsl)p 262 2162 V 41 w(sf)p 367 2162 V 39 w(deb)m(y)m(e)p
+630 2162 V 41 w(4)p 716 2162 V 40 w(e)720 b(Y)112 b(gsl)p
+1802 2162 V 40 w(sf)p 1906 2162 V 40 w(deb)m(y)m(e)p
+2170 2162 V 41 w(4\(dbl)p 2418 2162 V 40 w(expr\))150
+2271 y(gsl)p 262 2271 V 41 w(sf)p 367 2271 V 39 w(deb)m(y)m(e)p
+630 2271 V 41 w(5)p 716 2271 V 40 w(e)720 b(Y)112 b(gsl)p
+1802 2271 V 40 w(sf)p 1906 2271 V 40 w(deb)m(y)m(e)p
+2170 2271 V 41 w(5\(dbl)p 2418 2271 V 40 w(expr\))150
+2381 y(gsl)p 262 2381 V 41 w(sf)p 367 2381 V 39 w(deb)m(y)m(e)p
+630 2381 V 41 w(6)p 716 2381 V 40 w(e)720 b(Y)112 b(gsl)p
+1802 2381 V 40 w(sf)p 1906 2381 V 40 w(deb)m(y)m(e)p
+2170 2381 V 41 w(6\(dbl)p 2418 2381 V 40 w(expr\))150
+2491 y(gsl)p 262 2491 V 41 w(sf)p 367 2491 V 39 w(dilog)p
+597 2491 V 41 w(e)838 b(N)112 b(gsl)p 1802 2491 V 40
+w(sf)p 1906 2491 V 40 w(dilog)150 2600 y(gsl)p 262 2600
+V 41 w(sf)p 367 2600 V 39 w(complex)p 731 2600 V 41 w(dilog)p
+963 2600 V 41 w(xy)p 1100 2600 V 40 w(e)336 b(N)112 b(gsl)p
+1802 2600 V 40 w(sf)p 1906 2600 V 40 w(complex)p 2271
+2600 V 41 w(dilog)p 2503 2600 V 41 w(xy)p 2640 2600 V
+40 w(e)150 2710 y(gsl)p 262 2710 V 41 w(sf)p 367 2710
+V 39 w(complex)p 731 2710 V 41 w(dilog)p 963 2710 V 41
+w(e)472 b(N)112 b(gsl)p 1802 2710 V 40 w(sf)p 1906 2710
+V 40 w(complex)p 2271 2710 V 41 w(dilog)150 2819 y(gsl)p
+262 2819 V 41 w(sf)p 367 2819 V 39 w(complex)p 731 2819
+V 41 w(sp)s(ence)p 1033 2819 V 40 w(xy)p 1169 2819 V
+40 w(e)267 b(N)112 b(gsl)p 1802 2819 V 40 w(sf)p 1906
+2819 V 40 w(complex)p 2271 2819 V 41 w(sp)s(ence)p 2573
+2819 V 39 w(xy)p 2708 2819 V 40 w(e)150 2929 y(gsl)p
+262 2929 V 41 w(sf)p 367 2929 V 39 w(m)m(ultiply)p 739
+2929 V 41 w(e)696 b(N)112 b(gsl)p 1802 2929 V 40 w(sf)p
+1906 2929 V 40 w(m)m(ultiply)150 3039 y(gsl)p 262 3039
+V 41 w(sf)p 367 3039 V 39 w(m)m(ultiply)p 739 3039 V
+41 w(err)p 892 3039 V 39 w(e)545 b(N)112 b(gsl)p 1802
+3039 V 40 w(sf)p 1906 3039 V 40 w(m)m(ultiply)p 2279
+3039 V 40 w(err)150 3148 y(gsl)p 262 3148 V 41 w(sf)p
+367 3148 V 39 w(ellin)m(t)p 604 3148 V 42 w(Kcomp)p 929
+3148 V 40 w(e)507 b(Y)112 b(gsl)p 1802 3148 V 40 w(sf)p
+1906 3148 V 40 w(ellin)m(t)p 2144 3148 V 41 w(Kcomp\(dbl)p
+2630 3148 V 40 w(expr\))150 3258 y(gsl)p 262 3258 V 41
+w(sf)p 367 3258 V 39 w(ellin)m(t)p 604 3258 V 42 w(Ecomp)p
+920 3258 V 40 w(e)516 b(Y)112 b(gsl)p 1802 3258 V 40
+w(sf)p 1906 3258 V 40 w(ellin)m(t)p 2144 3258 V 41 w(Ecomp\(dbl)p
+2621 3258 V 40 w(expr\))150 3367 y(gsl)p 262 3367 V 41
+w(sf)p 367 3367 V 39 w(ellin)m(t)p 604 3367 V 42 w(Pcomp)p
+920 3367 V 40 w(e)516 b(Y)112 b(gsl)p 1802 3367 V 40
+w(sf)p 1906 3367 V 40 w(ellin)m(t)p 2144 3367 V 41 w(Pcomp\(dbl)p
+2621 3367 V 40 w(expr,dbl)p 2988 3367 V 39 w(expr\))150
+3477 y(gsl)p 262 3477 V 41 w(sf)p 367 3477 V 39 w(ellin)m(t)p
+604 3477 V 42 w(Dcomp)p 927 3477 V 40 w(e)509 b(Y)112
+b(gsl)p 1802 3477 V 40 w(sf)p 1906 3477 V 40 w(ellin)m(t)p
+2144 3477 V 41 w(Dcomp\(dbl)p 2628 3477 V 41 w(expr\))150
+3587 y(gsl)p 262 3587 V 41 w(sf)p 367 3587 V 39 w(ellin)m(t)p
+604 3587 V 42 w(F)p 705 3587 V 40 w(e)731 b(Y)112 b(gsl)p
+1802 3587 V 40 w(sf)p 1906 3587 V 40 w(ellin)m(t)p 2144
+3587 V 41 w(F\(dbl)p 2406 3587 V 40 w(expr,dbl)p 2773
+3587 V 39 w(expr\))150 3696 y(gsl)p 262 3696 V 41 w(sf)p
+367 3696 V 39 w(ellin)m(t)p 604 3696 V 42 w(E)p 708 3696
+V 40 w(e)728 b(Y)112 b(gsl)p 1802 3696 V 40 w(sf)p 1906
+3696 V 40 w(ellin)m(t)p 2144 3696 V 41 w(E\(dbl)p 2409
+3696 V 40 w(expr,dbl)p 2776 3696 V 39 w(expr\))150 3806
+y(gsl)p 262 3806 V 41 w(sf)p 367 3806 V 39 w(ellin)m(t)p
+604 3806 V 42 w(P)p 708 3806 V 40 w(e)728 b(Y)112 b(gsl)p
+1802 3806 V 40 w(sf)p 1906 3806 V 40 w(ellin)m(t)p 2144
+3806 V 41 w(P\(dbl)p 2409 3806 V 40 w(expr,dbl)p 2776
+3806 V 39 w(expr,dbl)p 3142 3806 V 39 w(expr\))150 3915
+y(gsl)p 262 3915 V 41 w(sf)p 367 3915 V 39 w(ellin)m(t)p
+604 3915 V 42 w(D)p 715 3915 V 40 w(e)721 b(Y)112 b(gsl)p
+1802 3915 V 40 w(sf)p 1906 3915 V 40 w(ellin)m(t)p 2144
+3915 V 41 w(D\(dbl)p 2416 3915 V 40 w(expr,dbl)p 2783
+3915 V 39 w(expr,dbl)p 3149 3915 V 39 w(expr\))150 4025
+y(gsl)p 262 4025 V 41 w(sf)p 367 4025 V 39 w(ellin)m(t)p
+604 4025 V 42 w(R)m(C)p 776 4025 V 40 w(e)660 b(Y)112
+b(gsl)p 1802 4025 V 40 w(sf)p 1906 4025 V 40 w(ellin)m(t)p
+2144 4025 V 41 w(R)m(C\(dbl)p 2477 4025 V 40 w(expr,dbl)p
+2844 4025 V 39 w(expr\))150 4134 y(gsl)p 262 4134 V 41
+w(sf)p 367 4134 V 39 w(ellin)m(t)p 604 4134 V 42 w(RD)p
+782 4134 V 40 w(e)654 b(Y)112 b(gsl)p 1802 4134 V 40
+w(sf)p 1906 4134 V 40 w(ellin)m(t)p 2144 4134 V 41 w(RD\(dbl)p
+2483 4134 V 40 w(expr,dbl)p 2850 4134 V 39 w(expr,dbl)p
+3216 4134 V 39 w(expr\))150 4244 y(gsl)p 262 4244 V 41
+w(sf)p 367 4244 V 39 w(ellin)m(t)p 604 4244 V 42 w(RF)p
+772 4244 V 40 w(e)664 b(Y)112 b(gsl)p 1802 4244 V 40
+w(sf)p 1906 4244 V 40 w(ellin)m(t)p 2144 4244 V 41 w(RF\(dbl)p
+2473 4244 V 40 w(expr,dbl)p 2840 4244 V 39 w(expr,dbl)p
+3206 4244 V 39 w(expr\))150 4354 y(gsl)p 262 4354 V 41
+w(sf)p 367 4354 V 39 w(ellin)m(t)p 604 4354 V 42 w(RJ)p
+760 4354 V 39 w(e)677 b(Y)112 b(gsl)p 1802 4354 V 40
+w(sf)p 1906 4354 V 40 w(ellin)m(t)p 2144 4354 V 41 w(RJ\(dbl)p
+2461 4354 V 40 w(expr,dbl)p 2828 4354 V 39 w(expr,dbl)p
+3194 4354 V 39 w(expr,dbl)p 3560 4354 V 39 w(expr\))150
+4463 y(gsl)p 262 4463 V 41 w(sf)p 367 4463 V 39 w(elljac)p
+609 4463 V 42 w(e)825 b(N)112 b(gsl)p 1802 4463 V 40
+w(sf)p 1906 4463 V 40 w(elljac)150 4573 y(gsl)p 262 4573
+V 41 w(sf)p 367 4573 V 39 w(erfc)p 550 4573 V 40 w(e)886
+b(Y)112 b(gsl)p 1802 4573 V 40 w(sf)p 1906 4573 V 40
+w(erfc\(dbl)p 2252 4573 V 40 w(expr\))150 4682 y(gsl)p
+262 4682 V 41 w(sf)p 367 4682 V 39 w(log)p 521 4682 V
+41 w(erfc)p 706 4682 V 41 w(e)729 b(Y)112 b(gsl)p 1802
+4682 V 40 w(sf)p 1906 4682 V 40 w(log)p 2061 4682 V 41
+w(erfc\(dbl)p 2408 4682 V 40 w(expr\))150 4792 y(gsl)p
+262 4792 V 41 w(sf)p 367 4792 V 39 w(erf)p 510 4792 V
+40 w(e)926 b(Y)112 b(gsl)p 1802 4792 V 40 w(sf)p 1906
+4792 V 40 w(erf\(dbl)p 2212 4792 V 39 w(expr\))150 4902
+y(gsl)p 262 4902 V 41 w(sf)p 367 4902 V 39 w(erf)p 510
+4902 V 40 w(Z)p 606 4902 V 40 w(e)830 b(Y)112 b(gsl)p
+1802 4902 V 40 w(sf)p 1906 4902 V 40 w(erf)p 2050 4902
+V 40 w(Z\(dbl)p 2308 4902 V 39 w(expr\))150 5011 y(gsl)p
+262 5011 V 41 w(sf)p 367 5011 V 39 w(erf)p 510 5011 V
+40 w(Q)p 621 5011 V 40 w(e)815 b(Y)112 b(gsl)p 1802 5011
+V 40 w(sf)p 1906 5011 V 40 w(erf)p 2050 5011 V 40 w(Q\(dbl)p
+2323 5011 V 39 w(expr\))150 5121 y(gsl)p 262 5121 V 41
+w(sf)p 367 5121 V 39 w(hazard)p 674 5121 V 40 w(e)762
+b(Y)112 b(gsl)p 1802 5121 V 40 w(sf)p 1906 5121 V 40
+w(hazard\(dbl)p 2376 5121 V 39 w(expr\))150 5230 y(gsl)p
+262 5230 V 41 w(sf)p 367 5230 V 39 w(exp)p 545 5230 V
+40 w(e)891 b(Y)112 b(gsl)p 1802 5230 V 40 w(sf)p 1906
+5230 V 40 w(exp\(dbl)p 2247 5230 V 39 w(expr\))150 5340
+y(gsl)p 262 5340 V 41 w(sf)p 367 5340 V 39 w(exp)p 545
+5340 V 40 w(e10)p 715 5340 V 41 w(e)720 b(N)112 b(gsl)p
+1802 5340 V 40 w(sf)p 1906 5340 V 40 w(exp)p 2085 5340
+V 40 w(e10)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.2)j(User)d(Guide)150 299 y(gsl)p 262 299 28
+4 v 41 w(sf)p 367 299 V 39 w(exp)p 545 299 V 40 w(m)m(ult)p
+769 299 V 40 w(e)667 b(Y)112 b(gsl)p 1802 299 V 40 w(sf)p
+1906 299 V 40 w(exp)p 2085 299 V 40 w(m)m(ult\(dbl)p
+2471 299 V 40 w(expr,dbl)p 2838 299 V 39 w(expr\))150
+408 y(gsl)p 262 408 V 41 w(sf)p 367 408 V 39 w(exp)p
+545 408 V 40 w(m)m(ult)p 769 408 V 40 w(e10)p 939 408
+V 42 w(e)495 b(N)112 b(gsl)p 1802 408 V 40 w(sf)p 1906
+408 V 40 w(exp)p 2085 408 V 40 w(m)m(ult)p 2309 408 V
+40 w(e10)150 518 y(gsl)p 262 518 V 41 w(sf)p 367 518
+V 39 w(expm1)p 666 518 V 40 w(e)770 b(Y)112 b(gsl)p 1802
+518 V 40 w(sf)p 1906 518 V 40 w(expm1\(dbl)p 2368 518
+V 40 w(expr\))150 628 y(gsl)p 262 628 V 41 w(sf)p 367
+628 V 39 w(exprel)p 646 628 V 40 w(e)790 b(Y)112 b(gsl)p
+1802 628 V 40 w(sf)p 1906 628 V 40 w(exprel\(dbl)p 2348
+628 V 40 w(expr\))150 737 y(gsl)p 262 737 V 41 w(sf)p
+367 737 V 39 w(exprel)p 646 737 V 40 w(2)p 731 737 V
+41 w(e)704 b(Y)112 b(gsl)p 1802 737 V 40 w(sf)p 1906
+737 V 40 w(exprel)p 2186 737 V 40 w(2\(dbl)p 2433 737
+V 40 w(expr\))150 847 y(gsl)p 262 847 V 41 w(sf)p 367
+847 V 39 w(exprel)p 646 847 V 40 w(n)p 737 847 V 40 w(e)699
+b(Y)112 b(gsl)p 1802 847 V 40 w(sf)p 1906 847 V 40 w(exprel)p
+2186 847 V 40 w(n\(in)m(t)p 2420 847 V 40 w(expr,dbl)p
+2787 847 V 39 w(expr\))150 956 y(gsl)p 262 956 V 41 w(sf)p
+367 956 V 39 w(exp)p 545 956 V 40 w(err)p 697 956 V 40
+w(e)739 b(Y)112 b(gsl)p 1802 956 V 40 w(sf)p 1906 956
+V 40 w(exp)p 2085 956 V 40 w(err\(dbl)p 2399 956 V 39
+w(expr,dbl)p 2765 956 V 39 w(expr\))150 1066 y(gsl)p
+262 1066 V 41 w(sf)p 367 1066 V 39 w(exp)p 545 1066 V
+40 w(err)p 697 1066 V 40 w(e10)p 867 1066 V 41 w(e)568
+b(N)112 b(gsl)p 1802 1066 V 40 w(sf)p 1906 1066 V 40
+w(exp)p 2085 1066 V 40 w(err)p 2237 1066 V 39 w(e10)150
+1176 y(gsl)p 262 1176 V 41 w(sf)p 367 1176 V 39 w(exp)p
+545 1176 V 40 w(m)m(ult)p 769 1176 V 40 w(err)p 921 1176
+V 40 w(e)515 b(N)112 b(gsl)p 1802 1176 V 40 w(sf)p 1906
+1176 V 40 w(exp)p 2085 1176 V 40 w(m)m(ult)p 2309 1176
+V 40 w(err)150 1285 y(gsl)p 262 1285 V 41 w(sf)p 367
+1285 V 39 w(exp)p 545 1285 V 40 w(m)m(ult)p 769 1285
+V 40 w(err)p 921 1285 V 40 w(e10)p 1091 1285 V 41 w(e)344
+b(N)112 b(gsl)p 1802 1285 V 40 w(sf)p 1906 1285 V 40
+w(exp)p 2085 1285 V 40 w(m)m(ult)p 2309 1285 V 40 w(err)p
+2461 1285 V 40 w(e10)150 1395 y(gsl)p 262 1395 V 41 w(sf)p
+367 1395 V 39 w(expin)m(t)p 653 1395 V 41 w(E1)p 801
+1395 V 40 w(e)635 b(Y)112 b(gsl)p 1802 1395 V 40 w(sf)p
+1906 1395 V 40 w(expin)m(t)p 2193 1395 V 40 w(E1\(dbl)p
+2502 1395 V 40 w(expr\))150 1504 y(gsl)p 262 1504 V 41
+w(sf)p 367 1504 V 39 w(expin)m(t)p 653 1504 V 41 w(E2)p
+801 1504 V 40 w(e)635 b(Y)112 b(gsl)p 1802 1504 V 40
+w(sf)p 1906 1504 V 40 w(expin)m(t)p 2193 1504 V 40 w(E2\(dbl)p
+2502 1504 V 40 w(expr\))150 1614 y(gsl)p 262 1614 V 41
+w(sf)p 367 1614 V 39 w(expin)m(t)p 653 1614 V 41 w(En)p
+807 1614 V 39 w(e)630 b(Y)112 b(gsl)p 1802 1614 V 40
+w(sf)p 1906 1614 V 40 w(expin)m(t)p 2193 1614 V 40 w(En\(in)m(t)p
+2489 1614 V 41 w(expr,dbl)p 2857 1614 V 39 w(expr\))150
+1724 y(gsl)p 262 1724 V 41 w(sf)p 367 1724 V 39 w(expin)m(t)p
+653 1724 V 41 w(E1)p 801 1724 V 40 w(scaled)p 1078 1724
+V 41 w(e)357 b(Y)112 b(gsl)p 1802 1724 V 40 w(sf)p 1906
+1724 V 40 w(expin)m(t)p 2193 1724 V 40 w(E1)p 2340 1724
+V 41 w(scaled\(dbl)p 2780 1724 V 40 w(expr\))150 1833
+y(gsl)p 262 1833 V 41 w(sf)p 367 1833 V 39 w(expin)m(t)p
+653 1833 V 41 w(E2)p 801 1833 V 40 w(scaled)p 1078 1833
+V 41 w(e)357 b(Y)112 b(gsl)p 1802 1833 V 40 w(sf)p 1906
+1833 V 40 w(expin)m(t)p 2193 1833 V 40 w(E2)p 2340 1833
+V 41 w(scaled\(dbl)p 2780 1833 V 40 w(expr\))150 1943
+y(gsl)p 262 1943 V 41 w(sf)p 367 1943 V 39 w(expin)m(t)p
+653 1943 V 41 w(En)p 807 1943 V 39 w(scaled)p 1083 1943
+V 41 w(e)352 b(Y)112 b(gsl)p 1802 1943 V 40 w(sf)p 1906
+1943 V 40 w(expin)m(t)p 2193 1943 V 40 w(En)p 2346 1943
+V 40 w(scaled\(in)m(t)p 2766 1943 V 42 w(expr,dbl)p 3135
+1943 V 39 w(expr\))150 2052 y(gsl)p 262 2052 V 41 w(sf)p
+367 2052 V 39 w(expin)m(t)p 653 2052 V 41 w(Ei)p 781
+2052 V 40 w(e)655 b(Y)112 b(gsl)p 1802 2052 V 40 w(sf)p
+1906 2052 V 40 w(expin)m(t)p 2193 2052 V 40 w(Ei\(dbl)p
+2482 2052 V 40 w(expr\))150 2162 y(gsl)p 262 2162 V 41
+w(sf)p 367 2162 V 39 w(expin)m(t)p 653 2162 V 41 w(Ei)p
+781 2162 V 40 w(scaled)p 1058 2162 V 41 w(e)377 b(Y)112
+b(gsl)p 1802 2162 V 40 w(sf)p 1906 2162 V 40 w(expin)m(t)p
+2193 2162 V 40 w(Ei)p 2320 2162 V 40 w(scaled\(dbl)p
+2759 2162 V 41 w(expr\))150 2271 y(gsl)p 262 2271 V 41
+w(sf)p 367 2271 V 39 w(Shi)p 533 2271 V 39 w(e)904 b(Y)112
+b(gsl)p 1802 2271 V 40 w(sf)p 1906 2271 V 40 w(Shi\(dbl)p
+2235 2271 V 39 w(expr\))150 2381 y(gsl)p 262 2381 V 41
+w(sf)p 367 2381 V 39 w(Chi)p 548 2381 V 40 w(e)888 b(Y)112
+b(gsl)p 1802 2381 V 40 w(sf)p 1906 2381 V 40 w(Chi\(dbl)p
+2250 2381 V 39 w(expr\))150 2491 y(gsl)p 262 2491 V 41
+w(sf)p 367 2491 V 39 w(expin)m(t)p 653 2491 V 41 w(3)p
+739 2491 V 40 w(e)697 b(Y)112 b(gsl)p 1802 2491 V 40
+w(sf)p 1906 2491 V 40 w(expin)m(t)p 2193 2491 V 40 w(3\(dbl)p
+2440 2491 V 40 w(expr\))150 2600 y(gsl)p 262 2600 V 41
+w(sf)p 367 2600 V 39 w(Si)p 482 2600 V 40 w(e)954 b(Y)112
+b(gsl)p 1802 2600 V 40 w(sf)p 1906 2600 V 40 w(Si\(dbl)p
+2184 2600 V 39 w(expr\))150 2710 y(gsl)p 262 2710 V 41
+w(sf)p 367 2710 V 39 w(Ci)p 497 2710 V 40 w(e)939 b(Y)112
+b(gsl)p 1802 2710 V 40 w(sf)p 1906 2710 V 40 w(Ci\(dbl)p
+2199 2710 V 39 w(expr\))150 2819 y(gsl)p 262 2819 V 41
+w(sf)p 367 2819 V 39 w(atanin)m(t)p 690 2819 V 42 w(e)744
+b(Y)112 b(gsl)p 1802 2819 V 40 w(sf)p 1906 2819 V 40
+w(atanin)m(t\(dbl)p 2392 2819 V 41 w(expr\))150 2929
+y(gsl)p 262 2929 V 41 w(sf)p 367 2929 V 39 w(fermi)p
+611 2929 V 40 w(dirac)p 848 2929 V 40 w(m1)p 1009 2929
+V 40 w(e)427 b(Y)112 b(gsl)p 1802 2929 V 40 w(sf)p 1906
+2929 V 40 w(fermi)p 2151 2929 V 40 w(dirac)p 2388 2929
+V 40 w(m1\(dbl)p 2711 2929 V 40 w(expr\))150 3039 y(gsl)p
+262 3039 V 41 w(sf)p 367 3039 V 39 w(fermi)p 611 3039
+V 40 w(dirac)p 848 3039 V 40 w(0)p 933 3039 V 41 w(e)502
+b(Y)112 b(gsl)p 1802 3039 V 40 w(sf)p 1906 3039 V 40
+w(fermi)p 2151 3039 V 40 w(dirac)p 2388 3039 V 40 w(0\(dbl)p
+2635 3039 V 40 w(expr\))150 3148 y(gsl)p 262 3148 V 41
+w(sf)p 367 3148 V 39 w(fermi)p 611 3148 V 40 w(dirac)p
+848 3148 V 40 w(1)p 933 3148 V 41 w(e)502 b(Y)112 b(gsl)p
+1802 3148 V 40 w(sf)p 1906 3148 V 40 w(fermi)p 2151 3148
+V 40 w(dirac)p 2388 3148 V 40 w(1\(dbl)p 2635 3148 V
+40 w(expr\))150 3258 y(gsl)p 262 3258 V 41 w(sf)p 367
+3258 V 39 w(fermi)p 611 3258 V 40 w(dirac)p 848 3258
+V 40 w(2)p 933 3258 V 41 w(e)502 b(Y)112 b(gsl)p 1802
+3258 V 40 w(sf)p 1906 3258 V 40 w(fermi)p 2151 3258 V
+40 w(dirac)p 2388 3258 V 40 w(2\(dbl)p 2635 3258 V 40
+w(expr\))150 3367 y(gsl)p 262 3367 V 41 w(sf)p 367 3367
+V 39 w(fermi)p 611 3367 V 40 w(dirac)p 848 3367 V 40
+w(in)m(t)p 996 3367 V 41 w(e)439 b(Y)112 b(gsl)p 1802
+3367 V 40 w(sf)p 1906 3367 V 40 w(fermi)p 2151 3367 V
+40 w(dirac)p 2388 3367 V 40 w(in)m(t\(in)m(t)p 2679 3367
+V 41 w(expr,dbl)p 3047 3367 V 39 w(expr\))150 3477 y(gsl)p
+262 3477 V 41 w(sf)p 367 3477 V 39 w(fermi)p 611 3477
+V 40 w(dirac)p 848 3477 V 40 w(mhalf)p 1113 3477 V 40
+w(e)323 b(Y)112 b(gsl)p 1802 3477 V 40 w(sf)p 1906 3477
+V 40 w(fermi)p 2151 3477 V 40 w(dirac)p 2388 3477 V 40
+w(mhalf\(dbl)p 2815 3477 V 39 w(expr\))150 3587 y(gsl)p
+262 3587 V 41 w(sf)p 367 3587 V 39 w(fermi)p 611 3587
+V 40 w(dirac)p 848 3587 V 40 w(half)p 1037 3587 V 40
+w(e)399 b(Y)112 b(gsl)p 1802 3587 V 40 w(sf)p 1906 3587
+V 40 w(fermi)p 2151 3587 V 40 w(dirac)p 2388 3587 V 40
+w(half\(dbl)p 2739 3587 V 39 w(expr\))150 3696 y(gsl)p
+262 3696 V 41 w(sf)p 367 3696 V 39 w(fermi)p 611 3696
+V 40 w(dirac)p 848 3696 V 40 w(3half)p 1082 3696 V 41
+w(e)353 b(Y)112 b(gsl)p 1802 3696 V 40 w(sf)p 1906 3696
+V 40 w(fermi)p 2151 3696 V 40 w(dirac)p 2388 3696 V 40
+w(3half\(dbl)p 2784 3696 V 40 w(expr\))150 3806 y(gsl)p
+262 3806 V 41 w(sf)p 367 3806 V 39 w(fermi)p 611 3806
+V 40 w(dirac)p 848 3806 V 40 w(inc)p 1004 3806 V 40 w(0)p
+1089 3806 V 41 w(e)346 b(Y)112 b(gsl)p 1802 3806 V 40
+w(sf)p 1906 3806 V 40 w(fermi)p 2151 3806 V 40 w(dirac)p
+2388 3806 V 40 w(inc)p 2544 3806 V 40 w(0\(dbl)p 2791
+3806 V 40 w(expr,dbl)p 3158 3806 V 39 w(expr\))150 3915
+y(gsl)p 262 3915 V 41 w(sf)p 367 3915 V 39 w(lngamma)p
+769 3915 V 41 w(e)666 b(Y)112 b(gsl)p 1802 3915 V 40
+w(sf)p 1906 3915 V 40 w(lngamma\(dbl)p 2471 3915 V 40
+w(expr\))150 4025 y(gsl)p 262 4025 V 41 w(sf)p 367 4025
+V 39 w(lngamma)p 769 4025 V 41 w(sgn)p 942 4025 V 40
+w(e)494 b(N)112 b(gsl)p 1802 4025 V 40 w(sf)p 1906 4025
+V 40 w(lngamma)p 2309 4025 V 41 w(sgn)150 4134 y(gsl)p
+262 4134 V 41 w(sf)p 367 4134 V 39 w(gamma)p 693 4134
+V 41 w(e)742 b(Y)112 b(gsl)p 1802 4134 V 40 w(sf)p 1906
+4134 V 40 w(gamma\(dbl)p 2395 4134 V 40 w(expr\))150
+4244 y(gsl)p 262 4244 V 41 w(sf)p 367 4244 V 39 w(gammastar)p
+845 4244 V 41 w(e)590 b(Y)112 b(gsl)p 1802 4244 V 40
+w(sf)p 1906 4244 V 40 w(gammastar\(dbl)p 2547 4244 V
+41 w(expr\))150 4354 y(gsl)p 262 4354 V 41 w(sf)p 367
+4354 V 39 w(gammain)m(v)p 814 4354 V 41 w(e)621 b(Y)112
+b(gsl)p 1802 4354 V 40 w(sf)p 1906 4354 V 40 w(gammain)m(v\(dbl)p
+2516 4354 V 41 w(expr\))150 4463 y(gsl)p 262 4463 V 41
+w(sf)p 367 4463 V 39 w(lngamma)p 769 4463 V 41 w(complex)p
+1135 4463 V 41 w(e)300 b(N)112 b(gsl)p 1802 4463 V 40
+w(sf)p 1906 4463 V 40 w(lngamma)p 2309 4463 V 41 w(complex)150
+4573 y(gsl)p 262 4573 V 41 w(sf)p 367 4573 V 39 w(ta)m(ylorco)s(e\013)p
+818 4573 V 43 w(e)615 b(Y)112 b(gsl)p 1802 4573 V 40
+w(sf)p 1906 4573 V 40 w(ta)m(ylorco)s(e\013\(in)m(t)p
+2501 4573 V 43 w(expr,dbl)p 2871 4573 V 39 w(expr\))150
+4682 y(gsl)p 262 4682 V 41 w(sf)p 367 4682 V 39 w(fact)p
+554 4682 V 41 w(e)881 b(Y)112 b(gsl)p 1802 4682 V 40
+w(sf)p 1906 4682 V 40 w(fact\(uin)m(t)p 2288 4682 V 41
+w(expr\))150 4792 y(gsl)p 262 4792 V 41 w(sf)p 367 4792
+V 39 w(doublefact)p 817 4792 V 41 w(e)618 b(Y)112 b(gsl)p
+1802 4792 V 40 w(sf)p 1906 4792 V 40 w(doublefact\(uin)m(t)p
+2551 4792 V 41 w(expr\))150 4902 y(gsl)p 262 4902 V 41
+w(sf)p 367 4902 V 39 w(lnfact)p 630 4902 V 41 w(e)805
+b(Y)112 b(gsl)p 1802 4902 V 40 w(sf)p 1906 4902 V 40
+w(lnfact\(uin)m(t)p 2364 4902 V 41 w(expr\))150 5011
+y(gsl)p 262 5011 V 41 w(sf)p 367 5011 V 39 w(lndoublefact)p
+893 5011 V 41 w(e)542 b(Y)112 b(gsl)p 1802 5011 V 40
+w(sf)p 1906 5011 V 40 w(lndoublefact\(uin)m(t)p 2627
+5011 V 41 w(expr\))150 5121 y(gsl)p 262 5121 V 41 w(sf)p
+367 5121 V 39 w(lnc)m(ho)s(ose)p 739 5121 V 41 w(e)696
+b(N)112 b(gsl)p 1802 5121 V 40 w(sf)p 1906 5121 V 40
+w(lnc)m(ho)s(ose)150 5230 y(gsl)p 262 5230 V 41 w(sf)p
+367 5230 V 39 w(c)m(ho)s(ose)p 663 5230 V 41 w(e)772
+b(N)112 b(gsl)p 1802 5230 V 40 w(sf)p 1906 5230 V 40
+w(c)m(ho)s(ose)150 5340 y(gsl)p 262 5340 V 41 w(sf)p
+367 5340 V 39 w(lnp)s(o)s(c)m(h)p 672 5340 V 39 w(e)765
+b(Y)112 b(gsl)p 1802 5340 V 40 w(sf)p 1906 5340 V 40
+w(lnp)s(o)s(c)m(h\(dbl)p 2374 5340 V 39 w(expr,dbl)p
+2740 5340 V 39 w(expr\))p eop end
+%%Page: 137 143
+TeXDict begin 137 142 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(137)150
+299 y(gsl)p 262 299 28 4 v 41 w(sf)p 367 299 V 39 w(lnp)s(o)s(c)m(h)p
+672 299 V 39 w(sgn)p 843 299 V 40 w(e)593 b(N)112 b(gsl)p
+1802 299 V 40 w(sf)p 1906 299 V 40 w(lnp)s(o)s(c)m(h)p
+2212 299 V 39 w(sgn)150 408 y(gsl)p 262 408 V 41 w(sf)p
+367 408 V 39 w(p)s(o)s(c)m(h)p 596 408 V 40 w(e)840 b(Y)112
+b(gsl)p 1802 408 V 40 w(sf)p 1906 408 V 40 w(p)s(o)s(c)m(h\(dbl)p
+2298 408 V 39 w(expr,dbl)p 2664 408 V 39 w(expr\))150
+518 y(gsl)p 262 518 V 41 w(sf)p 367 518 V 39 w(p)s(o)s(c)m(hrel)p
+697 518 V 40 w(e)739 b(Y)112 b(gsl)p 1802 518 V 40 w(sf)p
+1906 518 V 40 w(p)s(o)s(c)m(hrel\(dbl)p 2399 518 V 39
+w(expr,dbl)p 2765 518 V 39 w(expr\))150 628 y(gsl)p 262
+628 V 41 w(sf)p 367 628 V 39 w(gamma)p 693 628 V 41 w(inc)p
+850 628 V 40 w(Q)p 961 628 V 40 w(e)475 b(Y)112 b(gsl)p
+1802 628 V 40 w(sf)p 1906 628 V 40 w(gamma)p 2233 628
+V 41 w(inc)p 2390 628 V 40 w(Q\(dbl)p 2663 628 V 39 w(expr,dbl)p
+3029 628 V 39 w(expr\))150 737 y(gsl)p 262 737 V 41 w(sf)p
+367 737 V 39 w(gamma)p 693 737 V 41 w(inc)p 850 737 V
+40 w(P)p 952 737 V 40 w(e)484 b(Y)112 b(gsl)p 1802 737
+V 40 w(sf)p 1906 737 V 40 w(gamma)p 2233 737 V 41 w(inc)p
+2390 737 V 40 w(P\(dbl)p 2654 737 V 39 w(expr,dbl)p 3020
+737 V 39 w(expr\))150 847 y(gsl)p 262 847 V 41 w(sf)p
+367 847 V 39 w(gamma)p 693 847 V 41 w(inc)p 850 847 V
+40 w(e)586 b(Y)112 b(gsl)p 1802 847 V 40 w(sf)p 1906
+847 V 40 w(gamma)p 2233 847 V 41 w(inc\(dbl)p 2552 847
+V 40 w(expr,dbl)p 2919 847 V 39 w(expr\))150 956 y(gsl)p
+262 956 V 41 w(sf)p 367 956 V 39 w(ln)m(b)s(eta)p 653
+956 V 41 w(e)782 b(Y)112 b(gsl)p 1802 956 V 40 w(sf)p
+1906 956 V 40 w(ln)m(b)s(eta\(dbl)p 2355 956 V 40 w(expr,dbl)p
+2722 956 V 39 w(expr\))150 1066 y(gsl)p 262 1066 V 41
+w(sf)p 367 1066 V 39 w(ln)m(b)s(eta)p 653 1066 V 41 w(sgn)p
+826 1066 V 40 w(e)610 b(N)112 b(gsl)p 1802 1066 V 40
+w(sf)p 1906 1066 V 40 w(ln)m(b)s(eta)p 2193 1066 V 40
+w(sgn)150 1176 y(gsl)p 262 1176 V 41 w(sf)p 367 1176
+V 39 w(b)s(eta)p 580 1176 V 40 w(e)856 b(Y)112 b(gsl)p
+1802 1176 V 40 w(sf)p 1906 1176 V 40 w(b)s(eta\(dbl)p
+2282 1176 V 40 w(expr,dbl)p 2649 1176 V 39 w(expr\))150
+1285 y(gsl)p 262 1285 V 41 w(sf)p 367 1285 V 39 w(b)s(eta)p
+580 1285 V 40 w(inc)p 736 1285 V 41 w(e)699 b(N)112 b(gsl)p
+1802 1285 V 40 w(sf)p 1906 1285 V 40 w(b)s(eta)p 2120
+1285 V 40 w(inc)150 1395 y(gsl)p 262 1395 V 41 w(sf)p
+367 1395 V 39 w(gegenp)s(oly)p 799 1395 V 41 w(1)p 885
+1395 V 41 w(e)550 b(Y)112 b(gsl)p 1802 1395 V 40 w(sf)p
+1906 1395 V 40 w(gegenp)s(oly)p 2339 1395 V 41 w(1\(dbl)p
+2587 1395 V 40 w(expr,dbl)p 2954 1395 V 39 w(expr\))150
+1504 y(gsl)p 262 1504 V 41 w(sf)p 367 1504 V 39 w(gegenp)s(oly)p
+799 1504 V 41 w(2)p 885 1504 V 41 w(e)550 b(Y)112 b(gsl)p
+1802 1504 V 40 w(sf)p 1906 1504 V 40 w(gegenp)s(oly)p
+2339 1504 V 41 w(2\(dbl)p 2587 1504 V 40 w(expr,dbl)p
+2954 1504 V 39 w(expr\))150 1614 y(gsl)p 262 1614 V 41
+w(sf)p 367 1614 V 39 w(gegenp)s(oly)p 799 1614 V 41 w(3)p
+885 1614 V 41 w(e)550 b(Y)112 b(gsl)p 1802 1614 V 40
+w(sf)p 1906 1614 V 40 w(gegenp)s(oly)p 2339 1614 V 41
+w(3\(dbl)p 2587 1614 V 40 w(expr,dbl)p 2954 1614 V 39
+w(expr\))150 1724 y(gsl)p 262 1724 V 41 w(sf)p 367 1724
+V 39 w(gegenp)s(oly)p 799 1724 V 41 w(n)p 891 1724 V
+40 w(e)545 b(N)112 b(gsl)p 1802 1724 V 40 w(sf)p 1906
+1724 V 40 w(gegenp)s(oly)p 2339 1724 V 41 w(n)150 1833
+y(gsl)p 262 1833 V 41 w(sf)p 367 1833 V 39 w(gegenp)s(oly)p
+799 1833 V 41 w(arra)m(y)469 b(Y)112 b(gsl)p 1802 1833
+V 40 w(sf)p 1906 1833 V 40 w(gegenp)s(oly)p 2339 1833
+V 41 w(arra)m(y)150 1943 y(gsl)p 262 1943 V 41 w(sf)p
+367 1943 V 39 w(h)m(yp)s(erg)p 677 1943 V 40 w(0F1)p
+866 1943 V 41 w(e)569 b(Y)112 b(gsl)p 1802 1943 V 40
+w(sf)p 1906 1943 V 40 w(h)m(yp)s(erg)p 2217 1943 V 39
+w(0F1\(dbl)p 2567 1943 V 41 w(expr,dbl)p 2935 1943 V
+39 w(expr\))150 2052 y(gsl)p 262 2052 V 41 w(sf)p 367
+2052 V 39 w(h)m(yp)s(erg)p 677 2052 V 40 w(1F1)p 866
+2052 V 41 w(in)m(t)p 1015 2052 V 41 w(e)420 b(Y)112 b(gsl)p
+1802 2052 V 40 w(sf)p 1906 2052 V 40 w(h)m(yp)s(erg)p
+2217 2052 V 39 w(1F1)p 2405 2052 V 42 w(in)m(t\(in)m(t)p
+2698 2052 V 41 w(expr,in)m(t)p 3047 2052 V 40 w(expr,dbl)p
+3414 2052 V 39 w(expr\))150 2162 y(gsl)p 262 2162 V 41
+w(sf)p 367 2162 V 39 w(h)m(yp)s(erg)p 677 2162 V 40 w(1F1)p
+866 2162 V 41 w(e)569 b(Y)112 b(gsl)p 1802 2162 V 40
+w(sf)p 1906 2162 V 40 w(h)m(yp)s(erg)p 2217 2162 V 39
+w(1F1\(dbl)p 2567 2162 V 41 w(expr,dbl)p 2935 2162 V
+39 w(expr,dbl)p 3301 2162 V 39 w(expr\))150 2271 y(gsl)p
+262 2271 V 41 w(sf)p 367 2271 V 39 w(h)m(yp)s(erg)p 677
+2271 V 40 w(U)p 785 2271 V 40 w(in)m(t)p 933 2271 V 40
+w(e)503 b(Y)112 b(gsl)p 1802 2271 V 40 w(sf)p 1906 2271
+V 40 w(h)m(yp)s(erg)p 2217 2271 V 39 w(U)p 2324 2271
+V 41 w(in)m(t\(in)m(t)p 2616 2271 V 41 w(expr,in)m(t)p
+2965 2271 V 40 w(expr,dbl)p 3332 2271 V 39 w(expr\))150
+2381 y(gsl)p 262 2381 V 41 w(sf)p 367 2381 V 39 w(h)m(yp)s(erg)p
+677 2381 V 40 w(U)p 785 2381 V 40 w(in)m(t)p 933 2381
+V 40 w(e10)p 1103 2381 V 42 w(e)331 b(N)112 b(gsl)p 1802
+2381 V 40 w(sf)p 1906 2381 V 40 w(h)m(yp)s(erg)p 2217
+2381 V 39 w(U)p 2324 2381 V 41 w(in)m(t)p 2473 2381 V
+40 w(e10)150 2491 y(gsl)p 262 2491 V 41 w(sf)p 367 2491
+V 39 w(h)m(yp)s(erg)p 677 2491 V 40 w(U)p 785 2491 V
+40 w(e)651 b(Y)112 b(gsl)p 1802 2491 V 40 w(sf)p 1906
+2491 V 40 w(h)m(yp)s(erg)p 2217 2491 V 39 w(U\(dbl)p
+2486 2491 V 40 w(expr,dbl)p 2853 2491 V 39 w(expr,dbl)p
+3219 2491 V 39 w(expr\))150 2600 y(gsl)p 262 2600 V 41
+w(sf)p 367 2600 V 39 w(h)m(yp)s(erg)p 677 2600 V 40 w(U)p
+785 2600 V 40 w(e10)p 955 2600 V 41 w(e)480 b(N)112 b(gsl)p
+1802 2600 V 40 w(sf)p 1906 2600 V 40 w(h)m(yp)s(erg)p
+2217 2600 V 39 w(U)p 2324 2600 V 41 w(e10)150 2710 y(gsl)p
+262 2710 V 41 w(sf)p 367 2710 V 39 w(h)m(yp)s(erg)p 677
+2710 V 40 w(2F1)p 866 2710 V 41 w(e)569 b(Y)112 b(gsl)p
+1802 2710 V 40 w(sf)p 1906 2710 V 40 w(h)m(yp)s(erg)p
+2217 2710 V 39 w(2F1\(dbl)p 2567 2710 V 41 w(expr,dbl)p
+2935 2710 V 39 w(expr,dbl)p 3301 2710 V 39 w(expr,dbl)p
+3667 2710 V 39 w(expr\))150 2819 y(gsl)p 262 2819 V 41
+w(sf)p 367 2819 V 39 w(h)m(yp)s(erg)p 677 2819 V 40 w(2F1)p
+866 2819 V 41 w(conj)p 1071 2819 V 40 w(e)365 b(Y)112
+b(gsl)p 1802 2819 V 40 w(sf)p 1906 2819 V 40 w(h)m(yp)s(erg)p
+2217 2819 V 39 w(2F1)p 2405 2819 V 42 w(conj\(dbl)p 2773
+2819 V 39 w(expr,dbl)p 3139 2819 V 39 w(expr,dbl)p 3505
+2819 V 39 w(expr,dbl)p 3871 2819 V 39 w(expr\))150 2929
+y(gsl)p 262 2929 V 41 w(sf)p 367 2929 V 39 w(h)m(yp)s(erg)p
+677 2929 V 40 w(2F1)p 866 2929 V 41 w(renorm)p 1191 2929
+V 39 w(e)246 b(Y)112 b(gsl)p 1802 2929 V 40 w(sf)p 1906
+2929 V 40 w(h)m(yp)s(erg)p 2217 2929 V 39 w(2F1)p 2405
+2929 V 42 w(renorm\(dbl)p 2893 2929 V 39 w(expr,dbl)p
+3259 2929 V 39 w(expr,dbl)p 3625 2929 V 39 w(expr,dbl)p
+3991 2929 V 39 w(expr\))150 3039 y(gsl)p 262 3039 V 41
+w(sf)p 367 3039 V 39 w(h)m(yp)s(erg)p 677 3039 V 40 w(2F1)p
+866 3039 V 41 w(conj)p 1071 3039 V 40 w(renorm)p 1395
+3039 V 39 w(e)42 b(Y)112 b(gsl)p 1802 3039 V 40 w(sf)p
+1906 3039 V 40 w(h)m(yp)s(erg)p 2217 3039 V 39 w(2F1)p
+2405 3039 V 42 w(conj)p 2611 3039 V 40 w(renorm\(dbl)p
+3097 3039 V 39 w(expr,dbl)p 3463 3039 V 39 w(expr,dbl)p
+3829 3039 V 39 w(expr,dbl)p 4195 3039 V 39 w(expr\))150
+3148 y(gsl)p 262 3148 V 41 w(sf)p 367 3148 V 39 w(h)m(yp)s(erg)p
+677 3148 V 40 w(2F0)p 866 3148 V 41 w(e)569 b(Y)112 b(gsl)p
+1802 3148 V 40 w(sf)p 1906 3148 V 40 w(h)m(yp)s(erg)p
+2217 3148 V 39 w(2F0\(dbl)p 2567 3148 V 41 w(expr,dbl)p
+2935 3148 V 39 w(expr,dbl)p 3301 3148 V 39 w(expr\))150
+3258 y(gsl)p 262 3258 V 41 w(sf)p 367 3258 V 39 w(laguerre)p
+724 3258 V 41 w(1)p 810 3258 V 40 w(e)626 b(Y)112 b(gsl)p
+1802 3258 V 40 w(sf)p 1906 3258 V 40 w(laguerre)p 2264
+3258 V 41 w(1\(dbl)p 2512 3258 V 40 w(expr,dbl)p 2879
+3258 V 39 w(expr\))150 3367 y(gsl)p 262 3367 V 41 w(sf)p
+367 3367 V 39 w(laguerre)p 724 3367 V 41 w(2)p 810 3367
+V 40 w(e)626 b(Y)112 b(gsl)p 1802 3367 V 40 w(sf)p 1906
+3367 V 40 w(laguerre)p 2264 3367 V 41 w(2\(dbl)p 2512
+3367 V 40 w(expr,dbl)p 2879 3367 V 39 w(expr\))150 3477
+y(gsl)p 262 3477 V 41 w(sf)p 367 3477 V 39 w(laguerre)p
+724 3477 V 41 w(3)p 810 3477 V 40 w(e)626 b(Y)112 b(gsl)p
+1802 3477 V 40 w(sf)p 1906 3477 V 40 w(laguerre)p 2264
+3477 V 41 w(3\(dbl)p 2512 3477 V 40 w(expr,dbl)p 2879
+3477 V 39 w(expr\))150 3587 y(gsl)p 262 3587 V 41 w(sf)p
+367 3587 V 39 w(laguerre)p 724 3587 V 41 w(n)p 816 3587
+V 39 w(e)621 b(Y)112 b(gsl)p 1802 3587 V 40 w(sf)p 1906
+3587 V 40 w(laguerre)p 2264 3587 V 41 w(n\(in)m(t)p 2499
+3587 V 40 w(expr,dbl)p 2866 3587 V 39 w(expr,dbl)p 3232
+3587 V 39 w(expr\))150 3696 y(gsl)p 262 3696 V 41 w(sf)p
+367 3696 V 39 w(lam)m(b)s(ert)p 714 3696 V 41 w(W0)p
+893 3696 V 40 w(e)543 b(Y)112 b(gsl)p 1802 3696 V 40
+w(sf)p 1906 3696 V 40 w(lam)m(b)s(ert)p 2254 3696 V 40
+w(W0\(dbl)p 2594 3696 V 41 w(expr\))150 3806 y(gsl)p
+262 3806 V 41 w(sf)p 367 3806 V 39 w(lam)m(b)s(ert)p
+714 3806 V 41 w(Wm1)p 969 3806 V 40 w(e)467 b(Y)112 b(gsl)p
+1802 3806 V 40 w(sf)p 1906 3806 V 40 w(lam)m(b)s(ert)p
+2254 3806 V 40 w(Wm1\(dbl)p 2670 3806 V 40 w(expr\))150
+3915 y(gsl)p 262 3915 V 41 w(sf)p 367 3915 V 39 w(legendre)p
+734 3915 V 41 w(Pl)p 862 3915 V 40 w(e)574 b(Y)112 b(gsl)p
+1802 3915 V 40 w(sf)p 1906 3915 V 40 w(legendre)p 2274
+3915 V 40 w(Pl\(in)m(t)p 2544 3915 V 41 w(expr,dbl)p
+2912 3915 V 39 w(expr\))150 4025 y(gsl)p 262 4025 V 41
+w(sf)p 367 4025 V 39 w(legendre)p 734 4025 V 41 w(Pl)p
+862 4025 V 40 w(arra)m(y)407 b(Y)112 b(status=gsl)p 2111
+4025 V 40 w(sf)p 2215 4025 V 40 w(legendre)p 2583 4025
+V 40 w(Pl)p 2710 4025 V 41 w(arra)m(y\(in)m(t,double,&v)-5
+b(ar)p 3609 4025 V 41 w(out\))150 4134 y(gsl)p 262 4134
+V 41 w(sf)p 367 4134 V 39 w(legendre)p 734 4134 V 41
+w(Pl)p 862 4134 V 40 w(deriv)p 1102 4134 V 40 w(arra)m(y)167
+b(N)112 b(gsl)p 1802 4134 V 40 w(sf)p 1906 4134 V 40
+w(legendre)p 2274 4134 V 40 w(Pl)p 2401 4134 V 41 w(deriv)p
+2642 4134 V 39 w(arra)m(y)150 4244 y(gsl)p 262 4244 V
+41 w(sf)p 367 4244 V 39 w(legendre)p 734 4244 V 41 w(P1)p
+882 4244 V 40 w(e)554 b(Y)112 b(gsl)p 1802 4244 V 40
+w(sf)p 1906 4244 V 40 w(legendre)p 2274 4244 V 40 w(P1\(dbl)p
+2583 4244 V 40 w(expr\))150 4354 y(gsl)p 262 4354 V 41
+w(sf)p 367 4354 V 39 w(legendre)p 734 4354 V 41 w(P2)p
+882 4354 V 40 w(e)554 b(Y)112 b(gsl)p 1802 4354 V 40
+w(sf)p 1906 4354 V 40 w(legendre)p 2274 4354 V 40 w(P2\(dbl)p
+2583 4354 V 40 w(expr\))150 4463 y(gsl)p 262 4463 V 41
+w(sf)p 367 4463 V 39 w(legendre)p 734 4463 V 41 w(P3)p
+882 4463 V 40 w(e)554 b(Y)112 b(gsl)p 1802 4463 V 40
+w(sf)p 1906 4463 V 40 w(legendre)p 2274 4463 V 40 w(P3\(dbl)p
+2583 4463 V 40 w(expr\))150 4573 y(gsl)p 262 4573 V 41
+w(sf)p 367 4573 V 39 w(legendre)p 734 4573 V 41 w(Q0)p
+891 4573 V 40 w(e)545 b(Y)112 b(gsl)p 1802 4573 V 40
+w(sf)p 1906 4573 V 40 w(legendre)p 2274 4573 V 40 w(Q0\(dbl)p
+2592 4573 V 40 w(expr\))150 4682 y(gsl)p 262 4682 V 41
+w(sf)p 367 4682 V 39 w(legendre)p 734 4682 V 41 w(Q1)p
+891 4682 V 40 w(e)545 b(Y)112 b(gsl)p 1802 4682 V 40
+w(sf)p 1906 4682 V 40 w(legendre)p 2274 4682 V 40 w(Q1\(dbl)p
+2592 4682 V 40 w(expr\))150 4792 y(gsl)p 262 4792 V 41
+w(sf)p 367 4792 V 39 w(legendre)p 734 4792 V 41 w(Ql)p
+871 4792 V 40 w(e)565 b(Y)112 b(gsl)p 1802 4792 V 40
+w(sf)p 1906 4792 V 40 w(legendre)p 2274 4792 V 40 w(Ql\(in)m(t)p
+2553 4792 V 41 w(expr,dbl)p 2921 4792 V 39 w(expr\))150
+4902 y(gsl)p 262 4902 V 41 w(sf)p 367 4902 V 39 w(legendre)p
+734 4902 V 41 w(Plm)p 938 4902 V 40 w(e)498 b(Y)112 b(gsl)p
+1802 4902 V 40 w(sf)p 1906 4902 V 40 w(legendre)p 2274
+4902 V 40 w(Plm\(in)m(t)p 2620 4902 V 41 w(expr,in)m(t)p
+2969 4902 V 41 w(expr,dbl)p 3337 4902 V 39 w(expr\))150
+5011 y(gsl)p 262 5011 V 41 w(sf)p 367 5011 V 39 w(legendre)p
+734 5011 V 41 w(Plm)p 938 5011 V 40 w(arra)m(y)331 b(Y)112
+b(status=gsl)p 2111 5011 V 40 w(sf)p 2215 5011 V 40 w(legendre)p
+2583 5011 V 40 w(Plm)p 2786 5011 V 40 w(arra)m(y\(in)m(t,in)m
+(t,double,&v)-5 b(ar)p 3817 5011 V 43 w(out\))150 5121
+y(gsl)p 262 5121 V 41 w(sf)p 367 5121 V 39 w(legendre)p
+734 5121 V 41 w(Plm)p 938 5121 V 40 w(deriv)p 1178 5121
+V 39 w(arra)m(y)92 b(N)112 b(gsl)p 1802 5121 V 40 w(sf)p
+1906 5121 V 40 w(legendre)p 2274 5121 V 40 w(Plm)p 2477
+5121 V 40 w(deriv)p 2717 5121 V 40 w(arra)m(y)150 5230
+y(gsl)p 262 5230 V 41 w(sf)p 367 5230 V 39 w(legendre)p
+734 5230 V 41 w(sphPlm)p 1076 5230 V 38 w(e)362 b(Y)112
+b(gsl)p 1802 5230 V 40 w(sf)p 1906 5230 V 40 w(legendre)p
+2274 5230 V 40 w(sphPlm\(in)m(t)p 2758 5230 V 40 w(expr,in)m(t)p
+3106 5230 V 40 w(expr,dbl)p 3473 5230 V 39 w(expr\))150
+5340 y(gsl)p 262 5340 V 41 w(sf)p 367 5340 V 39 w(legendre)p
+734 5340 V 41 w(sphPlm)p 1076 5340 V 38 w(arra)m(y)195
+b(Y)112 b(status=gsl)p 2111 5340 V 40 w(sf)p 2215 5340
+V 40 w(legendre)p 2583 5340 V 40 w(sphPlm)p 2924 5340
+V 39 w(arra)m(y\(in)m(t,in)m(t,double,&v)-5 b(ar)p 3954
+5340 V 42 w(out\))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.2)j(User)d(Guide)150 299 y(gsl)p 262 299 28
+4 v 41 w(sf)p 367 299 V 39 w(legendre)p 734 299 V 41
+w(sphPlm)p 1076 299 V 38 w(deriv)p 1314 299 V 40 w(arra)m(y)-45
+b(N)112 b(gsl)p 1802 299 V 40 w(sf)p 1906 299 V 40 w(legendre)p
+2274 299 V 40 w(sphPlm)p 2615 299 V 39 w(deriv)p 2854
+299 V 40 w(arra)m(y)150 408 y(gsl)p 262 408 V 41 w(sf)p
+367 408 V 39 w(legendre)p 734 408 V 41 w(arra)m(y)p 982
+408 V 40 w(size)353 b(N)112 b(gsl)p 1802 408 V 40 w(sf)p
+1906 408 V 40 w(legendre)p 2274 408 V 40 w(arra)m(y)p
+2521 408 V 41 w(size)150 518 y(gsl)p 262 518 V 41 w(sf)p
+367 518 V 39 w(conicalP)p 739 518 V 42 w(half)p 930 518
+V 40 w(e)506 b(Y)112 b(gsl)p 1802 518 V 40 w(sf)p 1906
+518 V 40 w(conicalP)p 2279 518 V 41 w(half\(dbl)p 2631
+518 V 40 w(expr,dbl)p 2998 518 V 39 w(expr\))150 628
+y(gsl)p 262 628 V 41 w(sf)p 367 628 V 39 w(conicalP)p
+739 628 V 42 w(mhalf)p 1006 628 V 40 w(e)430 b(Y)112
+b(gsl)p 1802 628 V 40 w(sf)p 1906 628 V 40 w(conicalP)p
+2279 628 V 41 w(mhalf\(dbl)p 2707 628 V 40 w(expr,dbl)p
+3074 628 V 39 w(expr\))150 737 y(gsl)p 262 737 V 41 w(sf)p
+367 737 V 39 w(conicalP)p 739 737 V 42 w(0)p 826 737
+V 40 w(e)610 b(Y)112 b(gsl)p 1802 737 V 40 w(sf)p 1906
+737 V 40 w(conicalP)p 2279 737 V 41 w(0\(dbl)p 2527 737
+V 41 w(expr,dbl)p 2895 737 V 39 w(expr\))150 847 y(gsl)p
+262 847 V 41 w(sf)p 367 847 V 39 w(conicalP)p 739 847
+V 42 w(1)p 826 847 V 40 w(e)610 b(Y)112 b(gsl)p 1802
+847 V 40 w(sf)p 1906 847 V 40 w(conicalP)p 2279 847 V
+41 w(1\(dbl)p 2527 847 V 41 w(expr,dbl)p 2895 847 V 39
+w(expr\))150 956 y(gsl)p 262 956 V 41 w(sf)p 367 956
+V 39 w(conicalP)p 739 956 V 42 w(sph)p 919 956 V 39 w(reg)p
+1079 956 V 40 w(e)357 b(Y)112 b(gsl)p 1802 956 V 40 w(sf)p
+1906 956 V 40 w(conicalP)p 2279 956 V 41 w(sph)p 2458
+956 V 39 w(reg\(in)m(t)p 2761 956 V 42 w(expr,dbl)p 3130
+956 V 39 w(expr,dbl)p 3496 956 V 39 w(expr\))150 1066
+y(gsl)p 262 1066 V 41 w(sf)p 367 1066 V 39 w(conicalP)p
+739 1066 V 42 w(cyl)p 894 1066 V 40 w(reg)p 1055 1066
+V 41 w(e)380 b(Y)112 b(gsl)p 1802 1066 V 40 w(sf)p 1906
+1066 V 40 w(conicalP)p 2279 1066 V 41 w(cyl)p 2433 1066
+V 41 w(reg\(in)m(t)p 2738 1066 V 42 w(expr,dbl)p 3107
+1066 V 39 w(expr,dbl)p 3473 1066 V 39 w(expr\))150 1176
+y(gsl)p 262 1176 V 41 w(sf)p 367 1176 V 39 w(legendre)p
+734 1176 V 41 w(H3d)p 939 1176 V 40 w(0)p 1024 1176 V
+40 w(e)412 b(Y)112 b(gsl)p 1802 1176 V 40 w(sf)p 1906
+1176 V 40 w(legendre)p 2274 1176 V 40 w(H3d)p 2478 1176
+V 41 w(0\(dbl)p 2726 1176 V 40 w(expr,dbl)p 3093 1176
+V 39 w(expr\))150 1285 y(gsl)p 262 1285 V 41 w(sf)p 367
+1285 V 39 w(legendre)p 734 1285 V 41 w(H3d)p 939 1285
+V 40 w(1)p 1024 1285 V 40 w(e)412 b(Y)112 b(gsl)p 1802
+1285 V 40 w(sf)p 1906 1285 V 40 w(legendre)p 2274 1285
+V 40 w(H3d)p 2478 1285 V 41 w(1\(dbl)p 2726 1285 V 40
+w(expr,dbl)p 3093 1285 V 39 w(expr\))150 1395 y(gsl)p
+262 1395 V 41 w(sf)p 367 1395 V 39 w(legendre)p 734 1395
+V 41 w(H3d)p 939 1395 V 40 w(e)497 b(Y)112 b(gsl)p 1802
+1395 V 40 w(sf)p 1906 1395 V 40 w(legendre)p 2274 1395
+V 40 w(H3d\(in)m(t)p 2621 1395 V 41 w(expr,dbl)p 2989
+1395 V 39 w(expr,dbl)p 3355 1395 V 40 w(expr\))150 1504
+y(gsl)p 262 1504 V 41 w(sf)p 367 1504 V 39 w(legendre)p
+734 1504 V 41 w(H3d)p 939 1504 V 40 w(arra)m(y)330 b(N)112
+b(gsl)p 1802 1504 V 40 w(sf)p 1906 1504 V 40 w(legendre)p
+2274 1504 V 40 w(H3d)p 2478 1504 V 41 w(arra)m(y)150
+1614 y(gsl)p 262 1614 V 41 w(sf)p 367 1614 V 39 w(legendre)p
+734 1614 V 41 w(arra)m(y)p 982 1614 V 40 w(size)353 b(N)112
+b(gsl)p 1802 1614 V 40 w(sf)p 1906 1614 V 40 w(legendre)p
+2274 1614 V 40 w(arra)m(y)p 2521 1614 V 41 w(size)150
+1724 y(gsl)p 262 1724 V 41 w(sf)p 367 1724 V 39 w(log)p
+521 1724 V 41 w(e)914 b(Y)112 b(gsl)p 1802 1724 V 40
+w(sf)p 1906 1724 V 40 w(log\(dbl)p 2223 1724 V 41 w(expr\))150
+1833 y(gsl)p 262 1833 V 41 w(sf)p 367 1833 V 39 w(log)p
+521 1833 V 41 w(abs)p 694 1833 V 40 w(e)742 b(Y)112 b(gsl)p
+1802 1833 V 40 w(sf)p 1906 1833 V 40 w(log)p 2061 1833
+V 41 w(abs\(dbl)p 2396 1833 V 39 w(expr\))150 1943 y(gsl)p
+262 1943 V 41 w(sf)p 367 1943 V 39 w(complex)p 731 1943
+V 41 w(log)p 887 1943 V 41 w(e)548 b(N)112 b(gsl)p 1802
+1943 V 40 w(sf)p 1906 1943 V 40 w(complex)p 2271 1943
+V 41 w(log)150 2052 y(gsl)p 262 2052 V 41 w(sf)p 367
+2052 V 39 w(log)p 521 2052 V 41 w(1plusx)p 818 2052 V
+40 w(e)618 b(Y)112 b(gsl)p 1802 2052 V 40 w(sf)p 1906
+2052 V 40 w(log)p 2061 2052 V 41 w(1plusx\(dbl)p 2520
+2052 V 39 w(expr\))150 2162 y(gsl)p 262 2162 V 41 w(sf)p
+367 2162 V 39 w(log)p 521 2162 V 41 w(1plusx)p 818 2162
+V 40 w(mx)p 982 2162 V 40 w(e)454 b(Y)112 b(gsl)p 1802
+2162 V 40 w(sf)p 1906 2162 V 40 w(log)p 2061 2162 V 41
+w(1plusx)p 2358 2162 V 40 w(mx\(dbl)p 2684 2162 V 39
+w(expr\))150 2271 y(gsl)p 262 2271 V 41 w(sf)p 367 2271
+V 39 w(mathieu)p 729 2271 V 40 w(a)p 814 2271 V 41 w(arra)m(y)454
+b(N)112 b(gsl)p 1802 2271 V 40 w(sf)p 1906 2271 V 40
+w(mathieu)p 2269 2271 V 40 w(a)p 2354 2271 V 41 w(arra)m(y)150
+2381 y(gsl)p 262 2381 V 41 w(sf)p 367 2381 V 39 w(mathieu)p
+729 2381 V 40 w(b)p 820 2381 V 40 w(arra)m(y)449 b(N)112
+b(gsl)p 1802 2381 V 40 w(sf)p 1906 2381 V 40 w(mathieu)p
+2269 2381 V 40 w(b)p 2360 2381 V 40 w(arra)m(y)150 2491
+y(gsl)p 262 2491 V 41 w(sf)p 367 2491 V 39 w(mathieu)p
+729 2491 V 40 w(a)702 b(N)112 b(gsl)p 1802 2491 V 40
+w(sf)p 1906 2491 V 40 w(mathieu)p 2269 2491 V 40 w(a)150
+2600 y(gsl)p 262 2600 V 41 w(sf)p 367 2600 V 39 w(mathieu)p
+729 2600 V 40 w(b)696 b(N)112 b(gsl)p 1802 2600 V 40
+w(sf)p 1906 2600 V 40 w(mathieu)p 2269 2600 V 40 w(b)150
+2710 y(gsl)p 262 2710 V 41 w(sf)p 367 2710 V 39 w(mathieu)p
+729 2710 V 40 w(a)p 814 2710 V 41 w(co)s(e\013)480 b(N)112
+b(gsl)p 1802 2710 V 40 w(sf)p 1906 2710 V 40 w(mathieu)p
+2269 2710 V 40 w(a)p 2354 2710 V 41 w(co)s(e\013)150
+2819 y(gsl)p 262 2819 V 41 w(sf)p 367 2819 V 39 w(mathieu)p
+729 2819 V 40 w(b)p 820 2819 V 40 w(co)s(e\013)475 b(N)112
+b(gsl)p 1802 2819 V 40 w(sf)p 1906 2819 V 40 w(mathieu)p
+2269 2819 V 40 w(b)p 2360 2819 V 40 w(co)s(e\013)150
+2929 y(gsl)p 262 2929 V 41 w(sf)p 367 2929 V 39 w(mathieu)p
+729 2929 V 40 w(ce)667 b(N)112 b(gsl)p 1802 2929 V 40
+w(sf)p 1906 2929 V 40 w(mathieu)p 2269 2929 V 40 w(ce)150
+3039 y(gsl)p 262 3039 V 41 w(sf)p 367 3039 V 39 w(mathieu)p
+729 3039 V 40 w(se)671 b(N)112 b(gsl)p 1802 3039 V 40
+w(sf)p 1906 3039 V 40 w(mathieu)p 2269 3039 V 40 w(se)150
+3148 y(gsl)p 262 3148 V 41 w(sf)p 367 3148 V 39 w(mathieu)p
+729 3148 V 40 w(ce)p 849 3148 V 41 w(arra)m(y)419 b(N)112
+b(gsl)p 1802 3148 V 40 w(sf)p 1906 3148 V 40 w(mathieu)p
+2269 3148 V 40 w(ce)p 2389 3148 V 41 w(arra)m(y)150 3258
+y(gsl)p 262 3258 V 41 w(sf)p 367 3258 V 39 w(mathieu)p
+729 3258 V 40 w(se)p 845 3258 V 41 w(arra)m(y)423 b(N)112
+b(gsl)p 1802 3258 V 40 w(sf)p 1906 3258 V 40 w(mathieu)p
+2269 3258 V 40 w(se)p 2385 3258 V 40 w(arra)m(y)150 3367
+y(gsl)p 262 3367 V 41 w(sf)p 367 3367 V 39 w(mathieu)p
+729 3367 V 40 w(Mc)624 b(N)112 b(gsl)p 1802 3367 V 40
+w(sf)p 1906 3367 V 40 w(mathieu)p 2269 3367 V 40 w(Mc)150
+3477 y(gsl)p 262 3477 V 41 w(sf)p 367 3477 V 39 w(mathieu)p
+729 3477 V 40 w(Ms)628 b(N)112 b(gsl)p 1802 3477 V 40
+w(sf)p 1906 3477 V 40 w(mathieu)p 2269 3477 V 40 w(Ms)150
+3587 y(gsl)p 262 3587 V 41 w(sf)p 367 3587 V 39 w(mathieu)p
+729 3587 V 40 w(Mc)p 892 3587 V 41 w(arra)m(y)376 b(N)112
+b(gsl)p 1802 3587 V 40 w(sf)p 1906 3587 V 40 w(mathieu)p
+2269 3587 V 40 w(Mc)p 2432 3587 V 41 w(arra)m(y)150 3696
+y(gsl)p 262 3696 V 41 w(sf)p 367 3696 V 39 w(mathieu)p
+729 3696 V 40 w(Ms)p 888 3696 V 41 w(arra)m(y)380 b(N)112
+b(gsl)p 1802 3696 V 40 w(sf)p 1906 3696 V 40 w(mathieu)p
+2269 3696 V 40 w(Ms)p 2428 3696 V 40 w(arra)m(y)150 3806
+y(gsl)p 262 3806 V 41 w(sf)p 367 3806 V 39 w(p)s(o)m(w)p
+568 3806 V 40 w(in)m(t)p 716 3806 V 40 w(e)720 b(N)112
+b(gsl)p 1802 3806 V 40 w(sf)p 1906 3806 V 40 w(p)s(o)m(w)p
+2108 3806 V 39 w(in)m(t)150 3915 y(gsl)p 262 3915 V 41
+w(sf)p 367 3915 V 39 w(psi)p 518 3915 V 40 w(in)m(t)p
+666 3915 V 40 w(e)770 b(Y)112 b(gsl)p 1802 3915 V 40
+w(sf)p 1906 3915 V 40 w(psi)p 2058 3915 V 39 w(in)m(t\(in)m(t)p
+2348 3915 V 42 w(expr\))150 4025 y(gsl)p 262 4025 V 41
+w(sf)p 367 4025 V 39 w(psi)p 518 4025 V 40 w(e)918 b(Y)112
+b(gsl)p 1802 4025 V 40 w(sf)p 1906 4025 V 40 w(psi\(dbl)p
+2220 4025 V 39 w(expr\))150 4134 y(gsl)p 262 4134 V 41
+w(sf)p 367 4134 V 39 w(psi)p 518 4134 V 40 w(1piy)p 727
+4134 V 40 w(e)709 b(Y)112 b(gsl)p 1802 4134 V 40 w(sf)p
+1906 4134 V 40 w(psi)p 2058 4134 V 39 w(1piy\(dbl)p 2428
+4134 V 40 w(expr\))150 4244 y(gsl)p 262 4244 V 41 w(sf)p
+367 4244 V 39 w(complex)p 731 4244 V 41 w(psi)p 884 4244
+V 40 w(e)552 b(N)112 b(gsl)p 1802 4244 V 40 w(sf)p 1906
+4244 V 40 w(complex)p 2271 4244 V 41 w(psi)150 4354 y(gsl)p
+262 4354 V 41 w(sf)p 367 4354 V 39 w(psi)p 518 4354 V
+40 w(1)p 603 4354 V 40 w(in)m(t)p 751 4354 V 41 w(e)684
+b(Y)112 b(gsl)p 1802 4354 V 40 w(sf)p 1906 4354 V 40
+w(psi)p 2058 4354 V 39 w(1)p 2142 4354 V 41 w(in)m(t\(in)m(t)p
+2434 4354 V 41 w(expr\))150 4463 y(gsl)p 262 4463 V 41
+w(sf)p 367 4463 V 39 w(psi)p 518 4463 V 40 w(1)p 603
+4463 V 40 w(e)833 b(Y)112 b(gsl)p 1802 4463 V 40 w(sf)p
+1906 4463 V 40 w(psi)p 2058 4463 V 39 w(1\(dbl)p 2304
+4463 V 41 w(expr\))150 4573 y(gsl)p 262 4573 V 41 w(sf)p
+367 4573 V 39 w(psi)p 518 4573 V 40 w(n)p 609 4573 V
+39 w(e)828 b(Y)112 b(gsl)p 1802 4573 V 40 w(sf)p 1906
+4573 V 40 w(psi)p 2058 4573 V 39 w(n\(in)m(t)p 2291 4573
+V 41 w(expr,dbl)p 2659 4573 V 39 w(expr\))150 4682 y(gsl)p
+262 4682 V 41 w(sf)p 367 4682 V 39 w(sync)m(hrotron)p
+877 4682 V 40 w(1)p 962 4682 V 40 w(e)474 b(Y)112 b(gsl)p
+1802 4682 V 40 w(sf)p 1906 4682 V 40 w(sync)m(hrotron)p
+2417 4682 V 40 w(1\(dbl)p 2664 4682 V 40 w(expr\))150
+4792 y(gsl)p 262 4792 V 41 w(sf)p 367 4792 V 39 w(sync)m(hrotron)p
+877 4792 V 40 w(2)p 962 4792 V 40 w(e)474 b(Y)112 b(gsl)p
+1802 4792 V 40 w(sf)p 1906 4792 V 40 w(sync)m(hrotron)p
+2417 4792 V 40 w(2\(dbl)p 2664 4792 V 40 w(expr\))150
+4902 y(gsl)p 262 4902 V 41 w(sf)p 367 4902 V 39 w(transp)s(ort)p
+779 4902 V 39 w(2)p 863 4902 V 41 w(e)572 b(Y)112 b(gsl)p
+1802 4902 V 40 w(sf)p 1906 4902 V 40 w(transp)s(ort)p
+2319 4902 V 39 w(2\(dbl)p 2565 4902 V 40 w(expr\))150
+5011 y(gsl)p 262 5011 V 41 w(sf)p 367 5011 V 39 w(transp)s(ort)p
+779 5011 V 39 w(3)p 863 5011 V 41 w(e)572 b(Y)112 b(gsl)p
+1802 5011 V 40 w(sf)p 1906 5011 V 40 w(transp)s(ort)p
+2319 5011 V 39 w(3\(dbl)p 2565 5011 V 40 w(expr\))150
+5121 y(gsl)p 262 5121 V 41 w(sf)p 367 5121 V 39 w(transp)s(ort)p
+779 5121 V 39 w(4)p 863 5121 V 41 w(e)572 b(Y)112 b(gsl)p
+1802 5121 V 40 w(sf)p 1906 5121 V 40 w(transp)s(ort)p
+2319 5121 V 39 w(4\(dbl)p 2565 5121 V 40 w(expr\))150
+5230 y(gsl)p 262 5230 V 41 w(sf)p 367 5230 V 39 w(transp)s(ort)p
+779 5230 V 39 w(5)p 863 5230 V 41 w(e)572 b(Y)112 b(gsl)p
+1802 5230 V 40 w(sf)p 1906 5230 V 40 w(transp)s(ort)p
+2319 5230 V 39 w(5\(dbl)p 2565 5230 V 40 w(expr\))150
+5340 y(gsl)p 262 5340 V 41 w(sf)p 367 5340 V 39 w(sin)p
+518 5340 V 40 w(e)918 b(N)112 b(gsl)p 1802 5340 V 40
+w(sf)p 1906 5340 V 40 w(sin)p eop end
+%%Page: 139 145
+TeXDict begin 139 144 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(139)150
+299 y(gsl)p 262 299 28 4 v 41 w(sf)p 367 299 V 39 w(cos)p
+527 299 V 41 w(e)908 b(N)112 b(gsl)p 1802 299 V 40 w(sf)p
+1906 299 V 40 w(cos)150 408 y(gsl)p 262 408 V 41 w(sf)p
+367 408 V 39 w(h)m(yp)s(ot)p 636 408 V 40 w(e)800 b(N)112
+b(gsl)p 1802 408 V 40 w(sf)p 1906 408 V 40 w(h)m(yp)s(ot)150
+518 y(gsl)p 262 518 V 41 w(sf)p 367 518 V 39 w(complex)p
+731 518 V 41 w(sin)p 884 518 V 40 w(e)552 b(N)112 b(gsl)p
+1802 518 V 40 w(sf)p 1906 518 V 40 w(complex)p 2271 518
+V 41 w(sin)150 628 y(gsl)p 262 628 V 41 w(sf)p 367 628
+V 39 w(complex)p 731 628 V 41 w(cos)p 893 628 V 41 w(e)542
+b(N)112 b(gsl)p 1802 628 V 40 w(sf)p 1906 628 V 40 w(complex)p
+2271 628 V 41 w(cos)150 737 y(gsl)p 262 737 V 41 w(sf)p
+367 737 V 39 w(complex)p 731 737 V 41 w(logsin)p 999
+737 V 41 w(e)436 b(N)112 b(gsl)p 1802 737 V 40 w(sf)p
+1906 737 V 40 w(complex)p 2271 737 V 41 w(logsin)150
+847 y(gsl)p 262 847 V 41 w(sf)p 367 847 V 39 w(sinc)p
+558 847 V 40 w(e)878 b(N)112 b(gsl)p 1802 847 V 40 w(sf)p
+1906 847 V 40 w(sinc)150 956 y(gsl)p 262 956 V 41 w(sf)p
+367 956 V 39 w(lnsinh)p 645 956 V 39 w(e)792 b(N)112
+b(gsl)p 1802 956 V 40 w(sf)p 1906 956 V 40 w(lnsinh)150
+1066 y(gsl)p 262 1066 V 41 w(sf)p 367 1066 V 39 w(lncosh)p
+654 1066 V 40 w(e)782 b(N)112 b(gsl)p 1802 1066 V 40
+w(sf)p 1906 1066 V 40 w(lncosh)150 1176 y(gsl)p 262 1176
+V 41 w(sf)p 367 1176 V 39 w(p)s(olar)p 611 1176 V 40
+w(to)p 731 1176 V 41 w(rect)593 b(N)112 b(gsl)p 1802
+1176 V 40 w(sf)p 1906 1176 V 40 w(p)s(olar)p 2151 1176
+V 40 w(to)p 2271 1176 V 40 w(rect)150 1285 y(gsl)p 262
+1285 V 41 w(sf)p 367 1285 V 39 w(rect)p 557 1285 V 41
+w(to)p 678 1285 V 41 w(p)s(olar)592 b(N)112 b(gsl)p 1802
+1285 V 40 w(sf)p 1906 1285 V 40 w(rect)p 2097 1285 V
+41 w(to)p 2218 1285 V 40 w(p)s(olar)150 1395 y(gsl)p
+262 1395 V 41 w(sf)p 367 1395 V 39 w(sin)p 518 1395 V
+40 w(err)p 670 1395 V 39 w(e)767 b(N)112 b(gsl)p 1802
+1395 V 40 w(sf)p 1906 1395 V 40 w(sin)p 2058 1395 V 39
+w(err)150 1504 y(gsl)p 262 1504 V 41 w(sf)p 367 1504
+V 39 w(cos)p 527 1504 V 41 w(err)p 680 1504 V 40 w(e)756
+b(N)112 b(gsl)p 1802 1504 V 40 w(sf)p 1906 1504 V 40
+w(cos)p 2067 1504 V 41 w(err)150 1614 y(gsl)p 262 1614
+V 41 w(sf)p 367 1614 V 39 w(angle)p 612 1614 V 41 w(restrict)p
+936 1614 V 41 w(symm)p 1213 1614 V 39 w(e)224 b(N)112
+b(gsl)p 1802 1614 V 40 w(sf)p 1906 1614 V 40 w(angle)p
+2152 1614 V 41 w(restrict)p 2476 1614 V 41 w(symm)150
+1724 y(gsl)p 262 1724 V 41 w(sf)p 367 1724 V 39 w(angle)p
+612 1724 V 41 w(restrict)p 936 1724 V 41 w(p)s(os)p 1112
+1724 V 39 w(e)325 b(N)112 b(gsl)p 1802 1724 V 40 w(sf)p
+1906 1724 V 40 w(angle)p 2152 1724 V 41 w(restrict)p
+2476 1724 V 41 w(p)s(os)150 1833 y(gsl)p 262 1833 V 41
+w(sf)p 367 1833 V 39 w(angle)p 612 1833 V 41 w(restrict)p
+936 1833 V 41 w(symm)p 1213 1833 V 39 w(err)p 1364 1833
+V 40 w(e)72 b(N)112 b(gsl)p 1802 1833 V 40 w(sf)p 1906
+1833 V 40 w(angle)p 2152 1833 V 41 w(restrict)p 2476
+1833 V 41 w(symm)p 2753 1833 V 39 w(err)150 1943 y(gsl)p
+262 1943 V 41 w(sf)p 367 1943 V 39 w(angle)p 612 1943
+V 41 w(restrict)p 936 1943 V 41 w(p)s(os)p 1112 1943
+V 39 w(err)p 1263 1943 V 40 w(e)173 b(N)112 b(gsl)p 1802
+1943 V 40 w(sf)p 1906 1943 V 40 w(angle)p 2152 1943 V
+41 w(restrict)p 2476 1943 V 41 w(p)s(os)p 2652 1943 V
+39 w(err)150 2052 y(gsl)p 262 2052 V 41 w(sf)p 367 2052
+V 39 w(zeta)p 566 2052 V 42 w(in)m(t)p 716 2052 V 40
+w(e)720 b(Y)112 b(gsl)p 1802 2052 V 40 w(sf)p 1906 2052
+V 40 w(zeta)p 2106 2052 V 41 w(in)m(t\(in)m(t)p 2398
+2052 V 42 w(expr\))150 2162 y(gsl)p 262 2162 V 41 w(sf)p
+367 2162 V 39 w(zeta)p 566 2162 V 42 w(e)868 b(Y)112
+b(gsl)p 1802 2162 V 40 w(sf)p 1906 2162 V 40 w(zeta\(dbl)p
+2268 2162 V 41 w(expr\))150 2271 y(gsl)p 262 2271 V 41
+w(sf)p 367 2271 V 39 w(zetam1)p 687 2271 V 42 w(e)747
+b(Y)112 b(gsl)p 1802 2271 V 40 w(sf)p 1906 2271 V 40
+w(zetam1\(dbl)p 2389 2271 V 41 w(expr\))150 2381 y(gsl)p
+262 2381 V 41 w(sf)p 367 2381 V 39 w(zetam1)p 687 2381
+V 42 w(in)m(t)p 837 2381 V 41 w(e)598 b(Y)112 b(gsl)p
+1802 2381 V 40 w(sf)p 1906 2381 V 40 w(zetam1)p 2227
+2381 V 42 w(in)m(t\(in)m(t)p 2520 2381 V 41 w(expr\))150
+2491 y(gsl)p 262 2491 V 41 w(sf)p 367 2491 V 39 w(hzeta)p
+617 2491 V 41 w(e)818 b(Y)112 b(gsl)p 1802 2491 V 40
+w(sf)p 1906 2491 V 40 w(hzeta\(dbl)p 2319 2491 V 41 w(expr,dbl)p
+2687 2491 V 39 w(expr\))150 2600 y(gsl)p 262 2600 V 41
+w(sf)p 367 2600 V 39 w(eta)p 526 2600 V 41 w(in)m(t)p
+675 2600 V 41 w(e)760 b(Y)112 b(gsl)p 1802 2600 V 40
+w(sf)p 1906 2600 V 40 w(eta)p 2066 2600 V 41 w(in)m(t\(in)m(t)p
+2358 2600 V 42 w(expr\))150 2710 y(gsl)p 262 2710 V 41
+w(sf)p 367 2710 V 39 w(eta)p 526 2710 V 41 w(e)909 b(Y)112
+b(gsl)p 1802 2710 V 40 w(sf)p 1906 2710 V 40 w(eta\(dbl)p
+2228 2710 V 41 w(expr\))150 2910 y Fu(4.1.20)63 b(GSL)41
+b(in)m(terp)s(olation)150 3057 y FD(As)30 b(of)g(v)m(ersion)g(3.9.9)i
+(\(released)f(July)-8 b(,)30 b(2009\),)i FC(NCO)d FD(has)h(wrapp)s(ers)
+e(to)i(the)g FC(GSL)g FD(in)m(terp)s(olation)i(func-)150
+3166 y(tions.)150 3326 y(Giv)m(en)45 b(a)f(set)g(of)g(data)g(p)s(oin)m
+(ts)g(\(x1,y1\)...\(xn,)49 b(yn\))44 b(the)f FC(GSL)h
+FD(functions)f(computes)h(a)g(con)m(tin)m(uous)150 3436
+y(in)m(terp)s(olating)27 b(function)f FC(Y\(x\))h FD(suc)m(h)e(that)i
+FC(Y\(xi\))d(=)g(yi)p FD(.)39 b(The)25 b(in)m(terp)s(olation)i(is)f
+(piecewise)i(smo)s(oth,)f(and)150 3545 y(its)36 b(b)s(eha)m(vior)g(at)h
+(the)f(end-p)s(oin)m(ts)f(is)h(determined)g(b)m(y)f(the)i(t)m(yp)s(e)f
+(of)g(in)m(terp)s(olation)h(used.)56 b(F)-8 b(or)37 b(more)150
+3655 y(information)31 b(consult)f(the)h FC(GSL)f FD(man)m(ual.)150
+3815 y(In)m(terp)s(olation)25 b(with)f Fy(ncap2)f FD(is)i(a)g(t)m(w)m
+(o)g(stage)h(pro)s(cess.)38 b(In)24 b(the)h(\014rst)e(stage,)28
+b(a)c FC(RAM)h FD(v)-5 b(ariable)25 b(is)g(created)150
+3924 y(from)c(the)g(c)m(hosen)h(in)m(terp)s(olating)h(function)e(and)g
+(the)g(data)h(set.)39 b(This)20 b FC(RAM)i FD(v)-5 b(ariable)22
+b(holds)f(in)g(memory)150 4034 y(a)28 b FC(GSL)g FD(in)m(terp)s
+(olation)h(ob)5 b(ject.)41 b(In)26 b(the)i(second)g(stage,)i(p)s(oin)m
+(ts)e(along)g(the)g(in)m(terp)s(olating)h(function)f(are)150
+4144 y(calculated.)53 b(If)33 b(y)m(ou)h(ha)m(v)m(e)h(a)f(v)m(ery)g
+(large)h(data)f(set)g(or)g(are)g(in)m(terp)s(olating)h(man)m(y)f(sets)g
+(then)f(consider)150 4253 y(deleting)e(the)g FC(RAM)g
+FD(v)-5 b(ariable)31 b(when)e(it)i(is)g(redundan)m(t.)39
+b(Use)31 b(the)f(command)h Fy(ram_delete\(var_nm\))p
+FD(.)150 4413 y(A)f(simple)h(example)390 4573 y Fy
+(x_in[$lon]={1.0,2.0,3.0,)o(4.0})o(;)390 4682 y
+(y_in[$lon]={1.1,1.2,1.5,)o(1.8})o(;)390 4902 y(//)47
+b(Ram)g(variable)f(is)h(declared)e(and)i(defined)f(here)390
+5011 y(gsl_interp_cspline\(&ram_)o(sp,x)o(_in,)o(y_i)o(n\);)390
+5230 y(x_out[$lon_grd]={1.1,2.0)o(,3.0)o(,3.1)o(,3.)o(99};)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.2)j(User)d(Guide)390 299 y Fy(y_out=gsl_spline_eval\(ra)o
+(m_sp)o(,x_o)o(ut\))o(;)390 408 y(y2=gsl_spline_eval\(ram_s)o(p,1.)o
+(3\);)390 518 y(y3=gsl_spline_eval\(ram_s)o(p,0.)o(0\);)390
+628 y(ram_delete\(ram_sp\);)390 847 y(print\(y_out\);)44
+b(//)j(1.10472,)f(1.2,)h(1.4,)f(1.42658,)g(1.69680002)390
+956 y(print\(y2\);)188 b(//)47 b(1.12454)390 1066 y(print\(y3\);)188
+b(//)47 b('_')150 1250 y FD(Note)31 b(in)f(the)g(ab)s(o)m(v)m(e)h
+(example)f(y3)g(is)g(set)h(to)f('missing)g(v)-5 b(alue')31
+b(b)s(ecause)f(0.0)h(isn't)f(within)f(the)h(input)f(X)150
+1360 y(range.)275 1543 y Fb(GSL)h Fq(In)m(terp)s(olation)i(T)m(yp)s(es)
+150 1653 y FD(All)f(the)g(in)m(terp)s(olation)g(functions)f(ha)m(v)m(e)
+i(b)s(een)d(implemen)m(ted.)42 b(These)30 b(are:)150
+1763 y(gsl)p 262 1763 28 4 v 41 w(in)m(terp)p 538 1763
+V 40 w(linear\(\))150 1872 y(gsl)p 262 1872 V 41 w(in)m(terp)p
+538 1872 V 40 w(p)s(olynomial\(\))150 1982 y(gsl)p 262
+1982 V 41 w(in)m(terp)p 538 1982 V 40 w(cspline\(\))150
+2091 y(gsl)p 262 2091 V 41 w(in)m(terp)p 538 2091 V 40
+w(cspline)p 846 2091 V 40 w(p)s(erio)s(dic\(\))150 2201
+y(gsl)p 262 2201 V 41 w(in)m(terp)p 538 2201 V 40 w(akima\(\))150
+2311 y(gsl)p 262 2311 V 41 w(in)m(terp)p 538 2311 V 40
+w(akima)p 817 2311 V 41 w(p)s(erio)s(dic\(\))180 2823
+y Fq(Ev)-5 b(aluation)31 b(of)g(In)m(terp)s(olating)g(T)m(yp)s(es)150
+2933 y(Implemen)m(ted)150 3043 y FD(gsl)p 262 3043 V
+41 w(spline)p 531 3043 V 39 w(ev)-5 b(al\(\))150 3152
+y Fq(Unimplemen)m(ted)150 3262 y FD(gsl)p 262 3262 V
+41 w(spline)p 531 3262 V 39 w(deriv\(\))150 3371 y(gsl)p
+262 3371 V 41 w(spline)p 531 3371 V 39 w(deriv2\(\))150
+3481 y(gsl)p 262 3481 V 41 w(spline)p 531 3481 V 39 w(in)m(teg\(\))150
+3839 y Fu(4.1.21)63 b(GSL)41 b(least-squares)h(\014tting)150
+3986 y FD(Least)26 b(Squares)f(\014tting)g(is)h(a)f(metho)s(d)g(of)g
+(calculating)j(a)d(straigh)m(t)i(line)f(through)e(a)i(set)g(of)f(exp)s
+(erimen)m(tal)150 4095 y(data)c(p)s(oin)m(ts)f(in)g(the)h(XY)f(plane.)
+38 b(The)19 b(data)i(ma)m(yb)s(e)g(w)m(eigh)m(ted)h(or)e(un)m(w)m(eigh)
+m(ted.)38 b(F)-8 b(or)21 b(more)g(information)150 4205
+y(please)31 b(refer)f(to)h(the)g FC(GSL)f FD(man)m(ual.)150
+4389 y(These)g FC(GSL)h FD(functions)f(fall)h(in)m(to)g(three)f
+(categories:)150 4498 y Fq(A\))g FD(Fitting)i(data)f(to)g(Y=c0)p
+Fy(+)p FD(c1*X)150 4608 y Fq(B\))f FD(Fitting)i(data)f(\(through)f(the)
+h(origin\))g(Y=c1*X)150 4718 y Fq(C\))f FD(Multi-parameter)i(\014tting)
+f(\(not)g(y)m(et)g(implemen)m(ted\))275 5011 y Fq(Section)g(A)150
+5230 y Fy(status=)p Fq(gsl)p 598 5230 28 5 v 39 w(\014t)p
+723 5230 V 40 w(linear)150 5340 y Fy(\(data_x,stride_x,data_y,)o(stri)o
+(de_y)o(,n,)o(&co,)o(&c1,)o(&co)o(v00,)o(&cov)o(01,)o(&cov)o(11,&)o
+(sum)o(sq\))p eop end
+%%Page: 141 147
+TeXDict begin 141 146 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(141)150
+299 y Fq(Input)29 b(v)-5 b(ariables)p FD(:)42 b(data)p
+1001 299 28 4 v 40 w(x,)31 b(stride)p 1368 299 V 40 w(x,)f(data)p
+1687 299 V 41 w(y)-8 b(,)31 b(stride)p 2047 299 V 40
+w(y)-8 b(,)31 b(n)150 408 y(F)-8 b(rom)36 b(the)g(ab)s(o)m(v)m(e)g(v)-5
+b(ariables)36 b(an)g(X)f(and)g(Y)h(v)m(ector)h(b)s(oth)e(of)g(length)h
+('n')g(are)g(deriv)m(ed.)56 b(If)35 b(data)p 3551 408
+V 41 w(x)g(or)150 518 y(data)p 332 518 V 41 w(y)e(is)g(less)g(than)g(t)
+m(yp)s(e)g(double)g(then)g(it)g(is)g(con)m(v)m(erted)i(to)f(t)m(yp)s(e)
+f Fy(double)p FD(.)47 b(It)33 b(is)g(up)f(to)i(y)m(ou)f(to)h(do)150
+628 y(b)s(ounds)g(c)m(hec)m(king)39 b(on)e(the)f(input)g(data.)60
+b(F)-8 b(or)38 b(example)f(if)g(stride)p 2501 628 V 40
+w(x=3)g(and)f(n=8)g(then)g(the)h(size)h(of)150 737 y(data)p
+332 737 V 41 w(x)30 b(m)m(ust)g(b)s(e)g(at)h(least)h(24)150
+902 y Fq(Output)e(v)-5 b(ariables)p FD(:)41 b(c0,)32
+b(c1,)f(co)m(v00,)i(co)m(v01,)f(co)m(v11,sumsq)150 1011
+y(The)41 b('&')h(pre\014x)e(indicates)j(that)f(these)g(are)g(call-b)m
+(y-reference)i(v)-5 b(ariables.)75 b(If)41 b(an)m(y)h(of)g(the)f
+(output)150 1121 y(v)-5 b(ariables)31 b(don't)f(exist)i(prior)d(to)i
+(the)g(call)h(then)e(they)g(are)h(created)g(on)g(the)f(\015y)g(as)g
+(scalar)i(v)-5 b(ariables)31 b(of)150 1230 y(t)m(yp)s(e)h
+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 1340 y(call)g(is)e(successful)g(then)g
+Fy(status=0)p FD(.)275 1504 y Fy(status=)e Fq(gsl)p 751
+1504 28 5 v 40 w(\014t)p 877 1504 V 40 w(wlinear)p Fy
+(\(data_x,stride_x,data_w,str)o(ide)o(_w,d)o(ata_)o(y,s)o(trid)o(e_)150
+1614 y(y,n,&co,&c1,&cov00,&cov0)o(1,&c)o(ov11)o(,&c)o(hisq)o(\))150
+1778 y FD(Similar)f(to)i(the)e(ab)s(o)m(v)m(e)i(call)g(except)f(it)g
+(creates)h(an)e(additional)i(w)m(eigh)m(ting)g(v)m(ector)g(from)e(the)g
+(v)-5 b(ariables)150 1888 y(data)p 332 1888 28 4 v 41
+w(w,)30 b(stride)p 717 1888 V 40 w(w,)g(n)275 2052 y
+Fy(data_y_out=)p Fq(gsl)p 915 2052 28 5 v 37 w(\014t)p
+1038 2052 V 40 w(linear)p 1304 2052 V 41 w(est)p Fy
+(\(data_x,c0,c1,cov00,cov01,)o(cov)o(11\))150 2217 y
+FD(This)g(function)g(calculates)i(y)f(v)-5 b(alues)30
+b(along)i(the)e(line)h(Y=c0)p Fy(+)p FD(c1*X)275 2600
+y Fq(Section)g(B)150 2819 y Fy(status=)p Fq(gsl)p 598
+2819 V 39 w(\014t)p 723 2819 V 40 w(m)m(ul)p Fy
+(\(data_x,stride_x,data_y)o(,str)o(ide)o(_y,n)o(,&c1)o(,&c)o(ov11)o
+(,&su)o(msq)o(\))150 2984 y Fq(Input)e(v)-5 b(ariables)p
+FD(:)42 b(data)p 1001 2984 28 4 v 40 w(x,)31 b(stride)p
+1368 2984 V 40 w(x,)f(data)p 1687 2984 V 41 w(y)-8 b(,)31
+b(stride)p 2047 2984 V 40 w(y)-8 b(,)31 b(n)150 3093
+y(F)-8 b(rom)36 b(the)g(ab)s(o)m(v)m(e)g(v)-5 b(ariables)36
+b(an)g(X)f(and)g(Y)h(v)m(ector)h(b)s(oth)e(of)g(length)h('n')g(are)g
+(deriv)m(ed.)56 b(If)35 b(data)p 3551 3093 V 41 w(x)g(or)150
+3203 y(data)p 332 3203 V 41 w(y)30 b(is)g(less)h(than)f(t)m(yp)s(e)h
+Fy(double)d FD(then)j(it)f(is)h(con)m(v)m(erted)h(to)f(t)m(yp)s(e)f
+Fy(double)p FD(.)150 3477 y Fq(Output)g(v)-5 b(ariables)p
+FD(:)41 b(c1,co)m(v11,sumsq)275 3751 y Fy(status=)28
+b Fq(gsl)p 751 3751 28 5 v 40 w(\014t)p 877 3751 V 40
+w(wm)m(ul)p Fy(\(data_x,stride_x,data_w,s)o(tri)o(de_w)o(,dat)o(a_y)o
+(,str)o(ide_)150 3861 y(y,n,&c1,&cov11,&sumsq\))150 4025
+y FD(Similar)f(to)i(the)e(ab)s(o)m(v)m(e)i(call)g(except)f(it)g
+(creates)h(an)e(additional)i(w)m(eigh)m(ting)g(v)m(ector)g(from)e(the)g
+(v)-5 b(ariables)150 4134 y(data)p 332 4134 28 4 v 41
+w(w,)30 b(stride)p 717 4134 V 40 w(w,)g(n)275 4299 y
+Fy(data_y_out=)p Fq(gsl)p 915 4299 28 5 v 37 w(\014t)p
+1038 4299 V 40 w(m)m(ul)p 1227 4299 V 40 w(est)p Fy
+(\(data_x,c0,c1,cov11\))150 4463 y FD(This)g(function)g(calculates)i(y)
+f(v)-5 b(alues)30 b(along)i(the)e(line)h(Y=c1*X)150 4847
+y(The)f(b)s(elo)m(w)g(example)i(sho)m(ws)e Fq(gsl)p 1324
+4847 V 40 w(\014t)p 1450 4847 V 40 w(linear\(\))i FD(in)e(action)390
+5011 y Fy(defdim\("d1",10\);)390 5121 y(xin[d1]={1,2,3,4,5,6,7,8)o
+(,9,1)o(0.0})o(;)390 5230 y(yin[d1]={3.1,6.2,9.1,12.)o(2,15)o(.1,1)o
+(8.2)o(,21.)o(3,24)o(.0,)o(27.0)o(,30.)o(0};)390 5340
+y(gsl_fit_linear\(xin,1,yin)o(,1,$)o(d1.s)o(ize)o(,&c0)o(,&c1)o(,&c)o
+(ov00)o(,&co)o(v01)o(,&co)o(v11,)o(&su)o(msq\))o(;)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.2)j(User)d(Guide)390 299 y Fy(print\(c0\);)93
+b(//)47 b(0.2)390 408 y(print\(c1\);)93 b(//)47 b(2.98545454545)390
+737 y(defdim\("e1",4\);)390 847 y(xout[e1]={1.0,3.0,4.0,11)o(};)390
+956 y(yout[e1]=0.0;)390 1176 y(yout=gsl_fit_linear_est\()o(xout)o(,)42
+b(c0,c1,)k(cov00,cov01,)e(cov11,)i(sumsq\);)390 1395
+y(print\(yout\);)92 b(//)47 b(3.18545454545)e(,9.15636363636,)e
+(,12.1418181818)h(,33.04)150 1979 y Fu(4.1.22)63 b(GSL)41
+b(statistics)150 2126 y FD(W)-8 b(rapp)s(ers)44 b(for)h(most)g(of)g
+(the)g FC(GSL)g FD(Statistical)i(functions)e(ha)m(v)m(e)h(b)s(een)e
+(implemen)m(ted.)84 b(The)45 b FC(GSL)150 2236 y FD(function)34
+b(names)g(include)g(a)h(t)m(yp)s(e)f(sp)s(eci\014er)g(\(except)h(for)f
+(t)m(yp)s(e)g(double)g(functions\).)52 b(T)-8 b(o)35
+b(obtain)g(the)150 2345 y(equiv)-5 b(alen)m(t)36 b FC(NCO)f
+FD(name)g(simply)f(remo)m(v)m(e)j(the)e(t)m(yp)s(e)g(sp)s(eci\014er;)h
+(then)f(dep)s(ending)e(on)i(the)g(data)h(t)m(yp)s(e)150
+2455 y(the)29 b(appropriate)f FC(GSL)g FD(function)h(is)f(called.)41
+b(The)28 b(w)m(eighed)h(statistical)i(functions)d(e.g.,)61
+b Fy(gsl_stats_)150 2565 y(wvariance\(\))33 b FD(are)j(only)f
+(de\014ned)g(in)g FC(GSL)h FD(for)f(\015oating)i(p)s(oin)m(t)e(t)m(yp)s
+(es;)k(so)d(y)m(our)f(data)h(m)m(ust)g(of)g(t)m(yp)s(e)150
+2674 y Fy(float)h FD(or)h Fy(double)e FD(otherwise)i(ncap2)h(will)f
+(emit)h(an)f(error)g(message.)64 b(T)-8 b(o)39 b(view)f(the)g(implemen)
+m(ted)150 2784 y(functions)30 b(use)g(the)h(shell)f(command)g
+Fy(ncap2)f(-f|grep)g(_stats)150 2945 y FC(GSL)h FD(F)-8
+b(unctions)390 3107 y Fy(short)46 b(gsl_stats_max)f(\(short)h(data[],)f
+(size_t)i(stride,)e(size_t)h(n\);)390 3217 y(double)g
+(gsl_stats_int_mean)d(\(int)k(data[],)e(size_t)h(stride,)g(size_t)g
+(n\);)390 3326 y(double)g(gsl_stats_short_sd_with_f)o(ixe)o(d_me)o(an)c
+(\(short)k(data[],)f(size_t)i(stride,)e(size_t)h(n,)i(double)e(mean\);)
+390 3436 y(double)g(gsl_stats_wmean)e(\(double)i(w[],)g(size_t)g
+(wstride,)g(double)g(data[],)g(size_t)g(stride,)g(size_t)g(n\);)390
+3545 y(double)g(gsl_stats_quantile_from_s)o(ort)o(ed_d)o(ata)41
+b(\(double)46 b(sorted_data[],)e(size_t)i(stride,)g(size_t)g(n,)h
+(double)f(f\))h(;)150 3707 y FD(Equiv)-5 b(alen)m(t)31
+b(ncap2)g(wrapp)s(er)d(functions)390 3869 y Fy(short)46
+b(gsl_stats_max)f(\(var_data,)g(data_stride,)f(n\);)390
+3978 y(double)i(gsl_stats_mean)e(\(var_data,)h(data_stride,)f(n\);)390
+4088 y(double)i(gsl_stats_sd_with_fixed_m)o(ean)41 b(\(var_data,)k
+(data_stride,)g(n,)i(var_mean\);)390 4198 y(double)f(gsl_stats_wmean)e
+(\(var_weight,)g(weight_stride,)g(var_data,)h(data_stride,)g(n,)i
+(var_mean\);)390 4307 y(double)f(gsl_stats_quantile_from_s)o(ort)o
+(ed_d)o(ata)41 b(\(var_sorted_data,)i(data_stride,)i(n,)i(var_f\))f(;)
+150 4469 y FC(GSL)26 b FD(has)g(no)g(notion)h(of)f(missing)g(v)-5
+b(alues)27 b(or)f(dimensionalit)m(y)h(b)s(ey)m(ond)f(one.)39
+b(If)26 b(y)m(our)g(data)h(has)f(missing)150 4578 y(v)-5
+b(alues)38 b(whic)m(h)f(y)m(ou)h(w)m(an)m(t)h(ignored)f(in)f(the)h
+(calculations)h(then)f(use)f(the)h Fy(ncap2)e FD(built)i(in)f
+(aggregate)150 4688 y(functions\()32 b(Section)h(4.1.11)h([Metho)s(ds)f
+(and)e(functions],)i(page)g(117)g(\).)47 b(The)31 b FC(GSL)i
+FD(functions)e(op)s(erate)150 4798 y(on)36 b(a)h(v)m(ector)g(of)g(v)-5
+b(alues)36 b(created)h(from)f(the)h(v)-5 b(ar)p 1866
+4798 28 4 v 40 w(data/stride/n)37 b(argumen)m(ts.)58
+b(The)36 b(ncap)g(wrapp)s(ers)150 4907 y(c)m(hec)m(k)29
+b(that)f(there)f(is)h(no)f(b)s(ounding)f(error)h(with)g(regard)g(to)h
+(the)g(size)g(of)f(the)h(data)g(and)f(the)g(\014nal)g(v)-5
+b(alue)150 5017 y(in)30 b(the)h(v)m(ector.)275 5178 y(Some)f(examples)
+390 5340 y Fy(a1[time]={1,2,3,4,5,6,7,)o(8,9,)o(10)42
+b(};)p eop end
+%%Page: 143 149
+TeXDict begin 143 148 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(143)390
+408 y Fy(a1_avg=gsl_stats_mean\(a1)o(,1,1)o(0\);)390
+518 y(print\(a1_avg\);)44 b(//)j(5.5)390 737 y
+(a1_var=gsl_stats_varianc)o(e\(a1)o(,4,3)o(\);)390 847
+y(print\(a1_var\);)d(//)j(16.0)390 1066 y(//)g(bounding)f(error,)g
+(vector)g(attempts)f(to)j(access)e(element)g(a1\(10\))390
+1176 y(a1_sd=gsl_stats_sd\(a1,5,)o(3\);)150 1450 y FD(F)-8
+b(or)37 b(functions)f(with)g(the)h(signature)f Fq(func)p
+1669 1450 28 5 v 40 w(nm\(v)-5 b(ar)p 1997 1450 V 39
+w(data,data)p 2409 1450 V 41 w(stride,n\))p FD(,)39 b(one)d(ma)m(y)h
+(omit)g(the)g(sec-)150 1559 y(ond)43 b(or)h(third)f(argumen)m(ts.)81
+b(The)43 b(default)h(v)-5 b(alue)45 b(for)e Fz(stride)49
+b FD(is)44 b Fy(1)p FD(.)81 b(The)43 b(default)h(v)-5
+b(alue)44 b(for)g Fz(n)f FD(is)150 1669 y Fy
+(1+\(data.size\(\)-1\)/stride)o FD(.)390 1833 y Fy(//)k(Following)e
+(statements)g(are)i(equvalent)390 1943 y(n2=gsl_stats_max\(a1,1,10)o
+(\))390 2052 y(n2=gsl_stats_max\(a1,1\);)390 2162 y
+(n2=gsl_stats_max\(a1\);)390 2381 y(//)g(Following)e(statements)g(are)i
+(equvalent)390 2491 y(n3=gsl_stats_median_from)o(_sor)o(ted_)o(dat)o
+(a\(a1)o(,2,5)o(\);)390 2600 y(n3=gsl_stats_median_from)o(_sor)o(ted_)o
+(dat)o(a\(a1)o(,2\);)390 2819 y(//)g(Following)e(statements)g(are)i
+(NOT)g(equvalent)390 2929 y(n4=gsl_stats_kurtosis\(a1)o(,3,2)o(\);)390
+3039 y(n4=gsl_stats_kurtosis\(a1)o(,3\);)41 b(//default)k(n=4)275
+3203 y FD(The)22 b(follo)m(wing)i(example)f(illustrates)h(some)f(of)g
+(the)f(w)m(eigh)m(ted)i(functions.)38 b(The)22 b(data)h(are)g(randomly)
+150 3313 y(generated.)42 b(In)29 b(this)i(case)g(the)g(v)-5
+b(alue)30 b(of)h(the)g(w)m(eigh)m(t)g(for)g(eac)m(h)g(datum)f(is)g
+(either)h(0.0)h(or)e(1.0)390 3477 y Fy(defdim\("r1",2000\);)390
+3587 y(data[r1]=1.0;)390 3806 y(//)47 b(Fill)g(with)f(random)h(numbers)
+e([0.0,10.0\))390 3915 y(data=10.0*gsl_rng_unifor)o(m\(da)o(ta\);)390
+4134 y(//)i(Create)f(a)i(weighting)d(variable)390 4244
+y(weight=\(data>4.0\);)390 4463 y(wmean=gsl_stats_wmean\(we)o(ight)o
+(,1,d)o(ata)o(,1,$)o(r1.s)o(ize)o(\);)390 4573 y(print\(wmean\);)390
+4792 y(wsd=gsl_stats_wsd\(weight)o(,1,d)o(ata,)o(1,$)o(r1.s)o(ize\))o
+(;)390 4902 y(print\(wsd\);)390 5121 y(//)i(number)f(of)h(values)g(in)g
+(data)f(that)h(are)g(greater)f(than)g(4)390 5230 y
+(weight_size=weight.total)o(\(\);)390 5340 y(print\(weight_size\);)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.2)j(User)d(Guide)390 408 y Fy(//)47 b(print)g(min/max)e(of)j
+(data)390 518 y(dmin=data.gsl_stats_min\()o(\);)390 628
+y(dmax=data.gsl_stats_max\()o(\);)390 737 y
+(print\(dmin\);print\(dmax\);)150 941 y Fu(4.1.23)63
+b(GSL)41 b(random)h(n)m(um)m(b)s(er)f(generation)150
+1088 y FD(The)j FC(GSL)h FD(library)f(has)g(a)h(large)h(n)m(um)m(b)s
+(er)e(of)g(random)g(n)m(um)m(b)s(er)f(generators.)85
+b(In)44 b(addition)h(there)150 1197 y(are)27 b(a)h(large)g(set)g(of)f
+(functions)g(for)f(turning)h(uniform)e(random)i(n)m(um)m(b)s(ers)e(in)m
+(to)j(discrete)g(or)f(con)m(tin)m(uous)150 1307 y(probabilt)m(y)e
+(distributions.)39 b(The)24 b(random)h(n)m(um)m(b)s(er)f(generator)i
+(algorithms)g(v)-5 b(ary)25 b(in)g(terms)g(of)h(qualit)m(y)150
+1416 y(n)m(um)m(b)s(ers)j(output,)i(sp)s(eed)e(of)i(execution)h(and)e
+(maximium)g(n)m(um)m(b)s(er)f(output.)42 b(F)-8 b(or)31
+b(more)g(information)150 1526 y(see)40 b(the)h FC(GSL)f
+FD(do)s(cumen)m(tation.)70 b(The)39 b(algorithm)i(and)e(seed)h(are)h
+(set)f(via)h(en)m(vironmen)m(t)f(v)-5 b(ariables,)150
+1636 y(these)31 b(are)g(pic)m(k)m(ed)g(up)e(b)m(y)h(the)h
+Fy(ncap2)e FD(co)s(de.)150 1797 y Fq(Setup)150 1907 y
+FD(The)35 b(n)m(um)m(b)s(er)f(algorithm)i(is)g(set)g(b)m(y)f(the)g(en)m
+(vironmen)m(t)h(v)-5 b(ariable)37 b Fy(GSL_RNG_TYPE)p
+FD(.)52 b(If)35 b(this)g(v)-5 b(ariable)150 2016 y(isn't)31
+b(set)g(then)f(the)h(default)f(rng)h(algorithm)g(is)g(gsl)p
+1945 2016 28 4 v 40 w(rng)p 2117 2016 V 40 w(19937.)43
+b(The)30 b(seed)h(is)f(set)i(with)e(the)h(en)m(viron-)150
+2126 y(men)m(t)22 b(v)-5 b(ariable)22 b Fy(GSL_RNG_SEED)p
+FD(.)35 b(The)21 b(follo)m(wing)h(wrapp)s(er)e(functions)h(in)g(ncap2)h
+(pro)m(vide)g(information)150 2235 y(ab)s(out)30 b(the)h(c)m(hosen)g
+(algorithm.)150 2534 y Fy(gsl_rng_min\(\))630 2643 y
+FD(the)g(minimium)e(v)-5 b(alue)31 b(returned)e(b)m(y)h(the)h(rng)f
+(algorithm.)150 2807 y Fy(gsl_rng_max\(\))630 2916 y
+FD(the)h(maximium)f(v)-5 b(alue)30 b(returned)g(b)m(y)g(the)g(rng)g
+(algorithm.)150 3105 y Fq(Uniformly)g(Distributed)g(Random)g(Num)m(b)s
+(ers)150 3294 y Fy(gsl_rng_get\(var_in\))630 3403 y FD(This)f(function)
+h(returns)f(v)-5 b(ar)p 1637 3403 V 40 w(in)30 b(with)g(in)m(tegers)h
+(from)f(the)g(c)m(hosen)h(rng)f(algorithm.)41 b(The)630
+3513 y(min)30 b(and)g(max)g(v)-5 b(alues)31 b(dep)s(end)d(uo)s(on)i
+(the)h(c)m(hosen)g(rng)f(algorthm.)150 3676 y Fy
+(gsl_rng_uniform_int\(var_)o(in\))630 3786 y FD(This)i(function)g
+(returns)f(v)-5 b(ar)p 1644 3786 V 40 w(in)32 b(with)g(random)f(in)m
+(tegers)j(from)d(0)i(to)g(n-1.)47 b(The)32 b(v)-5 b(alue)32
+b(n)630 3896 y(m)m(ust)c(b)s(e)f(less)h(than)f(or)h(equal)g(to)h(the)f
+(maximium)f(v)-5 b(alue)28 b(of)g(the)g(c)m(hosen)g(rng)g(algorithm.)
+150 4059 y Fy(gsl_rng_uniform\(var_in\))630 4169 y FD(This)c(function)g
+(returns)g(v)-5 b(ar)p 1621 4169 V 40 w(in)24 b(with)g
+(double-precision)h(n)m(um)m(b)s(ers)e(in)h(the)h(range)g([0.0,1\).)630
+4278 y(The)30 b(range)h(includes)f(0.0)h(and)f(excludes)g(1.0.)150
+4442 y Fy(gsl_rng_uniform_pos\(var_)o(in\))630 4552 y
+FD(This)23 b(function)g(returns)g(v)-5 b(ar)p 1618 4552
+V 40 w(in)23 b(with)g(double-precision)h(n)m(um)m(b)s(ers)e(in)h(the)h
+(range)g(\(0.0,1\),)630 4661 y(excluding)31 b(b)s(oth)e(0.0)j(and)d
+(1.0.)150 4850 y(Belo)m(w)j(are)f(examples)g(of)f Fy(gsl_rng_get\(\))d
+FD(and)j Fy(gsl_rng_uniform_int\(\))24 b FD(in)30 b(action.)390
+5011 y Fy(export)46 b(GSL_RNG_TYPE=ranlux)390 5121 y(export)g
+(GSL_RNG_SEED=10)390 5230 y(ncap2)g(-v)i(-O)f(-s)g
+('a1[time]=0;a2=gsl_rng_g)o(et\(a)o(1\);)o(')42 b(in.nc)k(foo.nc)390
+5340 y(//)h(10)g(random)f(numbers)g(from)h(the)g(range)f(0)i(-)f
+(16777215)p eop end
+%%Page: 145 151
+TeXDict begin 145 150 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(145)390
+299 y Fy(//)47 b(a2=9056646,)e(12776696,)g(1011656,)h(13354708,)f
+(5139066,)h(1388751,)f(11163902,)g(7730127,)h(15531355,)f(10387694)h(;)
+390 518 y(ncap2)g(-v)i(-O)f(-s)g('a1[time]=21;a2=gsl_rng_)o(unif)o(orm)
+o(_int)o(\(a1\))o(.so)o(rt\(\))o(;')42 b(in.nc)k(foo.nc)390
+628 y(//)h(10)g(random)f(numbers)g(from)h(the)g(range)f(0)i(-)f(20)390
+737 y(a2)g(=)h(1,)f(1,)g(6,)g(9,)g(11,)g(13,)g(13,)g(15,)g(16,)g(19)g
+(;)150 1017 y FD(The)39 b(follo)m(wing)h(example)g(pro)s(duces)e(an)h
+Fy(ncap2)f FD(run)m(time)h(error.)67 b(This)38 b(is)i(b)s(ecause)f(the)
+g(c)m(hose)h(rng)150 1127 y(algorithm)46 b(has)f(a)g(maximium)g(v)-5
+b(alue)45 b(greater)h(than)75 b Fy(NC_MAX_INT=2147483647)25
+b FD(;)53 b(the)45 b(wrapp)s(er)150 1236 y(functions)30
+b(to)h Fy(gsl_rng_get\(\))26 b FD(and)k Fy(gsl_rng_uniform_int\(\))24
+b FD(return)29 b(v)-5 b(ariable)31 b(of)f(t)m(yp)s(e)g
+Fy(NC_INT)p FD(.)150 1346 y(Please)36 b(b)s(e)e(a)m(w)m(are)j(of)e
+(this)f(when)g(using)h(random)f(n)m(um)m(b)s(er)f(distribution)i
+(functions)f(functions)g(from)150 1456 y(the)29 b 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
+1565 y FD(and)h Fy(gsl_ran_pascal\(\))p FD(.)390 1736
+y Fy(export)46 b(GSL_RNG_TYPE=mt19937)390 1845 y(ncap2)g(-v)i(-O)f(-s)g
+('a1[time]=0;a2=gsl_rng_g)o(et\(a)o(1\);)o(')42 b(in.nc)k(foo.nc)150
+2016 y FD(T)-8 b(o)31 b(\014nd)e(the)h(maximium)g(v)-5
+b(alue)31 b(of)g(the)f(c)m(hosen)h(rng)f(algorithm)h(use)f(the)h(follo)
+m(wing)h(co)s(de)e(snipp)s(et.)390 2186 y Fy(ncap2)46
+b(-v)i(-O)f(-s)g('rng_max=gsl_rng_max\(\);p)o(rint)o(\(rn)o(g_ma)o
+(x\)')41 b(in.nc)47 b(foo.nc)150 2357 y Fq(Random)30
+b(Num)m(b)s(er)f(Distributions)150 2466 y FD(The)34 b
+FC(GSL)i FD(library)e(has)h(a)g(ric)m(h)g(set)h(of)f(random)f(n)m(um)m
+(b)s(er)g(disribution)g(functions.)54 b(The)34 b(library)h(also)150
+2576 y(pro)m(vides)42 b(cum)m(ulativ)m(e)i(distribution)d(functions)h
+(and)f(in)m(v)m(erse)i(cum)m(ulativ)m(e)h(distribution)d(functions)150
+2685 y(sometimes)c(referred)f(to)h(a)f(quan)m(tile)i(functions.)57
+b(T)-8 b(o)37 b(see)g(whats)f(a)m(v)-5 b(ailable)38 b(on)f(y)m(our)f
+(build)f(use)h(the)150 2795 y(shell)31 b(command)f Fy(ncap2)f(-f|grep)f
+(-e)i(_ran)f(-e)h(_cdf)p FD(.)150 2966 y(The)g(follo)m(wing)i(examples)
+f(all)g(return)e(v)-5 b(ariables)31 b(of)g(t)m(yp)s(e)f
+Fy(NC_INT)390 3246 y(defdim\("out",15\);)390 3355 y(a1[$out]=0.5;)390
+3465 y(a2=gsl_ran_binomial\(a1,3)o(0\).s)o(ort\()o(\);)390
+3574 y(//a2)47 b(=)g(10,)g(11,)g(12,)g(12,)g(13,)g(14,)g(14,)f(15,)h
+(15,)g(16,)g(16,)g(16,)g(16,)g(17,)g(22)g(;)390 3684
+y(a3=gsl_ran_geometric\(a2\))o(.sor)o(t\(\);)390 3794
+y(//a2)g(=)g(1,)g(1,)g(1,)h(1,)f(1,)g(1,)g(1,)g(1,)h(2,)f(2,)g(2,)g(2,)
+g(3,)g(4,)h(5)f(;)390 3903 y(a4=gsl_ran_pascal\(a2,50\))o(;)390
+4013 y(//a5)g(=)g(37,)g(40,)g(40,)g(42,)g(43,)g(45,)g(46,)f(49,)h(52,)g
+(58,)g(60,)g(62,)g(62,)g(65,)g(67)g(;)150 4183 y FD(The)30
+b(follo)m(wing)i(all)f(return)e(v)-5 b(ariables)31 b(of)g(t)m(yp)s(e)f
+Fy(NC_DOUBLE)p FD(;)390 4354 y Fy(defdim\("b1",1000\);)390
+4463 y(b1[$b1]=0.8;)390 4573 y(b2=gsl_ran_exponential\(b)o(1\);)390
+4682 y(b2_avg=b2.avg\(\);)390 4792 y(print\(b2_avg\);)390
+4902 y(//)47 b(b2_avg)f(=)i(0.756047976787)390 5121 y
+(b3=gsl_ran_gaussian\(b1\);)390 5230 y(b3_avg=b3.avg\(\);)390
+5340 y(b3_rms=b3.rms\(\);)p eop end
+%%Page: 146 152
+TeXDict begin 146 151 bop 150 -116 a FD(146)2582 b FC(NCO)30
+b FD(4.4.2)j(User)d(Guide)390 299 y Fy(print\(b3_avg\);)390
+408 y(//)47 b(b3_avg)f(=)i(-0.00903446534258;)390 518
+y(print\(b3_rms\);)390 628 y(//)f(b3_rms)f(=)i(0.81162979889;)390
+847 y(b4[$b1]=10.0;)390 956 y(b5[$b1]=20.0;)390 1066
+y(b6=gsl_ran_flat\(b4,b5\);)390 1176 y(b6_avg=b6.avg\(\);)390
+1285 y(print\(b6_avg\);)390 1395 y(//)f(b6_avg=15.0588129413)150
+1649 y Fu(4.1.24)63 b(Examples)41 b(ncap2)150 1796 y
+FD(See)23 b(the)h Fy(ncap.in)d FD(and)h Fy(ncap2.in)f
+FD(scripts)i(released)h(with)f FC(NCO)g FD(for)g(more)g(complete)i
+(demonstrations)150 1905 y(of)31 b Fy(ncap2)d FD(functionalit)m(y)k
+(\(script)f(a)m(v)-5 b(ailable)33 b(on-line)e(at)g Fy
+(http://nco.sf.net/ncap2)o(.in)p FD(\).)275 2092 y(De\014ne)i(new)g
+(attribute)h Fz(new)41 b FD(for)33 b(existing)h(v)-5
+b(ariable)35 b Fz(one)k FD(as)33 b(t)m(wice)i(the)f(existing)g
+(attribute)g Fz(dou-)150 2202 y(ble)p 272 2202 28 4 v
+40 w(att)g FD(of)c(v)-5 b(ariable)31 b Fz(att)p 1020
+2202 V 41 w(v)-5 b(ar)7 b FD(:)390 2389 y Fy(ncap2)46
+b(-s)i('one at new=2*att_var at doub)o(le_)o(att')41 b(in.nc)46
+b(out.nc)275 2575 y FD(Av)m(erage)32 b(v)-5 b(ariables)31
+b(of)f(mixed)h(t)m(yp)s(es)f(\(result)h(is)f(of)h(t)m(yp)s(e)f
+Fy(double)p FD(\):)390 2762 y Fy(ncap2)46 b(-s)i
+('average=\(var_float+var)o(_do)o(uble)o(+var)o(_in)o(t\)/3)o(')42
+b(in.nc)k(out.nc)275 2949 y FD(Multiple)38 b(commands)f(ma)m(y)h(b)s(e)
+e(giv)m(en)j(to)f Fy(ncap2)e FD(in)h(three)g(w)m(a)m(ys.)63
+b(First,)40 b(the)d(commands)g(ma)m(y)150 3059 y(b)s(e)k(placed)g(in)g
+(a)h(script)f(whic)m(h)g(is)h(executed,)j(e.g.,)h Fy(tst.nco)p
+FD(.)71 b(Second,)44 b(the)e(commands)f(ma)m(y)h(b)s(e)150
+3168 y(individually)35 b(sp)s(eci\014ed)f(with)g(m)m(ultiple)i(`)p
+Fy(-s)p FD(')f(argumen)m(ts)g(to)h(the)f(same)g Fy(ncap2)f
+FD(in)m(v)m(o)s(cation.)56 b(Third,)150 3278 y(the)39
+b(commands)g(ma)m(y)h(b)s(e)e(c)m(hained)i(in)m(to)g(a)f(single)h(`)p
+Fy(-s)p FD(')f(argumen)m(t)h(to)g Fy(ncap2)p FD(.)65
+b(Assuming)39 b(the)g(\014le)150 3387 y Fy(tst.nco)g
+FD(con)m(tains)j(the)f(commands)f Fy(a=3;b=4;c=sqrt\(a^2+b^2\);)o
+FD(,)e(then)i(the)h(follo)m(wing)h Fy(ncap2)150 3497
+y FD(in)m(v)m(o)s(cations)32 b(pro)s(duce)d(iden)m(tical)k(results:)390
+3684 y Fy(ncap2)46 b(-v)i(-S)f(tst.nco)f(in.nc)g(out.nc)390
+3793 y(ncap2)g(-v)i(-s)f('a=3')f(-s)h('b=4')g(-s)g('c=sqrt\(a^2+b^2\)')
+c(in.nc)j(out.nc)390 3903 y(ncap2)g(-v)i(-s)f('a=3;b=4;c=sqrt\(a^2+b^2)
+o(\)')42 b(in.nc)k(out.nc)275 4090 y FD(The)32 b(second)h(and)f(third)h
+(examples)g(sho)m(w)g(that)g Fy(ncap2)f FD(do)s(es)h(not)g(require)f
+(that)i(a)f(trailing)h(semi-)150 4199 y(colon)26 b(`)p
+Fy(;)p FD(')e(b)s(e)g(placed)h(at)g(the)g(end)f(of)h(a)g(`)p
+Fy(-s)p FD(')f(argumen)m(t,)j(although)d(a)h(trailing)h(semi-colon)g(`)
+p Fy(;)p FD(')f(is)f(alw)m(a)m(ys)150 4309 y(allo)m(w)m(ed.)61
+b(Ho)m(w)m(ev)m(er,)40 b(semi-colons)e(are)e(required)g(to)h(separate)g
+(individual)f(assignmen)m(t)h(statemen)m(ts)150 4418
+y(c)m(hained)31 b(together)h(as)e(a)h(single)g(`)p Fy(-s)p
+FD(')f(argumen)m(t.)275 4605 y Fy(ncap2)j FD(ma)m(y)i(b)s(e)g(used)f
+(to)h(\\gro)m(w")i(dimensions,)e(i.e.,)j(to)d(increase)h(dimension)e
+(sizes)i(without)f(al-)150 4715 y(tering)41 b(existing)g(data.)71
+b(Sa)m(y)40 b Fy(in.nc)f FD(has)h Fy(ORO\(lat,lon\))d
+FD(and)i(the)i(user)e(wishes)h(a)g(new)g(\014le)g(with)150
+4824 y Fy(new_ORO\(new_lat,new_lon\))22 b FD(that)29
+b(con)m(tains)h(zeros)f(in)f(the)h(unde\014ned)d(p)s(ortions)i(of)h
+(the)g(new)f(grid.)390 5011 y Fy(defdim\("new_lat",$lat.si)o(ze+1)o
+(\);)42 b(//)47 b(Define)f(new)h(dimension)e(sizes)390
+5121 y(defdim\("new_lon",$lon.si)o(ze+1)o(\);)390 5230
+y(new_ORO[$new_lat,$new_lo)o(n]=0)o(.0f;)c(//)47 b(Initialize)e(to)i
+(zero)390 5340 y(new_ORO\(0:$lat.size-1,0:)o($lon)o(.siz)o(e-1)o(\)=OR)
+o(O;)42 b(//)47 b(Fill)f(valid)h(data)p eop end
+%%Page: 147 153
+TeXDict begin 147 152 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(147)275
+299 y(The)31 b(commands)g(to)i(de\014ne)e(new)g(co)s(ordinate)i(v)-5
+b(ariables)33 b Fy(new_lat)d FD(and)h Fy(new_lon)f FD(in)h(the)h
+(output)150 408 y(\014le)g(follo)m(w)g(a)g(similar)g(pattern.)44
+b(One)31 b(w)m(ould)g(migh)m(t)i(store)f(these)g(commands)f(in)g(a)h
+(script)f Fy(grow.nco)150 518 y FD(and)f(then)g(execute)i(the)e(script)
+g(with)390 679 y Fy(ncap2)46 b(-v)i(-S)f(grow.nco)e(in.nc)i(out.nc)275
+840 y FD(Imagine)28 b(y)m(ou)g(wish)f(to)h(create)h(a)f(binary)f
+(\015ag)h(based)f(on)h(the)g(v)-5 b(alue)28 b(of)g(an)f(arra)m(y)-8
+b(.)41 b(The)27 b(\015ag)h(should)150 949 y(ha)m(v)m(e)33
+b(v)-5 b(alue)31 b(1.0)i(where)e(the)h(arra)m(y)g(exceeds)f(1.0)r(,)h
+(and)f(v)-5 b(alue)31 b(0.0)i(elsewhere.)45 b(This)31
+b(example)i(creates)150 1059 y(the)e(binary)e(\015ag)i
+Fy(ORO_flg)d FD(in)i Fy(out.nc)f FD(from)h(the)g(con)m(tin)m(uous)i
+(arra)m(y)e(named)g Fy(ORO)g FD(in)g Fy(in.nc)p FD(.)390
+1219 y Fy(ncap2)46 b(-s)i('ORO_flg=\(ORO)c(>)j(1.0\)')g(in.nc)f(out.nc)
+275 1380 y FD(Supp)s(ose)28 b(y)m(our)i(task)h(is)g(to)g(c)m(hange)g
+(all)h(v)-5 b(alues)30 b(of)h Fy(ORO)e FD(whic)m(h)h(equal)h(2.0)h(to)f
+(the)g(new)e(v)-5 b(alue)31 b(3.0)q(:)390 1541 y Fy(ncap2)46
+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)275 1702 y FD(This)30
+b(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 1811 y Fy(ORO)c FD(are)i(only)g(c)m(hanged)g(where)f
+Fy(ORO_msk)e FD(is)i(true,)h(i.e.,)h(where)d Fy(ORO)h
+FD(equals)h(2.0)150 1921 y(Using)g(the)f Fy(where)f FD(statemen)m(t)j
+(the)f(ab)s(o)m(v)m(e)g(co)s(de)g(simpli\014es)f(to)h(:)390
+2082 y Fy(ncap2)46 b(-s)i('where\(ORO==2.0\))43 b(ORO=3.0;')i(in.nc)i
+(foo.nc)275 2242 y FD(This)30 b(example)j(uses)e Fy(ncap2)f
+FD(to)j(compute)f(the)g(co)m(v)-5 b(ariance)34 b(of)e(t)m(w)m(o)h(v)-5
+b(ariables.)45 b(Let)32 b(the)g(v)-5 b(ariables)150 2352
+y Fz(u)42 b FD(and)h Fz(v)50 b FD(b)s(e)43 b(the)g(horizon)m(tal)h
+(wind)e(comp)s(onen)m(ts.)79 b(The)42 b Fz(co)m(v)-5
+b(ariance)51 b FD(of)43 b Fz(u)f FD(and)g Fz(v)51 b FD(is)43
+b(de\014ned)f(as)150 2461 y(the)g(time)h(mean)g(pro)s(duct)e(of)h(the)h
+(deviations)g(of)f Fz(u)g FD(and)f Fz(v)50 b FD(from)42
+b(their)g(resp)s(ectiv)m(e)i(time)f(means.)150 2571 y(Sym)m(b)s
+(olically)-8 b(,)36 b(the)e(co)m(v)-5 b(ariance)35 b([)p
+Fv(u)1386 2538 y Fd(0)1410 2571 y Fv(v)1457 2538 y Fd(0)1481
+2571 y FD(])30 b(=)g([)p Fv(uv)s FD(])24 b FA(\000)e
+FD([)p Fv(u)p FD(][)p Fv(v)s FD(])34 b(where)f([)p Fv(x)p
+FD(])h(denotes)g(the)g(time-a)m(v)m(erage)j(of)d Fv(x)p
+FD(,)150 2681 y([)p Fv(x)p FD(])28 b FA(\021)390 2645
+y Ft(1)p 388 2660 38 4 v 388 2712 a Fg(\034)451 2612
+y Ff(R)506 2632 y Fg(t)p Ft(=)p Fg(\034)490 2708 y(t)p
+Ft(=0)639 2681 y Fv(x)p FD(\()p Fv(t)p FD(\))15 b(d)p
+Fv(t)31 b FD(and)h Fv(x)1155 2648 y Fd(0)1209 2681 y
+FD(denotes)h(the)f(deviation)g(from)g(the)g(time-mean.)46
+b(The)31 b(co)m(v)-5 b(ariance)34 b(tells)150 2790 y(us)29
+b(ho)m(w)h(m)m(uc)m(h)g(of)g(the)g(correlation)i(of)e(t)m(w)m(o)h
+(signals)g(arises)f(from)f(the)i(signal)f(\015uctuations)g(v)m(ersus)g
+(the)150 2900 y(mean)e(signals.)41 b(Sometimes)29 b(this)f(is)g(called)
+h(the)g Fz(eddy)e(co)m(v)-5 b(ariance)p FD(.)43 b(W)-8
+b(e)29 b(will)g(store)f(the)h(co)m(v)-5 b(ariance)30
+b(in)150 3009 y(the)h(v)-5 b(ariable)31 b Fy(uprmvprm)p
+FD(.)390 3170 y Fy(ncwa)47 b(-O)g(-a)g(time)g(-v)g(u,v)g(in.nc)f
+(foo.nc)g(#)i(Compute)d(time)i(mean)g(of)g(u,v)390 3280
+y(ncrename)f(-O)h(-v)g(u,uavg)f(-v)h(v,vavg)f(foo.nc)g(#)i(Rename)e(to)
+h(avoid)f(conflict)390 3389 y(ncks)h(-A)g(-v)g(uavg,vavg)e(foo.nc)h
+(in.nc)h(#)g(Place)g(time)f(means)h(with)f(originals)390
+3499 y(ncap2)g(-O)i(-s)f('uprmvprm=u*v-uavg*vavg)o(')42
+b(in.nc)k(in.nc)h(#)g(Covariance)390 3608 y(ncra)g(-O)g(-v)g(uprmvprm)f
+(in.nc)g(foo.nc)g(#)h(Time-mean)f(covariance)275 3769
+y FD(The)34 b(mathematically)j(inclined)e(will)g(note)h(that)f(the)g
+(same)g(co)m(v)-5 b(ariance)37 b(w)m(ould)e(b)s(e)f(obtained)h(b)m(y)
+150 3879 y(replacing)c(the)g(step)f(in)m(v)m(olving)i
+Fy(ncap2)d FD(with)390 4040 y Fy(ncap2)46 b(-O)i(-s)f
+('uprmvprm=\(u-uavg\)*\(v-v)o(avg\))o(')42 b(foo.nc)k(foo.nc)g(#)h
+(Covariance)275 4200 y FD(As)34 b(of)g FC(NCO)g FD(v)m(ersion)h(3.1.8)h
+(\(Decem)m(b)s(er,)h(2006\),)g Fy(ncap2)c FD(can)i(compute)f(a)m(v)m
+(erages,)k(and)c(th)m(us)g(co-)150 4310 y(v)-5 b(ariances,)31
+b(b)m(y)g(itself:)390 4471 y Fy(ncap2)46 b(-s)i
+('uavg=u.avg\($time\);vavg)o(=v.)o(avg\()o($tim)o(e\);)o(uprm)o(vprm)o
+(=u*)o(v-ua)o(vg*v)o(avg)o(')42 b(\\)676 4580 y(-s)48
+b('uprmvrpmavg=uprmvprm.a)o(vg\()o($tim)o(e\)')41 b(in.nc)47
+b(foo.nc)275 4741 y FD(W)-8 b(e)44 b(ha)m(v)m(e)g(not)g(seen)f(a)h
+(simpler)f(metho)s(d)f(to)i(script)g(and)e(execute)j(p)s(o)m(w)m(erful)
+e(arithmetic)h(than)150 4850 y Fy(ncap2)p FD(.)275 5011
+y Fy(ncap2)34 b FD(utilizes)j(man)m(y)f(meta-c)m(haracters)i(\(e.g.,)h
+(`)p Fy($)p FD(',)f(`)p Fy(?)p FD(',)g(`)p Fy(;)p FD(',)f(`)p
+Fy(\(\))p FD(',)h(`)p Fy([])p FD('\))e(that)g(can)g(confuse)g(the)150
+5121 y(command-line)h(shell)g(if)g(not)f(quoted)h(prop)s(erly)-8
+b(.)59 b(The)36 b(issues)g(are)h(the)g(same)g(as)g(those)g(whic)m(h)f
+(arise)150 5230 y(in)g(utilizing)i(extended)e(regular)h(expressions)f
+(to)h(subset)f(v)-5 b(ariables)37 b(\(see)h(Section)f(3.11)h
+([Subsetting)150 5340 y(Files],)32 b(page)g(40\).)43
+b(The)31 b(example)g(ab)s(o)m(v)m(e)h(will)f(fail)h(with)e(no)h(quotes)
+g(and)f(with)h(double)f(quotes.)43 b(This)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.2)j(User)d(Guide)150 299 y(is)f(b)s(ecause)g(shell)g(globbing)
+h(tries)f(to)h Fz(in)m(terp)s(olate)36 b FD(the)29 b(v)-5
+b(alue)29 b(of)h Fy($time)d FD(from)i(the)g(shell)g(en)m(vironmen)m(t)
+150 408 y(unless)h(it)h(is)f(quoted:)390 571 y Fy(ncap2)46
+b(-s)i('uavg=u.avg\($time\)')90 b(in.nc)46 b(foo.nc)g(#)i(Correct)e
+(\(recommended\))390 681 y(ncap2)g(-s)95 b(uavg=u.avg\('$time'\))43
+b(in.nc)j(foo.nc)g(#)i(Correct)e(\(and)g(dangerous\))390
+791 y(ncap2)g(-s)95 b(uavg=u.avg\($time\))139 b(in.nc)46
+b(foo.nc)g(#)i(Fails)e(\($time)g(=)i(''\))390 900 y(ncap2)e(-s)i
+("uavg=u.avg\($time\)")90 b(in.nc)46 b(foo.nc)g(#)i(Fails)e(\($time)g
+(=)i(''\))275 1063 y FD(Without)25 b(the)h(single)f(quotes,)i(the)f
+(shell)f(replaces)h Fy($time)d FD(with)i(an)g(empt)m(y)h(string.)39
+b(The)24 b(command)150 1173 y Fy(ncap2)43 b FD(receiv)m(es)i(from)f
+(the)g(shell)g(is)h Fy(uavg=u.avg\(\))p FD(.)78 b(This)43
+b(causes)i Fy(ncap2)d FD(to)j(a)m(v)m(erage)i(o)m(v)m(er)e(all)150
+1282 y(dimensions)30 b(rather)g(than)g(just)g(the)g Fz(time)37
+b FD(dimension,)30 b(and)f(unin)m(tended)h(consequence.)275
+1445 y(W)-8 b(e)45 b(recommend)e(using)g(single)i(quotes)f(to)g
+(protect)h Fy(ncap2)e FD(command-line)h(scripts)f(from)h(the)150
+1555 y(shell,)27 b(ev)m(en)f(when)e(suc)m(h)h(protection)i(is)e(not)h
+(strictly)g(necessary)-8 b(.)40 b(Exp)s(ert)24 b(users)h(ma)m(y)h
+(violate)h(this)e(rule)150 1665 y(to)36 b(exploit)g(the)f(abilit)m(y)h
+(to)g(use)f(shell)g(v)-5 b(ariables)36 b(in)e Fy(ncap2)g
+FD(command-line)h(scripts)g(\(see)h(Chapter)f(9)150 1774
+y([CCSM)d(Example],)h(page)g(239\).)48 b(In)32 b(suc)m(h)g(cases)h(it)g
+(ma)m(y)g(b)s(e)e(necessary)i(to)g(use)f(the)h(shell)f(bac)m(kslash)150
+1884 y(c)m(haracter)g(`)p Fy(\\)p FD(')f(to)g(protect)g(the)g
+Fy(ncap2)e FD(meta-c)m(haracter.)275 2047 y(A)c(dimension)f(of)h(size)h
+(one)f(is)g(said)g(to)h(b)s(e)e Fo(de)-5 b(gener)g(ate)p
+FD(.)41 b(Whether)25 b(a)g(degenerate)i(record)e(dimension)150
+2156 y(is)h(desirable)g(or)g(not)h(dep)s(ends)d(on)i(the)g
+(application.)41 b(Often)25 b(a)i(degenerate)g Fz(time)32
+b FD(dimension)25 b(is)h(useful,)150 2266 y(e.g.,)k(for)e(concaten)m
+(tating,)k(but)27 b(it)i(ma)m(y)g(cause)f(problems)g(with)g
+(arithmetic.)41 b(Suc)m(h)27 b(is)h(the)h(case)g(in)f(the)150
+2375 y(ab)s(o)m(v)m(e)i(example,)g(where)e(the)h(\014rst)g(step)f
+(emplo)m(ys)i Fy(ncwa)e FD(rather)g(than)h Fy(ncra)f
+FD(for)g(the)h(time-a)m(v)m(eraging.)150 2485 y(Of)k(course)h(the)h(n)m
+(umerical)f(results)g(are)g(the)g(same)h(with)e(b)s(oth)h(op)s
+(erators.)51 b(The)34 b(di\013erence)g(is)g(that,)150
+2595 y(unless)23 b(`)p Fy(-b)p FD(')h(is)g(sp)s(eci\014ed,)h
+Fy(ncwa)e FD(writes)h(no)g Fz(time)30 b FD(dimension)23
+b(to)i(the)f(output)f(\014le,)j(while)e Fy(ncra)f FD(defaults)150
+2704 y(to)34 b(k)m(eeping)f Fz(time)39 b FD(as)33 b(a)h(degenerate)g
+(\(size)e(1\))h(dimension.)48 b(App)s(ending)31 b Fy(u)i
+FD(and)f Fy(v)h FD(to)g(the)g(output)g(\014le)150 2814
+y(w)m(ould)27 b(cause)h Fy(ncks)e FD(to)i(try)f(to)h(expand)f(the)g
+(degenerate)i(time)f(axis)g(of)f Fy(uavg)f FD(and)h Fy(vavg)f
+FD(to)i(the)g(size)g(of)150 2923 y(the)g(non-degenerate)i
+Fz(time)j FD(dimension)28 b(in)g(the)g(input)f(\014le.)40
+b(Th)m(us)27 b(the)h(app)s(end)f(\()p Fy(ncks)i(-A)p
+FD(\))f(command)150 3033 y(w)m(ould)k(b)s(e)g(unde\014ned)e(\(and)i
+(should)f(fail\))j(in)e(this)g(case.)47 b(Equally)33
+b(imp)s(ortan)m(t)f(is)h(the)f(`)p Fy(-C)p FD(')g(argumen)m(t)150
+3143 y(\(see)e(Section)f(3.12)h([Subsetting)e(Co)s(ordinate)h(V)-8
+b(ariables],)31 b(page)e(44\))h(to)f Fy(ncwa)f FD(to)h(prev)m(en)m(t)g
+(an)m(y)g(scalar)150 3252 y Fz(time)43 b FD(v)-5 b(ariable)37
+b(from)f(b)s(eing)h(written)g(to)g(the)g(output)g(\014le.)60
+b(Kno)m(wing)36 b(when)g(to)i(use)e Fy(ncwa)29 b(-a)h(time)150
+3362 y FD(rather)g(than)g(the)h(default)f Fy(ncra)g FD(for)g(time-a)m
+(v)m(eraging)k(tak)m(es,)e(w)m(ell,)f(time.)150 3568
+y Fu(4.1.25)63 b(In)m(trinsic)41 b(mathematical)e(metho)s(ds)150
+3715 y Fy(ncap2)22 b FD(supp)s(orts)g(the)i(standard)e(mathematical)k
+(functions)d(supplied)g(with)g(most)h(op)s(erating)g(systems.)150
+3825 y(Standard)g(calculator)k(notation)f(is)f(used)f(for)g(addition)h
+Fy(+)p FD(,)g(subtraction)g Fn(-)p FD(,)h(m)m(ultiplication)g
+Fn(*)p FD(,)g(division)150 3934 y Fn(/)p FD(,)i(exp)s(onen)m(tiation)h
+Fy(^)p FD(,)f(and)f(mo)s(dulus)f Fn(\045)p FD(.)40 b(The)28
+b(a)m(v)-5 b(ailable)31 b(elemen)m(tary)f(mathematical)h(functions)d
+(are:)150 4235 y Fy(abs\(x\))192 b Fz(Absolute)31 b(v)-5
+b(alue)36 b FD(Absolute)31 b(v)-5 b(alue)30 b(of)h Fv(x)p
+FD(,)f FA(j)p Fv(x)p FA(j)p FD(.)42 b(Example:)e(abs\()p
+FA(\000)p FD(1\))26 b(=)f(1)150 4402 y Fy(acos\(x\))144
+b Fz(Arc-cosine)28 b FD(Arc-cosine)23 b(of)e Fz(x)28
+b FD(where)21 b Fz(x)28 b FD(is)21 b(sp)s(eci\014ed)g(in)g(radians.)38
+b(Example:)e(acos\(1)p Fv(:)p FD(0\))28 b(=)630 4512
+y(0)p Fv(:)p FD(0)150 4678 y Fy(acosh\(x\))96 b Fz(Hyp)s(erb)s(olic)24
+b(arc-cosine)31 b FD(Hyp)s(erb)s(olic)23 b(arc-cosine)j(of)e
+Fz(x)31 b FD(where)23 b Fz(x)31 b FD(is)24 b(sp)s(eci\014ed)f(in)h
+(radians.)630 4788 y(Example:)41 b(acosh\(1)p Fv(:)p
+FD(0\))28 b(=)d(0)p Fv(:)p FD(0)150 4954 y Fy(asin\(x\))144
+b Fz(Arc-sine)42 b FD(Arc-sine)37 b(of)f Fz(x)43 b FD(where)36
+b Fz(x)42 b FD(is)37 b(sp)s(eci\014ed)f(in)g(radians.)58
+b(Example:)53 b(asin\(1)p Fv(:)p FD(0\))37 b(=)630 5064
+y(1)p Fv(:)p FD(5707963267948)q(96)q(619)q(22)150 5230
+y Fy(asinh\(x\))96 b Fz(Hyp)s(erb)s(olic)39 b(arc-sine)46
+b FD(Hyp)s(erb)s(olic)39 b(arc-sine)i(of)f Fz(x)46 b
+FD(where)39 b Fz(x)46 b FD(is)40 b(sp)s(eci\014ed)f(in)g(radians.)630
+5340 y(Example:)i(asinh\(1)p Fv(:)p FD(0\))27 b(=)e(0)p
+Fv(:)p FD(88137358702)p eop end
+%%Page: 149 155
+TeXDict begin 149 154 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(149)150
+299 y Fy(atan\(x\))144 b Fz(Arc-tangen)m(t)30 b FD(Arc-tangen)m(t)d(of)
+f Fz(x)32 b FD(where)25 b Fz(x)32 b FD(is)26 b(sp)s(eci\014ed)f(in)h
+(radians)f(b)s(et)m(w)m(een)h FA(\000)p Fv(\031)s(=)p
+FD(2)h(and)630 408 y Fv(\031)s(=)p FD(2.)42 b(Example:)f(atan\(1)p
+Fv(:)p FD(0\))27 b(=)e(0)p Fv(:)p FD(785398163397)q(448)q(30)q(96)q(1)
+150 576 y Fy(atan2\(y,x\))630 686 y Fz(Arc-tangen)m(t2)40
+b FD(Arc-tangen)m(t)32 b(of)f Fz(y/x)150 853 y Fy(atanh\(x\))96
+b Fz(Hyp)s(erb)s(olic)24 b(arc-tangen)m(t)29 b FD(Hyp)s(erb)s(olic)24
+b(arc-tangen)m(t)j(of)e Fz(x)30 b FD(where)24 b Fz(x)31
+b FD(is)25 b(sp)s(eci\014ed)f(in)g(radi-)630 963 y(ans)30
+b(b)s(et)m(w)m(een)h FA(\000)p Fv(\031)s(=)p FD(2)g(and)f
+Fv(\031)s(=)p FD(2.)42 b(Example:)e(atanh\(3)p Fv(:)p
+FD(14159265358)q(97)q(93)q(238)q(44)q(\))31 b(=)25 b(1)p
+Fv(:)p FD(0)150 1130 y Fy(ceil\(x\))144 b Fz(Ceil)42
+b FD(Ceiling)d(of)g Fz(x)p FD(.)64 b(Smallest)39 b(in)m(tegral)h(v)-5
+b(alue)39 b(not)f(less)h(than)f(argumen)m(t.)65 b(Example:)630
+1240 y(ceil\(0)p Fv(:)p FD(1\))28 b(=)d(1)p Fv(:)p FD(0)150
+1408 y Fy(cos\(x\))192 b Fz(Cosine)36 b FD(Cosine)30
+b(of)g Fz(x)37 b FD(where)30 b Fz(x)36 b FD(is)31 b(sp)s(eci\014ed)f
+(in)g(radians.)40 b(Example:)h(cos\(0)p Fv(:)p FD(0\))28
+b(=)d(1)p Fv(:)p FD(0)150 1575 y Fy(cosh\(x\))144 b Fz(Hyp)s(erb)s
+(olic)34 b(cosine)40 b FD(Hyp)s(erb)s(olic)34 b(cosine)h(of)f
+Fz(x)41 b FD(where)34 b Fz(x)40 b FD(is)34 b(sp)s(eci\014ed)g(in)g
+(radians.)52 b(Ex-)630 1685 y(ample:)41 b(cosh\(0)p Fv(:)p
+FD(0\))27 b(=)e(1)p Fv(:)p FD(0)150 1852 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 1962 y(Example:)e(erf\(1)p
+Fv(:)p FD(0\))27 b(=)e(0)p Fv(:)p FD(842701)150 2130
+y Fy(erfc\(x\))144 b Fz(Complemen)m(tary)35 b(error)f(function)g
+FD(Complemen)m(tary)h(error)g(function)f(of)g Fz(x)41
+b FD(where)34 b Fz(x)41 b FD(is)630 2239 y(sp)s(eci\014ed)30
+b(b)s(et)m(w)m(een)h FA(\000)p FD(1)f(and)g(1.)41 b(Example:)g(erfc\(1)
+p Fv(:)p FD(0\))27 b(=)e(0)p Fv(:)p FD(15729920705)150
+2407 y Fy(exp\(x\))192 b Fz(Exp)s(onen)m(tial)223 b FD(Exp)s(onen)m
+(tial)d(of)f Fz(x)p FD(,)267 b Fv(e)2703 2374 y Fg(x)2745
+2407 y FD(.)608 b(Example:)630 2516 y(exp\(1)p Fv(:)p
+FD(0\))27 b(=)e(2)p Fv(:)p FD(7182818284590)q(452)q(35)q(36)150
+2684 y Fy(floor\(x\))96 b Fz(Flo)s(or)39 b FD(Flo)s(or)32
+b(of)g Fz(x)p FD(.)45 b(Largest)32 b(in)m(tegral)i(v)-5
+b(alue)32 b(not)g(greater)h(than)e(argumen)m(t.)46 b(Example:)630
+2794 y(\015o)s(or\(1)p Fv(:)p FD(9\))27 b(=)e(1)150 2961
+y Fy(gamma\(x\))96 b Fz(Gamma)33 b(function)g FD(Gamma)g(function)f(of)
+h Fz(x)p FD(,)h(\000\()p Fv(x)p FD(\).)48 b(The)32 b(w)m(ell-kno)m(wn)h
+(and)f(lo)m(v)m(ed)i(con-)630 3071 y(tin)m(uous)c(factorial)j
+(function.)40 b(Example:)h(gamma\(0)p Fv(:)p FD(5\))28
+b(=)2708 3006 y FA(p)p 2784 3006 56 4 v 65 x Fv(\031)150
+3238 y Fy(gamma_inc_P\(x\))630 3348 y Fz(Incomplete)34
+b(Gamma)g(function)f FD(Incomplete)g(Gamma)h(function)f(of)g(parameter)
+h Fz(a)g FD(and)630 3458 y(v)-5 b(ariable)39 b Fz(x)p
+FD(,)h Fv(P)13 b FD(\()p Fv(a;)i(x)p FD(\).)64 b(One)38
+b(of)g(the)g(four)f(incomplete)j(gamma)e(functions.)64
+b(Example:)630 3567 y(gamma)p 923 3567 28 4 v 41 w(inc)p
+1080 3567 V 40 w(P\(1)p Fv(;)15 b FD(1\))27 b(=)e(1)c
+FA(\000)f FD(e)1696 3534 y Fd(\000)p Ft(1)150 3735 y
+Fy(ln\(x\))240 b Fz(Natural)112 b(Logarithm)f FD(Natural)g(logarithm)h
+(of)f Fz(x)p FD(,)131 b(ln\()p Fv(x)p FD(\).)283 b(Example:)630
+3844 y(ln\(2)p Fv(:)p FD(7182818284590)q(45)q(23)q(536)q(\))32
+b(=)24 b(1)p Fv(:)p FD(0)150 4012 y Fy(log\(x\))192 b
+Fz(Natural)31 b(Logarithm)g FD(Exact)g(synon)m(ym)f(for)g
+Fy(ln\(x\))p FD(.)150 4180 y Fy(log10\(x\))96 b Fz(Base)31
+b(10)h(Logarithm)f FD(Base)g(10)g(logarithm)h(of)e Fz(x)p
+FD(,)h(log)2490 4201 y Ft(10)2560 4180 y FD(\()p Fv(x)p
+FD(\).)42 b(Example:)f(log\(10)p Fv(:)p FD(0\))28 b(=)d(1)p
+Fv(:)p FD(0)150 4347 y Fy(nearbyint\(x\))630 4457 y Fz(Round)31
+b(inexactly)41 b FD(Nearest)34 b(in)m(teger)f(to)g Fz(x)38
+b FD(is)32 b(returned)f(in)h(\015oating)h(p)s(oin)m(t)f(format.)46
+b(No)630 4566 y(exceptions)31 b(are)g(raised)g(for)f
+Fz(inexact)h(con)m(v)m(ersions)p FD(.)42 b(Example:)f(nearb)m(yin)m
+(t\(0)p Fv(:)p FD(1\))28 b(=)d(0)p Fv(:)p FD(0)150 4734
+y Fy(pow\(x,y\))96 b Fz(P)m(o)m(w)m(er)47 b FD(V)-8 b(alue)41
+b(of)e Fz(x)46 b FD(is)39 b(raised)g(to)h(the)g(p)s(o)m(w)m(er)f(of)g
+Fz(y)p FD(.)68 b(Exceptions)40 b(are)f(raised)h(for)f
+Fz(do-)630 4844 y(main)d(errors)p FD(.)59 b(Due)37 b(to)g(t)m(yp)s
+(e-limitations)h(in)f(the)f(C)30 b(language)38 b Fy(pow)e
+FD(function,)i(in)m(teger)630 4953 y(argumen)m(ts)30
+b(are)g(promoted)f(\(see)i(Section)f(3.33)h([T)m(yp)s(e)f(Con)m(v)m
+(ersion],)g(page)h(86\))f(to)h(t)m(yp)s(e)630 5063 y
+Fy(NC_FLOAT)d FD(b)s(efore)i(ev)-5 b(aluation.)42 b(Example:)f(p)s(o)m
+(w\(2)p Fv(;)15 b FD(3\))27 b(=)e(8)150 5230 y Fy(rint\(x\))144
+b Fz(Round)34 b(exactly)46 b FD(Nearest)36 b(in)m(teger)h(to)g
+Fz(x)42 b FD(is)35 b(returned)g(in)g(\015oating)h(p)s(oin)m(t)g
+(format.)57 b(Ex-)630 5340 y(ceptions)31 b(are)g(raised)f(for)g
+Fz(inexact)i(con)m(v)m(ersions)p FD(.)42 b(Example:)f(rin)m(t\(0)p
+Fv(:)p FD(1\))27 b(=)e(0)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.2)j(User)d(Guide)150 299 y Fy(round\(x\))96
+b Fz(Round)27 b FD(Nearest)f(in)m(teger)g(to)f Fz(x)30
+b FD(is)25 b(returned)e(in)i(\015oating)g(p)s(oin)m(t)g(format.)39
+b(Round)23 b(halfw)m(a)m(y)630 408 y(cases)28 b(a)m(w)m(a)m(y)h(from)e
+(zero,)i(regardless)f(of)f(curren)m(t)g(IEEE)g(rounding)f(direction.)41
+b(Example:)630 518 y(round\(0)p Fv(:)p FD(5\))26 b(=)f(1)p
+Fv(:)p FD(0)150 672 y Fy(sin\(x\))192 b Fz(Sine)110 b
+FD(Sine)104 b(of)h Fz(x)111 b FD(where)105 b Fz(x)111
+b FD(is)105 b(sp)s(eci\014ed)f(in)h(radians.)264 b(Example:)630
+782 y(sin\(1)p Fv(:)p FD(5707963267948)q(966)q(19)q(22)q(\))31
+b(=)25 b(1)p Fv(:)p FD(0)150 936 y Fy(sinh\(x\))144 b
+Fz(Hyp)s(erb)s(olic)29 b(sine)35 b FD(Hyp)s(erb)s(olic)30
+b(sine)f(of)h Fz(x)36 b FD(where)30 b Fz(x)36 b FD(is)30
+b(sp)s(eci\014ed)f(in)g(radians.)41 b(Example:)630 1046
+y(sinh\(1)p Fv(:)p FD(0\))26 b(=)f(1)p Fv(:)p FD(1752)150
+1200 y Fy(sqrt\(x\))144 b Fz(Square)30 b(Ro)s(ot)j FD(Square)d(Ro)s(ot)
+h(of)f Fz(x)p FD(,)1893 1135 y FA(p)p 1968 1135 52 4
+v 1968 1200 a Fv(x)p FD(.)41 b(Example:)g(sqrt\(4)p Fv(:)p
+FD(0\))27 b(=)e(2)p Fv(:)p FD(0)150 1355 y Fy(tan\(x\))192
+b Fz(T)-8 b(angen)m(t)82 b FD(T)-8 b(angen)m(t)80 b(of)g
+Fz(x)85 b FD(where)79 b Fz(x)85 b FD(is)79 b(sp)s(eci\014ed)f(in)h
+(radians.)187 b(Example:)630 1464 y(tan\(0)p Fv(:)p FD(785398163397)q
+(44)q(83)q(09)q(61\))32 b(=)25 b(1)p Fv(:)p FD(0)150
+1618 y Fy(tanh\(x\))144 b Fz(Hyp)s(erb)s(olic)40 b(tangen)m(t)k
+FD(Hyp)s(erb)s(olic)c(tangen)m(t)j(of)d Fz(x)47 b FD(where)40
+b Fz(x)47 b FD(is)41 b(sp)s(eci\014ed)f(in)g(radians.)630
+1728 y(Example:)h(tanh\(1)p Fv(:)p FD(0\))27 b(=)e(0)p
+Fv(:)p FD(761594155956)150 1882 y Fy(trunc\(x\))96 b
+Fz(T)-8 b(runcate)32 b FD(Nearest)d(in)m(teger)f(to)g
+Fz(x)34 b FD(is)27 b(returned)f(in)h(\015oating)h(p)s(oin)m(t)f
+(format.)40 b(Round)26 b(half-)630 1992 y(w)m(a)m(y)d(cases)h(to)m(w)m
+(ard)f(zero,)i(regardless)d(of)h(curren)m(t)f(IEEE)g(rounding)f
+(direction.)39 b(Example:)630 2102 y(trunc\(0)p Fv(:)p
+FD(5\))26 b(=)f(0)p Fv(:)p FD(0)150 2283 y(The)g(complete)h(list)g(of)f
+(mathematical)j(functions)d(supp)s(orted)e(is)i(platform-sp)s
+(eci\014c.)39 b(F)-8 b(unctions)26 b(man-)150 2393 y(dated)35
+b(b)m(y)g(ANSI)30 b(C)k(are)h Fo(guar)-5 b(ante)g(e)g(d)47
+b FD(to)35 b(b)s(e)g(presen)m(t)g(and)f(are)h(indicated)g(with)g(an)g
+(asterisk)3487 2360 y Ft(3)3524 2393 y FD(.)55 b(and)150
+2502 y(are)27 b(indicated)f(with)g(an)h(asterisk.)40
+b(Use)26 b(the)h(`)p Fy(-f)p FD(')f(\(or)h(`)p Fy(fnc_tbl)p
+FD(')d(or)j(`)p Fy(prn_fnc_tbl)p FD('\))d(switc)m(h)i(to)h(prin)m(t)150
+2612 y(a)k(complete)h(list)f(of)f(functions)g(supp)s(orted)f(on)h(y)m
+(our)g(platform.)2425 2579 y Ft(4)150 2806 y Fu(4.1.26)63
+b(Op)s(erator)42 b(precedence)e(and)h(asso)s(ciativit)m(y)150
+2953 y FD(This)30 b(page)i(lists)g(the)f Fy(ncap2)f FD(op)s(erators)h
+(in)g(order)g(of)g(precedence)h(\(highest)f(to)h(lo)m(w)m(est\).)46
+b(Their)30 b(asso-)150 3063 y(ciativit)m(y)f(indicates)f(in)e(what)h
+(order)f(op)s(erators)h(of)g(equal)g(precedence)g(in)g(an)f(expression)
+h(are)g(applied.)150 3332 y Fq(Op)s(erator)382 b(Description)1773
+b(Asso)s(ciativit)m(y)150 3441 y Fy(++)30 b(--)526 b
+FD(P)m(ost\014x)30 b(Incremen)m(t/Decremen)m(t)1060 b(Righ)m(t)31
+b(to)g(Left)150 3551 y Fy(\(\))652 b FD(P)m(aren)m(theses)31
+b(\(function)f(call\))150 3661 y Fy(.)700 b FD(Metho)s(d)30
+b(call)150 3770 y Fy(++)g(--)526 b FD(Pre\014x)29 b(Incremen)m
+(t/Decremen)m(t)1098 b(Righ)m(t)31 b(to)g(Left)150 3880
+y Fy(+)f(-)622 b FD(Unary)30 b(Plus/Min)m(us)150 3989
+y Fy(!)700 b FD(Logical)32 b(Not)150 4099 y Fy(^)700
+b FD(P)m(o)m(w)m(er)31 b(of)g(Op)s(erator)1495 b(Righ)m(t)31
+b(to)g(Left)150 4208 y Fy(*)f(/)g(\045)544 b FD(Multiply/Divide/Mo)s
+(dulus)1196 b(Left)30 b(T)-8 b(o)31 b(Righ)m(t)150 4318
+y Fy(+)f(-)622 b FD(Addition/Subtraction)1371 b(Left)30
+b(T)-8 b(o)31 b(Righ)m(t)150 4428 y Fy(>>)f(<<)526 b
+FD(F)-8 b(ortran)31 b(st)m(yle)g(arra)m(y)g(clipping)1139
+b(Left)30 b(to)h(Righ)m(t)p 150 4528 1200 4 v 199 4595
+a Ft(3)301 4627 y Fs(ANSI)25 b(C)i(compilers)h(are)g(guaran)n(teed)f
+(to)g(supp)r(ort)f(double-precision)i(v)n(ersions)f(of)h(these)f
+(functions.)39 b(These)27 b(func-)275 4714 y(tions)36
+b(normally)h(op)r(erate)h(on)e(netCDF)g(v)l(ariables)i(of)f(t)n(yp)r(e)
+e Fr(NC_DOUBLE)k Fs(without)d(ha)n(ving)h(to)f(p)r(erform)h(in)n
+(trinsic)275 4801 y(con)n(v)n(ersions.)58 b(F)-6 b(or)33
+b(example,)j Fp(ANSI)e Fs(compilers)g(pro)n(vide)f Fr(sin)h
+Fs(for)g(the)f(sine)h(of)g(C-t)n(yp)r(e)f Fr(double)h
+Fs(v)l(ariables.)59 b(The)275 4888 y Fp(ANSI)22 b Fs(standard)g(do)r
+(es)h(not)g(require,)g(but)e(man)n(y)h(compilers)i(pro)n(vide,)e(an)h
+(extended)e(set)i(of)g(mathematical)h(functions)275 4975
+y(that)33 b(apply)g(to)g(single)i(\()p Fr(float)p Fs(\))f(and)f
+(quadruple)g(\()p Fr(long)26 b(double)p Fs(\))34 b(precision)h(v)l
+(ariables.)58 b(Using)34 b(these)g(functions)275 5063
+y(\(e.g.,)25 b Fr(sinf)f Fs(for)g Fr(float)p Fs(,)h Fr(sinl)f
+Fs(for)g Fr(long)j(double)p Fs(\),)e(when)e(a)n(v)l(ailable,)i(is)f
+(\(presumably\))f(more)h(e\016cien)n(t)f(than)g(casting)275
+5150 y(v)l(ariables)29 b(to)g(t)n(yp)r(e)f Fr(double)p
+Fs(,)j(p)r(erforming)f(the)e(op)r(eration,)j(and)d(then)g(re-casting.)
+45 b Fp(NCO)28 b Fs(uses)h(the)g(faster)g(in)n(trinsic)275
+5237 y(functions)d(when)f(they)g(are)h(a)n(v)l(ailable,)h(and)f(uses)g
+(the)f(casting)i(metho)r(d)e(when)h(they)e(are)j(not.)199
+5308 y Ft(4)275 5340 y Fs(Lin)n(ux)d(supp)r(orts)i(more)g(of)g(these)g
+(in)n(trinsic)g(functions)g(than)g(other)f(OSs.)p eop
+end
+%%Page: 151 157
+TeXDict begin 151 156 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(151)150
+299 y Fy(<)30 b(<=)574 b FD(Less)30 b(than/Less)g(than)g(or)h(equal)g
+(to)963 b(Left)30 b(to)h(Righ)m(t)150 408 y Fy(>)f(>=)574
+b FD(Greater)31 b(than/Greater)h(than)e(or)g(equal)h(to)150
+518 y Fy(==)f(!=)526 b FD(Equal)30 b(to/Not)j(equal)d(to)1346
+b(Left)30 b(to)h(Righ)m(t)150 628 y Fy(&&)652 b FD(Logical)32
+b(AND)1713 b(Left)30 b(to)h(Righ)m(t)150 737 y Fy(||)652
+b FD(Logical)32 b(OR)1780 b(Left)30 b(to)h(Righ)m(t)150
+847 y Fy(?:)652 b FD(T)-8 b(ernary)30 b(Op)s(erator)1526
+b(Righ)m(t)31 b(to)g(Left)150 956 y Fy(=)700 b FD(Assignmen)m(t)1772
+b(Righ)m(t)31 b(to)g(Left)150 1066 y Fy(+=)f(-=)526 b
+FD(Addition/subtraction)31 b(assignmen)m(t)150 1176 y
+Fy(*=)f(/=)526 b FD(Multiplication/division)33 b(assignmen)m(t)150
+1379 y Fu(4.1.27)63 b(ID)41 b(Quoting)150 1526 y FD(In)22
+b(this)g(section)i(when)e(I)g(refer)h(to)g(a)g(name)g(I)f(mean)h(a)g(v)
+-5 b(ariable)23 b(name,)i(attribute)e(name)g(or)f(a)i(dimension)150
+1636 y(name)i(The)f(allo)m(w)m(ed)i(c)m(haracters)g(in)e(a)h(v)-5
+b(alid)26 b(netCDF)g(name)g(v)-5 b(ary)25 b(from)g(release)i(to)f
+(release.)40 b(\(See)27 b(end)150 1745 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 1855 y(name)30 b(then)g(the)h(name)f(has)h(to)g(b)s(e)e
+(quoted)i(wherev)m(er)f(it)h(o)s(ccurs.)150 2017 y(The)f(default)g
+FC(NCO)h FD(name)f(is)g(sp)s(eci\014ed)g(b)m(y)g(the)h(regular)f
+(expressions:)390 2178 y Fy(DGT:)238 b(\('0'..'9'\);)390
+2288 y(LPH:)g(\()47 b('a'..'z')f(|)h('A'..'Z')f(|)h('_')g(\);)390
+2398 y(name:)190 b(\(LPH\)\(LPH|DGT\)+)150 2559 y FD(The)30
+b(\014rst)g(c)m(haracter)j(of)e(a)g(v)-5 b(alid)31 b(name)g(m)m(ust)g
+(b)s(e)f(alphab)s(etic)i(or)e(the)h(underscore.)42 b(An)m(y)31
+b(subsequen)m(t)150 2669 y(c)m(haracters)h(m)m(ust)e(b)s(e)g(alphan)m
+(umeric)g(or)h(underscore.)39 b(\()31 b(e.g.,)h(a1,)p
+2476 2669 28 4 v 41 w(23,)g(hell)p 2805 2669 V 40 w(is)p
+2906 2669 V 40 w(666)g(\))150 2830 y(The)e(v)-5 b(alid)31
+b(c)m(haracters)g(in)f(a)h(quoted)g(name)f(are)h(sp)s(eci\014ed)f(b)m
+(y)g(the)g(regular)h(expressions:)390 2992 y Fy(LPHDGT:)94
+b(\()47 b('a'..'z')f(|)h('A'..'Z')f(|)h('_')g(|)g('0'..'9'\);)390
+3102 y(name:)190 b(\(LPHDGT|'-'|'+'|'.'|'\(')o(|'\))o('|':)o(')42
+b(\)+)95 b(;)150 3263 y FD(Quote)31 b(a)f(v)-5 b(ariable:)150
+3373 y('a)m(vg')32 b(,)f('10)p 544 3373 V 41 w Fy(+)p
+FD(10','set)p 909 3373 V 42 w(miss')f(')p Fy(+)p FD(-90\014eld')i(,)e
+('{test'=10.0d)150 3592 y(Quote)h(a)f(attribute:)150
+3702 y('three at 10',)i('set)p 762 3702 V 41 w(mss@)p Fy(+)p
+FD(10',)e('666 at hell',)j('t1@)p Fy(+)p FD(units'=)p Fy(")p
+FD(k)m(elvin)p Fy(")150 3921 y FD(Quote)e(a)f(dimension:)150
+4030 y('$10',)i('$t1{',)h('${o)s(dd',)e(c1['$10','$t1{']=23.)q(0d)275
+4411 y(The)d(follo)m(wing)j(commen)m(ts)g(are)e(from)g(the)h(netCDF)g
+(library)f(de\014nitions)g(and)g(detail)h(the)g(naming)150
+4521 y(con)m(v)m(en)m(tions)i(for)f(eac)m(h)g(release.)42
+b(netcdf-3.5.1)150 4630 y(netcdf-3.6.0-p1)150 4740 y(netcdf-3.6.1)150
+4850 y(netcdf-3.6.2)390 5121 y Fy(/*)438 5230 y(*)47
+b(\()h([a-zA-Z]|[0-9]|'_'|'-'|)o('+'|)o('.')o(|'|')o(:'|')o(@'|)o
+('\('|)o('\)')41 b(\)+)438 5340 y(*)47 b(Verify)f(that)h(name)g(string)
+f(is)h(valid)f(CDL)h(syntax,)f(i.e.,)g(all)h(characters)e(are)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.2)j(User)d(Guide)438 299 y Fy(*)47 b(alphanumeric,)d('-',)j
+('_',)g('+',)f(or)h('.'.)438 408 y(*)g(Also)g(permit)f(':',)h('@',)f
+('\(',)h(or)g('\)')g(in)g(names)f(for)h(chemists)f(currently)f(making)
+438 518 y(*)i(use)g(of)g(these)g(characters,)d(but)j(don't)g(document)e
+(until)i(ncgen)f(and)h(ncdump)f(can)438 628 y(*)h(also)g(handle)f
+(these)g(characters)f(in)i(names.)438 737 y(*/)150 897
+y FD(netcdf-3.6.3)150 1006 y(netcdf-4.0)32 b(Final)f(2008/08/28)390
+1275 y Fy(/*)438 1385 y(*)47 b(Verify)f(that)h(a)g(name)g(string)f(is)h
+(valid)g(syntax.)93 b(The)47 b(allowed)f(name)438 1494
+y(*)h(syntax)f(\(in)h(RE)g(form\))g(is:)438 1604 y(*)438
+1714 y(*)g(\([a-zA-Z_]|{UTF8}\)\([^\\x00)o(-\\x1)o(F\\x)o(7F/])o(|{UT)o
+(F8})o(\)*)438 1823 y(*)438 1933 y(*)g(where)g(UTF8)f(represents)f(a)j
+(multibyte)d(UTF-8)h(encoding.)93 b(Also,)47 b(no)438
+2042 y(*)g(trailing)f(spaces)g(are)h(permitted)e(in)i(names.)94
+b(This)47 b(definition)438 2152 y(*)g(must)g(be)g(consistent)e(with)i
+(the)g(one)f(in)i(ncgen.l.)93 b(We)47 b(do)g(not)g(allow)g('/')438
+2262 y(*)g(because)f(HDF5)h(does)f(not)h(permit)f(slashes)g(in)h(names)
+g(as)g(slash)f(is)h(used)g(as)g(a)438 2371 y(*)g(group)g(separator.)92
+b(If)47 b(UTF-8)g(is)g(supported,)e(then)i(a)g(multi-byte)e(UTF-8)438
+2481 y(*)i(character)e(can)i(occur)g(anywhere)e(within)h(an)i
+(identifier.)92 b(We)47 b(later)438 2590 y(*)g(normalize)e(UTF-8)i
+(strings)f(to)h(NFC)g(to)g(facilitate)e(matching)g(and)i(queries.)438
+2700 y(*/)p eop end
+%%Page: 153 159
+TeXDict begin 153 158 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(153)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(])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(])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(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(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 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 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 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(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(180\).)275
+2082 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 y FD(global)32 b(attribute)g(\(see)g(Section)g
+(3.35)h([History)e(A)m(ttribute],)i(page)f(95\),)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(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(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 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(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(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(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
+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(69,)h(for)150
+3228 y(more)h(information.)275 3387 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
+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
+(\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
+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
+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
+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
+(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
+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
+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
+%%Page: 154 160
+TeXDict begin 154 159 bop 150 -116 a FD(154)2582 b FC(NCO)30
+b FD(4.4.2)j(User)d(Guide)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
+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
+(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
+(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
+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
+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
+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
+(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
+(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
+(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)
+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
+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
+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
+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
+(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(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
+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
+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
+(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
+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
+FD(.)p eop end
+%%Page: 155 161
+TeXDict begin 155 160 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(155)150
+299 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 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
+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
+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
+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
+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
+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(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(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
+(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
+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
+(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
+(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")
+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
+(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
+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
+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
+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
+(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
+%%Page: 156 162
+TeXDict begin 156 161 bop 150 -116 a FD(156)2582 b FC(NCO)30
+b FD(4.4.2)j(User)d(Guide)150 299 y(e.g.,)d 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)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 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(173,)j(for)c(more)150 847 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
+1015 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 1124 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 1234 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 1344 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 1453 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 1563 y(will)j(b)s(e)e(included)h(in)g
+(the)h(attribute.)275 1731 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 1840 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
+1950 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 2060 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
+2169 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 2279 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 2447 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 2556 y(strings.)41
+b(EXAMPLES)275 2724 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 2892 y Fy(ncatted)46
+b(-a)h(history,global,a,c,"Data)41 b(version)46 b(2.0\\n")g(in.nc)275
+3061 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
+3229 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 3338 y(is)c(to)i Fy(")p FD(temp)s(erature)p
+Fy(")p FD(:)390 3506 y Fy(ncatted)46 b(-a)h(long_name,T,o,c,temperat)o
+(ure)41 b(in.nc)275 3674 y FC(NCO)e FD(arithmetic)i(op)s(erators)f
+(will)g(not)f(w)m(ork)h(as)g(exp)s(ected)g(on)g(IEEE)f(NaN)h(\(short)g
+(for)f(Not-a-)150 3784 y(Num)m(b)s(er\))29 b(and)g(NaN-lik)m(e)j(n)m
+(um)m(b)s(ers)c(suc)m(h)i(as)g(p)s(ositiv)m(e)g(in\014nit)m(y)g(and)f
+(negativ)m(e)j(in\014nit)m(y)-8 b(.)40 b(One)30 b(w)m(a)m(y)g(to)150
+3893 y(w)m(ork-around)k(this)g(problem)g(is)g(to)h(c)m(hange)h(IEEE)e
+(NaNs)h(to)g(normal)f(missing)g(v)-5 b(alues.)53 b(As)35
+b(of)f FC(NCO)150 4003 y FD(4.1.0)f(\(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 4113 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(IEEE)f(NaN)h
+(v)-5 b(alue.)390 4281 y Fy(ncatted)46 b(-a)h(_FillValue,,o,f,NaN)c
+(in.nc)275 4449 y FD(Then)35 b(c)m(hange)j(the)e(missing)g(v)-5
+b(alue)37 b(from)f(the)h(IEEE)f(NaN)h(v)-5 b(alue)37
+b(to)g(a)g(normal)f(IEEE)g(n)m(um)m(b)s(er,)150 4558
+y(lik)m(e)c(1.0e36)g(\(or)f(to)g(whatev)m(er)g(the)g(original)h
+(missing)e(v)-5 b(alue)31 b(w)m(as\).)390 4726 y Fy(ncatted)46
+b(-a)h(_FillValue,,m,f,1.0e36)42 b(in.nc)275 4894 y FD(Delete)32
+b(all)f(existing)h Fy(units)d FD(attributes:)390 5062
+y Fy(ncatted)46 b(-a)h(units,,d,,)e(in.nc)150 5230 y
+FD(The)29 b(v)-5 b(alue)30 b(of)g Fz(v)-5 b(ar)p 803
+5230 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 5340 y Fz(att)p 271
+5340 V 41 w(t)m(yp)s(e)36 b FD(and)30 b Fz(att)p 814
+5340 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.)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)275
+299 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 460 y Fy(ncatted)46 b(-a)h(,tpt,d,,)f(-a)h(,global,d,,)
+d(in.nc)150 620 y FD(The)d(v)-5 b(alue)41 b(of)h Fz(att)p
+829 620 28 4 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
+730 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 891 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 1051 y Fy(ncatted)46 b(-a)h(units,,m,c,"meter)c
+(second-1")i(in.nc)275 1212 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 1322 y(acters)f(are)g(`)p Fy(H2O)p FD(':)390
+1482 y Fy(ncatted)46 b(-a)h(units,'^H2O',c,c,"kilogr)o(am)42
+b(kilogram-1")i(in.nc)275 1643 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
+1804 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 1965 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 2074 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
+2184 y(their)i(names.)390 2345 y Fy(ncatted)46 b(-O)h(-a)g
+(isotope,'^H2O*',c,s,"18")41 b(in.nc)275 2505 y FD(See)30
+b(Section)h(3.11)h([Subsetting)f(Files],)g(page)h(40)f(for)f(more)g
+(details.)275 2666 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 2776 y(names)30 b(of)h(attributes,)g(v)-5
+b(ariables,)31 b(dimensions,)f(and)g(groups.)390 2936
+y Fy(#)47 b(Overwrite)f(units)g(attribute)f(of)j(specific)d('lon')h
+(variable)390 3046 y(ncatted)g(-O)h(-a)g(units,/g1/lon,o,c,"degree)o
+(s_we)o(st")41 b(in_grp.nc)390 3156 y(#)47 b(Overwrite)f(units)g
+(attribute)f(of)j(all)e('lon')h(variables)390 3265 y(ncatted)f(-O)h(-a)
+g(units,lon,o,c,"degrees_we)o(st")41 b(in_grp.nc)390
+3375 y(#)47 b(Delete)g(units)f(attribute)f(of)i(all)g('lon')g
+(variables)390 3484 y(ncatted)f(-O)h(-a)g(units,lon,d,,)d(in_grp.nc)390
+3594 y(#)j(Overwrite)f(units)g(attribute)f(with)i(new)g(type)g(for)f
+(specific)g('lon')g(variable)390 3703 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
+3813 y(#)47 b(Add)g(new_att)f(attribute)f(to)j(all)f(variables)390
+3923 y(ncatted)f(-O)h(-a)g(new_att,,c,sng,"new)c(variable)i(attribute")
+g(in_grp.nc)390 4032 y(#)i(Add)g(new_grp_att)e(group)h(attribute)g(to)h
+(all)g(groups)390 4142 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 4251
+y(#)i(Add)g(new_grp_att)e(group)h(attribute)g(to)h(single)f(group)390
+4361 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 4471 y(#)i(Add)g(new_glb_att)e
+(global)h(attribute)f(to)j(root)e(group)390 4580 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 4741 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 4850 y(\(e.g.,)32 b Fy(\\")p
+FD(\))390 5011 y Fy(ncatted)46 b(-h)h(-a)g(special,global,o,c,)390
+5121 y('\\nDouble)e(quote:)h(\\"\\nTwo)g(consecutive)f(double)h
+(quotes:)g(\\"\\"\\n)390 5230 y(Single)g(quote:)g(Beyond)g(my)h(shell)g
+(abilities!\\nBackslash:)42 b(\\\\\\n)390 5340 y(Two)47
+b(consecutive)e(backslashes:)f(\\\\\\\\\\nQuestion)g(mark:)i(\\?\\n')h
+(in.nc)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.2)j(User)d(Guide)275 299 y(Note)i(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 408 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: 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 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(plc])h([--cnk_scl)f(sz])390 868 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 978
+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 1087 y([-L)i Fn(dfl_lvl)p
+Fy(])e([-l)i Fn(path)p Fy(])g([--no_tmp_fl])390 1197
+y([-O])g([-o)g Fn(file_3)p Fy(])e([-p)i Fn(path)p Fy(])g([-R])f([-r])h
+([--ram_all])390 1306 y([-t)g Fn(thr_nbr)p Fy(])e([--unn])h([-v)h
+Fn(var)p Fy([,...)n(]])g([-X)g(...])g([-x])f([-y)h Fn(op_typ)p
+Fy(])390 1416 y Fn(file_1)f(file_2)g Fy([)p Fn(file_3)p
+Fy(])150 1607 y FD(DESCRIPTION)275 1797 y Fy(ncbo)32
+b FD(p)s(erforms)g(binary)g(op)s(erations)i(on)f(v)-5
+b(ariables)34 b(in)f Fz(\014le)p 2356 1797 28 4 v 41
+w(1)41 b FD(and)32 b(the)i(corresp)s(onding)e(v)-5 b(ariables)150
+1907 y(\(those)32 b(with)e(the)h(same)h(name\))f(in)g
+Fz(\014le)p 1524 1907 V 40 w(2)38 b FD(and)31 b(stores)g(the)g(results)
+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(69,)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
+Fy(-y)30 b Fn(op_typ)p FD(')39 b(switc)m(h)j(\(or)150
+2345 y(long)e(options)h(`)p Fy(--op_typ)p FD(')d(or)i(`)p
+Fy(--operation)p FD('\).)67 b(The)39 b(v)-5 b(alid)40
+b(binary)g(op)s(erations)g(for)g Fy(ncbo)p FD(,)h(their)150
+2455 y(de\014nitions,)30 b(corresp)s(onding)f(v)-5 b(alues)31
+b(of)g(the)f Fz(op)p 1832 2455 V 40 w(t)m(yp)k FD(k)m(ey)-8
+b(,)31 b(and)f(alternate)i(in)m(v)m(o)s(cations)h(are:)150
+2702 y Fz(Addition)129 b FD(De\014nition:)41 b Fz(\014le)p
+1210 2702 V 40 w(3)d FD(=)31 b Fz(\014le)p 1551 2702
+V 40 w(1)38 b Fy(+)30 b Fz(\014le)p 1868 2702 V 40 w(2)630
+2811 y FD(Alternate)i(in)m(v)m(o)s(cation:)43 b Fy(ncadd)630
+2921 y Fz(op)p 732 2921 V 40 w(t)m(yp)33 b FD(k)m(ey)e(v)-5
+b(alues:)42 b(`)p Fy(add)p FD(',)30 b(`)p Fy(+)p FD(',)h(`)p
+Fy(addition)p FD(')630 3030 y(Examples:)41 b(`)p Fy(ncbo)29
+b(--op_typ=add)e(1.nc)i(2.nc)h(3.nc)p FD(',)f(`)p Fy(ncadd)h(1.nc)f
+(2.nc)g(3.nc)p FD(')150 3362 y Fz(Subtraction)630 3472
+y FD(De\014nition:)41 b Fz(\014le)p 1210 3472 V 40 w(3)d
+FD(=)31 b Fz(\014le)p 1551 3472 V 40 w(1)38 b FD(-)30
+b Fz(\014le)p 1850 3472 V 40 w(2)630 3581 y FD(Alternate)i(in)m(v)m(o)s
+(cations:)42 b Fy(ncdiff)p FD(,)29 b Fy(ncsub)p FD(,)h
+Fy(ncsubtract)630 3691 y Fz(op)p 732 3691 V 40 w(t)m(yp)j
+FD(k)m(ey)e(v)-5 b(alues:)42 b(`)p Fy(sbt)p FD(',)30
+b(`)p Fy(-)p FD(',)h(`)p Fy(dff)p FD(',)f(`)p Fy(diff)p
+FD(',)g(`)p Fy(sub)p FD(',)g(`)p Fy(subtract)p FD(',)f(`)p
+Fy(subtraction)p FD(')630 3800 y(Examples:)41 b(`)p Fy(ncbo)29
+b(--op_typ=-)f(1.nc)h(2.nc)g(3.nc)p FD(',)h(`)p Fy(ncdiff)f(1.nc)g
+(2.nc)g(3.nc)p FD(')150 4132 y Fz(Multiplication)630
+4241 y FD(De\014nition:)41 b Fz(\014le)p 1210 4241 V
+40 w(3)d FD(=)31 b Fz(\014le)p 1551 4241 V 40 w(1)38
+b FD(*)30 b Fz(\014le)p 1865 4241 V 41 w(2)630 4351 y
+FD(Alternate)i(in)m(v)m(o)s(cations:)42 b Fy(ncmult)p
+FD(,)29 b Fy(ncmultiply)630 4461 y Fz(op)p 732 4461 V
+40 w(t)m(yp)k FD(k)m(ey)e(v)-5 b(alues:)42 b(`)p Fy(mlt)p
+FD(',)30 b(`)p Fy(*)p FD(',)h(`)p Fy(mult)p FD(',)f(`)p
+Fy(multiply)p FD(',)e(`)p Fy(multiplication)p FD(')630
+4570 y(Examples:)41 b(`)p Fy(ncbo)29 b(--op_typ=mlt)e(1.nc)i(2.nc)h
+(3.nc)p FD(',)f(`)p Fy(ncmult)g(1.nc)g(2.nc)h(3.nc)p
+FD(')150 4902 y Fz(Division)156 b FD(De\014nition:)41
+b Fz(\014le)p 1210 4902 V 40 w(3)d FD(=)31 b Fz(\014le)p
+1551 4902 V 40 w(1)38 b FD(/)30 b Fz(\014le)p 1865 4902
+V 41 w(2)630 5011 y FD(Alternate)i(in)m(v)m(o)s(cation:)43
+b Fy(ncdivide)630 5121 y Fz(op)p 732 5121 V 40 w(t)m(yp)33
+b FD(k)m(ey)e(v)-5 b(alues:)42 b(`)p Fy(dvd)p FD(',)30
+b(`)p Fy(/)p FD(',)h(`)p Fy(divide)p FD(',)e(`)p Fy(division)p
+FD(')630 5230 y(Examples:)41 b(`)p Fy(ncbo)29 b(--op_typ=/)f(1.nc)h
+(2.nc)g(3.nc)p FD(',)h(`)p Fy(ncdivide)e(1.nc)h(2.nc)h(3.nc)p
+FD(')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.2)j(User)d(Guide)150 299 y(Care)i(should)g(b)s(e)g(tak)m(en)h
+(when)e(using)h(the)h(shortest)g(form)e(of)i(k)m(ey)g(v)-5
+b(alues,)34 b(i.e.,)g(`)p Fy(+)p FD(',)f(`)p Fy(-)p FD(',)g(`)p
+Fy(*)p FD(',)h(and)c(`)p Fy(/)p FD('.)150 408 y(Some)43
+b(of)h(these)g(single)g(c)m(haracters)h(ma)m(y)f(ha)m(v)m(e)h(sp)s
+(ecial)f(meanings)f(to)h(the)g(shell)3149 375 y Ft(1)3186
+408 y FD(.)80 b(Place)44 b(these)150 518 y(c)m(haracters)34
+b(inside)f(quotes)g(to)h(k)m(eep)g(them)e(from)h(b)s(eing)f(in)m
+(terpreted)h(\(globb)s(ed\))h(b)m(y)e(the)h(shell)3506
+485 y Ft(2)3544 518 y FD(.)48 b(F)-8 b(or)150 628 y(example,)31
+b(the)g(follo)m(wing)h(commands)e(are)g(equiv)-5 b(alen)m(t)390
+798 y Fy(ncbo)47 b(--op_typ=*)e(1.nc)h(2.nc)h(3.nc)g(#)g(Dangerous)e
+(\(shell)h(may)h(try)g(to)g(glob\))390 908 y(ncbo)g(--op_typ='*')d
+(1.nc)j(2.nc)f(3.nc)h(#)g(Safe)g(\('*')g(protected)e(from)i(shell\))390
+1017 y(ncbo)g(--op_typ="*")d(1.nc)j(2.nc)f(3.nc)h(#)g(Safe)g(\('*')g
+(protected)e(from)i(shell\))390 1127 y(ncbo)g(--op_typ=mlt)d(1.nc)j
+(2.nc)f(3.nc)390 1236 y(ncbo)h(--op_typ=mult)d(1.nc)i(2.nc)h(3.nc)390
+1346 y(ncbo)g(--op_typ=multiply)c(1.nc)j(2.nc)h(3.nc)390
+1456 y(ncbo)g(--op_typ=multiplication)41 b(1.nc)47 b(2.nc)f(3.nc)390
+1565 y(ncmult)g(1.nc)h(2.nc)f(3.nc)h(#)g(First)g(do)g('ln)g(-s)g(ncbo)g
+(ncmult')390 1675 y(ncmultiply)e(1.nc)i(2.nc)f(3.nc)h(#)g(First)g(do)g
+('ln)g(-s)g(ncbo)g(ncmultiply')275 1845 y FD(No)27 b(particular)g
+(argumen)m(t)h(or)f(in)m(v)m(o)s(cation)i(form)d(is)h(preferred.)39
+b(Users)26 b(are)i(encouraged)f(to)h(use)f(the)150 1955
+y(forms)j(whic)m(h)g(are)h(most)f(in)m(tuitiv)m(e)i(to)g(them.)275
+2125 y(Normally)-8 b(,)42 b Fy(ncbo)c FD(will)i(fail)g(unless)e(an)h
+(op)s(eration)h(t)m(yp)s(e)f(is)g(sp)s(eci\014ed)f(with)h(`)p
+Fy(-y)p FD(')g(\(equiv)-5 b(alen)m(t)41 b(to)150 2235
+y(`)p Fy(--op_typ)p FD('\).)84 b(Y)-8 b(ou)46 b(ma)m(y)g(create)g
+(exceptions)h(to)f(this)f(rule)g(to)h(suit)f(y)m(our)g(particular)h
+(tastes,)k(in)150 2344 y(conformance)22 b(with)g(y)m(our)f(site's)i(p)s
+(olicy)f(on)f Fz(sym)m(b)s(olic)h(links)j FD(to)e(executables)g
+(\(\014les)f(of)g(a)g(di\013eren)m(t)g(name)150 2454
+y(p)s(oin)m(t)28 b(to)g(the)g(actual)i(executable\).)41
+b(F)-8 b(or)29 b(man)m(y)f(y)m(ears,)h Fy(ncdiff)d FD(w)m(as)j(the)f
+(main)f(binary)g(\014le)h(op)s(erator.)150 2563 y(As)45
+b(a)h(result,)j(man)m(y)d(users)e(prefer)h(to)h(con)m(tin)m(ue)h(in)m
+(v)m(oking)f Fy(ncdiff)e FD(rather)h(than)g(memorizing)i(a)150
+2673 y(new)30 b(command)f(\(`)p Fy(ncbo)h(-y)g Fn(sbt)p
+FD('\))g(whic)m(h)g(b)s(eha)m(v)m(es)g(iden)m(tically)i(to)f(the)f
+(original)i Fy(ncdiff)c FD(command.)150 2783 y(Ho)m(w)m(ev)m(er,)43
+b(from)c(a)g(soft)m(w)m(are)i(main)m(tenance)f(standp)s(oin)m(t,)h
+(main)m(taining)f(a)f(distinct)h(executable)g(for)150
+2892 y(eac)m(h)27 b(binary)f(op)s(eration)g(\(e.g.,)j
+Fy(ncadd)p FD(\))c(is)h(un)m(tenable,)i(and)d(a)i(single)f(executable,)
+j Fy(ncbo)p FD(,)d(is)h(desirable.)150 3002 y(T)-8 b(o)31
+b(main)m(tain)h(bac)m(kw)m(ard)f(compatibilit)m(y)-8
+b(,)33 b(therefore,)e FC(NCO)g FD(automatically)i(creates)f(a)f(sym)m
+(b)s(olic)g(link)150 3111 y(from)24 b Fy(ncbo)g FD(to)i
+Fy(ncdiff)p FD(.)37 b(Th)m(us)24 b Fy(ncdiff)f FD(is)i(called)i(an)d
+Fz(alternate)j(in)m(v)m(o)s(cation)g FD(of)e Fy(ncbo)p
+FD(.)38 b Fy(ncbo)24 b FD(supp)s(orts)150 3221 y(man)m(y)32
+b(additional)h(alternate)h(in)m(v)m(o)s(cations)g(whic)m(h)d(m)m(ust)h
+(b)s(e)g(man)m(ually)g(activ)-5 b(ated.)48 b(Should)31
+b(users)g(or)150 3330 y(system)39 b(adminitrators)h(decide)f(to)h
+(activ)-5 b(ate)41 b(them,)h(the)d(pro)s(cedure)f(is)h(simple.)66
+b(F)-8 b(or)40 b(example,)i(to)150 3440 y(use)c(`)p Fy(ncadd)p
+FD(')g(instead)g(of)h(`)p Fy(ncbo)29 b(--op_typ=add)p
+FD(',)38 b(simply)g(create)i(a)f(sym)m(b)s(olic)g(link)f(from)g
+Fy(ncbo)f FD(to)150 3550 y Fy(ncadd)390 3517 y Ft(3)426
+3550 y FD(.)64 b(The)38 b(alternatate)i(in)m(v)m(o)s(cations)g(supp)s
+(orted)d(for)h(eac)m(h)h(op)s(eration)g(t)m(yp)s(e)f(are)h(listed)f(ab)
+s(o)m(v)m(e.)150 3659 y(Alternativ)m(ely)-8 b(,)33 b(users)d(ma)m(y)h
+(alw)m(a)m(ys)h(de\014ne)d(`)p Fy(ncadd)p FD(')h(as)h(an)f
+Fz(alias)35 b FD(to)c(`)p Fy(ncbo)f(--op_typ=add)p FD(')3425
+3626 y Ft(4)3459 3659 y FD(.)275 3830 y(It)50 b(is)h(imp)s(ortan)m(t)g
+(to)g(main)m(tain)h(p)s(ortabilit)m(y)f(in)f FC(NCO)h
+FD(scripts.)101 b(Therefore)50 b(w)m(e)h(recommend)150
+3939 y(that)56 b(site-sp)s(ec\014c)g(in)m(v)m(o)s(cations)i(\(e.g.,)64
+b(`)p Fy(ncadd)p FD('\))55 b(b)s(e)g(used)f(only)i(in)f(in)m(teractiv)m
+(e)k(sessions)c(from)150 4049 y(the)d(command-line.)106
+b(F)-8 b(or)52 b(scripts,)57 b(w)m(e)c(recommend)e(using)g(the)h(full)g
+(in)m(v)m(o)s(cation)i(\(e.g.,)59 b(`)p Fy(ncbo)150 4158
+y(--op_typ=add)p FD('\).)38 b(This)30 b(ensures)f(p)s(ortabilit)m(y)i
+(of)g(scripts)f(b)s(et)m(w)m(een)h(users)f(and)f(sites.)275
+4329 y Fy(ncbo)40 b FD(op)s(erates)i(\(e.g.,)47 b(adds\))41
+b(v)-5 b(ariables)42 b(in)f Fz(\014le)p 2008 4329 28
+4 v 41 w(2)49 b FD(with)41 b(the)h(corresp)s(onding)f(v)-5
+b(ariables)42 b(\(those)150 4438 y(with)34 b(the)h(same)f(name\))h(in)f
+Fz(\014le)p 1267 4438 V 40 w(1)42 b FD(and)34 b(stores)g(the)h(results)
+f(in)g Fz(\014le)p 2517 4438 V 40 w(3)p FD(.)53 b(V)-8
+b(ariables)36 b(in)e Fz(\014le)p 3305 4438 V 40 w(1)42
+b FD(or)34 b Fz(\014le)p 3663 4438 V 40 w(2)p 150 4583
+1200 4 v 199 4650 a Ft(1)275 4682 y Fs(A)25 b(nak)n(ed)i(\(i.e.,)i
+(unprotected)e(or)h(unquoted\))e(`)p Fr(*)p Fs(')j(is)f(a)g(wildcard)h
+(c)n(haracter.)41 b(A)25 b(nak)n(ed)i(`)p Fr(-)p Fs(')i(ma)n(y)e
+(confuse)i(the)e(com-)275 4769 y(mand)e(line)h(parser.)35
+b(A)25 b(nak)n(ed)g(`)p Fr(+)p Fs(')i(and)e(`)p Fr(/)p
+Fs(')h(are)h(relativ)n(ely)f(harmless.)199 4841 y Ft(2)275
+4872 y Fs(The)18 b(widely)h(used)f(shell)i(Bash)f(correctly)g(in)n
+(terprets)f(all)i(these)f(sp)r(ecial)h(c)n(haracters)f(ev)n(en)f(when)g
+(they)g(are)h(not)f(quoted.)275 4960 y(That)23 b(is,)i(Bash)f(do)r(es)g
+(not)f(prev)n(en)n(t)f Fp(NCO)h Fs(from)h(correctly)g(in)n(terpreting)f
+(the)g(in)n(tended)g(arithmetic)h(op)r(eration)g(when)275
+5047 y(the)h(follo)n(wing)k(argumen)n(ts)d(are)g(giv)n(en)g(\(without)g
+(quotes\))f(to)i Fr(ncbo)p Fs(:)35 b(`)p Fr(--op_typ=+)p
+Fs(',)30 b(`)p Fr(--op_typ=-)p Fs(',)f(`)p Fr(--op_typ=*)p
+Fs(',)275 5134 y(and)c(`)p Fr(--op_typ=/)p Fs(')199 5205
+y Ft(3)275 5237 y Fs(The)g(command)h(to)g(do)g(this)g(is)g(`)p
+Fr(ln)g(-s)g(-f)g(ncbo)h(ncadd)p Fs(')199 5308 y Ft(4)275
+5340 y Fs(The)e(command)h(to)g(do)g(this)g(is)g(`)p Fr(alias)h
+(ncadd='ncbo)h(--op_typ=add')p Fs(')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)150
+299 y(are)28 b 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 FD(is)h(completely)h(symmetric)f(with)g(resp)s(ect)g(to)g
+Fz(\014le)p 2420 408 28 4 v 40 w(1)51 b FD(and)42 b Fz(\014le)p
+2861 408 V 40 w(2)p FD(,)47 b(i.e.,)g(\014le)3315 422
+y Ft(1)3381 408 y FA(\000)28 b FD(\014le)3596 422 y Ft(2)3679
+408 y FD(=)150 518 y FA(\000)p FD(\(\014le)372 532 y
+Ft(2)430 518 y FA(\000)20 b FD(\014le)637 532 y Ft(1)674
+518 y FD(\).)275 679 y(Broadcasting)27 b(a)g(v)-5 b(ariable)27
+b(means)f(creating)h(data)g(in)f(non-existing)h(dimensions)e(b)m(y)h
+(cop)m(ying)h(data)150 789 y(in)g(existing)i(dimensions.)39
+b(F)-8 b(or)29 b(example,)g(a)f(t)m(w)m(o)h(dimensional)f(v)-5
+b(ariable)28 b(in)g Fz(\014le)p 2931 789 V 40 w(2)35
+b FD(can)28 b(b)s(e)f(subtracted)150 898 y(from)38 b(a)h(four,)h
+(three,)h(or)d(t)m(w)m(o)i(\(not)f(one)f(or)h(zero\))g(dimensional)g(v)
+-5 b(ariable)39 b(\(of)g(the)g(same)f(name\))h(in)150
+1008 y Fy(file_1)p FD(.)56 b(This)36 b(functionalit)m(y)i(allo)m(ws)f
+(the)f(user)g(to)h(compute)f(anomalies)i(from)e(the)g(mean.)58
+b(In)36 b(the)150 1118 y(future,)g(w)m(e)g(will)g(broadcast)g(v)-5
+b(ariables)36 b(in)f Fz(\014le)p 1803 1118 V 40 w(1)p
+FD(,)i(if)f(necessary)f(to)i(conform)e(to)h(their)g(coun)m(terparts)150
+1227 y(in)c Fz(\014le)p 380 1227 V 40 w(2)p FD(.)48 b(Th)m(us,)32
+b(presen)m(tly)-8 b(,)34 b(the)e(n)m(um)m(b)s(er)f(of)i(dimensions,)g
+(or)f Fz(rank)p FD(,)h(of)f(an)m(y)h(pro)s(cessed)f(v)-5
+b(ariable)33 b(in)150 1337 y Fz(\014le)p 272 1337 V 40
+w(1)41 b FD(m)m(ust)33 b(b)s(e)g(greater)i(than)e(or)g(equal)h(to)h
+(the)e(rank)g(of)h(the)f(same)h(v)-5 b(ariable)34 b(in)f
+Fz(\014le)p 3190 1337 V 40 w(2)p FD(.)51 b(Of)33 b(course,)150
+1446 y(the)e(size)g(of)f(all)i(dimensions)d(common)i(to)g(b)s(oth)f
+Fz(\014le)p 1986 1446 V 40 w(1)38 b FD(and)30 b Fz(\014le)p
+2402 1446 V 40 w(2)38 b FD(m)m(ust)30 b(b)s(e)g(equal.)275
+1608 y(When)c(computing)g(anomalies)i(from)e(the)h(mean)f(it)h(is)g
+(often)f(the)h(case)h(that)f Fz(\014le)p 3056 1608 V
+40 w(2)34 b FD(w)m(as)27 b(created)g(b)m(y)150 1717 y(applying)k(an)h
+(a)m(v)m(eraging)i(op)s(erator)e(to)g(a)g(\014le)g(with)f(initially)i
+(the)f(same)g(dimensions)f(as)h Fz(\014le)p 3397 1717
+V 40 w(1)39 b FD(\(often)150 1827 y Fz(\014le)p 272 1827
+V 40 w(1)e FD(itself)7 b(\).)41 b(In)28 b(these)h(cases,)i(creating)f
+Fz(\014le)p 1750 1827 V 40 w(2)36 b FD(with)29 b Fy(ncra)f
+FD(rather)g(than)h Fy(ncwa)f FD(will)h(cause)g(the)g
+Fy(ncbo)150 1936 y FD(op)s(eration)37 b(to)h(fail.)61
+b(F)-8 b(or)37 b(concreteness)h(sa)m(y)f(the)h(record)e(dimension)g(in)
+h Fy(file_1)e FD(is)i Fy(time)p FD(.)59 b(If)36 b Fz(\014le)p
+3663 1936 V 40 w(2)150 2046 y FD(w)m(ere)j(created)g(b)m(y)f(a)m(v)m
+(eraging)j Fz(\014le)p 1365 2046 V 40 w(1)46 b FD(o)m(v)m(er)40
+b(the)e Fy(time)f FD(dimension)h(with)g(the)g Fy(ncra)f
+FD(op)s(erator)i(rather)150 2156 y(than)33 b(with)h(the)g
+Fy(ncwa)e FD(op)s(erator,)j(then)f Fz(\014le)p 1689 2156
+V 40 w(2)41 b FD(will)34 b(ha)m(v)m(e)h(a)f Fy(time)e
+FD(dimension)i(of)f(size)f(1)i(rather)f(than)150 2265
+y(ha)m(ving)k(no)g Fy(time)f FD(dimension)g(at)i(all)1496
+2232 y Ft(6)1534 2265 y FD(.)60 b(In)36 b(this)h(case)g(the)g(input)f
+(\014les)h(to)h Fy(ncbo)p FD(,)f Fz(\014le)p 3216 2265
+V 40 w(1)45 b FD(and)36 b Fz(\014le)p 3645 2265 V 40
+w(2)p FD(,)150 2375 y(will)c(ha)m(v)m(e)g(unequally)f(sized)g
+Fy(time)f FD(dimensions)h(whic)m(h)g(causes)g Fy(ncbo)f
+FD(to)i(fail.)44 b(T)-8 b(o)32 b(prev)m(en)m(t)f(this)g(from)150
+2484 y(o)s(ccuring,)g(use)f Fy(ncwa)f FD(to)i(remo)m(v)m(e)h(the)e
+Fy(time)g FD(dimension)f(from)h Fz(\014le)p 2486 2484
+V 41 w(2)p FD(.)41 b(See)30 b(the)h(example)g(b)s(elo)m(w.)275
+2646 y Fy(ncbo)26 b FD(nev)m(er)j(op)s(erates)f(on)g(co)s(ordinate)h(v)
+-5 b(ariables)29 b(or)f(v)-5 b(ariables)29 b(of)f(t)m(yp)s(e)g
+Fy(NC_CHAR)e FD(or)i Fy(NC_STRING)p FD(.)150 2755 y(This)33
+b(ensures)g(that)h(co)s(ordinates)h(lik)m(e)g(\(e.g.,)h(latitude)f(and)
+e(longitude\))i(are)f(ph)m(ysically)h(meaningful)150
+2865 y(in)h(the)g(output)g(\014le,)i Fz(\014le)p 1029
+2865 V 40 w(3)p FD(.)58 b(This)36 b(b)s(eha)m(vior)g(is)g(hardco)s
+(ded.)57 b Fy(ncbo)35 b FD(applies)h(sp)s(ecial)h(rules)f(to)h(some)150
+2974 y FC(CF)p FD(-de\014ned)44 b(\(and/or)h FC(NCAR)c(CCSM)k
+FD(or)g FC(NCAR)c(CCM)k FD(\014elds\))f(suc)m(h)g(as)h
+Fy(ORO)p FD(.)83 b(See)45 b(Section)g(3.37)150 3084 y([CF)33
+b(Con)m(v)m(en)m(tions],)j(page)e(96)g(for)f(a)h(complete)g
+(description.)50 b(Finally)-8 b(,)35 b(w)m(e)f(note)g(that)g
+Fy(ncflint)d FD(\(see)150 3194 y(Section)23 b(4.6)g([nc\015in)m(t)f
+(netCDF)h(File)g(In)m(terp)s(olator],)i(page)e(170\))h(is)e(designed)g
+(for)g(\014le)g(in)m(terp)s(olation.)39 b(As)150 3303
+y(suc)m(h,)29 b(it)g(also)h(p)s(erforms)d(\014le)i(subtraction,)g
+(addition,)g(m)m(ultiplication,)j(alb)s(eit)d(in)f(a)h(more)g(con)m(v)m
+(oluted)150 3413 y(w)m(a)m(y)i(than)f Fy(ncbo)p FD(.)275
+3574 y(Beginning)48 b(with)g FC(NCO)f FD(v)m(ersion)i(4.3.1)h(\(Ma)m(y)
+-8 b(,)54 b(2013\),)h Fy(ncbo)47 b FD(supp)s(orts)f Fz(group)h
+(broadcasting)p FD(.)150 3684 y(Group)41 b(broadcasting)h(means)f(pro)s
+(cessing)g(data)h(based)g(on)f(group)g(patterns)g(in)g(the)h(input)e
+(\014le\(s\))150 3793 y(and)27 b(automatically)j(transferring)d(or)g
+(transforming)g(groups)g(to)h(the)g(output)f(\014le.)40
+b(Consider)26 b(the)i(case)150 3903 y(where)37 b Fz(\014le)p
+542 3903 V 41 w(1)45 b FD(con)m(tains)39 b(m)m(ultiple)g(groups)e(eac)m
+(h)i(with)f(the)g(v)-5 b(ariable)38 b Fz(v1)p FD(,)j(while)d
+Fz(\014le)p 3161 3903 V 40 w(2)45 b FD(con)m(tains)39
+b Fz(v1)150 4012 y FD(only)27 b(in)g(its)g(top-lev)m(el)j(\(i.e.,)f(ro)
+s(ot\))f(group.)39 b(Then)26 b Fy(ncbo)g FD(will)h(replicate)i(the)e
+(group)f(structure)h(of)g Fz(\014le)p 3663 4012 V 40
+w(1)150 4122 y FD(in)39 b(the)h(output)f(\014le,)j Fz(\014le)p
+1043 4122 V 40 w(3)p FD(.)68 b(Eac)m(h)40 b(group)f(in)g
+Fz(\014le)p 1954 4122 V 40 w(3)47 b FD(con)m(tains)40
+b(the)g(output)f(of)g(the)h(corresp)s(onding)150 4231
+y(group)31 b(in)f Fz(\014le)p 637 4231 V 41 w(1)38 b
+FD(op)s(erating)32 b(on)f(the)g(data)h(in)f(the)g(single)h(group)e(in)h
+Fz(\014le)p 2660 4231 V 40 w(2)p FD(.)44 b(An)30 b(example)i(is)f(pro)m
+(vided)150 4341 y(b)s(elo)m(w.)150 4502 y(EXAMPLES)275
+4664 y(Sa)m(y)37 b(\014les)g Fy(85_0112.nc)e FD(and)h
+Fy(86_0112.nc)f FD(eac)m(h)j(con)m(tain)h(12)f(mon)m(ths)f(of)g(data.)
+62 b(Compute)37 b(the)150 4773 y(c)m(hange)32 b(in)e(the)g(mon)m(thly)h
+(a)m(v)m(erages)i(from)c(1985)k(to)e(1986:)p 150 4876
+1200 4 v 199 4944 a Ft(5)305 4975 y Fs(Prior)h(to)f Fp(NCO)f
+Fs(v)n(ersion)h(4.3.1)h(\(Ma)n(y)-6 b(,)32 b(2013\),)i
+Fr(ncbo)d Fs(w)n(ould)g(only)g(broadcast)g(v)l(ariables)h(in)e
+Fm(\014le)p 3177 4975 24 4 v 34 w(2)37 b Fs(to)31 b(conform)h(to)275
+5063 y Fm(\014le)p 378 5063 V 33 w(1)p Fs(.)j(V)-6 b(ariables)27
+b(in)e Fm(\014le)p 1026 5063 V 34 w(1)32 b Fs(w)n(ere)26
+b Fj(never)35 b Fs(broadcast)27 b(to)f(conform)g(to)g(the)g(dimensions)
+g(in)g Fm(\014le)p 3071 5063 V 33 w(2)p Fs(.)199 5134
+y Ft(6)275 5166 y Fs(This)i(is)h(b)r(ecause)f Fr(ncra)h
+Fs(collapses)h(the)d(record)h(dimension)h(to)f(a)g(size)h(of)d(1)i
+(\(making)g(it)g(a)h Fm(degenerate)j Fs(dimension\),)275
+5253 y(but)20 b(do)r(es)i(not)f(remo)n(v)n(e)h(it,)g(while,)i(unless)e
+(`)p Fr(-b)p Fs(')g(is)g(giv)n(en,)h Fr(ncwa)f Fs(remo)n(v)n(es)g(all)g
+(a)n(v)n(eraged)g(dimensions.)34 b(In)20 b(other)i(w)n(ords,)275
+5340 y(b)n(y)h(default)j Fr(ncra)g Fs(c)n(hanges)f(v)l(ariable)h(size)g
+(though)e(not)h(rank,)g(while,)h Fr(ncwa)g Fs(c)n(hanges)f(b)r(oth)g(v)
+l(ariable)h(size)f(and)g(rank.)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.2)j(User)d(Guide)390 299 y Fy(ncbo)142 b(86_0112.nc)45
+b(85_0112.nc)g(86m85_0112.nc)390 408 y(ncdiff)h(86_0112.nc)f
+(85_0112.nc)g(86m85_0112.nc)390 518 y(ncbo)i(--op_typ=sub)d(86_0112.nc)
+h(85_0112.nc)g(86m85_0112.nc)390 628 y(ncbo)i(--op_typ='-')d
+(86_0112.nc)h(85_0112.nc)g(86m85_0112.nc)150 788 y FD(These)30
+b(commands)g(are)h(all)g(di\013eren)m(t)g(w)m(a)m(ys)g(of)g(expressing)
+f(the)g(same)h(thing.)275 948 y(The)h(follo)m(wing)j(examples)f
+(demonstrate)f(the)h(broadcasting)g(feature)f(of)h Fy(ncbo)p
+FD(.)48 b(Sa)m(y)33 b(w)m(e)h(wish)e(to)150 1058 y(compute)25
+b(the)f(mon)m(thly)g(anomalies)i(of)e Fy(T)g FD(from)g(the)g(y)m(early)
+i(a)m(v)m(erage)h(of)d Fy(T)g FD(for)g(the)g(y)m(ear)h(1985.)41
+b(First)24 b(w)m(e)150 1167 y(create)33 b(the)e(1985)h(a)m(v)m(erage)i
+(from)d(the)g(mon)m(thly)g(data,)h(whic)m(h)f(is)g(stored)g(with)f(the)
+i(record)f(dimension)150 1277 y Fy(time)p FD(.)390 1437
+y Fy(ncra)47 b(85_0112.nc)e(85.nc)390 1547 y(ncwa)i(-O)g(-a)g(time)g
+(85.nc)f(85.nc)150 1707 y FD(The)23 b(second)h(command,)h
+Fy(ncwa)p FD(,)f(gets)h(rid)d(of)i(the)g Fy(time)f FD(dimension)g(of)g
+(size)32 b(1)24 b(that)g Fy(ncra)e FD(left)j(in)e Fy(85.nc)p
+FD(.)150 1816 y(No)m(w)37 b(none)f(of)h(the)g(v)-5 b(ariables)37
+b(in)f Fy(85.nc)f FD(has)h(a)h Fy(time)e FD(dimension.)59
+b(A)30 b(quic)m(k)m(er)38 b(w)m(a)m(y)f(to)g(accomplish)150
+1926 y(this)30 b(is)h(to)g(use)f Fy(ncwa)f FD(from)h(the)h(b)s
+(eginning:)390 2086 y Fy(ncwa)47 b(-a)g(time)f(85_0112.nc)f(85.nc)150
+2246 y FD(W)-8 b(e)32 b(are)e(no)m(w)h(ready)f(to)h(use)f
+Fy(ncbo)f FD(to)i(compute)g(the)g(anomalies)g(for)g(1985:)390
+2406 y Fy(ncdiff)46 b(-v)h(T)h(85_0112.nc)d(85.nc)h(t_anm_85_0112.nc)
+150 2567 y FD(Eac)m(h)28 b(of)f(the)g(12)h(records)f(in)g
+Fy(t_anm_85_0112.nc)c FD(no)m(w)k(con)m(tains)h(the)g(mon)m(thly)f
+(deviation)h(of)g Fy(T)e FD(from)150 2676 y(the)31 b(ann)m(ual)f(mean)g
+(of)h Fy(T)f FD(for)g(eac)m(h)i(gridp)s(oin)m(t.)275
+2836 y(Sa)m(y)f(w)m(e)h(wish)e(to)i(compute)g(the)f(mon)m(thly)h(gridp)
+s(oin)m(t)f(anomalies)i(from)e(the)g(zonal)h(ann)m(ual)g(mean.)150
+2946 y(A)e Fz(zonal)i(mean)i FD(is)f(a)i(quan)m(tit)m(y)g(that)f(has)f
+(b)s(een)g(a)m(v)m(eraged)j(o)m(v)m(er)f(the)f(longitudinal)h(\(or)f
+Fz(x)6 b FD(\))34 b(direction.)150 3055 y(First)g(w)m(e)h(use)f
+Fy(ncwa)f FD(to)h(a)m(v)m(erage)j(o)m(v)m(er)e(longitudinal)g
+(direction)g Fy(lon)p FD(,)f(creating)h Fy(85_x.nc)p
+FD(,)f(the)g(zonal)150 3165 y(mean)g(of)g Fy(85.nc)p
+FD(.)51 b(Then)33 b(w)m(e)h(use)g Fy(ncbo)f FD(to)i(subtract)f(the)g
+(zonal)h(ann)m(ual)f(means)g(from)f(the)i(mon)m(thly)150
+3275 y(gridp)s(oin)m(t)30 b(data:)390 3435 y Fy(ncwa)47
+b(-a)g(lon)g(85.nc)f(85_x.nc)390 3544 y(ncdiff)g(85_0112.nc)f(85_x.nc)h
+(tx_anm_85_0112.nc)150 3705 y FD(This)22 b(examples)h(w)m(orks)f
+(assuming)g Fy(85_0112.nc)e FD(has)i(dimensions)g Fy(time)g
+FD(and)f Fy(lon)p FD(,)j(and)e(that)h Fy(85_x.nc)150
+3814 y FD(has)30 b(no)g Fy(time)g FD(or)g Fy(lon)f FD(dimension.)275
+3974 y(Group)g(broadcasting)i(simpli\014es)f(ev)-5 b(aluation)31
+b(of)g(m)m(ultiple)g(mo)s(dels)e(against)j(observ)-5
+b(ations.)41 b(Con-)150 4084 y(sider)d(the)h(input)e(\014le)i
+Fy(cmip5.nc)d FD(whic)m(h)j(con)m(tains)g(m)m(ultiple)h(top-lev)m(el)h
+(groups)c Fy(cesm)p FD(,)j Fy(ecmwf)p FD(,)g(and)150
+4194 y Fy(giss)p FD(,)d(eac)m(h)g(of)g(whic)m(h)f(con)m(tains)h(the)g
+(surface)f(air)h(temp)s(erature)f(\014eld)g Fy(tas)p
+FD(.)57 b(W)-8 b(e)38 b(wish)d(to)i(compare)150 4303
+y(these)44 b(mo)s(dels)g(to)g(observ)-5 b(ations)44 b(stored)g(in)g
+Fy(obs.nc)e FD(whic)m(h)h(con)m(tains)i Fy(tas)e FD(only)h(in)f(its)i
+(top-lev)m(el)150 4413 y(\(i.e.,)39 b(ro)s(ot\))d(group.)57
+b(It)36 b(is)g(often)g(the)g(case)h(that)f(man)m(y)g(mo)s(dels)g
+(and/or)g(mo)s(del)f(sim)m(ulations)i(exist,)150 4522
+y(whereas)32 b(only)g(one)h(observ)-5 b(ational)34 b(dataset)f(do)s
+(es.)46 b(W)-8 b(e)34 b(ev)-5 b(aluate)34 b(the)e(mo)s(dels)g(and)g
+(obtain)g(the)h(bias)150 4632 y(\(di\013erence\))c(b)s(et)m(w)m(een)g
+(mo)s(dels)e(and)g(observ)-5 b(ations)29 b(b)m(y)f(subtracting)g
+Fy(obs.nc)e FD(from)h Fy(cmip5.nc)p FD(.)38 b(Then)150
+4741 y Fy(ncbo)30 b FD(\\broadcasts")i(\(i.e.,)h(replicates\))g(the)e
+(observ)-5 b(ational)33 b(data)f(to)f(matc)m(h)h(the)g(group)e
+(structure)h(of)150 4851 y Fy(cmip5.nc)p FD(,)e(subtracts,)i(and)g
+(then)f(stores)i(the)f(results)g(in)f(the)h(output)g(\014le,)g
+Fy(bias.nc)e FD(whic)m(h)i(has)g(the)150 4961 y(same)g(group)f
+(structure)g(as)g Fy(cmip5.nc)p FD(.)390 5121 y Fy(\045)47
+b(ncbo)g(-O)g(cmip5.nc)f(obs.nc)g(bias.nc)390 5230 y(\045)h(ncks)g(-H)g
+(-v)g(tas)g(-d)h(time,3)e(bias.nc)390 5340 y(/cesm/tas)p
+eop end
+%%Page: 163 169
+TeXDict begin 163 168 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(163)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)m(ears)g(of)g(mon)m(thly)f
+(data)h(\(i.e.,)j(60)31 b(mon)m(ths\))36 b(stored)f(in)150
+1056 y Fy(8501_8912.nc)26 b FD(and)k(w)m(e)g(wish)f(to)i(create)g(a)f
+(\014le)g(whic)m(h)g(con)m(tains)h(the)f(t)m(w)m(elv)m(e)i(mon)m(th)e
+(seasonal)h(cycle)150 1166 y(of)24 b(the)h(a)m(v)m(erage)h(mon)m(thly)f
+(anomaly)g(from)e(the)i(\014v)m(e-y)m(ear)g(mean)g(of)f(this)g(data.)39
+b(The)24 b(follo)m(wing)h(metho)s(d)150 1275 y(is)33
+b(just)f(one)h(p)s(erm)m(utation)g(of)g(man)m(y)f(whic)m(h)h(will)g
+(accomplish)g(the)g(same)g(result.)48 b(First)33 b(use)g
+Fy(ncwa)e FD(to)150 1385 y(create)h(the)e(\014v)m(e-y)m(ear)i(mean:)390
+1544 y Fy(ncwa)47 b(-a)g(time)f(8501_8912.nc)f(8589.nc)150
+1704 y FD(Next)f(use)f Fy(ncbo)f FD(to)h(create)i(a)e(\014le)h(con)m
+(taining)g(the)f(di\013erence)h(of)f(eac)m(h)h(mon)m(th's)f(data)h
+(from)f(the)150 1813 y(\014v)m(e-y)m(ear)32 b(mean:)390
+1973 y Fy(ncbo)47 b(8501_8912.nc)d(8589.nc)i(t_anm_8501_8912.nc)150
+2132 y FD(No)m(w)38 b(use)f Fy(ncks)f FD(to)i(group)f(together)i(the)f
+(\014v)m(e)f(Jan)m(uary)g(anomalies)i(in)e(one)h(\014le,)h(and)e(use)g
+Fy(ncra)f FD(to)150 2242 y(create)30 b(the)f(a)m(v)m(erage)i(anomaly)f
+(for)e(all)i(\014v)m(e)f(Jan)m(uarys.)39 b(These)29 b(commands)f(are)h
+(em)m(b)s(edded)e(in)i(a)g(shell)150 2351 y(lo)s(op)h(so)h(they)g(are)f
+(rep)s(eated)h(for)f(all)h(t)m(w)m(elv)m(e)i(mon)m(ths:)390
+2511 y Fy(for)47 b(idx)g(in)g({1..12};)f(do)h(#)g(Bash)g(Shell)f
+(\(version)g(3.0+\))485 2620 y(idx=`printf)f("\04502d")h(${idx}`)g(#)i
+(Zero-pad)d(to)i(preserve)f(order)485 2730 y(ncks)h(-F)g(-d)g
+(time,${idx},,12)d(t_anm_8501_8912.nc)f(foo.${idx})485
+2839 y(ncra)k(foo.${idx})e(t_anm_8589_${idx}.nc)390 2949
+y(done)390 3059 y(for)i(idx)g(in)g(01)g(02)g(03)h(04)f(05)g(06)g(07)g
+(08)g(09)h(10)f(11)g(12;)g(do)g(#)h(Bourne)e(Shell)485
+3168 y(ncks)h(-F)g(-d)g(time,${idx},,12)d(t_anm_8501_8912.nc)f
+(foo.${idx})485 3278 y(ncra)k(foo.${idx})e(t_anm_8589_${idx}.nc)390
+3387 y(done)390 3497 y(foreach)h(idx)h(\(01)g(02)g(03)g(04)g(05)g(06)h
+(07)f(08)g(09)g(10)g(11)g(12\))g(#)h(C)f(Shell)485 3606
+y(ncks)g(-F)g(-d)g(time,${idx},,12)d(t_anm_8501_8912.nc)f(foo.${idx})
+485 3716 y(ncra)k(foo.${idx})e(t_anm_8589_${idx}.nc)390
+3826 y(end)150 3985 y FD(Note)39 b(that)g Fy(ncra)d FD(understands)g
+(the)i Fy(stride)e FD(argumen)m(t)j(so)f(the)g(t)m(w)m(o)h(commands)e
+(inside)h(the)g(lo)s(op)150 4095 y(ma)m(y)31 b(b)s(e)f(com)m(bined)g
+(in)m(to)i(the)e(single)h(command)390 4254 y Fy(ncra)47
+b(-F)g(-d)g(time,${idx},,12)d(t_anm_8501_8912.nc)e(foo.${idx})150
+4413 y FD(Finally)-8 b(,)37 b(use)d Fy(ncrcat)f FD(to)i(concatenate)i
+(the)d(12)d(a)m(v)m(erage)37 b(mon)m(thly)e(anomaly)g(\014les)f(in)m
+(to)i(one)e(t)m(w)m(elv)m(e-)150 4523 y(record)c(\014le)h(whic)m(h)f
+(con)m(tains)h(the)g(en)m(tire)g(seasonal)h(cycle)g(of)e(the)h(mon)m
+(thly)f(anomalies:)390 4682 y Fy(ncrcat)46 b(t_anm_8589_??.nc)d
+(t_anm_8589_0112.nc)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.2)j(User)d(Guide)150 299 y FB(4.4)68 b Fc(nces)43
+b FB(netCDF)i(Ensem)l(ble)h(Statistics)150 458 y FD(SYNT)-8
+b(AX)390 621 y Fy(nces)47 b([-3])f([-4])h([-6])g([-7])f([-A])h([-C])f
+([-c])390 731 y([--cnk_dmn)f(nm,sz])h([--cnk_map)f(map])i([--cnk_plc)e
+(plc])h([--cnk_scl)f(sz])390 840 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 950 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 1059 y([-L)i Fn(dfl_lvl)p Fy(])e([-l)i
+Fn(path)p Fy(])g([-n)g Fn(loop)p Fy(])f([--no_tmp_fl])e([--nsm_fl|grp])
+g([--nsm_sfx)h(sfx])390 1169 y([-O])i([-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 1279 y([-t)j Fn(thr_nbr)p Fy(])e([--unn])h([-v)h
+Fn(var)p Fy([,...)n(]])g([-X)g(...])g([-x])f([-y)h Fn(op_typ)p
+Fy(])390 1388 y([)p Fn(input-files)p Fy(])d([)p Fn(output-file)p
+Fy(])150 1551 y FD(DESCRIPTION)275 1714 y Fy(nces)22
+b FD(p)s(erforms)g(gridp)s(oin)m(t)h(statistics)j(on)d(v)-5
+b(ariables)24 b(across)g(an)g(arbitrary)f(n)m(um)m(b)s(er)f(\(an)i
+Fz(ensem)m(ble)5 b FD(\))150 1823 y(of)29 b Fz(input-\014les)i
+FD(and/or)e(of)f(input)g(groups)g(within)g(eac)m(h)i(\014le.)40
+b(Eac)m(h)29 b(\014le)g(\(or)f(group\))h(receiv)m(es)h(an)e(equal)150
+1933 y(w)m(eigh)m(t.)61 b Fy(nces)35 b FD(w)m(as)i(formerly)f(\(un)m
+(til)h FC(NCO)g FD(v)m(ersion)f(4.3.9,)41 b(released)c(Decem)m(b)s(er,)
+i(2013\))g(kno)m(wn)d(as)150 2042 y Fy(ncea)23 b FD(\(netCDF)j(Ensem)m
+(ble)e(Av)m(erager\))1538 2009 y Ft(1)1577 2042 y FD(.)39
+b(F)-8 b(or)25 b(example,)i Fy(nces)c FD(will)i(a)m(v)m(erage)i(a)e
+(set)g(of)f(\014les)h(or)f(groups,)150 2152 y(w)m(eigh)m(ting)f(eac)m
+(h)g(\014le)f(or)f(group)g(ev)m(enly)-8 b(.)39 b(This)21
+b(is)h(distinct)g(from)f Fy(ncra)p FD(,)h(whic)m(h)f(p)s(erforms)f
+(statistics)k(only)150 2262 y(o)m(v)m(er)29 b(the)e(record)h
+(dimension\(s\))f(\(e.g.,)j Fz(time)5 b FD(\),)29 b(and)e(w)m(eigh)m
+(ts)i(eac)m(h)f(record)g(in)f(eac)m(h)h(record)g(dimension)150
+2371 y(ev)m(enly)-8 b(.)275 2534 y(The)39 b(\014le)i(or)f(group)g(is)g
+(the)h(logical)h(unit)e(of)h(organization)h(for)e(the)h(results)f(of)g
+(man)m(y)h(scien)m(ti\014c)150 2643 y(studies.)k(Often)32
+b(one)g(wishes)g(to)g(generate)i(a)e(\014le)g(or)g(group)g(whic)m(h)f
+(is)h(the)h(statistical)h(pro)s(duct)d(\(e.g.,)150 2753
+y(a)m(v)m(erage\))48 b(of)e(man)m(y)f(separate)i(\014les)e(or)g
+(groups.)85 b(This)44 b(ma)m(y)i(b)s(e)f(to)h(reduce)f(statistical)j
+(noise)e(b)m(y)150 2863 y(com)m(bining)37 b(the)h(results)e(of)i(a)f
+(large)h(n)m(um)m(b)s(er)e(of)h(exp)s(erimen)m(ts,)i(or)e(it)g(ma)m(y)h
+(simply)e(b)s(e)g(a)i(step)f(in)g(a)150 2972 y(pro)s(cedure)c(whose)g
+(goal)j(is)d(to)i(compute)f(anomalies)h(from)e(a)i(mean)e(state.)53
+b(In)33 b(an)m(y)h(case,)i(when)d(one)150 3082 y(desires)25
+b(to)g(generate)h(a)f(\014le)g(whose)g(statistical)i(prop)s(erties)d
+(are)h(equally)h(in\015uenced)e(b)m(y)g(all)i(the)f(inputs,)150
+3191 y(then)30 b Fy(nces)f FD(is)i(the)f(op)s(erator)h(to)g(use.)275
+3354 y(V)-8 b(ariables)40 b(in)e(the)h Fz(output-\014le)k
+FD(are)d(the)e(same)h(size)h(as)f(the)g(v)-5 b(ariable)39
+b(h)m(yp)s(erslab)f(in)g(eac)m(h)i(input)150 3464 y(\014le)30
+b(or)f(group,)h(and)f(eac)m(h)h(input)f(\014le)h(or)f(group)g(m)m(ust)g
+(b)s(e)g(the)h(same)g(size)h(after)f(h)m(yp)s(erslabbing)3494
+3431 y Ft(2)3559 3464 y Fy(nces)150 3573 y FD(do)s(es)g(allo)m(w)i
+(\014les)e(to)h(di\013er)f(in)g(the)g(record)h(dimension)e(size)j(if)e
+(the)g(requested)g(record)h(h)m(yp)s(erslab)e(\(see)150
+3683 y(Section)j(3.15)i([Hyp)s(erslabs],)d(page)i(53\))g(resolv)m(es)f
+(to)h(the)f(same)g(size)g(for)f(all)i(\014les.)44 b Fy(nces)31
+b FD(recomputes)150 3792 y(the)i(record)g(dimension)g(h)m(yp)s(erslab)f
+(limits)i(for)f(eac)m(h)h(input)e(\014le)h(so)g(that)h(co)s(ordinate)g
+(limits)g(ma)m(y)g(b)s(e)150 3902 y(used)d(to)i(select)h(equal)f
+(length)f(timeseries)h(from)f(unequal)g(length)g(\014les.)46
+b(This)31 b(simpli\014es)h(analysis)h(of)150 4012 y(unequal)d(length)h
+(timeseries)g(from)f(sim)m(ulation)h(ensem)m(bles)g(\(e.g.,)h(the)f
+FC(CMIP3)e(IPCC)h(AR4)g FD(arc)m(hiv)m(e\).)275 4174
+y Fy(nces)40 b FD(w)m(orks)i(in)f(one)h(of)g(t)m(w)m(o)h(mo)s(des,)h
+(\014le)e(ensem)m(bles)g(or)g(group)f(ensem)m(bles.)75
+b(File)43 b(ensem)m(bles)150 4284 y(are)e(the)f(default)h(\(equiv)-5
+b(alen)m(t)42 b(to)f(the)g(old)f Fy(ncea)p FD(\))g(and)g(ma)m(y)h(also)
+g(b)s(e)f(explicitly)i(sp)s(eci\014ed)d(b)m(y)i(the)150
+4394 y(`)p Fy(--nsm_fl)p FD(')25 b(or)h(`)p Fy(--ensemble_file)p
+FD(')d(switc)m(hes.)41 b(T)-8 b(o)27 b(p)s(erform)e(statistics)j(on)f
+(ensem)m(bles)g(of)g(groups,)g(a)150 4503 y(new)m(er)k(feature,)i(use)e
+(`)p Fy(--nsm_grp)p FD(')e(or)i(`)p Fy(--ensemble_group)p
+FD('.)40 b(Mem)m(b)s(ers)31 b(of)g(a)h(group)f(ensem)m(ble)h(are)p
+150 4615 1200 4 v 199 4682 a Ft(1)310 4714 y Fs(The)37
+b(old)f(ncea)g(command)h(w)n(as)f(deprecated)g(in)g Fp(NCO)g
+Fs(v)n(ersion)g(4.3.9,)41 b(released)c(Decem)n(b)r(er,)i(2013.)67
+b Fp(NCO)36 b Fs(will)275 4801 y(attempt)30 b(to)g(main)n(tain)h(bac)n
+(k-compatibilit)n(y)g(and)f(w)n(ork)g(as)h(exp)r(ected)f(with)h(in)n(v)
+n(o)r(cations)g(of)g Fr(ncea)h Fs(for)f(as)g(long)g(as)275
+4888 y(p)r(ossible.)k(Please)27 b(replace)g Fr(ncea)f
+Fs(b)n(y)f Fr(nces)i Fs(in)e(all)i(future)e(w)n(ork.)199
+4960 y Ft(2)275 4991 y Fs(As)c(of)h Fp(NCO)g Fs(v)n(ersion)g(4.4.2)h
+(\(released)g(F)-6 b(ebruary)g(,)21 b(2014\))i Fr(nces)g
+Fs(allo)n(ws)g(h)n(yp)r(erslabs)f(in)f(all)i(dimensions)f(so)h(long)f
+(as)g(the)275 5078 y(h)n(yp)r(erslabs)27 b(resolv)n(e)i(to)f(the)g
+(same)h(size.)42 b(The)28 b(\014xed)f(\(i.e.,)j(non-record\))d
+(dimensions)i(should)f(b)r(e)g(the)f(same)i(size)g(in)275
+5166 y(all)f(ensem)n(ble)f(mem)n(b)r(ers)g(b)r(oth)g(b)r(efore)h(and)e
+(after)i(h)n(yp)r(erslabbing,)f(although)h(the)e(h)n(ypserslabs)i(ma)n
+(y)e(\(and)h(usually)275 5253 y(do\))i(c)n(hange)g(the)g(size)h(of)h
+(the)e(dimensions)h(from)g(the)f(input)f(to)i(the)f(output)f(\014les.)
+46 b(Prior)30 b(to)g(this,)h Fr(nces)f Fs(w)n(as)g(only)275
+5340 y(guaran)n(teed)25 b(to)h(w)n(ork)g(on)g(h)n(yp)r(erslabs)f(in)h
+(the)f(record)h(dimension)g(that)g(resolv)n(ed)g(to)g(the)f(same)h
+(size.)p eop end
+%%Page: 165 171
+TeXDict begin 165 170 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(165)150
+299 y(groups)34 b(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 b(Their)35 b(con)m(ten)m(ts)h
+(usually)e(ha)m(v)m(e)i(di\013eren)m(t)g(v)-5 b(alues)150
+518 y(b)s(ecause)43 b(they)g(are)h(realizations)h(of)f(replicated)g
+(exp)s(erimen)m(ts.)79 b(In)42 b(group)h(ensem)m(ble)g(mo)s(de)g
+Fy(nces)150 628 y FD(computes)27 b(the)f(statistics)j(across)e(the)f
+(ensem)m(ble,)i(whic)m(h)e(ma)m(y)h(span)f(m)m(ultiple)h(input)f
+(\014les.)39 b(Files)27 b(ma)m(y)150 737 y(con)m(tain)h(mem)m(b)s(ers)d
+(of)h(m)m(ultiple,)i(distinct)f(ensem)m(bles.)39 b(Ho)m(w)m(ev)m(er,)30
+b(all)d(ensem)m(bles)f(m)m(ust)g(ha)m(v)m(e)i(at)f(least)150
+847 y(one)34 b(mem)m(b)s(er)f(in)g(the)h(\014rst)e(input)h(\014le.)50
+b(Group)33 b(ensem)m(bles)h(b)s(eha)m(v)m(e)g(as)g(an)g(unlimited)f
+(dimension)g(of)150 956 y(datasets:)43 b(they)31 b(ma)m(y)h(con)m(tain)
+g(an)f(arbitrary)g(and)f(extensible)i(n)m(um)m(b)s(er)e(of)h
+(realizations)i(in)d(eac)m(h)j(\014le,)150 1066 y(and)d(ma)m(y)h(b)s(e)
+e(comp)s(osed)i(from)f(m)m(ultiple)h(\014les.)275 1230
+y(Output)19 b(statistics)k(in)d(group)g(ensem)m(ble)h(mo)s(de)f(are)h
+(stored)g(in)g(the)f(paren)m(t)h(group)f(b)m(y)h(default.)38
+b(If)20 b(the)150 1340 y(ensem)m(ble)h(mem)m(b)s(ers)f(are)h
+Fy(/cesm/cesm_01)c FD(and)j Fy(/cesm/cesm_02)p FD(,)f(then)i(the)f
+(computed)h(statistic)i(will)150 1450 y(b)s(e)f(in)h
+Fy(/cesm)e FD(in)h(the)h(output)g(\014le.)38 b(The)22
+b(`)p Fy(--nsm_sfx)p FD(')f(option)i(instructs)g(nces)f(to)i(instead)f
+(store)g(output)150 1559 y(in)f(a)g(new)f(c)m(hild)h(group)g(of)g(the)g
+(paren)m(t)g(created)h(b)m(y)e(attac)m(hing)k(the)d(su\016x)e(to)j(the)
+f(paren)m(t)g(group's)g(name,)150 1669 y(e.g.,)32 b(`)p
+Fy(--nsm_sfx='_avg')p FD(')26 b(w)m(ould)31 b(store)f(results)h(in)f
+(the)g(output)g(group)g Fy(/cesm/cesm_avg)p FD(:)390
+1833 y Fy(nces)47 b(--nsm_grp)856 b(mdl1.nc)46 b(mdl2.nc)g(mdl3.nc)g
+(out.nc)390 1943 y(nces)h(--nsm_grp)e(--nsm_sfx='_avg')e(mdl1.nc)j
+(mdl2.nc)g(mdl3.nc)g(out.nc)275 2107 y FD(See)32 b(Section)h(2.6)h
+([Statistics)g(vs.)46 b(Concatenation],)35 b(page)e(18,)h(for)e(a)h
+(description)g(of)f(the)h(distinc-)150 2217 y(tions)40
+b(b)s(et)m(w)m(een)g(the)g(statistics)h(to)s(ols)f(and)f
+(concatenators.)70 b(As)40 b(a)g(m)m(ulti-\014le)g(op)s(erator,)i
+Fy(nces)d FD(will)150 2326 y(read)33 b(the)g(list)g(of)h
+Fz(input-\014les)i FD(from)c Fy(stdin)f FD(if)i(they)g(are)h(not)f(sp)s
+(eci\014ed)f(as)h(p)s(ositional)h(argumen)m(ts)f(on)150
+2436 y(the)e(command)f(line)g(\(see)i(Section)f(2.7)g([Large)h(Num)m(b)
+s(ers)d(of)h(Files],)i(page)f(19\).)275 2600 y(Lik)m(e)43
+b Fy(ncra)f FD(and)g Fy(ncwa)p FD(,)j Fy(nces)c FD(treats)j(co)s
+(ordinate)f(v)-5 b(ariables)44 b(as)f(a)g(sp)s(ecial)g(case.)79
+b(Co)s(ordinate)150 2710 y(v)-5 b(ariables)34 b(are)f(assumed)f(to)i(b)
+s(e)e(the)i(same)f(in)g(all)h(ensem)m(ble)f(mem)m(b)s(ers,)g(so)h
+Fy(nces)d FD(simply)i(copies)h(the)150 2819 y(co)s(ordinate)42
+b(v)-5 b(ariables)41 b(that)g(app)s(ear)f(in)h(ensem)m(ble)g(mem)m(b)s
+(ers)f(directly)h(to)h(the)f(output)f(\014le.)72 b(This)150
+2929 y(has)32 b(the)g(same)h(e\013ect)g(as)g(a)m(v)m(eraging)h(the)f
+(co)s(ordinate)f(v)-5 b(ariable)33 b(across)g(the)f(ensem)m(ble,)i(y)m
+(et)f(do)s(es)f(not)150 3039 y(incur)38 b(the)h(time-)g(or)g
+(precision-)g(p)s(enalties)g(of)f(actually)i(a)m(v)m(eraging)h(them.)66
+b Fy(ncra)37 b FD(and)h Fy(ncwa)f FD(allo)m(w)150 3148
+y(co)s(ordinate)43 b(v)-5 b(ariables)43 b(to)g(b)s(e)f(pro)s(cessed)f
+(only)i(b)m(y)f(the)h(linear)f(a)m(v)m(erage)j(op)s(eration,)h
+(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(81\).)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
+b(\(ev)m(en)h(though)f Fy(nces)f FD(simply)g(copies)i(them\).)57
+b(All)37 b(other)150 3587 y(requested)27 b(arithmetic)h(op)s(erations)f
+(\(e.g.,)j(maximization,)f(square-ro)s(ot,)f(RMS\))f(are)h(applied)e
+(only)h(to)150 3696 y(non-co)s(ordinate)36 b(v)-5 b(ariables.)55
+b(In)34 b(these)h(cases)h(the)f(linear)g(a)m(v)m(erage)j(of)d(the)g(co)
+s(ordinate)h(v)-5 b(ariable)36 b(will)150 3806 y(b)s(e)30
+b(returned.)150 3970 y(EXAMPLES)275 4134 y(Consider)h(a)i(mo)s(del)f
+(exp)s(erimen)m(t)g(whic)m(h)g(generated)i(\014v)m(e)e(realizations)j
+(of)d(one)h(y)m(ear)g(of)f(data,)i(sa)m(y)150 4244 y(1985.)42
+b(Imagine)29 b(that)h(the)e(exp)s(erimen)m(ter)h(sligh)m(tly)h(p)s
+(erturbs)d(the)i(initial)h(conditions)f(of)g(the)g(problem)150
+4354 y(b)s(efore)22 b(generating)j(eac)m(h)e(new)g(solution.)39
+b(Assume)22 b(eac)m(h)i(\014le)f(con)m(tains)h(all)f(t)m(w)m(elv)m(e)j
+(mon)m(ths)c(\(a)i(seasonal)150 4463 y(cycle\))30 b(of)f(data)g(and)e
+(w)m(e)i(w)m(an)m(t)g(to)h(pro)s(duce)d(a)h(single)h(\014le)g(con)m
+(taining)h(the)e(ensem)m(ble)h(a)m(v)m(erage)i(\(mean\))150
+4573 y(seasonal)37 b(cycle.)59 b(Here)37 b(the)f(n)m(umeric)g
+(\014lename)g(su\016x)f(denotes)i(the)f(realization)i(n)m(um)m(b)s(er)d
+(\()p Fo(not)46 b FD(the)150 4682 y(mon)m(th\):)390 4847
+y Fy(nces)h(85_01.nc)e(85_02.nc)h(85_03.nc)f(85_04.nc)h(85_05.nc)f
+(85.nc)390 4956 y(nces)i(85_0[1-5].nc)d(85.nc)390 5066
+y(nces)j(-n)g(5,2,1)f(85_01.nc)g(85.nc)150 5230 y FD(These)30
+b(three)g(commands)f(pro)s(duce)g(iden)m(tical)i(answ)m(ers.)41
+b(See)30 b(Section)g(3.5)h([Sp)s(ecifying)f(Input)e(Files],)150
+5340 y(page)39 b(28,)j(for)c(an)h(explanation)h(of)e(the)h
+(distinctions)g(b)s(et)m(w)m(een)h(these)f(metho)s(ds.)64
+b(The)38 b(output)h(\014le,)p eop end
+%%Page: 166 172
+TeXDict begin 166 171 bop 150 -116 a FD(166)2582 b FC(NCO)30
+b FD(4.4.2)j(User)d(Guide)150 299 y Fy(85.nc)p FD(,)i(is)h(the)g(same)h
+(size)g(as)f(the)g(inputs)f(\014les.)48 b(It)33 b(con)m(tains)h(12)g
+(mon)m(ths)f(of)g(data)g(\(whic)m(h)g(migh)m(t)h(or)150
+408 y(migh)m(t)d(not)g(b)s(e)f(stored)h(in)f(the)h(record)g(dimension,)
+f(dep)s(ending)f(on)i(the)g(input)e(\014les\),)j(but)e(eac)m(h)h(v)-5
+b(alue)150 518 y(in)30 b(the)h(output)f(\014le)g(is)g(the)h(a)m(v)m
+(erage)i(of)e(the)f(\014v)m(e)h(v)-5 b(alues)31 b(in)f(the)g(input)g
+(\014les.)275 677 y(In)f(the)h(previous)g(example,)h(the)f(user)f
+(could)h(ha)m(v)m(e)i(obtained)e(the)g(ensem)m(ble)h(a)m(v)m(erage)h(v)
+-5 b(alues)31 b(in)f(a)150 787 y(particular)h(spatio-temp)s(oral)g
+(region)g(b)m(y)g(adding)f(a)g(h)m(yp)s(erslab)g(argumen)m(t)h(to)g
+(the)f(command,)h(e.g.,)390 946 y Fy(nces)47 b(-d)g(time,0,2)e(-d)j
+(lat,-23.5,23.5)43 b(85_??.nc)j(85.nc)150 1106 y FD(In)33
+b(this)h(case)h(the)e(output)h(\014le)g(w)m(ould)f(con)m(tain)i(only)f
+(three)g(slices)h(of)f(data)g(in)g(the)g Fz(time)39 b
+FD(dimension.)150 1215 y(These)29 b(three)g(slices)h(are)f(the)g(a)m(v)
+m(erage)j(of)d(the)g(\014rst)f(three)h(slices)h(from)e(the)h(input)f
+(\014les.)40 b(Additionally)-8 b(,)150 1325 y(only)30
+b(data)i(inside)e(the)g(tropics)h(is)f(included.)275
+1484 y(As)e(of)h FC(NCO)f FD(v)m(ersion)h(4.3.9)i(\(released)f(Decem)m
+(b)s(er,)g(2013\))h Fy(nces)c FD(also)j(w)m(orks)e(with)h(groups)f
+(\(rather)150 1594 y(than)33 b(\014les\))g(as)g(the)h(fundamen)m(tal)e
+(unit)h(of)g(the)g(ensem)m(ble.)49 b(Consider)33 b(t)m(w)m(o)h(ensem)m
+(bles,)g Fy(/ecmwf)e FD(and)150 1704 y Fy(/cesm)e FD(stored)h(across)h
+(three)g(input)e(\014les)h Fy(mdl1.nc)p FD(,)f Fy(mdl2.nc)p
+FD(,)g(and)h Fy(mdl3.nc)p FD(.)41 b(Ensem)m(ble)32 b(mem)m(b)s(ers)150
+1813 y(w)m(ould)25 b(b)s(e)g(leaf)i(groups)e(with)g(names)h(lik)m(e)h
+Fy(/ecmwf/01)p FD(,)d Fy(/ecmwf/02)f FD(etc.)40 b(and)25
+b Fy(/cesm/01)p FD(,)g Fy(/cesm/02)p FD(,)150 1923 y(etc.)42
+b(These)30 b(commands)g(a)m(v)m(erage)j(b)s(oth)d(ensem)m(bles:)390
+2082 y Fy(nces)47 b(--nsm_grp)e(mdl1.nc)h(mdl2.nc)g(mdl3.nc)f(out.nc)
+390 2192 y(nces)i(--nsm_grp)e(--nsm_sfx='_min')e(--op_typ=min)i(-n)i
+(3,1,1)f(mdl1.nc)g(out.nc)390 2301 y(nces)h(--nsm_grp)e(-g)i(cesm)g(-v)
+g(tas)g(-d)g(time,0,3)f(-n)h(3,1,1)f(mdl1.nc)g(out.nc)275
+2461 y FD(The)34 b(\014rst)g(command)h(stores)g(a)m(v)m(erages)j(in)c
+(the)i(output)e(groups)g Fy(/cesm)g FD(and)g Fy(/ecmwf)p
+FD(,)h(while)g(the)150 2570 y(second)c(stores)g(minima)g(in)f(the)h
+(output)f(groups)g Fy(/cesm/cesm_min)d FD(and)j Fy(/ecmwf/ecmwf_min)p
+FD(:)37 b(The)150 2680 y(third)c(command)g(demonstrates)i(that)f
+(sub-setting)g(and)f(h)m(yp)s(erslabbing)g(w)m(ork)g(as)h(exp)s(ected.)
+52 b(Note)150 2790 y(that)29 b(eac)m(h)g(input)e(\014le)i(ma)m(y)g(con)
+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
+(eac)m(h)g(ensem)m(ble,)g(as)g(long)g(as)150 2899 y(all)i(distinct)g
+(ensem)m(bles)g(con)m(tain)g(at)h(least)f(one)g(mem)m(b)s(er)f(in)g
+(the)g(\014rst)g(\014le.)p eop end
+%%Page: 167 173
+TeXDict begin 167 172 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(167)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(plc])h
+([--cnk_scl)f(sz])390 849 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 959 y([-G)47 b Fn(gpe_dsc)p
+Fy(])e([-g)i Fn(grp)p Fy([,...)n(]])g([--gag])f([-h])h([--hdf])f
+([--hdr_pad)f Fn(nbr)p Fy(])390 1068 y([-L)i Fn(dfl_lvl)p
+Fy(])e([-l)i Fn(path)p Fy(])g([-M])f([--md5_digest])e([--mrd])i([-n)h
+Fn(loop)p Fy(])f([--no_tmp_fl])390 1178 y([-O])h([-o)g
+Fn(output-file)p Fy(])d([-p)j Fn(path)p Fy(])f([-R])h([-r])g
+([--ram_all])390 1288 y([-t)g Fn(thr_nbr)p Fy(])e([-u)i
+Fn(ulm_nm)p Fy(])f([--unn])g([-v)h Fn(var)p Fy([,...)n(]])g([-X)g(...])
+f([-x])390 1397 y([)p Fn(input-files)p Fy(])e([)p Fn(output-file)p
+Fy(])150 1569 y FD(DESCRIPTION)275 1741 y Fy(ncecat)24
+b FD(aggregates)29 b(an)c(arbitrary)h(n)m(um)m(b)s(er)f(of)h(input)f
+(\014les)h(in)m(to)h(a)f(single)g(output)g(\014le)g(using)f(using)150
+1851 y(one)43 b(of)g(t)m(w)m(o)h(metho)s(ds.)77 b Fz(Record)43
+b(A)m(Ggregation)i FD(\()p FC(RA)n(G)p FD(\),)i(the)c(traditional)h
+(metho)s(d)e(emplo)m(y)m(ed)i(on)150 1960 y(netCDF3)33
+b(\014les)f(and)g(still)h(the)f(default)g(metho)s(d,)h(stores)f
+Fz(input-\014les)k FD(as)c(consecutiv)m(e)i(records)e(in)g(the)150
+2070 y Fz(output-\014le)p FD(.)38 b Fz(Group)22 b(A)m(Ggregation)j
+FD(\()p FC(GA)n(G)p FD(\))f(stores)f Fz(input-\014les)i
+FD(as)e(top-lev)m(el)i(groups)d(in)g(the)h(netCDF4)150
+2179 y Fz(output-\014le)p FD(.)50 b(Record)33 b(Aggregation)j(\()p
+FC(RA)n(G)p FD(\))e(mak)m(es)g(n)m(umerous)e(assumptions)h(ab)s(out)g
+(the)g(structure)150 2289 y(of)42 b(input)g(\014les)g(and)f(Group)h
+(Aggregation)i(\()p FC(GA)n(G)p FD(\))f(mak)m(es)g(none.)76
+b(Both)43 b(metho)s(ds)e(are)i(describ)s(ed)150 2399
+y(in)37 b(detail)h(b)s(elo)m(w.)62 b(Since)37 b Fy(ncecat)f
+FD(aggregates)k(all)e(the)g(con)m(ten)m(ts)h(of)e(the)h(input)e
+(\014les,)j(it)f(can)g(easily)150 2508 y(pro)s(duce)h(large)j(output)e
+(\014les)g(so)h(it)g(is)f(often)h(helpful)f(to)h(in)m(v)m(ok)m(e)h
+(subsetting)f(sim)m(ultaneously)g(\(see)150 2618 y(Section)31
+b(3.11)h([Subsetting)e(Files],)i(page)f(40\).)275 2790
+y FC(RA)n(G)36 b FD(mak)m(es)h(eac)m(h)h(v)-5 b(ariable)37
+b(\(except)g(co)s(ordinate)h(v)-5 b(ariables\))37 b(in)f(eac)m(h)h
+(input)f(\014le)g(in)m(to)i(a)e(single)150 2899 y(record)d(of)g(the)h
+(same)f(v)-5 b(ariable)34 b(in)f(the)h(output)e(\014le.)49
+b(Co)s(ordinate)34 b(v)-5 b(ariables)34 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(53\))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: 168 174
+TeXDict begin 168 173 bop 150 -116 a FD(168)2582 b FC(NCO)30
+b FD(4.4.2)j(User)d(Guide)150 299 y(\014le)39 b(is)g(placed)g(in)g(its)
+g(o)m(wn)g(top-lev)m(el)j(group)c(in)h Fz(output-\014le)p
+FD(,)i(whic)m(h)e(is)g(automatically)i(made)e(as)h(a)150
+408 y(netCDF4-format)32 b(\014le.)275 573 y FC(GA)n(G)27
+b FD(has)f(t)m(w)m(o)j(metho)s(ds)d(to)i(sp)s(ecify)e(group)h(names)f
+(for)h(the)g Fz(output-\014le)p FD(.)40 b(The)26 b(`)p
+Fy(-G)p FD(')h(option,)i(or)e(its)150 682 y(long-option)i(equiv)-5
+b(alen)m(t)29 b(`)p Fy(--gpe)p FD(',)e(tak)m(es)i(as)e(argumen)m(t)h(a)
+g(group)e(path)h(editing)h(description)g Fz(gp)s(e)p
+3584 682 28 4 v 40 w(dsc)150 792 y FD(of)k(where)f(to)h(place)h(the)f
+(results.)44 b(Eac)m(h)32 b(input)f(\014le)h(needs)f(a)h(distinct)g
+(output)f(group)g(name)h(to)g(a)m(v)m(oid)150 902 y(namespace)h
+(con\015icts)g(in)f(the)g Fz(output-\014le)p FD(.)46
+b(Hence)33 b Fy(ncecat)d FD(automatically)36 b(creates)d(unique)e
+(output)150 1011 y(group)40 b(names)h(based)f(on)h(either)g(the)g
+(input)e(\014lenames)i(or)g(the)g Fz(gp)s(e)p 2633 1011
+V 39 w(dsc)46 b FD(argumen)m(ts.)72 b(When)41 b(the)150
+1121 y(user)31 b(pro)m(vides)i Fz(gp)s(e)p 851 1121 V
+39 w(dsc)38 b FD(\(i.e.,)c(with)e(`)p Fy(-G)p FD('\),)h(then)f(the)g
+(output)g(groups)f(are)i(formed)e(b)m(y)h(en)m(umerating)150
+1230 y(sequen)m(tial)24 b(t)m(w)m(o-digit)h(n)m(umeric)e(su\016xes)f
+(starting)h(with)g(zero,)i(and)d(app)s(ending)g(them)g(to)i(the)f(sp)s
+(eci\014ed)150 1340 y(group)h(path)h(\(see)g(Section)h(3.13)g([Group)e
+(P)m(ath)h(Editing],)i(page)e(44\).)40 b(When)25 b Fz(gp)s(e)p
+2974 1340 V 40 w(dsc)30 b FD(is)24 b(not)h(pro)m(vided)150
+1450 y(\(i.e.,)k(user)e(requests)g FC(GA)n(G)g FD(with)g(`)p
+Fy(--gag)p FD(')f(instead)h(of)g(`)p Fy(-G)p FD('\),)h(then)f
+Fy(ncecat)e FD(forms)i(the)g(output)g(groups)150 1559
+y(b)m(y)21 b(stripping)g(the)g(input)f(\014le)i(name)f(of)g(an)m(y)h(t)
+m(yp)s(e-su\016x)e(\(e.g.,)25 b Fy(.nc)p FD(\),)e(and)e(all)h(but)e
+(the)i(\014nal)f(comp)s(onen)m(t)150 1669 y(of)31 b(the)f(full)g
+(\014lename.)390 1833 y Fy(ncecat)46 b(--gag)g(85.nc)h(86.nc)f(87.nc)h
+(8587.nc)e(#)j(Output)e(groups)g(85,)h(86,)g(87)390 1943
+y(ncecat)f(-G)h(85_)g(a.nc)g(b.nc)f(c.nc)h(8589.nc)f(#)h(Output)f
+(groups)h(85_00,)f(85_01,)g(85_02)390 2052 y(ncecat)g(-G)h(85/)g(a.nc)g
+(b.nc)f(c.nc)h(8589.nc)f(#)h(Output)f(groups)h(85/00,)f(85/01,)g(85/02)
+275 2217 y FD(With)36 b(b)s(oth)g FC(RA)n(G)g FD(and)g
+FC(GA)n(G)g FD(the)h Fz(output-\014le)k FD(size)c(is)f(the)h(sum)e(of)h
+(the)h(sizes)g(of)f(the)h(extracted)150 2326 y(v)-5 b(ariables)37
+b(in)e(the)i(input)e(\014les.)57 b(See)37 b(Section)f(2.6)i
+([Statistics)f(vs.)58 b(Concatenation],)39 b(page)e(18,)i(for)d(a)150
+2436 y(description)g(of)h(the)f(distinctions)h(b)s(et)m(w)m(een)g(the)f
+(v)-5 b(arious)37 b(statistics)h(to)s(ols)f(and)e(concatenators.)61
+b(As)150 2545 y(a)41 b(m)m(ulti-\014le)h(op)s(erator,)i
+Fy(ncecat)39 b FD(will)i(read)g(the)g(list)h(of)f Fz(input-\014les)j
+FD(from)c Fy(stdin)g FD(if)g(they)h(are)h(not)150 2655
+y(sp)s(eci\014ed)30 b(as)h(p)s(ositional)h(argumen)m(ts)f(on)g(the)g
+(command)g(line)g(\(see)h(Section)f(2.7)h([Large)g(Num)m(b)s(ers)e(of)
+150 2765 y(Files],)i(page)f(19\).)275 2929 y(Suppress)21
+b(global)k(metadata)h(cop)m(ying.)40 b(By)24 b(default)g
+FC(NCO)p FD('s)g(m)m(ulti-\014le)h(op)s(erators)f(cop)m(y)g(the)h
+(global)150 3039 y(metadata)37 b(from)e(the)h(\014rst)f(input)g(\014le)
+h(in)m(to)g Fz(output-\014le)p FD(.)57 b(This)35 b(helps)g(to)h
+(preserv)m(e)g(the)g(pro)m(v)m(enance)150 3148 y(of)k(the)h(output)f
+(data.)71 b(Ho)m(w)m(ev)m(er,)45 b(the)c(use)f(of)g(metadata)i(is)e
+(burgeoning)g(and)g(is)g(not)h(uncommon)150 3258 y(to)d(encoun)m(ter)h
+(\014les)e(with)g(excessiv)m(e)j(amoun)m(ts)e(of)g(extraneous)g
+(metadata.)64 b(Extracting)39 b(small)f(bits)150 3367
+y(of)e(data)h(from)e(suc)m(h)h(\014les)f(leads)i(to)f(output)g(\014les)
+g(whic)m(h)f(are)i(m)m(uc)m(h)e(larger)i(than)f(necessary)g(due)f(to)
+150 3477 y(the)41 b(automatically)j(copied)d(metadata.)75
+b Fy(ncecat)39 b FD(supp)s(orts)g(turning)h(o\013)h(the)h(default)f
+(cop)m(ying)h(of)150 3587 y(global)c(metadata)f(via)g(the)g(`)p
+Fy(-M)p FD(')f(switc)m(h)g(\(or)h(its)g(long)f(option)h(equiv)-5
+b(alen)m(ts,)39 b(`)p Fy(--glb_mtd_spp)p FD(')34 b(and)150
+3696 y(`)p Fy(--global_metadata_suppres)o(s)p FD('\).)275
+3861 y(Consider)20 b(\014v)m(e)i(realizations,)j Fy(85a.nc)p
+FD(,)d Fy(85b.nc)p FD(,)27 b(.)c(.)f(.)41 b Fy(85e.nc)20
+b FD(of)i(1985)h(predictions)e(from)g(the)h(same)150
+3970 y(climate)35 b(mo)s(del.)48 b(Then)32 b Fy(ncecat)d(85?.nc)f
+(85_ens.nc)j FD(glues)i(together)h(the)f(individual)g(realizations)150
+4080 y(in)m(to)i(the)g(single)g(\014le,)h Fy(85_ens.nc)p
+FD(.)50 b(If)34 b(an)g(input)g(v)-5 b(ariable)35 b(w)m(as)g
+(dimensioned)f([)p Fy(lat)p FD(,)p Fy(lon)p FD(],)g(it)h(will)g(b)m(y)
+150 4189 y(default)27 b(ha)m(v)m(e)h(dimensions)e([)p
+Fy(record)p FD(,)p Fy(lat)p FD(,)p Fy(lon)p FD(])f(in)i(the)g(output)f
+(\014le.)40 b(A)30 b(restriction)e(of)f Fy(ncecat)e FD(is)i(that)150
+4299 y(the)32 b(h)m(yp)s(erslabs)e(of)h(the)h(pro)s(cessed)f(v)-5
+b(ariables)32 b(m)m(ust)f(b)s(e)f(the)i(same)g(from)f(\014le)g(to)h
+(\014le.)44 b(Normally)32 b(this)150 4408 y(means)d(all)h(the)f(input)g
+(\014les)g(are)g(the)h(same)f(size,)i(and)d(con)m(tain)j(data)e(on)g
+(di\013eren)m(t)h(realizations)h(of)f(the)150 4518 y(same)h(v)-5
+b(ariables.)275 4682 y(Concatenating)44 b(a)f(v)-5 b(ariable)44
+b(pac)m(k)m(ed)g(with)f(di\013eren)m(t)g(scales)h(across)g(m)m(ultiple)
+f(datasets)h(is)f(b)s(e-)150 4792 y(y)m(ond)34 b(the)h(capabilities)h
+(of)f Fy(ncecat)d FD(\(and)i Fy(ncrcat)p FD(,)g(the)h(other)f
+(concatenator)j(\(Section)f(2.6.1)g([Con-)150 4902 y(catenation],)41
+b(page)d(18\).)62 b Fy(ncecat)36 b FD(do)s(es)g(not)i(unpac)m(k)f
+(data,)i(it)f(simply)f Fo(c)-5 b(opies)45 b FD(the)37
+b(data)h(from)f(the)150 5011 y Fz(input-\014les)p FD(,)c(and)e(the)i
+(metadata)h(from)e(the)g Fo(\014rst)42 b Fz(input-\014le)p
+FD(,)33 b(to)g(the)g Fz(output-\014le)p FD(.)46 b(This)32
+b(means)g(that)150 5121 y(data)26 b(compressed)e(with)h(a)g(pac)m(king)
+h(con)m(v)m(en)m(tion)h(m)m(ust)e(use)g(the)g(iden)m(tical)i(pac)m
+(king)f(parameters)f(\(e.g.,)150 5230 y Fy(scale_factor)31
+b FD(and)k Fy(add_offset)p FD(\))d(for)i(a)h(giv)m(en)h(v)-5
+b(ariable)36 b(across)f Fo(al)5 b(l)45 b FD(input)34
+b(\014les.)53 b(Otherwise)35 b(the)150 5340 y(concatenated)d(dataset)g
+(will)f(not)f(unpac)m(k)g(correctly)-8 b(.)42 b(The)30
+b(w)m(ork)-5 b(around)30 b(for)g(cases)h(where)e(the)i(pac)m(k-)p
+eop end
+%%Page: 169 175
+TeXDict begin 169 174 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(169)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(data)i(using)e Fy(ncecat)p FD(,)h(Third,)g(re-pac)m
+(k)h(the)f(result)f(with)150 518 y Fy(ncpdq)p FD(.)150
+677 y(EXAMPLES)275 837 y(Consider)31 b(a)i(mo)s(del)f(exp)s(erimen)m(t)
+g(whic)m(h)g(generated)i(\014v)m(e)e(realizations)j(of)d(one)h(y)m(ear)
+g(of)f(data,)i(sa)m(y)150 946 y(1985.)42 b(Y)-8 b(ou)30
+b(can)g(imagine)g(that)g(the)g(exp)s(erimen)m(ter)g(sligh)m(tly)g(p)s
+(erturbs)e(the)h(initial)i(conditions)f(of)g(the)150
+1056 y(problem)h(b)s(efore)g(generating)i(eac)m(h)g(new)e(solution.)46
+b(Assume)31 b(eac)m(h)i(\014le)f(con)m(tains)g(all)h(t)m(w)m(elv)m(e)h
+(mon)m(ths)150 1166 y(\(a)g(seasonal)h(cycle\))g(of)f(data)g(and)f(w)m
+(e)h(w)m(an)m(t)g(to)g(pro)s(duce)e(a)i(single)g(\014le)g(con)m
+(taining)h(all)f(the)g(seasonal)150 1275 y(cycles.)42
+b(Here)31 b(the)f(n)m(umeric)h(\014lename)f(su\016x)g(denotes)g(the)h
+(exp)s(erimen)m(t)f(n)m(um)m(b)s(er)g(\()p Fo(not)40
+b FD(the)30 b(mon)m(th\):)390 1435 y Fy(ncecat)46 b(85_01.nc)g
+(85_02.nc)f(85_03.nc)h(85_04.nc)f(85_05.nc)h(85.nc)390
+1544 y(ncecat)g(85_0[1-5].nc)f(85.nc)390 1654 y(ncecat)h(-n)h(5,2,1)g
+(85_01.nc)e(85.nc)150 1813 y FD(These)30 b(three)g(commands)f(pro)s
+(duce)g(iden)m(tical)i(answ)m(ers.)41 b(See)30 b(Section)g(3.5)h([Sp)s
+(ecifying)f(Input)e(Files],)150 1923 y(page)39 b(28,)j(for)c(an)h
+(explanation)h(of)e(the)h(distinctions)g(b)s(et)m(w)m(een)h(these)f
+(metho)s(ds.)64 b(The)38 b(output)h(\014le,)150 2032
+y Fy(85.nc)p FD(,)29 b(is)i(\014v)m(e)f(times)h(the)g(size)g(as)g(a)f
+(single)h Fz(input-\014le)p FD(.)41 b(It)30 b(con)m(tains)i(60)f(mon)m
+(ths)f(of)h(data.)275 2192 y(One)21 b(often)h(prefers)f(that)h(the)g
+(\(new\))g(record)g(dimension)f(ha)m(v)m(e)i(a)f(more)g(descriptiv)m
+(e,)j(con)m(text-based)150 2301 y(name)30 b(than)h(simply)e(\\record".)
+42 b(This)30 b(is)g(easily)h(accomplished)h(with)e(the)g(`)p
+Fy(-u)g Fn(ulm_nm)p FD(')f(switc)m(h:)390 2461 y Fy(ncecat)46
+b(-u)h(realization)e(85_0[1-5].nc)f(85.nc)150 2620 y
+FD(Users)h(are)g(more)g(lik)m(ely)h(to)f(understand)e(the)i(data)h(pro)
+s(cessing)e(history)h(when)f(suc)m(h)g(descriptiv)m(e)150
+2730 y(co)s(ordinates)31 b(are)g(used.)275 2889 y(Consider)36
+b(a)i(\014le)g(with)f(an)h(existing)h(record)e(dimension)g(named)g
+Fy(time)p FD(.)62 b(and)37 b(supp)s(ose)f(the)i(user)150
+2999 y(wishes)c(to)g(con)m(v)m(ert)i Fy(time)d FD(from)g(a)i(record)f
+(dimension)f(to)i(a)g(non-record)e(dimension.)52 b(This)33
+b(ma)m(y)i(b)s(e)150 3108 y(useful,)i(for)f(example,)i(when)d(the)h
+(user)f(has)h(another)g(use)g(for)g(the)g(record)g(v)-5
+b(ariable.)58 b(The)36 b(simplest)150 3218 y(metho)s(d)f(is)g(to)h(use)
+e(`)p Fy(ncks)c(--fix_rec_dmn)p FD(')i(but)i(another)h(p)s(ossibilit)m
+(y)h(is)f(to)h(use)f Fy(ncecat)e FD(follo)m(w)m(ed)150
+3328 y(b)m(y)d Fy(ncwa)p FD(:)390 3487 y Fy(ncecat)46
+b(in.nc)g(out.nc)h(#)g(Convert)f(time)g(to)i(non-record)d(dimension)390
+3597 y(ncwa)i(-a)g(record)f(in.nc)g(out.nc)g(#)i(Remove)e(new)h
+(degenerate)e(record)h(dimension)150 3756 y FD(The)28
+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(186)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(173)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
+eop end
+%%Page: 170 176
+TeXDict begin 170 175 bop 150 -116 a FD(170)2582 b FC(NCO)30
+b FD(4.4.2)j(User)d(Guide)150 299 y FB(4.6)68 b Fc(ncflint)42
+b FB(netCDF)j(File)g(In)l(terp)t(olator)150 458 y FD(SYNT)-8
+b(AX)390 639 y Fy(ncflint)46 b([-3])g([-4])h([-6])g([-7])f([-A])h([-C])
+g([-c])390 749 y([--cnk_dmn)e(nm,sz])h([--cnk_map)f(map])i([--cnk_plc)e
+(plc])h([--cnk_scl)f(sz])390 858 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 968 y([-F])h([--fix_rec_crd])c([-G)k
+Fn(gpe_dsc)p Fy(])f([-g)h Fn(grp)p Fy([,...)m(]])h([-h])e([--hdr_pad)f
+Fn(nbr)p Fy(])390 1077 y([-i)i Fn(var)p Fy(,)p Fn(val3)p
+Fy(])e([-L)i Fn(dfl_lvl)p Fy(])f([-l)h Fn(path)p Fy(])f([--no_tmp_fl])
+390 1187 y([-O])h([-o)g Fn(file_3)p Fy(])e([-p)i Fn(path)p
+Fy(])g([-R])f([-r])h([--ram_all])390 1297 y([-t)g Fn(thr_nbr)p
+Fy(])e([--unn])h([-v)h Fn(var)p Fy([,...)n(]])g([-w)g
+Fn(wgt1)p Fy([,)p Fn(wgt2)p Fy(]])e([-X)h(...])h([-x])390
+1406 y Fn(file_1)f(file_2)g Fy([)p Fn(file_3)p Fy(])150
+1587 y FD(DESCRIPTION)275 1768 y Fy(ncflint)25 b FD(creates)j(an)f
+(output)f(\014le)i(that)f(is)g(a)h(linear)f(com)m(bination)h(of)g(the)f
+(input)f(\014les.)39 b(This)27 b(linear)150 1877 y(com)m(bination)37
+b(is)e(a)h(w)m(eigh)m(ted)h(a)m(v)m(erage,)i(a)d(normalized)g(w)m(eigh)
+m(ted)h(a)m(v)m(erage,)i(or)d(an)f(in)m(terp)s(olation)i(of)150
+1987 y(the)27 b(input)f(\014les.)40 b(Co)s(ordinate)27
+b(v)-5 b(ariables)28 b(are)f(not)g(acted)i(up)s(on)c(in)i(an)m(y)g
+(case,)i(they)e(are)h(simply)e(copied)150 2096 y(from)k
+Fz(\014le)p 487 2096 28 4 v 40 w(1)p FD(.)275 2277 y(There)j(are)g(t)m
+(w)m(o)i(conceptually)g(distinct)f(metho)s(ds)f(of)h(using)f
+Fy(ncflint)p FD(.)48 b(The)33 b(\014rst)g(metho)s(d)g(is)g(to)150
+2387 y(sp)s(ecify)f(the)g(w)m(eigh)m(t)i(eac)m(h)g(input)d(\014le)h
+(con)m(tributes)h(to)g(the)g(output)e(\014le.)47 b(In)31
+b(this)i(metho)s(d,)f(the)g(v)-5 b(alue)150 2496 y Fz(v)g(al3)45
+b FD(of)37 b(a)h(v)-5 b(ariable)37 b(in)g(the)g(output)g(\014le)g
+Fz(\014le)p 1749 2496 V 40 w(3)45 b FD(is)37 b(determined)f(from)h(its)
+g(v)-5 b(alues)37 b Fz(v)-5 b(al1)46 b FD(and)36 b Fz(v)-5
+b(al2)45 b FD(in)150 2606 y(the)37 b(t)m(w)m(o)h(input)d(\014les)i
+(according)g(to)h Fv(v)s(al)r FD(3)e(=)f Fv(w)r(g)s(t)p
+FD(1)26 b FA(\002)e Fv(v)s(al)r FD(1)h(+)f Fv(w)r(g)s(t)p
+FD(2)i FA(\002)e Fv(v)s(al)r FD(2)37 b(.)60 b(Here)37
+b(at)g(least)h Fz(wgt1)p FD(,)150 2716 y(and,)g(optionally)-8
+b(,)39 b Fz(wgt2)p FD(,)g(are)e(sp)s(eci\014ed)f(on)g(the)h(command)f
+(line)h(with)f(the)g(`)p Fy(-w)p FD(')h(\(or)f(`)p Fy(--weight)p
+FD(')f(or)150 2825 y(`)p Fy(--wgt_var)p FD('\))40 b(switc)m(h.)75
+b(If)41 b(only)h Fz(wgt1)50 b FD(is)42 b(sp)s(eci\014ed)f(then)g
+Fz(wgt2)50 b FD(is)42 b(automatically)i(computed)e(as)150
+2935 y Fz(wgt2)33 b FD(=)25 b(1)11 b FA(\000)g Fz(wgt1)d
+FD(.)39 b(Note)27 b(that)f(w)m(eigh)m(ts)h(larger)f(than)31
+b(1)26 b(are)g(allo)m(w)m(ed.)41 b(Th)m(us)24 b(it)i(is)g(p)s(ossible)f
+(to)h(sp)s(ecify)150 3044 y Fz(wgt1)42 b FD(=)34 b(2)i(and)f
+Fz(wgt2)42 b FD(=)34 b FA(\000)p FD(3.)57 b(One)35 b(can)h(use)f(this)h
+(functionalit)m(y)h(to)f(m)m(ultiply)g(all)g(the)g(v)-5
+b(alues)36 b(in)g(a)150 3154 y(giv)m(en)31 b(\014le)g(b)m(y)f(a)h
+(constan)m(t.)275 3335 y(The)c(second)i(metho)s(d)f(of)h(using)f
+Fy(ncflint)e FD(is)j(to)g(sp)s(ecify)f(the)g(in)m(terp)s(olation)i
+(option)f(with)h(`)p Fy(-i)p FD(')f(\(or)150 3444 y(with)i(the)g(`)p
+Fy(--ntp)p FD(')f(or)i(`)p Fy(--interpolate)p FD(')c(long)k(options\).)
+43 b(This)31 b(is)g(the)g(in)m(v)m(erse)h(of)g(the)f(\014rst)f(metho)s
+(d)150 3554 y(in)j(the)g(follo)m(wing)i(sense:)47 b(When)33
+b(the)g(user)g(sp)s(eci\014es)g(the)g(w)m(eigh)m(ts)i(directly)-8
+b(,)35 b Fy(ncflint)d FD(has)h(no)g(w)m(ork)150 3663
+y(to)e(do)g(b)s(esides)f(m)m(ultiplying)h(the)g(input)e(v)-5
+b(alues)31 b(b)m(y)g(their)f(resp)s(ectiv)m(e)i(w)m(eigh)m(ts)g(and)e
+(adding)g(together)150 3773 y(the)j(results)g(to)h(pro)s(duce)d(the)j
+(output)e(v)-5 b(alues.)49 b(It)33 b(mak)m(es)h(sense)f(to)h(use)e
+(this)h(when)f(the)h(w)m(eigh)m(ts)i(are)150 3883 y(kno)m(wn)30
+b Fo(a)j(priori)q FD(.)275 4063 y(Another)h(class)h(of)g(problems)f
+(has)g(the)h Fz(arriv)-5 b(al)35 b(v)-5 b(alue)40 b FD(\(i.e.,)d
+Fz(v)-5 b(al3)7 b FD(\))36 b(of)f(a)f(particular)h(v)-5
+b(ariable)35 b Fz(v)-5 b(ar)150 4173 y FD(kno)m(wn)31
+b Fo(a)i(priori)r FD(.)45 b(In)31 b(this)g(case,)j(the)e(implied)f(w)m
+(eigh)m(ts)i(can)g(alw)m(a)m(ys)g(b)s(e)e(inferred)g(b)m(y)g(examining)
+i(the)150 4283 y(v)-5 b(alues)36 b(of)g Fz(v)-5 b(ar)42
+b FD(in)36 b(the)f(input)g(\014les.)57 b(This)35 b(results)g(in)h(one)g
+(equation)h(in)e(t)m(w)m(o)i(unkno)m(wns,)f Fz(wgt1)44
+b FD(and)150 4392 y Fz(wgt2)7 b FD(:)52 b Fv(v)s(al)r
+FD(3)35 b(=)f Fv(w)r(g)s(t)p FD(1)25 b FA(\002)e Fv(v)s(al)r
+FD(1)i(+)e Fv(w)r(g)s(t)p FD(2)i FA(\002)f Fv(v)s(al)r
+FD(2)36 b(.)56 b(Unique)36 b(determination)g(of)g(the)f(w)m(eigh)m(ts)i
+(requires)150 4502 y(imp)s(osing)42 b(the)h(additional)g(constrain)m(t)
+h(of)e(normalization)i(on)f(the)f(w)m(eigh)m(ts:)66 b
+Fz(wgt1)37 b FD(+)28 b Fz(wgt2)53 b FD(=)45 b(1.)150
+4611 y(Th)m(us,)31 b(to)h(use)f(the)h(in)m(terp)s(olation)h(option,)g
+(the)e(user)g(sp)s(eci\014es)g Fz(v)-5 b(ar)38 b FD(and)31
+b Fz(v)-5 b(al3)40 b FD(with)31 b(the)h(`)p Fy(-i)p FD(')f(option.)150
+4721 y Fy(ncflint)26 b FD(then)i(computes)g Fz(wgt1)37
+b FD(and)27 b Fz(wgt2)p FD(,)j(and)e(uses)f(these)i(w)m(eigh)m(ts)h(on)
+e(all)h(v)-5 b(ariables)28 b(to)h(generate)150 4830 y(the)39
+b(output)g(\014le.)67 b(Although)39 b Fz(v)-5 b(ar)45
+b FD(ma)m(y)40 b(ha)m(v)m(e)g(an)m(y)g(n)m(um)m(b)s(er)d(of)j
+(dimensions)e(in)h(the)g(input)f(\014les,)j(it)150 4940
+y(m)m(ust)d(represen)m(t)f(a)i(single,)h(scalar)f(v)-5
+b(alue.)63 b(Th)m(us)37 b(an)m(y)h(dimensions)f(asso)s(ciated)i(with)f
+Fz(v)-5 b(ar)44 b FD(m)m(ust)38 b(b)s(e)150 5050 y Fz(degenerate)p
+FD(,)32 b(i.e.,)g(of)e(size)i(one.)275 5230 y(If)e(neither)i(`)p
+Fy(-i)p FD(')f(nor)g(`)p Fy(-w)p FD(')g(is)h(sp)s(eci\014ed)e(on)h(the)
+h(command)f(line,)h Fy(ncflint)e FD(defaults)h(to)h(w)m(eigh)m(ting)150
+5340 y(eac)m(h)38 b(input)d(\014le)i(equally)g(in)g(the)f(output)g
+(\014le.)60 b(This)36 b(is)g(equiv)-5 b(alen)m(t)38 b(to)f(sp)s
+(ecifying)g(`)p Fy(-w)30 b(0.5)p FD(')36 b(or)g(`)p Fy(-w)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
+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 b FD(do)s(es)i(not)h(in)m(terp)s(olate)h(v)-5
+b(ariables)32 b(of)g(t)m(yp)s(e)f Fy(NC_CHAR)f FD(and)h
+Fy(NC_STRING)p FD(.)41 b(This)31 b(b)s(eha)m(vior)150
+687 y(is)f(hardco)s(ded.)275 857 y(By)k(default)g Fy(ncflint)e
+FD(in)m(terp)s(olates)j(or)f(m)m(ultiplies)h(record)f(co)s(ordinate)h
+(v)-5 b(ariables)34 b(\(e.g.,)j(time)e(is)150 966 y(often)28
+b(stored)f(as)h(a)f(record)g(co)s(ordinate\))i(not)e(other)h(co)s
+(ordinate)g(v)-5 b(ariables)28 b(\(e.g.,)i(latitude)e(and)f(longi-)150
+1076 y(tude\).)40 b(This)29 b(is)g(b)s(ecause)g Fy(ncflint)e
+FD(is)i(often)h(used)e(to)i(time-in)m(terp)s(olate)h(b)s(et)m(w)m(een)f
+(existing)g(\014les,)g(but)150 1186 y(is)38 b(rarely)f(used)g(to)h
+(spatially)h(in)m(terp)s(olate.)64 b(Sometimes)38 b(ho)m(w)m(ev)m(er,)j
+(users)c(wish)g(to)h(m)m(ultiply)g(en)m(tire)150 1295
+y(\014les)33 b(b)m(y)f(a)h(constan)m(t)h(that)g(do)s(es)e(not)h(m)m
+(ultiply)g(an)m(y)g(co)s(ordinate)g(v)-5 b(ariables.)49
+b(The)32 b(`)p Fy(--fix_rec_crd)p FD(')150 1405 y(switc)m(h)i(w)m(as)f
+(implemen)m(ted)h(for)f(this)g(purp)s(ose)e(in)i FC(NCO)g
+FD(v)m(ersion)h(4.2.6)h(\(Marc)m(h,)g(2013\).)51 b(It)33
+b(prev)m(en)m(ts)150 1514 y Fy(ncflint)27 b FD(from)i(m)m(ultiplying)h
+(or)g(in)m(terp)s(olating)g(an)m(y)g(co)s(ordinate)g(v)-5
+b(ariables,)31 b(including)e(record)g(co)s(or-)150 1624
+y(dinate)i(v)-5 b(ariables.)275 1793 y(Dep)s(ending)27
+b(on)h(y)m(our)h(in)m(tuition,)g Fy(ncflint)e FD(ma)m(y)i(treat)g
+(missing)f(v)-5 b(alues)29 b(unexp)s(ectedly)-8 b(.)40
+b(Consider)150 1903 y(a)30 b(p)s(oin)m(t)f(where)g(the)h(v)-5
+b(alue)30 b(in)f(one)h(input)f(\014le,)h(sa)m(y)g Fz(v)-5
+b(al1)p FD(,)31 b(equals)f(the)g(missing)f(v)-5 b(alue)30
+b Fz(mss)p 3309 1903 28 4 v 39 w(v)-5 b(al)p 3461 1903
+V 41 w(1)37 b FD(and,)150 2012 y(at)31 b(the)e(same)i(p)s(oin)m(t,)f
+(the)g(corresp)s(onding)e(v)-5 b(alue)31 b(in)e(the)h(other)g(input)f
+(\014le)h Fz(v)-5 b(al2)38 b FD(is)30 b(not)g(misssing)f(\(i.e.,)150
+2122 y(do)s(es)h(not)h(equal)g Fz(mss)p 911 2122 V 39
+w(v)-5 b(al)p 1063 2122 V 41 w(2)7 b FD(\).)41 b(There)30
+b(are)h(three)g(plausible)f(answ)m(ers,)g(and)g(this)g(creates)i(am)m
+(biguit)m(y)-8 b(.)275 2291 y(Option)30 b(one)35 b(is)h(to)g(set)g
+Fz(v)-5 b(al3)42 b FD(=)34 b Fz(mss)p 1577 2291 V 43
+w(v)-5 b(al)p 1733 2291 V 44 w(1)8 b FD(.)56 b(The)35
+b(rationale)i(is)f(that)g Fy(ncflint)d FD(is,)38 b(at)e(heart,)h(an)150
+2401 y(in)m(terp)s(olator)30 b(and)f(in)m(terp)s(olation)h(in)m(v)m
+(olving)h(a)e(missing)g(v)-5 b(alue)29 b(is)g(in)m(trinsically)i
+(unde\014ned.)38 b Fy(ncflint)150 2511 y FD(curren)m(tly)29
+b(implemen)m(ts)g(this)g(b)s(eha)m(vior)g(since)g(it)h(is)f(the)g(most)
+g(conserv)-5 b(ativ)m(e)31 b(and)d(least)i(lik)m(ely)h(to)e(lead)150
+2620 y(to)i(misin)m(terpretation.)275 2790 y(Option)f(t)m(w)m(o)36
+b(is)e(to)i(output)e(the)h(w)m(eigh)m(ted)h(v)-5 b(alid)35
+b(data)g(p)s(oin)m(t,)h(i.e.,)h Fv(v)s(al)r FD(3)c(=)f
+Fv(w)r(g)s(t)p FD(2)25 b FA(\002)e Fv(v)s(al)r FD(2)35
+b(.)53 b(The)150 2899 y(rationale)26 b(for)f(this)g(b)s(eha)m(vior)g
+(is)g(that)g(in)m(terp)s(olation)h(is)f(really)h(a)f(w)m(eigh)m(ted)h
+(a)m(v)m(erage)i(of)c(kno)m(wn)h(p)s(oin)m(ts,)150 3009
+y(so)31 b Fy(ncflint)d FD(should)h(w)m(eigh)m(t)j(the)f(v)-5
+b(alid)31 b(p)s(oin)m(t.)275 3178 y(Option)f(three)36
+b(is)h(to)g(return)f(the)g Fo(unweighte)-5 b(d)47 b FD(v)-5
+b(alid)37 b(p)s(oin)m(t,)h(i.e.,)i Fz(v)-5 b(al3)44 b
+FD(=)35 b Fz(v)-5 b(al2)8 b FD(.)59 b(This)36 b(b)s(eha)m(vior)150
+3288 y(w)m(ould)d(app)s(eal)g(to)h(those)g(who)f(use)g
+Fy(ncflint)e FD(to)j(estimate)h(data)f(using)f(the)h(closest)g(a)m(v)-5
+b(ailable)36 b(data.)150 3397 y(When)28 b(a)h(p)s(oin)m(t)f(is)g(not)h
+(brac)m(k)m(eted)h(b)m(y)e(v)-5 b(alid)29 b(data)g(on)f(b)s(oth)f
+(sides,)i(it)g(is)f(b)s(etter)h(to)g(return)e(the)h(kno)m(wn)150
+3507 y(datum)i(than)g(no)g(datum)g(at)h(all.)275 3676
+y(The)40 b(curren)m(t)h(implemen)m(tation)h(uses)e(the)h(\014rst)g
+(approac)m(h,)j(Option)30 b(one.)72 b(If)40 b(y)m(ou)i(ha)m(v)m(e)g
+(strong)150 3786 y(opinions)24 b(on)g(this)h(matter,)h(let)g(us)d(kno)m
+(w,)j(since)f(w)m(e)g(are)f(willing)h(to)g(implemen)m(t)g(the)g(other)f
+(approac)m(hes)150 3895 y(as)31 b(options)f(if)h(there)f(is)h(enough)f
+(in)m(terest.)150 4065 y(EXAMPLES)275 4234 y(Although)j(it)h(has)f
+(other)h(uses,)g(the)g(in)m(terp)s(olation)h(feature)f(w)m(as)g
+(designed)f(to)h(in)m(terp)s(olate)h Fz(\014le)p 3663
+4234 V 40 w(3)150 4344 y FD(to)c(a)f(time)g(b)s(et)m(w)m(een)h
+(existing)g(\014les.)40 b(Consider)29 b(input)g(\014les)h
+Fy(85.nc)e FD(and)h Fy(87.nc)g FD(con)m(taining)i(v)-5
+b(ariables)150 4453 y(describing)31 b(the)g(state)i(of)e(a)h(ph)m
+(ysical)f(system)h(at)g(times)f Fy(time)26 b FD(=)g(85)32
+b(and)e Fy(time)c FD(=)g(87.)44 b(Assume)31 b(eac)m(h)150
+4563 y(\014le)36 b(con)m(tains)h(its)f(timestamp)g(in)f(the)h(scalar)h
+(v)-5 b(ariable)36 b Fy(time)p FD(.)55 b(Then,)36 b(to)h(linearly)f(in)
+m(terp)s(olate)h(to)g(a)150 4672 y(\014le)30 b Fy(86.nc)f
+FD(whic)m(h)i(describ)s(es)e(the)i(state)g(of)g(the)g(system)f(at)h
+(time)g(at)g Fy(time)f FD(=)g(86,)h(w)m(e)g(w)m(ould)f(use)390
+4842 y Fy(ncflint)46 b(-i)h(time,86)f(85.nc)g(87.nc)h(86.nc)275
+5011 y FD(Sa)m(y)39 b(y)m(ou)g(ha)m(v)m(e)h(observ)-5
+b(ational)40 b(data)f(co)m(v)m(ering)i(Jan)m(uary)d(and)g(April)h(1985)
+h(in)f(t)m(w)m(o)h(\014les)e(named)150 5121 y Fy(85_01.nc)29
+b FD(and)h Fy(85_04.nc)p FD(,)f(resp)s(ectiv)m(ely)-8
+b(.)45 b(Then)30 b(y)m(ou)h(can)h(estimate)g(the)g(v)-5
+b(alues)31 b(for)g(F)-8 b(ebruary)31 b(and)150 5230 y(Marc)m(h)e(b)m(y)
+f(in)m(terp)s(olating)h(the)f(existing)h(data)g(as)f(follo)m(ws.)41
+b(Com)m(bine)28 b Fy(85_01.nc)e FD(and)h Fy(85_04.nc)f
+FD(in)i(a)150 5340 y(2:1)j(ratio)h(to)f(mak)m(e)g Fy(85_02.nc)p
+FD(:)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.2)j(User)d(Guide)390 299 y Fy(ncflint)46 b(-w)h(0.667)f
+(85_01.nc)g(85_04.nc)f(85_02.nc)390 408 y(ncflint)h(-w)h(0.667,0.333)e
+(85_01.nc)g(85_04.nc)h(85_02.nc)275 568 y FD(Multiply)30
+b Fy(85.nc)f FD(b)m(y)h(3)h(and)f(b)m(y)g FA(\000)p FD(2)h(and)e(add)h
+(them)h(together)g(to)h(mak)m(e)f Fy(tst.nc)p FD(:)390
+727 y Fy(ncflint)46 b(-w)h(3,-2)g(85.nc)f(85.nc)g(tst.nc)150
+887 y FD(This)c(is)h(an)g(example)g(of)g(a)g(n)m(ull)g(op)s(eration,)k
+(so)c Fy(tst.nc)e FD(should)h(b)s(e)g(iden)m(tical)j(\(within)d(mac)m
+(hine)150 996 y(precision\))31 b(to)g Fy(85.nc)p FD(.)275
+1156 y(Multiply)36 b(all)h(the)f(v)-5 b(ariables)37 b(except)g(the)f
+(co)s(ordinate)h(v)-5 b(ariables)36 b(in)g(the)g(\014le)g
+Fy(emissions.nc)d FD(b)m(y)150 1265 y(b)m(y)d(0.8)q(:)390
+1425 y Fy(ncflint)46 b(--fix_rec_crd)e(-w)j(0.8,0.0)f(emissions.nc)e
+(emissions.nc)h(scaled_emissions.nc)150 1584 y FD(The)37
+b(use)g(of)g(`)p Fy(--fix_rec_crd)p FD(')d(ensures,)39
+b(e.g.,)h(that)e(the)g Fy(time)e FD(co)s(ordinate,)k(if)d(an)m(y)-8
+b(,)40 b(is)e(not)f(scaled)150 1694 y(\(i.e.,)32 b(m)m(ultiplied\).)275
+1853 y(Add)38 b Fy(85.nc)f FD(to)j Fy(86.nc)d FD(to)j(obtain)f
+Fy(85p86.nc)p FD(,)g(then)g(subtract)g Fy(86.nc)e FD(from)h
+Fy(85.nc)g FD(to)h(obtain)150 1963 y Fy(85m86.nc)390
+2122 y(ncflint)46 b(-w)h(1,1)g(85.nc)f(86.nc)h(85p86.nc)390
+2232 y(ncflint)f(-w)h(1,-1)g(85.nc)f(86.nc)g(85m86.nc)390
+2341 y(ncdiff)g(85.nc)g(86.nc)h(85m86.nc)150 2501 y FD(Th)m(us)37
+b Fy(ncflint)f FD(can)j(b)s(e)e(used)h(to)g(mimic)h(some)f
+Fy(ncbo)f FD(op)s(erations.)65 b(Ho)m(w)m(ev)m(er)40
+b(this)e(is)g(not)h(a)f(go)s(o)s(d)150 2610 y(idea)28
+b(in)f(practice)i(b)s(ecause)f Fy(ncflint)e FD(do)s(es)h(not)h
+(broadcast)g(\(see)g(Section)h(4.3)f([ncb)s(o)g(netCDF)g(Binary)150
+2720 y(Op)s(erator],)f(page)f(159\))h(conforming)e(v)-5
+b(ariables)27 b(during)d(arithmetic.)40 b(Th)m(us)25
+b(the)g(\014nal)g(t)m(w)m(o)i(commands)150 2829 y(w)m(ould)34
+b(pro)s(duce)f(iden)m(tical)j(results)f(except)g(that)g
+Fy(ncflint)d FD(w)m(ould)i(fail)h(if)g(an)m(y)f(v)-5
+b(ariables)35 b(needed)f(to)150 2939 y(b)s(e)c(broadcast.)275
+3098 y(Rescale)e(the)g(dimensional)f(units)g(of)g(the)g(surface)g
+(pressure)f Fy(prs_sfc)f FD(from)i(P)m(ascals)i(to)f(hectopas-)150
+3208 y(cals)j(\(millibars\))390 3367 y Fy(ncflint)46
+b(-C)h(-v)g(prs_sfc)f(-w)h(0.01,0.0)f(in.nc)g(in.nc)g(out.nc)390
+3477 y(ncatted)g(-a)h(units,prs_sfc,o,c,millib)o(ar)42
+b(out.nc)p eop end
+%%Page: 173 179
+TeXDict begin 173 178 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(173)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])390 849 y([--cnk_dmn)e(nm,sz])h
+([--cnk_map)f(map])i([--cnk_plc)e(plc])h([--cnk_scl)f(sz])390
+959 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])k
+([--fix_rec_dmn)e Fn(dim)p Fy(])390 1068 y([-G)j Fn(gpe_dsc)p
+Fy(])e([-g)i Fn(grp)p Fy([,...)n(]])g([-H])g([-h])g([--hdn])e
+([--hdr_pad)g Fn(nbr)p Fy(])390 1178 y([-L)i Fn(dfl_lvl)p
+Fy(])e([-l)i Fn(path)p Fy(])g([-M])f([-m])h([--mk_rec_dmn)d
+Fn(dim)p Fy(])j([--md5_digest])390 1288 y([--no_blank])d([--no_tmp_fl])
+h([-O])h([-o)h Fn(output-file)p Fy(])e([-P])h([-p)h Fn(path)p
+Fy(])390 1397 y([-Q])g([-q])f([-R])h([-r])g([--ram_all])d([-s)j
+Fn(format)p Fy(])390 1507 y([-u])g([--unn])e([-v)i Fn(var)p
+Fy([,...)n(]])g([-X)g(...])g([-x])g([--xml])390 1616
+y Fn(input-file)e Fy([[)p Fn(output-file)p Fy(]])150
+1788 y FD(DESCRIPTION)275 1960 y(The)e(nic)m(kname)i(\\kitc)m(hen)g
+(sink")f(is)h(a)f(catc)m(h-all)j(b)s(ecause)d Fy(ncks)f
+FD(com)m(bines)i(most)f(features)h(of)150 2070 y Fy(ncdump)22
+b FD(and)h Fy(nccopy)f FD(with)h(extra)i(features)e(to)i(extract,)i(h)m
+(yp)s(erslab,)d(m)m(ulti-slab,)i(sub-set,)f(and)e(trans-)150
+2179 y(late)33 b(in)m(to)f(one)g(v)m(ersatile)i(utilit)m(y)-8
+b(.)46 b Fy(ncks)30 b FD(extracts)j(\(a)f(subset)f(of)h(the\))g(data)g
+(from)f Fz(input-\014le)37 b FD(and)31 b(and)150 2289
+y(writes)d(\(or)g(pastes\))h(it)g(in)f(netCDF)g(format)h(to)f
+Fz(output-\014le)p FD(,)h(and)f(optionally)h(writes)f(it)h(in)e(\015at)
+i(binary)150 2399 y(format)i(to)g Fy(binary-file)p FD(,)c(and)j
+(optionally)i(prin)m(ts)e(it)h(to)g(screen.)275 2570
+y Fy(ncks)g FD(prin)m(ts)i(netCDF)h(input)e(data)i(in)f
+FC(ASCI)r(I)p FD(,)h FC(CDL)p FD(,)g(or)f FC(NcML)h FD(text)g(formats)f
+Fy(stdout)p FD(,)f(lik)m(e)j(\(an)150 2680 y(extended)k(v)m(ersion)h
+(of)7 b(\))40 b Fy(ncdump)p FD(.)65 b(By)40 b(default)f
+Fy(ncks)f FD(prin)m(ts)h(data)h(in)f(a)g(tabular)h(format)f(in)m
+(tended)150 2790 y(to)33 b(b)s(e)f(easy)i(to)f(searc)m(h)g(for)f(the)h
+(data)h(y)m(ou)e(w)m(an)m(t,)j(one)e(datum)f(p)s(er)f(screen)i(line,)h
+(with)e(all)i(dimension)150 2899 y(subscripts)25 b(and)g(co)s(ordinate)
+i(v)-5 b(alues)27 b(\(if)f(an)m(y\))h(preceding)f(the)h(datum.)38
+b(Option)26 b(`)p Fy(-s)p FD(')g(\(or)h(long)g(options)150
+3009 y(`)p Fy(--sng_fmt)p FD(')g(and)i(`)p Fy(--string)p
+FD('\))f(p)s(ermits)h(the)h(user)e(to)j(format)e(data)h(using)f(C-st)m
+(yle)i(format)f(strings,)150 3118 y(while)k(option)g(`)p
+Fy(--cdl)p FD(')f(outputs)g FC(CDL)h FD(and)f(option)h(`)p
+Fy(--xml)p FD(')f(outputs)h FC(NcML)p FD(.)51 b Fy(ncks)32
+b FD(exp)s(oses)i(man)m(y)150 3228 y(\015exible)d(con)m(trols)g(o)m(v)m
+(er)h(prin)m(ted)e(output,)g(including)g FC(CDL)h FD(and)e
+FC(NcML)p FD(.)275 3400 y(Options)22 b(`)p Fy(-5)p FD(',)i(`)p
+Fy(-a)p FD(',)h(`)p Fy(--cdl)p FD(',)e(`)p Fy(-F)p FD(')g(,)i(`)p
+Fy(-H)p FD(',)f(`)p Fy(--hdn)p FD(',)g(`)p Fy(-M)p FD(',)g(`)p
+Fy(-m)p FD(',)h(`)p Fy(-P)p FD(',)f(`)p Fy(-Q)p FD(',)h(`)p
+Fy(-q)p FD(',)f(`)p Fy(-s)p FD(',)g(`)p Fy(-u)p FD(',)h(`)p
+Fy(--xml)p FD(')150 3509 y(\(and)30 b(their)h(long)g(option)f(coun)m
+(terparts\))h(con)m(trol)h(the)f(formatted)g(app)s(earance)f(of)h(the)f
+(data.)275 3681 y Fy(ncks)39 b FD(extracts)j(\(and)e(optionally)i
+(creates)f(a)g(new)f(netCDF)h(\014le)g(comprised)f(of)7
+b(\))41 b(only)f(selected)150 3791 y(v)-5 b(ariables)35
+b(from)e(the)i(input)e(\014le)h(\(similar)h(to)g(the)f(old)g
+Fy(ncextr)e FD(sp)s(eci\014cation\).)53 b(Only)34 b(v)-5
+b(ariables)35 b(and)150 3900 y(co)s(ordinates)23 b(ma)m(y)f(b)s(e)g(sp)
+s(eci\014cally)g(included)g(or)g(excluded|all)h(global)g(attributes)f
+(and)g(an)m(y)g(attribute)150 4010 y(asso)s(ciated)33
+b(with)f(an)g(extracted)i(v)-5 b(ariable)32 b(are)h(copied)f(to)h(the)f
+(screen)g(and/or)g(output)g(netCDF)h(\014le.)150 4120
+y(Options)f(`)p Fy(-c)p FD(',)g(`)p Fy(-C)p FD(',)h(`)p
+Fy(-v)p FD(',)g(and)e(`)p Fy(-x)p FD(')h(\(and)g(their)g(long)h(option)
+f(synon)m(yms\))g(con)m(trol)h(whic)m(h)f(v)-5 b(ariables)150
+4229 y(are)31 b(extracted.)275 4401 y Fy(ncks)44 b FD(extracts)i(h)m
+(yp)s(erslabs)f(from)g(the)g(sp)s(eci\014ed)g(v)-5 b(ariables)46
+b(\()p Fy(ncks)e FD(implemen)m(ts)i(the)g(original)150
+4511 y Fy(nccut)37 b FD(sp)s(eci\014cation\).)67 b(Option)39
+b(`)p Fy(-d)p FD(')f(con)m(trols)i(the)f(h)m(yp)s(erslab)f(sp)s
+(eci\014cation.)66 b(Input)38 b(dimensions)150 4620 y(that)27
+b(are)f(not)h(asso)s(ciated)g(with)f(an)m(y)g(output)g(v)-5
+b(ariable)27 b(do)f(not)g(app)s(ear)g(in)g(the)g(output)g(netCDF.)h
+(This)150 4730 y(feature)k(remo)m(v)m(es)h(sup)s(er\015uous)27
+b(dimensions)j(from)g(netCDF)h(\014les.)275 4902 y Fy(ncks)k
+FD(will)j(app)s(end)d(v)-5 b(ariables)38 b(and)f(attributes)g(from)g
+(the)g Fz(input-\014le)42 b FD(to)c Fz(output-\014le)k
+FD(if)37 b Fz(output-)150 5011 y(\014le)i FD(is)33 b(a)h(pre-existing)g
+(netCDF)g(\014le)g(whose)f(relev)-5 b(an)m(t)35 b(dimensions)d(conform)
+i(to)g(dimension)f(sizes)h(of)150 5121 y Fz(input-\014le)p
+FD(.)59 b(The)37 b(app)s(end)e(features)i(of)g Fy(ncks)f
+FD(are)h(in)m(tended)f(to)i(pro)m(vide)f(a)g(rudimen)m(tary)f(means)h
+(of)150 5230 y(adding)28 b(data)h(from)f(one)h(netCDF)g(\014le)g(to)g
+(another,)g(conforming,)h(netCDF)f(\014le.)40 b(If)28
+b(naming)g(con\015icts)150 5340 y(exist)k(b)s(et)m(w)m(een)g(the)g(t)m
+(w)m(o)g(\014les,)g(data)g(in)f Fz(output-\014le)37 b
+FD(is)31 b(usually)g(o)m(v)m(erwritten)i(b)m(y)e(the)h(corresp)s
+(onding)p eop end
+%%Page: 174 180
+TeXDict begin 174 179 bop 150 -116 a FD(174)2582 b FC(NCO)30
+b FD(4.4.2)j(User)d(Guide)150 299 y(data)40 b(from)e
+Fz(input-\014le)p FD(.)66 b(Th)m(us,)41 b(when)d(app)s(ending,)i(the)f
+(user)f(should)g(bac)m(kup)h Fz(output-\014le)44 b FD(in)39
+b(case)150 408 y(v)-5 b(aluable)31 b(data)g(are)g(inadv)m(ertan)m(tly)h
+(o)m(v)m(erwritten.)275 568 y(If)h Fz(output-\014le)38
+b FD(exists,)d(the)f(user)f(will)h(b)s(e)f(queried)g(whether)g(to)h
+Fz(o)m(v)m(erwrite)p FD(,)i Fz(app)s(end)p FD(,)d(or)g
+Fz(exit)k FD(the)150 677 y Fy(ncks)f FD(call)j(completely)-8
+b(.)63 b(Cho)s(osing)37 b Fz(o)m(v)m(erwrite)44 b FD(destro)m(ys)38
+b(the)g(existing)g Fz(output-\014le)k FD(and)37 b(create)i(an)150
+787 y(en)m(tirely)33 b(new)e(one)h(from)f(the)h(output)f(of)h(the)g
+Fy(ncks)f FD(call.)46 b(App)s(end)29 b(has)j(di\013ering)f(e\013ects)i
+(dep)s(ending)150 897 y(on)28 b(the)h(uniqueness)e(of)i(the)f(v)-5
+b(ariables)29 b(and)f(attributes)h(output)f(b)m(y)g Fy(ncks)p
+FD(:)39 b(If)28 b(a)h(v)-5 b(ariable)29 b(or)f(attribute)150
+1006 y(extracted)d(from)d Fz(input-\014le)28 b FD(do)s(es)23
+b(not)g(ha)m(v)m(e)h(a)g(name)f(con\015ict)h(with)f(the)g(mem)m(b)s
+(ers)g(of)g Fz(output-\014le)28 b FD(then)150 1116 y(it)34
+b(will)f(b)s(e)g(added)g(to)h Fz(output-\014le)k FD(without)33
+b(o)m(v)m(erwriting)i(an)m(y)f(of)f(the)g(existing)i(con)m(ten)m(ts)g
+(of)e Fz(output-)150 1225 y(\014le)p FD(.)48 b(In)32
+b(this)h(case)h(the)f(relev)-5 b(an)m(t)34 b(dimensions)e(m)m(ust)h
+(agree)h(\(conform\))f(b)s(et)m(w)m(een)h(the)f(t)m(w)m(o)h(\014les;)g
+(new)150 1335 y(dimensions)h(are)h(created)h(in)f Fz(output-\014le)41
+b FD(as)36 b(required.)57 b(When)35 b(a)i(name)e(con\015ict)i(o)s
+(ccurs,)g(a)g(global)150 1445 y(attribute)30 b(from)f
+Fz(input-\014le)34 b FD(will)c(o)m(v)m(erwrite)h(the)f(corresp)s
+(onding)f(global)h(attribute)h(from)e Fz(output-\014le)p
+FD(.)150 1554 y(If)j(the)h(name)g(con\015ict)g(o)s(ccurs)f(for)h(a)g
+(non-record)f(v)-5 b(ariable,)34 b(then)e(the)h(dimensions)f(and)g(t)m
+(yp)s(e)h(of)g(the)150 1664 y(v)-5 b(ariable)28 b(\(and)f(of)g(its)h
+(co)s(ordinate)g(dimensions,)f(if)g(an)m(y\))h(m)m(ust)f(agree)h
+(\(conform\))g(in)f(b)s(oth)f(\014les.)40 b(Then)150
+1773 y(the)27 b(v)-5 b(ariable)28 b(v)-5 b(alues)28 b(\(and)e(an)m(y)i
+(co)s(ordinate)g(dimension)e(v)-5 b(alues\))28 b(from)f
+Fz(input-\014le)32 b FD(will)27 b(o)m(v)m(erwrite)i(the)150
+1883 y(corresp)s(onding)g(v)-5 b(ariable)32 b(v)-5 b(alues)30
+b(\(and)g(co)s(ordinate)i(dimension)d(v)-5 b(alues,)31
+b(if)g(an)m(y\))g(in)f Fz(output-\014le)3547 1850 y Ft(1)3584
+1883 y FD(.)275 2042 y(Since)21 b(there)h(can)g(only)g(b)s(e)f(one)g
+(record)h(dimension)f(in)g(a)h(\014le,)i(the)e(record)f(dimension)g(m)m
+(ust)h(ha)m(v)m(e)h(the)150 2152 y(same)h(name)g(\(though)f(not)h
+(necessarily)h(the)e(same)i(size\))f(in)g(b)s(oth)e(\014les)i(if)g(a)g
+(record)f(dimension)g(v)-5 b(ariable)150 2262 y(is)33
+b(to)i(b)s(e)d(app)s(ended.)49 b(If)32 b(the)i(record)f(dimensions)g
+(are)h(of)f(di\013ering)h(sizes,)h(the)f(record)f(dimension)g(of)150
+2371 y Fz(output-\014le)41 b FD(will)36 b(b)s(ecome)g(the)f(greater)i
+(of)f(the)g(t)m(w)m(o)h(record)e(dimension)g(sizes,)j(the)e(record)f(v)
+-5 b(ariable)150 2481 y(from)33 b Fz(input-\014le)38
+b FD(will)c(o)m(v)m(erwrite)h(an)m(y)f(coun)m(terpart)g(in)f
+Fz(output-\014le)38 b FD(and)33 b(\014ll)h(v)-5 b(alues)33
+b(will)h(b)s(e)f(written)150 2590 y(to)d(an)m(y)g(gaps)g(left)g(in)g
+(the)f(rest)h(of)g(the)g(record)f(v)-5 b(ariables)30
+b(\(I)g(think\).)40 b(In)29 b(all)i(cases)f(v)-5 b(ariable)30
+b(attributes)150 2700 y(in)f Fz(output-\014le)34 b FD(are)29
+b(sup)s(erseded)e(b)m(y)i(attributes)h(of)f(the)g(same)g(name)g(from)g
+Fz(input-\014le)p FD(,)g(and)f(left)i(alone)150 2809
+y(if)g(there)h(is)f(no)h(name)f(con\015ict.)275 2969
+y(Some)j(users)f(ma)m(y)i(wish)f(to)h(a)m(v)m(oid)h(in)m(teractiv)m(e)h
+Fy(ncks)c FD(queries)i(ab)s(out)f(whether)f(to)i(o)m(v)m(erwrite)h(ex-)
+150 3078 y(isting)j(data.)62 b(F)-8 b(or)38 b(example,)i(batc)m(h)e
+(scripts)f(will)h(fail)g(if)f Fy(ncks)f FD(do)s(es)h(not)h(receiv)m(e)h
+(resp)s(onses)d(to)j(its)150 3188 y(queries.)h(Options)29
+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
+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
+(is)f(used)g(b)m(y)h(default)g(in)f FC(CDL)p FD(-mo)s(de)h(prin)m
+(ting,)630 4155 y(and)39 b(ma)m(y)h(b)s(e)f(selected)h(for)g
+(traditional)g(mo)s(de)f(prin)m(ting)h(with)f(`)p Fy(-5)p
+FD(')g(\(The)g(switc)m(h)h(for)630 4265 y(in)m(v)m(o)s(cation)32
+b(ma)m(y)f(c)m(hange)h(to)f(something)g(more)f(descriptiv)m(e)i(in)e
+(the)g(future\).)150 4423 y(`)p Fy(-a)p FD(')334 b(Do)33
+b(not)f(alphab)s(etize)h(extracted)g(\014elds.)45 b(By)32
+b(default,)h(the)f(sp)s(eci\014ed)g(output)f(v)-5 b(ariables)630
+4532 y(are)38 b(extracted,)i(prin)m(ted,)f(and)d(written)i(to)f(disk)g
+(in)g(alphab)s(etical)h(order.)61 b(This)36 b(tends)630
+4642 y(to)h(mak)m(e)f(long)h(output)e(lists)h(easier)h(to)g(searc)m(h)f
+(for)g(particular)g(v)-5 b(ariables.)57 b(Sp)s(ecifying)630
+4752 y Fy(-a)32 b FD(results)f(in)h(the)h(v)-5 b(ariables)32
+b(b)s(eing)g(extracted,)i(prin)m(ted,)f(and)e(written)h(to)h(disk)f(in)
+g(the)630 4861 y(order)i(in)f(whic)m(h)h(they)g(w)m(ere)h(sa)m(v)m(ed)g
+(in)f(the)g(input)f(\014le.)52 b(Th)m(us)34 b Fy(-a)f
+FD(retains)h(the)h(original)630 4971 y(ordering)30 b(of)h(the)f(v)-5
+b(ariables.)42 b(Also)31 b(`)p Fy(--abc)p FD(')e(and)h(`)p
+Fy(--alphabetize)p FD('.)p 150 5066 1200 4 v 199 5134
+a Ft(1)306 5166 y Fs(Those)j(familiar)i(with)d(netCDF)g(mec)n(hanics)g
+(migh)n(t)g(wish)h(to)f(kno)n(w)g(what)g(is)h(happ)r(ening)f(here:)47
+b Fr(ncks)33 b Fs(do)r(es)f(not)275 5253 y(attempt)d(to)h(rede\014ne)f
+(the)h(v)l(ariable)g(in)g Fm(output-\014le)j Fs(to)d(matc)n(h)g(its)g
+(de\014nition)f(in)h Fm(input-\014le)p Fs(,)g Fr(ncks)h
+Fs(merely)f(copies)275 5340 y(the)25 b(v)l(alues)h(of)g(the)f(v)l
+(ariable)h(and)g(its)g(co)r(ordinate)h(dimensions,)f(if)h(an)n(y)-6
+b(,)25 b(from)h Fm(input-\014le)j Fs(to)d Fm(output-\014le)p
+Fs(.)p eop end
+%%Page: 175 181
+TeXDict begin 175 180 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(175)150
+299 y(`)p Fy(-b)30 b(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(')27 b(and)h(`)p Fy(--binary-file)p FD('.)37 b(W)-8
+b(riting)29 b(pac)m(k)m(ed)h(v)-5 b(ariables)29 b(in)f(binary)g(format)
+h(is)630 518 y(not)i(supp)s(orted.)150 690 y(`)p Fy(--fix_rec_dmn)p
+FD(')630 800 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 909 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 1019 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 1129 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 1238 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 1348 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
+1457 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
+1567 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
+1677 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 1786 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 1896 y(next.)630 2037 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 2146 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 2256 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 2365 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
+2475 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 2585
+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
+2694 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 2804
+y([Group)30 b(P)m(ath)h(Editing],)g(page)g(44\).)630
+2945 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 3054 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 3164 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 3273 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
+3383 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 3493 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 3602 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 3712 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 3821 y(tributes.)150 3994 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 4103 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 4213 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)630 4322 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 4432 y FC(CDL)c
+FD(prin)m(ting:)870 4573 y Fy(zender at roulee:~$)43 b(ncks)k(-v)g(one)g
+(~/nco/data/in.nc)870 4682 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 4792 y(one)h(size)g(\(RAM\))f(=)h(1*sizeof\(NC_FLOAT\))c(=)48
+b(1*4)f(=)g(4)g(bytes)870 4902 y(one)g(attribute)e(0:)i(long_name,)e
+(size)i(=)g(3)h(NC_CHAR,)d(value)i(=)g(one)870 5121 y(one)g(=)g(1)870
+5340 y(zender at roulee:~$)c(ncks)k(--cdl)f(-v)i(one)e(~/nco/data/in.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.2)j(User)d(Guide)870 299 y Fy(netcdf)46 b(in)h({)965
+518 y(variables:)1061 628 y(float)f(one)h(;)1061 737
+y(one:long_name)d(=)k("one")e(;)965 956 y(data:)1061
+1066 y(one)h(=)g(1)h(;)870 1285 y(})f(//)h(group)e(/)630
+1417 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 1548 y Fy(ncks)47
+b(--cdl)f(-v)h(one)g(~/nco/data/in.nc)c(>)48 b(~/in.cdl)870
+1658 y(ncgen)e(-k)i(netCDF-4)d(-b)i(-o)g(~/in.nc)f(~/in.cdl)870
+1767 y(ncks)h(-v)g(one)g(~/in.nc)630 1899 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
+2008 y(netCDF3)31 b FC(CDL)g FD(in)m(to)g(an)g FC(HDF)g
+FD(\014le:)870 2140 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
+2250 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 2359
+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 2469 y(hdp)i(dumpsds)f
+(~/in.hdf)1143 b(#)47 b(ncdump-equivalent)d(for)i(HDF4)h(files)630
+2600 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
+2710 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
+2819 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
+2929 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 3082 y(`)p Fy(--mk_rec_dmn)27
+b Fn(dim)p FD(')630 3192 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 3302 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 3411 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 3521 y(Concatenator],)g(page)f(167)g(and)f(Section)h(4.8)g([ncp)s
+(dq)d(netCDF)j(P)m(erm)m(ute)g(Dimensions)630 3630 y(Quic)m(kly],)38
+b(page)e(186)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
+3740 y(cluding)30 b(the)h(record)f(dimension.)150 3893
+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 4003 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
+4113 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 4222 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
+4332 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 4441 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 4551 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 4661 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
+4770 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
+4880 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
+5011 y Fy(\045)47 b(ncks)g(-C)g(-v)g(three_dmn_var)e(in.nc)870
+5121 y(lat[0]=-90)g(lev[0]=100)g(lon[0]=0)h(three_dmn_var[0]=0)870
+5230 y(lat[0]=-90)f(lev[0]=100)g(lon[1]=90)g(three_dmn_var[1]=1)870
+5340 y(lat[0]=-90)g(lev[0]=100)g(lon[2]=180)g(three_dmn_var[2]=2)p
+eop end
+%%Page: 177 183
+TeXDict begin 177 182 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(177)870
+299 y Fy(...)870 408 y(lat[1]=90)45 b(lev[2]=1000)g(lon[1]=90)g
+(three_dmn_var[21]=21)870 518 y(lat[1]=90)g(lev[2]=1000)g(lon[2]=180)g
+(three_dmn_var[22]=22)870 628 y(lat[1]=90)g(lev[2]=1000)g(lon[3]=270)g
+(three_dmn_var[23]=23)630 784 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 894 y(with)30
+b(F)-8 b(ortran)31 b(con)m(v)m(en)m(tions)870 1050 y
+Fy(\045)47 b(ncks)g(-F)g(-C)g(-v)h(three_dmn_var)c(in.nc)870
+1160 y(lon\(1\)=0)i(lev\(1\)=100)f(lat\(1\)=-90)g(three_dmn_var\(1\)=0)
+870 1270 y(lon\(2\)=90)g(lev\(1\)=100)g(lat\(1\)=-90)g
+(three_dmn_var\(2\)=1)870 1379 y(lon\(3\)=180)g(lev\(1\)=100)g
+(lat\(1\)=-90)g(three_dmn_var\(3\)=2)870 1489 y(...)630
+1645 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
+1755 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
+1864 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 1974 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
+2131 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 2240 y(...)870 2350
+y(lat[1]=90)f(lev[2]=1000)g(lon[0]=0)h(three_dmn_var[20]=20)870
+2459 y(lat[1]=90)f(lev[2]=1000)g(lon[1]=90)g(three_dmn_var[21]=21)870
+2569 y(lat[1]=90)g(lev[2]=1000)g(lon[2]=180)g(three_dmn_var[22]=22)870
+2679 y(lat[1]=90)g(lev[2]=1000)g(lon[3]=270)g(three_dmn_var[23]=23)870
+2788 y(\045)i(ncks)g(-C)g(-v)g(three_dmn_var)e(out.nc)870
+2898 y(lat[0]=90)g(lev[0]=1000)g(lon[0]=0)h(three_dmn_var[0]=20)870
+3007 y(lat[0]=90)f(lev[0]=1000)g(lon[1]=90)g(three_dmn_var[1]=21)870
+3117 y(lat[0]=90)g(lev[0]=1000)g(lon[2]=180)g(three_dmn_var[2]=22)870
+3226 y(lat[0]=90)g(lev[0]=1000)g(lon[3]=270)g(three_dmn_var[3]=23)150
+3430 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 3540 y(includes)20 b(\014le)g(summary)f
+(information)i(and)f(global)h(and)f(group)g(attributes.)38
+b(Also)21 b(`)p Fy(--Mtd)p FD(')630 3649 y(and)44 b(`)p
+Fy(--Metadata)p FD('.)81 b(By)45 b(default)f Fy(ncks)g
+FD(prin)m(ts)g(global)h(metadata)i(to)e(screen)g(if)f(no)630
+3759 y(netCDF)31 b(output)g(\014le)f(and)g(no)h(v)-5
+b(ariable)32 b(extraction)g(list)f(is)g(sp)s(eci\014ed)f(\(with)h(`)p
+Fy(-v)p FD('\).)42 b(Use)630 3868 y(`)p Fy(-M)p FD(')37
+b(to)h(prin)m(t)e(global)j(metadata)g(to)e(screen)h(if)f(a)g(netCDF)h
+(output)e(is)i(sp)s(eci\014ed,)g(or)f(if)630 3978 y(a)f(v)-5
+b(ariable)37 b(extraction)g(list)g(is)e(sp)s(eci\014ed)g(\(with)h(`)p
+Fy(-v)p FD('\).)57 b(Use)36 b(`)p Fy(-M)p FD(')g(to)h(turn-o\013)e(cop)
+m(ying)630 4088 y(of)k(global)g(and)f(group)g(metadata)i(when)e(cop)m
+(ying,)k(subsetting,)e(or)f(app)s(ending)e(to)i(an)630
+4197 y(output)30 b(\014le.)630 4354 y(The)e(v)-5 b(arious)28
+b(com)m(binations)h(of)f(prin)m(ting)g(switc)m(hes)g(can)h(b)s(e)e
+(confusing.)40 b(In)27 b(an)h(attempt)630 4463 y(to)k(an)m(ticipate)i
+(what)d(most)h(users)e(w)m(an)m(t)i(to)g(do,)g Fy(ncks)e
+FD(uses)h(con)m(text-sensitiv)m(e)k(defaults)630 4573
+y(for)26 b(prin)m(ting.)40 b(Our)25 b(goal)j(is)e(to)i(minimize)f(the)f
+(use)g(of)h(switc)m(hes)g(required)f(to)h(accomplish)630
+4682 y(the)c(common)f(op)s(erations.)38 b(W)-8 b(e)24
+b(assume)e(that)h(users)f(creating)h(a)g(new)f(\014le)g(or)h(o)m(v)m
+(erwriting)630 4792 y(\(e.g.,)43 b(with)38 b(`)p Fy(-O)p
+FD('\))h(an)g(existing)h(\014le)e(usually)h(wish)f(to)h(cop)m(y)h(all)g
+(global)g(and)e(v)-5 b(ariable-)630 4902 y(sp)s(eci\014c)28
+b(attributes)g(to)h(the)f(new)f(\014le.)40 b(In)27 b(con)m(trast,)j(w)m
+(e)e(assume)g(that)g(users)f(app)s(ending)630 5011 y(\(e.g.,)32
+b(with)e(`)p Fy(-A)p FD(')g(an)g(explicit)i(v)-5 b(ariable)30
+b(list)h(from)f(one)g(\014le)h(to)g(another)f(usually)g(wish)f(to)630
+5121 y(cop)m(y)j(only)f(the)h(v)-5 b(ariable-sp)s(eci\014c)32
+b(attributes)g(to)g(the)g(output)e(\014le.)44 b(The)31
+b(switc)m(hes)h(`)p Fy(-H)p FD(',)630 5230 y(`)p Fy(-M)p
+FD(',)42 b(and)e(`)p Fy(-m)p FD(')g(switc)m(hes)g(are)h(implemen)m(ted)
+f(as)g(toggles)i(whic)m(h)e(rev)m(erse)h(the)f(default)630
+5340 y(b)s(eha)m(vior.)g(The)28 b(most)g(confusing)g(asp)s(ect)h(of)f
+(this)h(is)f(that)h(`)p Fy(-M)p FD(')f(inhibits)f(cop)m(ying)j(global)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.2)j(User)d(Guide)630 299 y(metadata)j(in)d(o)m(v)m(erwrite)j
+(mo)s(de)e(and)f(causes)i(cop)m(ying)g(of)f(global)h(metadata)h(in)e
+(app)s(end)630 408 y(mo)s(de.)870 545 y Fy(ncks)810 b(in.nc)381
+b(#)47 b(Print)94 b(VAs)47 b(and)g(GAs)870 655 y(ncks)476
+b(-v)47 b(one)g(in.nc)381 b(#)47 b(Print)94 b(VAs)47
+b(not)g(GAs)870 765 y(ncks)190 b(-M)g(-v)47 b(one)g(in.nc)381
+b(#)47 b(Print)94 b(GAs)47 b(only)870 874 y(ncks)333
+b(-m)47 b(-v)g(one)g(in.nc)381 b(#)47 b(Print)94 b(VAs)47
+b(only)870 984 y(ncks)190 b(-M)47 b(-m)g(-v)g(one)g(in.nc)381
+b(#)47 b(Print)94 b(VAs)47 b(and)g(GAs)870 1093 y(ncks)g(-O)667
+b(in.nc)47 b(out.nc)f(#)h(Copy)142 b(VAs)47 b(and)g(GAs)870
+1203 y(ncks)g(-O)333 b(-v)47 b(one)g(in.nc)g(out.nc)f(#)h(Copy)142
+b(VAs)47 b(and)g(GAs)870 1313 y(ncks)g(-O)g(-M)190 b(-v)47
+b(one)g(in.nc)g(out.nc)f(#)h(Copy)142 b(VAs)47 b(not)g(GAs)870
+1422 y(ncks)g(-O)190 b(-m)47 b(-v)g(one)g(in.nc)g(out.nc)f(#)h(Copy)142
+b(GAs)47 b(not)g(VAs)870 1532 y(ncks)g(-O)g(-M)g(-m)g(-v)g(one)g(in.nc)
+g(out.nc)f(#)h(Copy)142 b(only)47 b(data)g(\(no)f(atts\))870
+1641 y(ncks)h(-A)667 b(in.nc)47 b(out.nc)f(#)h(Append)f(VAs)h(and)g
+(GAs)870 1751 y(ncks)g(-A)333 b(-v)47 b(one)g(in.nc)g(out.nc)f(#)h
+(Append)f(VAs)h(not)g(GAs)870 1861 y(ncks)g(-A)g(-M)190
+b(-v)47 b(one)g(in.nc)g(out.nc)f(#)h(Append)f(VAs)h(and)g(GAs)870
+1970 y(ncks)g(-A)190 b(-m)47 b(-v)g(one)g(in.nc)g(out.nc)f(#)h(Append)f
+(only)h(data)g(\(no)f(atts\))870 2080 y(ncks)h(-A)g(-M)g(-m)g(-v)g(one)
+g(in.nc)g(out.nc)f(#)h(Append)f(GAs)h(not)g(VAs)630 2217
+y FD(where)30 b Fy(VAs)f FD(and)h Fy(GAs)g FD(denote)h(v)-5
+b(ariable)31 b(and)e(group/global)j(attributes,)f(resp)s(ectiv)m(ely)-8
+b(.)150 2381 y(`)p Fy(-m)p FD(')334 b(T)-8 b(urn-on)36
+b(prin)m(ting)h(to)h(screen)f(or)g(turn-o\013)g(cop)m(ying)h(v)-5
+b(ariable)37 b(metadata.)63 b(Using)37 b(`)p Fy(-m)p
+FD(')630 2491 y(will)j(prin)m(t)g(v)-5 b(ariable)40 b(metadata)i(to)e
+(screen)g(\(similar)h(to)f Fn(ncdump)29 b(-h)p FD(\).)69
+b(This)39 b(displa)m(ys)630 2600 y(all)32 b(metadata)g(p)s(ertaining)f
+(to)h(eac)m(h)g(v)-5 b(ariable,)32 b(one)f(v)-5 b(ariable)31
+b(at)h(a)f(time.)43 b(This)30 b(includes)630 2710 y(information)37
+b(on)f(the)h(storage)g(prop)s(erties)f(of)h(the)f(v)-5
+b(ariable,)39 b(suc)m(h)d(as)h(whether)f(it)h(em-)630
+2819 y(plo)m(ys)45 b(c)m(h)m(unking,)i(compression,)h(or)d(pac)m(king.)
+83 b(Also)44 b(activ)-5 b(ated)47 b(using)c(`)p Fy(--mtd)p
+FD(')h(and)630 2929 y(`)p Fy(--metadata)p FD('.)36 b(The)21
+b Fy(ncks)g FD(default)h(b)s(eha)m(vior)h(is)f(to)h(prin)m(t)e(v)-5
+b(ariable)23 b(metadata)h(to)f(screen)630 3039 y(if)38
+b(no)f(netCDF)h(output)f(\014le)h(is)g(sp)s(eci\014ed.)62
+b(Use)37 b(`)p Fy(-m)p FD(')h(to)g(prin)m(t)g(v)-5 b(ariable)38
+b(metadata)h(to)630 3148 y(screen)i(if)g(a)g(netCDF)h(output)e(is)h(sp)
+s(eci\014ed.)72 b(Also)41 b(use)g(`)p Fy(-m)p FD(')g(to)g(turn-o\013)g
+(cop)m(ying)h(of)630 3258 y(v)-5 b(ariable)31 b(metadata)h(to)f(an)g
+(output)f(\014le.)150 3422 y(`)p Fy(--no_blank)p FD(')630
+3532 y(Prin)m(t)i(n)m(umeric)g(represen)m(tation)g(of)g(missing)g(v)-5
+b(alues.)46 b(As)31 b(of)h FC(NCO)g FD(As)g(of)g FC(NCO)f
+FD(v)m(ersion)630 3641 y(4.2.2)d(\(Octob)s(er,)g(2012\),)i
+FC(NCO)c FD(prin)m(ts)g(missing)g(v)-5 b(alues)27 b(as)f(blanks)g
+(\(i.e.,)j(the)e(underscore)630 3751 y(c)m(haracter)37
+b(`)p Fy(_)p FD('\))f(b)m(y)g(default.)57 b(T)-8 b(o)36
+b(enable)g(the)g(old)f(b)s(eha)m(vior)h(of)g(prin)m(ting)f(the)h(n)m
+(umeric)630 3861 y(represen)m(tation)j(of)g(missing)f(v)-5
+b(alues)39 b(\(e.g.,)j Fy(1.0e36)p FD(\),)d(use)f(the)g(`)p
+Fy(--no_blank)p FD(')e(switc)m(h.)630 3970 y(Also)31
+b(activ)-5 b(ated)32 b(using)e(`)p Fy(--noblank)p FD(')f(or)h(`)p
+Fy(--no-blank)p FD('.)150 4134 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 4244 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 4354
+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 4518 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
+4628 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 4737 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
+4902 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 5011 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 5121 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(34\),)h
+Fy(ncks)d FD(au-)630 5230 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 5340 y(ically)k(trying)e(to)h(prin)m
+(t)f(them.)41 b(Also)31 b(`)p Fy(--quiet)p FD('.)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)150
+299 y(`)p Fy(-s)30 b Fn(format)p FD(')630 408 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 518 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 682 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 792
+y(`)p Fy(--units)p FD('.)150 956 y(`)p Fy(--xml,)29 b(--ncml)p
+FD(')630 1066 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 1176 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 1285 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
+1395 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 1504
+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 1614
+y Fy(ncks)29 b FD(\\traditional")k(with)d FC(XML)h FD(prin)m(ting:)870
+1751 y Fy(zender@@roulee:~$)43 b(ncks)k(-v)g(one)g(~/nco/data/in.nc)870
+1861 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
+1970 y(one)h(size)g(\(RAM\))f(=)h(1*sizeof\(NC_FLOAT\))c(=)48
+b(1*4)f(=)g(4)g(bytes)870 2080 y(one)g(attribute)e(0:)i(long_name,)e
+(size)i(=)g(3)h(NC_CHAR,)d(value)i(=)g(one)870 2299 y(one)g(=)g(1)870
+2518 y(zender at roulee:~$)c(ncks)k(--xml)f(-v)i(one)e(~/nco/data/in.nc)
+870 2628 y(<?xml)g(version="1.0")f(encoding="UTF-8"?>)870
+2737 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 2847 y(<variable)k(name="one")f
+(type="float")f(shape="">)1061 2956 y(<attribute)h(name="long_name")e
+(separator="*")h(value="one")h(/>)1061 3066 y(<values>1.</values>)965
+3176 y(</variable>)870 3285 y(</netcdf>)630 3422 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
+3532 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 3641 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 3751
+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
+3861 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 3998 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 4107 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 4217 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 4326 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 4436 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 4545 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 4655
+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
+4765 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
+4874 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
+4984 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 5121 y Fy(zender@@roulee:~$)43
+b(ncks)k(--xml)f(-d)h(time,0,3)f(-v)h(two_dmn_rec_var_sng)c(in.nc)870
+5230 y(...)1013 5340 y(<values)j(separator="*">abc*bcd*cd)o(e*de)o
+(f</v)o(alu)o(es>)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.2)j(User)d(Guide)918 299 y Fy(...)918 408 y(zender@@roulee:~$)
+43 b(ncks)j(--xml_spr_chr=',)e(')j(-v)g(two_dmn_rec_var_sng)c(in.nc)870
+518 y(...)870 628 y(<values)j(separator=",)e(">abc,)i(bcd,)h(cde,)g
+(def,)f(efg,)h(fgh,)g(ghi,)f(hij,)h(jkl,)f(klm</values>)870
+737 y(...)870 847 y(zender@@roulee:~$)d(ncks)k(--xml)f(-v)h
+(one_dmn_rec_var)d(in.nc)870 956 y(...)870 1066 y(<values>1)h(2)j(3)f
+(4)h(5)f(6)h(7)f(8)g(9)h(10</values>)870 1176 y(...)870
+1285 y(zender@@roulee:~$)43 b(ncks)k(--xml_spr_nmr=',)c(')48
+b(-v)f(one_dmn_rec_var)c(in.nc)870 1395 y(...)870 1504
+y(<values)j(separator=",)e(">1,)j(2,)g(3,)g(4,)g(5,)h(6,)f(7,)g(8,)g
+(9,)g(10</values>)870 1614 y(...)630 1744 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 1854
+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
+1963 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
+2073 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 2183 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 2292 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 2402
+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 2511
+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
+2621 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
+2731 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
+2840 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
+2950 y(\(e.g.,)d(commas,)g(angles,)f(quotes\).)150 3141
+y Fu(4.7.2)63 b(Filters)41 b(for)h Fl(ncks)150 3288 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 3397 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
+3507 y(in)30 b(a)h(\014le)f(try)390 3666 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 3826 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 3935 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
+4045 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 4154 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 4264 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
+4374 y Fy(grep)h FD(and)h Fy(cut)f FD(\014lter)i(is)f(desirable,)h(suc)
+m(h)f(as)390 4533 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 4692 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 4802 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 4961 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
+5121 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 5230 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 5340
+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)p eop end
+%%Page: 181 187
+TeXDict begin 181 186 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(181)390
+299 y Fy(\045)47 b(ncattget)f(purpose)g(z)h(in.nc)390
+408 y(Height)f(stored)g(with)h(a)g(monotonically)d(increasing)h
+(coordinate)390 518 y(\045)i(ncattget)f(Purpose)g(Z)h(in.nc)390
+628 y(Height)f(stored)g(with)h(a)g(monotonically)d(increasing)h
+(coordinate)390 737 y(\045)i(ncattget)f(history)g(z)h(in.nc)390
+847 y(\045)g(ncattget)f(history)g(global)g(in.nc)390
+956 y(History)g(global)g(attribute.)275 1121 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
+1230 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 1340 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 1450 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
+1559 y(all)j(attributes)g(of)g(the)f(v)-5 b(ariable)31
+b Fy(z)p FD(:)390 1724 y Fy(\045)47 b(ncattget)f(purpose)g(.+)h(in.nc)
+390 1833 y(1-D)g(latitude)e(coordinate)g(referred)h(to)h(by)g(geodesic)
+f(grid)h(variables)390 1943 y(1-D)g(longitude)e(coordinate)g(referred)h
+(to)h(by)g(geodesic)f(grid)g(variables)390 2052 y(...)390
+2162 y(\045)h(ncattget)f(.+)h(Z)h(in.nc)390 2271 y(Height)390
+2381 y(Height)e(stored)g(with)h(a)g(monotonically)d(increasing)h
+(coordinate)390 2491 y(meter)275 2655 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
+2765 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 2874 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
+2984 y(tiv)m(ely)-8 b(.)390 3148 y Fy(#)47 b(NB:)g(Untested)f(on)h
+(Csh,)g(Ksh,)f(Sh,)h(Zsh!)g(Send)g(us)g(feedback!)390
+3258 y(#)g(Bash)g(shell)f(\(/bin/bash\))f(users)i(place)f(these)g(in)h
+(.bashrc)390 3367 y(#)g(ncattget)f($att_nm)g($var_nm)g($fl_nm)g(:)h
+(What)g(attributes)e(does)h(variable)g(have?)390 3477
+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 3587 y(#)g(ncunits)f($att_val)g($fl_nm)g(:)h
+(Which)g(variables)e(have)i(given)f(units?)390 3696 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 3806 y(#)g(ncavg)g($var_nm)f($fl_nm)g(:)h(What)g
+(is)g(mean)g(of)g(variable?)390 3915 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
+4025 y(#)g(ncavg)g($var_nm)f($fl_nm)g(:)h(What)g(is)g(mean)g(of)g
+(variable?)390 4134 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 4244 y(#)g(ncdmnsz)f($dmn_nm)g
+($fl_nm)g(:)i(What)e(is)h(dimension)f(size?)390 4354
+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 4463 y(#)f(nclist)g($fl_nm)f(:)h(What)g(variables)e(are)i(in)g
+(file?)390 4573 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 4682 y(#)g(ncmax)g($var_nm)f($fl_nm)g(:)h(What)g
+(is)g(maximum)f(of)h(variable?)390 4792 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
+4902 y(#)g(ncmax)g($var_nm)f($fl_nm)g(:)h(What)g(is)g(maximum)f(of)h
+(variable?)390 5011 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 5121 y(#)g(ncmdn)g($var_nm)f($fl_nm)g
+(:)h(What)g(is)g(median)f(of)h(variable?)390 5230 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
+5340 y(#)g(ncrng)g($var_nm)f($fl_nm)g(:)h(What)g(is)g(range)f(of)i
+(variable?)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.2)j(User)d(Guide)390 299 y Fy(function)46 b(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 408 y(#)f(ncmode)g($var_nm)e($fl_nm)h
+(:)i(What)f(is)g(mode)f(of)i(variable?)390 518 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
+628 y(#)g(ncrecsz)f($fl_nm)g(:)i(What)e(is)i(record)e(dimension)f
+(size?)390 737 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 847 y(#)g(Csh)g(shell)g(\(/bin/csh\))e(users)h(place)g(these)h
+(in)g(.cshrc)390 956 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 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(})390
+1395 y(#)g(Sh)h(shell)e(\(/bin/sh\))f(users)i(place)f(these)g(in)i
+(.profile)390 1504 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 1614 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 1724
+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
+1833 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
+1993 y FD(EXAMPLES)275 2152 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 2311 y Fy(ncks)47
+b(-F)g(in.nc)275 2471 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 2630
+y Fy(ncks)47 b(in.nc)f(out.nc)275 2790 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 2899 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
+3009 y(A)m(ttribute],)28 b(page)e(95\))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)150 3118 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 3228 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 3337 y(a)j(\014le)f(is)h(useful)e(\(see)j
+(description)e(of)h Fy(-a)e FD(switc)m(h\).)275 3497
+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 3656 y Fy(ncks)47 b(-A)g(-x)g(~/nco/data/in.nc)c(~/out.nc)275
+3816 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 3925 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 4035
+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 4144 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 4254 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 4413 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 4523 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 4633 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 4742 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 4852 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
+4961 y(metadata)h(from)e(another:)390 5121 y Fy(#)47
+b(Extract)f(naked)h(\(data-only\))d(copies)i(of)i(two)f(variables)390
+5230 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 5340 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)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)390
+299 y Fy(ncap2)46 b(-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 408 y(#)k(Append)g(in2.nc)f
+(metadata)f(\(not)i(data!\))f(to)h(out.nc)390 518 y(ncks)g(-A)g(-C)g
+(-H)g(-v)g(one,three_dmn_rec_var)42 b(~/in2.nc)k(~/out.nc)275
+710 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 819 y(data\))31 b(from)f Fy(in2.nc)p FD(.)275
+1011 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 1121 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
+1230 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
+1422 y Fy(\045)47 b(ncks)g(-C)g(-v)g(three_dmn_var)e(in.nc)390
+1532 y(lat[0]=-90)g(lev[0]=100)g(lon[0]=0)h(three_dmn_var[0]=0)390
+1641 y(lat[0]=-90)f(lev[0]=100)g(lon[1]=90)g(three_dmn_var[1]=1)390
+1751 y(...)390 1861 y(lat[1]=90)g(lev[2]=1000)g(lon[3]=270)g
+(three_dmn_var[23]=23)390 1970 y(\045)i(ncks)g(-s)g('\045f\\n')f(-C)i
+(-v)f(three_dmn_var)d(in.nc)390 2080 y(0.000000)390 2189
+y(1.000000)390 2299 y(...)390 2408 y(23.000000)390 2518
+y(\045)j(ncks)g(-s)g('\045+16.10f\\n')e(-C)i(-v)g(three_dmn_var)d
+(in.nc)533 2628 y(+0.0000000000)533 2737 y(+1.0000000000)390
+2847 y(...)485 2956 y(+23.0000000000)390 3066 y(\045)j(ncks)g(-s)g
+('\045f,)g(')g(-C)h(-v)f(three_dmn_var)d(in.nc)390 3176
+y(0.000000,)h(1.000000,)h(...,)g(23.000000,)150 3367
+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
+3477 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 3587 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(153,)i(for)d(more)h(details)g(on)150
+3696 y(string)c(formatting)i(and)d(sp)s(ecial)i(c)m(haracters.)275
+3888 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 3998 y(underscore)d(c)m(haracter)i(`)
+p Fy(_)p FD('\))e(b)m(y)h(default:)390 4189 y Fy(\045)47
+b(ncks)g(-C)g(-H)g(-v)h(mss_val)d(in.nc)390 4299 y(lon[0]=0)h
+(mss_val[0]=73)390 4408 y(lon[1]=90)f(mss_val[1]=_)390
+4518 y(lon[2]=180)g(mss_val[2]=73)390 4628 y(lon[3]=270)g(mss_val[3]=_)
+390 4737 y(\045)i(ncks)g(-s)g('\045+5.1f,)f(')h(-H)g(-C)h(-v)f(mss_val)
+f(in.nc)390 4847 y(+73.0,)g(_,)h(+73.0,)f(_,)275 5039
+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
+5148 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 5340 y Fy(ncks)47 b(-v)g(fl_nm)f(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.2)j(User)d(Guide)150 299 y(The)j 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
+408 y(sen)m(ting)c(\014xed)f(length)h(strings)390 573
+y Fy(ncks)47 b(-s)g('\045c')f(-v)i(fl_nm_arr)d(in.nc)150
+737 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 847 y(strings\))31 b(is)f(lik)m(ely)i(to)f
+(result)f(in)g(a)h(core)g(dump.)275 1011 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
+1121 y(v)-5 b(ariable)31 b Fy(time)p FD(,)f(from)g(netCDF)h
+Fy(in.nc)p FD(:)390 1285 y Fy(ncks)47 b(-x)g(-v)g(time)g(in.nc)f
+(out.nc)275 1450 y FD(As)32 b(a)h(sp)s(ecial)h(case)g(of)e(this,)i
+(consider)f(ho)m(w)f(to)i(remo)m(v)m(e)g(a)f FC(CF)g
+FD(Con)m(v)m(en)m(tion)h(comlian)m(t)h Fy(bounds)c FD(or)150
+1559 y Fy(coordinates)f FD(v)-5 b(ariable)34 b(\(see)f(Section)h(3.37)h
+([CF)e(Con)m(v)m(en)m(tions],)i(page)f(96\))g(suc)m(h)f(as)g
+Fy(time_bounds)p FD(.)150 1669 y FC(NCO)39 b FD(subsetting)h(assumes)f
+(the)g(user)g(w)m(an)m(ts)h(all)g(co)s(ordinates)h(and)d(b)s(ounds)g
+(and)g(axes)i(asso)s(ciated)150 1778 y(with)34 b(all)g(extracted)h(v)-5
+b(ariables)35 b(\(see)g(Section)f(3.12)i([Subsetting)d(Co)s(ordinate)h
+(V)-8 b(ariables],)37 b(page)d(44\).)150 1888 y(Hence)f(to)h(exclude)f
+(a)g Fy(bounds)e FD(or)h Fy(coordinates)e FD(v)-5 b(ariable)34
+b(while)e(retaining)i(the)e(\\paren)m(t")i(v)-5 b(ariable)150
+1998 y(\(here)31 b Fy(time)p FD(\),)e(one)i(m)m(ust)f(use)g(the)h(`)p
+Fy(-C)p FD(')f(switc)m(h:)390 2162 y Fy(ncks)47 b(-C)g(-x)g(-v)g
+(time_bounds)e(in.nc)h(out.nc)275 2326 y FD(The)25 b(`)p
+Fy(-C)p FD(')h(switc)m(h)g(tells)h(the)f(op)s(erator)g
+Fo(NOT)37 b FD(to)27 b(necessarily)g(include)e(all)i(the)f
+FC(CF)g FD(co)s(ordinates)h(and)150 2436 y(b)s(ounds)h(and)i(axes.)41
+b(Hence)31 b(the)g(output)f(\014le)g(will)h(con)m(tain)h
+Fy(time)d FD(and)h(not)h Fy(time_bounds)p FD(.)275 2600
+y(Extract)i(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 2710 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 2819
+y Fy(out.nc)p FD(:)390 2984 y Fy(ncks)47 b(-v)g(time,pressure)d(in.nc)i
+(out.nc)390 3093 y(ncks)h(-C)g(-v)g(time,pressure)d(in.nc)j(out.nc)150
+3258 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 3367 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 3477 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
+3641 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 3751 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 3861 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
+3970 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 4080 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 4189 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 4299 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 4408 y([Hyp)s(erslabs],)i(page)h(53.)390
+4573 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 4682 y(-d)g(lev,1000.0)e(in.nc)i(out.nc)275
+4847 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 4956 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
+5066 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 5176 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 5340 y Fy(ncks)47
+b(-d)g(lon,260.0,45.0)d(in.nc)i(out.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)275
+299 y(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(61.)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.2)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
+Fy([,...)n(]])g([-X)g(...])f([-x])390 1385 y Fn(input-file)f
+Fy([)p Fn(output-file)p Fy(])150 1544 y FD(DESCRIPTION)275
+1704 y Fy(ncpdq)30 b FD(p)s(erforms)h(one)i(\(not)f(b)s(oth\))g(of)h(t)
+m(w)m(o)g(distinct)g(functions:)44 b(pac)m(king)33 b(or)f(dimension)g
+(p)s(erm)m(u-)150 1813 y(tation.)51 b Fy(ncpdq)31 b FD(is)j(optimized)g
+(to)g(p)s(erform)d(these)j(actions)g(in)f(a)h(parallel)g(fashion)f
+(with)g(a)h(minim)m(um)150 1923 y(of)e(time)g(and)e(memory)-8
+b(.)44 b(The)31 b Fz(p)s(dq)h FD(ma)m(y)g(stand)f(for)g(\\P)m(erm)m
+(ute)i(Dimensions)e(Quic)m(kly",)i(\\P)m(ac)m(k)g(Data)150
+2032 y(Quietly",)e(\\Pillory)h(Dan)f(Qua)m(yle",)g(or)g(other)f(silly)h
+(uses.)150 2231 y Fu(P)m(ac)m(king)40 b(and)g(Unpac)m(king)h(F)-10
+b(unctions)150 2378 y FD(The)36 b Fy(ncpdq)f FD(pac)m(king)j(\(and)e
+(unpac)m(king\))h(algorithms)h(are)f(describ)s(ed)e(in)i(Section)g
+(4.1.11)i([Metho)s(ds)150 2488 y(and)h(functions],)k(page)d(117,)k(and)
+40 b(are)h(also)h(implemen)m(ted)f(in)g Fy(ncap2)p FD(.)70
+b Fy(ncpdq)40 b FD(extends)h(the)g(func-)150 2597 y(tionalit)m(y)c(of)d
+(these)h(algorithms)h(b)m(y)e(pro)m(viding)g(high)g(lev)m(el)j(con)m
+(trol)e(of)g(the)g Fz(pac)m(king)g(p)s(olicy)43 b FD(so)34
+b(that)150 2707 y(users)27 b(can)i(consisten)m(tly)h(pac)m(k)f(\(and)f
+(unpac)m(k\))g(en)m(tire)h(\014les)g(with)f(one)g(command.)40
+b(The)28 b(user)f(sp)s(eci\014es)150 2816 y(the)j(desired)e(pac)m(king)
+j(p)s(olicy)e(with)g(the)h(`)p Fy(-P)p FD(')f(switc)m(h)h(\(or)f(its)h
+(long)g(option)g(equiv)-5 b(alen)m(ts,)31 b(`)p Fy(--pck_plc)p
+FD(')150 2926 y(and)k(`)p Fy(--pack_policy)p FD('\))e(and)i(its)h
+Fz(p)s(c)m(k)p 1533 2926 28 4 v 40 w(plc)41 b FD(argumen)m(t.)58
+b(F)-8 b(our)36 b(pac)m(king)g(p)s(olicies)h(are)f(curren)m(tly)g(im-)
+150 3036 y(plemen)m(ted:)150 3329 y Fz(P)m(ac)m(king)c(\(and)e(Re-P)m
+(ac)m(king\))j(V)-8 b(ariables)32 b([)p Fo(default)9
+b Fz(])630 3439 y FD(De\014nition:)41 b(P)m(ac)m(k)32
+b(unpac)m(k)m(ed)f(v)-5 b(ariables,)31 b(re-pac)m(k)h(pac)m(k)m(ed)f(v)
+-5 b(ariables)630 3548 y(Alternate)32 b(in)m(v)m(o)s(cation:)43
+b Fy(ncpack)630 3658 y Fz(p)s(c)m(k)p 775 3658 V 40 w(plc)36
+b FD(k)m(ey)31 b(v)-5 b(alues:)41 b(`)p Fy(all_new)p
+FD(',)29 b(`)p Fy(pck_all_new_att)p FD(')150 3926 y Fz(P)m(ac)m(king)j
+(\(and)e(not)h(Re-P)m(ac)m(king\))i(V)-8 b(ariables)630
+4036 y FD(De\014nition:)41 b(P)m(ac)m(k)32 b(unpac)m(k)m(ed)f(v)-5
+b(ariables,)31 b(cop)m(y)g(pac)m(k)m(ed)h(v)-5 b(ariables)630
+4146 y(Alternate)32 b(in)m(v)m(o)s(cation:)43 b(none)630
+4255 y Fz(p)s(c)m(k)p 775 4255 V 40 w(plc)36 b FD(k)m(ey)31
+b(v)-5 b(alues:)41 b(`)p Fy(all_xst)p FD(',)29 b(`)p
+Fy(pck_all_xst_att)p FD(')150 4524 y Fz(Re-P)m(ac)m(king)k(V)-8
+b(ariables)630 4633 y FD(De\014nition:)41 b(Re-pac)m(k)32
+b(pac)m(k)m(ed)g(v)-5 b(ariables,)31 b(cop)m(y)g(unpac)m(k)m(ed)f(v)-5
+b(ariables)630 4743 y(Alternate)32 b(in)m(v)m(o)s(cation:)43
+b(none)630 4852 y Fz(p)s(c)m(k)p 775 4852 V 40 w(plc)36
+b FD(k)m(ey)31 b(v)-5 b(alues:)41 b(`)p Fy(xst_new)p
+FD(',)29 b(`)p Fy(pck_xst_new_att)p FD(')150 5121 y Fz(Unpac)m(king)630
+5230 y FD(De\014nition:)41 b(Unpac)m(k)31 b(pac)m(k)m(ed)h(v)-5
+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: 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)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
+(command)150 876 y(line.)275 1067 y(Regardless)35 b(of)g(the)f(pac)m
+(king)i(p)s(olicy)f(selected,)i Fy(ncpdq)d FD(no)g(longer)h(\(as)h(of)e
+FC(NCO)h FD(v)m(ersion)g(4.0.4)h(in)150 1177 y(Octob)s(er,)30
+b(2010\))i(pac)m(ks)e(co)s(ordinate)h(v)-5 b(ariables,)30
+b(or)g(the)g(sp)s(ecial)g(v)-5 b(ariables,)31 b(w)m(eigh)m(ts,)g(and)e
+(other)h(grid)150 1287 y(prop)s(erties)21 b(describ)s(ed)g(in)h
+(Section)h(3.37)h([CF)e(Con)m(v)m(en)m(tions],)j(page)e(96.)39
+b(Prior)22 b Fy(ncpdq)f FD(v)m(ersions)h(treated)150
+1396 y(co)s(ordinate)35 b(v)-5 b(ariables)35 b(and)f(grid)g(prop)s
+(erties)g(no)g(di\013eren)m(tly)h(from)f(other)h(v)-5
+b(ariables.)53 b(Ho)m(w)m(ev)m(er,)38 b(co-)150 1506
+y(ordinate)33 b(v)-5 b(ariables)33 b(are)f(one-dimensional,)i(so)e(pac)
+m(king)h(sa)m(v)m(es)h(little)g(space)f(on)f(large)h(\014les,)g(and)f
+(the)150 1615 y(resulting)39 b(\014les)g(are)g(di\016cult)g(for)g(h)m
+(umans)e(to)j(read.)66 b Fy(ncpdq)38 b FD(will,)j(of)e(course,)j
+Fo(unp)-5 b(ack)49 b FD(co)s(ordinate)150 1725 y(v)-5
+b(ariables)33 b(and)f(w)m(eigh)m(ts,)i(for)f(example,)h(in)e(case)h
+(some)g(other,)g(non-)p FC(NCO)f FD(soft)m(w)m(are)i(pac)m(k)m(ed)g
+(them)e(in)150 1835 y(the)f(\014rst)e(place.)275 2026
+y(Concurren)m(tly)-8 b(,)42 b(Gaussian)f(and)e(area)i(w)m(eigh)m(ts)h
+(and)d(other)h(grid)g(prop)s(erties)g(are)g(often)h(used)e(to)150
+2136 y(deriv)m(e)29 b(\014elds)g(in)f(re-in\015ated)h(\(unpac)m(k)m
+(ed\))h(\014les,)g(so)f(pac)m(king)h(suc)m(h)e(grid)h(prop)s(erties)f
+(causes)h(a)h(consid-)150 2245 y(erable)38 b(loss)f(of)h(precision)f
+(in)g(do)m(wnstream)g(data)h(pro)s(cessing.)61 b(If)36
+b(users)h(express)f(strong)i(wishes)e(to)150 2355 y(pac)m(k)g(grid)e
+(prop)s(erties,)i(w)m(e)f(will)h(implemen)m(t)f(new)f(pac)m(king)i(p)s
+(olicies.)55 b(An)35 b(immediate)h(w)m(ork)-5 b(around)150
+2464 y(for)32 b(those)h(needing)g(to)g(pac)m(k)g(grid)f(prop)s(erties)g
+(no)m(w,)i(is)e(to)h(use)g(the)f Fy(ncap2)f FD(pac)m(king)j(functions)e
+(or)g(to)150 2574 y(rename)e(the)h(grid)f(prop)s(erties)g(prior)g(to)h
+(calling)h Fy(ncpdq)p FD(.)39 b(W)-8 b(e)31 b(w)m(elcome)i(y)m(our)d
+(feedbac)m(k.)275 2765 y(T)-8 b(o)34 b(reduce)f(required)g
+(memorization)j(of)e(these)g(complex)g(p)s(olicy)g(switc)m(hes,)i
+Fy(ncpdq)c FD(ma)m(y)j(also)g(b)s(e)150 2875 y(in)m(v)m(ok)m(ed)25
+b(via)g(a)f(synon)m(ym)g(or)g(with)g(switc)m(hes)g(that)h(imply)f(a)g
+(particular)g(p)s(olicy)-8 b(.)40 b Fy(ncpack)22 b FD(is)i(a)g(synon)m
+(ym)150 2985 y(for)32 b Fy(ncpdq)e FD(and)h(b)s(eha)m(v)m(es)h(the)g
+(same)g(in)g(all)g(resp)s(ects.)45 b(Both)33 b Fy(ncpdq)d
+FD(and)h Fy(ncpack)f FD(assume)i(a)g(default)150 3094
+y(pac)m(king)26 b(p)s(olicy)e(request)h(of)g(`)p Fy(all_new)p
+FD('.)37 b(Hence)25 b Fy(ncpack)e FD(ma)m(y)i(b)s(e)f(in)m(v)m(ok)m(ed)
+i(without)f(an)m(y)g(`)p Fy(-P)p FD(')f(switc)m(h,)150
+3204 y(unlik)m(e)36 b Fy(ncpdq)p FD(.)56 b(Similarly)-8
+b(,)38 b Fy(ncunpack)c FD(is)i(a)g(synon)m(ym)g(for)g
+Fy(ncpdq)e FD(except)j(that)g Fy(ncpack)d FD(implicitly)150
+3313 y(assumes)43 b(a)h(request)g(to)g(unpac)m(k,)j(i.e.,)h(`)p
+Fy(-P)30 b(pck_upk)p FD('.)79 b(Finally)-8 b(,)48 b(the)c
+Fy(ncpdq)e FD(`)p Fy(-U)p FD(')i(switc)m(h)g(\(or)g(its)150
+3423 y(long)32 b(option)g(equiv)-5 b(alen)m(ts,)33 b(`)p
+Fy(--upk)p FD(')d(and)g(`)p Fy(--unpack)p FD('\))g(requires)h(no)g
+(argumen)m(t.)44 b(It)31 b(simply)g(requests)150 3532
+y(unpac)m(king.)275 3724 y(Giv)m(en)i(the)g(menagerie)h(of)f(synon)m
+(yms,)f(equiv)-5 b(alen)m(t)35 b(options,)e(and)f(implied)h(options,)h
+(a)f(short)f(list)150 3833 y(of)j(some)g(equiv)-5 b(alen)m(t)36
+b(commands)f(is)f(appropriate.)54 b(The)34 b(follo)m(wing)j(commands)d
+(are)h(equiv)-5 b(alen)m(t)36 b(for)150 3943 y(pac)m(king:)45
+b Fy(ncpdq)29 b(-P)h(all_new)p FD(,)h Fy(ncpdq)e(--pck_plc=all_new)p
+FD(,)f(and)k Fy(ncpack)p FD(.)45 b(The)31 b(follo)m(wing)j(com-)150
+4053 y(mands)h(are)h(equiv)-5 b(alen)m(t)38 b(for)e(unpac)m(king:)52
+b Fy(ncpdq)29 b(-P)g(upk)p FD(,)37 b Fy(ncpdq)29 b(-U)p
+FD(,)37 b Fy(ncpdq)29 b(--pck_plc=unpack)p FD(,)150 4162
+y(and)j Fy(ncunpack)p FD(.)44 b(Equiv)-5 b(alen)m(t)33
+b(commands)f(for)g(other)g(pac)m(king)h(p)s(olicies,)h(e.g.,)g(`)p
+Fy(all_xst)p FD(',)e(follo)m(w)h(b)m(y)150 4272 y(analogy)-8
+b(.)63 b(Note)38 b(that)g Fy(ncpdq)e FD(synon)m(yms)g(are)i(sub)5
+b(ject)37 b(to)h(the)f(same)h(constrain)m(ts)g(and)e(recommen-)150
+4381 y(dations)h(discussed)e(in)h(the)h(secion)g(on)f
+Fy(ncbo)f FD(synon)m(yms)h(\(see)h(Section)g(4.3)h([ncb)s(o)e(netCDF)h
+(Binary)150 4491 y(Op)s(erator],)g(page)g(159\).)59 b(That)36
+b(is,)h(sym)m(b)s(olic)f(links)g(m)m(ust)g(exist)g(from)g(the)g(synon)m
+(ym)f(to)i Fy(ncpdq)p FD(,)f(or)150 4601 y(else)31 b(the)g(user)e(m)m
+(ust)i(de\014ne)e(an)i Fy(alias)p FD(.)275 4792 y(The)f
+Fy(ncpdq)g FD(pac)m(king)i(algorithms)h(m)m(ust)e(kno)m(w)g(to)h(whic)m
+(h)f(t)m(yp)s(e)h(particular)f(t)m(yp)s(es)h(of)f(input)f(v)-5
+b(ari-)150 4902 y(ables)24 b(are)f(to)i(b)s(e)d(pac)m(k)m(ed.)40
+b(The)23 b(corresp)s(ondence)f(b)s(et)m(w)m(een)i(the)g(input)e(v)-5
+b(ariable)24 b(t)m(yp)s(e)g(and)f(the)g(output,)150 5011
+y(pac)m(k)m(ed)37 b(t)m(yp)s(e,)g(is)f(called)g(the)g
+Fz(pac)m(king)h(map)p FD(.)56 b(The)35 b(user)g(sp)s(eci\014es)g(the)g
+(desired)g(pac)m(king)i(map)e(with)150 5121 y(the)f(`)p
+Fy(-M)p FD(')f(switc)m(h)h(\(or)g(its)g(long)g(option)g(equiv)-5
+b(alen)m(ts,)36 b(`)p Fy(--pck_map)p FD(')31 b(and)i(`)p
+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: 188 194
+TeXDict begin 188 193 bop 150 -116 a FD(188)2582 b FC(NCO)30
+b FD(4.4.2)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
+1336 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_BYTE)630
+1445 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 1555 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 1665 y Fz(p)s(c)m(k)p
+775 1665 V 40 w(map)33 b FD(k)m(ey)e(v)-5 b(alues:)41
+b(`)p Fy(flt_byt)p FD(',)29 b(`)p Fy(pck_map_flt_byt)p
+FD(')150 1935 y Fz(P)m(ac)m(k)j(Higher)f(Precisions)f(to)i
+Fy(NC_SHORT)630 2044 y FD(De\014nition:)41 b(P)m(ac)m(k)32
+b(higher)e(precision)h(t)m(yp)s(es)f(to)h Fy(NC_SHORT)630
+2154 y FD(Map:)102 b(P)m(ac)m(k)63 b([)p Fy(NC_DOUBLE)p
+FD(,)p Fy(NC_FLOAT)p FD(,)p Fy(NC_INT64)p FD(,)p Fy(NC_U)o(INT)o(64)p
+FD(,)p Fy(NC_)o(INT)p FD(,)p Fy(NC)o(_UI)o(NT)p FD(])55
+b(to)630 2263 y Fy(NC_SHORT)630 2373 y FD(T)m(yp)s(es)40
+b(copied)i(instead)f(of)h(pac)m(k)m(ed:)63 b([)p Fy(NC_SHORT)p
+FD(,)p Fy(NC_USHORT)p FD(,)p Fy(NC_CHAR)p FD(,)p Fy(NC_B)o(YTE)p
+FD(,)p Fy(NC)o(_)630 2483 y(UBYTE)p FD(])630 2592 y Fz(p)s(c)m(k)p
+775 2592 V 40 w(map)33 b FD(k)m(ey)e(v)-5 b(alues:)41
+b(`)p Fy(hgh_sht)p FD(',)29 b(`)p Fy(pck_map_hgh_sht)p
+FD(')150 2862 y Fz(P)m(ac)m(k)j(Higher)f(Precisions)f(to)i
+Fy(NC_BYTE)630 2972 y FD(De\014nition:)41 b(P)m(ac)m(k)32
+b(higher)e(precision)h(t)m(yp)s(es)f(to)h Fy(NC_BYTE)630
+3081 y FD(Map:)102 b(P)m(ac)m(k)62 b([)p Fy(NC_DOUBLE)p
+FD(,)p Fy(NC_FLOAT)p FD(,)p Fy(NC_INT64)p FD(,)p Fy(NC_)o(UIN)o(T64)p
+FD(,)p Fy(NC)o(_INT)o FD(,)p Fy(NC_U)o(INT)p FD(,)p Fy(NC)o(_)630
+3191 y(SHORT)p FD(,)p Fy(NC_USHORT)p FD(])27 b(to)k Fy(NC_BYTE)630
+3300 y FD(T)m(yp)s(es)f(copied)h(instead)f(of)h(pac)m(k)m(ed:)42
+b([)p Fy(NC_CHAR)p FD(,)p Fy(NC_BYTE)p FD(,)p Fy(NC_UBYTE)p
+FD(])630 3410 y Fz(p)s(c)m(k)p 775 3410 V 40 w(map)33
+b FD(k)m(ey)e(v)-5 b(alues:)41 b(`)p Fy(hgh_byt)p FD(',)29
+b(`)p Fy(pck_map_hgh_byt)p FD(')150 3680 y Fz(P)m(ac)m(k)j(to)f(Next)g
+(Lesser)g(Precision)630 3789 y FD(De\014nition:)41 b(P)m(ac)m(k)32
+b(eac)m(h)g(t)m(yp)s(e)e(to)h(t)m(yp)s(e)g(of)g(next)f(lesser)h(size)
+630 3899 y(Map:)41 b(P)m(ac)m(k)31 b([)p Fy(NC_DOUBLE)p
+FD(,)p Fy(NC_INT64)p FD(,)p Fy(NC_UINT64)p FD(],)24 b(to)30
+b Fy(NC_INT)p FD(.)39 b(P)m(ac)m(k)32 b([)p Fy(NC_FLOAT)p
+FD(,)p Fy(NC_)630 4009 y(INT)p FD(,)p Fy(NC_UINT)p FD(])c(to)j
+Fy(NC_SHORT)p FD(.)39 b(P)m(ac)m(k)32 b([)p Fy(NC_SHORT)p
+FD(,)p Fy(NC_USHORT)p FD(])26 b(to)31 b Fy(NC_BYTE)p
+FD(.)630 4118 y(T)m(yp)s(es)f(copied)h(instead)f(of)h(pac)m(k)m(ed:)42
+b([)p Fy(NC_CHAR)p FD(,)p Fy(NC_BYTE)p FD(,)p Fy(NC_UBYTE)p
+FD(])630 4228 y Fz(p)s(c)m(k)p 775 4228 V 40 w(map)33
+b FD(k)m(ey)e(v)-5 b(alues:)41 b(`)p Fy(nxt_lsr)p FD(',)29
+b(`)p Fy(pck_map_nxt_lsr)p FD(')150 4523 y(The)46 b(default)h(`)p
+Fy(all_new)p FD(')e(pac)m(king)j(p)s(olicy)e(with)h(the)g(default)f(`)p
+Fy(flt_sht)p FD(')f(pac)m(king)j(map)e(reduces)150 4632
+y(the)32 b(t)m(ypical)h Fy(NC_FLOAT)p FD(-dominated)d(\014le)i(size)h
+(b)m(y)e(ab)s(out)f(50\045.)j(`)p Fy(flt_byt)p FD(')d(pac)m(king)j
+(reduces)e(an)h Fy(NC_)150 4742 y(DOUBLE)p FD(-dominated)d(\014le)i(b)m
+(y)f(ab)s(out)g(87\045.)275 4902 y(The)i(netCDF)h(pac)m(king)g
+(algorithm)h(\(see)f(Section)h(4.1.11)g([Metho)s(ds)f(and)f
+(functions],)h(page)g(117\))150 5011 y(is)i(lossy|once)g(pac)m(k)m(ed,)
+j(the)d(exact)h(original)g(data)f(cannot)g(b)s(e)f(reco)m(v)m(ered)j
+(without)d(a)i(full)e(bac)m(kup.)150 5121 y(Hence)42
+b(users)d(should)h(b)s(e)g(a)m(w)m(are)j(of)d(some)i(pac)m(king)f(ca)m
+(v)m(eats:)65 b(First,)43 b(the)e(in)m(teraction)i(of)e(pac)m(king)150
+5230 y(and)29 b(data)i(equal)g(to)g(the)p 1046 5230 V
+70 w Fz(FillV)-8 b(alue)37 b FD(is)30 b(complex.)42 b(T)-8
+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: 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(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
+b(ariables)28 b(in)g Fz(input-\014le)k FD(b)m(y)c(re-ordering)g(and/or)
+f(rev)m(ersing)i(dimensions)e(sp)s(eci\014ed)150 1185
+y(in)42 b(the)g(dimension)f(list.)76 b(The)42 b(dimension)f(list)i(is)e
+(a)i(whitespace-free,)j(comma)d(separated)f(list)h(of)150
+1295 y(dimension)22 b(names,)i(optionally)g(pre\014xed)d(b)m(y)h
+(negativ)m(e)j(signs,)f(that)f(follo)m(ws)h(the)e(`)p
+Fy(-a)p FD(')h(\(or)g(long)g(options)150 1404 y(`)p Fy(--arrange)p
+FD(',)42 b(`)p Fy(--permute)p FD(',)g(`)p Fy(--re-order)p
+FD(',)g(or)f(`)p Fy(--rdr)p FD('\))f(switc)m(h.)73 b(T)-8
+b(o)42 b(re-order)f(v)-5 b(ariables)42 b(b)m(y)f(a)150
+1514 y(subset)e(of)g(their)g(dimensions,)i(sp)s(ecify)e(these)h
+(dimensions)e(in)h(a)h(comma-separated)h(list)e(follo)m(wing)150
+1623 y(`)p Fy(-a)p FD(',)29 b(e.g.,)i(`)p Fy(-a)f(lon,lat)p
+FD('.)38 b(T)-8 b(o)29 b(rev)m(erse)h(a)f(dimension,)f(pre\014x)g(its)h
+(name)g(with)f(a)h(negativ)m(e)i(sign)d(in)h(the)150
+1733 y(dimension)h(list,)h(e.g.,)h(`)p Fy(-a)e(-lat)p
+FD('.)40 b(Re-ordering)31 b(and)e(rev)m(ersal)j(ma)m(y)f(b)s(e)f(p)s
+(erformed)e(sim)m(ultaneously)-8 b(,)150 1843 y(e.g.,)32
+b(`)p Fy(-a)e(lon,-lat,time,-lev)p FD('.)275 2002 y(Users)c(ma)m(y)h
+(sp)s(ecify)g(an)m(y)g(p)s(erm)m(utation)g(of)f(dimensions,)h
+(including)g(p)s(erm)m(utations)f(whic)m(h)h(c)m(hange)150
+2112 y(the)f(record)g(dimension)f(iden)m(tit)m(y)-8 b(.)41
+b(The)26 b(record)g(dimension)f(is)h(re-ordered)g(lik)m(e)h(an)m(y)f
+(other)g(dimension.)150 2221 y(This)35 b(unique)h Fy(ncpdq)f
+FD(capabilit)m(y)j(mak)m(es)f(it)g(p)s(ossible)e(to)i(concatenate)i
+(\014les)d(along)i(an)m(y)e(dimension.)150 2331 y(See)g(Section)g
+(2.6.1)h([Concatenation],)j(page)c(18)g(for)g(a)g(detailed)g(example.)
+57 b(The)35 b(record)h(dimension)150 2440 y(is)e(alw)m(a)m(ys)h(the)f
+(most)g(slo)m(wly)h(v)-5 b(arying)34 b(dimension)f(in)g(a)h(record)g(v)
+-5 b(ariable)34 b(\(see)h(Section)g(3.14)g([C)f(and)150
+2550 y(F)-8 b(ortran)31 b(Index)f(Con)m(v)m(en)m(tions],)j(page)e
+(52\).)43 b(The)30 b(sp)s(eci\014ed)g(re-ordering)g(fails)i(if)e(it)h
+(requires)g(creating)150 2659 y(more)g(than)f(one)g(record)h(dimension)
+e(amongst)j(all)f(the)f(output)g(v)-5 b(ariables)2755
+2626 y Ft(1)2793 2659 y FD(.)275 2819 y(Tw)m(o)32 b(sp)s(ecial)g(cases)
+h(of)f(dimension)f(re-ordering)h(and)f(rev)m(ersal)i(deserv)m(e)f(sp)s
+(ecial)h(men)m(tion.)45 b(First,)150 2928 y(it)g(ma)m(y)g(b)s(e)f
+(desirable)h(to)g(completely)h(rev)m(erse)f(the)g(storage)h(order)e(of)
+h(a)g(v)-5 b(ariable.)83 b(T)-8 b(o)45 b(do)g(this,)150
+3038 y(include)35 b(all)h(the)f(v)-5 b(ariable's)37 b(dimensions)d(in)h
+(the)g(dimension)g(re-order)g(list)h(in)f(their)g(original)h(order,)150
+3148 y(and)28 b(pre\014x)f(eac)m(h)j(dimension)e(name)h(with)f(the)h
+(negativ)m(e)h(sign.)40 b(Second,)29 b(it)g(ma)m(y)g(useful)f(to)h
+(transp)s(ose)150 3257 y(a)35 b(v)-5 b(ariable's)35 b(storage)h(order,)
+f(e.g.,)i(from)30 b(C)k(to)h(F)-8 b(ortran)35 b(data)h(storage)g(order)
+d(\(see)j(Section)f(3.14)h([C)150 3367 y(and)28 b(F)-8
+b(ortran)29 b(Index)e(Con)m(v)m(en)m(tions],)j(page)f(52\).)41
+b(T)-8 b(o)29 b(do)f(this,)h(include)f(all)h(the)g(v)-5
+b(ariable's)29 b(dimensions)150 3476 y(in)i(the)h(dimension)g(re-order)
+f(list)i(in)e(rev)m(ersed)h(order.)44 b(Explicit)33 b(examples)f(of)g
+(these)g(t)m(w)m(o)h(tec)m(hniques)150 3586 y(app)s(ear)d(b)s(elo)m(w.)
+275 3745 y(NB:)42 b(fxm)e(ncp)s(dq)g(do)s(cumen)m(tation)i(will)g(ev)m
+(olv)m(e)i(through)d(F)-8 b(all)43 b(2004.)75 b(I)41
+b(will)h(upload)f(up)s(dates)150 3855 y(to)c(do)s(cumen)m(tation)h
+(link)m(ed)f(to)g(b)m(y)g(the)f(NCO)g(homepage.)61 b(ncp)s(dq)35
+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
+(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
+(the)h(v)-5 b(ariable)37 b Fv(x)p FD(.)58 b(Dimensionalit)m(y)38
+b(describ)s(es)e(the)150 4453 y(order)30 b(and)h(sizes)g(of)g
+(dimensions.)42 b(If)30 b Fv(x)h FD(has)f(rank)h Fv(N)10
+b FD(,)31 b(then)f(w)m(e)h(ma)m(y)h(write)f Fq(D)p FD(\()p
+Fv(x)p FD(\))g(as)g(the)g Fv(N)10 b FD(-elemen)m(t)150
+4562 y(v)m(ector)718 4672 y Fq(D)p FD(\()p Fv(x)p FD(\))26
+b(=)f([)p Fv(D)1132 4686 y Ft(1)1170 4672 y Fv(;)15 b(D)1285
+4686 y Ft(2)1323 4672 y Fv(;)g(D)1438 4686 y Ft(3)1476
+4672 y Fv(;)g(:)g(:)g(:)h(;)f(D)1752 4686 y Fg(n)p Fd(\000)p
+Ft(1)1883 4672 y Fv(;)g(D)1998 4686 y Fg(n)2044 4672
+y Fv(;)g(D)2159 4686 y Fg(n)p Ft(+1)2289 4672 y Fv(;)g(:)g(:)g(:)h(;)f
+(D)2565 4686 y Fg(N)6 b Fd(\000)p Ft(2)2714 4672 y Fv(;)15
+b(D)2829 4686 y Fg(N)6 b Fd(\000)p Ft(1)2978 4672 y Fv(;)15
+b(D)3093 4686 y Fg(N)3156 4672 y FD(])150 4824 y(where)30
+b Fv(D)488 4838 y Fg(n)564 4824 y FD(is)g(the)h(size)g(of)f(the)h
+Fv(n)p FD('th)f(dimension.)275 4983 y(The)f(dimension)h(re-order)g
+(list)h(sp)s(eci\014ed)f(with)g(`)p Fy(-a)p FD(')g(is)h(the)f
+Fv(R)q FD(-elemen)m(t)i(v)m(ector)834 5156 y Fq(R)25
+b FD(=)g([)p Fv(R)1118 5170 y Ft(1)1155 5156 y Fv(;)15
+b(R)1264 5170 y Ft(2)1302 5156 y Fv(;)g(R)1411 5170 y
+Ft(3)1449 5156 y Fv(;)g(:)g(:)g(:)h(;)f(R)1719 5170 y
+Fg(r)r Fd(\000)p Ft(1)1841 5156 y Fv(;)g(R)1950 5170
+y Fg(r)1988 5156 y Fv(;)g(R)2097 5170 y Fg(r)r Ft(+1)2218
+5156 y Fv(;)g(:)g(:)g(:)i(;)e(R)2489 5170 y Fg(R)p Fd(\000)p
+Ft(2)2628 5156 y Fv(;)g(R)2737 5170 y Fg(R)p Fd(\000)p
+Ft(1)2877 5156 y Fv(;)g(R)2986 5170 y Fg(R)3041 5156
+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: 190 196
+TeXDict begin 190 195 bop 150 -116 a FD(190)2582 b FC(NCO)30
+b FD(4.4.2)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
+y(three)d(logically)i(distinct)e(steps.)40 b(First,)30
+b(w)m(e)g(tranlate)h(the)f(user)f(input)f(to)j(a)e(one-to-one)j
+(mapping)d FA(M)150 1435 y FD(b)s(et)m(w)m(een)i(input)e(and)g(output)h
+(dimensions,)g Fq(D)25 b FA(7!)g Fq(D)1989 1402 y Fd(0)2012
+1435 y FD(.)41 b(This)29 b(ten)m(tativ)m(e)k(map)d(is)g(\014nal)g
+(unless)f(external)150 1544 y(constrain)m(ts)40 b(\(t)m(ypically)h
+(netCDF)f(restrictions\))g(imp)s(ose)f(themselv)m(es.)68
+b(Second,)41 b(w)m(e)e(c)m(hec)m(k)i(and,)g(if)150 1654
+y(necessary)-8 b(,)34 b(re\014ne)e(the)h(ten)m(tativ)m(e)j(mapping)c
+(so)h(that)g(the)g(re-shap)s(ed)e(v)-5 b(ariables)34
+b(will)f(co-exist)h(in)f(the)150 1763 y(same)i(\014le)g(without)f
+(violating)j(netCDF-imp)s(osed)d(storage)i(restrictions.)54
+b(This)34 b(re\014ned)g(map)g(sp)s(eci-)150 1873 y(\014es)h(the)h
+(\014nal)f(\(output\))h(dimensionalit)m(y)-8 b(.)59 b(Third,)35
+b(w)m(e)h(translate)h(the)f(output)f(dimensionalit)m(y)i(in)m(to)150
+1983 y(one-dimensional)27 b(memory)g(o\013sets)g(for)g(eac)m(h)h(datum)
+e(according)h(to)h(the)e(C)k(language)e(con)m(v)m(en)m(tion)h(for)150
+2092 y(m)m(ulti-dimensional)k(arra)m(y)g(storage.)48
+b(Dimension)33 b(rev)m(ersal)g(c)m(hanges)g(the)g(ordering)f(of)g
+(data,)i(though)150 2202 y(not)d(the)f(rank)g(or)g(dimensionalit)m(y)-8
+b(,)33 b(and)c(so)i(is)f(part)h(of)f(the)h(third)e(step.)275
+2361 y(Dimensions)24 b Fv(R)g FD(disjoin)m(t)g(from)f
+Fq(D)h FD(pla)m(y)g(no)g(role)g(in)g(re-ordering.)38
+b(The)24 b(\014rst)f(step)h(tak)m(en)h(to)f(re-order)150
+2471 y(a)38 b(v)-5 b(ariable)39 b(is)f(to)h(determine)f
+Fq(S)p FD(.)62 b Fq(R)38 b FD(is)g(constan)m(t)h(for)f(all)h(v)-5
+b(ariables,)41 b(whereas)c Fq(D)p FD(,)j(and)d(hence)h
+Fq(S)p FD(,)i(is)150 2580 y(v)-5 b(ariable-sp)s(eci\014c.)47
+b Fq(S)32 b FD(is)g(empt)m(y)h(if)f Fq(R)39 b Fv(=)-55
+b FA(2)28 b Fq(D)p FD(.)46 b(This)31 b(ma)m(y)i(b)s(e)f(the)g(case)i
+(for)e(some)g(extracted)i(v)-5 b(ariables.)150 2690 y(The)27
+b(user)g(ma)m(y)h(explicitly)h(sp)s(ecify)e(the)g(one-to-one)j(mapping)
+c(of)i(input)e(to)j(output)e(dimension)f(order)150 2800
+y(b)m(y)36 b(supplying)f(\(with)i(`)p Fy(-a)p FD('\))g(a)f(re-order)h
+(list)g Fq(R)f FD(suc)m(h)g(that)h Fv(S)k FD(=)35 b Fv(N)10
+b FD(.)58 b(In)36 b(this)g(case)i Fv(D)3225 2767 y Fd(0)3222
+2822 y Fg(n)3303 2800 y FD(=)d Fv(S)3465 2814 y Fg(n)3510
+2800 y FD(.)58 b(The)150 2909 y(degenerate)32 b(case)f(o)s(ccurs)f
+(when)g Fq(D)25 b FD(=)g Fq(S)p FD(.)40 b(This)29 b(pro)s(duces)g(the)i
+(iden)m(tit)m(y)h(mapping)e Fv(D)3157 2876 y Fd(0)3154
+2932 y Fg(n)3224 2909 y FD(=)25 b Fv(D)3395 2923 y Fg(n)3441
+2909 y FD(.)275 3068 y(The)k(mapping)f(of)i(input)f(to)h(output)f
+(dimension)g(order)g(is)g(more)h(complex)g(when)f Fv(S)h
+FA(6)p FD(=)25 b Fv(N)10 b FD(.)40 b(In)29 b(this)150
+3178 y(case)i Fv(D)420 3145 y Fd(0)417 3201 y Fg(n)488
+3178 y FD(=)25 b Fv(D)659 3192 y Fg(n)735 3178 y FD(for)30
+b(the)h Fv(N)f FA(\000)20 b Fv(S)35 b FD(dimensions)30
+b Fv(D)1860 3145 y Fd(0)1857 3201 y Fg(n)1937 3178 y
+Fv(=)-55 b FA(2)25 b Fq(S)p FD(.)40 b(F)-8 b(or)31 b(the)g
+Fv(S)k FD(dimensions)30 b Fv(D)3084 3145 y Fd(0)3081
+3201 y Fg(n)3152 3178 y FA(2)25 b Fq(S)p FD(,)30 b Fv(D)3422
+3145 y Fd(0)3419 3201 y Fg(n)3489 3178 y FD(=)25 b Fv(S)3641
+3192 y Fg(s)3676 3178 y FD(.)150 3337 y(EXAMPLES)275
+3497 y(P)m(ac)m(k)31 b(and)f(unpac)m(k)g(all)i(v)-5 b(ariables)31
+b(in)f(\014le)g Fy(in.nc)f FD(and)h(store)h(the)f(results)h(in)f
+Fy(out.nc)p FD(:)390 3656 y Fy(ncpdq)46 b(in.nc)h(out.nc)f(#)h(Same)g
+(as)g(ncpack)f(in.nc)h(out.nc)390 3766 y(ncpdq)f(-P)i(all_new)d(-M)j
+(flt_sht)d(in.nc)i(out.nc)f(#)h(Defaults)390 3875 y(ncpdq)f(-P)i
+(all_xst)d(in.nc)i(out.nc)390 3985 y(ncpdq)f(-P)i(upk)e(in.nc)h(out.nc)
+f(#)h(Same)g(as)g(ncunpack)f(in.nc)g(out.nc)390 4095
+y(ncpdq)g(-U)i(in.nc)e(out.nc)g(#)h(Same)g(as)g(ncunpack)f(in.nc)g
+(out.nc)275 4254 y FD(The)27 b(\014rst)g(t)m(w)m(o)i(commands)f(pac)m
+(k)g(an)m(y)g(unpac)m(k)m(ed)g(v)-5 b(ariable)29 b(in)e(the)h(input)f
+(\014le.)40 b(They)27 b(also)i(unpac)m(k)150 4364 y(and)d(then)g
+(re-pac)m(k)i(ev)m(ery)f(pac)m(k)m(ed)h(v)-5 b(ariable.)40
+b(The)26 b(third)g(command)g(only)g(pac)m(ks)i(unpac)m(k)m(ed)e(v)-5
+b(ariables)150 4473 y(in)29 b(the)g(input)e(\014le.)41
+b(If)28 b(a)h(v)-5 b(ariable)30 b(is)f(already)g(pac)m(k)m(ed,)i(the)e
+(third)f(command)h(copies)g(it)h(unc)m(hanged)e(to)150
+4583 y(the)j(output)f(\014le.)42 b(The)30 b(fourth)g(and)g(\014fth)f
+(commands)i(unpac)m(k)f(an)m(y)h(pac)m(k)m(ed)h(v)-5
+b(ariables.)42 b(If)30 b(a)h(v)-5 b(ariable)150 4692
+y(is)30 b(not)h(pac)m(k)m(ed,)h(the)e(third)g(command)g(copies)h(it)g
+(unc)m(hanged.)275 4852 y(The)23 b(previous)h(examples)h(all)g
+(utilized)g(the)g(default)f(pac)m(king)h(map.)39 b(Supp)s(ose)22
+b(y)m(ou)j(wish)e(to)i(arc)m(hiv)m(e)150 4961 y(all)34
+b(data)g(that)g(are)g(curren)m(tly)f(unpac)m(k)m(ed)h(in)m(to)g(a)f
+(form)g(whic)m(h)g(only)h(preserv)m(es)f(256)i(distinct)e(v)-5
+b(alues.)150 5071 y(Then)40 b(y)m(ou)i(could)f(sp)s(ecify)g(the)g(pac)m
+(king)i(map)e Fz(p)s(c)m(k)p 2016 5071 28 4 v 39 w(map)j
+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: 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)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
+y(ncpdq)g(--hdf4)g(--hdf_upk)g(-P)h(xst_new)f(modis.hdf)f(modis.nc)h(#)
+h(HDF4)390 1976 y(ncpdq)380 b(--hdf_upk)46 b(-P)h(xst_new)f(modis.h5)93
+b(modis.nc)46 b(#)h(HDF5)390 2195 y(#)g(Two-step)f(procedure:)f(For)i
+(NCO)g(4.3.6)f(and)h(earlier)390 2305 y(#)g(1.)h(Convert)d(HDF)i(file)g
+(to)g(netCDF)f(file)390 2415 y(ncl_convert2nc)e(modis.hdf)390
+2524 y(#)j(2.)h(Unpack)e(using)g(HDF)h(convention)e(and)i(repack)f
+(using)g(netCDF)g(convention)390 2634 y(ncpdq)g(--hdf_upk)g(-P)h
+(xst_new)f(modis.nc)f(modis.nc)275 2815 y FC(NCO)d FD(no)m(w)663
+2782 y Ft(2)743 2815 y FD(automatically)j(detects)f FC(HDF4)f
+FD(\014les.)78 b(In)41 b(this)i(case)h(it)f(pro)s(duces)e(an)i(output)f
+(\014le)150 2925 y Fy(modis.nc)35 b FD(whic)m(h)i(preserv)m(es)g(the)h
+FC(HDF)g FD(pac)m(king)g(used)e(in)h(the)h(input)e(\014le.)62
+b(The)36 b Fy(ncpdq)g FD(command)150 3034 y(\014rst)46
+b(unpac)m(ks)g(all)i(pac)m(k)m(ed)g(v)-5 b(ariables)47
+b(using)g(the)g FC(HDF)g FD(unpac)m(king)g(algorithm)h(\(as)f(sp)s
+(eci\014ed)f(b)m(y)150 3144 y(`)p Fy(--hdf_upk)p FD('\),)h(and)d(then)g
+(repac)m(ks)h(those)g(same)g(v)-5 b(ariables)45 b(using)f(the)h(netCDF)
+g(algorithm)h(\(b)s(e-)150 3253 y(cause)34 b(that)g(is)g(the)f(only)h
+(algorithm)g FC(NCO)g FD(pac)m(ks)g(with\).)50 b(As)33
+b(describ)s(ed)g(ab)s(o)m(v)m(e)h(the)g(`)p Fy(--P)c(xst_new)p
+FD(')150 3363 y(pac)m(king)40 b(p)s(olicy)g(only)f(repac)m(ks)h(v)-5
+b(ariables)40 b(that)f(are)h(already)g(pac)m(k)m(ed.)68
+b(Not-pac)m(k)m(ed)42 b(v)-5 b(ariables)40 b(are)150
+3472 y(copied)31 b(directly)g(without)f(loss)h(of)g(precision)1728
+3440 y Ft(3)1765 3472 y FD(.)275 3654 y(Re-order)j(\014le)h
+Fy(in.nc)e FD(so)i(that)g(the)g(dimension)f Fy(lon)f
+FD(alw)m(a)m(ys)k(precedes)d(the)h(dimension)f Fy(lat)g
+FD(and)150 3763 y(store)d(the)g(results)f(in)g Fy(out.nc)p
+FD(:)390 3944 y Fy(ncpdq)46 b(-a)i(lon,lat)d(in.nc)i(out.nc)390
+4054 y(ncpdq)f(-v)i(three_dmn_var)c(-a)j(lon,lat)f(in.nc)g(out.nc)275
+4235 y FD(The)c(\014rst)g(command)h(re-orders)f(ev)m(ery)i(v)-5
+b(ariable)43 b(in)g(the)g(input)f(\014le.)78 b(The)42
+b(second)h(command)150 4345 y(extracts)32 b(and)d(re-orders)i(only)f
+(the)h(v)-5 b(ariable)31 b Fy(three_dmn_var)p FD(.)p
+150 4528 1200 4 v 199 4595 a Ft(2)304 4627 y Fs(Prior)f(to)f
+Fp(NCO)g Fs(4.4.0)i(and)e(netCDF)g(4.3.1)i(\(Jan)n(uary)-6
+b(,)30 b(2014\),)h Fp(NCO)e Fs(requires)g(the)g(`)p Fr(--hdf4)p
+Fs(')i(switc)n(h)f(to)f(correctly)275 4714 y(read)d(HDF4)f(input)g
+(\014les.)36 b(F)-6 b(or)26 b(example,)h(`)p Fr(ncpdq)g(--hdf4)g
+(--hdf_upk)g(-P)f(xst_new)i(modis.hdf)f(modis.nc)p Fs('.)38
+b(That)275 4801 y(switc)n(h)30 b(is)h(no)n(w)f(obsolete,)i(though)e
+(harmless)h(for)g(bac)n(kw)n(ards)f(compatibilit)n(y)-6
+b(.)48 b(Prior)31 b(to)f(v)n(ersion)g(4.3.7)i(\(Octob)r(er,)275
+4888 y(2013\),)26 b Fp(NCO)d Fs(lac)n(k)n(ed)h(the)g(soft)n(w)n(are)h
+(necessary)g(to)f(w)n(ork)l(around)g(netCDF)g(library)g(\015a)n(ws)g
+(handling)g Fp(HDF4)g Fs(\014les,)h(and)275 4975 y(th)n(us)20
+b Fp(NCO)h Fs(failed)h(to)g(con)n(v)n(ert)f Fp(HDF4)g
+Fs(\014les)g(to)h(netCDF)f(\014les.)33 b(In)21 b(those)h(cases,)h(use)f
+(the)e Fr(ncl_convert2nc)25 b Fs(command)275 5063 y(distributed)g(with)
+h Fp(NCL)f Fs(to)h(con)n(v)n(ert)f Fp(HDF4)h Fs(\014les)g(to)g(netCDF.)
+199 5134 y Ft(3)275 5166 y Fr(ncpdq)h Fs(do)r(es)g(not)g(supp)r(ort)f
+(pac)n(king)h(data)f(using)h(the)f Fp(HDF)h Fs(con)n(v)n(en)n(tion.)36
+b(Although)26 b(it)h(is)g(no)n(w)g(straigh)n(tforw)n(ard)i(to)275
+5253 y(supp)r(ort)22 b(this,)i(w)n(e)f(think)e(it)i(migh)n(t)g(so)n(w)h
+(more)f(confusion)h(than)e(it)h(reaps.)34 b(Let)22 b(us)h(kno)n(w)g(if)
+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: 192 198
+TeXDict begin 192 197 bop 150 -116 a FD(192)2582 b FC(NCO)30
+b FD(4.4.2)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
+b(this)f(with)390 690 y Fy(\045)47 b(ncpdq)g(-a)g(-lat)g(in.nc)f
+(out.nc)390 800 y(\045)h(ncks)g(-C)g(-v)g(lat)g(in.nc)390
+909 y(lat[0]=-90)390 1019 y(lat[1]=90)390 1129 y(\045)g(ncks)g(-C)g(-v)
+g(lat)g(out.nc)390 1238 y(lat[0]=90)390 1348 y(lat[1]=-90)275
+1520 y FD(This)25 b(op)s(eration)i(rev)m(ersed)g(the)g(latitude)g
+(dimension)f(of)h(all)g(v)-5 b(ariables.)41 b(Whitespace)28
+b(immediately)150 1630 y(preceding)d(the)f(negativ)m(e)j(sign)e(that)g
+(sp)s(eci\014es)f(dimension)g(rev)m(ersal)h(ma)m(y)g(b)s(e)f
+(dangerous.)39 b(Quotes)25 b(and)150 1739 y(long)35 b(options)g(can)f
+(help)g(protect)i(negativ)m(e)g(signs)e(that)h(should)f(indicate)h
+(dimension)f(rev)m(ersal)h(from)150 1849 y(b)s(eing)30
+b(in)m(terpreted)h(b)m(y)f(the)g(shell)h(as)g(dashes)f(that)h(indicate)
+g(new)f(command)g(line)h(switc)m(hes.)390 2021 y Fy(ncpdq)46
+b(-a)i(-lat)e(in.nc)h(out.nc)f(#)h(Dangerous?)e(Whitespace)g(before)h
+("-lat")390 2131 y(ncpdq)g(-a)i('-lat')e(in.nc)g(out.nc)g(#)i(OK.)e
+(Quotes)h(protect)e("-")i(in)g("-lat")390 2240 y(ncpdq)f(-a)i(lon,-lat)
+d(in.nc)h(out.nc)h(#)g(OK.)g(No)g(whitespace)e(before)h("-")390
+2350 y(ncpdq)g(--rdr=-lat)f(in.nc)i(out.nc)f(#)h(Preferred.)e(Uses)i
+("=")g(not)g(whitespace)275 2522 y FD(T)-8 b(o)24 b(create)h(the)f
+(mathematical)h(transp)s(ose)f(of)f(a)h(v)-5 b(ariable,)26
+b(place)f(all)f(its)g(dimensions)f(in)g(the)h(dimen-)150
+2632 y(sion)30 b(re-order)h(list)g(in)f(rev)m(ersed)g(order.)40
+b(This)30 b(example)h(creates)h(the)e(transp)s(ose)g(of)h
+Fy(three_dmn_var)p FD(:)390 2804 y Fy(\045)47 b(ncpdq)g(-a)g
+(lon,lev,lat)e(-v)i(three_dmn_var)d(in.nc)i(out.nc)390
+2913 y(\045)h(ncks)g(-C)g(-v)g(three_dmn_var)e(in.nc)390
+3023 y(lat[0]=-90)g(lev[0]=100)g(lon[0]=0)h(three_dmn_var[0]=0)390
+3133 y(lat[0]=-90)f(lev[0]=100)g(lon[1]=90)g(three_dmn_var[1]=1)390
+3242 y(lat[0]=-90)g(lev[0]=100)g(lon[2]=180)g(three_dmn_var[2]=2)390
+3352 y(...)390 3461 y(lat[1]=90)g(lev[2]=1000)g(lon[1]=90)g
+(three_dmn_var[21]=21)390 3571 y(lat[1]=90)g(lev[2]=1000)g(lon[2]=180)g
+(three_dmn_var[22]=22)390 3680 y(lat[1]=90)g(lev[2]=1000)g(lon[3]=270)g
+(three_dmn_var[23]=23)390 3790 y(\045)i(ncks)g(-C)g(-v)g(three_dmn_var)
+e(out.nc)390 3900 y(lon[0]=0)h(lev[0]=100)f(lat[0]=-90)g
+(three_dmn_var[0]=0)390 4009 y(lon[0]=0)h(lev[0]=100)f(lat[1]=90)g
+(three_dmn_var[1]=12)390 4119 y(lon[0]=0)h(lev[1]=500)f(lat[0]=-90)g
+(three_dmn_var[2]=4)390 4228 y(...)390 4338 y(lon[3]=270)g(lev[1]=500)g
+(lat[1]=90)g(three_dmn_var[21]=19)390 4448 y(lon[3]=270)g(lev[2]=1000)g
+(lat[0]=-90)g(three_dmn_var[22]=11)390 4557 y(lon[3]=270)g(lev[2]=1000)
+g(lat[1]=90)g(three_dmn_var[23]=23)275 4729 y FD(T)-8
+b(o)35 b(completely)h(rev)m(erse)g(the)f(storage)h(order)e(of)h(a)g(v)
+-5 b(ariable,)37 b(include)d(all)i(its)f(dimensions)f(in)h(the)150
+4839 y(re-order)f(list,)i(eac)m(h)f(pre\014xed)e(b)m(y)h(a)g(negativ)m
+(e)i(sign.)52 b(This)33 b(example)i(rev)m(erses)f(the)h(storage)g
+(order)f(of)150 4949 y Fy(three_dmn_var)p FD(:)390 5121
+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: 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)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
+(three_dmn_var[23]=23)390 956 y(\045)i(ncks)g(-C)g(-v)g(three_dmn_var)e
+(out.nc)390 1066 y(lat[0]=90)g(lev[0]=1000)g(lon[0]=270)g
+(three_dmn_var[0]=23)390 1176 y(lat[0]=90)g(lev[0]=1000)g(lon[1]=180)g
+(three_dmn_var[1]=22)390 1285 y(lat[0]=90)g(lev[0]=1000)g(lon[2]=90)g
+(three_dmn_var[2]=21)390 1395 y(...)390 1504 y(lat[1]=-90)g(lev[2]=100)
+g(lon[1]=180)g(three_dmn_var[21]=2)390 1614 y(lat[1]=-90)g(lev[2]=100)g
+(lon[2]=90)g(three_dmn_var[22]=1)390 1724 y(lat[1]=-90)g(lev[2]=100)g
+(lon[3]=0)h(three_dmn_var[23]=0)275 1883 y FD(Creating)37
+b(a)h(record)f(dimension)f(named,)j(e.g.,)i Fy(time)p
+FD(,)c(in)g(a)h(\014le)f(whic)m(h)g(has)g(no)g(existing)h(record)150
+1993 y(dimension)30 b(is)g(simple)h(with)f Fy(ncecat)p
+FD(:)390 2152 y Fy(ncecat)46 b(-O)h(-u)g(time)g(in.nc)f(out.nc)h(#)g
+(Create)f(degenerate)f(record)h(dimension)f(named)i("time")275
+2311 y FD(No)m(w)27 b(consider)g(a)h(\014le)f(with)g(all)g(dimensions,)
+h(including)e Fy(time)p FD(,)h(\014xed)f(\(non-record\).)41
+b(Supp)s(ose)25 b(the)150 2421 y(user)36 b(wishes)f(to)j(con)m(v)m(ert)
+g Fy(time)d FD(from)h(a)g(\014xed)g(dimension)g(to)h(a)g(record)f
+(dimension.)58 b(This)36 b(ma)m(y)h(b)s(e)150 2531 y(useful,)30
+b(for)h(example,)h(when)e(the)h(user)f(wishes)g(to)i(app)s(end)d
+(additional)i(time)h(slices)g(to)f(the)g(data.)43 b(As)150
+2640 y(of)31 b FC(NCO)f FD(v)m(ersion)g(4.0.1)j(\(April,)d(2010\))j
+(the)d(preferred)g(metho)s(d)f(for)h(doing)h(this)f(is)h(with)f
+Fy(ncks)p FD(:)390 2800 y Fy(ncks)47 b(-O)g(--mk_rec_dmn)d(time)j
+(in.nc)f(out.nc)g(#)i(Change)e("time")g(to)h(record)f(dimension)275
+2959 y FD(Prior)40 b(to)h(4.0.1,)j(the)d(pro)s(cedure)e(to)i(c)m(hange)
+g(an)f(existing)i(\014xed)d(dimension)h(in)m(to)h(a)g(record)f(di-)150
+3068 y(mension)i(required)f(three)h(separate)h(commands,)i
+Fy(ncecat)40 b FD(follo)m(w)m(ed)k(b)m(y)e Fy(ncpdq)p
+FD(,)i(and)d(then)h Fy(ncwa)p FD(.)150 3178 y(The)36
+b(recommended)h(metho)s(d)f(is)h(no)m(w)g(to)g(use)g(`)p
+Fy(ncks)29 b(--fix_rec_dmn)p FD(',)35 b(y)m(et)j(it)g(is)e(still)i
+(instructiv)m(e)150 3288 y(to)31 b(presen)m(t)e(the)h(original)h(pro)s
+(cedure,)e(as)h(it)h(sho)m(ws)e(ho)m(w)h(m)m(ultiple)g(op)s(erators)g
+(can)g(ac)m(hiev)m(e)j(the)d(same)150 3397 y(ends)g(b)m(y)g(di\013eren)
+m(t)h(means:)390 3557 y Fy(ncecat)46 b(-O)h(in.nc)g(out.nc)f(#)h(Add)g
+(degenerate)e(record)h(dimension)f(named)i("record")390
+3666 y(ncpdq)f(-O)i(-a)f(time,record)d(out.nc)j(out.nc)f(#)h(Switch)f
+("record")g(and)h("time")390 3776 y(ncwa)g(-O)g(-a)g(record)f(out.nc)g
+(out.nc)g(#)i(Remove)e(\(degenerate\))e("record")150
+3935 y FD(The)33 b(\014rst)g(step)g(creates)i(a)f(degenerate)h(\(size)f
+(equals)g(one\))g(record)g(dimension)f(named)g(\(b)m(y)g(default\))150
+4045 y Fy(record)p FD(.)53 b(The)35 b(second)g(step)g(sw)m(aps)g(the)g
+(ordering)g(of)g(the)g(dimensions)f(named)h Fy(time)f
+FD(and)g Fy(record)p FD(.)150 4154 y(Since)g Fy(time)f
+FD(no)m(w)h(o)s(ccupies)g(the)h(p)s(osition)f(of)g(the)g(\014rst)f
+(\(least)j(rapidly)e(v)-5 b(arying\))34 b(dimension,)h(it)f(b)s(e-)150
+4264 y(comes)26 b(the)f(record)g(dimension.)39 b(The)25
+b(dimension)f(named)h Fy(record)e FD(is)j(no)f(longer)h(a)f(record)g
+(dimension.)150 4374 y(The)k(third)f(step)h(a)m(v)m(erages)j(o)m(v)m
+(er)e(this)g(degenerate)g Fy(record)e FD(dimension.)39
+b(Av)m(eraging)31 b(o)m(v)m(er)g(a)e(degener-)150 4483
+y(ate)23 b(dimension)f(do)s(es)g(not)g(alter)h(the)g(data.)39
+b(The)21 b(ordering)h(of)h(other)f(dimensions)f(in)h(the)h(\014le)f(\()
+p Fy(lat)p FD(,)i Fy(lon)p FD(,)150 4593 y(etc.\))49
+b(is)33 b(immaterial)h(to)g(this)f(pro)s(cedure.)46 b(See)33
+b(Section)h(4.5)g([ncecat)g(netCDF)g(Ensem)m(ble)e(Concate-)150
+4702 y(nator],)h(page)f(167)h(and)f(Section)g(4.7)h([nc)m(ks)f(netCDF)h
+(Kitc)m(hen)f(Sink],)g(page)g(173)h(for)f(other)g(metho)s(ds)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: 194 200
+TeXDict begin 194 199 bop 150 -116 a FD(194)2582 b FC(NCO)30
+b FD(4.4.2)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
+Fn(var)p Fy([,...)n(]])g([-X)g(...])g([-x])f([-y)h Fn(op_typ)p
+Fy(])390 1500 y([)p Fn(input-files)p Fy(])d([)p Fn(output-file)p
+Fy(])150 1665 y FD(DESCRIPTION)275 1830 y Fy(ncra)38
+b FD(a)m(v)m(erages)43 b(record)d(v)-5 b(ariables)40
+b(across)h(an)f(arbitrary)g(n)m(um)m(b)s(er)e(of)j Fz(input-\014les)p
+FD(.)69 b(The)39 b(record)150 1939 y(dimension)23 b(is,)j(b)m(y)e
+(default,)i(retained)e(as)g(a)h(degenerate)g(\(size)31
+b(1\))25 b(dimension)f(in)f(the)h(output)g(v)-5 b(ariables.)150
+2049 y(See)30 b(Section)h(2.6)f([Statistics)i(vs.)40
+b(Concatenation],)32 b(page)f(18,)g(for)f(a)g(description)g(of)f(the)h
+(distinctions)150 2158 y(b)s(et)m(w)m(een)k(the)f(v)-5
+b(arious)34 b(statistics)h(to)s(ols)f(and)e(concatenators.)52
+b(As)33 b(a)h(m)m(ulti-\014le)g(op)s(erator,)h Fy(ncra)d
+FD(will)150 2268 y(read)h(the)g(list)g(of)h Fz(input-\014les)i
+FD(from)c Fy(stdin)f FD(if)i(they)g(are)h(not)f(sp)s(eci\014ed)f(as)h
+(p)s(ositional)h(argumen)m(ts)f(on)150 2377 y(the)e(command)f(line)g
+(\(see)i(Section)f(2.7)g([Large)h(Num)m(b)s(ers)d(of)h(Files],)i(page)f
+(19\).)275 2542 y(Input)c(\014les)h(ma)m(y)h(v)-5 b(ary)29
+b(in)f(size,)i(but)e(eac)m(h)i(m)m(ust)e(ha)m(v)m(e)i(a)f(record)f
+(dimension.)40 b(The)28 b(record)g(co)s(ordi-)150 2652
+y(nate,)d(if)e(an)m(y)-8 b(,)26 b(should)c(b)s(e)g(monotonic)i(\(or)g
+(else)g(non-fatal)g(w)m(arnings)e(ma)m(y)i(b)s(e)e(generated\).)40
+b(Hyp)s(erslabs)150 2761 y(of)27 b(the)h(record)f(dimension)g(whic)m(h)
+g(include)g(more)g(than)g(one)h(\014le)f(w)m(ork)h(correctly)-8
+b(.)41 b Fy(ncra)26 b FD(supp)s(orts)g(the)150 2871 y
+Fz(stride)42 b FD(argumen)m(t)36 b(to)i(the)e(`)p Fy(-d)p
+FD(')h(h)m(yp)s(erslab)e(option)i(\(see)h(Section)f(3.15)h([Hyp)s
+(erslabs],)g(page)f(53\))h(for)150 2981 y(the)31 b(record)f(dimension)g
+(only)-8 b(,)31 b Fz(stride)k FD(is)c(not)f(supp)s(orted)f(for)h
+(non-record)g(dimensions.)275 3145 y Fy(ncra)i FD(w)m(eigh)m(ts)j(eac)m
+(h)f(record)f(\(e.g.,)k(time)d(slice\))h(in)e(the)g Fz(input-\014les)k
+FD(equally)-8 b(.)51 b Fy(ncra)32 b FD(do)s(es)h(not)h(at-)150
+3255 y(tempt)40 b(to)g(see)h(if,)h(sa)m(y)-8 b(,)44 b(the)39
+b Fy(time)g FD(co)s(ordinate)i(is)e(irregularly)h(spaced)g(and)f(th)m
+(us)h(w)m(ould)f(require)h(a)150 3365 y(w)m(eigh)m(ted)30
+b(a)m(v)m(erage)h(in)d(order)g(to)h(b)s(e)e(a)i(true)f(time)h(a)m(v)m
+(erage.)43 b Fy(ncra)27 b Fo(always)33 b(aver)-5 b(ages)36
+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(81\).)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
+4188 y Fy(ncra)47 b(85.nc)f(86.nc)g(87.nc)h(88.nc)f(89.nc)g(8589.nc)390
+4298 y(ncra)h(8[56789].nc)d(8589.nc)390 4407 y(ncra)j(-n)g(5,2,1)f
+(85.nc)h(8589.nc)275 4572 y FD(These)25 b(three)h(metho)s(ds)f(pro)s
+(duce)g(iden)m(tical)j(answ)m(ers.)39 b(See)26 b(Section)g(3.5)h([Sp)s
+(ecifying)f(Input)e(Files],)150 4682 y(page)31 b(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.)275 4846 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 4956 y(length)31 b(12)h(de\014ned)e(suc)m(h)g
+(that)i(the)f(third)f(record)h(in)f Fy(86.nc)g FD(con)m(tains)i(data)g
+(from)e(Marc)m(h)i(1986,)h(etc.)150 5066 y FC(NCO)27
+b FD(kno)m(ws)g(ho)m(w)h(to)g(h)m(yp)s(erslab)e(the)i(record)f
+(dimension)g(across)h(\014les.)40 b(Th)m(us,)27 b(to)h(a)m(v)m(erage)i
+(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: 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)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(55,)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: 196 202
+TeXDict begin 196 201 bop 150 -116 a FD(196)2582 b FC(NCO)30
+b FD(4.4.2)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)
+f(19\).)275 2455 y(Input)c(\014les)h(ma)m(y)h(v)-5 b(ary)29
+b(in)f(size,)i(but)e(eac)m(h)i(m)m(ust)e(ha)m(v)m(e)i(a)f(record)f
+(dimension.)40 b(The)28 b(record)g(co)s(ordi-)150 2564
+y(nate,)d(if)e(an)m(y)-8 b(,)26 b(should)c(b)s(e)g(monotonic)i(\(or)g
+(else)g(non-fatal)g(w)m(arnings)e(ma)m(y)i(b)s(e)e(generated\).)40
+b(Hyp)s(erslabs)150 2674 y(along)34 b(the)f(record)g(dimension)g(that)g
+(span)g(more)g(than)g(one)g(\014le)g(are)g(handled)f(correctly)-8
+b(.)51 b Fy(ncra)32 b FD(sup-)150 2784 y(p)s(orts)26
+b(the)i Fz(stride)k FD(argumen)m(t)27 b(to)h(the)f(`)p
+Fy(-d)p FD(')g(h)m(yp)s(erslab)f(option)i(for)f(the)g(record)g
+(dimension)f(only)-8 b(,)29 b Fz(stride)150 2893 y FD(is)h(not)h(supp)s
+(orted)e(for)h(non-record)g(dimensions.)275 3064 y(Concatenating)40
+b(a)e(v)-5 b(ariable)40 b(pac)m(k)m(ed)f(with)f(di\013eren)m(t)h
+(scales)h(m)m(ultiple)f(datasets)h(is)e(b)s(ey)m(ond)g(the)150
+3173 y(capabilities)32 b(of)d Fy(ncrcat)f FD(\(and)i
+Fy(ncecat)p FD(,)e(the)i(other)g(concatenator)i(\(Section)f(2.6.1)g
+([Concatenation],)150 3283 y(page)f(18\).)41 b Fy(ncrcat)27
+b FD(do)s(es)i(not)g(unpac)m(k)f(data,)j(it)e(simply)f
+Fo(c)-5 b(opies)38 b FD(the)29 b(data)g(from)g(the)g
+Fz(input-\014les)p FD(,)g(and)150 3392 y(the)f(metadata)i(from)d(the)h
+Fo(\014rst)37 b Fz(input-\014le)p FD(,)29 b(to)f(the)g
+Fz(output-\014le)p FD(.)40 b(This)27 b(means)h(that)h(data)f
+(compressed)150 3502 y(with)k(a)g(pac)m(king)i(con)m(v)m(en)m(tion)g(m)
+m(ust)e(use)g(the)g(iden)m(tical)i(pac)m(king)f(parameters)g(\(e.g.,)h
+Fy(scale_factor)150 3611 y FD(and)k Fy(add_offset)p FD(\))e(for)i(a)h
+(giv)m(en)h(v)-5 b(ariable)39 b(across)g Fo(al)5 b(l)48
+b FD(input)38 b(\014les.)65 b(Otherwise)38 b(the)h(concatenated)150
+3721 y(dataset)31 b(will)e(not)h(unpac)m(k)f(correctly)-8
+b(.)42 b(The)29 b(w)m(ork)-5 b(around)28 b(for)h(cases)h(where)f(the)g
+(pac)m(king)i(parameters)150 3831 y(di\013er)j(across)h
+Fz(input-\014les)i FD(requires)d(three)h(steps:)48 b(First,)36
+b(unpac)m(k)e(the)h(data)g(using)f Fy(ncpdq)p FD(.)51
+b(Second,)150 3940 y(concatenate)33 b(the)e(unpac)m(k)m(ed)f(data)h
+(using)f Fy(ncrcat)p FD(,)f(Third,)g(re-pac)m(k)i(the)g(result)f(with)g
+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(98)h(for)e
+(a)g(complete)i(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
+(dimension,)i(and)e(store)i(the)150 4670 y(results)30
+b(in)g Fy(8589.nc)p FD(:)390 4841 y Fy(ncrcat)46 b(85.nc)g(86.nc)h
+(87.nc)f(88.nc)h(89.nc)f(8589.nc)390 4950 y(ncrcat)g(8[56789].nc)f
+(8589.nc)390 5060 y(ncrcat)h(-n)h(5,2,1)g(85.nc)f(8589.nc)150
+5230 y FD(These)36 b(three)h(metho)s(ds)e(pro)s(duce)h(iden)m(tical)i
+(answ)m(ers.)58 b(See)37 b(Section)g(3.5)g([Sp)s(ecifying)f(Input)f
+(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: 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)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(55,)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
+2242 y(and)d(Decem)m(b)s(er,)i(1989)j(=)e(60.)e(Assuming)e
+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: 198 204
+TeXDict begin 198 203 bop 150 -116 a FD(198)2582 b FC(NCO)30
+b FD(4.4.2)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
+(the)h(list)f(of)h(old)f(names)h(is)f(renamed)g(using)g(the)g(corresp)s
+(onding)f(name)i(in)f(the)g(list)150 1711 y(of)k(new)f(names.)40
+b(All)30 b(the)f(new)f(names)h(m)m(ust)f(b)s(e)g(unique.)40
+b(Ev)m(ery)29 b(old)f(name)h(m)m(ust)g(exist)g(in)g(the)g(input)150
+1821 y(\014le,)h(unless)f(the)h(old)g(name)g(is)g(preceded)g(b)m(y)f
+(the)h(p)s(erio)s(d)f(\(or)h(\\dot"\))h(c)m(haracter)h(`)p
+Fy(.)p FD('.)40 b(The)30 b(v)-5 b(alidit)m(y)31 b(of)150
+1930 y Fz(old)p 277 1930 28 4 v 40 w(name)36 b FD(is)31
+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
+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
+b(already)h(exist)g(in)f(the)h(group)f(sp)s(eci\014ed)f(b)m(y)i(the)f
+Fz(old)p 2208 3188 V 41 w(name)35 b FD(path.)275 3350
+y Fy(ncrename)i FD(is)j(an)g(exception)h(to)f(the)g(normal)g
+FC(NCO)f FD(rule)h(that)g(the)g(user)g(will)g(b)s(e)f(in)m(teractiv)m
+(ely)150 3460 y(prompted)c(b)s(efore)h(an)f(existing)i(\014le)f(is)g(c)
+m(hanged,)j(and)c(that)i(a)f(temp)s(orary)g(cop)m(y)g(of)g(an)g(output)
+g(\014le)150 3569 y(is)d(constructed)g(during)f(the)h(op)s(eration.)50
+b(If)32 b(only)h Fz(input-\014le)38 b FD(is)33 b(sp)s(eci\014ed,)g
+(then)g Fy(ncrename)e FD(c)m(hanges)150 3679 y(the)i(names)g(of)h(the)f
+Fz(input-\014le)38 b FD(in)32 b(place)i(without)f(prompting)g(and)f
+(without)h(creating)i(a)e(temp)s(orary)150 3788 y(cop)m(y)d(of)g
+Fy(input-file)p FD(.)38 b(This)29 b(is)h(b)s(ecause)g(the)f(renaming)h
+(op)s(eration)g(is)g(considered)g(rev)m(ersible)g(if)g(the)150
+3898 y(user)36 b(mak)m(es)h(a)h(mistak)m(e.)61 b(The)36
+b Fz(new)p 1455 3898 V 39 w(name)42 b FD(can)37 b(easily)h(b)s(e)e(c)m
+(hanged)h(bac)m(k)g(to)h Fz(old)p 3122 3898 V 40 w(name)k
+FD(b)m(y)36 b(using)150 4007 y Fy(ncrename)28 b FD(one)j(more)f(time.)
+275 4169 y(Note)22 b(that)f(renaming)f(a)h(dimension)g(to)g(the)g(name)
+g(of)f(a)h(dep)s(enden)m(t)f(v)-5 b(ariable)22 b(can)f(b)s(e)f(used)g
+(to)h(in)m(v)m(ert)150 4279 y(the)44 b(relationship)h(b)s(et)m(w)m(een)
+g(an)f(indep)s(enden)m(t)f(co)s(ordinate)i(v)-5 b(ariable)45
+b(and)f(a)h(dep)s(enden)m(t)e(v)-5 b(ariable.)150 4389
+y(In)35 b(this)h(case,)j(the)d(named)g(dep)s(enden)m(t)f(v)-5
+b(ariable)36 b(m)m(ust)g(b)s(e)g(one-dimensional)g(and)g(should)f(ha)m
+(v)m(e)i(no)150 4498 y(missing)30 b(v)-5 b(alues.)41
+b(Suc)m(h)30 b(a)h(v)-5 b(ariable)31 b(will)g(b)s(ecome)f(a)h(co)s
+(ordinate)g(v)-5 b(ariable.)275 4660 y(According)22 b(to)g(the)f
+Fz(netCDF)h(User)g(Guide)p FD(,)h(renaming)f(prop)s(erties)e(in)i
+(netCDF)g(\014les)f(do)s(es)g(not)h(incur)150 4770 y(the)31
+b(p)s(enalt)m(y)f(of)h(recop)m(ying)g(the)g(en)m(tire)g(\014le)g(when)e
+(the)h Fz(new)p 2260 4770 V 40 w(name)36 b FD(is)30 b(shorter)g(than)g
+(the)h Fz(old)p 3438 4770 V 40 w(name)p FD(.)150 4932
+y(OPTIONS)150 5121 y(`)p Fy(-a)f Fn(old_name)p Fy(,)p
+Fn(new_name)p FD(')630 5230 y(A)m(ttribute)44 b(renaming.)80
+b(The)43 b(old)g(and)g(new)g(names)g(of)g(the)h(attribute)g(are)g(sp)s
+(eci\014ed)630 5340 y(with)24 b(`)p Fy(-a)p FD(')g(\(or)g(`)p
+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: 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)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
+b(The)31 b(`)p Fy(@)p FD(')g(sym)m(b)s(ol)g(delimits)630
+847 y(the)36 b(v)-5 b(ariable)36 b(from)f(the)h(attribute)g(name.)57
+b(If)35 b(the)h(attribute)g(is)g(uniquely)f(named)g(\(no)630
+956 y(other)45 b(v)-5 b(ariables)46 b(con)m(tain)g(the)f(attribute\))h
+(then)f(the)g Fz(old)p 2734 956 V 41 w(v)-5 b(ar)p 2899
+956 V 40 w(name at old)p 3343 956 V 40 w(att)p 3498 956
+V 41 w(name)630 1066 y FD(syn)m(tax)31 b(is)g(redundan)m(t.)40
+b(The)30 b Fz(v)-5 b(ar)p 1803 1066 V 40 w(nm)30 b Fy(global)f
+FD(has)h(sp)s(ecial)h(signi\014cance|it)h(indicates)630
+1176 y(that)f Fz(att)p 948 1176 V 41 w(nm)f FD(refers)g(to)h(a)g
+(global)h(or)f(group)f(attribute,)h(and)f(not)h(to)g(a)g(v)-5
+b(ariable)31 b(named)630 1285 y Fy(global)p FD(.)61 b(In)37
+b(other)h(w)m(ords,)i(a)e Fz(v)-5 b(ar)p 1879 1285 V
+40 w(nm)37 b FD(of)h Fy(global)e FD(is)i(syn)m(tactically)j(equiv)-5
+b(alen)m(t)39 b(to)g(a)630 1395 y Fz(v)-5 b(ar)p 760
+1395 V 40 w(nm)24 b FD(that)h(is)g(empt)m(y)-8 b(.)39
+b(The)24 b Fz(v)-5 b(ar)p 1836 1395 V 40 w(name at att)p
+2274 1395 V 41 w(name)30 b FD(syn)m(tax)25 b(is)g(accepted,)i(though)e
+(not)630 1504 y(required,)30 b(for)g(the)h Fz(new)p 1471
+1504 V 39 w(name)p FD(.)150 1675 y(`)p Fy(-d)f Fn(old_name)p
+Fy(,)p Fn(new_name)p FD(')630 1784 y(Dimension)45 b(renaming.)85
+b(The)44 b(old)h(and)f(new)h(names)g(of)g(the)g(dimension)f(are)i(sp)s
+(eci-)630 1894 y(\014ed)f(with)h(`)p Fy(-d)p FD(')g(\(or)h(`)p
+Fy(--dmn)p FD(',)i(`)p Fy(--dimension)p FD('\))44 b(b)m(y)i(the)g(asso)
+s(ciated)i Fz(old)p 3306 1894 V 40 w(name)k FD(and)630
+2004 y Fz(new)p 793 2004 V 40 w(name)35 b FD(v)-5 b(alues.)41
+b(This)30 b(option)h(ma)m(y)g(b)s(e)e(sp)s(eci\014ed)h(more)g(than)h
+(once.)150 2174 y(`)p Fy(-g)f Fn(old_name)p Fy(,)p Fn(new_name)p
+FD(')630 2284 y(Group)i(renaming.)47 b(The)32 b(old)g(and)g(new)g
+(names)h(of)f(the)h(group)f(are)h(sp)s(eci\014ed)f(with)g(`)p
+Fy(-g)p FD(')630 2393 y(\(or)25 b(`)p Fy(--grp)p FD(',)h(`)p
+Fy(--group)p FD('\))d(b)m(y)i(the)g(asso)s(ciated)h Fz(old)p
+2382 2393 V 41 w(name)k FD(and)24 b Fz(new)p 2993 2393
+V 39 w(name)30 b FD(v)-5 b(alues.)40 b(This)630 2503
+y(option)e(ma)m(y)g(b)s(e)f(sp)s(eci\014ed)g(more)g(than)h(once.)63
+b(This)36 b(functionalit)m(y)j(is)f(only)g(a)m(v)-5 b(ailable)630
+2613 y(in)29 b FC(NCO)g FD(v)m(ersion)g(4.3.7)i(\(Octob)s(er,)f(2013\))
+h(or)f(later,)g(and)f(only)g(when)f(built)h(on)g(netCDF)630
+2722 y(library)h(v)m(ersion)h(4.3.1-rc1)i(\(August,)e(2013\))h(or)e
+(later.)150 2893 y(`)p Fy(-v)g Fn(old_name)p Fy(,)p Fn(new_name)p
+FD(')630 3002 y(V)-8 b(ariable)35 b(renaming.)52 b(The)33
+b(old)h(and)f(new)h(names)g(of)g(the)g(v)-5 b(ariable)35
+b(are)f(sp)s(eci\014ed)f(with)630 3112 y(`)p Fy(-v)p
+FD(')28 b(\(or)g(`)p Fy(--variable)p FD('\))d(b)m(y)j(the)g(asso)s
+(ciated)h Fz(old)p 2373 3112 V 40 w(name)k FD(and)27
+b Fz(new)p 2989 3112 V 40 w(name)33 b FD(v)-5 b(alues.)40
+b(This)630 3221 y(option)31 b(ma)m(y)g(b)s(e)f(sp)s(eci\014ed)f(more)i
+(than)f(once.)150 3417 y(EXAMPLES)275 3582 y(Rename)36
+b(the)f(v)-5 b(ariable)37 b Fy(p)e FD(to)h Fy(pressure)e
+FD(and)h Fy(t)g FD(to)h Fy(temperature)d FD(in)i(netCDF)h
+Fy(in.nc)p FD(.)55 b(In)35 b(this)150 3691 y(case)25
+b Fy(p)f FD(m)m(ust)h(exist)g(in)f(the)g(input)g(\014le)g(\(or)h
+Fy(ncrename)d FD(will)i(ab)s(ort\),)i(but)e(the)g(presence)h(of)f
+Fy(t)g FD(is)h(optional:)390 3856 y Fy(ncrename)46 b(-v)h(p,pressure)e
+(-v)i(.t,temperature)d(in.nc)275 4021 y FD(Rename)29
+b(the)g(attribute)h Fy(long_name)d FD(to)j Fy(largo_nombre)25
+b FD(in)k(the)g(v)-5 b(ariable)30 b Fy(u)p FD(,)g(and)e(no)h(other)g(v)
+-5 b(ari-)150 4131 y(ables)31 b(in)f(netCDF)h Fy(in.nc)p
+FD(.)390 4296 y Fy(ncrename)46 b(-a)h(u at long_name,largo_nombr)o(e)42
+b(in.nc)275 4461 y FD(Rename)30 b(the)h(group)f Fy(g8)f
+FD(to)j Fy(g20)d FD(in)h(netCDF4)i(\014le)e Fy(in_grp.nc)p
+FD(:)390 4626 y Fy(ncrename)46 b(-g)h(g8,g20)f(in_grp.nc)275
+4791 y FD(Rename)30 b(the)h(v)-5 b(ariable)31 b Fy(/g1/lon)d
+FD(to)k Fy(longitude)27 b FD(in)j(netCDF4)i Fy(in_grp.nc)p
+FD(:)390 4956 y Fy(ncrename)46 b(-v)h(/g1/lon,longitude)c(in_grp.nc)390
+5065 y(ncrename)j(-v)h(/g1/lon,/g1/longitude)42 b(in_grp.nc)j(#)i
+(Alternate)275 5230 y(ncrename)23 b FD(do)s(es)i(not)h(automatically)j
+(attac)m(h)e(dimensions)e(to)i(v)-5 b(ariables)26 b(of)g(the)f(same)i
+(name.)39 b(This)150 5340 y(is)29 b(done)f(to)i(mak)m(e)g(renaming)e
+(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: 200 206
+TeXDict begin 200 205 bop 150 -116 a FD(200)2582 b FC(NCO)30
+b FD(4.4.2)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(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
+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
+Fy(in.nc)d FD(except)j(the)g(attribute)f Fy(_FillValue)e
+FD(is)i(c)m(hanged)g(to)150 2680 y Fy(missing_value)p
+FD(,)28 b(the)j(attribute)h Fy(units)e FD(is)h(c)m(hanged)h(to)f
+Fy(CGS_units)e FD(\(but)i(only)g(in)g(those)g(v)-5 b(ariables)150
+2790 y(whic)m(h)26 b(p)s(ossess)g(it\),)i(the)e(attribute)h
+Fy(hieght)e FD(is)h(c)m(hanged)h(to)g Fy(height)e FD(in)h(the)g(v)-5
+b(ariable)28 b Fy(tpt)p FD(,)e(and)g(in)g(the)150 2899
+y(v)-5 b(ariable)31 b Fy(prs_sfc)p FD(,)e(if)h(it)h(exists.)390
+3059 y Fy(ncrename)46 b(-a)h(_FillValue,missing_valu)o(e)42
+b(-a)47 b(.units,CGS_units)c(\\)485 3168 y(-a)48 b(tpt at hieght,height)43
+b(-a)k(prs_sfc at .hieght,height)42 b(in.nc)k(out.nc)275
+3328 y FD(The)39 b(presence)h(and)g(absence)h(of)f(the)g(`)p
+Fy(.)p FD(')h(and)e(`)p Fy(@)p FD(')h(features)h(cause)g(this)f
+(command)g(to)h(execute)150 3437 y(successfully)30 b(only)h(if)f(a)h(n)
+m(um)m(b)s(er)d(of)j(conditions)g(are)f(met.)41 b(All)31
+b(v)-5 b(ariables)31 b Fo(must)40 b FD(ha)m(v)m(e)31
+b(a)g Fy(_FillValue)150 3547 y FD(attribute)38 b Fo(and)49
+b Fy(_FillValue)35 b FD(m)m(ust)i(also)i(b)s(e)e(a)h(global)h
+(attribute.)64 b(The)37 b Fy(units)f FD(attribute,)41
+b(on)d(the)150 3656 y(other)30 b(hand,)g(will)g(b)s(e)g(renamed)f(to)i
+Fy(CGS_units)d FD(wherev)m(er)i(it)h(is)f(found)f(but)g(need)h(not)h(b)
+s(e)e(presen)m(t)h(in)150 3766 y(the)e(\014le)f(at)i(all)f(\(either)h
+(as)f(a)f(global)i(or)f(a)g(v)-5 b(ariable)28 b(attribute\).)41
+b(The)27 b(v)-5 b(ariable)29 b Fy(tpt)d FD(m)m(ust)i(con)m(tain)h(the)
+150 3875 y Fy(hieght)i FD(attribute.)50 b(The)33 b(v)-5
+b(ariable)34 b Fy(prs_sfc)d FD(need)i(not)h(exist,)h(and)d(need)h(not)h
+(con)m(tain)g(the)g Fy(hieght)150 3985 y FD(attribute.)275
+4144 y(Rename)c(the)h(global)h(or)e(group)g(attribute)h
+Fy(Convention)c FD(to)k Fy(Conventions)390 4304 y(ncrename)46
+b(-a)h(Convention,Conventions)89 b(in.nc)47 b(#)g(Variable)f(and)g
+(global)h(atts.)390 4413 y(ncrename)f(-a)h(.Convention,Conventions)41
+b(in.nc)47 b(#)g(Variable)f(and)g(global)h(atts.)390
+4523 y(ncrename)f(-a)h(@Convention,Conventions)89 b(in.nc)46
+b(#)i(Global)e(atts.)g(only)390 4633 y(ncrename)g(-a)h
+(@.Convention,Convention)o(s)42 b(in.nc)k(#)i(Global)e(atts.)g(only)390
+4742 y(ncrename)g(-a)h(global at Convention,Conve)o(ntio)o(ns)137
+b(in.nc)46 b(#)i(Global)e(atts.)g(only)390 4852 y(ncrename)g(-a)h
+(.global at .Convention,Con)o(vent)o(ions)41 b(in.nc)46
+b(#)i(Global)e(atts.)g(only)275 5011 y FD(The)37 b(examples)h(without)f
+(the)h Fy(@)f FD(c)m(haracter)i(attempt)g(to)f(c)m(hange)h(the)f
+(attribute)g(name)f(in)h(b)s(oth)150 5121 y(Global)g(or)e(Group)g(and)g
+(v)-5 b(ariable)37 b(attributes.)60 b(The)36 b(examples)h(with)f(the)g
+Fy(@)h FD(c)m(haracter)h(attempt)f(to)150 5230 y(c)m(hange)26
+b(only)f(global)i(and)d(group)h Fy(Convention)d FD(attributes,)27
+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: 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(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: 202 208
+TeXDict begin 202 207 bop 150 -116 a FD(202)2582 b FC(NCO)30
+b FD(4.4.2)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
+b FD(a)m(v)m(erages)k(v)-5 b(ariables)28 b(in)e(a)h(single)h(\014le)f
+(o)m(v)m(er)h(arbitrary)e(dimensions,)h(with)g(options)g(to)g(sp)s
+(ecify)150 1940 y(w)m(eigh)m(ts,)k(masks,)e(and)f(normalization.)42
+b(See)29 b(Section)h(2.6)f([Statistics)i(vs.)40 b(Concatenation],)31
+b(page)f(18,)150 2049 y(for)h(a)g(description)g(of)g(the)g
+(distinctions)g(b)s(et)m(w)m(een)h(the)f(v)-5 b(arious)31
+b(statistics)i(to)s(ols)e(and)g(concatenators.)150 2159
+y(The)g(default)g(b)s(eha)m(vior)g(of)h Fy(ncwa)e FD(is)h(to)h
+(arithmetically)h(a)m(v)m(erage)h(ev)m(ery)e(n)m(umerical)g(v)-5
+b(ariable)32 b(o)m(v)m(er)g(all)150 2269 y(dimensions)e(and)f(to)j(pro)
+s(duce)d(a)i(scalar)g(result)f(for)g(eac)m(h.)275 2434
+y(Av)m(eraged)41 b(dimensions)f(are,)k(b)m(y)c(default,)j(eliminated)f
+(as)e(dimensions.)70 b(Their)40 b(corresp)s(onding)150
+2543 y(co)s(ordinates,)j(if)d(an)m(y)-8 b(,)43 b(are)d(output)f(as)h
+(scalar)h(v)-5 b(ariables.)69 b(The)40 b(`)p Fy(-b)p
+FD(')f(switc)m(h)i(\(and)e(its)h(long)g(option)150 2653
+y(equiv)-5 b(alen)m(ts)34 b(`)p Fy(--rdd)p FD(')e(and)g(`)p
+Fy(--retain-degenerate-dimens)o(ions)o FD('\))c(causes)33
+b Fy(ncwa)e FD(to)j(retain)f(a)m(v)m(er-)150 2762 y(aged)28
+b(dimensions)f(as)g(degenerate)i(\(size)i(1)q(\))c(dimensions.)39
+b(This)27 b(main)m(tains)h(the)f(asso)s(ciation)i(b)s(et)m(w)m(een)150
+2872 y(a)h(dimension)f(\(or)h(co)s(ordinate\))h(and)e(v)-5
+b(ariables)31 b(after)f(a)m(v)m(eraging)i(and)d(simpli\014es,)h(for)f
+(instance,)i(later)150 2982 y(concatenation)i(along)e(the)g(degenerate)
+h(dimension.)275 3147 y(T)-8 b(o)39 b(a)m(v)m(erage)j(v)-5
+b(ariables)40 b(o)m(v)m(er)h(only)e(a)h(subset)e(of)i(their)f
+(dimensions,)i(sp)s(ecify)e(these)h(dimensions)150 3256
+y(in)c(a)g(comma-separated)h(list)g(follo)m(wing)g(`)p
+Fy(-a)p FD(',)h(e.g.,)g(`)p Fy(-a)30 b(time,lat,lon)p
+FD('.)54 b(As)36 b(with)g(all)h(arithmetic)150 3366 y(op)s(erators,)44
+b(the)c(op)s(eration)i(ma)m(y)f(b)s(e)f(restricted)h(to)h(an)e
+(arbitrary)h(h)m(ypserslab)f(b)m(y)g(emplo)m(ying)i(the)150
+3476 y(`)p Fy(-d)p FD(')28 b(option)h(\(see)g(Section)g(3.15)h([Hyp)s
+(erslabs],)f(page)g(53\).)41 b Fy(ncwa)27 b FD(also)i(handles)f(v)-5
+b(alues)28 b(matc)m(hing)i(the)150 3585 y(v)-5 b(ariable's)31
+b Fy(_FillValue)d FD(attribute)j(correctly)-8 b(.)42
+b(Moreo)m(v)m(er,)33 b Fy(ncwa)c FD(understands)f(ho)m(w)j(to)g
+(manipulate)150 3695 y(user-sp)s(eci\014ed)39 b(w)m(eigh)m(ts,)k
+(masks,)g(and)c(normalization)i(options.)69 b(With)40
+b(these)g(options,)j Fy(ncwa)c FD(can)150 3804 y(compute)31
+b(sophisticated)g(a)m(v)m(erages)i(\(and)d(in)m(tegrals\))i(from)e(the)
+h(command)f(line.)275 3969 y Fz(mask)p 486 3969 28 4
+v 40 w(v)-5 b(ar)36 b FD(and)29 b Fz(w)m(eigh)m(t)p FD(,)i(if)f(sp)s
+(eci\014ed,)f(are)h(broadcast)h(to)f(conform)f(to)i(the)f(v)-5
+b(ariables)30 b(b)s(eing)f(a)m(v)m(er-)150 4079 y(aged.)39
+b(The)23 b(rank)g(of)g(v)-5 b(ariables)24 b(is)g(reduced)e(b)m(y)i(the)
+f(n)m(um)m(b)s(er)f(of)i(dimensions)e(whic)m(h)h(they)h(are)g(a)m(v)m
+(eraged)150 4189 y(o)m(v)m(er.)62 b(Th)m(us)36 b(arra)m(ys)i(whic)m(h)f
+(are)g(one)h(dimensional)f(in)g(the)g Fz(input-\014le)42
+b FD(and)36 b(are)i(a)m(v)m(eraged)h(b)m(y)e Fy(ncwa)150
+4298 y FD(app)s(ear)f(in)h(the)g Fz(output-\014le)42
+b FD(as)37 b(scalars.)62 b(This)36 b(allo)m(ws)i(the)f(user)f(to)i
+(infer)e(whic)m(h)h(dimensions)f(ma)m(y)150 4408 y(ha)m(v)m(e)j(b)s
+(een)e(a)m(v)m(eraged.)65 b(Note)39 b(that)f(that)g(it)h(is)e(imp)s
+(ossible)h(for)f Fy(ncwa)g FD(to)h(mak)m(e)h(mak)m(e)g(a)f
+Fz(w)m(eigh)m(t)j FD(or)150 4517 y Fz(mask)p 361 4517
+V 40 w(v)-5 b(ar)33 b FD(of)27 b(rank)f Fz(W)39 b FD(conform)26
+b(to)i(a)f Fz(v)-5 b(ar)33 b FD(of)26 b(rank)h Fz(V)38
+b FD(if)27 b Fz(W)g Fy(>)f Fz(V)p FD(.)39 b(This)26 b(situation)i
+(often)f(arises)g(when)150 4627 y(co)s(ordinate)h(v)-5
+b(ariables)28 b(\(whic)m(h,)g(b)m(y)f(de\014nition,)h(are)g(one)f
+(dimensional\))h(are)f(w)m(eigh)m(ted)i(and)e(a)m(v)m(eraged.)150
+4737 y Fy(ncwa)22 b FD(assumes)i(y)m(ou)f(kno)m(w)h(this)f(is)h(imp)s
+(ossible)f(and)g(so)h Fy(ncwa)e FD(do)s(es)i(not)f(attempt)i(to)f
+(broadcast)g Fz(w)m(eigh)m(t)150 4846 y FD(or)31 b Fz(mask)p
+473 4846 V 40 w(v)-5 b(ar)38 b FD(to)32 b(conform)f(to)h
+Fz(v)-5 b(ar)38 b FD(in)31 b(this)g(case,)i(nor)e(do)s(es)g
+Fy(ncwa)f FD(prin)m(t)h(a)h(w)m(arning)f(message)i(telling)150
+4956 y(y)m(ou)c(this,)h(b)s(ecause)f(it)g(is)g(so)g(common.)41
+b(Sp)s(ecifying)28 b Fz(dbg)g Fy(>)h Fz(2)37 b FD(do)s(es)28
+b(cause)i Fy(ncwa)d FD(to)j(emit)g(w)m(arnings)e(in)150
+5065 y(these)j(situations,)g(ho)m(w)m(ev)m(er.)275 5230
+y(Non-co)s(ordinate)g(v)-5 b(ariables)31 b(are)f(alw)m(a)m(ys)i(mask)m
+(ed)e(and)g(w)m(eigh)m(ted)h(if)f(sp)s(eci\014ed.)40
+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: 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 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
+(co)s(ordinate)g(v)-5 b(ariables,)30 b(the)f(v)-5 b(alue)30
+b(of)f Fy(latitude)e FD(in)h(the)i Fz(output-\014le)k
+FD(dep)s(ends)27 b(on)i(the)150 1066 y(w)m(eigh)m(ts)h(in)f
+Fz(lat)p 688 1066 28 4 v 41 w(wgt)i FD(and)e(is)g(not)g(lik)m(ely)i(to)
+e(b)s(e)h(45.0)r(,)f(the)g(midp)s(oin)m(t)g(latitude)h(of)f(the)g(h)m
+(yp)s(erslab.)39 b(Op-)150 1176 y(tion)31 b(`)p Fy(-I)p
+FD(')f(o)m(v)m(errides)h(this)g(default)f(b)s(eha)m(vior)g(and)g
+(causes)h Fy(ncwa)e FD(not)i(to)g(w)m(eigh)m(t)g(or)g(mask)f(co)s
+(ordinate)150 1285 y(v)-5 b(ariables)496 1252 y Ft(1)534
+1285 y FD(.)38 b(In)24 b(the)g(ab)s(o)m(v)m(e)h(case,)h(this)e(causes)g
+(the)g(v)-5 b(alue)25 b(of)f Fy(latitude)d FD(in)j(the)g
+Fz(output-\014le)29 b FD(to)24 b(b)s(e)30 b(45.0)r(,)150
+1395 y(an)f(app)s(ealing)g(result.)40 b(Th)m(us,)28 b(`)p
+Fy(-I)p FD(')h(sp)s(eci\014es)f(simple)h(arithmetic)h(a)m(v)m(erages)h
+(for)e(the)g(co)s(ordinate)g(v)-5 b(ari-)150 1504 y(ables.)44
+b(In)31 b(the)h(case)g(of)g(latitude,)h(`)p Fy(-I)p FD(')e(sp)s
+(eci\014es)h(that)g(y)m(ou)g(prefer)e(to)i(arc)m(hiv)m(e)h(the)f
+(arithmetic)h(mean)150 1614 y(latitude)e(of)g(the)f(a)m(v)m(eraged)j(h)
+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(81,)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
+b(v)-5 b(ariables.)39 b(This)19 b(is)i(indep)s(enden)m(t)e(of)i(the)g
+(setting)h(of)e(the)h(`)p Fy(-I)p FD(')g(option.)38 b(The)20
+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(81\).)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
+b(is)f(0)h(or)g(1)g(\(false)g(or)g(true\).)39 b(The)150
+2689 y(v)-5 b(alue)26 b(of)f Fv(m)558 2703 y Fg(i)611
+2689 y FD(is)g(alw)m(a)m(ys)i(1)f(unless)e(a)i Fz(mask)p
+1599 2689 V 40 w(v)-5 b(ar)32 b FD(is)25 b(sp)s(eci\014ed)f(\(with)i(`)
+p Fy(-m)p FD('\).)39 b(As)25 b(noted)h(ab)s(o)m(v)m(e,)h
+Fz(mask)p 3585 2689 V 40 w(v)-5 b(ar)150 2799 y FD(is)32
+b(broadcast,)g(if)g(p)s(ossible,)f(to)h(conform)g(to)g(the)g(v)-5
+b(ariable)32 b(b)s(eing)f(a)m(v)m(eraged.)46 b(In)31
+b(this)h(case,)h(the)e(v)-5 b(alue)150 2908 y(of)41 b
+Fv(m)344 2922 y Fg(i)413 2908 y FD(dep)s(ends)e(on)i(the)g
+Fz(mask)g(condition)h FD(also)g(kno)m(wn)f(as)g(the)g
+Fz(truth)g(condition)p FD(.)73 b(As)41 b(exp)s(ected,)150
+3018 y Fv(m)230 3032 y Fg(i)283 3018 y FD(=)25 b(1)30
+b(when)g(the)g(mask)h(condition)g(is)f Fz(true)35 b FD(and)30
+b Fv(m)2028 3032 y Fg(i)2081 3018 y FD(=)25 b(0)31 b(otherwise.)275
+3185 y(The)43 b(mask)g(condition)i(has)e(the)h(syn)m(tax)h
+Fz(mask)p 2003 3185 V 45 w(v)-5 b(ar)50 b(mask)p 2427
+3185 V 46 w(comp)c(mask)p 2936 3185 V 46 w(v)-5 b(al)t
+FD(.)81 b(The)43 b(preferred)150 3294 y(metho)s(d)28
+b(to)i(sp)s(ecify)e(the)h(mask)g(condition)h(is)e(in)h(one)g(string)g
+(with)f(the)h(`)p Fy(-B)p FD(')g(or)g(`)p Fy(--mask_condition)p
+FD(')150 3404 y(switc)m(hes.)51 b(The)34 b(older)g(metho)s(d)f(is)h(to)
+g(use)f(the)h(three)g(switc)m(hes)h(`)p Fy(-m)p FD(',)f(`)p
+Fy(-T)p FD(',)h(and)e(`)p Fy(-M)p FD(')h(to)g(sp)s(ecify)g(the)150
+3513 y Fz(mask)p 361 3513 V 40 w(v)-5 b(ar)p FD(,)41
+b Fz(mask)p 796 3513 V 40 w(comp)p FD(,)g(and)d Fz(mask)p
+1504 3513 V 40 w(v)-5 b(al)p FD(,)42 b(resp)s(ectiv)m(ely)-8
+b(.)2199 3480 y Ft(3)2238 3513 y FD(.)66 b(The)38 b Fz(mask)p
+2735 3513 V 40 w(condition)i FD(string)e(is)h(auto-)150
+3623 y(matically)32 b(parsed)e(in)m(to)h(its)g(three)g(constituen)m(ts)
+g Fz(mask)p 2098 3623 V 40 w(v)-5 b(ar)p FD(,)31 b Fz(mask)p
+2523 3623 V 40 w(comp)p FD(,)g(and)e Fz(mask)p 3212 3623
+V 41 w(v)-5 b(al)p FD(.)275 3790 y(Here)87 b Fz(mask)p
+757 3790 V 40 w(v)-5 b(ar)94 b FD(is)87 b(the)h(name)f(of)h(the)f
+(masking)h(v)-5 b(ariable)88 b(\(sp)s(eci\014ed)f(with)g(`)p
+Fy(-m)p FD(',)150 3899 y(`)p Fy(--mask-variable)p FD(',)81
+b(`)p Fy(--mask_variable)p FD(',)h(`)p Fy(--msk_nm)p
+FD(',)h(or)74 b(`)p Fy(--msk_var)p FD('\).)170 b(The)74
+b(truth)150 4009 y Fz(mask)p 361 4009 V 40 w(comp)55
+b FD(argumen)m(t)d(\(sp)s(eci\014ed)g(with)g(`)p Fy(-T)p
+FD(',)57 b(`)p Fy(--mask_comparator)p FD(',)c(`)p Fy(--msk_cmp_typ)p
+FD(',)i(or)150 4118 y(`)p Fy(--op_rlt)p FD(')41 b(ma)m(y)i(b)s(e)e(an)m
+(y)i(one)g(of)f(the)h(six)f(arithmetic)i(comparators:)65
+b Fn(eq)p FD(,)45 b Fn(ne)p FD(,)g Fn(gt)p FD(,)g Fn(lt)p
+FD(,)g Fn(ge)p FD(,)g Fn(le)p FD(.)150 4228 y(These)37
+b(are)g(the)g(F)-8 b(ortran-st)m(yle)39 b(c)m(haracter)g(abbreviations)
+e(for)g(the)g(logical)i(comparisons)e(=,)i FA(6)p FD(=,)f
+Fv(>)p FD(,)150 4337 y Fv(<)p FD(,)32 b FA(\025)p FD(,)h
+FA(\024)p FD(.)45 b(The)31 b(mask)h(comparator)h(defaults)f(to)h
+Fn(eq)e FD(\(equalit)m(y\).)48 b(The)32 b Fz(mask)p 2900
+4337 V 40 w(v)-5 b(al)36 b FD(argumen)m(t)c(to)h(`)p
+Fy(-M)p FD(')150 4447 y(\(or)c(`)p Fy(--mask-value)p
+FD(',)d(or)i(`)p Fy(--msk_val)p FD('\))e(is)i(the)h(righ)m(t)f(hand)g
+(side)g(of)g(the)g Fz(mask)g(condition)p FD(.)41 b(Th)m(us)27
+b(for)150 4557 y(the)33 b Fz(i)5 b FD('th)34 b(elemen)m(t)g(of)g(the)f
+(h)m(yp)s(erslab)f(to)i(b)s(e)f(a)m(v)m(eraged,)j(the)d(mask)g
+(condition)h(is)f Fo(mask)3241 4571 y Fg(i)3305 4557
+y Fo(mask)p 3511 4557 V 42 w(c)-5 b(omp)150 4666 y(mask)p
+356 4666 V 42 w(val)p FD(.)p 150 4773 1200 4 v 199 4841
+a Ft(1)275 4872 y Fs(The)28 b(default)g(b)r(eha)n(vior)g(of)g(\(`)p
+Fr(-I)p Fs('\))h(c)n(hanged)e(on)h(19981201|b)r(efore)k(this)c(date)f
+(the)h(default)g(w)n(as)h(not)e(to)h(w)n(eigh)n(t)h(or)275
+4960 y(mask)c(co)r(ordinate)i(v)l(ariables.)199 5031
+y Ft(2)275 5063 y Fs(If)32 b Fr(lat_wgt)i Fs(con)n(tains)g(Gaussian)f
+(w)n(eigh)n(ts)h(then)e(the)g(v)l(alue)g(of)i Fr(latitude)g
+Fs(in)f(the)f Fm(output-\014le)k Fs(will)e(b)r(e)e(the)g(area-)275
+5150 y(w)n(eigh)n(ted)26 b(cen)n(troid)f(of)i(the)e(h)n(yp)r(erslab.)34
+b(F)-6 b(or)26 b(the)f(example)h(giv)n(en,)g(this)g(is)g(ab)r(out)g(30)
+g(degrees.)199 5221 y Ft(3)275 5253 y Fs(The)c(three)g(switc)n(hes)h(`)
+p Fr(-m)p Fs(',)h(`)p Fr(-T)p Fs(',)g(and)d(`)p Fr(-M)p
+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: 204 210
+TeXDict begin 204 209 bop 150 -116 a FD(204)2582 b FC(NCO)30
+b FD(4.4.2)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
+b(this)i(case,)h(the)f(v)-5 b(alue)30 b(of)f Fv(w)2587
+532 y Fg(i)2645 518 y FD(is)g(determined)g(b)m(y)h(the)f
+Fz(w)m(eigh)m(t)150 628 y FD(v)-5 b(ariable)36 b(in)g(the)f
+Fz(input-\014le)p FD(.)56 b(As)36 b(noted)g(ab)s(o)m(v)m(e,)i
+Fz(w)m(eigh)m(t)h FD(is)d(broadcast,)h(if)f(p)s(ossible,)g(to)h
+(conform)e(to)150 737 y(the)c(v)-5 b(ariable)31 b(b)s(eing)f(a)m(v)m
+(eraged.)275 897 y Fv(M)43 b FD(is)33 b(the)h(n)m(um)m(b)s(er)d(of)j
+(input)e(elemen)m(ts)j Fv(x)1772 911 y Fg(i)1832 897
+y FD(whic)m(h)e(actually)i(con)m(tribute)f(to)g(output)f(elemen)m(t)i
+Fv(x)3690 911 y Fg(j)3725 897 y FD(.)150 1007 y Fv(M)40
+b FD(is)31 b(also)g(kno)m(wn)f(as)h(the)f Fz(tally)40
+b FD(and)29 b(is)i(de\014ned)e(as)1671 1288 y Fv(M)36
+b FD(=)1891 1182 y Fg(i)p Ft(=)p Fg(N)1897 1207 y Ff(X)1903
+1384 y Fg(i)p Ft(=1)2039 1288 y Fv(\026)2094 1302 y Fg(i)2121
+1288 y Fv(m)2201 1302 y Fg(i)150 1565 y Fv(M)c FD(is)22
+b(iden)m(tical)i(to)e(the)g(denominator)h(of)f(the)g(generic)h(a)m(v)m
+(eraging)h(expression)e(except)h(for)e(the)i(omission)150
+1674 y(of)28 b(the)g(w)m(eigh)m(t)h Fv(w)755 1688 y Fg(i)783
+1674 y FD(.)39 b(Th)m(us)27 b Fv(M)35 b FD(=)25 b Fv(N)38
+b FD(whenev)m(er)27 b(no)h(input)f(p)s(oin)m(ts)g(are)h(missing)g(v)-5
+b(alues)28 b(or)f(are)h(mask)m(ed.)150 1784 y(Whether)f(an)f(elemen)m
+(t)j(con)m(tributes)e(to)g(the)g(output,)g(and)f(th)m(us)h(incremen)m
+(ts)g Fv(M)36 b FD(b)m(y)27 b(one,)h(has)e(more)h(to)150
+1893 y(do)i(with)f(the)h(ab)s(o)m(v)m(e)h(t)m(w)m(o)g(criteria)f
+(\(missing)g(v)-5 b(alue)29 b(and)f(masking\))i(than)e(with)g(the)h(n)m
+(umeric)g(v)-5 b(alue)29 b(of)150 2003 y(the)g(elemen)m(t)h(p)s(er)e
+(se.)40 b(F)-8 b(or)30 b(example,)g Fv(x)1532 2017 y
+Fg(i)1584 2003 y FD(=)25 b(0)p Fv(:)p FD(0)30 b(do)s(es)f(con)m
+(tribute)g(to)h Fv(x)2626 2017 y Fg(j)2689 2003 y FD(\(assuming)f(the)g
+Fy(_FillValue)150 2113 y FD(attribute)34 b(is)f(not)g(0.0)h(and)e(lo)s
+(cation)j Fv(i)e FD(is)g(not)g(mask)m(ed\).)50 b(The)32
+b(v)-5 b(alue)34 b Fv(x)2676 2127 y Fg(i)2733 2113 y
+FD(=)29 b(0)p Fv(:)p FD(0)34 b(will)f(not)h(c)m(hange)g(the)150
+2222 y(n)m(umerator)f(of)g(the)f(generic)i(a)m(v)m(eraging)h
+(expression,)e(but)f(it)i(will)f(c)m(hange)h(the)e(denominator)h
+(\(unless)150 2332 y(its)e(w)m(eigh)m(t)h Fv(w)630 2346
+y Fg(i)683 2332 y FD(=)25 b(0)p Fv(:)p FD(0)31 b(as)g(w)m(ell\).)150
+2532 y Fu(4.12.2)63 b(Normalization)41 b(and)g(In)m(tegration)150
+2679 y Fy(ncwa)g FD(has)i(one)g(switc)m(h)g(whic)m(h)f(con)m(trols)i
+(the)f(normalization)h(of)e(the)h(a)m(v)m(erages)i(app)s(earing)d(in)h
+(the)150 2788 y Fz(output-\014le)p FD(.)70 b(Short)39
+b(option)i(`)p Fy(-N)p FD(')f(\(or)g(long)h(options)f(`)p
+Fy(--nmr)p FD(')g(or)g(`)p Fy(--numerator)p FD('\))e(prev)m(en)m(ts)i
+Fy(ncwa)150 2898 y FD(from)27 b(dividing)f(the)i(w)m(eigh)m(ted)g(sum)f
+(of)g(the)g(v)-5 b(ariable)28 b(\(the)g(n)m(umerator)f(in)g(the)g(a)m
+(v)m(eraging)j(expression\))150 3007 y(b)m(y)22 b(the)g(w)m(eigh)m(ted)
+h(sum)e(of)g(the)h(w)m(eigh)m(ts)i(\(the)e(denominator)g(in)f(the)h(a)m
+(v)m(eraging)i(expression\).)38 b(Th)m(us)21 b(`)p Fy(-N)p
+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(81\).)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(81\))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
+b(\(with)31 b(`)p Fy(-a)p FD(',)43 b(or)e(all,)k(if)c(none)g(are)g(sp)s
+(eci\014ed\))g(dimensions.)71 b(The)41 b(w)m(eigh)m(ting)h(v)-5
+b(ariable,)45 b(if)150 3934 y(sp)s(eci\014ed)30 b(\(with)g(`)p
+Fy(-w)p FD('\),)i(pla)m(ys)f(the)f(role)i(of)e(the)h(di\013eren)m(tial)
+h(incremen)m(t)g(and)e(th)m(us)g(p)s(ermits)g(more)g(so-)150
+4044 y(phisticated)g(in)m(tegrals)g(\(i.e.,)h(w)m(eigh)m(ted)f(sums\))f
+(to)g(b)s(e)g(output.)39 b(F)-8 b(or)30 b(example,)g(consider)f(the)g
+(v)-5 b(ariable)150 4153 y Fy(lev)25 b FD(where)g Fz(lev)34
+b FD(=)25 b([100)p Fv(;)15 b FD(500)p Fv(;)g FD(1000])31
+b(w)m(eigh)m(ted)d(b)m(y)d(the)h(w)m(eigh)m(t)h Fy(lev_wgt)d
+FD(where)i Fz(lev)p 3108 4153 28 4 v 48 w(wgt)i FD(=)d([10)p
+Fv(;)15 b FD(2)p Fv(;)g FD(1].)150 4263 y(The)33 b(v)m(ertical)j(in)m
+(tegral)g(of)e Fy(lev)p FD(,)g(w)m(eigh)m(ted)h(b)m(y)f
+Fy(lev_wgt)p FD(,)f(is)h(the)g(dot)g(pro)s(duct)e(of)i
+Fz(lev)42 b FD(and)34 b Fz(lev)p 3544 4263 V 40 w(wgt)p
+FD(.)150 4372 y(That)29 b(this)f(is)h(is)i(3000.0)g(can)e(b)s(e)f(seen)
+h(b)m(y)g(insp)s(ection)g(and)f(v)m(eri\014ed)h(with)f(the)h(in)m
+(tegration)i(command)390 4532 y Fy(ncwa)47 b(-N)g(-a)g(lev)g(-v)g(lev)g
+(-w)g(lev_wgt)f(in.nc)g(foo.nc;ncks)f(foo.nc)150 4692
+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: 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)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
+b(in)f Fy(in.nc)f FD(o)m(v)m(er)j(all)f(dimensions)f(and)f(store)i
+(results)g(in)f Fy(out.nc)p FD(:)390 1940 y Fy(ncwa)47
+b(in.nc)f(out.nc)150 2104 y FD(All)30 b(v)-5 b(ariables)29
+b(in)g Fy(in.nc)f FD(are)h(reduced)g(to)h(scalars)g(in)e
+Fy(out.nc)g FD(since)h Fy(ncwa)f FD(a)m(v)m(erages)k(o)m(v)m(er)e(all)g
+(dimen-)150 2213 y(sions)g(unless)g(otherwise)h(sp)s(eci\014ed)e
+(\(with)i(`)p Fy(-a)p FD('\).)275 2377 y(Store)f(the)h(zonal)g
+(\(longitudinal\))h(mean)e(of)h Fy(in.nc)e FD(in)h Fy(out.nc)p
+FD(:)390 2540 y Fy(ncwa)47 b(-a)g(lon)g(in.nc)f(out1.nc)390
+2649 y(ncwa)h(-a)g(lon)g(-b)g(in.nc)f(out2.nc)150 2813
+y FD(The)41 b(\014rst)g(command)h(turns)e Fy(lon)h FD(in)m(to)i(a)f
+(scalar)h(and)e(the)h(second)f(retains)i Fy(lon)d FD(as)i(a)h
+(degenerate)150 2922 y(dimension)30 b(in)g(all)h(v)-5
+b(ariables.)390 3085 y Fy(\045)47 b(ncks)g(-C)g(-H)g(-v)h(lon)f
+(out1.nc)390 3195 y(lon)g(=)g(135)390 3305 y(\045)g(ncks)g(-C)g(-H)g
+(-v)h(lon)f(out2.nc)390 3414 y(lon[0])f(=)i(135)275 3577
+y FD(In)21 b(either)j(case)f(the)g(tally)h(is)f(simply)f(the)h(size)g
+(of)g Fy(lon)p FD(,)h(i.e.,)h(180)f(for)f(the)f Fy(85_0112.nc)e
+FD(\014le)j(describ)s(ed)150 3687 y(b)m(y)30 b(the)h(sample)f(header)h
+(ab)s(o)m(v)m(e.)275 3850 y(Compute)e(the)i(meridional)f
+(\(latitudinal\))j(mean,)d(with)g(v)-5 b(alues)31 b(w)m(eigh)m(ted)g(b)
+m(y)g(the)f(corresp)s(onding)150 3960 y(elemen)m(t)i(of)e
+Fz(gw)708 3927 y Ft(4)746 3960 y FD(:)390 4123 y Fy(ncwa)47
+b(-w)g(gw)g(-a)g(lat)g(in.nc)f(out.nc)150 4286 y FD(Here)31
+b(the)f(tally)i(is)e(simply)g(the)h(size)g(of)g Fy(lat)p
+FD(,)e(or)i(64.)g(The)f(sum)g(of)g(the)h(Gaussian)f(w)m(eigh)m(ts)i(is)
+e(2.0.)275 4450 y(Compute)f(the)i(area)g(mean)g(o)m(v)m(er)g(the)g
+(tropical)h(P)m(aci\014c:)390 4613 y Fy(ncwa)47 b(-w)g(gw)g(-a)g
+(lat,lon)f(-d)h(lat,-20.,20.)e(-d)i(lon,120.,270.)d(in.nc)i(out.nc)150
+4776 y FD(Here)31 b(the)f(tally)i(is)e(64)22 b FA(\002)d
+FD(128)27 b(=)e(8192.)275 4939 y(Compute)k(the)i(area-mean)h(o)m(v)m
+(er)f(the)g(glob)s(e)g(using)f(only)g(p)s(oin)m(ts)g(for)h(whic)m(h)f
+Fv(O)s(R)q(O)d(<)e FD(0)p Fv(:)p FD(5)3415 4906 y Ft(5)3454
+4939 y FD(:)p 150 5051 1200 4 v 199 5118 a Ft(4)275 5150
+y Fr(gw)h Fs(stands)f(for)i Fm(Gaussian)g(w)n(eigh)n(t)g
+Fs(in)f(man)n(y)f(climate)i(mo)r(dels.)199 5221 y Ft(5)275
+5253 y Fr(ORO)40 b Fs(stands)g(for)g Fm(Orograph)n(y)46
+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: 206 212
+TeXDict begin 206 211 bop 150 -116 a FD(206)2582 b FC(NCO)30
+b FD(4.4.2)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
+1484 y(ncwa)g(-m)g(ORO)g(-M)g(0.5)g(-T)g(lt)g(-w)g(gw)h(-a)f
+(lat,lon,time)d(\\)485 1594 y(-d)k(lat,-20.0,20.0)c(-d)j
+(lon,120.0,270.0)c(in.nc)k(out.nc)275 1753 y FD(F)-8
+b(urther)30 b(examples)h(will)f(use)g(the)h(one-switc)m(h)g(sp)s
+(eci\014cation)h(of)e Fz(mask)p 2762 1753 V 40 w(cond)p
+FD(.)275 1913 y(Determine)39 b(the)g(total)i(area)e(of)g(the)g
+(maritime)g(tropical)h(P)m(aci\014c,)i(assuming)d(the)g(v)-5
+b(ariable)39 b Fz(area)150 2022 y FD(con)m(tains)32 b(the)e(area)h(of)g
+(eac)m(h)g(gridcell)390 2182 y Fy(ncwa)47 b(-N)g(-v)g(area)g(-B)g('ORO)
+f(<)i(0.5')f(-a)g(lat,lon)f(\\)485 2291 y(-d)i(lat,-20.0,20.0)c(-d)j
+(lon,120.0,270.0)c(in.nc)k(out.nc)275 2451 y FD(W)-8
+b(eigh)m(ting)39 b Fz(area)e FD(\(e.g.,)k(b)m(y)36 b
+Fz(gw)8 b FD(\))37 b(is)g(not)g(appropriate)g(b)s(ecause)g
+Fz(area)g FD(is)g Fo(alr)-5 b(e)g(ady)47 b FD(area-w)m(eigh)m(ted)150
+2560 y(b)m(y)27 b(de\014nition.)39 b(Th)m(us)26 b(the)i(`)p
+Fy(-N)p FD(')f(switc)m(h,)h(or,)g(equiv)-5 b(alen)m(tly)d(,)30
+b(the)d(`)p Fy(-y)j(ttl)p FD(')d(switc)m(h,)h(correctly)h(in)m(tegrate)
+150 2670 y(the)i(cell)g(areas)g(in)m(to)h(a)e(total)j(regional)e(area.)
+275 2829 y(Mask)38 b(a)h(\014le)f(to)i(con)m(tain)p 1218
+2829 V 79 w Fz(FillV)-8 b(alue)46 b FD(ev)m(erywhere)39
+b(except)g(where)f Fz(thr)p 2832 2829 V 46 w(min)g Fv(<)p
+FD(=)f Fz(msk)p 3406 2829 V 46 w(v)-5 b(ar)45 b Fv(<)p
+FD(=)150 2939 y Fz(thr)p 285 2939 V 46 w(max)6 b FD(:)390
+3098 y Fy(#)47 b(Set)g(masking)f(variable)g(and)h(its)g(scalar)f
+(thresholds)390 3208 y(export)g(msk_var='three_dmn_var_db)o(l')41
+b(#)48 b(Masking)e(variable)390 3318 y(export)g(thr_max='20')f(#)i
+(Maximum)f(allowed)g(value)390 3427 y(export)g(thr_min='10')f(#)i
+(Minimum)f(allowed)g(value)390 3537 y(ncecat)g(-O)h(in.nc)g(out.nc)f(#)
+h(Wrap)g(out.nc)f(in)h(degenerate)e("record")h(dimension)390
+3646 y(ncwa)h(-O)g(-a)g(record)f(-B)h("${msk_var})e(<=)i(${thr_max}")e
+(out.nc)h(out.nc)390 3756 y(ncecat)g(-O)h(out.nc)f(out.nc)g(#)i(Wrap)f
+(out.nc)f(in)h(degenerate)e("record")g(dimension)390
+3866 y(ncwa)i(-O)g(-a)g(record)f(-B)h("${msk_var})e(>=)i(${thr_min}")e
+(out.nc)h(out.nc)275 4025 y FD(After)40 b(the)g(\014rst)f(use)h(of)g
+Fy(ncwa)p FD(,)h Fy(out.nc)d FD(con)m(tains)p 2122 4025
+V 82 w Fz(FillV)-8 b(alue)47 b FD(where)39 b Fy(${msk_var})28
+b(>=)i(${thr_)150 4134 y(max})p FD(.)38 b(The)26 b(pro)s(cess)g(is)g
+(then)h(rep)s(eated)f(on)g(the)h(remaining)f(data)h(to)g(\014lter)g
+(out)g(p)s(oin)m(ts)f(where)g Fy(${msk_)150 4244 y(var})j(<=)h
+(${thr_min})p FD(.)62 b(The)37 b(resulting)i Fy(out.nc)d
+FD(con)m(tains)k(v)-5 b(alid)38 b(data)h(only)g(where)f
+Fz(thr)p 3386 4244 V 46 w(min)g Fv(<)p FD(=)150 4354
+y Fz(msk)p 322 4354 V 45 w(v)-5 b(ar)32 b Fv(<)p FD(=)25
+b Fz(thr)p 813 4354 V 46 w(max)6 b FD(.)p 150 5154 1200
+4 v 199 5221 a Ft(6)275 5253 y Fs(Unfortunately)31 b(the)h(`)p
+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: 207 213
+TeXDict begin 207 212 bop 150 -116 a FD(Chapter)30 b(5:)41
+b(Con)m(tributing)2486 b(207)150 299 y Fx(5)80 b(Con)l(tributing)150
+538 y FD(W)-8 b(e)46 b(w)m(elcome)g(con)m(tributions)g(from)e(an)m(y)m
+(one.)85 b(The)44 b(pro)5 b(ject)46 b(homepage)f(at)h
+Fy(https:)12 b(/)g(/)d(sf)j(.)d(net)j(/)150 647 y(projects/nco)27
+b FD(con)m(tains)32 b(more)e(information)h(on)f(ho)m(w)g(to)i(con)m
+(tribute.)275 807 y(Financial)i(con)m(tributions)g(to)g
+FC(NCO)f FD(dev)m(elopmen)m(t)h(ma)m(y)g(b)s(e)f(made)g(through)g(P)m
+(a)m(yP)m(al)i(\()p Fy(https:)r(/)r(/)150 916 y(www)6
+b(.)f(paypal)h(.)f(com)h(/)f(xcl)o(ick)g(/)g(b)o(usi)o(ness)o(=zen)o
+(der)o(\04540u)o(ci)h(.)t(ed)o(u)g(&)t(ite)o(m_na)o(me=)o(NCO+)o(deve)o
+(lop)o(ment)f(&)150 1026 y(item_number=nco_dnt_dvl)13
+b(&)h(no_note=1)i(&)e(tax=0)k(&)c(currency_code=USD)p
+FD(\).)105 b FC(NCO)54 b FD(has)f(b)s(een)150 1135 y(shared)27
+b(for)i(o)m(v)m(er)g(10)i(y)m(ears)e(y)m(et)h(only)e(t)m(w)m(o)i(users)
+d(ha)m(v)m(e)i(con)m(tributed)g(an)m(y)f(money)h(to)g(the)f(dev)m(elop)
+s(ers)3687 1102 y Ft(1)3725 1135 y FD(.)150 1245 y(So)i(y)m(ou)h(could)
+f(b)s(e)g(the)h(third!)150 1467 y FB(5.1)68 b(Con)l(tributors)150
+1627 y FC(NCO)24 b FD(w)m(ould)g(not)g(exist)h(without)g(the)f
+(dedicated)h(e\013orts)g(of)f(the)h(remark)-5 b(able)24
+b(soft)m(w)m(are)i(engineers)e(who)150 1736 y(conceiv)m(e,)39
+b(dev)m(elop,)f(and)d(main)m(tain)i(netCDF,)f(UDUnits,)i(and)d(OP)m
+(eND)m(AP)-8 b(.)38 b(Since)e(1995)h FC(NCO)e FD(has)150
+1846 y(receiv)m(ed)f(supp)s(ort)c(from,)j(I)f(b)s(eliev)m(e,)i(the)e
+(en)m(tire)h(sta\013)g(of)g(all)g(these)f(pro)5 b(jects,)34
+b(including)d(Russ)h(Rew,)150 1956 y(John)38 b(Caron,)j(Glenn)e(Da)m
+(vis,)k(Stev)m(e)d(Emmerson,)h(James)e(Gallagher,)k(Ed)38
+b(Hartnett,)43 b(and)38 b(Dennis)150 2065 y(Heim)m(bigner.)69
+b(In)39 b(addition)h(to)g(their)g(roles)g(in)f(main)m(taining)i(the)e
+(soft)m(w)m(are)i(stac)m(k)g(on)f(whic)m(h)f FC(NCO)150
+2175 y FD(p)s(erc)m(hes,)25 b(Y)-8 b(ertl-lik)m(e,)28
+b(some)d(of)f(these)g(gen)m(tlemen)h(ha)m(v)m(e)g(advised)f(or)g(con)m
+(tributed)g(to)h FC(NCO)f FD(sp)s(eci\014cally)-8 b(.)150
+2284 y(That)30 b(supp)s(ort)f(is)h(ac)m(kno)m(wledged)j(separately)e(b)
+s(elo)m(w.)275 2444 y(The)e(primary)h(con)m(tributors)h(to)g
+FC(NCO)f FD(dev)m(elopmen)m(t)h(ha)m(v)m(e)h(b)s(een:)150
+2623 y(Charlie)e(Zender)630 2733 y(All)h(concept,)g(design)f(and)f
+(implemen)m(tation)j(from)e(1995-2000.)44 b(Since)30
+b(then)g(autoto)s(ols,)630 2842 y(bug-squashing,)55 b
+FC(CDL)p FD(,)h(c)m(h)m(unking,)f(do)s(cumen)m(tation,)i(anc)m(horing,)
+f(recursion,)g FC(GPE)p FD(,)630 2952 y(pac)m(king,)42
+b FC(NCO)d FD(library)f(redesign,)k Fy(ncap2)37 b FD(features,)42
+b Fy(ncbo)p FD(,)e Fy(ncpdq)p FD(,)f(SMP)g(threading)630
+3061 y(and)31 b(MPI)h(parallelization,)k(netCDF4)d(in)m(tegration,)i
+(external)d(funding,)f(pro)5 b(ject)33 b(man-)630 3171
+y(agemen)m(t,)f(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 FD(,)f Fy(total\(\))f
+FD(supp)s(ort)f(in)j Fy(ncra)e FD(and)h Fy(ncwa)p FD(.)630
+3539 y(T)m(yp)s(e)43 b(con)m(v)m(ersion)h(for)g(arithmetic.)81
+b(Migration)44 b(to)h(netCDF3)f(API.)f Fy(ncap2)f FD(parser,)630
+3649 y(lexer,)c FC(GSL)p FD(-supp)s(ort,)e(and)30 b(I/O.)56
+b(Multislabbing)36 b(algorithm.)58 b(V)-8 b(ariable)37
+b(wildcarding.)630 3759 y(Numerous)30 b(hac)m(ks.)41
+b Fy(ncap2)29 b FD(language.)150 3908 y(Rorik)i(P)m(eterson)630
+4017 y(Original)59 b(autoto)s(ol)h(build)d(supp)s(ort.)124
+b(Long)58 b(command-line)h(options.)126 b(Original)630
+4127 y(UDUnits)31 b(supp)s(ort.)39 b(Debianization.)k(Numerous)30
+b(bug-\014xes.)150 4276 y(Daniel)i(W)-8 b(ang)630 4386
+y(Script)30 b(W)-8 b(ork\015o)m(w)31 b(Analysis)g(for)f(MultiPro)s
+(cessing)h(\(SW)-10 b(AMP\).)32 b(RPM)e(supp)s(ort.)150
+4535 y(Harry)g(Mangalam)630 4645 y(Benc)m(hmarking.)41
+b(OP)m(eND)m(AP)32 b(con\014guration.)150 4794 y(P)m(edro)f(Vicen)m(te)
+630 4904 y(Windo)m(ws)f(Visual)h(Studio)f(supp)s(ort.)39
+b(netCDF4)32 b(groups.)p 150 4979 1200 4 v 199 5047 a
+Ft(1)309 5078 y Fs(Happ)n(y)g(users)j(ha)n(v)n(e)f(sen)n(t)g(me)g(a)g
+(few)i(gifts,)h(though.)60 b(This)35 b(includes)f(a)h(b)r(o)n(x)e(of)i
+(imp)r(orted)g(c)n(ho)r(colate.)61 b(Mmm.)275 5166 y(Appreciation)27
+b(and)g(gifts)i(are)f(de\014nitely)f(b)r(etter)g(than)g(money)-6
+b(.)39 b(Naturally)-6 b(,)28 b(I'm)f(to)r(o)h(lazy)g(to)g(split)f(and)h
+(send)f(gifts)275 5253 y(to)d(the)g(other)h(dev)n(elop)r(ers.)34
+b(Ho)n(w)n(ev)n(er,)25 b(unlik)n(e)f(some)h Fp(NCO)g
+Fs(dev)n(elop)r(ers,)g(I)f(ha)n(v)n(e)g(a)h(steady)f
+Fr(")p Fs(real)i(job)p Fr(")p Fs(.)34 b(My)25 b(in)n(ten)n(t)e(is)275
+5340 y(to)i(split)h(monetary)g(donations)g(among)h(the)e(activ)n(e)h
+(dev)n(elop)r(ers)g(and)f(to)h(send)g(them)f(their)h(shares)g(via)g(P)n
+(a)n(yP)n(al.)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.2)j(User)d(Guide)150 299 y(Russ)f(Rew)88 b(Advice)31
+b(on)f(NCO)g(structural)g(algorithms)150 463 y(Brian)h(Ma)m(ys)630
+573 y(Original)g(pac)m(k)-5 b(aging)32 b(for)e(Debian)h
+FC(GNU)p FD(/Lin)m(ux,)g Fy(nroff)e FD(man)h(pages.)150
+737 y(George)i(Shap)s(o)m(v)-5 b(alo)m(v)630 847 y(P)m(ac)m(k)g(aging)
+33 b(for)d(Gen)m(to)s(o)i FC(GNU)p FD(/Lin)m(ux.)150
+1011 y(Bill)f(Ko)s(cik)78 b(Memory)31 b(managemen)m(t.)150
+1176 y(Len)f(Makin)630 1285 y(NEC)g(SX)g(arc)m(hitecture)i(supp)s(ort.)
+150 1450 y(Jim)e(Edw)m(ards)630 1559 y(AIX)g(arc)m(hitecture)j(supp)s
+(ort.)150 1724 y(Juliana)d(Rew)630 1833 y(Compatibilit)m(y)i(with)e
+(large)h FC(PID)p FD(s.)150 1998 y(Karen)f(Sc)m(h)m(uc)m(hardt)630
+2107 y(Auxiliary)h(co)s(ordinate)g(supp)s(ort.)150 2271
+y(Ga)m(y)m(athri)h(V)-8 b(enkitac)m(halam)630 2381 y
+FC(MPI)30 b FD(implemen)m(tation.)150 2545 y(Scott)h(Capps)630
+2655 y(Large)g(w)m(ork-load)g(testing)150 2819 y(P)m(eter)g(Campb)s
+(ell,)f(Martin)h(Dix,)g(Mark)g(Flanner,)g(Markus)f(Liebig,)h(Keith)f
+(Lindsa)m(y)-8 b(,)31 b(Mik)m(e)h(P)m(age,)150 2929 y(Martin)f(Sc)m
+(hmidt,)f(Mic)m(hael)j(Sc)m(h)m(ulz,)e(Lori)f(Sen)m(tman,)h(Gary)f
+(Strand,)g(George)i(White)f(Andrew)150 3039 y(Witten)m(b)s(erg,)h
+(Remik)e(Ziemlinski)630 3148 y(Excellen)m(t)i(bug)e(rep)s(orts)g(and)f
+(feature)i(requests.)150 3313 y(Daniel)g(Baumann,)f(Nic)m(k)h(Bo)m(w)m
+(er,)h(Luk)d(Claebs,)h(Barry)g(deF)-8 b(reese,)31 b(Aleksandar)f
+(Jelenak,)h(F)-8 b(rancesco)150 3422 y(Lo)m(v)m(ergine,)32
+b(Matej)g(V)-8 b(ela)630 3532 y(Debian)31 b(pac)m(k)-5
+b(aging)150 3696 y(P)m(atrice)32 b(Dumas,)f(Ed)e(Hill,)j(Orion)e(P)m
+(opla)m(wski)630 3806 y(RedHat)h(pac)m(k)-5 b(aging)150
+3970 y(George)32 b(Shapa)m(v)-5 b(alo)m(v,)32 b(P)m(atric)m(k)g(Kursa)m
+(w)m(e)630 4080 y(Gen)m(to)s(o)g(pac)m(k)-5 b(aging)150
+4244 y(Filip)s(e)31 b(F)-8 b(ernandes)630 4354 y(Op)s(enSuse)28
+b(pac)m(k)-5 b(aging)150 4518 y(T)d(ak)m(eshi)31 b(Enomoto,)h
+(Alexander)e(Hansen)630 4628 y(Mac)h(OS)f(pac)m(k)-5
+b(aging)150 4792 y(Eric)30 b(Blak)m(e)68 b(Auto)s(conf/M4)32
+b(help)150 4956 y(Ga)m(vin)f(Burris,)f(Kyle)h(Wilco)m(x)630
+5066 y(RHEL)f(and)g(Cen)m(tOS)g(build)f(scripts)h(and)g(bug)g(rep)s
+(orts.)150 5230 y(Andrea)g(Cimatoribus)630 5340 y FC(NCO)g
+FD(Spiral)g(Logo)p eop end
+%%Page: 209 215
+TeXDict begin 209 214 bop 150 -116 a FD(Chapter)30 b(5:)41
+b(Con)m(tributing)2486 b(209)150 299 y(Martin)31 b(Otte,)g(Etienne)g(T)
+-8 b(ourign)m(y)630 408 y(Single)31 b(bug)e(rep)s(orts)h(and)g(\014xes)
+150 568 y(W)-8 b(enshan)30 b(W)-8 b(ang)630 677 y FC(CMIP5)29
+b FD(and)h FC(MODIS)h FD(pro)s(cessing)f(do)s(cumen)m(tation.)275
+862 y(Please)h(let)g(me)g(kno)m(w)f(if)h(y)m(our)f(name)g(w)m(as)h
+(omitted!)150 1094 y FB(5.2)68 b(Prop)t(osals)46 b(for)f(Institutional)
+h(F)-11 b(unding)150 1254 y FC(NSF)39 b FD(has)f(funded)f(a)i(pro)5
+b(ject)39 b(\()p Fy(http:)7 b(/)g(/)e(nco)i(.)e(sf)i(.)e(net)i(#)t
+(prp_)o(sei)p FD(\))32 b(to)40 b(impro)m(v)m(e)f(Distributed)f(Data)150
+1363 y(Reduction)d(&)f(Analysis)h(\()p FC(DDRA)p FD(\))i(b)m(y)e(ev)m
+(olving)h FC(NCO)f FD(in)m(to)g(a)g(suite)g(of)g(Scien)m(ti\014c)h
+(Data)h(Op)s(erators)150 1473 y(called)45 b FC(SDO)p
+FD(.)79 b(The)43 b(t)m(w)m(o)i(main)e(comp)s(onen)m(ts)h(of)g(this)f
+(pro)5 b(ject)44 b(are)g FC(NCO)f FD(parallelism)h(\(Op)s(enMP)-8
+b(,)150 1582 y FC(MPI)p FD(\))29 b(and)g(Serv)m(er-Side)g
+FC(DDRA)i FD(\()p FC(SSDDRA)p FD(\))h(implemen)m(ted)e(through)e
+(extensions)i(to)g FC(OP)n(eND)n(AP)f FD(and)150 1692
+y(netCDF4.)42 b(This)29 b(pro)5 b(ject)31 b(will)g(dramatically)h
+(reduce)e(bandwidth)f(usage)i(for)f FC(NCO)g(DDRA)p FD(.)275
+1851 y(With)e(this)g(\014rst)f FC(NCO)h FD(prop)s(osal)g(funded,)f(the)
+h(con)m(ten)m(t)i(of)e(the)g(next)g FC(NCO)g FD(prop)s(osal)g(is)g
+(clear.)41 b(W)-8 b(e)150 1961 y(are)29 b(in)m(terested)h(in)e
+(obtaining)h FC(NASA)h FD(supp)s(ort)c(for)j FC(HDF)p
+FD(-sp)s(eci\014c)g(enhancemen)m(ts)g(to)h FC(NCO)p FD(.)40
+b(W)-8 b(e)29 b(plan)150 2071 y(to)i(submit)f(a)g(prop)s(osal)g(to)h
+(the)g(next)g(suitable)f FC(NASA)i(NRA)f FD(or)f FC(NSF)h
+FD(opp)s(ortunit)m(y)-8 b(.)275 2230 y(W)g(e)33 b(are)f(considering)h
+(other)f(in)m(teresting)i(ideas)e(for)g(still)h(more)f(prop)s(osals.)46
+b(Please)33 b(con)m(tact)i(us)c(if)150 2340 y(y)m(ou)24
+b(wish)e(to)j(b)s(e)d(in)m(v)m(olv)m(ed)j(with)f(an)m(y)f(future)g
+FC(NCO)p FD(-related)h(prop)s(osals.)38 b(Commen)m(ts)24
+b(on)f(the)h(prop)s(osals)150 2449 y(and)30 b(letters)h(of)g(supp)s
+(ort)d(are)j(also)h(v)m(ery)e(w)m(elcome.)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(6:)41
+b(Quic)m(k)31 b(Start)2534 b(211)150 299 y Fx(6)80 b(Quic)l(k)53
+b(Start)150 582 y FD(Simple)27 b(examples)h(in)f(Bash)h(shell)g
+(scripts)f(sho)m(wing)h(ho)m(w)f(to)i(a)m(v)m(erage)h(data)e(with)f
+(di\013eren)m(t)h(\014le)g(struc-)150 692 y(tures.)54
+b(Here)35 b(w)m(e)g(include)g(mon)m(thly)-8 b(,)36 b(seasonal)g(and)f
+(ann)m(ual)f(a)m(v)m(erage)k(with)c(daily)h(or)g(mon)m(thly)g(data)150
+802 y(in)30 b(either)h(one)g(\014le)f(or)g(m)m(ultiple)h(\014les.)150
+1049 y FB(6.1)68 b(Daily)46 b(data)g(in)f(one)g(\014le)150
+1208 y FD(Supp)s(ose)31 b(w)m(e)i(ha)m(v)m(e)i(daily)e(data)h(from)e
+(Jan)g(1st,)j(1990)g(to)e(Dec.)50 b(31,)34 b(2005)h(in)e(the)g(\014le)g
+(of)g Fy(in.nc)e FD(with)150 1318 y(the)g(record)f(dimension)g(as)g
+Fy(time)p FD(.)150 1482 y Fq(Mon)m(thly)h(a)m(v)m(erage:)390
+1646 y Fy(for)47 b(yyyy)g(in)g({1990..2005};)d(do)286
+b(#)47 b(Loop)g(over)f(years)485 1756 y(for)h(moy)g(in)g({1..12};)f(do)
+477 b(#)47 b(Loop)g(over)f(months)581 1865 y(mm=$\()g(printf)g
+("\04502d")g(${moy})h(\))95 b(#)47 b(Change)f(to)h(2-digit)f(format)581
+2085 y(#)h(Average)f(specific)g(month)g(yyyy-mm)581 2194
+y(ncra)h(-O)g(-d)g(time,"${yyyy}-${mm}-01",)o("${y)o(yyy)o(}-${)o(mm}-)
+o(31")41 b(\\)820 2304 y(in.nc)46 b(in_${yyyy}${mm}.nc)485
+2413 y(done)390 2523 y(done)390 2742 y(#)h(Concatenate)e(monthly)h
+(files)g(together)390 2852 y(ncrcat)g(-O)h(in_??????.nc)e(out.nc)150
+3016 y Fq(Ann)m(ual)29 b(a)m(v)m(erage:)390 3180 y Fy(for)47
+b(yyyy)g(in)g({1990..2005};)d(do)286 b(#)47 b(Loop)g(over)f(years)485
+3290 y(ncra)h(-O)g(-d)g(time,"${yyyy}-01-01","${yy)o(yy}-)o(12-)o(31")
+41 b(in.nc)47 b(in_${yyyy}.nc)390 3400 y(done)390 3619
+y(#)g(Concatenate)e(annual)h(files)h(together)390 3728
+y(ncrcat)f(-O)h(in_????.nc)e(out.nc)275 3893 y FD(The)30
+b Fy(-O)h FD(switc)m(h)g(means)g(to)h(o)m(v)m(erwrite)h(the)e
+(pre-existing)h(\014les)f(\(see)h(Section)g(3.34)g([Batc)m(h)h(Mo)s
+(de],)150 4002 y(page)27 b(95\).)40 b(The)25 b Fy(-d)g
+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(53\).)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(194)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(196\).)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(64\).)150 4688 y FB(6.2)68 b(Mon)l(thly)45
+b(data)h(in)f(one)g(\014le)150 4847 y FD(Inside)30 b(the)g(input)g
+(\014le)g Fy(in.nc)p FD(,)f(the)i(record)f(dimension)g
+Fy(time)f FD(is)i(from)e(Jan)h(1990)j(to)e(Dec)g(2005.)150
+5011 y Fq(Seasonal)g(a)m(v)m(erage)h(\(e.g.,)h(DJF\):)390
+5176 y Fy(ncra)47 b(-O)g(--mro)f(-d)h(time,"1990-12-01",,12,3)42
+b(in.nc)k(out.nc)150 5340 y Fq(Ann)m(ual)29 b(a)m(v)m(erage:)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.2)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
+568 y(seasonal)d(example)f(and)f(the)g(second)h(`)p Fy(12)p
+FD(')f(in)h(the)f(ann)m(ual)h(example\))g(to)h(retriev)m(e)g(groups)d
+(of)i(records)150 677 y(separated)40 b(b)m(y)g(regular)f(in)m(terv)-5
+b(als)41 b(\(see)g(Section)f(3.18)h([Sub)s(cycle],)h(page)f(57\).)69
+b(The)39 b(option)h Fy(--mro)150 787 y FD(switc)m(hes)f
+Fy(ncra)f FD(to)h(pro)s(duce)f(a)h(Multi-Record)g(Output)f(instead)h
+(of)g(a)g(single-record)g(output.)65 b(F)-8 b(or)150
+897 y(example,)42 b(assume)c Fz(snd)j FD(is)e(a)g(3D)h(arra)m(y)f(with)
+g(dimensions)f Fy(time)f FD(*)j Fy(latitude)c FD(*)j
+Fy(longitude)e FD(and)150 1006 y Fy(time)26 b FD(includes)i(ev)m(ery)g
+(mon)m(th)f(from)h(Jan.)39 b(1990)29 b(to)g(Dec.)41 b(2005,)30
+b(192)e(mon)m(ths)g(as)g(total,)i(whic)m(h)d(are)h(16)150
+1116 y(y)m(ears.)41 b(Let's)31 b(lo)s(ok)g(at)h(the)e(follo)m(wing)i(t)
+m(w)m(o)g(command)e(lines.)390 1275 y Fy(ncra)47 b(--mro)f(-v)h(snd)g
+(-d)g(time,"1990-12-01",,12,3)42 b(in.nc)k(out_mro.nc)390
+1385 y(ncra)h(-v)g(snd)g(-d)g(time,"1990-12-01",,12,3)41
+b(in.nc)47 b(out_sro.nc)275 1544 y FD(In)41 b(the)h(\014rst)f(output)g
+(\014le,)k Fy(out_mro.nc)p FD(,)d Fz(snd)i FD(is)e(still)h(a)f(3D)h
+(arra)m(y)f(with)g(dimensions)f Fy(time)g FD(*)150 1654
+y Fy(latitude)e FD(*)j Fy(longitude)p FD(,)h(but)e(the)g(length)i(of)e
+Fy(time)g FD(no)m(w)h(is)f(16,)46 b(meaning)c(16)g(win)m(ters.)75
+b(In)41 b(the)150 1763 y(second)35 b(output)f(\014le,)i
+Fy(out_sro.nc)p FD(,)e(the)h(length)g(of)g Fy(time)f
+FD(is)g(only)d(1.)54 b(It)35 b(is)g(no)m(w)g(the)g(a)m(v)m(erage)i(of)e
+(all)150 1873 y(the)c(16)g(win)m(ters.)275 2032 y(when)e(using)h(`)p
+Fy(-d)g Fn(dim)p Fy(,min[,max])p FD(')d(to)32 b(sp)s(ecify)e(the)h(h)m
+(yp)s(erslabs,)e(y)m(ou)i(can)g(lea)m(v)m(e)i(it)e(blank)f(if)h(y)m(ou)
+150 2142 y(w)m(an)m(t)g(to)g(include)f(the)h(minim)m(um)f(or)g(the)h
+(maxim)m(um)f(of)g(the)h(data,)g(lik)m(e)h(w)m(e)f(did)e(ab)s(o)m(v)m
+(e.)150 2374 y FB(6.3)68 b(One)45 b(time)h(p)t(oin)l(t)f(one)g(\014le)
+150 2534 y FD(This)35 b(means)h(if)f(y)m(ou)i(ha)m(v)m(e)g(daily)f
+(data)g(of)g(30)h(da)m(ys,)g(there)f(will)h(b)s(e)e(30)h(data)h
+(\014les.)57 b(Or)35 b(if)h(y)m(ou)g(ha)m(v)m(e)150 2643
+y(mon)m(thly)31 b(data)h(of)g(12)g(mon)m(ths,)f(there)g(will)h(b)s(e)f
+(12)h(data)f(\014les.)43 b(Dealing)33 b(with)e(this)g(kind)g(of)g
+(\014les,)h(y)m(ou)150 2753 y(need)23 b(to)g(sp)s(ecify)g(the)g(\014le)
+g(names)g(in)g(shell)g(scripts)g(and)f(pass)h(them)g(to)g(NCO)g(op)s
+(erators.)38 b(F)-8 b(or)24 b(example,)150 2863 y(y)m(our)i(daily)g
+(data)g(\014les)f(ma)m(y)i(lo)s(ok)f(lik)m(e)h Fy(snd_19900101.nc)p
+FD(,)22 b Fy(snd_19900102.nc)p FD(,)h Fy(snd_19900103.nc)150
+2972 y FD(...)41 b(If)30 b(y)m(ou)h(w)m(an)m(t)g(to)g(kno)m(w)f(the)h
+(mon)m(thly)g(a)m(v)m(erage)i(of)d(Jan)g(1990,)j(y)m(ou)d(can)h(write)g
+(lik)m(e,)390 3132 y Fy(ncra)47 b(-O)g(snd_199001??.nc)c(out.nc)275
+3291 y FD(Y)-8 b(ou)30 b(migh)m(t)i(w)m(an)m(t)f(to)g(use)f(lo)s(op)g
+(if)h(y)m(ou)f(need)h(the)f(a)m(v)m(erage)j(of)e(eac)m(h)g(mon)m(th.)
+390 3450 y Fy(for)47 b(moy)g(in)g({1..12};)f(do)476 b(#)48
+b(Loop)e(over)h(months)485 3560 y(mm=$\()g(printf)f("\04502d")g(${moy})
+g(\))95 b(#)48 b(Change)e(to)h(2-digit)f(format)485 3779
+y(ncra)h(-O)g(snd_????${mm}??.nc)c(out_${mm}.nc)390 3889
+y(done)150 4121 y FB(6.4)68 b(Multiple)46 b(\014les)f(with)g(m)l
+(ultiple)i(time)f(p)t(oin)l(ts)150 4281 y FD(Similar)28
+b(as)h(the)g(last)g(one,)g(it's)g(more)g(ab)s(out)f(shell)g(scripts.)40
+b(Supp)s(ose)27 b(y)m(ou)h(ha)m(v)m(e)i(daily)f(data)g(with)f(one)150
+4390 y(mon)m(th)d(of)g(them)g(in)g(one)g(data)h(\014le.)39
+b(The)24 b(mon)m(thly)i(a)m(v)m(erage)h(is)e(simply)g(to)h(apply)e
+Fy(ncra)g FD(on)h(the)g(sp)s(eci\014c)150 4500 y(data)31
+b(\014le.)41 b(And)29 b(for)i(seasonal)g(a)m(v)m(erages,)i(y)m(ou)e
+(can)g(sp)s(ecify)f(the)g(three)h(mon)m(ths)f(b)m(y)g(shell)h(scripts.)
+p eop end
+%%Page: 213 219
+TeXDict begin 213 218 bop 150 -116 a FD(Chapter)30 b(7:)41
+b(CMIP5)30 b(Example)2333 b(213)150 299 y Fx(7)80 b FB(CMIP5)54
+b Fx(Example)150 553 y FD(The)62 b(\014fth)g(phase)g(of)h(the)g
+(Coupled)e(Mo)s(del)i(In)m(tercomparison)g(Pro)5 b(ject)64
+b(\()p FC(CMIP5)e FD(\()p Fy(http:)25 b(/)h(/)150 663
+y(cmip-pcmdi)7 b(.)f(llnl)h(.)f(gov)h(/)f(c)o(mip)o(5)h(/)f(i)o(ndex)g
+(.)g(h)o(tml)h(?)e(su)o(bmen)o(uhe)o(ader)o(=0)p FD(\)\))34
+b(pro)m(vides)39 b(a)g(m)m(ulti-mo)s(del)150 772 y(framew)m(ork)26
+b(for)g(comparing)h(the)g(mec)m(hanisms)f(and)g(resp)s(onses)f(of)i
+(climate)h(mo)s(dels)e(from)f(around)h(the)150 882 y(w)m(orld.)48
+b(Ho)m(w)m(ev)m(er,)36 b(it)e(is)f(a)g(tremendous)g(w)m(orkload)g(to)h
+(retriev)m(e)h(a)e(single)h(climate)g(statistic)i(from)c(all)150
+992 y(these)37 b(mo)s(dels,)h(eac)m(h)g(of)e(whic)m(h)g(includes)h(sev)
+m(eral)g(ensem)m(ble)g(mem)m(b)s(ers.)59 b(Not)37 b(only)g(that,)i(it)e
+(is)f(to)s(o)150 1101 y(often)e(a)f(rep)s(etitiv)m(e)i(pro)s(cess)e
+(whic)m(h)g(imp)s(edes)g(new)g(researc)m(h)h(and)e(h)m(yp)s(othesis)h
+(testing.)51 b(Our)32 b FC(NASA)150 1211 y(A)n(CCESS)39
+b FD(pro)5 b(ject)39 b(is)g(designed)g(to)h(simplify)e(and)g
+(accelerate)k(this)d(pro)s(cess.)66 b(T)-8 b(o)40 b(b)s(egin,)h(w)m(e)e
+(do)s(cu-)150 1320 y(men)m(t)26 b(b)s(elo)m(w)g(a)g(protot)m(ypical)h
+(example)g(of)e FC(CMIP5)g FD(analysis)h(and)f(ev)-5
+b(aluation)27 b(using)e(traditional)i FC(NCO)150 1430
+y FD(commands)36 b(on)g(netCDF3-format)i(mo)s(del)d(and)h
+FC(HDF-EOS)g FD(format)g(observ)-5 b(ational)38 b(\()p
+FC(NASA)f(MODIS)150 1539 y FD(satellite)k(instrumen)m(t\))e(datasets.)
+68 b(These)38 b(examples)i(complemen)m(t)g(the)f FC(NCO)f
+FD(User)h(Guide)g(b)m(y)g(de-)150 1649 y(tailing)33 b(in-depth)e(data)i
+(analysis)f(in)g(a)g(frequen)m(tly)g(encoun)m(tered)g(\\real)h(w)m
+(orld")f(con)m(text.)47 b(Graphical)150 1759 y(represen)m(tations)27
+b(of)f(the)g(results)f(\()p FC(NCL)h FD(scripts)g(a)m(v)-5
+b(ailable)28 b(up)s(on)c(request\))j(are)f(pro)m(vided)f(to)i
+(illustrate)150 1868 y(ph)m(ysical)f(meaning)g(of)g(the)g(analysis.)40
+b(Since)25 b FC(NCO)h FD(can)f(pro)s(cess)h(hierarc)m(hical)h
+(datasets,)h(i.e.,)g(datasets)150 1978 y(stored)g(with)g(netCDF4)h
+(groups,)f(w)m(e)h(presen)m(t)f(sample)g(scripts)g(illustrating)h
+(group-based)e(pro)s(cessing)150 2087 y(as)k(w)m(ell.)150
+2318 y FB(7.1)68 b(Com)l(bine)46 b(Files)150 2477 y FD(Sometimes,)30
+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
+(stored)g(in)g(sev)m(eral)i(\014les)f(to)g(reduce)f(single)150
+2586 y(\014le)d(size.)40 b(But)24 b(it)i(is)f(not)g(con)m(v)m(enien)m
+(t)h(to)g(pro)s(cess)e(in)h(a)g(batc)m(h)g(mo)s(de.)39
+b(The)24 b(follo)m(wing)i(script)f(illustrates)150 2696
+y(ho)m(w)30 b(to)i(concatenate)h(these)d(\014les)h(in)m(to)g(one.)41
+b(Key)30 b(steps)h(include:)199 2855 y(1.)61 b(Obtain)30
+b(n)m(um)m(b)s(er)f(and)h(names)g(\(or)h(partial)g(names\))g(of)f
+(\014les)h(in)f(a)g(directory)199 2989 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 3098 y(tion)31
+b(4.10)h([ncrcat)f(netCDF)g(Record)g(Concatenator],)h(page)f(196\).)390
+3258 y Fy(#!/bin/bash)283 b(#)48 b(shell)e(type)390 3367
+y(shopt)g(-s)i(extglob)d(#)j(enable)e(extended)f(globbing)390
+3587 y(#=======================)o(====)o(====)o(===)o(====)o(====)o
+(===)o(====)o(====)o(===)o(====)o(====)o(===)o(====)o(====)390
+3696 y(#)i(Some)g(of)g(the)g(models)f(cut)h(one)g(ensemble)f(member)g
+(into)g(several)g(files,)390 3806 y(#)95 b(which)47 b(include)e(data)i
+(of)g(different)e(time)i(periods.)390 3915 y(#)g(We'd)g(better)f
+(concatenate)f(them)i(into)f(one)h(at)g(the)g(beginning)e(so)j(that)390
+4025 y(#)95 b(we)47 b(won't)g(have)f(to)i(think)e(about)g(which)h
+(files)f(we)h(need)g(if)g(we)g(want)390 4134 y(#)95 b(to)47
+b(retrieve)f(a)h(specific)f(time)h(period)f(later.)390
+4244 y(#)390 4354 y(#)h(Method:)390 4463 y(#)334 b(-)47
+b(Make)g(sure)g('time')f(is)h(the)g(record)f(dimension)f(\(i.e.,)h
+(left-most\))390 4573 y(#)334 b(-)47 b(ncrcat)390 4682
+y(#)390 4792 y(#)g(Input)g(files)f(like:)390 4902 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-1)o(9001)o(2.n)o(c)390 5011 y(#)g
+(/data/cmip5/snc_LImon_bcc-)o(csm1)o(-1_)o(hist)o(oric)o(al_)o(r1i1)o
+(p1_1)o(901)o(01-2)o(0051)o(2.n)o(c)390 5121 y(#)390
+5230 y(#)g(Output)g(files)f(like:)390 5340 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)p eop end
+%%Page: 214 220
+TeXDict begin 214 219 bop 150 -116 a FD(214)2565 b(NCO)29
+b(4.4.2)k(User)d(Guide)390 299 y Fy(#)390 408 y(#)47
+b(Online:)94 b(http://nco.sourceforge.n)o(et/n)o(co.h)o(tml)o(#Com)o
+(bine)o(-Fi)o(les)390 518 y(#)390 628 y(#)47 b(Execute)f(this)h
+(script:)93 b(bash)47 b(cmb_fl.sh)390 737 y(#=======================)o
+(====)o(====)o(===)o(====)o(====)o(===)o(====)o(====)o(===)o(====)o
+(====)o(===)o(====)o(====)390 956 y(drc_in='/home/wenshanw/d)o(ata/)o
+(cmip)o(5/')41 b(#)48 b(Directory)d(of)i(input)f(files)390
+1176 y(var=\()g('snc')h('snd')f(\))811 b(#)48 b(Variables)390
+1285 y(rlm='LImon')1190 b(#)48 b(Realm)390 1395 y(xpt=\()e
+('historical')f(\))763 b(#)48 b(Experiment)d(\()i(could)f(be)i(more)e
+(\))390 1614 y(for)h(var_id)f(in)h({0..1};)f(do)572 b(#)48
+b(Loop)e(over)h(two)g(variables)485 1724 y(#)h(Names)e(of)h(all)g(the)g
+(models)f(\(ls)h([get)g(file)g(names];)485 1833 y(#)96
+b(cut)47 b([get)f(model)h(names];)485 1943 y(#)96 b(sort;)46
+b(uniq)h([remove)e(duplicates];)g(awk)i([print]\))485
+2052 y(mdl_set=$\()e(ls)j(${drc_in}${var[var_id]})o(_${r)o(lm})o(_*_$)o
+({xpt)o([0])o(}_*.)o(nc)42 b(|)47 b(\\)581 2162 y(cut)g(-d)g('_')g(-f)g
+(3)h(|)f(sort)g(|)g(uniq)g(-c)g(|)g(awk)g('{print)f($2}')h(\))485
+2271 y(#)h(Number)e(of)h(models)f(\(echo)h([print)f(contents];)f(wc)i
+([count]\))485 2381 y(mdl_nbr=$\()e(echo)i(${mdl_set})e(|)j(wc)f(-w)g
+(\))485 2491 y(echo)g("========================)o(===)o(===")485
+2600 y(echo)g("There)f(are")h(${mdl_nbr})e("models)h(for")g
+(${var[var_id]}.)485 2819 y(for)h(mdl)g(in)g(${mdl_set};)e(do)620
+b(#)48 b(Loop)e(over)h(models)581 2929 y(#)g(Names)g(of)g(all)g(the)g
+(ensemble)e(members)581 3039 y(nsm_set=$\()g(ls)i
+(${drc_in}${var[var_id]}_$)o({rl)o(m}_$)o({mdl)o(}_$)o({xpt)o([0]})o
+(_*.)o(nc)42 b(|)47 b(\\)676 3148 y(cut)g(-d)g('_')g(-f)h(5)f(|)g(sort)
+g(|)h(uniq)e(-c)h(|)h(awk)f('{print)f($2}')g(\))581 3258
+y(#)h(Number)f(of)i(ensemble)d(members)h(in)h(each)g(model)581
+3367 y(nsm_nbr=$\()e(echo)i(${nsm_set})e(|)i(wc)g(-w)g(\))581
+3477 y(echo)g("----------------------)o(---)o(----)o(-")581
+3587 y(echo)g("Model")e(${mdl})h("includes")f(${nsm_nbr})g("ensemble)h
+(member\(s\):")581 3696 y(echo)h(${nsm_set}".")581 3915
+y(for)g(nsm)g(in)g(${nsm_set};)e(do)429 b(#)47 b(Loop)g(over)f
+(ensemble)g(members)676 4025 y(#)i(Number)e(of)h(files)f(in)i(this)e
+(ensemble)g(member)676 4134 y(fl_nbr=$\()g(ls)h
+(${drc_in}${var[var_id]}_)o(${r)o(lm}_)o(${md)o(l}_)o(${xp)o(t[0])o
+(}_$)o({nsm)o(}_*.)o(nc)41 b(\\)772 4244 y(|)47 b(wc)g(-w)h(\))676
+4463 y(#)g(If)f(there)f(is)i(only)e(1)i(file,)e(continue)g(to)h(next)f
+(loop)676 4573 y(if)i([)f(${fl_nbr})e(-le)i(1)h(])676
+4682 y(then)772 4792 y(echo)e("There)h(is)g(only)f(1)i(file)e(in")h
+(${nsm}.)772 4902 y(continue)676 5011 y(fi)676 5230 y(echo)g("There)f
+(are")h(${fl_nbr})e("files)h(in")h(${nsm}.)p eop end
+%%Page: 215 221
+TeXDict begin 215 220 bop 150 -116 a FD(Chapter)30 b(7:)41
+b(CMIP5)30 b(Example)2333 b(215)676 299 y Fy(#)48 b(Starting)d(date)i
+(of)g(data)676 408 y(#)143 b(\(sed)47 b([the)g(name)f(of)h(the)g(first)
+g(file)f(includes)g(the)h(starting)e(date]\))676 518
+y(yyyymm_str=$\()g(ls)i(${drc_in}${var[var_id]})o(_${r)o(lm}_)o(${m)o
+(dl}_)o(${xp)o(t[0)o(]}_$)o({nsm)o(}_*)o(.nc\\)772 628
+y(|)g(sed)g(-n)g('1p')g(|)g(cut)g(-d)h('_')e(-f)i(6)f(|)h(cut)e(-d)i
+('-')f(-f)g(1)g(\))676 737 y(#)h(Ending)e(date)h(of)g(data)676
+847 y(#)143 b(\(sed)47 b([the)g(name)f(of)h(the)g(last)g(file)g
+(includes)e(the)i(ending)f(date]\))676 956 y(yyyymm_end=$\()f(ls)i
+(${drc_in}${var[var_id]})o(_${r)o(lm}_)o(${m)o(dl}_)o(${xp)o(t[0)o
+(]}_$)o({nsm)o(}_*)o(.nc\\)772 1066 y(|)g(sed)g(-n)g("${fl_nbr}p")e(|)i
+(cut)g(-d)g('_')g(-f)g(6)h(|)f(cut)g(-d)g('-')g(-f)h(2)f(\))676
+1285 y(#)h(Concatenate)d(one)h(ensemble)g(member)g(files)676
+1395 y(#)143 b(into)47 b(one)g(along)f(the)h(record)f(dimension)f
+(\(now)i(is)g(time\))676 1504 y(ncrcat)f(-O)i(${drc_in}${var[var_id]})o
+(_${r)o(lm})o(_${m)o(dl}_)o(${x)o(pt[0)o(]}_$)o({ns)o(m}_*)o(.nc)41
+b(\\)772 1614 y(${drc_in}${var[var_id]}_)o(${r)o(lm}_)o(${md)o(l}_)o
+(${xp)o(t[0])o(}_\\)772 1724 y(${nsm}_${yyyymm_str}-${y)o(yyy)o(mm_e)o
+(nd})676 1943 y(#)48 b(Remove)e(useless)g(files)676 2052
+y(rm)i(${drc_in}${var[var_id]})o(_${)o(rlm})o(_${m)o(dl})o(_${x)o(pt[0)
+o(]}_)o(${ns)o(m}_\\)772 2162 y(!\(${yyyymm_str}-${yyyymm)o(_en)o(d}\))
+581 2271 y(done)485 2381 y(done)390 2491 y(done)275 2655
+y FD(Righ)m(t)33 b(no)m(w,)h FC(CMIP5)e FD(mo)s(del)h(data)h(do)m
+(wnloaded)f(from)f(Earth)h(System)g(Grid)f(F)-8 b(ederation)35
+b(\()p FC(ESGF)150 2765 y FD(\()p Fy(http://pcmdi9.llnl.gov/esg)o(f-w)o
+(eb-f)o(e/)p FD(\)\))18 b(will)25 b(not)f(con)m(tain)h
+Fy(group)e FD(features)h(y)m(et.)40 b(Therefore)150 2874
+y(users)27 b(can)i(aggregate)i(the)d(\015at)h(\014les)f(in)m(to)h
+(groups)f(themselv)m(es.)41 b(The)27 b(follo)m(wing)j(script)e(sho)m
+(ws)g(ho)m(w)g(to)150 2984 y(aggregate)36 b(mo)s(dels)c(to)h(one)g
+(\014le.)48 b(Eac)m(h)33 b(dataset)h(b)s(ecomes)f(a)g(group)f(in)h(the)
+g(output)f(\014le.)47 b(There)33 b(can)150 3093 y(b)s(e)h(sev)m(eral)i
+(lev)m(els)h(of)d(groups.)54 b(In)34 b(this)g(example,)j(w)m(e)e(emplo)
+m(y)h(t)m(w)m(o)g(exp)s(erimen)m(ts)e(as)h(the)g(top-lev)m(el.)150
+3203 y(The)h(second-lev)m(el)i(comprises)e(di\013eren)m(t)h(mo)s(dels.)
+58 b(Some)36 b(mo)s(dels)g(ha)m(v)m(e)i(more)e(than)g(one)g(ensem)m
+(ble)150 3313 y(mem)m(b)s(er.)53 b(These)35 b(ensem)m(ble)g(mem)m(b)s
+(ers)f(are)h(on)f(the)h(third)f(lev)m(el.)55 b(In)34
+b(eac)m(h)i(sub-group)e(of)g(ensem)m(ble)150 3422 y(mem)m(b)s(ers,)i(w)
+m(e)g(app)s(ended)e(t)m(w)m(o)i(v)-5 b(ariables,)38 b
+Fz(snc)j FD(and)35 b Fz(snd)i FD(\(these)g(stand)e(for)g(sno)m(w)g(co)m
+(v)m(er)i(and)e(sno)m(w)150 3532 y(depth,)30 b(b)m(y)g(the)h(w)m(a)m
+(y\).)390 3696 y Fy(#!/bin/bash)390 3806 y(#)390 3915
+y(#=======================)o(====)o(====)o(===)o(====)o(====)o(===)o
+(====)o(====)o(===)o(====)390 4025 y(#)47 b(Aggregate)f(models)g(to)h
+(one)g(group)f(file)390 4134 y(#)390 4244 y(#)h(Method:)390
+4354 y(#)g(-)h(Create)e(files)g(with)h(groups)f(by)h(ncecat)f(--gag)390
+4463 y(#)334 b(-)47 b(Append)f(groups)g(level)h(by)g(level)f(using)h
+(ncks)390 4573 y(#)390 4682 y(#)g(Input)g(files)f(like:)390
+4792 y(#)h(snc_LImon_CCSM4_historical)o(_r1i)o(1p1)o(_199)o(001-)o(200)
+o(512.)o(nc)390 4902 y(#)g(snd_LImon_CESM1-BGC_esmHis)o(tori)o(cal)o
+(_r1i)o(1p1_)o(199)o(001-)o(2005)o(12.)o(nc)390 5011
+y(#)390 5121 y(#)g(Output)g(files)f(like:)390 5230 y(#)h
+(sn_LImon_199001-200512.nc)390 5340 y(#)p eop end
+%%Page: 216 222
+TeXDict begin 216 221 bop 150 -116 a FD(216)2565 b(NCO)29
+b(4.4.2)k(User)d(Guide)390 299 y Fy(#)47 b(Online:)94
+b(http://nco.sourceforge.n)o(et/n)o(co.h)o(tml)o(#Com)o(bine)o(-Fi)o
+(les)390 408 y(#)390 518 y(#)47 b(Execute)f(this)h(script:)93
+b(bash)47 b(cmb_fl_grp.sh)390 628 y(#=======================)o(====)o
+(====)o(===)o(====)o(====)o(===)o(====)o(====)o(===)o(====)390
+847 y(#)g(Directories)390 956 y(drc_in='../data/')390
+1066 y(drc_out='../data/grp/')390 1285 y(#)g(Constants)390
+1395 y(rlm='LImon')427 b(#)47 b(Realm:)94 b(LandIce;)45
+b(Time)i(frequency:)93 b(monthly)390 1504 y(tms='200001-200512')43
+b(#)k(Timeseris)390 1614 y(flt='nc')571 b(#)47 b(File)g(Type)390
+1833 y(#)g(Geographical)e(weights)390 1943 y(#)i(Can)g(be)h(skipped)d
+(when)i(ncap2)f(works)h(on)g(group)f(data)390 2052 y(#)h(Loop)g(over)g
+(all)g(snc)g(files)390 2162 y(for)g(fn)g(in)g($\()g(ls)h
+(${drc_in}snc_${rlm}_*_$)o({tms)o(}.$)o({flt)o(})42 b(\);)47
+b(do)485 2271 y(ncap2)g(-O)g(-s)g(\\)581 2381 y('gw)g(=)g
+(float\(cos\(lat*3.1416/180.)o(\)\);)41 b(gw at long_name="geographical)g
+(weight";'\\)581 2491 y(${fn})46 b(${fn})390 2600 y(done)390
+2819 y(var=\()g('snc')h('snd')f(\))390 2929 y(xpt=\()g('esmHistorical')
+e('historical')g(\))390 3039 y(mdl=\()i('CCSM4')g('CESM1-BGC')f
+('CESM1-CAM5')f(\))390 3258 y(for)j(i)g(in)h({0..1};)d(do)238
+b(#)48 b(Loop)f(over)f(variables)485 3367 y(for)h(j)h(in)f({0..1};)f
+(do)142 b(#)48 b(Loop)f(over)f(experiments)581 3477 y(for)h(k)g(in)g
+({0..2};)f(do)h(#)h(Loop)f(over)f(models)676 3587 y(ncecat)g(-O)i
+(--glb_mtd_spp)c(-G)j(${xpt[j]}/${mdl[k]}/${md)o(l[k])o(}_)42
+b(\\)772 3696 y(${drc_in}${var[i]}_${rlm)o(}_$)o({mdl)o([k]})o(_${)o
+(xpt[)o(j]}_)o(*_$)o({tms)o(}.${)o(flt)o(})g(\\)772 3806
+y(${drc_out}${var[i]}_${rl)o(m}_)o(${md)o(l[k])o(}_$)o({xpt)o([j]})o
+(_al)o(l-ns)o(m_${)o(tms)o(}.${)o(flt})676 3915 y(ncks)47
+b(-A)g(\\)772 4025 y(${drc_out}${var[i]}_${rl)o(m}_)o(${md)o(l[k])o
+(}_$)o({xpt)o([j]})o(_al)o(l-ns)o(m_${)o(tms)o(}.${)o(flt})41
+b(\\)772 4134 y(${drc_out}${var[i]}_${rl)o(m}_)o(${md)o(l[0])o(}_$)o
+({xpt)o([j]})o(_al)o(l-ns)o(m_${)o(tms)o(}.${)o(flt})581
+4244 y(done)762 b(#)48 b(Loop)f(done:)94 b(models)581
+4354 y(ncks)47 b(-A)g(\\)676 4463 y(${drc_out}${var[i]}_${rlm})o(_${)o
+(mdl[)o(0]}_)o(${x)o(pt[j)o(]}_a)o(ll-)o(nsm_)o(${tm)o(s}.)o(${fl)o(t})
+42 b(\\)676 4573 y(${drc_out}${var[i]}_${rlm})o(_${)o(mdl[)o(0]}_)o
+(${x)o(pt[0)o(]}_a)o(ll-)o(nsm_)o(${tm)o(s}.)o(${fl)o(t})485
+4682 y(done)858 b(#)48 b(Loop)f(done:)94 b(experiments)485
+4792 y(ncks)47 b(-A)g(\\)581 4902 y(${drc_out}${var[i]}_${rl)o(m}_$)o
+({md)o(l[0])o(}_${)o(xpt)o([0]})o(_all)o(-ns)o(m_${)o(tms})o(.${)o
+(flt})41 b(\\)581 5011 y(${drc_out}${var[0]}_${rl)o(m}_$)o({md)o(l[0])o
+(}_${)o(xpt)o([0]})o(_all)o(-ns)o(m_${)o(tms})o(.${)o(flt})390
+5121 y(done)953 b(#)48 b(Loop)f(done:)94 b(variables)390
+5340 y(#)47 b(Rename)g(output)f(file)p eop end
+%%Page: 217 223
+TeXDict begin 217 222 bop 150 -116 a FD(Chapter)30 b(7:)41
+b(CMIP5)30 b(Example)2333 b(217)390 299 y Fy(mv)47 b
+(${drc_out}${var[0]}_${rlm)o(}_${)o(mdl)o([0]})o(_${x)o(pt[)o(0]}_)o
+(all-)o(nsm)o(_${t)o(ms}.)o(${f)o(lt})41 b(\\)485 408
+y(${drc_out}sn_${rlm}_all-md)o(l_al)o(l-x)o(pt_a)o(ll-n)o(sm_)o(${tm)o
+(s}.$)o({fl)o(t})390 518 y(#)47 b(Remove)g(temporary)e(files)390
+628 y(rm)i(${drc_out}sn?_${rlm}*.nc)390 847 y(#!!!!!!!!!!!!!!!!!!!!!!!)
+o(!!!!)o(!!!!)o(!!!)o(!!!!)o(!!!!)o(!!!)o(!!!!)o(!!!!)o(!!!)o(!!!!)390
+956 y(#)g(Coming)g(soon!)390 1066 y(#-)g(Group)g(names:)390
+1176 y(#)143 b(E.g.,)46 b(file)h(snc_LImon_CESM1-CAM5_his)o(tori)o(cal)
+o(_r1i)o(1p1_)o(199)o(001-)o(2005)o(12.)o(nc)390 1285
+y(#)143 b(will)47 b(be)g(group)f(/historical/CESM1-CAM5/00)390
+1395 y(#-)h(You)g(can)g(rename)f(groups)g(on)h(the)g(last)g(level)f(to)
+h(be)h(more)e(meaningful)f(by)390 1504 y(#ncrename)g(-g)i
+(${xpt}/${mdl}/02,${xpt}/${)o(mdl})o(/r3)o(i1p1)41 b(\\)390
+1614 y(#)95 b(${drc_out}${var}_${rlm}_$)o({mdl)o(}_a)o(ll-n)o(sm_$)o
+({tm)o(s}.$)o({flt)o(})390 1724 y(#!!!!!!!!!!!!!!!!!!!!!!!)o(!!!!)o
+(!!!!)o(!!!)o(!!!!)o(!!!!)o(!!!)o(!!!!)o(!!!!)o(!!!)o(!!!!)390
+1943 y(#-----------------------)o(----)o(----)o(---)o(----)o(----)o
+(---)o(----)o(----)o(---)o(----)390 2052 y(#)47 b(Output)g(file)f
+(structure)390 2162 y(#-----------------------)o(----)o(----)o(---)o
+(----)o(----)o(---)o(----)o(----)o(---)o(----)390 2271
+y(#)h(esmHistorical)390 2381 y(#)g({)390 2491 y(#)143
+b(CESM1-BGC)390 2600 y(#)g({)390 2710 y(#)238 b(CESM1-BGC_00)390
+2819 y(#)g({)390 2929 y(#)334 b(snc\(time,)45 b(lat,)i(lon\))390
+3039 y(#)334 b(snd\(time,)45 b(lat,)i(lon\))390 3148
+y(#)238 b(})390 3258 y(#)143 b(})390 3367 y(#)47 b(})390
+3477 y(#)g(historical)390 3587 y(#)g({)390 3696 y(#)191
+b(CCSM4)390 3806 y(#)g({)390 3915 y(#)286 b(CCSM4_00)390
+4025 y(#)g({)390 4134 y(#)334 b(snc\(time,)45 b(lat,)i(lon\))390
+4244 y(#)334 b(snd\(time,)45 b(lat,)i(lon\))390 4354
+y(#)286 b(})390 4463 y(#)g(CCSM4_01)390 4573 y(#)g({)390
+4682 y(#)334 b(snc\(time,)45 b(lat,)i(lon\))390 4792
+y(#)334 b(snd\(time,)45 b(lat,)i(lon\))390 4902 y(#)286
+b(})390 5011 y(#)g(CCSM4_02)46 b({)h(...)95 b(})390 5121
+y(#)286 b(CCSM4_03)46 b({)h(...)95 b(})390 5230 y(#)286
+b(CCSM4_04)46 b({)h(...)95 b(})390 5340 y(#)191 b(})p
+eop end
+%%Page: 218 224
+TeXDict begin 218 223 bop 150 -116 a FD(218)2582 b FC(NCO)30
+b FD(4.4.2)j(User)d(Guide)390 299 y Fy(#)191 b(CESM1-BGC)390
+408 y(#)g({)390 518 y(#)286 b(CESM1-BGC_00)45 b({)i(...)95
+b(})390 628 y(#)191 b(})390 737 y(#)g(CESM1-CAM5)390
+847 y(#)g({)390 956 y(#)286 b(CESM1-CAM5_00)44 b({)k(...)94
+b(})390 1066 y(#)286 b(CESM1-CAM5_01)44 b({)k(...)94
+b(})390 1176 y(#)286 b(CESM1-CAM5_02)44 b({)k(...)94
+b(})390 1285 y(#)191 b(})390 1395 y(#)47 b(})150 1661
+y FB(7.2)68 b(Global)46 b(Distribution)g(of)f(Long-term)g(Av)l(erage)
+150 4510 y @beginspecial 0 @llx 12 @lly 613 @urx 757
+ at ury 2520 @rwi @setspecial
+%%BeginDocument: xmp/fgr1.eps
+%!PS-Adobe-3.0 EPSF-3.0
+%%BoundingBox: 0 12 613 757
+%%HiResBoundingBox: 0.000000 12.960000 612.000023 756.000029
+%.......................................
+%%Creator: GPL Ghostscript 871 (epswrite)
+%%CreationDate: 2013/04/07 15:37:02
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%EndComments
+%%BeginProlog
+% This copyright applies to everything between here and the %%EndProlog:
+% Copyright (C) 2010 Artifex Software, Inc.  All rights reserved.
+%%BeginResource: procset GS_epswrite_2_0_1001 1.001 0
+/GS_epswrite_2_0_1001 80 dict dup begin
+/PageSize 2 array def/setpagesize{ PageSize aload pop 3 index eq exch
+4 index eq and{ pop pop pop}{ PageSize dup  1
+5 -1 roll put 0 4 -1 roll put dup null eq {false} {dup where} ifelse{ exch get exec}
+{ pop/setpagedevice where
+{ pop 1 dict dup /PageSize PageSize put setpagedevice}
+{ /setpage where{ pop PageSize aload pop pageparams 3 {exch pop} repeat
+setpage}if}ifelse}ifelse}ifelse} bind def
+/!{bind def}bind def/#{load def}!/N/counttomark #
+/rG{3{3 -1 roll 255 div}repeat setrgbcolor}!/G{255 div setgray}!/K{0 G}!
+/r6{dup 3 -1 roll rG}!/r5{dup 3 1 roll rG}!/r3{dup rG}!
+/w/setlinewidth #/J/setlinecap #
+/j/setlinejoin #/M/setmiterlimit #/d/setdash #/i/setflat #
+/m/moveto #/l/lineto #/c/rcurveto #
+/p{N 2 idiv{N -2 roll rlineto}repeat}!
+/P{N 0 gt{N -2 roll moveto p}if}!
+/h{p closepath}!/H{P closepath}!
+/lx{0 rlineto}!/ly{0 exch rlineto}!/v{0 0 6 2 roll c}!/y{2 copy c}!
+/re{4 -2 roll m exch dup lx exch ly neg lx h}!
+/^{3 index neg 3 index neg}!
+/f{P fill}!/f*{P eofill}!/s{H stroke}!/S{P stroke}!
+/q/gsave #/Q/grestore #/rf{re fill}!
+/Y{P clip newpath}!/Y*{P eoclip newpath}!/rY{re Y}!
+/|={pop exch 4 1 roll 1 array astore cvx 3 array astore cvx exch 1 index def exec}!
+/|{exch string readstring |=}!
+/+{dup type/nametype eq{2 index 7 add -3 bitshift 2 index mul}if}!
+/@/currentfile #/${+ @ |}!
+/B{{2 copy string{readstring pop}aload pop 4 array astore cvx
+3 1 roll}repeat pop pop true}!
+/Ix{[1 0 0 1 11 -2 roll exch neg exch neg]exch}!
+/,{true exch Ix imagemask}!/If{false exch Ix imagemask}!/I{exch Ix image}!
+/Ic{exch Ix false 3 colorimage}!
+/F{/Columns counttomark 3 add -2 roll/Rows exch/K -1/BlackIs1 true>>
+/CCITTFaxDecode filter}!/FX{<</EndOfBlock false F}!
+/X{/ASCII85Decode filter}!/@X{@ X}!/&2{2 index 2 index}!
+/@F{@ &2<<F}!/@C{@X &2 FX}!
+/$X{+ @X |}!/&4{4 index 4 index}!/$F{+ @ &4<<F |}!/$C{+ @X &4 FX |}!
+/IC{3 1 roll 10 dict begin 1{/ImageType/Interpolate/Decode/DataSource
+/ImageMatrix/BitsPerComponent/Height/Width}{exch def}forall
+currentdict end image}!
+/~{@ read {pop} if}!
+end def
+%%EndResource
+/pagesave null def
+%%EndProlog
+%%Page: 1 1
+%%BeginPageSetup
+GS_epswrite_2_0_1001 begin
+/pagesave save store 197 dict begin
+0.18 0.18 scale
+%%EndPageSetup
+gsave mark
+Q q
+0 72 3400 0 0 4128 ^ Y
+255 G
+-361.109 72.2227 4122.22 4127.78 re
+f*
+Q q
+272.223 2266.67 1300 1305.55 re
+Y*
+255 G
+277.41 2879.43 -1.09 26.39 0 26.41 1.09 26.41 2.17 26.39 3.23 26.41 4.38 26.41 5.49 26.41 
+6.66 26.41 3.77 13.15 4.09 13.23 9.11 26.41 10.43 26.41 3.28 7.68 8.51 18.7 13.26 26.43 
+5.14 9.51 9.66 16.88 16.54 26.41 0.71 1.11 17.64 25.3 9.29 12.34 11.13 14.05 15.8 18.64 
+6.95 7.75 19.99 21.01 5.45 5.41 21.46 20.11 7.13 6.3 19.79 16.53 12.66 9.88 14.26 10.55 
+23.11 15.88 3.8 2.48 26.95 16.45 13.24 7.46 13.65 7.25 26.95 13.13 13.5 6.03 13.39 5.6 
+26.93 10.2 26.93 8.88 5.73 1.71 21.18 5.86 26.9 6.36 26.93 5.14 26.91 3.97 26.93 2.82 
+26.91 1.7 26.93 0.56 26.91 -0.56 26.9 -1.7 26.93 -2.82 26.91 -3.97 5.38 -1.02 0 -129.93 
+-8.48 -5.84 -1.73 -1.26 -13.74 4.41 -8.57 -8.14 -8.22 -8.59 -11.55 2.9 -11.82 2.41 -12.04 1.89 
+-3.89 0.5 -8.31 0.87 -2.75 -10.16 -10.94 0.7 -10.98 0.24 0 -10.59 -9.68 -0.2 -9.66 -0.61 
+-2.62 10.46 -10.85 -1.17 -0.81 -0.11 -9.91 -1.52 -10.53 -2.08 -4.92 6.97 -1.79 2.4 -11.54 -2.9 
+-8.25 8.59 -12.46 -3.89 -12.07 -4.36 -11.61 -4.86 -0.09 -0.04 -11 -5.25 3.36 -1.58 5.04 -2.47 
+4.32 -2.24 -9.62 -5.01 -3.64 -2.09 -5.49 -3.28 -8.62 -5.66 -8.09 -5.93 -7.55 -6.16 -4.32 0.76 
+-4.68 0.78 -4.71 0.72 -2.93 0.39 -4.8 -4.45 -2.73 -2.69 -2.39 0.19 -6.53 0.46 -6.56 0.33 
+-1.99 0.07 -7.32 -8.12 -18.16 -0.7 -6.88 -9.05 -18.64 -2.47 -6.27 -9.92 -5.41 -9.94 -18.94 -5.05 
+-18.97 -6.14 -18.95 -7.23 -18.86 -8.42 -4.1 -12.67 -18.49 -10.25 -2.75 -13 -17.86 -11.95 -1.34 -13.17 
+-17.05 -13.52 -16.56 -14.67 0.61 -13.41 -15.5 -16.04 2.11 -13.13 2.93 -12.61 -13.7 -17.27 4.27 -12.16 
+-12.39 -18.16 5.53 -11.61 6.21 -11.09 -10.54 -18.75 7.29 -10.46 7.86 -10 -8.79 -19.05 8.81 -9.36 
+9.27 -8.94 -7.14 -19.1 10.09 -8.31 -5.97 -19.25 10.81 -7.66 11.15 -7.33 -4.55 -19.01 -3.73 -19.27 
+-2.9 -19.5 -11.87 6.38 -2.21 -20.07 -1.33 -20.27 12.18 -5.62 -0.29 -20.01 0.63 -20.14 12.54 -4.58 
+1.54 -19.77 12.79 -3.99 2.41 -19.38 12.96 -3.45 3.16 -18.97 4.02 -18.9 4.88 -18.84 5.77 -18.68 
+-12.29 1.84 6.95 -18.96 7.9 -18.73 8.87 -18.51 9.84 -18.23 10.83 -17.9 11.83 -17.52 -9.62 -0.49 
+13.37 -17.43 14.41 -16.88 8.49 1.11 14.84 -16.06 8.16 1.21 8.47 1.11 -13.63 15.58 -12.68 16.06 
+9.88 0.5 -11.22 16.19 -10.33 16.58 -9.48 16.88 11.59 -0.45 -8.23 16.86 12.2 -0.8 12.37 -0.8 
+-6.68 16.52 12.91 -1.07 -5.66 16.43 13.39 -1.3 -4.75 16.36 13.84 -1.5 -3.91 16.27 -3.34 16.39 
+14.41 -1.87 14.58 -1.76 -2.48 16.11 14.87 -1.82 -1.87 16.01 -1.41 16.13 -1 16.21 15.28 -2.2 
+-0.54 16.13 15.45 -2.18 -0.15 16.06 0.2 16.1 -15.43 2.43 -15.28 2.64 -15.13 2.84 0.72 16.53 
+-14.91 3.2 -14.75 3.43 -14.56 3.62 1.46 17.04 1.97 16.99 -14.13 4.21 2.65 17.1 -13.74 4.64 
+-13.52 4.88 -13.26 5.16 3.82 17.51 -12.78 5.63 -12.5 5.92 -12.22 6.23 5.21 17.86 -11.61 6.73 
+-5.49 -18.04 -11.57 6.88 -11.25 7.21 -10.85 7.57 6.42 18.64 7.23 18.27 -9.79 8.33 -9.33 8.72 
+8.75 18.19 9.53 17.68 -8.01 9.38 -9.96 -17.78 -7.94 9.7 -7.4 10.16 10.87 17.95 11.64 17.32 
+12.36 16.62 P
+13.02 15.91 5.49 -10.18 6.1 -9.79 6.64 -9.37 7.18 -9.03 -11.18 -16.11 -10.5 -16.62 -9.81 -17.12 
+8.98 -8.57 9.42 -8.21 -8.29 -17.38 10.22 -7.72 10.59 -7.36 10.98 -7.01 7.18 17.08 -10.61 7.12 
+-10.25 7.46 -9.83 7.81 8.98 17 9.63 16.58 10.29 16.15 10.92 15.69 11.5 15.21 7.7 -7.81 
+11.65 14.84 7.68 -7.38 11.72 14.5 7.64 -6.95 11.79 14.2 7.55 -6.51 7.92 -6.23 11.33 14.08 
+7.77 -5.82 8.11 -5.54 8.42 -5.27 8.7 -5 8.16 11.92 1.67 2.36 -8.23 4.88 4.16 5.45 
+6.25 7.94 0.35 0.43 11.17 13.46 -4.12 2.79 -2.76 1.98 11.44 12.17 0.67 0.69 -0.5 0.39 
+-5.55 4.36 13.07 12.21 -5.28 4.69 7.75 6.42 6.27 5.03 14.39 10.96 14.78 10.44 -3.47 3.82 
+15.64 9.48 -2.73 3.54 -2.49 3.63 -2.26 3.71 4.49 2.04 12.76 5.47 0.48 0.21 9.27 3.69 
+7.79 2.95 1.11 -2.04 0.39 -0.7 0.28 -0.5 1.11 -1.73 0.29 -0.41 1.84 -2.58 2.04 -2.52 
+2.19 -2.43 2.37 -2.37 -14.84 -9.65 3.08 -2.67 -4.02 -2.96 -9.92 -7.59 -1.84 -1.45 -4.62 -3.71 
+-4.58 -3.75 -2.52 -2.11 2.11 -1.59 2.3 -1.65 -12.64 -11.79 0.33 -0.21 3.3 -2.2 1.56 -0.98 
+-11.68 -12.46 5.99 -3.47 -2.97 -3.54 -7.27 -8.89 -0.48 -0.61 1.28 -0.67 5.49 -2.8 6.97 -3.29 
+4.66 6.66 4.86 6.79 6.55 -2.89 2.73 3.99 6.51 9.33 6.1 -2.49 6.25 -2.35 8.29 13.43 
+5.71 -1.97 5.84 -1.82 5.94 -1.63 0.46 0.93 0 -16.45 -2.11 -5.49 -2.97 -7.9 -0.3 -0.83 
+7.48 -1.52 7.55 -1.3 7.64 -1.11 1.54 6.73 1.84 7.75 -1.04 0.13 -5.93 0.91 -6.9 1.22 
+-6.82 1.41 0 16.45 6.05 12.74 5.34 -1.34 5.99 13.61 4.69 -1.04 5.45 13.5 4 -0.79 
+0.87 2.46 3.99 10.98 5.01 13.17 -2.38 0.5 -2.34 0.57 -2.3 0.63 -2.25 0.72 -2.2 0.78 
+-2.15 0.84 -2.08 0.91 -2.02 0.98 -1.96 1.04 -1.86 1.11 -1.8 1.17 -1.71 1.24 -1.62 1.28 
+-1.52 1.32 -1.45 1.39 -1.33 1.43 -1.23 1.47 -1.12 1.52 -0.83 1.21 -0.22 0.35 -0.74 1.3 
+-0.17 0.29 -0.2 0.41 -0.59 1.22 -0.56 1.37 -0.11 0.3 -0.56 1.67 -0.43 1.71 -0.31 1.71 
+-0.19 1.73 -0.05 1.11 0 1.32 0.07 1.06 -6.53 -0.32 -12.67 -0.91 0.17 2.23 0.02 0.15 
+0.39 2.39 0.57 2.39 0.73 2.38 0.92 2.37 1.08 2.32 -0.04 0.02 -18.54 1.85 1.52 2.95 
+1.78 2.93 1.97 2.86 2.21 2.82 -16.02 3.43 -1.43 0.29 0.28 0.35 2.59 3.04 -10.31 2.28 
+-6.95 1.39 3.63 3.95 3.95 3.86 2.88 2.56 1.37 1.17 -5.34 1.73 -10.61 3.19 5.19 4.26 
+5.56 4.08 14.61 -6.21 5.14 3.3 5.41 3.11 0.91 0.5 4.73 2.43 5.9 2.71 6.13 2.49 
+6.31 2.26 6.51 2.04 6.68 1.78 -2.54 3.67 -4.58 6.46 7.97 1.83 -6.21 10.09 9.29 1.78 
+4.04 0.65 5.43 0.76 9.54 1 2.54 -10.74 8.38 0.5 0.85 -7.68 0.37 -3.43 0.52 0.02 
+6.68 0.11 7.18 -0.13 7.16 -0.43 7.12 -0.7 4.6 -0.65 0 -127 -3.14 -0.73 -3.19 -0.63 
+-3.22 -0.54 0.85 -2.78 2.84 -9.55 0.34 -1.21 0.98 0.15 3.06 0.5 3.99 0.79 3.91 0.91 
+-1.23 2.61 -5.19 10.5 0 127 2.43 -0.33 6.95 -1.25 6.81 -1.52 6.68 -1.78 6.51 -2.04 
+1.63 -0.54 p
+4.69 -1.72 6.12 -2.49 -6.9 -5.56 -4.01 -3.38 2.84 -1.24 2.13 -0.98 -5.27 -4.01 -6.23 -4.93 
+3.95 -1.91 3.76 -2.04 3.62 -2.17 3.41 -2.3 14.67 6.82 9.2 3.91 5.77 2.3 4.56 -3.6 
+4.25 -3.73 3.95 -3.86 -3.58 -0.85 -13.2 -3.45 3.14 -3.32 2.87 -3.38 2.6 -3.47 2.35 -3.52 
+2.06 -3.58 -18.23 -1.72 -0.26 -0.04 0.02 -0.06 1.5 -2.89 1.32 -3 1.09 -3.02 -7.53 -0.11 
+-11.46 -0.43 0.41 -1.21 0.33 -1.17 0.57 -2.32 0 -0.07 0.02 -0.11 0.37 -2.28 -19.2 0.61 
+0.04 -0.29 0.13 -1.21 0.02 -0.26 0.07 -1.04 0 -0.72 -0.05 -1.74 7.73 -0.91 11.02 -1.54 
+0.33 -0.04 13.56 -2.26 5.44 -1.02 -0.45 -2.95 18.67 -4.62 -0.91 -3.52 -1.15 -3.43 -1.39 -3.38 
+-1.62 -3.32 -1.87 -3.23 -2.06 -3.14 -5.17 2.49 -11.61 5.36 -0.21 -0.35 -1.63 -2.23 6.36 -3.15 
+9.96 -5.18 2.28 -1.24 13.72 -7.71 3.88 -2.28 11.74 -7.2 -3.45 -3.82 -3.71 -3.69 -14.65 10.31 
+-0.24 0.15 -10.3 6.79 -4.45 2.82 -5.34 3.3 -9.36 5.55 -0.67 0.39 0.37 0.39 1.82 2.04 
+-16.17 8.2 -0.93 -1.09 -0.78 -0.87 -1.84 -1.91 -1.97 -1.84 4.92 -3.15 9.7 -6.4 7.34 -5.08 
+6.94 -4.99 -3.25 -2.56 0.56 -0.43 12.8 -10.46 -1.52 -1.09 -2.5 -1.71 12.39 -11.66 -4.77 -2.95 
+-4.97 -2.8 -5.14 -2.63 -5.29 -2.47 -5.47 -2.32 -5.6 -2.15 -5.71 -1.97 -7.9 13.35 -5.14 -1.63 
+-5.25 -1.5 -5.34 -1.34 -5.41 -1.17 5.08 -13.93 -6.21 -1.13 -6.27 -0.98 2.84 -11.52 0.67 -2.78 
+-7.01 -0.85 2.71 -14.54 -7.74 -0.72 -0.79 -0.04 -6.99 -0.46 0.28 -3.1 1.02 -11.66 0.29 -3.34 
+0.95 -11.55 1.21 -15.04 1.15 -15.12 -10.26 -0.37 -10.25 -0.11 0 185.41 0.7 0.02 0.72 0.02 
+0.71 0.06 0.7 0.09 0.71 0.09 0.67 0.13 0.7 0.15 0.65 0.18 0.68 0.19 0.63 0.2 
+0.63 0.24 0.61 0.26 0.59 0.26 0.57 0.3 0.54 0.3 0.54 0.33 0.5 0.34 0.91 0.74 
+0.41 0.39 0.41 0.41 0.35 0.42 0.32 0.41 0.3 0.46 0.26 0.43 0.24 0.46 0.22 0.48 
+0.16 0.48 0.13 0.45 0.11 0.5 0.06 0.48 0.02 0.48 0 0.5 -0.04 0.47 -0.09 0.48 
+-0.11 0.5 -0.15 0.48 -0.19 0.46 -0.22 0.48 -0.26 0.46 -0.28 0.46 -0.33 0.43 -0.34 0.43 
+-0.37 0.41 -0.41 0.41 -0.45 0.39 -0.96 0.74 -0.54 0.35 -0.54 0.32 -0.57 0.3 -0.61 0.29 
+-0.61 0.26 -0.64 0.25 -0.65 0.22 -0.67 0.21 -0.7 0.18 -0.7 0.15 -0.69 0.13 -0.72 0.11 
+-0.74 0.09 -0.71 0.06 -0.74 0.04 -1.46 0 -0.74 -0.04 -0.72 -0.06 -0.74 -0.09 -0.71 -0.11 
+-0.69 -0.13 -0.7 -0.15 -0.7 -0.18 -0.66 -0.21 -0.67 -0.22 -0.63 -0.25 -0.61 -0.26 -0.61 -0.29 
+-0.56 -0.3 -0.54 -0.32 -0.55 -0.35 -0.49 -0.37 -0.46 -0.37 -0.46 -0.39 -0.41 -0.41 -0.37 -0.41 
+-0.37 -0.43 -0.3 -0.43 -0.29 -0.46 -0.26 -0.46 -0.22 -0.48 -0.2 -0.46 -0.15 -0.48 -0.11 -0.5 
+-0.09 -0.48 -0.04 -0.47 0 -0.5 0.02 -0.48 0.07 -0.48 0.09 -0.5 0.15 -0.45 0.16 -0.48 
+0.22 -0.48 0.21 -0.46 0.28 -0.43 0.29 -0.46 0.7 -0.83 0.39 -0.41 0.44 -0.39 0.91 -0.74 
+0.5 -0.34 0.52 -0.33 1.13 -0.61 0.59 -0.26 0.61 -0.26 0.64 -0.24 0.63 -0.2 0.67 -0.19 
+0.65 -0.18 p
+0.7 -0.15 0.67 -0.13 0.69 -0.09 0.72 -0.09 0.71 -0.06 1.43 -0.05 0 -170.27 -9.7 0.11 
+0.61 15.04 0.63 14.91 -8.46 0.32 -1.26 -14.89 -1.19 -15.04 -9.66 0.59 -9.59 0.8 -2.3 -15.08 
+10.18 -0.85 10.22 -0.58 -1.09 -15.25 10.79 -0.37 -0.52 -15.34 -0.48 -15.43 -11.83 0.37 -11.78 0.65 
+-1.41 -15.52 -1.32 -15.58 -1.26 -15.62 -1.17 -15.69 -13.48 0.91 -1.47 -15.75 -13.78 1.17 -1.69 -15.77 
+-1.58 -15.82 -14.37 1.41 -1.74 -15.87 -1.59 -15.86 -1.41 -15.88 -1.24 -15.89 15.39 -1.32 -0.91 -15.84 
+-0.76 -15.79 15.78 -1.02 -0.5 -15.73 15.95 -0.76 15.97 -0.54 15.99 -0.33 16.04 -0.11 0 -374.24 
+-7.36 -0.05 -7.32 -0.06 -7.31 -0.13 -7.3 -0.17 3.58 -10.94 -6.36 -0.21 -6.31 -0.3 -6.25 -0.32 
+-6.19 -0.39 7.55 -10.62 -5.19 -0.43 -5.1 -0.5 -5.03 -0.54 -4.93 -0.61 -4.84 -0.65 -4.73 -0.72 
+-3.69 -0.62 -0.91 -0.15 -4.46 -0.83 -4.34 -0.91 -4.18 -0.93 -4.04 -1.02 -3.86 -1.09 -3.69 -1.15 
+-18.91 10.07 -18.01 10.89 -5.05 -1.37 -17.84 11.61 -6.95 4.91 -9.98 7.45 6.53 1.32 -1.95 1.59 
+-4.41 3.63 -4.3 3.64 -4.25 3.73 -0.39 0.33 -7.25 -1.24 -7 -1.32 3.47 -2.85 3.84 -3.06 
+3.88 -3.02 3.93 -2.97 1.61 -1.2 12.88 -9.16 4.79 -3.23 -5.32 -1.54 -5.05 -1.67 -3.97 -1.48 
+-0.8 -0.3 1.43 -0.85 19.32 -10.68 -3.78 -1.84 -3.47 -1.93 22.98 -10.29 -2.54 -1.89 -2.28 -1.97 
+-1.93 -2.08 -1.65 -2.18 -1.3 -2.23 -0.96 -2.34 -26.26 9 -1 -2.73 -0.61 -2.82 27.02 -8.36 
+0.16 -2.59 0.52 -2.66 0.93 -2.72 1.35 -2.8 1.78 -2.84 2.19 -2.89 2.63 -2.93 3.08 -2.95 
+3.52 -3 3.99 -2.97 4.43 -2.97 4.88 -2.93 5.34 -2.91 5.77 -2.84 22.94 1.32 5.17 -2.11 
+5.49 -2 5.79 -1.91 6.08 -1.8 6.33 -1.65 6.6 -1.55 6.83 -1.37 7.04 -1.23 7.2 -1.05 
+7.36 -0.87 7.49 -0.69 7.59 -0.5 7.64 -0.29 7.68 -0.11 7.66 0.11 7.64 0.29 7.59 0.5 
+7.49 0.69 7.92 -6.73 8.62 -6.25 11.26 1.63 10.98 1.93 10.61 2.21 15.63 -3.93 12.04 3.23 
+11.48 3.52 10.85 3.78 10.2 3.97 9.55 4.17 8.83 4.28 8.16 4.36 7.42 4.43 27.09 4.55 
+7.25 5.29 3.66 3.02 0 -60.87 -28.21 -5.88 -21.05 -6.1 -21.05 -6.12 22.85 2.3 -51.95 -12.37 
+19.95 0.89 -31.91 -6.18 -16.47 -2.3 -16.45 -2.28 13.52 -1.04 19.55 3.21 19.57 3.21 18.73 4.32 
+18.75 4.32 -25.3 -3.25 29.86 8.27 29.88 8.25 -27.73 -5.03 23.75 7.89 23.71 7.9 0 60.87 
+2.73 2.24 5.62 5.16 4.8 5.06 4.06 4.9 -28.41 -8.29 3.39 4.19 2.73 4.08 2.15 3.95 
+27.97 9.9 1.26 4.25 0.65 4.08 0.07 3.88 -0.52 3.69 -1.04 3.49 -1.56 3.34 -2.04 3.15 
+-24.95 -11.94 -1.93 2.82 -2.35 2.68 -2.75 2.56 23.18 12.29 -3.78 2.47 -22.52 -12.37 -3.47 2.28 
+-3.84 2.15 -4.14 2 -4.47 1.91 -4.77 1.78 -5.05 1.67 -5.32 1.54 -5.55 1.45 -5.82 1.38 
+-6.04 1.25 15.45 12.26 -6.99 1.11 -7.2 1.04 -13.93 -12.15 -6.64 1.02 -6.81 0.91 -6.96 0.86 
+-7.14 0.79 -7.27 0.71 -7.4 0.65 -7.53 0.58 -7.64 0.52 -8.31 -11.35 -6.92 0.5 -6.99 0.43 
+-7.08 0.39 -7.14 0.32 -7.18 0.28 -7.25 0.22 -7.29 0.17 -7.31 0.13 -7.32 0.06 -7.34 0.05 
+0 389.91 p
+15.88 0.11 15.87 0.35 0.26 -15.69 15.97 0.54 0.3 -15.66 0.21 -15.61 16.11 0.71 0.17 -15.58 
+0.05 -15.48 16.14 0.83 -0.09 -15.45 -0.22 -15.37 -16.07 -0.72 -0.31 -15.21 -0.41 -15.08 15.88 0.63 
+-0.67 -15.02 -0.82 -14.89 -1 -14.73 -1.15 -14.58 15.13 0.5 -1.58 -14.5 -1.79 -14.33 14.5 0.46 
+14.45 0.52 14.37 0.57 14.28 0.65 2.96 14.71 14.5 0.83 2.89 15.04 14.64 1.04 2.75 15.32 
+2.37 15.45 1.98 15.61 1.61 15.71 15.25 1.74 15.12 1.88 1.43 16.13 15.09 2.19 1.04 16.39 
+-15.15 -2.37 0.58 16.27 0.16 16.35 -0.26 16.38 -0.67 16.4 15.08 2.97 -1.17 16.59 14.82 3.32 
+-1.7 16.71 14.52 3.71 -2.32 16.8 14.15 4.12 -2.97 16.88 -3.47 16.79 -3.97 16.71 13.29 4.73 
+-4.73 16.69 8.36 3.34 0 -194.33 -14.69 -2.87 -1.15 -16.75 -14.8 -2.5 -1.61 -16.49 -2.13 -16.39 
+-14.72 -1.97 -2.47 -16.11 14.56 1.76 14.43 1.87 2.78 16.51 2.23 16.63 14.54 2.41 1.78 16.93 
+1.23 16.97 0 194.33 4.43 1.78 12.5 5.43 -5.86 16.71 -6.38 16.52 11.57 5.88 11.24 6.18 
+10.94 6.51 10.59 6.86 7.82 -16.78 10.61 7.12 7.55 -17.18 6.88 -17.5 6.21 -17.77 11.26 7.07 
+5.79 -18.23 5.05 -18.51 11.52 6.97 11.16 7.33 -5.64 18.99 -10.86 -7.57 -6.12 18.44 -6.86 18.1 
+10.18 7.95 -7.97 17.9 9.39 8.47 -9.09 17.6 8.5 8.96 8.01 9.38 7.51 9.8 10.39 -17.88 
+9.61 -18.47 7.86 10 7.29 10.46 9.7 -19.42 8.81 -20.09 7.83 -20.71 -8.64 -9.7 6.45 -20.95 
+5.45 -21.44 9.4 8.9 4.73 -22.38 9.31 8.81 3.88 -23.42 9.22 8.64 2.93 -24.57 9.11 8.36 
+8.7 8.77 8.27 9.2 7.79 9.68 2.85 -28.52 7.74 9.16 7.29 9.66 6.8 10.22 -4.32 31.96 
+-6.25 30.82 4.89 13.37 4.12 14.29 3.23 15.3 8.88 -34.61 3.43 15.04 2.49 16.26 1.41 17.71 
+10.31 -42.06 7.18 -44.59 -4.08 -13.17 -4.73 -12.16 -5.32 -11.28 -5.84 -10.55 -6.34 -9.9 0.42 -35.39 
+-7.16 -7.72 -2.26 -34.36 -7.68 -5.82 -4.62 -33.12 -7.97 -4.23 -8.31 -4.18 -6.51 -30.43 -8.53 -30.32 
+-10.55 -30.01 -12.54 -29.54 -14.52 -28.84 6.05 -1.95 5.51 -2.47 4.93 -3.06 16.78 32.33 5.21 -2.38 
+4.57 -3.08 3.91 -3.86 3.13 -4.82 -21.25 -38.19 0.73 -7.62 -0.49 -9 -27.18 -38.3 -3.95 -11.8 
+-5.99 -13.57 -16.54 -17.79 -16.53 -17.82 -33.86 -30.68 -12.2 -15.11 35.5 30.16 17.6 17.84 17.6 17.86 
+16.97 20.72 16.99 20.75 -8.59 -17.16 17.42 24.48 17.41 24.46 31.32 55.62 26.24 61.45 10.76 32.49 
+8.96 33.38 7.08 33.98 5.1 34.31 -3.97 -3.19 -4.36 -3.52 4.56 57.23 -1 55.97 -3.88 -12.2 
+-4.67 49.96 -8.66 47.37 0.65 18.96 -0.82 21.16 -2.67 23.85 -19.79 51.91 5.77 -26.52 3.36 -23.72 
+-17.03 42.6 3.62 -23.09 1.74 -21.07 -15.17 36.18 1.82 -20.51 0.29 -18.97 -1.02 -17.6 -2.16 -16.41 
+-11.48 29.82 -2.14 -16.15 -3.15 -15.17 -4.05 -14.28 -4.84 -13.45 -9.46 25.54 -10.72 24.33 3.32 14.52 
+2.38 15.34 1.32 16.23 -14.36 24.02 -15.32 22.34 0.43 -16.62 -15.32 20.7 0.02 -15.84 14.56 -20.66 
+-1.8 -15.06 12.89 -21.86 11.88 -23.11 -4.21 -13.76 10.03 -23.87 -5.64 -12.61 8.18 -24.36 -6.89 -11.39 
+6.36 -24.64 -7.9 -10.22 -8.42 -9.7 -5.46 23.44 -6.62 22.79 -7.75 22.11 -8.79 21.38 6.49 11.54 
+5.82 12.15 p
+-10.89 21.14 -11.85 20.16 -12.74 19.23 -13.52 18.2 2.64 13.22 1.76 13.78 -15.43 16.97 0.18 14.2 
+-0.89 14.69 -17.14 15.24 -17.58 13.93 -17.95 12.68 -18.23 11.41 -18.49 10.25 -4.11 12.67 -5.18 12.89 
+18.96 -8.92 -6.14 13.8 19.12 -9.5 -7.23 14.75 -19.32 8.72 7.42 -13.97 -19.14 8.18 -19.12 6.92 
+-4.21 1.37 -14.82 4.36 -7.46 11.52 -8.53 11.5 -14.96 2.41 -3.62 0.48 -9.31 10.5 -10.28 10.33 
+9.57 -0.46 8.29 -0.63 -10.2 9.6 -1.63 1.43 -1.17 0.05 -14.52 0.13 -1.67 -0.05 -16.91 -0.84 
+-9.27 -0.87 -7.25 -0.92 -16.1 -2.6 9.48 -7.49 -10.48 -1.59 -5.91 -1.04 -16.01 -3.43 -8.09 5.93 
+-8.62 5.66 -9.14 5.36 -9.61 5.01 -10.09 4.64 11.72 6.95 12.11 6.38 12.54 5.75 -4.73 2.23 
+-9.09 3.97 -14.46 5.6 0 129.93 21.55 -4.13 26.91 -6.36 21.18 -5.86 5.73 -1.71 26.93 -8.88 
+26.93 -10.2 13.39 -5.62 13.5 -6.01 19.81 -9.66 0 -126.87 11.35 -13.17 19.16 -5.58 -11.53 14.15 
+-18.99 4.6 0 126.87 7.14 -3.47 13.65 -7.25 13.23 -7.46 26.96 -16.45 3.8 -2.48 23.11 -15.88 
+14.26 -10.55 12.65 -9.87 19.79 -16.53 7.12 -6.3 21.47 -20.11 5.44 -5.41 19.99 -21.01 6.94 -7.75 
+15.8 -18.64 11.13 -14.05 9.29 -12.34 17.64 -25.3 0.71 -1.08 16.54 -26.43 9.66 -16.88 5.14 -9.51 
+13.25 -26.43 8.51 -18.7 3.28 -7.68 3.69 -9.31 0 -3.12 16.19 -51.15 15.37 -59.72 9.85 -64.39 
+-1.71 27.34 -11.35 59.25 -15.85 54.88 -12.5 33.79 0 3.12 6.75 -17.1 9.12 -26.41 4.08 -13.23 
+3.78 -13.15 6.66 -26.41 5.49 -26.41 4.38 -26.41 3.25 -26.41 2.15 -26.39 1.08 -26.41 0 -26.41 
+-1.08 -26.39 -2.15 -26.41 -3.25 -26.41 -4.38 -26.41 -5.49 -26.41 -6.66 -26.41 -3.78 -13.15 -4.08 -13.24 
+-9.12 -26.41 -10.44 -26.41 -3.28 -7.68 -8.51 -18.71 -13.25 -26.43 -5.14 -9.5 -9.66 -16.88 -16.54 -26.41 
+-0.71 -1.11 -17.64 -25.3 -9.29 -12.35 -11.13 -14.04 -15.8 -18.64 -6.94 -7.75 -19.99 -21 -5.44 -5.41 
+-21.47 -20.12 -7.12 -6.29 -19.79 -16.54 -12.65 -9.88 -14.26 -10.54 -23.11 -15.89 -3.8 -2.45 -26.96 -16.47 
+-13.23 -7.46 -13.65 -7.25 -26.95 -13.13 -13.5 -6.01 -13.39 -5.59 -26.93 -10.22 -26.93 -8.88 -5.73 -1.71 
+-21.18 -5.86 -26.91 -6.36 -26.93 -5.14 -26.91 -3.97 -26.93 -2.82 -26.9 -1.7 -26.91 -0.56 -26.93 0.56 
+-26.91 1.7 -26.93 2.82 -26.91 3.97 -26.93 5.14 -26.9 6.36 -21.18 5.86 -5.73 1.71 -26.93 8.88 
+-26.93 10.22 -13.39 5.59 -13.5 6.01 -26.95 13.13 -13.65 7.25 -13.24 7.46 -26.95 16.47 -3.8 2.45 
+-23.11 15.89 -14.26 10.54 -12.66 9.88 -19.79 16.54 -7.12 6.29 -21.46 20.12 -5.45 5.41 -19.99 21 
+-6.95 7.75 -15.8 18.64 -11.13 14.04 -9.29 12.35 -17.64 25.3 -0.71 1.09 -16.54 26.43 -9.66 16.88 
+-5.14 9.5 -13.26 26.43 -8.51 18.71 -3.28 7.68 -10.43 26.41 -9.11 26.41 -4.09 13.24 -3.77 13.15 
+-6.66 26.41 -5.49 26.41 -4.38 26.41 -3.23 26.41 -2.17 26.41 p f*
+Q q
+274.133 2270.03 1296.25 1297.98 re
+Y*
+255 0 r6
+479.86 3088.2 -5.53 11.61 12.39 18.16 -4.27 12.16 13.7 17.27 -2.93 12.61 -2.11 13.13 15.5 16.04 
+-0.61 13.41 16.56 14.67 17.05 13.52 1.34 13.17 17.86 11.95 2.75 13 18.49 10.25 4.1 12.67 
+18.86 8.42 18.95 7.23 18.97 6.14 18.94 5.05 5.41 9.94 6.27 9.92 18.64 2.47 6.88 9.05 
+18.16 0.7 7.32 8.12 1.99 -0.07 -9.2 -8.05 -0.21 -0.11 -20.01 -9.13 -9.61 -7.4 -5.04 -2.78 
+-17.68 -11.96 -4.43 -3.82 -16.21 -10.7 -6.99 -5.12 -19.66 -9.59 -14.41 -11.03 -6.23 -4.91 -13.21 -15.73 
+-7.14 -15.34 -0.96 -3.41 -4.82 -11.96 4.91 -3.75 9.77 2.28 7.77 1.96 17.28 12.13 11.7 8.2 
+6.03 3.8 6.99 2.95 10.96 -1.96 0.45 -1.75 -0.39 -1.11 -4.43 -10.8 -4.45 -12.37 -5.12 -9.55 
+-2.74 -5.9 -7.5 -16.58 -0.79 -4.34 -1.78 -9.63 5.58 -7.66 1.73 -11.3 4.66 -8.99 5.21 -8.7 
+10.7 -3.06 6.77 0.02 5.23 -1.45 10.02 -3.45 10.61 -2.62 8.57 0.91 4.17 -0.85 9.25 -3.88 
+10.05 -2.82 10.33 -2.28 10.31 -2.19 -8.16 -11.92 -8.7 5 -8.42 5.27 -8.11 5.54 -7.77 5.82 
+-11.33 -14.08 -7.92 6.23 -7.55 6.51 -11.79 -14.2 -7.64 6.95 -11.72 -14.5 -7.68 7.38 -11.65 -14.84 
+-7.7 7.81 -11.5 -15.21 -10.92 -15.69 -10.29 -16.15 -9.63 -16.58 -8.98 -17 -9.42 8.21 -8.98 8.57 
+9.81 17.13 10.5 16.62 11.18 16.11 -7.18 9.03 -6.64 9.37 -6.1 9.79 -5.49 10.18 -13.02 -15.91 
+-12.36 -16.62 -11.64 -17.32 -10.87 -17.95 7.4 -10.16 7.94 -9.7 9.96 17.78 8.01 -9.38 -9.53 -17.68 
+-8.75 -18.19 9.33 -8.72 9.79 -8.33 -7.23 -18.27 -6.42 -18.64 10.85 -7.57 11.25 -7.21 11.57 -6.88 
+5.49 18.04 11.61 -6.73 -5.21 -17.86 12.22 -6.23 12.5 -5.92 12.78 -5.62 -3.82 -17.51 13.26 -5.16 
+13.52 -4.88 13.74 -4.64 -2.65 -17.1 14.13 -4.21 -1.97 -16.99 -1.46 -17.04 14.56 -3.62 14.75 -3.43 
+14.91 -3.2 -0.72 -16.53 15.13 -2.84 15.28 -2.64 15.43 -2.43 -0.2 -16.1 0.15 -16.06 -15.45 2.18 
+0.54 -16.13 -15.28 2.2 1 -16.21 1.41 -16.13 1.87 -16.01 -14.87 1.82 2.48 -16.11 -14.58 1.76 
+-14.41 1.87 3.34 -16.39 3.91 -16.27 -13.84 1.5 4.75 -16.36 -13.39 1.3 5.66 -16.43 -12.91 1.07 
+6.68 -16.52 -12.37 0.8 -12.2 0.8 8.23 -16.86 -11.59 0.45 9.48 -16.88 10.33 -16.58 11.22 -16.19 
+-9.88 -0.5 12.68 -16.06 13.63 -15.58 -8.47 -1.11 -8.16 -1.21 -14.84 16.06 -8.49 -1.11 -14.41 16.88 
+-13.37 17.43 9.62 0.49 -11.83 17.52 -10.83 17.9 -9.84 18.23 -8.87 18.51 -7.9 18.73 -6.95 18.96 
+12.29 -1.84 -5.77 18.68 -4.88 18.84 -4.02 18.9 -3.16 18.97 -12.96 3.45 -2.41 19.38 -12.79 3.99 
+-1.54 19.77 -12.54 4.58 -0.63 20.14 0.29 20.01 -12.18 5.62 1.33 20.27 2.21 20.07 11.88 -6.37 
+2.9 19.5 3.73 19.27 4.55 19.01 -11.15 7.33 -10.81 7.66 5.97 19.25 -10.09 8.31 7.14 19.1 
+-9.27 8.94 -8.81 9.36 8.79 19.05 -7.86 10 -7.29 10.46 10.54 18.75 -6.21 11.09 f*
+555.04 3004.21 -10.22 7.72 8.29 17.38 9.83 -7.81 10.25 -7.46 10.61 -7.12 -7.18 -17.08 -10.98 7.01 
+-10.59 7.36 f*
+0 155 255 rG
+573.63 3224 -4.91 3.75 4.82 11.96 0.96 3.41 7.14 15.34 13.21 15.73 6.23 4.91 14.41 11.03 
+19.66 9.59 6.99 5.13 16.21 10.7 4.43 3.82 17.68 11.96 5.04 2.78 9.61 7.4 20.01 9.13 
+0.21 0.11 9.2 8.05 6.56 -0.33 -11.05 -7.7 -8.66 -4.69 -8.66 -3.97 -14.47 -9.66 -6.38 -4.23 
+-11.79 -7.25 -13.63 -11.89 -1.65 -1.5 -19.73 -14.28 -2.78 -2.19 -19.23 -9.46 -19.94 -15.93 -1.37 -1.63 
+-8.29 -15.43 1.02 -10.39 6.27 0.41 17.75 12.83 2.34 2.14 16.38 13.74 19.08 11.67 3.3 1.65 
+15.71 6.55 8.07 1.65 9.29 -2.45 1.02 -2.21 -1.82 -2.21 -7.4 -8.86 -4.71 -10.05 -4.75 -10.57 
+-2.25 -4 -5.1 -8.53 -9.98 -14.39 -0.84 -1.23 -7.1 -14.76 -3.4 -10.3 -0.93 -3.67 3.66 -8.51 
+3.5 -8.87 3.99 -8.68 2.76 -10.16 7.03 -6.32 9.25 -4.08 7.36 -2.11 2.78 -0.93 10.3 -2.69 
+10.53 -2.24 8.22 -4.8 10.01 -0.07 2.3 0.35 11.09 -0.91 -4.16 -5.45 8.23 -4.88 -1.67 -2.36 
+-10.31 2.19 -10.33 2.28 -10.05 2.82 -9.25 3.88 -4.17 0.85 -8.57 -0.91 -10.61 2.62 -10.02 3.45 
+-5.23 1.45 -6.77 -0.02 -10.7 3.06 -5.21 8.7 -4.66 8.99 -1.73 11.3 -5.58 7.66 1.78 9.63 
+0.79 4.34 7.5 16.58 2.74 5.9 5.12 9.55 4.45 12.37 4.43 10.8 0.39 1.11 -0.45 1.75 
+-10.96 1.96 -6.99 -2.95 -6.03 -3.8 -11.7 -8.2 -17.28 -12.13 -7.77 -1.96 -9.77 -2.28 f*
+2 239 204 rG
+584.5 3238.26 -1.02 10.39 8.29 15.43 1.37 1.63 19.94 15.93 19.23 9.46 2.78 2.19 19.73 14.28 
+1.65 1.5 13.63 11.89 11.79 7.25 6.38 4.23 14.47 9.66 8.66 3.97 8.66 4.69 11.05 7.7 
+6.53 -0.46 -12.87 -7.29 -14.54 -8.16 -2.26 -1 -14.45 -8.44 -14.23 -9.55 -1.89 -1.15 -12.52 -11.13 
+-13.29 -12.31 -0.19 -0.12 -21.46 -16.69 -18.56 -8.07 -0.59 -0.46 -11.37 -15.91 9.94 3.8 4.1 3.47 
+16.36 16.71 18.67 6.96 18.64 5.47 5.01 2.48 15.7 8.05 12.39 -1.09 -0.02 -7.29 0.15 -7.21 
+-6.53 -9.24 -7.18 -10.07 -6.1 -8.36 -1.09 -2.39 -3.43 -9.77 -9.79 -13.65 -1.02 -1.84 -2.95 -9.61 
+-3.67 -12.02 1.95 -8.79 -1.4 -7.4 0 -4.23 2.66 -8.98 2.21 -9.74 4.28 -8.25 7.01 -5.86 
+7.59 -5.32 9.34 -3.45 6.03 -1.3 4.86 -0.3 7.86 -4.86 12.71 1 10.74 -1.02 -6.25 -7.94 
+-11.09 0.91 -2.3 -0.35 -10.01 0.07 -8.22 4.8 -10.53 2.24 -10.3 2.69 -2.78 0.93 -7.36 2.11 
+-9.25 4.08 -7.03 6.32 -2.76 10.16 -3.99 8.68 -3.5 8.87 -3.66 8.51 0.93 3.67 3.4 10.3 
+7.1 14.76 0.84 1.23 9.98 14.39 5.1 8.53 2.25 4 4.75 10.57 4.71 10.05 7.4 8.86 
+1.82 2.21 -1.02 2.21 -9.29 2.45 -8.07 -1.65 -15.71 -6.55 -3.3 -1.65 -19.08 -11.67 -16.38 -13.74 
+-2.34 -2.14 -17.75 -12.83 -6.27 -0.41 f*
+7 193 59 rG
+609.36 3261.52 -9.94 -3.8 11.37 15.91 0.59 0.46 18.56 8.07 21.46 16.69 0.19 0.13 13.29 12.31 
+12.52 11.13 1.89 1.15 14.23 9.55 14.45 8.44 2.26 1 14.54 8.16 12.87 7.29 2.39 -0.19 
+2.73 2.69 7.73 4.06 4.71 -0.72 -11.09 -6.4 -7.21 -2.87 -7.45 -3.97 -12.07 -7.75 -12.41 -5.49 
+-6.23 -3.65 -12.34 -9.7 -11.61 -9.35 -1.52 -1.39 -1.13 -4.67 19.08 4.43 15.37 6.31 6.42 2.52 
+19.07 2.25 4.54 -1.78 10.18 -4.45 2.84 -1.05 2.19 -5.75 -4.45 -6.27 -7.96 -7.12 -0.48 -0.33 
+-12.63 -8.57 -4.42 -7.61 0.63 -6.36 4.54 -5.08 -0.5 -6.71 -7.79 -6.21 -12.8 -9.46 -4.34 -2.04 
+1.43 -5.32 -0.37 -1.97 2.69 -6.53 -16.28 -9.44 3.19 -6.93 2.95 -5.54 -2.08 -3.12 3.55 0.61 
+3.3 -5.21 15.52 10.85 6.45 4.25 -1.52 -9.59 -0.66 -0.93 -13.39 -13.39 -11.24 -15.67 0 -0.04 
+0.76 -10.87 7.14 -5.14 8.5 -3.73 7.33 -2.39 2.98 0.71 15.49 4.43 4.47 -0.09 4.12 -2.79 
+-11.17 -13.46 -0.35 -0.43 -10.74 1.02 -12.71 -1 -7.86 4.86 -4.86 0.3 -6.03 1.3 -9.34 3.45 
+-7.59 5.32 -7.01 5.86 -4.28 8.25 -2.21 9.74 -2.66 8.98 0 4.23 1.4 7.4 -1.95 8.79 
+3.67 12.02 2.95 9.61 1.02 1.84 9.79 13.65 3.43 9.77 1.09 2.39 6.1 8.36 7.18 10.07 
+6.53 9.24 -0.15 7.21 0.02 7.29 -12.39 1.09 -15.7 -8.05 -5.01 -2.48 -18.64 -5.47 -18.67 -6.96 
+-16.36 -16.71 -4.1 -3.47 f*
+110 210 9 rG
+691.21 3313.04 -19.08 -4.43 1.13 4.67 1.52 1.39 11.61 9.35 12.34 9.7 6.23 3.65 12.41 5.49 
+12.07 7.75 7.45 3.97 7.21 2.87 11.09 6.4 4.68 -0.78 -9.37 -6.29 -14.32 -6.41 -5.54 -2.73 
+-6.14 -4.62 -13.3 -8.16 -11.31 -5.27 -4.08 -4.1 0.43 -2.21 8.94 3.41 13.61 5.04 20.62 4.14 
+0.29 0.04 22.57 4.96 3.67 0.29 17.23 3.88 5.01 2.43 5.05 1.65 9.46 3.69 10.63 2.73 
+10.16 2.15 0.37 -0.09 15.4 -1.45 4.47 -1.61 -0.91 -0.5 -5.41 -3.11 -5.14 -3.3 -14.61 6.21 
+-5.56 -4.08 -5.19 -4.26 10.61 -3.19 3.97 -2.91 -2.88 -2.56 -3.95 -3.86 -3.63 -3.95 6.95 -1.39 
+7.73 -5.32 -0.28 -0.35 1.43 -0.29 -3.78 -2.8 -1.71 -0.17 -18.02 -0.04 -7.37 -1.69 4.99 -2.39 
+6.54 -2.54 -2.07 -4.02 -8.29 -4.25 2.63 -4.04 -5.41 -2.17 -1.5 -0.48 -5.02 -1.61 -5.83 -1.86 
+-1.59 -4.88 -6.49 -2.56 -6.45 -4.95 -9.13 -7.68 -2.56 -6.33 5.79 -3.61 0.87 -5.25 4.21 -3.93 
+-5.14 -6.86 -1.15 -1.82 -4.91 -8.85 -1.25 -7.49 -1.5 -4.58 -1.41 -4.5 -0.45 -8.09 6.9 -2.97 
+2.91 -6.05 -7.75 -6.42 5.28 -4.69 -13.07 -12.21 5.55 -4.36 -0.17 -1.09 -11.44 -12.17 2.76 -1.98 
+-4.47 0.09 -15.49 -4.43 -2.98 -0.71 -7.33 2.39 -8.5 3.73 -7.14 5.14 -0.76 10.88 0 0.04 
+11.24 15.67 13.39 13.39 0.66 0.93 1.52 9.59 9.5 6.02 16.32 9.63 -2.82 5.34 -2.45 5.49 
+-2.08 5.6 -1.69 5.75 -1.28 5.86 -18.06 -7.29 -13.45 -6.01 12.8 9.46 7.79 6.21 0.5 6.71 
+-4.54 5.08 -0.62 6.36 4.42 7.61 12.63 8.57 0.48 0.33 7.96 7.12 4.45 6.27 -2.19 5.75 
+-2.84 1.05 -10.18 4.45 -4.54 1.78 -19.07 -2.25 -6.42 -2.52 -15.37 -6.31 f*
+255 G
+705.36 3231.54 -16.28 -9.44 3.19 -6.93 2.95 -5.54 0.7 -1.19 0.78 -1.33 3.3 -5.21 15.52 10.85 
+6.45 4.25 9.5 6.02 16.32 9.63 -2.82 5.34 -2.45 5.49 -2.08 5.6 -1.69 5.75 -1.28 5.86 
+-18.06 -7.29 -13.45 -6.01 -4.34 -2.04 1.43 -5.32 0.46 -1.54 2.36 -6.68 -0.5 -0.28 f*
+110 210 9 rG
+696.7 3207.12 -3.55 -0.61 2.08 3.12 0.7 -1.19 0.78 -1.33 f*
+0 255 r6
+696.25 3323.27 -0.43 2.21 4.08 4.1 11.31 5.27 13.3 8.16 6.14 4.62 5.54 2.73 14.32 6.41 
+9.37 6.29 4.32 -0.76 7.55 6.16 8.09 5.93 8.62 5.66 5.49 3.28 4.86 1.54 3.06 1.29 
+0 -12.13 -8.92 -3.88 -17.88 -2.5 -6.25 -6.23 -8.79 -2.82 -3.15 -2.63 -6.4 -6.57 -0.04 -0.42 
+1.24 0.3 18.9 4.56 3.93 -0.24 8.95 4.54 7.05 5.23 7.18 5.08 4.19 5.58 0 12.13 
+7.51 3.12 14.32 1.67 14.21 0.46 0.33 -0.05 14.13 -7.07 3.34 -8.71 -0.39 -2.54 6.36 -3.34 
+11.61 -3.21 4.16 5.42 2.54 -3.67 -6.68 -1.78 -6.51 -2.04 -6.31 -2.26 -6.12 -2.49 -5.9 -2.71 
+-4.73 -2.43 -4.47 1.61 -15.4 1.45 -0.37 0.09 -10.16 -2.15 -10.63 -2.73 -9.46 -3.69 -5.05 -1.65 
+-5.01 -2.43 -17.23 -3.88 -3.67 -0.29 -22.57 -4.96 -0.29 -0.04 -20.62 -4.14 -13.61 -5.04 -8.94 -3.41 f*
+110 210 9 rG
+705.36 3231.54 -2.69 6.53 0.37 1.97 0.46 -1.54 2.36 -6.68 -0.5 -0.28 f*
+0 255 r6
+723.72 2474.54 -3.47 2.85 7 1.32 7.25 1.24 0.39 -0.33 -6.18 -2.12 -4.99 -2.95 f*
+255 203 0 rG
+727.56 2471.48 -3.84 3.06 4.99 2.95 6.18 2.13 4.25 -3.73 -6.27 -1.89 -5.32 -2.52 f*
+255 135 0 rG
+731.45 2468.46 -3.88 3.02 5.32 2.52 6.27 1.89 4.3 -3.64 -6.34 -1.7 -5.66 -2.09 f*
+255 35 0 rG
+735.37 2465.5 -3.93 2.97 5.66 2.09 6.34 1.7 4.41 -3.62 -6.45 -1.48 -6.04 -1.65 f*
+189 0 54 rG
+736.98 2464.3 -1.61 1.2 6.04 1.65 6.45 1.48 1.95 -1.59 -6.53 -1.32 9.98 -7.45 -3.4 -3.12 
+-12.87 9.16 f*
+87 0 136 rG
+764.47 2403.73 -27.02 8.36 0.61 2.82 1 2.73 26.26 -9 0.96 2.34 1.3 2.23 1.65 2.18 
+1.93 2.08 2.28 1.97 2.54 1.89 -22.98 10.29 3.47 1.93 3.78 1.84 -19.32 10.68 -0.63 1.15 
+3.97 1.48 5.05 1.67 5.32 1.54 -4.79 3.23 3.4 3.12 6.95 -4.91 17.84 -11.61 5.05 1.37 
+18.01 -10.89 18.91 -10.07 3.69 1.15 3.86 1.09 4.04 1.02 4.18 0.93 4.34 0.91 4.46 0.83 
+0.91 0.15 0 -39.59 -5.29 -0.8 0.83 -1.39 7.29 -0.95 1.39 0.37 -0.24 1.22 -1.99 1.37 
+-0.61 0.11 -1.37 0.09 0 39.59 3.69 0.63 4.73 0.72 4.84 0.65 4.93 0.61 5.03 0.54 
+5.1 0.5 5.19 0.43 -7.55 10.62 6.19 0.39 6.25 0.32 6.31 0.3 6.36 0.21 -3.58 10.94 
+7.3 0.17 7.31 0.13 7.32 0.06 7.36 0.05 0 -61.09 -1.02 0 -1 -0.02 -2 -0.08 
+-0.98 -0.07 -0.97 -0.09 -0.98 -0.11 -1.86 -0.21 -0.91 -0.16 -1.74 -0.3 -1.65 -0.39 -0.78 -0.2 
+-0.74 -0.21 -0.72 -0.24 -0.67 -0.24 -0.65 -0.24 -0.61 -0.26 -0.56 -0.28 -0.52 -0.28 -0.48 -0.29 
+-0.43 -0.3 -0.39 -0.3 -0.35 -0.3 -0.3 -0.33 -0.24 -0.32 -0.2 -0.33 -0.17 -0.32 -0.08 -0.35 
+-0.07 -0.33 0 -0.34 0.04 -0.35 0.11 -0.32 0.16 -0.35 0.2 -0.34 0.26 -0.33 0.3 -0.34 
+0.35 -0.33 0.39 -0.32 0.45 -0.3 0.5 -0.33 0.52 -0.3 0.58 -0.3 1.3 -0.57 0.71 -0.26 
+0.76 -0.24 0.79 -0.25 0.82 -0.22 0.85 -0.22 0.89 -0.19 0.91 -0.18 0.93 -0.17 1.95 -0.3 
+1 -0.11 1.02 -0.11 2.08 -0.13 1.06 -0.07 1.06 -0.02 2.11 0 1.07 0.02 1.06 0.07 
+2.08 0.13 1.02 0.11 1 0.11 1.95 0.3 0.93 0.17 0.91 0.18 0.89 0.19 0.84 0.22 
+0.83 0.22 0.79 0.25 0.75 0.24 0.71 0.26 0.65 0.29 0.63 0.28 0.58 0.3 0.55 0.3 
+0.5 0.33 0.45 0.3 0.39 0.32 0.34 0.33 0.3 0.34 0.26 0.33 0.2 0.34 0.16 0.35 
+0.11 0.32 0.04 0.35 0 0.34 -0.07 0.33 -0.08 0.35 -0.16 0.32 -0.22 0.33 -0.24 0.32 
+-0.3 0.33 -0.34 0.3 -0.39 0.3 -0.43 0.3 -0.48 0.29 -0.52 0.28 -0.57 0.28 -0.61 0.26 
+-0.65 0.24 -0.67 0.24 -0.72 0.24 -0.74 0.21 -0.78 0.2 -1.65 0.39 -1.73 0.3 -0.91 0.16 
+-0.93 0.11 -1.91 0.21 -0.98 0.09 -0.97 0.07 -2 0.08 -1 0.02 -1 0 0 61.09 
+7.34 -0.05 7.32 -0.06 7.31 -0.13 7.29 -0.17 7.25 -0.22 7.18 -0.28 7.14 -0.32 7.08 -0.39 
+6.99 -0.43 6.92 -0.5 8.31 11.35 7.64 -0.52 7.53 -0.58 7.4 -0.65 7.27 -0.71 7.14 -0.79 
+6.96 -0.86 6.81 -0.91 6.64 -1.02 13.93 12.15 7.2 -1.04 6.99 -1.11 -15.45 -12.26 6.04 -1.25 
+5.82 -1.37 5.55 -1.45 5.32 -1.54 5.05 -1.67 4.77 -1.78 4.47 -1.91 4.14 -2 3.84 -2.15 
+3.47 -2.28 22.52 12.38 3.78 -2.47 -23.18 -12.29 2.75 -2.56 2.35 -2.68 1.93 -2.82 24.95 11.94 
+2.04 -3.15 1.56 -3.34 1.04 -3.49 0.52 -3.69 -0.07 -3.88 -0.65 -4.08 -1.26 -4.25 -27.97 -9.9 
+-2.15 -3.95 -2.73 -4.08 -3.39 -4.19 28.41 8.29 -4.06 -4.9 -4.8 -5.06 -5.62 -5.16 -2.73 -2.24 
+-3.66 -3.02 -7.25 -5.29 -27.09 -4.55 -7.42 -4.43 -8.16 -4.36 -8.83 -4.28 -9.55 -4.17 -10.2 -3.97 
+-10.85 -3.78 P
+-11.48 -3.52 -12.04 -3.23 -15.63 3.93 -10.61 -2.21 -10.98 -1.93 -11.26 -1.63 -8.62 6.25 -7.92 6.73 
+-7.49 -0.69 -7.59 -0.5 -7.64 -0.29 -7.66 -0.11 -7.68 0.11 -7.64 0.29 -7.59 0.5 -7.49 0.69 
+-7.36 0.87 -7.2 1.05 -7.04 1.23 -6.83 1.37 -6.6 1.55 -6.33 1.65 -6.08 1.8 -5.79 1.91 
+-5.49 2 -5.17 2.11 -22.94 -1.32 -5.77 2.84 -5.34 2.91 -4.88 2.93 -4.43 2.97 -3.99 2.97 
+-3.52 3 -3.08 2.95 -2.62 2.93 -2.19 2.89 -1.78 2.84 -1.35 2.8 -0.93 2.72 -0.52 2.66 
+-0.16 2.59 p f*
+189 0 54 rG
+740.93 2446.07 -1.43 0.85 0.8 0.3 0.63 -1.15 f*
+2 239 204 rG
+742.75 3360.5 4.8 4.45 2.93 -0.39 -7.73 -4.06 f*
+255 203 0 rG
+751.67 3349.28 -1.24 -0.3 0.04 0.42 6.4 6.57 3.15 2.63 8.79 2.82 6.25 6.23 17.88 2.5 
+8.92 3.88 -4.19 -5.58 -7.18 -5.08 -7.05 -5.23 -8.95 -4.54 -3.93 0.24 -18.9 -4.56 f*
+0 255 r6
+751.2 3175.15 -0.67 -0.69 0.17 1.09 0.5 -0.39 f*
+757.77 3209.29 -6.9 2.97 0.45 8.09 1.41 4.5 1.5 4.58 1.25 7.49 4.91 8.85 1.15 1.82 
+5.14 6.86 -4.21 3.93 -0.87 5.25 -5.79 3.61 2.56 6.33 9.13 7.68 6.45 4.95 6.49 2.56 
+1.59 4.88 5.83 1.86 0 -42.6 -7.31 -1.06 -4.28 -4.32 6.84 -0.59 4.75 5.97 0 42.6 
+5.02 1.61 0 -9.39 -4.86 -2.12 4.73 -0.41 3.95 1.96 -3.82 0.58 0 9.39 1.5 0.48 
+5.41 2.17 -2.63 4.04 8.29 4.25 2.07 4.02 -6.54 2.54 -4.99 2.39 7.38 1.69 18.02 0.04 
+1.71 0.17 3.78 2.8 16.02 -3.43 -2.21 -2.82 -1.97 -2.86 -1.78 -2.93 -1.52 -2.95 18.54 -1.85 
+0.04 -0.02 -1.08 -2.32 -0.92 -2.37 -0.73 -2.38 -0.57 -2.39 -0.39 -2.39 -0.02 -0.15 -5.88 -2.76 
+-2 -2.84 -0.98 -2.8 2.11 -2.28 -11.44 -4.43 -1.95 -1.63 -11.61 -6.9 -2.52 -3.59 -2.95 -2.23 
+-7.75 -7.51 -4.49 -2.04 2.26 -3.71 2.49 -3.62 2.73 -3.54 -15.64 -9.48 3.47 -3.82 -14.78 -10.44 
+-14.39 -10.96 -6.27 -5.03 -2.91 6.05 f*
+255 203 0 rG
+783.12 3246.94 -6.84 0.59 4.28 4.32 7.31 1.06 -4.75 -5.97 f*
+110 210 9 rG
+792.88 3287.71 -4.86 -2.12 4.73 -0.41 3.95 1.96 -3.82 0.58 f*
+255 135 0 rG
+789.78 3170.98 -1.28 0.67 0.48 0.61 0.8 -1.28 f*
+255 35 0 rG
+789.78 3170.98 -0.8 1.28 7.27 8.89 5.27 -4.7 5.38 -4.91 -4.66 -6.66 -6.97 3.29 -5.49 2.8 f*
+189 0 54 rG
+799.21 3184.7 -5.99 3.47 11.68 12.46 -1.56 0.98 12.26 11.96 6.05 10.44 -2 4.6 1.84 1.45 
+9.92 7.59 -7.33 -9.59 0.93 -1.2 -8.25 -14.08 -7.84 -8.04 -1.8 -5.51 -0.39 -5.82 4.55 -4.58 
+3.73 -6.05 6.01 -3.34 -2.73 -3.99 -6.55 2.89 -4.86 -6.79 -5.38 4.91 -5.27 4.7 2.97 3.54 f*
+2 239 204 rG
+797.85 3395.14 -3.36 1.58 11 5.25 -7.64 -6.83 f*
+110 210 9 rG
+793.95 3383.33 3.64 2.09 9.62 5.01 -4.32 2.24 10.19 4.99 10.75 4.58 12.89 2.7 9.57 0.58 
+5.36 -0.82 11.64 2.35 4.92 -6.97 10.53 2.08 9.91 1.52 -0.69 -10.94 -4.04 -0.65 -9.29 -1.78 
+6.21 -10.09 -7.97 -1.83 4.58 -6.46 -4.16 -5.42 -11.61 3.21 -6.36 3.34 0.39 2.54 -3.34 8.71 
+-14.13 7.07 -0.33 0.05 -14.21 -0.46 -14.32 -1.67 -7.51 -3.12 -3.06 -1.29 -4.86 -1.54 f*
+7 193 59 rG
+802.89 3392.67 -5.04 2.47 7.64 6.83 0.09 0.04 11.61 4.86 12.07 4.36 12.46 3.89 8.25 -8.59 
+11.54 2.9 1.79 -2.4 -11.64 -2.35 -5.36 0.82 -9.57 -0.58 -12.89 -2.7 -10.75 -4.58 -10.19 -4.99 f*
+255 135 0 rG
+800.04 3203.8 -0.33 0.21 12.64 11.79 -2.3 1.65 0.41 3.69 4.58 3.75 -0.02 -6.71 -1.73 -3.05 
+-13.24 -11.33 f*
+255 35 0 rG
+803.34 3201.61 -3.3 2.2 13.24 11.33 1.73 3.05 0.02 6.71 4.62 3.71 2 -4.6 -6.05 -10.44 
+-12.26 -11.96 f*
+255 203 0 rG
+818.05 3261.35 -12.76 -5.47 7.75 7.51 2.95 2.23 2.52 3.59 11.61 6.9 1.95 1.63 11.44 4.43 
+-2.11 2.28 0.98 2.8 2 2.84 5.88 2.76 -0.17 -2.23 12.67 0.91 6.46 -0.74 0 -1.32 
+-7.53 -2 -0.52 -2.11 -1.74 -2.41 -6.2 -3.67 -1.56 -0.57 -8.74 -2.13 -9.81 -2.47 -1.3 -0.71 
+-8.08 -6.05 -5.2 -5.77 -0.48 -0.21 f*
+87 0 136 rG
+811.3 3188.84 -4.55 4.58 0.39 5.82 1.8 5.51 7.84 8.04 8.25 14.08 -0.93 1.2 7.33 9.59 
+4.02 2.96 -3.08 2.67 14.84 9.65 -2.37 2.37 0.13 0.07 8.22 1.26 7.6 1.35 4.64 1.32 
+1.58 -0.46 1.93 -1.86 1.04 -1.15 -1.87 -3.02 -8.68 -9.18 -1.06 -3.82 1.39 -3.91 3.3 -2.15 
+7.5 4.02 3.76 8.44 2.56 5.47 2.3 -0.33 2.82 -1.13 3.28 -0.56 2.67 -1.29 2.69 -1.3 
+2.96 -0.98 2.08 -1.61 0.17 -0.76 0.71 -6.49 1.95 -5.23 -0.87 -2.46 -4 0.79 -5.45 -13.5 
+-4.69 1.04 -5.99 -13.61 -5.34 1.34 -6.05 -12.74 -0.46 -0.93 -5.94 1.63 -5.84 1.82 -5.71 1.97 
+-8.29 -13.43 -6.25 2.35 -6.1 2.49 -6.51 -9.33 -6.01 3.34 -3.73 6.05 f*
+255 203 0 rG
+810.05 3217.45 -2.11 1.59 2.52 2.11 -0.41 -3.69 f*
+0 255 r6
+821.5 3339.41 -3.97 2.91 5.34 -1.73 -1.37 -1.17 f*
+825.71 3322.33 -7.73 5.32 10.31 -2.28 -2.59 -3.04 f*
+255 135 0 rG
+827.8 3265.25 -9.27 -3.69 5.2 5.77 8.08 6.05 1.3 0.71 9.81 2.47 8.74 2.13 1.56 0.57 
+6.2 3.67 1.74 2.41 0.52 2.11 7.53 2 0.05 -1.11 0.19 -1.73 0.31 -1.71 0.43 -1.71 
+0.56 -1.67 0.11 -0.3 -7.51 -1.59 -11.07 -2.65 -18.27 -5.32 -2.04 -1.45 -4.19 -4.95 f*
+255 35 0 rG
+835.59 3268.21 -7.79 -2.95 4.19 4.95 2.04 1.45 18.27 5.32 11.07 2.65 7.51 1.59 0.56 -1.37 
+0.59 -1.22 -2.37 -1.23 2.73 0.54 0.74 -1.3 0.22 -0.35 -4.8 -1.32 -11.18 -1.73 -3.17 -0.43 
+-2.39 -1.59 -13.34 -7.96 -1.11 1.73 2.97 1.82 -3.65 -0.62 -1.11 2.04 f*
+255 0 r6
+844.71 2879.88 -15.39 1.32 1.24 15.89 1.41 15.88 1.59 15.86 1.74 15.87 14.37 -1.41 1.58 15.82 
+1.69 15.77 13.78 -1.17 1.47 15.75 13.48 -0.91 1.17 15.69 1.26 15.63 1.32 15.58 1.41 15.52 
+11.78 -0.65 11.83 -0.37 0.48 15.43 0.52 15.34 -10.79 0.38 1.09 15.25 -10.22 0.58 -10.18 0.85 
+2.3 15.08 9.59 -0.8 9.66 -0.59 1.19 15.04 1.26 14.89 8.46 -0.32 -0.63 -14.91 -0.61 -15.04 
+9.7 -0.11 0 -281.27 -16.04 0.11 -15.99 0.33 -15.97 0.54 -15.95 0.76 0.5 15.73 -15.78 1.02 
+0.76 15.79 0.91 15.84 f*
+255 135 0 rG
+837.09 3265.47 -0.39 0.7 3.65 0.63 -2.97 -1.82 -0.28 0.5 f*
+189 0 54 rG
+838.76 3262.83 -0.29 0.41 13.34 7.96 2.39 1.59 3.17 0.43 11.18 1.73 4.8 1.32 0.83 -1.21 
+1.13 -1.52 1.23 -1.47 1.33 -1.43 1.45 -1.39 1.52 -1.32 1.63 -1.28 1.71 -1.24 1.8 -1.17 
+1.86 -1.11 1.96 -1.04 2.02 -0.98 2.08 -0.91 2.15 -0.84 2.2 -0.78 2.25 -0.72 2.3 -0.63 
+2.34 -0.57 2.38 -0.5 -5.01 -13.17 -3.99 -10.98 -1.95 5.23 -0.71 6.49 -0.17 0.76 -2.08 1.61 
+-2.96 0.98 -2.69 1.3 -2.67 1.29 -3.28 0.56 -2.82 1.13 -2.3 0.33 -2.56 -5.47 -3.76 -8.44 
+-7.5 -4.02 -3.3 2.15 -1.39 3.91 1.06 3.82 8.68 9.18 1.87 3.02 -1.04 1.15 -1.93 1.86 
+-1.58 0.46 -4.64 -1.32 -7.6 -1.35 -8.22 -1.26 -0.13 -0.07 -2.19 2.43 -2.04 2.52 -1.84 2.58 f*
+845.5 2388.65 -5.29 -0.8 0.83 -1.39 7.29 -0.95 1.39 0.37 -0.24 1.22 -1.99 1.37 -0.61 0.11 
+-1.37 0.09 f*
+255 203 0 rG
+853.97 3304.84 -0.04 0.02 0.04 -0.02 f*
+2 239 204 rG
+868.25 3160.7 -7.48 1.52 0.3 0.83 8.25 1 7.64 -0.5 8.03 1.47 -1.54 -6.73 -7.64 1.11 
+-7.55 1.3 f*
+7 193 59 rG
+869.32 3164.04 -8.25 -1 2.97 7.9 7.6 0.11 7.16 -0.93 6.98 2.78 1.04 -0.13 -1.84 -7.75 
+-8.03 -1.47 -7.64 0.5 f*
+255 135 0 rG
+869.23 3290.78 -6.46 0.74 6.53 0.32 -0.07 -1.06 f*
+110 210 9 rG
+871.64 3171.05 -7.6 -0.11 2.11 5.49 6.82 -1.41 6.9 -1.22 5.93 -0.91 -6.98 -2.78 -7.16 0.93 f*
+255 135 0 rG
+872.03 3278.62 -2.37 -1.23 2.73 0.54 -0.17 0.29 -0.2 0.41 f*
+0 255 r6
+893.38 3393.49 -5.43 -0.76 0.69 10.94 0.81 0.11 10.85 1.17 2.62 -10.46 -9.54 -1 f*
+905.46 3383.75 -2.54 10.74 9.66 0.61 9.68 0.2 0 10.59 10.98 -0.24 10.94 -0.7 2.75 10.16 
+8.31 -0.87 1.65 -5.86 11.09 -2.15 11.05 -2.25 10.52 -3.02 12.43 -1.29 8.88 1.79 7.95 -0.57 
+3.19 -3.62 1.46 -4.58 9.59 -4.54 9.44 -4.73 9.01 -5.08 8.11 -5.52 5.97 -6.18 2.88 -6.77 
+0.89 -5.68 -2.02 -1.56 -9.66 -6.47 -9.96 -3.87 -3.34 -3.12 -5.58 1.08 -9.46 2.8 -4 4.23 
+-2.91 4.77 -4.64 4.19 -5.79 3.69 -2.15 4.13 -0.59 1.48 -5.46 4.29 -6.01 4.13 -8.04 -1.13 
+-10.41 -8.94 -1.63 0.54 -6.51 2.04 -6.68 1.78 -6.81 1.52 -6.95 1.25 -2.43 0.33 -4.6 0.65 
+-7.12 0.7 -7.16 0.43 -7.18 0.13 -6.68 -0.11 -0.89 3.41 -0.85 7.68 -8.38 -0.5 f*
+255 203 0 rG
+915.06 3373.13 -0.37 3.43 0.89 -3.41 -0.52 -0.02 f*
+255 0 r6
+938.15 2845.53 -15.88 -0.11 0 250.46 10.25 0.11 10.26 0.37 -1.15 15.12 -1.21 15.04 -0.95 11.55 
+9.52 -7.1 8.71 -2.84 0 -77.14 -11.79 -0.65 -11.83 -0.37 0.48 -15.52 0.45 -15.58 12.72 0.37 
+12.7 0.65 -1.32 15.58 -1.41 15.52 0 77.14 0.8 -0.25 0.18 0 9.27 -1.37 10.02 -3.02 
+10.16 -2.26 8.27 -3.21 4.51 -6.64 4.66 -7.36 10.18 -6.58 10.18 1.78 9.36 3.78 9.29 3.64 
+2.91 0.95 0 -75.82 -12.13 -2.48 -12.26 -2.23 -12.37 -1.95 -12.45 -1.69 -12.55 -1.43 -12.61 -1.17 
+1.67 -15.64 1.56 -15.7 13.41 1.17 13.37 1.43 13.28 1.71 13.17 1.97 13.09 2.24 12.96 2.5 
+-3.93 15.69 -4.21 15.59 0 75.82 6.54 2.17 9.55 2.8 8.72 4.25 7.4 6.23 7.03 6.36 
+8.86 3.38 9.64 2.32 10.2 1.76 10.87 1.13 6.95 0.7 4.77 -0.3 8.9 3.93 7.62 5.41 
+8.37 4.53 9.68 3.28 5.51 -1.95 0.41 -4.08 5.36 -16.41 -0.24 -3.71 4.55 -16.91 4.8 -11.78 
+1.54 -6.42 5.62 -3.71 14.45 -3.95 1.76 -0.04 13.89 -0.41 11.07 3.75 4.41 -0.95 13.04 -4.35 
+10.22 5.1 4.12 0.22 12.2 -3.82 8.25 7.93 6.25 10.39 5.19 11.35 4.38 11.87 -1.37 15.77 
+-0.39 2.58 3.63 11.55 2.3 12.52 -9 22.48 -1 2.15 -8.93 6.38 -7.44 5.54 -15.17 0 
+-3.62 -3.05 -7.12 -0.85 -10.88 -3.67 -4.27 -8.77 -2.89 -10.07 -2.23 -10.96 -4.51 -9.22 -5.66 -8.31 
+-7.95 -6.14 -2.45 -0.5 -15.54 4.82 -4.93 0 -1.56 6.49 4.08 9.14 6.14 7.05 6.13 6.99 
+6.48 6.67 3.67 3.6 8.61 -1.54 10.5 3.69 2.41 10.11 -6.91 16.36 -4.54 7.92 -4.19 8.38 
+-4.04 12.54 4.39 7.7 4.4 3.26 4.21 2.34 0.72 9.81 -6.1 12.87 -5.95 12.33 5.76 7.57 
+-5.14 11.83 -3.47 11.07 4.21 -1.37 19.12 -6.92 19.14 -8.18 6.14 -13.8 -18.96 8.92 5.18 -12.89 
+4.11 -12.67 18.49 -10.25 18.23 -11.41 17.95 -12.68 17.58 -13.93 17.14 -15.24 0.89 -14.69 -0.18 -14.2 
+15.43 -16.97 -1.76 -13.78 -2.64 -13.22 13.52 -18.2 12.74 -19.23 11.85 -20.16 10.89 -21.14 -5.82 -12.15 
+-6.49 -11.54 8.79 -21.38 7.75 -22.11 6.62 -22.79 5.46 -23.44 8.42 9.7 7.9 10.22 -6.36 24.64 
+6.89 11.39 -8.18 24.36 5.64 12.61 -10.03 23.87 4.21 13.76 10.72 -24.33 9.46 -25.54 4.84 13.45 
+4.05 14.28 3.15 15.17 2.14 16.15 11.48 -29.82 2.16 16.41 1.02 17.6 -0.29 18.97 -1.82 20.51 
+15.17 -36.18 -1.74 21.07 -3.62 23.09 17.03 -42.6 -3.36 23.72 -5.77 26.52 19.79 -51.91 2.67 -23.85 
+0.82 -21.16 -0.65 -18.96 8.66 -47.37 4.67 -49.96 3.88 12.2 1 -55.97 -4.56 -57.23 4.36 3.52 
+3.97 3.19 -5.1 -34.31 -7.08 -33.98 -8.96 -33.37 -10.76 -32.49 -26.24 -61.45 -31.32 -55.62 -17.41 -24.46 
+-17.42 -24.48 8.59 17.16 -16.99 -20.75 -16.97 -20.72 -17.6 -17.86 -17.6 -17.84 -35.5 -30.16 12.2 15.11 
+33.86 30.68 16.53 17.82 16.54 17.79 5.99 13.57 3.95 11.8 27.18 38.3 0.49 9 -0.73 7.63 
+21.25 38.19 -3.13 4.82 -3.91 3.86 -4.57 3.08 -5.21 2.38 -16.78 -32.33 -4.93 3.06 -5.51 2.47 
+-6.05 1.95 14.52 28.84 12.54 29.54 10.55 30.01 8.53 30.32 6.51 30.43 8.31 4.18 7.97 4.23 
+4.62 33.12 7.68 5.82 2.26 34.36 7.16 7.72 -0.42 35.39 6.34 9.9 5.84 10.55 5.32 11.28 
+4.73 12.16 P
+4.08 13.17 -7.18 44.59 -10.31 42.06 -1.41 -17.71 -2.49 -16.26 -3.43 -15.04 -8.87 34.61 -3.23 -15.3 
+-4.12 -14.29 -4.89 -13.37 6.25 -30.82 4.32 -31.96 -6.8 -10.22 -7.29 -9.66 -7.74 -9.16 -2.85 28.52 
+-7.79 -9.68 -8.27 -9.2 -8.7 -8.77 -9.11 -8.36 -2.93 24.57 -9.22 -8.64 -3.88 23.42 -9.31 -8.81 
+-4.73 22.38 -9.4 -8.9 -5.45 21.44 -6.45 20.95 8.64 9.7 -7.83 20.71 -8.81 20.09 -9.7 19.42 
+-7.29 -10.46 -7.86 -10 -9.61 18.47 -10.39 17.88 -7.51 -9.8 -8.01 -9.38 -8.5 -8.96 9.09 -17.6 
+-9.39 -8.47 7.97 -17.9 -10.18 -7.95 6.86 -18.1 6.12 -18.44 10.86 7.57 5.64 -18.99 -11.16 -7.33 
+-11.52 -6.97 -5.05 18.51 -5.79 18.23 -11.26 -7.07 -6.21 17.77 -6.88 17.5 -7.55 17.18 -10.61 -7.12 
+-7.82 16.78 -10.59 -6.86 -10.94 -6.51 -11.24 -6.18 -11.57 -5.88 6.38 -16.52 5.86 -16.71 -12.5 -5.43 
+-4.43 -1.78 -8.36 -3.34 4.73 -16.69 -13.29 -4.73 3.97 -16.71 3.47 -16.79 2.97 -16.88 -14.15 -4.12 
+2.32 -16.8 -14.52 -3.71 1.7 -16.71 -14.82 -3.32 1.17 -16.59 -15.08 -2.97 0.67 -16.4 0.26 -16.38 
+-0.16 -16.35 -0.58 -16.27 15.15 2.37 -1.04 -16.39 -15.09 -2.19 -1.43 -16.13 -15.12 -1.88 -15.25 -1.74 
+-1.61 -15.71 -1.98 -15.61 -2.37 -15.45 -2.75 -15.32 -14.64 -1.04 -2.89 -15.04 -14.5 -0.83 -2.96 -14.71 
+-14.28 -0.65 -14.37 -0.57 -14.45 -0.52 -14.5 -0.46 1.79 14.33 1.58 14.5 -15.13 -0.5 1.15 14.58 
+1 14.73 0.82 14.89 0.67 15.02 -15.88 -0.63 0.41 15.08 0.31 15.21 16.07 0.72 0.22 15.37 
+0.09 15.45 -16.14 -0.83 -0.05 15.48 -0.17 15.58 -16.11 -0.71 -0.21 15.61 -0.3 15.66 -15.97 -0.54 
+-0.26 15.69 -15.87 -0.35 p f*
+255 G
+945.9 3050.33 -11.83 -0.37 0.48 -15.52 0.45 -15.58 12.72 0.37 12.7 0.65 -1.32 15.58 -1.41 15.52 
+-11.79 -0.65 f*
+2 239 204 rG
+938.15 3153.06 -0.28 3.1 6.99 0.46 0.96 -1.17 9.05 -6.27 8.62 -1.62 7.59 3.1 8.14 0.74 
+8.12 0.91 7.27 3.19 9.01 -1.04 7.57 -1.02 2.06 -0.78 12.91 -7.49 9.36 0.26 7.01 4.49 
+8.81 1.46 1.71 0.5 6.42 2.11 7.4 3.64 7.71 3.17 8.66 2.11 6.91 4.23 10.69 0.13 
+0.29 10.98 0.74 3.75 1.96 4.12 5.01 5.47 4.82 1.57 4.02 0.75 8.53 2.76 5.14 5.52 
+6.97 4.21 9.2 0.2 3.56 0.17 16.56 -3.47 4.77 -1.87 13.87 -3.82 4.11 1.15 6.45 5.95 
+4.67 7.23 2.49 8.57 -1.08 10.61 -3.58 7.46 -6.06 7.25 -10.78 14 -0.16 0.39 -3.41 9.57 
+1.74 7.68 0.15 1.48 0.24 6.75 -2.67 4.93 -2.76 5.08 -3.79 6.9 -1.52 2.73 -5.55 9.39 
+-4.05 8.88 -0.98 8.38 0 1.08 3.19 6.95 4.04 6.99 0.43 1.24 -7.49 9.78 -6.42 5.02 
+-7.66 4.84 -2.08 5.04 -1.69 4.38 -8.99 5.21 -13.97 3.04 9.27 0.87 16.91 0.84 1.67 0.05 
+19.22 -10.57 -9.57 0.46 10.28 -10.33 9.31 -10.5 3.62 -0.48 15.2 -12.11 7.03 -11.07 -1.73 -8.92 
+-1.04 -1.39 -15.34 -2.19 -0.7 -1.17 2.17 -9.2 7.23 -10.79 0.63 -0.82 10.03 -11.72 1.48 -9.63 
+-3.02 -7.79 -0.3 -8.96 5.23 -11.84 6.7 -13.37 2.93 -8.37 2.06 -4.86 -0.02 -10.62 -3.88 -8.16 
+-4.52 -7.77 -4.9 -7.57 -5.52 -7.14 -1.69 -1.21 -11 0.17 -9.46 3.32 -16.12 6.55 -2.68 -0.35 
+-6.75 -2.64 -4.25 -7.21 -0.54 -4.23 -1.61 -5.19 -4.99 -7.14 -6.51 -5.8 -7.95 -4.32 -7.12 -2.17 
+-2.19 -0.56 -11.26 -0.18 -8.9 -2.82 -9.11 -2.41 -8.36 -3.38 -8.09 -3.85 -7.99 -4.08 -8.89 -2.69 
+-8.71 -3.02 -9.16 -2.2 -9.07 -2.39 -5.92 1.13 -5.08 1.24 -11.51 10.61 -3.08 2.3 -10.05 2.67 
+-8.46 -1.5 -8.99 0.45 -8.29 -2.25 -8.77 -0.09 -9.31 4.58 -0.19 0.18 -9.27 11.13 f*
+0 155 255 rG
+939.17 3141.41 -1.02 11.66 9.27 -11.13 0.19 -0.18 9.31 -4.58 8.77 0.09 8.29 2.25 8.99 -0.45 
+8.46 1.5 10.05 -2.67 3.08 -2.3 11.51 -10.61 5.08 -1.24 5.92 -1.13 9.07 2.39 9.16 2.2 
+8.71 3.02 8.89 2.69 7.99 4.08 8.09 3.85 8.36 3.38 9.11 2.41 8.9 2.82 11.26 0.18 
+2.19 0.56 7.12 2.17 7.95 4.32 6.51 5.8 4.99 7.14 1.61 5.19 0.54 4.23 4.25 7.21 
+6.75 2.64 2.68 0.35 16.12 -6.55 9.46 -3.32 11 -0.17 1.69 1.21 5.52 7.14 4.9 7.57 
+4.52 7.77 3.88 8.16 0.02 10.62 -2.06 4.86 -2.93 8.37 -6.7 13.38 -5.23 11.84 0.3 8.96 
+3.02 7.79 -1.48 9.63 -10.03 11.72 -0.63 0.82 -7.23 10.79 -2.17 9.2 0.7 1.17 15.34 2.19 
+1.04 1.39 1.73 8.92 -7.03 11.07 -15.2 12.11 14.96 -2.41 8.53 -11.5 7.46 -11.52 14.82 -4.36 
+3.47 -11.07 5.14 -11.83 -5.76 -7.57 5.95 -12.33 6.1 -12.87 -0.72 -9.81 -4.21 -2.34 -4.4 -3.26 
+-4.39 -7.7 4.04 -12.54 4.19 -8.38 4.54 -7.92 6.91 -16.36 -2.41 -10.11 -10.5 -3.69 -8.61 1.54 
+-3.67 -3.6 -6.48 -6.67 -6.12 -6.99 -6.14 -7.05 -4.08 -9.14 1.56 -6.49 4.93 0 15.54 -4.82 
+2.45 0.5 7.95 6.14 5.66 8.31 4.51 9.22 2.23 10.96 2.89 10.07 4.27 8.77 10.88 3.67 
+7.12 0.85 3.62 3.05 12.96 0 0 -13.37 -5.04 -1 -4.54 -0.91 -5.81 -8.05 -8.3 -4.79 
+-0.93 -0.24 -7.89 -6.16 -4.66 -9.16 -5.54 -8.53 -6.05 -8.18 -7.59 -6.71 -11.42 -2.56 -3.75 -0.3 
+-10.92 1.47 -8.57 -5.38 -0.84 -14.82 0.29 -1.09 7.9 -17.36 8.03 -2.84 13.37 -3.37 2.67 -0.13 
+12.78 1.21 10.86 -2.28 5.92 -1.93 11.7 2.93 9.84 0.61 4.55 -1.39 8.88 6.86 5.34 11.33 
+3.76 12.82 0.95 3.71 0.8 10.81 -1.97 17.73 3.47 11.24 -0.61 14.76 -0.35 0.87 -2.3 1.58 
+-14 9.25 0 13.37 2.21 0 7.44 -5.54 8.93 -6.37 1 -2.15 9 -22.48 -2.3 -12.52 
+-3.62 -11.55 0.39 -2.58 1.37 -15.77 -4.38 -11.87 -5.19 -11.35 -6.25 -10.39 -8.25 -7.93 -12.2 3.82 
+-4.12 -0.22 -10.22 -5.1 -13.04 4.35 -4.41 0.95 -11.07 -3.75 -13.89 0.41 -1.76 0.04 -14.45 3.95 
+-5.62 3.71 -1.54 6.42 -4.8 11.78 -4.55 16.91 0.24 3.71 -5.36 16.41 -0.41 4.08 -5.51 1.95 
+-9.68 -3.28 -8.37 -4.53 -7.62 -5.41 -8.9 -3.93 -4.77 0.3 -6.95 -0.7 -10.87 -1.13 -10.2 -1.76 
+-9.64 -2.32 -8.86 -3.38 -7.03 -6.36 -7.4 -6.23 -8.72 -4.25 -9.55 -2.8 -6.54 -2.17 -2.91 -0.95 
+-9.29 -3.64 -9.36 -3.78 -10.18 -1.78 -10.18 6.58 -4.66 7.36 -4.51 6.64 -8.27 3.21 -10.16 2.26 
+-10.02 3.02 -9.27 1.37 -0.18 0 -0.8 0.25 -8.71 2.84 -9.52 7.1 -0.29 3.34 f*
+255 35 0 rG
+939.63 3239.67 -0.85 2.78 3.22 0.54 3.19 0.63 3.14 0.73 5.19 -10.5 -5.58 3.41 -4.21 1.02 
+-4.1 1.39 f*
+255 135 0 rG
+942.47 3230.12 -2.84 9.55 4.1 -1.39 4.21 -1.02 5.58 -3.41 1.23 -2.61 -3.91 -0.91 -3.99 -0.79 
+-3.06 -0.5 -1.32 1.07 f*
+255 203 0 rG
+942.82 3228.91 -0.34 1.21 1.32 -1.07 -0.98 -0.15 f*
+7 193 59 rG
+945.81 3155.45 -0.96 1.17 0.79 0.04 7.74 0.72 -2.71 14.54 7.01 0.85 -0.67 2.78 1.34 -2.69 
+9.07 -8.87 8.77 -3.04 7.2 2.21 4.89 7.51 6.57 2.67 7.18 1.33 6.66 2.34 6.34 2.8 
+5.14 4.41 4.38 5.08 7.38 1.09 11.78 -6.51 1.96 0.39 8.42 0.8 7.14 2.38 6.54 3.15 
+4.43 5.13 6.58 3.08 4.47 4.93 5.45 4.1 5.03 4.38 7.47 2.78 5.12 4.5 4.62 4.84 
+4.77 4.82 0.84 0.24 7.34 2.73 6.99 3.91 2.38 6.41 3.28 5.92 0.2 7.29 2.5 6.27 
+3.02 6.12 3.34 1.54 4.58 3.01 6.14 5.43 -1.71 8.14 1.26 7.21 -1.17 7.92 -5.73 8.8 
+-4.34 8.32 -5.25 8.27 -4.47 8.07 -2.91 7.95 -6.88 8.09 -14.61 7.5 -13.28 6.45 -0.37 0.24 
+-0.11 0.2 -2.06 7.79 10.48 1.59 -9.48 7.49 16.1 2.6 7.25 0.92 13.97 -3.04 8.99 -5.21 
+1.69 -4.38 2.08 -5.04 7.66 -4.84 6.42 -5.02 7.49 -9.78 -0.43 -1.24 -4.04 -6.99 -3.19 -6.95 
+0 -1.08 0.98 -8.38 4.05 -8.88 5.55 -9.39 1.52 -2.73 0 -63.5 -11.42 -2.52 -0.04 0 
+0.02 -0.04 14.61 -17.14 8.07 4.3 0.72 8.91 -3.52 5.67 -8.44 0.82 0 63.5 3.79 -6.9 
+2.76 -5.08 2.67 -4.93 -0.24 -6.75 -0.15 -1.48 -1.74 -7.68 3.41 -9.57 0.16 -0.39 10.78 -14 
+6.06 -7.25 3.58 -7.46 1.08 -10.61 -2.49 -8.57 -4.67 -7.23 -6.45 -5.95 -4.11 -1.15 -13.87 3.82 
+-4.77 1.87 -16.56 3.47 -3.56 -0.17 -9.2 -0.2 -6.97 -4.21 -5.14 -5.52 -8.53 -2.76 -4.02 -0.75 
+-4.82 -1.57 -5.01 -5.47 -1.96 -4.12 -0.74 -3.75 -0.29 -10.98 -10.69 -0.13 -6.91 -4.23 -8.66 -2.11 
+-7.71 -3.17 -7.4 -3.64 -6.42 -2.11 -1.71 -0.5 -8.81 -1.46 -7.01 -4.49 -9.36 -0.26 -12.91 7.49 
+-2.06 0.78 -7.57 1.02 -9.01 1.04 -7.27 -3.19 -8.12 -0.91 -8.14 -0.74 -7.59 -3.1 -8.62 1.63 
+-9.05 6.27 f*
+110 210 9 rG
+957.01 3175.54 -2.84 11.52 6.27 0.98 6.21 1.13 -5.08 13.93 5.41 1.17 5.34 1.34 5.25 1.5 
+5.14 1.63 7.9 -13.35 5.71 1.97 5.6 2.15 5.47 2.32 5.29 2.47 5.14 2.63 4.97 2.8 
+4.77 2.95 -12.39 11.66 2.5 1.71 4.66 -1.63 1.39 5.06 0.2 1.3 2.02 2.82 3.86 2.82 
+0.24 -0.15 14.65 -10.31 3.71 3.69 3.45 3.82 -11.74 7.2 2.3 3.93 2.86 3.58 1.96 4.01 
+5.79 2.3 5.88 2.5 7.44 0.45 4.25 -0.04 15.32 -2.08 4.21 -0.22 4.03 4.34 4.38 4.36 
+-0.86 6.23 -3.36 6.77 -4.84 6.39 -0.58 0.56 -7.49 6.88 -8.09 6.36 -5.45 4.02 -14.62 2.49 
+-5.08 0.8 -11.52 3.71 -1.71 3.93 -2.28 3.9 -5.51 3.43 -6.32 3.02 1.71 4.49 3.73 5.34 
+3.58 0.85 -3.95 3.86 -4.25 3.73 -4.56 3.6 -5.77 -2.3 -12 -1.93 -3.49 -0.2 -9.27 -0.34 
+-3.38 2.82 -4.23 2.28 5.27 4.01 -2.13 0.98 1.18 4.62 6.9 5.56 -6.12 2.49 -4.69 1.72 
+10.41 8.94 8.04 1.13 6.01 -4.12 5.46 -4.29 0.59 -1.48 2.15 -4.12 5.79 -3.69 4.64 -4.19 
+2.91 -4.77 4 -4.23 9.46 -2.8 5.58 -1.08 3.34 3.12 9.96 3.87 9.66 6.47 2.02 1.56 
+-0.89 5.68 -2.88 6.77 -5.97 6.18 -8.11 5.52 -9.01 5.08 -9.44 4.73 -9.59 4.54 -1.46 4.58 
+-3.19 3.63 -7.95 0.57 -8.87 -1.79 -12.43 1.29 -10.52 3.02 -11.05 2.25 -11.09 2.15 -1.65 5.86 
+3.89 -0.5 12.04 -1.89 11.82 -2.41 11.55 -2.9 8.22 8.59 8.57 8.14 13.74 -4.41 1.73 1.26 
+13.82 -4.84 18.21 1.11 4.73 -2.23 -12.54 -5.75 -12.11 -6.38 -11.72 -6.95 10.09 -4.64 9.61 -5.01 
+9.14 -5.36 8.62 -5.66 8.09 -5.93 16.01 3.43 5.91 1.04 2.06 -7.79 0.11 -0.2 0.37 -0.24 
+13.28 -6.45 14.61 -7.5 6.88 -8.09 2.91 -7.95 4.47 -8.07 5.25 -8.27 4.34 -8.32 5.73 -8.8 
+1.17 -7.92 -1.26 -7.21 1.71 -8.14 -6.14 -5.43 -4.58 -3.01 -3.34 -1.54 -3.02 -6.12 -2.5 -6.27 
+-0.2 -7.29 -3.28 -5.92 -2.38 -6.41 -6.99 -3.91 -7.34 -2.73 -0.84 -0.24 -4.77 -4.82 -4.62 -4.84 
+-5.12 -4.5 -7.47 -2.78 -5.03 -4.38 -5.45 -4.1 -4.47 -4.93 -6.58 -3.08 -4.43 -5.12 -6.54 -3.15 
+-7.14 -2.38 -8.42 -0.8 -1.96 -0.39 -11.78 6.51 -7.38 -1.09 -4.38 -5.08 -5.14 -4.41 -6.34 -2.8 
+-6.66 -2.34 -7.18 -1.33 -6.57 -2.67 -4.89 -7.51 -7.2 -2.21 -8.77 3.04 -9.07 8.88 -1.34 2.69 f*
+0 255 r6
+976.65 3337.67 -3.95 1.91 6.23 4.93 4.23 -2.28 3.38 -2.82 9.27 0.34 3.49 0.2 12 1.93 
+-9.2 -3.91 -14.67 -6.82 -3.41 2.3 -3.62 2.17 -3.76 2.04 f*
+255 G
+985.7 3021.98 -12.61 -1.17 1.67 -15.64 1.56 -15.7 13.41 1.17 13.37 1.43 13.28 1.71 13.17 1.97 
+13.09 2.24 12.96 2.5 -3.93 15.69 -4.21 15.59 -12.13 -2.48 -12.26 -2.23 -12.37 -1.95 -12.45 -1.69 
+-12.55 -1.43 f*
+255 135 0 rG
+975.07 3293.32 -0.04 0.29 19.2 -0.61 -0.37 2.28 1.86 -2.36 0.11 -2.43 -1.12 -2.28 -0.26 -0.8 
+-0.46 -1.5 -11.02 1.54 1.26 1.89 2.08 1.91 -11.24 2.08 f*
+255 35 0 rG
+975.2 3292.1 -0.13 1.21 11.24 -2.08 -2.08 -1.91 -1.26 -1.89 -7.73 0.91 0.05 1.74 0 0.72 
+1.86 0.95 -1.95 0.35 f*
+189 0 54 rG
+975.21 3291.84 -0.02 0.26 1.95 -0.35 -1.86 -0.95 -0.07 1.04 f*
+0 255 r6
+982.07 3349.5 -2.84 1.24 4.01 3.38 -1.18 -4.62 f*
+255 35 0 rG
+985.09 3257.07 -4.92 3.15 1.97 1.84 1.84 1.91 0.78 0.87 15.28 -9.16 -0.37 -0.39 0.67 -0.39 
+-1.84 -2.71 -2.47 -0.44 -10.94 5.32 f*
+255 135 0 rG
+994.79 3250.67 -9.7 6.4 10.94 -5.32 2.47 0.44 1.84 2.71 9.36 -5.55 -1.93 -3.15 -5.64 -0.61 
+-7.34 5.08 f*
+984.77 3264.84 0.93 1.09 16.17 -8.2 -1.82 -2.04 -15.28 9.16 f*
+255 0 r6
+1003.43 2283.05 -13.52 1.04 16.45 2.28 16.47 2.3 31.91 6.18 25.3 3.25 -18.75 -4.32 -18.73 -4.32 
+-19.57 -3.21 -19.55 -3.21 f*
+255 203 0 rG
+992.95 3298.94 -0.41 1.21 11.46 0.43 2.99 -2.79 0.2 -2.84 2.08 -2.97 -1.06 -2.74 0.82 -2.97 
+-1.15 -2.67 -13.56 2.26 -0.33 0.04 0.46 1.5 0.26 0.8 1.13 2.28 -0.11 2.43 -1.86 2.36 
+-0.02 0.11 0 0.07 1.88 2.36 -2.78 1.13 f*
+255 135 0 rG
+993.27 3297.77 -0.33 1.17 2.78 -1.13 -1.88 -2.36 -0.57 2.32 f*
+255 203 0 rG
+1009.07 3240.61 -6.94 4.99 5.64 0.61 1.93 3.15 5.34 -3.3 4.45 -2.82 -2.56 -3.21 -5.86 -0.87 
+-4.69 -1.54 -0.56 0.43 3.25 2.56 f*
+255 135 0 rG
+1010.27 3257.09 -6.36 3.15 1.63 2.23 4.73 -5.38 f*
+255 203 0 rG
+1005.54 3262.48 0.21 0.35 11.61 -5.36 3.5 -4.78 1.65 -2.02 -2.28 1.24 -9.96 5.18 -4.73 5.38 f*
+0 255 r6
+1019.18 3227.15 -12.8 10.46 4.69 1.54 5.86 0.87 2.56 3.21 10.3 -6.79 -3.86 -2.82 -2.02 -2.82 
+-0.2 -1.3 -1.39 -5.06 -4.66 1.63 1.52 1.09 f*
+1004 3300.58 2.99 -2.79 0.2 -2.84 2.08 -2.97 -1.06 -2.74 0.82 -2.97 -1.15 -2.67 5.44 -1.02 
+-0.45 -2.95 18.67 -4.62 -0.91 -3.52 -1.15 -3.43 -1.39 -3.38 -1.62 -3.32 -1.87 -3.23 -2.06 -3.14 
+-5.17 2.49 3.5 -4.78 1.65 -2.02 13.72 -7.71 3.88 -2.28 2.3 3.93 2.86 3.58 1.96 4.01 
+5.79 2.3 5.88 2.5 7.44 0.45 4.25 -0.04 15.32 -2.08 4.21 -0.22 4.03 4.34 4.38 4.36 
+-0.86 6.23 -3.36 6.77 -4.84 6.39 -0.58 0.56 -7.49 6.88 -8.09 6.36 -5.45 4.02 -14.62 2.49 
+-5.08 0.8 -11.52 3.71 -1.71 3.93 -2.28 3.9 -5.51 3.43 -6.32 3.02 1.71 4.49 3.73 5.34 
+-13.2 -3.45 3.14 -3.32 2.87 -3.38 2.6 -3.47 2.35 -3.52 2.06 -3.58 -18.23 -1.72 -0.24 -0.11 
+1.5 -2.89 1.32 -3 1.09 -3.02 -7.53 -0.11 f*
+255 203 0 rG
+1007.62 3309.59 -0.02 0.06 0.26 0.04 -0.24 -0.11 f*
+255 0 r6
+1054.73 2294.86 -19.95 -0.89 51.95 12.38 27.73 5.03 -29.88 -8.25 -29.86 -8.27 f*
+7 193 59 rG
+1026.82 3420.12 8.48 5.84 14.46 -5.6 9.09 -3.97 -18.21 -1.11 -13.82 4.84 f*
+255 0 r6
+1086.74 2306.34 -22.85 -2.3 21.05 6.12 21.05 6.1 28.21 5.88 -23.71 -7.9 -23.75 -7.89 f*
+1166.88 2692.19 -14.56 -1.76 2.47 16.11 14.72 1.97 2.13 16.39 1.61 16.49 14.8 2.5 1.15 16.75 
+14.69 2.87 -1.23 -16.97 -1.78 -16.93 -14.54 -2.41 -2.23 -16.63 -2.78 -16.51 -14.43 -1.87 f*
+110 210 9 rG
+1160.35 3236.52 -0.02 0.04 0.04 0 11.42 2.52 8.44 -0.82 3.52 -5.67 -0.72 -8.91 -8.07 -4.3 
+-14.61 17.14 f*
+0 155 255 rG
+1146.88 3387.29 14.52 -0.13 2.8 -1.48 10.2 -9.6 -8.29 0.63 -19.22 10.57 f*
+255 0 r6
+1161.39 3387.16 1.17 -0.05 1.63 -1.43 -2.8 1.48 f*
+2 239 204 rG
+1193.34 3116.84 -0.29 1.09 0.84 14.82 8.57 5.38 10.92 -1.47 3.75 0.3 11.42 2.56 7.59 6.71 
+6.05 8.18 5.54 8.53 4.66 9.16 7.89 6.16 0.93 0.24 8.3 4.79 5.81 8.05 4.54 0.91 
+0 -17.42 -0.33 -0.5 -6.4 -3.64 -2.76 -1.58 -9.46 -4.91 -6.79 -7.45 -6.36 -7.95 -6.34 -8.14 
+-2.87 -3.06 -4.38 -4.25 -10.3 -3.95 -11.98 -1.91 -7.68 -6.9 3.86 -15.38 9.98 -2.2 10.3 -4.62 
+6.49 0.39 15.7 -2.64 1.63 -0.81 11.95 1.11 12.76 1.48 6.73 4.58 2.43 1.71 1.46 3.47 
+2.64 9.18 1.67 14.87 -2.09 17.14 -1.12 2.13 -8.59 22.89 -0.15 0.93 0 17.42 5.04 1 
+14 -9.25 2.3 -1.58 0.35 -0.87 0.61 -14.76 -3.47 -11.24 1.97 -17.73 -0.8 -10.81 -0.95 -3.71 
+-3.76 -12.82 -5.34 -11.33 -8.87 -6.86 -4.55 1.39 -9.84 -0.61 -11.7 -2.93 -5.92 1.93 -10.86 2.28 
+-12.78 -1.21 -2.67 0.13 -13.37 3.37 -8.03 2.84 -7.9 17.36 f*
+7 193 59 rG
+1208.09 3105.21 -3.86 15.38 7.68 6.9 11.98 1.91 10.3 3.95 4.38 4.25 2.87 3.06 6.34 8.14 
+6.36 7.95 6.79 7.45 9.46 4.91 2.76 1.58 0 -12.59 -4.32 -1.58 -2.17 -1.34 -6.75 -4.21 
+-7.18 -7.32 -6.47 -8.22 -6.46 -8.42 -7.14 -7.88 1.87 -14.88 9.61 0.48 11.7 -5.55 5.86 0.58 
+11.63 2.97 8.09 7.55 3.04 13.59 0.13 14.8 -2.28 3.8 -9.16 15.64 0 12.59 6.4 3.64 
+0.33 0.5 0.15 -0.93 8.59 -22.89 1.13 -2.13 2.09 -17.14 -1.67 -14.87 -2.64 -9.18 -1.46 -3.47 
+-2.43 -1.71 -6.73 -4.58 -12.76 -1.48 -11.95 -1.11 -1.63 0.81 -15.7 2.64 -6.49 -0.39 -10.3 4.62 
+-9.98 2.2 f*
+255 0 r6
+1222.59 3357.42 -11.35 13.17 18.99 -4.6 11.53 -14.15 -19.16 5.58 f*
+110 210 9 rG
+1234.53 3104.23 -1.87 14.88 7.14 7.88 6.46 8.42 6.47 8.22 7.18 7.32 6.75 4.21 0 -9.6 
+-1.06 -0.5 -7.99 -6.66 -6.57 -8.33 -5.75 -9.55 -1.5 -6.53 14.69 -9.98 1.04 -0.8 10.16 4.28 
+6.86 8.94 1.87 11.74 -7.21 10.87 -4.53 6.53 0 9.6 2.17 1.34 4.32 1.58 9.16 -15.64 
+2.28 -3.8 -0.13 -14.8 -3.04 -13.59 -8.09 -7.55 -11.63 -2.97 -5.86 -0.58 -11.7 5.55 -9.61 -0.48 f*
+0 255 r6
+1258.48 3104.02 -14.69 9.98 1.5 6.53 5.75 9.55 6.57 8.33 7.99 6.66 1.06 0.5 4.53 -6.53 
+7.21 -10.87 -1.87 -11.74 -6.86 -8.94 -10.16 -4.28 -1.04 0.8 f*
+255 0 r6
+1267.99 3309.59 -7.42 13.97 19.32 -8.72 7.23 -14.75 -19.12 9.5 f*
+1401.87 3161.89 -0.02 15.84 15.32 -20.7 -0.43 16.62 15.32 -22.34 14.36 -24.02 -1.32 -16.23 -2.38 -15.34 
+-3.32 -14.52 -11.87 23.11 -12.89 21.86 1.8 15.06 -14.56 20.66 f*
+1537.63 3106.29 -16.19 51.15 12.5 -33.79 15.85 -54.88 11.35 -59.25 1.71 -27.34 -9.85 64.39 -15.37 59.72 f*
+Q q
+0 72 3400 0 0 4128 ^ Y
+255 G
+274.39 2931.45 0 -24.84 0.26 -10.22 0.49 -11.31 0.7 -11.3 0.89 -11.29 1.09 -11.28 1.28 -11.25 
+1.48 -11.24 1.67 -11.2 1.87 -11.17 2.06 -11.13 2.25 -11.09 2.43 -11.05 2.65 -11.02 2.82 -10.96 
+3.04 -10.91 3.21 -10.85 3.38 -10.8 3.61 -10.75 3.77 -10.67 3.95 -10.62 4.14 -10.52 4.35 -10.46 
+4.51 -10.39 4.69 -10.31 4.86 -10.22 5.05 -10.14 5.21 -10.04 5.4 -9.94 5.55 -9.86 5.75 -9.76 
+5.91 -9.66 6.08 -9.55 6.25 -9.44 6.4 -9.33 6.58 -9.23 6.72 -9.09 6.88 -9 7.03 -8.86 
+3.61 -4.36 3.6 -4.38 7.34 -8.59 3.75 -4.26 3.75 -4.23 3.82 -4.18 3.82 -4.17 3.88 -4.11 
+3.89 -4.12 7.94 -8.07 4.04 -3.97 4.01 -3.95 8.21 -7.81 4.19 -3.82 4.17 -3.82 8.46 -7.51 
+4.3 -3.67 4.29 -3.69 8.73 -7.21 4.42 -3.52 4.43 -3.53 4.5 -3.45 4.49 -3.43 4.54 -3.39 
+4.55 -3.36 4.6 -3.28 4.6 -3.3 4.67 -3.21 4.64 -3.19 4.73 -3.15 4.7 -3.12 4.78 -3.04 
+4.75 -3.04 4.84 -2.95 4.82 -2.96 4.86 -2.88 4.88 -2.87 4.92 -2.8 4.91 -2.78 4.97 -2.71 
+4.97 -2.69 5.01 -2.63 5.04 -2.61 5.06 -2.54 5.05 -2.52 5.1 -2.45 5.1 -2.43 5.17 -2.34 
+5.14 -2.34 10.38 -4.52 5.21 -2.17 5.23 -2.17 5.25 -2.09 5.27 -2.06 5.29 -2 5.3 -1.97 
+5.34 -1.89 5.32 -1.89 10.72 -3.6 5.41 -1.7 5.38 -1.71 10.85 -3.21 5.45 -1.52 5.45 -1.5 
+5.49 -1.43 5.47 -1.41 10.98 -2.65 5.54 -1.22 5.51 -1.23 5.55 -1.12 5.53 -1.13 5.56 -1.02 
+5.55 -1.04 11.16 -1.87 5.6 -0.84 5.59 -0.82 11.2 -1.48 5.62 -0.65 5.62 -0.63 5.64 -0.57 
+5.62 -0.52 5.64 -0.45 5.64 -0.43 11.28 -0.7 5.64 -0.26 5.64 -0.24 5.66 -0.15 4.39 -0.11 
+25.15 0 4.38 0.11 5.66 0.15 5.64 0.24 5.64 0.26 11.29 0.7 5.64 0.43 5.64 0.45 
+5.62 0.55 5.64 0.54 5.62 0.63 5.6 0.65 5.62 0.74 5.6 0.74 5.6 0.82 5.57 0.84 
+11.16 1.87 5.58 1.04 5.55 1.02 5.54 1.13 5.55 1.13 5.51 1.23 5.51 1.22 5.51 1.32 
+5.49 1.33 5.49 1.41 5.47 1.43 5.45 1.5 5.45 1.52 10.85 3.21 5.39 1.71 5.38 1.7 
+5.38 1.8 5.36 1.8 5.32 1.89 5.34 1.89 5.3 1.97 5.29 2 5.27 2.06 5.25 2.09 
+5.23 2.17 5.21 2.17 10.37 4.52 5.17 2.34 5.14 2.34 5.1 2.45 5.1 2.43 5.05 2.52 
+5.06 2.54 5.01 2.61 5.04 2.63 4.97 2.69 4.97 2.71 4.9 2.78 4.93 2.8 4.88 2.87 
+4.86 2.88 4.84 2.96 4.82 2.95 4.75 3.04 4.77 3.04 4.71 3.14 4.73 3.13 4.67 3.19 
+4.64 3.21 4.6 3.3 4.6 3.28 4.56 3.36 4.53 3.39 4.5 3.43 4.49 3.45 4.43 3.53 
+4.43 3.52 8.72 7.21 4.3 3.69 4.29 3.67 8.47 7.51 4.19 3.82 4.17 3.82 8.2 7.81 
+4.04 3.95 4.01 3.97 7.95 8.07 3.88 4.12 3.89 4.11 3.82 4.17 3.82 4.18 3.75 4.23 
+3.75 4.26 7.34 8.59 3.61 4.38 3.6 4.36 7.04 8.86 6.88 9 6.73 9.09 6.58 9.23 
+6.4 9.33 6.25 9.44 6.08 9.55 5.9 9.66 5.73 9.76 5.58 9.86 5.4 9.94 5.21 10.04 
+5.06 10.14 4.86 10.22 4.69 10.31 4.51 10.39 4.34 10.46 4.14 10.52 3.95 10.62 3.78 10.67 
+3.61 10.75 P
+3.39 10.8 3.21 10.85 3.04 10.91 2.82 10.96 2.64 11.02 2.43 11.05 2.25 11.09 2.06 11.13 
+1.87 11.17 1.67 11.2 1.47 11.24 1.28 11.25 1.09 11.28 0.89 11.29 0.7 11.3 0.5 11.31 
+0.26 10.22 0 24.84 -0.26 10.22 -0.5 11.3 -0.7 11.3 -0.89 11.29 -1.09 11.29 -1.28 11.24 
+-1.47 11.24 -0.29 1.87 0 -133.57 -0.07 -2.09 -0.08 -2.12 -0.07 -2.15 -0.11 -2.16 -0.11 -2.2 
+-0.11 -2.23 -0.11 -2.28 -0.16 -2.32 -0.13 -2.34 -0.17 -2.37 -0.35 -4.02 -0.41 -4.03 -0.41 -4.06 
+-0.45 -4.1 -0.5 -4.14 -0.41 -3.3 -0.41 -3.32 -0.45 -3.36 -0.46 -3.38 -0.5 -3.41 -0.26 -1.99 
+-0.57 -4.08 -0.28 -2.09 -0.3 -2.12 -0.61 -3.61 -0.62 -3.62 -0.68 -3.66 -0.67 -3.69 -0.71 -3.71 
+-0.76 -3.75 -0.78 -3.8 -0.8 -3.82 -0.82 -3.84 -0.87 -3.86 0.22 1.43 0.21 1.39 0.09 0.7 
+0.85 3.91 0.8 3.88 0.76 3.82 0.74 3.77 0.7 3.73 0.49 2.84 0.5 2.8 0.48 2.78 
+0.43 2.75 0.45 2.71 0.42 2.63 0.39 2.61 0.39 2.58 0.39 2.56 0.34 2.54 0.35 2.55 
+0.32 2.54 0.61 4.99 0.28 2.45 0.48 3.99 0.43 3.93 0.42 3.88 0.39 3.87 0.34 3.82 
+0.61 6.49 0.5 6.45 0.46 6.36 0.36 6.3 0 133.57 -1.39 9.33 -1.87 11.18 -2.06 11.13 
+-2.25 11.09 -2.43 11.07 -2.64 11 -2.82 10.96 -3.04 10.91 -3.21 10.85 -2.61 8.27 0 -13 
+0.89 -2.65 0.89 -2.71 0.87 -2.78 0.89 -2.84 0.91 -2.93 0.54 -2.17 0.54 -2.14 0.52 -2.12 
+0.5 -2.11 0.48 -2.09 -1.34 5.05 -1.39 4.97 -1.41 4.91 -1.43 4.84 -1.46 4.78 0 13 
+-0.78 2.54 -3.61 10.74 -3.78 10.68 -3.95 10.61 -2.04 5.19 0 -12.48 1.22 -3.17 1.24 -3.21 
+1.21 -3.28 1.24 -3.29 1.21 -3.37 -0.93 2.73 -0.95 2.74 -0.96 2.71 -0.98 2.73 -1 2.73 
+1.39 -3.64 1.34 -3.69 1.37 -3.73 1.34 -3.8 1.32 -3.82 1.04 -3.28 1 -3.23 0.95 -3.19 
+0.93 -3.17 0.91 -3.15 -1.15 3.67 -1.15 3.65 -1.19 3.63 -1.2 3.58 -1.21 3.58 -1.37 3.93 
+-1.39 3.89 -1.41 3.86 -1.43 3.82 -1.41 3.78 0 12.48 -2.11 5.34 -4.34 10.46 -4.51 10.39 
+-4.69 10.3 -4.86 10.22 -5.06 10.13 -5.21 10.05 -0.76 1.37 0 -20.86 1.09 -1.82 1.09 -1.84 
+1.08 -1.89 0.93 -2.3 0.89 -2.28 0.87 -2.22 -1.07 1.7 -1.04 1.67 -1.02 1.63 -0.91 2.4 
+-0.93 2.46 -0.98 2.5 0 20.86 -0.7 1.3 0 -23.74 3.34 -7.08 1.61 -3.53 0.46 -1.29 
+0.43 -1.25 0.41 -1.24 1.48 -3.78 0.7 -1.85 -0.79 1.41 -0.8 1.39 -0.79 1.37 -1.06 2.24 
+-1.06 2.21 -1.09 2.23 -1.08 2.82 -1.13 2.89 -1.15 2.91 0.17 0.2 0.34 0.35 0 23.74 
+-3.95 7.27 -5.58 9.85 -3.82 6.53 0 -39.97 1.34 -1.82 1.37 -1.89 1.39 -1.93 0.66 -0.74 
+0.67 -0.75 0.67 -0.79 1.61 -3.52 1.56 -3.5 1.54 -3.49 -0.56 0.71 -0.57 0.7 -0.54 0.7 
+-1.09 1.65 -1.06 1.63 -1.09 1.58 -1.57 2.72 -1.58 2.69 -1.58 2.63 -0.39 1.15 -0.39 1.13 
+-0.39 1.15 0 39.97 -1.91 3.23 -3.23 5.29 0 -46.74 1.48 -2.21 1.48 -2.26 2.76 -5.29 
+2.73 -5.36 -2.41 3.88 -0.71 1.13 0 -1.84 1.84 -2.97 1.83 -3.02 2.04 -4.43 2.02 -4.43 
+2.54 -5.1 p
+2.54 -5.16 0.65 -2.17 0.65 -2.15 2.28 -5.54 2.21 -5.51 1.61 -4.56 1.56 -4.51 0.59 -2.41 
+0.56 -2.39 0.55 -2.36 0.54 -2.35 0.22 -1.65 0.19 -1.65 -0.83 1.19 -0.84 1.2 0.2 -1.62 
+0.18 -1.63 -0.76 1.63 -0.79 1.58 -0.26 1.99 -0.3 2.02 -0.61 2.71 -0.65 2.75 -0.93 3.37 
+-1 3.41 -0.52 2.02 -0.04 0.2 0 -27.11 0.67 -0.28 0.7 -0.3 1 -0.13 1.06 -1.69 
+1.08 -1.71 1.78 -4.32 1.76 -4.36 -0.07 1.45 -0.04 1.45 0.67 -0.17 0.67 -0.2 -0.67 3.19 
+-0.71 3.23 0.78 -0.89 0.78 -0.93 1.58 -4 1.59 -4.05 0.52 -2.39 0.5 -2.39 0.48 -2.41 
+0.45 -2.39 1.15 -2.69 1.15 -2.74 1.22 -2.08 1.21 -2.12 0.48 -0.07 0.5 -0.07 1.63 -4.66 
+1.63 -4.71 1.26 -3.06 1.26 -3.13 -0.48 3.43 -0.52 3.49 1.28 -4.51 1.24 -4.52 0.52 1.13 
+-0.34 3.47 1.06 -4.23 1.05 -4.23 0.3 0.22 0.28 0.2 0.02 1.52 0.02 1.56 1.24 -4.71 
+1.2 -4.73 0.41 -3.23 0.39 -3.17 -0.82 2.28 -0.31 0.87 0 -57.33 0.55 -0.87 0.54 -0.89 
+0.91 -4.69 0.89 -4.73 0.75 -3.82 0.72 -3.84 0.76 -3.64 0.74 -3.69 0.78 -4.43 0.78 -4.49 
+0.5 -4.45 0.48 -4.46 0.61 -4.8 0.59 -4.84 0.32 -0.78 0.35 -0.8 0.19 2.73 0.2 2.75 
+0.48 -2.34 0.48 -2.39 0.5 -2.17 0.5 -2.19 0.32 -4.78 0.29 -4.82 0.37 -4.46 0.33 -4.5 
+0.19 -5.66 0.15 -5.68 0.3 -3.52 0.3 -3.56 0.2 -2.84 0.2 -2.89 0.02 -4.88 0 -4.9 
+-0.19 -5.21 -0.24 -5.21 0.07 -3.11 0.04 -3.12 -0.22 -6.55 0.24 -2.72 0.24 -2.75 0.33 -0.39 
+0.34 -0.39 -0.08 -4.02 -0.09 -4.05 0.07 -3.21 0.05 -3.25 0.11 -2.32 0.09 -2.37 -0.5 -4.58 
+-0.52 -4.56 -0.06 -1.71 -0.07 -1.74 -0.09 -1.73 -0.26 -2.5 -0.26 -2.52 -0.28 -2.52 -0.48 -3.71 
+-0.48 -3.75 -0.54 -3.75 -0.5 -3.76 -0.54 -3.78 -0.57 -3.77 1.13 5.2 0.57 2.63 -0.26 -2.58 
+-0.29 -2.61 -0.29 -2.63 -0.39 -3.95 -0.22 -1.97 -0.76 -3.93 -0.8 -3.93 -0.83 -3.93 -0.63 -3.25 
+-0.65 -3.26 -0.67 -3.28 -0.52 -2.78 -0.52 -2.8 -0.54 -2.82 -0.18 -1.5 -0.34 -3.04 -0.96 -4.19 
+-0.98 -4.21 -1.02 -4.23 -1.04 -4.32 -1.08 -4.34 -1.13 -4.36 -1 -3.61 -1.02 -3.6 -1.06 -3.62 
+-1.5 -4.93 -1.54 -4.93 -1.61 -4.92 -1.2 -3.37 -1.2 -3.34 -1.21 -3.32 -1.74 -4.71 -1.75 -4.67 
+-1.81 -4.66 -1.58 -4.13 -1.63 -4.12 -1.65 -4.1 -2 -4.82 -2.04 -4.8 -2.08 -4.77 -1.8 -4.08 
+-1.82 -4.08 -1.87 -4.06 -1.13 -2.15 -1.11 -2.15 -1.13 -2.12 -1.8 -3.52 -1.8 -3.5 -1.82 -3.47 
+-1.84 -3.43 -1.85 -3.39 -1.86 -3.36 -2.09 -3.56 -2.08 -3.54 -2.08 -3.47 -1.65 -2.86 -3.34 -5.69 
+-3.78 -5.99 -1.88 -2.93 -1.57 -2.39 -1.56 -2.36 -1.56 -2.32 -1.45 -2.08 -1.46 -2.06 -1.45 -2.04 
+-1.52 -2.08 -1.49 -2.06 -1.5 -2.04 -1.26 -1.26 -0.63 -0.61 -1.43 -1.82 -1.41 -1.8 -1.41 -1.78 
+-1.52 -2.04 -3.04 -4 -1.82 -2.34 -1.82 -2.3 -1.82 -2.25 -3.28 -4.1 -3.3 -4.02 -1.64 -1.89 
+-1.67 -1.84 -2.58 -2.91 -2.59 -2.87 -2.99 -3.58 -3 -3.52 -2.87 -3.21 -2.84 -3.13 -2.65 -3.05 
+-2.66 -2.99 -2.46 -2.67 -2.45 -2.63 -0.65 -0.2 -0.65 -0.21 1.21 2 1.17 1.97 0.41 1.04 
+0.39 1.07 p
+-0.41 -0.13 -0.43 -0.12 -2.3 -1.35 -1.73 -1 -2.37 -2.15 -2.37 -2.1 2.11 2.69 4.12 5.38 
+2 2.69 2.54 2.95 2.54 2.97 -0.37 0.11 -0.36 0.13 3.54 4.3 3.51 4.36 -1.9 -1.82 
+-1.91 -1.8 -0.95 -0.65 -0.96 -0.63 -1.32 -0.98 -1.31 -0.93 2.61 3.95 1.74 2.54 1.73 2.52 
+0.85 1.49 0.82 1.5 0.82 1.58 0.8 1.59 -1.3 -0.83 1.95 2.71 1.93 2.69 0.74 1.52 
+0.71 1.52 1.91 2.97 1.89 2.95 1.87 2.84 1.82 2.87 1.71 2.49 1.67 2.5 1.15 1.34 
+1.15 1.37 2.12 3.28 2.09 3.28 2.04 3.39 2 3.38 1.67 3.17 1.65 3.15 -0.35 0.46 
+-0.32 0.43 1.08 1.3 1.11 1.32 1.87 2.63 1.87 2.67 1.46 2.54 1.45 2.56 1.83 3.45 
+1.75 3.45 -2.12 -3.28 -2.17 -3.26 -3.64 -5.29 -0.02 0.63 0 0.61 -0.37 0.07 -0.37 0.04 
+1.08 1.58 1.06 1.59 0.76 0.54 0.76 0.58 1.41 2.15 1.41 2.17 2.13 3.38 2.08 3.39 
+1.8 2.52 1.78 2.54 3.04 5.49 3 5.55 -1.43 -2.06 -1.43 -2.02 -2.06 -3.25 -2.08 -3.23 
+-1.11 -1.11 -1.13 -1.11 -1.41 -1.76 -1.43 -1.71 -1.43 -1.73 -1.43 -1.72 -1.78 -2.52 -1.75 -2.49 
+1.66 3.12 1.65 3.15 1.61 2.97 1.59 2.97 1.59 3.14 1.54 3.15 1.87 3.6 1.82 3.61 
+1.3 4.77 1.59 2.71 1.61 2.73 0.67 2.13 0.7 2.09 0.56 3.08 0.48 3.3 -0.36 0.43 
+-0.37 0.45 0.57 2 0.55 2 0.2 1.47 0.21 1.48 -0.37 0.33 -0.34 0.32 -0.37 0.31 
+-0.37 0.32 -0.52 0.39 -0.5 0.39 -0.74 -0.26 -0.74 -0.24 -0.89 -0.76 -0.89 -0.73 -1.24 -1.26 
+-1.22 -1.25 -0.7 -0.3 -0.67 -0.29 -0.74 -0.2 -0.71 -0.19 -0.7 1.65 -0.82 -0.79 -0.84 -0.78 
+-1.54 -1.78 -1.52 -1.76 -0.91 -0.71 -0.93 -0.72 -1.11 -0.69 -1.11 -0.67 -3.12 -5.77 -1.39 -1.7 
+-1.37 -1.7 -0.45 0.24 -0.35 0.22 0 -49.2 0.7 -0.7 -1.13 -2.69 -1.17 -2.71 -1.08 -0.89 
+-1.09 -0.87 0.09 2.3 1.11 2.02 1.09 2.02 0.76 0.76 0.74 0.76 0 49.2 -0.08 0.04 
+-0.46 0.24 -1.09 0.55 -0.62 0.3 -1.13 0.52 -1.13 0.48 -0.93 -0.24 -0.93 -0.21 -0.57 -0.33 
+-0.56 -0.3 -3.09 -4.3 -0.43 0.16 -0.41 0.17 -1.39 -1.61 -1.39 -1.58 -0.98 -1.24 -1 -1.22 
+-0.59 0.22 -0.61 0.24 -1.21 0.44 -0.52 0.17 -0.54 0.2 -0.15 1.09 -0.15 1.07 0.91 2.71 
+0.91 2.69 -0.13 0.96 -0.15 0.95 3.12 6.08 0.7 0.3 0.7 0.33 0.93 1.26 0.95 1.23 
+0.74 1.74 0.76 1.75 1.59 3.06 1.58 3.08 2.82 6.12 0.48 1.78 0.45 1.76 0.78 2.23 
+0.76 2.24 0.83 2.64 0.78 2.65 0.89 2.64 0.87 2.65 1.06 2.64 1.04 2.65 0.76 2.21 
+0.76 2.24 0.55 2.62 0.52 2.61 0.39 2.59 0.37 2.56 0.78 2.17 0.74 2.17 1.69 6.99 
+-0.08 3.23 1.15 5.17 0.11 -4.02 1.98 9.42 -0.57 -4.17 0.11 -3.34 1.93 6.29 0.55 4.19 
+0.54 4.25 1.15 5.99 1.13 5.23 2.37 4.91 1.06 4.47 0.5 4.19 1.47 4.67 1.69 4.82 
+-0.34 -5.04 1.67 4.73 2.06 3.39 0.83 1.21 0.8 1.21 1.87 5.07 1.74 3.39 0.91 1.25 
+0.89 1.29 0.74 0.37 1.48 0.78 0.71 0.39 1.07 2.3 1.04 2.32 0.71 0.41 0.74 0.42 
+0.91 2.23 p
+0.89 2.23 0.83 0.5 0.82 0.48 0.98 1.48 0.95 1.5 0.91 0.98 0.89 1 0.84 2.3 
+0.85 2.34 1.47 4.68 0.71 3.23 0.7 3.25 0.85 2.89 0.82 2.88 0.09 1.98 0.11 1.97 
+0.21 4.78 0.79 2.97 0.74 3.02 0.78 3.52 0.79 3.53 0.09 -3.23 0.09 -3.25 0.13 -2.28 
+0.13 -2.3 1.61 7.12 -0.32 1.65 -0.3 1.61 0.41 3.28 0.39 3.3 1.35 -1.65 0.47 2.93 
+0.44 2.93 0.26 3.21 0.22 3.23 0.71 3.3 0.71 3.32 0.26 5.34 1.7 1.95 0.2 2.37 
+0.21 2.38 0.61 1.26 0.61 1.28 0.28 2.48 0.28 2.49 0.72 0.41 0.7 0.43 0.52 -2.08 
+0.5 -2.08 0.41 -1.63 0.41 -1.65 -0.02 -3.27 -0.04 -3.3 0.63 2.91 0.61 2.95 0.48 0.61 
+0.48 0.63 0.68 -1.32 0.65 -1.32 0.22 3.08 0.2 3.09 -0.59 1.45 -0.58 1.43 0.43 3.48 
+0.43 3.51 0.13 3.04 0.11 3.04 0.52 1.45 0.52 1.47 -0.29 2.48 -0.3 2.45 0.13 3.28 
+0.11 3.28 0.43 3.91 0.39 3.93 0.68 1.28 1.35 2.61 0.65 1.32 -0.02 3.97 -0.09 3.95 
+-0.58 2.13 -0.61 2.11 1.47 0.61 1.39 -2.64 0.59 0.65 0.56 0.65 0.65 0.02 0.63 0.02 
+0.63 0.07 0.61 0.08 0.42 2.41 0.37 2.43 0.5 -2.49 0.5 -2.52 0 4.64 -0.05 4.67 
+0.67 -1.43 0.68 -1.46 0.04 -3.84 0 -3.82 0.24 -3.96 0.22 -3.97 -0.52 -1.2 -0.52 -1.17 
+0.48 -7.55 0.18 -3.17 0.13 -3.19 -0.13 -2.97 -0.16 -2.97 -0.07 -3.5 -0.08 -3.47 0.91 -3.61 
+0.43 -0.61 0.41 -0.61 0.2 -3.62 0.16 -3.64 0.74 1.21 0.71 1.22 0.42 -1.96 0.39 -1.98 
+0.3 -1.5 0.28 -1.52 0.54 -1.13 0.52 -1.15 0.45 -0.65 0.43 -0.65 0.15 -3.16 0.13 -3.17 
+0.43 -2.67 0.39 -2.69 0.5 1.37 0.5 1.39 1.09 5.81 0.11 4.41 0.08 4.39 0.26 4.08 
+0.24 4.1 0.2 4.82 0.18 4.82 -0.02 4.55 -0.07 4.51 -0.09 4.56 -0.11 4.53 -0.3 4.17 
+-0.32 4.14 -0.28 4.32 -0.33 4.29 -0.29 4.49 -0.32 4.47 -0.43 5.14 -0.48 5.12 -0.33 2.78 
+-0.34 2.78 -0.52 4.21 -0.57 4.19 -0.22 3.71 -0.24 3.71 -0.75 4.84 -0.8 4.79 -0.43 4.45 
+-0.48 4.43 0 57.33 -0.52 1.41 -0.06 -1.21 -0.09 -1.22 -0.17 -2.99 -0.26 -2.82 -0.13 -1.15 
+-0.13 -1.13 -0.76 2.37 -0.78 2.37 -0.78 1.43 -0.76 1.41 -0.93 1.69 -0.93 1.67 -0.99 2.63 
+-1 2.6 -1.22 3.23 -1.23 3.19 -0.11 -0.95 -0.13 -0.91 -0.5 -0.16 -0.54 -0.15 -0.37 0.13 
+-0.37 0.11 0.09 -1.84 0.07 -1.82 1.04 -4.52 0.98 -4.54 0.58 -2.84 0.55 -2.84 0.35 -2.7 
+0.3 -2.66 0.91 -2.78 0.91 -2.8 0.48 -2.54 0.5 -2.54 0.37 -3.93 0.35 -3.91 -0.45 -0.48 
+-0.46 -0.5 -0.13 -1.56 -0.16 -1.57 -0.3 -0.91 -0.3 -0.93 -0.71 1.26 -0.72 1.22 -0.71 1.56 
+-0.71 1.54 -0.7 1.7 -0.67 1.67 -0.05 -2.39 -0.04 -2.35 -0.22 -1.78 -0.21 -1.76 0.2 -3.53 
+0.18 -3.5 -0.26 -1.67 -0.28 -1.65 -0.79 5.08 -0.82 5.1 -0.63 3.71 -0.59 3.26 0 -89.47 
+0.33 -1.33 0.32 -1.34 -0.24 -3.84 -0.26 -3.8 -0.41 0.48 -0.43 0.5 -1.22 -2.3 -0.02 3.79 
+-0.04 3.8 0.52 -0.29 0.54 -0.3 0.46 2.3 0.45 2.32 0 89.47 -0.08 0.45 0.02 2.09 
+0.02 2.11 p
+-1 3.02 -1 2.97 -1.17 3.56 -1.21 3.51 -1.23 3.26 -1.28 3.21 -0.74 1.13 -0.76 1.13 
+-0.63 0.08 -0.61 0.04 -0.24 -0.32 0 -22.27 0.95 -2.71 0.96 -2.74 0.91 -4.25 0.87 -4.25 
+0.46 -3.91 0.41 -3.91 -0.93 3.86 -0.93 3.82 -0.73 3.71 -0.19 1.02 0 -27.54 0.65 -3.14 
+0.65 -3.19 0.11 -3.17 0.09 -3.16 -0.54 3.38 -0.56 3.37 -0.2 2.95 -0.19 2.97 0 27.54 
+-0.57 2.67 -0.59 3.34 -0.61 3.35 0 22.27 -0.24 -0.39 -0.5 -0.7 -1.3 -0.39 -0.48 -0.8 
+-0.35 -0.57 0 -94.68 -0.04 -2.76 -0.29 -2.54 -0.33 -2.54 -0.39 -2 -0.41 -1.97 -0.39 -2.02 
+-0.43 -2 -0.3 -2.95 -0.33 -2.93 -0.15 -3.76 -0.2 -3.73 -0.48 -1.95 -0.5 -1.91 -0.55 -1.39 
+-0.54 -1.36 -0.15 4.14 -0.19 4.14 0.09 2.45 0.06 2.45 0.37 1.71 0.35 1.74 0.86 3.95 
+0.05 4.86 0.5 2.21 0.48 2.2 0.54 1.69 0.52 1.67 0.44 1.61 0.41 1.58 0.5 1.07 
+0.5 1.08 0 91.93 -0.15 -0.24 -0.34 -1.22 -0.35 -1.2 -0.63 0.31 -0.63 0.28 -0.63 0.05 
+0 -82.54 0.18 -3.04 0.15 -3.02 -0.59 -1.26 -0.61 -1.26 -0.12 2.35 -0.16 2.37 0.59 1.93 
+0.56 1.93 0 82.54 -0.04 0 -0.65 0.04 -1.58 1.59 0.83 -4.3 0.78 -4.27 -0.34 -2.43 
+-0.63 1.76 0 -90.11 -0.76 -2.71 -0.76 -2.7 -0.09 2.32 -0.11 2.3 0.87 0.39 0.84 0.39 
+0 90.11 -0.2 0.56 -0.82 2.28 -0.67 1.76 -0.65 1.71 -0.8 0.74 -0.8 0.72 -0.3 -0.43 
+-0.33 -0.43 -0.2 1.67 -0.21 1.64 0.34 1.02 0.33 1 -0.35 2.69 -0.39 2.71 0.18 1.79 
+0.17 1.8 -0.63 2.13 0 -26.95 0.93 -1.5 0.92 -1.52 0.71 -2.41 0.71 -2.39 -0.7 0.08 
+-0.37 0.05 0 -85.83 -0.62 -2.3 -0.63 -2.28 -0.54 -2.08 -0.57 -2.06 -0.78 -3.39 -1.3 -0.99 
+-0.54 -1.37 -0.56 -1.37 -0.65 -0.48 -0.67 -0.48 -0.59 -0.87 0 -7.29 1.52 -1 0.73 -1.58 
+0.74 -1.63 -1.04 -4.51 -0.7 1.11 -0.67 1.11 -0.5 0.37 -0.52 0.37 -0.65 -0.84 -0.65 -0.87 
+-0.37 1.52 -0.37 1.49 0.58 1.34 0.61 1.37 0.65 0.88 0.63 0.89 0 7.29 -0.04 -0.04 
+-0.61 -0.91 -1.48 0.04 -0.56 -1.39 -0.59 -1.37 -0.61 -1.32 -0.59 -1.3 -1.02 -2.32 -0.91 -3.23 
+-1.26 -2.54 -1.97 -0.59 -1.37 -1.67 -0.29 5.45 0.96 3.19 1.54 -0.05 1.54 2.02 1.2 0.63 
+-1.15 3.55 1.93 0.59 1.48 2.11 0.84 -0.87 0.82 -0.89 0.48 2.26 0.45 2.28 0.52 1.8 
+0.5 1.8 0.71 0.07 0.72 0.04 0.71 0.02 0.72 0 1.08 2.78 0.67 -0.59 0.65 -0.61 
+0.24 3.77 0.2 3.8 0.98 0.59 0.95 0.56 0 85.83 -0.35 0.04 -1.52 -2.64 -0.46 -0.83 
+-0.48 -0.82 -0.11 -1.61 -0.12 -1.63 -0.79 -0.11 -0.8 -0.11 -0.33 2.78 -0.37 2.75 0.43 1.78 
+0.39 1.8 0.21 2.02 0.18 2.04 0.7 -0.29 0.65 -0.26 0.29 1.37 0.25 1.39 0 26.95 
+-0.39 1.32 -1.04 3.43 0.24 -2.8 0.21 -2.75 0.02 -2 0.02 -1.98 -0.35 -2.99 -0.65 0.21 
+-0.65 0.2 -0.85 2.39 -0.26 0.74 0 -42.86 1.52 -3.69 0.13 -2.26 0.11 -2.25 -0.62 -0.35 
+-0.61 -0.34 -1.78 3 0.13 2.16 0.11 2.2 0.52 0.78 0.5 0.76 0 42.86 -0.61 1.65 
+-0.31 -0.76 p
+-0.28 -0.76 -1.13 -1.56 -0.87 4.02 -0.91 4.03 -0.15 2.63 -0.2 2.65 -0.66 2.91 -0.34 1.5 
+0 -35.98 0.95 -0.26 0.96 -0.24 -0.5 -2.28 -0.5 -2.25 -0.91 5.04 0 35.98 -0.35 1.43 
+0.16 2.04 0.11 2.06 0.83 -0.59 0.84 -0.58 0.09 2.11 0.08 2.14 1.55 -2.97 1.54 -3.02 
+1.11 -3.43 1.09 -3.45 1.13 -2.41 1.13 -2.43 0.45 0.26 0.43 0.28 1.13 -2.48 1.11 -2.49 
+0.79 -0.72 0.8 -0.7 0.18 2.56 -0.85 3.32 -0.87 3.34 -1.47 5.77 -0.93 3.89 -0.96 3.89 
+-0.21 2.21 -0.22 2.24 -1.02 3.34 -1.04 3.32 -0.71 3.84 -0.76 3.84 0.56 0.23 0.54 0.24 
+1.48 0.09 0.32 0.71 0.33 0.74 0.3 0.82 0.28 0.8 -0.12 1.54 -0.15 1.56 0.5 0.57 
+0.48 0.54 0.29 0.78 0.26 0.8 0.26 0.78 0.29 0.81 0.26 0.54 0.25 0.56 0.87 1.17 
+0 1.37 -0.02 1.37 1.82 1.13 0 27.11 -0.5 1.84 -0.54 2.02 -0.56 2.02 -2.87 6.77 
+-2.95 6.73 -0.67 2.14 -0.7 2.18 -2.82 5.01 -0.5 0.87 0 -78.73 1.02 -1.29 1 -1.28 
+0.24 -1.93 0.24 -1.95 -1.21 1.26 -1.21 1.24 -0.02 1.97 -0.04 1.98 0 78.73 -2.32 4.06 
+-0.61 1.71 0 -109.55 0.22 -2.43 0.21 -2.41 -0.65 0.11 -0.67 0.13 -0.22 2.14 -0.24 2.17 
+0.67 0.15 0.67 0.13 0 109.55 -0.78 2.21 -1.43 3.97 0 1.84 -1.69 2.67 -2.24 3.28 
+-2.25 3.21 0.35 -1.17 0.32 -1.17 -0.63 0.02 -0.65 0 -0.63 -0.06 -0.61 -0.07 0.39 1.56 
+0.66 1.04 0.39 -0.07 0.41 -0.09 0.87 0.96 0 46.74 -2.67 4.36 -2.25 3.54 0 -176.2 
+0.84 -2.6 0.82 -2.61 1 -1.43 0.98 -1.41 -0.31 2.97 -0.34 3 1.08 -2.56 1.06 -2.58 
+0.37 -2.52 0.35 -2.49 0.78 -1 0.79 -1.02 -0.2 -1.43 -0.21 -1.41 1.91 -5.68 0.87 -2 
+0.85 -1.99 2.34 -3.04 -0.91 0.46 -0.89 0.43 -0.97 1.24 -0.96 1.21 -0.76 2.45 -0.78 2.45 
+-0.87 1.93 -0.89 1.93 -0.93 1.41 -0.95 1.41 -0.79 2.62 -0.8 2.63 -0.84 2.34 -0.87 2.37 
+-0.37 2.45 -0.39 2.47 0 176.2 -0.93 1.45 0 -198.65 1.25 -1.13 0.67 -2.76 0.65 -2.78 
+1.35 -7.25 -0.09 -2.32 -0.11 -2.3 -0.39 -3.47 -0.65 -0.41 -0.65 -0.43 -0.37 -1.26 -0.39 -1.25 
+-0.37 -1.24 -0.39 -1.26 -0.93 -2.84 -0.41 -2.82 -0.82 -0.83 -0.33 -2.41 1.11 -6.04 1.79 -5.79 
+1.67 -0.13 1.35 -3.67 0.93 2.32 -0.5 6.05 0.87 2.39 0.15 2.09 0.16 2.06 0.39 4.64 
+0.8 -0.91 0.82 -0.91 -0.45 -1.43 -0.48 -1.43 0.31 -3.12 0.28 -3.11 0.15 -2.73 0.13 -2.73 
+-0.15 -2.65 -0.17 -2.63 1.11 -1.58 1.06 -1.59 1.39 -2.25 0.8 -1.63 0.78 -1.61 0.14 -2.52 
+0.09 -2.5 0.82 -0.8 0.82 -0.78 0.96 -1.91 0.93 -1.93 0.85 -1.5 0.82 -1.52 0.7 -3.14 
+0.65 -3.15 -0.13 -2.95 -0.15 -2.93 -1.43 2.21 -0.83 4.04 -0.87 4.04 -0.04 -2.06 -0.07 -2.06 
+-0.61 -0.07 -0.63 -0.05 -0.57 3.32 -0.61 3.3 -0.83 0.21 -0.8 0.22 -0.76 1.58 -0.76 1.56 
+-0.35 2.52 -0.39 2.54 -0.42 1.7 -0.43 1.69 -0.41 -0.93 -0.39 -0.91 -0.02 -5.23 1.58 -4.38 
+1.17 -5.16 0.59 -2.61 0.54 -2.61 0.46 -2.8 0.41 -2.8 0.63 -2.45 0.58 -2.45 -0.48 -1.46 
+-0.5 -1.43 p
+-0.96 -1.69 -0.97 3.95 -0.85 6.77 -1.06 6.36 -1.52 4.41 -1.09 -2.15 -1.95 6.04 -0.29 5.58 
+-0.98 5.68 -1.58 5.86 -0.8 4.8 -0.37 4.86 -0.39 1.29 0 -88.42 -1.04 -4.68 -1.76 1.28 
+1.41 1.7 1.39 1.71 0 88.42 -1.11 3.6 -1.37 5.25 -0.91 3.56 1.15 3.23 -1.54 6.82 
+1.34 0.91 1.2 2.02 1.02 1.73 0.61 0.21 0.61 0.24 0.26 3 0.78 3.04 -0.13 2.56 
+-0.15 2.54 -0.41 2.52 -0.43 2.52 -0.69 3.82 0 198.65 -2.89 4.56 -6.25 9.44 -6.4 9.33 
+-6.58 9.22 -6.73 9.12 -6.87 8.98 -7.04 8.86 -3.6 4.38 -3.61 4.36 -3.67 4.3 -3.67 4.32 
+-7.5 8.46 -3.82 4.19 -3.82 4.16 -3.89 4.1 -3.88 4.13 -7.95 8.07 -3.71 3.64 2.24 -2.21 
+2.21 -2.21 2.2 -2.21 2.15 -2.2 2.1 -2.19 2.11 -2.17 2.06 -2.15 2.05 -2.17 1.99 -2.12 
+1.97 -2.13 1.96 -2.13 1.91 -2.11 1.89 -2.11 1.87 -2.08 1.84 -2.09 1.82 -2.04 1.78 -2.06 
+1.76 -2.04 1.74 -2.02 1.71 -2.02 0.95 -1.13 0.93 -1.11 0.91 -1.11 0.91 -1.09 0.89 -1.08 
+0.87 -1.04 0.87 -1.07 0.85 -1.04 0.82 -1.02 0.82 -1 1.61 -1.99 1.57 -1.95 0.76 -0.96 
+1.48 -1.87 0.72 -0.93 1.43 -1.82 0.7 -0.89 -1.04 1.33 0 -174.92 2.24 -0.06 2.62 -2.24 
+1.5 -2.47 1.47 -2.49 3 -3.56 1.07 -1.84 1.04 -1.84 1.02 -2.61 1 -2.62 1.2 -2.71 
+1.17 -2.71 -1.45 2.15 -1.48 2.15 -1.04 1.08 -1.04 1.06 0.76 -2.17 0.74 -2.2 1.13 -3.21 
+0.84 -0.74 0.84 -0.76 1.7 -2.08 1.11 -3.21 1.07 -3.23 -0.89 0.57 -0.89 0.58 -0.11 -0.93 
+-0.11 -0.96 -1.41 -0.11 -1.37 0.37 -2.69 5.14 -1.39 4.3 -1.32 0.75 -1.07 -0.91 1.35 -4.68 
+0.17 -2.63 -2 3.12 0.13 -2.49 1.71 -4.99 1.72 -4.59 -1.59 2.52 -2.54 5.42 -0.95 3.52 
+-0.46 4.21 -1.2 3.6 0 -44.05 1.35 -0.87 2.02 -0.34 1.95 -4.32 1.39 1.02 2 -0.41 
+1.67 0.3 -0.05 -3.99 -0.11 -3.97 2.02 -2.04 -0.41 -4.73 1.91 -5.62 0.89 -5.36 2.13 -3.36 
+1.99 -2.28 0.63 -4.23 2.13 -1.93 1.8 -1.13 1.65 -1.58 -0.78 -3.55 -0.96 -2.3 0.5 -4.23 
+1.11 -5.51 1.46 -5.88 0.61 -5.12 -0.07 -4.97 0.11 -5.82 1.95 -3.41 0.76 -7.92 0.7 -5.53 
+-0.71 -4.45 -0.74 -4.39 -0.76 -3.19 -1 3.67 -1.11 1.43 0 -40.26 1.23 -1.32 0.7 -3.86 
+1.87 0.28 1.3 2.59 1.49 0.78 0.55 -5.04 2.13 4.51 1.43 -1.13 -0.95 -5.96 -1.3 2.32 
+-1.3 0.26 0.41 -4.14 -1.28 -0.57 -1.35 0.33 -1.58 -0.02 -1.54 -3.45 -1.61 -0.02 -1.48 -1.59 
+-1.59 -0.71 -1.56 -0.79 -1.74 0.83 -1.34 -0.54 -1.78 -1.8 -1.24 -2.04 -1.87 -1.02 -1.54 1.05 
+-1.91 -0.92 -1.67 -0.75 0.04 2.52 -2.08 0.52 -1.67 -0.79 0.71 4.05 0.29 5.28 2.04 0.3 
+1.11 2.84 1.15 0.24 1.83 -0.7 1.63 0.84 1.21 -3.1 1.33 0.56 1.52 1.59 1.58 0.87 
+1.26 1.34 0.39 5.86 1.75 -0.74 1.91 0.34 1.52 0.89 0 40.26 -0.41 0.52 -1.11 -2.78 
+-2.15 1 -0.61 -3.95 -1.32 -1.87 -1.05 -3.45 -1.61 6.68 -0.56 -2.8 -1.22 -2.59 -1.78 -1.43 
+-1.33 5.1 -1.58 4.63 -1.04 4.51 -1.93 3.21 -0.22 0.11 0 -22.44 0.13 -5.36 -1.34 -0.61 
+-0.76 5.45 p
+1.97 0.52 0 22.44 -1.84 0.93 -1.11 4.41 -1.45 2.02 -1.56 4.75 -1.02 5.62 0 5.27 
+1.91 -0.15 1.65 1.63 1.45 1.24 -1.19 6.88 -1.24 5.75 0.89 2.89 1.07 3.17 0.08 5.03 
+-0.78 4.75 -0.2 4.71 -0.93 7.34 0.09 4.45 1.24 3.11 -1.45 3.54 -0.82 7.03 -1.29 4.38 
+-0.45 5.23 -1.15 5.16 0 44.05 -0.19 0.59 -0.61 3.79 0.99 0.43 2.09 -3.05 -1.5 4.77 
+-0.21 3.11 -2.46 5.16 0.96 0.54 -1.2 4.04 -3.47 5.12 0 174.92 -1.58 2.02 -2.63 3.3 
+-2.62 3.28 -2.65 3.21 -2.62 3.19 -2.61 3.11 0 -172.03 2.28 -1.76 2.21 -3.23 3.2 -3.67 
+0 -3.97 2.16 -3.29 2.24 -1.93 0.34 -3.59 -3.02 4.71 -0.45 -1.28 -1.37 2.09 0 -2.52 
+2.58 -4.01 2.09 -3.32 0.58 2.15 2.11 -3.39 0.3 -3.62 -1.8 1.37 1.61 -4.23 -0.98 -0.45 
+2.54 -3.23 1.04 -3.95 -1.78 0.91 -2.17 2.06 -1.02 4.34 -2.09 3.41 -0.95 -0.54 0.11 -3.89 
+-2.02 3.8 -2.47 4.43 -0.72 0.76 0 -16.17 3.69 -5.03 1.5 -6.01 0.41 -3.06 1.99 -5.34 
+1.05 -4.9 1.13 -3.97 0.56 -6.1 -1.8 5.36 -0.93 4.82 -1.28 5.99 -1.15 4.36 -1.91 6.2 
+-3.25 7.68 0 16.17 -1.43 1.57 0.63 2.6 1.3 -1.5 0.17 3.34 2.95 -5.12 0.59 1.67 
+2.06 -3.77 -1.17 4.38 -2.06 4.25 0 2.52 -1.73 2.62 0.5 1.67 -2.26 4.32 -1.32 -0.97 
+-2.7 2.91 0.42 1.82 -0.5 3.56 0 172.03 -0.02 0.04 -2.65 3.11 -2.64 3.06 -2.63 3.04 
+-2.64 2.99 -2.63 2.95 -2.65 2.9 -2.62 2.89 -2.63 2.84 -2.63 2.8 -2.62 2.75 -2.63 2.73 
+-2.61 2.69 -1.58 1.63 0 -182.53 3.37 -4.73 2.86 -3.36 1.87 -0.46 2.84 -4.4 2.32 -4.71 
+2.3 -5.29 2.69 -4.45 3.65 -3.47 2.69 -2.78 0.93 1.17 -1.3 3.71 0 1.93 0.93 1.08 
+1.32 1.54 0.46 -2.56 1.84 -1.59 2.21 -0.67 0.5 -2.64 -0.93 -1.07 -3.14 2.43 -1.37 -0.98 
+1.78 -1.96 2.21 -3.17 -1.64 0.85 0 -6.9 1.82 -0.67 2.56 -3.82 1.49 -4.8 -1.78 1.17 
+-2.61 2.87 -2.3 1.37 0.17 2.26 0.63 1.63 0 6.9 -1.54 0.76 -1.41 -0.48 1.65 -5.32 
+-1.08 -1.91 -2.2 3.11 -1.63 4.23 -1.41 0.02 1.72 -2.91 -1.91 -0.32 -2.64 3.19 -2.24 2.56 
+-3.12 3.6 1.04 1.52 -2.71 3.49 -3.21 5 -2.26 1.86 -2.32 3.76 -2.82 4.25 -0.48 2.75 
+1.34 0.67 0.39 1.81 -1.54 3.93 0 182.53 -1.52 1.54 -6.3 6.3 -3.19 3.11 -1.61 1.56 
+0 -243.36 1.63 -2.14 1.32 -3.76 2.25 -4.1 1.18 -3.71 0.57 -4 -0.57 -1.93 -1.85 -0.61 
+-2.08 2.43 -1.93 2.69 -0.67 3.5 -1.02 4.51 0.08 2.46 0.57 2.32 0.52 2.34 0 243.36 
+-1.61 1.54 -3.23 3.09 -3.25 3.04 -6.6 6.08 -3.32 3 -3.36 2.97 -3.36 2.95 -2 1.72 
+0 -182.23 3.08 -2.73 3.25 -4.1 3.67 -4.21 3.12 -3.78 2.68 -4.23 3.54 -4.36 -2.43 1.63 
+-0.85 -0.87 -3.45 2.63 -2.98 2.88 -3.17 4.58 -2.62 3.63 -2.78 4.05 -1.87 4 0.8 0.89 
+0 182.23 -1.41 1.21 -3.4 2.91 -3.45 2.89 -3.45 2.86 -3.47 2.82 -2.93 2.37 -2.97 2.37 
+-3 2.36 -3.06 2.37 -3.08 2.39 -3.15 2.37 -3.17 2.38 -3.21 2.37 -3.28 2.39 -3.3 2.38 
+-3.34 2.37 p
+-3.41 2.39 -3.43 2.39 -3.5 2.36 -3.53 2.39 -3.56 2.37 -3.62 2.37 -3.69 2.36 -3.71 2.34 
+-1.67 1.07 -3.43 2.13 -1.76 1.08 -1.78 1.08 -1.8 1.09 -1.82 1.11 -1.87 1.11 -1.89 1.13 
+-1.91 1.13 -1.93 1.13 -1.97 1.13 -1.99 1.15 -2.05 1.17 -2.06 1.15 -2.09 1.17 -2.13 1.2 
+-2.14 1.17 -2.19 1.2 -2.23 1.19 -2.25 1.22 -2.3 1.21 1.64 -0.84 1.63 -0.87 1.68 -0.89 
+1.67 -0.91 1.69 -0.92 1.71 -0.93 1.72 -0.95 1.73 -0.95 1.76 -0.98 1.78 -1 1.78 -1.02 
+1.83 -1.02 1.82 -1.04 1.84 -1.09 1.87 -1.09 1.5 -0.87 -4.88 2.88 -4.93 2.78 -4.9 2.78 
+-4.97 2.71 -4.97 2.7 -5.04 2.63 -5.01 2.6 -5.06 2.54 -5.05 2.52 -5.1 2.46 -5.1 2.43 
+-3.8 1.72 0 -130.04 4.3 -0.98 3.64 -1.82 2.8 -0.5 1.82 -1.91 2.37 -1.04 3.02 -0.33 
+4.25 -1.2 2.78 -1.58 4.32 -1.34 2.12 0.11 3.15 -2.06 2.64 -1.06 4.16 -3.39 -4.32 1.52 
+2.76 -1.72 2.06 -2.49 5.64 -2.64 -2.82 0.24 5.79 -4.06 3.17 -4.21 -1.06 -1.54 3.19 -2.04 
+1.46 0.43 4.95 -4.02 4.95 -3.52 0.57 -1.5 -1.84 -0.13 0 -2.34 2.06 -0.48 2.84 -2.48 
+3.11 -2.26 -0.71 -0.98 2.73 -3.1 2.24 -1.65 2.78 -1.87 0.26 -2.06 -2.98 0.7 -2.95 2.93 
+-2.75 1.82 -0.93 2.3 -3.06 2.24 -2.12 2.78 -0.5 2.11 0 2.34 -0.22 -0.02 -2.84 1.11 
+-4.04 2.78 1.96 -2.93 0.82 -1.91 3.61 -3.61 1.85 -2.34 2.95 -3.43 2.28 -3.21 3.21 -2.66 
+0.85 -2.3 2.11 -3.2 1.3 0 -1.34 2.56 2.64 -0.87 2.22 -0.09 3.53 -2.66 4.13 -3.02 
+3.69 -2.23 3.84 -4.34 0.29 -2.47 -2.89 1.56 -2.82 1.48 -2.54 2.61 -2.89 1.45 -1.65 -0.15 
+2.47 -1.54 1.02 -2.17 -2.82 0.46 -2.93 3.38 -3.32 3.21 -1.93 2.84 -2.82 1.29 -2.52 3.04 
+-2.87 2.8 -3.71 3.45 -4.12 3.23 -1.5 2.47 -2.88 3.93 -2.8 3.54 -2.47 3.06 0.28 1.47 
+-2.32 2.04 -2.82 0.93 -3.52 2.34 -4.04 2.52 -3.19 1.21 -3.23 2.47 3.5 -1.61 2.28 -0.67 
+-3.88 3.3 -3.41 3.12 -3.3 2.37 -3.78 1.87 -3.71 2.71 -4.05 1.52 -4.17 2.06 -3.5 1.3 
+-3.34 0.59 -2.73 0.45 -2.23 0.34 -4.64 1.89 0.24 1.21 -1.72 1.73 -1.62 0.22 1.37 -1.39 
+-2.5 0.61 -1.34 2.34 2.54 -0.65 2.37 0.04 1.25 1.05 2.54 0.28 0 130.04 -1.37 0.63 
+-5.14 2.34 -10.37 4.52 -5.21 2.16 -5.23 2.18 -5.25 2.08 -5.27 2.06 -5.29 1.99 -5.3 1.98 
+-5.34 1.89 -5.32 1.88 -5.36 1.8 -5.38 1.8 -5.38 1.7 -5.39 1.71 -10.85 3.21 -5.45 1.52 
+-5.45 1.49 -5.49 1.43 -5.47 1.41 -5.49 1.32 -5.51 1.33 -5.51 1.21 -5.51 1.24 -5.55 1.13 
+-5.54 1.13 -5.55 1.05 -5.58 1.02 -11.16 1.87 -5.57 0.85 -5.6 0.82 -5.6 0.74 -5.62 0.74 
+-5.6 0.65 -5.62 0.65 -5.64 0.52 -5.62 0.54 -5.64 0.45 -5.64 0.44 -11.29 0.7 -5.64 0.25 
+-5.64 0.24 -5.66 0.16 -2.04 0.04 0 -0.11 2.54 -0.07 2.52 -0.08 1.04 -0.02 1.21 -0.05 
+0.26 -0.02 2.5 -0.09 2.13 -0.08 6.09 -0.29 6.08 -0.34 6.08 -0.39 6.08 -0.46 6.04 -0.5 
+6.03 -0.58 6.03 -0.61 6 -0.68 5.99 -0.73 5.95 -0.79 5.95 -0.84 5.9 -0.89 5.9 -0.95 
+5.86 -1 p
+5.84 -1.05 5.79 -1.08 6.18 -1.24 6.21 -1.28 6.21 -1.34 6.23 -1.43 6.23 -1.5 6.25 -1.56 
+6.25 -1.63 6.25 -1.69 6.25 -1.76 6.25 -1.82 6.27 -1.91 6.25 -1.97 6.25 -2.04 6.23 -2.11 
+6.23 -2.18 6.23 -2.23 6.21 -2.3 6.18 -2.39 0.33 -0.12 0.3 -0.11 0.61 -0.26 0.3 -0.11 
+0.28 -0.13 0.31 -0.11 0.28 -0.13 0.84 -0.32 0.26 -0.13 0.29 -0.11 0.52 -0.22 0.28 -0.11 
+0.24 -0.11 -5.75 2.25 -5.62 2.15 0 -129.8 3.91 -1.89 4.23 -2.23 2.15 -2.23 4.34 -2.02 
+3.67 -1.45 2.45 -0.46 1.7 -2.91 0.76 -2.52 2.61 -2.06 2.8 -1.78 -0.09 -0.89 1.36 -1.39 
+1.96 -0.5 -0.59 1.58 -0.06 1.52 3.43 -2.54 3.67 -2.3 -3.8 0.5 -0.65 -0.82 -2.5 0.61 
+-4.53 2.61 -1.81 -0.16 -1.15 1.63 -2.04 1.98 -1.93 0.43 -1.8 -0.15 -2.93 1.37 -2.47 0.45 
+-3 0.41 -2.15 -0.82 -3.28 1.58 0.41 1.47 1.21 1.2 0.18 1.22 -0.43 2.13 -1.56 2.19 
+-1.74 1.86 -5.04 2.43 4.56 -1.17 -0.09 0.93 1.52 0 -3.28 2.19 0 129.8 -0.41 0.17 
+-6.07 2.23 -6.1 2.22 -6.14 2.12 -6.16 2.06 -1.89 0.63 0 -129.47 5.67 -1.96 5.16 -2.14 
+4.76 -1.91 -5.82 1.52 -4.34 1.55 -1.55 1.45 -3.88 1.5 0 129.47 -0.56 0.17 0 -146.57 
+0.86 -1.95 1.95 -1.59 2.8 -0.93 2.35 -0.15 3.52 -0.65 3.36 -0.13 1.35 0.65 0.2 1.17 
+1.69 0.35 -0.35 1.19 3.06 0.11 -0.31 -1.52 1.17 -1.48 2.87 -1.15 4.13 -0.89 -3.13 -0.87 
+-3.58 0.84 -3.58 -0.06 -3.26 0.49 -2.41 -0.7 -0.87 -0.62 -2.67 0.45 -2.86 0.11 -3.02 -0.22 
+-2.71 -0.5 -3.3 -0.02 -2.21 -0.48 -0.8 -1.2 -2.97 -0.32 -3.53 0.11 -3.15 -0.67 -3.19 1.17 
+-2.32 0.46 -1.58 -1.06 -1.89 1.04 1.04 1 2.61 0.7 2.28 0.93 2.91 0.43 3.23 0.15 
+2.02 1.13 4.55 1.74 1.98 1.08 1.95 1.09 1.83 0.76 0 146.57 -3.71 1.21 -6.23 1.95 
+-2.02 0.64 0 -128.65 6.14 -1.69 2.11 -1 -4.8 1.26 -3.45 1.43 0 128.65 -4.21 1.28 
+-6.25 1.82 -6.25 1.76 -6.29 1.71 -6.3 1.63 -6.32 1.58 -6.32 1.5 -4.95 1.13 0 -132.27 
+4.25 -1.2 -1.23 -0.52 -3.2 0.91 -3.55 0.29 1.11 0.52 2.63 0 0 132.27 -1.37 0.33 
+-7.25 1.56 -7.25 1.47 -3.6 0.7 -3.62 0.7 -3.61 0.66 -3.6 0.67 -2.56 0.43 0 -136.98 
+3.71 -1.37 4.23 -0.28 3.08 1.06 4.88 0.3 4.73 -0.3 4.75 -0.74 -0.57 -1.06 -1.82 -0.89 
+-1.75 -1.24 -0.87 -1.97 -2.13 -1.43 -1.74 -1.67 -1.04 -1.24 -1.39 -1.47 -1.43 -1.11 -2.82 -1.2 
+-3.14 -0.74 -3.13 -0.78 -3.49 0.74 -3.04 -0.52 -0.61 -1.13 -2.76 1.09 -4.04 0.5 -4.62 -0.02 
+-4.2 -0.2 -3.11 -0.67 -4.77 -0.12 -3.95 -0.43 -2.41 -0.66 -3.71 0.07 -3.71 0.39 -1.93 -0.84 
+-2.24 -1.71 -1.95 -1.5 -3.15 -0.21 0.79 -0.87 4.77 -0.55 2.41 1.05 1.17 1.32 2.78 -0.41 
+3.21 0.39 3.58 0.26 4.3 0.02 -0.18 -1.35 -0.78 -1.11 -3.76 -1.18 3.59 -0.5 1.87 -1.3 
+3.55 -0.93 4.19 -0.82 3.67 0.32 3.73 0.33 4.04 -0.24 3.54 0.3 3.29 0.73 -2.11 1.29 
+-0.26 1.2 4.8 -1.72 2.11 -1.37 2.25 -0.28 4.14 -1.26 2.43 -1.21 -0.26 -1.02 -3.25 0.5 
+0.06 -1.17 p
+2.13 -0.71 1.91 -1.39 1.5 -1.61 2.08 -0.75 1.47 0.37 1.13 0.17 1.84 -1.43 2.91 -1.3 
+2.14 -2.17 3.17 -0.72 0.24 -0.97 2.86 -1.87 3.11 -2.11 2.78 -1.63 0.67 -0.39 3.38 -1.11 
+2.84 -0.28 3.41 -1.2 3.2 -0.57 2.86 -0.39 3.17 -1.12 3.88 -1.33 3.47 -0.95 4.69 -1.09 
+4.38 -1.47 3.99 -1.61 4.38 -1.61 0.83 -0.46 2.8 -1.57 1.34 0.3 -0.79 1.95 -2.64 2.07 
+2.56 0.17 2.6 0.13 -3.8 1.02 -2.25 1.63 2.6 0.2 3.06 -0.84 -3.84 2.57 -4.86 1.38 
+-2.08 1.87 -0.7 1.19 0 -5.62 4.05 -1.15 -0.56 -1.02 -2.82 0.5 -0.67 1.67 0 5.62 
+-0.43 0.76 1.23 0.41 -0.15 1.57 -0.45 1.8 3.36 -0.41 2.46 0.28 0.63 0.87 2.91 -0.52 
+3.62 -0.78 3.43 -0.59 3.35 -0.07 2.79 0.41 3.56 0.15 3.23 -0.5 3.69 -0.48 1.15 -0.48 
+4.41 -1.8 4.95 -1.8 1.06 -0.46 3.39 -1.43 4.63 -1.11 3.86 -1.41 4.14 -1.78 4.73 -2.47 
+5.29 -2.7 4.97 -2.97 0.54 -0.17 2.73 -0.93 4.97 -2.58 3.79 -3.04 4.11 -2.86 3.1 -3.02 
+0.5 -2.71 -2.23 0.52 1.63 -2.39 2.38 -1.43 3.75 -2.08 0.91 -1.41 2.67 -1.29 2.71 -2.8 
+4.66 -3.12 1.47 -0.15 3.43 -1.07 2.12 -2.19 3.54 -2.97 2.89 -2.8 2.06 -2.24 1.71 -2.45 
+1.32 0.13 2.63 -1.63 0.61 1.59 1.3 1.02 2.3 0.02 1.48 0.63 2.06 0.43 3.04 -0.63 
+3.21 -1 3.43 -1.47 3.11 -1.7 3.41 -2.49 3.06 -3.64 2.28 -4 2.3 -3.38 3.49 -4.06 
+-2.89 0.52 -3.41 1.69 -3.69 3.43 -3.43 0.68 -3.37 0.3 -1.71 2.98 -2.5 0.48 -1.25 -1.3 
+1.99 -3.71 -1.71 -1.37 -3.3 2.39 -3.16 2.02 -3.89 2.54 -0.43 -1.06 0.16 -1.54 -0.04 -2.12 
+1.54 -2.78 1.95 -2.67 2 -3.04 2.78 -2.54 2.41 -2.99 1.08 -2.06 -3.49 3.54 -1.74 -0.43 
+-1.91 1.52 -2.3 2.59 -3.32 2.66 -2.26 -0.2 0.34 -2.58 2.87 -2.78 3.3 -3.02 1.75 -2.67 
+2.26 -2.93 2.39 -1.83 1.93 -1.91 1.21 -2.8 -0.71 -1.21 2.48 -2.56 2.32 -1.58 1.84 0.28 
+1.28 0.89 1.15 1.28 2.68 -1.13 1.21 0.91 -0.46 1.89 -1.91 2.02 -2.06 2.37 -1.74 2.82 
+1.24 0.65 -0.02 1.58 -0.7 2.26 -0.11 1.95 3.71 -2.86 -0.67 -0.91 2.34 -3.15 1.98 -3.66 
+2.91 -2.23 2.21 -3.22 2.78 -3.6 2.41 -2.43 2.97 -2.82 1.07 1.69 1.04 1.72 3.08 -1.22 
+2.5 -0.87 2.56 -0.98 2.65 -1.34 0.67 0.93 1.76 0.61 2.47 -0.97 0.65 -2.87 2.09 1.04 
+2.06 -1.02 1.02 -2.5 1.39 -2.37 1.84 -2.39 1.02 -2.88 0.74 0.89 -1.07 3.28 0.74 0.91 
+0.09 1.71 1.69 -1.56 3.82 -3.11 0.26 -1.28 3.36 -3.28 1.52 -0.78 1.73 -2.07 0.28 -1.73 
+2.34 -2.97 2.76 -3.37 2.8 -3.43 2.26 -3.43 -0.3 -1.26 2.54 -1.8 2.06 -2.19 2.67 -3.56 
+2.11 -3.08 1.61 -3.14 2.56 -3.17 0.11 -2.56 1.96 -1.87 1.49 -3.19 1.96 -3.99 1.46 -3.61 
+1.89 -4.54 1.32 -3.99 0.32 -3 0.29 -2.95 -0.22 -2.47 2.15 -4.17 -2.54 0.11 2.63 -3.86 
+-2.02 -0.02 2.63 -3.45 0.55 -3.45 0.04 -2.89 0.89 -3.93 -0.11 -3.23 0.39 -3.41 1.5 -2.87 
+2.37 -1.52 0.58 -2.26 -0.37 -1.52 -2.28 1.91 -1.33 1.22 -2.02 3.01 -0.37 -1.52 -1.72 -0.34 
+-0.57 -2.26 p
+0.24 -3.32 0.69 -3.47 0.55 -3.8 1 -3.9 1.61 -3.8 0.78 -4.32 1.67 -3.45 1.98 -4.02 
+3.17 -2.37 2.2 -0.47 1.61 -1.83 2.54 -1.04 2.36 -1.3 2.67 -0.68 2.11 -0.43 2.38 -1.41 
+2.48 -1.11 2.78 -3.34 2.43 -2.8 2.24 -3.26 2.09 -3.64 1.71 -3.08 2.54 -5.23 1.65 -3.12 
+0.98 -3.23 0.02 -4.1 0.11 -3.71 0.11 -3.67 0.02 -3.7 -1.24 -2.45 2.11 -4.47 0.67 -4.55 
+-0.84 -2.76 0.15 -4.21 0.09 -4.23 -1.76 2.45 -1.66 3.8 -1.29 4.47 -1.75 -0.76 -1.72 1.45 
+-1.39 -2.34 -2.17 0.85 -2.02 2.02 -1.86 2.39 -1.73 1.39 -1.39 -0.09 -2.49 1.37 -1 -1.63 
+-1.5 -1.36 -2.04 4.12 -1.84 -0.76 -0.43 -2.82 1.8 -4.43 2.28 -4.78 0.91 -3.6 1.2 -4.23 
+0.41 -3.41 1.37 -4.82 1.78 -4.25 1.93 -3.1 1.15 2.45 2.23 -4.66 1.89 -1.24 1.91 -3.14 
+2.09 -3.8 1.67 -0.67 1.87 1.45 2.06 -1.93 2.11 -1.06 2.06 -1.02 2.04 -1.06 2.29 -2.67 
+1.3 -3.99 1.26 -4.02 1.23 -4.02 1.2 -4.06 1.76 -1.56 2.28 -3.56 1.78 -4.19 -2.2 -2.67 
+-1.52 0.89 -1.8 0.56 -2.04 0.29 -1.71 1.5 -2.23 0.91 -1.41 3.67 -2.22 1.89 -2.19 2.73 
+-0.96 4.23 -1.56 1.69 -1.76 4.25 -1.06 3.14 -1.08 2.17 -1.22 1.46 -1.84 1.32 -1.84 1.3 
+-0.26 0.26 0 -22.48 2.11 -1.09 1.76 -2.39 1.98 -2.12 2.06 -1.13 2.13 -0.25 2.28 -0.87 
+2.11 -2.84 2.36 -2.56 1.37 2.36 2.61 -2.3 1.67 1.07 2.32 -2.63 1.43 0.7 0.76 -4.41 
+1.28 1.46 2.06 -2 0.57 -3.8 0.02 -4.38 1.61 -1.67 1.8 2 1.67 -5.17 1.47 -1 
+1.17 -3.02 1.52 1.7 1.58 -1.82 -0.45 3.95 -1.17 1.32 -1.65 -1.02 0.15 3.8 1.34 2.43 
+1.65 -3.49 1.22 -3.09 1.13 0.43 0.59 -4.69 -2.8 0.35 1.28 -2.04 0.02 -5.25 0.96 -5.92 
+0.65 -4.45 0.43 -5.45 0.33 -4.73 -1.63 0.93 -1.3 -1.26 -0.29 -2.73 -1.24 0.5 -1.91 3.11 
+-2.02 1.34 -2.78 2.28 -1.87 2.34 -1 2.28 -2.08 1.26 -2.19 3.64 -2.09 2.91 -0.91 3.11 
+-2.02 3.84 -0.93 3.11 -2.08 2.08 -1.13 2.13 -1.07 0.06 0 -10.8 2.56 -4.82 -1.02 -1.7 
+-1.21 1.26 -1.02 3.82 0.7 1.43 0 10.8 -1.26 0.09 -1.78 4.82 -1.76 3.17 -0.62 2.63 
+-2.3 1.04 -1.43 0.21 0 -8.16 2.58 -2.37 0.74 -3.34 -2.14 1.99 -1.7 1.56 0.52 2.15 
+0 8.16 -0.7 0.11 -1.52 3.39 -2.21 1.8 -1.98 2.15 -1.28 -0.5 -2.7 2.19 -2.28 1.85 
+-1.73 2.34 -1.43 3.45 1.91 1.96 2.08 -1.2 1.89 1.97 2.25 1.63 0 22.48 -2.11 2.28 
+-2.37 1.65 -0.26 -2.17 -1.67 2.52 -1.41 3.69 -0.98 5.16 -1.78 4.32 -1.54 3.63 -0.34 3.32 
+-1.33 3.02 -2.3 2.66 -1.23 5.06 -2.39 3.45 -1.06 1.08 0 -541.79 -1.93 -2.63 -1.96 -2.62 
+-3.1 -3.69 -3.17 -3.69 -1 -1.52 -1.04 -1.55 -0.02 -0.58 -0.02 -0.61 -0.47 -1.73 -1.71 -1.91 
+-1.74 -1.93 -3.14 -2.82 -3.14 -2.8 -3.15 -2.76 -3.14 -2.71 -0.71 -0.48 -0.72 -0.45 -2.21 -1.71 
+-2.19 -1.67 -2.95 -2.37 -2.95 -2.32 2.47 2.41 2.43 2.41 -1.41 -0.87 -1.41 -0.85 -1.82 -1.17 
+-1.82 -1.15 1.67 1.91 1.63 1.89 2.5 2.52 2.45 2.54 2.45 2.32 2.43 2.32 2.82 2.62 
+2.82 2.65 p
+2.11 1.97 2.13 1.98 2.9 2.93 2.89 2.93 3.71 3.67 3.69 3.73 2.93 2.86 2.93 2.93 
+0 541.79 -1.8 1.82 -2.45 3.38 -2.17 2.87 -2.3 3.62 -2.02 3.11 -2.25 2.75 -2.37 1.56 
+-1.46 -0.08 0.83 -2.91 -0.39 -3.54 -0.19 -3.23 0.28 -3.43 -1.13 -1.52 -1.17 -0.65 -2.23 -0.11 
+-1.29 3.93 -1.67 4.49 -2.32 3.56 -2.56 3.17 -2.28 2.66 -0.89 -1.21 -2.21 1.8 -0.5 2.23 
+-2.25 1.78 -0.85 -1.17 -1.91 1.2 -2.69 1.17 -2.43 1.43 -2.07 2.02 -1.82 2.34 -2.06 1.96 
+-0.63 0.34 0 -118.21 2.95 -0.65 2.34 -2.46 2.3 -2.49 1.96 -2.73 2.11 -1.98 1.11 -3.97 
+0.3 -3.87 -1.04 -3.38 -2.02 -2.67 -1.67 -1.08 -1.71 2.21 -1.87 4.05 -1.11 2.65 -1.08 3.93 
+-0.5 3.06 -0.65 3.61 0.11 3.49 -1.52 2.28 0 118.21 -1.87 1.09 0 -3.78 0.09 -2.73 
+0.41 -3.23 -1.04 -2.21 -1.09 -2.19 -1.04 -2.24 -0.89 -1.91 -2.6 3.08 0.74 -2.61 -0.59 -2.45 
+-0.87 -2.63 0.74 -2.64 1.4 -1.78 0.72 -3.45 0.42 -3.64 -0.96 -2.67 -1.04 -1.84 -0.2 -3.47 
+0.28 -2.87 0.31 -3.69 -0.33 -3.41 -0.82 -2.32 -0.37 -2.62 0.13 -3.62 -0.68 -2.87 -0.36 -1.82 
+0.95 -2.93 -0.15 -2.34 -1.55 -2 -0.93 -1.45 0.57 -3.21 -2.3 -1.13 0.2 -3.36 0.8 -2.97 
+1.83 -3.5 1.8 -3.62 1.73 -3.59 1.11 -4.02 0.23 -3.99 0.02 -3.45 1.15 -3.32 1.24 -2.56 
+1.26 -3.86 -1.93 -1.35 -0.24 -4.21 1 -3.34 -1.48 -1.63 -1.15 -2.73 0.46 -4.38 -1.24 -2.73 
+-1.97 0.11 -2 1.35 -2.12 1.95 -1.8 3.41 -1.8 3.5 -1.69 2.84 -1.71 2.84 -1.84 2.04 
+-2.21 1.89 -1.91 2.08 -1.93 3.32 -1.75 2.8 -1.8 2.78 -1.46 2.99 -2.52 2.32 -2.48 2.32 
+-2.19 2.52 -1.68 2.21 -1.75 3.43 -1.57 2.93 -2.12 3.17 -2.2 3.23 -0.22 2.47 -1.32 1.11 
+-1.93 2.67 -1.06 3.27 -1.33 3.73 -2.11 1.93 -1.49 2.35 -1.13 3.23 -1.15 -0.17 0.61 -2.95 
+1.3 -3.73 -0.63 -3.06 -1.41 -2.28 -2.26 -1.48 -2.61 0.29 -2.69 1.54 -2.21 1.15 -2.3 2.41 
+2.23 1.43 1.43 2.26 -0.83 3.4 -1.69 -2.45 -2.19 -1.43 -2.82 0.76 -2.47 1.69 -2.25 0.5 
+-2.39 -0.19 -1.48 2.21 -1.8 2.11 -1.99 0.67 -1.89 1.35 -0.3 -0.07 0 -299.69 1.08 -0.83 
+-0.34 -2.09 -2.08 -0.36 1.34 3.28 0 299.69 -1.84 -0.57 -1.68 -1.69 -1.34 -1.41 -1.71 -1.61 
+-1.84 -0.48 -2.07 0.06 0 -301.45 1 -1.35 -0.58 -1.04 -2.09 -0.37 -0.45 1.91 2.12 0.85 
+0 301.45 -0.04 0 -0.83 -1.73 -2.28 -1.28 -1.78 -1.56 -2.11 -1.8 -2.89 -0.89 -1.89 -0.43 
+-2.54 -0.74 -2.04 -1.05 -2.26 -0.49 -2.8 -0.29 -2.61 -0.63 -2.97 -0.87 -1.87 2.59 -1.41 2.25 
+-2.19 1.26 -2.04 -0.98 -1.65 -1.95 -1.34 -1.74 -1.83 -2.54 -2.36 0.67 -1.89 -1.45 -2.17 1.35 
+-2.3 -0.45 -2.73 1.66 -2.32 0.7 -3.19 -0.26 -2.02 1.96 -1.88 2.58 -2.89 2.13 -2.78 2.71 
+-2.17 1.37 -1.37 -1.67 -1.95 0.85 -1.96 0.87 -0.28 -3.39 -2.06 -0.82 1.96 -1.99 -2.11 -1.87 
+2.15 -0.29 1.8 -2.58 2.17 -2.45 1.97 -1.98 2.71 -1.65 2.71 -1.71 2.5 -1.2 1.63 -2.15 
+0.56 -2.56 2.3 -1.8 1.26 -1.15 0.58 2.95 -0.56 2.56 0.91 0.89 1.8 -1.45 1.45 -2.75 
+0.7 -3.06 p
+-0.41 -3.47 1.84 0.74 1.21 -1.19 2.78 0.58 0.92 2.04 2.16 0.91 2.7 0.54 1.63 1.3 
+0.17 2.84 1.37 2.93 0.63 2.54 0.68 2.56 1.11 2.23 -0.11 2.32 1.25 -0.04 0.29 -1.61 
+1.17 -2.91 1.37 -3.39 2.71 -1.65 2.54 -1.13 2.69 -0.48 2.28 0.54 2.82 0.15 2.04 -1.95 
+2.39 -1.74 2.3 -0.62 0.11 -3.47 0.07 -3.5 -0.84 -2.15 -0.35 -2.52 -0.18 -2.95 -1.82 -0.83 
+-0.22 -2.99 0.68 -3.14 1.61 -2.17 -1.54 -1.78 -1.67 -1.35 -0.68 -1.48 0 -41.25 -0.19 -0.22 
+0 -370.7 -0.37 -2.02 0.02 -1.55 1.48 0.39 2.37 0.39 -2.12 -1.98 -1.39 0.11 -1.74 -1.43 
+-0.32 1.09 -2.71 -0.85 2.75 2.39 0.74 2.54 1.31 0.91 0 370.7 -1.82 -2.14 -1.95 -0.71 
+-1.87 0.45 1.26 2.11 2.52 0.3 2.06 0.22 0 41.25 -0.3 -0.65 0.2 -3.32 -0.82 -1.43 
+-1.67 -1.3 -1.97 -1.87 0.13 -3.32 -1.48 -2.26 -2.02 -0.26 -2.17 -1.37 -1.89 -2.38 -1.11 -1 
+0 -179.23 1.57 -2.69 1.15 -2.78 0.24 -3.41 1.04 -3.34 0.45 -4.41 0.22 -2.93 -2.04 -3.36 
+-1.89 2.17 -0.07 -4.95 -0.67 -2.62 -1.45 -1.71 -0.29 -2.54 -0.87 -3.56 -0.78 -3.08 -1.73 -3.69 
+-1.28 -3.13 -1.24 -3.12 -1.23 -2.65 -0.79 -2.56 -1.25 -2.56 -1.29 -2.63 -1.21 -2.6 -0.89 -2.5 
+-0.82 -2.54 -0.87 -2.54 -1.21 -2.06 -1.43 -3.04 -1.28 -2.58 -2.32 -3.15 -1.98 0.29 -2.76 -1.3 
+-2.43 -1.72 -2.64 -0.76 -0.48 0.31 0 -358.03 -5.55 -2.18 -5.56 -2.12 -5.51 -2.04 -5.5 -1.97 
+-5.09 -1.87 -5.12 -1.82 -5.17 -1.79 -5.21 -1.75 -3.6 -1.13 -3.58 -1.09 -3.58 -1.06 -3.56 -1.04 
+-2.88 -0.82 -2.89 -0.79 -2.86 -0.78 -2.84 -0.76 -1 -0.21 -1 -0.2 -0.98 -0.22 -0.95 -0.19 
+-2.78 -0.7 -2.75 -0.7 -5.47 -1.3 -2.19 -0.43 -2.17 -0.43 -2.14 -0.41 -2.11 -0.39 -2.29 -0.57 
+-2.28 -0.54 -2.3 -0.56 -2.3 -0.52 -2.34 -0.5 -2.32 -0.45 -4.6 -0.91 2.06 0.3 2.11 0.32 
+2.15 0.33 2.17 0.34 -3.37 -0.73 -3.36 -0.7 -3.34 -0.7 -3.36 -0.67 -1.74 -0.24 -1.7 -0.24 
+-1.71 -0.22 -1.65 -0.22 -1.98 -0.3 -1.95 -0.26 -1.93 -0.29 -1.91 -0.26 -4.37 -0.74 -4.34 -0.71 
+-4.36 -0.67 -4.34 -0.65 -4.28 -0.61 -4.27 -0.59 -4.25 -0.54 -4.28 -0.5 -3.14 -0.45 -3.21 -0.43 
+-3.21 -0.41 -3.25 -0.42 -2.08 -0.29 -2.11 -0.25 -2.13 -0.26 -2.13 -0.24 -3.21 -0.26 -6.37 -0.43 
+-3.19 -0.2 0.84 0.18 0.82 0.17 0.8 0.17 0.82 0.18 -0.97 0.2 -0.31 0.08 4.17 0.39 
+2.08 0.22 2.06 0.21 0.24 0.09 0.24 0.11 0.22 0.09 0.24 0.11 2.73 0.24 2.73 0.28 
+2.73 0.26 2.74 0.29 3.36 0.43 3.34 0.43 3.32 0.45 0.96 0.2 0.93 0.22 0.91 0.19 
+-1.06 -0.06 -1.08 -0.05 -1.07 -0.04 1.24 0.3 2.38 0.65 1.91 0.39 1.87 0.41 1.84 0.39 
+2.65 0.61 1.3 0.31 1.78 0.41 1.74 0.43 1.71 0.41 3.91 0.67 3.86 0.72 3.82 0.71 
+3.54 0.54 3.56 0.56 3.55 0.59 -0.84 -0.33 -0.89 -0.32 -0.89 -0.3 0.09 -0.2 0.09 -0.21 
+0.07 -0.18 2.09 0.26 2.11 0.31 2.12 0.3 3.61 0.67 3.62 0.7 3.63 0.71 3.71 0.76 
+7.38 1.61 4.88 1.07 4.9 1.11 4.93 1.15 -1.78 -0.54 -1.79 -0.56 -1.8 -0.54 -3.49 -0.93 
+-3.54 -0.91 p
+-3.56 -0.91 0.57 0 0.56 0.02 0.57 0 0.59 0.02 -0.63 -0.26 -0.63 -0.24 -1.3 -0.52 
+1.56 0.26 3.17 0.57 1.61 0.28 1.87 0.37 1.89 0.39 3.82 0.83 -1.06 -0.33 -1.05 -0.34 
+-2.16 -0.65 7.29 1.82 3.62 0.93 3.63 0.97 2.88 0.7 2.89 0.72 2.93 0.74 2.93 0.76 
+3.62 0.98 3.62 1.02 3.67 1.05 3.67 1.06 3.64 1.09 3.64 1.11 3.67 1.15 3.71 1.18 
+3.49 1.15 3.5 1.17 3.54 1.21 3.53 1.24 2.15 0.72 4.38 1.48 2.24 0.78 3.41 1.24 
+3.45 1.28 3.47 1.33 3.47 1.35 0 358.03 -1.37 0.89 -1.74 1.67 -1.63 2.63 0.2 3.29 
+0.2 3.82 -0.91 2.28 0.04 2.84 0.37 2.38 2.23 3.65 2.13 2.62 1.17 2.56 2.19 3.17 
+0.74 2.52 -0.89 3.21 0.28 2.47 -0.91 3.21 -0.07 3.34 2.04 3.21 1.74 4.62 2.21 0.35 
+2.78 1.91 2.72 1.43 2.78 1.93 2.28 1.84 2.43 3.38 2.22 0.37 -0.29 2.45 1.89 1.82 
+-0.26 2.91 2.64 0.98 2.26 1.43 0.56 2.54 0.17 3.04 2.32 2.95 0 179.23 -0.93 -0.87 
+-1.93 -2.37 -0.26 -2.25 0.54 -2.04 -2.11 -1.8 -2.11 -1.85 -2.13 -1.84 -2.15 -1.75 -2.54 -1.96 
+-2.06 -2.28 -1.06 -3.04 -2.22 -1.73 -2.43 -0.76 -1.57 -2.63 -1.35 -2 -2.36 -1.21 -2.58 -0.26 
+-2.02 -0.58 -0.84 -2.32 -2.28 -1.71 -2.41 -1.17 -2.43 -1.15 -2.2 -0.11 -2.23 2.52 -0.17 3.06 
+-1.15 1.23 -1.5 3.2 -1.56 3.23 -1.04 2.84 -0.11 2.52 -0.96 2.34 -1.89 2.61 -2.32 2.46 
+-1.95 1.02 -1.8 2.11 -5.73 7.75 -2.62 1.82 -3.45 0.13 -1.28 1.69 -2.08 1.54 -1.24 3.26 
+-1 2.32 -0.09 2 -1.13 2.8 -1.93 2.56 -2.32 2.46 -2.5 1.37 -2.75 0.8 -1.93 2.56 
+-1.56 2.67 -2.32 2.45 -2.06 1.54 -2.37 2.45 -2.32 2.45 -1.8 2.04 -2.17 2.02 -2.32 -0.59 
+-0.02 3.02 0 3.06 -0.8 2.82 -0.61 -3.67 -0.24 -3.65 0.63 -2.34 -0.93 -1.24 -2.45 1.39 
+-2.04 1.56 -1.28 1.7 -1.65 1.58 -1.91 2.58 -1.41 2.19 -0.91 -1.23 1.79 -2.06 1.04 -2.28 
+1.78 -2.1 2.13 -1.98 2.06 -1.56 1.02 -2.24 1.39 -1.39 0.28 -0.25 0.97 -2.26 2.29 -2.47 
+1.4 -2.21 1.89 -2.56 1.8 -2.13 1.88 -2.58 2.06 -1.5 0.2 -2.52 0.84 -1.8 1.89 -2.58 
+1.99 -1.02 2.32 -0.96 1.89 -0.57 0.46 -1.99 0.33 -1.37 2.17 -2.02 0.43 -1.91 0.28 -2.99 
+1.13 -3.26 0.93 -2.32 1.95 -3.06 2.8 -0.84 3.02 -1.82 1.76 -2.12 1.87 -2.61 1.15 -3.28 
+0.98 -2.82 1.76 -2.13 1.76 -0.06 1.82 -2.61 3.26 -0.72 2.71 -0.34 2.65 -2.41 3 -1.73 
+2.16 -2.04 2.54 -1.93 2.59 -1.84 1.41 -2.74 -2.26 -2.14 1.93 -1.04 2.04 -1.56 2.14 -1.97 
+1.93 -1.04 2.63 0.15 2.34 1.7 2.26 2.2 2.99 0.34 2.43 1.2 2.56 2.82 2.89 0.84 
+2.28 1.78 2.56 0.26 2.66 1.84 2.7 1.96 1.45 3.17 3.11 -0.09 0.52 -4.66 0.3 -3.63 
+-0.71 -2.93 0.67 -3.49 -1.09 -3.54 -0.78 -2.91 -0.89 -2.39 -0.35 -3.25 -0.84 -2.91 -0.79 -3.41 
+-0.46 -2.78 -0.3 -3.73 -1.87 -2.59 -1.39 -2.52 -0.89 -3.37 -0.97 -2.8 -1.84 -3.1 -1.48 -2.43 
+-1.89 -3.08 -1.45 -2.96 -1.97 -2.49 -2 -2.52 -2.54 -1.62 -1.95 -2.47 -2 -3.02 -2.11 -2 
+-2.02 -2.43 p
+-1.12 -2.8 -2.5 -3.06 -1.61 -3.34 -1.65 -2.32 -1.17 -3.23 -2.15 -2.41 -2.08 -2.9 -2.28 0.04 
+0.13 -3.41 -1.65 -3.76 -1.71 -3.82 -1.3 -2.65 -1.28 -3.17 -0.82 -3.08 -0.87 -3.1 2.3 -2.54 
+2.23 -2.54 -1.34 -3.17 -0.02 -3.45 0.43 -3.77 1.3 -3.23 0.8 -2.8 1.8 -1.15 1.74 -1.65 
+-0.09 -2.93 -0.54 -3 0.3 -2.86 -0.11 -2.46 -0.61 -3.45 0.68 -3.25 -0.18 -2.93 0.68 -3.3 
+-0.63 -2.97 -1.52 -2.59 -2.04 -2.69 -1.91 -2.17 -2.91 -2.8 -1.95 -2.13 -3.65 -0.99 -2.35 -1.22 
+-2.78 -1.3 -2.02 -2.62 -2 -2.56 -2.56 -3.11 -2.37 -1.23 -2.02 -2.58 -1.93 -1.61 -2.47 -2.11 
+-0.74 -2.87 1.56 -1.67 0.5 -3.23 0.39 -3.63 0.61 -2.28 -0.45 -3.26 -0.76 -2.39 0.02 -2.76 
+-1.76 -2.93 -1.95 -1.54 -2.8 -1.2 -3.76 -1.7 -1.89 -1.04 -2.8 -1.17 -2.3 -3.34 1.65 -0.8 
+-0.3 -1.8 -0.37 -2.32 -1.36 -2.8 -1.43 -3.25 -1.32 -2.78 -2.45 -1.55 -2.96 -2.02 -1.71 -2.32 
+-2.12 -2.39 -1.8 -2.78 -1.74 -2.34 -2.59 -2.32 -2.54 -1.95 -2.04 -1.84 -2.61 -2.37 -2.04 -1.84 
+-2.4 -1.43 -3.32 -1.89 -2.5 -1.9 -2.65 -0.55 -2.97 -0.13 -1.54 -1.37 -3.43 -0.15 -1.93 -1.39 
+-2.5 0.3 -2.82 0.76 -2.3 -0.97 -2.91 0.34 -3.12 -0.58 -1.91 -1.34 -3.45 -0.13 -3.06 -0.52 
+-1.89 -1.34 -3.04 -0.11 -1.86 1.63 -1.93 1.67 -1.82 -0.93 0.28 2.17 -0.59 2.09 -1.8 2.97 
+1.3 0.05 1.48 1.32 -0.02 3 -1.39 2.95 -1.54 2.11 -1.09 2.13 -0.52 2.99 -1.11 2.15 
+-0.61 2.99 -1.56 2.13 -2.54 1.63 -1.15 2.15 -1.69 1.67 -0.22 2.61 -0.7 3.02 -0.67 2.61 
+-0.33 2.19 0.17 2.65 -1.15 3.02 -0.3 2.21 0.17 2.67 -0.26 3.06 0.59 2.25 -0.83 2.21 
+-2.17 2.09 -0.82 2.21 -1.76 2.17 -0.8 3.08 -1.73 2.61 -1.3 2.63 -1.32 2.21 -1.85 1.7 
+-1.3 3.08 -0.37 2.67 0.07 2.28 0.55 2.71 0.06 2.71 1.5 2.78 0.59 2.74 0.98 2.76 
+1.04 3.21 1.04 3.25 1.91 2.32 2.43 1.49 1.48 2.37 0.96 2.34 0.56 3.21 -0.48 3.17 
+-1.41 1.8 -1.39 2.19 -0.91 2.71 -0.95 1.32 2.43 2.89 -0.96 2.71 -1.43 2.25 -0.46 2.73 
+-1.43 2.71 -1.43 1.76 -0.52 2.3 -0.93 1.34 0 2.32 -1.45 2.21 -1.95 2.24 -1.46 2.28 
+-1.91 1.73 -1.91 1.76 -1.97 1.8 -2.89 1.72 -1.91 2.71 -1.93 2.25 -1 2.76 -1.47 2.73 
+2.84 1.96 0.44 2.82 -0.05 2.8 1.39 2.41 -1.91 0.8 1.39 2.43 0.93 2.39 0.39 3.28 
+0.89 3.3 -2 2.28 -1.45 2.3 -2.34 0.34 -0.59 2.78 -0.8 -0.02 0 -4.23 1.43 -0.89 
+-0.93 -1.89 -1.43 0.39 0.93 2.39 0 4.23 -1.52 -0.06 -2.37 -0.54 -2.84 -0.11 -2.82 -0.61 
+-2.84 -0.54 -2.85 -0.08 -3.32 1.75 -1.02 3.73 -1.48 3.73 -2.86 2.26 -2.84 0.89 -3.28 -0.06 
+-3.32 -0.5 -2.85 -0.05 -2.82 -0.52 -3.28 -0.93 -1.41 -1.91 -3.79 -0.02 -3.3 -1.87 -2.39 -1.39 
+-2.32 -0.43 -2.84 -0.93 -2.41 -1.39 -3.28 1.43 -2.84 0.5 -4.25 1.02 -2.82 0.07 -2.39 -0.39 
+-3.29 -0.43 -3.37 -0.34 -2.37 -1.81 -3.36 -0.39 -2.86 -1.76 -2.32 0.54 -2.82 1.07 -3.27 2.5 
+-2.8 2 -2.26 1.98 -2.73 2.95 -3.73 2.13 -2.28 2.45 -2.76 1.57 -2.73 1.58 -2.69 3.02 
+-0.78 2.43 p
+-0.41 2.43 -0.3 2.86 -1.71 2.45 -2.21 2.54 -2.23 1.61 -1.26 2.47 -1.67 2.47 -2.25 1.17 
+-0.2 3.84 -2.34 -0.33 -2.15 1.63 -2.19 1.63 0.24 3.37 0.65 2.79 -0.17 3.34 -1.12 2.97 
+-2.15 1.65 2.39 1.2 1.54 2.26 1.97 2.17 0.32 3.82 2.3 5.51 0.67 2.8 0.26 2.85 
+-0.65 2.93 -1.46 3.02 1.91 1.72 0.26 2.84 -1.89 2.6 -2 2.11 0.71 2.8 0.79 2.78 
+1.84 1.26 1.54 2.26 1.7 3.67 1.52 2.19 1.93 2.21 2.39 2.2 1.63 3.17 1.11 2.3 
+1.11 2.75 1.39 1.3 2.65 1.17 1.46 1.76 1.13 2.75 1.87 2.23 3.77 0.16 3.45 1.15 
+1.84 2.26 3.04 1.19 2.22 2.17 1.84 2.26 1.5 3.21 -1.06 1.99 0.37 4.67 1.71 1.3 
+1.39 2.3 0.15 1.85 2.15 1.73 1.73 2.28 2.48 1.26 2.8 0.82 2.91 1.71 1.32 2.3 
+1.3 2.25 0.89 2.32 1.3 2.75 2.35 0.35 1.07 -1.89 3.03 -1.98 1.98 0.39 3.06 -0.07 
+1.97 0.39 2.67 -1.45 2.34 0.47 3.14 1.37 1.17 1.84 2.32 0.43 2.32 0.5 2.3 1.85 
+2.28 1.43 3.45 0.48 3.06 0.55 2.25 0.95 2.28 0.05 1.86 0.54 2.7 0.09 2.67 -0.41 
+1.56 -0.85 2.26 0.54 1.85 1.48 3.47 -0.78 1.85 1.06 3.49 -0.75 2.23 0.63 1.73 1.52 
+2.24 0.61 2.3 -0.28 1.41 -2.71 2.91 1.63 -0.91 -2.43 -1.39 -1.09 1.04 -3.19 1.67 -0.83 
+0.61 -2.28 -0.93 -2.45 -1.78 -2 -1.41 -1.52 0.58 -2.32 2.06 -0.83 1.93 0.66 0.98 -2.3 
+2.95 -1.17 2.45 -0.76 3.15 0.26 3.6 -0.11 2.84 -0.2 2.91 -1.13 2.89 -0.67 0.05 -0.37 
+0.32 -2.43 1.37 -1.28 2.58 -1.15 2.89 -0.14 4.1 -0.5 3.5 -1.47 2.69 -1.61 2.46 -0.14 
+1.82 1.22 1.39 1.63 0.37 2.43 -0.76 2.32 -1.13 1.74 0.85 2.08 2.36 2.71 2.52 1.37 
+2.62 0.85 3.19 0.06 2.89 -0.52 0.87 -2.26 2.8 -0.04 2.89 -0.43 2.75 0.48 1.67 -2.16 
+2.6 0.95 2.78 0.04 2.84 0.07 2.13 -0.58 2.54 -0.5 2.73 0.56 3.02 -0.86 2.19 1 
+1.95 1.9 2.3 2 2.59 1.06 3.12 0.26 0.16 -2.02 2.16 -0.46 0.22 2.04 1.93 -1.04 
+2.52 1.09 3.26 1.37 0.95 2.23 0.7 3.21 -0.15 3.02 -0.11 3.02 0.22 3.11 0.04 3.56 
+0.67 2.73 -1.28 2.71 -1.26 3.73 0.11 2.06 -1.35 1.63 0.71 2.3 -0.82 1.28 -1.43 -2.5 
+-1.39 -0.39 -1 0.2 0 -6.56 -1.75 -2.95 1.13 -1.21 -1.78 -0.46 -0.35 -1.43 -1.97 -1.24 
+-2.69 -0.14 -1.3 1.67 2.06 1 0.79 1.22 1.67 0.91 1.99 1.06 2.21 1.56 0 6.56 
+-2.3 0.43 -1.17 -2.32 -1.54 -2.41 -1.73 -0.45 -1.52 -1.41 -2.43 0.39 -1.65 1.58 -3.64 0.61 
+-2.62 -0.16 -0.05 -2.47 -2.87 -2.15 -2.4 0.41 -3.59 1.7 -0.97 -0.22 0 -1.75 -0.18 -2.24 
+-1.15 -1.43 -0.78 1.57 2.11 2.11 0 1.75 -1.54 -0.33 0.37 1.55 -4.34 -0.91 0.93 2.14 
+-2.19 1 -0.11 1.98 -2.04 0.52 -0.5 0.11 0 -16.34 0.35 -1.39 1.99 1.39 0.02 -1.64 
+-2.95 -0.8 -2.95 -0.71 -1.72 0.74 -2.37 0.09 -2.23 -0.39 -0.16 2.37 2.74 0.02 0.56 -0.89 
+2.13 0.91 2.04 -0.33 2.54 0.65 0 16.34 -1.91 0.39 -0.13 1.91 1.82 -1.08 0.93 0.71 
+-1.11 1.23 p
+-1.22 3.17 0.3 1.52 -3.38 -1.17 -0.16 3.36 1.22 2.2 2.45 0.52 2.41 0.52 2.78 0.61 
+2.39 0.56 -0.76 1.3 1.91 0.98 -2.98 1.26 -2.71 -0.63 -2.95 -1.13 -1 -1.67 -1.61 -2.11 
+-1.22 -2.19 -0.32 1.16 1.21 2.17 -1.98 -0.86 -1.87 1.54 -2.54 0.02 -1.62 -0.84 -2.21 0.08 
+-0.67 -1.56 -2.11 -0.39 1.39 -1.2 -0.37 -1.52 -2.11 -0.39 -2.67 1.91 0.43 -3.28 1.95 -2.08 
+1.89 -1.58 1.11 -1.72 1.8 -1.13 1.99 -0.62 0.83 -1.76 2.02 -0.61 -2.76 0.48 0.79 -3.3 
+-2.61 1.52 -2.65 0 -1.89 1.58 -3.17 -1 2.39 -0.58 2.49 -1.02 2.13 -2.54 -2.32 0.14 
+1.23 -2.24 1.83 -3.04 -2.21 1.52 -1.13 -2.08 -1.5 1.65 -1.83 -0.28 -1.04 1.25 -0.13 2.41 
+-2.6 1.5 0.71 2.02 1.97 1.3 -3.36 -0.08 -2.29 2.06 -2.04 2.54 -1.45 1.67 -1.91 2.12 
+-2.09 1.11 -0.57 2.78 -0.28 3.27 -0.15 2.39 -2.37 1.07 -2.45 1.52 -2.69 1.04 -2.89 2 
+-3.54 1.89 -2.47 0.15 -1.26 1.24 -2.62 1.11 -0.3 1.82 -1.25 1.26 -0.76 2.25 -2.97 1.52 
+-0.07 -1.87 -1.17 -1.08 -1.24 1.28 -0.61 1.85 0.43 1.43 -2.09 0.24 -1.8 -1.58 -1.63 -0.17 
+-0.11 -1.84 1.2 -1.29 -0.39 -1.93 0.58 -1.8 1.98 -1.65 1.91 -1.22 2.26 -1.17 1.41 -2.21 
+0.72 -2.29 1.25 -1.28 2.32 -1.15 2.67 -1.11 3.51 0.43 -0.73 -1.96 2.28 -0.7 2.73 -1.06 
+4.77 -2.22 2.59 -1.97 -0.37 -2 -1.52 0.3 -0.73 1.78 -2.21 0.17 -1.93 0.72 -0.76 -1.98 
+-0.26 -2.88 2.4 -1.11 0.42 -2.34 -2.02 -1.21 0.38 -2.3 -1.22 -1.56 -0.54 -1.5 -1.45 -0.17 
+-0.24 1.41 0.35 2.36 0.89 1.52 -0.73 2.3 -0.57 0.84 0 -6.59 -1.15 -2.52 -0.28 -2.87 
+0.98 -1.78 -0.43 -1.91 -3.11 0.11 -1.73 1.7 -2.32 0.28 -3.26 1.54 -1.48 -0.13 -1.82 2.19 
+1.72 1.59 2.21 0.22 2 -0.79 2.58 0.29 3.28 0.8 2.82 1.28 0 6.59 -0.91 1.37 
+-0.63 1.81 -3.06 0.61 -1.43 2.15 -1.5 0.34 -2 1.2 -2.08 1.65 -2.82 -0.28 -2.32 1.17 
+-2.08 2.17 -2.41 2.08 -2.11 -0.18 -0.57 1.84 -2.36 2.11 -1.3 2.24 -0.7 2.76 -2.15 0.21 
+0 -5.96 0.28 -2.78 0.52 -1.81 -0.52 -1.95 -0.02 -0.13 0 -3.1 2.04 -2.21 0.59 -2.26 
+0.24 -2.34 -0.11 -2.37 -0.54 -2.34 -1.84 -0.13 -1.3 -1.97 -2.02 1.78 0.15 2.8 -0.24 2.8 
+-1.28 2.21 -0.17 1.89 1.13 -0.43 1.39 0.58 1.97 2 0 3.1 -0.39 -2.69 -2.37 2.19 
+-0.54 1.8 0.15 2.37 2.02 1.08 0.87 1.91 0 5.96 -0.3 0.04 -1.45 0.82 -2.11 0.3 
+-1.65 -1 -0.87 -1.95 -2.32 -1.02 -2.37 -1.52 -1.56 -1.98 -2.45 -0.57 -2.54 1.28 -2.82 0.34 
+-2.48 0.85 -1.71 -1.43 -2.39 -1.46 0.43 -2.75 0.48 -3.21 -0.72 -0.5 0 -10.66 2.26 -1.34 
+-1.43 -2.28 -1.58 1.25 -2.15 0.39 2.9 1.97 0 10.66 -1.36 -0.93 -2.5 -1.95 -2.5 -0.91 
+-2.15 -0.98 -2.17 -3.23 -2.17 -2.8 -1.48 -2.35 0.35 -2.34 2.23 -1.84 -2.61 -1.84 -1.54 -1.89 
+-0.74 -2.3 -2.25 0.02 -2.32 -2.78 -1.61 -2.32 -2.65 0.04 -2.64 0.07 -2.72 0.06 -2.66 -0.37 
+-2.32 -0.87 -2.43 -2.28 -2.24 1.06 -1.35 2.86 -0.69 1.43 -2.2 1.52 -1.91 0.08 -1.93 -0.84 
+-2.21 0.63 p
+-2.74 -0.32 0.98 2.3 0.24 2.8 0.61 2.78 -1.84 0.11 -0.93 1.91 0.61 2.78 1.63 1.8 
+0.7 3.2 0.96 2.75 0.61 2.3 -0.48 2.84 -0.18 1.84 0.56 2.32 -1.45 3.32 1.2 1.32 
+2.52 0.29 1.58 2.23 3 -1.56 2.8 -0.15 3.16 0.28 3.11 -0.57 2.71 -1.04 3.56 0.82 
+3.47 -0.52 2.41 -0.54 2.13 0.46 1.07 1.39 0.76 3.19 0.37 2.32 0.39 3.21 0.37 3.19 
+-0.97 2.34 -1.98 1.39 -0.98 1.39 0.37 1.39 -1.58 1.82 -0.66 0.95 -2.6 0.5 -2.22 1.43 
+-1.95 0.06 -1.59 1 -0.15 2.75 2.25 0.38 1.98 0.86 2.58 0.37 1.21 -1.84 2.61 0.39 
+2.24 -0.02 -0.57 3.23 -1.24 2.76 2.24 -0.02 0.93 -2.32 1.91 0.43 2.21 -0.45 0.63 2.32 
+1.54 0.87 1.89 0.5 1.57 0.89 0.25 2.32 0.59 1.8 2.13 0.96 2.41 1.43 2.11 0.98 
+1.43 1.84 1.11 1.84 0.79 1.87 0.48 2.25 1.13 0.55 0.2 -2.72 1.56 -0.87 1.41 1.43 
+-0.11 1.37 -1.52 0.35 -0.17 2.28 1.95 1.04 3.23 0.18 1.02 1.41 2.34 0.16 1.85 -0.78 
+0.07 1.8 1.28 1.46 -1.28 1.26 0.99 1.02 -1.32 1.7 -0.32 2.69 -1.84 1.22 -0.57 2.23 
+-0.3 2.7 0.35 1.8 1.2 1.46 2.34 0.67 1.06 1.87 2.06 0.63 0.28 -1.78 -0.48 -2.32 
+0.26 -1.76 1.89 0.18 0.28 -1.76 -1.34 -0.74 0 -2.6 1.74 -0.98 0.09 -1.74 -2.09 -0.19 
+-1.41 2.17 1.67 0.74 0 2.6 -0.7 -0.39 -0.99 -2.8 -0.76 -2.78 2.15 -1.17 0.2 -1.37 
+3.34 -1.06 -0.32 -1.82 2 0.2 1.5 1.52 1.3 1 2.19 0.74 1.16 1.5 1.5 -1.69 
+-1.28 -1.02 2.14 -0.7 1.81 -0.22 2.58 1.71 2.74 0.81 1.84 2.08 2.56 1.32 2.64 0.88 
+1.82 -2.5 1.96 0.33 1.41 1.19 0.2 2.39 2.08 1.78 0.29 2.86 -1.07 2.59 -0.93 3.08 
+0.5 1.93 0.21 2.84 2.13 0.93 1.97 -1 1.63 -1.57 1.93 -0.02 1.09 1.65 -1.91 5.21 
+-1.89 0.04 -1.52 2.02 -0.8 2.19 1.47 1.74 2.24 0.98 2.47 1.04 2.95 -0.17 3.11 0.82 
+0.58 1.59 1.59 2.34 3.19 -0.06 -2.17 1.8 -1.67 -0.93 -3.02 1.52 -3.19 -0.87 -2.19 -1.47 
+-2.24 -1.5 -2.21 -1.5 -2.47 -1 -1.2 0.13 0 -5.54 1.93 -1 -1.52 -0.93 -0.09 0.11 
+0 -0.7 2.71 -0.11 -1.13 -1.34 -1.15 -1.37 -1.43 1 1 1.82 0 0.7 -0.48 0.67 
+0.16 1.15 0 5.54 -1.74 0.17 -1.89 1 -2.56 0.87 -0.58 1.72 0.07 2.78 -1.41 1.63 
+0 -21.66 -0.95 -1.43 0.61 -2.22 -1.28 -1.32 -1.13 2.13 0.67 1.65 2.08 1.19 0 21.66 
+-0.63 0.74 -1.11 2.54 0.2 2.78 1.41 2.62 1.15 3.04 1.26 2.56 0.41 2.89 1.24 1.25 
+-1.09 2.5 -2.69 1.17 -1.43 -0.78 -1.56 -0.37 -1.95 0 -0.37 -1.88 -1.09 -1.18 0.68 -1.21 
+-0.63 -1.96 2.12 -0.91 -1.08 -2.04 -0.24 -1.91 -1.76 -1.71 -1.3 -1.61 -1.47 -2.08 -1.04 -2.89 
+-0.52 -1.46 0.48 -2.64 0.26 -2.67 0.83 -2.16 2.41 -1.41 2.39 -1.41 1.24 -1.65 -0.35 -1.43 
+-1.34 -1.61 1.21 -0.67 -1.89 -1.7 -1.8 -2.14 -0.07 -1.82 0.65 -2.65 0.02 -2.3 0.2 -3.14 
+-0.59 -3.28 -1.91 -0.28 -2.15 -0.29 -1.17 -2.45 0.61 -1.74 -1.91 -0.22 -2.23 -0.26 -0.33 1.76 
+-1.48 2.13 p
+0.48 1.87 -1.23 1.08 0 -3.41 0.91 -2.08 -1.15 -1.39 1.02 -0.93 -1.85 -1 -0.65 0.04 
+0 -1.26 1.75 -0.32 -0.69 -0.93 -1.63 -0.68 -1.32 1.24 1.89 0.7 0 1.26 -1.34 0.13 
+-1 2.63 2.04 1.3 2.02 1.3 0 3.41 -1.09 0.93 -1.52 2.56 -1.59 2.97 -1.52 2.56 
+-1.28 3 -1.74 1.2 -0.73 -1.85 -1.52 -0.15 -2 -2.41 -1.33 -1.89 -2.45 -1.52 -2.69 0.26 
+-2.74 1.17 -1.43 1.29 0.08 2.25 1.39 1.82 -2.25 -0.54 -0.68 1.74 0.85 1.87 -1.67 2.11 
+-0.41 2.21 -0.67 2.21 1.09 1.78 -1.09 1.72 1.98 1.88 1.69 1.84 1.61 2.32 2.71 0.63 
+1.13 1.82 0.82 2.3 1.74 -1.17 1.21 2.32 1.17 2.3 1.15 3.23 1.8 1.95 0.48 2.71 
+0.56 2.3 0.33 2.21 0.67 2.32 1.43 2.41 0.22 2.21 1.93 2.96 -2.52 -0.81 -2.14 -0.74 
+-2.04 -2.06 1.21 2.37 2.76 1.3 -1.63 1.09 1.65 1.56 1.34 1.95 0.2 -2.62 1.07 1.49 
+0.7 -1.62 1.46 2 -1.37 0.19 -0.54 1.71 2.02 1.2 0.89 2.84 2.54 0.5 2.37 1.43 
+0.79 2.43 1.41 1.7 2.34 -0.79 0.35 1.89 1.2 1.26 1.23 -2.91 1.09 2.17 1.52 -1.91 
+0.26 3.32 2.91 -0.02 2.71 -0.55 2.58 -0.58 -1.26 -2.34 -2.64 -0.33 3.32 -0.87 2.65 0.39 
+1.11 1.37 2.41 -0.13 1 -1.56 2.99 0.59 3.06 0.21 3.06 -0.26 3.06 -0.78 3.04 -0.7 
+2.8 -0.3 2.95 -0.7 2.17 -1.65 1.78 -2.3 -0.2 -2.17 -1.37 -2.15 -2.14 -1.5 -2.86 -0.13 
+-2.39 -0.48 -2.23 -0.33 -2.91 0.42 -2.98 -0.13 -2.95 0.95 2.7 -1.99 2.54 -0.57 3.43 -1.24 
+1.5 -2.4 1.26 -2.04 1.47 -2.43 0.31 -0.02 2.95 -0.28 1.43 -0.43 2.13 -0.65 2.9 1.15 
+-1.61 2.41 -1.71 -0.7 -2.97 1.3 -0.13 2.02 2.13 0.3 2.87 -0.34 2.36 0 2.87 0.71 
+-2.8 1.87 -2.49 1.52 0.63 2.34 1.2 2.11 0.13 2.23 2.34 0.57 2.08 0 -0.08 2.1 
+-1.93 2.26 -1.93 0.11 -1.25 2.61 -2.23 2.61 -3.3 1.02 2.91 0.41 2.11 1.13 2.04 -0.54 
+2.43 -1.43 -1.8 -1.52 0.56 -2.48 2.34 0.22 2.3 -1.02 1.87 1.06 0.52 2 -2.43 2.58 
+0.93 1.67 0.81 2.24 0.3 1.97 1.02 1.89 0.33 2.06 0.3 2.06 2.43 -1.97 2.84 -0.39 
+-1.02 1.74 1.15 1.47 1.99 0.98 -0.25 2.39 0.43 1.75 2.91 -2.25 1.52 0.59 -1.71 1.32 
+0.52 1.13 -0.48 1.67 -2.48 0.54 -2.19 0.89 -2.61 -0.24 -2.06 0.28 -1 1.83 3.56 -0.33 
+3.73 0.65 2 1.26 3.17 0.11 1.64 1 2.48 0.32 0.5 0.2 1.71 0.65 2.61 -0.24 
+2.37 0.29 -2.24 2.4 -2.25 -0.17 -3.36 1.04 -1.98 -0.63 -1.82 1.13 -1.91 1.96 -2.84 0.76 
+-2.19 1.61 -0.63 2.6 -1.93 1.96 -2.76 1.78 -1.93 1.98 -1.93 1.91 -0.16 1.73 2.37 -0.37 
+1.24 -1.13 2.69 1.07 2.04 -1 2.13 -1.71 2 -2 3.23 -0.2 2.97 -1.49 2.97 -1.54 
+3.32 -1.93 2.95 -1.59 3.45 0.11 1.99 -1.91 2.46 -1.37 1.75 -2.39 1.15 -2.12 0.35 -3.15 
+3.64 0.2 -0.37 2.3 -0.82 2.67 -1.91 2.15 -1.65 2.63 -3.77 1.33 -2.89 1.66 -0.68 2.11 
+-1.91 -2.04 -3.73 1.46 -2.84 1.75 -2.04 1.91 -2.96 0.56 -2.52 0.11 -2.54 2.21 -0.32 1.65 
+-1.65 1.57 p
+-2.17 0.82 -2.17 -0.43 -0.76 0.84 2.73 0.33 3.26 -1.07 2.28 -1.69 3.06 -1.41 4.34 3.38 
+-1.91 -0.02 -2.54 -1.21 -2.95 0.47 -0.41 1.52 2.13 0.43 -0.7 1.22 -2.93 -0.87 -1.08 1.61 
+2.04 0.32 0.61 1.3 2.22 0.8 3.16 0.37 -0.39 2.09 -3.04 0.06 -1.78 -1.37 -3.21 1.17 
+-3.97 0.74 0.28 2.23 0.15 2.39 -0.48 2.19 -0.07 2.36 -2.86 0.11 -2.24 0.71 -1.97 1.65 
+-1.96 1.91 -1.39 2.56 -0.98 2.04 -2.16 1.61 0.02 1.7 -1.78 2.73 2.3 -0.63 -1.43 3.23 
+-2.21 -0.29 -0.3 2.22 -3.43 0.21 -3.19 1.69 -2.64 1.63 1.69 2.02 2.87 -1.91 -0.52 1.84 
+0.04 1.58 3.8 -1.13 -0.52 1.54 -1.82 0.33 -0.57 1.52 -0.17 1.71 0.52 1.43 1.63 1.34 
+2.63 0.59 3.43 0.09 2.89 -1.25 3.64 -1.76 2.89 -1.65 3.5 -1.76 1.63 -1.58 3.08 -1.02 
+-0.43 1.48 -1.65 1.73 -1.8 1.82 -1.37 -0.89 -2.04 0.87 0.63 1.33 0.63 1.11 -0.58 1.32 
+-2.68 -0.32 -0.97 -1.65 -1.41 0.58 -0.18 1.58 2.56 -0.52 3.39 1.25 -1.89 1.48 -1.28 1.37 
+0.13 1.82 -1.11 1.84 2.82 0.07 -0.18 2.13 -1.34 2.73 -1.82 1.65 -1.61 -1 -2.32 -0.15 
+-1.8 2.28 -0.7 2.91 -0.87 2.3 1.48 2.32 3.41 0.37 3.5 -0.37 2.17 1.63 1.21 1.87 
+-0.28 1.54 -3.04 0.49 -2.84 -0.34 -2.91 -0.3 1.08 1.93 -0.41 1.52 -2.3 0.26 -1.78 0.89 
+-0.39 1.39 -3.55 2.17 -2.29 2.09 -1.32 -1.56 -1.17 -1.15 -2 -0.14 -2.34 1.59 -0.84 -1.37 
+-2.35 1.93 0 -46.89 1.56 -1.76 0.43 -2.08 1.98 -1.71 -0.78 0.17 0 -31.41 2.82 -1.63 
+0.37 -2.21 0.11 -2.41 -0.43 -2.06 0.52 -2.56 0.43 -2.52 1.37 -2.3 0.97 -2.56 1.26 -2.3 
+1.21 -2.34 1.11 -2.34 1.37 -2.17 2.37 -2 2.78 -1.67 2.82 -1.02 3.41 0.2 -0.16 -1.5 
+-2.6 -1.37 -2.87 -0.93 -1.34 0.15 0 -10.07 3.3 -0.22 0.91 -1.73 -1.34 -2.02 -2.56 1.88 
+-0.3 2.09 0 10.07 -1.65 0.19 -3.54 0.5 -2.3 2.02 0.28 2.02 -1.93 1.11 -1.43 2.64 
+0.11 1.98 -2.21 0.8 -0.8 2.56 -1.97 2.91 -1.67 1.2 0.5 2.43 -0.65 1.48 -0.78 2.11 
+-0.09 2.78 1.67 1.75 0.61 2.32 -1.28 1.73 -0.26 2.3 1.89 0.71 0 31.41 -2.13 0.48 
+-3.54 0.84 -3.02 0.7 -1.34 0.93 1.37 1.39 2.06 1 3.41 0.04 0 46.89 -0.15 0.13 
+-2.02 1.65 -1.82 1.5 0 -3.17 2.75 -2.14 0.33 -1.65 -2.32 -0.41 -0.87 0.34 0 -0.78 
+1.43 -0.46 -1.45 -0.99 -1.21 0.8 1.23 0.66 0 0.78 -1.52 0.63 0.05 2.34 1.58 0.89 
+0 3.17 -0.24 0.2 -1.73 2.25 -3.15 1.61 -1.89 1.72 1.76 1.67 -0.35 1.39 -1.89 0.85 
+-0.8 1.56 1.32 1.07 -2.71 0.72 -0.17 0.06 0 -21.09 2.93 -0.3 0.39 -1.21 3 -0.91 
+2.58 -0.79 1.22 -1.32 -1.43 -2.09 -3.04 -1 0 -38.78 2.99 -0.67 2.85 0.17 0.74 -1.41 
+-1.05 -1.34 -1.02 -1.74 -2.87 -0.43 -1.21 -1.54 -2.84 -0.17 -2.84 1.49 -2.89 0.67 -2.32 1.91 
+1.67 0.52 1.65 0.7 1.76 -0.46 2.24 0.32 0.99 1.3 2.15 0.67 0 38.78 -0.91 -0.32 
+-3.19 0.7 -0.5 2.82 -3.41 -0.32 -0.09 1.97 -1.04 0.61 -0.72 1.28 1.15 0.74 3.06 0.15 
+0 21.09 p
+-2.24 0.87 -3.75 0.68 -2.91 1.34 0 -17.77 2.08 -0.95 1.82 -2.59 -1.02 -2.13 -0.57 1.13 
+-2.62 1.74 -2.19 1.78 2.5 1.02 0 17.77 -0.24 0.11 -2.84 1.28 -0.91 1.11 0 -96.24 
+2.82 -0.74 0.28 -1.34 -1.32 -0.68 2.6 -1.28 0.31 -0.96 -1.85 -1.12 0.68 -1.89 -1.18 -1.06 
+-0.89 1.87 1.39 1.09 -1.75 1.34 0.7 2.02 -1.17 1.02 -0.61 1.74 0 96.24 -0.32 0.39 
+0.45 1.72 2.5 1.08 -2.21 1.76 -4.1 1.13 -1.3 0.22 0 -105.02 2.52 -1.09 1.15 -1.7 
+1.61 -0.15 -0.43 -1.8 -0.87 -0.24 0 -1.54 1.82 -0.16 -1.13 -1.17 -0.7 1.33 0 1.54 
+-1.39 -0.39 -0.85 1.08 1.07 0.93 -1.67 1 0 -5.12 0.45 -1.61 1.37 -1.02 -0.91 -1.11 
+-1.7 -0.33 -1.15 0.95 -1.06 -0.67 -1.52 -0.09 0.35 2.54 1.46 -0.04 0.93 -0.74 0.63 2.04 
+1.15 0.07 0 5.12 -0.43 0.25 -0.7 2.09 0 105.02 -3.49 0.58 -4.23 1.33 -3.23 1.3 
+-2.3 -0.61 -2.17 -0.98 -2.6 1.06 0 -127.66 0.84 -1.37 -0.2 -2.48 -1.41 -1.73 -3.69 -0.09 
+-3.21 1.21 1.32 -2.45 3.67 -0.95 1.71 -1.74 2.04 -1.28 2.89 -0.98 -1.61 -3.08 -2.82 0.21 
+0 2.63 -1.82 0.93 -1.46 2.02 -1.13 -1.32 0.67 -1.89 -0.11 -2.75 -0.11 -2.63 0.39 -2.5 
+-3.45 2.08 -2.34 2.09 -1.08 2.13 1.43 1.58 -2.46 -0.37 -2.54 2.08 -1.56 2.95 -0.48 2.04 
+3.11 0.83 2.12 -0.46 0.33 1.87 2.02 -0.17 -0.63 1.56 1.58 1.63 1.76 -1.3 1.5 1.67 
+2.28 -0.29 2.43 0.31 0 127.66 -0.22 0.09 1.08 0.84 2.5 -0.41 0.39 1.3 -2.5 1.11 
+-0.17 1.37 -2.52 0.04 -2.02 -0.73 0.59 -1.78 -0.84 -2.26 -3.71 0.79 -3.52 0.7 -3.58 0.67 
+-4.12 0.26 -3.34 1.15 -3.45 0.74 -0.72 0.23 0 -5.88 0.34 -1.17 -3.38 -1.63 -4.38 -0.07 
+-2.21 1.41 4.43 1.2 2.17 -0.39 3.04 0.65 0 5.88 -2.34 0.8 -0.7 0.35 -2.71 1.3 
+-2.76 1.24 -3.84 0.86 -0.61 0.2 0 -251.65 0.48 -1.34 -2.72 -1.7 -1.21 -2.21 2.43 0.41 
+2.15 -0.07 2.64 -0.04 0.24 -1.82 -0.86 -1.75 -1.18 -2.23 -1.43 -1.76 -1.71 -1.3 2.19 -0.04 
+2.21 -0.98 1.06 -1.78 0.5 -2.71 1.08 -2.28 2.3 -0.89 0.85 -2.28 0.61 -1.78 0.87 -1.37 
+0.57 -1.84 -1.15 -1.34 0.89 -0.87 1.17 1.36 1.48 0 2.09 -0.91 0.93 -1.78 -0.85 -2.3 
+-2.08 -1.37 -1.5 -2.3 3.08 -0.41 -1.8 -2.32 -3.12 -0.89 -2.78 0.02 -2.78 0.45 -2.5 -1.32 
+-2.76 0.98 -2.52 -0.41 -0.74 -2.24 -3.05 0.98 -2.29 -1.71 -1.84 0.52 2.3 1.76 1.95 1.73 
+1.7 2.23 2.13 -0.06 1.84 -0.04 1.28 2.19 -2.47 -1.3 -1.76 1.41 -1.8 0.57 -2.47 -0.39 
+-0.52 1.39 2.23 1.26 1.84 0.87 0.16 2.71 -2.11 0.09 1.32 1.73 -0.52 1.39 3.21 -0.54 
+2.07 0.37 0.11 2.28 1.21 2.24 -1.71 0.04 -1.35 1.84 1.24 2.21 -2.61 -0.82 -2.62 -0.83 
+-1 1.89 1.61 3.06 -1.26 1.85 -1.82 -2.13 0.13 1.78 -1.95 0.09 2.37 1.67 0.43 2.23 
+-1.98 -0.8 0.16 1.82 1.58 2.6 -2.15 0.11 -1.24 1.41 1.18 0.8 1.52 -0.93 0.41 1.76 
+1.48 1.69 1.21 2.19 2.87 -0.11 2.87 0.33 0 251.65 -2.91 0.96 -2.8 1.11 -1.93 1.5 
+-4.21 -0.37 p
+-4.95 0.09 -3.28 1.23 -3.91 1.09 2.08 1.3 1.2 1.45 3.69 0.48 -0.62 1.86 1.61 1.45 
+0.41 1.67 3.8 -0.29 4.16 -0.91 2.84 -0.78 0.87 -1.56 3.54 -0.44 2.24 0.71 2.91 -0.24 
+1.21 -1.58 0.63 -1.59 3.06 1.3 -2.3 1.26 1.41 1.93 1.17 0.48 1.47 0.47 3.3 0.92 
+4.17 -0.42 0.17 1.59 -3.04 0.11 -0.83 1.26 -0.82 1.91 -1.55 1.91 -1.61 1.24 2.72 1.54 
+3.23 -1 4.64 -0.17 3.1 0.78 3.82 0.39 3.29 0.98 3.13 0 3.45 0.93 3.54 0.82 
+3.93 0.74 3.89 0.39 2.28 1.52 1.56 -1.48 2.3 -1.32 3.67 -0.98 3.45 -0.04 3.32 0.26 
+3.76 0.8 -1.39 -1.93 3.84 -0.26 3.28 0.52 1.93 -1.15 3.93 -0.37 1.84 1.11 2.28 1.02 
+3.75 0.57 3.04 0.7 0.63 1.48 -2.71 0.13 -1.84 1.49 3.52 0.63 1.28 1.23 -1.37 1.02 
+0.72 1.69 2.49 -0.07 1.13 -1.3 2.84 -0.22 2.95 0.67 1.24 1.54 -0.59 1.78 2.82 0.07 
+2.15 -1.02 4.16 -0.78 3.64 0.04 2.28 1.13 1.09 1.19 0 136.98 -1.02 0.17 -3.6 0.61 
+-7.16 1.13 -7.14 1.04 -7.12 0.96 -7.07 0.89 -0.39 0.05 0 -151.78 -2.88 -1.15 -2.93 0.11 
+-0.05 0.98 5.86 0.07 0 151.78 -6.68 0.74 -7 0.71 -6.96 0.65 -6.95 0.54 -6.9 0.48 
+-3.08 0.18 0 -127.41 2.43 0 2.13 -0.87 -1.97 -0.02 -2.58 0.89 0 127.41 -3.78 0.22 
+-6.81 0.32 3.34 -0.12 3.43 -0.18 1.74 -0.09 1.75 -0.11 1.76 -0.08 1.8 -0.11 1.8 -0.12 
+1.82 -0.11 1.84 -0.12 1.87 -0.14 1.87 -0.15 3.82 -0.3 1.95 -0.15 -0.32 0.02 -2.32 0.2 
+-2.3 0.2 -2.34 0.18 -2.34 0.2 -2.37 0.15 -2.37 0.17 -2.38 0.16 -2.41 0.13 -2.43 0.15 
+-2.43 0.14 -2.45 0.1 -4.95 0.22 -2.5 0.09 -0.26 0.02 -2.25 0.07 -5.06 0.15 0 0.11 
+-2.34 0.06 -25.15 0 -4.39 -0.11 -1.47 -0.04 0 -122.92 -0.85 -0.89 -2.61 0.41 3.45 0.48 
+0 122.92 -4.19 -0.11 -5.64 -0.24 -3.06 -0.13 0 -165.23 0.48 -1.26 -4.6 -0.61 -2.89 0.52 
+-3.86 -0.28 3.28 1.52 4 -0.71 3.6 0.83 0 165.23 -2.59 -0.12 -11.28 -0.7 -5.64 -0.44 
+-5.64 -0.45 -0.71 -0.06 0 -154.82 3.04 -0.33 -2.61 -0.84 -2.59 -0.89 -2.58 -0.25 -0.63 0.8 
+2.39 1.22 2.97 0.3 0 154.82 -4.52 -0.43 0 -129.08 -2.02 -3.02 -2.52 -0.8 -0.57 0.78 
+1.41 0.85 3.69 2.19 0 129.08 -0.39 -0.04 -5.64 -0.52 -0.84 -0.11 0 -131.84 -1.85 -1.61 
+0.81 -1 -3.91 -0.89 -0.79 0.89 2.56 1.31 3.17 1.3 0 131.84 -4.77 -0.54 -5.62 -0.65 
+-2.23 -0.28 0 -136.98 1.58 -0.52 -3.75 -2.56 -4.1 -2.11 -1.48 -2.06 -3.43 -2.02 -3.97 -1.62 
+-0.85 -2.26 -2.86 -2.34 -1.32 -2.2 -1.52 -1.93 1.57 -1.82 1.89 -1.69 2.02 1.09 3 0.78 
+-0.17 1.3 4.46 -0.48 5.84 1.91 1.87 1.25 2.73 -0.82 0 -1.32 3.82 -1.17 2.13 2.23 
+3.43 0.93 3.19 -0.79 3.71 -1.02 2.58 -1.34 4 -0.71 -0.31 -2.7 -1.28 -2.28 0.26 -1.26 
+-2.06 -1.52 -3.97 -0.02 -1.47 -2.11 -4.11 -1.52 0.7 -1.89 2.96 -0.87 0.41 -1.58 2.54 1.41 
+1.8 1.52 3.8 0.35 4.04 1.3 5.23 0.45 1.87 -0.93 -0.42 -1.39 3.25 0.28 2.26 -0.21 
+-2.43 -2.15 p
+-2.91 -1.61 -2.8 -1.65 -2.61 -0.63 -1.32 1.41 -4.95 -1.29 -0.32 -1.52 3.43 -0.79 3.88 -0.43 
+2.75 -1.41 4.36 -0.28 3.43 -0.74 0.61 -1.93 -3.04 -1.02 -3.26 -1.43 -0.39 -1.66 0.37 -1.93 
+-1.65 -2.2 -2.62 -1.13 -2.17 -2.47 -3.21 -1.19 -1.3 -2.56 -1.06 -0.15 0 -74.74 2.97 -0.65 
+0.2 -1.52 1.43 0.24 1.54 -0.82 2.02 -1.13 2.59 -0.58 1.63 -1.91 0.11 -1.37 1.17 -0.84 
+0.82 -1.41 -0.13 -1.67 0.3 -1.7 -0.87 -1.41 0.02 -1.26 -1.26 -0.62 -2.08 0 -0.91 0.08 
+0 -0.91 3.21 -0.48 3.91 -1.61 0.17 -2.62 2.82 1.28 1.65 -1.52 2.45 1.15 3.19 0.43 
+3.63 -0.67 3.04 -0.11 2.58 -1.47 2.64 -1.11 0.89 -1.86 -0.11 -1.39 1.45 -1.06 0.7 -1.61 
+-2.34 -0.71 -3.06 0.33 -2.08 0.82 -1.82 -0.37 3.69 -1.19 -1.04 -1.76 1.63 -0.08 0.72 1.28 
+1.82 -0.22 -0.34 -1.37 -1 -0.62 -2.15 -0.81 -2.23 -1.75 2.63 0.13 2.19 0.71 1.74 0.93 
+1.02 -0.71 2.22 1.19 2.71 -1.06 1.02 -1.93 -3.46 -2.34 -2.08 -1.3 -0.74 -0.63 0 -92.34 
+-1.5 -1.5 0 -19.05 -1.04 -2.64 -2.87 -2.08 0.93 1.28 0.2 1.82 2.78 1.63 0 19.05 
+-0.37 -0.37 -1.37 0.52 0.61 1.13 2.63 0.22 0 92.34 -1.5 -1.26 -1.82 -1.89 -1.26 -1.8 
+-1.78 -1.2 -0.41 -2.02 -0.78 -1.07 0 -120.86 2.5 -0.59 2.21 -0.61 0.98 -1.84 0.37 -2.71 
+-2.45 -1.67 0.39 -2.3 0.07 -2.73 -0.78 -2.25 -0.76 -2.2 -3.36 -0.3 -2.89 -1.61 -2.82 -0.74 
+-3.06 -0.22 -1.65 1.52 -0.59 2.34 2.09 -0.17 1.23 2.64 2.11 2.56 -1.76 0.16 -1.52 1.93 
+1.91 1.2 -1.61 1.07 1.11 1.71 2.3 -0.2 2 -0.13 1.28 1.26 -1.61 1.04 1.69 2.11 
+2.63 0.73 0 120.86 -0.85 -1.2 0.43 -1.84 -0.07 -2.58 -0.95 -1.54 -2.34 1.39 -0.79 -0.34 
+0 -7.45 0.79 -1.99 -1.54 0.04 0.76 1.96 0 7.45 -1.26 -0.5 -0.91 -1.76 1.96 -0.95 
+-0.11 -2.61 -0.97 -2.41 -2.09 -2.36 2.02 -0.42 -1.48 -1.9 -4.21 -0.42 1.61 -1.25 -0.72 -1.76 
+-2.24 0.24 -1.39 -0.61 -1.86 -0.63 1.48 -1.04 -0.61 -2.54 -1.17 -1.56 -1.93 1.65 -1.78 1.54 
+0.87 -2.02 1.26 -2.15 0.69 -2.37 -0.87 -2.08 -1.17 -2.43 -2.64 0.17 -1.46 1.24 0.48 2.17 
+0.28 1.74 -2.25 -0.28 -0.72 -2.56 -2.7 -0.65 -0.61 -1.22 3.04 0.57 2.06 -1.89 2.3 -1.05 
+-2.04 -1.32 -2.93 -1.09 -2.82 -1.15 -0.83 -0.21 0 -14.24 1.58 -0.84 1.13 -2.06 -0.89 -3 
+2.93 0.28 1.09 2.5 0.95 -1.54 1.43 1.09 2.56 0.02 1.34 -1.15 2.06 0.56 1.89 1.46 
+1.04 -1.5 2.32 0.09 -0.56 -3.02 2.17 -1.63 -0.7 -3 -2.73 -2.3 -3.78 -0.81 -2.86 -1.39 
+-2.52 0 -3.34 -1.21 -3.02 1.43 -2.15 1.79 -4.49 0.95 2.71 1.73 -0.5 2.87 -3.49 0.8 
+3.54 1 2.49 1.32 -1.3 1.17 -2.32 -0.34 -1.65 0.82 2.08 1.34 0.89 1.67 1.58 -0.37 
+0.5 1.25 0 14.24 -1.84 -0.46 -3.21 -0.5 -3.02 -0.02 -2.58 -0.33 0 -220.03 -0.54 -1.39 
+-1.67 -0.35 -0.35 -3.27 -2.19 -0.78 0.15 1.41 2.39 2.64 0.93 1.33 1.28 0.41 0 220.03 
+-0.67 -0.08 -2.78 0.89 -2.43 -0.61 -2.95 -1.43 -2.13 -1.72 -0.73 -0.5 0 -221.16 1.41 -0.67 
+0.04 -1.43 p
+-1.73 -0.28 -0.48 1.49 0.76 0.89 0 221.16 -1.54 -1.08 -0.63 -0.22 0 -217.27 -1.08 -2.24 
+-1.34 -0.82 -1 2 1.67 0.11 1.75 0.96 0 217.27 -2.19 -0.76 -3 -0.85 -3.93 -0.45 
+-3.25 1.34 -3.08 0.26 -2.13 -1.67 -1.84 1.39 -1.06 -3.73 -1.87 -2.3 -2.26 -2.13 -3.43 -1.63 
+-3.25 -0.58 -1.34 -3.67 -2.91 -1.84 -2.32 -2.13 -1.91 -2.32 -2.75 -1.96 -2.26 -0.04 -1.87 3.13 
+0.11 2.67 -1.56 1.93 -2.78 2.02 0.02 4.02 0.87 2.95 1.09 3.39 0.83 1.82 1.21 4.54 
+1.61 1.95 0.11 2.3 2.54 2.61 1.74 3.04 0.26 3.46 2.25 2.13 1.82 2.41 2.78 2.35 
+3.25 2.06 3.09 0.87 2.55 -1.71 3.71 2.88 1.87 2.97 -3.45 -0.89 -3.1 0.91 0.02 2.78 
+3.12 2.06 3.21 1.96 1.87 -1.58 0.93 -2.82 1.8 2.37 -0.89 1.87 1.93 2.88 -2.47 -0.63 
+-1.67 1.28 0.61 1.52 2.95 1.45 1.39 2.06 3.34 1.93 1.82 1.7 1.17 2.34 2.56 1.82 
+1.37 2.61 1 1.97 1.84 1.24 -0.76 1.97 0.43 2.63 -1.45 1.56 -1.76 1.61 -2.17 0.54 
+-0.17 2.43 0.83 1.67 1.8 -0.09 0.24 1.93 0.78 1.43 2.11 -0.43 1.59 -1.13 0.41 2 
+1.89 1.2 -1.05 1.02 1.17 1.89 2.89 0.43 2.07 -1.21 2.54 -0.61 2.75 -1.78 3.93 0.71 
+1.65 1.26 -1.39 1.84 3.17 0.54 3.19 -0.08 2.18 -0.05 0.69 -1.28 1.97 0.5 1.52 1.37 
+0 0.91 -1.57 0.13 -1.5 -0.63 -3.97 0.24 -3.19 0.42 -2.89 -0.13 -3.64 -0.07 -2.47 1.39 
+-3.59 -0.3 -3.19 -1.12 -3.54 -0.39 -1.43 1.78 -2.06 -1.02 -2.75 0.8 -2.08 -2.34 -3.19 0.34 
+-2.45 1.56 1.95 1.26 -1.49 0.8 0.17 1.59 -1.48 0.93 -0.06 2.91 0.3 2.02 2.78 0.57 
+2.24 -0.98 1.04 -1 0.95 1.23 2.78 0.57 1.04 -2.2 1.32 2.26 4.19 -0.63 1.08 -1.09 
+2.43 1.06 3.04 0.65 0.91 1.43 3.84 0.05 -0.76 -1.89 1.7 -0.56 1.75 -1.87 2.43 -0.85 
+-1.57 1.91 -0.61 2.04 -1.21 1.29 -0.32 2.04 2.11 1.61 3.41 0.78 0 74.74 -2.97 -0.41 
+-2.06 0.43 -2.22 -0.91 0 -71.27 2.39 -0.75 3.08 0.15 0.02 -1.12 -3.09 -0.82 -2 -1.07 
+-0.37 -1.8 -1.61 -0.93 -2.9 -0.11 -0.57 -1.59 -2.56 -0.5 -1.91 0.8 -3.3 0.13 -2.61 0.64 
+-0.24 2.6 2.41 1.61 3.11 0.68 2.41 -0.16 2.67 0.85 1.95 1.15 3.1 0.25 0 71.27 
+-1.84 -0.74 -1.58 0.11 0 -67.27 1.78 -0.48 -3.02 -1.08 1.24 1.56 0 67.27 -2.18 0.16 
+-1.23 -0.57 0 -61.07 1.04 -0.61 -0.34 -1.24 -1.52 -1.06 -0.3 -1.39 -2.43 -1.33 -2.75 -0.12 
+-2.47 -0.55 -0.46 -0.98 2.71 -0.2 2.87 0.04 -2.56 -2.19 -1.74 -0.56 -2.04 0.2 -0.12 1.28 
+-0.2 1.59 -0.99 1.08 3.02 0.98 0.24 1.28 1.34 1.93 1.8 0.76 1.82 -0.78 1.63 1.54 
+1.48 0.33 0 61.07 -1.32 -0.61 -2.17 -1.02 0 -52.28 1.28 -0.87 -0.43 -2.11 -2.06 -1.58 
+-0.96 0.69 0.37 1.35 1.3 0.86 0.5 1.65 0 52.28 -0.74 -0.32 -0.54 -0.11 0 -49.91 
+0.39 -1.33 -2.26 0.11 0.07 0.76 1.8 0.46 0 49.91 -3.73 -0.8 -0.87 -0.46 0 -38.13 
+0.37 -1.8 1.54 -1.59 0.87 -1.5 0.33 -1.37 -1.26 -1.58 1.26 -1.2 -0.63 -0.26 0 -2.95 
+0.15 -1.37 p
+0.48 -1.19 -0.39 -1.04 -2.96 0.34 -0.97 1.71 1.32 1.45 2.37 0.09 0 2.95 -1.74 -0.73 
+-1.02 1.3 -0.96 -0.05 0 -11.24 0.28 -0.91 -1.88 -0.16 0 -7.62 1.02 -1.87 -0.18 -2.47 
+-1.56 -0.41 -1.55 0.63 0.81 2.13 1.45 2 0 7.62 -0.35 -0.02 -2.56 -0.65 1.07 1.41 
+3.45 0.33 0 11.24 -1.65 -0.07 -1.91 1.79 2.28 1.3 -1.71 0.96 -1.37 1.54 1.65 1.34 
+0.66 1.3 3.29 0.61 0 38.13 -1.91 -1.04 -3.28 -0.67 -1.8 -1.5 -1.04 -0.65 0 -38.46 
+1.63 -0.96 0.67 -1.49 -2.23 0.71 -1.46 0.72 1.39 1.02 0 38.46 -1.29 -0.78 -2.16 -0.44 
+0 -38.93 2.34 -1 2.54 -1.2 1.8 -1 -1.17 -1.47 -2.52 -1.58 -2.08 -0.74 -2.65 -0.52 
+-1.43 -2.32 2.54 0.7 1.71 -0.34 1.43 0.97 1.89 -0.91 1.15 -0.96 -1.37 -0.22 0 -13.52 
+-0.78 -2.04 -1.82 -1.69 0.13 -1.89 -1.84 -0.89 -1.21 -1.43 -1.37 0.29 -1.65 -2 -0.39 -2.45 
+2.13 -1.73 -0.11 -2.11 0.56 -1.65 -0.91 -2.43 -2.52 -0.87 -2.91 -0.22 -1.87 1.67 1.06 2.28 
+-2.56 0.63 -0.54 2.13 -0.11 2.11 0.02 2.34 1.21 2.76 3.38 0.86 2.89 0.15 2.78 0.89 
+1.62 1.47 -0.58 1.95 2.93 1.65 2.46 0.21 0 13.52 -1.61 -0.26 0 -3.99 0.06 -1.09 
+-2.04 -1.17 -2.78 -1.26 2.89 0.09 1.78 -0.63 -0.48 -1.91 -2.17 -1.83 -2.61 -0.28 -2.91 -0.52 
+-3.45 0.17 0.28 2.73 4.02 1.43 -1.11 1.67 3.09 1.3 2.39 0.37 3.04 0.91 0 3.99 
+-0.46 -0.06 -2.71 -1.74 -1.5 -1.54 -2.62 0.33 -2.8 0.13 0 -1.7 2.26 -0.5 -2.52 -0.91 
+0.26 1.41 0 1.7 -0.15 0 -0.09 1.52 1.24 2.54 -0.8 1.45 -1.3 1.31 -0.13 1.36 
+1.28 1.54 1.78 0.5 0.59 -1.61 2.8 1.04 -1.24 1.35 1.76 1.17 1.78 1.57 0 38.93 
+-1.05 -0.21 -2.71 -0.61 -3.06 -1.91 -3.58 -1.06 -3.06 -0.67 0 -21.86 2 -1.28 2.3 -1.41 
+3.04 -0.93 4.32 0.13 -0.61 -2.32 0.26 -2.06 -3.08 -1.89 -1.43 -2.28 -3.06 -0.86 0 -25.14 
+3.73 -0.56 0.02 -1.34 -2.39 -1.29 -3.6 -0.63 0.97 2.11 1.26 1.71 0 25.14 -0.46 -0.11 
+-3.25 -1.8 -0.98 2.04 -0.07 0.13 0 -47.16 1.15 -1.32 0.45 -1.82 -0.61 -1.8 -2.34 -1.45 
+-1.97 -0.59 -0.3 2.26 -1.54 0.89 0.22 2.06 2.66 1.43 2.28 0.35 0 47.16 -0.75 1.8 
+-1.02 2.17 -3.95 1.02 -2.41 1.65 0.59 1.78 -0.2 2.15 4.58 0.55 4.19 1.54 0 21.86 
+-0.54 -0.13 -3.84 -1.47 2.25 -0.87 0.57 -1.66 -1.21 -1.59 -2.54 -0.89 0.5 -1.58 -0.33 -2.54 
+-0.32 -2.34 -3.15 -0.04 -0.26 -1.59 2.91 -1.47 -3.5 -1 0 -13.11 2.67 -0.48 1.07 -1.35 
+1.84 -0.15 0.87 -1.5 0.3 -1.8 1.21 -1.37 -0.75 -1.54 -4.17 -0.43 1.61 -1.91 -2.17 -1.49 
+0.37 -1.72 -2.99 -2.28 3.16 -0.67 3.09 -1 -0.35 -2.08 -2.17 -1.26 -2.38 0.5 -1.39 0.43 
+0 -2.93 0.8 -1.17 -0.54 -2.11 3.38 1.63 2.23 0 0.98 -1.28 -0.71 -1.82 1.34 -1.2 
+-3.47 -1.39 -3.08 0.87 -1.37 -2.15 -3.84 -1.25 -4.01 -0.52 -1.07 1.89 -2.23 1.34 3.52 1.93 
+3.03 1.87 0.22 1.56 2.69 0.76 2.13 1.04 0 2.93 -1.57 0.5 -2.93 -0.67 -3.88 -1.22 
+-3.93 -0.12 p
+-2.91 -1.87 -2.21 -2.5 -1.56 -2.87 -3.19 -0.26 -0.33 1.84 -2.63 -1.25 -1.84 1.5 -0.56 2.02 
+2.32 2.41 2.71 1.84 -1.8 1.59 -0.54 2.2 -0.87 2.61 0.34 2.86 0.5 2.46 5.02 1.28 
+1.11 2.41 2.73 2.06 4.43 0.43 -0.72 -2 -1.15 -2.43 0.76 -2.11 2.82 2.11 0.87 2.21 
+1.88 2.58 2.74 1.41 1.95 -0.63 2.63 1.71 0 13.11 -1.37 -0.39 -3.78 -0.26 -2.11 -1.17 
+2.56 -1.96 -3.8 0.35 -1.33 -1.3 2.37 -1.13 -1.84 -2.64 -3.49 -1.57 -3.09 -2.26 -2.73 -2.19 
+-1.54 -2.54 -2.78 -2.3 -3.3 -1.11 -0.09 1.76 -2.08 0.39 -0.96 -2.08 -1.98 -2.19 0.11 -2.52 
+0.32 -2.34 -2.28 -1.95 -1.73 -2.13 2.71 -0.29 2.3 2.29 1.87 -1.11 0.56 -2.21 0.52 -2.04 
+-4.14 -2.43 -2.63 -3.16 -2.16 -2.59 -1.41 -3.43 0.52 -2.13 3.95 0.76 2.21 -0.67 2.95 3.29 
+2.17 -1.23 3.38 -0.39 -3.38 -3.21 -3.88 -2.35 -2.59 1.7 -3.78 -1.08 -2.08 -2.34 3.25 0.28 
+0.17 -0.54 3.5 -0.7 3.3 1.58 2.93 -0.39 2.59 3.38 3.97 2.61 3.76 0 3.6 0.11 
+1.74 -0.87 3.4 0.7 2.87 0.57 3.38 0.98 2.8 0.96 2.89 -0.04 1.23 -2.35 -0.78 -2.75 
+-1.11 -1.56 -1.78 0.24 -2.43 0.2 0 -2.95 3.02 -0.7 1.93 -0.82 0.5 -1.98 0.3 -1.84 
+-2.32 1.35 -2.04 0.21 -2.93 -0.26 -2.67 -0.93 -2.74 -0.95 -1.78 -2.11 2.54 1.35 2.8 0.74 
+3.32 0.91 3.21 -0.65 2.71 -1.09 1.07 -1.37 -1.37 -1.17 -3.05 -0.61 -2.63 -1.93 -3.38 -0.74 
+2.47 -0.59 0.67 -1.52 2.78 -0.65 0 -1.52 -0.5 -1.89 1.5 -1.56 -1.76 -1.32 -3.04 -1.43 
+0.81 -2.26 -0.48 -2.24 -2.04 -3.75 -0.48 -2.91 -1.96 -2.73 -2.82 -0.87 -0.95 -2.97 -2.48 1.19 
+-2.79 -1.71 -0.74 -3.32 1.99 -2.17 -1 -2.75 -0.32 -2.74 -0.29 -2.62 -0.58 -2.28 -3.97 -1.41 
+-2.48 -1.26 -2.64 1 -3.06 -1.45 -0.04 2.99 2.39 3 0.41 4.3 -3.95 -2.09 -1.89 -2.76 
+-0.67 -3.25 -0.74 -2.28 -2.47 -2.08 -0.98 -2.82 -3.5 -2.09 0 -681.32 4.06 -0.3 3.54 -1.13 
+2.28 -1.17 0.26 -1.65 -3.34 1.98 -3.23 1.15 -3.56 1.13 0 681.32 -0.25 -0.16 -2.02 1.98 
+0.04 3.04 0.35 2.75 -0.35 2.86 -1.61 -2.23 -0.7 -2.54 -0.89 -2.97 -0.57 -2.56 -1.06 -0.83 
+0 -712.19 4.62 -1.5 -4.47 0 -0.15 1.5 0 712.19 -1.07 -0.82 -1.19 1.99 -0.55 2.2 
+-0.07 2.52 0.85 1.52 -0.59 2.32 -0.11 1.91 0.67 2.65 2.34 1.54 0.35 2.3 -0.18 2.17 
+0.26 2.56 -0.76 2.13 -2.28 0.47 -1.58 2.65 1.91 2.39 2.8 0.71 1.09 -0.71 2.14 0.75 
+0.52 -3.07 1.43 -2.24 3.08 -0.49 1.91 3.14 2.82 -0.22 3.23 0.22 2.65 0.07 2.06 1.91 
+2.59 2.11 0.71 2.91 2.28 2.64 -3.02 0.71 4.29 1.48 1.7 3.86 2.17 2 -3.78 -0.02 
+-1.65 0.76 1.67 3.32 -1.11 1.28 -0.07 3.41 -0.7 2.13 1.56 3.14 2.39 2.23 3.08 2.08 
+2.54 2.22 3.89 1.04 2.9 0.16 2.93 0.04 0 2.95 -0.46 0.04 -2.93 0.16 -0.15 1.58 
+-1.24 1.04 -2.19 -1.19 -2.3 0.48 -3.32 -1.74 -2.71 -1.93 -2.09 -1.69 -3.23 -1.82 -3.04 0.95 
+-1.43 -2.21 -2.61 -1.89 -3.09 -2.28 4.76 -0.22 -2.93 -2.58 -2.74 -0.93 -3.34 -0.87 -3.34 -2.95 
+1.48 -0.87 p
+2.64 1 2.76 -0.96 3.73 1.41 3.71 1.5 3.23 1.17 0.63 -1.91 -0.3 -2.43 -2.06 -1.11 
+0.07 -2.52 -2.17 -0.91 0 -9.16 1.06 -1.78 -1.49 -1.78 -2.67 -1.07 -2.12 0.26 -1.59 1.58 
+2.65 2.2 4.17 0.59 0 9.16 -1.74 -0.74 -2.3 1.07 -3.14 -1.33 -0.7 -2.73 -3.8 -1.21 
+-3.53 0.93 -3.35 0.74 0.15 2.78 1.33 1.39 -1.22 2 -1.7 -2.17 -3.19 0.05 0 -1.37 
+3.23 -0.7 -2.95 -1.96 -1.87 -2.95 -1.24 -3.13 -1.41 -2.34 -2.12 -2.21 -0.59 -2.63 -3.36 0.43 
+1.28 2.59 0.83 2.32 -0.61 1.41 -2.52 0.15 -3.12 0.02 -1.17 1.59 3.08 1.59 -0.89 2.62 
+3.23 -0.8 3.58 2.08 3.8 1.26 2.82 0.66 0 1.37 -1.67 0.02 -3.21 -1.3 -3.62 0.09 
+-3.62 0.13 -0.78 2.95 -4.06 -0.13 -0.39 -0.17 0 -16.91 1.69 -0.93 0.61 -1.28 -0.48 -0.24 
+-0.26 0.02 0 -4.68 0.89 -1.59 -2.52 -1.23 -2.93 -0.61 1.02 1.67 3.53 1.76 0 4.68 
+-3.12 0.42 -1.24 1.43 2.8 0.59 0 16.91 -2.8 -1.3 -1.56 1.65 -1.5 1.5 -3.25 -1.28 
+-1.3 1.04 -2.93 0.02 -3.45 -0.16 -2.82 -0.52 -2.76 -0.5 -3.87 -1.37 -3.23 -1.35 -2.5 -1.91 
+0.8 -1.39 -0.17 -1.82 -2.34 -1.78 0 -36.63 3 -0.59 -1.05 -1.52 -3.6 -1.67 2.34 1.61 
+-1.87 -0.22 -0.8 1.3 3.21 0.09 -1.23 1 0 36.63 -1.2 -0.91 -2.61 -1.21 -2.45 -2.11 
+-2.06 -1 1.37 -0.93 1.56 -1.3 -1.3 -3.47 -0.26 -2.98 -1.21 -3.32 -2 -2.84 -0.37 -2.21 
+-0.11 -2.56 -1.37 -3.93 1.15 -2.39 1.24 -2.36 -0.39 -2.89 -4.6 -2.28 -2.04 -2.24 -2.3 -1.61 
+-2.12 -1.11 0 -0.96 1.78 -0.74 0.13 -1.37 -1.9 -2.25 -0.11 2.25 0.11 2.11 0 0.96 
+-0.91 -0.48 -1.39 -3.28 -1.7 -2.73 -1.04 -2.58 -1.76 -2.56 -0.7 -3.02 1.65 1.58 3.19 -0.58 
+3.64 0.71 2.02 3.04 2.69 2.06 3.02 2.56 1.93 2.28 1.78 2.39 2.49 -0.71 3 -0.35 
+3.39 -0.02 3.08 0.57 3.67 2.64 2.82 2.8 2.11 1.98 2.78 2.88 0.18 1.84 1.11 2.43 
+2.02 1.04 1.34 -1.04 3 0.5 2.39 1.52 2.66 2.13 0.83 1.87 2.82 0.84 2.66 0.95 
+0.79 1.97 2.45 1.46 2.21 -0.39 0.7 -2.12 0.15 -2.3 0.82 -1.22 2.48 -1.49 -0.41 -2.26 
+-0.96 -2.45 -0.3 -2.3 -2.15 -0.8 -0.26 -2.3 1.15 -1.37 0.74 -1.65 -2.5 -1.35 -1.8 -2.12 
+-2.75 -1.84 -1.72 -1.35 -1.34 -2.62 0.61 -1.41 -1.75 -3.65 3.08 -0.76 2.26 0.78 2.6 -0.28 
+2.87 1.04 1.04 1.96 1.97 0.34 2.54 0.52 -1.02 -1.96 -1.52 -2.97 -1.3 -3.12 -1.57 -2.89 
+-1.34 -3.04 -0.5 -2.3 -1.58 -1.52 -0.08 -1.98 -1.5 -0.46 0 -697.72 4.36 -1.62 -2.25 -0.76 
+-2.61 0.98 0.5 1.41 0 697.72 -0.91 -0.3 -2.28 -2.24 -0.57 -2.23 0.74 -2.59 -1.48 -2.23 
+2.15 -2.24 -0.67 -2.14 1.87 -1.95 0.15 -2.02 -3.41 -0.15 2.08 -2.12 -1.48 -2.08 1.89 -1.29 
+-0.28 -3.52 -0.08 -0.06 0 -672.25 3.04 -1.33 -1.74 -0.28 -0.82 -1.5 2.34 0.37 2.93 -2.76 
+-2.59 0.07 -3.06 1.32 1.91 -2.47 -2.59 0.5 -0.11 -1.93 -0.09 -1.91 0.89 -2.26 1.57 -1.56 
+1.61 -1.59 1.8 -2.06 -3.32 0.71 0.45 -1.39 3.32 -1.7 -2.11 -0.52 1.28 -2.16 2.91 -2.3 
+2.93 -0.72 p
+0.65 -1.35 3.71 -1.54 2.21 0.63 4.06 -0.89 4.43 -2.3 3.84 -1.91 3.56 -1.43 1.91 -1.48 
+2.82 -0.67 2.95 -1.56 1.32 -2.08 3.61 -0.89 1.95 -1.41 4.11 -0.71 1.63 -1.43 -1.48 -0.96 
+3.02 -1.02 4.43 -2.02 0.89 -1.71 2.87 -1.5 -1.17 -0.93 3.6 -1.78 2.13 -1.76 0.93 -2.3 
+1.82 -2.54 3.8 0.54 2.17 1.43 3 1.06 4.08 0.39 4.34 -0.47 5.2 -0.3 4.69 -0.43 
+4.58 -0.07 3.65 -0.35 5.32 0.81 4.1 0.8 3.12 0.91 1.21 2 -0.19 2.11 1.3 1.56 
+1.46 1.56 1.61 1.61 1.82 1.54 1.04 1.82 0.61 1.71 2.93 1.63 -0.97 2.26 1.93 1.47 
+2.74 1.55 2.19 1.45 3.04 1.5 2.43 1.48 3.63 0.78 2.64 0.46 2.43 1.09 1.99 1.37 
+-0.02 1.3 -2.41 0.93 -0.87 1.32 1.61 0.37 1.69 -1.26 0.89 1.34 1.65 1.05 2.13 -0.65 
+1.11 -0.95 0.83 -1.63 2.82 0.7 -1.09 0.98 0.59 1.37 -1.09 0.97 2.15 0.35 2.65 0.05 
+0.15 -0.98 -0.22 -1.32 3.88 0.04 3.85 0.35 -0.2 2.3 -0.95 1 2.17 0.7 2.3 -0.67 
+1.82 -0.98 -1.28 -1.32 2.19 -0.98 1.76 -1 3.45 0.98 3.58 1.3 2.31 1.34 3.25 0.96 
+4.47 -0.04 2.89 0.95 3.64 -0.06 3.5 -0.43 3.71 0.25 3.6 -0.08 4.32 -0.52 3.58 -0.11 
+3.54 -0.15 3.52 -0.15 4.08 -0.85 3.69 -0.54 3.47 -0.87 4.69 0.39 2.37 0.89 4.3 -0.28 
+4.14 0.78 4.55 0.05 4.23 0.75 1.98 0.2 3.84 -0.35 1.3 2.11 1.59 1.32 2.5 0.2 
+0.52 -1.56 1.04 -1.93 1.85 -0.95 2.97 -0.67 -1.21 -2.12 3.3 1.49 1.91 0.57 1.39 1.37 
+1.82 1.37 4.71 1.02 3.1 1.19 4.84 1.04 3.32 -0.02 3.75 -0.46 3.28 0.39 2.47 -0.78 
+2.02 0.96 2.04 -0.28 -0.82 -1.93 2.87 0.83 2.11 2.62 3.29 2.06 3.76 0.74 3.34 1.21 
+4.21 -0.17 3.23 -1 0.23 -1.8 1.85 -1.26 -1.41 -1.11 -2.39 0 0.61 -1.02 1.82 -0.8 
+1.26 -1.2 -1.2 -1.61 3.91 0.11 0.63 -1.58 1.52 -0.89 3.12 0.24 2.17 -1.06 1.52 -1.48 
+2.04 -1.11 1.87 -0.57 2.62 0.2 -3.45 -2.17 -1.97 -2.08 -2.11 -2.08 -2.89 -0.11 -2.36 -1.91 
+-3.56 -2.08 -1.72 -2.21 2.11 -0.31 1.46 1.81 4.49 0.54 3.06 -0.06 0.82 -1.02 0.24 -1.34 
+3.47 0.91 3.97 0.67 1.87 -0.21 4.95 2.21 2.91 0.57 4.05 -0.04 2.93 -0.2 5.1 1.52 
+2.82 -0.26 3.08 -0.37 3.04 -0.39 2.91 -0.5 0.26 -1.11 1.26 -1.09 2.04 -0.93 2.43 -0.24 
+0.22 -1.34 0.85 -1.04 1.52 -0.7 -0.76 -1.8 2.2 -0.35 -1.11 -1.48 2.04 -0.19 -0.29 -1.3 
+1.8 -0.09 0.33 -0.78 3.49 0.46 2.78 -0.35 -0.43 -2.04 -1.28 -1.98 -1.47 -2 -2.34 -2.34 
+-0.8 -1.65 -2.52 -2.32 2.37 0.3 -1.04 -1.49 2.37 0.49 3.34 1.35 1.32 -0.79 0.55 -1.11 
+0.39 -1.17 -2.89 -2.21 -3.86 -2.76 -2.34 -2.12 -3.41 -2.67 -1.93 -2.3 -0.65 -1.04 -0.63 -1.04 
+0.17 -0.67 0.2 -0.65 1.39 -0.83 -2.19 -1.19 -2.21 -1.19 -0.65 -0.83 -0.67 -0.8 1.87 -0.09 
+-1.12 -0.96 -1.15 -0.95 2.34 -0.17 -0.78 -0.87 -1.48 -0.74 0 -64 0.29 -0.18 0.29 -0.15 
+0.28 -0.17 0.06 -0.16 0.07 -0.17 0.04 -0.15 -1.17 -0.66 -1.2 -0.63 -1.19 -0.65 -0.48 -0.37 
+-0.47 -0.35 p
+-0.5 -0.37 -0.83 -0.5 -0.84 -0.48 -0.84 -0.5 -2.26 -0.91 -4.6 -1.78 -2.37 -1 -2.41 -1.05 
+-2.46 -0.99 -1.56 -0.72 -1.61 -0.71 -1.61 -0.7 -1.72 -0.71 -1.71 -0.74 -1.76 -0.71 -2.28 -0.89 
+-2.32 -0.89 -2.35 -0.89 -0.15 -0.21 -0.13 -0.24 -0.15 -0.22 0.32 -0.09 0.33 -0.07 0.35 -0.08 
+-2.65 -0.87 -2.67 -0.89 -2.69 -0.87 0 -0.12 -0.02 -0.16 0 -0.13 1.35 0.22 1.34 0.24 
+1.37 0.26 -1.95 -0.7 -1.95 -0.67 -2 -0.67 -4.28 -1.14 -4.25 -1.08 -4.25 -1.04 -1.87 -0.35 
+-1.84 -0.32 -1.82 -0.3 -3.61 -1.05 -1.84 -0.52 -1.58 -0.48 -1.63 -0.5 -1.65 -0.48 -3.08 -0.48 
+-1.52 -0.21 -3.08 -0.67 -6.21 -1.3 -1.23 -0.06 -2.43 -0.13 2.87 0.87 1.39 0.43 1.78 0.54 
+1.74 0.54 1.73 0.57 1.06 0.41 1.05 0.39 1.02 0.41 4.39 1.17 2.14 0.61 -0.37 0.04 
+-0.39 0.04 -0.37 0.05 -2.64 -0.52 -2.63 -0.52 -2.61 -0.5 3.95 0.93 3.95 0.95 3.93 0.95 
+1.58 0.55 1.57 0.54 1.56 0.56 2.63 0.8 2.6 0.8 2.59 0.8 -0.05 0.3 0 0.17 
+-0.21 0.11 -0.24 0.14 -0.22 0.13 -0.3 0.13 -0.3 0.11 -0.33 0.11 0.63 0.37 0.59 0.37 
+0.61 0.37 1.15 0.5 1.15 0.48 1.13 0.5 1.75 0.63 1.73 0.63 1.74 0.65 2.71 0.89 
+2.72 0.93 2.66 0.91 3.64 1.09 3.63 1.11 3.64 1.11 2.54 0.82 2.56 0.85 2.54 0.84 
+3.91 1.13 1.95 0.59 2.48 1 1.21 0.5 2.52 0.89 2.52 0.91 2.49 0.93 1.96 0.63 
+1.97 0.65 1.99 0.65 0 64 -0.34 -0.2 -1.84 -0.91 -2.69 -1.15 -2.7 -1.11 -1 -0.67 
+-0.97 -0.65 -1.33 -0.63 -1.3 -0.62 0.79 -0.13 0.8 -0.11 2.99 0.73 3 0.76 0.91 -0.82 
+-1.63 -1.17 -1.66 -1.15 -0.98 -1.09 -1 -1.08 -1.58 -1.02 -1.61 -0.99 -0.74 -0.83 -0.74 -0.8 
+-2.47 -1.17 -2.5 -1.15 -1.28 -0.91 -1.28 -0.89 -2.17 -1.07 -2.17 -1.04 -1.76 -0.96 -1 -0.54 
+0 -50.84 0.18 -0.31 0.19 -0.28 0.17 -0.3 -2.15 -0.57 -4.29 -1.08 1.99 0.84 3.91 1.7 
+0 50.84 -0.78 -0.41 -2.11 -1.11 -2.13 -1.11 -2.61 -1.37 -2.62 -1.37 -1.96 -0.56 -1.93 -0.59 
+-0.5 -0.61 -0.52 -0.63 -2.39 -0.93 -2.41 -0.93 -2.26 -0.21 -2.26 -0.18 -1.43 -0.58 -1.43 -0.57 
+-1.3 -0.78 -1.32 -0.79 -2.82 -0.74 -2.84 -0.73 -2.09 -0.2 -2.06 -0.2 -5.95 -1.99 -0.46 -0.48 
+-0.48 -0.48 -3.37 -0.95 -3.38 -0.93 -0.54 -0.5 -0.56 -0.5 -2.23 -0.28 -2.24 -0.31 -1.82 -0.8 
+-1.85 -0.8 -3.16 -1.11 -3.19 -1.09 -3.06 -0.24 -3.06 -0.21 -2.75 -0.5 -2.78 -0.47 0.11 -0.46 
+0.11 -0.44 -2.25 -0.54 -2.26 -0.52 -2.88 -0.57 -2.91 -0.54 -3.43 -0.54 -3.45 -0.52 -2.54 -0.34 
+-2.52 -0.37 -2.21 0.61 -1.45 0.24 -1.46 0.26 -1.82 0.04 -1.82 0.07 -0.7 -0.82 0.72 -0.41 
+0.71 -0.39 -1.82 -0.5 -1.83 -0.48 -0.89 0.48 -0.87 0.5 -2.99 -0.56 -3.04 -0.57 -2.54 -0.54 
+-2.56 -0.52 -3.38 -0.11 -3.37 -0.08 -3.32 -0.02 -3.3 -0.02 -3.19 0.05 -3.17 0.04 0.13 -0.39 
+0.13 -0.41 -2.47 0.48 -2.43 0.48 1.29 0.46 1.3 0.46 -2.6 0.99 1.08 0.55 1.06 0.54 
+1.61 0.63 1.58 0.63 4.95 0.88 -1.43 0.91 -0.17 0.54 -0.15 0.52 1.97 0.41 2 0.41 
+-0.63 0.37 p
+-0.61 0.34 0.89 0.61 0.87 0.58 1.29 0.7 1.25 0.67 -0.61 0.63 -0.59 0.61 -0.87 0.43 
+-0.84 0.46 -2.61 0.78 -2.52 0.82 -2.43 0.83 -0.8 0.48 -0.78 0.5 -1.63 0.13 -1.61 0.13 
+-2.21 0.33 -0.26 0.05 0 -1.91 0.37 -0.65 0.39 -0.67 -2.26 0.08 -2.25 0.11 -2 -0.09 
+-2 -0.06 3.04 1 2.34 0.13 2.37 0.15 0 1.91 -1.93 0.28 2.06 0.39 2.04 0.39 
+2.17 0.7 2.17 0.72 1.21 1.48 -2.17 1.17 -1.43 0.78 -2.69 1.09 -2.08 1.23 -3.06 1.09 
+-3.56 0.78 -4.08 1 -3.93 0.82 -4.26 0.87 -4.16 0.46 -5.42 -0.26 -4.86 0.93 -2.11 1.52 
+-3.99 0.61 -3.67 0.74 -3.14 1.05 -1.07 1.71 -3.88 0.54 -3.64 1.2 -5.54 0.37 -2.3 -1.3 
+1.39 -1.52 -0.33 -1.69 -3.06 -1.09 -1.46 -1.41 -1.34 -0.61 0 -8 2.08 -1.59 -0.91 -0.61 
+-0.89 -0.63 -1.12 -0.21 -1.15 -0.2 0.43 -0.57 0.41 -0.55 -2.43 0.38 -2.46 0.37 -0.32 0.57 
+-0.31 0.54 0.24 0.61 0.26 0.58 1.82 1 4.34 0.31 0 8 -1.21 -0.56 -2.59 -1.15 
+-1.89 -1.29 -3.91 -0.24 -5.29 0.72 -5.39 1.2 -3.04 0 1.35 -1.65 1 -1.45 2.16 -1.69 
+2.09 -1.89 0.8 -0.85 0.82 -0.84 0.18 -0.55 0.2 -0.56 -3.13 0.39 -3.91 1.13 -0.91 -0.32 
+-0.91 -0.31 1.98 -0.61 2 -0.59 0.8 -0.56 0.79 -0.54 -0.43 -0.43 -0.46 -0.41 -0.43 -0.41 
+-0.41 -0.43 -2.37 0.24 -2.39 0.26 -2.93 0.93 -2.91 0.98 0.26 1.25 -1.78 0.89 -1.76 0.91 
+-2.95 0.61 -2.97 0.61 -1.43 0.16 0 -72.48 3.13 -0.24 3.1 -0.22 3.08 -0.2 -0.84 -0.02 
+-0.85 0 -0.87 -0.02 1.95 -0.26 1.97 -0.28 1.98 -0.26 -4.23 0.48 -4.23 0.5 -4.19 0.52 
+0 72.48 -1.95 0.19 -3.39 0.37 -1.8 -0.3 -1.78 -0.28 0 -1.22 2.54 -0.26 2.54 -0.24 
+2.43 -1.34 -3.58 0.41 -3.56 0.41 -0.2 0.5 -0.17 0.52 0 1.22 -0.02 -0.02 -1.19 -0.35 
+-1.17 -0.35 -1.13 -0.35 -1.15 -0.34 -3.14 0.98 -3.13 0.99 -3.02 0.72 -3 0.74 -1.22 1.22 
+-1.99 0.19 -2 0.22 -2.3 0.7 -2.28 0.74 -2.6 0.71 -2.61 0.76 -2.15 0.54 -2.13 0.57 
+-2.14 1.21 -2.11 1.22 0.67 0.89 2.11 0.98 1.39 0.93 0.11 1.41 -1.25 0.89 -3.35 0.35 
+-5.38 0.82 -5.82 1.24 -4.51 1.37 -6.27 1.82 -5.3 0.43 -1.54 1.48 3.86 0.32 1.13 1.02 
+-4.16 0.67 -0.63 1.63 -1.37 1.75 1.32 0.05 4.45 -1.97 4.96 -0.8 3.91 0.52 -0.99 2.35 
+-3.26 1.69 -4.88 0.78 -4.91 0.85 -3.66 1.37 3.04 -0.22 4.75 -0.54 4.66 -0.37 1.02 1.16 
+-5.04 1.21 -1.3 -0.59 -4.99 1.11 -0.44 1.13 3.19 -0.43 3.54 -1.21 3.75 0.02 -0.41 1.35 
+-1.89 1.69 -3.36 0.81 -0.21 1.63 1.63 0.76 2.45 0.5 -2.41 1.06 -4.16 -0.49 -3.19 1.47 
+-2.47 -0.06 -2.43 0.7 0.88 1.15 -1.43 1.37 -3.41 0.06 1.54 -1.73 -4.88 0.32 -0.74 1.38 
+3.19 -1.13 -0.61 1.95 4.12 -0.13 -2.3 1.19 3.37 -0.59 3.17 -0.95 0.26 1.02 -3.06 1.25 
+-3.21 1.04 -1.93 -0.85 -4.25 0.39 -3.37 -0.09 -2.61 -0.52 -1.45 1.72 2.71 0.65 -1.24 1.8 
+2.82 0.42 3.19 -1.11 2.15 0.96 2.39 0.95 2.49 0.91 1.06 1.41 1.17 1.39 2.54 0.61 
+-0.48 1.43 p
+0.37 1.31 2.37 0.93 2.38 0.95 3.08 -0.24 -3.64 1.41 -2.65 1.98 3 0.39 3.75 0.04 
+2.54 0 3.38 -2.13 1.13 1.2 1.13 1.24 0.71 1.47 1.35 1.17 -0.43 1.52 -2.89 2.19 
+-3.58 1.93 -3.12 1.02 -4.1 2.32 -4.36 1.74 -3.78 1.46 -4.06 2.41 2.02 0.67 -1.15 1.8 
+-2.89 0.7 -1.3 1.69 -2.82 1.8 -1.13 0.35 0 -5.62 5.27 -2.08 4.69 -2.21 4.39 -1.76 
+4.1 -1.82 3.84 -1.89 2.8 -1.75 2.52 -1.78 0.22 -1.62 -1.35 -1.22 -2.62 -0.58 -3 1.06 
+-1.89 -0.35 -3.52 0.89 -2.52 -0.07 -3.32 1 -1.56 1.19 1.97 1 1.7 1.39 1.08 1.07 
+0.57 0.87 -1.34 1.21 -4.14 1.83 -4.43 1.75 -3.35 1.72 0 -4.35 2.5 -0.15 2.39 -1.41 
+1.52 -1.17 -0.78 -0.98 -1.59 -0.8 -1.89 1.67 -2.04 0.97 -0.11 1.86 0 4.35 -0.56 0.28 
+-0.33 1 0.78 0.89 0 5.62 -2.34 0.72 -2.2 1.46 0.31 -2.05 -1.39 -0.43 -2.99 1.8 
+-1.52 2.21 0 1.58 3.02 -1.73 0.78 0.73 3.49 -1.08 -3.25 2.23 0.11 1.57 -2.78 1.3 
+-0.33 1.93 -0.39 2.45 -2.56 1.91 2.82 0.08 -1.72 2.11 1.89 0.85 -2.02 2.04 -0.2 1.39 
+2.34 1.39 0.79 1.54 0.8 1.52 1.76 0.7 0 672.25 -2.04 -1.7 -1.76 -3.82 -2.32 -0.37 
+-0.52 -0.07 0 -1.43 1.34 -0.86 -2.49 -1.93 0 -656.36 -1.41 -1.59 -0.13 -0.07 0 -9.89 
+3.11 -1.3 -0.91 -1.65 0.32 -1.41 -2.86 0.32 -0.59 2.37 3.13 -1.28 -2.2 2.95 0 9.89 
+-1.21 -0.58 -0.37 -2.43 -2.17 0.09 0.8 1.11 1.73 1.24 -0.39 1.78 3.15 0.46 0 656.36 
+-0.14 -0.09 -3.08 -1.75 -2.19 -1.05 -2.84 -1.91 3.36 0.33 1.02 -1.8 -2.15 -0.52 0.42 -2.73 
+2.23 -0.67 1.93 -1.15 0.84 -1.69 -3 -1.29 -0.45 -2.1 2.54 -0.85 -4.04 -1.28 -1.69 -1.39 
+0.15 -1.3 2.52 1.57 1.28 -0.16 -2.52 -2.12 1.84 -0.39 -2.26 -2.28 -2.23 -2.3 -1.82 1.02 
+1.43 2.1 -2.41 -0.41 2.52 2.13 -1.2 1.32 -1.56 0.26 -3.32 -1.67 -1.43 1.52 2.41 0.39 
+1.19 1.67 -1.67 1.59 -2.19 1.34 -2.2 1.39 -2.08 2.02 -2.8 0.54 1.2 2.41 2.13 0.48 
+2.69 0.71 -0.61 1.02 2.58 1.46 3.34 1.58 2.96 2.41 3.12 1.71 2.32 1.61 2.2 1.04 
+2.8 0.08 0 1.43 -2.56 -0.41 -2.98 1.37 -3.21 0.3 -2.47 -0.91 -2.45 -0.85 -2.65 -0.67 
+-2.43 1.74 -2.32 1 -0.57 1.78 -1.67 1.28 -1.47 1.17 -1.09 1.52 -2.19 1.13 -1.04 0.84 
+0 -3.52 1.67 -1.34 1.37 -1.71 0.76 -1.96 0.63 -1.75 -0.56 -2.3 -1.52 1.13 -1.37 1.75 
+-0.8 1.93 0.43 1.71 -0.61 2.54 0 3.52 -0.58 0.5 -1.39 1.2 -2.56 0.76 -2.47 -0.68 
+-2.29 -1.64 -1.58 1.43 -3.45 -0.5 -2.93 -0.33 -2.87 -1.02 -2.32 -0.87 -2.52 -0.63 -2.28 -0.83 
+-2.56 -0.65 2.36 -0.74 2.52 0.63 2.52 0.71 2.87 1 2.93 0.35 2.73 -0.26 2.11 -0.5 
+2.73 -0.24 2.24 -1.12 2.21 -1.17 0.93 -2.19 -0.24 -1.89 -1.41 -1.61 -2.56 -0.02 -2.02 0.22 
+-2.52 2.11 -0.5 -3.82 2.89 -0.93 -1.28 -0.98 0 -4.82 -1.21 -1.84 0.96 -2.02 1.61 -1.2 
+2.41 -1.12 -2.41 -0.24 -1.32 -1.65 -1.3 2.95 -0.59 2.48 0.15 1.93 1.71 0.72 0 4.82 
+-0.93 -0.71 p
+-2.23 -3.02 -1.2 -3.19 0.89 -2.06 0.71 -3.21 1.56 -1.78 2.28 -0.39 1.11 -1.41 1.64 2.12 
+3.04 1.07 2.58 1.46 0.05 -1.35 -2.2 -2.34 0.68 -2.99 -3 -0.52 -2.34 0.3 -1.79 -1.34 
+-3.05 0.83 -3.87 0.78 -2.91 0.13 -1.41 1.06 -2.25 -0.98 -2.78 -0.63 -2.76 -0.61 -0.39 2.38 
+1.26 2.5 2.38 1.5 3.02 0.43 1.79 -0.07 3.23 0.29 -2.22 0.96 1.65 1.52 -3.45 -0.09 
+-2.47 0.65 -2 1.65 -1.43 -1.69 -2.41 -0.13 -2 0.32 -2.26 0.46 0.07 1.43 -2.69 -1.32 
+-2.26 0.5 -1.99 0.37 -0.74 -0.84 -2.28 -0.87 -2.12 -1.11 -0.87 -1.45 -1.73 -0.65 0.2 -1.61 
+-1.33 -2.54 1.24 -1.11 1.15 1.17 -1.36 -1.67 -2.54 0.74 0.71 0.87 -1.82 0.13 0.39 1.87 
+-1.87 -1.26 -2.04 0.37 -1.32 1.23 -1.3 1.26 -2.04 0.39 -2.19 0 0 -0.21 1.93 -1.02 
+1.65 -0.87 2.04 -0.36 0.16 -1.7 -2.84 0.39 -2.08 1.25 -2.13 1.24 1.28 1.06 0 0.21 
+-0.2 0 -2.3 -0.84 0.11 -1.71 -2.61 -2.13 -3.02 -1.71 -2.73 -0.39 0.78 2.34 -0.13 1.76 
+-1.75 -3 -1.39 -4.12 -1.74 -0.63 -2.64 -1.32 -2.58 -2.17 -1.02 0.24 ^ 1.85 1.3 
+-0.89 0.89 1.3 1.09 -0.34 1.97 2.21 1.69 1.48 1.76 1.89 1.24 -1.82 0.24 -1.84 -1.26 
+-2 -2.79 -1.21 -1.91 -0.96 1.75 0.11 -3.32 -2.06 -1.96 -1.41 -1.71 -0.3 -2.93 -0.93 -2.21 
+-1.52 -2.45 -0.67 -2.43 0.52 2.21 -0.16 1.37 -1.28 0.43 -1.82 0.29 1.37 -1.37 1.15 -1.13 
+-1.39 -1.82 -1.5 -0.89 -0.93 0.91 -2.73 -0.41 1.39 -1.37 -1.71 -0.67 -0.22 0.13 0 -143.77 
+0.26 -1.87 -1.09 0.52 -0.74 -0.7 0 -8.33 0.87 -1.65 0.02 -1.19 -0.89 2.84 0 8.33 
+-0.5 -0.5 0.29 2.19 0.95 -0.99 0.83 1.34 0 143.77 -1.76 1.06 -2.54 -0.69 -2.52 -0.61 
+-1.48 0.76 -2.41 0.06 -0.16 -0.08 0 -179.37 3.2 -0.8 -0.76 -3.11 -1.52 -1.06 -2.67 1.1 
+1.78 0.43 0.61 2.54 -0.63 0.89 0 179.37 -1.93 -1.07 -2.26 -0.84 -2.74 -0.37 -1.71 0.07 
+0 -116.99 2.41 -1.35 2.39 -1.32 0.79 -2.25 -1.61 -0.98 -1.7 0.93 -1.91 0.46 -1.54 1.46 
+1.17 3.06 0 116.99 -0.67 0.02 -3.08 -0.82 -2.76 -2.05 -2.71 -2.04 -1.83 -3.04 -1.75 -3.08 
+-0.57 -1.58 0 -27.37 0.09 -3.67 -2.36 -2.39 1.89 2.8 0.39 3.25 0 27.37 -0.71 -2 
+-1.52 -3.34 -0.93 -3.87 -1.28 -1.9 -0.65 -1.85 0 -11.33 0.21 -2.02 2.08 -0.37 0.95 -0.85 
+-0.3 -1.54 -0.17 1.32 -1.93 0.61 0 -45.4 0.95 -1.41 1.35 1.08 -1.8 -2.06 -1.84 1.31 
+1.34 1.08 0 45.4 -1.15 0.37 0.31 2.47 0 11.33 -0.83 -2.3 -0.61 -1.78 0 -64 
+2.21 -1.52 1.54 -3 1.69 0.15 2.56 -1.69 1.74 -1.71 2.04 -1.91 -0.2 -2.5 2.28 -1.41 
+-2.24 -0.54 2.89 -2.98 0.67 -3.55 -2.39 -1.78 -0.49 2.88 -2 1.2 -2.71 0.34 -2.2 0.72 
+0.63 1.57 -2.39 0.17 -0.63 -1.55 -2.37 -1.78 -0.37 4.13 -1.71 1.82 -0.05 0 0 -44.22 
+0.7 -1.48 0.17 -1.04 -0.87 2.52 0 44.22 -1.8 0.5 -1.39 1.63 -1.91 1.28 -1.06 -0.63 
+-1.65 3.8 1.91 0.7 1.67 -1.8 1.15 -2.15 1.91 -1.26 2.28 0.47 -0.52 3.67 0.89 2.02 
+-0.05 2.73 p
+-1.89 1.3 1.93 0.68 0 64 -0.81 -2.34 -0.78 -1.23 0 -14.84 0.8 -0.7 -0.87 -3.69 
+-1.15 -2.05 -0.26 -2.66 -1.65 -1.5 0.82 3.7 -0.26 3.88 1.66 0.78 0.89 2.24 0 14.84 
+-1.35 -2.15 -2.41 -3.21 -2.56 -2.22 -1.34 -0.21 -1.58 0.7 0.99 2.99 -0.07 3.21 1.11 3.71 
+0.82 3.22 0.3 2.93 1.09 2.23 2.39 2.41 -1.28 0.48 1.33 1.97 1.84 2.11 1.56 3.37 
+-0.32 1.28 1.21 4.58 0.26 3.17 -1.65 1.11 -2.11 -0.13 -1.62 1.15 1.3 2.84 -0.52 2.56 
+0.26 2.45 -1.57 1.17 -1.61 1.13 -1.17 1.62 1.11 2.46 -1.69 -0.57 -0.81 2.11 -0.95 1.41 
+-2.24 0.3 0.02 3.09 -2.45 -1.48 0.39 -1.61 1.26 -0.95 0.95 -1.41 -1.3 -1.12 -1.28 -0.07 
+-0.76 -0.96 -0.28 -3.54 -1.15 -0.39 0.52 2.26 -0.41 1.56 -1.48 0.26 -1.7 1.47 -0.72 2.24 
+1.33 2.14 0.46 3.58 -2.04 0.07 -0.61 2.28 -0.26 2.67 -1.52 1.63 -1.19 1.07 -2.15 0.43 
+1.96 2.28 -1.39 0.3 -1.52 -3.25 -0.48 -0.02 0 -75.98 2.41 -0.02 1.85 -1 1.82 -1.04 
+2.15 -0.48 1.58 -1.5 1 -2.52 1.61 -1.49 0.8 -2.26 0.8 -2.17 0.02 -3.06 1.65 -1.43 
+1.17 -2.38 0.91 -2.96 0.65 -2.67 0.93 -2.21 0.74 -3.41 1.52 -1.91 1.26 -1.63 -1.57 -2.34 
+1.5 -0.35 1.54 -1.89 0.28 -2.91 0.91 -0.67 -0.17 -1.24 -2.09 0.82 -1.7 -0.18 -1.82 1.35 
+-1.54 1.89 -1.82 1.37 -2.04 0.8 -2.38 1.87 1.63 0.84 1.93 0.61 0.42 2.55 -2.61 2.11 
+-0.72 3.45 1.02 2.8 -0.07 1.46 -1.96 0.95 -1.12 2.47 -1.13 1.72 -0.29 2.52 -2.43 2.21 
+-1.09 1.59 0 -33.04 2 -0.11 1.56 -1.87 1.58 -1.93 1.04 -2.12 -0.28 -2.59 -1.22 0.89 
+-1.02 1.47 -1.67 -0.15 -1.3 1.65 -0.24 3.06 -1.19 0.91 0.73 0.78 0 33.04 -0.25 0.39 
+-0.22 2.54 2.17 -0.48 -1.84 2.49 -1.26 2.09 -1.88 -0.52 -0.87 -0.21 0 -3.12 0.16 -1.65 
+-0.5 -2.23 -1.39 0.37 -0.55 0.93 0.74 0.5 0.21 1.41 1.32 0.67 0 3.13 -1.06 -0.26 
+-1.78 1.8 -1.72 -1.58 -2.02 2.08 2.13 -0.52 1.15 2.02 1.88 0.5 0 75.98 -1.37 -0.13 
+-1.8 -0.2 -1.32 1.41 -2.54 -0.07 -2.47 0.02 -2.17 -0.63 -2.52 -2.52 -2.04 -3.54 -2.32 -2.91 
+-1.78 -2.78 -2.41 -1.52 -2.58 -2.37 -2.59 -2.34 -2.23 -3.02 -2.22 -3.06 -2.19 -3.06 -2.13 -1.89 
+-1.78 -3.76 -0.37 -4.05 -1.76 -1.41 -1.37 -3.32 -0.78 -3.03 -0.58 -3.37 -1.41 -4.14 -1.04 -3.64 
+-0.8 -4 0.65 -2.89 0.63 -2.93 -0.37 -3.36 0.87 -1.2 2.13 -1.07 1.89 -1.47 2.47 -0.43 
+1.3 -2.65 -0.56 -1.04 2.19 -0.96 0.67 1.89 1.8 0.45 1.54 -0.04 1.5 2.69 1.67 1.52 
+1.78 2.38 2.39 3.34 1.54 -0.07 1.67 -1.2 1.69 -1.19 2.02 -0.61 1.71 -1.18 0.91 -1.89 
+1.46 -1.63 0.13 -1.87 -1.46 -2.56 -2.71 -1.26 -2.25 -2.61 -1.96 -2.88 -1.95 -2.93 -2.22 -3.43 
+-2.43 -2.39 0.61 3.45 -3 -5.1 -1.61 -3.25 -2.93 -3.56 -2.59 -0.54 0.79 -2.5 0.49 -2.97 
+2.65 -0.26 1.37 -2.89 1.89 -1.06 2.13 -0.45 1.39 -2.15 1.93 -0.95 0.83 -1.59 1.2 -1.8 
+0.24 -4.02 0.95 -2.28 0.11 -1.61 -2.04 -4.93 -2 -2.02 -1.54 -3.84 -1.28 -3.32 -2.09 -3.38 
+-1.24 -3.34 p
+-1.61 -2.37 -0.41 -3.29 -0.05 -3.5 -0.04 -3.56 0.82 -3.43 1.04 -2.87 -0.29 -3.3 1.59 -1.15 
+0.76 -2.61 2.63 -0.43 2.26 -0.26 2.3 -0.19 1.65 1.56 1.95 -1.34 1.29 -2.13 1.48 -1.69 
+1.04 -3.3 0.67 -3.04 0.71 -3.11 0.79 -4.38 1.39 4.99 2.8 1.55 1.82 2.14 1.87 -0.5 
+0.95 3.27 1.32 3.08 1.67 1.52 2.04 0.06 1.52 -1.54 1.67 1.54 2.59 -2.16 2.56 0.41 
+1.84 0.8 2.06 0.02 1.71 1.59 1.86 0.8 1.24 -1.39 0.17 -1.97 -1.87 -2.02 -2.41 0.09 
+0.09 -3.8 -0.09 -3.1 -1.65 -1.57 -1.98 -2.64 0.48 -2.71 -0.41 -2.91 2.82 -0.26 1.02 3.75 
+-0.42 4.54 1.11 3.8 2.06 0.04 2.11 0.11 2.19 0.66 0.13 3.05 2.21 0.63 -0.57 -4.64 
+1.8 -0.98 2 -1.63 1.3 -2.52 -0.36 -2.87 0.13 -2.45 2.7 -0.79 2.54 -1.25 2 -0.39 
+1.8 -0.89 0.35 -1.93 1.58 -1.91 2.46 -1.76 2.52 0.02 2.91 1.63 2.63 -1.2 3.02 -1.34 
+2.64 -1.15 -4.03 0.59 0.97 -2.72 0.93 -3.29 1.63 -0.16 1.7 -1.82 2.43 -2.17 0.08 -3.45 
+-1.58 -3.29 3.71 -0.42 2.3 -3.12 1.93 -2.95 1.95 -3.02 0.3 -2.86 -0.87 -2.47 2.06 -0.22 
+2.02 -2.91 1.37 -2.14 0.87 -2.48 2.71 -1.54 2.43 -0.83 2.54 -0.26 2.45 -0.83 2.36 -1.36 
+2.32 -1.78 1.55 -1.09 1.93 -1.63 2.26 -2.3 1.8 -2.73 2.21 -2.78 1.45 -1.99 2.13 -3.8 
+-0.45 -3.54 1.21 -4.55 0.41 -4.32 2.91 -1.29 -0.84 -4.46 -2.45 -2.46 -1.87 -1.58 -2.34 -1.5 
+-1.07 -2.84 -0.73 -3.43 3.14 0.74 1 -4.43 1.11 3.88 0.28 3.54 2.28 0.95 2.54 -1.15 
+2.63 -0.17 2.93 -1.73 -1.13 -3.84 -1.07 -2.32 1.24 -1.3 2.02 4.12 1.84 0.54 3.02 -0.74 
+2.89 -2.71 2.56 -1.62 3.45 -1.76 0.78 -2.26 2.7 0.43 0.7 -2.69 1.2 -2.73 -0.98 -2.8 
+3.1 0.28 2.74 0.93 2.64 -1.02 2.58 -2.04 2.69 -0.52 2.61 -2.02 2.69 -0.52 2.71 0.48 
+2.69 -0.5 2.63 -2.5 2.62 -2.43 2.65 -2.43 1.74 -2.3 1.8 -2.26 2.69 -1.91 1.76 -2.24 
+2.73 -0.95 2.73 0.09 3.17 -1.49 1.32 -3.59 0.89 -3.56 0.93 -3.49 0.43 -2.96 -0.41 -3.79 
+-2.7 -5.39 -1.32 -2.17 -2.25 -2.11 -1.3 -2.23 -2.69 -1.5 -1.3 -1.26 -1.71 -2.62 -1.24 -2.71 
+-2.14 -3.02 -2.15 -2.11 -2.61 -1.52 -0.22 -3.84 -0.24 -2.84 0.63 -2.96 0.21 -2.88 0.66 -2.95 
+-0.59 -3.24 -0.17 -3.34 0.26 -2.89 -1.57 -1.67 -0.13 -2.82 0.3 -2.89 -0.15 -2.82 -2.32 -2.54 
+-0.48 -2.78 -2.28 -2.54 -0.5 -2.78 0.41 -2.86 -2.41 -1.13 -2.41 -1.11 0.39 -2.43 -2.61 0.33 
+-2.54 -0.16 -2.61 0.33 -1.23 0.37 0 -157.18 2.76 -0.82 1.3 -1.79 -1.95 -1.04 -0.13 -1.41 
+-2 -0.56 -1.62 1.32 -1.5 0.37 -0.67 -1.47 -4.1 2.14 3.04 -0.78 0.11 1.43 -2.54 1.74 
+2.54 0.63 3.08 -0.8 1.7 1.04 0 157.18 -1.43 0.41 -3.39 -0.02 1.19 -2.04 -2.58 0.32 
+-1.64 -2.62 -1.87 1.13 -2.63 -1.54 -2.36 -0.68 -1.67 -2.12 -2.06 -2.15 -1.61 -2.19 -1.56 -2.17 
+0.63 -2.93 0.89 -3.95 1.11 -2.97 0.3 -2.87 -0.13 -2.84 -0.98 -0.84 -1.59 -1.71 -1.24 -2.71 
+-0.84 -2.76 0.04 -2.84 -0.8 -2.75 -0.71 -2.76 -1.8 -1.71 -1.75 -1.76 -1.37 -1.73 0.19 -2.86 
+-0.98 -2.78 p
+-1.67 -1.71 0.35 -1.98 -1.26 -1.78 -1.76 -1.28 -2.12 -0.29 -3.26 0.74 -2.47 -0.26 -2.99 1.2 
+-2.13 1.63 -3 0.26 -3.23 2.73 -0.02 -1.9 1.56 -2.13 4.52 -2.3 2.28 -2.11 0.06 -2.89 
+2.15 -2.6 2.06 -0.61 1.58 -2.99 -0.21 -2.84 -0.78 -2.36 0.39 -2.45 -1.91 -1.32 -1.73 -0.83 
+-2.39 -0.84 -2.64 -0.3 -1.89 -0.43 -2.96 -0.3 -3.19 0.17 -1.78 1.56 0.89 -2.52 2.39 -2.06 
+0.29 -1.96 0.47 -2.97 1.5 -1.54 0.74 -2.02 -1.96 -1.41 -3.38 0.11 -2.58 1.11 -2.85 1.59 
+-0.56 -1.48 2.37 -3.06 1.97 -3.52 2.85 -1.56 2.14 1.45 2.36 -3.02 0.5 -1.5 -1.97 0.05 
+-2.46 1.99 -0.82 -1.95 3.23 -1.06 -1.45 -1.93 0.24 -2.04 1.52 -1.98 1.85 -3 -0.93 -1.02 
+1.25 -1.98 -2.23 -0.02 -1.5 -1.52 -0.28 -1.52 0.78 -3.02 2.32 -2.97 2.87 -1.91 3.21 -1.95 
+2.73 0.08 1.63 -1.91 1.5 -2.95 -0.41 -2 -0.89 -2.08 -0.3 -2.02 1.63 -2.95 1.72 -2.93 
+-1.48 -1.15 -0.13 -2.04 1.8 -2.93 2.56 -2.36 2.52 -2.3 4.04 -2.67 -0.11 0 0 -1.56 
+3.64 -2.19 1.89 -1.83 2.21 -1.82 3.45 -1.62 3.32 -1.15 2.55 -1.21 2.38 -0.76 2.04 0.24 
+0.98 -1.39 -0.89 -0.59 -2.54 -0.28 -1.24 -1.67 -2.5 -0.35 2.7 -2.21 -3.28 1.09 -1.5 -0.72 
+-2.37 0.74 -2.26 1.74 -0.54 -1.15 -2.84 0.65 -4.19 1.47 -1.34 1.39 -1.46 -0.22 -2.32 1.85 
+-1.91 -0.28 -1.37 1.41 -2.8 1.22 -0.39 1.58 -1.89 0.24 -2.82 1.22 -1.84 1.39 3.3 -1.17 
+3.32 -1.15 4.21 -1.54 2.56 -1.24 3.11 -0.63 1.89 -0.83 -1.13 3.02 3.1 -2.75 1.41 -0.3 
+-2.84 2.75 1 1.69 -1.15 0.93 -1.41 -1.23 -1.62 0.84 -2.04 2.91 1.54 0.18 -0.48 1.52 
+1.5 -0.41 0.87 0.65 0 1.56 -2.41 0.24 -1.59 -0.17 0.98 -1.46 -1.3 -0.13 -1.07 -1.69 
+2.07 -2.93 2.6 -2.82 -0.56 -0.59 -3.06 0.61 -2.08 1.3 1.46 1.8 -1 2.04 -1.7 0.29 
+0.67 -2.59 -0.17 -1.65 -3.3 1.17 -2.32 1.3 -1.32 1.43 -1.95 0.33 -2.7 2.32 0.35 -1.61 
+-2.39 0.78 -2.66 2.95 2.43 -0.2 -1.24 2 -3.08 2.91 1.2 -2.02 -1.2 -1.82 -1.15 2.58 
+-2.09 3.04 1.43 -0.34 -2.21 1.91 -1.59 2.58 1.26 -4.82 -3 3.49 -0.24 1.63 -2.02 0.37 
+-1.82 2.52 -1.75 1.47 -2.41 3.67 -2 2.52 -1.35 2.13 0.96 0.61 4.14 -3.45 -2.38 3.05 
+-1.67 2.56 -1.32 3.73 -1.67 -0.11 -2.43 0.89 -0.49 -1.67 -1.59 2.13 0.63 2.73 -1.98 1.52 
+1.3 0.66 -1.7 1.54 -0.89 2.11 -0.5 1.61 -2.41 2.65 -0.86 2.63 0.07 2.19 2.61 -2.12 
+0.45 -1.61 1.37 -1.56 0.54 -2.11 1.3 -1.04 1.76 -2.06 -1.3 3.17 -1.74 2.06 0.45 1.61 
+-1.67 1.56 -0.49 2.67 -1.98 2.08 -0.78 2.67 -2.65 4.25 0.3 1.02 -1.59 1.08 -0.34 2.11 
+-2.52 1.11 0.63 -2.11 -1.85 0.52 -1.24 1.39 0 -1.89 2.82 -1.11 1.63 -2.13 0.11 -2.16 
+1.93 -2.11 0.83 -2.7 -2.47 0.54 -2.13 4.26 -1.37 2.16 -1.35 3.23 0 1.89 -0.67 0.76 
+-1.91 2.71 -0.98 2.71 -2.17 3.77 -0.2 3.21 -2.08 3.28 -1.82 2.78 -1.41 2.7 -2.43 2.82 
+-1.26 3.8 1.67 -0.11 -1.63 3.3 0.46 1.07 -0.91 3.25 -0.87 3.25 -0.13 3.2 -0.46 3.23 
+-1.04 3.28 p
+0.11 2.08 -1.75 3.36 -0.35 4.29 -1.58 2.29 -0.89 2.28 -1.61 3.38 -1.82 3.93 -0.83 3.32 
+0.85 1.47 -1.89 4.54 -1.5 2.34 0 3.19 -0.7 3.32 0.07 3.19 -1 3.36 0.21 4.25 
+-1.84 4.05 0.52 2.02 -0.74 2.84 -1.22 3.45 -0.47 3.3 -0.8 3.39 -0.76 3.41 0.39 3.12 
+-0.35 3.32 -0.26 3.3 -1.08 3.47 -0.63 3.38 -0.2 3.3 -1.54 4.75 -1 4.04 -0.52 3.39 
+-2.74 3.47 -1.71 1.52 -1.93 3.3 -2.52 2.36 -2.58 2.91 -1.61 1.06 -3.34 3.19 -2.61 3.63 
+-2.34 1.26 -3.34 3.91 -1.71 2.8 -1.72 2.82 -2.19 4.17 0.08 3.43 -1.8 5.28 -0.98 3.84 
+-1.61 2.87 -0.87 2.71 -1.61 4.12 -0.87 3.86 -2.32 5.6 -0.74 3.88 -0.76 3.89 -0.74 3.91 
+-1.39 4.21 -2.14 3.41 -0.61 4.51 -1.32 3.67 -1.32 3.06 -2.06 2.82 -1.35 2.52 1.59 1.67 
+-1.2 4.34 -0.41 3.95 0.24 3.04 2.38 1.96 2.37 1.26 1.52 0.5 1.09 3.19 0.93 2 
+-1.74 0.91 -0.78 -3.37 -1.35 4.47 -1.3 1.97 0.86 0.76 0.43 3.56 -0.08 5.16 1.93 0.24 
+0.52 3.54 2.11 1.37 1.06 4.52 3.2 0.73 2.38 0.59 -0.2 3.32 1.87 -0.44 0.13 3.13 
+2.08 2.65 2.43 -1.37 1.82 3.39 1.96 2.08 -0.91 3.04 1.43 3 0.39 3.62 0.76 3.38 
+0.75 4.73 1.02 2.56 -0.63 3.66 -0.95 3.88 0.04 4.54 1.63 1.56 -1.33 0.84 -0.2 3.47 
+-1.15 2.78 -1.3 0.85 -1.82 -2.15 -1.79 -0.82 -1.97 0.02 -0.33 -2.52 1.02 -3.34 -2.46 -0.39 
+-1.8 0.57 0.81 4.17 -1.96 1.34 -0.3 2.93 -1.59 2.52 -1.73 1.93 -1.29 -0.41 -0.43 2.41 
+-1.71 1.95 1.39 3.19 -0.5 3.22 -1.37 3.99 -0.16 2.98 -1.99 -1.26 -0.22 1.56 -1 1.61 
+0.41 3.3 1.31 2.63 1.02 2.86 -0.63 3.5 -0.56 3.49 -0.35 4.14 -0.22 3.26 0.02 3.91 
+1.13 -1.06 0.04 3.88 -1.24 -1.17 -1.95 1.87 -1.33 1.32 -0.91 3.3 -1.32 1.37 -0.07 2.52 
+-0.82 3.34 -1.55 1.65 -1.04 2.78 -0.74 3.38 0.11 3.43 -0.18 3.69 0.18 4.28 0.11 2.56 
+-0.3 3.12 -0.61 2.58 -0.82 2.11 -1.34 1.8 -2.24 0.13 -2.41 0.46 -0.93 3.21 -0.91 3.36 
+-1.15 2.74 -0.3 3.6 -0.26 3.6 -0.82 2.56 -0.18 3.65 -0.5 3.03 -0.43 3.15 0.48 5.14 
+0.48 3.9 -0.5 1.02 -0.82 2.93 -0.21 4.43 1.2 4.17 0.54 4.27 0.11 4.16 1.58 5.02 
+1.76 4.68 1.69 0.14 0.89 2.34 2.11 0.73 1.54 2.09 0.7 2.99 2.97 4.91 1.15 3.45 
+1.52 4.41 1.24 3.45 2.04 4.86 1.21 3.78 1.32 3.88 2.71 4.86 0.74 4.45 1 3.34 
+1.34 1.43 1.91 1.11 1.68 3.04 -0.18 1.13 1.65 2.97 2 4.95 2.8 2.74 0.18 3.1 
+2.64 4.97 2.73 4.93 2.87 3.73 2.41 3.65 1.95 2.04 2.95 3.62 2.52 2.06 0.97 2.71 
+1.55 2.69 -0.46 1.17 1.63 3.86 -2 -1.19 -2.59 -2.39 -2.58 -2.84 -2.48 -1.58 -2.06 -2.87 
+-1.52 -3.23 -2.41 -3.62 -2.43 -4.12 -2.39 -3.76 -2.87 -3.45 -1.75 -3.73 -2.71 -4.28 -2.58 -5.08 
+-2.7 -3.6 -2.56 -4.36 -1.8 -1.91 -1.63 -3.49 -0.97 -0.2 -2.07 -3.63 0.3 -1.88 -2.28 -4.91 
+-1.89 -4.02 -3.12 -0.39 3.19 5.58 1.37 4.3 1.93 4.45 1.52 3.88 1 4.56 2 0.8 
+2.78 2.84 p
+2.67 3.99 1.23 3.75 1.76 3.43 -0.11 1.93 1.34 3.37 0.96 2.5 1.91 2.58 1.91 4.14 
+-0.43 -3.19 1.5 -0.68 2.47 2.22 1.93 3.28 1.95 3.29 2.58 4.5 1.11 3.21 3.55 3.25 
+0.54 1.56 2.59 2.04 1.65 2.76 1.56 1.17 2.15 2.73 2.69 2.73 3.32 3.82 3.25 3.02 
+2.82 3 2.46 3.73 0.24 1.54 2.19 1.8 0.29 1.52 1.54 3.04 1.65 3.41 1.85 4.14 
+3.28 1.95 3.88 4.23 3.21 3.12 2.84 3.52 1.54 0.48 2.8 1.48 0.48 1.54 2.58 2.25 
+2.93 1.79 -2.3 -2.74 3.19 2.54 0.82 -0.2 1.11 1.78 -1.69 -0.83 1.3 2.52 2.11 0.69 
+2.32 2.63 2.87 2.56 2.91 1.58 2.3 1 2.67 2.04 2.25 2.15 1.71 0.67 2.93 0.3 
+3.26 0.98 3.71 2.02 2.69 1.87 3.54 1.54 3.55 0.37 3.65 0.65 3.23 0.79 3.41 1.08 
+2.56 0.22 1.52 0.63 1.43 0.56 2.3 0.68 -1.32 -2.82 2.41 3.15 2.45 0.95 2.39 0.91 
+3.86 1.8 3.3 1.63 2.02 1.04 1.56 0.11 -3.23 -3.43 -1.17 -2.37 -2.67 -2.58 -2.17 0.74 
+0.46 -1.2 -1.28 -0.63 2.99 0.05 3.38 1.95 0.83 -0.28 3.38 1.88 2.41 1.89 3.4 0.81 
+-0.69 1.61 2.73 2.39 3.32 2.47 1.49 1.06 1.91 1.37 2.93 2.61 0.26 0.21 2.61 2.67 
+3.86 2.82 2.22 0.3 3.12 1.65 3.87 1.17 3.34 2.54 4.29 1.74 0.93 0.39 2.98 1.86 
+4.27 1.43 0.29 -1.65 2.21 0.82 0.91 -0.32 1.59 -0.57 0.43 1.91 2.97 1.71 3.14 1.22 
+3.5 0.91 1.93 -0.26 1.2 1.39 2.3 1.33 -3.71 -1.09 -4.95 -1.34 -3.73 -0.02 3.66 1.21 
+3.06 1.61 2.46 0.91 2.78 0.63 2.6 -0.12 0.76 1.39 3.54 0.24 0.82 -1.45 -3.04 -2.13 
+0.74 0.24 2.37 0.76 2.88 0.72 -1.47 0.78 -0.3 1.41 2.63 -0.2 3.73 0.37 1.84 -0.41 
+3.41 0.54 -2.15 0.7 1.26 1.24 -3.73 -1.46 -3.11 0.31 -4.3 -0.35 -4.14 0.29 4.73 0.84 
+3.95 0.59 4.34 1.43 3.91 0.43 3.49 1.63 3.77 1.28 4.5 1.3 3.73 1.59 3.34 -0.24 
+0.18 1.58 2.78 1.71 4.03 1.61 1.2 0.87 1.72 1.22 2.97 2.06 4.36 1.59 4.77 1.34 
+3.34 0.78 2.58 1.52 3.47 1.15 -3.34 0.96 -0.8 1.97 2.78 1.52 0.67 1.97 1.06 2.11 
+3.21 2 -0.29 -1.67 2.54 0.5 0.5 -2.04 2.32 -1.52 -2.26 -1.95 -0.11 -1.61 2.45 1.26 
+1.82 2.45 0.48 1.8 -1.32 1.63 0.26 1.97 1.66 1.87 -0.52 1.26 -3.49 -0.89 0.06 1.89 
+0.52 1.67 2.17 2.43 2.04 2.6 0.39 1.91 2.93 2.54 2.3 1.91 -0.11 1.63 3.11 1.82 
+3.32 2.13 3.73 1.87 1.93 1.56 3.45 1.71 3.08 2.13 4.41 2.48 0 136.98 -3.37 -0.46 
+-5.6 -0.74 -5.59 -0.82 -5.6 -0.85 -11.16 -1.87 -3.38 -0.63 0 -155.23 -1.48 -2.82 -1.15 -2 
+-1.32 -2.14 -2.7 -0.2 2.37 2.25 -2.32 -0.71 -2.45 0.26 2.45 1.95 -0.13 1.39 1.54 1.82 
+5.19 0.2 0 155.23 -2.17 -0.39 -5.56 -1.05 -5.53 -1.12 -5.55 -1.13 -5.51 -1.24 -5.54 -1.21 
+-10.98 -2.65 -5.47 -1.41 -5.49 -1.43 -5.45 -1.49 -5.45 -1.52 -10.85 -3.21 -5.38 -1.71 -5.41 -1.7 
+-5.36 -1.8 -0.76 -0.26 0 -180.75 -2.47 -2.2 -1.62 -1.95 -2.43 0.89 -4.08 -1.13 -1.76 0.41 
+-2.89 -1.65 p
+-4.1 -1.26 4.82 2.78 3.76 1.43 3.88 0.87 2.91 1.55 3.99 0.26 0 180.75 -4.6 -1.54 
+-5.32 -1.88 -5.34 -1.89 -5.3 -1.98 -5.29 -1.99 -5.27 -2.06 -3.32 -1.32 0 -184.62 0.16 -1.21 
+-3.28 -2.78 -2.98 -3.28 -2.64 -2.73 -4.34 -2.36 -3.93 -2.63 -4.13 -3.28 -3.7 -2.47 -0.29 1.5 
+2.19 2.36 3.09 3.06 1.7 0.37 0.97 1.76 2.52 1.82 2.32 2.23 1.54 0.04 3.04 2.59 
+3.12 2.56 4.64 2.45 0 184.62 -1.93 -0.76 -5.23 -2.18 -5.21 -2.16 -5.19 -2.26 -1.65 -0.7 
+0 -56.83 -0.17 -0.3 -0.2 -0.32 -0.52 -0.09 0.45 0.37 0.43 0.35 0 56.83 -2.91 -1.28 
+0 -57.83 -0.61 -0.63 -0.58 -0.63 -1.41 -0.84 -1.43 -0.87 -0.65 0.06 -0.67 0.07 2.43 1.48 
+1.46 0.7 1.48 0.67 0 57.83 -0.63 -0.29 -5.16 -2.34 -5.14 -2.34 -5.1 -2.43 -2.49 -1.2 
+0 -59.44 -0.98 -0.85 -0.95 -0.87 -2.97 -1.32 -2.97 -1.35 2.17 1.45 2.2 1.48 1.75 0.74 
+1.76 0.72 0 59.44 -2.61 -1.26 -5.05 -2.52 -5.06 -2.54 -5.04 -2.6 -1.99 -1.04 0 -61.09 
+-1.15 -0.74 -1.15 -0.76 -0.63 -0.58 -0.63 -0.57 -2.23 -1.26 -2.23 -1.28 0.58 0.61 0.61 0.65 
+0.87 0.71 0.89 0.74 0.96 0.37 0.93 0.35 1.61 0.89 1.59 0.87 0 61.09 -3.02 -1.58 
+-4.97 -2.7 -4.34 -2.36 0 -61.39 -1.58 -1 -1.59 -1.02 -1.54 -1.04 -1.52 -1.04 -1.56 -1 
+-1.54 -1.02 -2.78 -1.43 -1.59 -1 -1.56 -1.02 0.31 0.91 1.11 1 1.11 1.02 0.45 0.58 
+0.46 0.61 -0.34 0.39 1.8 1.2 1.8 1.17 0.85 0.21 0.84 0.2 2.34 1.15 2.37 1.13 
+-0.3 -0.82 2.47 0.82 0 61.39 -0.63 -0.35 -4.91 -2.78 -4.92 -2.78 -4.88 -2.88 -4.86 -2.87 
+-4.84 -2.97 -4.82 -2.95 -4.75 -3.04 -4.78 -3.04 -4.7 -3.15 -4.73 -3.12 -4.67 -3.19 -4.64 -3.21 
+-4.6 -3.3 -4.6 -3.28 -4.55 -3.36 -4.54 -3.39 -4.49 -3.43 -4.5 -3.45 -4.43 -3.54 -4.42 -3.52 
+-8.73 -7.2 -4.29 -3.67 -4.3 -3.69 -8.46 -7.51 -4.19 -3.82 -4.17 -3.82 -4.1 -3.91 -4.11 -3.89 
+-4.03 -3.97 -4.02 -3.97 -3.97 -4.04 -1.3 -1.34 0 -448.89 0.7 -4.05 0.37 -3.89 -1.69 -1.58 
+-1.02 2.13 1.54 1 -0.89 2.82 1 3.58 0 448.89 -2.67 -2.69 -3.89 -4.13 -1.89 -1.97 
+0 -2.99 -3.62 -4 -3.58 -3.95 -3.47 -3.95 -3.41 -3.91 -3.32 -3.88 -3.28 -3.86 -3.17 -3.84 
+-1.63 -1.93 -1.62 -1.98 -1.63 -1.95 -1.61 -2 -1.63 -2 -1.61 -2.02 -2.39 -3.06 -2.35 -3.04 
+-2.3 -3.04 -2.28 -3.02 -2.21 -2.99 -2.19 -3 -2.15 -2.93 -2.11 -2.95 -2.11 -2.93 -2.06 -2.93 
+-4.04 -5.86 2.06 3.04 2.11 3.08 2.16 3.11 2.22 3.14 2.25 3.17 2.32 3.21 2.13 2.86 
+2.14 2.87 2.18 2.82 2.19 2.85 2.19 2.8 2.21 2.8 2.02 2.58 2.04 2.58 2.09 2.61 
+2.15 2.63 2.14 2.64 2.22 2.67 2.25 2.67 5.25 6.08 5.34 5.99 2.67 2.95 2.71 2.93 
+2.69 2.93 0 2.99 -1.99 -2.13 -3.82 -4.16 -3.82 -4.19 -7.5 -8.46 -3.67 -4.32 -3.67 -4.3 
+-3.6 -4.38 -3.61 -4.36 -7.03 -8.86 -6.88 -8.98 -6.72 -9.12 -6.58 -9.22 -6.4 -9.33 -6.25 -9.44 
+-6.08 -9.55 -5.91 -9.66 -5.75 -9.77 -5.55 -9.85 -5.4 -9.94 -5.21 -10.05 -5.05 -10.13 -4.86 -10.22 
+-4.69 -10.3 p
+-4.51 -10.39 -4.35 -10.46 -4.14 -10.53 -3.95 -10.61 -3.77 -10.68 -3.61 -10.74 -3.38 -10.81 -3.21 -10.85 
+-3.04 -10.91 -1.74 -6.71 0 -162.24 0.13 -0.74 0.22 -1.52 0.08 -3.6 0.13 -3.63 -0.15 1.13 
+-0.18 1.13 -0.15 1.13 -0.04 4.08 -0.05 2.02 0 162.24 -1.08 -4.25 -2.65 -11 -2.43 -11.07 
+-2.25 -11.09 -2.06 -11.13 -1.87 -11.18 -1.67 -11.2 -1.48 -11.24 -1.28 -11.24 -1.09 -11.29 -0.89 -11.29 
+-0.7 -11.3 -0.49 -11.3 -0.26 -10.22 p f*
+942.23 3567.43 -5.06 0.15 2.54 -0.07 2.52 -0.08 f*
+1255.32 3475.58 -1.91 1.15 2.58 -1.52 2.56 -1.56 -1.3 0.78 -1.93 1.15 f*
+1265.64 3469.29 -1.69 1.04 1.23 -0.78 1.7 -1.07 -1.24 0.8 f*
+1277.08 3461.96 -3.28 2.13 1.37 -0.86 1.91 -1.26 f*
+1286.02 3455.96 -3.23 2.2 1.82 -1.21 1.41 -0.98 f*
+1293.92 3450.54 -1.61 1.11 3.15 -2.21 -1.54 1.11 f*
+1303.12 3443.96 -1.84 1.32 3.22 -2.34 -1.37 1.02 f*
+1312.21 3437.21 -2.15 1.61 2.8 -2.11 1.91 -1.45 -2.56 1.95 f*
+1321.2 3430.34 -2.62 1.99 2.47 -1.91 2.39 -1.86 -2.24 1.78 f*
+1330.05 3423.29 -2.02 1.59 1.02 -0.8 3.47 -2.82 -2.47 2.04 f*
+1340.73 3414.41 -3.84 3.23 1.88 -1.56 1.96 -1.67 f*
+1348.29 3407.92 -3.75 3.23 2.84 -2.43 4.02 -3.55 -3.11 2.75 f*
+1355.64 3401.39 -3.67 3.25 3.87 -3.43 3.12 -2.86 -3.32 3.04 f*
+1364.2 3393.58 -4.19 3.82 2.8 -2.58 3.52 -3.27 3.47 -3.3 2.34 -2.25 2.32 -2.24 2.28 -2.26 
+-0.32 0.33 -4.02 3.97 -4.1 3.89 -4.1 3.91 f*
+2.77778 w
+1 J
+1 j
+K
+1570.36 2918.96 -0.13 11.35 -0.37 11.33 -0.37 11.35 -0.76 11.2 -0.89 11.35 -1.13 11.2 -1.26 11.35 
+-1.52 11.2 -1.63 11.21 -1.89 11.1 -2.02 11.21 -2.26 11.07 -2.39 11.09 -2.65 10.96 -2.88 10.96 
+-3.02 10.96 -3.15 10.83 -3.53 10.86 -3.52 10.69 -3.78 10.72 -4.02 10.57 -4.17 10.59 -4.27 10.46 
+-4.52 10.33 -4.66 10.33 -4.91 10.2 -5.03 10.2 -5.14 10.07 -5.43 9.96 -5.66 9.83 -5.64 9.7 
+-5.92 9.7 -6.17 9.57 -6.16 9.44 -6.42 9.34 -6.54 9.18 -6.79 9.07 -6.92 9.07 -6.92 8.84 
+-7.29 8.68 -7.29 8.71 -7.55 8.44 -7.55 8.31 -7.79 8.31 -7.95 8.06 -8.05 7.94 -8.29 7.81 
+-8.31 7.55 -8.42 7.57 S
+1347.44 3408.77 -8.68 7.3 -8.68 7.31 -8.81 7.05 -9.05 6.81 -9.07 6.8 -9.18 6.55 -9.31 6.43 
+-9.44 6.29 -9.55 6.05 -9.7 5.93 -9.68 5.66 -9.94 5.66 -9.94 5.43 -9.94 5.16 -10.2 5.04 
+-10.18 4.91 -10.31 4.66 -10.33 4.54 -10.44 4.41 -10.57 4.16 -10.57 3.91 -10.7 3.77 -10.68 3.64 
+-10.82 3.41 -10.81 3.14 -10.96 3.02 -10.94 2.91 -10.94 2.64 -11.09 2.39 -11.07 2.28 -11.2 1.99 
+-11.07 1.89 -11.2 1.78 -11.2 1.39 -11.3 1.26 -11.2 1.13 -11.33 0.89 -11.33 0.74 -11.2 0.52 
+-11.33 0.24 -11.3 0.13 -11.33 -0.13 -11.33 -0.24 -11.3 -0.52 -11.33 -0.74 -11.2 -0.89 -11.33 -1.13 
+-11.2 -1.26 -11.2 -1.39 S
+832.01 3561.7 -11.2 -1.78 -11.2 -1.89 -11.07 -1.99 -11.07 -2.28 -11.07 -2.39 -11.07 -2.64 -10.96 -2.91 
+-10.8 -3.02 -10.83 -3.14 -10.81 -3.41 -10.7 -3.64 -10.7 -3.77 -10.57 -3.91 -10.57 -4.16 -10.44 -4.41 
+-10.44 -4.54 -10.18 -4.66 -10.33 -4.91 -10.07 -5.04 -10.04 -5.16 -9.94 -5.43 -9.81 -5.66 -9.84 -5.66 
+-9.54 -5.93 -9.57 -6.05 -9.44 -6.29 -9.31 -6.43 -9.18 -6.55 -9.18 -6.8 -8.94 -6.81 -8.79 -7.05 
+-8.81 -7.31 -8.55 -7.3 -8.44 -7.57 -8.42 -7.55 -8.18 -7.81 -8.05 -7.94 -7.92 -8.06 -7.81 -8.31 
+-7.66 -8.31 -7.42 -8.44 -7.42 -8.71 -7.18 -8.68 -7.03 -8.84 -6.92 -9.07 -6.66 -9.07 -6.55 -9.18 
+-6.4 -9.34 -6.3 -9.44 S
+378.62 3272.46 -6.05 -9.57 -5.9 -9.7 -5.8 -9.7 -5.53 -9.83 -5.41 -9.96 -5.29 -10.07 -5.01 -10.2 
+-4.8 -10.2 -4.78 -10.33 -4.41 -10.33 -4.4 -10.46 -4.14 -10.59 -3.91 -10.57 -3.78 -10.72 -3.64 -10.69 
+-3.38 -10.86 -3.15 -10.83 -3.02 -10.96 -2.91 -10.96 -2.63 -10.96 -2.4 -11.09 -2.26 -11.07 -2.14 -11.21 
+-1.87 -11.1 -1.65 -11.21 -1.5 -11.2 -1.25 -11.35 -1.02 -11.2 -0.87 -11.35 -0.76 -11.2 -0.5 -11.35 
+-0.26 -11.33 -0.13 -11.35 0.13 -11.32 0.26 -11.35 0.5 -11.33 0.76 -11.22 0.87 -11.33 1.02 -11.33 
+1.25 -11.21 1.5 -11.22 1.65 -11.2 1.87 -11.22 2.14 -11.09 2.26 -11.09 2.4 -11.09 2.63 -10.96 
+2.91 -11.07 3.02 -10.85 S
+299.24 2740.08 3.15 -10.83 3.38 -10.83 3.64 -10.7 3.78 -10.72 3.91 -10.57 4.14 -10.59 8.81 -20.91 
+4.78 -10.2 4.8 -10.33 5.01 -10.07 5.29 -10.09 5.41 -9.94 5.53 -9.83 5.8 -9.83 5.9 -9.57 
+6.05 -9.57 6.3 -9.44 6.4 -9.33 6.55 -9.2 6.66 -9.2 6.92 -8.94 7.03 -8.81 7.18 -8.81 
+7.42 -8.57 7.42 -8.44 7.66 -8.45 7.81 -8.18 7.92 -8.07 8.05 -7.92 8.18 -7.81 8.42 -7.68 
+8.44 -7.45 8.55 -7.42 8.81 -7.18 8.79 -7.05 8.94 -6.95 9.18 -6.66 9.18 -6.55 9.31 -6.43 
+9.44 -6.29 9.57 -6.05 9.54 -5.93 9.84 -5.79 9.81 -5.54 9.94 -5.42 10.04 -5.17 10.07 -5.16 
+10.33 -4.8 S
+648.35 2330.79 10.18 -4.77 10.44 -4.41 10.44 -4.43 10.57 -4.14 10.57 -3.9 10.7 -3.78 10.7 -3.66 
+10.81 -3.39 10.83 -3.14 10.8 -3.04 10.96 -2.89 11.07 -2.64 11.07 -2.39 11.07 -2.28 11.07 -2.15 
+11.2 -1.88 11.2 -1.63 11.2 -1.52 11.2 -1.25 11.33 -1 11.2 -0.89 11.33 -0.76 11.3 -0.5 
+11.33 -0.26 11.33 -0.11 11.3 0.11 11.33 0.26 11.2 0.5 11.33 0.76 11.33 0.89 11.2 1 
+11.3 1.25 11.2 1.52 11.2 1.63 11.07 1.88 11.2 2.15 11.07 2.28 11.09 2.39 10.94 2.64 
+10.94 2.89 10.96 3.04 10.81 3.14 10.82 3.39 10.68 3.66 10.7 3.78 10.57 3.9 10.57 4.14 
+10.44 4.43 10.33 4.41 S
+1185.79 2326.02 10.31 4.77 10.18 4.8 10.2 5.16 9.94 5.17 9.94 5.42 9.94 5.54 9.68 5.79 
+9.7 5.93 9.55 6.05 9.44 6.29 9.31 6.43 9.18 6.55 9.07 6.66 9.05 6.95 8.81 7.05 
+8.68 7.18 8.68 7.42 8.42 7.45 8.31 7.68 8.29 7.81 8.05 7.92 7.95 8.07 7.79 8.18 
+15.11 16.88 7.29 8.57 7.29 8.81 6.92 8.81 6.92 8.94 6.79 9.2 6.54 9.2 6.42 9.33 
+6.16 9.44 6.17 9.57 5.92 9.57 5.64 9.83 5.66 9.83 5.43 9.94 5.14 10.09 5.03 10.07 
+4.91 10.33 4.66 10.2 4.52 10.46 4.27 10.45 4.17 10.59 4.02 10.57 3.78 10.72 3.52 10.7 
+3.53 10.83 S
+1542.05 2729.25 3.15 10.83 3.02 10.85 2.88 11.07 2.65 10.96 2.39 11.09 2.26 11.09 2.02 11.09 
+1.89 11.22 1.63 11.2 1.52 11.22 1.26 11.21 1.13 11.33 0.89 11.33 0.76 11.22 0.37 11.33 
+0.37 11.35 0.13 11.32 S
+922.22 2368.1 -2.15 1.49 -4.01 0.63 -3.65 0.76 -3.14 1.02 -1.02 1.63 -3.89 0.63 -3.66 1.13 
+-5.54 0.39 -2.25 -1.26 1.39 -1.52 -0.39 -1.76 -3.02 -1.02 -1.49 -1.39 -2.52 -1.26 -2.65 -1.13 
+-1.89 -1.26 -3.9 -0.24 -5.27 0.74 -5.41 1.15 -3.04 0 1.39 -1.65 1.02 -1.39 2.13 -1.76 
+2.15 -1.89 0.73 -0.76 0.89 -0.89 0.13 -0.62 0.24 -0.5 -1.63 0.26 -1.5 0.13 -2.02 0.63 
+-1.89 0.5 -1.02 -0.26 -0.87 -0.37 2.02 -0.62 1.99 -0.5 0.76 -0.63 0.76 -0.52 -0.37 -0.5 
+-0.52 -0.37 -0.37 -0.39 -0.37 -0.5 -2.41 0.26 -2.39 0.24 -2.88 1.02 -3.02 0.87 0.13 0.63 
+0.24 0.63 -1.89 1.02 S
+856.16 2358.9 -1.75 0.89 -2.89 0.63 -3.02 0.5 -3.41 0.37 -3.38 0.39 -1.78 -0.26 -1.76 -0.37 
+-1.25 -0.26 -1.13 -0.37 -1.13 -0.39 -1.13 -0.37 -3.14 1 -3.15 1.02 -3.02 0.73 -3.02 0.63 
+-0.63 0.63 -0.5 0.65 -2.02 0.24 -2.02 0.13 -2.26 0.75 -2.38 0.76 -2.52 0.74 -2.65 0.63 
+-2.15 0.63 -2.12 0.52 -2.15 1.26 -2.12 1.26 0.74 0.86 2.02 0.89 1.39 1 0.14 1.39 
+-1.26 0.89 -3.28 0.37 -5.41 0.76 -5.79 1.26 -4.54 1.39 -6.27 1.76 -5.29 0.52 -1.5 1.5 
+3.75 0.26 1.15 1 -4.17 0.76 -0.63 1.65 -1.37 1.63 1.37 0.13 4.41 -2.02 5.04 -0.76 
+3.9 0.5 -1.02 2.41 S
+781.05 2389.39 -3.25 1.63 -4.91 0.76 -4.91 0.89 -3.67 1.37 3.04 -0.24 4.77 -0.5 4.64 -0.39 
+1.02 1.13 -5.04 1.28 S
+772.77 2395.31 -1.26 -0.65 -5.03 1.15 -0.37 1.13 3.15 -0.5 3.52 -1.12 S
+772.77 2395.31 3.77 0 -0.39 1.26 -1.89 1.76 -3.38 0.76 -0.26 1.63 1.65 0.76 2.52 0.5 
+-2.52 1.13 -4.16 -0.5 -3.15 1.39 -2.52 0 -2.38 0.63 0.89 1.13 -1.39 1.39 -3.52 0.13 
+1.63 -1.76 -4.91 0.37 -0.76 1.26 3.15 -1 -0.63 1.89 4.17 -0.13 -2.28 1.13 3.41 -0.5 
+3.14 -1 0.24 1 -3.02 1.26 -3.28 1.13 -1.89 -0.87 -4.27 0.37 -3.39 -0.13 -2.64 -0.5 
+-1.39 1.75 2.64 0.63 S
+745.96 2412.17 -1.13 1.79 2.76 0.5 3.15 -1.13 2.28 0.87 2.39 1.02 2.38 0.87 2.26 2.78 
+2.52 0.63 -0.37 1.52 0.24 1.26 2.41 0.87 2.39 1.02 3.14 -0.26 -3.64 1.39 -2.65 2.02 
+2.89 0.37 6.42 0 3.28 -2.12 2.26 2.52 0.76 1.39 1.37 1.26 -0.5 1.5 -2.89 2.15 
+-3.51 2.02 -3.15 1 -4.16 2.28 -4.27 1.76 -3.78 1.39 -4.14 2.39 2.15 0.76 -1.26 1.75 
+-2.78 0.76 -1.39 1.65 -2.76 1.76 -3.54 1.13 -2.12 1.39 0.26 -2.02 -1.39 -0.37 -3.02 1.76 
+-1.52 2.26 0 1.52 3.02 -1.75 0.76 0.76 3.51 -1.02 -3.25 2.15 0.11 1.63 S
+741.43 2459.29 -2.76 1.25 -0.39 2.02 -0.37 2.41 -2.52 1.89 2.78 0.11 -1.65 2.02 1.89 0.89 
+-2.02 2.02 -0.24 1.39 2.39 1.39 0.76 1.63 0.76 1.52 1.75 0.63 3.02 -1.25 -1.62 -0.26 
+-0.89 -1.52 2.39 0.39 S
+744.71 2475.8 2.88 -2.78 -2.52 0 -3.12 1.39 2 -2.52 -2.62 0.5 -0.13 -1.89 -0.12 -2.02 
+0.89 -2.15 1.63 -1.63 1.63 -1.52 1.75 -2.13 -3.38 0.74 0.5 -1.37 3.41 -1.78 -2.15 -0.5 
+1.26 -2.15 2.88 -2.26 2.91 -0.76 0.73 -1.39 3.67 -1.5 2.26 0.63 4.02 -0.89 4.41 -2.26 
+3.91 -1.91 3.51 -1.5 1.89 -1.39 2.78 -0.76 3.02 -1.52 1.39 -2.12 3.52 -0.89 2.02 -1.39 S
+789.5 2436.11 4.02 -0.76 1.65 -1.37 -1.39 -1.02 2.88 -1 4.54 -2.02 0.89 -1.65 2.89 -1.5 
+-1.26 -1.02 3.64 -1.76 2.15 -1.76 0.87 -2.28 1.89 -2.52 3.78 0.49 2.14 1.52 3.02 1 
+4.02 0.39 4.41 -0.5 5.17 -0.26 4.64 -0.37 4.67 -0.13 3.64 -0.39 5.27 0.89 4.17 0.76 
+3.14 0.89 1.13 2 -0.13 2.15 1.26 1.52 1.49 1.62 1.52 1.52 1.88 1.63 1 1.78 
+0.63 1.76 2.91 1.63 -1.02 2.28 2.02 1.39 2.78 1.63 2.13 1.39 3.02 1.52 2.52 1.5 
+3.54 0.76 2.63 0.39 2.52 1.13 2.02 1.39 -0.12 1.26 -2.39 1 -0.89 1.26 1.65 0.39 
+1.63 -1.26 0.89 1.37 S
+894.92 2454.75 1.75 1.02 2.13 -0.63 1.02 -1.02 0.87 -1.62 2.78 0.76 -1 1 0.5 1.26 
+-1.02 1.02 2.14 0.36 2.65 0 0.11 -1 -0.24 -1.25 3.91 0 3.88 0.37 -0.24 2.39 
+-0.89 0.89 2.14 0.76 2.26 -0.63 1.88 -1.02 S
+919.57 2457.4 -1.39 -1.39 2.28 -1 1.76 -0.89 3.38 0.89 3.65 1.39 2.28 1.26 3.25 1 
+4.53 0 2.78 0.89 3.64 0 3.52 -0.5 3.78 0.24 3.52 0 4.41 -0.5 3.54 -0.13 
+3.52 -0.24 3.52 -0.13 4.04 -0.76 3.77 -0.63 3.52 -0.89 4.64 0.39 2.41 1 4.27 -0.36 
+4.14 0.75 4.54 0.13 4.14 0.74 2.02 0.13 3.88 -0.24 1.26 1.99 S
+1014.17 2460.54 1.65 1.39 2.52 0.13 0.5 -1.52 0.99 -1.88 1.89 -1 2.91 -0.62 -1.15 -2.15 
+3.27 1.52 1.89 0.5 1.39 1.39 1.89 1.39 4.64 1 3.14 1.13 4.78 1.15 3.28 0 
+3.77 -0.52 3.28 0.39 2.52 -0.76 2.02 0.89 2 -0.26 -0.76 -1.89 2.91 0.76 2.02 2.65 
+3.26 2.13 3.78 0.63 3.41 1.28 4.14 -0.13 3.28 -1.02 0.24 -1.89 1.89 -1.13 -1.5 -1.12 
+-2.39 0 0.63 -1.02 1.89 -0.87 1.25 -1.15 -1.25 -1.63 3.88 0.13 0.63 -1.65 1.52 -0.87 
+3.15 0.24 2.25 -1 1.52 -1.52 2 -1.12 1.89 -0.5 2.52 0.13 -3.39 -2.15 -2.02 -2.02 
+-2.02 -2.15 -2.89 -0.13 S
+1093.18 2445.68 -2.38 -1.89 -3.54 -2.12 -1.76 -2.15 2.14 -0.37 1.39 1.89 4.52 0.5 3.02 0 
+0.89 -1.13 0.26 -1.26 3.38 0.87 4.04 0.63 1.89 -0.13 4.9 2.15 2.89 0.63 4.04 -0.12 
+3.02 -0.11 5.03 1.5 2.88 -0.24 3.02 -0.39 3.02 -0.37 2.89 -0.5 S
+1138.71 2443.05 0.39 -1.15 1.26 -1.13 2.02 -0.89 2.39 -0.24 0.24 -1.39 0.89 -1 1.5 -0.63 
+-0.87 -1.91 2.26 -0.24 -1.13 -1.52 2.02 -0.24 -0.25 -1.26 1.88 -0.12 0.26 -0.76 3.52 0.5 
+2.78 -0.37 -0.52 -2.02 -1.25 -2.02 -1.5 -2.02 -2.26 -2.26 -0.76 -1.65 -2.64 -2.39 2.38 0.24 
+-1 -1.37 2.38 0.49 3.28 1.26 1.37 -0.76 S
+1157.33 2418.23 0.52 -1.12 0.37 -1.13 -2.88 -2.28 -3.78 -2.65 -2.38 -2.14 -3.41 -2.76 -1.89 -2.28 
+-0.63 -0.99 -0.76 -1.02 0.26 -0.74 0.13 -0.63 0.76 -0.39 0.63 -0.37 -2.15 -1.25 -2.15 -1.15 
+-0.74 -0.87 -0.63 -0.75 0.87 -0.13 1.02 0 -1.15 -1 -1.13 -0.89 1.13 -0.12 1.15 -0.14 
+-0.39 -0.36 -0.37 -0.37 -1.89 -1.02 -1.75 -0.87 -2.64 -1.15 -2.78 -1.13 -1 -0.63 -1 -0.76 
+-1.26 -0.63 -1.39 -0.62 0.89 0 0.74 -0.13 3.02 0.63 3.03 0.76 0.37 -0.37 0.5 -0.39 
+-1.63 -1.13 -1.65 -1.13 -1 -1.13 -1 -1.15 -1.52 -1 -1.63 -1 -0.76 -0.76 -0.76 -0.89 
+-2.52 -1.13 -2.38 -1.13 S
+1119.73 2375.91 -1.39 -0.89 -1.26 -0.89 -2.13 -1.13 -2.14 -1 -1.76 -1.02 -1.89 -0.87 -2.02 -1.15 
+-2.13 -1.12 -2.64 -1.39 -2.65 -1.26 -1.89 -0.62 -2 -0.63 -0.52 -0.63 -0.5 -0.5 -2.38 -1.02 
+-2.39 -0.87 -2.25 -0.26 -2.28 -0.13 -1.36 -0.63 -1.52 -0.63 -1.26 -0.76 -1.26 -0.74 -2.89 -0.75 
+-2.78 -0.76 -2.12 -0.13 -2.02 -0.24 -3.02 -1.02 -3.02 -1 -0.89 -0.89 -3.41 -1 -3.38 -0.89 
+-1 -0.99 -2.28 -0.26 -2.26 -0.37 -1.76 -0.76 -1.89 -0.89 -3.14 -0.99 -3.28 -1.15 -3.02 -0.24 
+-3.02 -0.26 -2.78 -0.37 -2.75 -0.5 0.13 -0.52 0 -0.37 -2.14 -0.62 -2.26 -0.5 -2.91 -0.52 S
+1022.22 2341.75 -2.89 -0.63 -3.51 -0.5 -3.41 -0.49 -2.52 -0.37 -2.52 -0.39 -1.13 0.39 -1.13 0.24 
+-1.52 0.26 -1.37 0.24 -1.89 0.13 -1.75 0 -0.39 -0.37 -0.37 -0.5 0.76 -0.39 0.74 -0.37 
+-1.89 -0.5 -1.75 -0.52 -0.87 0.52 -0.89 0.5 -3.02 -0.5 -3.02 -0.66 -2.52 -0.49 -2.64 -0.5 
+-3.28 -0.14 -3.39 -0.12 -9.81 0 -3.15 0.13 0.13 -0.49 0.11 -0.37 -2.52 0.5 -2.38 0.5 
+1.25 0.36 1.26 0.52 -1.26 0.5 -1.39 0.5 1.15 0.5 1.13 0.52 S
+960.59 2339.75 1.5 0.64 1.65 0.63 2.52 0.5 2.39 0.37 -0.76 0.5 -0.63 0.52 -0.25 0.49 
+-0.11 0.5 2 0.39 S
+968.88 2344.29 2.02 0.5 -0.63 0.24 -0.62 0.39 0.89 0.63 0.87 0.63 1.26 0.63 1.26 0.75 
+-0.63 0.5 -0.5 0.63 -0.87 0.5 -0.89 0.39 -1.25 0.49 -1.39 0.38 -1.26 0.39 -1.26 0.37 
+-1.12 0.37 -1.26 0.52 -0.76 0.5 -0.86 0.37 -1.52 0.26 -1.63 0.13 -2.25 0.24 -2.15 0.39 
+2.02 0.36 2 0.39 2.28 0.63 2.13 0.73 0.63 0.76 0.52 0.76 -1.02 0.5 -1.13 0.63 
+-1.39 0.76 -2.76 1.13 -2.02 1.25 -3.02 1.02 -3.64 0.89 -4.04 1 -3.91 0.76 -4.27 0.87 
+-4.15 0.52 -5.53 -0.26 -4.77 0.89 S
+956.18 2352.21 -2.38 -0.13 -2.29 -0.11 -1.49 -0.52 -1.63 -0.5 2 0.13 2.02 0 S
+952.41 2351.08 2.26 0 2.28 -0.12 -0.39 0.63 -0.37 0.63 S
+886.87 2355.88 -0.39 0.5 -0.37 0.5 1.13 0.26 1.13 0.24 0.89 0.63 0.88 0.64 -2 1.52 
+-4.41 -0.26 -1.76 -1 -0.52 -1.26 0.26 -0.5 0.36 -0.52 2.41 -0.37 2.39 -0.37 S
+845.72 2358 -1.26 0.64 -1.26 0.75 -2.52 0.26 -2.52 0.24 0.13 -0.5 0.26 -0.5 3.52 -0.5 
+3.64 -0.39 S
+755.54 2433.59 1.5 -1.13 3.27 -1 2.65 0 3.38 -0.89 2.02 0.37 2.89 -1 2.65 0.5 
+1.39 1.26 -0.26 1.65 -2.52 1.75 -2.75 1.76 -3.91 1.89 -4.04 1.88 -4.38 1.65 -4.67 2.26 
+-5.27 2.14 -0.76 -1.02 0.24 -0.87 3.91 -2.02 S
+750.87 2442.79 4.41 -1.75 4.14 -1.89 1.39 -1.15 -0.5 -0.87 -1.12 -1.15 -1.65 -1.37 -1.99 -1.02 S
+751.63 2435.61 1.49 0.76 0.89 1 -1.62 1.15 -2.28 1.49 -2.52 0.13 0 -1.89 2.15 -1 
+1.89 -1.65 S
+732.12 2468.62 2.91 -0.37 -0.26 1.37 S
+734.77 2469.62 0.89 1.78 -3.14 1.26 2.25 -3.04 S
+734.77 2469.62 -3.15 1.39 0.5 -2.38 S
+743.58 2478.69 2.64 -0.87 2.26 0.76 -4.28 1.63 -0.63 -1.52 S
+728.73 2479.58 2.25 0 0.39 2.39 S
+731.38 2481.96 1.26 0.63 1.36 1.65 -3.14 -0.5 0.52 -1.78 S
+731.38 2481.96 -1.78 -1.26 -0.87 -1.13 S
+761.2 2494.32 4.51 0 -4.64 1.39 0.13 -1.39 S
+503.41 2893.9 -2.13 -1.39 -0.49 -3.51 S
+500.79 2889 -1.89 -0.26 0 -5.16 -0.39 -3.52 -0.87 -0.76 1.26 -2.02 1.37 -4.41 0.76 3.28 
+1.75 -0.89 -0.87 -2.02 -1.12 -3.15 -1.52 -0.5 -2.38 -1.25 -2.39 -2.02 -0.26 -3.02 0.39 -3.91 
+1.26 -4.29 -1.65 -1.76 1.39 -2.52 2.02 -2.78 1.37 -3.02 1.26 -3.77 0.63 -4.4 2.15 -3.41 
+1.39 -4.3 0.74 -3.88 1.52 -7.81 2.39 -5.55 0.89 -3.91 1.5 -4.04 0.89 -2.75 1.63 -2.91 
+1.02 -3.77 1.76 -5.3 -0.13 -3.39 2.26 -4.17 1.65 -2.88 1.76 -2.78 3.38 -3.91 2.28 -1.26 
+2.65 -3.66 3.38 -3.15 1.52 -0.99 2.63 -3.02 2.52 -2.28 1.89 -3.41 1.76 -1.5 2.78 -3.4 
+0.5 -3.41 S
+547.57 2746 1 -4.03 1.52 -4.78 0.13 -3.28 0.63 -3.41 1.13 -3.52 0.26 -3.27 0.37 -3.28 
+-0.37 -3.15 0.74 -3.4 0.76 -3.41 0.5 -3.28 1.25 -3.39 0.76 -2.91 -0.63 -2.02 1.89 -4.04 
+-0.26 -4.27 1.02 -3.41 0 -3.14 0.63 -3.28 0 -3.28 1.5 -2.26 1.89 -4.53 -0.87 -1.52 
+0.87 -3.28 1.78 -3.91 1.63 -3.38 0.87 -2.28 1.65 -2.26 0.37 -4.4 1.75 -3.28 -0.11 -2.15 
+1 -3.28 0.5 -3.14 0.13 -3.28 0.89 -3.28 0.86 -3.28 -0.5 -1 1.63 -3.27 -1.63 0.13 
+1.26 -3.8 2.38 -2.88 1.39 -2.65 1.89 -2.78 2 -3.27 0.25 -3.28 2.15 -3.78 1 -2.65 
+1.89 -2.75 S
+587.33 2595.98 1.89 -2.14 1.89 -0.5 -0.63 2.13 2.52 -1.13 0.37 -2.12 1.52 -1.02 -0.26 -1 
+2.65 -4.29 0.76 -2.65 2 -2.12 0.52 -2.65 1.63 -1.52 -0.37 -1.63 1.63 -2.15 1.39 -3.15 
+-1.75 2.15 -1.39 1 -0.5 2.15 -1.39 1.49 -0.39 1.65 -2.63 2.13 -0.12 -2.26 0.89 -2.65 
+2.38 -2.65 0.5 -1.49 0.87 -2.15 1.79 -1.52 -1.26 -0.76 1.89 -1.5 -0.62 -2.64 1.63 -2.15 
+0.5 1.65 2.38 -0.89 1.65 0.13 1.37 -3.77 1.65 -2.54 2.39 -3.02 -4.14 3.4 -0.89 -0.62 
+1.26 -2.15 2.02 -2.52 2.39 -3.64 1.76 -1.39 1.89 -2.52 2.02 -0.39 0.24 -1.62 3.04 -3.54 
+-1.26 4.8 1.5 -2.52 S
+624.43 2539.67 2.26 -2.02 -1.5 0.38 2.13 -3.02 1.15 -2.52 1.26 1.76 -1.26 2.02 3.14 -2.88 
+1.13 -2.02 -2.39 0.24 2.63 -3.02 2.38 -0.76 -0.24 1.65 2.65 -2.41 1.89 -0.24 1.37 -1.52 
+2.28 -1.26 3.38 -1.12 0.13 1.63 -0.63 2.65 1.63 -0.37 1.02 -2.02 -1.39 -1.76 2.02 -1.39 
+3.02 -0.5 0.63 0.5 -2.64 2.89 -2.02 2.91 1.02 1.63 1.37 0.13 -0.99 1.52 1.52 0.13 
+2.52 -0.26 -4.03 2.78 -2.52 2.25 -2.52 2.39 -1.76 2.91 0.13 2.02 1.39 1.13 -1.64 2.91 
+-1.63 3.02 0.25 2.02 0.88 2.02 0.5 2.02 -1.5 3.02 -1.65 1.89 -2.75 -0.13 -3.14 2.02 
+-2.89 1.89 -2.41 2.91 S
+628.58 2567.64 -0.74 3.02 S
+627.84 2570.66 0.24 1.52 1.52 1.63 2.25 0 -1.25 1.89 0.89 1.02 -1.75 3.02 -1.52 2.02 
+-0.26 2.02 1.39 1.89 -3.14 1.13 0.76 1.89 2.52 -2.02 1.89 0 -0.5 1.52 -2.28 3.02 
+-2.12 -1.39 -2.89 1.52 -2.02 3.51 -2.39 3.04 0.63 1.5 2.76 -1.62 2.64 -1.02 3.39 -0.11 
+1.88 1.39 -0.62 2 -1.5 1.52 -0.5 3.02 -0.26 1.89 -2.39 2.02 -0.89 2.64 1.76 -1.63 
+3.15 -0.13 3.04 0.26 1.87 0.37 2.64 0.37 2.39 0.89 1.65 0.75 1.99 1.39 -0.36 2.39 
+0.75 2.39 0.13 2.91 -1.52 2.89 -2.12 0.63 -2.15 2.64 0 2.91 -2.26 2.02 -4.54 2.39 S
+630.73 2634.53 -1.62 2.02 0.11 2.02 3.14 -2.78 3.02 -0.26 2.15 -1.63 3.02 -1.13 2.52 0.24 
+3.14 -0.75 2.15 0.26 1.76 1.25 1.26 1.76 -0.26 2.02 1.63 1.78 1.02 2.76 -0.26 2.78 
+1.39 1.76 1.76 1.75 1.76 1.78 0.76 2.76 0.76 2.78 0 2.78 0.87 2.78 1.15 2.63 
+1.63 1.78 1 0.87 0.13 2.78 -0.37 2.91 -1.02 3.02 -0.87 3.91 -0.63 2.89 1.5 2.14 
+1.64 2.28 2.02 2.13 1.63 2.15 2.38 0.63 2.65 1.52 1.89 -1.15 1.63 2.64 2.64 -0.24 
+-1.25 2.02 3.38 0 2.65 -0.76 2.64 -0.39 2.52 0.13 2.65 -0.26 -0.39 2.41 4.77 2.26 
+-0.37 2.91 S
+696.4 2702.43 0.5 2.75 2.29 2.54 0.49 2.76 S
+699.67 2710.48 2.26 2.52 0.13 2.91 -0.26 2.78 0.13 2.89 1.52 1.65 -0.26 2.88 0.26 3.41 
+0.5 3.15 -0.63 3.02 -0.26 2.9 -0.63 2.89 0.25 2.91 0.24 3.78 2.65 1.52 2.15 2.13 
+2.13 3.04 1.26 2.63 1.65 2.64 1.37 1.26 2.65 1.52 1.26 2.28 2.25 2 1.39 2.28 
+1.26 2.65 1.39 2.64 0.37 3.91 -0.37 2.89 -0.89 3.53 -1 3.52 -1.26 3.54 -3.14 1.5 
+-2.76 0 -2.78 0.89 -1.75 2.28 -2.65 1.89 -1.75 2.25 -1.76 2.28 -2.64 2.39 -2.65 2.52 
+-2.63 2.52 -2.64 0.5 -2.78 -0.5 -2.63 0.5 -2.64 2.02 -2.65 0.5 S
+683.31 2813.65 -2.64 2.02 -2.63 1.02 -2.78 -0.89 -3.02 -0.24 1 2.75 -1.26 2.78 -0.74 2.64 
+-2.64 -0.39 -0.76 2.15 -3.52 1.75 -2.52 1.65 -2.91 2.78 -3.02 0.74 -1.89 -0.63 -2 -4.02 
+-1.15 1.26 1.02 2.25 1.13 3.91 -2.89 1.76 -2.65 0.13 -2.52 1.13 -2.26 -0.86 -0.39 -3.54 
+-1.12 -3.91 -0.87 4.41 -3.14 -0.74 0.63 3.39 1.13 2.91 2.26 1.52 1.89 1.5 2.52 2.52 
+0.89 4.41 -3.04 1.28 -0.37 4.41 -1.12 4.54 0.36 3.52 -2.12 3.77 -1.39 2.02 -2.25 2.78 
+-1.78 2.78 -2.26 2.26 -2.02 1.65 -1.49 1.13 -2.28 1.75 -2.39 1.26 -2.39 0.89 -2.64 0.24 
+-2.39 0.89 -2.75 1.52 S
+614.13 2886.48 -0.76 2.52 -1.39 2.12 -2.02 2.91 -2.13 0.13 0.87 2.52 S
+608.7 2896.68 -0.24 2.89 -2.02 3.04 -1.89 2.88 -2.25 3.15 -3.78 0.39 1.63 3.28 -0.12 3.52 
+-2.39 2.14 -1.75 1.76 -1.63 0.26 -0.89 3.28 -1 2.64 4.02 -0.52 -2.63 1.15 -3.04 1.37 
+-2.63 1.15 -2.9 -1.64 -2.52 0 -2.39 1.78 -1.63 1.89 -0.37 1.89 -1.78 0.87 -2 0.52 
+-2.52 1.25 -2.78 0.74 0 2.41 0.26 2.88 -1.26 2.52 -2.02 1.65 -1.75 1 0.5 4.66 
+-2.13 -0.76 -0.13 -3.02 -2.28 -0.62 -2 -0.14 -2.15 0 -1.13 -3.77 0.5 -4.54 -1 -3.78 
+-2.91 0.24 0.39 2.91 -0.39 2.78 1.89 2.62 S
+553.6 2943.4 1.65 1.52 0.13 3.14 -0.13 3.78 2.52 -0.11 1.76 2 -0.13 2.02 -1.25 1.39 
+-1.89 -0.87 -1.63 -1.52 -2.15 0 -1.76 -0.89 -2.65 -0.36 -2.52 2.15 -1.76 -1.52 -1.5 1.52 
+-2.02 0 -1.63 -1.52 -1.39 -3.14 -0.89 -3.28 -1.89 0.5 -1.76 -2.15 -2.89 -1.5 -1.39 -5.04 
+-0.76 4.41 -0.75 3.15 -0.63 3.02 -1 3.27 -1.52 1.65 -1.26 2.13 -2 1.39 -1.65 -1.52 
+-2.26 0.13 -2.25 0.26 -2.65 0.5 -0.75 2.52 -1.63 1.26 0.37 3.27 -1.13 2.78 -0.76 3.52 
+0 7.05 0.5 3.28 1.65 2.41 1.13 3.28 2.15 3.38 1.23 3.28 1.52 3.91 2.02 2.02 
+2.02 4.9 S
+520.03 3004.75 0 1.65 -1.02 2.26 -0.24 4.04 -1.15 1.76 -0.87 1.64 -1.89 0.89 -1.39 2.12 S
+513.48 3019.12 -2.12 0.5 -1.89 1.02 -1.39 2.88 -2.64 0.26 -0.5 3.02 -0.76 2.52 2.52 0.52 
+2.89 3.52 1.65 3.28 3.01 5.04 -0.63 -3.38 2.52 2.38 2.13 3.41 2.02 2.88 1.89 2.91 
+2.26 2.63 2.78 1.28 1.39 2.52 -0.13 1.89 -1.39 1.63 -1 1.88 -1.64 1.13 -2 0.65 
+-1.76 1.26 -1.65 1.13 -1.5 0.14 -2.41 -3.41 -1.76 -2.39 -1.75 -1.52 -1.5 -2.64 -1.52 0 
+-1.75 -0.37 -0.63 -1.89 -2.25 0.87 0.63 1.02 -1.39 2.64 -2.38 0.5 -1.89 1.49 -2.15 1.02 
+-0.87 1.26 0.37 3.27 S
+496.25 3065.86 -0.63 3.02 -0.63 2.78 0.76 4.04 1 3.64 1.39 4.14 0.63 3.41 0.76 3.04 
+1.37 3.25 1.78 1.39 0.37 4.04 1.75 3.78 2.15 1.89 2.25 3.14 2.15 3.04 2.25 3.02 
+2.52 2.28 2.65 2.39 2.39 1.5 1.76 2.78 2.39 2.91 2.02 3.51 2.52 2.52 2.13 0.63 
+2.52 0 2.52 0.13 1.39 -1.39 3.52 0.26 1.65 3.28 1.37 -0.26 -1.99 -2.25 2.12 -0.5 
+1.26 -1.02 1.52 -1.62 0.24 -2.64 0.63 -2.28 2.02 -0.14 -0.5 -3.52 -1.26 -2.14 0.63 -2.26 
+1.75 -1.52 1.52 -0.26 0.37 -1.49 -0.5 -2.29 1.13 0.39 0.26 3.52 0.74 1.02 1.26 0 
+1.39 1.13 S
+557.51 3116.12 -1 1.39 -1.26 1 -0.39 1.52 2.39 1.52 0 -3.04 2.28 -0.37 1 -1.39 
+0.76 -2.02 1.63 0.5 S
+562.91 3115.23 -0.99 -2.39 1.13 -1.62 1.65 -1.16 1.49 -1.25 -0.26 -2.39 0.52 -2.52 -1.26 -2.91 
+1.63 -1.13 2.15 0.13 1.63 -1.13 -0.26 -3.15 -1.25 -4.66 0.25 -1.26 -1.52 -3.28 -1.89 -2.14 
+-1.23 -2.02 1.23 -0.37 -2.39 -2.52 -1 -2.15 -0.37 -3.02 -0.89 -3.14 -1 -3.8 0 -3.14 
+-1.02 -3.02 1.65 -0.63 1.37 0.13 2.52 2.26 2.39 3.14 2.14 3.41 1.39 4.17 1.5 4.14 
+1.26 1.89 1.02 3.91 1.5 3.28 1.25 3.67 1.76 3.02 1.78 3.02 2.76 2.14 2.78 2.02 S
+586.33 3100.76 3.02 0.75 2.39 0 2.75 0.24 2.28 0.89 2.02 1.13 2.49 0 1.39 -0.76 
+2.52 0.63 2.64 0.63 1.89 -1.13 1.75 0.63 -1.39 1.39 2.78 0.36 0.87 -0.86 1.52 0.86 
+1.39 1.78 -2.52 2.52 1.75 -0.26 1.39 -0.37 0.11 -1.39 -0.5 -2.28 0.63 2.41 1.52 2.52 
+0.86 2.13 0.39 3.03 1.39 1.63 2 2.02 0 3.28 0.89 -1.76 1.25 1.89 2.02 2.89 
+1.76 1.25 1.89 -0.24 -1.89 -1.25 -1.52 -1.79 -2.12 -1.62 0.24 -2.02 -1.26 -1.12 0.89 -0.89 
+-1.88 -1.26 -2.52 -2.15 1 -0.24 2.52 2.15 2.78 1.26 1.63 0.63 1.39 4.14 1.76 3.04 
+0.13 -1.78 S
+632.62 3123.68 -0.76 -2.39 2.78 0.5 3.02 1.65 2.65 2.13 -0.13 1.78 2.26 0.74 2.38 0 
+2.02 -0.37 1.26 -1.25 1.39 -1.26 2 -0.39 S
+651.48 3124.8 1.88 1.39 -0.36 -1.89 1.75 -0.13 -0.63 -0.87 2.52 -0.75 1.39 1.63 -1.13 -1.13 
+-1.25 1.13 1.25 2.54 -0.12 1.5 1.75 0.76 0.89 1.39 2 1.13 2.4 0.89 0.64 0.87 
+1.99 -0.37 2.28 -0.5 2.76 1.26 -0.13 -1.39 2.28 -0.5 2.02 -0.26 2.39 0.13 1.37 1.63 
+2.02 -1.63 2.52 -0.63 3.41 0.13 -1.65 -1.52 2.28 -1 -3.28 -0.26 -1.75 0 -3.02 -0.37 
+-2.41 -1.52 -1.25 -2.52 0.39 -2.39 2.76 0.63 2.78 0.63 2.25 1 S
+684.44 3123.8 1.39 -1.13 3.02 -0.12 3.78 -0.76 3.14 -0.87 1.76 1.37 2.28 -0.24 3.02 0.5 
+-0.62 3.02 2.12 2.28 0 1.39 -2.64 -1.52 -3.02 -1 -1.63 -2.15 -1.13 1.39 -2.28 0.36 
+-1.5 1.76 -0.76 3.28 -0.86 2.02 1.13 3.28 2.26 3.02 2.26 1.65 -2.89 0.89 0.5 3.88 
+2.52 -2.13 2.02 -0.26 2.52 0.13 1.39 1.52 0.24 1.89 -0.87 2.25 -2.28 1.13 -2.13 1.15 
+-2.78 0.24 -2.13 0.52 -2.78 0.24 -2.88 -0.37 -2.89 -1.02 -2.52 -0.76 -2.52 -0.5 -2.41 0.63 
+2.64 0.75 2.28 0.76 2.52 0.63 2.26 0.89 2.88 0.99 2.91 0.38 3.51 0.39 1.5 -1.39 
+2.41 1.63 2.38 0.76 S
+701.56 3156.55 2.63 -0.76 1.39 -1.26 1.65 -1.37 2.13 -1.02 1.13 -1.62 1.39 -1.15 1.76 -1.26 
+0.5 -1.75 2.41 -1 2.38 -1.78 2.63 0.75 2.41 0.76 2.52 0.89 S
+726.48 3145.98 3.26 -0.26 2.91 -1.39 3.13 0.5 2.28 0.39 1.76 3.77 2.15 1.76 0.24 3.53 
+-1.89 1.26 1.52 2.15 -2.02 2.13 3.41 0.13 -0.26 2.02 -1.76 1.89 0.63 2.15 -2.14 2.26 
+1.52 2.28 -0.76 2.52 0.5 2.26 2.28 2.28 2.39 0.75 0.11 2 1.64 1.52 0.5 2.28 
+1.26 3.02 1.63 2.89 1.26 3.16 1.52 2.89 1 2.02 -2.52 -0.5 -2 -0.39 -1.02 -2.02 
+-2.88 -1 -2.52 0.26 -2.26 -0.76 -3.15 0.76 S
+738.17 3194.49 1.76 3.64 -0.63 1.39 1.39 2.65 1.76 1.39 2.76 1.88 1.75 2 2.52 1.39 
+-0.74 1.65 -1.15 1.39 0.26 2.26 2.15 0.89 0.24 2.26 1.02 2.41 0.37 2.25 -2.39 1.52 
+-0.89 1.25 -0.13 2.26 -0.74 2.15 -2.15 0.38 -2.52 -1.39 -0.76 -2 -2.62 -1.02 -2.91 -0.76 
+-0.76 -1.89 -2.62 -2.12 -2.39 -1.52 -3.04 -0.5 -1.37 1 -2.02 -1 -1.13 -2.41 -0.13 -1.88 
+-2.78 -2.89 -2.12 -2.02 -2.78 -2.78 -3.78 -2.65 -3.02 -0.5 -3.38 0 -3.02 0.39 -2.52 0.63 
+-1.75 -2.41 -1.89 -2.25 -3.04 -2.52 -2.62 -2.02 -2.02 -3.15 -3.64 -0.63 -3.28 0.5 -1.63 -1.52 
+0.76 3.04 1.76 2.52 S
+682.31 3195.75 1 2.65 1.63 2.63 1.39 3.27 3.02 1.65 2.41 1.63 2 2.15 4.67 2.25 
+0.37 2.91 -1.26 2.38 -1.13 2.41 1.39 3.88 0 2.65 0.37 2.14 2.02 2.91 1.26 3.28 S
+701.43 3234.55 0.24 3.02 1.26 3.41 -1.5 1.37 -1.39 0.89 2.02 1 2.52 2.15 2.65 1.13 
+3.52 2.78 0.13 1.75 -0.76 1.39 2.52 1.89 3.15 1.39 3.88 1.39 5.55 1 3.52 0.13 
+2.88 0 1.26 -1 3.28 1.26 1.49 -1.52 1.52 -1.62 3.28 1.49 4.01 0.13 0.76 -3.02 
+7.29 -0.26 3.15 1.39 4.91 -0.13 1.75 2.28 1.15 -2.02 -1.26 -1.39 -0.13 -2.78 3.28 -0.74 S
+767.36 3251.3 3.52 -1.02 3.78 1.25 0.75 2.78 3.13 1.26 2.28 -1.02 3.91 1.65 0 2.52 
+1.99 1.13 0.39 2.41 -0.63 1.89 -3.27 -1.15 -3.78 -1.5 -3.64 -1.39 -2.78 0.89 -2.62 -1.02 
+-1.52 0.89 3.41 3.02 3.26 0.89 2.78 0.87 2.88 2.52 -4.77 0.25 3.14 2.29 2.65 1.88 
+1.36 2.26 3.04 -1 3.26 1.89 2.02 1.63 2.78 1.89 3.26 1.78 2.39 -0.39 2.14 1.13 
+1.26 -1 0.13 -1.65 2.89 -0.11 2.88 -0.26 1.79 -0.26 1.13 1.65 0.87 2.64 -1.26 2.39 
+-2.89 0 -2.89 -0.89 -3.41 -1 -2.75 -0.63 -3.41 -0.62 -1.76 0.89 -3.64 -0.13 -3.77 0 
+-3.91 -2.64 -2.64 -3.28 S
+781.05 3276.87 -2.89 0.37 -3.28 -1.63 -3.51 0.63 -0.13 0.63 -3.26 -0.26 2 2.28 3.77 1.13 
+2.65 -1.76 3.91 2.39 3.38 3.14 -3.38 0.5 -2.28 1.15 -2.89 -3.28 -2.25 0.63 -3.91 -0.63 
+-0.5 2.02 1.37 3.52 S
+769.86 3287.7 2.15 2.52 2.65 3.15 4.14 2.52 -0.5 2.02 -0.5 2.15 -1.89 1.13 -2.39 -2.25 
+-2.64 0.24 1.75 2.14 2.26 2.02 -0.37 2.25 -0.13 2.54 2.02 2.25 1 2.02 2.02 -0.37 
+0.13 -1.78 3.28 1.13 2.76 2.28 1.52 2.52 2.76 2.28 3.14 2.26 3.41 1.52 1.89 2.65 
+-2.41 1.13 1.39 1.25 3.77 -0.26 -2.52 1.89 2.02 1.15 3.77 0.24 4.91 1.52 -2.89 1.39 S
+806.36 3333.18 0.24 1.63 3.14 0 0.39 2.38 0.24 2.54 -0.5 1.5 2.52 1.02 1.26 1.5 
+-0.5 1.65 -2.28 0.87 3.78 1.52 3.64 0.75 3.54 1.13 3.14 1.89 2.63 0.63 3.28 0.63 
+2.26 1.39 1.78 1.52 3.25 0.76 2.91 1.37 4.27 1.02 2.89 1.25 2.52 1.26 3.77 -0.26 
+4.02 1.65 2.02 -0.5 4.14 0.63 1.26 2.52 3.14 1.26 2.28 2.39 2.63 1.13 1.65 2.28 
+-0.39 1.89 0.39 1.63 3.28 1.39 3.02 1.13 -0.62 1.91 -3.41 0.73 -4.41 0.26 -2.76 1.39 
+-3.91 0.5 -3.38 0.76 0.37 1.52 4.91 1.26 1.39 -1.39 2.52 0.63 2.89 1.63 2.89 1.65 
+2.39 2.13 -2.25 0.26 S
+878.56 3391.75 -3.28 -0.37 0.39 1.37 -1.89 1.02 -5.16 -0.5 -4.02 -1.26 -3.78 -0.39 -1.89 -1.49 
+-2.52 -1.39 -0.39 1.5 -3.02 0.89 -0.62 1.89 4.16 1.52 1.37 2.12 4.04 0 2.02 1.52 
+-0.26 1.25 1.26 2.28 0.37 2.76 -4.02 0.63 S
+861.33 3405.1 -2.52 1.39 -3.78 1.02 -3.14 0.73 -3.52 -0.87 -2.15 -2.28 -3.77 1.26 0 1.26 
+-2.75 0.89 -1.89 -1.25 -5.79 -2.02 -4.41 0.5 0.13 -1.25 -3.02 -0.76 -2.02 -1.13 -1.89 1.65 
+-1.5 1.89 1.5 1.88 1.26 2.26 2.91 2.28 0.87 2.26 3.91 1.65 3.52 2.02 1.39 2 
+4.14 2.14 3.78 2.65 -1.63 0.5 -4.41 -2.52 -3.02 -2.13 -3.54 -1.65 S
+829.99 3419.47 -1.87 -1.63 -3.77 -1.89 -3.28 -2.15 -3.14 -1.76 0.13 -1.65 -2.28 -1.89 -3.02 -2.52 
+-0.37 -1.89 -2.02 -2.64 -2.12 -2.39 -0.52 -1.78 -0.11 -1.89 3.52 0.89 0.5 -1.26 -1.63 -1.75 
+-0.26 -2.02 1.25 -1.65 -0.37 -1.76 -1.89 -2.52 -2.39 -1.26 0 1.63 2.26 1.89 -2.26 1.64 
+-0.52 2.02 -2.5 -0.5 0.24 1.63 -3.28 -2.02 -1 -2.15 -0.62 -1.89 -2.78 -1.5 0.76 -2.02 
+3.41 -0.89 -3.54 -1.25 -2.63 -1.5 -3.28 -0.76 -4.77 -1.39 -4.41 -1.52 -2.91 -2.15 -3.02 -2 
+-4.02 -1.65 -2.78 -1.63 -0.11 -1.65 -3.41 0.26 -3.64 -1.65 -4.53 -1.26 -3.78 -1.25 -3.52 -1.63 
+-3.91 -0.5 -4.28 -1.39 S
+741.55 3359 -4.01 -0.62 -4.66 -0.76 4.14 -0.39 4.3 0.39 3.01 -0.26 3.78 1.39 -1.25 -1.13 
+2.12 -0.76 -3.38 -0.5 -1.89 0.37 -3.64 -0.37 -2.65 0.24 0.24 -1.5 1.52 -0.76 -2.89 -0.76 
+-3.14 -0.89 3.14 2.02 -0.89 1.52 -3.52 -0.26 -0.76 -1.36 -2.65 0.11 S
+728.47 3354.71 -2.76 -0.63 -2.39 -0.87 -3.14 -1.65 -3.64 -1.13 3.75 0 4.93 1.26 3.76 1.13 
+-2.39 -1.39 -1.12 -1.26 -2.02 0.13 -3.39 -0.87 -3.14 -1.15 -3.02 -1.76 -0.39 -1.89 -2.52 0.89 
+-2.26 -0.89 -0.24 1.76 -4.3 -1.5 -3.02 -1.89 -5.14 -2.15 -3.41 -2.52 -3.91 -1.15 -3.02 -1.63 
+-2.25 -0.26 -3.91 -2.88 -2.52 -2.65 -3.25 -2.91 S
+673.76 3326.87 -3.41 -2.39 -3.28 -2.38 -2.76 -2.39 0.76 -1.65 -3.4 -0.87 -2.52 -1.78 -3.38 -2.02 
+-0.76 0.39 -3.41 -2.02 -3.02 0 1.26 0.63 -0.37 1.13 2.13 -0.76 2.65 2.64 1.13 2.41 
+3.28 3.38 -1.52 -0.12 -2 -1 -3.41 -1.62 -3.77 -1.78 -2.39 -1 -2.52 -0.89 -2.39 -3.14 
+1.39 2.78 -2.38 -0.63 -2.91 -1.25 -2.52 -0.13 -3.39 -1.13 -3.28 -0.76 -3.64 -0.63 -3.52 -0.39 
+-3.67 -1.63 -2.62 -1.75 -3.64 -2.02 -3.28 -1.02 -3.02 -0.24 -1.65 -0.76 -2.25 -2.15 -2.65 -2.02 
+-2.38 -1 -2.89 -1.64 -2.89 -2.52 -2.28 -2.64 -2.13 -0.62 -1.25 -2.52 1.63 0.76 -1 -1.76 
+-0.89 0.26 -3.14 -2.54 S
+580.41 3283.66 2.25 2.64 -2.89 -1.75 -2.64 -2.26 -0.5 -1.52 -2.76 -1.52 -1.52 -0.5 -2.89 -3.41 
+-3.14 -3.14 -3.91 -4.27 -3.27 -1.89 -1.89 -4.17 -1.63 -3.41 -1.5 -3.02 -0.26 -1.52 -2.25 -1.89 
+-0.26 -1.5 -2.39 -3.78 -2.89 -2.91 -3.28 -3.02 -3.28 -3.91 -2.64 -2.64 -2.26 -2.78 -1.52 -1.13 S
+533.09 3230.38 -1.63 -2.78 -2.52 -2.02 -0.63 -1.62 -3.52 -3.27 -1.12 -3.15 -2.52 -4.54 -2.02 -3.28 
+-1.89 -3.28 -2.52 -2.26 -1.5 0.74 0.5 3.14 -2.02 -4.14 -1.88 -2.52 -0.89 -2.52 -1.37 -3.41 
+0.11 -1.89 -1.76 -3.41 -1.25 -3.77 -2.63 -4.04 -2.78 -2.88 -2.02 -0.76 -1 -4.54 -1.52 -3.91 
+-2 -4.41 -1.25 -4.29 S
+491.47 3161.59 -3.28 -5.54 3.14 0.39 1.89 4.02 2.26 4.79 -0.24 1.89 2 3.64 1.02 0.26 
+1.63 3.52 1.76 1.89 2.52 4.29 2.78 3.64 2.52 5.04 2.75 4.29 1.76 3.78 2.91 3.41 
+2.39 3.78 2.38 4.14 2.39 3.54 1.52 3.27 2.12 2.89 2.39 1.52 2.65 2.89 2.52 2.41 
+2.02 1.13 -1.65 -3.78 0.52 -1.26 -1.52 -2.64 -0.99 -2.65 -2.52 -2.14 -3.02 -3.65 -1.89 -2.02 
+-2.41 -3.64 -2.89 -3.66 -2.75 -5.04 -2.65 -4.9 -0.13 -3.15 -2.76 -2.64 -2.02 -5.04 -1.65 -2.91 
+0.13 -1.13 -1.62 -3.02 -1.89 -1.15 -1.39 -1.39 -1 -3.39 -0.76 -4.41 -2.78 -4.92 -1.26 -3.91 
+-1.26 -3.78 -1.99 -4.8 S
+495.12 3145.46 -1.26 -3.52 -1.52 -4.41 -1.13 -3.4 -3.02 -4.91 -0.63 -3.04 -1.52 -2.02 -2.12 -0.74 
+-0.89 -2.41 -1.75 -0.11 -1.76 -4.67 -1.52 -5.03 -0.11 -4.17 -0.52 -4.28 -1.26 -4.17 0.26 -4.4 
+0.76 -2.91 0.5 -1 -0.37 -3.91 -0.52 -5.17 0.39 -3.14 0.5 -3.02 0.26 -3.67 0.73 -2.52 
+0.26 -3.64 0.37 -3.67 S
+479.25 3061.57 1.13 -2.63 0.89 -3.41 0.89 -3.28 2.52 -0.39 2.13 -0.11 1.39 -1.88 0.87 -2.02 
+0.52 -2.64 0.37 -3.15 -0.13 -2.52 -0.12 -4.29 0.13 -3.64 -0.12 -3.41 0.75 -3.4 1.02 -2.76 
+1.63 -1.65 0.76 -3.38 0 -2.54 1.39 -1.37 0.87 -3.27 1.39 -1.26 1.89 -1.89 1.25 1.13 S
+500.65 3007.79 0 -3.91 -1.12 1.13 0 -3.91 0.24 -3.28 0.26 -4.14 0.63 -3.54 0.63 -3.52 
+-1.02 -2.78 -1.37 -2.65 -0.39 -3.28 1.02 -1.62 0.24 -1.64 1.89 1.39 0.26 -3.02 1.39 -4.04 
+0.37 -3.14 -1.26 -3.28 1.63 -1.89 0.52 -2.41 1.24 0.39 1.78 -1.89 1.5 -2.52 0.39 -3.04 
+1.89 -1.26 -0.76 -4.14 1.76 -0.63 2.52 0.37 -1.13 3.41 0.37 2.52 2.02 0 1.76 0.76 
+1.76 2.13 1.39 -0.86 1.13 -2.78 0.13 -3.41 1.39 -0.87 -1.65 -1.52 0 -4.53 0.89 -3.91 
+0.63 -3.64 -1.02 -2.52 -0.74 -4.79 -0.76 -3.41 -0.37 -3.64 -1.39 -2.88 0.87 -3.17 -2 -1.99 
+-1.79 -3.41 -2.52 1.39 S
+513.84 2908.4 -1.99 -2.65 -0.14 -3.14 -1.88 0.37 0.26 -3.28 -2.41 -0.5 -3.25 -0.76 -1.02 -4.54 S
+776.78 3330.9 -1.75 -2.88 -1.26 -3.04 -2.88 -1.89 -0.39 2.02 -0.11 1.52 -3.14 1.13 -2.02 -3.02 
+2.02 -0.39 1.13 -1.89 -2.52 -0.37 -2.65 1.13 1.65 -3.41 3.78 1.26 -2.78 -3.02 2.38 -0.62 
+1.76 -0.76 0.89 2.65 2.25 2.78 0.76 -1.52 0.76 -1.62 2.25 2.02 -0.63 2.65 0.5 2.52 
+0.13 2.25 -0.13 2.52 S
+733.9 3313.02 -3.28 -2.65 -0.76 -1.89 0.37 -1.76 -0.99 -1.39 2.14 0 0.5 -1.76 0.5 -1.65 
+3.02 -0.5 1.13 -1.65 0 -2.26 1.89 1 -0.62 -2.64 1.65 2.41 0.5 1.76 -0.63 1.65 S
+739.3 3301.7 -1.39 0.5 -2.02 0.87 0 1.39 1.75 1.89 2.02 1.02 1.02 2.65 -1.89 -0.76 
+-2.91 -1.65 0.26 1.79 -2.26 -0.13 -1.15 1 1.15 2.78 S
+711.87 3295.77 -1.26 -2.52 2.15 -0.26 0.63 -1.63 -0.52 -2.64 0.89 -1.78 1.39 1.78 0.24 1.5 
+2.02 1.79 0.26 1.25 -2.52 0.63 -1.39 0.87 -1.89 1.02 S
+693.12 3269.42 1.52 -1.75 2.89 1.02 2.78 1 1.63 -1 3.28 2.52 -2.78 0.13 -2.13 0 
+-2.78 -1.78 -2.26 -0.13 -2.14 0 S
+674 3250.67 -2.02 -1.91 -3.14 -2.26 -1.37 -2.28 -2.15 -1.12 0.39 -2.13 -3.04 -1.91 1.26 -0.87 
+-2.63 -1.13 -2.64 -1.26 -2.65 -1.39 1.39 -1.15 4.28 1.65 S
+661.68 3234.92 2.38 2.52 3.41 3.15 3.02 2.38 3.01 2.54 3.15 2.26 0.24 1.89 -0.11 1.52 
+-2.78 -0.5 S
+671.88 3255.45 -3.15 -2.52 1.63 -0.36 -1.39 -2.02 -1.75 0 -3.15 -1.52 -1.39 -2.52 S
+662.67 3246.5 -2.38 -3.28 -2.13 -1.12 -2.02 -2.15 -2.02 -0.89 0.89 -1.89 2.52 2.15 1.37 1.76 
+1.89 1.88 2.78 0.89 0.37 1.64 -1.26 1 S
+662.67 3246.5 3.67 2.26 1.63 0.13 2.13 1.02 2.02 2.89 -0.23 2.64 S
+638.29 3205.82 0.63 -1.52 2.13 -0.86 -1.89 -3.04 2.41 -1.13 2.39 -1.13 3.39 -0.37 0.63 -1.52 
+-2.75 0.5 -1.89 -1.39 1.37 -1.5 -1.63 -3.04 1 -1.89 2.64 -1.26 1.65 -2.02 -1.26 -1 S
+647.09 3184.66 0.73 -1.52 1.89 2.64 2.28 1.52 0.87 2.02 1.88 1.37 -1.13 2.15 1.26 2.52 
+2.26 2.91 -1.13 2.38 0.5 3.02 -2.39 -0.37 -2.25 0.89 -2.39 -0.39 -1.89 0.13 -1.76 1.26 
+-2.52 0.13 -2.52 0.37 -2.52 0.13 S
+631.99 3184.79 3.02 -0.76 -2.75 -1.13 -1.89 -1.15 -3.4 -2.13 -2.52 -1.39 -2.02 -2.28 -3.14 -2.65 
+-2 -3.28 0.74 -1.25 1.52 -0.5 2.25 0.89 3.28 2.13 2.52 2.54 1.89 2.39 2.14 1.89 
+2.63 1.13 2.52 1.39 2.65 -1 3.14 1.26 0.87 -1.39 -0.24 -1.89 0 -2.15 -1.25 -2.26 
+-3.02 -2.65 -3.54 -0.89 -1.62 -1.52 2.39 0.39 1.76 -0.63 -2 -3.04 -2.02 -3.15 S
+633.88 3161.71 2.52 -0.62 3.02 2.78 3.02 1.63 2.38 1.39 1.39 2.15 -0.99 -3.54 0.36 -3.52 
+2.39 0.76 1.89 4.04 1.63 3.64 -0.87 3.14 -0.75 2.26 -1.26 1.78 -0.76 2.25 -0.73 1.26 
+-1.52 -1.89 -1.39 2.28 -0.24 1.63 -1.26 1.02 -2.52 2.13 -0.39 0.76 -2.25 -0.5 -2.78 -0.89 
+-2.76 -0.87 S
+646.7 3176.34 0.39 -2.52 0 -2.15 2.52 1.39 -1.52 1.13 -1.39 2.15 S
+625.07 3158.57 0.13 -3.15 1.13 -1.62 1.63 -1.26 2.41 -0.52 2.13 -0.74 2.64 -0.65 2.39 -0.37 
+2.52 0.5 -1.39 1.78 -1.49 1.75 -1.89 -0.25 -0.39 1.64 -1.62 1.13 -2.39 -0.63 -2.52 0.63 
+-1.26 1.76 -2.02 0 S
+640.17 3155.17 0.63 -1.63 2.25 -1.13 1.26 -1.52 0.89 -1.89 1.75 -1.13 2.25 -0.89 2.15 2.65 
+1.99 1.13 -2.12 0.75 -1.89 -0.37 -1.13 2.13 -1.52 0.89 -1.75 1.39 -2.15 0.76 -2.62 -1.15 S
+458.75 2923.5 -1 -3.51 0.89 -2.91 -1.52 -1 1 -2.15 1.65 1.65 -0.39 3.91 -0.63 4.01 S
+587.96 2593.34 1.39 -3.15 1.37 -2.28 2.15 -4.14 2.52 -0.62 -0.89 2.75 -1.89 2.02 -0.11 2.28 
+-1.64 2.02 -2.89 1.13 S
+653.88 2529.08 -0.89 -0.63 -1.52 0.39 0.52 -1.52 -1.65 -0.12 2.02 -2.89 1.63 -0.89 1.52 1.25 
+1.13 -0.99 -1 -1.65 2.75 -2.75 -1.36 0.24 -3.04 2.78 1.15 -3.02 -1.89 0.87 -3.14 0.63 S
+650.11 2520.77 -2.65 1.26 -4.14 1.52 -3.28 1.13 -3.41 1.13 1.89 -1.39 2.78 -1.13 2.02 -0.24 
+0.37 -1.64 2.78 -1.13 1.37 -1.52 1.89 0.39 2.39 -1.89 1.39 0.24 1.39 -1.39 4.14 -1.5 
+2.91 -0.63 0.5 1.13 2.26 -1.76 2.38 -0.75 1.52 0.75 3.28 -1.15 -2.78 2.28 2.52 0.37 
+1.25 1.65 2.52 0.24 0.87 0.63 -1 1.39 -2.02 -0.24 -2.39 0.76 -2.52 1.25 -3.26 1.13 
+-3.54 1.63 -2.12 1.78 -1.89 1.89 -3.64 2.12 S
+675.39 2535.27 4.14 -2.15 0.63 1.52 1.52 -0.39 1.63 -1.39 2.02 0.63 0.13 1.39 2 1.02 
+-1.37 1.89 -2.78 0.76 -1.63 -1.02 -3.14 0.76 -2.52 -0.64 2.52 -1.75 S
+678.54 2535.89 0 -1.39 -3.15 0.76 S
+768.1 2527.32 3.54 -1.12 3.25 -1.13 3.41 -2.02 -0.26 1.63 -2.25 1.13 -3.65 1.15 -4.03 0.36 S
+596.89 2920.49 2.76 -1.13 1.52 1.13 0.74 3.14 -3.25 0.76 0.63 -0.89 -0.63 -2.52 -1.76 -0.5 S
+568.71 2950.72 0.89 -2.52 -0.26 1.02 -0.62 1.5 S
+546.31 3010.94 1.25 -1.02 0.26 -3.02 1.26 -1.62 1.63 0.11 1 -1.37 1.26 -1.02 0.26 2.65 
+-1 2.14 -1.65 1.89 -1.49 1.89 -2.02 0.13 -0.76 -0.76 S
+541.54 3047.22 -0.13 -1.39 -0.76 -0.5 0.5 -1.02 1.39 -0.37 0.5 2.25 -0.11 1.65 -1.39 -0.63 S
+536.37 3053.02 2.02 -2.02 1.63 1.5 1.76 -1.76 2.02 0.5 1.89 0.52 S
+545.68 3051.75 1.25 -2.14 1.76 -2.39 -2.13 0.37 0.24 -2.52 1.39 -2.02 2.38 -2.15 0.26 -2.52 
+1.13 -1.76 1.13 -2.39 2.02 -1.02 0 -1.39 -1 -2.88 0.74 -3.41 2.65 -2.12 -0.5 -2.54 
+-1.89 -0.63 -1.62 -0.87 2.39 -1.76 2 -0.89 1.89 -1.39 1.52 -1.89 1.76 -1.26 1.76 0.13 
+2.02 -0.89 0.26 1.26 -1.02 0.76 -0.24 2.88 -1.52 1.91 -1.5 0.37 1.5 2.26 -1.26 1.65 
+-1.39 1.89 -0.74 3.4 -1.02 2.26 -0.63 2.65 -0.87 2.91 -1.26 2.39 -1.65 1.52 0 3.02 
+-0.74 2.15 -0.89 2.25 -1.52 1.52 -1 2.52 -1.63 1.5 -2.15 0.52 -1.75 1 -1.89 1.02 
+-2.38 0 -1.89 -0.52 S
+539.65 3054.51 -1.12 -2.02 -2.15 0.52 S
+560.92 3001.5 1.63 -3.8 1 0.63 1.89 -1.25 1.39 -1.63 1.89 -0.5 1.76 -1.78 0.26 -4.15 
+2.39 1.76 0.63 1.52 2.39 -0.12 -0.63 -1.52 2.25 -0.75 2.65 -0.37 2.02 -1.12 0.5 -2.91 
+2.38 1.78 -0.62 3.52 -2.89 3.02 2.26 0.52 -2.26 1.37 0.13 2.54 -2.02 1.89 -1.76 1.76 
+-2.52 1.63 -1.76 -0.11 -1.52 3.02 -2.26 1.52 -1.89 -0.63 1.89 -1.39 0 -2.64 -0.89 -2.15 
+0.5 -3.64 -2.26 -0.39 -1.89 1.25 -1.13 2.15 -1.63 1.76 -1.89 -0.73 S
+588.84 2981.46 1.5 -1.39 2.02 -0.52 1.63 -0.87 1.65 0.87 -0.76 2.28 -2.39 1.39 -2.38 1.26 
+-1.26 -3.02 S
+607.71 2959.16 -0.24 -2.26 1.23 1.26 S
+608.7 2958.16 1.15 -0.52 -0.26 1.78 -0.89 -1.26 S
+608.7 2958.16 -0.99 1 S
+607.96 2949.09 0.87 -2.78 0 1.13 -0.87 1.65 S
+568.58 3053.52 -0.87 -2.28 -1.78 -0.74 0.39 -3.91 -0.89 -3.67 1.65 1.39 0.24 2.78 1.13 2.02 
+0.89 3.64 -0.75 0.76 S
+571.09 3015.34 1.76 -1.26 1.89 2.02 -1.37 -1.13 -1.02 1.37 -1.26 -1 S
+571.59 3064.61 0.13 -2.02 2.15 -0.39 1 -0.74 -0.37 -1.64 -0.13 1.39 -3.15 1 0.37 2.41 S
+576.63 3061.57 0.13 -3.64 -2.38 -2.39 1.89 2.78 0.37 3.25 S
+574.61 3051.13 0.76 -3.8 -1.5 -2.76 S
+575.5 3043.32 -0.37 -4.04 S
+573.48 3036.37 -0.87 -6.16 S
+574.24 3028.69 1 -2.88 -2.39 -1.26 S
+577.39 3023.03 1.25 -1.63 S
+577.65 3016.73 2 0.5 1.78 -3.02 S
+555.12 3060.3 2.02 -0.87 S
+612.74 3103.28 1.89 -0.13 1.75 1.26 S
+641.3 3126.82 2.12 -1.25 2.15 -1.26 2.89 -0.37 -0.24 1.76 -2.02 0.39 -1.63 0.74 -1.88 1.15 
+-1.39 -1.15 S
+706.08 3150.52 0.63 -2.52 -0.37 -1.78 0.75 -1.89 1.39 -1.75 1.5 -1.13 0.5 2.26 -0.63 1.76 
+-0.73 2.02 -1.26 1.78 -1.78 1.26 S
+693.12 3134.77 -0.13 -1.89 0.52 -2.52 1.37 -2.91 1.26 1.65 2.4 0.24 -2.4 1.15 -1.5 1.13 
+-1.02 2.02 1.26 1.89 -1.76 -0.76 S
+739.17 3240.08 1.26 -1.39 3.41 -0.5 0.49 0.24 -0.62 1.39 -1.65 0.89 S
+742.05 3240.71 -2.88 -0.63 S
+743.58 3233.66 -3.52 -1.76 -1.02 -1.78 2.91 0.63 2.5 1.26 -0.87 1.65 S
+708.36 3211.87 1.25 -1.02 -3.27 -0.13 0.89 -1.26 1.89 0.26 -2.41 -1.65 3.64 1.65 1.02 1.52 
+-3.02 0.63 S
+687.35 3203.8 -0.14 -2.02 0.14 -2.25 1.88 2.25 -0.13 1.39 -1.75 0.63 S
+711.74 3131.25 -1.25 -2.41 2.78 -0.63 2.13 -2.02 2.14 -1.26 2.25 -1.39 1.65 -1.62 -1.15 -1.63 
+-2.5 -0.39 1.5 -1.52 3.27 1.64 1.63 -0.25 1.13 -1.39 -2.52 -2 2.41 0.37 -1.39 -2.15 
+1.75 -1 4.54 4.54 -1.89 0.5 2.52 2.02 -1.25 0.26 -2.52 -1.65 -0.13 1.39 1.63 1.39 
+4.17 1.25 -2.65 0.76 S
+729.99 3124.07 0.5 2.13 3.02 1.25 -0.86 1.79 -1.89 1.13 -2.28 0.63 -0.37 2.78 2.12 0.5 
+-0.99 1.76 -3.39 -0.24 2.89 1.89 2.13 1 3.04 1.75 2.63 2.02 -1.26 0.89 -2.89 -0.13 
+-2.15 -1 -2.38 -1.65 -3.02 -1.63 -3.02 -2.41 -3.28 -1.63 -2.63 -1.52 0.63 -1 -2.65 -0.63 
+-2.15 -0.5 S
+745.96 3251.41 0.89 -2.52 -3.02 -1.63 1.13 -1.52 3.14 -0.13 2.52 -0.11 0.63 -1.39 -0.89 -2.41 
+-1.26 -2.52 3.28 -0.37 0.63 2.52 2.13 2.26 1.39 2.4 1.25 3.02 1.89 3.02 2.89 1.89 
+-3.15 0.76 -2.88 -0.63 -3.78 -1.25 -3.52 -2.13 -3.28 0.74 S
+778.43 3245.5 -2.64 -2.14 1.52 -1.65 2.13 -0.24 S
+779.43 3241.47 2.78 1.13 1.36 1.75 -1 1.79 -4.14 -0.64 S
+797.55 3274.71 -2.65 -2.12 -3.02 -2.14 -2.39 -2.28 -1.52 -3.02 0.63 -2.15 0.13 -3.39 1 -1.39 
+-1.63 -3.27 1.63 -0.76 3.78 0 -2.13 -2.02 -1.65 -3.78 -4.27 -1.52 3.02 -0.74 -2.39 -2.65 
+-0.63 -2.91 -2.63 -2.15 -2.02 -1.89 -2.65 0 -3.28 -0.24 -2.76 0.24 -2.02 -3.14 -3.02 0.5 
+-1.52 2.28 -0.5 3.02 -2.12 -0.76 -1.02 0.76 -2.88 -0.76 -1.89 -2.39 1.63 -2.64 2.28 -0.5 
+0.74 -2.15 -0.24 -2.52 0.13 -2.13 -0.26 -2.41 -2.39 -1.5 -0.76 -2.64 0.13 -1.89 0.63 -2.28 
+-0.89 -1.5 0.13 -2.54 0.5 -2.26 1.26 -2.02 2.02 1.65 S
+762.07 3208.72 0.63 2.63 0.89 2.9 0.74 2.52 1.52 2.28 0.37 -2.78 -0.37 -2.78 0 -3.02 
+2.02 -2.02 3.78 2.26 0.99 2.78 2.39 2.14 0.76 2.26 0.75 3.14 1.76 2.78 4.01 2.15 
+-0.37 -4.3 -2.39 -3.02 0 -3.02 3.02 1.5 2.65 -1 2.52 1.26 4.02 1.39 0.5 2.26 
+0.39 2.65 0.24 2.78 1.02 2.78 -2.02 2.13 0.76 3.28 2.75 1.78 2.52 -1.26 1.02 3.02 
+2.76 0.87 1.89 2.78 0.5 2.78 2.15 3.78 0.38 2.28 -0.76 2.25 3.04 1.39 1.75 1.39 
+-1.52 1.5 0.49 1.89 0 1.52 -2.75 0.63 -0.63 1.65 -2.52 0.5 3.38 0.76 2.65 1.89 
+3.02 0.63 1.39 1.26 S
+814.15 3267.93 -1 1.26 -2.78 1.13 -3.28 0.63 -3.25 -0.89 -2.78 -0.73 -2.52 -1.39 S
+798.54 3267.93 1.76 2.13 2.64 1.02 2.78 0.89 2.89 0.24 2.02 -0.12 2.39 -1.37 -0.39 1.75 
+-0.5 2.02 -1.89 0.87 -3.02 0.63 -2.89 0 -2.88 -0.11 -3.91 -1.15 S
+814.15 3266.28 -2.25 -0.37 -2.65 -1.39 -0.26 -2.14 1.52 -0.87 0.37 -2.28 2.02 0.63 2.26 1.52 
+0.63 1.76 -0.37 1.76 -1.26 1.39 S
+818.92 3288.08 -1.25 -1.78 -1 -2.13 3.64 0.64 2.39 1.25 0 1.39 -3.78 0.63 S
+832.9 3289.34 -2.52 -0.26 -2.89 -1.62 0.63 -1.91 -1.64 -1.49 -2.75 -0.89 -2.91 -0.13 -3.38 -0.87 
+-1.26 -2.78 0 -2.39 0.13 -2.02 S
+816.3 3274.98 0.49 -2.15 2.52 -0.63 -1.02 -2.25 1.89 -1.78 2.91 0.25 2.52 0.89 0.87 2.38 
+-0.5 1.63 0.13 2.15 -2.15 1.76 0.39 2.41 1.63 2.02 1.39 -0.26 1.13 1.39 1.89 1 
+-0.13 1.75 1.76 1.79 0.89 2.02 S
+853.28 3290.34 -2.02 -1.13 -2.65 -0.89 -2.39 0.13 -3.14 -0.63 -2.39 -1.63 0.26 -2.65 2.65 -0.63 
+3.25 -0.13 1.88 -0.75 2.65 0.49 0.5 1.52 2.9 0.13 1.63 1 0.37 1.76 2.02 1.02 
+3.02 0.86 0 1.15 -3.15 -0.13 -2.39 0.76 -3.02 -0.26 S
+863.58 3287.96 -3.38 -0.76 -2.15 -1.65 0.39 -1.99 1.25 -1.26 0.5 -2.02 1.63 -1.89 -2.39 0.74 
+-1.75 1.91 -1.76 0.63 S
+855.92 3281.66 0.74 1.89 -3.75 -0.13 -1.02 -1.39 -3.02 -0.64 -2.39 -1.12 -1.13 1.13 -4.17 0.64 
+-1.25 -2.29 -1.13 2.15 -2.76 -0.5 -1.02 -1.25 -1 1 -2.25 1.02 -2.78 -0.62 -0.24 -2.02 
+0.11 -2.91 1.39 -0.87 -0.13 -1.65 1.52 -0.76 -2.02 -1.25 2.52 -1.63 3.15 -0.26 2.14 2.28 
+2.75 -0.76 2.02 1 1.39 -1.75 3.51 0.39 3.28 1.13 3.52 0.24 2.52 -1.37 3.64 0.11 
+2.89 0.13 3.14 -0.37 4.04 -0.25 1.5 0.63 2.38 -0.24 2.15 0 1.26 0.63 0 1.26 
+0.89 1.37 -0.39 1.65 0.13 1.76 -0.76 1.39 -1.26 0.89 -0.13 1.39 -1.49 1.89 -2.65 0.5 
+-2.02 1.13 -1.5 0.89 S
+868.25 3286.07 -1.52 -0.26 -0.13 1.52 -3.02 0.63 S
+852.91 3293.88 -1.26 -1.52 3.02 1.13 -1.76 0.39 S
+849.5 3299.67 -1.52 -0.25 -1.5 -1.52 -1.89 0.76 -1.75 -0.76 -1.39 -2.02 -0.26 -1.26 -3.02 -0.87 
+1.02 -1.13 0.24 -1.65 0.13 -1.26 2.02 -0.13 1.76 0.5 2.52 2.15 -2.89 0 -2.64 0.25 
+0.37 1 2.52 0.5 2.78 0.13 2.39 1.26 0.37 1.39 1.52 1.13 0.37 1.26 -1.13 0.52 S
+837.3 3290.61 -1.39 -1.89 -0.89 -2.15 1.52 -0.63 1.63 0.37 0.13 2.52 -1 1.79 S
+838.93 3299.28 -3.52 -0.24 -1.02 -1.39 2.52 0.63 2.28 0.13 -0.26 0.86 S
+831.25 3298.66 -3.02 -1 -2.39 -0.39 -3.14 -1.26 1.13 -1.62 S
+823.83 3294.38 -4.02 -1.39 -0.26 -2.78 3.41 -0.24 2.88 0.63 2.65 0.24 2.13 1.78 0.52 1.89 
+-1.76 0.63 -2.91 0 2.78 1.26 2 1.13 0 1.13 S
+821.2 3298.03 -0.25 -1.39 2.52 0.89 -2.26 0.5 S
+805.6 3294.62 -2.15 -1 -2.75 -0.89 -0.13 -1.49 -3.02 -1.89 -3.52 -1.89 2.13 -1.39 1.13 -1.89 
+4.03 0.5 3.78 1.26 1.36 2.14 3.14 -0.75 3.41 1.25 -1.26 1.26 0.63 1.76 -1 1.39 
+-2.15 0 -3.41 -1.63 0.52 2 -0.76 1.26 S
+845.98 3306.86 -0.5 -1.64 -1.26 -0.89 -0.39 -1.25 1.02 -0.74 2 1.63 0.5 2.02 -1.37 0.89 S
+844.73 3308.86 -1.76 -0.5 -0.12 -0.76 2.25 -0.11 -0.37 1.37 S
+842.58 3307.09 -2.26 -0.12 -1.39 -1.39 1 -1.76 2.91 -0.37 0.37 1.13 -0.37 1.13 -0.26 1.39 S
+832.14 3315.17 -1.39 -1.02 1.39 -0.76 2.25 -0.74 -0.63 1.5 -1.62 1.02 S
+840.19 3319.32 -3.38 -0.63 -0.62 -1.25 -1.65 -1.39 1.39 -1.5 1.75 -1.02 -2.25 -1.26 1.89 -1.76 
+2.52 0.13 1 -1.25 2.39 0.99 -1.26 1.13 1.26 1.65 -0.24 1.26 -0.89 1.5 -1.52 1.65 
+-0.37 1.76 S
+828.62 3313.52 -1.75 -1.63 -1.78 -1.15 1.25 -1.37 -2.75 -1.02 -0.63 1.65 -1.76 -0.52 -1.25 -1.63 
+0.13 -1.39 1.24 -1.25 0.89 -1.39 -1.25 -2.52 0.13 -1.63 2.89 -0.13 2.65 -0.26 1.52 1.52 
+2.63 1.76 3.54 0.5 -1.26 1.02 S
+833.03 3304.08 -1.89 0.87 -1.39 -1 -1.75 0.37 -2.52 -0.73 1.5 2.38 2.65 0.5 2.02 0.76 
+2.52 1.52 1.26 1.5 -1.89 1.02 -2.52 1.26 -2.39 1 S
+805.73 3317.69 -2.64 -1.78 -1.89 0.63 -2.78 -1.37 -1.89 -2.64 -0.87 -2.15 -2.78 -2.15 -0.74 2.15 
+1.13 2.39 0.76 2.02 -4.54 -0.5 -2.64 -2.02 -1.13 -2.39 -5.04 -1.25 -0.5 -2.52 -0.39 -2.91 
+0.89 -2.52 0.5 -2.25 1.89 -1.52 -2.75 -1.88 -2.28 -2.39 0.5 -2.02 1.89 -1.52 2.64 1.26 
+0.26 -1.89 3.28 0.36 1.5 2.78 2.26 2.52 2.91 1.89 3.88 0.14 3.91 1.25 2.89 0.63 
+3.04 -0.87 2.39 -0.52 2.12 1.25 0.39 2.02 -3.15 1.02 S
+808.75 3300.93 -3.14 0.63 3.02 2.26 -0.37 1.76 2.13 1.52 -1.62 1.89 4.14 0.5 0.89 1.52 
+-1.25 1.39 -0.39 1.76 -0.74 1.52 -1.89 0.13 -1.02 1.39 -2.76 0.5 S
+815.15 3326 -4.15 -1.52 -4.54 -0.5 0.14 -2.14 -0.5 -1.76 2.38 -1.62 3.91 -1.02 1 -2.26 
+0.89 -1.88 1 -2.02 3.14 1.76 3.52 0.99 1.52 2.29 3.02 1.88 -0.24 2.02 0.63 2.38 
+-4.3 -0.13 -3.01 0.89 -2.39 1.39 -2.02 1.26 S
+995.45 3424.37 -2.65 2.78 S
+965 3438.24 -2.15 0.76 -2.52 0 2.65 -0.89 2.02 0.13 S
+911.79 3444.16 -2.52 0.38 1.37 0.63 S
+903.73 3444.66 -3.41 -0.5 2.64 -0.39 0.76 0.89 S
+891.78 3442.41 -2.89 -0.63 S
+888.89 3441.78 -0.63 -0.89 S
+860.44 3435.72 -3.64 -2.15 -1.39 -0.87 0.52 -0.76 2.52 0.76 1.99 3.02 S
+853.64 3432.31 -3.25 -1.26 -2.52 -1.26 0.74 -0.99 3.91 0.87 -0.76 1.02 1.89 1.63 S
+891.38 3400.57 -0.5 1.25 -3.64 -0.86 -4.02 0.76 -3.27 -1.52 3.91 0.26 2.88 -0.52 4.64 0.63 S
+867.99 3410.13 -3.02 0.26 -3.02 -0.26 -2.26 -1.13 0.63 -0.86 2.52 0.24 2.63 0.89 2.52 0.87 S
+806.23 3402.08 -5.16 -0.12 -1.5 -1.89 0.11 -1.39 -2.52 -1.89 2.52 -0.24 2.29 0.63 -2.29 -2.28 
+2.65 0.26 1.39 2.13 1.13 2.02 1.39 2.78 S
+715.78 3353.21 -3.91 -0.26 -2.89 -1.52 -3.91 -0.87 -3.78 -1.39 -4.77 -2.78 4.02 1.26 S
+700.54 3347.66 2.91 1.65 1.76 -0.39 4.01 1.15 2.52 -0.89 1.65 1.89 2.39 2.15 S
+681.42 3336.7 -4.64 -2.38 -3.14 -2.65 -3.02 -2.52 -1.52 0 -2.39 -2.28 -2.52 -1.89 -1 -1.75 
+-1.65 -0.37 -3.14 -3.04 -2.12 -2.38 0.24 -1.39 3.78 2.41 4.03 3.25 4.02 2.65 4.27 2.4 
+2.65 2.76 3.02 3.28 3.28 2.65 -0.13 1.26 S
+845.98 3268.79 -1.13 -1.89 1 -1 -1.89 -1.13 -0.36 -2.02 -1.65 1.13 -2.02 0.36 -0.87 -1.36 
+-0.13 -1.89 -1.89 0 -0.76 -1.64 0.13 -2.39 2.14 -0.63 1.76 -1.52 1.5 -1.63 -0.5 -2.64 
+0.76 -1.89 -1.76 -1.26 -1.02 -2.02 -1.37 -2.52 -2.52 -1.89 -1.26 -2.28 -1.76 -1.76 S
+832.4 3236.93 -3.4 -1.88 -1.39 -2.15 -2.89 -1.39 -0.62 -1.5 1.63 -1.28 2.52 0.65 -2 -2.91 
+0.87 -1.89 -1.76 -2.39 -0.89 2.76 -1.89 1.65 -3.25 -2.02 -3.02 -2.02 -0.13 -2.78 3.15 -0.87 
+3.38 0.87 -1.75 -3.01 -3.78 -2.89 -2.52 1.75 -3.15 -0.89 -3.25 -2.02 -2.78 -2.39 -1.75 -2.39 
+-2.25 -2.15 -0.26 -3.41 -1.76 -3.15 -2.52 -2.52 -0.13 -2.26 -1.63 -2.02 -1.12 -4.54 -0.89 -1.78 
+-1.13 -3.39 -0.89 -3.03 0 -4.02 2.78 -2.02 1.63 -1.89 -0.13 -2.65 1.89 -3.14 2.28 0 
+2.75 2.02 1.89 2.26 2.25 2.15 2.91 1.89 1.39 3.64 3.25 0.63 3.41 1.65 2.25 2.02 
+1.89 2.38 1 3.65 S
+822.57 3188.3 1.89 -1.39 2.15 1.78 3.14 -0.39 3.15 -1.26 4.02 0.37 2.9 0.89 2.89 1.02 
+2.25 1.63 2.14 1.63 2.89 1.39 2.52 0.63 2.78 -0.87 3.26 0.5 3.04 0 3.12 0.5 
+2.65 0.63 2.91 1.13 2.89 1.15 2.02 1.26 -2.28 1 -2 1.89 -3.15 -0.5 0.63 1.26 
+2.76 0.63 0.63 2.52 2.26 0.26 -0.24 -1.65 -0.5 -2.25 S
+873.29 3202.04 1.5 -1.13 2.65 -0.26 1.13 2.52 0.89 2.02 -0.76 2.38 -1.12 2.15 -0.89 2.02 
+1.76 -1.52 1.89 -1.63 1.13 1.5 0.63 2.52 -1.36 1.02 1.76 0.63 1.39 0.64 2.25 -0.26 
+0.76 1.78 -1.65 1.26 4.27 0.5 1.39 1.88 -1.99 0.37 S
+888.89 3220.42 2.13 2.41 1 2.39 0.13 2.52 -2.02 1 0.89 1.78 2.02 0.87 2.39 -1.37 
+1 1.5 0 2.52 -0.37 1.89 1.63 2.28 0.39 2.02 1.76 1.13 1.25 1.89 1.89 1.89 
+2.13 1.89 2.15 1.26 3.38 2.41 -1 1.89 -2.64 1 -2.25 -1.13 -1 0.75 -1.78 -1.02 
+-2.13 -0.63 -2.65 -0.13 2.25 1.78 2.15 0.74 1 0.63 0.26 1.39 -1.76 0.13 -0.75 -1.26 
+-1.63 0.13 1.13 1.76 -3.78 1.26 1.89 0.26 2.02 -0.76 3.15 -0.37 2.25 0.74 -0.62 1.65 
+-1.52 1 0.13 1.39 -0.87 1.89 -2.64 1.13 -2.65 1.52 -3.02 0 -3.64 0.76 -3.14 -0.5 
+-2.39 -1.13 -1.76 1.5 S
+883.22 3267.04 -2.78 -1.26 -0.13 2.64 -3.88 1.63 -3.28 0.39 -1.52 -1.39 -2 -0.5 -0.63 1.39 
+-2.15 0 -3.28 0.11 -3.14 -0.63 1.39 -1.75 -1.63 -1.26 -3.91 -0.76 -2.75 1.79 -2.52 0.63 
+-2.15 1.26 -2.89 -0.52 S
+861.59 3176.97 1.63 -0.76 2.26 0.24 1.26 -1.13 -2.39 -1.26 -3.52 -1 3.39 -0.89 0.5 -2.78 
+-2.62 -1.75 4.41 -1 2.25 -1.78 2.89 -1.37 3.4 1.13 2.52 0 2.88 1.39 3.78 0.87 
+2.78 2.28 0.63 3.02 -2.14 1.65 0.5 3.02 -2.26 -0.13 -1.02 1.52 -1.89 -1.52 -2.13 -0.5 
+-1.39 1.13 -2.52 0 -1.39 -1.13 -1 1.52 -1 -2.41 -3.02 -0.37 0.87 3.02 -1.13 2.02 S
+868.12 3179.99 -1.52 0.89 -0.5 -1.26 -1.63 0.37 -0.89 -1.63 -1.99 -1.39 S
+903.73 3198.27 2.25 1.63 S
+892.27 3223.57 -0.76 -2 1.52 0 -0.76 2 S
+975.67 2807.36 -0.37 -2.75 -2.89 -2.02 1.5 -2.65 1.02 -2.78 1.89 -2.26 1.89 -2.78 2.89 -1.65 
+2.02 -1.89 1.89 -1.62 1.89 -1.76 1.5 -2.28 2.02 -2.25 1.39 -2.29 0 -2.25 0.88 -1.39 
+0.63 -2.28 1.39 -1.75 1.39 -2.65 0.5 -2.78 1.39 -2.25 1 -2.78 -2.39 -2.89 0.89 -1.25 
+0.87 -2.78 1.52 -2.15 1.37 -1.75 0.52 -3.15 -0.63 -3.28 -1.02 -2.38 -1.37 -2.28 -2.4 -1.5 
+-2 -2.41 -1.02 -3.28 -1 -3.14 -1.02 -2.78 -0.61 -2.75 -1.52 -2.78 S
+989.65 2719.68 0 -2.65 -0.5 -2.78 -0.13 -2.25 0.38 -2.64 1.25 -3.02 1.89 -1.79 1.39 -2.12 
+1.26 -2.65 1.75 -2.65 0.76 -3.02 1.76 -2.28 0.89 -2.14 2.13 -2.13 0.76 -2.15 -0.5 -2.26 
+0.24 -3.17 -0.24 -2.62 0.37 -2.15 1.13 -3.02 -0.11 -2.64 0.24 -2.28 0.76 -2.52 0.63 -3.02 
+0.26 -2.64 1.63 -1.65 1.13 -2.13 2.65 -1.65 1.49 -2.13 0.63 -3.04 1.15 -2.12 0.49 -3.04 
+1 -2.13 1.63 -2.02 1.39 -3.04 0 -2.89 -1.5 -1.39 -1.26 0 1.76 -3.02 0.63 -2.02 
+-0.39 -2.28 1.89 1.02 1.89 -1.75 1.89 -1.52 3.02 0 1.89 1.39 3.14 0.5 3.41 0.13 
+1.89 1.39 3.15 0.63 S
+1040.61 2626.34 2.88 -0.39 2.39 1.02 2.78 -0.76 2.52 -0.39 1.89 1.39 3.38 0.13 1.65 1.39 
+2.89 0.13 2.64 0.64 2.52 1.88 3.25 1.89 2.52 1.39 2.02 1.89 S
+1073.94 2636.54 2.64 2.26 2 1.89 2.52 2.02 2.64 2.28 1.65 2.38 1.87 2.78 2.15 2.39 
+1.63 2.28 3.02 2 2.41 1.52 1.37 2.78 1.39 3.28 1.39 2.88 0.37 2.28 0.26 1.76 
+-1.63 0.89 2.26 3.28 2.88 1.13 1.89 1.13 3.65 1.63 2.91 1.29 1.89 1.5 1.76 2.91 
+0 2.75 0.76 2.41 0.5 3.28 -0.63 2.26 -0.39 3.65 -0.5 3.17 -1.63 1.75 0.76 2.78 
+2.52 2.13 1.87 1.65 2.02 2.52 2.39 1.26 S
+1124.5 2714.65 2.52 3.14 2.02 2.52 2.02 2.65 2.76 1.25 2.41 1.26 3.64 1 1.99 2.14 
+2.91 2.78 1.88 2.15 2 2.63 1.52 2.64 0.63 3.04 -0.63 3.28 0.13 2.89 -0.63 3.27 
+0.63 3.41 0.13 2.52 -0.39 2.78 0.5 3.02 0.13 2.88 -1.75 1.65 -1.76 1.26 -0.76 2.78 
+-1.39 3.14 -0.37 3.91 0 3.39 1.39 3.16 -2.28 2.52 -2.25 2.52 0.89 3.15 0.74 3.02 
+1.26 3.27 1.39 2.65 1.63 3.78 1.65 3.77 -0.12 3.41 2.25 0 2.15 2.9 2.12 2.39 
+1.16 3.14 1.62 2.39 1.63 3.28 2.52 3.14 1.13 2.78 2.02 2.39 2.15 2.02 2.02 3.04 
+1.87 2.52 2.52 1.63 S
+1174.07 2844.9 2.02 2.39 2.02 2.52 1.5 3.04 1.89 3.02 1.39 2.39 1.89 3.17 1.02 2.75 
+0.87 3.41 1.39 2.52 1.89 2.65 0.23 3.64 0.52 2.78 0.74 3.4 0.89 2.89 0.26 3.28 S
+1192.58 2888.74 1 2.38 0.75 2.91 1 3.52 -0.62 3.53 0.76 2.91 -0.37 3.64 -0.52 4.66 
+-3.14 0.11 -1.37 -3.14 -2.78 -2.02 -2.65 -1.76 -2.52 -0.37 -2.26 -1.76 -2.89 -0.75 -2.64 -2.91 
+-2.39 -1.13 -3.02 -0.37 -2.14 -2.15 -2.39 -1.76 -2.65 -0.13 -1.89 1 -2.26 2.02 -2.02 1.52 
+-1.89 1.13 2.28 2.14 -1.39 2.65 -2.64 1.89 -2.52 1.89 -2.13 2.02 -3.02 1.75 -2.65 2.39 
+-2.78 0.39 -3.25 0.74 S
+1135.59 2915.69 -1.78 2.54 -1.76 0.11 -1.76 2.15 -1 2.78 -1.12 3.27 -1.89 2.65 -1.78 2.13 
+-3.02 1.75 -2.76 0.89 -2.02 3.02 -0.89 2.41 -1.13 3.28 -0.24 2.88 -0.52 2.02 -2.13 2.02 
+-0.76 3.28 -1.89 0.63 -2.38 0.86 -1.89 1.02 -1.89 2.64 -0.87 1.76 -0.26 2.52 -2.02 1.52 
+-1.89 2.65 -1.76 2.02 -1.88 2.65 -1.5 2.13 -2.28 2.52 -0.87 2.28 -1.78 1.63 -1 2.28 
+-2.02 1.49 -2.12 2.02 -1.76 2.02 -1.15 2.39 -1.76 2.02 1.02 1.26 1.36 -2.26 1.89 -2.52 
+1.65 -1.65 1.26 -1.63 2.13 -1.65 2.39 -1.37 0.89 1.26 -0.63 2.39 0.26 3.64 0.63 3.66 
+0.74 -2.91 0 -3.02 S
+1091.67 2987.13 0.13 -3.04 2.26 0.63 2.14 -2 1.89 -2.02 2.25 -2.52 2.39 -2.4 2.02 -1.5 
+2.39 -2.52 1.52 -2.65 2.02 -2.52 2.63 -0.89 2.52 -1.39 2.4 -2.39 1.87 -2.52 1.15 -2.91 
+0.11 -2.02 1.02 -2.26 S
+1122.37 2952.23 1.26 -3.28 2.02 -1.52 1.26 -1.62 3.52 -0.13 2.64 -1.89 1.89 -2.52 1.87 -2.65 
+1.89 -2.52 1.78 -2.15 1.99 -1 2.29 -2.52 1.88 -2.54 1 -2.38 0.13 -2.52 1 -2.78 
+1.65 -3.28 1.37 -3.25 1.26 -1.15 0.13 -3.15 2.26 -2.52 2.15 0.13 2.39 1.13 2.52 1.25 
+2.25 1.65 0.76 2.39 2.15 0.5 2.52 0.26 2.38 1.25 1.39 2.02 1.5 2.64 2.39 0.74 S
+1177.84 2920.86 2.28 1.78 1 3.02 2.14 2.26 2.52 1.91 2.13 1.76 2.15 1.88 2.13 1.89 
+2.02 1.76 -0.5 2.02 0.24 2.28 2.02 2.39 2.02 1.89 1.89 2.25 2.13 1.39 2.02 0.26 
+1.52 2.25 -0.13 3.41 1.88 1.89 1.76 1.26 0.76 1.39 -0.13 3.41 0.89 2.02 1.76 1.39 
+1.5 1.76 -1.63 2.14 -0.63 3.15 0.26 3.02 1.75 0.89 0.24 2.88 0.26 2.52 0.87 2.14 
+-0.11 3.52 0 3.41 -2.39 0.76 -2.41 1.63 -2 2.02 -2.78 -0.11 -2.38 -0.65 -2.65 0.52 
+-2.52 1.13 -2.76 1.63 -1.26 3.41 -1.26 2.91 -0.26 1.63 -1.26 0 0.13 -2.25 -1.13 -2.28 
+-0.63 -2.52 -0.63 -2.65 S
+1188.67 2997.2 -1.39 -2.88 -0.24 -2.78 -1.52 -1.39 -2.78 -0.5 -2.13 -0.89 -0.89 -2.02 -2.76 -0.63 
+-1.26 1.15 -1.89 -0.63 0.37 3.38 -0.63 3.04 -1.49 2.76 -1.76 1.52 -0.89 -0.89 0.5 -2.64 
+-0.5 -2.89 -1.25 1.13 -2.39 1.89 -0.5 2.52 S
+1165.28 2996.44 -1.65 2.15 -2.52 1.13 -2.62 1.79 -2.78 1.62 -2.02 2.02 -2.12 2.38 -1.76 2.65 
+-2.15 0.26 2.02 1.89 -1.88 2.02 2.02 0.74 0.24 3.41 2.02 -0.87 2.02 -0.89 1.26 1.75 
+2.25 -1.39 2.78 -2.76 2.89 -2.15 1.89 -2.52 2.02 -2.02 3.14 0.26 2.25 -0.63 2.76 -1.64 
+2.41 0.37 2.13 -1.26 1.89 1.39 2.39 -0.63 1.75 2.52 1.39 1.79 S
+1187.29 3009.81 1.63 1.88 2.02 1 2.15 -1.26 1.49 -2.26 1.89 -2.52 2.91 0.74 2.63 0.76 
+2.78 0.26 2.26 0.5 2.02 1 2.64 0.76 1.89 0.39 2.76 0.87 2.15 1.89 1.76 1.52 
+2.25 1.26 0.89 1.76 2.13 -0.11 1.78 0.5 1.75 1.63 1.39 1.39 1.63 1.76 2.13 0.63 
+1.89 -1.37 2.02 -0.63 1.76 -2.14 1.52 -2.29 2.39 0.26 2.25 -0.5 2.52 -1.78 2.78 -0.74 
+2.13 1.5 1.78 2.41 0.74 -3.41 -1.36 -2.28 -2.28 -1.37 2.39 -2.41 2.14 -1.13 2.75 -1.63 
+2.52 -0.26 2.28 1.52 1.5 2.25 0.5 3.02 -1.26 3.8 -0.61 2.88 1.13 0.26 1.13 -3.28 
+1.5 -2.4 2.15 -1.89 S
+1270.45 3012.57 1.25 -3.78 1.13 -3.28 1.89 -2.64 1.39 -1 0.24 -2.52 2.15 -3.28 2.15 -3.15 
+1.5 -2.91 1.76 -3.38 1.76 -2.28 2.15 -2.52 2.52 -2.28 2.52 -2.38 1.39 -3.02 1.89 -2.78 
+1.75 -2.78 1.89 -3.26 1.89 -2.15 2.26 -1.89 1.76 -2.02 1.75 -2.78 S
+1307.42 2956.51 1.65 -2.89 1.89 -3.53 1.75 -3.41 2.13 -1.89 2.02 -1.39 2.02 -0.11 1.13 2.76 
+-0.37 4.43 1.13 2.63 1.5 1.64 -1 3.41 0.26 4.14 1.89 1.39 -1.26 3.78 -1.26 2.64 
+-1.15 3.28 0 3.54 -0.24 3.91 -1.13 4.01 -1.78 3.67 -1.76 3.51 -1.89 3.54 -0.74 3.02 
+-0.12 3.28 2.25 1.13 -0.63 3.28 1.02 1.39 S
+1314.73 3007.66 1.5 2.02 0.13 2.39 -0.89 2.91 0.39 1.89 0.64 2.76 -0.14 3.67 0.38 2.65 
+0.75 2.25 0.37 3.41 -0.24 3.77 -0.39 2.78 0.25 3.52 1 1.89 1.02 2.64 -0.5 3.67 
+-0.63 3.38 -1.39 1.78 -0.76 2.63 0.89 2.64 0.5 2.52 -0.76 2.54 2.65 -3.04 0.87 1.89 
+1.02 2.28 1.13 2.14 1 2.26 -0.37 3.14 -0.13 2.78 0 3.78 2.52 -1.39 2.02 -2.02 
+1.89 -2.26 2.02 -2.14 2.5 -1.39 2.65 -1.13 1.89 -1.25 0.89 1.25 2.25 -1.88 0.5 -2.15 
+2.28 -1.89 0.87 1.26 2.28 -2.65 2.5 -3.14 2.41 -3.52 1.63 -4.54 1.26 -3.9 2.26 0.13 
+1.13 0.63 1.15 1.5 S
+1359.89 3050.11 -0.26 3.41 0.13 3.28 0.37 3.51 -0.75 2.91 1.39 0.13 2.38 -1.65 2.28 -2.76 
+2 -3.04 2.4 -3.64 2.13 -2.9 2.39 -3.39 2.9 -2.91 2.39 -3.41 1.25 -5.04 2.26 -2.64 
+1.39 -3.02 0.24 -3.41 1.65 -3.65 1.76 -4.27 1 -5.16 1.39 -3.67 1.65 -2.52 0.24 2.15 S
+1392.47 3008.42 2.38 -1.65 2.39 -2.52 1.78 -1.39 1.89 -1.26 1.24 -1.5 1.02 -2.15 1.13 -3.15 
+1.76 -4.3 1.52 -1.62 1 -4.28 2.15 -2.64 2.25 -1.89 1.39 -3.67 2.25 -1 1.65 -1.52 
+2.13 -0.24 1.76 -0.52 1.52 -0.87 2.25 2.64 -1.89 4.14 -2.25 3.54 -1.76 1.63 -1.15 4.04 
+-1.23 4.03 -1.26 4.04 S
+1416.38 2996.33 -1.39 3.88 -2.28 2.78 -1.99 1.02 -2.02 1 -2.14 1.13 -2 1.89 -1.89 -1.49 
+-1.64 0.75 -2.13 3.78 -1.89 3.15 -1.89 1.26 -2.28 4.67 -1.13 -2.52 -1.89 3.14 -1.75 4.28 
+-1.39 4.8 -0.5 3.38 -1.13 4.3 -0.87 3.52 -2.28 4.79 -1.89 4.41 0.5 2.91 1.78 0.74 
+2 -4.14 1.52 1.39 1 1.63 2.52 -1.39 1.39 0.13 1.76 -1.52 1.88 -2.39 2.02 -2.02 
+2.12 -0.76 1.39 2.28 1.76 -1.39 1.76 0.75 1.26 -4.53 1.65 -3.78 1.75 -2.4 0 4.16 
+-0.26 4.27 0.89 2.78 -0.63 4.54 -2.15 4.4 1.26 2.52 0 3.67 -0.11 3.64 -0.12 3.78 
+0 4.03 -1.02 3.28 S
+1405.92 3076.82 -1.63 3.15 -2.52 5.16 -1.75 3.15 -2.15 3.64 -2.12 3.16 -2.52 2.89 -2.78 3.28 
+-2.38 1.13 -2.39 1.39 -2.13 0.5 -2.65 0.63 -2.38 1.25 -2.52 1.15 -1.65 1.76 -2.13 0.5 
+-3.28 2.38 -1.89 3.9 -1.75 3.54 -0.76 4.28 -1.63 3.77 -1.02 3.91 -0.5 3.91 -0.63 3.41 
+-0.24 3.28 0.5 2.26 S
+1361.02 3144.21 1.76 0.39 0.36 1.5 2.02 -3.02 1.26 -1.26 2.25 -1.88 0.39 1.52 -0.5 2.26 
+-2.39 1.52 -1.52 2.88 -0.37 3.41 0.11 3.28 -0.87 3.91 -0.13 2.89 -0.5 3.41 -2.64 3.54 
+2.02 0 -2.65 3.9 2.65 -0.12 -2.15 4.14 0.13 2.4 -0.26 3.02 -0.37 3.02 -1.25 3.91 S
+1358.38 3188.8 -1.89 4.54 -1.5 3.66 -1.88 4.02 -1.52 3.16 -2.02 1.89 -0.11 2.52 -2.52 3.14 
+-1.65 3.15 -2.02 3.14 -2.76 3.54 -2.02 2.13 -2.52 1.88 0.25 1.26 -2.28 3.41 -2.75 3.41 
+-2.78 3.41 -2.39 2.88 -0.24 1.76 -1.76 2.02 -1.52 0.89 -3.28 3.28 -0.24 1.26 -3.91 3.14 
+-1.63 1.52 -0.13 -1.78 -0.75 -0.87 1.13 -3.28 -0.76 -0.89 -1 2.91 -1.89 2.39 -1.39 2.39 
+-1 2.41 -2.02 1 -2.13 -1 -0.63 2.89 -2.52 1.02 -1.76 -0.63 -0.63 -0.89 -2.65 1.26 
+-2.64 0.99 -2.39 0.89 -3.15 1.13 -0.99 -1.63 -1.15 -1.76 -2.89 2.89 -2.52 2.38 -2.75 3.67 
+-2.15 3.14 -2.88 2.25 S
+1271.83 3274.71 -2.02 3.67 -2.38 3.15 0.75 0.86 -3.77 2.91 0.13 -2.02 0.74 -2.15 0 -1.63 
+-1.26 -0.63 1.76 -2.91 2.02 -2.25 1.89 -2.02 0.5 -1.89 -1.26 -0.89 -2.62 1.02 -1.15 -1.26 
+-1.24 -0.89 -1.89 -0.26 -2.28 1.65 -2.52 2.52 0.76 1.26 -1.26 2.78 -1.89 1.89 -2.39 1.75 
+-2.25 3.02 -1.78 2.65 -3.26 3.03 -2.91 2.76 S
+1242.25 3290.84 -0.37 2.52 2.26 0.26 3.28 -2.65 2.39 -2.65 1.89 -1.5 1.75 0.5 3.41 -3.67 
+-1 2.14 -2.41 3.02 -2.88 2.54 -1.89 3.02 -2.02 2.65 -1.5 2.76 0 2.15 -0.13 1.52 
+0.5 1.13 3.78 -2.64 3.14 -1.89 3.41 -2.52 1.63 1.39 -1.89 3.77 S
+1255.6 3302.69 1.13 1.26 2.52 -0.5 1.75 -2.91 3.41 -0.37 3.38 -0.63 3.64 -3.4 3.41 -1.76 
+2.88 -0.5 -3.38 4.15 -2.39 3.27 -2.28 4.04 -3.02 3.64 -3.38 2.52 -3.15 1.65 -3.41 1.5 
+-3.28 1.02 -3.02 0.63 -2.02 -0.5 -1.5 -0.63 -2.26 0 -1.39 -1.02 -0.5 -1.5 -2.64 1.5 
+-1.39 0 -1.76 2.39 -2.02 2.28 -2.89 2.78 -3.51 3.02 -2.15 2.14 -3.41 1 -1.5 0.14 
+-4.66 3.14 -2.62 2.9 -2.78 1.26 -0.87 1.37 -3.77 2.15 -2.39 1.39 -1.65 2.38 2.26 -0.49 
+-0.5 2.64 -3.14 3.02 -4.02 2.91 -3.77 3.02 -5.04 2.64 -3.28 1 -4.91 3.04 -5.27 2.64 
+-4.78 2.52 -4.17 1.76 S
+1166.14 3367.19 -3.91 1.39 -4.51 1.13 -4.54 1.89 -4.9 1.76 -5.54 2.28 -3.77 0.5 -3.15 0.5 
+-3.64 -0.11 -2.78 -0.39 -3.26 0 -3.54 0.63 -3.64 0.76 -2.88 0.5 -0.63 -0.87 -2.38 -0.26 
+-3.41 0.36 0.52 -1.75 0.11 -1.5 -1.26 -0.52 1.15 -1.89 2.13 -1.89 4.77 -1.39 3.91 -2.52 
+-3.14 0.75 -2.52 -0.13 2.28 -1.62 3.75 -1.02 -2.63 -0.11 -2.52 -0.26 S
+1116.21 3363.41 2.65 -2.02 0.73 -1.89 -1.37 -0.36 -3.53 1.99 -4.41 1.65 -4.02 1.63 -4.41 1.39 
+-4.67 1.13 -3.52 1.02 -3.91 1.26 -3.14 1.13 -2.89 0.39 -3.14 0.63 -3.39 1.13 -2.78 0.24 
+-3.38 1.15 -3.54 2.02 -3.02 2.13 -2.89 1.89 S
+1061.61 3379.91 -0.26 0.89 -3.14 0.76 -2.26 2.13 -2.88 1.39 -1.76 1.39 -1.15 -0.13 -1.49 -0.37 
+-2.15 0.75 -1.39 1.5 -2 1.39 -2.02 0.76 -0.13 1.13 3.28 -0.5 0.24 1.13 -2.39 1.15 
+-4.14 1.26 -2.26 0.36 -2.15 1.26 -4.77 1.76 0.24 -1.13 2.14 -1.39 -3.41 -0.76 -3.52 -0.24 
+-4.01 0.24 -3.65 -0.37 -3.67 -0.26 -4.27 0.76 -3.52 1.02 -1.89 1.26 -3.52 0.5 3.64 1.13 
+0.88 1.15 0.13 1.37 -4.27 0 -3.65 -0.24 -3.14 -0.5 -2.75 0.5 -1.26 -1.39 -2.41 -1.02 
+-4.78 0.52 -0.75 0.87 3.14 0.26 2.02 1.52 2.15 1.63 2 0.89 3.65 -0.39 3.77 -0.13 
+2.39 0.76 3.9 0.39 S
+1004.36 3404.86 4.78 0.11 3.14 0.65 4.16 0.24 4.64 0 4.04 -0.5 2.76 -1.02 0.63 1.15 
+3.02 0.5 3.53 -0.76 6.29 1.52 2.76 1.13 1.52 1.13 1.36 1.52 1.02 1.25 1.76 1.63 
+2.13 1.39 0.76 2.02 1.76 1.26 1.89 0.89 0.52 1 -4.66 0.76 -4.78 0.39 -4.91 -0.39 
+-3.02 -1 -4.29 0.24 -3.64 1.39 -1.13 -1.26 -2.26 -1.13 -3.64 0 -4.17 0.76 S
+1020.33 3419.73 -2.12 1 -2.89 0 0.63 -1.76 -1.25 -1.65 -2.91 -0.63 -2.89 0.26 -1.13 1.26 
+-2.52 0.13 -0.75 -1.76 1.39 -1.02 -1.26 -1.26 -3.54 -0.63 1.89 -1.52 2.65 -0.11 -0.63 -1.39 
+-3.02 -0.76 -3.77 -0.5 S
+998.2 3409.39 -2.25 -1.02 -1.76 -1.13 -3.91 0.37 -2.02 1.15 -3.28 -0.52 -3.76 0.26 1.37 1.89 
+-3.77 -0.76 -3.39 -0.24 -3.41 0 -3.64 1 -2.39 1.26 -1.5 1.52 -2.28 -1.52 -3.9 -0.37 
+-3.88 -0.76 -3.54 -0.89 -3.52 -0.87 -3.02 0 -3.41 -1.02 -3.75 -0.37 -3.14 -0.76 -4.67 0.13 
+-3.14 1 -2.75 -1.5 1.63 -1.28 1.52 -1.89 0.87 -1.89 0.76 -1.26 3.02 -0.11 -0.13 -1.65 
+-4.14 0.5 -3.27 -0.87 -1.5 -0.52 S
+922.22 3397.29 -1.13 -0.5 -1.52 -1.89 2.39 -1.26 -3.14 -1.39 -0.63 1.65 -1.13 1.63 -2.88 0.13 
+-2.28 -0.63 -3.52 0.37 -0.89 1.65 -2.89 0.75 -4.14 0.88 -3.78 0.26 -0.36 -1.65 S
+896.31 3397.29 -1.65 -1.5 0.63 -1.78 -3.77 -0.5 -1.12 -1.5 -2.13 -1.26 4.01 -1.15 3.28 -1.26 
+4.91 0 4.14 0.39 2.02 -1.52 2.76 -1.12 3.53 -1.13 3.78 -0.89 2.76 -1.26 2.78 -1.26 S
+922.22 3381.55 0.63 -0.39 3.15 -0.99 3.38 -0.76 3.41 -1.13 4.14 -0.26 3.52 -0.76 3.54 -0.62 
+3.64 -0.74 0.87 2.25 -0.5 1.76 1.89 0.76 2.65 -0.14 0.13 -1.36 2.52 -1.02 -0.39 -1.39 
+-2.52 0.5 -1.13 -0.86 2.89 -1.13 2.14 1 2.26 0.49 3.27 -1.25 4.14 -1.26 4.91 -0.89 
+4.04 -1.13 2.26 -1.76 -2.52 -1 -0.5 -1.78 1.26 -1.5 2.88 -1.25 3.15 -1.52 3.77 -0.62 
+2.39 -0.89 2.65 -0.76 S
+990.15 3361.13 -1.26 -1 0.76 -1.63 1.89 -0.89 0.37 -1.39 -1.76 -1.62 1.89 -1.78 3.15 -1.5 
+1.75 -2.28 2.02 -1.75 2.02 -1.65 2.52 -2 0.86 1.37 2.28 -1.63 2 0.13 1.25 1.13 
+1.26 1.63 2.28 -2.12 3.64 -2.14 0.37 -1.39 1.76 -0.87 2.28 -0.26 0.37 -1.52 -1 -2.02 
+2.88 0.39 2.76 0.37 3.14 -0.5 0.26 -1.62 -1.26 -1.79 -2.14 -1.63 -3.52 0.38 -3.39 -0.37 
+-1.52 -2.38 0.89 -2.28 0.74 -2.89 1.78 -2.28 2.39 0.13 1.5 1 1.89 -1.63 1.26 -2.78 
+0.26 -2.15 -2.91 0 1.15 -1.89 -0.12 -1.75 1.25 -1.39 1.89 -1.49 -3.28 -1.26 S
+1026.75 3308.12 -2.64 0.5 0.26 -1.52 S
+1024.37 3307.09 1.39 -0.63 0.99 1.65 S
+1026.75 3308.12 2.65 0.37 0.5 -1.39 -0.63 -1.13 -0.63 -1.25 2.15 -0.89 1.26 0.89 1.88 -1.76 
+1.63 -1.78 0.37 -1.5 -3.02 1 -1.63 1.65 -3.54 1.75 -2.88 1.63 -3.65 1.78 -2.88 1.26 
+-3.41 -0.13 -2.65 -0.63 -1.63 -1.26 -0.5 -1.52 0.13 -1.63 0.63 -1.52 1.75 -0.37 0.5 -1.52 
+-3.78 1.13 0 -1.63 0.5 -1.78 -2.88 1.89 -1.63 -2 2.62 -1.65 3.15 -1.76 3.54 -0.13 
+0.24 -2.25 2.25 0.24 1.39 -3.15 -2.26 0.63 1.76 -2.78 0 -1.63 2.15 -1.64 1 -2 
+1.39 -2.64 1.89 -1.89 2 -1.65 2.28 -0.76 2.88 -0.12 0 -2.26 0.5 -2.28 S
+1032.16 3270.05 -0.11 -2.38 -0.39 -2.13 4.04 -0.76 3.14 -1.25 1.89 1.37 3.02 0 0.37 -2.13 
+-3.14 -0.39 -2.26 -0.74 -0.63 -1.26 -2.02 -0.39 1.13 -1.63 2.91 0.87 0.63 -1.26 -2.02 -0.37 
+0.37 -1.52 2.91 -0.5 2.49 1.25 2.02 0 -2.25 -1.62 -2.15 -1.78 -3.02 1.39 -2.25 1.76 
+-3.28 1.02 -2.76 -0.26 0.74 -0.87 2.14 0.37 2.26 -0.75 1.65 -1.63 0.24 -1.65 2.52 -2.13 
+2.64 -0.13 2.89 -0.63 2.02 -1.88 2.89 -1.78 3.64 -1.37 2.02 2 0.63 -2.13 2.89 -1.65 
+3.78 -1.39 1.65 -2.52 1.88 -2.13 0.87 -2.78 0.39 -2.28 -3.64 -0.11 -0.39 3.15 -1.13 2.02 
+-1.76 2.39 -2.52 1.39 S
+1059.09 3240.84 -2.02 1.88 -3.38 -0.12 -2.9 1.63 -3.39 1.91 S
+1047.39 3246.14 -2.91 1.63 -3.02 1.52 -3.26 0.11 -2.02 2.02 -2.15 1.78 -2 0.87 -2.65 -0.99 
+-1.26 1.13 -2.38 0.37 0.11 -1.75 2.02 -1.89 1.88 -2.02 2.78 -1.76 1.89 -1.88 0.63 -2.65 
+2.26 -1.63 2.78 -0.76 2 -1.89 1.76 -1.15 2.02 0.63 3.41 -1.13 2.13 0.26 2.28 -2.38 
+-2.39 -0.39 -2.52 0.26 -2.28 -0.76 -2.52 -0.39 -1.63 -0.99 -3.14 -0.13 -2.02 -1.26 -3.64 -0.63 
+-3.64 0.39 0.99 -1.91 2.15 -0.24 2.52 0.24 2.26 -0.87 2.38 -0.5 0.52 -1.79 -0.52 -1.12 
+1.79 -1.26 -1.52 -0.63 -2.88 2.29 -0.52 -1.79 0.26 -2.38 S
+1037.33 3220.68 -2.02 -0.89 -1.12 -1.5 1 -1.78 -2.76 0.39 -2.52 2.02 -0.26 -2.14 -0.37 -2.02 
+-1 -1.89 -0.26 -2.02 -0.89 -2.13 -0.87 -1.78 2.38 -2.52 -0.5 -2.02 -1.88 -1 -2.26 1 
+-2.28 -0.24 -0.63 2.38 1.76 1.63 -2.39 1.39 -2.02 0.5 -2.12 -1.12 -2.89 -0.37 3.25 -1.02 
+2.28 -2.65 1.26 -2.52 1.88 -0.11 2 -2.28 0 -2.15 -2 0 -2.4 -0.5 -0.11 -2.25 
+-1.15 -2.15 -0.63 -2.25 2.41 -1.52 2.88 -1.88 -2.88 -0.76 -2.41 0 -2.88 0.37 -2.13 -0.37 
+0.11 -2.02 3.04 -1.26 1.76 0.63 1.5 -2.38 -2.89 -1.14 -3.52 1.14 -3.28 0.24 -1.52 2.54 
+-1.12 1.99 -1.5 2.41 S
+1005.38 3186.68 -3.54 1.26 -2.52 0.5 -2.63 2.02 2.89 -1.02 3.02 0.13 2.88 -0.37 S
+1005.49 3189.2 2.28 0.37 2.39 0.5 2.75 0.13 2.28 1.39 1.26 2.28 0.24 2.13 -1.75 2.28 
+-2.13 1.63 -3.04 0.76 -2.75 0.26 -3.02 0.74 -3.15 0.76 -3.02 0.26 -3.02 -0.26 -3.04 -0.63 
+-1 1.65 -2.39 0.13 -1.13 -1.39 -2.65 -0.39 -3.27 0.89 2.64 0.24 1.26 2.41 -2.65 0.63 
+-2.62 0.5 -2.91 0 -0.37 -3.28 -1.52 1.89 -0.99 -2.15 -1.26 2.91 -1.26 -1.26 -0.26 -1.89 
+-2.39 0.76 -1.39 -1.65 -0.74 -2.52 -2.39 -1.39 -2.52 -0.5 -0.89 -2.88 -2.02 -1.15 0.5 -1.76 
+1.39 -0.13 -1.5 -2.02 -0.63 1.65 S
+958.83 3191.08 -1.15 -1.52 -0.11 2.65 -1.39 -2.02 -1.63 -1.49 1.63 -1.15 -2.78 -1.26 -1.26 -2.39 
+2.02 2.14 2.15 0.63 2.52 0.87 -1.89 -3.02 -0.26 -2.15 -1.39 -2.39 -0.62 -2.38 -0.37 -2.15 
+-0.49 -2.39 -0.5 -2.64 -1.89 -2.02 -1.15 -3.14 -1.13 -2.39 -1.26 -2.28 -1.75 1.13 -0.76 -2.25 
+-1.13 -1.89 -2.75 -0.5 -1.52 -2.41 -1.75 -1.76 -1.89 -2.02 1 -1.63 -1 -1.78 0.63 -2.26 
+0.37 -2.15 1.65 -2.13 -0.76 -1.91 0.63 -1.75 2.26 0.63 -1.37 -1.89 -0.13 -2.26 1.5 -1.25 
+2.64 -1.15 2.78 -0.24 2.39 1.5 1.37 1.89 2.02 2.41 1.52 0.13 0.75 1.89 1.63 -1.26 
+1.39 -3.04 1.5 -2.52 S
+959.07 3132.12 1.52 -2.88 1.5 -2.65 2.41 -2.02 -0.52 -1.89 1.52 -2.02 0.26 -1.76 2.26 0.24 
+1.89 0.13 S
+969.9 3119.27 -0.62 1.75 1.25 2.52 2.13 0.26 1.89 0.26 0.63 3.28 -0.24 3.14 0 2.26 
+-0.63 2.64 0 1.89 1.89 2.15 1.89 1.63 -1.26 0.75 1.37 1.52 0.26 1.49 -1.13 1.65 
+-2.52 1.39 -2.39 1.39 -0.76 2.13 -0.26 2.78 -0.5 2.65 0.5 1.39 1.02 2.88 1.5 2.15 
+1.39 1.52 1.63 1.76 0.26 1.88 1.13 2.02 -2.12 1 0.63 1.89 -0.62 1.26 1 1.15 
+0.37 1.89 2.02 0 1.52 0.37 1.49 0.76 2.65 -1.13 1.13 -2.52 -1.26 -1.26 -0.36 -2.91 
+-1.26 -2.52 S
+983.48 3168.4 -1.26 -3.01 -1.39 -2.65 -0.13 -2.78 1.02 -2.52 2.13 -2.39 -0.13 -2.78 0.63 -1.75 
+2.52 -0.89 1.89 -1 2.91 -0.26 2.52 1 2.25 1.52 2.15 1.52 2.25 1.39 3.15 0.87 
+3.02 -1.5 1.63 1 2.28 -1.89 -3.28 0.13 -1.52 -2.41 -0.63 -1.5 -3.14 -0.89 -2.89 0.26 
+-2.52 -1.12 -2.12 -0.89 -1.52 -1.75 0.76 -2.29 1.5 -2.02 1.89 0 1.02 -2.64 0.87 -2.52 
+-1 -1.75 -1.89 0.13 -1.62 1.5 -2.02 1.02 -2.15 -0.89 -0.24 -2.88 -0.5 -1.89 1 -3.14 
+1 -2.54 -0.24 -2.89 -2.15 -1.75 -0.12 -2.41 -1.37 -1.12 -2.02 -0.37 -1.75 2.52 -2.78 -0.89 
+-2.52 -1.39 -1.89 -2.02 S
+977.06 3113.84 -2.63 -0.87 -2.64 -1.65 -1.76 0.26 -2.14 0.63 1.26 1 -1.52 1.78 -1.12 -1.52 
+-2.13 -0.76 -1.39 -1 -1.52 -1.52 S
+961.46 3110.2 -2 -0.24 0.37 1.89 -3.39 0.99 -0.13 1.39 -2.15 1.13 0.76 2.78 0.99 2.88 
+2.02 1.15 -0.26 1.76 -1.87 -0.26 -0.26 1.78 0.37 2.39 -0.24 1.76 -2.02 -0.63 -1.13 -1.89 
+-2.28 -0.76 -1.26 -1.39 -0.24 -1.75 0.24 -2.78 0.52 -2.12 1.89 -1.26 0.37 -2.78 1.26 -1.64 
+-1 -1 1.37 -1.26 -1.37 -1.52 0 -1.76 -1.89 0.76 -2.38 -0.13 -1.02 -1.39 -3.14 -0.13 
+-2.02 -1.12 0.13 -2.26 1.65 -0.39 0 -1.26 -1.39 -1.5 -1.52 0.87 -0.24 2.78 S
+940.21 3103.28 -1.13 -0.63 -0.39 -2.15 -0.87 -1.89 -1.15 -1.89 -1.37 -1.89 -2.14 -0.89 -2.39 -1.5 
+-2.15 -0.89 -0.5 -1.88 -0.23 -2.28 -1.65 -0.87 -1.89 -0.5 -1.5 -0.89 -0.63 -2.28 -2.28 0.39 
+-1.89 -0.39 -0.87 2.28 -2.28 0 1.26 -2.64 0.52 -3.28 -2.28 0 -2.52 -0.37 -1.26 1.89 
+-2.52 -0.39 -2 -0.87 -2.28 -0.39 0.13 -2.76 1.65 -1.02 1.87 0 2.28 -1.5 2.64 -0.52 
+0.63 -0.87 1.5 -1.89 -0.37 -1.39 1 -1.39 2.02 -1.39 1 -2.38 -0.37 -3.15 -0.39 -3.17 
+-0.37 -2.39 -0.75 -3.14 -1.13 -1.39 -2.12 -0.5 -2.41 0.5 -3.38 0.63 -3.65 -0.87 -2.64 1 
+-3.15 0.63 -3.14 -0.26 S
+894.66 3051.87 -2.75 0.13 -3.02 1.52 -1.65 -2.28 -2.52 -0.24 -1.13 -1.26 1.39 -3.41 -0.5 -2.25 
+0.11 -1.91 0.52 -2.76 -0.62 -2.41 -0.89 -2.62 -0.76 -3.28 S
+882.83 3031.1 -1.62 -1.79 -0.63 -2.75 1 -1.89 1.75 -0.13 -0.62 -2.78 -0.11 -2.78 -1.02 -2.39 
+2.64 0.39 2.25 -0.66 2.02 0.89 1.89 -0.13 2.14 -1.5 0.74 -1.52 1.26 -2.78 2.28 -1.13 
+2.38 2.28 2.39 0.87 2.65 0.39 2.75 0 2.64 -0.13 2.65 0 1.63 2.26 2.26 2.78 
+2.28 0 0.76 2.26 1.5 1.91 2.64 1.88 -2.26 1.89 -0.39 2.26 1.52 2.39 2.13 2.78 
+2.15 3.28 2.12 1.02 2.52 0.86 2.52 1.89 2.14 1.52 S
+935.8 3042.55 -0.5 3.15 -0.52 2.78 2.41 1.49 1.76 1.39 2.52 -0.87 2.75 -0.26 2.52 -1.39 
+2.52 0.63 1.52 1.89 2.38 1.65 2.39 1 0.76 1.88 1.75 1.02 2.02 -0.26 1.5 -0.89 
+2.39 -0.24 0.76 -2.78 1.26 -2.25 2.39 -2.02 0.5 -1.89 2.15 0.11 2.39 -1.99 2.15 -2.15 
+2.25 -1.25 2.89 0.37 2.02 -1.63 2.02 -1.26 1.49 -0.39 1.52 -2.13 3.02 -0.63 0.63 -1.78 
+1.52 -2.13 0.63 -2.41 -0.89 -1.5 -0.26 -2.41 0.13 -1.37 1.52 0.24 0.5 1.39 1.26 1.65 
+-0.37 2.25 1.99 1.26 -0.37 2.28 -2.39 1.13 0.24 2.89 0.76 2.02 1.88 -0.76 2.29 -0.11 
+0.73 -1.79 1.52 -0.37 S
+1002.11 3036.13 0.37 2.02 -2.62 2.02 -2.41 1.13 -2.39 0.99 -2.76 1.15 -2.28 0.63 0.76 2 
+-3.52 -0.5 -2.65 1.13 -2.25 1.15 -1.25 1.26 -0.76 2.39 -1.39 2.14 -2.25 1.13 S
+976.7 3054.77 -1.89 1.26 -2.02 1.63 -0.63 1.78 0.39 2.02 -1.15 1.26 0.13 1.89 1.65 0.13 
+1.75 1.5 2 -0.13 -0.37 -1.5 0.63 -1.78 1.25 -1.37 1.13 1.13 0.13 1.88 2.88 -1.52 
+0.76 -2.26 1.25 -1.26 0.38 -1.89 2.52 -1.02 1.39 -1.26 2.39 -0.13 3.54 -1.89 2.89 -2.02 
+2.76 -1 2.41 -1.63 2.38 -1.02 0.13 -2.38 0.24 -3.28 0.63 -2.78 2.02 -1.12 1.89 -2.15 
+1.5 -1.62 2.02 -2.52 2.28 -2.15 S
+1015.95 3029.58 3.38 0.13 3.15 1 1.89 -1.5 2.64 -0.13 2.63 -1.39 -0.74 3.28 2.75 -0.5 
+-2.02 0.64 -0.87 1.75 -2.02 0.63 -1.75 1.13 -1.13 1.65 -1.89 1.63 -1.89 2.02 -0.5 3.27 
+2.63 -1.88 2.15 0.37 0.37 1.52 -1.37 1.26 2.13 0.37 0.63 1.52 2.25 0 1.65 0.76 
+2.52 0 1.89 -1.52 1.89 0.89 -1.15 -2.14 0.26 -1.26 1.26 2.28 1.63 2 1.02 1.78 
+2.89 1.13 2.78 0.63 2.88 -1.26 -1.89 -1 0.76 -1.28 -2.39 -0.63 -2.78 -0.62 -2.39 -0.5 
+-2.52 -0.5 -1.13 -2.14 0.13 -3.39 3.38 1.13 -0.24 -1.52 1.13 -3.15 1.13 -1.25 -0.89 -0.63 
+-1.89 0.99 0.14 -1.89 S
+1038.46 3033.22 2.39 -0.5 2.02 -0.5 0.13 -2.02 2.26 -1 -1 -2.15 2.25 0.5 2.15 0.5 
+-0.39 -1.63 2.52 0.63 3.53 -1.76 2.52 -0.39 2.76 2.15 0.13 2.39 2.65 0.26 3.64 -0.63 
+1.63 -1.64 S
+1067.64 3027.43 2.38 -0.37 1.52 1.39 1.75 0.5 1.52 2.39 1.13 2.28 3.38 -0.5 1.39 0.37 
+1.39 2.52 0.87 -1.39 -0.74 -2.25 1.37 -1.65 -0.11 -2.02 1.26 -3.78 1.23 -2.64 -0.61 -2.75 
+-0.13 -3.54 -0.13 -3.14 0 -3.02 0.26 -3.04 -0.76 -3.15 -0.89 -2.25 -3.28 -1.39 -2.52 -1.12 
+-1.99 1.13 -0.26 -2.02 -2.13 0.37 -0.13 2.02 -3.15 -0.23 -2.52 -1.02 -2.38 -2.02 -1.89 -1.89 
+-2.15 -1 S
+1061.35 2994.18 -3.02 0.87 -2.75 -0.63 -2.52 0.52 -2.15 0.63 -2.88 -0.12 -2.78 0 -2.63 -1.02 
+-1.65 2.15 -2.76 -0.37 -2.91 0.37 -2.75 0.13 -0.89 2.15 -2.88 0.5 -3.15 0 -2.64 -0.89 
+-2.52 -1.39 -2.39 -2.65 -0.89 -2.13 1.15 -1.65 0.74 -2.38 -0.37 -2.39 -1.39 -1.65 -1.75 -1.26 
+-2.52 0.13 -2.65 1.63 -3.52 1.52 -4.01 0.5 -2.91 0.13 -2.62 1.13 -1.39 1.25 -0.39 2.78 
+-2.88 0.76 -2.89 1.13 -2.78 0.13 -3.64 0.13 -3.14 -0.26 -2.52 0.76 -2.88 1.13 -1 2.41 
+-1.89 -0.76 -2.02 0.87 -0.62 2.28 1.39 1.52 1.76 1.99 1 2.54 -0.63 2.26 -1.63 0.76 
+-1.13 3.28 1.37 1 S
+971.4 3013.96 0.89 2.52 -2.89 -1.63 -1.39 2.64 -2.26 0.24 -2.28 -0.49 -1.76 -1.52 -2.14 -0.63 
+-3.52 0.76 -1.89 -1.13 -3.38 0.76 -1.89 -1.39 -2.28 -0.62 -1.5 0.89 -2.78 0.37 -2.63 0 
+-1.88 -0.63 -2.29 0 -2.25 -1 S
+933.29 3013.08 -3.02 -0.52 -3.54 -0.5 -2.26 -1.39 -2.25 -1.89 -2.39 -0.5 -2.28 -0.37 -1.12 -1.91 
+-3.14 -1.37 -2.39 -0.39 -2.65 1.39 -2 -0.37 -3.04 0.11 -2 -0.37 -3.04 1.89 -1.13 1.89 
+-2.26 -0.37 -1.39 -2.78 -0.86 -2.26 -1.26 -2.28 -1.26 -2.25 -2.91 -1.78 -2.89 -0.74 -2.39 -1.28 
+-1.75 -2.26 -2.15 -1.75 -0.24 -1.89 -1.39 -2.28 -1.64 -1.26 -0.37 -4.66 1 -2.02 S
+875.29 2978.93 -1.5 -3.25 -1.76 -2.28 -2.28 -2.15 -3.02 -1.13 -1.89 -2.26 -3.39 -1.15 -3.77 -0.24 
+-1.89 -2.15 -1.12 -2.78 -1.39 -1.75 -2.65 -1.26 -1.5 -1.25 -1.02 -2.78 -1.12 -2.26 -1.63 -3.14 
+-2.39 -2.15 -1.88 -2.25 -1.65 -2.15 -1.63 -3.77 -1.52 -2.29 -1.89 -1.12 -0.73 -2.91 -0.76 -2.76 
+2.02 -2.15 1.89 -2.52 -0.26 -2.91 -1.89 -1.62 1.39 -3.02 0.76 -2.91 -0.26 -2.89 -0.76 -2.78 
+-1.13 -2.78 -1.13 -2.76 -0.39 -3.79 -1.89 -2.25 -1.63 -2.29 -2.39 -1.13 2.15 -1.62 1.13 -3.04 
+0.24 -3.27 -0.63 -2.89 -0.24 -3.28 2.13 -1.62 2.14 -1.65 2.39 0.39 0.14 -3.91 2.25 -1.15 
+1.75 -2.52 1.26 -2.52 S
+841.95 2866.82 2.15 -1.52 2.25 -2.52 1.75 -2.52 0.26 -2.89 0.37 -2.41 0.89 -2.39 2.64 -3.02 
+2.76 -1.65 2.78 -1.5 2.25 -2.52 3.65 -2.02 2.78 -3.04 2.25 -1.99 2.78 -1.91 3.26 -2.52 
+2.9 -1.13 2.26 -0.5 2.88 1.76 3.41 0.39 2.39 1.75 S
+888.63 2834.7 3.28 0.37 3.25 0.52 2.41 0.37 2.89 -0.13 4.28 -1 2.75 -0.52 3.28 -1.37 
+2.38 1.37 2.91 0.89 2.38 0.5 2.39 1.39 3.28 1.75 3.78 0.13 1.36 1.88 3.27 0.89 
+2.89 0.5 2.78 0.13 3.38 0.5 3.28 0 2.78 -0.87 2.89 -2.28 1.52 -3.64 1 -3.78 
+3.28 -1.78 2.88 0.13 2.78 0.49 2.89 0.63 2.75 0.13 S
+967.62 2831.92 2.41 0.5 2.39 0.13 0.5 -2.78 2.39 -0.37 1.52 -2.26 1.89 -2.28 -0.89 -3.41 
+-0.37 -3.28 -0.89 -2.38 -1.39 -2.39 1.89 -0.76 -1.39 -2.52 0 -2.78 S
+993.79 2888.11 1.52 -1.75 1.13 -2.39 1.89 -1.25 0.63 -1.91 1.39 -1.26 2.13 1.65 2.65 1.13 
+0.76 2.91 -2.65 -0.26 -3.28 0.26 -0.11 1.89 -1.52 1.76 -2.64 0.26 -1.89 -1.02 S
+1102.13 2807.36 0.99 -3.64 2.26 2.65 2.78 -0.5 3.64 0.5 2.13 2.26 -3.13 0.13 1.76 2.15 
+1.75 2.75 0.63 3.41 0.88 2.15 -1.5 2.65 -2.78 0.5 -2.75 -0.37 -3.14 -1.02 -3.15 -2.38 
+-0.76 -3.54 1 -2.25 -0.37 -2.39 -0.24 -3.04 S
+1089.15 2783.05 1.39 -2.64 1.89 -2.65 2.78 -2.02 1.36 -3.64 -0.5 -2.91 3.28 -0.5 -0.5 2.78 
+-1.39 2.65 -1.39 3.14 0.5 2.02 -2.25 1.62 -2.39 1.52 1.39 2.64 -1.02 3.15 -0.86 3.28 
+-1.52 3.14 -0.63 3.78 -1.25 -4.04 1.02 -2.76 -0.89 -2.91 1.39 -3.15 -0.39 -2.52 S
+1115.32 2751.17 0.39 -2.25 0.87 -2.28 -0.13 -2.39 1.78 -1.63 0.24 -2.41 1.89 0.76 1.13 -2.26 
+-0.13 3.77 -1.76 2.13 -0.24 3.28 0.13 3.41 1 3.41 -1.63 3.14 -0.39 2.89 -0.36 3.66 
+-2.28 1.63 -0.5 -1.5 1.26 -5.55 0 -1 0.76 -4.17 -2.02 -2.65 S
+1037.07 3057.79 2.41 -1.89 1.26 -2.12 2.63 -1.39 2.64 -0.26 S
+1046 3052.13 2.89 0.13 2.52 1.13 2.52 0.13 1.65 1.89 1.49 1.88 1.52 1.89 2.26 1.65 
+2.52 0.24 2.65 0.76 1.76 1 2.02 -1.5 2.63 0.76 2.15 -1.89 1.63 0.5 2.52 -0.76 
+1.52 1 2.26 -0.24 2.14 1.13 2 1.25 2.52 0.26 2.02 1.26 1.39 2.64 1.26 2.02 
+-0.5 1.89 -1.76 1.5 -1.64 2.02 -1.39 0.63 -3.13 0.39 -2.41 0.74 -1.89 0.89 -2.89 1.65 
+-2.39 0.63 -2.14 -0.13 -1.5 0.5 -2.02 0.37 -1.62 1.52 -1.26 -0.37 -2.02 -1.15 -2.02 -0.11 
+-1.26 -2.02 -1.75 -0.89 -0.63 -1.76 -1.5 -1.52 -1.89 1.02 -0.26 2.52 -1.63 0.5 -2.52 0.24 
+0.74 2.78 2.02 1.65 S
+1054.55 3082.75 -2.64 0.63 -1.76 -1.52 -3.38 0.63 0.24 2.02 -2.39 -0.62 -2.26 -0.63 0 -2.52 
+-0.89 -2.14 -2 -1.52 1.37 -2.63 0 -2.02 -1.63 -1.26 -0.76 -2.15 0.76 -2.28 0.5 -2.89 
+-2.12 -1.02 0.63 -2.76 -1.15 -2.28 S
+1057.07 3083.38 1.65 -0.52 1.63 -1.5 2.26 -0.39 1.76 1.65 2.15 0.63 2.64 0.37 0.24 3.14 
+0.76 2.91 -1.52 0.5 -1.5 1.02 1.75 0.63 1.13 2.39 1.89 1.26 -1.63 0.37 -1.75 -1.12 
+-2.78 -1.39 -1.89 -2.65 -2.52 -1.37 -1.76 -2.02 -0.76 -2.41 -1.76 -1.49 S
+1103.88 3093.18 0.87 -1.76 2.02 -0.24 2.64 -2.15 0.87 -1.75 1.25 -2.28 2.91 -2.02 2.75 -1.5 
+2.14 -0.76 S
+1119.36 3080.73 2.39 -1.65 1.89 -2.02 3.02 -1.37 2.52 0.11 -1.52 -1.37 -0.24 -2.28 0.76 -3.02 
+0.61 -2.02 -1.5 -0.62 1.89 -3.15 1.75 -2.52 1.63 -2.64 2.41 0 2.75 0.63 1.26 -1.15 
+3.51 -0.62 2.65 0 2.65 2.54 2.25 2.25 3.14 0.89 -0.75 2.02 -2.89 3.15 -2.02 3.64 
+-0.87 3.54 -1.76 -0.26 -1.89 2.02 -1.02 2.39 -2.65 -1.39 -1.26 1.65 -0.62 3.14 2.52 0.13 
+2.28 1.25 0.87 2.76 -2.39 1.02 -2.52 1.13 -2.25 1.65 -2.02 -1.52 0 -2.38 1.52 -2.15 
+-2.65 2.15 -1.63 1.99 -0.13 2.91 -1.39 1 -2.26 -1.25 -2.78 1.02 -2.13 2.39 -3.02 1.89 
+-2.41 -0.13 -0.63 1.52 S
+1116.45 3097.98 2.28 1.13 1.89 0.39 -2.39 2.25 0.74 2.65 2.15 1.75 2.75 -0.37 1.65 1.52 
+1.75 1 -1.89 0.76 -1.76 2.02 -2.15 2.25 -3.02 1.26 -3.02 0.76 -1.52 -0.89 -2.13 -1.13 
+-1.75 -0.37 -1.02 -3.4 -1.89 -1.52 -1.37 -1.76 1 -1.12 -1.39 -1.26 0.26 -2.15 -2.78 -0.12 
+0.49 -2.52 0.39 -3.15 0.13 -2.78 S
+1140.37 3114.23 1.88 -2.64 1.39 -0.89 2.13 -3.02 2.02 1.25 2.12 1.39 1.02 -0.63 1.5 2.26 
+-0.24 3.66 -1.89 2.65 1 1.26 0 1.88 -2.26 1 -3.14 1.13 -1 1.26 -0.62 2.78 
+-0.39 2.39 -0.87 -2.63 -1.39 0.37 -1.25 -2.14 1.25 -1.63 -1.52 0.13 0.75 -2.52 S
+1140.86 3121.55 -1.39 -1.02 -0.63 -1.13 1.26 -2.28 0.26 -2.89 S
+1179.1 3150.13 2.52 -0.63 2.15 -0.87 -3.14 4.02 -1.76 1.39 0.5 2.14 -0.26 2.26 1.02 2.78 
+2.52 1.39 0.24 1.89 S
+1182.88 3164.5 2.65 0.63 1 2.28 -0.74 2.88 -0.89 -1.39 0 -1.75 -1.52 -0.89 -0.5 -1.76 S
+1182.88 3164.5 -1.5 -0.76 -2.02 -1.5 -1.39 -2.41 -1.39 -0.87 0.26 -3.04 0.13 -2.38 2.13 -3.41 S
+1182.51 3258.22 1.63 2.02 -1.14 2.88 -1.25 2.52 -3.28 2.41 -2.39 3.14 -1.39 2.89 -2.38 2.28 
+-3.52 3.28 -3.64 2.39 -3.41 1.25 -3.88 1.76 -3.54 1.78 -0.99 -0.89 1.89 -1.26 2.25 -0.89 
+2.91 -1.89 3.02 -1.89 2.89 -1.89 S
+1166.28 3278.12 3.02 -2.78 3.02 -2.75 2.28 -2.02 1.75 -2.28 2.26 -2.02 2.26 -2.26 0.52 -2.52 
+1.13 -3.28 S
+1007.38 3158.57 2.39 -1.26 1.89 -1.89 1.52 -1.89 1.13 0.37 0 1.52 2.15 0.63 0 1.89 
+-0.89 1.65 -1.76 1.5 -2.26 0.26 -1.65 0.89 -1.75 -0.52 -1 -1.75 0.24 -1.39 S
+1017.32 3165.75 1.52 -1 2.25 -0.26 1.13 -2.02 1.39 0.5 0.5 1.15 -1 1.75 -1.75 0.76 
+-1.65 1.39 -1 2.13 -2.13 0.76 -2.28 0.13 1.52 -1.02 1.37 0.13 1.02 -1.62 -1.63 -0.63 
+0.74 -2.15 S
+1159.48 2701.41 -0.37 -2.39 0 -2.78 0.87 -2.26 -0.24 -3.91 -0.14 -3.28 1.63 -2.65 1.63 -1.63 
+1.89 -1.15 S
+1164.75 2681.38 2.65 0.76 2.52 1.65 2.64 1.39 2.02 -0.39 2.38 3.14 1.26 2.65 1.37 3.02 
+1.26 2.02 0.89 2.52 0.76 2.65 0.87 2.4 1.25 2.65 1.26 2.62 1.26 2.52 0.75 2.64 
+1.26 2.65 1.26 3.04 1.26 3.14 1.76 3.78 0.76 3.02 0.89 3.54 0.24 2.52 1.52 1.76 
+0.63 2.64 0.11 4.91 1.89 -2.13 2.02 3.39 -0.24 2.91 -0.39 4.4 -1.13 3.28 -0.26 3.41 
+-1.12 2.89 -1.5 2.64 -2.39 -3.02 -0.13 -3.01 -0.49 -2.55 -2.29 -1.37 -2.64 -1.02 0.26 -2.89 
+-1.89 -1.89 0.26 -2.41 -2.28 -0.37 -2.39 -3.41 -2.26 -1.89 -2.78 -1.89 -2.75 -1.39 -2.78 -1.89 
+-2.13 -0.37 -1.76 -4.67 S
+1168.42 2731.4 -2.14 -3.14 0.13 -3.4 0.87 -3.15 -0.24 -2.52 0.87 -3.14 -0.74 -2.52 -2.15 -3.28 
+-1.12 -2.52 -2.15 -2.65 -2.25 -3.67 S
+1221.38 2716.04 0.39 -1.89 2.13 0.37 0.5 1 -1 1.39 -2.02 -0.87 S
+1232.57 2721.07 2.15 0.37 0.24 2.02 -1 0.89 -1.39 -3.28 S
+1204.14 2919.86 1.75 -0.37 2.02 0.63 2.02 2.39 -2.02 -0.26 -2.52 -0.24 -1.26 -2.15 S
+1208.42 2550.76 -0.76 -2.65 -2.75 -2.39 2.75 0.87 0.39 -1 1.63 1.39 1.39 -0.13 2.13 2.02 
+-2.39 -0.39 -1.39 -0.37 0 1.5 0.26 2.02 -1.26 -0.87 S
+1360.53 3024.42 2 -5.43 1.78 -5.79 S
+1397 2957.4 2.52 -0.76 S
+1404.17 2950.58 1.65 -1.62 2.13 -1.88 S
+1407.95 2947.07 -0.76 3.27 -2.52 2.39 -0.5 -2.15 S
+1413.11 2936.74 1 -3.91 1.26 -1.25 1.02 1.75 -2.52 4.8 -0.76 -1.39 S
+1327.43 2948.83 1.13 -3.91 1.13 -2.65 1.89 -4.04 1.64 -2.25 1.76 1.13 2.02 2.64 1 3.41 
+-0.26 3.91 -1.13 3.9 -2.12 2.02 -2.02 2.75 -2.25 2.41 -2.28 2.52 -3.02 0.63 1.52 -2.28 
+-0.13 -3.52 0.76 -3.54 0.37 -3.14 S
+1372.09 3127.71 1.88 -2.64 2.13 -2.39 1.79 0.63 0.63 1.89 -0.62 3.91 -1.16 3.78 -2.26 4.04 
+-1.25 3.77 -1.63 2.15 -0.63 -2.28 -0.5 -2.39 -0.13 -2.39 1.13 -4.54 0.63 -3.54 S
+1354.47 3211.24 2.91 -2.91 3.52 -2.65 0.76 0.89 2.52 -1.65 -3.54 4.43 S
+1360.63 3209.36 -2.75 4.14 -3.02 3.91 -3.64 4.16 -3.28 4.15 -3.15 2.64 -0.75 -0.89 1.89 -4.01 
+2.78 -4.04 2.63 -3.64 3.15 -4.54 S
+1278.86 3304.71 2.78 -0.39 -1 2.15 -2.52 1.52 1.63 0.23 2.89 -1.5 2.65 -2.65 2.78 -1.39 
+2.88 -1.64 -0.26 2.54 -3.88 4.27 -3.66 2.25 -4.14 3.04 -3.52 2.65 -2.25 0.11 -2.65 0.89 
+1.39 -2.52 -1.25 -0.13 1.88 -2.78 3.25 -3.25 3.02 -3.41 S
+1270.45 3319.45 3.02 -0.76 -0.24 2.15 -2.78 1.89 -2.26 1.63 -2.78 3.04 0.76 0.99 -3.14 2.29 
+-2.89 2.38 -2.02 0.5 0.5 -2.02 2.15 -2.76 3.01 -2.28 1 -2.39 2.78 -1.76 2.89 -2.91 S
+1267.79 3315.54 2.91 -1.39 S
+1270.71 3314.15 -2.15 3.28 -0.89 2.28 -3.13 2.64 -2.41 3.25 -2.89 3.41 -1.89 2.38 -3.52 3.54 
+-0.89 1.89 -1.89 3.02 4.04 -2.75 2.75 -1.15 2.15 0.13 -0.62 1.52 -4.91 3.51 -4.91 4.04 
+-1.52 -0.5 -3.14 2.02 1.02 1.63 -3.15 4.16 -5.8 4.04 2.76 -0.26 -5.64 2.65 -2.02 2.52 
+-2.78 1.75 4.41 -1.49 -4.27 3.38 -2.65 1.02 -3.14 2.02 -2.13 -0.13 -4.27 1.39 -2.78 1.63 
+-4.28 1.13 -3.02 0.39 -2.39 1 -1.76 1.88 -2.78 0.52 -3.64 1.89 -4.28 1 -2.64 -0.37 
+-1.26 -1.02 -2.39 0 -2.52 0.63 1.39 -2.39 2.52 -0.63 -1.39 1.39 1.65 -0.13 1.76 -1.76 
+-0.26 -1.25 4.54 -1.89 S
+1193.71 3371.36 2.25 -0.39 2.78 -0.37 3.39 -0.63 3.41 -1.26 4.28 -2.02 4.01 -1.52 3.65 -2.78 
+3.77 -1.89 3.28 -2.39 3.52 -3.14 3.78 -3.28 -2.26 0.75 -3.41 1.52 3.14 -2.41 3.28 -1.26 
+4.04 -2.52 3.52 -2.26 2.75 -1.02 2.41 -2.02 -0.39 -1.49 2.52 -3.04 2.78 -3.52 2.89 -3.91 
+1.52 -2.52 4.14 -3.28 3.64 -3.41 2.89 -2.78 2.52 -3.02 S
+1181.88 3372.35 2.52 -0.5 0.63 0.75 3.77 -0.52 -3.64 2.28 -3.41 2.52 0 -1.39 0.63 -1.63 
+-2.02 0.5 -1.36 1.39 0.11 0.87 -2.76 1.78 -2.64 2.02 -0.76 2.52 -1.62 3.02 -2.52 0.37 
+-3.64 1.52 -4.28 2.02 -2.28 2.14 -4.14 2.26 -3.91 1.89 S
+1150.54 3396.16 3.28 -2.15 -1.5 0 0.11 -1 -4.64 1.26 5.03 -2.52 1.76 -1.76 1.5 -2.28 
+0.52 -2.12 -0.14 -1.15 -1.25 -1.25 -0.39 -1.5 3.28 -1.52 2.15 0.75 2.88 -0.39 2.52 -0.36 
+3.02 -1.39 1.76 0.13 1.89 -0.5 2.02 -1.89 1.25 -1.64 1.76 0.13 4.54 -2.65 S
+1331.08 3265.54 -2.39 2.13 -1.75 2.64 -1.76 1.65 S
+1313.98 3284.05 -2.52 3.02 S
+1149.54 3394.9 -3.02 1.13 -3.14 1.26 S
+1139.34 3399.93 -4.77 1.89 -5.17 2.15 -5.64 2.02 3.89 -1.52 1.52 -1.5 4.28 -1.52 5.9 -1.52 S
+1119.49 3408 -2.15 1 -6.16 1.78 3.52 -1.52 4.79 -1.26 S
+1101.73 3413.93 -3.91 0.87 S
+1067.41 3417.84 1.23 0.5 -4.27 1.13 S
+1064.37 3419.47 -2.63 0 -1.15 -0.5 3.54 -0.26 3.28 -0.87 S
+1112.93 3364.93 0.63 1.13 -4.01 1.13 0.63 -1.76 2.75 -0.49 S
+997.96 3411.42 -5.79 -0.13 0 -0.89 2.88 -0.13 2.91 1.15 S
+1107.77 3378.41 3.15 0.63 3.54 0 3.02 0.24 0.75 1.25 2.26 0.39 3.27 0.13 2.63 0.37 
+3.14 0.26 2.78 -0.13 2.65 -0.39 0.87 0.63 2.39 0.63 3.28 -0.5 3.64 0.13 3.52 -0.89 
+3.14 0.89 -4.14 0.89 -2.76 1.13 -1.26 1.52 0.37 1.5 -3.15 -0.13 0.38 -1.13 -1.63 -0.37 
+-0.26 -1.13 -1.37 -0.76 -3.28 0.11 -3.52 0.76 -2.41 0.14 -2.75 0.89 -2.02 1.63 -0.87 1.89 
+-1.78 -0.76 -2 -1 -1.88 -1.12 S
+1117.47 3386.09 -2.29 -0.89 -2.38 -0.87 -1.89 -1.15 -3.26 -0.13 -2.91 -0.37 -2.38 -1 -2.52 -0.63 
+-1.13 -1.02 2.02 -1 1.5 1 2.39 -0.5 3.14 -1.13 S
+922.22 3371.72 3.38 1.63 -0.37 1.15 -3.02 -0.63 S
+922.22 3373.87 -2.15 0.37 -4.53 -1.25 2.28 -1.39 4.41 0.13 S
+1000.21 3341.86 -0.26 1.65 -2.76 2.13 -1.65 -0.87 0 -2.29 2.41 -0.99 2.25 0.36 S
+997.07 3339.61 1.39 1 -1.39 0.39 -1.26 -0.63 1.26 -0.76 S
+981.34 3341.36 1.02 2.15 -1.89 2.52 -2.02 1 -2.52 -1 2.15 -1.75 2.63 -1.79 0.63 -1.13 S
+995.95 3334.18 1.49 2.15 -1.26 1.26 -2.52 0.75 -3.02 1 -0.37 1.13 -3.02 0.39 -3.02 -0.25 S
+984.25 3340.61 -1.13 -0.63 0.74 -1.26 1.02 -0.63 0.11 -2.02 3.41 0.39 0.5 -2.91 3.14 -0.63 
+3.91 1.25 S
+1005.12 3293.12 -2.02 1.76 -0.37 2.02 -1.52 1.76 -3.52 0 -2.02 -1 -1.39 -1.39 1.39 -1.02 
+3.02 -0.63 3.54 -0.87 2.89 -0.63 S
+990.54 3287.33 2.88 0.13 1.13 1.5 2.88 0.5 1.02 1.78 1 1.25 -0.63 1.39 -2.88 -0.13 
+-3.02 0.63 -2.15 -0.63 -1 -1.26 -2.15 -0.39 -1.76 0.52 -1.75 -0.76 -1.63 -0.5 2.38 -1.9 
+2.89 -0.64 2.78 -1.49 S
+1014.7 3226.97 3.51 -0.5 3.02 -0.26 2.89 0.89 2.52 1.39 0.26 1.52 -3.52 -0.26 -2.78 1 
+-2.78 1.78 -2.39 1.89 -1.36 2.26 -1.02 2.28 S
+1013.04 3238.96 -1.26 2.38 -1.26 2.26 -1 2.54 -1.39 2.38 -0.37 2.52 -0.49 2.52 0.37 2.02 
+-0.13 2.52 -0.37 2.15 -2.78 1.63 -1.89 -0.76 0.26 -2.25 1.26 -1.76 -0.64 -2.28 -1.64 -1.75 
+0.13 -2.78 0.76 -2.15 0.63 -1.49 -0.5 -2.41 1.63 -1.12 2.02 -2.89 0.76 -2.64 2.25 -0.76 
+-0.13 -2.02 1.39 -2.65 2.02 -1.13 -0.26 -2.02 2.29 -2.02 S
+1022.75 3212.24 1.36 2.02 -1 1.76 -3.28 0.26 0.39 -2.15 2.52 -1.89 S
+976.82 3262 1.13 1 -0.75 1.89 S
+977.2 3264.89 1.88 1.15 -0.26 1 -2.62 1.26 S
+976.2 3268.29 1.37 0.63 -0.37 1.39 -2.76 0.76 0.61 -1.76 1.15 -1.02 S
+976.2 3268.29 -0.63 -2.02 S
+975.57 3266.28 1.63 -1.39 S
+977.2 3264.89 -1.26 -1 0.89 -1.89 S
+972.03 3263.26 2.28 0.63 0.37 1.75 -1.63 0.13 -1.12 1.76 -2.52 1.02 0.74 -2.02 2.02 -1.26 
+-1 -1.02 0.87 -0.99 S
+974.04 3260.75 1.13 1.13 -1.75 0.26 0.63 -1.39 S
+966 3257.21 1.52 0.13 1.13 0.63 1.13 -0.87 1.75 0.24 0.89 1.13 -1.39 1.02 -0.5 1.63 
+-1.13 -0.11 -0.62 -2.02 -0.89 0.74 -1.52 0.13 -0.36 -2.64 S
+934.92 3242.96 0.5 -1.99 1.52 -3.04 2.52 -2.02 2.52 0.39 -1.52 -1.65 1.13 -2.13 2.41 -2.02 
+3.38 -2.15 -0.37 2.52 0.13 2.64 0.11 2.78 -0.74 1.89 1.13 1.26 1.5 -2.02 1.76 -0.89 
+0 -2.64 2.91 -0.24 S
+953.8 3233.66 1.49 3.14 -2.88 0.89 -2.02 1.37 -1.63 1.65 -3.64 1 -1.39 2.41 3.28 -1.15 
+3.64 0 1.39 1.79 0.24 2.52 -0.87 1.39 -2.41 -0.39 -2.38 0.39 -1.37 -1.78 -1.79 1.39 
+-1.62 -1.62 0.63 -1.65 -2.02 0.26 -0.37 -1.89 -2.15 0.5 -3.02 -0.89 S
+901.21 3152.65 1.37 -0.5 1.78 1.89 -2.52 -0.24 -0.63 -1.15 S
+917.55 3142.21 0.89 1 0 -2.26 S
+912.16 3136.66 1.52 -1.39 S
+899.07 3128.71 2.78 2.15 1 2.64 -2.78 -1.62 -0.11 -1.91 -0.89 -1.26 S
+954.93 3118.01 1.39 -2.15 2.13 0.14 -0.13 1.75 -1.76 1.02 -1.62 -0.76 S
+959.2 3119.64 1 -2.63 1.89 -0.13 1.89 1 -1 0.89 1.13 1.39 S
+964.11 3120.16 -0.87 2.13 -2.02 -1.37 -2.02 -1.28 S
+959.57 3115 1.39 -1.26 1.65 0.63 0.63 1 -1.78 0.25 -1.89 -0.62 S
+979.71 3132.12 1.13 -2.14 1.25 1.39 -0.63 2.28 0.89 1.39 -2.02 -1.15 -0.63 -1.76 S
+989.91 3138.67 1.37 -1 1.13 1.37 1.15 1.26 -2.78 0.13 -0.87 -1.75 S
+990.41 3141.82 0.5 -0.75 1.5 0.89 -1.87 1 -0.13 -1.13 S
+901.21 3087.91 1.89 -0.62 2.25 1.75 3.02 -1.02 0.76 2.28 2.52 0.37 2.75 -1 2.52 1.39 
+2.78 -0.5 2.75 0 3.14 0.86 1.76 2.39 -3.02 0.39 1.52 2.25 2.02 1.39 0.86 2.28 
+-0.86 1.89 -2.15 0.88 -1.52 0 -1.12 -1.37 -0.87 0.88 1.13 1.39 S
+923.35 3103.78 -0.5 1.75 -0.89 1.39 -0.63 1.76 -0.87 2.28 -2.28 0.89 -1.13 2.25 -0.5 2.78 
+-1.02 1.76 -2.25 1 -2.13 0 1.63 1.28 1.52 1.75 1.13 2.26 0.88 1.78 -0.24 1.89 
+-4.8 0 -2.38 -0.39 1.13 2.28 2.78 1.63 -0.5 1.39 -2.91 -0.36 -2.89 0.11 -1.13 -2.12 
+-1.52 -1.78 -0.37 -1.76 -1.52 1.02 -1.14 -0.89 1.14 -1.39 2.14 -0.12 -1.52 -2.52 -0.11 -1.89 
+1.89 0.89 -0.39 -2.28 -2.39 -1.62 2.02 -0.13 -0.26 -1.76 1.88 2.13 1.26 -1.89 -1.63 -3.02 
+1 -1.89 2.64 0.76 2.65 0.87 -1.26 -2.25 1.37 -1.76 1.65 -0.13 -1.25 -2.28 0 -2.25 
+-2.15 -0.37 S
+909.5 3104.79 -3.14 0.63 0.5 -1.39 -1.37 -1.79 2.13 -0.11 -0.13 -2.65 -1.87 -0.89 -2.15 -1.26 
+0.5 -1.39 2.39 0.39 1.89 -0.52 1.76 -1.5 2.41 1.39 -1.25 -2.28 -1.89 0 -2.15 0.13 
+-1.63 -2.28 -2.02 -1.63 -2.26 -1.76 S
+884.98 3100.37 0.63 -2.38 1.63 -1.52 3.02 0.26 2.91 0.76 2.88 1.63 3.28 0.26 0.74 2.14 
+0.89 2.26 -0.14 2.78 -0.36 2.26 2.52 1.78 -0.39 2.63 -1 1.91 -2.25 0.63 -2.52 0.5 
+-2.52 -0.76 -1.76 -2.02 1.63 -1.12 -1.25 -1.26 -2.02 0.24 -2.25 0.13 -1.13 -1.76 1.63 -1.02 
+-2.02 -1.26 1.52 -1.89 1.76 -0.11 -2.02 -2.54 -1.26 -2.63 -2.12 0.11 S
+958.94 3046.83 -0.11 -2.39 0.5 -1.76 2.38 -2.28 0.38 2.91 0.63 1.89 -0.5 1.75 -0.36 2.78 
+-0.89 -1.89 -2.02 -1.02 S
+957.68 3037.89 0.13 -1.89 1.26 -2.25 0.26 -2.78 -0.13 -2.78 2.02 -1.75 1.25 1.89 1.89 0.13 
+0.5 2.39 0.13 2.38 -0.26 2.28 -0.5 2.26 -2.14 2.28 -1.89 -2.02 -1.37 -0.63 -1.15 0.5 S
+977.69 3022.53 1.76 -2.15 1.52 0.13 3.28 -1.62 2.39 -0.26 1.63 -1.62 3.14 -0.14 0.5 1.89 
+-1 1.75 0.26 2.91 1.13 2.52 -2.78 -1.26 -3.28 -0.89 -2.62 -0.26 -2.02 0.76 -2.15 -0.12 
+-1.76 -1.63 S
+1016.69 3026.43 2.52 -1.52 0.26 -2.38 1 -1.26 1.76 0.24 1.52 -1.62 1.13 2.15 S
+1024.87 3022.03 2.26 -1.65 -1.87 3.14 -1.15 2.15 2.28 -0.13 -2.15 2.52 -2.52 1.15 -2.39 0.5 
+-2.02 -1.26 -0.63 -2.02 S
+1030.54 3013.71 2.25 0.5 2.39 -0.13 1.65 -0.76 3.02 0.76 2.88 0.76 0 1.63 -1.99 -1.39 
+-0.39 1.39 -2.52 -0.63 -2.02 0.39 -2.12 -1.02 -0.5 0.89 -2.78 0 0.13 -2.39 S
+1069.54 3020.88 1.39 -1.63 2.64 0.13 2 1.26 0.39 1.39 1.75 0.5 -1.13 1.26 1.76 2.89 
+-2.26 -1.5 -2.02 -1.13 -1.65 -0.89 -0.74 -1.26 -2.14 -1.02 S
+932.16 3029.45 2.13 -0.5 1.65 -1.26 1.37 2.26 -2.25 1.39 -2.89 -1.89 S
+1047.63 3022.89 0.89 -1.5 1.13 1.39 0.13 2.25 -2.15 -2.15 S
+1035.94 3038.39 1.02 0.63 0.37 -1.37 S
+1037.07 3034.38 0.39 -1.39 S
+796.03 3037.26 1.89 -1.52 S
+807.09 3030.34 2.78 -0.5 S
+838.67 2970.75 0.89 -2.02 1.39 0.89 1.13 2.15 -1.76 -0.89 -1.65 -0.13 S
+843.46 2968.36 0.5 -1.52 1.76 0.26 -0.13 1.5 -1.37 0.63 -0.76 -0.87 S
+851.13 2967.96 2.28 0.76 0.24 3.28 S
+853.64 2972 1.76 0.39 0.52 1.37 -1.25 -0.37 -1.02 -1.39 S
+853.64 2972 -2.25 -2.52 -0.26 -1.52 S
+970.66 2825.89 1.37 -0.39 1.02 1.89 -1.52 0.89 -0.87 -2.39 S
+1418.88 2648.27 0.26 -0.89 0.13 -0.99 -0.89 -2.65 -1 -2.78 0.13 -1 0.24 -1.15 0.52 -0.11 
+0.5 -0.26 0.63 -0.13 0.63 -0.26 0.63 -0.24 0.5 -0.26 S
+1421.16 2637.54 1 1.26 1.02 1.26 1.36 1.52 1.39 1.63 0.39 -0.11 0.5 -0.14 1.5 2.02 
+1.52 2.26 0.63 0.26 0.5 0.37 1 0.13 0.89 0.26 0.63 -0.26 0.5 -0.26 0.63 -0.24 
+0.5 -0.26 0.64 -0.24 0.63 -0.26 0.5 -0.26 0.39 -0.24 0.5 -0.26 0.37 -0.24 1.39 1.63 
+1.39 1.76 1.63 2.78 1.52 2.91 1.13 0.74 1.13 0.63 0.89 0.76 0.87 0.76 1.52 1.75 
+1.63 1.78 0.76 0.74 0.89 0.76 0.37 -0.76 0.26 -0.87 0.74 0.24 0.75 0.13 0.63 0.26 
+0.76 0.37 1.26 1.26 1.13 1.26 0.89 0.76 0.87 0.75 0.76 0.26 0.76 0.24 0.5 -0.37 
+0.5 -0.5 0.39 -0.26 S
+1463.43 2665.52 0.37 -0.37 0.37 -0.26 0.39 -0.37 -0.26 -1.39 -0.13 -1.52 -0.63 -2.02 -0.5 -2.02 
+0.39 -0.37 0.37 -0.5 -0.26 -1.65 -0.24 -1.62 -0.26 -1.52 -0.37 -1.62 -0.63 -2.02 -0.76 -2.15 
+-1.5 -2.78 -1.65 -2.65 -1.26 -4.77 -1.89 -3.67 -1.75 -3.52 -1.63 -3.15 -1.52 -3.14 -1.63 -3.04 
+-1.65 -2.88 -3.26 -6.29 1.76 2.52 1.76 2.39 1.39 1.75 1.5 1.78 2.78 3.52 1.13 1.02 
+1.13 1.13 2.15 3.28 2.02 3.28 1.37 2 1.52 2.02 -6.03 -11.07 -1.78 -2.54 -1.87 -2.52 
+-2.02 -3.38 -2.14 -3.41 -1.39 -2.14 -1.37 -2.12 -0.76 -0.52 -0.76 -0.63 S
+1443.92 2606.55 -1.13 -1.62 -1.12 -1.52 0.37 0 0.39 -0.13 0 -1.26 1.86 2.65 1.78 2.64 
+2.26 3.28 2.15 3.28 -1.78 -3.41 -1.89 -3.52 -1.37 -2.52 -1.52 -2.54 -1.89 -2.63 -1.89 -2.64 
+-1 -1.39 -1.12 -1.26 0.37 -0.39 0.26 -0.5 -1.65 -3.14 -1.63 -3.15 -4.03 -6.81 -2.13 -3.26 
+-2.15 -3.28 -1.13 -1.39 -1.13 -1.26 -1.62 -2.52 -1.78 -2.54 -1.76 -2.89 -1.89 -2.78 -1.89 -3.01 
+-1.88 -2.91 -0.74 -1.5 -0.76 -1.52 -1.89 -2.78 -2.02 -2.63 1.26 0.74 -0.76 -1.5 -0.74 -1.65 
+-0.89 -1.5 -0.89 -1.52 -1.62 -2.52 -1.76 -2.52 -1.39 -2.02 -1.25 -1.89 1.25 0.87 S
+1401.78 2532.23 1.39 1.02 0.87 0.63 1.02 0.63 1.89 1.76 1.89 1.89 -3.4 -4.4 -3.65 -4.27 
+0.37 -0.13 0.39 -0.13 -2.52 -2.89 -2.52 -3.04 -2.02 -2.64 -2.02 -2.76 -2.12 -2.65 -2.14 -2.64 
+2.41 2.02 2.39 2.13 0.87 0.52 0.89 0.5 1.13 0.76 1.13 0.63 0.5 0.13 0.39 0.11 
+-0.39 -1 -0.5 -1.13 -1.12 -1.88 -1.13 -2.02 0.63 0.24 0.63 0.13 2.39 2.64 2.52 2.65 
+2.64 3.02 2.63 3.04 2.91 3.14 2.75 3.28 3.02 3.52 3.02 3.54 2.65 2.89 2.52 2.9 S
+1424.04 2544.33 1.65 1.76 1.75 1.89 3.26 4.03 3.28 4.14 1.76 2.29 1.88 2.25 1.76 2.41 
+1.52 1.89 1.52 2.02 S
+1442.43 2567.01 1.63 2.13 1.39 1.76 1.37 1.78 1.39 1.75 1.89 1.89 1.52 2.02 1.5 2.14 
+1.52 2.02 1.5 1.99 1.39 2.15 1.52 2.02 1.5 2.39 1.64 2.4 1.5 2.26 1.89 3.02 
+1.89 2.91 1.88 3.02 1.63 2.91 1.79 2.75 1.63 2.91 2.02 3.52 2.13 3.54 2.15 3.54 
+1.75 3.38 3.78 6.82 1.76 3.38 1.89 3.54 1.76 3.54 1.13 2.13 1.15 2.14 1.13 2.15 
+1.75 4.02 1.89 4.16 1.75 4.04 2.15 4.78 1.99 4.79 2.02 4.77 1.63 4.17 1.64 4.16 
+1.63 4.02 3.52 9.34 1.78 4.77 1.13 3.28 1.25 3.4 1.13 3.28 S
+1520.29 2713.89 1.63 4.9 1.52 5.06 1.5 4.9 1.15 3.54 2 7.29 1.15 4.3 0.99 4.41 
+1.13 4.28 1 4.27 0.89 4.17 1 4.17 0.13 1.5 0.25 1.52 0.13 1.52 0.5 2.88 
+0.63 2.78 0.5 2.75 1.89 9.84 0.86 3.9 1.52 7.81 0.26 2.02 0.11 2.02 0.26 1.89 
+0.25 2.64 0.24 2.65 0.39 2.52 -0.63 -2.64 -0.52 -2.52 -0.63 -2.64 0.63 3.78 0.52 3.77 
+0.5 3.78 0.5 3.79 0.5 3.65 0.5 3.77 0.52 5.04 0.24 2.52 0.13 1.65 0 1.75 
+0.13 1.75 1 9.07 -0.12 2.41 -0.11 2.39 S
+1545.33 2854.73 0 10.45 0.11 4.02 -0.37 0.39 -0.26 0.37 -0.24 2.78 -0.26 2.78 0.26 6.55 
+-0.13 3.02 0 3.15 0.26 5.16 0.11 5.3 0 9.7 -0.24 2.89 -0.13 2.91 -0.37 3.52 
+-0.26 3.54 -0.13 5.66 -0.24 5.66 -0.26 4.54 -0.37 4.41 -0.26 4.8 -0.37 4.79 -0.52 2.25 
+-0.5 2.15 -1 4.78 -0.13 -2.76 -0.26 -2.78 -0.24 0.76 -0.39 0.87 -1.26 9.59 -0.37 4.53 
+-0.5 4.41 -0.76 4.54 -0.87 4.41 -0.76 3.64 -0.75 3.67 -0.63 3.78 -0.76 3.91 -0.87 4.64 
+-1.02 4.66 -0.5 1.02 -0.5 0.88 0.37 -4.54 S
+1529.97 3005.51 0.49 -4.41 0.76 -4.77 0.76 -4.79 0.26 -3.78 0.24 -3.67 0.5 -4.28 0.63 -4.14 
+0.26 -2.78 0.37 -2.78 0.52 -5.17 0.37 -5.16 0.37 -4.41 0.26 -4.54 0.37 -4.27 0.26 -4.3 
+0.26 -4.14 0.37 -4.17 0.13 -4.53 0 -4.54 0.13 -4.54 0 -4.53 -0.13 -4.91 -0.26 -4.8 
+-0.24 -4.04 -0.26 -4.14 0 -4.4 -0.13 -4.41 -0.63 -2.91 -0.5 -2.89 -0.99 -2.78 -0.39 2.78 
+-0.37 2.63 -0.13 3.17 -0.26 3.14 -0.37 0.63 -0.5 0.75 -0.5 1.13 -0.52 1.13 -0.37 1.52 
+-0.26 1.5 -0.36 1.89 -0.37 2.02 -1.52 -2.52 -0.13 3.67 -0.24 3.64 -0.39 0.63 -0.37 0.63 S
+1527.08 2908.9 -1 3.51 0.11 3.54 0.13 3.54 0.14 2.88 0.13 3.02 -0.12 3.15 -0.26 3.17 
+-0.11 3.78 -0.26 3.77 0.5 1.26 0.5 1.13 -0.24 4.04 -0.26 3.91 0 7.68 -0.62 1.52 
+-0.76 1.39 0.13 -4.66 0 -4.67 -1 5.04 -0.39 -2.52 -0.37 -2.38 -0.62 0 -0.63 -0.13 S
+1522.05 2950.84 -1.26 0 -1.25 -1.25 -0.64 1.25 -0.75 1.39 -0.74 -0.39 -0.63 -0.24 0.5 -2.15 
+0.63 -2.14 0.13 -3.91 0 -4.01 -0.63 -1.26 -0.76 -1.39 -1.25 -2.52 -0.39 -3.91 -0.5 -3.91 
+-0.13 -3.28 -0.11 -3.28 0.38 -2.52 0.26 -2.39 S
+1514.89 2914.95 -0.52 -1.52 -0.5 -1.52 -0.13 -3.02 -0.11 -3.02 -0.52 -3.54 -0.37 -3.41 0.5 -1.5 
+0.63 -1.39 -0.13 -3.14 -0.24 -3.04 -0.63 1.25 -0.76 1.39 -0.37 -0.63 -0.5 -0.63 -0.63 -2.89 
+-0.62 -2.91 0 6.55 -0.39 1.65 -0.37 1.63 -0.5 2.02 -0.52 2.14 -0.74 -0.52 -0.63 -0.37 
+-0.39 -2.52 -0.24 -2.39 -0.63 -1.39 -0.63 -1.26 -0.13 -2.28 -0.26 -2.39 -0.87 -1.02 -0.76 -1 
+-0.26 -5.29 -0.73 -3.41 -0.76 -3.26 -0.26 -3.16 -0.12 -3.28 -0.5 -2.89 -0.5 -2.91 -0.63 0.76 
+-0.76 0.89 -0.37 -3.28 -0.39 -3.28 0.39 -1.62 0.24 -1.64 -0.74 -3.65 -0.89 -3.53 -0.14 2.28 S
+1496.5 2847.05 -0.12 2.38 0 3.15 -0.11 3.28 -0.76 -3.52 -0.75 -3.54 -0.76 -3.02 -0.87 -3.04 
+0 -2.38 -0.13 -2.26 -0.26 -4.04 -0.73 -2.91 -0.89 -2.88 -0.76 -3.15 -0.63 -3.27 -0.75 -2.41 
+-0.74 -2.26 -0.89 -2.39 -0.87 -2.28 -0.89 -1 -0.89 -1.02 -0.87 -1.5 -1.02 -1.39 -0.87 -0.5 
+-0.76 -0.52 -0.89 -2.26 -1 -2.28 -0.63 -0.37 -0.75 -0.37 -1 -2.41 -1.13 -2.26 -0.76 -0.39 
+-0.76 -0.37 -0.63 -0.37 -0.76 -0.39 -0.87 -1.26 -0.89 -1.26 -0.87 -1.76 -0.89 -1.64 -0.99 -2.52 
+-0.89 -2.52 -0.87 -1.26 -0.76 -1.26 -2.02 -3.41 -1.76 -4.64 0.37 5.04 -1.62 -4.92 -1.52 -4.64 
+-0.5 -4.17 S
+1458.77 2764.91 -1.12 -4.41 -2.26 -4.93 -1.15 -5.27 -1.26 -5.93 -0.5 -4.3 -0.5 -4.14 -2.02 -6.29 
+0 3.28 0.52 4.14 -2.02 -9.31 0 3.89 -1.26 -5.16 0.13 -3.15 -1.65 -7.05 -0.76 -2.13 
+-0.74 -2.15 -0.39 -2.64 -0.5 -2.52 -1 -5.29 -0.75 -2.14 -0.76 -2.26 -1 -2.64 -1.13 -2.65 
+-1.78 -5.3 -0.74 -2.64 -0.76 -2.62 -0.76 -2.28 -0.86 -2.15 -0.39 -1.75 -0.5 -1.76 -1.39 -3.14 
+-1.49 -3.04 -1.52 -3.02 -1.63 -3.14 -0.76 -1.76 -0.76 -1.78 -0.87 -1.13 -1.02 -1.26 -0.63 -0.37 
+-0.76 -0.26 -1.5 -3.15 -1.65 -3.01 S
+1512.74 2936.98 0.63 1.15 0.63 1.26 0.37 -0.5 0.52 -0.52 S
+1514.89 2938.37 0.24 3.78 0.26 3.8 -0.39 1.37 -0.24 1.39 -0.5 -2.39 -0.52 -2.28 -0.5 0.26 
+-0.5 0.39 0 -7.71 S
+1435.87 2595.46 -1.12 -2 -1 -2.02 -0.13 -1.15 0 -1.26 0.99 0.89 1.14 0.89 1.13 2.76 
+1.15 2.64 -0.26 0.39 -0.37 0.37 -1.52 -1.52 S
+1376.24 2502.39 -3.02 -2.91 -2.89 -2.88 -3.64 -3.8 -3.78 -3.64 -2.91 -2.89 -2.89 -2.91 -2.13 -2.02 
+-2.02 -2.02 -2.91 -2.64 -2.75 -2.52 -2.52 -2.39 -2.38 -2.25 -2.52 -2.65 -2.39 -2.52 -1.65 -1.91 
+-1.76 -1.89 1.89 1.15 1.75 1.26 1.52 0.76 1.39 0.87 -2.52 -2.39 -2.38 -2.38 2.88 2.38 
+3.02 2.26 2.15 1.78 S
+1343.79 2466.23 2.26 1.63 0.63 0.5 0.76 0.52 3.14 2.63 6.3 5.56 3.13 2.89 1.78 1.88 
+1.76 1.91 0.13 0.86 0.24 0.89 0.13 0.63 0 0.5 1 1.65 1.02 1.49 3.14 3.64 
+3.14 3.67 1.89 2.64 2 2.65 S
+1078.84 2299.43 -9.8 -2.25 -4.91 -1.02 -3.64 -0.89 -3.78 -0.73 -7.29 -1.52 -3.67 -0.63 -3.51 -0.76 
+-2.13 -0.26 -2.15 -0.24 -2.02 -0.39 -0.13 0.26 -0.11 0.13 0 0.24 0.87 0.39 0.89 0.26 
+0.86 0.37 -3.64 -0.63 -3.52 -0.5 -3.51 -0.63 -3.91 -0.75 -3.77 -0.63 -3.9 -0.63 -1.76 -0.5 
+-1.76 -0.39 -1.76 -0.36 -1.26 -0.39 -1.39 -0.24 S
+1008.14 2286.71 -1.26 -0.39 -1.89 -0.37 -1.88 -0.39 -1.89 -0.37 -1.12 -0.37 -1.26 -0.26 -1.26 -0.37 
+1.13 0.11 2.14 0 -0.99 -0.11 -0.89 -0.26 -1 -0.12 -3.28 -0.5 -3.28 -0.37 -3.38 -0.52 
+-2.78 -0.24 -2.76 -0.26 -2.65 -0.24 -2.78 -0.26 -0.24 -0.13 -0.52 -0.26 -0.24 0 -2.02 -0.24 
+-2.02 -0.26 -2.13 -0.13 -2.15 -0.24 0.39 -0.13 0.24 0 0.39 -0.13 0.24 0 -0.76 -0.24 
+-0.74 -0.13 -0.89 -0.13 -0.87 -0.26 3.26 0.26 3.14 0.26 3.15 0.11 3.28 0.26 2.13 0.26 
+2.15 0.24 2.02 0.26 2.13 0.37 3.28 0.39 3.14 0.37 3.28 0.5 3.15 0.39 4.27 0.5 S
+1004.12 2283.31 4.28 0.63 4.27 0.5 8.55 1.26 4.41 0.76 4.28 0.63 4.41 0.75 1.89 0.26 
+2.02 0.24 1.89 0.26 2 0.37 1.65 0.13 1.63 0.26 1.75 0.24 1.76 0.26 3.28 0.63 
+3.41 0.76 3.38 0.63 3.41 0.76 -2.28 -0.39 -2.12 -0.24 -2.02 -0.39 -2.14 -0.26 2.28 0.52 
+2.38 0.37 2.26 0.5 2.38 0.52 2.29 0.5 2.25 0.5 2.25 0.63 2.41 0.5 S
+1072.31 2295.4 1.99 0.39 2.15 0.5 2.25 0.37 2.15 0.39 2.76 0.75 2.64 0.63 2.78 0.63 
+2.75 0.74 1.02 0.13 1 0.26 1 0.24 1.02 0.13 2.76 0.76 2.91 0.89 2.88 0.76 
+2.89 0.74 3.53 1.15 S
+1110.8 2304.86 3.65 1 3.51 1.13 3.65 1.15 5.16 1.63 5.14 1.89 5.17 1.75 5.16 1.89 
+5.41 2.02 5.53 2.02 11.07 4.3 -3.38 -1.39 -3.54 -1.26 -3.38 -1.26 -3.41 -1.26 -4.52 -1.52 
+-2.15 -0.76 -2.12 -0.76 -3.54 -1.26 -3.52 -1.13 -3.52 -1.26 -3.54 -1.13 -3.65 -1.15 -3.77 -1.12 
+-3.65 -1.13 -3.51 -1.13 -3.78 -1.02 -3.64 -1 -3.65 -1.02 -3.54 -1 -3.02 -0.76 -5.77 -1.52 
+-2.91 -0.62 -3.64 -1 -3.52 -0.89 -3.64 -1 -3.64 -0.89 S
+1072.31 2295.4 0.99 0.39 1.13 0.24 1.02 0.39 1.13 0.37 -2.02 -0.5 -1.89 -0.39 -3.78 -0.74 
+-1.49 -0.26 S
+1067.41 2294.9 -1.65 -0.26 -1.62 -0.37 -1.52 -0.26 1.26 0.52 0.63 0.24 0.63 0.25 -2.26 0 
+3.65 0.87 3.51 1.02 3.41 0.89 1.89 0.5 1.75 0.63 1.76 0.5 S
+1138.21 2327.91 -1.89 -0.76 -2 -0.63 -2.02 -0.62 -2.52 -0.89 -2.52 -0.87 -2.52 -0.89 -1.13 -0.5 
+-1.26 -0.5 -1.25 -0.52 -1.89 -0.63 -2.02 -0.5 -2.02 -0.63 -2.52 -0.86 -2.49 -0.76 -2.52 -0.89 
+-3.66 -1.13 -3.65 -1.02 -3.64 -1.13 -2.64 -0.87 -2.75 -1.02 -2.65 -0.89 -5.27 -1.89 -1.13 -0.5 
+-1.15 -0.5 -1.13 -0.5 -0.63 -0.25 -0.63 -0.37 -0.63 -0.39 0.39 -0.13 S
+1078.47 2306.86 0.24 -0.11 0.39 -0.13 0.24 -0.13 0.13 -0.13 0.26 -0.13 0 -0.5 -2.52 -0.75 
+-2.64 -0.87 -2.65 -0.76 -1.5 -0.5 -1.52 -0.63 -1.62 -0.52 -3.91 -1 -4.01 -0.89 -3.91 -1 
+2.65 0.5 2.63 0.5 2.52 0.63 0.39 -0.11 0.74 0 -2.13 -0.63 -2.15 -0.63 -2.12 -0.52 
+-1.13 -0.5 -1.02 -0.36 -1 -0.39 -1.75 -0.63 -1.76 -0.5 -1.78 -0.5 -1.37 -0.5 -1.39 -0.39 
+-1.52 -0.5 1.25 0.13 1.26 0 1.13 0.14 6.29 1.25 3.02 0.74 1.52 0.13 1.5 0.26 
+1.64 0.26 1.63 0.5 1.65 0.5 1.5 0.5 1.89 0.5 1.75 0.52 S
+1071.29 2299.7 1.89 0.5 1.75 0.37 1.89 0.26 1.89 0.37 4.17 1.02 8.55 2.26 2.02 0.63 
+2 0.63 1.89 0.76 -1.39 -0.26 -1.26 -0.24 -1.37 -0.26 0 0.39 2.75 0.87 5.3 1.78 
+-0.39 0.11 -0.37 0 -0.26 0.13 0.13 0.26 0.13 0.24 0.13 0.26 2.38 0.89 2.26 0.87 
+2.28 0.89 1.76 0.63 3.52 1.52 1.52 0.74 1.63 0.63 1.63 0.76 2.38 1.02 2.41 1 
+2.39 1.02 2.26 0.87 2.39 0.89 2.28 0.87 0.73 0.52 1.78 1 0.5 0.39 0.37 0.37 
+0.5 0.37 1.26 0.63 1.13 0.63 1.15 0.63 S
+1139.23 2326.89 0 0.26 -0.13 0.26 -0.26 0.11 -0.37 0.13 -0.26 0.26 S
+1110.05 2319.59 -2.02 -0.75 -1.89 -0.89 -2.02 -0.87 2.15 0.63 2.13 0.5 2.14 0.5 -0.12 0.39 
+-0.24 0.23 -0.13 0.26 S
+1388.82 2977.67 1.39 -3.51 1.76 -2.28 2.25 -1.89 2.78 -2.13 1.26 0.5 1.88 -2.15 2.26 -1.89 
+1.52 -3.28 2.13 -0.36 2.28 -1.02 0.63 -2.64 1.76 -3.15 1.89 -4.9 2.26 -0.13 1.13 -2.15 
+2.15 -1.99 0.87 -3.17 2.02 -3.78 0.89 -3.14 2.13 -2.89 2.15 -3.67 2.13 -1.26 1.02 -2.25 
+1.89 -2.41 2.76 -2.25 2.02 -1.25 1.89 -3.15 1.26 -0.5 0.24 2.76 1.25 1.25 1.65 -1 
+-0.26 4.78 S
+1442.04 2922.75 -0.5 5.42 -0.63 4.4 -1 5.93 0 5.29 -1.26 2.02 -1.65 1.89 -1.5 -1.75 
+-1.12 3.01 -1.52 1 -1.63 5.16 -1.78 -2.02 -1.63 1.64 0 4.41 -0.62 3.78 -2.02 2.02 
+-1.25 -1.39 -0.74 4.4 -1.52 -0.73 -2.26 2.62 -1.65 -1 -2.62 2.28 -1.39 -2.41 -2.39 2.52 
+-2.15 2.91 -2.25 0.87 -2.02 0.26 -2.15 1.13 -1.99 2.15 -1.76 2.38 -2.02 1.02 -2.28 -1.65 
+-1.89 -1.89 -2.13 1.13 -1.89 -1.89 S
+1442.43 2909.03 1.75 0.76 2 -0.52 0 -2.52 1.65 0.76 1.89 0.89 1.5 -1.02 1.89 1.02 
+1.25 2.02 1.76 1.75 1.39 0.5 1.75 -0.75 1.52 0.75 1.63 0.76 1.39 1.52 S
+1463.8 2914.95 1.63 0.11 1.52 3.4 1.63 0 1.39 -0.24 1.26 0.5 -0.37 4.14 -0.63 5.04 
+-1.39 -0.73 -1.39 -2.65 -1.89 -0.26 -0.63 3.91 -1.26 1.26 -1.5 -0.89 -1.88 -0.37 -1.76 0.76 
+-0.39 -5.79 -1.26 -1.39 -1.63 -0.89 -1.52 -1.63 -1.37 -0.5 -1.15 3.15 -1.62 -0.89 -1.89 0.76 
+-1.13 -0.26 -1.12 -2.88 -2.02 -0.26 -0.25 -5.3 -0.74 -4.02 S
+1470.86 2922.87 1.25 -0.24 1.26 -2.41 1 6.05 -1.39 1.13 -2.13 -4.54 S
+1475.89 2920.49 1.36 1.62 2.02 0.64 1.26 2.54 0.89 3.25 1 2.28 0.63 1.26 0.63 1.39 
+0.5 1.39 0.63 1.39 S
+1484.81 2936.24 0.75 0 0.76 -0.13 0.63 1 0.63 0.89 S
+1487.59 2938 0.63 0.5 0.63 0.39 0.63 1.36 0.5 1.39 0.63 0.5 0.63 0.52 0.37 1.63 
+0.39 1.76 S
+1492 2946.05 0.63 2.02 0.5 2.15 0.63 2.26 0.63 2.28 -0.89 -0.5 -1 -0.63 -0.25 -3.77 
+-0.24 -3.8 S
+1492 2946.05 -0.64 0.63 -0.62 0.52 -0.52 -1.39 -0.63 -1.39 -2.12 0 -0.63 -0.13 -1 -3.52 
+-0.52 -2.28 -0.49 -2.26 S
+1484.81 2936.24 -0.87 0.87 -0.75 0.89 -1.52 -2.15 -1.89 -0.63 1.13 -3.52 -1.25 -0.63 -1.5 -2.02 
+-1.52 0 -1 -3.14 0.26 -5.42 S
+1496 2956.38 0.76 2.65 0.76 2.78 -0.89 -0.37 -0.89 -0.39 0.13 -2.38 0.13 -2.28 S
+1498.27 2968.36 1.26 2.52 -0.11 3.02 -0.26 3.04 -0.5 -1.91 -0.63 -1.89 0.13 -2.39 0.11 -2.39 S
+1484.44 2925.39 0.38 -1.5 0.39 -1.52 0.63 0.76 0.63 0.89 0.61 -0.39 0.52 -0.37 0.63 -1.02 
+0.63 -1.13 0.63 2.28 0.5 2.25 -0.76 1.63 -0.76 1.52 -0.76 0.49 -0.74 0.52 -1.26 -1.78 
+-0.63 -1.39 -0.63 -1.26 S
+1496.64 2931.08 0.49 1.37 0.5 1.39 0.52 1.89 0.5 1.89 0.24 3.8 0.13 3.78 0.26 2.88 
+0.37 2.91 0.39 2.02 0.37 2.02 0.5 2 0.39 2.02 0.24 2.52 0.39 2.52 0 5.55 
+-0.52 -1.13 -0.5 -1.02 -0.37 -1.63 -0.5 -1.52 -0.52 -1.75 S
+1499.52 2962.57 -0.5 -1.65 -0.5 -2.26 -0.5 -2.15 0 -4.91 -0.5 -2.02 -0.39 -1.89 -0.37 -1.75 
+-0.39 -1.79 0 -2.38 -0.11 -2.39 0.11 -4.17 0.26 -4.14 S
+1508.09 2992.54 -0.13 3.15 -0.13 3.17 -0.62 3.28 -0.63 3.14 0.13 -3.04 0.24 -3.02 0.52 -3.27 
+0.63 -3.41 S
+1509.36 3020.38 -0.39 3.9 -0.5 3.91 -0.89 4.17 -0.86 4.28 -1.02 2.78 -0.87 2.64 0.63 -3.28 
+0.5 -3.41 0.76 -3.64 0.76 -3.66 1 -3.91 0.89 -3.78 S
+1435.37 2950.09 1.63 1.02 1.13 -1.25 0.52 -4.04 2.76 -0.39 -0.5 4.79 -1.13 -0.5 -1.25 3.15 
+-1.65 3.41 -1.37 -2.41 -0.13 -3.77 S
+1444.55 2948.2 1.39 0.63 -0.13 5.29 S
+1445.81 2954.12 -2.02 -0.5 0.76 -5.42 S
+1465.56 2929.82 1.39 1.63 1.39 1.76 -1.02 -4.78 -1.75 1.39 S
+1439.78 2988.76 1.63 -4.78 1.39 -2.02 1.13 -4.41 2.02 -1.02 2.02 -3.27 1 -4.54 1.63 -4.53 
+1.26 -5.17 1.76 1.39 1.26 2.65 0.52 2.78 1.63 -6.69 0.99 3.41 1.39 1.89 0.63 4.03 
+2.14 -1.02 1.13 2.78 1.5 -2.02 1.02 -3.64 0.76 3.14 0.74 4.41 0.63 4.54 -0.63 5.54 
+-0.74 7.81 -2.02 3.54 -0.13 5.8 0.13 4.9 -0.63 5.16 -1.52 5.93 -0.99 5.42 -0.5 4.28 
+0.87 2.28 0.89 3.52 -1.75 1.65 -1.76 1.13 -2.14 1.89 -0.63 4.27 -2.02 2.28 -2.12 3.39 
+-0.89 5.29 -1.89 5.66 S
+1449.46 3056.4 0.39 4.67 -2.02 2.02 0.13 4.04 0.11 4.04 -1.75 -0.39 -2.02 0.5 -1.37 -1 
+-1.89 4.28 -2.02 0.26 -1.39 0.89 1.13 -5.17 0.52 -5.16 1.26 -4.43 0.87 -7.05 1.39 -3.52 
+-1.25 -3.04 0 -4.52 0.89 -7.31 0.24 -4.66 0.75 -4.8 -0.13 -5.04 -1 -3.14 -0.89 -2.89 
+1.13 -5.8 1.26 -6.81 -1.5 -1.26 -1.65 -1.63 -1.88 0.11 0 -5.27 1.02 -5.55 S
+1472.75 2993.55 1.89 -6.05 1.13 2.15 1.49 -4.4 1.13 -6.43 0.76 -6.69 1.02 -4.03 0.99 1.75 
+0.5 1.39 0.39 1.52 -0.52 2.38 -0.64 2.52 -0.49 2.78 -0.37 2.78 -0.63 2.65 -0.5 2.52 
+-1.13 5.16 -1.65 4.41 0 5.29 S
+1476.13 3003.25 0.39 0.87 0.5 0.89 0.38 -1.63 0.39 -1.78 0.74 -5.04 0.76 -1.52 0.76 -1.63 
+0.86 -0.13 0.76 -0.24 0.63 -3.28 0.63 -3.41 0.5 0.13 0.63 0 0.13 2.13 0 2.02 
+0.89 -4.01 0.87 -4.04 0.63 -1.13 0.76 -1.15 0.13 3.04 0.13 2.88 -1.26 6.3 -0.89 1.52 
+-0.87 1.52 -0.89 1.89 -1 1.89 -0.76 0.86 -0.89 0.76 -0.14 2.52 0 2.52 -0.86 1.65 
+-0.76 1.52 -0.76 1.13 -0.62 1.13 -1.14 1.64 -0.99 1.5 0.13 2.65 0.11 2.64 -0.11 2.78 
+-0.13 2.75 -0.26 3.04 -0.37 3.15 0.5 1.39 0.5 1.5 -0.87 0.89 -0.76 0.89 -0.26 -2.28 S
+1474.24 3033.98 -0.13 -2.26 -0.24 -2.15 -0.13 -2.02 -0.37 -1.26 -0.52 -1.13 0.52 -6.05 -0.89 -2.38 
+-1.39 3.64 -1.63 0.13 -1.75 5.8 -1.13 6.05 0.37 2.39 0.76 0.89 0.37 2.76 1.02 2.91 
+0.73 2.52 0.39 1.25 0.37 1.26 0.63 0.37 0.63 0.39 0.25 1.76 0.11 1.75 0.13 2.29 
+0.13 2.38 -0.63 3.54 -0.76 3.64 -0.63 2.78 -0.63 2.75 -0.62 0.65 -0.63 0.5 0.26 -1.89 
+0.37 -1.88 0.5 -2.54 0.39 -2.52 0.13 -2.52 0.11 -2.64 -0.37 -1.5 -0.37 -1.52 -0.13 -1.52 
+-0.13 -1.5 -0.62 -0.13 -0.63 -0.25 -1 -1.76 -1.13 -2.02 -1.39 -0.87 1.5 -6.82 -1.13 -3.28 
+0.89 -3.52 S
+1465.82 3030.46 1.39 -5.29 1.5 -4.92 0.39 -4.78 0.73 -4.79 1.65 -5.93 1 -5.66 0.26 -5.54 S
+1473.48 3075.3 1.02 -1.5 0.87 -1.39 1.78 -3.78 0.74 -2.54 0.89 -2.39 0.87 -1.26 1.02 -1.26 
+0.87 -0.37 0.89 -0.52 -2.25 3.04 -0.89 2.02 -0.89 1.99 -0.99 2.91 -0.87 2.78 0.11 1.39 
+0.26 1.5 -0.76 1.02 -0.76 0.99 -0.37 2.39 -0.37 2.52 -1.15 2.65 -1 2.52 0.37 -2.89 
+0.26 -3.02 -1 1.37 -1.02 1.39 -0.76 2.65 -0.87 2.64 0.37 -2.52 0.39 -2.38 0.87 -2.41 
+0.89 -2.39 0.76 -2.64 0.74 -2.52 S
+1487.2 3022.27 0.89 -1.5 0.88 -1.52 0.63 0.37 0.63 0.39 S
+1490.21 3020.01 -0.11 2.14 -0.13 2.26 -1.52 3.77 -0.5 -0.75 -0.5 -0.87 -0.26 -4.3 S
+1489.84 3032.86 1.52 0.26 0.11 1.63 0.13 1.63 0.5 0.76 0.39 0.89 0.76 1.25 0.74 1.39 
+1.52 -0.26 -0.75 2.41 -0.76 2.52 -0.87 1.5 -0.89 1.52 -0.24 -1.39 -0.39 -1.39 -0.63 0.26 
+-0.63 0.24 -0.24 -2 -0.13 -2.02 -0.5 -1.89 -0.39 -1.78 0.39 -2.76 0.37 -2.78 S
+1480.27 3030.84 0.63 1.89 0.52 1.88 S
+1483.94 3046.33 0.5 2.28 0.5 2.26 -0.89 0.26 -1 0.24 0.5 -2.52 0.39 -2.52 S
+1481.04 3079.34 0.63 0 0.76 -0.13 -0.26 2.39 -0.24 2.4 -0.63 -0.12 S
+1481.29 3083.88 -0.76 -0.13 0.26 -2.14 0.24 -2.26 S
+1484.94 3105.17 1.13 -1.26 1.26 -1.26 -0.26 1.89 -0.24 2.02 -1 1.26 -1.02 1.26 0.13 -2.02 
+0 -1.89 S
+1486.2 3069.64 0.5 0.76 0.63 0.76 0.26 0.73 0.37 0.76 0.76 -2.39 0.87 -2.38 0.63 -0.26 
+0.76 -0.13 0.26 3.04 0 3.91 -0.26 2.76 -0.24 2.78 1.13 -3.41 1 -3.41 -0.24 -1.89 
+-0.13 -1.75 0.37 -2.65 0.39 -2.75 -0.39 -1.02 -0.37 -0.99 0.24 -1.65 0.26 -1.62 0.26 0.36 
+0.37 0.5 0.76 -0.74 0.76 -0.75 0.74 -1.65 0.63 -1.76 0.89 -2.28 0.76 -2.39 0.11 1.26 
+0.26 1.26 -0.76 4.16 -0.87 4.27 S
+1496.89 3061.07 0.74 -0.76 0.89 -0.73 0.63 0 0.63 -0.14 0.63 -0.26 0.63 -0.24 0.37 1.13 
+0.39 1.26 0.5 0.76 0.37 0.74 0.76 0.25 0.63 0.14 1 1.52 0.52 -0.13 0.63 0 
+0.74 -1.13 0.76 -1.15 2.52 -6.55 1.25 -3.38 1.13 -3.67 1.02 -2.89 1 -3.02 0 -4.17 
+0.63 -3.78 0.63 -3.66 0.89 -5.16 0.73 -5.04 0.26 1.65 0.26 1.63 -0.13 3.54 -0.26 3.52 
+0.26 1.78 0.24 1.75 0 4.78 0.75 -1.76 0.64 -1.63 0.75 -1.52 0.76 -1.63 0.63 -1.15 
+0.74 -1.26 0.39 0.89 0.24 0.89 0.14 1.63 0.13 1.52 0.5 0.5 S
+1523.8 3036.13 0.5 0.5 -0.74 7.81 -0.52 2.52 -0.49 2.52 -0.87 2.91 -0.89 2.75 -0.37 2.64 
+-0.39 2.65 -0.49 2.91 -0.64 2.76 -0.99 4.54 -1.02 4.53 0 1.89 -0.11 1.78 0.73 -0.26 
+0.52 0.13 0.5 0.26 0.13 0.87 0.11 1.02 1.25 -3.28 1.26 -3.15 1.02 -2.64 0.87 -2.65 
+1.02 -1.65 0.87 -1.75 0.76 -1.39 0.89 -1.39 0.73 -2.39 0.76 -2.38 0.26 2.25 0.13 1.39 
+0.11 1.52 0.13 1.5 0 1.52 0.13 1.13 0.13 1.26 0.74 -2.25 0.89 -2.28 -0.37 3.14 
+-0.52 3.17 -1.13 4.78 -1.26 4.67 0 -3.02 -0.37 -0.26 -0.26 -0.13 S
+1526.82 3076.56 -1 4.16 -1.13 4.28 0.24 -1.76 0.13 -1.76 -0.24 -0.52 -0.26 -0.62 -2.52 9.07 
+0.5 -3.52 0.49 -3.41 -1.25 3.14 -1.24 3.02 -1.65 4.8 -1.62 4.66 -0.5 0 -0.52 0.14 
+-1.26 2.02 -1.13 2.13 -1.13 2.78 -1.13 2.64 -1 4.78 -0.52 2.41 -0.5 2.39 -1.63 4.04 
+-1.52 4.04 -0.76 0.86 -0.87 0.89 0.76 -3.14 0.63 -3.28 -0.63 0.24 -0.63 0.13 0 -1.39 
+0.11 -1.5 -1.75 4.4 -1.76 4.28 -1.13 1.75 -1.12 1.65 -0.5 0.13 -0.39 0 -0.76 0.37 
+-0.63 0.26 -0.5 -0.26 -0.5 -0.37 -0.36 -0.26 -0.5 -0.25 0 -2.76 -0.39 -0.5 S
+1494.75 3126.71 -0.5 -0.63 -0.26 -0.52 -0.24 -0.63 -0.26 -0.76 -0.24 -0.87 -0.52 -1.52 -0.49 -0.5 
+-0.5 -0.63 0.13 -1.52 0.14 -1.5 -0.26 -0.89 -0.37 -0.76 -0.26 -0.76 -0.37 -0.76 S
+1490.73 3114.47 -1.39 0 -0.63 -0.24 -0.5 -0.26 0.74 -3.91 0.63 -3.77 1.15 -3.4 1 -3.26 
+0.26 -2.28 0.11 -2.26 1.02 -3.79 0.87 -3.91 0.76 -2.89 0.75 -2.9 0.88 -3.28 0.89 -3.39 
+-0.26 -2.52 -0.74 0.63 -0.76 0.76 -1.12 2.52 -1.13 2.39 -0.52 -0.26 -0.37 -0.24 -2.25 4.78 
+-1.15 3.54 -1 3.41 -1.63 3.01 -1.52 3.02 -0.13 -2.14 0 -2.13 -0.87 0.63 S
+1483.81 3092.32 -0.89 0.5 -0.13 -2.02 -0.11 -2.02 0.74 -3.01 0.63 -2.91 0.13 -2.63 0.26 -2.64 
+0.87 -4.04 0.89 -3.9 S
+1396.75 3162.24 3.14 -3.66 2.15 -2.52 2.75 -3.28 1.89 0.39 -1.75 2.89 1.39 0 1.63 -4.28 
+2.25 -3.04 1.02 1.89 -1.63 5.29 1.37 0.52 3.27 -1.65 -2.26 3.15 -1.78 2.02 1.39 0.89 
+3.14 -2.41 0.89 1.15 -0.49 2.64 -2.15 0.63 -1.89 1.5 -0.5 2.64 -1.26 -1.52 -1 -1.13 
+0 -1.89 1.37 -3.78 -1 -1.13 -2.64 2.76 -3.64 3.41 -2.65 4.54 -2.39 5.29 -2.25 4.67 
+-2.88 4.41 -1.89 0.5 -2.78 3.4 -3.39 4.67 1.5 -3.91 -0.37 -1.78 -1.39 -0.74 0.5 -2.78 S
+1384.42 3182.01 2.89 -4.17 2.28 -3.78 2.26 -1.89 3.28 -5.04 2.65 -3.41 -1.02 -1.5 S
+1432.23 3088.78 -0.5 6.19 -1.12 3.91 -1.15 4.91 -2 5.42 -0.39 3.02 -1.5 6.06 -3.65 5.03 
+3.25 -7.68 1.89 -6.31 1.13 -4.28 1.26 -6.06 1.02 -4.77 1.76 -5.43 S
+1411.71 3144.83 2.26 -1.37 2.64 -2.9 1.76 -1.13 -1.5 4.77 -2.52 3.9 -1.89 0.63 -0.5 -1.63 
+-0.26 -2.28 S
+1417.38 3159.83 2.76 -2.76 1.26 0.87 2.28 -4.28 -0.5 -1.65 3.14 -4.77 0.5 1.25 3.02 -4.66 
+-0.39 3.53 -2.25 2 -2.13 3.28 0 3.91 -3.28 3.77 -2.15 3.17 -2.26 1.75 0.5 -3.54 
+-0.5 -1.88 S
+1427.06 3130.49 -0.13 3.78 1.02 0.63 S
+1427.95 3134.89 2.13 -3.41 1.02 -4.41 2.12 -2.02 1.78 -0.89 -1.02 3.91 -2.52 3.28 0.89 0.39 
+-1.52 4.27 1.75 -1.39 -0.37 3.67 -2.02 3.38 -0.63 -2.25 -2.02 3.41 -2.63 4.02 2.13 -4.28 
+1.13 -4.41 -2.12 3.78 -0.5 -1.65 -3.02 5.16 -0.13 -3.39 -1.39 1.5 -0.5 -2.63 2.13 -2.28 
+2.41 -4.41 2 -3.78 S
+1442.79 3103.02 1.63 -2.52 -1.75 4.54 -1.76 5.03 -0.13 2.52 2.02 -3.15 -0.12 2.65 -1.39 4.66 
+1.15 0.89 1.25 -0.76 1.37 -4.29 2.65 -5.17 1.39 -0.37 1.49 0.13 0.13 1 0 0.89 
+0.89 -0.5 0.87 -0.63 -1 3.28 -1.13 3.14 -0.75 1.13 -0.89 1 -0.87 0.75 -0.89 0.76 S
+1446.94 3118.01 -1.12 3.15 -0.76 2.28 -0.76 2.13 1.15 -1 0.99 -1.13 1.52 -2.15 1.37 -2.15 
+-1.13 2.65 -1.26 2.78 -0.87 2.64 -1.15 2.52 -2 3.77 -1.52 1.76 -1.5 1.78 -1.52 2.52 
+-1.52 2.39 -2.62 2.26 -2.15 0.13 3.41 -5.16 1.26 -4.04 -1.02 -0.5 2.52 -5.16 0.13 -3.15 
+1.52 -4.77 -2.02 3.02 -1.02 -0.39 0.63 -3.78 1.39 -4.14 0.39 -4.3 1 -3.51 2.52 -5.43 S
+1501.3 3139.8 0.74 -1.63 0.76 -1.65 -0.13 1.65 -0.23 1.63 0.87 -1.26 0.89 -1.13 -0.26 1.63 
+-0.24 1.65 -0.5 2.39 -0.52 2.28 -1.26 4.77 -1.5 4.54 -1.64 4.53 -2.12 5.55 -2.26 5.54 S
+1493.88 3170.29 -0.76 2.15 -0.63 2.13 -5.03 10.33 -2.02 4.43 -2.02 4.41 -3.78 6.04 1.52 -4.02 
+1.39 -3.91 2.75 -4.92 2.91 -5.04 0.63 -2.14 0.74 -2.13 2.91 -6.82 2.89 -6.66 0.5 -2.02 
+0.63 -2.02 0.5 -2.02 0.52 -2.15 1 -3.38 1 -3.28 0.63 -2.78 0.52 -2.78 0.37 -2.02 
+0.26 -1.89 S
+1480.79 3175.09 -0.62 2.25 -0.63 2.28 S
+1471.72 3208.33 0.63 0 0.5 0.13 0.76 0 0.63 -0.13 -0.37 1.26 -0.39 1.13 S
+1473.48 3210.72 2.28 -3.15 2.25 -3.28 2.39 -3.9 2.38 -3.77 -2.62 5.29 -2.78 5.3 -1.5 2.25 
+-1.52 2.28 -0.37 -0.5 -0.52 -0.52 S
+1473.48 3210.72 -0.37 0.13 S
+1473.11 3210.85 -0.36 0 -0.39 -0.5 -0.24 -0.5 -0.25 -0.76 -0.13 -0.76 S
+1480.67 3206.58 1.62 -2.65 1.65 -2.78 1.5 -2.65 1.13 -1.62 1.02 -1.65 1.13 -1.62 0.5 -0.64 
+0.63 -0.75 0.5 -0.63 -1.5 3.41 -1.65 3.51 -1.5 3.54 -0.76 0.76 -0.62 0.76 -0.63 0.73 
+-2.78 3.78 -1.36 1.91 0.37 -1.15 0.37 -1.12 0.39 -1.13 S
+1484.05 3206.08 0.39 -0.26 0.38 -0.13 0.49 -0.13 0.39 0.39 S
+1493.88 3190.32 0.74 -0.89 0.76 -1 0.89 -0.89 S
+1481.92 3216.41 0.24 -0.13 0.26 -0.26 0.26 -0.13 0.24 0 0.26 0.13 0.24 0 0.26 -0.13 
+0.26 -0.11 0.24 -0.26 S
+1477.39 3229.88 1.75 -2.65 1.65 -2.91 1.76 -2.76 0.76 -1.26 0.87 -1.39 0.89 -1.25 1.13 -1.65 
+2.26 -3.52 S
+1495.75 3193.34 1.02 -2.26 1.13 -2.15 1 -2.26 0.89 -1.39 1.52 -2.78 -0.63 1.88 -1.52 3.78 
+-0.37 1.15 -0.52 1.26 -0.37 1.37 -1.63 3.54 -1.75 3.54 -1.65 3.52 -0.13 -0.26 -0.24 -0.11 
+-0.13 -0.13 1.13 -3.02 1.13 -2.78 1.13 -2.91 S
+1496.38 3196.75 1.02 -1.63 1.13 -1.65 1 -1.75 -0.87 2.25 -0.89 2.28 -0.87 2.25 -1.15 1.89 
+-1.13 1.89 -1 1.78 0.89 -2.41 0.99 -2.52 0.88 -2.39 S
+1525.07 3144.21 1.52 -3.78 1.39 -3.77 1.37 -3.91 1.39 -3.91 S
+1530.73 3128.84 1.39 -3.91 1.26 -3.52 1.13 -3.67 1.26 -3.64 1.13 -3.64 1.13 -3.67 -0.87 3.17 
+-1.02 3.14 -0.87 3.28 -1.02 3.15 -1 3.27 -1.39 3.91 -1.39 3.77 -1.23 3.78 -1.39 3.64 
+-1.39 3.67 0.99 -2.78 0.89 -2.78 1 -2.64 1.02 -2.78 0.87 -2.76 -1.25 3.41 -1.13 3.25 
+-2.52 6.56 -1.25 3.14 S
+1539.28 3103.91 1.39 -4.8 1.52 -4.78 1.37 -4.92 2.78 -10.07 -0.5 2.15 -0.5 2.13 -0.52 2.15 
+-0.63 2.14 -0.5 2.13 -0.87 2.91 -0.89 2.89 -0.89 2.78 -0.87 2.65 -0.89 2.64 S
+1563.56 2877.54 -0.37 -6.32 -0.39 -6.29 -0.5 -6.43 -0.63 -6.55 -0.37 -3.78 -0.39 -3.91 S
+1560.92 2844.27 -0.37 -3.91 -0.99 -7.82 -0.52 -5.04 -0.37 -2.52 -0.26 -2.52 -0.74 -5.04 -0.39 -2.65 
+-0.37 -2.52 -0.39 -2.65 -0.37 -2.64 -0.5 -2.65 -0.39 -2.78 -0.5 -2.78 -0.5 -2.76 -0.5 -2.91 
+-0.76 -3.65 -0.76 -3.91 -0.73 -3.77 -0.76 -3.9 -0.89 -3.91 0 -0.62 -0.14 -0.76 -0.11 -0.63 
+-0.26 -1.52 0.89 3.91 0.87 3.9 0.76 3.78 0.76 3.79 0.75 3.78 0.74 3.64 0.63 3.78 
+0.76 3.67 0.63 3.64 0.5 3.52 0.39 2.15 0.24 2.02 0.25 2.15 0.37 2.02 0.26 2 
+0.5 3.41 0.37 3.41 0.52 3.28 0.37 3.41 0.37 3.25 0.52 4.17 S
+1560.8 2839.11 0.5 4.04 0.37 4.14 0.5 4.03 0.26 3.91 0.26 2.39 0.11 2.41 0.13 2.26 
+0.13 2.28 0.13 2.25 0.13 2.29 0 2.12 0.11 2.15 0.13 2.15 0 2.02 S
+859.7 2287.09 -1.89 0.26 -2.02 0.36 -1.89 0.26 2.52 0 -3.14 0.24 -3.02 0.13 -3.15 0.26 
+4.15 -0.5 4.27 -0.52 4.16 -0.5 S
+1433.12 3317.93 -0.76 0.89 -0.63 0.89 -0.76 0.86 -0.75 0.89 -0.76 1 -0.63 0.89 -0.87 1 
+-0.75 1.02 -0.76 0.87 -0.74 1.02 -0.89 1 -0.76 1.02 -0.86 1 -0.76 1.13 -0.89 1.02 
+-0.87 1 -0.89 1.15 -1 1.13 -0.89 1 -0.87 1.15 -1.02 1.13 S
+1416 3338.98 -1.63 2.02 -1.76 2.02 -1.78 2 -1.76 2.14 -1.89 2.02 -1.75 2.02 -1.89 2.15 
+-1.89 2.12 -1.99 2.02 -1.89 2.14 -2.02 2.13 -4.04 4.3 -2 2.12 -2.14 2.28 -4.28 4.27 
+-2.15 2.28 -2.26 2.15 -2.25 2.25 -2.28 2.26 -2.26 2.28 -2.39 2.26 -3.41 3.28 -3.52 3.28 
+-3.64 3.27 -3.52 3.28 -3.66 3.28 -3.76 3.28 -3.78 3.28 -3.78 3.14 -3.77 3.28 -3.91 3.28 
+-4.02 3.14 -3.91 3.15 -4.04 3.14 -4.14 3.28 -4.02 3.04 -4.16 3.14 -4.27 3.15 -4.28 3.02 
+-4.27 3.14 -4.28 3.04 -8.81 6.04 -4.53 2.9 -4.51 3.02 -4.54 2.89 -2.02 1.28 S
+1267.17 3468.23 -2.02 1.26 -2 1.26 -2.02 1.26 -2.02 1.13 -1.89 1.26 -2 1.13 -1.88 1.13 
+-1.89 1.15 -1.89 1.13 -1.89 1 -1.76 1.15 -1.89 1 -1.79 1.02 -1.88 1 -1.76 1 
+-1.75 1.02 -1.63 1 -1.76 0.89 -1.78 1 -3.25 1.78 -1.76 0.87 -1.65 0.89 -1.63 0.89 
+2.39 -1.28 2.25 -1.13 2.15 -1.26 2.26 -1.12 2.15 -1.26 2.12 -1.13 2.02 -1.25 2.14 -1.15 
+2 -1.12 2.02 -1.13 1.89 -1.13 2.02 -1.15 5.67 -3.38 1.75 -1.02 1.89 -1.13 1.75 -1.13 
+1.76 -1.02 1.65 -1.13 1.75 -1 1.63 -1.15 3.78 -2.26 3.64 -2.39 3.64 -2.41 S
+1277.73 3461.29 3.54 -2.39 3.52 -2.39 3.52 -2.28 3.41 -2.39 3.38 -2.39 3.41 -2.41 3.25 -2.39 
+3.28 -2.39 3.28 -2.41 3.14 -2.39 3.15 -2.25 3.02 -2.41 3.14 -2.39 3.02 -2.39 2.89 -2.41 
+2.91 -2.26 3.52 -2.91 3.52 -2.89 3.41 -2.91 3.38 -2.89 3.41 -2.9 3.38 -2.89 3.28 -3.02 
+3.41 -3.04 3.25 -3.02 3.28 -3.02 3.28 -3.04 3.26 -3.14 3.14 -3.02 3.28 -3.14 6.29 -6.29 
+3.14 -3.17 2.52 -2.62 2.65 -2.78 2.63 -2.78 2.64 -2.78 2.65 -2.89 2.62 -2.91 2.65 -2.89 
+2.65 -2.91 2.64 -3.02 2.52 -3.02 2.63 -3.04 7.95 -9.44 2.62 -3.28 2.65 -3.28 S
+1427.82 3324.48 5.3 -6.55 S
+1162.13 3521.5 -0.26 0.14 -0.24 0 -0.26 0.13 -0.26 0.11 -0.24 0.13 -0.26 0.13 -0.24 0.13 
+-0.39 0.13 -0.24 0.11 -0.26 0.13 -0.26 0 -0.37 0.13 -0.26 0.13 -0.24 0.13 -0.39 0.11 
+-0.24 0.13 -0.39 0.13 -0.24 0.13 -6.16 2.39 -6.29 2.28 -6.16 2.26 -6.29 2.15 -6.16 2.15 
+-6.3 1.99 -6.29 2.02 -6.16 1.88 -6.3 1.89 -6.29 1.78 -6.27 1.63 -6.16 1.64 -6.29 1.5 
+-6.17 1.52 -6.29 1.39 -6.17 1.39 -6.29 1.37 -6.16 1.15 -5.8 1.14 -5.77 0.99 -5.92 1.02 
+-5.91 1 -5.92 0.89 -5.91 0.76 -5.92 0.87 -6.04 0.63 -5.92 0.76 -6.03 0.63 S
+985.75 3564.58 -6.04 0.5 -6.03 0.52 -6.17 0.5 -6.05 0.37 -6.03 0.39 -6.17 0.24 -6.04 0.26 
+-6.16 0.13 2.64 0 2.5 -0.13 2.52 -0.12 2.41 0 2.5 -0.13 2.52 -0.11 2.41 -0.14 
+2.52 -0.12 4.78 -0.26 2.38 -0.11 2.39 -0.26 2.39 -0.13 2.28 -0.13 2.39 -0.24 2.25 -0.13 
+2.39 -0.26 2.28 -0.24 -2.02 0.24 -3.78 0.26 -2.02 0.13 -1.89 0.24 -1.76 0.13 -3.77 0.26 
+-1.76 0.13 -1.75 0 -1.76 0.11 -1.78 0.13 -1.76 0.13 -1.76 0 -1.62 0.13 -1.65 0.14 
+-1.75 0 6.79 -0.26 6.92 -0.5 6.92 -0.39 13.85 -1.26 7.03 -0.62 S
+991.28 3563.96 7.05 -0.87 7.16 -0.89 7.05 -0.89 7.16 -1.13 7.18 -1.12 7.16 -1.13 7.18 -1.39 
+7.29 -1.39 7.16 -1.52 7.32 -1.49 6.27 -1.39 6.29 -1.52 6.42 -1.62 6.3 -1.64 6.16 -1.63 
+6.29 -1.78 6.3 -1.89 6.16 -1.88 6.29 -1.89 6.16 -2.02 6.17 -2.12 6.16 -2.15 6.04 -2.15 
+6.03 -2.26 6.16 -2.28 5.93 -2.39 S
+450.33 3360.63 -2.78 -2.88 -2.63 -3.04 -2.78 -2.89 -2.65 -3.02 -2.62 -3.04 -5.29 -6.03 -2.26 -2.64 
+-2.14 -2.65 -2.13 -2.64 -2.15 -2.65 -2.13 -2.64 -2.02 -2.52 -2.02 -2.64 S
+416.73 3321.33 -2.26 -2.78 -2.14 -2.75 -2.26 -2.91 -2.14 -2.78 -2.13 -2.88 -2.15 -2.91 -2.25 -3.14 S
+401.39 3301.17 -2.26 -3.14 -2.28 -3.15 -2.13 -3.14 -2.15 -3.02 -2.02 -3.17 2.02 3.04 2.02 2.89 
+2.02 2.91 2.12 3.02 2.15 2.91 2.13 2.88 2.15 3.02 2.25 3.04 2.28 3.02 2.26 3.02 
+2.39 3.04 2.39 3.02 S
+416.73 3321.33 1.65 2.02 1.5 2.02 1.63 2.02 1.65 1.89 1.63 2.02 1.65 1.89 3.12 3.91 
+3.28 3.91 3.41 3.78 3.39 3.91 3.41 4.01 3.64 3.91 3.65 4.03 S
+294.57 2917.96 0 -6.18 0.26 -1.12 0.13 -1 0.11 -1.13 -0.11 3.52 -0.13 3.64 -0.12 0.76 
+0 0.76 -0.14 0.75 S
+662.17 3456.51 -0.13 -0.39 -0.24 -0.24 -0.26 -0.13 -0.24 0 0.38 0.37 S
+661.68 3456.12 0.49 0.39 S
+659.29 3454.1 -1.52 -0.63 -1.37 -0.63 -1.25 -0.74 -1.26 -0.76 0.74 -0.13 0.63 0 1.39 0.89 
+1.39 0.74 1.26 1.26 S
+640.8 3444.04 -1.76 -0.76 -1.78 -0.76 -2.26 -1.5 -2.12 -1.39 3.02 1.25 2.88 1.39 1 0.87 
+1.02 0.89 S
+627.32 3436.35 -1.99 -1.39 -1.89 -1.39 S
+621.05 3432.31 -1.65 -0.87 -1.62 -0.89 -0.89 -0.26 -1 -0.36 -0.89 -0.76 -0.87 -0.76 -0.63 -0.63 
+-0.5 -0.63 2.13 1.26 2.25 1.26 0.63 0.63 0.63 0.52 1.15 0.74 1.26 0.76 S
+608.7 3425.39 -1.23 -0.39 -1.26 -0.37 0.11 0.37 0.13 0.39 -2.26 -1.13 -2.39 -1.15 -0.89 -0.11 
+-0.76 -0.26 -1.88 -1.26 S
+598.27 3421.48 -1.76 -1.13 0.39 -0.39 -0.52 -0.63 -0.5 -0.62 -1.13 -1 -1 -0.89 -0.26 -0.5 
+-0.13 -0.5 1.65 0.99 1.49 1.02 1.39 0.74 1.39 0.75 1.63 1.02 1.52 1 1.5 1.02 
+1.52 1 1.63 1 1.63 1.02 S
+707.92 3687.96 11.43 0 0 -21.12 1.54 1.82 1.52 1.48 1.52 1.13 1.5 0.87 1.54 0.59 
+1.57 0.39 3.29 0.29 2.87 -0.33 3.04 -0.99 3.04 -1.72 1.46 -1.13 1.41 -1.32 1.3 -1.52 
+1.21 -1.69 1.06 -1.91 0.93 -2.13 0.76 -2.32 0.56 -2.54 0.38 -2.78 0.11 -2.97 -11.29 0 
+-0.21 2.85 -0.61 2.62 -0.93 2.32 -1.22 2 -1.43 1.64 -1.61 1.22 -1.71 0.76 -1.78 0.26 
+-1.73 -0.21 -1.74 -0.7 -1.65 -1.13 -1.49 -1.57 -1.3 -1.95 -1 -2.34 -0.66 -2.71 -0.24 -3.06 
+0.18 -2.61 0.49 -2.52 0.8 -2.32 1.09 -2.11 1.41 -1.76 1.67 -1.35 1.96 -0.87 2.21 -0.32 
+1.69 0.24 1.67 0.67 1.61 1.13 1.45 1.54 1.26 1.96 0.98 2.38 0.63 2.76 0.21 3.16 
+11.29 0 -0.09 -2.67 -0.28 -2.52 -0.46 -2.38 -0.63 -2.26 -0.78 -2.08 -0.93 -1.93 -1.08 -1.76 
+-1.2 -1.61 -1.33 -1.43 -1.45 -1.25 -1.55 -1.09 -1.62 -0.89 -1.73 -0.72 -1.78 -0.49 -1.87 -0.31 
+-1.93 -0.11 -2.87 0.16 -1.52 0.34 -1.56 0.57 -1.57 0.82 -1.52 1.1 -1.48 1.43 -1.39 1.82 
+0 -4.32 -11.43 0 0 59.48 f*
+795.42 3656.29 -11 0 -0.54 2.13 -0.72 1.75 -0.85 1.39 -1 1.08 -1.09 0.79 -1.17 0.5 
+-1.23 0.3 -1.28 0.09 -1.93 -0.19 -1.8 -0.57 -1.61 -0.97 -1.41 -1.46 -1.15 -1.93 -0.87 -2.47 
+-0.54 -3.04 -0.2 -3.64 0.2 -3.64 0.54 -3.04 0.87 -2.48 1.15 -1.95 1.41 -1.43 1.61 -1 
+1.8 -0.56 1.93 -0.17 1.28 0.09 1.23 0.28 1.17 0.52 1.09 0.78 1 1.07 0.85 1.41 
+0.72 1.73 0.54 2.15 11 0 -0.65 -3.8 -1.26 -3.36 -1.8 -2.91 -2.28 -2.43 -2.72 -1.91 
+-3.07 -1.41 -3.41 -0.84 -3.69 -0.29 -2.64 0.11 -2.48 0.34 -2.26 0.57 -2.08 0.78 -1.91 0.98 
+-1.71 1.15 -1.54 1.32 -1.35 1.5 -1.19 1.63 -1.02 1.8 -0.84 1.91 -0.7 2.02 -0.92 4.38 
+-0.3 4.71 0.3 4.71 0.92 4.37 0.7 2.04 0.84 1.91 1.02 1.78 1.19 1.65 1.35 1.49 
+1.54 1.33 1.71 1.15 1.91 0.97 2.08 0.76 2.26 0.59 2.48 0.34 2.64 0.11 3.69 -0.29 
+3.41 -0.87 3.07 -1.39 2.72 -1.93 2.28 -2.41 1.8 -2.9 1.26 -3.37 0.65 -3.8 f*
+840.71 3656.29 -10.98 0 -0.55 2.13 -0.71 1.75 -0.87 1.39 -0.98 1.08 -1.11 0.79 -1.17 0.5 
+-1.24 0.3 -1.25 0.09 -1.96 -0.19 -1.8 -0.57 -1.61 -0.97 -1.41 -1.46 -1.15 -1.93 -0.85 -2.47 
+-0.54 -3.04 -0.19 -3.64 0.19 -3.64 0.54 -3.04 0.85 -2.48 1.15 -1.95 1.41 -1.43 1.61 -1 
+1.8 -0.56 1.96 -0.17 1.25 0.09 1.24 0.28 1.17 0.52 1.11 0.78 0.98 1.07 0.87 1.41 
+0.71 1.73 0.55 2.15 10.98 0 -0.65 -3.8 -1.26 -3.36 -1.78 -2.91 -2.28 -2.43 -2.71 -1.91 
+-3.11 -1.41 -3.41 -0.84 -3.67 -0.29 -2.67 0.11 -2.45 0.34 -2.28 0.57 -2.09 0.78 -1.89 0.98 
+-1.72 1.15 -1.54 1.32 -1.37 1.5 -1.19 1.63 -1 1.8 -0.87 1.91 -0.7 2.02 -0.91 4.38 
+-0.29 4.71 0.29 4.71 0.91 4.37 0.7 2.04 0.87 1.91 1 1.78 1.19 1.65 1.37 1.49 
+1.54 1.33 1.72 1.15 1.89 0.97 2.09 0.76 2.28 0.59 2.45 0.34 2.67 0.11 3.67 -0.29 
+3.41 -0.87 3.11 -1.39 2.71 -1.93 2.28 -2.41 1.78 -2.9 1.26 -3.37 0.65 -3.8 f*
+845.617 3645.73 22.1328 11 re
+f*
+913.04 3656.29 -10.98 0 -0.55 2.13 -0.71 1.75 -0.87 1.39 -0.98 1.08 -1.11 0.79 -1.18 0.5 
+-1.23 0.3 -1.26 0.09 -1.95 -0.19 -1.79 -0.57 -1.63 -0.97 -1.39 -1.46 -1.15 -1.93 -0.87 -2.47 
+-0.55 -3.04 -0.19 -3.64 0.19 -3.64 0.55 -3.04 0.87 -2.48 1.15 -1.95 1.39 -1.43 1.63 -1 
+1.79 -0.56 1.95 -0.17 1.26 0.09 1.23 0.28 1.18 0.52 1.11 0.78 0.98 1.07 0.87 1.41 
+0.71 1.73 0.55 2.15 10.98 0 -0.65 -3.8 -1.26 -3.36 -1.78 -2.91 -2.29 -2.43 -2.71 -1.91 
+-3.1 -1.41 -3.41 -0.84 -3.67 -0.29 -2.67 0.11 -2.45 0.34 -2.28 0.57 -2.09 0.78 -1.89 0.98 
+-1.71 1.15 -1.55 1.32 -1.37 1.5 -1.17 1.63 -1.02 1.8 -0.87 1.91 -0.7 2.02 -0.89 4.38 
+-0.3 4.71 0.3 4.71 0.89 4.37 0.7 2.04 0.87 1.91 1.02 1.78 1.17 1.65 1.37 1.49 
+1.55 1.33 1.71 1.15 1.89 0.97 2.09 0.76 2.28 0.59 2.45 0.34 2.67 0.11 3.67 -0.29 
+3.41 -0.87 3.1 -1.39 2.71 -1.93 2.29 -2.41 1.78 -2.9 1.26 -3.37 0.65 -3.8 f*
+957.01 3658.53 -10.98 0 -0.15 1.43 -0.43 1.24 -0.67 1.04 -0.93 0.83 -1.2 0.61 -1.39 0.46 
+-1.61 0.26 -1.8 0.08 -1.56 -0.11 -1.37 -0.26 -1.15 -0.43 -0.93 -0.54 -0.74 -0.67 -0.52 -0.76 
+-0.3 -0.82 -0.11 -0.87 0.05 -0.83 0.33 -0.71 0.67 -0.56 1.04 -0.41 15.61 -4.62 2.19 -0.74 
+1.91 -0.91 1.65 -1.11 1.32 -1.28 1.07 -1.48 0.76 -1.69 0.46 -1.93 0.15 -2.17 -0.3 -3.12 
+-0.89 -2.87 -1.49 -2.54 -2.09 -2.21 -2.69 -1.8 -3.26 -1.35 -3.86 -0.85 -4.43 -0.28 -3.12 0.09 
+-2.82 0.28 -2.52 0.41 -2.24 0.58 -1.97 0.7 -1.71 0.83 -1.47 0.93 -1.26 1.02 -1.06 1.09 
+-0.87 1.18 -1.21 2.43 -0.66 2.54 -0.17 2.52 11.13 0 0.41 -1.61 0.7 -1.28 0.91 -1 
+1.13 -0.71 1.29 -0.5 1.43 -0.28 3.21 -0.14 3.25 0.24 1.43 0.3 1.25 0.43 1.05 0.61 
+0.78 0.74 0.52 0.91 0.17 1.09 -0.26 1.19 -0.84 0.98 -1.61 0.91 -2.5 0.93 -15.15 4.75 
+-1.87 0.76 -1.52 1.02 -1.2 1.2 -0.89 1.34 -0.65 1.43 -0.42 1.45 -0.3 2.76 0.11 1.71 
+0.29 1.61 0.48 1.52 0.65 1.43 1.76 2.52 2.32 2.11 2.75 1.64 3.13 1.22 3.39 0.71 
+3.55 0.26 3.41 -0.21 3.37 -0.68 3.17 -1.11 2.89 -1.59 2.45 -2.09 1.04 -1.21 0.87 -1.35 
+0.71 -1.47 0.52 -1.59 0.32 -1.74 0.11 -1.84 f*
+965.93 3672.35 11.44 0 0 -5.51 2.69 2.91 1.39 1.13 1.45 0.91 1.54 0.71 1.63 0.5 
+1.74 0.28 1.89 0.11 1.54 -0.09 1.58 -0.28 1.58 -0.5 1.59 -0.67 1.5 -0.91 1.41 -1.13 
+1.28 -1.37 1.11 -1.61 2.76 2.84 1.47 1.13 1.54 0.93 1.61 0.71 1.69 0.52 1.8 0.3 
+1.88 0.11 2.41 -0.17 2.43 -0.52 2.37 -0.89 2.19 -1.29 1.89 -1.69 1.49 -2.11 0.98 -2.54 
+0.26 -1.43 0.08 -1.56 0 -32.73 -11.43 0 0 30.19 -0.17 1.13 -0.42 0.98 -0.61 0.87 
+-0.76 0.74 -1.89 1 -2.08 0.35 -1.37 -0.13 -1.37 -0.41 -1.32 -0.65 -1.21 -0.89 -1.06 -1.15 
+-0.83 -1.34 -0.52 -1.55 -0.2 -1.75 0 -27.37 -11.74 0 0 30.19 -0.13 1.13 -0.35 0.98 
+-0.58 0.87 -0.74 0.74 -0.89 0.59 -1 0.41 -2.25 0.35 -1.3 -0.19 -1.37 -0.46 -1.32 -0.71 
+-1.21 -0.96 -1.06 -1.13 -0.84 -1.33 -0.54 -1.47 -0.2 -1.62 0 -27.37 -11.44 0 0 44.03 
+0 -0.15 f*
+1056.82 3686.48 7.44 0 0 -58 -11.43 0 0 39.87 -13.67 0 0 7.57 3.23 0.09 
+2.88 0.32 2.59 0.59 2.3 0.93 2.05 1.37 1.75 1.84 1.54 2.41 1.33 3.02 f*
+1080.88 3645.73 22.1328 11 re
+f*
+1129.14 3686.48 7.45 0 0 -58 -11.44 0 0 39.87 -13.67 0 0 7.57 3.23 0.09 
+2.89 0.32 2.58 0.59 2.3 0.93 2.04 1.37 1.75 1.84 1.54 2.41 1.32 3.02 f*
+Q q
+1829.62 2270.03 1296.25 1297.98 re
+Y*
+255 G
+1829.88 2896.68 0 -30.99 1.06 -13.08 3.28 -26.58 4.41 -26.59 5.53 -26.56 6.71 -26.56 3.23 -11.42 
+4.69 -15.19 9.16 -26.56 10.48 -26.57 2.21 -5.21 9.66 -21.37 13.32 -26.56 3.56 -6.6 11.37 -19.98 
+7.57 -12.18 7.57 -12.15 1.48 -2.26 9.24 -13.28 9.22 -13.26 6.62 -8.87 13.95 -17.71 12.57 -14.95 
+10.35 -11.63 16.19 -17.19 9.4 -9.39 8.57 -8.09 8.57 -8.12 11.61 -10.35 14.93 -12.59 17.71 -13.98 
+8.85 -6.62 13.24 -9.24 13.26 -9.25 2.26 -1.5 12.13 -7.57 12.15 -7.6 19.97 -11.37 6.59 -3.56 
+13.26 -6.68 13.26 -6.66 10.68 -4.84 10.66 -4.84 5.23 -2.22 26.52 -10.5 13.26 -4.58 13.26 -4.61 
+15.19 -4.68 11.37 -3.23 13.29 -3.37 13.26 -3.36 13.26 -2.75 13.28 -2.78 26.52 -4.38 26.57 -3.3 
+8.12 -0.65 4.96 -0.42 30.77 0 -0.15 0 -11.3 0.5 -11.29 0.7 -11.28 0.89 -11.26 1.09 
+-11.25 1.28 -11.21 1.48 -11.18 1.68 -11.18 1.86 -11.11 2.08 -11.09 2.26 -11.04 2.45 -11 2.63 
+-10.96 2.84 -10.89 3.04 -10.85 3.21 -10.78 3.41 -10.75 3.6 -10.65 3.78 -10.61 3.97 -10.5 4.14 
+-10.46 4.34 -10.37 4.52 -10.3 4.68 -10.2 4.88 -10.13 5.05 -10.03 5.23 -9.96 5.4 -9.84 5.58 
+-9.74 5.75 -9.66 5.93 -9.55 6.1 -9.42 6.25 -9.33 6.4 -9.2 6.59 -9.09 6.73 -8.98 6.91 
+-8.86 7.05 -8.72 7.2 -8.62 7.36 -8.46 7.51 -8.36 7.66 -8.2 7.79 -8.08 7.95 -7.92 8.07 
+-7.79 8.22 -7.64 8.36 -7.5 8.49 -7.34 8.61 -7.2 8.75 -7.03 8.85 -6.9 8.98 -6.73 9.12 
+-6.58 9.22 -6.4 9.34 -6.25 9.44 -6.07 9.57 -5.9 9.66 -5.75 9.77 -5.57 9.85 -5.38 9.96 
+-5.23 10.05 -5.05 10.13 -4.86 10.22 -4.69 10.3 -4.51 10.4 -4.34 10.45 -4.14 10.55 -3.95 10.61 
+-3.78 10.68 -3.6 10.74 -3.41 10.81 -3.21 10.87 -3.02 10.92 -2.84 10.95 -2.62 11.03 -2.46 11.07 
+-2.25 11.09 -2.06 11.13 -1.87 11.18 -1.67 11.21 -1.47 11.22 -1.28 11.26 -1.09 11.29 -0.89 11.28 
+-0.7 11.31 -0.5 11.33 0 0.3 f*
+1829.88 2906.6 0 -10.22 0.5 -11.33 0.7 -11.31 0.89 -11.28 1.09 -11.29 1.28 -11.26 1.47 -11.22 
+1.67 -11.21 1.87 -11.18 2.06 -11.13 2.25 -11.09 2.46 -11.07 2.62 -11.03 2.84 -10.95 3.02 -10.92 
+3.21 -10.87 3.41 -10.81 3.6 -10.74 3.78 -10.68 3.95 -10.61 4.14 -10.55 4.34 -10.45 4.51 -10.4 
+4.69 -10.3 4.86 -10.22 5.05 -10.13 5.23 -10.05 5.38 -9.96 5.57 -9.85 5.75 -9.77 5.9 -9.66 
+6.07 -9.57 6.25 -9.44 6.4 -9.34 6.58 -9.22 6.73 -9.12 6.9 -8.98 7.03 -8.85 7.2 -8.75 
+7.34 -8.61 7.5 -8.49 7.64 -8.36 7.79 -8.22 7.92 -8.07 8.08 -7.95 8.2 -7.79 8.36 -7.66 
+8.46 -7.51 8.62 -7.36 8.72 -7.2 8.86 -7.05 8.98 -6.91 9.09 -6.73 9.2 -6.59 9.33 -6.4 
+9.42 -6.25 9.55 -6.1 9.66 -5.93 9.74 -5.75 9.84 -5.58 9.96 -5.4 10.03 -5.23 10.13 -5.05 
+10.2 -4.88 10.3 -4.68 10.38 -4.52 10.46 -4.34 10.5 -4.14 10.61 -3.97 10.65 -3.78 10.75 -3.6 
+10.78 -3.41 10.85 -3.21 10.89 -3.04 10.96 -2.84 11 -2.63 11.04 -2.45 11.09 -2.26 11.11 -2.08 
+11.18 -1.86 11.18 -1.68 11.21 -1.48 11.25 -1.28 11.26 -1.09 11.28 -0.89 11.29 -0.7 11.3 -0.5 
+10.05 0 -10.05 0.26 -11.28 0.5 -11.29 0.7 -11.29 0.89 -11.26 1.09 -11.22 1.28 -11.22 1.48 
+-11.18 1.67 -11.16 1.87 -11.13 2.06 -11.09 2.26 -11.02 2.45 -11 2.65 -10.96 2.84 -10.89 3.02 
+-10.85 3.21 -10.77 3.41 -10.74 3.6 -10.66 3.78 -10.59 3.97 -10.52 4.14 -10.44 4.34 -10.37 4.52 
+-10.31 4.68 -10.2 4.88 -10.11 5.05 -10.05 5.23 -9.94 5.4 -9.83 5.58 -9.74 5.75 -9.66 5.91 
+-9.53 6.08 -9.44 6.27 -9.31 6.4 -9.2 6.58 -9.09 6.75 -8.98 6.88 -8.86 7.05 -8.72 7.21 
+-8.59 7.36 -8.47 7.51 -8.36 7.64 -8.2 7.81 -8.05 7.92 -7.95 8.07 -7.77 8.23 -7.64 8.35 
+-7.5 8.49 -7.34 8.59 -7.2 8.75 -7.04 8.86 -6.87 9 -6.73 9.09 -6.58 9.23 -6.4 9.33 
+-6.25 9.44 -6.08 9.55 -5.9 9.66 -5.73 9.76 -5.58 9.86 -5.4 9.94 -5.21 10.04 -5.06 10.14 
+-4.86 10.22 -4.69 10.31 -4.51 10.39 -4.34 10.46 -4.14 10.52 -3.95 10.62 -3.78 10.67 -3.61 10.75 
+-3.39 10.8 -3.21 10.85 -3.04 10.91 -2.82 10.96 -2.64 11.02 -2.43 11.05 -2.25 11.09 -2.06 11.13 
+-1.87 11.17 -1.67 11.2 -1.47 11.24 -1.28 11.25 -1.09 11.28 -0.89 11.29 -0.7 11.3 -0.5 11.31 
+-0.26 10.22 f*
+1829.88 2931.45 0 -24.84 0.26 -10.22 0.5 -11.31 0.7 -11.3 0.89 -11.29 1.09 -11.28 1.28 -11.25 
+1.47 -11.24 1.67 -11.2 1.87 -11.17 2.06 -11.13 2.25 -11.09 2.43 -11.05 2.64 -11.02 2.82 -10.96 
+3.04 -10.91 3.21 -10.85 3.39 -10.8 3.61 -10.75 3.78 -10.67 3.95 -10.62 4.14 -10.52 4.34 -10.46 
+4.51 -10.39 4.69 -10.31 4.86 -10.22 5.06 -10.14 5.21 -10.04 5.4 -9.94 5.58 -9.86 5.73 -9.76 
+5.9 -9.66 6.08 -9.55 6.25 -9.44 6.4 -9.33 6.58 -9.23 6.73 -9.09 6.88 -9 7.04 -8.86 
+7.2 -8.75 7.34 -8.59 7.5 -8.49 7.64 -8.35 7.77 -8.23 7.95 -8.07 8.05 -7.92 8.2 -7.81 
+8.36 -7.64 8.47 -7.51 8.59 -7.36 8.72 -7.21 8.86 -7.05 8.98 -6.88 9.09 -6.75 9.2 -6.58 
+9.31 -6.4 9.44 -6.27 9.53 -6.08 9.66 -5.91 9.74 -5.75 9.83 -5.58 9.94 -5.4 10.05 -5.23 
+10.11 -5.05 10.2 -4.88 10.31 -4.68 10.37 -4.52 10.44 -4.34 10.52 -4.14 10.59 -3.97 10.66 -3.78 
+10.74 -3.6 10.77 -3.41 10.85 -3.21 10.89 -3.02 10.96 -2.84 11 -2.65 11.02 -2.45 11.09 -2.26 
+11.13 -2.06 11.16 -1.87 11.18 -1.67 11.22 -1.48 11.22 -1.28 11.26 -1.09 11.29 -0.89 11.29 -0.7 
+11.28 -0.5 10.05 -0.26 25.15 0 10.05 0.26 11.29 0.5 11.28 0.7 11.29 0.89 11.27 1.09 
+11.24 1.28 11.2 1.48 11.19 1.67 11.16 1.87 11.11 2.06 11.09 2.26 11.05 2.45 10.98 2.65 
+10.96 2.84 10.89 3.02 10.85 3.21 10.79 3.41 10.72 3.6 10.66 3.78 10.59 3.97 10.53 4.14 
+10.43 4.34 10.38 4.52 10.3 4.68 10.2 4.88 10.11 5.05 10.05 5.23 9.94 5.4 9.83 5.58 
+9.74 5.75 9.66 5.91 9.53 6.08 9.44 6.27 9.31 6.4 9.2 6.58 9.09 6.75 8.98 6.88 
+8.85 7.05 8.73 7.21 8.59 7.36 8.46 7.51 8.36 7.64 8.21 7.81 8.05 7.92 7.94 8.07 
+7.77 8.23 7.64 8.35 7.5 8.49 7.34 8.59 7.21 8.75 7.03 8.86 6.88 9 6.72 9.09 
+6.58 9.23 6.4 9.33 6.25 9.44 6.08 9.55 5.91 9.66 5.75 9.76 5.55 9.86 5.4 9.94 
+5.21 10.04 5.05 10.14 4.86 10.22 4.69 10.31 4.51 10.39 4.35 10.46 4.14 10.52 3.95 10.62 
+3.77 10.67 3.61 10.75 3.38 10.8 3.21 10.85 3.04 10.91 2.82 10.96 2.65 11.02 2.43 11.05 
+2.25 11.09 2.06 11.13 1.87 11.17 1.67 11.2 1.48 11.24 1.28 11.25 1.09 11.28 0.89 11.29 
+0.7 11.3 0.49 11.31 0.26 10.22 0 24.84 -0.26 10.22 -0.49 11.3 -0.7 11.3 -0.89 11.29 
+-1.09 11.29 -1.28 11.24 -1.48 11.24 -1.67 11.2 -1.87 11.18 -2.06 11.13 -2.25 11.09 -2.43 11.07 
+-2.65 11 -2.82 10.96 -3.04 10.91 -3.21 10.85 -3.38 10.81 -3.61 10.74 -3.77 10.68 -3.95 10.61 
+-4.14 10.53 -4.35 10.46 -4.51 10.39 -4.69 10.3 -4.86 10.22 -5.05 10.13 -5.21 10.05 -5.4 9.94 
+-5.55 9.85 -5.75 9.77 -5.91 9.66 -6.08 9.55 -6.25 9.44 -6.4 9.33 -6.58 9.22 -6.72 9.12 
+-6.88 8.98 -7.03 8.86 -7.21 8.74 -7.34 8.62 -7.5 8.46 -7.64 8.36 -7.77 8.23 -7.94 8.07 
+-8.05 7.94 -8.21 7.79 -3.47 3.17 2.41 -2.54 1.88 -1.63 11.33 -11.74 11.34 -11.72 11.33 -11.74 
+11.33 -11.72 3.9 -5.08 5.14 -5.41 13.15 -17.51 13.17 -17.52 13.13 -17.49 -12.12 15.76 -12.11 15.73 
+-12.13 15.76 P
+-8.22 10.68 -6.66 6.98 -35.42 37.18 -9.03 9.46 -8.99 7.9 -2.49 2.19 -5.06 4.17 -13.76 11.31 
+-11.59 9.52 -0.89 0.68 -12.08 8.77 -12.07 8.79 -9.81 7.14 -6.08 3.93 -12.5 8.12 -12.5 8.09 
+-6.03 3.93 -1.26 0.74 -9.14 5.46 -7.81 4.04 -11.74 6.05 -11.76 6.05 -11.74 6.06 13.39 -6.81 
+13.39 -6.84 13.41 -6.83 2.86 -1.72 3.8 -1.95 -6.27 3.54 -9.94 5.41 -10.05 5.23 -10.11 5.05 
+-10.2 4.88 -10.3 4.69 -10.38 4.52 -10.43 4.34 -10.53 4.14 -10.59 3.97 -10.66 3.77 -10.72 3.61 
+-10.79 3.41 -10.85 3.21 -10.89 3.02 -10.96 2.84 -10.98 2.65 -11.05 2.45 -11.09 2.25 -11.11 2.06 
+-11.16 1.87 -11.19 1.67 -11.2 1.48 -11.24 1.3 -11.27 1.06 -11.29 0.89 -11.28 0.7 -11.29 0.49 
+-10.05 0.26 -25.15 0 -0.61 -0.02 0 -1.9 26.37 0 13.19 -0.55 13.17 -0.54 13.2 -1.09 
+13.2 -1.06 13.17 -1.65 13.17 -1.62 13.2 -2.17 3.15 -0.52 10.05 -1.67 13.18 -2.75 13.2 -2.76 
+13.2 -3.34 13.2 -3.32 11.26 -3.21 7.53 -2.35 7.54 -2.32 13.2 -4.55 13.2 -4.58 5.6 -2.22 
+7.59 -2.99 13.2 -5.23 5.12 -2.17 10.61 -4.82 10.61 -4.79 26.39 -13.29 6.49 -3.52 9.94 -5.66 
+9.92 -5.67 12.11 -7.55 12.09 -7.55 2.17 -1.41 13.2 -9.2 13.19 -9.22 8.75 -6.54 8.81 -6.96 
+8.81 -6.95 7.42 -6.25 7.4 -6.25 11.54 -10.28 8.54 -8.07 8.53 -8.05 9.31 -9.33 1.15 -1.22 
+6.9 -7.33 8.05 -8.53 10.27 -11.54 12.5 -14.84 13.89 -17.67 6.53 -8.75 9.21 -13.21 9.18 -13.22 
+1.43 -2.17 3.88 -6.23 3.64 -5.88 2.96 -4.71 4.6 -7.4 1.5 -2.65 9.81 -17.23 3.49 -6.51 
+13.26 -26.43 9.62 -21.24 2.17 -5.12 10.43 -26.43 9.11 -26.41 4.64 -15.1 3.21 -11.29 6.66 -26.41 
+5.49 -26.41 4.38 -26.41 3.23 -26.39 2.17 -26.41 1.09 -26.41 0 -26.41 -1.09 -26.39 -2.17 -26.43 
+-3.23 -26.39 -4.38 -26.41 -5.49 -26.41 -6.66 -26.41 -3.21 -11.28 -4.64 -15.11 -9.11 -26.41 -10.43 -26.43 
+-2.17 -5.12 -9.62 -21.25 -13.26 -26.43 -3.49 -6.49 -11.31 -19.9 -7.55 -12.11 -7.53 -12.11 -1.43 -2.17 
+-9.2 -13.21 -9.18 -13.22 -6.53 -8.74 -13.89 -17.67 -12.5 -14.84 -10.27 -11.55 -8.05 -8.53 -8.05 -8.55 
+-9.31 -9.33 -8.53 -8.05 -8.54 -8.07 -11.54 -10.27 -7.4 -6.27 -7.42 -6.25 -8.81 -6.95 -8.81 -6.96 
+-8.75 -6.54 -13.19 -9.22 -13.2 -9.2 -2.17 -1.41 -12.09 -7.55 -12.11 -7.55 -9.92 -5.66 -9.94 -5.66 
+-6.49 -3.51 -26.39 -13.29 -10.61 -4.79 -10.61 -4.82 -5.12 -2.17 -13.2 -5.23 -13.19 -5.2 -13.2 -4.58 
+-13.2 -4.56 -15.06 -4.64 -11.26 -3.23 -13.2 -3.32 -13.2 -3.34 -13.2 -2.75 -13.18 -2.76 -13.2 -2.2 
+-13.2 -2.16 -26.34 -3.26 -26.39 -2.17 -13.17 -0.54 -13.19 -0.54 -26.37 0 -13.2 0.54 -13.17 0.54 
+-13.2 1.09 -13.17 1.08 -13.2 1.63 -13.17 1.63 -13.2 2.16 -13.2 2.2 -13.17 2.76 -13.19 2.75 
+-13.2 3.34 -13.2 3.32 -11.27 3.23 -15.06 4.64 -13.2 4.56 -13.19 4.58 -13.2 5.2 -13.2 5.23 
+-5.12 2.17 -10.62 4.82 -10.61 4.79 -26.39 13.29 -6.49 3.51 -9.94 5.66 -9.92 5.66 -12.11 7.55 
+-12.09 7.55 -2.17 1.41 -13.2 9.22 -13.19 9.2 -8.75 6.54 -8.81 6.96 -8.81 6.95 -7.42 6.27 
+-7.4 6.25 -11.54 10.27 -8.53 8.07 -8.51 8.05 -9.33 9.33 -8.05 8.55 -8.05 8.53 -10.26 11.55 
+-12.5 14.84 p
+-13.89 17.67 -6.54 8.74 -9.18 13.22 -9.2 13.21 -1.43 2.17 -7.53 12.11 -7.55 12.11 -11.31 19.9 
+-3.5 6.49 -13.25 26.43 -9.62 21.25 -2.17 5.12 -10.44 26.43 -9.12 26.41 -4.64 15.11 -3.21 11.28 
+-6.66 26.41 -5.49 26.41 -4.38 26.41 -3.24 26.39 -2.17 26.43 -1.08 26.39 0 26.41 1.08 26.41 
+2.17 26.41 3.24 26.39 4.38 26.41 5.49 26.41 6.66 26.41 3.21 11.29 4.64 15.1 9.12 26.41 
+10.44 26.43 2.17 5.13 9.62 21.24 13.25 26.43 3.5 6.51 11.31 19.88 7.55 12.11 7.53 12.11 
+1.43 2.17 9.2 13.22 9.18 13.21 6.54 8.75 13.89 17.67 12.5 14.84 10.26 11.54 8.05 8.53 
+8.05 8.55 9.33 9.33 8.51 8.05 8.53 8.07 6.45 5.73 5.1 4.55 7.4 6.25 7.42 6.25 
+8.81 6.95 8.81 6.96 8.75 6.54 13.19 9.22 13.2 9.2 2.17 1.41 12.11 7.58 12.09 7.53 
+9.92 5.67 9.48 5.4 0.45 0.26 6.49 3.52 26.39 13.29 10.61 4.79 10.62 4.82 5.12 2.17 
+13.2 5.23 13.2 5.21 13.19 4.58 13.2 4.55 7.54 2.32 7.53 2.35 11.27 3.21 13.22 3.34 
+13.17 3.32 13.19 2.76 13.17 2.75 13.2 2.19 13.2 2.17 2.41 0.3 10.77 1.35 13.2 1.63 
+13.17 1.06 13.2 1.09 13.2 0.54 13.17 0.55 0 1.9 -9.44 -0.24 -11.28 -0.49 -11.29 -0.7 
+-11.29 -0.89 -11.26 -1.06 -11.22 -1.3 -11.22 -1.48 -11.18 -1.67 -11.16 -1.87 -11.13 -2.06 -11.09 -2.25 
+-11.02 -2.45 -11 -2.65 -10.96 -2.84 -10.89 -3.02 -10.85 -3.21 -10.77 -3.41 -10.74 -3.61 -10.66 -3.77 
+-10.59 -3.97 -10.52 -4.14 -10.44 -4.34 -10.37 -4.52 -10.31 -4.69 -10.2 -4.88 -10.11 -5.05 -10.05 -5.23 
+-9.94 -5.41 -9.83 -5.56 -9.74 -5.75 -9.66 -5.92 -9.53 -6.07 -9.44 -6.27 -9.31 -6.4 -9.2 -6.58 
+-9.09 -6.75 -8.98 -6.87 -8.86 -7.05 -8.72 -7.2 -8.59 -7.36 -8.47 -7.51 -8.36 -7.64 -8.2 -7.79 
+-8.05 -7.94 -7.95 -8.07 -7.77 -8.23 -7.64 -8.36 -7.5 -8.46 -7.34 -8.62 -7.2 -8.74 -7.04 -8.86 
+-6.87 -8.98 -6.73 -9.12 -6.58 -9.22 -6.4 -9.33 -6.25 -9.44 -6.08 -9.55 -5.9 -9.66 -5.73 -9.77 
+-5.58 -9.85 -5.4 -9.94 -5.21 -10.05 -5.06 -10.13 -4.86 -10.22 -4.69 -10.3 -4.51 -10.39 -4.34 -10.46 
+-4.14 -10.53 -3.95 -10.61 -3.78 -10.68 -3.61 -10.74 -3.39 -10.81 -3.21 -10.85 -3.04 -10.91 -2.82 -10.96 
+-2.64 -11 -2.43 -11.07 -2.25 -11.09 -2.06 -11.13 -1.87 -11.18 -1.67 -11.2 -1.47 -11.24 -1.28 -11.24 
+-1.09 -11.29 -0.89 -11.29 -0.7 -11.3 -0.5 -11.3 -0.26 -10.22 p f*
+1829.88 2941.36 0 -9.91 0.26 10.22 0.5 11.3 0.7 11.3 0.89 11.29 1.09 11.29 1.28 11.24 
+1.47 11.24 1.67 11.2 1.87 11.18 2.06 11.13 2.25 11.09 2.43 11.07 2.64 11 2.82 10.96 
+3.04 10.91 3.21 10.85 3.39 10.81 3.61 10.74 3.78 10.68 3.95 10.61 4.14 10.53 4.34 10.46 
+4.51 10.39 4.69 10.3 4.86 10.22 5.06 10.13 5.21 10.05 5.4 9.94 5.58 9.85 5.73 9.77 
+5.9 9.66 6.08 9.55 6.25 9.44 6.4 9.33 6.58 9.22 6.73 9.12 6.88 8.98 7.04 8.86 
+7.2 8.74 7.34 8.62 7.5 8.46 7.64 8.36 7.77 8.23 7.95 8.07 8.05 7.94 8.2 7.79 
+8.36 7.64 8.47 7.51 8.59 7.36 8.72 7.2 8.86 7.05 8.98 6.88 9.09 6.75 9.2 6.58 
+9.31 6.4 9.44 6.27 9.53 6.07 9.66 5.92 9.74 5.75 9.83 5.56 9.94 5.41 10.05 5.23 
+10.11 5.05 10.2 4.88 10.31 4.69 10.37 4.52 10.44 4.34 10.52 4.14 10.59 3.97 10.66 3.77 
+10.74 3.61 10.77 3.41 10.85 3.21 10.89 3.02 10.96 2.84 11 2.65 11.02 2.45 11.09 2.25 
+11.13 2.06 11.16 1.87 11.18 1.67 11.22 1.48 11.22 1.3 11.26 1.06 11.29 0.89 11.29 0.7 
+11.28 0.49 9.44 0.24 0.61 0.02 -10.05 0 -11.3 -0.5 -11.29 -0.7 -11.28 -0.89 -11.26 -1.09 
+-11.25 -1.28 -11.21 -1.48 -11.18 -1.67 -11.18 -1.87 -11.11 -2.06 -11.09 -2.25 -11.04 -2.46 -11 -2.64 
+-10.96 -2.84 -10.89 -3.02 -10.85 -3.23 -10.78 -3.41 -10.75 -3.58 -10.65 -3.79 -10.61 -3.95 -10.5 -4.16 
+-10.46 -4.34 -10.37 -4.52 -10.3 -4.69 -10.2 -4.88 -10.13 -5.05 -10.03 -5.23 -9.96 -5.41 -9.84 -5.58 
+-9.74 -5.75 -9.66 -5.92 -9.55 -6.08 -9.42 -6.27 -9.33 -6.4 -9.2 -6.58 -9.09 -6.75 -8.98 -6.9 
+-8.86 -7.05 -8.72 -7.21 -8.62 -7.36 -8.46 -7.51 -8.36 -7.64 -8.2 -7.81 -8.08 -7.95 -7.92 -8.07 
+-7.79 -8.23 -7.64 -8.36 -7.5 -8.48 -7.34 -8.62 -7.2 -8.75 -7.03 -8.86 -6.9 -8.98 -6.73 -9.11 
+-6.58 -9.23 -6.4 -9.33 -6.25 -9.45 -6.07 -9.57 -5.9 -9.66 -5.75 -9.77 -5.57 -9.86 -5.38 -9.96 
+-5.23 -10.05 -5.05 -10.13 -4.86 -10.22 -4.69 -10.31 -4.51 -10.39 -4.34 -10.46 -4.14 -10.55 -3.95 -10.61 
+-3.78 -10.68 -3.6 -10.74 -3.41 -10.8 -3.21 -10.87 -3.02 -10.91 -2.84 -10.96 -2.62 -11.02 -2.46 -11.04 
+-2.25 -11.11 -2.06 -11.13 -1.87 -11.18 -1.67 -11.21 -1.47 -11.22 -1.28 -11.26 -1.09 -11.27 -0.89 -11.3 
+-0.7 -11.3 -0.5 -11.33 0 -0.31 f*
+1829.88 2972.35 0 -30.99 0 0.31 0.5 11.33 0.7 11.3 0.89 11.3 1.09 11.27 1.28 11.26 
+1.47 11.22 1.67 11.21 1.87 11.18 2.06 11.13 2.25 11.11 2.46 11.04 2.62 11.02 2.84 10.96 
+3.02 10.91 3.21 10.88 3.41 10.8 3.6 10.74 3.78 10.68 3.95 10.61 4.14 10.55 4.34 10.46 
+4.51 10.39 4.69 10.31 4.86 10.22 5.05 10.13 5.23 10.05 5.38 9.96 5.57 9.86 5.75 9.77 
+5.9 9.66 6.07 9.57 6.25 9.45 6.4 9.33 6.58 9.23 6.73 9.11 6.9 8.98 7.03 8.86 
+7.2 8.75 7.34 8.62 7.5 8.48 7.64 8.36 7.79 8.23 7.92 8.07 8.08 7.95 8.2 7.81 
+8.36 7.64 8.46 7.51 8.62 7.36 8.72 7.21 8.86 7.05 8.98 6.9 9.09 6.75 9.2 6.58 
+9.33 6.4 9.42 6.27 9.55 6.08 9.66 5.92 9.74 5.75 9.84 5.58 9.96 5.41 10.03 5.23 
+10.13 5.05 10.2 4.88 10.3 4.69 10.38 4.52 10.46 4.34 10.5 4.16 10.61 3.95 10.65 3.79 
+10.75 3.58 10.78 3.41 10.85 3.23 10.89 3.02 10.96 2.84 11 2.64 11.04 2.46 11.09 2.25 
+11.11 2.06 11.18 1.87 11.18 1.67 11.21 1.48 11.25 1.28 11.26 1.09 11.28 0.89 11.29 0.7 
+11.3 0.5 0.15 0 -30.8 0 -4.94 -0.39 -8.12 -0.67 -13.29 -1.65 -13.28 -1.63 -13.26 -2.21 
+-13.26 -2.2 -13.28 -2.78 -13.26 -2.75 -13.26 -3.36 -13.29 -3.36 -11.37 -3.23 -15.19 -4.69 -13.26 -4.57 
+-13.26 -4.6 -13.26 -5.25 -13.26 -5.23 -5.23 -2.23 -10.66 -4.84 -10.68 -4.82 -26.52 -13.37 -6.59 -3.55 
+-19.97 -11.37 -12.12 -7.59 -12.16 -7.58 -2.26 -1.5 -13.26 -9.24 -13.24 -9.25 -8.85 -6.62 -17.71 -13.97 
+-14.93 -12.59 -11.61 -10.35 -8.57 -8.1 -8.57 -8.12 -9.4 -9.4 -16.19 -17.18 -10.35 -11.63 -12.57 -14.96 
+-13.95 -17.7 -6.62 -8.86 -9.22 -13.28 -9.22 -13.26 -1.5 -2.28 -7.57 -12.16 -7.57 -12.17 -11.37 -19.99 
+-3.56 -6.6 -13.32 -26.57 -9.66 -21.35 -2.21 -5.23 -10.48 -26.56 -9.16 -26.56 -4.69 -15.2 -3.23 -11.41 
+-6.71 -26.57 -5.53 -26.56 -4.41 -26.56 -3.28 -26.58 -1.06 -13.11 f*
+1832.9 2879.43 -1.08 26.39 0 26.41 1.08 26.41 2.17 26.41 3.24 26.39 4.38 26.41 5.49 26.41 
+6.66 26.41 3.21 11.29 4.64 15.1 9.12 26.41 10.44 26.43 2.17 5.13 9.62 21.24 13.25 26.43 
+3.5 6.51 11.31 19.88 7.55 12.11 7.53 12.11 1.43 2.17 9.2 13.22 9.18 13.21 6.54 8.75 
+13.89 17.67 12.5 14.84 10.26 11.54 8.05 8.53 8.05 8.55 9.33 9.33 8.51 8.05 8.53 8.07 
+6.45 5.73 0 -233.89 -5.04 -5.64 1.06 -5.79 4.95 5.64 -0.98 5.79 0 233.89 5.1 4.55 
+7.4 6.25 7.42 6.25 8.81 6.95 8.81 6.96 8.75 6.54 13.19 9.22 13.2 9.2 2.17 1.41 
+12.11 7.58 12.09 7.53 9.92 5.67 9.48 5.4 0 -58.44 -7.03 -2.25 -11.32 -8.99 7.11 2.52 
+11.24 8.72 0 58.44 0.45 0.26 6.49 3.52 26.39 13.29 10.61 4.79 10.62 4.82 5.12 2.17 
+13.2 5.23 13.2 5.21 13.19 4.58 13.2 4.55 7.54 2.32 7.53 2.35 11.27 3.21 13.22 3.34 
+13.17 3.32 13.19 2.76 13.17 2.75 13.2 2.19 13.2 2.17 2.41 0.3 0 -139.3 -5.99 -1.87 
+-5.88 -2 1 -0.74 2.39 -1.8 -5.62 -1.99 -4.27 -1.63 -1.24 -0.5 0.61 -0.39 3.08 -2.02 
+-5.25 -2.13 -5.14 -2.21 -5.05 -2.3 -1.91 -0.89 -3.06 -1.48 0.96 -0.45 3.34 -1.65 2.45 1.2 
+2.34 1.08 2.95 -1.62 1.13 -0.63 2.32 -1.34 1.71 -0.98 -2.52 -1.15 -1.98 -0.96 -4.42 -2.16 
+-4.3 -2.24 -2.45 -1.32 -1.76 -0.98 0.76 -0.32 1.15 -0.52 2.3 -1 0.35 -0.17 -3.99 -2.26 
+-3.88 -2.34 -1.07 -0.65 -2.73 -1.74 -3.19 -2.11 -0.5 -0.34 -0.7 0.22 -0.76 0.26 -1.56 0.48 
+-0.78 0.25 -0.78 0.24 -0.5 0.16 -2 -1.41 -1.7 -1.22 -0.74 -0.52 -1.58 -1.17 -1.29 -0.96 
+-0.37 -0.28 -1.97 -1.52 -2.3 -1.82 -2.24 -1.84 -0.96 0.19 -2.3 0.43 -1.17 0.22 -1.11 0.21 
+-1 -0.87 -1.04 -0.89 -1.04 -0.91 -0.28 -0.24 -0.26 0.05 -5.1 0.76 -0.28 0.04 -3.32 -3.08 
+-0.3 -0.26 -2.91 -2.84 -3.69 0.35 -2.15 0.2 -1.61 -1.63 -1.56 -1.62 -2.62 0.13 -3.32 0.18 
+-3.08 -3.41 -6.04 0.09 -3.02 -3.56 -6.14 -0.13 -6.14 -0.24 -2.97 -3.82 -2.8 -3.84 -6.27 -0.59 
+-6.27 -0.71 -6.29 -0.8 -2.78 -4.21 -2.58 -4.23 -6.38 -1.15 -2.45 -4.34 -6.38 -1.41 -6.4 -1.49 
+-6.4 -1.65 -2.3 -4.67 -6.41 -1.87 -6.4 -2 -6.4 -2.12 -6.41 -2.23 -6.4 -2.39 -6.4 -2.49 
+-6.38 -2.63 -6.37 -2.75 -6.36 -2.91 -1.97 -5.61 -6.32 -3.13 -1.73 -5.66 -6.27 -3.37 -6.23 -3.5 
+-1.43 -5.81 -6.17 -3.71 -1.17 -5.82 -6.07 -3.93 -0.93 -5.84 -5.96 -4.14 -5.95 -4.28 -0.59 -5.9 
+-5.84 -4.47 -5.77 -4.58 -0.26 -5.95 -5.64 -4.78 0 -5.9 -5.51 -4.97 -5.46 -5.08 0.37 -5.9 
+-5.32 -5.25 0.61 -5.84 5.25 5.3 0.71 -5.71 0.89 -5.62 -5.08 -5.34 -5.01 -5.45 1.23 -5.58 
+-4.86 -5.58 1.45 -5.49 -4.69 -5.7 -4.6 -5.8 1.76 -5.41 -4.45 -5.92 -4.36 -6.01 -4.28 -6.12 
+2.2 -5.29 -4.11 -6.21 2.39 -5.19 2.52 -5.1 -3.84 -6.27 -3.75 -6.36 2.8 -4.95 2.95 -4.86 
+3.04 -4.77 -3.43 -6.38 3.26 -4.64 3.34 -4.55 3.47 -4.45 3.56 -4.39 -3.06 -6.33 3.73 -4.28 
+-2.91 -6.38 3.91 -4.15 3.99 -4.05 4.11 -3.97 -2.65 -6.36 -2.52 -6.41 4.28 -3.84 -2.39 -6.4 
+-2.28 -6.47 P
+4.46 -3.69 4.59 -3.62 -2.11 -6.42 -2 -6.46 4.75 -3.47 4.8 -3.39 4.9 -3.32 4.95 -3.25 
+-1.71 -6.36 5.05 -3.14 -1.58 -6.36 -1.52 -6.38 -1.41 -6.4 -1.32 -6.45 -1.23 -6.47 -5.26 2.96 
+-1.17 -6.54 -1.08 -6.58 -5.25 2.91 -1.02 -6.65 -0.91 -6.66 -0.8 -6.68 -0.71 -6.7 -0.61 -6.75 
+-5.34 2.69 -0.54 -6.82 -0.42 -6.82 5.36 -2.58 -0.3 -6.79 5.44 -2.46 -0.19 -6.74 -0.09 -6.77 
+0.02 -6.77 0.13 -6.79 5.53 -2.17 0.24 -6.73 0.32 -6.75 5.6 -1.99 0.43 -6.71 0.55 -6.68 
+5.64 -1.85 0.66 -6.64 5.68 -1.76 0.74 -6.57 5.73 -1.68 0.82 -6.5 5.75 -1.59 0.93 -6.46 
+5.8 -1.5 0.98 -6.38 1.11 -6.4 1.2 -6.38 1.28 -6.38 1.37 -6.38 1.5 -6.36 1.56 -6.34 
+1.7 -6.34 1.78 -6.34 1.87 -6.31 -5.55 0.91 2.02 -6.34 2.11 -6.34 2.23 -6.31 2.32 -6.32 
+2.43 -6.27 2.54 -6.25 2.64 -6.23 -5.2 0.48 2.8 -6.25 2.9 -6.23 -5.03 0.34 3.08 -6.25 
+3.19 -6.25 3.3 -6.18 3.41 -6.16 3.54 -6.14 3.64 -6.08 4.67 -0.02 3.69 -6.02 3.8 -5.95 
+3.91 -5.9 -4.45 -0.14 4.1 -5.92 -4.29 -0.19 4.29 -5.93 4.41 -5.86 4.54 -5.79 4.64 -5.76 
+4.78 -5.7 4.88 -5.62 5.01 -5.55 3.71 0.52 3.75 0.48 4.95 -5.43 5.06 -5.36 3.63 0.54 
+3.71 0.52 4.96 -5.23 3.67 0.52 3.73 0.48 3.78 0.48 -4.71 5.14 -3.86 -0.46 -3.82 -0.45 
+-4.78 5.25 -4.67 5.32 -4.53 5.38 -4.45 5.43 -4.34 5.47 4.25 0.28 -4.15 5.49 4.39 0.22 
+-3.95 5.49 -3.87 5.55 -3.73 5.58 -3.64 5.62 -3.55 5.67 4.82 0 -3.37 5.64 4.95 -0.07 
+-3.21 5.64 -3.11 5.69 5.1 -0.18 -2.95 5.67 -2.84 5.68 5.27 -0.26 5.34 -0.28 5.36 -0.3 
+-2.58 5.6 5.45 -0.32 -2.43 5.57 -2.36 5.6 -2.28 5.64 -2.19 5.64 11.45 -1 5.8 -0.5 
+-1.97 5.55 5.86 -0.52 -1.85 5.53 -1.76 5.54 5.99 -0.59 -1.67 5.54 6.08 -0.63 -1.54 5.52 
+6.12 -0.66 -1.43 5.52 -1.36 5.51 -1.31 5.51 -1.24 5.55 -1.16 5.56 6.31 -0.81 -1.06 5.54 
+6.38 -0.82 -0.99 5.51 6.44 -0.82 5.08 -0.65 0 -156.86 -4.43 -0.22 3.95 -5.12 4.32 0.24 
+-3.84 5.1 0 156.86 1.39 -0.18 6.51 -0.78 -0.85 5.42 6.55 -0.78 -0.78 5.4 6.6 -0.8 
+-0.69 5.42 -0.67 5.41 -0.59 5.45 6.68 -0.87 -0.54 5.43 -0.48 5.42 -0.43 5.45 -0.39 5.45 
+-0.35 5.47 -0.28 5.46 6.79 -0.98 -0.24 5.45 -0.2 5.46 6.81 -1 -0.13 5.45 6.84 -0.98 
+-0.09 5.45 -0.07 5.43 0 5.45 0.02 5.46 0.07 5.45 -6.86 1.09 -6.81 1.11 0.13 5.51 
+-6.8 1.17 0.18 5.53 -6.75 1.24 -6.73 1.28 -6.7 1.3 0.26 5.6 -6.67 1.39 -6.62 1.41 
+0.3 5.66 -6.58 1.48 0.39 5.66 -6.53 1.56 -6.49 1.61 -6.47 1.65 0.5 5.73 0.54 5.73 
+0.61 5.75 -6.38 1.75 0.69 5.76 0.74 5.75 -6.29 1.87 0.83 5.77 -6.23 1.93 0.92 5.77 
+-6.14 2.02 -6.12 2.06 -6.05 2.13 1.06 5.83 -2.3 0.85 -3.69 1.36 1.15 5.86 -2.06 0.78 
+-3.84 1.5 1.24 5.86 -5.82 2.37 1.34 5.88 -5.73 2.43 1.45 5.88 -5.64 2.54 -5.6 2.56 
+-5.54 2.64 -5.49 2.72 -5.41 2.75 1.72 5.99 -5.32 2.84 -5.25 2.93 -5.19 2.97 -1.84 -6.08 
+-5.16 3.02 p
+-5.12 3.09 -5.04 3.14 -1.89 -6.18 -1.82 -6.23 -5.05 3.14 -4.97 3.22 -4.93 3.29 -4.84 3.37 
+-4.78 3.43 2.06 6.38 -4.64 3.54 2.16 6.4 2.28 6.36 2.39 6.29 2.45 6.27 2.54 6.21 
+2.65 6.16 -4.23 3.8 2.78 6.14 -4.08 3.89 -2.84 -6.17 -4.05 3.95 -3.97 4.04 2.97 6.23 
+3.04 6.14 3.14 6.1 3.23 6.03 3.71 -4.1 3.26 5.95 3.34 5.9 -3.58 4.14 -3.5 4.23 
+-3.45 -5.92 -3.38 -5.99 -3.52 4.27 -3.36 -6.08 -3.47 4.37 -3.37 4.42 -3.25 4.52 -3.14 4.63 
+3.64 6.14 3.73 6.05 -2.89 4.73 3.89 5.97 3.99 5.92 4.06 5.82 4.14 5.75 4.23 5.64 
+4.32 5.58 4.38 5.49 4.47 5.41 4.54 5.34 2.24 -4.71 2.32 -4.62 4.5 5.27 0.32 -0.63 
+0 -76.11 -3.3 -5.75 3.88 -3.84 3.99 -3.75 4.08 -3.69 4.17 -3.61 -3 -5.77 4.32 -3.52 
+-2.84 -5.82 4.45 -3.43 4.51 -3.38 2.73 5.77 -4.46 3.38 -4.38 3.47 2.91 5.75 -4.23 3.54 
+3.06 5.73 -4.1 3.63 -4.02 3.69 -3.93 3.75 -3.84 3.84 0 76.11 2.06 -3.91 2.52 -4.45 
+2.63 -4.36 2.75 -4.3 2.86 -4.21 4.17 5.25 2.91 -4.12 3.02 -4.05 -4.06 -5.28 3.18 -3.99 
+3.27 -3.93 3.39 -3.84 -3.78 -5.38 -3.71 -5.42 -3.62 -5.47 3.67 -3.8 -3.47 -5.53 3.82 -3.69 
+3.41 5.54 3.5 5.46 1.04 1.59 0 -67.3 -2.54 -5.77 -2.47 -5.82 4.86 -3.14 4.92 -3.06 
+4.99 -3 2.3 5.77 -4.95 3.02 2.45 5.75 -4.82 3.11 -4.75 3.14 0 67.3 2.54 3.84 
+-3.62 3.71 3.71 5.38 3.77 5.32 3.85 5.25 3.9 5.21 3.36 -3.69 3.93 5.17 3.39 -3.61 
+3.47 -3.51 3.84 5.12 3.49 -3.45 3.86 5.08 3.52 -3.36 3.84 5.04 -3.45 3.37 3.96 4.99 
+4.04 4.93 3.32 -3.32 4.03 4.88 3.32 -3.25 4.02 4.88 4.1 4.79 3.25 -3.14 3.34 -3.08 
+4.02 4.8 4.05 4.75 3.28 -2.97 4.06 4.71 3.3 -2.89 3.21 3.73 0.82 0.96 1.54 -1.33 
+1.76 -1.5 3.34 -2.78 -3.88 -4.73 3.49 -2.73 3.59 -2.69 3.75 4.79 3.56 -2.61 3.63 -2.56 
+3.66 4.8 3.63 -2.48 3.64 4.78 -2.39 1.63 -1.17 0.82 -3.47 2.49 -3.43 2.56 -3.36 2.61 
+1.73 2.02 2.26 2.63 4.04 4.58 1.15 1.28 2.95 3.26 4.14 4.49 3.06 -2.5 3.13 -2.45 
+3.19 -2.41 3.23 -2.34 2.93 -2.04 0.39 -0.26 0.34 -0.24 3.02 -2.02 -1.24 -1.56 -2.45 -3.11 
+-3.64 -4.69 -3.52 2.3 -0.11 -0.15 -3.56 -4.55 3.6 -2.32 3.82 -2.39 3.54 -2.13 3.77 -2.17 
+-3.32 -4.82 3.88 -2.14 3.26 4.84 -3.82 2.13 1.09 1.59 2.28 3.21 3.41 4.77 -1.3 0.76 
+-2.3 1.37 -3.58 2.17 3.62 4.68 0.26 0.35 3.41 4.29 3.71 4.6 3.34 -2.1 2.13 2.67 
+1.54 1.91 -3.23 2.08 3.8 4.51 -3.11 2.11 3.93 4.45 -2.97 2.11 -2.93 2.15 4.14 4.34 
+-1.3 1 -1.47 1.17 4.25 4.23 4.34 4.21 -2.59 2.13 4.45 4.12 -0.7 0.58 -1.74 1.55 
+4.55 4.01 -2.3 2.13 -4.64 -3.97 -2.3 2.2 -4.68 -3.97 -0.15 0.15 -2.17 2.13 -2.26 2.34 
+4.82 3.89 -2.13 2.32 4.95 3.78 4.99 3.73 -0.95 1.11 -0.96 1.15 5.1 3.61 3.75 2.6 
+1.39 0.96 1.78 -2.15 1.84 -2.12 1.89 -2.06 -4.95 -3.71 2.05 -2.11 2.49 1.95 2.37 1.8 
+2.02 -2.02 p
+4.82 3.75 4.89 3.69 4.93 3.64 1.82 -1.84 1.91 -1.8 4.79 3.69 1.87 -1.71 4.77 3.69 
+-1.26 1.17 -0.52 0.48 -1.43 1.39 -0.31 0.3 0.93 0.67 4.04 2.84 -1.61 1.68 -1.56 1.69 
+3.79 2.45 1.37 0.87 -1.34 1.56 -0.09 0.11 5.28 3.21 -1.3 1.6 -1.28 1.63 5.46 3.04 
+-1.02 1.37 -0.16 0.21 -1.08 1.61 -1.06 1.65 5.68 2.73 -0.93 1.58 -0.91 1.58 4.12 1.79 
+1.74 0.74 -0.8 1.54 3.43 1.39 2.49 0.98 -0.7 1.47 6.01 2.21 -0.43 1.04 -0.15 0.37 
+6.08 2.06 6.12 1.95 0.52 -1.23 0.55 -1.24 6.05 2.06 0.52 -1.15 6.04 2.06 6.08 1.98 
+6.08 1.88 0.41 -0.89 6.08 1.91 0.39 -0.8 6.06 1.93 0.36 -0.71 0.39 -0.7 0.41 -0.7 
+0.43 -0.67 1.95 0.71 0 -3.38 -5.55 -2.54 -0.59 0.72 -0.57 0.73 -0.54 0.76 -1.39 -0.58 
+-4.34 -1.8 -0.59 0.83 -0.56 0.84 -5.82 -2.3 -0.59 0.93 -5.84 -2.32 -4.42 -1.8 -1.39 -0.57 
+0.71 -1.09 -5.73 -2.54 -3.58 -1.61 -2.11 -0.98 0.87 -1.23 0.91 -1.19 0.96 -1.2 0.98 -1.17 
+1.02 -1.17 1.05 -1.15 1.08 -1.11 1.13 -1.11 -1.45 -0.91 -1.57 -1 -2.06 -1.33 1.24 -1.15 
+1.26 -1.13 -4.06 -2.82 -0.8 -0.57 1.09 -0.93 0.28 -0.24 -0.3 -0.24 -4.43 -3.28 -4.71 -3.55 
+-4.67 -3.62 1.67 -1.32 -3.62 -2.97 -0.91 -0.74 -4.49 -3.78 1.89 -1.39 -4.36 -3.86 -2.91 -2.65 
+-1.43 -1.28 -4.28 -3.97 -3.84 -3.64 -0.39 -0.37 0.14 -0.08 2.15 -1.46 -3.82 -3.82 -0.3 -0.28 
+0.13 -0.09 1.8 -1.17 0.48 -0.3 -1.28 -1.33 -2.69 -2.86 -1.85 -1.98 -2.11 -2.25 0.7 -0.43 
+1.41 -0.84 0.52 -0.3 -0.71 -0.79 -1.93 -2.21 -1.15 -1.33 0.93 -0.54 1.61 -0.91 0.2 -0.13 
+-0.25 -0.3 -2.07 -2.46 -1.35 -1.62 1.48 -0.8 1.39 -0.76 0.96 -0.52 1.97 -1.02 0.85 -0.46 
+2.11 -1.04 -0.48 -0.65 -1.83 -2.43 -0.89 -1.21 -0.18 -0.24 3.09 -1.48 0.32 0.46 0.85 1.2 
+1.73 2.39 0.37 0.5 0.67 -0.3 1.54 -0.74 0.82 -0.37 0.7 0.95 1.3 1.83 1.23 1.75 
+0.13 0.15 1.8 2.52 1.34 1.84 0.57 -0.25 0.74 -0.35 1.52 -0.7 0.09 -0.02 0.11 0.17 
+2.3 3.2 0.81 1.13 0.95 1.32 2.3 3.15 0.63 -0.28 0.89 -0.42 1.24 -0.54 1.52 2.13 
+1.11 1.54 0.56 0.8 0.48 -0.22 0.91 -0.39 1.31 -0.56 0.86 -0.35 1.85 -0.76 2.21 -0.89 
+0.52 -0.2 0.17 0.24 1.7 2.61 1.11 1.67 1.43 -0.57 1.24 -0.48 1.21 -0.43 1.5 -0.54 
+0.8 1.33 1.09 1.75 0.89 1.46 0.74 -0.26 0.86 -0.3 1.04 -0.37 2.72 4.53 2.56 -0.87 
+2.58 -0.82 2.6 -0.8 2.63 -0.79 2.5 -0.7 0.16 -0.04 1.34 -0.34 0 -10.44 -0.16 -0.36 
+-1.08 -2.63 -0.74 -1.76 -0.34 -0.87 -1.09 -2.64 -0.5 -1.24 3.1 -0.71 -1.06 -2.8 -0.76 -2 
+3.23 -0.7 2.02 -0.41 1.24 -0.24 3.26 -0.61 3.28 -0.56 2.73 -0.43 0.57 -0.09 0.02 0.11 
+0.7 2.6 0.37 1.31 0.21 0.86 1.2 -0.19 1.82 -0.26 0.19 -0.02 1.56 -0.21 1.65 -0.24 
+0.7 3.04 0.43 1.85 0.87 3.73 0.28 1.13 -2.36 0.33 -0.66 0.08 -2.99 0.46 -3 0.5 
+-1.06 0.2 -1.67 0.28 -0.24 0.05 -0.02 -0.09 -1.52 -4.73 -3.06 0.59 -0.17 0.04 -2.89 0.59 
+1.24 3.34 p
+0.54 1.43 -2.93 0.63 -2.91 0.67 0 10.44 1.32 -0.35 0.89 1.98 1.24 2.66 2.3 -0.56 
+0.28 -0.09 2.6 -0.61 1.15 2.75 0.81 1.91 1.97 4.64 2.41 -0.54 1.58 3.91 0.3 0.74 
+0.05 0.09 0.69 1.69 1.19 2.82 2.2 -0.46 1.82 4.6 2.08 -0.43 1.07 2.8 0.67 1.8 
+1.76 4.58 1.78 4.56 1.8 4.53 1.19 2.93 0.63 1.57 0.5 -0.09 1.02 -0.21 1.74 4.51 
+1.23 -0.24 0.18 -0.04 1.61 4.49 1.3 -0.22 1.3 -0.2 1.33 -0.19 1.25 4.51 -1.19 0.18 
+-2.34 0.39 -1.17 0.21 -1.15 0.24 -1.15 0.26 2.02 4.36 -1.02 0.24 -2.04 0.52 -1 0.3 
+2.54 4.21 -0.87 0.26 -0.87 0.29 -0.84 0.28 -0.85 0.3 3.06 4.04 -0.72 0.26 -3.16 -4 
+-0.83 0.33 -0.82 0.34 -0.8 0.35 -0.78 0.34 -0.8 0.37 -1.52 0.78 -0.74 0.39 -0.74 0.42 
+-1.43 0.86 -0.7 0.43 -4.43 -3.43 -0.76 0.52 -0.78 0.52 -0.29 0.21 -0.45 0.33 -0.72 0.55 
+-0.52 0.41 -0.2 0.15 -0.7 0.57 -0.67 0.56 -0.65 0.59 -0.65 0.61 -0.61 0.61 -0.61 0.63 
+-0.59 0.61 -0.57 0.65 -0.54 0.63 0 3.38 3.91 1.43 -0.39 0.61 -0.7 1.22 -0.32 0.63 
+-0.57 1.26 -0.26 0.63 -0.24 0.63 -0.22 0.66 -6.29 -1.41 -0.24 0.74 -0.2 0.73 -0.2 0.76 
+-0.15 0.74 -0.15 0.76 -0.11 0.73 -0.09 0.76 -0.06 0.76 -6.47 -0.74 -0.04 0.85 -0.05 0.87 
+0.02 0.84 -6.49 -0.54 0.02 0.95 0.04 0.96 -6.49 -0.46 -6.49 -0.54 0.08 1.15 0.13 1.15 
+0.15 1.16 0.22 1.15 6.46 0.15 0.22 1.04 -6.47 -0.04 -0.21 -1.15 -6.49 -0.24 -4.3 -0.22 
+-2.19 -0.13 0.26 1.34 0.31 1.35 0.32 1.35 -2.6 -0.04 -3.85 -0.09 0.39 1.43 0.46 1.43 
+0.5 1.43 4.8 -0.13 1.61 -0.05 0.52 1.33 6.36 -0.35 0.24 0 6.13 -0.43 0.49 1.13 
+0.55 1.13 -4.14 0.43 -2.15 0.2 -0.56 -1.21 -6.34 0.45 -0.82 0.05 -5.53 0.3 0.65 1.41 
+0.7 1.43 0.73 1.39 2.87 -0.28 3.36 -0.37 6.23 -0.74 0.69 1.2 0.73 1.19 0.79 1.17 
+-5.55 0.96 -0.52 0.08 0.87 1.29 0.32 0.46 0.59 0.8 0.97 1.24 -2.19 0.48 -3.76 0.76 
+1.09 1.34 -5.9 1.25 1.17 1.41 -5.86 1.28 -1.17 0.26 -4.71 0.93 1.37 1.61 -5.84 1.19 
+-1.43 -1.69 -5.95 1.02 -3.15 0.5 -2.82 0.43 1.56 1.91 1.63 1.89 1.69 1.87 1.76 1.82 
+1.82 1.82 -5.64 1.37 1.81 1.74 0.15 0.15 2.04 1.89 0.71 0.63 1.41 1.2 2.17 1.82 
+2.23 1.78 2.32 1.76 2.37 1.71 1.08 0.76 1.34 0.93 4.88 -2.15 2.39 1.57 2.45 1.52 
+2.5 1.48 2.56 1.45 2.52 1.35 0.09 0.06 2.68 1.35 2.71 1.32 2.78 1.28 2.82 1.24 
+3.69 -2.95 2.6 1.09 0.11 0.02 2.75 1.09 2.8 1.02 2.82 0.98 2.88 0.93 2.91 0.89 
+-2.78 3.32 3.07 0.89 3.15 0.84 3.17 0.78 -2.32 3.46 3.37 0.78 -0.07 0.11 -2.11 3.34 
+3.56 0.76 -2.02 3.45 -2.04 3.43 3.95 0.79 -1.89 3.4 -4.14 -0.8 -1.91 3.04 -0.2 0.28 
+-4.27 -0.93 -2.32 3.25 -2.34 3.21 -0.24 0.33 -2.13 2.82 -2.41 3.13 -1.93 2.48 -0.5 0.61 
+-5.16 -1.3 -5.1 -1.41 -2.84 2.91 -5.23 -1.58 -1.13 -0.35 -2.67 -0.89 -1.35 -0.43 -4.32 -1.47 
+-0.76 -0.29 p
+-4.99 -1.84 -0.65 0.45 -2.95 2.09 -0.93 0.65 -2.7 1.82 5.34 2.02 5.43 1.93 -3.32 2.58 
+5.68 1.91 5.79 1.8 -1.84 1.67 -1.15 1.02 0 139.3 10.77 1.35 13.2 1.63 13.17 1.06 
+13.2 1.09 13.2 0.54 13.17 0.55 26.37 0 13.19 -0.55 13.17 -0.54 13.2 -1.09 13.2 -1.06 
+13.17 -1.65 13.17 -1.62 13.2 -2.17 3.15 -0.52 0 -135.26 -0.71 -0.5 -2.76 -1.93 -6.05 2.08 
+-2.06 -1.61 -1.18 -0.95 -3.19 -2.62 -3.28 1.04 -2.52 0.76 -2.95 -2.75 -2.91 -2.8 -2.88 -2.84 
+-1.37 0.39 -3.93 1.07 -2.64 -2.95 -2.06 0.52 -3.11 0.78 -5.23 1.22 -5.25 1.11 -1.11 -1.72 
+-0.96 -1.45 -5.12 0.96 -1.91 0.34 -3.23 0.52 0.2 0.41 0.96 1.89 0.5 0.98 -5.41 0.8 
+-0.3 -0.69 -0.84 -1.89 -0.31 -0.71 -0.24 0.02 -4.99 0.63 -1.56 0.2 -3.69 0.39 -1.02 -3.43 
+-5.07 0.46 -5.1 0.34 -5.1 0.24 -0.41 -3.49 -4.91 0.13 -0.2 -3.54 -0.19 -3.56 -4.52 0.04 
+0 -3.62 -4.1 -0.02 -0.22 0 -4.32 -0.12 -4.32 -0.2 -4.3 -0.29 -0.35 1.61 -0.43 1.95 
+-4.47 -0.37 -4.46 -0.46 -4.43 -0.54 1.34 -3.52 -4.23 -0.59 1.55 -3.49 4.03 0.54 1.32 -3.56 
+2.84 0.35 1.02 0.11 3.88 0.39 3.93 0.32 0.74 -3.66 3.73 0.24 3.73 0.17 3.75 0.09 
+0.18 -3.73 3.57 0.04 2.13 -0.02 1.43 -0.02 -0.09 -1.84 -0.11 -1.91 3.38 -0.09 3.36 -0.15 
+3.37 -0.21 3.36 -0.26 3.34 -0.32 3.32 -0.39 1.28 3.66 2.54 -0.34 0 -128.66 -1.24 -0.37 
+-1.23 -0.34 -1.26 -0.33 -1.25 -0.3 -0.72 -0.18 -0.54 -0.13 1.98 -4.43 -0.93 -0.2 -0.45 -0.11 
+-1.41 -0.26 -0.45 -0.11 -0.96 -0.18 -1.41 -0.24 -1.43 -0.21 -0.67 -0.11 -0.76 -0.08 -1.46 -0.2 
+1.14 -4.58 1.56 0.2 0.76 -2.84 0.46 -1.76 1.32 0.2 0.34 0.04 1.67 0.26 0.5 -1.52 
+0.96 -3.06 1.78 0.3 1.76 0.3 1.78 0.35 -0.78 1.93 -1.02 2.61 1.63 0.35 1.63 0.37 
+1.61 0.39 -1.8 3.69 -0.37 0.74 -2.19 4.41 1.37 0.35 1.34 0.37 1.35 0.39 -0.35 0.61 
+-2.21 3.69 0 128.66 0.8 -0.09 0.15 -0.02 0.21 -0.04 3.25 -0.5 -1.62 -3.61 3.28 -0.56 
+3.23 -0.63 3.23 -0.67 3.19 -0.72 3.16 -0.78 2.43 3.32 0 -106.58 -0.7 -0.67 -0.74 -0.67 
+-0.74 -0.65 5 -3.12 0.82 0.74 0.8 0.74 0.78 0.73 5.19 -2.97 0.82 0.83 -5.25 2.91 
+-0.76 -0.76 -5.23 2.91 0 106.58 0.07 0.08 1.95 -0.52 1.34 -0.36 3.25 -0.96 -2.8 -3.3 
+-1.47 -1.73 -1.32 -1.58 2.91 -0.89 2.88 -0.93 2.82 -0.98 2.8 -1.02 2.76 -1.09 2.71 -1.11 
+2.69 -1.15 -3.82 -2.93 2.5 -1.13 2.45 -1.17 2.41 -1.2 2.35 -1.25 2.32 -1.26 2.25 -1.32 
+2.21 -1.35 -4.67 -2.43 -4.6 -2.49 -1.95 -1.06 -2.63 -1.5 -1.87 1.11 -1.89 1.07 -1.93 1.04 
+-1.98 1 -2.02 1 -3.93 -3.02 1.89 -0.89 1.84 -0.95 1.82 -0.96 1.78 -1 1.74 -1 
+1.69 -1.04 1.67 -1.08 1.63 -1.09 1.58 -1.11 5 2.28 -3.43 2.39 -1.78 1.15 3.49 1.84 
+1.2 0.63 4.71 2.41 4.77 2.35 2.11 -1.41 2.06 -1.45 1.99 -1.46 1.96 -1.5 1.89 -1.54 
+1.85 -1.54 1.78 -1.58 1.74 -1.59 1.64 -1.62 -5.62 -1.5 1.54 -1.56 -5.68 -1.48 1.41 -1.47 
+1.34 -1.48 p
+1.3 -1.5 5.88 1.2 1.3 -1.61 1.26 -1.62 1.19 -1.64 1.13 -1.65 1.06 -1.67 -6.16 -0.7 
+0.97 -1.58 0.93 -1.58 0.87 -1.59 0.8 -1.61 -5.99 -0.37 -0.33 -0.02 -6.29 -0.45 0.69 -1.43 
+0.65 -1.41 -6.36 -0.35 0.57 -1.34 0.52 -1.33 0.48 -1.32 0.43 -1.34 -6.19 -0.05 -0.24 0 
+-6.45 -0.15 0.37 -1.15 0.2 -0.72 0.11 -0.41 0.13 -0.55 0.15 -0.61 -3.06 0.02 -3.41 0.02 
+0.22 -1.04 0.04 -0.26 0.15 -0.81 0.15 -1.04 -1.3 0.07 -5.18 0.2 0.11 -0.95 -6.49 0.26 
+0.09 -0.86 0.07 -0.85 0.02 -0.87 6.49 -0.54 0 -0.96 6.49 -0.73 0 1.04 1.81 -0.19 
+4.68 -0.52 -0.02 1.13 -0.04 1.15 -0.09 1.15 -0.12 1.15 -0.16 1.16 -0.2 1.15 4.75 -0.18 
+0 -33.48 -0.85 -1.15 -0.87 -1.12 -0.91 -1.09 5.4 -2.88 0.97 1.17 0.96 1.2 0.91 1.19 
+-5.62 2.69 0 33.48 1.71 -0.06 0.5 -0.02 5.99 -0.33 0.21 -1.34 6.46 -0.52 0.18 -1.43 
+0.11 -1.43 0.09 -1.43 -6.49 0.8 0.04 -1.32 -0.02 -1.34 6.47 -1 -0.07 -1.41 -0.13 -1.41 
+6.4 -1.28 -0.17 -1.5 -0.24 -1.5 -0.24 -1.26 -0.04 -0.21 -0.33 -1.48 6.27 -1.71 -0.41 -1.54 
+-0.45 -1.54 -0.5 -1.54 -0.57 -1.5 -0.58 -1.52 6.04 -2.2 -0.7 -1.58 -0.76 -1.56 5.91 -2.43 
+-0.85 -1.63 -0.91 -1.58 -0.93 -1.58 -5.73 2.67 -0.93 -1.5 -0.98 -1.48 -1.02 -1.45 -1.09 -1.43 
+5.49 -2.95 5.42 -3.02 -0.2 -0.24 -1.06 -1.31 -1.29 -1.54 5.26 -3.21 5.2 -3.28 -0.78 -0.87 
+-0.71 -0.76 -0.26 -0.29 -1.29 -1.32 -5.05 3.4 -1.5 -1.52 -1.57 -1.5 -1.58 -1.47 -1.63 -1.45 
+3.85 -2.93 0.89 -0.67 4.71 -3.67 -1.84 -1.54 -1.89 -1.5 -4.54 3.77 -1.84 -1.41 -1.45 1.24 
+-3.04 2.54 -4.54 3.71 1.67 1.32 -3.99 3.11 -0.67 0.52 -4.71 3.55 -4.73 3.52 1.37 1.17 
+1.37 1.2 -0.24 0.15 -4.73 3.17 1.24 1.15 1.2 1.17 1.17 1.2 1.13 1.21 -5.32 3.02 
+-1.05 -1.15 -5.27 3.04 -1 -1.07 -1.04 -1.04 5.1 -3.14 -1.15 -1.11 -1.17 -1.06 4.91 -3.34 
+-1.31 -1.11 -0.61 -0.5 -0.71 -0.61 4.69 -3.5 -1.45 -1.12 4.58 -3.62 -1.56 -1.17 -0.02 0 
+-1.58 -1.13 4.34 -3.77 4.32 -3.82 1.8 1.24 1.73 1.26 4.45 -3.78 1.41 -1.2 3 -2.63 
+-1.91 -1.37 -1.97 -1.32 -2 -1.3 4.1 -4.02 4.05 -4.06 -2.21 -1.34 -2.26 -1.32 -2.3 -1.3 
+-3.78 4.16 -2.23 -1.21 -2.29 -1.2 3.61 -4.25 0.74 -0.89 2.82 -3.41 -2.49 -1.21 -2.52 -1.21 
+-2.67 3.49 -0.7 0.89 -2.48 -1.15 -3.32 4.37 -2.39 -1.07 -2.43 -1.04 -3.15 4.41 -2.37 -0.98 
+-2.36 -0.93 -2.41 -0.91 -2.43 -0.86 -2.8 4.46 -2.34 -0.8 -2.39 -0.78 -2.61 4.49 -4.6 -1.43 
+-0.11 -0.02 -2.24 -0.63 -2.34 -0.63 -2.36 -0.61 1.47 -3.3 0.61 -1.32 -0.98 -0.24 -1.52 -0.37 
+-2.5 -0.57 -0.02 0 -2.52 -0.52 -1.75 -0.37 -0.76 -0.13 0.17 -0.52 0.85 -2.45 0.61 -1.76 
+-1.02 -0.19 -1.41 -0.24 -2.14 -0.39 -0.74 -0.11 -2.69 -0.41 1.3 -4.79 0.21 -0.8 0.61 -2.28 
+0.46 -1.71 -0.97 -0.15 -1.3 -0.17 -0.63 -0.09 0.34 -1.41 0.68 -2.88 0.13 -0.54 -0.24 -0.04 
+-1.26 -0.15 -1.28 -0.16 -0.24 -0.04 0.22 -1 0.83 -3.86 -1.76 -0.21 -1.37 -0.14 0.91 -4.9 
+-2.54 -0.26 p
+-0.69 -0.06 0.17 -1.11 0.63 -3.82 -3.23 -0.29 -0.13 0 0.02 -0.04 0.58 -4.17 0.11 -0.73 
+-1.19 -0.09 -2.19 -0.18 -0.09 0 -1.67 -0.11 -1.73 -0.11 -0.07 0 0.02 -0.04 0.13 -1.35 
+0.26 -2.74 0.09 -0.84 -0.55 -0.02 -0.89 -0.07 -1.73 -0.08 -0.39 -0.02 0.39 -4.97 0.37 -5.01 
+1 0.04 1.28 0.07 1.3 0.06 0.2 0.02 0.02 -0.34 0.43 -4.43 0.02 -0.24 0.46 -5.04 
+3.95 0.24 0.56 -5.06 4.04 0.3 0.63 -5.05 1.26 -10.16 0.61 -5.1 -4.41 -0.3 -4.38 -0.24 
+0.41 -5.12 -4.47 -0.21 -4.49 -0.15 -4.52 -0.13 -0.17 5.12 -4.41 -0.06 -4.41 -0.02 0 5.1 
+-4.34 0.02 0.08 5.1 -4.23 0.06 0.17 5.08 0.2 5.08 4.06 -0.06 0.09 5.05 -3.97 0.07 
+-3.97 0.11 -3.95 0.15 -3.95 0.2 -0.48 -5.06 4.06 -0.19 -0.37 -5.06 -0.35 -5.08 -4.23 0.2 
+-4.23 0.26 -4.21 0.29 -0.61 -5.08 -4.3 0.34 -0.71 -5.1 -0.67 -5.1 -0.67 -5.12 4.55 -0.35 
+0.59 5.13 4.47 -0.31 4.49 -0.26 4.47 -0.21 4.51 -0.15 -0.52 -10.29 4.66 -0.11 0.18 5.14 
+4.58 -0.09 4.6 -0.02 0 -10.28 -4.75 0.02 -0.09 -5.16 -4.84 0.06 -4.82 0.13 -4.82 0.15 
+-0.33 -5.16 4.91 -0.18 4.91 -0.13 -0.16 -5.19 4.99 -0.06 -0.09 -5.21 -0.07 -5.2 -0.08 -5.21 
+-5.21 0.07 -5.21 0.13 -5.21 0.17 -5.18 0.24 -5.21 0.26 -5.18 0.33 -0.5 -5.21 -1 -10.45 
+-0.48 -5.26 -0.48 -5.27 -0.46 -5.25 -0.45 -5.27 5.66 -0.33 5.68 -0.29 -0.33 -5.29 -0.3 -5.27 
+-0.61 -10.59 -5.92 0.28 -5.91 0.33 -0.41 -5.3 -0.39 -5.32 -6.03 0.39 -1.3 -15.95 -6.19 0.43 
+-6.14 0.5 -0.52 -5.34 -6.2 0.54 -0.57 -5.34 -0.54 -5.34 -0.52 -5.34 -6.34 0.58 -0.56 -5.34 
+-0.55 -5.36 -6.4 0.63 -0.59 -5.34 -1.08 -10.72 -1 -10.71 -0.96 -10.72 -0.43 -5.36 -6.73 0.65 
+-0.46 -5.38 6.75 -0.63 -0.41 -5.38 -0.39 -5.36 -0.37 -5.34 6.86 -0.59 -0.33 -5.36 6.9 -0.54 
+-0.28 -5.34 6.93 -0.48 -0.48 -10.68 -0.22 -5.34 7.04 -0.41 -0.2 -5.32 7.05 -0.37 -0.15 -5.32 
+7.08 -0.32 -0.13 -5.32 7.09 -0.29 0.11 5.32 7.09 -0.24 7.08 -0.2 7.09 -0.16 7.1 -0.12 
+7.1 -0.07 7.11 -0.02 0 -376.06 -6.79 0 -3.38 -0.04 -3.38 -0.02 -3.39 -0.04 -3.38 -0.06 
+-3.37 -0.04 -1.8 -0.05 -1.56 -0.04 1.02 -3.75 -6.46 -0.18 1.32 -3.73 -6.16 -0.22 -3.08 -0.12 
+-3.06 -0.13 -6.08 -0.3 2.15 -3.71 -2.89 -0.17 2.32 -3.68 -2.76 -0.17 -5.42 -0.39 2.78 -3.63 
+-2.54 -0.21 2.97 -3.58 -2.41 -0.22 -2.38 -0.24 -2.37 -0.24 3.47 -3.52 -2.22 -0.26 -2.19 -0.26 
+-2.17 -0.28 3.95 -3.46 -1.99 -0.25 -2 -0.3 4.32 -3.37 -1.82 -0.3 -3.61 -0.61 -4.73 3.34 
+-1.91 -0.33 -1.89 -0.34 -1.84 -0.35 -1.82 -0.37 -1.8 -0.39 -1.79 -0.37 -1.75 -0.41 -5.58 3.34 
+-1.84 -0.44 -1.82 -0.43 -5.73 3.39 -1.91 -0.45 -1.89 -0.48 -1.84 -0.5 -1.8 -0.5 -1.78 -0.5 
+-6.25 3.4 -1.86 -0.54 -1.83 -0.57 -6.36 3.5 -6.29 3.58 -6.16 3.67 -6.05 3.75 -5.97 3.84 
+-5.86 3.93 -5.75 4.02 -5.64 4.08 -5.55 4.16 -5.43 4.26 -5.36 4.29 3.08 0.57 3.11 0.54 
+-5.01 4.34 3.25 0.5 -4.82 4.41 -3.36 -0.48 4.93 -4.43 -3.21 -0.52 -3.2 -0.55 -3.12 -0.56 
+-3.08 -0.57 p
+-3.02 -0.61 5.56 -4.43 5.66 -4.34 -2.78 -0.65 -2.71 -0.67 5.99 -4.27 -2.54 -0.7 6.19 -4.21 
+6.31 -4.1 6.43 -4.02 -2.17 -0.71 -2.12 -0.76 -2.06 -0.76 -2.02 -0.8 6.96 -3.88 -1.87 -0.8 
+-1.78 -0.82 -1.74 -0.84 7.38 -3.75 7.46 -3.64 -1.48 -0.85 -1.41 -0.84 7.77 -3.47 -1.26 -0.84 
+7.97 -3.32 -1.13 -0.84 -1.04 -0.87 -1 -0.89 -0.93 -0.89 -8.31 3.19 -0.96 -0.95 -8.31 3.32 
+-0.98 -1 -0.89 -1.02 -0.85 -1.05 -0.75 -1.06 -0.7 -1.09 -0.63 -1.11 -0.54 -1.13 -0.48 -1.15 
+-8.83 3.21 -0.48 -1.22 -0.37 -1.23 -0.3 -1.26 9.03 -3.04 -0.16 -1.23 -0.06 -1.24 9.18 -2.78 
+9.2 -2.58 9.25 -2.39 0.13 -1.09 0.21 -1.11 0.26 -1.11 0.34 -1.13 0.43 -1.13 0.5 -1.16 
+-9.39 1.98 0.56 -1.22 0.66 -1.25 0.73 -1.24 0.81 -1.28 0.91 -1.29 0.98 -1.28 1.06 -1.29 
+1.17 -1.3 1.24 -1.31 1.34 -1.32 1.41 -1.3 1.52 -1.33 -9.2 1.2 1.65 -1.43 9.13 -1.08 
+1.7 -1.32 1.78 -1.32 1.87 -1.31 1.95 -1.32 2.04 -1.32 2.15 -1.3 8.55 -0.28 2.13 -1.2 
+2.19 -1.19 2.28 -1.17 2.34 -1.18 2.46 -1.15 2.52 -1.13 2.58 -1.12 2.67 -1.11 2.75 -1.08 
+2.82 -1.06 6.99 0.91 2.71 -0.95 2.78 -0.91 2.82 -0.91 6.3 1.3 2.69 -0.78 2.73 -0.76 
+2.8 -0.74 2.84 -0.71 2.91 -0.68 2.95 -0.67 4.82 1.89 2.76 -0.54 2.8 -0.55 2.82 -0.49 
+3.99 2.14 2.61 -0.41 2.65 -0.39 2.66 -0.37 2.7 -0.34 -2.99 -2.34 2.97 -0.37 6.04 -0.61 
+3.04 -0.24 3.06 -0.24 3.06 -0.18 3.08 -0.17 3.1 -0.11 3.08 -0.08 3.11 -0.07 6.23 0 
+3.1 0.07 3.11 0.08 3.08 0.11 3.08 0.17 3.06 0.18 3.06 0.24 1.99 -2.45 3.3 0.29 
+-2.25 2.41 6.03 0.61 2.97 0.37 2.95 0.37 0.41 0.07 0.64 0.09 1.23 0.17 0.63 0.11 
+0.8 -0.52 1.59 -0.96 0.78 -0.48 0.43 -0.26 3.69 -2.13 3.78 -2.06 -3.71 -0.59 3.6 -2.06 
+-4.03 -0.59 -4.09 -0.56 -4.14 -0.5 2.84 -2.17 -4.47 -0.5 2.61 -2.14 2.66 -2.11 5.1 0.61 
+5.04 0.67 3.41 -1.93 5.32 0.83 5.23 0.89 5.19 0.93 5.1 1.02 5.01 1.09 4.95 1.13 
+5.34 -1.3 5.14 1.3 5.01 1.37 4.93 1.41 4.82 1.46 6.55 -0.7 4.95 1.65 4.82 1.66 
+4.71 1.74 4.55 1.78 4.43 1.8 7.81 0.14 4.47 1.99 4.34 2 4.19 2.04 8.46 0.76 
+4.19 2.19 4.01 2.22 3.87 2.23 3.69 2.23 3.54 2.24 3.37 2.23 3.23 2.23 3.06 2.24 
+2.88 2.23 2.76 2.21 2.61 2.21 2.43 2.19 2.31 2.17 1.88 1.89 0 -65.58 -9.85 -2.28 
+-9.36 -1.91 -8.55 -2.93 -8.57 -2.93 -8.92 -2.72 -8.9 -2.71 7.99 0.93 -19.27 -5.43 7.64 0.74 
+8.14 0.98 -10.89 -2.91 -10.91 -2.91 7.66 0.71 -11.83 -2.8 -11.83 -2.82 7.05 0.43 -12.83 -2.62 
+-12.84 -2.63 -13.21 -2.08 -13.22 -2.11 4.8 -0.37 5.21 -0.22 -10.07 -1.26 -10.07 -1.28 -10.09 -1.28 
+3.86 -0.52 -10.87 -0.87 -10.89 -0.87 -10.89 -0.89 2.14 -0.74 11.59 0.98 11.59 1 11.57 0.98 
+11.35 1.61 11.33 1.61 11.35 1.61 6.82 0.33 7.55 0.58 12.33 2.78 12.35 2.76 12.32 2.78 
+10.68 2.02 12.35 3.79 12.37 3.82 12.35 3.8 -12.61 -3.3 -11.72 -3.39 -11.7 -3.36 -11.72 -3.38 
+-9.66 -1.54 p
+-8.79 -1.15 -8 -0.84 -7.36 -0.54 -6.77 -0.32 13.52 2.91 13.5 2.93 13 3.41 13.02 3.43 
+-8.81 -1.32 11.91 3.51 11.89 3.52 -9.22 -1.65 10.91 3.54 10.89 3.54 -9.52 -1.91 10.02 3.52 
+10 3.49 -9.72 -2.11 9.22 3.43 9.2 3.45 0 65.58 0.26 0.26 2 2.12 1.84 2.11 
+1.71 2.09 1.58 2.07 1.43 2.04 1.29 1.99 1.17 1.98 1.04 1.93 0.89 1.93 0.79 1.87 
+0.67 1.84 9.36 3.67 0.49 1.87 -9.33 -3.71 0.41 1.78 0.3 1.76 0.17 1.71 0.09 1.67 
+-0.05 1.65 -0.15 1.61 -0.26 1.59 8.87 4.02 -0.43 1.58 -0.55 1.54 -0.63 1.5 -0.74 1.47 
+-0.82 1.43 -0.93 1.39 -1.02 1.37 -8.29 -4.23 -1.02 1.32 -1.13 1.28 -1.19 1.24 -1.26 1.21 
+-1.37 1.17 -1.46 1.15 -1.52 1.13 -1.58 1.09 -1.68 1.04 -1.74 1.04 -1.82 1 -7.34 -4.19 
+-1.8 0.95 -1.85 0.96 -7.25 -4.11 -7.37 -3.97 -1.7 0.91 -1.78 0.87 -1.84 0.86 -1.89 0.83 
+-1.95 0.8 -2.02 0.8 -2.06 0.76 6.64 4.02 6.51 4.1 -2.32 0.76 -2.39 0.71 -2.45 0.71 
+-2.5 0.68 -2.54 0.67 -2.61 0.63 -2.64 0.63 -2.7 0.59 -2.73 0.59 -2.78 0.56 5.32 4.17 
+-2.93 0.52 -2.99 0.52 5.01 4.21 -3.12 0.48 -3.19 0.48 -1.02 -0.89 -3.75 -3.3 -3.11 0.48 
+-3.14 0.46 -3.17 0.42 -4.54 -4.09 -3.1 0.43 -3.15 0.39 -3.17 0.41 -3.19 0.36 -3.23 0.38 
+-4.06 -4 -3.14 0.37 -4.02 -3.95 -3.06 0.35 -3.08 0.35 -3.11 0.32 -3.14 0.31 -3.17 0.3 
+-3.19 0.28 -3.21 0.29 -3.23 0.26 -6.56 0.48 -2.86 -3.84 -3.17 0.24 -6.42 0.43 -3.23 0.2 
+-3.23 0.17 -3.28 0.17 -3.25 0.17 -3.3 0.16 -3.29 0.13 1.75 3.82 -3.45 0.13 -6.9 0.21 
+-3.47 0.11 -1.26 -3.8 -3.36 0.11 -3.37 0.06 -3.36 0.09 -3.37 0.04 -3.38 0.06 -3.38 0.04 
+-3.39 0.02 -3.38 0.04 -6.77 0 0 381.38 7.08 0 7.07 0.09 7.07 0.11 7.08 0.15 
+0.09 -5.3 7.1 0.2 0.09 -5.29 7.1 0.21 7.09 0.29 7.09 0.32 0.14 -5.29 0.21 -10.59 
+0.17 -10.55 -7.16 -0.3 0.07 -5.27 7.18 0.3 0.04 -5.25 7.18 0.32 0.09 -10.5 0.04 -10.46 
+7.18 0.35 0 -10.44 -0.09 -10.42 7.16 0.37 -0.04 -5.19 -0.09 -5.18 -0.09 -5.17 -7.14 -0.34 
+-0.21 -10.29 -7.14 -0.28 -0.11 -5.12 -0.13 -5.1 -0.15 -5.09 -0.16 -5.09 7.08 0.26 -0.2 -5.08 
+-0.21 -5.05 7 0.29 -0.24 -5.06 -0.26 -5.03 -0.56 -10.03 6.9 0.28 -0.34 -5.02 -0.74 -9.94 
+-0.41 -4.95 6.77 0.25 -0.45 -4.95 -0.48 -4.9 6.7 0.24 -0.54 -4.93 -0.57 -4.88 6.6 0.24 
+-0.63 -4.88 -0.65 -4.88 -0.67 -4.84 6.45 0.22 12.89 0.48 12.8 0.52 0.91 4.93 12.85 0.61 
+6.4 0.33 1 4.99 0.96 5.02 6.46 0.39 0.98 5.04 6.47 0.41 0.97 5.1 6.49 0.45 
+0.95 5.13 0.93 5.14 0.87 5.17 0.83 5.18 0.79 5.19 13.28 1.18 0.78 5.25 0.76 5.27 
+0.71 5.3 0.66 5.29 0.63 5.3 0.56 5.34 6.75 0.75 0.55 5.36 6.75 0.81 0.52 5.4 
+6.72 0.85 0.48 5.42 6.73 0.91 0.43 5.47 6.71 0.98 0.41 5.49 0.37 5.51 0.3 5.51 
+0.26 5.54 0.22 5.53 -6.75 -1.08 0.15 5.51 0.11 5.52 0.05 5.53 0.02 5.54 -6.79 -1.15 
+-0.02 5.51 p
+-0.09 5.54 -0.13 5.51 6.77 1.21 -0.2 5.55 -0.21 5.56 6.71 1.3 -0.28 5.58 6.68 1.35 
+-0.35 5.6 6.64 1.43 -0.42 5.62 -0.48 5.62 6.58 1.52 -0.52 5.62 6.51 1.59 -0.61 5.66 
+6.46 1.65 -0.67 5.69 -0.74 5.66 6.38 1.74 -0.8 5.71 -0.87 5.68 6.29 1.82 -0.93 5.71 
+-0.99 5.68 6.18 1.93 -1.09 5.68 -1.15 5.69 -1.2 5.68 -6.1 -1.97 1.17 -5.66 -6.18 -1.91 
+-6.21 -1.86 -6.25 -1.8 -6.27 -1.73 -6.34 -1.72 -1 5.58 -1.06 5.58 6.27 1.74 -1.13 5.57 
+6.18 1.8 6.14 1.84 -1.26 5.62 6.08 1.91 6.03 1.98 -1.39 5.62 5.95 2.04 5.9 2.1 
+-1.52 5.64 5.82 2.18 0.74 0.28 0 -183.64 -6.54 -1.26 -0.35 -5.68 -6.53 -1.22 -0.42 -5.64 
+-6.57 -1.15 -0.46 -5.62 -6.6 -1.09 -0.48 -5.58 -0.56 -5.55 -0.61 -5.55 -0.67 -5.55 -0.73 -5.54 
+-0.78 -5.53 -6.54 -0.87 -0.82 -5.49 -0.87 -5.47 -0.95 -5.45 6.46 0.79 -1.04 -5.47 6.41 0.76 
+6.36 0.8 1.06 5.54 1.02 5.55 0.96 5.55 0.89 5.58 6.45 0.96 0.85 5.62 0.78 5.62 
+0.71 5.66 6.47 1.07 0.67 5.68 0.61 5.69 0.54 5.71 0.5 5.7 0.41 5.71 0.37 5.73 
+0 183.64 5.01 1.95 -1.65 5.64 -1.73 5.64 5.64 2.32 5.58 2.37 -1.87 5.64 -1.93 5.62 
+5.42 2.46 -2.04 5.62 -2.11 5.59 5.27 2.54 -2.21 5.58 -5.23 -2.54 -2.21 5.54 -5.23 -2.5 
+-5.28 -2.45 -2.19 5.51 -5.27 -2.39 -5.34 -2.32 -5.38 -2.28 -2.08 5.47 -5.38 -2.21 -5.42 -2.15 
+-2.02 5.43 -2.06 5.42 -5.37 -2.1 -2.07 5.38 -2.1 5.38 5.25 2.11 5.21 2.17 5.16 2.23 
+2.28 -5.38 2.24 -5.4 2.16 -5.43 5.3 2.28 5.21 2.35 5.18 2.39 5.12 2.45 2.34 -5.45 
+5.12 2.5 2.35 -5.49 5.12 2.58 5.05 2.63 4.99 2.69 4.93 2.75 4.88 2.82 4.79 2.87 
+2.63 -5.56 4.79 2.95 4.73 2.99 2.67 -5.62 2.58 -5.64 2.52 -5.66 4.84 3.04 2.5 -5.73 
+4.82 3.11 4.75 3.14 2.54 -5.77 2.48 -5.82 4.77 3.19 2.45 -5.86 2.37 -5.93 2.28 -5.94 
+2.22 -5.97 4.92 3.19 2.17 -6.04 2.11 -6.05 2.02 -6.12 5 3.19 1.99 -6.16 1.89 -6.18 
+5.01 3.16 1.87 -6.25 4.97 3.22 -1.89 6.29 -2 6.27 4.82 3.35 -2.13 6.25 -2.22 6.23 
+-2.3 6.16 -2.38 6.14 -2.48 6.09 -2.56 6.04 4.45 3.61 4.34 3.67 -2.75 6.03 4.21 3.78 
+-2.88 6.01 4.05 3.86 -3.04 5.99 3.88 3.95 -3.19 5.95 3.75 4.04 -3.34 5.9 -3.41 5.86 
+3.52 4.14 3.4 4.23 3.3 4.32 3.62 -5.88 2.98 3.99 0 -115.6 -4.84 -3.37 1.84 -6.36 
+1.78 -6.41 1.67 -6.42 4.97 3.23 -1.72 6.46 -1.8 6.45 -1.91 6.41 0 115.6 0.3 0.39 
+3.61 -5.95 3.23 4.47 3.58 -6.03 3.5 -6.1 3.25 4.52 3.5 -6.18 3.38 -6.25 3.3 4.57 
+3.16 4.67 3.43 -6.38 3.13 4.75 2.91 -5.53 0 -557.62 -11.16 -10.62 -4.25 -6.36 -11.46 -10.05 
+-5.02 -6.57 11.7 9.96 11.67 10.52 4.52 6.73 4 6.38 0 557.62 0.49 -0.96 3.32 -6.55 
+3.21 -6.62 3.13 -6.73 2.99 -6.77 2.91 -6.86 2.78 -6.92 2.69 -7.01 3.58 4.55 -2.75 7.04 
+-2.87 6.99 -2.97 6.88 -3.06 6.83 -3.19 6.75 3.13 4.84 2.99 4.95 3.32 -6.82 3.23 -6.88 
+3.02 4.97 p
+3.2 -7.03 2.12 3.6 0 -34.66 -3.53 -4.6 2.52 -7.18 3.62 4.53 2.46 -7.33 2.36 -7.38 
+2.22 -7.46 -3.8 -4.36 -3.91 -4.25 -2.11 7.34 -2.21 7.27 -3.88 -4.27 -3.97 -4.19 2.11 -7.16 
+2 -7.21 4.08 4.08 1.93 -7.33 4.04 4.08 1.86 -7.44 4.02 4.1 1.78 -7.59 1.67 -7.64 
+4.04 4.04 1.56 -7.79 1.46 -7.86 1.3 -7.9 4.1 3.86 1.21 -8.05 1.09 -8.12 4.11 3.76 
+4.03 3.86 3.95 3.93 -1.22 8.43 -1.37 8.36 3.76 4.23 3.66 4.32 -1.65 8.48 -3.6 -4.43 
+-3.69 -4.32 -1.67 8.22 -3.73 -4.34 -3.82 -4.23 -1.7 7.96 -1.82 7.9 -1.97 7.81 -2.08 7.75 
+-2.24 7.68 -2.36 7.62 -3.54 -4.62 -2.41 7.46 -2.54 7.38 -3.5 -4.62 -2.61 7.25 0 34.66 
+0.88 1.46 3.14 -7.16 2.95 5.12 -3.26 7.21 2.74 5.25 -3.43 7.16 2.5 5.43 -3.62 7.09 
+2.28 5.58 -3.84 7.04 -3.93 6.92 -4.06 6.79 -2 -5.68 -4.05 6.68 -4.16 6.55 -1.98 -5.6 
+-4.16 6.44 -2.06 -5.49 -4.17 6.32 -4.27 6.23 -4.36 6.09 1.8 5.53 -4.54 6.01 1.56 5.62 
+1.39 5.71 4.69 -5.99 4.63 -6.12 -1.56 -5.73 4.45 -6.23 1.65 5.71 1.47 5.84 -4.6 6.25 
+-4.71 6.12 -4.8 5.99 -4.86 5.88 0.96 5.92 0.78 6.04 0.61 6.14 -5.23 5.7 0.32 6.23 
+-5.37 5.54 0.04 6.29 -0.2 6.4 -0.39 6.51 5.63 -5.4 5.58 -5.58 -0.44 6.68 -5.66 5.55 
+-0.76 6.75 -5.82 5.34 -5.86 5.18 0.93 -6.68 0.7 -6.55 -5.76 5.12 -5.79 5 -0.87 6.45 
+-5.92 4.79 -1.17 6.46 -6.04 4.58 -6.1 4.41 -6.12 4.26 1.39 -6.25 -6.1 4.19 -6.12 4.05 
+-6.16 3.91 -6.18 3.78 1.37 -5.88 -6.16 3.71 -6.18 3.6 -1.47 5.71 -6.27 3.37 1.52 -5.62 
+1.32 -5.58 -6.18 3.41 -6.23 3.28 -1.41 5.41 -1.61 5.42 -1.8 5.47 -6.34 2.86 -2.04 5.43 
+-2.23 5.45 6.4 -2.67 6.4 -2.8 -2.41 5.69 6.4 -2.82 6.43 -2.95 6.38 -3.12 6.4 -3.25 
+-2.52 6.14 -2.76 6.21 -6.44 3.04 -6.45 2.89 -3.04 6.01 -6.49 2.63 3.06 -5.88 -6.45 2.61 
+-6.45 2.45 -5.38 1.96 -1.06 0.37 -0.63 1.15 -2.48 4.38 -6.45 2.07 -2.17 0.67 -4.25 1.26 
+-3.3 5.29 -6.42 1.67 -3.5 5.19 -3.73 5.16 -3.28 0.67 -3.05 0.61 -3.91 5.01 -3.17 0.55 
+-3.12 0.48 -2.26 2.73 -1.8 2.15 -2.23 0.28 -4 0.48 -4.21 4.71 -4.17 0.35 -1.97 0.15 
+-2.25 2.39 -2.11 2.14 -3.47 0.18 -2.56 0.08 -2.02 2 -0.41 0.39 -2.06 1.97 -2.52 0.02 
+-3.38 0 -5.89 -0.11 -5.84 -0.2 -5.8 -0.33 -4.03 3.54 -0.31 0.26 -0.12 0.09 -4.38 3.64 
+5.62 0.57 5.66 0.48 5.71 0.34 0.98 0.07 4.77 0.2 5.79 0.16 -5.14 4.34 -5.71 -0.29 
+-5.66 -0.39 -0.35 -0.04 -5.25 -0.46 -5.58 -0.61 -5.51 -0.69 -5.47 -0.81 -5.42 -0.89 4.47 -3.43 
+4.32 -3.47 1.47 -1.24 2.7 -2.3 -5.67 -0.61 3.93 -3.47 3.78 -3.5 -5.8 -0.48 -5.75 -0.57 
+-4.84 -0.56 -0.89 -0.11 -3.54 3.15 -5.6 -0.89 -3.58 3 -2.15 1.74 -1.54 1.19 -2.5 -0.54 
+-2.86 -0.65 -2.17 1.63 -1.54 1.15 -1.65 -0.43 -3.58 -0.98 -3.69 2.63 -3.82 2.54 -3.93 2.5 
+-4.02 2.43 -4.12 2.39 -4.21 2.3 -4.29 2.24 4.32 2.14 -4.54 2.26 -4.66 2.19 -1.37 0.63 
+-3.37 1.48 p
+-2.95 -1.84 -0.93 -0.57 -2.52 -1.63 -1.31 -0.87 -2.99 1.24 -1.52 0.61 -4.58 1.78 -3.47 -2.71 
+-4.5 1.61 -4.55 1.55 3.12 2.86 -4.77 1.52 2.97 2.88 1.63 1.54 1.41 1.28 5.14 -1.68 
+5.08 -1.75 3.43 2.62 5.17 -1.93 3.62 2.47 5.25 -2.13 5.16 -2.21 4.02 2.23 3.86 2.06 
+0.2 0.11 4.1 2.08 4.16 2.04 -1.75 0.79 -4.05 1.82 4.03 2.06 0.96 0.48 3.14 1.52 
+-6.27 2.72 -1.78 -0.93 -2.14 -1.17 -4.17 1.69 -2.07 0.8 -0.61 -0.37 -2.93 -1.8 -0.16 -0.08 
+-0.26 0.08 -4.92 1.84 -0.96 0.35 0 135.26 10.05 -1.67 13.18 -2.75 13.2 -2.76 13.2 -3.34 
+13.2 -3.32 11.26 -3.21 7.53 -2.35 7.54 -2.32 13.2 -4.55 13.2 -4.58 5.6 -2.22 0 -130.44 
+5.62 -4.69 -0.02 0 -5.83 0.05 3.88 -3.32 1.46 -1.3 -5.91 0.09 5.03 -4.54 1.35 -0.04 
+4.62 -0.17 6.01 -0.35 5.54 -0.41 0.52 -0.05 5.04 -5.01 6.18 -0.72 5.6 -0.75 0.61 -0.11 
+6.23 -0.98 6.29 -1.13 6.34 -1.26 5.05 -5.77 6.4 -1.56 4.82 -5.95 6.46 -1.82 4.58 -6.1 
+4.3 -6.1 6.51 -2.28 4.05 -6.2 3.78 -6.21 6.51 -2.67 3.52 -6.31 6.49 -2.97 3.23 -6.39 
+6.46 -3.23 6.49 -3.38 -3.17 6.61 -3.43 6.66 -6.53 3.15 -3.73 6.59 -6.55 2.87 -4.04 6.49 
+-4.32 6.49 -6.55 2.45 -4.58 6.38 -4.88 6.36 -6.51 2.02 -5.14 6.21 -6.45 1.71 -5.4 6.04 
+-6.38 1.41 -6.31 1.26 -6.27 1.11 -5.53 5.55 -6.17 0.82 5.45 -5.4 -6.19 0.84 -3.1 0.37 
+-3.04 0.33 -5.34 5.12 -2.45 2.26 -3.11 2.8 -4.08 0.19 -1.89 0.09 -2.67 2.3 -3.04 2.54 
+-0.87 0.02 -4.95 0 0 130.44 7.59 -2.99 13.2 -5.23 5.12 -2.17 10.61 -4.82 10.61 -4.79 
+26.39 -13.29 6.49 -3.52 9.94 -5.66 9.92 -5.67 12.11 -7.55 12.09 -7.55 2.17 -1.41 13.2 -9.2 
+13.19 -9.22 8.75 -6.54 8.81 -6.96 8.81 -6.95 7.42 -6.25 7.4 -6.25 11.54 -10.28 8.54 -8.07 
+8.53 -8.05 9.31 -9.33 1.15 -1.22 0 -179.14 0.28 -6.94 5.32 -6.32 5.23 -6.49 -0.17 -6.83 
+5.03 -6.64 4.95 -6.8 0.39 6.86 4.95 -6.95 4.88 -7.11 0.39 6.96 4.88 -7.29 4.77 -7.44 
+4.66 -7.64 0.54 7.07 4.69 -7.83 2.47 -4.36 0 -44.82 -1.82 -6.14 3.61 -7.99 -2.11 -5.92 
+3.36 -8.03 -2.34 -5.73 3.15 -8.09 2.99 -8.2 -2.69 -5.43 2.78 -8.22 -2.89 -5.25 2.54 -8.22 
+-3.11 -5.04 -3.21 -4.91 2.24 -8.16 3.28 4.82 2.16 -8.33 2.02 -8.44 1.86 -8.5 3.41 4.62 
+1.78 -8.7 3.36 4.64 3.26 4.73 3.15 4.86 2.84 4.64 0 -46.16 -3.54 -4.23 -3.61 -4.14 
+-3.71 -4.04 -3.79 -3.95 -1.02 8.77 -3.82 -3.99 -3.93 -3.91 0.91 -8.55 3.97 3.8 0.78 -8.72 
+3.93 3.75 3.85 3.82 3.77 3.93 3.67 3.99 3.61 4.09 0.87 -9.45 3.56 4.02 -0.93 9.62 
+-3.49 -4.19 -1.06 9.39 0 46.16 0.22 0.32 -2.11 9.18 -2.26 9.07 2.76 5.34 -2.52 9.07 
+-2.69 8.96 2.43 5.71 -2.96 8.91 -2.32 -5.82 -2.99 8.71 -3.14 8.57 -3.3 8.44 2 6.08 
+-3.56 8.38 -3.69 8.25 -1.78 -6.23 -3.71 8.05 0 44.82 2.08 -3.63 4.43 -8.18 4.32 -8.33 
+0.84 7.03 -4.45 8.42 0.5 7.27 -4.71 8.27 -4.84 8.09 -4.95 7.88 -0.09 -7.4 -4.9 7.68 
+-5.04 7.48 p
+-5.12 7.32 -5.23 7.14 0.17 -7.3 -0.05 -7.14 -5.08 6.96 -5.16 6.8 -5.25 6.62 -5.34 6.46 
+-5.42 6.29 0 179.14 6.9 -7.33 8.05 -8.53 10.27 -11.54 12.5 -14.84 13.89 -17.67 6.53 -8.75 
+9.21 -13.21 9.18 -13.22 1.43 -2.17 3.88 -6.23 0 -214.28 -1.87 -6.27 3.17 -9.14 3 -9.29 
+-2.24 -5.91 2.73 -9.31 2.54 -9.44 -2.58 -5.49 2.25 -9.44 2.69 5.38 2.2 -9.7 2 -9.8 
+2.75 5.21 -2.11 9.98 2.54 5.51 -2.38 9.96 -2.58 9.86 -2.76 9.7 -2.95 9.55 -3.12 9.4 
+-3.28 9.25 0 214.28 3.64 -5.88 2.96 -4.71 0 -169.59 -0.93 -7.21 3.82 -9.68 1.08 7.07 
+-3.96 9.81 0 169.59 4.6 -7.4 1.5 -2.65 0 -45.05 4.64 -13.15 7.66 -14.78 3.52 -12.37 
+2.93 -11.79 2.41 -11.26 1.95 -10.74 1.5 -10.3 -5.66 13.71 -5.92 13.28 1.75 -10.29 1.35 -9.87 
+0.99 -9.51 -5.25 12.33 0.91 -9.33 0.61 -8.98 -4.97 11.63 0.52 -8.83 4.73 -11.48 0 -8.38 
+-0.26 -8.07 -0.5 -7.84 -4.1 11 -4.3 10.76 -0.37 -7.86 -0.61 -7.62 3.95 -10.5 0.76 7.48 
+0.75 -2.06 0 -127.61 -3.02 -4.7 -3.12 -4.6 -3.21 -4.52 1.04 -9.92 3.3 4.34 0.89 -10.18 
+3.28 4.26 3.17 4.36 -1.06 10.55 -1.26 10.41 0 127.61 3.18 -8.79 3.71 -11.09 0.91 7.4 
+0.71 7.66 1.43 -4.38 0 -114.46 -2.78 -4.92 1.19 -10.91 2.89 4.7 -1.3 11.13 0 114.46 
+2.41 -7.32 0.67 7.73 3.82 -12.15 0.65 7.77 3.77 -12.65 3.52 -12.93 3.21 -13.2 1.04 7.29 
+0.87 7.59 3.32 -14.08 0.87 7.57 0.65 7.88 3.45 -15.08 3.11 -15.41 2.69 -15.73 2.26 -16.02 
+-1.54 -6.29 1.65 -15.82 1.2 -16.06 0.74 -16.28 0.29 -16.45 -0.22 -16.61 -2.3 -3.69 -2.38 -3.58 
+0.37 15.62 -2.41 -3.95 -2.48 -3.82 0.07 14.64 -2.5 -4.12 -0.21 14.15 -0.61 14.02 -0.93 13.87 
+-1.28 13.7 -2.19 -5.38 -2.32 -5.21 -2.41 -5.05 -2.54 -4.88 0.87 -12.5 0.57 -12.61 0.26 -12.72 
+-2.88 -3.93 -2.95 -3.82 -0.13 12.16 -2.97 -4 0.07 -11.91 -3.11 -3.67 -3.19 -3.58 -0.3 -11.48 
+-0.54 -11.57 -3.34 -3.04 -0.85 -11.37 -1.11 -11.41 -1.37 -11.46 -3.45 -2.28 -1.63 -11.26 -3.49 -2.04 
+-3.56 -2.02 -3.64 -2.02 -1.85 -10.63 -3.67 -1.8 -3.75 -1.8 -2.04 -10.22 -3.77 -1.62 -2.24 -10.05 
+-2.47 -10.03 -2.67 -10.02 -2.89 -10 -3.12 -9.98 -3.35 -9.94 -3.58 -9.89 3.46 0.34 -3.87 -10.02 
+-4.08 -9.96 -4.32 -9.92 -4.54 -9.83 -4.75 -9.75 -4.97 -9.65 2.82 -0.72 -5.3 -9.72 2.62 -0.95 
+2.52 -1.05 5.54 10.03 2.52 -1 2.41 -1.11 2.3 -1.21 5.66 10.68 2.3 -1.15 2.2 -1.28 
+5.66 11.18 2.21 -1.19 2.09 -1.35 5.66 11.77 2.11 -1.26 1.97 -1.39 1.84 -1.56 1.72 -1.74 
+1.54 -1.91 -6.49 -13 1.22 -2.39 -7.03 -13.05 -7.32 -12.78 0.59 -3.11 -7.86 -12.74 -8.14 -12.43 
+-0.11 -3.8 8.38 12.66 -0.11 -3.87 -0.39 -4.14 -8.89 -13.02 -9.18 -12.65 -9.41 -12.24 -1.52 -4.97 
+-1.86 -5.27 -2.24 -5.6 -2.66 -5.95 -3.11 -6.32 -3.6 -6.68 -4.11 -7.07 -4.71 -7.51 12.02 13.04 
+11.87 13.72 11.72 14.45 -4.1 -7.77 11.91 15.3 11.66 16.06 -3.75 -7.96 11.87 17.08 11.5 17.88 
+-3.28 -8.01 11.68 19.1 11.16 19.96 10.61 20.77 9.96 21.55 9.22 22.27 8.44 22.89 7.6 23.48 
+-0.48 3.3 p
+6.29 22.98 -1.04 1.91 5.14 22.36 4.3 22.54 1.52 0.04 3.56 23.7 -1.65 -1.05 -1.73 -1.15 
+-1.8 -1.23 2.45 20.94 -1.93 -2.11 1.7 20.1 -2 -2.86 1.06 19.29 -2.04 -3.49 0.5 18.46 
+-0.07 18.32 -0.65 18.11 -1.21 17.89 -1.63 -5.8 -1.54 17.05 -2.02 16.8 -2.5 16.47 -2.91 16.17 
+-3.37 15.84 -3.73 15.45 -4.11 15.08 -0.17 8.98 -0.48 9.39 4.76 -15.82 4.34 -16.28 -0.11 9.05 
+-0.43 9.53 4.64 -17.64 -0.37 9.53 -5.05 18.14 0.78 -10.02 -5.08 17.14 0.81 -9.96 -5.1 16.19 
+-5.47 15.71 -5.82 15.19 -2 11 -2.52 11.54 -3.04 12.13 -7.42 15.43 -4.17 12.98 -8.14 14.95 
+0 45.05 9.81 -17.23 3.49 -6.51 13.26 -26.43 9.62 -21.24 2.17 -5.12 10.43 -26.43 9.11 -26.41 
+4.64 -15.1 3.21 -11.29 6.66 -26.41 5.49 -26.41 4.38 -26.41 3.23 -26.39 2.17 -26.41 1.09 -26.41 
+0 -26.41 -1.09 -26.39 -2.17 -26.43 -3.23 -26.39 -4.38 -26.41 -5.49 -26.41 -6.66 -26.41 -3.21 -11.28 
+-4.64 -15.11 -9.11 -26.41 -10.43 -26.43 -2.17 -5.12 -9.62 -21.25 -13.26 -26.43 -3.49 -6.49 -11.31 -19.9 
+-7.55 -12.11 -7.53 -12.11 -1.43 -2.17 -9.2 -13.21 -9.18 -13.22 -6.53 -8.74 -13.89 -17.67 -12.5 -14.84 
+-10.27 -11.55 -8.05 -8.53 -8.05 -8.55 -9.31 -9.33 -8.53 -8.05 -8.54 -8.07 -11.54 -10.27 -7.4 -6.27 
+-7.42 -6.25 -8.81 -6.95 -8.81 -6.96 -8.75 -6.54 -13.19 -9.22 -13.2 -9.2 -2.17 -1.41 -12.09 -7.55 
+-12.11 -7.55 -9.92 -5.66 -9.94 -5.66 -6.49 -3.51 -26.39 -13.29 -10.61 -4.79 -10.61 -4.82 -5.12 -2.17 
+-13.2 -5.23 -13.19 -5.2 -13.2 -4.58 -13.2 -4.56 -15.06 -4.64 -11.26 -3.23 -13.2 -3.32 -13.2 -3.34 
+-13.2 -2.75 -13.18 -2.76 -13.2 -2.2 -13.2 -2.16 -26.34 -3.26 -26.39 -2.17 -13.17 -0.54 -13.19 -0.54 
+-26.37 0 -13.2 0.54 -13.17 0.54 -13.2 1.09 -13.17 1.08 -13.2 1.63 -13.17 1.63 -13.2 2.16 
+-13.2 2.2 -13.17 2.76 -13.19 2.75 -13.2 3.34 -13.2 3.32 -11.27 3.23 -15.06 4.64 -13.2 4.56 
+-13.19 4.58 -13.2 5.2 -13.2 5.23 -5.12 2.17 -10.62 4.82 -10.61 4.79 -26.39 13.29 -6.49 3.51 
+-9.94 5.66 -9.92 5.66 -12.11 7.55 -12.09 7.55 -2.17 1.41 -13.2 9.22 -13.19 9.2 -8.75 6.54 
+-8.81 6.96 -8.81 6.95 -7.42 6.27 -7.4 6.25 -11.54 10.27 -8.53 8.07 -8.51 8.05 -9.33 9.33 
+-8.05 8.55 -8.05 8.53 -10.26 11.55 -12.5 14.84 -13.89 17.67 -6.54 8.74 -9.18 13.22 -9.2 13.21 
+-1.43 2.17 -7.53 12.11 -7.55 12.11 -11.31 19.9 -3.5 6.49 -13.25 26.43 -9.62 21.25 -2.17 5.12 
+-10.44 26.43 -9.12 26.41 -4.64 15.11 -3.21 11.28 -6.66 26.41 -5.49 26.41 -4.38 26.41 -3.24 26.39 
+-2.17 26.43 p f*
+255 0 r6
+2031.54 3072.2 -2.8 4.95 3.75 6.36 3.84 6.27 -2.52 5.1 -2.39 5.19 4.11 6.21 -2.2 5.29 
+4.28 6.12 4.36 6.01 4.45 5.92 -1.76 5.41 4.6 5.8 4.69 5.7 -1.45 5.49 4.86 5.58 
+-1.23 5.58 5.01 5.45 5.08 5.34 -0.89 5.62 -0.71 5.71 -5.25 -5.3 -0.61 5.84 5.32 5.25 
+-0.37 5.9 5.46 5.08 5.51 4.97 0 5.9 5.64 4.78 0.26 5.95 5.77 4.58 5.84 4.47 
+0.59 5.9 5.95 4.28 5.96 4.14 0.93 5.84 6.07 3.93 1.17 5.82 6.17 3.71 1.43 5.81 
+6.23 3.5 6.27 3.37 1.73 5.66 6.32 3.13 1.97 5.61 6.36 2.91 6.38 2.75 6.38 2.63 
+6.4 2.49 6.4 2.39 6.41 2.23 6.4 2.13 6.4 2 6.41 1.87 2.3 4.67 6.4 1.65 
+6.4 1.49 6.38 1.41 2.45 4.34 6.38 1.15 2.58 4.23 2.78 4.21 6.29 0.8 6.27 0.71 
+6.27 0.59 2.8 3.84 2.97 3.82 6.14 0.24 6.14 0.13 3.02 3.56 6.04 -0.09 3.08 3.41 
+3.32 -0.18 -6.32 -3.23 -0.17 -0.09 -8.64 -3.39 -0.52 -0.22 -8.31 -3.58 -0.74 -0.28 -8.62 -3.93 
+-0.28 -0.15 -7.6 -2.5 -5.42 -2.47 -2.43 -0.7 -8.22 -4.66 -0.91 -0.85 -6.2 -4.3 -3.37 -2.73 
+-3.67 -2.64 -4.43 -4.97 -2.26 -2.04 -7.44 -4.25 -0.74 -0.54 -4.66 -5.47 -1.34 -4.47 -2.85 -5.04 
+-1.95 -1.11 -6.42 -2.69 -2.56 -0.35 -1.43 3.64 2.73 5.23 -1.08 1.56 -1.29 1.78 -3.08 1.24 
+-4.04 0.41 -1.22 0.13 -3.41 -1.78 -0.8 -0.41 -2.62 -1.52 -7.47 -5.64 -2.84 -2.69 -4.51 -4.38 
+-0.5 -0.5 -4.12 -3.11 -2.8 -2.11 -0.26 -0.24 -7.16 -7.46 -1.67 -1.87 -3.25 -6.64 0.02 -4.86 
+-0.91 -5.44 -0.87 -5.47 -0.57 -5.36 2.3 -3.54 0.37 -1.15 0.39 -3.38 -0.43 -0.54 -5.8 -6.3 
+-5.64 -6.57 -0.04 -0.06 -5.36 -7.97 -1.11 -2.32 1.56 -2.13 0.91 -1.49 1.97 -4 4.41 -2.06 
+5.36 4.99 5.62 3.75 1.93 1.21 3.75 2.2 5.67 3.64 5.9 2.37 5.97 1.86 0.26 0.02 
+1 -4.27 0.28 -4.32 0 -0.48 0.24 -0.66 1.23 -3.36 1.24 -4.21 -0.21 -1.37 -0.24 -4.14 
+0.09 -5.23 2.19 -3.59 1.76 -3.99 1.86 -3.93 2.76 -3.19 1.39 -0.91 2.13 -1.65 5.64 0.72 
+1.37 -0.2 -0.22 -1.89 -2.06 -5.75 0.98 -4.88 4.21 -1.93 4.45 -1.65 1.82 -4.19 1.15 -4.93 
+0.65 -4.36 0.24 -0.96 2.61 -2.41 0.63 -0.56 3.47 -2.71 3.36 -2.84 4.78 -1.3 4.73 -1.32 
+5.64 -0.24 3.12 0.55 3.2 0.02 5.08 -0.78 -3.21 -3.73 -3.3 2.89 -4.06 -4.71 -3.28 2.97 
+-4.05 -4.75 -4.02 -4.8 -3.34 3.08 -3.25 3.14 -4.1 -4.79 -4.02 -4.88 -3.32 3.25 -4.03 -4.88 
+-3.32 3.32 -4.04 -4.93 -3.96 -4.99 3.45 -3.37 -3.84 -5.04 -3.52 3.36 -3.86 -5.08 -3.49 3.45 
+-3.84 -5.12 -3.47 3.51 -3.39 3.61 -3.93 -5.17 -3.36 3.69 -3.9 -5.21 -3.85 -5.25 -3.77 -5.32 
+-3.71 -5.38 3.62 -3.71 -2.54 -3.84 -1.04 -1.59 -3.5 -5.46 -3.41 -5.54 -3.82 3.69 3.47 5.53 
+-3.67 3.8 3.63 5.47 3.71 5.42 3.78 5.38 -3.39 3.84 -3.27 3.93 -3.18 3.99 4.06 5.28 
+-3.02 4.05 -2.91 4.12 -4.17 -5.25 -2.86 4.21 -2.75 4.3 -2.63 4.36 -2.52 4.45 -2.06 3.91 
+-0.32 0.63 -4.5 -5.27 -2.32 4.62 -2.24 4.71 -4.54 -5.34 -4.47 -5.41 -4.38 -5.49 -4.32 -5.58 
+-4.23 -5.64 P
+-4.14 -5.75 -4.06 -5.82 -3.99 -5.92 -3.89 -5.97 2.89 -4.73 -3.73 -6.05 -3.64 -6.14 3.14 -4.62 
+3.25 -4.52 3.37 -4.42 3.47 -4.37 3.36 6.08 3.52 -4.27 3.38 5.99 3.45 5.92 3.5 -4.23 
+3.58 -4.14 -3.34 -5.9 -3.26 -5.95 -3.71 4.1 -3.23 -6.03 -3.14 -6.1 -3.04 -6.14 -2.97 -6.23 
+3.97 -4.04 4.05 -3.95 2.84 6.17 4.08 -3.89 -2.78 -6.14 4.23 -3.8 -2.65 -6.16 -2.54 -6.21 
+-2.45 -6.27 -2.39 -6.29 -2.28 -6.36 -2.16 -6.4 -4.59 3.63 -4.46 3.69 2.28 6.47 2.39 6.4 
+-4.28 3.84 2.52 6.41 2.65 6.36 -4.11 3.97 -3.99 4.05 -3.91 4.15 2.91 6.38 -3.73 4.28 
+3.06 6.33 -3.56 4.39 -3.47 4.45 -3.34 4.55 -3.26 4.64 3.43 6.38 -3.04 4.77 -2.95 4.86 p f*
+2045.12 3157.64 -1.06 5.79 5.04 5.64 0.98 -5.79 -4.95 -5.64 f*
+2054.79 2850.11 -5.36 2.58 0.42 6.82 0.54 6.82 5.34 -2.69 0.61 6.75 0.71 6.7 0.8 6.68 
+0.91 6.66 1.02 6.65 5.25 -2.91 1.08 6.58 1.17 6.54 5.26 -2.96 1.23 6.47 1.32 6.45 
+1.41 6.4 1.52 6.38 1.58 6.36 -5.05 3.14 1.71 6.36 -4.95 3.25 -4.9 3.32 -4.8 3.39 
+-4.75 3.47 2 6.46 2.11 6.42 4.64 -3.54 -2.06 -6.37 4.78 -3.43 4.84 -3.37 4.93 -3.29 
+4.97 -3.22 5.05 -3.14 1.82 6.23 1.89 6.18 5.04 -3.14 5.12 -3.09 5.16 -3.02 1.84 6.08 
+5.19 -2.97 5.25 -2.93 5.32 -2.84 -1.72 -5.99 5.41 -2.75 5.49 -2.72 5.54 -2.64 5.6 -2.56 
+5.64 -2.54 -1.45 -5.88 5.73 -2.43 -1.34 -5.88 5.82 -2.37 -1.24 -5.86 3.84 -1.5 0 -315.62 
+0.22 -0.87 0.71 -0.62 0.08 0.61 -1.02 0.89 0 315.62 2.06 -0.78 -1.15 -5.86 3.69 -1.36 
+0 -328.56 1 -3.56 2.99 -5.86 3.04 -5.86 0.04 -0.13 2.59 -5.75 6.1 -5.52 1.17 -0.8 
+5.42 -1.34 0.09 2.82 -0.76 3.23 -0.5 2.61 -1.8 5.77 -6.25 5.54 -4.08 2.5 -1.89 1.47 
+-1.97 1.54 -5.19 3.34 0 328.56 2.3 -0.85 -1.06 -5.83 6.05 -2.13 6.12 -2.06 6.14 -2.02 
+-0.92 -5.77 6.23 -1.93 -0.83 -5.77 6.29 -1.87 -0.74 -5.75 -0.69 -5.76 6.38 -1.75 -0.61 -5.75 
+-0.54 -5.73 -0.5 -5.73 6.47 -1.65 6.49 -1.61 6.53 -1.56 -0.39 -5.66 6.58 -1.48 -0.3 -5.66 
+6.62 -1.41 6.67 -1.39 -0.26 -5.6 6.7 -1.3 6.73 -1.28 6.75 -1.24 -0.18 -5.53 6.8 -1.17 
+-0.13 -5.51 6.81 -1.11 6.86 -1.09 -0.07 -5.45 -0.02 -5.46 0 -5.45 0.07 -5.43 0.09 -5.45 
+-6.84 0.98 0.13 -5.45 -6.81 1 0.2 -5.46 0.24 -5.45 -6.79 0.98 0.28 -5.46 0.35 -5.47 
+0.39 -5.45 0.43 -5.45 0.48 -5.42 0.54 -5.43 -6.68 0.87 0.59 -5.45 0.67 -5.41 0.69 -5.42 
+-6.6 0.8 0.78 -5.4 -6.55 0.78 0.85 -5.42 -6.51 0.78 -1.39 0.18 -5.08 0.65 -6.44 0.82 
+0.99 -5.51 -6.37 0.82 1.06 -5.54 -6.31 0.81 1.16 -5.56 1.24 -5.55 1.31 -5.51 1.36 -5.51 
+1.43 -5.52 -6.12 0.66 1.54 -5.52 -6.08 0.63 1.67 -5.54 -5.99 0.59 1.76 -5.54 1.85 -5.53 
+-5.86 0.52 1.97 -5.55 -5.8 0.5 -11.45 1 2.19 -5.64 2.28 -5.64 2.36 -5.6 2.43 -5.57 
+-5.45 0.32 2.58 -5.6 -5.36 0.3 -5.34 0.28 -5.27 0.26 2.84 -5.68 2.95 -5.67 -5.1 0.18 
+3.11 -5.69 3.21 -5.64 -4.95 0.07 3.37 -5.64 -4.82 0 3.55 -5.67 3.64 -5.62 3.73 -5.58 
+3.87 -5.55 3.95 -5.49 -4.39 -0.22 4.15 -5.49 -4.25 -0.28 4.34 -5.47 4.45 -5.43 4.53 -5.38 
+4.67 -5.32 4.78 -5.25 3.82 0.45 3.86 0.46 4.71 -5.14 -3.78 -0.48 -3.73 -0.48 -3.67 -0.52 
+-4.96 5.23 -3.71 -0.52 -3.62 -0.54 -5.06 5.36 -4.95 5.43 -3.75 -0.48 -3.71 -0.52 -5.01 5.55 
+-4.88 5.63 -4.78 5.7 -4.64 5.76 -4.54 5.79 -4.41 5.86 -4.29 5.93 4.29 0.19 -4.1 5.92 
+4.45 0.14 -3.91 5.9 -3.8 5.95 -3.69 6.02 -4.67 0.02 -3.64 6.08 -3.54 6.14 -3.41 6.16 
+-3.3 6.18 -3.19 6.25 -3.08 6.25 5.03 -0.34 -2.9 6.23 -2.8 6.25 5.2 -0.48 -2.64 6.23 
+-2.54 6.25 -2.43 6.27 -2.32 6.32 -2.23 6.31 -2.11 6.34 -2.02 6.34 5.55 -0.91 -1.87 6.31 
+-1.78 6.34 P
+-1.7 6.34 -1.56 6.34 -1.5 6.36 -1.37 6.38 -1.28 6.38 -1.2 6.38 -1.11 6.4 -0.98 6.38 
+-5.8 1.5 -0.93 6.46 -5.75 1.59 -0.82 6.5 -5.73 1.68 -0.74 6.57 -5.68 1.76 -0.66 6.64 
+-5.64 1.85 -0.55 6.68 -0.43 6.71 -5.6 1.99 -0.32 6.75 -0.24 6.73 -5.53 2.17 -0.13 6.79 
+-0.02 6.77 0.09 6.77 0.19 6.74 -5.44 2.46 0.3 6.79 p f*
+2100.2 3047.83 -3.88 3.84 3.3 5.75 3.84 -3.84 3.93 -3.75 4.02 -3.69 4.1 -3.63 -3.06 -5.73 
+-4.17 3.61 -4.08 3.69 -3.99 3.75 f*
+2113.76 3027.5 -4.32 3.52 3 5.77 4.23 -3.54 -2.91 -5.75 f*
+2115.37 3018.25 -4.45 3.43 2.84 5.82 4.38 -3.47 4.46 -3.38 -2.73 -5.77 -4.51 3.38 f*
+0 155 255 rG
+2115.56 3208.7 -1.56 2.13 1.11 2.32 5.36 7.97 0.04 0.06 5.64 6.57 5.8 6.3 0.43 0.54 
+-0.39 3.38 -0.37 1.15 -2.3 3.54 0.57 5.36 0.87 5.47 0.91 5.44 -0.02 4.86 3.25 6.64 
+1.67 1.87 7.16 7.46 0.26 0.24 2.8 2.11 0 -14.78 -0.3 -0.09 -0.65 -0.41 -1.89 -5.75 
+1.54 0.33 5.88 1.61 2.45 3.34 -1.76 0.91 -5.27 0.07 0 14.78 4.12 3.11 0.5 0.5 
+0 -11.39 -3.45 -0.05 -0.57 -1.97 0.13 0 3.88 2.02 0 11.39 4.51 4.38 2.84 2.69 
+7.47 5.64 2.63 1.52 0.8 0.41 0 -7.62 -0.98 -1.61 0.42 -0.08 0.91 0.63 -0.35 1.06 
+0 7.62 3.41 1.78 1.22 -0.13 4.04 -0.41 3.08 -1.24 1.29 -1.78 1.08 -1.56 -2.73 -5.23 
+1.43 -3.64 2.56 0.35 6.42 2.69 1.95 1.11 2.85 5.04 1.34 4.47 4.66 5.47 0.74 0.54 
+7.44 4.25 2.26 2.04 4.43 4.97 3.67 2.64 3.37 2.73 6.2 4.3 0.91 0.85 8.22 4.66 
+2.43 0.7 5.42 2.47 7.6 2.5 0.28 0.15 8.62 3.93 0.74 0.28 8.31 3.58 0.52 0.22 
+8.64 3.39 0.17 0.09 6.32 3.23 2.63 -0.12 1.56 1.63 3.76 1.43 3.69 -0.35 2.91 2.84 
+0.37 0.26 3.54 3.04 1.02 -0.16 -3.62 -3 -4.05 -2.99 -0.3 -0.15 -8.05 -2.62 -1.15 -0.31 
+-7.42 -2.78 -2.34 -1.19 -5.64 -2.22 -3.55 -1.54 -5.1 -2.19 -3.67 -1.39 -6.09 -2.78 -2.78 -1.3 
+-7.68 -3.37 -0.61 -0.28 -7.05 -1.98 -6.01 -3.43 -4.08 -3.88 -1.21 -0.85 -6.8 -5.21 -1.71 -1.56 
+-3.89 -3.62 -5.92 -5.42 -0.11 -0.05 -5.97 -5.68 1.11 -3.61 0.37 -2.8 -0.15 -1.06 -0.31 -0.35 
+-6.14 -5.83 -1.56 -1.02 -5.95 -1.75 -0.24 -0.07 -5.84 -0.59 -5.82 -0.67 -6.21 -2.28 -6.94 -6.97 
+-0.63 -1.28 -3.63 -5.21 -0.7 -4.84 -4.01 -6.11 -0.48 -0.79 -5.88 -5.21 -4.99 -5.62 -1.26 -1.24 
+-5.66 -7.9 -0.46 -0.82 -5.82 -7.14 -1.93 -2.5 -3.73 -4.43 -5.49 -7.14 -0.34 -0.58 0.41 -0.28 
+6.04 0.13 0.63 0.05 5.38 0.63 5.68 3.77 5.7 4.04 5.86 2.78 5.75 4.23 4.36 6.42 
+1.24 2.39 5.93 5.01 1.25 2.08 4.76 2.97 6.14 5.55 3.28 3.26 3.1 3.88 4.23 3.8 
+2.24 1.86 6.36 3.64 3.61 -0.21 -1.2 -4.5 -1.07 -4.46 -0.34 -4.19 -2.17 -5.04 -0.07 -0.13 
+-2.84 -5.6 -2.78 -5.1 -0.98 -1.13 -4.17 -6.71 -0.07 -1.69 0.16 -2.69 0.17 -4.41 -4.17 -6.66 
+-0.5 -0.89 -1.43 -5.69 -0.15 -4.92 1.56 -3.75 0 -4.84 -0.02 -0.13 -0.02 -5.05 0.65 -4.64 
+2.93 -2.87 2.84 -1.56 0.87 -0.65 0.59 -2.09 0.59 -2.23 1.37 -4.21 2.19 -0.72 1.89 -1.17 
+3.19 -2.67 1.54 -4.15 1.75 -4.01 2.91 -2.99 3.14 -2.76 6.12 -5.73 2.82 -3.12 3.69 -2.28 
+2.85 -3.17 3.34 -2.64 4.27 -1.63 2.54 -0.48 2.91 0.21 4.64 -1.12 2.86 0.21 3.45 0.61 
+-1.73 -2.02 3.36 -2.61 3.43 -2.56 3.47 -2.49 1.17 -0.82 -1.61 0.26 -5.57 -0.07 -3.67 0.17 
+-1.61 0.17 -5.95 -0.43 -3.69 2.39 -3.39 2.71 -2.3 0.87 -1.54 1.33 -0.82 -0.96 -5.08 0.78 
+-3.2 -0.02 -3.12 -0.55 -5.64 0.24 -4.73 1.32 -4.78 1.3 -3.36 2.84 -3.47 2.71 -0.63 0.56 
+-2.61 2.41 -0.24 0.96 -0.65 4.36 -1.15 4.93 -1.82 4.19 -4.45 1.65 -4.21 1.93 -0.98 4.88 
+2.06 5.75 P
+0.22 1.89 -1.37 0.2 -5.64 -0.72 -2.13 1.65 -1.39 0.91 -2.76 3.19 -1.86 3.93 -1.76 3.99 
+-2.19 3.59 -0.09 5.23 0.24 4.14 0.21 1.37 -1.24 4.21 -1.23 3.36 -0.24 0.66 0 0.48 
+-0.28 4.32 -1 4.27 -0.26 -0.02 -5.97 -1.86 -5.9 -2.37 -5.67 -3.64 -3.75 -2.2 -1.93 -1.21 
+-5.62 -3.75 -5.36 -4.99 -4.41 2.06 -1.97 4 -0.91 1.49 p f*
+2 239 204 rG
+2120.9 3215.5 -0.41 0.28 0.34 0.58 5.49 7.14 3.73 4.43 1.93 2.5 5.82 7.14 0.46 0.82 
+5.66 7.9 1.26 1.24 4.99 5.62 5.88 5.21 0.48 0.79 4.01 6.11 0.7 4.84 3.63 5.21 
+0.63 1.28 6.94 6.97 6.21 2.28 5.82 0.67 5.84 0.59 0.24 0.07 5.95 1.75 1.56 1.02 
+6.14 5.83 0.31 0.35 0.15 1.06 -0.37 2.8 -1.11 3.61 5.97 5.68 0.11 0.05 5.92 5.42 
+3.89 3.63 1.71 1.56 6.8 5.21 1.21 0.85 4.08 3.88 6.01 3.43 7.05 1.98 0.61 0.28 
+7.68 3.37 2.78 1.3 6.09 2.78 3.67 1.39 5.1 2.19 3.55 1.54 5.64 2.22 2.34 1.19 
+7.42 2.78 1.15 0.31 8.05 2.63 0.3 0.15 4.05 2.99 3.62 3 1.02 -0.15 -3.71 -2.97 
+-3.99 -2.97 -2.21 -0.93 -5.57 -1.83 -3.39 -0.93 -5.58 -2.08 -4.52 -2.34 -2.66 -1.05 -6.58 -2.84 
+-1.87 -0.8 -6.62 -2.47 -3.58 -1.65 -5.23 -2.45 -4.79 -2.09 -3.52 -1.63 -6.97 -1.89 -3.82 -2.17 
+-4.64 -4.55 -2.3 -1.91 -4.25 -3.19 -5.54 -5.1 -1.74 -4.28 -1.39 -4.19 -1.22 -1.37 -2.73 -3.6 
+-2.78 -4.73 -4.29 -5.34 -0.76 -0.84 -6.88 -4.25 -6.44 -2.97 -5.52 0.67 -0.12 0.04 -4.93 -0.35 
+-0.7 -0.04 -6.51 -3.59 -2.09 -2.08 -3.73 -6.12 -0.47 -4.66 -1.83 -5.38 -1.04 -1.09 -6.3 -4.88 
+-5.46 -5.55 -0.83 -0.89 -6.12 -5.91 -2.71 -3.78 -3.27 -6.16 -1.59 -1.93 -4.18 -4.23 -5.58 -7.05 
+-1.04 -1.37 1.15 -0.07 6.01 0.3 4.04 2.5 1.71 1 1.84 1.45 3.87 3.08 5.8 4.02 
+5.73 7.18 0.41 0.76 5.51 5.47 5.99 3.62 6.04 3.21 3.91 4.13 2.34 2.4 4.45 5.21 
+2.43 5.04 0.67 0.58 5.84 4.04 6.53 4.26 1.58 1.61 5.36 4.08 6.36 2.43 5.95 3.64 
+0.87 0.45 0.89 0.11 3.53 -2.52 0.7 -0.74 1.74 -2.1 -0.61 -3.82 -0.52 -3.82 -0.8 -3.93 
+-2.3 -4.58 -0.09 -0.13 -5.04 -5.75 -1.32 -1.52 -3.41 -4.44 -2.56 -5.1 -0.04 -0.07 -2.61 -5.32 
+-1.24 -4.71 4.11 -1.91 -4.39 -5.77 -0.5 -1.08 -4.34 -6.71 -0.18 -0.24 -0.7 -4.82 -1.3 -5.34 
+-0.67 -2.97 -0.24 -2.24 -0.15 -4.77 0.04 -4.75 2.61 -2.89 1.39 -3.84 1.43 -3.84 1.65 -3.71 
+0.17 -4.08 -0.04 -0.93 0.91 -4.47 2.8 -2.88 3.02 -2.7 2.3 -3.36 1.84 -3.82 3.32 -1.54 
+0.61 -0.35 3.11 -2.67 3.04 -2.73 3.77 -2.04 2.63 -3.2 2.58 -3.27 4.75 -0.98 4.25 -1.48 
+0.82 -0.24 3.89 -0.7 4.96 1.24 2.11 0.5 -1.15 -1.28 -4.04 -4.58 -2.26 -2.63 -3.45 -0.61 
+-2.86 -0.21 -4.64 1.13 -2.91 -0.21 -2.54 0.48 -4.27 1.63 -3.34 2.64 -2.85 3.17 -3.69 2.28 
+-2.82 3.12 -6.12 5.73 -3.14 2.76 -2.91 2.99 -1.75 4.01 -1.54 4.15 -3.19 2.67 -1.89 1.17 
+-2.19 0.72 -1.37 4.21 -0.59 2.23 -0.59 2.09 -0.87 0.65 -2.84 1.56 -2.93 2.87 -0.65 4.64 
+0.02 5.05 0.02 0.13 0 4.84 -1.56 3.75 0.15 4.92 1.43 5.69 0.5 0.89 4.17 6.66 
+-0.17 4.41 -0.16 2.69 0.07 1.69 4.17 6.71 0.98 1.13 2.78 5.1 2.84 5.6 0.07 0.13 
+2.17 5.04 0.34 4.19 1.07 4.46 1.2 4.5 -3.61 0.21 -6.36 -3.64 -2.24 -1.86 -4.23 -3.8 
+-3.1 -3.88 -3.28 -3.26 -6.14 -5.55 -4.76 -2.97 -1.25 -2.08 -5.93 -5.01 -1.24 -2.39 -4.36 -6.42 
+-5.75 -4.23 P
+-5.86 -2.78 -5.7 -4.04 -5.68 -3.77 -5.38 -0.63 -0.63 -0.05 -6.04 -0.12 p f*
+255 0 r6
+2129 2993.6 -4.86 3.14 2.47 5.82 2.54 5.77 4.75 -3.14 4.82 -3.11 -2.45 -5.75 4.95 -3.02 
+-2.3 -5.77 -4.99 3 -4.92 3.06 f*
+7 193 59 rG
+2126.58 3219.38 -1.15 0.07 1.04 1.37 5.58 7.05 4.18 4.23 1.59 1.93 3.27 6.16 2.71 3.78 
+6.12 5.91 0.83 0.89 5.46 5.55 6.3 4.88 1.04 1.09 1.83 5.38 0.47 4.66 3.73 6.12 
+2.09 2.08 6.51 3.59 0.7 0.04 0 -1.67 -1.13 -0.11 -1.12 -0.7 -0.89 -0.54 -1.26 -1.06 
+-3.6 -3.02 -2.37 -3.5 -0.24 -4.49 -0.91 -4.88 -5.1 -5.28 -4.75 -3.75 -1.48 -1.2 -0.57 -0.57 
+-5.68 -6.12 -5.47 -5.12 -0.59 -1.07 -2.25 -5.6 -3.58 -4.69 -5.73 -5.01 -2.73 -3.49 2.95 0 
+5.75 3.6 5.71 5.73 1.25 1.24 3.76 7.23 0.76 0.87 4.19 2.11 1.75 0.91 0.74 0.57 
+5.27 3.8 6.01 3.23 4.04 1.5 1.99 0.87 0.29 0.33 6.04 6.23 1.67 1.95 0.93 4.71 
+4.73 5.7 3.41 2.04 -2.34 3.13 -0.13 0 -2.8 2.95 -2.23 0.26 -4.28 1.24 0 1.67 
+4.93 0.35 0.13 -0.04 5.52 -0.67 6.44 2.97 6.88 4.25 0.76 0.84 4.29 5.34 2.78 4.73 
+2.73 3.6 1.22 1.37 1.39 4.19 1.74 4.28 5.54 5.1 4.25 3.19 2.3 1.91 4.64 4.55 
+3.82 2.17 6.97 1.89 3.52 1.63 4.79 2.09 5.23 2.45 3.58 1.65 6.62 2.47 1.87 0.8 
+6.58 2.84 2.66 1.05 4.52 2.34 5.58 2.08 3.39 0.93 5.57 1.83 2.21 0.93 3.99 2.97 
+3.71 2.97 1.02 -0.15 -3.8 -2.93 -3.95 -2.97 -4.08 -1.73 -3.15 -1.02 -5.58 -1.56 -3.75 -1.39 
+-6.39 -3.35 -0.28 -0.11 -8.03 -3.47 -1.39 -0.74 -8.07 -2.82 -1.09 -0.5 -7.68 -3.6 -1.91 -0.83 
+-6.42 -2.97 -0.7 -0.17 -6.16 -1.58 -1.63 -0.93 -4.38 -4.47 -5.29 -4.45 -0.65 -0.48 -1.56 -3.86 
+7.12 2.82 6.82 2.04 2.3 1.78 5.25 4.43 3.32 2.67 5.1 -1.19 -0.11 -0.37 -0.61 -0.82 
+-2.48 -3.08 -2.06 -3.77 -0.56 -0.22 -5.75 -2.11 -6.55 -1.5 -6.38 -3.43 -1.28 -0.67 -6.38 -4.86 
+-2.21 -1.82 -3.69 -3.54 -4.75 -5.21 -0.74 -0.78 -3.93 -4.6 -4.69 -5.32 -1.95 -0.93 1.78 0.24 
+5.66 -0.45 6.38 2.32 6.64 3.19 4.1 2.86 3.13 2.04 7.05 3.8 1.22 0.89 4.25 4.52 
+3.41 2.8 6.34 1.15 4.43 -0.96 0.84 -0.57 1.7 1.04 -1.04 0.55 -1.91 2.21 4.04 4.02 
+0.89 0.56 6.29 0.76 6.49 1.02 1.46 -0.24 -3.17 -3.28 -0.2 -0.3 -0.02 -0.17 2.11 -2.63 
+-4.82 -3.88 2.15 -2.71 2.06 -2.06 0.99 -0.44 -1.73 -1.82 -2.71 -2.11 -4.82 -3.12 -1.8 -1.46 
+-5.66 -4.6 -0.02 -0.05 -4.71 -4.55 -1.7 -3.82 -1.41 -2.6 -0.91 -1.48 -2.8 -4.32 -0.98 -3.78 
+0.05 -3.41 -1.05 -3.88 -1 -2.87 -1.3 -1.61 -1.3 -4.14 -0.64 -3.91 -1.78 -2.67 -1.52 -2.61 
+-3.65 -4.58 -6.05 -2.25 -2.72 -3.54 -2.25 -3.3 -2.39 -3.45 3.13 -2.3 -1.26 -4.95 -1.04 -4.97 
+-0.09 -0.24 -0.07 -4.23 2.22 -0.95 3.32 0.28 3.41 0.54 2.14 -1.12 0.8 -3.82 0.76 -2.45 
+0.32 -1.21 0.67 -4.04 1.93 0.11 5.91 1.22 -4.56 -3.41 2 -3.09 1.3 -1.91 -3.02 -4.19 
+1.8 -3.36 -0.39 -1.12 -4.99 -3.43 -0.44 0.02 0.07 -0.32 -3.3 -5.86 -0.13 -2.39 2.34 -3.21 
+3.47 -1.11 1.02 -0.11 3.69 -1.96 3.21 -2.41 3.36 -2.25 3.54 -2.06 2 0.63 5.86 1.76 
+1.32 0.05 3.11 -1.07 3.43 -2.09 3.21 -2.3 3.6 -1.89 4.15 -1.23 3.41 -2.11 3.6 -1.84 
+3.71 -1.63 P
+0.09 0 6.62 2.64 1.34 0.89 4.54 -0.58 -2.13 -2.67 -3.34 2.1 -3.71 -4.6 -3.41 -4.29 
+-0.96 0.11 -3.97 0.2 1.24 1.56 -3.02 2.02 -0.28 0.3 -0.46 0.2 -2.93 2.04 -3.23 2.34 
+-3.19 2.41 -3.13 2.45 -3.06 2.5 -4.14 -4.49 -2.95 -3.26 -2.11 -0.5 -4.96 -1.24 -3.89 0.7 
+-0.82 0.24 -4.25 1.48 -4.75 0.98 -2.58 3.27 -2.63 3.2 -3.77 2.04 -3.04 2.73 -3.11 2.67 
+-0.61 0.35 -3.32 1.54 -1.84 3.82 -2.3 3.36 -3.02 2.7 -2.8 2.88 -0.91 4.47 0.04 0.93 
+-0.17 4.08 -1.65 3.71 -1.43 3.84 -1.39 3.84 -2.61 2.89 -0.04 4.75 0.15 4.77 0.24 2.24 
+0.67 2.97 1.3 5.34 0.7 4.82 0.18 0.24 4.34 6.71 0.5 1.08 4.39 5.77 -4.11 1.91 
+1.24 4.71 2.61 5.32 0.04 0.07 2.56 5.1 3.41 4.44 1.32 1.52 5.04 5.75 0.09 0.13 
+2.3 4.58 0.8 3.93 0.52 3.82 0.61 3.82 -1.74 2.1 -0.7 0.74 -3.53 2.52 -0.89 -0.11 
+-0.87 -0.45 -5.95 -3.64 -6.36 -2.43 -5.36 -4.08 -1.58 -1.61 -6.53 -4.26 -5.84 -4.04 -0.67 -0.58 
+-2.43 -5.04 -4.45 -5.21 -2.34 -2.4 -3.91 -4.13 -6.04 -3.21 -5.99 -3.62 -5.51 -5.47 -0.41 -0.76 
+-5.73 -7.18 -5.8 -4.02 -3.87 -3.08 -1.84 -1.45 -1.71 -1 -4.04 -2.5 -6.01 -0.3 p f*
+110 210 9 rG
+2132.38 3222.31 -2.95 0 2.73 3.49 5.73 5.01 3.58 4.69 2.25 5.6 0.59 1.07 5.47 5.12 
+5.68 6.12 0.57 0.57 1.48 1.2 0 -5.26 -1.8 -0.89 -0.56 -0.46 0.54 0.2 1.83 1.15 
+0 5.26 4.75 3.75 5.1 5.28 0.91 4.88 0.24 4.49 2.37 3.5 3.6 3.02 0 -15.64 
+-6.25 -3.8 -1.89 -1.39 1.61 -1.61 1.74 -1.13 4.17 1.61 1.49 1.28 -0.23 4.23 -0.63 0.8 
+0 15.64 1.26 1.06 0.89 0.54 0 -4.27 -0.61 -0.44 0.43 -0.39 0.45 0.79 -0.28 0.04 
+0 4.27 1.13 0.7 1.13 0.11 4.28 -1.24 2.23 -0.26 2.8 -2.95 0.13 0 2.34 -3.13 
+-3.41 -2.04 -4.73 -5.7 -0.93 -4.71 -1.67 -1.95 -6.04 -6.23 -0.29 -0.33 -1.99 -0.87 -4.04 -1.5 
+-6.01 -3.23 -5.27 -3.8 -0.74 -0.57 -1.75 -0.91 -4.19 -2.11 -0.76 -0.87 -3.76 -7.23 -1.25 -1.24 
+-5.71 -5.73 -5.75 -3.6 f*
+2 239 204 rG
+2145.49 3261.42 -1.54 -0.33 1.89 5.75 0.65 0.41 0.3 0.09 5.27 -0.07 1.76 -0.91 -2.45 -3.34 
+-5.88 -1.61 f*
+255 0 r6
+2147.96 3274.28 -0.57 -1.97 0.13 0 3.88 2.02 -3.45 -0.05 f*
+2156.29 3419.32 -7.11 -2.52 11.32 8.99 7.03 2.25 -11.24 -8.72 f*
+0 255 r6
+2155.68 3248.76 -0.54 -0.2 0.56 0.46 1.8 0.89 -1.83 -1.15 f*
+0 155 255 rG
+2162.29 2586.71 -0.22 0.88 1.02 -0.89 -0.08 -0.61 -0.71 0.63 f*
+0 255 r6
+2167.95 3257.64 -1.61 1.61 1.89 1.39 6.25 3.8 0.63 -0.8 0.23 -4.23 -1.49 -1.28 -4.17 -1.61 
+-1.74 1.13 f*
+0 155 255 rG
+2167.67 2563.08 -1 3.56 5.19 -3.34 1.97 -1.54 0 -4.93 2.63 -5.25 3.53 -5.75 3.46 -1.3 
+-0.29 1.58 -3.37 5.73 -5.96 4.99 0 4.93 1.89 -1.47 4.08 -2.5 6.25 -5.54 1.8 -5.77 
+0.5 -2.61 0.76 -3.23 -0.09 -2.82 -5.42 1.34 -1.17 0.8 -6.1 5.52 -2.59 5.75 -0.04 0.13 
+-3.04 5.86 -2.99 5.86 f*
+2 239 204 rG
+2169.1 3291.06 -0.42 0.08 0.98 1.61 0.35 -1.06 -0.91 -0.62 f*
+2176.46 2551.58 -2.63 5.25 5.96 -4.99 3.37 -5.73 0.29 -1.58 -3.46 1.3 -3.53 5.75 f*
+0 255 r6
+2176.46 3276.58 -0.43 0.39 0.61 0.44 0.28 -0.04 -0.45 -0.79 f*
+110 210 9 rG
+2201.67 3286.87 -1.78 -0.24 1.95 0.93 4.69 5.32 3.93 4.6 0.74 0.78 4.75 5.21 3.69 3.54 
+2.21 1.82 6.38 4.86 1.28 0.67 6.38 3.43 6.55 1.5 5.75 2.11 0 -2.21 -5.86 -2.19 
+-0.34 -0.14 -0.93 -0.39 -7.12 -2.84 -5.51 -3.17 -2.15 -1.21 -5.81 -4.51 -2.56 -2.29 -3.23 -3.12 
+-4.43 -5.21 3.47 -2.69 0.74 0.18 0.95 0.39 5.62 2.34 7.16 4.39 2.5 1.45 5.19 4 
+1.22 1.17 4.38 4.49 3.17 1.73 5.6 3.41 -0.21 3.39 -1.82 0.82 0 2.21 0.56 0.22 
+2.06 3.77 2.48 3.08 0.61 0.82 0.11 0.38 -5.1 1.19 -3.32 -2.67 -5.25 -4.43 -2.3 -1.78 
+-6.82 -2.04 -7.12 -2.82 1.56 3.86 0.65 0.48 5.29 4.45 4.38 4.47 1.63 0.93 6.16 1.58 
+0 -0.93 -4.25 -1.05 -3.02 -1.43 -3.08 -3.26 0.02 -2.06 6.91 2.04 2.02 1.5 3.67 4.14 
+-2.26 0.11 0 0.93 0.7 0.17 6.42 2.97 1.91 0.83 7.68 3.6 1.09 0.5 8.07 2.82 
+1.39 0.74 8.03 3.47 0.28 0.11 6.39 3.35 3.75 1.39 5.58 1.56 3.15 1.02 4.08 1.73 
+3.95 2.97 3.8 2.93 1.02 -0.16 -3.86 -2.91 -3.93 -2.93 -5.93 -2.56 -0.71 -0.23 -7.8 -2.15 
+-1.93 -0.72 -5.8 -3.3 -3.08 -1.39 -4.97 -2.13 -4.71 -2.49 -4.32 -1.39 -4.55 -2.67 -3.71 -1.5 
+2.19 -0.71 3.02 -2.32 -1.55 -3.57 -0.34 -1.61 -0.07 -1.85 3.56 -2.32 6.46 0.93 6.81 1.43 
+5.1 1.93 2.97 1.37 6.32 0.35 4.04 -1.11 1.06 -0.49 5.38 -1.22 1.58 -0.98 -1.48 -2.87 
+-4.05 -2.93 -0.11 -0.08 -2.35 -3 0.57 -0.56 2.52 -1.96 -0.61 -2.82 -5.26 -2.65 -2.38 -1 
+-1.26 -2.99 -0.75 -2.93 -4.15 -3.54 -1.75 -2.37 -0.82 -0.99 -6.49 -4.34 -0.02 -0.02 -4.06 -3.97 
+0.04 -3 -3.78 -3.95 -0.62 -0.37 -5.9 -3.95 -0.76 -1.28 0.61 -1.82 0.38 -1.02 -0.42 -0.54 
+-3.45 -4.06 0.18 -3.19 1.21 -2.82 -2.62 -4.36 -0.78 -1.48 -0.24 -2.34 1.02 -2.62 0.11 -0.28 
+-0.04 -0.11 -1.17 -3.88 1.86 -2.56 -1.69 -4.36 -2.04 -3.73 -0.69 -1.3 -1.26 -4.38 -0.96 -4.32 
+2.13 -2.58 1.11 -3.17 -0.87 -0.54 1.47 -3 1.57 -2.95 -5.38 -3.58 1.71 -2.97 -5.28 -3.73 
+-5.21 -3.78 -0.62 -0.45 -5.91 -1.22 -1.93 -0.11 -0.67 4.04 -0.32 1.21 -0.76 2.45 -0.8 3.82 
+-2.14 1.13 -3.41 -0.54 -3.32 -0.28 -2.22 0.95 0.07 4.23 0.09 0.24 1.04 4.97 1.26 4.95 
+-3.13 2.3 2.39 3.45 2.25 3.3 2.72 3.54 6.05 2.25 3.65 4.58 1.52 2.61 1.78 2.67 
+0.64 3.91 1.3 4.14 1.3 1.61 1 2.87 1.05 3.88 -0.05 3.41 0.98 3.78 2.8 4.32 
+0.91 1.48 1.41 2.6 1.7 3.82 4.71 4.55 0.02 0.05 5.66 4.6 1.8 1.46 4.82 3.12 
+2.71 2.11 1.73 1.82 -0.99 0.44 -2.06 2.06 -2.15 2.71 4.82 3.88 -2.11 2.63 0.02 0.17 
+0.2 0.3 3.17 3.28 -1.46 0.24 -6.49 -1.02 -6.29 -0.76 -0.89 -0.56 -4.04 -4.02 1.91 -2.21 
+1.04 -0.55 -1.7 -1.04 -0.84 0.57 -4.43 0.96 -6.34 -1.15 -3.41 -2.8 -4.25 -4.52 -1.22 -0.89 
+-7.05 -3.8 -3.12 -2.04 -4.1 -2.86 -6.64 -3.19 -6.38 -2.32 -5.66 0.45 f*
+0 255 r6
+2213.71 3291.43 -3.47 2.69 4.43 5.21 3.23 3.12 2.56 2.29 5.81 4.51 2.15 1.21 5.51 3.17 
+7.13 2.84 0.93 0.39 0 -3.43 -2.5 -0.3 -1.19 -0.46 -5.99 -2.78 -7.18 -3.54 -0.78 -0.59 
+-4.04 -4.82 2.28 -1.59 6.62 2.38 3.06 2.41 2.41 4.14 4.49 4.06 2.82 1.06 0 3.43 
+0.34 0.14 5.86 2.19 1.82 -0.82 0.21 -3.39 -5.6 -3.41 -3.17 -1.73 -4.38 -4.49 -1.22 -1.17 
+-5.19 -4 -2.5 -1.45 -7.16 -4.39 -5.62 -2.34 -0.95 -0.39 -0.74 -0.18 f*
+255 203 0 rG
+2222.59 3299.37 -2.28 1.59 4.04 4.82 0.78 0.59 7.18 3.54 5.99 2.78 1.19 0.46 2.5 0.3 
+-2.82 -1.06 -4.49 -4.06 -2.41 -4.14 -3.06 -2.41 -6.62 -2.38 f*
+110 210 9 rG
+2230.14 3166.58 -2.34 3.21 0.13 2.39 3.3 5.86 -0.07 0.32 0.44 -0.02 4.99 3.43 0.39 1.13 
+-1.8 3.36 3.02 4.19 0.78 -1.13 5.04 3.95 5.08 3.88 5.14 3.82 5.18 3.77 0.24 -0.37 
+-3.34 -6.16 2.06 -2.78 0.26 -0.66 0.75 -2.97 -1.56 -5.86 -0.02 -0.26 -2.93 -6.23 -0.02 -0.83 
+-1.62 -6.49 3.08 -2.28 4.08 -1.34 2.04 -3.28 2.82 -2.56 2.97 -2.43 4.73 -0.59 2.93 -0.07 
+2.78 0.57 4.62 -0.57 3.69 -0.95 0.46 -0.09 5.1 0.07 2.67 1.43 0.02 1.59 -1.61 3.64 
+-0.09 3.38 4.75 3.88 1.3 -1 -4.14 -4.34 2.93 -2.15 2.97 -2.11 -3.93 -4.45 3.11 -2.11 
+-3.8 -4.51 3.23 -2.08 -1.54 -1.91 -4.54 0.58 -1.34 -0.89 -6.62 -2.64 -0.09 0 -3.71 1.63 
+-3.6 1.84 -3.41 2.11 -4.15 1.23 -3.6 1.89 -3.21 2.3 -3.43 2.09 -3.11 1.07 -1.32 -0.05 
+-5.86 -1.76 -2 -0.63 -3.54 2.06 -3.36 2.25 -3.21 2.41 -3.69 1.96 -1.02 0.11 -3.47 1.11 f*
+255 0 r6
+2231.99 3132.42 -1.76 1.5 2.3 -0.87 3.39 -2.71 3.69 -2.39 5.95 0.43 1.61 -0.17 3.67 -0.17 
+5.57 0.07 1.61 -0.26 2.39 -1.63 -3.64 -4.78 -3.63 2.48 -3.66 -4.8 -3.62 2.56 -3.56 2.61 
+-3.75 -4.79 -3.59 2.69 -3.49 2.73 3.88 4.73 -3.34 2.78 f*
+2237.07 2533.03 -3.95 5.12 4.43 0.22 3.84 -5.1 -4.32 -0.24 f*
+0 255 r6
+2233.46 3324.18 -0.02 2.06 3.08 3.26 3.02 1.43 4.25 1.05 2.26 -0.11 -3.67 -4.14 -2.02 -1.5 
+-6.91 -2.04 f*
+255 G
+2239.46 3198.85 -4.56 -3.41 2 -3.09 1.3 -1.91 0.78 -1.13 5.04 3.95 5.08 3.88 5.14 3.82 
+5.18 3.77 0.24 -0.37 1.67 -2.43 5.17 3.73 5.2 3.67 5.27 3.6 5.3 3.54 5.36 3.45 
+5.41 3.41 4.62 2.82 0.83 0.5 5.49 3.26 1.43 -2.3 1.52 -2.29 5.41 3.3 5.45 3.25 
+-1.39 2.15 -1.32 2.17 -1.26 2.21 1.95 1.02 3.71 1.95 1.2 -2.15 1.26 -2.1 1.33 -2.11 
+1.39 -2.05 2.76 1.59 2.71 1.56 5.49 3.1 -1.26 1.93 -1.19 1.96 -1.13 1.97 5.7 2.82 
+5.77 2.73 2.11 0.98 3.69 1.7 -0.91 1.78 -0.82 1.78 -0.02 0.05 -5.91 -2.54 -0.84 1.91 
+-5.93 -2.54 -5.9 -2.58 -0.89 2.06 -5.91 -2.61 -5.88 -2.69 -2.67 -1.26 -3.17 -1.49 1.06 -2.28 
+1.11 -2.26 -5.69 -3 -1.17 2.34 -1.11 2.34 -5.77 -2.93 -1.08 2.45 5.81 2.84 -0.95 2.41 
+-0.89 2.43 5.95 2.63 -0.76 2.38 -0.7 2.39 -0.61 2.43 -6.1 -2.38 -0.59 2.52 -0.54 -0.21 
+-5.56 -2.2 -0.54 2.63 -6.12 -2.41 -0.5 2.73 -6.14 -2.43 -6.07 -2.5 -6.08 -2.58 0.63 -2.95 
+-5.99 -2.75 -5.94 -2.84 0.8 -3.08 0.91 -3.04 1 -3.02 1.08 -2.97 -5.71 -3.19 1.24 -3.02 
+1.32 -2.97 -4.69 -2.87 -0.87 -0.54 1.47 -3 1.57 -2.95 -5.38 -3.58 1.71 -2.97 -5.28 -3.73 
+-5.21 -3.78 -0.62 -0.45 f*
+0 255 r6
+2250.96 3223.03 -2.13 2.58 0.96 4.32 1.26 4.38 0.69 1.3 2.04 3.73 1.69 4.36 -1.86 2.56 
+1.17 3.88 0.04 0.11 -0.11 0.28 -1.02 2.63 0.24 2.34 0.78 1.48 2.62 4.36 -1.21 2.82 
+-0.18 3.19 3.45 4.06 0.42 0.54 -0.37 1.02 -0.61 1.82 0.76 1.28 5.9 3.95 0.63 0.37 
+3.78 3.95 -0.04 3 4.06 3.97 0.02 0.02 6.49 4.34 0.82 0.99 1.75 2.37 4.15 3.54 
+0.75 2.93 1.26 2.99 2.38 1 5.26 2.65 0.61 2.82 -2.52 1.96 -0.57 0.56 2.35 3 
+0.11 0.08 4.05 2.93 1.48 2.87 -1.58 0.98 -5.38 1.22 -1.06 0.49 -4.04 1.11 -6.32 -0.35 
+-2.97 -1.37 -5.1 -1.93 -6.81 -1.43 -6.46 -0.93 -3.56 2.32 0.07 1.85 0.34 1.61 1.55 3.57 
+-3.02 2.32 -2.19 0.71 3.71 1.5 4.55 2.67 4.32 1.39 4.71 2.49 4.97 2.13 3.08 1.39 
+5.8 3.3 1.93 0.72 7.8 2.15 0.71 0.23 5.93 2.56 3.93 2.93 3.86 2.91 1.02 -0.15 
+-3.97 -2.87 -3.86 -2.93 -5.19 -2.89 -2.97 -0.89 -7.92 -1.78 -0.09 -0.04 -5.18 -3.28 -5.9 -2.62 
+-1.91 -0.82 -4.14 -3.58 -1.16 -3.47 -2.69 -3.56 -0.48 -3.08 0.13 -0.3 3.06 -3.04 0.69 -0.04 
+0.85 0.19 6.04 1.29 5.94 2.69 2.82 3.23 2.62 3.21 1.93 1.34 7.42 1.59 -0.09 -3 
+-1.58 -3.02 0.85 -3.02 0.28 -0.11 5.84 -0.55 4.16 0.61 2.8 0.43 7.04 0.96 3.12 0.84 
+5.12 1.54 2.63 0.5 3.79 2.26 3.39 2.21 1.73 0.78 3 -1.49 -0.82 -2.47 -3.86 -2.06 
+-4.06 -2.13 -2.25 -2.39 -1.41 -2.45 -0.8 -2.48 -1.63 -2.43 -1.8 -2.46 -2.5 -1.54 -3.8 -1 
+-4.3 -2.54 -0.15 -0.15 0.04 -0.04 0.24 0.04 6.97 1.84 0.15 -1.58 -2.02 -2.52 -0.39 -0.41 
+-4.38 -2.34 -3.37 -2.8 -0.97 -0.89 -6.95 -2.13 -0.78 -0.5 -2.39 -2.95 -0.3 -2.7 1.21 -1.3 
+0.41 -1.04 -0.2 -2.62 -0.54 -2.7 -0.7 -2.73 -1.04 -5.46 -0.56 -2.41 -0.3 -0.45 -1.78 -3.12 
+-0.46 -2.82 0.8 -2.45 -1.2 -3.09 -3.05 -2.02 -2.11 -2.54 2.54 -0.91 3.3 0.22 0.87 -2.43 
+2.54 -1.8 -5.56 -2.2 -0.54 2.63 -6.12 -2.41 -0.5 2.73 -6.14 -2.43 -6.07 -2.5 -6.08 -2.58 
+0.63 -2.95 -5.99 -2.75 -5.94 -2.84 0.8 -3.08 0.91 -3.04 1 -3.02 1.08 -2.97 -5.71 -3.19 
+1.24 -3.02 1.32 -2.97 -4.69 -2.87 -1.11 3.17 f*
+2256.32 3169.88 -3.08 2.28 1.63 6.49 0.02 0.83 2.93 6.23 0.02 0.26 1.56 5.86 -0.75 2.97 
+-0.26 0.66 -2.06 2.78 3.34 6.16 1.67 -2.43 5.17 3.73 5.2 3.67 5.27 3.6 5.3 3.54 
+5.36 3.45 5.41 3.41 4.62 2.82 -3.73 -4.23 -0.99 -2.11 0.06 -3.47 0.83 -3.04 1.06 -2.93 
+3.56 -1.13 4.13 1.13 0.95 -1.11 -4.99 -3.73 -4.95 -3.78 2.13 -2.32 -4.82 -3.89 2.26 -2.34 
+2.17 -2.12 -0.61 -0.82 -2.26 -4.88 -0.7 -2.19 3.73 -1.17 0.54 0.15 5.91 2.91 4.64 3.93 
+0.7 -0.58 -4.45 -4.12 2.59 -2.13 -4.34 -4.21 -4.25 -4.23 1.47 -1.17 -4.75 -3.88 0.09 -3.38 
+1.61 -3.64 -0.02 -1.59 -2.67 -1.43 -5.1 -0.07 -0.46 0.09 -3.69 0.95 -4.62 0.57 -2.78 -0.57 
+-2.93 0.07 -4.73 0.59 -2.97 2.43 -2.82 2.56 -2.04 3.28 -4.08 1.34 f*
+255 203 0 rG
+2266.75 3330.64 -0.13 0.3 0.48 3.08 2.69 3.56 1.16 3.47 4.14 3.58 1.91 0.82 5.9 2.63 
+5.18 3.28 0.09 0.04 7.92 1.78 2.97 0.89 5.19 2.89 3.86 2.93 3.97 2.87 0.26 -0.05 
+0.28 0.24 6.51 2.02 1.15 -0.22 -5.54 -2.43 -5.42 -2.37 -0.28 -0.2 -3.82 -2.91 -3.36 -3.02 
+-7.16 -2.14 -2.41 -0.52 -6.31 -2.25 -1.33 -0.87 -5.3 -3.36 -1.89 -3.41 -2.02 -3.41 -0.76 -3.34 
+0.13 -0.2 1.11 0.26 6.08 1.41 2.73 2.13 2.75 3.25 -0.41 1.39 -1.22 1.91 3.43 3.25 
+2.75 0.82 5.13 2.13 4.34 1.34 4.56 1.2 4.51 1.48 2.84 0.91 5.62 2.37 0 -7.92 
+-3.17 -0.72 -1.17 -0.26 -4.88 -1.89 -1.43 -0.58 0.63 -0.31 2.39 -2.99 -4.45 -2.71 -2.86 -2.87 
+2.04 -2.71 7.01 0.96 6.32 -0.07 2.52 0.79 5.27 2.23 2.72 2.41 1.56 1.06 1.93 1.21 
+3.91 2.13 -0.48 2.14 -6.6 0.13 -6.4 0.26 -4.84 1.78 0 7.92 0.09 0.04 2.67 0.98 
+6.88 0.07 0.87 0.24 5.32 2.02 3.8 2.3 4.43 2.06 3.08 1.46 1.61 0.43 4.53 1.84 
+0.15 0.24 0 -3.36 -0.46 -0.16 -0.61 -0.59 1.22 0.37 -0.16 0.38 0 3.36 1.74 2.56 
+2.82 -0.52 0 -12.87 -2.06 -0.07 0.17 -1.34 2.82 0.35 -0.93 1.06 0 12.87 2.9 -0.56 
+2.26 0.76 0 -23.91 1.58 -1.24 0.85 0.5 -0.13 0.11 -2.3 0.63 0 23.91 0.78 0.26 
+3.67 1.93 3.45 2.02 3.32 2.08 0.58 0.76 -3.41 2.78 -2.08 -0.91 -7.98 0.13 -0.44 0.07 
+-7.68 -0.56 -3.87 -2.32 -1.62 -0.43 1.07 0.65 3.88 2.34 3.99 2.26 -0.35 0.17 1.2 0.3 
+6.7 -0.91 1.91 -0.05 0.07 1.06 -1.79 3.52 0.24 0.39 3 2.8 3.97 2.29 3.56 1.25 
+0 -1.67 -2.08 -0.48 -4.41 -1.97 -1.02 -1 2.24 -3.25 6.29 -0.13 3.04 2.52 0.37 2.09 
+-4.43 2.23 0 1.67 1.34 0.46 4.39 0.3 3.99 -2.48 -1.07 -2.75 -0.43 -2.02 -0.58 -1.84 
+-2.04 -2.99 -0.11 -0.65 -0.74 -2.93 -3.02 -2.16 -3.71 -1.78 -3.41 -1.95 -2.2 -2.54 -0.08 -0.09 
+0.89 -0.28 4.86 -1.24 0.22 0 0 -4.8 -5.21 -0.57 -2.98 -1.95 1.63 -1.67 2.63 -0.04 
+3.04 1.78 0.89 2.45 0 4.8 2.86 0.07 0 -2.63 -0.63 -0.89 1.24 0.58 0.05 0.16 
+-0.65 0.15 0 2.63 1.45 0.02 3.13 1.82 2.73 2.06 2.52 2.21 3.06 1.91 0.07 0.04 
+2.75 2.11 4.36 1 0.61 0.18 3.32 1.11 3.63 1.49 0.04 0.02 2.15 2.87 3 2.28 
+4.23 1.06 4.64 0.52 4.05 1.15 3.78 1.58 3.99 1.35 1.91 -3.04 4.14 0.8 1.89 -3.4 
+-3.95 -0.79 2.04 -3.43 2.02 -3.45 -3.56 -0.76 2.11 -3.34 -4.76 1.23 -2.73 0.83 -2.26 0.34 
+-4.82 0.61 -4.02 -0.52 -3.86 -0.78 -0.13 0.02 -5.4 0.72 -2.67 0.65 -2.67 -0.41 -2.67 -1.61 
+-0.3 -0.26 -2.73 -1.99 -2.74 -1.93 -1.28 -0.22 -3.23 -0.52 -2.78 -1.9 -1.76 -2.5 -1.43 -2.56 
+0 -0.15 -0.63 -2.76 -2.64 -1.75 -2.7 -1.76 -2.36 -1.91 -2.32 -1.91 0.56 -1.2 4.45 -2.39 
+-1.08 -0.76 -2.37 -1.71 -2.32 -1.76 -2.23 -1.78 -2.17 -1.82 -1.41 -1.2 -4.47 2.39 0.14 0.5 
+-2.87 3.34 -6.75 0.37 -3.58 -0.26 -2.15 -2.25 0.93 -1.85 1.46 -1.34 -2.15 -2.17 -2.47 -2.12 
+0.04 -2.52 P
+1.26 -0.85 1.69 0.37 6.25 1.3 0.46 0.11 4.96 1.17 4.35 1.15 -1.81 -1.74 5.64 -1.37 
+-1.82 -1.82 -1.76 -1.82 -1.69 -1.87 -1.63 -1.89 -1.56 -1.91 2.82 -0.43 -3.47 -0.39 -6.66 -0.05 
+-4.29 0.15 -3.23 -1.95 -1.37 -2.15 -1.57 -2.17 0.2 -2.21 3.73 -1.7 -0.32 -0.58 0.63 -0.02 
+-1.26 -1.17 -2 -0.89 -1.36 -2.12 -2.19 -2.17 -2.5 -2.23 -2.08 -1 -5.4 0.59 -0.59 0.07 
+-0.29 -0.13 -3.08 -2.5 2.19 -0.59 1.43 -1.37 2.17 -1.99 0.73 -2.09 -6.66 -2.97 -1.93 -0.37 
+-4.86 -2.36 -0.33 -0.79 0.15 -0.19 1.84 -1.76 0.18 -2.28 -2.43 -2.84 -0.5 -0.74 -1.39 -2.04 
+-1.54 -2.78 -2.63 -3.13 -0.87 -1.41 -0.67 -1.5 -2.08 -3.15 -1.74 -3.12 -0.39 -2.73 -0.12 -1.76 
+0.08 -0.89 0.2 -0.57 0.97 -1.63 1.89 -1.9 2.43 -1.67 -0.54 -2.87 1 -2.26 0.75 -2.37 
+1.89 -1.84 -3.17 -1.49 1.06 -2.28 1.11 -2.26 -5.69 -3 -1.17 2.34 -1.11 2.34 -5.77 -2.93 
+-1.08 2.45 5.81 2.84 -0.95 2.41 -0.89 2.43 5.95 2.63 -0.76 2.38 -0.7 2.39 -0.61 2.43 
+-6.1 -2.38 -0.59 2.52 -0.54 -0.21 -2.54 1.8 -0.87 2.43 -3.3 -0.22 -2.54 0.91 2.11 2.54 
+3.05 2.02 1.2 3.09 -0.8 2.45 0.46 2.82 1.78 3.13 0.3 0.45 0.56 2.41 1.04 5.46 
+0.7 2.73 0.54 2.7 0.2 2.62 -0.41 1.04 -1.21 1.3 0.3 2.7 2.39 2.95 0.78 0.5 
+6.95 2.13 0.97 0.89 3.37 2.8 4.38 2.34 0.39 0.41 2.02 2.52 -0.15 1.58 -6.97 -1.84 
+-0.24 -0.04 -0.04 0.04 0.15 0.15 4.3 2.54 3.8 1 2.5 1.54 1.8 2.46 1.63 2.43 
+0.8 2.48 1.41 2.45 2.25 2.39 4.06 2.13 3.86 2.06 0.82 2.47 -3 1.49 -1.73 -0.78 
+-3.39 -2.21 -3.79 -2.26 -2.63 -0.5 -5.12 -1.54 -3.12 -0.84 -7.04 -0.96 -2.8 -0.43 -4.16 -0.61 
+-5.84 0.55 -0.28 0.11 -0.85 3.02 1.58 3.02 0.09 3 -7.42 -1.59 -1.93 -1.34 -2.62 -3.21 
+-2.82 -3.23 -5.94 -2.69 -6.04 -1.29 -0.85 -0.19 -0.69 0.04 -3.06 3.04 p f*
+0 155 255 rG
+2271.22 3126.24 -3.6 2.32 3.56 4.55 3.02 -2.95 3.24 -0.87 1.43 0.05 5.04 -0.29 3.93 0.83 
+1.3 -0.76 -3.41 -4.77 -2.28 -3.21 -4.26 1.43 -4.14 1.29 -3.82 2.39 f*
+2 239 204 rG
+2274.2 3130.17 -3.02 2.95 0.11 0.15 3.52 -2.3 3.64 4.69 2.45 3.11 3.97 -0.2 0.96 -0.11 
+-0.26 -0.35 -3.62 -4.68 3.58 -2.17 2.3 -1.37 -3.93 -0.83 -5.04 0.29 -1.43 -0.05 -3.24 0.88 f*
+255 135 0 rG
+2274.83 3334.33 -0.13 0.2 0.76 3.34 2.02 3.41 1.89 3.41 5.3 3.36 1.33 0.88 6.31 2.25 
+2.41 0.52 7.16 2.14 3.36 3.02 3.82 2.91 0.28 0.2 5.42 2.37 5.54 2.43 0.96 -0.19 
+2.24 1.84 1.88 0.74 5.17 2.25 4.55 2.32 4.71 2.2 0.7 -0.22 0.5 0.34 0 -0.5 
+-0.79 -0.04 -4.36 -2 -4.21 -2.39 -4.43 -2.38 -5.16 -2.34 2.82 -2.52 6.09 0.59 2.76 0.98 
+2.37 1.08 5.14 1.93 4.21 2.11 3.14 2.41 -0.91 2.5 -2.3 0.02 -4.38 0.06 0 0.5 
+3.19 2.11 2.73 1.74 1.63 0.43 3.87 2.32 7.68 0.56 0.44 -0.07 7.98 -0.13 2.08 0.91 
+3.41 -2.78 -0.58 -0.76 -3.32 -2.08 -3.45 -2.02 -3.67 -1.93 -0.78 -0.26 -2.26 -0.76 -2.9 0.56 
+-2.82 0.52 -1.74 -2.56 -0.15 -0.24 -4.53 -1.84 -1.61 -0.43 -3.08 -1.46 -4.43 -2.06 -3.8 -2.3 
+-5.32 -2.02 -0.87 -0.24 -6.87 -0.07 -2.67 -0.98 -0.09 -0.04 -5.62 -2.37 -2.84 -0.91 -4.51 -1.48 
+-4.56 -1.2 -4.34 -1.34 -5.12 -2.13 -2.75 -0.82 -3.43 -3.25 1.22 -1.91 0.41 -1.39 -2.75 -3.25 
+-2.73 -2.13 -6.08 -1.41 -1.11 -0.26 f*
+255 0 r6
+2278.58 3121.72 -3.54 2.13 4.14 -1.29 4.26 -1.43 -1.09 -1.59 -3.77 2.17 f*
+2 239 204 rG
+2278.78 3142.58 -0.39 0.26 0.46 -0.2 0.28 -0.3 -0.34 0.24 f*
+255 0 r6
+2282.92 3112.59 -3.88 2.14 3.32 4.82 3.82 -2.12 -3.26 -4.84 f*
+87 0 136 rG
+2288.39 2469.49 -5.56 4.43 3.02 0.61 3.08 0.57 3.12 0.56 3.2 0.55 3.21 0.52 5.01 -4.34 
+-3.11 -0.54 -3.08 -0.57 5.36 -4.29 5.43 -4.26 5.55 -4.16 5.64 -4.08 5.75 -4.02 5.86 -3.93 
+5.97 -3.84 6.05 -3.75 6.16 -3.67 6.29 -3.58 6.36 -3.5 1.83 0.57 1.86 0.54 6.25 -3.4 
+1.78 0.5 1.8 0.5 1.84 0.5 1.89 0.48 1.91 0.45 5.73 -3.39 1.82 0.43 1.84 0.44 
+5.58 -3.34 1.75 0.41 1.79 0.38 1.8 0.39 1.82 0.37 1.84 0.35 1.89 0.34 1.91 0.33 
+4.73 -3.34 3.61 0.61 1.82 0.3 -4.32 3.37 2 0.3 1.99 0.25 -3.95 3.46 2.17 0.28 
+2.19 0.26 2.22 0.26 -3.47 3.52 2.37 0.24 2.38 0.24 2.41 0.22 -2.97 3.58 2.54 0.21 
+-2.78 3.63 5.42 0.39 2.76 0.17 -2.32 3.68 2.89 0.17 -2.15 3.71 6.08 0.3 3.06 0.13 
+3.08 0.13 6.16 0.22 -1.32 3.73 6.46 0.18 -1.02 3.75 1.56 0.04 0 -82.66 -2.36 -0.41 
+-0.91 -0.8 0.91 -0.24 1.17 -0.15 2.04 0.39 0.61 0.71 -0.61 0.3 -0.85 0.2 0 82.66 
+1.8 0.05 3.37 0.04 3.38 0.06 3.39 0.04 3.38 0.02 3.38 0.04 3.32 0 0 -87.65 
+-0.24 0 -0.93 -0.05 -1.36 -0.5 -1.78 -1.08 -0.11 -0.09 0.02 -0.11 0.83 -1.21 1.21 -0.59 
+1.43 -0.11 1.56 0.48 1.11 1.32 -0.68 1.37 -1.06 0.57 0 87.65 10.24 0 3.38 -0.04 
+3.39 -0.02 3.38 -0.04 3.38 -0.06 3.37 -0.04 3.36 -0.09 3.37 -0.06 3.36 -0.11 1.26 3.8 
+3.47 -0.11 6.9 -0.21 3.45 -0.13 -1.75 -3.82 3.29 -0.13 3.3 -0.16 3.25 -0.17 3.28 -0.17 
+3.23 -0.17 3.23 -0.2 6.42 -0.43 3.17 -0.24 2.86 3.84 6.56 -0.48 3.23 -0.26 3.21 -0.29 
+3.19 -0.28 3.17 -0.3 3.14 -0.31 3.11 -0.32 3.08 -0.35 3.06 -0.35 4.02 3.95 3.14 -0.37 
+4.06 4 3.23 -0.37 3.19 -0.36 3.17 -0.41 3.15 -0.39 3.1 -0.43 4.54 4.09 3.17 -0.42 
+3.14 -0.46 3.11 -0.48 3.75 3.3 0 -29.25 -2.63 -0.93 -1.45 -1.37 3.82 0.52 0.26 1.79 
+0 29.25 1.02 0.89 3.19 -0.48 3.13 -0.48 -5.01 -4.21 2.99 -0.52 2.93 -0.52 -5.32 -4.17 
+2.78 -0.56 2.73 -0.59 2.7 -0.59 2.64 -0.63 2.61 -0.62 2.54 -0.67 2.5 -0.68 2.45 -0.71 
+2.39 -0.71 2.32 -0.76 -6.51 -4.1 -6.64 -4.02 2.06 -0.76 2.02 -0.8 1.95 -0.8 1.89 -0.83 
+1.84 -0.86 1.78 -0.87 1.7 -0.91 7.38 3.97 7.25 4.11 1.85 -0.96 1.8 -0.95 7.34 4.19 
+1.82 -1 1.74 -1.04 1.68 -1.04 1.58 -1.09 1.52 -1.12 1.46 -1.15 1.37 -1.17 1.26 -1.21 
+1.19 -1.24 1.13 -1.28 1.02 -1.32 8.29 4.23 1.02 -1.37 0.93 -1.39 0.82 -1.43 0.74 -1.47 
+0.63 -1.5 0.55 -1.54 0.43 -1.58 -8.87 -4.02 0.26 -1.59 0.15 -1.61 0.05 -1.65 -0.09 -1.67 
+-0.17 -1.71 -0.3 -1.76 -0.41 -1.78 9.33 3.71 -0.49 -1.87 -9.36 -3.67 -0.67 -1.84 -0.79 -1.87 
+-0.89 -1.93 -1.04 -1.93 -1.17 -1.98 -1.29 -1.99 -1.43 -2.04 -1.58 -2.07 -1.71 -2.09 -1.84 -2.11 
+-2 -2.12 -2.14 -2.15 -2.31 -2.17 -2.43 -2.19 -2.61 -2.21 -2.76 -2.21 -2.88 -2.23 -3.06 -2.24 
+-3.23 -2.23 -3.37 -2.23 -3.54 -2.24 -3.69 -2.23 -3.87 -2.23 -4.01 -2.22 -4.19 -2.19 -8.46 -0.76 
+-4.19 -2.04 P
+-4.34 -2 -4.47 -1.99 -7.81 -0.14 -4.43 -1.8 -4.55 -1.78 -4.71 -1.74 -4.82 -1.66 -4.95 -1.65 
+-6.55 0.7 -4.82 -1.46 -4.93 -1.41 -5.01 -1.37 -5.14 -1.3 -5.34 1.3 -4.95 -1.12 -5.01 -1.09 
+-5.1 -1.02 -5.19 -0.93 -5.23 -0.89 -5.32 -0.83 -3.41 1.93 -5.04 -0.67 -5.1 -0.61 -2.66 2.11 
+-2.61 2.14 4.47 0.5 -2.84 2.17 4.14 0.5 4.09 0.56 4.03 0.59 -3.6 2.06 3.71 0.59 
+-3.78 2.06 -3.69 2.13 -0.43 0.26 2.82 0.67 1.28 1.41 -0.48 0.96 -2.52 0.61 -4.41 0.5 
+-2.66 -0.39 0.3 -2.17 -0.41 -0.07 -2.95 -0.37 -2.97 -0.37 -6.03 -0.61 2.25 -2.41 -3.3 -0.29 
+-1.99 2.45 -3.06 -0.24 -3.06 -0.18 -3.08 -0.17 -3.08 -0.11 -3.11 -0.08 -3.1 -0.07 -6.23 0 
+-3.11 0.07 -3.08 0.08 -3.1 0.11 -3.08 0.17 -3.06 0.18 -3.06 0.24 -3.04 0.24 -6.04 0.61 
+-2.97 0.37 2.99 2.34 -2.7 0.34 -2.66 0.38 -2.65 0.39 -2.61 0.41 -3.99 -2.14 -2.82 0.49 
+-2.8 0.55 -2.76 0.54 -4.82 -1.89 -2.95 0.67 -2.91 0.68 -2.84 0.71 -2.8 0.74 -2.73 0.76 
+-2.69 0.78 -6.3 -1.3 -2.82 0.91 -2.78 0.91 -2.71 0.95 -6.99 -0.91 -2.82 1.06 -2.75 1.08 
+-2.67 1.11 -2.58 1.13 -2.52 1.13 -2.46 1.15 -2.34 1.18 -2.28 1.17 -2.19 1.19 -2.12 1.2 
+-8.55 0.28 -2.15 1.3 -2.04 1.32 -1.95 1.32 -1.87 1.31 -1.78 1.32 -1.7 1.32 -9.13 1.08 
+-1.65 1.43 9.2 -1.2 -1.52 1.33 -1.41 1.3 -1.34 1.32 -1.24 1.31 -1.17 1.3 -1.06 1.29 
+-0.98 1.28 -0.91 1.29 -0.81 1.28 -0.73 1.24 -0.66 1.25 -0.56 1.22 9.39 -1.98 -0.5 1.16 
+-0.43 1.13 -0.34 1.13 -0.26 1.11 -0.21 1.11 -0.13 1.09 -9.25 2.39 -9.2 2.58 -9.18 2.78 
+0.06 1.24 0.16 1.23 -9.03 3.04 0.3 1.26 0.38 1.23 0.48 1.22 8.83 -3.21 0.48 1.15 
+0.54 1.13 0.63 1.11 0.7 1.09 0.75 1.06 0.85 1.05 0.89 1.02 0.98 1 8.31 -3.32 
+0.96 0.95 8.31 -3.19 0.93 0.89 1 0.89 1.04 0.87 1.13 0.84 -7.97 3.32 1.26 0.84 
+-7.77 3.47 1.41 0.84 1.48 0.85 -7.46 3.64 -7.38 3.75 1.74 0.84 1.78 0.82 1.87 0.8 
+-6.96 3.88 2.02 0.8 2.06 0.76 2.13 0.76 2.17 0.71 -6.43 4.02 -6.31 4.1 -6.19 4.21 
+2.54 0.7 -5.99 4.27 2.71 0.67 2.78 0.65 -5.66 4.34 p f*
+255 203 0 rG
+2295.49 3182.04 -3.73 1.17 0.7 2.19 2.26 4.88 0.61 0.82 0.15 -0.15 4.68 3.97 2.3 -2.2 
+4.64 3.97 2.3 -2.12 -4.55 -4.01 1.74 -1.55 -4.64 -3.93 -5.91 -2.91 -0.54 -0.15 f*
+2292.99 3216.36 -0.06 3.47 0.99 2.11 3.73 4.23 0.83 0.5 5.49 3.26 1.43 -2.3 1.52 -2.29 
+5.41 3.3 5.45 3.25 -1.39 2.15 -1.32 2.17 -1.26 2.21 1.95 1.02 1.35 -2.13 2.69 -1.37 
+2.07 -1.7 -0.66 -3.3 -1.49 -1.89 -1.63 -3.08 -2 -2.56 -5.64 -2.91 -3.11 -1.49 -3.93 0.75 
+-0.5 0.28 0.26 -0.43 1.5 -2.43 0.37 0.04 5.43 0.5 -3.75 -2.6 -5.1 -3.61 0.96 -1.15 
+-4.12 -1.13 -3.56 1.13 -1.06 2.93 -0.83 3.04 f*
+87 0 136 rG
+2298.46 2476.71 -4.93 4.43 3.36 0.48 4.82 -4.41 -3.25 -0.5 f*
+255 0 r6
+2292.73 3356.29 1.61 1.63 2.15 -0.2 -3.76 -1.43 f*
+255 135 0 rG
+2303.17 3219.64 -0.26 0.43 0.5 -0.28 3.93 -0.75 3.11 1.49 5.64 2.91 2 2.56 1.63 3.08 
+1.49 1.89 0.66 3.3 -2.07 1.7 -2.69 1.37 -1.35 2.13 3.71 1.95 1.2 -2.15 1.26 -2.1 
+1.33 -2.11 1.39 -2.05 2.76 1.59 0 -18.23 -4.73 -0.69 1.3 -1.87 0.44 0.04 3 2.52 
+0 18.23 2.71 1.56 5.49 3.1 -1.26 1.93 -1.19 1.96 -1.13 1.97 5.7 2.82 5.77 2.73 
+2.11 0.98 0.24 -2.17 -0.02 -2.34 -0.11 -0.32 -1.89 -3.09 -1.57 -3.12 -0.17 -0.33 -1.32 -3.34 
+0.18 -2.55 -0.56 -1.59 -4.86 -3.82 -1.78 -1.98 -0.52 -3.34 1.66 -1.93 1.48 -2.06 1.56 -2.04 
+6.32 2.06 2.78 1.63 2.87 1.25 1.26 -1.17 -4.77 -3.69 -1.87 1.71 -4.79 -3.69 -1.91 1.8 
+-1.82 1.84 -4.93 -3.64 -4.89 -3.69 -4.82 -3.75 -2.02 2.02 -2.37 -1.8 -2.2 1.91 2.61 1.95 
+-1.89 2.06 -1.84 2.12 -1.78 2.15 -1.39 -0.96 -5.43 -0.5 -0.37 -0.04 -1.5 2.43 f*
+255 0 r6
+2303.08 3360.22 0.3 0.26 3.32 3.08 0.28 -0.04 -3.54 -3.04 -0.37 -0.26 f*
+255 135 0 rG
+2306.14 3335.22 -2.04 2.71 2.86 2.87 4.45 2.71 -2.39 2.99 -0.63 0.31 1.43 0.58 4.88 1.89 
+1.17 0.26 0 -2.61 -4.17 -0.41 2.65 -1.24 1.3 0.85 0.21 0.8 0 2.61 3.17 0.72 
+4.84 -1.78 6.4 -0.26 6.6 -0.13 0.48 -2.14 -3.91 -2.13 -1.93 -1.21 -1.56 -1.06 -2.72 -2.41 
+-5.27 -2.23 -2.52 -0.79 -6.32 0.07 -7.01 -0.96 f*
+2305.01 3261.8 -0.08 0.89 0.13 1.76 0.39 2.73 1.74 3.13 2.08 3.15 0.67 1.5 0.87 1.41 
+2.63 3.13 1.54 2.78 1.39 2.04 0.5 0.74 2.43 2.84 -0.18 2.28 -1.84 1.76 -0.15 0.19 
+0.33 0.79 4.86 2.36 1.93 0.38 6.66 2.97 -0.73 2.09 -2.17 1.99 -1.43 1.37 -2.19 0.59 
+3.08 2.5 0.29 0.13 0.59 -0.07 5.4 -0.59 2.08 1 2.5 2.23 2.19 2.17 1.36 2.13 
+2 0.89 1.26 1.17 5.64 -0.21 6.27 -0.31 1.11 1.87 1.17 1.89 1.23 1.84 1.29 1.84 
+-6.08 0.74 -6.09 0.65 -1.41 -2.06 -1.33 -2.06 -1.23 -2.08 -0.87 -1.5 -3.73 1.7 -0.2 2.21 
+1.57 2.17 1.37 2.15 3.23 1.95 4.29 -0.15 6.66 0.05 3.47 0.39 3.15 -0.5 5.95 -1.02 
+1.43 1.69 5.84 -1.19 -1.37 -1.61 4.71 -0.93 -3.47 -0.66 -1.3 -0.26 -1.62 -0.25 -1.98 -0.96 
+-0.2 -1.8 -0.3 -0.63 -0.29 -1.11 -0.67 -0.3 -1.5 -1.23 -1.61 -1.62 -0.76 -1.74 -1.47 -1.15 
+-0.62 -0.5 -3.06 -1.67 -1.74 -1.78 -1.2 -0.59 -2.47 -1.24 -1.52 -1.87 0.97 -1.8 0.71 -1.43 
+0.37 -0.32 -0.52 -1.83 -0.63 -0.71 -0.78 -1.19 -0.79 -1.87 -5.55 -0.61 -6.47 -0.78 -0.32 -2.02 
+-0.26 -2.02 -6.45 -1.06 -6.42 -1.15 -0.18 -2.21 -0.11 -2.19 6.42 1.34 6.42 1.26 6.45 1.15 
+6.45 1.08 0.02 0.46 0.22 -0.41 -0.29 -0.54 -1.19 -1.52 -5.3 -2.05 -2.08 -1.25 -1.56 -2.28 
+1.32 -1.65 2.64 -1.28 0.04 0 -0.04 -0.02 -6.34 -1.61 0.26 -1.95 -6.27 -1.8 0.34 -2.02 
+0.41 -2.02 6.23 1.97 2.32 0.7 0.47 -1.86 -1.91 -2.41 -0.43 1.65 -6.19 -2.04 -6.16 -2.13 
+0.58 -2.06 0.66 -2.04 -0.02 -0.02 0.02 0 6.59 0.73 1.15 0 3.35 -0.89 1.84 -1.43 
+2.06 -1.21 0.06 -0.07 -0.02 -0.05 -0.02 0.05 -5.91 -2.54 -0.84 1.91 -5.93 -2.54 -5.9 -2.58 
+-0.89 2.06 -5.91 -2.61 -5.88 -2.69 -2.67 -1.26 -1.89 1.84 -0.75 2.37 -1 2.26 0.54 2.87 
+-2.43 1.67 -1.89 1.9 -0.97 1.63 -0.2 0.57 f*
+255 203 0 rG
+2315.88 3346.94 -4.17 -0.41 2.65 -1.24 1.3 0.85 0.21 0.8 f*
+2314.46 3206.55 -2.05 2.11 2.34 1.76 2.2 -1.91 -2.49 -1.95 f*
+0 255 r6
+2312.63 3362.96 1.04 0.91 4.32 1.32 1.15 -0.21 -6.51 -2.02 f*
+110 210 9 rG
+2313.67 3363.87 1.04 0.89 2.11 0.65 1.17 -0.22 -4.32 -1.32 f*
+7 193 59 rG
+2314.71 3364.75 1 0.87 1.11 -0.21 -2.11 -0.65 f*
+255 35 0 rG
+2324.87 3361.87 -2.82 2.52 5.16 2.34 4.43 2.38 4.21 2.39 4.36 2 0.79 0.04 4.38 -0.06 
+0 -1.41 -6.6 -0.2 -0.97 -0.02 -1.2 -0.57 -3.86 -2.45 -3.71 -2.54 -2.29 -2.84 5.54 2.04 
+5.23 0.86 1.82 0.64 4.1 2.19 2.15 2.82 -0.02 0.07 -0.2 0 0 1.41 2.3 -0.02 
+0.91 -2.5 -3.14 -2.41 -4.21 -2.11 -5.14 -1.93 -2.37 -1.08 -2.76 -0.98 -6.09 -0.59 f*
+2323.96 3213.8 -1.3 1.87 4.73 0.69 -3 -2.52 -0.44 -0.04 f*
+255 203 0 rG
+2323.48 3366.41 2.3 1.82 3.64 1.46 4.93 2.25 4.68 2.24 0.76 -0.26 -4.71 -2.2 -4.55 -2.32 
+-5.17 -2.25 -1.88 -0.74 f*
+189 0 54 rG
+2332.29 3365.5 -5.54 -2.04 2.29 2.84 3.71 2.54 3.86 2.45 1.2 0.57 0.97 0.02 0 -1.24 
+-3.82 -0.83 -1.67 -1.13 -3.34 -2.62 -0.13 -0.16 0.33 0.11 5.51 2.02 4.29 0.14 2.5 1.34 
+0.65 0.87 -4.32 0.26 0 1.24 6.6 0.2 0.2 0 0.02 -0.07 -2.15 -2.82 -4.1 -2.19 
+-1.82 -0.64 -5.23 -0.86 f*
+0 255 r6
+2325.79 3368.23 1.97 1.52 0.57 0.21 5.27 2.19 4.67 2.26 0.78 -0.24 -4.68 -2.24 -4.93 -2.25 
+-3.64 -1.46 f*
+110 210 9 rG
+2327.75 3369.75 0.37 0.28 1.29 0.96 3.43 1.39 4.64 2.29 0.79 -0.24 -4.67 -2.26 -5.27 -2.19 
+-0.57 -0.21 f*
+255 G
+2329.1 3285.35 -0.11 -2.19 6.42 1.34 6.42 1.26 6.45 1.15 6.45 1.08 0.02 0.46 0.11 1.34 
+0.22 1.82 0.26 1.84 6.46 0.68 -0.26 -1.71 6.47 0.69 6.49 0.61 6.46 0.52 0.26 1.43 
+0.33 1.43 0.34 1.46 -6.46 -0.24 -6.47 -0.3 -6.44 -0.42 -6.47 -0.5 -0.39 -1.82 -0.92 -0.08 
+-5.55 -0.61 -6.47 -0.78 -0.32 -2.02 -0.26 -2.02 -6.45 -1.06 -6.42 -1.15 -0.18 -2.21 f*
+87 0 136 rG
+2330.14 3366.02 -0.33 -0.11 0.13 0.16 3.34 2.62 1.67 1.13 3.82 0.83 4.32 -0.26 -0.65 -0.87 
+-2.5 -1.34 -4.29 -0.14 -5.51 -2.02 f*
+7 193 59 rG
+2329.41 3370.98 1.58 1.17 1.09 0.43 4.62 2.32 0.78 -0.25 -4.64 -2.29 -3.43 -1.39 f*
+255 G
+2337.43 3266.06 -6.16 -2.13 0.58 -2.06 0.66 -2.04 6.07 2.28 6.1 2.21 -0.57 1.89 -0.06 0.24 
+-0.43 1.65 -6.19 -2.04 f*
+2 239 204 rG
+2330.99 3372.16 0.74 0.52 1.7 1.22 2.5 1.25 0.78 -0.24 -4.62 -2.32 -1.09 -0.43 f*
+255 35 0 rG
+2332.51 3259.81 -0.02 0 0.02 0.02 6.07 2.28 6.1 2.21 -0.57 1.89 -0.06 0.24 1.91 2.41 
+-0.47 1.86 3.93 1.17 -0.35 1.84 6.29 1.72 -0.26 1.75 -0.22 1.79 -6.32 -1.52 -0.04 0 
+-2.64 1.28 -1.32 1.65 1.56 2.28 2.08 1.25 5.3 2.05 1.19 1.52 0.29 0.54 -0.22 0.41 
+0.11 1.34 0.22 1.82 0.26 1.84 6.46 0.68 -0.26 -1.71 6.47 0.69 6.49 0.61 6.46 0.52 
+0.26 1.43 0.33 1.43 0.34 1.46 3.85 0.09 -0.18 -1.39 -0.89 -1.41 -1.3 -1.46 -0.65 -1.43 
+0.5 -1.34 -1.13 -1.52 -1.3 -1.56 -0.39 -0.63 -4.76 -1.56 -1.71 -0.29 -6.45 -1.06 0.07 -1.62 
+0.11 -1.59 4.6 0.91 -1.02 -1.79 -1.41 -1.91 -1.69 -1.2 -0.98 -1.09 -1.24 -2 0.39 -1.61 
+-0.85 -1.97 -1.97 -1.91 -1.07 -0.83 -2.78 -2.78 1.87 -1.21 3.61 -0.52 -5.06 -3.56 -0.41 -0.48 
+-4.6 -3.82 -0.24 -0.24 -4.34 -4.12 -0.13 -0.29 0.35 -1.84 1.11 -1.71 1.07 -0.56 1.39 -0.46 
+1.23 -0.35 0 -3.6 -6.33 -1.2 -0.57 -2.75 2.58 0.08 4.32 3.87 0 3.6 1.59 -0.43 
+3.21 1.41 1.02 -1.37 -5.46 -3.04 1.28 -1.63 1.3 -1.6 -5.28 -3.21 0.09 -0.11 -0.02 -2.43 
+-3.79 -2.45 1.56 -1.69 1.61 -1.68 -4.04 -2.84 -1.08 2.13 -1.71 1.65 -2.06 -0.3 -1.58 -2.15 
+0.19 -2.82 3.5 -0.48 2.13 1 1.43 -1.39 0.52 -0.48 -2.87 -1.25 -2.78 -1.63 -6.32 -2.06 
+-1.56 2.04 -1.48 2.06 -1.66 1.93 0.52 3.34 1.78 1.98 4.86 3.82 0.56 1.59 -0.18 2.55 
+1.32 3.34 0.17 0.33 1.57 3.12 1.89 3.09 0.11 0.32 0.02 2.34 -0.24 2.17 3.69 1.7 
+-0.91 1.78 -0.82 1.78 0.02 0.05 -0.06 0.07 -2.06 1.21 -1.84 1.43 -3.35 0.89 -1.15 0 
+-6.59 -0.73 f*
+0 155 255 rG
+2333.42 3373.89 2 1.41 0.5 -0.16 -2.5 -1.25 f*
+255 G
+2342.45 3273.89 -6.27 -1.8 0.34 -2.02 0.41 -2.02 6.23 1.97 2.32 0.7 3.93 1.17 -0.35 1.84 
+6.29 1.72 -0.26 1.75 -0.22 1.79 -6.32 -1.52 -0.04 -0.02 -6.34 -1.61 0.26 -1.95 f*
+189 0 54 rG
+2342.29 3223.92 -0.19 2.82 1.58 2.15 2.06 0.3 1.71 -1.65 1.08 -2.13 -0.93 -0.67 0.31 -0.3 
+-2.13 -1 -3.5 0.48 f*
+0 255 r6
+2346.75 3341.52 -2.47 -2.12 0.04 -2.52 1.26 -0.85 1.69 0.37 6.25 1.3 0.46 0.11 4.96 1.17 
+4.35 1.15 0.15 0.15 2.04 1.89 0.71 0.63 -4.47 2.39 0.14 0.5 -2.87 3.34 -6.75 0.37 
+-3.58 -0.26 -2.15 -2.25 0.93 -1.85 1.46 -1.34 -2.15 -2.17 f*
+255 G
+2344.81 3316.82 -0.32 -0.58 0.63 -0.02 5.64 -0.21 6.27 -0.31 1.11 1.87 1.17 1.89 1.23 1.84 
+1.29 1.84 -6.08 0.74 -6.09 0.65 -1.41 -2.06 -1.33 -2.06 -1.23 -2.08 -0.87 -1.5 f*
+0 255 r6
+2346.31 3175.76 -1.48 0.8 1.35 1.63 0.13 -2.43 f*
+2346.7 3181.99 -0.93 0.54 1.15 1.33 -0.22 -1.87 f*
+255 203 0 rG
+2346.31 3175.76 -0.13 2.43 2.07 2.46 -0.05 -5.04 0.46 -1.13 -0.96 0.52 -1.39 0.76 f*
+2348.3 3181.08 -1.61 0.91 0.22 1.87 1.93 2.21 -0.55 -4.99 f*
+0 255 r6
+2347.63 3188 -0.7 0.43 2.11 2.25 -1.41 -2.69 f*
+255 203 0 rG
+2349.04 3187.16 -1.41 0.84 1.41 2.69 1.85 1.98 2.69 2.86 -1.95 -3.32 -2.59 -5.05 f*
+255 135 0 rG
+2348.66 3174.48 -0.46 1.13 0.05 5.04 0.25 0.3 -0.2 0.13 0.55 4.99 0.71 0.79 -0.52 0.3 
+2.59 5.05 1.95 3.32 1.28 1.33 -0.48 0.3 2.41 5.21 0.59 0.96 2.54 3.79 3.28 4.64 
+1.04 1.56 2.91 2.65 4.36 3.86 -1.89 1.39 4.49 3.78 0.91 0.74 0 -5.82 -2.76 -0.63 
+-4.73 -3.61 -1.15 -3.71 -0.15 -2.28 -0.3 -1.63 1.58 0.79 4.52 3.77 4.08 4.04 0.74 1.84 
+-1.82 1.41 0 5.82 3.62 2.97 -1.67 1.32 4.67 3.63 4.71 3.55 4.43 3.28 -2.73 -4.32 
+-0.15 -0.2 -4.12 -4 -2.95 -4.17 -0.17 -0.59 -0.5 -2.78 -0.02 -2.93 -0.07 -0.76 -1.52 -3.82 
+-0.76 -1.37 -4.04 -4.04 -3.88 -4.14 -4.54 -3.8 -0.67 -0.52 -4.38 -2.95 -3.47 -4.47 -3.84 -4.25 
+-0.89 -1.78 -1.76 -3.21 -0.52 -3.95 -0.2 -2.12 -0.09 -3.13 1.48 -3.32 0.5 -0.89 -0.85 0.46 
+-1.97 1.02 f*
+189 0 54 rG
+2351.17 3239.02 -2.58 -0.08 0.57 2.75 6.33 1.2 -4.32 -3.87 f*
+255 35 0 rG
+2350.98 3173.89 -1.48 3.32 0.09 3.13 0.2 2.13 0.52 3.95 1.76 3.21 0.89 1.78 3.84 4.25 
+3.47 4.47 4.38 2.95 0.67 0.52 4.54 3.8 3.88 4.14 4.04 4.04 0.76 1.37 1.52 3.82 
+0.07 0.76 0.02 2.93 0.5 2.78 0.17 0.59 2.95 4.17 4.13 4 0.15 0.2 2.73 4.32 
+0.3 0.24 -0.28 0.24 -0.29 1.5 4.06 2.82 -1.26 1.13 -1.24 1.15 2.06 1.33 1.3 -1.04 
+0.43 -1.67 -0.5 -1.59 -0.39 -1.04 -1.48 -3.23 -0.65 -1.02 -3.69 -4.32 -1.13 -1.24 -2.69 -2.95 
+-1.47 -3.11 -0.74 -2.23 -0.41 -1.59 -0.04 -2.99 -0.54 -1.46 -2.63 -4.77 -0.04 -0.11 -4.04 -4.04 
+-3.88 -4.14 -3.86 -4.16 -0.59 -0.37 -4.47 -3.12 -3.95 -4.19 -3.95 -4.17 -3.28 -4.6 -0.2 -1.57 
+-0.42 -4.51 -0.04 -0.85 1.78 -2.86 2.11 -2.54 3.13 -1.26 4.95 1.5 0.21 0.11 -0.13 -0.15 
+-1.23 -1.75 -4.36 -1.67 -0.67 0.3 -0.37 -0.5 -3.1 1.32 0.48 0.65 -2.11 1.04 -0.5 0.89 f*
+110 210 9 rG
+2353.3 3165.95 -3.09 1.48 0.18 0.24 3.23 -1.26 -0.32 -0.46 f*
+189 0 54 rG
+2350.7 3249.57 -0.35 1.84 0.13 0.29 4.34 4.12 0.24 0.24 4.6 3.82 0.41 0.48 5.06 3.56 
+-3.61 0.52 -1.87 1.21 2.78 2.78 1.07 0.83 1.97 1.91 0.85 1.97 -0.39 1.61 1.24 2 
+0.98 1.09 1.69 1.2 1.41 1.91 1.02 1.79 1.8 0.34 3.17 0.59 -0.24 -1.55 -0.09 -1.49 
+0.17 -1.48 -0.57 -1.65 -1.34 -1.75 -0.26 -0.22 -5.08 -3.04 -0.45 -0.24 -2.47 -2.34 -1.24 -2.17 
+2.26 -0.98 3.32 0.02 3.32 0.59 3.12 0.65 0.43 -1.04 -6.01 -2.21 0.7 -1.47 -2.49 -0.98 
+-4.01 -0.18 -2.37 -2.41 2.02 -1.08 -4.12 -1.79 0.91 -1.58 0.93 -1.58 -5.68 -2.73 1.06 -1.65 
+1.08 -1.61 0.16 -0.21 -3.21 -1.41 -1.59 0.43 -1.23 0.35 -1.39 0.46 -1.07 0.56 -1.11 1.71 f*
+0 255 r6
+2353.62 3166.41 -3.23 1.26 0.89 1.21 3.2 -1.28 -0.85 -1.2 f*
+189 0 54 rG
+2352.58 3175.96 -1.78 2.86 0.04 0.85 0.42 4.51 0.2 1.57 3.28 4.6 3.95 4.17 3.95 4.19 
+4.47 3.12 0.59 0.38 3.86 4.16 3.88 4.14 4.04 4.04 0.04 0.11 2.63 4.77 0.54 1.46 
+0.04 2.99 0.41 1.59 0.74 2.23 1.47 3.11 2.69 2.95 1.13 1.24 3.69 4.32 0.65 1.02 
+1.48 3.23 0.39 1.04 0.5 1.59 -0.43 1.67 -1.3 1.04 1.57 1 1.32 -1.02 0.7 -1.43 
+-0.11 -2.04 -1.19 -1.67 -0.89 -1.89 -1.97 -3.08 -1.71 -1.98 -1.82 -2.43 -4.03 -4.02 -0.68 -1.43 
+-1.02 -3.62 -0.22 -0.46 0.15 -2.5 -1.26 -3.43 -1.02 -1.82 -1.41 -3.17 -3.93 -4.1 -3.91 -4.13 
+-3.73 -4.25 -5.23 -3.23 -0.13 -0.09 -4.05 -4.1 -3.8 -4.28 -3.71 -4.32 -0.04 -0.39 0.07 -4.69 
+-0.13 -1.29 1.45 -2.08 2.48 -2.02 3.02 -1.32 2.41 0.72 3.49 1.93 -1.8 -2.52 -0.21 -0.11 
+-4.95 -1.5 -3.12 1.26 -2.11 2.54 f*
+255 203 0 rG
+2354.47 3167.6 -3.2 1.28 0.92 1.21 3.14 -1.3 -0.87 -1.19 f*
+2 239 204 rG
+2352.06 3384.83 -0.76 0.32 1.76 0.98 -1 -1.3 f*
+0 255 r6
+2352.02 3366.34 -0.61 -0.59 1.22 0.37 -0.16 0.38 -0.46 -0.16 f*
+255 0 r6
+2352.47 3397.92 -0.96 0.45 3.06 1.48 -2.11 -1.93 f*
+87 0 136 rG
+2353.38 3176.97 -1.45 2.08 0.13 1.29 -0.07 4.69 0.04 0.39 3.71 4.32 3.8 4.28 4.05 4.1 
+0.13 0.09 5.23 3.23 3.73 4.25 3.91 4.13 3.93 4.1 1.41 3.17 1.02 1.82 1.26 3.43 
+-0.15 2.5 0.22 0.46 1.02 3.62 0.68 1.43 4.03 4.02 1.82 2.43 1.71 1.98 1.97 3.08 
+0.89 1.89 1.19 1.67 0.11 2.04 -0.7 1.43 -1.32 1.02 1.45 0.91 -1.13 1.11 -1.08 1.11 
+-1.05 1.15 -1.02 1.17 -0.98 1.17 -0.96 1.2 -0.91 1.19 -0.87 1.23 2.11 0.98 2.64 -0.34 
+2.02 0.43 5.33 1.54 1.16 -0.04 0.15 0.65 0.32 1.55 0.11 1.41 -1.75 0.61 4.42 1.8 
+5.84 2.32 0.59 -0.93 5.82 2.3 0.56 -0.84 0.59 -0.83 4.34 1.8 0 -5.28 -1.5 -0.06 
+-0.67 -1.09 1.74 -0.04 0.43 1.19 0 5.28 1.39 0.58 0.54 -0.76 0.57 -0.73 0.59 -0.72 
+5.55 2.54 0.54 -0.63 0.57 -0.65 0.59 -0.61 0.61 -0.63 0.61 -0.61 0.65 -0.61 0.65 -0.59 
+0.67 -0.56 0.7 -0.57 0.2 -0.15 -0.44 -0.02 -1.85 -0.13 -2.54 -0.54 -0.06 -0.02 -2.09 -0.71 
+-0.71 -1.02 -0.46 -1.46 0.17 -1.09 0.82 -0.69 1.17 -0.44 1.57 -0.11 1.8 0.09 1.3 0.41 
+3.15 3.02 -0.35 0.84 0.19 0.58 0.29 -0.21 0.78 -0.52 0.76 -0.52 4.43 3.43 0.7 -0.43 
+1.43 -0.86 0 -9.03 -2.08 -1.24 -0.98 -0.74 -3.4 -2.82 -0.65 -1.97 0.84 -0.91 1.34 -0.33 
+1.59 0.07 2.13 0.82 0.32 0.11 3.02 4.14 -0.02 0.41 -0.24 1.48 -0.67 0.8 -1.2 0.18 
+0 9.03 0.74 -0.42 0.74 -0.39 1.52 -0.78 0.8 -0.37 0.78 -0.34 0.8 -0.35 0.82 -0.34 
+0.83 -0.33 3.16 4 0.72 -0.26 -3.06 -4.04 0.85 -0.3 0.84 -0.28 0.87 -0.29 0.87 -0.26 
+-2.54 -4.21 1 -0.3 2.04 -0.52 1.02 -0.24 -2.02 -4.36 1.15 -0.26 1.15 -0.24 1.17 -0.21 
+2.34 -0.39 1.19 -0.18 -1.25 -4.51 -1.33 0.19 -1.3 0.2 -1.3 0.22 -1.61 -4.49 -0.18 0.04 
+-0.48 2.2 -1.17 0.72 -1.39 0.17 -1.64 -0.39 -2.02 -1.02 -0.26 -0.17 -3.27 -3.58 -0.35 -0.44 
+-3.73 -3.93 -0.07 -0.06 -2.71 -4.32 -0.12 -0.99 0.58 -2.74 1.02 -1.71 -0.02 -0.43 -0.17 -4.52 
+-2.2 -0.61 -2.06 0.31 -2.17 0.08 -3.36 -2.37 -0.33 -0.3 -3.97 -2.91 -0.63 -0.54 -3.08 -4.32 
+-0.98 -3.73 0.29 -1.3 0.43 -2.54 0.24 -2.87 -1.3 -4.84 -3.34 -1.18 -3.76 -1.61 -2.06 1.8 
+-2.13 1.61 -2.3 1.21 -2.56 0.71 -3.06 -2.02 -3.12 -4.38 -0.74 0.26 -0.89 -1.46 -3.82 -0.87 
+-1.56 2.62 -3.06 0.38 -2.84 -1.59 -2.09 -0.61 -4.54 -2.37 -0.48 0.22 -0.56 -0.8 -4.75 -2.71 
+-0.63 0.28 -2.3 -3.15 -1.61 -1.02 -4.91 -3.73 -0.57 0.25 -1.34 -1.84 -3.49 -1.93 -2.41 -0.72 
+-3.02 1.32 -2.48 2.02 f*
+7 193 59 rG
+2353.21 3384.31 -1.15 0.52 1 1.3 2.45 1.32 4.3 2.24 4.42 2.16 1.98 0.96 -1.5 -1.21 
+-4.17 -2.26 -4.6 -2.08 -2.73 -2.95 f*
+255 135 0 rG
+2355.34 3168.79 -3.14 1.3 0.91 1.22 3.1 -1.32 -0.87 -1.2 f*
+0 255 r6
+2352.58 3198.33 -0.13 0.09 0.3 0.28 -0.17 -0.37 f*
+0 155 255 rG
+2355.82 3396.27 -3.34 1.65 2.11 1.93 1.91 0.89 5.05 2.3 5.14 2.21 5.25 2.13 2.7 -1.82 
+-6.41 -1.26 -5.34 -2.02 -3.62 -3 -1 -1.82 -2.45 -1.2 f*
+255 203 0 rG
+2354.38 3197.16 -1.8 1.17 0.17 0.37 3.82 3.82 -2.15 1.46 0.26 0.46 3.84 3.64 4.28 3.97 
+1.43 1.28 -1.04 -1.56 -3.28 -4.64 -2.54 -3.79 -0.59 -0.96 -2.41 -5.21 f*
+110 210 9 rG
+2354.36 3383.81 -1.15 0.5 2.73 2.95 4.6 2.08 4.17 2.26 1.5 1.21 2.52 1.15 -1.71 0.98 
+1.8 3.19 0.11 0.57 1.2 0 5.64 0.72 6.01 1.04 2.82 3.43 0.32 0.61 4.32 1.47 
+1.35 0.43 0 -1.56 -1.69 -2.82 6.14 -1.08 0.52 3.3 -4.97 0.61 0 1.56 2.67 0.89 
+1.76 -0.23 5.33 -1.37 4.52 -1.91 5.25 1 3.11 3.65 1.93 -2.48 2.41 -3.12 2.13 -2.82 
+-0.87 -0.61 -2.32 -2.3 -4.47 -1.21 -2.19 1.17 -6.4 1.87 -0.48 -0.05 -6.18 0.48 -5.64 -0.76 
+-0.69 0.07 -5.34 -0.67 -7.05 -0.13 -0.65 -0.18 -4.52 -1.43 -0.52 -0.68 -3.02 -1.97 -3.55 -2.59 
+-3.58 -2.54 -1.78 -2.89 0.3 -0.61 -1.2 0.15 -5.17 -1.32 f*
+255 135 0 rG
+2354.58 3234.94 -1.37 -0.87 0.02 2.43 1.34 -1.56 f*
+0 255 r6
+2354.43 3203.97 -0.14 0.08 0.39 0.38 -0.26 -0.46 f*
+2355.51 3383.31 -1.15 0.5 5.17 1.32 1.2 -0.15 -0.3 0.61 1.78 2.89 3.58 2.54 3.55 2.59 
+3.02 1.97 0.52 0.68 4.52 1.43 0.65 0.18 7.05 0.13 5.34 0.67 0.69 -0.07 5.64 0.76 
+6.18 -0.48 0.48 0.05 6.4 -1.87 2.19 -1.17 4.47 1.21 2.32 2.3 0.87 0.61 0.24 -0.33 
+2.34 -3.21 2.32 -3.25 4.27 0.93 0.2 -0.28 -3.99 -1.35 -3.78 -1.58 -4.05 -1.15 -4.64 -0.52 
+-4.23 -1.06 -3 -2.28 -2.15 -2.87 -0.04 -0.02 -3.62 -1.49 -3.32 -1.11 -0.61 -0.18 -4.36 -1 
+-2.75 -2.11 -0.07 -0.04 -3.06 -1.91 -2.52 -2.21 -2.73 -2.06 -3.12 -1.82 -1.45 -0.02 -2.86 -0.07 
+-0.22 0 -4.86 1.24 -0.89 0.28 0.08 0.09 2.2 2.54 3.41 1.95 3.71 1.78 3.02 2.16 
+0.74 2.93 0.11 0.65 2.04 2.99 0.58 1.84 0.43 2.02 1.07 2.75 -3.99 2.48 -4.39 -0.3 
+-1.34 -0.46 -3.56 -1.25 -3.97 -2.29 -3 -2.8 -0.24 -0.39 1.79 -3.52 -0.07 -1.06 -1.91 0.05 
+-6.7 0.91 -1.2 -0.3 f*
+255 35 0 rG
+2355.67 3295.29 -0.92 -0.08 0.79 1.87 0.78 1.19 0.63 0.71 0.52 1.83 -0.37 0.32 -0.71 1.43 
+-0.97 1.8 1.52 1.87 2.47 1.24 1.2 0.59 1.74 1.78 3.06 1.67 0.63 0.5 0 -4.04 
+-0.74 -1.71 -0.67 -1.71 -0.61 -1.73 -0.57 -1.72 6.45 0.2 6.45 0.13 0.52 1.52 0.57 1.52 
+0.61 1.54 0.67 1.5 -6.34 0.28 -6.34 0.2 0 4.04 1.47 1.15 0.76 1.74 1.61 1.63 
+1.5 1.23 0.67 0.3 0.29 1.11 0.3 0.63 0.2 1.8 1.98 0.96 1.63 0.25 1.3 0.26 
+0 -5.75 -1.02 -1.56 -0.98 -1.58 6.18 -0.67 6.17 -0.79 0.89 1.39 0.93 1.37 -6.08 0.98 
+-6.1 0.87 0 5.75 3.47 0.66 1.17 -0.26 5.86 -1.28 -1.17 -1.41 5.9 -1.25 -1.09 -1.34 
+3.76 -0.76 0.52 -1.58 0.11 -0.93 -0.32 -0.46 -0.87 -1.29 0.52 -0.08 -1.02 -1.24 -0.5 -0.22 
+-2.26 -0.82 -2.47 -1.13 -2.87 0.28 -0.73 -1.39 -0.7 -1.43 -0.65 -1.41 5.53 -0.3 0.02 -1.37 
+-1.89 -1.3 -4.8 0.13 -0.5 -1.43 -0.46 -1.43 -0.39 -1.43 -6.46 -0.24 -6.47 -0.3 -6.44 -0.42 
+-6.47 -0.5 -0.39 -1.82 f*
+255 135 0 rG
+2355.14 3357.62 -0.17 1.34 2.06 0.07 0.93 -1.06 -2.82 -0.35 f*
+2358.79 3169.45 -1.54 0.74 4.36 1.67 -1.3 -1.83 -1.52 -0.58 f*
+2 239 204 rG
+2360.61 3398.54 -2.34 -1.08 1 1.82 3.63 3 5.34 2.02 6.41 1.26 0.93 -0.65 2.95 -2.09 
+-7.05 -0.59 -2.71 -0.09 -3.71 -1.11 -0.93 -0.91 -0.54 -3.21 -2.95 1.63 f*
+255 203 0 rG
+2359.61 3169.08 -0.82 0.37 1.52 0.58 -0.7 -0.95 f*
+0 255 r6
+2364.5 3347.55 -2.3 0.63 1.58 -1.24 0.85 0.5 -0.13 0.11 f*
+255 G
+2364 3302.8 -0.57 -1.72 6.45 0.2 6.45 0.13 0.52 1.52 0.57 1.52 0.61 1.54 0.67 1.5 
+-6.34 0.28 -6.34 0.2 -0.74 -1.71 -0.67 -1.71 -0.61 -1.73 f*
+7 193 59 rG
+2364.7 3396.29 -1.13 0.63 0.54 3.21 0.93 0.91 3.71 1.11 2.71 0.09 7.05 0.59 0.65 -0.45 
+4.99 1.84 0.76 0.29 -0.32 -0.61 -2.82 -3.43 -6.01 -1.04 -5.64 -0.72 -1.2 0 -0.11 -0.57 
+-1.8 -3.19 -2.32 1.34 f*
+87 0 136 rG
+2365.95 3258.62 -2.02 1.08 2.37 2.41 4.01 0.18 -3.43 -1.39 0.8 -1.54 -1.74 -0.74 f*
+0 255 r6
+2367.47 3363.65 -2.98 -1.95 1.63 -1.67 2.63 -0.04 3.04 1.78 0.89 2.45 -5.21 -0.57 f*
+87 0 136 rG
+2367.93 3266.73 -2.26 0.98 1.24 2.17 2.47 2.34 0.45 0.24 5.08 3.04 0.26 0.22 1.34 1.75 
+0.57 1.65 -0.17 1.48 0.09 1.49 0.24 1.55 3.25 0.58 -0.08 1.41 0 0.67 3.77 1.3 
+0.69 1.45 2.06 1.11 1.52 0.63 0.8 1.37 -0.71 1.25 1.11 1.37 4.3 0.22 6.49 0.24 
+-0.22 -1.15 -0.15 -1.16 -0.13 -1.15 -0.08 -1.15 6.49 0.54 6.49 0.46 -0.04 -0.96 -0.02 -0.95 
+6.49 0.54 -0.02 -0.84 0.05 -0.87 0.04 -0.85 6.47 0.74 0.06 -0.76 0.09 -0.76 0.11 -0.73 
+0.15 -0.76 0.15 -0.74 0.2 -0.76 0.2 -0.73 0.24 -0.74 6.29 1.41 0.22 -0.66 0.24 -0.63 
+0.26 -0.62 0.57 -1.26 0.32 -0.63 0.7 -1.22 0.39 -0.61 -5.86 -2.15 -0.43 0.67 -0.41 0.7 
+-0.39 0.7 -0.36 0.71 -6.06 -1.93 -0.39 0.8 -6.08 -1.91 -0.41 0.89 -6.08 -1.88 -6.08 -1.98 
+-6.04 -2.06 -0.52 1.15 -6.05 -2.06 -0.55 1.24 -0.52 1.23 -6.12 -1.95 -6.08 -2.06 0.15 -0.37 
+-3.12 -0.65 -3.32 -0.59 -3.32 -0.02 f*
+255 203 0 rG
+2366.23 3209.7 -0.3 -1.63 1.58 0.79 4.52 3.77 4.08 4.04 0.74 1.84 -1.82 1.41 -2.76 -0.63 
+-4.73 -3.61 -1.15 -3.71 -0.15 -2.28 f*
+189 0 54 rG
+2367.43 3177.52 -0.74 0.35 4.91 3.73 1.61 1.02 -0.95 -1.32 -0.81 -1.12 -4.01 -2.65 f*
+255 135 0 rG
+2369.1 3385.59 -2.24 3.25 1.02 1 4.41 1.97 2.08 0.48 4.43 -2.23 -0.37 -2.09 -3.04 -2.52 
+-6.29 0.13 f*
+255 35 0 rG
+2368.95 3176.82 -1.52 0.7 4.01 2.65 -2.3 -3.2 -0.2 -0.15 f*
+255 G
+2373.94 3286.07 -6.45 -1.06 0.07 -1.62 0.11 -1.59 4.6 0.91 1.8 0.34 3.17 0.59 3.25 0.58 
+-0.08 1.41 0 0.67 -0.02 0.76 -4.73 -0.71 -1.71 -0.29 f*
+255 0 r6
+2368.86 3409.39 -0.61 0.39 1.24 0.5 -0.63 -0.89 f*
+0 155 255 rG
+2371.94 3407.38 -3.08 2.02 0.63 0.89 4.27 1.63 5.62 1.99 3.32 -2.58 -5.43 -1.93 -5.34 -2.02 f*
+255 135 0 rG
+2369.04 3176.8 -0.09 0.02 0.2 0.15 -0.11 -0.17 f*
+2373.33 3354.21 -0.56 1.2 2.32 1.91 2.36 1.91 2.7 1.76 2.64 1.75 0.63 2.76 0 0.15 
+1.43 2.56 1.76 2.5 2.78 1.9 3.23 0.52 0 -12.33 -0.65 -0.04 -4.86 -0.35 -2.99 -1.46 
+-1.22 -2.32 0.29 -1.26 1.75 0.26 3.39 1.15 2.67 1.47 1.39 2.26 0.24 0.28 0 12.33 
+1.28 0.22 2.74 1.93 2.73 1.99 0.3 0.26 2.67 1.61 2.67 0.41 2.67 -0.65 5.4 -0.72 
+0.13 -0.02 3.86 0.78 4.02 0.52 4.82 -0.61 2.26 -0.34 2.73 -0.83 4.76 -1.23 0.07 -0.11 
+-3.37 -0.78 2.32 -3.46 -3.17 -0.78 -3.15 -0.84 -3.07 -0.89 2.78 -3.32 -2.91 -0.89 -2.88 -0.93 
+-2.82 -0.98 -2.8 -1.02 -2.75 -1.09 -0.11 -0.02 0.07 0.07 2.22 1.58 1.19 2.62 0.24 1.46 
+-1.61 -0.15 -4.46 0.24 -3.11 -1.09 -3.1 -1.11 -2.78 -1.37 -2.32 -1.67 -2.21 -1.71 -1.39 -2.2 
+-0.09 -0.06 -2.52 -1.35 -2.56 -1.45 -2.5 -1.48 -2.45 -1.52 -2.39 -1.57 -4.88 2.15 -1.34 -0.93 
+-4.45 2.39 f*
+0 255 r6
+2375.54 3366.45 -0.63 -0.89 1.24 0.58 0.05 0.16 -0.65 0.15 f*
+189 0 54 rG
+2380.38 3287.07 -4.73 -0.71 4.76 1.56 0.39 0.63 1.3 1.56 1.13 1.52 -0.5 1.34 0.65 1.43 
+1.3 1.46 0.89 1.41 0.18 1.39 2.6 0.04 -0.32 -1.35 -0.31 -1.35 -0.26 -1.34 2.19 0.13 
+-1.11 -1.37 0.71 -1.25 -0.8 -1.37 -1.52 -0.63 -2.06 -1.11 -0.69 -1.45 -3.77 -1.3 -0.02 0.76 f*
+255 G
+2376.7 3315.75 -0.98 -1.58 6.18 -0.67 6.17 -0.79 0.89 1.39 0.93 1.37 -6.08 0.98 -6.1 0.87 
+-1.02 -1.56 f*
+255 0 r6
+2377 3415.71 -1 0.74 5.88 2 5.99 1.87 1.15 -1.02 -6.49 -1.37 -5.53 -2.21 f*
+189 0 54 rG
+2377.02 3185.07 -0.89 0.42 4.75 2.71 -1.11 -1.54 -2.76 -1.59 f*
+0 155 255 rG
+2379.38 3413.91 -2.39 1.8 5.53 2.21 6.49 1.37 1.84 -1.67 -5.79 -1.8 -5.68 -1.91 f*
+255 35 0 rG
+2378.25 3184.53 -1.24 0.54 2.76 1.59 -1.52 -2.13 f*
+189 0 54 rG
+2382.83 3188.39 -0.91 0.39 4.54 2.37 2.09 0.61 2.84 1.59 3.06 -0.37 1.56 -2.62 3.82 0.87 
+-1.09 -1.75 -2.3 -0.79 -1.21 0.43 -1.24 0.48 -0.65 1.76 -3.17 -0.26 -0.35 0 -4.32 -1.3 
+-2.67 -1.39 f*
+255 0 r6
+2389.08 2892.55 -6.75 0.63 0.46 5.38 6.73 -0.65 0.43 5.36 0.96 10.72 1 10.71 1.08 10.72 
+0.59 5.34 6.4 -0.63 0.55 5.36 0.56 5.34 6.34 -0.58 0.52 5.34 0.54 5.34 0.57 5.34 
+6.2 -0.54 0.52 5.34 6.14 -0.5 6.19 -0.43 1.3 15.95 6.03 -0.39 0.39 5.32 0.41 5.3 
+5.91 -0.33 5.92 -0.28 0.61 10.59 0.3 5.27 0.33 5.29 -5.68 0.29 -5.66 0.33 0.45 5.27 
+0.46 5.25 0.48 5.27 0.48 5.26 1 10.45 0.5 5.21 5.18 -0.33 5.21 -0.26 5.18 -0.24 
+5.21 -0.17 5.21 -0.12 5.21 -0.07 0.08 5.21 0.07 5.2 0.09 5.21 -4.99 0.06 0.16 5.19 
+-4.91 0.13 -4.91 0.18 0.33 5.16 4.82 -0.15 4.82 -0.13 4.84 -0.06 0.09 5.16 4.75 -0.02 
+0 -62.66 -5.64 0.02 -0.06 -5.27 -5.69 0.09 -0.12 -5.3 -0.13 -5.27 5.82 -0.08 5.84 -0.02 
+0 -170.32 -7.11 0.02 -7.1 0.07 -7.1 0.13 -7.09 0.16 -7.08 0.2 -7.09 0.24 -0.11 -5.32 
+-7.09 0.29 0.13 5.32 -7.08 0.32 0.15 5.32 -7.05 0.38 0.2 5.32 -7.04 0.41 0.22 5.34 
+0.48 10.68 -6.93 0.48 0.28 5.34 -6.9 0.54 0.33 5.36 -6.86 0.59 0.38 5.34 0.39 5.36 
+0.41 5.38 f*
+255 35 0 rG
+2384.14 3187.83 -1.31 0.56 2.67 1.39 4.32 1.3 0.35 0 3.17 0.26 0.65 -1.76 -1.43 0.57 
+-1.11 -1.67 -3.49 -0.13 -2.95 -0.87 -0.86 0.35 f*
+2383.18 3355.38 -0.29 1.26 1.22 2.32 2.99 1.46 4.86 0.35 0.65 0.04 -0.24 -0.28 -1.39 -2.26 
+-2.67 -1.47 -3.39 -1.15 -1.75 -0.26 f*
+255 135 0 rG
+2386.85 3186.71 -1.85 0.76 2.95 0.87 3.49 0.13 -1.7 -2.61 -0.69 -0.04 -2.21 0.89 f*
+189 0 54 rG
+2389.65 3302.69 -1.61 0.05 1.89 1.3 -0.02 1.37 0.82 -0.05 6.34 -0.45 0.56 1.21 2.15 -0.2 
+0.24 -1.25 -3.26 -1 -0.24 0 -6.36 0.35 -0.52 -1.33 f*
+0 255 r6
+2395.03 3400.93 -6.14 1.08 1.69 2.82 4.97 -0.61 -0.52 -3.3 f*
+255 203 0 rG
+2389.58 3185.63 -0.52 0.2 0.69 0.04 -0.17 -0.24 f*
+189 0 54 rG
+2392.69 3309.29 -3.36 0.37 2.47 1.13 2.26 0.82 0.5 0.22 1.02 1.24 5.55 -0.96 -0.79 -1.17 
+-0.73 -1.19 -0.69 -1.2 -6.23 0.74 f*
+255 135 0 rG
+2390.8 3240.97 -1.09 0.93 0.8 0.57 0.29 -1.5 f*
+189 0 54 rG
+2391.28 3261.11 2.64 -0.34 2.02 0.43 5.33 1.54 1.16 -0.04 0.15 0.65 0.32 1.55 0.11 1.41 
+-1.75 0.61 -1.39 -0.57 0.71 -1.09 -5.73 -2.54 -3.58 -1.61 f*
+7 193 59 rG
+2393.25 3407.29 1.13 0.35 5.23 1.58 2.84 -2.91 5.1 1.41 5.16 1.3 0.5 -0.61 -3.11 -3.65 
+-5.25 -1 -4.52 1.91 -5.33 1.37 -1.76 0.23 f*
+189 0 54 rG
+2396.14 3315.82 -0.52 1.58 2.19 -0.48 -0.97 -1.24 -0.59 -0.8 -0.11 0.93 f*
+255 203 0 rG
+2396.5 3358.03 -0.09 -0.06 0.09 0.06 1.39 2.2 2.21 1.71 2.32 1.67 2.78 1.37 3.1 1.11 
+3.11 1.09 4.46 -0.24 1.61 0.15 -0.24 -1.46 -1.19 -2.62 -2.22 -1.58 -0.07 -0.07 -2.6 -1.09 
+-3.69 2.95 -2.82 -1.24 -2.78 -1.28 -2.71 -1.32 -2.68 -1.35 f*
+255 35 0 rG
+2397.94 3188.13 -1.5 0.54 2.3 0.79 -0.8 -1.33 f*
+87 0 136 rG
+2402.89 3303.23 -6.12 0.43 3.26 1 -0.24 1.25 4.14 -0.43 -0.55 -1.13 -0.49 -1.12 f*
+2406.9 3295.4 -6.46 -0.15 0.21 1.15 6.47 0.04 -0.22 -1.04 f*
+189 0 54 rG
+2402.32 3192.1 -0.86 0.3 3.12 4.38 3.06 2.02 2.56 -0.71 2.3 -1.21 2.13 -1.61 2.06 -1.8 
+3.76 1.61 3.34 1.18 1.3 4.84 -0.24 2.87 -0.43 2.54 -0.29 1.3 0.98 3.73 3.08 4.32 
+0.63 0.54 3.97 2.91 0.33 0.3 3.36 2.37 2.17 -0.08 2.06 -0.31 2.2 0.61 0.17 4.52 
+0.02 0.43 -1.02 1.71 -0.58 2.74 0.13 0.99 2.71 4.32 0.07 0.06 3.73 3.93 0.35 0.44 
+3.27 3.58 0.26 0.17 2.02 1.02 1.64 0.39 1.39 -0.17 1.17 -0.72 0.48 -2.2 -1.23 0.24 
+-1.74 -4.51 -1.02 0.21 0.99 3.73 -1.11 1 -2.25 -1.52 -2.46 -2.15 -0.43 -0.46 -3.41 -3.23 
+-0.21 -0.24 -2.69 -4.34 0.11 -0.96 1.02 -1.91 1.06 -2.07 1.32 -0.91 0 -0.78 0.39 0.69 
+2.54 4.41 2.04 4.47 1.95 2.78 -1.19 -2.93 -1.8 -4.53 -1.78 -4.56 -1.76 -4.58 -0.67 -1.8 
+-1.57 1.56 -2.56 -0.91 -2.34 -0.24 -2.13 0.24 -2.52 -0.46 -0.68 -0.48 -3.75 -3.52 -0.57 -0.43 
+-0.24 -1.11 1.55 -1.87 1.9 -1.17 2.11 -0.87 2.43 -0.09 -0.69 -1.69 -0.48 0 0.13 -0.83 
+-1.58 -3.91 -2.41 0.54 -1.97 -4.64 -0.81 -1.91 -3.21 -0.93 -0.82 -1.12 -2.3 0.56 -1.24 -2.66 
+-3.5 -1.15 -0.21 -0.09 -2.5 0.7 -2.62 0.79 -2.6 0.8 -2.11 1.63 -2.72 0.61 -0.65 -0.43 
+-3.43 -4.28 f*
+255 35 0 rG
+2403.36 3191.73 -1.04 0.37 3.43 4.28 0.65 0.43 2.72 -0.61 2.11 -1.62 -2.58 0.82 -2.56 0.87 
+-2.72 -4.53 f*
+2 239 204 rG
+2419.64 3171.25 -3.1 0.71 0.5 1.24 2.75 -1.54 0.29 -0.5 1.93 -2.7 2.8 -1.84 2.95 -1.45 
+3.3 -0.47 3.45 0.13 -0.35 -1.3 -0.59 -0.02 -2.73 0.43 -3.28 0.56 -3.26 0.61 -1.24 0.24 
+-1.75 1.13 -2.73 1.97 1.06 2.8 f*
+7 193 59 rG
+2419.79 3171.66 -2.75 1.54 1.09 2.64 2.59 -1.84 1.88 -3.38 0.13 -0.17 2.73 -1.89 2.75 -1.93 
+3.21 -0.69 3.43 0.19 -0.35 -1.3 -3.45 -0.13 -3.3 0.47 -2.95 1.45 -2.8 1.84 -1.93 2.7 
+-0.29 0.5 f*
+0 155 255 rG
+2421.05 3165.75 -3.23 0.7 0.76 2 2.73 -1.97 1.75 -1.13 -2.02 0.41 f*
+110 210 9 rG
+2420.71 3174 -2.59 1.84 0.34 0.87 0.74 1.76 2.45 -1.97 0.52 -0.63 1.76 -2.04 2.32 -2.84 
+0.43 -1.2 1.97 -1.69 3.11 -0.91 3.45 0.24 -0.37 -1.31 -3.43 -0.19 -3.21 0.69 -2.75 1.93 
+-2.73 1.89 -0.13 0.17 -1.88 3.38 f*
+255 35 0 rG
+2419.1 3192.25 -0.16 0.04 0.21 0.09 3.5 1.15 -0.89 -1.98 -1.32 0.35 -1.34 0.34 f*
+0 255 r6
+2421.66 3176.5 -2.45 1.97 1.08 2.63 2.7 -1.24 2.75 -1.12 -1.24 -3.34 2.89 -0.59 0.13 -0.17 
+1.76 -4.67 0.76 -0.78 2.11 -0.76 1.61 0.13 2 0.87 3.99 2.69 0.45 0.52 0.02 1.32 
+-2.08 4.02 2.99 -0.46 0.66 -0.08 -0.44 -4.97 -2.12 -2.39 -2.58 -1.97 -1.2 0.19 -0.21 -0.86 
+-3.45 -0.24 -3.11 0.91 -1.97 1.69 -0.43 1.2 -2.32 2.84 -1.76 2.04 -0.52 0.63 f*
+255 203 0 rG
+2422.98 3179.86 -2.7 1.24 0.16 0.36 2.91 -0.67 2.93 -0.62 -0.54 -1.43 -2.75 1.13 f*
+189 0 54 rG
+2421.92 3267.19 -0.67 -1.09 1.74 -0.04 0.43 1.19 -1.5 -0.06 f*
+255 35 0 rG
+2426.48 3195.55 -0.28 0.09 0.82 1.13 3.21 0.93 -1.15 -2.75 -2.6 0.61 f*
+255 203 0 rG
+2427.52 3174.63 -0.12 0.17 0.17 -0.04 3.06 -0.59 1.52 4.73 0.26 0.04 1.67 -0.28 0 -3.76 
+-3.06 -0.8 2.25 -1.89 3.39 0.45 0.61 0.39 -0.33 0.67 -2.86 1.17 0 3.76 1.06 -0.2 
+3 -0.5 2.08 -4.02 -0.02 -1.32 -0.45 -0.52 -3.99 -2.69 -2 -0.87 -1.61 -0.13 -2.11 0.76 
+-0.76 0.78 -1.76 4.67 f*
+189 0 54 rG
+2430.14 3265.39 -0.46 -1.46 0.17 -1.09 0.82 -0.69 1.17 -0.44 1.57 -0.11 1.8 0.09 1.3 0.41 
+3.15 3.02 -0.35 0.84 0.19 0.58 -0.45 0.33 -0.72 0.55 -0.52 0.41 -0.44 -0.02 -1.85 -0.13 
+-2.54 -0.54 0 -2.2 0.79 -0.63 0.04 -0.34 -0.35 0.13 -0.84 0.61 0.02 0.18 0.34 0.06 
+0 2.2 -0.06 -0.02 -2.09 -0.71 -0.71 -1.02 f*
+255 35 0 rG
+2430.29 3215.23 -0.24 -1.11 1.55 -1.87 1.9 -1.17 2.11 -0.87 2.43 -0.09 1.19 2.82 2.2 -0.46 
+1.82 4.6 2.08 -0.43 1.07 2.8 -1.57 1.56 -2.56 -0.91 -2.34 -0.24 -2.13 0.24 -2.52 -0.46 
+-0.68 -0.48 -3.75 -3.52 -0.57 -0.43 f*
+255 135 0 rG
+2433.27 3172.22 -2.25 1.89 3.06 0.8 2.86 -1.17 0.33 -0.67 -0.61 -0.39 -3.39 -0.45 f*
+0 255 r6
+2432.14 3178.91 0.02 0.09 0.24 -0.05 -0.26 -0.04 f*
+255 35 0 rG
+2432.66 3264.89 -0.02 -0.18 0.84 -0.61 0.35 -0.13 -0.04 0.34 -0.79 0.63 -0.34 -0.06 f*
+0 155 255 rG
+2434.14 3163.41 -0.57 0.09 0.59 0.02 -0.02 -0.11 f*
+110 210 9 rG
+2438.46 3167.84 -1.82 0.26 2.58 1.97 2.13 2.39 0.44 4.97 2.36 -0.33 -0.28 -1.13 -1.37 -3.66 
+-3.79 -4.3 -0.24 -0.17 f*
+87 0 136 rG
+2437 3207.62 -0.13 0.83 0.48 0 -0.05 -0.09 -0.3 -0.74 f*
+7 193 59 rG
+2438.65 3167.82 -0.19 0.02 0.24 0.17 3.79 4.3 1.37 3.66 -0.87 -3.73 -0.43 -1.85 -2.34 -2.8 
+-1.56 0.21 f*
+2 239 204 rG
+2441.86 3167.36 -1.65 0.24 2.34 2.8 -0.7 -3.04 f*
+189 0 54 rG
+2441.43 3253.6 -0.65 -1.97 0.84 -0.91 1.34 -0.33 1.59 0.07 2.13 0.82 0.32 0.11 3.02 4.14 
+-0.02 0.41 -0.24 1.48 -0.67 0.8 -1.2 0.18 -2.08 -1.24 -0.98 -0.74 -3.4 -2.82 f*
+255 0 r6
+2445.72 3095.59 -4.55 0.35 0.67 5.12 0.67 5.1 0.71 5.1 4.3 -0.34 0.61 5.08 4.21 -0.29 
+4.23 -0.26 4.23 -0.2 0.35 5.08 0.37 5.06 -4.06 0.19 0.48 5.06 3.95 -0.2 3.95 -0.15 
+3.97 -0.11 3.97 -0.07 -0.09 -5.05 -4.06 0.06 -0.2 -5.08 -0.17 -5.08 4.23 -0.06 -0.08 -5.1 
+4.34 -0.02 0 -15.37 -4.6 0.02 -4.58 0.09 -0.18 -5.14 -4.66 0.11 0.52 10.29 -4.51 0.15 
+-4.47 0.21 -4.49 0.26 -4.47 0.31 -0.59 -5.12 f*
+255 35 0 rG
+2445.86 3236.48 -2.69 -4.34 0.11 -0.96 1.02 -1.91 1.06 -2.07 1.32 -0.91 0 -0.78 0.39 0.69 
+2.54 4.41 2.04 4.47 1.95 2.78 0.63 1.57 0.5 -0.09 0.99 3.73 -1.11 1 -2.25 -1.52 
+-2.46 -2.15 -0.43 -0.46 -3.41 -3.23 -0.21 -0.24 f*
+255 203 0 rG
+2445.01 3389.56 -1.55 3.49 4.23 0.59 -1.34 3.52 4.43 0.54 4.46 0.46 4.47 0.37 0.43 -1.95 
+-4.26 -0.8 -3.58 -1.56 -0.17 -0.65 0.13 -3.04 0.93 -3.62 -2.84 -0.35 -1.32 3.56 -4.03 -0.54 f*
+189 0 54 rG
+2449.89 2375.93 -0.91 -0.8 0.91 -0.24 1.17 -0.15 2.04 0.39 0.61 0.71 -0.61 0.3 -0.85 0.2 
+-2.36 -0.41 f*
+255 135 0 rG
+2452.28 3390.52 -0.13 3.04 0.17 0.65 3.58 1.56 4.26 0.8 0.35 -1.61 4.3 0.29 4.32 0.2 
+4.32 0.13 0.22 0 4.1 -0.12 4.32 0.13 0.02 0 2.22 3.54 2.75 2.69 0.91 0.78 
+4.36 2.59 1.32 0.67 3.73 0.54 0 -18.86 -1.25 -0.02 1.11 -0.54 1.97 0.26 -1.82 0.31 
+0 18.86 0.16 0.02 5.59 1.89 0.39 0.29 4.43 3.06 1.56 -0.2 4.99 -0.63 0 -21.85 
+-0.08 -0.02 -4.69 -1.13 -4.56 -1.09 -2.24 0.09 2.09 -0.54 3.45 -1.41 4.04 -0.06 3.08 0.15 
+-0.96 3.95 -0.13 0.07 0 21.85 0.24 -0.02 0.31 0.71 5.1 -1.08 -0.2 -0.41 3.23 -0.52 
+1.3 -1.43 0.16 -2.43 0.47 -3.73 0.09 -0.05 0 -9.91 -2.23 -0.81 1.21 -0.84 1.65 0.26 
+-0.63 1.39 0 9.91 0.89 -0.37 0.54 0.11 4.82 -0.04 4.86 -0.84 4.19 -1.74 4.69 -1.11 
+4.96 -0.85 4.95 -0.98 4.64 -1.37 4.88 -1.17 2.93 0.24 0.78 0.11 0 -7.23 -2.41 -0.45 
+-3.52 -2.78 -5.08 -0.7 -3.95 1.32 -4.55 0.68 -1.24 -0.05 -3.9 -2.78 -0.41 -2.64 4.17 1.41 
+2.82 0.56 4.05 -1.02 4.12 -1.02 1.7 -2.88 3.62 -1.37 4.93 1.48 0.43 0.11 0 -29.45 
+-0.35 -0.09 -0.13 -0.11 0.26 0.02 0.22 0.17 0 29.45 4.49 0.91 -1.54 -2.61 -0.91 -2.69 
+5.45 0.41 1.91 3.6 0.13 0.37 -1.82 2.86 0.98 1.61 -1.58 2.15 -4.91 1.11 -2.97 2.41 
+0 7.23 4.19 0.56 2.82 0.33 2.99 -1.24 1.31 0.87 0.37 -0.13 0 -52.69 -3.23 -0.63 
+-1.39 -0.89 3.56 -1.11 0.41 -0.21 0.43 0.5 0.22 2.34 0 52.69 1.34 -0.43 0 -56.9 
+0.2 -1.63 2.64 -1.48 0.37 -0.02 0.04 0.13 1.43 2.56 -4.69 0.44 0 56.9 3.28 -1.08 
+0.33 -0.18 0 -34.85 0.26 -0.37 0 -17.36 -2.52 -2.16 4.66 0.19 1.32 1.43 -3.47 0.54 
+0 17.36 0.54 -0.67 0.65 0.02 0.82 0.55 -2.28 0.48 0 34.85 3.97 -1.95 3.95 -2.3 
+3.84 -2.35 0.89 -0.57 0 -37.3 0.59 -1.15 2.67 -1.93 -2.71 -3.2 -0.26 -0.39 -3.5 -2.93 
+6.55 -0.11 6.14 0.3 0.41 -0.02 1.22 0.33 2.04 2.93 -2.93 2.04 -6.62 1.13 -1.98 2.13 
+-1.63 0.87 0 37.3 2.91 -1.82 3.36 -2.56 4.93 -1.95 4.91 -2.04 3.34 -2.62 3.75 -2.52 
+3.95 -2.5 3.02 -2.75 2.02 -2.97 0 -1.09 -5.46 -1.21 -5.21 -1.48 -5.36 -1.39 -4.34 -2.28 
+-3.84 -1.67 1.39 -2.21 0.2 -0.26 0.43 -0.29 2.84 -1.78 1.82 -2.39 0.02 -0.04 0.39 -2.63 
+2.25 -2.28 2.26 0.04 4.92 -1.61 2.74 -2.34 2.02 -2.45 -2.39 -1.91 -2.45 -1.17 -2.37 -0.98 
+-5.19 -1.71 -5.9 -0.87 -2.87 -0.7 -1.47 -2.25 0.02 -0.16 0.3 -2.14 2.3 -1.41 1.15 -0.46 
+5.84 -1.82 1.5 -0.93 1.97 -1.17 2.71 -1.89 0 -37.59 -0.52 -0.76 -1.57 -1.69 -1.52 -1.67 
+2.93 -2.54 6.53 -0.13 0.02 0 0 0.23 -0.52 2.13 -4.27 3.28 -1.09 1.15 0 37.59 
+0.44 -0.3 4.12 -1.95 0.48 -0.35 2.73 -2.37 5.18 -1.97 2.3 -0.78 0.7 -2.43 0.93 -2.45 
+-1.5 -0.87 -2.45 -1.09 -0.07 -2.28 0.48 -2.34 1.17 -2.46 1.15 -2.49 0.04 -2.3 -0.71 -2.17 
+0.21 -2.34 3.91 -2.45 1.26 -1.02 1.95 -2.88 2.97 -3.23 0.21 -0.84 0.85 -1.93 -1.02 -0.93 
+-0.52 -1.08 P
+-1.97 -1.87 -4.45 -1.02 1.13 -2.8 2.71 -3.45 -5.1 -0.02 -1.93 0.11 -4.64 0.39 -3.3 0.11 
+-3.49 -0.3 -1.8 -0.07 -2.91 -1.17 -2.21 -1.39 -1.39 -1.65 -0.02 -0.02 -1.54 -1.61 -2.17 -1.3 
+-1.95 -1.37 -2.19 -1.26 -2.39 -1.11 -0.02 -0.02 -3.21 -0.65 -3.73 1.29 -2.76 -0.3 -1.25 -1.5 
+1.41 -2.21 1.65 -1.54 -1.3 -1.57 -2.64 -0.78 -0.59 -0.02 0.2 0.24 -5.42 3.02 -5.49 2.95 
+1.09 1.43 1.02 1.45 0.98 1.48 0.93 1.5 5.73 -2.67 0.93 1.58 0.91 1.58 0.85 1.63 
+-5.91 2.43 0.76 1.56 0.7 1.58 -6.04 2.2 0.58 1.52 0.57 1.5 0.5 1.54 0.45 1.54 
+0.41 1.54 -6.27 1.71 0.33 1.48 0.04 0.21 2.88 0.65 1.78 1.18 1.48 1.28 0.8 1.45 
+0.2 1.59 -0.09 1.63 -0.84 1.75 -1.26 1.76 -0.8 1.69 -0.2 1.59 -0.48 1.61 0.49 1.52 
+-0.41 1.61 -0.04 1.59 1.13 1.54 -0.11 1.61 -0.74 1.61 -1.23 1.63 -2.17 1.57 -3.47 1.43 
+-1.17 1.5 5.99 0.37 -0.8 1.61 -0.87 1.59 -0.93 1.58 -0.97 1.58 6.16 0.7 -1.06 1.67 
+-1.13 1.65 -1.19 1.64 -1.26 1.63 -1.3 1.61 -5.88 -1.2 -1.3 1.5 -1.34 1.48 -1.41 1.47 
+5.68 1.48 -1.54 1.56 5.62 1.5 -1.64 1.63 -1.74 1.59 -1.78 1.58 -1.85 1.54 -1.89 1.54 
+-1.96 1.5 -1.99 1.46 -2.06 1.45 -2.11 1.41 -4.77 -2.35 -4.71 -2.41 -1.2 -0.63 -2.69 0.76 
+1.95 1.06 4.6 2.49 4.67 2.43 -2.21 1.35 -2.25 1.32 -2.32 1.26 -2.35 1.25 -2.41 1.2 
+-2.45 1.17 -2.5 1.13 3.82 2.93 -2.69 1.15 -2.71 1.11 -2.76 1.09 -2.8 1.02 -2.82 0.98 
+-2.88 0.93 -2.91 0.89 1.32 1.58 2.97 -0.91 3.36 1.13 0.8 3.43 0.11 0.48 1.84 3.56 
+-1.02 1.65 -2.41 -0.61 -2.93 -0.61 -3.06 -1.76 -1.95 0.52 -0.07 -0.08 -2.43 -3.32 -3.16 0.78 
+-3.19 0.72 -3.23 0.67 -3.23 0.63 -3.28 0.56 1.63 3.61 -3.25 0.5 -0.17 0.13 -0.2 -0.07 
+-0.8 0.09 -2.54 0.34 -1.28 -3.66 -3.32 0.39 -3.34 0.32 -3.36 0.26 -3.37 0.21 -3.36 0.15 
+-3.38 0.09 0.11 1.91 3.45 -0.17 3.56 0.52 3.6 0.37 1.71 0.54 -0.87 3.67 -0.04 0.15 
+0.48 3.69 -3.28 2.13 -3.88 1.58 -2.82 0.46 -1.26 0.09 -1.47 -0.05 -2.65 -0.57 -3.99 -2.21 
+-1.2 -0.93 1.33 -1.54 2.37 -2.1 1.49 -0.76 2.13 -2.99 -2.13 0.02 -3.57 -0.04 -0.18 3.73 
+-3.75 -0.09 -3.73 -0.17 -3.73 -0.24 -0.74 3.66 -3.93 -0.32 -3.88 -0.39 -1.02 -0.11 -0.93 3.62 p f*
+255 G
+2466.23 3011.02 -0.13 -5.27 5.82 -0.08 5.84 -0.02 0 15.84 -5.64 0.02 -0.06 -5.27 -5.69 0.09 
+-0.12 -5.3 f*
+189 0 54 rG
+2469.96 2369.99 -0.11 -0.09 0.02 -0.11 0.83 -1.21 1.21 -0.59 1.43 -0.11 1.56 0.48 1.11 1.32 
+-0.68 1.37 -1.06 0.57 -0.24 0 0 -0.98 0.98 -0.93 -1.41 -0.87 -1.34 0.17 -0.76 0.8 
+1.29 0.74 1.25 0.09 0 0.98 -0.93 -0.05 -1.36 -0.5 -1.78 -1.08 f*
+255 35 0 rG
+2472.79 2370.55 -1.29 -0.74 0.76 -0.8 1.34 -0.17 1.41 0.87 -0.98 0.93 -1.25 -0.09 f*
+2473.89 3386.7 -1.33 1.54 1.2 0.93 3.99 2.21 2.65 0.57 1.47 0.05 1.26 -0.09 2.82 -0.46 
+3.88 -1.58 3.28 -2.13 -0.48 -3.69 0.04 -0.15 0.87 -3.67 -1.71 -0.54 -3.6 -0.37 -3.56 -0.52 
+-3.45 0.17 0.09 1.84 -1.43 0.02 -2.13 2.99 -1.49 0.76 -2.37 2.1 f*
+255 0 r6
+2484.83 2840.64 -7.08 0 0 170.29 5.75 0.02 5.75 0.06 -0.12 5.3 5.68 0.13 5.69 0.17 
+5.68 0.24 5.69 0.29 5.66 0.33 5.66 0.39 5.64 0.43 0.59 -5.27 0.56 -5.3 0.55 -5.29 
+0.52 -5.3 5.9 0.5 5.86 0.55 0.65 -5.3 5.93 0.58 5.9 0.65 0.74 -5.32 5.94 0.7 
+0.79 -5.32 5.99 0.76 5.99 0.81 -0.89 5.32 -0.93 5.32 5.86 0.84 5.82 0.91 5.8 0.96 
+1.08 -5.32 5.84 1.02 5.81 1.07 5.8 1.13 5.78 1.17 5.73 1.24 5.71 1.25 5.69 1.35 
+5.64 1.39 5.62 1.43 -1.61 5.32 -1.63 5.32 5.45 1.5 -1.73 5.27 -1.78 5.27 -1.8 5.27 
+-5.29 -1.49 -5.3 -1.43 1.67 -5.27 -5.41 -1.39 -1.62 5.27 -1.65 5.25 -5.32 -1.32 -5.34 -1.28 
+1.52 -5.26 -5.43 -1.23 -5.47 -1.17 -1.39 5.27 -5.43 -1.13 -1.37 5.25 -1.39 5.25 -1.41 5.23 
+-1.45 5.21 -5.19 -1.06 -5.19 -1 1.3 -5.21 1.28 -5.23 1.26 -5.25 1.21 -5.25 -5.49 -0.96 
+-5.51 -0.91 -1.11 5.25 -1.13 5.25 -5.41 -0.84 -1.06 5.25 -1.11 5.23 -2.25 10.42 -5.14 -0.78 
+-5.16 -0.74 -5.19 -0.67 -0.93 5.21 -5.12 -0.62 -5.14 -0.59 0.8 -5.21 0.79 -5.23 5.27 0.59 
+5.27 0.63 0.91 -5.23 5.32 0.7 0.96 -5.23 0.96 -5.25 0.91 -5.26 -5.51 -0.69 -1.74 10.5 
+-3.8 -0.46 -1.61 -0.17 -0.82 5.23 -5.34 -0.59 -5.38 -0.54 -0.7 5.25 -5.3 -0.5 -5.32 -0.41 
+-0.58 5.21 -0.57 5.23 -5.18 -0.39 -5.19 -0.33 0.43 -5.2 -5.27 -0.29 -0.34 5.23 -5.21 -0.24 
+-5.21 -0.17 0.22 -5.23 -5.28 -0.11 0.13 -5.25 0.15 -5.23 -5.42 -0.09 0.06 -5.25 -5.49 -0.02 
+0 52.13 4.73 0.02 -0.07 5.14 -0.09 5.14 -4.58 -0.02 0 10.27 4.41 0.02 4.41 0.06 
+0.17 -5.12 4.52 0.13 4.49 0.15 4.47 0.21 -0.41 5.13 4.38 0.24 4.41 0.3 -0.61 5.1 
+-1.26 10.16 -0.62 5.05 4.03 0.33 4.02 0.36 -0.84 5.04 -0.83 5.02 -3.84 -0.37 -1.5 -0.13 
+1.34 1.13 3.82 0.39 3.06 -0.72 1.11 -0.89 0.52 -0.29 0 -61.17 -4.8 -1.33 -4.86 -0.71 
+-2.82 -3.47 1.8 -5.12 1.91 -1.41 1.96 1.63 2.78 1.82 5.03 0.19 4.84 1.63 4.37 3 
+-5.17 3.04 -4.52 0.65 -0.52 0.09 0 61.17 3.93 -2.21 3.77 -0.61 0.35 -0.04 0.07 0.11 
+3.08 3.47 0.89 2.26 1.7 2.97 1.89 2.76 0.59 2.15 3.69 0.41 4.11 -0.89 0.54 -0.02 
+-0.5 -0.09 -3.62 -0.7 -3.64 -0.65 1.41 -4.97 -3.76 -0.61 1.3 -4.96 1.3 -5 -3.97 -0.61 
+1.19 -5.02 -4.08 -0.56 -4.05 -0.52 0.98 -5.03 0.98 -5.08 4.25 0.54 4.23 0.57 -1.15 5.05 
+4.14 0.61 4.12 0.68 4.1 0.7 4.08 0.75 -1.52 5 -1.54 4.96 3.88 0.79 -1.65 4.95 
+3.78 0.8 -0.07 0.21 0.13 -0.2 0.06 -0.39 0.24 -4.86 0.83 -5.14 2.47 -4.82 2.73 -3.34 
+0.85 -1.24 5.36 -4.01 0.28 -0.13 4.99 -1.95 3.71 -0.33 0 -25.07 -0.21 -3.32 1.67 -1.46 
+0.2 1.84 -1.65 2.93 0 25.07 1.02 -0.09 3.06 -0.02 1.7 -0.35 4.93 -0.7 4.94 -0.67 
+3.04 0.15 1.61 0.07 5.32 -1.24 4.95 -0.46 0 -23.11 -4.6 -1.26 -4.64 -1.24 1.84 -5.1 
+-4.75 -1.17 1.74 -5.12 1.69 -5.14 1.67 -5.16 1.65 -5.19 1.61 -5.18 5.1 1.21 5.08 1.26 
+-1.75 5.17 P
+4.96 1.3 4.95 1.37 4.9 1.41 4.88 1.48 2.04 -5.16 4.91 1.52 4.88 1.59 4.84 1.63 
+0.93 0.3 0.3 -3.21 -4.1 -3.54 -1.69 -0.95 -2.78 -1.8 -4.08 -3.93 -0.62 -2.37 1.84 -0.86 
+5.99 -0.89 4.58 2.8 2.87 3.73 0.73 1.32 0.8 -0.8 4.21 -4.49 2.45 -0.35 0 -68.95 
+-5.86 -1.49 -5.88 -1.43 1.32 -5.36 1.31 -5.41 5.99 1.43 1.32 -5.4 1.28 -5.41 6.06 1.46 
+1.28 -5.43 1.26 -5.42 1.21 -5.45 6.17 1.5 1.19 -5.45 1.2 -5.47 6.2 1.54 1.18 -5.49 
+1.13 -5.49 1.09 -5.5 6.29 1.57 1.09 -5.54 6.29 1.61 1.08 -5.54 6.3 1.65 6.27 1.7 
+-1.15 5.55 -1.2 5.56 -1.24 5.53 -6.16 -1.73 -1.24 5.54 -1.3 5.51 -6.1 -1.7 -1.3 5.49 
+-1.35 5.47 -6.05 -1.65 -1.34 5.46 -6.05 -1.63 -1.33 5.45 -1.39 5.44 -1.43 5.43 -5.95 -1.58 
+-1.39 5.42 -1.45 5.41 -5.88 -1.54 -1.46 5.38 0 68.95 0.59 -0.08 5.99 -0.63 5.25 1.19 
+1.98 -0.3 4.56 -1.39 5.1 -1.02 1.48 -0.71 5.14 1.54 0.48 2.06 -1.82 5.45 -3.41 2.61 
+-2.78 1.04 -4.32 1.82 -1.8 1.85 -6.14 2.93 -0.74 0.46 -3.69 4.62 -3.59 4.69 1.5 3.45 
+3.23 4.38 0.04 0.28 -0.21 0.04 -5.19 -0.52 -4.03 -2.78 -5.08 -0.72 -0.22 -1.95 -0.24 -6.08 
+-0.46 -1.64 -0.58 1.28 -2.34 5.1 -4.67 -1.67 -2.32 5.1 -4.62 -1.61 -2.3 5.08 -4.58 -1.54 
+-4.62 -1.5 -4.66 -1.43 -4.69 -1.39 -2.02 5.1 -4.67 -1.33 -1.97 5.08 0 23.11 0.06 0 
+2.91 0.54 1.54 0.24 4.82 0.13 4.54 0.73 4.3 1.18 4.43 0.93 4.13 1.55 4.25 1.28 
+3.91 1.84 3.61 2.34 3.17 2.95 3.34 2.61 3.69 2.02 3.58 2.13 4.45 0.91 2 0.07 
+0 -2.87 -3.73 -2.04 -3.77 -1.97 -3.8 -1.93 3.11 -4.84 -3.95 -1.91 2.97 -4.88 -4.06 -1.87 
+2.86 -4.93 2.8 -4.97 2.78 -4.99 2.73 -5.02 4.36 1.91 2.75 -5.01 4.41 1.97 2.78 -5.05 
+2.73 -5.05 4.49 2.06 2.76 -5.1 -4.56 -2.06 2.64 -5.14 2.61 -5.14 2.54 -5.18 4.78 2.11 
+4.7 2.14 2.63 -5.18 4.73 2.21 4.67 2.28 -2.76 5.17 -2.82 5.14 -2.86 5.12 -2.93 5.1 
+-2.97 5.05 -3.02 5.04 -3.06 4.99 -4.18 -2.19 -3.06 4.97 -4.17 -2.12 -4.23 -2.09 -2.95 4.97 
+4.16 2.06 4.1 2.13 4.04 2.17 3.99 2.23 -3.29 4.88 -3.35 4.86 -3.38 4.79 -3.78 -2.17 
+-3.36 4.8 -3.73 -2.11 -3.34 4.79 0 2.87 3.04 0.08 1.63 -0.3 4.97 -1.62 2.36 -0.83 
+4.32 -1.09 4.45 -0.43 1.46 -0.33 4.54 1.11 3.88 1.97 3.16 2.89 3.73 2.14 4.82 0.83 
+1.11 -0.13 5 -0.52 4.66 1.11 1.13 0.17 4.17 0.29 4.1 1.82 3.45 2.56 3.47 2.56 
+2.8 3.23 0.87 5.18 3.11 2.82 2.39 3.52 1.39 3.58 0.3 0.52 0.63 0.61 4.42 -4.64 
+1 -1.82 1.09 -5.55 -0.32 -1.26 -2.12 -4.02 -2.91 -3.19 -3.34 -2.78 -2.71 -3.54 -2.71 -3.56 
+0.22 -4.3 3.99 -4.75 4.54 -4.28 4.32 -4.49 -1.43 -3.78 -3.17 -3.62 -0.15 -4.32 5.62 -3.14 
+0.37 -0.04 5.27 0.46 3.97 -1.06 2.86 -5.64 -0.58 -2.15 -3.71 -3.32 -3.97 -3 -3.91 -3.13 
+-0.74 -5.32 5.1 -3.93 2.56 -1.76 4.86 -0.61 1.56 -0.06 3.13 3.34 0.46 0.59 2.23 5.9 
+3.64 3.63 p
+0.33 2.64 1.05 4.19 4.2 2.61 4.47 2.21 0.79 -0.12 6.51 -1.56 0.84 -0.29 4.69 -4.28 
+4.55 -1.13 3.06 -0.41 4.01 -0.98 3.84 -0.3 2.97 -0.71 5.21 1.32 1.84 0.43 4.75 -1.08 
+4.27 2.66 1.13 -0.09 5.77 -1.04 3.64 3.58 3.45 3.82 1.63 0.8 3.99 -0.08 2.54 4.99 
+3.08 4.13 1.8 5.79 0 1.09 1.04 5.55 1.5 5.86 -0.2 5.17 0.56 1.96 0.74 0.5 
+4.71 0.43 3.36 3.43 1.52 1.3 3.78 -0.2 2.87 3.95 -1.93 7.71 -3.19 5.21 -0.52 3.04 
+-1.76 6.2 -1.82 3.11 -4.3 7.55 -4.1 6.04 -0.48 0.91 -4.43 8.42 -5.23 5.03 -5.32 4.82 
+-3.89 3.8 -1.39 1.65 -1.02 0.32 -4.82 1.76 -5.6 3.84 -4.08 0.21 -2.36 -1.54 -2.22 -0.33 
+-4.01 0.76 -3.97 -0.09 -0.93 -4.58 -2.34 -3.54 -1.17 -0.22 -3.23 3.61 0.68 4.71 3.36 2.71 
+1.43 4.14 -0.58 5.51 2.8 3.13 0.06 0.06 1.93 3.63 4.47 2.04 0.08 0.05 0.22 -0.26 
+5.47 -4.95 5.77 -3.23 0.29 0.13 -0.26 0.37 -5.6 6.25 -2.11 4.12 -0.61 5.43 2.86 0.43 
+5.84 -2.12 0.91 0.43 -0.98 2.15 -2.84 5.42 -3.39 3.54 -6.16 5.6 -2.2 2.91 -4.6 6.14 
+-1.39 1.97 -4.88 7.21 -1.39 2.41 -1.64 3.67 -1.95 5.46 -6.04 6.71 -1.58 1.17 0.89 1.04 
+3.34 1.59 -1.52 5.1 0.5 1.97 0.07 2.26 2.17 3.6 0.71 -0.02 2.08 3.43 -2.75 5.62 
+-6.1 6.75 5.38 -1.96 6.45 -2.45 6.45 -2.61 -3.06 5.88 6.49 -2.63 3.04 -6.01 6.45 -2.89 
+6.44 -3.04 2.76 -6.21 2.52 -6.14 -6.4 3.25 -6.38 3.13 -6.43 2.95 -6.4 2.82 2.41 -5.69 
+-6.4 2.8 -6.4 2.67 2.23 -5.45 2.04 -5.43 6.34 -2.86 1.8 -5.47 1.61 -5.42 1.41 -5.41 
+6.23 -3.28 6.18 -3.41 -1.32 5.58 -1.52 5.63 6.27 -3.37 1.47 -5.71 6.18 -3.6 6.16 -3.71 
+-1.37 5.88 6.18 -3.78 6.16 -3.91 6.12 -4.05 6.1 -4.19 -1.39 6.25 6.12 -4.26 6.1 -4.41 
+6.04 -4.58 1.17 -6.46 5.92 -4.79 0.87 -6.45 5.79 -5 5.76 -5.12 -0.7 6.55 -0.93 6.68 
+5.86 -5.18 5.82 -5.34 0.76 -6.75 5.66 -5.55 0.44 -6.68 -5.58 5.58 -5.62 5.4 0.39 -6.51 
+0.2 -6.4 -0.04 -6.29 5.38 -5.54 -0.32 -6.23 5.23 -5.7 -0.61 -6.14 -0.78 -6.04 -0.96 -5.92 
+4.86 -5.88 4.8 -5.99 4.71 -6.12 4.6 -6.25 -1.47 -5.84 -1.65 -5.71 -4.45 6.23 1.56 5.73 
+-4.62 6.12 -4.69 5.99 -1.39 -5.71 -1.56 -5.62 4.54 -6.01 -1.8 -5.53 4.36 -6.09 4.27 -6.23 
+4.17 -6.32 2.06 5.49 4.16 -6.44 1.98 5.6 4.16 -6.55 4.05 -6.68 2 5.68 4.06 -6.79 
+3.93 -6.92 3.84 -7.04 -2.28 -5.58 3.63 -7.09 -2.5 -5.43 3.43 -7.16 -2.74 -5.25 3.26 -7.21 
+-2.95 -5.12 -3.14 7.16 -0.87 -1.46 -2.12 -3.6 -3.2 7.03 -3.02 -4.97 -3.23 6.88 -3.32 6.82 
+-2.99 -4.95 -3.13 -4.84 3.19 -6.75 3.06 -6.83 2.97 -6.88 2.87 -6.99 2.75 -7.04 -3.58 -4.55 
+-2.69 7.01 -2.78 6.92 -2.91 6.86 -2.99 6.77 -3.13 6.73 -3.21 6.62 -3.32 6.55 -0.49 0.96 
+-2.91 5.53 -3.12 -4.75 -3.43 6.38 -3.16 -4.67 -3.3 -4.57 -3.38 6.25 -3.5 6.18 -3.25 -4.52 
+-3.5 6.1 -3.58 6.03 -3.23 -4.47 -3.61 5.95 -0.3 -0.39 -2.98 -3.99 -3.62 5.88 -3.3 -4.32 
+-3.4 -4.23 p
+-3.52 -4.14 3.41 -5.86 3.34 -5.9 -3.75 -4.04 3.19 -5.95 -3.88 -3.95 3.04 -5.99 -4.05 -3.86 
+2.88 -6.01 -4.21 -3.78 2.75 -6.03 -4.34 -3.67 -4.45 -3.61 2.56 -6.04 2.48 -6.09 2.38 -6.14 
+2.3 -6.16 2.22 -6.23 2.13 -6.25 -4.82 -3.35 2 -6.27 1.89 -6.29 -4.97 -3.22 -1.87 6.25 
+-5.01 -3.16 -1.89 6.18 -1.99 6.16 -5 -3.19 -2.02 6.12 -2.11 6.05 -2.17 6.04 -4.92 -3.19 
+-2.22 5.97 -2.28 5.94 -2.37 5.93 -2.45 5.86 -4.77 -3.19 -2.48 5.82 -2.54 5.77 -4.75 -3.14 
+-4.82 -3.11 -2.5 5.73 -4.84 -3.04 -2.52 5.66 -2.58 5.64 -2.67 5.62 -4.73 -2.99 -4.79 -2.95 
+-2.63 5.56 -4.79 -2.87 -4.88 -2.82 -4.93 -2.75 -4.99 -2.69 -5.05 -2.62 -5.12 -2.58 -2.35 5.49 
+-5.12 -2.5 -2.34 5.45 -5.12 -2.45 -5.18 -2.39 -5.21 -2.35 -5.3 -2.28 -2.16 5.43 -2.24 5.4 
+-2.28 5.38 -5.16 -2.23 -5.21 -2.17 -5.25 -2.11 2.1 -5.38 2.07 -5.37 5.38 2.1 2.06 -5.42 
+2.02 -5.43 5.42 2.15 5.38 2.21 2.08 -5.47 5.38 2.28 5.34 2.32 5.27 2.39 2.19 -5.51 
+5.28 2.45 5.23 2.5 2.21 -5.54 5.23 2.54 2.21 -5.58 -5.27 -2.54 2.11 -5.59 2.04 -5.62 
+-5.42 -2.46 1.93 -5.62 1.87 -5.64 -5.58 -2.37 -5.64 -2.32 1.73 -5.64 1.65 -5.64 -5.01 -1.95 
+-0.74 -0.28 -5.82 -2.18 1.52 -5.64 -5.9 -2.1 -5.95 -2.04 1.39 -5.62 -6.03 -1.98 -6.08 -1.91 
+1.26 -5.62 -6.14 -1.84 -6.18 -1.8 1.13 -5.57 -6.27 -1.74 1.06 -5.58 1 -5.58 6.34 1.72 
+6.27 1.73 6.25 1.8 6.21 1.86 6.18 1.91 -1.17 5.66 6.1 1.97 1.2 -5.68 1.15 -5.69 
+1.09 -5.68 -6.18 -1.93 0.99 -5.68 0.93 -5.71 -6.29 -1.82 0.87 -5.68 0.8 -5.71 -6.38 -1.74 
+0.74 -5.66 0.67 -5.69 -6.46 -1.65 0.61 -5.66 -6.51 -1.59 0.52 -5.62 -6.58 -1.52 0.48 -5.62 
+0.42 -5.62 -6.64 -1.43 0.35 -5.6 -6.68 -1.35 0.28 -5.58 -6.71 -1.3 0.21 -5.56 0.2 -5.55 
+-6.77 -1.21 0.13 -5.51 0.09 -5.54 0.02 -5.51 6.79 1.15 -0.02 -5.54 -0.05 -5.53 -0.11 -5.52 
+-0.15 -5.51 6.75 1.08 -0.22 -5.53 -0.26 -5.54 -0.3 -5.51 -0.37 -5.51 -0.41 -5.49 -6.71 -0.98 
+-0.43 -5.47 -6.73 -0.91 -0.48 -5.42 -6.72 -0.85 -0.52 -5.4 -6.75 -0.81 -0.55 -5.36 -6.75 -0.75 
+-0.56 -5.34 -0.63 -5.3 -0.66 -5.29 -0.71 -5.3 -0.76 -5.27 -0.78 -5.25 -13.28 -1.18 -0.79 -5.19 
+-0.83 -5.18 -0.87 -5.17 -0.93 -5.14 -0.95 -5.12 -6.49 -0.45 -0.97 -5.1 -6.47 -0.41 -0.98 -5.04 
+-6.46 -0.39 -0.96 -5.02 -1 -4.99 -6.4 -0.33 -12.85 -0.61 -0.91 -4.93 -12.8 -0.52 -12.89 -0.48 
+-6.45 -0.22 0.67 4.84 0.65 4.88 0.63 4.88 -6.6 -0.24 0.57 4.88 0.54 4.93 -6.7 -0.24 
+0.48 4.9 0.45 4.95 -6.77 -0.25 0.41 4.95 0.74 9.94 0.34 5.02 -6.9 -0.28 0.56 10.03 
+0.26 5.03 0.24 5.06 -7 -0.29 0.21 5.05 0.2 5.08 -7.08 -0.26 0.16 5.09 0.15 5.09 
+0.13 5.1 0.11 5.13 7.14 0.28 0.21 10.29 7.14 0.34 0.09 5.17 0.09 5.18 0.04 5.19 
+-7.16 -0.37 0.09 10.42 0 10.44 -7.18 -0.35 -0.04 10.46 -0.09 10.5 -7.18 -0.32 -0.04 5.25 
+-7.18 -0.3 -0.07 5.27 7.16 0.3 -0.17 10.55 -0.21 10.59 -0.14 5.29 -7.09 -0.32 -7.09 -0.29 
+-7.1 -0.21 p
+-0.09 5.29 -7.1 -0.2 -0.09 5.3 -7.08 -0.15 -7.07 -0.11 -7.07 -0.09 p f*
+255 G
+2477.75 3010.94 0 21.07 5.49 0.02 -0.06 5.25 5.42 0.09 -0.15 5.23 -0.13 5.25 5.28 0.11 
+-0.22 5.23 5.21 0.17 5.21 0.24 0.34 -5.23 5.27 0.29 -0.43 5.2 5.19 0.33 5.18 0.39 
+0.57 -5.23 0.58 -5.21 -5.34 -0.39 0.5 -5.23 0.48 -5.26 0.48 -5.27 5.54 0.39 -1.09 10.51 
+-0.57 5.25 5.32 0.41 5.3 0.5 0.7 -5.25 5.38 0.54 5.34 0.59 0.82 -5.23 1.61 0.17 
+0 -10.68 -5.55 -0.61 0.72 -5.27 5.62 0.61 -0.78 5.27 0 10.68 3.8 0.46 1.74 -10.5 
+5.51 0.69 -0.91 5.26 -0.96 5.25 -0.96 5.23 -5.32 -0.7 -0.91 5.23 -5.27 -0.63 -5.27 -0.59 
+-0.79 5.23 -0.8 5.21 5.14 0.59 5.12 0.63 0.93 -5.21 5.19 0.67 5.16 0.74 5.14 0.78 
+2.25 -10.42 1.11 -5.23 1.06 -5.25 5.41 0.84 1.13 -5.25 1.11 -5.25 5.51 0.91 5.49 0.96 
+-1.21 5.25 -1.26 5.25 -1.28 5.23 -1.3 5.21 5.19 1 5.19 1.06 1.45 -5.21 1.41 -5.23 
+1.39 -5.25 1.37 -5.25 5.43 1.13 1.39 -5.27 5.47 1.17 5.43 1.23 -1.52 5.26 5.34 1.28 
+5.32 1.32 1.65 -5.25 1.63 -5.27 5.41 1.39 -1.67 5.27 5.3 1.43 5.29 1.49 1.8 -5.27 
+1.78 -5.27 1.73 -5.27 -5.45 -1.5 1.63 -5.32 1.61 -5.32 -5.62 -1.43 -5.64 -1.39 -5.69 -1.35 
+-5.71 -1.25 -5.73 -1.24 -5.78 -1.17 -5.8 -1.13 -5.81 -1.07 -5.84 -1.02 -1.08 5.32 -5.8 -0.96 
+-5.82 -0.91 -5.86 -0.84 0.93 -5.32 0.89 -5.32 -5.99 -0.81 -5.99 -0.76 -0.79 5.32 -5.94 -0.7 
+-0.74 5.32 -5.9 -0.65 -5.93 -0.58 -0.65 5.3 -5.86 -0.55 -5.9 -0.5 -0.52 5.3 -0.55 5.29 
+-0.56 5.3 -0.59 5.27 -5.64 -0.43 -5.66 -0.39 -5.66 -0.33 -5.69 -0.29 -5.68 -0.24 -5.69 -0.17 
+-5.68 -0.13 0.13 -5.3 -5.75 -0.06 -5.75 -0.02 f*
+2477.75 3084.14 0 10.28 4.58 0.02 0.09 -5.14 0.07 -5.14 -4.73 -0.02 f*
+255 203 0 rG
+2473.66 3395.57 4.1 -0.12 4.32 0.13 0.02 0 2.22 3.54 2.75 2.69 0.91 0.78 4.36 2.59 
+1.32 0.67 3.73 0.54 0.16 0.02 5.59 1.89 0.39 0.29 4.43 3.06 -3.69 0.39 -1.02 -3.43 
+-5.07 0.46 -5.1 0.34 -5.1 0.24 -0.41 -3.49 -4.91 0.13 -0.2 -3.54 -0.19 -3.56 -4.52 0.04 
+0 -3.62 -4.1 -0.02 f*
+255 G
+2499.59 3567.75 -9.27 0 10.05 -0.26 11.29 -0.49 11.28 -0.7 11.29 -0.89 11.27 -1.06 11.24 -1.3 
+11.2 -1.48 11.19 -1.67 11.16 -1.87 11.11 -2.06 11.09 -2.25 11.05 -2.45 10.98 -2.65 10.96 -2.84 
+10.89 -3.02 10.85 -3.21 10.79 -3.41 10.72 -3.61 10.66 -3.77 10.59 -3.97 10.53 -4.14 10.43 -4.34 
+10.38 -4.52 10.3 -4.69 10.2 -4.88 10.11 -5.05 10.05 -5.23 9.94 -5.41 6.27 -3.54 0.13 -0.09 
+0.11 -0.07 3.32 -1.87 9.74 -5.75 9.66 -5.92 9.53 -6.07 9.44 -6.27 9.31 -6.4 9.2 -6.58 
+1.56 -1.15 0.65 -0.41 0.74 -0.61 6.14 -4.58 8.98 -6.87 8.85 -7.05 8.73 -7.2 8.59 -7.36 
+8.46 -7.51 3.99 -3.65 0.52 -0.43 0.37 -0.39 3.47 -3.17 8.21 -7.79 8.05 -7.94 7.94 -8.07 
+7.77 -8.23 7.64 -8.36 7.5 -8.46 7.34 -8.62 7.21 -8.74 7.03 -8.86 6.88 -8.98 6.72 -9.12 
+6.58 -9.22 6.4 -9.33 6.25 -9.44 6.08 -9.55 5.91 -9.66 5.75 -9.77 5.55 -9.85 5.4 -9.94 
+5.21 -10.05 5.05 -10.13 4.86 -10.22 4.69 -10.3 4.51 -10.39 4.35 -10.46 4.14 -10.53 3.95 -10.61 
+3.77 -10.68 3.61 -10.74 3.38 -10.81 3.21 -10.85 3.04 -10.91 2.82 -10.96 2.65 -11 2.43 -11.07 
+2.25 -11.09 2.06 -11.13 1.87 -11.18 1.67 -11.2 1.48 -11.24 1.28 -11.24 1.09 -11.29 0.89 -11.29 
+0.7 -11.3 0.49 -11.3 0.26 -10.22 0 10.22 -0.5 11.33 -0.69 11.3 -0.89 11.3 -1.09 11.27 
+-1.28 11.26 -1.48 11.22 -1.67 11.21 -1.87 11.18 -2.06 11.13 -2.25 11.11 -2.45 11.04 -2.63 11.02 
+-2.84 10.96 -3.02 10.91 -3.21 10.88 -3.4 10.8 -3.61 10.74 -3.77 10.68 -3.95 10.61 -4.14 10.55 
+-4.34 10.46 -4.51 10.39 -4.69 10.31 -4.86 10.22 -5.05 10.13 -5.23 10.05 -5.38 9.96 -5.58 9.86 
+-5.75 9.77 -5.9 9.66 -6.08 9.57 -6.25 9.45 -6.4 9.33 -6.57 9.23 -6.73 9.11 -6.9 8.98 
+-7.03 8.86 -7.21 8.75 -7.33 8.62 -7.51 8.48 -7.64 8.36 -7.79 8.23 -7.92 8.07 -8.07 7.95 
+-8.21 7.81 -8.36 7.64 -8.46 7.51 -8.59 7.36 -8.75 7.21 -8.86 7.05 -8.98 6.9 -9.09 6.75 
+-9.2 6.58 -9.33 6.4 -9.42 6.27 -9.55 6.08 -9.66 5.92 -9.74 5.75 -9.83 5.58 -9.96 5.41 
+-10.02 5.23 -10.13 5.05 -10.2 4.88 -10.31 4.69 -10.37 4.52 -10.44 4.34 -10.53 4.16 -10.61 3.95 
+-10.66 3.79 -10.74 3.58 -10.79 3.41 -10.85 3.23 -10.89 3.02 -10.96 2.84 -11 2.64 -11.04 2.46 
+-11.09 2.25 -11.11 2.06 -11.18 1.87 -11.18 1.67 -11.21 1.48 -11.25 1.28 -11.26 1.09 -11.29 0.89 
+-11.28 0.7 -11.31 0.5 -0.78 0 f*
+255 35 0 rG
+2492 3237.93 -1.14 4.58 1.46 0.2 0.76 0.08 1 -0.98 2.06 -3.32 0.78 -0.74 2.41 -2.17 
+1.34 -1.13 0.91 -0.24 1.5 0.71 1.02 -2.61 -1.63 -0.54 -1.91 0.22 -1.96 0.5 -0.5 1.52 
+-1.67 -0.26 -0.34 -0.04 -1.78 1.57 -0.76 2.84 -1.56 -0.2 f*
+255 0 r6
+2492.47 3145.5 -0.39 4.97 0.39 0.02 0.54 -4.97 0.83 -4.99 -1 -0.04 -0.37 5.01 f*
+0 155 255 rG
+2493.01 3145.53 -0.54 4.97 0.87 0.04 0.63 -4.97 1.15 -4.96 -1.28 -0.07 -0.83 4.99 f*
+189 0 54 rG
+2494.08 3241.82 -1 0.98 0.67 0.11 1.43 0.21 1.41 0.24 0.96 0.18 0.84 -4.64 1.73 -0.82 
+0.37 1.21 -0.41 3.04 -0.22 1.7 0.93 0.2 -1.98 4.43 0.54 0.13 1.63 -1.73 1.54 -0.11 
+1.3 0.37 1.39 0.2 2.06 -0.89 0.35 -0.61 -1.35 -0.39 -1.34 -0.37 -1.37 -0.35 2.19 -4.41 
+0.37 -0.74 -1.69 0 -1.48 -0.41 0.11 -4.38 -1.5 -0.71 -0.91 0.24 -1.34 1.13 -2.41 2.17 
+-0.78 0.74 -2.06 3.32 f*
+2 239 204 rG
+2493.96 3145.57 -0.62 4.97 0.87 0.04 0.74 -4.96 1.47 -4.95 -1.3 -0.06 -1.15 4.96 f*
+7 193 59 rG
+2494.95 3145.62 -0.74 4.96 0.89 0.07 0.8 -4.99 0.35 -1.11 1.67 -3.8 2.75 -2.47 3.52 2.49 
+0.41 0.46 2.78 3.54 3.54 1.11 3.23 1.34 0.17 0.3 2.93 3.62 1.11 1.67 0.39 5.13 
+0.24 1.23 2.84 2.5 2.88 2.02 0.16 0.28 1.88 4.27 1.65 1.48 0.91 1.02 1.74 4.45 
+0.29 0.26 2.02 2.23 2.93 0.83 3.45 -0.45 0.93 -0.43 3.63 -4.36 1.97 -2.37 2.47 -1.78 
+2.41 -1.26 3.95 -0.76 3.8 -0.32 0.39 -0.04 3.43 -0.22 3.56 0.26 2.86 1.61 3.19 0.95 
+4.66 -1.45 1.35 -0.26 3.34 -1.08 4.54 -1.61 0.61 -0.35 3.71 0.46 3.78 0.43 4.32 -1.17 
+0.61 -0.05 3.91 0.35 2.8 1.93 4.28 -0.07 4.45 -0.52 0.22 0.05 3.73 0.76 5.23 -2.24 
+1.26 -0.34 3.8 0.84 3.11 1.74 3.19 1.59 4.88 -0.31 0.67 0.02 3.41 0.67 5.58 -0.91 
+1.07 0.02 3.95 -0.22 2.24 2.5 0 -10.35 0.24 -1.82 1.89 -0.61 -0.44 1.61 -1.69 0.83 
+0 10.35 0.15 0.17 -0.68 1.71 -3.14 5.13 -1.04 2.95 -0.78 3.25 -1.11 3.11 4.52 -0.2 
+0.78 -0.21 4.11 0.76 3.38 1.41 3.43 1.43 0.65 -0.2 2.48 -2.52 1.71 -1.98 0.57 -0.02 
+3.63 1.37 3.19 1.78 2.39 2.47 2.71 2.19 2.45 2.37 3.52 1.58 3.95 5.52 0.71 0.3 
+2.97 1.19 5.27 0.41 0.98 0.83 1.89 1.36 3.34 1.87 2.5 2.47 2.67 -0.48 3.28 0.67 
+2.93 0.7 0 -20.55 -3.69 -1.78 -0.28 -0.05 -5.49 -0.04 -3.21 -2.08 -2.46 -2.69 2.96 -5.73 
+3.71 0.07 4.79 0.83 0.39 -0.02 6.58 -1.93 1.43 -0.24 3.86 1.75 1.25 4 -0.69 2.56 
+-4.66 4.6 -4.49 0.76 0 20.55 1.73 0.41 0.16 0 0.02 -0.11 0.43 -4.58 1.23 -5.28 
+0.24 -0.46 3.52 -6.77 5.25 -3.75 5.25 0.34 2.97 0.87 3.19 -0.8 4.14 0.76 0.54 0.54 
+0.72 1.86 0.74 1.89 0.17 0 5.01 0.98 2.86 0.59 4.13 -0.93 2.56 0.09 2.8 0.86 
+0.96 4.23 -0.61 3 -4.25 5.23 0.72 4.19 6.23 0.54 0.43 0.04 3.47 2.06 -1.52 5.64 
+-0.07 0.34 -5.1 7.18 -0.83 0.67 -4.9 3.45 -5.67 4.97 -5.9 3.45 -5.88 4.02 -1.04 1.06 
+-4.8 4.36 -4.95 4.14 -0.54 4.02 1 3.34 3.88 2.12 0.61 0.26 6.23 -3.02 0.2 -0.24 
+5.99 -3.88 0.02 -0.02 0 -4.64 -2.69 -0.87 1.54 -4.79 0.89 -0.61 5.81 -5.25 5.64 -4.86 
+0.11 -0.09 0.09 -0.02 2.26 3.06 -1.26 4.97 -0.37 0.5 -5.93 6.45 -6.1 1.52 0 4.64 
+6.1 -2.69 4.28 -1 1.76 1.52 0.48 1.56 -0.61 1.28 -2.28 4.21 -4.42 5.05 -1.22 1.46 
+-4.45 5.79 -1.52 1.73 -3.89 4.21 -3.41 3.13 -4.73 3.49 -3 4.05 -0.91 0.89 0.3 1.26 
+2.84 1.49 -0.7 3.95 1.22 1.82 0.52 1.43 3.65 2.63 6.98 -3.39 4.95 0.02 -6.68 4.37 
+-4.45 2.79 -4.58 5.02 -0.13 0.13 -7.38 5.41 -1.49 1 -7.97 4.12 -1.32 0.67 -2.63 2.47 
+-2.06 1.96 0.5 3.62 0.17 0.09 4.75 1.47 1.54 1.3 -0.52 3.95 0.93 0.22 -0.08 3.58 
+-3.28 4.34 -3.26 4.29 -3.93 4.32 1.87 1.52 5.62 0.13 7.2 -1.8 0.39 2.99 -5.47 4.73 
+4.17 -0.35 4.21 -4.71 4 -0.48 4.03 -2.43 2.26 -2.73 3.12 -0.48 3.8 -4.95 0.2 -3.77 
+-2.8 0.02 P
+2.28 -4.62 4.58 -1.15 9.47 -6.2 0.36 -0.56 2.93 -4.54 8.62 -6.01 3.43 -1.8 -2.34 -0.22 
+-2.84 1.8 -6.84 5.88 -4.99 -0.74 -7.14 2.87 -4.43 -1.81 0 -0.02 -2.84 -3.36 -0.54 -0.41 
+-4.34 -2.26 -0.21 -0.11 0.48 -4.02 3.84 -4.04 1.17 -1.12 7.27 -5.23 1.85 -1.17 0 -16.02 
+5.38 -4.23 -0.22 2.38 -0.65 0.88 -4.51 0.97 0 16.02 0.37 -0.24 5.19 -3.06 7.33 -4.69 
+0.7 -0.67 4.5 -5.82 3.84 -4.14 6.64 -3.73 2.52 -1.67 4.96 -5.95 0.5 -0.91 1.7 -5.23 
+-0.65 -1.52 -5.49 0.05 -0.22 0.02 -0.61 0.37 -5.9 4.14 -6.07 1.89 -1 -0.15 -4.75 0.15 
+-5.02 3.93 -2.37 3.86 -2.17 -2.09 -2.12 -3.14 2.3 -4.95 4.43 -3.12 2.02 -3.73 2.08 -5.12 
+2.76 -5.55 0.3 -0.72 2 -4.73 0 -4.32 1.11 -4.99 0.89 -4.95 1.23 -2.06 1.46 -4.04 
+2.02 -5.86 0.89 -2.71 1.2 -3.36 2.21 -6.32 -2.78 -2.95 -3.5 0.93 -2.69 -1.48 -1.56 -3.75 
+-0.02 -4.93 -0.37 -3.16 -0.19 -1.41 -1.65 -3.84 -0.48 -0.13 -2.28 0.76 -3.88 1.28 -3.91 1.2 
+-2.82 -0.3 -1.91 -1.04 -0.98 -4.21 0.04 -0.3 3.38 -7.14 0.09 -0.57 -1.2 -1.32 -2.39 -0.93 
+-1.15 -4.34 -6.49 1.54 -4.32 2.48 -1.43 0.48 -3.49 -1.45 -2.84 -2.73 -2.37 -3.2 -0.83 -4.6 
+-1.34 -2.14 -0.98 -1.2 -2.71 -2.97 -1.91 -3.8 -2.08 -0.41 -5.95 2.88 -0.41 0.26 -6.01 2.13 
+-2.24 0.45 -3.77 -1.78 -0.91 -4.71 -6.27 0.84 -1.04 0.43 -5.58 0.88 -3.43 -2.04 -2.93 -2.56 
+-2.82 -2.74 -2.8 -2.8 -3.58 -1.91 -3.47 -2.06 -4.3 -0.76 -0.2 -0.02 -6.42 2.78 -1.32 0.63 
+-4.67 -0.39 -4.3 -0.82 -2.08 -0.05 -3.14 0.54 -5.49 1.22 -0.26 0.07 -4.52 -0.3 -1.17 -2.88 
+-0.41 -1.55 -3.21 -0.26 -1.62 0.46 -1 -1.71 -1.67 -1.29 -0.89 0.09 -5.29 3.71 -1.28 0.57 
+-4.59 0.09 -4.23 -0.41 -3.63 -0.11 -0.67 -0.11 -4.95 0.91 -4.69 0.59 -2.56 -3.15 -4.47 0.31 
+-0.65 0.54 -4.99 2.17 -1.61 1.26 -3.97 4.32 -2.41 1.99 -3.36 1.72 -1.67 0.37 -4.47 1.17 
+-3.6 -0.63 -4.04 0.46 -0.37 0.02 -3.45 0.02 -4.6 2.06 -2.26 0.67 -2.21 1.32 -2.78 2.8 
+-2.04 4.78 -2.54 2.43 -3.06 -1.02 -2.69 -2.14 -0.93 -1.15 -2.02 -0.39 0.41 -1.3 -1.89 -4.08 
+-0.39 -0.07 0.13 -0.5 -1.98 -4.91 -0.12 -0.58 -2.52 -4.76 -0.11 -0.17 -3.1 -2.11 -3.52 -1.2 
+-3.58 -0.93 -3.58 -1.15 -1.04 -1.34 -2.21 -2.5 -3.56 -2.3 -4.23 3.73 -0.02 0.34 -0.2 -0.02 
+-1.47 4.95 p f*
+255 135 0 rG
+2494.77 3233.53 -0.46 1.76 1.78 -1.57 -1.32 -0.2 f*
+110 210 9 rG
+2495.9 3145.66 -0.8 4.99 0.55 0.02 -0.09 0.84 3.25 2.87 2.09 1.65 1.19 0.09 -0.11 0.73 
+3.3 1.2 2.39 3.61 0.3 0.67 1.59 4.53 0.48 1.91 0.74 3.25 0.34 5.04 0.24 0.04 
+-0.13 0.54 0.91 4.56 0.97 0.15 -0.46 1.71 0.7 3.32 0.63 2.36 2.02 2.7 0.11 0.41 
+1.41 0.24 -0.82 -2.82 -2.15 -2.47 -0.04 -0.24 -0.95 -5.14 -0.2 -0.98 -0.7 -4.17 -0.62 -3.04 
+-0.15 -2.08 -0.28 -5.05 -0.43 -3.8 -0.13 -1.28 -2.09 -5.05 -3.4 -0.55 -0.05 0 -3.17 -1.95 
+-3.19 -1.46 -0.18 -0.07 -2.58 -2.23 1.19 -4.95 1.89 -4.91 1.02 -0.93 1.52 1.11 1.74 3.12 
+2.54 2.26 0.61 1.52 2.21 3.8 0.09 3.97 3.49 0.19 0.39 1.33 -0.93 4.93 2.14 2.36 
+2.96 1.74 2.93 1.61 0.37 0.5 1.57 4.34 1.06 1.17 1.48 1.09 2.1 3.32 0.41 1.46 
+1.06 3.12 2.39 1.82 2.54 1.32 3.14 -0.11 3.23 -0.21 3.39 -0.41 2.97 0.41 3.16 0.13 
+2.02 2.24 2.21 1.78 3 0.41 3.21 0.13 1.74 -0.89 2.47 -0.47 2.91 0.71 4.3 -2.08 
+0.96 -0.5 0.06 0.95 -0.39 4.35 0.3 1.45 -1.15 4.19 2.67 -3.49 2.52 1.21 2.49 1.21 
+-2.82 3.41 5.23 -2.14 0.09 -0.02 3.41 0.17 3.54 0.08 3.99 -0.43 0.11 -0.02 2.37 1.46 
+0 0.04 0.82 3.02 2.32 1.43 2.99 0.8 2.91 0.93 0.43 0.16 3.64 -0.26 4.39 -1 
+2.95 -1.97 2.21 -1.41 3.77 -0.2 2.24 1.8 -0.5 2.86 0.34 0.98 0.39 3.23 3.21 0.93 
+2.02 0.28 2.25 -0.13 -0.22 2.17 0 1.43 1.37 0 2.96 0.22 5.21 -0.41 0.13 -0.02 
+6.81 -1.43 0.02 -0.02 4.69 0.21 1.17 2.71 2.67 1.68 3.02 1.48 1.24 0.24 2.52 0.78 
+2.08 2.15 5.01 0.32 -1.41 4.3 -1.73 2.99 -0.39 1.57 1.37 0.3 5.23 -0.74 2.24 1.35 
+1.15 0.13 3.75 1.3 3.13 1.7 1.23 2.73 -0.63 3.65 2.46 1.37 0.63 0.41 2.26 2.23 
+3.08 1.87 1.75 2.52 1.02 2.84 -0.98 3.69 1.99 1.95 0.46 0.3 -0.24 1.98 -0.2 1.45 
+0.35 0.39 1.84 2.02 4.6 1 1 0.15 5.27 -0.21 2 0.82 4.21 -0.08 4.06 0.34 
+2.06 1.3 0 -8.53 -0.71 -0.44 -3.06 -2.26 3.38 -3.08 2.52 0.47 -1.08 4.13 -1.04 1.17 
+0 8.53 1.5 0.87 -1.61 4.14 0.93 3.19 4.58 0.39 5.71 -0.52 0.34 0 0.8 -0.07 
+0 -21.42 -0.3 0 -2.52 -0.02 -3.49 -0.45 -1.29 -1.09 -5.23 -0.95 -2.28 0.71 -3.32 -2.08 
+-0.69 -3.26 -1.26 -2.6 -0.26 -0.28 0.07 -0.72 5.36 -5.46 2.98 -1.82 2.73 -1.84 2.54 -4.95 
+0.06 -4.04 -2.1 -2.8 1.43 -3.27 0.76 -2.17 1.39 -5.14 0.57 -2.82 -0.02 -1.87 0.95 -5.1 
+1.09 -3.39 6.05 -2.36 0.52 0.18 6.01 0.24 1.11 0.22 2.9 1.56 5 -0.09 1.28 0.26 
+3.73 2.06 -2.21 4.19 -5.88 2.65 -5.56 3.51 -5.43 3.93 -2.86 2.09 -2.56 1.86 -3.23 4.52 
+1.22 3.36 2.38 2.67 3.19 1.52 0 -7.48 0.61 -4.58 1.95 -2.09 5.28 -4.34 5.9 -2.66 
+1.56 -0.5 4.88 -0.65 2.63 0.15 -1.29 3.71 -5.21 4.82 -4.84 1.95 -1.15 0.46 -5.73 3.23 
+-4.61 0.5 0 7.48 0.13 0.07 1.73 -0.39 4.3 -1.98 5.9 -2.73 5.99 -2.34 5.95 -2.61 
+1.41 -0.15 P
+5.2 0.39 1.09 0.16 -0.76 1.34 -5.36 5.32 -3.02 3.34 -2.28 3.05 -5.84 3.47 -5.73 4.63 
+-0.43 0.85 -5.25 5.05 -2.3 2.61 -3.55 3 0 21.42 5.25 -0.55 3.78 -3.27 2.75 -1.59 
+6.47 -5.42 1.87 -1.56 4.38 -2.71 0.8 0.35 -0.91 1.65 -3.67 4.43 -3.17 4.84 -0.43 0.63 
+-5.25 5.92 -1.5 1.69 -5.99 1.07 -0.09 -0.05 -2.21 0.84 -4.14 1.56 -2.56 4.34 -5 5.08 
+-0.71 0.7 -5.1 4.42 1.35 3.15 -4.02 4.47 -3.4 3.47 -0.55 0.84 -2.56 3.93 -2.9 3.97 
+-1.07 3.6 -2.26 3.78 -3.04 3.84 -2.41 3.73 -2.45 3.71 -1.97 3.64 -1.54 3.63 -0.63 1.45 
+5.34 0.8 2.97 0.98 1.61 0.68 5.36 0.63 2.78 1.82 -4.71 4.19 -0.04 3.28 -0.43 0.65 
+-0.72 0.61 -7.29 3.54 -2.87 1 -7.61 2.82 0.8 3.86 0.02 0.15 -0.5 0.3 -7.25 1 
+-4.21 1.95 -0.58 0.18 -5.95 1.75 -1.47 1.24 -4.32 3.47 -4.47 3.43 5.42 0.89 5.47 0.81 
+5.51 0.69 5.58 0.61 5.25 0.46 2.43 -1.63 3.86 -2.34 -0.98 -0.07 -5.71 -0.34 -5.66 -0.48 
+-5.62 -0.57 4.38 -3.64 -0.02 -0.11 0.46 -0.24 4.03 -3.54 5.8 0.33 5.84 0.2 5.89 0.11 
+3.38 0 4.58 -1.99 0.41 -0.39 0 -5.84 -0.07 -0.26 0.48 -0.17 0.3 0.13 -0.71 0.3 
+0 5.84 2.02 -2 2.56 -0.08 5.58 -2.32 2.25 -2.39 1.97 -0.15 5.47 -4.73 -0.39 -2.99 
+-7.2 1.8 -5.62 -0.13 -1.87 -1.52 3.93 -4.32 3.26 -4.29 3.28 -4.34 0.08 -3.58 -0.93 -0.22 
+0.52 -3.95 -1.54 -1.3 -4.75 -1.47 -0.17 -0.09 -0.5 -3.62 2.06 -1.96 0 -6.4 -5.25 -0.98 
+-1.04 -0.8 2.86 -2.78 6.16 -0.79 0.92 1.73 -3.65 3.61 0 6.4 2.63 -2.47 1.32 -0.67 
+7.97 -4.12 1.49 -1 7.38 -5.41 0.13 -0.13 4.58 -5.02 4.45 -2.79 6.68 -4.37 -4.95 -0.02 
+-6.98 3.39 -3.65 -2.63 -0.52 -1.43 -1.22 -1.82 0.7 -3.95 -2.84 -1.49 -0.3 -1.26 0.91 -0.89 
+3 -4.05 4.73 -3.49 3.41 -3.13 3.89 -4.21 1.52 -1.73 4.45 -5.79 1.22 -1.46 4.42 -5.05 
+2.28 -4.21 0.61 -1.28 -0.48 -1.56 -1.76 -1.52 -4.28 1 -6.1 2.69 -0.02 0.02 -5.99 3.88 
+-0.2 0.24 -6.23 3.02 -0.61 -0.26 -3.88 -2.12 -1 -3.34 0.54 -4.02 4.95 -4.14 4.8 -4.36 
+1.04 -1.06 5.88 -4.02 5.9 -3.45 5.67 -4.97 4.9 -3.45 0.83 -0.67 5.1 -7.18 0.07 -0.34 
+1.52 -5.64 -3.47 -2.06 -0.43 -0.04 -6.23 -0.54 -0.72 -4.19 4.25 -5.23 0.61 -3 -0.96 -4.23 
+-2.8 -0.86 -2.56 -0.09 -4.12 0.93 -2.86 -0.59 -5.01 -0.98 -0.17 0 -0.74 -1.89 -0.72 -1.86 
+-0.54 -0.54 -4.14 -0.76 -3.19 0.8 -2.97 -0.87 -5.25 -0.34 -5.25 3.75 -3.52 6.77 -0.24 0.46 
+-1.23 5.28 -0.43 4.58 -0.02 0.11 -0.16 0 -1.73 -0.41 -2.93 -0.7 -3.28 -0.67 -2.67 0.48 
+-2.5 -2.47 -3.34 -1.87 -1.89 -1.36 -0.98 -0.83 -5.27 -0.41 -2.97 -1.19 -0.71 -0.3 -3.95 -5.52 
+-3.52 -1.58 -2.45 -2.37 -2.71 -2.19 -2.39 -2.47 -3.19 -1.78 -3.62 -1.37 -0.57 0.02 -1.71 1.98 
+-2.48 2.52 -0.65 0.2 -3.43 -1.43 -3.38 -1.41 -4.11 -0.76 -0.78 0.21 -4.52 0.2 1.11 -3.11 
+0.78 -3.25 1.04 -2.95 3.14 -5.12 0.68 -1.71 -0.15 -0.17 -2.24 -2.5 -3.95 0.22 -1.07 -0.02 
+-5.58 0.91 p
+-3.41 -0.67 -0.67 -0.02 -4.88 0.31 -3.19 -1.59 -3.11 -1.74 -3.8 -0.84 -1.26 0.34 -5.23 2.24 
+-3.73 -0.76 -0.22 -0.05 -4.45 0.52 -4.28 0.07 -2.8 -1.93 -3.91 -0.35 -0.61 0.05 -4.32 1.17 
+-3.78 -0.43 -3.71 -0.46 -0.61 0.35 -4.54 1.61 -3.34 1.08 -1.35 0.26 -4.66 1.45 -3.19 -0.95 
+-2.86 -1.61 -3.56 -0.26 -3.43 0.22 -0.39 0.04 -3.8 0.32 -3.95 0.76 -2.41 1.26 -2.47 1.78 
+-1.97 2.37 -3.62 4.36 -0.93 0.43 -3.45 0.45 -2.93 -0.83 -2.02 -2.23 -0.29 -0.26 -1.74 -4.45 
+-0.91 -1.02 -1.65 -1.48 -1.88 -4.27 -0.16 -0.28 -2.88 -2.02 -2.84 -2.5 -0.24 -1.23 -0.39 -5.12 
+-1.11 -1.67 -2.93 -3.62 -0.17 -0.3 -3.23 -1.34 -3.54 -1.11 -2.78 -3.54 -0.41 -0.46 -3.52 -2.49 
+-2.75 2.47 -1.67 3.8 -0.35 1.11 p f*
+255 0 r6
+2495.16 3155.6 -0.02 0.04 0.07 0 -0.05 -0.04 f*
+0 155 255 rG
+2495.29 3154.25 -0.13 1.35 0.05 0.04 1.73 0.11 -1.65 -1.5 f*
+2 239 204 rG
+2495.42 3152.89 -0.13 1.36 1.65 1.5 1.67 0.11 0.09 0 -0.07 -0.07 -3.21 -2.9 f*
+7 193 59 rG
+2495.55 3151.52 -0.13 1.38 3.21 2.9 0.07 0.07 2.19 0.18 -2.09 -1.65 -3.25 -2.87 f*
+255 35 0 rG
+2497.25 3386.96 -1.11 0.54 1.25 0.02 1.82 -0.31 -1.97 -0.26 f*
+0 255 r6
+2497.57 3145.77 -1.19 4.95 2.58 2.23 0.18 0.07 0 -1.5 -0.76 -0.67 1.13 -4.95 0.46 -1.32 
+0.74 1.41 1.54 5.12 -3.1 0.41 0 1.5 3.19 1.46 3.17 1.95 0.05 0 3.4 0.55 
+2.09 5.05 0.13 1.28 0.43 3.8 0.28 5.05 0.15 2.08 0.63 3.04 0.7 4.17 0.2 0.98 
+0.95 5.14 0.04 0.24 2.15 2.47 0.82 2.82 1.02 0.19 -0.61 1.76 1.99 2.17 2.02 1.82 
+0.02 0 2.5 0.57 1.52 0.37 0 -3.97 -2.67 -0.39 -2.45 -0.93 -1.13 -1.15 0.24 -4.45 
+-2.61 -1 -0.02 -0.04 -1.8 -3.66 -0.29 -1.7 -0.95 -4.88 -0.07 -0.3 0.95 -3.14 2.61 2.13 
+2.67 1.63 0.54 0.48 1.26 3.67 0.22 1.67 0.67 4.45 2.75 0.54 1.32 1.09 0.48 1.82 
+0.67 3.58 -2.41 0.61 0 3.97 0.98 0.24 -0.61 1.32 2 1.61 1.93 1.57 1.54 2 
+0.11 0.02 4.6 1.43 2.61 -4.49 2.39 0.78 2.34 0.8 2.8 -4.46 2.43 0.86 2.41 0.91 
+2.36 0.93 2.37 0.98 3.15 -4.41 2.43 1.04 2.39 1.07 3.32 -4.37 2.48 1.15 0.7 -0.89 
+1.15 -4.19 -0.3 -1.45 0.39 -4.35 -0.06 -0.95 -0.96 0.5 -4.3 2.08 -2.91 -0.71 -2.47 0.47 
+-1.74 0.89 -3.21 -0.13 -3 -0.41 -2.21 -1.78 -2.02 -2.24 -3.16 -0.12 -2.97 -0.41 -3.39 0.41 
+-3.23 0.21 -3.14 0.11 -2.54 -1.32 -2.39 -1.82 -1.06 -3.12 -0.41 -1.46 -2.1 -3.32 -1.48 -1.09 
+-1.06 -1.17 -1.57 -4.34 -0.37 -0.5 -2.93 -1.61 -2.96 -1.74 -2.14 -2.36 0.93 -4.93 -0.39 -1.33 
+-3.49 -0.19 -0.09 -3.97 -2.21 -3.8 -0.61 -1.52 -2.54 -2.26 -1.74 -3.12 -1.52 -1.11 -1.02 0.93 
+-1.89 4.91 f*
+2 239 204 rG
+2496.86 3138.13 -0.21 2.21 4.23 -3.73 3.56 2.3 2.21 2.5 1.04 1.34 3.58 1.15 3.58 0.93 
+3.52 1.2 3.1 2.11 0.11 0.17 2.52 4.76 0.13 0.58 1.98 4.91 1.21 -4.27 -0.07 -0.13 
+-0.48 -5.21 -1.06 -2.58 -3.12 -2.71 -3.64 -0.76 -3.69 -0.57 -3.73 -0.39 -0.26 -0.09 -3.3 -1.45 
+-3.36 -3.35 -1.62 -1 -1.98 -1.36 -1.45 1.13 -2.78 2.32 f*
+0 155 255 rG
+2497.07 3135.92 -0.21 2.21 2.78 -2.32 1.45 -1.12 1.98 1.36 1.63 1 3.36 3.35 3.3 1.45 
+0.26 0.09 3.73 0.39 3.69 0.57 3.64 0.76 3.13 2.71 1.06 2.58 0.48 5.21 0.07 0.13 
+0.02 -0.11 1.37 -4.93 3.55 0.59 3.56 0.65 3.54 0.7 -1.65 4.88 -0.83 2.39 1.61 -2.24 
+3.67 -4.47 0.92 -0.39 4.2 -1.11 3.87 -0.02 2.47 -1.17 2.73 -4.69 1.95 -2.25 3.1 -1.85 
+3.47 -4.32 0.18 -0.17 5.71 -3.78 0.17 -0.13 5.82 -3.88 0.07 -0.02 5.86 -3.29 0.83 -0.3 
+4.25 -0.96 4.61 -0.17 4.43 0.34 1.25 -0.3 4.19 -1.37 4.56 0.24 3.61 2.04 3.93 1.43 
+4.8 -0.13 0.84 0.02 3.71 0.34 5.02 -0.32 4.64 0.34 3.05 2.87 3.06 2.8 3.54 2.02 
+3.73 1.71 4.01 1.32 4.3 0.93 3.34 0.48 1.24 0.13 5.55 -0.63 2.28 -0.87 4.84 -1.67 
+4.06 0.3 1 -0.13 4.82 0.61 4.17 1.43 2.08 3.95 3.1 2.65 4.34 1.21 4.27 0.02 
+1.52 -0.42 4.75 -2.34 2.82 0.04 4.03 1.74 3.21 2.62 4.43 1.35 1.04 -0.33 4.77 0.24 
+2.71 3.19 0.26 4.34 0.18 1.11 1.32 4.41 3.19 2.56 2.75 2.95 2.61 3.08 2.78 1.23 
+1.41 0.43 5.86 -1.32 -0.24 -3.78 -1.8 -3.96 1.3 -3.8 3.23 -6.12 0.11 -0.5 -1.26 -4.82 
+-1.45 -4.77 -3.12 -3.02 -3.65 -2.5 -2.08 -4.28 -0.91 -2 3.45 -0.95 3.17 -1.46 5.62 -3.32 
+4.11 -4.75 -2.24 -3.32 -2.76 -4.01 -1.61 -5.62 -2.63 -3.02 4.54 0.48 3.13 -2.3 5.55 -1.43 
+1.28 -0.99 3.52 -5.17 1.73 -2.93 -3.28 -3.95 -2.62 -1.59 -1.63 -0.97 -4.02 -2.96 -3.69 -3.53 
+-0.26 -1.89 2.45 -1.56 4.97 1.63 4.12 2.87 3.39 3.99 2.93 4.54 3.21 4.04 5.01 1.43 
+4.88 1.61 2.41 -0.42 4.79 -1.15 2.41 -0.8 5.36 -3.62 1.78 -0.44 6.14 -0.82 0.66 -0.15 
+6.66 -0.78 0.59 -0.22 5.86 -0.24 3.67 0.84 2.21 -0.49 4.9 1.78 2.63 -0.17 4.13 -0.74 
+3.88 3.23 3.2 4.17 4.49 2.28 2.02 5.62 2.76 4.51 1.73 5.77 1.8 5.53 0.7 3.45 
+0.46 2.8 2.08 5 2.65 1.82 1.89 0.19 4.29 2.3 3.37 2.93 0.39 -0.02 2.71 4.08 
+-0.52 2.19 -3.73 7.96 -4.86 5.05 -1.26 3.13 -0.39 6.99 -1.07 2.02 -4.46 7.14 -4.78 6.42 
+-1.75 2.22 -3.23 3.64 -2.73 1.65 -3 0.99 -4.62 -0.25 -1.96 -4.19 -0.82 0.15 -0.87 1.34 
+-3.86 5.47 -1.54 0.76 -4.19 2.06 -0.18 -0.15 -4.56 -1.87 -2.04 0.71 -5.6 3.45 -0.95 -0.52 
+-1.67 -0.93 -4.56 -0.8 -2.43 0.91 -0.18 -5.25 -2.3 -3.61 1.5 -2.16 -0.09 -4.59 2.2 -7.12 
+1.39 -1.78 -1.04 -4.99 -3.84 -2.41 -1.2 -4.93 1.07 -6.57 -0.04 -0.68 -1.17 -5.18 -0.72 -5.82 
+0.37 -2.43 0.2 -4.92 0.2 -5.3 -0.28 -1.63 -3.21 -3.43 -2.7 -4.07 -3.54 -3.14 -0.76 -0.05 
+-6.75 1.76 -0.3 -0.02 -6.14 0.46 -2.11 0.15 -5.41 3.54 0.98 4.06 0.93 5.86 -0.07 1.3 
+-2.97 6.29 -0.08 2.43 1.69 4.56 1.54 4.66 1.71 4.4 2.48 3.61 3.03 3.04 0.66 3.26 
+0.26 1.71 -2.19 7.59 -0.04 0.16 -2.64 7.55 0.06 1.54 0.43 3.34 0.68 4.64 1.54 3.93 
+2.91 0.98 3.58 -1.07 0 -4.92 -0.21 -2.91 2.47 -4.23 -3.64 1.55 -2.24 -2.09 -0.11 -2.86 
+1.3 -3.58 P
+1.3 -5.38 0.28 -1.63 -0.32 -5.47 -1.89 -4.15 -2.78 -3.34 -2.47 -3.64 -2.08 -4.08 -2.11 -4.14 
+-0.78 -2.73 0.95 -3.88 1.46 -3.13 0.26 -5.51 -1.79 -4.93 -0.2 -0.84 2.41 -1.78 3.55 -1.17 
+3.13 0.45 4.79 1.54 2.25 -0.32 6.19 -2.41 1.11 5.9 3.71 2.8 0.56 6.32 -0.06 1.65 
+-0.89 6.08 1.5 4.92 0.48 2.05 -0.91 4.73 -0.46 5.53 -1.04 2.04 0.11 5.86 2.21 3.84 
+1.02 4.86 -0.37 1.69 -4.78 5.19 -4.27 2.47 -1.35 0.76 -5.4 3.78 -0.91 0.21 0 4.92 
+0.58 -0.17 2 -0.62 5.56 -3.45 4.7 -0.22 -2.3 7.07 0.09 0.5 0.61 4.14 -4.16 6.77 
+-1.32 2.19 -3.19 6.53 -0.24 0.65 -1.18 5.51 -3.17 4.64 -0.71 2.41 0.91 4.02 0.73 3.86 
+0.11 0.17 -0.09 0.17 -1.88 5.43 -1.24 5.08 -2.65 5.73 3.5 2.59 1.91 0.32 5.97 -1.39 
+4.08 -5.14 2.3 -2.43 6.03 -3.84 2.86 0 2.91 1.56 1.63 0.54 2.3 3.43 -3.47 6.64 
+-1.81 2.55 -3.62 4.95 -2.43 5.77 -2.65 5.77 -0.17 0.24 -7.18 6.29 -4.52 3.11 -2.56 2.06 
+-7.46 5.88 -0.37 0.43 -6.05 6.32 -2.69 2.82 -7.49 4.53 0 0.02 5.26 0.63 5.9 -0.89 
+1.98 0.26 2.23 2.48 6.59 -2.56 1.48 0.87 3.71 -0.48 5.73 -0.86 5.17 0.28 0.04 0.09 
+-1.93 3.84 -0.91 1.74 -8.92 7.12 -1.24 0.85 -6.95 4.23 -5.66 3.95 -4.21 3.52 -3.73 2.87 
+-4.71 5.38 -3.56 5.08 3.28 -0.67 3.73 -5.16 3.5 -5.19 6.42 -1.67 3.3 -5.29 4.25 -1.26 
+2.82 -1.78 8.27 -5.34 0.63 -1.15 1.06 -0.37 6.1 -6.75 2.75 -5.62 -2.08 -3.43 -0.71 0.02 
+-2.17 -3.6 -0.07 -2.26 -0.5 -1.97 1.52 -5.1 -3.34 -1.59 -0.89 -1.04 1.58 -1.17 6.04 -6.71 
+1.95 -5.46 1.64 -3.67 1.39 -2.41 4.88 -7.21 1.39 -1.97 4.6 -6.14 2.2 -2.91 6.16 -5.6 
+3.39 -3.54 2.84 -5.42 0.98 -2.15 -0.91 -0.43 -5.84 2.13 -2.86 -0.43 0.61 -5.43 2.11 -4.12 
+5.6 -6.25 0.26 -0.37 -0.29 -0.13 -5.77 3.23 -5.47 4.95 -0.22 0.26 -0.08 -0.05 -4.47 -2.04 
+-1.93 -3.63 -0.06 -0.06 -2.8 -3.13 0.58 -5.51 -1.43 -4.14 -3.36 -2.71 -0.68 -4.71 3.23 -3.61 
+1.17 0.22 2.34 3.54 0.93 4.58 3.97 0.09 4.01 -0.76 2.22 0.33 2.36 1.54 4.08 -0.21 
+5.6 -3.84 4.82 -1.76 1.02 -0.32 1.39 -1.65 3.89 -3.8 5.32 -4.82 5.23 -5.03 4.43 -8.42 
+0.48 -0.91 4.1 -6.04 4.3 -7.55 1.82 -3.11 1.76 -6.2 0.52 -3.04 3.19 -5.21 1.93 -7.71 
+-2.87 -3.95 -3.78 0.2 -1.52 -1.3 -3.36 -3.43 -4.71 -0.43 -0.74 -0.5 -0.56 -1.96 0.2 -5.17 
+-1.5 -5.86 -1.04 -5.55 0 -1.09 -1.8 -5.79 -3.08 -4.12 -2.54 -4.99 -3.99 0.08 -1.63 -0.8 
+-3.45 -3.82 -3.64 -3.58 -5.77 1.04 -1.13 0.09 -4.27 -2.66 -4.75 1.08 -1.84 -0.43 -5.21 -1.32 
+-2.97 0.71 -3.84 0.3 -4.01 0.98 -3.06 0.41 -4.55 1.13 -4.69 4.28 -0.84 0.29 -6.51 1.56 
+-0.79 0.13 -4.47 -2.21 -4.2 -2.61 -1.05 -4.19 -0.33 -2.64 -3.64 -3.63 -2.23 -5.9 -0.46 -0.59 
+-3.13 -3.34 -1.56 0.06 -4.86 0.61 -2.56 1.76 -5.1 3.93 0.74 5.32 3.91 3.13 3.97 3 
+3.71 3.32 0.58 2.15 -2.86 5.64 -3.97 1.06 -5.27 -0.46 -0.37 0.04 -5.62 3.14 0.15 4.32 
+3.17 3.62 p
+1.43 3.78 -4.32 4.49 -4.54 4.28 -3.99 4.75 -0.22 4.3 2.71 3.56 2.71 3.54 3.34 2.78 
+2.91 3.19 2.13 4.02 0.32 1.26 -1.09 5.55 -1 1.82 -4.42 4.64 -0.63 -0.61 -0.3 -0.52 
+-1.39 -3.58 -2.39 -3.52 -3.11 -2.82 -0.87 -5.18 -2.8 -3.23 -3.47 -2.56 -3.45 -2.56 -4.1 -1.82 
+-4.17 -0.29 -1.13 -0.17 -4.66 -1.11 -5 0.52 -1.11 0.13 -4.82 -0.83 -3.73 -2.14 -3.16 -2.89 
+-3.88 -1.97 -4.54 -1.11 -1.46 0.33 -4.45 0.43 -4.32 1.09 -2.36 0.83 -4.97 1.63 -1.62 0.3 
+-3.04 -0.08 -2 -0.07 -4.45 -0.91 -3.58 -2.12 -3.69 -2.02 -3.34 -2.61 -3.17 -2.95 -3.61 -2.34 
+-3.91 -1.84 -4.25 -1.28 -4.12 -1.55 -4.43 -0.93 -4.3 -1.18 -4.54 -0.73 -4.82 -0.13 -1.54 -0.24 
+-2.91 -0.54 -0.06 0 -4.95 0.46 -5.32 1.24 -1.61 -0.07 -3.04 -0.15 -4.94 0.67 -4.93 0.7 
+-1.7 0.35 -3.06 0.02 -1.02 0.09 -3.71 0.33 -4.99 1.95 -0.28 0.13 -5.36 4.01 -0.85 1.24 
+-2.73 3.34 -2.47 4.82 -0.83 5.14 -0.24 4.86 -0.06 0.39 -0.13 0.2 -1.69 4.71 -1.8 4.91 
+-3.58 -0.79 -3.13 -0.65 -0.54 0.02 -4.11 0.89 -3.69 -0.41 -0.59 -2.15 -1.89 -2.76 -1.7 -2.97 
+-0.89 -2.26 -3.08 -3.47 -0.07 -0.11 -0.35 0.04 -3.77 0.61 -3.93 2.21 -0.52 0.29 -1.11 0.89 
+-3.06 0.72 -3.82 -0.39 -1.34 -1.13 -2.35 -0.19 0.26 -2.06 -3.73 -1.57 -3.99 3.13 -0.26 0.24 p f*
+255 0 r6
+2497.09 3135.68 -0.02 0.24 0.26 -0.24 3.99 -3.13 3.73 1.57 0.39 -2.96 0.66 -5.03 -4.04 -0.3 
+-0.56 5.06 -3.95 -0.24 -0.46 5.04 f*
+87 0 136 rG
+2498.39 3238.89 -0.84 4.64 0.45 0.11 1.41 0.26 0.45 0.11 0.22 -1.7 0.41 -3.04 -0.37 -1.21 
+-1.73 0.82 f*
+255 203 0 rG
+2499.5 3145.9 -1.13 4.95 0.76 0.67 3.1 -0.41 -1.54 -5.12 -0.74 -1.41 -0.46 1.32 f*
+255 135 0 rG
+2499.57 3229.45 -0.96 3.06 1.96 -0.5 1.91 -0.22 1.63 0.54 0.78 -1.93 -1.78 -0.35 -1.76 -0.3 
+-1.78 -0.3 f*
+87 0 136 rG
+2501 3247.03 -1.63 1.73 0.72 0.18 1.25 0.3 1.26 0.33 1.23 0.34 1.24 0.38 2.21 -3.69 
+-2.06 0.89 -1.39 -0.2 -1.3 -0.37 -1.54 0.11 f*
+255 G
+2490.32 2270.29 10.05 0 11.31 0.5 11.28 0.7 11.29 0.89 11.26 1.09 11.25 1.28 11.21 1.48 
+11.18 1.68 11.18 1.86 11.11 2.08 11.09 2.26 11.04 2.45 11 2.63 10.96 2.84 10.89 3.04 
+10.85 3.21 10.79 3.41 10.74 3.6 10.66 3.78 10.61 3.97 10.53 4.14 10.44 4.34 10.37 4.52 
+10.31 4.68 10.2 4.88 10.13 5.05 10.02 5.23 9.96 5.4 9.83 5.58 9.74 5.75 9.66 5.93 
+9.55 6.1 9.42 6.25 9.33 6.4 9.2 6.59 9.09 6.73 8.98 6.91 8.86 7.05 8.75 7.2 
+8.59 7.36 8.46 7.51 8.36 7.66 8.21 7.79 8.07 7.95 7.92 8.07 7.79 8.22 7.64 8.36 
+7.51 8.49 7.33 8.61 7.21 8.75 7.03 8.85 6.9 8.98 6.73 9.12 6.57 9.22 6.4 9.34 
+6.25 9.44 6.08 9.57 5.9 9.66 5.75 9.77 5.58 9.85 5.38 9.96 5.23 10.05 5.05 10.13 
+4.86 10.22 4.69 10.3 4.51 10.4 4.34 10.45 4.14 10.55 3.95 10.61 3.77 10.68 3.61 10.74 
+3.4 10.81 3.21 10.87 3.02 10.92 2.84 10.95 2.63 11.03 2.45 11.07 2.25 11.09 2.06 11.13 
+1.87 11.18 1.67 11.21 1.48 11.22 1.28 11.26 1.09 11.29 0.89 11.28 0.69 11.31 0.5 11.33 
+0 10.22 -0.26 -10.22 -0.49 -11.31 -0.7 -11.3 -0.89 -11.29 -1.09 -11.28 -1.28 -11.25 -1.48 -11.24 
+-1.67 -11.2 -1.87 -11.17 -2.06 -11.13 -2.25 -11.09 -2.43 -11.05 -2.65 -11.02 -2.82 -10.96 -3.04 -10.91 
+-3.21 -10.85 -3.38 -10.8 -3.61 -10.75 -3.77 -10.67 -3.95 -10.62 -4.14 -10.52 -4.35 -10.46 -4.51 -10.39 
+-4.69 -10.31 -4.86 -10.22 -5.05 -10.14 -5.21 -10.04 -5.4 -9.94 -5.55 -9.86 -5.75 -9.76 -5.91 -9.66 
+-6.08 -9.55 -6.25 -9.44 -6.4 -9.33 -6.58 -9.23 -6.72 -9.09 -6.88 -9 -7.03 -8.86 -7.21 -8.75 
+-7.34 -8.59 -7.5 -8.49 -7.64 -8.35 -7.77 -8.23 -7.94 -8.07 -8.05 -7.92 -8.21 -7.81 -8.36 -7.64 
+-8.46 -7.51 -8.59 -7.36 -8.73 -7.21 -8.85 -7.05 -8.98 -6.88 -9.09 -6.75 -9.2 -6.58 -9.31 -6.4 
+-9.44 -6.27 -9.53 -6.08 -9.66 -5.91 -9.74 -5.75 -9.83 -5.58 -9.94 -5.4 -10.05 -5.23 -10.11 -5.05 
+-10.2 -4.88 -10.3 -4.68 -10.38 -4.52 -10.43 -4.34 -10.53 -4.14 -10.59 -3.97 -10.66 -3.78 -10.72 -3.6 
+-10.79 -3.41 -10.85 -3.21 -10.89 -3.02 -10.96 -2.84 -10.98 -2.65 -11.05 -2.45 -11.09 -2.26 -11.11 -2.06 
+-11.16 -1.87 -11.19 -1.67 -11.2 -1.48 -11.24 -1.28 -11.27 -1.09 -11.29 -0.89 -11.28 -0.7 -11.29 -0.5 
+-10.05 -0.26 f*
+2514.15 3567.75 -13.93 0 0.15 0 11.31 -0.5 11.28 -0.7 11.29 -0.89 11.26 -1.09 11.25 -1.28 
+11.21 -1.48 11.18 -1.67 11.18 -1.87 11.11 -2.06 11.09 -2.25 11.04 -2.46 11 -2.64 10.96 -2.84 
+10.89 -3.02 10.85 -3.23 10.79 -3.41 10.74 -3.58 10.66 -3.79 10.61 -3.95 10.53 -4.16 10.44 -4.34 
+10.37 -4.52 10.31 -4.69 10.2 -4.88 10.13 -5.05 10.02 -5.23 9.96 -5.41 9.83 -5.58 9.74 -5.75 
+9.66 -5.92 9.55 -6.08 9.42 -6.27 9.33 -6.4 9.2 -6.58 9.09 -6.75 8.98 -6.9 8.86 -7.05 
+8.75 -7.21 8.59 -7.36 8.46 -7.51 8.36 -7.64 8.21 -7.81 8.07 -7.95 7.92 -8.07 7.79 -8.23 
+7.64 -8.36 7.51 -8.48 7.33 -8.62 7.21 -8.75 7.03 -8.86 6.9 -8.98 6.73 -9.11 6.57 -9.23 
+6.4 -9.33 6.25 -9.45 6.08 -9.57 5.9 -9.66 5.75 -9.77 5.58 -9.86 5.38 -9.96 5.23 -10.05 
+5.05 -10.13 4.86 -10.22 4.69 -10.31 4.51 -10.39 4.34 -10.46 4.14 -10.55 3.95 -10.61 3.77 -10.68 
+3.61 -10.74 3.4 -10.8 3.21 -10.87 3.02 -10.91 2.84 -10.96 2.63 -11.02 2.45 -11.04 2.25 -11.11 
+2.06 -11.13 1.87 -11.18 1.67 -11.21 1.48 -11.22 1.28 -11.26 1.09 -11.27 0.89 -11.3 0.69 -11.3 
+0.5 -11.33 0 -0.31 0 30.99 -1.06 13.11 -3.28 26.58 -4.41 26.56 -5.53 26.56 -6.71 26.57 
+-3.23 11.41 -4.69 15.2 -9.16 26.56 -10.48 26.56 -2.21 5.23 -9.66 21.35 -13.32 26.57 -3.56 6.6 
+-11.37 19.99 -7.57 12.17 -7.57 12.16 -1.48 2.28 -9.25 13.26 -9.22 13.28 -6.62 8.86 -13.95 17.7 
+-12.57 14.96 -10.33 11.63 -8.12 8.59 -8.09 8.59 -9.4 9.4 -8.57 8.12 -8.57 8.1 -11.61 10.35 
+-14.93 12.59 -17.7 13.97 -8.86 6.62 -13.24 9.25 -13.26 9.24 -2.26 1.5 -12.15 7.58 -12.13 7.59 
+-19.97 11.37 -6.59 3.55 -26.52 13.38 -10.68 4.82 -10.66 4.84 -5.23 2.23 -13.26 5.23 -13.26 5.25 
+-13.26 4.58 -13.26 4.6 -15.19 4.69 -11.37 3.23 -13.26 3.36 -13.28 3.36 -13.26 2.75 -13.26 2.78 
+-13.28 2.2 -13.26 2.21 -13.29 1.63 -13.25 1.65 -8.14 0.65 -4.97 0.41 -16.84 0 f*
+2500.21 2270.29 0.15 0 11.31 0.5 11.28 0.7 11.29 0.89 11.26 1.09 11.25 1.28 11.21 1.48 
+11.18 1.68 11.18 1.86 11.11 2.08 11.09 2.26 11.04 2.45 11 2.63 10.96 2.84 10.89 3.04 
+10.85 3.21 10.79 3.41 10.74 3.6 10.66 3.78 10.61 3.97 10.53 4.14 10.44 4.34 10.37 4.52 
+10.31 4.68 10.2 4.88 10.13 5.05 10.02 5.23 9.96 5.4 9.83 5.58 9.74 5.75 9.66 5.93 
+9.55 6.1 9.42 6.25 9.33 6.4 9.2 6.59 9.09 6.73 8.98 6.91 8.86 7.05 8.75 7.2 
+8.59 7.36 8.46 7.51 8.36 7.66 8.21 7.79 8.07 7.95 7.92 8.07 7.79 8.22 7.64 8.36 
+7.51 8.49 7.33 8.61 7.21 8.75 7.03 8.85 6.9 8.98 6.73 9.12 6.57 9.22 6.4 9.34 
+6.25 9.44 6.08 9.57 5.9 9.66 5.75 9.77 5.58 9.85 5.38 9.96 5.23 10.05 5.05 10.13 
+4.86 10.22 4.69 10.3 4.51 10.4 4.34 10.45 4.14 10.55 3.95 10.61 3.77 10.68 3.61 10.74 
+3.4 10.81 3.21 10.87 3.02 10.92 2.84 10.95 2.63 11.03 2.45 11.07 2.25 11.09 2.06 11.13 
+1.87 11.18 1.67 11.21 1.48 11.22 1.28 11.26 1.09 11.29 0.89 11.28 0.69 11.31 0.5 11.33 
+0 0.3 0 -30.99 -1.06 -13.08 -3.28 -26.58 -4.41 -26.59 -5.53 -26.56 -6.71 -26.56 -3.23 -11.42 
+-4.69 -15.19 -9.16 -26.56 -10.48 -26.57 -2.21 -5.21 -9.66 -21.37 -13.32 -26.56 -3.56 -6.6 -11.37 -19.98 
+-7.57 -12.18 -7.57 -12.15 -1.48 -2.26 -9.25 -13.28 -9.22 -13.26 -6.62 -8.87 -13.95 -17.71 -12.57 -14.95 
+-10.33 -11.63 -8.12 -8.59 -8.09 -8.59 -9.4 -9.39 -8.57 -8.12 -8.57 -8.09 -11.61 -10.35 -14.93 -12.59 
+-17.7 -13.98 -8.86 -6.62 -13.24 -9.24 -13.26 -9.25 -2.26 -1.5 -12.15 -7.57 -12.13 -7.6 -19.97 -11.37 
+-6.59 -3.56 -13.26 -6.68 -13.26 -6.66 -10.68 -4.84 -10.66 -4.84 -5.23 -2.22 -26.52 -10.5 -13.26 -4.58 
+-13.26 -4.61 -15.19 -4.68 -11.37 -3.23 -13.26 -3.37 -13.28 -3.36 -13.26 -2.75 -13.26 -2.78 -13.28 -2.2 
+-13.26 -2.19 -13.29 -1.65 -13.25 -1.65 -8.14 -0.65 -4.95 -0.42 -30.8 0 f*
+255 0 r6
+2501.39 3161.02 -0.02 0.04 0.13 0 -0.11 -0.04 f*
+0 155 255 rG
+2501.58 3159.63 -0.19 1.39 0.11 0.04 3.23 0.29 -0.63 3.82 0.52 1.17 2.54 0.26 -0.91 4.9 
+1.37 0.14 -0.43 -5.04 0 -0.05 -2.39 -5.18 -0.04 -0.09 -3.17 -1.65 f*
+2 239 204 rG
+2501.78 3158.25 -0.2 1.39 3.17 1.65 0.04 0.09 2.39 5.18 0 0.05 0.43 5.04 1.76 0.21 
+-0.83 3.86 0.02 1.04 1.28 0.16 -0.22 -5.02 -0.13 -0.63 -1.12 -4.53 -0.8 -2.28 -1.35 -2.96 
+-1.21 -1.82 -3.23 -1.43 f*
+7 193 59 rG
+2501.97 3156.86 -0.2 1.39 3.23 1.43 1.21 1.82 1.35 2.96 0.8 2.28 1.13 4.53 0.13 0.63 
+0.22 5.02 1.26 0.15 -0.34 -5.04 -0.74 -3.25 -0.48 -1.91 -1.59 -4.53 -0.3 -0.67 -2.39 -3.61 
+-3.3 -1.2 f*
+255 35 0 rG
+2505.04 3386.26 -2.09 0.54 2.24 -0.09 4.56 1.09 4.69 1.13 0.08 0.02 0.13 -0.07 0.96 -3.95 
+-3.08 -0.15 -4.04 0.06 -3.45 1.41 f*
+2504.45 3239.73 -1.48 -0.41 0.11 -4.38 1.63 0.35 1.63 0.37 1.61 0.39 -1.8 3.69 -1.69 0 f*
+255 0 r6
+2504.1 3165.17 -0.17 1.11 0.69 0.06 -0.52 -1.17 f*
+0 155 255 rG
+2506.32 3064.2 -1.8 5.12 2.82 3.47 4.86 0.71 4.8 1.33 0.52 -0.09 0 -4.36 -4.92 -0.57 
+-5.02 0.37 -0.59 -0.74 0.76 -1.43 4.84 1.78 4.96 0.24 0.38 0.18 -0.42 0.17 0 4.36 
+4.52 -0.65 5.17 -3.04 -4.37 -3 -4.84 -1.63 -5.03 -0.19 -2.78 -1.82 -1.96 -1.62 -1.91 1.41 f*
+255 G
+2507.14 3136.37 -2.35 -0.19 0.26 -2.06 0.39 -2.96 0.66 -5.03 4.03 0.33 4.02 0.36 -0.84 5.04 
+-0.83 5.02 -3.84 -0.37 -1.5 -0.13 f*
+255 203 0 rG
+2506.04 3378.84 -0.15 0.02 0.2 0.07 0.17 -0.12 -0.21 0.04 f*
+2 239 204 rG
+2507.75 3068.01 -0.76 1.43 0.59 0.74 5.02 -0.37 4.92 0.57 0.42 -0.17 -0.37 -0.18 -4.96 -0.24 
+-4.84 -1.78 f*
+0 155 255 rG
+2508.55 3175.72 -0.22 1 0.24 0.04 -0.02 -1.04 f*
+2 239 204 rG
+2510.54 3180.53 -0.34 1.41 0.63 0.09 -0.29 -1.5 f*
+2511.83 3187.16 -1.3 4.79 2.69 0.41 0.74 0.11 -0.57 -0.74 -1.18 -4.52 -0.17 -0.86 -0.21 0.8 f*
+7 193 59 rG
+2511.22 3177.65 -0.68 2.88 0.29 1.5 1.3 0.17 -0.91 -4.56 f*
+255 0 r6
+2512.89 2279.17 -2.14 0.74 10.89 0.89 10.89 0.87 10.87 0.87 -3.86 0.52 10.09 1.28 10.07 1.28 
+10.07 1.26 -5.21 0.22 -4.8 0.37 13.22 2.11 13.21 2.08 12.84 2.63 12.83 2.62 -7.05 -0.43 
+11.83 2.82 11.83 2.8 -7.66 -0.71 10.91 2.91 10.89 2.91 -8.14 -0.98 -7.64 -0.74 19.27 5.43 
+-7.99 -0.93 8.9 2.71 8.92 2.72 8.57 2.93 8.55 2.93 9.36 1.91 9.85 2.28 -9.2 -3.45 
+-9.22 -3.43 9.72 2.11 -10 -3.49 -10.02 -3.52 9.52 1.91 -10.89 -3.54 -10.91 -3.54 9.22 1.65 
+-11.89 -3.52 -11.91 -3.51 8.81 1.32 -13.02 -3.43 -13 -3.41 -13.5 -2.93 -13.52 -2.91 6.77 0.32 
+7.36 0.54 8 0.84 8.79 1.15 9.66 1.54 -12.32 -2.78 -12.35 -2.76 -12.33 -2.78 -7.55 -0.58 
+-6.82 -0.33 -11.35 -1.61 -11.33 -1.61 -11.35 -1.61 -11.57 -0.98 -11.59 -1 -11.59 -0.98 f*
+7 193 59 rG
+2512.65 3184.07 -0.61 2.28 0.17 0.86 1.18 4.52 0.57 0.74 2.14 0.39 -0.11 -0.41 -2.02 -2.7 
+-0.63 -2.36 -0.7 -3.32 f*
+255 203 0 rG
+2515.19 3174.35 -0.95 3.14 0.07 0.3 0.95 4.88 0.29 1.7 1.8 3.66 0.02 0.04 2.61 1 
+-0.24 4.45 1.13 1.15 2.45 0.93 2.67 0.39 2.41 -0.61 -0.67 -3.58 -0.48 -1.82 -1.32 -1.09 
+-2.75 -0.54 -0.67 -4.45 -0.22 -1.67 -1.26 -3.67 -0.54 -0.48 -2.67 -1.63 -2.61 -2.12 f*
+189 0 54 rG
+2517.12 2355.77 -2.66 -0.39 0.3 -2.17 0.64 0.09 -0.26 1.63 2.73 0.41 4.8 -0.91 -0.2 -1.72 
+-2.82 -0.61 0.78 -0.48 2.82 0.67 1.28 1.41 -0.48 0.96 -2.52 0.61 -4.41 0.5 f*
+255 35 0 rG
+2517.86 2355.34 -2.73 -0.41 0.26 -1.63 1.23 0.17 -0.08 0.57 2.82 0.43 1.67 -0.3 -0.08 -0.61 
+-2.89 -0.5 1.59 -0.96 2.82 0.61 0.2 1.72 -4.8 0.91 f*
+255 0 r6
+2515.67 3038.52 -0.5 5.23 5.34 0.39 0.57 -5.25 1.09 -10.51 -5.54 -0.39 -0.48 5.27 -0.48 5.26 f*
+255 203 0 rG
+2515.06 3411.5 0.84 1.89 5.21 -1.09 -0.96 -1.89 -5.1 1.08 f*
+0 255 r6
+2515.91 3413.39 0.3 0.69 5.41 -0.8 -0.5 -0.98 -5.21 1.09 f*
+255 135 0 rG
+2519.36 2354.47 -2.82 -0.43 0.08 -0.57 0.63 0.11 0.8 -0.52 2.89 0.5 0.08 0.61 -1.67 0.3 f*
+7 193 59 rG
+2517.08 3197.5 -0.17 0.52 0.76 0.13 -0.59 -0.65 f*
+110 210 9 rG
+2517.93 3195.05 -0.85 2.45 0.59 0.65 1.75 0.37 2.52 0.52 -2.02 -1.82 -1.99 -2.17 f*
+255 35 0 rG
+2524.2 3390.28 -1.21 0.84 2.23 0.81 0.63 -1.39 -1.65 -0.26 f*
+255 G
+2527.21 3123.2 -4.05 -0.52 0.98 -5.03 0.98 -5.08 4.25 0.54 4.23 0.57 -1.15 5.05 4.14 0.61 
+4.12 0.68 4.1 0.7 4.08 0.75 -1.52 5 -1.54 4.96 3.88 0.79 -1.65 4.95 3.78 0.8 
+-0.07 0.21 -1.69 4.71 -1.8 4.91 -3.58 -0.79 -3.13 -0.65 -0.5 -0.09 -3.62 -0.7 -3.64 -0.65 
+1.41 -4.97 -3.76 -0.61 1.3 -4.96 1.3 -5 -3.97 -0.61 1.19 -5.02 -4.08 -0.56 f*
+87 0 136 rG
+2529.23 3262.96 -5 3.13 0.74 0.65 0.74 0.67 0.7 0.67 5.23 -2.91 -0.78 -0.73 -0.8 -0.74 
+-0.82 -0.74 f*
+255 203 0 rG
+2523.2 3409.48 1.3 -1.43 0.16 -2.43 0.47 -3.73 0.09 -0.05 0.89 -0.37 0.54 0.11 4.82 -0.04 
+4.86 -0.84 4.19 -1.74 4.69 -1.11 4.96 -0.85 4.95 -0.98 4.64 -1.37 4.88 -1.17 2.93 0.24 
+0.78 0.11 4.19 0.56 2.82 0.33 -1.52 0.61 -4.58 1.78 -3.47 -2.71 -4.5 1.61 -4.55 1.55 
+3.12 2.86 -4.77 1.52 2.97 2.88 1.63 1.54 -3.97 2.69 -1.21 0.56 -3.93 1.07 -2.64 -2.95 
+-2.06 0.52 -4.45 -0.91 -6.01 -0.24 -0.11 0 -0.06 0.02 -4.06 2.52 -0.96 -1.45 -5.12 0.96 
+-1.91 0.34 f*
+110 210 9 rG
+2526.34 3201.54 -1.47 3.3 2.36 0.61 2.34 0.63 2.24 0.63 -1.54 -2 -1.93 -1.57 -2 -1.61 f*
+255 G
+2526.46 3159.12 -0.39 -0.07 0.13 -0.5 1.21 -4.27 0.02 -0.11 1.37 -4.93 3.55 0.59 3.56 0.65 
+3.54 0.7 -1.65 4.88 -0.83 2.39 -0.84 2.47 -1.7 4.84 -3.25 -0.65 -1.23 -0.21 -2.02 -0.39 
+0.41 -1.3 1.09 -3.56 -2.97 -0.52 f*
+2 239 204 rG
+2529.43 3159.63 -2.97 -0.52 1.89 4.08 1.09 -3.56 f*
+255 203 0 rG
+2529.77 3373.85 -1.34 0.36 3.06 1.76 2.93 0.61 2.41 0.61 1.02 -1.65 -1.84 -3.56 -0.11 -0.48 
+-0.8 -3.43 -3.36 -1.13 -2.97 0.91 1.47 1.73 2.8 3.3 -3.25 0.96 f*
+2 239 204 rG
+2531.18 3165.11 -1.23 -0.21 0.93 1.15 2.69 2.14 3.06 1.02 2.54 -2.43 2.04 -4.78 2.78 -2.8 
+2.21 -1.32 2.26 -0.67 4.6 -2.06 3.45 -0.02 0.37 -0.02 4.04 -0.46 3.6 0.63 4.47 -1.17 
+1.67 -0.37 3.36 -1.72 2.41 -1.99 3.97 -4.32 1.61 -1.26 4.99 -2.17 0.65 -0.54 4.47 -0.31 
+2.56 3.15 4.69 -0.59 4.95 -0.91 0.67 0.11 3.63 0.11 4.23 0.41 4.59 -0.09 1.28 -0.57 
+5.29 -3.71 0.89 -0.09 1.67 1.29 1 1.71 1.63 -0.46 3.21 0.26 0.41 1.55 1.17 2.88 
+4.52 0.3 0.26 -0.07 5.49 -1.22 3.14 -0.54 2.08 0.05 4.3 0.82 4.67 0.39 1.32 -0.63 
+6.42 -2.78 0.2 0.02 4.3 0.76 3.47 2.06 3.58 1.91 2.8 2.8 2.82 2.74 2.93 2.56 
+3.43 2.04 5.58 -0.87 1.04 -0.43 6.27 -0.84 0.91 4.71 3.77 1.78 2.24 -0.45 6.01 -2.13 
+0.41 -0.26 5.95 -2.88 2.08 0.41 1.91 3.8 2.71 2.97 0.98 1.2 1.34 2.14 0.83 4.6 
+2.37 3.2 2.84 2.73 3.49 1.45 1.43 -0.48 4.32 -2.48 6.49 -1.54 1.15 4.34 2.39 0.93 
+1.2 1.32 -0.09 0.57 -3.38 7.14 -0.04 0.3 0.98 4.21 1.91 1.04 2.82 0.3 3.91 -1.2 
+3.88 -1.28 0 -5.49 -3.82 -0.22 -2.54 -3.12 0.55 -5.75 -3.11 -2.72 -0.3 -0.21 -3.11 -2.25 
+-3.34 -2.5 2.76 -4.43 5.23 -3.69 1.73 -0.85 2.61 3.34 0.24 4.1 -1.22 2.41 -0.12 5.62 
+5.79 -0.83 1.04 0.37 2.5 0 0 -2.17 -4.36 -1.71 -1.18 -4.56 -0.61 -5.19 -0.98 -3.99 
+3.82 1.28 3.41 2.7 2.95 3.05 0.79 5.04 -0.98 3.34 -1.78 0.02 -1.08 0.02 0 2.17 
+3.88 0 -3.17 7.44 -5.6 3.28 0 5.49 2.28 -0.76 0.48 0.13 1.65 3.84 0.19 1.41 
+0.37 3.16 0.02 4.93 1.56 3.75 2.69 1.48 3.5 -0.93 2.78 2.95 -2.21 6.32 -1.2 3.36 
+-0.89 2.71 -2.02 5.86 -1.46 4.04 -1.23 2.06 -0.89 4.95 -1.11 4.99 0 4.32 -2 4.73 
+-0.3 0.72 -2.76 5.55 -2.08 5.12 -2.02 3.73 -4.43 3.12 -2.3 4.95 2.13 3.14 2.17 2.09 
+2.37 -3.86 5.02 -3.93 4.75 -0.15 1 0.15 6.07 -1.89 5.9 -4.14 0.61 -0.37 0.22 -0.02 
+5.49 -0.05 0.65 1.52 -1.7 5.23 -0.5 0.91 -4.96 5.95 -2.52 1.67 -6.64 3.73 -3.84 4.14 
+-4.5 5.82 -0.7 0.67 -7.33 4.69 -5.19 3.06 -0.37 0.24 -1.85 1.17 -7.27 5.23 -1.17 1.13 
+-3.84 4.04 -0.48 4.02 0.21 0.11 4.34 2.26 0.54 0.41 2.84 3.36 0 0.02 4.43 1.81 
+7.14 -2.87 4.99 0.74 6.84 -5.88 2.84 -1.8 2.34 0.22 -3.43 1.8 -8.62 6.01 -2.93 4.54 
+-0.36 0.56 -9.47 6.2 -4.58 1.15 -2.28 4.62 2.8 -0.02 -0.2 3.77 -3.8 4.95 3.17 -0.55 
+3.91 -5.01 3.05 -0.61 3.56 -5.08 4.71 -5.38 3.73 -2.87 4.21 -3.52 5.66 -3.95 6.95 -4.23 
+1.24 -0.85 8.92 -7.12 0.91 -1.74 1.93 -3.84 -0.04 -0.09 -5.17 -0.28 -5.73 0.86 -3.71 0.48 
+-1.48 -0.87 -6.59 2.56 -2.23 -2.48 -1.98 -0.26 -5.9 0.89 -5.26 -0.63 0 -0.02 7.49 -4.53 
+2.69 -2.82 6.05 -6.32 0.37 -0.43 7.46 -5.87 2.56 -2.06 4.52 -3.11 7.18 -6.29 0.17 -0.24 
+2.65 -5.77 2.43 -5.77 3.62 -4.95 1.81 -2.55 3.47 -6.64 -2.3 -3.43 -1.63 -0.54 -2.91 -1.56 
+-2.86 0 P
+-6.03 3.84 -2.3 2.43 -4.08 5.14 -5.97 1.39 -1.91 -0.32 -3.5 -2.59 2.65 -5.73 1.24 -5.08 
+1.88 -5.43 0.09 -0.17 -0.11 -0.17 -0.73 -3.86 -0.91 -4.02 0.71 -2.41 3.17 -4.64 1.18 -5.51 
+0.24 -0.65 3.19 -6.53 1.32 -2.19 4.16 -6.77 -0.61 -4.14 -0.09 -0.5 2.3 -7.07 -4.7 0.22 
+-5.56 3.45 -2 0.63 -0.58 0.17 -3.58 1.07 -2.91 -0.98 -1.54 -3.93 -0.68 -4.64 -0.43 -3.34 
+-0.06 -1.54 2.64 -7.55 0.04 -0.16 2.19 -7.59 -0.26 -1.71 -0.66 -3.26 -3.03 -3.04 -2.48 -3.61 
+-1.71 -4.4 -1.54 -4.66 -1.69 -4.56 0.08 -2.43 2.97 -6.29 0.07 -1.3 -0.93 -5.86 -0.98 -4.06 
+5.41 -3.54 2.11 -0.15 6.14 -0.46 0.3 0.02 6.75 -1.76 0.76 0.05 3.54 3.14 2.7 4.07 
+3.21 3.43 0.28 1.63 -0.2 5.3 -0.2 4.92 -0.37 2.43 0.72 5.82 1.17 5.18 0.04 0.68 
+-1.07 6.57 1.2 4.93 3.84 2.41 1.04 4.99 -1.39 1.78 -2.2 7.12 0.09 4.59 -1.5 2.16 
+2.3 3.61 0.18 5.25 2.43 -0.91 4.56 0.8 1.67 0.93 0 -2.93 -0.54 -0.09 -4.62 -0.59 
+-1.12 -4.53 -1.22 -4.54 0.41 -6.01 0.7 -2.28 4.04 -1.87 3.27 2.93 0.07 0.05 3.69 2.45 
+2.89 0.71 0 -3.86 -3.76 -1.91 -1.99 -4.14 -1.76 -4.38 1.61 -3.23 1.39 0.41 5.86 -0.12 
+0.46 0.3 2.41 3.86 1.39 4.82 -0.02 1.17 -3.93 2.39 -1.65 0.84 0 3.86 1.52 0.37 
+3.73 -2.37 -3.08 4.25 -4.41 7.14 -5.32 4.36 0 2.93 0.95 0.52 5.6 -3.45 2.04 -0.71 
+4.56 1.87 0.18 0.15 4.19 -2.06 0 -6.79 -0.72 0 -0.15 -2.96 -0.3 -2.47 -1.67 -4.45 
+0 -6.01 -1.61 -4.62 -2.37 -3.95 -3.21 -2 -1.24 0.04 -5.12 -1.28 -1.43 0.07 -5.6 3.19 
+-2.23 -0.54 -2.11 -4.11 0.41 -2.47 -0.29 -3.95 -1.28 -5.12 -0.16 -5.55 0.16 -1.04 0.24 -7.1 
+0.09 -2.13 -0.72 -4.2 -3.25 -3.39 -2.8 -4.01 -3.45 -3.23 -2.43 -0.11 -4.56 1.2 -3.1 -0.02 
+-3.14 0.24 -5.12 0.39 -2.5 1.54 -2.97 1.93 -0.09 1.74 1.56 5.23 0.46 4.19 -3 5.43 
+-0.24 0.48 -0.26 6.53 2.15 4.06 0.65 2.52 -3.56 5.9 -5.68 3.13 -3.54 2.28 -1.84 1.2 
+-1.73 0.3 -1.59 -4.21 0.09 -0.29 3.06 -6.36 0.82 -3.23 -1.47 -4.66 -0.7 -3.28 0.17 -2.54 
+-3.11 -3.13 -3.86 -1.3 -0.57 -0.33 -0.15 -0.37 0.79 -0.36 4.64 -3.13 4.12 -4.73 4.1 -4.77 
+-0.43 -1.99 -2.76 -3.93 -1.87 -5.21 -0.57 -2.15 5.1 -3.86 0.04 0 5.04 -3.88 3.67 -5.01 
+4.88 -1.52 4.34 1.11 0.74 0.2 5.34 1 3.99 -0.7 3.11 -0.72 3.97 -1.32 5.08 -2.82 
+0.8 -0.34 6.34 -1.13 1.65 0.02 4.94 -0.69 2.43 -0.95 4.49 -0.18 5.21 1.33 0.26 -0.02 
+5.21 0.98 4.11 -0.26 2.52 -0.46 4.1 2.88 2.93 4.5 3.28 3.95 1.72 5.95 1.3 3.34 
+-2.73 -1.45 -4.97 -1.59 -2.89 -0.61 -4.38 2.06 -1.82 0.38 -0.11 2.11 1.24 6.23 0.96 5.58 
+0.19 0.61 2.59 4.34 2.41 4.49 0.82 0.11 6.21 -2.08 0.79 0.18 1.41 -0.72 0 -8.31 
+-0.11 -0.02 -0.09 -0.31 0.21 0.15 -0.02 0.18 0 8.31 3.79 -1.93 2.71 0.67 3.65 3.09 
+3.79 2.88 0.57 -0.02 4.49 1.43 2.98 3.82 2.06 4.82 -2.58 6.23 -5.02 4.6 -3.08 7.54 
+-0.26 2.17 p
+-2.54 7.12 -1.26 2.04 -2.88 2.11 -0.8 0.61 -1.87 0.48 -5.86 2.15 -1.84 0.11 -4.5 -1.95 
+-0.78 -5.43 -0.65 -5.62 -3.58 -1 0.59 3.86 1.34 4.91 -3.02 7.21 -1.11 1.39 -2.75 3.54 
+-0.84 1.35 0 6.79 1.54 -0.76 3.86 -5.47 0.88 -1.34 0.82 -0.15 1.96 4.19 4.62 0.25 
+3 -0.99 2.73 -1.65 3.23 -3.64 1.75 -2.22 4.78 -6.42 4.46 -7.14 1.07 -2.02 0.39 -6.99 
+1.26 -3.13 4.86 -5.05 3.73 -7.96 0.52 -2.19 -2.71 -4.08 -0.39 0.02 -3.37 -2.93 -4.29 -2.3 
+-1.89 -0.19 -2.65 -1.82 -2.08 -5 -0.46 -2.8 -0.7 -3.45 -1.8 -5.53 -1.73 -5.77 -2.76 -4.51 
+-2.02 -5.62 -4.49 -2.28 -3.2 -4.17 -3.88 -3.23 -4.12 0.74 -2.62 0.17 -4.9 -1.78 -2.21 0.49 
+-3.67 -0.84 -5.86 0.24 -0.59 0.22 -6.66 0.78 -0.66 0.15 -6.14 0.82 -1.78 0.44 -5.36 3.63 
+-2.41 0.8 -4.79 1.15 -2.41 0.42 -4.88 -1.61 -5.01 -1.43 -3.21 -4.04 -2.93 -4.54 -3.39 -3.99 
+-4.12 -2.87 -4.97 -1.62 -2.45 1.56 0.26 1.89 3.69 3.53 4.02 2.96 1.63 0.97 0 -2.58 
+-0.43 -0.2 -4.06 -2.91 -0.43 -0.46 0.63 0.15 4.04 2.97 0.26 0.44 0 2.58 2.62 1.59 
+3.28 3.95 -1.73 2.93 -3.52 5.17 -1.28 0.99 -5.55 1.43 -3.12 2.3 -4.54 -0.48 2.63 3.02 
+1.61 5.62 2.76 4.01 2.24 3.32 -4.11 4.75 -5.62 3.32 -3.17 1.46 -3.45 0.95 0.91 2 
+2.08 4.28 3.65 2.5 3.12 3.02 1.45 4.77 1.26 4.82 -0.11 0.5 -3.23 6.12 -1.3 3.8 
+1.8 3.96 0.24 3.78 -5.86 1.32 -1.41 -0.43 -2.78 -1.23 -2.61 -3.08 -2.75 -2.95 -3.19 -2.56 
+-1.32 -4.41 -0.18 -1.11 -0.26 -4.34 -2.71 -3.19 -4.77 -0.24 -1.04 0.33 -4.43 -1.35 -3.21 -2.62 
+-4.03 -1.74 -2.82 -0.04 -4.75 2.34 -1.52 0.42 -4.27 -0.02 -4.34 -1.21 -3.1 -2.65 -2.08 -3.95 
+-4.17 -1.43 -4.82 -0.61 -1 0.13 -4.06 -0.3 -4.84 1.67 -2.28 0.87 -5.55 0.63 -1.24 -0.13 
+-3.34 -0.48 -4.3 -0.93 -4.01 -1.32 -3.73 -1.71 -3.54 -2.02 -3.06 -2.8 -3.05 -2.87 -4.64 -0.34 
+-5.02 0.32 -3.71 -0.34 -0.84 -0.02 -4.8 0.13 -3.93 -1.43 -3.61 -2.04 -4.56 -0.24 -4.19 1.37 
+-1.25 0.3 -4.43 -0.34 -4.61 0.17 -4.25 0.96 -0.83 0.3 -5.86 3.29 -0.07 0.02 -5.82 3.88 
+-0.17 0.13 -5.71 3.78 -0.18 0.17 -3.47 4.32 -3.1 1.85 -1.95 2.25 -2.73 4.69 -2.47 1.17 
+-3.87 0.02 -4.2 1.11 -0.92 0.39 -3.67 4.47 -1.61 2.24 -0.84 2.47 -1.7 4.84 -3.25 -0.65 p f*
+87 0 136 rG
+2536.83 3262.2 -5.19 2.97 0.76 0.76 5.25 -2.91 -0.82 -0.83 f*
+255 35 0 rG
+2534.12 3341.32 -1.89 0.89 3.93 3.02 2.02 -1 1.98 -1 1.93 -1.04 1.89 -1.07 1.87 -1.11 
+2.63 1.5 2.69 -0.76 -3.49 -1.84 1.78 -1.15 3.43 -2.39 -5 -2.28 -1.58 1.11 -1.63 1.09 
+-1.67 1.08 -1.69 1.04 -1.74 1 -1.78 1 -1.82 0.96 -1.84 0.95 f*
+0 255 r6
+2531.18 3409.63 1.11 1.72 5.25 -1.11 5.23 -1.22 3.11 -0.78 -4.45 -0.91 -6.01 -0.24 -0.11 0 
+-0.06 0.02 -4.06 2.52 f*
+87 0 136 rG
+2536.16 3292 -0.09 0.86 6.49 -0.26 -0.11 0.95 5.18 -0.2 1.34 -0.3 3.06 -1 1.17 -1.2 
+-0.76 -1.02 -1.43 -0.95 -1.81 0.19 0 -1.04 -6.49 0.73 0 0.96 -6.49 0.54 -0.02 0.87 
+-0.07 0.85 f*
+255 0 r6
+2540.13 3019.32 -0.72 5.27 5.55 0.61 0.78 -5.27 -5.62 -0.61 f*
+255 203 0 rG
+2543.71 3381.86 -0.41 -2.64 4.17 1.41 2.82 0.56 4.05 -1.02 4.12 -1.02 1.7 -2.88 3.62 -1.37 
+4.93 1.48 0.43 0.11 4.49 0.91 -1.54 -2.61 -0.91 -2.69 5.45 0.41 1.91 3.6 0.13 0.37 
+-1.82 2.86 0.98 1.61 -1.58 2.15 -4.91 1.11 -2.97 2.41 -2.41 -0.45 -3.52 -2.78 -5.08 -0.7 
+-3.95 1.32 -4.55 0.68 -1.24 -0.05 -3.9 -2.78 f*
+87 0 136 rG
+2548.59 3295.4 -0.22 1.04 3.41 -0.02 -2.54 -1.02 -0.61 -0.26 -0.04 0.26 f*
+189 0 54 rG
+2548.79 3294.33 -0.15 0.81 0.61 0.26 2.54 1.02 3.06 -0.02 -0.15 0.61 1.21 0.52 -1.45 0.43 
+-0.2 0.72 -0.37 1.15 6.45 0.15 0.24 0 -0.21 -0.12 -2.02 -1.13 1.35 -1.22 -1.02 -1.19 
+2.84 -1.05 0.54 -0.28 -0.5 0.02 -1.71 0.06 -4.75 0.18 0.2 -1.15 0.16 -1.16 0.13 -1.15 
+0.09 -1.15 0.04 -1.15 0.02 -1.13 -4.68 0.52 1.43 0.95 0.76 1.02 -1.17 1.2 -3.06 1 
+-1.34 0.3 1.3 -0.07 -0.15 1.04 f*
+255 35 0 rG
+2558.33 3250.8 -5.1 3.14 1.04 1.04 1 1.07 5.27 -3.04 1.05 1.15 5.32 -3.02 -1.13 -1.21 
+-1.17 -1.2 -1.2 -1.17 -1.24 -1.15 4.73 -3.17 -1.52 -1.06 -2.76 -0.18 -3.62 1.67 0.61 0.5 
+1.31 1.11 -4.91 3.34 1.17 1.06 1.15 1.11 f*
+87 0 136 rG
+2554.55 3297.55 -0.11 0.41 1.45 -0.43 -1.21 -0.52 -0.13 0.55 f*
+0 255 r6
+2554.51 3409.61 1.21 -0.56 3.97 -2.69 1.41 1.28 5.14 -1.68 5.08 -1.75 3.43 2.62 5.17 -1.93 
+3.62 2.47 5.25 -2.13 5.16 -2.21 4.02 2.23 3.86 2.06 0.13 0.13 2.71 2.73 3.86 2.15 
+-4.05 1.82 4.03 2.06 0.96 0.48 -4.91 3.3 -2.14 -1.17 -4.17 1.69 -2.67 0.43 -2.93 -1.8 
+7.57 -1.54 1.96 -2.45 -3.97 -2.17 -3.37 -2.43 -4.96 -1.84 -4.23 0.04 -6.14 0.15 -2.41 -0.34 
+-5.38 -0.68 -3.82 -0.54 -6.1 0.93 -0.02 2.87 2.17 3.04 3.19 2.66 -2.52 0.76 -2.95 -2.75 
+-2.91 -2.8 -2.88 -2.84 -1.37 0.39 f*
+255 35 0 rG
+2562.61 3255.34 -5.4 2.88 0.91 1.09 0.87 1.13 0.85 1.15 5.62 -2.69 -0.91 -1.19 -0.96 -1.2 
+-0.97 -1.17 f*
+255 135 0 rG
+2562.98 3239.58 -4.69 3.5 0.71 0.61 3.63 -1.67 2.76 0.18 1.52 1.06 0.24 -0.15 -1.37 -1.2 
+-1.37 -1.17 4.73 -3.52 4.71 -3.55 0.67 -0.52 -0.34 -2.28 -2.74 -0.37 -1.25 0.33 -5.64 2.84 
+1.56 1.17 -4.58 3.63 1.45 1.13 f*
+255 35 0 rG
+2560.35 3299.85 -2.02 -1.13 1.35 -1.22 -1.02 -1.19 2.84 -1.05 0.54 -0.28 5.99 -0.33 0.21 -1.34 
+6.46 -0.52 0.18 -1.43 0.11 -1.43 0.09 -1.43 -6.49 0.8 0.04 -1.32 -0.02 -1.34 6.47 -1 
+-0.07 -1.41 -0.13 -1.41 6.4 -1.28 -0.17 -1.5 -0.24 -1.5 -0.24 -1.26 2.88 0.65 1.78 1.18 
+1.48 1.28 0.8 1.45 0.2 1.59 -0.09 1.63 -0.84 1.75 -1.26 1.76 -0.8 1.69 -0.2 1.59 
+-0.48 1.61 0.49 1.52 -0.41 1.61 -0.04 1.59 1.13 1.54 -0.11 1.61 -0.74 1.61 -1.23 1.63 
+-2.17 1.57 -3.47 1.43 -1.17 1.5 -0.33 -0.02 -6.29 -0.45 0.69 -1.43 0.65 -1.41 -6.36 -0.35 
+0.57 -1.34 0.52 -1.33 0.48 -1.32 0.43 -1.34 -6.19 -0.05 -0.21 -0.12 f*
+255 203 0 rG
+2561.8 3408.29 -0.02 2.87 2.17 3.04 3.19 2.66 3.28 -1.04 3.19 2.62 1.18 0.95 6.83 -1.39 
+3.69 0.07 6.95 1.08 0.26 -0.08 0.16 0.08 7.57 -1.54 1.96 -2.45 -3.97 -2.17 -3.37 -2.43 
+-4.96 -1.84 -4.23 0.04 -6.14 0.15 -2.41 -0.34 -5.38 -0.68 -3.82 -0.54 -6.1 0.93 f*
+2567.27 3228.75 -4.34 3.77 1.58 1.13 0.02 0 5.64 -2.84 1.25 -0.33 2.74 0.37 0.34 2.28 
+3.99 -3.11 -1.67 -1.32 4.54 -3.71 3.04 -2.54 -3.43 0 -1.41 1.2 -4.45 3.78 -1.73 -1.26 
+-1.8 -1.24 -4.32 3.82 f*
+2568.79 3346.94 -0.13 -0.11 0.26 0.02 0.22 0.17 -0.35 -0.09 f*
+0 255 r6
+2574.8 3201.3 -3.61 4.25 2.29 1.2 2.23 1.21 3.78 -4.16 2.3 1.3 2.26 1.32 2.21 1.34 
+-4.05 4.06 -4.1 4.02 2 1.3 1.97 1.32 1.91 1.37 -3 2.63 3.43 0 1.45 -1.24 
+1.84 1.41 4.54 -3.77 1.89 1.5 1.84 1.54 -4.71 3.67 -0.89 0.67 0.04 2.73 3.11 -1.43 
+5.27 -3.19 2.8 -0.87 4.19 -0.16 0.57 -0.06 4.56 -0.7 2.28 1.37 0.58 2.52 -1.02 3.49 
+-0.26 0.22 0.46 2.47 1.5 -0.7 6.5 -1.78 0.52 -0.09 -0.26 0.43 -3.95 4.93 -0.02 0.07 
+-1 3.17 2.11 1.43 1.91 -0.28 2.02 -1.89 2.52 -2.64 3.58 -0.85 3.11 1.05 1.56 0.82 
+1.41 0.35 2.71 1.34 4.28 -0.02 0.87 0.11 0.48 2.43 0 0.2 0.09 -0.02 3.17 1.2 
+1.45 2.13 1.43 2.15 1.78 1.97 2.47 1.67 0.76 0.34 1.54 1.48 3.11 1.48 3.09 0.13 
+2.4 0.43 0.52 2.67 1.28 2.36 0.67 2.61 0.72 2.59 0.8 2.56 -1.96 3.47 -0.26 2.84 
+1.98 2.17 0.15 2.75 -0.63 2.93 -0.24 2.82 -3.11 2.43 -4.05 2 0 2.65 -0.43 2.73 
+2.8 2.11 0.02 0.02 0.93 2.54 -1.2 2.91 -1.98 2.45 -0.41 0.63 -3.21 3.08 -4.99 3 
+-0.46 0.24 -6.29 3.08 -1.67 2.64 -1.37 2.61 -1 2.61 -0.78 2.6 3.34 2.06 6.75 -0.85 
+2.56 1.39 -4.32 1.41 -6.19 -0.11 -2.52 1.39 -0.09 2.43 0 0.29 -0.65 0.63 -1.76 2 
+-2.21 2.61 -1.56 2.46 -0.02 0.19 -0.32 2.8 -2 2.62 -1.04 2.8 -2.06 2.65 0.65 1.04 
+1.61 2.41 -0.13 2.49 5.68 0.96 7.4 -0.71 5.67 -0.02 1.45 -0.56 6.66 -0.26 2.32 -1.57 
+-0.17 -0.67 -2.56 -2.86 4.02 -3.06 4.38 -3.11 -3.08 -1.21 -0.3 -2.08 1.11 -3.13 2.06 -3.12 
+2.25 -3.13 2.28 -3.17 2.11 -3.17 4.12 -3.38 0.96 -0.5 6.4 -3.36 -0.93 -2.97 -1.71 -1.22 
+-0.58 -1.54 0.13 -3.04 -3.38 -0.52 -1.43 -1.74 2.54 -3.34 1 -0.65 6.75 -2.26 4.62 -2.47 
+2.65 -1.73 2.56 -2.58 1.54 -3.54 4.04 -3 6.54 -2.78 5.92 0.52 1.08 0.3 -1.67 2.63 
+-1.17 1.61 -3.69 4.34 -3.54 4.19 -1.15 3.56 2.61 2.73 -2.32 3.82 -4.45 4.14 -0.13 0.06 
+-7.81 4.11 -1.8 0.58 -3.16 3.59 -3.85 3.6 -1.65 3.32 -0.15 3.23 1.17 2.15 0.15 1.04 
+-1.41 3.38 -2 3.41 2.2 2.02 0.97 1.32 -2.06 3.49 -1.32 3.52 -2.3 3.54 -8.03 2.73 
+-6.29 0.02 -3.09 3.23 -2.73 3.28 4.84 0.56 5.75 0.57 5.8 0.48 -3.78 3.5 -3.93 3.47 
+5.67 0.61 -2.7 2.3 5.95 -1.75 0 -3.43 -1.24 -0.84 3.67 -3.6 2.52 -0.18 2.54 0.45 
+-4.45 3.65 -3.04 0.52 0 3.43 0.58 -0.18 4.21 -1.95 7.25 -1 0.5 -0.3 -0.02 -0.15 
+-0.8 -3.86 7.61 -2.82 2.87 -1 7.29 -3.54 0.72 -0.61 0.43 -0.65 0.04 -3.28 4.71 -4.19 
+-2.78 -1.82 -5.36 -0.62 -1.61 -0.68 -2.97 -0.98 -5.34 -0.8 0.63 -1.45 1.54 -3.63 1.97 -3.64 
+2.45 -3.71 2.41 -3.73 3.04 -3.84 2.26 -3.78 1.07 -3.6 2.9 -3.97 2.56 -3.93 0.55 -0.84 
+3.4 -3.47 4.02 -4.47 -1.35 -3.15 5.1 -4.42 0.71 -0.7 5 -5.08 2.56 -4.34 4.14 -1.56 
+2.21 -0.84 0.09 0.05 5.99 -1.07 1.5 -1.69 5.25 -5.92 0.43 -0.63 3.17 -4.84 3.67 -4.43 
+0.91 -1.65 P
+-0.8 -0.35 -4.38 2.71 -1.87 1.56 -6.47 5.42 -2.75 1.59 -3.78 3.27 -5.25 0.55 -0.8 0.07 
+-0.34 0 -5.71 0.52 -4.58 -0.39 -0.93 -3.19 1.61 -4.14 -1.5 -0.87 -2.06 -1.3 -4.06 -0.34 
+-4.21 0.08 -2 -0.82 -5.27 0.21 -1 -0.15 -4.6 -1 -1.84 -2.02 -0.35 -0.39 0.2 -1.45 
+0.24 -1.98 -0.46 -0.3 -1.99 -1.95 0.98 -3.69 -1.02 -2.84 -1.75 -2.52 -3.08 -1.87 -2.26 -2.23 
+-0.62 -0.41 -2.46 -1.37 0.63 -3.65 -1.23 -2.73 -3.13 -1.7 -3.75 -1.3 -1.15 -0.12 -2.24 -1.35 
+-5.23 0.74 -1.37 -0.3 0.39 -1.57 1.73 -2.99 1.41 -4.3 -5.01 -0.32 -2.08 -2.15 -2.52 -0.78 
+-1.24 -0.24 -3.02 -1.48 -2.67 -1.68 -1.17 -2.71 -4.69 -0.21 -0.02 0.02 -6.81 1.43 -0.13 0.02 
+-5.21 0.41 -2.96 -0.22 -1.37 0 0 -1.43 0.22 -2.17 -2.25 0.13 -2.02 -0.28 -3.21 -0.93 
+-0.39 -3.23 -0.34 -0.98 0.5 -2.86 -2.24 -1.8 -3.77 0.2 -2.21 1.41 -2.95 1.97 -4.39 1 
+-3.64 0.26 -0.43 -0.16 -2.91 -0.93 -2.99 -0.8 -2.32 -1.43 -0.82 -3.02 0 -0.04 -2.37 -1.46 
+-0.11 0.02 -3.99 0.43 -3.54 -0.08 -3.41 -0.17 -0.09 0.02 -5.23 2.14 -0.74 0.89 p f*
+0 155 255 rG
+2574.89 3081.92 -1.67 1.46 0.21 3.32 1.65 -2.93 -0.2 -1.84 f*
+255 203 0 rG
+2576.8 3340.91 -1.39 -0.89 3.56 -1.11 0.41 -0.21 0.43 0.5 0.22 2.34 -3.23 -0.63 f*
+0 255 r6
+2574.79 3419.4 2.06 1.61 6.05 -2.08 2.76 1.93 1.67 0.15 4.92 -1.84 -6.95 -1.08 -3.69 -0.07 
+-6.83 1.39 f*
+255 203 0 rG
+2579.67 3394.36 0.37 -0.13 1.34 -0.43 3.28 -1.08 0.33 -0.18 3.97 -1.95 3.95 -2.3 3.84 -2.35 
+0.89 -0.57 2.91 -1.82 3.36 -2.56 4.93 -1.95 4.91 -2.04 3.34 -2.62 3.75 -2.52 3.95 -2.5 
+3.02 -2.75 2.02 -2.97 0 -1.09 -5.46 -1.21 -5.21 -1.48 -5.36 -1.39 -4.34 -2.28 -3.84 -1.67 
+1.39 -2.21 0.2 -0.26 0.43 -0.29 2.84 -1.78 1.82 -2.39 0.02 -0.04 0.39 -2.63 2.25 -2.28 
+2.26 0.04 4.92 -1.61 2.74 -2.34 2.02 -2.45 -2.39 -1.91 -2.45 -1.17 -2.37 -0.98 -5.19 -1.71 
+-5.9 -0.87 -2.87 -0.7 -1.47 -2.25 0.02 -0.16 0.3 -2.14 2.3 -1.41 1.15 -0.46 5.84 -1.82 
+1.5 -0.93 1.97 -1.17 2.71 -1.89 0.44 -0.3 4.12 -1.95 0.48 -0.35 2.73 -2.37 5.18 -1.97 
+2.3 -0.78 0.7 -2.43 0.93 -2.45 -1.5 -0.87 -2.45 -1.09 -0.07 -2.28 0.48 -2.34 1.17 -2.46 
+1.15 -2.49 0.04 -2.3 -0.71 -2.17 0.21 -2.34 3.91 -2.45 1.26 -1.02 1.95 -2.88 2.97 -3.23 
+0.21 -0.84 0.85 -1.93 -1.02 -0.93 -0.52 -1.08 -1.97 -1.87 -4.45 -1.02 1.13 -2.8 2.71 -3.45 
+-5.1 -0.02 -1.93 0.11 -4.64 0.39 -3.3 0.11 -3.49 -0.3 -1.8 -0.07 -2.91 -1.17 -2.21 -1.39 
+-1.39 -1.65 -0.02 -0.02 -1.54 -1.61 -2.17 -1.3 -1.95 -1.37 -2.19 -1.26 -2.39 -1.11 -0.02 -0.02 
+-3.21 -0.65 -3.73 1.29 -2.76 -0.3 -1.25 -1.5 1.41 -2.21 1.65 -1.54 -1.3 -1.57 -2.64 -0.78 
+-0.59 -0.02 -1.06 -1.31 -1.29 -1.54 5.26 -3.21 5.2 -3.28 -0.78 -0.87 0.13 -1.3 -1.11 0.26 
+-1.29 -1.32 -5.05 3.4 -1.5 -1.52 -1.57 -1.5 -1.58 -1.47 -1.63 -1.45 3.85 -2.93 0.04 2.73 
+3.11 -1.43 5.27 -3.19 2.8 -0.87 4.19 -0.16 0.57 -0.06 4.56 -0.7 2.28 1.37 0.58 2.52 
+-1.02 3.49 -0.26 0.22 0.46 2.47 1.5 -0.7 6.5 -1.78 0.52 -0.09 -0.26 0.43 -3.95 4.93 
+-0.02 0.07 -1 3.17 2.11 1.43 1.91 -0.28 2.02 -1.89 2.52 -2.64 3.58 -0.85 3.11 1.05 
+1.56 0.82 1.41 0.35 2.71 1.34 4.28 -0.02 0.87 0.11 0.48 2.43 0 0.2 0.09 -0.02 
+3.17 1.2 1.45 2.13 1.43 2.15 1.78 1.97 2.47 1.67 0.76 0.34 1.54 1.48 3.11 1.48 
+3.09 0.13 2.4 0.43 0.52 2.67 1.28 2.36 0.67 2.61 0.72 2.59 0.8 2.56 -1.96 3.47 
+-0.26 2.84 1.98 2.17 0.15 2.75 -0.63 2.93 -0.24 2.82 -3.11 2.43 -4.05 2 0 2.65 
+-0.43 2.73 2.8 2.11 0.02 0.02 0.93 2.54 -1.2 2.91 -1.98 2.45 -0.41 0.63 -3.21 3.08 
+-4.99 3 -0.46 0.24 -6.29 3.08 -1.67 2.64 -1.37 2.61 -1 2.61 -0.78 2.6 3.34 2.06 
+6.75 -0.85 2.56 1.39 -4.32 1.41 -6.19 -0.11 -2.52 1.39 -0.09 2.43 0 0.29 -0.65 0.63 
+-1.76 2 -2.21 2.61 -1.56 2.46 -0.02 0.19 -0.32 2.8 -2 2.62 -1.04 2.8 -2.06 2.65 
+0.65 1.04 1.61 2.41 -0.13 2.49 5.68 0.96 7.4 -0.71 5.67 -0.02 1.45 -0.56 6.66 -0.26 
+2.32 -1.57 -0.17 -0.67 -2.56 -2.86 4.02 -3.06 4.38 -3.11 -3.08 -1.21 -0.3 -2.08 1.11 -3.13 
+2.06 -3.12 2.25 -3.13 2.28 -3.17 2.11 -3.17 4.12 -3.38 0.96 -0.5 6.4 -3.36 -0.93 -2.97 
+-1.71 -1.22 -0.58 -1.54 0.13 -3.04 -3.38 -0.52 -1.43 -1.74 2.54 -3.34 1 -0.65 6.75 -2.26 
+4.62 -2.47 P
+2.65 -1.73 2.56 -2.58 1.54 -3.54 4.04 -3 6.54 -2.78 5.92 0.52 1.08 0.3 -1.67 2.63 
+-1.17 1.61 -3.69 4.34 -3.54 4.19 -1.15 3.56 2.61 2.73 -2.32 3.82 -4.45 4.14 -0.13 0.06 
+-7.81 4.11 -1.8 0.58 -3.16 3.59 -3.85 3.6 -1.65 3.32 -0.15 3.23 1.17 2.15 0.15 1.04 
+-1.41 3.38 -2 3.41 2.2 2.02 0.97 1.32 -2.06 3.49 -1.32 3.52 -2.3 3.54 -8.03 2.73 
+-6.29 0.02 -3.09 3.23 -2.73 3.28 -0.89 -0.11 -3.54 3.15 -5.6 -0.89 -3.58 3 -2.15 1.74 
+-4.04 0.65 -2.86 -0.65 -2.17 1.63 -3.19 0.72 -3.58 -0.98 -3.69 2.63 -3.82 2.54 -3.93 2.5 
+-4.02 2.43 -4.12 2.39 -4.21 2.3 -4.29 2.24 4.32 2.14 -4.54 2.26 -4.66 2.19 -1.37 0.63 
+-6.32 -0.37 -0.93 -0.57 -2.52 -1.63 p f*
+2586.07 3336.46 -4.69 0.44 0.2 -1.63 2.64 -1.48 0.37 -0.02 0.04 0.13 1.43 2.56 f*
+2585.25 3339.95 -2.52 -2.16 4.66 0.19 1.32 1.43 -3.47 0.54 f*
+2587.26 3357.21 -2.28 0.48 0.26 -0.37 0.54 -0.67 0.65 0.02 0.82 0.55 f*
+0 255 r6
+2583.12 3396.55 2.95 1.84 3.37 -1.48 -6.32 -0.37 f*
+110 210 9 rG
+2585.66 3420.86 0.71 0.5 0.96 -0.35 -1.67 -0.15 f*
+255 G
+2596.59 3077.75 -4.75 -1.17 1.74 -5.12 1.69 -5.14 1.67 -5.16 1.65 -5.19 1.61 -5.18 5.1 1.21 
+5.08 1.26 -1.75 5.17 4.96 1.3 4.95 1.37 4.9 1.41 4.88 1.48 2.04 -5.16 4.91 1.52 
+4.88 1.59 4.84 1.63 0.93 0.3 2.36 0.85 1.5 0.52 -0.68 1.5 -1.07 2.37 -0.58 1.28 
+-2.34 5.1 -4.67 -1.67 -2.32 5.1 -4.62 -1.61 -2.3 5.08 -4.58 -1.54 -4.62 -1.5 -4.66 -1.43 
+-4.69 -1.39 -2.02 5.1 -4.67 -1.33 -1.97 5.08 -4.6 -1.26 -4.64 -1.24 1.84 -5.1 f*
+255 203 0 rG
+2597.92 3341.41 -3.5 -2.93 6.55 -0.11 6.14 0.3 0.41 -0.02 1.22 0.33 2.04 2.93 -2.93 2.04 
+-6.62 1.13 -1.98 2.13 -1.63 0.87 0.59 -1.15 2.67 -1.93 -2.71 -3.2 -0.26 -0.39 f*
+110 210 9 rG
+2595.59 3420.96 0.61 0.37 2.07 -0.8 -2.67 0.43 f*
+0 255 r6
+2599.16 3233.03 0.26 0.29 0.71 0.76 0.13 -1.3 -1.11 0.26 f*
+110 210 9 rG
+2602.04 3407.45 -0.2 -0.11 0.13 0.13 2.71 2.73 3.86 2.15 1.75 -0.79 -4.16 -2.04 -4.1 -2.08 f*
+2604.58 3420.01 1.78 0.93 6.27 -2.72 -3.14 -1.52 -4.91 3.3 f*
+255 35 0 rG
+2619.38 3272.46 -2.93 2.54 1.52 1.67 1.57 1.69 0.52 0.76 1.09 -1.15 4.27 -3.28 0.52 -2.13 
+0 -0.23 -0.02 0 -6.53 0.13 f*
+0 255 r6
+2627.34 3373.66 1.65 0.43 1.54 -1.15 -3.19 0.72 f*
+189 0 54 rG
+2630.79 2439 -1.45 -1.37 3.82 0.52 0.26 1.79 -2.63 -0.93 f*
+0 155 255 rG
+2634.79 3047.18 -1.84 0.86 0.63 2.37 4.08 3.93 2.78 1.8 1.69 0.95 4.1 3.54 -0.3 3.21 
+2.36 0.85 1.15 -5.54 4.3 -3 1.43 -0.95 3.21 -4.84 3.88 -0.82 4.52 2.78 1.8 1.8 
+-1.74 5.41 -4.84 4.21 -0.96 1.2 -2.43 3.55 -3.97 4.54 -2.13 1.02 -1.69 0.83 -0.41 -3.45 
+-1.3 -4.71 -1.07 2.37 0.46 1.64 0.24 6.08 0.22 1.95 5.08 0.72 4.03 2.78 5.19 0.52 
+0.21 -0.04 -0.04 -0.28 -3.23 -4.38 -1.5 -3.45 3.59 -4.69 3.69 -4.62 0.74 -0.46 6.14 -2.93 
+1.8 -1.85 4.32 -1.82 2.78 -1.04 3.41 -2.61 1.82 -5.45 -0.48 -2.06 -5.14 -1.54 -1.48 0.71 
+-5.1 1.02 -4.56 1.39 -1.98 0.3 -5.25 -1.19 -5.99 0.63 -0.59 0.08 -2.45 0.35 -4.21 4.49 
+-0.8 0.8 -0.73 -1.32 -2.87 -3.73 -4.58 -2.8 -5.99 0.89 f*
+255 0 r6
+2643.71 2298.18 -10.68 -2.02 11.72 3.38 11.7 3.36 11.72 3.39 12.61 3.3 -12.35 -3.8 -12.37 -3.82 
+-12.35 -3.79 f*
+0 255 r6
+2635.57 3371.96 2.5 0.54 1.54 -1.19 -4.04 0.65 f*
+255 G
+2650.57 2978.06 -5.88 -1.43 1.32 -5.36 1.31 -5.41 5.99 1.43 1.32 -5.4 1.28 -5.41 6.06 1.46 
+1.28 -5.43 1.26 -5.42 1.21 -5.45 6.17 1.5 1.19 -5.45 1.2 -5.47 6.2 1.54 1.18 -5.49 
+1.13 -5.49 1.09 -5.5 6.29 1.57 1.09 -5.54 6.29 1.61 1.08 -5.54 6.3 1.65 6.27 1.7 
+-1.15 5.55 -1.2 5.56 -1.24 5.53 -6.16 -1.73 -1.24 5.54 -1.3 5.51 -6.1 -1.7 -1.3 5.49 
+-1.35 5.47 -6.05 -1.65 -1.34 5.46 -6.05 -1.63 -1.33 5.45 -1.39 5.44 -1.43 5.43 -5.95 -1.58 
+-1.39 5.42 -1.45 5.41 -5.88 -1.54 -1.46 5.38 -5.86 -1.49 f*
+2 239 204 rG
+2649.43 3059.16 -1.15 5.54 1.5 0.52 -0.68 1.5 1.3 4.71 0.41 3.45 1.69 -0.83 0 -2.73 
+-0.7 -5.36 1.65 -5.38 5.01 -4.19 2.7 -5.01 0.32 -0.07 0.5 0.37 -1.65 5.4 -1.87 5.34 
+-2.59 5.06 -3.38 3.84 0 2.73 2.13 -1.02 3.97 -4.54 2.43 -3.55 0.96 -1.2 4.84 -4.21 
+1.74 -5.41 -1.8 -1.8 -4.52 -2.78 -3.88 0.82 -3.21 4.84 -1.43 0.95 -4.3 3 f*
+255 G
+2653.52 3109.46 -4.06 -1.87 2.86 -4.93 2.8 -4.97 2.78 -4.99 2.73 -5.02 4.36 1.91 2.75 -5.01 
+4.41 1.97 2.78 -5.05 2.73 -5.05 4.49 2.06 2.76 -5.1 -4.56 -2.06 2.64 -5.14 2.61 -5.14 
+2.54 -5.18 4.78 2.11 4.7 2.14 2.63 -5.18 4.73 2.21 4.67 2.28 -2.76 5.17 -2.82 5.14 
+-2.86 5.12 -2.93 5.1 -2.97 5.05 -3.02 5.04 -3.06 4.99 -4.18 -2.19 -3.06 4.97 -4.17 -2.12 
+-4.23 -2.09 -2.95 4.97 4.16 2.06 4.1 2.13 4.04 2.17 3.99 2.23 -3.29 4.88 -3.35 4.86 
+-3.38 4.79 -3.78 -2.17 -3.36 4.8 -3.73 -2.11 -3.34 4.79 -3.73 -2.04 -3.77 -1.97 -3.8 -1.93 
+3.11 -4.84 -3.95 -1.91 2.97 -4.88 f*
+7 193 59 rG
+2653.47 3060.57 -1.65 5.38 0.7 5.36 3.38 -3.84 2.59 -5.06 1.87 -5.34 1.65 -5.4 -0.5 -0.37 
+-0.32 0.07 -2.7 5.01 -5.01 4.19 f*
+110 210 9 rG
+2657.23 3157.95 -0.24 1.82 1.69 -0.83 0.44 -1.61 -1.89 0.61 f*
+2672.96 3370.72 -1.24 -0.84 3.67 -3.6 2.52 -0.18 2.54 0.45 -4.45 3.65 -3.04 0.52 f*
+0 255 r6
+2677.13 3378.08 -0.46 0.24 0.02 0.11 0.13 -0.09 0.31 -0.26 f*
+7 193 59 rG
+2683.98 3387.5 0.35 0.04 5.66 0.39 5.71 0.29 5.14 -4.34 -5.79 -0.16 -4.77 -0.2 -3.86 2.34 
+-2.43 1.63 f*
+2702.06 3375.17 2.52 -0.02 2.06 -1.97 -4.58 1.99 f*
+2 239 204 rG
+2707.71 3187.02 -2.46 -2.69 2.96 -5.73 3.71 0.07 4.79 0.83 0.39 -0.02 6.58 -1.93 1.43 -0.24 
+3.86 1.75 1.25 4 -0.69 2.56 -4.66 4.6 -4.49 0.76 -3.69 -1.78 -0.28 -0.05 -5.49 -0.04 
+-3.21 -2.08 f*
+7 193 59 rG
+2711.71 3379.38 -5.03 4.54 5.91 -0.09 -1.46 1.3 3.1 -1.34 0.57 -1.96 -1.73 -2.49 -1.35 0.04 f*
+0 255 r6
+2707.46 3366.52 -0.48 0.17 0.07 0.26 0.71 -0.3 -0.3 -0.13 f*
+2 239 204 rG
+2711.13 3385.13 -3.88 3.32 5.83 -0.05 0.05 -0.02 9.27 -4.95 6.84 -5.04 -5.54 0.41 -6.01 0.35 
+-4.62 0.17 1.73 2.49 -0.57 1.96 -3.1 1.34 f*
+0 155 255 rG
+2713.11 3388.41 -5.62 4.69 4.95 0 3.91 -2.56 2.67 -2.3 1.89 -0.09 7.18 -2.99 2.45 -2.26 
+5.34 -5.12 3.04 -0.33 7.66 -5.57 -5.6 0.75 -6.18 0.72 -5.04 5.01 -0.52 0.05 -6.84 5.04 
+-9.27 4.95 -0.05 0.02 0.02 0 f*
+0 255 r6
+2713.63 3318.17 -2.86 2.78 1.04 0.8 5.25 0.98 3.65 -3.61 -0.92 -1.73 -6.16 0.79 f*
+2712.61 3243.96 -0.07 0.72 0.26 0.28 1.26 2.6 0.69 3.26 3.32 2.08 2.28 -0.71 5.23 0.95 
+1.29 1.09 3.49 0.45 2.52 0.02 0 -4.19 -1.34 -0.16 -1.35 -3.14 1.87 -3.3 3.58 0.59 
+-1.54 4.64 -1.21 1.37 0 4.19 0.3 0 3.55 -3 2.3 -2.61 5.25 -5.05 0.43 -0.85 
+5.73 -4.62 5.84 -3.47 2.28 -3.05 3.02 -3.34 5.36 -5.32 0.76 -1.34 -1.09 -0.16 -5.2 -0.39 
+-1.41 0.15 -5.95 2.61 -5.99 2.34 -5.9 2.73 -4.3 1.98 -1.73 0.39 -0.13 -0.07 -3.19 -1.52 
+-2.38 -2.67 -1.22 -3.36 3.23 -4.52 2.56 -1.86 0 -9.03 -0.98 -0.43 -1.24 -3.58 0.11 -0.46 
+1.24 -0.52 3.96 1.76 -3.1 3.23 0 9.03 2.86 -2.09 5.43 -3.93 5.56 -3.51 5.88 -2.65 
+2.21 -4.19 -3.73 -2.06 -1.28 -0.26 -5 0.09 -2.9 -1.56 -1.11 -0.22 -6.01 -0.24 -0.52 -0.18 
+-6.05 2.36 -1.09 3.39 -0.95 5.1 0.02 1.87 -0.57 2.82 -1.39 5.14 -0.76 2.17 -1.43 3.27 
+2.1 2.8 -0.06 4.04 -2.54 4.95 -2.73 1.84 -2.98 1.82 -5.36 5.46 f*
+255 0 r6
+2712.43 3393.1 0.87 -0.02 3.04 -2.54 -3.91 2.56 f*
+7 193 59 rG
+2711.63 3370.71 3.47 -0.18 2.11 -2.14 -5.58 2.32 f*
+255 0 r6
+2722.07 2690.39 -6.46 -0.79 0.95 5.45 0.88 5.47 0.82 5.49 6.54 0.87 0.78 5.53 0.73 5.54 
+0.67 5.55 0.61 5.55 0.56 5.55 0.48 5.58 6.6 1.09 0.46 5.62 6.57 1.15 0.42 5.64 
+6.53 1.22 0.35 5.68 6.54 1.26 -0.37 -5.73 -0.41 -5.71 -0.5 -5.7 -0.54 -5.71 -0.61 -5.69 
+-0.67 -5.68 -6.47 -1.07 -0.71 -5.66 -0.78 -5.62 -0.85 -5.62 -6.45 -0.96 -0.89 -5.58 -0.96 -5.55 
+-1.02 -5.55 -1.06 -5.54 -6.36 -0.8 -6.41 -0.76 1.04 5.47 f*
+7 193 59 rG
+2720.21 3259.16 -3.06 -2.26 3.38 -3.08 2.52 0.47 -1.08 4.13 -1.04 1.17 -0.71 -0.44 f*
+255 0 r6
+2720.9 3388.15 4.08 -0.19 3.11 -2.8 -7.18 2.99 f*
+255 203 0 rG
+2732.05 3243.92 -1.87 3.3 1.35 3.14 1.34 0.16 1.21 -1.37 1.54 -4.64 -3.58 -0.59 f*
+2732.9 3204.21 -0.11 0.46 1.24 3.58 0.98 0.43 3.1 -3.23 -3.96 -1.76 -1.24 0.52 f*
+7 193 59 rG
+2740.61 3223.66 -4.61 0.5 0.61 -4.58 1.95 -2.09 5.28 -4.34 5.9 -2.66 1.56 -0.5 4.88 -0.65 
+2.63 0.15 -1.29 3.71 -5.21 4.82 -4.84 1.95 0 -2.97 4.21 -0.98 2.6 -3.47 -3.69 0.3 
+-3.12 4.15 0 2.97 -1.15 0.46 -5.73 3.23 f*
+2 239 204 rG
+2733.81 3360.3 2.23 -0.28 1.8 -2.15 -4.03 2.43 f*
+255 0 r6
+2738.91 3377.45 3.1 -0.37 6.19 -0.84 -5.45 5.4 6.17 -0.82 5.53 -5.55 6.27 -1.11 6.31 -1.26 
+6.38 -1.41 5.4 -6.04 6.45 -1.71 5.14 -6.21 6.51 -2.02 4.88 -6.36 4.58 -6.38 6.55 -2.45 
+4.32 -6.49 4.04 -6.49 6.55 -2.87 3.73 -6.59 6.53 -3.15 3.43 -6.66 3.17 -6.61 -6.49 3.38 
+-6.46 3.23 -3.23 6.39 -6.49 2.97 -3.52 6.31 -6.51 2.67 -3.78 6.21 -4.05 6.2 -6.51 2.28 
+-4.3 6.1 -4.58 6.1 -6.46 1.82 -4.82 5.95 -6.4 1.56 -5.05 5.77 -6.34 1.26 -6.29 1.13 
+-6.23 0.98 -0.61 0.11 -7.66 5.57 f*
+7 193 59 rG
+2745.21 3134.14 -0.79 0.36 0.15 0.37 0.57 0.33 3.86 1.3 3.11 3.13 -0.17 2.54 0.7 3.28 
+1.47 4.66 -0.82 3.23 -3.06 6.36 -0.09 0.29 1.59 4.21 1.73 -0.3 1.84 -1.2 0 -1.87 
+-2.49 -3.43 1.39 -2.95 1.54 -5.99 -1.3 -3.54 5.7 -1.06 2.15 4.06 -0.24 6.12 -0.12 0.39 
+-4 4.75 -2.63 1.65 0 1.87 3.54 -2.28 5.68 -3.13 3.56 -5.9 -0.65 -2.52 -2.15 -4.06 
+0.26 -6.53 0.24 -0.48 3 -5.43 -0.46 -4.19 -1.56 -5.23 0.09 -1.74 2.97 -1.93 2.5 -1.54 
+5.12 -0.39 3.14 -0.24 3.1 0.02 4.56 -1.2 2.43 0.11 3.45 3.23 2.8 4.01 3.25 3.39 
+0.72 4.2 -0.09 2.13 -0.24 7.1 -0.16 1.04 0.16 5.55 1.28 5.12 0.29 3.95 -0.41 2.47 
+2.11 4.11 2.23 0.54 5.6 -3.19 1.43 -0.07 5.13 1.28 1.24 -0.04 3.21 2 2.37 3.95 
+1.61 4.62 0 6.01 1.67 4.45 0.3 2.47 0.15 2.96 0.72 0 0.84 -1.35 2.75 -3.54 
+0 -4.84 -2.71 -1.82 -1.08 -0.71 -1.13 -5.04 -1.84 -4.43 -2.32 -4.01 -2.73 -3.64 -3.54 -0.52 
+-1.96 -0.41 -3.93 0.19 -1.48 0.06 -2.23 0.96 -3.95 -2.36 -1.22 -5.14 -1.41 -5.03 -0.06 -3 
+0.56 -4.17 0.16 -5.93 0.08 -1.24 -1.28 -5.62 -3.32 -3.37 -2.87 -3.93 -3.38 -3.34 -4.12 -0.18 
+-2.34 0.63 -5.91 -0.02 -0.2 0.02 -6.42 0.48 -2.08 -0.24 -4.88 4.05 -0.24 4.88 1.98 4.71 
+0.15 1.37 -2.89 1.71 -3.08 1.2 -0.16 0.09 -4.96 3.69 -1.56 -0.76 -1.78 -2.69 -0.54 -1.36 
+2.9 -5.14 4.14 -4.73 -0.91 -4.41 -2.88 -3.82 -1.15 -4.69 4.36 -4.45 4.77 -4.14 3.84 -4.9 
+2.47 -0.76 5.29 1.02 2.21 0.05 3.39 0.57 5.58 -0.96 1.43 -0.35 5.52 -1.82 3.13 -1.71 
+2.97 -1.24 4.6 -0.8 3.7 0.02 2.67 -0.36 4.28 -1.7 3.12 -0.11 4.77 1.91 2.54 -0.11 
+3.25 0.63 5.6 -0.37 0.89 -0.15 4.34 2.54 2.67 4.84 1.96 4.86 -5.21 -0.44 -4.47 -1.5 
+-0.7 0.15 -5.99 1.82 -3.84 5.45 -0.09 5.6 2.73 4.27 2.56 4.45 1.84 5.21 1.54 3.46 
+-0.95 3.04 0.17 6.82 0.11 1.65 -2.97 8.07 0 0.07 2.19 4.32 1.06 5.41 0.68 5.64 
+0.97 5.27 -0.41 6.45 0 4.84 1.11 -1.39 3.02 -7.21 -1.34 -4.91 -0.59 -3.86 3.58 1 
+0.65 5.62 0.78 5.43 4.5 1.95 1.84 -0.11 5.86 -2.15 1.87 -0.48 0.8 -0.61 0 -6.49 
+-3.17 -3.28 -3.34 -3.13 -0.21 -6.33 0.5 -7.23 -0.07 -1.04 -1.3 -4.37 1.34 -8.55 0.3 -0.8 
+0.76 -0.41 4.21 -3.89 3.95 1.67 3.47 3.28 2.25 -0.02 3.15 1 2.28 4.62 1.45 5.46 
+-1.06 2.54 -4.71 3.8 -0.54 0.11 -0.65 1.15 -3.5 5.89 -2.91 7.36 -0.67 1.89 -0.43 0.09 
+-1.11 0.2 0 6.49 2.88 -2.11 1.26 -2.04 2.54 -7.12 0.26 -2.17 3.08 -7.54 5.02 -4.6 
+2.58 -6.23 -2.06 -4.82 -2.98 -3.82 -4.49 -1.43 -0.57 0.02 -3.79 -2.88 -3.65 -3.09 -2.71 -0.67 
+-3.79 1.93 -1.41 0.72 -0.79 -0.18 -6.21 2.08 -0.82 -0.11 -2.41 -4.49 -2.59 -4.34 -0.19 -0.61 
+-0.96 -5.58 -1.24 -6.23 0.11 -2.11 1.82 -0.37 4.38 -2.06 2.89 0.61 4.97 1.59 2.73 1.45 
+-1.3 -3.34 -1.72 -5.95 -3.28 -3.95 -2.93 -4.5 -4.1 -2.88 -2.52 0.46 -4.11 0.26 -5.21 -0.98 
+-0.26 0.02 P
+-5.21 -1.33 -4.49 0.18 -2.43 0.95 -4.94 0.69 -1.65 -0.02 -6.34 1.13 -0.8 0.34 -5.08 2.82 
+-3.97 1.32 -3.11 0.72 -3.99 0.7 -5.34 -1 -0.74 -0.2 -4.34 -1.11 -4.88 1.52 -3.67 5.01 
+-5.04 3.88 -0.04 0 -5.1 3.86 0.57 2.15 1.87 5.21 2.76 3.93 0.43 1.99 -4.1 4.77 
+-4.12 4.73 -4.64 3.13 p f*
+2 239 204 rG
+2751.7 3216.02 -4.21 0.98 3.12 -4.15 3.69 -0.3 -2.6 3.47 f*
+2751.73 3254.58 -2.69 -0.87 1.54 -4.79 0.89 -0.61 5.81 -5.25 5.64 -4.86 0.11 -0.09 0.09 -0.02 
+2.26 3.06 -1.26 4.97 -0.37 0.5 -5.93 6.45 -6.1 1.52 f*
+255 G
+2764.71 3500.33 -13.39 6.81 11.74 -6.06 11.76 -6.05 11.74 -6.05 7.81 -4.04 -2.86 1.72 -13.41 6.83 
+-13.39 6.84 f*
+0 155 255 rG
+2755.08 3172.25 -3.34 -2.5 2.76 -4.43 5.23 -3.69 1.73 -0.85 2.61 3.34 0.24 4.1 -1.22 2.41 
+-0.12 5.62 5.79 -0.83 1.04 0.37 6.38 0 -3.17 7.44 -5.6 3.28 -3.82 -0.22 -2.54 -3.12 
+0.55 -5.75 -3.11 -2.72 -0.3 -0.21 0 -3.86 1.32 -2.35 -2.9 0.02 0.73 1.93 0.85 0.39 
+0 3.86 -3.11 -2.25 f*
+110 210 9 rG
+2755.29 3127.56 -2.9 5.14 0.54 1.36 1.78 2.69 1.56 0.76 4.96 -3.69 0 -4.43 1.46 -3.41 
+1 0.54 0.48 0.96 -2.93 1.91 0 4.43 0.16 -0.09 3.08 -1.2 2.89 -1.71 -0.15 -1.37 
+-1.98 -4.71 0.24 -4.88 4.88 -4.05 2.08 0.24 6.42 -0.48 0.2 -0.02 5.91 0.02 2.34 -0.63 
+4.13 0.18 3.38 3.34 2.87 3.93 3.32 3.37 1.28 5.62 -0.08 1.24 -0.16 5.93 -0.56 4.17 
+0.06 3 1.41 5.03 1.22 5.14 3.95 2.36 2.23 -0.96 1.48 -0.06 0 -2.65 -3.93 -1.67 
+-0.59 -0.2 -1.88 -1.78 -1.39 -1.3 -1.52 -4.95 0 -0.41 0.98 -7.34 0.09 -2.43 0.39 -5.03 
+-2.15 -4.69 -3.36 -3.3 -2.96 -3.86 -3.34 -3.43 -5.8 -0.22 -0.15 0.02 -5.41 -0.83 -3.37 0.79 
+-3.53 0.26 -5.34 -0.85 -0.59 0.21 -3.97 4.88 -4.6 -1.12 -3 -3.71 -0.63 -2.61 4.34 -4.47 
+4.47 -4.38 4.04 -4.78 0.09 -0.04 5.49 0.71 4.84 0.09 1.02 0.17 6.73 -0.91 0.67 -0.11 
+6.6 -2.48 1.17 -0.65 5.09 -2.11 2.87 -0.5 5.75 0.04 0.39 -0.07 6.12 -2.38 1.74 -0.07 
+4.38 2.5 4.77 -0.2 1.3 0.26 3.17 4.14 4.41 -4.04 3.36 1.78 2.41 5.17 0.05 0.11 
+-0.11 -0.02 -2.21 -0.32 -3.32 -0.5 -4.73 -1.67 -0.28 0.09 -6.23 2.19 -3.09 2.11 -2.8 0.89 
+-0.15 -0.02 -3.69 -0.22 -5.08 -0.08 -0.29 7.07 0.32 2.54 0.69 3.95 2.48 4.51 2.78 4.13 
+0.37 5.9 -0.17 1.09 0.98 5.93 3.32 3.23 3.87 2.67 -0.59 7.32 0 4.34 -2.87 -1.41 
+-4.16 1.84 -4.27 0.22 0 2.65 3.93 -0.19 1.96 0.41 3.54 0.52 2.73 3.64 2.32 4.01 
+1.84 4.43 1.13 5.04 1.08 0.71 0 -5.78 -2.78 -5.64 -2.25 -4.09 -1.04 -4.1 3.23 1.91 
+1.24 5.14 1.22 5.08 0.39 1.69 0 5.78 2.71 1.82 0.41 -6.45 -0.97 -5.27 -0.68 -5.64 
+-1.06 -5.41 -2.19 -4.32 0 -0.07 2.97 -8.07 -0.11 -1.65 -0.17 -6.82 0.95 -3.04 -1.54 -3.46 
+-1.84 -5.21 -2.56 -4.45 -2.73 -4.27 0.09 -5.6 3.84 -5.45 5.99 -1.82 0.7 -0.15 4.47 1.5 
+5.21 0.44 -1.96 -4.86 -2.67 -4.84 -4.34 -2.54 -0.89 0.15 -5.6 0.37 -3.25 -0.62 -2.54 0.11 
+-4.77 -1.91 -3.12 0.11 -4.28 1.7 -2.67 0.36 -3.7 -0.02 -4.6 0.8 -2.97 1.24 -3.12 1.71 
+-5.52 1.82 -1.43 0.35 -5.58 0.96 -3.39 -0.57 -2.21 -0.05 -5.29 -1.02 -2.47 0.76 -3.84 4.9 
+-4.77 4.14 -4.36 4.45 1.15 4.69 2.88 3.82 0.91 4.41 -4.14 4.73 f*
+2754.19 3154.45 -1.39 2.95 2.49 3.43 2.63 -1.65 4 -4.75 0.13 -0.39 0.24 -6.12 -2.15 -4.06 
+-5.7 1.06 1.3 3.54 -1.54 5.99 f*
+2 239 204 rG
+2758.68 3290.13 -4.51 0.97 5.38 -4.23 -0.22 2.38 -0.65 0.88 f*
+0 255 r6
+2760.13 3106.55 -4.34 4.47 0.63 2.61 3 3.71 4.6 1.13 3.97 -4.88 0.59 -0.21 5.34 0.85 
+3.53 -0.26 3.37 -0.79 5.41 0.83 0.15 -0.02 5.8 0.22 3.34 3.43 2.96 3.86 3.36 3.3 
+2.15 4.69 -0.39 5.03 -0.09 2.43 -0.98 7.34 0 0.41 1.52 4.95 1.39 1.3 0 -2.15 
+-0.33 -0.24 -0.13 -0.48 2.49 -2.11 0 -17.01 -1.82 -1.41 -3.02 -3.71 -2.24 -2.15 -1.18 -1.11 
+-3.02 -3.78 -3.27 -3.53 -1.79 -0.65 -2.93 -1.09 -4.97 -0.74 -0.48 -0.06 -5.83 1.34 -1.13 0.26 
+-0.41 0.04 -2.52 -2.82 -0.61 -0.87 -0.37 -0.06 -6.49 2.58 -3.3 5.49 -1.82 -0.43 -3.11 -3.61 
+-0.11 -0.49 2.54 -2.61 3.04 -0.83 4.39 -4.47 3.63 -5.14 2.56 0.32 5.23 1.11 2.89 -0.33 
+3.47 -0.11 4.92 -0.68 2.93 -1.71 3.21 -1.15 5.38 -3.62 1.13 -0.2 4.03 2.84 -0.15 2.39 
+-4.38 4.6 -0.39 7.62 0.47 1.89 1.67 3.1 1.65 5.5 1.93 5.04 0.24 3.23 0 17.01 
+0.68 -0.56 -2.71 3.39 0 2.15 1.88 1.78 0.59 0.2 3.93 1.67 4.27 -0.22 4.16 -1.84 
+2.87 1.41 0 -4.34 0.59 -7.32 -3.87 -2.67 -3.32 -3.23 -0.98 -5.93 0.17 -1.09 -0.37 -5.9 
+-2.78 -4.13 -2.48 -4.51 -0.69 -3.95 -0.32 -2.54 0.29 -7.07 5.08 0.08 3.69 0.22 0 -5.18 
+-4.06 -2.87 2.17 -3.54 0.37 -0.02 3.93 3.08 0.91 2.5 -3.32 0.85 0 5.18 0.15 0.02 
+2.8 -0.89 3.09 -2.11 6.23 -2.19 0.28 -0.09 4.73 1.67 3.32 0.5 0 -2.56 -1.67 -0.21 
+-0.04 -1.85 0.98 0.54 0.74 1.52 0 2.56 2.21 0.32 0.11 0.02 -0.05 -0.11 -2.41 -5.17 
+-3.36 -1.78 -4.41 4.04 -3.17 -4.14 -1.3 -0.26 -4.77 0.2 -4.38 -2.5 -1.74 0.07 -6.12 2.38 
+-0.39 0.07 -5.75 -0.04 -2.87 0.5 -5.09 2.11 -1.17 0.65 -6.6 2.48 -0.67 0.11 -6.73 0.91 
+-1.02 -0.17 -4.84 -0.09 -5.49 -0.71 -0.09 0.04 -4.04 4.78 -4.47 4.38 f*
+7 193 59 rG
+2756.66 3080.04 -0.62 -0.15 0.43 0.46 4.06 2.91 0.43 0.2 -0.26 -0.44 -4.04 -2.97 f*
+255 0 r6
+2757.33 3170.25 -0.73 -1.93 2.9 -0.02 -1.32 2.35 -0.85 -0.39 f*
+255 203 0 rG
+2759.61 3109.55 -2.54 2.61 0.11 0.49 3.11 3.61 1.82 0.43 3.3 -5.49 6.49 -2.58 0.37 0.06 
+0.61 0.87 2.52 2.82 0.41 -0.04 1.13 -0.26 0 -7.36 -1.24 -0.52 -0.93 -1.45 1.39 0.85 
+0.79 1.13 0 7.36 5.83 -1.34 0.48 0.06 4.97 0.74 2.93 1.09 0 -2.84 -0.91 -0.83 
+-4 -2.66 -0.75 -2.15 2.3 0.13 6.27 -0.59 0.39 -0.2 -0.09 0.52 -3.21 5.77 0 2.84 
+1.79 0.65 3.27 3.53 3.02 3.78 1.18 1.11 0 -1.65 -0.41 -0.37 -2.3 -2.78 2.56 2.47 
+0.15 0.67 0 1.65 2.24 2.15 3.02 3.71 1.82 1.41 -0.24 -3.23 -1.93 -5.04 -1.65 -5.5 
+-1.67 -3.1 -0.47 -1.89 0.39 -7.62 4.38 -4.6 0.15 -2.39 -4.03 -2.84 -1.13 0.2 -5.38 3.63 
+-3.21 1.15 -2.93 1.71 -4.92 0.68 -3.47 0.11 -2.89 0.33 -5.23 -1.11 -2.56 -0.32 -3.62 5.14 
+-4.39 4.47 -3.04 0.83 f*
+0 255 r6
+2762.7 3126 -1.46 3.41 2.93 -1.91 -0.48 -0.96 -1 -0.54 f*
+7 193 59 rG
+2768.99 3159.46 -3.82 -1.28 0.98 3.99 0.61 5.19 1.18 4.56 4.36 1.71 1.08 -0.02 0 -3.06 
+-2.49 -1.26 -1.7 -4.16 -0.22 -1.52 1.15 0.65 2.8 3.2 0.45 3.1 0 3.06 1.78 -0.02 
+0.98 -3.34 -0.79 -5.04 -2.95 -3.05 -3.41 -2.7 f*
+110 210 9 rG
+2770.12 3164.25 -1.15 -0.65 0.22 1.52 1.7 4.16 2.49 1.26 -0.45 -3.1 -2.8 -3.2 f*
+255 0 r6
+2770.42 3145.79 -0.78 -2.73 0.95 -3.88 1.46 -3.13 0.26 -5.51 -1.79 -4.93 -0.2 -0.84 2.41 -1.78 
+3.55 -1.17 3.13 0.45 4.79 1.54 2.25 -0.32 6.19 -2.41 1.11 5.9 3.71 2.8 0.56 6.32 
+-0.06 1.65 -0.89 6.08 1.5 4.92 0.48 2.05 -0.91 4.73 -0.46 5.53 -1.04 2.04 0.11 5.86 
+2.21 3.84 1.02 4.86 -0.37 1.69 -4.78 5.19 -4.27 2.47 0 -11.89 0.09 -0.71 -1.11 -1.29 
+0.39 1.91 0.63 0.09 0 11.89 -1.35 0.76 -5.4 3.78 -0.91 0.21 -0.21 -2.91 2.47 -4.23 
+-3.64 1.55 -2.24 -2.09 -0.11 -2.86 1.3 -3.58 1.3 -5.38 0.28 -1.63 -0.32 -5.47 -1.89 -4.15 
+-2.78 -3.34 -2.47 -3.64 -2.08 -4.08 -2.11 -4.14 f*
+255 135 0 rG
+2776.15 3103.58 -1.39 -0.85 0.93 1.45 1.24 0.52 -0.79 -1.13 f*
+255 0 r6
+2777.84 3329.25 2.17 -0.67 6.45 -2.07 2.48 -4.38 -8.27 5.34 -2.82 1.78 f*
+255 135 0 rG
+2787.79 3104.25 -2.3 -0.13 0.75 2.15 4 2.66 0.91 0.83 3.21 -5.77 0.09 -0.52 -0.39 0.2 
+-6.27 0.59 f*
+0 155 255 rG
+2790.67 3174.39 -1.11 -1.29 0.39 1.91 0.63 0.09 0.09 -0.71 f*
+255 0 r6
+2803.52 3479.47 -9.14 5.46 3.8 -1.95 0.24 -0.16 6.36 -4.1 -1.26 0.74 f*
+255 135 0 rG
+2800.24 3119.36 -2.56 -2.47 2.3 2.78 0.41 0.37 -0.15 -0.67 f*
+255 0 r6
+2798.42 3482.83 -0.24 0.16 0.13 -0.09 0.11 -0.07 f*
+255 G
+2801.73 3480.96 -3.32 1.87 6.36 -4.1 10.74 -6.45 12.02 -7.18 12.07 -8.79 2.28 -1.65 6.45 -4.17 
+11.85 -7.68 -1.56 1.15 -9.2 6.58 -9.31 6.4 -9.44 6.27 -9.53 6.07 -9.66 5.92 -9.74 5.75 f*
+7 193 59 rG
+2804.86 3179.14 -0.41 6.01 1.22 4.54 1.13 4.53 4.63 0.59 0 -1.78 -0.57 -0.07 -2.15 -0.25 
+-1.19 -4.54 -1.02 -4.75 0.39 -3.39 2.87 0.61 3.36 2.84 2.41 1.54 1.65 0.7 -0.87 1.65 
+-4.88 5.66 0 1.78 0.54 0.09 5.32 -4.36 4.41 -7.14 3.08 -4.25 -3.73 2.37 -1.52 -0.37 
+-2.89 -0.71 -3.69 -2.45 -0.07 -0.05 -3.27 -2.93 -4.04 1.87 -0.7 2.28 f*
+255 G
+2815.52 3472.29 -10.74 6.45 6.03 -3.93 12.5 -8.09 12.5 -8.12 6.08 -3.93 -2.28 1.65 -12.07 8.79 
+-12.02 7.18 f*
+255 203 0 rG
+2807.46 3145.96 -2.49 2.11 0.13 0.48 0.33 0.24 2.71 -3.39 -0.68 0.56 f*
+110 210 9 rG
+2806.88 3180.04 -0.39 3.39 1.02 4.75 1.19 4.54 2.15 0.25 0 -1.78 -0.24 -0.02 -1.12 -4.12 
+1.91 3.5 -0.54 0.65 0 1.78 0.57 0.07 4.88 -5.66 0.87 -1.65 -1.65 -0.7 -2.41 -1.54 
+-3.36 -2.84 -2.87 -0.61 f*
+0 255 r6
+2811.39 3190.54 -1.91 -3.5 1.13 4.13 0.24 0.02 0.54 -0.65 f*
+0 155 255 rG
+2813.76 3171.22 -1.76 -4.38 1.61 -3.23 1.39 0.41 5.86 -0.12 0.46 0.3 2.41 3.86 1.39 4.82 
+-0.02 1.17 -3.93 2.39 -1.65 0.84 -3.76 -1.91 -1.99 -4.14 f*
+255 203 0 rG
+2816.25 3089.97 -2.17 3.54 4.06 2.87 3.32 -0.85 -0.91 -2.5 -3.93 -3.08 -0.37 0.02 f*
+0 255 r6
+2827.52 3158.12 -3.23 -1.91 1.04 4.1 2.25 4.09 2.78 5.64 -0.39 -1.69 -1.22 -5.08 -1.24 -5.14 f*
+255 203 0 rG
+2838 3094.4 -0.98 -0.54 0.04 1.85 1.67 0.21 -0.74 -1.52 f*
+255 0 r6
+2851.7 3447.53 -9.81 7.14 6.45 -4.17 11.85 -7.68 1.39 -1.02 13.02 -10.71 2.14 -1.79 -0.89 0.68 
+-12.08 8.77 -12.07 8.79 f*
+110 210 9 rG
+2848.89 3135.35 -1.34 8.55 1.3 4.37 0.07 1.04 -0.5 7.23 0.21 6.33 3.34 3.13 3.17 3.28 
+1.11 -0.2 0 -19.8 -0.41 -0.56 -3.78 -2.8 -1.65 -5.17 0.55 -2.86 4.03 -6.1 2.37 1.02 
+3.13 3.66 3.97 -0.02 1.8 0.59 1.59 5.41 0.54 3.08 -4.32 1.15 -1.65 0.93 -1.87 0.5 
+-4.29 1.17 0 19.8 0.43 -0.09 0.67 -1.89 2.91 -7.36 3.5 -5.89 0.65 -1.15 0.54 -0.11 
+4.71 -3.8 1.06 -2.54 -1.45 -5.46 -2.28 -4.62 -3.15 -1 -2.25 0.02 -3.47 -3.28 -3.95 -1.67 
+-4.21 3.89 -0.76 0.41 -0.3 0.8 f*
+0 155 255 rG
+2848.61 3120.88 -0.09 -0.31 0.21 0.15 -0.02 0.18 -0.11 -0.02 f*
+0 255 r6
+2850.96 3137.89 -0.55 2.86 1.65 5.17 3.78 2.8 0.41 0.56 4.29 -1.17 0 -4.57 -5.14 -1.3 
+-1.33 -5.62 1.74 -3.25 0.79 0.34 2.75 4.06 5.68 -0.02 0.48 0.17 0.48 1.96 -5.32 3.64 
+-0.14 0.02 0 4.57 1.87 -0.5 1.65 -0.93 4.32 -1.15 -0.54 -3.08 -1.59 -5.41 -1.8 -0.59 
+-3.97 0.02 -3.13 -3.66 -2.37 -1.02 -4.03 6.1 f*
+255 203 0 rG
+2855.82 3133.36 -1.74 3.25 1.33 5.63 5.14 1.3 0.14 -0.02 5.32 -3.64 -0.48 -1.96 -0.48 -0.17 
+-5.68 0.02 -2.75 -4.06 -0.79 -0.34 f*
+255 0 r6
+2861.57 3441.79 -1.39 1.02 0.65 -0.41 0.74 -0.61 f*
+255 G
+2867.71 3437.21 -6.14 4.58 13.02 -10.71 2.14 -1.79 11.18 -8.11 10.88 -9.55 8.36 -7.34 8.18 -6.73 
+-3.99 3.65 -8.46 7.51 -8.59 7.36 -8.73 7.2 -8.85 7.05 -8.98 6.88 f*
+2887.91 3421.18 -11.18 8.11 11.59 -9.52 13.76 -11.31 5.06 -4.17 -8.36 7.34 -10.87 9.55 f*
+255 0 r6
+2884.16 2949.13 -1.84 6.36 4.84 3.37 1.91 -6.41 1.8 -6.45 1.72 -6.46 -4.97 -3.23 -1.67 6.42 
+-1.78 6.41 f*
+2907.25 2474.16 -11.7 -9.96 5.02 6.57 11.46 10.05 4.25 6.36 11.16 10.62 -4 -6.38 -4.52 -6.73 
+-11.67 -10.52 f*
+2909.63 3402.11 -2.49 2.19 8.18 -6.73 0.89 -0.82 2.41 -2.54 -8.99 7.9 f*
+2916.21 3396.75 -0.89 0.82 0.52 -0.43 0.37 -0.39 f*
+255 G
+2920.5 3392.58 -1.88 1.63 9.03 -9.46 35.42 -37.18 6.66 -6.98 -3.9 5.08 -11.33 11.72 -11.33 11.74 
+-11.34 11.72 -11.33 11.74 f*
+255 0 r6
+2940.64 3184.48 -0.28 6.94 5.42 -6.29 5.34 -6.46 5.25 -6.62 5.16 -6.8 5.08 -6.96 0.05 7.14 
+-0.17 7.3 5.23 -7.14 5.12 -7.32 5.04 -7.48 4.9 -7.68 0.09 7.4 4.95 -7.88 4.84 -8.09 
+4.71 -8.27 -0.5 -7.27 4.45 -8.42 -0.84 -7.03 -4.32 8.33 -4.43 8.18 -2.08 3.63 -2.47 4.36 
+-4.69 7.83 -0.54 -7.07 -4.66 7.64 -4.77 7.44 -4.88 7.29 -0.39 -6.96 -4.88 7.11 -4.95 6.95 
+-0.39 -6.86 -4.95 6.8 -5.03 6.64 0.17 6.83 -5.23 6.49 -5.32 6.32 f*
+2956.75 2518.32 -12.02 -13.04 4.71 7.51 4.11 7.07 3.6 6.68 3.11 6.32 2.66 5.95 2.24 5.6 
+1.86 5.27 1.52 4.97 9.41 12.24 9.18 12.65 8.89 13.02 0.39 4.14 0.11 3.87 -8.38 -12.66 
+0.11 3.8 8.14 12.43 7.86 12.74 -0.59 3.11 7.32 12.78 7.03 13.05 -1.22 2.39 6.49 13 
+-1.54 1.91 -1.72 1.74 -1.84 1.56 -1.97 1.39 -2.11 1.26 -5.66 -11.77 -2.09 1.35 -2.21 1.19 
+-5.66 -11.18 -2.2 1.28 -2.3 1.15 -5.66 -10.68 -2.3 1.21 -2.41 1.11 -2.52 1 -5.54 -10.03 
+-2.52 1.05 -2.62 0.95 5.3 9.72 -2.82 0.72 4.97 9.65 4.75 9.75 4.54 9.83 4.32 9.92 
+4.08 9.96 3.87 10.02 -3.46 -0.34 3.58 9.89 3.35 9.94 3.12 9.98 2.89 10 2.67 10.02 
+2.47 10.03 2.24 10.05 3.77 1.63 2.04 10.22 3.75 1.8 3.67 1.8 1.85 10.63 3.64 2.02 
+3.56 2.02 3.49 2.04 1.63 11.26 3.45 2.28 1.37 11.46 1.11 11.41 0.85 11.37 3.34 3.04 
+0.54 11.57 0.3 11.48 3.19 3.58 3.11 3.67 -0.07 11.91 2.97 4 0.13 -12.16 2.95 3.82 
+2.88 3.93 -0.26 12.72 -0.57 12.61 -0.87 12.5 2.54 4.88 2.41 5.05 2.32 5.21 2.19 5.38 
+1.28 -13.7 0.93 -13.87 0.61 -14.02 0.21 -14.15 2.5 4.13 -0.07 -14.64 2.48 3.82 2.41 3.95 
+-0.37 -15.62 2.38 3.58 2.3 3.69 0.22 16.61 -0.29 16.45 -0.74 16.28 -1.2 16.06 -1.65 15.82 
+1.54 6.29 -2.26 16.02 -2.69 15.73 -3.11 15.41 -3.45 15.08 -0.65 -7.88 -0.87 -7.57 -3.32 14.08 
+-0.87 -7.59 -1.04 -7.29 -3.21 13.2 -3.52 12.93 -3.77 12.65 -0.65 -7.77 -3.82 12.15 -0.67 -7.73 
+-2.41 7.32 -1.43 4.38 -0.71 -7.66 -0.91 -7.4 -3.71 11.09 -3.18 8.79 -0.75 2.06 -0.76 -7.48 
+-3.95 10.5 0.61 7.62 0.37 7.86 4.3 -10.76 4.1 -11 0.5 7.84 0.26 8.07 0 8.38 
+-4.73 11.48 -0.52 8.83 4.97 -11.63 -0.61 8.98 -0.91 9.33 5.25 -12.33 -0.99 9.51 -1.35 9.87 
+-1.75 10.29 5.92 -13.28 5.66 -13.71 -1.5 10.3 -1.95 10.74 -2.41 11.26 -2.93 11.79 -3.52 12.37 
+7.42 -15.43 3.04 -12.13 2.52 -11.54 2 -11 5.82 -15.19 5.47 -15.71 5.1 -16.19 -0.81 9.96 
+5.08 -17.14 0.43 -9.53 0.11 -9.05 -4.34 16.28 -4.76 15.82 0.48 -9.39 0.17 -8.98 4.11 -15.08 
+3.73 -15.45 3.37 -15.84 2.91 -16.17 2.5 -16.47 2.02 -16.8 1.54 -17.05 1.63 5.8 1.21 -17.89 
+0.65 -18.11 0.07 -18.32 -0.5 -18.46 2.04 3.49 -1.06 -19.29 2 2.86 -1.7 -20.1 1.93 2.11 
+-2.45 -20.94 1.8 1.23 1.73 1.15 1.65 1.05 -3.56 -23.7 -1.52 -0.04 -4.3 -22.54 -5.14 -22.36 
+1.04 -1.91 -6.29 -22.98 0.48 -3.3 -7.6 -23.48 -8.44 -22.89 -9.22 -22.27 -9.96 -21.55 -10.61 -20.77 
+-11.16 -19.96 -11.68 -19.1 3.28 8.01 -11.5 -17.88 -11.87 -17.08 3.75 7.96 -11.66 -16.06 -11.91 -15.3 
+4.1 7.77 -11.72 -14.45 -11.87 -13.72 f*
+2950.57 2969.95 -2.11 7.16 3.97 4.19 3.88 4.27 2.21 -7.27 2.11 -7.34 3.91 4.25 3.8 4.36 
+-2.22 7.46 -2.36 7.38 -2.46 7.33 3.5 4.63 2.54 -7.38 2.41 -7.46 3.54 4.62 2.36 -7.62 
+2.24 -7.68 2.08 -7.75 1.97 -7.81 1.82 -7.9 1.7 -7.96 3.82 4.23 3.73 4.34 1.67 -8.22 
+3.69 4.32 3.6 4.43 1.65 -8.48 -3.66 -4.32 -3.76 -4.23 1.37 -8.36 1.22 -8.43 -3.95 -3.93 
+-4.03 -3.86 -4.11 -3.76 -1.09 8.12 -1.21 8.05 -4.1 -3.86 -1.3 7.9 -1.46 7.86 -1.56 7.79 
+-4.04 -4.04 -1.67 7.64 -1.78 7.59 -4.02 -4.1 -1.86 7.44 -4.04 -4.08 -1.93 7.33 -4.08 -4.08 
+-2 7.21 f*
+2957.68 2997.22 -2.52 7.18 3.53 4.6 2.61 -7.25 -3.62 -4.53 f*
+2977.95 3329.91 -8.22 10.68 5.14 -5.41 13.15 -17.51 13.17 -17.52 13.13 -17.49 -12.12 15.76 -12.11 15.73 
+-12.13 15.76 f*
+2995.42 3064.73 -3.61 7.99 1.82 6.14 3.71 -8.05 1.78 6.23 3.69 -8.25 3.56 -8.37 -2 -6.08 
+3.3 -8.44 3.14 -8.57 2.99 -8.71 2.32 5.82 2.96 -8.91 -2.43 -5.71 2.69 -8.96 2.52 -9.07 
+-2.76 -5.34 2.26 -9.07 2.11 -9.18 -0.22 -0.32 -2.84 -4.64 -3.15 -4.86 -3.26 -4.73 -3.36 -4.64 
+-1.78 8.7 -3.41 -4.62 -1.86 8.5 -2.02 8.44 -2.16 8.33 -3.28 -4.82 -2.24 8.16 3.21 4.91 
+3.11 5.04 -2.54 8.22 2.89 5.25 -2.78 8.22 2.69 5.43 -2.99 8.2 -3.15 8.09 2.34 5.73 
+-3.36 8.03 2.11 5.92 f*
+3000.76 2907.66 -0.91 8.55 3.93 3.91 3.82 3.99 1.02 -8.77 3.79 3.95 3.71 4.04 3.61 4.14 
+3.54 4.23 1.06 -9.39 -3.61 -4.09 -3.67 -3.99 -3.77 -3.93 -3.85 -3.82 -3.93 -3.75 -0.78 8.72 
+-3.97 -3.8 f*
+3023.5 3037.39 -3.17 9.14 1.87 6.27 3.28 -9.25 3.13 -9.4 2.95 -9.55 2.76 -9.7 2.58 -9.86 
+2.38 -9.96 -2.54 -5.51 2.11 -9.98 -2.75 -5.21 -2 9.8 -2.2 9.7 -2.69 -5.37 -2.25 9.44 
+2.58 5.49 -2.54 9.44 -2.73 9.31 2.24 5.91 -3 9.29 f*
+3025.2 2912.87 -0.87 9.45 3.49 4.19 0.93 -9.62 -3.56 -4.02 f*
+3031.68 3070.01 -3.82 9.68 0.93 7.21 3.96 -9.81 -1.08 -7.07 f*
+3035.59 2925.24 -1.04 9.92 3.21 4.52 3.12 4.6 3.02 4.7 1.26 -10.41 1.06 -10.55 -3.17 -4.36 
+-3.28 -4.26 -0.89 10.18 -3.3 -4.34 f*
+3039.54 3188.24 -4.64 13.15 8.14 -14.95 4.17 -12.98 -7.66 14.78 f*
+3052.25 2937.09 -1.19 10.91 2.78 4.92 1.3 -11.13 -2.89 -4.7 f*
+3082.83 3069.08 -0.78 10.02 5.05 -18.14 0.37 -9.53 -4.64 17.64 f*
+Q q
+0 72 3400 0 0 4128 ^ Y
+255 G
+1829.88 2931.45 0 -24.84 0.26 -10.22 0.5 -11.31 0.7 -11.3 0.89 -11.29 1.09 -11.28 1.28 -11.25 
+1.47 -11.24 1.67 -11.2 1.87 -11.17 2.06 -11.13 2.25 -11.09 2.43 -11.05 2.64 -11.02 2.82 -10.96 
+3.04 -10.91 3.21 -10.85 3.39 -10.8 3.61 -10.75 3.78 -10.67 3.95 -10.62 4.14 -10.52 4.34 -10.46 
+4.51 -10.39 4.69 -10.31 4.86 -10.22 5.06 -10.14 5.21 -10.04 5.4 -9.94 5.58 -9.86 5.73 -9.76 
+5.9 -9.66 6.08 -9.55 6.25 -9.44 6.4 -9.33 6.58 -9.23 6.73 -9.09 6.88 -9 7.04 -8.86 
+7.2 -8.75 7.34 -8.59 7.5 -8.49 3.82 -4.18 3.82 -4.17 3.89 -4.11 3.88 -4.12 7.95 -8.07 
+4.04 -3.97 4.02 -3.95 8.2 -7.81 4.19 -3.82 4.16 -3.82 8.47 -7.51 4.29 -3.67 4.3 -3.69 
+8.72 -7.21 4.43 -3.52 4.43 -3.53 4.49 -3.45 4.5 -3.43 4.53 -3.39 4.56 -3.36 4.6 -3.28 
+4.6 -3.3 4.67 -3.21 4.64 -3.19 4.73 -3.15 4.71 -3.12 4.77 -3.04 4.75 -3.04 4.84 -2.95 
+4.82 -2.96 4.86 -2.88 4.88 -2.87 4.93 -2.8 4.9 -2.78 4.97 -2.71 4.97 -2.69 5.04 -2.63 
+5.01 -2.61 5.06 -2.54 5.05 -2.52 5.1 -2.45 5.1 -2.43 5.17 -2.34 5.14 -2.34 10.37 -4.52 
+5.21 -2.17 5.23 -2.17 5.25 -2.09 5.27 -2.06 5.3 -2 5.3 -1.97 5.34 -1.89 5.32 -1.89 
+5.36 -1.8 5.38 -1.8 5.38 -1.7 5.39 -1.71 10.85 -3.21 5.45 -1.52 5.45 -1.5 5.49 -1.43 
+5.47 -1.41 5.49 -1.33 5.51 -1.32 5.51 -1.22 5.51 -1.23 5.55 -1.12 5.54 -1.13 5.55 -1.02 
+5.58 -1.04 11.16 -1.87 5.57 -0.84 5.6 -0.82 5.6 -0.74 5.62 -0.74 5.6 -0.65 5.62 -0.63 
+5.64 -0.57 5.62 -0.52 5.64 -0.45 5.64 -0.43 11.29 -0.7 5.64 -0.26 5.64 -0.24 5.66 -0.15 
+4.38 -0.11 25.15 0 4.39 0.11 5.66 0.15 5.64 0.24 5.64 0.26 11.28 0.7 5.64 0.43 
+5.64 0.45 5.62 0.55 5.64 0.54 5.62 0.63 5.62 0.65 11.2 1.48 5.59 0.82 5.6 0.84 
+11.16 1.87 5.55 1.04 5.56 1.02 5.53 1.13 5.55 1.13 5.51 1.23 5.54 1.22 10.98 2.65 
+5.47 1.41 5.49 1.43 5.45 1.5 5.45 1.52 10.85 3.21 5.38 1.71 5.41 1.7 10.72 3.6 
+5.32 1.89 5.34 1.89 5.3 1.97 5.29 2 5.27 2.06 5.25 2.09 5.23 2.17 5.21 2.17 
+10.38 4.52 5.16 2.34 5.14 2.34 5.1 2.45 5.1 2.43 5.05 2.52 5.06 2.54 5.04 2.61 
+5.01 2.63 4.97 2.69 4.97 2.71 4.91 2.78 4.92 2.8 4.88 2.87 4.86 2.88 4.84 2.96 
+4.82 2.95 4.75 3.04 4.78 3.04 4.7 3.14 4.73 3.13 4.67 3.19 4.64 3.21 4.6 3.3 
+4.6 3.28 4.55 3.36 4.54 3.39 4.49 3.43 4.5 3.45 4.43 3.53 4.42 3.52 8.73 7.21 
+4.29 3.69 4.3 3.67 8.46 7.51 4.19 3.82 4.17 3.82 8.21 7.81 4.03 3.95 4.02 3.97 
+7.94 8.07 3.89 4.12 3.88 4.11 3.82 4.17 3.82 4.18 7.5 8.49 7.34 8.59 7.21 8.75 
+7.03 8.86 6.88 9 6.72 9.09 6.58 9.23 6.4 9.33 6.25 9.44 6.08 9.55 5.91 9.66 
+5.75 9.76 5.55 9.86 5.4 9.94 5.21 10.04 5.05 10.14 4.86 10.22 4.69 10.31 4.51 10.39 
+4.35 10.46 4.14 10.52 3.95 10.62 3.77 10.67 3.61 10.75 3.38 10.8 3.21 10.85 3.04 10.91 
+2.82 10.96 P
+2.65 11.02 2.43 11.05 2.25 11.09 2.06 11.13 1.87 11.17 1.67 11.2 1.48 11.24 1.28 11.25 
+1.09 11.28 0.89 11.29 0.7 11.3 0.49 11.31 0.26 10.22 0 24.84 -0.26 10.22 -0.49 11.3 
+-0.7 11.3 -0.89 11.29 -1.09 11.29 -1.28 11.24 -1.48 11.24 -0.28 1.87 0 -133.57 -0.06 -2.09 
+-0.07 -2.12 -0.09 -2.15 -0.11 -2.16 -0.11 -2.2 -0.11 -2.23 -0.11 -2.28 -0.13 -2.32 -0.15 -2.34 
+-0.18 -2.37 -0.34 -4.02 -0.41 -4.03 -0.41 -4.06 -0.45 -4.1 -0.5 -4.14 -0.41 -3.3 -0.41 -3.32 
+-0.45 -3.36 -0.46 -3.38 -0.5 -3.41 -0.26 -1.99 -0.28 -2.04 -0.26 -2.04 -0.3 -2.09 -0.3 -2.12 
+-0.61 -3.61 -0.63 -3.62 -0.67 -3.66 -0.67 -3.69 -0.72 -3.71 -0.75 -3.75 -0.76 -3.8 -0.8 -3.82 
+-0.85 -3.84 -0.86 -3.86 0.21 1.43 0.21 1.39 0.09 0.7 0.85 3.91 0.8 3.88 0.76 3.82 
+0.74 3.77 0.7 3.73 0.5 2.84 0.5 2.8 0.48 2.78 0.46 2.75 0.43 2.71 0.41 2.63 
+0.39 2.61 0.39 2.58 0.39 2.56 0.34 2.54 0.35 2.55 0.32 2.54 0.61 4.99 0.28 2.45 
+0.47 3.99 0.44 3.93 0.41 3.88 0.39 3.87 0.35 3.82 0.61 6.49 0.5 6.45 0.46 6.36 
+0.37 6.3 0 133.57 -1.39 9.33 -1.87 11.18 -2.06 11.13 -2.25 11.09 -2.43 11.07 -2.65 11 
+-2.82 10.96 -3.04 10.91 -3.21 10.85 -2.61 8.27 0 -13 0.89 -2.65 0.89 -2.71 0.87 -2.78 
+0.89 -2.84 0.91 -2.93 0.54 -2.17 0.54 -2.14 0.52 -2.12 0.5 -2.11 0.5 -2.09 -1.37 5.05 
+-1.39 4.97 -1.41 4.91 -1.41 4.84 -1.48 4.78 0 13 -0.78 2.54 -3.61 10.74 -3.77 10.68 
+-3.95 10.61 -2.04 5.19 0 -12.48 1.21 -3.17 1.24 -3.21 1.21 -3.28 1.23 -3.29 1.21 -3.37 
+-0.93 2.73 -0.96 2.74 -0.96 2.71 -0.97 2.73 -1 2.73 1.39 -3.64 1.37 -3.69 1.34 -3.73 
+1.34 -3.8 1.35 -3.82 1.02 -3.28 1 -3.23 0.96 -3.19 0.93 -3.17 0.91 -3.15 -1.13 3.67 
+-1.17 3.65 -1.2 3.63 -1.19 3.58 -1.22 3.58 -1.37 3.93 -1.39 3.89 -1.41 3.86 -1.41 3.82 
+-1.43 3.78 0 12.48 -2.11 5.34 -4.35 10.46 -4.51 10.39 -4.69 10.3 -4.86 10.22 -5.05 10.13 
+-5.21 10.05 -0.76 1.37 0 -20.86 1.08 -1.82 1.09 -1.84 1.11 -1.89 0.91 -2.3 0.89 -2.28 
+0.87 -2.22 -1.04 1.7 -1.07 1.67 -1.02 1.63 -0.91 2.4 -0.93 2.46 -0.98 2.5 0 20.86 
+-0.7 1.3 0 -23.74 3.34 -7.08 1.61 -3.53 0.46 -1.29 0.44 -1.25 0.41 -1.24 1.47 -3.78 
+0.7 -1.85 -0.78 1.41 -0.8 1.39 -0.78 1.37 -1.07 2.24 -1.06 2.21 -1.09 2.23 -1.08 2.82 
+-1.13 2.89 -1.15 2.91 0.17 0.2 0.35 0.35 0 23.74 -3.95 7.27 -5.55 9.85 -3.84 6.53 
+0 -39.97 1.35 -1.82 1.37 -1.89 1.39 -1.93 0.65 -0.74 0.67 -0.75 0.67 -0.79 1.61 -3.52 
+1.56 -3.5 1.54 -3.49 -0.57 0.71 -0.56 0.7 -0.55 0.7 -1.08 1.65 -1.07 1.63 -1.08 1.58 
+-1.56 2.72 -1.59 2.69 -1.58 2.63 -0.39 1.15 -0.39 1.13 -0.39 1.15 0 39.97 -1.91 3.23 
+-3.23 5.29 0 -46.74 1.47 -2.21 1.48 -2.26 2.76 -5.29 2.73 -5.36 -2.41 3.88 -0.72 1.13 
+0 -1.84 1.84 -2.97 1.82 -3.02 2.04 -4.43 2.02 -4.43 2.54 -5.1 2.54 -5.16 0.66 -2.17 
+0.65 -2.15 p
+2.28 -5.54 2.21 -5.51 1.61 -4.56 1.57 -4.51 0.58 -2.41 0.57 -2.39 0.54 -2.36 0.54 -2.35 
+0.43 -3.3 -1.7 2.39 0.2 -1.62 0.17 -1.63 -0.76 1.63 -0.79 1.58 -0.25 1.99 -0.3 2.02 
+-0.61 2.71 -0.66 2.75 -0.93 3.37 -1 3.41 -0.52 2.02 -0.05 0.2 0 -27.11 0.7 -0.28 
+0.67 -0.3 1 -0.13 1.06 -1.69 1.09 -1.71 1.78 -4.32 1.75 -4.36 -0.04 1.45 -0.09 1.45 
+0.7 -0.17 0.67 -0.2 -0.67 3.19 -0.71 3.23 0.78 -0.89 0.78 -0.93 1.59 -4 1.59 -4.05 
+0.52 -2.39 0.5 -2.39 0.48 -2.41 0.46 -2.39 1.15 -2.69 1.15 -2.74 1.22 -2.08 1.21 -2.12 
+0.48 -0.07 0.49 -0.07 1.63 -4.66 1.63 -4.71 1.26 -3.06 1.26 -3.13 -0.48 3.43 -0.52 3.49 
+1.28 -4.51 1.24 -4.52 0.52 1.13 -0.35 3.47 1.07 -4.23 1.04 -4.23 0.3 0.22 0.28 0.2 
+0.02 1.52 0.02 1.56 1.24 -4.71 1.19 -4.73 0.41 -3.23 0.39 -3.17 -0.82 2.28 -0.31 0.87 
+0 -57.33 0.55 -0.87 0.54 -0.89 0.91 -4.69 0.89 -4.73 0.76 -3.82 0.71 -3.84 0.76 -3.64 
+0.74 -3.69 0.8 -4.43 0.76 -4.49 0.5 -4.45 0.48 -4.46 0.61 -4.8 0.59 -4.84 0.34 -0.78 
+0.33 -0.8 0.19 2.73 0.2 2.75 0.48 -2.34 0.48 -2.39 0.5 -2.17 0.5 -2.19 0.32 -4.78 
+0.31 -4.82 0.35 -4.46 0.32 -4.5 0.19 -5.66 0.16 -5.68 0.3 -3.52 0.3 -3.56 0.2 -2.84 
+0.2 -2.89 0.02 -4.88 0 -4.9 -0.2 -5.21 -0.24 -5.21 0.07 -3.11 0.04 -3.12 -0.21 -6.55 
+0.24 -2.72 0.24 -2.75 0.32 -0.39 0.35 -0.39 -0.09 -4.02 -0.09 -4.05 0.07 -3.21 0.04 -3.25 
+0.11 -2.32 0.09 -2.37 -0.5 -4.58 -0.52 -4.56 -0.07 -1.71 -0.13 -3.47 -0.25 -2.5 -0.57 -5.04 
+-0.48 -3.71 -0.48 -3.75 -1.04 -7.51 -0.54 -3.78 -0.57 -3.77 1.13 5.2 0.57 2.63 -0.26 -2.58 
+-0.29 -2.61 -0.28 -2.63 -0.39 -3.95 -0.21 -1.97 -0.76 -3.93 -0.8 -3.93 -0.82 -3.93 -0.63 -3.25 
+-0.65 -3.26 -0.67 -3.28 -0.52 -2.78 -0.52 -2.8 -0.54 -2.82 -0.17 -1.5 -0.35 -3.04 -0.96 -4.19 
+-0.98 -4.21 -1.02 -4.23 -1.05 -4.32 -1.08 -4.34 -1.13 -4.36 -1 -3.61 -1.02 -3.6 -1.05 -3.62 
+-1.52 -4.93 -1.54 -4.93 -1.61 -4.92 -1.2 -3.37 -1.19 -3.34 -1.22 -3.32 -1.74 -4.71 -1.75 -4.67 
+-1.78 -4.66 -1.61 -4.13 -1.63 -4.12 -1.65 -4.1 -2 -4.82 -2.04 -4.8 -2.06 -4.77 -3.64 -8.16 
+-1.87 -4.06 -1.13 -2.15 -1.11 -2.15 -1.13 -2.12 -1.8 -3.52 -1.8 -3.5 -1.82 -3.47 -1.84 -3.43 
+-1.84 -3.39 -1.87 -3.36 -2.09 -3.56 -2.08 -3.54 -2.08 -3.47 -1.65 -2.86 -3.34 -5.69 -3.77 -5.99 
+-1.89 -2.93 -1.56 -2.39 -1.57 -2.36 -1.56 -2.32 -1.46 -2.08 -1.45 -2.06 -1.46 -2.04 -1.52 -2.08 
+-1.5 -2.06 -1.5 -2.04 -1.25 -1.26 -0.63 -0.61 -1.43 -1.82 -1.41 -1.8 -1.41 -1.78 -1.52 -2.04 
+-3.04 -4 -1.82 -2.34 -1.83 -2.3 -1.82 -2.25 -3.28 -4.1 -3.29 -4.02 -1.65 -1.89 -1.67 -1.84 
+-2.58 -2.91 -2.58 -2.87 -3 -3.58 -3 -3.52 -2.86 -3.21 -2.84 -3.13 -2.65 -3.05 -2.66 -2.99 
+-2.46 -2.67 -2.45 -2.63 -0.65 -0.2 -0.65 -0.21 1.21 2 1.17 1.97 0.42 1.04 0.39 1.07 
+-0.41 -0.13 -0.43 -0.12 -2.3 -1.35 -1.73 -1 -2.36 -2.15 -2.37 -2.1 2.11 2.69 2.08 2.69 
+2.04 2.7 p
+2 2.69 2.54 2.95 2.54 2.97 -0.37 0.11 -0.37 0.13 3.54 4.3 3.54 4.36 -1.93 -1.82 
+-1.91 -1.8 -0.95 -0.65 -0.96 -0.63 -1.32 -0.98 -1.3 -0.93 2.6 3.95 1.74 2.54 1.74 2.52 
+0.84 1.49 0.82 1.5 0.83 1.58 0.8 1.59 -0.65 -0.41 -0.67 -0.42 1.97 2.71 1.93 2.69 
+0.74 1.52 0.71 1.52 1.91 2.97 1.89 2.95 1.86 2.84 1.82 2.87 1.71 2.49 1.67 2.5 
+1.15 1.34 1.15 1.37 2.13 3.28 2.08 3.28 2.04 3.39 2 3.38 1.67 3.17 1.65 3.15 
+-0.35 0.46 -0.32 0.43 1.09 1.3 1.11 1.32 1.86 2.63 1.87 2.67 1.48 2.54 1.43 2.56 
+1.82 3.45 1.75 3.45 -2.12 -3.28 -2.17 -3.26 -3.64 -5.29 -0.02 0.63 0 0.61 -0.37 0.07 
+-0.37 0.04 1.09 1.58 1.07 1.59 0.75 0.54 0.76 0.58 1.41 2.15 1.41 2.17 2.13 3.38 
+2.08 3.39 1.8 2.52 1.78 2.54 3.04 5.49 3 5.55 -1.43 -2.06 -1.43 -2.02 -2.06 -3.25 
+-2.08 -3.23 -1.11 -1.11 -1.13 -1.11 -1.41 -1.76 -1.43 -1.71 -1.43 -1.73 -1.43 -1.72 -1.76 -2.52 
+-1.78 -2.49 1.67 3.12 1.65 3.15 1.61 2.97 1.59 2.97 1.58 3.14 1.54 3.15 1.87 3.6 
+1.82 3.61 1.3 4.77 1.61 2.71 1.59 2.73 0.7 2.13 0.67 2.09 0.57 3.08 0.48 3.3 
+-0.37 0.43 -0.34 0.45 1.08 4 0.21 1.47 0.2 1.48 -0.37 0.33 -0.35 0.32 -0.37 0.31 
+-0.37 0.32 -0.52 0.39 -0.5 0.39 -0.74 -0.26 -0.74 -0.24 -0.89 -0.76 -0.89 -0.73 -1.24 -1.26 
+-1.21 -1.25 -0.7 -0.3 -0.68 -0.29 -0.73 -0.2 -0.72 -0.19 -0.7 1.65 -0.83 -0.79 -0.84 -0.78 
+-1.52 -1.78 -1.54 -1.76 -0.91 -0.71 -0.93 -0.72 -1.1 -0.69 -1.11 -0.67 -3.12 -5.77 -1.39 -1.7 
+-1.37 -1.7 -0.45 0.24 -0.35 0.22 0 -49.2 0.35 -0.35 0.37 -0.35 -1.15 -2.69 -1.17 -2.71 
+-1.09 -0.89 -1.09 -0.87 0.09 2.3 1.11 2.02 1.08 2.02 0.76 0.76 0.74 0.76 0 49.2 
+-0.09 0.04 -0.91 0.48 -0.63 0.3 -0.61 0.3 -0.56 0.26 -0.59 0.26 -1.13 0.48 -0.93 -0.24 
+-0.93 -0.21 -0.56 -0.33 -0.57 -0.3 -3.09 -4.3 -0.43 0.16 -0.41 0.17 -1.39 -1.61 -1.39 -1.58 
+-0.98 -1.24 -1 -1.22 -0.59 0.22 -0.61 0.24 -1.21 0.44 -0.52 0.17 -0.54 0.2 -0.16 1.09 
+-0.15 1.07 0.91 2.71 0.91 2.69 -0.13 0.96 -0.16 0.95 1.58 3.04 1.55 3.04 0.7 0.3 
+0.69 0.33 0.93 1.26 0.95 1.23 0.76 1.74 0.74 1.75 1.59 3.06 1.58 3.08 2.82 6.12 
+0.48 1.78 0.45 1.76 0.79 2.23 0.75 2.24 0.83 2.64 0.8 2.65 1.74 5.3 1.06 2.64 
+1.04 2.65 0.76 2.21 0.76 2.24 0.54 2.62 0.52 2.61 0.39 2.59 0.37 2.56 0.79 2.17 
+0.74 2.17 1.7 6.99 -0.09 3.23 1.15 5.17 0.11 -4.02 1.98 9.42 -0.57 -4.17 0.11 -3.34 
+1.93 6.29 0.54 4.19 0.54 4.25 1.15 5.99 1.13 5.23 2.37 4.91 1.06 4.47 0.52 4.19 
+1.45 4.67 1.69 4.82 -0.34 -5.04 1.67 4.73 2.06 3.39 0.82 1.21 0.8 1.21 1.87 5.07 
+1.73 3.39 0.91 1.25 0.89 1.29 0.74 0.37 1.48 0.78 0.71 0.39 1.06 2.3 1.04 2.32 
+0.72 0.41 0.73 0.42 0.91 2.23 0.89 2.23 0.82 0.5 0.82 0.48 0.98 1.48 0.95 1.5 
+0.91 0.98 p
+0.89 1 0.85 2.3 0.84 2.34 1.48 4.68 0.72 3.23 0.7 3.25 0.84 2.89 0.82 2.88 
+0.09 1.98 0.11 1.97 0.22 4.78 0.78 2.97 0.74 3.02 0.79 3.52 0.78 3.53 0.09 -3.23 
+0.08 -3.25 0.13 -2.28 0.13 -2.3 1.61 7.12 -0.32 1.65 -0.3 1.61 0.41 3.28 0.39 3.3 
+1.34 -1.65 0.48 2.93 0.43 2.93 0.26 3.21 0.21 3.23 0.74 3.3 0.7 3.32 0.13 2.67 
+0.15 2.67 0.83 0.98 0.84 0.98 0.2 2.37 0.21 2.38 0.61 1.26 0.61 1.28 0.28 2.48 
+0.29 2.49 0.71 0.41 0.7 0.43 0.52 -2.08 0.5 -2.08 0.41 -1.63 0.41 -1.65 -0.02 -3.27 
+-0.05 -3.3 0.63 2.91 0.61 2.95 0.48 0.61 0.48 0.63 1.34 -2.64 0.39 6.16 -0.59 1.45 
+-0.59 1.43 0.43 3.48 0.43 3.51 0.13 3.04 0.11 3.04 0.52 1.45 0.52 1.47 -0.28 2.48 
+-0.31 2.45 0.13 3.28 0.11 3.28 0.43 3.91 0.39 3.93 0.7 1.28 0.67 1.31 0.65 1.3 
+0.65 1.32 -0.02 3.97 -0.08 3.95 -0.59 2.13 -0.61 2.11 1.47 0.61 1.39 -2.64 0.59 0.65 
+0.56 0.65 1.3 0.04 0.61 0.07 0.63 0.08 0.39 2.41 0.37 2.43 0.5 -2.49 0.5 -2.52 
+0 4.64 -0.05 4.67 0.68 -1.43 0.67 -1.46 0.04 -3.84 0 -3.82 0.24 -3.96 0.22 -3.97 
+-0.52 -1.2 -0.52 -1.17 0.26 -3.78 0.21 -3.77 0.17 -3.17 0.13 -3.19 -0.13 -2.97 -0.16 -2.97 
+-0.06 -3.5 -0.09 -3.47 0.91 -3.61 0.43 -0.61 0.42 -0.61 0.2 -3.62 0.15 -3.64 0.74 1.21 
+0.72 1.22 0.41 -1.96 0.39 -1.98 0.31 -1.5 0.28 -1.52 0.54 -1.13 0.52 -1.15 0.45 -0.65 
+0.43 -0.65 0.16 -3.16 0.13 -3.17 0.43 -2.67 0.39 -2.69 0.49 1.37 0.5 1.39 1.09 5.81 
+0.11 4.41 0.09 4.39 0.26 4.08 0.24 4.1 0.2 4.82 0.17 4.82 -0.02 4.55 -0.07 4.51 
+-0.08 4.56 -0.11 4.53 -0.3 4.17 -0.32 4.14 -0.29 4.32 -0.32 4.29 -0.28 4.49 -0.33 4.47 
+-0.43 5.14 -0.48 5.12 -0.33 2.78 -0.34 2.78 -0.52 4.21 -0.56 4.19 -0.21 3.71 -0.24 3.71 
+-0.76 4.84 -0.79 4.79 -0.45 4.45 -0.48 4.43 0 57.33 -0.52 1.41 -0.07 -1.21 -0.09 -1.22 
+-0.17 -2.99 -0.11 -1.41 -0.15 -1.41 -0.11 -1.15 -0.15 -1.13 -0.76 2.37 -0.78 2.37 -0.76 1.43 
+-0.78 1.41 -0.93 1.69 -0.93 1.67 -1 2.63 -1 2.6 -1.22 3.23 -1.23 3.19 -0.11 -0.95 
+-0.11 -0.91 -0.52 -0.16 -0.54 -0.15 -0.37 0.13 -0.37 0.11 0.09 -1.84 0.07 -1.82 1.04 -4.52 
+0.98 -4.54 0.59 -2.84 0.54 -2.84 0.35 -2.7 0.3 -2.66 0.92 -2.78 0.91 -2.8 0.48 -2.54 
+0.5 -2.54 0.39 -3.93 0.32 -3.91 -0.45 -0.48 -0.46 -0.5 -0.13 -1.56 -0.15 -1.57 -0.28 -0.91 
+-0.33 -0.93 -0.72 1.26 -0.71 1.22 -0.72 1.56 -0.71 1.54 -0.7 1.7 -0.67 1.67 -0.04 -2.39 
+-0.04 -2.35 -0.2 -1.78 -0.24 -1.76 0.19 -3.53 0.17 -3.5 -0.26 -1.67 -0.29 -1.65 -0.78 5.08 
+-0.83 5.1 -0.63 3.71 -0.58 3.26 0 -89.47 0.32 -1.33 0.33 -1.34 -0.24 -3.84 -0.26 -3.8 
+-0.41 0.48 -0.43 0.5 -1.21 -2.3 -0.02 3.79 -0.04 3.8 0.54 -0.29 0.52 -0.3 0.46 2.3 
+0.46 2.32 0 89.47 -0.09 0.45 0.05 2.09 0 2.11 -1 3.02 -1 2.97 -1.17 3.56 
+-1.19 3.51 p
+-1.26 3.26 -1.28 3.21 -0.74 1.13 -0.76 1.13 -0.62 0.08 -0.61 0.04 -0.24 -0.32 0 -22.27 
+0.96 -2.71 0.95 -2.74 0.91 -4.25 0.87 -4.25 0.46 -3.91 0.42 -3.91 -0.91 3.86 -0.95 3.82 
+-0.74 3.71 -0.2 1.02 0 -27.54 0.65 -3.14 0.65 -3.19 0.11 -3.17 0.08 -3.16 -0.54 3.38 
+-0.57 3.37 -0.19 2.95 -0.2 2.97 0 27.54 -0.57 2.67 -0.59 3.34 -0.61 3.35 0 22.27 
+-0.24 -0.39 -0.5 -0.7 -1.3 -0.39 -0.48 -0.8 -0.35 -0.57 0 -94.68 -0.04 -2.76 -0.28 -2.54 
+-0.32 -2.54 -0.39 -2 -0.41 -1.97 -0.39 -2.02 -0.43 -2 -0.3 -2.95 -0.33 -2.93 -0.15 -3.76 
+-0.2 -3.73 -0.48 -1.95 -0.5 -1.91 -0.55 -1.39 -0.54 -1.36 -0.15 4.14 -0.2 4.14 0.09 2.45 
+0.07 2.45 0.37 1.71 0.34 1.74 0.87 3.95 0.04 4.86 0.5 2.21 0.48 2.2 0.55 1.69 
+0.52 1.67 0.43 1.61 0.43 1.58 0.5 1.07 0.48 1.08 0 91.93 -0.15 -0.24 -0.34 -1.22 
+-0.35 -1.2 -0.63 0.31 -0.63 0.28 -0.62 0.05 0 -82.54 0.17 -3.04 0.15 -3.02 -1.17 -2.52 
+-0.15 2.35 -0.15 2.37 0.59 1.93 0.57 1.93 0 82.54 -0.05 0 -0.65 0.04 -1.59 1.59 
+0.83 -4.3 0.78 -4.27 -0.34 -2.43 -0.63 1.76 0 -90.11 -0.76 -2.71 -0.76 -2.7 -0.09 2.32 
+-0.11 2.3 0.87 0.39 0.85 0.39 0 90.11 -0.19 0.56 -0.83 2.28 -0.65 1.76 -0.67 1.71 
+-0.8 0.74 -0.8 0.72 -0.3 -0.43 -0.33 -0.43 -0.2 1.67 -0.21 1.64 0.35 1.02 0.35 1 
+-0.37 2.69 -0.37 2.71 0.18 1.79 0.15 1.8 -0.62 2.13 0 -26.95 0.93 -1.5 0.91 -1.52 
+0.71 -2.41 0.72 -2.39 -0.7 0.08 -0.37 0.05 0 -85.83 -0.63 -2.3 -0.63 -2.28 -0.54 -2.08 
+-0.57 -2.06 -0.37 -1.7 -0.39 -1.7 -0.67 -0.49 -0.66 -0.5 -0.54 -1.37 -0.57 -1.37 -0.65 -0.48 
+-0.67 -0.48 -0.59 -0.87 0 -7.29 1.52 -1 0.74 -1.58 0.74 -1.63 -1.04 -4.51 -0.67 1.11 
+-0.7 1.11 -0.5 0.37 -0.52 0.37 -0.65 -0.84 -0.65 -0.87 -0.36 1.52 -0.37 1.49 0.59 1.34 
+0.61 1.37 0.65 0.88 0.63 0.89 0 7.29 -0.02 -0.04 -0.63 -0.91 -1.47 0.04 -0.57 -1.39 
+-0.59 -1.37 -0.61 -1.32 -0.58 -1.3 -1.02 -2.32 -0.91 -3.23 -1.26 -2.54 -1.95 -0.59 -1.39 -1.67 
+-0.26 5.45 0.93 3.19 1.54 -0.05 1.55 2.02 1.19 0.63 -1.15 3.55 1.93 0.59 1.48 2.11 
+0.84 -0.87 0.83 -0.89 0.48 2.26 0.48 2.28 1 3.6 0.71 0.07 0.72 0.04 0.72 0.02 
+0.71 0 1.08 2.78 0.67 -0.59 0.65 -0.61 0.24 3.77 0.2 3.8 0.97 0.59 0.96 0.56 
+0 85.83 -0.35 0.04 -1.52 -2.64 -0.46 -0.83 -0.48 -0.82 -0.11 -1.61 -0.13 -1.63 -0.78 -0.11 
+-0.81 -0.11 -0.32 2.78 -0.37 2.75 0.43 1.78 0.39 1.8 0.22 2.02 0.17 2.04 0.7 -0.29 
+0.67 -0.26 0.26 1.37 0.26 1.39 0 26.95 -0.39 1.32 -1.04 3.43 0.24 -2.8 0.21 -2.75 
+0.02 -2 0.02 -1.98 -0.17 -1.49 -0.16 -1.5 -0.65 0.21 -0.67 0.2 -0.84 2.39 -0.26 0.74 
+0 -42.86 1.52 -3.69 0.14 -2.26 0.11 -2.25 -0.63 -0.35 -0.61 -0.34 -1.78 3 0.13 2.16 
+0.11 2.2 0.52 0.78 0.5 0.76 0 42.86 -0.61 1.65 -0.3 -0.76 -0.29 -0.76 -1.12 -1.56 
+-0.87 4.02 p
+-0.91 4.03 -0.15 2.63 -0.2 2.65 -0.65 2.91 -0.35 1.5 0 -35.98 0.96 -0.26 0.95 -0.24 
+-0.5 -2.28 -0.5 -2.25 -0.91 5.04 0 35.98 -0.32 1.43 0.13 2.04 0.11 2.06 0.82 -0.59 
+0.84 -0.58 0.09 2.11 0.09 2.14 1.54 -2.97 1.54 -3.02 1.11 -3.43 1.09 -3.45 1.13 -2.41 
+1.13 -2.43 0.46 0.26 0.43 0.28 1.13 -2.48 1.11 -2.49 0.8 -0.72 0.79 -0.7 0.17 2.56 
+-0.84 3.32 -0.87 3.34 -1.47 5.77 -0.93 3.89 -0.96 3.89 -0.21 2.21 -0.22 2.24 -1.02 3.34 
+-1.04 3.32 -0.72 3.84 -0.76 3.84 0.57 0.23 0.54 0.24 1.48 0.09 0.33 0.71 0.32 0.74 
+0.3 0.82 0.29 0.8 -0.13 1.54 -0.15 1.56 0.5 0.57 0.48 0.54 0.28 0.78 0.26 0.8 
+0.26 0.78 0.29 0.81 0.26 0.54 0.26 0.56 0.87 1.17 0 1.37 -0.02 1.37 1.82 1.13 
+0 27.11 -0.5 1.84 -1.08 4.04 -2.89 6.77 -2.95 6.73 -0.67 2.14 -0.7 2.18 -2.82 5.01 
+-0.48 0.87 0 -78.73 2 -2.56 0.24 -1.93 0.24 -1.95 -1.22 1.26 -1.21 1.24 -0.05 3.95 
+0 78.73 -2.34 4.06 -0.61 1.71 0 -109.55 0.24 -2.43 0.2 -2.41 -0.65 0.11 -0.67 0.13 
+-0.22 2.14 -0.24 2.17 0.67 0.15 0.67 0.13 0 109.55 -0.76 2.21 -1.45 3.97 0 1.84 
+-1.69 2.67 -2.23 3.28 -2.26 3.21 0.35 -1.17 0.32 -1.17 -0.63 0.02 -0.65 0 -0.61 -0.06 
+-0.63 -0.07 0.39 1.56 0.65 1.04 0.41 -0.07 0.39 -0.09 0.87 0.96 0 46.74 -2.67 4.36 
+-2.25 3.54 0 -176.2 1.69 -5.21 0.97 -1.43 0.98 -1.41 -0.31 2.97 -0.34 3 1.09 -2.56 
+1.07 -2.58 0.36 -2.52 0.35 -2.49 0.78 -1 0.79 -1.02 -0.2 -1.43 -0.21 -1.41 1.9 -5.68 
+0.88 -2 0.84 -1.99 2.34 -3.04 -0.91 0.46 -0.89 0.43 -0.95 1.24 -0.98 1.21 -0.76 2.45 
+-0.78 2.45 -0.87 1.93 -0.89 1.93 -0.93 1.41 -0.96 1.41 -0.78 2.62 -0.8 2.63 -0.85 2.34 
+-0.84 2.37 -0.39 2.45 -0.39 2.47 0 176.2 -0.93 1.45 0 -198.65 1.25 -1.13 0.68 -2.76 
+0.65 -2.78 0.7 -3.62 0.65 -3.62 -0.09 -2.32 -0.11 -2.3 -0.39 -3.47 -0.66 -0.41 -0.65 -0.43 
+-0.74 -2.52 -0.39 -1.24 -0.39 -1.26 -0.93 -2.84 -0.41 -2.82 -0.83 -0.83 -0.33 -2.41 1.11 -6.04 
+1.78 -5.79 1.67 -0.13 1.37 -3.67 0.91 2.32 -0.5 6.05 0.87 2.39 0.16 2.09 0.15 2.06 
+0.39 4.64 0.8 -0.91 0.82 -0.91 -0.46 -1.43 -0.48 -1.43 0.3 -3.12 0.28 -3.11 0.15 -2.73 
+0.13 -2.73 -0.16 -2.65 -0.17 -2.63 1.11 -1.58 1.09 -1.59 0.67 -1.12 0.7 -1.13 0.8 -1.63 
+0.79 -1.61 0.13 -2.52 0.09 -2.5 0.82 -0.8 0.83 -0.78 0.95 -1.91 0.93 -1.93 0.85 -1.5 
+0.82 -1.52 0.7 -3.14 0.66 -3.15 -0.14 -2.95 -0.15 -2.93 -1.43 2.21 -0.83 4.04 -0.87 4.04 
+-0.04 -2.06 -0.06 -2.06 -0.61 -0.07 -0.63 -0.05 -0.57 3.32 -0.61 3.3 -0.82 0.21 -0.81 0.22 
+-0.76 1.58 -0.76 1.56 -0.35 2.52 -0.39 2.54 -0.41 1.7 -0.43 1.69 -0.42 -0.93 -0.39 -0.91 
+-0.02 -5.23 1.58 -4.38 1.17 -5.16 0.59 -2.61 0.54 -2.61 0.46 -2.8 0.41 -2.8 0.63 -2.45 
+0.58 -2.45 -0.48 -1.46 -0.5 -1.43 -0.95 -1.69 -0.98 3.95 -0.85 6.77 -1.07 6.36 -1.52 4.41 
+-1.09 -2.15 p
+-1.95 6.04 -0.28 5.58 -0.96 5.68 -1.61 5.86 -0.8 4.8 -0.37 4.86 -0.39 1.29 0 -88.42 
+-1.02 -4.68 -1.78 1.28 1.41 1.7 1.39 1.71 0 88.42 -1.08 3.6 -1.39 5.25 -0.91 3.56 
+1.15 3.23 -1.55 6.82 1.34 0.91 1.2 2.02 1.02 1.73 0.61 0.21 0.61 0.24 0.13 1.5 
+0.11 1.49 0.41 1.52 0.39 1.52 -0.12 2.56 -0.16 2.54 -0.41 2.52 -0.43 2.52 -0.7 3.82 
+0 198.65 -2.89 4.56 -6.25 9.44 -6.4 9.33 -6.58 9.22 -6.72 9.12 -6.88 8.98 -7.03 8.86 
+-7.21 8.74 -7.34 8.62 -7.5 8.46 -3.82 4.19 -3.82 4.16 -3.88 4.1 -3.89 4.13 -7.94 8.07 
+-4.04 3.97 -4.01 3.97 -4.11 3.89 -4.1 3.91 -4.19 3.82 2.8 -2.58 3.52 -3.27 3.47 -3.3 
+2.34 -2.25 2.32 -2.24 2.26 -2.26 2.25 -2.21 2.21 -2.21 2.19 -2.21 2.15 -2.2 2.11 -2.19 
+2.11 -2.17 2.06 -2.15 2.04 -2.17 1.99 -2.12 1.98 -2.13 1.95 -2.13 1.91 -2.11 1.89 -2.11 
+1.87 -2.08 1.84 -2.09 1.82 -2.04 1.78 -2.06 1.76 -2.04 1.73 -2.02 1.71 -2.02 0.96 -1.13 
+0.93 -1.11 0.91 -1.11 0.91 -1.09 0.89 -1.08 0.87 -1.04 0.87 -1.07 0.85 -1.04 0.82 -1.02 
+0.83 -1 1.61 -1.99 1.56 -1.95 0.76 -0.96 1.47 -1.87 0.72 -0.93 0.74 -0.91 0.7 -0.91 
+0.69 -0.89 -1.04 1.33 0 -174.92 2.23 -0.06 2.63 -2.24 1.49 -2.47 1.48 -2.49 2.99 -3.56 
+1.06 -1.84 1.04 -1.84 1.02 -2.61 1 -2.62 1.19 -2.71 1.18 -2.71 -2.91 4.3 -1.06 1.08 
+-1.05 1.06 0.76 -2.17 0.76 -2.2 1.11 -3.21 0.84 -0.74 0.85 -0.76 0.84 -1.04 0.87 -1.04 
+1.09 -3.21 1.06 -3.23 -0.89 0.57 -0.89 0.58 -0.11 -0.93 -0.09 -0.96 -1.43 -0.11 -1.36 0.37 
+-2.7 5.14 -1.39 4.3 -1.32 0.75 -1.06 -0.91 1.34 -4.68 0.17 -2.63 -1.99 3.12 0.13 -2.49 
+1.72 -4.99 1.71 -4.59 -1.58 2.52 -2.54 5.42 -0.96 3.52 -0.46 4.21 -1.19 3.58 0 -44.03 
+1.35 -0.87 2.02 -0.34 1.95 -4.32 1.39 1.02 2 -0.41 1.67 0.3 -0.04 -3.99 -0.11 -3.97 
+2.02 -2.04 -0.41 -4.73 1.91 -5.62 0.89 -5.36 2.15 -3.36 1.97 -2.28 0.63 -4.23 2.12 -1.93 
+1.8 -1.13 1.65 -1.58 -0.79 -3.55 -0.96 -2.3 0.5 -4.23 1.1 -5.51 1.46 -5.88 0.61 -5.12 
+-0.07 -4.97 0.11 -5.82 1.97 -3.41 0.74 -7.92 0.69 -5.53 -0.71 -4.45 -0.73 -4.39 -0.76 -3.19 
+-1 3.67 -1.11 1.43 0 -40.26 1.24 -1.32 0.7 -3.86 1.87 0.28 1.32 2.59 1.47 0.78 
+0.54 -5.04 2.13 4.51 1.43 -1.13 -0.96 -5.96 -1.29 2.32 -1.32 0.26 0.41 -4.14 -1.28 -0.57 
+-1.34 0.33 -1.59 -0.02 -1.54 -3.45 -1.61 -0.02 -1.48 -1.59 -1.59 -0.71 -1.56 -0.79 -1.73 0.83 
+-1.35 -0.54 -1.78 -1.8 -1.24 -2.04 -1.87 -1.02 -1.54 1.05 -1.91 -0.92 -1.67 -0.75 0.04 2.52 
+-2.08 0.52 -1.67 -0.79 0.73 4.05 0.26 5.28 2.04 0.3 1.11 2.84 1.15 0.24 1.82 -0.7 
+1.63 0.84 1.21 -3.1 1.32 0.56 1.52 1.59 1.59 0.87 1.26 1.34 0.39 5.86 1.76 -0.74 
+1.91 0.34 1.52 0.89 0 40.26 -0.41 0.52 -1.11 -2.78 -2.15 1 -0.61 -3.95 -1.32 -1.87 
+-1.04 -3.45 -1.61 6.68 -0.57 -2.8 -1.22 -2.59 -1.75 -1.43 -1.32 5.1 -1.61 4.63 -1.02 4.51 
+-1.96 3.21 p
+-0.22 0.11 0 -22.44 0.14 -5.36 -1.35 -0.61 -0.76 5.45 1.97 0.52 0 22.44 -1.84 0.93 
+-1.11 4.41 -1.45 2.02 -1.56 4.75 -1.02 5.62 0 5.27 1.91 -0.15 1.65 1.63 1.46 1.24 
+-1.2 6.88 -1.24 5.75 0.89 2.89 1.07 3.17 0.09 5.03 -0.78 4.75 -0.18 4.71 -0.95 7.34 
+0.08 4.45 1.24 3.11 -1.45 3.54 -0.8 7.03 -1.3 4.38 -0.46 5.23 -1.15 5.16 0 44.03 
+-0.22 0.61 -0.56 3.79 0.97 0.43 2.09 -3.05 -1.5 4.77 -0.21 3.11 -2.45 5.16 0.95 0.54 
+-1.19 4.04 -3.47 5.12 0 174.92 -1.59 2.02 -2.62 3.3 -2.62 3.28 -2.65 3.21 -2.62 3.19 
+-2.61 3.11 0 -172.03 2.28 -1.76 2.24 -3.23 3.17 -3.67 0.02 -3.97 2.15 -3.29 2.23 -1.93 
+0.34 -3.59 -3.02 4.71 -0.46 -1.28 -1.37 2.09 0 -2.52 2.58 -4.01 2.09 -3.32 0.59 2.15 
+2.1 -3.39 0.3 -3.62 -1.8 1.37 1.61 -4.23 -0.98 -0.45 2.54 -3.23 1.05 -3.95 -1.79 0.91 
+-2.17 2.06 -1.02 4.34 -2.09 3.41 -0.95 -0.54 0.11 -3.89 -2.02 3.8 -2.48 4.43 -0.72 0.76 
+0 -16.17 3.69 -5.03 1.5 -6.01 0.41 -3.06 2 -5.34 1.04 -4.9 1.13 -3.97 0.57 -6.1 
+-1.8 5.36 -0.93 4.82 -1.29 5.99 -1.15 4.36 -1.91 6.2 -3.26 7.68 0 16.17 -1.43 1.57 
+0.63 2.6 1.3 -1.5 0.17 3.34 2.96 -5.12 0.58 1.67 2.06 -3.77 -1.15 4.38 -2.08 4.25 
+0 2.52 -1.73 2.62 0.5 1.67 -2.26 4.32 -1.32 -0.97 -2.69 2.91 0.41 1.82 -0.5 3.56 
+0 172.03 -0.02 0.04 -2.64 3.11 -2.65 3.06 -2.63 3.04 -2.64 2.99 -2.62 2.95 -2.62 2.9 
+-2.65 2.89 -2.63 2.84 -2.62 2.8 -2.63 2.75 -2.61 2.73 -2.62 2.69 -1.59 1.63 0 -182.53 
+3.37 -4.73 2.87 -3.36 1.86 -0.46 2.84 -4.4 2.32 -4.71 2.3 -5.29 2.69 -4.45 3.64 -3.47 
+2.69 -2.78 0.93 1.17 -1.3 3.71 0 1.93 0.93 1.08 1.32 1.54 0.48 -2.56 1.82 -1.59 
+2.22 -0.67 0.49 -2.64 -0.93 -1.07 -3.12 2.43 -1.39 -0.98 1.78 -1.96 2.24 -3.17 -1.67 0.85 
+0 -6.9 1.8 -0.67 2.59 -3.82 1.49 -4.8 -1.78 1.17 -2.61 2.87 -2.3 1.37 0.18 2.26 
+0.63 1.63 0 6.9 -1.55 0.76 -1.41 -0.48 1.64 -5.32 -1.08 -1.91 -2.19 3.11 -1.63 4.23 
+-1.41 0.02 1.71 -2.91 -1.91 -0.32 -2.65 3.19 -2.23 2.56 -3.13 3.6 1.05 1.52 -2.72 3.49 
+-3.21 5 -2.25 1.86 -2.32 3.76 -2.82 4.25 -0.48 2.75 1.34 0.67 0.39 1.81 -1.54 3.93 
+0 182.53 -1.52 1.54 -6.3 6.3 -3.19 3.11 -1.61 1.56 0 -243.36 1.65 -2.14 1.3 -3.76 
+2.26 -4.1 1.19 -3.71 0.55 -4 -0.55 -1.93 -1.86 -0.61 -2.09 2.43 -1.93 2.69 -0.67 3.5 
+-1.02 4.51 0.09 2.46 0.56 2.32 0.52 2.34 0 243.36 -1.61 1.54 -3.23 3.09 -3.25 3.04 
+-6.6 6.08 -3.32 3 -3.37 2.97 -3.36 2.95 -2 1.72 0 -182.23 3.11 -2.73 3.23 -4.1 
+3.66 -4.21 3.13 -3.78 2.67 -4.23 3.54 -4.36 -2.43 1.63 -0.82 -0.87 -3.47 2.63 -2.97 2.88 
+-3.17 4.58 -2.62 3.63 -2.78 4.05 -1.87 4 0.8 0.89 0 182.23 -1.41 1.21 -3.41 2.91 
+-3.45 2.89 -3.45 2.86 -3.47 2.82 -2.93 2.37 -2.97 2.37 -3 2.36 -3.05 2.37 -3.08 2.39 
+-3.14 2.37 p
+-3.18 2.38 -3.21 2.37 -3.28 2.39 -3.29 2.38 -3.34 2.37 -3.41 2.39 -3.43 2.39 -3.49 2.36 
+-3.54 2.39 -3.56 2.37 -3.64 2.37 -3.66 2.36 -3.71 2.34 -1.68 1.07 -3.43 2.13 -1.75 1.08 
+-1.79 1.08 -1.8 1.09 -1.82 1.11 -1.87 1.11 -1.87 1.13 -3.86 2.25 -1.98 1.13 -1.99 1.15 
+-2.02 1.17 -2.07 1.15 -2.1 1.17 -2.13 1.2 -2.15 1.17 -2.19 1.2 -2.24 1.19 -2.25 1.22 
+-2.28 1.21 1.63 -0.84 1.63 -0.87 1.67 -0.89 1.67 -0.91 1.7 -0.92 1.71 -0.93 1.71 -0.95 
+1.74 -0.95 1.76 -0.98 1.78 -1 3.61 -2.04 1.82 -1.04 1.84 -1.09 1.87 -1.09 1.5 -0.87 
+-4.88 2.88 -4.92 2.78 -4.91 2.78 -4.97 2.71 -4.97 2.7 -5.01 2.63 -5.04 2.6 -5.06 2.54 
+-5.05 2.52 -5.1 2.46 -5.1 2.43 -3.78 1.72 0 -130.04 4.28 -0.98 3.64 -1.82 2.8 -0.5 
+1.82 -1.91 2.37 -1.04 3.02 -0.33 4.26 -1.2 2.78 -1.58 4.32 -1.34 2.13 0.11 3.14 -2.06 
+2.65 -1.06 4.17 -3.39 -4.32 1.52 2.76 -1.72 2.07 -2.49 5.64 -2.64 -2.82 0.24 5.79 -4.06 
+3.17 -4.21 -1.07 -1.54 3.19 -2.04 1.45 0.43 4.95 -4.02 4.95 -3.52 0.57 -1.5 -1.84 -0.13 
+0 -2.34 2.06 -0.48 2.84 -2.48 3.1 -2.26 -0.72 -0.98 2.74 -3.1 2.23 -1.65 2.78 -1.87 
+0.26 -2.06 -2.97 0.7 -2.93 2.93 -2.78 1.82 -0.93 2.3 -3.05 2.24 -2.13 2.78 -0.5 2.11 
+0 2.34 -0.21 -0.02 -2.85 1.11 -4.03 2.78 1.95 -2.93 0.83 -1.91 3.6 -3.61 1.84 -2.34 
+2.95 -3.43 2.28 -3.21 3.22 -2.66 0.84 -2.3 2.11 -3.2 1.3 0 -1.35 2.56 2.65 -0.87 
+2.21 -0.09 3.54 -2.66 4.12 -3.02 3.69 -2.23 3.84 -4.34 0.29 -2.47 -2.88 1.56 -2.82 1.48 
+-2.54 2.61 -2.89 1.45 -1.65 -0.15 2.48 -1.54 1.02 -2.17 -2.82 0.46 -2.93 3.38 -3.32 3.21 
+-1.93 2.84 -2.82 1.29 -2.52 3.04 -2.87 2.8 -3.71 3.45 -4.12 3.23 -1.5 2.47 -2.89 3.93 
+-2.8 3.54 -2.47 3.06 0.29 1.47 -2.32 2.04 -2.82 0.93 -3.52 2.34 -4.04 2.52 -3.16 1.21 
+-3.26 2.47 3.5 -1.61 2.28 -0.67 -3.88 3.3 -3.41 3.12 -3.3 2.37 -3.78 1.87 -3.71 2.71 
+-4.05 1.52 -4.17 2.06 -3.49 1.3 -3.35 0.59 -2.73 0.45 -2.23 0.34 -4.64 1.89 0.24 1.21 
+-1.7 1.73 -1.65 0.22 1.37 -1.39 -2.5 0.61 -1.34 2.34 2.54 -0.65 2.37 0.04 1.25 1.05 
+2.56 0.28 0 130.04 -1.39 0.63 -5.14 2.34 -10.38 4.52 -5.21 2.16 -5.23 2.18 -5.25 2.08 
+-5.27 2.06 -5.29 1.99 -5.3 1.98 -5.34 1.89 -5.32 1.88 -10.72 3.61 -5.41 1.7 -5.38 1.71 
+-10.85 3.21 -5.45 1.52 -5.45 1.49 -5.49 1.43 -5.47 1.41 -10.98 2.65 -5.54 1.21 -5.51 1.24 
+-5.55 1.13 -5.53 1.13 -5.56 1.05 -5.55 1.02 -11.16 1.87 -5.6 0.85 -5.59 0.82 -11.2 1.48 
+-11.24 1.3 -5.64 0.52 -5.62 0.54 -5.64 0.45 -5.64 0.44 -11.28 0.7 -5.64 0.25 -5.64 0.24 
+-5.66 0.16 -2.04 0.04 0 -0.11 2.54 -0.07 2.52 -0.08 1.04 -0.02 1.21 -0.05 0.26 -0.02 
+2.5 -0.09 2.13 -0.08 6.1 -0.29 6.07 -0.34 6.07 -0.39 6.08 -0.46 6.06 -0.5 6.01 -0.58 
+6.04 -0.61 5.99 -0.68 5.99 -0.73 5.95 -0.79 5.95 -0.84 5.92 -0.89 5.88 -0.95 5.86 -1 
+5.84 -1.05 p
+5.8 -1.08 6.18 -1.24 6.2 -1.28 6.21 -1.34 6.23 -1.43 6.23 -1.5 6.25 -1.56 6.25 -1.63 
+6.25 -1.69 6.25 -1.76 6.25 -1.82 6.27 -1.91 6.25 -1.97 6.25 -2.04 6.23 -2.11 6.23 -2.18 
+6.23 -2.23 6.21 -2.3 6.19 -2.39 0.32 -0.12 0.3 -0.11 0.61 -0.26 0.3 -0.11 0.29 -0.13 
+0.3 -0.11 0.28 -0.13 0.84 -0.32 0.29 -0.13 1.3 -0.54 -5.75 2.25 -5.62 2.15 0 -129.8 
+3.91 -1.89 4.23 -2.23 2.14 -2.23 4.35 -2.02 3.66 -1.45 2.45 -0.46 1.72 -2.91 0.74 -2.52 
+2.6 -2.06 2.8 -1.78 -0.09 -0.89 1.37 -1.39 1.95 -0.5 -0.58 1.58 -0.07 1.52 3.43 -2.54 
+3.67 -2.3 -3.82 0.5 -0.63 -0.82 -2.5 0.61 -4.53 2.61 -1.8 -0.16 -1.15 1.63 -2.04 1.98 
+-1.93 0.43 -1.8 -0.15 -2.93 1.37 -2.47 0.45 -3 0.41 -2.15 -0.82 -3.28 1.58 0.42 1.47 
+1.21 1.2 0.18 1.22 -0.44 2.13 -1.56 2.19 -1.73 1.86 -5.04 2.43 4.59 -1.17 -0.11 0.93 
+1.52 0 -3.28 2.19 0 129.8 -0.41 0.17 -6.08 2.23 -6.1 2.22 -6.14 2.12 -6.14 2.06 
+-1.91 0.63 0 -129.47 5.67 -1.96 5.17 -2.14 4.75 -1.91 -5.82 1.52 -4.34 1.55 -1.54 1.45 
+-3.89 1.5 0 129.47 -0.56 0.17 0 -146.57 0.87 -1.95 1.95 -1.59 2.8 -0.93 2.34 -0.15 
+3.52 -0.65 3.37 -0.13 1.34 0.65 0.22 1.17 1.67 0.35 -0.35 1.19 3.06 0.11 -0.29 -1.52 
+1.15 -1.48 2.89 -1.15 4.1 -0.89 -3.12 -0.87 -3.58 0.84 -3.58 -0.06 -3.25 0.49 -2.41 -0.7 
+-0.87 -0.62 -2.67 0.45 -2.84 0.11 -3.04 -0.22 -2.72 -0.5 -3.29 -0.02 -2.21 -0.48 -0.78 -1.2 
+-2.99 -0.32 -3.54 0.11 -3.15 -0.67 -3.19 1.17 -2.32 0.46 -1.59 -1.06 -1.89 1.04 1.04 1 
+2.61 0.7 2.28 0.93 2.91 0.43 3.26 0.15 1.99 1.13 2.29 0.87 2.3 0.87 3.91 2.17 
+1.82 0.76 0 146.57 -3.71 1.21 -6.21 1.95 -2.04 0.64 0 -128.65 6.14 -1.69 2.11 -1 
+-4.8 1.26 -3.45 1.43 0 128.65 -4.19 1.28 -6.25 1.82 -6.27 1.76 -6.29 1.71 -6.3 1.63 
+-6.32 1.58 -6.31 1.5 -4.95 1.13 0 -132.27 4.26 -1.2 -1.24 -0.52 -3.19 0.91 -3.56 0.29 
+1.11 0.52 2.63 0 0 132.27 -1.36 0.33 -7.25 1.56 -7.25 1.47 -7.23 1.39 -7.21 1.33 
+-2.56 0.43 0 -136.98 3.71 -1.37 4.23 -0.28 3.08 1.06 4.88 0.3 4.73 -0.3 4.75 -0.74 
+-0.56 -1.06 -1.82 -0.89 -1.76 -1.24 -0.87 -1.97 -2.13 -1.43 -1.73 -1.67 -1.05 -1.24 -1.39 -1.47 
+-1.43 -1.11 -2.82 -1.2 -3.15 -0.74 -3.12 -0.78 -3.5 0.74 -3.04 -0.52 -0.59 -1.13 -2.78 1.09 
+-4.04 0.5 -4.62 -0.02 -4.21 -0.2 -3.11 -0.67 -4.77 -0.12 -3.95 -0.43 -2.41 -0.66 -3.69 0.07 
+-3.73 0.39 -1.93 -0.84 -2.24 -1.71 -1.93 -1.5 -3.16 -0.21 0.78 -0.87 4.78 -0.55 2.41 1.05 
+1.17 1.32 2.8 -0.41 3.19 0.39 3.58 0.26 4.3 0.02 -0.17 -1.35 -0.79 -1.11 -3.75 -1.18 
+3.58 -0.5 1.89 -1.3 3.54 -0.93 4.18 -0.82 3.67 0.32 3.73 0.33 4.04 -0.24 3.54 0.3 
+3.3 0.73 -2.11 1.29 -0.26 1.2 4.79 -1.72 2.11 -1.37 2.25 -0.28 4.14 -1.26 2.43 -1.21 
+-0.26 -1.02 -3.26 0.5 0.07 -1.17 2.13 -0.71 1.91 -1.39 1.5 -1.61 2.08 -0.75 1.47 0.37 
+1.13 0.17 p
+1.84 -1.43 2.91 -1.3 2.15 -2.17 3.17 -0.72 0.24 -0.97 2.87 -1.87 3.1 -2.11 2.78 -1.63 
+0.67 -0.39 3.39 -1.11 2.84 -0.28 3.41 -1.2 3.19 -0.57 2.87 -0.39 3.16 -1.12 3.89 -1.33 
+3.47 -0.95 4.69 -1.09 4.41 -1.47 3.97 -1.61 4.39 -1.61 0.82 -0.46 2.8 -1.57 1.34 0.3 
+-0.78 1.95 -2.63 2.07 2.54 0.17 2.63 0.13 -3.82 1.02 -2.25 1.63 2.61 0.2 3.05 -0.84 
+-3.84 2.57 -4.86 1.38 -2.08 1.87 -0.7 1.19 0 -5.62 4.06 -1.15 -0.57 -1.02 -2.82 0.5 
+-0.67 1.67 0 5.62 -0.43 0.76 1.24 0.41 -0.16 1.57 -0.45 1.8 3.37 -0.41 2.45 0.28 
+0.63 0.87 2.91 -0.52 3.62 -0.78 3.43 -0.59 3.34 -0.07 2.8 0.41 3.57 0.15 3.21 -0.5 
+3.69 -0.48 1.15 -0.48 4.4 -1.8 4.95 -1.8 1.07 -0.46 3.38 -1.43 4.63 -1.11 3.86 -1.41 
+4.14 -1.78 4.73 -2.47 5.29 -2.7 4.97 -2.97 0.54 -0.17 2.73 -0.93 4.97 -2.58 3.8 -3.04 
+4.1 -2.86 3.1 -3.02 0.5 -2.71 -2.23 0.52 1.63 -2.39 2.39 -1.43 3.75 -2.08 0.91 -1.41 
+2.67 -1.29 2.71 -2.8 4.66 -3.12 1.48 -0.15 3.43 -1.07 2.13 -2.19 3.53 -2.97 2.89 -2.8 
+2.06 -2.24 1.71 -2.45 1.34 0.13 2.63 -1.63 0.59 1.59 1.3 1.02 2.3 0.02 1.48 0.63 
+2.06 0.43 3.04 -0.63 3.21 -1 3.43 -1.47 3.11 -1.7 3.41 -2.49 3.06 -3.64 2.28 -4 
+2.3 -3.38 3.49 -4.06 -2.89 0.52 -3.41 1.69 -3.69 3.43 -3.43 0.68 -3.37 0.3 -1.71 2.98 
+-2.49 0.48 -1.26 -1.3 1.99 -3.71 -1.71 -1.37 -3.3 2.39 -3.16 2.02 -3.88 2.54 -0.44 -1.06 
+0.16 -1.54 -0.04 -2.12 1.54 -2.78 1.95 -2.67 2 -3.04 2.78 -2.54 2.41 -2.99 1.09 -2.06 
+-3.5 3.54 -1.73 -0.43 -1.91 1.52 -2.3 2.59 -3.32 2.66 -2.26 -0.2 0.35 -2.58 2.86 -2.78 
+3.3 -3.02 1.76 -2.67 2.26 -2.93 2.39 -1.83 1.93 -1.91 1.21 -2.8 -0.71 -1.21 2.47 -2.56 
+2.32 -1.58 1.87 0.28 1.26 0.89 1.15 1.28 2.67 -1.13 1.21 0.91 -0.45 1.89 -1.93 2.02 
+-2.04 2.37 -1.74 2.82 1.24 0.65 -0.02 1.58 -0.7 2.26 -0.11 1.95 3.71 -2.86 -0.67 -0.91 
+2.34 -3.15 1.98 -3.66 2.91 -2.23 2.21 -3.22 2.78 -3.6 2.4 -2.43 2.97 -2.82 1.07 1.69 
+1.04 1.72 3.09 -1.22 2.49 -0.87 2.56 -0.98 2.65 -1.34 0.67 0.93 1.76 0.61 2.5 -0.97 
+0.63 -2.87 2.09 1.04 2.06 -1.02 1.04 -2.5 1.37 -2.37 1.85 -2.39 1.04 -2.88 0.71 0.89 
+-1.06 3.28 0.75 0.91 0.07 1.71 1.7 -1.56 3.82 -3.11 0.26 -1.28 3.36 -3.28 1.52 -0.78 
+1.73 -2.07 0.28 -1.73 2.34 -2.97 2.76 -3.37 2.8 -3.43 2.25 -3.43 -0.3 -1.26 2.54 -1.8 
+2.06 -2.19 2.67 -3.56 2.11 -3.08 1.61 -3.14 2.56 -3.17 0.11 -2.56 1.95 -1.87 1.52 -3.19 
+1.93 -3.99 1.43 -3.61 1.91 -4.54 1.32 -3.99 0.3 -3 0.3 -2.95 -0.22 -2.47 2.15 -4.17 
+-2.54 0.11 2.63 -3.86 -2.02 -0.02 2.62 -3.45 0.55 -3.45 0.04 -2.89 0.89 -3.93 -0.11 -3.23 
+0.39 -3.41 1.5 -2.87 2.37 -1.52 0.58 -2.26 -0.37 -1.52 -2.28 1.91 -1.32 1.22 -2.02 3.01 
+-0.37 -1.52 -1.71 -0.34 -0.56 -2.26 0.24 -3.32 0.7 -3.47 0.54 -3.8 1 -3.9 1.63 -3.8 
+0.76 -4.32 p
+1.67 -3.45 1.98 -4.02 3.17 -2.37 2.2 -0.47 1.61 -1.83 2.54 -1.04 2.37 -1.3 2.66 -0.68 
+2.11 -0.43 2.39 -1.41 2.47 -1.11 2.8 -3.34 2.41 -2.8 2.23 -3.26 2.08 -3.64 1.73 -3.08 
+2.52 -5.23 1.64 -3.12 1 -3.23 0 -4.1 0.11 -3.71 0.11 -3.67 0.02 -3.7 -1.24 -2.45 
+2.11 -4.47 0.67 -4.55 -0.84 -2.76 0.15 -4.21 0.09 -4.23 -1.75 2.45 -1.65 3.8 -1.31 4.47 
+-1.75 -0.76 -1.72 1.45 -1.39 -2.34 -2.17 0.85 -2 2.02 -1.88 2.39 -1.74 1.39 -1.39 -0.09 
+-2.49 1.37 -1 -1.63 -1.5 -1.36 -2.04 4.12 -1.82 -0.76 -0.45 -2.82 1.8 -4.43 2.28 -4.78 
+0.91 -3.6 1.2 -4.23 0.41 -3.41 1.37 -4.82 1.78 -4.25 1.93 -3.1 1.17 2.45 2.21 -4.66 
+1.89 -1.24 1.91 -3.14 2.11 -3.8 1.65 -0.67 1.86 1.45 2.07 -1.93 2.1 -1.06 2.07 -1.02 
+2.04 -1.06 2.25 -2.67 1.32 -3.99 1.26 -4.02 1.24 -4.02 1.19 -4.06 1.76 -1.56 2.28 -3.56 
+1.78 -4.19 -2.19 -2.67 -1.52 0.89 -1.8 0.56 -2.04 0.29 -1.71 1.5 -2.23 0.91 -1.41 3.67 
+-2.21 1.89 -2.2 2.73 -0.96 4.23 -1.56 1.69 -1.76 4.25 -1.07 3.14 -1.08 2.17 -1.2 1.46 
+-1.87 1.32 -1.84 1.3 -0.24 0.26 0 -22.48 2.08 -1.09 1.76 -2.39 2 -2.12 2.04 -1.13 
+2.13 -0.25 2.28 -0.87 2.11 -2.84 2.36 -2.56 1.37 2.36 2.61 -2.3 1.67 1.07 2.32 -2.63 
+1.43 0.7 0.76 -4.41 1.28 1.46 2.06 -2 0.57 -3.8 0.02 -4.38 1.61 -1.67 1.8 2 
+1.68 -5.17 1.48 -1 1.17 -3.02 1.52 1.7 1.59 -1.82 -0.46 3.95 -1.17 1.32 -1.65 -1.02 
+0.15 3.8 1.35 2.43 1.65 -3.49 1.21 -3.09 1.13 0.43 0.59 -4.69 -2.8 0.35 1.28 -2.04 
+0.02 -5.25 0.96 -5.92 0.65 -4.45 0.44 -5.45 0.32 -4.73 -1.61 0.93 -1.32 -1.26 -0.29 -2.73 
+-1.24 0.5 -1.91 3.11 -2.02 1.34 -2.78 2.28 -1.86 2.34 -1 2.28 -2.08 1.26 -2.2 3.64 
+-2.08 2.91 -0.91 3.11 -2.02 3.84 -0.93 3.11 -2.08 2.08 -1.13 2.13 -1.07 0.06 0 -10.8 
+2.56 -4.82 -1.02 -1.7 -1.21 1.26 -1.02 3.82 0.7 1.43 0 10.8 -1.25 0.09 -1.78 4.82 
+-1.76 3.17 -0.63 2.63 -2.3 1.04 -1.43 0.21 0 -8.16 2.59 -2.37 0.74 -3.34 -2.13 1.99 
+-1.71 1.56 0.52 2.15 0 8.16 -0.7 0.11 -1.52 3.39 -2.21 1.8 -1.97 2.15 -1.29 -0.5 
+-2.69 2.19 -2.28 1.85 -1.74 2.34 -1.43 3.45 1.91 1.96 2.08 -1.2 1.89 1.97 2.28 1.63 
+0 22.48 -2.13 2.28 -2.37 1.65 -0.25 -2.17 -1.67 2.52 -1.41 3.69 -0.98 5.16 -1.78 4.32 
+-1.54 3.63 -0.32 3.32 -1.34 3.02 -2.28 2.66 -1.23 5.06 -2.41 3.45 -1.06 1.08 0 -541.79 
+-1.93 -2.63 -1.95 -2.62 -3.11 -3.69 -3.17 -3.69 -1 -1.52 -1.04 -1.55 -0.02 -0.58 -0.02 -0.61 
+-0.48 -1.73 -1.72 -1.91 -1.73 -1.93 -3.15 -2.82 -3.14 -2.8 -3.15 -2.76 -3.14 -2.71 -0.72 -0.48 
+-0.71 -0.45 -2.21 -1.71 -2.2 -1.67 -2.95 -2.37 -2.95 -2.32 2.47 2.41 2.45 2.41 -1.43 -0.87 
+-1.41 -0.85 -1.82 -1.17 -1.82 -1.15 1.66 1.91 1.63 1.89 2.5 2.52 2.45 2.54 2.45 2.32 
+2.43 2.32 2.82 2.62 2.82 2.65 2.11 1.97 2.13 1.98 2.91 2.93 2.88 2.93 3.71 3.67 
+3.69 3.73 p
+2.93 2.86 2.93 2.93 0 541.79 -1.8 1.82 -2.45 3.38 -2.17 2.87 -2.3 3.62 -2 3.11 
+-2.28 2.75 -2.37 1.56 -1.45 -0.08 0.82 -2.91 -0.39 -3.54 -0.2 -3.23 0.28 -3.43 -1.13 -1.52 
+-1.17 -0.65 -2.23 -0.11 -1.29 3.93 -1.67 4.49 -2.32 3.56 -2.56 3.17 -2.28 2.66 -0.89 -1.21 
+-2.21 1.8 -0.5 2.23 -2.25 1.78 -0.84 -1.17 -1.91 1.2 -2.69 1.17 -2.43 1.43 -2.06 2.02 
+-1.82 2.34 -2.06 1.96 -0.63 0.34 0 -118.21 2.96 -0.65 2.34 -2.46 2.3 -2.49 1.96 -2.73 
+2.11 -1.98 1.11 -3.97 0.3 -3.87 -1.04 -3.38 -2 -2.67 -1.7 -1.08 -1.71 2.21 -1.86 4.05 
+-1.11 2.65 -1.09 3.93 -0.5 3.06 -0.65 3.61 0.11 3.49 -1.52 2.28 0 118.21 -1.87 1.09 
+0 -3.78 0.09 -2.73 0.41 -3.23 -1.04 -2.21 -1.09 -2.19 -1.04 -2.24 -0.89 -1.91 -2.61 3.08 
+0.74 -2.61 -0.59 -2.45 -0.86 -2.63 0.74 -2.64 1.41 -1.78 0.71 -3.45 0.41 -3.64 -0.96 -2.67 
+-1.04 -1.84 -0.2 -3.47 0.28 -2.87 0.31 -3.69 -0.33 -3.41 -0.82 -2.32 -0.37 -2.62 0.13 -3.62 
+-0.67 -2.87 -0.37 -1.82 0.95 -2.93 -0.15 -2.34 -1.54 -2 -0.93 -1.45 0.56 -3.21 -2.3 -1.13 
+0.21 -3.36 0.79 -2.97 1.82 -3.5 1.8 -3.62 1.74 -3.59 1.11 -4.02 0.24 -3.99 0.04 -3.45 
+1.13 -3.32 1.23 -2.56 1.26 -3.86 -1.93 -1.35 -0.24 -4.21 1.02 -3.34 -1.5 -1.63 -1.15 -2.73 
+0.46 -4.38 -1.23 -2.73 -1.98 0.11 -1.97 1.35 -2.15 1.95 -1.8 3.41 -1.8 3.5 -1.7 2.84 
+-1.71 2.84 -1.84 2.04 -2.21 1.89 -1.89 2.08 -1.96 3.32 -1.75 2.8 -1.8 2.78 -1.45 2.99 
+-2.52 2.32 -2.47 2.32 -2.19 2.52 -1.67 2.21 -1.76 3.43 -1.56 2.93 -2.13 3.17 -2.2 3.23 
+-0.21 2.47 -1.32 1.11 -1.93 2.67 -1.06 3.27 -1.32 3.73 -2.11 1.93 -1.48 2.35 -1.15 3.23 
+-1.15 -0.17 0.61 -2.95 1.3 -3.73 -0.61 -3.06 -1.43 -2.28 -2.26 -1.48 -2.6 0.29 -2.7 1.54 
+-2.21 1.15 -2.3 2.41 2.23 1.43 1.43 2.26 -0.82 3.4 -1.7 -2.45 -2.19 -1.43 -2.82 0.76 
+-2.47 1.69 -2.25 0.5 -2.39 -0.19 -1.47 2.21 -1.8 2.11 -1.99 0.67 -1.89 1.35 -0.28 -0.07 
+0 -299.69 1.07 -0.83 -0.35 -2.09 -2.08 -0.36 1.37 3.28 0 299.69 -1.87 -0.57 -1.67 -1.69 
+-1.35 -1.41 -1.71 -1.61 -1.84 -0.48 -2.04 0.06 0 -301.45 0.97 -1.35 -0.58 -1.04 -2.09 -0.37 
+-0.45 1.91 2.15 0.85 0 301.45 -0.07 0 -0.83 -1.73 -2.28 -1.28 -1.75 -1.56 -2.13 -1.8 
+-2.88 -0.89 -1.89 -0.43 -2.54 -0.74 -2.04 -1.05 -2.26 -0.49 -2.8 -0.29 -2.6 -0.63 -2.98 -0.87 
+-1.86 2.59 -1.41 2.25 -2.2 1.26 -2.04 -0.98 -1.65 -1.95 -1.34 -1.74 -1.82 -2.54 -2.36 0.67 
+-1.89 -1.45 -2.17 1.35 -2.3 -0.45 -2.73 1.66 -2.32 0.7 -3.19 -0.26 -2.02 1.96 -1.89 2.58 
+-2.89 2.13 -2.78 2.71 -2.17 1.37 -1.34 -1.67 -1.98 0.85 -1.95 0.87 -0.29 -3.39 -2.06 -0.82 
+1.95 -1.99 -2.11 -1.87 2.15 -0.29 1.8 -2.58 2.17 -2.45 1.97 -1.98 2.71 -1.65 2.71 -1.71 
+2.5 -1.2 1.65 -2.15 0.55 -2.56 2.3 -1.8 1.25 -1.15 0.59 2.95 -0.57 2.56 0.91 0.89 
+1.8 -1.45 1.45 -2.75 0.7 -3.06 -0.41 -3.47 1.84 0.74 1.24 -1.19 2.76 0.58 0.91 2.04 
+2.17 0.91 p
+2.69 0.54 1.63 1.3 0.17 2.84 1.37 2.93 0.63 2.54 0.68 2.56 1.11 2.23 -0.11 2.32 
+1.26 -0.04 0.28 -1.61 1.19 -2.91 1.35 -3.39 2.71 -1.65 2.54 -1.13 2.69 -0.48 2.28 0.54 
+2.82 0.15 2.04 -1.95 2.39 -1.74 2.3 -0.62 0.11 -3.47 0.06 -3.5 -0.84 -2.15 -0.33 -2.52 
+-0.19 -2.95 -1.82 -0.83 -0.21 -2.99 0.67 -3.14 1.61 -2.17 -1.54 -1.78 -1.67 -1.35 -0.67 -1.48 
+0 -41.25 -0.2 -0.24 0 -370.68 -0.37 -2.02 0.02 -1.55 1.48 0.39 2.36 0.39 -2.12 -1.98 
+-1.39 0.11 -1.73 -1.43 -0.3 1.09 -2.73 -0.85 2.76 2.39 0.74 2.54 1.3 0.91 0 370.68 
+-1.82 -2.12 -1.95 -0.71 -1.87 0.45 1.26 2.11 2.52 0.3 2.06 0.22 0 41.25 -0.31 -0.65 
+0.2 -3.32 -0.83 -1.43 -1.67 -1.3 -1.97 -1.87 0.13 -3.32 -1.47 -2.26 -2.02 -0.26 -2.17 -1.37 
+-1.89 -2.38 -1.11 -1 0 -179.23 1.58 -2.69 1.11 -2.78 0.26 -3.41 1.04 -3.34 0.48 -4.41 
+0.2 -2.93 -2.04 -3.36 -1.89 2.17 -0.06 -4.95 -0.67 -2.62 -1.46 -1.71 -0.29 -2.54 -0.86 -3.56 
+-0.79 -3.08 -1.73 -3.69 -1.28 -3.13 -1.23 -3.12 -1.24 -2.65 -0.79 -2.56 -1.25 -2.56 -1.29 -2.63 
+-1.21 -2.6 -0.89 -2.5 -0.82 -2.54 -0.87 -2.54 -1.21 -2.06 -1.43 -3.04 -1.28 -2.58 -2.32 -3.15 
+-1.98 0.29 -2.73 -1.3 -2.45 -1.72 -2.65 -0.76 -0.48 0.31 0 -358.03 -5.55 -2.18 -5.55 -2.12 
+-5.51 -2.04 -5.49 -1.97 -5.1 -1.87 -5.12 -1.82 -5.17 -1.79 -5.21 -1.75 -3.61 -1.13 -3.58 -1.09 
+-3.58 -1.06 -3.55 -1.04 -2.89 -0.82 -2.88 -0.79 -2.87 -0.78 -2.84 -0.76 -1 -0.21 -0.97 -0.2 
+-1 -0.22 -0.95 -0.19 -2.78 -0.7 -2.76 -0.7 -5.46 -1.3 -2.2 -0.43 -2.17 -0.43 -2.12 -0.41 
+-2.13 -0.39 -2.28 -0.57 -2.28 -0.54 -2.3 -0.56 -2.3 -0.52 -2.34 -0.5 -2.32 -0.45 -4.6 -0.91 
+2.06 0.3 2.11 0.32 2.14 0.33 2.17 0.34 -3.36 -0.73 -3.36 -0.7 -3.34 -0.7 -3.36 -0.67 
+-1.74 -0.24 -1.69 -0.24 -1.7 -0.22 -1.67 -0.22 -1.97 -0.3 -1.95 -0.26 -1.93 -0.29 -1.91 -0.26 
+-4.36 -0.74 -4.34 -0.71 -4.36 -0.67 -4.34 -0.65 -4.28 -0.61 -4.27 -0.59 -4.25 -0.54 -4.27 -0.5 
+-3.15 -0.45 -3.21 -0.43 -3.21 -0.41 -3.26 -0.42 -2.08 -0.29 -2.11 -0.25 -2.13 -0.26 -2.12 -0.24 
+-3.22 -0.26 -6.37 -0.43 -3.17 -0.2 2.47 0.52 0.8 0.18 -0.98 0.2 -0.3 0.08 4.16 0.39 
+2.09 0.22 2.06 0.21 0.24 0.09 0.24 0.11 0.21 0.09 0.24 0.11 2.73 0.24 2.74 0.28 
+2.75 0.26 2.71 0.29 6.73 0.87 3.3 0.45 0.95 0.2 0.93 0.22 0.91 0.19 -1.07 -0.06 
+-1.08 -0.05 -1.07 -0.04 1.24 0.3 2.39 0.65 1.91 0.39 1.86 0.41 1.85 0.39 2.65 0.61 
+1.3 0.31 1.78 0.41 1.73 0.43 1.71 0.41 3.91 0.67 3.86 0.72 3.82 0.71 3.54 0.54 
+3.56 0.56 3.56 0.59 -0.85 -0.33 -0.89 -0.32 -0.89 -0.3 0.09 -0.2 0.08 -0.21 0.09 -0.18 
+2.06 0.26 2.11 0.31 2.13 0.3 3.62 0.67 3.61 0.7 3.62 0.71 3.71 0.76 7.38 1.61 
+4.88 1.07 4.91 1.11 4.92 1.15 -1.78 -0.54 -1.78 -0.56 -1.8 -0.54 -3.5 -0.93 -3.54 -0.91 
+-3.56 -0.91 0.57 0 0.56 0.02 0.57 0 0.58 0.02 -0.63 -0.26 -0.63 -0.24 -0.62 -0.26 
+-0.66 -0.26 p
+1.54 0.26 3.17 0.57 1.61 0.28 1.87 0.37 1.89 0.39 3.82 0.83 -1.06 -0.33 -1.04 -0.34 
+-2.17 -0.65 3.66 0.91 3.63 0.91 3.63 0.93 3.63 0.97 2.89 0.7 2.88 0.72 2.93 0.74 
+2.93 0.76 3.62 0.98 3.63 1.02 3.67 1.05 3.66 1.06 3.64 1.09 3.64 1.11 3.67 1.15 
+3.71 1.18 3.49 1.15 3.52 1.17 3.52 1.21 3.54 1.24 2.14 0.72 4.39 1.48 2.23 0.78 
+3.41 1.24 3.45 1.28 3.47 1.33 3.47 1.35 0 358.03 -1.37 0.89 -1.73 1.67 -1.62 2.63 
+0.19 3.29 0.2 3.82 -0.91 2.28 0.07 2.84 0.34 2.38 2.23 3.65 2.13 2.62 1.19 2.56 
+2.18 3.17 0.74 2.52 -0.89 3.21 0.3 2.47 -0.93 3.21 -0.07 3.34 2.04 3.21 1.73 4.62 
+2.22 0.35 2.78 1.91 2.71 1.43 2.78 1.93 2.28 1.84 2.43 3.38 2.22 0.37 -0.29 2.45 
+1.89 1.82 -0.26 2.91 2.65 0.98 2.26 1.43 0.56 2.54 0.18 3.04 2.32 2.95 0 179.23 
+-0.93 -0.87 -1.91 -2.37 -0.28 -2.25 0.54 -2.04 -2.11 -1.8 -2.11 -1.85 -2.13 -1.84 -2.14 -1.75 
+-2.54 -1.96 -2.06 -2.28 -1.06 -3.04 -2.21 -1.73 -2.43 -0.76 -1.56 -2.63 -1.34 -2 -2.37 -1.21 
+-2.58 -0.26 -2.02 -0.58 -0.85 -2.32 -2.28 -1.71 -2.41 -1.17 -2.41 -1.15 -2.21 -0.11 -2.24 2.52 
+-0.18 3.06 -1.15 1.23 -1.5 3.2 -1.56 3.23 -1.02 2.84 -0.13 2.52 -0.96 2.34 -1.89 2.61 
+-2.32 2.46 -1.95 1.02 -1.8 2.11 -5.73 7.75 -2.62 1.82 -3.43 0.13 -1.3 1.69 -2.06 1.54 
+-1.25 3.26 -1 2.32 -0.09 2 -1.13 2.8 -1.93 2.56 -2.32 2.46 -2.5 1.37 -2.75 0.8 
+-1.93 2.56 -1.56 2.67 -2.32 2.45 -2.06 1.54 -2.37 2.45 -2.3 2.45 -1.8 2.04 -2.19 2.02 
+-2.32 -0.59 -0.02 3.02 0 3.06 -0.8 2.82 -0.61 -3.67 -0.24 -3.65 0.63 -2.34 -0.91 -1.24 
+-2.47 1.39 -2.04 1.56 -1.28 1.7 -1.65 1.58 -1.91 2.58 -1.41 2.19 -0.91 -1.23 1.78 -2.06 
+1.04 -2.28 1.79 -2.1 2.14 -1.98 2.04 -1.56 1.02 -2.24 1.39 -1.39 0.28 -0.25 0.98 -2.26 
+2.28 -2.47 1.41 -2.21 1.89 -2.56 1.8 -2.13 1.89 -2.58 2.06 -1.5 0.2 -2.52 0.84 -1.8 
+1.89 -2.58 2 -1.02 2.32 -0.96 1.89 -0.57 0.45 -1.99 0.33 -1.37 2.17 -2.02 0.43 -1.91 
+0.28 -2.99 1.13 -3.26 0.93 -2.32 1.95 -3.06 2.8 -0.84 3.02 -1.82 1.75 -2.12 1.87 -2.61 
+1.15 -3.28 0.98 -2.82 1.76 -2.13 1.76 -0.06 1.82 -2.61 3.26 -0.72 2.71 -0.34 2.65 -2.41 
+3 -1.73 2.19 -2.04 2.54 -1.93 2.56 -1.84 1.41 -2.74 -2.25 -2.14 1.93 -1.04 2.04 -1.56 
+2.15 -1.97 1.93 -1.04 2.63 0.15 2.34 1.7 2.26 2.2 2.99 0.34 2.43 1.2 2.56 2.82 
+2.88 0.84 2.28 1.78 2.56 0.26 2.67 1.84 2.69 1.96 1.46 3.17 3.1 -0.09 0.52 -4.66 
+0.3 -3.63 -0.71 -2.93 0.67 -3.49 -1.08 -3.54 -0.79 -2.91 -0.89 -2.39 -0.35 -3.25 -0.84 -2.91 
+-0.79 -3.41 -0.45 -2.78 -0.3 -3.73 -1.87 -2.59 -1.39 -2.52 -0.89 -3.37 -0.98 -2.8 -1.84 -3.1 
+-1.48 -2.43 -1.89 -3.08 -1.45 -2.96 -1.98 -2.49 -2 -2.52 -2.54 -1.62 -1.95 -2.47 -2 -3.02 
+-2.11 -2 -2.02 -2.43 -1.13 -2.8 -2.5 -3.06 -1.61 -3.34 -1.65 -2.32 -1.17 -3.23 -2.14 -2.41 
+-2.09 -2.9 p
+-2.28 0.04 0.16 -3.41 -1.67 -3.76 -1.72 -3.82 -1.3 -2.65 -1.28 -3.17 -0.83 -3.08 -0.87 -3.1 
+2.3 -2.54 2.23 -2.54 -1.34 -3.17 -0.02 -3.45 0.43 -3.77 1.3 -3.23 0.8 -2.8 1.8 -1.15 
+1.74 -1.65 -0.09 -2.93 -0.54 -3 0.3 -2.86 -0.11 -2.46 -0.61 -3.45 0.67 -3.25 -0.18 -2.93 
+0.69 -3.3 -0.65 -2.97 -1.52 -2.59 -2.02 -2.69 -1.93 -2.17 -2.91 -2.8 -1.95 -2.13 -3.64 -0.99 
+-2.34 -1.22 -2.78 -1.3 -2.02 -2.62 -1.99 -2.56 -2.56 -3.11 -2.37 -1.23 -2.02 -2.58 -1.93 -1.61 
+-2.47 -2.11 -0.74 -2.87 1.56 -1.67 0.5 -3.23 0.39 -3.63 0.61 -2.28 -0.45 -3.26 -0.76 -2.39 
+0.02 -2.76 -1.76 -2.93 -1.95 -1.54 -2.8 -1.2 -3.75 -1.7 -1.89 -1.04 -2.8 -1.17 -2.3 -3.34 
+1.65 -0.8 -0.3 -1.8 -0.37 -2.32 -1.37 -2.8 -1.43 -3.25 -1.33 -2.78 -2.45 -1.55 -2.95 -2.02 
+-1.7 -2.32 -2.15 -2.39 -1.8 -2.78 -1.74 -2.34 -2.58 -2.32 -2.54 -1.95 -2.04 -1.84 -2.6 -2.37 
+-2.04 -1.84 -2.41 -1.43 -3.32 -1.89 -2.49 -1.9 -2.65 -0.55 -2.97 -0.13 -1.54 -1.37 -3.43 -0.15 
+-1.93 -1.39 -2.5 0.3 -2.82 0.76 -2.3 -0.97 -2.91 0.34 -3.12 -0.58 -1.91 -1.34 -3.45 -0.13 
+-3.06 -0.52 -1.88 -1.34 -3.04 -0.11 -1.87 1.63 -1.93 1.67 -1.82 -0.93 0.3 2.17 -0.61 2.09 
+-1.8 2.97 1.3 0.05 1.47 1.32 -0.02 3 -1.39 2.95 -1.54 2.11 -1.08 2.13 -0.52 2.99 
+-1.11 2.15 -0.61 2.99 -1.56 2.13 -2.54 1.63 -1.15 2.15 -1.69 1.67 -0.22 2.61 -0.7 3.02 
+-0.67 2.61 -0.33 2.19 0.18 2.65 -1.15 3.02 -0.31 2.21 0.17 2.67 -0.26 3.06 0.59 2.25 
+-0.83 2.21 -2.16 2.09 -0.83 2.21 -1.73 2.17 -0.83 3.08 -1.73 2.61 -1.28 2.63 -1.32 2.21 
+-1.86 1.7 -1.3 3.08 -0.37 2.67 0.07 2.28 0.54 2.71 0.07 2.71 1.5 2.78 0.59 2.74 
+0.97 2.76 1.05 3.21 1.04 3.25 1.91 2.32 2.43 1.49 1.47 2.37 0.95 2.34 0.57 3.21 
+-0.48 3.17 -1.41 1.8 -1.39 2.19 -0.91 2.71 -0.96 1.32 2.43 2.89 -0.96 2.71 -1.43 2.25 
+-0.46 2.73 -1.43 2.71 -1.43 1.76 -0.52 2.3 -0.93 1.34 0 2.32 -1.45 2.21 -1.95 2.24 
+-1.46 2.28 -1.91 1.73 -1.91 1.76 -1.98 1.8 -2.88 1.72 -1.91 2.71 -1.93 2.25 -0.99 2.76 
+-1.46 2.73 2.82 1.96 0.43 2.82 -0.05 2.8 1.39 2.41 -1.91 0.8 1.39 2.43 0.93 2.39 
+0.39 3.28 0.89 3.3 -2 2.28 -1.45 2.3 -2.34 0.34 -0.59 2.78 -0.8 -0.02 0 -4.23 
+1.43 -0.89 -0.93 -1.89 -1.43 0.39 0.93 2.39 0 4.23 -1.52 -0.06 -2.36 -0.54 -2.85 -0.11 
+-2.82 -0.61 -2.84 -0.54 -2.84 -0.08 -3.32 1.75 -1.02 3.73 -1.47 3.73 -2.87 2.26 -2.84 0.89 
+-3.27 -0.06 -3.32 -0.5 -2.84 -0.05 -2.82 -0.52 -3.27 -0.93 -1.41 -1.91 -3.8 -0.02 -3.3 -1.87 
+-2.39 -1.39 -2.32 -0.43 -2.84 -0.93 -2.39 -1.39 -3.3 1.43 -2.84 0.5 -4.26 1.02 -2.82 0.07 
+-2.38 -0.39 -3.3 -0.43 -3.37 -0.34 -2.36 -1.81 -3.34 -0.39 -2.88 -1.76 -2.32 0.54 -2.82 1.07 
+-3.28 2.5 -2.8 2 -2.25 1.98 -2.73 2.95 -3.71 2.13 -2.3 2.45 -2.76 1.57 -2.73 1.58 
+-2.69 3.02 -0.78 2.43 -0.39 2.43 -0.33 2.86 -1.71 2.45 -2.21 2.54 -2.23 1.61 -1.26 2.47 
+-1.66 2.47 p
+-2.26 1.17 -0.2 3.84 -2.34 -0.33 -2.14 1.63 -2.2 1.63 0.24 3.37 0.65 2.79 -0.18 3.34 
+-1.12 2.97 -2.15 1.65 2.39 1.2 1.54 2.26 1.98 2.17 0.32 3.82 2.3 5.51 0.68 2.8 
+0.26 2.85 -0.65 2.93 -1.46 3.02 1.91 1.72 0.28 2.84 -1.91 2.6 -2 2.11 0.72 2.8 
+0.78 2.78 1.84 1.26 1.54 2.26 1.69 3.67 1.52 2.19 1.95 2.21 2.39 2.2 1.61 3.17 
+1.11 2.3 1.11 2.75 1.39 1.3 2.67 1.17 1.43 1.76 1.13 2.75 1.86 2.23 3.78 0.16 
+3.45 1.15 1.84 2.26 3.04 1.19 2.21 2.17 1.84 2.26 1.5 3.21 -1.07 1.99 0.37 4.67 
+1.71 1.3 1.39 2.3 0.16 1.85 2.14 1.73 1.74 2.28 2.47 1.26 2.8 0.82 2.9 1.71 
+1.33 2.3 1.3 2.25 0.89 2.32 1.3 2.75 2.34 0.35 1.07 -1.89 3.04 -1.98 1.97 0.39 
+3.06 -0.07 1.97 0.39 2.67 -1.45 2.34 0.47 3.14 1.37 1.17 1.84 2.32 0.43 2.32 0.5 
+2.3 1.85 2.28 1.43 3.45 0.48 3.06 0.55 2.26 0.95 2.28 0.05 1.87 0.54 2.69 0.09 
+2.67 -0.41 1.57 -0.85 2.26 0.54 1.84 1.48 3.47 -0.78 1.84 1.06 3.49 -0.75 2.23 0.63 
+1.74 1.52 2.23 0.61 2.3 -0.28 1.41 -2.71 2.91 1.63 -0.89 -2.43 -1.41 -1.09 1.04 -3.19 
+1.67 -0.83 0.61 -2.28 -0.93 -2.45 -1.78 -2 -1.41 -1.52 0.59 -2.32 2.06 -0.83 1.93 0.66 
+1 -2.3 2.93 -1.17 2.45 -0.76 3.14 0.26 3.6 -0.11 2.84 -0.2 2.91 -1.13 2.88 -0.67 
+0.05 -0.37 0.32 -2.43 1.38 -1.28 2.57 -1.15 2.89 -0.14 4.1 -0.5 3.49 -1.47 2.69 -1.61 
+2.45 -0.14 1.82 1.22 1.39 1.63 0.39 2.43 -0.78 2.32 -1.13 1.74 0.84 2.08 2.37 2.71 
+2.52 1.37 2.63 0.85 3.19 0.06 2.88 -0.52 0.87 -2.26 2.8 -0.04 2.89 -0.43 2.75 0.48 
+1.67 -2.16 2.61 0.95 2.78 0.04 2.84 0.07 2.13 -0.58 2.54 -0.5 2.73 0.56 3.04 -0.86 
+2.18 1 1.95 1.9 2.3 2 2.58 1.06 3.13 0.26 0.15 -2.02 2.17 -0.46 0.22 2.04 
+1.93 -1.04 2.52 1.09 3.25 1.37 0.95 2.23 0.7 3.21 -0.15 3.02 -0.11 3.02 0.22 3.11 
+0.06 3.56 0.65 2.73 -1.28 2.71 -1.26 3.73 0.11 2.06 -1.34 1.63 0.71 2.3 -0.83 1.28 
+-1.43 -2.5 -1.39 -0.39 -1 0.2 0 -6.56 -1.76 -2.95 1.13 -1.21 -1.76 -0.46 -0.36 -1.43 
+-1.98 -1.24 -2.69 -0.14 -1.3 1.67 2.07 1 0.78 1.22 3.67 1.97 2.21 1.56 0 6.56 
+-2.3 0.43 -1.17 -2.32 -1.52 -2.41 -1.75 -0.45 -1.52 -1.41 -2.43 0.39 -1.65 1.58 -3.64 0.61 
+-2.62 -0.16 -0.05 -2.47 -2.84 -2.15 -2.43 0.41 -3.56 1.7 -0.98 -0.22 0 -1.75 -0.2 -2.24 
+-1.15 -1.43 -0.79 1.57 2.13 2.11 0 1.75 -1.56 -0.33 0.37 1.55 -4.34 -0.91 0.93 2.14 
+-2.2 1 -0.11 1.98 -2.05 0.52 -0.48 0.11 0 -16.34 0.33 -1.39 2 1.39 0.02 -1.64 
+-2.93 -0.8 -2.97 -0.71 -1.72 0.74 -2.36 0.09 -2.23 -0.39 -0.15 2.37 2.73 0.02 0.56 -0.89 
+2.13 0.91 2.04 -0.33 2.56 0.65 0 16.34 -1.93 0.39 -0.14 1.91 1.82 -1.08 0.93 0.71 
+-1.11 1.23 -1.22 3.17 0.31 1.52 -3.39 -1.17 -0.15 3.36 1.21 2.2 2.46 0.52 2.41 0.52 
+2.78 0.61 p
+2.39 0.56 -0.76 1.3 1.91 0.98 -2.97 1.26 -2.72 -0.63 -2.95 -1.13 -1 -1.67 -1.61 -2.11 
+-1.21 -2.19 -0.33 1.16 1.22 2.17 -1.98 -0.86 -1.87 1.54 -2.54 0.02 -1.62 -0.84 -2.21 0.08 
+-0.67 -1.56 -2.11 -0.39 1.39 -1.2 -0.37 -1.52 -2.11 -0.39 -2.67 1.91 0.43 -3.28 1.96 -2.08 
+1.89 -1.58 1.11 -1.72 1.8 -1.13 2 -0.62 0.82 -1.76 2.02 -0.61 -2.76 0.48 0.79 -3.3 
+-2.61 1.52 -2.64 0 -1.89 1.58 -3.17 -1 2.39 -0.58 2.49 -1.02 2.13 -2.54 -2.3 0.14 
+1.22 -2.24 1.82 -3.04 -2.21 1.52 -1.13 -2.08 -1.5 1.65 -1.82 -0.28 -1.04 1.25 -0.13 2.41 
+-2.58 1.5 0.69 2.02 1.97 1.3 -3.36 -0.08 -2.28 2.06 -2.04 2.54 -1.46 1.67 -1.91 2.12 
+-2.08 1.11 -0.56 2.78 -0.29 3.27 -0.15 2.39 -2.36 1.07 -2.46 1.52 -2.69 1.04 -2.89 2 
+-3.54 1.89 -2.48 0.15 -1.26 1.24 -2.62 1.11 -0.31 1.82 -1.25 1.26 -0.76 2.25 -2.95 1.52 
+-0.07 -1.87 -1.2 -1.08 -1.23 1.28 -0.61 1.85 0.43 1.43 -2.09 0.24 -1.8 -1.58 -1.63 -0.17 
+-0.11 -1.84 1.19 -1.29 -0.39 -1.93 0.59 -1.8 2 -1.65 1.89 -1.22 2.25 -1.17 1.41 -2.21 
+0.72 -2.29 1.25 -1.28 2.32 -1.15 2.67 -1.11 3.52 0.43 -0.74 -1.96 2.28 -0.7 2.75 -1.06 
+2.37 -1.11 2.39 -1.11 2.58 -1.97 -0.37 -2 -1.52 0.3 -0.74 1.78 -2.21 0.17 -1.93 0.72 
+-0.76 -1.98 -0.26 -2.88 2.43 -1.11 0.39 -2.34 -2.02 -1.21 0.37 -2.3 -1.22 -1.56 -0.54 -1.5 
+-1.45 -0.17 -0.22 1.41 0.35 2.36 0.87 1.52 -0.74 2.3 -0.57 0.84 0 -6.59 -1.15 -2.52 
+-0.28 -2.87 0.98 -1.78 -0.43 -1.91 -3.1 0.11 -1.74 1.7 -2.32 0.28 -3.26 1.54 -1.48 -0.13 
+-1.82 2.19 1.71 1.59 2.21 0.22 2 -0.79 2.58 0.29 3.27 0.8 2.82 1.28 0 6.59 
+-0.91 1.37 -0.62 1.81 -3.06 0.61 -1.43 2.15 -1.5 0.34 -2 1.2 -2.09 1.65 -2.79 -0.28 
+-2.34 1.17 -2.09 2.17 -2.41 2.08 -2.11 -0.18 -0.56 1.84 -2.37 2.11 -1.3 2.24 -0.69 2.76 
+-2.14 0.21 0 -5.96 0.28 -2.78 0.54 -1.81 -0.54 -1.95 -0.02 -0.13 0 -3.1 2.04 -2.21 
+0.59 -2.26 0.24 -2.34 -0.11 -2.37 -0.55 -2.34 -1.84 -0.13 -1.3 -1.97 -2.02 1.78 0.16 2.8 
+-0.24 2.8 -1.28 2.21 -0.17 1.89 1.13 -0.43 1.39 0.58 1.98 2 0 3.1 -0.39 -2.69 
+-2.36 2.19 -0.54 1.8 0.15 2.37 2.02 1.08 0.88 1.91 0 5.96 -0.31 0.04 -1.45 0.82 
+-2.11 0.3 -1.64 -1 -0.87 -1.95 -2.32 -1.02 -2.36 -1.52 -1.57 -1.98 -2.45 -0.57 -2.54 1.28 
+-2.82 0.34 -2.47 0.85 -1.72 -1.43 -2.39 -1.46 0.44 -2.75 0.5 -3.21 -0.73 -0.5 0 -10.66 
+2.25 -1.34 -1.43 -2.28 -1.59 1.25 -2.15 0.39 2.91 1.97 0 10.66 -1.37 -0.93 -2.5 -1.95 
+-2.49 -0.91 -2.15 -0.98 -2.16 -3.23 -2.18 -2.8 -1.48 -2.35 0.35 -2.34 2.23 -1.84 -2.6 -1.84 
+-1.55 -1.89 -0.74 -2.3 -2.25 0.02 -2.32 -2.78 -1.61 -2.32 -2.64 0.04 -2.65 0.07 -2.71 0.06 
+-2.67 -0.37 -2.32 -0.87 -2.43 -2.28 -2.24 1.06 -1.34 2.86 -0.7 1.43 -2.19 1.52 -1.91 0.08 
+-1.93 -0.84 -2.21 0.63 -2.73 -0.32 0.97 2.3 0.24 2.8 0.61 2.78 -1.82 0.11 -0.95 1.91 
+0.61 2.78 p
+1.65 1.8 0.67 3.2 0.96 2.75 0.61 2.3 -0.48 2.84 -0.17 1.84 0.57 2.32 -1.46 3.32 
+1.2 1.32 2.52 0.29 1.58 2.23 3 -1.56 2.8 -0.15 3.16 0.28 3.11 -0.57 2.71 -1.04 
+3.56 0.82 3.47 -0.52 2.41 -0.54 2.13 0.46 1.07 1.39 0.75 3.19 0.37 2.32 0.39 3.21 
+0.37 3.19 -0.98 2.34 -1.98 1.39 -0.97 1.39 0.37 1.39 -1.59 1.82 -0.65 0.95 -2.61 0.5 
+-2.22 1.43 -1.95 0.06 -1.58 1 -0.16 2.75 2.26 0.38 1.97 0.86 2.58 0.37 1.22 -1.84 
+2.6 0.39 2.24 -0.02 -0.57 3.23 -1.21 2.76 2.23 -0.02 0.91 -2.32 1.91 0.43 2.21 -0.45 
+0.63 2.32 1.55 0.87 1.89 0.5 1.56 0.89 0.26 2.32 0.58 1.8 2.13 0.96 2.43 1.43 
+2.08 0.98 1.43 1.84 1.11 1.84 0.79 1.87 0.48 2.25 1.13 0.55 0.2 -2.72 1.57 -0.87 
+1.41 1.43 -0.11 1.37 -1.52 0.35 -0.18 2.28 1.98 1.04 3.21 0.18 1.02 1.41 2.35 0.16 
+1.84 -0.78 0.07 1.8 1.28 1.46 -1.28 1.26 1.02 1.02 -1.35 1.7 -0.32 2.69 -1.84 1.22 
+-0.57 2.23 -0.3 2.7 0.35 1.8 1.19 1.46 2.35 0.67 1.06 1.87 2.06 0.63 0.28 -1.78 
+-0.48 -2.32 0.26 -1.76 1.89 0.18 0.29 -1.76 -1.34 -0.74 0 -2.6 1.73 -0.98 0.09 -1.74 
+-2.08 -0.19 -1.41 2.17 1.67 0.74 0 2.6 -0.7 -0.39 -1 -2.8 -0.76 -2.78 2.15 -1.17 
+0.19 -1.37 3.35 -1.06 -0.33 -1.82 1.99 0.2 1.5 1.52 1.3 1 2.2 0.74 1.15 1.5 
+1.5 -1.69 -1.28 -1.02 2.15 -0.7 1.8 -0.22 2.58 1.71 2.73 0.81 1.84 2.08 2.56 1.32 
+2.64 0.88 1.82 -2.5 1.96 0.33 1.41 1.19 0.2 2.39 2.08 1.78 0.29 2.86 -1.07 2.59 
+-0.93 3.08 0.5 1.93 0.21 2.84 2.13 0.93 1.98 -1 1.63 -1.57 1.93 -0.02 1.09 1.65 
+-1.91 5.21 -1.89 0.04 -1.52 2.02 -0.78 2.19 1.45 1.74 2.23 0.98 2.47 1.04 2.95 -0.17 
+3.1 0.82 0.59 1.59 1.58 2.34 3.19 -0.06 -2.18 1.8 -1.66 -0.93 -3.02 1.52 -3.19 -0.87 
+-2.19 -1.47 -2.21 -1.5 -2.23 -1.5 -2.47 -1 -1.2 0.13 0 -5.54 1.93 -1 -1.52 -0.93 
+-0.09 0.11 0 -0.7 2.71 -0.11 -1.12 -1.34 -1.15 -1.37 -1.43 1 1 1.82 0 0.7 
+-0.48 0.67 0.15 1.15 0 5.54 -1.74 0.17 -1.88 1 -2.56 0.87 -0.59 1.72 0.07 2.78 
+-1.41 1.63 0 -21.66 -0.96 -1.43 0.61 -2.22 -1.28 -1.32 -1.11 2.13 0.65 1.65 2.09 1.19 
+0 21.66 -0.63 0.74 -1.11 2.54 0.2 2.78 1.41 2.62 1.15 3.04 1.26 2.56 0.41 2.89 
+1.24 1.25 -1.08 2.5 -2.7 1.17 -1.43 -0.78 -1.57 -0.37 -1.95 0 -0.37 -1.88 -1.08 -1.18 
+0.67 -1.21 -0.63 -1.96 2.13 -0.91 -1.09 -2.04 -0.24 -1.91 -1.76 -1.71 -1.3 -1.61 -1.48 -2.08 
+-1.04 -2.89 -0.52 -1.46 0.48 -2.64 0.26 -2.67 0.82 -2.16 2.41 -1.41 2.38 -1.41 1.24 -1.65 
+-0.35 -1.43 -1.34 -1.61 1.21 -0.67 -1.89 -1.7 -1.8 -2.14 -0.07 -1.82 0.65 -2.65 0.02 -2.3 
+0.2 -3.14 -0.58 -3.28 -1.91 -0.28 -2.14 -0.29 -1.17 -2.45 0.61 -1.74 -1.91 -0.22 -2.23 -0.26 
+-0.33 1.76 -1.47 2.13 0.48 1.87 -1.24 1.08 0 -3.41 0.91 -2.08 -1.15 -1.39 1.02 -0.93 
+-1.84 -1 p
+-0.66 0.04 0 -1.26 1.76 -0.32 -0.7 -0.93 -1.61 -0.68 -1.35 1.24 1.89 0.7 0 1.26 
+-1.34 0.13 -1 2.63 2.04 1.3 2.02 1.3 0 3.41 -1.09 0.93 -1.52 2.56 -1.59 2.97 
+-1.5 2.56 -1.3 3 -1.73 1.2 -0.74 -1.85 -1.52 -0.15 -2 -2.41 -1.32 -1.89 -2.46 -1.52 
+-2.69 0.26 -2.73 1.17 -1.43 1.29 0.09 2.25 1.39 1.82 -2.26 -0.54 -0.67 1.74 0.85 1.87 
+-1.67 2.11 -0.41 2.21 -0.66 2.21 1.07 1.78 -1.09 1.72 1.98 1.88 1.69 1.84 1.61 2.32 
+2.71 0.63 1.13 1.82 0.82 2.3 1.74 -1.17 1.21 2.32 1.17 2.3 1.15 3.23 1.8 1.95 
+0.48 2.71 0.56 2.3 0.33 2.21 0.67 2.32 1.43 2.41 0.21 2.21 1.93 2.96 -2.52 -0.81 
+-2.13 -0.74 -2.04 -2.06 1.19 2.37 2.76 1.3 -1.63 1.09 1.65 1.56 1.35 1.95 0.2 -2.62 
+1.06 1.49 0.7 -1.62 1.46 2 -1.37 0.19 -0.54 1.71 2.02 1.2 0.89 2.84 2.54 0.5 
+2.36 1.43 0.79 2.43 1.41 1.7 2.34 -0.79 0.34 1.89 1.2 1.26 1.24 -2.91 1.09 2.17 
+1.52 -1.91 0.26 3.32 2.91 -0.02 2.71 -0.55 2.58 -0.58 -1.26 -2.34 -2.64 -0.33 3.32 -0.87 
+2.65 0.39 1.11 1.37 2.41 -0.13 1 -1.56 3 0.59 3.05 0.21 3.06 -0.26 3.06 -0.78 
+3.04 -0.7 2.8 -0.3 2.95 -0.7 2.17 -1.65 1.78 -2.3 -0.2 -2.17 -1.37 -2.15 -2.15 -1.5 
+-2.87 -0.13 -2.38 -0.48 -2.24 -0.33 -2.9 0.42 -2.97 -0.13 -2.96 0.95 2.7 -1.99 2.54 -0.57 
+3.43 -1.24 1.52 -2.4 1.24 -2.04 1.48 -2.43 0.3 -0.02 2.95 -0.28 1.43 -0.43 2.13 -0.65 
+2.91 1.15 -1.61 2.41 -1.72 -0.7 -2.97 1.3 -0.14 2.02 2.13 0.3 2.87 -0.34 2.37 0 
+2.86 0.71 -2.8 1.87 -2.5 1.52 0.63 2.34 1.19 2.11 0.14 2.23 2.34 0.57 2.08 0 
+-0.09 2.1 -1.93 2.26 -1.93 0.11 -1.26 2.61 -2.23 2.61 -3.3 1.02 2.93 0.41 2.08 1.13 
+2.05 -0.54 2.45 -1.43 -1.82 -1.52 0.56 -2.48 2.34 0.22 2.3 -1.02 1.87 1.06 0.52 2 
+-2.43 2.58 0.93 1.67 0.8 2.24 0.3 1.97 1.02 1.89 0.33 2.06 0.3 2.06 2.43 -1.97 
+2.84 -0.39 -1.02 1.74 1.15 1.47 2.02 0.98 -0.29 2.39 0.43 1.75 2.91 -2.25 1.52 0.59 
+-1.71 1.32 0.52 1.13 -0.48 1.67 -2.47 0.54 -2.19 0.89 -2.61 -0.24 -2.06 0.28 -1 1.83 
+3.56 -0.33 3.73 0.65 2 1.26 3.17 0.11 1.65 1 2.47 0.32 0.52 0.2 1.69 0.65 
+2.61 -0.24 2.37 0.29 -2.23 2.4 -2.26 -0.17 -3.36 1.04 -1.98 -0.63 -1.82 1.13 -1.9 1.96 
+-2.85 0.76 -2.19 1.61 -0.63 2.6 -1.93 1.96 -2.75 1.78 -1.93 1.98 -1.93 1.91 -0.15 1.73 
+2.36 -0.37 1.24 -1.13 2.69 1.07 2.04 -1 2.12 -1.71 2 -2 3.23 -0.2 2.97 -1.49 
+2.97 -1.54 3.32 -1.93 2.95 -1.59 3.45 0.11 2 -1.91 2.45 -1.37 1.75 -2.39 1.15 -2.12 
+0.35 -3.15 3.64 0.2 -0.36 2.3 -0.81 2.67 -1.93 2.15 -1.65 2.63 -3.78 1.33 -2.89 1.66 
+-0.67 2.11 -1.91 -2.04 -3.73 1.46 -2.84 1.75 -2.04 1.91 -2.95 0.56 -2.52 0.11 -2.54 2.21 
+-0.32 1.65 -1.65 1.57 -2.17 0.82 -2.17 -0.43 -0.76 0.84 2.73 0.33 3.26 -1.07 2.28 -1.69 
+3.06 -1.41 p
+4.34 3.38 -1.91 -0.02 -2.54 -1.21 -2.95 0.47 -0.41 1.52 2.13 0.43 -0.69 1.22 -2.93 -0.87 
+-1.09 1.61 2.04 0.32 0.61 1.3 2.21 0.8 3.17 0.37 -0.39 2.09 -3.04 0.06 -1.78 -1.37 
+-3.21 1.17 -3.97 0.74 0.28 2.23 0.15 2.39 -0.48 2.19 -0.06 2.36 -2.87 0.11 -2.23 0.71 
+-1.98 1.65 -1.96 1.91 -1.39 2.56 -0.97 2.04 -2.17 1.61 0.04 1.7 -1.8 2.73 2.3 -0.63 
+-1.43 3.23 -2.21 -0.29 -0.3 2.22 -3.43 0.21 -3.19 1.69 -2.64 1.63 1.69 2.02 2.86 -1.91 
+-0.52 1.84 0.05 1.58 3.8 -1.13 -0.5 1.54 -1.84 0.33 -0.57 1.52 -0.17 1.71 0.54 1.43 
+1.63 1.34 2.61 0.59 3.43 0.09 2.88 -1.25 3.64 -1.76 2.89 -1.65 3.5 -1.76 1.65 -1.58 
+3.06 -1.02 -0.44 1.48 -1.64 1.73 -1.81 1.82 -1.36 -0.89 -2.04 0.87 0.63 1.33 0.63 1.11 
+-0.59 1.32 -2.67 -0.32 -0.98 -1.65 -1.41 0.58 -0.17 1.58 2.56 -0.52 3.38 1.25 -1.89 1.48 
+-1.28 1.37 0.13 1.82 -1.11 1.84 2.82 0.07 -0.17 2.13 -1.35 2.73 -1.82 1.65 -1.58 -1 
+-2.34 -0.15 -1.8 2.28 -0.7 2.91 -0.86 2.3 1.47 2.32 3.41 0.37 3.49 -0.37 2.17 1.63 
+1.21 1.87 -0.28 1.54 -3.04 0.49 -2.84 -0.34 -2.91 -0.3 1.08 1.93 -0.41 1.52 -2.3 0.26 
+-1.78 0.89 -0.39 1.39 -3.55 2.17 -2.28 2.09 -1.33 -1.56 -1.17 -1.15 -2 -0.14 -2.32 1.59 
+-0.87 -1.37 -2.34 1.93 0 -46.89 1.56 -1.76 0.43 -2.08 1.98 -1.71 -0.79 0.17 0 -31.41 
+2.82 -1.63 0.37 -2.21 0.13 -2.41 -0.45 -2.06 0.54 -2.56 0.41 -2.52 1.37 -2.3 0.98 -2.56 
+1.25 -2.3 1.24 -2.34 1.09 -2.34 1.36 -2.17 2.37 -2 2.78 -1.67 2.82 -1.02 3.43 0.2 
+-0.17 -1.5 -2.61 -1.37 -2.87 -0.93 -1.34 0.15 0 -10.07 3.3 -0.22 0.91 -1.73 -1.34 -2.02 
+-2.56 1.88 -0.3 2.09 0 10.07 -1.65 0.19 -3.54 0.5 -2.3 2.02 0.28 2.02 -1.93 1.11 
+-1.43 2.64 0.11 1.98 -2.21 0.8 -0.8 2.56 -1.97 2.91 -1.67 1.2 0.5 2.43 -0.65 1.48 
+-0.79 2.11 -0.08 2.78 1.66 1.75 0.61 2.32 -1.29 1.73 -0.26 2.3 1.89 0.71 0 31.41 
+-2.11 0.48 -3.55 0.84 -3 0.7 -1.37 0.93 1.37 1.39 2.06 1 3.41 0.04 0 46.89 
+-0.13 0.13 -2.04 1.65 -1.82 1.5 0 -3.17 2.75 -2.14 0.33 -1.65 -2.32 -0.41 -0.84 0.34 
+0 -0.78 1.41 -0.46 -1.46 -0.99 -1.21 0.8 1.26 0.66 0 0.78 -1.55 0.63 0.05 2.34 
+1.58 0.89 0 3.17 -0.24 0.2 -1.73 2.25 -3.15 1.61 -1.88 1.72 1.75 1.67 -0.35 1.39 
+-1.88 0.85 -0.8 1.56 1.32 1.07 -2.71 0.72 -0.18 0.06 0 -21.09 2.93 -0.3 0.39 -1.21 
+3 -0.91 2.57 -0.79 1.22 -1.32 -1.43 -2.09 -3.04 -1 0 -38.78 3 -0.67 2.84 0.17 
+0.74 -1.41 -1.04 -1.34 -1.02 -1.74 -2.87 -0.43 -1.21 -1.54 -2.84 -0.17 -2.84 1.49 -2.88 0.67 
+-2.32 1.91 1.67 0.52 1.65 0.7 1.76 -0.46 2.23 0.32 1 1.3 2.14 0.67 0 38.78 
+-0.91 -0.32 -3.19 0.7 -0.5 2.82 -3.4 -0.32 -0.09 1.97 -1.04 0.61 -0.72 1.28 1.15 0.74 
+3.06 0.15 0 21.09 -2.24 0.87 -3.75 0.68 -2.91 1.34 0 -17.77 2.08 -0.95 1.82 -2.59 
+-1.02 -2.13 p
+-0.57 1.13 -2.62 1.74 -2.2 1.78 2.5 1.02 0 17.77 -0.24 0.11 -2.84 1.28 -0.91 1.11 
+0 -96.24 2.82 -0.74 0.28 -1.34 -1.32 -0.68 2.61 -1.28 0.3 -0.96 -1.84 -1.12 0.69 -1.89 
+-1.19 -1.06 -0.89 1.87 1.39 1.09 -1.76 1.34 0.7 2.02 -1.17 1.02 -0.61 1.74 0 96.24 
+-0.33 0.39 0.46 1.72 2.52 1.08 -2.23 1.76 -4.11 1.13 -1.3 0.22 0 -105.02 2.52 -1.09 
+1.15 -1.7 1.61 -0.15 -0.43 -1.8 -0.87 -0.24 0 -1.54 1.84 -0.16 -1.15 -1.17 -0.7 1.33 
+0 1.54 -1.39 -0.39 -0.85 1.08 1.06 0.93 -1.67 1 0 -5.12 0.46 -1.61 1.37 -1.02 
+-0.89 -1.11 -1.71 -0.33 -1.15 0.95 -1.07 -0.67 -1.52 -0.09 0.34 2.54 1.46 -0.04 0.93 -0.74 
+0.63 2.04 1.15 0.07 0 5.12 -0.43 0.25 -0.7 2.09 0 105.02 -3.49 0.58 -4.21 1.33 
+-3.26 1.3 -2.3 -0.61 -2.16 -0.98 -2.61 1.06 0 -127.66 0.84 -1.37 -0.2 -2.48 -1.41 -1.73 
+-3.69 -0.09 -3.21 1.21 1.32 -2.45 3.67 -0.95 1.71 -1.74 2.04 -1.28 2.89 -0.98 -1.61 -3.08 
+-2.82 0.21 0 2.63 -1.82 0.93 -1.46 2.02 -1.13 -1.32 0.67 -1.89 -0.11 -2.75 -0.11 -2.63 
+0.39 -2.5 -3.45 2.08 -2.34 2.09 -1.08 2.13 1.43 1.58 -2.46 -0.37 -2.54 2.08 -1.56 2.95 
+-0.48 2.04 3.11 0.83 2.13 -0.46 0.32 1.87 2.02 -0.17 -0.63 1.56 1.58 1.63 1.76 -1.3 
+1.5 1.67 2.28 -0.29 2.43 0.31 0 127.66 -0.22 0.09 1.09 0.84 2.49 -0.41 0.39 1.3 
+-2.49 1.11 -0.18 1.37 -2.52 0.04 -2.02 -0.73 0.58 -1.78 -0.84 -2.26 -3.71 0.79 -3.52 0.7 
+-3.57 0.67 -4.12 0.26 -3.34 1.15 -3.45 0.74 -0.72 0.23 0 -5.88 0.37 -1.17 -3.41 -1.63 
+-4.38 -0.07 -2.21 1.41 4.42 1.2 2.17 -0.39 3.04 0.65 0 5.88 -2.34 0.8 -0.7 0.35 
+-2.71 1.3 -2.75 1.24 -3.84 0.86 -0.61 0.2 0 -251.65 0.48 -1.34 -2.71 -1.7 -1.21 -2.21 
+2.43 0.41 2.15 -0.07 2.65 -0.04 0.24 -1.82 -0.87 -1.75 -1.17 -2.23 -1.43 -1.76 -1.71 -1.3 
+2.19 -0.04 2.21 -0.98 1.06 -1.78 0.5 -2.71 1.09 -2.28 2.3 -0.89 0.87 -2.28 0.58 -1.78 
+0.87 -1.37 0.56 -1.84 -1.15 -1.34 0.89 -0.87 1.17 1.36 1.48 0 2.09 -0.91 0.93 -1.78 
+-0.85 -2.3 -2.08 -1.37 -1.5 -2.3 3.08 -0.41 -1.8 -2.32 -3.12 -0.89 -2.78 0.02 -2.78 0.45 
+-2.5 -1.32 -2.75 0.98 -2.52 -0.41 -0.73 -2.24 -3.06 0.98 -2.28 -1.71 -1.85 0.52 2.3 1.76 
+1.95 1.73 1.7 2.23 2.13 -0.06 1.84 -0.04 1.28 2.19 -2.47 -1.3 -1.75 1.41 -1.8 0.57 
+-2.45 -0.39 -0.54 1.39 2.24 1.26 1.84 0.87 0.15 2.71 -2.11 0.09 1.32 1.73 -0.52 1.39 
+3.21 -0.54 2.06 0.37 0.11 2.28 1.21 2.24 -1.71 0.04 -1.35 1.84 1.24 2.21 -5.21 -1.65 
+-1.02 1.89 1.61 3.06 -1.24 1.85 -1.84 -2.13 0.13 1.78 -1.95 0.09 2.36 1.67 0.43 2.23 
+-1.97 -0.8 0.15 1.82 1.58 2.6 -2.15 0.11 -1.23 1.41 1.17 0.8 1.52 -0.93 0.41 1.76 
+1.48 1.69 1.21 2.19 2.86 -0.11 2.87 0.33 0 251.65 -2.91 0.96 -2.8 1.11 -1.93 1.5 
+-4.21 -0.37 -4.95 0.09 -3.28 1.23 -3.91 1.09 2.09 1.3 1.19 1.45 3.69 0.48 -0.65 1.86 
+1.63 1.45 p
+0.41 1.67 3.8 -0.29 4.17 -0.91 2.84 -0.78 0.87 -1.56 3.54 -0.44 2.23 0.71 2.91 -0.24 
+1.22 -1.58 0.65 -1.59 3.04 1.3 -2.3 1.26 1.41 1.93 1.17 0.48 1.48 0.47 3.29 0.92 
+4.17 -0.42 0.18 1.59 -3.04 0.11 -0.83 1.26 -0.82 1.91 -1.52 1.91 -1.63 1.24 2.71 1.54 
+3.23 -1 4.64 -0.17 3.1 0.78 3.82 0.39 3.32 0.98 3.13 0 3.45 0.93 3.52 0.82 
+3.93 0.74 3.88 0.39 2.28 1.52 1.57 -1.48 2.3 -1.32 3.66 -0.98 3.45 -0.04 3.32 0.26 
+3.75 0.8 -1.39 -1.93 3.85 -0.26 3.28 0.52 1.93 -1.15 3.93 -0.37 1.84 1.11 2.28 1.02 
+3.75 0.57 3.04 0.7 0.63 1.48 -2.71 0.13 -1.84 1.49 3.52 0.63 1.28 1.23 -1.37 1.02 
+0.72 1.69 2.5 -0.07 1.13 -1.3 2.86 -0.22 2.93 0.67 1.23 1.54 -0.59 1.78 2.82 0.07 
+2.14 -1.02 4.17 -0.78 3.64 0.04 2.28 1.13 1.08 1.19 0 136.98 -4.62 0.78 -7.16 1.13 
+-7.14 1.04 -7.12 0.96 -7.07 0.89 -0.39 0.05 0 -151.78 -2.89 -1.15 -2.93 0.11 -0.04 0.98 
+5.86 0.07 0 151.78 -6.66 0.74 -7.04 0.71 -6.96 0.65 -6.95 0.54 -6.9 0.48 -3.09 0.18 
+0 -127.41 2.43 0 2.12 -0.87 -1.97 -0.02 -2.59 0.89 0 127.41 -3.78 0.22 -6.81 0.32 
+3.34 -0.12 3.43 -0.18 1.73 -0.09 1.75 -0.11 1.76 -0.08 1.8 -0.11 1.8 -0.12 1.82 -0.11 
+1.85 -0.12 1.86 -0.14 1.87 -0.15 3.82 -0.3 1.95 -0.15 -0.32 0.02 -2.3 0.2 -2.32 0.2 
+-2.34 0.18 -2.34 0.2 -2.37 0.15 -2.37 0.17 -2.38 0.16 -2.41 0.13 -2.43 0.15 -2.43 0.14 
+-2.45 0.1 -4.95 0.22 -2.5 0.09 -0.26 0.02 -2.25 0.07 -5.05 0.15 0 0.11 -2.35 0.06 
+-25.15 0 -4.38 -0.11 -1.47 -0.04 0 -122.92 -0.85 -0.89 -2.6 0.41 3.45 0.48 0 122.92 
+-4.19 -0.11 -5.64 -0.24 -3.06 -0.13 0 -165.23 0.48 -1.26 -4.6 -0.61 -2.88 0.52 -3.87 -0.28 
+3.28 1.52 3.99 -0.71 3.6 0.83 0 165.23 -2.58 -0.12 -11.29 -0.7 -5.64 -0.44 -5.64 -0.45 
+-0.71 -0.06 0 -154.82 3.04 -0.33 -2.61 -0.84 -2.59 -0.89 -2.58 -0.25 -0.63 0.8 2.39 1.22 
+2.97 0.3 0 154.82 -4.51 -0.43 0 -129.08 -2.02 -3.02 -2.52 -0.8 -0.56 0.78 1.41 0.85 
+3.69 2.19 0 129.08 -0.39 -0.04 -5.64 -0.52 -0.85 -0.11 0 -131.84 -1.84 -1.61 0.8 -1 
+-3.91 -0.89 -0.78 0.89 2.56 1.31 3.17 1.3 0 131.84 -4.77 -0.54 -5.6 -0.65 -2.26 -0.28 
+0 -136.98 1.58 -0.52 -3.75 -2.56 -4.1 -2.11 -1.48 -2.06 -3.43 -2.02 -3.97 -1.62 -0.84 -2.26 
+-2.87 -2.34 -1.32 -2.2 -1.52 -1.93 1.56 -1.82 1.89 -1.69 2.02 1.09 3 0.78 -0.17 1.3 
+4.47 -0.48 5.83 1.91 1.87 1.25 2.74 -0.82 0 -1.32 3.82 -1.17 2.13 2.23 3.43 0.93 
+3.19 -0.79 3.71 -1.02 2.61 -1.34 3.97 -0.71 -0.3 -2.7 -1.28 -2.28 0.26 -1.26 -2.07 -1.52 
+-3.99 -0.02 -1.46 -2.11 -4.1 -1.52 0.7 -1.89 2.95 -0.87 0.41 -1.58 2.54 1.41 1.8 1.52 
+3.8 0.35 4.04 1.3 5.2 0.45 1.89 -0.93 -0.41 -1.39 3.26 0.28 2.25 -0.21 -2.43 -2.15 
+-2.9 -1.61 -2.8 -1.65 -2.61 -0.63 -1.32 1.41 -4.93 -1.29 -0.32 -1.52 3.41 -0.79 3.88 -0.43 
+2.76 -1.41 p
+4.36 -0.28 3.43 -0.74 0.61 -1.93 -3.04 -1.02 -3.25 -1.43 -0.39 -1.66 0.37 -1.93 -1.65 -2.2 
+-2.6 -1.13 -2.2 -2.47 -3.21 -1.19 -1.3 -2.56 -1.07 -0.15 0 -74.74 2.97 -0.65 0.2 -1.52 
+1.43 0.24 1.54 -0.82 2.02 -1.13 2.59 -0.58 1.63 -1.91 0.11 -1.37 1.17 -0.84 0.83 -1.41 
+-0.16 -1.67 0.33 -1.7 -0.87 -1.41 0.02 -1.26 -1.26 -0.62 -2.09 0 -0.91 0.08 0 -0.91 
+3.21 -0.48 3.91 -1.61 0.17 -2.62 2.82 1.28 1.65 -1.52 2.46 1.15 3.19 0.43 3.62 -0.67 
+3.04 -0.11 2.58 -1.47 2.64 -1.11 0.89 -1.86 -0.11 -1.39 1.46 -1.06 0.69 -1.61 -2.34 -0.71 
+-3.06 0.33 -2.09 0.82 -1.82 -0.37 3.69 -1.19 -1.04 -1.76 1.62 -0.08 0.72 1.28 1.83 -0.22 
+-0.35 -1.37 -1 -0.62 -2.14 -0.81 -2.24 -1.75 2.63 0.13 2.19 0.71 1.74 0.93 1.02 -0.71 
+2.21 1.19 2.71 -1.06 1.02 -1.93 -3.45 -2.34 -2.09 -1.3 -0.74 -0.63 0 -92.34 -1.5 -1.5 
+0 -19.05 -1.04 -2.64 -2.87 -2.08 0.93 1.28 0.2 1.82 2.78 1.63 0 19.05 -0.37 -0.37 
+-1.37 0.52 0.61 1.13 2.63 0.22 0 92.34 -1.5 -1.26 -1.82 -1.89 -1.26 -1.8 -1.78 -1.2 
+-0.41 -2.02 -0.78 -1.07 0 -120.86 2.5 -0.59 2.21 -0.61 0.98 -1.84 0.37 -2.71 -2.45 -1.67 
+0.39 -2.3 0.07 -2.73 -0.78 -2.25 -0.75 -2.2 -3.37 -0.3 -2.88 -1.61 -2.82 -0.74 -3.06 -0.22 
+-1.65 1.52 -0.58 2.34 2.08 -0.17 1.23 2.64 2.11 2.56 -1.76 0.16 -1.52 1.93 1.91 1.2 
+-1.61 1.07 1.11 1.71 2.3 -0.2 2 -0.13 1.28 1.26 -1.61 1.04 1.7 2.11 2.63 0.73 
+0 120.86 -0.85 -1.2 0.43 -1.84 -0.06 -2.58 -0.96 -1.54 -2.34 1.39 -0.78 -0.34 0 -7.45 
+0.78 -1.99 -1.54 0.04 0.76 1.96 0 7.45 -1.26 -0.5 -0.91 -1.76 1.95 -0.95 -0.11 -2.61 
+-0.98 -2.41 -2.09 -2.36 2.02 -0.42 -1.47 -1.9 -4.21 -0.42 1.61 -1.25 -0.72 -1.76 -2.23 0.24 
+-1.37 -0.61 -1.88 -0.63 1.47 -1.04 -0.61 -2.54 -1.17 -1.56 -1.93 1.65 -1.78 1.54 0.87 -2.02 
+1.26 -2.15 0.69 -2.37 -0.86 -2.08 -1.18 -2.43 -2.65 0.17 -1.46 1.24 0.48 2.17 0.28 1.74 
+-2.25 -0.28 -0.72 -2.56 -2.69 -0.65 -0.61 -1.22 3.04 0.57 2.06 -1.89 2.3 -1.05 -2.04 -1.32 
+-2.93 -1.09 -2.82 -1.15 -0.83 -0.21 0 -14.24 1.59 -0.84 1.13 -2.06 -0.89 -3 2.93 0.28 
+1.08 2.5 0.96 -1.54 1.45 1.09 2.54 0.02 1.34 -1.15 2.09 0.56 1.86 1.46 1.04 -1.5 
+2.32 0.09 -0.54 -3.02 2.14 -1.63 -0.67 -3 -2.76 -2.3 -3.77 -0.81 -2.87 -1.39 -2.52 0 
+-3.35 -1.21 -3.02 1.43 -2.14 1.79 -4.49 0.95 2.71 1.73 -0.5 2.87 -3.49 0.8 3.54 1 
+2.5 1.32 -1.3 1.17 -2.32 -0.34 -1.65 0.82 2.08 1.34 0.89 1.67 1.59 -0.37 0.49 1.25 
+0 14.24 -1.84 -0.46 -3.21 -0.5 -3.02 -0.02 -2.59 -0.33 0 -220.03 -0.54 -1.39 -1.67 -0.35 
+-0.35 -3.27 -2.19 -0.78 0.17 1.41 2.37 2.64 0.93 1.33 1.28 0.41 0 220.03 -0.67 -0.08 
+-2.75 0.89 -2.45 -0.61 -2.95 -1.43 -2.12 -1.72 -0.74 -0.5 0 -221.16 1.41 -0.67 0.04 -1.43 
+-1.74 -0.28 -0.48 1.49 0.76 0.89 0 221.16 -1.54 -1.08 -0.64 -0.22 0 -217.27 -1.08 -2.24 
+-1.34 -0.82 p
+-1 2 1.67 0.11 1.75 0.96 0 217.27 -2.19 -0.76 -2.99 -0.85 -3.93 -0.45 -3.25 1.34 
+-3.09 0.26 -2.12 -1.67 -1.85 1.39 -1.06 -3.73 -1.87 -2.3 -2.26 -2.13 -3.43 -1.63 -3.25 -0.58 
+-1.35 -3.67 -2.91 -1.84 -2.32 -2.13 -1.91 -2.32 -2.75 -1.96 -2.23 -0.04 -1.89 3.13 0.11 2.67 
+-1.56 1.93 -2.78 2.02 0.02 4.02 0.86 2.95 1.09 3.39 0.82 1.82 1.21 4.54 1.61 1.95 
+0.11 2.3 2.54 2.61 1.74 3.04 0.26 3.46 2.26 2.13 1.82 2.41 2.78 2.35 3.26 2.06 
+3.08 0.87 2.56 -1.71 3.73 2.88 1.84 2.97 -3.45 -0.89 -3.08 0.91 0 2.78 3.12 2.06 
+3.21 1.96 1.87 -1.58 0.93 -2.82 1.8 2.37 -0.89 1.87 1.93 2.88 -2.47 -0.63 -1.67 1.28 
+0.61 1.52 2.96 1.45 1.39 2.06 3.34 1.93 1.84 1.7 1.15 2.34 2.56 1.82 1.37 2.61 
+1 1.97 1.85 1.24 -0.76 1.97 0.43 2.63 -1.45 1.56 -1.76 1.61 -2.17 0.54 -0.18 2.43 
+0.83 1.67 1.82 -0.09 0.21 1.93 0.79 1.43 2.11 -0.43 1.58 -1.13 0.41 2 1.89 1.2 
+-1.04 1.02 1.17 1.89 2.89 0.43 2.06 -1.21 2.54 -0.61 2.75 -1.78 3.93 0.71 1.65 1.26 
+-1.39 1.84 3.16 0.54 3.19 -0.08 2.17 -0.05 0.69 -1.28 1.98 0.5 1.52 1.37 0 0.91 
+-1.54 0.13 -1.52 -0.63 -3.97 0.24 -3.19 0.42 -2.88 -0.13 -3.65 -0.07 -2.47 1.39 -3.59 -0.3 
+-3.19 -1.12 -3.53 -0.39 -1.43 1.78 -2.06 -1.02 -2.75 0.8 -2.09 -2.34 -3.2 0.34 -2.45 1.56 
+1.96 1.26 -1.5 0.8 0.17 1.59 -1.47 0.93 -0.07 2.91 0.3 2.02 2.78 0.57 2.23 -0.98 
+1.02 -1 0.98 1.23 2.78 0.57 1.04 -2.2 1.32 2.26 4.19 -0.63 1.08 -1.09 2.43 1.06 
+3.04 0.65 0.91 1.43 3.84 0.05 -0.76 -1.89 1.7 -0.56 1.76 -1.87 2.43 -0.85 -1.56 1.91 
+-0.61 2.04 -1.21 1.29 -0.33 2.04 2.11 1.61 3.41 0.78 0 74.74 -2.97 -0.41 -2.06 0.43 
+-2.21 -0.91 0 -71.27 2.38 -0.75 3.08 0.15 0.02 -1.12 -3.08 -0.82 -2 -1.07 -0.37 -1.8 
+-1.61 -0.93 -2.91 -0.11 -0.57 -1.59 -2.56 -0.5 -1.91 0.8 -3.3 0.13 -2.61 0.64 -0.24 2.6 
+2.43 1.61 3.08 0.68 2.41 -0.16 2.67 0.85 1.96 1.15 3.11 0.25 0 71.27 -1.85 -0.74 
+-1.58 0.11 0 -67.27 1.78 -0.48 -3.02 -1.08 1.23 1.56 0 67.27 -2.17 0.16 -1.24 -0.57 
+0 -61.07 1.04 -0.61 -0.35 -1.24 -1.52 -1.06 -0.3 -1.39 -2.43 -1.33 -2.75 -0.12 -2.45 -0.55 
+-0.48 -0.98 2.71 -0.2 2.87 0.04 -2.56 -2.19 -1.74 -0.56 -2.04 0.2 -0.13 1.28 -0.17 1.59 
+-1.02 1.08 3.02 0.98 0.24 1.28 1.35 1.93 1.8 0.76 1.82 -0.78 1.63 1.54 1.48 0.33 
+0 61.07 -1.32 -0.61 -2.17 -1.02 0 -52.28 1.31 -0.87 -0.46 -2.11 -2.07 -1.58 -0.95 0.69 
+0.37 1.35 1.3 0.86 0.5 1.65 0 52.28 -0.74 -0.32 -0.54 -0.11 0 -49.91 0.39 -1.33 
+-2.26 0.11 0.06 0.76 1.8 0.46 0 49.91 -3.73 -0.8 -0.86 -0.46 0 -38.13 0.36 -1.8 
+1.56 -1.59 0.85 -1.5 0.32 -1.37 -1.25 -1.58 1.25 -1.2 -0.62 -0.26 0 -2.95 0.15 -1.37 
+0.48 -1.19 -0.39 -1.04 -2.95 0.34 -0.98 1.71 1.32 1.45 2.37 0.09 0 2.95 -1.74 -0.73 
+-1.02 1.3 p
+-0.96 -0.05 0 -11.24 0.29 -0.91 -1.89 -0.16 0 -7.62 1.02 -1.87 -0.17 -2.47 -1.56 -0.41 
+-1.54 0.63 0.8 2.13 1.45 2 0 7.62 -0.35 -0.02 -2.56 -0.65 1.07 1.41 3.45 0.33 
+0 11.24 -1.65 -0.07 -1.91 1.79 2.28 1.3 -1.71 0.96 -1.37 1.54 1.65 1.34 0.65 1.3 
+3.3 0.61 0 38.13 -1.91 -1.04 -3.28 -0.67 -1.8 -1.5 -1.04 -0.65 0 -38.46 1.63 -0.96 
+0.67 -1.49 -2.23 0.71 -1.45 0.72 1.39 1.02 0 38.46 -1.28 -0.78 -2.17 -0.44 0 -38.93 
+2.34 -1 2.54 -1.2 1.8 -1 -1.15 -1.47 -2.54 -1.58 -2.08 -0.74 -2.64 -0.52 -1.43 -2.32 
+2.54 0.7 1.71 -0.34 1.43 0.97 1.89 -0.91 1.15 -0.96 -1.37 -0.22 0 -13.52 -0.78 -2.04 
+-1.8 -1.69 0.11 -1.89 -1.84 -0.89 -1.21 -1.43 -1.37 0.29 -1.65 -2 -0.39 -2.45 2.13 -1.73 
+-0.11 -2.11 0.57 -1.65 -0.91 -2.43 -2.52 -0.87 -2.91 -0.22 -1.86 1.67 1.06 2.28 -2.56 0.63 
+-0.54 2.13 -0.11 2.11 0.02 2.34 1.21 2.76 3.39 0.86 2.89 0.15 2.78 0.89 1.63 1.47 
+-0.59 1.95 2.93 1.65 2.45 0.21 0 13.52 -1.61 -0.26 0 -3.99 0.07 -1.09 -2.04 -1.17 
+-2.78 -1.26 2.88 0.09 1.78 -0.63 -0.48 -1.91 -2.17 -1.83 -2.61 -0.28 -2.9 -0.52 -3.45 0.17 
+0.28 2.73 4.04 1.43 -1.13 1.67 3.08 1.3 2.39 0.37 3.04 0.91 0 3.99 -0.45 -0.06 
+-2.71 -1.74 -1.5 -1.54 -2.63 0.33 -2.8 0.13 0 -1.7 2.26 -0.5 -2.52 -0.91 0.26 1.41 
+0 1.7 -0.15 0 -0.09 1.52 1.23 2.54 -0.8 1.45 -1.3 1.31 -0.13 1.36 1.28 1.54 
+1.79 0.5 0.58 -1.61 2.8 1.04 -1.24 1.35 1.78 1.17 1.76 1.57 0 38.93 -1.04 -0.21 
+-2.7 -0.61 -3.08 -1.91 -3.58 -1.06 -3.06 -0.67 0 -21.86 2 -1.28 2.3 -1.41 3.04 -0.93 
+4.32 0.13 -0.61 -2.32 0.26 -2.06 -3.08 -1.89 -1.43 -2.28 -3.06 -0.86 0 -25.14 3.73 -0.56 
+0.02 -1.34 -2.39 -1.29 -3.6 -0.63 0.98 2.11 1.25 1.71 0 25.14 -0.46 -0.11 -3.25 -1.8 
+-0.98 2.04 -0.06 0.13 0 -47.16 1.15 -1.32 0.48 -1.82 -0.63 -1.8 -2.35 -1.45 -1.97 -0.59 
+-0.31 2.26 -1.54 0.89 0.24 2.06 2.65 1.43 2.28 0.35 0 47.16 -0.76 1.8 -1.02 2.17 
+-3.95 1.02 -2.41 1.65 0.59 1.78 -0.2 2.15 4.58 0.55 4.19 1.54 0 21.86 -0.54 -0.13 
+-3.84 -1.47 2.26 -0.87 0.57 -1.66 -1.22 -1.59 -2.54 -0.89 0.5 -1.58 -0.33 -2.54 -0.32 -2.34 
+-3.14 -0.04 -0.26 -1.59 2.91 -1.47 -3.5 -1 0 -13.11 2.67 -0.48 1.09 -1.35 1.82 -0.15 
+0.87 -1.5 0.3 -1.8 1.22 -1.37 -0.76 -1.54 -4.17 -0.43 1.61 -1.91 -2.17 -1.49 0.37 -1.72 
+-2.99 -2.28 3.17 -0.67 3.08 -1 -0.35 -2.08 -2.16 -1.26 -2.39 0.5 -1.39 0.43 0 -2.93 
+0.82 -1.17 -0.56 -2.11 3.38 1.63 2.24 0 0.97 -1.28 -0.71 -1.82 1.35 -1.2 -3.47 -1.39 
+-3.09 0.87 -1.36 -2.15 -3.85 -1.25 -4.01 -0.52 -1.07 1.89 -2.23 1.34 3.52 1.93 3.04 1.87 
+0.21 1.56 2.69 0.76 2.13 1.04 0 2.93 -1.56 0.5 -2.93 -0.67 -3.88 -1.22 -3.93 -0.12 
+-2.91 -1.87 -2.21 -2.5 -1.56 -2.87 -3.19 -0.26 -0.33 1.84 -2.62 -1.25 -1.84 1.5 -0.57 2.02 
+2.32 2.41 p
+2.73 1.84 -1.82 1.59 -0.54 2.2 -0.87 2.61 0.35 2.86 0.49 2.46 5.04 1.28 1.08 2.41 
+2.73 2.06 4.43 0.43 -0.72 -2 -1.15 -2.43 0.76 -2.11 2.82 2.11 0.87 2.21 1.89 2.58 
+2.73 1.41 1.95 -0.63 2.63 1.71 0 13.11 -1.37 -0.39 -3.78 -0.26 -2.11 -1.17 2.56 -1.96 
+-3.8 0.35 -1.32 -1.3 2.36 -1.13 -1.84 -2.64 -3.49 -1.57 -3.08 -2.26 -2.73 -2.19 -1.54 -2.54 
+-2.78 -2.3 -3.3 -1.11 -0.09 1.76 -2.08 0.39 -0.93 -2.08 -2 -2.19 0.11 -2.52 0.33 -2.34 
+-2.29 -1.95 -1.73 -2.13 2.71 -0.29 2.3 2.29 1.89 -1.11 0.54 -2.21 0.52 -2.04 -4.15 -2.43 
+-2.62 -3.16 -2.17 -2.59 -1.41 -3.43 0.52 -2.13 3.95 0.76 2.21 -0.67 2.95 3.29 2.17 -1.23 
+3.39 -0.39 -3.39 -3.21 -3.88 -2.35 -2.59 1.7 -3.78 -1.08 -2.08 -2.34 3.25 0.28 0.18 -0.54 
+3.5 -0.7 3.29 1.58 2.93 -0.39 2.58 3.38 3.97 2.61 3.75 0 3.61 0.11 1.73 -0.87 
+3.41 0.7 2.86 0.57 3.39 0.98 2.8 0.96 2.89 -0.04 1.23 -2.35 -0.78 -2.75 -1.11 -1.56 
+-1.79 0.24 -2.43 0.2 0 -2.95 3.02 -0.7 1.93 -0.82 0.5 -1.98 0.31 -1.84 -2.32 1.35 
+-2.04 0.21 -2.93 -0.26 -2.67 -0.93 -2.73 -0.95 -1.79 -2.11 2.56 1.35 2.78 0.74 3.32 0.91 
+3.21 -0.65 2.71 -1.09 1.07 -1.37 -1.37 -1.17 -3.06 -0.61 -2.63 -1.93 -3.38 -0.74 2.47 -0.59 
+0.67 -1.52 2.78 -0.65 0 -1.52 -0.49 -1.89 1.49 -1.56 -1.75 -1.32 -3.04 -1.43 0.8 -2.26 
+-0.48 -2.24 -2.04 -3.75 -0.48 -2.91 -1.95 -2.73 -2.82 -0.87 -0.96 -2.97 -2.47 1.19 -2.8 -1.71 
+-0.74 -3.32 1.97 -2.17 -0.97 -2.75 -0.33 -2.74 -0.28 -2.62 -0.59 -2.28 -3.97 -1.41 -2.47 -1.26 
+-2.65 1 -3.06 -1.45 -0.04 2.99 2.39 3 0.41 4.3 -3.95 -2.09 -1.88 -2.76 -0.68 -3.25 
+-0.74 -2.28 -2.48 -2.08 -0.97 -2.82 -3.49 -2.09 0 -681.32 4.05 -0.3 3.54 -1.13 2.28 -1.17 
+0.26 -1.65 -3.35 1.98 -3.23 1.15 -3.55 1.13 0 681.32 -0.26 -0.16 -2.02 1.98 0.04 3.04 
+0.35 2.75 -0.35 2.86 -1.61 -2.23 -0.69 -2.54 -0.89 -2.97 -0.56 -2.56 -1.04 -0.83 0 -712.19 
+4.6 -1.5 -4.47 0 -0.13 1.5 0 712.19 -1.08 -0.82 -1.2 1.99 -0.54 2.2 -0.06 2.52 
+0.84 1.52 -0.59 2.32 -0.11 1.91 0.7 2.65 2.32 1.54 0.34 2.3 -0.17 2.17 0.26 2.56 
+-0.76 2.13 -2.28 0.47 -1.59 2.65 1.93 2.39 2.78 0.71 1.09 -0.71 2.15 0.75 0.52 -3.07 
+1.43 -2.24 3.08 -0.49 1.91 3.14 2.82 -0.22 3.23 0.22 2.65 0.07 2.06 1.91 2.58 2.11 
+0.71 2.91 2.28 2.64 -3.02 0.71 4.3 1.48 1.69 3.86 2.17 2 -3.78 -0.02 -1.65 0.76 
+1.67 3.32 -1.11 1.28 -0.07 3.41 -0.7 2.13 1.56 3.14 2.39 2.23 3.09 2.08 2.54 2.22 
+3.88 1.04 2.91 0.16 2.93 0.04 0 2.95 -0.46 0.04 -2.93 0.16 -0.15 1.58 -1.24 1.04 
+-2.19 -1.19 -2.3 0.48 -3.32 -1.74 -2.71 -1.93 -2.09 -1.69 -3.23 -1.82 -3.04 0.95 -1.43 -2.21 
+-2.61 -1.89 -3.08 -2.28 4.75 -0.22 -2.93 -2.58 -2.73 -0.93 -3.35 -0.87 -3.34 -2.95 1.47 -0.87 
+2.65 1 2.75 -0.96 3.73 1.41 3.71 1.5 3.26 1.17 0.61 -1.91 -0.31 -2.43 -2.06 -1.11 
+0.07 -2.52 p
+-2.17 -0.91 0 -9.16 1.07 -1.78 -1.5 -1.78 -2.67 -1.07 -2.13 0.26 -1.56 1.58 2.62 2.2 
+4.17 0.59 0 9.16 -1.73 -0.74 -2.3 1.07 -3.15 -1.33 -0.7 -2.73 -3.79 -1.21 -3.54 0.93 
+-3.34 0.74 0.15 2.78 1.32 1.39 -1.22 2 -1.69 -2.17 -3.2 0.05 0 -1.37 3.23 -0.7 
+-2.95 -1.96 -1.87 -2.95 -1.23 -3.13 -1.41 -2.34 -2.13 -2.21 -0.59 -2.63 -3.36 0.43 1.28 2.59 
+0.83 2.32 -0.61 1.41 -2.52 0.15 -3.12 0.02 -1.17 1.59 3.08 1.59 -0.89 2.62 3.23 -0.8 
+3.58 2.08 3.8 1.26 2.82 0.66 0 1.37 -1.66 0.02 -3.2 -1.3 -3.64 0.09 -3.62 0.13 
+-0.78 2.95 -4.05 -0.13 -0.39 -0.17 0 -16.91 1.7 -0.93 0.61 -1.28 -0.47 -0.24 -0.24 0.02 
+0 -4.68 0.86 -1.59 -2.52 -1.23 -2.93 -0.61 1.02 1.67 3.56 1.76 0 4.68 -3.15 0.42 
+-1.24 1.43 2.8 0.59 0 16.91 -2.8 -1.3 -1.56 1.65 -1.49 1.5 -3.26 -1.28 -1.3 1.04 
+-2.93 0.02 -3.45 -0.16 -2.82 -0.52 -2.76 -0.5 -3.86 -1.37 -3.23 -1.35 -2.5 -1.91 0.81 -1.39 
+-0.18 -1.82 -2.34 -1.78 0 -36.63 3 -0.59 -1.05 -1.52 -3.6 -1.67 2.34 1.61 -1.87 -0.22 
+-0.8 1.3 3.21 0.09 -1.24 1 0 36.63 -1.2 -0.91 -2.61 -1.21 -2.45 -2.11 -2.06 -1 
+1.36 -0.93 1.59 -1.3 -1.32 -3.47 -0.26 -2.98 -1.21 -3.32 -2 -2.84 -0.37 -2.21 -0.11 -2.56 
+-1.37 -3.93 1.15 -2.39 1.23 -2.36 -0.39 -2.89 -4.6 -2.28 -2.04 -2.24 -2.3 -1.61 -2.12 -1.11 
+0 -0.96 1.78 -0.74 0.13 -1.37 -1.91 -2.25 -0.11 2.25 0.11 2.11 0 0.96 -0.91 -0.48 
+-1.39 -3.28 -1.7 -2.73 -1.04 -2.58 -1.76 -2.56 -0.69 -3.02 1.65 1.58 3.19 -0.58 3.65 0.71 
+2.02 3.04 2.69 2.06 3.04 2.56 1.91 2.28 1.78 2.39 2.49 -0.71 3 -0.35 3.38 -0.02 
+3.09 0.57 3.66 2.64 2.82 2.8 2.1 1.98 2.78 2.88 0.18 1.84 1.11 2.43 2.02 1.04 
+1.35 -1.04 2.99 0.5 2.39 1.52 2.67 2.13 0.82 1.87 2.82 0.84 2.66 0.95 0.79 1.97 
+2.45 1.46 2.22 -0.39 0.69 -2.12 0.15 -2.3 0.84 -1.22 2.46 -1.49 -0.41 -2.26 -0.95 -2.45 
+-0.3 -2.3 -2.15 -0.8 -0.26 -2.3 1.16 -1.37 0.73 -1.65 -2.5 -1.35 -1.8 -2.12 -2.75 -1.84 
+-1.71 -1.35 -1.35 -2.62 0.61 -1.41 -1.75 -3.65 3.08 -0.76 2.26 0.78 2.61 -0.28 2.86 1.04 
+1.05 1.96 1.97 0.34 2.54 0.52 -1.02 -1.96 -1.52 -2.97 -1.3 -3.12 -1.56 -2.89 -1.35 -3.04 
+-0.49 -2.3 -1.59 -1.52 -0.08 -1.98 -1.5 -0.46 0 -697.72 4.36 -1.62 -2.25 -0.76 -2.61 0.98 
+0.5 1.41 0 697.72 -0.91 -0.3 -2.28 -2.24 -0.56 -2.23 0.73 -2.59 -1.47 -2.23 2.16 -2.24 
+-0.69 -2.14 1.86 -1.95 0.16 -2.02 -3.41 -0.15 2.08 -2.12 -1.47 -2.08 1.89 -1.29 -0.29 -3.52 
+-0.09 -0.06 0 -672.25 3.04 -1.33 -1.73 -0.28 -0.83 -1.5 2.34 0.37 2.95 -2.76 -2.61 0.07 
+-3.05 1.32 1.91 -2.47 -2.58 0.5 -0.11 -1.93 -0.09 -1.91 0.89 -2.26 1.56 -1.56 1.63 -1.59 
+1.78 -2.06 -3.32 0.71 0.46 -1.39 3.32 -1.7 -2.08 -0.52 1.26 -2.16 2.89 -2.3 2.95 -0.72 
+0.65 -1.35 3.71 -1.54 2.21 0.63 4.06 -0.89 4.42 -2.3 3.85 -1.91 3.55 -1.43 1.91 -1.48 
+2.82 -0.67 p
+2.95 -1.56 1.33 -2.08 3.6 -0.89 1.96 -1.41 4.1 -0.71 1.63 -1.43 -1.48 -0.96 3.02 -1.02 
+4.43 -2.02 0.89 -1.71 2.87 -1.5 -1.17 -0.93 3.6 -1.78 2.13 -1.76 0.93 -2.3 1.82 -2.54 
+3.8 0.54 2.17 1.43 3 1.06 4.08 0.39 4.34 -0.47 5.21 -0.3 4.68 -0.43 4.58 -0.07 
+3.64 -0.35 5.32 0.81 4.1 0.8 3.13 0.91 1.21 2 -0.2 2.11 1.3 1.56 1.45 1.56 
+1.61 1.61 1.83 1.54 1.04 1.82 0.61 1.71 2.93 1.63 -0.98 2.26 1.93 1.47 2.73 1.55 
+2.19 1.45 3.04 1.5 2.45 1.48 3.63 0.78 2.63 0.46 2.43 1.09 2 1.37 -0.02 1.3 
+-2.41 0.93 -0.87 1.32 1.61 0.37 1.7 -1.26 0.89 1.34 1.65 1.05 2.12 -0.65 1.11 -0.95 
+0.82 -1.63 2.82 0.7 -1.08 0.98 0.58 1.37 -1.08 0.97 2.14 0.35 2.65 0.05 0.15 -0.98 
+-0.22 -1.32 3.89 0.04 3.84 0.35 -0.17 2.3 -0.98 1 2.19 0.7 2.28 -0.67 1.82 -0.98 
+-1.29 -1.32 2.2 -0.98 1.75 -1 3.45 0.98 3.58 1.3 2.3 1.34 3.25 0.96 4.47 -0.04 
+2.89 0.95 3.64 -0.06 3.5 -0.43 3.71 0.25 3.61 -0.08 4.32 -0.52 3.58 -0.11 3.54 -0.15 
+3.52 -0.15 4.08 -0.85 3.69 -0.54 3.47 -0.87 4.69 0.39 2.36 0.89 4.3 -0.28 4.14 0.78 
+4.56 0.05 4.23 0.75 1.98 0.2 3.84 -0.35 1.3 2.11 1.58 1.32 2.5 0.2 0.52 -1.56 
+1.04 -1.93 1.84 -0.95 2.98 -0.67 -1.21 -2.12 3.29 1.49 1.91 0.57 1.39 1.37 1.82 1.37 
+4.71 1.02 3.11 1.19 4.84 1.04 3.32 -0.02 3.76 -0.46 3.28 0.39 2.47 -0.78 2.02 0.96 
+2.04 -0.28 -0.83 -1.93 2.87 0.83 2.11 2.62 3.3 2.06 3.75 0.74 3.34 1.21 4.21 -0.17 
+3.23 -1 0.24 -1.8 1.84 -1.26 -1.41 -1.11 -2.39 0 0.61 -1.02 1.82 -0.8 1.26 -1.2 
+-1.2 -1.61 3.91 0.11 0.63 -1.58 1.52 -0.89 3.13 0.24 2.19 -1.06 1.5 -1.48 2.04 -1.11 
+1.87 -0.57 2.63 0.2 -3.45 -2.17 -1.98 -2.08 -2.11 -2.08 -2.88 -0.11 -2.37 -1.91 -3.56 -2.08 
+-1.71 -2.21 2.11 -0.31 1.45 1.81 4.49 0.54 3.06 -0.06 0.82 -1.02 0.24 -1.34 3.47 0.91 
+3.97 0.67 1.86 -0.21 4.95 2.21 2.91 0.57 4.06 -0.04 2.93 -0.2 5.1 1.52 2.82 -0.26 
+3.09 -0.37 3.04 -0.39 2.9 -0.5 0.26 -1.11 1.26 -1.09 2.04 -0.93 2.43 -0.24 0.21 -1.34 
+0.85 -1.04 1.52 -0.7 -0.76 -1.8 2.19 -0.35 -1.11 -1.48 2.04 -0.19 -0.29 -1.3 1.83 -0.09 
+0.3 -0.78 3.49 0.46 2.78 -0.35 -0.43 -2.04 -1.28 -1.98 -1.48 -2 -2.34 -2.34 -0.8 -1.65 
+-2.52 -2.32 2.36 0.3 -1.04 -1.49 2.36 0.49 3.34 1.35 1.32 -0.79 0.54 -1.11 0.39 -1.17 
+-2.89 -2.21 -3.86 -2.76 -2.34 -2.12 -3.41 -2.67 -1.93 -2.3 -0.66 -1.04 -0.63 -1.04 0.18 -0.67 
+0.2 -0.65 1.39 -0.83 -4.38 -2.38 -0.68 -0.83 -0.65 -0.8 0.91 -0.05 0.93 -0.04 -1.12 -0.96 
+-1.15 -0.95 2.34 -0.17 -0.78 -0.87 -1.47 -0.74 0 -64 0.29 -0.18 0.28 -0.15 0.28 -0.17 
+0.07 -0.16 0.06 -0.17 0.04 -0.15 -1.17 -0.66 -1.19 -0.63 -1.2 -0.65 -0.48 -0.37 -0.48 -0.35 
+-0.5 -0.37 -0.82 -0.5 -0.83 -0.48 -0.87 -0.5 -2.25 -0.91 -4.61 -1.78 -2.36 -1 -2.41 -1.05 
+-2.45 -0.99 p
+-1.57 -0.72 -1.61 -0.71 -1.61 -0.7 -1.69 -0.71 -1.74 -0.74 -1.75 -0.71 -2.28 -0.89 -2.32 -0.89 
+-2.34 -0.89 -0.16 -0.21 -0.12 -0.24 -0.15 -0.22 0.32 -0.09 0.33 -0.07 0.34 -0.08 -2.64 -0.87 
+-2.65 -0.89 -2.71 -0.87 0 -0.28 -0.02 -0.13 1.34 0.22 1.34 0.24 1.37 0.26 -1.95 -0.7 
+-1.96 -0.67 -2 -0.67 -4.28 -1.14 -4.25 -1.08 -4.25 -1.04 -1.87 -0.35 -1.84 -0.32 -1.82 -0.3 
+-3.6 -1.05 -1.82 -0.52 -1.61 -0.48 -1.63 -0.5 -1.64 -0.48 -3.08 -0.48 -1.52 -0.21 -3.08 -0.67 
+-6.2 -1.3 -1.24 -0.06 -2.43 -0.13 2.86 0.87 1.39 0.43 1.78 0.54 1.74 0.54 1.73 0.57 
+1.07 0.41 1.04 0.39 1.02 0.41 4.38 1.17 2.15 0.61 -0.37 0.04 -0.39 0.04 -0.37 0.05 
+-2.65 -0.52 -2.63 -0.52 -2.6 -0.5 3.95 0.93 3.95 0.95 3.93 0.95 3.17 1.09 1.54 0.56 
+2.63 0.8 2.61 0.8 2.58 0.8 -0.04 0.3 0 0.17 -0.22 0.11 -0.23 0.14 -0.22 0.13 
+-0.3 0.13 -0.61 0.22 0.61 0.37 0.58 0.37 0.61 0.37 1.15 0.5 1.15 0.48 1.13 0.5 
+1.75 0.63 1.74 0.63 1.73 0.65 2.72 0.89 2.71 0.93 2.66 0.91 3.64 1.09 3.63 1.11 
+3.64 1.11 2.54 0.82 2.56 0.85 2.54 0.84 3.9 1.13 1.96 0.59 3.71 1.5 2.5 0.89 
+2.52 0.91 2.5 0.93 1.95 0.63 1.97 0.65 2 0.65 0 64 -0.35 -0.2 -1.84 -0.91 
+-2.69 -1.15 -2.7 -1.11 -0.99 -0.67 -0.98 -0.65 -1.32 -0.63 -1.3 -0.62 0.8 -0.13 0.78 -0.11 
+3 0.73 2.99 0.76 0.91 -0.82 -1.63 -1.17 -1.67 -1.15 -0.98 -1.09 -1 -1.08 -1.59 -1.02 
+-1.58 -0.99 -0.74 -0.83 -0.76 -0.8 -2.48 -1.17 -2.5 -1.15 -1.28 -0.91 -1.28 -0.89 -2.17 -1.07 
+-2.17 -1.04 -1.76 -0.96 -0.99 -0.54 0 -50.84 0.17 -0.31 0.2 -0.28 0.17 -0.3 -2.14 -0.57 
+-4.3 -1.08 2 0.84 3.91 1.7 0 50.84 -0.79 -0.41 -2.11 -1.11 -2.13 -1.11 -2.6 -1.37 
+-2.63 -1.37 -1.93 -0.56 -1.95 -0.59 -0.5 -0.61 -0.52 -0.63 -2.38 -0.93 -2.41 -0.93 -2.26 -0.21 
+-2.26 -0.18 -1.43 -0.58 -1.43 -0.57 -1.3 -0.78 -1.32 -0.79 -2.82 -0.74 -2.84 -0.73 -2.08 -0.2 
+-2.06 -0.2 -5.95 -1.99 -0.46 -0.48 -0.48 -0.48 -3.36 -0.95 -3.39 -0.93 -0.54 -0.5 -0.57 -0.5 
+-2.23 -0.28 -2.23 -0.31 -1.83 -0.8 -1.84 -0.8 -3.17 -1.11 -3.19 -1.09 -3.06 -0.24 -3.06 -0.21 
+-2.75 -0.5 -2.78 -0.47 0.11 -0.46 0.11 -0.44 -2.25 -0.54 -2.26 -0.52 -2.89 -0.57 -2.91 -0.54 
+-3.43 -0.54 -3.45 -0.52 -2.52 -0.34 -2.54 -0.37 -2.21 0.61 -1.46 0.24 -1.46 0.26 -1.82 0.04 
+-1.82 0.07 -0.69 -0.82 0.71 -0.41 0.71 -0.39 -1.82 -0.5 -1.82 -0.48 -0.89 0.48 -0.87 0.5 
+-3 -0.56 -3.02 -0.57 -2.56 -0.54 -2.56 -0.52 -3.39 -0.11 -3.36 -0.08 -3.32 -0.02 -3.3 -0.02 
+-3.19 0.05 -3.16 0.04 0.13 -0.39 0.13 -0.41 -2.48 0.48 -2.43 0.48 1.28 0.46 1.3 0.46 
+-2.61 0.99 1.08 0.55 1.07 0.54 1.61 0.63 1.59 0.63 4.94 0.88 -1.43 0.91 -0.18 0.54 
+-0.15 0.52 1.97 0.41 2 0.41 -0.63 0.37 -0.61 0.34 0.89 0.61 0.88 0.58 1.28 0.7 
+1.26 0.67 -0.61 0.63 -0.58 0.61 -0.87 0.43 -0.85 0.46 -2.61 0.78 -2.52 0.82 -2.43 0.83 
+-0.81 0.48 p
+-0.78 0.5 -1.63 0.13 -1.61 0.13 -2.21 0.33 -0.26 0.05 0 -1.91 0.37 -0.65 0.39 -0.67 
+-2.25 0.08 -2.26 0.11 -2 -0.09 -1.99 -0.06 3.04 1 2.34 0.13 2.36 0.15 0 1.91 
+-1.93 0.28 2.06 0.39 2.04 0.39 2.17 0.7 2.17 0.72 1.21 1.48 -2.17 1.17 -1.43 0.78 
+-2.69 1.09 -2.08 1.23 -3.06 1.09 -3.55 0.78 -4.08 1 -3.93 0.82 -4.25 0.87 -4.17 0.46 
+-5.43 -0.26 -4.86 0.93 -2.11 1.52 -3.99 0.61 -3.67 0.74 -3.14 1.05 -1.07 1.71 -3.88 0.54 
+-3.64 1.2 -5.54 0.37 -2.3 -1.3 1.39 -1.52 -0.33 -1.69 -3.06 -1.09 -1.45 -1.41 -1.34 -0.61 
+0 -8 2.09 -1.59 -0.89 -0.61 -0.91 -0.63 -1.12 -0.21 -1.15 -0.2 0.43 -0.57 0.42 -0.55 
+-2.43 0.38 -2.45 0.37 -0.33 0.57 -0.3 0.54 0.24 0.61 0.26 0.58 1.82 1 4.34 0.31 
+0 8 -1.21 -0.56 -2.59 -1.15 -1.89 -1.29 -3.91 -0.24 -5.29 0.72 -5.38 1.2 -3.04 0 
+1.34 -1.65 1 -1.45 2.17 -1.69 2.08 -1.89 0.8 -0.85 0.83 -0.84 0.17 -0.55 0.2 -0.56 
+-3.12 0.39 -3.91 1.13 -0.92 -0.32 -0.91 -0.31 1.98 -0.61 2.02 -0.59 0.79 -0.56 0.78 -0.54 
+-0.43 -0.43 -0.46 -0.41 -0.84 -0.85 -2.37 0.24 -2.39 0.26 -2.93 0.93 -2.9 0.98 0.26 1.25 
+-1.78 0.89 -1.76 0.91 -2.95 0.61 -2.98 0.61 -1.43 0.16 0 -72.48 3.13 -0.24 3.11 -0.22 
+3.08 -0.2 -0.85 -0.02 -0.84 0 -0.87 -0.02 1.96 -0.26 1.97 -0.28 1.98 -0.26 -4.23 0.48 
+-4.23 0.5 -4.18 0.52 0 72.48 -1.95 0.19 -3.38 0.37 -1.81 -0.3 -1.78 -0.28 0 -1.22 
+2.54 -0.26 2.54 -0.24 2.43 -1.34 -3.58 0.41 -3.55 0.41 -0.2 0.5 -0.17 0.52 0 1.22 
+-0.02 -0.02 -1.2 -0.35 -1.17 -0.35 -1.13 -0.35 -1.15 -0.34 -3.14 0.98 -3.13 0.99 -3.02 0.72 
+-3 0.74 -1.21 1.22 -2 0.19 -2 0.22 -2.3 0.7 -2.28 0.74 -2.61 0.71 -2.61 0.76 
+-2.15 0.54 -2.12 0.57 -2.15 1.21 -2.11 1.22 0.68 0.89 2.11 0.98 1.39 0.93 0.11 1.41 
+-1.25 0.89 -3.34 0.35 -5.38 0.82 -5.82 1.24 -4.52 1.37 -6.27 1.82 -5.3 0.43 -1.54 1.48 
+3.86 0.32 1.13 1.02 -4.17 0.67 -0.63 1.63 -1.37 1.75 1.32 0.05 4.45 -1.97 4.97 -0.8 
+3.91 0.52 -1 2.35 -3.26 1.69 -4.88 0.78 -4.91 0.85 -3.66 1.37 3.04 -0.22 4.75 -0.54 
+4.66 -0.37 1.02 1.16 -5.04 1.21 -1.3 -0.59 -4.99 1.11 -0.43 1.13 3.19 -0.43 3.54 -1.21 
+3.75 0.02 -0.41 1.35 -1.89 1.69 -3.36 0.81 -0.21 1.63 1.63 0.76 2.45 0.5 -2.41 1.06 
+-4.17 -0.49 -3.2 1.47 -2.45 -0.06 -2.45 0.7 0.87 1.15 -1.43 1.37 -3.41 0.06 1.54 -1.73 
+-4.88 0.32 -0.74 1.38 3.2 -1.13 -0.61 1.95 4.12 -0.13 -2.3 1.19 3.36 -0.59 3.17 -0.95 
+0.26 1.02 -3.06 1.25 -3.21 1.04 -1.93 -0.85 -4.23 0.39 -3.39 -0.09 -2.6 -0.52 -1.46 1.72 
+2.69 0.65 -1.22 1.8 2.82 0.42 3.19 -1.11 2.14 0.96 2.39 0.95 2.5 0.91 1.07 1.41 
+1.16 1.39 2.55 0.61 -0.48 1.43 0.37 1.31 2.37 0.93 2.38 0.95 3.09 -0.24 -3.64 1.41 
+-2.65 1.98 3 0.39 3.75 0.04 2.54 0 3.39 -2.13 1.13 1.2 1.15 1.24 0.7 1.47 
+1.34 1.17 p
+-0.43 1.52 -2.89 2.19 -3.58 1.93 -3.12 1.02 -4.1 2.32 -4.34 1.74 -3.8 1.46 -4.06 2.41 
+2.02 0.67 -1.15 1.8 -2.89 0.7 -1.3 1.69 -2.82 1.8 -1.12 0.35 0 -5.62 5.29 -2.08 
+4.67 -2.21 4.38 -1.76 4.1 -1.82 3.85 -1.89 2.8 -1.75 2.52 -1.78 0.21 -1.62 -1.34 -1.22 
+-2.63 -0.58 -2.99 1.06 -1.89 -0.35 -3.52 0.89 -2.52 -0.07 -3.32 1 -1.57 1.19 2 1 
+1.67 1.39 1.09 1.07 0.56 0.87 -1.34 1.21 -4.14 1.83 -4.43 1.75 -3.34 1.72 0 -4.35 
+2.5 -0.15 2.39 -1.41 1.52 -1.17 -0.78 -0.98 -1.58 -0.8 -1.89 1.67 -2.04 0.97 -0.11 1.86 
+0 4.35 -0.57 0.28 -0.33 1 0.79 0.89 0 5.62 -2.35 0.72 -2.19 1.46 0.3 -2.05 
+-1.39 -0.43 -2.99 1.8 -1.52 2.21 0 1.58 3.02 -1.73 0.78 0.73 3.49 -1.08 -3.25 2.23 
+0.11 1.57 -2.78 1.3 -0.33 1.93 -0.39 2.45 -2.54 1.91 2.8 0.08 -1.72 2.11 1.89 0.85 
+-2.02 2.04 -0.2 1.39 2.37 1.39 0.75 1.54 0.8 1.52 1.76 0.7 0 672.25 -2.04 -1.7 
+-1.76 -3.82 -2.32 -0.37 -0.52 -0.07 0 -1.43 1.34 -0.86 -2.49 -1.93 0 -656.36 -1.41 -1.59 
+-0.13 -0.07 0 -9.89 3.11 -1.3 -0.91 -1.65 0.33 -1.41 -2.87 0.32 -0.58 2.37 3.12 -1.28 
+-2.2 2.95 0 9.89 -1.21 -0.58 -0.37 -2.43 -2.17 0.09 0.8 1.11 1.74 1.24 -0.39 1.78 
+3.15 0.46 0 656.36 -0.13 -0.09 -3.08 -1.75 -2.2 -1.05 -2.84 -1.91 3.37 0.33 1.02 -1.8 
+-2.15 -0.52 0.41 -2.73 2.23 -0.67 1.93 -1.15 0.84 -1.69 -3 -1.29 -0.45 -2.1 2.54 -0.85 
+-4.04 -1.28 -1.7 -1.39 0.15 -1.3 2.52 1.57 1.29 -0.16 -2.52 -2.12 1.85 -0.39 -2.26 -2.28 
+-2.24 -2.3 -1.82 1.02 1.43 2.1 -2.41 -0.41 2.52 2.13 -1.19 1.32 -1.57 0.26 -3.32 -1.67 
+-1.43 1.52 2.41 0.39 1.19 1.67 -1.67 1.59 -2.2 1.34 -2.19 1.39 -2.09 2.02 -2.8 0.54 
+1.19 2.41 2.13 0.48 2.69 0.71 -0.61 1.02 2.58 1.46 3.35 1.58 2.95 2.41 3.12 1.71 
+2.32 1.61 2.19 1.04 2.8 0.08 0 1.43 -2.56 -0.41 -2.97 1.37 -3.21 0.3 -2.48 -0.91 
+-2.45 -0.85 -2.67 -0.67 -2.41 1.74 -2.3 1 -0.59 1.78 -1.67 1.28 -1.48 1.17 -1.09 1.52 
+-2.2 1.13 -1.04 0.84 0 -3.52 1.66 -1.34 1.37 -1.71 0.76 -1.96 0.63 -1.75 -0.56 -2.3 
+-1.52 1.13 -1.37 1.75 -0.8 1.93 0.43 1.71 -0.61 2.54 0 3.52 -0.59 0.5 -1.39 1.2 
+-2.56 0.76 -2.47 -0.68 -2.28 -1.64 -1.59 1.43 -3.45 -0.5 -2.93 -0.33 -2.87 -1.02 -2.32 -0.87 
+-2.52 -0.63 -2.28 -0.83 -2.56 -0.65 2.37 -0.74 2.52 0.63 2.52 0.71 2.87 1 2.93 0.35 
+2.73 -0.26 2.11 -0.5 2.74 -0.24 2.23 -1.12 2.21 -1.17 0.93 -2.19 -0.24 -1.89 -1.41 -1.61 
+-2.56 -0.02 -2.02 0.22 -2.52 2.11 -0.5 -3.82 2.89 -0.93 -1.28 -0.98 0 -4.82 -1.2 -1.84 
+0.93 -2.02 1.61 -1.2 2.41 -1.12 -2.39 -0.24 -1.34 -1.65 -1.28 2.95 -0.61 2.48 0.16 1.93 
+1.71 0.72 0 4.82 -0.93 -0.71 -2.23 -3.02 -1.2 -3.19 0.89 -2.06 0.71 -3.21 1.56 -1.78 
+2.28 -0.39 1.11 -1.41 1.65 2.12 3.04 1.07 2.6 1.46 0.02 -1.35 -2.17 -2.34 0.65 -2.99 
+-3 -0.52 p
+-2.34 0.3 -1.78 -1.34 -3.06 0.83 -3.87 0.78 -2.9 0.13 -1.41 1.06 -2.25 -0.98 -2.78 -0.63 
+-2.76 -0.61 -0.39 2.38 1.26 2.5 2.39 1.5 3.02 0.43 1.78 -0.07 3.26 0.29 -2.21 0.96 
+1.64 1.52 -3.45 -0.09 -2.49 0.65 -2 1.65 -1.43 -1.69 -2.41 -0.13 -2 0.32 -2.25 0.46 
+0.06 1.43 -2.69 -1.32 -2.25 0.5 -2 0.37 -0.73 -0.84 -2.28 -0.87 -2.12 -1.11 -0.87 -1.45 
+-1.73 -0.65 0.2 -1.61 -1.32 -2.54 1.23 -1.11 1.17 1.17 -1.39 -1.67 -2.54 0.74 0.71 0.87 
+-1.82 0.13 0.39 1.87 -1.86 -1.26 -2.04 0.37 -1.32 1.23 -1.3 1.26 -2.04 0.39 -2.19 0 
+0 -0.21 1.93 -1.02 1.64 -0.87 2.07 -0.36 0.13 -1.7 -2.84 0.39 -2.08 1.25 -2.13 1.24 
+1.29 1.06 0 0.21 -0.2 0 -2.3 -0.84 0.11 -1.71 -2.61 -2.13 -3.02 -1.71 -2.73 -0.39 
+0.78 2.34 -0.13 1.76 -1.75 -3 -1.39 -4.12 -1.71 -0.63 -2.67 -1.32 -2.58 -2.17 -1.02 0.24 
+2.58 2.17 1.84 1.3 -0.89 0.89 1.3 1.09 -0.35 1.97 2.21 1.69 1.47 1.76 1.89 1.24 
+-1.82 0.24 -1.84 -1.26 -2 -2.79 -1.24 -1.91 -0.93 1.75 0.11 -3.32 -2.06 -1.96 -1.39 -1.71 
+-0.32 -2.93 -0.91 -2.21 -1.54 -2.45 -0.67 -2.43 0.5 2.21 -0.13 1.37 -1.28 0.43 -1.82 0.29 
+1.37 -1.37 1.15 -1.13 -1.39 -1.82 -1.5 -0.89 -0.91 0.91 -2.76 -0.41 1.39 -1.37 -1.71 -0.67 
+-0.22 0.13 0 -143.77 0.26 -1.87 -1.09 0.52 -0.73 -0.7 0 -8.33 0.87 -1.65 0.02 -1.19 
+-0.89 2.84 0 8.33 -0.5 -0.5 0.28 2.19 0.95 -0.99 0.83 1.34 0 143.77 -1.76 1.06 
+-2.54 -0.69 -2.52 -0.61 -1.47 0.76 -2.41 0.06 -0.15 -0.08 0 -179.37 3.19 -0.8 -0.76 -3.11 
+-1.52 -1.06 -2.67 1.1 1.78 0.43 0.61 2.54 -0.62 0.89 0 179.37 -1.93 -1.07 -2.26 -0.84 
+-2.73 -0.37 -1.72 0.07 0 -116.99 2.41 -1.35 2.39 -1.32 0.78 -2.25 -1.61 -0.98 -1.7 0.93 
+-1.91 0.46 -1.54 1.46 1.17 3.06 0 116.99 -0.67 0.02 -3.08 -0.82 -2.76 -2.05 -2.71 -2.04 
+-1.82 -3.04 -1.76 -3.08 -0.56 -1.58 0 -27.37 0.09 -3.67 -2.36 -2.39 1.88 2.8 0.39 3.25 
+0 27.37 -0.71 -2 -1.52 -3.34 -0.93 -3.87 -1.28 -1.9 -0.65 -1.85 0 -11.33 0.21 -2.02 
+2.09 -0.37 0.95 -0.85 -0.3 -1.54 -0.17 1.32 -1.93 0.61 0 -45.4 0.96 -1.41 1.34 1.08 
+-1.8 -2.06 -1.84 1.31 1.34 1.08 0 45.4 -1.15 0.37 0.3 2.47 0 11.33 -0.83 -2.3 
+-0.61 -1.78 0 -64 2.21 -1.52 1.54 -3 1.69 0.15 2.56 -1.69 1.74 -1.71 2.04 -1.91 
+-0.19 -2.5 2.28 -1.41 -2.23 -0.54 2.88 -2.98 0.67 -3.55 -2.36 -1.78 -0.52 2.88 -2 1.2 
+-2.71 0.34 -2.19 0.72 0.63 1.57 -2.39 0.17 -0.63 -1.55 -2.37 -1.78 -0.37 4.13 -1.71 1.82 
+-0.05 0 0 -44.22 0.7 -1.48 0.18 -1.04 -0.87 2.52 0 44.22 -1.8 0.5 -1.39 1.63 
+-1.91 1.28 -1.04 -0.63 -1.67 3.8 1.91 0.7 1.67 -1.8 1.15 -2.15 1.9 -1.26 2.29 0.47 
+-0.52 3.67 0.87 2.02 -0.02 2.73 -1.89 1.3 1.93 0.68 0 64 -0.8 -2.34 -0.78 -1.23 
+0 -14.84 0.8 -0.7 -0.87 -3.69 -1.15 -2.05 -0.26 -2.66 -1.65 -1.5 0.83 3.7 -0.26 3.88 
+1.67 0.78 p
+0.89 2.24 0 14.84 -1.34 -2.15 -2.41 -3.21 -2.56 -2.22 -1.34 -0.21 -1.58 0.7 0.99 2.99 
+-0.06 3.21 1.11 3.71 0.82 3.22 0.31 2.93 1.08 2.23 2.39 2.41 -1.28 0.48 1.32 1.97 
+1.84 2.11 1.54 3.37 -0.3 1.28 1.21 4.58 0.26 3.17 -1.65 1.11 -2.11 -0.13 -1.63 1.15 
+1.3 2.84 -0.52 2.56 0.26 2.45 -1.56 1.17 -1.61 1.13 -1.17 1.62 1.11 2.46 -1.7 -0.57 
+-0.8 2.11 -0.96 1.41 -2.24 0.3 0.02 3.09 -2.45 -1.48 0.39 -1.61 1.26 -0.95 0.96 -1.41 
+-1.31 -1.12 -1.28 -0.07 -0.76 -0.96 -0.29 -3.54 -1.15 -0.39 0.52 2.26 -0.41 1.56 -1.48 0.26 
+-1.69 1.47 -0.71 2.24 1.32 2.14 0.46 3.58 -2.04 0.07 -0.61 2.28 -0.26 2.67 -1.52 1.63 
+-1.2 1.07 -2.14 0.43 1.95 2.28 -1.39 0.3 -1.52 -3.25 -0.48 -0.02 0 -75.98 2.41 -0.02 
+1.84 -1 1.82 -1.04 2.17 -0.48 1.56 -1.5 1 -2.52 1.61 -1.49 0.8 -2.26 0.8 -2.17 
+0.02 -3.06 1.67 -1.43 1.15 -2.38 0.91 -2.96 0.65 -2.67 0.93 -2.21 0.74 -3.41 1.52 -1.91 
+1.26 -1.63 -1.56 -2.34 1.5 -0.35 1.54 -1.89 0.28 -2.91 0.91 -0.67 -0.17 -1.24 -2.09 0.82 
+-1.67 -0.18 -1.84 1.35 -1.54 1.89 -1.82 1.37 -2.04 0.8 -2.39 1.87 1.63 0.84 1.93 0.61 
+0.41 2.55 -2.61 2.11 -0.71 3.45 1.02 2.8 -0.07 1.46 -1.95 0.95 -1.13 2.47 -1.13 1.72 
+-0.28 2.52 -2.43 2.21 -1.08 1.59 0 -33.04 1.99 -0.11 1.56 -1.87 1.58 -1.93 1.05 -2.12 
+-0.29 -2.59 -1.21 0.89 -1.02 1.47 -1.67 -0.15 -1.3 1.65 -0.24 3.06 -1.19 0.91 0.74 0.78 
+0 33.04 -0.26 0.39 -0.22 2.54 2.17 -0.48 -1.84 2.49 -1.26 2.09 -1.89 -0.52 -0.87 -0.21 
+0 -3.12 0.15 -1.65 -0.5 -2.23 -1.36 0.37 -0.57 0.93 0.74 0.5 0.21 1.41 1.33 0.67 
+0 3.13 -1.07 -0.26 -1.78 1.8 -1.72 -1.58 -1.99 2.08 2.11 -0.52 1.15 2.02 1.89 0.5 
+0 75.98 -1.37 -0.13 -1.8 -0.2 -1.3 1.41 -2.56 -0.07 -2.47 0.02 -2.17 -0.63 -2.52 -2.52 
+-2.04 -3.54 -2.32 -2.91 -1.78 -2.78 -2.41 -1.52 -2.58 -2.37 -2.58 -2.34 -2.23 -3.02 -2.21 -3.06 
+-2.2 -3.06 -2.13 -1.89 -1.78 -3.76 -0.37 -4.05 -1.76 -1.41 -1.36 -3.32 -0.79 -3.03 -0.58 -3.37 
+-1.41 -4.14 -1.04 -3.64 -0.8 -4 0.65 -2.89 0.63 -2.93 -0.36 -3.36 0.86 -1.2 2.15 -1.07 
+1.87 -1.47 2.49 -0.43 1.29 -2.65 -0.57 -1.04 2.2 -0.96 0.67 1.89 1.8 0.45 1.54 -0.04 
+1.52 2.69 1.65 1.52 1.78 2.38 2.39 3.34 1.54 -0.07 1.67 -1.2 1.69 -1.19 2.02 -0.61 
+1.71 -1.18 0.91 -1.89 1.45 -1.63 0.13 -1.87 -1.45 -2.56 -2.72 -1.26 -2.25 -2.61 -1.95 -2.88 
+-1.96 -2.93 -2.21 -3.43 -2.43 -2.39 0.61 3.45 -3 -5.1 -1.61 -3.25 -2.9 -3.56 -2.61 -0.54 
+0.78 -2.5 0.5 -2.97 2.64 -0.26 1.39 -2.89 1.86 -1.06 2.13 -0.45 1.39 -2.15 1.93 -0.95 
+0.82 -1.59 1.2 -1.8 0.24 -4.02 0.96 -2.28 0.11 -1.61 -2.04 -4.93 -2 -2.02 -1.54 -3.84 
+-1.28 -3.32 -2.09 -3.38 -1.24 -3.34 -1.61 -2.37 -0.41 -3.29 -0.04 -3.5 -0.05 -3.56 0.85 -3.43 
+1.02 -2.87 -0.28 -3.3 1.58 -1.15 0.76 -2.61 2.63 -0.43 2.26 -0.26 2.3 -0.19 1.65 1.56 
+1.96 -1.34 p
+1.28 -2.13 1.5 -1.69 1.02 -3.3 0.7 -3.04 0.67 -3.11 0.8 -4.38 1.39 4.99 2.8 1.55 
+1.82 2.14 1.87 -0.5 0.95 3.27 1.32 3.08 1.67 1.52 2.04 0.06 1.52 -1.54 1.66 1.54 
+2.59 -2.16 2.56 0.41 1.85 0.8 2.06 0.02 1.72 1.59 1.86 0.8 1.23 -1.39 0.18 -1.97 
+-1.87 -2.02 -2.41 0.09 0.09 -3.8 -0.09 -3.1 -1.65 -1.57 -1.97 -2.64 0.48 -2.71 -0.42 -2.91 
+2.82 -0.26 1.02 3.75 -0.41 4.54 1.11 3.8 2.06 0.04 2.11 0.11 2.19 0.66 0.16 3.05 
+2.19 0.63 -0.54 -4.64 1.78 -0.98 2 -1.63 1.3 -2.52 -0.37 -2.87 0.13 -2.45 2.69 -0.79 
+2.56 -1.25 1.98 -0.39 1.8 -0.89 0.34 -1.93 1.61 -1.91 2.43 -1.76 2.52 0.02 2.91 1.63 
+2.63 -1.2 3.02 -1.34 2.65 -1.15 -4.04 0.59 0.98 -2.72 0.93 -3.29 1.63 -0.16 1.69 -1.82 
+2.43 -2.17 0.09 -3.45 -1.59 -3.29 3.71 -0.42 2.3 -3.12 1.93 -2.95 1.95 -3.02 0.3 -2.86 
+-0.87 -2.47 2.06 -0.22 2.02 -2.91 1.37 -2.14 0.87 -2.48 2.71 -1.54 2.43 -0.83 2.54 -0.26 
+2.45 -0.83 2.37 -1.36 2.32 -1.78 1.54 -1.09 1.93 -1.63 2.25 -2.3 1.8 -2.73 2.21 -2.78 
+1.45 -1.99 2.13 -3.8 -0.43 -3.54 1.2 -4.55 0.41 -4.32 2.91 -1.29 -0.85 -4.46 -2.45 -2.46 
+-1.87 -1.58 -2.32 -1.5 -1.08 -2.84 -0.74 -3.43 3.14 0.74 1 -4.43 1.11 3.88 0.29 3.54 
+2.28 0.95 2.54 -1.15 2.63 -0.17 2.93 -1.73 -1.13 -3.84 -1.06 -2.32 1.23 -1.3 2.02 4.12 
+1.85 0.54 3.02 -0.74 2.89 -2.71 2.56 -1.62 3.45 -1.76 0.79 -2.26 2.69 0.43 0.7 -2.69 
+1.2 -2.73 -0.98 -2.8 3.11 0.28 2.73 0.93 2.64 -1.02 2.59 -2.04 2.69 -0.52 2.6 -2.02 
+2.7 -0.52 2.73 0.48 2.69 -0.5 2.61 -2.5 2.65 -2.43 2.62 -2.43 1.74 -2.3 1.8 -2.26 
+2.69 -1.91 1.76 -2.24 2.73 -0.95 2.73 0.09 3.17 -1.49 1.33 -3.59 0.89 -3.56 0.93 -3.49 
+0.43 -2.96 -0.41 -3.79 -2.7 -5.39 -1.32 -2.17 -2.26 -2.11 -1.3 -2.23 -2.69 -1.5 -1.3 -1.26 
+-1.72 -2.62 -1.23 -2.71 -2.15 -3.02 -2.15 -2.11 -2.61 -1.52 -0.22 -3.84 -0.24 -2.84 0.63 -2.96 
+0.22 -2.88 0.65 -2.95 -0.59 -3.24 -0.17 -3.34 0.26 -2.89 -1.56 -1.67 -0.13 -2.82 0.31 -2.89 
+-0.15 -2.82 -2.32 -2.54 -0.48 -2.78 -2.28 -2.54 -0.5 -2.78 0.41 -2.86 -2.41 -1.13 -2.41 -1.11 
+0.39 -2.43 -2.61 0.33 -2.54 -0.16 -2.6 0.33 -1.24 0.37 0 -157.18 2.76 -0.82 1.3 -1.79 
+-1.95 -1.04 -0.13 -1.41 -1.99 -0.56 -1.63 1.32 -1.5 0.37 -0.68 -1.47 -4.1 2.14 3.04 -0.78 
+0.11 1.43 -2.54 1.74 2.54 0.63 3.07 -0.8 1.7 1.04 0 157.18 -1.43 0.41 -3.38 -0.02 
+1.2 -2.04 -2.58 0.32 -1.65 -2.62 -1.87 1.13 -2.62 -1.54 -2.37 -0.68 -1.67 -2.12 -2.06 -2.15 
+-1.61 -2.19 -1.57 -2.17 0.65 -2.93 0.89 -3.95 1.08 -2.97 0.3 -2.87 -0.13 -2.84 -0.98 -0.84 
+-1.58 -1.71 -1.23 -2.71 -0.85 -2.76 0.05 -2.84 -0.8 -2.75 -0.72 -2.76 -1.8 -1.71 -1.75 -1.76 
+-1.37 -1.73 0.2 -2.86 -0.98 -2.78 -1.66 -1.71 0.34 -1.98 -1.26 -1.78 -1.75 -1.28 -2.13 -0.29 
+-3.26 0.74 -2.47 -0.26 -2.99 1.2 -2.13 1.63 -2.99 0.26 -3.23 2.73 -0.02 -1.9 1.56 -2.13 
+4.54 -2.3 p
+2.25 -2.11 0.07 -2.89 2.14 -2.6 2.07 -0.61 1.59 -2.99 -0.22 -2.84 -0.78 -2.36 0.39 -2.45 
+-1.91 -1.32 -1.74 -0.83 -2.39 -0.84 -2.64 -0.3 -1.89 -0.43 -2.95 -0.3 -3.19 0.17 -1.79 1.56 
+0.89 -2.52 2.39 -2.06 0.29 -1.96 0.48 -2.97 1.5 -1.54 0.74 -2.02 -1.95 -1.41 -3.39 0.11 
+-2.58 1.11 -2.84 1.59 -0.57 -1.48 2.37 -3.06 1.97 -3.52 2.84 -1.56 2.15 1.45 2.36 -3.02 
+0.5 -1.5 -1.97 0.05 -2.46 1.99 -0.82 -1.95 3.23 -1.06 -1.45 -1.93 0.24 -2.04 1.52 -1.98 
+1.84 -3 -0.93 -1.02 1.25 -1.98 -2.23 -0.02 -1.5 -1.52 -0.28 -1.52 0.78 -3.02 2.32 -2.97 
+2.89 -1.91 3.19 -1.95 2.73 0.08 1.63 -1.91 1.5 -2.95 -0.41 -2 -0.89 -2.08 -0.3 -2.02 
+1.63 -2.95 1.71 -2.93 -1.47 -1.15 -0.13 -2.04 1.8 -2.93 2.56 -2.36 2.54 -2.3 4.02 -2.67 
+-0.11 0 0 -1.56 3.64 -2.19 1.89 -1.83 2.21 -1.82 3.45 -1.62 3.32 -1.15 2.54 -1.21 
+2.39 -0.76 2.04 0.24 0.97 -1.39 -0.89 -0.59 -2.54 -0.28 -1.23 -1.67 -2.5 -0.35 2.7 -2.21 
+-3.28 1.09 -1.5 -0.72 -2.36 0.74 -2.26 1.74 -0.54 -1.15 -2.85 0.65 -4.19 1.47 -1.34 1.39 
+-1.43 -0.22 -2.34 1.85 -1.91 -0.28 -1.36 1.41 -2.8 1.22 -0.39 1.58 -1.89 0.24 -2.82 1.22 
+-1.85 1.39 3.3 -1.17 3.32 -1.15 4.21 -1.54 2.56 -1.24 3.1 -0.63 1.89 -0.83 -1.13 3.02 
+3.11 -2.75 1.41 -0.3 -2.84 2.75 0.99 1.69 -1.13 0.93 -1.43 -1.23 -1.62 0.84 -2.04 2.91 
+1.54 0.18 -0.48 1.52 1.49 -0.41 0.88 0.65 0 1.56 -2.41 0.24 -1.58 -0.17 1 -1.46 
+-1.32 -0.13 -1.06 -1.69 2.06 -2.93 2.61 -2.82 -0.57 -0.59 -3.06 0.61 -2.09 1.3 1.46 1.8 
+-1 2.04 -1.69 0.29 0.68 -2.59 -0.18 -1.65 -3.29 1.17 -2.3 1.3 -1.35 1.43 -1.95 0.33 
+-2.7 2.32 0.35 -1.61 -2.39 0.78 -2.64 2.95 2.41 -0.2 -1.23 2 -3.06 2.91 1.17 -2.02 
+-1.17 -1.82 -1.17 2.58 -2.09 3.04 1.43 -0.34 -2.21 1.91 -1.58 2.58 1.26 -4.82 -2.99 3.49 
+-0.24 1.63 -2.02 0.37 -1.82 2.52 -1.75 1.47 -2.41 3.67 -2 2.52 -1.34 2.13 0.96 0.61 
+4.14 -3.45 -2.39 3.05 -1.67 2.56 -1.32 3.73 -1.67 -0.11 -2.43 0.89 -0.5 -1.67 -1.58 2.13 
+0.65 2.73 -2 1.52 1.3 0.66 -1.7 1.54 -0.89 2.11 -0.5 1.61 -2.41 2.65 -0.87 2.63 
+0.07 2.19 2.61 -2.12 0.45 -1.61 1.37 -1.56 0.55 -2.11 1.3 -1.04 1.76 -2.06 -1.3 3.17 
+-1.71 2.06 0.44 1.61 -1.67 1.56 -0.5 2.67 -1.98 2.08 -0.78 2.67 -2.65 4.25 0.3 1.02 
+-1.58 1.08 -0.35 2.11 -2.52 1.11 0.63 -2.11 -1.84 0.52 -1.23 1.39 0 -1.89 2.82 -1.11 
+1.63 -2.13 0.11 -2.16 1.96 -2.11 0.8 -2.7 -2.47 0.54 -2.13 4.26 -1.37 2.16 -1.34 3.23 
+0 1.89 -0.67 0.76 -1.91 2.71 -0.98 2.71 -2.15 3.77 -0.22 3.21 -2.08 3.28 -1.82 2.78 
+-1.41 2.7 -2.43 2.82 -1.26 3.8 1.67 -0.11 -1.63 3.3 0.48 1.07 -0.93 3.25 -0.87 3.25 
+-0.13 3.2 -0.46 3.23 -1.04 3.28 0.11 2.08 -1.75 3.36 -0.35 4.29 -1.58 2.29 -0.89 2.28 
+-1.61 3.38 -1.82 3.93 -0.83 3.32 0.85 1.47 -1.89 4.54 -1.5 2.34 0 3.19 -0.7 3.32 
+0.07 3.19 p
+-1 3.36 0.22 4.25 -1.84 4.05 0.52 2.02 -0.74 2.84 -1.21 3.45 -0.48 3.3 -0.81 3.39 
+-0.75 3.41 0.39 3.12 -0.35 3.32 -0.26 3.3 -1.08 3.47 -0.63 3.38 -0.2 3.3 -1.54 4.75 
+-1 4.04 -0.52 3.39 -2.73 3.47 -1.72 1.52 -1.93 3.3 -2.52 2.36 -2.58 2.91 -1.61 1.06 
+-3.34 3.19 -2.61 3.63 -2.34 1.26 -3.34 3.91 -1.71 2.8 -1.71 2.82 -2.2 4.17 0.09 3.43 
+-1.81 5.28 -0.97 3.84 -1.61 2.87 -0.87 2.71 -1.61 4.12 -0.87 3.86 -2.32 5.6 -0.74 3.88 
+-0.76 3.89 -0.74 3.91 -1.39 4.21 -2.15 3.41 -0.61 4.51 -1.33 3.67 -1.32 3.06 -2.06 2.82 
+-1.34 2.52 1.58 1.67 -1.2 4.34 -0.41 3.95 0.24 3.04 2.39 1.96 2.36 1.26 1.52 0.5 
+1.08 3.19 0.93 2 -1.73 0.91 -0.79 -3.37 -1.34 4.47 -1.3 1.97 0.87 0.76 0.43 3.56 
+-0.09 5.16 1.93 0.24 0.52 3.54 2.11 1.37 1.07 4.52 3.19 0.73 2.39 0.59 -0.19 3.32 
+1.86 -0.44 0.13 3.13 2.08 2.65 2.43 -1.37 1.83 3.39 1.95 2.08 -0.91 3.04 1.43 3 
+0.39 3.62 0.76 3.38 0.76 4.73 1.02 2.56 -0.62 3.66 -0.96 3.88 0.04 4.54 1.63 1.56 
+-1.32 0.84 -0.2 3.47 -1.15 2.78 -1.3 0.85 -1.82 -2.15 -1.78 -0.82 -1.96 0.02 -0.35 -2.52 
+1.02 -3.34 -2.45 -0.39 -1.8 0.57 0.8 4.17 -1.96 1.34 -0.3 2.93 -1.58 2.52 -1.74 1.93 
+-1.28 -0.41 -0.44 2.41 -1.71 1.95 1.39 3.19 -0.5 3.22 -1.37 3.99 -0.15 2.98 -2 -1.26 
+-0.2 1.56 -1.02 1.61 0.42 3.3 1.3 2.63 1.02 2.86 -0.63 3.5 -0.56 3.49 -0.35 4.14 
+-0.21 3.26 0.02 3.91 1.13 -1.06 0.04 3.88 -1.24 -1.17 -1.95 1.87 -1.32 1.32 -0.91 3.3 
+-1.35 1.37 -0.04 2.52 -0.83 3.34 -1.54 1.65 -1.05 2.78 -0.74 3.38 0.11 3.43 -0.17 3.69 
+0.17 4.28 0.11 2.56 -0.3 3.12 -0.61 2.58 -0.82 2.11 -1.34 1.8 -2.24 0.13 -2.41 0.46 
+-0.93 3.21 -0.91 3.36 -1.15 2.74 -0.3 3.6 -0.26 3.6 -0.82 2.56 -0.17 3.65 -0.5 3.03 
+-0.43 3.15 0.48 5.14 0.47 3.9 -0.5 1.02 -0.83 2.93 -0.21 4.43 1.2 4.17 0.54 4.27 
+0.11 4.16 1.58 5.02 1.76 4.68 1.69 0.14 0.89 2.34 2.1 0.73 1.55 2.09 0.69 2.99 
+2.97 4.91 1.17 3.45 1.5 4.41 1.24 3.45 2.04 4.86 1.22 3.78 1.32 3.88 2.71 4.86 
+0.73 4.45 1 3.34 1.34 1.43 1.91 1.11 1.67 3.04 -0.17 1.13 1.64 2.97 2 4.95 
+2.8 2.74 0.17 3.1 2.65 4.97 2.75 4.93 2.84 3.73 2.43 3.65 1.93 2.04 2.98 3.62 
+2.49 2.06 0.98 2.71 1.54 2.69 -0.46 1.17 1.63 3.86 -2 -1.19 -2.58 -2.39 -2.58 -2.84 
+-2.47 -1.58 -2.07 -2.87 -1.52 -3.23 -2.41 -3.62 -2.43 -4.12 -2.39 -3.76 -2.86 -3.45 -1.76 -3.73 
+-2.71 -4.28 -2.61 -5.08 -2.67 -3.6 -2.56 -4.36 -1.8 -1.91 -1.63 -3.49 -0.98 -0.2 -2.06 -3.63 
+0.3 -1.88 -2.28 -4.91 -1.89 -4.02 -3.12 -0.39 3.19 5.58 1.37 4.3 1.93 4.45 1.52 3.88 
+1 4.56 2 0.8 2.78 2.84 2.7 3.99 1.21 3.75 1.76 3.43 -0.11 1.93 1.35 3.37 
+0.95 2.5 1.91 2.58 1.91 4.14 -0.43 -3.19 1.5 -0.68 2.48 2.22 1.93 3.28 1.95 3.29 
+2.59 4.5 p
+1.11 3.21 3.56 3.25 0.54 1.56 2.59 2.04 1.65 2.76 1.56 1.17 2.15 2.73 2.69 2.73 
+3.32 3.82 3.25 3.02 2.82 3 2.45 3.73 0.24 1.54 2.2 1.8 0.28 1.52 1.55 3.04 
+1.65 3.41 1.84 4.14 3.27 1.95 3.89 4.23 3.21 3.12 2.85 3.52 1.54 0.48 2.8 1.48 
+0.48 1.54 2.58 2.25 2.93 1.79 -2.3 -2.74 3.19 2.54 0.83 -0.2 1.11 1.78 -1.7 -0.83 
+1.3 2.52 2.11 0.69 2.32 2.63 2.86 2.56 2.91 1.58 2.3 1 2.67 2.04 2.26 2.15 
+1.71 0.67 2.93 0.3 3.26 0.98 3.71 2.02 2.69 1.87 3.54 1.54 3.56 0.37 3.64 0.65 
+3.23 0.79 3.4 1.08 2.56 0.22 1.52 0.63 1.43 0.56 2.3 0.68 -1.32 -2.82 2.41 3.15 
+2.45 0.95 2.39 0.91 3.86 1.8 3.3 1.63 2.02 1.04 1.56 0.11 -3.23 -3.43 -1.17 -2.37 
+-2.67 -2.58 -2.17 0.74 0.46 -1.2 -1.28 -0.63 2.99 0.05 3.38 1.95 0.83 -0.28 3.38 1.88 
+2.41 1.89 3.41 0.81 -0.7 1.61 2.73 2.39 3.32 2.47 1.5 1.06 1.91 1.37 2.93 2.61 
+0.25 0.21 2.61 2.67 3.87 2.82 2.21 0.3 3.12 1.65 3.89 1.17 3.32 2.54 4.32 1.74 
+0.91 0.39 2.97 1.86 4.27 1.43 0.29 -1.65 2.21 0.82 0.91 -0.32 1.58 -0.57 0.43 1.91 
+2.97 1.71 3.15 1.22 3.49 0.91 1.91 -0.26 1.22 1.39 2.3 1.33 -3.71 -1.09 -4.95 -1.34 
+-3.73 -0.02 3.67 1.21 3.06 1.61 2.45 0.91 2.78 0.63 2.61 -0.12 0.75 1.39 3.54 0.24 
+0.83 -1.45 -3.04 -2.13 0.73 0.24 2.37 0.76 2.89 0.72 -1.45 0.78 -0.33 1.41 2.63 -0.2 
+3.73 0.37 1.84 -0.41 3.41 0.54 -2.14 0.7 1.26 1.24 -3.73 -1.46 -3.1 0.31 -4.3 -0.35 
+-4.14 0.29 4.73 0.84 3.95 0.59 4.34 1.43 3.91 0.43 3.5 1.63 3.78 1.28 4.49 1.3 
+3.73 1.59 3.34 -0.24 0.17 1.58 2.78 1.71 4.04 1.61 1.19 0.87 1.72 1.22 2.97 2.06 
+4.36 1.59 4.78 1.34 3.34 0.78 2.61 1.52 3.45 1.15 -3.34 0.96 -0.8 1.97 2.78 1.52 
+0.67 1.97 1.06 2.11 3.22 2 -0.29 -1.67 2.54 0.5 0.5 -2.04 2.32 -1.52 -2.26 -1.95 
+-0.11 -1.61 2.45 1.26 1.82 2.45 0.48 1.8 -1.32 1.63 0.29 1.97 1.65 1.87 -0.52 1.26 
+-3.49 -0.89 0.07 1.89 0.5 1.67 2.21 2.43 2.02 2.6 0.39 1.91 2.93 2.54 2.3 1.91 
+-0.11 1.63 3.11 1.82 3.32 2.13 3.73 1.87 1.93 1.56 3.45 1.71 3.08 2.13 4.41 2.48 
+0 136.98 -3.36 -0.46 -5.6 -0.74 -5.6 -0.82 -5.57 -0.85 -11.16 -1.87 -3.41 -0.63 0 -155.23 
+-1.46 -2.82 -1.15 -2 -1.34 -2.14 -2.69 -0.2 2.36 2.25 -2.32 -0.71 -2.45 0.26 2.45 1.95 
+-0.12 1.39 1.54 1.82 5.19 0.2 0 155.23 -2.17 -0.39 -5.55 -1.05 -5.54 -1.12 -5.55 -1.13 
+-5.51 -1.24 -5.51 -1.21 -5.51 -1.33 -5.49 -1.32 -5.47 -1.41 -5.49 -1.43 -5.45 -1.49 -5.45 -1.52 
+-10.85 -3.21 -5.39 -1.71 -5.38 -1.7 -5.38 -1.8 -0.75 -0.26 0 -180.75 -2.48 -2.2 -1.62 -1.95 
+-2.43 0.89 -4.08 -1.13 -1.76 0.41 -2.88 -1.65 -4.11 -1.26 4.82 2.78 3.76 1.43 3.88 0.87 
+2.91 1.55 4 0.26 0 180.75 -4.6 -1.54 -5.32 -1.88 -5.34 -1.89 -5.3 -1.98 -5.3 -1.99 
+-5.27 -2.06 p
+-3.32 -1.32 0 -184.62 0.16 -1.21 -3.28 -2.78 -2.97 -3.28 -2.63 -2.73 -4.36 -2.36 -3.93 -2.63 
+-4.12 -3.28 -3.71 -2.47 -0.29 1.5 2.2 2.36 3.08 3.06 1.7 0.37 0.98 1.76 2.52 1.82 
+2.32 2.23 1.54 0.04 3.06 2.59 3.1 2.56 4.64 2.45 0 184.62 -1.93 -0.76 -5.23 -2.18 
+-5.21 -2.16 -5.19 -2.26 -1.65 -0.7 0 -56.83 -0.17 -0.3 -0.2 -0.32 -0.52 -0.09 0.45 0.37 
+0.43 0.35 0 56.83 -2.91 -1.28 0 -57.83 -0.61 -0.63 -0.59 -0.63 -1.41 -0.84 -1.41 -0.87 
+-1.34 0.13 2.43 1.48 1.45 0.7 1.48 0.67 0 57.83 -0.62 -0.29 -5.17 -2.34 -5.14 -2.34 
+-5.1 -2.43 -2.5 -1.2 0 -59.44 -0.98 -0.85 -0.96 -0.87 -2.97 -1.32 -2.97 -1.35 2.17 1.45 
+2.19 1.48 1.78 0.74 1.73 0.72 0 59.44 -2.61 -1.26 -5.05 -2.52 -5.06 -2.54 -5.01 -2.6 
+-2.02 -1.04 0 -61.09 -1.15 -0.74 -1.15 -0.76 -0.63 -0.58 -0.62 -0.57 -2.24 -1.26 -2.23 -1.28 
+0.59 0.61 0.61 0.65 0.87 0.71 0.89 0.74 0.96 0.37 0.93 0.35 1.61 0.89 1.58 0.87 
+0 61.09 -3.02 -1.58 -4.97 -2.7 -4.34 -2.36 0 -61.39 -1.59 -1 -1.59 -1.02 -1.54 -1.04 
+-1.52 -1.04 -1.57 -1 -1.54 -1.02 -2.78 -1.43 -1.58 -1 -1.57 -1.02 0.3 0.91 1.11 1 
+1.11 1.02 0.46 0.58 0.46 0.61 -0.35 0.39 1.8 1.2 1.83 1.17 0.82 0.21 0.84 0.2 
+2.35 1.15 2.36 1.13 -0.3 -0.82 2.48 0.82 0 61.39 -0.63 -0.35 -4.9 -2.78 -4.93 -2.78 
+-4.88 -2.88 -4.86 -2.87 -4.84 -2.97 -4.82 -2.95 -4.75 -3.04 -4.77 -3.04 -4.71 -3.15 -4.73 -3.12 
+-4.67 -3.19 -4.64 -3.21 -4.6 -3.3 -4.6 -3.28 -4.56 -3.36 -4.53 -3.39 -4.5 -3.43 -4.49 -3.45 
+-4.43 -3.54 -4.43 -3.52 -8.72 -7.2 -4.3 -3.67 -4.29 -3.69 -8.47 -7.51 -4.19 -3.82 -4.17 -3.82 
+-4.1 -3.91 -4.1 -3.89 -4.04 -3.97 -4.01 -3.97 -3.97 -4.04 -1.3 -1.34 0 -448.89 0.7 -4.05 
+0.37 -3.89 -1.7 -1.58 -1.02 2.13 1.54 1 -0.89 2.82 0.99 3.58 0 448.89 -2.67 -2.69 
+-3.88 -4.13 -1.89 -1.97 0 -2.99 -3.63 -4 -3.58 -3.95 -3.47 -3.95 -3.41 -3.91 -3.32 -3.88 
+-3.28 -3.86 -3.17 -3.84 -1.63 -1.93 -1.62 -1.98 -1.61 -1.95 -3.26 -4 -1.61 -2.02 -2.39 -3.06 
+-2.34 -3.04 -2.3 -3.04 -2.28 -3.02 -2.21 -2.99 -2.2 -3 -2.15 -2.93 -2.11 -2.95 -2.1 -2.93 
+-2.07 -2.93 -4.04 -5.86 2.06 3.04 2.11 3.08 2.17 3.11 2.21 3.14 2.25 3.17 2.32 3.21 
+2.13 2.86 2.15 2.87 2.17 2.82 2.19 2.85 2.19 2.8 2.21 2.8 2.02 2.58 2.04 2.58 
+2.11 2.61 2.13 2.63 2.15 2.64 2.21 2.67 2.25 2.67 5.25 6.08 5.34 5.99 2.67 2.95 
+2.71 2.93 2.7 2.93 0 2.99 -2 -2.13 -3.82 -4.16 -3.82 -4.19 -7.5 -8.46 -7.34 -8.62 
+-7.2 -8.74 -7.04 -8.86 -6.87 -8.98 -6.73 -9.12 -6.58 -9.22 -6.4 -9.33 -6.25 -9.44 -6.08 -9.55 
+-5.9 -9.66 -5.73 -9.77 -5.58 -9.85 -5.4 -9.94 -5.21 -10.05 -5.06 -10.13 -4.86 -10.22 -4.69 -10.3 
+-4.51 -10.39 -4.34 -10.46 -4.14 -10.53 -3.95 -10.61 -3.78 -10.68 -3.61 -10.74 -3.39 -10.81 -3.21 -10.85 
+-3.04 -10.91 -1.71 -6.71 0 -162.24 0.09 -0.74 0.13 -0.76 0.11 -0.76 0.09 -3.6 0.13 -3.63 
+-0.45 3.39 p
+-0.05 2.04 -0.02 2.04 -0.02 2.02 0 162.24 -1.11 -4.25 -2.64 -11 -2.43 -11.07 -2.25 -11.09 
+-2.06 -11.13 -1.87 -11.18 -1.67 -11.2 -1.47 -11.24 -1.28 -11.24 -1.09 -11.29 -0.89 -11.29 -0.7 -11.3 
+-0.5 -11.3 -0.26 -10.22 p f*
+2497.72 3567.43 -5.05 0.15 2.54 -0.07 2.52 -0.08 f*
+2810.8 3475.58 -1.91 1.15 2.58 -1.52 2.56 -1.56 -1.3 0.78 -1.93 1.15 f*
+2821.14 3469.29 -1.7 1.04 1.24 -0.78 1.69 -1.07 -1.23 0.8 f*
+2832.57 3461.96 -3.28 2.13 1.38 -0.86 1.91 -1.26 f*
+2841.54 3455.96 -3.25 2.2 1.82 -1.21 1.43 -0.98 f*
+2849.42 3450.54 -1.61 1.11 3.15 -2.21 -1.54 1.11 f*
+2858.62 3443.96 -1.84 1.32 3.21 -2.34 -1.37 1.02 f*
+2867.71 3437.21 -2.15 1.61 2.8 -2.11 1.91 -1.45 -2.55 1.95 f*
+2876.7 3430.34 -2.63 1.99 2.47 -1.91 2.39 -1.86 -2.23 1.78 f*
+2885.54 3423.29 -2.02 1.59 1.02 -0.8 3.47 -2.82 -2.48 2.04 f*
+2896.22 3414.41 -3.84 3.23 1.89 -1.56 1.95 -1.67 f*
+2903.78 3407.92 -3.75 3.23 2.84 -2.43 4.01 -3.55 -3.1 2.75 f*
+2911.13 3401.39 -3.67 3.25 3.86 -3.43 3.13 -2.86 -3.32 3.04 f*
+2.77778 w
+1 J
+1 j
+K
+3125.8 2918.96 -0.13 11.35 -0.26 11.33 -0.5 11.35 -0.73 11.2 -0.89 11.35 -1 11.2 -1.26 11.35 
+-1.52 11.2 -1.63 11.21 -1.89 11.1 -2.15 11.21 -2.25 11.07 -2.39 11.09 -2.64 10.96 -2.89 10.96 
+-3.04 10.96 -3.12 10.83 -3.4 10.86 -3.65 10.69 -3.77 10.72 -3.91 10.57 -4.14 10.59 -4.41 10.46 
+-4.4 10.33 -4.77 10.33 -4.77 10.2 -5.04 10.2 -5.29 10.07 -5.4 9.96 -5.54 9.83 -5.79 9.7 
+-5.91 9.7 -6.04 9.57 -6.29 9.44 -6.42 9.34 -6.54 9.18 -6.68 9.07 -6.9 9.07 -7.05 8.84 
+-7.18 8.68 -7.42 8.71 -7.42 8.44 -7.66 8.31 -7.82 8.31 -7.92 8.06 -8.05 7.94 -8.18 7.81 
+-8.42 7.55 -8.41 7.57 S
+2902.89 3408.77 -8.57 7.3 -8.79 7.31 -8.81 7.05 -8.94 6.81 -9.18 6.8 -9.18 6.55 -9.31 6.43 
+-9.44 6.29 -9.57 6.05 -9.55 5.93 -19.61 11.32 -9.94 5.43 -10.07 5.16 -10.07 5.04 -10.31 4.91 
+-10.2 4.66 -10.44 4.54 -10.43 4.41 -10.57 4.16 -10.57 3.91 -10.7 3.77 -10.7 3.64 -10.81 3.41 
+-10.83 3.14 -10.8 3.02 -10.96 2.91 -11.07 2.64 -11.07 2.39 -11.07 2.28 -11.07 1.99 -11.2 1.89 
+-11.2 1.78 -11.2 1.39 -11.2 1.26 -11.32 1.13 -11.2 0.89 -11.3 0.74 -11.33 0.52 -11.33 0.24 
+-11.33 0.13 -11.31 -0.13 -11.33 -0.24 -11.2 -0.52 -11.33 -0.74 -11.31 -0.89 -11.2 -1.13 -11.33 -1.26 
+-11.2 -1.39 S
+2387.46 3561.7 -11.2 -1.78 -11.07 -1.89 -11.19 -1.99 -11.07 -2.28 -11.07 -2.39 -10.96 -2.64 -10.94 -2.91 
+-10.94 -3.02 -10.83 -3.14 -10.8 -3.41 -10.7 -3.64 -10.7 -3.77 -10.57 -3.91 -10.57 -4.16 -10.43 -4.41 
+-10.31 -4.54 -10.33 -4.66 -10.18 -4.91 -10.2 -5.04 -9.94 -5.16 -9.94 -5.43 -9.94 -5.66 -9.68 -5.66 
+-9.68 -5.93 -9.57 -6.05 -9.45 -6.29 -9.31 -6.43 -9.18 -6.55 -9.05 -6.8 -9.07 -6.81 -8.81 -7.05 
+-8.68 -7.31 -8.68 -7.3 -8.42 -7.57 -8.31 -7.55 -8.29 -7.81 -8.05 -7.94 -7.92 -8.06 -7.82 -8.31 
+-7.55 -8.31 -7.53 -8.44 -7.32 -8.71 -7.29 -8.68 -7.05 -8.84 -13.58 -18.14 -6.54 -9.18 -6.42 -9.34 
+-6.16 -9.44 S
+1934.18 3272.46 -6.16 -9.57 -5.91 -9.7 -5.66 -9.7 -5.66 -9.83 -5.4 -9.96 -5.17 -10.07 -5.03 -10.2 
+-4.91 -10.2 -4.64 -10.33 -4.53 -10.33 -4.28 -10.46 -4.16 -10.59 -4.02 -10.57 -3.77 -10.72 -3.52 -10.69 
+-3.54 -10.86 -3.14 -10.83 -3.02 -10.96 -2.89 -10.96 -2.64 -10.96 -2.39 -11.09 -2.25 -11.07 -2.02 -11.21 
+-1.89 -11.1 -1.63 -11.21 -1.52 -11.2 -1.26 -11.35 -1.12 -11.2 -0.89 -11.35 -0.73 -11.2 -0.39 -11.35 
+-0.37 -11.33 -0.13 -11.35 0.13 -11.32 0.37 -11.35 0.39 -11.33 0.73 -11.22 0.89 -11.33 1.13 -11.33 
+1.26 -11.21 1.52 -11.22 1.63 -11.2 1.89 -11.22 2.02 -11.09 2.25 -11.09 2.39 -11.09 2.64 -10.96 
+2.89 -11.07 3.02 -10.85 S
+1854.67 2740.08 3.14 -10.83 3.54 -10.83 3.52 -10.7 3.77 -10.72 4.02 -10.57 4.16 -10.59 4.28 -10.45 
+4.53 -10.46 4.64 -10.2 4.91 -10.33 5.03 -10.07 5.17 -10.09 5.4 -9.94 11.32 -19.66 5.91 -9.57 
+6.16 -9.57 6.16 -9.44 6.42 -9.33 6.54 -9.2 6.79 -9.2 6.79 -8.94 7.05 -8.81 7.29 -8.81 
+7.32 -8.57 7.53 -8.44 7.55 -8.45 7.82 -8.18 7.92 -8.07 8.05 -7.92 8.29 -7.81 8.31 -7.68 
+8.42 -7.45 8.68 -7.42 8.68 -7.18 8.81 -7.05 9.07 -6.95 9.05 -6.66 9.18 -6.55 9.31 -6.43 
+9.45 -6.29 9.57 -6.05 9.68 -5.93 9.68 -5.79 9.94 -5.54 9.94 -5.42 9.94 -5.17 10.2 -5.16 
+10.18 -4.8 S
+2203.78 2330.79 10.33 -4.77 10.31 -4.41 10.43 -4.43 10.57 -4.14 10.57 -3.9 10.7 -3.78 10.7 -3.66 
+10.8 -3.39 10.83 -3.14 10.94 -3.04 10.94 -2.89 10.96 -2.64 11.07 -2.39 11.07 -2.28 11.19 -2.15 
+11.07 -1.88 11.2 -1.63 11.2 -1.52 11.33 -1.25 11.2 -1 11.31 -0.89 11.33 -0.76 11.2 -0.5 
+11.33 -0.26 11.31 -0.11 11.33 0.11 11.33 0.26 11.33 0.5 11.3 0.76 11.2 0.89 11.32 1 
+11.2 1.25 11.2 1.52 11.2 1.63 11.2 1.88 11.07 2.15 11.07 2.28 11.07 2.39 11.07 2.64 
+10.96 2.89 10.8 3.04 10.83 3.14 10.81 3.39 10.7 3.66 10.7 3.78 10.57 3.9 10.57 4.14 
+10.43 4.43 10.44 4.41 S
+2741.34 2326.02 10.2 4.77 10.31 4.8 20.14 10.33 9.94 5.42 9.8 5.54 9.81 5.79 9.55 5.93 
+9.57 6.05 9.44 6.29 9.31 6.43 9.18 6.55 9.18 6.66 8.94 6.95 8.81 7.05 8.79 7.18 
+8.57 7.42 8.41 7.45 8.42 7.68 8.18 7.81 8.05 7.92 7.92 8.07 7.82 8.18 7.66 8.45 
+7.42 8.44 7.42 8.57 7.18 8.81 7.05 8.81 6.9 8.94 6.68 9.2 6.54 9.2 6.42 9.33 
+6.29 9.44 6.04 9.57 5.91 9.57 5.79 9.83 5.54 9.83 5.4 9.94 5.29 10.09 5.04 10.07 
+4.77 10.33 4.77 10.2 8.81 20.91 4.14 10.59 3.91 10.57 3.77 10.72 3.65 10.7 3.4 10.83 S
+3097.5 2729.25 3.13 10.83 3.04 10.85 2.89 11.07 2.64 10.96 2.39 11.09 2.25 11.09 2.15 11.09 
+1.89 11.22 1.63 11.2 1.52 11.22 1.26 11.21 1 11.33 0.89 11.33 0.73 11.22 0.5 11.33 
+0.26 11.35 0.13 11.32 S
+2477.65 2368.1 -2 1.49 -4.03 0.63 -3.65 0.76 -3.14 1.02 -1.12 1.63 -3.91 0.63 -3.65 1.13 
+-5.54 0.39 -2.25 -1.26 1.39 -1.52 -0.26 -1.76 -3.14 -1.02 -1.39 -1.39 -2.63 -1.26 -2.52 -1.13 
+-1.89 -1.26 -3.91 -0.24 -5.29 0.74 -5.41 1.15 -3.02 0 1.26 -1.65 1 -1.39 2.28 -1.76 
+2 -1.89 0.89 -0.76 0.76 -0.89 0.13 -0.62 0.24 -0.5 -1.5 0.26 -1.65 0.13 -1.89 0.63 
+-1.99 0.5 -0.89 -0.26 -0.89 -0.37 1.89 -0.62 2.02 -0.5 0.89 -0.63 0.74 -0.52 -0.87 -0.87 
+-0.5 -0.39 -0.39 -0.5 -2.39 0.26 -2.38 0.24 -2.89 1.02 -2.91 0.87 0.26 1.26 -1.76 1.02 S
+2411.74 2358.9 -1.75 0.89 -3.02 0.63 -2.91 0.5 -3.38 0.37 -3.41 0.39 -1.76 -0.26 -1.88 -0.37 
+-1.13 -0.26 -1.25 -0.37 -1.13 -0.39 -1.13 -0.37 -3.15 1 -3.14 1.02 -2.91 0.73 -3.02 0.63 
+-0.62 0.63 -0.63 0.65 -2 0.24 -2.02 0.13 -2.28 0.75 -2.26 0.76 -2.65 0.74 -2.62 0.63 
+-2.15 0.63 -2.15 0.52 -2.13 1.26 -2.02 1.26 0.63 0.86 2.15 0.89 1.37 1 0.13 1.39 
+-1.26 0.89 -3.38 0.37 -5.41 0.76 -5.79 1.26 -4.54 1.39 -6.29 1.76 -5.27 0.52 -1.52 1.5 
+3.91 0.26 1.13 1 -4.14 0.76 -0.75 1.65 -1.26 1.63 1.26 0.13 4.53 -2.02 4.91 -0.76 
+3.91 0.5 -1.02 2.41 S
+2336.5 2389.39 -3.28 1.63 -4.9 0.76 -4.9 0.89 -3.64 1.37 3.14 -0.24 4.66 -0.5 4.64 -0.39 
+1 1.13 -5.01 1.28 S
+2328.21 2395.31 -1.25 -0.65 -5.04 1.15 -0.39 1.13 3.14 -0.5 3.54 -1.12 S
+2328.21 2395.31 3.75 0 -0.36 1.26 -1.89 1.76 -3.39 0.76 -0.13 1.63 1.49 0.76 2.52 0.5 
+-2.39 1.13 -4.14 -0.5 -3.28 1.39 -2.39 0 -2.52 0.63 0.89 1.13 -1.39 1.39 -3.41 0.13 
+1.52 -1.76 -4.9 0.37 -0.76 1.26 3.28 -1 -0.63 1.89 4.14 -0.13 -2.38 1.13 3.38 -0.5 
+3.15 -1 0.26 1 -3.02 1.26 -3.27 1.13 -1.89 -0.87 -4.28 0.37 -3.28 -0.13 -2.62 -0.5 
+-1.52 1.75 2.78 0.63 S
+2301.54 2412.17 -1.25 1.79 2.75 0.5 3.28 -1.13 2.13 0.87 2.41 1.02 2.52 0.87 1 1.39 
+1.25 1.39 2.52 0.63 -0.5 1.52 0.37 1.26 2.39 0.87 2.39 1.02 3.02 -0.26 -3.65 1.39 
+-2.62 2.02 3.02 0.37 6.29 0 3.39 -2.12 2.26 2.52 0.76 1.39 1.25 1.26 -0.37 1.5 
+-2.91 2.15 -3.64 2.02 -3.02 1 -4.14 2.28 -4.41 1.76 -3.78 1.39 -4.01 2.39 1.99 0.76 
+-1.12 1.75 -2.88 0.76 -1.39 1.65 -2.76 1.76 -3.41 1.13 -2.25 1.39 0.37 -2.02 -1.39 -0.37 
+-3.02 1.76 -1.5 2.26 0 1.52 3.02 -1.75 0.76 0.76 3.51 -1.02 -3.27 2.15 0.13 1.63 S
+2297 2459.29 -2.89 1.25 -0.26 2.02 -0.37 2.41 -2.64 1.89 2.88 0.11 -1.75 2.02 1.89 0.89 
+-2.02 2.02 -0.13 1.39 2.28 1.39 0.76 1.63 0.87 1.52 1.75 0.63 3.02 -1.25 -1.76 -0.26 
+-0.76 -1.52 2.28 0.39 S
+2300.15 2475.8 3.02 -2.78 -2.64 0 -3.02 1.39 1.89 -2.52 -2.65 0.5 -0.11 -1.89 0 -2.02 
+0.86 -2.15 1.52 -1.63 1.63 -1.52 1.76 -2.13 -3.28 0.74 0.52 -1.37 3.25 -1.78 -2.12 -0.5 
+1.25 -2.15 2.89 -2.26 3.02 -0.76 0.63 -1.39 3.64 -1.5 2.28 0.63 4.02 -0.89 4.53 -2.26 
+3.78 -1.91 3.52 -1.5 1.89 -1.39 2.88 -0.76 2.91 -1.52 1.39 -2.12 3.52 -0.89 2.02 -1.39 S
+2344.95 2436.11 4.14 -0.76 1.63 -1.37 -1.5 -1.02 3.02 -1 4.41 -2.02 0.87 -1.65 2.91 -1.5 
+-1.15 -1.02 3.54 -1.76 2.13 -1.76 1.02 -2.28 1.76 -2.52 3.77 0.49 2.13 1.52 3.02 1 
+4.16 0.39 4.27 -0.5 5.28 -0.26 4.67 -0.37 4.53 -0.13 3.64 -0.39 5.41 0.89 4.02 0.76 
+3.14 0.89 1.26 2 -0.23 2.15 1.26 1.52 1.5 1.62 1.64 1.52 1.76 1.63 1.13 1.78 
+0.5 1.76 3.02 1.63 -1 2.28 1.89 1.39 2.75 1.63 2.15 1.39 3.14 1.52 2.39 1.5 
+3.64 0.76 2.65 0.39 2.38 1.13 2.02 1.39 0 1.26 -2.39 1 -0.89 1.26 1.52 0.39 
+1.76 -1.26 0.87 1.37 S
+2450.48 2454.75 1.65 1.02 2.13 -0.63 1.13 -1.02 0.76 -1.62 2.91 0.76 -1.15 1 0.63 1.26 
+-1.13 1.02 2.15 0.36 2.62 0 0.26 -1 -0.26 -1.25 3.91 0 3.77 0.37 -0.13 2.39 
+-1 0.89 2.13 0.76 2.28 -0.63 1.89 -1.02 S
+2475.02 2457.4 -1.26 -1.39 2.13 -1 1.76 -0.89 3.54 0.89 3.52 1.39 2.39 1.26 3.14 1 
+4.54 0 2.88 0.89 3.64 0 3.54 -0.5 3.64 0.24 3.65 0 4.27 -0.5 3.52 -0.13 
+3.64 -0.24 3.54 -0.13 4.02 -0.76 3.64 -0.63 3.54 -0.89 4.64 0.39 2.39 1 4.28 -0.36 
+4.17 0.75 4.51 0.13 4.28 0.74 2.02 0.13 3.78 -0.24 1.39 1.99 S
+2569.75 2460.54 1.5 1.39 2.52 0.13 0.52 -1.52 1 -1.88 1.89 -1 3.02 -0.62 -1.26 -2.15 
+3.28 1.52 1.89 0.5 1.39 1.39 1.89 1.39 4.64 1 3.15 1.13 4.91 1.15 3.28 0 
+3.77 -0.52 3.25 0.39 2.41 -0.76 1.99 0.89 2.15 -0.26 -0.89 -1.89 2.91 0.76 2.13 2.65 
+3.28 2.13 3.77 0.63 3.26 1.28 4.3 -0.13 3.14 -1.02 0.24 -1.89 1.89 -1.13 -1.39 -1.12 
+-2.39 0 0.63 -1.02 1.76 -0.87 1.26 -1.15 -1.12 -1.63 3.91 0.13 0.63 -1.65 1.5 -0.87 
+3.15 0.24 2.15 -1 1.49 -1.52 2.02 -1.12 1.89 -0.5 2.65 0.13 -3.52 -2.15 -1.89 -2.02 
+-2.15 -2.15 -2.88 -0.13 S
+2648.63 2445.68 -2.39 -1.89 -3.54 -2.12 -1.76 -2.15 2.15 -0.37 1.49 1.89 4.41 0.5 3.15 0 
+0.76 -1.13 0.24 -1.26 3.54 0.87 3.88 0.63 1.89 -0.13 5.03 2.15 2.91 0.63 4.02 -0.12 
+2.88 -0.11 5.16 1.5 2.78 -0.24 3.14 -0.39 3.02 -0.37 2.89 -0.5 S
+2694.29 2443.05 0.26 -1.15 1.26 -1.13 1.99 -0.89 2.39 -0.24 0.26 -1.39 0.89 -1 1.5 -0.63 
+-0.76 -1.91 2.15 -0.24 -1 -1.52 1.99 -0.24 -0.24 -1.26 1.76 -0.12 0.26 -0.76 3.52 0.5 
+2.76 -0.37 -0.37 -2.02 -1.25 -2.02 -1.52 -2.02 -2.38 -2.26 -0.74 -1.65 -2.52 -2.39 2.38 0.24 
+-1.13 -1.37 2.39 0.49 3.38 1.26 1.26 -0.76 S
+2712.79 2418.23 0.63 -1.12 0.39 -1.13 -2.91 -2.28 -3.88 -2.65 -2.41 -2.14 -3.39 -2.76 -1.89 -2.28 
+-0.63 -0.99 -0.63 -1.02 0.13 -0.74 0.24 -0.63 0.63 -0.39 0.76 -0.37 -2.26 -1.25 -2.14 -1.15 
+-0.63 -0.87 -0.75 -0.75 1.02 -0.13 0.87 0 -1.13 -1 -1.13 -0.89 1.13 -0.12 1.26 -0.14 
+-0.37 -0.36 -0.5 -0.37 -1.79 -1.02 -1.88 -0.87 -2.62 -1.15 -2.65 -1.13 -0.99 -0.63 -1.02 -0.76 
+-1.39 -0.63 -1.25 -0.62 0.75 0 0.89 -0.13 2.89 0.63 3.02 0.76 0.52 -0.37 0.37 -0.39 
+-1.62 -1.13 -1.65 -1.13 -0.99 -1.13 -0.89 -1.15 -1.63 -1 -1.64 -1 -0.74 -0.76 -0.76 -0.89 
+-2.39 -1.13 -2.52 -1.13 S
+2675.17 2375.91 -1.25 -0.89 -1.39 -0.89 -2.13 -1.13 -2.15 -1 -1.75 -1.02 -1.76 -0.87 -2.14 -1.15 
+-2.13 -1.12 -2.52 -1.39 -2.65 -1.26 -2.02 -0.62 -1.89 -0.63 -0.5 -0.63 -0.5 -0.5 -2.39 -1.02 
+-2.39 -0.87 -2.28 -0.26 -2.26 -0.13 -1.52 -0.63 -1.37 -0.63 -1.26 -0.76 -1.39 -0.74 -2.78 -0.75 
+-2.88 -0.76 -2.02 -0.13 -2.13 -0.24 -3.04 -1.02 -2.89 -1 -0.5 -0.39 -0.5 -0.5 -3.28 -1 
+-3.38 -0.89 -0.63 -0.5 -0.52 -0.49 -2.25 -0.26 -2.26 -0.37 -1.78 -0.76 -1.87 -0.89 -3.15 -0.99 
+-3.14 -1.15 -3.15 -0.24 -3.01 -0.26 -2.78 -0.37 -2.76 -0.5 0.11 -0.52 0.13 -0.37 -2.26 -0.62 
+-2.28 -0.5 -2.89 -0.52 S
+2577.67 2341.75 -2.88 -0.63 -3.41 -0.5 -3.52 -0.49 -2.52 -0.37 -2.52 -0.39 -1.13 0.39 -1.13 0.24 
+-1.39 0.26 -1.52 0.24 -1.76 0.13 -1.88 0 -0.24 -0.37 -0.39 -0.5 0.63 -0.39 0.76 -0.37 
+-1.76 -0.5 -1.89 -0.52 -0.89 0.52 -0.87 0.5 -3.02 -0.5 -3.02 -0.66 -5.04 -0.99 -3.41 -0.14 
+-3.38 -0.12 -9.83 0 -3.12 0.13 0.11 -0.49 0.13 -0.37 -2.52 0.5 -2.39 0.5 1.26 0.36 
+1.26 0.52 -2.52 1 1 0.5 1.15 0.52 S
+2516.04 2339.75 1.63 0.64 1.52 0.63 2.5 0.5 2.52 0.37 -0.73 0.5 -0.76 0.52 -0.26 0.99 
+1.89 0.39 S
+2524.33 2344.29 2.02 0.5 -0.63 0.24 -0.62 0.39 0.89 0.63 0.87 0.63 1.26 0.63 1.25 0.75 
+-1.12 1.13 -0.89 0.5 -0.87 0.39 -1.26 0.49 -1.26 0.38 -1.26 0.39 -2.52 0.74 -1.26 0.52 
+-0.75 0.5 -0.76 0.37 -1.63 0.26 -1.63 0.13 -2.15 0.24 -2.25 0.39 1.99 0.36 2.15 0.39 
+2.15 0.63 2.13 0.73 1.25 1.52 -1.13 0.5 -1 0.63 -1.52 0.76 -2.65 1.13 -2.13 1.25 
+-3.01 1.02 -3.54 0.89 -4.14 1 -3.91 0.76 -4.28 0.87 -4.14 0.52 -5.4 -0.26 -4.93 0.89 S
+2511.63 2352.21 -2.28 -0.13 -2.39 -0.11 -1.5 -0.52 -1.52 -0.5 2.02 0.13 2.02 0 S
+2507.99 2351.08 2.12 0 2.26 -0.12 -0.74 1.25 S
+2442.43 2355.88 -0.5 0.5 -0.37 0.5 1.13 0.26 1.13 0.24 0.89 0.63 0.87 0.64 -2.02 1.52 
+-4.38 -0.26 -1.78 -1 -0.23 -0.63 -0.26 -0.62 0.26 -0.5 0.37 -0.52 2.39 -0.37 2.52 -0.37 S
+2401.17 2358 -1.26 0.64 -1.12 0.75 -2.52 0.26 -2.64 0.24 0.26 -0.5 0.11 -0.5 3.67 -0.5 
+3.52 -0.39 S
+2310.96 2433.59 1.65 -1.13 3.25 -1 2.52 0 3.54 -0.89 1.89 0.37 3.02 -1 2.65 0.5 
+1.25 1.26 -0.12 1.65 -2.52 1.75 -2.91 1.76 -3.75 1.89 -4.17 1.88 -4.41 1.65 -4.64 2.26 
+-5.3 2.14 -0.73 -1.02 0.37 -0.87 3.78 -2.02 S
+2306.32 2442.79 4.54 -1.75 4.14 -1.89 1.26 -1.15 -0.5 -0.87 -1.15 -1.15 -1.63 -1.37 -2.02 -1.02 S
+2307.07 2435.61 1.63 0.76 0.76 1 -1.52 1.15 -2.39 1.49 -2.52 0.13 0.13 -1.89 2.02 -1 
+1.89 -1.65 S
+2287.7 2468.62 2.89 -0.37 -0.37 1.37 S
+2290.21 2469.62 0.87 1.78 -3.02 1.26 2.14 -3.04 S
+2290.21 2469.62 -3.14 1.39 0.63 -2.38 S
+2299.13 2478.69 2.64 -0.87 2.28 0.76 -4.4 1.63 -0.52 -1.52 S
+2284.29 2479.58 2.15 0 0.37 2.39 S
+2286.8 2481.96 1.39 0.63 1.39 1.65 -3.14 -0.5 0.37 -1.78 S
+2286.8 2481.96 -1.75 -1.26 -0.76 -1.13 S
+2316.75 2494.32 4.41 0 -4.54 1.39 0.13 -1.39 S
+2058.86 2893.9 -2.13 -1.39 -0.52 -3.51 S
+2056.21 2889 -1.89 -0.26 0.13 -5.16 -0.5 -3.52 -0.89 -0.76 1.39 -2.02 1.26 -4.41 0.89 3.28 
+1.62 -0.89 -0.87 -2.02 -1.15 -3.15 -1.5 -0.5 -2.39 -1.25 -2.41 -2.02 -0.24 -3.02 0.5 -3.91 
+1.13 -4.29 -1.5 -1.76 1.26 -2.52 2.13 -2.78 1.26 -3.02 1.39 -3.77 0.63 -4.4 2.15 -3.41 
+1.37 -4.3 0.76 -3.88 1.52 -7.81 2.25 -5.55 0.89 -3.91 1.63 -4.04 0.87 -2.75 1.52 -2.91 
+1 -3.77 1.78 -5.3 0 -3.39 2.13 -4.17 1.75 -2.88 1.65 -2.78 3.39 -3.91 2.38 -1.26 
+2.52 -3.66 3.41 -3.15 1.63 -0.99 2.52 -3.02 2.52 -2.28 1.89 -3.41 1.75 -1.5 2.78 -3.4 
+0.5 -3.41 S
+2103.02 2746 1 -4.03 1.52 -4.78 0.24 -3.28 0.63 -3.41 1.02 -3.52 0.37 -3.27 0.26 -3.28 
+-0.39 -3.15 0.76 -3.4 0.89 -3.41 0.37 -3.28 1.26 -3.39 0.76 -2.91 -0.5 -2.02 1.76 -4.04 
+-0.13 -4.27 1 -3.41 -0.11 -3.14 0.74 -3.28 0 -3.28 1.52 -2.26 1.89 -4.53 -0.89 -1.52 
+0.75 -3.28 1.89 -3.91 1.63 -3.38 0.89 -2.28 1.52 -2.26 0.37 -4.4 1.76 -3.28 -0.14 -2.15 
+1.13 -3.28 0.39 -3.14 0.13 -3.28 0.87 -3.28 0.89 -3.28 -0.39 -1 1.65 -3.27 -1.75 0.13 
+1.25 -3.8 2.52 -2.88 1.37 -2.65 1.76 -2.78 2.15 -3.27 0.13 -3.28 2.26 -3.78 0.89 -2.65 
+2.02 -2.75 S
+2142.91 2595.98 1.87 -2.14 1.78 -0.5 -0.63 2.13 2.62 -1.13 0.26 -2.12 1.63 -1.02 -0.37 -1 
+2.64 -4.29 0.87 -2.65 1.88 -2.12 0.5 -2.65 1.79 -1.52 -0.52 -1.63 1.78 -2.15 1.26 -3.15 
+-1.78 2.15 -1.26 1 -0.5 2.15 -1.39 1.49 -0.5 1.65 -2.63 2.13 0 -2.26 0.87 -2.65 
+2.38 -2.65 0.5 -1.49 0.89 -2.15 1.63 -1.52 -1.26 -0.76 2.02 -1.5 -0.63 -2.64 1.52 -2.15 
+0.5 1.65 2.39 -0.89 1.75 0.13 1.26 -3.77 1.75 -2.54 2.39 -3.02 -4.14 3.4 -1 -0.62 
+1.39 -2.15 1.99 -2.52 2.39 -3.64 1.78 -1.39 1.76 -2.52 2.02 -0.39 0.24 -1.62 3.02 -3.54 
+-1.26 4.8 1.65 -2.52 S
+2180.01 2539.67 2.13 -2.02 -1.39 0.38 2.02 -3.02 1.26 -2.52 1.13 1.76 -1.13 2.02 3.02 -2.88 
+1.26 -2.02 -2.39 0.24 2.64 -3.02 2.39 -0.76 -0.37 1.65 2.63 -2.41 2.02 -0.24 1.26 -1.52 
+2.39 -1.26 3.28 -1.12 0.13 1.63 -0.63 2.65 1.63 -0.37 1 -2.02 -1.37 -1.76 2 -1.39 
+3.14 -0.5 0.52 0.5 -2.52 2.89 -2.15 2.91 1.13 1.63 1.26 0.13 -1 1.52 1.63 0.13 
+2.52 -0.26 -4.01 2.78 -2.52 2.25 -2.64 2.39 -1.76 2.91 0.13 2.02 1.5 1.13 -1.76 2.91 
+-1.62 3.02 0.36 2.02 0.89 2.02 0.37 2.02 -1.52 3.02 -1.63 1.89 -2.75 -0.13 -3.15 2.02 
+-2.91 1.89 -2.26 2.91 S
+2184.16 2567.64 -0.89 3.02 S
+2183.27 2570.66 0.39 1.52 1.5 1.63 2.15 0 -1.26 1.89 1 1.02 -1.89 3.02 -1.5 2.02 
+-0.26 2.02 1.52 1.89 -3.28 1.13 0.89 1.89 2.39 -2.02 2 0 -0.5 1.52 -2.39 3.02 
+-2.13 -1.39 -2.9 1.52 -1.89 3.51 -2.39 3.04 0.5 1.5 2.91 -1.62 2.52 -1.02 3.38 -0.11 
+2.02 1.39 -0.75 2 -1.5 1.52 -0.52 3.02 -0.24 1.89 -2.38 2.02 -0.89 2.64 1.76 -1.63 
+3.14 -0.13 3.02 0.26 1.89 0.37 2.65 0.37 2.38 0.89 1.76 0.75 1.89 1.39 -0.37 2.39 
+0.76 2.39 0.24 2.91 -1.62 2.89 -2.02 0.63 -2.12 2.64 -0.14 2.91 -2.28 2.02 -4.51 2.39 S
+2186.18 2634.53 -1.52 2.02 0 2.02 3.28 -2.78 3.02 -0.26 2.02 -1.63 3.02 -1.13 2.52 0.24 
+3.28 -0.75 2.13 0.26 1.76 1.25 1.25 1.76 -0.37 2.02 1.63 1.78 1.02 2.76 -0.26 2.78 
+1.39 1.76 1.76 1.75 1.89 1.78 0.63 2.76 0.87 2.78 -0.11 2.78 0.87 2.78 1.25 2.63 
+1.52 1.78 1 0.87 0.13 2.78 -0.26 2.91 -1.13 3.02 -0.87 3.91 -0.63 2.89 1.5 2.14 
+1.65 2.28 2 2.13 1.76 2.15 2.41 0.63 2.52 1.52 1.87 -1.15 1.65 2.64 2.65 -0.24 
+-1.26 2.02 3.39 0 2.78 -0.76 2.52 -0.39 2.52 0.13 2.62 -0.26 -0.37 2.41 4.77 2.26 
+-0.37 2.91 S
+2251.84 2702.43 0.5 2.75 2.26 2.54 0.5 2.76 S
+2255.1 2710.48 2.28 2.52 0.24 2.91 -0.37 2.78 0.13 2.89 1.63 1.65 -0.24 2.88 0.11 3.41 
+0.63 3.15 -0.74 3.02 -0.12 2.9 -0.64 2.89 0.24 2.91 0.13 3.78 2.64 1.52 2.15 2.13 
+2.13 3.04 1.25 2.63 1.76 2.64 1.26 1.26 2.65 1.52 1.39 2.28 2.26 2 1.26 2.28 
+2.78 5.29 0.37 3.91 -0.5 2.89 -0.89 3.53 -0.87 3.52 -1.39 3.54 -3.14 1.5 -2.78 0 
+-2.63 0.89 -1.78 2.28 -2.76 1.89 -1.76 2.25 -1.76 2.28 -2.65 2.39 -2.64 2.52 -2.52 2.52 
+-2.75 0.5 -2.78 -0.5 -2.64 0.5 -2.63 2.02 -2.64 0.5 S
+2238.76 2813.65 -2.65 2.02 -2.65 1.02 -2.62 -0.89 -3.15 -0.24 1 2.75 -1.25 2.78 -0.63 2.64 
+-2.76 -0.39 -0.76 2.15 -3.41 1.75 -2.52 1.65 -2.89 2.78 -3.14 0.74 -1.76 -0.63 -2.02 -4.02 
+-1.26 1.26 1.02 2.25 1.13 3.91 -2.91 1.76 -2.63 0.13 -2.52 1.13 -2.28 -0.86 -0.24 -3.54 
+-1.12 -3.91 -1.02 4.41 -3.14 -0.74 0.76 3.39 1.02 2.91 2.39 1.52 1.89 1.5 2.39 2.52 
+0.87 4.41 -2.89 1.28 -0.37 4.41 -1.26 4.54 0.38 3.52 -2.02 3.77 -1.5 2.02 -2.28 2.78 
+-1.76 2.78 -2.25 2.26 -1.89 1.65 -1.52 1.13 -2.39 1.75 -2.39 1.26 -2.38 0.89 -2.52 0.24 
+-2.52 0.89 -2.65 1.52 S
+2169.68 2886.48 -0.87 2.52 -1.39 2.12 -2.02 2.91 -2.02 0.13 0.89 2.52 S
+2164.28 2896.68 -0.37 2.89 -1.89 3.04 -2.02 2.88 -2.25 3.15 -3.78 0.39 1.63 3.28 -0.14 3.52 
+-2.38 2.14 -1.62 1.76 -1.65 0.26 -1 3.28 -1 2.64 4.02 -0.52 -2.52 1.15 -3.14 1.37 
+-2.52 1.15 -3.02 -1.64 -2.38 0 -2.52 1.78 -1.63 1.89 -0.26 1.89 -1.89 0.87 -1.89 0.52 
+-2.64 1.25 -2.62 0.74 -0.13 2.41 0.37 2.88 -1.37 2.52 -1.89 1.65 -1.89 1 0.63 4.66 
+-2.28 -0.76 -0.11 -3.02 -2.15 -0.62 -2.15 -0.14 -2 0 -1.15 -3.77 0.39 -4.54 -1.02 -3.78 
+-2.76 0.24 0.37 2.91 -0.5 2.78 2.02 2.62 S
+2109.18 2943.4 1.63 1.52 0 6.92 2.39 -0.11 1.89 2 -0.24 2.02 -1.13 1.39 -1.89 -0.87 
+-1.78 -1.52 -2 0 -1.89 -0.89 -2.52 -0.36 -2.64 2.15 -1.63 -1.52 -1.52 1.52 -2.02 0 
+-1.75 -1.52 -1.26 -3.14 -1 -3.28 -1.88 0.5 -1.76 -2.15 -2.78 -1.5 -1.37 -5.04 -0.89 4.41 
+-0.63 3.15 -0.76 3.02 -1 3.27 -1.52 1.65 -1.26 2.13 -1.89 1.39 -1.75 -1.52 -2.26 0.13 
+-2.28 0.26 -2.62 0.5 -0.76 2.52 -1.52 1.26 0.26 3.27 -1 2.78 -0.89 3.52 0.13 3.54 
+0 3.52 0.37 3.28 1.64 2.41 1.26 3.28 1.99 3.38 1.39 3.28 1.52 3.91 2 2.02 
+2.02 4.9 S
+2075.58 3004.75 -0.12 1.65 -1 2.26 -0.26 4.04 -1.13 1.76 -0.87 1.64 -1.89 0.89 -1.39 2.12 S
+2068.92 3019.12 -2.14 0.5 -1.89 1.02 -1.37 2.88 -2.65 0.26 -0.5 3.02 -0.76 2.52 2.65 0.52 
+2.89 3.52 1.63 3.28 2.91 5.04 -0.52 -3.38 2.41 2.38 2.26 3.41 1.89 2.88 2.02 2.91 
+2.13 2.63 2.78 1.28 1.5 2.52 -0.11 1.89 -1.52 1.63 -0.89 1.88 -1.76 1.13 -2.02 0.65 
+-1.63 1.26 -1.76 1.13 -1.52 0.14 -2.39 -3.41 -1.76 -2.39 -1.62 -1.52 -1.52 -2.64 -1.5 0 
+-1.89 -0.37 -0.63 -1.89 -2.28 0.87 0.63 1.02 -1.26 2.64 -2.52 0.5 -1.89 1.49 -2.12 1.02 
+-0.89 1.26 0.39 3.27 S
+2051.7 3065.86 -0.63 3.02 -0.63 2.78 0.74 4.04 1.15 3.64 1.37 4.14 0.52 3.41 0.87 3.04 
+1.39 3.25 1.76 1.39 0.26 4.04 1.89 3.78 2.13 1.89 2.15 3.14 2.13 3.04 2.28 3.02 
+2.63 2.28 2.52 2.39 2.39 1.5 1.89 2.78 2.28 2.91 2.02 3.51 2.5 2.52 2.28 0.63 
+2.39 0 2.52 0.13 1.39 -1.39 1.75 0.13 1.89 0.13 1.49 3.28 1.39 -0.26 -2.02 -2.25 
+2.15 -0.5 1.25 -1.02 1.5 -1.62 0.26 -2.64 0.63 -2.28 2.02 -0.14 -0.39 -3.52 -1.37 -2.14 
+0.74 -2.26 1.65 -1.52 1.5 -0.26 0.39 -1.49 -0.5 -2.29 1.13 0.39 0.37 3.52 0.76 1.02 
+1.26 0 1.26 1.13 S
+2112.96 3116.12 -0.89 1.39 -1.39 1 -0.37 1.52 2.52 1.52 0 -3.04 2.14 -0.37 1 -1.39 
+0.76 -2.02 1.75 0.5 S
+2118.49 3115.23 -1.13 -2.39 1.13 -1.62 1.63 -1.16 1.65 -1.25 -0.39 -2.39 0.63 -2.52 -1.39 -2.91 
+1.65 -1.13 2.13 0.13 1.65 -1.13 -0.26 -3.15 -1.26 -4.66 0.39 -1.26 -1.52 -3.28 -1.89 -2.14 
+-1.39 -2.02 1.39 -0.37 -2.52 -2.52 -1 -2.15 -0.26 -3.02 -0.87 -3.14 -1.15 -3.8 0.13 -3.14 
+-1 -3.02 1.5 -0.63 1.39 0.13 2.52 2.26 2.52 3.14 2.02 3.41 1.49 4.17 1.39 4.14 
+1.26 1.89 1 3.91 1.52 3.28 1.26 3.67 1.75 3.02 1.89 3.02 2.65 2.14 2.75 2.02 S
+2141.75 3100.76 3.14 0.75 2.39 0 2.64 0.24 2.28 0.89 2.13 1.13 2.39 0 1.52 -0.76 
+5.04 1.26 1.99 -1.13 1.65 0.63 -1.39 1.39 2.78 0.36 0.87 -0.86 1.52 0.86 1.36 1.78 
+-2.52 2.52 1.88 -0.26 1.26 -0.37 0.13 -1.39 -0.5 -2.28 0.63 2.41 1.63 2.52 0.89 2.13 
+0.26 3.03 1.5 1.63 2.02 2.02 -0.13 3.28 1 -1.76 1.15 1.89 1.99 2.89 1.89 1.25 
+1.76 -0.24 -1.87 -1.25 -1.52 -1.79 -2.15 -1.62 0.39 -2.02 -1.39 -1.12 0.89 -0.89 -1.78 -1.26 
+-2.63 -2.15 1 -0.24 2.64 2.15 2.65 1.26 1.76 0.63 1.37 4.14 1.78 3.04 0.11 -1.78 S
+2188.17 3123.68 -0.74 -2.39 2.63 0.5 3.04 1.65 2.62 2.13 -0.13 1.78 2.28 0.74 2.39 0 
+2.02 -0.37 1.39 -1.25 1.24 -1.26 2.15 -0.39 S
+2207.05 3124.8 1.88 1.39 -0.49 -1.89 1.88 -0.13 -0.76 -0.87 2.52 -0.75 1.39 1.63 -1.15 -1.13 
+-1.24 1.13 1.37 2.54 -0.24 1.5 1.76 0.76 0.87 1.39 2.15 1.13 2.25 0.89 0.76 0.87 
+2.02 -0.37 2.26 -0.5 2.65 1.26 -0.13 -1.39 2.28 -0.5 2 -0.26 2.38 0.13 1.52 1.63 
+2.02 -1.63 2.39 -0.63 3.52 0.13 -1.63 -1.52 2.12 -1 -3.14 -0.26 -1.89 0 -3.02 -0.37 
+-2.39 -1.52 -1.13 -2.52 0.38 -2.39 2.64 0.63 2.91 0.63 2.25 1 S
+2240.02 3123.8 1.39 -1.13 2.89 -0.12 3.91 -0.76 3.02 -0.87 1.76 1.37 2.39 -0.24 2.89 0.5 
+-0.63 3.02 2.28 2.28 -0.13 1.39 -2.52 -1.52 -3.02 -1 -1.76 -2.15 -1.02 1.39 -2.39 0.36 
+-1.5 1.76 -0.75 3.28 -0.89 2.02 1.26 3.28 2.28 3.02 2.13 1.65 -2.88 0.89 0.5 3.88 
+2.52 -2.13 2.02 -0.26 2.63 0.13 1.39 1.52 0.25 1.89 -1.02 2.25 -2.13 1.13 -2.25 1.15 
+-2.78 0.24 -2.15 0.52 -2.63 0.24 -3.02 -0.37 -2.78 -1.02 -2.52 -0.76 -2.52 -0.5 -2.39 0.63 
+2.52 0.75 2.25 0.76 2.52 0.63 2.39 0.89 2.91 0.99 2.89 0.38 3.4 0.39 1.63 -1.39 
+2.26 1.63 2.52 0.76 S
+2257.12 3156.55 2.52 -0.76 1.39 -1.26 1.63 -1.37 2.15 -1.02 1.13 -1.62 1.52 -1.15 1.63 -1.26 
+0.63 -1.75 2.25 -1 2.39 -1.78 2.64 0.75 2.52 0.76 2.39 0.89 S
+2281.9 3145.98 3.28 -0.26 3.02 -1.39 3.02 0.5 2.39 0.39 1.78 3.77 1.99 1.76 0.39 3.53 
+-1.89 1.26 1.49 2.15 -2.12 2.13 3.38 0.13 -0.13 2.02 -1.86 1.89 0.63 2.15 -2.15 2.26 
+1.52 2.28 -0.76 2.52 0.63 2.26 2.26 2.28 2.39 0.75 0.13 2 1.52 1.52 0.5 2.28 
+1.39 3.02 1.5 2.89 1.39 3.16 1.5 2.89 1.02 2.02 -2.52 -0.5 -2.02 -0.39 -1 -2.02 
+-2.91 -1 -2.62 0.26 -2.28 -0.76 -3.02 0.76 S
+2293.73 3194.49 1.76 3.64 -0.63 1.39 1.26 2.65 1.75 1.39 2.78 1.88 1.76 2 2.52 1.39 
+-0.76 1.65 -1.13 1.39 0.26 2.26 2.13 0.89 0.39 2.26 0.87 2.41 0.5 2.25 -2.5 1.52 
+-0.89 1.25 -0.13 2.26 -0.63 2.15 -2.25 0.38 -2.39 -1.39 -0.89 -2 -2.65 -1.02 -2.75 -0.76 
+-0.89 -1.89 -2.63 -2.12 -2.4 -1.52 -3.02 -0.5 -1.39 1 -2 -1 -1.02 -2.41 -0.24 -1.88 
+-2.78 -2.89 -2.13 -2.02 -2.78 -2.78 -3.64 -2.65 -3.15 -0.5 -3.38 0 -2.91 0.39 -2.52 0.63 
+-1.75 -2.41 -2.02 -2.25 -3.02 -2.52 -2.62 -2.02 -2.02 -3.15 -3.64 -0.63 -3.15 0.5 -1.65 -1.52 
+0.63 3.04 1.78 2.52 S
+2237.76 3195.75 1 2.65 1.75 2.63 1.39 3.27 3.02 1.65 2.26 1.63 2.02 2.15 4.66 2.25 
+0.38 2.91 -1.26 2.38 -1.13 2.41 1.39 3.88 0.11 2.65 0.39 2.14 1.99 2.91 1.15 3.28 S
+2256.88 3234.55 0.24 3.02 1.39 3.41 -1.62 1.37 -1.39 0.89 2.13 1 2.41 2.15 2.62 1.13 
+3.54 2.78 0.24 1.75 -0.87 1.39 2.52 1.89 3.25 1.39 3.78 1.39 2.78 0.5 2.88 0.5 
+3.41 0.13 2.89 0 1.39 -1 3.25 1.26 1.39 -1.52 1.65 -1.62 3.12 1.49 4.17 0.13 
+0.76 -3.02 3.64 -0.13 3.52 -0.13 3.28 1.39 4.91 -0.13 1.63 2.28 1.25 -2.02 -1.39 -1.39 
+-0.11 -2.78 3.25 -0.74 S
+2322.79 3251.3 3.64 -1.02 3.78 1.25 0.63 2.78 3.14 1.26 2.39 -1.02 3.91 1.65 -0.13 2.52 
+2.14 1.13 0.24 2.41 -0.63 1.89 -3.26 -1.15 -3.64 -1.5 -3.78 -1.39 -2.78 0.89 -2.64 -1.02 
+-1.5 0.89 3.38 3.02 3.28 0.89 2.78 0.87 3.02 2.52 -4.8 0.25 3.04 2.29 2.63 1.88 
+1.39 2.26 3.15 -1 3.14 1.89 2.15 1.63 2.63 1.89 3.41 1.78 2.25 -0.39 2.15 1.13 
+1.26 -1 0.24 -1.65 2.91 -0.11 2.88 -0.26 1.76 -0.26 1.13 1.65 0.76 2.64 -1.26 2.39 
+-2.88 0 -2.78 -0.89 -3.39 -1 -2.91 -0.63 -3.39 -0.62 -1.76 0.89 -3.54 -0.13 -3.77 0 
+-4.02 -2.64 -2.52 -3.28 S
+2336.63 3276.87 -3.02 0.37 -3.28 -1.63 -3.52 0.63 -0.13 0.63 -3.28 -0.26 2.15 2.28 3.77 1.13 
+2.52 -1.76 3.89 2.39 3.4 3.14 -3.4 0.5 -2.13 1.15 -3.02 -3.28 -2.15 0.63 -3.91 -0.63 
+-0.62 2.02 1.39 3.52 S
+2325.3 3287.7 2.28 2.52 2.63 3.15 4.17 2.52 -0.63 2.02 -0.52 2.15 -1.86 1.13 -2.28 -2.25 
+-2.75 0.24 1.76 2.14 2.26 2.02 -0.24 2.25 -0.13 2.54 1.88 2.25 1 2.02 2.15 -0.37 
+0 -1.78 3.26 1.13 2.91 2.28 1.5 2.52 2.64 2.28 3.15 2.26 3.51 1.52 1.89 2.65 
+-2.38 1.13 1.26 1.25 3.78 -0.26 -2.52 1.89 2.14 1.15 3.75 0.24 4.8 1.52 -2.91 1.39 S
+2361.79 3333.18 0.26 1.63 3.14 0 0.38 2.38 0.39 2.54 -0.5 1.5 2.5 1.02 1.26 1.5 
+-0.63 1.65 -2.26 0.87 3.77 1.52 3.64 0.75 3.65 1.13 3.02 1.89 2.64 0.63 3.28 0.63 
+2.25 1.39 1.89 1.52 3.28 0.76 2.75 1.37 4.28 1.02 2.9 1.25 2.52 1.26 3.78 -0.26 
+4.02 1.65 2.14 -0.5 4.02 0.63 1.26 2.52 3.28 1.26 2.13 2.39 2.65 1.13 1.65 2.28 
+-0.39 1.89 0.39 1.63 3.26 1.39 3.01 1.13 -0.5 1.91 -3.52 0.73 -4.41 0.26 -2.65 1.39 
+-3.89 0.5 -3.4 0.76 0.26 1.52 4.9 1.26 1.37 -1.39 2.64 0.63 2.78 1.63 2.89 1.65 
+2.38 2.13 -2.26 0.26 S
+2434 3391.75 -3.14 -0.37 0.37 1.37 -1.89 1.02 -5.27 -0.5 -4.04 -1.26 -3.75 -0.39 -1.78 -1.49 
+-2.52 -1.39 -0.5 1.5 -2.88 0.89 -0.76 1.89 4.14 1.52 1.52 2.12 3.91 0 2.13 1.52 
+-0.24 1.25 1.26 2.28 0.24 2.76 -3.91 0.63 S
+2416.88 3405.1 -2.63 1.39 -3.77 1.02 -3.15 0.73 -3.4 -0.87 -2.13 -2.28 -3.77 1.26 -0.13 1.26 
+-2.64 0.89 -1.89 -1.25 -5.77 -2.02 -4.54 0.5 0.13 -1.25 -2.89 -0.76 -2.02 -1.13 -2.02 1.65 
+-1.52 1.89 1.52 1.88 1.39 2.26 2.76 2.28 0.89 2.26 4.01 1.65 3.41 2.02 1.52 2 
+4.02 2.14 3.78 2.65 -1.52 0.5 -4.4 -2.52 -3.12 -2.13 -3.41 -1.65 S
+2385.57 3419.47 -2.02 -1.63 -3.64 -1.89 -3.39 -2.15 -3.02 -1.76 0 -1.65 -2.28 -1.89 -2.88 -2.52 
+-0.39 -1.89 -2 -2.64 -2.28 -2.39 -0.5 -1.78 0 -1.89 3.41 0.89 0.63 -1.26 -1.76 -1.75 
+-0.26 -2.02 1.39 -1.65 -0.52 -1.76 -1.87 -2.52 -2.41 -1.26 0.13 1.63 2.28 1.89 -2.41 1.64 
+-0.5 2.02 -2.52 -0.5 0.26 1.63 -3.14 -2.02 -1.13 -2.15 -0.63 -1.89 -2.78 -1.5 0.76 -2.02 
+3.41 -0.89 -3.54 -1.25 -2.52 -1.5 -3.39 -0.76 -4.79 -1.39 -4.28 -1.52 -3.02 -2.15 -2.88 -2 
+-4.04 -1.65 -2.76 -1.63 -0.26 -1.65 -3.25 0.26 -3.78 -1.65 -4.54 -1.26 -3.78 -1.25 -3.38 -1.63 
+-3.91 -0.5 -4.41 -1.39 S
+2297 3359 -3.9 -0.62 -4.78 -0.76 4.15 -0.39 4.27 0.39 3.14 -0.26 3.65 1.39 -1.26 -1.13 
+2.28 -0.76 -3.53 -0.5 -1.76 0.37 -3.77 -0.37 -2.63 0.24 0.37 -1.5 1.39 -0.76 -2.91 -0.76 
+-3.02 -0.89 3.02 2.02 -0.87 1.52 -3.52 -0.26 -0.76 -1.36 -2.52 0.11 S
+2284.05 3354.71 -2.91 -0.63 -2.39 -0.87 -3.02 -1.65 -3.78 -1.13 3.78 0 4.91 1.26 3.77 1.13 
+-2.26 -1.39 -1.26 -1.26 -1.88 0.13 -3.52 -0.87 -3.15 -1.15 -3.02 -1.76 -0.39 -1.89 -2.52 0.89 
+-2.13 -0.89 -0.39 1.76 -4.28 -1.5 -2.88 -1.89 -5.29 -2.15 -3.26 -2.52 -3.91 -1.15 -3.15 -1.63 
+-2.25 -0.26 -3.78 -2.88 -2.64 -2.65 -3.15 -2.91 S
+2229.32 3326.87 -3.38 -2.39 -3.41 -2.38 -2.75 -2.39 0.73 -1.65 -3.38 -0.87 -2.39 -1.78 -3.41 -2.02 
+-0.87 0.39 -3.41 -2.02 -2.89 0 1.26 0.63 -0.52 1.13 2.15 -0.76 2.78 2.64 1.13 2.41 
+3.25 3.38 -1.62 -0.12 -2.02 -1 -3.25 -1.62 -3.91 -1.78 -2.38 -1 -2.39 -0.89 -2.41 -3.14 
+1.26 2.78 -2.26 -0.63 -3.02 -1.25 -2.52 -0.13 -3.41 -1.13 -3.26 -0.76 -3.64 -0.63 -3.54 -0.39 
+-3.51 -1.63 -2.78 -1.75 -3.65 -2.02 -3.26 -1.02 -2.9 -0.24 -1.76 -0.76 -2.26 -2.15 -2.64 -2.02 
+-2.26 -1 -2.91 -1.64 -2.89 -2.52 -2.38 -2.64 -2.02 -0.62 -1.39 -2.52 1.78 0.76 -1.15 -1.76 
+-0.87 0.26 -3.15 -2.54 S
+2135.85 3283.66 2.25 2.64 -2.88 -1.75 -2.52 -2.26 -0.5 -1.52 -2.78 -1.52 -1.63 -0.5 -2.78 -3.41 
+-3.26 -3.14 -3.91 -4.27 -3.28 -1.89 -1.75 -4.17 -1.76 -3.41 -1.52 -3.02 -0.24 -1.52 -2.15 -1.89 
+-0.24 -1.5 -2.52 -3.78 -2.78 -2.91 -3.28 -3.02 -3.39 -3.91 -2.65 -2.64 -2.13 -2.78 -1.52 -1.13 S
+2088.67 3230.38 -1.75 -2.78 -2.52 -2.02 -0.63 -1.62 -3.52 -3.27 -1.15 -3.15 -2.52 -4.54 -1.99 -3.28 
+-1.89 -3.28 -2.52 -2.26 -1.52 0.74 0.5 3.14 -1.89 -4.14 -1.87 -2.52 -1.02 -2.52 -1.39 -3.41 
+0.13 -1.89 -1.76 -3.41 -1.26 -3.77 -2.64 -4.04 -2.75 -2.88 -2.02 -0.76 -0.99 -4.54 -1.52 -3.91 
+-1.89 -4.41 -1.39 -4.29 S
+2046.89 3161.59 -3.14 -5.54 3.04 0.39 1.89 4.02 2.38 4.79 -0.39 1.89 2.15 3.64 0.87 0.26 
+1.65 3.52 1.75 1.89 2.65 4.29 2.63 3.64 2.64 5.04 2.65 4.29 1.75 3.78 2.89 3.41 
+2.4 3.78 2.39 4.14 2.52 3.54 1.5 3.27 2.02 2.89 2.52 1.52 2.52 2.89 2.65 2.41 
+2 1.13 -1.63 -3.78 0.37 -1.26 -1.49 -2.64 -1.02 -2.65 -2.52 -2.14 -2.88 -3.65 -2.02 -2.02 
+-2.38 -3.64 -2.89 -3.66 -2.64 -5.04 -2.65 -4.9 -0.24 -3.15 -2.78 -2.64 -2 -5.04 -1.65 -2.91 
+0.13 -1.13 -1.62 -3.02 -1.89 -1.15 -1.39 -1.39 -0.99 -3.39 -0.76 -4.41 -2.64 -4.92 -1.39 -3.91 
+-1.13 -3.78 -2.14 -4.8 S
+2050.54 3145.46 -1.12 -3.52 -1.5 -4.41 -1.26 -3.4 -2.91 -4.91 -0.74 -3.04 -1.52 -2.02 -2.13 -0.74 
+-0.89 -2.41 -1.62 -0.11 -1.79 -4.67 -1.62 -5.03 -0.13 -4.17 -0.5 -4.28 -1.26 -4.17 0.26 -4.4 
+0.87 -2.91 0.5 -1 -0.5 -3.91 -0.5 -5.17 0.5 -3.14 0.5 -3.02 0.13 -3.67 0.89 -2.52 
+0.24 -3.64 0.26 -3.67 S
+2034.7 3061.57 1.13 -2.63 0.89 -3.41 1 -3.28 2.39 -0.39 2.28 -0.11 1.26 -1.88 0.87 -2.02 
+0.63 -2.64 0.26 -3.15 -0.13 -2.52 -0.12 -4.29 0.13 -3.64 0 -3.41 0.63 -3.4 1.13 -2.76 
+1.52 -1.65 0.76 -3.38 0.11 -2.54 1.39 -1.37 0.89 -3.27 1.25 -1.26 2 -1.89 1.26 1.13 S
+2056.21 3007.79 -0.11 -3.91 -1.15 1.13 0 -3.91 0.26 -3.28 0.37 -4.14 0.52 -3.54 0.63 -3.52 
+-1.02 -2.78 -1.26 -2.65 -0.5 -3.28 1 -1.62 0.26 -1.64 2.02 1.39 0.13 -3.02 1.37 -4.04 
+0.5 -3.14 -1.37 -3.28 1.75 -1.89 0.38 -2.41 1.25 0.39 1.76 -1.89 1.52 -2.52 0.38 -3.04 
+1.89 -1.26 -0.74 -4.14 1.75 -0.63 2.52 0.37 -1.02 3.41 0.26 2.52 2.02 0 1.76 0.76 
+1.89 2.13 1.26 -0.86 1.13 -2.78 0.24 -3.41 1.26 -0.87 -1.63 -1.52 0 -4.53 1 -3.91 
+0.63 -3.64 -1 -2.52 -0.76 -4.79 -0.87 -3.41 -0.39 -3.64 -1.37 -2.88 0.87 -3.17 -1.88 -1.99 
+-1.89 -3.41 -2.39 1.39 S
+2069.42 2908.4 -2.15 -2.65 -0.11 -3.14 -1.89 0.37 0.24 -3.28 -2.39 -0.5 -3.14 -0.76 -1.13 -4.54 S
+2332.23 3330.9 -1.62 -2.88 -1.26 -3.04 -2.91 -1.89 -0.5 2.02 -0.13 1.52 -3.12 1.13 -1.89 -3.02 
+1.89 -0.39 1.13 -1.89 -2.39 -0.37 -2.78 1.13 1.63 -3.41 3.78 1.26 -2.75 -3.02 2.39 -0.62 
+1.89 -0.76 0.87 2.65 2.15 2.78 0.89 -1.52 0.74 -1.62 2.14 2.02 -0.63 2.65 0.5 2.52 
+0.26 2.25 -0.26 2.52 S
+2289.46 3313.02 -3.39 -2.65 -0.76 -1.89 0.38 -1.76 -0.87 -1.39 1.99 0 0.52 -1.76 0.5 -1.65 
+3.14 -0.5 1.13 -1.65 -0.13 -2.26 1.89 1 -0.63 -2.64 1.63 2.41 0.52 1.76 -0.52 1.65 S
+2294.86 3301.7 -1.5 0.5 -1.89 0.87 -0.13 1.39 1.89 1.89 1.89 1.02 1.13 2.65 -2.02 -0.76 
+-2.75 -1.65 0.13 1.79 -2.14 -0.13 -1.26 1 1.26 2.78 S
+2267.32 3295.77 -1.13 -2.52 2.13 -0.26 0.63 -1.63 -0.5 -2.64 0.76 -1.78 1.39 1.78 0.24 1.5 
+2.02 1.79 0.37 1.25 -2.63 0.63 -1.39 0.87 -1.89 1.02 S
+2248.57 3269.42 1.63 -1.75 2.78 1.02 2.75 1 1.65 -1 3.39 2.52 -2.76 0.13 -2.28 0 
+-2.75 -1.78 -2.15 -0.13 -2.26 0 S
+2229.45 3250.67 -2.02 -1.91 -3.15 -2.26 -1.39 -2.28 -2 -1.12 0.37 -2.13 -3.14 -1.91 1.26 -0.87 
+-2.64 -1.13 -2.63 -1.26 -2.65 -1.39 1.5 -1.15 4.29 1.65 S
+2217.25 3234.92 2.26 2.52 3.52 3.15 3.02 2.38 3.04 2.54 3.02 2.26 0.24 1.89 -0.12 1.52 
+-2.76 -0.5 S
+2227.3 3255.45 -3.14 -2.52 1.78 -0.36 -1.52 -2.02 -1.63 0 -3.28 -1.52 -1.39 -2.52 S
+2218.12 3246.5 -2.39 -3.28 -2.15 -1.12 -1.87 -2.15 -2.14 -0.89 0.89 -1.89 2.5 2.15 1.39 1.76 
+2.02 1.88 2.78 0.89 0.24 1.64 -1.26 1 S
+2218.12 3246.5 3.64 2.26 1.76 0.13 2.15 1.02 1.89 2.89 -0.26 2.64 S
+2193.73 3205.82 0.63 -1.52 2.26 -0.86 -1.89 -3.04 2.26 -1.13 2.39 -1.13 3.41 -0.37 0.76 -1.52 
+-2.91 0.5 -1.89 -1.39 1.39 -1.5 -1.63 -3.04 1 -1.89 2.65 -1.26 1.76 -2.02 -1.39 -1 S
+2202.52 3184.66 0.76 -1.52 1.89 2.64 2.38 1.52 0.89 2.02 1.75 1.37 -1.13 2.15 1.26 2.52 
+2.26 2.91 -1.13 2.38 0.5 3.02 -2.26 -0.37 -2.28 0.89 -2.39 -0.39 -2 0.13 -1.65 1.26 
+-2.52 0.13 -2.65 0.37 -2.5 0.13 S
+2187.43 3184.79 3.02 -0.76 -2.64 -1.13 -1.89 -1.15 -3.52 -2.13 -2.39 -1.39 -2.14 -2.28 -3.02 -2.65 
+-2.15 -3.28 0.76 -1.25 1.52 -0.5 2.26 0.89 3.28 2.13 2.52 2.54 1.89 2.39 2.25 1.89 
+2.65 1.13 2.52 1.39 2.52 -1 3.25 1.26 0.76 -1.39 -0.13 -1.89 0 -2.15 -1.25 -2.26 
+-3.02 -2.65 -3.52 -0.89 -1.75 -1.52 2.52 0.39 1.75 -0.63 -2.14 -3.04 -2 -3.15 S
+2189.32 3161.71 2.63 -0.62 2.91 2.78 3.02 1.63 2.39 1.39 1.39 2.15 -1.02 -3.54 0.52 -3.52 
+2.26 0.76 2.02 4.04 1.49 3.64 -0.87 3.14 -0.76 2.26 -1.12 1.78 -0.76 2.25 -0.89 1.26 
+-1.37 -1.89 -1.52 2.28 -0.26 1.63 -1.12 1.02 -2.52 2.13 -0.37 0.76 -2.25 -0.5 -2.91 -0.89 
+-2.75 -0.87 S
+2202.15 3176.34 0.37 -2.52 0.13 -2.15 2.39 1.39 -1.5 1.13 -1.39 2.15 S
+2180.51 3158.57 0.13 -3.15 1.25 -1.62 1.5 -1.26 2.52 -0.52 2.02 -0.74 2.65 -0.65 2.52 -0.37 
+2.49 0.5 -1.49 1.78 -1.39 1.75 -1.89 -0.25 -0.5 1.64 -1.62 1.13 -2.28 -0.63 -2.63 0.63 
+-1.15 1.76 -2.13 0 S
+2195.59 3155.17 0.63 -1.63 2.28 -1.13 1.26 -1.52 0.87 -1.89 1.78 -1.13 2.26 -0.89 2.25 2.65 
+1.89 1.13 -2.02 0.75 -2 -0.37 -1.12 2.13 -1.39 0.89 -1.89 1.39 -2.02 0.76 -2.78 -1.15 S
+2014.2 2923.5 -1 -3.51 0.87 -2.91 -1.5 -1 1 -2.15 1.76 1.65 -0.37 3.91 -0.75 4.01 S
+2143.54 2593.34 1.36 -3.15 1.39 -2.28 2.02 -4.14 2.52 -0.62 -0.76 2.75 -2.02 2.02 -0.12 2.28 
+-1.63 2.02 -2.75 1.13 S
+2209.31 2529.08 -0.87 -0.63 -1.52 0.39 0.5 -1.52 -1.5 -0.12 2.02 -2.89 1.63 -0.89 1.39 1.25 
+1.13 -0.99 -1 -1.65 2.89 -2.75 -1.39 0.24 -3.15 2.78 1.13 -3.02 -1.89 0.87 -3.14 0.63 S
+2205.54 2520.77 -2.5 1.26 -4.3 1.52 -3.25 1.13 -3.28 1.13 1.89 -1.39 2.75 -1.13 1.88 -0.24 
+0.39 -1.64 2.76 -1.13 1.39 -1.52 1.89 0.39 2.38 -1.89 1.39 0.24 1.39 -1.39 4.14 -1.5 
+2.89 -0.63 0.52 1.13 2.26 -1.76 2.39 -0.75 1.52 0.75 3.26 -1.15 -2.63 2.28 2.39 0.37 
+1.26 1.65 2.52 0.24 0.99 0.63 -0.99 1.39 -2.15 -0.24 -2.25 0.76 -2.65 1.25 -3.28 1.13 
+-3.38 1.63 -2.28 1.78 -1.89 1.89 -3.64 2.12 S
+2230.95 2535.27 4.04 -2.15 0.76 1.52 1.49 -0.39 1.65 -1.39 1.89 0.63 0.11 1.39 2.02 1.02 
+-1.26 1.89 -2.75 0.76 -1.76 -1.02 -3.04 0.76 -2.52 -0.64 2.52 -1.75 S
+2234.09 2535.89 -0.11 -1.39 -3.04 0.76 S
+2323.54 2527.32 3.65 -1.12 3.27 -1.13 3.28 -2.02 -0.26 1.63 -2.26 1.13 -3.54 1.15 -4.14 0.36 S
+2152.45 2920.49 2.65 -1.13 1.5 1.13 0.75 3.14 -3.14 0.76 0.63 -0.89 -0.63 -2.52 -1.76 -0.5 S
+2124.16 2950.72 0.87 -2.52 -0.11 1.02 -0.75 1.5 S
+2101.89 3010.94 1.13 -1.02 0.24 -3.02 1.26 -1.62 1.78 0.11 1 -1.37 1.13 -1.02 0.39 2.65 
+-1.15 2.14 -1.5 1.89 -1.65 1.89 -2 0.13 -0.62 -0.76 S
+2097.09 3047.22 -0.24 -1.39 -0.76 -0.5 0.63 -1.02 1.39 -0.37 0.5 2.25 -0.26 1.65 -1.26 -0.63 S
+2091.82 3053.02 2.02 -2.02 1.75 1.5 1.76 -1.76 1.89 0.5 1.89 0.52 S
+2101.13 3051.75 1.26 -2.14 1.89 -2.39 -2.15 0.37 0.13 -2.52 1.39 -2.02 2.39 -2.15 0.36 -2.52 
+1.15 -1.76 1.13 -2.39 1.89 -1.02 0.11 -1.39 -1.13 -2.88 0.75 -3.41 2.65 -2.12 -0.39 -2.54 
+-2 -0.63 -1.65 -0.87 2.39 -1.76 2.15 -0.89 1.75 -1.39 1.52 -1.89 1.89 -1.26 1.63 0.13 
+2.14 -0.89 0.11 1.26 -0.86 0.76 -0.26 2.88 -1.63 1.91 -1.39 0.37 1.52 2.26 -1.26 1.65 
+-1.52 1.89 -0.76 3.4 -1 2.26 -0.63 2.65 -0.89 2.91 -1.13 2.39 -1.63 1.52 0 3.02 
+-0.89 2.15 -0.74 2.25 -1.65 1.52 -1 2.52 -1.52 1.5 -2.26 0.52 -1.75 1 -1.89 1.02 
+-2.39 0 -1.89 -0.52 S
+2095.09 3054.51 -1.15 -2.02 -2.13 0.52 S
+2116.34 3001.5 1.65 -3.8 1.13 0.63 1.89 -1.25 1.39 -1.63 1.76 -0.5 1.75 -1.78 0.37 -4.15 
+2.39 1.76 0.63 1.52 2.41 -0.12 -0.63 -1.52 2.13 -0.75 2.78 -0.37 1.99 -1.12 0.52 -2.91 
+2.38 1.78 -0.75 3.52 -2.89 3.02 2.26 0.52 -2.26 1.37 0.11 2.54 -2 1.89 -1.76 1.76 
+-2.52 1.63 -1.65 -0.11 -1.63 3.02 -2.15 1.52 -1.89 -0.63 1.78 -1.39 0.11 -2.64 -0.86 -2.15 
+0.5 -3.64 -2.26 -0.39 -1.89 1.25 -1.26 2.15 -1.65 1.76 -1.89 -0.73 S
+2144.4 2981.46 1.52 -1.39 1.88 -0.52 1.76 -0.87 1.5 0.87 -0.73 2.28 -2.41 1.39 -2.39 1.26 
+-1.13 -3.02 S
+2163.29 2959.16 -0.39 -2.26 1.26 1.26 S
+2164.15 2958.16 1.13 -0.52 -0.24 1.78 -0.89 -1.26 S
+2164.15 2958.16 -0.86 1 S
+2163.39 2949.09 0.89 -2.78 0 1.13 -0.89 1.65 S
+2124.02 3053.52 -0.89 -2.28 -1.63 -0.74 0.26 -3.91 -0.89 -3.67 1.75 1.39 0.26 2.78 1.13 2.02 
+0.89 3.64 -0.89 0.76 S
+2126.54 3015.34 1.89 -1.26 1.76 2.02 -1.39 -1.13 -0.87 1.37 -1.39 -1 S
+2127.04 3064.61 0.26 -2.02 1.99 -0.39 1.02 -0.74 -0.26 -1.64 -0.24 1.39 -3.04 1 0.26 2.41 S
+2132.21 3061.57 0 -3.64 -2.28 -2.39 1.89 2.78 0.39 3.25 S
+2130.19 3051.13 0.76 -3.8 -1.52 -2.76 S
+2130.95 3043.32 -0.39 -4.04 S
+2128.93 3036.37 -0.76 -6.16 S
+2129.82 3028.69 1 -2.88 -2.39 -1.26 S
+2132.83 3023.03 1.26 -1.63 S
+2133.07 3016.73 2.15 0.5 1.63 -3.02 S
+2110.68 3060.3 2.02 -0.87 S
+2168.18 3103.28 1.89 -0.13 1.76 1.26 S
+2196.86 3126.82 2.14 -1.25 2.02 -1.26 2.88 -0.37 -0.13 1.76 -2.13 0.39 -1.65 0.74 -1.89 1.15 
+-1.25 -1.15 S
+2261.66 3150.52 0.5 -2.52 -0.37 -1.78 0.76 -1.89 1.37 -1.75 1.52 -1.13 0.63 2.26 -0.63 1.76 
+-0.76 2.02 -1.39 1.78 -1.63 1.26 S
+2248.57 3134.77 -0.13 -1.89 0.63 -2.52 1.26 -2.91 1.39 1.65 2.39 0.24 -2.39 1.15 -1.62 1.13 
+-1.02 2.02 1.26 1.89 -1.76 -0.76 S
+2294.75 3240.08 1.25 -1.39 3.39 -0.5 0.37 0.24 -0.5 1.39 -1.76 0.89 S
+2297.5 3240.71 -2.75 -0.63 S
+2299.13 3233.66 -3.52 -1.76 -1.13 -1.78 3.02 0.63 2.52 1.26 -0.89 1.65 S
+2263.78 3211.87 1.26 -1.02 -3.12 -0.13 0.73 -1.26 1.89 0.26 -2.38 -1.65 3.64 1.65 1.02 1.52 
+-3.04 0.63 S
+2242.77 3203.8 -0.11 -2.02 0.11 -2.25 1.89 2.25 -0.11 1.39 -1.78 0.63 S
+2267.19 3131.25 -1.12 -2.41 2.75 -0.63 2.02 -2.02 2.26 -1.26 2.15 -1.39 1.63 -1.62 -1.13 -1.63 
+-2.39 -0.39 1.39 -1.52 3.38 1.64 1.52 -0.25 1.25 -1.39 -2.64 -2 2.52 0.37 -1.5 -2.15 
+1.86 -1 2.15 2.25 2.25 2.29 -1.75 0.5 2.52 2.02 -1.25 0.26 -2.52 -1.65 -0.24 1.39 
+1.76 1.39 4.02 1.25 -2.52 0.76 S
+2285.54 3124.07 0.39 2.13 3.02 1.25 -0.76 1.79 -2.02 1.13 -2.26 0.63 -0.37 2.78 2.13 0.5 
+-1 1.76 -3.41 -0.24 2.91 1.89 2.13 1 3.15 1.75 2.64 2.02 -1.39 0.89 -2.75 -0.13 
+-2.28 -1 -2.26 -1.65 -3.15 -1.63 -2.88 -2.41 -3.41 -1.63 -2.52 -1.52 0.5 -1 -2.63 -0.63 
+-2.14 -0.5 S
+2301.41 3251.41 0.87 -2.52 -3.02 -1.63 1.13 -1.52 3.15 -0.13 2.52 -0.11 0.63 -1.39 -0.87 -2.41 
+-1.26 -2.52 3.39 -0.37 0.63 2.52 2.15 2.26 1.39 2.4 1.26 3.02 1.76 3.02 3.02 1.89 
+-3.28 0.76 -2.76 -0.63 -3.78 -1.25 -3.64 -2.13 -3.28 0.74 S
+2333.86 3245.5 -2.63 -2.14 1.63 -1.65 2.15 -0.24 S
+2335 3241.47 2.63 1.13 1.52 1.75 -1.12 1.79 -4.17 -0.64 S
+2353 3274.71 -2.52 -2.12 -3.14 -2.14 -2.28 -2.28 -1.63 -3.02 0.63 -2.15 0.13 -3.39 1.13 -1.39 
+-1.63 -3.27 1.63 -0.76 3.78 0 -2.26 -2.02 -1.65 -3.78 -4.28 -1.52 3.02 -0.74 -2.25 -2.65 
+-0.76 -2.91 -2.64 -2.15 -2 -1.89 -2.64 0 -3.28 -0.24 -2.76 0.24 -1.89 -3.14 -3.14 0.5 
+-1.39 2.28 -0.5 3.02 -2.15 -0.76 -1.13 0.76 -2.78 -0.76 -1.87 -2.39 1.5 -2.64 2.26 -0.5 
+0.75 -2.15 -0.24 -2.52 0.24 -2.13 -0.37 -2.41 -2.39 -1.5 -0.63 -2.64 0.13 -1.89 0.5 -2.28 
+-0.76 -1.5 0 -2.54 0.63 -2.26 1.13 -2.02 2.15 1.65 S
+2317.64 3208.72 0.5 2.63 0.87 2.9 0.76 2.52 1.64 2.28 0.37 -2.78 -0.37 -2.78 -0.13 -3.02 
+2 -2.02 3.78 2.26 1.02 2.78 2.52 2.14 0.76 2.26 0.61 3.14 1.89 2.78 3.91 2.15 
+-0.37 -4.3 -2.39 -3.02 0 -3.02 3.14 1.5 2.63 -1 2.39 1.26 4.03 1.39 0.63 2.26 
+0.26 2.65 0.37 2.78 0.87 2.78 -1.87 2.13 0.63 3.28 2.89 1.78 2.38 -1.26 1 3.02 
+2.78 0.87 2.02 2.78 0.5 2.78 2.02 3.78 0.49 2.28 -0.89 2.25 3.02 1.39 1.76 1.39 
+-1.37 1.5 0.49 1.89 0 1.52 -2.88 0.63 -0.62 1.65 -2.52 0.5 3.39 0.76 2.64 1.89 
+3.02 0.63 1.39 1.26 S
+2369.59 3267.93 -1.02 1.26 -2.76 1.13 -3.15 0.63 -3.41 -0.89 -2.75 -0.73 -2.52 -1.39 S
+2354 3267.93 1.75 2.13 2.78 1.02 2.63 0.89 2.91 0.24 2.13 -0.12 2.28 -1.37 -0.26 1.75 
+-0.5 2.02 -2.02 0.87 -3.02 0.63 -2.88 0 -2.91 -0.11 -3.88 -1.15 S
+2369.73 3266.28 -2.28 -0.37 -2.75 -1.39 -0.13 -2.14 1.5 -0.87 0.26 -2.28 2.02 0.63 2.38 1.52 
+0.63 1.76 -0.5 1.76 -1.13 1.39 S
+2374.37 3288.08 -1.26 -1.78 -0.86 -2.13 3.52 0.64 2.38 1.25 0 1.39 -3.77 0.63 S
+2388.34 3289.34 -2.41 -0.26 -3.02 -1.62 0.63 -1.91 -1.63 -1.49 -2.78 -0.89 -2.88 -0.13 -3.39 -0.87 
+-1.15 -2.78 -0.11 -2.39 0.11 -2.02 S
+2371.72 3274.98 0.52 -2.15 2.63 -0.63 -1.13 -2.25 1.89 -1.78 2.89 0.25 2.52 0.89 1.02 2.38 
+-0.63 1.63 0.13 2.15 -2.15 1.76 0.37 2.41 1.65 2.02 1.39 -0.26 1.24 1.39 1.78 1 
+-0.13 1.75 1.89 1.79 0.75 2.02 S
+2408.72 3290.34 -1.89 -1.13 -2.78 -0.89 -2.38 0.13 -3.02 -0.63 -2.39 -1.63 0.13 -2.65 2.63 -0.63 
+3.28 -0.13 2.02 -0.75 2.52 0.49 0.5 1.52 3.02 0.13 1.52 1 0.37 1.76 2.02 1.02 
+3.15 0.86 -0.13 1.15 -3.02 -0.13 -2.38 0.76 -3.15 -0.26 S
+2419.16 3287.96 -3.52 -0.76 -2.02 -1.65 0.24 -1.99 1.26 -1.26 0.63 -2.02 1.52 -1.89 -2.38 0.74 
+-1.76 1.91 -1.78 0.63 S
+2411.35 3281.66 0.89 1.89 -3.91 -0.13 -0.87 -1.39 -3.02 -0.64 -2.52 -1.12 -1.02 1.13 -4.27 0.64 
+-1.26 -2.29 -1.13 2.15 -2.78 -0.5 -0.87 -1.25 -1 1 -2.28 1.02 -2.76 -0.62 -0.39 -2.02 
+0.13 -2.91 1.52 -0.87 -0.26 -1.65 1.52 -0.76 -1.89 -1.25 2.39 -1.63 3.14 -0.26 2.13 2.28 
+2.78 -0.76 2.02 1 1.5 -1.75 3.51 0.39 3.15 1.13 3.64 0.24 2.41 -1.37 3.64 0.11 
+2.88 0.13 3.28 -0.37 3.89 -0.25 1.52 0.63 2.52 -0.24 2.02 0 1.26 0.63 0 1.26 
+0.87 1.37 -0.37 1.65 0.26 1.76 -0.89 1.39 -1.13 0.89 -0.13 1.39 -1.63 1.89 -2.65 0.5 
+-2.02 1.13 -1.5 0.89 S
+2423.7 3286.07 -1.39 -0.26 -0.26 1.52 -2.89 0.63 S
+2408.46 3293.88 -1.25 -1.52 3.02 1.13 -1.76 0.39 S
+2405.08 3299.67 -1.52 -0.25 -1.63 -1.52 -1.89 0.76 -1.76 -0.76 -1.39 -2.02 -0.25 -1.26 -3.02 -0.87 
+1.13 -1.13 0.13 -1.65 0.13 -1.26 2.02 -0.13 1.76 0.5 2.63 2.15 -2.89 0 -2.76 0.25 
+0.5 1 2.39 0.5 2.75 0.13 2.52 1.26 0.26 1.39 1.52 1.13 0.37 1.26 -1 0.52 S
+2392.86 3290.61 -1.5 -1.89 -0.89 -2.15 1.63 -0.63 1.52 0.37 0.26 2.52 -1.02 1.79 S
+2394.38 3299.28 -3.41 -0.24 -1.13 -1.39 2.64 0.63 2.13 0.13 -0.24 0.86 S
+2386.7 3298.66 -3.02 -1 -2.39 -0.39 -3.02 -1.26 1.13 -1.62 S
+2379.41 3294.38 -4.04 -1.39 -0.37 -2.78 3.52 -0.24 2.91 0.63 2.63 0.24 2.15 1.78 0.5 1.89 
+-1.88 0.63 -2.76 0 2.76 1.26 2.02 1.13 -0.13 1.13 S
+2376.63 3298.03 -0.24 -1.39 2.52 0.89 -2.28 0.5 S
+2361.04 3294.62 -2.14 -1 -2.65 -0.89 -0.24 -1.49 -3.02 -1.89 -3.54 -1.89 2.28 -1.39 1 -1.89 
+4.04 0.5 3.88 1.26 1.26 2.14 3.14 -0.75 3.52 1.25 -1.37 1.26 0.73 1.76 -1 1.39 
+-2.25 0 -3.41 -1.63 0.63 2 -0.87 1.26 S
+2401.54 3306.86 -0.5 -1.64 -1.39 -0.89 -0.37 -1.25 1 -0.74 2.15 1.63 0.37 2.02 -1.26 0.89 S
+2400.29 3308.86 -1.89 -0.5 0 -0.76 2.28 -0.11 -0.39 1.37 S
+2398.16 3307.09 -2.39 -0.12 -1.39 -1.39 1 -1.76 3.02 -0.37 0.39 1.13 -0.5 1.13 -0.13 1.39 S
+2387.59 3315.17 -1.39 -1.02 1.52 -0.76 2.26 -0.74 -0.76 1.5 -1.62 1.02 S
+2395.64 3319.32 -3.28 -0.63 -0.62 -1.25 -1.63 -1.39 1.25 -1.5 1.76 -1.02 -2.26 -1.26 1.87 -1.76 
+2.65 0.13 1.02 -1.25 2.39 0.99 -1.26 1.13 1.26 1.65 -0.39 1.26 -0.87 1.5 -1.52 1.65 
+-0.36 1.76 S
+2384.18 3313.52 -1.76 -1.63 -1.75 -1.15 1.13 -1.37 -2.75 -1.02 -0.52 1.65 -1.89 -0.52 -1.26 -1.63 
+0.13 -1.39 1.39 -1.25 0.76 -1.39 -1.26 -2.52 0.13 -1.63 2.89 -0.13 2.65 -0.26 1.5 1.52 
+2.78 1.76 3.38 0.5 -1.13 1.02 S
+2388.58 3304.08 -1.89 0.87 -1.5 -1 -1.65 0.37 -2.52 -0.73 1.39 2.38 2.64 0.5 2.13 0.76 
+2.52 1.52 1.15 1.5 -1.78 1.02 -2.52 1.26 -2.39 1 S
+2361.29 3317.69 -2.64 -1.78 -2 0.63 -2.64 -1.37 -1.89 -2.64 -0.89 -2.15 -2.89 -2.15 -0.76 2.15 
+1.16 2.39 0.73 2.02 -4.41 -0.5 -2.76 -2.02 -1.12 -2.39 -5.04 -1.25 -0.5 -2.52 -0.26 -2.91 
+0.89 -2.52 0.5 -2.25 1.76 -1.52 -2.65 -1.88 -2.39 -2.39 0.63 -2.02 1.75 -1.52 2.65 1.26 
+0.37 -1.89 3.14 0.36 1.52 2.78 2.26 2.52 2.91 1.89 3.88 0.14 3.91 1.25 3.02 0.63 
+2.88 -0.87 2.41 -0.52 2.13 1.25 0.37 2.02 -3.02 1.02 S
+2364.3 3300.93 -3.26 0.63 3.02 2.26 -0.39 1.76 2.28 1.52 -1.65 1.89 4.16 0.5 0.74 1.52 
+-1.26 1.39 -0.23 1.76 -0.89 1.52 -1.88 0.13 -1 1.39 -2.65 0.5 S
+2370.72 3326 -4.14 -1.52 -4.66 -0.5 0.25 -2.14 -0.63 -1.76 2.39 -1.62 4.01 -1.02 1.02 -2.26 
+0.76 -1.88 1 -2.02 3.28 1.76 3.52 0.99 1.39 2.29 3.15 1.88 -0.26 2.02 0.5 2.38 
+-4.27 -0.13 -3.02 0.89 -2.25 1.39 -2.02 1.26 S
+2551 3424.37 -2.75 2.78 S
+2520.42 3438.24 -2.13 0.76 -2.39 0 2.52 -0.89 2 0.13 S
+2467.34 3444.16 -2.64 0.38 1.52 0.63 S
+2459.29 3444.66 -3.52 -0.5 2.65 -0.39 0.87 0.89 S
+2447.22 3442.41 -2.78 -0.63 S
+2444.45 3441.78 -0.63 -0.89 S
+2416.02 3435.72 -3.78 -2.15 -1.39 -0.87 0.63 -0.76 2.52 0.76 2.02 3.02 S
+2409.09 3432.31 -3.15 -1.26 -2.64 -1.26 0.89 -0.99 3.91 0.87 -0.89 1.02 1.89 1.63 S
+2446.83 3400.57 -0.5 1.25 -3.52 -0.86 -4.04 0.76 -3.27 -1.52 3.77 0.26 2.91 -0.52 4.64 0.63 S
+2423.57 3410.13 -3.02 0.26 -3.04 -0.26 -2.38 -1.13 0.63 -0.86 2.52 0.24 2.65 0.89 2.64 0.87 S
+2361.79 3402.08 -5.14 -0.12 -1.65 -1.89 0.13 -1.39 -2.39 -1.89 2.39 -0.24 2.39 0.63 -2.39 -2.28 
+2.64 0.26 1.39 2.13 1.13 2.02 1.5 2.78 S
+2271.33 3353.21 -4.02 -0.26 -2.91 -1.52 -3.88 -0.87 -3.78 -1.39 -4.78 -2.78 4.15 1.26 S
+2256.12 3347.66 2.76 1.65 1.78 -0.39 4.14 1.15 2.39 -0.89 1.63 1.89 2.52 2.15 S
+2236.87 3336.7 -4.66 -2.38 -3.13 -2.65 -3.04 -2.52 -1.5 0 -2.39 -2.28 -2.52 -1.89 -0.89 -1.75 
+-1.75 -0.37 -3.02 -3.04 -2.26 -2.38 0.24 -1.39 3.78 2.41 4.14 3.25 3.91 2.65 4.4 2.4 
+2.65 2.76 2.88 3.28 3.28 2.65 -0.13 1.26 S
+2401.54 3268.79 -1.25 -1.89 1.13 -1 -1.87 -1.13 -0.52 -2.02 -1.5 1.13 -2.15 0.36 -0.76 -1.36 
+-0.24 -1.89 -1.89 0 -0.75 -1.64 0.13 -2.39 2.26 -0.63 1.76 -1.52 1.39 -1.63 -0.37 -2.64 
+0.76 -1.89 -1.89 -1.26 -1.02 -2.02 -1.39 -2.52 -2.5 -1.89 -1.15 -2.28 -1.88 -1.76 S
+2387.83 3236.93 -3.26 -1.88 -1.52 -2.15 -2.88 -1.39 -0.63 -1.5 1.76 -1.28 2.39 0.65 -1.89 -2.91 
+0.89 -1.89 -1.76 -2.39 -1.02 2.76 -1.89 1.65 -6.29 -4.04 0 -2.78 3.02 -0.87 3.54 0.87 
+-1.89 -3.01 -3.64 -2.89 -2.65 1.75 -3.02 -0.89 -3.28 -2.02 -2.76 -2.39 -1.89 -2.39 -2.28 -2.15 
+-0.24 -3.41 -1.76 -3.15 -2.52 -2.52 -0.13 -2.26 -1.52 -2.02 -1.26 -4.54 -0.87 -1.78 -1.02 -3.39 
+-0.87 -3.03 0 -4.02 2.76 -2.02 1.52 -1.89 -0.13 -2.65 1.89 -3.14 2.25 0 2.78 2.02 
+1.89 2.26 2.39 2.15 2.89 1.89 1.25 3.64 3.28 0.63 3.52 1.65 2.28 2.02 1.75 2.38 
+1.13 3.65 S
+2378.14 3188.3 1.76 -1.39 2.15 1.78 3.14 -0.39 3.26 -1.26 3.9 0.37 3.02 0.89 2.78 1.02 
+2.25 1.63 2.15 1.63 3.02 1.39 2.39 0.63 2.76 -0.87 3.28 0.5 3.01 0 3.28 0.5 
+2.65 0.63 2.76 1.13 2.91 1.15 2.13 1.26 -2.38 1 -2.02 1.89 -3.02 -0.5 0.63 1.26 
+2.64 0.63 0.76 2.52 2.26 0.26 -0.37 -1.65 -0.39 -2.25 S
+2428.84 3202.04 1.39 -1.13 2.65 -0.26 1.26 2.52 0.73 2.02 -0.62 2.38 -1.24 2.15 -0.89 2.02 
+1.76 -1.52 2.02 -1.63 1.13 1.5 0.63 2.52 -1.52 1.02 1.89 0.63 1.39 0.64 2.28 -0.26 
+0.63 1.78 -1.65 1.26 4.28 0.5 1.52 1.88 -2.02 0.37 S
+2444.45 3220.42 2.02 2.41 1 2.39 0.13 2.52 -2.02 1 1.02 1.78 2 0.87 2.28 -1.37 
+1 1.5 0 2.52 -0.37 1.89 1.62 2.28 0.38 2.02 1.78 1.13 1.26 1.89 1.89 1.89 
+2.26 1.89 2.02 1.26 3.52 2.41 -1 1.89 -2.78 1 -2.25 -1.13 -1.02 0.75 -1.63 -1.02 
+-2.25 -0.63 -2.64 -0.13 2.25 1.78 2.15 0.74 0.99 0.63 0.39 1.39 -1.89 0.13 -0.64 -1.26 
+-1.64 0.13 1.02 1.76 -3.67 1.26 1.78 0.26 2.13 -0.76 3.02 -0.37 2.39 0.74 -0.74 1.65 
+-1.39 1 0 1.39 -0.89 1.89 -2.62 1.13 -2.52 1.52 -3.02 0 -3.67 0.76 -3.25 -0.5 
+-2.39 -1.13 -1.65 1.5 S
+2438.78 3267.04 -2.88 -1.26 -0.13 2.64 -3.91 1.63 -3.25 0.39 -1.52 -1.39 -1.89 -0.5 -0.76 1.39 
+-2.12 0 -3.15 0.11 -3.28 -0.63 1.39 -1.75 -1.63 -1.26 -3.91 -0.76 -2.78 1.79 -2.52 0.63 
+-2 1.26 -2.91 -0.52 S
+2417.01 3176.97 1.65 -0.76 2.26 0.24 1.39 -1.13 -2.52 -1.26 -3.51 -1 3.51 -0.89 0.5 -2.78 
+-2.78 -1.75 4.54 -1 2.14 -1.78 3.02 -1.37 3.28 1.13 2.52 0 2.89 1.39 3.78 0.87 
+2.76 2.28 0.75 3.02 -2.25 1.65 0.63 3.02 -2.38 -0.13 -1.02 1.52 -1.89 -1.52 -2.02 -0.5 
+-1.37 1.13 -2.52 0 -1.52 -1.13 -0.87 1.52 -1.15 -2.41 -2.89 -0.37 0.89 3.02 -1.13 2.02 S
+2423.7 3179.99 -1.65 0.89 -0.5 -1.26 -1.52 0.37 -0.87 -1.63 -2.15 -1.39 S
+2459.29 3198.27 2.25 1.63 S
+2447.85 3223.57 -0.76 -2 1.5 0 -0.74 2 S
+2531.25 2807.36 -0.5 -2.75 -2.78 -2.02 1.39 -2.65 1 -2.78 2.02 -2.26 1.89 -2.78 2.89 -1.65 
+1.88 -1.89 2.02 -1.62 1.88 -1.76 1.39 -2.28 2.02 -2.25 1.37 -2.29 0.13 -2.25 0.89 -1.39 
+0.5 -2.28 1.39 -1.75 1.5 -2.65 0.39 -2.78 1.5 -2.25 0.89 -2.78 -2.39 -2.89 1 -1.25 
+0.89 -2.78 1.37 -2.15 1.39 -1.75 0.5 -3.15 -0.62 -3.28 -0.87 -2.38 -1.52 -2.28 -2.39 -1.5 
+-1.89 -2.41 -1.13 -3.28 -0.99 -3.14 -1.02 -2.78 -0.5 -2.75 -1.52 -2.78 S
+2545.21 2719.68 -0.11 -2.65 -0.5 -2.78 -0.13 -2.25 0.37 -2.64 1.39 -3.02 1.76 -1.79 1.39 -2.12 
+1.26 -2.65 1.76 -2.65 0.89 -3.02 1.63 -2.28 0.87 -2.14 2.15 -2.13 0.89 -2.15 -0.63 -2.26 
+0.24 -3.17 -0.13 -2.62 0.26 -2.15 1.13 -3.02 -0.13 -2.64 0.39 -2.28 0.63 -2.52 0.63 -3.02 
+0.24 -2.64 1.76 -1.65 1.15 -2.13 2.52 -1.65 1.5 -2.13 0.63 -3.04 1.13 -2.12 0.5 -3.04 
+1.15 -2.13 1.5 -2.02 1.39 -3.04 0 -2.89 -1.39 -1.39 -1.39 0 1.78 -3.02 0.63 -2.02 
+-0.26 -2.28 1.76 1.02 2.02 -1.75 1.75 -1.52 3.15 0 1.89 1.39 3.02 0.5 3.41 0.13 
+2 1.39 3.02 0.63 S
+2596.03 2626.34 3.04 -0.39 2.26 1.02 2.78 -0.76 2.5 -0.39 1.88 1.39 3.54 0.13 1.5 1.39 
+3.02 0.13 2.64 0.64 2.39 1.88 3.41 1.89 2.39 1.39 2.02 1.89 S
+2629.38 2636.54 2.63 2.26 2.02 1.89 2.52 2.02 2.65 2.28 1.75 2.38 1.76 2.78 2.14 2.39 
+1.76 2.28 2.88 2 2.39 1.52 1.39 2.78 1.39 3.28 1.39 2.88 0.37 2.28 0.37 1.76 
+-1.76 0.89 2.39 3.28 2.78 1.13 1.89 1.13 3.77 1.63 2.76 1.29 2.02 1.5 1.75 2.91 
+-0.11 2.75 0.87 2.41 0.37 3.28 -0.61 2.26 -0.39 3.65 -0.5 3.17 -1.52 1.75 0.76 2.78 
+2.39 2.13 2.02 1.65 2.02 2.52 2.39 1.26 S
+2680.08 2714.65 2.52 3.14 2.02 2.52 2 2.65 2.78 1.25 2.39 1.26 3.64 1 1.89 2.14 
+2.88 2.78 1.89 2.15 2.02 2.63 1.65 2.64 0.63 3.04 -0.76 3.28 0.24 2.89 -0.74 3.27 
+0.63 3.41 0.11 2.52 -0.24 2.78 0.5 3.02 0.13 2.88 -1.75 1.65 -1.89 1.26 -0.76 2.78 
+-1.26 3.14 -0.49 3.91 0 3.39 1.37 3.16 -4.52 5.04 0.87 3.15 0.89 3.02 1.26 3.27 
+1.26 2.65 1.76 3.78 1.63 3.77 -0.11 3.41 2.25 0 2.02 2.9 2.13 2.39 1.26 3.14 
+1.64 2.39 1.63 3.28 2.39 3.14 1.26 2.78 2.02 2.39 2.02 2.02 2 3.04 2.02 2.52 
+2.52 1.63 S
+2729.64 2844.9 2.02 2.39 1.89 2.52 1.5 3.04 1.88 3.02 1.52 2.39 1.75 3.17 1 2.75 
+0.89 3.41 1.39 2.52 1.89 2.65 0.24 3.64 0.5 2.78 0.76 3.4 0.89 2.89 0.37 3.28 S
+2748.13 2888.74 0.89 2.38 0.74 2.91 1.15 3.52 -0.76 3.53 0.76 2.91 -0.26 3.64 -0.62 4.66 
+-3.02 0.11 -1.52 -3.14 -2.63 -2.02 -2.65 -1.76 -2.64 -0.37 -2.26 -1.76 -2.88 -0.75 -2.52 -2.91 
+-2.41 -1.13 -3.02 -0.37 -2.25 -2.15 -2.39 -1.76 -2.64 -0.13 -1.89 1 -2.13 2.02 -2.02 1.52 
+-2.02 1.13 2.25 2.14 -1.37 2.65 -2.52 1.89 -2.65 1.89 -2.15 2.02 -3.02 1.75 -2.62 2.39 
+-2.65 0.39 -3.28 0.74 S
+2691.14 2915.69 -1.89 2.54 -1.75 0.11 -1.75 2.15 -0.89 2.78 -1.26 3.27 -1.76 2.65 -1.75 2.13 
+-3.02 1.75 -2.78 0.89 -2 3.02 -0.89 2.41 -1.26 3.28 -0.26 2.88 -0.37 2.02 -2.15 2.02 
+-0.86 3.28 -1.89 0.63 -2.25 0.86 -2.02 1.02 -1.88 2.64 -0.89 1.76 -0.13 2.52 -2.13 1.52 
+-1.89 2.65 -1.76 2.02 -1.89 2.65 -1.39 2.13 -2.25 2.52 -1.02 2.28 -1.63 1.63 -0.99 2.28 
+-2.15 1.49 -2.12 2.02 -1.78 2.02 -1 2.39 -1.76 2.02 0.87 1.26 1.39 -2.26 1.89 -2.52 
+1.63 -1.65 1.39 -1.63 2.02 -1.65 2.39 -1.37 1.02 1.26 -0.63 2.39 0.24 3.64 0.5 3.66 
+0.89 -2.91 0 -3.02 S
+2647.25 2987.13 0 -3.04 2.25 0.63 2.28 -2 1.76 -2.02 2.38 -2.52 2.26 -2.4 2.14 -1.5 
+2.26 -2.52 1.64 -2.65 1.87 -2.52 2.78 -0.89 2.52 -1.39 2.26 -2.39 2.02 -2.52 1 -2.91 
+0.13 -2.02 1.02 -2.26 S
+2677.82 2952.23 1.26 -3.28 2.13 -1.52 1.26 -1.62 3.41 -0.13 2.63 -1.89 1.89 -2.52 1.88 -2.65 
+1.89 -2.52 1.89 -2.15 1.89 -1 2.39 -2.52 1.88 -2.54 0.89 -2.38 0.13 -2.52 1 -2.78 
+1.63 -3.28 1.52 -3.25 1.13 -1.15 0.14 -3.15 2.25 -2.52 2.28 0.13 2.39 1.13 2.38 1.25 
+2.26 1.65 0.89 2.39 2.02 0.5 2.5 0.26 2.41 1.25 1.37 2.02 1.52 2.64 2.52 0.74 S
+2733.42 2920.86 2.12 1.78 1.15 3.02 2 2.26 2.52 1.91 2.15 1.76 2.13 1.88 2.14 1.89 
+2.13 1.76 -0.5 2.02 0.26 2.28 1.89 2.39 2.02 1.89 1.89 2.25 2.13 1.39 2.02 0.26 
+1.5 2.25 -0.11 3.41 1.99 1.89 1.65 1.26 0.87 1.39 -0.24 3.41 0.99 2.02 1.63 1.39 
+1.52 1.76 -1.52 2.14 -0.74 3.15 0.24 3.02 1.76 0.89 0.26 2.88 0.37 2.52 0.76 2.14 
+0 3.52 -0.13 3.41 -2.25 0.76 -2.39 1.63 -2.02 2.02 -2.88 -0.11 -2.28 -0.65 -2.63 0.52 
+-2.65 1.13 -2.64 1.63 -1.37 3.41 -1.15 2.91 -0.37 1.63 -1.25 0 0.13 -2.25 -1.12 -2.28 
+-0.63 -2.52 -0.63 -2.65 S
+2744.12 2997.2 -1.39 -2.88 -0.12 -2.78 -1.63 -1.39 -2.78 -0.5 -2.13 -0.89 -0.89 -2.02 -2.76 -0.63 
+-1.26 1.15 -1.78 -0.63 0.39 3.38 -0.76 3.04 -1.39 2.76 -1.89 1.52 -0.87 -0.89 0.63 -2.64 
+-0.63 -2.89 -1.26 1.13 -2.28 1.89 -0.62 2.52 S
+2720.71 2996.44 -1.63 2.15 -2.39 1.13 -2.78 1.79 -2.75 1.62 -1.89 2.02 -2.25 2.38 -1.79 2.65 
+-2.12 0.26 2.12 1.89 -1.99 2.02 2.13 0.74 0.26 3.41 1.89 -0.87 1.99 -0.89 1.39 1.75 
+2.15 -1.39 2.76 -2.76 2.91 -2.15 1.89 -2.52 2 -2.02 3.28 0.26 2.25 -0.63 2.78 -1.64 
+2.26 0.37 2.14 -1.26 1.89 1.39 2.39 -0.63 1.76 2.52 1.39 1.79 S
+2742.73 3009.81 1.63 1.88 2.15 1 2.13 -1.26 1.39 -2.26 1.89 -2.52 3.02 0.74 2.52 0.76 
+2.88 0.26 2.28 0.5 2.02 1 2.49 0.76 1.89 0.39 2.91 0.87 2.13 1.89 1.76 1.52 
+2.28 1.26 0.76 1.76 2.13 -0.11 1.89 0.5 3.02 3.02 1.65 1.76 2.13 0.63 1.89 -1.37 
+2.02 -0.63 1.89 -2.14 1.49 -2.29 2.28 0.26 2.26 -0.5 2.52 -1.78 2.78 -0.74 2.25 1.5 
+1.63 2.41 0.89 -3.41 -1.39 -2.28 -2.26 -1.37 2.26 -2.41 2.25 -1.13 2.65 -1.63 2.65 -0.26 
+2.25 1.52 1.39 2.25 0.63 3.02 -1.26 3.8 -0.63 2.88 1.13 0.26 1.13 -3.28 1.52 -2.4 
+2.02 -1.89 S
+2825.89 3012.57 1.36 -3.78 1.02 -3.28 2.02 -2.64 1.26 -1 0.24 -2.52 2.14 -3.28 2.13 -3.15 
+1.65 -2.91 1.76 -3.38 1.63 -2.28 2.15 -2.52 2.52 -2.28 2.52 -2.38 1.5 -3.02 3.52 -5.55 
+1.89 -3.26 1.89 -2.15 2.28 -1.89 1.88 -2.02 1.63 -2.78 S
+2862.87 2956.51 1.76 -2.89 1.75 -3.53 1.89 -3.41 2.02 -1.89 2.02 -1.39 2.02 -0.11 1.25 2.76 
+-0.52 4.43 1.15 2.63 1.5 1.64 -1 3.41 0.24 4.14 1.88 1.39 -1.26 3.78 -1.26 2.64 
+-1.12 3.28 0 3.54 -0.24 3.91 -1.15 4.01 -1.62 3.67 -1.89 3.51 -1.75 3.54 -0.76 3.02 
+-0.24 3.28 2.25 1.13 -0.5 3.28 0.87 1.39 S
+2870.16 3007.66 1.52 2.02 0.24 2.39 -1 2.91 0.37 1.89 0.63 2.76 -0.11 3.67 0.37 2.65 
+0.89 2.25 0.24 3.41 -0.24 3.77 -0.26 2.78 0.13 3.52 1 1.89 1.02 2.64 -0.39 3.67 
+-0.76 3.38 -1.37 1.78 -0.76 2.63 0.88 2.64 0.63 2.52 -0.74 2.54 2.52 -3.04 0.87 1.89 
+1.13 2.28 1.02 2.14 1.13 2.26 -0.5 3.14 0 6.56 2.52 -1.39 2 -2.02 1.89 -2.26 
+2.02 -2.14 2.39 -1.39 2.78 -1.13 1.89 -1.25 0.87 1.25 2.15 -1.88 0.5 -2.15 2.26 -1.89 
+0.89 1.26 2.26 -2.65 2.65 -3.14 2.25 -3.52 1.65 -4.54 1.25 -3.9 2.26 0.13 1.13 0.63 
+1.13 1.5 S
+2915.32 3050.11 -0.24 3.41 0.24 3.28 0.39 3.51 -0.89 2.91 1.52 0.13 2.39 -1.65 2.26 -2.76 
+2.02 -3.04 2.26 -3.64 2.15 -2.9 2.52 -3.39 2.75 -2.91 2.52 -3.41 1.15 -5.04 2.39 -2.64 
+1.26 -3.02 0.37 -3.41 1.52 -3.65 1.76 -4.27 1 -5.16 1.39 -3.67 1.76 -2.52 0.25 2.15 S
+2948.04 3008.42 2.26 -1.65 2.38 -2.52 1.89 -1.39 1.89 -1.26 1.13 -1.5 1.13 -2.15 1.02 -3.15 
+1.75 -4.3 1.63 -1.62 0.89 -4.28 2.26 -2.64 2.14 -1.89 1.39 -3.67 2.26 -1 1.75 -1.52 
+2.02 -0.24 1.76 -0.52 1.52 -0.87 2.26 2.64 -1.76 4.14 -2.28 3.54 -1.76 1.63 -3.77 12.11 S
+2971.81 2996.33 -1.26 3.88 -2.26 2.78 -2.02 1.02 -2.13 1 -2.02 1.13 -2.15 1.89 -1.89 -1.49 
+-1.63 0.75 -2.02 3.78 -2 3.15 -1.88 1.26 -2.15 4.67 -1.26 -2.52 -1.89 3.14 -1.75 4.28 
+-1.39 4.8 -0.37 3.38 -1.26 4.3 -0.89 3.52 -2.25 4.79 -1.76 4.41 0.37 2.91 1.88 0.74 
+2.02 -4.14 1.49 1.39 1.02 1.63 2.52 -1.39 1.37 0.13 1.65 -1.52 1.89 -2.39 2.02 -2.02 
+2.26 -0.76 1.26 2.28 1.75 -1.39 1.76 0.75 1.25 -4.53 1.76 -3.78 1.76 -2.4 -0.11 4.16 
+-0.13 4.27 0.76 2.78 -0.62 4.54 -2.15 4.4 1.26 2.52 0 3.67 -0.13 3.64 -0.11 3.78 
+0 4.03 -1.02 3.28 S
+2961.37 3076.82 -1.62 3.15 -2.52 5.16 -1.76 3.15 -2.02 3.64 -2.25 3.16 -2.41 2.89 -2.76 3.28 
+-2.52 1.13 -2.39 1.39 -2.14 0.5 -2.62 0.63 -2.41 1.25 -2.52 1.15 -1.63 1.76 -2.12 0.5 
+-3.14 2.38 -2.02 3.9 -1.65 3.54 -0.74 4.28 -1.65 3.77 -0.99 3.91 -0.63 3.91 -0.63 3.41 
+-0.26 3.28 0.63 2.26 S
+2916.58 3144.21 1.65 0.39 0.38 1.5 2.02 -3.02 1.39 -1.26 2.26 -1.88 0.37 1.52 -0.63 2.26 
+-2.38 1.52 -1.5 2.88 -0.39 3.41 0.13 3.28 -0.87 3.91 0 2.89 -0.63 3.41 -2.65 3.54 
+2.13 0 -2.63 3.9 2.52 -0.12 -2.14 4.14 0.13 2.4 -0.26 3.02 -0.24 3.02 -1.39 3.91 S
+2913.82 3188.8 -1.89 4.54 -1.39 3.66 -2.02 4.02 -1.49 3.16 -1.89 1.89 -0.13 2.52 -2.52 3.14 
+-1.63 3.15 -2.14 3.14 -2.65 3.54 -2.13 2.13 -2.52 1.88 0.37 1.26 -2.25 3.41 -2.88 3.41 
+-2.65 3.41 -2.39 2.88 -0.26 1.76 -1.76 2.02 -1.52 0.89 -3.39 3.28 -0.26 1.26 -3.77 3.14 
+-1.76 1.52 0 -1.78 -0.73 -0.87 0.99 -3.28 -0.76 -0.89 -0.99 2.91 -1.89 2.39 -1.39 2.39 
+-1 2.41 -2.02 1 -2.15 -1 -0.63 2.89 -2.52 1.02 -1.63 -0.63 -0.76 -0.89 -2.62 1.26 
+-2.52 0.99 -2.52 0.89 -3.14 1.13 -1.02 -1.63 -1 -1.76 -3.02 2.89 -2.39 2.38 -2.78 3.67 
+-2.25 3.14 -2.91 2.25 S
+2827.25 3274.71 -1.99 3.67 -2.28 3.15 0.63 0.86 -3.64 2.91 0.13 -2.02 0.63 -2.15 0 -1.63 
+-1.26 -0.63 1.76 -2.91 2.02 -2.25 2.02 -2.02 0.37 -1.89 -1.13 -0.89 -2.78 1.02 -1.13 -1.26 
+-1.26 -0.89 -1.88 -0.26 -2.26 1.65 -2.52 2.52 0.76 1.26 -1.26 2.78 -1.88 1.89 -2.39 1.75 
+-2.28 3.02 -1.76 2.65 -3.25 3.03 -2.91 2.76 S
+2797.7 3290.84 -0.37 2.52 2.26 0.26 3.41 -2.65 2.25 -2.65 1.89 -1.5 1.76 0.5 3.51 -3.67 
+-1.12 2.14 -2.39 3.02 -2.76 2.54 -2.02 3.02 -2.02 2.65 -1.5 2.76 0.11 2.15 -0.24 1.52 
+0.5 1.13 3.91 -2.64 3.14 -1.89 3.26 -2.52 1.76 1.39 -2 3.77 S
+2811.04 3302.69 1.26 1.26 2.52 -0.5 1.63 -2.91 3.38 -0.37 3.41 -0.63 3.77 -3.4 3.39 -1.76 
+2.91 -0.5 -3.54 4.15 -2.26 3.27 -2.25 4.04 -3.15 3.64 -3.4 2.52 -3.02 1.65 -3.52 1.5 
+-3.14 1.02 -3.02 0.63 -2.15 -0.5 -1.49 -0.63 -2.28 0 -1.26 -1.02 -0.63 -1.5 -2.63 1.5 
+-1.25 0 -1.76 2.39 -2.02 2.28 -2.91 2.78 -3.51 3.02 -2.13 2.14 -3.54 1 -1.39 0.14 
+-4.77 3.14 -2.65 2.9 -2.63 1.26 -1.02 1.37 -3.64 2.15 -2.39 1.39 -1.63 2.38 2.13 -0.49 
+-0.5 2.64 -3.02 3.02 -4.14 2.91 -3.78 3.02 -4.91 2.64 -3.41 1 -4.91 3.04 -5.27 2.64 
+-4.8 2.52 -4.14 1.76 S
+2721.59 3367.19 -3.78 1.39 -4.64 1.13 -4.41 1.89 -5.03 1.76 -5.54 2.28 -3.64 0.5 -3.28 0.5 
+-3.52 -0.11 -2.78 -0.39 -3.41 0 -3.39 0.63 -3.64 0.76 -2.89 0.5 -0.63 -0.87 -2.52 -0.26 
+-3.28 0.36 0.37 -1.75 0.13 -1.5 -1.13 -0.52 1 -1.89 2.14 -1.89 4.91 -1.39 3.78 -2.52 
+-3.02 0.75 -2.65 -0.13 2.26 -1.62 3.77 -1.02 -2.52 -0.11 -2.63 -0.26 S
+2671.66 3363.41 2.63 -2.02 0.89 -1.89 -1.39 -0.36 -3.64 1.99 -4.41 1.65 -3.91 1.63 -4.41 1.39 
+-4.77 1.13 -3.39 1.02 -3.91 1.26 -3.14 1.13 -2.89 0.39 -3.28 0.63 -3.4 1.13 -2.76 0.24 
+-3.41 1.15 -3.52 2.02 -3.02 2.13 -2.89 1.89 S
+2617.05 3379.91 -0.26 0.89 -3.14 0.76 -2.12 2.13 -2.91 1.39 -1.89 1.39 -1.12 -0.13 -1.5 -0.37 
+-2.02 0.75 -1.52 1.5 -1.89 1.39 -2.13 0.76 -0.13 1.13 3.28 -0.5 0.24 1.13 -2.38 1.15 
+-4.15 1.26 -2.28 0.36 -2.12 1.26 -4.78 1.76 0.24 -1.13 2.15 -1.39 -3.28 -0.76 -3.52 -0.24 
+-4.03 0.24 -3.78 -0.37 -3.64 -0.26 -4.14 0.76 -3.65 1.02 -1.89 1.26 -3.54 0.5 3.77 1.13 
+0.76 1.15 0.13 1.37 -4.28 0 -3.52 -0.24 -3.28 -0.5 -2.78 0.5 -1.13 -1.39 -2.38 -1.02 
+-4.78 0.52 -0.75 0.87 3.14 0.26 1.89 1.52 2.26 1.63 1.89 0.89 3.78 -0.39 3.64 -0.13 
+2.38 0.76 4.04 0.39 S
+2559.94 3404.86 4.77 0.11 3.02 0.65 4.28 0.24 4.67 0 4.01 -0.5 2.78 -1.02 0.5 1.15 
+3.15 0.5 3.39 -0.76 6.29 1.52 2.91 1.13 1.37 1.13 1.39 1.52 1.02 1.25 1.75 1.63 
+2.13 1.39 0.89 2.02 1.76 1.26 1.76 0.89 0.63 1 -4.77 0.76 -4.77 0.39 -4.8 -0.39 
+-3.14 -1 -4.28 0.24 -3.64 1.39 -1.12 -1.26 -2.26 -1.13 -3.66 0 -4.14 0.76 S
+2575.79 3419.73 -2.13 1 -2.78 0 0.5 -1.76 -1.26 -1.65 -2.88 -0.63 -2.89 0.26 -1.15 1.26 
+-2.39 0.13 -0.74 -1.76 1.37 -1.02 -1.26 -1.26 -3.52 -0.63 1.76 -1.52 2.78 -0.11 -0.63 -1.39 
+-3.02 -0.76 -3.77 -0.5 S
+2553.78 3409.39 -2.28 -1.02 -1.89 -1.13 -3.89 0.37 -1.88 1.15 -3.28 -0.52 -3.91 0.26 1.39 1.89 
+-3.78 -0.76 -3.28 -0.24 -3.52 0 -3.64 1 -2.26 1.26 -1.52 1.52 -2.38 -1.52 -3.91 -0.37 
+-3.89 -0.76 -3.53 -0.89 -3.39 -0.87 -3.14 0 -3.28 -1.02 -3.91 -0.37 -3.02 -0.76 -4.64 0.13 
+-3.28 1 -2.64 -1.5 1.52 -1.28 1.5 -1.89 0.89 -1.89 0.89 -1.26 3.02 -0.11 -0.26 -1.65 
+-4.14 0.5 -3.28 -0.87 -1.52 -0.52 S
+2477.65 3397.29 -1.13 -0.5 -1.37 -1.89 2.26 -1.26 -3.02 -1.39 -0.63 1.65 -1.26 1.63 -2.91 0.13 
+-2.25 -0.63 -3.52 0.37 -0.89 1.65 -2.88 0.75 -4.15 0.88 -3.77 0.26 -0.39 -1.65 S
+2451.73 3397.29 -1.62 -1.5 0.63 -1.78 -3.64 -0.5 -1.26 -1.5 -2.02 -1.26 3.91 -1.15 3.25 -1.26 
+4.92 0 4.28 0.39 1.89 -1.52 2.75 -1.12 3.52 -1.13 3.91 -0.89 2.78 -1.26 2.63 -1.26 S
+2477.65 3381.55 0.76 -0.39 3.02 -0.99 3.54 -0.76 3.25 -1.13 4.17 -0.26 3.52 -0.76 3.52 -0.62 
+3.77 -0.74 0.76 2.25 -0.5 1.76 2.02 0.76 2.52 -0.14 0.11 -1.36 2.52 -1.02 -0.36 -1.39 
+-2.52 0.5 -1 -0.86 2.76 -1.13 2.15 1 2.26 0.49 3.28 -1.25 4.27 -1.26 4.78 -0.89 
+4.14 -1.13 2.15 -1.76 -2.52 -1 -0.37 -1.78 1.26 -1.5 2.76 -1.25 3.14 -1.52 3.78 -0.62 
+2.38 -0.89 2.78 -0.76 S
+2545.72 3361.13 -1.39 -1 0.88 -1.63 1.89 -0.89 0.26 -1.39 -1.76 -1.62 1.89 -1.78 3.14 -1.5 
+1.76 -2.28 2.12 -1.75 2.02 -1.65 2.38 -2 0.89 1.37 2.38 -1.63 2.02 0.13 1.13 1.13 
+1.39 1.63 2.25 -2.12 3.52 -2.14 0.39 -1.39 1.76 -0.87 2.38 -0.26 0.39 -1.52 -1.16 -2.02 
+2.91 0.39 2.89 0.37 3.02 -0.5 0.26 -1.62 -1.13 -1.79 -2.28 -1.63 -3.38 0.38 -3.54 -0.37 
+-1.37 -2.38 0.87 -2.28 0.63 -2.89 1.89 -2.28 2.25 0.13 1.65 1 1.76 -1.63 1.39 -2.78 
+0.13 -2.15 -2.78 0 1.13 -1.89 -0.13 -1.75 1.25 -1.39 1.89 -1.49 -3.38 -1.26 S
+2582.21 3308.12 -2.65 0.5 0.26 -1.52 S
+2579.82 3307.09 1.37 -0.63 1.02 1.65 S
+2582.21 3308.12 2.64 0.37 0.63 -1.39 -0.63 -1.13 -0.63 -1.25 2 -0.89 1.39 0.89 1.76 -1.76 
+1.65 -1.78 0.5 -1.5 -3.15 1 -1.63 1.65 -3.41 1.75 -2.89 1.63 -3.64 1.78 -2.91 1.26 
+-3.52 -0.13 -2.52 -0.63 -1.62 -1.26 -0.63 -1.52 0.24 -1.63 0.5 -1.52 1.89 -0.37 0.52 -1.52 
+-3.78 1.13 -0.13 -1.63 0.63 -1.78 -2.91 1.89 -1.76 -2 2.65 -1.65 3.28 -1.76 3.38 -0.13 
+0.26 -2.25 2.25 0.24 1.39 -3.15 -2.26 0.63 1.76 -2.78 0 -1.63 2.13 -1.64 1.02 -2 
+1.39 -2.64 1.99 -1.89 1.89 -1.65 2.28 -0.76 2.89 -0.12 0 -2.26 0.5 -2.28 S
+2587.61 3270.05 -0.13 -2.38 -0.24 -2.13 3.88 -0.76 3.28 -1.25 1.76 1.37 3.02 0 0.39 -2.13 
+-3.15 -0.39 -2.26 -0.74 -0.52 -1.26 -2.12 -0.39 1.13 -1.63 2.88 0.87 0.76 -1.26 -2.13 -0.37 
+0.38 -1.52 3.02 -0.5 2.52 1.25 1.89 0 -2.15 -1.62 -2.12 -1.78 -3.14 1.39 -2.26 1.76 
+-3.27 1.02 -2.65 -0.26 0.63 -0.87 2.26 0.37 2.15 -0.75 1.63 -1.63 0.39 -1.65 2.52 -2.13 
+2.52 -0.13 2.89 -0.63 2.15 -1.88 2.75 -1.78 3.78 -1.37 1.89 2 0.63 -2.13 2.88 -1.65 
+3.78 -1.39 1.65 -2.52 2 -2.13 0.76 -2.78 0.37 -2.28 -3.64 -0.11 -0.37 3.15 -1.13 2.02 
+-1.76 2.39 -2.41 1.39 S
+2614.65 3240.84 -2 1.88 -3.53 -0.12 -2.89 1.63 -3.28 1.91 S
+2602.95 3246.14 -3.02 1.63 -3.02 1.52 -3.14 0.11 -2.02 2.02 -2.12 1.78 -2.02 0.87 -2.76 -0.99 
+-1.15 1.13 -2.38 0.37 0.13 -1.75 3.91 -3.91 2.63 -1.76 2.02 -1.88 0.63 -2.65 2.15 -1.63 
+2.89 -0.76 1.89 -1.89 1.88 -1.15 1.89 0.63 3.39 -1.13 2.28 0.26 2.26 -2.38 -2.39 -0.39 
+-2.64 0.26 -2.25 -0.76 -2.39 -0.39 -1.65 -0.99 -3.13 -0.13 -2.02 -1.26 -3.77 -0.63 -3.52 0.39 
+0.99 -1.91 2.02 -0.24 2.62 0.24 2.15 -0.87 2.52 -0.5 0.5 -1.79 -0.5 -1.12 1.63 -1.26 
+-1.5 -0.63 -2.91 2.29 -0.5 -1.79 0.39 -2.38 S
+2592.91 3220.68 -2.02 -0.89 -1.13 -1.5 1 -1.78 -2.89 0.39 -2.38 2.02 -0.39 -2.14 -0.24 -2.02 
+-1.02 -1.89 -0.37 -2.02 -0.75 -2.13 -1 -1.78 2.52 -2.52 -0.52 -2.02 -1.88 -1 -2.26 1 
+-2.38 -0.24 -0.63 2.38 1.89 1.63 -2.52 1.39 -2.02 0.5 -2.02 -1.12 -3.02 -0.37 3.27 -1.02 
+2.26 -2.65 1.25 -2.52 2.02 -0.11 1.89 -2.28 0.13 -2.15 -2.15 0 -2.25 -0.5 -0.26 -2.25 
+-1.13 -2.15 -0.63 -2.25 2.52 -1.52 2.78 -1.88 -2.91 -0.76 -2.38 0 -2.76 0.37 -2.14 -0.37 
+0.13 -2.02 3.02 -1.26 1.63 0.63 1.65 -2.38 -2.91 -1.14 -3.65 1.14 -3.14 0.24 -1.5 2.54 
+-1.25 1.99 -1.52 2.41 S
+2560.8 3186.68 -3.38 1.26 -2.65 0.5 -2.64 2.02 3.02 -1.02 2.91 0.13 2.89 -0.37 S
+2560.94 3189.2 2.26 0.37 2.41 0.5 2.88 0.13 2.13 1.39 1.39 2.28 0.13 2.13 -1.75 2.28 
+-2.15 1.63 -2.88 0.76 -2.89 0.26 -3.02 0.74 -3.04 0.76 -3.12 0.26 -3.04 -0.26 -3.02 -0.63 
+-1 1.65 -2.38 0.13 -1.13 -1.39 -2.65 -0.39 -3.28 0.89 2.65 0.24 1.25 2.41 -2.52 0.63 
+-2.78 0.5 -2.88 0 -0.26 -3.28 -1.5 1.89 -1.13 -2.15 -1.26 2.91 -1.12 -1.26 -0.39 -1.89 
+-2.39 0.76 -1.39 -1.65 -0.75 -2.52 -2.39 -1.39 -2.52 -0.5 -0.87 -2.88 -2.02 -1.15 0.5 -1.76 
+1.39 -0.13 -1.52 -2.02 -0.64 1.65 S
+2514.25 3191.08 -1.12 -1.52 -0.13 2.65 -1.37 -2.02 -1.65 -1.49 1.65 -1.15 -2.78 -1.26 -1.13 -2.39 
+2.02 2.14 2.13 0.63 2.52 0.87 -2.02 -3.02 -0.11 -2.15 -1.52 -2.39 -0.64 -2.38 -0.36 -2.15 
+-0.5 -2.39 -0.52 -2.64 -1.76 -2.02 -1.12 -3.14 -1.26 -2.39 -1.13 -2.28 -1.75 1.13 -0.89 -2.25 
+-1.13 -1.89 -2.64 -0.5 -1.63 -2.41 -1.62 -1.76 -2.02 -2.02 1.13 -1.63 -1.13 -1.78 0.63 -2.26 
+0.5 -2.15 1.63 -2.13 -0.87 -1.91 0.63 -1.75 2.25 0.63 -1.39 -1.89 0 -2.26 1.39 -1.25 
+2.78 -1.15 2.63 -0.24 2.52 1.5 1.26 1.89 2.02 2.41 1.52 0.13 0.74 1.89 1.75 -1.26 
+1.26 -3.04 1.52 -2.52 S
+2514.52 3132.12 1.63 -2.88 1.52 -2.65 2.25 -2.02 -0.5 -1.89 1.52 -2.02 0.37 -1.76 2.15 0.24 
+2 0.13 S
+2525.46 3119.27 -0.63 1.75 1.15 2.52 2.13 0.26 1.88 0.26 0.63 3.28 -0.26 3.14 0 2.26 
+-0.62 2.64 0.13 1.89 1.76 2.15 1.89 1.63 -1.25 0.75 1.39 1.52 0.39 1.49 -1.26 1.65 
+-2.41 1.39 -2.39 1.39 -0.87 2.13 -0.26 2.78 -0.5 2.65 0.63 1.39 1 2.88 1.52 2.15 
+1.25 1.52 1.76 1.76 0.25 1.88 1 2.02 -2.15 1 0.63 1.89 -0.63 1.26 1.15 1.15 
+0.38 1.89 1.89 0 1.63 0.37 1.39 0.76 2.64 -1.13 1.13 -2.52 -1.25 -1.26 -0.37 -2.91 
+-1.25 -2.52 S
+2538.93 3168.4 -1.15 -3.01 -1.37 -2.65 -0.26 -2.78 1.13 -2.52 2.02 -2.39 0 -2.78 0.5 -1.75 
+2.65 -0.89 1.76 -1 3.02 -0.26 2.39 1 2.28 1.52 2.25 1.52 2.15 1.39 3.26 0.87 
+3.02 -1.5 1.65 1 2.13 -1.89 -3.14 0.13 -1.63 -2.41 -0.63 -1.5 -3.02 -0.89 -3.02 0.26 
+-2.39 -1.12 -2.28 -0.89 -1.5 -1.75 0.87 -2.29 1.52 -2.02 1.89 0 0.87 -2.64 1.02 -2.52 
+-1.13 -1.75 -1.89 0.13 -1.65 1.5 -1.99 1.02 -2.15 -0.89 -0.13 -2.88 -0.5 -1.89 0.89 -3.14 
+1.13 -2.54 -0.39 -2.89 -2 -1.75 -0.26 -2.41 -1.39 -1.12 -2 -0.37 -1.78 2.52 -2.63 -0.89 
+-2.52 -1.39 -1.89 -2.02 S
+2532.64 3113.84 -2.78 -0.87 -2.52 -1.65 -1.89 0.26 -2.13 0.63 1.26 1 -1.52 1.78 -1.13 -1.52 
+-2.15 -0.76 -1.23 -1 -1.52 -1.52 S
+2517.04 3110.2 -2.02 -0.24 0.26 1.89 -3.28 0.99 -0.26 1.39 -2.13 1.13 0.76 2.78 1 2.88 
+2.02 1.15 -0.26 1.76 -1.89 -0.26 -0.24 1.78 0.5 2.39 -0.26 1.76 -2.12 -0.63 -1.02 -1.89 
+-2.39 -0.76 -1.13 -1.39 -0.37 -1.75 0.24 -2.78 0.63 -2.12 1.75 -1.26 0.39 -2.78 1.39 -1.64 
+-1.02 -1 1.26 -1.26 -1.26 -1.52 -0.13 -1.76 -1.89 0.76 -2.26 -0.13 -1 -1.39 -3.28 -0.13 
+-2.02 -1.12 0.26 -2.26 1.5 -0.39 0.13 -1.26 -1.39 -1.5 -1.63 0.87 -0.13 2.78 S
+2495.77 3103.28 -1.12 -0.63 -0.5 -2.15 -0.76 -1.89 -1.13 -1.89 -1.52 -1.89 -2 -0.89 -2.41 -1.5 
+-2.13 -0.89 -0.63 -1.88 -0.26 -2.28 -1.5 -0.87 -1.89 -0.5 -1.65 -0.89 -0.63 -2.28 -2.12 0.39 
+-2.02 -0.39 -0.87 2.28 -2.28 0 1.26 -2.64 0.63 -3.28 -2.26 0 -2.65 -0.37 -1.13 1.89 
+-2.65 -0.39 -2.02 -0.87 -2.25 -0.39 0.13 -2.76 1.63 -1.02 2.02 0 2.14 -1.5 2.63 -0.52 
+0.63 -0.87 1.65 -1.89 -0.39 -1.39 1.02 -1.39 1.89 -1.39 1 -2.38 -0.37 -3.15 -0.39 -3.17 
+-0.37 -2.39 -0.76 -3.14 -1 -1.39 -2.14 -0.5 -2.39 0.5 -3.52 0.63 -3.54 -0.87 -2.76 1 
+-3.14 0.63 -3.14 -0.26 S
+2450.11 3051.87 -2.78 0.13 -3.02 1.52 -1.63 -2.28 -2.39 -0.24 -1.26 -1.26 1.5 -3.41 -0.63 -2.25 
+0.26 -1.91 0.37 -2.76 -0.5 -2.41 -1 -2.62 -0.75 -3.28 S
+2438.29 3031.1 -1.52 -1.79 -0.63 -2.75 0.89 -1.89 1.89 -0.13 -0.62 -2.78 -0.26 -2.78 -1 -2.39 
+2.78 0.39 2.25 -0.66 1.89 0.89 1.89 -0.13 2.13 -1.5 2.15 -4.3 2.26 -1.13 2.38 2.28 
+2.29 0.87 2.75 0.39 2.64 0 2.65 -0.13 2.64 0 1.63 2.26 2.26 2.78 2.28 0 
+0.74 2.26 1.52 1.91 2.65 1.88 -2.29 1.89 -0.24 2.26 1.37 2.39 2.28 2.78 2.13 3.28 
+2.14 1.02 2.52 0.86 2.39 1.89 2.15 1.52 S
+2491.25 3042.55 -0.52 3.15 -0.37 2.78 2.38 1.49 1.63 1.39 2.52 -0.87 2.91 -0.26 2.52 -1.39 
+2.39 0.63 1.63 1.89 2.28 1.65 2.38 1 0.87 1.88 1.65 1.02 2.12 -0.26 1.39 -0.89 
+2.52 -0.24 0.63 -2.78 1.39 -2.25 2.26 -2.02 0.63 -1.89 2.15 0.11 2.39 -1.99 1.99 -2.15 
+2.41 -1.25 2.76 0.37 2.15 -1.63 2 -1.26 1.52 -0.39 1.39 -2.13 3.02 -0.63 0.63 -1.78 
+1.5 -2.13 0.76 -2.41 -0.86 -1.5 -0.39 -2.41 0.26 -1.37 1.39 0.24 0.63 1.39 1.13 1.65 
+-0.39 2.25 2.15 1.26 -0.5 2.28 -2.39 1.13 0.24 2.89 0.76 2.02 2.02 -0.76 2.13 -0.11 
+0.76 -1.79 1.52 -0.37 S
+2557.55 3036.13 0.37 2.02 -2.52 2.02 -2.39 1.13 -2.39 0.99 -2.78 1.15 -2.26 0.63 0.76 2 
+-3.54 -0.5 -2.75 1.13 -2.28 1.15 -1.26 1.26 -0.74 2.39 -1.39 2.14 -2.25 1.13 S
+2532.14 3054.77 -1.89 1.26 -2.02 1.63 -0.5 1.78 0.37 2.02 -1.26 1.26 0.13 1.89 1.63 0.13 
+1.76 1.5 2.15 -0.13 -0.5 -1.5 0.63 -1.78 1.26 -1.37 1.13 1.13 0.13 1.88 3.02 -1.52 
+0.76 -2.26 1.25 -1.26 0.24 -1.89 2.65 -1.02 1.25 -1.26 2.52 -0.13 3.51 -1.89 2.91 -2.02 
+2.62 -1 2.39 -1.63 2.41 -1.02 0.24 -2.38 0.26 -3.28 0.5 -2.78 2.13 -1.12 1.89 -2.15 
+1.39 -1.62 2.15 -2.52 2.25 -2.15 S
+2571.5 3029.58 3.41 0.13 3.15 1 1.87 -1.5 2.64 -0.13 2.65 -1.39 -0.89 3.28 2.78 -0.5 
+-2.02 0.64 -0.76 1.75 -2 0.63 -1.89 1.13 -1.02 1.65 -1.89 1.63 -2 2.02 -0.39 3.27 
+2.65 -1.88 2.13 0.37 0.39 1.52 -1.52 1.26 2.14 0.37 0.76 1.52 2.13 0 1.65 0.76 
+2.49 0 1.89 -1.52 2.02 0.89 -1.26 -2.14 0.39 -1.26 1.13 2.28 1.63 2 1.02 1.78 
+3.02 1.13 2.63 0.63 3.04 -1.26 -1.89 -1 0.74 -1.28 -2.39 -0.63 -2.75 -0.62 -2.52 -0.5 
+-2.39 -0.5 -1.26 -2.14 0.11 -3.39 3.41 1.13 -0.26 -1.52 1.25 -3.15 1.02 -1.25 -0.89 -0.63 
+-1.89 0.99 0.26 -1.89 S
+2594.04 3033.22 2.38 -0.5 2.02 -0.5 0.11 -2.02 2.15 -1 -0.89 -2.15 4.3 1 -0.39 -1.63 
+2.52 0.63 3.64 -1.76 2.39 -0.39 2.91 2.15 0 2.39 2.63 0.26 3.67 -0.63 1.63 -1.64 S
+2623.09 3027.43 2.39 -0.37 1.52 1.39 1.76 0.5 1.5 2.39 1.26 2.28 3.28 -0.5 1.39 0.37 
+1.39 2.52 0.87 -1.39 -0.76 -2.25 1.39 -1.65 -0.13 -2.02 1.25 -3.78 1.26 -2.64 -0.63 -2.75 
+0 -3.54 -0.24 -3.14 0.11 -3.02 0.13 -3.04 -0.76 -3.15 -0.87 -2.25 -3.28 -1.39 -2.52 -1.12 
+-1.89 1.13 -0.24 -2.02 -2.15 0.37 -0.24 2.02 -3.04 -0.23 -2.62 -1.02 -2.28 -2.02 -2 -1.89 
+-2.15 -1 S
+2616.79 2994.18 -3.02 0.87 -2.78 -0.63 -2.52 0.52 -2.12 0.63 -2.78 -0.12 -2.89 0 -2.52 -1.02 
+-1.76 2.15 -2.64 -0.37 -2.89 0.37 -2.91 0.13 -0.87 2.15 -2.89 0.5 -3.14 0 -2.65 -0.89 
+-2.52 -1.39 -2.39 -2.65 -0.76 -2.13 1.13 -1.65 0.76 -2.38 -0.37 -2.39 -1.39 -1.65 -1.89 -1.26 
+-2.38 0.13 -2.78 1.63 -3.39 1.52 -4.17 0.5 -2.88 0.13 -2.52 1.13 -1.39 1.25 -0.37 2.78 
+-2.88 0.76 -2.91 1.13 -2.88 0.13 -3.65 0.13 -3.14 -0.26 -2.39 0.76 -2.91 1.13 -1 2.41 
+-2.02 -0.76 -2 0.87 -0.63 2.28 1.5 1.52 1.76 1.99 0.89 2.54 -0.62 2.26 -1.63 0.76 
+-1.02 3.28 1.39 1 S
+2526.97 3013.96 0.89 2.52 -2.91 -1.63 -1.39 2.64 -2.39 0.24 -2.12 -0.49 -1.76 -1.52 -2.28 -0.63 
+-3.52 0.76 -1.75 -1.13 -3.54 0.76 -1.89 -1.39 -2.25 -0.62 -1.5 0.89 -2.65 0.37 -2.78 0 
+-1.76 -0.63 -2.39 0 -2.26 -1 S
+2488.74 3013.08 -3.04 -0.52 -3.39 -0.5 -2.26 -1.39 -2.41 -1.89 -2.26 -0.5 -2.39 -0.37 -1.12 -1.91 
+-3.15 -1.37 -2.39 -0.39 -2.64 1.39 -1.89 -0.37 -3.14 0.11 -2.02 -0.37 -3.02 1.89 -0.99 1.89 
+-2.39 -0.37 -1.26 -2.78 -0.89 -2.26 -1.39 -2.28 -1.25 -2.25 -2.89 -1.78 -2.75 -0.74 -2.52 -1.28 
+-1.78 -2.26 -2.12 -1.75 -0.13 -1.89 -1.39 -2.28 -1.75 -1.26 -0.37 -4.66 1.13 -2.02 S
+2430.86 2978.93 -1.52 -3.25 -1.89 -2.28 -2.25 -2.15 -3.02 -1.13 -1.76 -2.26 -3.54 -1.15 -3.75 -0.24 
+-1.89 -2.15 -1.15 -2.78 -1.37 -1.75 -2.64 -1.26 -1.39 -1.25 -1.12 -2.78 -1.13 -2.26 -1.65 -3.14 
+-2.39 -2.15 -1.89 -2.25 -1.49 -2.15 -1.76 -3.77 -1.52 -2.29 -1.89 -1.12 -0.76 -2.91 -0.62 -2.76 
+1.89 -2.15 2.02 -2.52 -0.36 -2.91 -1.89 -1.62 1.5 -3.02 0.63 -2.91 -0.24 -2.89 -0.64 -2.78 
+-1.25 -2.78 -1.13 -2.76 -0.26 -3.79 -2.02 -2.25 -1.5 -2.29 -2.39 -1.13 2.13 -1.62 1.13 -3.04 
+0.13 -3.27 -0.63 -2.89 -0.26 -3.28 2.29 -1.62 2.12 -1.65 2.29 0.39 0.24 -3.91 2.28 -1.15 
+1.63 -2.52 1.25 -2.52 S
+2397.39 2866.82 2.26 -1.52 2.14 -2.52 1.76 -2.52 0.37 -2.89 0.39 -2.41 0.76 -2.39 2.63 -3.02 
+2.78 -1.65 2.75 -1.5 2.28 -2.52 3.78 -2.02 2.63 -3.04 2.28 -1.99 2.89 -1.91 3.28 -2.52 
+2.76 -1.13 2.39 -0.5 2.78 1.76 3.4 0.39 2.39 1.75 S
+2444.08 2834.7 3.38 0.37 3.28 0.52 2.38 0.37 2.78 -0.13 4.28 -1 2.89 -0.52 3.27 -1.37 
+2.39 1.37 2.76 0.89 2.41 0.5 2.38 1.39 3.26 1.75 3.78 0.13 1.39 1.88 3.41 0.89 
+2.75 0.5 2.91 0.13 3.25 0.5 3.28 0 2.88 -0.87 2.78 -2.28 1.5 -3.64 1.02 -3.78 
+3.39 -1.78 2.78 0.13 2.89 0.49 2.78 0.63 2.89 0.13 S
+2523.2 2831.92 2.38 0.5 2.29 0.13 0.61 -2.78 2.28 -0.37 1.5 -2.26 2.02 -2.28 -0.87 -3.41 
+-0.39 -3.28 -0.99 -2.38 -1.39 -2.39 1.89 -0.76 -1.39 -2.52 0.13 -2.78 S
+2549.37 2888.11 1.5 -1.75 1.02 -2.39 1.89 -1.25 0.63 -1.91 1.49 -1.26 2.15 1.65 2.65 1.13 
+0.74 2.91 -2.76 -0.26 -3.14 0.26 -0.13 1.89 -1.52 1.76 -2.75 0.26 -1.76 -1.02 S
+2657.55 2807.36 1.02 -3.64 2.26 2.65 2.78 -0.5 3.64 0.5 2.26 2.26 -3.28 0.13 1.75 2.15 
+1.79 2.75 0.73 3.41 0.76 2.15 -1.49 2.65 -2.78 0.5 -2.76 -0.37 -3.14 -1.02 -3.14 -2.38 
+-0.63 -3.54 0.87 -2.25 -0.24 -2.39 -0.39 -3.04 S
+2644.59 2783.05 1.39 -2.64 1.89 -2.65 2.76 -2.02 1.39 -3.64 -0.5 -2.91 3.28 -0.5 -0.39 2.78 
+-1.37 2.65 -1.39 3.14 0.37 2.02 -2.25 1.62 -2.39 1.52 1.37 2.64 -0.99 3.15 -0.87 3.28 
+-1.52 3.14 -0.5 3.78 -1.39 -4.04 1 -2.76 -0.86 -2.91 1.49 -3.15 -0.5 -2.52 S
+2670.9 2751.17 0.37 -2.25 0.76 -2.28 -0.13 -2.39 1.76 -1.63 0.39 -2.41 1.76 0.76 1.26 -2.26 
+-0.26 3.77 -1.63 2.13 -0.39 3.28 0.13 3.41 1.13 3.41 -1.76 3.14 -0.37 2.89 -0.39 3.66 
+-2.26 1.63 -0.5 -1.5 1.26 -5.55 0 -1 0.76 -4.17 -1.89 -2.65 S
+2592.51 3057.79 2.39 -1.89 1.39 -2.12 2.52 -1.39 2.78 -0.26 S
+2601.58 3052.13 2.76 0.13 2.65 1.13 2.52 0.13 1.5 1.89 1.52 1.88 1.49 1.89 2.41 1.65 
+2.39 0.24 2.64 0.76 1.76 1 1.99 -1.5 2.65 0.76 2.14 -1.89 1.76 0.5 2.38 -0.76 
+1.52 1 2.25 -0.24 2.13 1.13 2.02 1.25 2.52 0.26 2.02 1.26 1.39 2.64 1.26 2.02 
+-0.39 1.89 -1.76 1.5 -1.75 2.02 -1.39 0.63 -3.02 0.39 -2.52 0.74 -1.89 0.89 -2.75 1.65 
+-2.52 0.63 -2.02 -0.13 -1.62 0.5 -1.89 0.37 -1.78 1.52 -1.26 -0.37 -1.87 -1.15 -2.15 -0.11 
+-1.25 -2.02 -1.63 -0.89 -0.76 -1.76 -1.52 -1.52 -1.76 1.02 -0.37 2.52 -1.52 0.5 -2.52 0.24 
+0.63 2.78 2.14 1.65 S
+2610.13 3082.75 -2.78 0.63 -1.75 -1.52 -3.28 0.63 0.26 2.02 -2.52 -0.62 -2.15 -0.63 -0.11 -2.52 
+-0.89 -2.14 -1.89 -1.52 1.26 -2.63 0 -2.02 -1.63 -1.26 -0.62 -2.15 0.75 -2.28 0.5 -2.89 
+-2.14 -1.02 0.5 -2.76 -1.13 -2.28 S
+2612.52 3083.38 1.63 -0.52 1.65 -1.5 2.25 -0.39 1.76 1.65 2.15 0.63 2.63 0.37 0.39 3.14 
+0.76 2.91 -1.65 0.5 -1.5 1.02 1.76 0.63 1.25 2.39 1.76 1.26 -1.52 0.37 -1.89 -1.12 
+-2.76 -1.39 -1.75 -2.65 -2.52 -1.37 -1.89 -2.02 -0.76 -2.41 -1.75 -1.49 S
+2659.31 3093.18 1.02 -1.76 1.89 -0.24 2.63 -2.15 1.02 -1.75 1.26 -2.28 2.89 -2.02 2.64 -1.5 
+2.25 -0.76 S
+2674.91 3080.73 2.39 -1.65 1.78 -2.02 3.02 -1.37 2.63 0.11 -1.63 -1.37 -0.26 -2.28 0.89 -3.02 
+0.63 -2.02 -1.63 -0.62 2 -3.15 1.65 -2.52 1.76 -2.64 2.26 0 2.78 0.63 1.39 -1.15 
+3.38 -0.62 2.64 0 2.76 2.54 2.28 2.25 3.02 0.89 -0.76 2.02 -2.89 3.15 -2.02 3.64 
+-0.89 3.54 -1.75 -0.26 -1.76 2.02 -1 2.39 -2.64 -1.39 -1.39 1.65 -0.63 3.14 2.52 0.13 
+2.28 1.25 1 2.76 -2.52 1.02 -2.52 1.13 -2.14 1.65 -2 -1.52 -0.12 -2.38 1.63 -2.15 
+-2.75 2.15 -1.65 1.99 -0.11 2.91 -1.39 1 -2.28 -1.25 -2.75 1.02 -2.15 2.39 -3.02 1.89 
+-2.38 -0.13 -0.5 1.52 S
+2672.03 3097.98 2.26 1.13 1.89 0.39 -2.52 2.25 0.89 2.65 2.13 1.75 2.64 -0.37 1.65 1.52 
+1.87 1 -1.87 0.76 -1.78 2.02 -2.25 2.25 -3.02 1.26 -2.89 0.76 -1.65 -0.89 -2.02 -1.13 
+-1.89 -0.37 -1 -3.4 -1.88 -1.52 -1.39 -1.76 1.15 -1.12 -1.39 -1.26 0.13 -2.15 -2.64 -0.12 
+0.37 -2.52 0.39 -3.15 0.11 -2.78 S
+2695.92 3114.23 1.78 -2.64 1.37 -0.89 2.15 -3.02 2.13 1.25 2.02 1.39 1.13 -0.63 1.39 2.26 
+-0.13 3.66 -1.89 2.65 0.89 1.26 0 1.88 -2.25 1 -3.04 1.13 -1 1.26 -0.76 2.78 
+-0.37 2.39 -0.89 -2.63 -1.37 0.37 -1.26 -2.14 1.37 -1.63 -1.63 0.13 0.89 -2.52 S
+2696.44 3121.55 -1.52 -1.02 -0.63 -1.13 1.26 -2.28 0.37 -2.89 S
+2734.55 3150.13 2.52 -0.63 2.15 -0.87 -3.15 4.02 -1.78 1.39 0.52 2.14 -0.26 2.26 0.99 2.78 
+2.52 1.39 0.26 1.89 S
+2738.32 3164.5 2.65 0.63 1 2.28 -0.63 2.88 -1 -1.39 0 -1.75 -1.39 -0.89 -0.63 -1.76 S
+2738.32 3164.5 -1.52 -0.76 -1.89 -1.5 -1.37 -2.41 -1.52 -0.87 0.39 -3.04 0 -2.38 2.13 -3.41 S
+2737.96 3258.22 1.63 2.02 -1.12 2.88 -1.13 2.52 -3.41 2.41 -2.26 3.14 -1.39 2.89 -2.38 2.28 
+-3.65 3.28 -3.53 2.39 -3.39 1.25 -4.03 1.76 -3.52 1.78 -0.89 -0.89 1.78 -1.26 2.25 -0.89 
+3.02 -1.89 2.89 -1.89 2.91 -1.89 S
+2721.72 3278.12 3.02 -2.78 3.02 -2.75 2.26 -2.02 1.78 -2.28 2.26 -2.02 2.25 -2.26 0.63 -2.52 
+1.02 -3.28 S
+2562.83 3158.57 2.38 -1.26 2.02 -1.89 1.39 -1.89 1.13 0.37 0.13 1.52 2 0.63 0 1.89 
+-0.87 1.65 -1.75 1.5 -2.15 0.26 -1.76 0.89 -1.76 -0.52 -0.89 -1.75 0.13 -1.39 S
+2572.77 3165.75 1.63 -1 2.14 -0.26 1.26 -2.02 1.25 0.5 0.63 1.15 -1 1.75 -1.89 0.76 
+-1.52 1.39 -1.13 2.13 -2.15 0.76 -2.25 0.13 1.5 -1.02 1.52 0.13 0.89 -1.62 -1.65 -0.63 
+0.76 -2.15 S
+2714.93 2701.41 -0.39 -2.39 0 -2.78 0.89 -2.26 -0.13 -3.91 -0.24 -3.28 1.63 -2.65 1.76 -1.63 
+1.89 -1.15 S
+2720.33 2681.38 2.65 0.76 2.38 1.65 2.75 1.39 2.02 -0.39 2.28 3.14 1.24 2.65 1.39 3.02 
+1.25 2.02 0.89 2.52 0.87 2.65 0.89 2.4 1.13 2.65 1.39 2.62 1.13 2.52 0.89 2.64 
+1.26 2.65 1.13 3.04 1.39 3.14 1.63 3.78 0.87 3.02 0.89 3.54 0.26 2.52 1.37 1.76 
+0.76 2.64 0 4.91 1.89 -2.13 2.02 3.39 -0.13 2.91 -0.5 4.4 -1 3.28 -0.26 3.41 
+-1.12 2.89 -1.65 2.64 -2.25 -3.02 -0.13 -3.01 -0.63 -2.55 -2.26 -1.37 -2.65 -1.02 0.26 -2.89 
+-1.89 -1.89 0.24 -2.41 -2.12 -0.37 -2.52 -3.41 -2.26 -1.89 -2.78 -1.89 -2.64 -1.39 -2.75 -1.89 
+-2.29 -0.37 -1.75 -4.67 S
+2723.85 2731.4 -2 -3.14 0 -3.4 1 -3.15 -0.37 -2.52 0.87 -3.14 -0.63 -2.52 -2.26 -3.28 
+-1.13 -2.52 -2.14 -2.65 -2.25 -3.67 S
+2776.82 2716.04 0.5 -1.89 2.02 0.37 0.63 1 -1.02 1.39 -2.13 -0.87 S
+2788.02 2721.07 2.13 0.37 0.39 2.02 -1.13 0.89 -1.39 -3.28 S
+2759.59 2919.86 1.88 -0.37 1.89 0.63 2 2.39 -2 -0.26 -2.52 -0.24 -1.26 -2.15 S
+2764 2550.76 -0.76 -2.65 -2.78 -2.39 2.64 0.87 0.37 -1 1.78 1.39 1.37 -0.13 2.15 2.02 
+-2.39 -0.39 -1.52 -0.37 0 1.5 0.39 2.02 -1.25 -0.87 S
+2916.08 3024.42 2.02 -5.43 1.63 -5.79 S
+2952.45 2957.4 2.63 -0.76 S
+2959.61 2950.58 1.76 -1.62 2.15 -1.88 S
+2963.52 2947.07 -0.76 3.27 -2.65 2.39 -0.5 -2.15 S
+2968.55 2936.74 1.13 -3.91 1.13 -1.25 1 1.75 -2.52 4.8 -0.74 -1.39 S
+2883 2948.83 1.14 -3.91 0.99 -2.65 1.89 -4.04 1.75 -2.25 1.65 1.13 2 2.64 1.02 3.41 
+-0.26 3.91 -1.13 3.9 -2.02 2.02 -2.02 2.75 -2.26 2.41 -2.39 2.52 -2.89 0.63 1.5 -2.28 
+-0.13 -3.52 0.63 -3.54 0.52 -3.14 S
+2927.54 3127.71 2 -2.64 2.02 -2.39 1.89 0.63 0.49 1.89 -0.49 3.91 -1.26 3.78 -2.13 4.04 
+-1.39 3.77 -1.63 2.15 -0.52 -2.28 -0.62 -2.39 0 -2.39 1.02 -4.54 0.63 -3.54 S
+2909.92 3211.24 3.02 -2.91 3.41 -2.65 0.87 0.89 2.41 -1.65 -3.54 4.43 S
+2916.08 3209.36 -2.65 4.14 -3.13 3.91 -3.66 4.16 -3.26 4.15 -3.02 2.64 -0.89 -0.89 1.89 -4.01 
+2.75 -4.04 2.65 -3.64 3.14 -4.54 S
+2834.31 3304.71 2.78 -0.39 -1.02 2.15 -2.39 1.52 1.63 0.23 2.91 -1.5 2.52 -2.65 2.75 -1.39 
+2.91 -1.64 -0.26 2.54 -3.78 4.27 -3.78 2.25 -4.14 3.04 -3.52 2.65 -2.14 0.11 -2.65 0.89 
+1.26 -2.52 -1.26 -0.13 1.89 -2.78 3.41 -3.25 2.89 -3.41 S
+2825.89 3319.45 3.02 -0.76 -0.26 2.15 -2.75 1.89 -2.28 1.63 -2.75 3.04 0.76 0.99 -3.15 2.29 
+-2.78 2.38 -2.12 0.5 0.5 -2.02 2.13 -2.76 3.14 -2.28 0.89 -2.39 2.76 -1.76 2.91 -2.91 S
+2823.37 3315.54 2.76 -1.39 S
+2826.13 3314.15 -2.13 3.28 -0.75 2.28 -3.28 2.64 -2.25 3.25 -3.02 3.41 -1.76 2.38 -3.64 3.54 
+-0.76 1.89 -2.02 3.02 4.02 -2.75 2.91 -1.15 2.02 0.13 -0.52 1.52 -5.04 3.51 -4.91 4.04 
+-1.49 -0.5 -3.15 2.02 1 1.63 -3.14 4.16 -5.77 4.04 2.88 -0.26 -5.66 2.65 -2.02 2.52 
+-2.76 1.75 4.28 -1.49 -4.14 3.38 -2.65 1.02 -3.14 2.02 -2.15 -0.13 -4.38 1.39 -2.78 1.63 
+-4.14 1.13 -3.02 0.39 -2.41 1 -1.88 1.88 -2.76 0.52 -3.64 1.89 -4.27 1 -2.52 -0.37 
+-1.26 -1.02 -2.39 0 -2.52 0.63 1.26 -2.39 2.52 -0.63 -1.39 1.39 1.63 -0.13 1.75 -1.76 
+-0.24 -1.25 4.64 -1.89 S
+2749.26 3371.36 2.28 -0.39 2.63 -0.37 3.41 -0.63 3.52 -1.26 4.16 -2.02 4.02 -1.52 3.77 -2.78 
+3.78 -1.89 3.28 -2.39 3.38 -3.14 3.91 -3.28 -2.28 0.75 -3.51 1.52 3.27 -2.41 3.15 -1.26 
+4.01 -2.52 3.54 -2.26 2.89 -1.02 2.25 -2.02 -0.24 -1.49 2.39 -3.04 2.88 -3.52 2.91 -3.91 
+1.5 -2.52 4.04 -3.28 3.77 -3.41 2.89 -2.78 2.52 -3.02 S
+2737.33 3372.35 2.52 -0.5 0.63 0.75 3.88 -0.52 -3.77 2.28 -3.39 2.52 0.13 -1.39 0.5 -1.63 
+-1.89 0.5 -1.39 1.39 0.13 0.87 -2.89 1.78 -2.52 2.02 -0.76 2.52 -1.76 3.02 -2.4 0.37 
+-3.76 1.52 -4.29 2.02 -2.13 2.14 -4.28 2.26 -3.91 1.89 S
+2705.99 3396.16 3.28 -2.15 -1.52 0 0.13 -1 -4.54 1.26 5.04 -2.52 1.65 -1.76 1.63 -2.28 
+0.37 -2.12 -0.11 -1.15 -1.26 -1.25 -0.39 -1.5 3.28 -1.52 2.13 0.75 3.04 -0.39 2.52 -0.36 
+2.89 -1.39 1.76 0.13 2.02 -0.5 2.02 -1.89 1.13 -1.64 1.75 0.13 4.54 -2.65 S
+2886.52 3265.54 -2.38 2.13 -1.65 2.64 -1.89 1.65 S
+2869.4 3284.05 -2.49 3.02 S
+2705.12 3394.9 -3.15 1.13 -3.04 1.26 S
+2694.79 3399.93 -4.77 1.89 -5.16 2.15 -5.66 2.02 3.91 -1.52 1.52 -1.5 4.41 -1.52 5.77 -1.52 S
+2674.91 3408 -1.99 1 -6.18 1.78 3.41 -1.52 4.77 -1.26 S
+2657.18 3413.93 -3.91 0.87 S
+2622.83 3417.84 1.26 0.5 -4.28 1.13 S
+2619.81 3419.47 -2.64 0 -1 -0.5 3.52 -0.26 3.14 -0.87 S
+2668.51 3364.93 0.5 1.13 -4.04 1.13 0.63 -1.76 2.91 -0.49 S
+2553.52 3411.42 -5.91 -0.13 0 -0.89 3.02 -0.13 2.89 1.15 S
+2663.21 3378.41 3.14 0.63 3.52 0 3.04 0.24 0.74 1.25 2.28 0.39 3.25 0.13 2.78 0.37 
+3.02 0.26 2.88 -0.13 2.65 -0.39 0.89 0.63 2.39 0.63 3.28 -0.5 3.51 0.13 3.65 -0.89 
+3.14 0.89 -4.14 0.89 -2.91 1.13 -1.13 1.52 0.26 1.5 -3.02 -0.13 0.38 -1.13 -1.76 -0.37 
+-0.13 -1.13 -1.39 -0.76 -3.39 0.11 -3.54 0.76 -2.39 0.14 -2.76 0.89 -1.89 1.63 -0.89 1.89 
+-1.89 -0.76 -1.89 -1 -1.99 -1.12 S
+2672.92 3386.09 -2.28 -0.89 -2.26 -0.87 -2.02 -1.15 -3.28 -0.13 -2.88 -0.37 -2.25 -1 -2.65 -0.63 
+-1 -1.02 1.87 -1 1.65 1 2.25 -0.5 3.15 -1.13 S
+2477.65 3371.72 3.41 1.63 -0.37 1.15 -3.04 -0.63 S
+2477.65 3373.87 -2.12 0.37 -4.41 -1.25 2.15 -1.39 4.38 0.13 S
+2555.77 3341.86 -0.37 1.65 -2.76 2.13 -1.65 -0.87 0 -2.29 2.38 -0.99 2.39 0.36 S
+2552.52 3339.61 1.5 1 -1.5 0.39 -1.25 -0.63 1.25 -0.76 S
+2536.79 3341.36 1 2.15 -1.76 2.52 -2.12 1 -2.52 -1 2.26 -1.75 2.52 -1.79 0.63 -1.13 S
+2551.5 3334.18 1.39 2.15 -1.14 1.26 -2.64 0.75 -3.02 1 -0.37 1.13 -2.91 0.39 -3.14 -0.25 S
+2539.67 3340.61 -1.13 -0.63 0.76 -1.26 1 -0.63 0.13 -2.02 3.41 0.39 0.49 -2.91 3.15 -0.63 
+4.02 1.25 S
+2560.57 3293.12 -1.89 1.76 -0.5 2.02 -1.52 1.76 -3.38 0 -2.15 -1 -1.39 -1.39 1.39 -1.02 
+3.02 -0.63 3.52 -0.87 2.91 -0.63 S
+2546.09 3287.33 2.78 0.13 1.26 1.5 2.89 0.5 1 1.78 1.02 1.25 -0.76 1.39 -2.89 -0.13 
+-2.91 0.63 -2.13 -0.63 -1.02 -1.26 -2.25 -0.39 -1.76 0.52 -1.65 -0.76 -1.63 -0.5 2.26 -1.9 
+2.91 -0.64 2.89 -1.49 S
+2570.12 3226.97 3.54 -0.5 3.02 -0.26 2.88 0.89 2.65 1.39 0.13 1.52 -3.4 -0.26 -2.89 1 
+-2.78 1.78 -2.26 1.89 -1.39 2.26 -1.13 2.28 S
+2568.49 3238.96 -1.25 2.38 -1.26 2.26 -1 2.54 -1.26 2.38 -0.52 2.52 -0.5 2.52 0.5 2.02 
+-0.11 2.52 -0.39 2.15 -2.88 1.63 -1.89 -0.76 0.26 -2.25 1.25 -1.76 -0.52 -2.28 -1.76 -1.75 
+0.13 -2.78 0.76 -2.15 0.63 -1.49 -0.5 -2.41 1.75 -1.12 1.89 -2.89 0.87 -2.64 2.15 -0.76 
+0 -2.02 1.39 -2.65 1.89 -1.13 -0.26 -2.02 2.26 -2.02 S
+2578.17 3212.24 1.39 2.02 -0.87 1.76 -3.4 0.26 0.36 -2.15 2.52 -1.89 S
+2532.25 3262 1.15 1 -0.63 1.89 S
+2532.77 3264.89 1.89 1.15 -0.39 1 -2.65 1.26 S
+2531.62 3268.29 1.39 0.63 -0.24 1.39 -2.91 0.76 0.63 -1.76 1.13 -1.02 S
+2531.62 3268.29 -0.63 -2.02 S
+2530.99 3266.28 1.78 -1.39 S
+2532.77 3264.89 -1.39 -1 0.87 -1.89 S
+2527.47 3263.26 2.26 0.63 0.52 1.75 -1.65 0.13 -1.13 1.76 -2.52 1.02 0.63 -2.02 2.15 -1.26 
+-1.02 -1.02 0.76 -0.99 S
+2529.62 3260.75 1.13 1.13 -1.89 0.26 0.76 -1.39 S
+2521.57 3257.21 1.5 0.13 1.02 0.63 1.13 -0.87 1.76 0.24 0.89 1.13 -1.39 1.02 -0.39 1.63 
+-1.25 -0.11 -0.5 -2.02 -1 0.74 -1.52 0.13 -0.24 -2.64 S
+2490.37 3242.96 0.49 -1.99 1.52 -3.04 2.63 -2.02 2.41 0.39 -1.39 -1.65 1 -2.13 2.39 -2.02 
+3.4 -2.15 -0.39 2.52 0.13 2.64 0.13 2.78 -0.62 1.89 1.13 1.26 1.39 -2.02 1.89 -0.89 
+0 -2.64 2.78 -0.24 S
+2509.25 3233.66 1.63 3.14 -2.88 0.89 -2.02 1.37 -1.75 1.65 -3.64 1 -1.39 2.41 3.25 -1.15 
+3.67 0 1.36 1.79 0.26 2.52 -0.89 1.39 -2.38 -0.39 -2.25 0.39 -1.52 -1.78 -1.75 1.39 
+-1.63 -1.62 0.63 -1.65 -2.02 0.26 -0.26 -1.89 -2.13 0.5 -3.14 -0.89 S
+2456.64 3152.65 1.39 -0.5 1.89 1.89 -2.64 -0.24 -0.63 -1.15 S
+2473 3142.21 1 1 -0.11 -2.26 S
+2467.73 3136.66 1.5 -1.39 S
+2454.51 3128.71 2.89 2.15 1.02 2.64 -2.78 -1.62 -0.26 -1.91 -0.87 -1.26 S
+2510.37 3118.01 1.5 -2.15 2.02 0.14 0 1.75 -1.76 1.02 -1.76 -0.76 S
+2514.65 3119.64 1 -2.63 2.02 -0.13 1.75 1 -1 0.89 1.26 1.39 S
+2519.68 3120.16 -1.02 2.13 -1.99 -1.37 -2.02 -1.28 S
+2515.15 3115 1.26 -1.26 1.63 0.63 0.76 1 -1.76 0.25 -1.89 -0.62 S
+2535.16 3132.12 1.13 -2.14 1.26 1.39 -0.62 2.28 0.99 1.39 -2.12 -1.15 -0.63 -1.76 S
+2545.33 3138.67 1.39 -1 1.13 1.37 1.13 1.26 -2.62 0.13 -1.02 -1.75 S
+2545.83 3141.82 0.63 -0.75 1.52 0.89 -2.02 1 -0.13 -1.13 S
+2456.77 3087.91 1.75 -0.62 2.28 1.75 3.15 -1.02 0.74 2.28 2.52 0.37 2.78 -1 2.38 1.39 
+2.78 -0.5 2.89 0 3.02 0.86 1.89 2.39 -3.15 0.39 1.52 2.25 2.13 1.39 0.75 2.28 
+-0.89 1.89 -2.13 0.88 -1.39 0 -1.25 -1.37 -0.89 0.88 1.15 1.39 S
+2478.8 3103.78 -0.52 1.75 -0.87 1.39 -0.63 1.76 -0.75 2.28 -2.39 0.89 -1 2.25 -0.52 2.78 
+-1.12 1.76 -2.12 1 -2.28 0 1.76 1.28 1.39 1.75 2.02 4.04 -0.26 1.89 -4.77 0 
+-2.39 -0.39 1.26 2.28 2.64 1.63 -0.39 1.39 -2.89 -0.36 -2.88 0.11 -1.26 -2.12 -1.39 -1.78 
+-0.5 -1.76 -1.52 1.02 -1.12 -0.89 1.25 -1.39 2.13 -0.12 -1.63 -2.52 -0.13 -1.89 2.02 0.89 
+-0.5 -2.28 -2.38 -1.62 2.02 -0.13 -0.13 -1.76 1.76 2.13 1.25 -1.89 -1.52 -3.02 1.02 -1.89 
+2.52 0.76 2.62 0.87 -1.26 -2.25 1.39 -1.76 1.75 -0.13 -1.25 -2.28 -0.11 -2.25 -2.02 -0.37 S
+2465.08 3104.79 -3.28 0.63 0.5 -1.39 -1.26 -1.79 2.15 -0.11 -0.26 -2.65 -1.75 -0.89 -2.26 -1.26 
+0.5 -1.39 2.52 0.39 1.76 -0.52 1.75 -1.5 2.52 1.39 -1.39 -2.28 -1.76 0 -2.12 0.13 
+-1.65 -2.28 -1.99 -1.63 -2.28 -1.76 S
+2440.54 3100.37 0.52 -2.38 1.63 -1.52 3.14 0.26 2.76 0.76 2.91 1.63 3.38 0.26 0.76 2.14 
+0.75 2.26 0 2.78 -0.5 2.26 2.52 1.78 -0.39 2.63 -0.99 1.91 -2.15 0.63 -2.52 0.5 
+-2.63 -0.76 -1.65 -2.02 1.52 -1.12 -1.26 -1.26 -2.02 0.24 -2.25 0.13 -1.15 -1.76 1.64 -1.02 
+-1.89 -1.26 1.5 -1.89 1.78 -0.11 -2.14 -2.54 -1.26 -2.63 -2.02 0.11 S
+2514.52 3046.83 -0.26 -2.39 0.64 -1.76 2.4 -2.28 0.38 2.91 0.5 1.89 -0.5 1.75 -0.26 2.78 
+-0.87 -1.89 -2.02 -1.02 S
+2513.13 3037.89 0.13 -1.89 1.39 -2.25 0.13 -2.78 -0.13 -2.78 2.02 -1.75 1.37 1.89 1.75 0.13 
+0.63 2.39 0 2.38 -0.11 2.28 -0.63 2.26 -2.02 2.28 -2.02 -2.02 -1.39 -0.63 -1.12 0.5 S
+2533.14 3022.53 1.89 -2.15 1.5 0.13 3.15 -1.62 2.41 -0.26 1.76 -1.62 3.02 -0.14 0.5 1.89 
+-1 1.75 0.24 2.91 1.26 2.52 -2.89 -1.26 -3.28 -0.89 -2.52 -0.26 -2.02 0.76 -2.26 -0.12 
+-1.75 -1.63 S
+2572.13 3026.43 2.65 -1.52 0.13 -2.38 1 -1.26 1.89 0.24 1.49 -1.62 1.02 2.15 S
+2580.32 3022.03 2.26 -1.65 -1.76 3.14 -1.26 2.15 2.26 -0.13 -2.13 2.52 -2.39 1.15 -2.39 0.5 
+-2.02 -1.26 -0.76 -2.02 S
+2585.98 3013.71 2.25 0.5 2.38 -0.13 1.76 -0.76 2.91 0.76 3.02 0.76 -0.12 1.63 -2.02 -1.39 
+-0.24 1.39 -2.52 -0.63 -2.14 0.39 -2.02 -1.02 -0.63 0.89 -2.75 0 0.13 -2.39 S
+2625.11 3020.88 1.26 -1.63 2.63 0.13 2.02 1.26 0.37 1.39 1.78 0.5 -1.15 1.26 1.78 2.89 
+-2.15 -1.5 -2.02 -1.13 -1.75 -0.89 -0.76 -1.26 -2 -1.02 S
+2487.59 3029.45 2.14 -0.5 1.63 -1.26 1.39 2.26 -2.25 1.39 -2.91 -1.89 S
+2603.21 3022.89 0.76 -1.5 1.13 1.39 0.24 2.25 -2.13 -2.15 S
+2591.52 3038.39 0.87 0.63 0.39 -1.37 S
+2592.51 3034.38 0.39 -1.39 S
+2351.61 3037.26 1.75 -1.52 S
+2362.54 3030.34 2.91 -0.5 S
+2394.12 2970.75 1.02 -2.02 1.36 0.89 1.02 2.15 -1.76 -0.89 -1.65 -0.13 S
+2398.92 2968.36 0.5 -1.52 1.75 0.26 0 1.5 -1.52 0.63 -0.74 -0.87 S
+2406.71 2967.96 2.13 0.76 0.39 3.28 S
+2409.22 2972 1.63 0.39 0.63 1.37 -1.39 -0.37 -0.87 -1.39 S
+2409.22 2972 -2.39 -2.52 -0.12 -1.52 S
+2526.08 2825.89 1.52 -0.39 0.87 1.89 -1.37 0.89 -1.02 -2.39 S
+2974.46 2648.27 0.13 -0.89 0.13 -0.99 -0.89 -2.65 -0.89 -2.78 0.13 -1 0.13 -1.15 0.5 -0.11 
+0.63 -0.26 0.5 -0.13 0.63 -0.26 0.63 -0.24 0.63 -0.26 S
+2976.71 2637.54 0.89 1.26 1 1.26 1.39 1.52 1.39 1.63 0.5 -0.11 0.37 -0.14 1.52 2.02 
+1.63 2.26 0.52 0.26 0.63 0.37 0.87 0.13 0.89 0.26 0.63 -0.26 0.5 -0.26 0.63 -0.24 
+0.5 -0.26 0.63 -0.24 0.63 -0.26 0.5 -0.26 0.5 -0.24 0.39 -0.26 0.5 -0.24 1.39 1.63 
+1.39 1.76 1.5 2.78 1.52 2.91 1.13 0.74 1.13 0.63 0.89 0.76 1 0.76 1.52 1.75 
+1.49 1.78 0.89 0.74 0.74 0.76 0.39 -0.76 0.37 -0.87 0.76 0.24 0.63 0.13 0.76 0.26 
+0.63 0.37 2.52 2.52 0.87 0.76 0.89 0.75 0.76 0.26 0.74 0.24 0.52 -0.37 0.5 -0.5 
+0.37 -0.26 S
+3018.99 2665.52 0.39 -0.37 0.24 -0.26 0.39 -0.37 -0.13 -1.39 -0.26 -1.52 -0.5 -2.02 -0.63 -2.02 
+0.37 -0.37 0.39 -0.5 -0.26 -1.65 -0.24 -1.62 -0.26 -1.52 -0.26 -1.62 -0.74 -2.02 -0.63 -2.15 
+-1.65 -2.78 -1.63 -2.65 -1.25 -4.77 -1.76 -3.67 -1.89 -3.52 -1.52 -3.15 -1.63 -3.14 -1.62 -3.04 
+-1.52 -2.88 -1.63 -3.15 -1.79 -3.14 1.79 2.52 1.75 2.39 1.5 1.75 1.39 1.78 1.39 1.76 
+1.5 1.76 1.15 1.02 1.13 1.13 2.02 3.28 1.99 3.28 1.52 2 1.39 2.02 -3.03 -5.54 
+-3.02 -5.53 -1.76 -2.54 -1.76 -2.52 -2.15 -3.38 -2.13 -3.41 -1.39 -2.14 -1.39 -2.12 -0.74 -0.52 
+-0.76 -0.63 S
+2999.37 2606.55 -1.12 -1.62 -1.02 -1.52 0.39 0 0.38 -0.13 0 -1.26 1.75 2.65 1.89 2.64 
+2.15 3.28 2.12 3.28 -1.75 -3.41 -1.75 -3.52 -1.52 -2.52 -1.5 -2.54 -1.76 -2.63 -1.89 -2.64 
+-1.13 -1.39 -1.15 -1.26 0.39 -0.39 0.37 -0.5 -1.63 -3.14 -1.75 -3.15 -4.04 -6.81 -2.02 -3.26 
+-2.12 -3.28 -1.13 -1.39 -1.26 -1.26 -1.65 -2.52 -1.63 -2.54 -1.88 -2.89 -1.89 -2.78 -1.89 -3.01 
+-1.89 -2.91 -0.76 -1.5 -0.73 -1.52 -1.89 -2.78 -2.02 -2.63 0.76 0.37 0.63 0.37 -0.89 -1.5 
+-0.75 -1.65 -0.87 -1.5 -0.76 -1.52 -3.52 -5.04 -1.26 -2.02 -1.39 -1.89 1.39 0.87 S
+2957.36 2532.23 1.26 1.02 0.99 0.63 0.89 0.63 2 1.76 1.89 1.89 -3.52 -4.4 -3.52 -4.27 
+0.74 -0.26 -2.63 -2.89 -2.52 -3.04 -2.02 -2.64 -2.02 -2.76 -2.02 -2.65 -2.12 -2.64 2.38 2.02 
+2.39 2.13 0.76 0.52 0.89 0.5 1.13 0.76 1.26 0.63 0.37 0.13 0.39 0.11 -0.39 -1 
+-0.37 -1.13 -1.13 -1.88 -1.25 -2.02 0.63 0.24 0.63 0.13 2.5 2.64 2.41 2.65 2.63 3.02 
+2.78 3.04 2.75 3.14 2.91 3.28 3.02 3.52 3.02 3.54 2.52 2.89 2.65 2.9 S
+2979.62 2544.33 1.63 1.76 1.63 1.89 3.28 4.03 3.28 4.14 1.89 2.29 1.76 2.25 1.89 2.41 
+1.52 1.89 1.5 2.02 S
+2997.98 2567.01 1.52 2.13 1.37 1.76 1.39 1.78 1.52 1.75 1.89 1.89 1.49 2.02 1.52 2.14 
+1.5 2.02 1.39 1.99 1.52 2.15 1.38 2.02 1.64 2.39 1.5 2.4 1.65 2.26 1.89 3.02 
+1.89 2.91 1.88 3.02 1.63 2.91 1.63 2.75 1.65 2.91 2.13 3.52 2.02 3.54 2.15 3.54 
+1.89 3.38 1.75 3.41 1.89 3.41 1.89 3.38 3.52 7.08 1.13 2.13 2.25 4.29 1.89 4.02 
+1.78 4.16 1.89 4.04 2 4.78 2.02 4.79 2.02 4.77 1.63 4.17 1.65 4.16 1.63 4.02 
+3.52 9.34 1.75 4.77 1.26 3.28 1.13 3.4 1.25 3.28 S
+3075.84 2713.89 1.52 4.9 1.63 5.06 1.52 4.9 1 3.54 1.02 3.65 1 3.64 1.13 4.3 
+1.13 4.41 1.02 4.28 1 4.27 1.02 4.17 0.88 4.17 0.25 1.5 0.13 1.52 0.11 1.52 
+0.64 2.88 0.5 2.78 0.52 2.75 0.63 3.28 0.73 3.28 0.63 3.28 0.75 3.9 0.89 3.91 
+0.76 3.91 0.11 2.02 0.26 2.02 0.13 1.89 0.36 2.64 0.26 2.65 0.24 2.52 -0.5 -2.64 
+-0.62 -2.52 -0.63 -2.64 0.63 3.78 0.5 3.77 0.52 3.78 0.63 3.79 0.37 3.65 0.5 3.77 
+0.26 2.52 0.37 2.52 0.26 2.52 0 1.65 0.11 1.75 0 1.75 0.52 4.54 0.5 4.54 
+0 2.41 -0.13 2.39 S
+3100.89 2854.73 -0.13 3.14 0 3.28 0.13 4.03 0 4.02 -0.26 0.39 -0.37 0.37 -0.26 2.78 
+-0.24 2.78 0.13 3.28 0.11 3.27 0 3.02 -0.11 3.15 0.24 5.16 0.26 5.3 0 4.9 
+-0.13 4.8 -0.13 2.89 -0.24 2.91 -0.26 3.52 -0.37 3.54 -0.26 11.32 -0.37 4.54 -0.39 4.41 
+-0.24 4.8 -0.39 4.79 -0.5 2.25 -0.49 2.15 -0.37 2.39 -0.52 2.39 -0.23 -2.76 -0.13 -2.78 
+-0.37 0.76 -0.39 0.87 -0.49 4.8 -0.64 4.79 -0.5 4.53 -0.49 4.41 -0.76 4.54 -0.76 4.41 
+-0.76 3.64 -0.73 3.67 -0.76 3.78 -0.76 3.91 -0.89 4.64 -0.86 4.66 -0.64 1.02 -0.49 0.88 
+0.49 -4.54 S
+3085.54 3005.51 0.38 -4.41 0.89 -4.77 0.76 -4.79 0.24 -3.78 0.13 -3.67 0.63 -4.28 0.5 -4.14 
+0.39 -2.78 0.24 -2.78 0.49 -5.17 0.52 -5.16 0.24 -4.41 0.26 -4.54 0.37 -4.27 0.26 -4.3 
+0.37 -4.14 0.26 -4.17 0.11 -4.53 0.13 -4.54 0 -9.07 -0.13 -4.91 -0.11 -4.8 -0.26 -4.04 
+-0.26 -4.14 -0.11 -4.4 -0.13 -4.41 -0.5 -2.91 -0.63 -2.89 -0.39 -1.39 -0.49 -1.39 -0.5 2.78 
+-0.37 2.63 -0.12 3.17 -0.13 3.14 -0.5 0.63 -0.39 0.75 -0.63 1.13 -0.5 1.13 -0.24 1.52 
+-0.39 1.5 -0.37 1.89 -0.39 2.02 -0.74 -1.26 -0.63 -1.25 -0.26 3.67 -0.13 3.64 -0.5 0.63 
+-0.37 0.63 S
+3082.53 2908.9 -0.49 1.76 -0.39 1.75 0.13 3.54 0 3.54 0.13 2.88 0.14 3.02 -0.14 3.15 
+-0.12 3.17 -0.26 3.78 -0.24 3.77 0.5 1.26 0.5 1.13 -0.13 4.04 -0.24 3.91 0 3.91 
+-0.12 3.78 -0.63 1.52 -0.63 1.39 0 -9.33 -1 5.04 -0.39 -2.52 -0.37 -2.38 -0.63 0 
+-0.62 -0.13 S
+3077.5 2950.84 -1.26 0 -0.63 -0.63 -0.5 -0.62 -0.76 1.25 -0.63 1.39 -0.76 -0.39 -0.76 -0.24 
+0.63 -2.15 0.52 -2.14 0.11 -3.91 0 -4.01 -0.63 -1.26 -0.63 -1.39 -0.63 -1.25 -0.74 -1.26 
+-0.39 -3.91 -0.5 -3.91 0 -3.28 -0.13 -3.28 0.26 -2.52 0.24 -2.39 S
+3070.31 2914.95 -1 -3.03 -0.26 -6.04 -0.37 -3.54 -0.5 -3.41 0.63 -1.5 0.5 -1.39 -0.13 -3.14 
+-0.24 -3.04 -0.63 1.25 -0.63 1.39 -0.52 -0.63 -0.5 -0.63 -0.63 -2.89 -0.63 -2.91 0.13 3.28 
+0 3.27 -0.37 1.65 -0.5 1.63 -0.52 2.02 -0.5 2.14 -0.62 -0.52 -0.76 -0.37 -0.24 -2.52 
+-0.39 -2.39 -0.5 -1.39 -0.63 -1.26 -0.24 -2.28 -0.26 -2.39 -0.76 -1.02 -0.87 -1 -0.26 -5.29 
+-0.76 -3.41 -0.63 -3.26 -0.24 -3.16 -0.26 -3.28 -0.5 -2.89 -0.37 -2.91 -0.76 0.76 -0.63 0.89 
+-0.39 -3.28 -0.5 -3.28 0.39 -1.62 0.24 -1.64 -0.76 -3.65 -0.74 -3.53 -0.13 2.28 S
+3052.08 2847.05 -0.12 2.38 -0.14 3.15 -0.12 3.28 -0.74 -3.52 -0.76 -3.54 -0.76 -3.02 -0.75 -3.04 
+-0.14 -2.38 -0.11 -2.26 -0.26 -4.04 -0.76 -2.91 -0.87 -2.88 -0.63 -3.15 -0.76 -3.27 -0.76 -2.41 
+-0.76 -2.26 -0.73 -2.39 -0.89 -2.28 -0.89 -1 -0.87 -1.02 -1 -1.5 -1.02 -1.39 -0.76 -0.5 
+-0.87 -0.52 -0.89 -2.26 -0.87 -2.28 -1.52 -0.74 -1 -2.41 -1.02 -2.26 -0.74 -0.39 -1.52 -0.74 
+-0.75 -0.39 -0.87 -1.26 -0.89 -1.26 -0.89 -1.76 -0.86 -1.64 -0.89 -2.52 -1 -2.52 -0.76 -1.26 
+-0.87 -1.26 -2.02 -3.41 -1.65 -4.64 0.26 5.04 -1.62 -4.92 -1.52 -4.64 -0.5 -4.17 S
+3014.21 2764.91 -1 -4.41 -2.41 -4.93 -1.12 -5.27 -1.13 -5.93 -0.5 -4.3 -0.63 -4.14 -1.89 -6.29 
+-0.12 3.28 0.63 4.14 -2.02 -9.31 -0.11 3.89 -1.15 -5.16 0 -3.15 -1.62 -7.05 -0.76 -2.13 
+-0.76 -2.15 -0.37 -2.64 -0.37 -2.52 -0.52 -2.64 -0.63 -2.65 -0.74 -2.14 -0.76 -2.26 -1 -2.64 
+-1.02 -2.65 -0.87 -2.64 -1.79 -5.3 -0.73 -2.62 -0.76 -2.28 -0.76 -2.15 -1 -3.52 -1.39 -3.14 
+-1.39 -3.04 -1.63 -3.02 -1.52 -3.14 -0.76 -1.76 -0.73 -1.78 -1.02 -1.13 -0.86 -1.26 -0.76 -0.37 
+-0.63 -0.26 -1.63 -3.15 -1.52 -3.01 S
+3068.32 2936.98 0.63 1.15 0.5 1.26 0.5 -0.5 0.37 -0.52 S
+3070.31 2938.37 0.26 3.78 0.26 3.8 -0.26 1.37 -0.36 1.39 -0.52 -2.39 -0.37 -2.28 -0.63 0.26 
+-0.5 0.39 0.13 -3.91 0 -3.8 S
+2991.32 2595.46 -1.02 -2 -1.13 -2.02 0 -1.15 -0.13 -1.26 1.15 0.89 1 0.89 1.26 2.76 
+1.13 2.64 -0.37 0.39 -0.39 0.37 -0.74 -0.76 -0.76 -0.76 S
+2931.68 2502.39 -2.88 -2.91 -3.02 -2.88 -3.68 -3.8 -6.53 -6.53 -3.02 -2.91 -2.02 -2.02 -2.12 -2.02 
+-2.78 -2.64 -2.89 -2.52 -2.39 -2.39 -2.52 -2.25 -2.41 -2.65 -2.5 -2.52 -1.64 -1.91 -1.63 -1.89 
+1.75 1.15 1.89 1.26 1.39 0.76 1.37 0.87 -2.39 -2.39 -2.52 -2.38 3.04 2.38 2.89 2.26 
+2.12 1.78 S
+2899.21 2466.23 2.29 1.63 0.75 0.5 0.64 0.52 3.12 2.63 6.29 5.56 3.14 2.89 1.76 1.88 
+1.78 1.91 0.24 0.86 0.26 0.89 0 1.13 1 1.65 1 1.49 3.15 3.64 3.14 3.67 
+2.02 2.64 1.89 2.65 S
+2634.29 2299.43 -9.81 -2.25 -4.79 -1.02 -3.78 -0.89 -3.64 -0.73 -3.78 -0.76 -3.51 -0.76 -3.65 -0.63 
+-3.64 -0.76 -2.15 -0.26 -2.13 -0.24 -2.02 -0.39 -0.13 0.26 0 0.13 -0.13 0.24 0.89 0.39 
+0.89 0.26 0.87 0.37 -3.52 -0.63 -3.64 -0.5 -3.54 -0.63 -3.78 -0.75 -3.88 -0.63 -3.91 -0.63 
+-1.75 -0.5 -1.76 -0.39 -1.75 -0.36 -1.26 -0.39 -1.26 -0.24 S
+2563.71 2286.71 -1.39 -0.39 -1.89 -0.37 -1.89 -0.39 -1.89 -0.37 -1.12 -0.37 -1.26 -0.26 -1.13 -0.37 
+1 0.11 2.15 0 -0.89 -0.11 -1 -0.26 -0.89 -0.12 -3.28 -0.5 -3.38 -0.37 -3.41 -0.52 
+-2.76 -0.24 -2.64 -0.26 -2.75 -0.24 -2.78 -0.26 -0.26 -0.13 -0.11 -0.13 -0.26 -0.12 -0.26 0 
+-2.12 -0.24 -2.02 -0.26 -2.13 -0.13 -2.02 -0.24 0.24 -0.13 0.39 0 0.24 -0.13 0.39 0 
+-0.89 -0.24 -0.76 -0.13 -0.87 -0.13 -0.76 -0.26 6.29 0.52 3.28 0.11 3.14 0.26 2.13 0.26 
+2.15 0.24 2.13 0.26 2.02 0.37 3.27 0.39 3.25 0.37 3.15 0.5 3.14 0.39 4.28 0.5 S
+2559.55 2283.31 4.27 0.63 4.3 0.5 4.27 0.63 4.41 0.63 4.28 0.76 4.41 0.63 4.27 0.75 
+2 0.26 1.89 0.24 1.89 0.26 2.02 0.37 1.63 0.13 1.78 0.26 1.63 0.24 1.76 0.26 
+3.41 0.63 3.38 0.76 3.28 0.63 3.38 0.76 -2.12 -0.39 -2.14 -0.24 -2.13 -0.39 -2.15 -0.26 
+2.39 0.52 2.28 0.37 2.39 0.5 2.25 0.52 2.28 0.5 2.39 0.5 2.25 0.63 2.26 0.5 S
+2627.73 2295.4 2.15 0.39 2.13 0.5 2.14 0.37 2.15 0.39 2.76 0.75 2.78 0.63 2.75 0.63 
+2.78 0.74 1 0.13 0.89 0.26 1 0.24 1 0.13 2.91 0.76 2.75 0.89 2.91 0.76 
+2.88 0.74 3.64 1.15 S
+2666.36 2304.86 3.52 1 3.64 1.13 3.54 1.15 5.27 1.63 5.17 1.89 5.04 1.75 5.16 1.89 
+5.54 2.02 5.41 2.02 5.53 2.15 5.66 2.15 -3.53 -1.39 -3.52 -1.26 -3.39 -1.26 -3.41 -1.26 
+-2.25 -0.75 -2.15 -0.76 -2.25 -0.76 -2.15 -0.76 -3.52 -1.26 -3.51 -1.13 -3.54 -1.26 -3.52 -1.13 
+-3.64 -1.15 -10.94 -3.38 -3.67 -1.02 -3.64 -1 -3.65 -1.02 -3.64 -1 -2.88 -0.76 -3.02 -0.76 
+-2.91 -0.76 -2.75 -0.62 -3.64 -1 -3.64 -0.89 -3.67 -1 -3.64 -0.89 S
+2627.73 2295.4 1.15 0.39 1 0.24 1.13 0.39 1 0.37 -1.87 -0.5 -1.89 -0.39 -3.78 -0.74 
+-1.65 -0.26 S
+2622.83 2294.9 -1.63 -0.26 -1.52 -0.37 -1.63 -0.26 0.76 0.26 0.63 0.26 0.63 0.24 0.63 0.25 
+-2.29 0 3.54 0.87 3.52 1.02 3.52 0.89 1.75 0.5 1.78 0.63 1.76 0.5 S
+2693.79 2327.91 -2.02 -0.76 -2.02 -0.63 -1.89 -0.62 -2.52 -0.89 -2.52 -0.87 -2.49 -0.89 -2.52 -1 
+-1.26 -0.52 -1.89 -0.63 -2.02 -0.5 -1.89 -0.63 -2.52 -0.86 -2.64 -0.76 -2.52 -0.89 -3.64 -1.13 
+-3.64 -1.02 -3.64 -1.13 -2.65 -0.87 -2.62 -1.02 -2.78 -0.89 -5.28 -1.89 -1.15 -0.5 -2.25 -1 
+-0.63 -0.25 -0.5 -0.37 -0.63 -0.39 0.24 -0.13 S
+2633.9 2306.86 0.39 -0.11 0.24 -0.13 0.52 -0.26 0.11 -0.13 0.13 -0.11 0 -0.39 -2.65 -0.75 
+-2.5 -0.87 -2.65 -0.76 -1.65 -0.5 -1.49 -0.63 -1.65 -0.52 -3.88 -1 -3.91 -0.89 -4.02 -1 
+2.63 0.5 2.64 0.5 2.65 0.63 0.37 -0.11 0.76 0 -2.15 -0.63 -2.25 -0.63 -2.15 -0.52 
+-1 -0.5 -1 -0.36 -1.13 -0.39 -1.78 -0.63 -3.51 -1 -1.39 -0.5 -1.37 -0.39 -1.39 -0.5 
+1.13 0.13 1.25 0 1.26 0.14 3.02 0.63 3.14 0.63 3.14 0.74 1.5 0.13 3.04 0.52 
+3.25 1 1.65 0.5 1.75 0.5 1.89 0.52 S
+2626.87 2299.7 1.75 0.5 1.89 0.37 1.76 0.26 1.88 0.37 4.28 1.02 8.55 2.26 1.89 0.63 
+2.02 0.63 2.02 0.76 -1.39 -0.26 -1.39 -0.24 -1.39 -0.26 0 0.26 0.13 0.13 2.64 0.87 
+2.65 0.89 2.63 0.89 -0.37 0.11 -0.26 0 -0.37 0.13 0.13 0.26 0.13 0.24 0.24 0.26 
+2.28 0.89 2.39 0.87 2.25 0.89 1.76 0.63 1.76 0.76 1.65 0.76 1.63 0.74 1.64 0.63 
+1.5 0.76 2.39 1.02 2.52 1 2.28 1.02 2.39 0.87 2.26 0.89 2.25 0.87 0.89 0.52 
+0.76 0.5 0.86 0.5 0.5 0.39 0.52 0.37 0.37 0.37 2.52 1.26 1.13 0.63 S
+2694.79 2326.89 -0.13 0.13 0 0.13 -0.11 0.26 -0.26 0.11 -0.26 0.13 -0.24 0.26 S
+2665.47 2319.59 -1.87 -0.75 -2.02 -0.89 -2.02 -0.87 2.14 0.63 2.13 0.5 2.26 0.5 -0.24 0.39 
+-0.12 0.23 -0.26 0.26 S
+2944.27 2977.67 1.49 -3.51 1.76 -2.28 2.28 -1.89 2.64 -2.13 1.26 0.5 2 -2.15 2.15 -1.89 
+1.63 -3.28 2.15 -0.36 2.26 -1.02 0.63 -2.64 1.76 -3.15 1.75 -4.9 2.28 -0.13 1.13 -2.15 
+2.13 -1.99 0.89 -3.17 2.02 -3.78 1 -3.14 2.02 -2.89 2.25 -3.67 2.02 -1.26 1 -2.25 
+1.89 -2.41 2.78 -2.25 2.02 -1.25 1.89 -3.15 1.25 -0.5 0.24 2.76 1.39 1.25 1.63 -1 
+-0.37 4.78 S
+2997.48 2922.75 -0.37 5.42 -0.75 4.4 -0.89 5.93 0 5.29 -1.39 2.02 -1.5 1.89 -1.52 -1.75 
+-1.26 3.01 -1.37 1 -1.78 5.16 -1.76 -2.02 -1.63 1.64 0 4.41 -0.5 3.78 -2.14 2.02 
+-1.26 -1.39 -0.76 4.4 -1.37 -0.73 -2.41 2.62 -1.63 -1 -2.65 2.28 -1.37 -2.41 -2.28 2.52 
+-2.13 2.91 -2.28 0.87 -2.13 0.26 -2.02 1.13 -2.02 2.15 -1.76 2.38 -2.13 1.02 -2.28 -1.65 
+-1.89 -1.89 -2.12 1.13 -1.89 -1.89 S
+2997.98 2909.03 1.63 0.76 2.14 -0.52 -0.12 -2.52 1.65 0.76 2 0.89 1.52 -1.02 1.89 1.02 
+1.26 2.02 1.76 1.75 1.26 0.5 1.75 -0.75 1.63 0.75 1.52 0.76 1.52 1.52 S
+3019.38 2914.95 1.63 0.11 1.52 3.4 1.5 0 1.39 -0.24 1.26 0.5 -0.39 4.14 -0.49 5.04 
+-1.5 -0.73 -1.25 -2.65 -1.89 -0.26 -0.76 3.91 -1.26 1.26 -1.52 -0.89 -1.89 -0.37 -1.75 0.76 
+-0.37 -5.79 -1.25 -1.39 -1.63 -0.89 -1.52 -1.63 -1.25 -0.5 -1.26 3.15 -1.62 -0.89 -1.76 0.76 
+-1.15 -0.26 -1.13 -2.88 -2.02 -0.26 -0.37 -5.3 -0.62 -4.02 S
+3026.28 2922.87 1.39 -0.24 1.26 -2.41 0.89 6.05 -1.39 1.13 -2.15 -4.54 S
+3031.45 2920.49 1.39 1.62 1.89 0.64 1.26 2.54 0.99 3.25 1.02 2.28 0.5 1.26 1.25 2.78 
+0.5 1.39 S
+3040.25 2936.24 0.76 0 0.74 -0.13 0.63 1 0.63 0.89 S
+3043.01 2938 0.63 0.5 0.76 0.39 0.5 1.36 0.52 1.39 0.74 0.5 0.63 0.52 0.39 1.63 
+0.37 1.76 S
+3047.55 2946.05 0.49 2.02 0.64 2.15 0.63 2.26 0.63 2.28 -1 -0.5 -1 -0.63 -0.13 -3.77 
+-0.25 -3.8 S
+3047.55 2946.05 -0.63 0.63 -0.76 0.52 -1 -2.78 -2.15 0 -0.74 -0.13 -0.52 -1.76 -0.5 -1.76 
+-0.5 -2.28 -0.5 -2.26 S
+3040.25 2936.24 -0.76 0.87 -0.87 0.89 -1.52 -2.15 -1.89 -0.63 1.13 -3.52 -1.13 -0.63 -1.63 -2.02 
+-1.52 0 -0.87 -3.14 0.24 -5.42 S
+3051.46 2956.38 0.87 2.65 0.63 2.78 -0.74 -0.37 -0.89 -0.39 0.14 -2.38 0 -2.28 S
+3053.84 2968.36 0.63 1.26 0.5 1.26 -0.13 3.02 -0.11 3.04 -0.63 -1.91 -0.63 -1.89 0.24 -2.39 
+0.13 -2.39 S
+3040 2925.39 0.39 -1.5 0.36 -1.52 0.63 0.76 0.63 0.89 0.5 -0.39 0.5 -0.37 0.63 -1.02 
+0.76 -1.13 0.5 2.28 0.52 2.25 -0.76 1.63 -0.76 1.52 -0.75 0.49 -0.76 0.52 -1.26 -1.78 
+-0.62 -1.39 -0.5 -1.26 S
+3052.08 2931.08 0.5 1.37 0.63 1.39 0.5 1.89 0.39 1.89 0.24 3.8 0.13 3.78 0.37 2.88 
+0.26 2.91 0.5 2.02 0.39 2.02 0.37 2 0.37 2.02 0.39 2.52 0.24 2.52 0 5.55 
+-0.5 -1.13 -0.5 -1.02 -0.37 -1.63 -0.39 -1.52 -0.5 -1.75 S
+3055.1 2962.57 -0.63 -1.65 -0.5 -2.26 -0.5 -2.15 0 -4.91 -0.39 -2.02 -0.5 -1.89 -0.37 -1.75 
+-0.25 -1.79 -0.26 -4.77 0.26 -4.17 0.13 -4.14 S
+3063.52 2992.54 -0.11 3.15 -0.12 3.17 -0.64 3.28 -0.62 3.14 0.24 -3.04 0.13 -3.02 0.63 -3.27 
+0.5 -3.41 S
+3064.78 3020.38 -0.37 3.9 -0.5 3.91 -0.89 4.17 -0.87 4.28 -0.89 2.78 -1 2.64 0.63 -3.28 
+0.63 -3.41 0.74 -3.64 0.63 -3.66 1.02 -3.91 0.87 -3.78 S
+2990.82 2950.09 1.63 1.02 1.26 -1.25 0.37 -4.04 2.91 -0.39 -0.63 4.79 -1.13 -0.5 -1.26 3.15 
+-1.65 3.41 -1.25 -2.41 -0.24 -3.77 S
+3000 2948.2 1.39 0.63 -0.13 5.29 S
+3001.26 2954.12 -2.02 -0.5 0.76 -5.42 S
+3021 2929.82 1.39 1.63 1.37 1.76 -1 -4.78 -1.76 1.39 S
+2995.33 2988.76 1.52 -4.78 1.5 -2.02 1.02 -4.41 2.13 -1.02 1.88 -3.27 1.02 -4.54 1.63 -4.53 
+1.39 -5.17 1.75 1.39 1.13 2.65 0.63 2.78 1.65 -6.69 0.99 3.41 1.26 1.89 0.63 4.03 
+2.13 -1.02 1.15 2.78 1.5 -2.02 1.02 -3.64 0.74 3.14 0.76 4.41 0.76 4.54 -0.76 5.54 
+-0.76 7.81 -1.89 3.54 -0.11 5.8 0 4.9 -0.63 5.16 -1.39 5.93 -1.13 5.42 -0.52 4.28 
+1.02 2.28 0.76 3.52 -1.65 1.65 -1.89 1.13 -1.99 1.89 -0.63 4.27 -2.02 2.28 -2.15 3.39 
+-0.87 5.29 -1.89 5.66 S
+3005.04 3056.4 0.37 4.67 -2.02 2.02 0.13 4.04 0 4.04 -1.62 -0.39 -2.02 0.5 -1.39 -1 
+-2 4.28 -2.02 0.26 -1.39 0.89 1.25 -5.17 0.38 -5.16 1.39 -4.43 0.76 -7.05 1.5 -3.52 
+-1.24 -3.04 -0.12 -4.52 1 -7.31 0.13 -4.66 0.76 -4.8 -0.13 -5.04 -1.02 -3.14 -0.87 -2.89 
+1.25 -5.8 1.13 -6.81 -1.39 -1.26 -1.63 -1.63 -1.89 0.11 0 -5.27 1 -5.55 S
+3028.17 2993.55 2.02 -6.05 1.02 2.15 1.63 -4.4 1 -6.43 0.89 -6.69 0.87 -4.03 1.02 1.75 
+0.5 1.39 0.5 1.52 -0.63 2.38 -0.62 2.52 -0.37 2.78 -0.5 2.78 -0.52 2.65 -0.63 2.52 
+-1.12 5.16 -1.63 4.41 0 5.29 S
+3031.58 3003.25 0.5 0.87 0.37 0.89 0.39 -1.63 0.5 -1.78 0.37 -2.52 0.39 -2.52 0.76 -1.52 
+0.74 -1.63 0.76 -0.13 0.76 -0.24 0.63 -3.28 0.63 -3.41 0.63 0.13 0.63 0 0 2.13 
+0.13 2.02 0.74 -4.01 0.89 -4.04 0.76 -1.13 0.63 -1.15 0.24 3.04 0.13 2.88 -0.76 3.15 
+-0.63 3.14 -0.87 1.52 -0.75 1.52 -1 1.89 -0.89 1.89 -1.63 1.63 -0.26 5.04 -0.76 1.65 
+-0.87 1.52 -0.63 1.13 -0.76 1.13 -1 1.64 -1.12 1.5 0.11 2.65 0.26 2.64 -0.26 2.78 
+-0.11 2.75 -0.26 3.04 -0.26 3.15 0.39 1.39 0.5 1.5 -0.76 0.89 -0.87 0.89 -0.13 -2.28 S
+3029.82 3033.98 -0.26 -2.26 -0.12 -2.15 -0.11 -2.02 -0.52 -1.26 -0.37 -1.13 0.5 -6.05 -1 -2.38 
+-1.39 3.64 -1.63 0.13 -1.78 5.8 -1.13 6.05 0.39 2.39 0.74 0.89 0.52 2.76 0.87 2.91 
+0.39 1.25 0.74 2.52 0.39 1.26 0.63 0.37 0.76 0.39 0.11 1.76 0.26 1.75 0 2.29 
+0.13 2.38 -0.62 3.54 -0.63 3.64 -0.76 2.78 -0.62 2.75 -0.63 0.65 -0.63 0.5 0.37 -1.89 
+0.26 -1.88 0.49 -2.54 0.39 -2.52 0.11 -2.52 0.26 -2.64 -0.5 -1.5 -0.39 -1.52 -0.11 -1.52 
+-0.12 -1.5 -0.63 -0.13 -0.5 -0.25 -1.13 -1.76 -1.15 -2.02 -1.37 -0.87 1.49 -6.82 -1.12 -3.28 
+1 -3.52 S
+3021.38 3030.46 1.39 -5.29 1.39 -4.92 0.37 -4.78 0.89 -4.79 1.5 -5.93 1.02 -5.66 0.24 -5.54 S
+3029.05 3075.3 0.89 -1.5 1 -1.39 0.87 -1.89 0.89 -1.89 0.75 -2.54 0.76 -2.39 1 -1.26 
+0.89 -1.26 0.87 -0.37 1.02 -0.52 -1.26 1.52 -1.15 1.52 -0.87 2.02 -0.89 1.99 -0.87 2.91 
+-1.02 2.78 0.26 1.39 0.13 1.5 -0.75 1.02 -0.76 0.99 -0.37 2.39 -0.39 2.52 -1 2.65 
+-1.13 2.52 0.38 -2.89 0.26 -3.02 -0.89 1.37 -1 1.39 -0.89 2.65 -0.87 2.64 0.5 -2.52 
+0.38 -2.38 0.75 -2.41 0.89 -2.39 0.73 -2.64 0.89 -2.52 S
+3042.77 3022.27 0.87 -1.5 0.89 -1.52 0.63 0.37 0.63 0.39 S
+3045.79 3020.01 -0.13 2.14 -0.13 2.26 -0.74 1.88 -0.75 1.89 -0.5 -0.75 -0.52 -0.87 -0.11 -2.14 
+-0.13 -2.15 S
+3045.29 3032.86 0.76 0.13 0.87 0.13 0.13 1.63 0 1.63 0.5 0.76 0.49 0.89 0.76 1.25 
+0.76 1.39 0.63 -0.13 0.76 -0.13 -0.76 2.41 -0.63 2.52 -1.02 1.5 -0.87 1.52 -0.26 -1.39 
+-0.24 -1.39 -0.76 0.26 -0.63 0.24 -0.13 -2 -0.24 -2.02 -0.39 -1.89 -0.49 -1.78 0.36 -2.76 
+0.39 -2.78 S
+3035.72 3030.84 0.63 1.89 0.5 1.88 S
+3039.5 3046.33 0.5 2.28 0.5 2.26 -1 0.26 -1 0.24 1 -5.04 S
+3036.48 3079.34 0.76 0 0.63 -0.13 -0.26 2.39 -0.24 2.4 -0.63 -0.12 S
+3036.74 3083.88 -0.63 -0.13 0.24 -2.14 0.13 -2.26 S
+3040.39 3105.17 1.25 -1.26 1.13 -1.26 -0.13 1.89 -0.26 2.02 -1.99 2.52 0 -3.9 S
+3041.64 3069.64 0.63 0.76 0.5 0.76 0.37 0.73 0.25 0.76 0.88 -2.39 0.89 -2.38 0.63 -0.26 
+0.63 -0.13 0.13 1.52 0.24 1.52 -0.11 1.89 0 2.02 -0.12 2.76 -0.26 2.78 1.02 -3.41 
+0.99 -3.41 -0.12 -1.89 -0.24 -1.75 0.37 -2.65 0.38 -2.75 -0.24 -1.02 -0.39 -0.99 0.14 -1.65 
+0.26 -1.62 0.37 0.36 0.26 0.5 0.74 -0.74 0.89 -0.75 0.63 -1.65 0.64 -1.76 0.89 -2.28 
+0.74 -2.39 0.26 1.26 0.13 1.26 -0.76 4.16 -0.89 4.27 S
+3052.32 3061.07 0.89 -0.76 0.76 -0.73 0.63 0 0.76 -0.14 0.63 -0.26 0.63 -0.24 0.24 1.13 
+0.37 1.26 0.52 0.76 0.5 0.74 0.63 0.25 0.63 0.14 1 1.52 0.63 -0.13 0.63 0 
+0.76 -1.13 0.76 -1.15 2.52 -6.55 1.13 -3.38 1.25 -3.67 1 -2.89 1.02 -3.02 -0.14 -2.15 
+0 -2.02 0.76 -3.78 0.63 -3.66 0.74 -5.16 0.76 -5.04 0.39 1.65 0.24 1.63 -0.24 3.54 
+-0.13 3.52 0.24 1.78 0.13 1.75 0.13 2.39 0 2.39 0.63 -1.76 0.76 -1.63 0.63 -1.52 
+0.74 -1.63 0.76 -1.15 0.76 -1.26 0.26 0.89 0.24 0.89 0.13 1.63 0.26 1.52 0.37 0.5 S
+3079.25 3036.13 0.5 0.5 -0.37 3.91 -0.39 3.91 -1 5.03 -0.89 2.91 -0.87 2.75 -0.39 2.64 
+-0.24 2.65 -0.63 2.91 -0.5 2.76 -1.02 4.54 -1 4.53 -0.13 1.89 0 1.78 0.26 -0.13 
+0.37 -0.13 0.63 0.13 0.5 0.26 0.13 0.87 0.14 1.02 1.13 -3.28 1.26 -3.15 1 -2.64 
+1.02 -2.65 0.87 -1.65 1.02 -1.75 0.75 -1.39 0.74 -1.39 1.52 -4.77 0.13 1.13 0.11 1.13 
+0.13 1.39 0.13 1.52 0.13 1.5 0.13 1.52 0 1.13 0.11 1.26 0.89 -2.25 0.76 -2.28 
+-0.39 3.14 -0.37 3.17 -1.26 4.78 -1.26 4.67 0 -3.02 -0.24 -0.26 -0.39 -0.13 S
+3082.27 3076.56 -1 4.16 -1.02 4.28 0.26 -3.52 -0.26 -0.52 -0.24 -0.62 -2.52 9.07 0.5 -3.52 
+0.5 -3.41 -1.26 3.14 -1.26 3.02 -1.62 4.8 -1.63 4.66 -0.52 0 -0.5 0.14 -1.13 2.02 
+-1.25 2.13 -1.13 2.78 -1.13 2.64 -0.52 2.39 -0.5 2.39 -0.5 2.41 -0.5 2.39 -1.52 4.04 
+-1.63 4.04 -0.76 0.86 -0.76 0.89 0.63 -3.14 0.76 -3.28 -0.76 0.24 -0.63 0.13 0.13 -1.39 
+0 -1.5 -1.76 4.4 -1.76 4.28 -1.13 1.75 -1.02 1.65 -0.5 0.13 -0.5 0 -0.76 0.37 
+-0.63 0.26 -0.49 -0.26 -0.37 -0.37 -0.52 -0.26 -0.37 -0.25 0 -2.76 -0.5 -0.5 S
+3050.2 3126.71 -0.39 -0.63 -0.24 -0.52 -0.26 -0.63 -0.37 -0.76 -0.26 -0.87 -0.24 -0.75 -0.26 -0.76 
+-0.5 -0.5 -0.5 -0.63 0.13 -1.52 0.11 -1.5 -0.24 -0.89 -0.26 -0.76 -0.37 -0.76 -0.26 -0.76 S
+3046.29 3114.47 -1.5 0 -0.52 -0.24 -0.63 -0.26 0.76 -3.91 0.76 -3.77 1 -3.4 1.02 -3.26 
+0.24 -2.28 0.26 -2.26 0.87 -3.79 1.02 -3.91 0.76 -2.89 0.63 -2.9 0.86 -3.28 0.89 -3.39 
+-0.13 -1.25 0 -1.26 -0.89 0.63 -0.74 0.76 -1.15 2.52 -1.12 2.39 -0.37 -0.26 -0.5 -0.24 
+-1.13 2.39 -1.15 2.39 -0.99 3.54 -1.14 3.41 -1.52 3.01 -1.63 3.02 0 -2.14 -0.12 -2.13 
+-0.87 0.63 S
+3039.25 3092.32 -0.75 0.5 -0.26 -4.04 0.63 -3.01 0.63 -2.91 0.26 -2.63 0.11 -2.64 0.89 -4.04 
+0.89 -3.9 S
+2952.2 3162.24 3.14 -3.66 2.25 -2.52 2.65 -3.28 1.89 0.39 -1.76 2.89 1.5 0 1.65 -4.28 
+2.12 -3.04 1.13 1.89 -1.76 5.29 1.52 0.52 3.14 -1.65 -2.28 3.15 -1.76 2.02 1.39 0.89 
+3.15 -2.41 1 1.15 -0.5 2.64 -2.26 0.63 -1.88 1.5 -0.39 2.64 -1.37 -1.52 -0.89 -1.13 
+0 -1.89 1.26 -3.78 -0.89 -1.13 -2.75 2.76 -3.64 3.41 -2.64 4.54 -2.26 5.29 -2.38 4.67 
+-2.78 4.41 -1.89 0.5 -2.89 3.4 -3.41 4.67 1.65 -3.91 -0.39 -1.78 -1.39 -0.74 0.52 -2.78 S
+2940 3182.01 2.75 -4.17 2.28 -3.78 2.26 -1.89 3.28 -5.04 2.62 -3.41 -0.99 -1.5 S
+2987.67 3088.78 -0.5 6.19 -1.15 3.91 -1 4.91 -2.02 5.42 -0.36 3.02 -1.52 6.06 -3.78 5.03 
+3.28 -7.68 1.89 -6.31 1.13 -4.28 1.39 -6.06 0.89 -4.77 1.75 -5.43 S
+2967.29 3144.83 2.26 -1.37 2.64 -2.9 1.76 -1.13 -1.52 4.77 -2.62 3.9 -1.78 0.63 -0.62 -1.63 
+-0.11 -2.28 S
+2972.94 3159.83 2.64 -2.76 1.39 0.87 2.26 -4.28 -0.5 -1.65 3.02 -4.77 0.5 1.25 3.04 -4.66 
+-0.39 3.53 -2.25 2 -2.15 3.28 0 3.91 -3.14 3.77 -2.25 3.17 -2.26 1.75 0.5 -3.54 
+-0.39 -1.88 S
+2982.64 3130.49 -0.13 3.78 0.89 0.63 S
+2983.4 3134.89 2.13 -3.41 1.02 -4.41 2.13 -2.02 1.75 -0.89 -0.99 3.91 -2.52 3.28 0.99 0.39 
+-1.62 4.27 1.76 -1.39 -0.24 3.67 -2.15 3.38 -0.5 -2.25 -2.15 3.41 -2.64 4.02 2.15 -4.28 
+1.13 -4.41 -2.02 3.78 -0.63 -1.65 -2.88 5.16 -0.24 -3.39 -1.26 1.5 -0.63 -2.63 2.13 -2.28 
+2.52 -4.41 2.02 -3.78 S
+2998.25 3103.02 1.63 -2.52 -1.76 4.54 -1.62 5.03 -0.13 2.52 2 -3.15 -0.24 2.65 -1.25 4.66 
+1 0.89 1.26 -0.76 1.52 -4.29 2.65 -5.17 1.37 -0.37 1.39 0.13 0.13 1 0.13 0.89 
+0.87 -0.5 0.89 -0.63 -1.13 3.28 -1.02 3.14 -0.86 1.13 -0.89 1 -0.76 0.75 -0.87 0.76 S
+3002.52 3118.01 -1.12 3.15 -0.76 2.28 -0.76 2.13 1 -1 1.02 -1.13 1.49 -2.15 1.52 -2.15 
+-1.26 2.65 -1.13 2.78 -1.02 2.64 -1 2.52 -1 1.88 -1.15 1.89 -1.5 1.76 -1.52 1.78 
+-1.37 2.52 -1.52 2.39 -2.65 2.26 -2.26 0.13 3.52 -5.16 1.13 -4.04 -0.87 -0.5 2.39 -5.16 
+0.26 -3.15 1.5 -4.77 -2.12 3.02 -1.02 -0.39 0.63 -3.78 1.39 -4.14 0.5 -4.3 0.89 -3.51 
+2.52 -5.43 S
+3056.73 3139.8 0.89 -1.63 0.76 -1.65 -0.26 1.65 -0.13 1.63 0.76 -1.26 0.89 -1.13 -0.25 1.63 
+-0.13 1.65 -0.63 2.39 -0.5 2.28 -0.5 2.39 -0.63 2.38 -1.63 4.54 -1.52 4.53 -2.26 5.55 
+-2.28 5.54 S
+3049.3 3170.29 -0.62 2.15 -0.64 2.13 -2.52 5.17 -2.62 5.16 -2.02 4.43 -2.02 4.41 -1.89 3.02 
+-1.75 3.02 1.39 -4.02 1.39 -3.91 2.88 -4.92 2.76 -5.04 0.76 -2.14 0.63 -2.13 2.91 -6.82 
+2.89 -6.66 0.63 -2.02 0.99 -4.04 0.63 -2.15 0.89 -3.38 1 -3.28 1.25 -5.55 0.26 -2.02 
+0.24 -1.89 S
+3036.22 3175.09 -0.63 2.25 -0.63 2.28 S
+3027.17 3208.33 0.63 0 0.63 0.13 0.63 0 0.63 -0.13 -0.37 1.26 -0.26 1.13 S
+3029.05 3210.72 2.26 -3.15 2.14 -3.28 2.52 -3.9 2.38 -3.77 -2.78 5.29 -2.76 5.3 -1.52 2.25 
+-1.37 2.28 -0.52 -0.5 -0.37 -0.52 S
+3029.05 3210.72 -0.49 0.13 S
+3028.56 3210.85 -0.39 0 -0.24 -0.5 -0.39 -0.5 -0.11 -0.76 -0.26 -0.76 S
+3036.22 3206.58 1.52 -2.65 1.63 -2.78 1.52 -2.65 1.13 -1.62 1 -1.65 1.15 -1.62 0.5 -0.64 
+0.63 -0.75 0.5 -0.63 -1.52 3.41 -1.5 3.51 -1.65 3.54 -0.62 0.76 -0.74 0.76 -0.62 0.73 
+-2.78 3.78 -1.39 1.91 0.52 -1.15 0.74 -2.25 S
+3039.5 3206.08 0.37 -0.26 0.52 -0.13 0.36 -0.13 0.13 0.13 0.24 0.13 0.13 0.13 S
+3049.3 3190.32 0.76 -0.89 0.89 -1 0.74 -0.89 S
+3037.37 3216.41 0.24 -0.13 0.26 -0.26 0.37 -0.13 0.13 0 0.26 0.13 0.24 0 0.26 -0.13 
+0.24 -0.11 0.26 -0.26 S
+3032.96 3229.88 1.63 -2.65 1.76 -2.91 1.65 -2.76 0.87 -1.26 0.89 -1.39 0.74 -1.25 1.15 -1.65 
+1.13 -1.76 1.26 -1.75 S
+3051.2 3193.34 1.13 -2.26 1.02 -2.15 1.13 -2.26 1.52 -2.78 0.87 -1.39 -0.75 1.88 -0.74 1.89 
+-0.76 1.89 -0.39 1.15 -0.5 1.26 -0.37 1.37 -1.65 3.54 -1.63 3.54 -1.63 3.52 -0.26 -0.26 
+-0.14 -0.11 -0.24 -0.13 1.26 -3.02 1.13 -2.78 1 -2.91 S
+3051.82 3196.75 1.13 -1.63 1.02 -1.65 1 -1.75 -0.87 2.25 -0.89 2.28 -0.89 2.25 -1.13 1.89 
+-1 1.89 -1.13 1.78 1 -2.41 0.89 -2.52 0.86 -2.39 S
+3080.64 3144.21 1.39 -3.78 1.36 -3.77 1.52 -3.91 1.39 -3.91 S
+3086.3 3128.84 1.37 -3.91 1.15 -3.52 1.26 -3.67 2.26 -7.29 1.13 -3.67 -0.89 3.17 -0.87 3.14 
+-1 3.28 -1.02 3.15 -1 3.27 -1.39 3.91 -1.26 3.77 -1.39 3.78 -1.39 3.64 -1.37 3.67 
+2 -5.55 0.89 -2.64 1 -2.78 0.89 -2.76 -1.13 3.41 -1.25 3.25 -2.52 6.56 -1.13 3.14 S
+3094.73 3103.91 1.52 -4.8 1.36 -4.78 1.39 -4.92 2.78 -10.07 -0.52 2.15 -0.5 2.13 -1 4.29 
+-0.5 2.13 -1.02 2.91 -0.87 2.89 -0.89 2.78 -0.87 2.65 -0.89 2.64 S
+3119.14 2877.54 -0.39 -6.32 -0.5 -6.29 -0.5 -6.43 -0.63 -6.55 -0.37 -3.78 -0.39 -3.91 S
+3116.36 2844.27 -0.36 -3.91 -0.39 -3.91 -0.5 -3.91 -0.24 -2.52 -0.39 -2.52 -0.24 -2.52 -0.39 -2.52 
+-0.37 -2.52 -0.26 -2.52 -0.37 -2.65 -0.39 -2.52 -0.5 -2.65 -0.37 -2.64 -0.39 -2.65 -1 -5.55 
+-0.5 -2.76 -0.5 -2.91 -0.62 -3.65 -0.76 -3.91 -0.76 -3.77 -0.87 -3.9 -0.76 -3.91 -0.13 -0.62 
+-0.12 -0.76 -0.13 -0.63 -0.11 -0.76 0 -0.75 0.74 3.91 0.89 3.9 0.89 3.78 0.74 3.79 
+0.75 3.78 0.64 3.64 0.75 3.78 0.63 3.67 0.63 3.64 0.63 3.52 0.24 2.15 0.39 2.02 
+0.24 2.15 0.26 2.02 0.26 2 1 6.82 0.37 3.28 0.52 3.41 0.36 3.25 0.5 4.17 S
+3116.36 2839.11 0.39 4.04 0.5 4.14 0.37 4.03 0.37 3.91 0.13 2.39 0.13 2.41 0.13 2.26 
+0.13 2.28 0.11 2.25 0.13 2.29 0.13 2.12 0 2.15 0.13 2.15 0.13 2.02 S
+2415.25 2287.09 -2.02 0.26 -2 0.36 -1.88 0.26 2.52 0 -3.04 0.24 -3.12 0.13 -3.14 0.26 
+4.27 -0.5 4.15 -0.52 4.27 -0.5 S
+2988.54 3317.93 -0.63 0.89 -0.74 0.89 -0.75 0.86 -0.63 0.89 -0.76 1 -0.76 0.89 -0.76 1 
+-0.74 1.02 -0.75 0.87 -0.89 1.02 -0.76 1 -0.86 1.02 -0.76 1 -0.87 1.13 -0.89 1.02 
+-0.89 1 -0.87 1.15 -0.89 1.13 -0.87 1 -1.02 1.15 -0.87 1.13 S
+2971.57 3338.98 -1.76 2.02 -1.78 2.02 -1.75 2 -1.76 2.14 -1.75 2.02 -1.89 2.02 -1.89 2.15 
+-1.89 2.12 -1.88 2.02 -2.02 2.14 -1.89 2.13 -2 2.15 -2.02 2.15 -2.15 2.12 -2.13 2.28 
+-2.02 2.14 -2.15 2.13 -2.25 2.28 -2.13 2.15 -2.28 2.25 -2.25 2.26 -2.39 2.28 -2.28 2.26 
+-7.04 6.55 -3.53 3.27 -10.94 9.84 -3.78 3.28 -3.78 3.14 -3.88 3.28 -3.91 3.28 -3.91 3.14 
+-4.02 3.15 -4.03 3.14 -4.02 3.28 -4.16 3.04 -8.29 6.3 -4.28 3.02 -4.27 3.14 -4.41 3.04 
+-8.81 6.04 -4.4 2.9 -4.54 3.02 -4.52 2.89 -2.15 1.28 S
+2822.61 3468.23 -4.03 2.52 -2 1.26 -1.88 1.13 -2.02 1.26 -1.89 1.13 -2.02 1.13 -1.89 1.15 
+-1.89 1.13 -1.75 1 -1.89 1.15 -1.89 1 -1.76 1.02 -3.52 2 -1.75 1.02 -1.76 1 
+-1.78 0.89 -1.63 1 -1.76 0.89 -1.62 0.89 -1.65 0.87 -1.62 0.89 -1.65 0.89 2.28 -1.28 
+2.26 -1.13 2.26 -1.26 2.14 -1.12 2.15 -1.26 2.13 -1.13 2.15 -1.25 2 -1.15 6.05 -3.39 
+1.89 -1.15 3.77 -2.25 1.87 -1.13 1.89 -1.02 1.78 -1.13 1.76 -1.13 1.76 -1.02 1.76 -1.13 
+1.63 -1 1.78 -1.15 3.64 -2.26 3.64 -2.39 3.65 -2.41 S
+2833.18 3461.29 3.64 -2.39 3.52 -2.39 3.41 -2.28 3.52 -2.39 3.41 -2.39 3.25 -2.41 3.41 -2.39 
+3.15 -2.39 3.28 -2.41 3.14 -2.39 3.12 -2.25 3.15 -2.41 3.04 -2.39 3.02 -2.39 3.02 -2.41 
+2.88 -2.26 3.41 -2.91 3.51 -2.89 3.39 -2.91 3.41 -2.89 3.4 -2.9 3.39 -2.89 3.41 -3.02 
+3.25 -3.04 3.41 -3.02 3.28 -3.02 3.26 -3.04 3.14 -3.14 3.28 -3.02 9.44 -9.44 3.15 -3.17 
+2.63 -2.62 2.65 -2.78 2.52 -2.78 2.65 -2.78 2.64 -2.89 2.63 -2.91 2.64 -2.89 2.65 -2.91 
+2.63 -3.02 2.64 -3.02 2.65 -3.04 2.64 -3.14 2.63 -3.15 2.65 -3.14 5.29 -6.56 S
+2983.4 3324.48 2.52 -3.28 2.63 -3.27 S
+2717.69 3521.5 -0.24 0.14 -0.26 0 -0.37 0.13 -0.26 0.11 -0.25 0.13 -0.24 0.13 -0.26 0.13 
+-0.24 0.13 -0.26 0.11 -0.37 0.13 -0.26 0 -0.24 0.13 -0.39 0.13 -0.24 0.13 -0.26 0.11 
+-0.37 0.13 -0.26 0.13 -0.37 0.13 -6.16 2.39 -6.18 2.28 -6.27 2.26 -6.16 2.15 -6.3 2.15 
+-6.29 1.99 -6.16 2.02 -12.59 3.77 -6.29 1.78 -6.16 1.63 -6.29 1.64 -6.29 1.5 -6.16 1.52 
+-6.27 1.39 -6.16 1.39 -6.18 1.37 -6.17 1.15 -5.77 1.14 -5.92 0.99 -5.77 1.02 -5.93 1 
+-5.9 0.89 -5.93 0.76 -6.03 0.87 -5.9 0.63 -6.05 0.76 -6.04 0.63 S
+2541.19 3564.58 -6.03 0.5 -6.05 0.52 -6.04 0.5 -6.03 0.37 -6.16 0.39 -6.03 0.24 -6.16 0.26 
+-6.06 0.13 2.52 0 5.03 -0.25 2.52 0 2.52 -0.13 2.38 -0.11 2.52 -0.14 4.78 -0.26 
+2.4 -0.13 2.39 -0.11 2.39 -0.26 4.77 -0.26 2.26 -0.24 2.41 -0.13 2.25 -0.26 2.26 -0.24 
+-1.88 0.24 -2 0.13 -3.78 0.26 -1.88 0.24 -3.78 0.26 -3.52 0.26 -1.89 0 -1.78 0.11 
+-1.75 0.13 -1.63 0.13 -1.76 0 -1.75 0.13 -1.65 0.14 -1.62 0 6.79 -0.26 6.79 -0.5 
+6.92 -0.39 6.92 -0.63 7.04 -0.63 7.05 -0.62 S
+2546.86 3563.96 7.03 -0.87 7.05 -0.89 7.18 -0.89 7.03 -1.13 7.18 -1.12 7.16 -1.13 7.29 -1.39 
+7.18 -1.39 7.29 -1.52 7.16 -1.49 6.43 -1.39 6.29 -1.52 6.29 -1.62 6.29 -1.64 6.27 -1.63 
+6.29 -1.78 6.16 -1.89 6.29 -1.88 6.16 -1.89 6.17 -2.02 6.16 -2.12 12.33 -4.3 6.05 -2.26 
+6.04 -2.28 6.03 -2.39 S
+2005.77 3360.63 -2.65 -2.88 -2.78 -3.04 -2.62 -2.89 -2.65 -3.02 -2.64 -3.04 -2.62 -3.02 -2.64 -3.02 
+-2.29 -2.64 -2.25 -2.65 -2.13 -2.64 -2.14 -2.65 -2.02 -2.64 -2.12 -2.52 -2.02 -2.64 S
+1972.18 3321.33 -2.15 -2.78 -2.25 -2.75 -2.15 -2.91 -2.12 -2.78 -2.26 -2.88 -2.02 -2.91 -2.39 -3.14 S
+1956.83 3301.17 -2.28 -3.14 -2.12 -3.15 -2.29 -3.14 -1.99 -3.02 -2.15 -3.17 2.02 3.04 2.02 2.89 
+2.13 2.91 2.02 3.02 2.13 2.91 2.14 2.88 2.26 3.02 2.14 3.04 2.26 3.02 2.38 3.02 
+2.28 3.04 2.39 3.02 S
+1972.18 3321.33 1.63 2.02 1.65 2.02 1.63 2.02 1.63 1.89 1.65 2.02 1.5 1.89 6.55 7.81 
+3.26 3.78 3.4 3.91 3.52 4.01 3.54 3.91 3.64 4.03 S
+1850.02 2917.96 0 -2.02 0.13 -2.02 0 -2.15 0.14 -1.12 0.11 -1 0.13 -1.13 0 3.52 
+-0.13 3.64 -0.11 0.76 -0.26 1.52 S
+2217.62 3456.51 -0.13 -0.39 -0.13 -0.24 -0.36 -0.13 -0.26 0 0.52 0.37 S
+2217.25 3456.12 0.37 0.39 S
+2214.73 3454.1 -1.39 -0.63 -1.52 -0.63 -1.26 -0.74 -1.13 -0.76 0.63 -0.13 0.63 0 1.39 0.89 
+1.49 0.74 0.52 0.63 0.63 0.63 S
+2196.22 3444.04 -3.51 -1.52 -2.13 -1.5 -2.28 -1.39 3.02 1.25 3.04 1.39 0.87 0.87 1 0.89 S
+2182.9 3436.35 -4.04 -2.78 S
+2176.48 3432.31 -1.62 -0.87 -1.52 -0.89 -1 -0.26 -0.89 -0.36 -0.86 -0.76 -0.89 -0.76 -1.26 -1.26 
+2.29 1.26 2.25 1.26 0.63 0.63 0.63 0.52 1.13 0.74 1.13 0.76 S
+2164.15 3425.39 -1.26 -0.39 -1.26 -0.37 0.13 0.37 0.26 0.39 -2.39 -1.13 -2.41 -1.15 -0.74 -0.11 
+-0.89 -0.26 -1.76 -1.26 S
+2153.84 3421.48 -1.88 -1.13 0.25 -0.13 0.11 -0.26 -0.5 -0.63 -0.37 -0.62 -1.13 -1 -1.15 -0.89 
+-0.11 -0.5 -0.13 -0.5 1.5 0.99 1.65 1.02 1.37 0.74 1.39 0.75 1.52 1.02 1.5 1 
+1.65 1.02 1.5 1 1.52 1 1.63 1.02 S
+2378.38 3648.39 11.87 0 -0.3 -3.64 -0.97 -3.78 -0.76 -1.89 -0.95 -1.87 -1.15 -1.78 -1.39 -1.69 
+-1.61 -1.61 -1.82 -1.46 -2.11 -1.3 -2.34 -1.13 -2.61 -0.91 -2.88 -0.67 -3.17 -0.43 -3.47 -0.16 
+-3.64 0.2 -3.32 0.59 -3.02 0.89 -2.74 1.24 -2.43 1.49 -2.15 1.76 -1.91 2 -1.64 2.17 
+-1.39 2.34 -1.2 2.47 -0.96 2.58 -0.78 2.67 -0.96 5.45 -0.3 5.4 0.17 4.26 0.5 3.91 
+0.78 3.54 1.09 3.19 1.3 2.87 1.54 2.54 1.72 2.23 1.91 1.93 2.04 1.67 2.15 1.39 
+2.23 1.15 2.3 0.89 2.34 0.7 2.34 0.45 4.6 0.37 3.6 -0.19 3.87 -0.65 3.91 -1.24 
+1.91 -0.89 1.85 -1.06 1.75 -1.26 1.65 -1.5 1.52 -1.71 1.34 -1.98 1.17 -2.23 0.93 -2.5 
+0.71 -2.8 0.46 -3.11 -11.59 0 -0.71 2.72 -1.02 2.25 -1.28 1.82 -1.54 1.43 -1.76 1.06 
+-1.98 0.74 -2.16 0.39 -2.32 0.13 -2.87 -0.28 -2.75 -0.87 -2.56 -1.5 -2.3 -2.17 -1.02 -1.35 
+-0.93 -1.52 -0.8 -1.71 -0.7 -1.89 -0.98 -4.36 -0.39 -5.16 0.2 -3.93 0.58 -3.75 1.05 -3.5 
+1.54 -3.13 0.98 -1.37 1.11 -1.25 1.24 -1.09 1.41 -0.91 1.54 -0.73 1.74 -0.57 1.86 -0.33 
+2.06 -0.12 2.47 0.21 2.28 0.5 2.06 0.84 1.8 1.24 1.55 1.63 1.21 2.06 0.89 2.54 
+0.52 3.02 f*
+2437.35 3648.39 11.86 0 -0.3 -3.64 -0.96 -3.78 -0.76 -1.89 -0.95 -1.87 -1.17 -1.78 -1.39 -1.69 
+-1.58 -1.61 -1.85 -1.46 -2.08 -1.3 -2.34 -1.13 -2.62 -0.91 -2.89 -0.67 -3.17 -0.43 -3.47 -0.16 
+-3.65 0.2 -3.32 0.59 -3.02 0.89 -2.73 1.24 -2.43 1.49 -2.15 1.76 -1.91 2 -1.65 2.17 
+-1.39 2.34 -1.2 2.47 -0.95 2.58 -0.79 2.67 -0.95 5.45 -0.3 5.4 0.17 4.26 0.5 3.91 
+0.78 3.54 1.09 3.19 1.3 2.87 1.55 2.54 1.73 2.23 1.89 1.93 2.04 1.67 2.15 1.39 
+2.23 1.15 2.3 0.89 2.34 0.7 2.34 0.45 4.63 0.37 3.58 -0.19 3.86 -0.65 3.91 -1.24 
+1.91 -0.89 1.85 -1.06 1.75 -1.26 1.65 -1.5 1.52 -1.71 1.34 -1.98 1.17 -2.23 0.93 -2.5 
+0.72 -2.8 0.45 -3.11 -11.59 0 -0.72 2.72 -1.02 2.25 -1.28 1.82 -1.54 1.43 -1.75 1.06 
+-1.98 0.74 -2.16 0.39 -2.32 0.13 -2.87 -0.28 -2.75 -0.87 -2.56 -1.5 -2.3 -2.17 -1.02 -1.35 
+-0.91 -1.52 -0.83 -1.71 -0.7 -1.89 -0.98 -4.36 -0.39 -5.16 0.2 -3.93 0.59 -3.75 1.04 -3.5 
+1.54 -3.13 0.98 -1.37 1.11 -1.25 1.24 -1.09 1.41 -0.91 1.56 -0.73 1.72 -0.57 1.89 -0.33 
+2.04 -0.12 2.47 0.21 2.28 0.5 2.06 0.84 1.8 1.24 1.54 1.63 1.21 2.06 0.89 2.54 
+0.52 3.02 f*
+2502.11 3669.38 -11.74 0 -0.42 2.43 -0.91 1.99 -1.28 1.59 -1.61 1.19 -1.84 0.87 -2.02 0.59 
+-2.12 0.3 -2.13 0.11 -1.89 -0.12 -1.84 -0.35 -1.71 -0.56 -1.56 -0.8 -1.32 -1.02 -1.02 -1.21 
+-0.65 -1.43 -0.24 -1.62 0.24 -1.87 0.69 -1.52 1.17 -1.21 1.65 -0.98 2.13 -0.82 2.64 -0.71 
+6.77 -1.37 4.3 -0.74 3.97 -0.96 3.54 -1.24 3.04 -1.65 1.32 -1.02 1.17 -1.12 1.02 -1.31 
+0.84 -1.43 0.7 -1.62 0.48 -1.8 0.3 -2 0.11 -2.21 -0.08 -2.17 -0.29 -2.08 -0.45 -1.98 
+-0.65 -1.87 -0.83 -1.73 -1.04 -1.61 -1.24 -1.5 -1.41 -1.34 -1.63 -1.22 -1.82 -1.06 -2.04 -0.91 
+-2.24 -0.76 -2.45 -0.61 -2.66 -0.43 -2.87 -0.26 -3.11 -0.11 -3.05 0.13 -2.8 0.32 -2.61 0.54 
+-2.34 0.72 -2.15 0.91 -1.93 1.06 -1.74 1.19 -1.54 1.35 -1.32 1.43 -1.17 1.56 -0.96 1.63 
+-0.82 1.71 -1.11 3.56 -0.52 3.67 11.89 0 0.39 -2.22 0.74 -1.97 1.11 -1.71 1.45 -1.43 
+1.84 -1.13 2.26 -0.82 2.65 -0.5 3.09 -0.17 2.25 0.11 2.15 0.35 1.97 0.61 1.76 0.85 
+1.48 1.13 1.13 1.41 0.74 1.71 0.24 2.02 -0.24 2.16 -0.79 1.74 -1.28 1.41 -1.84 1.15 
+-2.41 0.93 -2.95 0.82 -7.73 1.58 -5.01 0.98 -4.12 1.32 -3.28 1.67 -2.52 1.97 -1.82 2.26 
+-1.21 2.52 -0.67 2.71 -0.22 2.93 0.11 2.13 0.35 2.02 0.52 1.88 0.73 1.74 0.91 1.61 
+1.11 1.48 1.28 1.34 1.41 1.21 1.59 1.07 1.71 0.93 3.82 1.43 4.26 0.87 4.64 0.29 
+4.1 -0.2 4.06 -0.66 3.88 -1.21 1.82 -0.8 1.72 -1 1.63 -1.17 1.45 -1.34 1.33 -1.54 
+1.15 -1.74 0.95 -1.95 0.74 -2.19 0.52 -2.41 0.26 -2.67 f*
+2512.35 3687.52 18.27 0 10.55 -47.16 10.55 47.16 18.55 0 0 -59.48 -11.57 0 0 50.41 
+-11.43 -50.41 -12.2 0 -11.57 50.41 0 -50.41 -11.15 0 0 59.48 f*
+2597.89 3686.02 13.09 0 0 -35.55 -11.29 0 0 24.39 -15.02 -24.39 32.53 0 0 -9.81 
+-6.23 0 0 -12.63 -11.29 0 ^ -23.33 0 0 9.68 21.53 35.68 f*
+Q q
+274.133 653.578 1296.25 1297.98 re
+Y*
+255 G
+274.39 1280.23 0 -32.46 2.78 -26.59 3.99 -27.12 5.17 -27.12 6.38 -27.13 5.9 -21.34 1.73 -5.82 
+8.92 -27.11 10.25 -27.1 5.64 -13.52 6.06 -13.63 13.17 -27.11 7.32 -13.78 7.48 -13.37 8.27 -13.56 
+8.25 -13.54 2.54 -3.91 7.96 -11.61 7.94 -11.63 10.61 -14.37 9.96 -12.76 16.58 -19.92 6.36 -7.23 
+20.18 -21.57 5.49 -5.55 10.53 -10.02 10.53 -10.05 7.83 -7.04 9.35 -7.96 9.36 -7.95 7.05 -5.6 
+7.06 -5.62 12.43 -9.38 12.69 -8.88 12.68 -8.87 1.19 -0.78 13.24 -8.29 13.26 -8.34 16.97 -9.72 
+9.59 -5.21 13.26 -6.68 13.26 -6.66 9.39 -4.29 9.39 -4.28 7.77 -3.32 26.52 -10.5 13.26 -4.58 
+13.29 -4.61 13.3 -4.12 13.24 -3.79 13.26 -3.37 13.28 -3.36 13.26 -2.75 13.26 -2.78 13.28 -2.2 
+13.26 -2.21 13.29 -1.63 13.25 -1.65 8.14 -0.65 4.97 -0.41 30.77 0 -0.15 0 -11.31 0.5 
+-11.28 0.7 -11.29 0.89 -11.26 1.09 -11.25 1.28 -11.21 1.48 -11.18 1.67 -11.18 1.87 -11.11 2.09 
+-11.09 2.25 -11.04 2.45 -11 2.63 -10.96 2.84 -10.89 3.04 -10.85 3.21 -10.79 3.41 -10.74 3.6 
+-10.66 3.78 -10.61 3.97 -10.53 4.14 -10.44 4.34 -10.37 4.52 -10.31 4.68 -10.2 4.89 -10.13 5.05 
+-10.02 5.23 -9.94 5.4 -9.86 5.57 -9.74 5.75 -9.66 5.92 -9.55 6.1 -9.42 6.25 -9.33 6.4 
+-9.2 6.6 -9.09 6.72 -8.98 6.91 -8.86 7.05 -8.75 7.21 -8.59 7.36 -8.46 7.51 -8.36 7.66 
+-8.21 7.79 -8.07 7.95 -7.92 8.07 -7.79 8.22 -7.64 8.36 -7.51 8.49 -7.33 8.61 -7.21 8.73 
+-7.03 8.87 -6.9 8.99 -6.73 9.11 -6.57 9.22 -6.4 9.33 -6.25 9.44 -6.08 9.57 -5.9 9.66 
+-5.75 9.77 -5.58 9.85 -5.38 9.96 -5.23 10.05 -5.05 10.13 -4.86 10.22 -4.69 10.31 -4.51 10.39 
+-4.34 10.46 -4.14 10.55 -3.95 10.61 -3.77 10.68 -3.61 10.74 -3.41 10.81 -3.21 10.87 -3.02 10.92 
+-2.84 10.95 -2.63 11.03 -2.45 11.05 -2.25 11.11 -2.06 11.13 -1.87 11.18 -1.67 11.21 -1.48 11.22 
+-1.28 11.26 -1.09 11.28 -0.89 11.29 -0.69 11.31 -0.5 11.33 0 0.3 f*
+274.39 1290.15 0 -10.22 0.5 -11.33 0.69 -11.31 0.89 -11.29 1.09 -11.28 1.28 -11.26 1.48 -11.22 
+1.67 -11.21 1.87 -11.18 2.06 -11.13 2.25 -11.11 2.45 -11.05 2.63 -11.03 2.84 -10.95 3.02 -10.92 
+3.21 -10.87 3.41 -10.81 3.61 -10.74 3.77 -10.68 3.95 -10.61 4.14 -10.55 4.34 -10.46 4.51 -10.39 
+4.69 -10.31 4.86 -10.22 5.05 -10.13 5.23 -10.05 5.38 -9.96 5.58 -9.85 5.75 -9.77 5.9 -9.66 
+6.08 -9.57 6.25 -9.44 6.4 -9.33 6.57 -9.22 6.73 -9.11 6.9 -8.99 7.03 -8.87 7.21 -8.73 
+7.33 -8.61 7.51 -8.49 7.64 -8.36 7.79 -8.22 7.92 -8.07 8.07 -7.95 8.21 -7.79 8.36 -7.66 
+8.46 -7.51 8.59 -7.36 8.75 -7.21 8.86 -7.05 8.98 -6.91 9.09 -6.72 9.2 -6.6 9.33 -6.4 
+9.42 -6.25 9.55 -6.1 9.66 -5.92 9.74 -5.75 9.86 -5.57 9.94 -5.4 10.02 -5.23 10.13 -5.05 
+10.2 -4.89 10.31 -4.68 10.37 -4.52 10.44 -4.34 10.53 -4.14 10.61 -3.97 10.66 -3.78 10.74 -3.6 
+10.79 -3.41 10.85 -3.21 10.89 -3.04 10.96 -2.84 11 -2.63 11.04 -2.45 11.09 -2.25 11.11 -2.09 
+11.18 -1.87 11.18 -1.67 11.21 -1.48 11.25 -1.28 11.26 -1.09 11.29 -0.89 11.28 -0.7 11.31 -0.5 
+10.05 0 -10.05 0.26 -11.29 0.5 -11.28 0.69 -11.29 0.89 -11.27 1.09 -11.24 1.28 -11.2 1.48 
+-11.19 1.67 -11.16 1.87 -11.11 2.06 -11.09 2.26 -11.05 2.45 -10.98 2.65 -10.96 2.84 -10.89 3.02 
+-10.85 3.21 -10.79 3.41 -10.72 3.6 -10.66 3.78 -10.59 3.97 -10.53 4.14 -10.43 4.34 -10.38 4.52 
+-10.3 4.68 -10.2 4.88 -10.11 5.05 -10.05 5.23 -9.94 5.4 -9.83 5.58 -9.74 5.75 -9.66 5.9 
+-9.53 6.08 -9.44 6.27 -9.31 6.4 -9.2 6.58 -9.09 6.75 -8.98 6.88 -8.85 7.05 -8.73 7.21 
+-8.59 7.36 -8.46 7.51 -8.36 7.64 -8.21 7.79 -8.05 7.95 -7.94 8.07 -7.77 8.23 -7.64 8.35 
+-7.5 8.49 -7.34 8.59 -7.21 8.74 -7.03 8.86 -6.88 8.98 -6.72 9.11 -6.58 9.23 -6.4 9.33 
+-6.25 9.45 -6.08 9.54 -5.91 9.66 -5.75 9.76 -5.55 9.86 -5.4 9.94 -5.21 10.05 -5.05 10.13 
+-4.86 10.22 -4.69 10.3 -4.51 10.39 -4.35 10.46 -4.14 10.52 -3.95 10.62 -3.77 10.68 -3.61 10.74 
+-3.38 10.8 -3.21 10.86 -3.04 10.91 -2.82 10.96 -2.65 11.02 -2.43 11.05 -2.25 11.09 -2.06 11.14 
+-1.87 11.17 -1.67 11.2 -1.48 11.24 -1.28 11.25 -1.09 11.26 -0.89 11.31 -0.7 11.31 -0.49 11.31 
+-0.26 10.22 f*
+274.39 1315 0 -24.85 0.26 -10.22 0.49 -11.31 0.7 -11.31 0.89 -11.31 1.09 -11.26 1.28 -11.25 
+1.48 -11.24 1.67 -11.2 1.87 -11.17 2.06 -11.14 2.25 -11.09 2.43 -11.05 2.65 -11.02 2.82 -10.96 
+3.04 -10.91 3.21 -10.86 3.38 -10.8 3.61 -10.74 3.77 -10.68 3.95 -10.62 4.14 -10.52 4.35 -10.46 
+4.51 -10.39 4.69 -10.3 4.86 -10.22 5.05 -10.13 5.21 -10.05 5.4 -9.94 5.55 -9.86 5.75 -9.76 
+5.91 -9.66 6.08 -9.54 6.25 -9.45 6.4 -9.33 6.58 -9.23 6.72 -9.11 6.88 -8.98 7.03 -8.86 
+7.21 -8.74 7.34 -8.59 7.5 -8.49 7.64 -8.35 7.77 -8.23 7.94 -8.07 8.05 -7.95 8.21 -7.79 
+8.36 -7.64 8.46 -7.51 8.59 -7.36 8.73 -7.21 8.85 -7.05 8.98 -6.87 9.09 -6.75 9.2 -6.58 
+9.31 -6.4 9.44 -6.27 9.53 -6.08 9.66 -5.9 9.74 -5.75 9.83 -5.58 9.94 -5.4 10.05 -5.23 
+10.11 -5.05 10.2 -4.88 10.3 -4.68 10.38 -4.52 10.43 -4.34 10.53 -4.14 10.59 -3.97 10.66 -3.78 
+10.72 -3.6 10.79 -3.41 10.85 -3.21 10.89 -3.02 10.96 -2.84 10.98 -2.65 11.05 -2.45 11.09 -2.26 
+11.11 -2.06 11.16 -1.87 11.19 -1.67 11.2 -1.48 11.24 -1.28 11.27 -1.09 11.29 -0.89 11.28 -0.69 
+11.29 -0.5 10.05 -0.26 25.15 0 10.05 0.26 11.28 0.5 11.29 0.69 11.29 0.89 11.26 1.09 
+11.22 1.28 11.22 1.48 11.18 1.67 11.16 1.87 11.13 2.06 11.09 2.26 11.02 2.45 11 2.65 
+10.96 2.84 10.89 3.02 10.85 3.21 10.77 3.41 10.74 3.6 10.66 3.78 10.59 3.97 10.52 4.14 
+10.44 4.34 10.37 4.52 10.31 4.68 10.2 4.88 10.11 5.05 10.05 5.23 9.94 5.4 9.83 5.58 
+9.74 5.75 9.66 5.9 9.53 6.08 9.44 6.27 9.31 6.4 9.2 6.58 9.09 6.75 8.98 6.88 
+8.86 7.05 8.72 7.21 8.59 7.36 8.47 7.51 8.36 7.64 8.2 7.79 8.05 7.95 7.95 8.07 
+7.77 8.23 7.64 8.35 7.5 8.49 7.34 8.59 7.2 8.74 7.04 8.86 6.88 8.98 6.73 9.11 
+6.58 9.23 6.4 9.33 6.25 9.45 6.08 9.54 5.9 9.66 5.73 9.76 5.58 9.86 5.4 9.94 
+5.21 10.05 5.06 10.13 4.86 10.22 4.69 10.3 4.51 10.39 4.34 10.46 4.14 10.52 3.95 10.62 
+3.78 10.68 3.61 10.74 3.39 10.8 3.21 10.86 3.04 10.91 2.82 10.96 2.64 11.02 2.43 11.05 
+2.25 11.09 2.06 11.14 1.87 11.17 1.67 11.2 1.47 11.24 1.28 11.25 1.09 11.26 0.89 11.31 
+0.7 11.31 0.5 11.31 0.26 10.2 0 24.89 -0.26 10.2 -0.5 11.31 -0.7 11.3 -0.89 11.29 
+-1.09 11.28 -1.28 11.24 -1.47 11.24 -1.67 11.2 -1.87 11.16 -2.06 11.16 -2.25 11.09 -2.43 11.05 
+-2.64 11.03 -2.82 10.95 -3.04 10.92 -3.21 10.85 -3.39 10.81 -3.61 10.74 -3.78 10.68 -3.95 10.61 
+-4.14 10.53 -4.34 10.46 -4.51 10.39 -4.69 10.3 -4.86 10.22 -5.06 10.13 -5.21 10.05 -5.4 9.94 
+-5.58 9.85 -5.73 9.77 -5.9 9.66 -6.08 9.55 -6.25 9.44 -6.4 9.33 -6.58 9.22 -6.73 9.12 
+-6.87 8.98 -7.04 8.86 -7.2 8.74 -7.34 8.59 -7.5 8.48 -7.64 8.36 -7.77 8.23 -7.95 8.07 
+-8.05 7.92 -8.2 7.81 -3.47 3.16 2.43 -2.54 1.87 -1.62 11.33 -11.74 11.33 -11.72 11.33 -11.74 
+11.33 -11.72 3.91 -5.08 5.14 -5.41 26.3 -35.03 13.15 -17.49 -12.13 15.75 -12.11 15.73 -12.13 15.76 
+-8.23 10.68 P
+-6.66 6.99 -35.42 37.17 -9.01 9.46 -9 7.9 -2.54 2.21 -2.25 1.87 -22.01 18.1 -6.12 5.04 
+-0.87 0.63 -12.09 8.79 -12.07 8.79 -9.8 7.14 -6.08 3.93 -12.5 8.12 -12.5 8.09 -6.05 3.93 
+-1.23 0.74 -9.14 5.46 -7.81 4.04 -11.76 6.05 -23.48 12.11 13.39 -6.81 13.39 -6.84 13.41 -6.83 
+2.87 -1.72 3.75 -1.95 -6.23 3.53 -9.94 5.41 -10.05 5.23 -10.11 5.06 -10.2 4.88 -10.31 4.69 
+-10.37 4.52 -10.44 4.34 -10.52 4.14 -10.59 3.97 -10.66 3.78 -10.74 3.6 -10.77 3.41 -10.85 3.21 
+-10.89 3.02 -10.96 2.84 -11 2.65 -11.02 2.45 -11.09 2.25 -11.13 2.06 -11.16 1.87 -11.18 1.67 
+-11.22 1.48 -11.22 1.28 -11.26 1.09 -11.29 0.89 -11.29 0.69 -11.28 0.5 -10.05 0.26 -25.15 0 
+-0.61 -0.02 0 -1.91 26.37 0 13.2 -0.54 13.17 -0.54 13.2 -1.09 13.17 -1.08 13.2 -1.63 
+13.17 -1.63 13.2 -2.17 3.15 -0.52 10.05 -1.67 13.17 -2.75 13.19 -2.76 13.17 -3.34 13.2 -3.32 
+13.16 -3.77 13.2 -4.11 13.2 -4.55 13.19 -4.58 6.31 -2.5 6.88 -2.71 13.2 -5.23 7.66 -3.28 
+9.33 -4.25 9.36 -4.25 26.39 -13.29 9.5 -5.16 16.84 -9.68 13.2 -8.27 13.21 -8.27 1.08 -0.74 
+25.26 -17.66 12.35 -9.29 14.02 -11.15 9.29 -7.9 9.31 -7.92 7.74 -6.97 10.48 -9.98 10.48 -10.01 
+5.42 -5.46 1.15 -1.24 8.9 -9.51 10.05 -10.74 6.27 -7.14 8.25 -9.92 8.24 -9.89 9.88 -12.67 
+10.55 -14.28 15.84 -23.13 2.48 -3.8 1.37 -2.28 6.62 -10.83 0.24 -0.39 5.86 -9.61 2.37 -3.88 
+7.44 -13.26 7.25 -13.67 13.11 -26.98 6.01 -13.54 5.58 -13.39 10.2 -26.98 8.88 -26.97 1.71 -5.71 
+5.86 -21.23 6.34 -26.95 5.14 -26.96 3.95 -26.95 2.82 -26.96 1.69 -26.95 0.57 -26.95 -0.57 -26.98 
+-1.69 -26.95 -2.82 -26.96 -3.95 -26.95 -5.14 -26.96 -6.34 -26.95 -5.86 -21.23 -1.71 -5.71 -8.87 -26.98 
+-10.2 -26.97 -5.58 -13.39 -6.01 -13.54 -13.11 -26.97 -7.25 -13.67 -7.44 -13.26 -16.45 -26.99 -2.48 -3.8 
+-15.84 -23.13 -10.55 -14.28 -9.87 -12.67 -8.24 -9.9 -8.25 -9.91 -6.27 -7.14 -10.07 -10.75 -10.03 -10.74 
+-5.42 -5.47 -10.48 -10 -10.48 -9.98 -7.74 -6.97 -9.31 -7.92 -9.29 -7.9 -14.02 -11.16 -12.35 -9.29 
+-25.26 -17.66 -1.08 -0.74 -13.21 -8.27 -13.2 -8.27 -16.84 -9.68 -9.5 -5.16 -26.39 -13.29 -9.36 -4.25 
+-9.33 -4.25 -7.66 -3.28 -26.39 -10.46 -26.39 -9.12 -13.2 -4.1 -13.16 -3.77 -13.2 -3.32 -13.17 -3.34 
+-13.19 -2.76 -13.17 -2.75 -13.2 -2.19 -13.2 -2.17 -13.17 -1.63 -13.2 -1.63 -13.17 -1.08 -13.2 -1.09 
+-13.2 -0.54 -13.17 -0.54 -26.37 0 -13.19 0.54 -13.17 0.54 -13.2 1.09 -13.17 1.08 -13.2 1.63 
+-13.17 1.63 -13.2 2.17 -13.2 2.19 -13.18 2.75 -13.2 2.76 -13.2 3.34 -13.17 3.32 -13.13 3.77 
+-13.21 4.1 -26.39 9.12 -26.39 10.46 -7.66 3.28 -9.35 4.25 -9.33 4.25 -26.39 13.29 -9.5 5.16 
+-16.84 9.68 -13.2 8.27 -13.21 8.27 -1.09 0.74 -25.26 17.66 -12.35 9.29 -14.02 11.16 -9.29 7.9 
+-9.31 7.92 -7.75 6.97 -10.5 9.98 -10.46 10 -5.43 5.47 -20.1 21.48 -6.27 7.14 -8.25 9.91 
+-8.24 9.9 -9.88 12.67 -10.55 14.28 -15.84 23.13 -2.47 3.8 -16.45 26.99 -7.45 13.26 -7.25 13.67 
+-13.11 26.97 -6.01 13.54 -5.58 13.39 -10.2 26.97 -8.87 26.98 -1.71 5.71 -5.86 21.23 -6.33 26.95 
+-5.12 26.96 p
+-3.97 26.95 -2.82 26.96 -1.7 26.95 -0.56 26.98 0.56 26.95 1.7 26.95 2.82 26.96 3.97 26.95 
+5.12 26.96 6.33 26.95 5.86 21.23 1.71 5.73 8.87 26.95 10.2 26.98 5.58 13.39 6.01 13.54 
+13.11 26.98 7.27 13.67 7.42 13.26 16.45 26.99 2.47 3.8 15.84 23.13 10.55 14.28 9.88 12.67 
+8.24 9.89 8.25 9.92 6.27 7.14 20.1 21.48 5.43 5.46 10.48 10.01 10.48 9.98 6.43 5.77 
+1.32 1.2 9.31 7.92 9.29 7.9 14.02 11.15 12.35 9.29 25.26 17.66 1.09 0.74 13.21 8.27 
+13.2 8.27 16.84 9.68 2.56 1.39 6.95 3.78 26.39 13.29 9.33 4.25 9.35 4.25 7.66 3.28 
+13.2 5.23 13.19 5.21 13.2 4.58 13.2 4.55 13.21 4.11 13.13 3.77 13.2 3.35 13.17 3.32 
+13.2 2.76 13.18 2.75 13.2 2.19 13.2 2.17 2.38 0.31 10.79 1.32 13.2 1.63 13.17 1.08 
+13.2 1.09 13.17 0.54 13.19 0.54 0 1.91 -9.44 -0.23 -11.29 -0.5 -11.28 -0.69 -11.29 -0.89 
+-11.27 -1.09 -11.24 -1.28 -11.2 -1.48 -11.19 -1.67 -11.16 -1.87 -11.11 -2.06 -11.09 -2.25 -11.05 -2.45 
+-10.98 -2.65 -10.96 -2.84 -10.89 -3.02 -10.85 -3.21 -10.79 -3.41 -10.72 -3.6 -10.66 -3.78 -10.59 -3.97 
+-10.53 -4.14 -10.43 -4.34 -10.38 -4.52 -10.3 -4.69 -10.2 -4.88 -10.11 -5.06 -10.05 -5.23 -9.94 -5.41 
+-9.83 -5.55 -9.74 -5.75 -9.66 -5.92 -9.53 -6.1 -9.44 -6.25 -9.31 -6.4 -9.2 -6.58 -9.09 -6.75 
+-8.98 -6.87 -8.85 -7.06 -8.73 -7.2 -8.59 -7.36 -8.46 -7.51 -8.36 -7.64 -8.21 -7.81 -8.05 -7.92 
+-7.94 -8.07 -7.77 -8.23 -7.64 -8.36 -7.5 -8.48 -7.34 -8.59 -7.21 -8.74 -7.03 -8.86 -6.88 -8.98 
+-6.72 -9.12 -6.58 -9.22 -6.4 -9.33 -6.25 -9.44 -6.08 -9.55 -5.91 -9.66 -5.75 -9.77 -5.55 -9.85 
+-5.4 -9.94 -5.21 -10.05 -5.05 -10.13 -4.86 -10.22 -4.69 -10.3 -4.51 -10.39 -4.35 -10.46 -4.14 -10.53 
+-3.95 -10.61 -3.77 -10.68 -3.61 -10.74 -3.38 -10.81 -3.21 -10.85 -3.04 -10.92 -2.82 -10.95 -2.65 -11.03 
+-2.43 -11.05 -2.25 -11.09 -2.06 -11.16 -1.87 -11.16 -1.67 -11.2 -1.48 -11.24 -1.28 -11.24 -1.09 -11.28 
+-0.89 -11.29 -0.7 -11.3 -0.49 -11.31 -0.26 -10.22 p f*
+274.39 1324.91 0 -9.91 0.26 10.22 0.49 11.31 0.7 11.3 0.89 11.29 1.09 11.28 1.28 11.24 
+1.48 11.24 1.67 11.2 1.87 11.16 2.06 11.16 2.25 11.09 2.43 11.05 2.65 11.03 2.82 10.95 
+3.04 10.92 3.21 10.85 3.38 10.81 3.61 10.74 3.77 10.68 3.95 10.61 4.14 10.53 4.35 10.46 
+4.51 10.39 4.69 10.3 4.86 10.22 5.05 10.13 5.21 10.05 5.4 9.94 5.55 9.85 5.75 9.77 
+5.91 9.66 6.08 9.55 6.25 9.44 6.4 9.33 6.58 9.22 6.72 9.12 6.88 8.98 7.03 8.86 
+7.21 8.74 7.34 8.59 7.5 8.48 7.64 8.36 7.77 8.23 7.94 8.07 8.05 7.92 8.21 7.81 
+8.36 7.64 8.46 7.51 8.59 7.36 8.73 7.2 8.85 7.06 8.98 6.88 9.09 6.75 9.2 6.58 
+9.31 6.4 9.44 6.25 9.53 6.1 9.66 5.92 9.74 5.75 9.83 5.55 9.94 5.41 10.05 5.23 
+10.11 5.06 10.2 4.88 10.3 4.69 10.38 4.52 10.43 4.34 10.53 4.14 10.59 3.97 10.66 3.78 
+10.72 3.6 10.79 3.41 10.85 3.21 10.89 3.02 10.96 2.84 10.98 2.65 11.05 2.45 11.09 2.25 
+11.11 2.06 11.16 1.87 11.19 1.67 11.2 1.48 11.24 1.28 11.27 1.09 11.29 0.89 11.28 0.69 
+11.29 0.5 9.44 0.23 0.61 0.02 -10.05 0 -11.31 -0.5 -11.28 -0.7 -11.29 -0.89 -11.26 -1.08 
+-11.25 -1.28 -11.21 -1.48 -11.18 -1.67 -11.18 -1.87 -11.11 -2.06 -11.09 -2.25 -11.04 -2.46 -11 -2.64 
+-10.96 -2.84 -10.89 -3.02 -10.85 -3.23 -10.79 -3.41 -10.74 -3.58 -10.66 -3.8 -10.61 -3.95 -10.53 -4.16 
+-10.44 -4.34 -10.37 -4.52 -10.31 -4.69 -10.2 -4.88 -10.13 -5.05 -10.02 -5.23 -9.94 -5.4 -9.86 -5.58 
+-9.74 -5.75 -9.66 -5.92 -9.55 -6.08 -9.42 -6.27 -9.33 -6.4 -9.2 -6.58 -9.09 -6.75 -8.98 -6.9 
+-8.86 -7.05 -8.75 -7.21 -8.59 -7.36 -8.46 -7.51 -8.36 -7.64 -8.21 -7.81 -8.07 -7.95 -7.92 -8.07 
+-7.79 -8.23 -7.64 -8.35 -7.51 -8.49 -7.33 -8.62 -7.21 -8.75 -7.03 -8.86 -6.9 -8.98 -6.73 -9.11 
+-6.57 -9.23 -6.4 -9.33 -6.25 -9.44 -6.08 -9.57 -5.9 -9.66 -5.75 -9.77 -5.58 -9.86 -5.38 -9.96 
+-5.23 -10.05 -5.05 -10.13 -4.86 -10.22 -4.69 -10.31 -4.51 -10.39 -4.34 -10.46 -4.14 -10.55 -3.95 -10.61 
+-3.77 -10.68 -3.61 -10.74 -3.41 -10.81 -3.21 -10.87 -3.02 -10.92 -2.84 -10.96 -2.63 -11.02 -2.45 -11.05 
+-2.25 -11.11 -2.06 -11.13 -1.87 -11.18 -1.67 -11.21 -1.48 -11.22 -1.28 -11.26 -1.09 -11.27 -0.89 -11.3 
+-0.69 -11.31 -0.5 -11.33 0 -0.3 f*
+274.39 1357.38 0 -32.47 0 0.3 0.5 11.33 0.69 11.31 0.89 11.3 1.09 11.27 1.28 11.26 
+1.48 11.22 1.67 11.21 1.87 11.18 2.06 11.13 2.25 11.11 2.45 11.05 2.63 11.02 2.84 10.96 
+3.02 10.92 3.21 10.87 3.41 10.81 3.61 10.74 3.77 10.68 3.95 10.61 4.14 10.55 4.34 10.46 
+4.51 10.39 4.69 10.31 4.86 10.22 5.05 10.13 5.23 10.05 5.38 9.96 5.58 9.86 5.75 9.77 
+5.9 9.66 6.08 9.57 6.25 9.44 6.4 9.33 6.57 9.23 6.73 9.11 6.9 8.98 7.03 8.86 
+7.21 8.75 7.33 8.62 7.51 8.49 7.64 8.35 7.79 8.23 7.92 8.07 8.07 7.95 8.21 7.81 
+8.36 7.64 8.46 7.51 8.59 7.36 8.75 7.21 8.86 7.05 8.98 6.9 9.09 6.75 9.2 6.58 
+9.33 6.4 9.42 6.27 9.55 6.08 9.66 5.92 9.74 5.75 9.86 5.58 9.94 5.4 10.02 5.23 
+10.13 5.05 10.2 4.88 10.31 4.69 10.37 4.52 10.44 4.34 10.53 4.16 10.61 3.95 10.66 3.8 
+10.74 3.58 10.79 3.41 10.85 3.23 10.89 3.02 10.96 2.84 11 2.64 11.04 2.46 11.09 2.25 
+11.11 2.06 11.18 1.87 11.18 1.67 11.21 1.48 11.25 1.28 11.26 1.08 11.29 0.89 11.28 0.7 
+11.31 0.5 0.15 0 -30.8 0 -4.95 -0.39 -8.14 -0.67 -13.25 -1.65 -13.29 -1.63 -13.26 -2.21 
+-13.28 -2.2 -13.26 -2.78 -13.26 -2.75 -13.28 -3.36 -13.26 -3.37 -13.24 -3.79 -13.3 -4.13 -13.29 -4.6 
+-13.26 -4.58 -26.52 -10.51 -7.77 -3.32 -9.39 -4.28 -9.39 -4.29 -13.26 -6.66 -13.26 -6.69 -9.59 -5.2 
+-16.97 -9.72 -13.26 -8.31 -13.24 -8.33 -1.19 -0.76 -12.68 -8.88 -12.69 -8.87 -12.43 -9.38 -7.06 -5.6 
+-7.05 -5.62 -9.36 -7.95 -9.35 -7.97 -7.83 -7.03 -10.53 -10.05 -10.53 -10.02 -5.49 -5.55 -20.18 -21.57 
+-6.36 -7.23 -16.58 -19.92 -9.96 -12.76 -10.61 -14.37 -7.94 -11.63 -7.96 -11.61 -2.54 -3.91 -8.25 -13.54 
+-8.27 -13.56 -7.48 -13.37 -7.32 -13.78 -13.17 -27.11 -6.06 -13.63 -5.64 -13.52 -10.25 -27.11 -8.92 -27.12 
+-1.73 -5.8 -5.9 -21.33 -6.38 -27.13 -5.17 -27.12 -3.99 -27.13 -2.78 -26.58 f*
+276.75 1275.61 -0.56 26.98 0.56 26.95 1.7 26.95 2.82 26.96 3.97 26.95 5.12 26.96 6.33 26.95 
+5.86 21.23 1.71 5.73 8.87 26.95 10.2 26.98 5.58 13.39 6.01 13.54 13.11 26.98 7.27 13.67 
+7.42 13.26 16.45 26.99 2.47 3.8 15.84 23.13 10.55 14.28 9.88 12.67 8.24 9.89 8.25 9.92 
+6.27 7.14 20.1 21.48 5.43 5.46 10.48 10.01 10.48 9.98 6.43 5.77 0 -233.94 -5.04 -5.64 
+1.07 -5.8 4.93 5.64 -0.95 5.8 0 233.94 1.32 1.2 9.31 7.92 9.29 7.9 14.02 11.15 
+12.35 9.29 25.26 17.66 1.09 0.74 13.21 8.27 13.2 8.27 16.84 9.68 2.56 1.39 0 -58.44 
+-7.03 -2.26 -11.33 -8.99 7.12 2.52 11.24 8.72 0 58.44 6.95 3.78 26.39 13.29 9.33 4.25 
+9.35 4.25 7.66 3.28 13.2 5.23 13.19 5.21 13.2 4.58 13.2 4.55 13.21 4.11 13.13 3.77 
+13.2 3.35 13.17 3.32 13.2 2.76 13.18 2.75 13.2 2.19 13.2 2.17 2.38 0.31 0 -139.31 
+-5.96 -1.86 -0.98 -0.32 -4.91 -1.67 0.46 -0.33 2.48 -1.87 0.46 -0.34 -1.41 -0.48 -4.21 -1.52 
+-5.45 -2.11 -0.07 -0.02 0.02 0 3.66 -2.41 -5.25 -2.13 -5.16 -2.21 -5.04 -2.3 -3.73 -1.76 
+-1.24 -0.61 0.43 -0.21 3.87 -1.89 0.28 0.13 2.41 1.17 2.11 0.97 1.24 -0.67 2.84 -1.58 
+2.59 -1.5 1.45 -0.85 -2.89 -1.32 -1.63 -0.76 -4.41 -2.16 -1.06 -0.55 -3.23 -1.7 -0.98 -0.52 
+-2.43 -1.33 -0.8 -0.45 0.52 -0.22 1.5 -0.67 1.52 -0.67 1.02 -0.46 -3.99 -2.25 -3.89 -2.34 
+-0.84 -0.52 -2.95 -1.87 -3.69 -2.45 -0.41 0.13 -0.24 0.09 -0.79 0.24 -0.8 0.26 -0.8 0.24 
+-0.8 0.25 -0.78 0.24 -0.45 0.16 -0.96 -0.67 -1.72 -1.22 -1.02 -0.74 -0.57 -0.39 -1.39 -1.02 
+-1.37 -1.02 -0.31 -0.22 -3.47 -2.71 -0.26 -0.2 -3.12 -2.56 -1.21 0.24 -1.54 0.3 -1.52 0.28 
+-1.25 0.24 -1.02 -0.89 -1.28 -1.09 -1.07 -0.93 -0.78 0.11 -1.87 0.3 -1.87 0.26 -0.93 0.16 
+-0.2 0.02 -0.91 -0.82 -2.41 -2.25 -0.71 -0.65 -1.61 -1.57 -0.89 -0.89 -1.17 0.13 -2.04 0.17 
+-2.06 0.2 -0.59 0.04 -0.45 -0.48 -1.61 -1.65 -1.08 -1.13 -1.85 0.09 -2.69 0.15 -1.41 0.07 
+-1.22 -1.33 -1.87 -2.09 -3.32 0.07 -2.73 0.02 -1.78 -2.11 -1.21 -1.45 -2.45 -0.04 -3.69 -0.09 
+-6.14 -0.24 -2.97 -3.82 -1.3 -1.75 -1.52 -2.09 -3.3 -0.3 -2.95 -0.28 -6.27 -0.71 -6.29 -0.81 
+-2.78 -4.21 -1.65 -2.66 -0.95 -1.56 -2.15 -0.37 -4.21 -0.78 -2.45 -4.35 -6.38 -1.41 -6.4 -1.49 
+-6.4 -1.65 -2.3 -4.66 -6.4 -1.87 -6.4 -2 -6.41 -2.13 -6.4 -2.23 -6.4 -2.39 -6.41 -2.49 
+-6.38 -2.63 -6.38 -2.76 -6.36 -2.9 -1.97 -5.62 -6.32 -3.12 -1.74 -5.66 -6.27 -3.36 -6.23 -3.5 
+-1.43 -5.81 -6.16 -3.71 -1.2 -5.82 -6.07 -3.93 -0.91 -5.84 -5.97 -4.14 -5.94 -4.28 -0.59 -5.9 
+-5.84 -4.47 -5.77 -4.58 -0.26 -5.95 -5.64 -4.78 0 -5.9 -5.51 -4.97 -5.46 -5.07 0.36 -5.9 
+-5.32 -5.25 0.61 -5.84 5.26 5.3 0.71 -5.71 0.89 -5.62 -5.08 -5.34 -5.02 -5.45 1.24 -5.58 
+-4.86 -5.58 1.46 -5.49 -4.69 -5.71 -4.62 -5.79 1.78 -5.41 -4.45 -5.92 -4.36 -6.01 -4.27 -6.12 
+2.19 -5.3 -4.1 -6.2 2.39 -5.19 2.52 -5.1 -3.84 -6.27 -3.75 -6.36 2.8 -4.95 2.93 -4.86 
+3.06 -4.77 P
+-3.43 -6.38 3.23 -4.64 3.37 -4.55 3.47 -4.45 3.56 -4.38 -3.06 -6.33 3.73 -4.28 -2.91 -6.38 
+3.9 -4.14 4 -4.06 4.1 -3.97 -2.64 -6.36 -2.52 -6.41 4.27 -3.84 -2.38 -6.4 -2.29 -6.47 
+4.47 -3.69 4.58 -3.63 -2.11 -6.42 -1.99 -6.47 4.73 -3.47 4.82 -3.39 4.91 -3.32 4.95 -3.25 
+-1.71 -6.36 5.05 -3.14 -1.58 -6.36 -1.52 -6.38 -1.41 -6.4 -1.32 -6.45 -1.24 -6.46 -5.25 2.96 
+-1.17 -6.56 -1.08 -6.55 -5.26 2.91 -1.02 -6.64 -0.91 -6.66 -0.8 -6.68 -0.72 -6.7 -0.63 -6.75 
+-5.32 2.69 -0.54 -6.82 -0.41 -6.82 5.36 -2.58 -0.3 -6.79 5.45 -2.45 -0.2 -6.75 -0.09 -6.77 
+0.02 -6.77 0.13 -6.79 5.54 -2.17 0.24 -6.73 0.33 -6.75 5.6 -2 0.43 -6.7 0.55 -6.68 
+5.64 -1.84 0.65 -6.64 5.69 -1.76 0.74 -6.58 5.73 -1.67 0.82 -6.5 5.75 -1.59 0.93 -6.46 
+5.79 -1.5 0.98 -6.38 1.11 -6.4 1.18 -6.37 1.3 -6.38 1.37 -6.38 1.49 -6.36 1.57 -6.33 
+1.69 -6.34 1.76 -6.34 1.89 -6.31 -5.55 0.91 2.02 -6.34 2.11 -6.34 2.23 -6.31 2.32 -6.32 
+2.43 -6.27 2.54 -6.25 2.64 -6.23 -5.2 0.48 2.8 -6.25 2.91 -6.25 -5.03 0.37 3.08 -6.25 
+3.19 -6.25 3.3 -6.18 3.41 -6.16 3.54 -6.14 3.65 -6.08 4.67 -0.02 3.66 -6.01 3.82 -5.95 
+3.85 -5.8 0.06 -0.11 -0.06 0 -4.39 -0.13 4.1 -5.92 -4.3 -0.2 4.3 -5.93 4.41 -5.86 
+4.53 -5.8 4.64 -5.75 4.77 -5.71 4.88 -5.62 5 -5.55 3.73 0.52 3.5 0.45 0.25 0.02 
+0.76 -0.84 4.19 -4.58 5.05 -5.36 2.58 0.39 1.05 0.15 3.71 0.52 4.9 -5.17 0.07 -0.06 
+0.07 0 3.6 0.52 3.47 0.46 0.26 0.02 3.78 0.48 -4.71 5.14 -3.86 -0.46 -1.65 -0.2 
+-2.17 -0.26 -2.67 2.91 -2.11 2.34 -4.67 5.32 -4.53 5.39 -4.45 5.43 -4.34 5.47 4.25 0.28 
+-4.14 5.49 4.38 0.22 -3.95 5.49 -3.86 5.55 -3.73 5.58 -3.64 5.62 -3.56 5.67 4.82 0 
+-3.36 5.64 4.95 -0.06 -3.22 5.64 -3.1 5.69 5.1 -0.18 -2.93 5.67 -2.87 5.68 5.27 -0.26 
+5.34 -0.28 5.36 -0.3 -2.59 5.6 5.45 -0.33 -2.43 5.58 -2.37 5.6 -2.28 5.64 -2.17 5.64 
+5.71 -0.5 5.73 -0.5 5.79 -0.49 -1.97 5.55 5.86 -0.52 -1.85 5.54 -1.75 5.53 5.99 -0.58 
+-1.65 5.54 6.05 -0.64 -1.54 5.52 6.12 -0.66 -1.43 5.52 -1.37 5.51 -1.3 5.51 -1.24 5.55 
+-1.17 5.55 6.32 -0.8 -1.08 5.54 6.4 -0.83 -1 5.51 6.45 -0.82 5.06 -0.65 0 -156.86 
+-4.41 -0.22 3.93 -5.12 4.34 0.24 -3.86 5.1 0 156.86 1.41 -0.18 6.5 -0.78 -0.84 5.43 
+6.55 -0.78 -0.78 5.4 6.6 -0.8 -0.71 5.42 -0.65 5.41 -0.59 5.45 6.68 -0.87 -0.54 5.43 
+-0.48 5.42 -0.44 5.45 -0.39 5.44 -0.34 5.47 -0.28 5.47 6.77 -0.98 -0.24 5.45 -0.18 5.46 
+6.82 -0.99 -0.15 5.44 6.86 -0.98 -0.09 5.45 -0.06 5.42 0 5.45 0.02 5.46 0.06 5.45 
+-6.86 1.09 -6.82 1.11 0.13 5.51 -6.79 1.18 0.17 5.53 -6.74 1.24 -6.73 1.28 -6.7 1.31 
+0.24 5.6 -6.64 1.39 -6.62 1.41 0.3 5.64 -6.58 1.5 0.39 5.66 -6.54 1.56 -6.49 1.61 
+-6.46 1.65 0.5 5.73 0.54 5.73 0.61 5.73 -6.38 1.78 0.7 5.76 0.74 5.75 -6.29 1.87 
+0.82 5.77 p
+-6.23 1.93 0.91 5.77 -6.14 2.02 -6.12 2.06 -6.05 2.13 1.07 5.83 -5.99 2.21 1.15 5.86 
+-5.91 2.28 1.24 5.86 -5.82 2.37 1.34 5.88 -5.73 2.43 1.45 5.89 -5.66 2.54 -5.58 2.56 
+-5.54 2.64 -5.49 2.72 -5.41 2.75 1.72 5.99 -5.32 2.84 -0.05 0.04 -5.21 2.89 -5.18 2.97 
+-1.84 -6.08 -5.19 3.02 -5.1 3.08 -5.03 3.14 -1.89 -6.18 -1.04 -3.6 -0.78 -2.63 -5.06 3.14 
+-4.97 3.22 -4.92 3.29 -4.84 3.37 -4.75 3.43 2.04 6.38 -4.64 3.54 2.17 6.41 2.28 6.36 
+2.39 6.29 2.45 6.27 2.54 6.21 2.65 6.16 -4.23 3.8 2.78 6.14 -4.1 3.89 -2.82 -6.17 
+-4.08 3.95 -3.95 4.04 2.97 6.21 3.04 6.16 3.14 6.1 3.23 6.03 3.71 -4.1 3.26 5.94 
+3.34 5.9 -3.58 4.15 -3.5 4.23 -3.47 -5.92 -3.36 -5.99 -3.52 4.27 -3.37 -6.08 -3.47 4.34 
+-3.36 4.45 -3.25 4.52 -3.14 4.63 3.64 6.14 3.73 6.05 -2.89 4.73 3.88 5.96 4 5.93 
+4.06 5.81 4.14 5.75 4.23 5.64 4.32 5.58 4.38 5.49 4.47 5.41 4.54 5.34 2.23 -4.71 
+2.32 -4.62 4.49 5.28 0.32 -0.63 0 -76.11 -3.3 -5.75 3.89 -3.84 3.99 -3.75 4.08 -3.69 
+4.17 -3.61 -3 -5.77 4.32 -3.52 -2.84 -5.82 4.44 -3.43 4.52 -3.38 2.73 5.77 -4.47 3.39 
+-4.38 3.47 2.91 5.75 -4.23 3.54 3.06 5.73 -4.11 3.63 -4.01 3.69 -3.93 3.75 -3.84 3.84 
+0 76.11 2.06 -3.91 2.52 -4.45 2.62 -4.36 2.76 -4.29 2.84 -4.21 4.19 5.25 2.91 -4.12 
+3 -4.06 -4.04 -5.28 3.17 -3.99 3.28 -3.93 3.38 -3.84 -3.77 -5.39 -3.71 -5.42 -3.62 -5.47 
+3.67 -3.79 -3.47 -5.53 3.82 -3.69 3.41 5.51 3.49 5.49 1.05 1.59 0 -67.3 -2.54 -5.77 
+-2.48 -5.82 4.86 -3.14 4.93 -3.06 4.99 -3 2.3 5.77 -4.93 3.02 2.43 5.75 -4.82 3.11 
+-4.75 3.14 0 67.3 2.54 3.84 -3.63 3.71 3.71 5.38 3.78 5.32 3.84 5.25 3.91 5.21 
+3.36 -3.69 3.93 5.17 3.39 -3.6 3.47 -3.52 3.84 5.12 3.5 -3.45 3.86 5.08 3.5 -3.37 
+3.86 5.04 -3.45 3.37 3.97 4.99 4.04 4.93 3.32 -3.32 4.04 4.88 3.32 -3.26 4.01 4.86 
+4.11 4.82 3.25 -3.14 3.35 -3.08 4.02 4.8 3.93 4.6 0.13 0.15 0.13 -0.11 3.14 -2.86 
+3 3.49 1.06 1.22 1.72 -1.52 1.58 -1.37 0.61 0.71 3.43 3.97 3.28 -2.82 3.36 -2.78 
+-2.88 -3.5 -1 -1.24 3.49 -2.73 3.58 -2.69 3.17 4.05 0.59 0.74 1.04 -0.78 2.52 -1.83 
+3.62 -2.56 3.67 4.8 0.48 -0.32 3.15 -2.15 1.71 2.26 1.93 2.52 -3.56 2.45 -3.41 2.46 
+-0.07 0.04 -3.43 2.56 -3.36 2.61 0.56 0.67 3.43 3.97 4.04 4.58 2.17 2.41 1.93 2.13 
+4.14 4.49 3.06 -2.5 3.13 -2.45 3.19 -2.41 3.23 -2.34 3.32 -2.3 3.36 -2.26 -2.69 -3.41 
+-1 -1.26 -3.64 -4.69 -1.84 1.2 -1.67 1.11 -3.28 -4.19 -0.39 -0.52 3.6 -2.32 3.64 -2.28 
+3.71 -2.24 3.78 -2.17 -0.37 -0.52 -2.96 -4.32 3.89 -2.12 3.25 4.84 -1.86 1.04 -1.95 1.09 
+3.04 4.34 0.32 0.45 3.41 4.77 -3.26 1.91 -0.35 0.22 -3.58 2.17 3.62 4.68 0.35 0.44 
+3.32 4.21 3.71 4.6 2.95 -1.86 0.39 -0.24 0.43 0.54 3.23 4.04 -3.25 2.08 3.82 4.51 
+-2.06 1.39 p
+-1.04 0.72 3.43 3.88 0.5 0.57 -2.97 2.11 -0.24 0.17 -2.7 1.98 4.15 4.34 -2.78 2.17 
+4.25 4.23 4.32 4.21 -2.23 1.87 -0.32 0.26 4.45 4.13 -2.43 2.13 4.55 4.01 -2.3 2.13 
+-4.64 -3.97 -2.32 2.2 -4.67 -3.97 -0.72 0.7 -1.61 1.58 -2.25 2.34 4.82 3.88 -2.13 2.32 
+4.95 3.78 4.99 3.73 -0.44 0.5 -1.47 1.75 5.1 3.61 3.45 2.38 1.69 1.17 1.78 -2.14 
+1.84 -2.12 1.89 -2.09 -2.52 -1.86 -2.43 -1.85 2.04 -2.08 2.26 1.75 2.6 2 2 -2.02 
+4.84 3.75 4.88 3.69 4.92 3.64 1.82 -1.85 1.67 -1.56 0.24 -0.24 1.09 0.84 3.71 2.84 
+1.86 -1.71 4.78 3.69 -1.18 1.09 -0.61 0.57 -1.02 0.97 -0.72 0.72 0.43 0.33 1.82 1.28 
+2.71 1.91 -1.61 1.67 -1.57 1.69 4.36 2.8 0.8 0.52 -0.63 0.74 -0.8 0.93 5.27 3.21 
+-1.3 1.61 -0.5 0.63 -0.79 1 2.93 1.65 2.54 1.37 -0.33 0.43 -0.58 0.8 -0.26 0.37 
+-1.08 1.61 -1.07 1.65 5.69 2.73 -0.93 1.59 -0.83 1.43 -0.08 0.16 0.41 0.19 5.42 2.32 
+-0.78 1.54 5.92 2.37 -0.7 1.47 2.71 1.02 3.3 1.2 -0.26 0.61 -0.32 0.8 6.07 2.06 
+6.13 1.95 0.52 -1.23 0.54 -1.24 6.05 2.04 0.52 -1.13 6.04 2.06 6.08 1.98 6.07 1.89 
+0.42 -0.89 6.07 1.91 0.39 -0.8 6.05 1.91 0.37 -0.7 0.39 -0.69 0.42 -0.7 0.43 -0.67 
+1.95 0.71 0 -3.38 -5.56 -2.54 -0.58 0.72 -0.57 0.73 -0.54 0.76 -5.73 -2.38 -0.58 0.82 
+-0.57 0.84 -5.82 -2.3 -0.58 0.93 -5.84 -2.32 -5.82 -2.36 0.71 -1.09 -4.25 -1.87 -1.48 -0.67 
+-3.91 -1.78 -1.78 -0.8 0.26 -0.37 0.61 -0.87 0.13 -0.18 0.78 -1.02 0.96 -1.19 0.97 -1.17 
+1.02 -1.18 1.05 -1.15 1.08 -1.13 1.13 -1.08 -1.09 -0.7 -1.35 -0.85 -2.64 -1.69 1.24 -1.15 
+1.25 -1.13 -3.38 -2.34 -1.48 -1.04 1.04 -0.91 0.32 -0.26 -0.63 -0.48 -4.1 -3.04 -4.71 -3.55 
+-4.66 -3.63 1.67 -1.32 -4.12 -3.36 -0.41 -0.35 -4.49 -3.78 1.89 -1.39 -4.36 -3.86 -4.34 -3.93 
+-1.17 -1.08 -3.1 -2.89 -4.23 -4.01 1.7 -1.15 0.58 -0.39 -1.15 -1.15 -2.97 -2.95 1.43 -0.93 
+0.98 -0.63 -2.62 -2.74 -1.35 -1.45 -2.69 -2.89 -1.26 -1.34 0.46 -0.29 1.26 -0.75 0.91 -0.55 
+-1.22 -1.36 -1.69 -1.91 -0.91 -1.04 0.79 -0.44 1.41 -0.82 0.56 -0.32 -0.65 -0.76 -1.65 -1.95 
+-1.37 -1.68 1.39 -0.75 1.48 -0.8 0.26 -0.15 2.28 -1.19 0.39 -0.2 2.21 -1.13 0.74 -0.37 
+-0.17 -0.26 -0.67 -0.89 -0.65 -0.86 -0.67 -0.89 -0.66 -0.89 -0.54 -0.74 2.97 -1.43 0.11 -0.04 
+0.66 0.89 0.63 0.89 0.63 0.87 0.65 0.89 0.63 0.89 0.08 0.11 0.18 -0.07 1.17 -0.57 
+1.19 -0.54 0.5 -0.24 0.48 0.65 1.11 1.56 1.11 1.54 0.54 0.78 3.28 4.52 0.89 -0.44 
+0.91 -0.41 1.11 -0.48 1.28 1.8 1.06 1.49 0.87 1.2 3.26 4.47 1.47 -0.68 1.28 -0.56 
+1.47 2.06 1.72 2.41 1.63 -0.72 1.06 -0.45 0.37 -0.16 2.19 -0.89 0.15 -0.07 2.73 -1.11 
+0.87 1.33 1.11 1.69 0.54 0.85 0.46 0.67 2.67 -1.04 2.71 -0.98 2.78 4.54 2.06 -0.74 
+0.58 -0.19 0.59 0.99 2.12 3.54 2.56 -0.87 2.58 -0.84 2.61 -0.79 2.63 -0.78 2.64 -0.73 
+1.34 -0.35 p
+0 -10.44 -0.11 -0.26 -1 -2.4 -0.87 -2.09 -0.11 -0.28 -1.82 -4.47 0.02 -0.02 3.08 -0.7 
+-0.8 -2.11 -0.97 -2.62 -0.04 -0.07 0.34 -0.09 2.89 -0.61 2.66 -0.54 0.59 -0.11 3.25 -0.61 
+3.27 -0.56 0.66 -0.11 2.62 -0.41 0.18 0.61 0.25 0.93 0.24 0.93 0.26 0.93 0.24 0.93 
+0.16 0.54 0.78 -0.13 1.41 -0.21 1.02 -0.13 0.3 -0.05 1.13 -0.17 1.13 -0.15 0.65 -0.09 
+0.39 1.67 0.67 2.95 0.07 0.26 1.15 4.86 -1.75 0.24 -1.26 0.17 -0.74 0.11 -2.25 0.34 
+-3 0.5 -0.29 0.04 -2.69 0.48 -0.3 -0.95 -1.13 -3.5 -0.11 -0.37 -0.54 0.11 -2.52 0.48 
+-3.06 0.61 1.75 4.8 -2.91 0.63 -2.91 0.67 0 10.44 0.55 -0.15 0.76 -0.2 0.5 1.09 
+1.64 3.55 2.59 -0.65 2.61 -0.61 1.95 4.66 1.97 4.64 2.41 -0.54 1.89 4.64 1.91 4.6 
+2.21 -0.45 1.82 4.6 2.08 -0.43 1.73 4.6 1.76 4.58 1.78 4.56 1.8 4.53 1.82 4.5 
+1.52 -0.3 1.73 4.49 1.41 -0.26 1.63 4.49 1.28 -0.21 1.3 -0.22 1.32 -0.17 1.26 4.51 
+-1.2 0.18 -2.34 0.39 -1.17 0.22 -1.15 0.24 -1.17 0.26 2.04 4.36 -1.02 0.24 -2.04 0.52 
+-1 0.3 2.54 4.21 -0.87 0.26 -0.86 0.28 -0.85 0.29 -0.84 0.3 3.06 4.04 -0.74 0.26 
+-3.15 -3.99 -0.82 0.33 -0.82 0.34 -1.61 0.7 -0.78 0.37 -1.52 0.78 -0.73 0.39 -0.74 0.41 
+-1.43 0.87 -0.7 0.43 -4.43 -3.43 -0.76 0.52 -0.78 0.52 -0.74 0.54 -0.71 0.54 -0.71 0.56 
+-0.7 0.57 -0.67 0.56 -0.65 0.59 -0.65 0.61 -1.22 1.22 -0.59 0.63 -0.56 0.65 -0.54 0.63 
+0 3.38 3.9 1.43 -0.73 1.22 -0.35 0.61 -0.33 0.63 -0.28 0.61 -0.28 0.65 -0.26 0.63 
+-0.24 0.63 -0.22 0.65 -6.29 -1.41 -0.24 0.74 -0.2 0.73 -0.2 0.76 -0.15 0.74 -0.16 0.76 
+-0.11 0.74 -0.09 0.76 -0.07 0.76 -6.47 -0.74 -0.04 0.84 -0.04 0.88 0.02 0.84 -6.49 -0.54 
+0.02 0.95 0.04 0.96 -6.49 -0.46 -6.49 -0.54 0.09 1.15 0.13 1.16 0.16 1.15 0.2 1.15 
+6.49 0.15 0.22 1.04 -6.47 -0.04 -0.24 -1.15 -6.46 -0.24 -6.49 -0.35 0.26 1.34 0.06 0.38 
+0.22 0.97 0.34 1.35 -2.47 -0.04 -3.97 -0.09 0.39 1.43 0.45 1.43 0.5 1.43 6.4 -0.18 
+0.52 1.33 2.45 -0.11 3.91 -0.24 2.08 -0.12 4.25 -0.3 0.52 1.13 0.54 1.13 -3.82 0.39 
+-2.47 0.24 -0.57 -1.21 -2.52 0.19 -3.82 0.24 -6.36 0.36 0.65 1.41 0.69 1.43 0.74 1.39 
+6.23 -0.65 2.24 -0.26 3.99 -0.48 0.7 1.19 0.74 1.2 0.79 1.17 -2.04 0.37 -4.04 0.67 
+0.87 1.29 0.91 1.25 0.98 1.24 -5.95 1.24 1.06 1.35 -5.88 1.25 1.17 1.41 -3.49 0.79 
+-2.37 0.5 -5.88 1.2 1.37 1.61 -5.84 1.19 -1.43 -1.69 -5.94 1.02 -1.05 0.18 -4.93 0.76 
+1.57 1.91 1.63 1.89 1.69 1.87 1.76 1.82 1.82 1.82 -5.64 1.37 1.96 1.89 2.04 1.89 
+2.11 1.82 2.19 1.82 2.24 1.78 2.32 1.76 2.36 1.71 0.7 0.48 1.74 1.21 4.88 -2.15 
+2.38 1.57 1.59 0.97 0.87 0.54 2.5 1.48 2.56 1.45 2.61 1.41 2.67 1.35 2.71 1.32 
+2.78 1.28 2.79 1.24 3.71 -2.95 0.26 0.11 2.45 1 2.76 1.08 2.8 1.02 2.82 0.98 
+2.88 0.93 p
+2.91 0.89 -1.23 1.47 -1.56 1.84 2.71 0.79 0.39 0.11 3.15 0.84 0.99 0.26 2.17 0.52 
+-2.32 3.45 3.36 0.75 -2.16 3.47 3.55 0.76 -2.02 3.45 -1.8 3.02 -0.24 0.41 0.52 0.11 
+3.43 0.67 -1.89 3.41 -4.14 -0.8 -1.26 2 -0.84 1.32 -4.27 -0.93 -2.32 3.26 -2.34 3.21 
+-2.37 3.15 -2.41 3.13 -2.43 3.08 -0.04 0 -5.12 -1.3 -4.51 -1.24 -0.59 -0.17 -0.17 0.2 
+-2.67 2.69 -3.26 -0.96 -1.97 -0.61 -4.34 -1.39 -0.8 -0.29 -1.09 -0.37 -3.99 -1.39 -3.58 -1.32 
+-1.41 -0.52 -2.82 1.99 -0.79 0.55 -2.82 1.93 -0.8 0.54 5.27 2 0.07 0.02 0.11 0.04 
+5.32 1.89 -1.5 1.17 -1.82 1.41 5.68 1.91 1.11 0.34 4.69 1.46 -3.02 2.69 0 139.31 
+10.79 1.32 13.2 1.63 13.17 1.08 13.2 1.09 13.17 0.54 13.19 0.54 26.37 0 13.2 -0.54 
+13.17 -0.54 13.2 -1.09 13.17 -1.08 13.2 -1.63 13.17 -1.63 13.2 -2.17 3.15 -0.52 0 -135.26 
+-1.74 -1.2 -1.73 -1.24 -4.04 1.41 -2.04 0.67 -0.45 -0.37 -2.67 -2.12 -0.09 -0.07 -3.19 -2.62 
+-0.7 0.22 -5.09 1.58 -2.96 -2.75 -2.91 -2.8 -2.89 -2.87 -5.3 1.48 -2.64 -2.95 -5.16 1.3 
+-5.23 1.21 -5.25 1.11 -2.06 -3.16 -0.32 0.04 -4.8 0.91 -5.16 0.87 1.3 2.56 0.37 0.71 
+-4.03 0.61 -1.37 0.2 -1.04 -2.37 -0.41 -0.93 -5.23 0.66 -5.25 0.58 -1.02 -3.43 -5.08 0.46 
+-0.2 0 -4.9 0.34 -5.1 0.24 -0.35 -2.97 -0.07 -0.52 -2.4 0.08 -2.5 0.04 -0.16 -2.69 
+-0.04 -0.85 -0.2 -3.56 -4.51 0.04 0 -3.62 -4.32 -0.04 -0.02 0 -4.3 -0.11 -4.32 -0.2 
+-4.3 -0.29 -0.13 0.56 -0.65 3 -4.47 -0.37 -4.47 -0.46 -4.43 -0.54 1.35 -3.51 -4.23 -0.59 
+1.54 -3.5 3.82 0.52 0.21 0.02 1.32 -3.56 3.86 0.46 3.89 0.39 3.91 0.32 0.75 -3.66 
+3.73 0.24 3.73 0.17 3.76 0.09 0.17 -3.73 3.58 0.04 3.55 -0.04 -0.19 -3.76 3.39 -0.08 
+3.36 -0.16 3.37 -0.21 3.36 -0.26 3.34 -0.32 3.32 -0.39 1.29 3.66 1.97 -0.25 0.57 -0.07 
+0 -128.69 -1.24 -0.37 -1.24 -0.34 -1.25 -0.33 -2.52 -0.61 0.87 -1.93 1.11 -2.5 -0.3 -0.07 
+-1.09 -0.24 -1.41 -0.28 -1.41 -0.26 -1.41 -0.24 -1.43 -0.21 -0.55 -0.09 -0.89 -0.11 -1.46 -0.2 
+1 -4.06 0.13 -0.52 0.13 0.02 1.43 0.18 0.46 -1.76 0.75 -2.84 1.5 0.21 0.17 0.02 
+1.67 0.26 0.37 -1.15 0.8 -2.52 0.29 -0.91 1.78 0.29 1.75 0.32 1.79 0.35 -0.18 0.43 
+-1.36 3.45 -0.26 0.65 0.85 0.17 0.78 0.18 1.11 0.24 0.52 0.13 1.61 0.39 -0.67 1.39 
+-1.49 3.04 -2.2 4.41 0.04 0 1.32 0.35 1.35 0.37 1.34 0.39 -2.56 4.3 0 128.69 
+0.95 -0.13 1.97 -0.3 1.5 -0.24 -1.62 -3.61 3.28 -0.56 3.23 -0.63 3.23 -0.68 3.19 -0.71 
+3.17 -0.79 2.43 3.32 0 -106.58 -0.7 -0.67 -0.74 -0.67 -0.74 -0.65 4.99 -3.13 0.83 0.74 
+0.8 0.74 0.78 0.74 5.19 -2.98 0.82 0.82 -5.25 2.91 -0.76 -0.75 -5.23 2.91 0 106.58 
+0.06 0.08 0.87 -0.24 2.43 -0.65 3.25 -0.95 -2.82 -3.3 -2.78 -3.32 2.91 -0.89 2.88 -0.93 
+2.82 -0.98 2.8 -1.02 0.34 -0.12 2.41 -0.96 2.71 -1.11 0.89 -0.37 1.8 -0.78 -0.48 -0.37 
+-3.34 -2.56 p
+2.49 -1.13 2.46 -1.17 2.41 -1.2 2.34 -1.23 0 -0.02 2.32 -1.26 0.52 -0.3 1.73 -1.02 
+2.2 -1.34 -4.64 -2.43 -4.6 -2.49 -4.1 -2.28 -0.48 -0.29 -1.17 0.7 -0.7 0.41 -1.89 1.07 
+-1.96 1.04 -1.95 1 -1.02 0.5 -0.99 0.5 -3.93 -3.02 1.89 -0.91 1.84 -0.93 1.82 -0.96 
+1.78 -1 1.73 -1 1.7 -1.04 1.67 -1.08 1.63 -1.09 1.58 -1.11 2.06 0.96 2.91 1.32 
+-1.69 1.2 -1.61 1.11 -0.13 0.09 -1.75 1.13 2.25 1.22 2.43 1.28 4.71 2.41 4.78 2.34 
+2.11 -1.43 2.06 -1.43 2 -1.45 1.96 -1.5 1.39 -1.12 0.5 -0.41 0.52 -0.41 1.32 -1.13 
+1.78 -1.58 1.73 -1.59 1.41 -1.39 0.24 -0.24 -2.02 -0.55 -3.61 -0.95 1.38 -1.39 0.17 -0.17 
+-0.11 -0.02 -5.58 -1.45 1.41 -1.47 1.34 -1.48 1.3 -1.49 5.88 1.2 1.3 -1.61 1.25 -1.63 
+1.2 -1.65 1.13 -1.65 1.07 -1.67 -6.17 -0.7 0.98 -1.58 0.93 -1.58 0.87 -1.59 0.81 -1.61 
+-2.46 -0.15 -3.86 -0.24 -6.29 -0.45 0.7 -1.43 0.65 -1.41 -6.36 -0.36 0.57 -1.32 0.52 -1.33 
+0.48 -1.32 0.43 -1.35 -6.45 -0.04 -2.52 -0.04 -3.91 -0.11 0.37 -1.15 0.3 -1.12 0.29 -1.15 
+-1.91 0.02 -4.55 0.02 0.22 -1.04 0.19 -1.06 0.15 -1.05 -6.49 0.26 0.11 -0.96 -6.49 0.26 
+0.09 -0.87 0.06 -0.85 0.02 -0.87 6.49 -0.54 0 -0.95 6.49 -0.74 0 1.04 2.95 -0.32 
+3.54 -0.39 -0.02 1.13 -0.05 1.15 -0.08 1.15 -0.13 1.16 -0.15 1.15 -0.22 1.15 4.77 -0.18 
+0 -33.48 -0.17 -0.24 -0.67 -0.91 -0.87 -1.13 -0.91 -1.08 1 -0.54 4.41 -2.34 0.98 1.17 
+0.96 1.19 0.91 1.2 -5.62 2.69 0 33.48 1.71 -0.06 6.49 -0.35 0.22 -1.34 6.46 -0.52 
+0.17 -1.43 0.11 -1.43 0.08 -1.43 -6.49 0.8 0.04 -1.32 -0.02 -1.34 6.46 -1 -0.08 -1.41 
+-0.11 -1.41 6.41 -1.28 -0.18 -1.5 -0.24 -1.49 -0.28 -1.48 -0.32 -1.47 3.12 -0.85 3.15 -0.87 
+-0.41 -1.54 -0.46 -1.54 -0.2 -0.59 -0.3 -0.95 -0.57 -1.52 -0.58 -1.49 6.04 -2.2 -0.7 -1.59 
+-0.76 -1.56 5.9 -2.43 -0.84 -1.62 -0.91 -1.59 -0.93 -1.59 -5.73 2.68 -0.93 -1.5 -0.98 -1.47 
+-1.02 -1.46 -1.09 -1.43 5.49 -2.95 5.43 -3.02 -1.26 -1.56 -1.28 -1.52 5.25 -3.21 1.76 -1.08 
+3.45 -2.2 -1.5 -1.63 -1.54 -1.61 -3.73 2.52 -1.32 0.89 -1.5 -1.52 -1.56 -1.5 -0.15 -0.15 
+-1.43 -1.32 -1.63 -1.46 4.73 -3.6 4.71 -3.69 -1.85 -1.52 -1.86 -1.47 -0.02 -0.02 -0.05 0.04 
+-1.99 1.67 -2.5 2.06 -1.84 -1.41 -4.49 3.78 -2.71 2.23 -1.82 1.48 1.67 1.32 -4.67 3.63 
+-4.71 3.55 -0.95 0.72 -3.78 2.8 1.37 1.17 1.37 1.19 -4.97 3.32 1.24 1.15 1.2 1.17 
+1.17 1.2 1.13 1.21 -5.32 3.02 -1.05 -1.15 -3.64 2.11 -1.62 0.93 -1 -1.06 -1.04 -1.04 
+2.52 -1.56 2.58 -1.58 -0.93 -0.91 -0.21 -0.2 -1.17 -1.06 4.91 -3.34 -1.74 -1.47 -0.89 -0.74 
+4.69 -3.5 -1.45 -1.13 4.57 -3.62 -0.54 -0.42 -1.02 -0.75 -1.61 -1.13 4.34 -3.78 2.45 -2.17 
+1.87 -1.65 0.98 0.67 0.8 0.57 1.76 1.26 1.41 -1.2 3.04 -2.58 4.41 -3.82 -1.2 -0.84 
+-0.74 -0.52 -1.95 -1.32 -2 -1.3 4.11 -4.02 4.06 -4.06 -0.89 -0.54 -1.32 -0.8 -2.26 -1.32 
+-2.3 -1.3 p
+-3.77 4.16 -2.24 -1.21 -2.28 -1.2 3.61 -4.25 3.55 -4.3 -2.49 -1.21 -2.52 -1.22 -3.36 4.37 
+-2.47 -1.13 -3.32 4.36 -2.38 -1.07 -1.63 -0.7 -0.8 -0.34 -0.43 0.63 -2.71 3.78 -2.37 -0.98 
+-2.37 -0.93 -2.4 -0.91 -2.43 -0.87 -2.8 4.47 -2.34 -0.8 -1.34 -0.46 -1.04 -0.33 -1.37 2.37 
+-1.24 2.13 -4.6 -1.43 -2.34 -0.65 -2.34 -0.63 -0.85 -0.24 -1.52 -0.37 0.52 -1.18 1.15 -2.54 
+0.41 -0.91 -2.5 -0.61 -2.49 -0.57 -0.54 -0.11 -2 -0.41 -1.34 -0.28 -1.17 -0.21 0.32 -0.96 
+0.67 -1.93 0.63 -1.84 -1.48 -0.28 -1.2 -0.2 -0.3 -0.07 -2.34 -0.39 -0.54 -0.09 -2.15 -0.32 
+0.85 -3.11 0.46 -1.69 0.28 -1.11 0.52 -1.93 0.48 -1.76 -0.93 -0.13 -1 -0.16 -0.97 -0.12 
+0.46 -1.89 0.45 -1.91 0.24 -1.04 -0.48 -0.07 -0.89 -0.11 -0.89 -0.13 -0.76 -0.09 0.5 -2.32 
+0.54 -2.54 -1.25 -0.16 -1.39 -0.15 -0.48 -0.05 0.26 -1.41 0.65 -3.5 -1.43 -0.15 -1.58 -0.15 
+-0.22 -0.02 0.05 -0.29 0.32 -1.98 0.33 -2 0.11 -0.67 -0.58 -0.04 -1.76 -0.15 -1.02 -0.09 
+0.11 -0.67 0.18 -1.2 0.15 -1.17 0.17 -1.17 0.11 -0.73 -1.54 -0.13 -1.93 -0.13 -0.26 -0.02 
+-1.11 -0.07 -1.09 -0.07 -1.02 -0.06 0.11 -0.93 0.09 -1.05 0.11 -1.02 0.11 -1.04 0.09 -0.93 
+-0.61 -0.04 -0.67 -0.02 -0.67 -0.04 -0.67 -0.02 -0.67 -0.04 -0.29 -0.02 0.41 -4.99 0.38 -5 
+0.69 0.02 1.78 0.09 0.89 0.06 0.41 0.02 0.07 -0.74 0.15 -1.54 0.16 -1.56 0.11 -1.17 
+0.09 -1.11 0.37 -3.93 3.95 0.24 0.57 -5.05 4.04 0.3 0.63 -5.06 0.63 -5.08 0.61 -5.08 
+0.63 -5.1 -4.41 -0.3 -4.38 -0.24 0.41 -5.12 -4.47 -0.21 -4.51 -0.15 -4.5 -0.12 -0.17 5.12 
+-4.41 -0.06 -4.41 -0.02 0 5.1 -4.34 0.02 0.08 5.1 -4.23 0.06 0.18 5.08 0.19 5.08 
+4.04 -0.06 0.11 5.05 -3.97 0.07 -3.97 0.11 -3.95 0.16 -3.95 0.2 -0.48 -5.05 4.06 -0.2 
+-0.37 -5.05 -0.35 -5.08 -4.23 0.2 -4.23 0.26 -4.21 0.28 -0.63 -5.08 -4.27 0.35 -0.71 -5.1 
+-0.67 -5.1 -0.67 -5.11 4.53 -0.35 0.61 5.12 4.47 -0.3 4.5 -0.26 4.47 -0.21 4.49 -0.15 
+-0.24 -5.14 -0.26 -5.14 4.66 -0.11 0.17 5.14 4.59 -0.09 4.6 -0.02 0 -10.29 -4.75 0.02 
+-0.08 -5.17 -4.84 0.07 -4.82 0.13 -4.82 0.15 -0.32 -5.16 4.9 -0.18 4.91 -0.13 -0.15 -5.19 
+4.99 -0.06 -0.09 -5.21 -0.07 -5.21 -0.09 -5.21 -5.21 0.07 -5.21 0.13 -5.21 0.18 -5.21 0.24 
+-5.18 0.25 -5.19 0.33 -0.5 -5.21 -0.5 -5.23 -0.5 -5.25 -0.48 -5.23 -0.48 -5.27 -0.46 -5.25 
+-0.46 -5.27 5.66 -0.33 5.69 -0.29 -0.33 -5.29 -0.3 -5.27 -0.61 -10.59 -5.92 0.28 -5.91 0.32 
+-0.41 -5.29 -0.39 -5.32 -6.03 0.39 -1.31 -15.95 -6.18 0.43 -6.16 0.48 -0.5 -5.32 -6.2 0.54 
+-0.57 -5.34 -0.55 -5.34 -0.52 -5.34 -6.34 0.58 -0.57 -5.34 -0.54 -5.36 -6.41 0.63 -0.58 -5.34 
+-1.08 -10.72 -1 -10.71 -0.96 -10.72 -0.43 -5.38 -6.73 0.67 -0.46 -5.38 6.75 -0.63 -0.41 -5.38 
+-0.39 -5.36 -0.37 -5.36 6.86 -0.59 -0.32 -5.34 6.9 -0.54 -0.29 -5.34 6.93 -0.48 -0.48 -10.68 
+-0.21 -5.34 7.03 -0.41 -0.19 -5.32 7.05 -0.37 -0.15 -5.32 7.07 -0.32 -0.12 -5.32 7.09 -0.28 
+0.11 5.32 p
+7.07 -0.24 7.1 -0.2 7.1 -0.15 7.09 -0.14 7.1 -0.07 7.12 -0.02 0 -376.06 -6.79 0 
+-3.38 -0.04 -3.39 -0.02 -3.38 -0.04 -3.38 -0.07 -3.37 -0.04 -3.36 -0.09 1.02 -3.75 -6.47 -0.18 
+1.33 -3.73 -3.11 -0.11 -3.06 -0.11 -3.09 -0.13 -3.05 -0.12 -6.08 -0.31 2.15 -3.71 -2.89 -0.17 
+2.32 -3.67 -2.76 -0.17 -5.43 -0.39 2.78 -3.62 -2.56 -0.22 3 -3.57 -2.41 -0.22 -2.39 -0.24 
+-2.36 -0.24 3.46 -3.52 -2.21 -0.26 -2.19 -0.26 -2.17 -0.28 3.95 -3.46 -2 -0.25 -2 -0.31 
+4.32 -3.36 -3.64 -0.61 -1.78 -0.31 -4.73 3.34 -1.91 -0.32 -1.89 -0.35 -1.84 -0.35 -1.82 -0.37 
+-1.81 -0.39 -1.78 -0.39 -1.75 -0.39 -5.58 3.34 -1.84 -0.44 -1.82 -0.43 -5.73 3.39 -1.91 -0.45 
+-1.89 -0.48 -1.84 -0.5 -1.82 -0.5 -1.76 -0.5 -6.25 3.41 -1.87 -0.54 -1.82 -0.57 -6.36 3.5 
+-6.29 3.58 -6.17 3.67 -6.05 3.75 -5.97 3.84 -5.86 3.93 -5.76 4.02 -5.64 4.08 -5.56 4.16 
+-5.43 4.26 -5.36 4.29 3.09 0.57 3.11 0.54 -0.61 0.52 -4.41 3.82 1.05 0.17 2.21 0.33 
+-2.67 2.43 -2.15 1.97 -2.37 -0.32 -1 -0.15 3.93 -3.54 0.99 -0.89 -1.23 -0.2 -2 -0.32 
+-3.17 -0.55 -3.12 -0.56 -3.09 -0.57 -1.84 -0.36 -1.17 -0.24 1.82 -1.48 3.73 -2.95 5.66 -4.34 
+-2.78 -0.66 -2.71 -0.67 5.99 -4.27 -2.54 -0.7 6.19 -4.21 6.31 -4.1 6.42 -4.02 -2.17 -0.72 
+-2.13 -0.76 -2.06 -0.76 -2.02 -0.8 6.97 -3.88 -1.87 -0.8 -1.78 -0.82 -1.73 -0.84 7.38 -3.75 
+7.46 -3.64 -1.48 -0.85 -1.41 -0.84 7.77 -3.47 -1.26 -0.84 7.97 -3.32 -1.13 -0.84 -1.04 -0.87 
+-1 -0.89 -0.93 -0.89 -8.31 3.19 -0.96 -0.96 -8.31 3.32 -0.97 -1 -0.89 -1.02 -0.84 -1.05 
+-0.76 -1.06 -0.7 -1.09 -0.63 -1.11 -0.54 -1.13 -0.48 -1.15 -8.83 3.19 -0.46 -1.19 -0.39 -1.24 
+-0.3 -1.26 9.03 -3.06 -0.16 -1.21 -0.07 -1.26 9.18 -2.75 9.2 -2.59 9.24 -2.38 0.14 -1.09 
+0.21 -1.11 0.26 -1.11 0.34 -1.12 0.43 -1.13 0.5 -1.15 -9.39 1.97 0.56 -1.22 0.65 -1.25 
+0.74 -1.24 0.8 -1.28 0.91 -1.28 0.97 -1.28 1.07 -1.29 1.17 -1.3 1.24 -1.3 1.34 -1.32 
+1.41 -1.3 1.52 -1.32 -9.2 1.19 1.65 -1.43 9.13 -1.09 1.7 -1.32 1.78 -1.32 1.87 -1.3 
+1.95 -1.32 2.04 -1.32 2.15 -1.3 8.55 -0.28 2.13 -1.2 2.19 -1.2 2.28 -1.17 2.34 -1.17 
+2.45 -1.15 2.52 -1.13 2.58 -1.13 2.67 -1.11 2.75 -1.08 2.82 -1.06 6.99 0.89 2.71 -0.93 
+2.78 -0.91 2.82 -0.91 6.3 1.3 2.69 -0.78 2.73 -0.76 2.8 -0.74 2.84 -0.72 2.91 -0.67 
+2.95 -0.67 4.82 1.89 2.76 -0.55 2.8 -0.54 2.82 -0.5 3.99 2.14 2.61 -0.41 2.64 -0.39 
+2.67 -0.37 2.69 -0.34 -3 -2.34 2.97 -0.37 6.03 -0.61 3.04 -0.24 3.06 -0.24 3.06 -0.19 
+3.08 -0.15 3.08 -0.11 3.11 -0.09 3.1 -0.07 6.23 0 3.11 0.07 3.08 0.09 3.1 0.11 
+3.08 0.15 3.06 0.19 3.06 0.24 1.97 -2.45 3.32 0.29 -2.26 2.41 3.04 0.3 2.99 0.3 
+2.97 0.37 2.96 0.37 2.91 0.44 3.61 -2.21 3.69 -2.13 3.77 -2.06 -3.71 -0.58 3.61 -2.06 
+-4.04 -0.59 -4.08 -0.56 -4.14 -0.5 2.84 -2.17 -4.47 -0.5 2.61 -2.14 2.67 -2.11 5.1 0.61 
+5.03 0.67 p
+3.41 -1.93 5.32 0.82 5.23 0.89 5.19 0.93 5.1 1.02 5.01 1.08 4.95 1.13 5.33 -1.3 
+5.14 1.3 5.02 1.37 4.92 1.41 4.82 1.46 6.55 -0.7 4.95 1.65 4.82 1.67 4.71 1.73 
+4.55 1.78 4.43 1.81 7.81 0.13 4.47 2 4.34 2 4.19 2.04 8.46 0.76 4.19 2.19 
+4.02 2.22 3.84 2.23 3.71 2.23 3.54 2.24 3.36 2.23 3.24 2.23 3.06 2.24 2.89 2.23 
+2.76 2.21 2.61 2.21 2.43 2.19 2.3 2.18 1.89 1.89 0 -65.58 -9.85 -2.28 -9.36 -1.91 
+-8.55 -2.93 -8.57 -2.93 -8.92 -2.71 -8.9 -2.71 7.98 0.93 -19.27 -5.43 7.64 0.72 8.14 1 
+-10.92 -2.91 -10.89 -2.91 7.66 0.71 -11.83 -2.8 -11.83 -2.82 7.05 0.43 -12.82 -2.62 -12.85 -2.62 
+-13.22 -2.09 -13.21 -2.11 4.79 -0.36 5.21 -0.22 -10.07 -1.26 -10.07 -1.28 -10.09 -1.28 3.86 -0.52 
+-10.89 -0.87 -10.87 -0.87 -10.89 -0.89 2.15 -0.74 11.59 0.98 11.59 1 11.57 0.97 11.35 1.61 
+11.32 1.61 11.35 1.61 6.82 0.32 7.55 0.59 12.33 2.78 12.34 2.75 12.33 2.78 10.68 2.02 
+12.35 3.8 12.37 3.82 12.35 3.8 -12.61 -3.3 -11.71 -3.39 -11.7 -3.36 -11.71 -3.38 -9.66 -1.54 
+-8.79 -1.15 -8.01 -0.84 -7.36 -0.54 -6.77 -0.32 9 1.95 9.01 1.93 9 1.95 13 3.41 
+13.02 3.43 -8.81 -1.32 11.92 3.51 11.89 3.52 -9.22 -1.65 10.89 3.54 10.92 3.54 -9.53 -1.91 
+10.03 3.52 10 3.5 -9.72 -2.11 9.22 3.43 9.2 3.45 0 65.58 0.26 0.26 2 2.13 
+1.84 2.1 1.72 2.09 1.56 2.07 1.46 2.04 1.28 1.99 1.17 1.98 1.04 1.93 0.89 1.93 
+0.79 1.87 0.67 1.84 9.35 3.64 0.5 1.89 -9.33 -3.71 0.42 1.78 0.3 1.76 0.18 1.71 
+0.08 1.68 -0.04 1.65 -0.15 1.61 -0.26 1.58 8.88 4.02 -0.43 1.58 -0.54 1.54 -0.63 1.5 
+-0.74 1.48 -0.84 1.43 -0.91 1.39 -1.02 1.37 -8.29 -4.23 -1.02 1.32 -1.12 1.28 -1.2 1.24 
+-1.28 1.19 -1.34 1.2 -1.46 1.15 -1.52 1.11 -1.58 1.11 -1.67 1.04 -1.74 1.04 -1.82 1 
+-7.34 -4.19 -1.8 0.95 -1.84 0.96 -7.25 -4.11 -7.37 -3.97 -1.7 0.91 -1.79 0.86 -1.84 0.85 
+-1.88 0.85 -1.96 0.8 -2.02 0.8 -2.06 0.76 6.64 4.02 6.51 4.1 -2.32 0.76 -2.39 0.72 
+-1.69 0.5 -0.76 0.21 -2.5 0.67 -1.07 0.29 -1.47 0.39 -2.61 0.63 -2.65 0.63 -1.26 0.28 
+-1.43 0.31 -2.73 0.59 -2.78 0.56 5.32 4.14 -2.93 0.54 -3 0.52 5.02 4.21 -3.15 0.48 
+-3.17 0.48 -4.77 -4.19 -0.52 0.09 -2.59 0.39 -3.14 0.43 -3.18 0.44 -3.53 -3.2 -1 -0.89 
+-3.11 0.43 -3.14 0.39 -3.17 0.41 -3.2 0.37 -3.23 0.38 -4.06 -4 -3.15 0.37 -4.01 -3.95 
+-3.06 0.35 -3.09 0.34 -3.1 0.33 -3.15 0.31 -3.16 0.3 -3.19 0.29 -3.21 0.28 -3.25 0.26 
+-3.26 0.24 -3.28 0.24 -2.87 -3.85 -3.16 0.24 -6.42 0.43 -3.23 0.2 -3.23 0.17 -3.28 0.17 
+-3.25 0.17 -3.3 0.16 -3.3 0.13 1.74 3.82 -3.43 0.13 -6.9 0.21 -3.48 0.11 -1.25 -3.8 
+-10.09 0.26 -3.37 0.04 -3.38 0.07 -3.39 0.04 -3.38 0.02 -3.38 0.04 -6.77 0 0 381.36 
+7.07 0.02 7.08 0.07 7.07 0.13 7.08 0.15 0.08 -5.29 7.08 0.2 0.09 -5.3 7.12 0.22 
+7.09 0.28 p
+7.09 0.32 0.11 -5.29 0.13 -5.3 0.11 -5.29 0.17 -10.55 -7.16 -0.3 0.07 -5.27 7.16 0.3 
+0.06 -5.25 7.16 0.33 0.07 -5.25 0.04 -5.25 0.05 -10.46 7.18 0.35 0 -5.23 -0.05 -10.42 
+-0.04 -5.21 7.16 0.37 -0.04 -5.18 -0.09 -5.19 -0.09 -5.17 -7.14 -0.34 -0.21 -10.29 -7.14 -0.28 
+-0.11 -5.12 -0.13 -5.1 -0.16 -5.1 -0.15 -5.07 7.08 0.25 -0.2 -5.08 -0.21 -5.05 7.01 0.28 
+-0.24 -5.05 -0.26 -5.03 -0.29 -5.02 -0.3 -5.01 6.93 0.28 -0.35 -5.02 -0.37 -4.97 -0.39 -4.97 
+-0.39 -4.94 6.77 0.26 -0.45 -4.95 -0.48 -4.93 6.71 0.26 -0.54 -4.93 -0.56 -4.88 6.59 0.24 
+-0.63 -4.88 -0.65 -4.88 -0.7 -4.84 6.47 0.22 12.89 0.47 12.8 0.52 0.91 4.93 12.85 0.61 
+6.4 0.33 1 4.99 0.95 5.02 6.46 0.39 0.98 5.04 6.46 0.41 0.98 5.1 6.49 0.46 
+0.95 5.12 0.93 5.14 0.87 5.17 0.83 5.18 0.78 5.19 13.29 1.17 0.78 5.25 0.76 5.27 
+0.71 5.3 0.65 5.29 0.64 5.3 0.56 5.34 6.75 0.76 0.55 5.36 6.75 0.8 0.49 5.41 
+6.75 0.84 0.48 5.42 6.73 0.91 0.43 5.47 6.7 0.98 0.41 5.49 0.37 5.51 0.3 5.51 
+0.26 5.53 0.2 5.54 -6.73 -1.09 0.15 5.51 0.11 5.52 0.04 5.53 0.02 5.54 -6.79 -1.15 
+-0.02 5.51 -0.09 5.54 -0.13 5.51 6.77 1.21 -0.2 5.55 -0.21 5.55 6.7 1.3 -0.28 5.55 
+6.69 1.37 -0.35 5.6 6.62 1.43 -0.41 5.62 -0.45 5.62 6.58 1.52 -0.55 5.62 6.54 1.58 
+-0.61 5.66 6.47 1.65 -0.68 5.69 -0.73 5.66 6.38 1.74 -0.8 5.7 -0.87 5.68 6.29 1.83 
+-0.93 5.71 -1.02 5.68 6.2 1.91 -1.09 5.71 -1.15 5.69 -1.19 5.68 -6.1 -1.97 1.17 -5.67 
+-6.18 -1.9 -6.21 -1.87 -6.25 -1.81 -6.29 -1.73 -6.32 -1.72 -1 5.58 -1.06 5.58 6.27 1.74 
+-1.12 5.58 6.18 1.8 6.14 1.84 -1.25 5.62 6.07 1.91 6.04 1.98 -1.39 5.61 5.95 2.05 
+5.9 2.11 -1.52 5.64 5.82 2.17 0.73 0.29 0 -183.64 -6.53 -1.26 -0.35 -5.71 -6.55 -1.2 
+-0.39 -5.64 -6.57 -1.16 -0.45 -5.62 -6.6 -1.09 -0.5 -5.57 -0.54 -5.56 -0.63 -5.55 -0.65 -5.55 
+-0.74 -5.54 -0.78 -5.53 -6.53 -0.87 -0.83 -5.49 -0.87 -5.47 -0.96 -5.45 6.45 0.78 -1.02 -5.47 
+6.4 0.76 6.36 0.8 1.06 5.54 1.02 5.55 0.96 5.56 0.89 5.57 6.45 0.96 0.84 5.62 
+0.79 5.62 0.71 5.64 6.47 1.09 0.67 5.68 0.61 5.69 0.54 5.7 0.5 5.71 0.41 5.71 
+0.37 5.73 0 183.64 5.02 1.95 -1.65 5.64 -1.74 5.64 5.64 2.32 5.58 2.37 -1.87 5.64 
+-1.96 5.62 5.45 2.46 -2.04 5.62 -2.11 5.59 5.27 2.54 -2.21 5.58 -5.23 -2.56 -2.21 5.55 
+-5.23 -2.49 -5.27 -2.45 -2.19 5.51 -5.28 -2.39 -5.34 -2.32 -5.38 -2.28 -2.08 5.47 -5.38 -2.21 
+-5.43 -2.15 -2.02 5.43 -2.06 5.43 -5.38 -2.11 -2.06 5.38 -2.11 5.38 5.25 2.11 5.21 2.17 
+5.16 2.23 2.28 -5.38 2.23 -5.4 2.17 -5.43 5.3 2.28 5.23 2.34 5.16 2.39 5.13 2.45 
+2.34 -5.45 5.12 2.5 2.34 -5.49 5.13 2.58 5.05 2.63 4.99 2.69 4.93 2.76 4.88 2.82 
+4.79 2.86 2.63 -5.55 4.79 2.93 4.73 3.02 2.67 -5.62 2.58 -5.64 2.52 -5.67 4.84 3.04 
+2.5 -5.73 p
+4.82 3.11 4.75 3.14 2.54 -5.77 2.47 -5.82 4.78 3.19 2.45 -5.86 2.37 -5.93 2.28 -5.95 
+2.21 -5.96 4.93 3.19 2.17 -6.03 2.11 -6.05 2.02 -6.12 4.99 3.19 2 -6.17 1.89 -6.18 
+5.01 3.17 1.87 -6.25 4.96 3.22 -1.88 6.29 -2 6.27 4.82 3.34 -2.12 6.25 -2.22 6.23 
+-2.3 6.16 -2.39 6.14 -2.47 6.08 -2.56 6.05 4.45 3.61 4.34 3.66 -2.75 6.04 4.21 3.78 
+-2.89 6.01 4.04 3.86 -3.04 5.99 3.91 3.95 -3.19 5.94 3.75 4.04 -3.34 5.9 -3.43 5.86 
+3.52 4.14 3.43 4.23 3.3 4.32 3.62 -5.88 2.97 3.99 0 -115.6 -4.84 -3.37 1.85 -6.36 
+1.78 -6.41 1.67 -6.42 4.97 3.23 -1.72 6.46 -1.8 6.45 -1.91 6.41 0 115.6 0.3 0.39 
+3.6 -5.95 3.21 4.47 3.61 -6.03 3.5 -6.1 3.25 4.52 3.5 -6.18 3.38 -6.25 3.28 4.58 
+3.19 4.67 3.43 -6.38 3.13 4.75 2.9 -5.53 0 -557.62 -11.15 -10.62 -4.25 -6.38 -11.46 -10.03 
+-5.01 -6.57 11.69 9.94 11.68 10.54 4.51 6.73 3.99 6.38 0 557.62 0.5 -0.96 3.32 -6.55 
+3.21 -6.62 3.12 -6.73 3 -6.77 2.91 -6.86 2.78 -6.92 2.69 -7.01 3.59 4.54 -2.76 7.05 
+-2.86 6.99 -2.97 6.88 -3.06 6.83 -3.19 6.73 3.12 4.86 2.99 4.95 3.32 -6.82 3.23 -6.9 
+3.02 5 3.19 -7.04 2.13 3.6 0 -34.66 -3.54 -4.6 2.52 -7.18 3.62 4.53 2.45 -7.33 
+2.37 -7.38 2.21 -7.46 -3.79 -4.36 -3.91 -4.25 -2.11 7.34 -2.22 7.27 -3.88 -4.27 -3.97 -4.19 
+2.11 -7.16 2 -7.21 4.07 4.08 1.93 -7.33 4.04 4.07 1.87 -7.44 4.02 4.1 1.78 -7.59 
+1.67 -7.64 4.04 4.04 1.56 -7.79 1.45 -7.86 1.3 -7.9 4.1 3.86 1.21 -8.05 1.09 -8.12 
+4.12 3.75 4.02 3.86 3.95 3.93 -1.21 8.42 -1.37 8.36 3.75 4.23 3.67 4.32 -1.65 8.48 
+-3.6 -4.43 -3.69 -4.32 -1.67 8.21 -3.73 -4.32 -3.82 -4.23 -1.7 7.96 -1.82 7.9 -1.98 7.81 
+-2.08 7.75 -2.23 7.68 -2.37 7.59 -3.54 -4.6 -2.4 7.46 -2.54 7.38 -3.5 -4.63 -2.61 7.25 
+0 34.66 0.87 1.46 3.15 -7.16 2.95 5.1 -3.26 7.23 2.73 5.25 -3.43 7.16 2.5 5.43 
+-3.62 7.09 2.28 5.58 -3.84 7.04 -3.93 6.92 -4.06 6.79 -2 -5.68 -4.08 6.68 -4.14 6.55 
+-2 -5.6 -4.14 6.45 -2.06 -5.51 -4.17 6.34 -4.28 6.23 -4.36 6.1 1.8 5.53 -4.53 6.01 
+1.56 5.62 1.39 5.71 4.69 -5.99 4.63 -6.12 -1.56 -5.73 4.45 -6.25 1.65 5.73 1.48 5.84 
+-4.6 6.25 -4.71 6.11 -4.8 5.99 -4.86 5.88 0.96 5.92 0.78 6.03 0.59 6.14 -5.21 5.71 
+0.33 6.23 -5.38 5.54 0.02 6.29 -0.17 6.4 -0.39 6.51 5.62 -5.42 5.58 -5.55 -0.43 6.68 
+-5.66 5.54 -0.76 6.77 -5.82 5.34 -5.86 5.18 0.93 -6.68 0.7 -6.55 -5.75 5.12 -5.79 5 
+-0.87 6.44 -5.93 4.8 -1.16 6.46 -6.05 4.58 -6.08 4.41 -6.12 4.25 1.37 -6.25 -6.07 4.19 
+-6.14 4.05 -6.14 3.91 -6.18 3.77 1.37 -5.88 -6.17 3.71 -6.18 3.6 -1.48 5.71 -6.27 3.36 
+1.52 -5.62 1.32 -5.58 -6.18 3.41 -6.23 3.28 -1.41 5.41 -1.61 5.43 -1.8 5.47 -6.34 2.87 
+-2.04 5.42 -1.07 2.63 -1.17 2.82 2.15 -0.89 4.25 -1.78 6.4 -2.8 -2.41 5.69 6.4 -2.82 
+6.42 -2.97 p
+6.39 -3.11 6.4 -3.25 -2.52 6.14 -2.76 6.2 -6.45 3.04 -6.45 2.88 -3.05 6.01 -6.47 2.63 
+3.06 -5.88 -6.45 2.61 -6.45 2.45 -1.99 0.74 -4.45 1.59 -2.71 4.84 -0.39 0.69 -1.84 0.61 
+-4.6 1.45 -6.27 1.88 -0.15 0.05 -0.29 0.45 -3.02 4.84 -2.91 0.79 -3.52 0.89 -2.91 4.32 
+-0.58 0.87 -3.73 5.16 -1 0.2 -4.66 0.95 -0.68 0.13 -3.91 5.01 -6.3 1.02 -2.1 2.54 
+-1.96 2.34 -5.84 0.71 -0.39 0.04 -0.67 0.79 -3.54 3.93 -1.73 0.15 -4.41 0.35 -4.37 4.54 
+-6.03 0.26 -4.49 4.36 -5.92 0.02 -5.86 -0.11 -1.02 -0.02 -4.82 -0.17 -2.39 -0.13 -3.41 -0.2 
+-4.34 3.8 -4.52 3.73 5.62 0.57 1.72 0.15 3.95 0.33 5.71 0.34 5.75 0.26 5.79 0.16 
+-5.14 4.34 -5.71 -0.28 -5.66 -0.39 -5.62 -0.5 -0.11 -0.02 -5.44 -0.58 -5.51 -0.7 -2.56 -0.37 
+-2.91 -0.43 -2.88 -0.45 -2.54 -0.43 4.46 -3.43 4.32 -3.47 4.16 -3.54 -5.69 -0.61 3.95 -3.47 
+3.78 -3.49 -3.06 -0.26 -2.73 -0.22 -5.75 -0.57 -5.73 -0.67 -2.3 2.06 -1.23 1.09 -5.6 -0.89 
+-3.58 2.99 -0.76 0.63 -2.93 2.3 -5.36 -1.2 -3.71 2.78 -5.23 -1.41 -3.69 2.63 -3.82 2.54 
+-3.93 2.5 -4.01 2.43 -4.12 2.39 -4.21 2.3 -0.04 0.02 -4.26 2.22 2.43 1.21 1.89 0.93 
+-2.7 1.34 -1.87 0.91 -4.64 2.19 -1.19 0.54 -3.54 1.56 -2.78 -1.73 -1.11 -0.7 -2.93 -1.88 
+-0.89 -0.59 -1.89 0.78 -2.62 1.06 -4.58 1.79 -3.47 -2.72 -4.49 1.61 -4.55 1.55 3.12 2.86 
+-0.56 0.18 -4.23 1.34 2.99 2.88 3.04 2.82 5.14 -1.67 5.08 -1.75 3.43 2.63 5.16 -1.93 
+3.63 2.47 5.25 -2.13 5.16 -2.21 4.01 2.23 4.06 2.18 4.1 2.08 1.63 0.8 2.54 1.24 
+-0.24 0.09 -5.18 2.34 -0.39 0.17 0.7 0.34 3.34 1.72 4.1 1.99 -6.27 2.7 -3.41 -1.8 
+-0.52 -0.28 -1.62 0.65 -4.6 1.84 -1.04 -0.65 -2.65 -1.61 -4.12 1.54 -2.02 0.74 0 135.26 
+10.05 -1.67 13.17 -2.75 13.19 -2.76 13.17 -3.34 13.2 -3.32 13.16 -3.77 13.2 -4.11 13.2 -4.55 
+13.19 -4.58 6.31 -2.5 0 -130.17 -0.71 0 5.62 -4.69 -5.86 0.04 5.34 -4.62 -5.9 0.09 
+5.03 -4.54 5.97 -0.22 6.01 -0.34 6.05 -0.45 0.13 -0.11 4.9 -4.91 4.89 -0.56 1.3 -0.16 
+6.18 -0.87 6.25 -0.98 6.29 -1.13 6.33 -1.25 5.06 -5.78 6.4 -1.56 4.8 -5.92 0.02 -0.02 
+0.05 0 6.42 -1.82 3.28 -4.36 1.28 -1.74 4.32 -6.09 6.51 -2.29 4.05 -6.2 3.78 -6.21 
+6.51 -2.69 3.52 -6.3 6.49 -2.97 3.23 -6.38 6.46 -3.23 6.49 -3.39 -3.17 6.62 -3.43 6.66 
+-6.54 3.15 -3.73 6.59 -6.55 2.87 -4.04 6.49 -4.32 6.49 -6.55 2.45 -4.58 6.39 -4.88 6.36 
+-6.51 2.02 -5.14 6.21 -6.45 1.71 -5.4 6.04 -6.39 1.41 -6.32 1.24 -6.27 1.13 -5.54 5.55 
+-6.16 0.82 3.58 -3.53 1.87 -1.87 -6.19 0.84 -4.64 0.55 -1.5 0.15 -5.34 5.12 -0.85 0.79 
+-4.71 4.27 -2.25 0.11 -3.71 0.17 -5.71 4.84 -5.1 0.02 0 130.17 6.88 -2.71 13.2 -5.23 
+7.66 -3.28 9.33 -4.25 9.36 -4.25 26.39 -13.29 9.5 -5.16 16.84 -9.68 13.2 -8.27 13.21 -8.27 
+1.08 -0.74 25.26 -17.66 12.35 -9.29 14.02 -11.15 9.29 -7.9 9.31 -7.92 7.74 -6.97 10.48 -9.98 
+10.48 -10.01 p
+5.42 -5.46 1.15 -1.24 0 -179.12 0.29 -6.94 5.32 -6.32 5.23 -6.49 -0.18 -6.83 5.04 -6.64 
+4.95 -6.79 0.39 6.86 4.95 -6.96 4.88 -7.1 0.39 6.97 4.88 -7.29 4.78 -7.45 4.66 -7.64 
+0.54 7.07 4.69 -7.83 2.47 -4.36 0 -44.82 -1.82 -6.14 3.61 -7.99 -2.11 -5.93 3.36 -8.03 
+-2.34 -5.73 3.15 -8.1 2.99 -8.2 -2.7 -5.43 2.78 -8.22 -2.9 -5.26 2.54 -8.22 -3.09 -5.04 
+-3.21 -4.91 2.23 -8.16 3.28 4.82 2.17 -8.33 2.02 -8.44 1.87 -8.5 3.41 4.62 1.79 -8.7 
+3.36 4.64 3.26 4.73 3.15 4.86 2.84 4.64 0 -46.18 -3.54 -4.21 -3.62 -4.14 -3.69 -4.04 
+-3.8 -3.97 -1.02 8.79 -3.82 -3.99 -3.93 -3.91 0.91 -8.55 3.97 3.8 0.79 -8.73 3.93 3.75 
+3.84 3.82 3.78 3.93 3.67 3.99 3.58 4.08 0.89 -9.46 3.56 4.04 -0.93 9.62 -3.52 -4.19 
+-1.04 9.38 0 46.18 0.21 0.32 -2.11 9.18 -2.25 9.07 2.75 5.34 -2.52 9.07 -2.69 8.96 
+2.43 5.71 -2.95 8.92 -2.32 -5.82 -2.99 8.71 -3.14 8.57 -3.3 8.44 2 6.07 -3.56 8.38 
+-3.69 8.25 -1.78 -6.23 -3.71 8.05 0 44.82 2.09 -3.62 4.43 -8.18 4.32 -8.33 0.85 7.03 
+-4.45 8.42 0.5 7.27 -4.71 8.27 -4.84 8.09 -4.95 7.88 -0.09 -7.4 -4.9 7.68 -5.04 7.48 
+-5.12 7.32 -5.23 7.14 0.18 -7.3 -0.05 -7.14 -5.08 6.96 -5.16 6.8 -5.25 6.61 -5.34 6.47 
+-5.43 6.29 0 179.13 8.9 -9.51 10.05 -10.74 6.27 -7.14 8.25 -9.92 8.24 -9.89 9.88 -12.67 
+10.55 -14.28 15.84 -23.13 2.48 -3.8 1.37 -2.28 0 -214.39 -1.84 -6.27 3.17 -9.13 2.99 -9.29 
+-2.23 -5.91 2.73 -9.31 2.54 -9.44 -2.61 -5.49 2.29 -9.44 2.69 5.38 2.19 -9.7 2 -9.8 
+2.75 5.2 -2.11 9.96 2.54 5.54 -2.39 9.96 -2.58 9.86 -2.76 9.7 -2.95 9.55 -3.12 9.39 
+-3.3 9.25 0 214.39 6.62 -10.83 0 -169.46 -0.93 -7.21 3.82 -9.68 1.08 7.07 -3.97 9.81 
+0 169.46 0.24 -0.39 5.86 -9.61 0 -44.97 4.64 -13.15 7.66 -14.78 3.52 -12.37 2.93 -11.79 
+2.41 -11.26 1.95 -10.77 1.5 -10.29 -5.66 13.71 -5.92 13.29 1.75 -10.29 1.34 -9.87 1 -9.51 
+-5.25 12.33 0.91 -9.33 0.59 -8.98 -4.95 11.63 0.52 -8.83 4.73 -11.48 0 -8.38 -0.26 -8.09 
+-0.5 -7.82 -4.1 11 -4.3 10.76 -0.37 -7.86 -0.61 -7.62 3.95 -10.5 0.75 7.48 0.76 -2.06 
+0 -127.61 -3.02 -4.71 -3.12 -4.6 -3.22 -4.52 1.05 -9.92 3.3 4.34 0.89 -10.18 3.28 4.26 
+3.17 4.36 -1.06 10.54 -1.26 10.42 0 127.61 3.17 -8.79 3.71 -11.09 0.91 7.4 0.7 7.66 
+1.46 -4.38 0 -114.46 -2.78 -4.92 1.2 -10.91 2.89 4.7 -1.3 11.13 0 114.46 2.41 -7.31 
+0.67 7.72 3.82 -12.15 0.65 7.77 3.78 -12.65 3.52 -12.93 3.21 -13.2 1.04 7.29 0.84 7.59 
+3.35 -14.08 0.86 7.57 0.63 7.88 3.47 -15.08 3.11 -15.41 2.69 -15.73 2.26 -16.02 -1.54 -6.3 
+1.65 -15.82 1.2 -16.08 0.73 -16.25 0.28 -16.45 -0.21 -16.63 -2.3 -3.67 -2.39 -3.57 0.37 15.62 
+-2.41 -3.95 -2.47 -3.84 0.07 14.67 -2.5 -4.13 -0.22 14.15 -0.61 14.02 -0.93 13.87 -1.28 13.7 
+-2.2 -5.38 -2.32 -5.21 -2.41 -5.05 -2.54 -4.89 0.87 -12.5 0.56 -12.61 0.26 -12.71 -2.88 -3.93 
+-2.95 -3.82 p
+-0.13 12.16 -2.97 -4 0.06 -11.91 -3.1 -3.67 -3.19 -3.58 -0.3 -11.48 -0.55 -11.57 -3.34 -3.04 
+-0.85 -11.37 -1.11 -11.41 -1.37 -11.46 -3.45 -2.28 -1.63 -11.26 -3.5 -2.04 -3.57 -2.02 -3.63 -2.04 
+-1.84 -10.61 -3.67 -1.8 -3.75 -1.8 -2.04 -10.22 -3.78 -1.63 -2.23 -10.05 -2.45 -10.03 -2.7 -10.02 
+-2.88 -10.01 -3.13 -9.98 -3.36 -9.94 -3.56 -9.89 3.45 0.35 -3.86 -10.02 -4.08 -9.96 -4.32 -9.92 
+-4.53 -9.83 -4.76 -9.75 -4.96 -9.66 2.82 -0.71 -5.29 -9.72 2.62 -0.96 2.52 -1.04 5.53 10.03 
+2.52 -1 2.41 -1.11 2.3 -1.21 5.67 10.68 2.3 -1.17 2.19 -1.25 5.67 11.18 2.21 -1.2 
+2.08 -1.34 5.67 11.76 2.11 -1.26 1.97 -1.39 1.84 -1.56 1.71 -1.74 1.54 -1.91 -6.49 -13 
+1.22 -2.39 -7.04 -13.04 -7.33 -12.78 0.61 -3.11 -7.86 -12.74 -8.14 -12.43 -0.11 -3.8 8.38 12.66 
+-0.11 -3.87 -0.39 -4.14 -8.9 -13.02 -9.18 -12.65 -9.42 -12.24 -1.52 -4.97 -1.87 -5.27 -2.23 -5.6 
+-2.67 -5.95 -3.1 -6.32 -3.61 -6.68 -4.1 -7.07 -4.71 -7.51 12.03 13.05 11.87 13.71 11.72 14.45 
+-4.11 -7.77 11.91 15.3 11.66 16.05 -3.75 -7.96 11.87 17.08 11.5 17.88 -3.28 -8.01 11.68 19.1 
+11.17 19.97 10.6 20.77 9.95 21.55 9.23 22.27 8.44 22.89 7.59 23.48 -0.48 3.3 6.29 22.96 
+-1.04 1.93 5.14 22.36 4.3 22.54 1.52 0.04 3.56 23.7 -1.65 -1.04 -1.71 -1.15 -1.83 -1.23 
+2.46 20.94 -1.93 -2.11 1.7 20.1 -2 -2.87 1.07 19.29 -2.04 -3.49 0.5 18.46 -0.07 18.32 
+-0.65 18.12 -1.21 17.88 -1.63 -5.79 -1.54 17.06 -2.02 16.79 -2.49 16.47 -2.93 16.17 -3.34 15.84 
+-3.73 15.45 -4.1 15.08 -0.17 8.98 -0.48 9.39 4.75 -15.82 4.35 -16.28 -0.11 9.05 -0.43 9.53 
+4.64 -17.64 -0.37 9.53 -5.05 18.14 0.78 -10.02 -5.08 17.12 0.8 -9.94 -5.1 16.19 -5.46 15.71 
+-5.82 15.19 -2 11.01 -2.52 11.54 -3.06 12.13 -7.4 15.43 -4.17 12.98 -8.14 14.95 0 44.97 
+2.37 -3.88 7.44 -13.26 7.25 -13.67 13.11 -26.98 6.01 -13.54 5.58 -13.39 10.2 -26.98 8.88 -26.97 
+1.71 -5.71 5.86 -21.23 6.34 -26.95 5.14 -26.96 3.95 -26.95 2.82 -26.96 1.69 -26.95 0.57 -26.95 
+-0.57 -26.98 -1.69 -26.95 -2.82 -26.96 -3.95 -26.95 -5.14 -26.96 -6.34 -26.95 -5.86 -21.23 -1.71 -5.71 
+-8.87 -26.98 -10.2 -26.97 -5.58 -13.39 -6.01 -13.54 -13.11 -26.97 -7.25 -13.67 -7.44 -13.26 -16.45 -26.99 
+-2.48 -3.8 -15.84 -23.13 -10.55 -14.28 -9.87 -12.67 -8.24 -9.9 -8.25 -9.91 -6.27 -7.14 -10.07 -10.75 
+-10.03 -10.74 -5.42 -5.47 -10.48 -10 -10.48 -9.98 -7.74 -6.97 -9.31 -7.92 -9.29 -7.9 -14.02 -11.16 
+-12.35 -9.29 -25.26 -17.66 -1.08 -0.74 -13.21 -8.27 -13.2 -8.27 -16.84 -9.68 -9.5 -5.16 -26.39 -13.29 
+-9.36 -4.25 -9.33 -4.25 -7.66 -3.28 -26.39 -10.46 -26.39 -9.12 -13.2 -4.1 -13.16 -3.77 -13.2 -3.32 
+-13.17 -3.34 -13.19 -2.76 -13.17 -2.75 -13.2 -2.19 -13.2 -2.17 -13.17 -1.63 -13.2 -1.63 -13.17 -1.08 
+-13.2 -1.09 -13.2 -0.54 -13.17 -0.54 -26.37 0 -13.19 0.54 -13.17 0.54 -13.2 1.09 -13.17 1.08 
+-13.2 1.63 -13.17 1.63 -13.2 2.17 -13.2 2.19 -13.18 2.75 -13.2 2.76 -13.2 3.34 -13.17 3.32 
+-13.13 3.77 -13.21 4.1 -26.39 9.12 -26.39 10.46 -7.66 3.28 -9.35 4.25 -9.33 4.25 -26.39 13.29 
+-9.5 5.16 p
+-16.84 9.68 -13.2 8.27 -13.21 8.27 -1.09 0.74 -25.26 17.66 -12.35 9.29 -14.02 11.16 -9.29 7.9 
+-9.31 7.92 -7.75 6.97 -10.5 9.98 -10.46 10 -5.43 5.47 -20.1 21.48 -6.27 7.14 -8.25 9.91 
+-8.24 9.9 -9.88 12.67 -10.55 14.28 -15.84 23.13 -2.47 3.8 -16.45 26.99 -7.45 13.26 -7.25 13.67 
+-13.11 26.97 -6.01 13.54 -5.58 13.39 -10.2 26.97 -8.87 26.98 -1.71 5.71 -5.86 21.23 -6.33 26.95 
+-5.12 26.96 -3.97 26.95 -2.82 26.96 -1.7 26.95 p f*
+255 0 r6
+476.04 1455.75 -2.8 4.95 3.75 6.36 3.84 6.27 -2.52 5.1 -2.39 5.19 4.1 6.2 -2.19 5.3 
+4.27 6.12 4.36 6.01 4.45 5.92 -1.78 5.41 4.63 5.79 4.69 5.71 -1.46 5.49 4.86 5.58 
+-1.24 5.58 5.02 5.45 5.08 5.34 -0.89 5.62 -0.71 5.71 -5.26 -5.3 -0.61 5.84 5.32 5.25 
+-0.36 5.9 5.46 5.07 5.51 4.97 0 5.9 5.64 4.78 0.26 5.95 5.77 4.58 5.84 4.47 
+0.59 5.9 5.94 4.28 5.97 4.14 0.91 5.84 6.07 3.93 1.2 5.82 6.16 3.71 1.43 5.81 
+6.23 3.5 6.27 3.36 1.74 5.66 6.32 3.13 1.97 5.63 6.36 2.9 6.38 2.76 6.38 2.63 
+6.41 2.49 6.4 2.39 6.4 2.23 6.41 2.13 6.4 2 6.4 1.87 2.3 4.66 6.4 1.65 
+6.4 1.49 6.38 1.41 2.45 4.35 4.21 0.78 -6.01 -4.99 -0.96 -0.7 -6.82 -4.91 -3.14 -4.69 
+-0.8 -0.7 -6.86 -2.78 -5.25 -4.17 -3.06 -5.01 -1.8 -4.66 -1.71 -2.69 -3.86 -3.41 -3.25 -1.52 
+-1 -0.13 -1.78 3.49 2.88 5.28 -2 2.52 -0.52 0.75 -3.8 2.28 -0.57 0.39 -4.32 1.02 
+-0.87 -0.37 -5.64 -2.36 -7.14 -4.49 -1.63 -1.45 -6.21 -5.51 -3.15 -3.21 -0.13 -0.11 -4.4 -3.9 
+-6.51 -6.08 -0.93 -1.3 -6.04 -7.23 -1.8 -5.88 1.7 -3.91 -1.02 -5.51 -0.52 -5.27 2.56 -3.37 
+0.11 0.07 3.93 -2.52 -1.84 -6.14 -2.56 -2.98 -5.73 -7.2 -1.37 -1.52 -4.27 -4.38 -3.73 -6.88 
+4.49 -1.76 1.59 0.95 -1.5 -1.71 -1.61 -6.21 2.76 -1.54 5.21 6.1 5.79 2.71 5.82 2.54 
+5.6 4.36 3.36 1.63 2.47 1.02 5.93 2.21 5.53 1.15 -0.18 -4.96 -0.2 -5.06 0.93 -4.34 
+0.41 -4.75 -1.47 -5.08 -0.26 -1.37 -0.76 -5.88 1.21 -4.38 1.17 -4.49 1.5 -4.28 1.57 -4.28 
+1.15 -4.68 0.24 -0.98 1.28 -3.43 1.13 -4.88 2 -4.1 2.69 -3.49 2.84 -3.37 1.58 -4.67 
+-0.83 -3.75 -1.11 -4.82 5.14 -1.06 2.11 -1.48 1.59 -1.15 5.49 -0.62 3.61 -0.43 1.61 -0.46 
+5.49 -0.52 3.13 -0.39 2.11 -0.43 6.44 0.67 -3.93 -4.6 -4.02 -4.8 -3.35 3.08 -3.25 3.14 
+-4.11 -4.82 -4.01 -4.86 -3.32 3.26 -4.04 -4.88 -3.32 3.32 -4.04 -4.93 -3.97 -4.99 3.45 -3.37 
+-3.86 -5.04 -3.5 3.37 -3.86 -5.08 -3.5 3.45 -3.84 -5.12 -3.47 3.52 -3.39 3.6 -3.93 -5.17 
+-3.36 3.69 -3.91 -5.21 -3.84 -5.25 -3.78 -5.32 -3.71 -5.37 3.63 -3.71 -2.54 -3.84 -1.05 -1.59 
+-3.49 -5.49 -3.41 -5.51 -3.82 3.69 3.47 5.53 -3.67 3.79 3.63 5.47 3.71 5.42 3.77 5.39 
+-3.38 3.84 -3.28 3.93 -3.17 3.99 4.04 5.28 -3 4.06 -2.91 4.12 -4.19 -5.25 -2.84 4.21 
+-2.76 4.29 -2.62 4.36 -2.52 4.45 -2.06 3.91 -0.32 0.63 -4.49 -5.28 -2.32 4.62 -2.23 4.71 
+-4.54 -5.34 -4.47 -5.41 -4.38 -5.49 -4.32 -5.58 -4.23 -5.64 -4.14 -5.75 -4.06 -5.81 -4 -5.93 
+-3.88 -5.96 2.89 -4.73 -3.73 -6.05 -3.64 -6.14 3.14 -4.62 3.25 -4.52 3.36 -4.45 3.47 -4.34 
+3.37 6.08 3.52 -4.27 3.36 5.99 3.47 5.92 3.5 -4.23 3.58 -4.15 -3.34 -5.9 -3.26 -5.94 
+-3.71 4.1 -3.23 -6.03 -3.14 -6.1 -3.04 -6.16 -2.97 -6.21 3.95 -4.04 4.08 -3.95 2.82 6.17 
+4.1 -3.89 -2.78 -6.14 4.23 -3.8 -2.65 -6.16 -2.54 -6.21 -2.45 -6.27 -2.39 -6.29 -2.28 -6.36 
+-2.17 -6.41 P
+-4.58 3.63 -4.47 3.69 2.29 6.47 2.38 6.4 -4.27 3.84 2.52 6.41 2.64 6.36 -4.1 3.97 
+-4 4.06 -3.9 4.14 2.91 6.38 -3.73 4.28 3.06 6.33 -3.56 4.38 -3.47 4.45 -3.37 4.55 
+-3.23 4.64 3.43 6.38 -3.06 4.77 -2.93 4.86 p f*
+489.63 1541.19 -1.07 5.8 5.04 5.64 0.95 -5.8 -4.93 -5.64 f*
+499.3 1233.66 -5.36 2.58 0.41 6.82 0.54 6.82 5.32 -2.69 0.63 6.75 0.72 6.7 0.8 6.68 
+0.91 6.66 1.02 6.64 5.26 -2.91 1.08 6.55 1.17 6.56 5.25 -2.96 1.24 6.46 1.32 6.45 
+1.41 6.4 1.52 6.38 1.58 6.36 -5.05 3.14 1.71 6.36 -4.95 3.25 -4.91 3.32 -4.82 3.39 
+-4.73 3.47 1.99 6.47 2.11 6.42 4.64 -3.54 -2.04 -6.38 4.75 -3.43 4.84 -3.37 4.92 -3.29 
+4.97 -3.22 5.06 -3.14 0.78 2.63 0 -162.89 -1.48 -1.26 1.37 -6.79 0.84 -1.08 6.08 -4.8 
+4.49 -3.78 1.78 -2.2 1.02 1.41 -0.78 6.43 -1.15 1.45 -5.75 3.87 -0.28 0.2 -4.32 4.25 
+-1.82 2.3 0 162.89 1.04 3.6 1.89 6.18 5.03 -3.14 5.1 -3.08 5.19 -3.02 1.84 6.08 
+5.18 -2.97 5.21 -2.89 0 -267.34 -1.56 -3.14 4.7 -6.54 0.16 1.15 0 -1.58 0.08 -5.73 
+1.7 -6.19 2.11 -6.2 2.39 -6.23 2.14 -6.14 2.65 -6.19 3.04 -6.18 4.47 -2.85 0.63 2.48 
+-0.98 5.95 -2.61 6.1 -3.19 6.21 -2.63 6.16 -2.66 6.23 -1.91 4.19 -0.93 2.11 -4.29 6.29 
+0 1.58 0.58 4.54 -3.88 3.99 0 267.34 0.05 -0.04 5.32 -2.84 -1.72 -5.99 5.41 -2.75 
+5.49 -2.72 5.54 -2.64 5.58 -2.56 5.66 -2.54 -1.45 -5.89 5.73 -2.43 -1.34 -5.88 5.82 -2.37 
+-1.24 -5.86 5.91 -2.28 -1.15 -5.86 5.99 -2.21 -1.07 -5.83 6.05 -2.13 6.13 -2.06 6.14 -2.02 
+-0.91 -5.77 6.23 -1.93 -0.82 -5.77 6.29 -1.87 -0.74 -5.75 -0.7 -5.76 6.38 -1.78 -0.61 -5.73 
+-0.54 -5.73 -0.5 -5.73 6.46 -1.65 6.49 -1.61 6.54 -1.56 -0.39 -5.66 6.58 -1.5 -0.3 -5.64 
+6.62 -1.41 6.64 -1.39 -0.24 -5.6 6.7 -1.31 6.73 -1.28 6.74 -1.24 -0.17 -5.53 6.79 -1.18 
+-0.13 -5.51 6.82 -1.11 6.86 -1.09 -0.06 -5.45 -0.02 -5.46 0 -5.45 0.06 -5.42 0.09 -5.45 
+-6.86 0.98 0.15 -5.44 -6.82 0.99 0.18 -5.46 0.24 -5.45 -6.77 0.98 0.28 -5.47 0.34 -5.47 
+0.39 -5.44 0.44 -5.45 0.48 -5.42 0.54 -5.43 -6.68 0.87 0.59 -5.45 0.65 -5.41 0.71 -5.42 
+-6.6 0.8 0.78 -5.4 -6.55 0.78 0.84 -5.43 -6.5 0.78 -1.41 0.18 -5.06 0.65 -6.45 0.82 
+1 -5.51 -6.4 0.83 1.08 -5.54 -6.32 0.8 1.17 -5.55 1.24 -5.55 1.3 -5.51 1.37 -5.51 
+1.43 -5.52 -6.12 0.66 1.54 -5.52 -6.05 0.64 1.65 -5.54 -5.99 0.58 1.75 -5.53 1.85 -5.54 
+-5.86 0.52 1.97 -5.55 -5.79 0.49 -5.73 0.5 -5.71 0.5 2.17 -5.64 2.28 -5.64 2.37 -5.6 
+2.43 -5.58 -5.45 0.33 2.59 -5.6 -5.36 0.3 -5.34 0.28 -5.27 0.26 2.87 -5.68 2.93 -5.67 
+-5.1 0.18 3.1 -5.69 3.22 -5.64 -4.95 0.06 3.36 -5.64 -4.82 0 3.56 -5.67 3.64 -5.62 
+3.73 -5.58 3.86 -5.55 3.95 -5.49 -4.38 -0.22 4.14 -5.49 -4.25 -0.28 4.34 -5.47 4.45 -5.43 
+4.53 -5.39 4.67 -5.32 2.11 -2.34 -5 2.02 -1.95 0.98 -5.62 1.54 -4.67 1.95 -2.32 5.76 
+0.04 0.24 -2.04 5.51 -0.41 2.71 -0.13 3.11 -0.32 3.14 -0.35 2.61 -5.54 5.32 -0.21 0.2 
+-5.64 5.55 -6.68 5.55 -3.69 -1.28 -1.28 1.19 -4.1 2.98 -3.76 2.73 1.91 3.84 2.93 2.17 
+0.24 0.13 0.3 5.71 -5.99 5.88 -3.19 2.99 -1.71 -2.93 -0.63 -1.11 1.59 -4.82 3.95 -5.92 
+0.42 -5.84 P
+-3.85 5.8 -3.82 5.95 -3.66 6.01 -4.67 0.02 -3.65 6.08 -3.54 6.14 -3.41 6.16 -3.3 6.18 
+-3.19 6.25 -3.08 6.25 5.03 -0.37 -2.91 6.25 -2.8 6.25 5.2 -0.48 -2.64 6.23 -2.54 6.25 
+-2.43 6.27 -2.32 6.32 -2.23 6.31 -2.11 6.34 -2.02 6.34 5.55 -0.91 -1.89 6.31 -1.76 6.34 
+-1.69 6.34 -1.57 6.33 -1.49 6.36 -1.37 6.38 -1.3 6.38 -1.18 6.38 -1.11 6.4 -0.98 6.38 
+-5.79 1.5 -0.93 6.46 -5.75 1.59 -0.82 6.5 -5.73 1.67 -0.74 6.58 -5.69 1.76 -0.65 6.64 
+-5.64 1.84 -0.55 6.68 -0.43 6.7 -5.6 2 -0.33 6.75 -0.24 6.73 -5.54 2.17 -0.13 6.79 
+-0.02 6.77 0.09 6.77 0.2 6.75 -5.45 2.45 0.3 6.79 p f*
+0 155 255 rG
+533.31 1161.07 -1.37 6.79 1.48 1.26 1.82 -2.3 4.32 -4.25 0.28 -0.2 0 -3.15 -0.26 -0.04 
+0.29 -0.26 0.3 0.09 -0.32 0.22 0 3.15 5.75 -3.87 1.15 -1.45 0.78 -6.43 -1.02 -1.41 
+-1.78 2.2 -4.49 3.78 -6.08 4.8 -0.84 1.08 f*
+2 239 204 rG
+539.87 1158.92 -0.29 0.26 0.26 0.04 0.32 -0.22 -0.3 -0.09 f*
+255 0 r6
+544.71 1431.38 -3.89 3.84 3.3 5.75 3.84 -3.84 3.93 -3.75 4.01 -3.69 4.11 -3.62 -3.06 -5.73 
+-4.17 3.61 -4.08 3.69 -3.99 3.75 f*
+558.27 1411.04 -4.32 3.52 3 5.77 4.23 -3.54 -2.91 -5.75 f*
+559.87 1401.8 -4.44 3.43 2.84 5.82 4.38 -3.47 4.47 -3.39 -2.73 -5.77 -4.52 3.38 f*
+0 155 255 rG
+565.84 1594.81 -4.49 1.76 3.73 6.88 4.27 4.38 1.37 1.52 5.73 7.2 2.56 2.98 1.84 6.14 
+-3.93 2.52 -0.11 -0.07 -2.56 3.37 0.52 5.27 1.02 5.51 -1.7 3.91 1.8 5.88 6.04 7.23 
+0.93 1.3 6.51 6.08 4.4 3.9 0 -4.53 -5.16 -2.02 -1.22 -1.11 0.29 -2.32 6.1 5.45 
+0 4.53 0.13 0.11 3.15 3.21 6.21 5.51 1.63 1.45 7.14 4.49 5.64 2.36 0 -1.75 
+-6.62 -3.08 -1.06 -0.72 -6.73 -5.84 -3.3 -2.86 0.31 -0.09 0 -6.53 -6.66 -4.45 -2 -2.04 
+-3.43 -6.42 1.17 0.13 0 -13.61 -0.07 -0.06 -5.58 -8.06 4.93 1 4.73 4.63 -3.95 2.49 
+-0.07 0 0 13.61 2.32 0.26 4.91 2.41 0 -5.82 -3.54 -3.75 2.87 -0.3 2.69 3.21 
+-2.02 0.84 0 5.82 1.3 0.63 4.32 3.58 1.37 5.14 -3.3 0.76 0 6.53 1.86 -0.39 
+5.92 1.45 1.93 -1.08 3.08 -0.39 6.47 2.97 3.14 2.56 0.48 4.43 -0.98 0.56 -3.16 2.17 
+-1.35 0.3 0 1.75 0.87 0.37 4.32 -1.02 0.57 -0.39 3.8 -2.28 0.52 -0.75 2 -2.52 
+-2.88 -5.28 1.78 -3.49 1 0.13 3.25 1.52 3.86 3.41 1.71 2.69 1.8 4.66 3.06 5.01 
+5.25 4.17 6.86 2.78 0.8 0.7 3.14 4.69 6.82 4.91 0.96 0.7 6.01 4.99 2.15 0.37 
+0.95 1.56 7.9 3.45 0.54 0.21 7.81 3.67 3.69 1.34 3.3 0.3 1.52 2.09 5.23 1.99 
+3.38 1.52 5.49 2.39 2.45 0.04 1.21 1.45 4.51 2.09 3.32 -0.07 1.87 2.09 2.63 1.26 
+2.69 -0.15 -6.96 -3.21 -0.37 -0.15 -8.1 -3.3 -1.23 -0.52 -7.66 -3.28 -1.34 -0.57 -8.45 -3.64 
+-0.26 -0.15 -7.84 -2.87 -4.23 -1.98 -3.75 -1.37 -7.51 -4.06 -1.32 -1.04 -5.75 -4.08 -3.75 -2.78 
+-3.73 -2.71 -3.69 -4.78 -3.17 -2.73 -7.16 -4.03 -0.33 -0.33 -4.04 -5.04 -0.46 -4.14 0.29 -2.3 
+1.11 -1.21 -2.23 -2.43 -6.45 -2.62 -6.18 -1.89 -5.69 -0.76 -0.11 0.16 -5.77 -0.68 -2.78 -3.1 
+-4.95 -5.23 -1.91 -2.25 -2.84 -5.84 0.52 -4.23 -4.12 -6.68 -0.65 -0.52 -6.32 -5.93 -3.84 -4.3 
+-2.39 -2.32 -4.99 -7.05 -1.11 -2.09 -5.81 -6.59 -1.43 -1.84 -4.23 -5.08 -4.73 -6.6 5.16 0.64 
+5.25 1.66 0.68 -0.13 5.73 3.56 5.79 3.32 5.86 2.7 5.77 4.45 2.96 3.84 2.75 3.71 
+5.51 5.75 0.41 0.3 5.34 3.17 0 -75.67 -3.17 -6.68 5.63 2.28 1.52 4.1 -3.97 0.3 
+0 75.67 0.67 0.39 6.12 5.63 3.36 3.3 3.02 3.64 5.55 4.56 0.88 0.74 6.23 2.84 
+0.75 -0.16 -1.06 -2.49 -2.09 -2.91 0.65 -3.78 -0.52 -4.34 -1.87 -5.05 -1.62 -5.02 -1.04 -2.3 
+-2.59 -3.93 -2.62 -5.86 -0.04 -0.24 -0.66 -4.62 -0.47 -4.82 -2.48 -5.92 -0.2 -0.37 -1.32 -5.6 
+-0.41 -5.1 1.45 -3.84 -0.34 -4.32 -0.41 -1.22 -1.2 -5.99 0.43 -4.84 2.52 -2.99 0 -28.3 
+-0.09 -0.15 0.19 -0.02 -0.06 0.15 -0.05 0.02 0 28.3 0.11 -0.13 3.04 -2.82 -0.12 -5.5 
+0.43 -1.5 0.79 -2.95 1.95 -1.52 1.37 -1.11 2.93 -2.95 0.06 -2.49 -0.22 -3.41 3.15 -2.84 
+1.69 0 2.91 -1.43 1.04 -3.47 -2.11 -3.63 -0.87 -2.71 1.3 -3.08 3.36 -2.8 1.06 -0.39 
+3.28 -1.35 4.43 -1.61 4.52 -1.48 1.02 0.16 5.14 0.24 4.43 -0.52 0.79 -0.11 4.27 -1.67 
+3.28 -2.82 P
+3.99 -2 4.95 0.41 1.54 0.67 6.29 0.93 0.13 0.02 3.41 -2.46 3.56 -2.45 -1.93 -2.52 
+-4.86 -0.11 -0.48 0.32 -0.28 -0.37 -5.86 -0.39 -3.67 0.35 -1.04 0.78 -0.59 -0.74 -5.43 0.29 
+-3.82 2.32 2.88 3.5 -3.36 2.78 -3.28 2.82 -3.43 -3.97 -2.2 0.65 -1.72 1.52 -1.06 -1.22 
+-6.14 -0.63 -0.13 0.11 -0.13 -0.15 -6.44 -0.67 -2.11 0.43 -3.13 0.39 -5.49 0.52 -1.61 0.46 
+-3.61 0.43 -5.49 0.63 -1.59 1.15 -2.11 1.48 -5.14 1.06 1.11 4.82 0.83 3.75 -1.58 4.67 
+-2.84 3.37 -2.69 3.49 -2 4.1 -1.12 4.88 -1.28 3.43 -0.24 0.98 -1.15 4.68 -1.57 4.28 
+-1.5 4.28 -1.17 4.49 -1.21 4.38 0.76 5.88 0.26 1.37 1.47 5.08 -0.41 4.75 -0.93 4.34 
+0.2 5.06 0.18 4.96 -5.53 -1.15 -5.93 -2.21 -2.47 -1.02 -3.36 -1.63 -5.6 -4.36 -5.82 -2.54 
+-5.79 -2.71 -5.21 -6.1 -2.76 1.54 1.61 6.21 1.5 1.71 -1.59 -0.95 p f*
+567.05 1055.75 -4.7 6.54 1.56 3.14 3.88 -3.99 -0.58 -4.54 -0.16 -1.15 f*
+2 239 204 rG
+571.27 1600.79 -5.16 -0.64 4.73 6.6 4.23 5.08 1.43 1.84 5.81 6.59 1.11 2.09 4.99 7.05 
+2.39 2.32 3.84 4.3 6.32 5.93 0.65 0.52 4.12 6.68 -0.52 4.23 2.84 5.84 1.91 2.25 
+4.95 5.23 2.78 3.1 5.77 0.68 0.11 -0.16 5.69 0.76 6.18 1.89 6.45 2.62 2.23 2.43 
+-1.11 1.21 -0.29 2.3 0.46 4.14 4.04 5.04 0.33 0.33 7.16 4.03 3.17 2.73 3.69 4.78 
+3.73 2.71 3.75 2.78 5.75 4.08 1.32 1.04 7.51 4.06 3.75 1.37 4.23 1.98 7.84 2.87 
+0.26 0.15 8.45 3.64 1.34 0.57 7.66 3.28 1.23 0.52 8.1 3.3 0.37 0.15 6.96 3.21 
+1.85 -0.09 1.08 1.13 4.71 1.89 2.04 -0.17 -7.25 -2.89 -0.82 -0.24 -7.29 -2.87 -2.47 -1.08 
+-5.73 -2.32 -3.59 -1.54 -5.16 -2.19 -3.73 -1.54 -6.01 -2.63 -2.72 -1.28 -8 -3.19 -0.65 -0.3 
+-6.96 -2.54 -5.55 -2.99 -3.71 -2.93 -2.89 -2.07 -6.53 -4.84 -0.7 -0.5 -4.23 -4.87 -5.49 -4.76 
+-2.06 -1.15 -5.12 -5.47 3.67 -2.28 0.58 -0.35 -0.37 -4.02 -2.75 -3.36 -2.3 -2.28 -5.02 -3.39 
+-6.04 -1.28 -0.54 0.41 -5.19 -0.65 -5.9 -0.96 -6.45 -3.25 -4.04 -4.21 -2.75 -5.66 0.45 -4.23 
+-1.78 -5.36 -1.41 -1.36 -6.3 -5.01 -4.82 -4.95 -1.48 -1.61 -6.12 -5.79 -2.34 -3.32 -3.63 -6.92 
+-0.75 -0.87 -5.02 -4.69 -5.58 -6.96 -1.21 -1.64 1.32 0.13 5.9 1.45 5.73 3.95 5.71 4.82 
+5.14 5.73 0.56 1.54 5.9 4.75 5.99 5.21 6.01 3.15 5.99 1.97 4.23 4.25 2 1.97 
+4.79 5.63 2.07 4.52 1.64 1.37 4.84 3.32 6.36 3.2 3.43 3.6 3.65 2.95 6.18 1.61 
+3.19 0.22 -4 -4.18 -2.02 -1.8 0.93 -3.47 -1.43 -4.45 -1.5 -4.52 -0.66 -4.19 -1.23 -4.53 
+-2.24 -4.17 -0.35 -1.09 -1.45 -4.8 -1.22 -4.77 -0.67 -4.56 -0.08 -4.3 -0.41 -1.08 -1.29 -4.21 
+-1.32 -5.21 0.75 -3.96 -0.91 -2.5 -0.95 -3.28 -0.44 -4.92 -0.41 -5.03 -0.04 -1.02 -0.78 -4.43 
+1.32 -3.93 2 -3.47 1.04 -4.23 2.34 -3.23 -0.28 -5.47 0.11 -0.62 1.06 -3.73 2.13 -3.56 
+2.11 -3.62 2.28 -3.5 2.04 -3.8 3.21 -2.67 2.85 -3.06 2.63 -3.3 2.89 -3.1 2.47 -3.56 
+3.32 -2.69 4.14 -1.76 3.3 -1.04 1.61 0.17 4.29 -1.56 5.02 0.32 1.06 0.26 -0.56 -0.67 
+3.36 -2.61 3.43 -2.56 0.07 -0.04 -0.13 -0.02 -6.29 -0.93 -1.54 -0.67 -4.95 -0.41 -3.99 2 
+-3.28 2.82 -4.27 1.67 -0.79 0.11 -4.43 0.52 -5.14 -0.24 -1.02 -0.16 -4.52 1.48 -4.43 1.61 
+-3.28 1.35 -1.06 0.39 -3.36 2.8 -1.3 3.08 0.87 2.71 2.11 3.63 -1.04 3.47 -2.91 1.43 
+-1.69 0 -3.15 2.84 0.22 3.41 -0.06 2.49 -2.93 2.95 -1.37 1.11 -1.95 1.52 -0.79 2.95 
+-0.43 1.5 0.13 5.5 -3.04 2.82 -0.11 0.13 -2.52 2.99 -0.43 4.84 1.2 5.99 0.41 1.22 
+0.34 4.32 -1.45 3.84 0.41 5.1 1.32 5.6 0.2 0.37 2.48 5.92 0.47 4.82 0.66 4.62 
+0.04 0.24 2.63 5.86 2.59 3.93 1.04 2.3 1.63 5.02 1.87 5.05 0.52 4.34 -0.65 3.78 
+2.09 2.91 1.06 2.49 -0.75 0.16 -6.23 -2.84 -0.87 -0.74 -5.55 -4.56 -3.02 -3.64 -3.36 -3.3 
+-6.12 -5.62 -0.67 -0.39 -5.34 -3.17 -0.41 -0.3 -5.51 -5.75 -2.75 -3.71 -2.96 -3.84 -5.77 -4.45 
+-5.86 -2.7 P
+-5.79 -3.32 -5.73 -3.56 -0.68 0.13 -5.25 -1.66 p f*
+0 155 255 rG
+567.29 1049.59 -0.08 5.73 4.29 -6.29 0.93 -2.11 0 -6.14 1.15 -3.86 2.23 -6.19 1.68 -6.09 
+2.75 -6.17 3.02 -3.52 0.07 3.26 -2.58 6.12 -3.62 6.27 -2.76 6.2 -1.93 3.97 0 6.14 
+1.91 -4.19 2.66 -6.23 2.63 -6.16 3.19 -6.21 2.61 -6.1 0.98 -5.95 -0.63 -2.48 -4.47 2.85 
+-3.04 6.18 -2.65 6.19 -2.14 6.14 -2.39 6.23 -2.11 6.2 -1.7 6.19 f*
+255 0 r6
+573.5 1377.15 -4.86 3.14 2.48 5.82 2.54 5.77 4.75 -3.14 4.82 -3.11 -2.43 -5.75 4.93 -3.02 
+-2.3 -5.77 -4.99 3 -4.93 3.06 f*
+7 193 59 rG
+571.09 1603 -1.32 -0.13 1.21 1.64 5.58 6.96 5.02 4.69 0.75 0.87 3.63 6.92 2.34 3.32 
+6.12 5.79 1.48 1.61 4.82 4.95 6.3 5.01 1.41 1.36 1.78 5.36 -0.45 4.23 2.75 5.66 
+4.04 4.21 6.45 3.25 5.9 0.96 5.19 0.65 0.54 -0.41 6.04 1.28 5.02 3.39 2.3 2.28 
+2.75 3.36 0.37 4.02 -0.58 0.35 -3.67 2.28 5.13 5.47 2.06 1.15 5.49 4.76 4.23 4.88 
+0.7 0.5 6.53 4.84 2.89 2.07 3.71 2.93 5.55 2.99 6.96 2.54 0.65 0.3 8 3.19 
+2.72 1.28 6.01 2.63 3.73 1.54 5.16 2.19 3.59 1.54 5.73 2.32 2.47 1.08 7.29 2.87 
+0.82 0.24 7.25 2.89 1.17 -0.13 0.89 0.89 3.78 2.04 3.93 2.95 0.93 -0.13 -3.82 -2.95 
+-5.12 -2.84 -1.16 -0.54 -6 -2.3 -3.47 -0.95 -5.2 -2.06 -4.58 -2 -3.37 -1.37 -5.92 -2.52 
+-2.67 -1.15 -6.1 -2.52 -3.62 -1.58 -5.12 -2.41 -5.46 -2.21 -2.87 -1.55 -7.09 -2.11 -3.6 -1.93 
+-6.1 -4.82 -0.07 -0.05 -6.01 -5.01 -3.82 -3.02 -1.91 -2.15 -0.65 -3.34 3.23 0.15 -1.34 -4.12 
+-3.87 -4.88 -2.84 -3.43 -0.89 -1.52 -4.34 -5.27 -3.86 -4.38 -6.51 -3.06 -2.61 -1.24 -4.12 -2.99 
+-0.82 1.02 -3.39 2.78 -0.59 -0.07 -5.95 -1.15 -0.28 -0.2 -5.91 -3.93 -0.58 -0.63 -3.52 -5.6 
+1.13 -3.86 -0.76 -4.77 -5.87 -5.73 -6.25 -5.12 -0.11 -0.09 -6.14 -6.57 -5.27 -4.82 -0.79 -1.93 
+-1.19 -4.19 -4.62 -5.56 -5.75 -4.58 -3.23 -4.11 3.43 0.74 5.75 4.02 4.04 4.27 1.61 4.04 
+1.3 2.75 4.6 5.38 5.97 3.08 6.03 4.23 6.03 2.91 5.82 0.71 0.13 0.02 0.06 0.09 
+6.25 6.25 1.78 2.11 0.65 4.56 4.88 5.64 2.82 1.93 4.3 5.42 0.37 0.57 6.79 5.64 
+5.95 0.63 6.12 1.37 6.8 3.75 3.86 2.7 3.36 2.11 6.75 2.91 1.37 0.8 0 -20.03 
+-0.04 -0.02 0.02 0 0.02 0.02 0 20.03 2.65 1.61 2.65 4.1 2.23 1.95 1.28 -0.02 
+0 -13.87 -0.67 -1.05 0.28 -0.41 0.61 0.65 -0.21 0.8 0 13.87 4.54 -0.09 0.39 -0.02 
+-0.61 -0.56 -2.21 -3.41 0.11 -2.36 6.55 3.79 0.85 0.38 7.36 3.66 3.04 -1.87 1.49 -1.78 
+1 -0.89 1.15 -2.88 -4.62 -3.75 -0.54 -0.41 -4.45 -4.19 -2.82 -2.47 -3.37 -2.37 -3.91 -3.82 
+-0.52 -0.74 -2.07 -3.99 -2.21 -4.11 -2.76 -3.71 -1.19 -1.11 -0.33 -3.58 0.15 -3.43 -4.12 -3.37 
+-0.89 -0.71 -1.84 -2.34 -0.82 -4.01 -2.8 -4.71 -0.13 -0.37 0.13 -3.69 0.59 -0.09 3.51 -1.65 
+-2.23 -2.62 -0.41 -0.48 -6.1 -2.16 -5.36 -5.34 -1.54 -1.65 -3.49 -4.64 -1.32 -2.37 -1.24 -5.06 
+-1.34 -1.8 -0.87 -4.02 0.2 -4.36 1.82 -3.32 0.31 -4.4 -0.52 -2.97 -0.65 -2.6 0.17 -4.71 
+0.43 -4.6 0 -1.32 0.15 -3.62 2.21 -3.3 2.78 -2.82 1.25 -4.21 1.09 -4.45 3.1 -2.63 
+2.67 -3.05 2.67 -3.08 3.63 -2.13 2.43 -3.36 2.28 -3.59 4.84 -0.89 3.89 -1.87 0.97 -0.48 
+3.23 -1.05 5.06 2.07 3.49 1.32 -2.17 -2.41 -4.04 -4.58 -3.43 -3.97 -1.06 -0.26 -5.02 -0.32 
+-4.29 1.56 -1.61 -0.17 -3.3 1.04 -4.14 1.76 -3.32 2.69 -2.47 3.56 -2.89 3.1 -2.62 3.3 
+-2.85 3.06 -3.21 2.67 -2.04 3.8 -2.28 3.5 -2.11 3.62 -2.12 3.56 -1.06 3.73 -0.11 0.63 
+0.28 5.47 P
+-2.34 3.23 -1.04 4.23 -2 3.47 -1.32 3.93 0.78 4.43 0.04 1.02 0.41 5.03 0.44 4.92 
+0.95 3.28 0.91 2.5 -0.75 3.96 1.32 5.21 1.29 4.21 0.41 1.08 0.08 4.3 0.67 4.56 
+1.22 4.77 1.45 4.8 0.35 1.09 2.24 4.17 1.23 4.53 0.66 4.19 1.5 4.52 1.43 4.45 
+-0.93 3.47 2.02 1.8 4 4.18 -3.19 -0.22 -6.18 -1.61 -3.65 -2.95 -3.43 -3.6 -6.36 -3.2 
+-4.84 -3.32 -1.64 -1.37 -2.07 -4.52 -4.79 -5.62 -2 -1.97 -4.23 -4.25 -5.99 -1.97 -6.01 -3.15 
+-5.99 -5.21 -5.9 -4.75 -0.56 -1.54 -5.14 -5.73 -5.71 -4.82 -5.73 -3.95 -5.9 -1.45 p f*
+2 239 204 rG
+573.59 1036.92 -1.15 3.86 1.93 -3.97 2.76 -6.2 3.62 -6.27 2.58 -6.12 -0.07 -3.26 -3.02 3.52 
+-2.75 6.17 -1.68 6.09 -2.23 6.19 f*
+110 210 9 rG
+576.84 1606.21 -3.43 -0.74 3.23 4.11 5.75 4.58 4.63 5.56 1.19 4.19 0.79 1.93 5.27 4.82 
+6.14 6.57 0.11 0.09 6.25 5.13 5.88 5.73 0.76 4.77 -1.12 3.86 3.52 5.6 0.58 0.63 
+5.91 3.93 0 -1.39 -0.11 -0.02 -0.11 -0.07 -7.23 -7.48 -0.02 -0.02 0.02 -0.02 4.04 1.06 
+0 -11.87 -1.32 -0.97 0.89 -3.32 0.83 4.16 -0.39 0.13 0 11.87 1.95 0.52 3 2.45 
+-1.54 3.59 0 1.39 0.28 0.2 5.95 1.15 0.59 0.07 3.39 -2.78 0.82 -1.02 4.12 2.99 
+2.61 1.24 6.51 3.06 3.86 4.38 4.34 5.27 0.89 1.52 2.84 3.43 3.87 4.88 1.34 4.13 
+-3.23 -0.15 0.65 3.34 1.91 2.15 3.82 3.02 6.01 5.01 0.07 0.05 6.1 4.82 3.6 1.93 
+7.09 2.11 2.87 1.55 5.46 2.21 5.13 2.41 3.63 1.58 6.1 2.52 2.67 1.15 5.92 2.52 
+3.37 1.37 4.58 2 5.2 2.06 3.47 0.95 6 2.3 1.16 0.54 5.13 2.84 3.82 2.95 
+0.93 -0.15 -3.73 -2.93 -4.75 -2.87 -3.91 -1.73 -2.8 -1.09 -6.12 -1.69 -3.12 -1.24 -6.66 -2.91 
+-1.02 -0.41 -8.25 -3.52 -0.21 -0.08 -8.44 -3.5 -1.24 -0.54 -7.53 -3.54 -2.3 -0.93 -6.36 -3.41 
+-6.58 -1.32 -1.65 -0.89 -0.24 -0.24 -4.34 -4.28 -5.04 -4.34 -0.65 -0.54 0 -0.71 1.61 1.04 
+5.88 2.35 7.08 3.73 1.32 0.93 5.05 3.6 1.91 1 0 -2.67 -2.62 -2.02 -4.14 -4.23 
+-0.74 -3.69 1.93 0.05 2.09 0.65 2.69 3.34 0 -6.1 -1.32 -0.5 -5.84 -2.28 -6.92 -2.5 
+-2.23 -1.24 -1.78 -1 -3.47 -1.78 -5.62 -4.21 -2.69 -2.43 -3.19 -3.02 -0.5 -3.93 1.28 -0.29 
+6.4 1.96 3.89 1.75 2.82 1.09 7.34 4.32 1.11 1.11 1.65 3.88 6.55 3.63 3.25 1.84 
+-0.15 3.41 -0.57 0.17 0 6.1 0.54 0.67 3.11 3.95 -2.84 1.28 0 2.67 2.5 1.28 
+7.03 1.8 5.9 -0.02 -0.54 -2.26 -1.17 -3.51 0.54 -3.3 0.78 -1 0.29 -0.02 0 -10.85 
+-5.6 -2 4.17 -1.21 4.88 2.65 -3.45 0.56 0 10.85 5.32 -0.58 6.64 1.13 6.23 2.11 
+1.48 0.63 6.23 0.24 1.43 -0.46 3.04 -2.17 4.04 -0.52 1.52 -0.48 0.63 -2.3 -3.45 -2.98 
+-0.46 -0.45 -1.95 -2.54 0.35 -0.59 2.45 -1.98 0.14 -2.73 -6.01 -2.93 -1.26 -0.65 -1.15 -2.95 
+0 -2.8 -4.38 -3.54 -1.65 -3.15 -2.32 -1.69 -1.58 -1.02 -2.32 -1.5 -3.47 -3.75 -0.02 -0.02 
+-1.96 -3.47 -4.03 -4.16 -1.29 -1.15 -6.49 -4.16 -0.23 -0.29 0.2 -0.48 0.89 -2.34 -1 -1.23 
+-3.36 -3.52 -0.07 -3.3 1.41 -2.73 -3.61 -4.49 -0.22 -0.39 -1.08 -3.86 0.3 -3.28 -0.35 -3.64 
+2.06 -2.48 -1.91 -4.49 -1.15 -2.13 -1.65 -2.97 -1.39 -4.49 -0.59 -1.89 -1.43 -3.1 -2.12 -5.21 
+-0.02 -0.02 0.13 -0.24 1.8 -2.54 2.41 -2.47 1.24 -3.26 -0.96 -0.62 1.71 -2.97 -5.27 -3.73 
+-5.21 -3.78 -5.19 -3.86 1.99 -3.09 2.09 -3.04 5.04 3.95 5.08 3.89 4.58 3.41 -1.07 -5.17 
+2 -2.91 0 -2.86 -4.14 -4.95 -0.26 -0.39 -4.43 -3.88 -1.5 -6.17 0.39 -2.21 0.34 -2.3 
+0.67 -4.69 2.26 -3.26 2.91 -2.64 4.38 2.14 2.89 -0.34 3.53 -1.93 3.26 -2.23 3.17 -2.32 
+3.32 -2.17 4.16 -1.22 3.13 -2.4 3.77 -1.41 0.2 0 6.4 1.54 1.02 0.43 5.18 3.65 
+3.19 4.94 P
+2.06 -1.39 -3.82 -4.51 3.25 -2.08 -3.23 -4.04 -0.83 -0.3 -2.95 1.86 -3.71 -4.6 -3.32 -4.21 
+-0.72 -0.2 -5.75 -1.43 2.69 3.41 -3.36 2.26 -3.32 2.3 -3.23 2.34 -3.19 2.41 -3.12 2.45 
+-3.06 2.5 -4.14 -4.49 -1.93 -2.13 -3.49 -1.32 -5.06 -2.07 -3.23 1.05 -0.97 0.48 -3.89 1.87 
+-4.84 0.89 -2.28 3.59 -2.43 3.36 -3.63 2.13 -2.67 3.08 -2.67 3.05 -3.1 2.63 -1.09 4.45 
+-1.25 4.21 -2.78 2.82 -2.21 3.3 -0.15 3.63 0 1.32 -0.43 4.6 -0.17 4.71 0.65 2.6 
+0.52 2.97 -0.31 4.4 -1.82 3.32 -0.2 4.36 0.87 4.02 1.34 1.8 1.24 5.06 1.32 2.37 
+3.49 4.64 1.54 1.65 5.36 5.34 6.1 2.16 0.41 0.48 0 -48.5 -1.32 -0.65 0.08 -0.3 
+0.11 0 1.13 0.96 0 48.5 2.23 2.63 -3.51 1.65 -0.59 0.09 -0.13 3.69 0.13 0.37 
+2.8 4.71 0.82 4.01 1.84 2.34 0.89 0.71 0 -11.41 -4.16 -3.36 4.44 1.34 1 1.29 
+-1.28 0.73 0 11.41 4.12 3.37 -0.15 3.43 0.33 3.58 1.19 1.11 2.76 3.71 2.21 4.11 
+2.07 3.99 0.52 0.74 3.91 3.82 3.37 2.37 2.82 2.47 4.45 4.19 0.54 0.41 4.63 3.75 
+-1.15 2.88 -1 0.89 -1.49 1.78 -3.04 1.87 -7.36 -3.66 -0.85 -0.37 -6.55 -3.79 -0.11 2.36 
+2.21 3.41 0.61 0.56 -0.39 0.02 -4.54 0.09 -1.28 0.02 -2.23 -1.95 -2.65 -4.1 -2.65 -1.61 
+-1.37 -0.8 -6.75 -2.91 -3.36 -2.11 -3.86 -2.7 -6.8 -3.75 -6.12 -1.37 -5.95 -0.63 -6.79 -5.64 
+-0.37 -0.57 -4.3 -5.42 -2.82 -1.93 -4.88 -5.64 -0.65 -4.56 -1.78 -2.11 -6.25 -6.25 -0.06 -0.09 
+-0.13 -0.02 -5.82 -0.71 -6.03 -2.91 -6.03 -4.23 -5.97 -3.08 -4.6 -5.38 -1.3 -2.75 -1.61 -4.04 
+-4.04 -4.27 -5.75 -4.02 p f*
+255 0 r6
+589.3 1640.39 -5.58 -8.06 4.93 1 4.73 4.63 -3.95 2.49 -0.07 0 -0.07 -0.06 f*
+2 239 204 rG
+587.7 1660.59 -0.29 2.32 1.22 1.11 5.16 2.02 -6.1 -5.45 f*
+255 0 r6
+591.62 1660.35 -3.43 -6.42 1.17 0.13 2.32 0.26 4.91 2.41 1.3 0.63 4.32 3.58 1.37 5.14 
+-3.3 0.76 -6.66 -4.45 -2 -2.04 f*
+2 239 204 rG
+595.92 1646.86 -2.87 0.3 3.54 3.75 2.02 -0.84 -2.69 -3.21 f*
+255 0 r6
+600.8 1802.87 -7.12 -2.52 11.33 8.99 7.03 2.26 -11.24 -8.72 f*
+0 155 255 rG
+601.06 970.27 -1.59 4.82 0.63 1.11 1.71 2.93 3.19 -2.99 5.99 -5.88 -0.3 -5.71 -0.24 -0.13 
+-2.93 -2.17 -1.91 -3.84 3.76 -2.73 0 -2.96 0.06 -0.17 1.72 -5.95 3.6 -5.84 0.5 -2.11 
+1.43 -3.86 3.64 -5.82 5.8 -5.55 3.3 -2.24 5.2 -1.11 -0.04 4.21 -1.67 3.06 -0.61 2.69 
+-0.32 4.06 -0.24 1.8 -5.14 5.55 -0.34 0.29 -4.26 -0.33 -5.66 5.45 -2.19 1.87 -4.52 3.82 
+-0.25 0.17 0 2.96 4.1 -2.98 1.28 -1.19 3.69 1.28 6.68 -5.55 5.64 -5.55 0.21 -0.2 
+5.54 -5.32 0.35 -2.61 0.32 -3.14 0.13 -3.11 0.41 -2.71 2.04 -5.51 -0.04 -0.24 2.32 -5.76 
+4.67 -1.95 5.62 -1.54 1.95 -0.98 5 -2.02 2.67 -2.91 2.17 0.26 6.18 -4.99 -3.47 -0.46 
+-3.6 -0.52 -0.13 0.06 -4.9 5.17 -3.71 -0.52 -1.05 -0.15 -5.25 5.29 -6.58 4.26 -0.76 0.84 
+-0.25 -0.02 -7.29 5.21 -1.59 0.39 -7.01 4.75 -5.23 5.62 -4.12 5.8 -2.89 5.9 -4.21 5.84 
+-0.06 1.67 -1.02 4.36 -1.75 5.95 0.06 0 -0.06 0.11 -0.42 5.84 -3.95 5.92 f*
+2 239 204 rG
+600.29 1673.37 -0.31 0.09 3.3 2.86 6.73 5.84 1.06 0.72 6.62 3.08 1.35 -0.3 3.16 -2.17 
+0.98 -0.56 -0.48 -4.43 -3.14 -2.56 -6.47 -2.97 -3.08 0.39 -1.93 1.08 -5.92 -1.45 -1.86 0.39 f*
+255 0 r6
+605.14 946.22 -4.3 5.93 4.3 0.2 -4.1 5.92 4.39 0.13 1.75 -5.95 1.02 -4.36 0.06 -1.67 
+4.21 -5.84 2.89 -5.9 4.12 -5.8 5.23 -5.62 7.01 -4.75 1.59 -0.39 7.29 -5.21 -3.5 -0.45 
+-3.73 -0.52 -5 5.55 -4.88 5.62 -4.77 5.71 -4.64 5.75 -4.53 5.8 -4.41 5.86 f*
+2 239 204 rG
+609.44 952.54 -0.06 0.17 0.25 -0.17 4.52 -3.82 0 -2.7 2.45 -5.17 1.33 -5.66 0.11 -0.28 
+3.13 -5.86 5.97 -5.16 1.58 -0.2 3.21 -0.43 0 0.78 -3.47 5.69 -3.6 5.7 -3.93 4.27 
+-1.24 1.35 -5.54 4.96 0 2.7 2.19 -1.87 5.66 -5.45 4.26 0.33 0.34 -0.29 5.14 -5.55 
+0.24 -1.8 0.32 -4.06 0.61 -2.69 1.67 -3.06 0.04 -4.21 -5.2 1.11 -3.3 2.24 -5.8 5.55 
+-3.64 5.82 -1.43 3.86 -0.5 2.11 -3.6 5.84 -1.72 5.95 f*
+7 193 59 rG
+616.6 940.86 -2.45 5.17 5.54 -4.96 1.24 -1.35 0 -2.73 0.84 -1.78 -1.24 -3.28 1.48 -2.78 
+2.69 -2.37 0.61 2.67 -2.08 4.55 -0.67 1.26 -1.63 1.71 0 2.73 3.93 -4.27 3.6 -5.7 
+3.47 -5.69 0 -0.78 -3.21 0.43 -1.58 0.2 -5.97 5.16 -3.12 5.86 -0.11 0.28 -1.33 5.66 f*
+255 0 r6
+617.32 1557.45 -3.17 -6.68 5.63 2.28 1.52 4.1 -3.97 0.3 f*
+0 255 r6
+614.84 1657.95 -0.02 0.02 0.02 0.02 7.23 7.48 0.11 0.07 0.11 0.02 1.54 -3.59 -3 -2.45 
+-1.95 -0.52 -4.04 -1.06 f*
+618.45 1642.84 -0.89 3.32 1.32 0.97 0.39 -0.13 -0.83 -4.16 f*
+110 210 9 rG
+622 929.14 -1.48 2.78 1.24 3.28 -0.84 1.78 1.63 -1.71 0.67 -1.26 2.08 -4.55 -0.61 -2.67 
+-2.69 2.37 f*
+255 0 r6
+628.02 1540.21 -0.09 -0.15 0.19 -0.02 -0.06 0.15 -0.05 0.02 f*
+645.81 907.51 -4.19 4.58 6.58 -4.26 5.25 -5.29 -2.58 -0.39 -5.05 5.36 f*
+661.8 1512.29 -3.14 2.86 6.14 0.63 -3 -3.49 f*
+0 255 r6
+659.96 1678.64 -1.28 0.29 0.5 3.93 3.19 3.02 2.69 2.43 5.62 4.21 3.47 1.78 1.78 1 
+0 -4.04 -2.5 -0.76 1.97 -0.56 0.63 1.19 -0.11 0.13 0 4.04 2.23 1.24 6.92 2.5 
+5.84 2.28 1.32 0.5 0.57 -0.17 0.15 -3.41 -3.25 -1.84 -6.55 -3.63 -1.65 -3.88 -1.11 -1.11 
+-7.34 -4.32 -2.82 -1.09 -3.89 -1.75 -6.4 -1.96 f*
+255 0 r6
+663.17 897.98 -0.07 0.06 0.13 -0.06 -0.07 0 f*
+664.13 903.95 1.65 0.2 3.86 0.46 4.71 -5.14 -3.78 -0.48 -0.26 -0.02 -6.18 4.99 f*
+669.16 1514.11 -1.58 1.37 2.2 -0.65 -0.61 -0.71 f*
+0 255 r6
+671.81 1704.86 -1.61 -1.04 0 0.71 0.65 0.54 5.04 4.34 4.34 4.28 0 -2.02 -1.3 -1.71 
+0.17 -0.21 0.69 0.36 0.43 1.57 0 2.02 0.24 0.24 1.65 0.89 6.58 1.32 6.36 3.41 
+2.3 0.93 7.53 3.54 1.24 0.54 8.44 3.5 0.21 0.08 8.25 3.52 1.02 0.41 6.66 2.91 
+3.13 1.24 6.12 1.69 2.8 1.09 3.91 1.73 4.75 2.87 3.73 2.93 0.93 -0.15 -3.64 -2.91 
+-4.41 -2.88 -5.88 -2.82 -0.8 -0.22 -8.29 -2.17 -1.06 -0.43 -6.53 -3.28 -3.02 -1.52 -4.29 -2 
+0.52 -2.78 0.48 -0.63 -1 -3.41 -1.39 -3.41 1.54 -1.59 2.17 -1.45 2.34 -0.89 2.65 1.17 
+0.24 3.19 4.52 3.34 3.97 3.21 4.64 2.7 1.26 0.39 6.81 1.75 3 -2.25 -1.15 -3 
+-3.29 -2.91 -1.96 -2.97 0.22 -0.83 5.58 -0.89 6.75 0.67 6.46 0.15 0.79 0.2 7.16 2.17 
+0.52 0.22 4 2 2.39 2.4 3.84 2.13 2.91 0.74 0.32 -1.28 0.11 -2.67 -1.3 -2.39 
+-3.88 -2.09 -4.43 -1.97 -0.28 -0.13 -0.35 -0.67 -0.63 -1.82 -1.02 -2.47 -0.61 -2.48 -1.24 -2.43 
+-1.46 -2.43 -3.03 -2.47 0.15 -2.43 -1.48 -2.5 -1.97 -2.52 -1.61 -2.54 -1.61 -2.56 -0.8 -1.09 
+-2.62 -1.73 -4.54 -1.22 -5.44 -2.65 0.32 -2.52 -0.26 -2.63 -0.8 -2.71 -0.93 -2.76 -0.61 -2.73 
+-0.64 -2.73 -0.95 -2.87 -0.41 -2.73 -0.43 -2.06 -0.59 -0.89 -0.48 -2.82 -2.15 -3.39 -2.71 -1.52 
+-3.11 -3.3 3.66 -1.08 1.93 0.33 0.56 -2.59 0.66 -2.54 -2.09 -0.85 -0.54 2.63 -6.12 -2.41 
+-0.5 2.74 -6.14 -2.43 -6.1 -2.49 -6.05 -2.59 0.63 -2.95 -5.99 -2.75 -5.97 -2.84 0.83 -3.09 
+0.91 -3.04 1 -3.02 1.09 -2.97 -5.71 -3.19 1.23 -3.02 1.33 -2.97 -5.55 -3.41 1.47 -3 
+1.56 -2.95 -4.42 -2.95 -1.24 3.26 -2.41 2.47 -1.8 2.54 -0.13 0.24 0.02 0.02 2.12 5.21 
+1.43 3.1 0.59 1.89 1.39 4.49 1.65 2.97 1.15 2.13 1.91 4.49 -2.06 2.48 0.35 3.64 
+-0.3 3.28 1.08 3.86 0.22 0.39 3.61 4.49 -1.41 2.73 0.07 3.3 3.36 3.52 1 1.23 
+-0.89 2.34 -0.2 0.48 0.23 0.29 6.49 4.16 1.29 1.15 4.03 4.16 1.96 3.47 0.02 0.02 
+3.47 3.75 2.32 1.5 0 -30.04 -0.39 -0.02 -1.22 -0.57 1.26 0.22 0.35 0.36 0 30.04 
+1.58 1.02 2.32 1.69 1.65 3.15 4.38 3.54 0 2.8 1.15 2.95 1.26 0.65 6.01 2.93 
+-0.14 2.73 -2.45 1.98 -0.35 0.59 1.95 2.54 0.46 0.45 3.45 2.98 -0.63 2.3 -1.52 0.48 
+-4.04 0.52 -3.04 2.17 -1.43 0.46 -6.23 -0.24 -1.48 -0.62 -6.23 -2.11 -6.64 -1.13 -5.32 0.58 
+-0.29 0.02 -0.78 1 -0.54 3.3 1.17 3.51 0.54 2.26 -5.9 0.02 -7.03 -1.8 -2.5 -1.28 
+-1.91 -1 -5.05 -3.6 -1.32 -0.93 -7.08 -3.73 -5.87 -2.35 f*
+255 203 0 rG
+675.41 1689.93 -1.97 0.56 2.5 0.76 0.11 -0.13 -0.63 -1.19 f*
+7 193 59 rG
+675.46 1575.96 -1.32 -0.65 0.08 -0.3 0.11 0 1.13 0.96 f*
+679.95 1633.25 -4.16 -3.36 4.44 1.34 1 1.29 -1.28 0.73 f*
+255 0 r6
+679.45 1505.73 -3.49 2.73 1 1.24 3.82 -2.32 5.43 -0.29 -3.17 -4.05 -3.58 2.69 f*
+681.55 916.58 -3.93 5.12 4.41 0.22 3.86 -5.1 -4.34 -0.24 f*
+676.28 1714.63 1.65 2.66 2.78 4.21 6.29 0.81 6.27 0.71 2.95 0.28 -3.69 -1.34 -7.81 -3.67 
+-0.54 -0.21 -7.9 -3.45 f*
+255 203 0 rG
+679.1 1709.75 -0.17 0.21 1.3 1.71 -0.43 -1.57 -0.69 -0.36 f*
+255 G
+684.59 1582.86 -5.19 -3.86 1.99 -3.09 2.09 -3.04 5.04 3.95 5.08 3.89 4.58 3.41 0.56 0.41 
+5.19 3.78 1.91 -2.8 5.16 3.73 5.21 3.67 5.27 3.6 5.29 3.54 5.36 3.45 5.4 3.4 
+2.41 1.48 3.04 1.84 5.5 3.25 1.43 -2.3 1.52 -2.28 5.4 3.3 5.45 3.25 -1.37 2.09 
+-0.02 0.07 -1.32 2.17 -1.26 2.21 5.66 2.97 1.19 -2.15 1.26 -2.1 1.32 -2.11 1.39 -2.05 
+5.45 3.15 5.51 3.1 -1.26 1.93 -1.19 1.96 -1.13 1.97 5.71 2.82 5.77 2.73 3.21 1.5 
+2.58 1.17 -0.69 1.34 -0.22 0.43 -0.85 1.82 -5.9 -2.54 -0.84 1.91 -5.93 -2.54 -5.9 -2.58 
+-0.89 2.06 -5.9 -2.61 -5.88 -2.69 -3.82 -1.8 -2.02 -0.96 1.06 -2.28 1.11 -2.26 -5.68 -2.99 
+-1.17 2.32 -1.11 2.37 -5.77 -2.93 -1.09 2.45 5.82 2.84 -0.95 2.41 -0.89 2.43 5.95 2.63 
+-0.75 2.38 -0.67 2.32 -0.02 0.07 -0.61 2.43 -0.67 -0.26 -5.42 -2.12 -0.59 2.52 -4.01 -1.56 
+-2.09 -0.85 -0.54 2.63 -6.12 -2.41 -0.5 2.74 -6.14 -2.43 -6.1 -2.49 -6.05 -2.59 0.63 -2.95 
+-5.99 -2.75 -5.97 -2.84 0.83 -3.09 0.91 -3.04 1 -3.02 1.09 -2.97 -5.71 -3.19 1.23 -3.02 
+1.33 -2.97 -5.55 -3.41 1.47 -3 1.56 -2.95 -4.42 -2.95 -0.96 -0.62 1.71 -2.97 -5.27 -3.73 
+-5.21 -3.78 f*
+110 210 9 rG
+680.21 1664.04 -0.02 0 0.04 0.02 -0.02 -0.02 f*
+7 193 59 rG
+686.29 1707.55 -0.74 -3.69 1.93 0.05 2.09 0.65 2.69 3.34 0.54 0.67 3.11 3.95 -2.84 1.28 
+-2.62 -2.02 -4.14 -4.23 f*
+255 0 r6
+690.34 1505.23 -2.52 1.83 3.67 -0.35 5.86 0.39 -3.39 -4.43 -3.62 2.56 f*
+110 210 9 rG
+688.65 1676.41 -0.28 0.41 0.67 1.05 0.21 -0.8 -0.61 -0.65 f*
+0 255 r6
+689.17 1555.58 -0.39 2.21 1.5 6.17 4.43 3.88 0.26 0.39 4.14 4.95 0 2.86 -2 2.91 
+1.07 5.17 0.56 0.41 5.19 3.78 1.91 -2.8 5.16 3.73 5.21 3.67 5.27 3.6 5.29 3.54 
+5.36 3.45 5.4 3.4 2.41 1.48 -1.84 -2.37 -1.91 -3.43 0.54 -3.19 1.09 -2.87 0.41 -1.63 
+0.22 -1.61 2.49 -1.74 0.13 -0.11 6.51 1.89 0.44 -0.5 -4.99 -3.73 -4.95 -3.78 2.13 -2.32 
+-4.82 -3.88 2.25 -2.34 1.61 -1.58 -1.9 -3 0.17 -3.78 -5.04 -0.52 -2.17 -1.11 -1.06 -1.82 
+2.28 0.67 5.88 2.15 0.67 0.13 4.67 0.22 2.3 -2.43 2.61 1.89 2.23 -1.87 -4.32 -4.21 
+-4.25 -4.23 2.78 -2.17 -4.15 -4.34 2.7 -1.98 0.08 -0.32 2.63 -2.52 -3.43 -3.88 1.04 -0.72 
+-3.19 -4.94 -5.18 -3.65 -1.02 -0.43 -6.4 -1.54 -0.2 0 -3.77 1.41 -3.13 2.4 -4.16 1.22 
+-3.32 2.17 -3.17 2.32 -3.26 2.23 -3.53 1.93 -2.89 0.34 -4.38 -2.14 -2.91 2.64 -2.26 3.26 
+-0.67 4.69 -0.34 2.3 f*
+255 0 r6
+701.26 1504.99 -3.15 2.15 4.86 0.11 -1.71 -2.26 f*
+701.04 1725.7 1.3 1.75 2.97 3.82 6.14 0.24 3.69 0.09 -5.49 -2.39 -3.38 -1.52 -5.23 -1.99 f*
+7 193 59 rG
+708.38 1698.59 -5.6 -2 4.17 -1.21 4.88 2.65 -3.45 0.56 f*
+0 155 255 rG
+715.73 1509.79 -3.6 2.32 0.39 0.52 3.47 -2.5 4.47 -1.15 4.64 -0.89 4.8 -0.65 -3.04 -4.34 
+-3.78 2.17 -3.71 2.24 -3.64 2.28 f*
+2 239 204 rG
+716 1510.13 -3.47 2.5 3.28 4.19 1.67 -1.11 1.23 -2.02 4.02 -1.7 0.78 -0.11 5.93 2.08 
+0.95 0.61 3.26 -1.91 -3.41 -4.77 -0.32 -0.45 -4.8 0.65 -4.64 0.89 -4.47 1.15 f*
+255 203 0 rG
+718.29 1716.34 -1.54 1.59 1.39 3.41 1 3.41 -0.48 0.63 -0.52 2.78 4.29 2 3.02 1.52 
+6.53 3.28 1.06 0.43 8.29 2.17 0.8 0.22 5.88 2.82 4.41 2.88 3.64 2.91 0.78 -0.11 
+1.07 0.93 5.08 1.46 1.54 -0.3 -6.62 -2.26 -2.71 -1.32 -1.74 -1.46 -4.08 -2.89 -2.39 -3.1 
+-7.86 -2.15 -2.52 -0.46 -5.6 -1.65 -2.47 -1.45 -1.07 -2.76 4.02 2.7 3.71 1.37 0 -2.17 
+-3.11 -2.54 -0.08 -1.32 6.31 1.17 -3.12 2.69 0 2.17 2.84 1.06 1.58 0.59 7.62 2.5 
+0.65 0.17 6.1 2.65 4.71 2.04 1.28 0.43 5.77 2.35 3.04 0.24 7.4 0.89 1.82 1 
+2.41 1.28 4.78 2.04 4.75 1.93 3.41 2.35 -0.71 2.9 -1.7 1.55 5.55 0.89 1.22 0.26 
+2.78 0.63 0 -8.27 -0.98 -0.22 -5.66 -1.37 -5.18 -1.35 -0.46 -0.22 -4.36 -2.06 -3.04 -2.47 
+-3.32 -2.41 -6.59 -1.47 -1.74 -0.02 -5.55 -0.5 -2.97 -1.32 -6.54 -1.5 -1.62 -0.69 -7.51 -2.13 
+-1.15 -0.37 -5.82 -2.97 1.8 -2.5 5.04 2.14 3.54 0.46 6.73 1.87 3.32 2 1.21 0.63 
+7.45 1.39 4.45 -0.54 0 -8.33 -0.63 -0.05 -0.63 -1.3 1.37 1.2 -0.11 0.15 0 8.33 
+1.49 -0.2 1.52 0.11 5.27 -0.11 1.04 -1.13 2.41 -2.02 4.95 -1.8 0.56 -0.72 3.95 -1.56 
+4.47 -0.34 2.69 0.5 2.17 0.91 -0.11 0.89 -4.79 2.04 -1.87 1.61 -0.48 2.43 0.07 0.54 
+0.91 0.26 7.42 0.15 -2.91 3.34 -5.38 1.52 0.04 0.76 1.78 0.61 3.21 0.89 1.32 2.32 
+0.28 0.3 -0.62 3.56 -0.43 0.76 0 8.27 3.04 0.67 -0.7 2.15 -5.76 0.65 -2.25 -2.95 
+-3.21 0.39 0.84 0.52 3.89 2.34 3.99 2.25 -1.02 0.46 3.14 0.71 4.71 -2 3.38 -0.02 
+-0.13 1.71 -3.54 2.63 0.54 1.46 3.14 2.73 4.14 2.23 2.61 0.52 0 -1.96 -0.19 -0.02 
+-5.01 -1.62 -1.17 -1.32 5.2 -1.82 1.13 0.17 0.85 0.76 -0.59 3.58 -0.22 0.28 0 1.96 
+3.19 0.63 3.41 0.24 2.69 -3 -0.5 -1 -0.89 -3.77 -0.07 -0.16 -0.78 -0.21 -3.76 -1.3 
+-1.45 -1.08 3.34 -2.8 -0.42 -1.17 -2.54 -2.5 -3.69 -1.82 -3.62 -1.89 -3.11 -2.14 -2.84 -2.25 
+0.39 -1.57 0.61 -2.21 -5.42 -1.15 2.47 -2.2 0 -7.81 4.06 -1.46 0.13 0.04 -0.02 0.05 
+-4.17 1.37 0 7.81 0.74 -0.65 2.76 -2.52 -0.37 -1.2 1.8 0.67 5.46 0.85 3.15 1.67 
+3.75 1.37 2 2.2 1.06 2.78 1.29 1.84 0.41 0.67 2.23 2.3 2.61 2.11 3.54 1.54 
+2.69 2.15 3.71 1.41 3.38 1.65 3.67 1.46 1.21 1.15 1.31 1.39 3.27 1.93 3.82 1.41 
+4.32 0.85 7.9 2.52 4.12 1.06 1.26 -2 4.14 0.8 1.89 -3.41 -3.43 -0.67 -0.83 0.39 
+-4.4 -0.2 -4.23 -0.54 -3.93 -1.02 -0.02 -1.84 2.02 -0.67 4.67 -0.24 4.21 0.24 2.23 3.36 
+1.8 -3.02 2.02 -3.45 -3.55 -0.76 2.16 -3.47 -3.36 -0.75 2.32 -3.45 -2.17 -0.52 -1.99 1.11 
+-2.28 1.82 -3.63 0.7 -3.95 -0.26 -3.1 -1.28 -3.06 -1.3 -4.86 0.44 -0.29 0.18 -6.36 1.58 
+-0.19 -0.07 -0.02 -0.02 0.7 -4.05 -0.07 -0.37 -2.28 -1.95 -3 0.05 -2.3 0.13 -4.04 -0.84 
+-0.08 -2.34 -0.46 -0.7 -2.5 -1.76 -2.34 -0.32 -1.71 -0.59 -3.19 -1.43 -2.84 -1.63 -2.56 -1.78 
+-2.04 -2.02 P
+0.04 -0.11 3.27 -3.21 -0.7 -0.48 -2.36 -1.71 -2.32 -1.76 -2.24 -1.78 -2.19 -1.82 -2.11 -1.82 
+-2.04 -1.89 -1.96 -1.89 5.64 -1.37 -1.82 -1.82 -1.76 -1.82 -1.69 -1.87 -1.62 -1.89 -1.57 -1.91 
+4.93 -0.76 -6.29 -1 -1.73 0.07 -5.12 -0.41 -0.79 -0.24 -2.02 -0.65 -1.96 -2.06 -3.27 -2 
+-1.2 -2.17 3.12 -2.25 -3.6 -2.06 -0.18 -2.15 -0.41 -2.12 0.21 -2.11 -5.46 -2.36 -2.21 -2.32 
+-0.26 -0.26 -1.76 -2.11 0.61 -1.78 0.34 -0.29 -0.48 -0.28 -6.33 -2.76 -0.63 -0.19 -3.62 -2.73 
+-0.61 -2.41 -1.24 -2.54 -2.25 -2.39 -0.46 -0.52 -1.65 -2.73 -1.39 -2.73 -3.02 -3.25 -0.04 -0.09 
+-1.5 -2.84 -2.26 -3.23 -1.47 -3.06 -0.24 -1.43 0.09 -1.22 0.02 -2.62 0.43 -2.5 -5.42 -2.12 
+-0.59 2.52 -4.01 -1.56 -0.66 2.54 -0.56 2.59 -1.93 -0.33 -3.66 1.08 3.11 3.3 2.71 1.52 
+2.15 3.39 0.48 2.82 0.59 0.89 0.43 2.06 0.41 2.73 0.95 2.87 0.64 2.73 0.61 2.73 
+0.93 2.76 0.8 2.71 0.26 2.63 -0.32 2.52 5.44 2.65 4.54 1.22 2.63 1.73 0.8 1.09 
+1.61 2.56 1.61 2.54 1.97 2.52 1.48 2.5 -0.15 2.43 3.03 2.47 1.46 2.43 1.24 2.43 
+0.61 2.48 1.02 2.47 0.63 1.82 0.35 0.67 0.28 0.13 4.43 1.97 3.88 2.09 1.3 2.39 
+-0.11 2.67 -0.32 1.28 -2.91 -0.74 -3.84 -2.13 -2.39 -2.4 -4 -2 -0.52 -0.22 -7.16 -2.17 
+-0.79 -0.2 -6.46 -0.15 -6.75 -0.67 -5.58 0.89 -0.22 0.83 1.96 2.97 3.29 2.91 1.15 3 
+-3 2.25 -6.81 -1.75 -1.26 -0.39 -4.64 -2.7 -3.97 -3.21 -4.52 -3.34 -0.24 -3.19 -2.65 -1.17 
+-2.34 0.89 -2.17 1.45 p f*
+7 193 59 rG
+718.71 1513.7 -1.23 2.02 1.84 -1.2 3.64 4.69 1 1.26 5.75 1.43 0.72 0.2 -0.35 -0.44 
+-3.62 -4.68 3.58 -2.17 0.35 -0.22 -0.95 -0.61 -5.93 -2.08 -0.78 0.11 -4.02 1.7 f*
+255 0 r6
+718.82 1733.09 1.78 2.11 2.73 -0.02 -4.51 -2.09 f*
+255 203 0 rG
+723.29 1646.64 -1.26 -0.22 1.22 0.57 0.39 0.02 -0.35 -0.36 f*
+255 0 r6
+727.43 1496.14 -3.89 2.13 2.96 4.32 2.32 -0.57 1.86 -1.04 -3.25 -4.84 f*
+0 155 255 rG
+728.82 1502.02 -2.32 0.57 0.37 0.52 1.95 -1.09 f*
+189 0 54 rG
+729.17 855.99 -1.82 1.48 1.17 0.24 0.65 -1.72 f*
+255 135 0 rG
+731.51 1731.55 -4.02 -2.7 1.07 2.76 2.47 1.45 5.6 1.65 2.52 0.46 7.86 2.15 2.39 3.1 
+4.08 2.89 1.74 1.46 2.71 1.32 6.62 2.26 1.21 -0.24 3.13 2.56 0.39 0.17 4.55 2.43 
+5.38 2.13 5.14 2.06 0.24 -0.09 0 -0.41 -2.13 -0.84 -2.39 -0.98 -4.73 -2.25 -3.96 -2.55 
+-3.69 -2.62 2.86 -1.32 2.08 0.26 5.32 2.08 4.36 2.24 2.28 0.82 2.97 1.07 2.32 2.62 
+-5.3 1.48 0 0.41 0.41 -0.13 3.69 2.45 2.95 1.87 3.21 -0.39 2.25 2.95 5.76 -0.65 
+0.7 -2.15 -3.04 -0.67 -2.78 -0.63 -1.22 -0.26 -5.55 -0.89 1.7 -1.55 0.71 -2.9 -3.41 -2.35 
+-4.75 -1.93 -4.78 -2.04 -2.41 -1.28 -1.82 -1 -7.4 -0.89 -3.04 -0.24 -5.77 -2.35 -1.28 -0.43 
+-4.71 -2.04 -6.1 -2.65 -0.65 -0.17 -7.62 -2.5 -1.58 -0.59 -2.84 -1.06 -3.71 -1.37 f*
+87 0 136 rG
+729.17 855.99 -0.65 1.72 1.84 0.36 3.09 0.57 3.12 0.56 3.17 0.55 2 0.32 5.64 -3.62 
+0.61 -0.52 -3.11 -0.54 -3.09 -0.57 5.36 -4.29 5.43 -4.26 5.56 -4.16 5.64 -4.08 5.76 -4.02 
+5.86 -3.93 5.97 -3.84 6.05 -3.75 6.17 -3.67 6.29 -3.58 6.36 -3.5 1.82 0.57 1.87 0.54 
+6.25 -3.41 1.76 0.5 1.82 0.5 1.84 0.5 1.89 0.48 1.91 0.45 5.73 -3.39 1.82 0.43 
+1.84 0.44 5.58 -3.34 1.75 0.39 1.78 0.39 1.81 0.39 1.82 0.37 1.84 0.35 1.89 0.35 
+1.91 0.32 4.73 -3.34 1.78 0.31 3.64 0.61 -4.32 3.36 2 0.31 2 0.25 -3.95 3.46 
+2.17 0.28 2.19 0.26 2.21 0.26 -3.46 3.52 2.36 0.24 2.39 0.24 2.41 0.22 -3 3.57 
+2.56 0.22 -2.78 3.63 5.43 0.39 2.76 0.17 -2.32 3.67 2.89 0.17 -2.15 3.71 6.08 0.31 
+3.05 0.13 3.09 0.13 3.06 0.11 3.11 0.11 -1.33 3.73 6.47 0.18 -1.02 3.75 3.36 0.09 
+3.37 0.04 3.38 0.07 3.38 0.04 3.39 0.02 3.38 0.04 13.57 0 3.38 -0.04 3.38 -0.02 
+3.39 -0.04 3.38 -0.07 3.37 -0.04 10.09 -0.26 1.25 3.8 3.48 -0.11 6.9 -0.21 3.43 -0.13 
+-1.74 -3.82 3.3 -0.12 3.3 -0.16 3.25 -0.17 3.28 -0.17 3.23 -0.17 3.23 -0.2 6.42 -0.43 
+3.16 -0.24 2.87 3.85 3.28 -0.24 3.26 -0.24 3.25 -0.26 3.21 -0.28 3.19 -0.29 3.16 -0.3 
+3.15 -0.31 3.1 -0.33 3.09 -0.34 3.06 -0.35 4.01 3.95 3.15 -0.37 4.06 4 3.23 -0.37 
+3.2 -0.37 3.17 -0.41 3.14 -0.39 3.11 -0.43 1 0.89 0 -28.17 -2.15 -0.76 -3.54 -1.25 
+-3.78 -3.15 1.68 -0.69 6.42 2.37 3.63 3.02 -2.25 0.48 0 28.17 3.53 3.2 3.18 -0.44 
+3.14 -0.43 2.59 -0.39 0 -26.63 -2.84 -1.11 -5.04 -1.96 -3.15 -3.04 6.19 1.96 4.84 4.14 
+0 26.63 0.52 -0.09 4.77 4.19 3.17 -0.48 3.15 -0.48 -5.02 -4.21 3 -0.52 2.93 -0.54 
+-5.32 -4.14 2.78 -0.56 2.73 -0.59 1.43 -0.31 0 -14.49 -3.8 -1.34 -0.43 -0.15 -3.14 -0.89 
+-6.43 -1.91 -3.34 -3.58 2.84 -0.17 5.58 1.91 6.49 3.93 2.24 2.21 0 14.49 1.26 -0.28 
+2.65 -0.63 2.61 -0.63 1.47 -0.39 -0.63 -1.43 2.54 -0.65 2.41 0.91 1.69 -0.5 2.39 -0.72 
+2.32 -0.76 -6.51 -4.1 -6.64 -4.02 2.06 -0.76 2.02 -0.8 1.96 -0.8 1.88 -0.85 1.84 -0.85 
+1.79 -0.86 1.7 -0.91 7.38 3.97 7.25 4.11 1.84 -0.96 1.8 -0.95 7.34 4.19 1.82 -1 
+1.74 -1.04 1.67 -1.04 1.58 -1.11 1.52 -1.11 1.46 -1.15 1.34 -1.2 1.28 -1.19 1.2 -1.24 
+1.13 -1.28 1.02 -1.32 8.29 4.23 1.02 -1.37 0.91 -1.39 0.84 -1.43 0.74 -1.48 0.63 -1.5 
+0.54 -1.54 0.43 -1.58 -8.87 -4.02 0.26 -1.58 0.15 -1.61 0.04 -1.65 -0.08 -1.68 -0.18 -1.71 
+-0.3 -1.76 -0.42 -1.78 9.33 3.71 -0.5 -1.89 -9.35 -3.64 -0.67 -1.84 -0.79 -1.87 -0.89 -1.93 
+-1.04 -1.93 -1.17 -1.98 -1.28 -1.99 -1.46 -2.04 -1.56 -2.07 -1.72 -2.09 -1.84 -2.1 -2 -2.13 
+-2.15 -2.15 -2.3 -2.18 -2.43 -2.19 -2.61 -2.21 -2.76 -2.21 -2.89 -2.23 -3.06 -2.24 -3.24 -2.23 
+-3.36 -2.23 -3.54 -2.24 -3.71 -2.23 -3.84 -2.23 -4.02 -2.22 -4.19 -2.19 -8.46 -0.76 -4.19 -2.04 
+-4.34 -2 P
+-4.47 -2 -7.81 -0.12 -4.43 -1.81 -4.55 -1.78 -4.71 -1.73 -4.82 -1.67 -4.95 -1.65 -6.55 0.7 
+-4.82 -1.46 -4.92 -1.41 -5.02 -1.37 -5.14 -1.3 -5.33 1.3 -4.95 -1.13 -5.01 -1.08 -5.1 -1.02 
+-5.19 -0.93 -5.23 -0.89 -5.32 -0.82 -3.41 1.93 -5.03 -0.67 -5.1 -0.61 -2.67 2.11 -2.61 2.14 
+4.47 0.5 -2.84 2.17 4.14 0.5 4.08 0.56 4.04 0.59 -3.61 2.06 3.71 0.58 -3.77 2.06 
+-3.69 2.13 -3.61 2.21 -2.91 -0.44 -2.96 -0.37 -2.97 -0.37 -2.99 -0.3 -3.04 -0.3 2.26 -2.41 
+-3.32 -0.29 -1.97 2.45 -3.06 -0.24 -3.06 -0.19 -3.08 -0.15 -3.1 -0.11 -3.08 -0.09 -3.11 -0.07 
+-6.23 0 -3.1 0.07 -3.11 0.09 -3.08 0.11 -3.08 0.15 -3.06 0.19 -3.06 0.24 -3.04 0.24 
+-6.03 0.61 -2.97 0.37 3 2.34 -2.69 0.34 -2.67 0.38 -2.64 0.39 -2.61 0.41 -3.99 -2.14 
+-2.82 0.5 -2.8 0.54 -2.76 0.55 -4.82 -1.89 -2.95 0.67 -2.91 0.67 -2.84 0.72 -2.8 0.74 
+-2.73 0.76 -2.69 0.78 -6.3 -1.3 -2.82 0.91 -2.78 0.91 -2.71 0.93 -6.99 -0.89 -2.82 1.06 
+-2.75 1.08 -2.67 1.11 -2.58 1.13 -2.52 1.13 -2.45 1.15 -2.34 1.17 -2.28 1.17 -2.19 1.2 
+-2.12 1.2 -8.55 0.28 -2.15 1.3 -2.04 1.32 -1.95 1.32 -1.87 1.3 -1.78 1.32 -1.7 1.32 
+-9.13 1.09 -1.65 1.43 9.2 -1.19 -1.52 1.32 -1.41 1.3 -1.34 1.32 -1.24 1.3 -1.17 1.3 
+-1.07 1.29 -0.97 1.28 -0.91 1.28 -0.8 1.28 -0.74 1.24 -0.65 1.25 -0.56 1.22 9.39 -1.97 
+-0.5 1.15 -0.43 1.13 -0.34 1.13 -0.26 1.11 -0.21 1.11 -0.14 1.09 -9.24 2.38 -9.2 2.59 
+-9.18 2.75 0.07 1.26 0.16 1.21 -9.03 3.06 0.3 1.26 0.39 1.24 0.46 1.19 8.83 -3.19 
+0.48 1.15 0.54 1.13 0.63 1.11 0.7 1.09 0.76 1.06 0.84 1.05 0.89 1.02 0.97 1 
+8.31 -3.32 0.96 0.96 8.31 -3.19 0.93 0.89 1 0.89 1.04 0.87 1.13 0.84 -7.97 3.32 
+1.26 0.84 -7.77 3.47 1.41 0.84 1.48 0.85 -7.46 3.64 -7.38 3.75 1.73 0.84 1.78 0.82 
+1.87 0.8 -6.97 3.88 2.02 0.8 2.06 0.76 2.13 0.76 2.17 0.72 -6.42 4.02 -6.31 4.1 
+-6.19 4.21 2.54 0.7 -5.99 4.27 2.71 0.67 2.78 0.66 -5.66 4.34 -3.73 2.95 p f*
+255 203 0 rG
+731.54 1565.64 -2.28 -0.67 1.06 1.82 2.17 1.11 5.04 0.52 -0.17 3.78 1.9 3 0.72 -0.7 
+4.67 3.97 2.32 -2.2 4.64 3.97 2.3 -2.13 -4.55 -4.01 2.43 -2.12 -4.45 -4.12 0.32 -0.26 
+-2.61 -1.89 -2.3 2.43 -4.67 -0.22 -0.67 -0.13 -5.87 -2.15 f*
+255 0 r6
+728.52 1737.2 1.22 1.33 1.41 -0.07 -2.62 -1.26 f*
+0 255 r6
+732.12 1728.21 -0.08 -1.32 6.31 1.17 -3.12 2.69 -3.11 -2.54 f*
+255 203 0 rG
+736.74 1599.39 -0.54 3.19 1.91 3.43 1.84 2.37 3.04 1.84 5.5 3.25 1.43 -2.3 1.52 -2.28 
+5.4 3.3 5.45 3.25 -1.37 2.09 4.66 -0.18 -2.17 -3.58 -2.54 -2.19 -1.49 -3 -5.95 -2.52 
+-1.8 -0.3 -5.3 -0.09 -1.54 2.37 -0.32 -0.15 -0.09 -0.11 1.52 -2.36 1.32 -2.54 0.82 -2.89 
+1.91 0.29 4.71 0.8 -3.45 -2.38 -5.1 -3.61 1.47 -1.75 -6.51 -1.89 -0.13 0.11 -2.49 1.74 
+-0.22 1.61 -0.41 1.63 -1.09 2.87 f*
+0 255 r6
+743.84 1734.29 -5.82 -2.97 1.8 -2.5 5.04 2.14 3.54 0.46 6.73 1.87 3.32 2 1.21 0.63 
+7.45 1.39 4.45 -0.54 1.49 -0.2 1.52 0.11 5.27 -0.11 1.04 -1.13 2.41 -2.02 4.95 -1.8 
+0.56 -0.72 3.95 -1.56 4.47 -0.34 2.69 0.5 2.17 0.91 -0.11 0.89 -4.79 2.04 -1.87 1.61 
+-0.48 2.43 0.07 0.54 0.91 0.26 7.42 0.15 -2.91 3.34 -5.38 1.52 0.04 0.76 1.78 0.61 
+3.21 0.89 1.32 2.32 0.28 0.3 -0.62 3.56 -0.43 0.76 -0.98 -0.22 -5.66 -1.37 -5.18 -1.35 
+-0.46 -0.22 -4.36 -2.06 -3.04 -2.47 -3.32 -2.41 -6.59 -1.47 -1.74 -0.02 -5.55 -0.5 -2.97 -1.32 
+-6.54 -1.5 -1.62 -0.69 -7.51 -2.13 -1.15 -0.37 f*
+255 35 0 rG
+741.97 861.16 -3.93 3.54 1 0.15 4.52 -1.65 2.67 -2.43 -2.21 -0.33 -2.04 0.72 f*
+0 155 255 rG
+736.76 1739.34 1.61 1.65 1.04 0.43 2.06 -0.2 -4.71 -1.89 f*
+255 0 r6
+738.37 1741 0.45 0.48 0.59 -0.04 -1.04 -0.43 f*
+7 193 59 rG
+740.8 1528.8 -0.39 0.24 0.83 0.3 -0.43 -0.54 f*
+255 135 0 rG
+739.04 864.84 2.37 0.32 2.15 -1.97 -4.52 1.65 f*
+189 0 54 rG
+742.96 860.27 -0.99 0.89 2.04 -0.72 -1.05 -0.17 f*
+255 203 0 rG
+743.38 1622.98 -1.09 2.45 5.82 2.84 -0.95 2.41 -0.89 2.43 5.95 2.63 1.41 -2.11 -0.04 -1.63 
+0.2 -1.05 0.28 -0.12 2.91 -1.13 -2.02 -0.96 1.06 -2.28 1.11 -2.26 -5.68 -2.99 -1.17 2.32 
+-1.11 2.37 -5.77 -2.93 f*
+110 210 9 rG
+742.64 1548.8 0.08 -0.32 2.63 -2.52 0.5 0.57 -2.97 2.11 -0.24 0.17 f*
+189 0 54 rG
+741.73 860.07 1.23 0.2 4.41 -3.82 -5.64 3.62 f*
+255 135 0 rG
+745.9 1605.43 -1.52 2.36 0.09 0.11 0.32 0.15 1.54 -2.37 5.3 0.09 1.8 0.3 5.95 2.52 
+1.49 3 2.54 2.19 2.17 3.58 -4.66 0.18 -0.02 0.07 -1.32 2.17 -1.26 2.21 5.66 2.97 
+1.19 -2.15 1.26 -2.1 1.32 -2.11 1.39 -2.05 5.45 3.15 5.51 3.1 -1.26 1.93 -1.19 1.96 
+-1.13 1.97 5.71 2.82 5.77 2.73 3.21 1.5 -0.37 -2.46 0.22 -2.21 -0.33 -1.52 -1.02 -1.54 
+-1.82 -3.45 -0.72 -0.98 -1.39 -2.78 0.39 -2.43 -0.85 -2.58 -2.36 -2.17 -1.82 -2.43 -0.5 -2 
+0.71 -2.52 0.85 -2.47 0.65 -2.67 1.11 -1.99 -1.67 1.56 -1.82 1.85 -4.92 -3.64 -4.88 -3.69 
+-4.84 -3.75 -2 2.02 -2.6 -2 -1.87 2.18 2.52 1.86 -1.89 2.09 -1.84 2.13 -1.78 2.14 
+-1.69 -1.17 -4.71 -0.8 -1.91 -0.29 -0.82 2.89 -1.32 2.54 f*
+2 239 204 rG
+745.57 1741.82 1.61 1.57 1.15 0.61 4.02 2.95 0.93 -0.12 -3.93 -2.95 -3.78 -2.04 f*
+0 155 255 rG
+747.18 1743.38 0.71 0.65 2.41 2.25 1.11 0.8 0.93 -0.16 -4.02 -2.95 -1.15 -0.61 f*
+255 135 0 rG
+749.02 1647.8 -0.09 1.22 0.24 1.43 1.47 3.06 2.26 3.23 1.5 2.84 0.04 0.09 3.02 3.25 
+1.39 2.73 1.65 2.73 0.46 0.52 2.25 2.39 1.24 2.54 0.61 2.41 3.62 2.73 0.63 0.19 
+6.33 2.76 0.48 0.28 -0.34 0.29 -0.61 1.78 1.76 2.11 0.26 0.26 2.21 2.32 5.46 2.36 
+-0.21 2.11 0.41 2.13 0.18 2.15 3.6 2.06 -3.12 2.25 1.2 2.17 3.27 2 1.96 2.06 
+2.02 0.65 0 -0.85 -1.41 -2.06 -1.32 -2.06 -1.24 -2.08 -1.19 -2.08 6.27 -0.24 6.27 -0.3 
+1.11 1.87 1.15 1.87 1.23 1.87 1.3 1.84 -6.08 0.74 -6.1 0.65 0 0.85 0.79 0.24 
+5.12 0.41 1.73 -0.07 6.29 1 1.05 -0.18 5.94 -1.02 1.43 1.69 5.84 -1.19 -1.37 -1.61 
+5.88 -1.2 2.37 -0.5 -2.17 -1.29 -1 -1.54 0.37 -1.75 -1.11 -1.5 -3.11 0.43 -1.02 -1.56 
+-0.65 -1.02 -1.2 -0.48 -1.63 -1.54 -1.88 -1.56 -1.67 -1.61 -1.84 -1.63 -1.8 0.04 -0.74 -1.71 
+-0.67 -1.72 -0.29 -0.8 -1.12 -0.96 -0.87 -1.73 -0.73 -1.78 -1.87 -1.85 -3.67 -0.3 -0.39 -1.83 
+-6.46 -0.7 -6.47 -0.78 -0.32 -2.02 -0.26 -2.02 -6.45 -1.06 -6.45 -1.15 -0.15 -2.22 -0.11 -2.19 
+6.43 1.34 6.42 1.26 6.44 1.15 6.45 1.09 0.13 1.8 0.22 1.82 0.26 1.82 2.88 0.32 
+-1.34 -1.91 -0.46 -1.82 1.15 -1.61 0.17 -1.72 -3.12 -1.56 -5.21 -1.8 -1.21 -0.72 -1.28 -1.71 
+1.28 -1.63 0.17 -0.17 1.34 -1.37 -1.19 -0.3 -6.34 -1.61 0.26 -1.95 -6.27 -1.8 0.35 -2.02 
+0.41 -2.02 6.23 1.96 0.46 0.15 0 -2.06 -6.18 -2.04 -6.16 -2.12 0.58 -2.06 0.52 -1.65 
+-0.07 -0.48 0.24 -0.02 6.18 1.89 3.02 1.67 2.93 1.04 -0.57 1.89 -0.5 1.89 0 2.06 
+2.19 0.67 1.43 -1.56 2.43 -1.21 0.67 0 1.37 -1.3 -0.76 -0.76 -3.45 -2.73 -1.39 -2.63 
+1.26 -1.63 2.39 -1.15 -0.16 -2.19 -1.02 -0.98 -0.22 0.43 -0.85 1.82 -5.9 -2.54 -0.84 1.91 
+-5.93 -2.54 -5.9 -2.58 -0.89 2.06 -5.9 -2.61 -5.88 -2.69 -3.82 -1.8 -2.91 1.13 -0.28 0.13 
+-0.2 1.05 0.04 1.63 -1.41 2.11 2.02 3.51 -3.45 1.2 -0.02 0.07 -0.61 2.43 -0.67 -0.26 
+-0.43 2.5 -0.02 2.62 f*
+255 203 0 rG
+751.46 1638.13 -0.67 2.32 3.45 -1.2 -2.02 -3.51 -0.75 2.38 f*
+255 0 r6
+750.3 1746.29 0.91 0.82 0.2 -0.02 -1.11 -0.8 f*
+255 203 0 rG
+758.96 1590.11 -2.04 2.08 2.43 1.85 1.87 -2.18 -2.26 -1.75 f*
+0 255 r6
+757.92 1747.2 1.28 1.09 2.28 0.65 1.52 -0.28 -5.08 -1.46 f*
+110 210 9 rG
+759.2 1748.29 1.02 0.89 1.25 -0.24 -2.28 -0.65 f*
+255 35 0 rG
+770.55 1746.4 -2.86 1.32 3.69 2.62 3.96 2.55 4.73 2.25 2.39 0.98 0 -0.61 -1.04 -0.43 
+-0.46 -0.2 -4.1 -2.41 -3.41 -2.62 -0.43 -1.43 2.64 0.91 4.04 2.39 4.12 2.32 -1.37 1.47 
+0 0.61 2.13 0.84 5.3 -1.48 -2.32 -2.62 -2.97 -1.07 -2.28 -0.82 -4.36 -2.24 -5.32 -2.08 
+-2.08 -0.26 f*
+255 203 0 rG
+768.88 1750.67 0.26 0.2 3.47 2.71 0.31 0.22 5.4 1.84 5.25 2.06 0.79 -0.24 -5.14 -2.06 
+-5.38 -2.13 -4.55 -2.43 -0.39 -0.17 f*
+255 135 0 rG
+771.66 1728.28 -1.37 -1.2 0.63 1.3 0.63 0.05 0.11 -0.15 f*
+189 0 54 rG
+775.67 1749.33 -2.64 -0.91 0.43 1.43 3.41 2.62 4.1 2.41 0.46 0.2 0 -0.3 -0.02 -0.02 
+-3.77 -2.47 -3.11 -2.67 3.88 2.45 3.06 2.67 -0.04 0.04 0 0.3 1.04 0.43 1.37 -1.47 
+-4.12 -2.32 -4.04 -2.39 f*
+255 G
+773.61 1668.9 -0.11 -2.19 6.43 1.34 6.42 1.26 6.44 1.15 6.45 1.09 0.13 1.8 0.22 1.82 
+0.26 1.82 2.88 0.32 3.58 0.37 -0.26 -1.71 6.47 0.7 6.49 0.61 6.46 0.52 0.26 1.43 
+0.3 1.43 0.37 1.45 -6.46 -0.24 -6.47 -0.3 -6.46 -0.42 -2.78 -0.2 -3.67 -0.3 -0.39 -1.83 
+-6.46 -0.7 -6.47 -0.78 -0.32 -2.02 -0.26 -2.02 -6.45 -1.06 -6.45 -1.15 -0.15 -2.22 f*
+0 255 r6
+772.92 1753.8 1.37 1.02 3.16 1.08 5.32 2.07 0.8 -0.26 -5.25 -2.06 -5.4 -1.84 f*
+87 0 136 rG
+774.52 1749.61 3.11 2.67 3.77 2.47 0.02 0.02 0.04 -0.04 -3.06 -2.67 -3.88 -2.45 f*
+110 210 9 rG
+774.29 1754.82 1.39 1.02 0.89 0.3 5.4 2.07 0.8 -0.24 -5.32 -2.07 -3.16 -1.08 f*
+255 G
+781.95 1649.61 -6.16 -2.12 0.58 -2.06 0.65 -2.06 6.08 2.3 3.17 1.17 2.93 1.04 -0.57 1.89 
+-0.5 1.89 -6.18 -2.04 f*
+7 193 59 rG
+775.67 1755.84 0.57 0.39 1.02 0.74 3.91 1.5 0.8 -0.25 -5.4 -2.07 -0.89 -0.3 f*
+255 35 0 rG
+777.06 1643.27 -0.24 0.02 0.07 0.48 0.13 -0.41 6.08 2.3 3.17 1.17 -3.02 -1.67 -6.18 -1.89 f*
+2 239 204 rG
+777.25 1756.96 1.72 1.22 1.41 0.52 0.78 -0.24 -3.91 -1.5 f*
+0 155 255 rG
+778.97 1758.18 0.96 0.67 0.45 -0.16 -1.41 -0.52 f*
+255 35 0 rG
+781.36 1606.66 -0.71 2.52 0.5 2 1.82 2.43 2.36 2.17 0.85 2.58 -0.39 2.43 1.39 2.78 
+0.72 0.98 1.82 3.45 1.02 1.54 0.33 1.52 -0.22 2.21 0.37 2.46 2.58 1.17 -0.69 1.34 
+1.02 0.98 0.16 2.19 -2.39 1.15 -1.26 1.63 1.39 2.63 3.45 2.73 0.76 0.76 -1.37 1.3 
+-0.67 0 -2.43 1.21 -1.43 1.56 3.6 1.06 -0.34 1.84 6.29 1.71 -0.26 1.76 -0.21 1.78 
+-5.17 -1.24 -1.34 1.37 -0.17 0.17 -1.28 1.63 1.28 1.71 1.21 0.72 5.21 1.8 3.12 1.56 
+-0.17 1.72 -1.15 1.61 0.46 1.82 1.34 1.91 3.58 0.37 -0.26 -1.71 6.47 0.7 6.49 0.61 
+6.46 0.52 0.26 1.43 0.3 1.43 0.37 1.45 3.97 0.09 -0.43 -1.39 -2 -1.46 -1.17 -1.47 
+-0.34 -1.43 0.02 -1.41 -0.16 -1.41 -0.54 -1.48 -0.87 -1.3 -1.11 -0.39 -5.34 -0.85 -6.45 -1.06 
+0.07 -1.62 0.11 -1.59 3.56 0.7 -1.13 -1.8 -0.93 -1.82 -1 -1.15 -1.08 -1 -1.46 -2.06 
+0.83 -1.48 -0.91 -1.99 -1.8 -2.32 -0.06 -0.11 -2.82 -2.69 3.86 -0.26 0.35 -0.09 1.71 -1.2 
+-1.18 -0.87 -4.12 -3.04 -0.82 -1.47 -2.06 -1.69 -2.82 -2.73 -1.09 -1.07 -2.34 -3.28 0.8 -1.84 
+1.76 -1.35 0.69 -1.93 -0.59 -1.09 -4.56 -4.17 -0.02 -0.04 0.37 -2.23 1.15 0.3 2.13 1.63 
+2.54 2.41 0.5 -0.63 1.3 -1.61 -5.27 -3.21 0.8 -0.93 -0.18 -1.26 -4.36 -2.8 1.57 -1.69 
+1.61 -1.67 -2.71 -1.91 -2.86 0.87 -1.91 0.13 -0.21 -1.61 -0.37 -3.23 3.82 1.52 1.02 -0.97 
+0.61 -0.57 -4.45 -2.3 -1.12 -0.65 -3.6 -2.95 -1.09 -0.84 -0.24 0.24 -1.11 1.99 -0.65 2.67 
+-0.85 2.47 f*
+255 G
+786.96 1657.45 -6.27 -1.8 0.35 -2.02 0.41 -2.02 6.23 1.96 0.46 0.15 2.19 0.67 3.6 1.06 
+-0.34 1.84 6.29 1.71 -0.26 1.76 -0.21 1.78 -5.17 -1.24 -1.19 -0.3 -6.34 -1.61 0.26 -1.95 f*
+255 135 0 rG
+789 1602.97 -3.71 -2.84 3.6 2.95 1.13 0.65 4.45 2.3 1.18 -1.09 -4.78 -3.69 -1.86 1.71 f*
+255 G
+790.19 1701.87 -1.19 -2.08 6.27 -0.24 6.27 -0.3 1.11 1.87 1.15 1.87 1.23 1.87 1.3 1.84 
+-6.08 0.74 -6.1 0.65 -1.41 -2.06 -1.32 -2.06 -1.24 -2.08 f*
+189 0 54 rG
+792.84 1607.57 -3.82 -1.52 0.38 3.23 0.21 1.61 1.91 -0.13 2.86 -0.87 -1.82 -1.28 -0.87 0.11 
+-0.17 -0.87 0.73 0.3 0.59 -0.59 f*
+0 255 r6
+790.73 1559.36 -1.39 0.75 1.37 1.68 0.02 -2.43 f*
+791.04 1565.64 -0.79 0.44 0.91 1.04 -0.13 -1.48 f*
+255 203 0 rG
+790.73 1559.36 -0.02 2.43 1.65 1.95 -0.02 -5.04 0.13 -0.3 -0.26 0.15 -1.48 0.8 f*
+792.45 1564.82 -1.41 0.82 0.13 1.48 1.69 1.91 -0.41 -4.21 f*
+0 255 r6
+791.91 1571.7 -0.46 0.29 1.26 1.34 -0.8 -1.63 f*
+87 0 136 rG
+792.25 1608.16 -0.73 -0.3 0.17 0.87 0.87 -0.11 -0.43 -0.33 0.13 -0.13 f*
+255 203 0 rG
+793.17 1570.95 -1.26 0.75 0.8 1.63 2.69 2.89 1.35 1.45 -1.04 -1.64 -2.54 -5.08 f*
+255 135 0 rG
+792.47 1558.4 -0.13 0.3 0.02 5.04 0.65 0.76 -0.56 0.32 0.41 4.21 1.22 1.36 -0.91 0.55 
+2.54 5.08 1.04 1.64 2.63 2.74 -0.98 0.63 1.54 3.88 1.15 1.15 -0.58 0.39 3.47 4.52 
+2.17 3.54 1.17 1.08 4.34 3.93 4.36 3.86 -1.89 1.39 4.49 3.78 0.41 0.35 0 -5.88 
+-1.93 -0.41 -4.99 -3.43 -1.48 -3.89 -0.61 -1.56 -1.5 -3.99 4.38 2.13 3.8 4.21 3.78 4.23 
+0.63 1.52 -2.08 1.2 0 5.88 4.12 3.36 -1.67 1.32 4.66 3.63 4.71 3.55 4.1 3.04 
+-2.89 -4.02 -0.99 -1.23 -2.97 -2.91 -2.82 -4.32 -0.11 -0.56 -0.84 -3.04 0.15 -2.8 0 -0.55 
+-1.75 -4.19 -0.61 -0.93 -3.94 -4.1 -3.7 -4.3 -4.14 -4.01 -4.38 -3.56 -0.28 -0.15 -1.2 -1.41 
+-2.61 -2.87 -0.29 -0.19 -4.55 -3.45 -1.84 -3.57 -0.79 -1.43 -0.52 -4.69 -0.22 -1.39 -0.15 -4 
+1.24 -2.93 -2.28 1.19 f*
+255 35 0 rG
+794.75 1557.21 -1.24 2.93 0.15 4 0.22 1.39 0.52 4.69 0.79 1.43 1.84 3.57 4.55 3.45 
+0.29 0.19 2.61 2.87 1.2 1.41 0.28 0.15 4.38 3.56 4.14 4.01 3.7 4.3 3.94 4.1 
+0.61 0.93 1.75 4.19 0 0.55 -0.15 2.8 0.84 3.04 0.11 0.56 2.82 4.32 2.97 2.91 
+0.99 1.23 2.89 4.02 0.63 0.48 -0.32 0.26 0.43 1.96 3.38 2.34 -1.25 1.13 -1.24 1.15 
+2.64 1.69 1.2 -1.11 0.15 -1.85 -0.95 -1.5 -1.15 -2.02 -1.84 -2.93 -0.87 -1.24 -2.7 -3.19 
+-3.69 -4.25 -0.02 -0.04 -1.21 -3.65 -0.87 -1.78 -0.74 -2.47 0.28 -2.69 -0.41 -0.98 -3.14 -4.6 
+-3.91 -4.12 -3.69 -4.25 -3.75 -4.25 -4.93 -3.56 -3.91 -4.21 -4.54 -3.84 -2.97 -4.75 -0.26 -2.35 
+-0.56 -3.64 -0.07 -1.95 2.04 -2.56 0.63 -3.14 -2.21 1.13 -0.39 0.2 f*
+189 0 54 rG
+796.72 1559.03 -2.04 2.56 0.07 1.95 0.56 3.64 0.26 2.35 2.97 4.75 4.54 3.84 3.91 4.21 
+4.93 3.56 3.75 4.25 3.69 4.25 3.91 4.13 3.14 4.6 0.41 0.98 -0.28 2.69 0.74 2.47 
+0.87 1.78 1.21 3.65 0.02 0.04 3.69 4.25 2.7 3.19 0.87 1.24 1.84 2.93 1.15 2.02 
+0.95 1.5 -0.15 1.85 -1.2 1.11 1.35 0.85 1.21 -1.07 0.48 -1.56 -2.04 -3.19 -0.22 -0.37 
+-1.78 -3.43 -0.85 -1.21 -3.89 -4.14 -1.82 -2.08 -1.5 -2.52 -0.61 -1.82 -1.69 -3.43 -0.33 -1.11 
+0.95 -2.04 -1.32 -3.05 -3.37 -4.45 -2.67 -2.87 -1.09 -1.35 -3.34 -4.47 -3.63 -4.3 -3.12 -1.56 
+-2.34 -1.7 -3.93 -4.19 -4.17 -4.03 -3.38 -4.54 -0.13 -1.15 -0.74 -4.8 -0.02 -0.93 2.41 -2.06 
+1.45 -3.37 3.34 -0.93 4.88 1.21 -0.54 -0.78 -5.55 -2.41 -0.18 0.07 -0.08 -0.11 -3.08 1.32 
+0.17 0.26 -0.74 0.37 -0.63 3.14 f*
+110 210 9 rG
+797.7 1549.54 -2.97 1.43 0.54 0.74 3.2 -1.32 -0.66 -0.89 -0.11 0.04 f*
+189 0 54 rG
+795.31 1621.27 -0.37 2.23 0.02 0.04 4.56 4.17 0.59 1.09 -0.69 1.93 -1.76 1.35 -0.8 1.84 
+2.34 3.28 1.09 1.07 2.82 2.73 2.06 1.69 0.82 1.47 4.12 3.04 1.18 0.87 -1.71 1.2 
+-0.35 0.09 -3.86 0.26 2.82 2.69 0.06 0.11 1.8 2.32 0.91 1.99 -0.83 1.48 1.46 2.06 
+1.08 1 1 1.15 0.93 1.82 1.13 1.8 2.84 0.56 3.62 0.67 -2.61 -2 -0.84 -0.65 
+-0.87 -1.26 -1.17 -1.84 -1.2 -1.89 -0.07 -1.64 -1.82 -1.24 -1.04 -1.26 -1.3 -2.11 -1.2 -2.14 
+2.39 -0.95 1.63 -1.18 -3.62 -2.73 -1.3 -0.93 -1.18 -2.39 -1.25 -2.47 -0.41 -0.19 0.08 -0.16 
+-5.05 -3.88 -0.39 -0.46 -0.41 -2.37 1.06 -1.67 1.61 -1.39 1.67 0.39 0.58 -0.8 -2.21 -1.8 
+-2.93 -1.65 0.79 -1 -2.54 -2.41 -2.13 -1.63 -1.15 -0.3 f*
+0 255 r6
+798.46 1550.39 -3.2 1.32 0.66 0.89 3.17 -1.33 -0.63 -0.89 f*
+87 0 136 rG
+797.68 1560.25 -2.41 2.06 0.02 0.93 0.74 4.8 0.13 1.15 3.38 4.54 4.17 4.03 3.93 4.19 
+2.34 1.7 3.12 1.56 3.63 4.3 3.34 4.47 1.09 1.35 2.67 2.87 3.37 4.45 1.32 3.05 
+-0.95 2.04 0.33 1.11 1.69 3.43 0.61 1.82 1.5 2.52 1.82 2.08 3.89 4.14 0.85 1.21 
+1.78 3.43 0.22 0.37 2.04 3.19 -0.48 1.56 -1.21 1.07 1.09 0.7 -1.13 1.08 -1.08 1.13 
+-1.05 1.15 -1.02 1.18 -0.97 1.17 -0.96 1.19 -0.78 1.02 1.02 0.74 3.91 2.93 1.24 0.99 
+4.25 1.87 -0.71 1.09 5.82 2.36 5.84 2.32 0.58 -0.93 5.82 2.3 0.57 -0.84 0.58 -0.82 
+5.73 2.38 0.54 -0.76 0.57 -0.73 0.58 -0.72 5.56 2.54 0.54 -0.63 0.56 -0.65 0.59 -0.63 
+1.22 -1.22 0.65 -0.61 0.65 -0.59 0.67 -0.56 0.7 -0.57 0.71 -0.56 0.71 -0.54 0.74 -0.54 
+0.78 -0.52 0.76 -0.52 4.43 3.43 0.7 -0.43 1.43 -0.87 0.74 -0.41 0.73 -0.39 1.52 -0.78 
+0.78 -0.37 1.61 -0.7 0.82 -0.34 0.82 -0.33 3.15 3.99 0.74 -0.26 -3.06 -4.04 0.84 -0.3 
+0.85 -0.29 0.86 -0.28 0.87 -0.26 -2.54 -4.21 1 -0.3 2.04 -0.52 1.02 -0.24 -2.04 -4.36 
+1.17 -0.26 1.15 -0.24 1.17 -0.22 2.34 -0.39 1.2 -0.18 -1.26 -4.51 -1.32 0.17 -1.3 0.22 
+-1.28 0.21 -1.63 -4.49 -1.41 0.26 -1.73 -4.49 -1.52 0.3 -1.82 -4.5 -1.8 -4.53 -1.78 -4.56 
+-1.76 -4.58 -1.73 -4.6 -2.08 0.43 -1.82 -4.6 -2.21 0.45 -1.91 -4.6 -1.89 -4.64 -2.41 0.54 
+-1.97 -4.64 -1.95 -4.66 -2.61 0.61 -2.59 0.65 -1.64 -3.55 -1.26 -0.89 -0.55 0.15 -1.34 0.35 
+-2.64 0.73 -2.63 0.78 -2.61 0.79 -2.58 0.84 -2.56 0.87 -2.12 -3.54 -1.17 -0.8 -2.06 0.74 
+-2.78 -4.54 -2.71 0.98 -2.67 1.04 -0.46 -0.67 -2.93 0.65 -3.8 -0.52 -2.3 -1.32 -1.62 0.72 
+-1.72 -2.41 -2.75 -1.5 -1.47 0.68 -3.26 -4.47 -0.87 -1.2 -4.36 -2.41 -0.89 0.44 -3.28 -4.52 
+-4.88 -1.21 -3.34 0.93 -1.45 3.37 f*
+7 193 59 rG
+796.33 1768.49 -0.52 0.22 0.8 0.45 -0.29 -0.67 f*
+255 203 0 rG
+799.09 1551.28 -3.17 1.33 0.67 0.89 3.12 -1.35 -0.62 -0.87 f*
+255 0 r6
+796.46 1781.71 -0.43 0.21 1.24 0.61 -0.8 -0.82 f*
+110 210 9 rG
+797.83 1767.82 -1.5 0.67 0.29 0.67 2.43 1.33 -1.21 -2.67 f*
+0 155 255 rG
+800.33 1779.82 -3.87 1.89 0.8 0.82 3.73 1.76 5.04 2.3 5.16 2.21 5.25 2.13 0.8 -0.54 
+-5.57 -1.87 -5.26 -2.15 -4.29 -2.67 -1.52 -3.75 -0.28 -0.13 f*
+255 135 0 rG
+799.71 1552.15 -3.12 1.35 0.65 0.86 3.12 -1.32 -0.65 -0.89 f*
+255 203 0 rG
+798.39 1581.04 -1.43 0.93 2.97 2.95 -1.54 -3.88 f*
+255 35 0 rG
+800.37 1553.04 -3.12 1.32 0.67 0.89 3.08 -1.32 -0.63 -0.89 f*
+7 193 59 rG
+797.8 1549.5 -0.11 0.04 0.11 -0.04 f*
+0 255 r6
+799.35 1767.14 -1.52 0.67 1.21 2.67 0.98 0.52 3.23 1.7 1.46 0.37 4.34 2.17 1.3 0.93 
+2.89 1.32 -1.45 0.85 3.75 2.62 5.84 1.24 4.7 0.67 1.82 -0.07 1.7 1.39 1.76 1.43 
+1.3 3.52 1.09 0.37 0.8 0.29 7.07 -1.15 0.74 -0.15 0.41 -0.96 -2.76 -3.49 -4.69 -1.65 
+0.04 -0.07 0.02 0 4.84 1.52 5.71 0.61 6.55 -0.52 0.57 0.11 5.32 -0.2 6.05 -0.63 
+2.34 -3.21 2.32 -3.26 4.27 0.93 0.84 -1.32 -4.12 -1.06 -7.9 -2.52 -4.32 -0.85 -3.82 -1.41 
+-3.27 -1.93 -1.31 -1.39 -1.21 -1.15 -3.67 -1.46 -3.38 -1.65 -3.71 -1.41 -2.69 -2.15 -3.54 -1.54 
+-2.61 -2.11 -2.23 -2.3 -0.41 -0.67 -1.29 -1.84 -1.06 -2.78 -2 -2.2 -3.75 -1.37 -3.15 -1.67 
+-5.46 -0.85 -1.8 -0.67 0.37 1.2 -2.76 2.52 -0.74 0.65 -2.47 2.2 5.42 1.15 -0.61 2.21 
+-0.39 1.57 2.84 2.25 3.11 2.14 3.62 1.89 3.69 1.82 2.54 2.5 0.42 1.17 -3.34 2.8 
+1.45 1.08 3.76 1.3 0.78 0.21 0.07 0.16 0.89 3.77 0.5 1 -2.69 3 -3.41 -0.24 
+-3.19 -0.62 -2.61 -0.52 -4.14 -2.23 -3.14 -2.73 -0.54 -1.46 3.54 -2.63 0.13 -1.71 -3.38 0.02 
+-4.71 2 -3.14 -0.71 f*
+255 135 0 rG
+799.09 1618.49 -0.8 -0.52 0.18 1.26 0.63 -0.74 f*
+255 203 0 rG
+800.5 1586.46 -1.7 1.15 4.23 4.01 3.1 2.89 -2.17 -3.54 -3.47 -4.52 f*
+87 0 136 rG
+801.63 1631.86 -1.06 1.67 0.41 2.37 0.39 0.46 5.05 3.88 0.83 -1.43 0.93 -1.59 -5.69 -2.73 
+1.07 -1.65 1.08 -1.61 0.26 -0.37 -1.67 -0.39 -1.61 1.39 f*
+2 239 204 rG
+803.02 1781.12 -2.41 -1.17 1.52 3.75 4.29 2.67 5.26 2.15 5.57 1.87 2.82 -1.93 0.79 -0.55 
+-1.89 0.11 -5.44 -0.67 -5.58 -1.85 -4.21 -2.67 -0.72 -1.71 f*
+255 35 0 rG
+802.43 1553.41 -1.17 0.57 5.55 2.41 -1.11 -1.54 -3.27 -1.43 f*
+255 135 0 rG
+803.62 1552.87 -1.19 0.54 3.27 1.43 -1.11 -1.56 -0.98 -0.41 f*
+7 193 59 rG
+805.12 1782.09 -2.11 -0.97 0.72 1.71 4.21 2.67 5.58 1.85 5.44 0.67 1.89 -0.11 2.82 -1.99 
+1.41 0.52 -0.83 -0.95 -5.34 -1.63 -0.58 -0.07 -5.1 1.89 -3.78 -1.05 -2.95 -1.91 -0.15 -1.3 
+-1.24 0.67 f*
+255 35 0 rG
+805.82 1629.62 -2.54 -1.37 2.21 1.8 0.33 -0.43 f*
+255 203 0 rG
+804.12 1552.63 -0.5 0.24 0.98 0.41 -0.48 -0.65 f*
+255 35 0 rG
+807.01 1681.16 -2.78 -0.2 1.87 1.85 0.73 1.78 0.88 1.73 1.13 0.96 -0.33 -0.93 -0.56 -1.74 
+6.45 0.22 6.44 0.13 0.52 1.52 0.56 1.52 0.61 1.54 0.67 1.5 -6.34 0.28 -4.53 0.15 
+1.84 1.63 1.67 1.61 1.88 1.56 1.63 1.54 1.2 0.48 -0.32 -0.56 6.18 -0.67 6.16 -0.79 
+0.89 1.39 0.93 1.37 -6.07 0.98 -2.99 0.43 1.11 1.5 -0.37 1.75 1 1.54 2.17 1.29 
+3.49 -0.79 -1.17 -1.41 5.88 -1.25 -1.06 -1.35 5.95 -1.24 -0.98 -1.24 -0.91 -1.25 -0.87 -1.29 
+4.04 -0.67 -0.87 -1.21 -0.67 -1.23 -2.62 -1 -2.24 0.26 -6.23 0.65 -0.74 -1.39 -0.69 -1.43 
+-0.65 -1.41 6.36 -0.36 3.82 -0.24 -1.93 -1.19 -2.45 0.11 -0.52 -1.33 -6.4 0.18 -0.5 -1.43 
+-0.45 -1.43 -0.39 -1.43 -6.46 -0.24 -6.47 -0.3 -6.46 -0.42 f*
+110 210 9 rG
+803.25 1772.7 1.06 0.55 4.41 2.16 1.63 0.76 -1.3 -0.93 -4.34 -2.17 -1.46 -0.37 f*
+0 255 r6
+808.55 1736.59 -4.17 1.37 4.06 -1.46 0.13 0.04 -0.02 0.05 f*
+110 210 9 rG
+809.2 1779.84 -2.84 1.58 0.15 1.3 2.95 1.91 3.78 1.05 5.1 -1.89 0.58 0.07 5.34 1.63 
+0.83 0.95 3.58 1.32 3.99 1.39 -1.3 -3.52 -1.76 -1.43 -1.7 -1.39 -1.82 0.07 -4.7 -0.67 
+-5.84 -1.24 -3.75 -2.62 -2.59 1.5 f*
+87 0 136 rG
+812.17 1642.91 -5.42 -2.32 1.25 2.47 1.18 2.39 1.3 0.93 3.62 2.73 -1.63 1.18 -2.39 0.95 
+1.2 2.14 1.3 2.11 1.04 1.26 1.82 1.24 0.07 1.64 1.2 1.89 1.17 1.84 0.87 1.26 
+0.84 0.65 2.61 2 2.78 0.5 -0.02 0.63 2.19 1.16 0.96 1.52 0.63 1.46 0.52 1.43 
+0.18 1.37 -0.05 1.37 0.43 1.39 1.74 1.45 0.73 0.39 -0.06 -0.37 -0.26 -1.34 6.49 0.35 
+6.46 0.24 -0.2 -1.15 -0.16 -1.15 -0.12 -1.16 -0.09 -1.15 6.49 0.54 6.49 0.46 -0.04 -0.96 
+-0.02 -0.95 6.49 0.54 -0.02 -0.84 0.04 -0.87 0.04 -0.84 6.47 0.74 0.07 -0.76 0.09 -0.76 
+0.11 -0.74 0.16 -0.76 0.15 -0.74 0.2 -0.76 0.2 -0.73 0.24 -0.74 6.29 1.41 0.22 -0.65 
+0.24 -0.63 0.26 -0.63 0.28 -0.65 0.28 -0.61 0.33 -0.62 0.35 -0.61 0.73 -1.22 -5.86 -2.15 
+-0.43 0.67 -0.42 0.7 -0.39 0.69 -0.37 0.7 -6.05 -1.91 -0.39 0.8 -6.07 -1.91 -0.42 0.89 
+-6.07 -1.89 -6.08 -1.98 -6.04 -2.06 -0.52 1.13 -6.05 -2.04 -0.54 1.24 -0.52 1.23 -6.12 -1.95 
+-6.07 -2.06 0.32 -0.8 -3.04 -1.8 -2.71 -1.02 0.7 -1.47 -5.92 -2.37 0.78 -1.54 f*
+255 G
+808.5 1686.35 -0.56 -1.74 6.45 0.22 6.44 0.13 0.52 1.52 0.56 1.52 0.61 1.54 0.67 1.5 
+-6.34 0.28 -4.53 0.15 -1.8 0.04 -0.74 -1.71 -0.67 -1.72 -0.29 -0.8 -0.33 -0.93 f*
+255 203 0 rG
+810.03 1593.73 -1.5 -3.99 4.38 2.13 3.8 4.21 3.78 4.23 0.63 1.52 -2.08 1.2 -1.93 -0.41 
+-4.99 -3.43 -1.48 -3.89 -0.61 -1.56 f*
+255 135 0 rG
+816.19 1770.38 -5.2 1.82 1.17 1.32 5.01 1.63 0.19 0.02 0.22 -0.28 0.59 -3.58 -0.85 -0.76 
+-1.13 -0.17 f*
+189 0 54 rG
+812.43 1560.83 -0.91 0.41 4.36 2.41 -1.06 -1.49 -2.39 -1.33 f*
+255 G
+818.45 1669.62 -6.45 -1.06 0.07 -1.62 0.11 -1.59 3.56 0.7 2.84 0.56 3.62 0.67 2.78 0.5 
+-0.02 0.63 -0.05 0.79 -0.02 1.43 -1.11 -0.15 -5.34 -0.85 f*
+255 35 0 rG
+813.54 1560.35 -1.11 0.48 2.39 1.33 -1.28 -1.8 f*
+255 0 r6
+812.79 1793.34 -0.02 0 0.07 0.02 -0.04 -0.02 f*
+0 155 255 rG
+816.45 1790.93 -3.66 2.41 0.04 0.02 5.45 2.11 4.21 1.52 -0.72 -4.02 -0.04 -0.04 -5.27 -2 f*
+255 135 0 rG
+818.62 1738.3 -0.04 0.11 2.04 2.02 2.56 1.78 2.84 1.63 3.19 1.43 1.71 0.59 2.34 0.32 
+2.5 1.76 0.46 0.7 0.08 2.34 4.04 0.84 2.3 -0.12 3 -0.05 2.28 1.95 0.07 0.37 
+-0.7 4.05 0.02 0.02 0.19 0.07 6.36 -1.58 0.29 -0.18 4.86 -0.44 3.06 1.3 3.1 1.28 
+3.95 0.26 3.63 -0.7 2.28 -1.82 1.99 -1.11 -0.99 -0.26 -3.15 -0.84 -0.39 -0.11 -4.55 1.41 
+-0.42 -2.87 3.82 -1.17 1.23 -1.47 -2.91 -0.89 -2.88 -0.93 -2.82 -0.98 -2.8 -1.02 -2.76 -1.08 
+-2.45 -1 1.26 2.04 2.71 1.15 1.39 2.48 0.85 1.11 -2.15 0.13 -4.75 0.48 -3.14 -1.09 
+-3.06 -1.17 -2.8 -1.39 -2.54 -1.56 -2.67 -1.45 -2.15 -1.78 -1.87 -1.91 -2.69 -1.41 -2.06 -1.75 
+0.21 -1.09 -1.59 -0.97 -2.38 -1.57 -4.88 2.15 -1.74 -1.21 -3.27 3.21 f*
+189 0 54 rG
+822.63 1650.5 -3.3 -1.2 3.04 1.8 0.26 -0.61 f*
+255 G
+820.55 1698.29 -0.32 -0.56 6.18 -0.67 6.16 -0.79 0.89 1.39 0.93 1.37 -6.07 0.98 -2.99 0.43 
+-3.11 0.43 -1.02 -1.56 -0.65 -1.02 f*
+255 0 r6
+820.96 1799.67 -0.46 0.33 4.91 1.67 -4.45 -2 f*
+0 155 255 rG
+823.44 1797.8 -2.48 1.87 4.45 2 0.98 0.32 5.96 1.86 3.02 -2.69 -4.69 -1.46 -1.47 -0.04 
+-5.77 -1.87 f*
+189 0 54 rG
+822.77 1568.08 -1.28 0.56 2.75 1.5 -1.47 -2.06 f*
+2 239 204 rG
+821.79 1792.95 -0.07 -0.02 0.04 0.04 0.72 4.02 1.41 0.48 1.82 -1.41 -3.82 -3.06 -0.11 -0.04 f*
+0 155 255 rG
+827.21 1794.88 -5.32 -1.89 3.82 3.06 1.5 -1.17 f*
+2 239 204 rG
+823.89 1797.46 -0.46 0.34 5.77 1.87 1.47 0.04 -1.11 -0.34 -5.68 -1.91 f*
+189 0 54 rG
+824.89 1670.62 -1.11 -0.15 1.11 0.39 0.87 1.3 0.54 1.48 0.16 1.41 -0.02 1.41 0.34 1.43 
+1.17 1.47 2 1.46 0.43 1.39 2.47 0.04 -0.34 -1.35 -0.22 -0.97 -0.73 -0.39 -1.74 -1.45 
+-0.43 -1.39 0.05 -1.37 -0.18 -1.37 -0.52 -1.43 -0.63 -1.46 -0.96 -1.52 -2.19 -1.16 -0.05 0.79 
+-0.02 1.43 f*
+255 0 r6
+833.59 1276.11 -6.75 0.63 0.46 5.38 6.73 -0.67 0.43 5.38 0.96 10.72 1 10.71 1.08 10.72 
+0.58 5.34 6.41 -0.63 0.54 5.36 0.57 5.34 6.34 -0.58 0.52 5.34 0.55 5.34 0.57 5.34 
+6.2 -0.54 0.5 5.32 6.16 -0.48 6.18 -0.43 1.31 15.95 6.03 -0.39 0.39 5.32 0.41 5.29 
+5.91 -0.32 5.92 -0.28 0.61 10.59 0.3 5.27 0.33 5.29 -5.69 0.29 -5.66 0.33 0.46 5.27 
+0.46 5.25 0.48 5.27 0.48 5.23 0.5 5.25 0.5 5.23 0.5 5.21 5.19 -0.33 5.18 -0.25 
+5.21 -0.24 5.21 -0.18 5.21 -0.13 5.21 -0.07 0.09 5.21 0.07 5.21 0.09 5.21 -4.99 0.06 
+0.15 5.19 -4.91 0.13 -4.9 0.18 0.32 5.16 4.82 -0.15 4.82 -0.13 4.84 -0.07 0.08 5.17 
+4.75 -0.02 0 -62.65 -5.64 0.02 -0.07 -5.27 -5.68 0.09 -0.12 -5.3 -0.14 -5.27 5.82 -0.09 
+5.84 -0.02 0 -170.32 -7.12 0.02 -7.1 0.07 -7.09 0.14 -7.1 0.15 -7.1 0.2 -7.07 0.24 
+-0.11 -5.32 -7.09 0.28 0.13 5.32 -7.07 0.32 0.15 5.32 -7.05 0.37 0.19 5.32 -7.03 0.41 
+0.21 5.34 0.48 10.68 -6.93 0.48 0.29 5.34 -6.9 0.54 0.32 5.34 -6.86 0.59 0.37 5.36 
+0.39 5.36 0.41 5.38 f*
+189 0 54 rG
+828.64 1571.38 -1.06 0.45 2.3 1.32 3.8 0.52 2.93 -0.65 -0.54 -0.85 -3.12 0.41 -3.93 -1.37 
+-0.37 0.16 f*
+255 35 0 rG
+831.21 1570.33 -2.19 0.89 3.93 1.37 3.12 -0.41 -1.11 -1.69 -3.5 -0.07 -0.26 -0.09 f*
+255 135 0 rG
+831.36 1570.27 -0.15 0.07 0.26 0.09 3.5 0.07 -0.87 -1.33 -2.73 1.11 f*
+255 203 0 rG
+834.33 1739.54 -2.06 -1.75 0.21 -1.09 0.87 0.54 2.5 1.48 2.56 1.45 2.61 1.41 2.67 1.35 
+2.71 1.32 2.78 1.28 2.79 1.24 3.71 -2.95 0.26 0.11 1.26 2.04 2.71 1.15 1.39 2.48 
+0.85 1.11 -2.15 0.13 -4.75 0.48 -3.14 -1.09 -3.06 -1.17 -2.8 -1.39 -2.54 -1.56 -2.67 -1.45 
+-2.15 -1.78 -1.87 -1.91 -2.69 -1.41 f*
+255 35 0 rG
+833.94 1643.32 -0.26 0.37 1.78 0.8 -1.52 -1.17 f*
+189 0 54 rG
+834.55 1642.45 -0.61 0.87 1.52 1.17 3.91 1.78 1.48 0.67 -1.24 -0.99 -3.91 -2.93 -1.02 -0.74 
+-0.13 0.18 f*
+255 135 0 rG
+835.27 1624.54 -1.04 0.91 1.48 1.04 -0.43 -1.96 f*
+110 210 9 rG
+840.02 1784.05 -4.69 -1.65 0.04 -0.07 0.02 0 4.84 1.52 5.71 0.61 6.55 -0.52 0.57 0.11 
+5.32 -0.2 6.05 -0.63 -2.37 3.15 -2.41 3.13 -2.43 3.08 -0.04 0 -4.5 -2.02 -5.14 -0.52 
+-0.59 -0.17 -0.17 0.2 -5.93 1.73 -1.97 -0.61 -4.34 -1.39 7.07 -1.15 0.74 -0.15 0.41 -0.96 
+-2.76 -3.49 f*
+189 0 54 rG
+841.04 1687.21 -3.91 0.24 1.93 1.19 2.52 -0.19 0.57 1.21 2.47 -0.24 -0.26 -1.22 -1.23 -1.12 
+-2.08 0.13 f*
+843.42 1692.1 -3.99 0.48 2.62 1 0.67 1.23 0.88 1.21 2.04 -0.37 -0.79 -1.17 -0.74 -1.2 
+-0.7 -1.19 f*
+87 0 136 rG
+847.37 1686.79 -4.25 0.3 1.23 1.13 0.26 1.22 3.82 -0.39 -0.54 -1.13 -0.52 -1.12 f*
+7 193 59 rG
+840.86 1791.79 3.26 0.96 2.67 -2.69 -5.93 1.73 f*
+87 0 136 rG
+851.41 1678.95 -6.49 -0.15 0.24 1.15 6.47 0.04 -0.22 -1.04 f*
+189 0 54 rG
+847.87 1575.29 -0.58 0.19 1.17 0.8 -0.59 -0.99 f*
+7 193 59 rG
+847.55 1790.04 4.51 1.24 5.12 1.3 -4.5 -2.02 -5.14 -0.52 f*
+0 155 255 rG
+861.07 1555.49 -0.02 0.02 0.02 -0.02 f*
+2 239 204 rG
+861.07 1555.49 -0.02 0.02 0.91 2.24 2.34 -2.58 0.13 -0.43 1.93 -3.15 2.82 -1.8 2.95 -1.5 
+3.45 0.07 3.47 0.15 -0.25 -0.93 -2.8 -0.2 -0.66 0.11 -3.27 0.56 -3.25 0.61 -0.59 0.11 
+-2.32 1.54 -2.56 2.38 0.8 2.11 -3.08 0.7 f*
+7 193 59 rG
+864.3 1555.17 -2.34 2.58 0.91 2.23 2.17 -2.89 0.82 -2.66 0.96 -1.54 2.8 -1.79 2.93 -1.52 
+3.34 -0.22 3.4 0.06 -0.24 -0.93 -3.47 -0.15 -3.45 -0.07 -2.95 1.5 -2.82 1.8 -1.93 3.15 
+-0.13 0.43 f*
+255 0 r6
+862.67 1549.91 -0.34 0.09 0.04 0.07 0.3 -0.16 f*
+0 155 255 rG
+862.67 1549.91 -0.3 0.16 0.97 2.62 2.56 -2.38 2.32 -1.54 -2.66 0.54 -2.89 0.61 f*
+110 210 9 rG
+865.04 1557.09 -2.17 2.89 0.11 0.28 0.87 2.09 1.39 -2.61 0.54 -0.72 1.54 -4.79 0.07 -0.13 
+2.69 -1.65 2.89 -1.56 3.23 -0.48 3.36 -0.04 -0.26 -0.93 -3.4 -0.06 -3.34 0.22 -2.93 1.52 
+-2.8 1.79 -0.96 1.54 -0.82 2.66 f*
+0 255 r6
+865.23 1559.75 -1.39 2.61 1 2.4 2.37 -2.06 1.67 -3.73 0.09 -0.17 1.96 -3.84 0.39 -1.63 
+2.04 -1.12 3.15 -0.76 3.29 -0.13 -0.24 -0.93 -3.36 0.04 -3.23 0.48 -2.89 1.56 -2.69 1.65 
+-0.07 0.13 -1.54 4.79 -0.54 0.72 f*
+864.7 1769.73 -0.02 -1.84 2.02 -0.67 4.67 -0.24 4.21 0.24 2.23 3.36 -0.24 0.41 0.52 0.11 
+-0.83 0.39 -4.4 -0.2 -4.23 -0.54 -3.93 -1.02 f*
+255 203 0 rG
+867.21 1562.7 -2.37 2.06 0.11 0.26 2.91 -0.67 2.91 -0.63 -1.75 -4.8 3.06 -0.61 2.52 -0.48 
+0.24 -1 2.32 -3.14 3.54 0.82 2.52 1.89 -1.61 1.43 -3.09 0.41 -3.28 -0.15 1.13 3.5 
+2.99 0.48 0.29 -0.04 0.52 -0.09 2.34 -0.87 2.34 -3.02 0.2 -1.93 -1.05 -1.41 -3.28 -3 
+-0.78 0.13 -0.16 -0.54 -3.29 0.13 -3.15 0.76 -2.04 1.13 -0.39 1.63 -1.96 3.84 -0.09 0.17 
+-1.67 3.73 f*
+189 0 54 rG
+866.25 1575.11 -0.76 0.2 1.26 0.89 -0.5 -1.09 f*
+255 203 0 rG
+867.93 1755.34 -0.42 -2.87 3.82 -1.17 -1.56 1.84 2.71 0.79 -4.55 1.41 f*
+255 135 0 rG
+874.83 1556.83 -0.24 1 0.54 -0.11 0.11 0.37 3.28 0.15 3.09 -0.41 1.61 -1.43 -2.52 -1.89 
+-3.54 -0.82 -2.32 3.14 f*
+0 155 255 rG
+878.62 1546.96 -2.62 0.41 2.8 0.2 -0.18 -0.61 f*
+0 255 r6
+876.37 1561.59 0.3 0.95 2.69 -0.48 -2.99 -0.48 f*
+882.14 1551.5 -1.41 0.21 3.28 3 1.05 1.41 -0.2 1.93 -2.34 3.02 -2.34 0.87 2.47 -0.41 
+2.25 -0.34 0.57 -0.76 0.43 -4.41 -2.39 -3.23 -1.36 -1.28 f*
+110 210 9 rG
+883.16 1551.37 -1.02 0.13 1.36 1.28 2.39 3.23 -0.43 4.41 -0.57 0.76 0.74 -0.11 1.26 -0.17 
+-0.18 -5 -3.25 -4.58 -0.3 0.05 f*
+7 193 59 rG
+884.59 1551.15 -1.13 0.17 3.25 4.58 0.18 5 1.75 -0.24 -1.15 -4.86 -0.07 -0.26 -2.84 -4.39 f*
+2 239 204 rG
+885.72 1551 -1.13 0.15 2.84 4.39 -0.67 -2.95 -1.04 -1.58 f*
+255 0 r6
+890.21 1479.14 -4.53 0.35 0.67 5.11 0.67 5.1 0.71 5.1 4.27 -0.35 0.63 5.08 4.21 -0.28 
+4.23 -0.26 4.23 -0.2 0.35 5.08 0.37 5.05 -4.06 0.2 0.48 5.05 3.95 -0.2 3.95 -0.16 
+3.97 -0.11 3.97 -0.07 -0.11 -5.05 -4.04 0.06 -0.19 -5.08 -0.18 -5.08 4.23 -0.06 -0.08 -5.1 
+4.34 -0.02 0 -15.37 -4.6 0.02 -4.59 0.09 -0.17 -5.14 -4.66 0.11 0.26 5.14 0.24 5.14 
+-4.49 0.15 -4.47 0.21 -4.5 0.26 -4.47 0.3 -0.61 -5.12 f*
+0 155 255 rG
+886.37 1550.91 -0.65 0.09 1.04 1.58 -0.39 -1.67 f*
+255 203 0 rG
+889.52 1773.11 -1.54 3.5 4.23 0.59 -1.35 3.51 4.43 0.54 4.47 0.46 4.47 0.37 0.65 -3 
+-4.25 -0.56 -4.51 0.29 -1.3 -1.29 -1.41 -3.47 -0.06 -0.41 -3.82 -0.52 f*
+255 135 0 rG
+893.55 1773.66 -0.21 -0.02 0.06 0.41 1.41 3.47 1.3 1.29 4.51 -0.29 4.25 0.56 0.13 -0.56 
+4.3 0.29 4.32 0.2 4.3 0.11 0.02 0 4.32 -0.5 4.27 -0.15 4.28 -0.2 4.25 -0.3 
+4.32 0.02 4.32 -0.07 3.36 -0.09 1.26 0.76 1.76 2.56 -0.59 0.93 -4.58 0.24 -4.47 0.59 
+-4.46 -0.52 -0.2 -0.05 -4.64 -1.04 -4.41 0.78 -4.47 0.59 0 0.11 4.51 -0.04 0.2 3.56 
+0.04 0.85 2.65 2.64 2.4 -0.08 0.07 0.52 4.95 -0.08 5.4 2.47 0.2 0 5.08 -0.46 
+1.02 3.43 5.25 -0.58 5.23 -0.66 0.41 0.93 3.54 -1.52 0.55 -1.63 1.34 -2.25 -3.34 -1.84 
+-4 -0.63 -0.75 -3.51 2.49 -0.67 4.02 -1.79 4.49 -0.75 4.62 0.15 0 -14.56 -1.54 -0.07 
+0.58 -1.25 4.23 -0.16 0.7 0.02 -0.52 0.21 -3.45 1.24 0 14.56 0.52 0.02 0.7 0.04 
+5.2 0.97 4.19 -1.56 4.99 -0.54 3.45 0.42 2.35 -0.31 5.03 -0.84 4.34 -1.54 4.12 -1.73 
+6.77 0.7 0.91 0.2 5.77 1.19 1.89 -0.78 0.89 0.59 1.24 -1.5 -5.6 -1.41 -1.62 0.33 
+-2.37 0.61 -1.15 0.29 -6.33 -1.13 -2.71 -1 -3.95 -0.62 -3.06 -0.39 -4.86 -0.98 -1.74 -0.11 
+-5.6 -1.61 -3.49 -2.95 0.41 -4.14 -3.87 0.21 -3.77 -2.06 -3.43 -3.11 -0.87 0.24 -0.06 -0.08 
+-2.43 -3.32 -3.17 0.79 -3.19 0.71 -3.23 0.68 -3.23 0.63 -3.28 0.56 1.63 3.61 -1.5 0.24 
+-1.47 1.54 -2.02 -1.04 -1.97 0.25 -1.29 -3.66 -3.32 0.39 -3.34 0.32 -3.36 0.26 -3.37 0.21 
+-3.36 0.16 -3.39 0.08 0.19 3.76 -3.55 0.04 -3.58 -0.04 -0.17 3.73 -3.76 -0.09 -3.73 -0.17 
+-3.73 -0.24 -0.75 3.66 -3.91 -0.32 -3.89 -0.39 -3.86 -0.46 -1.32 3.56 f*
+255 G
+910.75 1394.57 -0.14 -5.27 5.82 -0.09 5.84 -0.02 0 15.84 -5.64 0.02 -0.07 -5.27 -5.68 0.09 
+-0.12 -5.3 f*
+255 0 r6
+929.34 1224.2 -7.07 -0.02 0 170.31 5.75 0.02 5.75 0.06 -0.12 5.3 5.68 0.13 5.69 0.17 
+5.68 0.24 5.68 0.29 5.66 0.33 5.67 0.39 5.64 0.43 0.59 -5.27 0.54 -5.29 0.57 -5.29 
+0.52 -5.3 5.9 0.5 5.86 0.54 0.65 -5.29 5.92 0.58 5.91 0.65 0.74 -5.32 5.95 0.69 
+0.79 -5.32 5.99 0.76 5.99 0.8 -0.89 5.32 -0.93 5.32 5.86 0.84 5.82 0.91 5.79 0.96 
+1.09 -5.32 5.83 1.02 5.82 1.06 5.8 1.13 5.77 1.17 5.73 1.24 5.71 1.25 5.68 1.34 
+5.64 1.39 5.63 1.43 -1.61 5.32 -1.65 5.32 5.47 1.5 -1.73 5.27 -1.78 5.27 -1.8 5.28 
+-5.3 -1.5 -5.29 -1.43 1.67 -5.27 -5.41 -1.39 -1.62 5.27 -1.65 5.25 -5.32 -1.32 -5.34 -1.28 
+1.52 -5.25 -5.43 -1.23 -5.46 -1.17 -1.39 5.27 -5.43 -1.13 -1.37 5.25 -1.39 5.26 -1.43 5.23 
+-1.43 5.21 -5.18 -1.06 -5.21 -1 1.32 -5.21 1.29 -5.23 1.26 -5.25 1.21 -5.25 -5.49 -0.95 
+-5.51 -0.91 -1.11 5.25 -1.14 5.25 -5.4 -0.85 -1.07 5.25 -1.11 5.23 -2.25 10.42 -5.14 -0.79 
+-5.17 -0.74 -5.18 -0.67 -0.93 5.21 -5.12 -0.63 -5.14 -0.59 0.8 -5.21 0.78 -5.23 5.28 0.59 
+5.27 0.63 0.91 -5.23 5.32 0.7 0.96 -5.23 0.95 -5.25 0.91 -5.25 -5.51 -0.69 -1.74 10.5 
+-3.8 -0.46 -1.61 -0.17 -0.82 5.23 -5.36 -0.58 -5.36 -0.54 -0.69 5.25 -5.3 -0.5 -5.32 -0.42 
+-0.58 5.21 -0.57 5.23 -5.19 -0.39 -5.18 -0.33 0.43 -5.2 -5.27 -0.29 -0.37 5.23 -5.18 -0.24 
+-5.21 -0.18 0.21 -5.23 -5.27 -0.11 0.13 -5.25 0.15 -5.23 -5.43 -0.09 0.07 -5.25 -5.49 -0.02 
+0 52.13 4.73 0.02 -0.06 5.14 -0.09 5.14 -4.58 -0.02 0 10.27 4.41 0.02 4.41 0.06 
+0.17 -5.12 4.5 0.13 4.51 0.15 4.47 0.21 -0.41 5.12 4.38 0.24 4.41 0.3 -0.63 5.1 
+-0.61 5.08 -0.63 5.08 -0.63 5.06 4.02 0.32 4.02 0.37 -0.83 5.04 -0.82 5.02 -3.84 -0.37 
+-0.41 -0.02 0.37 0.35 3.84 0.26 1.2 -0.11 3.02 -1.61 0.07 -0.04 0 -58.2 -4.56 -2.13 
+-0.11 -0.05 -4.82 -1.04 -3.93 -4.66 0.26 -5.21 4.86 -3.54 4.43 4.08 0.26 0.24 0.54 -0.17 
+4.77 -2 5 1 2.79 2.04 1.71 2.04 3.73 3.78 -2.73 4.97 -2.37 0.32 -4.86 -0.35 
+-4.55 0.63 -0.43 0.05 0 58.2 4.12 -2.64 0.41 -0.48 4.06 -0.28 0.63 1.43 2.41 2.71 
+1.21 2.97 1.28 2.65 1.67 3 0.13 4.19 3.99 -0.7 4.32 -1.54 1.75 -0.04 -1.62 -0.33 
+-3.62 -0.7 -3.64 -0.67 1.41 -4.95 -3.76 -0.61 1.3 -4.99 1.3 -4.97 -3.97 -0.61 1.18 -5.02 
+-4.06 -0.56 -4.05 -0.52 0.97 -5.03 0.98 -5.08 4.25 0.54 4.23 0.57 -1.15 5.05 4.14 0.61 
+4.12 0.67 4.1 0.69 4.08 0.76 -1.52 4.99 -1.54 4.97 3.88 0.78 -1.65 4.95 2.95 0.63 
+-0.91 -5.49 0.07 -1.43 0.52 -3.75 1.25 -5.05 1.72 -4.97 1.32 -1.28 4.14 -2.95 1.61 -1.04 
+4.11 -3.12 1.82 -1 4.73 -1.3 0 -13.22 -3.52 -4.36 -0.2 -1.13 0.61 -5.29 1.39 -5.14 
+2.14 -2.02 5.14 -0.21 4.06 3.41 0.22 1.24 -1.67 3.34 -0.74 1.58 -2.15 4.99 -5.29 3.61 
+0 13.22 0.37 -0.09 2.45 -0.93 2.43 -4.88 2.19 -0.84 4.64 0.46 3.21 2.9 0.33 0.35 
+0.82 -0.04 P
+4.14 -0.35 4.97 -0.34 4.99 -0.87 0.29 -0.09 1.75 0.13 0 -16.43 -4.6 -1.25 -4.64 -1.24 
+1.85 -5.1 -4.75 -1.17 1.73 -5.12 1.7 -5.14 1.67 -5.16 1.65 -5.19 1.61 -5.18 5.1 1.21 
+5.08 1.26 -1.76 5.17 4.97 1.3 4.95 1.37 0.24 0.07 0 -5.69 -3.59 -0.28 -0.93 -0.93 
+1.59 -0.93 2.93 2.14 0 5.69 4.66 1.34 4.88 1.45 2.04 -5.14 4.9 1.52 4.88 1.59 
+2.93 0.97 -2.06 -3.08 -4.63 -2.3 -4.44 -2.85 -2.22 -1.82 0.42 -5.62 3.34 -4.8 3.28 -0.67 
+5.53 0.48 4.99 1.95 4.85 2.21 4.29 0.56 0 -67.41 -5.86 -1.5 -5.88 -1.43 1.32 -5.36 
+1.3 -5.4 5.99 1.43 1.33 -5.4 1.28 -5.43 6.05 1.48 1.29 -5.43 1.25 -5.42 1.22 -5.45 
+6.16 1.5 1.2 -5.45 1.2 -5.47 6.2 1.54 1.17 -5.49 1.13 -5.49 1.08 -5.5 6.3 1.57 
+1.09 -5.53 6.29 1.61 1.09 -5.54 6.3 1.65 6.27 1.7 -1.15 5.55 -1.19 5.55 -1.24 5.54 
+-6.16 -1.73 -1.24 5.54 -1.31 5.51 -6.09 -1.7 -1.3 5.49 -1.34 5.47 -6.05 -1.65 -1.35 5.47 
+-6.05 -1.63 -1.34 5.45 -1.37 5.45 -1.43 5.43 -5.95 -1.59 -1.41 5.42 -1.43 5.41 -5.87 -1.54 
+-1.46 5.38 0 67.41 1.13 0.16 5.55 0.45 5.05 0.32 0.65 -0.22 5.84 -0.15 1.52 3.43 
+-4.75 4.26 -0.07 6.09 -3.86 1.87 -2.73 1.63 -3.32 4.79 -1.28 5.6 1.08 0.82 4.14 2.69 
+1.24 5.36 -4.64 1.13 -0.52 -0.13 -4.32 -1.02 -4.38 -2.02 -5.23 -0.35 -1.02 -5.71 1.09 -5.58 
+-0.05 -0.24 -0.08 0.2 -2.34 5.1 -4.67 -1.67 -2.32 5.1 -4.62 -1.61 -2.3 5.08 -4.57 -1.54 
+-4.62 -1.5 -4.66 -1.43 -4.69 -1.39 -2.02 5.1 -4.67 -1.33 -1.98 5.08 0 16.43 3.02 0.2 
+4.91 0.06 4.69 0.61 4.73 0.54 2.55 0.07 2.41 0 4.75 0.59 4.01 2 3.63 2.62 
+0.69 0.91 2.76 1.93 3.55 2.61 3.17 3.12 3.26 2.91 2.36 -3.69 -3.95 -1.91 2.98 -4.88 
+-4.06 -1.87 2.85 -4.92 2.82 -4.97 2.78 -4.99 2.73 -5.02 4.36 1.91 2.76 -5.01 4.41 1.97 
+2.78 -5.05 2.73 -5.06 4.49 2.06 2.76 -5.1 -4.56 -2.06 2.64 -5.14 2.61 -5.14 2.28 -4.62 
+-6.27 2.91 -1.8 1.82 -0.8 -2.91 3.93 -3.58 1.57 -0.35 4.14 0.57 -0.04 1.17 4.29 1.91 
+4.73 2.14 2.63 -5.18 4.73 2.21 4.67 2.28 -2.76 5.17 -2.82 5.14 -2.87 5.12 -2.93 5.1 
+-2.97 5.05 -3.02 5.03 -3.06 4.99 -4.19 -2.19 -3.05 4.97 -4.17 -2.12 -4.23 -2.08 -2.95 4.97 
+4.17 2.06 4.08 2.13 4.05 2.17 4 2.23 -3.3 4.88 -3.34 4.84 -0.59 0.86 1.37 -0.39 
+5.69 -3.5 1.54 -0.71 4.78 0.98 0.8 4.1 0.71 1.39 2.82 3.54 4.93 0.72 0.04 0 
+6.08 -0.67 3.64 2.45 3.8 2.28 3.21 0.87 1.52 0.24 4.25 1.73 3.13 3.06 2.36 3.86 
+2.84 3.26 0.3 0.43 2.37 2.97 2.36 3.69 2.15 0.28 2.73 0.76 1.63 4.04 0.09 0.26 
+1.04 4.84 2 -1.4 0.61 -1.14 1.34 -6.37 -0.13 -0.87 -2.08 -4.04 -2.82 -3.32 -3.52 -2.59 
+-2.71 -3.54 -3.14 -3.06 0.15 -5.47 4.21 -4.56 4.38 -4.4 4.1 -4.66 -0.71 -3.04 -3.28 -3.47 
+-0.15 -4.69 5.41 -3.62 1 -0.26 5.38 0.78 3.19 -0.89 3.17 -5.4 -0.57 -1.91 -3.58 -3.49 
+-3.93 -3.04 p
+-3.93 -3.12 -0.71 -5.23 5.18 -3.84 2.34 -1.79 5.73 0.48 3.78 3.58 2.61 5.32 3.39 4 
+0.26 1.56 1.5 4.69 4.25 2.56 4.69 1.89 0.37 -0.07 6.96 -1.67 0.39 -0.15 4.95 -4.02 
+4.45 -1.11 3.23 -0.39 3.8 -0.93 4.05 -0.35 2.75 -0.65 5.23 1.3 2.19 0.57 4.17 -0.91 
+4.6 2.23 1.26 0.02 5.43 -0.85 3.82 3.32 3.43 3.82 2.36 1.58 2.61 0.07 2.28 5.32 
+3.28 3.86 1.56 4.25 0.52 1.15 1.86 5.53 2.65 4.47 0.74 6.73 4.23 2.39 2.95 3.9 
+0.8 0.5 5.12 -0.12 2.58 4.27 -2.36 8.71 -1.54 2.95 0.89 5.95 -1.54 4.17 -4.43 6.92 
+-4.76 6.08 -0.71 1.17 -3.61 7.2 -3.3 5.47 -1.06 3.64 -5.47 4.04 -5.41 4.51 -5.47 4.28 
+-1.97 0.04 -4 1.32 -5.75 2.78 -2.32 -0.15 -4.02 -2.32 -0.43 -0.37 -5.42 -0.52 -1.02 0.04 
+-3.47 -1.95 -2.34 -3.54 -2.23 -0.7 -5.77 1.54 0.96 -6.07 -3.71 -2.43 3.79 -6.92 -0.06 -1.67 
+1.41 -6.92 -1.43 -4.56 -3.26 -2.91 0.74 -4.6 -0.28 -1.85 0.21 -6.37 0.7 -3.45 -0.71 -2.86 
+-1.65 -4.8 0.91 -5.99 0.21 -1.93 -0.74 -6.1 -3.51 -3.06 -2.37 -4.43 -4.49 1.93 -3.56 0.38 
+-4.34 -2.09 -2.21 0.07 -5.84 2.26 -0.48 0.3 0 0.28 0.96 5.86 -0.32 3.95 -3.08 6.18 
+0.02 0.26 1.43 4.86 1.91 4.32 1.76 4.38 2.38 3.71 3.22 2.89 1.73 4.25 -0.02 4.19 
+-0.26 1.82 -2.45 6.71 -1.52 2.23 -1.82 5.58 0.13 1.15 0.99 4.4 1.72 3.82 1.26 0.18 
+6.44 -1.13 0.89 -0.48 4.75 -2.78 6.29 -0.63 -3.84 7.7 -1.63 1.8 2.19 0.02 5.12 -0.32 
+-3.55 5.92 -5.16 5.41 -0.11 0.22 -1.15 5.68 1.35 3.97 1.69 3.71 0.93 1.45 1.28 1.91 
+0.26 4.62 5.27 1.39 0.08 0.04 0.29 4.6 3.75 2.5 1.97 0.71 5.91 -1.11 0.28 0.24 
+4.47 2.15 0.95 0.55 5.84 -1.87 3.08 0.08 -3.34 3.8 -4.36 5.88 -2.02 1.59 -5.02 7.24 
+-2.08 3.15 -3.55 4.55 -2.87 6.05 -1.84 5.45 -2.23 5.28 -0.48 0.5 -3.61 6.07 -0.82 4.82 
+0.93 0.39 1.61 3.04 2 1.35 1.07 -2.63 2.04 -5.42 6.34 -2.87 1.8 -5.47 1.61 -5.43 
+1.41 -5.41 6.23 -3.28 6.18 -3.41 -1.32 5.58 -1.52 5.62 6.27 -3.36 1.48 -5.71 6.18 -3.6 
+6.17 -3.71 -1.37 5.88 6.18 -3.77 6.14 -3.91 6.14 -4.05 6.07 -4.19 -1.37 6.25 6.13 -4.25 
+6.08 -4.41 6.05 -4.58 1.16 -6.46 5.93 -4.8 0.87 -6.44 5.79 -5 5.75 -5.12 -0.7 6.55 
+-0.93 6.68 5.86 -5.18 5.82 -5.34 0.76 -6.77 5.66 -5.54 0.43 -6.68 -5.58 5.55 -5.62 5.42 
+0.39 -6.51 0.17 -6.4 -0.02 -6.29 5.38 -5.54 -0.33 -6.23 5.21 -5.71 -0.59 -6.14 -0.78 -6.03 
+-0.96 -5.92 4.86 -5.88 4.8 -5.99 4.71 -6.11 4.6 -6.25 -1.48 -5.84 -1.65 -5.73 -4.45 6.25 
+1.56 5.73 -4.62 6.12 -4.69 5.99 -1.39 -5.71 -1.56 -5.62 4.53 -6.01 -1.8 -5.53 4.36 -6.1 
+4.28 -6.23 4.17 -6.34 2.06 5.51 4.14 -6.45 2 5.6 4.14 -6.55 4.08 -6.68 2 5.68 
+4.06 -6.79 3.93 -6.92 3.84 -7.04 -2.28 -5.58 3.62 -7.09 -2.5 -5.43 3.43 -7.16 -2.73 -5.25 
+3.26 -7.23 -2.95 -5.1 -3.15 7.16 -0.87 -1.46 -2.13 -3.6 -3.19 7.04 -3.02 -5 -3.23 6.9 
+-3.32 6.82 p
+-2.99 -4.95 -3.12 -4.86 3.19 -6.73 3.06 -6.83 2.97 -6.88 2.86 -6.99 2.76 -7.05 -3.59 -4.54 
+-2.69 7.01 -2.78 6.92 -2.91 6.86 -3 6.77 -3.12 6.73 -3.21 6.62 -3.32 6.55 -0.5 0.96 
+-2.9 5.53 -3.13 -4.75 -3.43 6.38 -3.19 -4.67 -3.28 -4.58 -3.38 6.25 -3.5 6.18 -3.25 -4.52 
+-3.5 6.1 -3.61 6.03 -3.21 -4.47 -3.6 5.95 -0.3 -0.39 -2.97 -3.99 -3.62 5.88 -3.3 -4.32 
+-3.43 -4.23 -3.52 -4.14 3.43 -5.86 3.34 -5.9 -3.75 -4.04 3.19 -5.94 -3.91 -3.95 3.04 -5.99 
+-4.04 -3.86 2.89 -6.01 -4.21 -3.78 2.75 -6.04 -4.34 -3.66 -4.45 -3.61 2.56 -6.05 2.47 -6.08 
+2.39 -6.14 2.3 -6.16 2.22 -6.23 2.12 -6.25 -4.82 -3.34 2 -6.27 1.88 -6.29 -4.96 -3.22 
+-1.87 6.25 -5.01 -3.17 -1.89 6.18 -2 6.17 -4.99 -3.19 -2.02 6.12 -2.11 6.05 -2.17 6.03 
+-4.93 -3.19 -2.21 5.96 -2.28 5.95 -2.37 5.93 -2.45 5.86 -4.78 -3.19 -2.47 5.82 -2.54 5.77 
+-4.75 -3.14 -4.82 -3.11 -2.5 5.73 -4.84 -3.04 -2.52 5.67 -2.58 5.64 -2.67 5.62 -4.73 -3.02 
+-4.79 -2.93 -2.63 5.55 -4.79 -2.86 -4.88 -2.82 -4.93 -2.76 -4.99 -2.69 -5.05 -2.62 -5.12 -2.58 
+-2.34 5.49 -5.12 -2.5 -2.34 5.45 -5.12 -2.45 -5.16 -2.39 -5.23 -2.34 -5.3 -2.28 -2.17 5.43 
+-2.23 5.4 -2.28 5.38 -5.16 -2.23 -5.21 -2.17 -5.25 -2.11 2.11 -5.38 2.06 -5.38 5.38 2.11 
+2.06 -5.43 2.02 -5.43 5.43 2.15 5.38 2.21 2.08 -5.47 5.38 2.28 5.34 2.32 5.28 2.39 
+2.19 -5.51 5.27 2.45 5.23 2.49 2.21 -5.55 5.23 2.56 2.21 -5.58 -5.27 -2.54 2.11 -5.59 
+2.04 -5.62 -5.45 -2.46 1.96 -5.62 1.87 -5.64 -5.58 -2.37 -5.64 -2.32 1.74 -5.64 1.65 -5.64 
+-5.02 -1.95 -0.73 -0.29 -5.82 -2.17 1.52 -5.64 -5.9 -2.11 -5.95 -2.05 1.39 -5.61 -6.04 -1.98 
+-6.07 -1.91 1.25 -5.62 -6.14 -1.84 -6.18 -1.8 1.13 -5.58 -6.27 -1.74 1.06 -5.58 1 -5.58 
+6.32 1.72 6.29 1.73 6.25 1.81 6.21 1.87 6.18 1.9 -1.17 5.67 6.1 1.97 1.19 -5.68 
+1.15 -5.69 1.09 -5.71 -6.2 -1.91 1.02 -5.68 0.93 -5.71 -6.29 -1.83 0.87 -5.68 0.8 -5.7 
+-6.38 -1.74 0.73 -5.66 0.68 -5.69 -6.47 -1.65 0.61 -5.66 -6.54 -1.58 0.55 -5.62 -6.58 -1.52 
+0.45 -5.62 0.41 -5.62 -6.62 -1.43 0.35 -5.6 -6.69 -1.37 0.28 -5.55 -6.7 -1.3 0.21 -5.55 
+0.2 -5.55 -6.77 -1.21 0.13 -5.51 0.09 -5.54 0.02 -5.51 6.79 1.15 -0.02 -5.54 -0.04 -5.53 
+-0.11 -5.52 -0.15 -5.51 6.73 1.09 -0.2 -5.54 -0.26 -5.53 -0.3 -5.51 -0.37 -5.51 -0.41 -5.49 
+-6.7 -0.98 -0.43 -5.47 -6.73 -0.91 -0.48 -5.42 -6.75 -0.84 -0.49 -5.41 -6.75 -0.8 -0.55 -5.36 
+-6.75 -0.76 -0.56 -5.34 -0.64 -5.3 -0.65 -5.29 -0.71 -5.3 -0.76 -5.27 -0.78 -5.25 -13.29 -1.17 
+-0.78 -5.19 -0.83 -5.18 -0.87 -5.17 -0.93 -5.14 -0.95 -5.12 -6.49 -0.46 -0.98 -5.1 -6.46 -0.41 
+-0.98 -5.04 -6.46 -0.39 -0.95 -5.02 -1 -4.99 -6.4 -0.33 -12.85 -0.61 -0.91 -4.93 -12.8 -0.52 
+-12.89 -0.47 -6.47 -0.22 0.7 4.84 0.65 4.88 0.63 4.88 -6.59 -0.24 0.56 4.88 0.54 4.93 
+-6.71 -0.26 0.48 4.93 0.45 4.95 -6.77 -0.26 0.39 4.94 0.39 4.97 0.37 4.97 0.35 5.02 
+-6.93 -0.28 p
+0.3 5.01 0.29 5.02 0.26 5.03 0.24 5.05 -7.01 -0.28 0.21 5.05 0.2 5.08 -7.08 -0.25 
+0.15 5.07 0.16 5.1 0.13 5.1 0.11 5.12 7.14 0.28 0.21 10.29 7.14 0.34 0.09 5.17 
+0.09 5.19 0.04 5.18 -7.16 -0.37 0.04 5.21 0.05 10.42 0 5.23 -7.18 -0.35 -0.05 10.46 
+-0.04 5.25 -0.07 5.25 -7.16 -0.33 -0.06 5.25 -7.16 -0.3 -0.07 5.27 7.16 0.3 -0.17 10.55 
+-0.11 5.29 -0.12 5.3 -0.11 5.29 -7.09 -0.32 -7.09 -0.28 -7.12 -0.22 -0.09 5.3 -7.08 -0.2 
+-0.08 5.29 -7.08 -0.15 -7.07 -0.13 -7.08 -0.07 p f*
+255 G
+922.27 1394.49 0 21.07 5.49 0.02 -0.07 5.25 5.43 0.09 -0.15 5.23 -0.13 5.25 5.27 0.11 
+-0.21 5.23 5.21 0.18 5.18 0.24 0.37 -5.23 5.27 0.29 -0.43 5.2 5.18 0.33 5.19 0.39 
+0.57 -5.23 0.58 -5.21 -5.34 -0.39 0.5 -5.25 0.48 -5.23 0.48 -5.27 5.54 0.39 -1.09 10.5 
+-0.57 5.25 5.32 0.42 5.3 0.5 0.69 -5.25 5.36 0.54 5.36 0.58 0.82 -5.23 1.61 0.17 
+0 -10.7 -5.55 -0.58 0.71 -5.27 5.6 0.61 -0.76 5.25 0 10.7 3.8 0.46 1.74 -10.5 
+5.51 0.69 -0.91 5.25 -0.95 5.25 -0.96 5.23 -5.32 -0.7 -0.91 5.23 -5.27 -0.63 -5.28 -0.59 
+-0.78 5.23 -0.8 5.21 5.14 0.59 5.12 0.63 0.93 -5.21 5.18 0.67 5.17 0.74 5.14 0.79 
+2.25 -10.42 1.11 -5.23 1.07 -5.25 5.4 0.85 1.14 -5.25 1.11 -5.25 5.51 0.91 5.49 0.95 
+-1.21 5.25 -1.26 5.25 -1.29 5.23 -1.32 5.21 5.21 1 5.18 1.06 1.43 -5.21 1.43 -5.23 
+1.39 -5.26 1.37 -5.25 5.43 1.13 1.39 -5.27 5.46 1.17 5.43 1.23 -1.52 5.25 5.34 1.28 
+5.32 1.32 1.65 -5.25 1.63 -5.27 5.41 1.39 -1.67 5.27 5.29 1.43 5.3 1.5 1.8 -5.28 
+1.78 -5.27 1.73 -5.27 -5.47 -1.5 1.65 -5.32 1.61 -5.32 -5.62 -1.43 -5.64 -1.39 -5.68 -1.34 
+-5.71 -1.25 -5.73 -1.24 -5.77 -1.17 -5.8 -1.13 -5.82 -1.06 -5.83 -1.02 -1.09 5.32 -5.79 -0.96 
+-5.82 -0.91 -5.86 -0.84 0.93 -5.32 0.89 -5.32 -5.99 -0.8 -5.99 -0.76 -0.79 5.32 -5.95 -0.69 
+-0.74 5.32 -5.91 -0.65 -5.92 -0.58 -0.65 5.29 -5.86 -0.54 -5.9 -0.5 -0.52 5.3 -0.57 5.29 
+-0.54 5.29 -0.59 5.27 -5.64 -0.43 -5.67 -0.39 -5.66 -0.33 -5.68 -0.29 -5.68 -0.24 -5.69 -0.17 
+-5.68 -0.13 0.13 -5.3 -5.75 -0.06 -5.75 -0.02 f*
+922.27 1467.69 0 10.29 4.58 0.02 0.09 -5.14 0.06 -5.14 -4.73 -0.02 f*
+255 203 0 rG
+917.95 1779.1 4.32 -0.5 4.27 -0.15 4.28 -0.2 4.25 -0.3 4.32 0.02 4.32 -0.07 3.36 -0.09 
+1.26 0.76 1.76 2.56 -0.59 0.93 -4.58 0.24 -4.47 0.59 -4.46 -0.52 -0.2 -0.05 -4.64 -1.04 
+-4.41 0.78 -4.47 0.59 0 -3.52 -4.32 -0.04 f*
+927.02 1787.13 0.16 2.69 2.5 -0.04 -2.65 -2.64 f*
+932.14 1790.21 0.35 2.97 5.1 -0.24 4.9 -0.34 -5.4 -2.47 -4.95 0.08 f*
+255 G
+942.29 1951.3 -7.46 0 10.05 -0.26 11.28 -0.5 11.29 -0.69 11.29 -0.89 11.26 -1.09 11.22 -1.28 
+11.22 -1.48 11.18 -1.67 11.16 -1.87 11.13 -2.06 11.09 -2.25 11.02 -2.45 11 -2.65 10.96 -2.84 
+10.89 -3.02 10.85 -3.21 10.77 -3.41 10.74 -3.6 10.66 -3.78 10.59 -3.97 10.52 -4.14 10.44 -4.34 
+10.37 -4.52 10.31 -4.69 10.2 -4.88 10.11 -5.06 10.05 -5.23 9.94 -5.41 6.23 -3.53 0.17 -0.09 
+0.11 -0.07 3.32 -1.87 9.74 -5.75 9.66 -5.92 9.53 -6.1 9.44 -6.25 9.31 -6.4 9.2 -6.58 
+1.57 -1.15 0.65 -0.41 0.71 -0.61 6.16 -4.58 8.98 -6.87 8.86 -7.06 8.72 -7.2 8.59 -7.36 
+8.47 -7.51 3.97 -3.64 0.54 -0.44 0.37 -0.39 3.47 -3.16 8.2 -7.81 8.05 -7.92 7.95 -8.07 
+7.77 -8.23 7.64 -8.36 7.5 -8.48 7.34 -8.59 7.2 -8.74 7.04 -8.86 6.88 -8.98 6.73 -9.12 
+6.58 -9.22 6.4 -9.33 6.25 -9.44 6.08 -9.55 5.9 -9.66 5.73 -9.77 5.58 -9.85 5.4 -9.94 
+5.21 -10.05 5.06 -10.13 4.86 -10.22 4.69 -10.3 4.51 -10.39 4.34 -10.46 4.14 -10.53 3.95 -10.61 
+3.78 -10.68 3.61 -10.74 3.39 -10.81 3.21 -10.85 3.04 -10.92 2.82 -10.95 2.64 -11.03 2.43 -11.05 
+2.25 -11.09 2.06 -11.16 1.87 -11.16 1.67 -11.2 1.47 -11.24 1.28 -11.24 1.09 -11.28 0.89 -11.29 
+0.7 -11.3 0.5 -11.31 0.26 -10.2 0 10.2 -0.5 11.33 -0.7 11.31 -0.89 11.3 -1.09 11.27 
+-1.28 11.26 -1.47 11.22 -1.67 11.21 -1.87 11.18 -2.06 11.13 -2.25 11.11 -2.46 11.05 -2.62 11.02 
+-2.84 10.96 -3.02 10.92 -3.21 10.87 -3.41 10.81 -3.58 10.74 -3.8 10.68 -3.95 10.61 -4.14 10.55 
+-4.34 10.46 -4.51 10.39 -4.69 10.31 -4.86 10.22 -5.05 10.13 -5.23 10.05 -5.38 9.96 -5.57 9.86 
+-5.75 9.77 -5.9 9.66 -6.07 9.57 -6.25 9.44 -6.4 9.33 -6.58 9.23 -6.73 9.11 -6.9 8.98 
+-7.03 8.86 -7.2 8.75 -7.34 8.62 -7.5 8.49 -7.64 8.35 -7.79 8.23 -7.92 8.07 -8.08 7.95 
+-8.2 7.81 -8.36 7.64 -8.46 7.51 -8.62 7.36 -8.72 7.21 -8.86 7.05 -8.96 6.9 -9.11 6.75 
+-9.2 6.58 -9.33 6.4 -9.42 6.27 -9.55 6.08 -9.66 5.92 -9.74 5.75 -9.84 5.58 -9.96 5.4 
+-10.03 5.23 -10.13 5.05 -10.2 4.88 -10.3 4.69 -10.37 4.52 -10.46 4.34 -10.53 4.16 -10.59 3.95 
+-10.65 3.8 -10.75 3.58 -10.78 3.41 -10.85 3.23 -10.89 3.02 -10.96 2.84 -11 2.64 -11.04 2.46 
+-11.09 2.25 -11.11 2.06 -11.18 1.87 -11.18 1.67 -11.21 1.48 -11.25 1.28 -11.26 1.08 -11.28 0.89 
+-11.29 0.7 -11.3 0.5 -2.59 0 f*
+189 0 54 rG
+936.37 1622 -1 4.06 1.46 0.2 0.89 0.11 0.81 -4.62 1.37 -0.79 2.49 -2.6 0.55 -0.74 
+1.52 -0.24 1.8 -0.07 1.61 0.52 0.45 -1.15 -1.63 -0.52 -1.82 0 -1.87 0.26 -0.37 1.15 
+-1.67 -0.26 -0.17 -0.02 -2.25 2.63 -0.46 1.76 -1.43 -0.18 -0.26 0.5 f*
+255 35 0 rG
+936.5 1621.48 -0.13 0.52 0.26 -0.5 -0.13 -0.02 f*
+255 0 r6
+936.98 1529.04 -0.41 4.99 0.29 0.02 0.45 -5 0.74 -4.99 -0.69 -0.02 -0.37 5 f*
+0 155 255 rG
+937.3 1529.05 -0.45 5 0.67 0.04 0.5 -4.99 0.91 -4.99 -0.89 -0.04 -0.74 4.99 f*
+2 239 204 rG
+938.02 1529.1 -0.5 4.99 0.67 0.02 0.54 -5 1.08 -4.96 -0.89 -0.05 -0.91 4.99 f*
+87 0 136 rG
+938.52 1621.75 -0.81 4.62 0.55 0.09 1.43 0.21 1.41 0.24 1.41 0.26 1.41 0.28 1.09 0.24 
+1.58 -4.53 1.84 -4.5 -0.85 -0.17 0.26 -0.65 -1.61 -0.52 -1.8 0.07 -1.52 0.24 -0.55 0.74 
+-2.49 2.6 -1.37 0.79 f*
+7 193 59 rG
+938.74 1529.12 -0.54 5 0.67 0.04 0.57 -4.99 1.28 -4.95 -0.89 -0.06 -1.08 4.96 f*
+255 35 0 rG
+939.28 1617.08 -0.75 2.84 2.25 -2.63 -1.5 -0.21 f*
+110 210 9 rG
+939.43 1529.17 -0.57 4.99 0.67 0.02 0.61 -4.97 0.76 -2.82 1.24 -2.11 3.08 -2.89 3.43 3.17 
+0.2 0.2 2.88 4.49 3.54 1.06 0.19 0.11 0.76 5.14 1.59 0.74 1.07 4.63 0.3 5.07 
+0.07 0.09 2.84 2.34 3.06 1.22 1.91 2.58 0.42 1.07 2.45 2.75 2.21 2.19 0.22 0.3 
+1.33 5.14 0.04 0.07 2.43 1.84 2.76 1 2.82 0.78 3.32 -0.35 1.08 -0.35 3.1 -1.62 
+3.13 0.33 3.26 0.11 2.95 0.71 1.96 2.5 2.6 1.21 3.24 0.24 3.1 0.48 2.52 1.34 
+2.39 -1.24 3.17 -1.76 0.18 3.19 -0.26 1.89 0.43 4.04 3.45 0.02 3.93 -0.49 2.8 0.97 
+2.75 -0.09 2.82 -2.17 2.78 -1.08 2.84 -1.09 3.63 -1.67 2 -0.32 3.99 -0.02 2.88 1.24 
+1.57 2.63 2.3 1.82 3.58 0.56 2.61 -0.61 3.43 -1.2 3.43 -1.02 5.3 -3.38 3.19 -4.93 
+2.82 -0.91 4.29 0.29 0.43 4.08 -0.76 1.74 -3.14 5.12 -4.29 4.14 -1.71 2.13 0.07 3.75 
+6.14 -1.91 2.65 -1.63 0.5 3.41 -0.55 0.67 0.29 3.26 2.58 -0.39 5.19 -3.43 3.14 -0.98 
+3.78 0.89 1.93 0.5 2.02 0.32 3.67 1.09 0.07 3.76 5.96 -0.87 0.26 0.18 -0.02 0.15 
+-3.84 5.38 0.26 0.68 0.37 0.19 2.61 1.41 3.88 1.04 3.37 1.46 1.36 1.67 0.7 0.63 
+4.17 1.02 3.49 1.47 0.89 3.06 1.97 2.41 1.02 2.95 1.19 1.36 1.35 0.74 -0.33 2.06 
+0.11 1.52 0.96 1.63 0.65 0.96 3.36 1.76 2.89 2.02 1.34 2.8 0.98 2.97 -2.61 4.51 
+-2.65 3.23 -0.67 1.43 -1.8 3.93 0.48 3.02 -0.15 3.23 2.82 -0.28 2.74 -1.72 3.45 -2.67 
+2.47 0.46 3.8 0.2 1.45 1.17 4.78 0.28 2.64 0.33 2.52 2.54 -2.84 4.53 2.54 2.59 
+0.54 0.39 0.66 0.24 0 -19.21 -2.54 -2.06 2.25 -1.93 1.28 0.37 -0.99 3.62 0 19.21 
+3.45 1.28 1.69 0.13 4.76 1.24 -4.95 5.27 -1.43 3.99 -0.54 0.74 -5.34 4.49 -2.41 2.31 
+-1.63 2.23 0.59 1.15 2.37 1.58 -3.97 3.02 -1.37 1.7 -2.41 3.93 -1.56 3.75 -2.78 3.91 
+-1.54 3.69 -2.28 3.76 -2.75 3.79 -2.23 3.71 -2.62 3.71 -2.04 3.64 -1.5 3.63 -1.17 2.86 
+6.45 -0.65 2.25 1.02 2.11 0.91 5.38 0.58 3.88 1.52 -5.99 4.27 2.02 1.34 -1.39 2.54 
+-4.38 4.11 -0.61 0.37 -8.87 3.64 0.76 4.04 0.2 0.26 3.36 -0.19 3.09 -0.24 5.88 -3.91 
+5.67 -1.84 5.03 0.8 0.83 0.57 -2.34 1 -7.7 3.61 -2.82 1.13 -5.75 -0.18 -4.43 3.17 
+1.02 0.02 5.86 0.11 5.92 -0.02 4.49 -4.36 6.03 -0.26 4.37 -4.54 4.41 -0.35 5.27 -4.08 
+0.67 -0.79 0.39 -0.04 6.77 -5.12 -2.21 -0.67 -6.75 1.41 -1.02 0.54 -7.4 2.7 -6.23 0.56 
+-2.23 -1.85 4.17 -4.32 3.49 -4.32 2.86 -4.27 -0.52 -1.93 -4.92 -1.08 -3.28 0.15 -2.02 -0.8 
+-2.91 -2.41 1.7 -3.86 3.04 -4.06 3.93 -2.88 0 -5.08 -4.14 -2.8 7.14 -3.02 1.02 1.52 
+-4.01 4.3 0 5.08 2.4 -1.76 2.06 -0.99 7.77 -3.8 2.11 -1.23 6.46 -4.52 1.17 -1.04 
+0.78 -3.17 -0.12 -0.84 -4.41 -1.82 -1.11 -0.54 -1.61 -3.3 -0.3 -3.19 -0.18 -0.37 -1.09 -3.37 
+0.3 -3.73 4.58 -4.32 0.91 -1.08 5.82 -4.23 0 -5.29 -2.91 -2.69 5.47 -4.95 3.8 -2.56 
+2.66 -2.34 P
+5.63 -5.25 0.78 -0.48 0.15 0.04 -0.17 0.3 -5.55 6.25 -1.09 1.8 -2.32 3.54 -4.36 5.55 
+-0.65 0.79 -1.43 0 0 5.29 0.46 -0.35 2.7 -2.28 4.66 -5.51 0.15 -0.19 3.99 -5.56 
+3.02 -3.88 1.73 -2.19 3.13 -5.54 -4.28 -1.67 -6.14 3.15 -5.82 5.8 -0.57 0.54 -6.27 3.13 
+-2.49 0.15 -3.47 -0.89 -1.63 -0.8 0 -3.69 1.84 -3.54 0 -5.86 -3.1 -0.13 -2.26 -0.07 
+-0.91 -0.07 -2.5 -2.11 -4.08 -1.11 -1.59 0.45 -2.66 0.79 -2.17 -1.5 -1.5 -0.41 0.7 -3.88 
+-2.61 -2.35 -1.15 -3.02 -4 -1.13 -3.95 1.5 -1.37 -2.82 3.88 -3.8 3.04 0.22 4.08 1.17 
+0.37 0.15 6.05 -1.13 5.9 -2.86 2.2 -3.71 0.11 -4.06 -3.7 -1.82 -1.73 -0.31 -5.96 0.91 
+4.1 -5.62 5.49 -3.67 0.35 -0.91 1.87 -5.51 0.78 -2.5 0.79 -2.97 2.13 -5.34 6.77 -1.11 
+5.34 0.74 2.74 0.82 1.34 0.91 6.25 0 0.17 0.05 2.06 3.28 -0.5 0.65 -5.12 3.3 
+-0.43 0.21 -0.28 0.28 -5.08 3.69 -5.3 4.19 -3.49 2.67 -1.89 1.43 -2.89 4.36 0.87 3.55 
+1.79 3.02 -0.02 4.04 4.32 -1.3 5.93 -2.84 5.9 -2.75 6.1 -2.02 0.95 -0.33 5.64 0.61 
+0.59 -0.02 -0.5 0.42 -5.39 5.4 -5.57 4.84 -5.9 3.21 -0.43 0.54 -0.7 4.41 -4.08 4.36 
+-1.37 2.26 -4.41 4.73 0 5.86 0.11 -0.2 3.45 -2.32 2.67 -2 1.98 -0.09 4.17 -1.02 
+0.43 -1.13 -0.5 -1.48 -2.67 -0.96 2.52 -2.38 2.93 -4.3 2.69 -2.99 5.82 -4.08 1.22 -2.3 
+2.63 -5.82 1.09 -1.13 5.66 -4.02 5.08 -6.47 0.16 -0.32 -0.29 -0.24 -5.2 -0.85 -1.55 0.17 
+-6.45 0.61 -1.37 0.71 -4.6 1.71 -4 -0.71 -2.64 0.87 -0.02 0.02 -5.84 2.86 -6.29 1.07 
+0.95 -4.78 3.08 -3.17 5.25 -4.38 5.49 -3.66 5.93 -2.61 2.14 -0.65 3.89 2 1.37 0.07 
+3.66 -3.61 0.84 -2.73 -0.45 -2.43 -0.65 -0.35 -5.21 -0.24 -1.71 0.43 -4.3 -0.84 -3.55 -0.76 
+-1.89 0 -2.17 -3.19 -5.21 -0.69 -0.2 -0.02 -4.02 -1.73 -4.86 -1.02 -6.03 2.47 -5.01 4.13 
+-5.71 3 -1.8 -0.18 -5.08 -0.67 -1.19 0.09 -4.43 -0.29 -4.19 -1.02 -0.17 -0.07 -2.95 -2.08 
+-2.43 -2.5 -2.69 -2.3 -1.41 -1.37 -1.11 -1.06 -2.76 -2.23 -1.91 -2.97 -2.11 -2.84 -2.23 -2.78 
+-3.58 -1.52 -3.47 -1.61 -1.65 -3.38 -4.41 0.76 -2.75 1.35 0.43 -3.23 -0.22 -2.06 2.2 -3.99 
+3.19 -5.08 0.3 -2.5 -1.65 -3.89 -0.29 -2.12 -0.74 -2.67 -3.43 -1.99 -1.73 0.76 -6.03 3.1 
+-1.2 1.04 -4.45 2.3 -5.23 3.58 -0.07 -0.02 -3.88 -0.97 -4.5 -0.26 -3.84 -1.07 -2.7 0.3 
+-2.36 0.28 -4.89 0.48 -2.32 0.61 -3.17 0.8 -4.84 0.61 -2.02 -0.11 -2.11 -0.2 -4.12 -0.24 
+-3.73 -0.78 -4.23 0.02 -2.32 -0.04 -1.88 0.11 -4.32 0.33 -3.77 1.49 -1.87 1.24 -4.43 0.8 
+-1.11 0.95 -4.97 3.89 -0.58 0.15 -3.23 -1.02 -3.39 -0.73 -4.14 0.82 -3.45 -0.54 -3.43 -0.47 
+-2.06 1.11 -2.74 1.52 -3.97 2.06 -2.34 4.71 -0.18 0.19 -4.66 3.14 -2.91 -0.97 -2.78 -1.43 
+-1.47 -3.61 -0.35 -0.67 -2.35 -3.27 -0.78 -1.83 -1.39 -2.41 -1.98 -3.25 -0.34 -1.15 -1.7 -4.25 
+-0.57 -1.06 -2.84 -3.71 -0.43 -0.83 -2.8 -1.56 -3.47 -1.46 -3.52 -1.41 -1.15 -1.8 -2.06 -2.23 
+-3.23 -3.23 p
+-0.22 -0.15 -0.15 0.13 -4.12 4.05 -0.07 0.74 -0.41 -0.02 -1.28 4.95 p f*
+0 255 r6
+940.15 1529.21 -0.61 4.97 0.61 0.04 -0.09 0.93 3.23 2.91 0.2 0.17 0 -1.93 -3.06 -2.06 
+1.31 -4.95 2.34 -4.87 0.91 -0.85 1.08 0.98 0.93 5.13 0.29 4.94 0.02 0.11 -0.05 0.04 
+-3.56 1.47 -0.22 0.07 0 1.93 1.56 1.3 1.54 0.13 -0.11 0.73 3.37 0.83 2.25 3.95 
+0.37 0.63 1.67 4.62 0.39 1.93 0.63 3.19 0.21 5.04 0.48 0.07 -0.24 1.04 1.06 4.08 
+0.93 0.13 -0.48 1.76 0.69 3.28 0.7 2.23 1.54 3.12 0.3 0.07 1.2 0.2 -0.46 -2.5 
+-0.98 -1.11 -1.17 -1.3 -0.17 -0.56 -0.98 -5.16 -0.09 -0.46 -0.87 -4.69 -0.48 -2.34 -0.02 -2.74 
+1.69 -4.45 2.67 2.58 0.78 2.58 1.11 2.46 2.58 2.06 1.85 1.47 0.45 1.15 0.55 4.11 
+0.54 1.71 2.47 1.45 2.23 1.93 2 1.61 0.13 0.41 0 4.79 0.24 1.15 2.41 0.91 
+1.82 2.04 1.78 2 2.84 0 0.18 1.86 1.34 0.46 2.34 0.8 2.8 -4.47 2.43 0.87 
+2.4 0.91 2.37 0.93 2.37 0.98 2.71 -3.78 -2.8 -0.48 -0.62 -1.69 2.28 -0.7 2.49 0.98 
+-0.11 1.61 1.63 0.7 2.38 1.07 3.32 -4.36 2.47 1.13 3.36 -4.37 2.52 1.22 2.49 1.21 
+-3.55 4.3 -3.61 4.25 2.28 1.2 2.24 1.21 3.77 -4.16 2.3 1.3 2.26 1.32 1.32 0.8 
+2.11 -0.67 1.76 1.82 2.19 1.39 3.58 0.13 3.41 0.33 2.34 1.32 2.3 1.05 0.24 0.13 
+6.32 -1.99 0.29 -0.13 5.7 -1.45 -1.32 4.51 -0.13 0.59 -0.35 3.05 1.67 1.91 2.19 1.52 
+2.04 1.64 2.21 -0.52 3.23 -0.18 4.43 -0.45 1.56 -0.52 1.05 2.45 5.51 -1.91 1.99 0.11 
+0 2.45 -0.08 0.8 0.82 0.15 2.54 0.89 1.7 2.11 2.3 1.74 2.21 1.8 3.34 1.2 
+0.93 2.56 -0.41 3.25 0.56 2.67 0.91 2.49 1.63 2.13 1.85 2.04 1.63 2.17 1.22 0.58 
+2.39 0.74 3.51 1.41 0.26 2.82 0.91 2.54 1.26 2.41 0.29 2.78 0.17 2.82 -3.45 3.99 
+-1.13 3.13 2.19 2.1 -0.11 2.8 -1.02 3.04 -0.48 2.87 -1.49 1.08 -6.62 3.19 -0.26 0.35 
+-0.49 2.71 -0.66 2.73 -0.61 2.72 -0.07 1.73 0.54 0.79 -0.28 2.67 -0.3 2.67 -2.26 2.91 
+-0.78 0.48 -5.25 2.71 -2.59 1.35 -2.6 1.56 -1.82 2.61 -3.11 2.6 -2.87 2.52 0.02 2.52 
+1.74 2.6 0.13 1.05 0.39 1.61 -0.54 2.64 -0.69 2.65 -1.65 2.63 -2.15 2.56 -2.06 2.56 
+-2.32 2.54 -1.09 2.71 -0.24 0.52 -1.37 2.12 2.85 2.96 0.56 0.67 -0.8 2.97 1.41 1.45 
+5.78 0.91 5.21 -0.18 2.08 -0.41 1.89 1.02 2.34 1.18 3.34 -0.07 0 -33.68 -1.73 -0.3 
+2.15 -0.37 0.54 0.35 -0.95 0.33 0 33.68 2.13 -0.04 1.46 -0.26 0.11 0.46 -3.25 3.08 
+2.8 2.73 2.3 -2.06 5.73 0.67 5.75 0.57 2.73 0.22 0 -9.14 -5.41 -0.89 -0.87 -1.22 
+-1.39 -3.08 -0.76 -0.45 3.19 -3.17 1.56 -0.91 6.32 -2.23 -3.37 -1.37 -5.55 -0.76 -0.09 -1.23 
+1.52 -3.15 2.71 -3.14 3.06 -3.21 2.58 -3.04 0.2 0.26 0 -0.57 0.91 -3.04 2.78 -3.3 
+0.05 0 0.95 3.02 -4.69 3.32 0 0.57 1.89 2.58 1.89 0.41 0.28 2.69 -0.93 3.3 
+-3.25 3.34 1.21 2.76 0.41 0.59 0 3.39 1.93 0.61 -0.21 2.91 -1.72 3.49 -5.2 1.54 
+0 9.14 P
+3.06 0.26 -3.78 3.49 -3.95 3.47 5.69 0.61 -4.16 3.54 -4.32 3.47 -4.46 3.43 2.54 0.43 
+3.66 -3.6 7.79 -3.13 1.11 -0.54 -0.41 0.61 -2.93 3.8 -3.43 3.75 2.56 0.37 5.51 0.7 
+5.44 0.58 1.05 -4.23 -1.72 -0.15 -5.62 -0.57 4.52 -3.73 4.34 -3.8 3.41 0.2 0 -57.42 
+-1.67 -2.11 -2.43 -1.95 -0.3 -0.76 1.04 -0.91 4.27 -2.95 0.55 -3.17 -1.91 -1.41 -2.8 2.23 
+-4.66 1.73 -1.24 -0.8 1.28 -3.15 1.8 -1.23 6.43 -1.17 6.73 -3.52 0.41 -0.29 3.25 -3.69 
+0.39 -3.26 4.84 -3.52 6.36 -1.69 5.68 0.5 -5.12 4.82 -2.45 3.25 -2.87 1.43 -4.12 4.18 
+-0.98 3.43 0.88 3.05 -1.46 3.52 -4.19 3.69 -0.55 0.33 -7.16 3.38 0 57.42 2.39 0.13 
+4.82 0.17 4.43 -3.17 5.75 0.18 2.82 -1.13 7.7 -3.61 2.34 -1 -0.83 -0.57 -5.03 -0.8 
+-5.67 1.84 -5.87 3.91 -3.09 0.24 -3.36 0.19 -0.2 -0.26 -0.76 -4.04 8.87 -3.64 0.61 -0.37 
+4.38 -4.11 1.39 -2.54 -2.02 -1.34 5.99 -4.27 -3.88 -1.52 -5.38 -0.58 -2.11 -0.91 -2.25 -1.02 
+-6.45 0.65 1.17 -2.86 1.5 -3.63 2.04 -3.64 2.63 -3.71 2.23 -3.71 2.75 -3.79 2.28 -3.76 
+1.54 -3.69 2.78 -3.91 1.56 -3.75 2.41 -3.93 1.37 -1.7 3.97 -3.02 -2.37 -1.58 -0.59 -1.15 
+1.63 -2.23 2.41 -2.31 5.34 -4.49 0.54 -0.74 1.43 -3.99 4.95 -5.27 -4.76 -1.24 -1.69 -0.13 
+-3.45 -1.28 -0.66 -0.24 -0.54 -0.39 -2.54 -2.59 2.84 -4.53 -2.52 -2.54 -2.64 -0.33 -4.78 -0.28 
+-1.45 -1.17 -3.8 -0.2 -2.47 -0.46 -3.45 2.67 -2.74 1.72 -2.82 0.28 0.15 -3.23 -0.48 -3.02 
+1.8 -3.93 0.67 -1.43 2.65 -3.23 2.61 -4.51 -0.98 -2.97 -1.34 -2.8 -2.89 -2.02 -3.36 -1.76 
+-0.65 -0.96 -0.96 -1.62 -0.11 -1.52 0.33 -2.06 -1.35 -0.74 -1.19 -1.36 -1.02 -2.95 -1.97 -2.41 
+-0.89 -3.06 -3.49 -1.47 -4.17 -1.02 -0.7 -0.63 -1.36 -1.67 -3.37 -1.46 -3.88 -1.04 -2.61 -1.41 
+-0.37 -0.19 -0.26 -0.68 3.84 -5.38 0.02 -0.15 -0.26 -0.18 -5.96 0.88 -0.07 -3.76 -3.67 -1.09 
+-2.02 -0.32 -1.93 -0.5 -3.78 -0.89 -3.14 0.98 -5.19 3.43 -2.58 0.39 -0.29 -3.26 0.55 -0.67 
+-0.5 -3.41 -2.65 1.63 -6.14 1.91 -0.07 -3.75 1.71 -2.13 4.29 -4.14 3.14 -5.12 0.76 -1.74 
+-0.43 -4.08 -4.29 -0.29 -2.82 0.91 -3.19 4.93 -5.3 3.38 -3.43 1.02 -3.43 1.2 -2.61 0.61 
+-3.58 -0.56 -2.3 -1.82 -1.57 -2.63 -2.88 -1.24 -3.99 0.02 -2 0.32 -3.63 1.67 -2.84 1.09 
+-2.78 1.08 -2.82 2.17 -2.75 0.09 -2.8 -0.97 -3.93 0.49 -3.45 -0.02 -0.43 -4.04 0.26 -1.89 
+-0.18 -3.19 -3.17 1.76 -2.39 1.24 -2.52 -1.34 -3.1 -0.48 -3.24 -0.24 -2.6 -1.21 -1.96 -2.5 
+-2.95 -0.71 -3.26 -0.11 -3.12 -0.33 -3.1 1.63 -1.08 0.35 -3.32 0.35 -2.82 -0.78 -2.76 -1 
+-2.43 -1.84 -0.04 -0.07 -1.33 -5.14 -0.22 -0.3 -2.21 -2.19 -2.45 -2.75 -0.42 -1.07 -1.91 -2.58 
+-3.06 -1.22 -2.84 -2.34 -0.07 -0.09 -0.3 -5.07 -1.07 -4.62 -1.59 -0.74 -0.76 -5.14 -0.19 -0.11 
+-3.54 -1.06 -2.88 -4.49 -0.2 -0.2 -3.43 -3.17 -3.08 2.89 -1.24 2.11 -0.76 2.82 p f*
+0 155 255 rG
+939.75 1538.26 -0.11 0.93 1.02 0.06 -0.91 -0.99 f*
+2 239 204 rG
+939.84 1537.21 -0.09 1.05 0.91 0.99 1.09 0.07 -1.91 -2.11 f*
+7 193 59 rG
+939.95 1536.2 -0.11 1.02 1.91 2.11 1.11 0.07 -2.91 -3.19 f*
+110 210 9 rG
+940.06 1535.16 -0.11 1.04 2.91 3.19 0.26 0.02 1.93 0.13 -1.56 -1.3 -0.2 -0.17 -3.23 -2.91 f*
+255 203 0 rG
+941.73 1529.29 -1.31 4.95 3.06 2.06 0.22 -0.07 0 -1.67 -0.2 -0.13 0.3 -0.84 0.13 0.87 
+-0.24 0.11 0 1.67 3.56 -1.47 0.05 -0.04 -0.02 -0.11 -0.29 -4.94 -0.93 -5.12 -1.08 -0.98 
+-0.91 0.85 -2.34 4.88 f*
+7 193 59 rG
+941.34 1521.96 -0.15 1.54 4.13 -4.05 0.15 -0.13 0.22 0.15 3.23 3.23 2.06 2.23 1.15 1.8 
+3.52 1.41 3.47 1.46 2.8 1.56 0.43 0.83 2.84 3.71 0.57 1.06 1.7 4.25 0.34 1.15 
+1.98 3.25 1.39 2.41 0.78 1.83 2.35 3.27 0.35 0.67 1.47 3.61 2.78 1.43 2.91 0.97 
+4.66 -3.14 0.18 -0.19 2.34 -4.71 3.97 -2.06 2.74 -1.52 2.06 -1.11 3.43 0.47 3.45 0.54 
+4.14 -0.82 3.39 0.73 3.23 1.02 0.58 -0.15 4.97 -3.89 1.11 -0.95 4.43 -0.8 1.87 -1.24 
+3.77 -1.49 4.32 -0.33 1.88 -0.11 2.32 0.04 4.23 -0.02 3.73 0.78 4.13 0.24 2.11 0.2 
+2.02 0.11 4.84 -0.61 3.17 -0.8 2.32 -0.61 4.89 -0.48 2.36 -0.28 2.7 -0.3 3.84 1.07 
+4.5 0.26 3.88 0.97 0.07 0.02 5.23 -3.58 4.45 -2.3 1.2 -1.04 6.03 -3.1 1.73 -0.76 
+3.43 1.99 0.74 2.67 0.29 2.13 1.65 3.89 -0.3 2.5 -3.19 5.08 -2.2 3.99 0.22 2.06 
+-0.43 3.23 2.75 -1.35 4.41 -0.76 1.65 3.38 3.47 1.61 3.58 1.52 2.23 2.78 2.11 2.84 
+1.91 2.97 2.76 2.23 1.11 1.06 0 -21.42 0.09 -0.12 0.07 -0.02 0.02 0.13 -0.17 0.02 
+0 21.42 1.41 1.37 2.69 2.3 2.43 2.5 2.95 2.08 0.17 0.07 4.19 1.02 4.43 0.29 
+1.19 -0.09 5.08 0.67 1.8 0.18 5.71 -3 5.01 -4.13 6.03 -2.47 4.86 1.02 4.02 1.73 
+0.2 0.02 5.21 0.69 2.17 3.19 1.89 0 3.55 0.76 4.3 0.84 1.71 -0.43 5.21 0.24 
+0.65 0.35 0.45 2.43 -0.84 2.73 -3.66 3.61 -1.37 -0.07 -3.89 -2 -2.14 0.65 -5.93 2.61 
+-5.49 3.66 -5.25 4.38 -3.08 3.17 -0.95 4.78 6.29 -1.07 5.84 -2.86 0 -3.59 -1.63 -1.49 
+-2.11 -0.48 1.47 -1.28 5.6 -3.43 0.11 -0.04 6.46 -0.76 1 0.29 -0.46 1.24 -5.08 5.14 
+-1.34 0.21 -4.03 0.61 0 3.59 0.02 -0.02 2.64 -0.87 4 0.71 4.6 -1.71 1.37 -0.71 
+6.45 -0.61 1.55 -0.17 5.2 0.85 0.29 0.24 -0.16 0.32 -5.08 6.47 -5.66 4.02 -1.09 1.13 
+-2.62 5.82 -1.22 2.3 -5.82 4.08 -2.69 2.99 -2.93 4.3 -2.52 2.38 2.67 0.96 0.5 1.48 
+-0.43 1.13 -4.17 1.02 -1.98 0.09 -2.67 2 -3.45 2.32 -0.11 0.2 -1.84 3.54 0 3.69 
+1.63 0.8 3.47 0.89 2.49 -0.15 6.27 -3.12 0.57 -0.54 5.82 -5.8 6.14 -3.15 4.28 1.67 
+-3.13 5.54 -1.73 2.19 -3.02 3.88 -3.99 5.56 -0.15 0.19 -4.66 5.51 -2.7 2.28 -0.46 0.35 
+-5.82 4.23 -0.91 1.08 -4.58 4.32 -0.3 3.73 1.09 3.37 0.18 0.37 0.3 3.19 1.61 3.3 
+1.11 0.54 4.41 1.82 0.13 0.84 -0.78 3.17 -1.17 1.04 -6.46 4.52 -2.11 1.23 -7.77 3.8 
+-2.06 0.99 -2.4 1.76 -3.93 2.88 -3.04 4.06 -1.7 3.86 2.91 2.41 2.02 0.8 3.28 -0.15 
+4.92 1.08 0.52 1.93 -2.86 4.27 -3.49 4.32 -4.17 4.32 2.23 1.85 6.23 -0.56 7.4 -2.7 
+1.02 -0.54 6.75 -1.41 2.21 0.67 -6.77 5.12 5.84 -0.71 1.96 -2.34 0 -14.22 -0.02 -0.5 
+0.7 -0.45 6.27 -1.09 0.17 0.24 -1.41 1.52 -5.7 0.28 0 14.22 2.1 -2.54 6.3 -1.02 
+3.91 -5.01 0.68 -0.13 1.15 -2.34 -2.37 -1.69 3.88 -5.06 5.45 -3.32 4.39 -3.28 6.01 -4.82 
+5.73 -2.8 P
+1.71 -0.89 7.71 -4.43 4.12 -3.56 0.88 -4.75 -0.85 0.11 -6.29 2.02 -4.3 1.87 -2.75 1.54 
+-8.09 5.16 -3.11 1.85 -4.82 2.63 -7.86 4.05 -5.57 0.13 -0.96 -1.99 -2.41 -1.72 -2.75 -1.15 
+-1.22 -1.69 -1.7 -1.58 3.17 -4.61 3.13 -2.71 3.41 -2.84 0.59 -0.46 0 -5.7 -1.09 -1.52 
+2.32 -1.65 3.76 -0.17 -4.99 3.34 0 5.7 4.73 -3.58 4.25 -2.71 3.38 -2.26 7.56 -5.29 
+0.21 -0.21 3.84 -5.56 5.1 -5.38 6.49 -3.23 1.13 -0.75 4 -6.14 3.43 -5.96 0.02 -0.07 
+0 -0.02 -5.75 0.45 -6.51 4.21 -6.16 2.3 -1.93 -1.99 -3.15 -1.48 -3.58 4.28 -2.67 5.12 
+0.18 3.99 -3.88 4.38 -6.54 2.72 -1.36 -2.91 1.75 -4.51 1.96 -4.64 -0.68 -3.69 2.63 -5.02 
+0.78 -1.19 6.25 -5.86 0.54 -1.48 0.98 -3.32 3.23 -5.73 -0.19 -4.12 -0.22 -0.17 -3.17 -2.32 
+-6.05 4.1 -3.71 0.71 -2.43 -2.34 -0.17 -0.43 0.15 -0.28 4.86 -6.36 0.91 -1.2 3.27 -5.25 
+1.7 -5.27 0.09 -0.16 5.73 -4.03 5.43 -2.5 0.49 -0.15 0.07 -0.19 0.33 -4.82 2.54 -6.36 
+-3.17 -2.62 -3.23 -1.05 -2.69 0.33 -4.23 -1.02 -0.69 -0.35 0.41 -0.54 5.23 -4.58 1.15 -4.47 
+-0.63 -4.47 -3.04 -2.71 -1.93 0.46 -6.29 1.74 -1 -0.18 -4.06 -1.82 -1.41 -3.84 0.85 -5.08 
+0.63 -1.15 -2.43 -1.93 -0.93 -0.43 0 -1.08 -0.54 -3.7 -3.23 -2.5 -0.24 0.02 -7.04 1.15 
+-0.08 -0.07 -0.24 -0.39 -2 -2.93 -2.34 -3.23 -2.26 -3.37 -2.69 -2.97 -2.58 -3.1 -1.24 -4.52 
+-2.56 -3.23 -4.08 0.59 -3.08 0.93 -3.76 -1.93 0.35 -4.97 -0.52 -0.87 -2.63 -1.87 -0.86 -0.43 
+-6.68 2.13 -1.67 1.06 -5.16 -0.32 -3.84 -1.43 -0.21 -0.07 -3.38 -2.28 -0.18 -0.45 -1.65 -3.76 
+-3.78 -1.87 -3.75 -1.93 -3.91 -1.71 -0.48 0.13 -6.08 1.65 -2.11 0.24 -3.55 0.5 -5.05 0 
+-2.89 -0.43 -1.75 -0.07 -4.47 -0.72 -4.17 -1.08 -4.12 -1.13 -3.3 -2.41 -3.36 -2.34 -5.04 0.33 
+-1.15 0.3 -5.14 2.23 -2.7 0.48 -2.52 0.39 -5.32 1.15 -4.23 -0.61 -0.56 -0.02 -4.84 4.04 
+-1.55 5.23 -3.43 1.32 -0.84 -2.91 3.52 -4.5 -1.52 -2.86 -4.69 0.43 -0.41 0.13 -5.1 2.08 
+-4.55 0.43 -4.08 4.32 -1.54 5.1 -4.91 4.04 -0.15 0.04 -4.77 3.97 -1.41 0.61 -3.56 -0.78 
+-3.91 0.06 -4.34 1.11 -1.32 0.45 -3.37 1.8 -3.19 -1.45 -2.11 2.9 -3.11 4.56 -1.47 4.91 
+-2.2 1.58 -3.45 0.05 -2.52 -2.61 -0.48 -0.83 -2.56 -0.48 0.65 -2.1 -1.56 -3.17 -0.96 -0.17 
+0.35 -1.28 -1.35 -3.99 -0.34 -3.17 -1.17 -2.17 -1.61 -1.71 -3.38 -1.63 -3.46 -1.52 -3.57 -1.17 
+-1.5 -0.7 -2.04 -0.87 -3.34 -3.56 -1.2 -1.19 -2.34 -1.63 -1.65 1.34 -2.62 2.61 p f*
+2 239 204 rG
+941.5 1520.4 -0.16 1.56 2.63 -2.61 1.65 -1.34 2.34 1.63 1.2 1.19 3.34 3.56 2.04 0.87 
+1.5 0.7 3.57 1.17 3.46 1.52 3.38 1.63 1.61 1.71 1.17 2.17 0.34 3.17 1.35 3.99 
+1 -3.54 -0.02 -0.09 0.07 -5.12 -1.21 -4.38 -1.8 -1.21 -1.43 -1.23 -3.73 -0.45 -3.58 -1.31 
+-3.73 -0.61 -3.66 -0.98 -2.5 -2.58 -1 -0.09 0.13 -0.98 -3.67 -2.06 -3.14 2.59 -1.12 1.13 f*
+0 155 255 rG
+941.6 1519.23 -0.11 1.17 1.13 -1.12 3.14 -2.59 3.67 2.06 0.3 -2.34 -3.82 -1.02 -4.23 2.73 
+-0.09 1.11 f*
+255 0 r6
+942.05 1514.2 -0.37 3.93 4.23 -2.73 3.82 1.02 0.22 -1.7 0.65 -5.03 -4.04 -0.3 -0.57 5.05 
+-3.95 -0.24 f*
+255 G
+934.83 653.84 10.05 0 11.3 0.5 11.29 0.7 11.28 0.89 11.26 1.09 11.25 1.28 11.21 1.48 
+11.18 1.67 11.18 1.87 11.11 2.09 11.09 2.25 11.04 2.45 11 2.63 10.96 2.84 10.89 3.04 
+10.85 3.21 10.78 3.41 10.75 3.6 10.65 3.78 10.59 3.97 10.53 4.14 10.46 4.34 10.38 4.52 
+10.3 4.68 10.2 4.89 10.13 5.05 10.03 5.23 9.96 5.4 9.84 5.57 9.74 5.75 9.66 5.92 
+9.55 6.1 9.42 6.25 9.33 6.4 9.2 6.6 9.11 6.72 8.96 6.91 8.86 7.05 8.72 7.21 
+8.62 7.36 8.46 7.51 8.36 7.66 8.2 7.79 8.08 7.95 7.92 8.07 7.79 8.22 7.64 8.36 
+7.5 8.49 7.34 8.61 7.2 8.73 7.03 8.87 6.9 8.99 6.73 9.11 6.58 9.22 6.4 9.33 
+6.25 9.44 6.07 9.57 5.9 9.66 5.75 9.77 5.57 9.85 5.38 9.96 5.23 10.05 5.05 10.13 
+4.86 10.22 4.69 10.31 4.51 10.39 4.34 10.46 4.14 10.55 3.95 10.61 3.8 10.68 3.58 10.74 
+3.41 10.81 3.21 10.87 3.02 10.92 2.84 10.95 2.62 11.03 2.46 11.05 2.25 11.11 2.06 11.13 
+1.87 11.18 1.67 11.21 1.47 11.22 1.28 11.26 1.09 11.28 0.89 11.29 0.7 11.31 0.5 11.33 
+0 10.2 -0.26 -10.2 -0.5 -11.31 -0.7 -11.31 -0.89 -11.31 -1.09 -11.26 -1.28 -11.25 -1.47 -11.24 
+-1.67 -11.2 -1.87 -11.17 -2.06 -11.14 -2.25 -11.09 -2.43 -11.05 -2.64 -11.02 -2.82 -10.96 -3.04 -10.91 
+-3.21 -10.86 -3.39 -10.8 -3.61 -10.74 -3.78 -10.68 -3.95 -10.62 -4.14 -10.52 -4.34 -10.46 -4.51 -10.39 
+-4.69 -10.3 -4.86 -10.22 -5.06 -10.13 -5.21 -10.05 -5.4 -9.94 -5.58 -9.86 -5.73 -9.76 -5.9 -9.66 
+-6.08 -9.54 -6.25 -9.45 -6.4 -9.33 -6.58 -9.23 -6.73 -9.11 -6.87 -8.98 -7.04 -8.86 -7.2 -8.74 
+-7.34 -8.59 -7.5 -8.49 -7.64 -8.35 -7.77 -8.23 -7.95 -8.07 -8.05 -7.95 -8.2 -7.79 -8.36 -7.64 
+-8.47 -7.51 -8.59 -7.36 -8.72 -7.21 -8.86 -7.05 -8.98 -6.87 -9.09 -6.75 -9.2 -6.58 -9.31 -6.4 
+-9.44 -6.27 -9.53 -6.08 -9.66 -5.9 -9.74 -5.75 -9.83 -5.58 -9.94 -5.4 -10.05 -5.23 -10.11 -5.05 
+-10.2 -4.88 -10.31 -4.68 -10.37 -4.52 -10.44 -4.34 -10.52 -4.14 -10.59 -3.97 -10.66 -3.78 -10.74 -3.6 
+-10.77 -3.41 -10.85 -3.21 -10.89 -3.02 -10.96 -2.84 -11 -2.65 -11.02 -2.45 -11.09 -2.26 -11.13 -2.06 
+-11.16 -1.87 -11.18 -1.67 -11.22 -1.48 -11.22 -1.28 -11.26 -1.09 -11.29 -0.89 -11.29 -0.69 -11.28 -0.5 
+-10.05 -0.26 f*
+255 35 0 rG
+943.79 1613.91 -0.8 2.52 1.87 -0.26 1.82 0 1.63 0.52 0.91 -2.3 -1.69 -0.5 -1.84 -0.11 
+-1.89 0.13 f*
+87 0 136 rG
+944.21 1630.25 -0.87 1.93 2.52 0.61 1.25 0.33 1.24 0.34 1.24 0.37 2.56 -4.3 -1.34 -0.39 
+-1.35 -0.37 -1.32 -0.35 -0.04 0 -1.93 0.82 -1.95 1 f*
+255 135 0 rG
+943.82 1533.59 -0.3 0.84 0.2 0.13 0.24 -0.11 -0.13 -0.87 f*
+944.08 1613 -0.29 0.91 1.89 -0.13 1.84 0.11 1.69 0.5 0.18 -0.43 -1.79 -0.35 -1.75 -0.32 
+-1.78 -0.29 f*
+189 0 54 rG
+945.31 1627.75 -1.11 2.5 1.95 -1 1.93 -0.82 0.04 0 -0.04 0 2.2 -4.41 1.49 -3.04 
+-1.45 -0.67 0 -1.23 -1.11 -0.24 -0.78 -0.18 -1.84 4.5 -1.58 4.53 0.3 0.07 f*
+255 G
+955.64 1951.3 -10.92 0 0.15 0 11.3 -0.5 11.29 -0.7 11.28 -0.89 11.26 -1.08 11.25 -1.28 
+11.21 -1.48 11.18 -1.67 11.18 -1.87 11.11 -2.06 11.09 -2.25 11.04 -2.46 11 -2.64 10.96 -2.84 
+10.89 -3.02 10.85 -3.23 10.78 -3.41 10.75 -3.58 10.65 -3.8 10.59 -3.95 10.53 -4.16 10.46 -4.34 
+10.38 -4.52 10.3 -4.69 10.2 -4.88 10.13 -5.05 10.03 -5.23 9.96 -5.4 9.84 -5.58 9.74 -5.75 
+9.66 -5.92 9.55 -6.08 9.42 -6.27 9.33 -6.4 9.2 -6.58 9.11 -6.75 8.96 -6.9 8.86 -7.05 
+8.72 -7.21 8.62 -7.36 8.46 -7.51 8.36 -7.64 8.2 -7.81 8.08 -7.95 7.92 -8.07 7.79 -8.23 
+7.64 -8.35 7.5 -8.49 7.34 -8.62 7.2 -8.75 7.03 -8.86 6.9 -8.98 6.73 -9.11 6.58 -9.23 
+6.4 -9.33 6.25 -9.44 6.07 -9.57 5.9 -9.66 5.75 -9.77 5.57 -9.86 5.38 -9.96 5.23 -10.05 
+5.05 -10.13 4.86 -10.22 4.69 -10.31 4.51 -10.39 4.34 -10.46 4.14 -10.55 3.95 -10.61 3.8 -10.68 
+3.58 -10.74 3.41 -10.81 3.21 -10.87 3.02 -10.92 2.84 -10.96 2.62 -11.02 2.46 -11.05 2.25 -11.11 
+2.06 -11.13 1.87 -11.18 1.67 -11.21 1.47 -11.22 1.28 -11.26 1.09 -11.27 0.89 -11.3 0.7 -11.31 
+0.5 -11.33 0 -0.3 0 32.47 -2.78 26.58 -4 27.13 -5.16 27.13 -6.38 27.11 -5.9 21.36 
+-1.74 5.81 -8.91 27.11 -10.25 27.11 -5.64 13.52 -6.05 13.63 -13.18 27.11 -7.31 13.78 -7.49 13.37 
+-8.27 13.56 -8.25 13.54 -2.54 3.91 -7.96 11.61 -7.95 11.63 -10.61 14.37 -9.96 12.76 -16.58 19.92 
+-6.36 7.23 -20.18 21.57 -5.5 5.55 -10.52 10.02 -10.53 10.05 -7.83 7.05 -18.71 15.89 -7.05 5.62 
+-7.05 5.6 -12.43 9.38 -12.7 8.87 -12.67 8.88 -1.2 0.78 -13.25 8.31 -13.24 8.31 -16.97 9.72 
+-9.59 5.2 -13.26 6.69 -13.26 6.66 -9.39 4.29 -9.4 4.28 -7.77 3.32 -26.52 10.51 -13.25 4.58 
+-13.26 4.6 -13.32 4.13 -13.24 3.79 -13.29 3.37 -13.26 3.36 -13.26 2.75 -13.28 2.78 -13.26 2.2 
+-13.26 2.21 -13.28 1.63 -13.26 1.65 -8.14 0.65 -4.96 0.41 -19.86 0 f*
+944.73 653.84 0.15 0 11.3 0.5 11.29 0.7 11.28 0.89 11.26 1.09 11.25 1.28 11.21 1.48 
+11.18 1.67 11.18 1.87 11.11 2.09 11.09 2.25 11.04 2.45 11 2.63 10.96 2.84 10.89 3.04 
+10.85 3.21 10.78 3.41 10.75 3.6 10.65 3.78 10.59 3.97 10.53 4.14 10.46 4.34 10.38 4.52 
+10.3 4.68 10.2 4.89 10.13 5.05 10.03 5.23 9.96 5.4 9.84 5.57 9.74 5.75 9.66 5.92 
+9.55 6.1 9.42 6.25 9.33 6.4 9.2 6.6 9.11 6.72 8.96 6.91 8.86 7.05 8.72 7.21 
+8.62 7.36 8.46 7.51 8.36 7.66 8.2 7.79 8.08 7.95 7.92 8.07 7.79 8.22 7.64 8.36 
+7.5 8.49 7.34 8.61 7.2 8.73 7.03 8.87 6.9 8.99 6.73 9.11 6.58 9.22 6.4 9.33 
+6.25 9.44 6.07 9.57 5.9 9.66 5.75 9.77 5.57 9.85 5.38 9.96 5.23 10.05 5.05 10.13 
+4.86 10.22 4.69 10.31 4.51 10.39 4.34 10.46 4.14 10.55 3.95 10.61 3.8 10.68 3.58 10.74 
+3.41 10.81 3.21 10.87 3.02 10.92 2.84 10.95 2.62 11.03 2.46 11.05 2.25 11.11 2.06 11.13 
+1.87 11.18 1.67 11.21 1.47 11.22 1.28 11.26 1.09 11.28 0.89 11.29 0.7 11.31 0.5 11.33 
+0 0.3 0 -32.46 -2.78 -26.59 -4 -27.12 -5.16 -27.12 -6.38 -27.11 -5.9 -21.36 -1.74 -5.82 
+-8.91 -27.11 -10.25 -27.1 -5.64 -13.52 -6.05 -13.63 -13.18 -27.11 -7.31 -13.78 -7.49 -13.37 -8.27 -13.56 
+-8.27 -13.54 -2.52 -3.91 -7.96 -11.61 -7.95 -11.63 -10.61 -14.37 -9.96 -12.76 -16.58 -19.92 -6.36 -7.23 
+-20.18 -21.57 -5.5 -5.55 -10.52 -10.02 -10.53 -10.05 -7.83 -7.04 -9.36 -7.96 -9.35 -7.95 -7.05 -5.6 
+-7.05 -5.62 -12.43 -9.38 -25.39 -17.75 -1.17 -0.78 -13.25 -8.31 -13.24 -8.31 -16.97 -9.72 -9.59 -5.21 
+-13.26 -6.68 -13.26 -6.66 -9.39 -4.29 -9.4 -4.28 -7.77 -3.32 -26.52 -10.5 -13.25 -4.58 -13.26 -4.61 
+-13.32 -4.12 -13.24 -3.79 -13.29 -3.37 -13.26 -3.36 -13.26 -2.75 -13.28 -2.78 -13.26 -2.2 -13.26 -2.21 
+-13.28 -1.63 -13.26 -1.65 -8.14 -0.65 -4.94 -0.41 -30.8 0 f*
+0 155 255 rG
+945.98 1543.95 -0.11 0.67 1.02 0.09 -0.91 -0.76 f*
+2 239 204 rG
+946.16 1542.75 -0.18 1.2 0.91 0.76 1.76 0.15 -2.5 -2.11 f*
+7 193 59 rG
+946.31 1541.58 -0.15 1.17 2.5 2.11 0.58 0.04 -0.11 0.67 2.58 4.36 0.09 0.24 0.83 5.08 
+1.25 0.16 -0.54 2.54 0.26 2.41 0.89 0.13 -0.5 -5.06 -0.07 -0.26 -0.96 -4.88 -0.87 -2.41 
+-1.71 -2.86 -0.91 -1.57 -3.16 -1.87 f*
+110 210 9 rG
+946.48 1540.41 -0.17 1.17 3.16 1.87 0.91 1.57 1.71 2.86 0.87 2.41 0.96 4.88 0.07 0.26 
+0.5 5.06 0.89 0.11 -0.21 -5.04 -0.63 -3.19 -0.39 -1.93 -1.67 -4.62 -0.37 -0.63 -2.25 -3.95 
+-3.37 -0.83 f*
+0 155 255 rG
+948.07 1447.59 -0.26 5.21 3.93 4.66 4.82 1.04 0.11 0.05 4.56 2.13 0.43 -0.05 0 -3.47 
+-4.84 -1.11 -4.82 -0.02 -0.13 0 -2.65 -3.17 1.85 -5.12 1.65 -1.2 1.5 1.39 3.17 2.82 
+5.19 -1.43 4.77 2.3 2.3 2.75 -2.89 1.54 -5.1 1.24 0 3.47 4.55 -0.63 4.86 0.35 
+2.37 -0.32 2.73 -4.97 -3.73 -3.78 -1.71 -2.04 -2.79 -2.04 -5 -1 -4.77 2 -0.54 0.17 
+-0.26 -0.24 -4.43 -4.08 -4.86 3.54 f*
+255 0 r6
+948.48 1549.54 -0.05 0.29 0.22 0.02 -0.17 -0.31 f*
+0 155 255 rG
+948.8 1547.57 -0.32 1.98 0.17 0.31 1.58 0.15 -1.43 -2.43 f*
+2 239 204 rG
+949.13 1545.57 -0.33 2 1.43 2.43 1.43 0.15 -0.65 3.5 0.21 1.46 1.39 0.15 -0.83 -5.08 
+-0.09 -0.24 -2.58 -4.36 f*
+255 203 0 rG
+949.59 1762.52 -0.57 0.07 2.02 1.04 1.47 -1.54 -1.97 0.3 -0.95 0.13 f*
+2 239 204 rG
+951.06 1447.75 -1.85 5.12 2.65 3.17 0.13 0 0 -1.43 -1.39 -1.65 1.84 -3.49 4.67 3.66 
+5.04 -0.21 1.41 0.93 -1.59 0.52 -4.91 -0.78 -4.94 1 -0.13 0.02 0 1.43 4.82 0.02 
+4.84 1.11 5.1 -1.24 2.89 -1.54 -2.3 -2.75 -4.77 -2.3 -5.19 1.43 -3.17 -2.82 -1.5 -1.39 
+-1.65 1.2 f*
+255 G
+950.3 1519.81 -1 -0.09 0.13 -0.98 0.3 -2.34 0.22 -1.7 0.65 -5.03 4.02 0.32 4.02 0.37 
+-0.83 5.04 -0.82 5.02 -3.84 -0.37 -0.41 -0.02 -2.43 -0.21 f*
+0 155 255 rG
+952.73 1520.03 -2.43 -0.21 2.5 2.58 3.66 0.98 3.73 0.61 3.58 1.31 3.73 0.45 1.43 1.23 
+1.8 1.21 1.21 4.38 -0.07 5.13 0.02 0.09 0.02 -0.07 1.37 -4.93 3.56 0.59 3.56 0.65 
+3.53 0.7 -1.65 4.88 -0.97 2.84 1.93 -2.65 2.73 -4.67 1.96 -1.04 4.12 -0.83 3.87 -0.02 
+1.84 -0.76 1.61 -4.95 3.23 -4.58 2.82 -4.69 0.61 -0.67 3.8 -3.64 2.95 -4.69 1.11 -0.8 
+5.45 -2.64 0.48 -0.21 4.52 -1.02 5.18 -1.52 0.5 -0.16 4.78 -1.41 4.46 -1.46 0.93 -0.24 
+5.79 -2.3 2.09 -0.32 2.78 0.11 4.62 0.32 4.32 0.98 4.19 1.26 5.21 -0.61 1.65 0.39 
+2.64 0.73 4.39 0.93 3.96 1.7 3.67 2.13 2.67 2.11 0.65 0.54 3.64 2.05 2.91 0.99 
+1.17 0.43 4.19 1.24 5.01 0.11 4.1 -0.5 1.59 -0.24 6.03 -2.09 0.98 -0.37 5.93 -0.89 
+2.47 0.07 2.82 -0.02 3.63 2.37 3.78 2.08 2.78 3.34 2.58 2.8 0.28 0.35 0.18 -0.02 
+5.27 0.09 4.86 0.04 0.61 0.02 1.5 1.65 1.46 1.43 0.73 0.37 3.59 1.09 3.99 1.84 
+4.05 1.82 3.82 0.76 0.89 0.35 0.58 1.08 1.26 3.08 -0.41 6.36 -0.07 0.34 1.13 4.32 
+3.97 1.83 1.23 1.08 2.02 1.43 2.76 3 3.45 2.34 4.64 -0.55 -0.11 -3.58 -2.41 -3.38 
+1.66 -4.69 2.96 -5.66 0.13 -0.61 -0.74 -4.88 -1.32 -4.9 -3.1 -3.06 -3.91 -2.22 -2.16 -4.16 
+-3.11 -3.17 0.02 -1.13 3.8 -4.93 4.58 -4.08 -1.43 6.86 -0.43 2.45 1.97 -1.04 6.73 -2.25 
+0.02 -0.02 0 -0.02 1.43 -7.16 -0.54 -1.11 -2.93 -3.78 -1.32 -5.97 -3.43 -3.32 -0.02 -0.78 
+1.09 -0.66 6.51 -1.23 0.28 0.02 7.18 -1.98 1.28 -1.45 2.71 -3.32 2.93 -0.83 0 -4.77 
+-4.62 -1.04 -4.12 -2.78 -3.95 -3.06 -3.69 -3.5 -0.26 -1.82 2.34 -1.48 4.9 1.7 4.32 2.61 
+3.41 3.95 1.67 5.43 0 4.77 4.14 -1.17 0.41 0.11 4.67 1.26 5.14 1.26 2.25 -0.37 
+4.93 -1.2 2.23 -0.83 5.6 -3.41 1.52 -0.37 6.47 -0.8 0.24 -0.06 6.71 -0.83 0.89 -0.32 
+5.54 -0.09 4.45 1.17 1.02 -0.21 5.38 1.06 3.12 0.09 3.32 -0.52 4.23 2.71 3.19 4.14 
+3.64 3.45 2.34 5.14 2.73 4.54 2.63 4.62 2.5 4.68 3.08 3.87 -0.2 6.46 0.13 1.2 
+0.72 0.39 4.36 1 3.32 3.45 2.19 1.37 2.93 -0.05 1.98 4.99 -1.13 4.08 -3.84 7.75 
+-5.05 4.49 -0.3 2.04 1.19 0.59 4.3 0.34 -2.63 5.05 -4.58 6.6 -3.25 5.36 -1.17 2.3 
+-4.64 7.33 -5.36 4.43 -5.46 3.93 -0.59 0.2 -4.95 1.56 -0.39 -0.04 -6.04 -0.35 -0.35 -0.04 
+-3.32 3.04 -1.99 1.82 -0.17 -0.08 -1.85 -4.06 -5.32 -0.07 -1.61 0.07 -4.82 0.26 -0.78 -0.62 
+-0.41 -0.33 -5.36 -1.17 -1.04 -4.62 -1.28 -4.47 0.09 -5.7 1.3 -4.38 4.43 -0.61 2.38 3.71 
+1.91 1.39 2.25 0.76 4.06 1.67 0 -3.76 -1.15 -0.45 -3.67 -2.62 -0.67 -5.32 1.15 -2.28 
+1.37 -0.04 4.41 1.95 0.02 5.99 -1.46 2.78 0 3.76 0.46 0.19 -0.79 6.41 3.56 -0.41 
+1.91 -4.23 -2.17 -3.93 2.63 -5 -0.26 -3.1 -1.56 -4.64 -2.74 -3.56 -0.11 -0.04 -6.71 0.35 
+-0.24 -0.07 -6.42 1.52 -0.98 -0.35 -5.17 -1.2 -1.21 -4.94 0.8 -5.54 -0.11 -1.39 -1.28 -5.1 
+-0.95 -5.56 P
+0.41 -2.62 0.63 -5.27 0.02 -4.62 -0.39 -1.98 -3.17 -3.47 -2.84 -3.93 -3.62 -3.02 -0.63 -0.15 
+-5.47 3.45 -2.13 -0.72 -6.29 0.26 -0.82 -0.04 -5.34 3.6 0.02 3.71 0.2 5.75 -4.23 4.82 
+0.05 0.7 0.71 5.7 2 4.23 0.97 3.95 -0.67 1.89 2.15 3.93 2.73 3.32 3.19 2.89 
+1.36 4.51 -1.58 6.25 -1.43 -0.17 -3.39 -0.41 -3.95 -2.09 -1.71 -4.04 -1.13 -4.66 -1.71 -4.21 
+-3.15 1.78 -5.2 3.76 -2.59 4.6 2.76 3.02 2.19 3.5 2.63 2.97 0 -6.82 -2.3 -1.87 
+-1.8 -3.95 0.07 -0.13 0.3 -0.21 4.45 1.56 -0.71 4.6 0 6.82 0.04 0.08 0.5 4.84 
+2.32 3.27 0.54 4.25 0.02 0.41 0.15 -0.06 6.05 -2.3 1.2 0.41 0 -9.21 0.54 -2.04 
+1 0.74 -0.02 1.11 -1.52 0.2 0 9.21 1.13 0.39 0.7 4.55 0 1.5 0.34 3.28 
+0.21 4.77 3.02 2.73 0.37 0.21 5.82 0.33 1.17 4.05 -1.37 5.77 -1.35 5.62 -0.26 0.7 
+-1.47 5.05 -0.85 5.06 0.66 4.14 -0.79 4.9 -0.48 4.69 0.48 4.12 -1.19 4.97 2.25 3.19 
+2.8 1.06 3.75 0.04 2.13 -0.48 6.14 -3.58 0.54 -0.13 0 -17.77 -0.46 -0.76 0.31 -2.54 
+5.34 -0.89 -5.19 4.19 0 17.77 5.38 -1.32 3.36 0.83 -0.68 4.99 -3.04 6.16 -0.43 4.75 
+-1.41 5.21 -2.25 3.21 -6.77 4.58 -2.64 1.87 -4.56 3.67 -7.25 5.2 -0.11 0.11 -5.34 6.09 
+-3.78 3.52 -7.03 4.09 4.21 2.38 1.56 -0.04 2.71 2.66 0.41 0.52 5.32 -1.15 2.8 -1.43 
+4.6 -2.82 5.73 -0.8 0.13 0 5.82 -1.32 5.6 -0.65 1.06 1.7 -2.73 5.58 -4.1 4.55 
+-2.84 2.43 -5.96 4.05 -7.95 4.75 6.27 -1.88 4.6 -1.45 2.24 -1.3 2.71 -4.84 4.45 -1.59 
+4.25 -6.14 2.52 -5.54 -1.11 -4.11 -2.15 0.89 1.17 -2.82 -2 -1.35 -1.61 -3.04 -0.93 -0.39 
+0.82 -4.82 3.61 -6.07 0.48 -0.5 2.23 -5.28 1.84 -5.45 2.87 -6.05 3.55 -4.55 2.08 -3.15 
+5.02 -7.24 2.02 -1.59 4.36 -5.88 3.34 -3.8 -3.08 -0.08 -5.84 1.87 -0.95 -0.55 -4.47 -2.15 
+-0.28 -0.24 -5.91 1.11 -1.97 -0.71 -3.75 -2.5 -0.29 -4.6 -0.08 -0.04 -5.27 -1.39 -0.26 -4.62 
+-1.28 -1.91 -0.93 -1.45 -1.69 -3.71 -1.35 -3.97 1.15 -5.68 0.11 -0.22 5.16 -5.41 3.55 -5.92 
+-5.12 0.32 -2.19 -0.02 1.63 -1.8 3.84 -7.7 -6.29 0.63 -4.75 2.78 -0.89 0.48 -6.44 1.13 
+-1.26 -0.18 -1.72 -3.82 -0.99 -4.4 -0.13 -1.15 1.82 -5.58 1.52 -2.23 2.45 -6.71 0.26 -1.82 
+0.02 -4.19 -1.73 -4.25 -3.22 -2.89 -2.38 -3.71 -1.76 -4.38 -1.91 -4.32 -1.43 -4.86 -0.02 -0.26 
+3.08 -6.18 0.32 -3.95 -0.96 -5.86 0 -0.28 0.48 -0.3 5.84 -2.26 2.21 -0.07 4.34 2.09 
+3.56 -0.37 4.49 -1.93 2.37 4.43 3.51 3.06 0.74 6.1 -0.21 1.93 -0.91 5.99 1.65 4.8 
+0.71 2.86 -0.7 3.45 -0.21 6.38 0.28 1.85 -0.74 4.6 3.26 2.91 1.43 4.56 -1.41 6.92 
+0.06 1.67 -3.79 6.92 3.71 2.43 -0.96 6.07 5.77 -1.54 2.23 0.7 2.34 3.54 3.47 1.95 
+1.02 -0.04 5.42 0.52 0.43 0.37 4.02 2.32 2.32 0.15 5.75 -2.78 4 -1.32 1.97 -0.04 
+5.47 -4.28 5.41 -4.51 5.47 -4.04 1.06 -3.64 3.3 -5.47 3.61 -7.2 0.71 -1.17 4.76 -6.08 
+4.43 -6.92 p
+1.54 -4.17 -0.89 -5.95 1.54 -2.95 2.36 -8.71 -2.58 -4.27 -5.12 0.13 -0.8 -0.5 -2.95 -3.9 
+-4.23 -2.39 -0.74 -6.73 -2.65 -4.47 -1.86 -5.53 -0.52 -1.15 -1.56 -4.25 -3.28 -3.86 -2.28 -5.32 
+-2.61 -0.07 -2.36 -1.58 -3.43 -3.82 -3.82 -3.32 -5.43 0.85 -1.26 -0.02 -4.6 -2.23 -4.17 0.91 
+-2.19 -0.57 -5.23 -1.3 -2.75 0.65 -4.05 0.35 -3.8 0.93 -3.23 0.39 -4.45 1.11 -4.95 4.02 
+-0.39 0.15 -6.96 1.67 -0.37 0.07 -4.69 -1.89 -4.25 -2.56 -1.5 -4.69 -0.26 -1.56 -3.39 -4 
+-2.61 -5.32 -3.78 -3.58 -5.73 -0.48 -2.34 1.79 -5.18 3.84 0.71 5.23 3.93 3.13 3.93 3.04 
+3.58 3.49 0.57 1.91 -3.17 5.4 -3.19 0.89 -5.38 -0.78 -1 0.26 -5.41 3.63 0.15 4.69 
+3.28 3.47 0.71 3.04 -4.1 4.66 -4.38 4.4 -4.21 4.56 -0.15 5.47 3.14 3.06 2.71 3.54 
+3.52 2.59 2.82 3.32 2.08 4.04 0.13 0.87 -1.34 6.38 -0.61 1.14 -2 1.4 -1.04 -4.84 
+-0.09 -0.26 -1.63 -4.04 -2.73 -0.76 -2.15 -0.28 -2.36 -3.69 -2.37 -2.97 -0.3 -0.43 -2.84 -3.26 
+-2.36 -3.86 -3.13 -3.06 -4.25 -1.73 -1.52 -0.24 -3.21 -0.87 -3.8 -2.28 -3.64 -2.45 -6.08 0.67 
+-0.04 0 -4.93 -0.72 -2.82 -3.54 -0.71 -1.39 -0.8 -4.1 -4.78 -0.98 -1.54 0.71 -5.69 3.5 
+-1.37 0.39 -2.8 3.95 -2.41 -1.39 -2.63 1.05 -2.11 2.97 -3.38 -1.91 -0.54 0.09 -3.14 4.51 
+-3.73 -2.04 -3.76 -1.97 -3.82 -1.93 0.74 -1.15 -3.26 -2.91 -3.17 -3.12 -3.55 -2.61 -2.76 -1.93 
+-0.69 -0.91 -3.63 -2.62 -4.01 -2 -4.75 -0.59 -2.41 0 -2.55 -0.07 -4.73 -0.54 -4.69 -0.61 
+-4.91 -0.06 -3.02 -0.2 -1.75 -0.13 -0.29 0.09 -4.99 0.87 -4.97 0.34 -4.14 0.35 -0.82 0.04 
+-0.33 -0.35 -3.21 -2.9 -4.64 -0.46 -2.19 0.84 -2.43 4.88 -2.45 0.93 -0.37 0.09 -4.73 1.3 
+-1.82 1 -4.11 3.12 -1.61 1.04 -4.14 2.95 -1.32 1.28 -1.72 4.97 -1.25 5.05 -0.52 3.75 
+-0.07 1.43 0.91 5.49 0.83 0.17 -1.76 4.93 -1.8 4.91 -3.58 -0.79 -2 -0.41 -1.75 0.04 
+-4.32 1.54 -3.99 0.7 -0.13 -4.19 -1.67 -3 -1.28 -2.65 -1.21 -2.97 -2.41 -2.71 -0.63 -1.43 
+-4.06 0.28 -0.41 0.48 -4.12 2.64 -0.07 0.04 -3.02 1.61 -1.2 0.11 -3.84 -0.26 -0.37 -0.35 p f*
+255 35 0 rG
+950.84 1619.21 -0.52 -0.13 0 1.23 1.45 0.67 0.67 -1.39 -1.61 -0.39 f*
+7 193 59 rG
+952.45 1449.46 -1.84 3.49 1.39 1.65 0.13 -0.02 0 -1.43 -0.11 -0.13 0.16 -0.26 0.39 0.31 
+-0.43 0.08 0 1.43 4.94 -1 4.91 0.78 1.59 -0.52 -1.41 -0.93 -5.04 0.21 -4.67 -3.66 f*
+0 155 255 rG
+951.02 1553.64 -0.26 1.41 0.48 0.05 -0.21 -1.46 f*
+110 210 9 rG
+952.17 1452.75 -0.16 0.26 0.11 0.13 0.43 -0.08 -0.39 -0.31 f*
+2 239 204 rG
+953.34 1557.95 -0.5 2.32 0.76 0.09 -0.26 -2.41 f*
+7 193 59 rG
+955.17 1563.61 -0.46 1.89 0.97 0.13 -0.52 -2.02 f*
+2 239 204 rG
+955.88 1572.39 -0.85 3.11 2.15 0.32 -1.3 -3.43 f*
+110 210 9 rG
+955.62 1561.7 -0.45 1.91 0.52 2.02 1 0.16 -1.06 -4.08 f*
+255 0 r6
+957.4 662.71 -2.15 0.74 10.89 0.89 10.87 0.87 10.89 0.87 -3.86 0.52 10.09 1.28 10.07 1.28 
+10.07 1.26 -5.21 0.22 -4.79 0.36 13.21 2.11 13.22 2.09 12.85 2.63 12.82 2.63 -7.05 -0.43 
+11.83 2.82 11.83 2.8 -7.66 -0.71 10.89 2.91 10.92 2.91 -8.14 -1 -7.64 -0.72 19.27 5.43 
+-7.98 -0.93 8.9 2.71 8.92 2.71 8.57 2.93 8.55 2.93 9.36 1.91 9.85 2.28 -9.2 -3.45 
+-9.22 -3.43 9.72 2.11 -10 -3.5 -10.03 -3.52 9.53 1.91 -10.92 -3.54 -10.89 -3.54 9.22 1.65 
+-11.89 -3.52 -11.92 -3.51 8.81 1.32 -13.02 -3.43 -13 -3.41 -9 -1.95 -9.01 -1.93 -9 -1.95 
+6.77 0.32 7.36 0.54 8.01 0.84 8.79 1.15 9.66 1.54 -12.33 -2.78 -12.34 -2.75 -12.33 -2.78 
+-7.55 -0.59 -6.82 -0.32 -11.35 -1.61 -11.32 -1.61 -11.35 -1.61 -11.57 -0.97 -11.59 -1 -11.59 -0.98 f*
+7 193 59 rG
+956.34 1570.71 -0.46 1.69 1.3 3.43 0.54 0.09 1.04 0.17 -0.7 -1.39 -1.19 -3.91 -0.26 -1.2 
+-0.28 1.11 f*
+255 203 0 rG
+958.05 1551.26 -1.69 4.45 0.02 2.74 0.48 2.34 0.87 4.69 0.09 0.46 0.98 5.16 0.17 0.56 
+1.17 1.3 0 -5.32 -0.15 -1.39 1.02 -1.65 1.39 2.04 -2.26 1 0 5.32 0.98 1.11 
+0.46 2.5 1.48 0.28 -0.63 1.84 2.05 2 1.15 1.41 0 -4.53 -1.5 -0.52 1.74 -0.11 
+0.43 0.54 -0.67 0.09 0 4.53 0.32 0.39 0.54 0.11 2.49 0.57 2.5 0.61 -0.41 0.91 
+2.23 1.07 2.06 1.39 2.13 1.17 3.08 -0.59 1.72 1.87 1.37 -2.37 1.04 0.33 -0.18 -1.86 
+-2.84 0 -1.78 -2 -1.82 -2.04 -2.41 -0.91 -0.24 -1.15 0 -4.79 -0.12 -0.41 -2 -1.61 
+-2.23 -1.93 -2.47 -1.45 -0.54 -1.71 -0.55 -4.11 -0.45 -1.15 -1.85 -1.47 -2.58 -2.06 -1.11 -2.46 
+-0.78 -2.58 -2.67 -2.58 f*
+110 210 9 rG
+957.14 1567.67 -0.52 1.93 0.26 1.2 1.19 3.91 0.7 1.39 1.3 0.22 -1.54 -3.12 -0.7 -2.23 
+-0.69 -3.28 f*
+255 203 0 rG
+957.77 1787.39 -0.75 -3.51 2.49 -0.67 4.02 -1.79 4.49 -0.75 4.62 0.15 0.52 0.02 0.7 0.04 
+5.2 0.97 4.19 -1.56 4.99 -0.54 3.45 0.42 2.35 -0.31 5.03 -0.84 4.34 -1.54 4.12 -1.73 
+6.77 0.7 0.91 0.2 5.77 1.19 -2.62 1.06 -4.58 1.79 -3.47 -2.72 -4.49 1.61 -4.55 1.55 
+3.12 2.86 -0.56 0.18 -6.36 -0.79 -1.2 3.1 2.82 2.95 3.41 2.73 4.25 0.09 6.04 -1.02 
+3.07 0.37 6.32 0.96 1.26 0.15 6.23 -0.69 5.82 -0.16 4.45 0.91 1.8 0.35 3.62 2.34 
+4.04 2.11 -0.39 0.17 0.7 0.34 -1.41 3.75 -0.82 0.85 -0.52 -0.28 -1.62 0.65 -5.64 1.2 
+-2.65 -1.61 -4.12 1.54 -3.75 -0.46 -1.73 -1.24 -4.04 1.41 -2.49 0.3 -2.67 -2.12 0.26 -0.2 
+-2.84 -2.71 -2.6 -1.39 1.21 1.82 -5.09 1.58 -2.96 -2.75 -2.91 -2.8 -2.89 -2.87 -5.3 1.48 
+-2.64 -2.95 -5.16 1.3 -5.23 1.21 -5.25 1.11 -2.06 -3.16 -0.32 0.04 0 -0.57 -1.02 -2.84 
+-0.87 -0.2 -0.26 0.41 2.15 2.63 0 0.57 -4.8 0.91 -5.16 0.87 1.3 2.56 -3.66 1.32 
+-1.37 0.2 -1.04 -2.37 3.54 -1.52 0.55 -1.63 1.34 -2.25 -3.34 -1.84 -4 -0.63 f*
+255 0 r6
+960.18 1422.05 -0.5 5.25 5.34 0.39 0.57 -5.25 1.09 -10.5 -5.54 -0.39 -0.48 5.27 -0.48 5.23 f*
+255 135 0 rG
+961 1564.61 -1.02 1.65 0.15 1.39 2.26 -1 -1.39 -2.04 f*
+110 210 9 rG
+961.74 1580.62 -0.32 0.96 1.17 0.21 -0.85 -1.17 f*
+0 255 r6
+962.41 1578.69 -0.67 1.93 0.85 1.17 1.34 0.28 2 0.41 -0.32 -0.39 -1.15 -1.41 -2.05 -2 f*
+255 135 0 rG
+965.84 1576.93 -1.74 0.11 1.5 0.52 0.67 -0.09 -0.43 -0.54 f*
+0 255 r6
+962.09 1797.44 3.66 -1.32 0.37 0.71 -4.03 0.61 f*
+255 G
+971.72 1506.75 -4.05 -0.52 0.97 -5.03 0.98 -5.08 4.25 0.54 4.23 0.57 -1.15 5.05 4.14 0.61 
+4.12 0.67 4.1 0.69 4.08 0.76 -1.52 4.99 -1.54 4.97 3.88 0.78 -1.65 4.95 2.95 0.63 
+0.83 0.17 -1.76 4.93 -1.8 4.91 -3.58 -0.79 -2 -0.41 -1.62 -0.33 -3.62 -0.7 -3.64 -0.67 
+1.41 -4.95 -3.76 -0.61 1.3 -4.99 1.3 -4.97 -3.97 -0.61 1.18 -5.02 -4.06 -0.56 f*
+87 0 136 rG
+973.74 1646.5 -4.99 3.13 0.74 0.65 0.74 0.67 0.7 0.67 5.23 -2.91 -0.78 -0.74 -0.8 -0.74 
+-0.83 -0.74 f*
+110 210 9 rG
+969.9 1587.21 -0.52 1.18 1.52 0.37 -1 -1.55 f*
+0 255 r6
+971.05 1584.68 -1.15 2.54 1 1.55 0.85 0.24 2.34 0.63 2.34 0.65 4.6 1.43 1.24 -2.13 
+-1.72 -1.87 -3.08 0.59 -2.13 -1.17 -2.06 -1.39 -2.23 -1.07 f*
+255 G
+971.53 1542.77 -0.96 -0.17 0.35 -1.28 1 -3.54 0.02 -0.07 1.37 -4.93 3.56 0.59 3.56 0.65 
+3.53 0.7 -1.65 4.88 -0.97 2.84 -0.7 2.02 -1.7 4.84 -3.25 -0.65 -0.7 -0.13 -2.56 -0.48 
+0.65 -2.1 0.85 -2.76 -2.41 -0.41 f*
+255 203 0 rG
+972.63 1766.25 -1.54 -0.07 0.58 -1.25 4.23 -0.16 0.7 0.02 -0.52 0.21 -3.45 1.24 f*
+2 239 204 rG
+973.94 1543.18 -2.41 -0.41 1.56 3.17 0.85 -2.76 f*
+255 203 0 rG
+974.29 1757.4 -2.43 0.65 3.43 3.11 3.77 2.06 3.87 -0.21 -0.41 4.14 3.49 2.95 5.6 1.61 
+1.74 0.11 4.86 0.98 3.06 0.39 3.95 0.63 2.71 1 6.33 1.13 1.15 -0.29 0 -16.43 
+-0.56 -0.07 -4.62 -2.3 -0.89 -1.54 -0.35 -2.41 -4.67 -2.34 -0.56 -2.48 4.77 0.41 4.14 2.61 
+-0.89 2.15 0.63 2.56 2.87 3.14 0.13 0.26 0 16.43 2.37 -0.61 1.63 -0.33 5.6 1.41 
+-1.24 1.5 2.93 1.88 1.11 0.7 6.32 0.17 1.19 -0.54 4.64 -2.19 1.87 -0.91 0.8 -2.28 
+-2.43 -1.21 4.26 -2.22 0.04 -0.02 4.04 -2.38 3.3 -2.69 4.19 -2.35 4.38 -2.32 3.08 -2.76 
+4.06 -2.47 1.91 -0.63 6.6 -0.83 2.06 -0.41 7.4 -0.41 0.76 -0.63 3.58 -2.99 5.6 0.89 
+1.23 -1.09 -2.8 -2.73 3.25 -3.08 -0.11 -0.46 -1.46 0.26 -2.12 0.04 -3.34 0.07 -2.34 -1.18 
+-1.89 -1.02 -2.08 0.41 -5.21 0.18 -5.78 -0.91 -1.41 -1.45 0.8 -2.97 -0.56 -0.67 -2.85 -2.96 
+1.37 -2.12 0.24 -0.52 1.09 -2.71 2.32 -2.54 2.06 -2.56 2.15 -2.56 1.65 -2.63 0.69 -2.65 
+0.54 -2.64 -0.39 -1.61 -0.13 -1.05 -1.74 -2.6 -0.02 -2.52 2.87 -2.52 3.11 -2.6 1.82 -2.61 
+2.6 -1.56 2.59 -1.35 5.25 -2.71 0.78 -0.48 2.26 -2.91 0.3 -2.67 0.28 -2.67 -0.54 -0.79 
+0.07 -1.73 0.61 -2.72 0.66 -2.73 0.49 -2.71 0.26 -0.35 6.63 -3.19 1.49 -1.08 0.48 -2.87 
+1.02 -3.04 0.11 -2.8 -2.19 -2.1 1.13 -3.13 3.45 -3.99 -0.17 -2.82 -0.29 -2.78 -1.26 -2.41 
+-0.91 -2.54 -0.26 -2.82 -3.51 -1.41 -2.39 -0.74 -1.22 -0.58 -1.62 -2.17 -1.85 -2.04 -1.62 -2.13 
+-0.91 -2.49 -0.56 -2.67 0.41 -3.25 -0.93 -2.56 -3.34 -1.2 -2.21 -1.8 -2.3 -1.74 -1.7 -2.11 
+-2.54 -0.89 -0.82 -0.15 0.08 -0.8 0 -2.45 -1.99 -0.11 -5.51 1.91 -1.05 -2.45 -1.56 0.52 
+-4.43 0.45 -3.23 0.18 -2.21 0.52 -2.04 -1.64 -2.19 -1.52 -1.67 -1.91 0.35 -3.05 0.13 -0.59 
+1.32 -4.51 -5.7 1.45 -0.29 0.13 -6.32 1.99 -0.24 -0.12 -2.3 -1.05 -2.34 -1.32 -3.41 -0.33 
+-3.58 -0.13 -2.19 -1.39 -1.76 -1.82 -2.11 0.67 0.89 0.54 -4.06 4.06 -4.11 4.02 2 1.3 
+1.95 1.32 0.74 0.52 0 -4.36 -0.05 -2.46 3.59 -0.95 -0.63 2.88 -2.91 0.52 0 4.36 
+1.2 0.84 -4.41 3.82 -3.04 2.58 2.13 1 2.71 -2.23 4.49 -3.78 1.84 1.41 2.5 -2.06 
+0 -3.25 -2.71 -0.58 -0.39 -1.65 2.54 -0.28 0.57 2.52 0 3.25 1.99 -1.67 -0.67 -0.58 
+0.76 0.5 -0.02 0.07 1.86 1.47 1.85 1.52 -4.71 3.69 -4.73 3.6 1.63 1.46 1.43 1.32 
+5.05 -3.36 0.11 -0.07 5 -0.83 2.93 0.35 0.41 0.09 -0.15 0.18 -0.2 0.07 -5.96 2.25 
+-2.65 3.6 3.73 -2.52 1.54 1.61 1.5 1.63 -3.45 2.2 1.45 1.56 4.8 -0.46 0.11 0 
+1.91 -0.17 0 -6.23 0.17 -0.44 0.52 -0.02 -0.24 0.34 -0.46 0.11 0 6.23 3.09 -0.26 
+1.49 1.67 -1.61 3.38 -0.76 1.11 -5.12 3.63 -3.19 2.28 3.8 -1.35 6.12 -2.09 1.76 -0.11 
+5.17 -0.67 3.49 -1.28 0.42 2.28 2.16 1.43 1.59 1.71 1.86 1.63 0.83 0.37 1.65 1 
+4.73 0.43 1.43 0.69 1.02 0.81 0.73 2.21 1.11 2.06 5.53 0.41 0.15 0.02 4.36 0.85 
+-3.41 3.36 P
+-0.93 0.76 -2.62 3.38 2.78 1.56 0.71 2.26 -0.41 2.58 -1.02 2.73 -1.2 2.71 -1.04 2.65 
+-1.22 0.82 -4.75 2.82 -0.57 2.39 -0.02 2.28 -0.73 2.41 -0.87 2.39 -0.52 2.34 -0.48 2.32 
+2.95 1.97 0.5 2.28 -1.39 2.45 -4.16 2.61 -2.63 0.97 -5.51 1.59 -1.04 0.63 -1.06 0.65 
+-5.68 -1.2 -0.07 0 -1.28 2.11 -1.45 2.08 0.28 0.57 0.46 1.61 -1.76 2.06 -1.15 0.43 
+-3.49 1.39 -2.11 1.93 -2.34 1.86 -2.56 1.81 0.68 2.28 1.71 1.71 5.7 -0.61 1.52 -0.07 
+6.46 0.18 5.54 1.28 1.04 0.39 3.55 2 1.26 1.08 -2.8 0.8 -5.54 -1.24 -6.38 -0.3 
+-5.4 -1.47 -5.88 0.91 -1.95 0.24 -6.88 0.21 -0.21 -0.02 -0.07 -0.07 1.5 -1.89 -4.84 -1.76 
+-5.71 -1.37 -3.95 -2.12 0.82 -1.74 0.26 -0.7 -0.67 0.61 -1.61 1.54 -1.26 1.61 0.11 0.02 
+-0.17 0.17 2.23 2.34 2.02 0.55 -0.24 0.24 1.5 2.19 -0.71 1.96 -3.3 1.19 -3.73 0.35 
+-0.52 0.41 -0.5 0.41 4.27 2.66 0.67 0.74 2.48 2.78 5.62 0 2.72 -1.63 1.88 -1.89 
+2.58 -1.11 2.41 2.47 -4.34 1.29 -1.89 1.95 0.96 2.91 -5.3 0.8 1.78 1.89 4.77 2.11 
+3.41 2.37 -5.38 -0.93 -4.37 0.17 -4.86 0.74 -0.54 -0.15 0 0.5 2.86 3.37 5.93 -0.13 
+1.87 0.26 0.26 0.61 2.14 3.02 3.95 2.56 4.91 1.88 2 0.83 1.97 1.63 -1.65 1.99 
+1.67 2.93 5.21 -0.35 3.91 -0.56 -1.29 1.49 -1.97 0.61 -5.69 0.31 -4.34 2.02 -4.43 1.95 
+-0.96 0.09 -7.01 -0.8 -4.77 -2.06 -2.59 -3.25 -1.23 -2.34 -0.7 -1.26 -5.06 -2.02 -0.62 -3.69 
+0.17 -0.82 -2.73 -3.34 -0.11 -0.06 -4.08 -2.5 -4.64 0.18 -1.82 1.97 -2.45 1.63 -2.67 1.5 
+-2.76 1.43 -3.75 0.63 -3.43 0.84 -2.82 1.32 -5.04 -0.89 -0.17 -0.13 -0.28 -0.33 2.21 -1.78 
+2.19 -1.71 -1.22 -1.54 -0.34 0.13 -2.8 1.02 -2.82 0.98 -2.88 0.93 -2.91 0.89 2.78 3.32 
+2.82 3.3 -3.25 0.95 p f*
+0 255 r6
+974.42 1791.21 -2.15 -2.63 0.26 -0.41 0.87 0.2 1.02 2.84 f*
+2 239 204 rG
+975.7 1548.66 -0.7 -0.13 0.48 0.83 2.52 2.61 3.45 -0.05 2.2 -1.58 1.47 -4.91 3.11 -4.56 
+2.11 -2.9 3.19 1.45 3.37 -1.8 1.32 -0.45 4.34 -1.11 3.91 -0.06 3.56 0.78 1.41 -0.61 
+4.77 -3.97 0.15 -0.04 4.91 -4.04 1.54 -5.1 4.08 -4.32 4.55 -0.43 5.1 -2.08 0.41 -0.13 
+4.69 -0.43 1.52 2.86 -3.52 4.5 0.84 2.91 3.43 -1.32 1.55 -5.23 4.84 -4.04 0.56 0.02 
+4.23 0.61 5.32 -1.15 2.52 -0.39 2.7 -0.48 5.14 -2.23 1.15 -0.3 5.04 -0.33 3.36 2.34 
+3.3 2.41 4.12 1.13 4.17 1.08 4.47 0.72 1.75 0.07 2.89 0.43 5.05 0 3.55 -0.5 
+2.11 -0.24 6.08 -1.65 0.48 -0.13 3.91 1.71 3.75 1.93 3.78 1.87 1.65 3.76 0.18 0.45 
+3.38 2.28 0.21 0.07 3.84 1.43 5.16 0.32 1.67 -1.06 6.68 -2.13 0.86 0.43 2.63 1.87 
+0.52 0.87 -0.35 4.97 3.76 1.93 3.08 -0.93 4.08 -0.59 2.56 3.23 1.24 4.52 2.58 3.1 
+2.69 2.97 2.26 3.37 2.34 3.23 2 2.93 0.24 0.39 0.08 0.07 7.04 -1.15 0.24 -0.02 
+3.23 2.5 0.54 3.7 0 1.08 0.93 0.43 2.43 1.93 -0.63 1.15 -0.85 5.08 1.41 3.84 
+4.06 1.82 1 0.18 6.29 -1.74 1.93 -0.46 3.04 2.71 0.63 4.47 -1.15 4.47 -5.23 4.58 
+-0.41 0.54 0.69 0.35 4.23 1.02 2.69 -0.33 3.23 1.05 3.17 2.62 -2.54 6.36 -0.33 4.82 
+-0.07 0.19 -0.49 0.15 -5.43 2.5 -5.73 4.03 -0.09 0.16 -1.7 5.27 -3.27 5.25 -0.91 1.2 
+-4.86 6.36 -0.15 0.28 0.17 0.43 2.43 2.34 3.71 -0.71 6.05 -4.1 3.17 2.32 0 -8.25 
+-0.39 -4.13 2.54 -3.41 1.28 1.29 -0.05 4.41 -0.65 1.75 -2.73 0.09 0 8.25 0.22 0.17 
+0.19 4.12 -3.23 5.73 -0.98 3.32 -0.54 1.48 -6.25 5.86 -0.78 1.19 -2.63 5.02 0.68 3.69 
+-1.96 4.64 -1.75 4.51 1.36 2.91 6.54 -2.72 3.88 -4.38 -0.18 -3.99 2.67 -5.12 3.58 -4.28 
+3.15 1.48 1.93 1.99 6.16 -2.3 6.51 -4.21 5.75 -0.45 0 0.02 -0.02 0.07 -3.43 5.96 
+-4 6.14 -1.13 0.75 -6.49 3.23 -5.1 5.38 -3.84 5.56 -0.21 0.21 -7.56 5.29 -3.38 2.26 
+-4.25 2.71 -4.73 3.58 -0.59 0.46 -3.41 2.84 -3.13 2.71 -3.17 4.61 1.7 1.58 1.22 1.69 
+2.75 1.15 2.41 1.72 0.96 1.99 5.57 -0.13 7.86 -4.05 4.82 -2.62 3.11 -1.85 8.09 -5.16 
+2.75 -1.54 4.3 -1.87 6.29 -2.02 0.85 -0.11 -0.87 4.75 -4.12 3.56 -7.71 4.43 -1.71 0.89 
+-5.73 2.8 -6.01 4.82 -4.39 3.28 -5.45 3.32 -3.88 5.06 2.37 1.69 -1.15 2.34 4.66 -0.95 
+4.36 -5.3 0.95 -0.93 2.91 -4.32 3.52 -0.89 5.92 -5.62 0.29 -0.45 0.15 -0.05 7.95 -4.75 
+5.96 -4.05 2.84 -2.43 4.1 -4.55 2.73 -5.58 -1.06 -1.7 -5.6 0.65 -5.82 1.32 -0.12 0 
+-5.73 0.8 -4.6 2.82 -2.8 1.43 -5.32 1.15 -0.41 -0.52 -2.71 -2.66 -1.56 0.04 -4.21 -2.38 
+7.03 -4.09 3.78 -3.52 5.34 -6.09 0.11 -0.11 7.25 -5.2 4.56 -3.67 2.64 -1.87 6.77 -4.58 
+2.25 -3.21 1.41 -5.21 0.43 -4.75 3.04 -6.16 0.68 -4.99 -3.36 -0.83 -5.38 1.32 -0.54 0.13 
+-6.14 3.58 -2.13 0.48 -3.75 -0.04 -2.8 -1.06 -2.25 -3.19 1.19 -4.97 -0.48 -4.12 0.48 -4.69 
+0.79 -4.9 P
+-0.66 -4.14 0.85 -5.06 1.47 -5.05 0.26 -0.7 1.35 -5.62 1.37 -5.77 -1.17 -4.05 -5.82 -0.33 
+-0.37 -0.21 -3.02 -2.73 -0.21 -4.77 -0.34 -3.28 0 -1.5 -0.7 -4.55 -1.13 -0.39 -1.2 -0.41 
+-6.05 2.3 -0.15 0.06 -0.02 -0.41 -0.54 -4.25 -2.32 -3.27 -0.5 -4.84 -0.04 -0.08 -2.62 -2.97 
+-2.19 -3.5 -2.76 -3.02 2.59 -4.6 5.2 -3.76 3.15 -1.78 1.71 4.21 1.13 4.66 1.71 4.04 
+3.95 2.09 3.39 0.41 0 -2.37 -1.02 -0.13 -3.69 -2.32 -1.68 -4.17 -1.17 -4.69 -0.11 -0.67 
+0.59 0.24 3.37 2.66 3.01 3 1.02 4.77 -0.32 1.3 0 2.37 1.43 0.17 1.58 -6.25 
+-1.36 -4.51 -3.19 -2.89 -2.73 -3.32 -2.15 -3.93 0.67 -1.89 -0.97 -3.95 -2 -4.23 -0.71 -5.7 
+-0.05 -0.7 4.23 -4.82 -0.2 -5.75 -0.02 -3.71 5.34 -3.6 0.82 0.04 6.29 -0.26 2.13 0.72 
+5.47 -3.45 0.63 0.15 3.62 3.02 2.84 3.93 3.17 3.47 0.39 1.98 -0.02 4.62 -0.63 5.27 
+-0.41 2.62 0.95 5.56 1.28 5.1 0.11 1.39 -0.8 5.54 1.21 4.94 5.17 1.2 0.98 0.35 
+6.42 -1.52 0.24 0.07 6.71 -0.35 0.11 0.04 2.74 3.56 1.56 4.64 0.26 3.1 -2.63 5 
+2.17 3.93 -1.91 4.23 -3.56 0.41 0.79 -6.41 -0.46 -0.19 -4.06 -1.67 -2.25 -0.76 -1.91 -1.39 
+-2.38 -3.71 -4.43 0.61 -1.3 4.38 -0.09 5.7 1.28 4.47 1.04 4.63 5.36 1.17 0.41 0.33 
+0 -2.2 -0.52 -0.09 -3.54 -0.57 -1.15 -4.58 -1.09 -4.66 0.63 -6.12 3.97 2.2 3.34 2.84 
+1.89 1.17 2.3 0.97 -0.91 3.26 -4.93 5.58 0 2.2 0.78 0.63 4.82 -0.26 1.61 -0.07 
+5.32 0.07 1.85 4.06 0.17 0.08 1.99 -1.82 3.32 -3.04 0.35 0.04 6.04 0.35 0.39 0.04 
+4.95 -1.56 0 -3.14 -1.02 -0.09 -4.64 -0.36 -1.02 -1.05 -3.66 -0.74 -2.89 0.18 -2.97 -0.96 
+1.66 -3.71 0.38 -3.88 -1.76 -4.37 -0.74 -5.36 -1.67 -4.56 -2.61 -3.71 -2.37 -1.02 -3.25 0.2 
+-4.43 -1.24 -0.89 0.15 -5.68 1.16 -1.68 -0.29 -2.06 -4.14 0.26 -1.84 -0.26 -4.45 -1.39 -5.05 
+-0.33 -5.58 0.09 -0.76 0.93 -7.86 0.02 -0.91 -0.98 -5.06 -3.28 -3.39 -2.82 -3.95 -3.58 -3.1 
+-3.17 -0.8 -3.32 1.26 -3.62 0.67 -3.12 0.15 -5.82 -0.28 -0.11 -0.02 -4.04 4.9 0 0.16 
+0.07 6.99 0.07 2.11 -3.61 1.91 -2.15 1.24 -2.45 3.86 1.95 4.38 0.48 1.24 1.26 3.26 
+1.5 4.67 -1.31 4.01 -4.71 4.41 -2.14 1.52 -3.11 2.17 -1.61 0.35 -2.39 -3.45 0.5 -1.43 
+3.28 -6.1 0.84 -2.95 -1.25 -4.88 -0.55 -2.88 0.24 -3.2 -3.19 -3.02 -4.08 -1.02 -0.66 -0.31 
+-0.24 -0.56 1.59 -0.96 3.58 -2.78 4.78 -4.12 2.71 -6.08 -0.02 -0.02 -2.25 -4.53 -2 -5.02 
+-0.61 -2.97 4.58 -4.3 1.93 -0.52 3.82 -2.78 4.08 -4.71 4.45 -1.23 5.06 1.34 0.3 0 
+5.28 0.65 4.17 -0.67 2.88 -0.67 4.06 -1.5 4.92 -2.56 1.15 -0.41 5.95 -0.98 2.21 0.04 
+4.28 -0.57 3.08 -1.11 3.86 -0.06 4.9 1.73 1.59 -0.11 4.27 0.52 4.95 0.14 1.21 -0.18 
+4.66 2.08 2.93 4.47 2.76 4.67 2.16 5.32 1.24 2.78 -1.91 -1.89 -3.77 -3.17 -4.28 -2.52 
+-4.16 -2.7 -1.93 -0.26 -5.12 1.48 -1.8 0.24 -5.95 1.87 -0.82 0.11 -5.97 0.75 -1.65 0.3 
+-0.84 2.95 p
+-0.7 4.97 0.37 3.26 2.84 4.08 3.71 2.99 3.61 3.11 0.02 0.02 3.88 2.69 3.26 3.45 
+4.96 0.39 0.61 0.42 3.51 3.17 5.41 0.36 0 -6.59 -4.08 -0.78 -1.02 -0.59 -4.07 -2.56 
+-3.47 -3.3 -3.78 -2.95 -3.09 -1.67 -1.17 -0.72 -3.82 -2.93 -3.39 -3.54 0.37 -2.69 1.87 -0.18 
+6.01 -0.46 0.74 -0.3 4.88 -2.95 4.86 -1.78 1.95 -0.02 2.78 1.96 3.95 2.93 3.56 3.41 
+3.08 4 2.84 4.21 0.96 6.46 -0.57 1.15 -2.3 2.3 -1.28 0.35 -1.98 0.54 -3.84 0.11 
+0 6.59 0.29 0.02 0.26 -0.02 5.32 -3.12 4.25 -5.55 3.02 -6.23 -1.13 -3.15 1.8 2.32 
+3.54 3.28 -0.09 3.39 0.37 3.8 2.26 1.21 2.47 0.59 3.71 2.97 3.61 2.29 0.71 0 
+1.06 4.25 0.24 1.48 -3.38 7.84 -5.77 2.49 -1.17 7.8 4.23 2.25 -4.19 6.77 -4.54 7 
+-2.91 3.97 -1.82 2.73 -5.21 4.93 -4.66 2.8 -0.98 0.3 0 3.14 0.59 -0.2 5.46 -3.93 
+5.36 -4.43 4.64 -7.33 1.17 -2.3 3.25 -5.36 4.58 -6.6 2.63 -5.05 -4.3 -0.34 -1.19 -0.59 
+0.3 -2.04 5.05 -4.49 3.84 -7.75 1.13 -4.08 -1.98 -4.99 -2.93 0.05 -2.19 -1.37 -3.32 -3.45 
+-4.36 -1 -0.72 -0.39 -0.13 -1.2 0.2 -6.46 -3.08 -3.87 -2.5 -4.68 -2.62 -4.62 -2.73 -4.54 
+-2.34 -5.14 -3.64 -3.45 -3.19 -4.14 -4.23 -2.71 -3.32 0.52 -3.12 -0.09 -5.38 -1.06 -1.02 0.21 
+-4.45 -1.17 -5.54 0.09 -0.89 0.32 -6.71 0.83 -0.24 0.06 -6.47 0.8 -1.52 0.37 -5.6 3.41 
+-2.23 0.83 -4.93 1.2 -2.25 0.37 -5.14 -1.26 -4.67 -1.26 -0.41 -0.11 -4.14 1.17 -2.93 0.83 
+-2.71 3.32 -1.28 1.45 -7.18 1.98 -0.28 -0.02 -6.51 1.23 -1.09 0.66 0.02 0.78 3.43 3.32 
+1.32 5.97 2.93 3.78 0.54 1.11 -1.43 7.16 0 0.02 -0.02 0.02 -6.73 2.25 -1.97 1.04 
+0.43 -2.45 1.43 -6.86 -4.58 4.08 -3.8 4.93 -0.02 1.13 3.11 3.17 2.16 4.16 3.91 2.22 
+3.1 3.06 1.32 4.9 0.74 4.88 -0.13 0.61 -2.96 5.66 -1.66 4.69 2.41 3.38 0.11 3.58 
+-4.64 0.55 -3.45 -2.34 -2.76 -3 -2.02 -1.43 -1.23 -1.08 -3.97 -1.83 -1.13 -4.32 0.07 -0.34 
+0.41 -6.36 -1.26 -3.08 -0.58 -1.08 -0.89 -0.35 -3.82 -0.76 -4.05 -1.82 -3.99 -1.84 -3.59 -1.09 
+-0.73 -0.37 -1.46 -1.43 -1.5 -1.65 -0.61 -0.02 -4.86 -0.04 -5.27 -0.09 -0.18 0.02 -0.28 -0.35 
+-2.58 -2.8 -2.78 -3.34 -3.78 -2.08 -3.62 -2.37 -2.82 0.02 -2.47 -0.07 -5.93 0.89 -0.98 0.37 
+-6.03 2.09 -1.59 0.24 -4.1 0.5 -5.01 -0.11 -4.19 -1.24 -1.17 -0.43 -2.91 -0.99 -3.64 -2.05 
+-0.65 -0.54 -2.67 -2.11 -3.67 -2.12 -3.96 -1.7 -4.39 -0.93 -2.64 -0.73 -1.65 -0.39 -5.21 0.61 
+-4.19 -1.26 -4.32 -0.98 -4.62 -0.32 -2.78 -0.11 -2.09 0.32 -5.79 2.3 -0.93 0.24 -4.46 1.46 
+-4.78 1.41 -0.5 0.16 -5.18 1.52 -4.52 1.02 -0.48 0.21 -5.45 2.64 -1.11 0.8 -2.95 4.69 
+-3.8 3.64 -0.61 0.67 -2.82 4.69 -3.23 4.58 -1.61 4.95 -1.84 0.76 -3.87 0.02 -4.12 0.83 
+-1.96 1.04 -2.73 4.67 -1.93 2.65 -0.7 2.02 -1.7 4.84 -3.25 -0.65 p f*
+87 0 136 rG
+981.34 1645.75 -5.19 2.98 0.76 0.75 5.25 -2.91 -0.82 -0.82 f*
+255 35 0 rG
+978.62 1724.85 -1.89 0.91 3.93 3.02 0.99 -0.5 0.5 -0.87 1.78 -1.11 1.41 -1.34 2.75 -0.52 
+1.07 -0.17 1.17 -0.7 0.48 0.29 3.6 -0.2 -2.25 -1.22 1.75 -1.12 0.13 -0.09 -2.75 -3.21 
+3.14 -0.41 -2.06 -0.96 -1.58 1.11 -1.63 1.09 -1.67 1.08 -1.7 1.04 -1.73 1 -1.78 1 
+-1.82 0.96 -1.84 0.93 f*
+255 135 0 rG
+982.73 1749.13 -2.21 1.78 0.28 0.33 0.17 0.13 5.04 0.89 2.82 -1.32 3.43 -0.84 3.75 -0.63 
+2.76 -1.43 2.67 -1.5 2.45 -1.63 1.82 -1.97 4.64 -0.18 4.08 2.5 0 -10.07 -0.83 -2.09 
+-1.52 -1.78 -3.47 -2.97 6.23 1.06 5.27 1.89 0.59 2.26 -2.85 1.43 -3.43 0.2 0 10.07 
+0.11 0.06 2.73 3.34 -0.17 0.82 0.63 3.69 5.06 2.02 0.7 1.26 1.23 2.34 2.59 3.25 
+4.77 2.06 7.01 0.8 0.96 -0.09 4.43 -1.95 4.34 -2.02 5.69 -0.31 1.97 -0.61 1.29 -1.49 
+-3.91 0.56 -5.21 0.35 -1.67 -2.93 1.65 -1.99 -1.97 -1.63 -2 -0.83 -4.91 -1.88 -3.95 -2.56 
+-2.14 -3.02 -0.26 -0.61 -1.87 -0.26 -5.93 0.13 -2.86 -3.37 0 -0.5 0.54 0.15 4.86 -0.74 
+4.37 -0.17 5.38 0.93 -3.41 -2.37 -4.77 -2.11 -1.78 -1.89 5.3 -0.8 -0.96 -2.91 1.89 -1.95 
+4.34 -1.29 -2.41 -2.47 -2.58 1.11 -1.88 1.89 -2.72 1.63 -5.62 0 -2.48 -2.78 -0.67 -0.74 
+-4.27 -2.66 -1.39 1.13 -1.96 1.5 -2 1.45 -2.06 1.43 -2.11 1.43 -4.78 -2.34 -4.71 -2.41 
+-2.43 -1.28 -3.6 0.2 4.1 2.28 4.6 2.49 4.64 2.43 -2.2 1.34 -1.73 1.02 1.15 1.26 
+-3.95 0.32 -0.04 0 -2.34 1.23 -2.41 1.2 -2.46 1.17 -2.49 1.13 3.34 2.56 2.32 -1.39 
+1.87 0.02 0.82 1.89 -3.09 0.96 -3.25 -0.33 -0.89 0.37 -2.71 1.11 -2.41 0.96 1.22 1.54 
+-2.19 1.71 f*
+87 0 136 rG
+980.67 1675.54 -0.09 0.87 6.49 -0.26 -0.11 0.96 6.49 -0.26 -0.15 1.05 -0.19 1.06 -0.22 1.04 
+4.55 -0.02 0.41 -1.13 1.21 -1.17 0.11 -1.13 -1.46 -1.02 1.93 -1.29 -1.3 -0.99 -1.68 -0.93 
+-2.95 0.32 0 -1.04 -6.49 0.74 0 0.95 -6.49 0.54 -0.02 0.87 -0.06 0.85 f*
+255 135 0 rG
+981.66 1728.28 0.5 -0.87 1.78 -1.11 1.41 -1.34 2.75 -0.52 1.07 -0.17 -0.7 0.41 -1.89 1.07 
+-1.96 1.04 -1.95 1 -1.02 0.5 f*
+255 0 r6
+984.63 1402.87 -0.71 5.27 5.55 0.58 0.76 -5.25 -5.6 -0.61 f*
+255 203 0 rG
+991.52 1742.67 -1.8 0.78 3.25 0.33 3.09 -0.96 -0.82 -1.89 -1.87 -0.02 -2.32 1.39 0.48 0.38 f*
+255 135 0 rG
+994.05 1721.22 -2.75 -3.21 3.14 -0.41 2.91 1.32 -1.69 1.2 -1.61 1.11 f*
+0 255 r6
+999.09 1789.41 -2.82 -2.95 1.2 -3.1 6.36 0.79 -4.23 1.34 2.99 2.88 3.04 2.82 5.14 -1.67 
+5.08 -1.75 3.43 2.63 5.16 -1.93 3.63 2.47 5.25 -2.13 5.16 -2.21 4.01 2.23 4.06 2.18 
+4.1 2.08 1.63 0.8 2.3 1.33 -5.18 2.34 -4.04 -2.11 -3.62 -2.34 -1.8 -0.35 -4.45 -0.91 
+-5.82 0.16 -6.23 0.69 -1.26 -0.15 -6.32 -0.96 -3.07 -0.37 -6.04 1.02 -4.25 -0.09 -3.41 -2.73 f*
+189 0 54 rG
+1000.21 1671.92 -3.54 0.39 1.68 0.93 1.3 0.99 -1.93 1.29 1.46 1.02 -0.11 1.13 -1.21 1.17 
+-0.41 1.13 1.91 -0.02 -0.29 1.15 -0.3 1.13 -0.37 1.15 3.91 0.11 -0.48 -1.21 0.83 -1.2 
+0.02 -1.2 3.39 -1.32 -1.71 0.06 -4.77 0.18 0.22 -1.15 0.15 -1.15 0.13 -1.16 0.08 -1.15 
+0.05 -1.15 0.02 -1.12 f*
+255 203 0 rG
+997.39 1734.98 0 0.02 0.04 0 3.95 -0.32 -1.15 -1.26 -0.52 0.3 -2.32 1.26 f*
+189 0 54 rG
+1000.26 1635.94 -2.52 1.56 1.04 1.04 1 1.06 1.63 -0.93 -0.65 -1.3 -0.5 -1.43 f*
+255 203 0 rG
+1002.3 1581.38 -2.28 0.7 0.63 1.69 2.8 0.48 0.43 -0.63 0.8 0.34 0.11 -1.61 -2.49 -0.98 f*
+255 35 0 rG
+1002.84 1634.36 -2.58 1.58 0.5 1.43 0.65 1.3 3.64 -2.11 1.05 1.15 5.32 -3.02 -1.13 -1.21 
+-1.17 -1.2 -1.2 -1.17 -1.24 -1.15 4.97 -3.32 -1.37 -1.19 -1.37 -1.17 3.78 -2.8 0.39 -1.2 
+0.76 -2.04 -1.34 -1.39 -2.43 1.11 0.54 0.42 -4.57 3.62 1.45 1.13 -4.69 3.5 0.89 0.74 
+1.87 -0.65 1.78 0.8 -0.93 2.2 -3.28 2.6 -1.21 1.13 0.93 0.91 f*
+189 0 54 rG
+1005.43 1628.84 -4.91 3.34 1.17 1.06 0.21 0.2 1.21 -1.13 3.28 -2.6 0.93 -2.2 -1.78 -0.8 
+-1.87 0.65 1.74 1.47 f*
+1002.71 1641.23 -1 0.54 0.91 1.08 0.87 1.13 0.67 0.91 0.91 -1.69 -0.79 -1.2 -1.58 -0.78 f*
+255 35 0 rG
+1002.3 1683.48 -0.48 -1.21 0.83 -1.2 0.02 -1.2 3.39 -1.32 6.49 -0.35 0.22 -1.34 6.46 -0.52 
+0.17 -1.43 0.11 -1.43 0.08 -1.43 -6.49 0.8 0.04 -1.32 -0.02 -1.34 6.46 -1 -0.08 -1.41 
+-0.11 -1.41 6.41 -1.28 -0.18 -1.5 -0.24 -1.49 -0.28 -1.48 -0.32 -1.47 3.12 -0.85 0.63 1.46 
+2 1.11 1 1.39 0.63 1.5 0.05 0.06 0.74 1.41 0.02 1.63 -0.13 1.65 -1.3 1.82 
+-1.61 1.82 -0.74 1.67 0.46 1.52 -0.15 1.58 -0.42 1.61 -0.87 1.63 -0.21 1.58 1.41 1.52 
+0.63 1.59 -1 1.63 -0.39 1.63 -1.67 1.59 -2.08 1.54 -0.46 1.58 -3.86 -0.24 -6.29 -0.45 
+0.7 -1.43 0.65 -1.41 -6.36 -0.36 0.57 -1.32 0.52 -1.33 0.48 -1.32 0.43 -1.35 -6.45 -0.04 
+-2.52 -0.04 f*
+1007.12 1638.89 -4.41 2.34 1.58 0.78 0.79 1.2 -0.91 1.69 0.17 0.24 5.62 -2.69 -0.91 -1.2 
+-0.96 -1.19 -0.98 -1.17 f*
+255 135 0 rG
+1008.53 1748.5 -4.77 -0.41 0.56 2.48 4.67 2.34 0.35 2.41 0.89 1.54 4.62 2.3 0.56 0.07 
+-0.13 -0.26 -2.87 -3.14 -0.62 -2.56 0.89 -2.15 -4.14 -2.61 f*
+1011.79 1612.3 -4.34 3.78 1.61 1.13 1.02 0.75 2.43 -1.11 1.34 1.39 -0.76 2.04 -0.39 1.2 
+0.95 -0.72 4.71 -3.55 4.67 -3.63 -1.67 -1.32 1.82 -1.48 -2.13 -1 -1.41 1.2 -1.76 -1.26 
+-0.8 -0.57 -2.84 0.98 -2.45 2.17 f*
+255 203 0 rG
+1012.09 1731.32 -3.47 -2.97 6.23 1.06 5.27 1.89 0.59 2.26 -2.85 1.43 -3.43 0.2 -0.83 -2.09 
+-1.52 -1.78 f*
+0 155 255 rG
+1012.8 1465.93 -0.61 5.29 0.2 1.13 3.52 4.36 5.29 -3.61 2.15 -4.99 0.74 -1.58 1.67 -3.34 
+-0.22 -1.24 -4.06 -3.41 -5.14 0.21 -2.14 2.02 -1.39 5.14 f*
+255 135 0 rG
+1015.62 1799.16 -2.6 -1.39 1.21 1.82 0.7 -0.22 3.19 2.63 0.09 0.07 0.26 -0.2 -2.84 -2.71 f*
+1015 1709.98 -1.41 1.47 5.58 1.45 1.26 -1.61 1.61 -1.54 0.67 -0.61 -0.26 0.7 -0.82 1.74 
+3.95 2.13 5.71 1.37 4.84 1.76 -1.5 1.89 0.07 0.07 0.21 0.02 6.88 -0.21 1.95 -0.24 
+5.88 -0.91 5.4 1.47 6.38 0.3 5.54 1.24 2.8 -0.8 -1.26 -1.08 -3.55 -2 -1.04 -0.39 
+-5.54 -1.28 -6.46 -0.18 -1.52 0.07 -5.7 0.61 -1.71 -1.71 -0.68 -2.28 2.56 -1.81 2.34 -1.86 
+2.11 -1.93 3.49 -1.39 1.15 -0.43 1.76 -2.06 -0.46 -1.61 -0.28 -0.57 1.45 -2.08 1.28 -2.11 
+0.07 0 5.68 1.2 1.06 -0.65 0 -34.86 -1.02 -1.28 -2.82 -1.34 -3.06 -0.96 -0.39 -0.13 
+0.33 -0.28 6.25 -2.02 2.49 -0.32 4.14 0.78 0.15 0.15 -0.11 0.24 -3.91 3.05 -2.07 2.11 
+0 34.86 1.04 -0.63 5.51 -1.59 2.63 -0.97 4.16 -2.61 1.39 -2.45 -0.5 -2.28 -2.95 -1.97 
+0.48 -2.32 0.52 -2.34 0.88 -2.39 0.73 -2.41 0.02 -2.28 0.57 -2.39 4.75 -2.82 1.22 -0.82 
+1.04 -2.65 1.2 -2.71 1.02 -2.73 0.41 -2.58 -0.71 -2.26 -2.78 -1.56 2.63 -3.38 0.93 -0.76 
+3.41 -3.36 -4.36 -0.85 -0.15 -0.02 -5.53 -0.41 -1.11 -2.06 -0.73 -2.21 -1.02 -0.81 -1.43 -0.69 
+-4.73 -0.43 -1.65 -1 -0.83 -0.37 -1.86 -1.63 -1.59 -1.71 -2.16 -1.43 -0.42 -2.28 -3.49 1.28 
+-5.17 0.67 -1.76 0.11 -6.12 2.09 -3.8 1.35 3.19 -2.28 5.12 -3.62 0.76 -1.11 1.61 -3.38 
+-1.49 -1.67 -3.09 0.26 -1.91 0.17 -0.11 0 -4.8 0.46 -1.45 -1.56 -1.76 1.08 -5.25 3.21 
+1.28 1.52 1.26 1.56 -5.43 3.02 -5.49 2.95 1.09 1.43 1.02 1.46 0.98 1.47 0.93 1.5 
+5.73 -2.68 0.93 1.59 0.91 1.59 0.84 1.62 -5.9 2.43 0.76 1.56 0.7 1.59 -6.04 2.2 
+0.58 1.49 0.29 0.76 1.13 0.5 -0.55 1.21 0.2 0.59 0.46 1.54 0.41 1.54 -3.15 0.87 
+0.63 1.46 2 1.11 1 1.39 0.63 1.5 0.05 0.06 0.74 1.41 0.02 1.63 -0.13 1.65 
+-1.3 1.82 -1.61 1.82 -0.74 1.67 0.46 1.52 -0.15 1.58 -0.42 1.61 -0.87 1.63 -0.21 1.58 
+1.41 1.52 0.63 1.59 -1 1.63 -0.39 1.63 -1.67 1.59 -2.08 1.54 -0.46 1.58 2.46 0.15 
+-0.81 1.61 -0.87 1.59 -0.93 1.58 -0.98 1.58 6.17 0.7 -1.07 1.67 -1.13 1.65 -1.2 1.65 
+-1.25 1.63 -1.3 1.61 -5.88 -1.2 -1.3 1.49 -1.34 1.48 f*
+255 203 0 rG
+1016.1 1608.48 -1.87 1.65 2.84 -0.98 -0.98 -0.67 f*
+255 135 0 rG
+1018.18 1720.79 -1.32 1.13 3.73 -0.35 3.3 -1.19 0.71 -1.96 -1.5 -2.19 -1.41 1.39 -1.73 1.59 
+-1.78 1.58 f*
+1019.1 1713.11 -1.37 1.39 3.61 0.95 -2.23 -2.34 f*
+0 255 r6
+1020.88 1804.19 0.45 0.37 2.04 -0.67 -2.49 0.3 f*
+1027.3 1598.18 -0.05 -2.46 3.59 -0.95 -0.63 2.88 -2.91 0.52 f*
+255 35 0 rG
+1030.54 1652.54 -1.13 -0.5 0.28 0.76 0.3 0.95 0.55 -1.21 f*
+0 255 r6
+1027.8 1780.21 2.78 1.73 3.54 -1.56 -6.32 -0.17 f*
+1029.14 1803.71 1.74 1.2 2.02 -0.74 -3.75 -0.46 f*
+1032.01 1600.29 -0.39 -1.65 2.54 -0.28 0.57 2.52 -2.71 -0.58 f*
+255 135 0 rG
+1039.17 1612.13 -5.05 3.36 0.15 0.15 1.56 1.5 1.5 1.52 1.32 -0.89 2.65 -3.6 5.96 -2.25 
+0.2 -0.07 0.15 -0.18 -0.41 -0.09 -2.93 -0.35 -5 0.83 -0.11 0.07 f*
+0 255 r6
+1036.71 1602.45 -0.67 -0.58 0.76 0.5 -0.02 0.07 -0.02 -0.02 -0.05 0.04 f*
+255 G
+1041.1 1461.3 -4.75 -1.17 1.73 -5.12 1.7 -5.14 1.67 -5.16 1.65 -5.19 1.61 -5.18 5.1 1.21 
+5.08 1.26 -1.76 5.17 4.97 1.3 4.95 1.37 0.24 0.07 4.66 1.34 4.88 1.45 2.04 -5.14 
+4.9 1.52 4.88 1.59 2.93 0.97 1.91 0.66 1.48 0.5 2.3 0.8 1.02 0.37 -0.41 0.91 
+-1.82 4.04 -0.08 0.2 -2.34 5.1 -4.67 -1.67 -2.32 5.1 -4.62 -1.61 -2.3 5.08 -4.57 -1.54 
+-4.62 -1.5 -4.66 -1.43 -4.69 -1.39 -2.02 5.1 -4.67 -1.33 -1.98 5.08 -4.6 -1.25 -4.64 -1.24 
+1.85 -5.1 f*
+0 255 r6
+1039.67 1804.23 1.04 0.65 4.6 -1.84 -5.64 1.2 f*
+1041.82 1776.73 0.8 -2.28 1.89 0.93 -2.7 1.34 f*
+1044.45 1771.03 0.04 -0.02 4.04 -2.38 3.3 -2.69 4.19 -2.35 4.38 -2.32 3.08 -2.76 4.06 -2.47 
+1.91 -0.63 6.6 -0.83 2.06 -0.41 7.4 -0.41 -2.93 2.3 -5.36 -1.2 -3.71 2.78 -5.23 -1.41 
+-3.69 2.63 -3.82 2.54 -3.93 2.5 -4.01 2.43 -4.12 2.39 -4.21 2.3 -0.04 0.02 f*
+1047.46 1802.67 0.82 -0.85 1.41 -3.75 3.34 1.72 4.1 1.99 -6.27 2.7 -3.41 -1.8 f*
+255 135 0 rG
+1050.41 1614.95 -0.17 0.44 0.46 -0.11 0.24 -0.34 -0.52 0.02 f*
+189 0 54 rG
+1055.54 817.41 -3.78 -3.15 1.68 -0.69 6.42 2.37 3.63 3.02 -2.25 0.48 -2.15 -0.76 0 -0.43 
+1.54 -0.84 -1.45 -1.21 -2.55 -0.96 -2.37 0.37 1.93 1.63 2.91 1.02 0 0.43 -3.54 -1.25 f*
+110 210 9 rG
+1054.82 1795.12 -2.54 -1.24 2.3 1.33 0.24 -0.09 f*
+255 35 0 rG
+1056.16 817.21 -1.93 -1.63 2.37 -0.37 2.55 0.96 1.45 1.21 -1.54 0.84 -2.91 -1.02 f*
+1057.51 1657.27 -0.33 0.28 0.39 0.13 3.06 0.96 2.82 1.34 1.02 1.28 2.07 -2.11 3.91 -3.05 
+0.11 -0.24 -0.15 -0.15 -4.14 -0.78 -2.49 0.32 -6.25 2.02 f*
+0 155 255 rG
+1060.35 1436.87 -1.59 0.93 0.93 0.93 3.59 0.28 -2.93 -2.14 f*
+189 0 54 rG
+1065.78 819.83 -3.15 -3.04 6.19 1.96 4.84 4.14 -2.84 -1.11 0 -0.5 -2.69 -2.3 -3.41 -1.08 
+1.74 1.69 4.36 1.7 0 0.5 -5.04 -1.96 f*
+255 35 0 rG
+1066.45 819.59 -1.74 -1.69 3.41 1.08 2.69 2.3 -4.36 -1.7 f*
+189 0 54 rG
+1074 823 -3.34 -3.58 2.84 -0.17 5.58 1.91 6.49 3.93 2.24 2.21 -3.8 -1.34 0 -0.87 
+-5.6 -3.67 -2.45 -0.85 -2.52 0.39 1.59 1.7 3.02 0.89 5.96 1.55 0 0.87 -0.43 -0.15 
+-3.14 -0.89 -6.43 -1.91 f*
+255 35 0 rG
+1075.02 822.66 -1.59 -1.7 2.52 -0.39 2.45 0.85 5.6 3.67 -5.96 -1.55 -3.02 -0.89 f*
+0 155 255 rG
+1074.66 1430.77 -0.42 5.62 2.22 1.82 4.44 2.85 4.63 2.3 2.06 3.08 1.91 0.66 1.48 0.5 
+1.74 -5.32 5.59 -2.69 1.55 -0.76 1.54 -5.42 5.43 -0.41 3.64 3.69 -3.58 4.68 -2.28 5.04 
+-0.05 0.15 -2.25 5.18 -2.21 5.19 -2.3 5.17 -4.64 0.89 -0.52 -2.87 0.98 -5.61 -0.64 -2.8 
+-0.91 2.02 0.05 0.24 -1.09 5.58 1.02 5.71 5.23 0.35 4.38 2.02 4.32 1.02 0 -3.21 
+-3.02 -0.32 -1.93 -1.69 2.88 -0.18 2.06 2.19 0 3.21 0.52 0.13 4.64 -1.13 -1.24 -5.36 
+-4.14 -2.69 -1.08 -0.82 1.28 -5.6 3.32 -4.79 2.73 -1.63 3.86 -1.87 0.07 -6.09 4.75 -4.26 
+-1.52 -3.43 -5.84 0.15 -0.65 0.22 -5.05 -0.32 -5.55 -0.45 -1.13 -0.16 -4.29 -0.56 -4.85 -2.21 
+-4.99 -1.95 -5.53 -0.48 -3.28 0.67 -3.34 4.8 f*
+255 0 r6
+1088.21 681.73 -10.68 -2.02 11.71 3.38 11.7 3.36 11.71 3.39 12.61 3.3 -12.35 -3.8 -12.37 -3.82 
+-12.35 -3.8 f*
+255 G
+1095.07 1361.61 -5.88 -1.43 1.32 -5.36 1.3 -5.4 5.99 1.43 1.33 -5.4 1.28 -5.43 6.05 1.48 
+1.29 -5.43 1.25 -5.42 1.22 -5.45 6.16 1.5 1.2 -5.45 1.2 -5.47 6.2 1.54 1.17 -5.49 
+1.13 -5.49 1.08 -5.5 6.3 1.57 1.09 -5.53 6.29 1.61 1.09 -5.54 6.3 1.65 6.27 1.7 
+-1.15 5.55 -1.19 5.55 -1.24 5.54 -6.16 -1.73 -1.24 5.54 -1.31 5.51 -6.09 -1.7 -1.3 5.49 
+-1.34 5.47 -6.05 -1.65 -1.35 5.47 -6.05 -1.63 -1.34 5.45 -1.37 5.45 -1.43 5.43 -5.95 -1.59 
+-1.41 5.42 -1.43 5.41 -5.87 -1.54 -1.46 5.38 -5.86 -1.5 f*
+2 239 204 rG
+1092.71 1442.27 -1.74 5.32 2.3 0.8 2.97 -4.04 1.39 -0.34 5.67 -2.93 -1.26 4.51 -1.8 5.36 
+-1.8 5.34 -1.93 2.04 -2.25 2.39 -0.02 0 0.85 -5.69 -1.2 -5.36 -0.91 2.02 0.64 2.8 
+-0.98 5.61 0.52 2.87 4.64 -0.89 2.3 -5.17 2.21 -5.19 2.25 -5.18 0.05 -0.15 0 -8.32 
+1.02 -3.19 0.39 -0.02 0.26 0.26 -1.67 2.95 0 8.32 2.28 -5.04 3.58 -4.68 -3.64 -3.69 
+-5.43 0.41 -1.54 5.42 -1.55 0.76 -5.59 2.69 f*
+255 203 0 rG
+1093.86 1709.61 -2.15 0.38 1.73 0.3 0.95 -0.33 -0.54 -0.35 f*
+7 193 59 rG
+1096.25 1444.36 -2.97 4.04 1.02 0.37 -0.41 0.91 1.2 5.36 -0.85 5.69 0.02 0 2.25 -2.39 
+0 -2.39 0.05 -0.37 0.45 -0.67 -0.24 0.76 -0.26 0.28 0 2.39 1.93 -2.04 1.8 -5.34 
+1.8 -5.36 1.26 -4.51 -5.67 2.93 -1.39 0.34 f*
+255 G
+1098.03 1493.01 -4.06 -1.87 2.85 -4.92 2.82 -4.97 2.78 -4.99 2.73 -5.02 4.36 1.91 2.76 -5.01 
+4.41 1.97 2.78 -5.05 2.73 -5.06 4.49 2.06 2.76 -5.1 -4.56 -2.06 2.64 -5.14 2.61 -5.14 
+2.28 -4.62 0.26 -0.56 0.46 0.2 4.29 1.91 4.73 2.14 2.63 -5.18 4.73 2.21 4.67 2.28 
+-2.76 5.17 -2.82 5.14 -2.87 5.12 -2.93 5.1 -2.97 5.05 -3.02 5.03 -3.06 4.99 -4.19 -2.19 
+-3.05 4.97 -4.17 -2.12 -4.23 -2.08 -2.95 4.97 4.17 2.06 4.08 2.13 4.05 2.17 4 2.23 
+-3.3 4.88 -3.34 4.84 -0.59 0.86 -2.8 3.95 -2.41 -1.39 -1.37 -0.78 -1.26 1.82 -2.11 2.97 
+-3.38 -1.91 -0.35 -0.2 -0.19 0.29 -3.14 4.51 -3.73 -2.04 -3.76 -1.97 -3.82 -1.93 0.74 -1.15 
+2.36 -3.69 -3.95 -1.91 2.98 -4.88 f*
+189 0 54 rG
+1095.79 839.87 -0.63 -1.43 2.54 -0.65 2.41 0.91 -0.76 0.21 -2.5 0.67 -1.07 0.29 f*
+110 210 9 rG
+1096.55 1455.58 -0.05 0.37 0.26 -0.28 0.24 -0.76 -0.45 0.67 f*
+2 239 204 rG
+1103.91 1463.21 -2.88 0.18 1.93 1.69 3.02 0.32 -2.06 -2.19 f*
+7 193 59 rG
+1105.62 1434.89 -1.02 3.19 1.67 -2.95 -0.26 -0.26 -0.39 0.02 f*
+255 203 0 rG
+1107.96 1731.38 -3.19 3.17 0.76 0.45 1.39 3.08 0.87 1.22 5.41 0.89 5.2 -1.54 1.72 -3.49 
+0.21 -2.91 -1.93 -0.61 0 -3.39 -0.41 -0.59 -1.21 -2.76 3.25 -3.34 0.93 -3.3 -0.28 -2.69 
+-1.89 -0.41 -1.89 -2.58 -0.2 -0.26 -2.58 3.04 -3.06 3.21 -2.71 3.14 -1.52 3.15 0.09 1.23 
+5.55 0.76 3.37 1.37 -6.32 2.23 -1.56 0.91 f*
+110 210 9 rG
+1103.8 1768.04 2.88 0.45 2.91 0.43 3.43 -3.75 2.93 -3.8 0.41 -0.61 -1.11 0.54 -7.79 3.13 
+-3.66 3.6 f*
+255 0 r6
+1110.54 1505.79 -0.19 0.29 0.54 -0.09 -0.35 -0.2 f*
+1117.64 1503.11 -1.26 1.82 2.63 -1.05 -1.37 -0.78 f*
+255 203 0 rG
+1117.82 1708.98 -0.91 3.04 4.69 -3.32 -0.95 -3.02 -0.05 0 -2.78 3.3 f*
+1121.2 1687.63 -1.28 3.15 1.24 0.8 4.66 -1.73 2.8 -2.23 1.91 1.41 -0.55 3.17 -4.27 2.95 
+-1.04 0.91 0.3 0.76 2.43 1.95 1.67 2.11 7.16 -3.38 0.55 -0.33 4.19 -3.69 1.46 -3.52 
+-0.87 -3.05 0.98 -3.43 4.12 -4.18 2.87 -1.43 2.45 -3.25 5.12 -4.82 -5.68 -0.5 -6.36 1.69 
+-4.84 3.52 -0.39 3.26 -3.25 3.69 -0.41 0.29 -6.73 3.52 -6.43 1.17 -1.8 1.23 f*
+110 210 9 rG
+1123.11 1770.57 0.11 0.02 5.62 0.5 5.66 0.39 5.71 0.28 5.14 -4.34 -5.79 -0.16 -5.75 -0.26 
+-5.71 -0.34 -3.95 -0.33 -1.05 4.23 f*
+0 155 255 rG
+1127.45 1438.24 -3.93 3.58 0.8 2.91 1.8 -1.82 6.27 -2.91 0.26 -0.56 0.46 0.2 0.04 -1.17 
+-4.14 -0.57 -1.57 0.35 f*
+110 210 9 rG
+1134.31 1551.96 -0.09 0.13 0.17 -0.02 -0.02 -0.13 -0.07 0.02 f*
+0 255 r6
+1148.5 1619.92 -3.88 3.8 1.37 2.82 3.95 -1.5 4 1.13 1.15 3.02 2.61 2.35 -0.7 3.88 
+1.5 0.41 2.17 1.5 2.66 -0.79 0 -10.63 -0.48 -0.57 0.29 -0.39 1.07 -0.3 -0.87 1.25 
+0 10.63 1.59 -0.45 4.08 1.11 2.5 2.11 0.91 0.07 2.26 0.07 0 -4.86 0.58 -4.08 
+1.2 -3.84 2.23 2.15 -0.55 4.12 -0.71 1.43 -2.75 0.21 0 4.86 3.1 0.13 4.41 -4.73 
+1.37 -2.26 4.08 -4.36 0.7 -4.41 0.43 -0.54 5.9 -3.21 5.57 -4.84 5.39 -5.4 0.5 -0.42 
+-0.59 0.02 -5.64 -0.61 -0.95 0.33 -6.1 2.02 -5.9 2.75 -5.93 2.84 -4.32 1.3 0.02 -4.04 
+-1.79 -3.02 -0.87 -3.55 2.89 -4.36 1.89 -1.43 0 -10.96 -2.02 -2.14 0.41 -1.19 1.76 -0.33 
+-0.15 3.66 0 10.96 3.49 -2.67 5.3 -4.19 5.08 -3.69 0.28 -0.28 0.43 -0.21 5.13 -3.3 
+0.5 -0.65 -2.06 -3.28 -0.17 -0.05 -6.25 0 -1.34 -0.91 -2.74 -0.82 -5.34 -0.74 -6.77 1.11 
+-2.13 5.34 -0.79 2.97 -0.78 2.5 -1.87 5.51 -0.35 0.91 -5.49 3.67 -4.1 5.62 5.96 -0.91 
+1.73 0.31 3.7 1.82 -0.11 4.06 -2.2 3.71 -5.9 2.86 -6.05 1.13 -0.37 -0.15 -4.08 -1.17 
+-3.04 -0.22 f*
+7 193 59 rG
+1156.23 1762.93 -5.03 4.54 5.9 -0.09 -5.34 4.62 5.86 -0.04 -5.62 4.69 0.71 0 7.79 -4.75 
+7.36 -3.97 1.78 -1.09 4.75 -4.92 0 -0.11 -0.13 0.11 -6.05 0.45 -6.01 0.34 -5.97 0.22 f*
+0 255 r6
+1164.17 1701.17 -7.14 3.02 4.14 2.8 4.01 -4.3 -1.02 -1.52 f*
+2 239 204 rG
+1152.71 1776.65 5.1 -0.02 5.71 -4.84 3.71 -0.17 6.96 -4.38 0.85 -0.79 5.34 -5.12 1.5 -0.15 
+1.87 -3.23 0.43 -1.61 -4.89 0.56 -4.9 4.91 0 0.11 -4.75 4.92 -1.78 1.09 -7.36 3.97 
+-7.79 4.75 f*
+255 0 r6
+1166.55 1073.94 -6.45 -0.78 0.96 5.45 0.87 5.47 0.83 5.49 6.53 0.87 0.78 5.53 0.74 5.54 
+0.65 5.55 0.63 5.55 0.54 5.56 0.5 5.57 6.6 1.09 0.45 5.62 6.57 1.16 0.39 5.64 
+6.55 1.2 0.35 5.71 6.53 1.26 -0.37 -5.73 -0.41 -5.71 -0.5 -5.71 -0.54 -5.7 -0.61 -5.69 
+-0.67 -5.68 -6.47 -1.09 -0.71 -5.64 -0.79 -5.62 -0.84 -5.62 -6.45 -0.96 -0.89 -5.57 -0.96 -5.56 
+-1.02 -5.55 -1.06 -5.54 -6.36 -0.8 -6.4 -0.76 1.02 5.47 f*
+7 193 59 rG
+1165.37 1642.01 -2.54 -2.06 2.25 -1.93 1.28 0.37 -0.99 3.62 f*
+255 203 0 rG
+1163.13 1624.96 -0.29 0.39 0.48 0.57 0.88 -1.25 -1.07 0.3 f*
+0 155 255 rG
+1167.23 1771.62 2.25 -0.11 4.71 -4.27 -6.96 4.38 f*
+7 193 59 rG
+1168.38 1749.2 1.73 -0.15 3.54 -3.93 -5.27 4.08 f*
+255 203 0 rG
+1175.24 1630.49 -0.58 4.08 2.75 -0.21 0.71 -1.43 0.55 -4.12 -2.23 -2.15 -1.2 3.84 f*
+1177.21 1587.35 -0.41 1.19 2.02 2.14 0.15 -3.66 -1.76 0.33 f*
+2 239 204 rG
+1182.51 1727.02 -0.02 -0.5 0.7 -0.45 6.27 -1.09 0.17 0.24 -1.41 1.52 -5.7 0.28 f*
+0 155 255 rG
+1181.88 1761.18 1.87 -3.23 0.43 -1.61 1.3 -0.16 6.18 -0.87 6.25 -0.98 6.29 -1.13 6.33 -1.25 
+5.06 -5.78 6.4 -1.56 4.8 -5.92 0.07 -0.02 6.42 -1.82 3.28 -4.36 1.11 3.02 -8.81 7.29 
+-0.84 0.63 -8.81 6.58 -3.84 2.28 -7.55 2.67 -6.25 1.13 -6.64 3.38 -4.08 2.2 1.87 -1.87 
+-6.19 0.84 -4.64 0.55 f*
+0 255 r6
+1189.3 1655.82 -5.47 4.95 2.91 2.69 1.43 0 0.65 -0.79 4.36 -5.55 2.32 -3.54 1.09 -1.8 
+5.55 -6.25 0.17 -0.3 -0.15 -0.04 -0.78 0.48 -5.62 5.25 -2.66 2.34 -3.8 2.56 f*
+255 0 r6
+1190.84 1761.66 -3.58 3.53 6.16 -0.82 5.54 -5.55 6.27 -1.13 6.32 -1.24 6.39 -1.41 5.4 -6.04 
+6.45 -1.71 5.14 -6.21 6.51 -2.02 4.88 -6.36 4.58 -6.39 6.55 -2.45 4.32 -6.49 4.04 -6.49 
+6.55 -2.87 3.73 -6.59 6.54 -3.15 3.43 -6.66 3.17 -6.62 -6.49 3.39 -6.46 3.23 -3.23 6.38 
+-6.49 2.97 -3.52 6.3 -6.51 2.69 -3.78 6.21 -4.05 6.2 -6.51 2.29 -4.32 6.09 -1.28 1.74 
+1.11 3.02 -8.81 7.29 -0.84 0.63 -8.81 6.58 -3.84 2.28 -7.55 2.67 -6.25 1.13 -6.64 3.38 
+-4.08 2.2 f*
+2 239 204 rG
+1189.43 1599.66 -2.11 -0.48 1.47 -1.28 5.6 -3.43 0.11 -0.04 6.46 -0.76 1 0.29 -0.46 1.24 
+-5.08 5.14 -1.34 0.21 0 -2 0.72 -0.11 0.8 -0.91 -1.07 0.11 -0.46 0.91 0 2 
+-4.03 0.61 -1.63 -1.49 f*
+7 193 59 rG
+1190.37 1516.95 -1.59 0.96 0.24 0.56 0.66 0.31 4.08 1.02 3.19 3.02 -0.24 3.2 0.55 2.88 
+1.25 4.88 -0.84 2.95 -3.28 6.1 -0.5 1.43 2.39 3.45 1.61 -0.35 3.11 -2.17 0 -1.91 
+-4.1 -1.91 1.82 -3.36 1.8 -6.27 -0.84 -2.47 2.71 0.54 1.32 4.23 0.05 0.54 -0.72 6.73 
+-0.84 1.11 -1.2 0.87 0 1.91 2.14 -1.52 4.71 -4.41 1.31 -4.01 -1.5 -4.67 -1.26 -3.26 
+-0.48 -1.24 -1.95 -4.38 2.45 -3.86 2.15 -1.24 3.61 -1.91 -0.07 -2.11 -0.07 -6.99 0 -0.16 
+4.04 -4.9 0.11 0.02 5.82 0.28 3.13 -0.15 3.63 -0.67 3.32 -1.26 3.17 0.8 3.58 3.1 
+2.82 3.95 3.28 3.39 0.98 5.06 -0.02 0.91 -0.93 7.86 -0.09 0.76 0.33 5.58 1.39 5.05 
+0.26 4.45 -0.26 1.84 2.06 4.14 1.68 0.29 5.68 -1.16 0.89 -0.15 4.43 1.24 3.25 -0.2 
+2.37 1.02 2.61 3.71 1.67 4.56 0.74 5.36 1.76 4.37 -0.37 3.88 -1.66 3.71 2.97 0.96 
+2.89 -0.18 3.66 0.74 1.02 1.05 4.64 0.36 0 -4.38 -2.56 -3.66 -4.1 -2.3 -1.35 0.2 
+-2.02 -1.67 -0.84 -0.72 -2.23 -3.99 -1.33 -4.84 -1.78 -4.49 -2.47 -3.86 -4.38 -2.02 -0.3 0 
+-4.82 -1.28 -3.32 -0.52 -3.21 0.63 -0.41 -0.52 -2.39 -2.98 -1.75 -4.62 -1.43 -4.99 -0.17 -2.99 
+0.54 -4.06 0.65 -5.38 0.37 -2.62 -1.65 -5.23 -3.38 -3.28 -2.82 -3.99 -3.54 -3.19 -4.95 -1.41 
+-0.78 -0.02 -6.27 1.22 -1.19 0.24 -5.23 0.24 -4.02 -0.45 -3.73 5.16 -0.17 4.88 0.3 4.19 
+-5.16 3.78 -5.25 3.58 -2.87 -3.47 3.21 -5.05 3.84 -5.05 -1.32 -3.62 -2.49 -4.3 -1.2 -4.99 
+4.23 -4.6 5.01 -3.91 4.23 -4.61 1.78 -0.49 5.27 1.02 3.17 0.02 2.62 0.33 6.06 -0.96 
+0.85 -0.2 5.9 -2.15 2.8 -1.46 3.54 -1.25 3.93 -0.66 4.6 0.11 1.59 -0.21 5.29 -1.89 
+2.2 -0.02 4.55 2.24 3.93 -0.24 2.19 0.25 4.54 2.26 2.41 -1.87 4.04 1.43 2.69 4.79 
+1.57 3.95 -2.78 -1.37 -0.5 -0.26 -4.32 -2.48 -4.43 -0.59 -1.65 0.48 -5.73 0.78 -1.3 0.41 
+-6.16 0.8 -0.65 0.09 -6.79 1.28 -2.65 6.54 0.33 4.06 0.82 6.59 0.98 1.72 1.58 2.64 
+3.02 3.73 -1.47 8.55 0 0.22 2.56 4.11 0.59 0.43 5.14 0.15 2.34 -0.37 3.55 0.82 
+4.95 0.89 0.52 0.02 4.7 1.78 3.63 1.07 1.56 0.17 4.86 -1.67 2.56 -6.57 0.65 -1.13 
+3.63 -6.71 5.1 -4.06 0.39 0.37 0 0.32 0.67 6.39 3.76 2.04 0.61 0.15 4.1 2.52 
+3.28 3.47 0.59 6.51 -1.54 3.54 -2.69 1.15 -4.28 -1.65 -3.6 8.21 0.09 1.73 1.89 4.67 
+0.33 0.34 2.84 3 -1.3 2.07 -4.67 6.4 -5.14 4.82 -4.49 1.67 -1.34 0.52 -1.48 1.54 
+-3.6 3.69 -0.02 0 0 4.38 1.02 0.09 0.98 -0.3 4.66 -2.8 5.21 -4.93 1.82 -2.73 
+2.91 -3.97 4.54 -7 4.19 -6.77 -4.23 -2.25 1.17 -7.8 5.77 -2.49 3.38 -7.84 -0.24 -1.48 
+-1.06 -4.25 -0.71 0 -3.61 -2.29 -3.71 -2.97 -2.47 -0.59 -2.26 -1.21 -0.37 -3.8 0.09 -3.39 
+-3.54 -3.28 -1.8 -2.32 1.13 3.15 -3.02 6.23 -4.25 5.55 -5.32 3.12 -0.26 0.02 -0.29 -0.02 
+-5.41 -0.36 -3.51 -3.17 -0.61 -0.42 -4.96 -0.39 -3.26 -3.45 -3.88 -2.69 -0.02 -0.02 -3.61 -3.11 
+-3.71 -2.99 P
+-2.84 -4.08 -0.37 -3.26 0.7 -4.97 0.84 -2.95 1.65 -0.3 5.97 -0.75 0.82 -0.11 5.95 -1.87 
+1.8 -0.24 5.13 -1.48 1.93 0.26 4.16 2.7 4.28 2.52 3.77 3.17 1.91 1.89 -1.24 -2.78 
+-2.16 -5.32 -2.76 -4.67 -2.93 -4.47 -4.66 -2.08 -1.21 0.18 -4.95 -0.14 -4.27 -0.52 -1.59 0.11 
+-4.9 -1.73 -3.86 0.06 -3.08 1.11 -4.28 0.57 -2.21 -0.04 -5.95 0.98 -1.15 0.41 -4.92 2.56 
+-4.06 1.5 -2.88 0.67 -4.17 0.67 -5.28 -0.65 -0.3 0 -5.06 -1.34 -4.45 1.23 -4.08 4.71 
+-3.82 2.78 -1.93 0.52 -4.58 4.3 0.61 2.97 2 5.02 2.25 4.53 0.02 0.02 -2.71 6.08 
+-4.78 4.12 -3.58 2.78 p f*
+110 210 9 rG
+1192.99 1687.33 -2.32 1.65 1.09 1.52 4.99 -3.34 -3.76 0.17 f*
+0 155 255 rG
+1195.81 1598.44 -0.72 0.11 0.46 -0.91 1.07 -0.11 -0.8 0.91 f*
+255 G
+1209.22 1883.88 -13.39 6.81 23.48 -12.11 11.76 -6.05 7.81 -4.04 -2.87 1.72 -13.41 6.83 -13.39 6.84 f*
+2 239 204 rG
+1198.27 1458.77 -2.34 1.48 0.26 1.82 3.69 3.5 3.95 3.06 2.06 1.39 0 -2.72 -0.89 -0.43 
+-3.96 -3.06 -0.09 -0.09 0.13 0.02 4.21 2.71 0.61 0.84 0 2.72 2.06 1.39 4.62 1.04 
+-1.67 -5.43 -3.41 -3.95 -4.32 -2.61 -4.9 -1.7 f*
+110 210 9 rG
+1200 1511.3 -3.21 5.05 2.87 3.47 5.25 -3.58 5.16 -3.78 -0.3 -4.19 0.17 -4.88 3.73 -5.16 
+4.02 0.45 5.23 -0.24 1.19 -0.24 6.27 -1.22 0.78 0.02 4.95 1.41 3.54 3.19 2.82 3.99 
+3.38 3.28 1.65 5.23 -0.37 2.63 -0.65 5.38 -0.54 4.06 0.17 2.99 1.43 4.99 1.75 4.62 
+2.39 2.98 0 -6.53 -3.13 -2.09 -1.49 -4.95 -0.02 -0.37 0.99 -7.4 0.24 -2.11 0.89 -6.12 
+-2.37 -4.43 -0.05 -0.04 -3.45 -3.15 -2.82 -4 -3.47 -3.27 -4.45 -2.08 -3.93 -0.02 -2.54 0.5 
+-4.91 1.02 -2.02 0.09 -4.32 -2.17 -3.23 1.65 -3.58 5.27 -4.45 -0.3 -2.71 -4.05 -0.63 -2.67 
+4.25 -4.58 4.73 -4.17 1.65 -1.69 3.06 -2.48 4.29 0.63 5.99 0.06 0.05 0 6.2 -0.26 
+2.52 -0.26 5.76 -3.28 0.65 -0.33 5.95 -2.11 1.89 -0.3 4.79 1.84 4.45 0.63 4.19 -4.86 
+0.52 0 4.19 2.73 6.25 -0.34 0.13 0 0.31 0.47 -0.68 0.04 -5.08 3.13 -3.73 0.56 
+-5.04 -0.63 -0.73 0.13 -5.67 2.39 -4.49 4.52 -0.06 6.59 0.97 3.87 0.76 1.64 1.26 5.97 
+2.8 4.01 0.75 5.58 -0.25 0.98 0.47 6.4 2.56 4.02 0.85 5.68 -5.08 4.09 0 6.53 
+0.41 0.52 3.21 -0.62 3.32 0.52 4.82 1.28 0.3 0 4.38 2.02 2.47 3.86 1.78 4.49 
+1.33 4.84 2.23 3.99 0.84 0.72 0 -4.54 -1.28 -1.82 -1.91 -4.32 -1.86 -4.43 -2.37 -3.99 
+-2.45 -3.95 -5.19 -0.28 -0.74 -0.2 -5.1 -1.3 0.92 -7.34 6.21 -2.12 2.43 -0.32 4.02 2.45 
+1.5 5.06 2.89 3.58 1.28 5.12 1.17 5.16 0.8 5.43 -0.3 3.28 0 4.54 2.02 1.67 
+1.35 -0.2 4.1 2.3 2.56 3.66 0.02 0 3.6 -3.69 0 -5.55 -3.12 -3.26 -1.07 -5.21 
+-0.89 -5.44 -2.61 -3.82 -1.88 -4.61 0.37 -3.16 3.91 -1.24 2.99 3.54 2.37 2.91 0.57 0.67 
+5.99 -1.37 1.19 0.63 0.23 3.21 -2.67 5.75 3.88 -2.26 1.72 1.7 0 -18.55 -1.48 -0.11 
+-4.84 0.09 -1.84 -4.93 1.69 -5.62 1.93 -5.64 1.15 -2.22 1.72 -1.17 3.06 3.78 3.86 2.8 
+1.34 0.02 3.3 1.87 2.13 4.77 0.04 5.93 -3.95 -1.52 -3.26 0.55 -1.67 0.48 -3.19 0.93 
+0 18.55 0.74 0.71 0.63 5.8 -0.41 0.52 -0.46 0.3 -5.79 0.43 -5.32 4.1 -0.37 0.09 
+0 5.55 1.48 -1.54 1.34 -0.52 4.49 -1.67 5.14 -4.82 4.67 -6.4 1.3 -2.07 -2.84 -3 
+-0.33 -0.34 -1.89 -4.67 -0.09 -1.73 3.6 -8.21 4.28 1.65 2.69 -1.15 1.54 -3.54 -0.59 -6.51 
+-3.28 -3.47 -4.1 -2.52 -0.61 -0.15 -3.76 -2.04 -0.67 -6.39 0 -0.32 -0.39 -0.37 -5.1 4.06 
+-3.62 6.71 -0.65 1.13 -2.56 6.57 -4.86 1.67 -1.56 -0.17 -3.63 -1.07 -4.7 -1.78 -0.52 -0.02 
+-4.95 -0.89 -3.55 -0.82 -2.34 0.37 -5.14 -0.15 -0.59 -0.43 -2.56 -4.11 0 -0.22 1.47 -8.55 
+-3.02 -3.73 -1.58 -2.64 -0.98 -1.72 -0.82 -6.59 -0.33 -4.06 2.65 -6.54 6.79 -1.28 0.65 -0.09 
+6.16 -0.8 1.3 -0.41 5.73 -0.78 1.65 -0.48 4.43 0.59 4.32 2.48 0.5 0.26 0 -2.2 
+-3.78 -1.97 -0.35 -3.04 2 0.74 2.13 4.27 0 2.2 2.78 1.37 -1.57 -3.95 -2.69 -4.79 
+-4.04 -1.43 -2.41 1.87 -4.54 -2.26 -2.19 -0.25 -3.93 0.24 -4.55 -2.24 -2.2 0.02 -5.29 1.89 
+-1.59 0.21 P
+-4.6 -0.11 -3.93 0.66 -3.54 1.25 -2.8 1.46 -5.9 2.15 -0.85 0.2 -6.06 0.96 -2.62 -0.33 
+-3.17 -0.02 -5.27 -1.02 -1.78 0.49 -4.23 4.61 -5.01 3.91 -4.23 4.6 1.2 4.99 2.49 4.3 
+1.32 3.62 -3.84 5.05 p f*
+1198.7 1538 -1.82 3.36 4.1 1.91 1.2 -0.87 0.84 -1.11 0.72 -6.73 -0.05 -0.54 -1.32 -4.23 
+-2.71 -0.54 0.84 2.47 -1.8 6.27 f*
+255 0 r6
+1201.54 1554.08 -1.8 -3.95 0.07 -0.13 0.3 -0.21 4.45 1.56 -0.71 4.6 -2.3 -1.87 f*
+0 255 r6
+1204.51 1489.97 -4.25 4.58 0.63 2.67 2.71 4.05 4.45 0.3 3.58 -5.27 3.23 -1.65 4.32 2.17 
+2.02 -0.09 4.91 -1.02 2.54 -0.5 3.93 0.02 4.45 2.08 3.47 3.27 2.82 4 3.45 3.15 
+0 -1.91 -2.61 -2.24 -2.82 -4.04 -3.43 -3.37 -3.93 -2.71 -5.23 -1.11 -3.49 -0.5 -2.52 0.43 
+-3.91 -2.75 -4.88 0.37 -4.17 4.71 -3.39 5.4 -1.71 -0.11 -2.93 -3.79 -0.08 -0.37 2.06 -2.19 
+3.28 -1.43 5.51 -3.47 3.78 -5.01 0.84 0.13 4.36 2.23 5.43 -1.26 1.61 -0.07 6.45 -0.48 
+0.58 0.02 6.55 -1.43 -0.8 7.23 -0.59 2.61 0.91 6.53 4.06 2.56 1.06 4.11 0 1.91 
+0.05 0.04 2.37 4.43 -0.89 6.13 -0.24 2.11 -0.99 7.4 0.02 0.37 1.49 4.95 1.37 0.91 
+0 -1.71 -0.34 -0.24 -0.2 -0.65 1.43 -0.62 -0.89 1.52 0 1.71 1.76 1.18 5.08 -4.09 
+-0.85 -5.68 -2.56 -4.02 -0.47 -6.4 0.25 -0.98 -0.75 -5.58 -2.8 -4.01 -1.26 -5.97 -0.76 -1.64 
+-0.97 -3.87 0.06 -6.59 4.49 -4.52 5.67 -2.39 0.73 -0.13 5.04 0.63 3.73 -0.56 5.08 -3.13 
+0.68 -0.04 -0.31 -0.47 -0.12 0 -6.25 0.34 -4.19 -2.73 -0.52 0 -4.19 4.86 -4.45 -0.63 
+-4.79 -1.84 -1.89 0.3 -5.95 2.11 -0.65 0.33 -5.76 3.28 -2.52 0.26 -6.2 0.26 -0.05 0 
+-5.99 -0.06 -4.29 -0.63 -3.06 2.48 -1.65 1.69 -4.73 4.17 f*
+7 193 59 rG
+1201.06 1463.74 -0.13 -0.02 0.09 0.09 3.96 3.06 0.89 0.43 -0.61 -0.84 -4.21 -2.71 f*
+0 155 255 rG
+1200.15 1731.58 1 -0.2 3.73 -5.16 0.58 -0.87 -0.95 0.93 -4.36 5.3 f*
+255 203 0 rG
+1203.73 1493.58 -2.06 2.19 0.08 0.38 2.93 3.79 1.71 0.11 3.39 -5.4 4.17 -4.71 4.88 -0.37 
+3.91 2.75 2.52 -0.43 3.49 0.5 5.23 1.11 3.93 2.71 3.43 3.37 2.82 4.04 2.61 2.24 
+-1.06 -4.11 -4.06 -2.56 -0.91 -6.53 0.59 -2.61 0.8 -7.23 -6.55 1.43 -0.58 -0.02 -6.45 0.48 
+-1.61 0.07 -5.43 1.26 -4.36 -2.23 -0.84 -0.13 -3.78 5.01 -5.51 3.47 -3.28 1.43 f*
+7 193 59 rG
+1213.71 1620.57 -2.54 3.41 0.39 4.13 2.73 -0.09 0.65 -1.75 0.05 -4.41 -1.28 -1.29 f*
+1212.02 1544.45 -0.59 -0.24 0.11 0.67 1.17 4.69 1.68 4.17 3.69 2.32 1.02 0.13 0.32 -1.3 
+-1.02 -4.77 -3.01 -3 -3.37 -2.66 f*
+255 0 r6
+1216.19 1564.28 -1.52 0.2 0.54 -2.04 1 0.74 -0.02 1.11 f*
+0 155 255 rG
+1211.89 1720.14 2.91 -0.79 3.02 -4.84 -5.92 5.63 f*
+2 239 204 rG
+1226.82 1738.67 -0.02 0.02 0.07 -0.02 -0.05 0 f*
+255 0 r6
+1229.12 1710.68 1.84 -0.61 0.39 -0.69 -2.24 1.3 f*
+1238.43 1622.87 -0.46 -0.76 0.31 -2.54 5.34 -0.89 -5.19 4.19 f*
+1248.03 1863.02 -9.14 5.46 3.75 -1.95 0.29 -0.16 6.33 -4.1 -1.23 0.74 f*
+1238.52 1702.95 1.99 -0.74 6.45 -2.45 6.45 -2.61 -3.06 5.88 6.47 -2.63 3.05 -6.01 6.45 -2.88 
+6.45 -3.04 2.76 -6.2 2.52 -6.14 -6.4 3.25 -6.39 3.11 -6.42 2.97 -6.4 2.82 2.41 -5.69 
+-6.4 2.8 -4.25 1.78 1.11 4.11 -2.52 5.54 -4.25 6.14 f*
+1242.93 1866.38 -0.29 0.16 0.17 -0.09 0.11 -0.07 f*
+255 G
+1246.25 1864.52 -3.32 1.87 6.33 -4.1 10.77 -6.45 12.02 -7.18 12.07 -8.79 2.28 -1.65 6.42 -4.16 
+11.87 -7.68 -1.57 1.15 -9.2 6.58 -9.31 6.4 -9.44 6.25 -9.53 6.1 -9.66 5.92 -9.74 5.75 f*
+1260.03 1855.84 -10.77 6.45 6.05 -3.93 12.5 -8.09 12.5 -8.12 6.08 -3.93 -2.28 1.65 -12.07 8.79 
+-12.02 7.18 f*
+255 203 0 rG
+1250.82 1530.84 -1.43 0.63 0.2 0.65 0.34 0.24 0.89 -1.52 f*
+7 193 59 rG
+1250.61 1561.71 -0.63 6.13 1.09 4.66 1.15 4.58 3.54 0.57 0 -1.65 -1.87 -0.29 -1.21 -4.54 
+-0.89 -4.88 0.16 -1.33 0.84 0.5 2.82 3.25 3.06 3.06 -2.91 4.21 0 1.65 0.52 0.09 
+4.93 -5.58 0.91 -3.26 -2.3 -0.97 -1.89 -1.17 -3.34 -2.84 -3.97 -2.2 f*
+110 210 9 rG
+1251.93 1564.97 -0.16 1.33 0.89 4.88 1.21 4.54 1.87 0.29 2.91 -4.21 -3.06 -3.06 -2.82 -3.25 
+-0.84 -0.5 f*
+0 255 r6
+1256.82 1531.23 -0.92 7.34 5.1 1.3 0.74 0.2 5.19 0.28 2.45 3.95 2.37 3.99 1.86 4.43 
+1.91 4.32 1.28 1.82 0.3 -3.28 -0.8 -5.43 -1.17 -5.16 -1.28 -5.12 -2.89 -3.58 -1.5 -5.06 
+-4.02 -2.45 -2.43 0.32 -6.21 2.13 f*
+0 155 255 rG
+1262.07 1496.81 -3.39 -3.54 0.37 -2.69 1.87 -0.18 6.01 -0.46 0.74 -0.3 4.88 -2.95 4.86 -1.78 
+1.95 -0.02 2.78 1.96 3.95 2.93 3.56 3.41 3.08 4 2.84 4.21 0.96 6.46 -0.57 1.15 
+-2.3 2.3 -1.28 0.35 0 -6.34 1.22 -0.26 -0.11 -1.06 -3.02 -3.97 -2.56 -4.62 -2.82 -3.04 
+-1.26 8.18 6.27 -0.07 2.28 4.84 0 6.34 -1.98 0.54 -3.84 0.11 -4.08 -0.78 -1.02 -0.59 
+-4.07 -2.56 -3.47 -3.3 -3.78 -2.95 -3.09 -1.67 -1.17 -0.72 -3.82 -2.93 f*
+255 0 r6
+1259.79 1559.33 -0.67 -5.32 1.15 -2.28 1.37 -0.04 4.41 1.95 0.02 5.99 -1.46 2.78 -1.15 -0.45 
+-3.67 -2.62 f*
+0 255 r6
+1281.25 1536.09 -0.37 3.16 1.88 4.61 2.61 3.82 0.89 5.44 1.07 5.21 3.12 3.26 0.38 -0.09 
+5.32 -4.1 5.79 -0.43 0.46 -0.3 0.41 -0.52 -0.63 -5.8 -0.74 -0.71 -1.72 -1.7 -3.88 2.26 
+2.67 -5.75 -0.23 -3.21 -1.19 -0.63 -5.99 1.37 -0.57 -0.67 -2.37 -2.91 -2.99 -3.54 -3.91 1.24 f*
+1282.9 1477.41 -2 -0.74 0.35 3.04 3.78 1.97 -2.13 -4.27 f*
+255 0 r6
+1290.11 1500.48 -6.27 0.07 1.26 -8.18 2.82 3.04 2.56 4.63 3.02 3.97 0.11 1.06 -1.22 0.26 
+-2.28 -4.84 f*
+1296.2 1831.08 -9.8 7.14 6.42 -4.16 11.87 -7.68 1.37 -1.02 10.29 -8.46 4.88 -4.02 -0.87 0.63 
+-12.09 8.79 -12.07 8.79 f*
+0 255 r6
+1294.96 1520.5 -1.69 5.63 1.84 4.93 4.84 -0.09 1.48 0.11 3.19 -0.93 0 -2.58 -0.5 -0.02 
+-5.49 -0.33 -2.3 -4.05 -0.17 -0.24 0.02 -0.05 2.69 -8.7 3.26 1.89 3.3 3.47 3.34 0.06 
+1.91 1.11 1.02 5.46 -6.38 1.2 -0.7 0.2 0 2.58 1.67 -0.48 3.26 -0.55 3.95 1.52 
+-0.04 -5.93 -2.13 -4.77 -3.3 -1.87 -1.34 -0.02 -3.86 -2.8 -3.06 -3.78 -1.72 1.17 -1.15 2.22 
+-1.93 5.64 f*
+255 203 0 rG
+1296.18 1522.87 -0.02 0.05 0.17 0.24 2.3 4.05 5.49 0.33 0 -2.84 -3.1 -0.09 -0.07 0 
+-2.52 -4.28 1.37 -4.43 1.63 0.98 2.71 4.12 5.34 0.16 0.54 0.3 0.28 1.54 -2.02 0.43 
+-4.17 1.26 0 2.84 0.5 0.02 0.7 -0.2 6.38 -1.2 -1.02 -5.46 -1.91 -1.11 -3.34 -0.06 
+-3.3 -3.47 -3.26 -1.89 -2.69 8.7 f*
+255 135 0 rG
+1299.8 1515.91 -1.37 4.43 2.52 4.28 0.07 0 0 -6.36 -0.33 -0.5 0.02 -0.08 0.02 0.02 
+0.29 0.56 0 6.36 3.1 0.09 4.17 -1.26 2.02 -0.43 -0.28 -1.54 -0.54 -0.3 -5.34 -0.16 
+-2.71 -4.12 -1.63 -0.98 f*
+255 35 0 rG
+1300.71 1517.67 -0.02 0.08 0.33 0.5 -0.29 -0.56 -0.02 -0.02 f*
+255 0 r6
+1306.05 1825.34 -1.37 1.02 0.65 -0.41 0.71 -0.61 f*
+255 G
+1312.21 1820.77 -6.16 4.58 10.29 -8.46 4.88 -4.02 11.2 -8.13 10.87 -9.55 8.31 -7.32 8.21 -6.75 
+-3.97 3.64 -8.47 7.51 -8.59 7.36 -8.72 7.2 -8.86 7.06 -8.98 6.88 f*
+1332.42 1804.73 -11.2 8.13 6.12 -5.04 22.01 -18.1 2.25 -1.87 -8.31 7.32 -10.87 9.55 f*
+255 0 r6
+1328.67 1332.68 -1.85 6.36 4.84 3.37 1.91 -6.41 1.8 -6.45 1.72 -6.46 -4.97 -3.23 -1.67 6.42 
+-1.78 6.41 f*
+1351.75 857.68 -11.69 -9.94 5.01 6.57 11.46 10.03 4.25 6.38 11.15 10.62 -3.99 -6.38 -4.51 -6.73 
+-11.68 -10.54 f*
+1354.14 1785.66 -2.54 2.21 8.21 -6.75 0.91 -0.83 2.43 -2.54 -9 7.9 f*
+1360.72 1780.29 -0.91 0.83 0.54 -0.44 0.37 -0.39 f*
+255 G
+1365.02 1776.13 -1.87 1.63 9.01 -9.46 35.42 -37.17 6.66 -6.99 -3.91 5.08 -11.33 11.72 -11.33 11.74 
+-11.33 11.72 -11.33 11.74 f*
+255 0 r6
+1385.16 1568.04 -0.29 6.94 5.43 -6.29 5.34 -6.47 5.25 -6.61 5.16 -6.8 5.08 -6.96 0.05 7.14 
+-0.18 7.3 5.23 -7.14 5.12 -7.32 5.04 -7.48 4.9 -7.68 0.09 7.4 4.95 -7.88 4.84 -8.09 
+4.71 -8.27 -0.5 -7.27 4.45 -8.42 -0.85 -7.03 -4.32 8.33 -4.43 8.18 -2.09 3.63 -2.47 4.36 
+-4.69 7.83 -0.54 -7.07 -4.66 7.64 -4.78 7.45 -4.88 7.29 -0.39 -6.97 -4.88 7.1 -4.95 6.96 
+-0.39 -6.86 -4.95 6.79 -5.04 6.64 0.18 6.83 -5.23 6.49 -5.32 6.32 f*
+1401.26 901.87 -12.03 -13.05 4.71 7.51 4.1 7.07 3.61 6.68 3.1 6.32 2.67 5.95 2.23 5.6 
+1.87 5.27 1.52 4.97 9.42 12.24 9.18 12.65 8.9 13.02 0.39 4.14 0.11 3.87 -8.38 -12.66 
+0.11 3.8 8.14 12.43 7.86 12.74 -0.61 3.11 7.33 12.78 7.04 13.04 -1.22 2.39 6.49 13 
+-1.54 1.91 -1.71 1.74 -1.84 1.56 -1.97 1.39 -2.11 1.26 -5.67 -11.76 -2.08 1.34 -2.21 1.2 
+-5.67 -11.18 -2.19 1.25 -2.3 1.17 -5.67 -10.68 -2.3 1.21 -2.41 1.11 -2.52 1 -5.53 -10.03 
+-2.52 1.04 -2.62 0.96 5.29 9.72 -2.82 0.71 4.96 9.66 4.76 9.75 4.53 9.83 4.32 9.92 
+4.08 9.96 3.86 10.02 -3.45 -0.35 3.56 9.89 3.36 9.94 3.13 9.98 2.88 10.01 2.7 10.02 
+2.45 10.03 2.23 10.05 3.78 1.63 2.04 10.22 3.75 1.8 3.67 1.8 1.84 10.61 3.63 2.04 
+3.57 2.02 3.5 2.04 1.63 11.26 3.45 2.28 1.37 11.46 1.11 11.41 0.85 11.37 3.34 3.04 
+0.55 11.57 0.3 11.48 3.19 3.58 3.1 3.67 -0.06 11.91 2.97 4 0.13 -12.16 2.95 3.82 
+2.88 3.93 -0.26 12.71 -0.56 12.61 -0.87 12.5 2.54 4.89 2.41 5.05 2.32 5.21 2.2 5.38 
+1.28 -13.7 0.93 -13.87 0.61 -14.02 0.22 -14.15 2.5 4.13 -0.07 -14.67 2.47 3.84 2.41 3.95 
+-0.37 -15.62 2.39 3.57 2.3 3.67 0.21 16.63 -0.28 16.45 -0.73 16.25 -1.2 16.08 -1.65 15.82 
+1.54 6.3 -2.26 16.02 -2.69 15.73 -3.11 15.41 -3.47 15.08 -0.63 -7.88 -0.86 -7.57 -3.35 14.08 
+-0.84 -7.59 -1.04 -7.29 -3.21 13.2 -3.52 12.93 -3.78 12.65 -0.65 -7.77 -3.82 12.15 -0.67 -7.72 
+-2.41 7.31 -1.46 4.38 -0.7 -7.66 -0.91 -7.4 -3.71 11.09 -3.17 8.79 -0.76 2.06 -0.75 -7.48 
+-3.95 10.5 0.61 7.62 0.37 7.86 4.3 -10.76 4.1 -11 0.5 7.82 0.26 8.09 0 8.38 
+-4.73 11.48 -0.52 8.83 4.95 -11.63 -0.59 8.98 -0.91 9.33 5.25 -12.33 -1 9.51 -1.34 9.87 
+-1.75 10.29 5.92 -13.29 5.66 -13.71 -1.5 10.29 -1.95 10.77 -2.41 11.26 -2.93 11.79 -3.52 12.37 
+7.4 -15.43 3.06 -12.13 2.52 -11.54 2 -11.01 5.82 -15.19 5.46 -15.71 5.1 -16.19 -0.8 9.94 
+5.08 -17.12 0.43 -9.53 0.11 -9.05 -4.35 16.28 -4.75 15.82 0.48 -9.39 0.17 -8.98 4.1 -15.08 
+3.73 -15.45 3.34 -15.84 2.93 -16.17 2.49 -16.47 2.02 -16.79 1.54 -17.06 1.63 5.79 1.21 -17.88 
+0.65 -18.12 0.07 -18.32 -0.5 -18.46 2.04 3.49 -1.07 -19.29 2 2.87 -1.7 -20.1 1.93 2.11 
+-2.46 -20.94 1.83 1.23 1.71 1.15 1.65 1.04 -3.56 -23.7 -1.52 -0.04 -4.3 -22.54 -5.14 -22.36 
+1.04 -1.93 -6.29 -22.96 0.48 -3.3 -7.59 -23.48 -8.44 -22.89 -9.23 -22.27 -9.95 -21.55 -10.6 -20.77 
+-11.17 -19.97 -11.68 -19.1 3.28 8.01 -11.5 -17.88 -11.87 -17.08 3.75 7.96 -11.66 -16.05 -11.91 -15.3 
+4.11 7.77 -11.72 -14.45 -11.87 -13.71 f*
+1395.07 1353.5 -2.11 7.16 3.97 4.19 3.88 4.27 2.22 -7.27 2.11 -7.34 3.91 4.25 3.79 4.36 
+-2.21 7.46 -2.37 7.38 -2.45 7.33 3.5 4.63 2.54 -7.38 2.4 -7.46 3.54 4.6 2.37 -7.59 
+2.23 -7.68 2.08 -7.75 1.98 -7.81 1.82 -7.9 1.7 -7.96 3.82 4.23 3.73 4.32 1.67 -8.21 
+3.69 4.32 3.6 4.43 1.65 -8.48 -3.67 -4.32 -3.75 -4.23 1.37 -8.36 1.21 -8.42 -3.95 -3.93 
+-4.02 -3.86 -4.12 -3.75 -1.09 8.12 -1.21 8.05 -4.1 -3.86 -1.3 7.9 -1.45 7.86 -1.56 7.79 
+-4.04 -4.04 -1.67 7.64 -1.78 7.59 -4.02 -4.1 -1.87 7.44 -4.04 -4.07 -1.93 7.33 -4.07 -4.08 
+-2 7.21 f*
+1402.2 1380.77 -2.52 7.18 3.54 4.6 2.61 -7.25 -3.62 -4.53 f*
+1422.46 1713.46 -8.23 10.68 5.14 -5.41 26.3 -35.03 13.15 -17.49 -12.13 15.75 -12.11 15.73 -12.13 15.76 f*
+1439.93 1448.29 -3.61 7.99 1.82 6.14 3.71 -8.05 1.78 6.23 3.69 -8.25 3.56 -8.38 -2 -6.07 
+3.3 -8.44 3.14 -8.57 2.99 -8.71 2.32 5.82 2.95 -8.92 -2.43 -5.71 2.69 -8.96 2.52 -9.07 
+-2.75 -5.34 2.25 -9.07 2.11 -9.18 -0.21 -0.32 -2.84 -4.64 -3.15 -4.86 -3.26 -4.73 -3.36 -4.64 
+-1.79 8.7 -3.41 -4.62 -1.87 8.5 -2.02 8.44 -2.17 8.33 -3.28 -4.82 -2.23 8.16 3.21 4.91 
+3.09 5.04 -2.54 8.22 2.9 5.26 -2.78 8.22 2.7 5.43 -2.99 8.2 -3.15 8.1 2.34 5.73 
+-3.36 8.03 2.11 5.93 f*
+1445.27 1291.21 -0.91 8.55 3.93 3.91 3.82 3.99 1.02 -8.79 3.8 3.97 3.69 4.04 3.63 4.14 
+3.54 4.21 1.04 -9.37 -3.58 -4.08 -3.67 -3.99 -3.78 -3.93 -3.84 -3.82 -3.93 -3.75 -0.79 8.73 
+-3.97 -3.8 f*
+1468.01 1420.95 -3.17 9.13 1.84 6.27 3.3 -9.25 3.12 -9.39 2.95 -9.55 2.76 -9.7 2.58 -9.86 
+2.39 -9.96 -2.54 -5.54 2.11 -9.96 -2.75 -5.2 -2 9.8 -2.19 9.7 -2.69 -5.37 -2.29 9.44 
+2.61 5.49 -2.54 9.44 -2.73 9.31 2.23 5.91 -2.99 9.29 f*
+1469.71 1296.4 -0.89 9.46 3.52 4.19 0.93 -9.62 -3.56 -4.04 f*
+1476.2 1453.56 -3.82 9.68 0.93 7.21 3.97 -9.81 -1.08 -7.07 f*
+1480.1 1308.79 -1.05 9.92 3.22 4.52 3.12 4.6 3.02 4.71 1.26 -10.42 1.06 -10.54 -3.17 -4.36 
+-3.28 -4.26 -0.89 10.18 -3.3 -4.34 f*
+1484.05 1571.79 -4.64 13.15 8.14 -14.95 4.17 -12.98 -7.66 14.78 f*
+1496.77 1320.64 -1.2 10.91 2.78 4.92 1.3 -11.13 -2.89 -4.7 f*
+1527.34 1452.63 -0.78 10.02 5.05 -18.14 0.37 -9.53 -4.64 17.64 f*
+Q q
+0 72 3400 0 0 4128 ^ Y
+255 G
+274.39 1315 0 -24.85 0.26 -10.22 0.49 -11.31 0.7 -11.31 0.89 -11.31 1.09 -11.26 1.28 -11.25 
+1.48 -11.24 1.67 -11.2 1.87 -11.17 2.06 -11.14 2.25 -11.09 2.43 -11.05 2.65 -11.02 2.82 -10.96 
+3.04 -10.91 3.21 -10.86 3.38 -10.8 3.61 -10.74 3.77 -10.68 3.95 -10.62 4.14 -10.52 4.35 -10.46 
+4.51 -10.39 4.69 -10.3 4.86 -10.22 5.05 -10.13 5.21 -10.05 5.4 -9.94 5.55 -9.86 5.75 -9.76 
+5.91 -9.66 6.08 -9.54 6.25 -9.45 6.4 -9.33 6.58 -9.23 6.72 -9.11 6.88 -8.98 7.03 -8.86 
+3.61 -4.36 3.6 -4.38 7.34 -8.59 3.75 -4.26 3.75 -4.23 3.82 -4.18 3.82 -4.16 3.88 -4.11 
+3.89 -4.12 7.94 -8.07 4.04 -3.97 4.01 -3.97 4.11 -3.88 4.1 -3.91 4.19 -3.82 4.17 -3.82 
+8.46 -7.51 4.3 -3.67 4.29 -3.69 8.73 -7.21 4.42 -3.52 4.43 -3.54 4.5 -3.45 4.49 -3.43 
+4.54 -3.39 4.55 -3.36 4.6 -3.28 4.6 -3.3 4.67 -3.21 4.64 -3.19 4.73 -3.15 4.7 -3.12 
+4.78 -3.04 4.75 -3.04 4.84 -2.95 4.82 -2.95 4.86 -2.89 4.88 -2.87 4.92 -2.8 4.91 -2.78 
+4.97 -2.71 4.97 -2.69 5.01 -2.63 5.04 -2.61 5.06 -2.54 5.05 -2.52 5.1 -2.45 5.1 -2.43 
+5.17 -2.34 5.14 -2.34 10.38 -4.52 5.21 -2.17 5.23 -2.16 5.25 -2.09 5.27 -2.06 5.29 -2 
+5.3 -1.97 5.34 -1.89 5.32 -1.89 10.72 -3.6 5.41 -1.7 5.38 -1.71 10.85 -3.21 5.45 -1.52 
+5.45 -1.5 5.49 -1.43 5.47 -1.41 10.98 -2.65 5.54 -1.21 5.51 -1.23 5.55 -1.13 5.53 -1.13 
+5.56 -1.02 5.55 -1.04 11.16 -1.87 5.6 -0.84 5.59 -0.82 11.2 -1.48 5.62 -0.65 5.62 -0.62 
+5.64 -0.57 5.62 -0.52 5.64 -0.46 5.64 -0.43 11.28 -0.69 5.64 -0.26 5.64 -0.24 5.66 -0.15 
+4.39 -0.11 25.15 0 4.38 0.11 5.66 0.15 5.64 0.24 5.64 0.26 11.29 0.69 5.64 0.43 
+5.64 0.46 5.62 0.54 5.64 0.55 5.62 0.63 5.6 0.65 5.62 0.74 5.6 0.74 5.6 0.82 
+5.57 0.84 11.16 1.87 5.58 1.04 5.55 1.02 5.54 1.13 5.55 1.13 5.51 1.23 5.51 1.21 
+5.51 1.32 5.49 1.33 5.49 1.41 5.47 1.43 5.45 1.5 5.45 1.52 10.85 3.21 5.39 1.71 
+5.38 1.7 5.38 1.8 5.36 1.8 5.32 1.89 5.34 1.89 5.3 1.97 5.29 2 5.27 2.06 
+5.25 2.09 5.23 2.16 5.21 2.17 10.37 4.52 5.17 2.34 5.14 2.34 5.1 2.45 5.1 2.43 
+5.05 2.52 5.06 2.54 5.01 2.61 5.04 2.63 4.97 2.69 4.97 2.71 4.9 2.78 4.93 2.8 
+4.88 2.87 4.86 2.89 4.84 2.95 4.82 2.95 4.75 3.04 4.77 3.04 4.71 3.14 4.73 3.13 
+4.67 3.19 4.64 3.21 4.6 3.3 4.6 3.28 4.56 3.36 4.53 3.39 4.5 3.43 4.49 3.45 
+4.43 3.54 4.43 3.52 8.72 7.21 4.3 3.69 4.29 3.67 8.47 7.51 4.19 3.82 4.17 3.82 
+4.1 3.91 4.1 3.88 4.04 3.97 4.01 3.97 7.95 8.07 3.88 4.13 3.89 4.11 3.82 4.16 
+3.82 4.18 3.75 4.23 3.75 4.26 7.34 8.59 3.61 4.38 3.6 4.36 7.04 8.86 6.88 8.98 
+6.73 9.11 6.58 9.23 6.4 9.33 6.25 9.45 6.08 9.54 5.9 9.66 5.73 9.76 5.58 9.86 
+5.4 9.94 5.21 10.05 5.06 10.13 4.86 10.22 4.69 10.3 4.51 10.39 4.34 10.46 4.14 10.52 
+3.95 10.62 P
+3.78 10.68 3.61 10.74 3.39 10.8 3.21 10.86 3.04 10.91 2.82 10.96 2.64 11.02 2.43 11.05 
+2.25 11.09 2.06 11.14 1.87 11.17 1.67 11.2 1.47 11.24 1.28 11.25 1.09 11.26 0.89 11.31 
+0.7 11.31 0.5 11.31 0.26 10.2 0 24.89 -0.26 10.2 -0.5 11.31 -0.7 11.3 -0.89 11.29 
+-1.09 11.28 -1.28 11.24 -1.47 11.24 -0.29 1.87 0 -133.57 -0.07 -2.09 -0.08 -2.13 -0.07 -2.15 
+-0.11 -2.17 -0.11 -2.19 -0.21 -4.51 -0.16 -2.32 -0.13 -2.34 -0.17 -2.37 -0.35 -4.02 -0.41 -4.04 
+-0.41 -4.06 -0.45 -4.1 -0.5 -4.14 -0.41 -3.3 -0.41 -3.32 -0.45 -3.36 -0.46 -3.38 -0.5 -3.41 
+-0.26 -1.99 -0.28 -2.04 -0.57 -4.12 -0.3 -2.12 -0.61 -3.61 -0.62 -3.62 -0.68 -3.66 -0.67 -3.69 
+-0.71 -3.71 -0.76 -3.75 -0.78 -3.8 -0.8 -3.82 -0.82 -3.84 -0.87 -3.87 0.22 1.43 0.21 1.39 
+0.09 0.7 0.85 3.9 0.8 3.86 0.76 3.84 0.74 3.78 0.7 3.73 0.49 2.85 0.5 2.8 
+0.48 2.78 0.43 2.75 0.45 2.71 0.42 2.63 0.39 2.61 0.39 2.58 0.39 2.56 0.34 2.54 
+0.35 2.56 0.32 2.54 0.61 4.99 0.28 2.45 0.48 3.97 0.43 3.95 0.42 3.88 0.39 3.87 
+0.34 3.82 0.61 6.49 0.5 6.45 0.46 6.36 0.36 6.3 0 133.57 -1.39 9.33 -1.87 11.16 
+-2.06 11.16 -2.25 11.09 -2.43 11.05 -2.64 11.03 -2.82 10.95 -3.04 10.92 -3.21 10.85 -2.61 8.27 
+0 -13 0.89 -2.65 0.89 -2.71 0.87 -2.78 0.89 -2.84 0.91 -2.93 0.54 -2.17 0.54 -2.14 
+0.52 -2.13 0.5 -2.11 0.48 -2.08 -1.34 5.05 -1.39 4.97 -1.41 4.9 -1.43 4.84 -1.46 4.78 
+0 13 -0.78 2.54 -3.61 10.74 -3.78 10.68 -3.95 10.61 -2.04 5.19 0 -12.48 1.22 -3.16 
+1.24 -3.22 1.21 -3.27 1.24 -3.3 1.21 -3.37 -0.93 2.73 -0.95 2.74 -0.96 2.71 -0.98 2.73 
+-1 2.73 1.39 -3.64 1.37 -3.69 1.34 -3.73 1.34 -3.79 1.32 -3.82 1.04 -3.28 1 -3.23 
+0.95 -3.19 0.93 -3.16 0.91 -3.15 -1.15 3.67 -1.15 3.65 -1.19 3.63 -1.2 3.58 -1.21 3.58 
+-1.37 3.93 -1.39 3.88 -1.41 3.87 -1.43 3.82 -1.41 3.78 0 12.48 -2.11 5.34 -4.34 10.46 
+-4.51 10.39 -4.69 10.3 -4.86 10.22 -5.06 10.13 -5.21 10.05 -0.76 1.36 0 -20.86 1.09 -1.82 
+1.09 -1.84 1.08 -1.89 0.93 -2.3 0.89 -2.28 0.87 -2.21 -1.07 1.7 -1.04 1.67 -1.02 1.63 
+-0.91 2.41 -0.93 2.46 -0.98 2.49 0 20.86 -0.7 1.3 0 -23.74 1.67 -3.56 1.67 -3.53 
+1.61 -3.52 0.46 -1.29 0.43 -1.25 0.41 -1.24 1.48 -3.78 0.7 -1.84 -0.79 1.41 -0.8 1.39 
+-0.79 1.37 -1.06 2.24 -1.06 2.21 -1.09 2.23 -1.08 2.82 -1.13 2.89 -1.15 2.91 0.17 0.2 
+0.34 0.35 0 23.74 -3.95 7.27 -5.58 9.85 -3.82 6.53 0 -39.97 1.34 -1.82 1.37 -1.89 
+1.39 -1.93 0.66 -0.74 0.67 -0.75 0.67 -0.79 1.61 -3.52 1.56 -3.5 1.54 -3.49 -0.56 0.71 
+-0.57 0.7 -0.54 0.7 -1.09 1.65 -1.06 1.63 -1.09 1.58 -1.57 2.72 -1.58 2.69 -1.58 2.63 
+-0.39 1.15 -0.39 1.13 -0.39 1.15 0 39.97 -1.91 3.23 -3.23 5.29 0 -46.74 1.48 -2.21 
+1.48 -2.26 2.76 -5.32 2.73 -5.34 -2.41 3.88 -0.71 1.13 0 -1.84 1.84 -2.97 1.83 -3.04 
+2.04 -4.41 p
+2.02 -4.45 2.54 -5.08 2.54 -5.16 0.65 -2.17 0.65 -2.15 2.28 -5.54 2.21 -5.54 1.61 -4.54 
+1.56 -4.51 0.59 -2.41 0.56 -2.38 0.55 -2.37 0.54 -2.34 0.22 -1.67 0.19 -1.63 -0.83 1.2 
+-0.84 1.2 0.2 -1.63 0.18 -1.62 -0.76 1.63 -0.79 1.59 -0.26 1.99 -0.3 2.02 -0.61 2.71 
+-0.65 2.75 -0.93 3.37 -1 3.41 -0.52 2.02 -0.04 0.2 0 -27.11 0.67 -0.28 0.7 -0.3 
+1 -0.13 1.06 -1.7 1.08 -1.71 1.78 -4.32 1.76 -4.36 -0.07 1.45 -0.04 1.46 0.67 -0.17 
+0.67 -0.2 -0.67 3.19 -0.71 3.23 0.78 -0.89 0.78 -0.93 1.58 -4 1.59 -4.05 0.52 -2.39 
+0.5 -2.39 0.48 -2.41 0.45 -2.39 1.15 -2.69 1.15 -2.74 1.22 -2.08 1.21 -2.12 0.48 -0.07 
+0.5 -0.07 1.63 -4.66 1.63 -4.71 1.26 -3.06 1.26 -3.12 -0.48 3.43 -0.52 3.49 1.28 -4.52 
+1.24 -4.51 0.26 0.54 0.26 0.59 -0.34 3.47 1.06 -4.23 1.05 -4.23 0.3 0.2 0.28 0.21 
+0.02 1.52 0.02 1.56 1.24 -4.71 1.2 -4.73 0.41 -3.23 0.39 -3.19 -0.82 2.3 -0.31 0.87 
+0 -57.33 0.55 -0.87 0.54 -0.89 0.91 -4.68 0.89 -4.76 0.75 -3.8 0.72 -3.84 0.76 -3.64 
+0.74 -3.69 0.78 -4.43 0.78 -4.5 0.5 -4.45 0.48 -4.46 0.61 -4.8 0.59 -4.84 0.32 -0.78 
+0.35 -0.8 0.19 2.73 0.2 2.76 0.48 -2.34 0.48 -2.39 0.5 -2.17 0.5 -2.19 0.32 -4.78 
+0.29 -4.82 0.37 -4.46 0.33 -4.5 0.19 -5.67 0.15 -5.68 0.3 -3.52 0.3 -3.55 0.2 -2.84 
+0.2 -2.89 0.02 -4.88 0 -4.9 -0.19 -5.21 -0.24 -5.21 0.07 -3.11 0.04 -3.13 -0.22 -6.55 
+0.24 -2.71 0.24 -2.76 0.33 -0.39 0.34 -0.39 -0.08 -4.02 -0.09 -4.05 0.07 -3.21 0.05 -3.25 
+0.11 -2.32 0.09 -2.37 -0.5 -4.58 -0.52 -4.56 -0.06 -1.71 -0.07 -1.74 -0.09 -1.73 -0.26 -2.5 
+-0.26 -2.52 -0.28 -2.52 -0.48 -3.71 -0.48 -3.75 -0.54 -3.75 -0.5 -3.76 -0.54 -3.78 -0.57 -3.77 
+1.13 5.21 0.57 2.63 -0.26 -2.59 -0.29 -2.61 -0.29 -2.62 -0.39 -3.95 -0.22 -1.98 -0.76 -3.93 
+-0.8 -3.93 -0.83 -3.93 -0.63 -3.25 -0.65 -3.26 -0.67 -3.28 -0.52 -2.78 -0.52 -2.8 -0.54 -2.82 
+-0.18 -1.5 -0.34 -3.04 -0.96 -4.19 -0.98 -4.21 -1.02 -4.23 -1.04 -4.32 -1.08 -4.34 -1.13 -4.36 
+-1 -3.6 -1.02 -3.61 -1.06 -3.62 -1.5 -4.93 -1.54 -4.93 -1.61 -4.92 -1.2 -3.37 -1.2 -3.34 
+-1.21 -3.32 -1.74 -4.71 -1.75 -4.67 -1.81 -4.66 -1.58 -4.13 -1.63 -4.12 -1.65 -4.1 -2 -4.82 
+-2.04 -4.8 -2.08 -4.77 -1.8 -4.08 -1.82 -4.09 -1.87 -4.05 -1.13 -2.15 -1.11 -2.15 -1.13 -2.12 
+-3.6 -7.04 -1.82 -3.45 -1.84 -3.43 -1.85 -3.39 -1.86 -3.36 -2.09 -3.56 -2.08 -3.54 -2.08 -3.46 
+-1.65 -2.87 -1.67 -2.87 -1.67 -2.82 -3.78 -5.99 -1.88 -2.93 -1.57 -2.39 -1.56 -2.36 -1.56 -2.32 
+-1.45 -2.08 -1.46 -2.07 -1.45 -2.04 -1.52 -2.08 -1.49 -2.06 -1.5 -2.04 -1.26 -1.26 -0.63 -0.61 
+-1.43 -1.82 -1.41 -1.8 -1.41 -1.79 -1.52 -2.04 -3.04 -3.99 -1.82 -2.34 -1.82 -2.3 -1.82 -2.26 
+-3.28 -4.1 -3.3 -4.02 -1.64 -1.89 -1.67 -1.84 -2.58 -2.91 -2.59 -2.87 -2.99 -3.58 -3 -3.52 
+-2.87 -3.21 -2.84 -3.13 -2.65 -3.05 -2.66 -3 -2.46 -2.67 -2.45 -2.62 -0.65 -0.22 -0.65 -0.2 
+1.21 2 p
+1.17 1.97 0.41 1.05 0.39 1.06 -0.41 -0.12 -0.43 -0.14 -2.3 -1.34 -1.73 -1 -2.37 -2.14 
+-2.37 -2.11 2.11 2.69 4.12 5.38 2 2.69 5.08 5.91 -0.74 0.25 3.54 4.3 3.51 4.36 
+-1.9 -1.82 -1.91 -1.8 -0.95 -0.65 -0.96 -0.63 -1.32 -0.98 -1.31 -0.93 2.61 3.95 1.74 2.54 
+1.73 2.52 0.85 1.5 0.82 1.5 0.82 1.58 0.8 1.59 -1.3 -0.82 1.95 2.71 1.93 2.69 
+0.74 1.52 0.71 1.52 1.91 2.97 1.89 2.95 1.87 2.84 1.82 2.87 1.71 2.49 1.67 2.5 
+1.15 1.34 1.15 1.37 2.12 3.27 2.09 3.28 2.04 3.39 2 3.38 1.67 3.16 1.65 3.15 
+-0.35 0.45 -0.32 0.43 1.11 1.3 1.08 1.33 1.87 2.62 1.87 2.67 1.46 2.54 1.45 2.56 
+1.83 3.45 1.75 3.45 -2.12 -3.28 -2.17 -3.25 -3.64 -5.29 -0.02 0.63 0 0.61 -0.37 0.06 
+-0.37 0.05 1.08 1.58 1.06 1.58 0.76 0.55 0.76 0.59 1.41 2.14 1.41 2.18 2.13 3.38 
+2.08 3.39 1.8 2.52 1.78 2.54 3.04 5.49 3 5.55 -1.43 -2.06 -1.43 -2.02 -2.06 -3.26 
+-2.08 -3.23 -1.11 -1.11 -1.13 -1.11 -1.41 -1.75 -1.43 -1.72 -1.43 -1.75 -1.43 -1.7 -1.78 -2.52 
+-1.75 -2.5 1.66 3.13 1.65 3.15 1.61 2.97 1.59 2.97 1.59 3.14 1.54 3.15 1.87 3.6 
+1.82 3.61 1.3 4.77 1.59 2.71 1.61 2.74 0.67 2.12 0.7 2.08 0.56 3.09 0.48 3.3 
+-0.36 0.43 -0.37 0.46 0.57 2 0.55 2 0.2 1.47 0.21 1.48 -0.37 0.33 -0.34 0.32 
+-0.37 0.3 -0.37 0.32 -0.52 0.39 -0.5 0.39 -0.74 -0.26 -0.74 -0.24 -0.89 -0.76 -0.89 -0.73 
+-1.24 -1.26 -1.22 -1.25 -0.7 -0.31 -0.67 -0.28 -0.74 -0.2 -0.71 -0.2 -0.7 1.65 -0.82 -0.79 
+-0.84 -0.78 -1.54 -1.78 -1.52 -1.76 -0.91 -0.71 -0.93 -0.72 -1.11 -0.7 -1.11 -0.67 -3.12 -5.77 
+-1.39 -1.7 -1.37 -1.7 -0.45 0.24 -0.35 0.22 0 -49.2 0.7 -0.7 -1.13 -2.69 -1.17 -2.72 
+-1.08 -0.89 -1.09 -0.87 0.09 2.3 1.11 2.02 1.09 2.02 0.76 0.76 0.74 0.76 0 49.2 
+-0.08 0.04 -0.46 0.24 -1.09 0.55 -0.62 0.3 -1.13 0.52 -1.13 0.48 -0.93 -0.24 -0.93 -0.21 
+-0.57 -0.32 -0.56 -0.3 -3.09 -4.3 -0.43 0.16 -0.41 0.17 -1.39 -1.61 -1.39 -1.58 -0.98 -1.24 
+-1 -1.22 -0.59 0.22 -0.61 0.24 -1.21 0.44 -0.52 0.17 -0.54 0.2 -0.15 1.08 -0.15 1.07 
+0.91 2.71 0.91 2.69 -0.13 0.95 -0.15 0.96 3.12 6.08 0.7 0.3 0.7 0.32 0.93 1.26 
+0.95 1.23 0.74 1.74 0.76 1.73 3.17 6.17 2.82 6.12 0.48 1.78 0.45 1.76 0.78 2.23 
+0.76 2.24 0.83 2.64 0.78 2.65 0.89 2.64 0.87 2.63 1.06 2.66 1.04 2.65 0.76 2.21 
+0.76 2.23 0.55 2.62 0.52 2.61 0.39 2.59 0.37 2.56 0.78 2.17 0.74 2.17 1.69 6.99 
+-0.08 3.23 1.15 5.16 0.11 -4.02 1.98 9.42 -0.57 -4.17 0.11 -3.34 1.93 6.3 0.55 4.19 
+0.54 4.25 1.15 5.99 1.13 5.23 2.37 4.91 1.06 4.46 0.5 4.19 1.47 4.66 1.69 4.82 
+-0.34 -5.03 1.67 4.73 2.06 3.38 0.83 1.21 0.8 1.21 1.87 5.08 1.74 3.39 0.91 1.25 
+0.89 1.29 0.74 0.37 1.48 0.78 0.71 0.37 1.07 2.32 1.04 2.32 0.71 0.41 0.74 0.42 
+0.91 2.23 p
+0.89 2.23 0.83 0.5 0.82 0.48 0.98 1.48 0.95 1.5 0.91 0.98 0.89 1 0.84 2.3 
+0.85 2.34 1.47 4.68 0.71 3.23 0.7 3.25 0.85 2.89 0.82 2.89 0.09 1.97 0.11 1.97 
+0.21 4.78 0.79 2.97 0.74 3.02 0.78 3.52 0.79 3.54 0.09 -3.23 0.09 -3.25 0.13 -2.28 
+0.13 -2.3 1.61 7.12 -0.32 1.64 -0.3 1.61 0.41 3.28 0.39 3.3 1.35 -1.65 0.47 2.93 
+0.44 2.93 0.26 3.21 0.22 3.23 0.71 3.3 0.71 3.32 0.26 5.34 1.7 1.96 0.2 2.37 
+0.21 2.38 0.61 1.26 0.61 1.28 0.28 2.48 0.28 2.5 0.72 0.41 0.7 0.43 0.52 -2.08 
+0.5 -2.09 0.41 -1.62 0.41 -1.65 -0.02 -3.27 -0.04 -3.3 0.63 2.91 0.61 2.95 0.48 0.61 
+0.48 0.63 0.68 -1.32 0.65 -1.32 0.22 3.08 0.2 3.08 -0.59 1.46 -0.58 1.43 0.43 3.47 
+0.43 3.51 0.13 3.04 0.11 3.04 0.52 1.46 0.52 1.47 -0.29 2.48 -0.3 2.45 0.13 3.28 
+0.11 3.28 0.43 3.91 0.39 3.93 0.7 1.29 0.68 1.3 0.65 1.3 0.65 1.33 -0.02 3.97 
+-0.09 3.95 -0.58 2.13 -0.61 2.11 1.47 0.61 1.39 -2.64 0.59 0.65 0.56 0.65 0.65 0.02 
+0.63 0.02 0.63 0.07 0.61 0.08 0.42 2.41 0.37 2.43 0.5 -2.5 0.5 -2.52 0 4.64 
+-0.05 4.67 0.67 -1.43 0.68 -1.46 0.04 -3.84 0 -3.82 0.24 -3.97 0.22 -3.99 -1.05 -2.34 
+0.48 -7.55 0.18 -3.17 0.13 -3.19 -0.13 -2.97 -0.16 -2.97 -0.07 -3.5 -0.08 -3.47 0.91 -3.61 
+0.43 -0.61 0.41 -0.61 0.2 -3.63 0.16 -3.64 0.74 1.22 0.71 1.21 0.42 -1.95 0.39 -1.97 
+0.3 -1.5 0.28 -1.52 0.54 -1.14 0.52 -1.15 0.45 -0.65 0.43 -0.65 0.15 -3.16 0.13 -3.18 
+0.43 -2.66 0.39 -2.69 0.5 1.37 0.5 1.39 1.09 5.82 0.11 4.41 0.08 4.38 0.26 4.08 
+0.24 4.1 0.2 4.82 0.18 4.82 -0.02 4.54 -0.07 4.53 -0.09 4.56 -0.11 4.53 -0.3 4.17 
+-0.32 4.14 -0.28 4.32 -0.33 4.3 -0.29 4.49 -0.32 4.47 -0.43 5.14 -0.48 5.12 -0.33 2.78 
+-0.34 2.78 -0.52 4.21 -0.57 4.19 -0.22 3.71 -0.24 3.71 -0.75 4.84 -0.8 4.79 -0.43 4.45 
+-0.48 4.43 0 57.33 -0.52 1.41 -0.06 -1.21 -0.09 -1.22 -0.17 -2.99 -0.13 -1.43 -0.13 -1.39 
+-0.13 -1.16 -0.13 -1.13 -0.76 2.37 -0.78 2.37 -0.78 1.43 -0.76 1.41 -0.93 1.69 -0.93 1.67 
+-0.99 2.63 -1 2.61 -1.22 3.23 -1.23 3.19 -0.11 -0.95 -0.13 -0.91 -0.5 -0.15 -0.54 -0.15 
+-0.37 0.11 -0.37 0.13 0.09 -1.84 0.07 -1.82 1.04 -4.52 0.98 -4.53 0.58 -2.84 0.55 -2.86 
+0.35 -2.67 0.32 -2.67 0.89 -2.78 0.91 -2.8 0.48 -2.54 0.5 -2.54 0.37 -3.93 0.35 -3.91 
+-0.45 -0.48 -0.46 -0.5 -0.13 -1.56 -0.16 -1.57 -0.3 -0.91 -0.3 -0.93 -0.71 1.26 -0.72 1.21 
+-0.71 1.56 -0.71 1.54 -0.7 1.7 -0.67 1.67 -0.05 -2.39 -0.04 -2.34 -0.22 -1.78 -0.21 -1.76 
+0.2 -3.53 0.18 -3.5 -0.26 -1.67 -0.28 -1.65 -0.79 5.08 -0.82 5.1 -0.63 3.71 -0.59 3.26 
+0 -89.47 0.33 -1.33 0.32 -1.34 -0.24 -3.84 -0.26 -3.8 -0.41 0.48 -0.43 0.5 -1.22 -2.3 
+-0.02 3.79 -0.04 3.8 0.52 -0.29 0.54 -0.3 0.46 2.3 0.45 2.32 0 89.47 -0.08 0.45 
+0.02 2.09 p
+0.02 2.11 -1 3.02 -1 2.97 -1.17 3.56 -1.21 3.52 -1.23 3.25 -1.28 3.21 -0.74 1.13 
+-0.76 1.13 -0.63 0.07 -0.61 0.06 -0.24 -0.32 0 -22.27 0.95 -2.71 0.96 -2.74 0.91 -4.25 
+0.87 -4.25 0.46 -3.91 0.41 -3.91 -0.93 3.86 -0.93 3.82 -0.73 3.71 -0.19 1.02 0 -27.54 
+0.65 -3.14 0.65 -3.19 0.11 -3.17 0.09 -3.17 -0.54 3.39 -0.56 3.36 -0.2 2.95 -0.19 2.97 
+0 27.54 -0.57 2.68 -0.59 3.34 -0.61 3.34 0 22.27 -0.24 -0.39 -0.5 -0.7 -1.3 -0.39 
+-0.48 -0.8 -0.35 -0.57 0 -94.68 -0.04 -2.76 -0.29 -2.54 -0.33 -2.54 -0.39 -2 -0.41 -1.97 
+-0.39 -2.02 -0.43 -2 -0.3 -2.95 -0.33 -2.93 -0.15 -3.75 -0.2 -3.75 -0.48 -1.93 -0.5 -1.91 
+-0.55 -1.39 -0.54 -1.37 -0.15 4.14 -0.19 4.14 0.09 2.45 0.06 2.45 0.37 1.71 0.35 1.74 
+0.86 3.95 0.05 4.86 0.5 2.19 0.48 2.22 0.54 1.67 0.52 1.69 0.44 1.59 0.43 1.61 
+0.48 1.07 0.5 1.08 0 91.93 -0.15 -0.24 -0.34 -1.21 -0.35 -1.2 -0.63 0.3 -0.63 0.29 
+-0.63 0.04 0 -82.53 0.18 -3.04 0.15 -3.02 -0.59 -1.26 -0.61 -1.26 -0.12 2.34 -0.16 2.37 
+0.59 1.93 0.56 1.93 0 82.53 -0.04 0 -0.65 0.05 -0.8 0.8 -0.79 0.76 0.83 -4.28 
+0.78 -4.27 -0.34 -2.43 -0.63 1.76 0 -90.11 -0.76 -2.71 -0.76 -2.69 -0.09 2.3 -0.11 2.32 
+0.87 0.39 0.84 0.39 0 90.11 -0.2 0.54 -0.82 2.3 -0.67 1.76 -0.65 1.71 -0.8 0.74 
+-0.8 0.72 -0.3 -0.43 -0.33 -0.43 -0.2 1.67 -0.21 1.64 0.34 1.02 0.33 1 -0.35 2.69 
+-0.39 2.71 0.18 1.79 0.17 1.8 -0.63 2.13 0 -26.96 0.93 -1.49 0.92 -1.52 0.71 -2.41 
+0.71 -2.39 -0.7 0.09 -0.37 0.04 0 -85.82 -0.62 -2.3 -0.63 -2.28 -0.54 -2.09 -0.57 -2.06 
+-0.78 -3.39 -1.3 -0.99 -0.54 -1.37 -0.56 -1.37 -0.65 -0.48 -0.67 -0.48 -0.59 -0.87 0 -7.29 
+1.52 -1 0.73 -1.58 0.74 -1.63 -1.04 -4.51 -0.7 1.11 -0.67 1.11 -0.5 0.37 -0.52 0.37 
+-0.65 -0.84 -0.65 -0.87 -0.37 1.52 -0.37 1.5 0.58 1.34 0.61 1.38 0.65 0.86 0.63 0.89 
+0 7.29 -0.04 -0.04 -0.61 -0.91 -1.48 0.04 -0.56 -1.39 -0.59 -1.37 -0.61 -1.32 -0.59 -1.3 
+-1.02 -2.32 -0.91 -3.23 -1.26 -2.54 -1.97 -0.59 -1.37 -1.67 -0.29 5.45 0.96 3.19 1.54 -0.04 
+1.54 2.02 1.2 0.63 -1.15 3.56 1.93 0.59 1.48 2.09 0.84 -0.84 0.82 -0.89 0.48 2.26 
+0.45 2.28 0.52 1.8 0.5 1.8 0.71 0.07 0.72 0.05 0.71 0.02 0.72 0 1.08 2.78 
+0.67 -0.59 0.65 -0.61 0.24 3.78 0.2 3.79 0.98 0.59 0.95 0.56 0 85.82 -0.35 0.05 
+-1.52 -2.64 -0.46 -0.83 -0.48 -0.82 -0.11 -1.62 -0.12 -1.61 -0.79 -0.11 -0.8 -0.11 -0.33 2.76 
+-0.37 2.78 0.43 1.78 0.39 1.8 0.21 2.02 0.18 2.04 0.7 -0.28 0.65 -0.26 0.29 1.37 
+0.25 1.39 0 26.96 -0.39 1.3 -1.04 3.45 0.24 -2.8 0.21 -2.75 0.02 -2 0.02 -1.98 
+-0.35 -3 -1.3 0.39 -0.85 2.41 -0.26 0.74 0 -42.86 1.52 -3.69 0.13 -2.25 0.11 -2.25 
+-0.62 -0.35 -0.61 -0.34 -1.78 2.99 0.13 2.17 0.11 2.2 0.52 0.78 0.5 0.76 0 42.86 
+-0.61 1.65 p
+-0.31 -0.76 -0.28 -0.76 -1.13 -1.56 -0.87 4.02 -0.91 4.03 -0.15 2.63 -0.2 2.65 -0.66 2.91 
+-0.34 1.5 0 -35.98 0.95 -0.26 0.96 -0.24 -0.5 -2.28 -0.5 -2.25 -0.91 5.03 0 35.98 
+-0.35 1.43 0.16 2.04 0.11 2.06 0.83 -0.59 0.84 -0.58 0.09 2.11 0.08 2.14 1.55 -2.97 
+1.54 -3.02 1.11 -3.43 1.09 -3.47 1.13 -2.39 1.13 -2.43 0.45 0.26 0.43 0.28 1.13 -2.48 
+1.11 -2.5 0.79 -0.71 0.8 -0.7 0.18 2.56 -0.85 3.32 -0.87 3.34 -1.47 5.77 -0.93 3.89 
+-0.96 3.88 -0.21 2.21 -0.22 2.24 -1.02 3.34 -1.04 3.32 -0.71 3.84 -0.76 3.84 0.56 0.24 
+0.54 0.24 0.74 0.04 0.74 0.02 0.65 1.48 0.3 0.82 0.28 0.8 -0.12 1.54 -0.15 1.56 
+0.5 0.55 0.48 0.57 0.29 0.78 0.26 0.8 0.26 0.78 0.29 0.8 0.26 0.55 0.25 0.56 
+0.87 1.17 0 1.36 -0.02 1.37 1.82 1.13 0 27.11 -0.5 1.84 -0.54 2.02 -0.56 2.02 
+-2.87 6.77 -2.95 6.73 -0.67 2.14 -0.7 2.17 -2.82 5.01 -0.5 0.87 0 -78.73 1.02 -1.29 
+1 -1.28 0.24 -1.96 0.24 -1.93 -1.21 1.25 -1.21 1.24 -0.02 1.97 -0.04 1.98 0 78.73 
+-2.32 4.06 -0.61 1.71 0 -109.55 0.22 -2.43 0.21 -2.4 -0.65 0.11 -0.67 0.13 -0.22 2.14 
+-0.24 2.17 0.67 0.15 0.67 0.13 0 109.55 -0.78 2.21 -1.43 3.97 0 1.84 -1.69 2.67 
+-2.24 3.28 -2.25 3.21 0.35 -1.17 0.32 -1.17 -0.63 0 -0.65 0.02 -0.63 -0.06 -0.61 -0.07 
+0.39 1.56 0.66 1.05 0.39 -0.07 0.41 -0.09 0.87 0.96 0 46.74 -2.67 4.36 -2.25 3.54 
+0 -176.2 0.84 -2.6 0.82 -2.61 1 -1.43 0.98 -1.41 -0.31 2.97 -0.34 3 1.08 -2.56 
+1.06 -2.58 0.37 -2.52 0.35 -2.49 0.78 -1 0.79 -1.02 -0.2 -1.43 -0.21 -1.41 1.91 -5.68 
+0.87 -2 0.85 -1.99 2.34 -3.04 -0.91 0.45 -0.89 0.41 -0.97 1.26 -0.96 1.22 -0.76 2.45 
+-0.78 2.46 -0.87 1.93 -0.89 1.93 -0.93 1.41 -0.95 1.41 -0.79 2.62 -0.8 2.63 -0.84 2.34 
+-0.87 2.37 -0.37 2.45 -0.39 2.47 0 176.2 -0.93 1.45 0 -198.66 1.25 -1.12 0.67 -2.76 
+0.65 -2.78 1.35 -7.25 -0.09 -2.32 -0.11 -2.3 -0.39 -3.47 -0.65 -0.43 -0.65 -0.41 -0.37 -1.26 
+-0.39 -1.25 -0.37 -1.24 -0.39 -1.26 -0.93 -2.84 -0.41 -2.82 -0.82 -0.83 -0.33 -2.4 1.11 -6.04 
+1.79 -5.79 1.67 -0.13 1.35 -3.67 0.93 2.32 -0.5 6.06 0.87 2.39 0.15 2.08 0.16 2.06 
+0.39 4.64 0.8 -0.91 0.82 -0.91 -0.45 -1.43 -0.48 -1.43 0.31 -3.12 0.28 -3.11 0.15 -2.73 
+0.13 -2.73 -0.15 -2.65 -0.17 -2.62 1.11 -1.59 1.06 -1.59 1.39 -2.25 0.8 -1.63 0.78 -1.61 
+0.14 -2.52 0.09 -2.5 0.82 -0.8 0.82 -0.79 0.96 -1.9 0.93 -1.93 0.85 -1.5 0.82 -1.52 
+0.7 -3.14 0.65 -3.15 -0.13 -2.95 -0.15 -2.95 -0.71 1.13 -0.71 1.11 -0.83 4.04 -0.87 4.04 
+-0.04 -2.06 -0.07 -2.06 -0.61 -0.07 -0.63 -0.05 -0.57 3.32 -0.61 3.3 -0.83 0.22 -0.8 0.21 
+-0.76 1.59 -0.76 1.56 -0.35 2.52 -0.39 2.54 -0.42 1.69 -0.43 1.7 -0.41 -0.93 -0.39 -0.91 
+-0.02 -5.25 1.58 -4.37 1.17 -5.16 0.59 -2.61 0.54 -2.61 0.46 -2.8 0.41 -2.8 0.63 -2.45 
+0.58 -2.45 p
+-0.48 -1.46 -0.5 -1.43 -0.96 -1.7 -0.97 3.95 -0.85 6.77 -1.06 6.36 -1.52 4.41 -1.09 -2.15 
+-1.95 6.04 -0.29 5.58 -0.98 5.68 -1.58 5.84 -0.8 4.82 -0.37 4.86 -0.39 1.26 0 -88.39 
+-1.04 -4.69 -1.76 1.28 1.41 1.7 1.39 1.71 0 88.39 -1.11 3.62 -1.37 5.25 -0.91 3.56 
+1.15 3.23 -1.54 6.82 1.34 0.91 1.2 2.02 1.02 1.73 0.61 0.21 0.61 0.24 0.26 3 
+0.78 3.04 -0.13 2.56 -0.15 2.54 -0.41 2.52 -0.43 2.52 -0.69 3.82 0 198.66 -2.89 4.55 
+-6.25 9.44 -6.4 9.33 -6.58 9.22 -6.73 9.12 -6.87 8.98 -7.04 8.86 -3.6 4.36 -3.61 4.38 
+-7.34 8.59 -3.75 4.26 -3.75 4.23 -3.82 4.19 -3.82 4.16 -3.89 4.1 -3.88 4.13 -7.95 8.07 
+-3.71 3.64 2.24 -2.21 2.21 -2.22 2.2 -2.21 2.15 -2.19 2.1 -2.19 2.11 -2.17 2.06 -2.17 
+2.05 -2.14 1.99 -2.13 1.97 -2.12 1.96 -2.13 1.91 -2.11 1.89 -2.11 1.87 -2.08 1.84 -2.09 
+1.82 -2.06 1.78 -2.04 1.76 -2.04 1.74 -2.02 1.71 -2.02 0.95 -1.13 0.93 -1.11 0.91 -1.11 
+0.91 -1.08 0.89 -1.09 0.87 -1.04 0.87 -1.07 0.85 -1.04 0.82 -1.02 0.82 -0.99 0.8 -1.02 
+0.8 -0.98 1.57 -1.95 0.76 -0.95 1.48 -1.87 0.72 -0.93 1.43 -1.82 0.7 -0.89 -1.04 1.32 
+0 -174.91 2.24 -0.06 2.62 -2.26 1.5 -2.45 1.47 -2.49 3 -3.56 1.07 -1.84 1.04 -1.84 
+1.02 -2.61 1 -2.62 1.2 -2.71 1.17 -2.71 -1.45 2.15 -1.48 2.15 -1.04 1.08 -1.04 1.06 
+0.76 -2.17 0.74 -2.2 1.13 -3.21 0.84 -0.74 0.84 -0.76 1.7 -2.08 1.11 -3.21 1.07 -3.23 
+-0.89 0.57 -0.89 0.58 -0.11 -0.95 -0.11 -0.93 -1.41 -0.11 -1.37 0.37 -2.69 5.14 -1.39 4.3 
+-1.32 0.76 -1.07 -0.91 1.35 -4.68 0.17 -2.63 -2 3.12 0.13 -2.49 1.71 -4.99 1.72 -4.57 
+-1.59 2.52 -2.54 5.42 -0.95 3.52 -0.46 4.21 -1.2 3.6 0 -44.05 1.35 -0.87 2.02 -0.34 
+1.95 -4.32 1.39 1 2 -0.39 1.67 0.3 -0.05 -4 -0.11 -3.97 2.02 -2.04 -0.41 -4.73 
+1.91 -5.62 0.89 -5.36 2.13 -3.37 1.99 -2.28 0.63 -4.23 2.13 -1.93 1.8 -1.13 1.65 -1.59 
+-0.78 -3.56 -0.96 -2.3 0.5 -4.23 1.11 -5.51 1.46 -5.88 0.61 -5.12 -0.07 -4.97 0.11 -5.82 
+1.95 -3.41 0.76 -7.92 0.7 -5.55 -0.71 -4.43 -0.74 -4.38 -0.76 -3.19 -1 3.67 -1.11 1.43 
+0 -40.26 1.23 -1.33 0.7 -3.86 1.87 0.28 1.3 2.59 1.49 0.78 0.55 -5.04 2.13 4.51 
+1.43 -1.13 -0.95 -5.96 -1.3 2.32 -1.3 0.26 0.41 -4.14 -1.28 -0.57 -1.35 0.33 -1.58 -0.02 
+-1.54 -3.45 -1.61 -0.02 -1.48 -1.58 -1.59 -0.71 -1.56 -0.81 -1.74 0.85 -1.34 -0.57 -1.78 -1.78 
+-1.24 -2.04 -1.87 -1.02 -1.54 1.05 -1.91 -0.91 -1.67 -0.76 0.04 2.52 -2.08 0.52 -1.67 -0.78 
+0.71 4.06 0.29 5.27 2.04 0.3 1.11 2.84 1.15 0.24 1.83 -0.69 1.63 0.84 1.21 -3.1 
+1.33 0.56 1.52 1.59 1.58 0.86 1.26 1.35 0.39 5.86 1.75 -0.74 1.91 0.34 1.52 0.89 
+0 40.26 -0.41 0.52 -1.11 -2.78 -2.15 1 -0.61 -3.95 -1.32 -1.86 -1.05 -3.45 -1.61 6.68 
+-0.56 -2.8 -1.22 -2.58 -1.78 -1.43 -1.33 5.1 -1.58 4.63 -1.04 4.51 -1.93 3.21 -0.22 0.11 
+0 -22.44 p
+0.13 -5.36 -1.34 -0.61 -0.76 5.45 1.97 0.52 0 22.44 -1.84 0.93 -1.11 4.41 -1.45 2.02 
+-1.56 4.73 -1.02 5.64 0 5.27 1.91 -0.15 1.65 1.63 1.45 1.24 -1.19 6.88 -1.24 5.75 
+0.89 2.89 1.07 3.16 0.08 5.04 -0.78 4.73 -0.18 4.73 -0.96 7.34 0.09 4.44 1.24 3.11 
+-1.45 3.54 -0.82 7.03 -1.29 4.38 -0.45 5.23 -1.15 5.17 0 44.05 -0.19 0.59 -0.61 3.79 
+0.99 0.43 2.09 -3.05 -1.5 4.77 -0.21 3.11 -2.46 5.16 0.96 0.54 -1.2 4.04 -3.47 5.12 
+0 174.91 -1.58 2.02 -2.63 3.3 -2.62 3.25 -2.65 3.23 -2.62 3.19 -2.61 3.11 0 -172.03 
+2.28 -1.76 2.21 -3.23 3.2 -3.66 0 -3.97 2.16 -3.3 2.24 -1.93 0.34 -3.59 -3.02 4.71 
+-0.45 -1.28 -1.37 2.08 0 -2.52 2.58 -4.01 2.09 -3.32 0.58 2.15 2.11 -3.38 0.3 -3.63 
+-1.8 1.37 1.61 -4.23 -0.98 -0.46 2.54 -3.24 1.04 -3.95 -1.78 0.91 -2.17 2.06 -1.02 4.34 
+-2.09 3.4 -0.95 -0.56 0.11 -3.87 -2.02 3.8 -2.47 4.43 -0.72 0.76 0 -16.17 3.69 -5.04 
+1.5 -6.01 0.41 -3.06 1.99 -5.36 1.05 -4.88 1.13 -3.97 0.56 -6.1 -1.8 5.36 -0.93 4.82 
+-1.28 5.99 -1.15 4.36 -1.91 6.21 -3.25 7.68 0 16.17 -1.43 1.56 0.63 2.61 1.3 -1.5 
+0.17 3.34 2.95 -5.12 0.59 1.66 2.06 -3.77 -1.17 4.36 -2.06 4.27 0 2.52 -1.73 2.63 
+0.5 1.67 -2.26 4.32 -1.32 -0.97 -2.7 2.91 0.42 1.82 -0.5 3.56 0 172.03 -0.02 0.04 
+-2.65 3.11 -2.64 3.06 -2.63 3.04 -2.64 2.99 -2.63 2.95 -2.65 2.91 -2.62 2.89 -5.26 5.64 
+-2.62 2.75 -2.63 2.73 -2.61 2.69 -1.58 1.63 0 -182.53 3.37 -4.73 2.86 -3.36 1.87 -0.46 
+2.84 -4.41 2.32 -4.71 2.3 -5.29 2.69 -4.45 3.65 -3.47 2.69 -2.78 0.93 1.17 -1.3 3.71 
+0 1.93 0.93 1.08 1.32 1.54 0.46 -2.56 1.84 -1.58 2.21 -0.67 0.5 -2.64 -0.93 -1.07 
+-3.14 2.43 -1.37 -0.98 1.78 -1.96 2.21 -3.17 -1.64 0.84 0 -6.9 1.82 -0.67 2.56 -3.82 
+1.49 -4.8 -1.78 1.17 -2.61 2.87 -2.3 1.37 0.17 2.25 0.63 1.63 0 6.9 -1.54 0.76 
+-1.41 -0.48 1.65 -5.32 -1.08 -1.91 -2.2 3.11 -1.63 4.23 -1.41 0.02 1.72 -2.91 -1.91 -0.32 
+-2.64 3.19 -2.24 2.56 -3.12 3.6 1.04 1.52 -2.71 3.49 -3.21 4.99 -2.26 1.87 -2.32 3.76 
+-2.82 4.25 -0.48 2.75 1.34 0.68 0.39 1.8 -1.54 3.93 0 182.53 -1.52 1.54 -6.3 6.29 
+-3.19 3.11 -1.61 1.54 0 -243.33 1.63 -2.15 1.32 -3.76 2.25 -4.1 1.18 -3.71 0.57 -4 
+-0.57 -1.93 -1.85 -0.61 -2.08 2.43 -1.93 2.69 -0.67 3.5 -1.02 4.51 0.08 2.45 0.57 2.32 
+0.52 2.34 0 243.33 -1.61 1.57 -3.23 3.06 -3.25 3.06 -3.3 3.04 -3.3 3.02 -3.32 3.02 
+-3.36 2.97 -3.36 2.95 -2 1.71 0 -182.23 3.08 -2.73 3.25 -4.1 3.67 -4.21 3.12 -3.8 
+2.68 -4.21 3.54 -4.36 -2.43 1.63 -0.85 -0.87 -3.45 2.63 -2.98 2.88 -3.17 4.58 -2.62 3.63 
+-2.78 4.05 -1.87 3.99 0.8 0.89 0 182.23 -1.41 1.22 -3.4 2.91 -3.45 2.89 -3.45 2.86 
+-3.47 2.82 -2.93 2.37 -2.97 2.37 -3 2.36 -3.06 2.37 -3.08 2.39 -3.15 2.37 -3.17 2.38 
+-3.21 2.37 p
+-3.28 2.39 -3.3 2.39 -3.34 2.36 -3.41 2.39 -3.43 2.39 -3.5 2.36 -3.53 2.39 -3.56 2.37 
+-3.62 2.37 -3.69 2.37 -3.71 2.34 -1.67 1.07 -3.43 2.13 -1.76 1.09 -1.78 1.08 -1.8 1.09 
+-1.82 1.11 -1.87 1.11 -1.89 1.13 -1.91 1.13 -1.93 1.13 -1.97 1.13 -1.99 1.15 -2.05 1.17 
+-2.06 1.15 -2.09 1.17 -2.13 1.19 -2.14 1.18 -2.19 1.19 -2.23 1.2 -2.25 1.22 -2.3 1.21 
+1.64 -0.85 1.63 -0.86 1.68 -0.89 1.67 -0.91 1.69 -0.92 1.71 -0.93 1.72 -0.96 1.73 -0.96 
+1.76 -0.98 1.78 -1 1.78 -1.02 1.83 -1.02 1.82 -1.04 1.84 -1.09 1.87 -1.08 1.5 -0.87 
+-4.88 2.88 -4.93 2.78 -4.9 2.78 -4.97 2.72 -4.97 2.69 -5.04 2.63 -5.01 2.6 -5.06 2.54 
+-5.05 2.52 -5.1 2.45 -5.1 2.43 -3.8 1.71 0 -130.03 4.3 -0.98 3.64 -1.82 2.8 -0.5 
+1.82 -1.91 2.37 -1.04 3.02 -0.33 4.25 -1.2 2.78 -1.58 4.32 -1.34 2.12 0.11 3.15 -2.06 
+2.64 -1.06 4.16 -3.38 -4.32 1.52 2.76 -1.72 2.06 -2.49 5.64 -2.64 -2.82 0.24 5.79 -4.06 
+3.17 -4.21 -1.06 -1.54 3.19 -2.06 1.46 0.46 4.95 -4.02 4.95 -3.52 0.57 -1.5 -1.84 -0.13 
+0 -2.34 2.06 -0.5 2.84 -2.46 3.11 -2.25 -0.69 -0.98 2.71 -3.1 2.24 -1.65 2.78 -1.87 
+0.26 -2.06 -2.98 0.7 -2.95 2.93 -2.75 1.8 -0.93 2.32 -3.06 2.24 -2.12 2.78 -0.5 2.11 
+0 2.34 -0.22 -0.02 -2.84 1.11 -4.04 2.78 1.96 -2.93 0.82 -1.91 3.61 -3.61 1.85 -2.34 
+2.95 -3.43 2.28 -3.21 3.21 -2.69 0.85 -2.28 2.11 -3.2 1.3 0 -1.34 2.56 2.64 -0.87 
+2.22 -0.09 3.53 -2.67 4.13 -3.02 3.69 -2.23 3.84 -4.34 0.29 -2.47 -2.89 1.56 -2.82 1.48 
+-2.54 2.61 -2.89 1.45 -1.65 -0.15 2.47 -1.54 1.02 -2.17 -2.82 0.46 -2.93 3.39 -3.32 3.21 
+-1.93 2.84 -2.82 1.28 -2.52 3.04 -2.87 2.8 -3.71 3.45 -4.12 3.23 -1.5 2.47 -2.88 3.93 
+-2.8 3.54 -2.47 3.06 0.28 1.47 -2.32 2.04 -2.82 0.93 -3.52 2.34 -4.04 2.52 -3.19 1.22 
+-3.23 2.47 3.5 -1.61 2.28 -0.67 -3.88 3.28 -3.41 3.15 -3.3 2.36 -3.78 1.86 -3.71 2.72 
+-4.05 1.52 -4.17 2.06 -3.5 1.3 -3.34 0.59 -2.71 0.46 -2.25 0.34 -4.64 1.89 0.24 1.21 
+-1.72 1.74 -1.62 0.22 1.37 -1.39 -2.5 0.61 -1.34 2.34 2.54 -0.65 2.37 0.04 1.25 1.04 
+2.54 0.29 0 130.03 -1.37 0.63 -5.14 2.34 -10.37 4.52 -5.21 2.16 -5.23 2.17 -5.25 2.09 
+-5.27 2.06 -5.29 2 -5.3 1.98 -5.34 1.89 -5.32 1.89 -5.36 1.8 -5.38 1.8 -5.38 1.7 
+-5.39 1.71 -10.85 3.21 -5.45 1.52 -5.45 1.5 -5.49 1.43 -5.47 1.41 -5.49 1.32 -5.51 1.33 
+-5.51 1.21 -5.51 1.24 -5.55 1.13 -5.54 1.13 -5.55 1.02 -5.58 1.04 -11.16 1.87 -5.57 0.85 
+-5.6 0.82 -5.6 0.74 -5.62 0.74 -5.6 0.65 -5.62 0.63 -5.64 0.55 -5.62 0.54 -5.64 0.46 
+-5.64 0.43 -11.29 0.69 -5.64 0.26 -5.64 0.24 -5.66 0.15 -2.04 0.04 0 -0.11 2.54 -0.07 
+2.52 -0.09 1.04 -0.02 1.21 -0.05 0.26 -0.02 2.5 -0.09 2.13 -0.09 6.09 -0.28 6.08 -0.34 
+6.08 -0.39 6.08 -0.46 6.04 -0.5 6.03 -0.58 6.03 -0.61 6 -0.67 5.99 -0.74 5.95 -0.79 
+5.95 -0.84 p
+5.9 -0.89 5.9 -0.95 5.86 -1 5.84 -1.05 5.79 -1.08 6.18 -1.23 6.21 -1.28 6.21 -1.34 
+6.23 -1.43 6.23 -1.5 6.25 -1.57 6.25 -1.63 6.25 -1.69 6.25 -1.76 6.25 -1.82 6.27 -1.91 
+6.25 -1.97 6.25 -2.04 6.23 -2.11 6.23 -2.17 6.23 -2.23 6.21 -2.3 6.18 -2.39 0.33 -0.12 
+0.3 -0.11 0.61 -0.26 0.3 -0.11 0.28 -0.13 0.31 -0.11 0.28 -0.13 0.56 -0.22 0.28 -0.12 
+0.26 -0.11 0.29 -0.11 0.52 -0.21 0.28 -0.11 0.24 -0.11 0.26 -0.11 -6.01 2.37 -5.62 2.15 
+0 -129.8 3.91 -1.89 4.23 -2.23 2.15 -2.23 4.34 -2.02 3.67 -1.45 2.45 -0.45 1.7 -2.91 
+0.76 -2.52 2.61 -2.06 2.8 -1.78 -0.09 -0.89 1.36 -1.39 1.96 -0.5 -0.59 1.59 -0.06 1.49 
+3.43 -2.52 3.67 -2.3 -3.8 0.5 -0.65 -0.82 -2.5 0.61 -4.53 2.61 -1.81 -0.16 -1.15 1.63 
+-2.04 1.98 -1.93 0.43 -1.8 -0.15 -2.93 1.36 -2.47 0.46 -3 0.41 -2.15 -0.82 -3.28 1.58 
+0.41 1.47 1.21 1.2 0.18 1.21 -0.43 2.13 -1.56 2.19 -1.74 1.87 -5.04 2.43 4.56 -1.2 
+-0.09 0.96 1.52 0 -3.28 2.19 0 129.8 -0.41 0.17 -6.07 2.23 -6.1 2.21 -6.14 2.13 
+-6.16 2.06 -1.89 0.64 0 -129.47 5.67 -1.95 5.16 -2.15 4.76 -1.91 -5.82 1.52 -4.34 1.54 
+-1.55 1.46 -3.88 1.5 0 129.47 -0.56 0.17 0 -146.57 0.86 -1.95 1.95 -1.58 2.8 -0.93 
+2.35 -0.16 3.52 -0.65 3.36 -0.12 1.35 0.65 0.2 1.17 1.69 0.34 -0.35 1.2 3.06 0.11 
+-0.31 -1.52 1.17 -1.47 2.87 -1.16 4.13 -0.89 -3.13 -0.87 -3.58 0.84 -3.58 -0.06 -3.26 0.5 
+-2.41 -0.69 -0.87 -0.64 -2.67 0.46 -2.86 0.11 -3.02 -0.21 -2.71 -0.5 -3.3 -0.02 -2.21 -0.48 
+-0.8 -1.2 -2.97 -0.32 -3.53 0.11 -3.15 -0.67 -3.19 1.17 -2.32 0.45 -1.58 -1.06 -1.89 1.04 
+1.04 1 2.61 0.69 2.28 0.93 2.91 0.43 3.23 0.15 2.02 1.13 2.28 0.88 2.28 0.84 
+1.98 1.11 1.95 1.09 1.83 0.75 0 146.57 -3.71 1.21 -6.23 1.95 -2.02 0.63 0 -128.67 
+6.14 -1.66 2.11 -1 -4.8 1.26 -3.45 1.41 0 128.67 -4.21 1.28 -6.25 1.82 -6.25 1.76 
+-6.29 1.71 -6.3 1.63 -6.32 1.58 -6.32 1.5 -4.95 1.13 0 -132.27 4.25 -1.19 -1.23 -0.52 
+-3.2 0.91 -3.55 0.29 1.11 0.49 2.63 0.02 0 132.27 -1.37 0.33 -7.25 1.56 -7.25 1.47 
+-3.6 0.7 -3.62 0.7 -3.61 0.65 -3.6 0.68 -2.56 0.43 0 -136.98 3.71 -1.37 4.23 -0.28 
+3.08 1.06 4.88 0.31 4.73 -0.31 4.75 -0.74 -0.57 -1.06 -1.82 -0.89 -1.75 -1.24 -0.87 -1.97 
+-2.13 -1.43 -1.74 -1.67 -1.04 -1.24 -1.39 -1.47 -1.43 -1.11 -2.82 -1.2 -3.14 -0.74 -3.13 -0.79 
+-3.49 0.74 -3.04 -0.52 -0.61 -1.13 -2.76 1.09 -4.04 0.5 -4.62 -0.02 -4.2 -0.2 -3.11 -0.67 
+-4.77 -0.15 -3.95 -0.41 -2.41 -0.65 -3.71 0.07 -3.71 0.39 -1.93 -0.84 -2.24 -1.71 -1.95 -1.5 
+-3.15 -0.22 0.79 -0.86 4.77 -0.55 2.41 1.05 1.17 1.32 2.78 -0.41 3.21 0.39 3.58 0.26 
+4.3 0.02 -0.18 -1.34 -0.78 -1.11 -3.76 -1.17 3.59 -0.49 1.89 -1.31 3.54 -0.93 4.19 -0.82 
+3.67 0.32 3.73 0.32 4.04 -0.24 3.54 0.3 3.29 0.73 -2.11 1.29 -0.26 1.2 4.8 -1.72 
+2.11 -1.37 p
+2.25 -0.3 4.14 -1.23 2.43 -1.21 -0.26 -1.02 -3.25 0.5 0.06 -1.17 2.13 -0.71 1.91 -1.39 
+1.5 -1.61 2.08 -0.75 1.47 0.36 1.13 0.17 1.84 -1.43 2.91 -1.3 2.14 -2.17 3.17 -0.71 
+0.24 -0.98 2.86 -1.87 3.11 -2.11 2.78 -1.62 0.67 -0.39 3.38 -1.11 2.84 -0.28 3.41 -1.2 
+3.2 -0.57 2.86 -0.39 3.17 -1.13 3.88 -1.32 3.47 -0.96 4.69 -1.09 4.38 -1.47 3.99 -1.61 
+4.38 -1.61 0.83 -0.46 2.8 -1.57 1.34 0.3 -0.79 1.96 -2.64 2.06 2.56 0.18 2.6 0.13 
+-3.8 1.02 -2.25 1.63 2.6 0.19 3.06 -0.84 -3.84 2.59 -4.86 1.36 -2.08 1.87 -0.7 1.19 
+0 -5.62 4.05 -1.15 -0.56 -1.02 -2.82 0.5 -0.67 1.67 0 5.62 -0.43 0.76 1.23 0.41 
+-0.15 1.57 -0.45 1.8 3.36 -0.41 2.46 0.28 0.63 0.87 2.91 -0.52 3.62 -0.78 3.43 -0.59 
+3.35 -0.07 2.79 0.41 3.56 0.16 3.23 -0.5 3.69 -0.48 1.15 -0.48 4.41 -1.8 4.95 -1.8 
+1.06 -0.46 3.39 -1.43 4.63 -1.11 3.86 -1.41 4.14 -1.78 4.73 -2.47 5.29 -2.69 4.97 -2.98 
+0.54 -0.17 2.73 -0.93 4.97 -2.58 3.79 -3.04 4.11 -2.86 3.1 -3.02 0.5 -2.71 -2.23 0.52 
+1.63 -2.38 2.38 -1.43 3.75 -2.08 0.91 -1.41 2.67 -1.29 2.71 -2.79 4.66 -3.13 1.47 -0.15 
+3.43 -1.07 2.12 -2.19 3.54 -2.97 2.89 -2.8 2.06 -2.24 1.71 -2.45 1.32 0.13 2.63 -1.63 
+0.61 1.59 1.3 1.02 2.3 0.02 1.48 0.63 2.06 0.43 3.04 -0.63 3.21 -1.02 3.43 -1.46 
+3.11 -1.72 3.41 -2.47 3.06 -3.64 2.28 -4 2.3 -3.38 3.49 -4.06 -2.89 0.5 -3.41 1.72 
+-3.69 3.43 -3.43 0.67 -3.37 0.31 -1.71 2.97 -2.5 0.48 -1.25 -1.3 1.99 -3.71 -1.71 -1.36 
+-3.3 2.39 -3.16 2.02 -3.89 2.54 -0.43 -1.06 0.16 -1.55 -0.04 -2.12 1.54 -2.78 1.95 -2.67 
+2 -3.04 2.78 -2.54 2.41 -3 1.08 -2.06 -3.49 3.54 -1.74 -0.43 -1.91 1.52 -2.3 2.58 
+-3.32 2.67 -2.26 -0.21 0.34 -2.56 2.87 -2.78 3.3 -3.02 1.75 -2.67 2.26 -2.93 2.39 -1.82 
+1.93 -1.91 1.21 -2.8 -0.71 -1.22 2.48 -2.56 2.32 -1.59 1.84 0.29 1.28 0.89 1.15 1.28 
+2.68 -1.13 1.21 0.91 -0.46 1.89 -1.91 2.02 -2.06 2.37 -1.74 2.82 1.24 0.65 -0.02 1.57 
+-0.7 2.28 -0.11 1.95 3.71 -2.86 -0.67 -0.91 2.34 -3.15 1.98 -3.67 2.91 -2.23 2.21 -3.21 
+2.78 -3.61 2.41 -2.43 2.97 -2.82 1.07 1.69 1.04 1.71 3.08 -1.21 2.5 -0.87 2.56 -0.98 
+2.65 -1.34 0.67 0.93 1.76 0.61 2.47 -0.97 0.65 -2.87 2.09 1.04 2.06 -1.02 1.02 -2.49 
+1.39 -2.37 1.84 -2.39 1.02 -2.88 0.74 0.89 -1.07 3.28 0.74 0.91 0.09 1.71 1.69 -1.56 
+3.82 -3.1 0.26 -1.29 3.36 -3.28 1.52 -0.78 1.73 -2.07 0.28 -1.73 2.34 -2.97 2.76 -3.37 
+2.8 -3.43 2.26 -3.43 -0.3 -1.26 2.54 -1.8 2.06 -2.19 2.67 -3.56 2.11 -3.08 1.61 -3.14 
+2.56 -3.17 0.11 -2.56 1.96 -1.86 1.52 -3.19 1.93 -3.99 1.46 -3.61 1.89 -4.54 1.32 -4 
+0.32 -2.99 0.29 -2.95 -0.22 -2.47 2.15 -4.17 -2.54 0.11 2.63 -3.86 -2.02 -0.02 2.63 -3.45 
+0.55 -3.45 0.04 -2.89 0.89 -3.93 -0.11 -3.23 0.39 -3.41 1.5 -2.87 2.37 -1.52 0.58 -2.26 
+-0.37 -1.52 p
+-2.28 1.91 -1.33 1.21 -2.02 3.02 -0.37 -1.52 -1.72 -0.34 -0.57 -2.29 0.24 -3.29 0.69 -3.47 
+0.55 -3.8 1 -3.91 1.61 -3.8 0.78 -4.32 1.67 -3.45 1.98 -4.02 3.17 -2.36 2.2 -0.48 
+1.61 -1.83 2.54 -1.04 2.36 -1.3 2.67 -0.68 2.11 -0.45 2.38 -1.39 2.48 -1.11 2.78 -3.34 
+2.43 -2.8 2.24 -3.25 2.09 -3.64 1.71 -3.08 2.54 -5.23 1.65 -3.12 0.98 -3.23 0.02 -4.1 
+0.11 -3.71 0.11 -3.66 0.02 -3.7 -1.24 -2.45 2.11 -4.47 0.67 -4.55 -0.84 -2.76 0.15 -4.21 
+0.09 -4.23 -1.76 2.46 -1.66 3.79 -1.29 4.47 -1.75 -0.76 -1.72 1.46 -1.39 -2.34 -2.17 0.85 
+-2.02 2.02 -1.86 2.39 -1.73 1.39 -1.39 -0.09 -2.49 1.37 -1 -1.63 -1.5 -1.37 -2.04 4.13 
+-1.84 -0.76 -0.43 -2.82 1.8 -4.43 2.28 -4.78 0.91 -3.6 1.2 -4.25 0.41 -3.38 1.37 -4.82 
+1.78 -4.26 1.93 -3.1 1.15 2.45 2.23 -4.67 1.89 -1.24 1.91 -3.14 2.09 -3.8 1.67 -0.67 
+1.87 1.46 2.06 -1.93 2.11 -1.06 2.06 -1.02 2.04 -1.06 2.29 -2.67 1.3 -3.99 1.26 -4.02 
+1.23 -4.01 1.2 -4.06 1.76 -1.56 2.28 -3.56 1.78 -4.19 -2.2 -2.66 -1.52 0.89 -1.8 0.56 
+-2.04 0.29 -1.71 1.5 -2.23 0.91 -1.41 3.66 -2.22 1.89 -2.19 2.73 -0.96 4.23 -1.56 1.69 
+-1.76 4.25 -1.06 3.15 -1.08 2.16 -1.22 1.46 -1.84 1.32 -1.84 1.3 -0.26 0.26 0 -22.48 
+2.11 -1.08 1.76 -2.38 1.98 -2.13 2.06 -1.13 2.13 -0.26 2.28 -0.87 2.11 -2.84 2.36 -2.56 
+1.37 2.37 2.61 -2.32 1.67 1.09 2.32 -2.63 1.43 0.7 0.76 -4.41 1.28 1.45 2.06 -2.02 
+0.57 -3.8 0.02 -4.38 1.61 -1.65 1.8 2 1.67 -5.17 1.47 -1 1.17 -3.02 1.52 1.7 
+1.58 -1.82 -0.45 3.95 -1.17 1.32 -1.65 -1.02 0.15 3.8 1.34 2.43 1.65 -3.5 1.22 -3.08 
+1.13 0.43 0.59 -4.69 -2.8 0.35 1.28 -2.04 0.02 -5.25 0.96 -5.92 0.65 -4.45 0.43 -5.45 
+0.33 -4.73 -1.63 0.93 -1.3 -1.26 -0.29 -2.73 -1.24 0.5 -1.91 3.11 -2.02 1.35 -2.78 2.28 
+-1.87 2.34 -1 2.28 -2.08 1.26 -2.19 3.64 -2.09 2.91 -0.91 3.11 -2.02 3.84 -0.93 3.11 
+-2.08 2.09 -1.13 2.13 -1.07 0.06 0 -10.8 2.56 -4.82 -1.02 -1.7 -1.21 1.26 -1.02 3.82 
+0.7 1.43 0 10.8 -1.26 0.09 -1.78 4.82 -1.76 3.17 -0.62 2.62 -2.3 1.05 -1.43 0.21 
+0 -8.18 2.58 -2.34 0.74 -3.34 -2.14 2 -1.7 1.56 0.52 2.13 0 8.18 -0.7 0.11 
+-1.52 3.39 -2.21 1.8 -1.98 2.15 -1.28 -0.5 -2.7 2.19 -2.28 1.84 -1.73 2.35 -1.43 3.45 
+1.91 1.95 2.08 -1.19 1.89 1.98 2.25 1.62 0 22.48 -2.11 2.29 -2.37 1.64 -0.26 -2.17 
+-1.67 2.52 -1.41 3.69 -0.98 5.17 -1.78 4.32 -1.54 3.63 -0.34 3.32 -1.33 3.02 -2.3 2.67 
+-1.23 5.06 -2.39 3.45 -1.06 1.08 0 -541.79 -1.93 -2.63 -1.96 -2.63 -3.1 -3.69 -3.17 -3.69 
+-1 -1.52 -1.04 -1.54 -0.02 -0.58 -0.02 -0.61 -0.47 -1.74 -1.71 -1.91 -1.74 -1.93 -3.14 -2.82 
+-3.14 -2.8 -3.15 -2.75 -3.14 -2.71 -0.71 -0.48 -0.72 -0.46 -2.21 -1.71 -2.19 -1.68 -2.95 -2.36 
+-2.95 -2.32 2.47 2.41 2.43 2.41 -1.41 -0.87 -1.41 -0.84 -1.82 -1.17 -1.82 -1.15 1.67 1.91 
+1.63 1.89 p
+2.5 2.52 2.45 2.54 2.45 2.32 2.43 2.32 2.82 2.62 2.82 2.65 2.11 1.97 2.13 1.98 
+2.9 2.93 2.89 2.93 3.71 3.67 3.69 3.73 2.93 2.86 2.93 2.93 0 541.79 -1.8 1.82 
+-2.45 3.39 -2.17 2.86 -2.3 3.62 -2.02 3.11 -2.25 2.75 -2.37 1.56 -1.46 -0.08 0.83 -2.93 
+-0.39 -3.51 -0.19 -3.23 0.28 -3.43 -1.13 -1.52 -1.17 -0.65 -2.23 -0.11 -1.29 3.93 -1.67 4.49 
+-2.32 3.54 -2.56 3.19 -2.28 2.67 -0.89 -1.21 -2.21 1.8 -0.5 2.23 -2.25 1.78 -0.85 -1.17 
+-1.91 1.19 -2.69 1.18 -2.43 1.41 -2.07 2.04 -1.82 2.34 -2.06 1.96 -0.63 0.34 0 -118.21 
+2.95 -0.65 2.34 -2.46 2.3 -2.5 1.96 -2.73 2.11 -1.98 1.11 -3.96 0.3 -3.87 -1.04 -3.38 
+-2.02 -2.67 -1.67 -1.08 -1.71 2.21 -1.87 4.05 -1.11 2.65 -1.08 3.93 -0.5 3.05 -0.65 3.61 
+0.11 3.5 -1.52 2.28 0 118.21 -1.87 1.09 0 -3.78 0.09 -2.73 0.41 -3.23 -1.04 -2.22 
+-1.09 -2.19 -1.04 -2.24 -0.89 -1.91 -2.6 3.08 0.74 -2.6 -0.59 -2.45 -0.87 -2.62 0.74 -2.65 
+1.4 -1.78 0.72 -3.45 0.42 -3.65 -0.96 -2.66 -1.04 -1.84 -0.2 -3.47 0.28 -2.87 0.31 -3.69 
+-0.33 -3.4 -0.82 -2.32 -0.37 -2.65 0.13 -3.6 -0.68 -2.87 -0.36 -1.82 0.95 -2.93 -0.15 -2.37 
+-1.55 -1.97 -0.93 -1.45 0.57 -3.21 -2.3 -1.13 0.2 -3.37 0.8 -2.97 1.83 -3.49 1.8 -3.62 
+1.73 -3.59 1.11 -4.02 0.23 -3.99 0.02 -3.45 1.15 -3.32 1.24 -2.56 1.26 -3.86 -1.93 -1.34 
+-0.24 -4.21 1 -3.34 -1.48 -1.63 -1.15 -2.73 0.46 -4.38 -1.24 -2.73 -1.97 0.11 -2 1.34 
+-2.12 1.96 -1.8 3.41 -1.8 3.49 -1.69 2.85 -1.71 2.84 -1.84 2.04 -2.21 1.89 -1.91 2.09 
+-1.93 3.32 -1.75 2.8 -1.8 2.78 -1.46 2.99 -2.52 2.32 -2.48 2.32 -2.19 2.52 -1.68 2.22 
+-1.75 3.43 -1.57 2.93 -2.12 3.17 -2.2 3.23 -0.22 2.47 -1.32 1.11 -1.93 2.67 -1.06 3.28 
+-1.33 3.73 -2.11 1.93 -1.49 2.34 -1.13 3.23 -1.15 -0.17 0.61 -2.96 1.3 -3.73 -0.63 -3.06 
+-1.41 -2.28 -2.26 -1.48 -2.61 0.28 -2.69 1.54 -2.21 1.15 -2.3 2.41 2.23 1.43 1.43 2.25 
+-0.83 3.41 -1.69 -2.45 -2.19 -1.43 -2.82 0.76 -2.47 1.69 -2.25 0.5 -2.39 -0.19 -1.48 2.21 
+-1.8 2.11 -1.99 0.67 -1.89 1.35 -0.3 -0.09 0 -299.68 1.08 -0.82 -0.34 -2.09 -2.08 -0.37 
+1.34 3.28 0 299.68 -1.84 -0.55 -1.68 -1.69 -1.34 -1.41 -1.71 -1.61 -1.84 -0.48 -2.07 0.06 
+0 -301.45 1 -1.34 -0.58 -1.05 -2.09 -0.37 -0.45 1.89 2.12 0.87 0 301.45 -0.04 0 
+-0.83 -1.73 -2.28 -1.28 -1.78 -1.56 -2.11 -1.8 -2.89 -0.89 -1.89 -0.43 -2.54 -0.74 -2.04 -1.05 
+-2.26 -0.49 -2.8 -0.29 -2.61 -0.63 -2.97 -0.87 -1.87 2.58 -1.41 2.26 -2.19 1.26 -2.04 -0.98 
+-1.65 -1.95 -1.34 -1.74 -1.83 -2.54 -2.36 0.65 -1.89 -1.43 -2.17 1.35 -2.3 -0.46 -2.73 1.67 
+-2.32 0.7 -3.19 -0.26 -2.02 1.95 -1.88 2.56 -2.89 2.15 -2.78 2.71 -2.17 1.37 -1.37 -1.67 
+-1.95 0.85 -1.96 0.87 -0.28 -3.41 -2.06 -0.8 1.96 -2 -2.11 -1.86 2.15 -0.29 1.8 -2.58 
+2.17 -2.45 1.97 -1.98 2.71 -1.65 2.71 -1.71 2.5 -1.2 1.63 -2.15 0.56 -2.56 2.3 -1.8 
+1.26 -1.15 p
+0.58 2.93 -0.56 2.59 0.91 0.89 1.8 -1.45 1.45 -2.76 0.7 -3.06 -0.41 -3.47 1.84 0.74 
+1.21 -1.2 2.78 0.59 0.92 2.04 2.16 0.91 2.7 0.54 1.63 1.29 0.17 2.86 1.37 2.93 
+0.63 2.54 0.68 2.56 1.11 2.23 -0.11 2.3 1.25 -0.02 0.29 -1.61 1.17 -2.91 1.37 -3.39 
+2.71 -1.65 2.54 -1.13 2.69 -0.48 2.28 0.54 2.82 0.15 2.04 -1.95 2.39 -1.74 2.3 -0.63 
+0.11 -3.49 0.07 -3.47 -0.84 -2.15 -0.35 -2.52 -0.18 -2.95 -1.82 -0.83 -0.22 -2.99 0.68 -3.14 
+1.61 -2.17 -1.54 -1.78 -1.67 -1.34 -0.68 -1.48 0 -41.25 -0.19 -0.22 0 -370.7 -0.37 -2.02 
+0.02 -1.55 1.48 0.39 2.37 0.39 -2.12 -1.98 -1.39 0.11 -1.74 -1.43 -0.32 1.08 -2.71 -0.84 
+2.75 2.39 0.74 2.54 1.31 0.91 0 370.7 -1.82 -2.14 -1.95 -0.71 -1.87 0.45 1.26 2.11 
+2.52 0.3 2.06 0.22 0 41.25 -0.3 -0.65 0.2 -3.32 -0.82 -1.43 -1.67 -1.31 -1.97 -1.86 
+0.13 -3.32 -1.48 -2.26 -2.02 -0.26 -2.17 -1.37 -1.89 -2.38 -1.11 -1.02 0 -179.21 1.57 -2.69 
+1.15 -2.78 0.24 -3.41 1.04 -3.34 0.45 -4.41 0.22 -2.93 -2.04 -3.37 -1.89 2.15 -0.07 -4.93 
+-0.67 -2.62 -1.45 -1.72 -0.29 -2.54 -0.87 -3.56 -0.78 -3.08 -1.73 -3.69 -1.28 -3.13 -1.24 -3.12 
+-1.23 -2.65 -0.79 -2.56 -1.25 -2.56 -1.29 -2.62 -1.21 -2.61 -0.89 -2.5 -0.82 -2.54 -0.87 -2.54 
+-1.21 -2.07 -1.43 -3.03 -1.28 -2.59 -2.32 -3.15 -1.98 0.28 -2.76 -1.3 -2.43 -1.72 -2.62 -0.76 
+-0.5 0.3 0 -358.03 -5.55 -2.17 -5.56 -2.12 -5.51 -2.04 -5.5 -1.97 -5.09 -1.87 -5.12 -1.82 
+-5.17 -1.78 -5.21 -1.76 -3.6 -1.12 -3.58 -1.09 -3.58 -1.06 -3.56 -1.04 -2.88 -0.83 -2.89 -0.78 
+-2.86 -0.78 -2.84 -0.76 -1 -0.22 -1 -0.19 -0.98 -0.22 -0.95 -0.2 -2.78 -0.69 -2.75 -0.7 
+-5.47 -1.3 -2.19 -0.43 -2.17 -0.43 -2.14 -0.41 -2.11 -0.39 -2.29 -0.57 -2.28 -0.54 -2.3 -0.56 
+-2.3 -0.52 -2.34 -0.5 -2.32 -0.45 -4.6 -0.91 2.06 0.31 2.11 0.32 2.15 0.33 2.17 0.34 
+-3.37 -0.73 -3.36 -0.69 -3.34 -0.7 -3.36 -0.67 -1.74 -0.24 -1.7 -0.24 -1.71 -0.21 -1.65 -0.22 
+-1.98 -0.3 -1.95 -0.26 -1.93 -0.28 -1.91 -0.26 -4.37 -0.74 -4.34 -0.71 -4.36 -0.68 -4.34 -0.65 
+-4.28 -0.61 -4.27 -0.59 -4.25 -0.54 -4.28 -0.5 -3.14 -0.45 -3.21 -0.43 -3.21 -0.41 -3.25 -0.41 
+-2.08 -0.28 -2.11 -0.26 -2.13 -0.26 -2.13 -0.24 -3.21 -0.26 -6.37 -0.43 -3.19 -0.2 0.84 0.17 
+0.82 0.17 0.8 0.17 0.82 0.18 -0.97 0.2 -0.31 0.08 4.17 0.39 2.08 0.22 2.06 0.21 
+0.24 0.09 0.24 0.11 0.22 0.09 0.24 0.11 2.73 0.24 2.73 0.28 2.73 0.26 2.74 0.29 
+3.36 0.43 3.34 0.43 3.32 0.45 0.96 0.2 0.93 0.21 0.91 0.2 -1.06 -0.06 -1.08 -0.05 
+-1.07 -0.04 1.24 0.3 2.38 0.65 1.91 0.39 1.87 0.41 1.84 0.39 2.65 0.61 1.3 0.3 
+1.78 0.41 1.74 0.43 1.71 0.41 3.91 0.67 3.86 0.71 3.82 0.72 3.54 0.54 3.56 0.56 
+3.55 0.59 -0.84 -0.33 -0.89 -0.32 -0.89 -0.3 0.09 -0.2 0.09 -0.21 0.07 -0.2 2.09 0.28 
+2.11 0.3 2.12 0.31 3.61 0.67 3.62 0.69 3.63 0.72 3.71 0.75 3.69 0.79 3.69 0.83 
+4.88 1.06 p
+4.9 1.11 4.93 1.15 -1.78 -0.56 -1.79 -0.54 -1.8 -0.55 -3.49 -0.93 -3.54 -0.91 -3.56 -0.91 
+0.57 0 0.56 0.02 0.57 0 0.59 0.02 -0.63 -0.26 -0.63 -0.24 -1.3 -0.52 1.56 0.26 
+3.17 0.57 1.61 0.28 1.87 0.37 1.89 0.39 3.82 0.82 -1.06 -0.32 -1.05 -0.35 -2.16 -0.65 
+7.29 1.82 3.62 0.93 3.63 0.97 2.88 0.7 2.89 0.72 2.93 0.74 2.93 0.76 3.62 0.98 
+3.62 1.02 3.67 1.04 3.67 1.06 3.64 1.08 3.64 1.11 3.67 1.15 3.71 1.17 3.49 1.15 
+3.5 1.17 3.54 1.21 3.53 1.24 2.15 0.72 4.38 1.48 2.24 0.78 3.41 1.24 3.45 1.28 
+3.47 1.33 3.47 1.34 0 358.03 -1.37 0.89 -1.74 1.67 -1.63 2.63 0.2 3.29 0.2 3.82 
+-0.91 2.28 0.04 2.84 0.37 2.38 2.23 3.65 2.13 2.63 1.17 2.56 2.19 3.18 0.74 2.52 
+-0.89 3.21 0.28 2.47 -0.91 3.21 -0.07 3.34 2.04 3.21 1.74 4.62 2.21 0.35 2.78 1.91 
+2.72 1.43 2.78 1.93 2.28 1.84 2.43 3.38 2.22 0.37 -0.29 2.45 1.89 1.82 -0.26 2.91 
+2.64 0.95 2.26 1.43 0.56 2.56 0.17 3.04 2.32 2.95 0 179.21 -0.93 -0.84 -1.93 -2.37 
+-0.26 -2.25 0.54 -2.04 -2.11 -1.81 -2.11 -1.84 -2.13 -1.84 -2.15 -1.75 -2.54 -1.96 -2.06 -2.28 
+-1.06 -3.04 -2.22 -1.73 -2.43 -0.76 -1.57 -2.62 -1.35 -2 -2.36 -1.21 -2.58 -0.26 -2.02 -0.59 
+-0.84 -2.32 -2.28 -1.72 -2.41 -1.17 -2.43 -1.15 -2.2 -0.11 -2.23 2.52 -0.17 3.04 -1.15 1.26 
+-1.5 3.19 -1.56 3.23 -1.04 2.84 -0.11 2.52 -0.96 2.34 -1.89 2.61 -2.32 2.46 -1.95 1.02 
+-1.8 2.11 -5.73 7.75 -2.62 1.82 -3.45 0.13 -1.28 1.7 -2.08 1.54 -1.24 3.26 -1 2.32 
+-0.09 2 -1.13 2.8 -1.93 2.56 -2.32 2.46 -2.5 1.37 -2.75 0.8 -1.93 2.56 -1.56 2.67 
+-2.32 2.45 -2.06 1.55 -2.37 2.45 -2.32 2.45 -1.8 2.04 -2.17 2.02 -2.32 -0.59 -0.02 3.02 
+0 3.06 -0.8 2.82 -0.61 -3.66 -0.24 -3.65 0.63 -2.34 -0.93 -1.26 -2.45 1.41 -2.04 1.56 
+-1.28 1.69 -1.65 1.59 -1.91 2.58 -1.41 2.19 -0.91 -1.23 1.79 -2.06 1.04 -2.28 1.78 -2.1 
+2.13 -1.98 2.06 -1.56 1.02 -2.23 1.39 -1.39 0.28 -0.26 0.97 -2.26 2.29 -2.47 1.4 -2.21 
+1.89 -2.58 1.8 -2.11 1.88 -2.59 2.06 -1.49 0.2 -2.52 0.84 -1.8 1.89 -2.58 1.99 -1.02 
+2.32 -0.96 1.89 -0.57 0.46 -2 0.33 -1.36 2.17 -2.02 0.43 -1.91 0.28 -3 1.13 -3.25 
+0.93 -2.32 1.95 -3.06 2.8 -0.84 3.02 -1.82 1.76 -2.12 1.87 -2.61 1.15 -3.28 0.98 -2.82 
+1.76 -2.12 1.76 -0.07 1.82 -2.61 3.26 -0.72 2.71 -0.34 2.65 -2.41 3 -1.73 2.16 -2.04 
+2.54 -1.93 2.59 -1.84 1.41 -2.73 -2.26 -2.15 1.93 -1.05 2.04 -1.56 2.14 -1.97 1.93 -1.05 
+2.63 0.15 2.34 1.7 2.26 2.19 2.99 0.35 2.43 1.19 2.56 2.82 2.89 0.84 2.28 1.76 
+2.56 0.28 2.66 1.84 2.7 1.96 1.45 3.16 3.11 -0.08 0.52 -4.67 0.3 -3.62 -0.71 -2.93 
+0.67 -3.49 -1.09 -3.54 -0.78 -2.91 -0.89 -2.39 -0.35 -3.25 -0.84 -2.91 -0.79 -3.41 -0.46 -2.78 
+-0.3 -3.73 -1.87 -2.58 -1.39 -2.52 -0.89 -3.37 -0.97 -2.8 -1.84 -3.1 -1.48 -2.43 -1.89 -3.08 
+-1.45 -2.96 p
+-1.97 -2.5 -2 -2.52 -2.54 -1.63 -1.95 -2.47 -2 -3.02 -2.11 -2 -2.02 -2.43 -1.12 -2.8 
+-2.5 -3.06 -1.61 -3.34 -1.65 -2.32 -1.17 -3.23 -2.15 -2.41 -2.08 -2.91 -2.28 0.05 0.13 -3.43 
+-1.65 -3.73 -1.71 -3.82 -1.3 -2.65 -1.28 -3.17 -0.82 -3.08 -0.87 -3.1 2.3 -2.54 2.23 -2.54 
+-1.34 -3.17 -0.02 -3.45 0.43 -3.77 1.3 -3.23 0.8 -2.8 1.8 -1.15 1.74 -1.65 -0.09 -2.93 
+-0.54 -3 0.3 -2.86 -0.11 -2.46 -0.61 -3.45 0.68 -3.25 -0.18 -2.93 0.68 -3.3 -0.63 -2.97 
+-1.52 -2.58 -2.04 -2.69 -1.91 -2.17 -2.91 -2.8 -1.95 -2.13 -3.65 -1 -2.35 -1.21 -2.78 -1.3 
+-2.02 -2.62 -2 -2.56 -2.56 -3.1 -2.37 -1.24 -2.02 -2.58 -1.93 -1.61 -2.47 -2.11 -0.74 -2.87 
+1.56 -1.67 0.5 -3.23 0.39 -3.62 0.61 -2.28 -0.45 -3.26 -0.76 -2.39 0.02 -2.76 -1.76 -2.93 
+-1.95 -1.54 -2.8 -1.2 -3.76 -1.71 -1.89 -1.02 -2.8 -1.17 -2.3 -3.34 1.65 -0.8 -0.3 -1.8 
+-0.37 -2.32 -1.36 -2.79 -1.43 -3.25 -1.32 -2.78 -2.45 -1.55 -2.96 -2.02 -1.71 -2.32 -2.12 -2.39 
+-1.8 -2.78 -1.74 -2.34 -2.59 -2.32 -2.54 -1.95 -2.04 -1.84 -2.61 -2.37 -2.04 -1.84 -2.4 -1.43 
+-3.32 -1.89 -2.5 -1.91 -2.65 -0.54 -2.97 -0.13 -1.54 -1.37 -3.43 -0.15 -1.93 -1.39 -2.5 0.3 
+-2.82 0.76 -2.3 -0.98 -2.91 0.34 -3.12 -0.58 -1.91 -1.35 -3.45 -0.13 -3.06 -0.52 -1.89 -1.35 
+-3.04 -0.11 -1.86 1.63 -1.93 1.67 -1.82 -0.93 0.28 2.17 -0.59 2.08 -1.8 2.95 1.3 0.07 
+1.48 1.32 -0.02 3 -1.39 2.95 -1.54 2.11 -1.09 2.13 -0.52 2.99 -1.11 2.15 -0.61 2.99 
+-1.56 2.13 -2.54 1.63 -1.15 2.15 -1.69 1.67 -0.22 2.6 -0.7 3.02 -0.67 2.61 -0.33 2.19 
+0.17 2.65 -1.15 3.02 -0.3 2.21 0.17 2.67 -0.26 3.06 0.59 2.25 -0.83 2.21 -2.17 2.09 
+-0.82 2.21 -1.76 2.17 -0.8 3.08 -1.73 2.61 -1.3 2.63 -1.32 2.21 -1.85 1.7 -1.3 3.07 
+-0.37 2.68 0.07 2.28 0.55 2.71 0.06 2.71 1.5 2.78 0.59 2.73 0.98 2.75 1.04 3.21 
+1.04 3.26 1.91 2.32 2.43 1.5 1.48 2.37 0.96 2.34 0.56 3.21 -0.48 3.17 -1.41 1.8 
+-1.39 2.19 -0.91 2.72 -0.95 1.32 2.43 2.88 -0.96 2.72 -1.43 2.25 -0.46 2.73 -1.43 2.71 
+-1.43 1.76 -0.52 2.3 -0.93 1.34 0 2.32 -1.45 2.21 -1.95 2.24 -1.46 2.28 -1.91 1.73 
+-1.91 1.76 -1.97 1.8 -2.89 1.72 -1.91 2.71 -1.93 2.25 -1 2.75 -1.47 2.73 2.84 1.96 
+0.44 2.82 -0.05 2.8 1.39 2.41 -1.91 0.8 1.39 2.43 0.93 2.39 0.39 3.28 0.89 3.3 
+-2 2.28 -1.45 2.3 -2.34 0.34 -0.59 2.78 -0.8 -0.02 0 -4.23 1.43 -0.89 -0.93 -1.89 
+-1.43 0.39 0.93 2.39 0 4.23 -1.52 -0.06 -2.37 -0.54 -2.84 -0.11 -2.82 -0.61 -2.84 -0.54 
+-2.85 -0.09 -3.32 1.76 -1.02 3.73 -1.48 3.73 -2.86 2.26 -2.84 0.89 -3.28 -0.06 -3.32 -0.5 
+-2.85 -0.05 -2.82 -0.52 -3.28 -0.93 -1.41 -1.91 -3.79 -0.02 -3.3 -1.87 -2.39 -1.39 -2.32 -0.43 
+-2.84 -0.93 -2.41 -1.39 -3.28 1.43 -2.84 0.5 -4.25 1.02 -2.82 0.07 -2.39 -0.42 -3.29 -0.41 
+-3.37 -0.35 -2.37 -1.8 -3.36 -0.39 -2.86 -1.76 -2.32 0.54 -2.82 1.07 -3.27 2.5 -2.8 1.99 
+-2.26 1.98 p
+-2.73 2.95 -3.71 2.13 -2.3 2.43 -2.76 1.59 -2.73 1.58 -2.69 3.02 -0.78 2.43 -0.41 2.43 
+-0.3 2.86 -1.71 2.46 -2.21 2.54 -2.23 1.58 -1.26 2.5 -1.67 2.47 -2.25 1.17 -0.2 3.84 
+-2.34 -0.33 -2.15 1.63 -2.19 1.63 0.24 3.36 0.65 2.8 -0.17 3.34 -1.12 2.97 -2.15 1.65 
+2.39 1.2 1.54 2.25 1.97 2.18 0.32 3.82 2.3 5.52 0.67 2.79 0.26 2.84 -0.65 2.93 
+-1.46 3.01 1.91 1.72 0.26 2.84 -1.89 2.61 -2 2.1 0.71 2.8 0.79 2.78 1.84 1.26 
+1.54 2.23 1.7 3.69 1.52 2.2 1.93 2.21 2.39 2.2 1.63 3.17 1.11 2.3 1.11 2.76 
+1.39 1.3 2.65 1.17 1.46 1.76 1.13 2.75 1.87 2.23 3.77 0.16 3.45 1.15 1.84 2.25 
+3.04 1.2 2.22 2.17 1.84 2.26 1.5 3.19 -1.06 2.02 0.37 4.67 1.71 1.3 1.39 2.3 
+0.15 1.84 2.15 1.73 1.73 2.28 2.48 1.26 2.8 0.82 2.91 1.7 1.32 2.32 1.3 2.23 
+0.89 2.34 1.3 2.76 2.35 0.35 1.07 -1.89 3.03 -1.98 1.98 0.39 3.06 -0.07 1.97 0.39 
+2.67 -1.45 2.34 0.48 3.14 1.37 1.17 1.84 2.32 0.43 2.32 0.5 2.3 1.84 2.28 1.43 
+3.45 0.48 3.06 0.55 2.25 0.95 2.28 0.05 1.86 0.54 2.7 0.09 2.67 -0.41 1.56 -0.85 
+2.26 0.55 1.85 1.48 3.47 -0.78 1.85 1.07 3.49 -0.76 2.23 0.63 1.73 1.52 2.24 0.61 
+2.3 -0.28 1.41 -2.71 2.91 1.63 -0.91 -2.43 -1.39 -1.08 1.04 -3.19 1.67 -0.83 0.61 -2.28 
+-0.93 -2.45 -1.78 -2 -1.41 -1.52 0.58 -2.32 2.06 -0.82 1.93 0.65 0.98 -2.3 2.95 -1.17 
+2.45 -0.76 3.15 0.26 3.6 -0.11 2.84 -0.19 2.91 -1.13 2.89 -0.67 0.05 -0.37 0.32 -2.43 
+1.37 -1.3 2.58 -1.13 2.89 -0.13 4.1 -0.5 3.5 -1.47 2.69 -1.61 2.46 -0.13 1.82 1.22 
+1.39 1.63 0.37 2.43 -0.76 2.32 -1.13 1.74 0.85 2.08 2.36 2.71 2.52 1.37 2.62 0.85 
+3.19 0.06 2.89 -0.52 0.87 -2.26 2.8 -0.04 2.89 -0.44 2.75 0.48 1.67 -2.17 2.6 0.96 
+2.78 0.04 2.84 0.07 2.13 -0.58 2.54 -0.5 2.73 0.56 3.04 -0.87 2.17 1 1.95 1.91 
+2.3 1.99 2.59 1.06 3.12 0.24 0.16 -2 2.16 -0.45 0.22 2.04 1.93 -1.04 2.52 1.08 
+3.26 1.37 0.95 2.23 0.7 3.21 -0.15 3.02 -0.11 3.02 0.22 3.11 0.04 3.54 0.67 2.76 
+-1.28 2.71 -1.26 3.73 0.11 2.06 -1.35 1.63 0.71 2.28 -0.82 1.3 -1.43 -2.5 -1.39 -0.39 
+-1 0.19 0 -6.55 -1.75 -2.95 1.13 -1.21 -1.78 -0.46 -0.35 -1.43 -1.97 -1.24 -2.69 -0.12 
+-1.3 1.66 2.06 1 0.79 1.22 1.67 0.91 1.99 1.06 2.21 1.56 0 6.55 -2.3 0.41 
+-1.17 -2.3 -1.54 -2.41 -1.73 -0.46 -1.52 -1.41 -2.43 0.39 -1.65 1.58 -3.64 0.61 -2.62 -0.16 
+-0.05 -2.47 -2.87 -2.15 -2.4 0.41 -3.59 1.69 -0.95 -0.21 0 -1.75 -0.2 -2.24 -1.15 -1.43 
+-0.78 1.56 2.13 2.11 0 1.75 -1.56 -0.33 0.37 1.54 -4.34 -0.91 0.93 2.14 -2.19 1 
+-0.11 1.98 -2.04 0.52 -0.5 0.11 0 -16.34 0.35 -1.39 1.99 1.39 0.02 -1.65 -2.95 -0.8 
+-2.95 -0.72 -1.72 0.74 -2.37 0.09 -2.23 -0.39 -0.16 2.37 2.74 0.02 0.56 -0.89 2.13 0.91 
+2.04 -0.33 p
+2.54 0.65 0 16.34 -1.91 0.39 -0.13 1.91 1.82 -1.08 0.93 0.71 -1.11 1.23 -1.22 3.17 
+0.3 1.52 -3.38 -1.17 -0.16 3.37 1.22 2.19 2.45 0.52 2.41 0.52 2.78 0.61 2.39 0.56 
+-0.76 1.31 1.91 0.98 -2.98 1.25 -2.71 -0.62 -2.95 -1.13 -1 -1.67 -1.61 -2.11 -1.22 -2.19 
+-0.32 1.18 1.21 2.16 -1.98 -0.87 -1.87 1.54 -2.54 0.02 -1.62 -0.84 -2.21 0.08 -0.67 -1.56 
+-2.11 -0.39 1.39 -1.2 -0.37 -1.52 -2.11 -0.39 -2.67 1.91 0.43 -3.28 1.95 -2.08 1.89 -1.59 
+1.11 -1.71 1.8 -1.13 1.99 -0.62 0.83 -1.76 2.02 -0.61 -2.76 0.48 0.79 -3.3 -2.61 1.52 
+-2.65 0 -1.89 1.58 -3.17 -1 2.39 -0.58 2.49 -1.02 2.13 -2.54 -2.32 0.13 1.23 -2.24 
+1.83 -3.04 -2.21 1.52 -1.13 -2.08 -1.5 1.65 -1.83 -0.29 -1.04 1.26 -0.13 2.41 -2.6 1.5 
+0.71 2.02 1.97 1.3 -3.36 -0.08 -2.29 2.04 -2.04 2.56 -1.45 1.68 -1.91 2.12 -2.09 1.11 
+-0.57 2.78 -0.28 3.28 -0.15 2.39 -2.37 1.07 -2.45 1.52 -2.69 1.04 -2.89 1.97 -3.54 1.91 
+-2.47 0.15 -1.26 1.24 -2.62 1.11 -0.3 1.82 -1.25 1.26 -0.76 2.26 -2.97 1.52 -0.07 -1.87 
+-1.17 -1.08 -1.24 1.28 -0.61 1.85 0.43 1.43 -2.09 0.24 -1.8 -1.58 -1.63 -0.17 -0.11 -1.84 
+1.2 -1.29 -0.39 -1.93 0.58 -1.8 1.98 -1.65 1.91 -1.21 2.26 -1.17 1.41 -2.21 0.72 -2.29 
+1.25 -1.28 2.32 -1.15 2.67 -1.11 3.51 0.43 -0.73 -1.96 2.28 -0.7 2.73 -1.06 4.77 -2.22 
+2.59 -1.97 -0.37 -1.99 -1.52 0.3 -0.73 1.78 -2.21 0.17 -1.93 0.7 -0.76 -1.96 -0.26 -2.88 
+2.4 -1.11 0.42 -2.34 -2.02 -1.24 0.38 -2.28 -1.22 -1.56 -0.54 -1.5 -1.45 -0.17 -0.24 1.41 
+0.35 2.36 0.89 1.52 -0.73 2.3 -0.57 0.84 0 -6.59 -1.15 -2.52 -0.28 -2.87 0.98 -1.78 
+-0.43 -1.91 -3.11 0.11 -1.73 1.69 -2.32 0.29 -3.26 1.54 -1.48 -0.13 -1.82 2.19 1.72 1.59 
+2.21 0.22 2 -0.79 2.58 0.29 3.28 0.8 2.82 1.28 0 6.59 -0.91 1.37 -0.63 1.8 
+-3.06 0.61 -1.43 2.15 -1.5 0.34 -2 1.2 -2.08 1.65 -2.82 -0.28 -2.32 1.17 -2.08 2.17 
+-2.41 2.08 -2.11 -0.17 -0.57 1.84 -2.36 2.1 -1.3 2.24 -0.7 2.75 -2.15 0.22 0 -5.97 
+0.28 -2.78 0.52 -1.8 -0.52 -1.95 -0.02 -0.13 0 -3.1 2.04 -2.21 0.59 -2.26 0.24 -2.34 
+-0.11 -2.36 -0.54 -2.35 -1.84 -0.13 -1.3 -1.97 -2.02 1.76 0.15 2.82 -0.24 2.8 -1.28 2.21 
+-0.17 1.89 1.13 -0.43 1.39 0.59 1.97 1.99 0 3.1 -0.39 -2.69 -2.37 2.2 -0.54 1.8 
+0.15 2.37 2.02 1.08 0.87 1.91 0 5.97 -0.3 0.04 -1.45 0.82 -2.11 0.3 -1.65 -1 
+-0.87 -1.95 -2.32 -1.02 -2.37 -1.52 -1.56 -1.98 -2.45 -0.56 -2.54 1.28 -2.82 0.35 -2.48 0.84 
+-1.71 -1.43 -2.39 -1.46 0.43 -2.75 0.48 -3.21 -0.72 -0.5 0 -10.66 2.26 -1.34 -1.43 -2.28 
+-1.58 1.26 -2.15 0.39 2.9 1.97 0 10.66 -1.36 -0.93 -2.5 -1.95 -2.5 -0.91 -2.15 -0.98 
+-2.17 -3.23 -2.17 -2.8 -1.48 -2.34 0.35 -2.34 2.23 -1.84 -2.61 -1.84 -1.54 -1.89 -0.74 -2.3 
+-2.25 0.02 -2.32 -2.78 -1.61 -2.32 -2.65 0.04 -2.64 0.07 -2.72 0.06 -2.66 -0.37 -2.32 -0.87 
+-2.43 -2.28 p
+-2.24 1.06 -1.35 2.87 -0.69 1.43 -2.2 1.52 -1.91 0.09 -1.93 -0.85 -2.21 0.63 -2.74 -0.32 
+0.98 2.3 0.24 2.8 0.61 2.78 -1.84 0.11 -0.93 1.91 0.61 2.78 1.63 1.8 0.7 3.2 
+0.96 2.75 0.61 2.3 -0.48 2.84 -0.18 1.84 0.56 2.3 -1.45 3.34 1.2 1.32 2.52 0.29 
+1.58 2.24 3 -1.57 2.8 -0.15 3.16 0.29 3.11 -0.57 2.71 -1.04 3.56 0.82 3.47 -0.52 
+2.41 -0.54 2.13 0.45 1.07 1.39 0.76 3.19 0.37 2.32 0.39 3.21 0.37 3.19 -0.97 2.32 
+-1.98 1.41 -0.98 1.39 0.37 1.39 -1.58 1.82 -0.66 0.96 -2.6 0.5 -2.22 1.43 -1.95 0.06 
+-1.59 1 -0.15 2.75 2.25 0.37 1.98 0.87 2.58 0.37 1.21 -1.84 2.61 0.39 2.24 -0.02 
+-0.57 3.23 -1.24 2.75 2.24 -0.02 0.93 -2.32 1.91 0.43 2.21 -0.45 0.63 2.32 1.54 0.87 
+1.89 0.5 1.57 0.89 0.25 2.3 0.59 1.82 2.13 0.95 2.41 1.43 2.11 0.98 1.43 1.84 
+1.11 1.84 0.79 1.87 0.48 2.25 1.13 0.55 0.2 -2.71 1.56 -0.87 1.41 1.43 -0.11 1.37 
+-1.52 0.35 -0.17 2.28 1.95 1.04 3.23 0.18 1.02 1.41 2.34 0.15 1.85 -0.79 0.07 1.8 
+1.28 1.46 -1.28 1.26 0.99 1.02 -1.32 1.7 -0.32 2.69 -1.84 1.21 -0.57 2.23 -0.3 2.7 
+0.35 1.8 1.2 1.43 2.34 0.67 1.06 1.89 2.06 0.63 0.28 -1.78 -0.48 -2.32 0.26 -1.76 
+1.89 0.18 0.28 -1.76 -1.34 -0.74 0 -2.6 1.74 -0.98 0.09 -1.74 -2.09 -0.2 -1.41 2.17 
+1.67 0.74 0 2.6 -0.7 -0.39 -0.99 -2.8 -0.76 -2.78 2.15 -1.17 0.2 -1.37 3.34 -1.06 
+-0.32 -1.82 2 0.19 1.5 1.52 1.3 1 2.19 0.74 1.16 1.49 1.5 -1.69 -1.28 -1.02 
+2.14 -0.69 1.81 -0.22 2.58 1.72 2.74 0.8 1.84 2.09 2.56 1.32 2.64 0.87 1.82 -2.5 
+1.96 0.33 1.41 1.2 0.2 2.38 2.08 1.79 0.29 2.86 -1.07 2.59 -0.93 3.08 0.5 1.93 
+0.21 2.84 2.13 0.93 1.97 -1 1.63 -1.57 1.93 -0.02 1.09 1.65 -1.91 5.21 -1.89 0.04 
+-1.52 2.02 -0.8 2.19 1.47 1.74 2.24 0.98 2.47 1.04 2.95 -0.17 3.11 0.82 0.58 1.59 
+1.59 2.34 3.19 -0.06 -2.17 1.8 -1.67 -0.93 -3.02 1.52 -3.19 -0.87 -2.19 -1.47 -2.24 -1.5 
+-2.21 -1.5 -2.47 -1 -1.2 0.13 0 -5.54 1.93 -1 -1.52 -0.93 -0.09 0.11 0 -0.7 
+2.71 -0.11 -1.13 -1.35 -1.15 -1.36 -1.43 1 1 1.82 0 0.7 -0.48 0.67 0.16 1.15 
+0 5.54 -1.74 0.17 -1.89 1 -2.56 0.87 -0.58 1.71 0.07 2.78 -1.41 1.63 0 -21.66 
+-0.95 -1.43 0.61 -2.24 -1.28 -1.3 -1.13 2.13 0.67 1.65 2.08 1.19 0 21.66 -0.63 0.74 
+-1.11 2.54 0.2 2.78 1.41 2.63 1.15 3.02 1.26 2.58 0.41 2.89 1.24 1.25 -1.09 2.5 
+-2.69 1.17 -1.43 -0.78 -1.56 -0.37 -1.95 0 -0.37 -1.89 -1.09 -1.17 0.68 -1.21 -0.63 -1.96 
+2.12 -0.91 -1.08 -2.04 -0.24 -1.91 -1.76 -1.71 -1.3 -1.61 -1.47 -2.09 -1.02 -2.89 -0.54 -1.45 
+0.48 -2.65 0.26 -2.67 0.83 -2.17 2.41 -1.41 2.39 -1.41 1.24 -1.65 -0.35 -1.43 -1.34 -1.61 
+1.21 -0.68 -1.89 -1.69 -1.8 -2.15 -0.07 -1.82 0.65 -2.65 0.02 -2.3 0.2 -3.14 -0.59 -3.28 
+-1.91 -0.29 p
+-2.15 -0.28 -1.17 -2.45 0.61 -1.74 -1.91 -0.22 -2.23 -0.26 -0.33 1.76 -1.48 2.13 0.48 1.87 
+-1.23 1.08 0 -3.41 0.91 -2.08 -1.15 -1.39 1.02 -0.93 -1.85 -1.02 -0.65 0.07 0 -1.26 
+1.75 -0.32 -0.69 -0.93 -1.63 -0.67 -1.32 1.23 1.89 0.7 0 1.26 -1.34 0.13 -1 2.63 
+2.04 1.3 2.02 1.3 0 3.41 -1.09 0.93 -1.52 2.56 -1.59 2.97 -1.52 2.56 -1.28 3 
+-1.74 1.19 -0.73 -1.84 -1.52 -0.16 -2 -2.43 -1.33 -1.87 -2.45 -1.52 -2.69 0.25 -2.74 1.17 
+-1.43 1.29 0.08 2.25 1.39 1.82 -2.25 -0.54 -0.68 1.73 0.85 1.86 -1.67 2.11 -0.41 2.21 
+-0.67 2.22 1.09 1.78 -1.09 1.71 1.98 1.89 1.69 1.85 1.61 2.32 2.71 0.63 1.13 1.82 
+0.82 2.3 1.74 -1.17 1.21 2.32 1.17 2.3 1.15 3.23 1.8 1.95 0.48 2.71 0.56 2.3 
+0.33 2.21 0.67 2.32 1.43 2.41 0.22 2.21 1.93 2.96 -2.52 -0.81 -2.14 -0.74 -2.04 -2.06 
+1.21 2.36 2.76 1.3 -1.63 1.09 1.65 1.56 1.34 1.95 0.2 -2.62 1.07 1.49 0.7 -1.63 
+1.46 2 -1.37 0.2 -0.54 1.72 2.02 1.19 0.89 2.84 2.54 0.5 2.37 1.43 0.79 2.43 
+1.41 1.69 2.34 -0.78 0.35 1.89 1.2 1.26 1.23 -2.91 1.09 2.17 1.52 -1.91 0.26 3.32 
+2.91 -0.02 2.71 -0.55 2.58 -0.58 -1.26 -2.34 -2.64 -0.33 3.32 -0.87 2.65 0.39 1.11 1.37 
+2.41 -0.13 1 -1.56 2.99 0.58 3.06 0.22 3.06 -0.26 3.06 -0.78 3.04 -0.7 2.8 -0.3 
+2.95 -0.7 2.17 -1.65 1.78 -2.3 -0.2 -2.17 -1.37 -2.17 -2.14 -1.48 -2.86 -0.13 -2.39 -0.48 
+-2.23 -0.33 -2.91 0.42 -2.98 -0.14 -2.95 0.96 2.7 -2 2.54 -0.57 3.43 -1.24 1.5 -2.41 
+1.26 -2.04 1.47 -2.43 0.31 -0.02 2.95 -0.29 1.43 -0.43 2.13 -0.65 2.9 1.15 -1.61 2.41 
+-1.71 -0.7 -2.97 1.3 -0.13 2.02 2.13 0.3 2.87 -0.34 2.36 0 2.87 0.71 -2.8 1.86 
+-2.49 1.52 0.63 2.34 1.2 2.11 0.13 2.23 2.34 0.57 2.08 0 -0.08 2.11 -1.93 2.25 
+-1.93 0.11 -1.25 2.61 -2.23 2.61 -3.3 1.02 2.91 0.42 2.11 1.13 2.04 -0.55 2.43 -1.43 
+-1.8 -1.52 0.56 -2.47 2.34 0.22 2.3 -1.02 1.87 1.06 0.52 2 -2.43 2.58 0.93 1.67 
+0.81 2.24 0.3 1.97 1.02 1.89 0.33 2.06 0.3 2.04 2.43 -1.95 2.84 -0.41 -1.02 1.76 
+1.15 1.48 1.99 0.97 -0.25 2.39 0.43 1.75 2.91 -2.25 1.52 0.59 -1.71 1.32 0.52 1.13 
+-0.48 1.67 -2.48 0.54 -2.19 0.89 -2.61 -0.24 -2.06 0.28 -1 1.8 3.56 -0.3 3.73 0.65 
+2 1.26 3.17 0.11 1.64 1 2.48 0.33 0.5 0.2 1.71 0.65 2.61 -0.24 2.37 0.28 
+-2.24 2.41 -2.25 -0.17 -3.36 1.04 -1.98 -0.63 -1.82 1.13 -1.91 1.96 -2.84 0.76 -2.19 1.61 
+-0.63 2.61 -1.93 1.95 -2.76 1.78 -1.93 1.98 -1.93 1.91 -0.16 1.73 2.37 -0.37 1.24 -1.13 
+2.69 1.06 2.04 -1 2.13 -1.71 2 -2 3.23 -0.2 2.97 -1.49 2.97 -1.55 3.32 -1.93 
+2.95 -1.59 3.45 0.11 1.99 -1.91 2.46 -1.37 1.75 -2.39 1.15 -2.12 0.35 -3.15 3.64 0.2 
+-0.37 2.3 -0.82 2.67 -1.91 2.15 -1.65 2.63 -3.77 1.32 -2.89 1.67 -0.68 2.11 -1.91 -2.04 
+-3.73 1.46 p
+-2.84 1.75 -2.04 1.91 -2.96 0.57 -2.52 0.11 -2.54 2.21 -0.32 1.65 -1.65 1.57 -2.17 0.82 
+-2.17 -0.43 -0.76 0.84 2.73 0.33 3.26 -1.07 2.28 -1.69 3.06 -1.41 4.34 3.38 -1.91 -0.02 
+-2.54 -1.21 -2.95 0.48 -0.41 1.52 2.13 0.43 -0.7 1.21 -2.93 -0.86 -1.08 1.61 2.04 0.32 
+0.61 1.3 2.22 0.8 3.16 0.37 -0.39 2.09 -3.04 0.06 -1.78 -1.36 -3.21 1.17 -3.97 0.74 
+0.28 2.23 0.15 2.39 -0.48 2.19 -0.07 2.37 -2.86 0.11 -2.24 0.71 -1.97 1.65 -1.96 1.9 
+-1.39 2.56 -0.98 2.04 -2.16 1.61 0.02 1.69 -1.78 2.73 2.3 -0.65 -1.43 3.26 -2.21 -0.29 
+-0.3 2.21 -3.43 0.2 -3.19 1.72 -2.64 1.63 1.69 2.02 2.87 -1.91 -0.52 1.85 0.04 1.58 
+3.8 -1.13 -0.52 1.54 -1.82 0.33 -0.57 1.52 -0.17 1.71 0.52 1.43 1.63 1.34 2.63 0.59 
+3.43 0.08 2.89 -1.28 3.64 -1.74 2.89 -1.65 3.5 -1.75 1.63 -1.58 3.08 -1.02 -0.43 1.48 
+-1.65 1.73 -1.8 1.82 -1.37 -0.89 -2.04 0.87 0.63 1.32 0.63 1.11 -0.58 1.32 -2.68 -0.32 
+-0.97 -1.65 -1.41 0.59 -0.18 1.58 2.56 -0.52 3.39 1.25 -1.89 1.48 -1.28 1.37 0.13 1.82 
+-1.11 1.84 2.82 0.07 -0.18 2.13 -1.34 2.73 -1.82 1.65 -1.61 -1 -2.32 -0.15 -1.8 2.28 
+-0.7 2.9 -0.87 2.3 1.48 2.32 3.41 0.37 3.5 -0.37 2.17 1.63 1.21 1.87 -0.28 1.55 
+-3.04 0.49 -2.84 -0.34 -2.91 -0.3 1.08 1.93 -0.41 1.52 -2.3 0.26 -1.78 0.87 -0.39 1.41 
+-3.55 2.17 -2.29 2.08 -1.32 -1.56 -1.17 -1.15 -2 -0.13 -2.34 1.59 -0.84 -1.37 -2.35 1.93 
+0 -46.89 1.56 -1.76 0.43 -2.08 1.98 -1.71 -0.78 0.18 0 -31.4 2.82 -1.63 0.37 -2.21 
+0.11 -2.41 -0.43 -2.06 0.52 -2.58 0.43 -2.5 1.37 -2.3 0.97 -2.56 1.26 -2.3 1.21 -2.34 
+1.11 -2.34 1.37 -2.17 2.37 -2 2.78 -1.67 2.82 -1.02 3.41 0.19 -0.16 -1.49 -2.6 -1.37 
+-2.87 -0.93 -1.34 0.15 0 -10.07 3.3 -0.21 0.91 -1.74 -1.34 -2.02 -2.56 1.89 -0.3 2.08 
+0 10.07 -1.65 0.2 -3.54 0.5 -2.3 2.02 0.28 2.02 -1.93 1.11 -1.43 2.64 0.11 1.98 
+-2.21 0.8 -0.8 2.56 -1.97 2.91 -1.67 1.2 0.5 2.43 -0.65 1.48 -0.78 2.11 -0.09 2.78 
+1.67 1.75 0.61 2.32 -1.28 1.74 -0.26 2.3 1.89 0.71 0 31.4 -2.13 0.48 -3.54 0.84 
+-3.02 0.7 -1.34 0.93 1.37 1.39 2.06 1 3.41 0.05 0 46.89 -0.15 0.13 -2.02 1.65 
+-1.82 1.5 0 -3.17 2.75 -2.15 0.33 -1.65 -2.32 -0.41 -0.87 0.34 0 -0.78 1.43 -0.46 
+-1.45 -1 -1.21 0.8 1.23 0.66 0 0.78 -1.52 0.63 0.05 2.34 1.58 0.89 0 3.17 
+-0.24 0.2 -1.73 2.25 -3.15 1.61 -1.89 1.71 1.76 1.68 -0.35 1.39 -1.89 0.84 -0.8 1.56 
+1.32 1.07 -2.71 0.71 -0.17 0.06 0 -21.09 2.93 -0.3 0.39 -1.21 3 -0.91 2.58 -0.78 
+1.22 -1.32 -1.43 -2.08 -3.04 -1.02 0 -38.75 2.99 -0.67 2.85 0.17 0.74 -1.41 -1.05 -1.34 
+-1.02 -1.74 -2.87 -0.43 -1.21 -1.54 -2.84 -0.17 -2.84 1.5 -2.89 0.67 -2.32 1.91 1.67 0.5 
+1.65 0.72 1.76 -0.46 2.24 0.32 0.99 1.3 2.15 0.67 0 38.75 -0.91 -0.3 -3.19 0.69 
+-0.5 2.82 p
+-3.41 -0.33 -0.09 1.97 -1.04 0.61 -0.72 1.28 1.15 0.74 3.06 0.15 0 21.09 -2.24 0.87 
+-3.75 0.67 -2.91 1.35 0 -17.77 2.08 -0.96 1.82 -2.58 -1.02 -2.13 -0.57 1.13 -2.62 1.74 
+-2.19 1.78 2.5 1.02 0 17.77 -0.24 0.11 -2.84 1.28 -0.91 1.11 0 -96.24 2.82 -0.74 
+0.28 -1.35 -1.32 -0.67 2.6 -1.3 0.31 -0.93 -1.85 -1.13 0.68 -1.89 -1.18 -1.06 -0.89 1.87 
+1.39 1.08 -1.75 1.35 0.7 2.02 -1.17 1.02 -0.61 1.74 0 96.24 -0.32 0.39 0.45 1.71 
+2.5 1.09 -2.21 1.76 -4.1 1.13 -1.3 0.22 0 -105.01 2.52 -1.09 1.15 -1.69 1.61 -0.16 
+-0.43 -1.8 -0.87 -0.24 0 -1.54 1.82 -0.16 -1.13 -1.17 -0.7 1.33 0 1.54 -1.39 -0.39 
+-0.85 1.09 1.07 0.93 -1.67 1 0 -5.14 0.45 -1.59 1.37 -1.02 -0.91 -1.11 -1.7 -0.33 
+-1.15 0.95 -1.06 -0.67 -1.52 -0.09 0.35 2.54 1.46 -0.04 0.93 -0.74 0.63 2.04 1.15 0.05 
+0 5.14 -0.43 0.26 -0.7 2.09 0 105.01 -3.49 0.58 -4.23 1.33 -3.23 1.3 -2.3 -0.61 
+-2.17 -0.98 -2.6 1.06 0 -127.67 0.84 -1.37 -0.2 -2.48 -1.41 -1.73 -3.69 -0.09 -3.21 1.21 
+1.32 -2.45 3.67 -0.96 1.71 -1.74 2.04 -1.28 2.89 -0.98 -1.61 -3.09 -2.82 0.22 0 2.63 
+-1.82 0.93 -1.46 2.02 -1.13 -1.32 0.67 -1.89 -0.11 -2.76 -0.11 -2.62 0.39 -2.5 -3.45 2.08 
+-2.34 2.09 -1.08 2.13 1.43 1.59 -2.46 -0.37 -2.54 2.08 -1.56 2.95 -0.48 2.04 3.11 0.83 
+2.12 -0.45 0.33 1.86 2.02 -0.18 -0.63 1.57 1.58 1.62 1.76 -1.3 1.5 1.67 2.28 -0.29 
+2.43 0.3 0 127.67 -0.22 0.09 1.08 0.84 2.5 -0.41 0.39 1.3 -2.5 1.11 -0.17 1.37 
+-2.52 0.04 -2.02 -0.73 0.59 -1.79 -0.84 -2.25 -3.71 0.79 -3.52 0.69 -3.58 0.67 -4.12 0.26 
+-3.34 1.15 -3.45 0.74 -0.72 0.24 0 -5.88 0.34 -1.17 -3.38 -1.63 -4.38 -0.07 -2.21 1.41 
+4.43 1.2 2.17 -0.39 3.04 0.65 0 5.88 -2.34 0.8 -0.7 0.35 -2.71 1.3 -2.76 1.24 
+-3.84 0.87 -0.61 0.2 0 -251.65 0.48 -1.35 -2.72 -1.69 -1.21 -2.21 2.43 0.41 2.15 -0.07 
+2.64 -0.04 0.24 -1.83 -0.86 -1.78 -1.18 -2.21 -1.43 -1.76 -1.71 -1.3 2.19 -0.04 2.21 -0.98 
+1.06 -1.8 0.5 -2.69 1.08 -2.28 2.3 -0.89 0.85 -2.28 0.61 -1.78 0.87 -1.37 0.57 -1.84 
+-1.15 -1.34 0.89 -0.87 1.17 1.35 1.48 0.02 2.09 -0.91 0.93 -1.78 -0.85 -2.3 -2.08 -1.37 
+-1.5 -2.3 3.08 -0.41 -1.8 -2.32 -3.12 -0.89 -2.78 0.02 -2.78 0.46 -2.5 -1.32 -2.76 0.98 
+-2.52 -0.41 -0.74 -2.24 -3.05 0.98 -2.29 -1.71 -1.84 0.52 2.3 1.76 1.95 1.73 1.7 2.24 
+2.13 -0.07 1.84 -0.05 1.28 2.2 -2.47 -1.3 -1.76 1.41 -1.8 0.57 -2.47 -0.39 -0.52 1.39 
+2.23 1.26 1.84 0.86 0.16 2.71 -2.11 0.09 1.32 1.74 -0.52 1.39 3.21 -0.54 2.07 0.36 
+0.11 2.28 1.21 2.24 -1.71 0.04 -1.35 1.84 1.24 2.21 -2.61 -0.82 -2.62 -0.83 -1 1.89 
+1.61 3.06 -1.26 1.84 -1.82 -2.12 0.13 1.78 -1.95 0.09 2.37 1.68 0.43 2.23 -1.98 -0.8 
+0.16 1.82 1.58 2.6 -2.15 0.11 -1.24 1.41 1.18 0.8 1.52 -0.93 0.41 1.76 1.48 1.7 
+1.21 2.19 p
+2.87 -0.11 2.87 0.32 0 251.65 -2.91 0.96 -2.8 1.11 -1.93 1.5 -4.21 -0.37 -4.95 0.09 
+-3.28 1.24 -3.91 1.09 2.08 1.3 1.2 1.46 3.69 0.48 -0.62 1.87 1.61 1.45 0.41 1.67 
+3.8 -0.28 4.16 -0.91 2.84 -0.78 0.87 -1.56 3.54 -0.44 2.24 0.71 2.91 -0.24 1.21 -1.58 
+0.63 -1.59 3.06 1.3 -2.3 1.26 1.41 1.93 1.17 0.48 1.47 0.48 3.3 0.91 4.17 -0.42 
+0.17 1.59 -3.04 0.11 -0.83 1.26 -0.82 1.9 -1.55 1.91 -1.61 1.24 2.72 1.54 3.23 -1 
+4.64 -0.17 3.1 0.78 3.82 0.39 3.29 0.98 3.13 0 3.47 0.93 3.52 0.82 3.93 0.74 
+3.89 0.39 2.28 1.52 1.56 -1.48 2.3 -1.32 3.67 -0.98 3.45 -0.05 3.34 0.26 3.73 0.81 
+-1.39 -1.93 3.84 -0.26 3.28 0.52 1.93 -1.15 3.93 -0.37 1.84 1.11 2.28 1.02 3.75 0.57 
+3.04 0.69 0.63 1.48 -2.71 0.13 -1.84 1.5 3.52 0.63 1.28 1.23 -1.37 1.02 0.72 1.7 
+2.49 -0.07 1.13 -1.3 2.84 -0.21 2.95 0.67 1.24 1.54 -0.59 1.78 2.82 0.07 2.15 -1.02 
+4.16 -0.78 3.64 0.05 2.28 1.13 1.09 1.2 0 136.98 -1.02 0.17 -3.6 0.61 -7.16 1.13 
+-7.14 1.04 -7.12 0.95 -7.07 0.89 -0.39 0.04 0 -151.78 -2.88 -1.15 -2.93 0.11 -0.05 0.98 
+5.86 0.07 0 151.78 -6.68 0.74 -7 0.72 -6.96 0.65 -6.95 0.55 -6.9 0.47 -3.08 0.18 
+0 -127.41 2.43 0 2.13 -0.87 -1.97 -0.02 -2.58 0.89 0 127.41 -3.78 0.22 -6.81 0.32 
+3.34 -0.13 3.43 -0.17 1.74 -0.09 1.75 -0.11 1.76 -0.09 1.8 -0.11 1.8 -0.12 1.82 -0.11 
+1.84 -0.13 1.87 -0.12 1.87 -0.16 3.82 -0.3 1.95 -0.17 1.95 -0.15 -2.28 0.2 -2.32 0.2 
+-2.3 0.19 -4.69 0.35 -4.73 0.34 -2.38 0.16 -2.41 0.13 -2.43 0.15 -2.43 0.13 -2.45 0.11 
+-4.95 0.22 -2.5 0.09 -0.26 0.02 -2.25 0.07 -5.06 0.15 0 0.11 -2.34 0.06 -25.15 0 
+-4.39 -0.11 -1.47 -0.05 0 -122.91 -0.85 -0.89 -2.61 0.41 3.45 0.48 0 122.91 -4.19 -0.11 
+-5.64 -0.24 -3.06 -0.13 0 -165.23 0.48 -1.26 -4.6 -0.61 -2.89 0.52 -3.86 -0.28 3.28 1.52 
+4 -0.72 3.6 0.83 0 165.23 -2.59 -0.13 -11.28 -0.69 -5.64 -0.43 -5.64 -0.46 -0.71 -0.06 
+0 -154.82 3.04 -0.33 -2.61 -0.84 -2.59 -0.89 -2.58 -0.26 -0.63 0.8 2.39 1.22 2.97 0.3 
+0 154.82 -4.52 -0.43 0 -129.08 -2.02 -3.02 -2.52 -0.8 -0.57 0.78 1.41 0.85 3.69 2.19 
+0 129.08 -0.39 -0.04 -5.64 -0.55 -0.84 -0.08 0 -131.84 -1.85 -1.61 0.81 -1.02 -3.91 -0.89 
+-0.79 0.91 2.56 1.3 3.17 1.3 0 131.84 -4.77 -0.54 -5.62 -0.65 -2.23 -0.28 0 -136.98 
+1.58 -0.52 -3.75 -2.56 -4.1 -2.11 -1.48 -2.06 -3.43 -2.02 -3.97 -1.63 -0.85 -2.26 -2.86 -2.34 
+-1.32 -2.2 -1.52 -1.93 1.57 -1.84 1.89 -1.67 2.02 1.09 3 0.78 -0.17 1.3 4.46 -0.48 
+5.84 1.91 1.87 1.25 2.73 -0.82 0 -1.32 3.82 -1.17 2.13 2.23 3.43 0.93 3.19 -0.79 
+3.71 -1.02 2.58 -1.34 4 -0.72 -0.31 -2.69 -1.28 -2.28 0.26 -1.25 -2.06 -1.52 -3.97 -0.02 
+-1.47 -2.11 -4.11 -1.52 0.7 -1.89 2.96 -0.87 0.41 -1.58 2.54 1.41 1.8 1.52 3.8 0.34 
+4.04 1.31 p
+5.23 0.45 1.87 -0.93 -0.42 -1.39 3.25 0.28 2.26 -0.21 -2.43 -2.15 -2.91 -1.61 -2.8 -1.65 
+-2.61 -0.63 -1.32 1.41 -4.95 -1.28 -0.32 -1.52 3.43 -0.79 3.88 -0.43 2.75 -1.41 4.36 -0.29 
+3.43 -0.74 0.61 -1.93 -3.04 -1.02 -3.26 -1.43 -0.39 -1.67 0.37 -1.93 -1.65 -2.2 -2.62 -1.13 
+-2.17 -2.47 -3.21 -1.2 -1.3 -2.56 -1.06 -0.15 0 -74.74 2.97 -0.65 0.2 -1.52 1.43 0.24 
+1.54 -0.82 2.02 -1.13 2.59 -0.59 1.63 -1.91 0.11 -1.37 1.17 -0.87 0.82 -1.39 -0.13 -1.67 
+0.3 -1.7 -0.87 -1.41 0.02 -1.26 -1.26 -0.62 -2.08 0 -0.91 0.08 0 -0.91 3.21 -0.48 
+3.91 -1.61 0.17 -2.62 2.82 1.28 1.65 -1.52 2.45 1.15 3.19 0.43 3.63 -0.67 3.04 -0.11 
+2.58 -1.47 2.64 -1.11 0.89 -1.87 -0.11 -1.39 1.45 -1.06 0.7 -1.61 -2.34 -0.71 -3.06 0.33 
+-2.08 0.82 -1.82 -0.37 3.69 -1.2 -1.04 -1.76 1.63 -0.09 0.72 1.26 1.82 -0.2 -0.34 -1.37 
+-1 -0.63 -2.15 -0.8 -2.23 -1.75 2.63 0.13 2.19 0.72 1.74 0.93 1.02 -0.72 2.22 1.2 
+2.71 -1.06 1.02 -1.93 -3.46 -2.35 -2.08 -1.3 -0.74 -0.63 0 -92.34 -1.5 -1.5 0 -19.05 
+-1.04 -2.64 -2.87 -2.08 0.93 1.28 0.2 1.82 2.78 1.63 0 19.05 -0.37 -0.37 -1.37 0.52 
+0.61 1.13 2.63 0.22 0 92.34 -1.5 -1.26 -1.82 -1.89 -1.26 -1.8 -1.78 -1.2 -0.41 -2.02 
+-0.78 -1.07 0 -120.86 2.5 -0.59 2.21 -0.61 0.98 -1.84 0.37 -2.71 -2.45 -1.67 0.39 -2.3 
+0.07 -2.73 -0.78 -2.25 -0.76 -2.19 -3.36 -0.3 -2.89 -1.61 -2.82 -0.74 -3.06 -0.22 -1.65 1.52 
+-0.59 2.34 2.09 -0.17 1.23 2.64 2.11 2.56 -1.76 0.16 -1.52 1.93 1.91 1.19 -1.61 1.07 
+1.11 1.71 2.3 -0.19 2 -0.15 1.28 1.28 -1.61 1.05 1.69 2.11 2.63 0.73 0 120.86 
+-0.85 -1.19 0.43 -1.84 -0.07 -2.58 -0.95 -1.55 -2.34 1.39 -0.79 -0.34 0 -7.45 0.79 -2 
+-1.54 0.04 0.76 1.96 0 7.45 -1.26 -0.52 -0.91 -1.73 1.96 -0.95 -0.11 -2.61 -0.97 -2.41 
+-2.09 -2.36 2.02 -0.42 -1.48 -1.91 -4.21 -0.41 1.61 -1.26 -0.72 -1.76 -2.24 0.21 -1.39 -0.58 
+-1.86 -0.63 1.48 -1.04 -0.61 -2.54 -1.17 -1.56 -1.93 1.65 -1.78 1.54 0.87 -2.02 1.26 -2.15 
+0.69 -2.37 -0.87 -2.09 -1.17 -2.43 -2.64 0.17 -1.46 1.24 0.48 2.17 0.28 1.74 -2.25 -0.29 
+-0.72 -2.56 -2.7 -0.65 -0.61 -1.21 3.04 0.57 2.06 -1.89 2.3 -1.04 -2.04 -1.32 -2.93 -1.09 
+-2.82 -1.15 -0.83 -0.22 0 -14.24 1.58 -0.84 1.13 -2.06 -0.89 -2.99 2.93 0.28 1.09 2.5 
+0.95 -1.54 1.43 1.09 2.56 0.02 1.34 -1.15 2.06 0.56 1.89 1.46 1.04 -1.5 2.32 0.09 
+-0.56 -3.02 2.17 -1.62 -0.7 -3 -2.73 -2.3 -3.78 -0.8 -2.86 -1.39 -2.52 -0.02 -3.34 -1.2 
+-3.02 1.43 -2.15 1.79 -4.49 0.95 2.71 1.73 -0.5 2.87 -3.49 0.8 3.54 1 2.49 1.32 
+-1.3 1.17 -2.32 -0.34 -1.65 0.82 2.08 1.35 0.89 1.65 1.58 -0.34 0.5 1.25 0 14.24 
+-1.84 -0.45 -3.21 -0.5 -3.02 -0.02 -2.58 -0.33 0 -220.03 -0.54 -1.39 -1.67 -0.35 -0.35 -3.27 
+-2.19 -0.78 0.15 1.41 2.39 2.64 0.93 1.33 1.28 0.41 0 220.03 -0.67 -0.08 -2.78 0.89 
+-2.43 -0.61 p
+-2.95 -1.43 -2.13 -1.71 -0.73 -0.52 0 -221.13 1.41 -0.67 0.04 -1.43 -1.73 -0.28 -0.48 1.5 
+0.76 0.89 0 221.13 -1.54 -1.06 -0.63 -0.22 0 -217.27 -1.08 -2.24 -1.34 -0.82 -1 1.99 
+1.67 0.11 1.75 0.96 0 217.27 -2.19 -0.76 -3 -0.84 -3.93 -0.45 -3.25 1.34 -3.08 0.26 
+-2.13 -1.68 -1.84 1.39 -1.06 -3.73 -1.87 -2.3 -2.26 -2.13 -3.43 -1.63 -3.25 -0.58 -1.34 -3.67 
+-2.91 -1.84 -2.32 -2.13 -1.91 -2.32 -2.75 -1.96 -2.26 -0.04 -1.87 3.12 0.11 2.67 -1.56 1.93 
+-2.78 2.02 0.02 4.01 0.87 2.95 1.09 3.39 0.83 1.82 1.21 4.53 1.61 1.96 0.11 2.3 
+2.54 2.61 1.74 3.04 0.26 3.47 2.25 2.12 1.82 2.41 2.78 2.34 3.25 2.06 3.09 0.87 
+2.55 -1.71 3.71 2.88 1.87 2.97 -3.45 -0.89 -3.1 0.91 0.02 2.78 3.12 2.06 3.21 1.96 
+1.87 -1.58 0.93 -2.82 1.8 2.37 -0.89 1.87 1.93 2.88 -2.47 -0.63 -1.67 1.28 0.61 1.52 
+2.95 1.45 1.39 2.07 3.34 1.93 1.82 1.7 1.17 2.34 2.56 1.82 1.37 2.61 1 1.97 
+1.84 1.24 -0.76 1.97 0.43 2.63 -1.45 1.56 -1.76 1.61 -2.17 0.54 -0.17 2.43 0.83 1.68 
+1.8 -0.09 0.24 1.93 0.78 1.43 2.11 -0.43 1.59 -1.13 0.41 2 1.89 1.19 -1.05 1.02 
+1.17 1.88 2.89 0.44 2.07 -1.22 2.54 -0.61 2.75 -1.78 3.93 0.71 1.65 1.26 -1.39 1.84 
+3.17 0.54 3.19 -0.08 2.18 -0.05 0.69 -1.3 1.97 0.52 1.52 1.37 0 0.91 -1.57 0.13 
+-1.5 -0.63 -3.97 0.24 -3.19 0.42 -2.89 -0.13 -3.64 -0.06 -2.47 1.39 -3.59 -0.3 -3.19 -1.12 
+-3.54 -0.39 -1.43 1.78 -2.06 -1.02 -2.75 0.81 -2.08 -2.37 -3.19 0.37 -2.45 1.57 1.95 1.25 
+-1.49 0.8 0.17 1.59 -1.48 0.93 -0.06 2.9 0.3 2.02 2.78 0.57 2.24 -0.98 1.04 -0.99 
+0.95 1.23 2.78 0.57 1.04 -2.2 1.32 2.25 4.19 -0.62 1.08 -1.09 2.43 1.06 3.04 0.65 
+0.91 1.43 3.84 0.05 -0.76 -1.89 1.7 -0.56 1.75 -1.86 2.43 -0.85 -1.57 1.91 -0.61 2.04 
+-1.21 1.29 -0.32 2.04 2.11 1.61 3.41 0.78 0 74.74 -2.97 -0.41 -2.06 0.43 -2.22 -0.91 
+0 -71.27 2.39 -0.76 3.08 0.15 0.02 -1.13 -3.09 -0.82 -2 -1.07 -0.37 -1.8 -1.61 -0.93 
+-2.9 -0.11 -0.57 -1.59 -2.56 -0.5 -1.91 0.81 -3.3 0.13 -2.61 0.63 -0.24 2.6 2.41 1.61 
+3.11 0.67 2.41 -0.15 2.67 0.85 1.95 1.15 3.1 0.26 0 71.27 -1.84 -0.74 -1.58 0.11 
+0 -67.27 1.78 -0.48 -3.02 -1.09 1.24 1.56 0 67.27 -2.18 0.15 -1.23 -0.57 0 -61.07 
+1.04 -0.61 -0.34 -1.24 -1.52 -1.06 -0.3 -1.39 -2.43 -1.35 -2.75 -0.11 -2.47 -0.54 -0.46 -0.98 
+2.71 -0.2 2.87 0.04 -2.56 -2.19 -1.74 -0.57 -2.04 0.2 -0.12 1.28 -0.2 1.58 -0.99 1.09 
+3.02 0.98 0.24 1.28 1.34 1.91 1.8 0.79 1.82 -0.79 1.63 1.54 1.48 0.33 0 61.07 
+-1.32 -0.61 -2.17 -1.02 0 -52.28 1.28 -0.87 -0.43 -2.11 -2.06 -1.59 -0.96 0.7 0.37 1.34 
+1.3 0.87 0.5 1.65 0 52.28 -0.74 -0.32 -0.54 -0.11 0 -49.91 0.39 -1.33 -2.26 0.11 
+0.07 0.76 1.8 0.46 0 49.91 -3.73 -0.8 -0.87 -0.46 0 -38.13 0.37 -1.8 1.54 -1.58 
+0.87 -1.5 p
+0.33 -1.37 -1.26 -1.58 1.26 -1.2 -0.63 -0.26 0 -2.95 0.15 -1.37 0.48 -1.21 -0.39 -1.02 
+-2.96 0.35 -0.97 1.71 1.32 1.45 2.37 0.09 0 2.95 -1.74 -0.73 -1.02 1.3 -0.96 -0.04 
+0 -11.24 0.28 -0.91 -1.88 -0.16 0 -7.62 1.02 -1.87 -0.18 -2.47 -1.56 -0.41 -1.55 0.63 
+0.81 2.13 1.45 2 0 7.62 -0.35 -0.02 -2.56 -0.65 1.07 1.41 3.45 0.33 0 11.24 
+-1.65 -0.07 -1.91 1.78 2.28 1.3 -1.71 0.96 -1.37 1.54 1.65 1.35 0.66 1.3 3.29 0.61 
+0 38.13 -1.91 -1.04 -3.28 -0.67 -1.8 -1.5 -1.04 -0.65 0 -38.45 1.63 -0.96 0.67 -1.49 
+-2.23 0.71 -1.46 0.72 1.39 1.02 0 38.45 -1.29 -0.78 -2.16 -0.44 0 -38.93 2.34 -1 
+2.54 -1.19 1.8 -1 -1.17 -1.47 -2.52 -1.59 -2.08 -0.74 -2.65 -0.52 -1.43 -2.32 2.54 0.7 
+1.71 -0.34 1.43 0.97 1.89 -0.91 1.15 -0.95 -1.37 -0.22 0 -13.52 -0.78 -2.04 -1.82 -1.7 
+0.13 -1.89 -1.84 -0.89 -1.21 -1.43 -1.37 0.29 -1.65 -2 -0.39 -2.45 2.13 -1.73 -0.11 -2.11 
+0.56 -1.65 -0.91 -2.43 -2.52 -0.87 -2.91 -0.22 -1.87 1.67 1.06 2.28 -2.56 0.63 -0.54 2.13 
+-0.11 2.11 0.02 2.34 1.21 2.75 3.38 0.87 2.89 0.16 2.78 0.89 1.62 1.47 -0.58 1.95 
+2.93 1.65 2.46 0.21 0 13.52 -1.61 -0.25 0 -4 0.06 -1.09 -2.04 -1.17 -2.78 -1.26 
+2.89 0.09 1.78 -0.63 -0.48 -1.91 -2.17 -1.83 -2.61 -0.28 -2.91 -0.52 -3.45 0.17 0.28 2.73 
+4.02 1.43 -1.11 1.67 3.09 1.3 2.39 0.37 3.04 0.91 0 4 -0.46 -0.07 -2.71 -1.74 
+-1.5 -1.54 -2.62 0.33 -2.8 0.13 0 -1.69 2.26 -0.5 -2.52 -0.91 0.26 1.41 0 1.69 
+-0.15 0 -0.09 1.52 1.24 2.54 -0.8 1.45 -1.3 1.3 -0.13 1.37 1.28 1.54 1.78 0.5 
+0.59 -1.61 2.8 1.04 -1.24 1.34 1.76 1.17 1.78 1.57 0 38.93 -1.05 -0.23 -2.71 -0.59 
+-3.06 -1.91 -3.58 -1.06 -3.06 -0.67 0 -21.86 2 -1.28 2.3 -1.41 3.04 -0.93 4.32 0.13 
+-0.61 -2.32 0.26 -2.06 -3.08 -1.89 -1.43 -2.28 -3.06 -0.87 0 -25.12 3.75 -0.57 0 -1.36 
+-2.39 -1.26 -3.6 -0.63 0.97 2.11 1.26 1.72 0 25.13 -0.46 -0.11 -3.25 -1.8 -0.98 2.04 
+-0.07 0.13 0 -47.16 1.15 -1.33 0.45 -1.82 -0.61 -1.8 -2.34 -1.46 -1.97 -0.58 -0.3 2.26 
+-1.54 0.89 0.22 2.04 2.66 1.46 2.28 0.35 0 47.16 -0.75 1.8 -1.02 2.15 -3.95 1.04 
+-2.41 1.65 0.59 1.78 -0.2 2.15 4.58 0.55 4.19 1.54 0 21.86 -0.54 -0.14 -3.84 -1.47 
+2.25 -0.87 0.57 -1.66 -1.21 -1.59 -2.54 -0.91 0.5 -1.56 -0.33 -2.54 -0.32 -2.34 -3.15 -0.05 
+-0.26 -1.61 2.91 -1.45 -3.5 -1 0 -13.11 2.67 -0.48 1.07 -1.34 1.84 -0.16 0.87 -1.52 
+0.3 -1.79 1.21 -1.37 -0.75 -1.54 -4.17 -0.45 1.61 -1.89 -2.17 -1.5 0.37 -1.71 -2.99 -2.28 
+3.16 -0.67 3.09 -1 -0.35 -2.09 -2.17 -1.25 -2.38 0.5 -1.39 0.43 0 -2.93 0.8 -1.17 
+-0.54 -2.11 3.38 1.63 2.23 0 0.98 -1.28 -0.71 -1.82 1.34 -1.2 -3.47 -1.39 -3.08 0.87 
+-1.37 -2.15 -3.84 -1.25 -4.01 -0.52 -1.07 1.89 -2.23 1.34 3.52 1.93 3.03 1.87 0.22 1.56 
+2.69 0.76 p
+2.13 1.04 0 2.93 -1.57 0.5 -2.93 -0.68 -3.88 -1.21 -3.93 -0.13 -2.91 -1.87 -2.21 -2.49 
+-1.56 -2.87 -3.19 -0.26 -0.33 1.84 -2.63 -1.25 -1.84 1.49 -0.56 2.02 2.32 2.41 2.71 1.84 
+-1.8 1.59 -0.54 2.19 -0.87 2.61 0.34 2.86 0.5 2.45 5.02 1.28 1.11 2.41 2.73 2.06 
+4.43 0.43 -0.72 -1.99 -1.15 -2.43 0.76 -2.11 2.82 2.11 0.87 2.21 1.88 2.58 2.74 1.41 
+1.95 -0.62 2.63 1.71 0 13.11 -1.37 -0.39 -3.78 -0.26 -2.11 -1.17 2.56 -1.96 -3.8 0.35 
+-1.33 -1.31 2.37 -1.12 -1.84 -2.64 -3.49 -1.56 -3.09 -2.26 -2.73 -2.19 -1.54 -2.54 -2.78 -2.3 
+-3.3 -1.11 -0.09 1.76 -2.08 0.39 -0.96 -2.08 -1.98 -2.19 0.11 -2.52 0.32 -2.34 -2.28 -1.96 
+-1.73 -2.12 2.71 -0.29 2.3 2.29 1.87 -1.11 0.56 -2.21 0.52 -2.04 -4.14 -2.43 -2.63 -3.16 
+-2.16 -2.59 -1.41 -3.43 0.52 -2.13 3.95 0.74 2.21 -0.65 2.95 3.3 2.17 -1.24 3.38 -0.39 
+-3.38 -3.22 -3.88 -2.34 -2.59 1.69 -3.78 -1.08 -2.08 -2.34 3.25 0.28 0.17 -0.57 3.5 -0.67 
+3.3 1.58 2.93 -0.39 2.59 3.38 3.97 2.61 3.76 0 3.6 0.11 1.74 -0.89 3.4 0.72 
+2.87 0.57 3.38 0.98 2.8 0.96 2.89 -0.05 1.23 -2.34 -0.78 -2.75 -1.11 -1.56 -1.78 0.24 
+-2.43 0.2 0 -2.96 3.02 -0.69 1.93 -0.82 0.5 -1.97 0.3 -1.84 -2.32 1.34 -2.04 0.22 
+-2.93 -0.26 -2.67 -0.93 -2.74 -0.96 -1.78 -2.11 2.54 1.35 2.8 0.74 3.32 0.91 3.21 -0.65 
+2.71 -1.09 1.07 -1.37 -1.37 -1.17 -3.05 -0.61 -2.63 -1.93 -3.38 -0.74 2.47 -0.59 0.67 -1.52 
+2.78 -0.65 0 -1.52 -0.5 -1.89 1.5 -1.56 -1.76 -1.32 -3.04 -1.43 0.81 -2.25 -0.48 -2.23 
+-2.04 -3.75 -0.48 -2.91 -1.96 -2.73 -2.82 -0.87 -0.95 -2.97 -2.48 1.2 -2.79 -1.72 -0.74 -3.32 
+1.99 -2.17 -1 -2.75 -0.32 -2.74 -0.29 -2.62 -0.58 -2.3 -3.97 -1.39 -2.48 -1.26 -2.64 1 
+-3.06 -1.48 -0.04 3.02 2.39 2.97 0.41 4.32 -3.95 -2.08 -1.89 -2.75 -0.67 -3.26 -0.74 -2.28 
+-2.47 -2.09 -0.98 -2.82 -3.5 -2.08 0 -681.32 4.06 -0.3 3.54 -1.13 2.28 -1.17 0.26 -1.65 
+-3.34 1.98 -3.23 1.15 -3.56 1.13 0 681.32 -0.25 -0.16 -2.02 1.98 0.04 3.04 0.35 2.76 
+-0.35 2.86 -1.61 -2.23 -0.7 -2.54 -0.89 -2.97 -0.57 -2.56 -1.06 -0.83 0 -712.2 4.62 -1.49 
+-4.47 0 -0.15 1.49 0 712.2 -1.07 -0.82 -1.19 1.99 -0.55 2.2 -0.07 2.52 0.85 1.52 
+-0.59 2.32 -0.11 1.91 0.67 2.65 2.34 1.54 0.35 2.3 -0.18 2.17 0.26 2.56 -0.76 2.13 
+-2.28 0.47 -1.58 2.65 1.91 2.39 2.8 0.71 1.09 -0.71 2.14 0.75 0.52 -3.08 1.43 -2.24 
+3.08 -0.49 1.91 3.14 2.82 -0.22 3.23 0.22 2.65 0.07 2.06 1.9 2.59 2.11 0.71 2.91 
+2.28 2.64 -3.02 0.71 4.29 1.48 1.7 3.86 2.17 2 -3.78 -0.02 -1.65 0.76 1.67 3.32 
+-1.11 1.29 -0.07 3.4 -0.7 2.13 1.56 3.14 2.39 2.23 3.08 2.08 2.54 2.22 3.89 1.04 
+2.9 0.13 2.93 0.06 0 2.96 -0.46 0.04 -2.93 0.15 -0.15 1.58 -1.24 1.05 -2.19 -1.2 
+-2.3 0.48 -3.32 -1.74 -2.71 -1.93 -2.09 -1.69 -3.23 -1.82 -3.04 0.96 -1.43 -2.22 -2.61 -1.89 
+-3.09 -2.28 p
+4.76 -0.22 -2.93 -2.58 -2.74 -0.93 -3.34 -0.87 -3.34 -2.95 1.48 -0.87 2.64 1 2.76 -0.96 
+3.73 1.41 3.71 1.5 3.23 1.15 0.63 -1.89 -0.3 -2.43 -2.06 -1.11 0.07 -2.52 -2.17 -0.91 
+0 -9.16 1.06 -1.79 -1.49 -1.78 -2.67 -1.06 -2.12 0.26 -1.59 1.59 2.65 2.19 4.17 0.59 
+0 9.16 -1.74 -0.74 -2.3 1.07 -3.14 -1.32 -0.7 -2.73 -3.8 -1.22 -3.53 0.93 -3.35 0.74 
+0.15 2.78 1.33 1.39 -1.22 2 -1.7 -2.17 -3.19 0.04 0 -1.36 3.23 -0.7 -2.95 -1.96 
+-1.87 -2.95 -1.24 -3.13 -1.41 -2.34 -2.12 -2.21 -0.59 -2.63 -3.36 0.43 1.28 2.59 0.83 2.32 
+-0.61 1.41 -2.52 0.16 -3.12 0.02 -1.17 1.59 3.08 1.58 -0.89 2.63 3.23 -0.8 3.58 2.08 
+3.8 1.26 2.82 0.66 0 1.36 -1.67 0.02 -3.21 -1.3 -3.62 0.09 -3.62 0.13 -0.78 2.96 
+-4.06 -0.13 -0.39 -0.17 0 -16.91 1.69 -0.93 0.61 -1.29 -0.48 -0.23 -0.26 0.02 0 -4.68 
+0.89 -1.59 -2.52 -1.23 -2.93 -0.61 1.02 1.67 3.53 1.76 0 4.68 -3.12 0.42 -1.24 1.43 
+2.8 0.59 0 16.91 -2.8 -1.3 -1.56 1.64 -1.5 1.5 -3.25 -1.29 -1.3 1.05 -2.93 0.02 
+-3.45 -0.17 -2.82 -0.5 -2.76 -0.5 -3.87 -1.37 -3.23 -1.34 -2.5 -1.91 0.8 -1.39 -0.17 -1.82 
+-2.34 -1.78 0 -36.63 3 -0.59 -1.05 -1.52 -3.6 -1.67 2.34 1.61 -1.87 -0.22 -0.8 1.3 
+3.21 0.09 -1.23 1 0 36.63 -1.2 -0.91 -2.61 -1.21 -2.45 -2.11 -2.06 -1 1.37 -0.93 
+1.56 -1.3 -1.3 -3.47 -0.26 -2.97 -1.21 -3.32 -2 -2.84 -0.37 -2.21 -0.11 -2.56 -1.37 -3.93 
+1.15 -2.39 1.24 -2.37 -0.39 -2.88 -4.6 -2.28 -2.04 -2.24 -2.3 -1.61 -2.12 -1.11 0 -0.96 
+1.78 -0.74 0.13 -1.37 -1.9 -2.25 -0.11 2.25 0.11 2.11 0 0.96 -0.91 -0.48 -1.39 -3.28 
+-1.7 -2.73 -1.04 -2.59 -1.76 -2.56 -0.7 -3.02 1.65 1.58 3.19 -0.58 3.64 0.71 2.02 3.04 
+2.69 2.06 3.02 2.56 1.93 2.28 1.78 2.39 2.49 -0.72 3 -0.35 3.39 -0.02 3.08 0.57 
+3.67 2.64 2.82 2.8 2.11 1.98 2.78 2.88 0.18 1.85 1.11 2.43 2.02 1.04 1.34 -1.04 
+3 0.5 2.39 1.52 2.66 2.13 0.83 1.86 2.82 0.85 2.66 0.95 0.79 1.98 2.45 1.45 
+2.21 -0.39 0.7 -2.13 0.15 -2.3 0.82 -1.22 2.48 -1.49 -0.41 -2.26 -0.96 -2.48 -0.3 -2.28 
+-2.15 -0.8 -0.26 -2.3 1.15 -1.37 0.74 -1.64 -2.5 -1.35 -1.8 -2.12 -2.75 -1.84 -1.72 -1.35 
+-1.34 -2.62 0.61 -1.41 -1.75 -3.65 3.08 -0.75 2.26 0.78 2.6 -0.28 2.87 1.04 1.04 1.95 
+1.97 0.35 2.54 0.52 -1.02 -1.95 -1.52 -2.97 -1.3 -3.12 -1.57 -2.89 -1.34 -3.04 -0.5 -2.3 
+-1.58 -1.52 -0.08 -1.98 -1.5 -0.46 0 -697.72 4.36 -1.62 -2.25 -0.76 -2.61 0.98 0.5 1.41 
+0 697.72 -0.91 -0.3 -2.28 -2.24 -0.57 -2.23 0.74 -2.58 -1.48 -2.23 2.15 -2.24 -0.67 -2.14 
+1.87 -1.96 0.15 -2.02 -3.41 -0.16 2.08 -2.12 -1.48 -2.08 1.89 -1.29 -0.28 -3.52 -0.08 -0.06 
+0 -672.24 3.04 -1.32 -1.74 -0.28 -0.82 -1.5 2.34 0.37 2.93 -2.75 -2.59 0.06 -3.06 1.33 
+1.91 -2.48 -2.59 0.5 -0.11 -1.96 -0.09 -1.88 0.89 -2.26 1.57 -1.58 1.61 -1.56 1.8 -2.06 
+-3.32 0.71 p
+0.45 -1.39 3.32 -1.7 -2.11 -0.52 1.28 -2.17 2.91 -2.3 2.93 -0.72 0.65 -1.34 3.71 -1.54 
+2.21 0.63 4.06 -0.89 4.43 -2.3 3.84 -1.91 3.56 -1.43 1.91 -1.48 2.82 -0.67 2.95 -1.56 
+1.32 -2.08 3.61 -0.89 1.95 -1.41 4.11 -0.71 1.63 -1.43 -1.48 -0.96 3.02 -1.02 4.43 -2.02 
+0.89 -1.71 2.87 -1.5 -1.17 -0.93 3.6 -1.78 2.13 -1.76 0.93 -2.3 1.82 -2.54 3.8 0.55 
+2.17 1.43 3 1.06 4.08 0.39 4.34 -0.47 5.2 -0.3 4.69 -0.43 4.58 -0.07 3.65 -0.34 
+5.32 0.8 4.1 0.81 3.12 0.91 1.21 1.99 -0.19 2.11 1.3 1.56 1.46 1.56 1.61 1.61 
+1.82 1.54 1.04 1.82 0.61 1.71 2.93 1.63 -0.97 2.25 1.93 1.47 2.74 1.54 2.19 1.45 
+3.04 1.5 2.43 1.45 3.63 0.8 2.64 0.46 2.43 1.09 1.99 1.37 -0.02 1.3 -2.41 0.93 
+-0.87 1.32 1.61 0.37 1.69 -1.26 0.89 1.34 1.65 1.05 2.13 -0.65 1.11 -0.95 0.83 -1.63 
+2.82 0.7 -1.09 0.98 0.59 1.37 -1.09 0.97 2.15 0.35 2.65 0.05 0.15 -1 -0.22 -1.3 
+3.88 0.04 3.85 0.34 -0.2 2.3 -0.95 1 2.17 0.7 2.3 -0.67 1.82 -0.98 -1.28 -1.32 
+2.19 -0.98 1.76 -1 3.45 0.98 3.58 1.3 2.31 1.35 3.25 0.95 4.47 -0.04 2.89 0.95 
+3.64 -0.06 3.5 -0.43 3.71 0.26 3.6 -0.09 4.32 -0.52 3.58 -0.11 3.54 -0.16 3.52 -0.15 
+4.08 -0.85 3.69 -0.54 3.47 -0.87 4.69 0.39 2.37 0.89 4.3 -0.28 4.14 0.78 4.55 0.05 
+4.23 0.75 1.98 0.18 3.84 -0.33 1.3 2.11 1.59 1.32 2.5 0.2 0.52 -1.56 1.04 -1.93 
+1.85 -0.96 2.97 -0.67 -1.21 -2.13 3.3 1.5 1.91 0.57 1.39 1.37 1.82 1.37 4.71 1.02 
+3.1 1.2 4.84 1.04 3.32 -0.02 3.75 -0.45 3.28 0.39 2.47 -0.78 2.02 0.96 2.04 -0.29 
+-0.82 -1.93 2.87 0.83 2.11 2.63 3.29 2.06 3.76 0.74 3.34 1.22 4.21 -0.17 3.23 -1 
+0.23 -1.8 1.85 -1.26 -1.41 -1.11 -2.39 0 0.61 -1.02 1.82 -0.8 1.26 -1.2 -1.2 -1.61 
+3.91 0.11 0.63 -1.58 1.52 -0.89 3.12 0.24 2.17 -1.06 1.52 -1.48 2.04 -1.11 1.87 -0.57 
+2.62 0.2 -3.45 -2.17 -1.97 -2.08 -2.11 -2.08 -2.89 -0.11 -2.36 -1.91 -3.56 -2.08 -1.72 -2.22 
+2.11 -0.3 1.46 1.8 4.49 0.54 3.06 -0.06 0.82 -1.02 0.24 -1.34 3.47 0.91 3.97 0.67 
+1.87 -0.21 4.95 2.21 2.91 0.57 4.05 -0.05 2.93 -0.19 5.1 1.52 2.82 -0.25 3.08 -0.37 
+3.04 -0.39 2.91 -0.5 0.26 -1.11 1.26 -1.09 2.04 -0.93 2.43 -0.23 0.22 -1.35 0.85 -1.04 
+1.52 -0.7 -0.76 -1.8 2.2 -0.35 -1.11 -1.48 2.04 -0.2 -0.29 -1.3 1.8 -0.09 0.33 -0.78 
+3.49 0.45 2.78 -0.35 -0.43 -2.06 -1.28 -1.95 -1.47 -2 -2.34 -2.34 -0.8 -1.65 -2.52 -2.32 
+2.37 0.3 -1.04 -1.49 2.37 0.49 3.34 1.35 1.32 -0.79 0.55 -1.11 0.39 -1.17 -2.89 -2.21 
+-3.86 -2.76 -2.34 -2.12 -3.41 -2.67 -1.93 -2.3 -0.65 -1.04 -0.63 -1.04 0.17 -0.67 0.2 -0.65 
+1.39 -0.83 -2.19 -1.2 -2.21 -1.19 -0.65 -0.83 -0.65 -0.8 0.91 -0.04 0.93 -0.04 -1.12 -0.96 
+-1.15 -0.96 2.34 -0.17 -0.78 -0.87 -1.48 -0.74 0 -64 0.29 -0.17 0.29 -0.15 0.28 -0.17 
+0.06 -0.16 p
+0.07 -0.17 0.04 -0.15 -1.17 -0.65 -1.2 -0.63 -1.19 -0.65 -0.48 -0.36 -0.47 -0.35 -0.5 -0.37 
+-0.83 -0.5 -0.84 -0.48 -0.84 -0.5 -2.26 -0.91 -4.6 -1.78 -2.37 -1.02 -2.41 -1.02 -2.46 -0.99 
+-1.56 -0.72 -1.61 -0.71 -1.61 -0.7 -1.72 -0.74 -1.71 -0.72 -1.76 -0.71 -2.28 -0.89 -2.32 -0.89 
+-2.35 -0.89 -0.15 -0.21 -0.13 -0.24 -0.15 -0.21 0.32 -0.09 0.33 -0.07 0.35 -0.08 -2.65 -0.87 
+-2.67 -0.89 -2.69 -0.87 0 -0.13 -0.02 -0.15 0 -0.13 1.35 0.21 1.34 0.24 1.37 0.26 
+-1.95 -0.69 -1.95 -0.68 -2 -0.67 -4.28 -1.12 -4.25 -1.09 -4.25 -1.06 -1.87 -0.33 -1.84 -0.32 
+-1.82 -0.3 -3.61 -1.05 -1.84 -0.52 -1.58 -0.48 -1.63 -0.5 -1.65 -0.48 -3.08 -0.48 -1.52 -0.21 
+-3.08 -0.67 -6.21 -1.31 -1.23 -0.06 -2.43 -0.13 2.87 0.87 1.39 0.43 1.78 0.54 1.74 0.54 
+1.73 0.57 1.06 0.41 1.05 0.39 1.02 0.41 4.39 1.17 2.14 0.61 -0.37 0.04 -0.39 0.04 
+-0.37 0.04 -2.64 -0.52 -2.63 -0.52 -2.61 -0.5 3.95 0.93 3.95 0.96 3.93 0.95 1.58 0.55 
+1.57 0.54 1.56 0.56 2.63 0.8 2.6 0.8 2.59 0.8 -0.05 0.3 0 0.15 -0.21 0.13 
+-0.24 0.13 -0.22 0.13 -0.3 0.13 -0.3 0.11 -0.33 0.11 0.63 0.37 0.59 0.37 0.61 0.37 
+1.15 0.5 1.15 0.48 1.13 0.5 1.75 0.63 1.73 0.63 1.74 0.65 2.71 0.89 2.72 0.93 
+2.66 0.91 3.64 1.08 3.63 1.11 3.64 1.11 2.54 0.83 2.56 0.84 2.54 0.85 3.91 1.13 
+1.95 0.58 2.48 1 1.21 0.5 2.52 0.89 2.52 0.91 2.49 0.93 1.96 0.63 1.97 0.65 
+1.99 0.65 0 64 -0.34 -0.19 -1.84 -0.91 -2.69 -1.15 -2.7 -1.11 -1 -0.67 -0.97 -0.65 
+-1.33 -0.63 -1.3 -0.62 0.79 -0.14 0.8 -0.11 2.99 0.73 3 0.76 0.91 -0.82 -1.63 -1.17 
+-1.66 -1.15 -0.98 -1.09 -1 -1.11 -1.58 -0.99 -1.61 -1 -0.74 -0.83 -0.74 -0.8 -2.47 -1.17 
+-2.5 -1.15 -1.28 -0.91 -1.28 -0.89 -2.17 -1.07 -2.17 -1.04 -1.76 -0.96 -1 -0.54 0 -50.85 
+0.18 -0.3 0.19 -0.28 0.17 -0.3 -2.15 -0.57 -4.29 -1.09 1.99 0.85 3.91 1.69 0 50.85 
+-0.78 -0.41 -2.11 -1.11 -2.13 -1.11 -2.61 -1.37 -2.62 -1.37 -1.96 -0.56 -1.93 -0.59 -0.5 -0.61 
+-0.52 -0.63 -2.39 -0.93 -2.41 -0.93 -2.26 -0.21 -2.26 -0.17 -1.43 -0.59 -1.43 -0.57 -1.3 -0.78 
+-1.32 -0.79 -2.82 -0.74 -2.84 -0.73 -2.09 -0.2 -2.06 -0.2 -5.95 -1.99 -0.46 -0.48 -0.48 -0.48 
+-3.37 -0.96 -3.38 -0.93 -0.54 -0.5 -0.56 -0.5 -2.23 -0.28 -2.24 -0.3 -1.82 -0.8 -1.85 -0.8 
+-3.16 -1.11 -3.19 -1.09 -3.06 -0.24 -3.06 -0.21 -2.75 -0.5 -2.78 -0.48 0.11 -0.46 0.11 -0.44 
+-2.25 -0.54 -2.26 -0.52 -2.88 -0.57 -2.91 -0.54 -3.43 -0.54 -3.45 -0.52 -2.54 -0.34 -2.52 -0.37 
+-2.21 0.61 -1.45 0.24 -1.46 0.26 -1.82 0.05 -1.82 0.06 -0.7 -0.82 0.72 -0.41 0.71 -0.39 
+-1.82 -0.5 -1.83 -0.47 -0.89 0.47 -0.87 0.5 -2.99 -0.56 -3.04 -0.57 -2.54 -0.54 -2.56 -0.52 
+-3.38 -0.11 -3.37 -0.09 -3.32 -0.02 -3.3 -0.02 -3.19 0.04 -3.17 0.04 0.13 -0.39 0.13 -0.41 
+-2.47 0.48 -2.43 0.48 1.29 0.46 1.3 0.45 -2.6 1 1.08 0.54 1.06 0.55 1.61 0.63 
+1.58 0.63 p
+4.95 0.87 -1.43 0.91 -0.17 0.54 -0.15 0.52 1.97 0.41 2 0.41 -0.63 0.34 -0.61 0.37 
+0.89 0.61 0.87 0.58 1.29 0.7 1.25 0.67 -0.61 0.61 -0.59 0.63 -0.87 0.43 -0.84 0.46 
+-2.61 0.78 -2.52 0.82 -2.43 0.83 -0.8 0.48 -0.78 0.5 -1.63 0.13 -1.61 0.13 -2.21 0.33 
+-0.26 0.05 0 -1.91 0.37 -0.65 0.39 -0.67 -2.26 0.08 -2.25 0.11 -2 -0.09 -2 -0.06 
+3.04 1 2.34 0.13 2.37 0.15 0 1.91 -1.93 0.28 2.06 0.39 2.04 0.39 2.17 0.7 
+2.17 0.71 1.21 1.48 -2.17 1.17 -1.43 0.78 -2.69 1.09 -2.08 1.23 -3.06 1.07 -3.56 0.8 
+-4.08 1 -3.93 0.82 -4.26 0.87 -4.16 0.46 -5.42 -0.26 -4.86 0.93 -2.11 1.52 -3.99 0.61 
+-3.67 0.73 -3.14 1.05 -1.07 1.71 -3.88 0.54 -3.64 1.2 -5.54 0.37 -2.3 -1.3 1.39 -1.52 
+-0.33 -1.7 -3.06 -1.09 -1.46 -1.41 -1.34 -0.61 0 -8.01 2.08 -1.58 -0.91 -0.61 -0.89 -0.63 
+-1.12 -0.22 -1.15 -0.19 0.43 -0.57 0.41 -0.54 -2.43 0.36 -2.46 0.37 -0.32 0.57 -0.31 0.55 
+0.24 0.61 0.26 0.58 1.82 1 4.34 0.3 0 8.01 -1.21 -0.56 -2.59 -1.15 -1.89 -1.29 
+-3.91 -0.24 -5.29 0.7 -5.39 1.21 -3.04 0 1.35 -1.65 1 -1.46 2.16 -1.69 2.09 -1.89 
+0.8 -0.85 0.82 -0.84 0.18 -0.55 0.2 -0.56 -3.13 0.39 -3.91 1.13 -0.91 -0.32 -0.91 -0.3 
+1.98 -0.61 2 -0.59 0.8 -0.56 0.79 -0.55 -0.43 -0.43 -0.46 -0.41 -0.43 -0.42 -0.41 -0.43 
+-2.37 0.24 -2.39 0.26 -2.93 0.93 -2.91 0.98 0.26 1.25 -1.78 0.89 -1.76 0.91 -2.95 0.61 
+-2.97 0.61 -1.43 0.16 0 -72.48 3.13 -0.24 3.1 -0.21 3.08 -0.2 -0.84 -0.02 -0.85 0 
+-0.87 -0.02 1.95 -0.26 1.97 -0.29 1.98 -0.26 -4.23 0.48 -4.23 0.5 -4.19 0.52 0 72.48 
+-1.95 0.2 -3.39 0.37 -1.8 -0.3 -1.78 -0.28 0 -1.22 2.54 -0.26 2.54 -0.24 2.43 -1.34 
+-3.58 0.41 -3.56 0.42 -0.2 0.49 -0.17 0.52 0 1.22 -0.02 -0.02 -1.19 -0.35 -1.17 -0.34 
+-1.13 -0.37 -1.15 -0.35 -3.14 1 -3.13 0.99 -3.02 0.72 -3 0.74 -1.22 1.21 -1.99 0.2 
+-2 0.22 -2.3 0.69 -2.28 0.74 -2.6 0.71 -2.61 0.76 -2.15 0.54 -2.13 0.57 -2.14 1.21 
+-2.11 1.21 0.67 0.89 2.11 0.98 1.39 0.93 0.11 1.41 -1.25 0.89 -3.35 0.35 -5.38 0.82 
+-5.82 1.24 -4.51 1.37 -6.27 1.82 -5.3 0.43 -1.54 1.48 3.86 0.32 1.13 1.02 -4.16 0.67 
+-0.63 1.63 -1.37 1.74 1.32 0.06 4.45 -1.97 4.96 -0.81 3.91 0.52 -0.99 2.34 -3.26 1.7 
+-4.88 0.78 -4.91 0.83 -3.66 1.39 3.04 -0.22 4.75 -0.54 4.66 -0.37 1.02 1.15 -5.04 1.21 
+-1.3 -0.58 -4.99 1.11 -0.44 1.13 3.19 -0.43 3.54 -1.22 3.75 0.02 -0.41 1.34 -1.89 1.7 
+-3.36 0.8 -0.21 1.63 1.63 0.73 2.45 0.52 -2.41 1.07 -4.16 -0.5 -3.19 1.47 -2.47 -0.06 
+-2.43 0.7 0.88 1.15 -1.43 1.37 -3.41 0.06 1.54 -1.73 -4.88 0.33 -0.74 1.36 3.19 -1.12 
+-0.61 1.95 4.12 -0.13 -2.3 1.2 3.37 -0.59 3.17 -0.95 0.26 1.02 -3.06 1.26 -3.21 1.04 
+-1.93 -0.85 -4.25 0.39 -3.37 -0.09 -2.61 -0.52 -1.45 1.72 2.71 0.65 -1.24 1.8 2.82 0.41 
+3.19 -1.11 p
+2.15 0.96 2.39 0.95 2.49 0.91 1.06 1.41 1.17 1.39 2.54 0.61 -0.48 1.43 0.37 1.3 
+2.37 0.93 2.38 0.96 3.08 -0.24 -3.64 1.41 -2.65 1.98 3 0.39 3.75 0.04 2.54 0 
+3.38 -2.13 1.13 1.2 1.13 1.24 0.71 1.47 1.35 1.17 -0.43 1.5 -2.89 2.19 -3.58 1.96 
+-3.12 1.02 -4.1 2.32 -4.36 1.73 -3.78 1.46 -4.06 2.4 2.02 0.68 -1.15 1.8 -2.89 0.7 
+-1.3 1.69 -2.82 1.8 -1.13 0.34 0 -5.62 5.27 -2.08 4.69 -2.21 4.39 -1.76 4.1 -1.82 
+3.84 -1.88 2.8 -1.76 2.52 -1.78 0.22 -1.63 -1.35 -1.21 -2.62 -0.58 -3 1.06 -1.89 -0.35 
+-3.52 0.87 -2.52 -0.04 -3.32 1 -1.56 1.19 1.97 1 1.7 1.39 1.08 1.07 0.57 0.86 
+-1.34 1.22 -4.14 1.82 -4.43 1.76 -3.35 1.71 0 -4.34 2.5 -0.15 2.39 -1.41 1.52 -1.18 
+-0.78 -0.98 -1.59 -0.8 -1.89 1.67 -2.04 0.96 -0.11 1.88 0 4.34 -0.56 0.28 -0.33 1 
+0.78 0.89 0 5.62 -2.34 0.72 -2.2 1.45 0.31 -2.04 -1.39 -0.43 -2.99 1.8 -1.52 2.19 
+0 1.61 3.02 -1.73 0.78 0.73 3.49 -1.09 -3.25 2.24 0.11 1.56 -2.78 1.3 -0.33 1.93 
+-0.39 2.45 -2.56 1.91 2.82 0.09 -1.72 2.1 1.89 0.85 -2.02 2.04 -0.2 1.39 2.34 1.39 
+0.79 1.54 0.8 1.52 1.76 0.7 0 672.24 -2.04 -1.69 -1.76 -3.82 -2.32 -0.37 -0.52 -0.09 
+0 -1.43 1.34 -0.85 -2.49 -1.93 0 -656.36 -1.41 -1.58 -0.13 -0.07 0 -9.89 3.11 -1.3 
+-0.91 -1.65 0.32 -1.41 -2.86 0.32 -0.59 2.37 3.13 -1.28 -2.2 2.95 0 9.89 -1.21 -0.58 
+-0.37 -2.43 -2.17 0.09 0.8 1.11 1.73 1.24 -0.39 1.78 3.15 0.45 0 656.36 -0.14 -0.09 
+-3.08 -1.75 -2.19 -1.05 -2.84 -1.91 3.36 0.33 1.02 -1.8 -2.15 -0.52 0.42 -2.73 2.23 -0.67 
+1.93 -1.15 0.84 -1.7 -3 -1.28 -0.45 -2.11 2.54 -0.85 -4.04 -1.28 -1.69 -1.39 0.15 -1.3 
+2.52 1.57 1.28 -0.16 -2.52 -2.12 1.84 -0.39 -2.26 -2.28 -2.23 -2.3 -1.82 1.02 1.43 2.1 
+-2.41 -0.41 2.52 2.13 -1.2 1.32 -1.56 0.26 -3.32 -1.67 -1.43 1.52 2.41 0.39 1.19 1.67 
+-1.67 1.59 -2.19 1.34 -2.2 1.39 -2.08 2.02 -2.8 0.54 1.2 2.41 2.13 0.48 2.69 0.72 
+-0.61 1.02 2.58 1.46 3.34 1.58 2.96 2.41 3.12 1.71 2.32 1.61 2.2 1.04 2.8 0.07 
+0 1.43 -2.56 -0.39 -2.98 1.37 -3.21 0.3 -2.47 -0.91 -2.45 -0.84 -2.65 -0.68 -2.43 1.74 
+-2.32 1 -0.57 1.78 -1.67 1.28 -1.47 1.18 -1.09 1.52 -2.19 1.13 -1.04 0.84 0 -3.52 
+1.67 -1.34 1.37 -1.71 0.76 -1.98 0.63 -1.73 -0.56 -2.3 -1.52 1.13 -1.37 1.76 -0.8 1.93 
+0.43 1.71 -0.61 2.54 0 3.52 -0.58 0.5 -1.39 1.2 -2.56 0.76 -2.47 -0.67 -2.29 -1.65 
+-1.58 1.43 -3.45 -0.5 -2.93 -0.33 -2.87 -1.02 -2.32 -0.87 -2.52 -0.63 -2.28 -0.83 -2.56 -0.65 
+2.36 -0.74 2.52 0.63 2.52 0.71 2.87 1 2.93 0.35 2.73 -0.26 2.11 -0.5 2.73 -0.24 
+2.24 -1.12 2.21 -1.18 0.93 -2.19 -0.24 -1.89 -1.41 -1.61 -2.56 -0.02 -2.02 0.21 -2.52 2.11 
+-0.5 -3.82 2.89 -0.93 -1.28 -0.98 0 -4.82 -1.21 -1.85 0.96 -2.02 1.61 -1.2 2.41 -1.12 
+-2.41 -0.24 p
+-1.32 -1.65 -1.3 2.95 -0.59 2.48 0.15 1.93 1.71 0.72 0 4.82 -0.93 -0.71 -2.23 -3.02 
+-1.2 -3.19 0.89 -2.09 0.71 -3.19 1.56 -1.78 2.28 -0.39 1.11 -1.41 1.64 2.12 3.04 1.07 
+2.58 1.46 0.05 -1.35 -2.2 -2.34 0.68 -3 -3 -0.52 -2.34 0.3 -1.79 -1.34 -3.05 0.83 
+-3.87 0.78 -2.91 0.13 -1.41 1.06 -2.25 -0.98 -2.78 -0.62 -2.76 -0.61 -0.39 2.38 1.26 2.5 
+2.38 1.49 3.02 0.43 1.79 -0.06 3.23 0.25 -2.22 0.98 1.65 1.52 -3.45 -0.09 -2.47 0.65 
+-2 1.65 -1.43 -1.7 -2.41 -0.15 -2 0.35 -2.26 0.45 0.07 1.43 -2.69 -1.32 -2.26 0.5 
+-1.99 0.37 -0.74 -0.84 -2.28 -0.87 -2.12 -1.11 -0.87 -1.46 -1.73 -0.65 0.2 -1.61 -1.33 -2.54 
+1.24 -1.11 1.15 1.17 -1.36 -1.67 -2.54 0.74 0.71 0.87 -1.82 0.13 0.39 1.87 -1.87 -1.26 
+-2.04 0.37 -1.32 1.23 -1.3 1.24 -2.04 0.41 -2.19 0 0 -0.21 1.93 -1.02 1.65 -0.87 
+2.04 -0.37 0.16 -1.7 -2.84 0.39 -2.08 1.26 -2.13 1.24 1.28 1.06 0 0.21 -0.2 0 
+-2.3 -0.84 0.11 -1.71 -2.61 -2.12 -3.02 -1.71 -2.73 -0.39 0.78 2.34 -0.13 1.76 -1.75 -3 
+-1.39 -4.12 -1.74 -0.63 -2.64 -1.32 -2.58 -2.17 -1.02 0.24 ^ 1.85 1.3 -0.89 0.89 
+1.3 1.09 -0.34 1.97 2.21 1.7 1.48 1.76 1.89 1.24 -1.82 0.24 -1.84 -1.25 -2 -2.8 
+-1.21 -1.91 -0.96 1.75 0.11 -3.32 -2.06 -1.96 -1.41 -1.71 -0.3 -2.93 -0.93 -2.21 -1.52 -2.45 
+-0.67 -2.43 0.52 2.21 -0.16 1.37 -1.28 0.43 -1.82 0.28 1.37 -1.36 1.15 -1.13 -1.39 -1.82 
+-1.5 -0.89 -0.93 0.91 -2.73 -0.41 1.39 -1.37 -1.71 -0.68 -0.22 0.14 0 -143.77 0.26 -1.87 
+-1.09 0.52 -0.74 -0.7 0 -8.33 0.87 -1.65 0.02 -1.2 -0.89 2.85 0 8.33 -0.5 -0.5 
+0.29 2.19 0.95 -0.99 0.83 1.34 0 143.77 -1.76 1.06 -2.54 -0.7 -2.52 -0.61 -1.48 0.76 
+-2.41 0.06 -0.16 -0.08 0 -179.36 3.2 -0.8 -0.76 -3.11 -1.52 -1.06 -2.67 1.11 1.78 0.43 
+0.61 2.54 -0.63 0.89 0 179.36 -1.93 -1.07 -2.26 -0.85 -2.74 -0.37 -1.71 0.07 0 -116.99 
+2.41 -1.35 2.39 -1.32 0.79 -2.26 -1.61 -0.98 -1.7 0.93 -1.91 0.46 -1.54 1.45 1.17 3.06 
+0 116.99 -0.67 0.02 -3.08 -0.82 -2.76 -2.04 -2.71 -2.04 -1.83 -3.04 -1.75 -3.08 -0.57 -1.58 
+0 -27.37 0.09 -3.67 -2.36 -2.39 1.89 2.8 0.39 3.25 0 27.37 -0.71 -2 -1.52 -3.34 
+-0.93 -3.87 -1.28 -1.91 -0.65 -1.87 0 -11.3 0.21 -2.02 2.08 -0.37 0.95 -0.85 -0.3 -1.54 
+-0.17 1.32 -1.93 0.61 0 -45.4 0.95 -1.41 1.35 1.09 -1.8 -2.06 -1.84 1.3 1.34 1.09 
+0 45.4 -1.15 0.37 0.31 2.48 0 11.3 -0.83 -2.28 -0.61 -1.78 0 -64 2.21 -1.52 
+1.54 -3 1.69 0.16 2.56 -1.7 1.74 -1.71 2.04 -1.91 -0.2 -2.49 2.28 -1.41 -2.24 -0.54 
+2.89 -2.97 0.67 -3.56 -2.39 -1.78 -0.49 2.88 -2 1.2 -2.71 0.34 -2.2 0.71 0.63 1.55 
+-2.39 0.2 -0.63 -1.54 -2.37 -1.79 -0.37 4.12 -1.71 1.83 -0.05 0 0 -44.23 0.7 -1.48 
+0.17 -1.05 -0.87 2.52 0 44.23 -1.8 0.5 -1.39 1.63 -1.91 1.28 -1.06 -0.63 -1.65 3.8 
+1.91 0.7 p
+1.67 -1.8 1.15 -2.15 1.91 -1.25 2.28 0.48 -0.52 3.67 0.89 2.02 -0.05 2.73 -1.89 1.3 
+1.93 0.67 0 64 -0.81 -2.34 -0.78 -1.23 0 -14.84 0.8 -0.7 -0.87 -3.69 -1.15 -2.04 
+-0.26 -2.67 -1.65 -1.5 0.82 3.69 -0.26 3.88 1.66 0.78 0.89 2.24 0 14.84 -1.35 -2.15 
+-2.41 -3.21 -2.56 -2.21 -1.34 -0.21 -1.58 0.69 0.99 3 -0.07 3.21 1.11 3.71 0.82 3.21 
+0.3 2.93 1.09 2.23 2.39 2.41 -1.28 0.48 1.33 1.97 1.84 2.11 1.54 3.37 -0.3 1.28 
+1.21 4.58 0.26 3.17 -1.65 1.11 -2.11 -0.13 -1.62 1.15 1.3 2.85 -0.52 2.56 0.26 2.46 
+-1.57 1.17 -1.61 1.13 -1.17 1.63 1.11 2.45 -1.69 -0.57 -0.81 2.11 -0.95 1.41 -2.24 0.3 
+0.02 3.08 -2.45 -1.48 0.39 -1.61 1.26 -0.96 0.95 -1.41 -1.3 -1.13 -1.28 -0.07 -0.76 -0.95 
+-0.28 -3.54 -1.15 -0.39 0.52 2.26 -0.41 1.56 -1.48 0.26 -1.7 1.47 -0.72 2.24 1.33 2.14 
+0.46 3.58 -2.04 0.07 -0.61 2.28 -0.26 2.67 -1.52 1.63 -1.19 1.07 -2.15 0.43 1.96 2.28 
+-1.39 0.3 -1.52 -3.26 -0.48 -0.02 0 -75.98 2.41 -0.02 1.85 -1 1.82 -1.04 2.15 -0.48 
+1.58 -1.5 1 -2.52 1.61 -1.49 0.8 -2.26 0.8 -2.17 0.02 -3.06 1.65 -1.43 1.17 -2.41 
+0.91 -2.93 0.65 -2.67 0.93 -2.21 0.74 -3.41 1.52 -1.91 1.26 -1.63 -1.57 -2.34 1.5 -0.35 
+1.54 -1.89 0.28 -2.91 0.91 -0.67 -0.17 -1.24 -2.09 0.83 -1.7 -0.18 -1.82 1.33 -1.54 1.91 
+-1.82 1.37 -2.04 0.8 -2.38 1.87 1.63 0.84 1.93 0.61 0.42 2.56 -2.61 2.1 -0.72 3.45 
+1.02 2.8 -0.07 1.45 -1.96 0.96 -1.12 2.47 -1.13 1.71 -0.29 2.5 -2.43 2.23 -1.09 1.59 
+0 -33.03 2 -0.11 1.56 -1.87 1.58 -1.93 1.04 -2.13 -0.28 -2.57 -1.22 0.89 -1.02 1.47 
+-1.67 -0.15 -1.3 1.65 -0.24 3.06 -1.19 0.91 0.73 0.78 0 33.03 -0.25 0.39 -0.22 2.54 
+2.17 -0.48 -1.84 2.49 -1.26 2.09 -1.88 -0.52 -0.87 -0.22 0 -3.12 0.16 -1.65 -0.5 -2.23 
+-1.39 0.37 -0.55 0.93 0.74 0.5 0.21 1.41 1.32 0.67 0 3.12 -1.06 -0.25 -1.78 1.78 
+-1.72 -1.56 -2.02 2.09 2.13 -0.52 1.15 2.02 1.88 0.5 0 75.98 -1.37 -0.13 -1.8 -0.2 
+-1.32 1.41 -2.54 -0.07 -2.47 0.02 -2.17 -0.63 -2.52 -2.52 -2.04 -3.54 -2.32 -2.91 -1.78 -2.78 
+-2.41 -1.52 -2.58 -2.36 -2.59 -2.35 -2.23 -3.02 -2.22 -3.06 -2.19 -3.06 -2.13 -1.89 -1.78 -3.75 
+-0.37 -4.05 -1.76 -1.41 -1.37 -3.32 -0.78 -3.04 -0.58 -3.36 -1.41 -4.14 -1.04 -3.64 -0.8 -4 
+0.65 -2.88 0.63 -2.93 -0.37 -3.36 0.87 -1.2 2.13 -1.07 1.89 -1.47 2.47 -0.43 1.3 -2.65 
+-0.56 -1.04 2.19 -0.98 0.67 1.91 1.8 0.46 1.54 -0.04 1.5 2.69 1.67 1.52 1.78 2.38 
+2.39 3.34 1.54 -0.07 1.67 -1.2 1.69 -1.2 2.02 -0.61 1.71 -1.17 0.91 -1.89 1.46 -1.63 
+0.13 -1.87 -1.46 -2.56 -2.71 -1.26 -2.25 -2.61 -3.91 -5.82 -2.22 -3.43 -2.43 -2.41 0.61 3.46 
+-3 -5.09 -1.61 -3.25 -2.93 -3.56 -2.59 -0.54 0.79 -2.5 0.49 -2.97 2.65 -0.26 1.37 -2.91 
+1.89 -1.04 2.13 -0.46 1.39 -2.15 1.93 -0.95 0.83 -1.59 1.2 -1.8 0.24 -4.02 0.95 -2.28 
+0.11 -1.61 p
+-2.04 -4.92 -2 -2.02 -1.54 -3.84 -1.28 -3.32 -2.09 -3.38 -1.24 -3.34 -1.61 -2.37 -0.41 -3.3 
+-0.05 -3.49 -0.04 -3.56 0.82 -3.43 1.04 -2.87 -0.29 -3.3 1.59 -1.15 0.76 -2.61 2.63 -0.43 
+2.26 -0.26 2.3 -0.2 1.65 1.54 1.95 -1.32 1.29 -2.13 1.48 -1.7 1.04 -3.3 0.67 -3.04 
+0.71 -3.11 0.79 -4.38 1.39 4.99 2.8 1.54 1.82 2.14 1.87 -0.49 0.95 3.27 1.32 3.09 
+1.67 1.52 2.04 0.06 1.52 -1.54 1.67 1.54 2.59 -2.17 2.56 0.41 1.84 0.8 2.06 0.02 
+1.71 1.59 1.86 0.8 1.24 -1.39 0.17 -1.97 -1.87 -2.02 -2.41 0.09 0.09 -3.82 -0.09 -3.08 
+-1.65 -1.57 -1.98 -2.64 0.48 -2.71 -0.41 -2.91 2.82 -0.26 1.02 3.75 -0.42 4.54 1.11 3.8 
+2.06 0.04 2.11 0.11 2.19 0.66 0.13 3.05 2.21 0.63 -0.57 -4.64 1.8 -0.98 2 -1.63 
+1.3 -2.52 -0.36 -2.87 0.13 -2.45 2.7 -0.79 2.54 -1.25 2 -0.39 1.8 -0.89 0.35 -1.93 
+1.58 -1.91 2.46 -1.76 2.52 0.02 2.91 1.63 2.63 -1.2 3.02 -1.34 2.64 -1.15 -4.03 0.59 
+0.97 -2.72 0.93 -3.29 1.63 -0.16 1.7 -1.82 2.43 -2.16 0.08 -3.46 -1.58 -3.29 3.71 -0.42 
+2.3 -3.12 1.93 -2.95 1.95 -3.02 0.3 -2.87 -0.87 -2.47 2.06 -0.21 2.02 -2.93 1.37 -2.12 
+0.87 -2.48 2.71 -1.54 2.43 -0.82 2.54 -0.28 2.45 -0.81 2.36 -1.37 2.32 -1.78 1.55 -1.09 
+1.93 -1.62 2.26 -2.3 1.8 -2.73 2.21 -2.78 1.45 -1.99 2.13 -3.8 -0.45 -3.54 1.21 -4.56 
+0.41 -4.32 2.91 -1.29 -0.84 -4.46 -2.45 -2.46 -1.87 -1.58 -2.34 -1.5 -1.07 -2.84 -0.73 -3.43 
+3.14 0.74 1 -4.43 1.11 3.88 0.28 3.54 2.28 0.96 2.54 -1.16 2.63 -0.17 2.93 -1.73 
+-1.13 -3.84 -1.07 -2.34 1.24 -1.28 2.02 4.12 1.84 0.54 3.02 -0.74 2.89 -2.71 2.56 -1.63 
+3.45 -1.76 0.78 -2.26 2.7 0.43 0.7 -2.69 1.2 -2.73 -0.98 -2.8 3.1 0.29 2.74 0.93 
+2.64 -1.02 2.58 -2.04 2.69 -0.52 2.61 -2.02 2.69 -0.52 2.71 0.48 2.69 -0.5 2.63 -2.5 
+2.62 -2.43 2.65 -2.43 1.74 -2.3 1.8 -2.26 2.69 -1.91 1.76 -2.24 2.73 -0.95 2.73 0.08 
+3.17 -1.49 1.32 -3.59 0.89 -3.56 0.93 -3.49 0.43 -2.95 -0.41 -3.8 -2.7 -5.38 -1.32 -2.17 
+-2.25 -2.11 -1.3 -2.23 -2.69 -1.49 -1.3 -1.26 -1.71 -2.63 -1.24 -2.71 -2.14 -3.02 -2.15 -2.11 
+-2.61 -1.54 -0.22 -3.82 -0.24 -2.84 0.63 -2.96 0.21 -2.88 0.66 -2.95 -0.59 -3.23 -0.17 -3.34 
+0.26 -2.89 -1.57 -1.66 -0.13 -2.82 0.3 -2.89 -0.15 -2.82 -2.32 -2.54 -0.48 -2.78 -2.28 -2.54 
+-0.5 -2.78 0.41 -2.86 -2.41 -1.13 -2.41 -1.11 0.39 -2.43 -2.61 0.33 -2.54 -0.16 -2.61 0.33 
+-1.23 0.37 0 -157.18 2.76 -0.82 1.3 -1.78 -1.95 -1.04 -0.13 -1.41 -2 -0.56 -1.62 1.32 
+-1.5 0.37 -0.67 -1.47 -4.1 2.14 3.04 -0.78 0.11 1.43 -2.54 1.73 2.54 0.63 3.08 -0.8 
+1.7 1.04 0 157.18 -1.43 0.41 -3.39 -0.02 1.19 -2.05 -2.58 0.33 -1.64 -2.65 -1.87 1.15 
+-2.63 -1.54 -2.36 -0.67 -1.67 -2.12 -2.06 -2.15 -1.61 -2.19 -1.56 -2.17 0.63 -2.93 0.89 -3.95 
+1.11 -2.97 0.3 -2.87 -0.13 -2.84 -0.98 -0.85 -1.59 -1.71 -1.24 -2.72 -0.84 -2.75 0.04 -2.84 
+-0.8 -2.76 p
+-0.71 -2.75 -1.8 -1.71 -1.75 -1.76 -1.37 -1.75 0.19 -2.87 -0.98 -2.76 -1.67 -1.71 0.35 -1.98 
+-1.26 -1.78 -1.76 -1.29 -2.12 -0.28 -3.26 0.73 -2.47 -0.26 -2.99 1.19 -2.13 1.63 -3 0.26 
+-3.23 2.73 -0.02 -1.91 1.56 -2.12 4.52 -2.32 2.28 -2.08 0.06 -2.91 2.15 -2.58 2.06 -0.61 
+1.58 -2.99 -0.21 -2.85 -0.78 -2.36 0.39 -2.46 -1.91 -1.32 -1.73 -0.83 -2.39 -0.84 -2.64 -0.3 
+-1.89 -0.43 -2.96 -0.3 -3.19 0.17 -1.78 1.56 0.89 -2.52 2.39 -2.06 0.29 -1.96 0.47 -2.97 
+1.5 -1.54 0.74 -2.02 -1.96 -1.41 -3.38 0.11 -2.58 1.11 -2.85 1.59 -0.56 -1.48 2.37 -3.06 
+1.97 -3.52 2.85 -1.56 2.14 1.45 2.36 -3.02 0.5 -1.5 -1.97 0.04 -2.46 2 -0.82 -1.95 
+3.23 -1.06 -1.45 -1.93 0.24 -2.04 1.52 -1.98 1.85 -3 -0.93 -1.02 1.25 -1.98 -2.23 -0.02 
+-1.5 -1.52 -0.28 -1.52 0.78 -3.02 2.32 -2.97 2.87 -1.91 3.21 -1.95 2.73 0.09 1.63 -1.91 
+1.5 -2.95 -0.41 -2 -0.89 -2.09 -0.3 -2.02 1.63 -2.95 1.72 -2.93 -1.48 -1.15 -0.13 -2.04 
+1.8 -2.93 2.56 -2.37 2.52 -2.3 4.04 -2.68 -0.11 0 0 -1.56 3.64 -2.19 1.89 -1.82 
+2.21 -1.85 3.45 -1.61 3.32 -1.15 2.55 -1.21 2.38 -0.76 2.04 0.24 0.98 -1.39 -0.89 -0.59 
+-2.54 -0.28 -1.24 -1.67 -2.5 -0.35 2.7 -2.21 -3.28 1.08 -1.5 -0.71 -2.37 0.74 -2.26 1.74 
+-0.54 -1.15 -2.84 0.65 -4.19 1.47 -1.34 1.39 -1.46 -0.22 -2.32 1.84 -1.91 -0.28 -1.37 1.41 
+-2.8 1.21 -0.39 1.58 -1.89 0.24 -2.82 1.21 -1.84 1.39 3.3 -1.17 3.32 -1.15 4.21 -1.54 
+2.56 -1.24 3.11 -0.62 1.89 -0.83 -1.13 2.99 3.1 -2.73 1.41 -0.3 -2.84 2.75 1 1.69 
+-1.15 0.93 -1.41 -1.23 -1.62 0.84 -2.04 2.91 1.54 0.17 -0.48 1.52 1.5 -0.41 0.87 0.65 
+0 1.56 -2.41 0.24 -1.59 -0.18 0.98 -1.45 -1.3 -0.13 -1.07 -1.7 2.07 -2.93 2.6 -2.82 
+-0.56 -0.58 -3.06 0.61 -2.08 1.3 1.46 1.8 -1 2.04 -1.7 0.29 0.67 -2.59 -0.17 -1.65 
+-3.3 1.17 -2.32 1.3 -1.32 1.43 -1.95 0.33 -2.7 2.32 0.35 -1.61 -2.39 0.78 -2.66 2.95 
+2.43 -0.19 -1.24 2 -3.08 2.9 1.2 -2.02 -1.2 -1.82 -1.15 2.58 -2.09 3.04 1.43 -0.34 
+-2.21 1.91 -1.59 2.57 1.26 -4.82 -3 3.5 -0.24 1.63 -2.02 0.37 -1.82 2.52 -1.75 1.47 
+-2.41 3.67 -2 2.52 -1.35 2.12 0.96 0.61 4.14 -3.45 -2.38 3.05 -1.67 2.56 -1.32 3.73 
+-1.67 -0.11 -2.43 0.89 -0.49 -1.67 -1.59 2.13 0.63 2.73 -1.98 1.52 1.3 0.65 -1.7 1.54 
+-0.89 2.11 -0.5 1.61 -2.41 2.65 -0.86 2.62 0.07 2.2 2.61 -2.13 0.45 -1.61 1.37 -1.56 
+0.54 -2.11 1.3 -1.05 1.76 -2.06 -1.3 3.16 -1.74 2.07 0.45 1.61 -1.67 1.56 -0.49 2.67 
+-1.98 2.08 -0.78 2.67 -2.65 4.25 0.3 1.02 -1.59 1.08 -0.34 2.11 -2.52 1.11 0.63 -2.1 
+-1.85 0.52 -1.24 1.39 0 -1.89 2.82 -1.11 1.63 -2.13 0.11 -2.17 1.93 -2.11 0.83 -2.69 
+-2.47 0.54 -2.13 4.25 -1.37 2.17 -1.35 3.23 0 1.89 -0.67 0.74 -1.91 2.73 -0.98 2.72 
+-2.17 3.77 -0.2 3.21 -2.08 3.28 -1.82 2.78 -1.41 2.7 -2.43 2.82 -1.26 3.8 1.67 -0.11 
+-1.63 3.3 p
+0.46 1.07 -0.91 3.25 -0.87 3.26 -0.13 3.19 -0.46 3.23 -1.04 3.28 0.11 2.08 -1.75 3.36 
+-0.35 4.3 -1.58 2.28 -0.89 2.28 -1.61 3.38 -1.82 3.93 -0.83 3.3 0.85 1.5 -1.89 4.54 
+-1.5 2.34 0 3.19 -0.7 3.32 0.07 3.19 -1 3.36 0.21 4.26 -1.84 4.05 0.52 2.02 
+-0.74 2.84 -1.22 3.45 -0.47 3.3 -0.8 3.39 -0.76 3.38 0.39 3.14 -0.35 3.32 -0.26 3.3 
+-1.08 3.47 -0.63 3.39 -0.2 3.3 -1.54 4.75 -1 4.02 -0.52 3.4 -2.74 3.47 -1.71 1.52 
+-1.93 3.3 -2.52 2.36 -2.58 2.91 -1.61 1.06 -3.34 3.19 -2.61 3.63 -2.34 1.26 -3.34 3.89 
+-3.43 5.64 -2.19 4.16 0.08 3.43 -1.8 5.28 -0.98 3.84 -1.61 2.87 -0.87 2.71 -1.61 4.12 
+-0.87 3.86 -2.32 5.6 -0.74 3.88 -0.76 3.89 -0.74 3.91 -1.39 4.21 -2.14 3.4 -0.61 4.51 
+-1.32 3.67 -1.32 3.06 -2.06 2.82 -1.35 2.52 1.59 1.67 -1.2 4.34 -0.41 3.95 0.24 3.04 
+2.38 1.93 2.37 1.28 1.52 0.5 1.09 3.19 0.93 2 -1.74 0.91 -0.78 -3.37 -1.35 4.47 
+-1.3 1.97 0.86 0.76 0.43 3.56 -0.08 5.16 1.93 0.24 0.52 3.54 2.11 1.37 1.06 4.52 
+3.2 0.74 2.38 0.58 -0.2 3.32 1.87 -0.43 0.13 3.12 2.08 2.65 2.43 -1.37 1.82 3.39 
+1.96 2.08 -0.91 3.04 1.43 3 0.39 3.62 0.76 3.39 0.75 4.73 1.02 2.56 -0.63 3.66 
+-0.95 3.88 0.04 4.54 1.63 1.56 -1.33 0.84 -0.2 3.47 -1.15 2.76 -1.3 0.87 -1.82 -2.15 
+-1.79 -0.82 -1.97 0.02 -0.33 -2.52 1.02 -3.34 -2.46 -0.39 -1.8 0.56 0.81 4.17 -1.96 1.34 
+-0.3 2.93 -1.59 2.52 -1.73 1.93 -1.29 -0.41 -0.43 2.41 -1.71 1.95 1.39 3.2 -0.5 3.21 
+-1.37 3.99 -0.16 2.98 -1.99 -1.28 -0.22 1.58 -1 1.61 0.41 3.3 1.31 2.63 1.02 2.86 
+-0.63 3.5 -0.56 3.49 -0.35 4.14 -0.22 3.26 0.02 3.9 1.13 -1.06 0.04 3.88 -1.24 -1.17 
+-1.95 1.87 -1.33 1.32 -0.91 3.3 -1.32 1.37 -0.07 2.52 -0.82 3.34 -1.55 1.65 -1.04 2.78 
+-0.74 3.38 0.11 3.43 -0.18 3.69 0.18 4.28 0.11 2.56 -0.3 3.13 -0.61 2.58 -0.82 2.11 
+-1.34 1.8 -2.24 0.13 -2.41 0.46 -0.93 3.21 -0.91 3.36 -1.15 2.74 -0.3 3.6 -0.26 3.61 
+-0.82 2.55 -0.18 3.65 -0.5 3.04 -0.43 3.14 0.48 5.14 0.48 3.91 -0.5 1.02 -0.82 2.93 
+-0.21 4.43 1.2 4.17 0.54 4.27 0.11 4.17 1.58 5.02 1.76 4.68 1.69 0.13 0.89 2.35 
+2.11 0.73 1.54 2.09 0.7 2.99 2.97 4.91 1.15 3.45 1.52 4.41 1.24 3.45 2.04 4.86 
+1.21 3.78 1.32 3.88 2.71 4.86 0.74 4.45 1 3.34 1.34 1.43 1.91 1.11 1.68 3.04 
+-0.18 1.13 1.65 2.97 2 4.95 2.8 2.73 0.18 3.1 2.64 4.97 2.73 4.93 2.87 3.73 
+2.41 3.65 1.95 2.04 2.95 3.62 2.52 2.06 0.97 2.7 1.55 2.71 -0.46 1.17 1.63 3.86 
+-2 -1.2 -2.59 -2.38 -2.58 -2.84 -2.48 -1.58 -2.06 -2.87 -1.52 -3.23 -2.41 -3.62 -2.43 -4.12 
+-2.39 -3.76 -2.87 -3.45 -1.75 -3.73 -2.71 -4.28 -2.58 -5.08 -2.7 -3.6 -2.56 -4.36 -1.8 -1.91 
+-1.63 -3.5 -0.97 -0.19 -2.07 -3.62 0.3 -1.89 -2.28 -4.91 -1.89 -4.02 -3.12 -0.39 3.19 5.58 
+1.37 4.29 p
+1.93 4.45 1.52 3.88 1 4.56 2 0.8 2.78 2.84 2.67 4 1.23 3.75 1.76 3.43 
+-0.11 1.93 1.34 3.37 0.96 2.5 1.91 2.58 1.91 4.14 -0.43 -3.19 1.5 -0.68 2.47 2.22 
+1.93 3.28 1.95 3.3 2.58 4.49 1.11 3.21 3.55 3.25 0.54 1.56 2.59 2.04 1.65 2.76 
+1.56 1.17 2.15 2.73 2.69 2.73 3.32 3.82 3.25 3.02 2.82 2.99 2.46 3.73 0.24 1.54 
+2.19 1.8 0.29 1.52 1.54 3.04 1.65 3.41 1.85 4.14 3.28 1.95 3.88 4.23 3.21 3.13 
+2.84 3.49 1.54 0.5 2.8 1.48 0.48 1.54 2.58 2.25 2.93 1.78 -2.3 -2.73 3.19 2.54 
+0.82 -0.2 1.11 1.78 -1.69 -0.83 1.3 2.52 2.11 0.7 2.32 2.63 2.87 2.56 2.91 1.58 
+2.3 1 2.67 2.04 2.25 2.15 1.71 0.67 2.93 0.3 3.26 0.97 3.71 2 2.69 1.89 
+3.54 1.54 3.55 0.37 3.65 0.66 3.23 0.78 3.41 1.08 2.56 0.22 1.52 0.63 1.43 0.56 
+2.3 0.67 -1.32 -2.82 2.41 3.14 2.45 0.96 2.39 0.91 3.86 1.8 3.3 1.63 2.02 1.04 
+1.56 0.11 -3.23 -3.43 -1.17 -2.37 -2.67 -2.59 -2.17 0.74 0.46 -1.2 -1.28 -0.63 2.99 0.04 
+3.38 1.95 0.83 -0.28 3.38 1.89 2.41 1.89 3.4 0.8 -0.69 1.61 2.73 2.39 3.32 2.47 
+1.49 1.06 1.91 1.36 2.93 2.61 0.26 0.22 2.61 2.67 3.86 2.82 2.22 0.3 3.12 1.65 
+3.87 1.17 3.34 2.54 4.29 1.74 0.93 0.39 2.98 1.87 4.27 1.43 0.29 -1.65 2.21 0.8 
+0.91 -0.3 1.59 -0.57 0.43 1.91 2.97 1.71 3.14 1.21 3.5 0.91 1.93 -0.26 1.2 1.39 
+2.3 1.33 -3.71 -1.09 -4.95 -1.35 -3.73 -0.02 3.66 1.21 3.06 1.61 2.46 0.91 2.78 0.63 
+2.6 -0.13 0.76 1.39 3.54 0.24 0.82 -1.45 -3.04 -2.13 0.74 0.24 2.37 0.76 2.88 0.71 
+-1.47 0.79 -0.3 1.41 2.63 -0.2 3.73 0.35 1.84 -0.39 3.41 0.54 -2.15 0.7 1.26 1.24 
+-3.73 -1.46 -3.11 0.3 -4.3 -0.35 -4.14 0.28 4.73 0.85 3.95 0.59 4.34 1.43 3.91 0.43 
+3.49 1.63 3.77 1.28 4.5 1.3 3.73 1.59 3.34 -0.24 0.18 1.59 2.78 1.71 4.03 1.61 
+1.2 0.87 1.72 1.22 2.97 2.06 4.36 1.59 4.77 1.34 3.34 0.78 2.58 1.52 3.47 1.15 
+-3.34 0.96 -0.8 1.97 2.78 1.52 0.67 1.97 1.06 2.11 3.21 1.98 -0.29 -1.65 2.54 0.5 
+0.5 -2.04 2.32 -1.52 -2.26 -1.95 -0.11 -1.61 2.45 1.25 1.82 2.45 0.48 1.78 -1.32 1.65 
+0.26 1.97 1.66 1.87 -0.52 1.26 -3.49 -0.89 0.06 1.89 0.52 1.67 2.17 2.43 2.04 2.6 
+0.39 1.91 2.93 2.54 2.3 1.91 -0.11 1.63 3.11 1.82 3.32 2.13 3.73 1.87 1.93 1.56 
+3.45 1.72 3.08 2.12 4.41 2.48 0 136.98 -3.37 -0.46 -5.6 -0.74 -5.59 -0.82 -5.6 -0.85 
+-11.16 -1.87 -3.38 -0.63 0 -155.23 -1.48 -2.82 -1.15 -2 -1.32 -2.14 -2.7 -0.19 2.37 2.25 
+-2.32 -0.71 -2.45 0.26 2.45 1.95 -0.13 1.39 1.54 1.83 5.19 0.2 0 155.23 -2.17 -0.41 
+-5.56 -1.02 -5.53 -1.12 -5.55 -1.13 -5.51 -1.24 -5.54 -1.21 -10.98 -2.65 -5.47 -1.41 -5.49 -1.43 
+-5.45 -1.5 -5.45 -1.52 -10.85 -3.21 -5.38 -1.71 -5.41 -1.7 -5.36 -1.8 -0.76 -0.26 0 -180.75 
+-2.47 -2.19 p
+-1.62 -1.95 -2.43 0.89 -4.08 -1.13 -1.76 0.41 -2.89 -1.65 -4.1 -1.26 4.82 2.78 3.76 1.43 
+3.88 0.87 2.91 1.54 3.99 0.26 0 180.75 -4.6 -1.54 -5.32 -1.89 -5.34 -1.89 -5.3 -1.98 
+-5.29 -2 -5.27 -2.06 -3.32 -1.32 0 -184.62 0.16 -1.21 -3.28 -2.78 -2.98 -3.27 -2.64 -2.74 
+-4.34 -2.38 -3.93 -2.61 -4.13 -3.28 -3.7 -2.47 -0.29 1.49 2.19 2.37 3.09 3.06 1.7 0.37 
+0.97 1.76 2.52 1.82 2.32 2.23 1.54 0.04 3.04 2.58 3.12 2.56 4.64 2.45 0 184.62 
+-1.93 -0.76 -5.23 -2.17 -5.21 -2.16 -5.19 -2.26 -1.65 -0.71 0 -56.82 -0.17 -0.31 -0.2 -0.32 
+-0.52 -0.09 0.45 0.37 0.43 0.35 0 56.82 -2.91 -1.26 0 -57.83 -0.61 -0.63 -0.58 -0.63 
+-1.41 -0.84 -1.43 -0.87 -0.65 0.06 -0.67 0.07 2.43 1.48 1.46 0.69 1.48 0.68 0 57.83 
+-0.63 -0.29 -5.16 -2.34 -5.14 -2.34 -5.1 -2.45 -2.49 -1.17 0 -59.44 -0.98 -0.85 -0.95 -0.87 
+-2.97 -1.32 -2.97 -1.34 2.17 1.46 2.2 1.47 1.75 0.74 1.76 0.71 0 59.44 -2.61 -1.26 
+-5.05 -2.52 -5.06 -2.54 -5.04 -2.6 -1.99 -1.04 0 -61.09 -1.15 -0.74 -1.15 -0.76 -0.63 -0.58 
+-0.63 -0.57 -2.23 -1.26 -2.23 -1.3 0.58 0.63 0.61 0.65 0.87 0.72 0.89 0.74 0.96 0.37 
+0.93 0.35 1.61 0.89 1.59 0.87 0 61.09 -3.02 -1.59 -4.97 -2.69 -4.34 -2.37 0 -61.39 
+-1.58 -1 -1.59 -1.02 -1.54 -1.05 -1.52 -1.04 -1.56 -1 -1.54 -1.02 -2.78 -1.43 -1.59 -1 
+-1.56 -1.02 0.31 0.91 2.21 2 0.91 1.21 -0.34 0.39 1.8 1.2 1.8 1.17 0.85 0.21 
+0.84 0.2 2.34 1.15 2.37 1.13 -0.3 -0.82 2.47 0.82 0 61.39 -0.63 -0.35 -4.91 -2.78 
+-4.92 -2.78 -4.88 -2.88 -4.86 -2.87 -4.84 -2.97 -4.82 -2.95 -4.75 -3.04 -4.78 -3.06 -4.7 -3.12 
+-4.73 -3.12 -4.67 -3.19 -4.64 -3.21 -4.6 -3.3 -4.6 -3.28 -4.55 -3.36 -4.54 -3.39 -4.49 -3.43 
+-4.5 -3.45 -4.43 -3.54 -4.42 -3.52 -8.73 -7.2 -4.29 -3.67 -4.3 -3.69 -8.46 -7.51 -4.19 -3.82 
+-4.17 -3.82 -8.21 -7.81 -4.03 -3.95 -4.02 -3.97 -3.97 -4.04 -1.3 -1.34 0 -448.89 0.7 -4.05 
+0.37 -3.88 -1.69 -1.59 -1.02 2.13 1.54 1 -0.89 2.82 1 3.58 0 448.89 -2.67 -2.69 
+-3.89 -4.12 -1.89 -1.97 0 -3 -3.62 -3.99 -3.58 -3.95 -3.47 -3.95 -3.41 -3.9 -3.32 -3.89 
+-3.28 -3.86 -3.17 -3.84 -1.63 -1.93 -1.62 -1.98 -1.63 -1.95 -1.61 -2 -1.63 -2 -1.61 -2.02 
+-2.39 -3.06 -2.35 -3.04 -2.3 -3.04 -2.28 -3.02 -2.21 -3 -2.19 -2.99 -2.15 -2.93 -2.11 -2.95 
+-2.11 -2.93 -2.06 -2.93 -4.04 -5.86 2.06 3.04 2.11 3.08 2.16 3.11 2.22 3.15 2.25 3.16 
+2.32 3.21 2.13 2.87 2.14 2.86 2.18 2.82 2.19 2.84 2.19 2.8 2.21 2.8 2.02 2.58 
+2.04 2.58 2.09 2.61 2.15 2.63 2.14 2.64 2.22 2.67 2.25 2.67 5.25 6.08 2.67 2.99 
+5.34 5.95 2.71 2.93 2.69 2.93 0 3 -1.99 -2.13 -3.82 -4.16 -3.82 -4.19 -3.75 -4.23 
+-3.75 -4.26 -7.34 -8.59 -3.6 -4.38 -3.61 -4.36 -7.03 -8.86 -6.88 -8.98 -6.72 -9.12 -6.58 -9.22 
+-6.4 -9.33 -6.25 -9.44 -6.08 -9.55 -5.91 -9.66 -5.75 -9.77 -5.55 -9.85 -5.4 -9.94 -5.21 -10.05 
+-5.05 -10.13 p
+-4.86 -10.22 -4.69 -10.3 -4.51 -10.39 -4.35 -10.46 -4.14 -10.53 -3.95 -10.61 -3.77 -10.68 -3.61 -10.74 
+-3.38 -10.81 -3.21 -10.85 -3.04 -10.92 -1.74 -6.73 0 -162.21 0.13 -0.74 0.11 -0.75 0.09 -0.76 
+0.11 -3.6 0.13 -3.63 -0.15 1.13 -0.18 1.13 -0.15 1.13 -0.04 4.08 -0.05 2.02 0 162.21 
+-1.08 -4.23 -2.65 -11.03 -2.43 -11.05 -2.25 -11.09 -2.06 -11.16 -1.87 -11.16 -1.67 -11.2 -1.48 -11.24 
+-1.28 -11.24 -1.09 -11.28 -0.89 -11.29 -0.7 -11.3 -0.49 -11.31 -0.26 -10.22 p f*
+942.23 1950.98 -5.06 0.15 2.54 -0.07 2.52 -0.09 f*
+1255.32 1859.14 -1.91 1.15 2.58 -1.52 2.56 -1.56 -1.3 0.78 -1.93 1.15 f*
+1265.64 1852.84 -1.69 1.04 1.23 -0.78 1.7 -1.07 -1.24 0.8 f*
+1276.7 1845.75 -2.89 1.89 1.37 -0.89 1.52 -1 f*
+1284.61 1840.5 -1.34 0.91 2.73 -1.87 -1.39 0.96 f*
+1293.92 1834.09 -1.61 1.11 3.15 -2.21 -1.54 1.11 f*
+1303.12 1827.52 -1.84 1.32 3.22 -2.34 -1.37 1.02 f*
+1312.21 1820.77 -2.15 1.61 2.8 -2.11 1.91 -1.45 -2.56 1.95 f*
+1321.2 1813.89 -2.62 1.99 2.47 -1.91 2.39 -1.87 -2.24 1.78 f*
+1330.05 1806.83 -2.02 1.59 1.02 -0.8 3.47 -2.82 -2.47 2.04 f*
+1340.73 1797.96 -3.84 3.23 1.88 -1.56 1.96 -1.67 f*
+1348.29 1791.47 -3.75 3.23 2.84 -2.43 4.02 -3.56 -3.11 2.76 f*
+1355.64 1784.94 -3.67 3.26 3.87 -3.43 3.12 -2.87 -3.32 3.04 f*
+1364.2 1777.13 -4.19 3.82 2.8 -2.59 3.52 -3.27 3.47 -3.3 2.34 -2.25 2.32 -2.24 2.28 -2.25 
+-0.32 0.33 -4.02 3.95 -8.2 7.81 f*
+2.77778 w
+1 J
+1 j
+K
+1570.36 1302.47 -0.13 11.35 -0.37 11.32 -0.37 11.35 -0.76 11.33 -0.89 11.22 -1.13 11.33 -1.26 11.22 
+-1.52 11.19 -1.63 11.22 -1.89 11.22 -2.02 11.07 -2.26 11.09 -2.39 11.09 -2.65 11.09 -2.88 10.96 
+-3.02 10.83 -3.15 10.83 -3.53 10.85 -3.52 10.7 -3.78 10.7 -4.02 10.59 -4.17 10.59 -4.27 10.46 
+-4.52 10.44 -4.66 10.2 -4.91 10.33 -5.03 10.09 -5.14 10.07 -5.43 9.96 -5.66 9.83 -5.64 9.81 
+-5.92 9.59 -6.17 9.57 -6.16 9.44 -6.42 9.33 -6.54 9.18 -6.79 9.2 -6.79 8.94 -7.05 8.83 
+-7.29 8.81 -7.29 8.57 -15.11 16.88 -7.79 8.18 -7.95 8.05 -8.05 7.94 -8.29 7.82 -8.31 7.68 
+-8.42 7.44 S
+1347.44 1792.27 -8.68 7.42 -8.68 7.18 -8.81 7.05 -9.05 6.92 -9.07 6.68 -9.18 6.55 -9.31 6.42 
+-9.44 6.3 -9.55 6.05 -9.7 5.92 -9.68 5.79 -9.94 5.54 -9.94 5.43 -9.94 5.27 -10.2 5.05 
+-10.18 4.77 -10.31 4.8 -10.33 4.53 -10.44 4.28 -10.57 4.17 -10.57 3.91 -10.7 3.77 -10.68 3.65 
+-10.82 3.41 -10.81 3.14 -10.96 3.15 -10.94 2.78 -10.94 2.64 -11.09 2.39 -11.07 2.28 -11.2 2.13 
+-11.07 1.89 -11.2 1.65 -11.2 1.49 -11.3 1.26 -11.2 1.02 -11.33 1 -11.33 0.63 -11.2 0.52 
+-11.33 0.24 -11.3 0.13 -11.33 -0.13 -11.33 -0.24 -11.3 -0.52 -11.33 -0.63 -11.2 -1 -11.33 -1.02 
+-11.2 -1.26 -11.2 -1.49 S
+832.01 1945.21 -11.2 -1.65 -11.2 -1.89 -11.07 -2.13 -11.07 -2.28 -11.07 -2.39 -11.07 -2.64 -10.96 -2.78 
+-10.8 -3.15 -10.83 -3.14 -10.81 -3.41 -10.7 -3.65 -10.7 -3.77 -10.57 -3.91 -10.57 -4.17 -10.44 -4.28 
+-10.44 -4.53 -10.18 -4.8 -10.33 -4.77 -10.07 -5.05 -10.04 -5.27 -9.94 -5.43 -9.81 -5.54 -9.84 -5.79 
+-9.54 -5.92 -9.57 -6.05 -9.44 -6.3 -9.31 -6.42 -9.18 -6.55 -9.18 -6.68 -8.94 -6.92 -8.79 -7.05 
+-8.81 -7.18 -8.55 -7.42 -8.44 -7.44 -8.42 -7.68 -8.18 -7.82 -8.05 -7.94 -7.92 -8.05 -7.81 -8.18 
+-7.66 -8.45 -7.42 -8.44 -7.42 -8.57 -7.18 -8.81 -7.03 -8.83 -6.92 -8.94 -6.66 -9.2 -6.55 -9.18 
+-6.4 -9.33 -6.3 -9.44 S
+378.62 1655.96 -6.05 -9.57 -5.9 -9.59 -5.8 -9.81 -5.53 -9.83 -5.41 -9.96 -5.29 -10.07 -5.01 -10.09 
+-4.8 -10.33 -4.78 -10.2 -4.41 -10.44 -4.4 -10.46 -4.14 -10.59 -3.91 -10.59 -3.78 -10.7 -3.64 -10.7 
+-3.38 -10.85 -3.15 -10.83 -3.02 -10.83 -2.91 -10.96 -2.63 -11.09 -2.4 -11.09 -2.26 -11.09 -2.14 -11.07 
+-1.87 -11.22 -1.65 -11.22 -1.5 -11.19 -1.25 -11.22 -1.02 -11.33 -0.87 -11.22 -0.76 -11.33 -0.5 -11.35 
+-0.26 -11.32 -0.13 -11.35 0.13 -11.33 0.26 -11.35 0.5 -11.19 0.76 -11.35 0.87 -11.33 1.02 -11.22 
+1.25 -11.33 1.5 -11.21 1.65 -11.2 1.87 -11.09 2.14 -11.22 2.26 -11.09 2.4 -11.09 2.63 -10.96 
+2.91 -10.95 3.02 -10.96 S
+299.24 1123.59 3.15 -10.83 3.38 -10.83 3.64 -10.7 3.78 -10.72 3.91 -10.57 4.14 -10.59 4.4 -10.46 
+4.41 -10.33 4.78 -10.33 4.8 -10.2 5.01 -10.2 5.29 -9.96 5.41 -9.94 5.53 -9.96 5.8 -9.7 
+5.9 -9.7 6.05 -9.57 6.3 -9.46 6.4 -9.31 6.55 -9.2 6.66 -9.07 6.92 -9.07 7.03 -8.81 
+7.18 -8.71 7.42 -8.68 7.42 -8.45 7.66 -8.31 7.81 -8.31 7.92 -8.07 8.05 -7.95 8.18 -7.79 
+8.42 -7.57 8.44 -7.55 8.55 -7.31 8.81 -7.18 8.79 -7.05 8.94 -6.92 9.18 -6.79 9.18 -6.55 
+9.31 -6.42 9.44 -6.19 9.57 -6.16 9.54 -5.93 9.84 -5.66 9.81 -5.66 9.94 -5.42 10.04 -5.17 
+10.07 -5.04 10.33 -4.93 S
+648.35 714.3 10.18 -4.64 10.44 -4.54 10.44 -4.3 10.57 -4.14 10.57 -4.04 10.7 -3.78 10.7 -3.54 
+10.81 -3.38 10.83 -3.28 10.8 -3.04 10.96 -2.88 11.07 -2.65 11.07 -2.38 11.07 -2.28 11.07 -2.02 
+11.2 -1.89 11.2 -1.63 11.2 -1.52 11.2 -1.26 11.33 -1.13 11.2 -0.89 11.33 -0.76 11.3 -0.37 
+11.33 -0.39 11.33 -0.11 11.3 0.11 11.33 0.39 11.2 0.37 11.33 0.76 11.33 0.89 11.2 1.13 
+11.3 1.26 11.2 1.52 11.2 1.63 11.07 1.89 11.2 2.02 11.07 2.28 11.09 2.38 10.94 2.65 
+10.94 2.88 10.96 3.04 10.81 3.28 10.82 3.38 10.68 3.54 10.7 3.78 10.57 4.04 10.57 4.14 
+10.44 4.3 10.33 4.54 S
+1185.79 709.66 10.31 4.64 10.18 4.93 10.2 5.04 9.94 5.17 9.94 5.42 9.94 5.66 9.68 5.66 
+9.7 5.93 9.55 6.16 9.44 6.19 9.31 6.42 9.18 6.55 9.07 6.79 9.05 6.92 8.81 7.05 
+8.68 7.18 8.68 7.31 8.42 7.55 8.31 7.57 8.29 7.79 8.05 7.95 7.95 8.07 7.79 8.31 
+7.55 8.31 7.55 8.45 7.29 8.68 7.29 8.71 7.05 8.81 13.58 18.14 6.54 9.2 6.42 9.31 
+6.16 9.46 6.17 9.57 5.92 9.7 5.64 9.7 5.66 9.96 5.43 9.94 5.14 9.96 5.03 10.2 
+4.91 10.2 4.66 10.33 4.52 10.33 4.27 10.46 4.17 10.59 4.02 10.57 3.78 10.72 3.52 10.7 
+3.53 10.83 S
+1542.05 1112.76 3.15 10.83 3.02 10.96 2.88 10.95 2.65 10.96 2.39 11.09 2.26 11.09 2.02 11.22 
+1.89 11.09 1.63 11.2 1.52 11.21 1.26 11.33 1.13 11.22 0.89 11.33 0.76 11.35 0.37 11.19 
+0.37 11.35 0.13 11.33 S
+922.22 751.61 -2.15 1.5 -4.01 0.63 -3.65 0.76 -3.14 1.02 -1.02 1.76 -3.89 0.49 -3.66 1.26 
+-5.54 0.39 -2.25 -1.39 1.39 -1.52 -0.39 -1.63 -3.02 -1.15 -1.49 -1.39 -2.52 -1.13 -2.65 -1.12 
+-1.89 -1.39 -3.9 -0.24 -5.27 0.73 -5.41 1.26 -3.04 0 1.39 -1.76 1.02 -1.39 2.13 -1.63 
+2.15 -1.89 0.73 -0.89 0.89 -0.89 0.13 -0.5 0.24 -0.63 -1.63 0.26 -1.5 0.13 -2.02 0.63 
+-1.89 0.5 -1.02 -0.26 -0.87 -0.37 2.02 -0.5 1.99 -0.63 0.76 -0.63 0.76 -0.52 -0.37 -0.37 
+-0.52 -0.5 -0.37 -0.39 -0.37 -0.37 -2.41 0.26 -2.39 0.24 -2.88 0.89 -3.02 1 0.13 0.63 
+0.24 0.63 -1.89 0.89 S
+856.16 742.41 -1.75 0.89 -2.89 0.63 -3.02 0.63 -3.41 0.23 -3.38 0.39 -1.78 -0.26 -1.76 -0.26 
+-1.25 -0.37 -1.13 -0.37 -1.13 -0.39 -1.13 -0.24 -3.14 0.87 -3.15 1.02 -3.02 0.74 -3.02 0.76 
+-1.13 1.13 -4.03 0.52 -2.26 0.63 -2.38 0.76 -2.52 0.74 -2.65 0.76 -2.15 0.5 -2.12 0.63 
+-2.15 1.15 -2.12 1.25 0.74 0.87 2.02 1.02 1.39 0.87 0.14 1.39 -1.26 0.89 -3.28 0.37 
+-5.41 0.89 -5.79 1.13 -4.54 1.39 -6.27 1.89 -5.29 0.39 -1.5 1.5 3.75 0.39 1.15 1 
+-4.17 0.63 -0.63 1.65 -1.37 1.76 1.37 0 4.41 -1.89 5.04 -0.89 3.9 0.5 -1.02 2.41 S
+781.05 772.89 -3.25 1.63 -4.91 0.89 -4.91 0.76 -3.67 1.37 3.04 -0.24 4.77 -0.5 4.64 -0.39 
+1.02 1.13 -5.04 1.26 S
+772.77 778.8 -1.26 -0.63 -5.03 1.15 -0.37 1.13 3.15 -0.37 3.52 -1.28 S
+772.77 778.8 3.77 0 -0.39 1.39 -1.89 1.64 -3.38 0.88 -0.26 1.65 1.65 0.63 2.52 0.5 
+-2.52 1.13 -4.16 -0.5 -3.15 1.52 -2.52 -0.13 -2.38 0.76 0.89 1.13 -1.39 1.39 -3.52 0 
+1.63 -1.76 -4.91 0.38 -0.76 1.39 3.15 -1.13 -0.63 1.89 4.17 -0.13 -2.28 1.26 3.41 -0.63 
+3.14 -0.89 0.24 1.02 -3.02 1.25 -3.28 1 -1.89 -0.87 -4.27 0.37 -3.39 0 -2.64 -0.5 
+-1.39 1.63 2.64 0.63 S
+745.96 795.68 -1.13 1.88 2.76 0.39 3.15 -1.13 2.28 1 2.39 0.89 2.38 0.87 1.13 1.52 
+1.13 1.39 2.52 0.5 -0.37 1.52 0.24 1.26 2.41 1 2.39 0.89 3.14 -0.26 -3.64 1.52 
+-2.65 1.89 2.89 0.38 3.77 0.13 2.65 0 3.28 -2.15 1.13 1.15 1.13 1.26 0.76 1.5 
+1.37 1.15 -0.5 1.5 -2.89 2.15 -3.51 2.02 -3.15 1 -4.16 2.28 -4.27 1.75 -3.78 1.52 
+-4.14 2.39 2.15 0.63 -1.26 1.76 -2.78 0.76 -1.39 1.65 -2.76 1.89 -3.54 1 -2.12 1.52 
+0.26 -2.02 -1.39 -0.5 -3.02 1.76 -1.52 2.25 0 1.65 3.02 -1.76 0.76 0.74 3.51 -1.13 
+-3.25 2.29 0.11 1.49 S
+741.43 842.79 -2.76 1.26 -0.39 2.02 -0.37 2.41 -2.52 1.88 2.78 0.11 -1.65 2.15 1.89 0.89 
+-2.02 2.02 -0.24 1.39 2.39 1.37 1.52 3.04 1.75 0.76 3.02 -1.39 -1.62 -0.26 -0.89 -1.52 
+2.39 0.39 S
+744.71 859.31 2.88 -2.78 -2.52 0.13 -3.12 1.26 2 -2.52 -2.62 0.49 -0.26 -3.77 0.89 -2.28 
+1.63 -1.63 1.63 -1.52 1.75 -2.02 -3.38 0.63 0.5 -1.37 3.41 -1.65 -2.15 -0.5 1.26 -2.28 
+2.88 -2.25 2.91 -0.63 0.73 -1.39 3.67 -1.52 2.26 0.63 4.02 -0.87 4.41 -2.38 3.91 -1.91 
+3.51 -1.37 1.89 -1.52 2.78 -0.63 3.02 -1.65 1.39 -2 3.52 -0.89 2.02 -1.39 S
+789.5 819.75 4.02 -0.76 1.65 -1.39 -1.39 -1 2.88 -1 4.54 -2.02 0.89 -1.78 2.89 -1.5 
+-1.26 -0.89 3.64 -1.76 2.15 -1.76 0.87 -2.28 1.89 -2.64 3.78 0.63 2.14 1.39 3.02 1 
+4.02 0.39 4.41 -0.39 5.17 -0.37 4.64 -0.37 4.67 -0.13 3.64 -0.25 5.27 0.75 4.17 0.76 
+3.14 1 1.13 1.89 -0.13 2.14 1.26 1.65 1.49 1.5 1.52 1.65 1.88 1.5 1 1.78 
+0.63 1.76 2.91 1.63 -1.02 2.28 2.02 1.5 2.78 1.52 2.13 1.39 3.02 1.52 2.52 1.5 
+3.54 0.76 2.63 0.49 2.52 1.02 2.02 1.39 -0.12 1.36 -2.39 0.89 -0.89 1.39 1.65 0.26 
+1.63 -1.25 0.89 1.37 S
+894.92 838.26 1.75 1.02 2.13 -0.63 1.02 -0.89 0.87 -1.63 2.78 0.63 -1 1 0.5 1.39 
+-1.02 1 2.14 0.26 2.65 0.13 0.11 -1.02 -0.24 -1.37 3.91 0.11 3.88 0.39 -0.24 2.26 
+-0.89 1.02 2.14 0.63 2.26 -0.62 1.88 -1.02 S
+919.57 840.91 -1.39 -1.26 2.28 -1 1.76 -1.02 3.38 1.02 3.65 1.26 2.28 1.39 3.25 0.87 
+4.53 0 2.78 0.89 3.64 0 3.52 -0.5 3.78 0.38 3.52 -0.14 4.41 -0.5 3.54 -0.12 
+3.52 -0.11 3.52 -0.12 4.04 -0.89 3.77 -0.63 3.52 -0.76 4.64 0.39 2.41 0.87 4.27 -0.24 
+4.14 0.76 4.54 0 4.14 0.74 2.02 0.26 3.88 -0.37 1.26 2.13 S
+1014.17 844.18 1.65 1.26 2.52 0.26 0.5 -1.65 0.99 -1.89 1.89 -1 2.91 -0.63 -1.15 -2.15 
+3.27 1.52 1.89 0.63 1.39 1.25 1.89 1.39 4.64 1 3.14 1.26 4.78 1.02 3.28 0 
+3.77 -0.52 3.28 0.39 2.52 -0.76 2.02 1.02 2 -0.26 -0.76 -2.02 2.91 0.89 2.02 2.64 
+3.26 2 3.78 0.75 3.41 1.15 4.14 -0.12 3.28 -1.02 0.24 -1.75 1.89 -1.26 -1.5 -1.13 
+-2.39 0 0.63 -1.02 1.89 -0.76 1.25 -1.26 -1.25 -1.63 3.88 0.14 0.63 -1.52 1.52 -0.89 
+3.15 0.13 2.25 -1 1.52 -1.52 2 -1 1.89 -0.63 2.52 0.24 -3.39 -2.26 -2.02 -2.02 
+-2.02 -2.15 -2.89 -0.13 S
+1093.18 829.19 -2.38 -1.89 -3.54 -2.02 -1.76 -2.26 2.14 -0.26 1.39 1.78 4.52 0.5 3.02 0 
+0.89 -1.02 0.26 -1.37 3.38 0.87 4.04 0.76 1.89 -0.26 4.9 2.15 2.89 0.63 4.04 0 
+3.02 -0.24 5.03 1.5 2.88 -0.24 3.02 -0.39 3.02 -0.37 2.89 -0.5 S
+1138.71 826.56 0.39 -1.15 1.26 -0.99 2.02 -1.02 2.39 -0.24 0.24 -1.26 0.89 -1.02 1.5 -0.76 
+-0.87 -1.76 2.26 -0.37 -1.13 -1.52 2.02 -0.13 -0.25 -1.39 1.88 0 0.26 -0.87 3.52 0.5 
+2.78 -0.37 -0.52 -2.02 -1.25 -2.02 -1.5 -1.89 -2.26 -2.39 -0.76 -1.64 -2.64 -2.39 2.38 0.37 
+-1 -1.5 2.38 0.5 3.28 1.39 1.37 -0.89 S
+1157.33 801.73 0.52 -1 0.37 -1.28 -2.88 -2.12 -3.78 -2.78 -2.38 -2.15 -3.41 -2.63 -1.89 -2.41 
+-0.63 -1 -0.76 -1.02 0.26 -0.63 0.13 -0.76 0.76 -0.37 0.63 -0.37 -2.15 -1.26 -2.15 -1.15 
+-0.74 -0.87 -0.63 -0.76 0.87 0 1.02 -0.13 -1.15 -0.89 -1.13 -1 1.13 -0.13 1.15 0 
+-0.39 -0.5 -0.37 -0.37 -1.89 -0.89 -1.75 -1 -2.64 -1.15 -2.78 -1.13 -2 -1.26 -1.26 -0.63 
+-1.39 -0.63 0.89 -0.13 0.74 -0.13 3.02 0.76 3.03 0.76 0.37 -0.37 0.5 -0.52 -1.63 -1.13 
+-1.65 -1.12 -1 -1.13 -1 -1.02 -1.52 -0.99 -1.63 -1.02 -0.76 -0.87 -0.76 -0.76 -2.52 -1.26 
+-2.38 -1.12 S
+1119.73 759.42 -1.39 -0.89 -1.26 -0.89 -2.13 -1 -2.14 -1.13 -1.76 -0.89 -1.89 -1 -2.02 -1.15 
+-2.13 -1 -5.3 -2.78 -1.89 -0.63 -2 -0.5 -0.52 -0.63 -0.5 -0.62 -2.38 -1.02 -2.39 -0.87 
+-2.25 -0.26 -2.28 -0.12 -1.36 -0.64 -1.52 -0.49 -1.26 -0.76 -1.26 -0.87 -2.89 -0.63 -2.78 -0.75 
+-2.12 -0.26 -2.02 -0.13 -3.02 -1 -3.02 -1.02 -0.39 -0.5 -0.5 -0.5 -3.41 -0.89 -3.38 -1 
+-1 -1 -2.28 -0.26 -2.26 -0.26 -1.76 -0.86 -1.89 -0.76 -3.14 -1.13 -3.28 -1.02 -3.02 -0.24 
+-3.02 -0.25 -2.78 -0.5 -2.75 -0.5 0.13 -0.39 0 -0.5 -2.14 -0.5 -2.26 -0.52 -2.91 -0.63 S
+1022.22 725.26 -2.89 -0.5 -3.51 -0.5 -3.41 -0.63 -2.52 -0.26 -2.52 -0.37 -1.13 0.26 -1.13 0.37 
+-1.52 0.13 -1.37 0.24 -1.89 0.13 -1.75 0 -0.39 -0.37 -0.37 -0.39 0.76 -0.37 0.74 -0.5 
+-1.89 -0.52 -1.75 -0.37 -0.87 0.37 -0.89 0.52 -3.02 -0.52 -3.02 -0.63 -2.52 -0.5 -2.64 -0.5 
+-3.28 -0.13 -3.39 -0.13 -9.81 0 -3.15 0.13 0.13 -0.37 0.11 -0.5 -2.52 0.5 -2.38 0.5 
+1.25 0.5 1.26 0.39 -1.26 0.5 -1.39 0.5 1.15 0.63 1.13 0.5 S
+960.59 723.37 1.5 0.63 1.65 0.63 2.52 0.39 2.39 0.5 -0.76 0.37 -0.63 0.52 -0.25 0.5 
+-0.11 0.5 2 0.5 S
+968.88 727.91 2.02 0.39 -0.63 0.37 -0.62 0.39 0.89 0.5 0.87 0.63 1.26 0.63 1.26 0.76 
+-0.63 0.63 -0.5 0.63 -0.87 0.38 -0.89 0.49 -1.25 0.39 -1.39 0.37 -1.26 0.39 -1.26 0.37 
+-1.12 0.5 -1.26 0.39 -0.76 0.5 -0.86 0.5 -1.52 0.13 -1.63 0.13 -2.25 0.24 -2.15 0.39 
+2.02 0.37 2 0.39 2.28 0.73 2.13 0.63 0.63 0.75 0.52 0.76 -1.02 0.63 -1.13 0.5 
+-1.39 0.89 -2.76 1 -2.02 1.26 -3.02 1.15 -3.64 0.73 -4.04 1.02 -3.91 0.76 -4.27 0.87 
+-4.15 0.52 -5.53 -0.26 -4.77 0.89 S
+956.18 735.85 -2.38 -0.13 -2.29 -0.24 -1.49 -0.52 -1.63 -0.5 2 0.13 2.02 0.13 S
+952.41 734.72 2.26 -0.13 2.28 -0.13 -0.39 0.63 -0.37 0.76 S
+886.87 739.39 -0.39 0.5 -0.37 0.63 1.13 0.13 1.13 0.24 0.89 0.63 0.88 0.63 -2 1.65 
+-4.41 -0.39 -1.76 -0.99 -0.26 -0.63 -0.26 -0.5 0.26 -0.63 0.36 -0.52 2.41 -0.37 2.39 -0.36 S
+845.72 741.64 -2.52 1.26 -2.52 0.26 -2.52 0.23 0.13 -0.49 0.26 -0.5 3.52 -0.39 3.64 -0.37 S
+755.54 817.23 1.5 -1.26 3.27 -1.02 2.65 0.13 3.38 -0.87 2.02 0.24 2.89 -1 2.65 0.63 
+1.39 1.13 -0.26 1.65 -2.52 1.76 -2.75 1.76 -3.91 1.89 -4.04 1.89 -4.38 1.78 -4.67 2.13 
+-5.27 2.15 -0.76 -0.89 0.24 -1 3.91 -2.02 S
+750.87 826.3 4.41 -1.76 4.14 -1.78 1.39 -1.26 -0.5 -0.86 -1.12 -1.02 -1.65 -1.39 -1.99 -0.99 S
+751.63 819.12 1.49 0.89 0.89 0.87 -1.62 1.25 -2.28 1.39 -2.52 0.13 0 -1.89 2.15 -0.89 
+1.89 -1.76 S
+732.12 852.13 2.91 -0.26 -0.26 1.39 S
+734.77 853.25 0.89 1.65 -3.14 1.25 2.25 -2.91 S
+734.77 853.25 -3.15 1.26 0.5 -2.38 S
+743.58 862.33 2.64 -1 2.26 0.76 -4.28 1.63 -0.63 -1.39 S
+728.73 863.21 2.25 -0.13 0.39 2.39 S
+731.38 865.47 1.26 0.63 1.36 1.65 -3.14 -0.52 0.52 -1.76 S
+731.38 865.47 -1.78 -1.26 -0.87 -1 S
+761.2 877.82 4.51 0 -4.64 1.52 0.13 -1.52 S
+503.41 1277.41 -2.13 -1.39 -0.49 -3.52 S
+500.79 1272.5 -1.89 -0.26 0 -5.17 -0.39 -3.52 -0.87 -0.76 1.26 -2.02 1.37 -4.41 0.76 3.39 
+1.75 -1 -0.87 -1.89 -1.12 -3.28 -1.52 -0.5 -2.38 -1.26 -2.39 -1.89 -0.26 -3.04 0.39 -4.01 
+1.26 -4.3 -1.65 -1.63 1.39 -2.52 2.02 -2.91 1.37 -3.02 1.26 -3.65 0.63 -4.54 2.15 -3.41 
+1.39 -4.3 0.74 -3.9 0.75 -3.77 0.76 -3.91 2.39 -5.66 0.89 -3.78 1.5 -4.16 0.89 -2.76 
+1.63 -2.78 1.02 -3.91 1.76 -5.29 -0.13 -3.39 2.26 -4.16 1.65 -2.78 1.76 -2.89 3.38 -3.9 
+2.28 -1.26 2.65 -3.54 3.38 -3.28 1.52 -1 2.63 -2.91 2.52 -2.39 1.89 -3.28 1.76 -1.52 
+2.78 -3.52 0.5 -3.41 S
+547.57 1129.51 1 -4.04 1.52 -4.64 0.13 -3.4 0.63 -3.41 1.13 -3.38 0.26 -3.28 0.37 -3.41 
+-0.37 -3.14 0.74 -3.28 0.76 -3.41 0.5 -3.41 1.25 -3.38 0.76 -2.78 -0.63 -2.15 1.89 -4.04 
+-0.26 -4.14 1.02 -3.4 0 -3.28 0.63 -3.28 0 -3.14 1.5 -2.39 1.89 -4.54 -0.87 -1.52 
+0.87 -3.27 1.78 -3.91 1.63 -3.39 0.87 -2.28 1.65 -2.25 0.37 -4.3 1.75 -3.38 -0.11 -2.02 
+1 -3.41 0.5 -3.14 0.13 -3.14 0.89 -3.28 0.86 -3.28 -0.5 -1.12 1.63 -3.28 -1.63 0.13 
+1.26 -3.79 2.38 -2.75 1.39 -2.78 1.89 -2.78 2 -3.28 0.25 -3.15 2.15 -3.77 1 -2.78 
+1.89 -2.65 S
+587.33 979.6 1.89 -2.13 1.89 -0.63 -0.63 2.13 2.52 -1.13 0.37 -2.02 1.52 -1.12 -0.26 -1 
+2.65 -4.3 0.76 -2.64 2 -2.12 0.52 -2.65 1.63 -1.52 -0.37 -1.63 1.63 -2.02 1.39 -3.15 
+-1.75 2.02 -1.39 1 -0.5 2.15 -1.39 1.5 -0.39 1.65 -2.63 2.13 -0.12 -2.25 0.89 -2.52 
+2.38 -2.65 0.5 -1.65 0.87 -2.13 1.79 -1.52 -1.26 -0.63 1.89 -1.52 -0.62 -2.75 1.63 -2.15 
+0.5 1.76 2.38 -1 1.65 0.13 1.37 -3.67 1.65 -2.64 2.39 -3.02 -4.14 3.41 -0.89 -0.5 
+1.26 -2.14 2.02 -2.52 2.39 -3.65 1.76 -1.52 1.89 -2.52 2.02 -0.39 0.24 -1.63 3.04 -3.54 
+-1.26 4.8 1.5 -2.52 S
+624.43 923.18 2.26 -1.89 -1.5 0.37 2.13 -3.14 1.15 -2.52 1.26 1.75 -1.26 2.02 3.14 -2.89 
+1.13 -1.89 -2.39 0.11 2.63 -2.89 2.38 -0.76 -0.24 1.52 2.65 -2.28 1.89 -0.37 1.37 -1.39 
+2.28 -1.39 3.38 -1.13 0.13 1.63 -0.63 2.65 1.63 -0.24 1.02 -2.15 -1.39 -1.76 2.02 -1.26 
+3.02 -0.62 0.63 0.63 -2.64 2.76 -2.02 2.91 1.02 1.75 1.37 0.13 -0.99 1.39 1.52 0.24 
+2.52 -0.24 -4.03 2.65 -2.52 2.26 -2.52 2.39 -1.76 2.91 0.13 2.02 1.39 1.25 -1.64 2.89 
+-1.63 2.9 0.25 2.02 0.88 2.12 0.5 2.02 -1.5 2.91 -1.65 1.89 -2.75 0 -3.14 1.89 
+-2.89 1.89 -2.41 3.02 S
+628.58 951.26 -0.74 3.03 S
+627.84 954.29 0.24 1.5 1.52 1.52 2.25 0 -1.25 2.02 0.89 1 -1.75 2.91 -1.52 2.02 
+-0.26 2.02 1.39 2 -3.14 1.02 0.76 2.02 2.52 -2.02 1.89 0 -0.5 1.39 -2.28 3.02 
+-2.12 -1.39 -2.89 1.52 -2.02 3.52 -2.39 3.04 0.63 1.5 2.76 -1.5 2.64 -1.15 3.39 -0.11 
+1.88 1.39 -0.62 1.99 -1.5 1.52 -0.5 3.02 -0.26 1.89 -2.39 2.14 -0.89 2.52 1.76 -1.63 
+3.15 -0.12 3.04 0.26 1.87 0.5 2.64 0.24 2.39 0.89 1.65 0.89 1.99 1.26 -0.36 2.38 
+0.75 2.39 0.13 2.91 -1.52 3.02 -2.12 0.64 -2.15 2.52 0 2.91 -2.26 2.13 -4.54 2.28 S
+630.73 1018.04 -1.62 2.15 0.11 1.89 3.14 -2.78 3.02 -0.26 2.15 -1.63 3.02 -1.13 2.52 0.24 
+3.14 -0.76 2.15 0.26 1.76 1.39 1.26 1.75 -0.26 1.89 1.63 1.78 1.02 2.75 -0.26 2.91 
+1.39 1.75 1.76 1.76 1.76 1.65 0.76 2.76 0.76 2.78 0 2.78 0.87 2.78 1.15 2.75 
+1.63 1.65 1 0.87 0.13 2.91 -0.37 2.78 -1.02 3.02 -0.87 3.91 -0.63 3.02 1.5 2.15 
+1.64 2.15 2.02 2.13 1.63 2.14 2.38 0.76 2.65 1.5 1.89 -1.13 1.63 2.65 2.64 -0.37 
+-1.25 2.02 3.38 0 2.65 -0.76 2.64 -0.26 2.52 0.13 2.65 -0.39 -0.39 2.54 2.38 1 
+2.39 1.13 -0.37 2.91 S
+696.4 1085.94 0.5 2.76 2.29 2.54 0.49 2.75 S
+699.67 1093.99 2.26 2.65 0.13 2.78 -0.26 2.88 0.13 2.78 1.52 1.65 -0.26 2.88 0.26 3.41 
+0.5 3.28 -0.63 2.88 -0.26 2.91 -0.63 2.88 0.25 2.91 0.24 3.77 2.65 1.52 2.15 2.12 
+2.13 3.04 1.26 2.76 1.65 2.52 1.37 1.26 2.65 1.52 1.26 2.28 2.25 2.13 1.39 2.14 
+1.26 2.65 1.39 2.78 0.37 3.78 -0.37 2.88 -0.89 3.54 -1 3.52 -1.26 3.67 -3.14 1.49 
+-2.76 -0.12 -2.78 1.02 -1.75 2.15 -2.65 1.89 -1.75 2.25 -1.76 2.39 -2.64 2.41 -2.65 2.39 
+-2.63 2.52 -2.64 0.5 -2.78 -0.5 -2.63 0.5 -2.64 2.02 -2.65 0.63 S
+683.31 1197.29 -2.64 2.02 -2.63 1.02 -2.78 -1.02 -3.02 -0.24 1 2.75 -1.26 2.78 -0.74 2.65 
+-2.64 -0.39 -0.76 2.29 -3.52 1.75 -2.52 1.65 -2.91 2.64 -3.02 0.74 -1.89 -0.5 -2 -4.14 
+-1.15 1.26 1.02 2.39 1.13 3.77 -2.89 1.76 -2.65 0.13 -2.52 1.26 -2.26 -1 -0.39 -3.54 
+-1.12 -3.91 -0.87 4.41 -3.14 -0.74 0.63 3.52 1.13 2.78 2.26 1.52 1.89 1.63 2.52 2.39 
+0.89 4.54 -3.04 1.25 -0.37 4.3 -1.12 4.54 0.36 3.52 -2.12 3.77 -1.39 2.02 -2.25 2.78 
+-1.78 2.78 -2.26 2.26 -2.02 1.65 -1.49 1.13 -2.28 1.75 -2.39 1.39 -2.39 0.76 -2.64 0.24 
+-2.39 0.89 -2.75 1.52 S
+614.13 1269.99 -0.76 2.52 -1.39 2.13 -2.02 2.91 -2.13 0.26 0.87 2.39 S
+608.7 1280.19 -0.24 2.88 -2.02 3.04 -1.89 3.02 -2.25 3.02 -3.78 0.52 1.63 3.25 -0.12 3.41 
+-2.39 2.15 -1.75 1.88 -1.63 0.14 -0.89 3.28 -1 2.75 4.02 -0.63 -2.63 1.15 -3.04 1.37 
+-2.63 1.15 -2.9 -1.52 -2.52 -0.12 -2.39 1.78 -1.63 1.89 -0.37 2 -1.78 0.89 -2 0.39 
+-2.52 1.26 -2.78 0.74 0 2.52 0.26 2.78 -1.26 2.52 -2.02 1.65 -1.75 1 0.5 4.67 
+-2.13 -0.63 -0.13 -3.02 -2.28 -0.76 -2 0 -2.15 -0.13 -1.13 -3.77 0.5 -4.54 -1 -3.77 
+-2.91 0.24 0.39 2.9 -0.39 2.78 1.89 2.63 S
+553.6 1326.91 1.65 1.52 0.13 3.15 -0.13 3.77 2.52 -0.11 1.76 2.13 -0.13 1.88 -1.25 1.39 
+-1.89 -0.75 -1.63 -1.63 -2.15 0 -1.76 -0.76 -2.65 -0.5 -2.52 2.25 -1.76 -1.62 -1.5 1.63 
+-2.02 -0.11 -1.63 -1.52 -1.39 -3.02 -0.89 -3.4 -1.89 0.63 -1.76 -2.14 -2.89 -1.62 -1.39 -4.93 
+-0.76 4.3 -0.75 3.14 -0.63 3.02 -1 3.28 -1.52 1.76 -1.26 2.15 -2 1.26 -1.65 -1.52 
+-2.26 0.13 -2.25 0.39 -2.65 0.37 -0.75 2.65 -1.63 1.13 0.37 3.28 -1.13 2.91 -0.76 3.38 
+0 7.05 0.5 3.28 1.65 2.41 1.13 3.28 2.15 3.39 1.23 3.41 1.52 3.78 2.02 2.02 
+2.02 4.91 S
+520.03 1388.26 0 1.65 -1.02 2.26 -0.24 4.03 -1.15 1.76 -0.87 1.65 -1.89 0.87 -1.39 2.28 S
+513.48 1402.75 -2.12 0.37 -1.89 1.02 -1.39 3.02 -2.64 0.13 -0.5 3.02 -0.76 2.52 2.52 0.52 
+2.89 3.65 1.65 3.14 3.01 5.16 -0.63 -3.52 2.52 2.39 2.13 3.51 2.02 2.91 1.89 2.88 
+2.26 2.52 2.78 1.29 1.39 2.63 -0.13 1.88 -1.39 1.65 -1 1.76 -1.64 1.25 -2 0.63 
+-1.76 1.15 -1.65 1.25 -1.5 0 -2.41 -3.28 -1.76 -2.41 -1.75 -1.5 -1.5 -2.78 -1.52 0.13 
+-1.75 -0.5 -0.63 -1.89 -2.25 1 0.63 0.99 -1.39 2.65 -2.38 0.39 -1.89 1.5 -2.15 1.02 
+-0.87 1.26 0.37 3.41 S
+496.25 1449.5 -0.63 2.89 -0.63 2.9 0.76 3.91 1 3.64 1.39 4.15 0.63 3.4 0.76 3.04 
+1.37 3.26 1.78 1.52 0.37 4.04 1.75 3.77 2.15 1.89 2.13 3.02 2.28 3.04 2.25 3.02 
+2.52 2.39 2.65 2.41 2.39 1.5 1.76 2.78 2.39 2.88 2.02 3.54 2.52 2.52 2.13 0.63 
+5.04 0 1.39 -1.39 1.76 0.26 1.76 0.13 1.65 3.28 1.37 -0.39 -1.99 -2.26 2.12 -0.39 
+1.26 -1.13 1.52 -1.63 0.24 -2.65 0.63 -2.28 2.02 -0.13 -0.5 -3.52 -1.26 -2.15 0.63 -2.26 
+1.75 -1.39 1.52 -0.39 0.37 -1.5 -0.5 -2.28 1.13 0.39 0.26 3.52 0.74 1.02 1.26 0 
+1.39 1.13 S
+557.51 1499.63 -1 1.52 -1.26 0.87 -0.39 1.65 2.39 1.5 0 -3.15 2.28 -0.24 1 -1.39 
+0.76 -2.14 1.63 0.49 S
+562.91 1498.74 -0.99 -2.38 1.13 -1.63 1.65 -1.15 1.49 -1.13 -0.26 -2.52 0.52 -2.52 -1.26 -2.91 
+1.63 -1.12 2.15 0.13 1.63 -1.12 -0.26 -3.14 -1.25 -4.54 0.25 -1.26 -1.52 -3.41 -1.89 -2.14 
+-1.23 -1.89 1.23 -0.5 -2.39 -2.39 -1 -2.28 -0.37 -2.88 -0.89 -3.28 -1 -3.67 0 -3.28 
+-1.02 -3.02 1.65 -0.63 1.37 0.25 2.52 2.13 2.39 3.28 2.14 3.41 1.39 4.04 1.5 4.14 
+1.26 1.89 1.02 3.91 1.5 3.41 1.25 3.54 1.76 3.14 1.78 3.02 2.76 2.02 2.78 2.02 S
+586.33 1484.27 3.02 0.87 2.39 -0.11 2.75 0.37 2.28 0.89 2.02 1.13 2.49 -0.12 1.39 -0.76 
+2.52 0.63 2.64 0.75 1.89 -1.25 1.75 0.63 -1.39 1.39 2.78 0.37 0.87 -0.87 1.52 0.87 
+1.39 1.89 -1.13 1.15 -1.39 1.37 1.75 -0.37 1.39 -0.37 0.11 -1.39 -0.5 -2.28 0.63 2.52 
+1.52 2.41 0.86 2.26 0.39 2.91 1.39 1.76 2 1.89 0 3.41 0.89 -1.89 1.25 2.02 
+2.02 2.75 1.76 1.26 1.89 -0.24 -1.89 -1.26 -1.52 -1.78 -2.12 -1.63 0.24 -2.02 -1.26 -1 
+0.89 -0.89 -1.88 -1.39 -2.52 -2.14 1 -0.24 2.52 2.14 2.78 1.37 1.63 0.63 1.39 4.03 
+1.76 3.02 0.13 -1.75 S
+632.62 1507.18 -0.76 -2.25 2.78 0.36 3.02 1.76 2.65 2.02 -0.13 1.78 2.26 0.86 2.38 0 
+2.02 -0.49 1.26 -1.13 1.39 -1.26 2 -0.39 S
+651.48 1508.45 1.88 1.25 -0.36 -1.89 1.75 -0.13 -0.63 -0.87 2.52 -0.76 1.39 1.76 -1.13 -1.26 
+-1.25 1.13 1.25 2.54 -0.12 1.63 1.75 0.63 0.89 1.52 2 1 2.4 0.89 0.64 0.87 
+1.99 -0.37 2.28 -0.5 2.76 1.26 -0.13 -1.39 2.28 -0.36 2.02 -0.39 2.39 0.13 1.37 1.63 
+2.02 -1.62 2.52 -0.63 3.41 0.13 -1.65 -1.52 2.28 -1 -3.28 -0.26 -1.75 0.13 -3.02 -0.5 
+-2.41 -1.52 -1.25 -2.52 0.39 -2.28 2.76 0.52 2.78 0.63 2.25 1 S
+684.44 1507.31 1.39 -1 3.02 -0.13 3.78 -0.89 3.14 -0.76 1.76 1.26 2.28 -0.24 3.02 0.5 
+-0.62 3.02 2.12 2.41 0 1.26 -2.64 -1.39 -3.02 -1.13 -1.63 -2.15 -1.13 1.52 -2.28 0.37 
+-1.5 1.75 -0.76 3.15 -0.86 2.14 1.13 3.15 2.26 3.02 2.26 1.65 -2.89 1 0.5 3.78 
+2.52 -2.13 2.02 -0.13 2.52 0 1.39 1.63 0.24 1.91 -0.87 2.12 -2.28 1.14 -2.13 1.15 
+-2.78 0.24 -2.13 0.52 -2.78 0.24 -2.88 -0.37 -2.89 -1.02 -5.03 -1.25 -2.41 0.75 2.64 0.63 
+2.28 0.76 2.52 0.63 2.26 0.89 2.88 1 2.91 0.37 3.51 0.52 1.5 -1.52 2.41 1.76 
+2.38 0.63 S
+701.56 1540.06 2.63 -0.76 1.39 -1.13 1.65 -1.39 2.13 -1.13 1.13 -1.52 1.39 -1.26 1.76 -1.26 
+0.5 -1.76 2.41 -1 2.38 -1.78 2.63 0.76 2.41 0.76 2.52 1 S
+726.48 1529.6 3.26 -0.37 2.91 -1.26 3.13 0.37 2.28 0.39 1.76 3.91 2.15 1.63 0.24 3.54 
+-1.89 1.26 1.52 2.15 -2.02 2.13 3.41 0.13 -0.26 2.02 -1.76 2.02 0.63 2.13 -2.14 2.14 
+1.52 2.28 -0.76 2.65 0.5 2.13 2.28 2.28 2.39 0.76 0.11 2 1.64 1.52 0.5 2.28 
+1.26 3.02 1.63 2.88 1.26 3.15 1.52 3.04 1 1.89 -2.52 -0.5 -2 -0.39 -1.02 -1.89 
+-2.88 -0.99 -2.52 0.24 -2.26 -0.74 -3.15 0.74 S
+738.17 1578.11 1.76 3.67 -0.63 1.39 1.39 2.63 1.76 1.26 2.76 1.91 1.75 2.13 2.52 1.39 
+-0.74 1.64 -1.15 1.26 0.26 2.39 2.15 0.76 0.24 2.26 1.02 2.52 0.37 2.28 -2.39 1.5 
+-0.89 1.15 -0.13 2.26 -0.74 2.14 -2.15 0.37 -2.52 -1.39 -0.76 -2 -2.62 -0.89 -2.91 -0.89 
+-0.76 -1.89 -2.62 -2.12 -2.39 -1.52 -3.04 -0.5 -1.37 1 -2.02 -1 -1.13 -2.41 -0.13 -1.89 
+-2.78 -2.89 -2.12 -1.89 -2.78 -2.78 -3.78 -2.64 -3.02 -0.63 -3.38 0 -3.02 0.37 -2.52 0.76 
+-1.75 -2.39 -1.89 -2.26 -3.04 -2.65 -2.62 -2.02 -2.02 -3.04 -3.64 -0.74 -3.28 0.63 -1.63 -1.64 
+0.76 3.02 1.76 2.54 S
+682.31 1579.25 1 2.64 1.63 2.76 1.39 3.28 3.02 1.52 2.41 1.63 2 2.28 4.67 2.26 
+0.37 2.91 -1.26 2.39 -1.13 2.39 1.39 3.91 0 2.52 0.37 2.28 2.02 2.78 1.26 3.26 S
+701.43 1618.04 0.24 3.04 1.26 3.52 -1.5 1.25 -1.39 0.89 2.02 1 2.52 2.15 2.65 1.26 
+3.52 2.65 0.13 1.89 -0.76 1.25 2.52 2.02 3.15 1.25 3.88 1.39 5.55 1 3.52 0.13 
+2.88 0 1.26 -0.99 3.28 1.25 1.49 -1.52 1.52 -1.63 3.28 1.5 4.01 0.13 0.76 -2.89 
+7.29 -0.26 3.15 1.26 4.91 0 1.75 2.15 1.15 -2.02 -1.26 -1.39 -0.13 -2.78 3.28 -0.73 S
+767.36 1634.81 3.52 -0.89 3.78 1.13 0.75 2.78 3.13 1.39 2.28 -1.15 3.91 1.64 0 2.52 
+1.99 1.13 0.39 2.41 -0.63 1.89 -3.27 -1.15 -3.78 -1.49 -3.64 -1.39 -2.78 1 -2.62 -1 
+-1.52 0.89 3.41 2.88 3.26 0.89 2.78 0.87 2.88 2.64 -4.77 0.26 3.14 2.25 2.65 1.89 
+1.36 2.15 3.04 -0.89 3.26 1.78 2.02 1.75 2.78 1.89 3.26 1.76 2.39 -0.5 2.14 1.13 
+1.26 -1 0.13 -1.65 2.89 -0.11 2.88 -0.26 1.79 -0.26 1.13 1.65 0.87 2.78 -1.26 2.25 
+-2.89 0.13 -2.89 -1.02 -3.41 -1 -2.75 -0.49 -3.41 -0.76 -1.76 0.89 -3.64 -0.13 -3.77 0 
+-3.91 -2.52 -2.64 -3.41 S
+781.05 1660.37 -2.89 0.38 -3.28 -1.63 -3.51 0.75 -0.13 0.5 -3.26 -0.26 2 2.41 3.77 1 
+2.65 -1.63 3.91 2.25 3.38 3.28 -3.38 0.36 -2.28 1.26 -2.89 -3.39 -2.25 0.76 -3.91 -0.76 
+-0.5 2.13 1.37 3.41 S
+769.86 1671.2 2.15 2.65 2.65 3.14 4.14 2.39 -0.5 2.02 -0.5 2.28 -1.89 1 -2.39 -2.26 
+-2.64 0.37 1.75 2.02 2.26 2.02 -0.37 2.39 -0.13 2.52 2.02 2.14 1 2.15 2.02 -0.52 
+0.13 -1.75 3.28 1.13 2.76 2.28 1.52 2.65 2.76 2.15 3.14 2.25 3.41 1.52 1.89 2.65 
+-2.41 1.13 1.39 1.39 3.77 -0.39 -2.52 1.89 2.02 1.26 3.77 0.26 4.91 1.39 -2.89 1.39 S
+806.36 1716.69 0.24 1.63 3.14 0.13 0.39 2.26 0.24 2.54 -0.5 1.63 2.52 0.89 1.26 1.63 
+-0.5 1.65 -2.28 0.87 3.78 1.39 3.64 0.89 3.54 1 3.14 1.88 2.63 0.63 3.28 0.63 
+2.26 1.52 1.78 1.39 3.25 0.76 2.91 1.5 4.27 0.89 2.89 1.39 2.52 1.13 3.77 -0.26 
+4.02 1.65 2.02 -0.39 4.14 0.52 1.26 2.52 3.14 1.26 2.28 2.52 2.63 1 1.65 2.28 
+-0.39 1.89 0.39 1.63 3.28 1.52 3.02 1 -0.62 1.91 -3.41 0.74 -4.41 0.26 -2.76 1.52 
+-3.91 0.37 -3.38 0.76 0.37 1.52 4.91 1.25 1.39 -1.39 2.52 0.63 2.89 1.63 2.89 1.65 
+2.39 2.13 -2.25 0.26 S
+878.56 1775.26 -3.28 -0.26 0.39 1.39 -1.89 0.89 -5.16 -0.5 -4.02 -1.25 -3.78 -0.39 -1.89 -1.5 
+-2.52 -1.39 -0.39 1.63 -3.02 0.89 -0.62 1.75 4.16 1.63 1.37 2.02 4.04 0.13 2.02 1.52 
+-0.26 1.13 1.26 2.38 0.37 2.65 -4.02 0.76 S
+861.33 1788.74 -2.52 1.26 -3.78 1.02 -3.14 0.87 -3.52 -1 -2.15 -2.14 -3.77 1.13 0 1.25 
+-2.75 0.89 -1.89 -1.26 -5.79 -1.89 -4.41 0.37 0.13 -1.26 -3.02 -0.76 -2.02 -1.12 -1.89 1.75 
+-1.5 1.79 1.5 2.02 1.26 2.13 2.91 2.41 0.87 2.26 3.91 1.52 3.52 2.02 1.39 2.13 
+4.14 2.02 3.78 2.64 -1.63 0.5 -4.41 -2.52 -3.02 -2.15 -3.54 -1.63 S
+829.99 1802.97 -1.87 -1.63 -3.77 -1.78 -3.28 -2.13 -3.14 -1.89 0.13 -1.65 -2.28 -1.89 -3.02 -2.52 
+-0.37 -1.89 -2.02 -2.65 -2.12 -2.39 -0.52 -1.65 -0.11 -1.88 3.52 0.89 0.5 -1.26 -1.63 -1.89 
+-0.26 -2.02 1.25 -1.65 -0.37 -1.75 -1.89 -2.39 -2.39 -1.25 0 1.5 2.26 2.02 -2.26 1.52 
+-0.52 2.02 -2.5 -0.5 0.24 1.63 -3.28 -2.02 -1 -2.02 -0.62 -2.02 -2.78 -1.49 0.76 -2.02 
+3.41 -0.89 -3.54 -1.13 -2.63 -1.52 -3.28 -0.87 -4.77 -1.26 -4.41 -1.65 -2.91 -2.02 -3.02 -2.13 
+-4.02 -1.65 -2.78 -1.63 -0.11 -1.65 -3.41 0.26 -3.64 -1.52 -4.53 -1.39 -3.78 -1.26 -3.52 -1.63 
+-3.91 -0.39 -4.28 -1.5 S
+741.55 1742.51 -4.01 -0.52 -4.66 -0.87 4.14 -0.26 4.3 0.39 3.01 -0.39 3.78 1.52 -1.25 -1.26 
+2.12 -0.75 -3.38 -0.5 -1.89 0.37 -3.64 -0.37 -2.65 0.24 0.24 -1.37 1.52 -0.89 -2.89 -0.63 
+-3.14 -1.02 3.14 2.14 -0.89 1.39 -3.52 -0.26 -0.76 -1.26 -2.65 0 S
+728.47 1738.21 -2.76 -0.5 -2.39 -1 -3.14 -1.65 -3.64 -1.13 3.75 0 4.93 1.39 3.76 1 
+-2.39 -1.26 -1.12 -1.39 -2.02 0.26 -3.39 -0.89 -3.14 -1.26 -3.02 -1.76 -0.39 -1.89 -2.52 0.89 
+-2.26 -0.76 -0.24 1.63 -4.3 -1.5 -3.02 -1.78 -5.14 -2.13 -3.41 -2.52 -3.91 -1.28 -3.02 -1.63 
+-2.25 -0.26 -3.91 -2.89 -2.52 -2.64 -3.25 -2.78 S
+673.76 1710.5 -3.41 -2.39 -3.28 -2.52 -2.76 -2.39 0.76 -1.65 -3.4 -0.76 -2.52 -1.89 -3.38 -1.89 
+-0.76 0.26 -3.41 -1.89 -3.02 -0.13 1.26 0.63 -0.37 1.26 2.13 -0.76 2.65 2.52 1.13 2.4 
+3.28 3.39 -1.52 -0.13 -2 -1 -3.41 -1.62 -3.77 -1.79 -2.39 -0.87 -2.52 -1.02 -2.39 -3.14 
+1.39 2.9 -2.38 -0.75 -2.91 -1.13 -2.52 -0.26 -3.39 -1.12 -3.28 -0.76 -3.64 -0.63 -3.52 -0.39 
+-3.67 -1.49 -2.62 -1.89 -3.64 -2.02 -3.28 -1.02 -3.02 -0.24 -1.65 -0.76 -2.25 -2.02 -2.65 -2.15 
+-2.38 -0.99 -2.89 -1.52 -2.89 -2.64 -2.28 -2.52 -2.13 -0.76 -1.25 -2.52 1.63 0.89 -1 -1.76 
+-0.89 0.11 -3.14 -2.52 S
+580.41 1667.17 2.25 2.78 -2.89 -1.76 -2.64 -2.28 -0.5 -1.63 -2.76 -1.39 -1.52 -0.5 -2.89 -3.54 
+-3.14 -3.15 -3.91 -4.14 -3.27 -2.02 -1.89 -4.16 -1.63 -3.41 -1.5 -3.02 -0.26 -1.52 -2.25 -1.75 
+-0.26 -1.63 -2.39 -3.67 -2.89 -3.02 -3.28 -3.02 -3.28 -3.78 -2.64 -2.78 -2.26 -2.78 -1.52 -1.12 S
+533.09 1613.89 -1.63 -2.78 -2.52 -2.02 -0.63 -1.5 -3.52 -3.28 -1.12 -3.27 -2.52 -4.4 -2.02 -3.41 
+-1.89 -3.28 -2.52 -2.14 -1.5 0.63 0.5 3.14 -2.02 -4.01 -1.88 -2.65 -0.89 -2.52 -1.37 -3.28 
+0.11 -2.02 -1.76 -3.41 -1.25 -3.78 -2.63 -3.91 -2.78 -2.89 -2.02 -0.76 -1 -4.66 -1.52 -3.91 
+-2 -4.41 -1.25 -4.3 S
+491.47 1545.09 -3.28 -5.53 3.14 0.37 1.89 4.03 2.26 4.93 -0.24 1.89 2 3.64 1.02 0.13 
+1.63 3.52 1.76 1.89 2.52 4.43 2.78 3.52 2.52 5.16 2.75 4.17 1.76 3.78 2.91 3.41 
+2.39 3.78 2.38 4.14 2.39 3.66 1.52 3.15 2.12 2.88 2.39 1.65 2.65 2.76 2.52 2.41 
+2.02 1.25 -1.65 -3.9 0.52 -1.13 -1.52 -2.78 -0.99 -2.64 -2.52 -2.02 -3.02 -3.64 -1.89 -2.02 
+-2.41 -3.65 -2.89 -3.8 -2.75 -4.91 -2.65 -5.03 -0.13 -3.04 -2.76 -2.76 -2.02 -4.93 -1.65 -3.02 
+0.13 -1.13 -1.62 -3.02 -1.89 -1.15 -1.39 -1.39 -1 -3.38 -0.76 -4.41 -2.78 -4.8 -1.26 -3.91 
+-1.26 -3.77 -1.99 -4.93 S
+495.12 1528.97 -1.26 -3.39 -1.52 -4.4 -1.13 -3.54 -3.02 -4.91 -0.63 -2.91 -1.52 -2.15 -2.12 -0.74 
+-0.89 -2.28 -1.75 -0.13 -1.76 -4.77 -1.52 -4.93 -0.11 -4.14 -0.52 -4.29 -1.26 -4.14 0.26 -4.54 
+0.76 -2.91 0.5 -1 -0.37 -3.91 -0.52 -5.16 0.39 -3.14 0.5 -3.02 0.26 -3.66 0.73 -2.52 
+0.26 -3.65 0.37 -3.53 S
+479.25 1445.21 1.13 -2.76 0.89 -3.41 0.89 -3.14 2.52 -0.52 2.13 -0.11 1.39 -1.78 0.87 -2.12 
+0.52 -2.52 0.37 -3.17 -0.13 -2.63 -0.12 -4.29 0.13 -3.64 -0.12 -3.41 0.75 -3.41 1.02 -2.75 
+1.63 -1.65 0.76 -3.41 0 -2.52 1.39 -1.26 0.87 -3.38 1.39 -1.26 1.89 -1.91 1.25 1.15 S
+500.65 1391.3 0 -3.78 -1.12 1 0 -3.91 0.24 -3.27 0.26 -4.14 0.63 -3.41 0.63 -3.54 
+-1.02 -2.89 -1.37 -2.65 -0.39 -3.27 1.02 -1.62 0.24 -1.52 1.89 1.26 0.26 -3.02 1.39 -4.04 
+0.37 -3.14 -1.26 -3.15 1.63 -2.02 0.52 -2.41 1.24 0.39 1.78 -1.89 1.5 -2.52 0.39 -2.91 
+1.89 -1.39 -0.76 -4.14 1.76 -0.5 2.52 0.37 -1.13 3.28 0.37 2.52 2.02 0 1.76 0.89 
+1.76 2.13 1.39 -0.87 1.13 -2.78 0.13 -3.54 1.39 -0.74 -1.65 -1.65 0 -4.54 0.89 -3.91 
+0.63 -3.65 -1.02 -2.52 -0.74 -4.8 -0.76 -3.41 -0.37 -3.52 -1.39 -3.02 0.87 -3.04 -2 -2.13 
+-1.79 -3.41 -2.52 1.39 S
+513.84 1291.91 -1.99 -2.65 -0.14 -3.14 -1.88 0.5 0.26 -3.4 -2.41 -0.5 -3.25 -0.76 -1.02 -4.54 S
+776.78 1714.41 -1.75 -2.89 -1.26 -3.04 -2.88 -1.88 -0.39 2.02 -0.11 1.52 -3.14 1.13 -2.02 -3.02 
+2.02 -0.39 1.13 -1.89 -2.52 -0.24 -2.65 1 1.65 -3.41 3.78 1.39 -2.78 -3.15 2.38 -0.63 
+1.76 -0.76 0.89 2.65 2.25 2.78 0.76 -1.52 0.76 -1.5 2.25 2 -0.63 2.54 0.5 2.52 
+0.13 2.26 -0.13 2.52 S
+733.9 1696.53 -3.28 -2.65 -0.76 -1.76 0.37 -1.89 -0.99 -1.26 2.14 -0.13 0.5 -1.75 0.5 -1.65 
+3.02 -0.37 1.13 -1.64 0 -2.39 1.89 1 -0.62 -2.65 1.65 2.54 0.5 1.63 -0.63 1.75 S
+739.3 1685.3 -1.39 0.52 -2.02 0.74 0 1.52 1.75 1.89 2.02 1.02 1.02 2.63 -1.89 -0.74 
+-2.91 -1.65 0.26 1.65 -2.26 -0.13 -1.15 1 1.15 2.78 S
+711.87 1679.38 -1.26 -2.52 2.15 -0.37 0.63 -1.65 -0.52 -2.52 0.89 -1.89 1.39 1.78 0.24 1.5 
+2.02 1.88 0.26 1.26 -2.52 0.63 -1.39 0.89 -1.89 1 S
+693.12 1652.93 1.52 -1.76 2.89 1.02 2.78 0.99 1.63 -0.89 3.28 2.41 -2.78 0.13 -2.13 0.11 
+-2.78 -1.89 -2.26 -0.13 -2.14 0 S
+674 1634.18 -2.02 -1.91 -3.14 -2.26 -1.37 -2.28 -2.15 -1 0.39 -2.14 -3.04 -2.02 1.26 -0.87 
+-2.63 -1.13 -2.64 -1.15 -2.65 -1.5 1.39 -1.15 4.28 1.64 S
+661.68 1618.42 2.38 2.52 3.41 3.27 3.02 2.26 3.01 2.54 3.15 2.26 0.24 1.89 -0.11 1.65 
+-2.78 -0.63 S
+671.88 1638.96 -3.15 -2.39 1.63 -0.5 -1.39 -2.02 -1.75 0 -3.15 -1.52 -1.39 -2.52 S
+662.67 1630.01 -2.38 -3.28 -2.13 -1.13 -2.02 -2.02 -2.02 -0.89 0.89 -2.02 2.52 2.14 1.37 1.76 
+1.89 1.89 2.78 0.89 0.37 1.75 -1.26 0.89 S
+662.67 1630.01 3.67 2.39 1.63 0 2.13 1.02 2.02 2.88 -0.23 2.65 S
+638.29 1589.46 0.63 -1.52 2.13 -1 -1.89 -2.91 2.41 -1.26 2.39 -1.12 3.39 -0.39 0.63 -1.37 
+-2.75 0.5 -1.89 -1.39 1.37 -1.63 -1.63 -3.04 1 -1.89 2.64 -1.26 1.65 -1.89 -1.26 -1.12 S
+647.09 1568.17 0.73 -1.39 1.89 2.52 2.28 1.52 0.87 2.02 1.88 1.5 -1.13 2.02 1.26 2.52 
+2.26 3.04 -1.13 2.26 0.5 3.15 -2.39 -0.37 -2.25 0.76 -2.39 -0.39 -1.89 0.13 -1.76 1.39 
+-2.52 0 -2.52 0.38 -2.52 0.26 S
+631.99 1568.29 3.02 -0.62 -2.75 -1.15 -1.89 -1.26 -3.4 -2.12 -2.52 -1.39 -2.02 -2.14 -3.14 -2.65 
+-2 -3.41 0.74 -1.26 1.52 -0.5 2.25 0.89 3.28 2.13 2.52 2.65 1.89 2.41 2.14 1.76 
+2.63 1.26 2.52 1.39 2.65 -1.02 3.14 1.26 0.87 -1.37 -0.24 -2.02 0 -2.15 -1.25 -2.14 
+-3.02 -2.65 -3.54 -0.87 -1.62 -1.65 2.39 0.39 1.76 -0.63 -2 -3.04 -2.02 -3.02 S
+633.88 1545.36 2.52 -0.76 3.02 2.78 3.02 1.63 2.38 1.52 1.39 2.02 -0.99 -3.54 0.36 -3.38 
+2.39 0.63 1.89 4.02 1.63 3.67 -0.87 3.28 -0.75 2.13 -1.26 1.78 -0.76 2.26 -0.73 1.39 
+-1.52 -2.02 -1.39 2.39 -0.24 1.52 -1.26 1.02 -2.52 2.12 -0.39 0.76 -2.25 -0.5 -2.78 -0.89 
+-2.76 -0.87 S
+646.7 1559.85 0.39 -2.52 0 -2.14 2.52 1.52 -1.52 1.13 -1.39 2.02 S
+625.07 1542.08 0.13 -3.14 1.13 -1.63 1.63 -1.26 2.41 -0.52 2.13 -0.76 2.64 -0.62 2.39 -0.37 
+2.52 0.5 -1.39 1.78 -1.49 1.89 -1.89 -0.39 -0.39 1.65 -1.62 1.13 -2.39 -0.62 -2.52 0.75 
+-1.26 1.63 -2.02 0 S
+640.17 1538.8 0.63 -1.76 2.25 -1 1.26 -1.52 0.89 -2.02 1.75 -1.13 2.25 -0.89 2.15 2.65 
+1.99 1.13 -2.12 0.76 -1.89 -0.37 -1.13 2.13 -1.52 1.02 -1.75 1.26 -2.15 0.87 -2.62 -1.13 S
+458.75 1307.01 -1 -3.52 0.89 -2.91 -1.52 -0.87 1 -2.15 1.65 1.52 -0.39 3.91 -0.63 4.02 S
+587.96 976.97 1.39 -3.27 1.37 -2.15 2.15 -4.28 2.52 -0.52 -0.89 2.64 -1.89 2.15 -0.11 2.15 
+-1.64 2.12 -2.89 1.15 S
+653.88 912.59 -0.89 -0.63 -1.52 0.39 0.52 -1.52 -1.65 -0.13 2.02 -2.89 1.63 -0.89 1.52 1.26 
+1.13 -0.89 -1 -1.75 2.75 -2.78 -1.36 0.39 -3.04 2.65 1.15 -2.9 -1.89 0.75 -3.14 0.63 S
+650.11 904.28 -2.65 1.26 -4.14 1.52 -3.28 1.13 -3.41 1.25 1.89 -1.39 2.78 -1.26 2.02 -0.24 
+0.37 -1.65 2.78 -1.13 1.37 -1.39 1.89 0.26 2.39 -1.89 1.39 0.24 1.39 -1.39 4.14 -1.5 
+2.91 -0.62 0.5 1.13 2.26 -1.75 2.38 -0.63 1.52 0.63 3.28 -1.02 -2.78 2.15 2.52 0.37 
+1.25 1.65 2.52 0.37 0.87 0.5 -1 1.39 -2.02 -0.24 -2.39 0.74 -2.52 1.29 -3.26 1.13 
+-3.54 1.63 -2.12 1.76 -1.89 1.91 -3.64 2.13 S
+675.39 918.88 4.14 -2.12 0.63 1.39 1.52 -0.39 1.63 -1.25 2.02 0.5 0.13 1.39 2 1.15 
+-1.37 1.75 -2.78 0.76 -1.63 -1.02 -3.14 0.89 -2.52 -0.76 2.52 -1.62 S
+678.54 919.54 0 -1.52 -3.15 0.87 S
+768.1 910.83 3.54 -1.13 3.25 -1.15 3.41 -2 -0.26 1.63 -2.25 1.25 -3.65 1.13 -4.03 0.26 S
+596.89 1304.12 2.76 -1.12 1.52 1 0.74 3.14 -3.25 0.76 0.63 -0.89 -0.63 -2.52 -1.76 -0.37 S
+568.71 1334.36 0.89 -2.52 -0.26 1 -0.62 1.52 S
+546.31 1394.45 1.25 -0.89 0.26 -3.02 1.26 -1.76 1.63 0.24 1 -1.49 1.26 -0.89 0.26 2.52 
+-1 2.15 -1.65 2.02 -1.49 1.76 -2.02 0.13 -0.76 -0.76 S
+541.54 1430.73 -0.13 -1.39 -0.76 -0.5 0.5 -0.89 1.39 -0.37 0.5 2.13 -0.11 1.75 -1.39 -0.74 S
+536.37 1436.63 2.02 -2.13 1.63 1.63 1.76 -1.89 2.02 0.5 1.89 0.52 S
+545.68 1435.27 1.25 -2.02 1.76 -2.52 -2.13 0.5 0.24 -2.52 1.39 -2.02 2.38 -2.28 0.26 -2.52 
+1.13 -1.63 1.13 -2.52 2.02 -0.89 0 -1.52 -1 -2.75 0.74 -3.54 2.65 -2.02 -0.5 -2.65 
+-1.89 -0.5 -1.62 -0.87 2.39 -1.89 2 -0.76 1.89 -1.39 1.52 -1.88 1.76 -1.39 1.76 0.13 
+2.02 -0.76 0.26 1.26 -1.02 0.63 -0.24 2.89 -1.52 1.9 -1.5 0.38 1.5 2.25 -1.26 1.65 
+-1.39 2.02 -0.74 3.41 -1.02 2.13 -0.63 2.65 -0.87 3.02 -1.26 2.41 -1.65 1.39 0 3.02 
+-0.74 2.26 -0.89 2.28 -1.52 1.39 -1 2.52 -1.63 1.5 -2.15 0.52 -1.75 1 -1.89 1.02 
+-2.38 0 -1.89 -0.52 S
+539.65 1438.02 -1.12 -2.02 -2.15 0.63 S
+560.92 1385.11 1.63 -3.77 1 0.63 1.89 -1.39 1.39 -1.5 1.89 -0.52 1.76 -1.89 0.26 -4.14 
+2.39 1.76 0.63 1.65 2.39 -0.26 -0.63 -1.52 2.25 -0.76 2.65 -0.37 2.02 -1.13 0.5 -2.91 
+2.38 1.78 -0.62 3.65 -2.89 2.88 2.26 0.52 -2.26 1.5 0.13 2.41 -2.02 2 -1.76 1.65 
+-2.52 1.76 -1.76 -0.24 -1.52 3.02 -2.26 1.52 -1.89 -0.63 1.89 -1.29 0 -2.75 -0.89 -2.02 
+0.5 -3.64 -2.26 -0.52 -1.89 1.25 -1.13 2.15 -1.63 1.76 -1.89 -0.64 S
+588.84 1364.97 1.5 -1.39 2.02 -0.52 1.63 -0.87 1.65 1 -0.76 2.28 -2.39 1.26 -2.38 1.39 
+-1.26 -3.15 S
+607.71 1342.67 -0.24 -2.15 1.23 1.15 S
+608.7 1341.67 1.15 -0.52 -0.26 1.89 -0.89 -1.37 S
+608.7 1341.67 -0.99 1 S
+607.96 1332.59 0.87 -2.78 0 1.13 -0.87 1.65 S
+568.58 1437.02 -0.87 -2.28 -1.78 -0.74 0.39 -3.9 -0.89 -3.67 1.65 1.52 0.24 2.65 1.13 2.02 
+0.89 3.64 -0.75 0.76 S
+571.09 1398.85 1.76 -1.26 1.89 2.02 -1.37 -1.02 -1.02 1.39 -1.26 -1.12 S
+571.59 1448.25 0.13 -2.02 2.15 -0.39 1 -0.87 -0.37 -1.52 -0.13 1.26 -3.15 1 0.37 2.54 S
+576.63 1445.07 0.13 -3.64 -2.38 -2.39 1.89 2.75 0.37 3.28 S
+574.61 1434.75 0.76 -3.91 -1.5 -2.76 S
+575.5 1426.82 -0.37 -3.9 S
+573.48 1419.88 -0.87 -6.04 S
+574.24 1412.2 1 -2.88 -2.39 -1.26 S
+577.39 1406.54 1.25 -1.52 S
+577.65 1400.37 2 0.37 1.78 -2.89 S
+555.12 1443.82 2.02 -0.87 S
+612.74 1486.92 1.89 -0.26 1.75 1.39 S
+641.3 1510.46 2.12 -1.26 2.15 -1.25 2.89 -0.37 -0.24 1.63 -2.02 0.39 -1.63 0.87 -1.88 1.02 
+-1.39 -1.02 S
+706.08 1534.14 0.63 -2.63 -0.37 -1.65 0.75 -2.02 1.39 -1.63 1.5 -1.12 0.5 2.25 -0.63 1.76 
+-0.73 1.89 -1.26 1.78 -1.78 1.38 S
+693.12 1518.4 -0.13 -2.02 0.52 -2.38 1.37 -3.04 1.26 1.65 2.4 0.23 -2.4 1.16 -1.5 1.25 
+-1.02 2.02 1.26 1.76 -1.76 -0.64 S
+739.17 1623.72 1.26 -1.52 3.41 -0.37 0.49 0.24 -0.62 1.26 -1.65 0.89 S
+742.05 1624.21 -2.88 -0.49 S
+743.58 1617.17 -3.52 -1.76 -1.02 -1.64 2.91 0.63 2.5 1.13 -0.87 1.65 S
+708.36 1595.38 1.25 -1.02 -3.27 -0.13 0.89 -1.26 1.89 0.26 -2.41 -1.65 3.64 1.65 1.02 1.52 
+-3.02 0.63 S
+687.35 1587.43 -0.14 -2.14 0.14 -2.26 1.88 2.26 -0.13 1.39 -1.75 0.76 S
+711.74 1514.75 -1.25 -2.4 2.78 -0.5 2.13 -2.02 2.14 -1.39 2.25 -1.39 1.65 -1.5 -1.15 -1.78 
+-2.5 -0.37 1.5 -1.52 3.27 1.65 1.63 -0.26 1.13 -1.26 -2.52 -2.12 2.41 0.37 -1.39 -2.15 
+1.75 -1 2.26 2.39 2.28 2.28 -1.89 0.37 2.52 2.14 -1.25 0.14 -2.52 -1.52 -0.13 1.26 
+1.63 1.39 4.17 1.26 -2.65 0.87 S
+729.99 1507.68 0.5 2.02 3.02 1.39 -0.86 1.65 -1.89 1.13 -2.28 0.76 -0.37 2.64 2.12 0.5 
+-0.99 1.89 -3.39 -0.39 2.89 1.91 2.13 1.13 3.04 1.63 2.63 2.14 -1.26 0.76 -2.89 0 
+-2.15 -1.02 -2.38 -1.63 -3.02 -1.76 -3.02 -2.41 -3.28 -1.63 -2.63 -1.39 0.63 -1 -2.65 -0.76 
+-2.15 -0.5 S
+745.96 1635.05 0.89 -2.65 -3.02 -1.62 1.13 -1.52 3.14 0 2.52 -0.24 0.63 -1.39 -0.89 -2.29 
+-1.26 -2.64 3.28 -0.37 0.63 2.64 2.13 2.13 1.39 2.41 1.25 3.15 1.89 2.88 2.89 2.02 
+-3.15 0.63 -2.88 -0.63 -3.78 -1.26 -3.52 -2.12 -3.28 0.87 S
+778.43 1629.12 -2.64 -2.25 1.52 -1.52 2.13 -0.23 S
+779.43 1625.11 2.78 1 1.36 1.76 -1 1.78 -4.14 -0.52 S
+797.55 1658.36 -2.65 -2.25 -3.02 -2.15 -2.39 -2.15 -1.52 -3.14 0.63 -2.15 0.13 -3.38 1 -1.26 
+-1.63 -3.4 1.63 -0.76 3.78 0.13 -2.13 -2.02 -1.65 -3.91 -4.27 -1.52 3.02 -0.63 -2.39 -2.64 
+-0.63 -2.89 -2.63 -2.14 -2.02 -1.89 -2.65 -0.13 -3.28 -0.24 -2.76 0.24 -2.02 -3.14 -3.02 0.5 
+-1.52 2.28 -0.5 3.02 -2.12 -0.76 -1.02 0.76 -2.88 -0.76 -1.89 -2.38 1.63 -2.65 2.28 -0.37 
+0.74 -2.15 -0.24 -2.65 0.13 -2.13 -0.26 -2.28 -2.39 -1.52 -0.76 -2.63 0.13 -2.02 0.63 -2.28 
+-0.89 -1.52 0.13 -2.52 0.5 -2.25 1.26 -1.89 2.02 1.63 S
+762.07 1592.34 0.63 2.52 0.89 3.04 0.74 2.52 1.52 2.26 0.37 -2.88 -0.37 -2.78 0 -3.02 
+2.02 -2.02 3.78 2.25 0.99 2.78 2.39 2.15 0.76 2.25 0.75 3.28 1.76 2.78 4.01 2.02 
+-0.37 -4.3 -2.39 -3.02 0 -3.02 3.02 1.49 2.65 -0.99 2.52 1.25 4.02 1.39 0.5 2.39 
+0.39 2.52 0.24 2.78 1.02 2.78 -2.02 2.13 0.76 3.28 2.75 1.78 2.52 -1.15 1.02 2.91 
+2.76 0.87 1.89 2.78 0.5 2.91 2.15 3.78 0.38 2.14 -0.76 2.26 3.04 1.52 1.75 1.26 
+-1.52 1.63 0.49 1.88 0 1.52 -2.75 0.63 -0.63 1.52 -2.52 0.63 3.38 0.63 2.65 2.02 
+3.02 0.63 1.39 1.13 S
+814.15 1651.43 -1 1.39 -2.78 1 -3.28 0.76 -3.25 -1.02 -2.78 -0.74 -2.52 -1.26 S
+798.54 1651.56 1.76 2 2.64 1.02 2.78 0.89 2.89 0.24 2.02 -0.13 2.39 -1.39 -0.39 1.91 
+-0.5 1.89 -1.89 0.87 -3.02 0.75 -5.77 -0.25 -3.91 -1 S
+814.15 1649.79 -2.25 -0.37 -2.65 -1.39 -0.26 -2.02 1.52 -0.86 0.37 -2.28 2.02 0.5 2.26 1.52 
+0.63 1.76 -0.37 1.88 -1.26 1.26 S
+818.92 1671.59 -1.25 -1.78 -1 -2.02 3.64 0.63 2.39 1.26 0 1.39 -3.78 0.52 S
+832.9 1672.85 -2.52 -0.13 -2.89 -1.65 0.63 -2.02 -1.64 -1.5 -2.75 -0.89 -2.91 -0.13 -3.38 -0.87 
+-1.26 -2.78 0 -2.26 0.13 -2.15 S
+816.3 1658.48 0.49 -2.14 2.52 -0.63 -1.02 -2.26 1.89 -1.65 2.91 0.26 2.52 0.76 0.87 2.52 
+-0.5 1.63 0.13 2.15 -2.15 1.63 0.39 2.52 1.63 2.02 1.39 -0.37 1.13 1.52 1.89 0.86 
+-0.13 1.89 1.76 1.65 0.89 2.02 S
+853.28 1673.85 -2.02 -1.13 -2.65 -0.89 -2.39 0.13 -3.14 -0.63 -2.39 -1.65 0.26 -2.52 2.65 -0.63 
+3.25 -0.11 1.88 -0.89 2.65 0.5 0.5 1.65 2.9 0.11 1.63 0.89 0.37 1.76 2.02 1.15 
+3.02 0.74 0 1.15 -3.15 -0.13 -2.39 0.76 -3.02 -0.26 S
+863.58 1671.59 -3.38 -0.89 -2.15 -1.52 0.39 -2.13 1.25 -1.25 0.5 -2.02 1.63 -1.88 -2.39 0.87 
+-1.75 1.89 -1.76 0.52 S
+855.92 1665.17 0.74 1.89 -3.75 0 -1.02 -1.52 -3.02 -0.63 -2.39 -1.02 -1.13 1.02 -4.17 0.63 
+-1.25 -2.28 -1.13 2.28 -2.76 -0.63 -1.02 -1.26 -1 1 -2.25 1.02 -2.78 -0.5 -0.24 -2.02 
+0.11 -3.04 1.39 -0.86 -0.13 -1.52 1.52 -0.89 -2.02 -1.25 2.52 -1.5 3.15 -0.39 2.14 2.41 
+2.75 -0.89 2.02 1 1.39 -1.76 3.51 0.39 3.28 1.13 3.52 0.38 2.52 -1.39 3.64 0 
+2.89 0.13 3.14 -0.37 4.04 -0.26 1.5 0.63 2.38 -0.24 2.15 0 1.26 0.63 0 1.26 
+0.89 1.37 -0.39 1.78 0.13 1.63 -0.76 1.39 -1.26 0.89 -0.13 1.39 -1.49 1.89 -2.65 0.63 
+-2.02 1.13 -1.5 0.76 S
+868.25 1669.57 -1.52 -0.26 -0.13 1.52 -3.02 0.76 S
+852.91 1677.5 -1.26 -1.63 3.02 1.13 -1.76 0.5 S
+849.5 1683.29 -1.52 -0.37 -1.5 -1.52 -1.89 0.76 -1.75 -0.76 -1.39 -1.89 -0.26 -1.26 -3.02 -1 
+1.02 -1.12 0.24 -1.52 0.13 -1.39 2.02 -0.13 1.76 0.5 2.52 2.28 -2.89 -0.13 -2.64 0.26 
+0.37 1 2.52 0.5 2.78 0.13 2.39 1.39 0.37 1.39 1.52 0.99 0.37 1.26 -1.13 0.63 S
+837.3 1674.21 -1.39 -1.99 -0.89 -2.15 1.52 -0.62 1.63 0.37 0.13 2.52 -1 1.88 S
+838.93 1682.92 -3.52 -0.37 -1.02 -1.39 2.52 0.63 2.28 0.13 -0.26 1 S
+831.25 1682.16 -3.02 -0.87 -2.39 -0.39 -3.14 -1.39 1.13 -1.62 S
+823.83 1677.89 -4.02 -1.39 -0.26 -2.78 3.41 -0.13 2.88 0.52 2.65 0.24 2.13 1.89 0.52 1.88 
+-1.76 0.63 -2.91 -0.11 2.78 1.26 2 1.13 0 1.13 S
+821.2 1681.54 -0.25 -1.39 2.52 0.89 -2.26 0.5 S
+805.6 1678.12 -2.15 -0.99 -2.75 -0.76 -0.13 -1.63 -3.02 -1.78 -3.52 -2 2.13 -1.28 1.13 -1.89 
+4.03 0.52 3.78 1.26 1.36 2.13 3.14 -0.87 3.41 1.39 -1.26 1.13 0.63 1.89 -1 1.26 
+-2.15 0 -3.41 -1.65 0.52 2.14 -0.76 1.13 S
+845.98 1690.47 -0.5 -1.63 -1.26 -0.89 -0.39 -1.39 1.02 -0.74 2 1.63 0.5 2.15 -1.37 0.87 S
+844.73 1692.36 -1.76 -0.5 -0.12 -0.76 2.25 -0.11 -0.37 1.36 S
+842.58 1690.61 -2.26 0 -1.39 -1.52 1 -1.62 2.91 -0.37 0.37 0.99 -0.37 1.26 -0.26 1.26 S
+832.14 1698.68 -1.39 -1.02 1.39 -0.76 2.25 -0.63 -0.63 1.52 -1.62 0.89 S
+840.19 1702.82 -3.38 -0.5 -0.62 -1.39 -1.65 -1.26 1.39 -1.63 1.75 -0.89 -2.25 -1.39 1.89 -1.75 
+2.52 0.13 1 -1.26 2.39 1 -1.26 1.13 1.26 1.64 -0.24 1.39 -0.89 1.5 -1.52 1.52 
+-0.37 1.76 S
+828.62 1697.03 -1.75 -1.63 -1.78 -1.15 1.25 -1.37 -2.75 -1.02 -0.63 1.65 -1.76 -0.52 -1.25 -1.49 
+0.13 -1.39 1.24 -1.26 0.89 -1.52 -1.25 -2.52 0.13 -1.52 2.89 -0.11 2.65 -0.39 1.52 1.52 
+2.63 1.75 3.54 0.5 -1.26 1.02 S
+833.03 1687.59 -1.89 0.87 -1.39 -0.87 -1.75 0.24 -2.52 -0.63 1.5 2.28 2.65 0.5 2.02 0.76 
+2.52 1.63 1.26 1.39 -1.89 1.02 -2.52 1.25 -2.39 1 S
+805.73 1701.2 -2.64 -1.78 -1.89 0.63 -2.78 -1.36 -1.89 -2.52 -0.87 -2.28 -2.78 -2.14 -0.74 2.14 
+1.13 2.39 0.76 2.02 -4.54 -0.37 -2.64 -2.15 -1.13 -2.38 -5.04 -1.26 -0.5 -2.41 -0.39 -2.88 
+0.89 -2.65 0.5 -2.14 1.89 -1.63 -2.75 -1.76 -2.28 -2.52 0.5 -2.02 1.89 -1.39 2.64 1.13 
+0.26 -1.76 3.28 0.24 1.5 2.91 2.26 2.52 2.91 1.76 3.88 0.13 3.91 1.25 2.89 0.64 
+3.04 -0.87 2.39 -0.52 2.12 1.25 0.39 2.15 -3.15 0.89 S
+808.75 1684.44 -3.14 0.74 3.02 2.28 -0.37 1.76 2.13 1.39 -1.62 1.88 4.14 0.5 0.89 1.52 
+-1.25 1.39 -0.39 1.76 -0.74 1.52 -1.89 0.13 -1.02 1.37 -2.76 0.52 S
+815.15 1709.63 -4.15 -1.52 -4.54 -0.63 0.14 -2.15 -0.5 -1.76 2.38 -1.62 3.91 -1.02 1 -2.15 
+0.89 -2 1 -2.02 3.14 1.75 3.52 1 1.52 2.28 3.02 1.89 -0.24 2.14 0.63 2.26 
+-4.3 -0.14 -3.01 0.89 -2.39 1.52 -2.02 1.25 S
+995.45 1807.88 -2.65 2.78 S
+965 1821.75 -2.15 0.89 -2.52 0 2.65 -0.89 2.02 0 S
+911.79 1827.67 -2.52 0.37 1.37 0.76 S
+903.73 1828.17 -3.41 -0.5 2.64 -0.39 0.76 0.89 S
+891.78 1825.91 -2.89 -0.52 S
+888.89 1825.39 -0.63 -0.87 S
+860.44 1819.36 -3.64 -2.28 -1.39 -0.76 0.52 -0.87 2.52 0.87 1.99 3.04 S
+853.64 1815.95 -3.25 -1.39 -2.52 -1.26 0.74 -0.89 3.91 0.89 -0.76 1 1.89 1.65 S
+891.38 1784.07 -0.5 1.26 -3.64 -0.73 -4.02 0.63 -3.27 -1.52 3.91 0.37 2.88 -0.62 4.64 0.63 S
+867.99 1793.64 -3.02 0.39 -3.02 -0.39 -2.26 -1.13 0.63 -0.87 2.52 0.37 2.63 0.76 2.52 0.87 S
+806.23 1785.72 -5.16 -0.26 -1.5 -1.76 0.11 -1.39 -2.52 -2.02 2.52 -0.24 2.29 0.74 -2.29 -2.25 
+2.65 0.13 1.39 2.13 1.13 2.02 1.39 2.91 S
+715.78 1736.83 -3.91 -0.24 -2.89 -1.52 -3.91 -0.87 -3.78 -1.52 -4.77 -2.78 4.02 1.25 S
+700.54 1731.16 2.91 1.65 1.76 -0.39 4.01 1.15 2.52 -0.89 1.65 1.89 2.39 2.26 S
+681.42 1720.21 -4.64 -2.39 -3.14 -2.52 -3.02 -2.65 -1.52 0 -2.39 -2.28 -2.52 -1.75 -1 -1.76 
+-1.65 -0.37 -3.14 -3.17 -2.12 -2.26 0.24 -1.52 3.78 2.52 4.03 3.15 4.02 2.64 4.27 2.41 
+2.65 2.76 3.02 3.28 3.28 2.78 -0.13 1.13 S
+845.98 1652.43 -1.13 -1.89 1 -1.12 -1.89 -1.13 -0.36 -2.02 -1.65 1.13 -2.02 0.5 -0.87 -1.5 
+-0.13 -1.89 -1.89 0.11 -0.76 -1.76 0.13 -2.39 2.14 -0.5 1.76 -1.65 1.5 -1.52 -0.5 -2.62 
+0.76 -2.02 -1.76 -1.26 -1.02 -1.88 -1.37 -2.65 -2.52 -1.89 -1.26 -2.28 -1.76 -1.75 S
+832.4 1620.45 -3.4 -1.89 -1.39 -2.02 -2.89 -1.52 -0.62 -1.49 1.63 -1.29 2.52 0.63 -2 -2.88 
+0.87 -1.89 -1.76 -2.39 -0.89 2.89 -1.89 1.52 -3.25 -1.89 -3.02 -2.02 -0.13 -2.78 3.15 -1 
+3.38 0.87 -1.75 -2.89 -3.78 -2.91 -2.52 1.65 -3.15 -0.76 -3.25 -2.15 -2.78 -2.26 -1.75 -2.52 
+-2.25 -2.15 -0.26 -3.4 -1.76 -3.02 -2.52 -2.65 -0.13 -2.25 -1.63 -2.02 -1.12 -4.54 -0.89 -1.78 
+-1.13 -3.38 -0.89 -2.91 0 -4.04 2.78 -2 1.63 -2.02 -0.13 -2.65 1.89 -3.14 2.28 0.11 
+2.75 1.91 1.89 2.39 2.25 2.15 2.91 1.75 1.39 3.64 3.25 0.63 3.41 1.65 2.25 2.12 
+1.89 2.29 1 3.77 S
+822.57 1571.94 1.89 -1.39 2.15 1.65 3.14 -0.26 3.15 -1.39 4.02 0.5 2.9 0.76 2.89 1.02 
+2.25 1.63 2.14 1.63 2.89 1.52 2.52 0.63 2.78 -0.87 3.26 0.37 3.04 0 3.12 0.5 
+2.65 0.63 2.91 1.13 2.89 1.15 2.02 1.39 -2.28 1 -2 1.89 -3.15 -0.63 0.63 1.25 
+2.76 0.63 0.63 2.64 2.26 0.26 -0.24 -1.78 -0.5 -2.12 S
+873.29 1585.68 1.5 -1.26 2.65 -0.13 1.13 2.39 0.89 2.02 -0.76 2.39 -1.12 2.14 -0.89 2.02 
+1.76 -1.52 1.89 -1.62 1.13 1.5 0.63 2.52 -1.36 1.15 1.76 0.63 1.39 0.5 2.25 -0.13 
+0.76 1.76 -1.65 1.25 4.27 0.39 1.39 1.89 -1.99 0.37 S
+888.89 1603.93 2.13 2.41 1 2.38 0.13 2.65 -2.02 1 0.89 1.64 2.02 0.88 2.39 -1.37 
+1 1.49 0 2.65 -0.37 1.75 1.63 2.28 0.39 2.02 1.76 1.25 1.25 1.76 1.89 1.89 
+2.13 1.89 2.15 1.39 3.38 2.28 -1 1.89 -2.64 1.13 -2.25 -1.26 -1 0.76 -1.78 -0.89 
+-2.13 -0.75 -2.65 -0.13 2.25 1.78 2.15 0.74 1 0.63 0.26 1.39 -1.76 0.25 -0.75 -1.25 
+-1.63 0 1.13 1.75 -3.78 1.26 1.89 0.39 2.02 -0.89 3.15 -0.26 2.25 0.63 -0.62 1.65 
+-1.52 1 0.13 1.39 -0.87 1.89 -2.64 1.13 -2.65 1.52 -3.02 0.13 -3.64 0.63 -3.14 -0.37 
+-2.39 -1.28 -1.76 1.65 S
+883.22 1650.67 -2.78 -1.39 -0.13 2.65 -3.88 1.63 -3.28 0.52 -1.52 -1.39 -2 -0.49 -0.63 1.25 
+-2.15 0 -3.28 0.11 -3.14 -0.5 1.39 -1.89 -1.63 -1.26 -3.91 -0.75 -2.75 1.89 -2.52 0.52 
+-2.15 1.26 -2.89 -0.39 S
+861.59 1560.59 1.63 -0.87 2.26 0.37 1.26 -1.13 -2.39 -1.39 -3.52 -0.99 3.39 -0.76 0.5 -2.91 
+-2.62 -1.76 4.41 -0.89 2.25 -1.89 2.89 -1.37 3.4 1.26 2.52 0 2.88 1.37 3.78 0.76 
+2.78 2.28 0.63 3.02 -2.14 1.65 0.5 3.02 -2.26 -0.13 -1.02 1.52 -1.89 -1.39 -2.13 -0.63 
+-1.39 1.13 -2.52 0 -1.39 -1 -1 1.5 -1 -2.52 -3.02 -0.24 0.87 2.88 -1.13 2.15 S
+868.12 1563.63 -1.52 0.87 -0.5 -1.26 -1.63 0.26 -0.89 -1.63 -1.99 -1.28 S
+903.73 1581.9 2.25 1.5 S
+892.27 1607.07 -0.76 -1.89 1.52 0 -0.76 1.89 S
+975.67 1191 -0.37 -2.91 -2.89 -1.88 1.5 -2.75 1.02 -2.78 1.89 -2.26 1.89 -2.64 2.89 -1.79 
+2.02 -1.75 3.77 -3.52 1.5 -2.28 2.02 -2.26 1.39 -2.15 0 -2.39 0.88 -1.25 0.63 -2.41 
+1.39 -1.75 1.39 -2.65 0.5 -2.78 1.39 -2.26 1 -2.65 -2.39 -2.91 0.89 -1.37 0.87 -2.65 
+1.52 -2.28 1.37 -1.76 0.52 -3.15 -0.63 -3.27 -1.02 -2.29 -1.37 -2.38 -2.4 -1.52 -2 -2.26 
+-1.02 -3.28 -1 -3.28 -1.02 -2.78 -0.61 -2.62 -1.52 -2.78 S
+989.65 1103.32 0 -2.78 -0.5 -2.65 -0.13 -2.25 0.38 -2.78 1.25 -3.02 1.89 -1.78 1.39 -2.13 
+1.26 -2.65 1.75 -2.64 0.76 -3.02 1.76 -2.15 0.89 -2.28 2.13 -2.13 0.76 -2.15 -0.5 -2.25 
+0.24 -3.04 -0.24 -2.64 0.37 -2.26 1.13 -3.02 -0.11 -2.64 0.24 -2.15 0.76 -2.64 0.63 -3.02 
+0.26 -2.65 1.63 -1.65 1.13 -2.12 2.65 -1.65 1.49 -2.12 0.63 -3.04 1.15 -2.13 0.49 -2.91 
+1 -2.14 1.63 -2.13 1.39 -2.91 0 -3.01 -1.5 -1.39 -1.26 0 1.76 -3.02 0.63 -2.02 
+-0.39 -2.14 1.89 0.89 1.89 -1.65 1.89 -1.63 3.02 0.13 1.89 1.26 3.14 0.63 3.41 0.13 
+1.89 1.26 3.15 0.63 S
+1040.61 1009.85 2.88 -0.39 2.39 1.02 2.78 -0.76 2.52 -0.39 1.89 1.39 3.38 0.26 1.65 1.39 
+2.89 0.13 2.64 0.5 2.52 1.89 3.25 1.89 2.52 1.39 2.02 1.88 S
+1073.94 1020.05 2.64 2.39 2 1.89 2.52 1.89 2.64 2.28 1.65 2.39 1.87 2.78 2.15 2.38 
+1.63 2.28 3.02 2.13 2.41 1.52 1.37 2.78 1.39 3.25 1.39 2.78 0.37 2.28 0.26 1.89 
+-1.63 0.76 2.26 3.28 2.88 1.26 1.89 0.99 3.65 1.63 2.91 1.28 1.89 1.5 1.76 2.91 
+0 2.76 0.76 2.41 0.5 3.27 -0.63 2.26 -0.39 3.64 -0.5 3.28 -1.63 1.65 0.76 2.88 
+2.52 2.02 1.87 1.65 2.02 2.65 2.39 1.13 S
+1124.5 1098.16 2.52 3.14 2.02 2.52 2.02 2.64 2.76 1.39 2.41 1.13 3.64 1 1.99 2.15 
+2.91 2.78 1.88 2.14 2 2.76 1.52 2.52 0.63 3.04 -0.63 3.28 0.13 2.89 -0.63 3.28 
+0.63 3.53 0.13 2.39 -0.39 2.89 0.5 3.04 0.13 2.89 -1.75 1.65 -1.76 1.13 -0.76 2.78 
+-1.39 3.28 -0.37 3.78 0 3.38 1.39 3.17 -2.28 2.63 -2.25 2.54 0.89 3.02 0.74 3.14 
+1.26 3.15 1.39 2.64 1.63 3.78 1.65 3.78 -0.12 3.41 2.25 0 2.15 2.91 2.12 2.39 
+1.16 3.28 1.62 2.26 1.63 3.41 2.52 3.02 1.13 2.78 2.02 2.52 2.15 1.89 2.02 3.02 
+1.87 2.54 2.52 1.63 S
+1174.07 1228.41 4.04 5.04 1.5 2.91 1.89 3.14 1.39 2.39 1.89 3.02 1.02 2.91 0.87 3.28 
+1.39 2.52 1.89 2.65 0.23 3.78 0.52 2.78 0.74 3.41 0.89 2.89 0.26 3.27 S
+1192.58 1272.37 1 2.26 0.75 3.04 1 3.52 -0.62 3.41 0.76 3.02 -0.37 3.54 -0.52 4.67 
+-3.14 0.11 -1.37 -3.15 -2.78 -1.89 -2.65 -1.88 -2.52 -0.24 -2.26 -1.79 -2.89 -0.87 -2.64 -2.9 
+-2.39 -1.14 -3.02 -0.36 -2.14 -2.15 -2.39 -1.75 -2.65 -0.13 -1.89 1 -2.26 2.02 -2.02 1.65 
+-1.89 1 2.28 2.15 -1.39 2.75 -2.64 1.78 -2.52 2.02 -2.13 2 -3.02 1.78 -2.65 2.39 
+-2.78 0.26 -3.25 0.73 S
+1135.59 1299.2 -1.78 2.65 -1.76 0 -1.76 2.15 -1 2.88 -1.12 3.28 -1.89 2.54 -1.78 2.13 
+-3.02 1.89 -2.76 0.76 -2.02 3.14 -0.89 2.28 -1.13 3.28 -0.24 3.02 -0.52 1.89 -2.13 2.02 
+-0.76 3.28 -1.89 0.63 -2.38 1 -1.89 1.02 -1.89 2.52 -0.87 1.88 -0.26 2.39 -2.02 1.52 
+-1.89 2.64 -1.76 2.13 -1.88 2.54 -1.5 2.25 -2.28 2.39 -0.87 2.28 -1.78 1.63 -1 2.28 
+-2.02 1.5 -2.12 2.02 -1.76 2.15 -1.15 2.25 -1.76 2.02 1.02 1.26 1.36 -2.13 1.89 -2.65 
+1.65 -1.52 1.26 -1.76 2.13 -1.52 2.39 -1.39 0.89 1.26 -0.63 2.28 0.26 3.64 0.63 3.67 
+0.74 -2.78 0 -3.02 S
+1091.67 1370.77 0.13 -3.04 2.26 0.5 2.14 -1.99 1.89 -2.02 2.25 -2.41 2.39 -2.52 2.02 -1.5 
+2.39 -2.52 1.52 -2.64 2.02 -2.52 2.63 -0.76 2.52 -1.39 2.4 -2.52 1.87 -2.52 1.15 -2.78 
+0.11 -2.02 1.02 -2.38 S
+1122.37 1335.75 1.26 -3.15 2.02 -1.65 1.26 -1.63 3.52 -0.13 2.64 -1.89 1.89 -2.52 1.87 -2.65 
+1.89 -2.52 1.78 -2.14 1.99 -1 2.29 -2.41 1.88 -2.64 1 -2.39 0.13 -2.52 1 -2.78 
+1.65 -3.28 1.37 -3.14 1.26 -1.26 0.13 -3.02 2.26 -2.52 2.15 0.13 2.39 1.13 2.52 1.13 
+2.25 1.75 0.76 2.28 2.15 0.63 2.52 0.26 2.38 1.13 1.39 2.02 1.5 2.64 2.39 0.74 S
+1177.84 1304.36 2.28 1.78 1 3.02 2.14 2.26 2.52 2.02 2.13 1.78 2.15 1.76 2.13 1.89 
+2.02 1.76 -0.5 2.02 0.24 2.28 2.02 2.39 2.02 1.89 1.89 2.39 2.13 1.39 2.02 0.26 
+1.52 2.26 -0.13 3.28 1.88 1.88 1.76 1.26 0.76 1.52 -0.13 3.28 0.89 2.13 1.76 1.28 
+1.5 1.89 -1.63 2.13 -0.63 3.15 0.26 3.03 1.75 0.76 0.24 2.89 0.26 2.52 0.87 2.28 
+-0.11 3.38 0 3.54 -2.39 0.63 -2.41 1.76 -2 1.89 -2.78 -0.13 -2.38 -0.5 -2.65 0.5 
+-2.52 1.02 -2.76 1.63 -1.26 3.41 -1.26 2.91 -0.26 1.63 -1.26 0 0.13 -2.26 -1.13 -2.28 
+-1.26 -5.03 S
+1188.67 1380.84 -1.39 -2.91 -0.24 -2.89 -1.52 -1.26 -2.78 -0.63 -2.13 -0.89 -0.89 -2.02 -2.76 -0.63 
+-1.26 1.26 -1.89 -0.74 0.37 3.52 -0.63 3.02 -1.49 2.78 -1.76 1.39 -0.89 -0.89 0.5 -2.52 
+-0.5 -3.02 -1.25 1.25 -2.39 1.76 -0.5 2.52 S
+1165.28 1379.95 -1.65 2.14 -2.52 1.26 -2.62 1.63 -2.78 1.65 -2.02 2.02 -2.12 2.52 -1.76 2.52 
+-2.15 0.26 2.02 1.89 -1.88 2.02 2.02 0.74 0.24 3.41 2.02 -0.76 2.02 -0.87 1.26 1.63 
+2.25 -1.39 2.78 -2.64 2.89 -2.13 1.89 -2.65 2.02 -1.88 3.14 0.24 2.25 -0.74 2.76 -1.65 
+2.41 0.5 2.13 -1.39 1.89 1.39 2.39 -0.63 1.75 2.52 1.39 1.78 S
+1187.29 1393.32 1.63 2 2.02 0.89 2.15 -1.25 1.49 -2.26 1.89 -2.54 2.91 0.89 2.63 0.63 
+2.78 0.26 2.26 0.5 2.02 0.99 2.64 0.76 1.89 0.5 2.76 0.89 2.15 1.76 1.76 1.52 
+2.25 1.26 0.89 1.76 2.13 0 1.78 0.52 1.75 1.49 1.39 1.52 1.63 1.63 2.13 0.63 
+1.89 -1.37 2.02 -0.65 1.76 -2.13 1.52 -2.15 2.39 0.13 2.25 -0.5 2.52 -1.65 2.78 -0.76 
+2.13 1.39 1.78 2.52 0.74 -3.39 -1.36 -2.28 -2.28 -1.52 2.39 -2.38 2.14 -1.14 2.75 -1.52 
+2.52 -0.24 2.28 1.39 1.5 2.25 0.5 3.15 -1.26 3.64 -0.61 3.04 1.13 0.13 1.13 -3.28 
+1.5 -2.28 2.15 -1.89 S
+1270.45 1396.2 1.25 -3.77 1.13 -3.28 1.89 -2.65 1.39 -1.13 0.24 -2.52 2.15 -3.14 2.15 -3.28 
+1.5 -2.91 1.76 -3.38 1.76 -2.28 2.15 -2.52 2.52 -2.28 2.52 -2.26 1.39 -3.02 1.89 -2.78 
+1.75 -2.91 1.89 -3.28 1.89 -2 2.26 -1.89 1.76 -2.15 1.75 -2.78 S
+1307.42 1340.02 1.65 -2.88 1.89 -3.41 1.75 -3.54 2.13 -1.89 2.02 -1.39 2.02 -0.11 1.13 2.75 
+-0.37 4.43 1.13 2.75 1.5 1.65 -1 3.28 0.26 4.14 1.89 1.39 -1.26 3.91 -1.26 2.52 
+-1.15 3.28 0 3.54 -0.24 4.02 -1.13 4.03 -1.78 3.54 -1.76 3.64 -1.89 3.41 -0.74 3.02 
+-0.12 3.41 2.25 1.13 -0.63 3.14 1.02 1.52 S
+1314.73 1391.3 1.5 1.88 0.13 2.39 -0.89 2.91 0.39 1.88 0.64 2.89 -0.14 3.54 0.38 2.64 
+0.75 2.39 0.37 3.41 -0.24 3.64 -0.39 2.91 0.25 3.38 1 1.89 1.02 2.65 -0.5 3.67 
+-0.63 3.38 -1.39 1.89 -0.76 2.65 0.89 2.64 0.5 2.39 -0.76 2.64 2.65 -3.14 0.87 1.89 
+1.02 2.28 1.13 2.13 1 2.28 -0.37 3.28 -0.13 2.64 0 3.78 2.52 -1.39 2.02 -2.02 
+1.89 -2.25 2.02 -2.02 2.5 -1.39 2.65 -1.26 1.89 -1.13 0.89 1.13 2.25 -1.76 0.5 -2.28 
+2.28 -1.75 0.87 1.25 2.28 -2.78 2.5 -3.14 2.41 -3.52 1.63 -4.54 1.26 -3.91 2.26 0.11 
+1.13 0.65 1.15 1.5 S
+1359.89 1433.62 -0.26 3.41 0.13 3.28 0.37 3.52 -0.75 2.91 1.39 0.13 2.38 -1.65 2.28 -2.65 
+2 -3.14 2.4 -3.64 2.13 -2.78 2.39 -3.41 2.9 -2.88 2.39 -3.54 1.25 -5.04 2.26 -2.65 
+1.39 -3.02 0.24 -3.28 1.65 -3.64 1.76 -4.3 1 -5.28 1.39 -3.67 1.65 -2.52 0.24 2.15 S
+1392.47 1391.93 2.38 -1.65 2.39 -2.52 1.78 -1.26 1.89 -1.39 1.24 -1.39 1.02 -2.12 1.13 -3.15 
+1.76 -4.29 1.52 -1.76 1 -4.17 2.15 -2.75 2.25 -1.89 1.39 -3.66 2.25 -0.87 1.65 -1.52 
+2.13 -0.25 1.76 -0.63 1.52 -0.87 2.25 2.65 -1.89 4.14 -2.25 3.67 -1.76 1.49 -1.15 4.04 
+-1.23 4.04 -1.26 4.01 S
+1416.38 1379.82 -1.39 4.04 -2.28 2.64 -1.99 1.02 -2.02 1 -2.14 1.13 -2 1.89 -1.89 -1.39 
+-1.64 0.65 -2.13 3.77 -1.89 3.15 -1.89 1.25 -2.28 4.67 -1.13 -2.41 -1.89 3.04 -1.75 4.27 
+-1.39 4.79 -0.5 3.39 -1.13 4.29 -0.87 3.52 -2.28 4.8 -1.89 4.54 0.5 2.75 1.78 0.76 
+2 -4.14 1.52 1.39 1 1.63 2.52 -1.39 1.39 0.13 1.76 -1.39 1.88 -2.39 2.02 -2.02 
+2.12 -0.89 1.39 2.41 1.76 -1.52 1.76 0.76 1.26 -4.41 1.65 -3.78 1.75 -2.54 0 4.29 
+-0.26 4.14 0.89 2.78 -0.63 4.54 -2.15 4.54 1.26 2.39 0 3.66 -0.11 3.78 -0.12 3.64 
+0 4.04 -1.02 3.27 S
+1405.92 1460.33 -1.63 3.15 -2.52 5.3 -1.75 3.02 -2.15 3.64 -2.12 3.28 -2.52 2.78 -2.78 3.41 
+-2.38 1 -2.39 1.39 -2.13 0.5 -2.65 0.63 -2.38 1.39 -2.52 1.02 -1.65 1.76 -2.13 0.5 
+-3.28 2.39 -1.89 4.04 -1.75 3.41 -0.76 4.41 -1.63 3.78 -1.02 3.91 -0.5 3.78 -0.63 3.41 
+-0.24 3.4 0.5 2.26 S
+1361.02 1527.84 1.76 0.26 0.36 1.5 2.02 -3.02 1.26 -1.12 2.25 -1.89 0.39 1.52 -0.5 2.25 
+-2.39 1.52 -1.52 2.89 -0.37 3.41 0.11 3.15 -0.87 3.91 -0.13 2.88 -0.5 3.54 -2.64 3.41 
+2.02 0 -2.65 3.91 2.65 -0.13 -2.15 4.14 0.13 2.54 -0.26 2.89 -0.37 3.01 -1.25 4.04 S
+1358.38 1572.44 -1.89 4.54 -1.5 3.54 -1.88 4.02 -1.52 3.17 -2.02 1.89 -0.11 2.52 -2.52 3.28 
+-1.65 3.02 -2.02 3.14 -2.76 3.54 -2.02 2.25 -2.52 1.76 0.25 1.26 -2.28 3.41 -2.75 3.41 
+-2.78 3.4 -2.39 3.02 -0.24 1.75 -1.76 2.02 -1.52 0.75 -3.28 3.28 -0.24 1.26 -3.91 3.14 
+-1.63 1.52 -0.13 -1.65 -0.75 -1 1.13 -3.28 -0.76 -0.89 -1 2.91 -1.89 2.38 -1.39 2.39 
+-1 2.52 -2.02 1.02 -2.13 -1.02 -0.63 2.78 -2.52 1.02 -1.76 -0.65 -0.63 -0.87 -2.65 1.26 
+-2.64 1 -2.39 0.89 -3.15 1.25 -0.99 -1.75 -1.15 -1.65 -2.89 2.78 -2.52 2.52 -2.75 3.54 
+-2.15 3.28 -2.88 2.12 S
+1271.83 1658.22 -2.02 3.67 -2.38 3.14 0.75 1 -3.77 2.78 0.13 -1.89 0.74 -2.28 0 -1.62 
+-1.26 -0.63 1.76 -2.78 2.02 -2.38 1.89 -2.02 0.5 -1.89 -1.26 -0.89 -2.62 1.13 -1.15 -1.26 
+-1.24 -0.87 -1.89 -0.39 -2.28 1.64 -2.52 2.52 0.76 1.25 -1.26 2.78 -1.89 1.89 -2.39 1.89 
+-2.25 2.88 -1.78 2.65 -3.26 3.04 -2.91 2.76 S
+1242.25 1674.35 -0.37 2.64 2.26 0.13 3.28 -2.65 2.39 -2.52 1.89 -1.52 1.75 0.39 3.41 -3.54 
+-1 2.02 -2.41 3.02 -2.88 2.52 -1.89 3.04 -2.02 2.64 -1.5 2.75 0 2.15 -0.13 1.65 
+0.5 0.99 3.78 -2.52 3.14 -2.02 3.41 -2.39 1.63 1.39 -1.89 3.65 S
+1255.6 1686.2 1.13 1.39 2.52 -0.5 1.75 -3.04 3.41 -0.24 3.38 -0.76 3.64 -3.41 3.41 -1.63 
+2.88 -0.52 -3.38 4.04 -2.39 3.4 -2.28 3.91 -3.02 3.64 -3.38 2.52 -3.15 1.78 -3.41 1.37 
+-3.28 1.02 -3.02 0.63 -2.02 -0.39 -1.5 -0.63 -2.26 0 -1.39 -1.13 -0.5 -1.5 -2.64 1.63 
+-1.39 -0.13 -1.76 2.39 -2.02 2.28 -2.89 2.78 -3.51 3.02 -2.15 2.15 -3.41 1.13 -1.5 0.13 
+-4.66 3.15 -2.62 2.78 -2.78 1.26 -0.87 1.36 -3.77 2.15 -2.39 1.39 -1.65 2.39 2.26 -0.5 
+-0.5 2.78 -3.14 3.02 -4.02 2.78 -3.77 3.02 -5.04 2.64 -3.28 1.13 -4.91 2.91 -5.27 2.75 
+-4.78 2.41 -4.17 1.76 S
+1166.14 1750.7 -3.91 1.52 -4.51 1 -4.54 1.89 -4.9 1.89 -5.54 2.28 -3.77 0.5 -3.15 0.37 
+-3.64 -0.11 -2.78 -0.39 -3.26 0.13 -3.54 0.5 -3.64 0.76 -2.88 0.63 -0.63 -0.89 -2.38 -0.37 
+-3.41 0.5 0.52 -1.89 0.11 -1.52 -1.26 -0.37 1.15 -2.02 2.13 -1.89 4.77 -1.39 3.91 -2.52 
+-3.14 0.89 -2.52 -0.26 2.28 -1.63 3.75 -1.02 -2.63 -0.13 -2.52 -0.11 S
+1116.21 1747.05 2.65 -2.15 0.73 -1.89 -1.37 -0.26 -3.53 1.89 -4.41 1.65 -4.02 1.63 -4.41 1.52 
+-4.67 1 -3.52 1.02 -3.91 1.25 -3.14 1.13 -2.89 0.5 -3.14 0.52 -3.39 1.13 -2.78 0.37 
+-3.38 1.02 -3.54 2.02 -3.02 2.13 -2.89 1.89 S
+1061.61 1763.41 -0.26 1.02 -3.14 0.63 -2.26 2.25 -2.88 1.26 -1.76 1.39 -1.15 -0.13 -1.49 -0.37 
+-2.15 0.76 -1.39 1.63 -2 1.39 -2.02 0.63 -0.13 1.26 3.28 -0.5 0.24 1 -2.39 1.26 
+-4.14 1.15 -2.26 0.37 -2.15 1.39 -4.77 1.63 0.24 -1.13 2.14 -1.25 -3.41 -0.76 -3.52 -0.37 
+-4.01 0.24 -3.65 -0.24 -3.67 -0.39 -4.27 0.89 -3.52 0.89 -1.89 1.26 -3.52 0.5 3.64 1.26 
+0.88 1.13 0.13 1.25 -4.27 0 -3.65 -0.24 -3.14 -0.39 -2.75 0.39 -1.26 -1.25 -2.41 -1.15 
+-4.78 0.63 -0.75 0.76 3.14 0.25 2.02 1.52 2.15 1.75 2 0.76 3.65 -0.39 3.77 0 
+2.39 0.63 3.9 0.39 S
+1004.36 1788.37 4.78 0.24 3.14 0.63 4.16 0.13 4.64 0.13 4.04 -0.5 2.76 -1.16 0.63 1.16 
+3.02 0.5 3.53 -0.76 6.29 1.52 2.76 1.26 1.52 1.13 1.36 1.39 1.02 1.25 1.76 1.63 
+2.13 1.52 0.76 1.89 1.76 1.25 1.89 0.89 0.52 1.13 -4.66 0.76 -4.78 0.24 -4.91 -0.37 
+-3.02 -1 -4.29 0.24 -3.64 1.39 -1.13 -1.12 -2.26 -1.13 -3.64 -0.13 -4.17 0.87 S
+1020.33 1803.34 -2.12 1.02 -2.89 -0.12 0.63 -1.76 -1.25 -1.52 -2.91 -0.63 -2.89 0.13 -1.13 1.39 
+-2.52 0 -0.75 -1.65 1.39 -1.13 -1.26 -1.13 -3.54 -0.62 1.89 -1.52 2.65 -0.13 -0.63 -1.5 
+-3.02 -0.62 -3.77 -0.63 S
+998.2 1792.91 -2.25 -1.02 -1.76 -1.13 -3.91 0.37 -2.02 1.15 -3.28 -0.52 -3.76 0.26 1.37 1.89 
+-3.77 -0.75 -3.39 -0.24 -3.41 0 -3.64 0.99 -2.39 1.39 -1.5 1.39 -2.28 -1.52 -3.9 -0.37 
+-3.88 -0.75 -3.54 -0.76 -3.52 -0.89 -3.02 -0.11 -3.41 -0.89 -3.75 -0.37 -3.14 -0.89 -4.67 0.26 
+-3.14 0.99 -2.75 -1.52 1.63 -1.26 1.52 -2.02 0.87 -1.89 0.76 -1.25 3.02 -0.13 -0.13 -1.5 
+-4.14 0.37 -3.27 -0.87 -1.5 -0.52 S
+922.22 1780.79 -1.13 -0.5 -1.52 -1.89 2.39 -1.26 -3.14 -1.26 -0.63 1.52 -1.13 1.63 -2.88 0.25 
+-2.28 -0.75 -3.52 0.37 -0.89 1.65 -2.89 0.76 -4.14 0.87 -3.78 0.39 -0.36 -1.78 S
+896.31 1780.79 -1.65 -1.36 0.63 -1.91 -3.77 -0.5 -1.12 -1.39 -2.13 -1.37 4.01 -1.02 3.28 -1.26 
+4.91 -0.13 4.14 0.39 2.02 -1.52 2.76 -1.13 3.53 -1.13 3.78 -0.89 2.76 -1.26 2.78 -1.26 S
+922.22 1765.06 0.63 -0.39 3.15 -1 3.38 -0.76 3.41 -1.12 4.14 -0.26 3.52 -0.63 3.54 -0.76 
+3.64 -0.74 0.87 2.26 -0.5 1.75 1.89 0.76 2.65 0 0.13 -1.39 2.52 -1.13 -0.39 -1.26 
+-2.52 0.37 -1.13 -0.87 2.89 -1.13 2.14 1 2.26 0.63 3.27 -1.39 4.14 -1.25 4.91 -0.89 
+4.04 -1 2.26 -1.76 -2.52 -1.13 -0.5 -1.78 1.26 -1.5 2.88 -1.26 3.15 -1.39 3.77 -0.76 
+2.39 -0.89 2.65 -0.76 S
+990.15 1744.64 -1.26 -1 0.76 -1.52 1.89 -0.87 0.37 -1.39 -1.76 -1.76 1.89 -1.65 3.15 -1.62 
+1.75 -2.28 2.02 -1.63 2.02 -1.64 2.52 -2.13 0.86 1.37 2.28 -1.5 2 0.13 1.25 1.13 
+1.26 1.5 2.28 -2 3.64 -2.28 0.37 -1.39 1.76 -0.86 2.28 -0.26 0.37 -1.52 -1 -1.89 
+2.88 0.26 2.76 0.38 3.14 -0.5 0.26 -1.52 -1.26 -1.88 -2.14 -1.63 -3.52 0.37 -3.39 -0.37 
+-1.52 -2.28 0.89 -2.39 0.74 -2.89 1.78 -2.28 2.39 0.13 1.5 0.99 1.89 -1.62 1.26 -2.64 
+0.26 -2.15 -2.91 -0.12 1.15 -1.76 -0.12 -1.89 1.25 -1.39 1.89 -1.5 -3.28 -1.26 S
+1026.75 1691.62 -2.64 0.63 0.26 -1.64 S
+1024.37 1690.61 1.39 -0.63 0.99 1.65 S
+1026.75 1691.62 2.65 0.38 0.5 -1.26 -0.63 -1.13 -0.63 -1.39 2.15 -0.89 1.26 0.89 1.88 -1.76 
+1.63 -1.78 0.37 -1.5 -3.02 1.13 -1.63 1.52 -3.54 1.76 -2.88 1.63 -3.65 1.78 -2.88 1.25 
+-3.41 -0.13 -2.65 -0.5 -1.63 -1.39 -0.5 -1.39 0.13 -1.75 0.63 -1.52 1.75 -0.39 0.5 -1.5 
+-3.78 1.13 0 -1.52 0.5 -1.89 -2.88 1.89 -1.63 -2 2.62 -1.65 3.15 -1.63 3.54 -0.26 
+0.24 -2.15 2.25 0.26 1.39 -3.28 -2.26 0.63 1.76 -2.78 0 -1.63 2.15 -1.65 1 -2 
+1.39 -2.54 1.89 -2 2 -1.65 2.28 -0.63 2.88 -0.13 0 -2.38 0.5 -2.15 S
+1032.16 1653.69 -0.11 -2.39 -0.39 -2.28 4.04 -0.74 3.14 -1.15 1.89 1.39 3.02 -0.13 0.37 -2 
+-3.14 -0.39 -2.26 -0.86 -0.63 -1.28 -2.02 -0.37 1.13 -1.52 2.91 0.75 0.63 -1.12 -2.02 -0.5 
+0.37 -1.52 2.91 -0.5 2.49 1.26 2.02 0 -2.25 -1.65 -2.15 -1.63 -3.02 1.39 -2.25 1.63 
+-3.28 1.02 -2.76 -0.26 0.74 -0.87 2.14 0.5 2.26 -0.89 1.65 -1.52 0.24 -1.63 2.52 -2.26 
+2.64 -0.13 2.89 -0.52 2.02 -1.89 2.89 -1.76 3.64 -1.52 2.02 2.02 0.63 -2.02 2.89 -1.75 
+3.78 -1.26 1.65 -2.64 1.88 -2.13 0.87 -2.64 0.39 -2.28 -3.64 -0.24 -0.39 3.15 -1.13 2.13 
+-1.76 2.41 -2.52 1.39 S
+1059.09 1624.48 -2.02 1.89 -3.38 -0.13 -2.9 1.5 -3.39 2.02 S
+1047.39 1629.75 -2.91 1.52 -3.02 1.52 -3.26 0.11 -2.02 2.02 -2.15 1.78 -2 1 -2.65 -1.13 
+-1.26 1.13 -2.38 0.37 0.11 -1.76 2.02 -1.89 1.88 -1.89 2.78 -1.75 1.89 -2.02 0.63 -2.65 
+2.26 -1.52 2.78 -0.74 2 -2.02 1.76 -1.15 2.02 0.63 3.41 -1 2.13 0.13 2.28 -2.41 
+-2.39 -0.24 -2.52 0.24 -2.28 -0.87 -2.52 -0.39 -1.63 -0.87 -3.14 -0.13 -2.02 -1.26 -3.64 -0.75 
+-3.64 0.39 0.99 -1.78 2.15 -0.37 2.52 0.24 2.26 -0.87 2.38 -0.5 0.52 -1.65 -0.52 -1.13 
+1.79 -1.39 -1.52 -0.5 -2.88 2.15 -0.52 -1.65 0.26 -2.52 S
+1037.33 1604.19 -2.02 -0.89 -1.12 -1.5 1 -1.78 -2.76 0.39 -2.52 2.02 -0.26 -2.02 -0.37 -2.14 
+-1 -1.89 -0.26 -1.89 -0.89 -2.28 -0.87 -1.63 2.38 -2.65 -0.5 -2.02 -1.88 -1 -2.26 1 
+-2.28 -0.24 -0.63 2.52 1.76 1.5 -2.39 1.39 -2.02 0.63 -2.12 -1.13 -2.89 -0.5 3.25 -1.02 
+2.28 -2.52 1.26 -2.64 1.88 -0.11 2 -2.28 0 -2.02 -2 -0.14 -2.4 -0.5 -0.11 -2.25 
+-1.15 -2.15 -0.63 -2.26 2.41 -1.52 2.88 -1.89 -2.88 -0.76 -2.41 0 -2.88 0.36 -2.13 -0.23 
+0.11 -2.02 3.04 -1.39 1.76 0.76 1.5 -2.39 -2.89 -1.15 -3.52 1.02 -3.28 0.37 -1.52 2.39 
+-1.12 2.02 -1.5 2.41 S
+1005.38 1570.18 -3.54 1.25 -2.52 0.63 -2.63 1.89 2.89 -0.89 3.02 0.13 2.88 -0.37 S
+1005.49 1572.83 2.28 0.24 2.39 0.5 2.75 0.13 2.28 1.52 1.26 2.15 0.24 2.13 -1.75 2.28 
+-2.13 1.63 -3.04 0.76 -2.75 0.26 -3.02 0.74 -3.15 0.76 -3.02 0.26 -3.02 -0.26 -3.04 -0.5 
+-1 1.52 -2.39 0.11 -1.13 -1.26 -2.65 -0.5 -3.27 0.89 2.64 0.36 1.26 2.28 -2.65 0.64 
+-2.62 0.49 -2.91 0 -0.37 -3.27 -1.52 1.89 -0.99 -2.14 -1.26 2.9 -1.26 -1.25 -0.26 -1.89 
+-2.39 0.75 -1.39 -1.64 -0.74 -2.39 -2.39 -1.52 -2.52 -0.5 -0.89 -2.78 -2.02 -1.26 0.5 -1.63 
+1.39 -0.26 -1.5 -2.02 -0.63 1.65 S
+958.83 1574.59 -1.15 -1.52 -0.11 2.65 -1.39 -1.89 -1.63 -1.63 1.63 -1.02 -2.78 -1.39 -1.26 -2.25 
+2.02 2.02 2.15 0.73 2.52 0.76 -1.89 -2.88 -0.26 -2.29 -1.39 -2.38 -0.62 -2.28 -0.37 -2.26 
+-0.49 -2.25 -0.5 -2.78 -1.89 -1.89 -1.15 -3.28 -1.13 -2.28 -1.26 -2.38 -1.75 1.25 -0.76 -2.39 
+-1.13 -1.75 -2.75 -0.63 -1.52 -2.28 -1.75 -1.89 -1.89 -1.89 1 -1.76 -1 -1.78 0.63 -2.13 
+0.37 -2.28 1.65 -2.15 -0.76 -1.88 0.63 -1.63 2.26 0.5 -1.37 -1.88 -0.13 -2.15 1.5 -1.37 
+2.64 -1.15 2.78 -0.24 2.39 1.49 1.37 1.89 2.02 2.41 1.52 0.13 0.75 1.89 1.63 -1.15 
+1.39 -3.02 1.5 -2.52 S
+959.07 1515.75 1.52 -3.02 1.5 -2.52 2.41 -2.02 -0.52 -1.89 1.52 -2.15 0.26 -1.76 2.26 0.24 
+1.89 0.26 S
+969.9 1502.91 -0.62 1.76 1.25 2.39 2.13 0.26 1.89 0.26 0.63 3.28 -0.24 3.15 0 2.38 
+-0.63 2.65 0 1.75 1.89 2.15 1.89 1.76 -1.26 0.63 1.37 1.64 0.26 1.37 -1.13 1.64 
+-2.52 1.39 -2.39 1.5 -0.76 2.15 -0.26 2.64 -0.5 2.65 0.5 1.52 1.02 2.89 1.5 2.02 
+1.39 1.63 1.63 1.65 0.26 1.89 1.13 2.14 -2.12 0.88 0.63 1.89 -0.62 1.25 1 1.15 
+0.37 1.89 2.02 0 1.52 0.37 1.49 0.89 2.65 -1.26 1.13 -2.52 -1.26 -1.26 -0.36 -2.78 
+-1.26 -2.64 S
+983.48 1551.91 -1.26 -3.02 -1.39 -2.65 -0.13 -2.78 1.02 -2.52 2.13 -2.39 -0.13 -2.78 0.63 -1.64 
+2.52 -0.87 1.89 -1.02 2.91 -0.37 2.52 1 2.25 1.52 2.15 1.52 2.25 1.49 3.15 0.89 
+3.02 -1.52 1.63 0.89 2.28 -1.75 -3.28 0 -1.52 -2.28 -0.63 -1.63 -3.14 -0.76 -2.89 0.13 
+-2.52 -1.02 -2.12 -1 -1.52 -1.75 0.76 -2.15 1.5 -2.02 1.89 -0.13 1.02 -2.52 0.87 -2.64 
+-1 -1.63 -1.89 0 -1.62 1.63 -2.02 0.89 -2.15 -0.89 -0.24 -2.89 -0.5 -1.89 1 -3.04 
+1 -2.64 -0.24 -2.89 -2.15 -1.75 -0.12 -2.41 -1.37 -1.13 -2.02 -0.37 -1.75 2.52 -2.78 -0.89 
+-2.52 -1.26 -1.89 -2.15 S
+977.06 1497.35 -2.63 -0.73 -2.64 -1.79 -1.76 0.26 -2.14 0.63 1.26 1 -1.52 1.78 -1.12 -1.52 
+-2.13 -0.76 -1.39 -1 -1.52 -1.52 S
+961.46 1493.71 -2 -0.13 0.37 1.78 -3.39 1.13 -0.13 1.26 -2.15 1.25 0.76 2.78 0.99 2.76 
+2.02 1.15 -0.26 1.76 -1.87 -0.26 -0.26 1.89 0.37 2.28 -0.24 1.75 -2.02 -0.63 -1.13 -1.89 
+-2.28 -0.63 -1.26 -1.52 -0.24 -1.76 0.24 -2.64 0.52 -2.26 1.89 -1.25 0.37 -2.65 1.26 -1.78 
+-1 -1 1.37 -1.25 -1.37 -1.39 0 -1.89 -1.89 0.89 -2.38 -0.13 -1.02 -1.52 -3.14 -0.13 
+-2.02 -1 0.13 -2.28 1.65 -0.37 0 -1.39 -1.39 -1.39 -1.52 0.76 -0.24 2.78 S
+940.21 1486.79 -1.13 -0.5 -0.39 -2.28 -0.87 -1.89 -1.15 -1.89 -1.37 -1.75 -2.14 -1.02 -2.39 -1.39 
+-2.15 -1 -0.5 -1.76 -0.23 -2.41 -1.65 -0.87 -1.89 -0.49 -1.5 -0.89 -0.63 -2.28 -2.28 0.52 
+-1.89 -0.52 -0.87 2.28 -2.28 0.13 1.26 -2.78 0.52 -3.28 -2.28 0 -2.52 -0.36 -1.26 1.88 
+-2.52 -0.39 -2 -0.87 -2.28 -0.39 0.13 -2.76 1.65 -1.02 1.87 0 2.28 -1.52 2.64 -0.37 
+0.63 -1 1.5 -1.88 -0.37 -1.39 1 -1.39 2.02 -1.39 1 -2.26 -0.37 -3.28 -0.39 -3.16 
+-0.37 -2.26 -0.75 -3.28 -1.13 -1.39 -2.12 -0.5 -2.41 0.63 -3.38 0.49 -3.65 -0.87 -2.64 1.13 
+-3.15 0.5 -3.14 -0.26 S
+894.66 1435.37 -2.75 0.13 -3.02 1.65 -1.65 -2.29 -2.52 -0.24 -1.13 -1.39 1.39 -3.27 -0.5 -2.39 
+0.11 -1.78 0.52 -2.89 -0.62 -2.28 -0.89 -2.76 -0.76 -3.17 S
+882.83 1414.71 -1.62 -1.88 -0.63 -2.76 1 -1.88 1.75 -0.13 -0.62 -2.78 -0.11 -2.78 -1.02 -2.26 
+2.64 0.24 2.25 -0.62 2.02 0.89 1.89 -0.13 2.14 -1.5 0.74 -1.39 1.26 -2.91 2.28 -1 
+2.38 2.25 2.39 0.89 2.65 0.37 2.75 -0.11 2.64 0 2.65 -0.13 1.63 2.38 2.26 2.78 
+2.28 0 0.76 2.26 1.5 1.89 2.64 1.79 -2.26 1.88 -0.39 2.39 1.52 2.25 2.13 2.78 
+2.15 3.28 2.12 1.02 2.52 0.87 2.52 2.02 2.14 1.39 S
+935.8 1426.06 -0.5 3.28 -0.52 2.65 2.41 1.5 1.76 1.39 2.52 -0.75 2.75 -0.37 2.52 -1.26 
+2.52 0.5 1.52 2.02 2.38 1.52 2.39 1 0.76 1.89 1.75 1.02 2.02 -0.26 1.5 -0.89 
+2.39 -0.24 0.76 -2.64 1.26 -2.28 2.39 -2.13 0.5 -1.89 2.15 0.24 2.39 -2.13 2.15 -2.15 
+2.25 -1.13 2.89 0.24 2.02 -1.63 2.02 -1.25 1.49 -0.26 1.52 -2.15 3.02 -0.63 0.63 -1.89 
+1.52 -2.12 0.63 -2.28 -0.89 -1.5 -0.26 -2.41 0.13 -1.39 1.52 0.13 0.5 1.52 1.26 1.49 
+-0.37 2.28 1.99 1.26 -0.37 2.39 -2.39 1.15 0.24 2.76 0.76 2.02 1.88 -0.76 2.29 -0.11 
+0.73 -1.78 1.52 -0.24 S
+1002.11 1419.77 0.37 1.88 -2.62 2.02 -2.41 1.13 -2.39 1.13 -2.76 1.02 -2.28 0.73 0.76 1.89 
+-3.52 -0.37 -2.65 1 -2.25 1.25 -1.25 1.29 -0.76 2.25 -1.39 2.15 -2.25 1.25 S
+976.7 1438.41 -1.89 1.13 -2.02 1.63 -0.63 1.91 0.39 1.89 -1.15 1.26 0.13 1.89 1.65 0.14 
+1.75 1.63 2 -0.26 -0.37 -1.36 0.63 -1.91 1.25 -1.26 1.13 1.02 0.13 1.89 2.88 -1.52 
+0.76 -2.25 1.25 -1.26 0.38 -1.78 2.52 -1.13 1.39 -1.26 2.39 -0.13 3.54 -1.89 2.89 -2.02 
+2.76 -1 2.41 -1.52 2.38 -1.12 0.13 -2.39 0.24 -3.28 0.63 -2.78 2.02 -1 1.89 -2.14 
+1.5 -1.76 2.02 -2.52 2.28 -2.02 S
+1015.95 1413.21 3.38 0.13 3.15 0.87 1.89 -1.5 2.64 0 2.63 -1.52 -0.74 3.27 2.75 -0.5 
+-2.02 0.63 -0.87 1.75 -2.02 0.64 -1.75 1.13 -1.13 1.76 -1.89 1.52 -1.89 2.14 -0.5 3.28 
+2.63 -1.89 2.15 0.37 0.37 1.52 -1.37 1.13 2.13 0.37 0.63 1.65 2.25 -0.13 1.65 0.89 
+2.52 0 1.89 -1.65 1.89 0.89 -1.15 -2.15 0.26 -1.12 1.26 2.14 1.63 2.13 1.02 1.65 
+2.89 1.13 2.78 0.63 2.88 -1.26 -1.89 -1 0.76 -1.28 -2.39 -0.5 -2.78 -0.63 -2.39 -0.63 
+-2.52 -0.5 -1.13 -2.15 0.13 -3.39 3.38 1.26 -0.24 -1.65 1.13 -3.14 1.13 -1.13 -0.89 -0.76 
+-1.89 1.13 0.14 -2.02 S
+1038.46 1416.73 2.39 -0.5 2.02 -0.5 0.13 -1.89 2.26 -1.02 -1 -2.13 2.25 0.37 2.15 0.5 
+-0.39 -1.5 2.52 0.5 3.53 -1.75 2.52 -0.39 2.76 2.14 0.13 2.52 2.65 0.13 3.64 -0.62 
+1.63 -1.52 S
+1067.64 1411.07 2.38 -0.5 1.52 1.52 1.75 0.37 1.52 2.39 1.13 2.41 3.38 -0.63 1.39 0.38 
+1.39 2.52 0.87 -1.26 -0.74 -2.39 1.37 -1.64 -0.11 -2.02 1.26 -3.77 1.23 -2.65 -0.61 -2.76 
+-0.13 -3.54 -0.13 -3.14 0 -3.02 0.26 -2.91 -0.76 -3.27 -0.89 -2.26 -3.28 -1.39 -2.52 -1.02 
+-1.99 1.02 -0.26 -2.02 -2.13 0.37 -0.13 2.02 -3.15 -0.24 -2.52 -1.02 -2.38 -2.02 -1.89 -1.89 
+-2.15 -1 S
+1061.35 1377.69 -3.02 0.88 -2.75 -0.5 -2.52 0.39 -2.15 0.63 -2.88 0 -2.78 -0.13 -2.63 -0.89 
+-1.65 2.15 -2.76 -0.5 -2.91 0.37 -2.75 0.13 -0.89 2.25 -2.88 0.52 -3.15 -0.13 -2.64 -0.76 
+-2.52 -1.39 -2.39 -2.78 -0.89 -2 1.15 -1.78 0.74 -2.26 -0.37 -2.52 -1.39 -1.65 -1.75 -1.12 
+-2.52 0.13 -2.65 1.63 -3.52 1.39 -4.01 0.5 -2.91 0.13 -2.62 1.13 -1.39 1.26 -0.39 2.91 
+-2.88 0.63 -2.89 1.13 -2.78 0.13 -3.64 0.13 -3.14 -0.25 -2.52 0.75 -2.88 1.26 -1 2.28 
+-1.89 -0.62 -2.02 0.73 -0.62 2.41 1.39 1.5 1.76 2.02 1 2.39 -0.63 2.28 -1.63 0.89 
+-1.13 3.14 1.37 1.13 S
+971.4 1397.59 0.89 2.39 -2.89 -1.62 -1.39 2.78 -2.26 0.24 -2.28 -0.63 -1.76 -1.52 -2.14 -0.62 
+-3.52 0.76 -1.89 -1 -3.38 0.76 -1.89 -1.52 -2.28 -0.5 -1.5 0.76 -2.78 0.5 -2.63 -0.13 
+-1.88 -0.5 -2.29 -0.13 -2.25 -0.89 S
+933.29 1396.7 -3.02 -0.63 -3.54 -0.36 -2.26 -1.52 -2.25 -1.75 -2.39 -0.5 -2.28 -0.5 -1.12 -1.78 
+-3.14 -1.39 -2.39 -0.5 -2.65 1.52 -2 -0.5 -3.04 0.11 -2 -0.37 -3.04 1.88 -1.13 1.89 
+-2.26 -0.24 -1.39 -2.78 -0.86 -2.38 -1.26 -2.29 -1.26 -2.25 -2.91 -1.65 -2.89 -0.89 -2.39 -1.25 
+-1.75 -2.26 -2.15 -1.76 -0.24 -1.78 -1.39 -2.39 -1.64 -1.26 -0.37 -4.66 1 -2.02 S
+875.29 1362.43 -1.5 -3.14 -1.76 -2.25 -2.28 -2.29 -3.02 -1.13 -1.89 -2.25 -3.39 -1.15 -3.77 -0.11 
+-1.89 -2.28 -1.12 -2.78 -1.39 -1.76 -2.65 -1.12 -1.5 -1.39 -1.02 -2.65 -1.12 -2.38 -1.63 -3.15 
+-2.39 -2.15 -1.88 -2.26 -1.65 -2.14 -1.63 -3.67 -1.52 -2.25 -1.89 -1.26 -0.73 -2.78 -0.76 -2.76 
+2.02 -2.14 1.89 -2.65 -0.26 -2.78 -1.89 -1.75 1.39 -3.02 0.76 -2.91 -0.26 -2.88 -0.76 -2.78 
+-1.13 -2.78 -1.13 -2.76 -0.39 -3.8 -1.89 -2.12 -1.63 -2.28 -2.39 -1.26 2.15 -1.62 1.13 -2.91 
+0.24 -3.41 -0.63 -2.75 -0.24 -3.41 2.13 -1.62 2.14 -1.65 2.39 0.37 0.14 -3.88 2.25 -1.15 
+1.75 -2.39 1.26 -2.52 S
+841.95 1250.46 2.15 -1.65 2.25 -2.52 1.75 -2.52 0.26 -2.76 0.37 -2.41 0.89 -2.52 2.64 -3.02 
+2.76 -1.52 2.78 -1.62 2.25 -2.41 3.65 -2.12 2.78 -3.04 2.25 -1.89 2.78 -2.02 3.26 -2.52 
+2.9 -1 2.26 -0.63 2.88 1.76 3.41 0.39 2.39 1.89 S
+888.63 1218.34 3.28 0.24 3.25 0.5 2.41 0.39 2.89 0 4.28 -1.12 2.75 -0.39 3.28 -1.5 
+2.38 1.37 2.91 0.89 2.38 0.5 2.39 1.39 3.28 1.89 3.78 0 1.36 1.89 3.27 0.89 
+2.89 0.63 2.78 0 3.38 0.5 3.28 0 2.78 -0.87 2.89 -2.15 1.52 -3.78 1 -3.77 
+3.28 -1.79 2.88 0.13 2.78 0.5 2.89 0.63 2.75 0.13 S
+967.62 1215.43 2.41 0.5 2.39 0.13 0.5 -2.78 2.39 -0.37 1.52 -2.25 1.89 -2.28 -0.89 -3.28 
+-0.37 -3.28 -0.89 -2.39 -1.39 -2.52 1.89 -0.76 -1.39 -2.39 0 -2.78 S
+993.79 1271.62 1.52 -1.76 1.13 -2.38 1.89 -1.26 0.63 -1.78 1.39 -1.39 2.13 1.65 2.65 1.13 
+0.76 3.02 -2.65 -0.24 -3.28 0.13 -0.11 1.89 -1.52 1.89 -2.64 0.24 -1.89 -1.13 S
+1102.13 1191 0.99 -3.78 2.26 2.78 2.78 -0.63 3.64 0.63 2.13 2.25 -3.13 0 1.76 2.15 
+1.75 2.76 0.63 3.54 0.88 2.02 -1.5 2.65 -2.78 0.63 -2.75 -0.5 -3.14 -0.89 -3.15 -2.52 
+-0.76 -3.54 1 -2.25 -0.37 -2.39 -0.24 -2.9 S
+1089.15 1166.69 1.39 -2.78 1.89 -2.65 2.78 -2.02 1.36 -3.52 -0.5 -2.91 3.28 -0.62 -0.5 2.78 
+-1.39 2.78 -1.39 3.02 0.5 2.02 -2.25 1.63 -2.39 1.65 1.39 2.52 -1.02 3.14 -0.86 3.28 
+-1.52 3.14 -0.63 3.78 -1.25 -4.03 1.02 -2.65 -0.89 -3.02 1.39 -3.14 -0.39 -2.39 S
+1115.32 1134.81 0.39 -2.39 0.87 -2.28 -0.13 -2.39 1.78 -1.65 0.24 -2.25 1.89 0.63 1.13 -2.14 
+-0.13 3.77 -1.76 2.15 -0.24 3.28 0.13 3.28 1 3.53 -1.63 3.15 -0.39 2.75 -0.36 3.79 
+-2.28 1.63 -0.5 -1.52 1.26 -5.54 0 -1.02 0.76 -4.14 -2.02 -2.64 S
+1037.07 1441.43 2.41 -2.02 1.26 -2.02 2.63 -1.39 2.64 -0.37 S
+1046 1435.63 2.89 0.13 2.52 1.13 2.52 0.13 1.65 1.89 1.49 1.89 1.52 1.89 2.26 1.64 
+2.52 0.24 2.65 0.76 1.76 1 2.02 -1.37 2.63 0.74 2.15 -1.89 1.63 0.52 2.52 -0.75 
+1.52 0.87 2.26 -0.24 2.14 1.26 2 1.13 2.52 0.37 2.02 1.15 1.39 2.65 1.26 2.13 
+-0.5 1.88 -1.76 1.39 -1.64 2.02 -1.39 0.63 -3.13 0.5 -2.41 0.63 -1.89 1.02 -2.89 1.5 
+-2.39 0.76 -2.14 -0.11 -1.5 0.37 -2.02 0.5 -1.62 1.39 -1.26 -0.37 -2.02 -1.15 -2.02 -0.11 
+-1.26 -1.91 -1.75 -1 -0.63 -1.76 -1.5 -1.39 -1.89 0.89 -0.26 2.52 -1.63 0.5 -2.52 0.24 
+0.74 2.78 2.02 1.65 S
+1054.55 1466.25 -2.64 0.74 -1.76 -1.63 -3.38 0.63 0.24 2.02 -2.39 -0.63 -2.26 -0.63 0 -2.39 
+-0.89 -2.28 -2 -1.39 1.37 -2.65 0 -2.02 -1.63 -1.37 -0.76 -2.15 0.76 -2.28 0.5 -2.75 
+-2.12 -1.02 0.63 -2.88 -1.15 -2.15 S
+1057.07 1467 1.65 -0.64 1.63 -1.49 2.26 -0.26 1.76 1.52 2.15 0.76 2.64 0.24 0.24 3.14 
+0.76 2.91 -1.52 0.5 -1.5 1.02 1.75 0.63 1.13 2.52 1.89 1.13 -1.63 0.5 -1.75 -1.13 
+-2.78 -1.52 -1.89 -2.64 -2.52 -1.26 -1.76 -2.13 -0.76 -2.28 -1.76 -1.52 S
+1103.88 1476.7 0.87 -1.63 2.02 -0.37 2.64 -2.14 0.87 -1.76 1.25 -2.15 2.91 -2.14 2.75 -1.5 
+2.14 -0.63 S
+1119.36 1464.37 2.39 -1.78 1.89 -1.89 3.02 -1.5 2.52 0.11 -1.52 -1.37 -0.24 -2.28 0.76 -3.02 
+0.61 -1.89 -1.5 -0.76 1.89 -3.04 1.75 -2.63 1.63 -2.54 2.41 -0.11 2.75 0.63 1.26 -1.15 
+3.51 -0.63 2.65 0.13 2.65 2.41 2.25 2.25 3.14 0.89 -0.75 2.02 -2.89 3.14 -2.02 3.64 
+-0.87 3.64 -1.76 -0.23 -1.89 1.88 -1.02 2.39 -2.65 -1.39 -1.26 1.65 -0.62 3.14 2.52 0.24 
+2.28 1.15 0.87 2.89 -2.39 1.02 -2.52 1 -2.25 1.76 -2.02 -1.62 0 -2.39 1.52 -2.02 
+-2.65 2.02 -1.63 2.13 -0.13 2.78 -1.39 1 -2.26 -1.13 -2.78 0.89 -2.13 2.39 -3.02 2.02 
+-2.41 -0.12 -0.63 1.39 S
+1116.45 1481.49 2.28 1.13 1.89 0.39 -2.39 2.26 0.74 2.64 2.15 1.76 2.75 -0.24 1.65 1.39 
+1.75 1 -1.89 0.76 -1.76 2.02 -2.15 2.26 -3.02 1.25 -3.02 0.76 -1.52 -0.89 -2.13 -1 
+-1.75 -0.37 -1.02 -3.41 -1.89 -1.52 -1.37 -1.75 1 -1.26 -1.39 -1.13 0.26 -2.15 -2.78 -0.26 
+0.49 -2.52 0.39 -3.14 0.13 -2.78 S
+1140.37 1497.75 1.88 -2.52 1.39 -1.02 2.13 -3.02 2.02 1.26 2.12 1.39 1.02 -0.63 1.5 2.26 
+-0.24 3.8 -1.89 2.52 1 1.26 0 2.02 -2.26 1 -3.14 1 -1 1.26 -0.62 2.91 
+-0.39 2.25 -0.87 -2.62 -1.39 0.37 -1.25 -2.15 1.25 -1.62 -1.52 0.13 0.75 -2.52 S
+1140.86 1505.05 -1.39 -1.02 -0.63 -1 1.26 -2.28 0.26 -3.02 S
+1179.1 1533.64 2.52 -0.5 2.15 -1 -3.14 4.02 -1.76 1.39 0.5 2.28 -0.26 2.13 1.02 2.78 
+2.52 1.39 0.24 2.02 S
+1182.88 1548.13 2.65 0.5 1 2.39 -0.74 2.78 -0.89 -1.26 0 -1.89 -1.52 -0.89 -0.5 -1.63 S
+1182.88 1548.13 -1.5 -0.89 -2.02 -1.5 -1.39 -2.41 -1.39 -0.87 0.26 -2.91 0.13 -2.39 2.13 -3.53 S
+1182.51 1641.73 1.63 2.13 -1.14 2.78 -1.25 2.52 -3.28 2.41 -2.39 3.15 -1.39 2.88 -2.38 2.41 
+-3.52 3.14 -3.64 2.39 -3.41 1.39 -3.88 1.63 -3.54 1.78 -0.99 -0.89 1.89 -1.13 2.25 -1.02 
+2.91 -1.89 3.02 -1.88 2.89 -1.89 S
+1166.28 1661.63 3.02 -2.65 3.02 -2.78 2.28 -2.13 1.75 -2.14 2.26 -2.15 2.26 -2.26 0.52 -2.52 
+1.13 -3.28 S
+1007.38 1542.08 2.39 -1.26 1.89 -1.76 1.52 -2.02 1.13 0.37 0 1.52 2.15 0.63 0 1.89 
+-0.89 1.76 -1.76 1.39 -2.26 0.26 -1.65 0.89 -1.75 -0.52 -1 -1.76 0.24 -1.39 S
+1017.32 1549.26 1.52 -1 2.25 -0.13 1.13 -2.15 1.39 0.5 0.5 1.26 -1 1.65 -1.75 0.87 
+-1.65 1.39 -1 2.15 -2.13 0.63 -2.28 0.13 1.52 -0.89 1.37 0 1.02 -1.63 -1.63 -0.5 
+0.74 -2.28 S
+1159.48 1085.05 -0.37 -2.39 0 -2.91 0.87 -2.25 -0.24 -3.77 -0.14 -3.28 1.63 -2.65 1.63 -1.75 
+1.89 -1.15 S
+1164.75 1064.89 2.65 0.75 2.52 1.76 2.64 1.25 2.02 -0.24 2.38 3.15 1.26 2.52 1.37 3.02 
+1.26 2.15 0.89 2.52 0.76 2.52 0.87 2.52 1.25 2.52 2.52 5.3 0.75 2.52 1.26 2.65 
+1.26 3.14 1.26 3.17 1.76 3.64 0.76 3.02 0.89 3.67 0.24 2.52 1.52 1.63 0.63 2.65 
+0.11 4.9 1.89 -2.12 2.02 3.38 -0.24 2.91 -0.39 4.41 -1.13 3.41 -0.26 3.41 -1.12 2.75 
+-1.5 2.65 -2.39 -2.89 -0.13 -3.04 -0.49 -2.64 -2.29 -1.37 -2.64 -1.02 0.26 -2.89 -1.89 -1.78 
+0.26 -2.52 -2.28 -0.37 -2.39 -3.28 -2.26 -1.89 -2.78 -1.89 -2.75 -1.52 -2.78 -1.89 -2.13 -0.37 
+-1.76 -4.66 S
+1168.42 1114.91 -2.14 -3.15 0.13 -3.28 0.87 -3.27 -0.24 -2.52 0.87 -3.14 -0.74 -2.52 -2.15 -3.17 
+-1.12 -2.62 -2.15 -2.54 -2.25 -3.64 S
+1221.38 1099.66 0.39 -2 2.13 0.37 0.5 1.13 -1 1.25 -2.02 -0.75 S
+1232.57 1104.58 2.15 0.37 0.24 2.14 -1 0.76 -1.39 -3.28 S
+1204.14 1303.5 1.75 -0.5 2.02 0.74 2.02 2.41 -2.02 -0.26 -2.52 -0.37 -1.26 -2.02 S
+1208.42 934.27 -0.76 -2.52 -2.75 -2.41 2.75 0.89 0.39 -1.12 1.63 1.39 1.39 -0.13 2.13 2.02 
+-2.39 -0.39 -1.39 -0.37 0 1.5 0.26 2.02 -1.26 -0.87 S
+1360.53 1408.05 2 -5.55 1.78 -5.66 S
+1397 1340.91 2.52 -0.63 S
+1404.17 1334.09 1.65 -1.5 2.13 -2.02 S
+1407.95 1330.58 -0.76 3.28 -2.52 2.38 -0.5 -2.14 S
+1413.11 1320.25 1 -3.78 1.26 -1.26 1.02 1.63 -2.52 4.8 -0.76 -1.39 S
+1327.43 1332.46 1.13 -3.9 1.13 -2.65 1.89 -4.16 1.64 -2.13 1.76 1 2.02 2.78 1 3.28 
+-0.26 3.91 -1.13 4.03 -2.12 1.89 -2.02 2.75 -2.25 2.52 -2.28 2.41 -3.02 0.63 1.52 -2.28 
+-0.13 -3.39 0.76 -3.66 0.37 -3.02 S
+1372.09 1511.35 1.88 -2.78 2.13 -2.39 1.79 0.63 0.63 1.88 -0.52 4.04 -1.26 3.64 -2.26 4.17 
+-1.25 3.78 -1.63 2.13 -0.63 -2.39 -0.5 -2.25 -0.13 -2.54 1.13 -4.41 0.63 -3.52 S
+1354.47 1594.75 2.91 -2.91 3.52 -2.52 0.76 0.89 2.52 -1.65 -3.54 4.3 S
+1360.63 1592.86 -2.75 4.27 -3.02 3.78 -3.64 4.17 -3.28 4.14 -3.15 2.78 -0.75 -1.02 1.89 -3.91 
+2.78 -4.14 2.63 -3.54 3.15 -4.64 S
+1278.86 1688.34 2.78 -0.52 -1 2.14 -2.52 1.65 1.63 0.11 2.89 -1.5 2.65 -2.52 2.78 -1.52 
+2.88 -1.52 -0.26 2.41 -3.88 4.41 -3.66 2.13 -4.14 3.04 -3.52 2.76 -2.25 0 -2.65 0.89 
+1.39 -2.52 -1.25 0 1.88 -2.91 3.25 -3.14 3.02 -3.39 S
+1270.45 1702.95 3.02 -0.63 -0.24 2.02 -2.78 1.89 -2.26 1.63 -2.78 3.14 0.76 0.89 -3.14 2.28 
+-2.89 2.52 -2.02 0.5 0.5 -2.15 2.15 -2.75 3.01 -2.28 1 -2.25 2.78 -1.91 2.89 -2.89 S
+1267.79 1699.04 2.91 -1.25 S
+1270.71 1697.79 -2.15 3.14 -0.89 2.28 -3.13 2.75 -2.41 3.15 -2.89 3.41 -1.89 2.39 -3.52 3.54 
+-0.89 2.02 -1.89 2.89 4.04 -2.76 2.75 -1.15 2.15 0.13 -0.62 1.52 -4.91 3.52 -4.91 4.04 
+-1.52 -0.5 -3.14 2.15 1.02 1.5 -3.15 4.17 -5.8 4.14 2.76 -0.24 -5.64 2.64 -2.02 2.52 
+-2.78 1.63 4.41 -1.5 -4.27 3.38 -2.65 1.02 -3.14 2.13 -2.13 -0.11 -4.27 1.39 -2.78 1.5 
+-4.28 1.25 -3.02 0.26 -2.39 1 -1.76 2.02 -2.78 0.5 -3.64 1.78 -4.28 1 -2.64 -0.26 
+-1.26 -1.13 -2.39 0 -2.52 0.63 1.39 -2.26 2.52 -0.62 -1.39 1.39 1.65 -0.26 1.76 -1.76 
+-0.26 -1.15 4.54 -1.88 S
+1193.71 1754.97 2.25 -0.37 2.78 -0.5 3.39 -0.5 3.41 -1.39 4.28 -2.02 4.01 -1.52 3.65 -2.78 
+3.77 -1.76 3.28 -2.39 3.52 -3.15 3.78 -3.28 -2.26 0.63 -3.41 1.63 3.14 -2.52 3.28 -1.25 
+4.04 -2.39 3.52 -2.38 2.75 -1.02 2.41 -2.02 -0.39 -1.39 2.52 -3.15 2.78 -3.52 2.89 -3.91 
+1.52 -2.52 4.14 -3.14 3.64 -3.54 2.89 -2.78 2.52 -3.02 S
+1181.88 1755.99 2.52 -0.63 0.63 0.76 3.77 -0.52 -3.64 2.4 -3.41 2.52 0 -1.52 0.63 -1.62 
+-2.02 0.5 -1.36 1.39 0.11 0.87 -2.76 1.79 -2.64 2.12 -0.76 2.52 -1.62 2.91 -2.52 0.37 
+-3.64 1.52 -4.28 2.02 -2.28 2.26 -4.14 2.28 -3.91 1.76 S
+1150.54 1779.67 3.28 -2.15 -1.5 0 0.11 -0.87 -4.64 1.13 5.03 -2.39 1.76 -1.89 1.5 -2.28 
+0.52 -2.02 -0.14 -1.26 -1.25 -1.26 -0.39 -1.39 3.28 -1.63 2.15 0.89 2.88 -0.52 2.52 -0.37 
+3.02 -1.39 1.76 0.13 1.89 -0.39 2.02 -2 1.25 -1.65 1.76 0.13 4.54 -2.52 S
+1331.08 1649.02 -2.39 2.15 -1.75 2.65 -1.76 1.64 S
+1313.98 1667.69 -2.52 2.88 S
+1149.54 1778.41 -3.02 1.26 -3.14 1.13 S
+1139.34 1783.45 -4.77 2.02 -5.17 2.15 -5.64 1.89 3.89 -1.52 1.52 -1.39 4.28 -1.63 5.9 -1.52 S
+1119.49 1791.64 -2.15 1 -6.16 1.63 3.52 -1.37 4.79 -1.26 S
+1101.73 1797.44 -3.91 0.87 S
+1067.41 1801.34 1.23 0.5 -4.27 1.26 S
+1064.37 1803.11 -2.63 0 -1.15 -0.5 3.54 -0.39 3.28 -0.87 S
+1112.93 1748.54 0.63 1.02 -4.01 1.13 0.63 -1.63 2.75 -0.52 S
+997.96 1794.92 -5.79 0 0 -1.02 2.88 -0.12 2.91 1.15 S
+1107.77 1761.92 3.15 0.73 3.54 -0.11 3.02 0.37 0.75 1.13 2.26 0.52 3.27 0 2.63 0.5 
+3.14 0.24 2.78 -0.11 2.65 -0.52 0.87 0.63 2.39 0.76 3.28 -0.5 3.64 0 3.52 -0.89 
+3.14 0.89 -4.14 0.89 -2.76 1.26 -1.26 1.39 0.37 1.49 -3.15 0 0.38 -1.26 -1.63 -0.37 
+-0.26 -1.15 -1.37 -0.63 -3.28 0.13 -3.52 0.63 -2.41 0.13 -2.75 1.02 -2.02 1.49 -0.87 2.02 
+-1.78 -0.75 -2 -1.13 -1.88 -1.13 S
+1117.47 1769.59 -2.29 -0.89 -2.38 -0.76 -1.89 -1.13 -3.26 -0.26 -2.91 -0.37 -2.38 -0.89 -2.52 -0.74 
+-1.13 -1.02 2.02 -1 1.5 1 2.39 -0.37 3.14 -1.25 S
+922.22 1755.23 3.38 1.63 -0.37 1.15 -3.02 -0.62 S
+922.22 1757.38 -2.15 0.37 -4.53 -1.13 2.28 -1.39 4.41 0 S
+1000.21 1725.37 -0.26 1.65 -2.76 2.13 -1.65 -0.87 0 -2.28 2.41 -1 2.25 0.37 S
+997.07 1723.11 1.39 1 -1.39 0.5 -1.26 -0.74 1.26 -0.76 S
+981.34 1724.87 1.02 2.14 -1.89 2.65 -2.02 0.87 -2.52 -1 2.15 -1.76 2.63 -1.78 0.63 -1.13 S
+995.95 1717.82 1.49 2.02 -1.26 1.39 -2.52 0.76 -3.02 0.87 -0.37 1.26 -3.02 0.26 -3.02 -0.13 S
+984.25 1724.24 -1.13 -0.75 0.74 -1.26 1.02 -0.63 0.11 -2.02 3.41 0.39 0.5 -2.91 3.14 -0.62 
+3.91 1.39 S
+1005.12 1676.63 -2.02 1.75 -0.37 2.02 -1.52 1.75 -3.52 0 -2.02 -1 -1.39 -1.39 1.39 -0.89 
+3.02 -0.76 3.54 -0.87 2.89 -0.62 S
+990.54 1670.83 2.88 0.13 1.13 1.63 2.88 0.37 1.02 1.78 1 1.39 -0.63 1.37 -2.88 -0.24 
+-3.02 0.76 -2.15 -0.76 -1 -1.25 -2.15 -0.39 -1.76 0.52 -1.75 -0.76 -1.63 -0.52 2.38 -1.89 
+2.89 -0.63 2.78 -1.5 S
+1014.7 1610.61 3.51 -0.5 3.02 -0.39 2.89 0.89 2.52 1.39 0.26 1.52 -3.52 -0.13 -2.78 1 
+-2.78 1.65 -2.39 2 -1.36 2.15 -1.02 2.38 S
+1013.04 1622.57 -1.26 2.29 -1.26 2.38 -1 2.52 -1.39 2.29 -0.37 2.52 -0.49 2.52 0.37 2.15 
+-0.13 2.39 -0.37 2.15 -2.78 1.63 -1.89 -0.63 0.26 -2.39 1.26 -1.65 -0.64 -2.39 -1.64 -1.76 
+0.13 -2.78 0.76 -2.15 0.63 -1.37 -0.5 -2.54 1.63 -1.13 2.02 -2.88 0.76 -2.65 2.25 -0.76 
+-0.13 -1.89 1.39 -2.78 2.02 -1 -0.26 -2.02 2.29 -2.02 S
+1022.75 1595.88 1.36 2.02 -1 1.76 -3.28 0.13 0.39 -2.02 2.52 -1.89 S
+976.82 1645.5 1.13 1.14 -0.75 1.88 S
+977.2 1648.52 1.88 1.15 -0.26 0.87 -2.62 1.26 S
+976.2 1651.8 1.37 0.76 -0.37 1.26 -2.76 0.76 0.61 -1.76 1.15 -1.02 S
+976.2 1651.8 -0.63 -2.02 S
+975.57 1649.79 1.63 -1.26 S
+977.2 1648.52 -1.26 -1.13 0.89 -1.89 S
+972.03 1646.77 2.28 0.63 0.37 1.76 -1.63 0.26 -1.12 1.63 -2.52 1.15 0.74 -2.15 2.02 -1.26 
+-1 -0.89 0.87 -1.13 S
+974.04 1644.25 1.13 1.25 -1.75 0.14 0.63 -1.39 S
+966 1640.84 1.52 0 1.13 0.76 1.13 -1 1.75 0.37 0.89 1.13 -1.39 1.02 -0.5 1.5 
+-1.13 0 -0.62 -2.02 -0.89 0.63 -1.52 0.13 -0.36 -2.52 S
+934.92 1626.48 0.5 -2 1.52 -2.91 2.52 -2.15 2.52 0.39 -1.52 -1.64 1.13 -2.02 2.41 -2.13 
+3.38 -2.14 -0.37 2.52 0.13 2.64 0.11 2.78 -0.74 1.89 1.13 1.39 1.5 -2.02 1.76 -1.02 
+0 -2.64 2.91 -0.24 S
+953.8 1617.17 1.49 3.14 -2.88 1 -2.02 1.25 -1.63 1.79 -3.64 0.86 -1.39 2.52 3.28 -1.26 
+3.64 0.13 1.39 1.75 0.24 2.41 -0.87 1.39 -2.41 -0.26 -2.38 0.26 -1.37 -1.65 -1.79 1.26 
+-1.62 -1.63 0.63 -1.52 -2.02 0.13 -0.37 -1.89 -2.15 0.5 -3.02 -0.89 S
+901.21 1536.16 1.37 -0.5 1.78 1.89 -2.52 -0.24 -0.63 -1.15 S
+917.55 1525.71 0.89 1 0 -2.28 S
+912.16 1520.16 1.52 -1.26 S
+899.07 1512.21 2.78 2.15 1 2.64 -2.78 -1.62 -0.11 -1.79 -0.89 -1.39 S
+954.93 1501.52 1.39 -2.14 2.13 0.26 -0.13 1.76 -1.76 0.89 -1.62 -0.76 S
+959.2 1503.14 1 -2.52 1.89 -0.24 1.89 1 -1 1.02 1.13 1.37 S
+964.11 1503.78 -0.87 2.02 -2.02 -1.26 -2.02 -1.39 S
+959.57 1498.5 1.39 -1.25 1.65 0.74 0.63 0.89 -1.78 0.39 -1.89 -0.76 S
+979.71 1515.75 1.13 -2.15 1.25 1.26 -0.63 2.28 0.89 1.39 -2.02 -1.15 -0.63 -1.63 S
+989.91 1522.18 1.37 -1 1.13 1.37 1.15 1.39 -2.78 0 -0.87 -1.76 S
+990.41 1525.33 0.5 -0.76 1.5 1.02 -1.87 0.88 -0.13 -1.13 S
+901.21 1471.42 1.89 -0.52 2.25 1.65 3.02 -0.89 0.76 2.15 2.52 0.5 2.75 -1 2.52 1.26 
+2.78 -0.39 2.75 0 3.14 0.89 1.76 2.25 -3.02 0.39 1.52 2.39 2.02 1.39 0.86 2.28 
+-0.86 1.76 -2.15 0.87 -1.52 0 -1.12 -1.37 -0.87 0.87 1.13 1.39 S
+923.35 1487.29 -0.5 1.89 -0.89 1.26 -0.63 1.76 -0.87 2.41 -2.28 0.87 -1.13 2.28 -0.5 2.64 
+-1.02 1.76 -2.25 1 -2.13 0 1.63 1.39 1.52 1.78 1.13 2.13 0.88 1.78 -0.24 1.89 
+-2.65 0 -2.15 0.11 -2.38 -0.36 1.13 2.15 2.78 1.75 -0.5 1.26 -2.91 -0.26 -2.89 0 
+-1.13 -2.12 -1.52 -1.65 -0.37 -1.75 -1.52 0.89 -1.14 -0.76 1.14 -1.39 2.14 -0.13 -1.52 -2.65 
+-0.11 -1.89 1.89 0.89 -0.39 -2.28 -2.39 -1.63 2.02 -0.13 -0.26 -1.76 1.88 2.13 1.26 -1.89 
+-1.63 -3.02 1 -1.89 2.64 0.89 2.65 0.73 -1.26 -2.26 1.37 -1.75 1.65 0 -1.25 -2.28 
+0 -2.26 -2.15 -0.39 S
+909.5 1488.41 -3.14 0.52 0.5 -1.39 -1.37 -1.78 2.13 0 -0.13 -2.76 -1.87 -0.89 -2.15 -1.26 
+0.5 -1.39 2.39 0.39 1.89 -0.52 1.76 -1.39 2.41 1.29 -1.25 -2.28 -1.89 0.13 -2.15 0 
+-1.63 -2.15 -2.02 -1.75 -2.26 -1.76 S
+884.98 1483.88 0.63 -2.26 1.63 -1.52 3.02 0.13 2.91 0.76 2.88 1.63 3.28 0.26 0.74 2.25 
+0.89 2.28 -0.14 2.65 -0.36 2.39 2.52 1.65 -0.39 2.75 -1 1.75 -2.25 0.65 -2.52 0.63 
+-2.52 -0.76 -1.76 -2.15 1.63 -1 -1.25 -1.26 -2.02 0.11 -2.25 0.13 -1.13 -1.62 1.63 -1.15 
+-2.02 -1.12 1.52 -2.02 1.76 -0.11 -2.02 -2.54 -1.26 -2.63 -2.12 0.11 S
+958.94 1430.34 -0.11 -2.39 0.5 -1.75 2.38 -2.15 0.38 2.78 0.63 1.89 -0.5 1.89 -0.36 2.78 
+-0.89 -1.91 -2.02 -1.12 S
+957.68 1421.4 0.13 -1.89 1.26 -2.15 0.26 -2.89 -0.13 -2.78 2.02 -1.76 1.25 2.02 1.89 0.13 
+0.5 2.25 0.13 2.39 -0.26 2.41 -0.5 2.26 -2.14 2.14 -1.89 -2.02 -1.37 -0.5 -1.15 0.37 S
+977.69 1406.04 1.76 -2.15 1.52 0.13 3.28 -1.52 2.39 -0.24 1.63 -1.78 3.14 -0.11 0.5 1.89 
+-1 1.76 0.26 2.91 1.13 2.52 -2.78 -1.25 -3.28 -0.76 -2.62 -0.26 -2.02 0.76 -2.15 -0.26 
+-1.76 -1.62 S
+1016.69 1409.94 2.52 -1.52 0.26 -2.39 1 -1.26 1.76 0.24 1.52 -1.63 1.13 2.15 S
+1024.87 1405.54 2.26 -1.52 -1.87 3.02 -1.15 2.28 2.28 -0.13 -2.15 2.52 -2.52 1.02 -2.39 0.63 
+-2.02 -1.39 -0.63 -2.02 S
+1030.54 1397.33 2.25 0.39 2.39 -0.13 1.65 -0.76 3.02 0.76 2.88 0.76 0 1.63 -1.99 -1.39 
+-0.39 1.52 -2.52 -0.76 -2.02 0.39 -2.12 -0.89 -0.5 0.89 -2.78 0 0.13 -2.41 S
+1069.54 1404.51 1.39 -1.62 2.64 0.13 2 1.13 0.39 1.5 1.75 0.39 -1.13 1.25 1.76 3.02 
+-2.26 -1.62 -2.02 -1.02 -1.65 -1 -0.74 -1.12 -2.14 -1.02 S
+932.16 1412.96 2.13 -0.37 1.65 -1.26 1.37 2.25 -2.25 1.26 -2.89 -1.89 S
+1047.63 1406.4 0.89 -1.49 1.13 1.39 0.13 2.26 -2.15 -2.15 S
+1035.94 1421.89 1.02 0.76 0.37 -1.39 S
+1037.07 1417.99 0.39 -1.37 S
+796.03 1420.77 1.89 -1.39 S
+807.09 1413.98 2.78 -0.63 S
+838.67 1354.25 0.89 -2.02 1.39 0.89 1.13 2.26 -1.76 -1 -1.65 -0.13 S
+843.46 1351.87 0.5 -1.52 1.76 0.39 -0.13 1.37 -1.37 0.63 -0.76 -0.87 S
+851.13 1351.61 2.28 0.76 0.24 3.28 S
+853.64 1355.64 1.76 0.37 0.52 1.39 -1.25 -0.5 -1.02 -1.25 S
+853.64 1355.64 -2.25 -2.65 -0.26 -1.39 S
+970.66 1209.39 1.37 -0.39 1.02 1.89 -1.52 0.89 -0.87 -2.39 S
+1418.88 1031.88 0.26 -1 0.13 -0.89 -0.89 -2.75 -1 -2.64 0.13 -1.13 0.24 -1.02 0.52 -0.26 
+0.5 -0.11 1.25 -0.52 0.63 -0.24 0.5 -0.13 S
+1421.16 1021.18 1 1.13 1.02 1.25 1.36 1.65 1.39 1.5 0.39 -0.11 0.5 -0.13 1.5 2.14 
+1.52 2.13 0.63 0.26 0.5 0.37 1 0.26 0.89 0.24 0.63 -0.24 0.5 -0.26 0.63 -0.24 
+0.5 -0.26 0.64 -0.37 0.63 -0.26 0.5 -0.26 0.39 -0.24 0.5 -0.25 0.37 -0.24 1.39 1.63 
+1.39 1.76 1.63 2.9 1.52 2.89 1.13 0.63 1.13 0.76 0.89 0.63 0.87 0.76 1.52 1.75 
+1.63 1.79 0.76 0.74 0.89 0.76 0.37 -0.76 0.26 -0.87 0.74 0.24 0.75 0.13 0.63 0.39 
+0.76 0.24 1.26 1.26 1.13 1.25 0.89 0.76 0.87 0.76 0.76 0.25 0.76 0.24 0.5 -0.36 
+0.5 -0.39 0.39 -0.37 S
+1463.43 1049.02 0.37 -0.26 0.37 -0.37 0.39 -0.26 -0.26 -1.49 -0.13 -1.52 -0.63 -2.02 -0.5 -1.89 
+0.39 -0.5 0.37 -0.5 -0.26 -1.65 -0.24 -1.63 -0.26 -1.52 -0.37 -1.52 -0.63 -2.12 -0.76 -2.15 
+-1.5 -2.65 -1.65 -2.78 -1.26 -4.77 -1.89 -3.54 -1.75 -3.64 -1.63 -3.14 -1.52 -3.15 -1.63 -3.04 
+-1.65 -2.88 -3.26 -6.3 3.52 5.04 1.39 1.63 1.5 1.78 2.78 3.51 1.13 1.13 1.13 1.02 
+2.15 3.28 2.02 3.28 1.37 1.99 1.52 2.02 -3.02 -5.53 -3.02 -5.42 -1.78 -2.65 -1.87 -2.38 
+-2.02 -3.41 -2.14 -3.38 -1.39 -2.15 -1.37 -2.28 -0.76 -0.5 -0.76 -0.62 S
+1443.92 990.06 -1.13 -1.5 -1.12 -1.64 0.76 0 0 -1.26 1.86 2.65 1.78 2.64 2.26 3.15 
+2.15 3.4 -1.78 -3.54 -1.89 -3.4 -1.37 -2.52 -1.52 -2.65 -1.89 -2.63 -1.89 -2.64 -1 -1.26 
+-1.12 -1.39 0.37 -0.39 0.26 -0.5 -1.65 -3.14 -1.63 -3.15 -4.03 -6.81 -2.13 -3.28 -2.15 -3.25 
+-1.13 -1.26 -1.13 -1.39 -1.62 -2.52 -1.78 -2.54 -1.76 -2.75 -1.89 -2.91 -1.89 -2.89 -1.88 -3.04 
+-0.74 -1.49 -0.76 -1.52 -1.89 -2.78 -2.02 -2.64 0.63 0.39 0.63 0.37 -0.76 -1.5 -0.74 -1.65 
+-0.89 -1.49 -0.89 -1.39 -1.62 -2.52 -1.76 -2.64 -1.39 -1.89 -1.25 -2.02 1.25 0.99 S
+1401.78 915.86 1.39 0.89 0.87 0.63 1.02 0.63 1.89 1.89 1.89 1.76 -3.4 -4.27 -3.65 -4.41 
+0.37 -0.13 0.39 -0.13 -2.52 -2.88 -2.52 -2.91 -2.02 -2.78 -2.02 -2.64 -2.12 -2.76 -2.14 -2.64 
+2.41 2.13 2.39 2.14 0.87 0.5 0.89 0.52 2.26 1.26 0.5 0.11 0.39 0.14 -0.39 -1 
+-0.5 -1.02 -1.12 -2 -1.13 -2.02 0.63 0.24 0.63 0.26 2.39 2.52 2.52 2.64 2.64 3.02 
+2.63 3.14 2.91 3.15 2.75 3.17 3.02 3.52 3.02 3.54 2.65 2.88 2.52 2.91 S
+1424.04 927.84 1.65 1.89 1.75 1.88 3.26 4.04 3.28 4.02 1.76 2.28 1.88 2.26 1.76 2.41 
+1.52 1.99 1.52 2.02 S
+1442.43 950.63 1.63 2.02 1.39 1.76 1.37 1.78 1.39 1.89 1.89 1.89 1.52 2.02 1.5 2.02 
+1.52 2.12 1.5 2.02 1.39 2.02 1.52 2.15 1.5 2.25 1.64 2.41 1.5 2.39 1.89 2.89 
+1.89 3.04 1.88 3.02 1.63 2.78 1.79 2.88 1.63 2.78 2.02 3.52 2.13 3.54 2.15 3.53 
+1.75 3.39 3.78 6.81 1.76 3.52 1.89 3.41 1.76 3.54 1.13 2.13 1.15 2.15 1.13 2.14 
+1.75 4.14 1.89 4.04 1.75 4.04 2.15 4.77 1.99 4.8 2.02 4.9 1.63 4.04 1.64 4.17 
+1.63 4.14 3.52 9.33 1.78 4.64 1.13 3.41 1.25 3.27 1.13 3.41 S
+1520.29 1097.53 1.63 4.91 1.52 4.92 1.5 4.91 1.15 3.64 1 3.54 1 3.64 1.15 4.41 
+0.99 4.3 1.13 4.27 1 4.28 0.89 4.17 1 4.27 0.13 1.52 0.25 1.52 0.13 1.5 
+0.5 2.78 0.63 2.78 0.5 2.75 1.89 9.83 0.86 3.91 1.52 7.82 0.26 2.02 0.11 2.02 
+0.26 1.89 0.25 2.65 0.24 2.64 0.39 2.65 -0.63 -2.65 -0.52 -2.64 -0.63 -2.65 0.63 3.78 
+0.52 3.77 0.5 3.78 0.5 3.8 0.5 3.77 0.5 3.65 0.52 5.03 0.24 2.52 0.13 1.78 
+0 1.76 0.13 1.63 0.5 4.54 0.5 4.66 -0.12 2.28 -0.11 2.39 S
+1545.33 1238.24 0 10.46 0.11 4.01 -0.37 0.39 -0.26 0.37 -0.24 2.78 -0.26 2.78 0.13 3.28 
+0.13 3.26 -0.13 3.16 0 3.02 0.26 5.29 0.11 5.17 0 9.83 -0.24 2.89 -0.13 2.78 
+-0.37 3.64 -0.26 3.41 -0.13 5.79 -0.24 5.54 -0.26 4.54 -0.37 4.53 -0.26 4.8 -0.37 4.77 
+-0.52 2.15 -0.5 2.14 -1 4.78 -0.13 -2.75 -0.26 -2.78 -0.24 0.89 -0.39 0.74 -0.62 4.79 
+-0.63 4.91 -0.37 4.41 -0.5 4.43 -0.76 4.54 -0.87 4.4 -1.52 7.3 -0.63 3.91 -0.76 3.79 
+-0.87 4.78 -1.02 4.66 -0.5 0.89 -0.5 0.87 0.37 -4.41 S
+1529.97 1389.15 0.49 -4.54 0.76 -4.79 0.76 -4.77 0.26 -3.78 0.24 -3.66 0.5 -4.14 0.63 -4.3 
+0.26 -2.76 0.37 -2.78 0.52 -5.16 0.37 -5.04 0.37 -4.53 0.26 -4.41 0.37 -4.41 0.26 -4.29 
+0.26 -4.14 0.37 -4.17 0.13 -4.54 0 -4.54 0.13 -4.54 0 -4.53 -0.13 -4.77 -0.26 -4.93 
+-0.24 -4.04 -0.26 -4.14 0 -4.27 -0.13 -4.43 -0.63 -2.89 -0.5 -2.91 -0.5 -1.39 -0.49 -1.37 
+-0.39 2.64 -0.37 2.63 -0.13 3.28 -0.26 3.14 -0.37 0.65 -0.5 0.63 -0.5 1.13 -0.52 1.13 
+-0.37 1.52 -0.26 1.5 -0.36 2.02 -0.37 1.89 -0.76 -1.26 -0.76 -1.13 -0.13 3.65 -0.24 3.67 
+-0.39 0.5 -0.37 0.63 S
+1527.08 1292.41 -0.5 1.89 -0.5 1.76 0.11 3.41 0.13 3.54 0.14 3.02 0.13 2.89 -0.12 3.27 
+-0.26 3.15 -0.11 3.8 -0.26 3.78 1 2.25 -0.24 4.04 -0.26 4.04 0 7.55 -0.62 1.52 
+-0.76 1.37 0.13 -4.64 0 -4.66 -1 5.04 -0.39 -2.39 -0.37 -2.39 -0.62 -0.12 -0.63 0 S
+1522.05 1334.48 -0.63 -0.13 -0.63 0 -1.25 -1.26 -0.64 1.26 -0.75 1.39 -0.74 -0.26 -0.63 -0.37 
+0.5 -2.14 0.63 -2.02 0.13 -4.04 0 -3.91 -0.63 -1.36 -0.76 -1.26 -0.63 -1.39 -0.62 -1.26 
+-0.39 -3.9 -0.5 -3.91 -0.13 -3.28 -0.11 -3.28 0.38 -2.38 0.26 -2.52 S
+1514.89 1298.46 -0.52 -1.52 -0.5 -1.39 -0.13 -3.14 -0.11 -3.02 -0.52 -3.41 -0.37 -3.54 0.5 -1.39 
+0.63 -1.5 -0.13 -3.02 -0.24 -3.17 -0.63 1.39 -0.76 1.26 -0.37 -0.63 -0.5 -0.63 -0.63 -2.88 
+-0.62 -2.91 0 6.56 -0.39 1.65 -0.37 1.63 -0.5 2.14 -0.52 2.02 -0.74 -0.39 -0.63 -0.5 
+-0.39 -2.38 -0.24 -2.52 -0.63 -1.28 -0.63 -1.26 -0.13 -2.39 -0.26 -2.39 -0.87 -1.02 -0.76 -0.87 
+-0.13 -2.78 -0.13 -2.64 -0.73 -3.28 -0.76 -3.28 -0.26 -3.28 -0.12 -3.28 -0.5 -2.88 -0.5 -2.91 
+-0.63 0.76 -0.76 0.89 -0.37 -3.28 -0.39 -3.27 0.39 -1.63 0.24 -1.65 -0.74 -3.52 -0.89 -3.67 
+-0.14 2.41 S
+1496.5 1230.68 -0.12 2.26 0 3.28 -0.11 3.14 -0.76 -3.52 -0.75 -3.54 -0.76 -3.02 -0.87 -2.9 
+0 -2.39 -0.13 -2.38 -0.13 -2.02 -0.13 -1.88 -0.73 -2.91 -0.89 -2.88 -0.76 -3.28 -0.63 -3.28 
+-0.75 -2.28 -0.74 -2.39 -0.89 -2.39 -0.87 -2.28 -0.89 -1 -0.89 -1.02 -0.87 -1.39 -1.02 -1.5 
+-0.87 -0.5 -0.76 -0.52 -0.89 -2.26 -1 -2.14 -0.63 -0.5 -0.75 -0.37 -1 -2.28 -1.13 -2.38 
+-0.76 -0.39 -0.76 -0.37 -0.63 -0.37 -0.76 -0.39 -0.87 -1.25 -0.89 -1.26 -0.87 -1.63 -0.89 -1.78 
+-0.99 -2.52 -0.89 -2.52 -0.87 -1.26 -0.76 -1.13 -2.02 -3.41 -1.76 -4.8 0.37 5.06 -1.62 -4.8 
+-1.52 -4.67 -0.5 -4.14 S
+1458.77 1148.54 -1.12 -4.53 -2.26 -4.93 -1.15 -5.16 -1.26 -6.03 -0.5 -4.3 -0.5 -4.14 -2.02 -6.3 
+0 3.39 0.52 4.17 -2.02 -9.45 0 4.02 -1.26 -5.17 0.13 -3.28 -1.65 -6.92 -0.76 -2.25 
+-0.74 -2.15 -0.39 -2.52 -0.5 -2.64 -0.5 -2.52 -0.5 -2.65 -0.75 -2.28 -0.76 -2.12 -1 -2.78 
+-1.13 -2.65 -1.78 -5.29 -0.74 -2.64 -0.76 -2.63 -0.76 -2.15 -0.86 -2.28 -0.39 -1.76 -0.5 -1.76 
+-1.39 -3.01 -1.49 -3.17 -1.52 -3.02 -1.63 -3.14 -0.76 -1.65 -0.76 -1.76 -0.87 -1.26 -1.02 -1.26 
+-0.63 -0.37 -0.76 -0.26 -1.5 -3.02 -1.65 -3.04 S
+1512.74 1320.62 0.63 1.13 0.63 1.15 0.37 -0.52 0.52 -0.49 S
+1514.89 1321.88 0.24 3.77 0.26 3.91 -0.39 1.26 -0.24 1.39 -0.5 -2.26 -0.52 -2.41 -0.5 0.39 
+-0.5 0.26 0 -7.57 S
+1435.87 978.97 -1.12 -2 -1 -2.02 -0.13 -1.15 0 -1.12 0.99 0.89 1.14 0.87 1.13 2.65 
+1.15 2.78 -0.63 0.63 -1.52 -1.52 S
+1376.24 885.89 -3.02 -2.91 -2.89 -2.89 -3.64 -3.67 -3.78 -3.64 -2.91 -3.02 -2.89 -2.91 -2.13 -2.02 
+-2.02 -1.89 -2.91 -2.65 -2.75 -2.64 -2.52 -2.39 -2.38 -2.26 -2.52 -2.54 -2.39 -2.52 -1.65 -1.89 
+-1.76 -1.89 1.89 1.13 1.75 1.15 1.52 0.87 1.39 0.89 -2.52 -2.39 -2.38 -2.52 2.88 2.39 
+3.02 2.38 2.15 1.65 S
+1343.79 849.74 2.26 1.76 0.63 0.37 0.76 0.52 3.14 2.62 6.3 5.55 3.13 2.89 1.78 1.89 
+1.76 1.89 0.13 0.89 0.24 0.89 0.13 0.63 0 0.63 1 1.5 1.02 1.52 3.14 3.65 
+3.14 3.79 1.89 2.52 2 2.65 S
+1078.84 682.95 -4.9 -1.13 -4.9 -1.15 -4.91 -1 -3.64 -0.76 -3.78 -0.87 -3.64 -0.76 -3.64 -0.63 
+-3.67 -0.76 -3.51 -0.63 -2.13 -0.39 -2.15 -0.24 -2.02 -0.26 -0.13 0.13 -0.11 0.26 0 0.11 
+0.87 0.39 0.89 0.24 0.86 0.39 -3.64 -0.63 -3.52 -0.5 -3.51 -0.52 -3.91 -0.74 -3.77 -0.75 
+-3.9 -0.64 -1.76 -0.39 -1.76 -0.5 -1.76 -0.37 -1.26 -0.26 -1.39 -0.37 S
+1008.14 670.23 -1.26 -0.26 -1.89 -0.5 -1.88 -0.39 -1.89 -0.37 -1.12 -0.26 -1.26 -0.37 -1.26 -0.26 
+2.15 0 1.13 0.13 -0.99 -0.23 -0.89 -0.13 -1 -0.26 -3.28 -0.5 -3.28 -0.37 -3.38 -0.39 
+-2.78 -0.37 -2.76 -0.26 -2.65 -0.26 -2.78 -0.23 -0.24 -0.13 -0.26 -0.13 -0.26 0 -0.24 -0.13 
+-2.02 -0.24 -2.02 -0.13 -2.13 -0.26 -2.15 -0.24 0.39 0 0.24 -0.13 0.39 0 0.24 -0.13 
+-0.76 -0.12 -0.74 -0.24 -0.89 -0.13 -0.87 -0.12 3.26 0.13 3.14 0.26 3.15 0.24 3.28 0.26 
+2.13 0.24 2.15 0.26 2.02 0.26 2.13 0.24 3.28 0.39 3.14 0.5 3.28 0.37 3.15 0.52 
+4.27 0.5 S
+1004.12 666.95 8.55 1 8.55 1.26 4.41 0.76 4.28 0.76 4.41 0.63 1.89 0.26 2.02 0.37 
+1.89 0.26 2 0.24 1.65 0.26 1.63 0.24 1.75 0.26 1.76 0.13 3.28 0.76 3.41 0.63 
+3.38 0.74 3.41 0.76 -2.28 -0.37 -2.12 -0.39 -2.02 -0.24 -2.14 -0.39 2.28 0.52 2.38 0.5 
+2.26 0.37 2.38 0.52 2.29 0.5 2.25 0.63 2.25 0.5 2.41 0.63 S
+1072.31 679.04 1.99 0.37 2.15 0.39 2.25 0.38 2.15 0.5 2.76 0.65 2.64 0.63 2.78 0.74 
+2.75 0.63 1.02 0.26 1 0.13 1 0.24 1.02 0.26 2.76 0.76 2.91 0.76 2.88 0.75 
+2.89 0.88 3.53 1.02 S
+1110.8 688.37 3.65 1 3.51 1.13 3.65 1.15 5.16 1.75 5.14 1.76 5.17 1.89 5.16 1.75 
+5.41 2.02 5.53 2.02 11.07 4.3 -3.38 -1.28 -3.54 -1.36 -3.38 -1.26 -3.41 -1.26 -4.52 -1.52 
+-2.15 -0.76 -2.12 -0.76 -3.54 -1.13 -3.52 -1.25 -3.52 -1.13 -3.54 -1.15 -3.65 -1.26 -3.77 -1.13 
+-3.65 -1.13 -3.51 -1.02 -3.78 -1.13 -3.64 -1 -3.65 -1.02 -3.54 -1 -3.02 -0.76 -2.89 -0.76 
+-2.88 -0.62 -2.91 -0.76 -3.64 -1 -3.52 -0.89 -3.64 -0.86 -3.64 -0.89 S
+1072.31 679.04 0.99 0.25 1.13 0.38 1.02 0.26 1.13 0.36 -2.02 -0.36 -1.89 -0.39 -1.89 -0.5 
+-1.89 -0.37 -1.49 -0.26 S
+1067.41 678.41 -1.65 -0.26 -1.62 -0.24 -1.52 -0.26 0.63 0.26 0.63 0.24 1.26 0.52 -1.13 0 
+-0.5 -0.13 -0.63 0 3.65 1 3.51 0.89 3.41 0.89 1.89 0.63 3.51 1 S
+1138.21 711.42 -1.89 -0.63 -2 -0.63 -2.02 -0.63 -2.52 -1.02 -2.52 -0.86 -2.52 -0.89 -1.13 -0.5 
+-1.26 -0.5 -1.25 -0.52 -1.89 -0.49 -2.02 -0.63 -2.02 -0.5 -2.52 -0.89 -2.49 -0.87 -2.52 -0.76 
+-3.66 -1.12 -3.65 -1.15 -3.64 -1.12 -2.64 -0.87 -2.75 -0.89 -2.65 -0.89 -1.75 -0.75 -3.52 -1.26 
+-1.13 -0.37 -1.15 -0.5 -1.13 -0.5 -0.63 -0.39 -0.63 -0.37 -0.63 -0.39 0.39 -0.13 S
+1078.47 690.37 0.24 -0.11 0.39 -0.12 0.24 -0.13 0.13 -0.13 0.26 -0.13 0 -0.37 -2.52 -0.89 
+-2.64 -0.74 -2.65 -0.89 -1.5 -0.5 -1.52 -0.52 -1.62 -0.63 -3.91 -0.87 -4.01 -1.02 -3.91 -0.87 
+2.65 0.5 2.63 0.5 2.52 0.49 0.39 0 0.37 -0.11 0.37 0 -2.13 -0.62 -2.15 -0.64 
+-2.12 -0.52 -1.13 -0.37 -1.02 -0.5 -1 -0.39 -1.75 -0.5 -1.76 -0.62 -1.78 -0.5 -1.37 -0.39 
+-1.39 -0.5 -1.52 -0.37 1.25 0 1.26 0.13 1.13 0 3.14 0.63 3.15 0.74 3.02 0.63 
+1.52 0.26 1.5 0.26 1.64 0.11 1.63 0.52 1.65 0.5 1.5 0.5 1.89 0.5 1.75 0.52 S
+1071.29 683.21 1.89 0.49 1.75 0.37 1.89 0.26 1.89 0.37 4.17 1.02 8.55 2.25 2.02 0.63 
+2 0.76 1.89 0.63 -1.39 -0.26 -1.26 -0.24 -1.37 -0.26 0 0.5 2.75 0.89 2.65 0.89 
+2.64 0.87 -0.39 0 -0.37 0.13 -0.26 0 0.13 0.26 0.13 0.24 0.13 0.26 2.38 0.89 
+2.26 0.87 2.28 0.89 1.76 0.76 1.76 0.63 1.75 0.75 1.52 0.74 1.63 0.63 1.63 0.76 
+2.38 1.02 2.41 1 2.39 1.02 2.26 0.87 2.39 0.89 2.28 1 0.73 0.5 0.89 0.39 
+0.89 0.5 0.5 0.39 0.37 0.38 0.5 0.36 1.26 0.64 1.13 0.63 1.15 0.63 S
+1139.23 710.39 0 0.39 -0.13 0.13 -0.26 0.11 -0.37 0.26 -0.26 0.13 S
+1110.05 703.23 -2.02 -0.89 -1.89 -0.89 -2.02 -0.76 2.15 0.52 2.13 0.5 2.14 0.63 -0.12 0.26 
+-0.24 0.24 -0.13 0.39 S
+1388.82 1361.18 1.39 -3.39 1.76 -2.41 2.25 -1.89 2.78 -2.13 1.26 0.5 1.88 -2.15 2.26 -1.75 
+1.52 -3.41 2.13 -0.37 2.28 -1.02 0.63 -2.65 1.76 -3.14 1.89 -4.78 2.26 -0.13 1.13 -2.15 
+2.15 -2.13 0.87 -3.16 2.02 -3.78 0.89 -3.14 2.13 -2.89 2.15 -3.67 2.13 -1.25 1.02 -2.26 
+1.89 -2.28 2.76 -2.25 2.02 -1.39 1.89 -3.15 1.26 -0.5 0.24 2.75 1.25 1.26 1.65 -0.87 
+-0.26 4.64 S
+1442.04 1306.25 -0.5 5.43 -0.63 4.53 -1 5.92 0 5.17 -1.26 2.15 -1.65 1.76 -1.5 -1.65 
+-1.12 3.04 -1.52 0.87 -1.63 5.3 -1.78 -2.02 -1.63 1.65 0 4.4 -0.62 3.78 -2.02 2.02 
+-1.25 -1.52 -0.74 4.4 -1.52 -0.63 -2.26 2.65 -1.65 -1.13 -2.62 2.28 -1.39 -2.28 -2.39 2.52 
+-2.15 2.78 -2.25 0.87 -2.02 0.26 -2.15 1.13 -1.99 2.15 -1.76 2.39 -2.02 1.15 -2.28 -1.65 
+-1.89 -2.02 -2.13 1.26 -1.89 -2.02 S
+1442.43 1292.54 1.75 0.76 2 -0.52 0 -2.52 1.65 0.76 1.89 0.89 1.5 -1.02 1.89 1.02 
+1.25 2.02 1.76 1.76 1.39 0.63 1.75 -0.89 1.52 0.89 1.63 0.63 1.39 1.63 S
+1463.8 1298.57 1.63 0 1.52 3.41 1.63 0.13 1.39 -0.39 1.26 0.52 -0.37 4.14 -0.52 5.04 
+-1.49 -0.74 -1.39 -2.52 -1.89 -0.39 -0.63 3.91 -1.26 1.39 -1.5 -1.02 -1.88 -0.24 -1.76 0.63 
+-0.39 -5.79 -1.26 -1.39 -1.63 -0.75 -1.52 -1.63 -1.37 -0.63 -1.15 3.15 -1.62 -0.89 -1.89 0.75 
+-1.13 -0.26 -1.12 -2.88 -2.02 -0.26 -0.25 -5.29 -0.74 -4.02 S
+1470.86 1306.38 1.25 -0.24 1.26 -2.28 1 5.93 -1.39 1.13 -2.13 -4.54 S
+1475.89 1304 1.36 1.63 2.02 0.63 1.26 2.54 0.89 3.25 1 2.28 0.63 1.39 0.63 1.26 
+0.5 1.39 0.63 1.39 S
+1484.81 1319.75 1.52 0 0.63 0.87 0.63 0.89 S
+1487.59 1321.5 1.25 1 0.63 1.39 0.5 1.39 0.63 0.36 0.63 0.52 0.37 1.76 0.39 1.63 S
+1492 1329.55 0.63 2.15 0.5 2.02 0.63 2.26 0.63 2.41 -0.89 -0.63 -1 -0.63 -0.25 -3.78 
+-0.24 -3.8 S
+1492 1329.55 -1.26 1.26 -0.52 -1.37 -0.63 -1.39 -1.37 0 -0.76 -0.13 -0.63 0 -0.5 -1.89 
+-0.5 -1.76 -0.52 -2.28 -0.49 -2.25 S
+1484.81 1319.75 -0.87 0.87 -0.75 0.89 -1.52 -2.15 -1.89 -0.5 1.13 -3.65 -1.25 -0.63 -1.5 -2.02 
+-1.52 0.13 -1 -3.28 0.26 -5.42 S
+1496 1339.89 0.76 2.78 0.76 2.64 -0.89 -0.37 -0.89 -0.39 0.13 -2.26 0.13 -2.4 S
+1498.27 1352 1.26 2.52 -0.11 3.02 -0.26 3.02 -0.5 -2.02 -0.63 -1.89 0.13 -2.39 0.11 -2.26 S
+1484.44 1308.9 0.38 -1.5 0.39 -1.52 0.63 0.89 0.63 0.87 0.61 -0.37 0.52 -0.39 1.25 -2.26 
+0.63 2.26 0.5 2.28 -0.76 1.63 -0.76 1.65 -0.76 0.37 -0.74 0.52 -1.26 -1.78 -0.63 -1.25 
+-0.63 -1.39 S
+1496.64 1314.58 0.49 1.37 0.5 1.39 0.52 1.89 0.5 2.02 0.24 3.66 0.13 3.78 0.26 2.89 
+0.37 3.03 0.39 2 0.37 2.02 0.5 1.89 0.39 2.02 0.24 2.52 0.39 2.52 0 5.55 
+-0.52 -1.02 -0.5 -1.13 -0.37 -1.62 -0.5 -1.52 -0.52 -1.76 S
+1499.52 1346.07 -0.5 -1.65 -0.5 -2.13 -0.5 -2.28 0 -4.77 -0.5 -2.02 -0.39 -2.02 -0.37 -1.76 
+-0.39 -1.65 0 -2.52 -0.11 -2.39 0.11 -4.17 0.26 -4.14 S
+1508.09 1376.04 -0.13 3.14 -0.13 3.28 -0.62 3.17 -0.63 3.14 0.13 -3.03 0.24 -2.89 0.52 -3.41 
+0.63 -3.41 S
+1509.36 1403.88 -0.39 3.91 -0.5 3.91 -0.89 4.28 -0.86 4.29 -1.02 2.65 -0.87 2.75 0.63 -3.38 
+0.5 -3.28 0.76 -3.78 0.76 -3.67 1 -3.78 0.89 -3.91 S
+1435.37 1333.59 1.63 1.02 1.13 -1.25 0.52 -3.91 2.76 -0.39 -0.5 4.67 -1.13 -0.37 -1.25 3.02 
+-1.65 3.52 -1.37 -2.39 -0.13 -3.91 S
+1444.55 1331.71 1.39 0.63 -0.13 5.43 S
+1445.81 1337.76 -2.02 -0.52 0.76 -5.53 S
+1465.56 1313.32 1.39 1.63 1.39 1.76 -1.02 -4.67 -1.75 1.28 S
+1439.78 1372.27 1.63 -4.78 1.39 -2.02 1.13 -4.41 2.02 -1.02 2.02 -3.28 1 -4.41 1.63 -4.67 
+1.26 -5.03 1.76 1.39 1.26 2.52 0.52 2.91 1.63 -6.81 0.99 3.53 1.39 1.89 0.63 3.91 
+2.14 -1.02 1.13 2.78 1.5 -1.89 1.02 -3.67 0.76 3.17 0.74 4.41 0.63 4.41 -0.63 5.53 
+-0.74 7.95 -2.02 3.41 -0.13 5.79 0.13 5.04 -0.63 5.04 -1.52 5.92 -0.99 5.53 -0.5 4.17 
+0.87 2.39 0.89 3.54 -1.75 1.5 -1.76 1.15 -2.14 2.02 -0.63 4.14 -2.02 2.28 -2.12 3.38 
+-0.89 5.3 -1.89 5.66 S
+1449.46 1439.91 0.39 4.8 -2.02 2.02 0.13 3.91 0.11 4.04 -1.75 -0.26 -2.02 0.37 -1.37 -1 
+-1.89 4.27 -2.02 0.39 -1.39 0.87 1.13 -5.17 0.52 -5.27 1.26 -4.43 0.87 -6.92 1.39 -3.52 
+-1.25 -3.16 0 -4.41 0.89 -7.42 0.24 -4.67 0.75 -4.79 -0.13 -5.04 -1 -3.14 -0.89 -2.88 
+1.13 -5.69 1.26 -6.92 -1.5 -1.26 -1.65 -1.62 -1.88 0.23 0 -5.29 1.02 -5.66 S
+1472.75 1377.06 1.89 -6.06 1.13 2.15 1.49 -4.41 1.13 -6.32 0.76 -6.79 1.02 -3.91 0.99 1.63 
+0.5 1.52 0.39 1.39 -0.52 2.39 -0.64 2.52 -0.49 2.78 -0.37 2.78 -0.63 2.64 -0.5 2.65 
+-1.13 5.17 -1.65 4.27 0 5.3 S
+1476.13 1386.76 0.39 0.87 0.5 1.02 0.38 -1.75 0.39 -1.65 0.74 -5.04 0.76 -1.65 0.76 -1.5 
+0.86 -0.26 0.76 -0.24 1.26 -6.55 0.5 0 0.63 0.13 0.13 1.99 0 2.02 0.89 -4.02 
+0.87 -4.04 0.63 -1.13 0.76 -1.02 0.13 2.9 0.13 2.89 -1.26 6.29 -0.89 1.52 -0.87 1.52 
+-0.89 2.02 -1 1.89 -0.76 0.73 -0.89 0.76 -0.14 2.52 0 2.52 -0.86 1.65 -0.76 1.63 
+-0.76 1.15 -0.62 1.13 -1.14 1.52 -0.99 1.63 0.13 2.64 0.11 2.65 -0.11 2.64 -0.13 2.76 
+-0.26 3.17 -0.37 3.14 0.5 1.39 0.5 1.37 -0.87 1.02 -0.76 0.87 -0.26 -2.39 S
+1474.24 1417.49 -0.13 -2.25 -0.24 -2.15 -0.13 -2.02 -0.37 -1.13 -0.52 -1.26 0.52 -6.05 -0.89 -2.39 
+-1.39 3.78 -1.63 0.13 -1.75 5.79 -1.13 6.04 0.37 2.41 0.76 0.76 0.37 2.89 1.02 2.78 
+0.73 2.52 0.39 1.26 0.37 1.26 0.63 0.37 0.63 0.52 0.25 1.63 0.11 1.76 0.13 2.41 
+0.13 2.25 -0.63 3.67 -0.76 3.64 -0.63 2.78 -0.63 2.76 -0.62 0.5 -0.63 0.52 0.26 -1.89 
+0.37 -1.89 0.5 -2.54 0.39 -2.52 0.13 -2.52 0.11 -2.52 -0.37 -1.49 -0.37 -1.65 -0.13 -1.39 
+-0.13 -1.5 -1.25 -0.52 -1 -1.76 -1.13 -2.02 -1.39 -0.87 1.5 -6.82 -1.13 -3.28 0.89 -3.51 S
+1465.82 1413.98 1.39 -5.3 1.5 -4.8 0.39 -4.91 0.73 -4.79 1.65 -5.79 1 -5.8 0.26 -5.53 S
+1473.48 1458.81 1.02 -1.39 0.87 -1.39 0.89 -2 0.89 -1.91 0.74 -2.39 0.89 -2.52 0.87 -1.26 
+1.02 -1.25 0.87 -0.37 0.89 -0.39 -1.13 1.52 -1.12 1.5 -0.89 1.91 -0.89 2 -0.99 2.91 
+-0.87 2.78 0.11 1.5 0.26 1.39 -0.76 1.02 -0.76 1 -0.73 5.04 -1.15 2.52 -1 2.64 
+0.37 -3.02 0.26 -3.02 -1 1.5 -1.02 1.39 -0.76 2.65 -0.87 2.52 0.37 -2.39 0.39 -2.52 
+0.87 -2.41 0.89 -2.25 0.76 -2.65 0.74 -2.64 S
+1487.2 1405.77 0.89 -1.5 0.88 -1.52 0.63 0.37 0.63 0.39 S
+1490.21 1403.52 -0.11 2.26 -0.13 2.28 -0.76 1.76 -0.76 1.88 -1 -1.52 -0.13 -2.26 -0.13 -2.15 S
+1489.84 1416.5 0.76 0.13 0.75 0 0.11 1.63 0.13 1.63 0.5 0.89 0.39 0.76 0.76 1.39 
+0.74 1.26 0.76 0 0.75 -0.13 -0.75 2.39 -0.76 2.41 -0.87 1.5 -0.89 1.52 -0.24 -1.39 
+-0.39 -1.39 -0.63 0.26 -0.63 0.24 -0.24 -2 -0.13 -2.02 -0.5 -1.78 -0.39 -1.76 0.39 -2.78 
+0.37 -2.75 S
+1480.27 1414.34 0.63 1.89 0.52 1.89 S
+1483.94 1429.84 0.5 2.28 0.5 2.26 -0.89 0.25 -1 0.24 0.5 -2.52 0.39 -2.52 S
+1481.04 1462.98 0.63 -0.13 0.76 -0.13 -0.26 2.39 -0.24 2.41 -0.63 -0.13 S
+1481.29 1467.38 -0.76 -0.13 0.26 -2.14 0.24 -2.13 S
+1484.94 1488.67 1.13 -1.26 1.26 -1.25 -0.26 1.89 -0.24 2.02 -1 1.26 -1.02 1.26 0.13 -1.89 
+0 -2.02 S
+1486.2 1453.14 0.5 0.76 0.63 0.76 0.26 0.74 0.37 0.75 0.76 -2.38 0.87 -2.39 0.63 -0.13 
+0.76 -0.26 0.26 3.04 0 3.91 -0.26 2.75 -0.24 2.91 1.13 -3.54 1 -3.41 -0.24 -1.75 
+-0.13 -1.89 0.37 -2.65 0.39 -2.64 -0.39 -1 -0.37 -1.02 0.24 -1.76 0.26 -1.63 0.26 0.5 
+0.37 0.37 0.76 -0.73 0.76 -0.66 0.74 -1.75 0.63 -1.75 0.89 -2.29 0.76 -2.25 0.11 1.13 
+0.26 1.26 -0.76 4.3 -0.87 4.28 S
+1496.89 1444.71 0.74 -0.76 0.89 -0.87 1.26 0 0.63 -0.39 0.63 -0.24 0.37 1.13 0.39 1.25 
+0.5 0.76 0.37 0.87 0.76 0.13 0.63 0.26 0.5 0.63 0.5 0.76 0.52 0 0.63 -0.14 
+0.74 -1.15 0.76 -1.13 1.25 -3.14 1.26 -3.28 1.25 -3.52 1.13 -3.54 1.02 -3.02 1 -3.04 
+0 -4.14 0.63 -3.77 0.63 -3.67 0.89 -5.03 0.73 -5.17 0.26 1.65 0.26 1.76 -0.13 3.41 
+-0.26 3.52 0.26 1.78 0.24 1.76 0 4.77 0.75 -1.63 0.64 -1.75 2.14 -4.3 0.74 -1.26 
+0.39 0.89 0.24 1 0.26 3.04 0.5 0.5 S
+1523.8 1419.64 0.5 0.5 -0.74 7.81 -0.52 2.52 -0.49 2.65 -0.87 2.78 -0.89 2.75 -0.37 2.65 
+-0.39 2.64 -0.49 2.91 -0.64 2.88 -0.99 4.54 -1.02 4.54 0 1.75 -0.11 1.89 0.37 -0.11 
+0.37 -0.14 0.52 0.14 0.5 0.11 0.13 0.89 0.11 1.02 1.25 -3.17 1.26 -3.25 1.02 -2.65 
+0.99 -2.64 0.89 -1.65 0.87 -1.63 0.76 -1.39 0.89 -1.52 0.73 -2.38 0.76 -2.29 0.13 1.15 
+0.13 1.13 0.13 1.39 0.11 1.39 0.13 1.5 0 1.52 0.13 1.13 0.13 1.25 0.74 -2.25 
+0.89 -2.28 -0.37 3.14 -0.52 3.28 -1.13 4.67 -1.26 4.79 0 -3.14 -0.37 -0.13 -0.26 -0.26 S
+1526.82 1460.07 -1 4.3 -1.13 4.14 0.24 -1.76 0.13 -1.65 -0.24 -0.63 -0.26 -0.5 -1.26 4.54 
+-1.25 4.41 0.5 -3.38 0.49 -3.54 -1.25 3.14 -1.24 3.02 -1.65 4.8 -1.62 4.66 -0.5 0 
+-0.52 0.13 -1.26 2.13 -1.13 2.02 -1.13 2.78 -1.13 2.65 -1 4.77 -0.52 2.41 -0.5 2.39 
+-1.63 4.16 -1.52 3.88 -0.76 1.02 -0.87 0.89 0.76 -3.28 0.63 -3.14 -0.63 0.11 -0.63 0.26 
+0 -1.52 0.11 -1.39 -1.75 4.29 -1.76 4.28 -1.13 1.75 -1.12 1.79 -0.5 0 -0.39 0.11 
+-0.76 0.26 -0.63 0.26 -1 -0.52 -0.36 -0.24 -0.5 -0.39 0 -2.62 -0.39 -0.63 S
+1494.75 1510.22 -0.5 -0.63 -0.26 -0.52 -0.24 -0.62 -0.26 -0.76 -0.24 -0.74 -0.26 -0.76 -0.26 -0.89 
+-0.99 -1 0.13 -1.64 0.14 -1.5 -0.26 -0.89 -0.37 -0.76 -0.26 -0.76 -0.37 -0.75 S
+1490.73 1497.98 -1.39 0 -0.63 -0.24 -0.5 -0.26 0.74 -3.91 0.63 -3.78 1.15 -3.28 1 -3.41 
+0.26 -2.26 0.11 -2.15 1.02 -3.91 0.87 -3.91 0.76 -2.89 0.75 -2.91 0.88 -3.28 0.89 -3.38 
+-0.26 -2.52 -0.74 0.74 -0.76 0.63 -1.12 2.54 -1.13 2.52 -0.52 -0.26 -0.37 -0.37 -1.12 2.52 
+-1.13 2.39 -1.15 3.41 -1 3.52 -1.63 2.91 -1.52 3.02 -0.13 -2.15 0 -2.12 -0.87 0.63 S
+1483.81 1475.82 -0.89 0.63 -0.13 -2.15 -0.11 -2.02 0.74 -2.89 0.63 -2.9 0.13 -2.65 0.26 -2.64 
+0.87 -4.02 0.89 -4.04 S
+1396.75 1545.75 3.14 -3.67 2.15 -2.52 2.75 -3.14 1.89 0.26 -1.75 2.89 1.39 0 1.63 -4.14 
+2.25 -3.17 1.02 1.89 -1.63 5.29 1.37 0.5 3.27 -1.63 -2.26 3.14 -1.78 2.02 1.39 1 
+3.14 -2.52 0.89 1.15 -0.49 2.64 -2.15 0.63 -1.89 1.63 -0.5 2.52 -1.26 -1.52 -1 -1.13 
+0 -1.89 1.37 -3.64 -1 -1.26 -2.64 2.76 -3.64 3.53 -2.65 4.41 -2.39 5.3 -2.25 4.8 
+-2.88 4.27 -1.89 0.5 -2.78 3.41 -3.39 4.66 1.5 -3.9 -0.37 -1.78 -1.39 -0.64 0.5 -2.75 S
+1384.42 1565.64 2.89 -4.29 2.28 -3.78 2.26 -1.89 3.28 -4.9 2.65 -3.54 -1.02 -1.5 S
+1432.23 1472.42 -0.5 6.05 -1.12 4.02 -1.15 4.8 -2 5.43 -0.39 3.01 -1.5 6.05 -3.65 5.04 
+3.25 -7.68 1.89 -6.19 1.13 -4.4 1.26 -5.93 1.02 -4.91 1.76 -5.29 S
+1411.71 1528.47 2.26 -1.39 2.64 -2.89 1.76 -1.13 -1.5 4.78 -2.52 3.77 -1.89 0.63 -0.5 -1.63 
+-0.26 -2.15 S
+1417.38 1543.46 2.76 -2.88 1.26 1 2.28 -4.41 -0.5 -1.64 3.14 -4.64 0.5 1.26 3.02 -4.8 
+-0.39 3.64 -2.25 1.89 -2.13 3.28 0 4.03 -3.28 3.65 -2.15 3.27 -2.26 1.79 0.5 -3.67 
+-0.5 -1.76 S
+1427.06 1514 -0.13 3.91 1.02 0.49 S
+1427.95 1518.4 2.13 -3.4 1.02 -4.27 2.12 -2.15 1.78 -0.89 -1.02 3.91 -2.52 3.28 0.89 0.52 
+-1.52 4.14 1.75 -1.39 -0.37 3.67 -2.02 3.38 -0.63 -2.13 -2.02 3.28 -2.63 4.02 2.13 -4.28 
+1.13 -4.27 -2.12 3.64 -0.5 -1.65 -3.02 5.17 -0.13 -3.39 -1.39 1.5 -0.5 -2.52 2.13 -2.39 
+2.41 -4.41 2 -3.77 S
+1442.79 1486.52 1.63 -2.52 -1.75 4.67 -1.76 4.91 -0.13 2.52 2.02 -3.02 -0.12 2.52 -1.39 4.8 
+1.15 0.87 1.25 -0.74 1.37 -4.3 2.65 -5.16 1.39 -0.37 1.49 0.13 0.13 0.87 0 1.02 
+0.89 -0.63 0.87 -0.52 -1 3.17 -1.13 3.26 -0.75 1.02 -0.89 1 -0.87 0.76 -0.89 0.75 S
+1446.94 1501.52 -1.12 3.28 -0.76 2.15 -0.76 2.13 1.15 -1 0.99 -1.12 1.52 -2.15 1.37 -2.14 
+-1.13 2.78 -1.26 2.64 -0.87 2.65 -1.15 2.64 -1 1.76 -1 1.88 -1.52 1.76 -1.5 1.78 
+-3.04 5.03 -2.62 2.26 -2.15 0 3.41 -5.16 1.26 -4.04 -1.02 -0.5 2.52 -5.17 0.13 -3.14 
+1.52 -4.78 -2.02 3.15 -1.02 -0.52 0.63 -3.78 1.39 -4.14 0.39 -4.3 1 -3.39 2.52 -5.55 S
+1501.3 1523.3 0.74 -1.62 0.76 -1.65 -0.13 1.65 -0.23 1.63 0.87 -1.12 0.89 -1.26 -0.26 1.63 
+-0.24 1.64 -0.5 2.39 -0.52 2.39 -0.63 2.41 -0.63 2.39 -1.5 4.54 -1.64 4.54 -2.12 5.53 
+-2.26 5.56 S
+1493.88 1553.93 -0.76 2.15 -0.63 2.13 -2.52 5.16 -2.52 5.03 -2.02 4.43 -2.02 4.41 -3.78 6.03 
+1.52 -3.91 1.39 -4.02 2.75 -4.92 2.91 -5.03 0.63 -2.15 0.74 -2.13 2.91 -6.68 2.89 -6.8 
+0.5 -2.02 0.63 -2.02 0.5 -2.02 0.52 -2.02 1 -3.41 1 -3.39 0.63 -2.78 0.52 -2.64 
+0.37 -2.02 0.26 -2.02 S
+1480.79 1558.7 -0.62 2.29 -0.63 2.25 S
+1471.72 1591.84 0.63 0.13 1.89 0 -0.37 1.13 -0.39 1.13 S
+1473.48 1594.23 2.28 -3.14 2.25 -3.28 2.39 -3.78 2.38 -3.91 -2.62 5.3 -2.78 5.43 -1.5 2.12 
+-1.52 2.29 -0.37 -0.5 -0.52 -0.52 S
+1473.48 1594.23 -0.37 0.13 S
+1473.11 1594.36 -0.36 0.13 -0.39 -0.5 -0.24 -0.63 -0.25 -0.76 -0.13 -0.76 S
+1480.67 1590.08 1.62 -2.65 1.65 -2.64 1.5 -2.78 1.13 -1.63 1.02 -1.52 1.13 -1.62 0.5 -0.76 
+0.63 -0.63 0.5 -0.75 -1.5 3.53 -1.65 3.39 -1.5 3.53 -0.76 0.76 -0.62 0.74 -0.63 0.76 
+-1.39 2.02 -1.39 1.89 -1.36 1.78 0.37 -1.15 0.37 -1.13 0.39 -1.13 S
+1484.05 1589.58 0.39 -0.12 0.38 -0.14 0.49 -0.26 0.13 0.26 0.26 0.26 S
+1493.88 1573.96 0.74 -1.02 0.76 -0.87 0.89 -1.02 S
+1481.92 1599.91 0.24 -0.12 0.26 -0.13 0.26 -0.26 0.24 0.13 0.5 0 0.26 -0.13 0.26 -0.11 
+0.24 -0.13 S
+1477.39 1613.52 1.75 -2.78 1.65 -2.78 1.76 -2.89 0.76 -1.26 0.87 -1.28 0.89 -1.37 1.13 -1.65 
+2.26 -3.52 S
+1495.75 1576.84 1.02 -2.13 1.13 -2.28 1 -2.25 0.89 -1.39 1.52 -2.78 -0.63 1.89 -1.52 3.77 
+-0.37 1.26 -0.52 1.26 -0.37 1.26 -1.63 3.54 -1.75 3.53 -1.65 3.52 -0.5 -0.5 1.13 -2.9 
+1.13 -2.89 1.13 -2.91 S
+1496.38 1580.25 1.02 -1.63 1.13 -1.65 1 -1.63 -0.87 2.13 -0.89 2.28 -0.87 2.39 -1.15 1.89 
+-1.13 1.76 -1 1.91 0.89 -2.54 0.99 -2.52 0.88 -2.39 S
+1525.07 1527.71 1.52 -3.77 1.39 -3.78 1.37 -3.91 1.39 -3.9 S
+1530.73 1512.35 1.39 -3.91 1.26 -3.52 1.13 -3.67 1.26 -3.52 1.13 -3.64 1.13 -3.67 -0.87 3.15 
+-1.02 3.14 -0.87 3.17 -1.02 3.25 -1 3.28 -1.39 3.8 -1.39 3.78 -1.23 3.77 -1.39 3.64 
+-1.39 3.67 0.99 -2.78 0.89 -2.65 1 -2.78 1.02 -2.78 0.87 -2.63 -1.25 3.28 -1.13 3.39 
+-1.26 3.27 -2.52 6.29 S
+1539.28 1487.54 1.39 -4.79 1.52 -4.91 1.37 -4.93 1.39 -4.91 1.39 -5.04 -0.5 2.02 -0.5 2.13 
+-0.52 2.15 -0.63 2.14 -0.5 2.13 -0.87 2.91 -0.89 2.88 -0.89 2.78 -0.87 2.78 -0.89 2.65 S
+1563.56 1261.16 -0.37 -6.3 -0.39 -6.42 -0.5 -6.43 -0.63 -6.42 -0.37 -3.91 -0.39 -3.78 S
+1560.92 1227.91 -0.37 -3.91 -0.49 -4.04 -0.5 -3.9 -0.26 -2.52 -0.26 -2.39 -0.37 -2.52 -0.26 -2.52 
+-0.37 -2.65 -0.37 -2.52 -0.39 -2.54 -0.37 -2.63 -0.39 -2.54 -0.37 -2.63 -0.5 -2.78 -0.39 -2.78 
+-0.5 -2.78 -0.5 -2.75 -0.5 -2.78 -1.52 -7.55 -0.73 -3.91 -0.76 -3.78 -0.89 -3.91 0 -0.76 
+-0.14 -0.63 -0.11 -0.76 -0.13 -0.62 -0.12 -0.76 0.89 3.91 0.87 3.77 0.76 3.78 0.76 3.79 
+0.75 3.78 0.74 3.78 0.63 3.64 0.76 3.66 0.63 3.64 0.5 3.65 0.39 2.02 0.24 2.15 
+0.25 2.02 0.37 2.02 0.26 2 0.5 3.41 0.37 3.4 0.52 3.41 0.37 3.27 0.37 3.26 
+0.52 4.16 S
+1560.8 1222.61 0.5 4.17 0.37 4.02 0.5 4.04 0.26 4.04 0.26 2.39 0.11 2.28 0.13 2.39 
+0.13 2.26 0.13 2.15 0.13 2.28 0 2.13 0.11 2.14 0.13 2.15 0 2.13 S
+859.7 670.72 -1.89 0.26 -2.02 0.24 -1.89 0.26 2.52 0 -3.14 0.24 -3.02 0.26 -3.15 0.26 
+4.15 -0.63 4.27 -0.52 4.16 -0.37 S
+1433.12 1701.43 -0.76 0.89 -0.63 0.89 -0.76 0.87 -0.75 1.02 -0.76 0.86 -0.63 1.02 -0.87 0.87 
+-0.75 1.02 -0.76 0.99 -0.74 1.02 -0.89 1 -0.76 1.02 -0.86 1 -0.76 1 -0.89 1.02 
+-0.87 1.13 -0.89 1.02 -1 1.13 -0.89 1.13 -0.87 1 -1.02 1.15 S
+1416 1722.48 -1.63 2.02 -1.76 2 -1.78 2.14 -1.76 2.02 -1.89 2.02 -1.75 2.15 -1.89 2 
+-1.89 2.15 -1.99 2.14 -1.89 2.02 -2.02 2.12 -4.04 4.3 -2 2.25 -4.29 4.3 -2.13 2.26 
+-4.41 4.41 -2.25 2.15 -2.28 2.25 -2.26 2.28 -2.39 2.26 -3.41 3.28 -3.52 3.28 -3.64 3.28 
+-3.52 3.28 -3.66 3.27 -3.76 3.28 -7.55 6.55 -3.77 3.14 -3.91 3.28 -4.02 3.15 -3.91 3.27 
+-4.04 3.15 -4.14 3.14 -4.02 3.15 -4.16 3.14 -4.27 3.04 -4.28 3.14 -8.55 6.04 -4.41 3.04 
+-4.41 3.02 -4.53 3.02 -4.51 2.91 -4.54 2.89 -2.02 1.28 S
+1267.17 1851.73 -2.02 1.26 -2 1.26 -4.03 2.52 -1.89 1.13 -2 1.13 -1.88 1.13 -1.89 1.15 
+-3.78 2.26 -1.76 1.02 -1.89 1.13 -1.79 1 -1.88 1.02 -1.76 1 -1.75 0.89 -1.63 1 
+-1.76 1.02 -1.78 0.86 -3.25 1.78 -1.76 0.86 -1.65 0.89 -1.63 0.87 2.39 -1.26 2.25 -1.12 
+2.15 -1.26 2.26 -1.13 2.15 -1.25 2.12 -1.13 2.02 -1.15 2.14 -1.13 2 -1.26 2.02 -1.13 
+1.89 -1.12 2.02 -1.15 3.78 -2.26 1.89 -1.02 1.75 -1.13 1.89 -1.12 1.75 -1.02 1.76 -1.13 
+1.65 -1 1.75 -1.12 1.63 -1.02 3.78 -2.38 3.64 -2.39 3.64 -2.41 S
+1277.73 1844.79 3.54 -2.25 3.52 -2.41 3.52 -2.39 3.41 -2.39 3.38 -2.39 3.41 -2.41 3.25 -2.39 
+3.28 -2.38 3.28 -2.29 6.29 -4.77 3.02 -2.41 3.14 -2.39 3.02 -2.39 2.89 -2.28 2.91 -2.39 
+3.52 -2.91 3.52 -2.76 3.41 -2.91 3.38 -2.88 3.41 -3.04 3.38 -2.89 3.28 -3.02 3.41 -2.91 
+3.25 -3.02 3.28 -3.14 3.28 -3.04 3.26 -3.02 3.14 -3.15 3.28 -3.02 3.14 -3.16 6.29 -6.3 
+2.52 -2.75 2.65 -2.78 2.63 -2.78 2.64 -2.78 2.65 -2.76 2.62 -2.91 2.65 -2.89 2.65 -3.04 
+2.64 -3.02 2.52 -3.02 2.63 -3.04 7.95 -9.44 2.62 -3.14 2.65 -3.28 S
+1427.82 1708.12 2.64 -3.41 2.65 -3.28 S
+1162.13 1905.01 -0.26 0.13 -0.24 0.13 -0.26 0.11 -0.26 0 -0.24 0.13 -0.26 0.13 -0.24 0.13 
+-0.39 0.13 -0.24 0.11 -0.52 0.26 -0.37 0.13 -0.26 0.14 -0.24 0.11 -0.39 0.13 -0.24 0.13 
+-0.39 0.14 -0.24 0.13 -6.16 2.26 -6.29 2.39 -6.16 2.28 -6.29 2.15 -6.16 2.13 -6.3 2.02 
+-6.29 1.89 -6.16 1.89 -6.3 1.89 -6.29 1.78 -6.27 1.63 -6.16 1.65 -6.29 1.63 -6.17 1.52 
+-6.29 1.39 -6.17 1.37 -6.29 1.26 -6.16 1.28 -5.8 1 -5.77 1.13 -5.92 0.89 -5.91 1 
+-5.92 0.89 -5.91 0.89 -5.92 0.74 -6.04 0.76 -5.92 0.63 -6.03 0.63 S
+985.75 1948.09 -6.04 0.63 -6.03 0.49 -6.17 0.39 -6.05 0.37 -6.03 0.39 -6.17 0.24 -6.04 0.26 
+-6.16 0.26 2.64 -0.13 2.5 -0.13 2.52 0 2.41 -0.13 2.5 -0.13 2.52 -0.11 2.41 -0.13 
+2.52 -0.13 4.78 -0.26 2.38 -0.11 2.39 -0.13 2.39 -0.26 2.28 -0.12 2.39 -0.24 2.25 -0.13 
+2.39 -0.25 2.28 -0.13 -2.02 0.13 -1.89 0.13 -1.89 0.26 -2.02 0.11 -1.89 0.14 -1.76 0.13 
+-3.77 0.26 -1.76 0.13 -1.75 0.11 -1.76 0.13 -1.78 0 -3.52 0.26 -1.62 0 -1.65 0.13 
+-1.75 0 6.79 -0.26 6.92 -0.37 6.92 -0.52 6.92 -0.5 6.93 -0.63 7.03 -0.76 S
+991.28 1947.46 7.05 -0.76 7.16 -0.87 7.05 -1.02 7.16 -1 7.18 -1.13 7.16 -1.26 7.18 -1.26 
+7.29 -1.39 7.16 -1.52 7.32 -1.63 6.27 -1.39 6.29 -1.52 6.42 -1.62 6.3 -1.65 6.16 -1.63 
+6.29 -1.78 6.3 -1.89 6.16 -1.89 6.29 -1.89 6.16 -2.02 6.17 -2.12 6.16 -2.15 6.04 -2.15 
+6.03 -2.25 6.16 -2.28 5.93 -2.39 S
+450.33 1744.14 -2.78 -2.89 -2.63 -2.91 -2.78 -3.02 -2.65 -3.02 -2.62 -2.91 -2.65 -3.02 -2.64 -3.14 
+-2.26 -2.65 -2.14 -2.65 -2.13 -2.64 -2.15 -2.65 -2.13 -2.52 -2.02 -2.64 -2.02 -2.52 S
+416.73 1704.97 -2.26 -2.91 -2.14 -2.76 -2.26 -2.78 -2.14 -2.91 -2.13 -2.89 -2.15 -2.78 -2.25 -3.28 S
+401.39 1684.68 -2.26 -3.14 -2.28 -3.15 -2.13 -3.14 -2.15 -3.02 -2.02 -3.04 2.02 2.91 2.02 2.88 
+2.02 3.04 2.12 2.88 2.15 2.91 2.13 3.02 2.15 2.88 2.25 3.04 2.28 3.02 2.26 3.02 
+2.39 3.04 2.39 3.15 S
+416.73 1704.97 1.65 2.02 1.5 1.89 1.63 2.02 1.65 2.02 1.63 1.89 1.65 2.02 3.12 3.78 
+3.28 3.91 3.41 3.91 3.39 3.91 3.41 3.89 3.64 3.91 3.65 4.04 S
+294.57 1301.48 0 -6.05 0.26 -1.13 0.13 -1.12 0.11 -1.13 -0.11 3.65 -0.13 3.51 -0.12 0.76 
+0 0.76 -0.14 0.76 S
+662.17 1840.02 -0.13 -0.39 -0.24 -0.24 -0.26 0 -0.24 -0.14 0.38 0.38 S
+661.68 1839.63 0.49 0.39 S
+659.29 1837.74 -1.52 -0.76 -1.37 -0.62 -1.25 -0.76 -1.26 -0.74 0.74 0 0.63 -0.13 1.39 0.87 
+1.39 0.89 1.26 1.26 S
+640.8 1827.54 -1.76 -0.76 -1.78 -0.75 -2.26 -1.39 -2.12 -1.5 3.02 1.39 2.88 1.26 1 0.86 
+1.02 0.89 S
+627.32 1819.86 -1.99 -1.39 -1.89 -1.39 S
+621.05 1815.95 -1.65 -0.89 -1.62 -0.87 -0.89 -0.39 -1 -0.37 -0.89 -0.76 -0.87 -0.75 -0.63 -0.63 
+-0.5 -0.63 2.13 1.39 2.25 1.26 0.63 0.5 0.63 0.63 1.15 0.75 1.26 0.76 S
+608.7 1809.03 -1.23 -0.52 -1.26 -0.36 0.11 0.36 0.13 0.52 -2.26 -1.15 -2.39 -1.13 -0.89 -0.24 
+-0.76 -0.26 -1.88 -1.13 S
+598.27 1805.12 -1.76 -1.26 0.39 -0.39 -0.52 -0.5 -0.5 -0.63 -1.13 -1 -1 -1.02 -0.26 -0.5 
+-0.13 -0.39 1.65 1.02 1.49 1 1.39 0.63 1.39 0.76 1.63 1.02 1.52 1 1.5 1.02 
+1.52 1 1.63 1.13 1.63 1.02 S
+696.48 2031.95 11.89 0 -0.31 -3.64 -0.98 -3.78 -0.75 -1.89 -0.96 -1.87 -1.17 -1.78 -1.37 -1.7 
+-1.61 -1.61 -1.84 -1.45 -2.08 -1.3 -2.35 -1.13 -2.61 -0.91 -2.89 -0.67 -3.17 -0.43 -3.47 -0.16 
+-3.66 0.2 -3.32 0.59 -3.02 0.89 -2.71 1.24 -2.43 1.5 -2.17 1.76 -1.89 1.99 -1.65 2.17 
+-1.41 2.35 -1.17 2.47 -0.97 2.58 -0.76 2.67 -0.98 5.45 -0.3 5.4 0.18 4.26 0.5 3.9 
+0.8 3.54 1.06 3.19 1.33 2.87 1.52 2.54 1.74 2.23 1.89 1.93 2.04 1.67 2.14 1.39 
+2.26 1.16 2.3 0.89 2.32 0.7 2.34 0.45 4.62 0.37 3.6 -0.2 3.84 -0.65 3.91 -1.24 
+1.91 -0.89 1.84 -1.06 1.78 -1.26 1.65 -1.5 1.49 -1.71 1.37 -1.98 1.15 -2.23 0.96 -2.5 
+0.72 -2.8 0.43 -3.11 -11.59 0 -0.72 2.72 -0.99 2.25 -1.29 1.82 -1.54 1.43 -1.78 1.06 
+-1.97 0.72 -2.15 0.41 -2.32 0.13 -2.86 -0.29 -2.78 -0.86 -2.56 -1.5 -2.3 -2.17 -1.02 -1.35 
+-0.91 -1.52 -0.8 -1.71 -0.7 -1.89 -1 -4.36 -0.37 -5.16 0.18 -3.93 0.61 -3.76 1.04 -3.49 
+1.54 -3.13 0.96 -1.37 1.11 -1.25 1.26 -1.09 1.39 -0.91 1.56 -0.73 1.71 -0.57 1.89 -0.33 
+2.06 -0.13 2.48 0.22 2.28 0.5 2.06 0.84 1.8 1.24 1.52 1.63 1.21 2.06 0.89 2.54 
+0.52 3.02 f*
+718.04 2071.07 43.07 0 0 -10.41 -30.9 0 0 -13.09 28.67 0 0 -10.41 ^ 
+0 -15.17 32.22 0 0 -10.39 -44.4 0 0 59.48 f*
+815.61 2052.93 -11.72 0 -0.43 2.43 -0.89 2 -1.3 1.58 -1.61 1.2 -1.85 0.87 -2.02 0.59 
+-2.11 0.3 -2.13 0.11 -1.88 -0.13 -1.84 -0.35 -1.74 -0.56 -1.56 -0.8 -1.32 -1.02 -1.02 -1.22 
+-0.65 -1.43 -0.24 -1.63 0.24 -1.86 0.69 -1.52 1.17 -1.21 1.65 -0.98 2.14 -0.82 2.63 -0.71 
+6.77 -1.37 4.32 -0.74 3.95 -0.96 3.54 -1.24 3.06 -1.65 1.33 -1.02 1.17 -1.13 1.02 -1.3 
+0.85 -1.43 0.68 -1.63 0.5 -1.8 0.3 -2 0.09 -2.21 -0.09 -2.17 -0.26 -2.08 -0.48 -1.98 
+-0.62 -1.86 -0.85 -1.73 -1.04 -1.61 -1.21 -1.5 -1.43 -1.34 -1.63 -1.22 -1.82 -1.06 -2.05 -0.91 
+-2.23 -0.76 -2.45 -0.61 -2.65 -0.43 -2.88 -0.26 -3.08 -0.11 -3.06 0.13 -2.82 0.32 -2.57 0.54 
+-2.37 0.72 -2.15 0.91 -1.93 1.06 -1.73 1.2 -1.52 1.34 -1.34 1.43 -1.15 1.57 -0.98 1.63 
+-0.8 1.71 -1.12 3.56 -0.5 3.67 11.87 0 0.39 -2.22 0.74 -1.97 1.11 -1.71 1.48 -1.43 
+1.84 -1.13 2.23 -0.82 2.66 -0.5 3.06 -0.18 2.26 0.11 2.15 0.35 2 0.61 1.75 0.85 
+1.48 1.13 1.13 1.41 0.72 1.71 0.26 2.02 -0.26 2.17 -0.76 1.74 -1.3 1.41 -1.84 1.15 
+-2.39 0.93 -2.97 0.82 -7.71 1.59 -5.04 0.98 -4.12 1.32 -3.28 1.68 -2.52 1.97 -1.83 2.26 
+-1.21 2.5 -0.67 2.73 -0.2 2.93 0.11 2.13 0.33 2.02 0.54 1.87 0.71 1.76 0.93 1.61 
+1.09 1.48 1.28 1.34 1.43 1.22 1.56 1.06 1.71 0.93 3.82 1.43 4.28 0.87 4.63 0.29 
+4.1 -0.2 4.05 -0.66 3.89 -1.21 1.82 -0.8 1.73 -1 1.61 -1.17 1.48 -1.35 1.3 -1.54 
+1.15 -1.73 0.95 -1.96 0.74 -2.2 0.52 -2.4 0.26 -2.67 f*
+825.87 2071.07 18.25 0 10.55 -47.15 10.54 47.15 18.58 0 0 -59.48 -11.59 0 0 50.41 
+-11.43 -50.41 -12.18 0 -11.59 50.41 0 -50.41 -11.13 0 0 59.48 f*
+911.42 2069.57 7.42 0 0 -57.98 -11.44 0 0 39.84 -13.67 0 0 7.59 3.23 0.09 
+2.91 0.3 2.58 0.59 2.3 0.96 2.02 1.37 1.78 1.84 1.54 2.38 1.33 3.02 f*
+935.484 2028.84 22.1094 11 re
+f*
+1004.23 2031.95 11.89 0 -0.3 -3.64 -0.98 -3.78 -0.76 -1.89 -0.95 -1.87 -1.15 -1.78 -1.39 -1.7 
+-1.61 -1.61 -1.84 -1.45 -2.09 -1.3 -2.34 -1.13 -2.6 -0.91 -2.89 -0.67 -3.17 -0.43 -3.47 -0.16 
+-3.65 0.2 -3.34 0.59 -3.02 0.89 -2.71 1.24 -2.43 1.5 -2.17 1.76 -1.89 1.99 -1.65 2.17 
+-1.41 2.35 -1.17 2.47 -0.98 2.58 -0.76 2.67 -0.97 5.45 -0.29 5.4 0.15 4.26 0.5 3.9 
+0.8 3.54 1.06 3.19 1.32 2.87 1.52 2.54 1.73 2.23 1.89 1.93 2.04 1.67 2.15 1.39 
+2.26 1.16 2.3 0.89 2.32 0.7 2.34 0.45 4.63 0.37 3.61 -0.2 3.84 -0.65 3.91 -1.24 
+1.91 -0.89 1.86 -1.06 1.76 -1.26 1.65 -1.5 1.52 -1.71 1.34 -1.98 1.15 -2.23 0.96 -2.5 
+0.72 -2.8 0.43 -3.11 -11.59 0 -0.7 2.72 -1.02 2.25 -1.28 1.82 -1.54 1.43 -1.78 1.06 
+-1.97 0.72 -2.15 0.41 -2.32 0.13 -2.87 -0.29 -2.75 -0.86 -2.59 -1.5 -2.3 -2.17 -0.99 -1.35 
+-0.93 -1.52 -0.8 -1.71 -0.7 -1.89 -0.98 -4.36 -0.39 -5.16 0.2 -3.93 0.59 -3.76 1.04 -3.49 
+1.54 -3.13 0.95 -1.37 1.11 -1.25 1.25 -1.09 1.39 -0.91 1.56 -0.73 1.72 -0.57 1.89 -0.33 
+2.06 -0.13 2.47 0.22 2.28 0.5 2.06 0.84 1.8 1.24 1.52 1.63 1.21 2.06 0.89 2.54 
+0.52 3.02 f*
+1042.12 2071.07 13.96 0 20.5 -59.48 -12.35 0 -4.3 11.89 -9.05 0 0 10.41 5.77 0 
+-7.57 22.89 -7.57 -22.89 9.38 0 0 -10.41 -12.93 0 -4.17 -11.89 -12.33 0 20.66 59.48 f*
+1083.7 2071.07 18.27 0 10.55 -47.15 10.54 47.15 18.55 0 0 -59.48 -11.59 0 0 50.41 
+-11.43 -50.41 -12.18 0 -11.59 50.41 0 -50.41 -11.13 0 0 59.48 f*
+1154.99 2069.57 30.76 0 0 -10.39 -23.92 0 -1.78 -11.76 2.66 1.61 2.28 1.07 2.39 0.58 
+2.91 0.17 3.21 -0.3 3.15 -0.87 3.02 -1.49 2.71 -2.15 1.21 -1.32 1.13 -1.48 0.98 -1.67 
+0.82 -1.82 0.67 -2 0.5 -2.2 0.33 -2.36 0.11 -2.56 -0.34 -4.28 -1.02 -3.97 -0.76 -1.82 
+-0.91 -1.73 -1.09 -1.61 -1.25 -1.48 -1.41 -1.34 -1.57 -1.22 -1.73 -1.02 -1.89 -0.89 -2.04 -0.7 
+-2.21 -0.5 -2.36 -0.32 -2.5 -0.11 -4.01 0.3 -3.64 0.89 -3.22 1.43 -2.75 1.95 -2.26 2.45 
+-1.67 2.89 -1.06 3.32 -0.39 3.73 11.13 0 0.16 -1.63 0.43 -1.41 0.69 -1.21 0.96 -0.97 
+1.15 -0.76 1.37 -0.57 1.56 -0.32 1.7 -0.11 1.87 0.13 1.75 0.41 1.61 0.74 1.43 1.11 
+1.17 1.5 0.91 1.96 0.57 2.39 0.22 2.93 -0.24 2.61 -0.57 2.23 -0.85 1.91 -1.12 1.54 
+-1.35 1.19 -1.54 0.85 -1.71 0.5 -1.84 0.18 -2.32 -0.3 -1.95 -0.85 -1.72 -1.37 -1.58 -1.8 
+-10.09 0 5.18 32.12 f*
+Q q
+1829.62 653.578 1296.25 1297.98 re
+Y*
+255 0 r6
+1832.25 1275.61 -0.57 26.98 0.57 26.95 1.69 26.95 2.82 26.96 3.97 26.95 5.12 26.96 6.34 26.95 
+5.86 21.23 1.71 5.73 8.88 26.95 10.2 26.98 5.58 13.41 6.01 13.52 13.11 26.98 7.25 13.67 
+7.44 13.26 16.45 26.99 2.48 3.8 15.84 23.13 10.55 14.28 9.88 12.67 16.49 19.82 6.27 7.14 
+10.07 10.74 10.03 10.75 5.42 5.46 10.48 10.01 10.48 9.98 7.74 6.97 9.31 7.92 9.29 7.9 
+14.02 11.15 12.35 9.29 25.26 17.66 1.11 0.74 26.39 16.54 16.84 9.68 9.5 5.16 26.39 13.29 
+9.36 4.25 9.33 4.25 7.66 3.3 26.39 10.42 13.19 4.58 13.2 4.55 13.2 4.11 13.16 3.77 
+13.2 3.35 13.17 3.32 13.19 2.76 13.17 2.75 13.2 2.19 13.2 2.17 13.17 1.63 13.2 1.63 
+13.17 1.08 13.2 1.09 13.2 0.54 13.17 0.54 26.37 0 13.19 -0.54 13.17 -0.54 13.2 -1.09 
+13.17 -1.08 13.2 -1.63 13.17 -1.63 13.2 -2.17 13.2 -2.19 3.63 -0.76 0 -130.62 -1.36 0 
+-15.54 -0.13 -3.35 -0.16 -15.78 -1.41 -6.03 -5.88 -3.17 -0.76 -12.93 -2.76 -3.08 -0.54 -11.02 1.84 
+-10.74 2.14 -11.26 0.89 -9.92 -4.9 -2.5 -0.95 -10.41 0.2 -8.31 -6.08 0.43 -7.57 -1.7 -1.13 
+-2.47 1.04 -7.32 5.21 -9.59 -0.07 -9.27 -1.36 -8.96 -1.96 -9.27 -1.43 -3.46 1.26 0.57 3.08 
+3.39 5.54 -9.29 2.88 -11.22 -1.64 -3.99 0.71 -12.65 2.11 -5.93 0.07 0.8 4.3 2.54 4.53 
+-9.16 0.8 -2.41 -4.58 -3.06 -4.16 -8.87 -5.66 -10.77 -4.49 -0.41 -3.58 -0.83 -5.36 0.18 -4.08 
+-3.28 -3.23 -8.23 -4.96 -7.94 -5.14 -7.9 -5.27 -3.23 -1.28 -13.57 -2.64 -7.94 -3.63 -6.58 -1.78 
+-14.13 -6.4 -1.52 -0.85 -14.2 -6.49 -6.27 -2.8 -10.83 -5.82 -7.44 -2.5 -15.37 -8.55 -6.07 -7.37 
+-3.47 -2.47 -12.48 -5.86 -15.56 -8.96 -11.11 1.26 -1.02 -0.54 -13.39 -6.97 -10.13 -9.7 2.64 -7.9 
+-12.31 -10.8 -8.11 0.28 -3.2 0.8 -4.36 -5.08 2.78 -2.28 3.78 -3.71 -6.12 -12.83 -0.73 -1.3 
+-12.16 -12.8 -6.55 -10.76 -1.91 -12.66 5.14 -7.18 5.23 -0.3 12.55 3.73 11.76 9.05 6.84 4.34 
+-4.34 -13.59 3.56 -7.98 -1.17 -4.55 -2.17 -9.36 3.64 -8.4 3.9 -8.34 0.46 -0.56 0 -564.35 
+0.22 -2.39 4.46 -12.7 7.8 -12.57 0.3 -6.77 0.74 -6.05 7.62 -12.5 11.71 -11.92 13.18 -11.39 
+2.06 -1.2 14.5 -9.3 5.91 -3.23 10.98 -2.78 3.11 5.36 -0.7 3.28 -4.93 2.8 -9.77 4.25 
+-4.27 1.85 -2.3 0.87 -15.34 10.89 -8.01 11.88 -7.29 12.07 -7.71 12.17 -2.97 4.67 -4.84 7.66 
+-10.79 12.58 -3.67 2.48 0 564.35 5.02 -6.45 4.38 -8.21 3.45 -9.41 -2.2 -9.48 0.57 -6.08 
+4.12 0.3 9.88 1.69 6.03 0.71 6.55 -0.2 11.33 0.93 1.26 -0.24 10.16 -1.97 6.86 3.23 
+7.7 0.21 7.27 -5.06 7.66 -4.64 8.38 -3.75 4.95 1.71 9.5 8.92 5.36 1.02 1.37 -5.4 
+0.04 -7.34 7.57 -4.71 7.64 3.14 7.88 9.72 -0.07 9.12 0.83 4.67 7.94 9.66 1.2 10.74 
+0.48 2.93 2.08 10.61 0.37 3.04 2.74 9.61 1.69 3.02 4.08 10.66 -5.25 3.54 -3.91 4.57 
+1.61 2.46 2.58 0.7 3.78 -4.5 12.11 3.38 2.86 1.17 10.98 3.37 3.69 1.46 9.94 3.29 
+4.64 7.9 -1.89 4.25 -2.8 3.5 0.87 1.28 10.66 7.42 6.17 6.51 -0.35 3.91 -1.5 3.23 
+1.19 1.2 P
+9.01 6.82 -0.66 3.08 1.24 0.87 2.04 0.3 11.94 1.67 1.45 0.11 2.63 -1.8 -2.28 -1.71 
+-7.68 -5.49 -0.17 -3.45 1.8 -2.56 1.97 -2.5 2.24 -2.36 -0.57 -1.21 -6.25 -7.3 -1.67 -2.21 
+-5.36 -7.71 -1.81 -2.23 -9.35 -8.18 -9.7 -7.97 -3.95 -9.35 -0.85 -2.2 -7.48 -9.57 -1.82 -7.01 
+-1.96 -4.88 -1.5 -9.03 5.4 -4.02 5.69 -3.8 11.41 6.04 2.22 1.78 9.83 5.53 2.7 1.59 
+9.41 5.73 1.89 0.5 5.95 -1.54 9.46 6.59 1.41 0.72 5.45 -1.67 5.59 -1.37 3.78 -0.95 
+0 -4.73 -7.12 -6.01 1.39 -8.12 6.14 -2.23 5.86 -3.49 7.01 0.11 7.5 2.7 4.63 5.05 
+-2.09 5.88 -5.08 4.47 -5.96 0.79 -0.48 0.04 -5.64 0.32 -6.17 0.5 0 4.73 1.8 -0.46 
+8.38 7.64 3.91 9.94 1.3 1.37 7.16 7.53 3.91 9.74 0.98 1.32 6.21 7.7 3.32 9.66 
+0.92 0.98 2.99 -0.32 4.73 8.07 0.17 3.43 0 -117.95 -6.25 -9.25 5.34 -7.29 4.35 6.95 
+-3.43 9.59 0 117.95 0.24 5.17 -1.97 0.49 -1.96 0.5 0.13 1 2.32 8.07 -1.3 0.61 
+-1.64 0.07 -0.96 1.04 -1.35 0.5 -1.3 0.52 -1.26 0.57 -1.26 0.58 -3.54 -1.45 0.96 2.56 
+-1.04 0.76 -9.55 -5.45 -1.15 -0.59 -1.41 1.05 -1.35 1.08 -1.26 1.11 -1.22 1.15 -1.34 1.09 
+1.24 0.82 9.48 5.46 -0.61 0.98 -0.89 0.88 -0.32 1.06 -0.74 0.91 -0.28 1.06 -0.39 1.02 
+-0.2 1.04 -12.15 -1.06 -1.41 -0.07 -0.3 1.43 -0.28 1.43 -0.54 1.41 0.28 1.48 -0.5 1.45 
+-11.35 1.02 -13.78 -0.68 -2.19 0.29 2.28 0.43 12.09 2.08 -0.09 1.88 -10.65 2 -13.67 0.13 
+-2.78 0.54 3.1 0.57 11.39 1.56 3.04 0.24 11.61 0.61 -9.96 2.93 -2.82 0.8 1.28 2.23 
+2.13 2.08 1.07 2.29 -8.4 4.03 -12.59 2.61 -1.67 1.15 -8.18 4.62 -12.96 1.82 -1.24 1.59 
+3.08 3.69 3.73 3.54 3.52 3.54 3.71 3.5 4.49 3.19 5.04 2.88 4.71 3 4.73 2.95 
+4.79 2.95 3.45 -0.52 9.36 -2.64 5.54 1.61 5.16 1.84 5.23 1.75 -0.22 6.88 0.37 1.59 
+5.97 1.86 5.95 1.96 1.97 6.27 -3.95 7.44 1.34 2.67 2.99 -1.93 8.01 -4.93 7.4 0.56 
+7.42 0.09 1.8 -1.18 1.06 -7.98 5.21 -6.06 2.8 3.76 0 -75.52 -0.3 -0.02 -0.3 0 
+-0.3 -0.05 -0.3 -0.02 -0.31 -0.04 -0.84 -0.2 -0.57 -0.17 -0.25 -0.09 -0.79 -0.32 -0.24 -0.13 
+-0.43 -0.26 -0.43 -0.3 -0.2 -0.16 -0.18 -0.17 -0.17 -0.15 -0.3 -0.35 -0.15 -0.2 -0.11 -0.17 
+-0.13 -0.19 -0.26 -0.59 -0.07 -0.2 -0.08 -0.39 -0.02 -0.22 -0.02 -0.2 0 -0.2 0.02 -0.2 
+0.04 -0.21 0.02 -0.2 0.13 -0.39 0.17 -0.39 0.11 -0.2 0.11 -0.17 0.13 -0.2 0.13 -0.17 
+0.16 -0.18 0.17 -0.17 0.17 -0.15 0.17 -0.17 0.2 -0.16 0.22 -0.15 0.2 -0.13 0.24 -0.12 
+0.21 -0.13 0.24 -0.13 0.26 -0.11 0.24 -0.11 0.25 -0.11 0.28 -0.08 0.26 -0.09 1.13 -0.26 
+0.3 -0.04 0.29 -0.02 0.3 -0.04 0.3 0 0.3 -0.02 0.29 0 0.3 -9.37 0.29 -9.51 
+0.28 -9.59 0.29 -9.72 0.25 -9.81 0.26 -9.89 0.26 -10.01 0.24 -10.09 0.24 -10.18 0.24 -10.27 
+0.21 -10.35 0.24 -10.41 0.2 -10.51 0.21 -10.57 0.22 -10.66 0.2 -10.7 0.17 -10.78 0.2 -10.83 
+0.17 -10.87 p
+0.17 -10.96 0.18 -10.98 0.17 -11.05 0.15 -11.07 0.16 -11.11 0.13 -11.16 0.15 -11.2 0.13 -11.22 
+0.11 -11.24 0.13 -11.26 0.11 -11.29 0.33 -33.92 0.17 -22.66 0.07 -11.33 0.09 -11.32 0.06 -11.31 
+0.04 -11.3 0.07 -11.28 0.05 -11.27 0.04 -11.24 0.02 -11.22 0.05 -11.17 0.02 -11.16 0 -11.13 
+0.02 -11.07 0 -22.03 -0.02 -10.96 0 -10.87 -0.04 -10.85 -0.02 -10.77 -0.04 -10.72 -0.04 -10.63 
+-0.04 -10.57 -0.07 -10.5 -0.07 -10.44 -0.06 -10.35 -0.09 -10.27 -0.08 -10.18 -0.11 -10.09 -0.09 -10 
+-0.13 -9.92 -0.11 -9.79 -0.12 -9.72 -0.13 -9.62 -0.15 -9.5 -0.15 -9.37 -0.17 -9.29 -0.18 -9.16 
+-0.17 -9.05 -0.2 -8.92 -0.2 -8.81 -0.21 -8.68 -0.21 -8.55 -0.24 -8.42 -0.24 -8.27 -0.26 -8.16 
+-0.04 -1.18 -7.04 0.38 -7.05 -0.07 -7.04 -0.07 -7.01 -0.13 -7 -0.16 -3.64 -7.36 -0.37 -0.82 
+-6.38 -0.24 -6.34 -0.33 -6.27 -0.34 -0.86 -7.36 -0.09 -0.82 -5.58 -0.48 0.98 -7.31 0.16 -0.8 
+-4.82 -0.58 -4.84 -0.55 3.54 -7.16 0.43 -0.8 -4.08 -0.61 -4 -0.67 -3.88 -0.72 -3.8 -0.76 
+-1.61 0.61 -13.34 5.64 -4.17 -0.85 -4.21 -0.78 -3.84 -1.02 -1.74 0.61 -14.91 5.64 -1.97 0.82 
+-12.8 7.9 -12.3 8.27 -11.84 8.66 -0.83 1.24 -4.49 8.79 -10.53 9.22 -14.78 7.42 3.47 -9.23 
+0.26 -1.11 -6.17 -1.2 5.56 -9.59 0.69 -1.07 -5.14 -1.54 7.5 -9.37 0.89 -1.09 9.05 -9.22 
+1.11 -1 -3.64 -1.75 11.04 -8.79 1.35 -1 -2.39 -2.02 -2.91 -1.76 -2.28 -2 -2.12 -2.04 
+-1.76 -2.15 -1.52 -2.23 -1.21 -2.32 -0.82 -2.45 -0.5 -2.52 -0.07 -2.65 17.77 -7.54 2.26 -0.84 
+0.63 -2.5 0.86 -2.52 1.37 -2.63 1.72 -2.66 2.08 -2.72 2.45 -2.75 2.82 -2.78 -1.65 0 
+-14.73 0.11 20.83 -5.21 2.32 -0.5 3.95 -2.82 4.36 -2.8 4.73 -2.75 5.1 -2.74 5.51 -2.69 
+5.82 -2.61 6.27 -2.54 9.38 -0.24 9.39 -0.24 2.06 0 6.08 -1.88 6.27 -1.8 6.53 -1.67 
+6.81 -1.5 14.26 2.47 1.54 0.33 6.05 -1 6.16 -0.84 6.29 -0.74 6.38 -0.57 6.45 -0.46 
+6.51 -0.3 6.53 -0.13 6.54 0 0.98 -0.54 7.36 -4.41 7.71 0.37 7.64 0.54 7.72 0.56 
+7.47 0.93 1.65 -0.32 -0.26 -0.59 -7.7 -0.98 -2.73 -5.03 -0.37 -0.61 -4.93 -4.91 13.98 -3.11 
+11.67 1.35 11.37 1.73 11.09 2.02 10.77 2.3 2.19 -0.04 20.66 0.48 11.11 3.32 10.63 3.56 
+10.05 3.75 9.46 3.91 2.71 0.52 11.94 2.56 11.91 2.56 9.07 4.8 8.14 4.82 7.57 4.86 
+2.35 1.67 0 -53.39 -16.35 -4.92 -5.36 -2.65 16.84 4.9 4.86 2.67 0 53.39 4.47 3.16 
+6.11 4.8 5.45 4.73 4.77 4.64 4.19 4.56 3.38 4.38 3.08 4.36 2.37 4.17 1.87 4.04 
+1.34 3.93 0.8 3.73 0.28 3.58 -0.08 3.45 1.82 1.3 15.64 11.02 -1.3 3.28 -17.23 -5.64 
+-1.97 -0.54 1.61 1.21 13.84 11.07 -17.49 -6.12 -2.34 -0.82 -2.32 2.67 -2.8 2.45 -3.15 2.32 
+-3.64 2.11 -3.91 1.98 -16.95 -6.38 -1.95 -0.67 -4.04 1.74 -4.6 1.45 -4.14 1.78 -4.43 1.68 
+-4.86 1.43 -5.1 1.35 0.61 1.04 5.69 8.96 -5.79 1.28 -5.99 1.15 -6.3 1 -6.46 0.91 
+-6.62 0.84 -6.88 0.67 -13.67 -7.05 -1.61 -0.78 -6.55 0.71 -6.81 0.5 -6.64 0.74 -6.88 0.56 
+-7.03 0.43 p
+-7.08 0.43 -11.13 -6.95 -1.43 -0.96 -6.59 0.55 -6.88 0.17 -6.73 0.52 -6.92 0.15 -7.05 -0.13 
+-6.84 0.52 -7.2 -0.76 -6.88 0.52 -6.99 0.11 -7.01 0.28 0.04 1.18 0.26 8.16 0.24 8.27 
+0.24 8.42 0.21 8.55 0.21 8.68 0.2 8.81 0.2 8.92 0.17 9.05 0.18 9.16 0.17 9.29 
+0.15 9.37 0.15 9.5 0.13 9.62 0.13 9.72 0.11 9.79 0.13 9.92 0.09 10 0.11 10.09 
+0.08 10.18 0.09 10.27 0.06 10.35 0.07 10.44 0.07 10.5 0.04 10.57 0.04 10.63 0.04 10.72 
+0.02 10.77 0.04 10.85 0 10.87 0.02 10.96 0 22.03 -0.02 11.07 0 11.13 -0.02 11.16 
+-0.05 11.17 -0.02 11.22 -0.04 11.24 -0.05 11.27 -0.07 11.28 -0.04 11.3 -0.06 11.31 -0.09 11.32 
+-0.07 11.33 -0.17 22.66 -0.33 33.92 -0.11 11.29 -0.13 11.26 -0.11 11.24 -0.13 11.22 -0.15 11.2 
+-0.13 11.16 -0.16 11.11 -0.15 11.07 -0.17 11.05 -0.18 10.98 -0.17 10.96 -0.17 10.88 -0.2 10.83 
+-0.17 10.78 -0.2 10.7 -0.22 10.66 -0.21 10.57 -0.2 10.51 -0.24 10.41 -0.21 10.35 -0.24 10.27 
+-0.24 10.18 -0.24 10.09 -0.26 10.01 -0.26 9.89 -0.25 9.81 -0.29 9.72 -0.28 9.59 -0.29 9.51 
+-0.3 9.38 0.3 0.02 0.31 0 0.3 0.04 0.28 0.02 0.3 0.04 1.13 0.26 0.26 0.09 
+0.28 0.08 0.26 0.11 0.24 0.11 0.26 0.11 0.24 0.13 0.22 0.13 0.24 0.13 0.2 0.13 
+0.21 0.15 0.2 0.16 0.17 0.17 0.17 0.15 0.18 0.17 0.15 0.18 0.13 0.17 0.13 0.2 
+0.11 0.17 0.11 0.2 0.17 0.39 0.13 0.39 0.04 0.2 0.02 0.21 0.02 0.2 0 0.2 
+-0.02 0.2 -0.02 0.22 -0.08 0.39 -0.07 0.2 -0.26 0.59 -0.13 0.19 -0.11 0.17 -0.15 0.2 
+-0.31 0.35 -0.17 0.15 -0.17 0.17 -0.2 0.16 -0.21 0.15 -0.2 0.15 -0.24 0.13 -0.22 0.13 
+-0.24 0.13 -0.78 0.32 -0.26 0.09 -0.57 0.17 -0.84 0.2 -0.3 0.04 -0.3 0.02 -0.3 0.05 
+-0.29 0 -0.32 0.02 -0.29 0 0 75.52 1.84 2.47 1.59 1.43 6.57 -0.39 6.55 -0.34 
+6.55 -0.57 4 -0.54 0 -122.62 -2.56 -0.46 -2.54 -0.48 -2.5 -0.54 -2.52 -0.48 -2.54 -0.41 
+-2.41 -1.02 -0.57 -8.34 4.47 -7.83 1.15 -1.58 4.99 -7.36 4.16 -0.17 0.2 9.05 0.07 1.06 
+3.39 0.79 1.04 -0.87 6.7 -7.1 -1.15 8.55 -0.17 1.52 -2.17 8.64 -6.25 6.25 -0.8 0.78 
+0 122.62 2.47 -0.35 6.25 -1.37 6.25 -1.39 0.33 -0.07 0 -98.78 -1.26 -1.15 7.71 -6.47 
+10.24 -4.34 1.76 1.67 -7.99 6.47 -8.57 3.12 -1.88 0.7 0 98.78 5.88 -1.41 0.24 -1.58 
+-0.22 -7.01 5.23 -1.76 5.12 -1.89 4.71 -2.23 4.62 -2.32 -0.11 -1.54 -3.32 -6 -1.56 -2.02 
+-4.38 -6.23 3.32 -1.91 3.06 -2.06 10.8 2.13 5.6 5.73 1.56 1.43 2.32 0.28 4.19 -2.69 
+3.54 -3.02 4.38 -2.78 -2.43 -1.59 -6.96 -4.9 1.91 -3.02 2.65 -2.82 2.73 -2.85 1.58 -3.06 
+1.46 -3.05 -1.52 -1.02 -8.54 -2.93 -3.38 -0.91 -9.5 -2.84 0.63 -2.3 1.15 -2.3 -2.88 -0.39 
+-11.29 -2.12 1.3 -1.87 -0.46 -1.89 -1.89 -0.2 -11.72 -1.04 0.11 -1.47 11.85 -2.46 9.63 -1.13 
+0 -21 -2.69 -1.39 8.66 -6.88 11.7 -3.34 0.69 3.11 -7.92 6.1 -7.59 1.76 -2.84 0.65 
+0 21 p
+4.11 -0.48 11.17 0.39 0.59 2.5 -0.15 2.56 1.86 0.34 2 -0.67 0.17 -2.69 -0.08 -2.67 
+-0.14 -2.67 0.2 -2.75 0.39 -2.84 9.61 -4.8 1.61 -1.21 -0.56 -3.06 -0.44 -3.14 8.64 -6.12 
+1.39 -1.43 -1.48 -3.23 -2.34 0.39 -11.46 2.32 -1.34 -2.91 7.36 -6.94 11.13 -6.8 1.65 -1.66 
+-3.04 -2.91 -3.11 -2.88 -2.71 -3.17 -2.64 0.83 -10.03 7.62 -0.74 1.23 2.49 2.69 -7.37 7.96 
+-11.46 3.68 -2.37 -1.93 -1.04 -2.82 5.86 -7.18 0.76 -1.56 5.64 -8.53 9.38 -7.94 1.37 -2.28 
+3.82 -8.48 0.48 -1.98 -3.99 -2.84 -4.49 -2.34 -4.26 -2.68 -2.79 1.7 -8.99 5.47 -4.71 -1.5 
+-4.38 -1.89 -4.84 -1.29 -1.8 1.24 -8.09 6.51 -4.23 -1.39 -4.43 -1.08 -0.26 -8.77 -0.39 -1.61 
+-4.86 -1.25 -4.54 -2.39 -1.65 -7.49 -1.21 -2.3 -2.73 -8.72 -0.65 -3.04 -3.16 -7.9 -1.5 -2.3 
+-6.27 -2.75 -3.34 -6.23 -1.04 -10.66 1.5 -10.59 6.27 -7.46 6.88 -2.54 2.54 -10.66 0.46 -1.41 
+9.68 -7.01 1.96 -1.45 -1.39 -2.22 -6.27 -9.44 8.12 -3.09 9.61 -1.23 0.93 0.02 0 -5.36 
+-8.94 -1.43 -0.46 -0.09 -9.16 -4.32 -5.77 -6.92 -2.67 -2.95 -0.5 -0.54 -6.1 -8.01 7.08 -5.62 
+5.45 6.23 3.8 5.55 10.38 -1.93 9.53 4.32 5.03 5.82 -7.66 9.89 0 5.36 8.51 0.24 
+2.99 -3.78 8.36 -3.88 9.09 2.86 9.01 -5.92 3.84 -4.56 9.37 2.71 4.6 5.64 2.74 2.73 
+9.39 1.82 8.33 4.36 9.53 1.39 8.62 3.32 9.52 1.5 1.33 0.07 9 -0.05 7.57 5.17 
+2.04 1.78 0 -25.5 -1.5 -0.3 -8.9 -0.63 0.24 -2.64 3.16 -11.48 -5.32 -6.38 -9.33 -4.58 
+-8.73 3.54 -4.23 1.57 -2.11 -3.32 4.1 -2.21 8.62 -6.36 5.95 -2.85 10.7 1.76 10.61 2.09 
+11.24 0.58 8.48 1.71 2.39 -0.19 13.11 -6.67 1.93 -0.63 0.54 1.67 -2 1.5 -12.91 5.53 
+-2.11 1.72 -5.3 8.38 -8.36 9.65 -4.47 3.71 -5.84 4.84 0 25.5 2.21 1.96 -7.75 9.72 
+-0.43 9.52 9.39 -5.1 8.21 -6.03 6.96 0.2 3.71 -0.35 10.03 1.09 2.58 8.98 0.8 1.15 
+3.11 9.77 7.81 3.67 7.4 -0.8 7.72 -3.89 7.17 4.8 3.93 8.2 4.66 7.14 3.71 7.81 
+12.66 -0.68 1.45 -0.76 0.07 -0.7 4.91 -14.45 -0.76 -1.76 -5.51 -5.04 -1.39 -0.32 0.28 -0.79 
+5.9 -12.89 -2.32 -4.47 -6.07 -7.12 0.06 -12.68 11.98 -3.45 3.19 -1.37 2.54 -6.77 -9.27 -3.95 
+-2 -11.75 13.3 -6.66 0.48 -0.09 0.24 0.57 5.25 9.92 2.97 12.72 0.26 0.35 0.16 -0.02 
+13.32 -1.95 4.1 -0.63 10.61 -3.02 5.71 -0.17 8.2 -2.28 8.88 4.9 8.24 4.19 1.33 -0.32 
+6.57 7.92 6.29 8.05 9.53 3.66 4.77 9.68 7.45 6.1 6.7 6.9 3 11.07 -6.05 17.51 
+-10.59 10.89 -1.32 3.75 -7.4 17.54 -9.16 8.96 -2 3.43 -3.3 11.74 -2.19 12.24 -5.77 7.6 
+-13.11 13.71 -0.67 1.26 -0.24 0.41 -8.38 13.87 -0.97 9.79 -9.42 12 -1.91 2.34 0.8 1 
+2.2 6.7 3.95 6.36 2.08 0.24 -3.73 3.38 -7.55 10.12 -14.64 10.71 -8.96 5.64 -5.21 10.11 
+-14.28 8.83 -6.03 3.95 -16.61 8.73 -6.12 2.63 1.37 2.32 12.98 -1.2 11.3 0.2 13.34 -2.32 
+12.44 -7.01 11.54 -8.62 0.84 5.41 -11.52 7.55 -11.03 7.25 -13.84 7.4 -13.02 1.56 -8.55 5.12 
+-17.97 7.64 p
+-11.45 -0.8 -0.83 -6.34 -1.2 -2.37 -5.86 2.04 -16.37 5.13 -11.98 -1.32 -10.87 -2.39 -1.54 -6.64 
+8.46 -6.6 7.45 -6.84 -0.11 -2.41 -5.16 1.82 -14.91 3.54 -4.12 0.91 -8.86 5.6 -7.64 5.8 
+-9.27 5.16 -9.41 4.95 -8.88 5.1 -1.06 2.39 9.68 4.12 8.79 4.32 9.12 3.93 -2.68 7.49 
+-16.57 1.13 -4.39 0.43 0 130.62 9.55 -1.99 13.2 -2.76 13.2 -3.34 13.17 -3.32 13.15 -3.77 
+10.5 -3.26 0 -123.27 1.09 -7.5 17.92 -5.47 -0.43 7.45 -9.29 2.75 -6.23 1.87 -3.06 0.91 
+0 123.27 2.7 -0.85 13.2 -4.55 13.2 -4.58 26.39 -10.42 7.66 -3.3 9.35 -4.25 9.33 -4.25 
+26.39 -13.29 9.5 -5.16 16.84 -9.68 13.2 -8.27 13.21 -8.27 1.09 -0.74 25.26 -17.66 12.35 -9.29 
+14.02 -11.15 9.29 -7.9 9.31 -7.92 7.75 -6.97 10.5 -9.98 10.46 -10.01 5.43 -5.46 20.1 -21.48 
+6.27 -7.14 16.49 -19.82 9.88 -12.67 10.55 -14.28 15.84 -23.13 2.47 -3.8 16.45 -26.99 7.45 -13.26 
+7.25 -13.67 13.11 -26.98 6.01 -13.52 5.57 -13.41 10.22 -26.98 8.85 -26.95 1.71 -5.73 5.86 -21.23 
+6.33 -26.95 5.12 -26.96 3.97 -26.95 2.82 -26.96 1.7 -26.95 0.56 -26.95 -0.56 -26.98 -1.7 -26.95 
+-2.82 -26.96 -3.97 -26.95 -5.12 -26.96 -6.33 -26.95 -5.86 -21.23 -1.71 -5.71 -8.85 -26.98 -10.22 -26.97 
+-5.57 -13.41 -6.01 -13.52 -13.11 -26.97 -7.25 -13.67 -7.45 -13.26 -16.45 -26.99 -2.47 -3.8 -15.84 -23.13 
+-10.55 -14.28 -9.87 -12.67 -16.49 -19.82 -6.29 -7.14 -10.03 -10.75 -10.05 -10.74 -5.43 -5.47 -10.48 -10 
+-10.48 -9.98 -7.75 -6.97 -9.31 -7.92 -9.29 -7.9 -14.02 -11.16 -12.35 -9.29 -25.26 -17.66 -1.11 -0.74 
+-26.39 -16.54 -16.84 -9.68 -9.5 -5.16 -26.39 -13.29 -9.33 -4.25 -9.35 -4.25 -7.66 -3.28 -26.39 -10.46 
+-26.39 -9.12 -13.2 -4.1 -13.15 -3.77 -13.2 -3.32 -13.17 -3.34 -13.2 -2.76 -13.18 -2.75 -13.2 -2.19 
+-13.2 -2.17 -13.17 -1.63 -13.2 -1.63 -13.17 -1.08 -13.2 -1.09 -13.17 -0.54 -13.19 -0.54 -26.37 0 
+-13.2 0.54 -13.17 0.54 -13.2 1.09 -13.17 1.08 -13.2 1.63 -13.17 1.63 -13.2 2.17 -13.2 2.19 
+-13.17 2.75 -13.19 2.76 -13.17 3.34 -13.2 3.32 -13.16 3.77 -13.2 4.1 -26.39 9.12 -26.39 10.46 
+-7.66 3.28 -9.33 4.25 -9.36 4.25 -26.39 13.29 -9.5 5.16 -16.84 9.68 -26.39 16.54 -1.11 0.74 
+-25.26 17.66 -12.35 9.29 -14.02 11.16 -9.29 7.9 -9.31 7.92 -7.74 6.97 -10.48 9.98 -10.48 10 
+-5.42 5.47 -10.03 10.74 -10.05 10.75 -6.29 7.14 -16.49 19.82 -9.87 12.67 -10.55 14.28 -15.84 23.13 
+-2.48 3.8 -16.45 26.99 -7.44 13.26 -7.25 13.67 -13.11 26.97 -6.01 13.52 -5.58 13.41 -10.2 26.97 
+-8.87 26.98 -1.71 5.71 -5.86 21.23 -6.34 26.95 -5.12 26.96 -3.97 26.95 -2.82 26.96 -1.69 26.95 p f*
+0 155 255 rG
+2109.18 1584.87 -5.14 7.18 1.91 12.66 6.55 10.76 12.16 12.8 0.73 1.3 6.12 12.83 -3.78 3.71 
+-2.78 2.28 4.36 5.08 3.2 -0.8 8.11 -0.28 12.31 10.8 -2.64 7.9 10.13 9.7 13.39 6.97 
+0 -2 -1 -0.63 -14.11 -9.07 -2.28 -2.17 0.91 -1.96 11.61 -0.08 12.71 12.15 -7.86 1.76 
+0 2 1.02 0.54 11.11 -1.26 15.56 8.96 12.48 5.86 3.47 2.47 6.07 7.38 15.37 8.55 
+7.44 2.5 10.83 5.82 6.27 2.8 14.2 6.49 1.52 0.85 14.13 6.4 6.58 1.78 7.94 3.63 
+13.57 2.64 3.23 1.28 7.9 5.27 7.94 5.14 8.23 4.96 3.28 3.23 -0.18 4.08 0.83 5.36 
+0.41 3.58 10.77 4.49 8.87 5.66 3.06 4.16 2.41 4.58 9.16 -0.8 -2.54 -4.53 -0.8 -4.3 
+5.93 -0.07 12.65 -2.11 3.99 -0.71 11.22 1.64 9.29 -2.88 -3.39 -5.54 -0.57 -3.08 3.46 -1.26 
+9.27 1.43 8.96 1.96 9.27 1.36 9.59 0.07 7.32 -5.21 2.47 -1.04 1.7 1.13 -0.43 7.57 
+8.31 6.08 10.41 -0.2 2.5 0.95 9.92 4.9 11.26 -0.89 10.74 -2.14 11.02 -1.84 3.08 0.54 
+12.93 2.76 3.17 0.76 6.03 5.88 15.78 1.41 3.35 0.16 15.54 0.13 0 -0.78 -1.35 0 
+-12.04 -0.11 -6.67 -0.28 -12.56 -1.11 -6.17 -5.84 -6.29 -1.52 -9.42 -2 -6.18 -1.07 -11.07 1.46 
+-10.39 2.52 -11.27 0.41 -7.09 -3.52 -5.01 -1.89 -10.29 -0.02 -6.54 -4.75 0.43 -7.57 -3.34 -2.23 
+-4.97 2.06 -4.53 3.23 -9.53 0.63 -9.01 -1.65 -8.5 -2.47 -9.25 -1.02 -6.86 2.49 1.09 6.14 
+1.37 2.26 -3.76 1.15 -11.7 -0.63 -7.96 1.41 -8.31 1.37 -11.8 0.11 -4.21 0.33 -4.32 -3.54 
+-3.1 -2.73 -8.05 -5.54 -1.87 -6.14 -1.3 -1.56 -6.73 -5.51 -8.07 -4.93 -7.94 -5.03 -8.31 -5.1 
+-6.45 -2.56 -8.27 -1.61 -12.41 -5.4 -2.56 -1.23 -12.66 -4.76 -10.35 -5.87 -2.36 -1.11 -16.93 -7.54 
+-1.26 -0.7 -14.82 -4.86 -11.2 -6.21 -7.94 -9.33 -3.28 -2.86 -15.3 -7.44 -8.31 -5.17 4.55 -0.63 
+0 -3.75 -8.83 -5.36 7.23 0.59 3.73 3.26 -2.13 1.52 0 3.75 1.32 -0.2 5.02 -3.69 
+-8.92 -7.77 -12.3 -1.24 -14.52 -13.21 -1.17 -1.48 -1.32 0.3 -10.29 0.65 -13.58 -12.76 -1.13 -1.76 
+-6.84 -12.52 -6.62 -14.29 4.04 -7.53 -4.99 -5.55 -7.42 -3.32 -0.11 10.59 -5.02 -3 -0.67 -1.11 
+-1.28 -11.85 2.58 -1.63 3.69 -4.55 9.74 0.26 11.96 8.18 12.11 7.96 12.02 11.11 4.99 6.86 
+7.54 12.09 1.45 1.76 11.85 9.16 5.23 -0.89 -2.62 -9.55 -3.21 -4.45 -11.31 -12.04 2.36 -7.66 
+-1.87 -5.23 -5.42 -8.83 -4.8 -7.16 -4.9 -9.83 -0.24 -10.81 3.17 -8.35 3.41 -8.33 4.84 -7.21 
+5.14 -7.01 11.29 -1.06 -6.34 -9.86 0.93 -8.29 6.23 -0.29 8.4 3.04 6.05 -6.46 7.31 0.15 
+4.6 0.02 11.3 -0.3 7.64 -4.45 4.97 -2.48 5.25 1.21 9.16 -2.43 4.34 3.4 10.71 2 
+2.74 -10.61 1.41 -1 5.81 -3.91 0.57 0.21 8.94 9.16 -0.04 4.04 1.64 9.38 8.33 9.44 
+0.85 7.79 0.98 5.88 1.52 7.77 0.74 6.13 1.73 6.12 3.37 6.05 3.3 8.64 -6.12 2.87 
+-3.71 4.86 3.19 4.94 5.14 1.35 3.47 -4.64 9.89 2.73 5.75 2.34 7.86 2.36 7.4 2.93 
+6.04 1.97 2.82 4.82 -0.54 5.34 -2.52 3.76 1.74 2.54 10.25 7.95 3.32 3.54 1.39 4.95 
+-1.06 3.52 P
+2.39 2.34 7.24 5.54 0 3.38 2.48 1.72 4.06 0.63 9.89 1.34 2.93 0.24 3.99 -1.26 
+-4.54 -3.41 -4.6 -3.25 -2.22 -4.3 1.63 -2.61 1.83 -2.54 2.19 -2.32 -1.11 -2.41 -4.43 -5.14 
+-3.36 -4.43 -3.71 -5.32 -3.58 -4.46 -8.96 -8.45 -9.88 -7.83 -3.03 -7.18 -1.68 -4.36 -6.16 -10.39 
+-0.46 -1.74 -3.91 -9.7 -0.89 -5.43 4.66 -4.77 5.08 -4.51 9.84 5.16 4.42 3.59 7.08 3.95 
+5.4 3.16 6.77 4.08 3.73 1.02 6.23 -1 7.7 5.34 2.82 1.43 5.4 -1.65 5.67 -1.15 
+5.51 -1.41 7.2 6.55 3.89 9.96 2.58 2.69 5.88 6.17 4.14 9.7 1.95 2.62 5.14 6.41 
+3.32 9.66 1.8 1.96 3 -0.16 4.04 6.88 0.34 7.33 -1.97 0.67 -1.98 0.61 0.24 2 
+1.91 6.62 -1.26 0.85 -1.93 -0.26 -0.63 1.64 -1.39 0.52 -1.34 0.54 -1.3 0.58 -1.34 0.57 
+-5.95 -3.52 3.02 4.47 -1.04 0.84 -8.18 -4.69 -2.3 -1.15 -1.46 1.07 -1.37 1.11 -1.3 1.15 
+-1.24 1.17 -1.61 1 2.47 1.64 8.04 4.67 -0.59 1.04 -1.15 0.82 -0.08 1.19 -0.98 0.91 
+-0.15 1.15 -0.44 1.07 -0.06 1.13 -10.5 -0.93 -2.84 -0.18 -0.3 1.48 -0.39 1.45 -1.02 1.41 
+0.56 1.56 -1.08 1.5 -9.12 0.78 -13.8 -0.78 -4.36 0.54 4.55 0.91 10.07 1.76 -0.61 1.95 
+-8.29 1.52 -13.71 0 -5.51 1.08 6.21 1.13 8.33 1.15 6.08 0.5 8.94 0.48 -7.66 2.23 
+-5.69 1.58 1.32 2.32 2.89 2.06 0.57 2.46 -6.05 2.88 -12.72 2.45 -3.36 2.3 -6.43 3.6 
+-13.43 1.2 -2.52 3.16 2.95 3.8 4.04 3.56 3.32 3.69 3.47 3.67 4.8 3.21 5.66 2.73 
+4.77 3.06 4.58 3.13 4.51 3.23 6.95 -1.02 5.38 -1.52 6.27 1.22 5.36 1.89 5.34 1.82 
+-0.18 4.91 0.74 3.21 5.9 2.17 5.77 2.58 1.17 3.73 -4.36 7.36 2.64 5.34 6.03 -3.87 
+5.41 -3.32 7.64 0.37 7.66 -0.35 3.62 -2.37 0.96 -7.99 3.6 -4.19 3.21 4.32 3.17 2.82 
+6.68 -0.54 6.73 -0.22 6.7 -0.48 6.64 -0.84 6.27 -1.65 6.34 -1.43 6.38 -1.43 0.5 -3.16 
+-0.17 -5.21 5.34 -1.82 5.25 -1.93 4.62 -2.47 4.55 -2.47 -0.26 -3.11 -2.12 -3.79 -3.15 -4.04 
+-3.23 -4.55 3.47 -1.96 3.11 -2.16 7.96 1.54 4.11 4.23 3.12 2.88 4.64 0.57 4.63 -2.62 
+3.52 -3.12 5.42 -2.58 -4.88 -3.15 -5.02 -3.5 1.24 -3.27 2.86 -2.86 3.28 -2.85 1.19 -3.19 
+1.09 -3.17 -3.05 -2.04 -5.28 -1.78 -6.79 -1.82 -6.82 -1.99 0.31 -2.43 1.49 -2.34 -5.79 -0.78 
+-9.54 -1.76 2.19 -1.95 -1.23 -1.93 -3.8 -0.37 -9.85 -0.87 0.13 -1.54 9.94 -2.06 13.74 -1.46 
+8.59 0.33 1.17 2.37 -0.09 2.5 3.73 0.69 4 -1.34 0.15 -2.75 -0.21 -2.7 -0.13 -2.71 
+0.71 -2.93 1.29 -3.15 6.61 -3.32 3.23 -2.48 -0.2 -3.23 0.29 -3.5 6.09 -4.32 2.76 -2.91 
+-1.2 -3.41 -4.69 0.8 -8.98 1.82 -0.91 -3.21 5.29 -5.02 10.98 -6.97 3.28 -3.34 -3.32 -2.8 
+-3.26 -2.85 -2.34 -3.53 -5.32 1.67 -9.75 7.82 -1.48 2.47 2.21 2.8 -6.21 6.71 -9.65 3.1 
+-2.62 -1.82 0.09 -3.67 4.1 -5.05 1.55 -3.12 4.7 -7.14 9.57 -7.81 2.73 -4.55 2.71 -6.1 
+0.95 -3.95 -3.77 -3.19 -4.6 -2.34 -4.02 -3.12 -5.58 3.43 -6.36 3.86 -5.09 -1.11 -4.38 -2.06 
+-5.12 -0.93 p
+-3.61 2.47 -6.18 4.99 -4.25 -1.57 -4.58 -0.99 -0.2 -6.67 -0.76 -3.23 -4.84 -1.47 -4.17 -3.95 
+-0.89 -4.04 -2.41 -4.64 -2.04 -6.51 -1.3 -6.09 -1.93 -4.79 -2.97 -4.61 -6.14 -5.08 -0.87 -1.65 
+-2.73 -10.71 2.39 -10.57 3.88 -4.6 8.14 -1.54 7.21 4.91 0.67 -0.7 0 -3.32 -5.93 -4.62 
+8.03 -8.44 1.54 9.35 -3.64 3.71 0 3.32 6.62 -6.71 2.61 -2.49 0.78 0.41 0 -4.38 
+-6.31 -4.78 8.88 -8.68 3.61 10.16 -6.17 3.3 0 4.38 5.91 3.28 0.57 0.76 5.75 8.88 
+1.15 -1.04 0 -3.08 -2.93 -4.82 5.82 -5.75 1.11 6.9 -3.99 3.67 0 3.08 6.81 -6.23 
+2.21 -10.79 0.46 -11.11 7.18 -3.47 9.66 -1.46 7.77 -1.58 2.26 -0.41 11.74 -6.1 7.88 4.8 
+9.33 0.99 9.54 0.65 8.62 2.71 2 0.41 6.81 1.87 7.01 3.54 0.84 0.46 5.99 6.92 
+-0.75 8.48 1.88 5.19 6.34 -1.04 7.16 -4.04 4.84 7.46 2.95 -1.21 0 -2.8 -1.73 -6.21 
+10.85 -6.66 -3.82 10.68 -5.3 2.19 0 2.8 8.09 -3.3 5.78 -4.12 6.07 6.01 2.41 7.5 
+0.5 2.06 -2.34 12.54 -0.2 2.34 2.45 -0.52 8.03 -10.09 10.98 -1 -0.33 10.05 -0.13 2.3 
+2.11 -0.46 11.76 -2.2 5.34 6.13 -0.39 11.26 3.56 7.21 0.11 0.57 2.02 7.64 3.45 0.41 
+6.03 -3.63 0 -4.6 0.46 -6.49 6.6 0.43 -3.25 4.37 -3.8 1.69 0 4.6 5.71 -3.38 
+5.54 -0.29 -0.22 9.34 0.04 1 1.7 2.28 4.05 3.17 -0.28 4.97 -10.25 11.24 -4.99 3.86 
+-0.78 9.07 4.62 -1.35 0 -1.45 2.47 -6.38 8.21 -0.41 -6.58 5.58 -4.1 1.21 0 1.45 
+4.49 -1.3 11.61 -8.77 4.71 -1.39 0 -23.75 -9.27 -2.49 -1.58 -9.14 0.3 -6.55 6.59 0.52 
+4.8 6.77 -0.84 10.89 0 23.75 8.31 -2.43 2.76 0.74 -1.61 3.3 -1.06 7.96 3.75 4.79 
+3.91 -0.3 5.38 -0.71 0 -19.14 -2.58 -1.41 -4.93 -6.49 -4.43 -6.86 -8.74 -3.43 4.82 -5.71 
+0 -9.03 -4.43 -7.29 -2.11 -6.05 4.47 3.89 4.71 7.14 -0.65 2.3 -1.99 0.02 0 9.03 
+4.21 -5.02 3.02 -10.45 -4.78 -7.27 -5.8 -6.4 1.7 -9.27 1.84 -7.12 -2.23 -11.17 0.28 -2.15 
+4.3 -3.28 9.24 -2.02 3.97 0.76 8.05 5.01 5.45 7.92 -2.15 4.77 -2.93 13.93 6.55 6.08 
+1.08 11.15 0.24 4.04 -4.53 11.26 -1.8 9.38 -6.32 7.81 -3.54 5.93 0 19.14 3.87 -0.5 
+6.07 0.93 -5.08 9.38 -4.03 5.68 -0.09 9.18 4.21 1 12.79 -8.75 5.05 4.51 -3.93 11.75 
+-2.99 4.88 -3.88 7.94 -12.87 14.32 -10.37 2.37 -2.3 0.52 -3.28 4.06 -3.21 9.48 1.41 1.22 
+9.94 -5.32 6.16 -6.92 -0.46 4.71 2.24 7.88 4.9 0.3 3.37 5.41 -7.66 11.79 -6.71 4.88 
+-17.79 11.16 -3.15 9.44 -7.05 4.36 -11.93 7.88 -11.24 5.91 -12.2 5.21 2.64 4.69 12.87 -1 
+9.27 2.32 13.25 -2.04 0.29 0.61 -1.8 0.96 -13.11 1.84 -16.88 10.22 -11.72 4.99 -10.89 -1.21 
+-0.5 -3.37 -2.47 -4.69 -11.66 4.04 -10.39 3.28 -12.63 -0.8 -10.63 -2.52 -1.08 -4.43 8.53 -6.73 
+7.05 -7.01 -0.29 -4.82 -10.26 3.64 -10.39 2.45 -8.23 1.87 -9.72 5.23 -6.86 5.86 -9.59 4.86 
+-9.46 4.73 -7.96 5.38 -2.17 4.75 10.46 3.82 8.42 4.5 8.88 4.1 -1.91 5.19 -11.48 0.8 
+-8.77 0.89 p
+0 0.78 1.36 0 4.39 -0.43 16.57 -1.13 2.68 -7.49 -9.12 -3.93 -8.79 -4.32 -9.68 -4.12 
+1.06 -2.39 8.88 -5.1 9.41 -4.95 9.27 -5.16 7.64 -5.8 8.86 -5.6 4.12 -0.91 14.91 -3.54 
+5.16 -1.82 0.11 2.41 -7.45 6.84 -8.46 6.6 1.54 6.64 10.88 2.39 11.98 1.32 16.37 -5.12 
+5.86 -2.04 1.2 2.37 0.83 6.34 11.45 0.8 17.97 -7.64 8.55 -5.12 13.02 -1.56 13.84 -7.4 
+11.03 -7.25 11.52 -7.55 -0.84 -5.41 -11.54 8.62 -12.44 7.01 -13.34 2.32 -11.3 -0.2 -12.98 1.2 
+-1.37 -2.32 6.12 -2.62 16.61 -8.73 6.03 -3.95 14.28 -8.83 5.21 -10.11 8.96 -5.64 14.64 -10.71 
+7.55 -10.12 3.73 -3.38 -2.08 -0.24 -3.95 -6.36 -2.2 -6.7 -0.8 -1 1.91 -2.34 9.42 -12 
+0.97 -9.79 8.38 -13.87 0 -29.97 -7.16 -5.23 -5.12 0.37 -7.55 -1.67 -2.23 -8.45 5.2 -10.39 
+7.27 1.08 5.55 1.41 0 -6.6 -0.59 -0.02 -11.76 -0.2 3.56 -13.98 1.91 -4.77 -0.41 -8.23 
+3.25 -15.58 -9.68 -3 1.97 -9.42 5.45 -12.26 -6.75 -6.62 -9.12 -3.82 -10.24 -1.84 -0.55 0.11 
+-10.33 7.98 -0.67 5.21 -0.78 13.13 -10.57 1.26 -1.81 0.21 1.11 -13.59 0.2 -1.19 -4.69 -8.64 
+-5.58 -7.86 0.05 -8.62 8.14 -2.32 6.6 -2.78 3.36 -1.39 0 -12.65 -9.05 -1.76 -0.91 -5.4 
+6.3 -3.02 3.66 10.18 0 12.65 7.05 -2.87 4.34 -0.67 9.16 -1.3 8.18 -1.22 6.04 -1.69 
+11.37 -0.31 1.32 -0.37 10.48 2.52 0.71 11.26 -6.14 12.28 10.8 2 7.9 5.53 6.32 6.14 
+8.98 -11.39 1.06 0.37 1.76 4.19 1.58 6.99 1.87 -0.98 8.72 3.23 7.88 5.43 1.78 12.39 
+-4.21 12.13 -10.92 9.53 -3.82 10.92 -4.47 10.59 -10.86 3.04 -1.86 -0.33 -9.45 -1.67 -4.46 0.2 
+-10.75 1.08 -2.47 1.17 0 6.6 1.82 0.45 5.4 -1.02 8.29 1.87 2 1.02 -1.15 3.93 
+-9.89 14.93 -1.18 1.3 -1.26 0.39 0 29.97 0.24 -0.41 0.67 -1.26 13.11 -13.71 5.77 -7.6 
+2.19 -12.24 3.3 -11.74 2 -3.43 9.16 -8.96 7.4 -17.54 1.32 -3.75 10.59 -10.89 6.05 -17.51 
+-3 -11.07 -6.7 -6.9 -7.45 -6.1 -4.77 -9.68 -9.53 -3.66 -6.29 -8.05 -6.57 -7.92 -1.33 0.32 
+-8.24 -4.19 -8.88 -4.9 -8.2 2.28 -5.71 0.17 -10.61 3.02 -4.1 0.63 -13.32 1.95 -0.16 0.02 
+-0.26 -0.35 -2.97 -12.72 -5.25 -9.92 -0.24 -0.57 -0.48 0.09 -13.3 6.66 2 11.75 9.27 3.95 
+-2.54 6.77 -3.19 1.37 -11.98 3.45 -0.06 12.68 6.07 7.12 2.32 4.47 -5.9 12.89 -0.28 0.79 
+1.39 0.32 5.51 5.04 0.76 1.76 -4.91 14.45 -0.07 0.7 -1.45 0.76 -12.66 0.68 -3.71 -7.81 
+-4.66 -7.14 -3.93 -8.2 -7.17 -4.8 -7.72 3.89 -7.4 0.8 -7.81 -3.67 -3.11 -9.77 -0.8 -1.15 
+-2.58 -8.98 -10.03 -1.09 -3.71 0.35 -6.96 -0.2 -8.21 6.03 -9.39 5.1 0.43 -9.52 7.75 -9.72 
+-2.21 -1.96 -2.04 -1.78 -7.57 -5.17 -9 0.05 -1.33 -0.07 -9.52 -1.5 -8.62 -3.32 -9.53 -1.39 
+-8.33 -4.36 -9.39 -1.82 -2.74 -2.73 -4.6 -5.64 -9.37 -2.71 -3.84 4.56 -9.01 5.92 -9.09 -2.86 
+-8.36 3.88 -2.99 3.78 -8.51 -0.24 -0.93 -0.02 -9.61 1.23 -8.12 3.09 6.27 9.44 1.39 2.22 
+-1.96 1.45 -9.68 7.01 -0.46 1.41 -2.54 10.66 -6.87 2.54 -6.27 7.46 -1.5 10.59 1.04 10.66 
+3.34 6.23 p
+6.27 2.75 1.5 2.3 3.16 7.9 0.65 3.04 2.73 8.72 1.21 2.3 1.65 7.49 4.54 2.39 
+4.86 1.25 0.39 1.61 0.26 8.77 4.43 1.08 4.23 1.39 8.09 -6.51 1.8 -1.24 4.84 1.29 
+4.38 1.89 4.71 1.5 8.99 -5.47 2.79 -1.7 4.26 2.68 4.49 2.34 3.99 2.84 -0.48 1.98 
+-3.82 8.48 -1.37 2.28 -9.37 7.94 -5.64 8.53 -0.76 1.56 -5.86 7.18 1.04 2.82 2.37 1.93 
+11.46 -3.68 7.38 -7.96 -2.49 -2.69 0.74 -1.23 10.03 -7.62 2.64 -0.83 2.71 3.17 3.11 2.88 
+3.04 2.91 -1.65 1.66 -11.13 6.8 -7.36 6.94 1.34 2.91 11.46 -2.32 2.34 -0.39 1.48 3.23 
+-1.39 1.43 -8.64 6.12 0.44 3.14 0.56 3.06 -1.61 1.21 -9.61 4.8 -0.39 2.84 -0.2 2.75 
+0.14 2.67 0.08 2.67 -0.17 2.69 -2 0.67 -1.86 -0.34 0.15 -2.56 -0.59 -2.5 -11.17 -0.39 
+-4.11 0.48 -9.63 1.13 -11.85 2.46 -0.11 1.47 11.72 1.04 1.89 0.2 0.46 1.89 -1.3 1.87 
+11.29 2.12 2.88 0.39 -1.15 2.3 -0.62 2.3 9.5 2.84 3.38 0.91 8.54 2.93 1.52 1.02 
+-1.46 3.05 -1.58 3.06 -2.73 2.85 -2.65 2.82 -1.91 3.02 6.96 4.9 2.43 1.59 -4.38 2.78 
+-3.54 3.02 -4.19 2.69 -2.32 -0.28 -1.56 -1.43 -5.6 -5.73 -10.8 -2.13 -3.06 2.06 -3.32 1.91 
+4.38 6.23 1.56 2.02 3.32 6 0.11 1.54 -4.62 2.32 -4.71 2.23 -5.12 1.89 -5.23 1.76 
+0.22 7.01 -0.24 1.58 -5.88 1.41 -0.33 0.07 -6.25 1.39 -6.25 1.37 -2.47 0.35 -4 0.54 
+-6.55 0.57 -6.55 0.34 -6.57 0.39 -1.59 -1.43 -1.84 -2.47 -2.8 -3.76 -5.21 6.06 -1.06 7.98 
+-1.8 1.18 -7.42 -0.09 -7.4 -0.56 -8.01 4.93 -2.99 1.93 -1.34 -2.67 3.95 -7.44 -1.97 -6.27 
+-5.95 -1.96 -5.97 -1.86 -0.37 -1.59 0.22 -6.88 -5.23 -1.75 -5.16 -1.84 -5.54 -1.61 -9.36 2.64 
+-3.45 0.52 -4.79 -2.95 -4.73 -2.95 -4.71 -3 -5.04 -2.88 -4.49 -3.19 -3.71 -3.5 -3.52 -3.54 
+-3.73 -3.54 -3.08 -3.69 1.24 -1.59 12.96 -1.82 8.18 -4.62 1.67 -1.15 12.59 -2.61 8.4 -4.03 
+-1.07 -2.29 -2.12 -2.08 -1.28 -2.23 2.82 -0.8 9.96 -2.93 -11.61 -0.61 -3.04 -0.24 -11.39 -1.56 
+-3.1 -0.57 2.78 -0.54 13.67 -0.13 10.65 -2 0.09 -1.88 -12.09 -2.08 -2.28 -0.43 2.19 -0.29 
+13.78 0.68 11.35 -1.02 0.5 -1.45 -0.28 -1.48 0.54 -1.41 0.28 -1.43 0.3 -1.43 1.41 0.07 
+12.15 1.06 0.2 -1.04 0.39 -1.02 0.28 -1.06 0.74 -0.91 0.32 -1.06 0.89 -0.87 0.61 -0.98 
+-9.48 -5.46 -1.24 -0.82 1.34 -1.09 1.22 -1.15 1.26 -1.11 1.35 -1.08 1.41 -1.05 1.15 0.59 
+9.55 5.45 1.04 -0.76 -0.96 -2.56 3.54 1.45 1.26 -0.58 1.26 -0.57 1.3 -0.52 1.35 -0.5 
+0.96 -1.04 1.64 -0.07 1.3 -0.61 -2.32 -8.07 -0.13 -1 1.96 -0.5 1.97 -0.49 -0.24 -5.17 
+-0.17 -3.43 -4.73 -8.07 -2.99 0.32 -0.92 -0.98 -3.32 -9.66 -6.21 -7.7 -0.98 -1.32 -3.91 -9.74 
+-7.16 -7.53 -1.3 -1.37 -3.91 -9.94 -8.38 -7.64 -1.8 0.46 -3.78 0.95 -5.59 1.37 -5.45 1.67 
+-1.41 -0.72 -9.46 -6.59 -5.95 1.54 -1.89 -0.5 -9.41 -5.73 -2.7 -1.59 -9.83 -5.53 -2.22 -1.78 
+-11.41 -6.04 -5.69 3.8 -5.4 4.02 1.5 9.03 1.96 4.88 1.82 7.01 7.48 9.57 0.85 2.2 
+3.95 9.35 p
+9.7 7.97 9.35 8.18 1.81 2.23 5.36 7.71 1.67 2.21 6.25 7.3 0.57 1.21 -2.24 2.36 
+-1.97 2.5 -1.8 2.56 0.17 3.45 7.68 5.49 2.28 1.71 -2.63 1.8 -1.45 -0.11 -11.94 -1.67 
+-2.04 -0.3 -1.24 -0.87 0.66 -3.08 -9.01 -6.82 -1.19 -1.2 1.5 -3.23 0.35 -3.91 -6.17 -6.51 
+-10.66 -7.42 -0.87 -1.28 2.8 -3.5 1.89 -4.25 -4.64 -7.9 -9.94 -3.29 -3.69 -1.46 -10.98 -3.37 
+-2.86 -1.17 -12.11 -3.38 -3.78 4.5 -2.58 -0.7 -1.61 -2.46 3.91 -4.57 5.25 -3.54 -4.08 -10.66 
+-1.69 -3.02 -2.74 -9.61 -0.37 -3.04 -2.08 -10.61 -0.48 -2.93 -1.2 -10.74 -7.94 -9.66 -0.83 -4.67 
+0.07 -9.12 -7.88 -9.72 -7.64 -3.14 -7.57 4.71 -0.04 7.34 -1.37 5.4 -5.36 -1.02 -9.5 -8.92 
+-4.95 -1.71 -8.38 3.75 -7.66 4.64 -7.27 5.06 -7.7 -0.21 -6.86 -3.23 -10.16 1.97 -1.26 0.24 
+-11.33 -0.93 -6.55 0.2 -6.03 -0.71 -9.88 -1.69 -4.12 -0.3 -0.57 6.08 2.2 9.48 -3.45 9.41 
+-4.38 8.21 -5.02 6.45 -0.46 0.56 -3.9 8.34 -3.64 8.4 2.17 9.36 1.17 4.55 -3.56 7.98 
+4.34 13.59 -6.84 -4.34 -11.76 -9.05 -12.55 -3.73 -5.23 0.3 p f*
+2 239 204 rG
+2113.04 1595.53 -2.58 1.63 1.28 11.85 0.67 1.11 5.02 3 0.11 -10.59 7.42 3.32 4.99 5.55 
+-4.04 7.53 6.62 14.29 6.84 12.52 1.13 1.76 13.58 12.76 10.29 -0.65 1.32 -0.3 1.17 1.48 
+14.52 13.21 12.3 1.24 8.92 7.77 -5.02 3.69 -1.32 0.2 -4.55 0.63 8.31 5.17 15.3 7.44 
+3.28 2.86 7.94 9.33 11.2 6.21 14.82 4.86 1.26 0.7 16.93 7.54 2.36 1.11 10.35 5.88 
+12.66 4.76 2.56 1.23 12.41 5.4 8.27 1.61 6.45 2.56 8.31 5.1 7.94 5.03 8.07 4.93 
+6.73 5.51 1.3 1.56 1.87 6.14 8.05 5.54 3.1 2.73 4.32 3.54 4.21 -0.33 11.8 -0.11 
+8.31 -1.37 7.96 -1.41 11.7 0.63 3.76 -1.15 -1.37 -2.26 -1.09 -6.14 6.86 -2.49 9.25 1.02 
+8.5 2.47 9.01 1.65 9.53 -0.63 4.53 -3.23 4.97 -2.06 3.34 2.23 -0.43 7.57 6.54 4.75 
+10.29 0.02 5.01 1.89 7.09 3.52 11.27 -0.41 10.39 -2.52 11.07 -1.46 6.18 1.07 9.42 2 
+6.29 1.52 6.17 5.84 12.56 1.11 6.67 0.28 12.04 0.11 0 -0.8 -1.37 0 -8.55 -0.07 
+-9.94 -0.41 -9.39 -0.82 -6.27 -5.8 -9.44 -2.26 -5.91 -1.26 -9.25 -1.58 -11.13 1.06 -10.02 2.91 
+-11.27 -0.07 -4.32 -2.13 -7.51 -2.82 -10.18 -0.21 -4.71 -3.45 0.43 -7.57 -5.02 -3.37 -7.44 3.09 
+-1.79 1.26 -9.48 1.32 -8.74 -1.91 -8.03 -3.02 -9.22 -0.63 -10.27 3.75 0.21 7.94 -6.05 0.02 
+-3.62 0.02 -11.89 2.11 -4.01 0.65 -12.83 -1.62 -9.16 -4.68 -3.3 -5.14 -2 -1.7 -3.93 -6.99 
+-10.37 -3.58 -7.9 -4.88 -7.94 -4.95 -8.73 -4.91 -9.59 -3.84 -3.06 -0.58 -13.22 -5.1 -7.92 -3.84 
+-5.46 -2.08 -13.09 -6.73 -4.1 -2.08 -13.18 -5.77 -5.32 -2.23 -15.47 -4.82 -7.03 -3.91 -8.36 -9.28 
+-7.31 -6.41 -13.67 -6.95 6.58 -5.88 -14.02 -12.24 -9.94 -1.21 -2.47 -0.31 -8.16 -7.4 -7.68 -9.77 
+-8.98 1.95 -2.54 0.13 -3.34 -3.1 2.17 0.3 0 -3.36 -0.57 -0.59 -9.18 -9.89 8.36 0.5 
+7.29 8.03 -5.91 1.96 0 3.36 0.63 0.11 9.53 -3.28 -11.8 -12.93 -12.43 -3.19 -4.88 -9.91 
+4.25 -4.56 12.54 7.79 4.73 0.28 -4.67 -4.36 -0.11 -0.08 -12.46 -7.21 -11.96 -13.2 -4.47 -8.05 
+5.32 0.08 12.11 7.32 12.11 8.44 8.57 10.27 3.41 7.11 4.97 6.95 8.13 8.09 10.87 10.03 
+3.13 3.71 13.54 6.9 8.05 7.25 6.86 4.1 0.58 0.36 0 -1.95 -1.04 -0.26 -0.32 -0.19 
+0.13 -0.61 1.23 1.07 0 1.95 14.74 9.66 0.04 0.02 0.28 0.04 2.32 -6.4 -5.81 -4.84 
+-7.97 -6.62 -5.14 -9.33 -2.9 -6.05 -5.58 -5.12 -7.73 -6.49 -4.99 -7.68 -3.62 -10.44 -2.91 -4.71 
+-1.39 -6.64 -3.45 -11.41 -2.65 -8.86 -2.11 -4.14 -2.3 -11.94 6.14 -5.58 7.05 0.8 2.97 0.22 
+0 -30.21 2.07 -5.23 2.26 -0.17 -0.83 1.63 -3.5 3.78 0 30.21 4.52 0.35 -0.67 -11.09 
+7.59 -4.18 -1.15 -6.34 -0.87 -6.87 7.05 -0.93 3.89 -0.09 6.9 -4.88 0.02 -6.77 0.56 -4.96 
+5.14 -0.48 6.34 0.46 7.98 -3.82 7.33 2.07 6.54 11.41 8.5 1.09 0 -1.63 -1.64 -0.22 
+-5.14 -0.67 -3.97 -11.5 7.14 -4.62 10.96 5.49 -0.76 6.82 -6.58 4.71 0 1.63 1.65 0.19 
+6.6 -4.58 1.15 -10.2 -0.09 -1.33 4 -8.66 9.74 1.43 3.14 12.61 8.73 9.2 0.52 4.82 
+1.45 8.86 P
+0.96 4.91 1.13 9.22 0.74 2.63 5.03 9.09 2.52 6.62 -7.01 2.19 -3.49 5.14 4.77 7.44 
+7.73 2 3.12 -4.82 7.68 2.11 8.64 3.49 4.73 1.41 11.11 4.34 2.13 0.7 1 1.72 
+0.82 6.42 -2.25 4.02 2.58 3.82 9.85 8.47 0.5 0.54 3.08 5.99 -0.61 3.8 3.56 3.54 
+5.49 4.19 0.67 3.71 3.71 2.6 6.1 0.91 7.84 1.07 4.4 0.32 5.36 -0.71 -6.79 -5.08 
+-1.52 -1.07 -4.25 -5.1 1.45 -2.64 1.68 -2.56 2.16 -2.32 -1.66 -3.58 -2.61 -3.02 -5.03 -6.62 
+-2.07 -2.93 -5.38 -6.68 -8.55 -8.74 -10.05 -7.71 -2.13 -5.01 -2.52 -6.51 -4.51 -8.4 -1.24 -2.21 
+-4.02 -11.57 -0.3 -1.84 3.93 -5.54 4.45 -5.25 8.27 4.34 6.64 5.34 4.32 2.4 8.12 4.71 
+4.13 2.47 5.57 1.5 6.54 -0.45 5.93 4.12 4.25 2.11 5.36 -1.61 5.7 -0.93 5.47 -1.41 
+6.01 5.46 3.84 9.96 3.88 4.04 4.61 4.8 4.38 9.65 2.93 3.95 4.1 5.08 3.3 9.68 
+2.69 2.91 3 0 3.37 5.71 0.28 6.1 -2 0.82 -1.97 0.72 0.32 2.99 1.5 5.17 
+-1.22 1.11 -2.23 -0.61 -0.29 2.28 -1.43 0.52 -1.39 0.56 -1.37 0.61 -1.41 0.56 -7.12 -4.66 
+-0.48 -0.3 0.29 0.41 4.05 5.36 -1.04 0.93 -6.84 -3.93 -3.45 -1.76 -1.47 1.09 -1.43 1.13 
+-1.32 1.19 -1.29 1.21 -1.86 0.92 3.73 2.5 6.56 3.82 -0.52 1.11 -1.43 0.8 0.13 1.32 
+-1.21 0.89 0 1.24 -0.46 1.11 0.04 1.22 -8.86 -0.81 -4.25 -0.23 -0.32 1.49 -0.5 1.5 
+-1.5 1.39 0.85 1.64 -1.67 1.5 -6.88 0.58 -13.78 -0.89 -6.56 0.8 6.82 1.39 8.07 1.41 
+-1.15 2.02 -5.93 1.08 -13.74 -0.15 -8.29 1.58 9.31 1.72 5.27 0.75 9.13 0.76 6.25 0.35 
+-5.36 1.56 -8.53 2.3 1.37 2.45 3.65 2.02 0.08 2.62 -3.75 1.79 -12.83 2.25 -5.05 3.45 
+-4.67 2.59 -13.89 0.58 -3.82 4.73 2.82 3.93 4.32 3.56 3.14 3.84 3.21 3.86 5.1 3.21 
+6.29 2.61 4.84 3.11 4.47 3.32 4.23 3.52 10.42 -1.54 1.41 -0.39 7.01 0.84 5.53 1.89 
+5.49 1.9 -0.12 2.96 1.08 4.82 5.82 2.5 5.62 3.19 0.37 1.22 -4.77 7.27 3.97 8.01 
+9.03 -5.8 2.82 -1.73 7.88 0.17 7.89 -0.79 5.45 -3.53 0.84 -8.01 2 -2.3 1.76 2.37 
+4.79 4.27 6.79 -0.69 6.86 -0.13 6.9 -0.37 6.79 -0.83 6.27 -1.91 6.45 -1.47 6.57 -1.39 
+0.74 -4.76 -0.13 -3.43 5.47 -1.87 5.38 -1.97 4.52 -2.72 4.49 -2.64 -0.41 -4.64 -0.93 -1.65 
+-4.73 -6.01 -2.08 -2.91 3.62 -2 3.14 -2.28 5.12 0.98 2.63 2.73 4.62 4.32 7.01 0.88 
+5.08 -2.56 3.47 -3.23 6.49 -2.41 -7.38 -4.69 -3.04 -2.13 0.54 -3.51 3.13 -2.89 3.82 -2.85 
+0.76 -3.34 0.76 -3.28 -4.62 -3.04 -2.04 -0.68 -10.18 -2.66 -4.15 -1.22 0 -2.52 1.85 -2.43 
+-8.7 -1.11 -7.79 -1.43 3.06 -2.02 -2.02 -1.98 -5.68 -0.56 -8.01 -0.7 0.16 -1.58 8.05 -1.67 
+13.74 -1.29 5.99 0.24 1.78 2.22 -0.02 2.45 5.58 1.04 5.99 -2.04 0.11 -2.8 -0.3 -2.74 
+-0.15 -2.78 1.26 -3.08 2.13 -3.43 3.63 -1.84 4.88 -3.71 0.18 -3.43 1 -3.84 3.54 -2.54 
+4.14 -4.36 -0.91 -3.61 -7.05 1.24 -6.5 1.34 -0.44 -3.55 3.2 -3.04 10.88 -7.16 4.9 -5.04 
+-3.62 -2.67 p
+-3.41 -2.8 -1.98 -3.91 -7.96 2.52 -9.48 8.03 -2.24 3.69 1.98 2.91 -5.05 5.45 -7.86 2.54 
+-2.89 -1.71 1.22 -4.54 2.36 -2.91 2.3 -4.71 3.77 -5.73 9.77 -7.68 4.08 -6.86 1.63 -3.67 
+1.43 -5.97 -3.54 -3.53 -4.73 -2.32 -3.75 -3.56 -8.37 5.14 -3.73 2.28 -5.45 -0.76 -4.36 -2.23 
+-5.43 -0.58 -5.4 3.73 -4.28 3.45 -4.29 -1.71 -4.71 -0.91 -0.13 -4.55 -1.13 -4.87 -4.82 -1.71 
+-3.79 -5.49 -0.13 -0.59 -3.62 -7.01 -1.32 -4.25 -1.96 -9.16 -0.7 -1.71 -4.46 -6.92 -4.54 -4.41 
+-1.56 -2.06 -2.69 -8.79 3.25 -10.5 1.48 -1.76 7.77 0.47 3.75 2.2 3.25 2.71 4.63 -1.91 
+4.43 -4.64 6.68 5.47 0.8 0.76 -1.7 10.66 2.89 8.61 0.78 -0.63 0 -1.95 -1.91 -5.75 
+5.84 -7.62 1.57 8.92 -4.71 3.84 -0.79 0.61 0 1.95 7.47 -6.01 1.69 -1.45 0.96 -0.59 
+0 -2.32 -3.93 -6.92 8.27 -6.49 2.86 8.66 -6.25 4.12 -0.95 0.63 0 2.32 8.85 -5.43 
+2.3 -0.78 0.07 -5.75 -1.75 -5.88 6.77 -9.87 0.79 -1.04 11.07 -6.27 4.06 -0.5 5.51 -0.78 
+9.07 0.46 9.87 -1.2 9.01 1.04 6.99 5.08 8.68 1.67 6.96 0.04 2.61 0.24 0.7 1.17 
+4.75 5.88 3.86 8.81 9.53 0.43 7.74 2.97 9.21 1.2 1.23 -0.02 10.57 -1.78 4.01 7.79 
+-0.7 3.67 -0.78 9.5 10.02 -2.04 8.29 -6.01 0.71 10.54 12.42 -2.54 1.61 -0.29 7.44 3.87 
+-0.57 5.58 -8.7 3.02 0.37 -11.03 -13.93 3.8 -1.58 0.48 -12.52 4.23 -2.67 9.98 -1.11 4.67 
+-2.36 7.4 3.02 -0.48 0 -1.99 0.99 -3.17 2.11 -8.83 1.63 -6.08 7.59 -2.52 6.64 -1.98 
+9.01 -2.41 -1.98 9.81 -9.27 9.7 -10 3.7 -3.37 1.23 -3.36 0.55 0 1.99 4.91 -0.75 
+7.77 -2.67 7.12 -0.3 5.34 -0.65 7.27 3.52 0.61 0.33 0 -8.16 -1.91 -0.61 -0.11 -1.95 
+6.23 -3.28 -4.21 5.84 0 8.16 6.25 3.6 1.59 -0.52 12.09 -0.54 3.19 -0.57 10.44 -0.21 
+5.02 5.92 -7.14 11.8 -11.45 8.51 -12.2 6.64 -2.7 3.45 3.56 -0.79 12.15 -0.21 1.96 -0.24 
+12.95 -4.23 12.31 -6.49 6.55 -1.21 2.69 7.5 0.59 8.75 -5.51 9.46 -9.01 -1.21 -4.32 0.61 
+-2.52 3.04 -0.42 8.36 -3.9 9.77 7.57 -2.76 3.52 -2.34 9.36 -10.39 8.89 1.15 -1.78 9.61 
+0.57 8.29 -1.65 9.22 -4.32 10.16 -2.95 9.37 -6.7 10.46 6.57 5.97 0.46 0.02 -1.37 2 
+-6.19 8.55 0.78 2.06 12.13 -1.2 6.49 1.96 -10.57 5.18 -15.71 10.37 3.04 7.9 -3.38 2.3 
+-13.83 9.36 -5.92 3.11 -9.12 3.86 -9.09 3.88 3.84 7.09 12.79 -0.82 3.47 1.11 -12.89 10.18 
+-5.54 2.37 -10.37 -1.63 -0.06 -0.43 -3.82 -6.99 -13.37 4.64 -4.02 1.41 -4.53 1.41 -13.22 -0.26 
+-10.41 -2.65 -0.57 -2.23 8.62 -6.86 6.64 -7.16 -0.52 -7.25 -15.32 5.49 -5.9 1.39 -12.29 2.78 
+-10.59 4.84 -6.08 5.95 -9.94 4.58 -9.48 4.49 -7.07 5.67 -3.32 7.12 11.26 3.52 8.05 4.69 
+8.61 4.23 -1.09 2.91 -6.42 0.46 -13.11 1.37 0 0.8 1.35 0 8.77 -0.89 11.48 -0.8 
+1.91 -5.19 -8.87 -4.1 -8.42 -4.5 -10.46 -3.82 2.17 -4.75 7.96 -5.38 9.46 -4.73 9.59 -4.86 
+6.86 -5.86 9.72 -5.23 8.23 -1.87 10.39 -2.45 10.26 -3.64 0.29 4.82 -7.05 7.01 -8.53 6.73 
+1.08 4.43 p
+10.63 2.52 12.63 0.8 10.39 -3.28 11.66 -4.04 2.47 4.69 0.5 3.37 10.89 1.21 11.72 -4.99 
+16.88 -10.22 13.11 -1.84 1.8 -0.96 -0.29 -0.61 -13.25 2.04 -9.27 -2.32 -12.87 1 -2.64 -4.69 
+12.2 -5.21 11.24 -5.91 11.93 -7.88 7.05 -4.36 3.15 -9.44 17.79 -11.16 6.71 -4.88 7.66 -11.79 
+-3.37 -5.41 -4.9 -0.3 -2.24 -7.87 0.46 -4.71 -6.16 6.92 -9.94 5.32 -1.41 -1.22 3.21 -9.48 
+3.28 -4.06 2.3 -0.52 0 -6.05 14 -11.87 3.34 4.11 -5.58 6.23 -11.76 1.54 0 6.05 
+10.37 -2.37 12.88 -14.32 3.88 -7.94 2.99 -4.88 3.93 -11.75 -5.05 -4.51 -12.79 8.75 -4.21 -1 
+0.09 -9.18 4.03 -5.68 5.08 -9.38 -6.07 -0.93 -3.87 0.5 -5.38 0.71 -3.91 0.3 -3.75 -4.79 
+1.06 -7.96 1.61 -3.3 -2.76 -0.74 -8.31 2.43 -4.71 1.39 -11.61 8.77 -4.49 1.3 -4.62 1.35 
+0.78 -9.07 4.99 -3.86 10.25 -11.24 0.28 -4.97 -4.05 -3.17 -1.7 -2.28 -0.04 -1 0.22 -9.34 
+-5.54 0.29 -5.71 3.38 -6.03 3.63 -3.45 -0.41 -2.02 -7.64 -0.11 -0.57 -3.56 -7.21 0.39 -11.26 
+-5.34 -6.12 -11.76 2.2 -2.11 0.46 0.13 -2.3 0.33 -10.05 -10.98 1 -8.03 10.09 -2.45 0.52 
+0.2 -2.34 2.34 -12.54 -0.5 -2.06 -2.41 -7.5 -6.07 -6.01 -5.78 4.12 -8.09 3.3 -2.95 1.21 
+-4.84 -7.46 -7.16 4.04 -6.34 1.04 -1.88 -5.19 0.75 -8.48 -5.99 -6.92 -0.84 -0.46 -7.01 -3.54 
+-6.81 -1.87 -2 -0.41 -8.62 -2.71 -9.54 -0.65 -9.33 -0.99 -7.88 -4.8 -11.74 6.1 -2.26 0.41 
+-7.77 1.58 -9.66 1.46 -7.18 3.47 -0.46 11.11 -2.21 10.79 -6.81 6.23 -1.15 1.04 -5.75 -8.87 
+-0.57 -0.76 -5.91 -3.28 -0.78 -0.41 -2.61 2.49 -6.62 6.71 -0.67 0.7 -7.21 -4.91 -8.14 1.54 
+-3.88 4.6 -2.39 10.57 2.73 10.71 0.87 1.65 6.14 5.08 2.97 4.61 1.93 4.79 1.3 6.09 
+2.04 6.51 2.41 4.64 0.89 4.04 4.17 3.95 4.84 1.47 0.76 3.23 0.2 6.67 4.58 0.99 
+4.25 1.57 6.18 -4.99 3.61 -2.47 5.12 0.93 4.38 2.06 5.09 1.11 6.36 -3.86 5.58 -3.43 
+4.02 3.13 4.6 2.34 3.77 3.19 -0.95 3.95 -2.71 6.1 -2.73 4.55 -9.57 7.81 -4.7 7.14 
+-1.55 3.12 -4.1 5.05 -0.09 3.67 2.63 1.82 9.65 -3.1 6.21 -6.71 -2.21 -2.8 1.48 -2.47 
+9.75 -7.82 5.32 -1.67 2.34 3.53 3.26 2.85 3.32 2.8 -3.28 3.34 -10.98 6.97 -5.29 5.02 
+0.91 3.21 8.98 -1.82 4.69 -0.8 1.2 3.41 -2.76 2.91 -6.09 4.32 -0.29 3.5 0.2 3.23 
+-3.23 2.48 -6.61 3.32 -1.29 3.15 -0.71 2.93 0.13 2.71 0.21 2.7 -0.15 2.75 -4 1.34 
+-3.73 -0.69 0.09 -2.5 -1.17 -2.37 -8.59 -0.33 -13.74 1.46 -9.94 2.06 -0.12 1.54 9.85 0.87 
+3.8 0.37 1.23 1.93 -2.19 1.95 9.54 1.76 5.79 0.78 -1.49 2.34 -0.31 2.43 6.82 1.99 
+6.79 1.82 5.28 1.78 3.05 2.04 -1.09 3.17 -1.19 3.19 -3.28 2.85 -2.86 2.86 -1.24 3.27 
+5.02 3.5 4.88 3.15 -5.42 2.58 -3.52 3.13 -4.62 2.63 -4.64 -0.57 -3.12 -2.88 -4.11 -4.23 
+-7.96 -1.54 -3.11 2.16 -3.47 1.96 3.23 4.55 3.15 4.04 2.13 3.79 0.26 3.11 -4.55 2.47 
+-4.62 2.47 -5.25 1.93 -5.34 1.82 0.17 5.21 -0.5 3.16 -6.38 1.43 -6.34 1.43 -6.27 1.65 
+-6.64 0.84 p
+-6.7 0.48 -6.73 0.22 -6.68 0.54 -3.17 -2.82 -3.21 -4.32 -3.6 4.19 -0.96 7.99 -3.62 2.37 
+-7.66 0.35 -7.64 -0.37 -5.41 3.32 -6.03 3.87 -2.64 -5.34 4.36 -7.36 -1.17 -3.73 -5.77 -2.58 
+-5.9 -2.17 -0.74 -3.21 0.18 -4.91 -5.34 -1.82 -5.36 -1.89 -6.27 -1.22 -5.38 1.52 -6.95 1.02 
+-4.51 -3.23 -4.58 -3.13 -4.77 -3.06 -5.66 -2.73 -4.8 -3.21 -3.47 -3.67 -3.32 -3.69 -4.04 -3.56 
+-2.95 -3.8 2.52 -3.16 13.43 -1.2 6.43 -3.6 3.36 -2.3 12.72 -2.45 6.05 -2.88 -0.57 -2.46 
+-2.89 -2.06 -1.32 -2.32 5.69 -1.58 7.66 -2.23 -8.94 -0.48 -6.08 -0.5 -8.33 -1.15 -6.21 -1.13 
+5.51 -1.08 13.71 0 8.29 -1.52 0.61 -1.95 -10.07 -1.76 -4.55 -0.91 4.36 -0.54 13.8 0.78 
+9.12 -0.78 1.08 -1.5 -0.56 -1.56 1.02 -1.41 0.39 -1.45 0.3 -1.48 2.84 0.18 10.5 0.93 
+0.06 -1.13 0.44 -1.07 0.15 -1.15 0.98 -0.91 0.08 -1.19 1.15 -0.82 0.59 -1.04 -8.04 -4.67 
+-2.47 -1.64 1.61 -1 1.24 -1.17 1.3 -1.15 1.37 -1.11 1.46 -1.07 2.3 1.15 8.18 4.69 
+1.04 -0.84 -3.02 -4.47 5.95 3.52 1.34 -0.57 1.3 -0.58 1.34 -0.54 1.39 -0.52 0.63 -1.64 
+1.93 0.26 1.26 -0.85 -1.91 -6.62 -0.24 -2 1.98 -0.61 1.97 -0.67 -0.34 -7.33 -4.04 -6.88 
+-3 0.16 -1.8 -1.96 -3.32 -9.66 -5.14 -6.41 -1.95 -2.62 -4.14 -9.7 -5.88 -6.17 -2.58 -2.69 
+-3.89 -9.96 -7.2 -6.55 -5.51 1.41 -5.67 1.15 -5.4 1.65 -2.82 -1.43 -7.7 -5.34 -6.23 1 
+-3.73 -1.02 -6.77 -4.08 -5.4 -3.16 -7.08 -3.95 -4.42 -3.59 -9.84 -5.16 -5.08 4.51 -4.66 4.77 
+0.89 5.43 3.91 9.7 0.46 1.74 6.16 10.39 1.68 4.36 3.03 7.18 9.88 7.83 8.96 8.45 
+3.58 4.46 3.71 5.32 3.36 4.43 4.43 5.14 1.11 2.41 -2.19 2.32 -1.83 2.54 -1.63 2.61 
+2.22 4.3 4.6 3.25 4.54 3.41 -3.99 1.26 -2.93 -0.24 -9.89 -1.34 -4.06 -0.62 -2.48 -1.72 
+0 -3.38 -7.24 -5.54 -2.39 -2.34 1.06 -3.52 -1.39 -4.95 -3.32 -3.54 -10.25 -7.95 -1.74 -2.54 
+2.52 -3.76 0.54 -5.34 -2.82 -4.82 -6.04 -1.97 -7.4 -2.93 -7.86 -2.36 -5.75 -2.34 -9.89 -2.73 
+-3.47 4.64 -5.14 -1.35 -3.19 -4.94 3.71 -4.86 6.13 -2.87 -3.3 -8.64 -3.37 -6.05 -1.73 -6.12 
+-0.74 -6.12 -1.52 -7.77 -0.98 -5.88 -0.85 -7.79 -8.33 -9.44 -1.64 -9.38 0.04 -4.04 -8.94 -9.16 
+-0.57 -0.21 -5.81 3.91 -1.41 1 -2.74 10.61 -10.71 -2 -4.34 -3.4 -9.16 2.43 -5.25 -1.21 
+-4.97 2.48 -7.64 4.45 -11.3 0.3 -4.6 -0.02 -7.31 -0.15 -6.05 6.46 -8.4 -3.04 -6.23 0.29 
+-0.93 8.29 6.34 9.86 -11.29 1.06 -5.14 7.01 -4.84 7.21 -3.41 8.33 -3.17 8.35 0.24 10.81 
+4.9 9.83 4.8 7.16 5.42 8.83 1.87 5.23 -2.36 7.66 11.31 12.04 3.21 4.45 2.63 9.55 
+-5.23 0.89 -11.85 -9.16 -1.45 -1.76 -7.54 -12.09 -4.99 -6.86 -12.02 -11.11 -12.11 -7.96 -11.96 -8.18 
+-9.74 -0.26 -3.69 4.55 p f*
+7 193 59 rG
+2126.06 1594.18 -5.32 -0.08 4.47 8.05 11.96 13.2 12.46 7.21 0.11 0.08 0 -4.46 -3.95 -2.11 
+-8.48 -4.52 -11.76 -13.02 -0.74 -1.37 0.89 0.02 12.24 6.4 12.13 8.92 3.86 4.67 -4.19 1 
+0 4.46 4.67 4.36 -4.73 -0.28 -12.54 -7.79 -4.25 4.56 4.88 9.91 12.43 3.19 11.8 12.93 
+-9.53 3.28 -0.63 -0.11 -2.17 -0.3 3.34 3.1 2.54 -0.13 8.98 -1.95 7.68 9.77 8.16 7.4 
+2.47 0.31 0 -3.21 -3.36 -0.48 -1.52 -1.37 -0.37 -0.32 -10.18 -13.29 -4 -6.01 -13.17 -12.17 
+12.2 1.22 13.3 11.24 2.21 2.08 11.44 13.48 -6.55 5.63 0 3.21 9.94 1.21 14.02 12.24 
+-6.58 5.88 13.67 6.95 7.31 6.41 8.36 9.28 7.03 3.91 15.47 4.82 5.32 2.23 13.18 5.77 
+4.1 2.08 13.09 6.73 5.46 2.08 7.92 3.84 13.22 5.1 3.06 0.58 9.59 3.84 8.73 4.91 
+7.94 4.95 7.9 4.88 10.38 3.58 3.93 6.99 2 1.7 3.3 5.14 9.16 4.68 12.83 1.63 
+4.01 -0.65 11.89 -2.11 3.63 -0.02 0 -1.45 -2.34 -0.02 -6.84 -0.11 -2.41 -0.04 -3.17 -0.05 
+-8.36 -1.15 -3.45 -0.47 -1.84 -0.33 -4.12 -0.74 -3.5 -0.65 -2.39 -0.54 -0.37 -0.56 -6.36 -5.21 
+-1.67 -7.27 1.72 -1.74 -3.59 0.83 -2.73 -0.52 -8.22 -1.54 -7.75 -4.84 -7.96 -4.86 -9.12 -4.71 
+-10.89 -4.67 -2 -0.62 -11.74 -4.23 -11.46 -5.86 -1.58 -0.5 -12.83 -5.99 -9.16 -4.64 -6.58 -2.88 
+-11.42 -4.73 -15.08 -4.43 -2.91 -1.61 -8.74 -9.22 -11.26 -9.96 -1.89 -0.93 0.78 -1.7 12.11 0.07 
+0.13 -2.47 -1.5 -1.07 -14.54 -6.72 -7.83 -7.23 -3.37 -9.24 7.25 2.14 1.17 1.04 13.41 8.12 
+10.8 7.09 4.86 3.41 10.24 7.25 6.32 5.21 0 -2.11 -2.89 -2.41 0.3 -3.8 6.04 4.99 
+-3.45 1.22 0 2.11 1.59 1.32 9.29 -3.37 0.84 -1.93 14 4.03 0.99 1.07 14.87 3.95 
+-0.02 -3.37 -2.02 -5.88 -3.64 -3.02 -9.96 -4.73 -2.78 -6.46 -4.43 -2.43 -13.52 -2.98 -7.21 -0.63 
+8.34 5.08 10.79 5.79 -9.05 -0.07 -6.84 -3.38 -6.79 -5.12 -1.84 -1.39 -3.75 -3.52 2.21 -3.69 
+0.91 -2.19 -2.06 -7.51 -0.24 -0.68 -1.13 0.2 -11.5 1.72 -2.08 -6.77 1.23 -4.53 3.95 -0.68 
+4.04 -5.53 0.04 -7.23 -6.58 -7.71 -7.42 -6.9 -3.95 -5.32 -5.64 -8.44 -3.87 -7.77 -0.82 -4.02 
+2.63 -0.89 6.42 -2 -2.32 -7.45 -1.15 -4.25 -1.91 -11.24 0.8 -8.05 0.5 -1.16 1.45 -1.69 
+4.56 -3.67 1.28 -4.08 2.11 -3.73 5.55 -5.95 1.48 -0.82 10.07 0.89 3.04 -8.59 8.5 5.05 
+6.08 -1.32 10.83 0.02 6.62 -4.47 6.31 -1.52 1.54 0.26 0 -14.88 -0.93 -0.85 0.13 -0.21 
+0.17 0.02 0.63 1.05 0 14.88 1.76 0.3 7.03 -3.91 6.9 6.88 0.2 1.8 1.93 11.84 
+0.41 2.06 0.68 10.81 0.71 1.63 6.55 11.13 1.73 4.6 -7.9 1.5 -3.28 5.43 6.36 9.96 
+10.28 2.62 2.82 -4.96 5.45 1.5 11.52 4.63 1.63 0.47 13.02 5.17 1.34 6.12 -1.98 4.25 
+3.45 5.1 7.84 6.88 1.61 2.17 2.5 4.52 -0.2 4.08 4.75 4.73 3.73 2.86 1.32 4.04 
+4.95 3.47 8.14 1.17 5.79 0.78 5.86 0.42 6.75 -0.16 -7.81 -5.77 -1.3 -0.87 -4.67 -4.91 
+1.26 -2.66 1.52 -2.61 2.13 -2.28 -2.22 -4.78 -0.78 -0.91 -6.7 -8.79 -0.39 -0.56 -7.21 -8.88 
+-8.05 -8.92 P
+-0.08 -0.11 -10.22 -7.57 -1.21 -2.84 -3.35 -8.68 -2.71 -5.02 -3.12 -5.51 -3.28 -10.72 1.15 -1.87 
+2.43 -3.99 3.82 -5.95 6.66 3.47 8.88 7.13 1.56 0.86 10.83 6.25 1.48 0.87 7.42 1.98 
+6.81 0.11 4.17 2.87 5.66 2.82 5.32 -1.59 5.77 -0.73 5.41 -1.39 4.82 4.38 3.84 9.96 
+5.16 5.36 3.32 3.47 4.63 9.59 3.91 5.25 3.05 3.8 3.28 9.68 3.61 3.84 2.97 0.2 
+2.67 4.51 0.21 4.84 -1.99 1 -2 0.82 0.46 3.99 1.06 3.71 -1.17 1.34 -2.52 -0.95 
+0.04 2.91 -1.48 0.54 -1.45 0.59 -1.41 0.63 -1.48 0.55 -6.05 -3.95 -1.84 -1.26 1.13 1.65 
+3.17 4.23 -1.02 1 -5.49 -3.17 -4.6 -2.34 -1.52 1.13 -1.46 1.15 -1.39 1.21 -1.3 1.24 
+-2.11 0.85 4.95 3.32 5.12 3 -0.48 1.19 -1.72 0.74 0.37 1.47 -1.47 0.88 0.13 1.34 
+-0.48 1.15 0.16 1.28 -7.18 -0.67 -5.67 -0.32 -0.37 1.54 -0.59 1.52 -1.97 1.39 1.15 1.74 
+-2.28 1.52 -4.62 0.37 -13.8 -0.98 -8.74 1.04 9.12 1.86 6.03 1.07 -1.67 2.08 -3.54 0.63 
+-13.75 -0.29 -0.22 0.05 -10.87 2.04 12.46 2.32 2.17 0.33 12.22 1.04 3.54 0.22 -3.04 0.87 
+-4.97 1.32 -6.42 1.72 1.41 2.54 4.39 1.99 -0.39 2.82 -1.41 0.65 -12.93 2.11 -0.07 0.05 
+-6.7 4.51 -2.91 1.61 -8.77 0.39 -4.93 -3.28 -2.3 -3.69 -2.99 -0.52 -13.26 0.67 -1.65 0.89 
+2.35 0.3 12.76 2.88 -1.06 4.3 0.39 4.29 2.69 4.04 4.61 3.6 2.95 3.97 2.97 4.04 
+5.41 3.23 6.92 2.45 4.91 3.17 4.32 3.49 3.97 3.82 3.86 3.1 0 1 1.93 -0.11 
+10.35 -5.12 2.93 0.28 5.73 1.91 5.59 1.98 -0.04 0.99 1.43 6.43 5.76 2.8 3.27 2.13 
+-5.66 1.35 -10.74 2.93 3.61 6.96 2.21 1.34 0 -4.34 -1.47 -2.78 4.34 -1.2 4.46 3.28 
+-7.33 0.7 0 4.34 3.88 2.35 -12.8 5.03 -3.58 7.08 0 1.45 6.05 -0.02 -0.21 -7.94 
+10.27 -3.75 9.22 0.63 8.03 3.02 8.74 1.91 9.48 -1.32 1.79 -1.26 7.44 -3.09 5.02 3.37 
+-0.43 7.57 4.71 3.45 10.18 0.21 7.51 2.82 4.32 2.13 11.27 0.07 10.02 -2.91 11.13 -1.06 
+9.25 1.58 5.91 1.26 9.44 2.26 6.27 5.8 9.39 0.82 9.94 0.41 8.55 0.07 0 -0.8 
+-1.32 0 -5.1 -0.05 -13.21 -0.54 -6.23 -0.52 -6.38 -5.75 -12.57 -3.02 -2.43 -0.52 -12.29 -2.08 
+-11.2 0.68 -9.66 3.27 -11.29 -0.54 -1.52 -0.76 -10 -3.71 -10.07 -0.45 -2.89 -2.11 0.43 -7.57 
+-6.68 -4.47 -8.89 3.09 -1.98 0.91 -7.53 1.39 -8.47 -2.19 -3.08 -1.19 6.05 -7.05 0.2 -0.13 
+8.13 -0.02 8.14 -1.2 7.29 -4.75 0.74 -8.01 0.36 -0.43 0.33 0.46 6.38 5.7 6.9 -0.86 
+7.04 0 7.05 -0.29 6.96 -0.82 6.3 -2.15 6.55 -1.54 6.75 -1.33 0.95 -6.36 -0.06 -1.61 
+5.58 -1.95 5.54 -2.02 4.41 -2.93 4.43 -2.82 0.02 -5.49 -0.02 -1.02 -6.64 -7.16 -0.89 -1.28 
+3.78 -2.02 3.16 -2.4 2.28 0.43 1.15 1.21 6.14 5.77 9.35 1.15 5.52 -2.5 3.47 -3.34 
+6.16 -1.93 2.41 -0.04 -1.5 -0.84 -9.42 -5.64 -1.07 -0.74 -0.12 -3.75 3.36 -2.93 4.34 -2.86 
+0.37 -3.47 0.39 -3.36 -4.64 -3.6 -1.45 -0.61 -12.46 -2.91 -1.43 -0.41 -0.33 -2.62 2.17 -2.52 
+-11.59 -1.45 p
+-6.03 -1.11 3.91 -2.08 -2.8 -2 -7.57 -0.74 -6.14 -0.52 0.18 -1.65 6.14 -1.3 13.76 -1.11 
+3.38 0.15 2.39 2.09 0.02 2.39 7.44 1.41 7.97 -2.71 0.11 -2.86 -0.43 -2.78 -0.13 -2.82 
+1.75 -3.28 2.97 -3.73 0.66 -0.32 6.51 -4.97 0.56 -3.62 1.69 -4.19 0.98 -0.71 5.55 -5.84 
+-0.66 -3.8 -9.39 1.67 -4.04 0.85 0.02 -3.89 1.11 -1.06 10.72 -7.33 6.55 -6.73 -3.93 -2.58 
+-3.56 -2.76 -1.61 -4.25 -10.61 3.37 -9.22 8.24 -2.95 4.91 1.69 3.02 -3.91 4.19 -6.04 1.97 
+-3.16 -1.62 2.34 -5.38 0.63 -0.76 3.09 -6.29 2.84 -4.32 9.96 -7.55 5.4 -9.18 0.57 -1.21 
+1.89 -7.96 -3.3 -3.91 -4.84 -2.32 -3.54 -4.01 -11.15 6.9 -1.09 0.67 -5.82 -0.39 -4.36 -2.41 
+-5.73 -0.24 -7.21 4.97 -2.34 1.93 -4.32 -1.84 -4.84 -0.85 -0.08 -2.45 -1.5 -6.49 -4.82 -1.98 
+-2.67 -4.08 -0.93 -2.37 -3.99 -7.05 -0.63 -2.02 -2.04 -10.83 -0.3 -2.87 -5.69 -6.4 -2.11 -2.08 
+-3.99 -5.25 -1.76 -5.71 3.15 -8.68 7.62 0.68 6.33 7.83 8.27 -3.91 6.09 6.23 -0.08 0.98 
+3.84 11.45 0.3 0.11 5.12 4.62 3.36 -2.95 4.34 -10.18 5.23 -2.43 8.03 -0.78 6.12 -3.47 
+-0.44 -10.74 0 -0.83 0.61 -0.75 2.45 1.52 4.08 2.97 3.91 -0.82 8.66 -8.25 0.63 -0.82 
+9.27 -1.34 7.75 2.54 7.36 3.21 7.14 3.45 10.05 -1.26 6.14 -1.19 3.62 0.74 0.7 1.3 
+-1.93 12.46 0.54 0.89 0.96 -0.11 9.31 -0.98 7.42 2.87 8.41 -1.41 2.32 0.32 10.03 0.11 
+-0.37 7.79 -4.97 9.31 10.33 -0.13 5.27 5.09 -0.91 10.54 -0.13 0.52 -3.64 11.59 12.41 -1.89 
+1.32 -0.43 8.2 2.36 6.81 3.59 5.08 0.93 3.13 1.78 11.68 -3.8 6.04 -0.21 8.74 -1.48 
+5.95 -0.11 5.64 5.38 -5.14 8.45 -11.52 8.18 -7.44 1.63 -4.6 1 3.86 -10.91 -7.46 -3.52 
+-6.18 -2.04 -2.08 7.68 1.34 7.27 6.6 3.75 0 -7.5 -0.43 -0.17 0.04 -0.66 0.55 0.26 
+-0.15 0.57 0 7.5 0.13 0.09 -7.9 10.37 -4.58 4.12 -0.39 0.38 6.01 -1.07 13.39 -2.95 
+2.13 0 11.61 -1.21 12.32 -6.77 10.7 -4.06 2.28 0.13 5.4 4.1 -2.91 9.13 -13.17 2.02 
+-9.76 11.74 -1.87 5.86 -2.48 -3.75 -10.92 1.73 -0.25 0.2 -10.59 7.88 3.3 5.75 5.6 4.97 
+-10.89 9.77 -1.11 1 -1.07 0.8 0.96 -0.06 13.04 -2.11 1.43 -0.48 0 -15.2 -1.8 -1.2 
+-0.97 -6.92 2.56 -1.9 2.56 -0.39 1.11 7.01 -3.45 3.41 0 15.2 11.87 -3.91 3.08 -4.34 
+10.88 -8.61 10.33 -0.59 -10.79 11.28 -0.74 0.79 -4.17 2.67 -10.48 9.05 -7.84 4.88 -1.64 7.77 
+-7.86 4.43 -4.9 5.92 -0.26 6.55 16.71 -10.5 13.43 -3.45 1.41 -0.71 0 -3.36 -6.37 -2.48 
+9.61 -8.79 11.48 1.52 -13.52 8.96 -1.2 0.78 0 3.36 0.63 -0.33 12.35 -5.9 0.71 1.61 
+-2.38 3.32 -8.38 8.13 -9.64 6.63 -10.55 6.2 4.67 5.19 3.1 0.85 -6.16 4.36 -11.21 -1.08 
+-0.18 -0.02 -10.5 -2.89 -1.59 1.04 -6.75 4.49 2.11 4.34 3.21 2.3 -6.99 3.04 -7.01 5.34 
+2.37 0.7 13.41 -1.24 2.73 7.04 -12.89 5.03 -12.83 3.52 -0.12 0.02 4.96 4.75 14.07 -1.48 
+2.91 -0.95 0 -2.11 -5.04 -0.33 7.4 -2.25 -0.48 1.97 -1.89 0.61 0 2.11 9.63 -3.22 
+7.32 -4.27 p
+10.94 1.08 -0.85 1.39 -0.67 0.37 -16.26 4.82 -9.07 5.46 -10.48 3.59 -2.95 1.02 -10.05 -2.6 
+-17.91 4.58 5.25 6.27 5.9 3.38 -10.33 0.07 -10.2 -2.8 0 -0.02 8.65 -6.99 6.23 -7.31 
+7.03 -7.29 -4.23 -6.14 -10 5.32 -13.89 5.75 -1.46 0.34 -16.3 3.7 -6.45 2.79 -5.3 1.55 
+-3.08 4.19 -1.95 1.95 -4.08 1.82 -6.51 2.3 -9.05 4.47 -3.21 3.36 -3.11 2.54 -2.23 -0.07 
+-14.48 -0.61 -3.73 -0.43 -11.02 -0.67 -6.01 5.97 -0.39 0.69 1.15 0.07 13.52 3.3 5.71 1.34 
+11.77 0.35 2.25 0.28 0 -2.1 -2.39 -0.11 -14.56 -0.67 -0.11 -0.02 -2.3 -0.54 -12.11 -2.8 
+4.43 -4.9 8.29 0.52 7.04 0.8 10.89 0.46 0.82 7.27 0 2.1 4.41 0.57 6.62 1.91 
+7.68 4.86 8.36 4.4 -0.24 0.63 -1.41 0.11 -17.43 1.84 0 0.8 1.37 0 13.11 -1.37 
+6.42 -0.46 1.09 -2.91 -8.61 -4.23 -8.05 -4.69 -11.26 -3.52 3.32 -7.12 7.07 -5.67 9.48 -4.49 
+9.94 -4.58 6.08 -5.95 10.59 -4.84 12.29 -2.78 5.9 -1.39 15.32 -5.49 0.52 7.25 -6.64 7.16 
+-8.62 6.86 0.57 2.23 10.41 2.65 13.22 0.26 4.53 -1.41 4.02 -1.41 0 -4.12 -11.03 -1.78 
+-1.78 -2.02 5.93 -1.52 11.29 1.49 2.58 1.2 -6.99 2.63 0 4.12 13.37 -4.64 3.82 6.99 
+0.06 0.43 10.37 1.63 5.54 -2.37 12.89 -10.18 -3.47 -1.11 -12.79 0.82 -3.84 -7.09 9.09 -3.88 
+9.12 -3.86 5.92 -3.11 13.83 -9.36 0 -33.57 -3.65 -0.2 5.23 -3.12 9.83 -1.17 -11.41 4.49 
+0 33.57 3.38 -2.3 -3.04 -7.9 15.71 -10.37 10.57 -5.18 -6.49 -1.96 -12.13 1.2 -0.78 -2.06 
+6.19 -8.55 1.37 -2 -0.46 -0.02 -6.57 -5.97 6.7 -10.46 2.95 -9.37 4.32 -10.16 1.65 -9.22 
+-0.57 -8.29 1.78 -9.61 -8.89 -1.15 -9.36 10.39 -3.52 2.34 -7.57 2.76 3.9 -9.77 0.42 -8.36 
+2.52 -3.04 4.32 -0.61 9.01 1.21 5.51 -9.46 -0.59 -8.75 -2.69 -7.5 -6.55 1.21 -12.31 6.49 
+-12.95 4.23 -1.96 0.24 -12.15 0.21 -3.56 0.79 2.7 -3.45 12.2 -6.64 11.45 -8.51 7.14 -11.8 
+-5.02 -5.92 -10.44 0.21 -3.19 0.57 -12.09 0.54 -1.59 0.52 -6.25 -3.6 -0.61 -0.33 -7.27 -3.52 
+-5.34 0.65 -7.12 0.3 -7.77 2.67 -4.91 0.75 -3.02 0.48 2.36 -7.4 1.11 -4.67 2.67 -9.98 
+12.52 -4.23 1.58 -0.48 13.93 -3.8 -0.37 11.03 8.7 -3.02 0.57 -5.58 -7.44 -3.87 -1.61 0.29 
+-12.42 2.54 -0.71 -10.54 -8.29 6.01 -10.02 2.04 0.78 -9.5 0.7 -3.67 -4.01 -7.79 -10.57 1.78 
+-1.23 0.02 -9.21 -1.2 -7.74 -2.97 -9.53 -0.43 -3.86 -8.81 -4.75 -5.88 -0.7 -1.17 -2.61 -0.24 
+-6.96 -0.04 -8.68 -1.67 -6.99 -5.08 -9.01 -1.04 -9.87 1.2 -9.07 -0.46 -5.51 0.78 -4.06 0.5 
+-11.07 6.27 -0.79 1.04 -6.77 9.88 1.75 5.88 -0.07 5.75 -2.3 0.78 -8.85 5.43 -0.96 0.59 
+-1.69 1.45 -7.47 6.01 -0.78 0.63 -2.89 -8.61 1.7 -10.66 -0.8 -0.76 -6.68 -5.47 -4.43 4.64 
+-4.62 1.91 -3.25 -2.71 -3.75 -2.2 -7.77 -0.47 -1.48 1.76 -3.25 10.5 2.69 8.79 1.56 2.06 
+4.54 4.41 4.46 6.92 0.7 1.71 1.96 9.16 1.32 4.25 3.63 7.01 0.13 0.59 3.79 5.49 
+4.82 1.71 1.13 4.87 0.13 4.55 4.71 0.91 4.29 1.71 4.28 -3.45 5.4 -3.73 5.43 0.58 
+4.36 2.23 p
+5.45 0.76 3.73 -2.28 8.37 -5.14 3.75 3.56 4.73 2.32 3.54 3.53 -1.43 5.97 -1.63 3.67 
+-4.08 6.86 -9.77 7.68 -3.77 5.73 -2.3 4.71 -2.36 2.91 -1.22 4.54 2.89 1.71 7.86 -2.54 
+5.05 -5.45 -1.98 -2.91 2.24 -3.69 9.48 -8.03 7.96 -2.52 1.98 3.91 3.41 2.8 3.63 2.67 
+-4.9 5.04 -10.87 7.16 -3.2 3.04 0.44 3.55 6.5 -1.34 7.05 -1.24 0.91 3.61 -4.14 4.36 
+-3.54 2.54 -1 3.84 -0.18 3.43 -4.88 3.71 -3.62 1.84 -2.12 3.43 -1.26 3.08 0.15 2.78 
+0.3 2.74 -0.11 2.8 -5.99 2.04 -5.58 -1.04 0.02 -2.45 -1.78 -2.22 -5.99 -0.24 -13.74 1.29 
+-8.05 1.67 -0.16 1.58 8.01 0.7 5.68 0.56 2.02 1.98 -3.06 2.02 7.79 1.43 8.7 1.11 
+-1.85 2.43 0 2.52 4.15 1.22 10.18 2.66 2.04 0.68 4.62 3.04 -0.76 3.28 -0.76 3.34 
+-3.82 2.85 -3.13 2.89 -0.54 3.51 3.04 2.13 7.38 4.69 -6.49 2.41 -3.47 3.23 -5.08 2.56 
+-7.01 -0.87 -4.62 -4.32 -2.63 -2.73 -5.12 -0.98 -3.14 2.28 -3.62 2 2.08 2.91 4.73 6.01 
+0.93 1.65 0.41 4.64 -4.49 2.64 -4.52 2.72 -5.38 1.97 -5.47 1.87 0.13 3.43 -0.74 4.76 
+-6.57 1.39 -6.45 1.47 -6.27 1.91 -6.79 0.83 -6.9 0.37 -6.86 0.13 -6.79 0.69 -4.79 -4.27 
+-1.76 -2.37 -2 2.3 -0.84 8.01 -5.45 3.53 -7.89 0.79 -7.88 -0.17 -2.82 1.73 -9.03 5.8 
+-3.97 -8.01 4.77 -7.27 -0.37 -1.22 -5.62 -3.19 -5.82 -2.5 -1.08 -4.82 0.13 -2.96 -5.49 -1.9 
+-5.53 -1.89 -7.01 -0.84 -1.41 0.39 -10.42 1.54 -4.23 -3.52 -4.47 -3.32 -4.84 -3.11 -6.29 -2.61 
+-5.1 -3.21 -3.21 -3.86 -3.14 -3.84 -4.32 -3.56 -2.82 -3.93 3.82 -4.73 13.89 -0.58 4.67 -2.59 
+5.05 -3.45 12.83 -2.25 3.75 -1.79 -0.08 -2.62 -3.65 -2.02 -1.37 -2.45 8.53 -2.3 5.36 -1.56 
+-6.25 -0.35 -9.13 -0.76 -5.27 -0.75 -9.31 -1.72 8.29 -1.58 13.74 0.15 5.93 -1.08 1.15 -2.02 
+-8.07 -1.41 -6.82 -1.39 6.56 -0.8 13.78 0.89 6.88 -0.58 1.67 -1.5 -0.85 -1.64 1.5 -1.39 
+0.5 -1.5 0.32 -1.49 4.25 0.23 8.86 0.81 -0.04 -1.22 0.46 -1.11 0 -1.24 1.21 -0.89 
+-0.13 -1.32 1.43 -0.8 0.52 -1.11 -6.56 -3.82 -3.73 -2.5 1.86 -0.92 1.29 -1.21 1.32 -1.19 
+1.43 -1.13 1.47 -1.09 3.45 1.76 6.84 3.93 1.04 -0.93 -4.05 -5.36 -0.29 -0.41 0.48 0.3 
+7.12 4.66 1.41 -0.56 1.37 -0.61 1.39 -0.56 1.43 -0.52 0.29 -2.28 2.23 0.61 1.22 -1.11 
+-1.5 -5.17 -0.32 -2.99 1.97 -0.72 2 -0.82 -0.28 -6.1 -3.37 -5.71 -3 0 -2.69 -2.91 
+-3.3 -9.68 -4.1 -5.08 -2.93 -3.95 -4.38 -9.65 -4.61 -4.8 -3.88 -4.04 -3.84 -9.96 -6.01 -5.46 
+-5.47 1.41 -5.7 0.93 -5.36 1.61 -4.25 -2.11 -5.93 -4.12 -6.54 0.45 -5.57 -1.5 -4.13 -2.47 
+-8.12 -4.71 -4.32 -2.4 -6.64 -5.34 -8.27 -4.34 -4.45 5.25 -3.93 5.54 0.3 1.84 4.02 11.57 
+1.24 2.21 4.51 8.4 2.52 6.51 2.13 5.01 10.05 7.71 8.55 8.74 5.38 6.68 2.07 2.93 
+5.03 6.62 2.61 3.02 1.66 3.58 -2.16 2.32 -1.68 2.56 -1.45 2.64 4.25 5.1 1.52 1.07 
+6.79 5.08 -5.36 0.71 -4.4 -0.32 -7.84 -1.07 -6.1 -0.91 -3.71 -2.6 -0.67 -3.71 -5.49 -4.19 
+-3.56 -3.54 p
+0.61 -3.8 -3.08 -5.99 -0.5 -0.54 -9.85 -8.47 -2.58 -3.82 2.25 -4.02 -0.82 -6.42 -1 -1.72 
+-2.13 -0.7 -11.11 -4.34 -4.73 -1.41 -8.64 -3.49 -7.68 -2.11 -3.12 4.82 -7.73 -2 -4.77 -7.44 
+3.49 -5.14 7.01 -2.19 -2.52 -6.62 -5.03 -9.09 -0.74 -2.63 -1.13 -9.22 -0.96 -4.91 -1.45 -8.86 
+-0.52 -4.82 -8.73 -9.2 -3.14 -12.61 -9.74 -1.43 -4 8.66 0.09 1.33 -1.15 10.2 -6.6 4.58 
+-1.65 -0.19 -8.5 -1.09 -6.54 -11.41 -7.33 -2.07 -7.98 3.82 -6.34 -0.46 -5.14 0.48 -0.56 4.96 
+-0.02 6.77 -6.9 4.88 -3.89 0.09 -7.05 0.93 0.87 6.88 1.15 6.34 -7.59 4.18 0.67 11.09 
+-4.52 -0.35 -2.97 -0.22 -7.05 -0.8 -6.14 5.58 2.3 11.94 2.11 4.14 2.65 8.86 3.45 11.41 
+1.39 6.64 2.91 4.71 3.63 10.44 4.99 7.68 7.73 6.49 5.58 5.13 2.9 6.05 5.14 9.33 
+7.97 6.62 5.81 4.84 -2.32 6.4 -0.28 -0.04 -0.04 -0.02 -14.74 -9.66 -0.58 -0.36 -6.86 -4.1 
+-8.05 -7.25 -13.54 -6.9 -3.13 -3.71 -10.87 -10.03 -8.13 -8.09 -4.97 -6.95 -3.41 -7.11 -8.57 -10.27 
+-12.11 -8.44 -12.11 -7.32 p f*
+110 210 9 rG
+2125.7 1597.18 -0.89 -0.02 0.74 1.37 11.76 13.02 8.48 4.52 0 -4.13 -8.25 -4.14 -3.66 -4.01 
+3.84 1.91 8.07 6.25 0 4.13 3.95 2.11 4.19 -1 -3.86 -4.67 -12.13 -8.92 -12.24 -6.4 f*
+0 255 r6
+2137.71 1605.68 -3.84 -1.91 3.66 4.01 8.25 4.14 -8.07 -6.25 f*
+0 155 255 rG
+2151.28 1648.74 -9.18 -9.89 8.36 0.5 7.29 8.03 -5.91 1.96 -0.57 -0.59 0 -2.86 2.26 -0.72 
+-2.75 -3.04 -3.15 -0.15 3.64 3.91 0 2.86 f*
+255 0 r6
+2151.28 1645.88 -3.64 -3.91 3.15 0.15 2.75 3.04 -2.26 0.72 f*
+0 155 255 rG
+2149.66 982.18 -0.22 2.39 3.67 -2.48 10.79 -12.58 4.84 -7.66 0 -20.57 4.67 -9.42 10.98 -10.04 
+-4.45 10.63 -11.2 8.83 0 20.57 2.97 -4.67 7.71 -12.17 7.29 -12.07 8.01 -11.87 15.34 -10.89 
+2.3 -0.87 4.27 -1.85 0 -2.89 -0.04 -6.08 8.92 -3.27 1.04 4.63 -5.55 2.64 -4.36 2.08 
+0 2.89 9.77 -4.25 4.93 -2.8 0.7 -3.28 -3.11 -5.36 -10.98 2.78 -5.91 3.23 -14.5 9.3 
+-2.06 1.2 -13.18 11.39 -11.71 11.92 -7.62 12.5 -0.74 6.05 -0.3 6.77 -7.8 12.57 -4.46 12.7 f*
+110 210 9 rG
+2162.46 1635.25 -12.2 -1.22 13.17 12.17 4 6.01 10.18 13.29 0.37 0.32 0 -5.16 -3.97 -5.34 
+2.61 -2.21 4.62 5.46 -3.25 2.09 0 5.16 1.52 1.37 3.36 0.48 6.55 -5.62 -11.44 -13.48 
+-2.21 -2.08 -13.3 -11.24 f*
+2 239 204 rG
+2157.33 1671.94 -0.91 1.96 2.28 2.17 14.11 9.07 0 -1.89 -0.93 -0.63 -8.59 -5.77 6.88 -1.13 
+6.92 6.62 -4.28 0.91 0 1.89 1 0.63 7.86 -1.76 -12.71 -12.15 -11.61 0.08 f*
+7 193 59 rG
+2170.16 1675.71 -6.87 1.13 8.59 5.77 0 -1.91 -1.43 -0.93 1.04 -0.2 1.04 1 -0.65 0.13 
+0 1.91 0.93 0.63 4.28 -0.91 -6.92 -6.62 f*
+2 239 204 rG
+2173.39 931.86 -4.67 9.42 11.2 -8.83 4.45 -10.63 -10.98 10.04 f*
+110 210 9 rG
+2171.48 1679.58 -1.04 0.2 1.43 0.93 0.65 -0.13 -1.04 -1 f*
+0 255 r6
+2176.61 1653.11 -2.61 2.21 3.97 5.34 3.25 -2.09 -4.62 -5.46 f*
+255 0 r6
+2196.27 1683.12 -8.83 -5.36 7.23 0.59 3.73 3.26 -2.13 1.52 f*
+0 155 255 rG
+2196.89 1535.22 -3.5 3.78 2.07 -5.23 2.26 -0.17 -0.83 1.63 f*
+110 210 9 rG
+2203.73 1667.04 -7.25 -2.14 3.37 9.24 7.83 7.23 14.54 6.72 1.5 1.07 -0.13 2.47 -12.11 -0.07 
+-0.78 1.7 1.89 0.93 11.26 9.96 8.74 9.22 2.91 1.61 15.08 4.43 11.42 4.73 6.58 2.88 
+9.16 4.64 12.83 5.99 1.58 0.5 11.46 5.86 11.74 4.23 2 0.63 10.89 4.67 9.12 4.71 
+7.96 4.86 7.75 4.84 8.22 1.54 0 -0.89 -2.69 -0.52 -4.08 -0.79 -7.59 -4.79 -7.94 -4.75 
+-9.53 -4.52 -9.59 -4.84 -6.81 -2.15 -6.99 -2.54 -9.14 -5.9 -8.63 -2.62 -7.49 -3.52 -14.17 -7.24 
+-0.02 0 -17.45 -7.21 -10.48 -2.87 -4.82 -2.08 -2.87 -2.95 -4.49 -4.6 0.56 -5.23 8.23 6.95 
+2.75 1.72 0 -11.37 -1.45 -1 -7.66 -5.29 -7.88 -5.55 -12.52 -7.81 10.33 0.93 6.25 4.14 
+9.72 6.83 5.97 4.21 -2.76 3.54 0 11.38 8.94 5.6 9.57 2.88 1.67 1.29 0 -6.12 
+-12.89 -0.8 -1.56 -0.98 -4.6 -2.89 0.46 -6.9 16.25 7.51 2.64 2.23 -0.3 1.82 0 6.12 
+8.33 6.42 -1.25 -6.9 0.09 -6.71 3.49 -2.24 5.23 3.04 2.04 1.17 0 -7.31 -9.29 -0.57 
+-2.84 -0.82 1.35 -2.11 10.78 3.49 0 7.31 9.89 5.69 0 -2.76 -7.03 -3.73 1.23 -5.79 
+16.56 6.57 -10.77 2.95 0 2.76 0.26 0.15 0.79 6.4 6.08 2.8 0 -2.34 -1.09 -0.5 
+0 -0.89 2.61 0.83 -1.52 0.56 0 2.34 3.1 1.43 11.07 -2.71 -0.26 -2.11 -4.77 -4.26 
+-5.47 -1.47 4.01 -0.48 10.34 -1.61 0 -2.54 -13.52 -1.3 10.5 -3.32 9.22 3.21 -6.2 1.41 
+0 2.54 1.63 -0.24 5.23 1.66 7.44 4.91 6.88 2.43 0 -1.67 -3.23 -1.17 -6.42 -4.79 
+1.93 -3.67 7.59 2.86 6.57 4.36 -6.45 2.41 0 1.67 2.25 0.8 6.73 -0.04 -0.26 5.52 
+11.48 0.3 0 -2.38 -1.8 -0.02 0.5 -1.2 2.28 0.52 -0.98 0.7 0 2.38 2.78 0.09 
+7.5 -5.53 -10.74 -2.43 1.24 -5.1 -5.69 -0.5 -6.27 -0.54 -3.79 -1.54 -6.84 -4.39 3.17 -4.14 
+0.13 -0.89 -1.13 -0.69 -13.41 -3.95 -3.41 -2.16 -3.62 -2.46 -1.11 -0.75 -10.96 -6.17 -2.3 -2.15 
+-5.14 -4.25 -11.11 -7.38 -0.87 -0.46 -7.23 -7.55 -6.95 -4.53 -6.68 -5.6 2.76 -5.38 -6.16 -8.75 
+-2.97 -4.95 -1.07 -3.43 1.59 -0.3 12.97 5.08 13.04 5.16 0.38 -0.04 0 -2.62 -12.92 -5.62 
+-5.9 -4.29 -5.34 -8.18 -1.02 -1.7 -1.34 -7.88 -3.28 -9.35 0.61 -6.25 -1.65 -2.26 -8.05 -8.71 
+-4.41 -8.48 8.77 -2.37 2.02 0.65 10.57 8.62 14.41 2.91 8.64 11.46 12.98 4.79 12.07 6.21 
+11.63 6.86 11.91 6.36 11.93 6.32 6.41 6.18 -9.31 0.46 -0.33 -0.04 -2.82 -1.3 -9.54 -4.51 
+-0.85 -0.09 -12.98 -2.54 -12.74 -5.05 -2.1 -0.17 0.24 4.79 1.13 1.7 4.82 7.66 -9.12 1.37 
+-1.21 0 -9.55 2.02 -3.28 0.41 -0.39 0.04 0 2.63 8.7 -1.17 5.19 -1.39 4.75 -0.41 
+6.9 -2.71 1.61 -4.71 -5.1 -7.92 9.86 3.69 13.52 3.23 12.48 5.6 4.95 0.61 7.14 -1.32 
+-7.98 -7.68 -11.72 -6.41 -0.11 -0.06 -11.89 -6.41 -3.8 -2.23 3 -1.84 0 -2.37 -1.96 -0.21 
+-8.36 -0.93 -4.12 -7.96 9.25 0.8 5.19 8.31 0 2.37 1.95 -1.2 -6.45 -10.33 -11.59 -1.07 
+3.9 9.05 -9.2 -4.62 -1.52 -0.76 -12.03 -6.32 -5.16 -6.36 -3.11 -5.32 -8.16 -2.78 -5.34 -1.59 
+-7.25 -8.03 P
+3.78 -6.1 -0.5 -2.54 -9.86 -9.01 1.13 -6.55 6.14 -4.79 6.12 -4.84 7.05 -3.93 5.77 -3.8 
+8.64 9.46 1.76 0.54 -0.22 -1.71 2.84 -6.73 6.23 0.25 1.86 8.9 1.09 4.41 -0.93 6.27 
+3.49 7.83 7.66 10.27 0.98 2.56 -2.48 0.43 -2.21 0.37 -7.77 -3.12 -2.38 6.44 2.64 4.3 
+8.27 10.59 12.87 3.25 2.5 -5.12 3.23 0.87 3.13 3.93 4.51 6.83 4.32 0.59 0 -1.02 
+-1.79 -0.24 -1.69 -0.24 -2.59 -3.89 6.36 -0.02 -0.3 4.38 0 1.02 1.78 0.24 1.65 -5.12 
+10.33 4.19 0.89 4.03 -1.71 4.5 4.32 6.42 5.47 4.82 3.58 4.8 1.36 2.49 0.24 4.34 
+5.96 5.97 1.93 1.48 2 4.38 6.21 4.34 10.15 1.48 3.73 0.48 7.33 0.52 7.25 0.2 
+0.78 0.15 -0.61 -0.45 -6.93 -5.05 -3.84 -2.59 -3.53 -3.69 1.11 -2.71 1.34 -2.63 2.11 -2.25 
+-2 -4.95 -0.73 -1.02 -6.14 -8.01 -1.17 -1.78 -7.81 -9.24 -4.67 -5.12 5.1 -1.43 -3.97 -5.57 
+-7.31 -5.08 -4.69 2.41 -2.59 -1.93 -0.3 -0.74 -4.16 -10.8 -0.91 -1.65 -5.02 -8.79 -2.61 -8.53 
+3.56 -5.62 0.02 -0.06 3.23 -6.67 5.06 2.65 10 8.16 1.13 0.71 11.13 6.41 1.08 0.56 
+8.21 1.87 7.09 0.65 2.39 1.64 7.07 3.52 5.29 -1.56 5.82 -0.52 5.36 -1.41 3.63 3.32 
+3.79 9.98 6.49 6.68 2.04 2.11 4.84 9.57 4.88 6.55 2.02 2.48 3.23 9.7 4.54 4.79 
+2.95 0.37 1.98 3.32 0.15 3.58 -2 1.17 -2.02 0.93 0.59 4.99 0.63 2.26 -1.11 1.61 
+-2.82 -1.3 0.37 3.52 -1.52 0.56 -1.49 0.61 -1.46 0.65 -1.56 0.52 -4.97 -3.25 -3.25 -2.2 
+2 2.89 2.3 3.08 -1 1.09 -4.17 -2.39 -5.75 -2.95 -1.57 1.15 -1.47 1.19 -1.43 1.24 
+-1.32 1.26 -2.39 0.76 6.21 4.16 3.66 2.18 -0.45 1.26 -1.95 0.7 0.58 1.61 -1.71 0.84 
+0.26 1.46 -0.5 1.2 0.26 1.37 -5.54 -0.52 -7.1 -0.43 -0.36 1.58 -0.7 1.54 -2.43 1.39 
+1.41 1.82 -2.86 1.52 -2.39 0.17 -13.78 -1.08 -10.93 1.28 11.37 2.34 4.03 0.74 -2.21 2.13 
+-1.15 0.2 -0.24 0 -10.09 -0.26 5.86 -2.28 -10.16 -2.59 -13.52 0.7 -1.43 0.35 -9.27 -0.42 
+-2.86 -0.11 -12.24 1.47 13.3 3.82 11.83 1.41 1.98 0.78 0 -1.17 -0.18 -0.02 -13.75 -1.5 
+-10.61 -3.04 9.76 -1.22 13.65 0.63 11.83 3.02 -10.7 2.13 0 1.17 0.39 0.16 10.66 1.99 
+0.78 2.76 1.65 2.69 -2.69 3.14 8.42 0.33 2.39 1 -0.46 1.84 -2.64 -1.32 -13.07 -0.98 
+-8.05 3.89 7.59 2.38 -4.86 4.34 -1.13 0.61 -0.98 0.07 -2.43 0.11 -6.32 -2.91 -1.91 -3.58 
+-7.53 -1.28 -14.15 -1.02 -0.85 0.43 -6.69 3.43 10.59 1.52 8.09 1.85 -3.75 4.6 -1.13 0.24 
+1.41 0.13 4.36 3.61 2.56 4.14 4.9 3.62 2.76 4.13 0.5 0.76 -2.05 4.76 -3.58 3.49 
+-1.52 3.63 9.16 2.08 6.47 -7.12 7.01 2.19 4.97 3.23 4.19 3.67 2.3 2.46 -2.67 4.12 
+0.37 4.64 -3.28 -0.7 -2.82 -0.59 -0.39 -2.02 0.82 -4.86 -7.57 -2.43 -8.38 -1.89 -1.66 0.11 
+-11.63 1.95 -3.47 -0.7 -4.3 -0.89 -0.91 -5.28 1.28 -0.78 -4.36 -1.93 -3.71 -1.97 -14.39 -1.67 
+-3.52 0.61 -8.42 1.43 -0.73 3.95 9.11 4.32 1.52 0.54 12.78 3.78 6.47 4.86 7.72 2.8 
+0 -1.24 p
+-2.93 -1 -3.12 -1.06 -5.88 -4.93 -7.18 -4.7 -0.07 -3.67 6.99 2.19 5.45 4.84 11.22 2.91 
+-4.47 5.43 0 1.24 2.17 0.78 6.64 4.52 1.39 -0.04 11.29 1.52 2.97 6.19 -12.67 3.02 
+0 0.89 2.73 0.52 3.59 -0.83 -1.72 1.74 1.67 7.27 6.36 5.21 0.37 0.56 2.39 0.54 
+3.5 0.65 0 -7.79 -2.46 -0.02 -8.5 -0.13 -1.26 -5.27 12.13 -1.47 0.09 6.9 0 7.79 
+4.12 0.74 0 -24.79 -2.69 0 -7.58 -3.32 -3.14 -3.6 7.62 1.17 5.57 4.21 0.22 1.54 
+0 24.79 1.84 0.33 3.45 0.47 0 -3.27 -1.58 -3.02 6.04 -0.72 1.25 3.28 -5.71 0.46 
+0 3.27 8.36 1.15 3.17 0.05 0 -11.31 -3.1 -0.34 -2.04 -1.43 3.23 0.34 1.91 1.43 
+0 11.31 2.41 0.04 0 -16.73 -1.04 -2.69 1.11 -6.86 -7.66 -2.28 -1.35 -3 5.08 0.16 
+8.03 1.52 6.42 -3.12 7.4 -1.96 4.28 4.34 4.51 2.43 -8 1.86 -7.01 -2 -8.74 1.55 
+1.84 5.4 -0.29 3.84 -4.58 0.8 0 16.73 6.84 0.11 2.34 0.02 3.58 -7.08 12.8 -5.03 
+-3.88 -2.35 -2.21 -1.34 -3.61 -6.96 10.74 -2.93 5.66 -1.35 -3.27 -2.12 -5.76 -2.8 -1.43 -6.43 
+0.04 -0.99 -5.59 -1.98 -5.73 -1.91 -2.93 -0.28 -10.35 5.12 -1.93 0.11 0 -1 -3.86 -3.1 
+-3.97 -3.82 -4.32 -3.49 -4.91 -3.17 -6.92 -2.45 -5.41 -3.23 -2.97 -4.04 -2.95 -3.97 -4.61 -3.6 
+-2.69 -4.04 -0.39 -4.29 1.06 -4.3 -12.76 -2.88 -2.35 -0.3 1.65 -0.89 13.26 -0.67 2.99 0.52 
+2.3 3.69 4.93 3.28 8.77 -0.39 2.91 -1.61 6.7 -4.51 0 -0.14 -0.52 -0.11 -9.22 -1.78 
+6.45 -3.12 10.46 0.8 -7.17 4.21 0 0.14 0.07 -0.05 12.93 -2.11 1.41 -0.65 0.39 -2.82 
+-4.39 -1.99 -1.41 -2.54 6.42 -1.72 0 -1.43 4.64 -0.56 0.84 0.04 -0.71 0.21 -4.77 0.3 
+0 1.43 4.97 -1.32 3.04 -0.87 -3.54 -0.22 -12.22 -1.04 -2.17 -0.33 -12.46 -2.32 10.88 -2.04 
+0 -0.98 -0.13 -0.02 -11.7 -2.93 11.11 -0.93 8.13 2.09 -7.42 1.8 0 0.98 0.22 -0.05 
+13.75 0.29 3.54 -0.63 1.67 -2.08 -6.03 -1.07 -9.12 -1.86 8.74 -1.04 13.8 0.98 4.63 -0.37 
+2.28 -1.52 -1.15 -1.74 1.97 -1.39 0.59 -1.52 0.37 -1.54 5.67 0.32 7.18 0.67 -0.16 -1.28 
+0.48 -1.15 -0.13 -1.34 1.47 -0.87 -0.37 -1.47 1.72 -0.74 0.48 -1.19 -5.12 -3 -4.95 -3.32 
+2.11 -0.85 1.3 -1.24 1.39 -1.21 1.46 -1.15 1.52 -1.13 4.6 2.34 5.49 3.17 1.02 -1 
+-3.17 -4.23 -1.13 -1.65 1.84 1.26 6.05 3.95 1.48 -0.55 1.41 -0.62 1.45 -0.59 1.48 -0.54 
+-0.04 -2.91 2.52 0.95 1.17 -1.34 -1.06 -3.71 -0.46 -3.99 2 -0.82 1.99 -1 -0.21 -4.84 
+-2.67 -4.51 -2.97 -0.2 -3.61 -3.84 -3.28 -9.68 -3.05 -3.8 -3.91 -5.25 -4.63 -9.59 -3.32 -3.47 
+-5.16 -5.36 -3.84 -9.96 -4.82 -4.38 -5.41 1.39 -5.77 0.73 -5.32 1.59 -5.66 -2.82 -4.17 -2.87 
+-6.81 -0.11 -7.42 -1.98 -1.48 -0.87 -10.83 -6.25 -1.56 -0.86 -8.87 -7.12 -6.66 -3.47 -3.82 5.95 
+-2.43 3.99 -1.15 1.87 3.28 10.72 3.12 5.51 2.71 5.02 3.35 8.68 1.21 2.84 10.22 7.57 
+0.08 0.11 0 -0.18 0.79 -5.59 3.69 2.54 1.97 2.82 -2.62 0.11 -3.82 0.13 0 0.18 
+8.05 8.92 p
+7.21 8.88 0.39 0.56 6.7 8.79 0.78 0.91 2.22 4.78 -2.13 2.28 -1.52 2.61 -1.26 2.66 
+4.67 4.91 1.3 0.87 7.81 5.77 -6.75 0.16 -5.86 -0.42 -5.79 -0.78 -8.14 -1.17 -4.95 -3.47 
+-1.32 -4.04 -3.73 -2.86 -4.75 -4.73 0.2 -4.08 -2.5 -4.52 -1.61 -2.17 -7.84 -6.88 -3.45 -5.1 
+1.98 -4.25 -1.34 -6.12 -13.02 -5.17 -1.63 -0.47 -11.52 -4.62 -5.45 -1.5 -2.82 4.96 -10.28 -2.62 
+-6.36 -9.96 3.28 -5.43 7.9 -1.5 -1.73 -4.6 -6.55 -11.13 -0.71 -1.62 -0.68 -10.81 -0.41 -2.06 
+-1.93 -11.84 -0.2 -1.8 -6.9 -6.88 -7.03 3.91 -1.76 -0.3 -1.54 -0.26 -6.31 1.52 -6.62 4.47 
+-10.83 -0.02 -6.08 1.32 -8.5 -5.05 -3.04 8.59 -10.07 -0.89 -1.48 0.82 -5.55 5.95 -2.11 3.73 
+-1.28 4.08 -4.56 3.67 -1.45 1.69 -0.5 1.16 -0.8 8.05 1.91 11.24 1.15 4.25 2.32 7.45 
+-6.42 2 -2.63 0.89 0.82 4.02 3.87 7.77 5.64 8.44 3.95 5.32 7.42 6.9 6.58 7.71 
+-0.04 7.23 -4.04 5.53 -3.95 0.68 -1.23 4.53 2.08 6.77 11.5 -1.72 1.13 -0.2 0.24 0.68 
+2.06 7.51 -0.91 2.19 -2.21 3.69 3.75 3.52 1.84 1.39 0 -60.94 -2.45 -6.79 -5.58 -10.48 
+-1.13 -1.73 1.8 0.24 1.65 2.02 8.29 9.61 0.24 3.41 -2.82 3.73 0 60.94 6.79 5.12 
+6.84 3.38 9.05 0.07 -10.79 -5.79 -8.34 -5.08 7.21 0.63 13.52 2.98 4.43 2.43 2.78 6.46 
+9.96 4.73 3.64 3.02 2.02 5.88 0.02 3.37 -14.87 -3.95 -0.99 -1.07 -14 -4.03 -0.84 1.93 
+-9.29 3.37 -1.59 -1.32 -6.32 -5.21 -10.24 -7.25 -4.86 -3.41 -10.8 -7.09 -13.41 -8.12 -1.17 -1.04 p f*
+0 255 r6
+2218.86 1678.04 -10.33 -0.93 12.52 7.81 7.88 5.55 7.66 5.29 0 -2.34 -2.45 -1.69 -14.15 -9.98 
+-3.37 -2.06 2.78 0.22 1.72 1.13 14.63 10.29 1.61 1.15 -0.76 0.95 0 2.34 1.45 1 
+2.76 -3.54 -5.97 -4.21 -9.72 -6.83 -6.25 -4.14 f*
+2 239 204 rG
+2225.5 895.23 -8.92 3.27 0.04 6.08 4.36 -2.08 0 -3.36 1.17 -0.43 0.13 0.61 -1.3 0.61 
+0 2.59 5.55 -2.64 -1.04 -4.62 f*
+255 203 0 rG
+2219.4 1679.91 -2.78 -0.22 3.37 2.06 14.15 9.98 2.45 1.69 0.76 -0.95 -1.61 -1.15 -14.63 -10.29 
+-1.72 -1.13 f*
+0 155 255 rG
+2217.36 1672.5 -0.32 -0.19 0.13 -0.61 1.23 1.07 -1.04 -0.26 f*
+7 193 59 rG
+2222.16 898.7 -1.17 0.43 0 0.78 1.3 -0.61 -0.13 -0.61 f*
+0 255 r6
+2227.06 1699.48 -0.56 5.23 4.49 4.6 0 -2.11 -1.87 -1.96 0.11 -1.37 2.16 1.8 -0.41 1.52 
+0 2.11 2.87 2.95 4.82 2.08 10.48 2.87 17.45 7.21 0.02 0 14.17 7.24 7.49 3.52 
+8.63 2.63 9.14 5.9 6.99 2.54 6.81 2.15 9.59 4.84 9.53 4.52 7.94 4.75 7.59 4.79 
+4.08 0.79 0 -0.91 -2.63 -0.52 -7.44 -4.75 -7.81 -4.58 -0.13 -0.09 -9.91 -4.3 -8.32 -5.06 
+-11.55 -3.64 -2.32 -0.84 -6.81 -5.97 -15.61 -4.73 -2.23 -1.07 -8.25 -6.83 -1.37 -6.75 -0.36 -1.43 
+1.75 1.52 6.45 6.79 9.16 6.51 9.75 3.04 5.03 2.52 8.05 5.63 9.45 0.28 9.57 2.62 
+7.05 4.82 5.55 5.21 5.77 5.21 12.76 -0.26 3.73 0.48 0.93 2.04 -10.27 4.17 0 0.91 
+2.69 0.52 12.67 -3.02 -2.97 -6.19 -11.29 -1.52 -1.39 0.04 -6.64 -4.52 -2.17 -0.78 -7.72 -2.8 
+-6.47 -4.86 -12.78 -3.78 -1.52 -0.54 -9.11 -4.32 0.73 -3.95 8.42 -1.43 0 -4.41 -8.03 -2.58 
+1.84 -4.88 6.96 4.17 -0.78 3.29 0 4.41 3.52 -0.61 14.39 1.67 3.71 1.97 4.36 1.93 
+-1.28 0.78 0.91 5.28 4.3 0.89 0 -1.93 -0.41 -0.09 -0.07 -0.28 0.65 0.11 -0.17 0.26 
+0 1.93 3.47 0.7 11.63 -1.95 1.66 -0.11 8.38 1.89 7.57 2.43 -0.82 4.86 0.39 2.02 
+2.82 0.59 0 -11.18 -5.45 -0.82 -6.7 -2.78 2.21 -2.71 2.47 0.74 5.04 3.3 2.43 2.28 
+0 11.18 3.28 0.7 -0.37 -4.64 2.67 -4.12 -2.3 -2.46 -4.19 -3.67 -4.97 -3.23 -7.01 -2.19 
+-6.47 7.12 -9.16 -2.08 1.52 -3.63 3.58 -3.49 2.05 -4.76 -0.5 -0.76 -2.76 -4.12 -4.9 -3.62 
+-2.56 -4.14 -4.36 -3.61 -1.41 -0.13 1.13 -0.24 3.75 -4.6 -8.09 -1.85 -10.59 -1.52 6.69 -3.43 
+0 -2.12 -8.25 -3.45 2.93 -4.21 1.76 -0.78 1.45 0.96 4.84 4.32 -2.73 3.17 0 2.13 
+0.85 -0.43 14.15 1.02 7.53 1.28 1.91 3.58 6.32 2.91 2.43 -0.11 0 -1.3 -5.23 -1.93 
+-1.55 -3.52 -12.02 -2 -3.88 -0.37 -3.66 -0.33 1.52 -4.05 -0.32 -0.3 -3.99 -3.78 -4.77 -4.32 
+-4.38 -1.97 -13.28 -2.84 -0.76 -0.17 -13.15 0.21 -2.84 -4.28 -0.25 -5.05 -4.17 -6.05 -3.46 -6.14 
+-3.84 -6.55 2.23 -4.69 9.79 -1.8 1.98 -4.51 1.45 -1.55 10.46 1.15 -7.96 -8.34 -0.24 -0.39 
+0.32 0.13 13.2 3.97 12.67 5.23 9.55 1.17 4.97 -2.19 -6.62 -7.38 -1.39 -4.36 -0.26 -1.21 
+-8.07 -9.36 -0.29 -0.34 -13.52 -4 -1.34 -5.45 -0.18 -6.51 -1.86 -4.71 1.19 -2.59 1.02 0.29 
+0.98 1.24 6.46 9.83 8.7 1.15 4.14 -3.16 4.97 1.99 0.43 1.93 -1.45 4.75 5.21 7.7 
+3.08 2.75 5.58 7.47 0.24 0.43 0.65 4.64 7.17 7.16 0.17 0.13 2.64 4.7 7.45 5.23 
+12.2 1.73 1.69 0.21 8.79 0.61 5.75 0.13 3.37 0.61 -2.63 -1.97 -4.4 -3.19 -6.4 -4.28 
+-2.39 -2.49 0.91 -2.73 1.21 -2.67 2.06 -2.23 -1.2 -4.36 -2.02 -2.82 -4.43 -5.73 -2.71 -4.12 
+-8.07 -9.03 -1.09 -1.17 3.56 -2.61 -5.95 -8.33 -10.48 -7.4 -8.18 -8.98 -6.14 -10.29 -1.93 -6.33 
+3.63 -5.5 0.34 -2.8 2.23 -4.6 3.47 1.82 9.66 8.31 3.71 2.32 8.44 4.82 3.52 1.8 
+7.62 1.09 7.38 1.2 0.61 0.41 8.48 4.21 5.27 -1.54 5.86 -0.3 5.3 -1.39 2.45 2.23 
+3.78 9.98 P
+7.77 8.03 0.76 0.76 5.08 9.5 5.86 7.86 0.98 1.2 2.4 7.25 0.64 2.47 0.63 0.63 
+4.97 5.1 2.98 0.52 1.26 2.15 0.11 2.3 -2.02 1.37 -2.04 1.04 0.7 5.99 0.24 0.8 
+-1.06 1.84 -3.02 -1.58 -0.19 -0.22 0.13 0.24 0.67 4.05 -1.58 0.59 -1.54 0.63 -1.52 0.65 
+-1.62 0.54 -3.91 -2.56 -4.62 -3.14 2.82 4.13 1.43 1.93 -0.98 1.17 -2.82 -1.62 -6.88 -3.54 
+-1.61 1.17 -1.52 1.21 -1.45 1.26 -1.39 1.3 -2.63 0.67 7.45 5.04 2.21 1.3 -0.41 1.34 
+-2.23 0.65 0.82 1.74 -1.97 0.85 0.41 1.52 -0.54 1.26 0.39 1.43 -3.89 -0.37 -8.5 -0.52 
+-0.39 1.61 -0.8 1.58 -2.91 1.37 1.71 1.91 -3.45 1.52 -0.15 0.02 -0.04 -0.02 -1.41 -0.08 
+-12.37 -1.96 -3.89 -1.63 -8.09 -3.64 5.8 -1.5 -6.81 -3.1 -7.54 -2.71 -5.34 -2.78 -12.98 -4.62 
+-9.26 -0.41 8.11 4.84 9.14 3.47 -9.48 -1.67 -13.26 -4.08 -1.08 -0.02 -12.7 -0.3 12.82 6.88 
+13.57 2.71 5.66 2 -5.4 -0.13 -0.37 0 -13.58 -2.43 -12.81 -3.61 -0.67 -0.2 -10.83 0.41 
+3.56 5.36 -3.32 3.75 1.06 4.69 10.7 4.3 13.15 0.54 0 -1.71 -0.11 -0.02 -13.65 -2.23 
+-4.88 -4.34 4.21 -2.02 0.84 -1.26 -0.95 -1.69 -4.17 -3.73 4.26 -0.2 13.54 3.32 13.63 1.99 
+11.13 0.2 0 -3.12 -5.08 -0.33 -5.84 -0.34 -13.59 -2.43 -10.7 -5.71 11.48 0.24 13.23 4.36 
+10.48 4.21 0 3.12 0.05 0 2.61 -0.93 0.98 0.18 0 -6.97 -13.33 -3.61 -3.19 -1.87 
+3.64 0.13 13.11 4.36 0.97 0.5 -1.21 0.48 0 6.97 12.67 2.12 0.13 0.09 0 -1.89 
+-10.29 -4.41 10.76 1.07 4.76 2.19 -5.12 1.13 -0.11 0.02 0 1.89 2.8 1.61 0.19 2.54 
+-3.12 -0.07 -13.71 -0.87 -5.86 -0.82 -7.83 -1.11 -4.05 1.37 1.65 3.75 -10.33 2.13 0 1.71 
+0.35 0 14.15 3.04 5.14 0.65 -4.79 0.63 -9.27 2.22 5.66 3.82 -2.48 3.71 10.36 2.8 
+0 -1.74 -4.54 -1.21 2.13 -2 0 -2.14 -0.84 -0.39 -5.82 -2.64 5.14 -1.26 8.82 1.56 
+-7.31 2.74 0 2.14 0.63 -0.61 4.71 2.32 -2.93 1.5 0 1.74 1.06 0.28 7.29 -3.8 
+-1.39 -3.14 3.6 -2.04 3.28 1.8 3.28 2.78 -3.43 2.14 -11.89 2.26 2.67 3.28 5.16 2.84 
+-2.58 3.04 0 1.3 0.98 -0.07 1.13 -0.61 4.86 -4.34 -7.59 -2.38 8.05 -3.89 13.07 0.98 
+2.64 1.32 0.46 -1.84 -2.39 -1 -8.42 -0.33 2.69 -3.14 -1.65 -2.69 -0.78 -2.76 -10.66 -1.99 
+-0.39 -0.16 -1.98 -0.78 -11.83 -1.41 -13.3 -3.82 12.24 -1.47 2.86 0.11 0 -0.5 -2.95 -0.15 
+-0.32 -0.13 -0.39 -0.13 -1.91 -3.71 2.19 -0.76 12.72 2.76 -9.34 2.12 0 0.5 9.27 0.42 
+1.43 -0.35 13.52 -0.7 10.16 2.59 -5.86 2.28 10.09 0.26 0 -0.96 -2.26 -1.52 -12.17 -3.06 
+-8.92 -0.93 8.86 0.48 0.46 0.39 13.67 2.87 2 0.37 -1.63 1.41 0 0.96 0.24 0 
+1.15 -0.2 2.21 -2.13 -4.03 -0.74 -11.37 -2.34 10.93 -1.28 13.78 1.08 2.39 -0.17 2.86 -1.52 
+-1.41 -1.82 2.43 -1.39 0.7 -1.54 0.36 -1.58 7.1 0.43 5.54 0.52 -0.26 -1.37 0.5 -1.2 
+-0.26 -1.46 1.71 -0.84 -0.58 -1.61 1.95 -0.7 0.45 -1.26 -3.66 -2.18 -6.21 -4.16 2.39 -0.76 
+1.32 -1.26 p
+1.43 -1.24 1.47 -1.19 1.57 -1.15 5.75 2.95 4.17 2.39 1 -1.09 -2.3 -3.08 -2 -2.89 
+3.25 2.2 4.97 3.25 1.56 -0.52 1.46 -0.65 1.49 -0.61 1.52 -0.56 -0.37 -3.52 2.82 1.3 
+1.11 -1.61 -0.63 -2.26 -0.59 -4.99 2.02 -0.93 2 -1.17 -0.15 -3.58 -1.98 -3.32 -2.95 -0.37 
+-4.54 -4.79 -3.23 -9.7 -2.02 -2.48 -4.88 -6.55 -4.84 -9.57 -2.04 -2.11 -6.49 -6.68 -3.79 -9.98 
+-3.63 -3.32 -5.36 1.41 -5.82 0.52 -5.29 1.56 -7.07 -3.52 -2.39 -1.64 -7.09 -0.65 -8.21 -1.87 
+-1.08 -0.56 -11.13 -6.41 -1.13 -0.71 -10 -8.16 -5.06 -2.65 -3.23 6.67 -0.02 0.06 -3.56 5.62 
+2.61 8.53 5.02 8.79 0.91 1.65 4.16 10.8 0.3 0.74 2.59 1.93 4.69 -2.41 7.31 5.08 
+3.97 5.57 -5.1 1.43 4.67 5.13 7.81 9.24 1.17 1.78 6.14 8.01 0.73 1.02 2 4.95 
+-2.11 2.25 -1.34 2.63 -1.11 2.71 3.53 3.69 3.84 2.59 6.93 5.05 0.61 0.45 -0.78 -0.15 
+-7.25 -0.2 -7.33 -0.52 -3.73 -0.48 -10.15 -1.48 -6.21 -4.34 -2 -4.38 -1.93 -1.48 -5.96 -5.97 
+-0.24 -4.34 -1.36 -2.49 -3.58 -4.8 -5.47 -4.82 -4.32 -6.42 1.71 -4.5 -0.89 -4.03 -10.33 -4.19 
+-1.65 5.13 -1.78 -0.24 -4.32 -0.59 -4.51 -6.83 -3.12 -3.93 -3.23 -0.87 -2.5 5.12 -12.87 -3.25 
+-8.27 -10.59 -2.64 -4.3 2.38 -6.44 7.77 3.12 2.21 -0.37 0 -1.65 -11.98 -6.54 -8.7 -4.12 
+-6.88 1 1.22 -6.25 3.63 -6.54 7.07 2.09 7.62 10.33 8.74 9.38 0.2 0.5 -0.91 0.15 
+0 1.65 2.48 -0.43 -0.98 -2.56 -7.66 -10.27 -3.49 -7.83 0.93 -6.27 -1.09 -4.41 -1.86 -8.9 
+-6.23 -0.25 -2.84 6.73 0.22 1.71 -1.76 -0.54 -8.64 -9.46 -5.77 3.8 -7.05 3.93 -6.12 4.84 
+-6.14 4.79 -1.13 6.55 9.86 9.01 0.5 2.54 -3.78 6.1 7.25 8.03 5.34 1.59 8.16 2.78 
+3.11 5.32 5.16 6.36 12.03 6.32 1.52 0.76 0 -1.04 -1 -0.5 -4.73 -3.17 -0.93 -7.88 
+1.67 -5.88 -0.22 -0.7 0.52 0.33 0.96 0.78 9.22 7.71 -1.84 4.84 -3.64 4.47 0 1.04 
+9.2 4.62 -3.9 -9.05 11.59 1.07 6.45 10.33 -1.95 1.2 -3 1.84 3.8 2.23 11.89 6.41 
+0.11 0.06 0 -0.25 -3.08 -6.91 6.59 1.52 3.62 4.23 -7.14 1.15 0 0.25 11.72 6.41 
+7.98 7.68 -7.14 1.32 -4.95 -0.61 -12.48 -5.6 -13.52 -3.23 -9.86 -3.69 5.1 7.92 -1.61 4.71 
+-6.9 2.71 -4.75 0.41 -5.19 1.39 -8.7 1.17 -0.37 0.04 -13.04 -5.16 -12.97 -5.08 -1.59 0.3 
+1.07 3.43 2.97 4.95 6.16 8.75 -2.76 5.38 6.68 5.6 6.95 4.53 7.23 7.55 0.87 0.46 
+11.11 7.38 5.14 4.25 2.3 2.15 10.96 6.17 1.11 0.75 0 -5.6 -0.28 -0.13 0.07 -0.43 
+1.2 0.54 -0.98 0.02 0 5.6 3.63 2.46 3.41 2.16 13.41 3.95 1.13 0.69 -0.13 0.89 
+-3.17 4.14 6.84 4.39 3.79 1.54 6.27 0.54 0 -10.57 -6.32 -1.32 4.52 -1.34 3.38 0.75 
+-1.58 1.91 0 10.57 5.69 0.5 -1.24 5.1 10.74 2.43 -7.5 5.53 -2.78 -0.09 -11.48 -0.3 
+0.26 -5.52 -6.73 0.04 -2.25 -0.8 -6.88 -2.43 -7.44 -4.91 -5.23 -1.66 -1.62 0.24 -10.34 1.61 
+-4.01 0.48 5.47 1.47 4.77 4.26 0.26 2.11 -11.07 2.71 -3.1 -1.43 -6.08 -2.8 -0.79 -6.4 
+-0.26 -0.15 p
+-9.89 -5.69 -2.04 -1.17 -5.23 -3.04 -3.49 2.24 -0.09 6.71 1.25 6.9 -8.33 -6.42 -1.67 -1.29 
+-9.57 -2.88 -8.94 -5.6 -2.75 -1.72 -8.23 -6.95 p f*
+255 203 0 rG
+2229.23 1703.88 -0.11 1.37 1.87 1.96 0.41 -1.52 -2.16 -1.8 f*
+0 255 r6
+2237.63 1597.33 -1.8 -0.24 1.13 1.73 5.58 10.48 2.45 6.79 2.82 -3.73 -0.24 -3.41 -8.29 -9.61 
+-1.65 -2.02 f*
+7 193 59 rG
+2241.78 1589.32 -4.41 -8.48 8.77 -2.37 2.02 0.65 10.57 8.62 14.41 2.91 8.64 11.46 12.98 4.79 
+12.07 6.21 11.63 6.86 11.91 6.36 11.93 6.32 6.41 6.18 -9.31 0.46 -0.33 -0.04 -2.82 -1.3 
+-9.54 -4.51 -0.85 -0.09 -12.98 -2.54 -12.74 -5.05 -2.1 -0.17 0.24 4.79 1.13 1.7 4.82 7.66 
+-9.12 1.37 -1.21 0 -9.55 2.02 -3.28 0.41 0 -2.3 0.32 -0.04 9.55 -1.26 4.43 0 
+6.88 -1.02 -4.71 -6.45 -2.32 -2.32 0.19 -5.88 5.18 0.46 12.61 5.36 9.74 1.93 4.21 0.46 
+12.35 5.79 7.23 -0.28 -4.79 -4.64 -12.02 -6.21 -11.98 -6.29 -11.7 -6.75 -11.98 -6.36 -11.07 -3.5 
+-2.5 -0.35 -1.41 -2.12 -6.99 -9.87 -10.83 -2.12 -3.67 -0.54 -13.39 -3.2 8.23 12.04 1.91 3.02 
+-1.15 6.99 5.52 9.81 0.87 1.09 -0.09 6.92 8.53 9.66 12.85 5.68 0 2.3 -0.39 0.04 
+-12.92 -5.62 -5.9 -4.29 -5.34 -8.18 -1.02 -1.7 -1.34 -7.88 -3.28 -9.35 0.61 -6.25 -1.65 -2.26 
+-8.05 -8.71 f*
+2243.77 1710 -4.6 -2.89 0.46 -6.9 16.25 7.51 2.64 2.23 -0.3 1.82 -12.89 -0.8 -1.56 -0.98 
+0 -1.78 1.78 -0.06 -2.5 -1.21 -0.02 0.82 0.74 0.46 0 1.78 f*
+2 239 204 rG
+2243.77 1708.22 -0.74 -0.46 0.02 -0.82 2.5 1.21 -1.78 0.06 f*
+2252.63 1598.04 -8.23 -12.04 13.39 3.2 3.67 0.54 10.83 2.13 6.99 9.88 1.41 2.13 2.5 0.35 
+11.07 3.5 11.98 6.36 11.7 6.75 11.98 6.29 12.02 6.21 4.79 4.64 -7.23 0.28 -12.35 -5.79 
+-4.21 -0.46 -9.74 -1.93 -12.61 -5.36 -5.18 -0.46 -0.19 5.88 2.32 2.32 4.71 6.45 -6.88 1.02 
+-4.43 0 -9.55 1.26 0 -1.63 0.35 -0.04 6.25 -0.8 7.68 0.04 4.58 -0.67 -3.14 -4.3 
+-5.16 -5.18 0.84 -5.66 8.29 0.76 12.48 5.61 6.47 1.31 7.59 0.86 12.33 5.8 4.84 -0.17 
+-3.2 -3.11 -12.13 -6.08 -12 -6.23 -11.8 -6.68 -11.89 -6.49 -7.38 -2.3 -6.53 -0.89 -3.73 -5.62 
+-4.64 -6.62 -7.23 -1.39 -7.36 -1.08 -8.92 -2.08 5.47 8 4.12 6.42 -1.65 6.58 3.65 6.54 
+3.97 4.86 -0.63 6.51 5.69 6.42 12.8 5.68 0 1.63 -0.32 0.04 -12.85 -5.68 -8.53 -9.66 
+0.09 -6.92 -0.87 -1.09 -5.52 -9.81 1.15 -6.99 -1.91 -3.02 f*
+2250.54 1697.05 -2.89 -2.41 0.3 -3.8 6.04 4.99 -3.45 1.22 f*
+0 155 255 rG
+2253.43 1596.53 -5.47 -8 8.92 2.08 7.36 1.08 7.23 1.39 4.64 6.62 3.73 5.62 6.53 0.89 
+7.38 2.3 11.89 6.49 11.8 6.68 12 6.23 12.13 6.08 3.2 3.11 -4.84 0.17 -12.33 -5.8 
+-7.59 -0.86 -6.47 -1.31 -12.48 -5.61 -8.29 -0.76 -0.84 5.66 5.16 5.18 3.14 4.3 -4.58 0.67 
+-7.68 -0.04 -6.25 0.8 0 -1.63 3.32 -0.41 10.91 0.11 2.3 -0.33 -1.59 -2.17 -8.01 -8.05 
+1.5 -5.45 11.37 1.06 12.33 5.93 3.25 0.65 10.98 1.28 12.29 5.82 2.43 -0.08 -1.61 -1.57 
+-12.2 -5.95 -12.07 -6.18 -11.87 -6.58 -11.8 -6.64 -3.71 -1.15 -10.57 -1.39 -6.01 -9.14 -2.32 -3.34 
+-3.62 -0.67 -11.02 -1.57 -4.47 -1.02 2.74 3.97 6.29 9.8 -2.12 6.18 1.82 3.23 7.03 8.62 
+-1.17 6.14 2.84 3.19 12.76 5.68 0 1.63 -0.35 0.04 -12.8 -5.68 -5.69 -6.42 0.63 -6.51 
+-3.97 -4.86 -3.65 -6.54 1.65 -6.58 -4.12 -6.42 f*
+255 0 r6
+2254.28 1595.01 -2.74 -3.97 4.47 1.02 11.02 1.57 3.63 0.67 2.32 3.34 6.01 9.14 10.57 1.39 
+3.71 1.15 11.8 6.64 11.87 6.58 12.07 6.18 12.2 5.95 1.61 1.57 -2.43 0.08 -12.29 -5.82 
+-10.98 -1.28 -3.25 -0.65 -12.33 -5.93 -11.37 -1.06 -1.5 5.45 8.01 8.05 1.59 2.17 -2.3 0.33 
+-10.91 -0.11 -3.32 0.41 -12.76 -5.68 -2.84 -3.19 1.17 -6.14 -7.03 -8.62 -1.82 -3.23 2.12 -6.18 
+-6.29 -9.8 f*
+0 155 255 rG
+2256.29 1531.62 -3.97 -11.5 7.14 -4.62 10.96 5.49 -0.76 6.82 -6.58 4.71 -1.64 -0.22 0 -1.62 
+6.55 -4.82 0.37 -3.43 -5.49 -2.71 -6.83 4.77 1.99 5.73 3.41 0.46 0 1.62 -5.14 -0.67 f*
+255 0 r6
+2258.03 1530.21 -1.99 -5.73 6.83 -4.77 5.49 2.71 -0.37 3.43 -6.55 4.82 -3.41 -0.46 f*
+7 193 59 rG
+2266.86 1704.82 -2.84 -0.82 1.35 -2.11 10.78 3.49 -9.29 -0.57 f*
+255 203 0 rG
+2275.61 1718.12 -1.75 -1.52 0.36 1.43 1.37 6.75 8.25 6.83 2.23 1.07 15.61 4.73 6.81 5.97 
+2.32 0.84 11.55 3.64 8.32 5.06 9.91 4.3 0.13 0.09 0 -1.06 -2.73 -1.13 -6.12 -2.52 
+-7 -5.25 0.61 -2.78 5.34 1.48 7.64 4.75 2.28 5.45 0 1.06 7.81 4.58 7.44 4.75 
+2.63 0.52 10.27 -4.17 -0.93 -2.04 -3.73 -0.48 -12.76 0.26 -5.77 -5.21 -5.55 -5.21 -7.05 -4.82 
+-9.57 -2.62 -9.45 -0.28 -8.05 -5.62 -5.03 -2.52 -9.75 -3.04 -9.16 -6.51 -6.45 -6.79 f*
+2278.43 1559.12 -1.22 6.25 6.88 -1 8.7 4.12 11.98 6.54 0.91 -0.15 -0.2 -0.5 -8.74 -9.37 
+-7.62 -10.33 -7.07 -2.09 -3.62 6.54 f*
+7 193 59 rG
+2286.04 1715.62 -7.03 -3.73 1.23 -5.79 16.56 6.57 -10.77 2.95 f*
+110 210 9 rG
+2280.08 1514.5 -0.13 0.21 0.93 0.85 -0.63 -1.05 -0.17 -0.02 f*
+0 155 255 rG
+2286.02 849.8 -5.56 9.59 6.17 1.2 -0.26 1.11 -3.47 9.23 14.78 -7.42 10.53 -9.22 4.49 -8.79 
+0.83 -1.24 11.84 -8.66 12.3 -8.27 12.8 -7.9 1.97 -0.82 14.91 -5.64 1.74 -0.61 3.84 1.02 
+4.21 0.78 4.17 0.85 13.34 -5.64 1.61 -0.61 3.8 0.76 3.88 0.72 4 0.67 4.08 0.61 
+-0.43 0.8 -3.54 7.16 4.84 0.55 4.82 0.58 -0.16 0.8 -0.98 7.31 5.58 0.48 0.09 0.82 
+0.86 7.36 6.27 0.34 6.34 0.33 6.38 0.24 0.37 0.82 3.64 7.36 7 0.16 7.01 0.13 
+7.04 0.07 7.05 0.07 7.04 -0.37 -0.02 -1.17 -6.99 0.72 -6.99 -0.09 -6.98 -0.04 -6.95 -0.16 
+-6.94 -0.12 -3.23 -6.51 -0.74 -1.63 -6.34 -0.24 -6.25 -0.37 -6.18 -0.39 -0.76 -6.45 -0.17 -1.65 
+-5.49 -0.52 0.89 -6.43 0.3 -1.63 -4.7 -0.65 -4.73 -0.56 3.08 -6.25 0.87 -1.59 -4.01 -0.63 
+-3.93 -0.65 -3.84 -0.71 -3.73 -0.76 -3.21 1.24 -11.39 4.77 -4.19 -0.78 -4.42 -0.63 -3.78 -1 
+-3.49 1.21 -12.89 4.84 -3.95 1.61 -12.87 7.9 -12.41 8.27 -11.89 8.66 -1.65 2.48 -3.82 7.55 
+-10.63 9.22 -12.52 6.25 2.93 -7.79 0.57 -2.2 -6.1 -1.23 4.93 -8.44 1.39 -2.15 -4.93 -1.66 
+6.55 -8.14 1.8 -2.17 8.03 -8.14 2.2 -2.02 -3.5 -1.8 9.72 -7.7 2.71 -2 -1.91 -2.21 
+-3.21 -1.59 -2.21 -1.99 -2.17 -2 -1.73 -2.12 -1.54 -2.21 -1.22 -2.28 -0.8 -2.43 -0.48 -2.5 
+0.07 -2.64 15.67 -6.62 4.49 -1.67 0.59 -2.45 0.71 -2.45 1.37 -2.61 1.71 -2.63 2.09 -2.69 
+2.43 -2.71 2.82 -2.74 -3.32 -0.02 -13 0.06 9.2 -2.28 9.22 -2.3 4.6 -1 3.93 -2.76 
+4.34 -2.75 4.71 -2.71 5.04 -2.69 5.49 -2.63 5.73 -2.56 6.29 -2.47 16.43 -0.41 4.1 0.02 
+6.05 -1.84 6.18 -1.75 6.43 -1.63 6.79 -1.46 12.42 2.2 3.1 0.63 5.95 -0.96 6.05 -0.84 
+6.19 -0.7 6.25 -0.59 6.33 -0.41 6.38 -0.3 6.42 -0.13 6.4 0 1.98 -1.06 6.16 -3.71 
+7.51 0.39 7.48 0.5 7.77 0.37 7.33 0.89 3.3 -0.65 -0.52 -1.17 -7.81 -0.99 -2.43 -4.47 
+-0.73 -1.22 -4.3 -4.29 12.24 -2.72 11.57 1.29 11.22 1.7 10.98 1.97 10.64 2.25 4.34 -0.06 
+9.15 0.2 9.14 0.2 10.98 3.28 10.57 3.5 9.94 3.69 9.39 3.86 5.43 1.02 10.37 2.21 
+10.39 2.23 9.2 4.73 8.03 4.75 7.63 4.82 6.79 4.77 6.1 4.75 5.42 4.66 4.73 4.6 
+4.23 4.52 3.23 4.3 3.19 4.36 2.34 4.13 1.91 4.01 1.43 3.93 0.83 3.71 0.24 3.54 
+0 3.45 3.69 2.59 13.39 9.41 -1.2 3.3 -14.84 -4.82 -3.97 -1.11 3.21 2.45 12.17 9.68 
+-15.36 -5.34 -4.71 -1.67 -2.04 2.8 -2.69 2.5 -3.04 2.34 -3.71 2.04 -3.97 1.91 -14.78 -5.54 
+-3.91 -1.34 -4.12 1.67 -4.97 1.2 -3.79 1.95 -4.14 1.82 -4.82 1.43 -5.04 1.35 1.2 2.08 
+4.9 7.68 -5.6 1.39 -5.84 1.26 -6.23 1 -6.42 0.93 -6.6 0.83 -6.93 0.58 -11.93 -6.14 
+-3.23 -1.54 -6.51 0.69 -6.87 0.37 -6.49 0.84 -6.82 0.59 -7.05 0.34 -7.01 0.46 -9.72 -6.07 
+-2.87 -1.89 -6.45 0.7 -6.92 0 -6.55 0.71 -6.92 0.04 -7.12 -0.47 -6.66 0.82 -7.34 -1.65 
+-6.7 0.96 -6.91 0.11 -6.88 0.54 0.02 1.17 7.01 -0.28 6.99 -0.11 6.88 -0.52 7.2 0.76 
+6.84 -0.52 P
+7.05 0.13 6.92 -0.15 6.73 -0.52 6.88 -0.17 6.59 -0.55 1.43 0.96 11.13 6.95 7.08 -0.43 
+7.03 -0.43 6.88 -0.56 6.64 -0.74 6.81 -0.5 6.55 -0.71 1.61 0.78 13.67 7.05 6.88 -0.67 
+6.62 -0.84 6.46 -0.91 6.3 -1 5.99 -1.15 5.79 -1.28 -5.69 -8.96 -0.61 -1.04 5.1 -1.35 
+4.86 -1.43 4.43 -1.68 4.14 -1.78 4.6 -1.45 4.04 -1.74 1.95 0.67 16.95 6.38 3.91 -1.98 
+3.64 -2.11 3.15 -2.32 2.8 -2.45 2.32 -2.67 2.34 0.82 17.49 6.12 -13.84 -11.07 -1.61 -1.21 
+1.97 0.54 17.23 5.64 1.3 -3.28 -15.64 -11.02 -1.82 -1.3 0.08 -3.45 -0.28 -3.58 -0.8 -3.73 
+-1.34 -3.93 -1.87 -4.04 -2.37 -4.17 -3.08 -4.36 -3.38 -4.38 -4.19 -4.56 -4.77 -4.64 -5.45 -4.73 
+-6.11 -4.8 -4.47 -3.16 -2.35 -1.67 -7.57 -4.86 -8.14 -4.82 -9.07 -4.8 -11.91 -2.56 -11.94 -2.56 
+-2.71 -0.52 -9.46 -3.91 -10.05 -3.75 -10.63 -3.56 -11.11 -3.32 -20.66 -0.48 -2.19 0.04 -10.77 -2.3 
+-11.09 -2.02 -11.37 -1.73 -11.67 -1.35 -13.98 3.11 4.93 4.91 0.37 0.61 2.73 5.03 7.7 0.98 
+0.26 0.59 -1.65 0.32 -7.47 -0.93 -7.72 -0.56 -7.64 -0.54 -7.71 -0.37 -7.36 4.41 -0.98 0.54 
+-6.54 0 -6.53 0.13 -6.51 0.3 -6.45 0.46 -6.38 0.57 -6.29 0.74 -6.16 0.84 -6.05 1 
+-1.54 -0.33 -14.26 -2.47 -6.81 1.5 -6.53 1.67 -6.27 1.8 -6.08 1.88 -2.06 0 -9.39 0.24 
+-9.37 0.24 -6.27 2.54 -5.82 2.61 -5.51 2.69 -5.1 2.74 -4.73 2.75 -4.36 2.8 -3.95 2.82 
+-2.32 0.5 -20.83 5.21 14.73 -0.11 1.65 0 -2.82 2.78 -2.45 2.75 -2.08 2.72 -1.72 2.66 
+-1.37 2.63 -0.86 2.52 -0.63 2.5 -2.26 0.84 -17.77 7.54 0.07 2.65 0.5 2.52 0.82 2.45 
+1.21 2.32 1.52 2.23 1.76 2.15 2.12 2.04 2.28 2 2.91 1.76 2.39 2.02 -1.35 1 
+-11.04 8.79 3.64 1.75 -1.11 1 -9.05 9.22 -0.89 1.09 -7.5 9.37 5.14 1.54 -0.69 1.07 p f*
+2 239 204 rG
+2286.59 849.96 -4.93 8.44 6.1 1.23 -0.57 2.2 -2.93 7.79 12.52 -6.25 10.63 -9.22 3.82 -7.55 
+1.65 -2.48 11.89 -8.66 12.41 -8.27 12.87 -7.9 3.95 -1.61 12.89 -4.84 3.49 -1.21 3.78 1 
+4.42 0.63 4.19 0.78 11.39 -4.77 3.21 -1.24 3.73 0.76 3.84 0.71 3.93 0.65 4.01 0.63 
+-0.87 1.59 -3.08 6.25 4.73 0.56 4.7 0.65 -0.3 1.63 -0.89 6.43 5.49 0.52 0.17 1.65 
+0.76 6.45 6.18 0.39 6.25 0.37 6.34 0.24 0.74 1.63 3.23 6.51 6.94 0.13 6.95 0.16 
+6.98 0.04 6.99 0.09 6.99 -0.72 -0.04 -1.17 -6.92 1.07 -6.92 -0.11 -6.95 -0.02 -6.88 -0.15 
+-6.9 -0.16 -2.8 -5.64 -1.11 -2.45 -6.27 -0.24 -6.19 -0.39 -6.12 -0.43 -0.63 -5.53 -0.23 -2.47 
+-5.41 -0.57 0.76 -5.56 0.48 -2.43 -4.56 -0.74 -4.69 -0.55 2.67 -5.36 1.3 -2.38 -3.97 -0.61 
+-3.86 -0.65 -3.78 -0.72 -3.67 -0.74 -4.86 1.82 -9.39 3.93 -4.23 -0.71 -4.62 -0.48 -3.73 -1 
+-5.25 1.82 -10.85 4.06 -5.97 2.41 -12.94 7.88 -12.48 8.27 -11.93 8.66 -2.47 3.73 -3.17 6.29 
+-10.72 9.22 -10.29 5.1 2.43 -6.36 0.82 -3.3 -6.04 -1.26 4.32 -7.33 2.06 -3.2 -4.66 -1.8 
+5.58 -6.9 2.69 -3.26 7.01 -7.07 3.27 -3.04 -3.34 -1.84 8.4 -6.64 4.05 -2.97 -1.41 -2.38 
+-3.5 -1.43 -2.16 -2 -2.2 -1.93 -1.73 -2.12 -1.54 -2.18 -1.26 -2.23 -0.78 -2.41 -0.46 -2.47 
+0.22 -2.69 13.57 -5.66 6.74 -2.52 0.52 -2.41 0.57 -2.38 1.37 -2.56 1.71 -2.61 2.08 -2.65 
+2.43 -2.67 2.78 -2.71 -4.95 -0.02 -11.3 0.02 16.02 -3.95 6.9 -1.48 3.88 -2.73 4.32 -2.69 
+4.71 -2.7 4.97 -2.62 5.46 -2.59 5.64 -2.52 6.3 -2.43 14.11 -0.32 6.16 0.04 6.01 -1.8 
+6.08 -1.72 6.34 -1.58 6.77 -1.39 10.59 1.87 4.64 0.98 5.84 -0.95 5.95 -0.8 6.05 -0.7 
+6.14 -0.54 6.23 -0.43 6.25 -0.29 6.3 -0.12 6.31 0 2.93 -1.59 4.99 -3.01 7.34 0.39 
+7.31 0.45 7.81 0.17 7.23 0.87 4.93 -0.97 -0.76 -1.76 -7.97 -1 -2.08 -3.93 -1.11 -1.82 
+-3.67 -3.69 10.48 -2.32 11.45 1.21 11.07 1.67 10.88 1.91 10.5 2.21 6.51 -0.09 15.93 0.33 
+10.85 3.23 10.48 3.43 9.85 3.63 9.31 3.79 8.09 1.52 17.76 3.77 9.3 4.69 7.9 4.66 
+7.66 4.77 6.79 4.73 6.08 4.69 5.4 4.62 4.69 4.54 4.25 4.5 3.1 4.2 3.3 4.34 
+2.32 4.1 1.95 4 1.5 3.9 0.87 3.69 0.21 3.49 0.07 3.47 5.53 3.84 11.16 7.81 
+-1.06 3.32 -12.48 -4.02 -5.99 -1.63 4.86 3.65 10.48 8.31 -13.26 -4.55 -7.05 -2.5 -1.76 2.91 
+-2.6 2.52 -2.93 2.41 -3.76 1.96 -4.03 1.87 -12.61 -4.71 -5.88 -2.02 -4.19 1.61 -5.34 0.96 
+-3.47 2.13 -3.84 1.97 -4.8 1.43 -4.99 1.34 1.82 3.11 4.1 6.42 -5.38 1.5 -5.66 1.37 
+-6.2 0.99 -6.38 0.91 -6.55 0.85 -6.99 0.48 -10.18 -5.23 -4.84 -2.32 -6.46 0.72 -6.99 0.2 
+-6.32 1 -6.77 0.59 -7.05 0.26 -6.95 0.45 -8.31 -5.16 -4.3 -2.84 -6.29 0.84 -6.96 -0.17 
+-6.39 0.93 -6.92 -0.07 -7.2 -0.84 -6.47 1.15 -7.5 -2.54 -6.49 1.34 -6.8 0.13 -6.79 0.8 
+0.04 1.17 6.88 -0.54 6.91 -0.11 6.7 -0.96 7.34 1.65 6.66 -0.82 7.12 0.47 6.92 -0.04 
+6.55 -0.71 P
+6.92 0 6.45 -0.7 2.87 1.89 9.72 6.07 7.01 -0.46 7.05 -0.34 6.82 -0.59 6.49 -0.84 
+6.88 -0.37 6.51 -0.69 3.23 1.54 11.93 6.14 6.93 -0.58 6.6 -0.83 6.42 -0.93 6.23 -1 
+5.84 -1.26 5.6 -1.39 -4.9 -7.68 -1.2 -2.08 5.04 -1.35 4.82 -1.43 4.14 -1.82 3.79 -1.95 
+4.97 -1.2 4.12 -1.67 3.91 1.34 14.78 5.54 3.97 -1.91 3.71 -2.04 3.04 -2.34 2.69 -2.5 
+2.04 -2.8 4.71 1.67 15.36 5.34 -12.17 -9.68 -3.21 -2.45 3.97 1.11 14.84 4.82 1.2 -3.3 
+-13.39 -9.41 -3.69 -2.59 0 -3.45 -0.24 -3.54 -0.83 -3.71 -1.43 -3.93 -1.91 -4.01 -2.34 -4.13 
+-3.19 -4.36 -3.23 -4.3 -4.23 -4.52 -4.73 -4.6 -5.42 -4.66 -6.1 -4.75 -6.79 -4.77 -7.62 -4.82 
+-8.03 -4.75 -9.2 -4.73 -10.39 -2.23 -10.37 -2.21 -5.43 -1.02 -9.39 -3.86 -9.94 -3.69 -10.57 -3.5 
+-10.98 -3.28 -9.14 -0.2 -9.15 -0.2 -4.34 0.06 -10.64 -2.25 -10.98 -1.97 -11.22 -1.7 -11.57 -1.29 
+-12.24 2.72 4.3 4.29 0.73 1.22 2.43 4.47 7.81 0.99 0.52 1.17 -3.3 0.65 -7.33 -0.89 
+-7.77 -0.37 -7.48 -0.5 -7.51 -0.39 -6.16 3.71 -1.98 1.06 -6.4 0 -6.42 0.13 -6.38 0.3 
+-6.33 0.41 -6.25 0.59 -6.19 0.7 -6.05 0.84 -5.95 0.96 -3.1 -0.63 -12.42 -2.2 -6.79 1.46 
+-6.43 1.63 -6.18 1.75 -6.05 1.84 -4.1 -0.02 -16.43 0.41 -6.29 2.47 -5.73 2.56 -5.49 2.63 
+-5.04 2.69 -4.71 2.71 -4.34 2.75 -3.93 2.76 -4.6 1 -9.22 2.3 -9.2 2.28 13 -0.06 
+3.32 0.02 -2.82 2.74 -2.43 2.71 -2.09 2.69 -1.71 2.63 -1.37 2.61 -0.71 2.45 -0.59 2.45 
+-4.49 1.67 -15.67 6.62 -0.07 2.64 0.48 2.5 0.8 2.43 1.22 2.28 1.54 2.21 1.73 2.13 
+2.17 2 2.21 1.99 3.21 1.59 1.91 2.21 -2.71 2 -9.72 7.7 3.5 1.8 -2.2 2.02 
+-8.03 8.14 -1.8 2.17 -6.55 8.14 4.93 1.66 -1.39 2.15 p f*
+7 193 59 rG
+2287.17 850.09 -4.32 7.33 6.04 1.26 -0.82 3.3 -2.43 6.36 10.29 -5.1 10.72 -9.22 3.17 -6.29 
+2.47 -3.73 11.93 -8.66 12.48 -8.27 12.94 -7.88 5.97 -2.41 10.85 -4.06 5.25 -1.82 3.73 1 
+4.62 0.48 4.23 0.71 9.39 -3.93 4.86 -1.82 3.67 0.74 3.78 0.72 3.86 0.65 3.97 0.61 
+-1.3 2.38 -2.67 5.36 4.69 0.55 4.56 0.74 -0.48 2.43 -0.76 5.56 5.41 0.57 0.23 2.47 
+0.63 5.53 6.12 0.43 6.19 0.39 6.27 0.24 1.11 2.45 2.8 5.64 6.9 0.16 6.88 0.15 
+6.95 0.02 6.92 0.11 6.92 -1.07 -0.04 -1.17 -6.84 1.43 -6.87 -0.15 -6.89 0.02 -6.86 -0.19 
+-6.81 -0.14 -2.39 -4.79 -1.45 -3.25 -6.23 -0.24 -6.1 -0.46 -6.05 -0.46 -0.52 -4.64 -0.33 -3.28 
+-5.29 -0.61 0.65 -4.69 0.63 -3.23 -4.42 -0.8 -4.62 -0.56 2.23 -4.45 1.76 -3.17 -3.91 -0.61 
+-3.82 -0.67 -3.71 -0.7 -3.63 -0.74 -6.46 2.43 -7.44 3.11 -4.23 -0.68 -4.86 -0.3 -3.67 -1 
+-7.01 2.41 -8.84 3.27 -7.95 3.22 -13.02 7.86 -12.54 8.27 -12 8.66 -3.28 4.99 -2.52 5.03 
+-10.83 9.22 -8 3.97 1.89 -4.95 1.11 -4.38 -5.95 -1.3 3.67 -6.23 2.78 -4.25 -4.45 -1.93 
+4.6 -5.67 3.61 -4.34 5.99 -6.01 4.38 -4.02 -3.21 -1.91 7.07 -5.55 5.45 -3.95 -0.96 -2.59 
+-3.8 -1.26 -2.08 -2 -2.26 -1.91 -1.69 -2.09 -1.56 -2.15 -1.28 -2.21 -0.76 -2.37 -0.43 -2.47 
+0.34 -2.67 11.46 -4.77 9.01 -3.34 0.45 -2.34 0.41 -2.32 1.37 -2.54 1.71 -2.56 2.08 -2.62 
+2.41 -2.63 2.76 -2.67 -6.57 -0.04 -9.62 -0.02 13.63 -3.34 9.18 -1.96 3.86 -2.67 4.3 -2.67 
+4.68 -2.63 4.91 -2.57 5.45 -2.54 5.55 -2.48 6.29 -2.37 11.8 -0.25 8.18 0.06 5.99 -1.73 
+5.96 -1.7 6.25 -1.54 6.73 -1.33 8.79 1.57 6.19 1.28 5.73 -0.91 5.84 -0.78 5.94 -0.67 
+6.04 -0.54 6.1 -0.41 6.14 -0.28 6.17 -0.13 6.18 0 3.91 -2.11 3.82 -2.3 7.16 0.37 
+7.17 0.43 7.83 -0.04 7.09 0.87 6.58 -1.3 -1.02 -2.37 -8.07 -1.02 -1.78 -3.37 -1.46 -2.41 
+-3.06 -3.1 8.75 -1.93 11.35 1.15 10.94 1.63 10.75 1.89 10.39 2.17 8.63 -0.13 13.59 0.28 
+10.72 3.14 10.42 3.39 9.77 3.55 9.2 3.73 10.79 2.02 14.71 3.13 9.42 4.64 7.81 4.6 
+7.68 4.71 6.77 4.67 6.05 4.64 5.38 4.58 4.67 4.47 4.27 4.44 2.95 4.13 3.41 4.36 
+2.32 4.03 1.97 3.97 1.59 3.91 0.87 3.67 0.2 3.43 0.15 3.47 7.36 5.12 8.91 6.23 
+-0.93 3.34 -10.11 -3.21 -7.96 -2.17 6.46 4.84 8.79 6.97 -11.11 -3.82 -9.44 -3.3 -1.45 3.04 
+-2.5 2.54 -2.82 2.43 -3.84 1.91 -4.09 1.78 -10.43 -3.87 -7.86 -2.66 -4.27 1.54 -5.68 0.71 
+-3.15 2.28 -3.56 2.11 -4.73 1.43 -4.95 1.34 2.43 4.14 3.3 5.17 -5.17 1.63 -5.51 1.43 
+-6.14 1.02 -6.33 0.91 -6.54 0.83 -7.03 0.39 -8.44 -4.32 -6.46 -3.08 -6.43 0.7 -7.07 0.07 
+-6.14 1.13 -6.71 0.58 -7.07 0.2 -6.9 0.44 -6.86 -4.25 -5.75 -3.78 -6.14 1 -7.01 -0.37 
+-6.21 1.15 -6.92 -0.2 -7.27 -1.19 -6.29 1.47 -7.66 -3.45 -6.29 1.78 -6.71 0.16 -6.69 1.04 
+0.04 1.17 6.79 -0.8 6.8 -0.13 6.49 -1.34 7.5 2.54 6.47 -1.15 7.2 0.84 6.92 0.07 
+6.39 -0.93 P
+6.96 0.17 6.29 -0.84 4.3 2.84 8.31 5.16 6.95 -0.45 7.05 -0.26 6.77 -0.59 6.32 -1 
+6.99 -0.2 6.46 -0.72 4.84 2.32 10.18 5.23 6.99 -0.48 6.55 -0.85 6.38 -0.91 6.2 -0.99 
+5.66 -1.37 5.38 -1.5 -4.1 -6.42 -1.82 -3.11 4.99 -1.34 4.8 -1.43 3.84 -1.97 3.47 -2.13 
+5.34 -0.96 4.19 -1.61 5.88 2.02 12.61 4.71 4.03 -1.87 3.76 -1.96 2.93 -2.41 2.6 -2.52 
+1.76 -2.91 7.05 2.5 13.26 4.55 -10.48 -8.31 -4.86 -3.65 5.99 1.63 12.48 4.02 1.06 -3.32 
+-11.16 -7.81 -5.53 -3.84 -0.07 -3.47 -0.21 -3.49 -0.87 -3.69 -1.5 -3.9 -1.95 -4 -2.32 -4.1 
+-3.3 -4.34 -3.1 -4.2 -4.25 -4.5 -4.69 -4.54 -5.4 -4.62 -6.08 -4.69 -6.79 -4.73 -7.66 -4.77 
+-7.9 -4.66 -9.3 -4.69 -17.76 -3.77 -8.09 -1.52 -9.31 -3.79 -9.85 -3.63 -10.48 -3.43 -10.85 -3.23 
+-15.93 -0.33 -6.51 0.09 -10.5 -2.21 -10.87 -1.91 -11.07 -1.67 -11.45 -1.21 -10.48 2.32 3.67 3.69 
+1.11 1.82 2.08 3.93 7.97 1 0.76 1.76 -4.93 0.97 -7.23 -0.87 -7.81 -0.17 -7.31 -0.45 
+-7.34 -0.39 -4.99 3.01 -2.93 1.59 -6.31 0 -6.3 0.13 -6.25 0.29 -6.23 0.43 -6.14 0.54 
+-6.05 0.7 -5.95 0.8 -5.84 0.95 -4.64 -0.98 -10.59 -1.87 -6.77 1.39 -6.34 1.58 -6.08 1.72 
+-6.01 1.8 -6.16 -0.04 -14.11 0.32 -6.3 2.43 -5.64 2.52 -5.46 2.59 -4.97 2.62 -4.71 2.7 
+-4.32 2.69 -3.88 2.73 -6.9 1.48 -16.02 3.95 11.3 -0.02 4.95 0.02 -2.78 2.71 -2.43 2.67 
+-2.08 2.65 -1.71 2.61 -1.37 2.56 -0.57 2.38 -0.52 2.41 -6.74 2.52 -13.57 5.66 -0.22 2.69 
+0.46 2.47 0.78 2.41 1.26 2.23 1.54 2.18 1.73 2.13 2.2 1.93 2.16 2 3.5 1.43 
+1.41 2.38 -4.05 2.97 -8.4 6.64 3.34 1.84 -3.27 3.04 -7.01 7.07 -2.69 3.26 -5.58 6.9 
+4.66 1.8 -2.06 3.2 p f*
+110 210 9 rG
+2287.74 850.21 -3.67 6.23 5.95 1.3 -1.11 4.38 -1.89 4.95 8 -3.97 10.83 -9.22 2.52 -5.03 
+3.28 -4.99 12 -8.66 12.54 -8.27 13.02 -7.86 7.95 -3.22 8.84 -3.27 7.01 -2.41 3.67 1 
+4.86 0.3 4.23 0.68 7.44 -3.11 6.46 -2.43 3.63 0.74 3.71 0.7 3.82 0.67 3.91 0.61 
+-1.76 3.17 -2.23 4.45 4.62 0.56 4.42 0.8 -0.63 3.23 -0.65 4.69 5.29 0.61 0.33 3.28 
+0.52 4.64 6.05 0.46 6.1 0.46 6.23 0.24 1.45 3.25 2.39 4.79 6.81 0.14 6.86 0.19 
+6.89 -0.02 6.88 0.15 6.84 -1.43 -0.04 -1.17 -6.77 1.8 -6.82 -0.18 -6.83 0.02 -6.77 -0.19 
+-6.8 -0.13 -1.95 -3.95 -1.82 -4.09 -6.18 -0.24 -6.02 -0.48 -5.97 -0.5 -0.41 -3.73 -0.39 -4.11 
+-5.21 -0.65 0.52 -3.79 0.8 -4.04 -4.3 -0.89 -4.53 -0.57 1.8 -3.55 2.19 -3.95 -3.84 -0.61 
+-3.75 -0.65 -3.67 -0.7 -3.56 -0.74 -8.1 3.02 -5.46 2.26 -4.27 -0.59 -5.04 -0.17 -3.62 -0.98 
+-8.79 3 -6.79 2.52 -9.94 3.97 -13.08 7.88 -12.63 8.25 -12.05 8.66 -4.08 6.25 -1.89 3.76 
+-10.92 9.24 -5.75 2.82 1.37 -3.54 1.39 -5.47 -5.88 -1.3 3.04 -5.14 3.47 -5.29 -4.2 -2.06 
+3.62 -4.45 4.51 -5.4 4.95 -4.95 5.47 -5.01 -3.04 -1.96 5.75 -4.51 6.79 -4.91 -0.46 -2.75 
+-4.1 -1.13 -2.02 -1.98 -2.3 -1.87 -1.7 -2.06 -1.58 -2.11 -1.3 -2.16 -0.72 -2.37 -0.41 -2.45 
+0.48 -2.7 9.36 -3.86 11.24 -4.14 0.42 -2.3 0.25 -2.26 1.38 -2.5 1.71 -2.54 2.06 -2.58 
+2.41 -2.6 2.76 -2.61 -8.23 -0.11 -7.92 -0.04 11.24 -2.74 11.46 -2.41 3.82 -2.63 4.28 -2.61 
+4.67 -2.6 4.86 -2.54 5.41 -2.48 5.47 -2.43 6.31 -2.3 9.51 -0.2 10.2 0.06 5.96 -1.67 
+5.86 -1.64 6.14 -1.52 6.7 -1.25 6.98 1.25 7.71 1.61 5.62 -0.89 5.73 -0.78 5.84 -0.65 
+5.92 -0.52 5.97 -0.39 6.03 -0.28 6.05 -0.13 6.06 0 4.91 -2.63 2.63 -1.61 6.96 0.39 
+7.01 0.39 7.88 -0.24 6.99 0.82 8.2 -1.63 -1.25 -2.93 -8.18 -1.04 -1.47 -2.82 -1.82 -3.02 
+-2.43 -2.48 6.99 -1.56 11.26 1.09 10.79 1.61 10.64 1.84 10.24 2.13 10.79 -0.18 11.26 0.22 
+10.57 3.11 10.35 3.32 9.65 3.52 9.14 3.67 13.43 2.5 11.7 2.47 9.55 4.58 7.68 4.54 
+7.72 4.66 6.75 4.62 6.04 4.59 5.38 4.53 4.62 4.43 4.3 4.4 2.8 4.06 3.54 4.32 
+2.28 3.99 2.04 3.97 1.63 3.89 0.91 3.64 0.16 3.41 0.24 3.47 9.18 6.36 6.68 4.64 
+-0.82 3.36 -7.73 -2.43 -9.96 -2.7 8.07 6.05 7.14 5.6 -9 -3.06 -11.79 -4.1 -1.2 3.14 
+-2.38 2.58 -2.71 2.45 -3.88 1.84 -4.17 1.74 -8.27 -3.06 -9.79 -3.32 -4.36 1.48 -6.08 0.45 
+-2.8 2.46 -3.28 2.25 -4.68 1.43 -4.89 1.34 3.04 5.18 2.5 3.87 -4.97 1.76 -5.34 1.54 
+-6.09 1.02 -6.29 0.91 -6.49 0.83 -7.1 0.28 -6.69 -3.41 -8.07 -3.84 -6.4 0.7 -7.16 -0.09 
+-5.99 1.24 -6.64 0.61 -7.07 0.11 -6.86 0.45 -5.43 -3.37 -7.21 -4.73 -5.96 1.15 -7.07 -0.54 
+-6.03 1.34 -6.92 -0.28 -7.34 -1.54 -6.09 1.78 -6.45 -3.1 -1.3 -0.93 -3.35 1.02 -2.82 0.87 
+-6.6 0.17 -6.59 1.28 0.04 1.17 6.69 -1.04 6.71 -0.16 6.29 -1.78 7.66 3.45 6.29 -1.47 
+7.27 1.19 P
+6.92 0.2 6.21 -1.15 7.01 0.37 6.14 -1 5.75 3.78 6.86 4.25 6.9 -0.44 7.07 -0.2 
+6.71 -0.58 6.14 -1.13 7.07 -0.07 6.43 -0.7 6.46 3.08 8.44 4.32 7.03 -0.39 6.54 -0.83 
+6.33 -0.91 6.14 -1.02 5.51 -1.43 5.17 -1.63 -3.3 -5.17 -2.43 -4.14 4.95 -1.34 4.73 -1.43 
+3.56 -2.11 3.15 -2.28 5.68 -0.71 4.27 -1.54 7.86 2.66 10.43 3.87 4.09 -1.78 3.84 -1.91 
+2.82 -2.43 2.5 -2.54 1.45 -3.04 9.44 3.3 11.11 3.82 -8.79 -6.97 -6.46 -4.84 7.96 2.17 
+10.11 3.21 0.93 -3.34 -8.91 -6.23 -7.36 -5.12 -0.15 -3.47 -0.2 -3.43 -0.87 -3.67 -1.59 -3.91 
+-1.97 -3.97 -2.32 -4.03 -3.41 -4.36 -2.95 -4.13 -4.27 -4.44 -4.67 -4.47 -5.38 -4.58 -6.05 -4.64 
+-6.77 -4.67 -7.68 -4.71 -7.81 -4.6 -9.42 -4.64 -14.71 -3.12 -10.79 -2.02 -9.2 -3.73 -9.77 -3.55 
+-10.42 -3.39 -10.72 -3.14 -13.59 -0.28 -8.63 0.13 -10.39 -2.17 -10.75 -1.89 -10.94 -1.63 -11.35 -1.15 
+-8.75 1.93 3.06 3.1 1.46 2.41 1.78 3.37 8.07 1.02 1.02 2.37 -6.58 1.3 -7.09 -0.87 
+-7.83 0.04 -7.17 -0.43 -7.16 -0.37 -3.82 2.3 -3.91 2.11 -6.18 0 -6.17 0.13 -6.14 0.28 
+-6.1 0.41 -6.04 0.54 -5.94 0.67 -5.84 0.78 -5.73 0.91 -6.19 -1.28 -8.79 -1.57 -6.73 1.33 
+-6.25 1.54 -5.96 1.7 -5.99 1.73 -8.18 -0.06 -11.8 0.25 -6.29 2.37 -5.55 2.48 -5.45 2.54 
+-4.91 2.57 -4.68 2.63 -4.3 2.67 -3.86 2.67 -9.18 1.96 -13.63 3.34 9.62 0.02 6.57 0.04 
+-2.76 2.67 -2.41 2.63 -2.08 2.63 -1.71 2.56 -1.37 2.54 -0.41 2.32 -0.45 2.34 -9.01 3.34 
+-11.46 4.77 -0.34 2.67 0.43 2.47 0.76 2.37 1.28 2.21 1.56 2.15 1.69 2.09 2.26 1.91 
+2.08 2 3.8 1.26 0.96 2.59 -5.45 3.95 -7.07 5.55 3.21 1.91 -4.38 4.02 -5.99 6.01 
+-3.61 4.34 -4.6 5.67 4.45 1.93 -2.78 4.25 p f*
+0 255 r6
+2288.32 850.34 -3.04 5.14 5.88 1.3 -1.39 5.47 -1.37 3.54 5.75 -2.82 10.92 -9.24 1.89 -3.76 
+4.08 -6.25 12.05 -8.66 12.63 -8.25 13.08 -7.87 9.94 -3.97 6.79 -2.52 8.79 -3 3.62 0.98 
+5.04 0.17 4.27 0.59 5.46 -2.26 8.1 -3.02 3.56 0.74 3.67 0.7 3.75 0.65 3.84 0.61 
+-2.19 3.95 -1.8 3.55 4.53 0.57 4.3 0.89 -0.8 4.04 -0.52 3.79 5.21 0.65 0.39 4.11 
+0.41 3.73 5.97 0.5 6.02 0.48 6.18 0.24 1.82 4.09 1.95 3.95 6.8 0.13 6.77 0.19 
+6.83 -0.02 6.82 0.18 6.77 -1.8 -0.05 -1.17 -6.7 2.15 -6.75 -0.19 -6.8 0.04 -6.73 -0.21 
+-6.73 -0.11 -1.52 -3.1 -2.19 -4.88 -6.12 -0.24 -5.95 -0.52 -5.88 -0.54 -0.3 -2.82 -0.48 -4.91 
+-5.1 -0.7 0.41 -2.95 0.95 -4.84 -4.14 -0.96 -4.47 -0.56 1.34 -2.67 2.64 -4.75 -3.79 -0.59 
+-3.69 -0.65 -3.61 -0.7 -3.49 -0.72 -9.72 3.61 -3.47 1.43 -4.32 -0.54 -5.25 0 -3.58 -0.98 
+-10.52 3.58 -4.75 1.75 -11.93 4.76 -13.2 7.86 -12.67 8.24 -12.13 8.66 -4.86 7.5 -1.24 2.5 
+-11.04 9.23 -3.47 1.71 0.82 -2.13 1.67 -6.55 -5.79 -1.35 2.39 -4.01 4.19 -6.36 -3.97 -2.19 
+2.65 -3.23 5.4 -6.46 3.93 -3.89 6.58 -6.01 -2.89 -2 4.41 -3.45 8.16 -5.88 0.04 -2.93 
+-4.38 -0.98 -1.96 -1.97 -2.36 -1.8 -1.64 -2.07 -1.63 -2.06 -1.33 -2.14 -0.7 -2.34 -0.39 -2.41 
+0.61 -2.71 7.27 -2.97 13.48 -4.93 0.34 -2.26 0.11 -2.21 1.37 -2.45 1.72 -2.52 2.06 -2.54 
+2.38 -2.56 2.73 -2.59 -9.85 -0.12 -6.23 -0.05 8.86 -2.15 13.73 -2.87 3.78 -2.58 4.25 -2.58 
+4.64 -2.54 4.8 -2.5 5.38 -2.43 5.38 -2.39 6.32 -2.26 7.23 -0.12 12.22 0.11 5.93 -1.63 
+5.77 -1.61 6.03 -1.5 6.68 -1.17 5.18 0.93 9.25 1.93 5.52 -0.87 5.62 -0.76 5.71 -0.63 
+5.81 -0.52 5.86 -0.39 5.91 -0.24 5.92 -0.13 5.96 0 5.86 -3.17 1.45 -0.89 6.81 0.37 
+6.84 0.38 7.91 -0.43 6.86 0.8 9.8 -1.95 -1.47 -3.54 -8.31 -1.06 -1.18 -2.24 -2.17 -3.62 
+-1.82 -1.87 5.25 -1.17 11.18 1.02 10.64 1.56 10.53 1.8 10.11 2.09 12.91 -0.22 8.92 0.17 
+10.46 3.06 10.26 3.25 9.57 3.45 9.05 3.62 16.08 2.98 8.7 1.82 9.63 4.53 7.59 4.45 
+7.77 4.63 6.73 4.55 5.99 4.54 5.38 4.46 4.59 4.39 4.29 4.38 2.67 3.95 3.64 4.32 
+2.26 3.97 2.08 3.93 1.71 3.86 0.91 3.62 0.15 3.37 0.3 3.47 11 7.62 4.47 3.08 
+-0.71 3.39 -5.36 -1.68 -11.93 -3.19 9.68 7.23 5.45 4.25 -6.88 -2.32 -14.15 -4.86 -0.91 3.23 
+-2.28 2.61 -2.61 2.5 -3.97 1.78 -4.2 1.67 -6.1 -2.23 -11.76 -3.95 -4.43 1.39 -6.45 0.24 
+-2.48 2.58 -2.97 2.41 -4.64 1.43 -4.84 1.37 3.65 6.19 1.71 2.62 -4.75 1.85 -5.19 1.65 
+-6.05 1.02 -6.25 0.91 -6.45 0.82 -7.18 0.18 -4.91 -2.5 -9.72 -4.6 -6.31 0.7 -7.3 -0.24 
+-5.79 1.37 -6.59 0.61 -7.08 0.05 -6.8 0.45 -4.03 -2.5 -8.64 -5.64 -5.82 1.28 -7.09 -0.7 
+-5.86 1.54 -6.92 -0.41 -7.42 -1.88 -5.93 2.12 -4.54 -2.19 -3.25 -2.3 -6.1 1.69 -6.49 0.2 
+-1.91 0.67 -4.55 1 0.05 1.17 6.59 -1.28 6.6 -0.17 2.82 -0.87 3.35 -1.02 1.3 0.93 
+6.45 3.1 P
+6.09 -1.78 7.34 1.54 6.92 0.28 6.03 -1.34 7.07 0.54 5.96 -1.15 7.21 4.73 5.43 3.37 
+6.86 -0.45 7.07 -0.11 6.64 -0.61 5.99 -1.24 7.16 0.09 6.4 -0.7 8.07 3.84 6.69 3.41 
+7.1 -0.28 6.49 -0.83 6.29 -0.91 6.09 -1.02 5.34 -1.54 4.97 -1.76 -2.5 -3.87 -3.04 -5.18 
+4.89 -1.34 4.68 -1.43 3.28 -2.25 2.8 -2.46 6.08 -0.45 4.36 -1.48 9.79 3.32 8.27 3.06 
+4.17 -1.74 3.88 -1.84 2.71 -2.45 2.38 -2.58 1.2 -3.14 11.79 4.1 9 3.06 -7.14 -5.6 
+-8.07 -6.05 9.96 2.7 7.73 2.43 0.82 -3.36 -6.68 -4.64 -9.18 -6.36 -0.24 -3.47 -0.16 -3.41 
+-0.91 -3.64 -1.62 -3.89 -2.04 -3.97 -2.28 -3.99 -3.54 -4.32 -2.8 -4.06 -4.3 -4.4 -4.62 -4.43 
+-5.38 -4.53 -6.04 -4.59 -6.75 -4.62 -7.72 -4.66 -7.68 -4.54 -9.55 -4.58 -11.7 -2.47 -13.43 -2.5 
+-9.14 -3.67 -9.65 -3.52 -10.35 -3.32 -10.57 -3.11 -11.26 -0.22 -10.79 0.18 -10.24 -2.12 -10.64 -1.84 
+-10.79 -1.61 -11.26 -1.09 -6.99 1.56 2.43 2.48 1.82 3.02 1.47 2.82 8.18 1.04 1.25 2.93 
+-8.2 1.63 -6.99 -0.82 -7.88 0.24 -7.01 -0.39 -6.96 -0.39 -2.62 1.61 -4.91 2.63 -6.06 0 
+-6.05 0.13 -6.03 0.28 -5.97 0.39 -5.92 0.52 -5.84 0.65 -5.73 0.78 -5.62 0.89 -7.71 -1.61 
+-6.98 -1.25 -6.7 1.25 -6.14 1.52 -5.86 1.64 -5.96 1.67 -10.2 -0.06 -9.51 0.2 -6.31 2.3 
+-5.47 2.43 -5.41 2.48 -4.86 2.54 -4.67 2.6 -4.28 2.61 -3.82 2.63 -11.46 2.41 -11.24 2.74 
+7.92 0.04 8.23 0.11 -2.76 2.61 -2.41 2.6 -2.06 2.58 -1.71 2.54 -1.37 2.5 -0.25 2.26 
+-0.42 2.3 -11.24 4.14 -9.36 3.86 -0.48 2.7 0.41 2.45 0.72 2.37 1.3 2.16 1.58 2.11 
+1.7 2.06 2.3 1.87 2.02 1.98 4.1 1.13 0.46 2.75 -6.79 4.91 -5.75 4.51 3.04 1.96 
+-5.47 5.01 -4.95 4.95 -4.51 5.4 -3.62 4.45 4.2 2.06 -3.47 5.29 p f*
+255 203 0 rG
+2288.89 850.5 -2.39 4.01 5.79 1.35 -1.67 6.55 -0.82 2.13 3.47 -1.71 11.04 -9.23 1.24 -2.5 
+4.86 -7.5 12.13 -8.66 12.67 -8.24 13.2 -7.86 11.93 -4.76 4.75 -1.75 10.52 -3.58 3.58 0.98 
+5.25 0 4.32 0.54 3.47 -1.43 9.72 -3.61 3.49 0.72 3.61 0.7 3.69 0.65 3.79 0.59 
+-2.64 4.75 -1.34 2.67 4.47 0.56 4.14 0.96 -0.95 4.84 -0.41 2.95 5.1 0.7 0.48 4.91 
+0.3 2.82 5.88 0.54 5.95 0.52 6.12 0.24 2.19 4.88 1.52 3.1 6.73 0.11 6.73 0.21 
+6.8 -0.04 6.75 0.19 6.7 -2.15 -0.02 -0.97 -0.02 -0.39 -0.3 0.39 -6.31 2.32 -6.71 -0.24 
+-6.73 0.09 -6.67 -0.24 -6.68 -0.11 -1.12 -2.26 -2.54 -5.68 -6.05 -0.24 -5.86 -0.56 -5.8 -0.59 
+-0.21 -1.91 -0.55 -5.73 -5.01 -0.74 0.3 -2.09 1.13 -5.62 -4.01 -1.02 -4.41 -0.59 0.91 -1.78 
+3.08 -5.51 -3.71 -0.61 -3.65 -0.66 -3.53 -0.67 -3.46 -0.74 -11.34 4.21 -1.5 0.63 -4.32 -0.48 
+-5.5 0.13 -3.51 -0.98 -12.31 4.17 -2.71 0.98 -13.93 5.54 -13.26 7.86 -12.76 8.25 -12.17 8.63 
+-5.67 8.81 -0.61 1.22 -11.13 9.22 -1.2 0.59 0.29 -0.74 1.95 -7.61 -5.71 -1.37 1.73 -2.93 
+4.91 -7.4 -3.76 -2.32 1.7 -2.02 6.29 -7.51 2.89 -2.86 7.68 -6.99 -2.73 -2.04 3.08 -2.39 
+9.53 -6.86 0.52 -3.09 -4.68 -0.82 -1.89 -1.98 -2.39 -1.78 -1.65 -2.02 -1.63 -2.04 -1.37 -2.11 
+-0.67 -2.32 -0.36 -2.39 0.75 -2.71 5.14 -2.11 15.73 -5.71 0.28 -2.21 -0.04 -2.15 1.37 -2.43 
+1.71 -2.48 2.04 -2.5 2.37 -2.52 2.71 -2.56 -11.43 -0.2 -4.58 -0.04 6.49 -1.56 15.99 -3.3 
+3.76 -2.54 4.23 -2.54 4.62 -2.5 4.73 -2.46 5.36 -2.38 5.29 -2.34 6.32 -2.2 4.95 -0.08 
+14.21 0.15 5.91 -1.58 5.66 -1.56 5.95 -1.45 6.64 -1.13 3.41 0.63 10.77 2.25 5.4 -0.84 
+5.51 -0.74 5.6 -0.61 5.69 -0.5 5.75 -0.39 5.8 -0.24 5.82 -0.13 5.84 0 6.83 -3.69 
+0.3 -0.17 6.62 0.36 6.71 0.35 7.92 -0.67 6.75 0.8 11.43 -2.28 -1.69 -4.12 -8.44 -1.08 
+-0.89 -1.7 -2.52 -4.23 -1.22 -1.24 3.54 -0.8 11.07 0.95 10.51 1.54 10.39 1.76 10 2.04 
+15.02 -0.26 6.6 0.13 10.33 3.02 10.2 3.2 9.48 3.38 8.97 3.56 9.33 1.73 9.36 1.72 
+5.73 1.19 9.75 4.5 7.49 4.38 7.81 4.55 6.7 4.52 5.97 4.47 5.34 4.42 4.56 4.32 
+4.32 4.34 2.52 3.88 3.76 4.32 2.25 3.91 2.11 3.91 1.78 3.86 0.93 3.61 0.13 3.32 
+0.37 3.47 12.85 8.86 2.23 1.54 -0.61 3.41 -2.98 -0.93 -13.93 -3.69 11.28 8.39 3.78 2.93 
+-4.75 -1.58 -16.54 -5.64 -0.61 3.34 -2.17 2.63 -2.5 2.54 -4.03 1.7 -4.28 1.63 -3.93 -1.43 
+-13.71 -4.6 -4.51 1.32 -6.84 0 -2.12 2.75 -2.67 2.56 -4.6 1.43 -4.79 1.34 4.25 7.21 
+0.91 1.36 -4.55 1.98 -5.01 1.73 -5.99 1.02 -6.23 0.91 -6.4 0.82 -7.23 0.07 -3.14 -1.58 
+-11.35 -5.36 -6.3 0.7 -7.36 -0.39 -5.64 1.5 -6.53 0.63 -7.1 -0.04 -6.73 0.43 -2.6 -1.59 
+-10.09 -6.6 -5.64 1.45 -7.16 -0.89 -5.69 1.75 -6.92 -0.52 -5.29 -1.41 -2.43 -1.43 -1.56 1.56 
+-3.93 1.47 -2.67 -1.28 -5.19 -3.64 -6.05 1.3 -6.38 0.16 -6.32 2.12 0.02 0.39 0.02 0.97 
+4.55 -1 P
+1.91 -0.67 6.49 -0.2 6.1 -1.69 3.25 2.3 4.54 2.19 5.93 -2.12 7.42 1.88 6.92 0.41 
+5.86 -1.54 7.09 0.7 5.82 -1.28 8.64 5.64 4.03 2.5 6.8 -0.45 7.08 -0.05 6.59 -0.61 
+5.79 -1.37 7.3 0.24 6.31 -0.7 9.72 4.6 4.91 2.5 7.18 -0.18 6.45 -0.82 6.25 -0.91 
+6.05 -1.02 5.19 -1.65 4.75 -1.85 -1.71 -2.62 -3.65 -6.19 4.84 -1.37 4.64 -1.43 2.97 -2.41 
+2.48 -2.58 6.45 -0.24 4.43 -1.39 11.76 3.95 6.1 2.23 4.2 -1.67 3.97 -1.78 2.61 -2.5 
+2.28 -2.61 0.91 -3.23 14.15 4.86 6.88 2.32 -5.45 -4.25 -9.68 -7.23 11.93 3.19 5.36 1.68 
+0.71 -3.39 -4.47 -3.08 -11 -7.62 -0.3 -3.47 -0.15 -3.37 -0.91 -3.62 -1.71 -3.86 -2.08 -3.93 
+-2.26 -3.97 -3.64 -4.32 -2.67 -3.95 -4.29 -4.38 -4.59 -4.39 -5.37 -4.46 -5.99 -4.54 -6.73 -4.55 
+-7.77 -4.62 -7.59 -4.45 -9.63 -4.53 -8.7 -1.82 -16.08 -2.98 -9.05 -3.62 -9.57 -3.45 -10.26 -3.25 
+-10.46 -3.06 -8.92 -0.17 -12.91 0.22 -10.11 -2.09 -10.53 -1.8 -10.64 -1.56 -11.18 -1.02 -5.25 1.17 
+1.82 1.87 2.17 3.63 1.18 2.24 8.31 1.06 1.47 3.54 -9.8 1.95 -6.86 -0.8 -7.91 0.43 
+-6.84 -0.37 -6.81 -0.37 -1.45 0.89 -5.86 3.17 -5.96 0 -5.92 0.13 -5.91 0.24 -5.86 0.39 
+-5.81 0.52 -5.71 0.63 -5.62 0.76 -5.52 0.87 -9.25 -1.93 -5.18 -0.93 -6.68 1.17 -6.03 1.5 
+-5.77 1.61 -5.93 1.63 -12.22 -0.11 -7.23 0.13 -6.32 2.26 -5.38 2.39 -5.38 2.43 -4.8 2.5 
+-4.64 2.54 -4.25 2.58 -3.78 2.58 -13.73 2.87 -8.86 2.15 6.23 0.05 9.85 0.13 -2.73 2.59 
+-2.38 2.56 -2.06 2.54 -1.72 2.52 -1.37 2.45 -0.11 2.21 -0.34 2.26 -13.48 4.93 -7.27 2.97 
+-0.61 2.71 0.39 2.41 0.7 2.34 1.33 2.14 1.63 2.06 1.64 2.07 2.36 1.8 1.96 1.97 
+4.38 0.98 -0.04 2.93 -8.16 5.88 -4.41 3.45 2.89 2 -6.58 6.01 -3.93 3.89 -5.4 6.46 
+-2.65 3.23 3.97 2.19 -4.19 6.36 p f*
+255 135 0 rG
+2289.47 850.63 -1.73 2.93 5.71 1.37 -1.95 7.61 -0.29 0.74 1.2 -0.59 11.13 -9.22 0.61 -1.22 
+5.67 -8.81 12.17 -8.63 12.76 -8.25 13.26 -7.86 13.93 -5.54 2.71 -0.98 12.31 -4.17 3.51 0.98 
+5.5 -0.12 4.32 0.48 1.5 -0.63 11.34 -4.21 3.46 0.74 3.53 0.67 3.65 0.66 3.71 0.61 
+-3.08 5.51 -0.91 1.78 4.41 0.59 4.01 1.02 -1.13 5.62 -0.3 2.09 5.01 0.74 0.55 5.73 
+0.21 1.91 5.8 0.59 5.86 0.56 6.05 0.24 2.54 5.68 1.13 2.26 6.68 0.11 6.67 0.24 
+6.73 -0.09 6.71 0.24 6.31 -2.32 0.3 -0.39 -0.09 -2.49 -2.38 2.89 -4.12 1.52 -6.64 -0.26 
+-6.68 0.09 -6.59 -0.24 -6.62 -0.11 -0.71 -1.43 -2.88 -6.47 -6.01 -0.25 -5.8 -0.59 -5.71 -0.61 
+-0.11 -1.02 -0.61 -6.53 -4.93 -0.8 0.2 -1.21 1.28 -6.43 -3.86 -1.09 -4.34 -0.59 0.48 -0.89 
+3.53 -6.3 -3.66 -0.61 -3.58 -0.63 -3.5 -0.67 -3.38 -0.73 -11.55 4.04 -3.16 0.37 -2.13 -0.22 
+-5.68 0.29 -3.47 -0.96 -14.06 4.73 -0.65 0.24 -15.97 6.3 -13.32 7.83 -12.85 8.25 -12.22 8.64 
+-6.55 9.98 -8.05 0.7 -5.64 -1.39 1.11 -1.84 5.6 -8.45 -3.49 -2.43 0.69 -0.83 7.23 -8.57 
+1.82 -1.8 8.81 -7.96 -2.61 -2.1 1.75 -1.35 10.88 -7.79 0.74 -2.69 1.89 -1.21 -2.78 0.54 
+-3.8 -0.57 -1.82 -1.97 -2.45 -1.71 -1.63 -2.02 -1.65 -2 -1.39 -2.06 -0.65 -2.3 -0.33 -2.39 
+0.87 -2.71 3.05 -1.26 17.95 -6.46 0.24 -2.17 -0.22 -2.09 1.39 -2.39 1.71 -2.43 2.02 -2.48 
+2.36 -2.47 2.7 -2.52 -13.05 -0.26 -2.91 -0.05 4.13 -0.98 9.11 -1.86 9.14 -1.89 3.71 -2.49 
+4.19 -2.5 4.62 -2.45 4.67 -2.41 5.32 -2.32 5.21 -2.3 6.32 -2.13 2.69 -0.04 16.21 0.17 
+5.86 -1.54 5.58 -1.52 5.86 -1.41 6.59 -1.06 1.65 0.3 12.26 2.61 5.3 -0.85 5.41 -0.69 
+5.49 -0.61 5.58 -0.49 5.64 -0.37 5.66 -0.24 5.71 -0.13 5.71 0 6.64 -2.75 6.23 0.41 
+6.41 0.17 2.69 -1.15 5.94 -0.54 6.64 0.78 2.43 1.48 -0.54 2.26 2.26 -0.52 0 -0.87 
+0.15 -0.61 2.99 -1.28 -1.52 1.52 -1.63 0.37 0 0.87 3.91 -0.89 5.68 -4.82 -0.21 -0.48 
+-2.41 -4.34 -8.57 -1.11 -0.57 -1.13 -2.87 -4.84 -0.62 -0.65 1.82 -0.39 10.98 0.89 10.33 1.52 
+10.29 1.7 9.87 2.02 17.14 -0.3 4.29 0.06 10.18 2.98 10.14 3.12 9.37 3.34 8.88 3.5 
+21.31 3.9 2.78 0.59 9.85 4.43 7.36 4.32 7.86 4.52 6.68 4.45 5.95 4.43 5.32 4.39 
+4.52 4.25 4.36 4.32 2.34 3.79 3.86 4.3 2.23 3.86 2.15 3.88 1.84 3.86 0.98 3.56 
+0.08 3.3 0.46 3.47 14.65 10.04 0 0.04 -0.48 3.41 -0.61 -0.2 -15.91 -4.19 12.89 9.57 
+2.11 1.61 -2.65 -0.86 -9.44 -3.19 -9.44 -3.21 -0.35 3.45 -2.04 2.67 -2.39 2.54 -4.12 1.65 
+-4.32 1.56 -1.76 -0.63 -15.69 -5.23 -4.58 1.25 -4.53 -0.04 -5.09 -1.52 1.52 2.99 -0.91 1.24 
+-2.37 2.69 -4.55 1.43 -4.76 1.34 4.88 8.22 0.07 0.11 -4.32 2.11 -4.84 1.82 -5.96 1.02 
+-6.16 0.93 -6.38 0.8 -7.29 -0.02 -1.39 -0.7 -12.96 -6.12 -6.25 0.7 -7.46 -0.55 -5.45 1.63 
+-6.49 0.63 -7.12 -0.11 -6.69 0.43 -1.15 -0.7 -11.54 -7.54 -5.47 1.59 -6.99 -1 -0.33 -0.2 
+-0.04 0.2 P
+-5.38 1.91 -6.9 -0.63 -2.26 -0.61 -5.9 -3.47 -3.8 3.8 -1.17 0.44 -0.78 -0.37 -7.12 -4.99 
+-6.04 0.91 -6.23 0.13 -6.23 1.43 0.09 2.49 6.32 -2.12 6.38 -0.16 6.05 -1.3 5.19 3.64 
+2.67 1.28 3.93 -1.47 1.56 -1.56 2.43 1.43 5.29 1.41 6.92 0.52 5.69 -1.75 7.16 0.89 
+5.64 -1.45 10.09 6.6 2.6 1.59 6.73 -0.43 7.1 0.04 6.53 -0.63 5.64 -1.5 7.36 0.39 
+6.3 -0.7 11.35 5.36 3.14 1.58 7.23 -0.07 6.4 -0.82 6.23 -0.91 5.99 -1.02 5.01 -1.73 
+4.55 -1.98 -0.91 -1.36 -4.25 -7.21 4.79 -1.34 4.6 -1.43 2.67 -2.56 2.12 -2.75 6.84 0 
+4.51 -1.32 13.71 4.6 3.93 1.43 4.28 -1.63 4.03 -1.7 2.5 -2.54 2.17 -2.62 0.61 -3.34 
+16.54 5.64 4.75 1.58 -3.78 -2.93 -11.28 -8.39 13.93 3.69 2.98 0.93 0.61 -3.41 -2.23 -1.54 
+-12.85 -8.86 -0.37 -3.47 -0.13 -3.32 -0.93 -3.61 -1.78 -3.86 -2.11 -3.91 -2.25 -3.91 -3.76 -4.32 
+-2.52 -3.88 -4.32 -4.34 -4.56 -4.32 -5.34 -4.42 -5.97 -4.47 -6.7 -4.52 -7.81 -4.55 -7.49 -4.38 
+-9.75 -4.5 -5.73 -1.19 -9.36 -1.72 -9.33 -1.73 -8.97 -3.56 -9.48 -3.38 -10.2 -3.2 -10.33 -3.02 
+-6.6 -0.13 -15.02 0.26 -10 -2.04 -10.39 -1.76 -10.51 -1.54 -11.07 -0.95 -3.54 0.8 1.22 1.24 
+2.52 4.23 0.89 1.7 8.44 1.08 1.69 4.13 -11.43 2.28 -6.75 -0.8 -7.92 0.67 -6.71 -0.35 
+-6.62 -0.36 -0.3 0.17 -6.83 3.69 -5.84 0 -5.82 0.13 -5.8 0.24 -5.75 0.39 -5.69 0.5 
+-5.6 0.61 -5.51 0.74 -5.4 0.84 -10.77 -2.25 -3.41 -0.63 -6.64 1.13 -5.95 1.45 -5.66 1.56 
+-5.91 1.58 -14.21 -0.15 -4.95 0.08 -6.32 2.2 -5.29 2.34 -5.36 2.38 -4.73 2.46 -4.62 2.5 
+-4.23 2.54 -3.76 2.54 -15.99 3.3 -6.49 1.56 4.58 0.04 11.43 0.2 -2.71 2.56 -2.37 2.52 
+-2.04 2.5 -1.71 2.48 -1.37 2.43 0.04 2.15 -0.28 2.21 -15.73 5.71 -5.14 2.11 -0.75 2.71 
+0.36 2.39 0.67 2.32 1.37 2.11 1.63 2.04 1.65 2.02 2.39 1.78 1.89 1.98 4.68 0.82 
+-0.52 3.09 -9.53 6.86 -3.08 2.39 2.73 2.04 -7.68 6.99 -2.89 2.86 -6.29 7.51 -1.7 2.02 
+3.76 2.32 -4.91 7.4 p f*
+255 35 0 rG
+2290.06 850.76 -1.11 1.84 5.64 1.39 8.05 -0.7 6.55 -9.98 12.22 -8.64 12.85 -8.25 13.32 -7.83 
+15.97 -6.3 0.65 -0.24 14.06 -4.73 3.47 0.96 5.68 -0.29 2.13 0.22 3.16 -0.37 11.55 -4.04 
+3.38 0.73 3.5 0.67 3.58 0.63 3.66 0.61 -3.53 6.3 -0.48 0.89 4.34 0.59 3.86 1.09 
+-1.28 6.43 -0.2 1.21 4.93 0.8 0.61 6.53 0.11 1.02 5.71 0.61 5.8 0.59 6.01 0.25 
+2.88 6.47 0.71 1.43 6.63 0.11 6.59 0.24 6.68 -0.09 6.64 0.26 4.12 -1.52 2.38 -2.89 
+-0.08 -2.5 -4.47 5.38 -1.93 0.72 -6.57 -0.29 -6.64 0.11 -6.54 -0.28 -6.58 -0.09 -0.28 -0.59 
+-3.25 -7.29 -5.95 -0.24 -5.71 -0.62 -5.64 -0.66 0 -0.11 -0.67 -7.34 -4.82 -0.85 0.04 -0.37 
+1.47 -7.21 -3.73 -1.15 -4.25 -0.59 0 -0.02 4 -7.08 -3.61 -0.58 -3.52 -0.63 -3.43 -0.68 
+-3.34 -0.71 -7.4 1.61 -4.86 0.02 -6.88 2.63 -3.26 0.2 -3.41 -0.98 -10.09 2.48 -6.93 2.47 
+-15.43 6.9 -13.39 7.84 -11.7 7.42 -1.39 0.76 -12.37 8.64 -0.28 0.5 -8.44 9.11 -3.84 0.33 
+-5.58 -1.43 0.46 -0.74 6.32 -9.46 -2.54 -1.91 5.17 -2.73 0 -1.73 5.96 -5.04 5.32 -1.93 
+-2.73 2.82 -8.55 4.15 0 1.73 10.16 -5.39 6.2 -6.27 -12.07 4.3 -2.34 0.19 0.8 -0.78 
+9.89 -8.92 -2.43 -2.15 0.41 -0.3 12.26 -8.75 0.24 -1.04 8.07 -5.1 -11.78 2.23 -0.3 -0.04 
+-1.41 -1.54 0.02 -0.59 -0.54 0.06 -2.32 -1.58 -1.63 -2 -1.67 -1.95 -1.41 -2.02 -0.61 -2.3 
+-0.33 -2.34 1 -2.71 0.97 -0.41 9.92 -2.97 9.91 -2.95 0.67 -1.36 -0.33 -0.07 0.18 -2 
+-0.37 -2.02 1.39 -2.37 1.7 -2.39 2.02 -2.43 2.37 -2.46 2.67 -2.47 -14.67 -0.35 -1.24 -0.02 
+1.75 -0.41 20.49 -4.17 3.69 -2.45 4.19 -2.46 4.58 -2.41 4.6 -2.36 5.32 -2.28 5.12 -2.25 
+6.32 -2.06 0.41 -0.02 9.12 0.11 9.09 0.11 5.84 -1.48 5.47 -1.5 5.75 -1.37 5.83 -0.89 
+1.35 0.16 13.02 2.64 5.21 -0.8 5.29 -0.69 5.38 -0.59 5.47 -0.48 5.51 -0.35 5.55 -0.24 
+5.6 -0.13 5.58 0 6.05 -1.32 5.84 0.3 5.9 0.26 6.68 -2.91 2.95 -0.26 6.51 0.76 
+1.24 0.74 -0.89 3.95 10.64 -2.46 8.31 -4.34 -1.3 -3.3 -5.47 -2.82 -8.7 -1.13 -0.28 -0.57 
+-3.19 -5.45 -0.04 -0.02 0.11 -0.02 10.87 0.8 10.2 1.5 10.18 1.67 9.74 1.98 9.61 -0.17 
+9.61 -0.19 2 0.04 10.07 2.91 10.05 3.06 9.29 3.3 8.81 3.43 11.41 2.14 11.41 2.13 
+1.61 0.37 9.25 4.06 7.25 4.25 7.88 4.47 6.66 4.41 5.93 4.36 5.3 4.34 4.46 4.21 
+4.38 4.25 2.2 3.73 4 4.29 2.21 3.82 2.17 3.86 1.91 3.84 1 3.54 0.04 3.23 
+0.55 3.49 7.2 6.49 0.5 3.73 -9.96 -1.15 14.52 10.72 0.41 0.3 -0.52 -0.17 -9.35 -3.73 
+-9.37 -3.73 -8.6 -2.56 6.13 5.58 -0.09 0.85 -1.95 2.69 -2.26 2.58 -4.19 1.59 -2.78 0.98 
+-3.86 -0.74 -15 -4.43 -4.66 1.2 -0.96 0 -12.63 -3.73 0.76 4.12 3.25 3.15 -1.54 1.89 
+-4.51 1.43 -4.71 1.35 0.37 4.95 0.55 5.23 -0.26 0.13 -4.67 1.91 -5.9 1.04 -6.14 0.91 
+-6.34 0.8 -5.79 -0.09 -3 -1.39 -12.76 -5.29 -6.21 0.67 -4.56 -0.34 -5.46 -2.82 -0.07 3.39 
+-2.76 0.85 P
+-6.42 0.65 -5.84 -0.15 -2.04 -0.98 -6.73 0.21 -8.57 -6.53 -5.32 -3.34 -0.84 3.78 -2.46 0.71 
+-2.75 -0.39 -6.32 -3.87 -0.86 4.25 -2.67 0.93 -5.47 -0.57 -2.06 -1.58 -7.96 -3.88 -5.14 3.06 
+-7.23 -3.43 -6.01 0.5 -6.1 0.11 -6.12 0.74 0.08 2.5 6.23 -1.43 6.23 -0.13 6.04 -0.91 
+7.12 4.99 0.78 0.37 1.17 -0.44 3.8 -3.8 5.9 3.47 2.26 0.61 6.9 0.63 5.38 -1.91 
+0.04 -0.2 0.33 0.2 6.99 1 5.47 -1.59 11.54 7.54 1.15 0.7 6.69 -0.43 7.12 0.11 
+6.49 -0.63 5.45 -1.63 7.46 0.55 6.25 -0.7 12.96 6.12 1.39 0.7 7.29 0.02 6.38 -0.8 
+6.16 -0.93 5.96 -1.02 4.84 -1.82 4.32 -2.11 -0.07 -0.11 -4.88 -8.22 4.76 -1.34 4.55 -1.43 
+2.37 -2.69 0.91 -1.24 -1.52 -2.99 5.09 1.52 4.53 0.04 4.58 -1.25 15.69 5.23 1.76 0.63 
+4.32 -1.56 4.13 -1.65 2.39 -2.54 2.04 -2.67 0.35 -3.45 9.44 3.21 9.44 3.19 2.65 0.86 
+-2.11 -1.61 -12.89 -9.57 15.91 4.19 0.61 0.2 0.48 -3.41 0 -0.04 -14.65 -10.04 -0.46 -3.47 
+-0.08 -3.3 -0.98 -3.56 -1.84 -3.86 -2.15 -3.88 -2.23 -3.86 -3.86 -4.3 -2.34 -3.79 -4.36 -4.32 
+-4.52 -4.25 -5.32 -4.39 -5.95 -4.43 -6.68 -4.45 -7.86 -4.52 -7.36 -4.32 -9.85 -4.43 -2.78 -0.59 
+-21.31 -3.9 -8.88 -3.5 -9.37 -3.34 -10.14 -3.12 -10.18 -2.98 -4.29 -0.06 -17.14 0.3 -9.87 -2.02 
+-10.29 -1.7 -10.33 -1.52 -10.98 -0.89 -1.82 0.39 0.63 0.65 2.87 4.84 0.57 1.13 8.57 1.11 
+2.41 4.34 0.21 0.48 -5.68 4.82 -3.91 0.89 -2.26 0.52 0.54 -2.26 -2.43 -1.48 -6.64 -0.78 
+-5.94 0.54 -2.69 1.15 -6.41 -0.17 -6.23 -0.41 -6.64 2.75 -5.71 0 -5.71 0.13 -5.66 0.24 
+-5.64 0.38 -5.58 0.49 -5.49 0.61 -5.41 0.69 -5.3 0.85 -12.26 -2.61 -1.65 -0.3 -6.59 1.06 
+-5.86 1.41 -5.58 1.52 -5.86 1.54 -16.21 -0.17 -2.69 0.04 -6.32 2.13 -5.21 2.3 -5.32 2.32 
+-4.67 2.41 -4.62 2.45 -4.19 2.5 -3.71 2.49 -9.14 1.89 -9.11 1.86 -4.12 0.98 2.91 0.05 
+13.05 0.26 -2.7 2.52 -2.36 2.47 -2.02 2.48 -1.71 2.43 -1.39 2.39 0.22 2.09 -0.24 2.17 
+-17.95 6.46 -3.05 1.26 -0.87 2.71 0.33 2.39 0.65 2.3 1.39 2.06 1.65 2 1.63 2.02 
+2.45 1.71 1.82 1.97 3.8 0.57 2.78 -0.54 -1.89 1.21 -0.74 2.69 -10.87 7.79 -1.75 1.35 
+2.61 2.1 -8.81 7.96 -1.82 1.8 -7.23 8.57 -0.69 0.83 3.49 2.43 -5.6 8.45 p f*
+255 203 0 rG
+2291.78 1588.41 -1.67 5.88 0.93 7.88 4.73 3.17 1 0.5 3.64 -4.47 1.84 -4.84 -9.22 -7.71 
+-0.96 -0.78 -0.52 -0.33 0.22 0.7 f*
+189 0 54 rG
+2290.64 850.89 -0.46 0.74 5.58 1.43 3.84 -0.33 8.44 -9.11 0.28 -0.5 12.38 -8.64 1.39 -0.76 
+11.7 -7.42 13.39 -7.84 15.43 -6.9 6.93 -2.47 10.09 -2.48 3.41 0.98 3.26 -0.2 6.88 -2.62 
+4.86 -0.02 7.4 -1.61 3.34 0.71 3.43 0.68 3.52 0.63 3.61 0.58 -4 7.08 0 0.02 
+4.25 0.59 3.73 1.15 -1.47 7.21 -0.04 0.37 4.82 0.85 0.67 7.34 0 0.11 5.64 0.66 
+5.71 0.63 5.95 0.24 3.25 7.29 0.28 0.59 6.58 0.09 6.54 0.28 6.64 -0.11 6.57 0.29 
+1.93 -0.72 4.47 -5.38 -0.05 -1.24 -5.51 6.62 -0.83 0.3 -6.57 -0.28 -6.58 0.11 -6.53 -0.29 
+-0.02 0 -5.25 -0.06 -1.25 -0.02 -0.07 -0.16 -3.45 -7.68 -5.9 -0.26 -5.68 -0.66 -0.41 -0.04 
+-3.28 -3.61 -2.56 -4.43 -4.14 -0.73 0.17 -1.09 0.76 -6.57 -2.06 -0.63 1.58 -3.55 -3.78 -0.74 
+0.37 -3.88 -3.58 -0.59 -3.5 -0.63 -3.4 -0.67 -3.3 -0.71 -5.3 0.41 -3.97 -0.39 -6.23 2.37 
+-5.23 1.97 -1.63 0.09 -3.39 -0.98 -6.66 0.71 -12.07 4.25 -0.26 0.11 -14.3 7.05 -9.66 5.56 
+-4.8 2 -14.23 7.92 -13.08 8.53 -3.25 5.79 -3.85 4.25 -1.78 0.16 -5.53 -1.46 0.13 -0.19 
+6.68 -9.98 -1.17 -0.87 14.11 -8.45 7.95 -8 -15.43 5.46 -0.79 0.07 0.26 -0.26 10.48 -9.42 
+-1.67 -1.48 3.4 -2.71 8.57 -6.96 0.04 -0.21 11.16 -7.01 -7.79 0.48 -0.71 -2.21 -7.21 0.13 
+-3.47 -1.28 -1.87 0.19 -1.34 -1.58 -1.43 -2.02 -0.61 -2.28 -0.3 -2.34 0.98 -2.52 9.79 -2.13 
+9.77 -2.11 9.87 -3.27 0.83 -2.15 -2.89 -1.39 -6.12 0.55 -0.24 -1.37 1.39 -2.34 1.69 -2.39 
+2.02 -2.41 2.34 -2.43 2.67 -2.45 -15.47 -0.37 -0.41 -0.02 0.58 -0.12 21.62 -4.39 3.67 -2.43 
+4.17 -2.43 4.57 -2.39 4.56 -2.34 5.3 -2.25 5.08 -2.24 2.19 -0.73 9.29 -0.63 13.32 -0.41 
+5.82 -1.46 5.43 -1.5 5.7 -1.34 0.88 -0.16 10.24 1.17 8.95 0.93 5.14 -0.8 5.26 -0.68 
+5.34 -0.59 5.4 -0.48 5.47 -0.34 5.49 -0.24 5.53 -0.11 5.54 0 5.75 -0.61 5.64 0.26 
+5.66 0.3 8.66 -3.77 1.46 -0.14 6.46 0.74 0.61 0.36 -1.04 4.8 7.62 -0.48 6.27 -2.3 
+8.44 -0.65 3.87 -0.52 0 -0.98 -1.09 -1.61 5.96 -0.13 -0.82 1.21 -4.05 0.52 0 0.98 
+6.68 -0.89 2.23 -3.19 -10.96 -0.3 -3.47 -3.41 -7.03 -2.09 -8.77 -1.16 -0.16 -0.29 2.02 -4.91 
+4.97 0.39 10.13 1.5 10.12 1.63 9.68 1.95 10.14 -0.2 10.13 -0.17 0.87 0 9.98 2.88 
+10.03 3.04 9.25 3.25 8.75 3.43 15.45 3.8 14.69 3.25 3.43 1.54 7.21 4.21 7.88 4.45 
+6.66 4.36 5.9 4.36 5.3 4.3 4.45 4.19 4.38 4.25 1.61 2.67 -4.75 -0.5 6.96 3.23 
+2.34 2.56 2.2 3.79 2.19 3.84 1.95 3.84 1 3.54 0.04 3.21 0.59 3.47 3.45 4.79 
+-0.11 3.37 -5.56 0.89 9.36 8.09 -12.24 -5.01 -14.15 -4.14 4.97 5.73 3.91 4.43 -0.64 0.82 
+-2.21 2.61 -3.23 1.21 -4.41 -1.52 -8.96 -1.06 -9.18 -1.22 -3.17 0.8 -6.01 -2.08 -11.13 -2.37 
+-1.39 2.84 6.79 6.47 -0.78 0.93 -4.5 1.43 -4.68 1.35 -2.21 3.11 -2.04 3.47 2.8 4.64 
+-2.47 1 -5.89 1.04 -6.1 0.91 -6.31 0.8 -2.3 -0.05 -2.28 -1.04 -7.55 -3.45 -9.39 -2.23 
+-6.19 0.67 P
+-2.09 -0.15 -10.09 -5.14 -0.11 6.2 -0.52 0.18 -6.41 0.63 -1.56 -0.05 -8.81 -4.21 -6.42 0.38 
+-4.3 -3.26 -8.66 -5.41 -1.37 6.1 -0.59 0.17 -0.62 -0.09 -9.31 -5.66 -1.28 6.25 -1.3 0.46 
+-2.67 -0.29 -6.12 -4.6 -6.29 -1.65 -0.63 -0.17 -5.54 1.63 -6.59 -1.63 -1.52 0.08 -4.46 0.24 
+-6.05 0.09 -6.06 0.39 0.05 1.24 6.12 -0.74 6.1 -0.11 6.01 -0.5 7.23 3.43 5.14 -3.06 
+7.96 3.88 2.06 1.58 5.47 0.57 2.67 -0.93 0.86 -4.25 6.32 3.87 2.75 0.39 2.46 -0.71 
+0.84 -3.78 5.32 3.34 8.57 6.53 6.73 -0.21 2.04 0.98 5.84 0.15 6.42 -0.65 2.76 -0.85 
+0.07 -3.39 5.46 2.82 4.56 0.34 6.21 -0.67 12.76 5.29 3 1.39 5.79 0.09 6.34 -0.8 
+6.14 -0.91 5.9 -1.04 4.67 -1.91 0.26 -0.13 -0.55 -5.23 -0.37 -4.95 4.71 -1.35 4.51 -1.43 
+1.54 -1.89 -3.25 -3.15 -0.76 -4.12 12.63 3.73 0.96 0 4.66 -1.2 15 4.43 3.86 0.74 
+2.78 -0.98 4.19 -1.59 2.26 -2.58 1.95 -2.69 0.09 -0.85 -6.12 -5.58 8.6 2.56 9.38 3.73 
+9.35 3.73 0.52 0.17 -0.41 -0.3 -14.52 -10.72 9.96 1.15 -0.5 -3.73 -7.2 -6.49 -0.55 -3.49 
+-0.04 -3.23 -1 -3.54 -1.91 -3.84 -2.17 -3.86 -2.21 -3.82 -4 -4.29 -2.2 -3.73 -4.38 -4.25 
+-4.46 -4.21 -5.3 -4.34 -5.93 -4.36 -6.66 -4.41 -7.88 -4.47 -7.25 -4.25 -9.25 -4.06 -1.61 -0.37 
+-11.41 -2.12 -11.41 -2.14 -8.81 -3.43 -9.29 -3.3 -10.05 -3.06 -10.07 -2.91 -2 -0.04 -9.61 0.19 
+-9.61 0.17 -9.74 -1.98 -10.18 -1.67 -10.2 -1.5 -10.87 -0.8 -0.11 0.02 0.04 0.02 3.19 5.45 
+0.28 0.57 8.7 1.13 5.47 2.82 1.3 3.3 -8.31 4.34 -10.64 2.46 0.89 -3.95 -1.24 -0.74 
+-6.51 -0.76 -2.95 0.26 -6.68 2.91 -5.9 -0.26 -5.84 -0.3 -6.05 1.32 -5.58 0 -5.6 0.13 
+-5.55 0.24 -5.51 0.35 -5.47 0.48 -5.38 0.59 -5.29 0.69 -5.21 0.8 -13.02 -2.64 -1.35 -0.16 
+-5.83 0.89 -5.75 1.37 -5.47 1.5 -5.84 1.48 -9.09 -0.11 -9.12 -0.11 -0.41 0.02 -6.32 2.06 
+-5.12 2.25 -5.32 2.28 -4.6 2.36 -4.58 2.41 -4.19 2.46 -3.69 2.45 -20.49 4.17 -1.75 0.41 
+1.24 0.02 14.67 0.35 -2.67 2.47 -2.37 2.46 -2.02 2.43 -1.7 2.39 -1.39 2.37 0.37 2.02 
+-0.18 2 0.33 0.07 -0.67 1.36 -9.91 2.95 -9.92 2.97 -0.97 0.41 -1 2.71 0.33 2.34 
+0.61 2.3 1.41 2.02 1.67 1.95 1.63 2 2.32 1.58 0.54 -0.06 -0.02 0.59 1.41 1.54 
+0.3 0.04 11.78 -2.23 -8.07 5.1 -0.24 1.04 -12.26 8.75 -0.41 0.3 2.43 2.15 -9.89 8.92 
+-0.8 0.78 2.34 -0.19 12.07 -4.3 -6.2 6.27 -10.16 5.39 -5.17 2.73 2.54 1.91 -6.32 9.46 p f*
+87 0 136 rG
+2290.93 850.96 -0.13 0.19 5.53 1.46 1.78 -0.16 3.85 -4.25 3.25 -5.79 13.08 -8.53 14.23 -7.92 
+4.8 -2 9.66 -5.56 14.3 -7.05 0 -21.44 10.7 -4.06 12.09 -2.06 -10.72 3.75 -5.06 1 
+-7.01 1.37 0 21.44 0.26 -0.11 12.07 -4.25 6.66 -0.71 3.39 0.98 1.63 -0.09 5.23 -1.97 
+0 -49.68 -3.73 -0.98 -4.14 -2.21 5.43 -1.67 12.8 0.14 7.86 2.34 -1.54 1.48 -10.39 0.61 
+-4.23 0.2 -2.04 0.11 0 49.68 6.23 -2.37 3.97 0.39 5.3 -0.41 3.3 0.71 3.4 0.67 
+3.5 0.63 3.58 0.59 -0.37 3.88 3.78 0.74 -1.58 3.55 2.06 0.63 -0.76 6.57 -0.17 1.09 
+4.14 0.73 2.56 4.43 3.28 3.61 0.41 0.04 5.68 0.66 5.9 0.26 3.45 7.68 0.07 0.16 
+1.25 0.02 0 -3.97 -0.32 -4.14 2.36 -2.11 0.93 2.21 -2.97 4.04 0 3.97 5.25 0.06 
+0 -76.97 -3.75 -0.37 -8.18 -1.64 -6.59 -2.15 -0.54 -1.34 1.21 -1 1.84 -0.87 2.84 -0.52 
+5.21 0.5 4.1 0.29 -0.22 -1.87 0.37 -1.89 3.86 0.17 7.79 4.26 3.99 4.86 -0.5 0.84 
+-0.45 -0.15 -3.19 -1.15 -4.16 -1.21 0.04 1.17 1.19 1.52 -0.91 0.43 -1.73 0.11 -0.36 0 
+-1.85 0.02 0 76.97 0.02 0 6.53 0.29 6.58 -0.11 6.57 0.28 0.83 -0.3 5.51 -6.62 
+-0.04 -1.23 -0.3 -7.75 -0.3 -7.57 -0.33 -7.43 -0.32 -7.29 -0.37 -7.12 -0.37 -6.96 -0.39 -6.81 
+-0.41 -6.67 -0.84 0 -0.41 -0.02 -0.43 -0.02 -0.83 -0.05 -0.82 -0.09 -0.78 -0.09 -0.79 -0.13 
+-0.36 -0.07 -0.35 -0.06 -0.69 -0.18 -0.66 -0.17 -0.3 -0.09 -0.57 -0.22 -0.52 -0.21 -0.21 -0.13 
+-0.22 -0.11 -0.21 -0.13 -0.17 -0.11 -0.17 -0.13 -0.16 -0.13 -0.13 -0.16 -0.21 -0.26 -0.09 -0.13 
+-0.07 -0.15 -0.02 -0.13 -0.05 -0.15 0 -0.13 0.02 -0.15 0.02 -0.12 0.06 -0.16 0.07 -0.13 
+0.09 -0.16 0.21 -0.25 0.15 -0.16 0.35 -0.26 0.2 -0.13 0.22 -0.13 0.21 -0.11 0.24 -0.12 
+0.26 -0.11 0.28 -0.11 0.31 -0.11 0.28 -0.11 0.32 -0.11 0.32 -0.09 0.35 -0.08 0.37 -0.09 
+0.34 -0.09 0.39 -0.06 0.37 -0.07 0.39 -0.07 0.41 -0.07 1.23 -0.13 0.28 -0.02 0 -6.77 
+-0.08 0 -1.37 -0.11 -4.25 -5.47 -0.2 -5.54 3.14 -0.28 3.56 3.88 2.75 -2.21 1.17 3.95 
+-1.63 3.61 -0.17 0.37 -1.85 -2.28 -1.09 4.08 0 6.77 0.16 0 0.43 -0.04 0.41 -0.02 
+2.19 0 0.44 0.02 0.41 0.04 0.43 0.02 1.24 0.13 0.41 0.07 0.78 0.13 0.04 0 
+0 -6.99 1 -5.82 0.05 -0.43 -2.3 -0.24 -1.63 -5.45 4.41 -5.18 4.29 0.02 3.82 0.89 
+1.88 2.86 -0.5 2.13 -3.61 5.86 -5.9 5.25 -1.33 0.11 -0.2 0 0 6.99 0.33 0.06 
+0.37 0.09 0.7 0.17 0.33 0.09 0.32 0.11 0.3 0.11 0.57 0.21 0.26 0.11 0.23 0.13 
+0.24 0.11 0.59 0.39 0.11 0.11 0 -8.59 3.5 -5.4 5.45 -5.69 9.2 -4.62 -3.38 5.34 
+-7.21 5.43 -6.95 4.56 -0.61 0.39 0 8.59 0.04 0.02 0.16 0.16 0.22 0.25 0.08 0.16 
+0.07 0.13 0.07 0.16 0.02 0.13 0.02 0.15 0 0.13 -0.04 0.15 -0.02 0.13 -0.07 0.15 
+-0.17 0.26 -0.13 0.13 -0.13 0.16 -0.15 0.13 -0.18 0.13 -0.17 0.11 -0.21 0.13 -0.22 0.11 
+-0.21 0.13 P
+-0.52 0.21 -0.56 0.22 -0.31 0.09 -0.98 0.26 -0.37 0.09 -0.35 0.06 -0.37 0.07 -0.79 0.13 
+-0.78 0.09 -0.83 0.09 -0.82 0.05 -0.43 0.02 -0.42 0.02 -0.43 0 0.41 6.67 0.39 6.81 
+0.37 6.96 0.38 7.12 0.32 7.29 0.33 7.43 0.3 7.57 0.3 7.75 0.04 1.23 6.06 -0.39 
+6.05 -0.09 4.46 -0.24 0 -76.15 4.8 -5.25 0.32 -0.13 0 -0.3 3.36 -5.27 11.72 -4.23 
+-4.27 5.38 -10.22 3.88 -0.59 0.24 0 0.3 10.37 -3.99 -0.48 2.8 -3.08 2.54 -5.75 2.11 
+-5.54 1.71 -0.66 0.22 0 76.15 1.52 -0.08 6.59 1.63 5.54 -1.63 0.63 0.17 0 -80.34 
+6.16 -4.86 13.52 -3.06 -1.26 2.91 -3.54 2.14 -6.59 1.41 -7.45 1.3 -0.84 0.15 0 80.34 
+6.29 1.65 6.12 4.6 2.67 0.29 1.3 -0.46 1.28 -6.25 9.31 5.66 0.63 0.09 0.59 -0.17 
+1.37 -6.1 8.66 5.41 4.3 3.26 6.42 -0.37 8.81 4.21 1.56 0.05 6.41 -0.63 0.52 -0.18 
+0.11 -6.2 10.09 5.14 2.09 0.15 6.19 -0.67 9.39 2.23 7.55 3.45 0 -26.52 -6.03 -2.28 
+-3.3 -3.06 6.08 2.23 3.25 3.11 0 26.52 2.28 1.04 2.3 0.05 6.31 -0.8 6.1 -0.91 
+5.89 -1.04 2.47 -1 -2.8 -4.64 1.02 -1.73 0 -6.95 -2.62 -1.04 -11.48 -4.54 -7.42 -7.34 
+13.63 4.95 0 -0.82 -1.72 -0.61 -14.23 -5.21 -9.57 -7.64 15.97 5.27 9.55 8.18 0 0.82 
+0.76 0.29 6.72 7.25 0 -7.79 -2.62 -0.89 -1.39 -1.34 2.56 0.91 1.45 1.32 0 7.79 
+0.41 0.44 0 6.95 1.02 -1.74 2.21 -3.11 4.68 -1.35 4.5 -1.43 0.78 -0.93 -6.79 -6.47 
+1.39 -2.84 11.13 2.37 6.01 2.08 3.17 -0.8 9.18 1.22 8.96 1.06 4.41 1.52 3.23 -1.21 
+2.21 -2.61 0.64 -0.82 -3.91 -4.43 -4.97 -5.73 14.15 4.14 12.24 5.01 -9.36 -8.09 5.56 -0.89 
+0.11 -3.37 -3.45 -4.79 -0.59 -3.47 -0.04 -3.21 -1 -3.54 -1.95 -3.84 -2.19 -3.84 -2.2 -3.79 
+-2.34 -2.56 -6.96 -3.23 4.75 0.5 -1.61 -2.67 -4.38 -4.25 -4.45 -4.19 -5.3 -4.3 -5.9 -4.36 
+-6.66 -4.36 -7.87 -4.45 -7.21 -4.21 -3.43 -1.54 -14.69 -3.25 -15.45 -3.8 -8.75 -3.43 -9.25 -3.25 
+-10.03 -3.04 -9.98 -2.88 -0.87 0 -10.13 0.17 -10.14 0.2 -9.68 -1.95 -10.12 -1.63 -10.13 -1.5 
+-4.97 -0.39 -2.02 4.91 0.16 0.29 8.77 1.16 7.03 2.09 3.47 3.41 10.96 0.3 -2.23 3.19 
+-6.68 0.89 -3.87 0.52 -8.44 0.65 -6.27 2.3 -7.62 0.48 1.04 -4.8 -0.61 -0.36 -6.46 -0.74 
+-1.46 0.14 -8.66 3.77 -5.66 -0.3 -5.64 -0.26 -5.75 0.61 -5.54 0 -5.53 0.11 -5.49 0.24 
+-5.47 0.34 -5.4 0.48 -5.34 0.59 -5.26 0.68 -5.14 0.8 -8.95 -0.93 -10.24 -1.17 -0.87 0.16 
+-5.7 1.34 -5.43 1.5 -5.82 1.46 -13.32 0.41 -9.29 0.63 -2.19 0.73 -5.08 2.24 -5.3 2.25 
+-4.56 2.34 -4.57 2.39 -4.17 2.43 -3.67 2.43 -21.62 4.39 -0.58 0.13 0.41 0.02 15.47 0.37 
+-2.67 2.45 -2.34 2.43 -2.02 2.41 -1.69 2.39 -1.39 2.34 0.24 1.38 6.12 -0.55 2.89 1.39 
+-0.83 2.15 -9.87 3.27 -9.77 2.11 -9.79 2.13 -0.98 2.52 0.3 2.34 0.61 2.28 1.43 2.02 
+1.34 1.58 1.87 -0.19 3.47 1.28 7.21 -0.13 0.71 2.21 7.79 -0.48 -11.16 7.01 -0.04 0.21 
+-8.57 6.96 p
+-3.4 2.71 1.67 1.48 -10.48 9.42 -0.26 0.26 0.79 -0.07 15.43 -5.46 -7.95 8 -14.11 8.45 
+1.17 0.87 -6.68 9.98 p f*
+7 193 59 rG
+2292.08 1724.89 0 -0.89 2.61 0.83 -1.52 0.56 -1.09 -0.5 f*
+255 203 0 rG
+2296.44 1647.61 -2.23 4.69 3.84 6.55 3.46 6.14 4.17 6.05 0.25 5.05 2.84 4.28 13.15 -0.21 
+0.76 0.17 0 -24.2 -2.26 -0.11 -1.39 -0.98 1.69 -1.49 0.68 0.87 0 -4.76 -3.41 -4.62 
+4.38 0.41 1.22 1.61 -2.19 2.6 0 4.76 1.28 1.71 0 24.2 13.28 2.84 4.38 1.97 
+4.77 4.32 3.99 3.78 0 -10.85 -0.89 -0.57 0.75 0 1.57 0.22 -1.43 0.34 0 10.85 
+0.32 0.3 -1.52 4.05 3.66 0.33 0 -7.96 -0.3 -0.3 -0.02 -0.5 0.43 0.52 -0.11 0.28 
+0 7.96 3.88 0.37 12.02 2 1.55 3.52 5.23 1.93 2.58 -3.04 -5.16 -2.84 -2.67 -3.28 
+11.89 -2.26 3.43 -2.14 -3.28 -2.78 -3.28 -1.8 -3.6 2.04 1.39 3.14 -7.29 3.8 -1.06 -0.28 
+-10.36 -2.8 2.48 -3.71 -5.66 -3.82 9.27 -2.22 4.79 -0.62 -5.14 -0.65 -14.15 -3.04 -0.35 0 
+-13.15 -0.54 -10.7 -4.3 -1.06 -4.69 3.32 -3.75 -3.56 -5.36 10.83 -0.41 0.67 0.2 0 -5.77 
+-4.77 -5.62 -5.1 -6.55 12.43 1.91 8.46 5.66 -2.43 3.32 -7.77 1.15 -0.83 0.13 0 5.77 
+12.81 3.61 13.58 2.43 0.37 0 0 -0.93 -0.33 0 -13.54 -2.88 -3.12 -0.91 3.13 0.7 
+13.56 2.99 0.3 0.11 0 0.93 5.4 0.13 -5.66 -2 -13.57 -2.71 -12.82 -6.87 12.7 0.3 
+0 -8.74 -9.84 -3.32 -12.7 -5.27 -0.5 -0.52 0.64 0.2 12.82 4.88 9.57 4.04 0 8.74 
+1.08 0.02 13.26 4.08 9.48 1.67 -9.14 -3.47 -8.11 -4.84 9.26 0.41 12.98 4.62 5.34 2.78 
+7.54 2.71 6.81 3.1 -5.8 1.5 8.09 3.64 3.89 1.63 12.37 1.96 1.41 0.08 0 -0.8 
+-0.04 -0.02 -10.05 -1.98 -3.71 -0.69 -8.9 -3.32 4.88 -1.58 -8.68 -3.95 -0.18 -0.07 -2.97 -1.06 
+-9.7 -5 -9.09 -3.36 3.82 -0.52 0 -1.65 -3.49 -0.02 -3.89 0 -7.57 -5.36 8.9 1.91 
+6.05 3.47 0 1.65 3.5 -0.48 -9.01 -5.12 -0.28 -0.15 -8.66 -4.99 -0.43 -0.26 -1.63 -3.71 
+-1.28 -1.76 -3.15 -5.99 -2.73 -5.95 -0.52 -0.61 1.65 -4.1 -6.94 -6.87 -0.93 -0.91 -1.43 -3.78 
+6.21 -1.32 -1.15 4.75 6.07 9 0.74 0.67 -2.73 3.41 9.98 7.2 0.48 2.84 -1.11 3.67 
+9.25 5.16 1.93 3.34 8.71 6.14 13.84 2.02 0.72 0.09 9.55 0.52 4.23 0.11 5.97 1.04 
+-4.63 -3.47 -1.91 -1.37 -8.95 -5.95 -1.25 -1.3 0.74 -2.78 1.04 -2.69 2.04 -2.22 -0.39 -3.77 
+-3.32 -4.61 -2.69 -3.47 -4.28 -6.47 -4.97 -5.44 1.2 -4.41 -0.8 -1.54 -7.14 -9.48 -9.85 -7.84 
+-8.29 -8.87 -6.46 -10.07 -1.28 -4.14 3.67 -5.32 0.72 -5.62 1.21 -2.49 1.89 1 9.33 8.44 
+6.29 3.93 5.73 3.25 5.95 3.04 7.01 0.3 6.05 1.11 2.24 1.58 8.13 3.13 5.23 -1.5 
+5.9 -0.08 5.25 -1.39 1.25 1.15 3.76 10 0.13 0.39 -1.21 8.12 -5.3 -6.82 -6.68 -5.57 
+0.61 7.46 7.21 8.96 1.45 1.24 0 -1.15 -0.48 -0.41 -0.8 -0.96 -6.84 -7.88 -0.49 -6.08 
+5.46 4.56 5.77 9.42 -2.63 1.34 0 1.15 1.33 1.11 4.21 -1.04 3.45 -0.39 0 -2.19 
+-4.54 -0.52 1.96 -4.95 4.27 3.37 -1.69 2.11 0 2.19 0.97 -0.12 3.34 -2.97 4.34 7.86 
+6.45 9.11 2.8 9.81 2.61 2.61 4.45 3.95 2.95 0.7 0.57 0.95 0.06 1.04 -2.04 1.52 
+-2.04 1.17 P
+0.2 5.52 0.07 1.63 -0.68 1.28 -1.36 -0.74 -3.97 -4.34 2.47 4.82 0.5 3.06 -1.63 0.58 
+-1.58 0.63 -1.56 0.7 -1.72 0.52 -2.82 -1.86 -6.01 -4.11 3.67 5.41 0.59 0.76 -1 1.26 
+-1.46 -0.84 -8.05 -4.14 -1.65 1.19 -1.56 1.26 -1.48 1.28 -1.41 1.32 -2.89 0.58 8.68 5.88 
+0.76 0.46 -0.37 1.43 -2.17 0.52 -1.32 -0.31 1.13 0.61 0.91 1.65 -2.21 0.83 0.54 1.63 
+-0.56 1.3 0.49 1.52 -2.23 -0.24 -9.91 -0.61 -0.43 1.65 -0.89 1.58 -3.34 1.34 -0.07 0.02 
+0.04 0.02 1.98 1.95 -1.96 0.87 0 0.8 0.04 0.02 0.15 -0.02 3.45 -1.52 -1.71 -1.91 
+2.91 -1.37 0.8 -1.58 0.39 -1.61 8.5 0.52 3.89 0.37 -0.39 -1.43 0.54 -1.26 -0.41 -1.52 
+1.97 -0.85 -0.82 -1.74 2.23 -0.65 0.41 -1.34 -2.21 -1.3 -7.45 -5.04 2.63 -0.67 1.39 -1.3 
+1.45 -1.26 1.52 -1.21 1.61 -1.17 6.88 3.54 2.82 1.63 0.98 -1.17 -1.43 -1.93 -2.82 -4.12 
+4.62 3.14 3.91 2.56 1.63 -0.54 1.52 -0.65 1.54 -0.62 1.58 -0.59 -0.67 -4.05 -0.12 -0.24 
+0.19 0.22 3.02 1.58 1.06 -1.84 -0.24 -0.8 -0.7 -5.99 2.04 -1.04 2.02 -1.37 -0.11 -2.3 
+-1.26 -2.15 -2.98 -0.52 -4.97 -5.1 -0.62 -0.62 -0.64 -2.47 -2.4 -7.25 -0.98 -1.2 -5.86 -7.86 
+-5.08 -9.5 -0.76 -0.76 -7.77 -8.03 -3.78 -9.98 -2.45 -2.23 -5.3 1.39 -5.86 0.3 -5.27 1.54 
+-8.48 -4.21 -0.61 -0.41 -7.38 -1.2 -7.62 -1.09 -3.52 -1.8 -8.44 -4.82 -3.71 -2.32 -9.66 -8.31 
+-3.47 -1.82 -2.23 4.6 -0.34 2.8 -3.63 5.5 1.93 6.33 6.14 10.29 8.18 8.98 10.48 7.4 
+5.95 8.33 -3.56 2.61 1.09 1.17 8.07 9.03 2.71 4.12 4.43 5.73 2.02 2.82 1.2 4.36 
+-2.06 2.23 -1.21 2.67 -0.91 2.73 2.39 2.49 6.4 4.28 4.4 3.19 2.63 1.97 -3.37 -0.61 
+-5.75 -0.13 -8.79 -0.61 -1.69 -0.21 -12.2 -1.73 -7.45 -5.23 -2.64 -4.7 -0.17 -0.13 -7.17 -7.16 
+-0.65 -4.64 -0.24 -0.43 -5.58 -7.47 -3.08 -2.75 -5.21 -7.7 1.45 -4.75 -0.43 -1.93 -4.97 -1.99 
+-4.14 3.16 -8.7 -1.15 -6.46 -9.83 -0.98 -1.24 -1.02 -0.29 -1.19 2.59 1.86 4.71 0.18 6.51 
+1.34 5.45 13.52 4 0.29 0.34 0 -0.73 -2.41 -6.79 5.86 2.52 3.43 3.41 -6.88 0.87 
+0 0.73 8.07 9.36 0.26 1.21 1.39 4.36 6.63 7.38 -4.97 2.19 -9.55 -1.17 -12.67 -5.23 
+-13.2 -3.97 -0.32 -0.13 0.24 0.39 7.96 8.34 -10.46 -1.15 -1.45 1.55 -1.98 4.51 -9.79 1.8 p f*
+7 193 59 rG
+2311.18 1714 -13.52 -1.3 10.5 -3.32 9.22 3.21 -6.2 1.41 f*
+255 135 0 rG
+2308.14 830.9 -8.55 4.15 5.96 -5.04 5.32 -1.93 -2.73 2.82 f*
+7 193 59 rG
+2307.83 1611.52 -4.12 -7.96 9.25 0.8 5.19 8.31 -1.96 -0.21 0 -0.98 -3.88 -6.25 -6.92 -0.61 
+3.06 5.97 5.79 0.65 1.95 0.24 0 0.98 -8.36 -0.93 f*
+2 239 204 rG
+2308.45 1610.59 -3.06 -5.97 6.92 0.61 3.88 6.25 -1.95 -0.24 0 -0.97 -2.58 -4.16 -4.62 -0.39 
+2.04 3.95 3.23 0.39 1.93 0.21 0 0.97 -5.79 -0.65 f*
+0 155 255 rG
+2309.07 1609.66 -2.04 -3.95 4.62 0.39 2.58 4.16 -1.93 -0.21 0 -1 -1.3 -2.09 -2.3 -0.19 
+1.02 1.97 2.58 0.3 0 1 -3.23 -0.39 f*
+255 0 r6
+2309.72 1608.75 -1.02 -1.97 2.3 0.19 1.3 2.09 -2.58 -0.3 f*
+255 203 0 rG
+2312.26 1691.47 -0.07 0.43 0.28 0.13 0.98 -0.02 -1.2 -0.54 f*
+2314.87 1719.08 -1.84 4.88 8.03 2.58 0.78 -3.29 -6.96 -4.17 f*
+255 135 0 rG
+2322.37 1645.46 -4.38 -0.41 3.41 4.62 2.19 -2.6 -1.22 -1.61 f*
+2320.72 1653.56 -1.69 1.49 1.39 0.98 2.26 0.11 -1.28 -1.71 -0.68 -0.87 f*
+7 193 59 rG
+2329.12 1722.46 -6.42 -4.79 1.93 -3.67 7.59 2.86 6.57 4.36 -6.45 2.41 -3.23 -1.17 f*
+255 135 0 rG
+2324.85 1637.8 -0.64 -0.2 0.5 0.52 12.7 5.27 9.84 3.32 -9.57 -4.04 -12.82 -4.88 f*
+0 255 r6
+2329.67 1649.2 -5.1 -6.55 12.43 1.91 8.46 5.66 -2.43 3.32 -7.77 1.15 0 -3.97 0.87 -0.3 
+4.93 -1.69 -4.43 -3 -6.53 -0.95 5.16 5.94 0 3.97 -0.83 0.13 -4.77 -5.62 f*
+255 135 0 rG
+2325.46 1744.57 -0.61 2.78 7 5.25 6.12 2.52 0 -0.78 -2.67 -1.11 -2.23 -0.93 -5.73 -5.47 
+0.11 -0.57 1.09 0.3 8.2 4.71 1.24 3.06 0 0.78 2.73 1.13 -2.28 -5.45 -7.64 -4.75 
+-5.34 -1.48 f*
+255 35 0 rG
+2327.45 1746.27 -0.11 0.57 5.73 5.47 2.23 0.93 0 -0.82 -1.04 -0.44 -1.45 -1.45 2.24 1.23 
+0.25 0.66 0 0.82 2.67 1.11 -1.24 -3.06 -8.2 -4.71 -1.09 -0.3 f*
+7 193 59 rG
+2330.41 1604.1 -2.59 -3.89 6.36 -0.02 -0.3 4.38 -1.79 -0.24 0 -1.02 0.07 -1.11 -1.56 0.02 
+0.65 0.95 0.84 0.13 0 1.02 -1.69 -0.24 f*
+110 210 9 rG
+2330.95 1625.33 -3.08 -6.91 6.59 1.52 3.62 4.23 -7.14 1.15 f*
+2333.55 1666.17 -4.17 -3.73 4.26 -0.2 13.54 3.32 13.63 1.99 11.13 0.2 0.05 0 2.61 -0.93 
+0.98 0.18 12.67 2.12 0.13 0.09 2.8 1.61 0.19 2.54 -3.12 -0.07 -13.71 -0.87 -5.86 -0.82 
+0 -1.24 -7.86 -1.84 -8.44 -1.02 8.44 2.09 7.86 0.78 0 1.24 -7.83 -1.11 -4.05 1.37 
+1.65 3.75 -10.33 2.13 -0.11 -0.02 0 -0.7 8.27 -1.69 -1.39 -3.76 -7.7 -4.82 -10.11 1.63 
+-2.23 3.73 13.04 4.86 0.13 0.04 0 0.7 -13.65 -2.23 -4.88 -4.34 4.21 -2.02 0.84 -1.26 
+-0.95 -1.69 f*
+2335.27 1650.71 -5.16 -5.94 6.53 0.95 4.43 3 -4.93 1.69 0 -3.06 0.56 -0.2 -0.41 -0.26 
+-0.61 -0.08 0.45 0.54 0 3.06 -0.87 0.3 f*
+7 193 59 rG
+2330.38 1739.7 -0.07 -3.67 6.99 2.19 5.45 4.84 11.22 2.91 -4.47 5.43 -2.93 -1 0 -1.06 
+1.11 -1.3 -6.23 -2.54 3.67 3.34 1.45 0.5 0 1.06 -3.12 -1.06 -5.88 -4.93 -7.18 -4.7 f*
+2 239 204 rG
+2331.25 1603.19 -0.65 -0.95 1.56 -0.02 -0.07 1.11 -0.84 -0.13 f*
+189 0 54 rG
+2335.05 1751.75 -2.24 -1.23 1.45 1.45 1.04 0.44 -0.25 -0.66 f*
+110 210 9 rG
+2341.08 1696.68 -8.25 -3.45 2.93 -4.21 1.76 -0.78 1.45 0.96 4.84 4.32 -2.73 3.17 f*
+0 255 r6
+2336.29 1617.45 -2.41 -6.79 5.86 2.52 3.43 3.41 -6.88 0.87 f*
+7 193 59 rG
+2347.85 1676.97 -13.04 -4.86 2.23 -3.73 10.11 -1.63 7.7 4.82 1.39 3.76 -8.27 1.69 -0.13 -0.04 
+0 -0.67 6.23 -1.26 -1.13 -3.78 -5.79 -3.62 -7.55 1.23 -1.61 3.78 9.75 3.61 0.11 0.04 
+0 0.67 f*
+2336.13 1647.35 -0.45 -0.54 0.61 0.08 0.41 0.26 -0.56 0.2 f*
+110 210 9 rG
+2347.44 1661.52 -10.7 -5.71 11.48 0.24 13.23 4.36 10.48 4.21 -5.08 -0.33 0 -0.78 -5.53 -2.24 
+-13.22 -4.67 -9.18 -0.17 8.55 4.54 13.61 2.14 0.7 0.04 5.07 0.35 0 0.78 -5.84 -0.34 
+-13.59 -2.43 f*
+2 239 204 rG
+2347.75 1676.26 -9.75 -3.61 1.61 -3.78 7.55 -1.23 5.79 3.62 1.13 3.78 -6.23 1.26 -0.11 -0.04 
+0 -0.68 4.16 -0.82 -0.87 -3.82 -3.86 -2.41 -5.04 0.82 -0.96 3.82 6.47 2.39 0.09 0.02 
+0 0.68 f*
+7 193 59 rG
+2347.48 1660.98 -8.55 -4.54 9.18 0.17 13.22 4.67 5.53 2.24 -5.07 -0.35 0 -0.8 -0.59 -0.24 
+-13.17 -4.95 -6.88 -0.11 6.41 3.39 9.5 1.3 4.13 0.57 0.61 0.04 0 0.8 -0.7 -0.04 
+-13.61 -2.14 f*
+255 135 0 rG
+2345.45 1607.01 -6.21 1.32 1.43 3.78 0.93 0.91 0 -1.98 -0.56 -1.47 2.45 -0.54 -0.45 1.89 
+-1.43 0.13 0 1.98 6.94 6.88 -1.65 4.1 0.52 0.61 2.73 5.95 3.15 5.99 1.28 1.76 
+1.63 3.71 0.43 0.26 0 -7.55 -0.72 -1.26 1.35 0.24 0.08 0.48 -0.71 0.54 0 7.55 
+8.66 4.99 0.28 0.15 0 -0.78 -4.9 -2.8 5.79 0.89 1.04 1.82 -1.65 0.09 -0.28 0 
+0 0.78 9.01 5.12 -3.5 0.48 -3.82 0.52 9.09 3.36 9.7 5 2.97 1.06 0.18 0.07 
+0 -0.89 -10.7 -5.19 11.63 1.82 7.62 3.34 -2.87 0 -5.68 0.02 0 0.89 8.68 3.95 
+-4.88 1.58 8.9 3.32 3.71 0.69 10.05 1.98 0 -0.84 -1.56 -0.3 -12.15 -2.17 -0.02 -0.02 
+-5.86 -2.14 4 -1.7 -7.95 -4.05 8.53 -0.48 -10.35 -4.52 -11.57 -4.41 12.35 2.21 5.18 0.5 
+6.77 -0.32 2.71 0.05 8.57 1.47 -5.14 -4.17 5.04 0.98 0 -1.28 -6.05 -1.21 -4.73 -3.45 
+5.57 -0.14 1.39 0.48 2.13 1.17 1.69 3.15 0 1.28 5.86 1.11 1.63 -1.39 -10.85 -5.9 
+-7.12 -2.41 -6.25 -0.04 -0.7 -0.26 -0.13 -0.13 0.57 -2.82 0.89 -2.71 2 -2.17 0.41 -3.21 
+-4.6 -6.36 -0.96 -1.24 -5.84 -8.79 -0.43 -0.48 -1.54 -6.45 -2.37 -4.55 -7.58 -9.18 -9.2 -8.22 
+-8.42 -8.79 -6.79 -9.83 -0.61 -1.97 3.69 -5.17 1.08 -8.4 0.22 -0.41 0.3 0.17 8.98 8.59 
+8.89 5.51 2.99 1.7 8.38 4.28 6.43 -0.48 3.88 0.7 5.6 3.99 6.86 1.15 5.19 -1.47 
+5.99 0.11 5.18 -1.39 0.09 0.09 0.24 0.7 2.43 9.59 -0.73 5.42 -3.35 -4.32 -7.92 -6.62 
+0.72 8.83 6.75 9.09 5.12 4.3 4.6 -0.02 3.69 -1.71 4 -1.15 2.25 4.05 2.67 7.2 
+-5.18 -2.45 0.56 6.42 4.3 4.1 0 -0.96 -0.98 -0.93 -2.54 -2.43 -0.39 -4.28 4.54 3.19 
+-0.63 4.45 0 0.96 0.96 0.91 2.52 -2.04 2.78 4.91 4.62 4.58 3.91 2.78 2.5 0.71 
+-1.73 1.41 -2.06 1.28 -0.95 3.3 0.02 4.38 -7.01 -7.7 -0.13 -0.18 0.04 0.2 4.71 9.22 
+0.35 2.04 -1.7 0.63 -1.63 0.65 -1.61 0.72 -1.8 0.5 -1.76 -1.15 -7.36 -5.05 3.28 5.47 
+0.17 1.82 -0.22 0.3 -0.13 -0.09 -9.18 -4.73 -1.69 1.22 -1.61 1.28 -1.52 1.32 -1.43 1.35 
+-3.1 0.49 -0.04 0 -1 0.31 -3.58 -0.37 1.63 2.73 4.9 2.28 -4.49 0.09 9.91 5.38 
+-4.84 0.04 2.04 2.2 -0.76 1.34 1.5 1.02 0.32 0.87 -0.58 -0.07 -11.33 -0.74 -0.46 1.7 
+-0.98 1.63 -1.82 0.72 -4.77 0.28 4.68 2.11 0.33 0.3 -0.33 0.13 0 0.84 0.04 0.02 
+1.96 -0.87 -1.98 -1.95 -0.04 -0.02 0.07 -0.02 3.34 -1.34 0.89 -1.58 0.43 -1.65 9.91 0.61 
+2.23 0.24 -0.49 -1.52 0.56 -1.3 -0.54 -1.62 2.21 -0.83 -0.91 -1.65 -1.13 -0.61 1.32 0.31 
+2.17 -0.52 0.37 -1.43 -0.76 -0.46 -8.68 -5.88 2.89 -0.58 1.41 -1.32 1.48 -1.28 1.56 -1.26 
+1.65 -1.19 8.05 4.14 1.46 0.84 1 -1.26 -0.59 -0.76 -3.67 -5.41 6.01 4.11 2.82 1.86 
+1.72 -0.52 1.56 -0.7 1.58 -0.63 1.63 -0.58 -0.5 -3.06 -2.47 -4.82 3.97 4.34 1.36 0.74 
+0.68 -1.28 -0.07 -1.63 -0.2 -5.52 2.04 -1.17 2.04 -1.52 -0.06 -1.04 -0.57 -0.95 -2.95 -0.7 
+-4.45 -3.95 P
+-2.61 -2.61 -2.8 -9.81 -6.45 -9.11 -4.34 -7.86 -3.34 2.97 -0.97 0.13 -3.45 0.39 -4.21 1.04 
+-1.33 -1.11 -1.45 -1.24 -7.21 -8.96 -0.61 -7.46 6.68 5.57 5.3 6.82 1.21 -8.12 -0.12 -0.39 
+-3.76 -10 -1.25 -1.15 -5.25 1.39 -5.9 0.08 -5.23 1.5 -8.13 -3.13 -2.24 -1.58 -6.05 -1.11 
+-7.01 -0.3 -5.95 -3.04 -5.73 -3.25 -6.29 -3.93 -9.33 -8.44 -1.89 -1 -1.21 2.49 -0.72 5.63 
+-3.67 5.32 1.28 4.14 6.46 10.07 8.29 8.87 9.85 7.84 7.14 9.48 0.8 1.54 -1.2 4.41 
+4.97 5.44 4.28 6.47 2.69 3.47 3.32 4.61 0.39 3.77 -2.04 2.22 -1.04 2.69 -0.74 2.78 
+1.25 1.3 8.95 5.95 1.91 1.37 4.63 3.47 -5.97 -1.04 -4.23 -0.11 -9.55 -0.52 -0.72 -0.09 
+-13.84 -2.02 -8.71 -6.14 -1.93 -3.34 -9.25 -5.16 1.11 -3.67 -0.48 -2.84 -9.98 -7.2 2.73 -3.41 
+-0.74 -0.67 -6.07 -9 1.15 -4.75 p f*
+255 35 0 rG
+2343.49 1609.03 -2.45 0.54 0.56 1.47 1.43 -0.12 0.45 -1.89 f*
+2 239 204 rG
+2347.55 1660.46 -6.41 -3.39 6.88 0.11 13.17 4.95 0.59 0.24 -0.61 -0.04 -4.12 -0.57 0 -0.52 
+-9.14 -3.49 -4.58 -0.07 4.27 2.25 4.8 0.65 4.64 0.65 0 0.52 -9.5 -1.3 f*
+0 155 255 rG
+2347.66 1675.57 -6.47 -2.39 0.96 -3.82 5.04 -0.82 3.86 2.41 0.87 3.82 -4.16 0.82 -0.09 -0.02 
+0 -0.7 2.08 -0.41 -0.61 -3.84 -1.93 -1.22 -2.52 0.43 -0.3 3.85 3.28 1.19 0 0.7 f*
+255 203 0 rG
+2345.86 1705.17 -4.52 1.34 6.32 1.32 1.58 -1.91 -3.38 -0.75 f*
+2 239 204 rG
+2345.12 1748.83 -3.67 -3.34 6.23 2.54 -1.11 1.3 -1.45 -0.5 f*
+0 155 255 rG
+2347.61 1659.94 -4.27 -2.25 4.58 0.07 9.14 3.49 -4.64 -0.65 0 -0.5 -4.58 -1.78 -2.28 -0.02 
+2.13 1.11 4.73 0.7 0 0.5 -4.8 -0.65 f*
+255 135 0 rG
+2347.33 1662.59 -3.12 -0.7 3.13 0.91 13.54 2.88 0.33 0 -0.3 -0.11 -13.56 -2.99 f*
+255 0 r6
+2347.66 1674.87 -3.28 -1.19 0.3 -3.85 2.52 -0.43 1.93 1.22 0.61 3.84 -2.08 0.41 f*
+2347.68 1659.39 -2.13 -1.11 2.28 0.02 4.58 1.78 -4.73 -0.7 f*
+255 135 0 rG
+2348.98 1681.83 -0.75 0 0.89 0.57 1.43 -0.34 -1.57 -0.22 f*
+255 203 0 rG
+2351.13 1740.67 -0.65 -0.11 0.07 0.28 0.41 0.09 0.17 -0.26 f*
+7 193 59 rG
+2352.56 1729.5 -1.8 -0.02 0.5 -1.2 2.28 0.52 -0.98 0.7 f*
+255 135 0 rG
+2351.7 1689.7 -0.43 -0.52 0.02 0.5 0.3 0.3 0.11 -0.28 f*
+7 193 59 rG
+2362.33 1681.46 -10.61 -3.04 9.76 -1.22 13.65 0.63 11.83 3.02 -10.7 2.13 -0.18 -0.02 0 -0.63 
+8.04 -1.56 -8.88 -2.3 -13.67 -0.72 -7.31 0.93 7.96 2.26 13.7 1.37 0.17 0.02 0 0.63 
+-13.75 -1.5 f*
+255 35 0 rG
+2355.88 1563.65 -3.69 5.17 0.61 1.97 6.79 9.83 8.42 8.79 9.2 8.22 7.58 9.18 2.37 4.55 
+1.54 6.45 0.43 0.48 5.84 8.79 0.96 1.24 4.6 6.36 -0.41 3.21 -2 2.17 -0.89 2.71 
+-0.57 2.82 0.13 0.13 0.7 0.26 6.25 0.04 7.12 2.41 10.85 5.9 -1.62 1.39 -5.86 -1.11 
+-5.04 -0.98 5.14 4.17 -8.57 -1.47 -2.71 -0.05 -6.77 0.32 -5.18 -0.5 -12.35 -2.21 11.57 4.41 
+10.35 4.52 -8.53 0.48 7.95 4.05 -4 1.7 5.86 2.14 0.02 0.02 0 -0.67 -2.82 -1.04 
+3.08 -1.76 0.33 0.04 -0.33 -0.08 -1.34 -2.5 1.95 -0.84 2.45 -0.46 -2.04 -1.07 -12.79 -5.01 
+-4.34 -1.61 4.63 0.81 9.63 0.86 3.97 -1.17 1.21 0.02 11.18 1.89 -0.89 -2.43 4.64 0.87 
+4.42 2.45 -1.43 1.32 0.58 1.95 -0.89 1.47 1.52 2.04 -7.05 0.23 -0.48 1.74 -1.09 1.65 
+-0.09 0.02 -0.15 0.06 -9.5 0.52 -4.38 0 0 0.67 12.15 2.17 1.56 0.3 0.33 -0.13 
+-0.33 -0.3 -4.68 -2.11 4.77 -0.28 1.82 -0.72 0.98 -1.62 0.46 -1.7 11.33 0.74 0.58 0.07 
+-0.32 -0.87 -1.5 -1.02 0.76 -1.34 -2.04 -2.2 4.84 -0.04 -9.91 -5.38 4.49 -0.09 -4.9 -2.28 
+-1.62 -2.73 3.58 0.37 1 -0.31 0.04 0 0 -0.82 -4.95 -1.74 -4.12 0.33 -4.93 -1.67 
+-12.8 -4.41 -0.02 0 0.76 -2.76 1.95 -2.14 1.23 -2.65 -3.03 -5.67 -2.32 -2.88 -3.28 -5.46 
+-3.11 -4.76 -0.96 -3.45 -3.9 -7.55 -8.03 -8.86 -8.55 -8.62 -8.51 -8.72 -6.38 -8.6 -0.43 -1.21 
+3.45 -4.58 3.26 -5.99 4.77 4.58 11.48 7.07 0.26 0.16 10.8 5.46 5.84 -1.24 1.71 0.31 
+8.98 6.36 5.58 -0.83 5.16 -1.43 2.3 0.02 5.88 4.67 3.41 3.86 -0.33 2.28 -1.39 -1.82 
+-9.16 -7.66 0.82 10.21 6.32 9.27 7.43 6.21 5.03 0.95 2.93 -2.89 4.67 0.67 0.15 0.26 
+0.17 0.48 -3.21 2.25 0.74 8.57 7.01 6.68 2.78 1.34 3.55 4.97 3.52 1.43 3.36 1.65 
+0.02 0 -0.02 0 -2.06 1.39 -2.12 1.08 -0.5 2.11 -0.28 1.25 -3.47 -3.86 -4.02 -4.29 
+1.63 5.01 5.38 9.03 0.17 1.02 -1.71 0.63 -1.69 0.67 -1.65 0.74 -1.89 0.5 -0.67 -0.45 
+-8.75 -6.01 0.65 3.29 -0.8 1.8 -5.76 -1.95 -1.71 1.24 -1.65 1.3 -1.54 1.34 -1.5 1.39 
+-1.54 0.22 -0.43 0.07 0 0.82 3.1 -0.49 1.43 -1.35 1.52 -1.32 1.61 -1.28 1.69 -1.22 
+9.18 4.73 0.13 0.09 0.22 -0.3 -0.17 -1.82 -3.28 -5.47 7.36 5.05 1.76 1.15 1.8 -0.5 
+1.61 -0.72 1.63 -0.65 1.7 -0.63 -0.35 -2.04 -4.71 -9.22 -0.04 -0.2 0.13 0.18 7.01 7.7 
+-0.02 -4.38 0.95 -3.3 2.06 -1.28 1.73 -1.41 -2.5 -0.71 -3.91 -2.78 -4.62 -4.58 -2.78 -4.91 
+-2.52 2.04 -5.26 -5.01 -0.56 -6.42 5.18 2.45 -2.67 -7.2 -2.25 -4.05 -4 1.15 -3.69 1.71 
+-4.6 0.02 -5.12 -4.3 -6.75 -9.09 -0.72 -8.83 7.92 6.62 3.35 4.32 0.73 -5.42 -2.43 -9.59 
+-0.24 -0.7 -0.09 -0.09 -5.18 1.39 -5.99 -0.11 -5.19 1.47 -6.86 -1.15 -5.6 -3.99 -3.88 -0.7 
+-6.43 0.48 -8.38 -4.28 -2.99 -1.7 -8.89 -5.51 -8.98 -8.59 -0.3 -0.17 -0.22 0.41 -1.08 8.4 f*
+7 193 59 rG
+2360.8 1669.57 -8.44 -2.09 8.44 1.02 7.86 1.84 -7.86 -0.78 f*
+189 0 54 rG
+2357.4 1565.54 -3.45 4.58 0.43 1.21 6.38 8.6 8.51 8.72 8.55 8.62 8.03 8.86 3.9 7.55 
+0.96 3.45 3.11 4.76 3.28 5.46 2.32 2.88 3.03 5.67 -1.23 2.65 -1.95 2.14 -0.76 2.76 
+0.02 0 12.8 4.41 4.93 1.67 4.13 -0.33 4.95 1.74 0.43 -0.07 0 -0.39 -8.86 -3.12 
+-2.89 1.07 -2.45 -0.85 -12.11 -5.27 0.37 -1.3 1.95 -2.13 1.63 -2.34 -0.43 -3.82 -4.95 -6.12 
+-1.65 -2.71 -4.82 -7.33 -0.47 -1.74 -4.71 -9.01 -8.25 -8.72 -7.07 -7.51 -0.84 -1.48 -1.65 -1.16 
+-7.23 -7.34 -2.02 -2.67 -2.89 -8.16 1.74 -2.28 4.55 -4.17 2.18 2.06 9.78 8.16 5.52 3.05 
+8.42 2.13 5.51 -1.65 0.66 0.11 10.67 7.55 4.93 -1.8 5.14 -1.43 0.41 0 8.94 7.1 
+1.09 1.19 -0.11 0.72 -0.43 -0.59 -9.77 -8.18 0.89 10.92 6.07 9.33 8.6 7.18 2.41 0.46 
+6.05 9.13 0.13 0.13 0 -10.09 -2.17 -0.32 1.37 -1.34 2.32 0.39 -1.52 1.28 0 10.09 
+2.58 2.32 6.14 4.75 1.35 0.65 6.27 8.9 -1.04 2.65 -1.74 -1.93 -5.92 -6.36 2.39 7.45 
+5.75 8.92 0.09 0.5 -1.76 0.66 -1.71 0.67 -1.67 0.74 -1.91 0.5 -0.15 -0.11 -9.42 -6.49 
+-0.67 2.21 -1.37 1.48 -3.78 -0.37 -1.73 1.25 -1.67 1.32 -1.56 1.35 -1.5 1.41 -0.99 0.13 
+0 0.39 1.54 -0.22 1.5 -1.39 1.54 -1.34 1.65 -1.3 1.71 -1.24 5.76 1.95 0.8 -1.8 
+-0.65 -3.29 8.75 6.01 0.67 0.45 1.89 -0.5 1.65 -0.74 1.69 -0.67 1.71 -0.63 -0.17 -1.02 
+-5.38 -9.03 -1.62 -5.01 4.02 4.29 3.47 3.86 0.28 -1.25 0 -3.61 1.8 -1.52 1.63 0.78 
+-1 0.7 -2.43 0.04 0 3.61 0.5 -2.11 2.13 -1.08 2.06 -1.39 0.02 0 -0.02 0 
+-3.36 -1.65 -3.52 -1.43 -3.55 -4.97 -2.78 -1.34 -7.01 -6.68 -0.74 -8.57 3.21 -2.25 -0.17 -0.48 
+-0.15 -0.26 -4.67 -0.67 -2.93 2.89 -5.03 -0.95 -7.43 -6.21 -6.32 -9.27 -0.82 -10.21 9.16 7.66 
+1.39 1.82 0.33 -2.28 -3.41 -3.86 -5.88 -4.67 -2.3 -0.02 -5.16 1.43 -5.58 0.83 -8.98 -6.36 
+-1.71 -0.31 -5.84 1.24 -10.8 -5.46 -0.26 -0.16 -11.48 -7.07 -4.77 -4.58 -3.26 5.99 f*
+2 239 204 rG
+2362.21 1680.95 -7.96 -2.26 7.31 -0.93 13.67 0.72 8.88 2.3 -8.04 1.56 -0.17 -0.02 0 -0.63 
+5.38 -1.02 -5.95 -1.55 -13.66 -0.8 -4.89 0.63 5.3 1.5 13.67 1.21 0.15 0.02 0 0.63 
+-13.7 -1.37 f*
+255 35 0 rG
+2357.27 1633.7 -1.35 -0.24 0.72 1.26 0.71 -0.54 -0.08 -0.48 f*
+0 255 r6
+2363.71 1651.34 -7.57 -5.36 8.9 1.91 6.05 3.47 -3.49 -0.02 0 -1.2 -2.82 -1.62 -4.17 -0.87 
+3.54 2.47 3.45 0.02 0 1.2 -3.89 0 f*
+87 0 136 rG
+2358.16 1566.47 -1.74 2.28 2.89 8.16 2.02 2.67 7.23 7.34 1.65 1.16 0.84 1.48 7.07 7.51 
+8.25 8.72 4.71 9.01 0.47 1.74 4.82 7.33 1.65 2.71 4.95 6.13 0.43 3.82 -1.63 2.34 
+-1.95 2.13 -0.37 1.3 12.11 5.27 2.45 0.85 2.89 -1.07 8.86 3.13 0.99 -0.13 1.5 -1.41 
+1.56 -1.35 1.67 -1.32 1.73 -1.25 3.78 0.37 1.37 -1.48 0.67 -2.21 9.42 6.49 0.15 0.11 
+1.91 -0.5 1.67 -0.74 1.71 -0.67 1.76 -0.66 -0.09 -0.5 -5.75 -8.92 -2.39 -7.45 5.92 6.36 
+1.74 1.93 1.04 -2.65 -6.27 -8.9 -1.35 -0.65 -6.14 -4.75 -2.58 -2.32 -0.13 -0.13 -6.05 -9.13 
+-2.41 -0.46 -8.6 -7.18 -6.07 -9.33 -0.89 -10.92 9.77 8.18 0.43 0.59 0.11 -0.72 -1.09 -1.19 
+-8.94 -7.1 -0.41 0 -5.14 1.43 -4.93 1.8 -10.67 -7.55 -0.66 -0.11 -5.51 1.65 -8.42 -2.13 
+-5.52 -3.05 -9.78 -8.16 -2.18 -2.06 -4.55 4.17 f*
+0 155 255 rG
+2362.09 1680.45 -5.3 -1.5 4.89 -0.63 13.66 0.8 5.95 1.55 -5.38 1.02 -0.15 -0.02 0 -0.62 
+2.69 -0.5 -2.97 -0.79 -13.71 -0.89 -2.43 0.33 2.64 0.74 13.79 1.11 0 0.63 -13.67 -1.21 f*
+110 210 9 rG
+2363.96 1688.82 -5.82 -2.64 5.14 -1.26 8.82 1.56 -7.31 2.74 -0.84 -0.39 0 -1.89 1.49 -0.54 
+-1.8 -0.35 -1.04 0.29 1.35 0.61 0 1.89 f*
+255 203 0 rG
+2360.87 1671.4 -2.19 0.76 1.91 3.71 0.39 0.13 0 -2.8 -0.39 -0.76 0.33 -0.12 1.93 0.45 
+-1.86 0.43 0 2.8 0.32 0.13 2.95 0.15 9.34 -2.12 -12.72 -2.76 f*
+110 210 9 rG
+2362.24 1656.42 -3.19 -1.87 3.64 0.13 13.11 4.36 0.97 0.5 -1.21 0.48 -13.33 -3.61 f*
+255 0 r6
+2361.98 1679.93 -2.64 -0.74 2.43 -0.33 13.71 0.89 2.97 0.79 -2.69 0.5 -13.79 -1.11 f*
+255 135 0 rG
+2360.92 1672.31 -0.33 0.13 0.39 0.76 1.86 -0.43 -1.93 -0.45 f*
+110 210 9 rG
+2364.15 1650.13 -3.54 -2.47 4.17 0.87 2.82 1.63 -3.45 -0.02 f*
+255 35 0 rG
+2366.47 1644.73 -5.79 -0.89 4.9 2.8 0.28 0 0 -0.61 -0.71 -0.41 0.82 0.13 0.15 0.26 
+-0.26 0.02 0 0.61 1.65 -0.09 -1.04 -1.82 f*
+189 0 54 rG
+2368.29 788.54 -7.01 1.37 10.7 -4.06 12.09 -2.06 -10.72 3.75 -5.06 1 0 -0.65 4.6 -0.85 
+4.08 -1.48 -4.6 0.83 -4.08 1.5 0 0.65 f*
+7 193 59 rG
+2363.96 1686.93 -1.35 -0.61 1.04 -0.29 1.8 0.35 -1.49 0.54 f*
+110 210 9 rG
+2367.21 1694.57 -4.54 -1.21 2.13 -2 0.63 -0.61 4.71 2.32 -2.93 1.5 f*
+189 0 54 rG
+2365.97 1645.75 -0.82 -0.13 0.71 0.41 0.26 -0.02 -0.15 -0.26 f*
+0 255 r6
+2380.08 1770.46 -12.13 1.47 1.26 5.27 8.5 0.13 0 -1 -2.43 -0.04 -4.43 -0.06 -0.83 -3.3 
+7.66 -0.93 0.02 4.34 0 1 2.46 0.02 -0.09 -6.9 f*
+255 35 0 rG
+2372.89 787.04 -4.6 0.85 4.08 -1.5 4.6 -0.83 -4.08 1.48 f*
+255 203 0 rG
+2377.69 1772 -7.66 0.93 0.83 3.3 4.43 0.06 0 -1 -2.8 -0.07 -0.33 -1.34 3.13 -0.37 
+0 2.78 2.43 0.04 -0.02 -4.34 f*
+7 193 59 rG
+2374.16 1602.11 -3.82 0.13 0.79 -5.59 3.69 2.54 1.97 2.82 -2.62 0.11 0 -2.5 0.06 0 
+-0.02 -0.04 -0.02 -0.02 -0.02 0.07 0 2.5 f*
+2374.02 1757.79 -3.14 -3.6 7.62 1.17 5.57 4.21 0.22 1.54 -2.69 0 -7.58 -3.32 f*
+255 135 0 rG
+2375.29 1773.52 -3.13 0.37 0.33 1.34 2.8 0.07 0 -1.78 f*
+255 203 0 rG
+2376.13 1735.79 -2.21 2.71 6.7 2.78 5.45 0.82 -2.43 -2.28 -5.04 -3.3 -2.47 -0.74 f*
+2 239 204 rG
+2374.21 1599.61 -0.06 0 0.02 -0.07 0.02 0.02 0.02 0.04 f*
+7 193 59 rG
+2384.79 1701.21 -9.22 -1.78 6.45 -3.12 10.46 0.8 -7.17 4.21 -0.52 -0.11 0 -0.61 5.4 -3.14 
+-7.86 -0.61 -4.82 2.34 6.77 1.3 0.5 0.11 0 0.61 f*
+2389.11 1680.45 -11.7 -2.93 11.11 -0.93 8.13 2.09 -7.42 1.8 -0.13 -0.02 0 -0.52 5.6 -1.35 
+-6.12 -1.59 -8.33 0.74 8.75 2.17 0.11 0.02 0 0.52 f*
+2 239 204 rG
+2384.29 1700.5 -6.77 -1.3 4.82 -2.34 7.86 0.61 -5.4 3.14 -0.5 -0.11 0 -0.61 3.62 -2.09 
+-5.25 -0.43 -3.19 1.59 4.34 0.83 0.48 0.11 0 0.61 f*
+110 210 9 rG
+2388.37 1667.32 -10.29 -4.41 10.76 1.07 4.76 2.19 -5.12 1.13 0 -0.91 0.13 -0.02 2.84 -0.62 
+-2.71 -1.24 -6.08 -0.59 5.82 2.47 0 0.91 -0.11 0.02 f*
+255 203 0 rG
+2389.21 1662.13 -10.7 -5.19 11.63 1.82 7.62 3.34 -2.87 0 0 -0.71 -4.9 -2.17 -7.47 -1.13 
+6.86 3.3 5.51 0 0 0.71 -5.68 0.02 f*
+0 155 255 rG
+2383.81 1699.79 -4.34 -0.83 3.19 -1.59 5.25 0.43 -3.62 2.09 -0.48 -0.11 0 -0.61 1.82 -1.04 
+-2.64 -0.21 -1.59 0.8 2.41 0.45 0 0.61 f*
+255 203 0 rG
+2388.37 1675.29 -8.86 -0.48 8.92 0.93 12.17 3.06 2.26 1.52 1.63 -1.41 -2 -0.37 -13.67 -2.87 
+-0.46 -0.39 f*
+2 239 204 rG
+2389 1679.91 -8.75 -2.17 8.33 -0.74 6.13 1.59 -5.6 1.35 -0.11 -0.02 0 -0.52 3.73 -0.89 
+-4.08 -1.06 -5.55 0.5 5.8 1.43 0.11 0.02 0 0.52 f*
+255 0 r6
+2383.81 1699.18 -2.41 -0.45 1.59 -0.8 2.64 0.21 -1.82 1.04 f*
+0 255 r6
+2389.39 1661.39 -6.86 -3.3 7.47 1.13 4.9 2.17 -2.89 0 0 -0.74 -2.17 -0.96 -3.28 -0.48 
+3.02 1.43 2.43 0 0 0.74 -2.62 0 f*
+189 0 54 rG
+2386.79 754.54 -4.14 -2.21 5.43 -1.67 12.8 0.14 7.86 2.34 -1.54 1.48 -10.39 0.61 -4.23 0.2 
+0 -0.93 10.51 -0.35 0.21 -1.75 -3.69 -1.07 -5.91 -0.09 -6.77 1.39 5.64 1.87 0 0.93 
+-2.04 0.11 -3.73 -0.98 f*
+7 193 59 rG
+2388.48 1666.38 -5.82 -2.47 6.08 0.59 2.71 1.24 -2.84 0.63 0 -0.91 0.67 -0.15 -0.61 -0.29 
+-1.43 -0.12 1.37 0.56 0 0.91 -0.13 0.02 f*
+0 155 255 rG
+2388.89 1679.36 -5.8 -1.43 5.55 -0.5 4.08 1.06 -3.73 0.89 -0.11 -0.02 0 -0.52 1.86 -0.43 
+-2.04 -0.54 -2.78 0.25 2.95 0.72 0 0.52 f*
+255 0 r6
+2388.89 1678.84 -2.95 -0.72 2.78 -0.25 2.04 0.54 -1.86 0.43 f*
+189 0 54 rG
+2390.73 1657.04 -4.62 -0.81 4.34 1.61 12.79 5.01 2.04 1.07 -2.45 0.46 -1.95 0.84 1.34 2.5 
+0.33 0.08 -0.33 -0.04 -3.08 1.76 2.82 1.04 0.02 0 0 -0.32 -1.32 -0.48 1.43 -0.83 
+1.93 1.3 -2.04 0 0 0.32 4.37 0 9.5 -0.52 0.15 -0.06 0 -1.11 -6.01 -1.85 
+2.04 -1.61 -7.64 -3.97 -0.63 -0.26 -2.32 -0.52 -10.89 -3.04 -0.72 -0.26 0.76 0.11 11.85 1.06 
+2.55 -1.58 0.46 0 12.48 2.08 1.28 -1.56 0.93 0.15 0.91 0.52 0.24 1.99 -0.11 1.82 
+-0.95 1.57 0.13 1.82 -3.41 1.09 -0.48 1.75 -0.48 0.68 0 1.11 0.09 -0.02 1.09 -1.65 
+0.48 -1.74 7.05 -0.23 -1.52 -2.04 0.89 -1.47 -0.58 -1.95 1.43 -1.32 -4.42 -2.45 -4.64 -0.87 
+0.89 2.43 -11.18 -1.89 -1.21 -0.02 -3.97 1.17 -9.63 -0.86 f*
+110 210 9 rG
+2389.58 1660.66 -3.02 -1.43 3.28 0.48 2.17 0.96 -2.43 0 f*
+255 35 0 rG
+2392.55 754.47 -5.64 -1.87 6.77 -1.39 5.91 0.09 3.69 1.07 -0.21 1.75 -10.51 0.35 f*
+2 239 204 rG
+2388.61 1665.45 -1.37 -0.56 1.43 0.13 0.61 0.29 -0.67 0.15 f*
+0 255 r6
+2394.04 1779.69 -6.04 0.72 1.58 3.02 5.71 -0.46 -1.25 -3.28 f*
+87 0 136 rG
+2390.58 1657.46 -0.76 -0.11 0.72 0.26 10.89 3.04 2.32 0.52 0.63 0.26 7.64 3.97 -2.04 1.61 
+6.01 1.85 0.48 -0.68 0.48 -1.75 3.41 -1.09 -0.13 -1.82 0.95 -1.57 0.11 -1.82 -0.24 -1.99 
+-0.91 -0.52 -0.93 -0.15 -1.28 1.56 -12.48 -2.08 -0.46 0 -2.55 1.58 -11.85 -1.06 f*
+0 255 r6
+2399.66 1756.54 -5.08 -0.16 1.35 3 7.66 2.28 -1.11 6.86 1.04 2.69 4.58 -0.8 0.29 -3.84 
+-1.84 -5.4 8.74 -1.55 7.01 2 8 -1.86 -4.51 -2.43 -4.28 -4.34 -7.4 1.96 -6.42 3.12 
+-8.03 -1.52 f*
+7 193 59 rG
+2398 1776.24 -2.04 -1.43 3.23 0.34 1.91 1.43 -3.1 -0.34 f*
+87 0 136 rG
+2402.08 1668.92 -1.43 0.83 1.32 0.48 2.04 0 -1.93 -1.3 f*
+0 255 r6
+2405.38 1687.59 -4.64 0.56 4.77 -0.3 0.71 -0.21 -0.84 -0.04 f*
+255 203 0 rG
+2408.16 1652.13 -4.73 -3.45 5.57 -0.14 1.39 0.48 2.13 1.17 1.69 3.15 -6.05 -1.21 f*
+0 155 255 rG
+2414.61 1550.67 -1.39 8.12 7.12 6.01 6.17 -0.5 5.64 -0.32 0 -1.5 -0.46 -0.04 -6.04 -0.39 
+-6.57 -0.3 -4.04 -3.41 0.8 -4.58 5.71 -3.04 5.58 -4.06 6.83 -0.34 8.29 6.32 0.5 0.54 
+-0.21 0.65 -4.3 8.07 -6.1 0.58 0 1.5 0.48 -0.04 5.96 -0.79 5.08 -4.47 2.09 -5.88 
+-4.62 -5.05 -7.5 -2.7 -7.01 -0.11 -5.86 3.49 -6.14 2.23 f*
+2 239 204 rG
+2415.84 1553.75 -0.8 4.58 4.04 3.41 6.57 0.3 6.04 0.39 0 -1.41 -0.48 -0.09 -6.38 -1.12 
+-7.01 -1.13 -0.93 -0.8 0.2 -1.05 5.27 -3.84 5.32 -4.6 6.62 -0.8 7.18 5.75 -3.58 7.31 
+-6.21 0.37 0 1.41 0.46 0.04 6.1 -0.58 4.3 -8.07 0.21 -0.65 -0.5 -0.54 -8.29 -6.32 
+-6.83 0.34 -5.58 4.06 -5.71 3.04 f*
+7 193 59 rG
+2417.08 1556.83 -0.2 1.05 0.93 0.8 7.01 1.13 6.38 1.13 0 -1.39 -7.21 -2 -3.02 -0.61 
+2.2 -1.7 5.01 -5.14 6.45 -1.26 5.8 4.64 -2.91 5.9 -0.35 0 -5.96 0.16 0 1.39 
+0.48 0.09 6.21 -0.37 3.58 -7.31 -7.18 -5.75 -6.62 0.8 -5.32 4.6 -5.27 3.84 f*
+0 255 r6
+2418.42 1591.02 -0.49 -6.08 5.46 4.56 5.77 9.42 -2.63 1.34 -0.48 -0.41 -0.8 -0.96 0 -0.89 
+-2.43 -8.33 -4.23 -3.52 0.36 4.69 4.99 5.71 1.3 1.45 0 0.89 -6.84 -7.88 f*
+110 210 9 rG
+2418.96 1590.84 -0.36 -4.69 4.23 3.52 2.43 8.33 -1.3 -1.45 0 -0.8 -1.71 -5.93 -3 -2.47 
+0.29 3.32 3.14 3.63 1.28 1.45 0 0.8 -4.99 -5.71 f*
+7 193 59 rG
+2419.54 1590.67 -0.29 -3.32 3 2.47 1.71 5.93 -1.28 -1.45 0 -0.78 -1 -3.52 -1.78 -1.45 
+0.18 1.95 1.34 1.54 1.26 1.48 0 0.78 -3.14 -3.62 f*
+2 239 204 rG
+2420.07 1590.5 -0.18 -1.95 1.78 1.45 1 3.52 -1.26 -1.48 0 -0.8 -0.3 -1.07 -0.54 -0.43 
+0.04 0.59 0.8 0.91 0 0.8 -1.34 -1.54 f*
+0 155 255 rG
+2420.62 1590.32 -0.04 -0.59 0.54 0.43 0.3 1.07 -0.8 -0.91 f*
+110 210 9 rG
+2423.18 1555.25 -2.2 1.7 3.02 0.61 7.21 2 5.96 -0.16 0 -1.25 -0.34 0 -6.1 -0.05 
+-5.9 -1.95 3.91 -4.34 6.23 -1.69 4.43 3.54 -2.22 4.5 0 1.25 0.35 0 2.91 -5.9 
+-5.8 -4.64 -6.45 1.26 -5.01 5.14 f*
+2 239 204 rG
+2425.2 1769.27 -1.47 -2.78 4.34 -1.2 4.46 3.28 -7.33 0.7 f*
+0 255 r6
+2428.73 1551.8 -3.91 4.34 5.9 1.95 6.1 0.05 0 -1.26 -0.35 0 -6.23 -0.26 -2.93 -0.97 
+1.96 -2.13 6.03 -2.15 3.04 2.41 -1.52 3.1 0 1.26 0.34 0 2.22 -4.5 -4.43 -3.54 
+-6.23 1.69 f*
+255 203 0 rG
+2429.28 1553.52 -1.96 2.13 2.93 0.97 6.23 0.26 0 -1.26 -0.34 -0.02 -6.23 -0.43 5.75 -2.54 
+1.65 1.32 -0.83 1.67 0 1.26 0.35 0 1.52 -3.1 -3.04 -2.41 -6.03 2.15 f*
+255 135 0 rG
+2435.66 1552.63 -5.75 2.54 6.23 0.43 0 -1.22 -1.07 -0.09 0.93 -0.41 0.26 0.22 -0.13 0.28 
+0 1.22 0.34 0.02 0.83 -1.67 -1.65 -1.32 f*
+0 255 r6
+2435.53 1598.89 -4.54 -0.52 1.96 -4.95 4.27 3.37 -1.69 2.11 f*
+255 35 0 rG
+2436 1553.88 -0.93 0.41 1.07 0.09 0.13 -0.28 -0.26 -0.22 f*
+189 0 54 rG
+2436.22 758.38 -0.54 -1.34 1.21 -1 1.84 -0.87 2.84 -0.52 5.21 0.5 4.1 0.29 -0.22 -1.87 
+0.37 -1.89 3.86 0.17 7.79 4.26 3.99 4.86 -0.5 0.84 -0.45 -0.15 0 -0.18 -0.26 -1.52 
+-3.17 -3.82 -6.1 -3.36 -4.67 -0.8 2.2 3.28 1.49 1.98 4.41 1.47 5.17 2.37 0.93 0.41 
+0 0.18 -3.19 -1.15 -4.16 -1.21 0.04 1.17 1.19 1.52 -0.91 0.43 -1.73 0.11 -0.36 0 
+0 -0.96 0.71 -0.61 -3.6 -2.74 -0.3 -0.63 -1.78 -0.32 -7.62 -1.74 -3.04 0.36 -1.13 1 
+-0.02 1.22 3.35 1.95 0.45 0.16 0.56 0.13 6.6 0.93 1.54 0.11 1.85 0.13 2.43 0.04 
+0 0.96 -1.85 0.02 -3.75 -0.37 -8.18 -1.64 -6.59 -2.15 f*
+87 0 136 rG
+2439 1606.12 -1.37 1.34 2.17 0.32 1.52 -1.28 -2.32 -0.39 f*
+255 35 0 rG
+2443.17 760.07 -3.35 -1.95 0.02 -1.22 1.13 -1 3.04 -0.36 7.62 1.74 1.78 0.32 0.3 0.63 
+3.6 2.74 -0.71 0.61 -2.43 -0.04 -1.85 -0.13 0 -1.48 0.33 -0.96 -1.3 -0.93 -2.52 -0.63 
+-3.43 0 0.24 1.28 0.67 0.7 2.21 0.23 3.8 0.31 0 1.48 -1.54 -0.11 -6.6 -0.93 
+-0.56 -0.13 -0.45 -0.16 f*
+255 203 0 rG
+2442.58 1616.91 -0.39 -4.28 4.54 3.19 -0.63 4.45 -0.98 -0.93 0 -0.95 0.33 -2.24 -2.28 -1.61 
+0.19 2.15 0.8 0.79 0.96 0.91 0 0.95 -2.54 -2.43 f*
+0 255 r6
+2443.36 1616.69 -0.19 -2.15 2.28 1.61 -0.33 2.24 -0.96 -0.91 0 -1 -0.02 -0.02 0 0.02 
+^ 0 0.98 -0.8 -0.79 f*
+110 210 9 rG
+2449.67 1771.53 -6.05 7.05 3.08 1.19 8.47 2.19 7.53 -1.39 1.98 -0.91 8.89 -3.09 6.68 4.47 
+-0.43 7.57 2.89 2.11 10.07 0.45 10 3.71 1.52 0.76 11.29 0.54 9.66 -3.27 11.2 -0.68 
+12.29 2.08 2.43 0.52 12.57 3.02 6.38 5.75 6.23 0.52 13.21 0.54 5.1 0.05 0 -0.8 
+-3 -0.02 -16.17 -0.65 -0.33 -0.02 -3.04 -0.26 -5.44 -4.75 -1.06 -0.93 -13.76 -3.78 -3.45 -1.73 
+-4.38 -0.22 -8.36 -0.41 -1.54 0.07 -6.99 0.29 -4.6 -6.86 -1.87 -0.06 -0.16 0.43 2.15 7.29 
+-7.57 2.8 -0.48 -0.02 -8 -0.54 -2.98 -1.15 -11.04 -3.3 -9.94 -0.67 -1.11 -0.8 0.45 -7.57 
+-8.38 -5.56 -8.48 1.3 -7.51 3.43 -2.06 0.34 -3.36 -0.87 4.53 -3.47 2.8 -3.65 6.45 -1.15 
+8.07 -4.18 3.54 -1.76 3.73 -0.91 7.03 -1.02 7.16 0.11 7.25 -0.17 7.12 -0.8 6.32 -2.41 
+6.64 -1.61 6.95 -1.28 1.76 -7.12 5.27 -2.5 5.73 -2.04 0.3 -0.56 3.8 -2.78 4.36 -2.99 
+2.28 -4.17 -0.24 -5.21 -0.61 -0.39 -2.74 -6.08 8.27 3.41 11.72 1.4 5.95 -2.43 3.43 -3.43 
+1.87 -0.57 11.94 -0.28 -7.4 -4.05 -7.12 -3.76 -2.58 -1.67 -0.39 -2.86 3.63 -2.95 3.25 -1.98 
+3.23 -0.7 -1.67 -1.52 0.02 -2.3 0.05 -3.47 -2.2 -3.49 -5.29 -2.15 -8.48 -1.67 -3.59 -2.37 
+-0.11 -0.52 0.52 -0.54 3.52 -2.09 -2.69 -0.41 -13.33 -1.34 -4.27 -0.76 4.77 -2.2 -3.58 -2.02 
+-9.48 -0.91 -4.25 -0.35 0.15 -1.69 4.25 -0.91 13.76 -0.96 0.78 0.04 3 1.97 0.09 2.32 
+9.29 1.78 9.98 -3.43 0.09 -2.9 -0.56 -2.8 -0.13 -2.89 2.28 -3.45 1.67 -1.99 3.71 -2.47 
+4.26 -4.61 0.95 -3.82 1.19 -2.59 2.56 -2.52 4.02 -5.64 -0.39 -4.01 -11.75 2.11 -1.58 0.34 
+0.18 -2.34 1.32 -2.41 8.62 -6.05 8.18 -8.45 -4.21 -2.45 -3.71 -2.71 -1.25 -4.62 -7.09 -0.07 
+-7.51 3.28 -1.15 3.58 -6.45 5.91 -3.71 6.11 1.43 3.13 -2.73 2.95 -2.76 0.89 -1.49 0.48 
+-3.41 -1.49 2.32 -4.86 3 -2.76 0.89 -5.12 1.89 -2.91 10.16 -7.42 4.53 -3.34 7.57 -2.71 
+1.83 -5.55 -2.63 -1.5 -1.8 -1 -0.89 -6.14 -3.04 -4.21 0.11 -0.24 -0.76 -0.11 -4.36 -2.02 
+-0.39 -0.48 -0.07 -7.68 -6.64 4.5 -6.86 4.58 -0.28 0.13 -5.08 2.28 -2.56 -0.09 -4.34 -2.58 
+-5.12 0.11 -0.91 0.02 -9.01 6.23 -0.44 0.35 -2.95 -1.37 -1.15 -1.11 -2.32 0.15 -2.91 -0.43 
+0 -0.3 -1.87 -8.14 -4.82 -2.22 -1.37 -2.11 -2.06 -5.2 -4.01 -6.38 -0.15 -0.54 -1.41 -10.27 
+-0.98 -9.27 -4.25 -1.89 -1.41 -0.56 -0.8 -0.33 -6.17 -7.79 -0.8 -2.61 1.45 -3.97 7.62 -0.91 
+4.23 5.88 0.85 8.31 8.46 -7.3 0.21 -0.11 0.14 0.15 2.25 11.11 1.23 3.26 5.75 3.78 
+4.38 5.82 0.13 0.67 4.45 5.4 6.34 -3.58 3.45 -10.33 2.97 -0.02 6.54 1.52 7.72 -0.79 
+7.81 -0.54 6.84 1.41 4.53 -1.82 6.43 -3.17 9.22 -1.58 2.47 -0.22 5.49 0.89 6.25 3.19 
+3.04 3.11 0.37 3.6 -0.24 10.27 0.02 0.09 0.08 -0.02 13.71 -5.75 0.05 0 -0.02 0 
+-4.32 11.89 0.18 1.76 1.17 -0.79 12.29 -6.46 7.83 -5.06 -4.97 7.23 -7.12 10.43 -8.7 9.16 
+-0.76 1.73 2.34 -0.37 11.39 -6.9 7.05 -2.73 5.8 -0.55 0 -33.87 -0.18 -0.59 2.13 -1.67 
+-1.54 2.06 P
+-0.41 0.2 0 33.88 2.32 -0.24 2.63 -0.13 -0.35 2.39 -10.16 8.2 -0.84 6.14 6.12 -0.39 
+10.18 -8.38 6.43 -0.76 4.62 4.45 8.96 -0.13 1.8 0.26 2.45 5.96 -12.15 6.16 -1.06 2.65 
+4.32 4.41 1.06 0.39 6.23 2.35 6.95 3.14 -0.91 7.44 -3.38 8.36 6.08 3.78 -3.59 8.01 
+5.47 4.23 0.22 6.34 0.58 6.14 6.68 2.21 9.36 -1 -10.05 6.86 -6.32 4.64 5.6 -0.39 
+13.02 -1.33 12.89 -1.28 1.82 -0.22 -2.06 1.39 -14.45 7.92 -14.02 4.96 -2.32 1.46 -9.57 8.09 
+8.84 -0.69 6.98 4.36 -9.82 7.23 -1.54 1.11 0.82 6.49 -3.78 7.04 -6.05 7.09 -2.58 6.92 
+-4.21 3.06 -5.19 3.75 -8.86 6.49 -5.44 2.43 -8.9 2.89 -1.52 0.43 -11.72 3.36 -2.3 0.3 
+-11.87 4.06 -6.03 5.59 -9.48 4.28 -8.09 4.69 -6.38 5.68 -15.55 -0.24 -0.48 -0.04 -13.74 -0.82 
+-8 3.82 -2.54 4.43 -0.48 0.85 8.89 0.56 8.66 2.11 11.35 2.65 3.71 0.13 15.13 2.15 
+5.08 5.99 -6.18 3.67 0 0.8 1.32 0 17.43 -1.84 1.41 -0.11 0.24 -0.63 -8.36 -4.4 
+-7.68 -4.86 -6.62 -1.91 -4.41 -0.57 -2.25 -0.28 -11.77 -0.35 -5.71 -1.34 -13.52 -3.3 -1.15 -0.07 
+0.39 -0.69 6.01 -5.97 11.02 0.67 3.73 0.43 14.48 0.61 2.23 0.07 3.11 -2.54 3.21 -3.36 
+9.05 -4.47 6.51 -2.3 4.08 -1.82 1.95 -1.95 3.08 -4.19 5.3 -1.55 6.45 -2.79 16.3 -3.7 
+1.46 -0.34 13.89 -5.75 10 -5.32 4.23 6.14 -7.03 7.29 -6.23 7.31 -8.65 6.99 0 0.02 
+10.2 2.8 10.33 -0.07 -5.9 -3.38 -5.25 -6.27 17.91 -4.58 10.05 2.6 2.95 -1.02 0 -1.79 
+-5.23 -1.66 8.77 -1.76 1.43 1.76 -4.96 1.66 0 1.79 10.48 -3.59 9.07 -5.46 16.26 -4.82 
+0.67 -0.37 0.85 -1.39 -10.94 -1.08 -7.32 4.27 -9.63 3.22 -2.91 0.95 -14.07 1.48 -4.96 -4.75 
+0.13 -0.02 0 -3.37 -3.12 -4.17 4.54 -1.54 0 -11 -0.22 -1.8 4.12 -3.55 6.84 2.84 
+-10.74 2.52 0 11 5.27 -1.78 9.31 2.91 -16 4.58 0 3.37 12.83 -3.52 12.89 -5.03 
+-2.73 -7.04 -13.41 1.24 -2.37 -0.7 7.01 -5.34 6.99 -3.04 -3.21 -2.3 -2.11 -4.34 6.75 -4.49 
+0 -24.04 -0.09 -0.09 0.17 -0.15 1.34 -0.17 -1.43 0.41 0 24.04 1.59 -1.04 10.5 2.89 
+0.18 0.02 11.21 1.08 6.16 -4.36 -3.1 -0.85 -4.67 -5.19 10.55 -6.2 9.64 -6.62 8.38 -8.13 
+2.38 -3.32 -0.71 -1.61 -12.35 5.9 -0.63 0.33 -1.41 0.71 -13.43 3.45 -16.71 10.5 0.26 -6.55 
+4.9 -5.92 7.86 -4.43 1.64 -7.77 7.84 -4.88 10.48 -9.05 4.17 -2.67 0.74 -0.79 0 -5.05 
+-1.97 -0.54 2.19 -1.73 2.06 -0.09 -2.28 2.37 0 5.05 10.79 -11.28 -10.33 0.59 -10.87 8.61 
+-3.08 4.34 -11.87 3.91 -1.43 0.48 -13.04 2.11 -0.96 0.06 1.07 -0.8 1.11 -1 0 -20.98 
+-8.29 -2.17 2.15 -7.87 4.55 -3.58 2.32 0.32 3.73 5.54 -4.47 7.77 0 20.98 10.89 -9.77 
+-5.6 -4.97 -3.3 -5.75 10.59 -7.87 0 -2.65 -3.17 -0.04 0.61 -7.83 1.09 -1.7 3.6 -0.73 
+9.55 -2.54 4.47 -5.12 7.18 -5.08 3.84 -1.43 9.83 0.74 1.52 1.21 -0.8 2.61 -4.97 0.84 
+-8.48 0.24 -5.02 7.4 -6.23 7.45 -13.02 3.99 0 2.65 0.25 -0.2 10.92 -1.73 2.48 3.75 
+1.87 -5.86 p
+9.76 -11.74 13.17 -2.02 2.91 -9.13 -5.4 -4.1 -2.28 -0.13 -10.7 4.06 -12.32 6.77 -11.61 1.21 
+-2.12 0 -13.39 2.95 -6.01 1.07 0.39 -0.37 0 -7.2 1.89 -4.43 2.06 2.16 -0.82 1.07 
+-3.13 1.2 0 7.2 4.58 -4.12 7.9 -10.37 -0.13 -0.09 -6.6 -3.75 -1.34 -7.27 2.08 -7.68 
+6.18 2.04 7.46 3.52 -3.86 10.91 4.6 -1 0 -1.88 3.75 -8.53 6.07 -6.86 -10.39 -1.59 
+14.32 -2.32 1.48 -0.02 6.27 4.82 -3.13 5.13 -11.61 7.86 -2.21 0.5 -4.55 1.02 0 1.88 
+7.44 -1.62 11.52 -8.18 5.14 -8.45 -5.64 -5.38 -5.95 0.11 -8.74 1.48 -6.04 0.21 -11.68 3.8 
+-3.12 -1.78 -5.08 -0.93 -6.81 -3.59 -8.2 -2.36 -1.32 0.43 -12.41 1.89 3.64 -11.59 0.13 -0.52 
+0.91 -10.54 -5.27 -5.09 -10.33 0.13 4.97 -9.31 0.37 -7.79 -10.03 -0.11 -2.32 -0.32 -8.41 1.41 
+-7.42 -2.87 -9.31 0.98 -0.96 0.11 -0.54 -0.89 1.93 -12.46 -0.7 -1.3 -3.62 -0.74 -6.14 1.19 
+-10.05 1.26 -7.14 -3.45 -7.36 -3.21 -7.75 -2.54 -9.27 1.34 -0.63 0.82 -8.66 8.25 -3.91 0.82 
+-4.08 -2.97 -2.45 -1.52 -0.61 0.75 0 0.83 0.44 10.74 -6.12 3.47 -8.03 0.78 -5.23 2.43 
+-4.34 10.18 -3.36 2.95 -5.12 -4.62 -0.3 -0.11 -3.84 -11.45 0.08 -0.98 -6.09 -6.23 -8.27 3.91 
+-6.33 -7.83 -7.62 -0.68 -3.15 8.68 1.76 5.71 3.99 5.25 2.11 2.08 5.69 6.4 0.3 2.87 
+2.04 10.83 0.63 2.02 3.99 7.05 0.93 2.37 2.67 4.08 4.82 1.98 1.5 6.49 0.08 2.45 
+4.84 0.85 4.32 1.84 2.34 -1.93 7.21 -4.97 5.73 0.24 4.36 2.41 5.82 0.39 1.09 -0.67 
+11.15 -6.9 3.54 4.01 4.84 2.32 3.3 3.91 -1.89 7.96 -0.57 1.21 -5.4 9.18 -9.96 7.55 
+-2.84 4.32 -3.09 6.29 -0.62 0.76 -2.34 5.38 3.16 1.63 6.04 -1.97 3.91 -4.19 -1.69 -3.02 
+2.95 -4.91 9.22 -8.24 10.61 -3.37 1.61 4.25 3.56 2.76 3.93 2.58 -6.55 6.73 -10.72 7.33 
+-1.11 1.06 -0.02 3.89 4.04 -0.85 9.39 -1.67 0.66 3.8 -5.55 5.84 -0.98 0.71 -1.69 4.19 
+-0.56 3.63 -6.51 4.97 -0.66 0.32 -2.97 3.73 -1.75 3.28 0.13 2.82 0.43 2.78 -0.11 2.86 
+-7.97 2.71 -7.44 -1.41 -0.02 -2.39 -2.39 -2.09 -3.38 -0.15 -13.76 1.11 -6.14 1.3 -0.18 1.65 
+6.14 0.52 7.57 0.74 2.8 2 -3.91 2.08 6.03 1.11 11.59 1.45 -2.17 2.52 0.33 2.63 
+1.43 0.41 12.46 2.91 1.45 0.61 4.64 3.6 -0.39 3.36 -0.37 3.47 -4.34 2.86 -3.36 2.93 
+0.13 3.75 1.07 0.74 9.42 5.64 1.5 0.84 -2.41 0.04 -6.16 1.93 -3.47 3.34 -5.52 2.5 
+-9.35 -1.15 -6.14 -5.77 -1.15 -1.21 -2.28 -0.43 -3.16 2.4 -3.78 2.02 0.89 1.28 6.64 7.16 
+0.02 1.02 -0.02 5.49 -4.43 2.82 -4.41 2.93 -5.54 2.02 -5.58 1.95 0.06 1.61 -0.95 6.36 
+-6.75 1.33 -6.55 1.54 -6.3 2.15 -6.96 0.82 -7.05 0.29 -7.04 0 -6.9 0.86 -6.38 -5.7 
+-0.33 -0.46 -0.36 0.43 -0.74 8.01 -7.29 4.75 -8.14 1.2 -8.13 0.02 -0.2 0.13 p f*
+2444.14 1616.47 0 -0.02 0.02 0.02 ^ ^ f*
+255 135 0 rG
+2445.64 758.68 -0.24 -1.28 3.43 0 2.52 0.63 1.3 0.93 -0.33 0.96 -3.8 -0.31 -2.21 -0.23 
+-0.67 -0.7 f*
+189 0 54 rG
+2449.5 835.48 -0.32 -4.14 2.36 -2.11 0.93 2.21 -2.97 4.04 f*
+255 35 0 rG
+2453.73 755.25 -2.2 -3.28 4.67 0.8 6.1 3.36 3.17 3.82 0.26 1.52 -0.93 -0.41 0 -0.26 
+-1.8 -2.84 -1.46 -1.74 -2.75 -1.54 -6.25 -2.11 4.32 4.36 7.01 3.41 0.93 0.45 0 0.26 
+-5.17 -2.37 -4.41 -1.47 -1.49 -1.98 f*
+0 255 r6
+2456.73 1776.21 -4.53 3.47 3.36 0.87 2.06 -0.34 7.51 -3.43 8.48 -1.3 8.38 5.56 -0.45 7.57 
+1.11 0.8 9.94 0.67 11.04 3.3 2.98 1.15 8 0.54 0 -1.08 -2.32 -0.13 -2.32 -0.89 
+-7.29 -2.78 -10.29 -1.21 -6.2 -0.48 4.88 -2.71 0 -4.71 -4.09 -0.2 3.91 -0.85 0.83 0.61 
+-0.65 0.43 0 4.71 0.71 -0.39 7.98 -5.36 -7.09 -7.21 -3.11 -1.15 -0.22 1.35 -7.36 4.55 
+-0.21 -0.09 -8.09 -3.14 -8.1 -0.5 -1.26 -0.93 1.45 -0.26 8.12 -2.28 7.57 -2.91 3.91 -2.15 
+3.15 -0.52 3.91 0.13 4.73 5.21 6.95 -2.87 7.51 -0.87 4.71 -4.69 0.56 -0.24 6.75 -1.64 
+3.36 -0.54 -2.17 2.28 -6.64 2.21 1.74 5.43 2.17 1.19 9.01 -0.04 9.33 2.13 -2.3 7.05 
+-10.05 0.44 -10.14 -0.61 -2.32 6.43 1.09 7.46 -2.11 0.74 0 1.08 0.48 0.02 7.57 -2.8 
+-2.15 -7.29 0.16 -0.43 1.87 0.06 4.6 6.86 6.99 -0.29 0 -1.13 0.08 -1.02 2.54 0.45 
+-1.87 0.55 -0.75 0.02 0 1.13 1.54 -0.07 8.36 0.41 0 -28.05 -0.57 -0.43 -0.28 -0.44 
+-5.09 -6.59 2.61 -4.54 5.77 -2.46 3.69 -4.02 -0.12 -3.02 2.32 -1.69 4.55 -2.89 0.98 -4.79 
+-0.93 -5.01 -0.26 -0.48 0.63 0.24 14.09 1.69 1.45 -0.56 5.04 3.13 0.65 4.71 12.67 0.13 
+2.5 0.72 2.13 -0.11 0 -1.55 -5.32 -4.66 10.44 -2.32 2.78 -4.5 4.38 0.41 1.84 0.83 
+-5.34 4.13 0.59 5.64 -7.29 0.37 -2.09 0.11 0 1.55 14.3 -0.76 1.7 -5.27 6.88 -2.71 
+-1.35 3.82 -7.18 4.19 6.32 7.2 12.34 2.04 9.77 3.36 -15.88 1.54 -8.62 -5.05 -12.2 0.65 
+-3.87 -0.37 -0.12 -1.02 -4.52 -7.27 -15.38 -0.43 -3.06 4.32 -6.62 2.63 0.7 6.88 -6.3 3.11 
+-7.57 2.08 -6.73 2.61 -4.71 4.36 0.29 0.52 0 28.05 4.38 0.22 3.45 1.73 13.76 3.78 
+1.06 0.93 0 -2.06 -9.72 -4.11 2.15 -2.73 3.77 0.91 3.8 5.93 0 2.06 5.44 4.75 
+3.04 0.26 0.33 0.02 0 -1.36 8.16 -5.1 3.93 0.78 2.95 3.8 -15.04 0.52 0 1.36 
+16.17 0.65 3 0.02 6.18 -3.67 -5.08 -5.99 -15.12 -2.15 -3.71 -0.12 -11.35 -2.65 -8.66 -2.11 
+-8.89 -0.56 0.48 -0.85 0 -7.4 2.23 -8.42 11.81 0.39 1.93 -6.29 -0.93 -1.82 3.32 0.78 
+-0.06 1.54 2.19 6.59 7.77 0.11 5.54 -5.25 0.41 -1.05 -6.25 -6.45 -4.43 -6.01 3.64 -0.17 
+0 -3.37 -0.32 -1.37 5.9 -1.91 -3.25 3.25 -2.32 0.02 0 3.37 7.73 -0.39 0 -7.6 
+1.58 -4.53 4.97 0.11 1.41 2.34 -7.96 2.08 0 7.6 0.61 -0.04 4.58 -0.07 2.67 3.45 
+1.61 4.27 10.94 1.02 2.86 -6.2 12.32 -1.13 -3.8 4.01 -7.92 4.69 -7.49 4.75 -7.14 4.93 
+-7.37 4.93 -7.99 -0.04 -9.27 -1.95 -9.94 2.13 -2.47 0.44 -7.09 1.26 0 7.4 2.54 -4.43 
+8 -3.82 13.74 0.82 0.48 0.04 15.55 0.24 6.38 -5.68 8.09 -4.69 9.48 -4.28 6.03 -5.59 
+11.88 -4.06 2.3 -0.3 11.72 -3.36 0 -6.49 -6.32 -0.76 -6.18 -0.75 -5.62 -0.46 -7.72 -0.61 
+-3.69 -4.1 5.95 -4.02 0 -7.66 -10.87 -3.6 -3.67 -0.33 -9.66 -0.91 -10.04 -4.86 -1.17 -0.61 
+-8.23 -5.23 -0.11 -0.58 1.82 -1.39 5.55 -1.02 8.48 -2.69 -0.54 -0.84 -2.15 -3.26 -4.52 -1.8 
+-0.15 -2.19 P
+0.28 -3.43 -8.07 -3.54 -0.07 -0.04 -1.02 -0.13 -6.29 -3.04 4.01 -2.84 -8.61 -1.28 -0.26 -0.04 
+-13.5 -0.7 -2.52 -0.43 2.95 -1.34 0.37 -0.02 0 -1.84 -2.04 -1.13 -11.37 -1.06 -2.41 -0.17 
+0.17 -1.76 2.34 -0.52 8.79 -0.52 4.95 0.41 1.82 1.11 0.15 2.29 -2.26 1.28 -0.16 0.09 
+0 1.84 13.42 -0.5 6.55 -1.32 5.55 -3.37 0.04 -2.97 -0.65 -2.84 -0.13 -2.93 2.5 -3.32 
+1.95 -0.72 6.51 -4.96 0.95 -3.73 1.22 -3.71 1.45 -0.8 5.3 -5.9 0.67 -4.36 -0.09 -4.21 
+-10.63 1.08 1.48 -4.96 4.3 -3.04 6.86 -3.3 6.12 -1.32 9.37 -2.69 -5.87 7.55 -9.81 5.79 
+10.77 -4.34 12.29 -5.6 8.22 -7.04 -4.1 -3.32 0.09 -6.09 -12.83 5.08 -4.43 0.58 -9.66 3.11 
+-1.72 -0.91 -3.86 -2.7 -0.55 -2.32 6.56 -8.15 -3.8 -3.21 0.16 -2.18 2.84 -0.45 5.04 2.37 
+5.49 2.06 4.55 2.89 -0.76 6.62 6.45 -1.39 0 -3.11 1.41 -3.86 10.83 -7.36 7.4 -3.34 
+-5.23 5.55 -10.22 8.07 -4.19 0.93 0 3.11 6.53 -1.39 0.05 -0.05 6.2 2.11 11.11 -1.45 
+0.89 0.09 3.47 4.25 0.06 2.3 -6.64 7.47 6.94 2.17 -1.21 6.32 -4.04 5.09 -12.8 5.02 
+-6.75 4.93 8.05 -0.76 12.89 -5 2.67 1.61 10.87 1.15 1.61 1.04 3.41 2.67 -2.28 4.58 
+-1.41 2.23 -5.01 6.88 0.48 5.08 0.65 5.04 -5.42 6.27 2.14 4.71 -2.43 5.49 -2.46 2.65 
+-2.82 3.04 -3.58 2.56 -4.67 3 0.04 4.96 -2.32 0.93 -9.85 3.91 -3.3 0.06 -3.34 -0.13 
+-10 -0.37 -0.39 0.11 -10.87 2.47 -0.11 0.02 -6.79 2.87 -1.73 -0.07 1.06 0.87 11.98 2.78 
+2.91 0.43 0 -4.01 -0.74 -2.04 2.75 -0.63 9.55 1.89 -11.57 0.79 0 4.01 9.68 1.41 
+11.09 3.39 1.96 1.69 -6.34 3.28 0 7.66 0.76 -0.5 3.88 -5.1 7.38 -4.75 -5.62 -4.73 
+-4.6 -1.61 7.54 -2.23 11.74 2.41 13.19 0.11 13.76 -1 1.04 2.37 -2.34 6.45 -2.06 6.53 
+-9.91 6.13 -6.54 6.09 -4.62 0.54 0 6.49 1.52 -0.43 8.9 -2.89 5.44 -2.43 8.86 -6.49 
+5.19 -3.75 0 -27.47 -6.62 -0.91 -0.21 -5.86 0.13 -0.07 0 -5.58 -0.3 -0.08 0.46 -0.26 
+0.91 0.09 -1.06 0.26 0 5.58 13.48 -7.14 3.8 4.62 0 -15.58 -3.67 -1.47 5.38 -5.26 
+4.04 3.2 -5.75 3.54 0 15.58 0.41 0.5 -3.93 6.75 -3.34 1 -3.71 1.11 0 27.47 
+4.21 -3.06 2.58 -6.92 6.05 -7.09 3.78 -7.04 -0.82 -6.49 1.54 -1.11 0 -4.86 -0.33 -0.65 
+0.91 -0.69 0.67 0.43 -1.25 0.91 0 4.86 9.82 -7.23 -6.98 -4.36 -8.84 0.69 9.57 -8.09 
+2.32 -1.46 14.02 -4.96 14.45 -7.92 2.06 -1.39 -1.82 0.22 -12.89 1.28 -13.02 1.33 -5.6 0.39 
+6.32 -4.64 10.05 -6.86 -9.36 1 -6.68 -2.21 -0.58 -6.14 -0.22 -6.34 -5.47 -4.23 3.59 -8.01 
+-6.08 -3.78 3.38 -8.36 0.91 -7.44 -6.95 -3.14 -6.23 -2.35 -1.06 -0.39 -4.32 -4.41 1.06 -2.65 
+12.15 -6.16 -2.45 -5.96 -1.8 -0.26 -8.96 0.13 -4.62 -4.45 -6.43 0.76 -10.18 8.38 -6.12 0.39 
+0.84 -6.14 10.16 -8.2 0.35 -2.39 -2.63 0.13 -2.32 0.24 -5.8 0.55 -7.05 2.73 -11.39 6.9 
+-2.34 0.37 0.76 -1.73 8.7 -9.16 7.12 -10.43 4.97 -7.23 -7.83 5.06 -12.29 6.46 -1.17 0.79 
+-0.18 -1.76 p
+4.32 -11.89 0.02 0 -0.05 0 -13.71 5.75 -0.08 0.02 -0.02 -0.09 0.24 -10.27 -0.37 -3.6 
+-3.04 -3.11 -6.25 -3.19 -5.49 -0.89 -2.47 0.22 -9.22 1.58 -6.43 3.17 -4.53 1.82 -6.84 -1.41 
+-7.81 0.54 -7.72 0.79 -6.54 -1.52 -2.97 0.02 -3.45 10.33 -6.34 3.58 -4.45 -5.4 -0.13 -0.67 
+-4.38 -5.82 -5.75 -3.78 -1.23 -3.26 -2.25 -11.11 -0.14 -0.15 -0.21 0.11 -8.46 7.3 -0.85 -8.31 
+-4.23 -5.88 -7.62 0.91 -1.45 3.97 0.8 2.61 6.17 7.79 0.8 0.33 0 -6.05 -5.4 -4.54 
+6.27 -1.84 1.78 2.43 -2.65 3.95 0 6.05 1.41 0.56 4.25 1.89 0.98 9.27 1.41 10.27 
+0.15 0.54 4.01 6.38 2.06 5.2 1.37 2.11 4.82 2.22 1.87 8.14 0 0.3 2.91 0.43 
+2.32 -0.15 1.15 1.11 2.95 1.37 0.44 -0.35 9.01 -6.23 0.91 -0.02 0 -1.54 -5.36 -0.95 
+-5.75 -0.09 -6.08 0.91 -2.56 -2.93 -1.26 -1.43 -4.77 -2.43 -0.09 -0.13 -2.47 -6.23 -0.72 -1.84 
+-2.19 -3.47 -1.57 -5.73 -0.71 -5.21 3.36 -6.3 2.56 7.1 1.34 3.71 5.05 4.36 0.5 3.84 
+3.39 2.78 5.53 1.5 5.08 2.36 5.4 -2 2.39 -1.02 0.15 1.76 1.2 7.29 -1.32 4.13 
+-1.11 0.02 0 1.54 5.12 -0.11 4.34 2.58 2.56 0.09 5.08 -2.28 0 -9.01 0.34 -10.52 
+10.98 -7.16 -0.2 11.35 -10.01 5.7 -1.12 0.63 0 9.01 0.28 -0.13 6.86 -4.58 6.64 -4.5 
+0.07 7.68 0.39 0.48 4.36 2.02 0.76 0.11 -0.11 0.24 3.04 4.21 0.89 6.14 1.8 1 
+0 -8.01 -1.32 -0.56 -0.3 -0.43 2.47 -1.89 -0.84 2.88 0 8.01 2.63 1.5 -1.83 5.55 
+-7.57 2.71 -4.53 3.34 -10.16 7.42 -1.89 2.91 -0.89 5.12 -3 2.76 -2.32 4.86 3.41 1.49 
+1.49 -0.48 0 -0.41 -3.69 -1.41 1.71 -3.54 7.62 -7.09 -1.34 -1.08 -1.63 -1.3 0.98 -1.5 
+6.98 -4.95 -1.86 6.49 -1.48 1.32 -4.45 7.32 1.17 3.25 -1.58 1.69 -0.96 0.31 -1.48 0.5 
+0 0.41 2.76 -0.89 2.73 -2.95 -1.43 -3.13 3.71 -6.11 6.45 -5.91 1.15 -3.58 7.51 -3.28 
+7.09 0.07 1.25 4.62 3.71 2.71 4.21 2.45 -8.18 8.45 -8.62 6.05 -1.32 2.41 -0.18 2.34 
+1.58 -0.34 11.75 -2.11 0.39 4.01 -4.02 5.64 -2.56 2.52 -1.19 2.59 -0.95 3.82 -4.26 4.61 
+-3.71 2.47 -1.67 1.99 -2.28 3.45 0.13 2.89 0.56 2.8 -0.09 2.9 -9.98 3.43 -9.29 -1.78 
+-0.09 -2.32 -3 -1.97 -0.78 -0.04 -13.76 0.96 -4.25 0.91 -0.15 1.69 4.25 0.35 9.48 0.91 
+3.58 2.02 -4.77 2.2 4.27 0.76 13.33 1.34 2.69 0.41 -3.52 2.09 -0.52 0.54 0.11 0.52 
+3.59 2.37 8.48 1.67 5.29 2.15 2.2 3.49 -0.05 3.47 -0.02 2.3 1.67 1.52 -3.23 0.7 
+-3.25 1.98 -3.63 2.95 0.39 2.86 2.58 1.67 7.12 3.76 7.4 4.05 -11.94 0.28 -1.87 0.57 
+-3.43 3.43 -5.95 2.43 -11.72 -1.4 -8.27 -3.41 2.74 6.08 0.61 0.39 0.24 5.21 -2.28 4.17 
+-4.36 2.99 -3.8 2.78 -0.3 0.56 -5.73 2.04 -5.27 2.5 -1.76 7.12 -6.95 1.28 -6.64 1.61 
+-6.32 2.41 -7.12 0.8 -7.25 0.17 -7.16 -0.11 -7.03 1.02 -3.73 0.91 -3.54 1.76 -8.07 4.18 
+-6.45 1.15 -2.8 3.65 p f*
+255 135 0 rG
+2456.86 756.95 -4.32 -4.36 6.25 2.11 2.75 1.54 1.46 1.74 1.8 2.84 -0.93 -0.45 0 -0.22 
+-3.02 -3.82 -7.31 -3.11 3.62 3.67 5.8 2.82 0.91 0.43 0 0.22 -7.01 -3.41 f*
+255 203 0 rG
+2457.16 756.88 -3.62 -3.67 7.31 3.11 3.02 3.82 -0.91 -0.43 0 -0.21 -2.5 -3.11 -5.95 -2.54 
+2.93 2.99 4.55 2.2 0.96 0.46 0 0.21 -5.8 -2.82 f*
+0 255 r6
+2457.45 756.83 -2.93 -2.99 5.95 2.54 2.5 3.11 -0.96 -0.46 0 -0.2 -1.93 -2.41 -4.58 -1.97 
+2.26 2.32 3.32 1.61 0.93 0.45 0 0.2 -4.55 -2.2 f*
+110 210 9 rG
+2457.75 756.77 -2.26 -2.32 4.58 1.97 1.93 2.41 -0.93 -0.45 0 -0.22 -1.37 -1.67 -3.23 -1.41 
+1.59 1.65 2.06 1 0.96 0.43 0 0.22 -3.32 -1.61 f*
+7 193 59 rG
+2458.05 756.73 -1.59 -1.65 3.23 1.41 1.37 1.67 -0.96 -0.43 0 -0.2 -0.8 -0.99 -1.87 -0.81 
+0.91 0.96 0.82 0.39 0.93 0.46 0 0.2 -2.06 -1 f*
+87 0 136 rG
+2458.36 1632.88 -1.8 1.52 2.43 -0.04 1 -0.7 -1.63 -0.78 f*
+2 239 204 rG
+2458.36 756.68 -0.91 -0.96 1.87 0.81 0.8 0.99 -0.93 -0.46 0 -0.19 -0.24 -0.28 -0.54 -0.24 
+0.26 0.28 0.52 0.24 0 0.19 -0.82 -0.39 f*
+0 155 255 rG
+2458.66 756.64 -0.26 -0.28 0.54 0.24 0.24 0.28 -0.52 -0.24 f*
+2465.19 1501.65 -5.34 7.29 6.25 9.25 3.43 -9.59 -4.35 -6.95 f*
+255 203 0 rG
+2465.78 1772.66 -1.45 0.26 1.26 0.93 8.1 0.5 8.09 3.14 0 -3.8 -5.12 -0.37 5.08 -0.58 
+0.74 0.54 -0.69 0.41 0 3.8 0.21 0.09 7.36 -4.55 0.22 -1.35 3.11 1.15 7.09 7.21 
+-7.98 5.36 -0.71 0.39 -4.88 2.71 6.2 0.48 10.29 1.21 7.29 2.78 0 -10.21 -10.13 -2.71 
+7.29 -4.6 7.75 2.69 -4.91 4.63 0 10.21 2.32 0.89 2.32 0.13 2.11 -0.74 -1.09 -7.46 
+2.32 -6.43 10.14 0.61 10.05 -0.44 2.3 -7.05 -9.33 -2.13 -9.01 0.04 -2.17 -1.19 -1.74 -5.43 
+6.64 -2.21 2.17 -2.28 -3.36 0.54 -6.75 1.64 -0.56 0.24 -4.71 4.69 -7.51 0.87 -6.95 2.87 
+-4.73 -5.21 -3.91 -0.13 -3.15 0.52 -3.91 2.15 -7.57 2.91 -8.12 2.28 f*
+189 0 54 rG
+2469.95 755.45 -0.2 -5.54 3.14 -0.28 3.56 3.88 2.75 -2.21 1.17 3.95 -1.63 3.61 0 -1.8 
+0.82 -1.83 -0.54 -1.82 -1.5 1.8 1.21 1.84 0 1.8 -0.17 0.37 -1.85 -2.28 -1.09 4.08 
+-0.08 0 0 -0.37 0.93 -5.43 -3.52 -5.23 -3.02 0.41 0.18 5.02 3.86 4.96 1.39 0.24 
+0.18 0.02 0 0.37 -1.37 -0.11 -4.25 -5.47 f*
+255 35 0 rG
+2470.14 755.43 -0.18 -5.02 3.02 -0.41 3.52 5.23 -0.93 5.43 -0.18 -0.02 0 -0.74 0.82 -4.67 
+-3.04 -4.51 -2.78 0.7 0.13 4 3.08 3.95 1.61 0.5 0.18 0.04 0 0.74 -1.39 -0.24 
+-3.86 -4.96 f*
+255 135 0 rG
+2470.53 755.41 -0.13 -4 2.78 -0.7 3.04 4.51 -0.82 4.67 -0.18 -0.04 0 -0.7 0.7 -3.93 
+-2.56 -3.79 -2.54 0.98 0.11 2.97 2.28 2.93 1.87 0.78 0.15 0.06 0 0.7 -1.61 -0.5 
+-3.08 -3.95 f*
+255 203 0 rG
+2470.92 755.38 -0.11 -2.97 2.54 -0.98 2.56 3.79 -0.7 3.93 -0.15 -0.06 0 -0.67 0.54 -3.2 
+-2.06 -3.08 -2.3 1.28 0.07 1.95 1.48 1.89 2.1 1.06 0.18 0.09 0 0.67 -1.87 -0.78 
+-2.28 -2.93 f*
+0 255 r6
+2471.31 755.38 -0.07 -1.95 2.3 -1.28 2.06 3.08 -0.54 3.2 -0.18 -0.09 0 -0.67 0.41 -2.43 
+-1.58 -2.34 -2.07 1.56 0.02 0.91 0.69 0.87 2.32 1.34 0.2 0.09 0 0.67 -2.1 -1.06 
+-1.48 -1.89 f*
+110 210 9 rG
+2471.68 755.36 -0.02 -0.91 2.07 -1.56 1.58 2.34 -0.41 2.43 -0.2 -0.09 0 -0.65 0.3 -1.67 
+-1.08 -1.65 -1.76 1.74 2.37 1.48 0.17 0.11 0 0.65 -2.32 -1.34 -0.69 -0.87 f*
+7 193 59 rG
+2474.52 756.82 -2.37 -1.48 1.76 -1.74 1.08 1.65 -0.3 1.67 -0.17 -0.11 0 -0.63 0.17 -0.93 
+-0.61 -0.91 -0.98 0.95 1.24 0.79 0.17 0.11 0 0.63 f*
+2 239 204 rG
+2474.35 756.08 -1.24 -0.79 0.98 -0.95 0.61 0.91 -0.17 0.93 -0.17 -0.11 0 -0.63 0.04 -0.2 
+-0.13 -0.17 -0.2 0.2 0.29 0.17 0 0.63 f*
+0 155 255 rG
+2474.35 755.45 -0.29 -0.17 0.2 -0.2 0.13 0.17 -0.04 0.2 f*
+255 135 0 rG
+2481.73 1772.75 -5.08 0.58 5.13 0.37 0.69 -0.41 -0.74 -0.54 f*
+255 35 0 rG
+2478.75 757.05 -1.21 -1.84 1.5 -1.8 0.54 1.82 -0.82 1.83 f*
+189 0 54 rG
+2481.34 754.67 -1.63 -5.45 4.41 -5.18 4.29 0.02 3.82 0.89 1.88 2.86 -0.5 2.13 -3.61 5.86 
+-5.9 5.25 -1.33 0.11 0 -0.35 0.37 -0.06 1.32 -0.24 5.34 -4.73 2.43 -5.68 -0.15 -0.29 
+-0.56 -3.82 -3.32 -1.52 -4.25 0.13 -3.93 4.62 1.43 4.86 2.35 0.39 -0.09 0.87 -0.93 5.46 
+0 0.35 -0.2 0 1 -5.82 0.05 -0.43 -2.3 -0.24 f*
+255 35 0 rG
+2481.46 754.08 -1.43 -4.86 3.93 -4.62 4.25 -0.13 3.32 1.52 0.56 3.82 0.15 0.29 -2.43 5.68 
+-5.34 4.73 -1.32 0.24 0 -0.64 2.09 -0.69 4.16 -3.69 1.89 -4.45 -0.87 -1.61 -0.26 -1.58 
+-2.34 -2.8 -4.17 0.42 -2.99 3.53 1.08 3.69 2.43 0.67 -0.2 1.76 -0.82 4.75 0 0.64 
+-0.37 0.06 0.93 -5.46 0.09 -0.87 -2.35 -0.39 f*
+255 135 0 rG
+2481.75 752.93 -1.08 -3.69 2.99 -3.53 4.17 -0.42 2.34 2.8 0.26 1.58 0.87 1.61 -1.89 4.45 
+-4.16 3.69 -1.7 0.57 0 -0.57 0.37 -0.17 2.08 -0.91 3.02 -2.62 1.33 -3.21 -1.28 -2.62 
+-4.54 5.18 0 -2.3 0.37 -0.26 4.12 -2.93 -1.56 -3.45 -4.12 0.71 -2.02 2.41 0.74 2.52 
+2.47 1 0 2.3 -0.28 0.33 -0.7 4.04 0 0.57 -0.39 0.13 0.82 -4.75 0.2 -1.76 
+-2.43 -0.67 f*
+255 203 0 rG
+2482.05 751.75 -0.74 -2.52 2.02 -2.41 4.13 -0.71 1.56 3.45 -4.12 2.93 0 -0.59 0.37 -0.26 
+2.97 -2.12 -1.17 -2.59 -4.04 1.02 -1.08 1.3 0.39 1.34 2.56 1.3 0 0.59 -0.37 0.26 
+-2.47 -1 f*
+0 255 r6
+2482.33 750.61 -0.39 -1.34 1.08 -1.3 4.04 -1.02 1.17 2.59 -2.97 2.13 0 -0.61 0.34 -0.24 
+1.87 -1.33 -0.78 -1.71 -3.97 1.34 -0.13 0.18 0.05 0.17 2.63 1.59 0 0.61 -0.37 0.26 
+-2.56 -1.3 f*
+110 210 9 rG
+2482.64 749.46 -0.05 -0.17 0.13 -0.18 3.97 -1.34 0.78 1.71 -1.87 1.33 0 -0.61 1.09 -0.76 
+-0.37 -0.82 -2.11 0.72 1.39 0.87 0 0.61 -0.34 0.24 -2.62 -1.59 f*
+255 203 0 rG
+2483.92 759.25 -0.37 0.17 0.7 -4.04 0.28 -0.33 4.54 -5.18 1.28 2.63 -1.33 3.21 -3.02 2.63 
+-2.08 0.91 0 -0.52 0.37 -0.2 2.5 -1.25 1.82 -1.61 0.8 -1.96 -0.93 -2.89 -3.97 4.56 
+-0.59 3.34 0 0.52 f*
+0 255 r6
+2484.29 758.53 -0.37 0.2 0.59 -3.34 3.97 -4.56 0.93 2.89 -0.8 1.96 -1.82 1.61 -2.5 1.25 
+0 -0.5 0.39 -0.21 2.89 -1.63 0.65 -0.54 0.26 -0.7 -0.59 -3.15 -3.12 3.61 -0.48 2.62 
+0 0.5 f*
+7 193 59 rG
+2485.61 750.2 -1.39 -0.87 2.11 -0.72 0.37 0.82 -1.09 0.76 f*
+110 210 9 rG
+2484.68 757.81 -0.39 0.21 0.48 -2.62 3.13 -3.61 0.59 3.15 -0.26 0.7 -0.65 0.54 -2.89 1.63 
+0 -0.48 0.39 -0.21 2.61 -1.52 -0.37 -2.82 -2.28 2.65 -0.35 1.9 0 0.48 f*
+7 193 59 rG
+2485.07 757.12 -0.39 0.21 0.35 -1.9 2.28 -2.65 0.37 2.82 -2.61 1.52 0 -0.48 0.39 -0.22 
+1.5 -0.89 -0.24 -1.78 -1.43 1.68 -0.22 1.21 0 0.48 f*
+2 239 204 rG
+2485.46 756.42 -0.39 0.22 0.22 -1.21 1.43 -1.68 0.24 1.78 -1.5 0.89 0 -0.48 0.78 -0.46 
+-0.08 -0.75 -0.61 0.71 -0.08 0.5 0 0.48 f*
+0 155 255 rG
+2486.24 755.49 -0.78 0.46 0.08 -0.5 0.61 -0.71 0.08 0.75 f*
+189 0 54 rG
+2487.54 760.85 -0.61 0.39 3.5 -5.4 5.45 -5.69 9.2 -4.62 -3.38 5.34 -7.21 5.43 -6.95 4.56 
+0 -0.2 1.22 -0.8 5.49 -3.58 7.25 -5.43 3.12 -4.96 -8.55 4.29 -5.4 5.69 -3.12 4.8 
+0 0.2 f*
+110 210 9 rG
+2491.06 1781.08 -4.09 -0.2 3.91 -0.85 0.83 0.61 -0.65 0.43 f*
+255 35 0 rG
+2488.76 759.85 -1.22 0.8 3.13 -4.8 5.4 -5.69 8.55 -4.29 -3.12 4.96 -7.25 5.43 -5.49 3.58 
+0 -0.39 1.21 -0.8 3.82 -2.45 7.29 -5.42 2.63 -4.21 -7.21 3.64 -5.4 5.68 -2.34 3.56 
+0 0.39 f*
+255 135 0 rG
+2489.97 758.66 -1.21 0.8 2.34 -3.56 5.4 -5.68 7.21 -3.64 -2.63 4.21 -7.29 5.42 -3.82 2.45 
+0 -0.37 1.26 -0.8 2.08 -1.35 7.36 -5.4 2.13 -3.45 -5.88 2.97 -5.36 5.68 -1.58 2.34 
+0 0.37 f*
+0 155 255 rG
+2493.55 1614.87 -4.47 7.83 0.57 8.34 2.41 1.02 2.54 0.41 2.52 0.48 2.5 0.54 2.54 0.48 
+2.56 0.46 0.8 -0.78 0 -0.52 -2.78 -0.26 -2.64 -0.34 -2.56 -0.52 -2.58 -0.5 -2.61 -0.41 
+-2.3 -1.65 -0.46 -6.66 3.59 -6.25 2.28 -3.12 3.66 -5.39 4.34 -0.97 0.15 7.68 0.13 2.13 
+3.32 0.78 2.1 -1.69 5.25 -5.56 -0.89 6.68 -0.37 3.04 -1.8 7.16 -5.06 5.06 -0.78 0.8 
+0 0.52 6.25 -6.25 2.17 -8.64 0.17 -1.52 1.15 -8.55 -6.7 7.1 -1.04 0.87 -3.39 -0.79 
+-0.07 -1.06 -0.2 -9.05 -4.16 0.17 -4.99 7.36 -1.15 1.58 f*
+2 239 204 rG
+2493.17 1616.52 -3.59 6.25 0.46 6.66 2.3 1.65 2.61 0.41 2.58 0.5 2.56 0.52 2.64 0.34 
+2.78 0.26 0.78 -0.8 0 -0.52 -2.36 -0.02 -0.59 0 -2.8 -0.24 -2.62 -0.5 -2.63 -0.52 
+-2.64 -0.39 -2.2 -2.32 -0.34 -5 2.67 -4.64 3.43 -4.69 2.32 -3.41 4.49 -1.78 0.13 6.34 
+0.2 3.19 3.26 0.8 3.16 -2.54 3.82 -4.02 -0.67 4.84 -0.52 4.55 -1.43 5.67 -4.67 4.66 
+0 0.52 5.06 -5.06 1.8 -7.16 0.38 -3.04 0.89 -6.68 -5.25 5.56 -2.1 1.69 -3.32 -0.78 
+-0.13 -2.13 -0.15 -7.68 -4.34 0.97 -3.66 5.39 -2.28 3.13 f*
+255 203 0 rG
+2491.23 757.49 -1.26 0.8 1.58 -2.34 5.36 -5.68 5.88 -2.97 -2.13 3.45 -7.36 5.4 -2.08 1.35 
+0 -0.35 1.32 -0.85 0.3 -0.19 7.4 -5.43 1.63 -2.67 -4.54 2.3 -5.36 5.68 -0.76 1.15 
+0 0.35 f*
+7 193 59 rG
+2492.77 1618.17 -2.67 4.64 0.34 5 2.2 2.32 2.64 0.39 2.63 0.52 2.63 0.5 2.8 0.24 
+0.59 0 0 -1.11 -2.43 -0.09 -0.48 -0.02 -2.7 -0.48 -2.67 -0.52 -2.73 -0.41 -2.09 -2.97 
+-0.22 -3.3 1.76 -3.08 4.55 -6.21 1 -1.45 4.67 -2.56 0.08 4.97 0.26 4.25 3.19 0.82 
+4.23 -3.38 2.37 -2.5 -0.41 3 -0.72 6.05 -1.07 4.23 -3.45 3.45 -3.16 0.2 0 1.11 
+2.36 0.02 4.67 -4.66 1.43 -5.67 0.52 -4.55 0.67 -4.84 -3.82 4.02 -3.16 2.54 -3.26 -0.8 
+-0.2 -3.19 -0.13 -6.34 -4.49 1.78 -2.32 3.41 -3.43 4.69 f*
+110 210 9 rG
+2492.38 1619.79 -1.76 3.08 0.22 3.3 2.09 2.97 2.73 0.41 2.67 0.52 2.7 0.48 0.48 0.02 
+0 -1 -2.78 -0.46 -2.72 -0.54 -2.78 -0.39 -1.97 -3.66 -0.11 -1.61 0.85 -1.48 5.36 -7.29 
+0.45 -0.43 4.37 -2.89 0.08 3.63 0.31 5.32 3.12 0.82 5.3 -4.21 0.91 -0.95 -0.18 1.15 
+-0.89 7.55 -0.7 2.76 -2.25 2.25 -3.34 0.41 -2.58 0.02 -0.46 0 0 1 2.43 0.09 
+3.16 -0.2 3.45 -3.45 1.07 -4.23 0.72 -6.05 0.41 -3 -2.37 2.5 -4.23 3.38 -3.19 -0.82 
+-0.26 -4.25 -0.08 -4.97 -4.67 2.56 -1 1.45 -4.55 6.21 f*
+0 255 r6
+2492 1621.44 -0.85 1.48 0.11 1.61 1.97 3.66 2.78 0.39 2.72 0.54 2.78 0.46 0.46 0 
+0 -0.98 -2.82 -0.43 -2.78 -0.56 -2.84 -0.39 -1.84 -4.23 5.16 -6.95 2.17 -2.15 2.75 -1.8 
+0.02 2.28 0.39 6.36 3.05 0.87 5.47 -3.82 -0.65 7.7 -0.33 1.28 -1.04 1.07 -3.56 0.63 
+-2.71 0.13 -0.45 0.02 0 0.98 2.58 -0.02 3.34 -0.41 2.25 -2.25 0.7 -2.76 0.89 -7.55 
+0.18 -1.15 -0.91 0.95 -5.3 4.21 -3.12 -0.82 -0.31 -5.32 -0.08 -3.63 -4.37 2.89 -0.45 0.43 
+-5.36 7.29 f*
+2492.55 756.29 -1.32 0.85 0.76 -1.15 5.36 -5.68 4.54 -2.3 -1.63 2.67 -7.4 5.43 -0.3 0.19 
+0 -0.37 2.5 -1.82 4.8 -3.5 1.15 -1.91 -3.23 1.67 -5.21 5.55 0 0.37 f*
+255 203 0 rG
+2496.83 1616.04 -5.16 6.95 1.84 4.23 2.84 0.39 2.78 0.56 2.82 0.43 0.45 -0.02 0 -0.95 
+-2.89 -0.42 -2.82 -0.58 -2.88 -0.37 -1.39 -3.17 3.84 -5.18 3.93 -3.82 1.13 -0.71 0.02 0.91 
+0.43 7.42 3 0.89 4.14 -1.37 0.2 5.36 -3.41 0.76 -2.82 0.24 -0.48 0.05 0 0.95 
+2.71 -0.13 3.56 -0.63 1.04 -1.07 0.33 -1.28 0.65 -7.7 -5.47 3.82 -3.05 -0.87 -0.39 -6.36 
+-0.02 -2.28 -2.75 1.8 -2.17 2.15 f*
+255 135 0 rG
+2496.27 1617.91 -3.84 5.18 1.39 3.17 2.88 0.37 2.82 0.58 2.89 0.42 0.48 -0.05 0 -0.93 
+-2.98 -0.41 -2.86 -0.59 -2.95 -0.36 -0.92 -2.11 2.54 -3.41 4.82 -4.13 0.85 7.01 2.93 0.91 
+2.8 1.09 0.07 1.37 -0.89 0.19 -2.95 0.37 -0.45 0.07 0 0.93 2.82 -0.24 3.41 -0.76 
+-0.2 -5.36 -4.14 1.37 -3 -0.89 -0.43 -7.42 -0.02 -0.91 -1.13 0.71 -3.93 3.82 f*
+110 210 9 rG
+2495.05 754.1 -2.5 1.82 5.21 -5.55 3.23 -1.67 -1.15 1.91 -4.8 3.5 0 -0.41 2.56 -1.82 
+1.81 -1.3 0.69 -1.13 -1.91 0.98 -3.15 3.28 0 0.41 f*
+255 35 0 rG
+2495.72 1619.77 -2.54 3.41 0.92 2.11 2.95 0.36 2.86 0.59 2.98 0.41 0.45 -0.07 0 -0.93 
+-3.02 -0.36 -2.93 -0.61 -3.02 -0.37 -0.43 -1.02 1.24 -1.64 3.77 -1.43 2.04 3.43 2.86 0.93 
+1.09 0.87 -1.39 0.2 -0.22 0.02 0 0.93 2.95 -0.37 0.89 -0.19 -0.07 -1.37 -2.8 -1.09 
+-2.93 -0.91 -0.85 -7.01 -4.82 4.13 f*
+189 0 54 rG
+2495.18 1621.64 -1.24 1.64 0.43 1.02 3.02 0.37 2.93 0.61 3.02 0.36 0.22 -0.02 0 -0.46 
+-3.04 -0.37 -2.96 -0.61 -3.03 -0.37 -0.2 -0.48 0.57 -0.79 3.28 -0.11 2.63 1.65 2.82 0.93 
+0.13 0.11 -0.19 0.02 0 0.46 1.39 -0.2 -1.09 -0.87 -2.86 -0.93 -2.04 -3.43 -3.77 1.43 f*
+87 0 136 rG
+2494.9 1622.57 -0.57 0.79 0.2 0.48 3.03 0.37 2.96 0.61 3.04 0.37 0.19 -0.02 -0.13 -0.11 
+-2.82 -0.93 -2.62 -1.65 -3.28 0.11 f*
+7 193 59 rG
+2497.61 751.87 -2.56 1.82 3.15 -3.28 1.91 -0.98 -0.69 1.13 -1.81 1.3 0 -0.37 1.39 -0.98 
+0.21 -0.37 -0.61 0.31 -1 1.04 0 0.37 f*
+0 155 255 rG
+2503.73 1437.76 -7.08 5.62 6.1 8.01 0.5 0.54 0 -7.32 -0.76 -1 0.89 -0.68 0.66 0.76 
+-0.79 0.91 0 7.32 2.67 2.95 5.77 6.92 9.16 4.32 0.46 0.09 0 -3.41 -8.55 -7.49 
+10.22 -4.91 8.36 6.58 -9.57 5.55 -0.45 0.26 0 3.41 8.94 1.43 7.66 -9.89 -5.03 -5.82 
+-9.53 -4.32 -10.37 1.93 -3.8 -5.55 -5.45 -6.23 f*
+255 203 0 rG
+2503.6 1528.6 -6.27 1.84 5.4 4.54 2.65 -3.95 -1.78 -2.43 f*
+189 0 54 rG
+2498.03 755.96 -0.66 0.22 4.8 -5.25 0.32 -0.13 10.37 -3.99 -0.48 2.8 -3.08 2.54 -5.75 2.11 
+-5.54 1.71 0 -0.21 1.32 -0.52 8.55 -3.34 4.26 -4.69 -9.75 3.78 -4.38 4.77 0 0.21 f*
+2 239 204 rG
+2499 750.52 -1.39 0.98 1 -1.04 0.61 -0.31 -0.21 0.38 f*
+255 35 0 rG
+2499.35 755.23 -1.32 0.52 4.38 -4.77 9.75 -3.78 -4.26 4.69 -8.55 3.34 0 -0.34 1.34 -0.52 
+6.64 -2.58 3.39 -3.77 -7.82 3.04 -3.55 3.84 0 0.34 f*
+255 135 0 rG
+2500.7 754.36 -1.34 0.52 3.55 -3.84 7.82 -3.04 -3.39 3.77 -6.64 2.58 0 -0.34 6.05 -2.34 
+2.56 -2.87 -5.91 2.32 -2.71 2.89 0 0.34 f*
+0 255 r6
+2509.96 1782.75 -10.13 -2.71 7.29 -4.6 7.75 2.69 -4.91 4.63 f*
+255 203 0 rG
+2502.04 753.5 -1.34 0.52 2.71 -2.89 5.91 -2.32 -2.56 2.87 -4.71 1.82 0 -0.33 1.37 -0.52 
+2.78 -1.07 1.71 -1.97 -3.99 1.59 -1.87 1.97 0 0.33 f*
+0 255 r6
+2503.41 752.65 -1.37 0.52 1.87 -1.97 3.99 -1.59 -1.71 1.97 -2.78 1.07 0 -0.33 1.37 -0.52 
+0.83 -0.32 0.91 -1.04 -2.13 0.84 -0.98 1.04 0 0.33 f*
+189 0 54 rG
+2503.08 750.26 -0.59 0.24 3.36 -5.27 11.72 -4.23 -4.27 5.38 -10.22 3.88 0 -0.17 1.17 -0.46 
+8.75 -3.32 3.88 -4.93 -10.7 3.88 -3.1 4.82 0 0.17 f*
+2 239 204 rG
+2503.38 1442.95 -0.89 0.68 0.76 1 0.79 -0.91 -0.66 -0.76 f*
+255 35 0 rG
+2504.25 749.63 -1.17 0.46 3.1 -4.82 10.7 -3.88 -3.88 4.93 -8.75 3.32 0 -0.35 1.19 -0.46 
+6.93 -2.63 3.17 -4.03 -8.72 3.19 -2.56 3.93 0 0.35 f*
+110 210 9 rG
+2504.77 751.8 -1.37 0.52 0.98 -1.04 2.13 -0.84 -0.91 1.04 -0.83 0.32 0 -0.32 0.24 -0.09 
+0.11 -0.13 -0.24 0.11 -0.11 0.11 0 0.32 f*
+255 135 0 rG
+2505.45 748.83 -1.19 0.46 2.56 -3.93 8.72 -3.19 -3.17 4.03 -6.93 2.63 0 -0.34 1.2 -0.46 
+5.12 -1.91 2.41 -3.15 -6.73 2.48 -2 3.04 0 0.34 f*
+7 193 59 rG
+2505.01 751.39 -0.24 0.09 0.11 -0.11 0.24 -0.11 -0.11 0.13 f*
+255 203 0 rG
+2506.64 748.03 -1.2 0.46 2 -3.04 6.73 -2.48 -2.41 3.15 -5.12 1.91 0 -0.35 1.21 -0.46 
+3.28 -1.22 1.71 -2.23 -4.77 1.75 -1.43 2.15 0 0.35 f*
+0 255 r6
+2507.86 747.22 -1.21 0.46 1.43 -2.15 4.77 -1.75 -1.71 2.23 -3.28 1.22 0 -0.33 1.21 -0.46 
+1.46 -0.54 1 -1.33 -2.82 1.07 -0.84 1.25 0 0.33 f*
+255 0 r6
+2513.5 1514.32 -5.93 -4.62 8.03 -8.44 1.54 9.35 -3.64 3.71 f*
+110 210 9 rG
+2509.07 746.44 -1.21 0.46 0.84 -1.25 2.82 -1.07 -1 1.33 -1.46 0.54 0 -0.32 0.82 -0.3 
+0.3 -0.41 -0.87 0.32 -0.26 0.39 0 0.32 f*
+7 193 59 rG
+2509.89 745.81 -0.82 0.3 0.26 -0.39 0.87 -0.32 -0.3 0.41 f*
+255 203 0 rG
+2514.58 1546.7 -3.36 6.3 0.71 5.21 1.57 5.73 2.19 3.47 0.72 1.84 0 -4.38 -0.34 -0.55 
+-3 -10.94 -0.02 -0.17 0.11 -0.2 0.09 0.22 3.62 10.07 0.72 1.26 -1.17 0.3 0 4.38 
+2.47 6.23 0.09 0.13 4.77 2.43 1.26 1.43 0 -2.76 -0.7 -0.09 -0.17 -0.09 0.3 -0.24 
+0.57 0.41 0 2.76 2.56 2.93 6.08 -0.91 5.75 0.09 5.36 0.95 1.11 -0.02 1.32 -4.13 
+-1.2 -7.29 -0.15 -1.76 -2.39 1.02 -5.4 2 -5.08 -2.36 -5.53 -1.5 -3.39 -2.78 -0.5 -3.84 
+-5.05 -4.36 -1.34 -3.71 -2.56 -7.1 f*
+189 0 54 rG
+2512.5 751.93 -0.84 0.15 6.16 -4.86 13.52 -3.06 -1.26 2.91 -3.54 2.14 -6.59 1.41 -7.45 1.3 
+0 -0.24 1.7 -0.39 10.7 -2.5 5.54 -4.32 -12.31 2.8 -5.62 4.41 0 0.24 f*
+255 35 0 rG
+2514.2 751.3 -1.7 0.39 5.62 -4.41 12.31 -2.8 -5.54 4.32 -10.7 2.5 0 -0.37 1.71 -0.39 
+8.29 -1.91 4.41 -3.49 -9.85 2.28 -4.55 3.52 0 0.37 f*
+2 239 204 rG
+2522.98 1450.41 -10.22 4.91 8.55 7.49 0.45 -0.26 0 -3.06 -4.32 -3.82 5.16 -2.46 4.23 3.3 
+-4.62 2.71 -0.46 0.26 0 3.06 9.57 -5.55 -8.36 -6.58 f*
+255 135 0 rG
+2513.15 1553.02 -0.11 0.2 0.02 0.17 3 10.94 0.34 0.55 1.17 -0.3 -0.72 -1.26 -3.62 -10.07 
+-0.09 -0.22 f*
+2515.91 750.54 -1.71 0.39 4.55 -3.52 9.85 -2.28 -4.41 3.49 -8.29 1.91 0 -0.35 1.74 -0.39 
+5.84 -1.34 3.29 -2.65 -7.4 1.74 -3.47 2.64 0 0.35 f*
+255 203 0 rG
+2517.64 749.8 -1.74 0.39 3.47 -2.64 7.4 -1.74 -3.29 2.65 -5.84 1.34 0 -0.35 1.73 -0.39 
+3.41 -0.78 2.21 -1.8 -5.01 1.2 -2.34 1.78 0 0.35 f*
+255 0 r6
+2523.5 1504.47 -6.31 -4.78 8.88 -8.68 3.61 10.16 -6.17 3.3 f*
+7 193 59 rG
+2522.61 1453.21 -5.16 2.46 4.32 3.82 0.46 -0.26 0 -3.08 -0.09 -0.09 0.11 -0.04 0.09 0.07 
+-0.11 0.06 0 3.08 4.62 -2.71 -4.23 -3.3 f*
+0 255 r6
+2519.38 749.07 -1.73 0.39 2.34 -1.78 5.01 -1.2 -2.21 1.8 -3.41 0.78 0 -0.33 1.74 -0.39 
+0.95 -0.22 1.15 -0.95 -2.61 0.63 -1.24 0.93 0 0.33 f*
+0 155 255 rG
+2526.46 1647.46 -7.71 6.47 1.26 1.15 1.88 -0.7 0 -0.3 -1.34 -1.19 6.16 -5.21 8.22 -3.45 
+1.67 1.65 -6.38 5.12 -6.44 2.38 -1.89 0.7 0 0.3 8.57 -3.12 7.99 -6.47 -1.76 -1.67 
+-10.24 4.34 f*
+255 203 0 rG
+2520.92 735.5 -1.63 0.37 0.15 -0.61 2.99 -1.28 -1.52 1.52 f*
+110 210 9 rG
+2521.12 748.35 -1.74 0.39 1.24 -0.93 2.61 -0.62 -1.15 0.95 -0.95 0.22 0 -0.32 0.24 -0.07 
+0.08 -0.07 -0.21 0.04 -0.11 0.09 0 0.32 f*
+2 239 204 rG
+2526.71 1647.68 -6.16 5.21 1.34 1.19 1.89 -0.7 0 -0.32 -1.45 -1.22 4.64 -3.93 6.21 -2.61 
+1.58 1.63 -4.78 3.82 -4.34 1.61 -1.86 0.7 0 0.32 6.44 -2.38 6.38 -5.12 -1.67 -1.65 
+-8.22 3.45 f*
+7 193 59 rG
+2521.36 747.96 -0.24 0.07 0.11 -0.09 0.21 -0.04 -0.08 0.07 f*
+110 210 9 rG
+2522.25 1456.01 -0.11 0.04 0.09 0.09 0.11 -0.06 -0.09 -0.07 f*
+7 193 59 rG
+2526.97 1647.92 -4.64 3.93 1.45 1.22 1.86 -0.7 0 -0.33 -1.54 -1.23 3.13 -2.67 4.19 -1.73 
+1.48 1.61 -3.15 2.52 -2.23 0.82 -1.87 0.7 0 0.33 4.34 -1.61 4.78 -3.82 -1.58 -1.62 
+-6.21 2.61 f*
+110 210 9 rG
+2527.23 1648.13 -3.12 2.67 1.54 1.23 1.87 -0.7 0 -0.32 -1.62 -1.29 1.61 -1.37 2.17 -0.89 
+1.39 1.56 -1.54 1.22 -0.93 0.34 -1.07 0.42 0 0.32 2.23 -0.82 3.15 -2.52 -1.48 -1.61 
+-4.19 1.73 f*
+255 135 0 rG
+2524.43 1576.3 -0.3 0.24 0.17 0.09 0.7 0.09 -0.57 -0.41 f*
+0 255 r6
+2527.5 1648.37 -1.61 1.37 1.63 1.29 1.07 -0.42 0 -1.25 -0.91 -0.67 0.09 -0.09 0.14 -0.05 
+0.69 0.81 0 1.25 0.93 -0.34 1.54 -1.22 -1.39 -1.56 -2.17 0.89 f*
+255 203 0 rG
+2527.75 1648.59 -0.09 0.09 0.91 0.67 -0.69 -0.81 -0.14 0.05 f*
+0 155 255 rG
+2530.49 1539.67 -1.91 -5.75 5.84 -7.62 1.57 8.92 -4.71 3.84 0 -1.97 2.73 -2.24 -0.76 -4.45 
+-2.93 3.79 0.96 2.89 0 1.97 -0.79 0.61 f*
+255 0 r6
+2531.27 1537.09 -0.96 -2.89 2.93 -3.79 0.76 4.45 -2.73 2.24 f*
+2536.87 1517.64 -2.93 -4.82 5.82 -5.75 1.11 6.9 -3.99 3.67 f*
+255 203 0 rG
+2534.2 1789.06 -0.08 1.02 0.75 -0.02 1.87 -0.55 -2.54 -0.45 f*
+0 155 255 rG
+2540.61 1531.25 -3.93 -6.92 8.27 -6.49 2.86 8.66 -6.25 4.12 0 -2.3 3.61 -2.39 -1.41 -4.32 
+-4.14 3.23 1.95 3.47 0 2.3 -0.95 0.63 f*
+255 203 0 rG
+2537.48 1673.74 -0.17 1.76 2.41 0.17 11.37 1.06 2.04 1.13 0.16 -0.09 0 -1 -0.28 -0.15 
+-13.26 -1.2 -0.54 -0.04 0.2 -1.82 0.43 -0.08 1.61 -0.09 9.68 1.2 2.37 0.41 0.13 1.61 
+-0.32 0.17 0 1 2.26 -1.28 -0.15 -2.29 -1.82 -1.11 -4.95 -0.41 -8.79 0.52 -2.34 0.52 f*
+2540.69 1751.5 -2.61 4.54 5.09 6.59 0.28 0.44 0.57 0.43 -0.29 -0.52 4.71 -4.36 6.73 -2.61 
+7.57 -2.08 6.3 -3.11 -0.7 -6.88 6.62 -2.62 3.06 -4.32 15.38 0.43 4.52 7.27 0.13 1.02 
+3.87 0.37 12.2 -0.65 8.62 5.05 15.88 -1.54 -9.77 -3.36 -12.34 -2.04 -6.32 -7.2 7.18 -4.19 
+1.35 -3.82 -6.88 2.71 -1.7 5.27 -14.3 0.76 -2.12 0.11 -2.5 -0.72 -12.67 -0.12 -0.65 -4.71 
+-5.04 -3.12 -1.45 0.56 -14.09 -1.69 -0.63 -0.24 0.26 0.48 0.93 5.01 -0.98 4.79 -4.55 2.89 
+-2.32 1.69 0.13 3.02 -3.69 4.02 -5.77 2.46 f*
+255 35 0 rG
+2539.91 734.48 -1.09 -1.61 5.96 -0.13 -0.82 1.21 -4.05 0.52 f*
+255 135 0 rG
+2539.39 1673.57 -0.2 1.82 0.54 0.04 13.26 1.2 0.28 0.15 0.32 -0.17 -0.13 -1.61 -2.37 -0.41 
+-9.68 -1.2 -1.61 0.09 -0.43 0.08 f*
+255 0 r6
+2541.55 1528.32 -1.95 -3.47 4.14 -3.23 1.41 4.32 -3.61 2.39 f*
+0 155 255 rG
+2555.41 1641.55 -8.66 6.88 2.69 1.39 2.84 -0.65 0 -0.59 -3.99 -0.89 7.36 -5.86 9.94 -2.84 
+-0.57 3.67 -5.51 4.21 -4.4 1.04 -2.82 0.67 0 0.59 7.59 -1.76 7.92 -6.1 -0.69 -3.11 
+-11.7 3.34 f*
+2 239 204 rG
+2555.64 1641.84 -7.36 5.86 3.99 0.89 2.82 -0.67 0 -0.61 -3.78 -0.24 -1.52 -0.11 6.08 -4.86 
+8.2 -2.3 -1.87 4.19 -3.07 2.34 -4.04 0.98 0 0.61 4.4 -1.04 5.51 -4.21 0.57 -3.67 
+-9.94 2.84 f*
+255 203 0 rG
+2550.71 1770.01 -2.23 8.42 7.09 -1.26 0 -1 0.32 -1.37 3.24 0.13 -2.05 0.96 -1.52 0.28 
+0 1 2.47 -0.44 9.94 -2.12 9.27 1.95 7.99 0.04 7.38 -4.93 7.14 -4.93 7.49 -4.75 
+7.92 -4.69 3.8 -4.01 -12.32 1.13 -2.86 6.2 -10.94 -1.02 -1.61 -4.27 -2.67 -3.45 -4.58 0.07 
+-0.61 0.04 -7.73 0.39 -3.64 0.17 4.43 6.01 6.25 6.45 -0.41 1.05 -5.54 5.25 -7.77 -0.11 
+-2.19 -6.59 0.06 -1.54 -3.32 -0.78 0.93 1.82 -1.93 6.29 -11.81 -0.39 f*
+7 193 59 rG
+2555.88 1642.1 -6.08 4.86 1.52 0.11 0 -0.85 4.8 -3.84 6.47 -1.8 -3.15 4.73 -0.67 0.5 
+-0.87 0.21 -5.03 0.15 -1.54 0.04 0 0.85 3.78 0.24 4.04 -0.98 3.07 -2.34 1.87 -4.19 
+-8.2 2.3 f*
+255 203 0 rG
+2552.75 1679.73 -2.95 1.34 2.52 0.43 13.5 0.7 0.26 0.04 0 -1 -13.67 -0.04 -0.76 -0.13 
+0.89 -0.39 13.71 -0.2 13.89 -1.34 0.56 0.17 0 -3.79 -0.13 -1.22 0.02 -3.02 -0.79 -2.89 
+-0.13 -2.97 0.96 -1.26 9.03 -0.87 -0.09 3.32 -3.52 3.84 2.89 2.8 -8.25 2.26 0 3.79 
+3.02 0.83 -4.04 1.08 -13.61 0.02 0 1 8.61 1.28 -4.01 2.84 6.29 3.04 1.02 0.13 
+0.07 0.04 0 -2.93 -0.39 -0.18 0.63 -0.49 0.63 0.49 -0.87 0.18 0 2.93 8.07 3.54 
+-0.28 3.43 0.15 2.19 4.52 1.8 2.15 3.26 0 -49.61 -1.05 -1.74 0.26 -0.75 1.29 0.26 
+-0.5 2.23 0 49.61 0.54 0.84 -8.48 2.69 -5.55 1.02 -1.82 1.39 0.11 0.58 8.23 5.23 
+1.17 0.61 10.04 4.86 9.66 0.91 0 -2.28 -7.68 -0.7 -2.67 -1.19 3.73 0.02 6.62 1.87 
+0 2.28 3.67 0.33 10.87 3.6 6.34 -3.28 -1.96 -1.69 -11.09 -3.39 -9.68 -1.41 -2.91 -0.43 
+-11.98 -2.78 -1.06 -0.87 1.73 0.07 6.79 -2.87 0.11 -0.02 0 -58.68 3.88 -3 0 -8.49 
+-1.08 -1.56 0 -0.5 2.91 -0.84 -1.83 2.91 0 8.49 2.87 -2.21 1.84 -1.91 8.9 -7.55 
+12.58 -1.54 -3.32 6.27 -5.43 4.75 -1.04 0.41 -11.79 4.64 -4.29 0.07 -4.21 0.07 0 58.68 
+10.87 -2.47 0 -36.8 -6.36 -2.2 -0.95 -3.45 6.88 -4.71 5.93 1.73 0.78 3.82 -6.27 4.79 
+0 36.8 0.39 -0.11 10 0.37 0 -20.88 -1.91 -1.08 3.04 -2.78 5.97 1.95 -7.1 1.91 
+0 20.88 3.34 0.13 3.3 -0.06 9.85 -3.91 0 -32.68 -5.14 -0.09 5.29 -1.78 5.69 -0.52 
+-5.84 2.39 0 32.68 2.32 -0.93 -0.04 -4.96 4.67 -3 3.58 -2.56 2.82 -3.04 0 -35.8 
+-2.73 -0.7 2.32 -2.3 8.36 -1.33 -7.95 4.32 0 35.8 2.46 -2.65 2.43 -5.49 -2.14 -4.71 
+5.42 -6.27 -0.65 -5.04 -0.48 -5.08 5.01 -6.88 1.41 -2.23 2.28 -4.58 -3.41 -2.67 -1.61 -1.04 
+-10.87 -1.15 -2.67 -1.61 -12.89 5 -8.05 0.76 6.75 -4.93 12.8 -5.02 4.04 -5.09 1.21 -6.32 
+-6.94 -2.17 6.64 -7.47 -0.06 -2.3 -3.47 -4.25 -0.89 -0.09 -11.11 1.45 -6.2 -2.11 -0.05 0.05 
+-6.53 1.39 -6.45 1.39 0.76 -6.62 -4.55 -2.89 -5.49 -2.06 -5.04 -2.37 -2.84 0.45 -0.16 2.18 
+3.8 3.21 -6.56 8.15 0.55 2.32 3.86 2.7 1.72 0.91 9.66 -3.11 4.43 -0.58 12.83 -5.08 
+-0.09 6.09 4.1 3.32 -8.22 7.04 -12.29 5.6 -10.77 4.34 9.81 -5.79 5.88 -7.55 -9.37 2.69 
+-6.12 1.32 -6.86 3.3 -4.3 3.04 -1.48 4.96 10.63 -1.08 0.09 4.21 -0.67 4.36 -5.3 5.9 
+-1.45 0.8 -1.22 3.71 -0.95 3.73 -6.51 4.96 -1.95 0.72 -2.5 3.32 0.13 2.93 0.65 2.84 
+-0.04 2.97 -5.55 3.37 -6.55 1.32 -13.42 0.5 -0.37 0.02 f*
+110 210 9 rG
+2556.12 1642.38 -4.8 3.84 1.54 -0.04 0 -0.69 3.49 -2.82 4.71 -1.31 -2.75 3.82 -3.93 0.21 
+-1.52 0.09 0 0.69 5.03 -0.15 0.87 -0.21 0.67 -0.5 3.15 -4.73 -6.47 1.8 f*
+255 135 0 rG
+2552.54 1680.68 -0.89 0.39 0.76 0.13 13.67 0.04 13.61 -0.02 4.04 -1.08 -3.02 -0.83 -0.56 -0.17 
+-13.89 1.34 -13.71 0.2 f*
+0 255 r6
+2556.36 1642.67 -3.49 2.82 1.52 -0.09 0 -0.67 2.2 -1.78 2.99 -0.82 -1.74 2.41 -1.93 0.11 
+-1.52 0.09 0 0.67 3.93 -0.21 2.75 -3.82 -4.71 1.31 f*
+255 203 0 rG
+2556.58 1642.95 -2.2 1.78 1.52 -0.09 0 -0.68 0.92 -0.74 1.23 -0.32 -0.72 0.99 -1.43 0.07 
+0 0.68 1.93 -0.11 1.74 -2.41 -2.99 0.82 f*
+255 135 0 rG
+2555.9 1774.8 -0.32 1.37 1.52 -0.28 2.05 -0.96 -3.24 -0.13 f*
+2556.82 1643.23 -0.92 0.74 1.43 -0.07 0.72 -0.99 -1.23 0.32 f*
+2 239 204 rG
+2568.62 1786.96 -12.11 -2.8 4.43 -4.9 8.29 0.52 7.04 0.8 10.89 0.46 0.82 7.27 -2.39 -0.11 
+0 -1.41 -0.52 -4.84 -7.29 -0.3 -3.52 4.64 8.95 0.39 2.38 0.11 0 1.41 -14.56 -0.67 
+-0.11 -0.02 -2.3 -0.54 0 -1.35 -1.17 -5.18 -5.53 -0.35 -2.93 3.3 7.25 1.67 2.39 0.56 
+0 1.35 f*
+255 203 0 rG
+2559.09 1789.32 -2.15 2.73 9.72 4.11 -3.8 -5.93 -3.77 -0.91 f*
+2560.2 1628.86 -1.71 3.54 3.69 1.41 1.48 -0.5 0 -0.41 -0.61 -0.21 -3.32 -1.08 1.06 -2.24 
+3.04 -0.48 0.89 3.34 -0.41 0.46 -0.65 0.21 0 0.41 0.96 -0.31 1.58 -1.69 -1.17 -3.25 
+4.45 -7.32 1.48 -1.32 1.86 -6.49 -6.98 4.95 -0.98 1.5 1.63 1.3 0 -2.3 -0.26 -0.09 
+0.04 -0.07 0.32 -0.21 -0.11 0.37 0 2.3 1.34 1.08 -7.62 7.09 f*
+0 155 255 rG
+2566.23 1785.05 -7.25 -1.67 2.93 -3.3 5.53 0.35 1.17 5.18 -2.39 -0.56 0 -1.37 -0.57 -2.6 
+-2.78 -0.18 -1.45 1.65 4.8 1.13 0 1.37 f*
+255 135 0 rG
+2560.79 1629.36 -1.06 2.24 3.32 1.08 0 -1.24 -2.11 -0.65 0.43 -0.91 1.24 -0.2 0.43 1.76 
+0 1.24 0.61 0.21 0.65 -0.21 0.41 -0.46 -0.89 -3.34 -3.04 0.48 f*
+255 35 0 rG
+2561.37 1629.88 -0.43 0.91 2.11 0.65 -0.43 -1.76 -1.24 0.2 f*
+255 0 r6
+2566.23 1783.68 -4.8 -1.13 1.45 -1.65 2.78 0.18 0.57 2.6 f*
+110 210 9 rG
+2562.98 1574.71 -1.12 0.63 0.34 -10.52 10.98 -7.16 -0.2 11.35 -10.01 5.7 0 -1.06 1.13 -0.65 
+7.79 -4.45 0.16 -9.07 -8.81 5.73 -0.26 8.45 0 1.06 f*
+7 193 59 rG
+2564.11 1573 -1.13 0.65 0.26 -8.45 8.81 -5.73 -0.16 9.07 -7.79 4.45 0 -1.07 1.11 -0.65 
+5.58 -3.19 0.11 -6.77 -6.6 4.25 -0.2 6.36 0 1.07 f*
+2 239 204 rG
+2565.21 1571.29 -1.11 0.65 0.2 -6.36 6.6 -4.25 -0.11 6.77 -5.58 3.19 0 -1.06 1.13 -0.65 
+3.34 -1.91 0.07 -4.52 -4.41 2.82 -0.13 4.25 0 1.06 f*
+0 155 255 rG
+2566.34 1569.57 -1.13 0.65 0.13 -4.25 4.41 -2.82 -0.07 4.52 -3.34 1.91 0 -1.09 2.21 -1.28 
+0.05 -2.26 -2.2 1.43 -0.07 2.11 0 1.09 f*
+255 135 0 rG
+2566.25 1618.23 -0.04 0.07 0.26 0.09 0.11 -0.37 -0.32 0.21 f*
+255 0 r6
+2568.55 1567.21 -2.21 1.28 0.07 -2.11 2.2 -1.43 -0.05 2.26 f*
+0 155 255 rG
+2583.21 1786.68 -8.95 -0.39 3.52 -4.64 7.29 0.3 0.52 4.84 -2.38 -0.11 0 -1.41 -0.24 -2.43 
+-3.67 -0.15 -1.71 2.32 5.63 0.26 0 1.41 f*
+110 210 9 rG
+2575.65 1749.02 -0.32 -1.37 5.9 -1.91 -3.25 3.25 -2.32 0.02 f*
+255 203 0 rG
+2583.64 1796.79 -8.16 5.1 15.04 -0.52 -2.95 -3.8 -3.93 -0.78 f*
+255 0 r6
+2583.21 1785.27 -5.62 -0.26 1.71 -2.32 3.67 0.15 0.24 2.43 f*
+255 135 0 rG
+2578.3 1685.98 -0.63 0.49 0.39 0.18 0.87 -0.18 -0.63 -0.49 f*
+2580.64 1664.17 -0.96 1.26 0.13 2.97 0.79 2.89 -0.02 3.02 0.13 1.22 8.25 -2.26 -2.89 -2.8 
+3.52 -3.84 0.09 -3.32 -9.03 0.87 f*
+110 210 9 rG
+2591.34 1742.32 -7.96 2.08 1.58 -4.53 4.97 0.11 1.41 2.34 f*
+255 203 0 rG
+2587.67 1586.13 -2.47 1.89 0.3 0.43 1.32 0.56 0.84 -2.88 f*
+110 210 9 rG
+2595.83 1735.54 -5.32 -4.66 10.44 -2.32 2.78 -4.5 4.38 0.41 1.84 0.83 -5.34 4.13 0.59 5.64 
+-7.29 0.37 0 -1.58 2.39 -0.11 -0.26 -1.69 -3.52 0.63 1.39 1.17 0 1.58 -2.09 0.11 f*
+255 135 0 rG
+2591.88 1651.7 -0.26 0.75 1.05 1.74 0.5 -2.23 -1.29 -0.26 f*
+2599.93 1717.79 -3.73 -0.02 2.67 1.19 7.68 0.7 -6.62 -1.87 f*
+7 193 59 rG
+2597.92 1733.86 -1.39 -1.17 3.52 -0.63 0.26 1.69 -2.39 0.11 f*
+0 255 r6
+2601.61 1650.46 -4.21 0.07 3.88 -3 2.87 -2.21 1.84 -1.91 8.9 -7.55 12.58 -1.54 -3.32 6.27 
+-5.43 4.75 -1.04 0.41 0 -3.43 6.6 -6.57 -8.94 1.06 -6.34 5.41 8.18 0.11 0.5 0 
+0 3.43 -11.79 4.64 -4.29 0.07 0 -1.37 3.86 -0.09 7.27 -3.95 -8.07 1.65 -3.06 2.39 
+0 1.37 f*
+255 135 0 rG
+2603.11 1636.13 -2.91 0.84 0 0.5 1.08 1.56 1.83 -2.91 f*
+0 255 r6
+2601.91 1667.73 -0.95 -3.45 6.88 -4.71 5.93 1.73 0.78 3.82 -6.27 4.79 -6.36 -2.2 f*
+110 210 9 rG
+2605.46 1649 -3.86 0.09 3.06 -2.39 8.07 -1.65 -7.27 3.95 f*
+189 0 54 rG
+2613.02 816.97 -9.57 -7.64 15.97 5.27 9.55 8.18 -1.72 -0.61 0 -0.37 -8.27 -7.04 -13.76 -4.58 
+8.27 6.62 10.3 3.75 3.45 1.24 0 0.37 -14.23 -5.21 f*
+2607.27 818.77 -3.3 -3.06 6.08 2.23 3.25 3.11 -6.03 -2.28 f*
+110 210 9 rG
+2604.71 1712.09 -0.74 -2.04 2.75 -0.63 9.55 1.89 -11.57 0.79 f*
+255 35 0 rG
+2613.5 816.82 -8.27 -6.62 13.76 4.58 8.27 7.04 -3.45 -1.24 0 -0.69 -5.66 -4.75 -9.38 -3.17 
+5.63 4.54 5.94 2.14 3.47 1.24 0 0.69 -10.3 -3.75 f*
+255 135 0 rG
+2614.39 816.5 -5.62 -4.54 9.38 3.17 5.66 4.75 -3.47 -1.24 0 -0.68 -3.04 -2.52 -5.01 -1.71 
+2.99 2.45 1.54 0.55 3.52 1.23 0 0.68 -5.94 -2.14 f*
+110 210 9 rG
+2617.19 1642.32 -8.18 -0.11 6.34 -5.41 8.94 -1.06 -6.6 6.57 -0.5 0 0 -1.3 3.91 -3.88 
+-5.32 0.63 -3.75 3.21 4.62 0.04 0.54 0 0 1.3 f*
+7 193 59 rG
+2616.64 1641.02 -4.62 -0.04 3.75 -3.21 5.32 -0.63 -3.91 3.88 -0.54 0 0 -1.28 1.26 -1.21 
+-1.7 0.19 -1.2 1.02 1.63 0 0 1.28 f*
+255 203 0 rG
+2615.28 816.19 -2.99 -2.45 5.01 1.71 3.04 2.52 -3.52 -1.23 0 -0.63 -0.39 -0.32 -0.65 -0.24 
+0.39 0.32 0.65 0.24 0 0.63 -1.54 -0.55 f*
+2 239 204 rG
+2616.64 1639.73 -1.63 0 1.2 -1.02 1.7 -0.19 -1.26 1.21 f*
+110 210 9 rG
+2618.84 1741.64 -3.69 -4.1 5.95 -4.02 0.76 -0.5 3.88 -5.1 7.38 -4.75 -5.62 -4.73 -4.6 -1.61 
+7.54 -2.23 11.74 2.41 13.19 0.11 13.76 -1 1.04 2.37 -2.34 6.45 -2.06 6.53 -9.91 6.13 
+-6.54 6.09 -4.62 0.54 -6.32 -0.76 0 -6.51 5.36 -0.61 3.43 -5.97 2.73 -5.95 0.18 -0.3 
+-0.3 0.29 -6.62 5.59 -4.75 5.64 -0.02 1.3 0 6.51 -6.18 -0.75 -5.62 -0.46 0 -2.25 
+2.67 -5.68 2.08 -4.38 -4.95 3.9 -6.23 4.82 0.95 1.05 5.47 0.3 0 2.25 -7.72 -0.61 f*
+189 0 54 rG
+2622.77 826 -7.42 -7.34 13.63 4.95 0.76 0.29 6.72 7.25 0.41 0.44 -2.62 -1.04 0 -0.63 
+-5.39 -5.73 -10.76 -3.97 5.55 5.55 5.29 2.08 5.3 2.06 0 0.63 -11.48 -4.54 f*
+0 255 r6
+2616.17 815.86 -0.39 -0.32 0.65 0.24 0.39 0.32 -0.65 -0.24 f*
+2618.66 1686.11 -1.91 -1.08 3.04 -2.78 5.97 1.95 -7.1 1.91 f*
+0 155 255 rG
+2621.5 1436.46 -4.1 2.21 2.11 3.32 4.23 -1.57 8.73 -3.54 9.33 4.58 5.32 6.38 -3.16 11.48 
+-0.24 2.64 8.9 0.63 1.5 0.3 5.84 -4.84 0 -7.2 -7.2 -8.81 -7.16 -7.24 9.92 0.8 
+10.96 1.02 2.04 6.38 -8.55 7.86 0 7.2 4.47 -3.71 8.36 -9.65 5.3 -8.38 2.11 -1.72 
+12.91 -5.53 2 -1.5 -0.54 -1.67 -1.93 0.63 -13.11 6.67 -2.39 0.19 -8.48 -1.71 -11.24 -0.58 
+-10.61 -2.09 -10.7 -1.76 -5.95 2.85 -8.62 6.36 f*
+255 35 0 rG
+2623.66 825.76 -5.55 -5.55 10.76 3.97 5.39 5.73 -5.3 -2.06 0 -1.24 -1.8 -1.89 -3.61 -1.34 
+1.85 1.87 3.56 1.37 0 1.24 -5.29 -2.08 f*
+7 193 59 rG
+2621.09 1739.7 -0.95 -1.05 6.23 -4.82 4.95 -3.9 -2.08 4.38 -2.67 5.68 -5.47 -0.3 f*
+110 210 9 rG
+2625.11 1604.12 -4.19 0.93 1.41 -3.86 10.83 -7.36 7.4 -3.34 -5.23 5.55 -10.22 8.07 f*
+255 135 0 rG
+2625.39 825.24 -1.85 -1.87 3.61 1.34 1.8 1.89 -3.56 -1.37 f*
+0 255 r6
+2635.16 1670.46 -5.14 -0.09 5.29 -1.78 5.69 -0.52 -5.84 2.39 f*
+189 0 54 rG
+2633.83 822.46 -1.39 -1.34 2.56 0.91 1.45 1.32 -2.62 -0.89 f*
+0 255 r6
+2638.39 1735.66 -0.02 1.3 5.36 -0.61 3.43 -5.97 2.73 -5.95 0.18 -0.3 -0.3 0.29 -6.62 5.59 
+-4.75 5.64 f*
+2 239 204 rG
+2655.49 1435.61 -9.92 -0.8 7.16 7.24 7.2 8.81 8.55 -7.86 -2.04 -6.38 -10.96 -1.02 f*
+0 255 r6
+2648.5 1652.84 -2.73 -0.7 2.32 -2.3 8.36 -1.33 -7.95 4.32 f*
+7 193 59 rG
+2651.39 1544.14 -0.18 -0.59 2.13 -1.67 -1.54 2.06 -0.41 0.2 f*
+0 155 255 rG
+2677.34 702.82 -16.84 -4.9 5.36 2.65 16.35 4.92 -4.86 -2.67 f*
+255 0 r6
+2665.41 1513.98 -1.73 -6.21 10.85 -6.66 -3.82 10.68 -5.3 2.19 f*
+110 210 9 rG
+2667.88 1694.83 -0.3 -0.08 0.46 -0.26 0.91 0.09 -1.06 0.26 f*
+2667.96 1706.34 -0.21 -5.86 0.13 -0.07 13.48 -7.14 3.8 4.62 0.41 0.5 -3.93 6.75 -3.34 1 
+0 -5.99 1.25 -0.97 -0.5 -0.63 -1.69 0.91 0.93 0.69 0 5.99 -3.71 1.11 -6.62 -0.91 f*
+0 155 255 rG
+2673.89 1788.52 -1.09 7.5 3.06 -0.91 0 -1.04 0.67 -5.19 12.46 -3.78 -0.37 5.14 -9.75 2.93 
+-3.02 0.89 0 1.04 6.23 -1.87 9.29 -2.75 0.43 -7.45 -17.92 5.47 f*
+2 239 204 rG
+2677 1763.76 -1.78 -2.02 5.93 -1.52 11.29 1.49 2.58 1.2 -6.99 2.63 -11.03 -1.78 f*
+2676.54 1788.89 -0.67 5.19 3.02 -0.89 0 -1.08 0.33 -2.87 6.95 -2.08 -0.24 2.84 -4.06 1.21 
+-2.97 0.89 0 1.08 9.75 -2.93 0.37 -5.14 -12.46 3.78 f*
+7 193 59 rG
+2678.3 1700.15 -0.93 -0.69 1.69 -0.91 0.5 0.63 -1.25 0.97 f*
+2679.21 1789.23 -0.33 2.87 2.97 -0.89 0 -1.08 0.04 -0.57 1.35 -0.39 -0.04 0.54 -1.35 0.42 
+0 1.08 4.06 -1.21 0.24 -2.84 -6.95 2.08 f*
+110 210 9 rG
+2685.16 1682.31 -3.67 -1.47 5.38 -5.26 4.04 3.2 -5.75 3.54 f*
+2681.9 1789.56 -0.04 0.57 1.35 -0.42 0.04 -0.54 -1.35 0.39 f*
+0 155 255 rG
+2685.37 1572.87 -3.36 0.55 0.99 -3.17 2.11 -8.83 1.63 -6.08 7.59 -2.52 6.64 -1.98 9.01 -2.41 
+-1.98 9.81 -9.27 9.7 -10 3.7 0 -3.89 6.62 -3.64 10.53 -8.21 0.87 -4.4 -4.06 1.06 
+-11.69 3.43 -2.67 0.87 -0.56 2.13 0.98 8.77 0 3.89 -3.37 1.23 f*
+0 255 r6
+2687.46 1737.3 -4.54 1.54 3.12 4.17 16 -4.58 -9.31 -2.91 -5.27 1.78 f*
+7 193 59 rG
+2687.46 1726.3 -0.22 -1.8 4.12 -3.55 6.84 2.84 -10.74 2.52 f*
+255 0 r6
+2688.74 1567.75 -0.98 -8.77 0.56 -2.13 2.67 -0.87 11.69 -3.43 4.06 -1.06 -0.87 4.4 -10.53 8.21 
+-6.62 3.64 f*
+255 203 0 rG
+2692.51 1696.81 -0.91 0.69 0.33 0.65 1.25 -0.91 -0.67 -0.43 f*
+0 255 r6
+2701.96 1752.73 -8.77 1.76 5.23 1.66 4.96 -1.66 -1.43 -1.76 f*
+2 239 204 rG
+2707.86 1746.62 -5.04 -0.33 7.4 -2.25 -0.48 1.97 -1.89 0.61 f*
+0 255 r6
+2707.9 1608.88 -1.89 4.43 3.13 -1.2 0.82 -1.07 -2.06 -2.16 f*
+7 193 59 rG
+2715.52 1643.36 -8.29 -2.17 2.15 -7.87 4.55 -3.58 2.32 0.32 3.73 5.54 -4.47 7.77 f*
+2708.68 1687.79 -0.09 -0.09 0.17 -0.15 1.34 -0.17 -1.43 0.41 f*
+0 155 255 rG
+2713.11 1566.1 -0.11 -1.95 6.23 -3.28 -4.21 5.84 -1.91 -0.61 f*
+2 239 204 rG
+2718.36 1598.42 -0.43 -0.17 0.04 -0.66 0.55 0.26 -0.15 0.57 f*
+0 255 r6
+2725.54 1625.46 -0.61 7.83 3.17 0.04 13.02 -3.99 6.23 -7.45 5.02 -7.4 8.48 -0.24 4.97 -0.84 
+0.8 -2.61 -1.52 -1.21 -9.83 -0.74 -3.84 1.43 -7.18 5.08 -4.47 5.12 -9.55 2.54 -3.6 0.73 
+-1.09 1.7 f*
+2 239 204 rG
+2726.97 1647.11 -0.97 -6.92 2.56 -1.9 2.56 -0.39 1.11 7.01 -3.45 3.41 -1.8 -1.2 f*
+0 255 r6
+2726.32 1583.83 10.39 1.59 -6.07 6.86 -3.75 8.53 4.55 -1.02 0 -1.91 0.84 -1.89 10.59 -9.94 
+2.88 2.13 -1.11 1.82 -11.71 7.53 -1.5 0.34 0 1.91 2.21 -0.5 11.61 -7.86 3.13 -5.12 
+-6.27 -4.82 -1.48 0.02 -14.32 2.32 f*
+255 203 0 rG
+2732.29 1595.98 -0.84 1.89 1.5 -0.34 11.71 -7.53 1.11 -1.82 -2.88 -2.13 -10.59 9.94 f*
+255 0 r6
+2744.51 1561.2 -3.8 1.69 0.46 -6.49 6.6 0.43 -3.25 4.37 f*
+2 239 204 rG
+2747.8 1681.36 -6.37 -2.48 9.61 -8.79 11.48 1.52 -13.52 8.96 0 -3 3.75 -2.43 -2.9 -0.43 
+-2.5 2.26 1.65 0.61 0 3 -1.2 0.78 f*
+255 0 r6
+2749.96 1604.73 -4.1 1.21 2.47 -6.38 8.21 -0.41 -6.58 5.58 f*
+2 239 204 rG
+2746.55 1486.11 -0.05 8.62 5.58 7.86 4.69 8.64 -0.2 1.19 -1.11 13.59 1.81 -0.21 0 -1.72 
+0.84 -10.11 0.78 -5.26 -5.34 -7.94 -5.1 -8.57 0.02 -4.58 4.27 -1.19 10.01 -4.19 7.07 -2.87 
+8.53 -1.3 4.97 -0.7 12.26 -1.76 1.46 -0.39 12.82 -0.84 4.54 0.87 6.23 1.22 0.39 5.92 
+-5.77 1.45 -7.4 4.19 -8.25 11.11 -6.84 -2.13 -11.67 -0.65 -2.05 0.61 -10.95 8.01 -1.07 8.24 
+-0.56 9.72 -7.42 0.89 -1.78 0.24 0 1.72 10.57 -1.26 0.78 -13.13 0.67 -5.21 10.33 -7.98 
+0.55 -0.11 10.24 1.84 9.12 3.82 6.75 6.62 -5.45 12.26 -1.97 9.42 9.68 3 -3.25 15.58 
+0.41 8.23 -1.91 4.77 -3.56 13.98 11.76 0.2 0 -1.96 -0.61 0 -8.81 -0.11 4.38 -13.95 
+10.22 1.74 4.79 3.1 0 -3.49 -1.97 -1.23 -0.57 -0.35 -9.79 -3.04 6.84 -8.91 2.97 -0.09 
+9.44 3.41 -6.92 10.22 0 3.49 1.5 0.98 8.79 -15.54 2.73 -4.99 -3.8 2.35 -10.61 -0.98 
+-4.57 0.17 -9.51 0.89 2.93 -13.48 3.23 -5.21 -6.23 0.22 -5.16 -1.48 1.02 -4.84 7.42 -13.11 
+6.3 -4.84 0 -9.29 -10.7 -0.79 3.86 -7.24 3.2 -1.79 3.64 9.81 0 9.29 4.53 -3.5 
+3.71 0.54 5.71 8.01 5.12 8.46 11.75 1 1.25 0.09 12.02 -6.32 3.49 1.34 9.07 4.02 
+0.54 13.65 -2.37 6.79 -11.26 8.18 -6.3 18.01 -1.56 3.76 -3.89 1.13 -9.68 -1.45 -1.82 -0.3 
+-9.98 0.58 -1.87 0.11 -2.84 0.32 -9.66 4.64 0 1.96 0.59 0.02 2.47 -1.17 10.75 -1.08 
+4.46 -0.2 9.45 1.67 1.86 0.33 10.86 -3.04 4.47 -10.59 3.82 -10.92 10.92 -9.53 4.21 -12.13 
+-1.78 -12.39 -7.87 -5.43 -8.72 -3.23 -1.87 0.98 -1.58 -6.99 -1.76 -4.19 -1.06 -0.37 -8.98 11.39 
+-6.32 -6.14 -7.9 -5.53 -10.8 -2 6.14 -12.28 -0.71 -11.26 -10.48 -2.52 -1.32 0.37 -11.37 0.31 
+-6.04 1.69 -8.18 1.22 -9.16 1.3 -4.34 0.67 -7.05 2.87 -3.36 1.39 -6.6 2.78 -8.14 2.32 f*
+0 155 255 rG
+2749 1677.58 -1.65 -0.61 2.5 -2.26 2.9 0.43 -3.75 2.43 f*
+2 239 204 rG
+2751.93 1700.37 -3.65 -0.2 5.23 -3.12 9.83 -1.17 -11.41 4.49 f*
+7 193 59 rG
+2748.48 1487.61 -0.02 4.58 5.1 8.57 5.34 7.94 -0.78 5.26 -0.84 10.11 1.78 -0.24 0 -1.72 
+0.56 -6.64 1.41 -9.29 -6.01 -7.25 -4.62 -9.33 0 -0.46 0.43 -0.13 13.41 -5.57 3.71 -1.48 
+12.7 -1.89 0.82 -0.11 13.85 -2.32 2.61 0.17 10.05 -0.78 10.07 2.02 0.65 0.13 0.04 0.61 
+-0.61 0.18 -11.57 6.62 -11.37 7.4 -0.16 0.09 -12.67 0.71 -4.23 1.26 -11.24 7.73 -1.45 11.24 
+-0.35 6.34 -4.25 0.54 -1.78 0.21 0 1.72 7.42 -0.89 0.56 -9.72 1.07 -8.24 10.95 -8.01 
+2.05 -0.61 11.67 0.65 6.84 2.13 8.25 -11.11 7.4 -4.19 5.77 -1.45 -0.39 -5.92 -6.23 -1.22 
+-4.54 -0.87 -12.82 0.84 -1.46 0.39 -12.26 1.76 -4.97 0.7 -8.53 1.3 -7.07 2.87 -10.01 4.19 
+-4.27 1.19 f*
+110 210 9 rG
+2750.39 1489.15 0 0.46 4.62 9.33 6.01 7.25 -1.41 9.29 -0.56 6.64 1.78 -0.21 0 -1.73 
+0.28 -3.12 2.02 -13.39 -6.64 -6.55 -2.32 -4.84 11.54 -7.57 0.35 -0.13 13.8 -2.39 2.52 -0.54 
+11.48 -1.97 6.4 0.48 5.77 -0.43 -0.82 5.49 -6.51 4.29 -5.06 3.15 -10.05 0.59 -6.4 1.93 
+-11.53 7.46 -0.39 2.97 -1.45 11.26 -0.15 2.95 -2.84 0.37 0 1.73 4.25 -0.54 0.35 -6.34 
+1.45 -11.24 11.24 -7.73 4.23 -1.26 12.67 -0.71 0.16 -0.09 11.37 -7.4 11.57 -6.62 0.61 -0.18 
+-0.04 -0.61 -0.65 -0.13 -10.07 -2.02 -10.05 0.78 -2.61 -0.17 -13.85 2.32 -0.82 0.11 -12.7 1.89 
+-3.71 1.48 -13.41 5.57 -0.43 0.13 f*
+0 255 r6
+2754.36 1650 -2.19 1.73 1.97 0.54 2.28 -2.37 -2.06 0.09 f*
+2765.71 1484.68 -11.54 7.57 2.32 4.84 6.64 6.55 -2.02 13.39 -0.28 3.13 2.84 -0.37 0.15 -2.95 
+1.45 -11.26 0 -4.55 2.13 -14.89 10.91 -1.87 5.62 -1.2 8.47 -1.45 10.18 0.83 1.52 -0.11 
+-0.22 1.43 -1.71 1.15 -9.92 6.25 -7.42 0.45 -8.57 2.61 -8.64 5.34 -2.34 1.46 0 4.55 
+0.39 -2.97 11.53 -7.46 6.4 -1.93 10.05 -0.59 5.06 -3.15 6.51 -4.29 0.82 -5.49 -5.77 0.43 
+-6.4 -0.48 -11.48 1.97 -2.52 0.54 -13.8 2.39 -0.35 0.13 f*
+2 239 204 rG
+2760.98 1456.79 -6.3 3.02 0.91 5.4 9.05 1.76 -3.66 -10.18 f*
+255 0 r6
+2757.4 1569.71 -1.58 -9.14 0.3 -6.55 6.59 0.52 4.8 6.77 -0.84 10.89 -9.27 -2.49 f*
+255 203 0 rG
+2767.41 1486.13 -2.13 14.89 2.34 -1.46 0 -1.48 1.5 -10.46 7.64 -1.28 8.73 -1.82 5.45 -0.91 
+-0.09 6.12 -4.8 0.3 -10.74 3.28 -5.34 3.34 -2.34 1.43 0 1.48 8.64 -5.34 8.57 -2.61 
+7.42 -0.45 9.92 -6.25 1.71 -1.15 0.22 -1.43 -1.52 0.11 -10.18 -0.83 -8.47 1.45 -5.62 1.2 
+-10.91 1.87 f*
+2 239 204 rG
+2770.18 1547.77 -4.47 -3.89 2.11 6.05 4.43 7.29 1.99 -0.02 0.65 -2.3 -4.71 -7.14 f*
+255 0 r6
+2776.17 1575.39 -8.74 -3.43 4.82 -5.71 4.21 -5.02 3.02 -10.45 -4.78 -7.27 -5.8 -6.4 1.7 -9.27 
+1.84 -7.12 -2.23 -11.17 0.28 -2.15 4.3 -3.28 9.24 -2.02 3.97 0.76 8.05 5.01 5.45 7.92 
+-2.15 4.77 -2.93 13.93 6.55 6.08 1.08 11.15 0.24 4.04 -4.53 11.26 -1.8 9.38 -6.32 7.81 
+-3.54 5.93 -2.58 -1.41 -4.93 -6.49 -4.43 -6.86 f*
+255 135 0 rG
+2769.12 1487.63 -1.5 10.46 2.34 -1.43 0 -1.47 0.85 -6.04 4.38 -0.74 11.83 -2.43 2.43 -0.39 
+-0.05 2.71 -2.12 0.15 -12.93 3.95 -2.09 1.32 -2.3 1.46 0 1.47 5.34 -3.34 10.74 -3.28 
+4.8 -0.3 0.09 -6.12 -5.45 0.91 -8.73 1.82 -7.64 1.28 f*
+255 35 0 rG
+2770.81 1489.15 -0.85 6.04 2.3 -1.46 0 -1.49 0.22 -1.57 1.13 -0.2 -0.21 1.04 -1.13 0.72 
+0 1.49 2.09 -1.32 12.93 -3.95 2.13 -0.15 0.05 -2.71 -2.43 0.39 -11.83 2.43 -4.38 0.74 f*
+189 0 54 rG
+2772.48 1490.67 -0.22 1.57 1.13 -0.72 0.21 -1.04 -1.12 0.2 f*
+7 193 59 rG
+2790.84 1654.05 -14 11.88 11.76 -1.54 5.58 -6.23 -3.34 -4.11 f*
+255 0 r6
+2796.77 1600.76 -2.23 -8.45 5.2 -10.39 7.27 1.08 5.55 1.41 1.82 0.45 5.4 -1.02 8.29 1.87 
+2 1.02 -1.15 3.93 -9.89 14.93 -1.18 1.3 -1.26 0.39 -7.16 -5.23 -5.12 0.37 -7.55 -1.67 f*
+7 193 59 rG
+2802.28 1524.71 -1.02 4.84 5.16 1.48 6.23 -0.22 -3.23 5.21 -2.93 13.48 9.51 -0.89 4.57 -0.17 
+10.61 0.98 3.8 -2.35 -2.73 4.99 -8.79 15.54 -1.5 -0.98 -4.79 -3.1 -10.22 -1.74 -4.38 13.95 
+8.81 0.11 0 -1.95 -0.65 0 -5.82 -0.04 3.04 -9.6 6.96 1.22 -3.54 8.42 0 1.95 
+0.61 0 9.66 -4.64 2.84 -0.32 1.87 -0.11 0 -3.6 6.73 -12.91 6.27 -11.5 -8.68 5.43 
+-8.99 -0.81 -6.14 0.24 -6.66 0.66 -1.2 0.11 2.43 -11.13 6.56 -10.63 -12.76 0.52 -0.26 -0.07 
+0.07 -0.24 8.83 -11.28 3.82 -2.47 6.08 7.29 -3.08 5.62 0.67 10.35 1.41 -0.29 0 -1.17 
+-0.34 -5.96 10.52 -4.8 -7.48 10.25 -1.26 0.25 -1.43 0.26 0 1.17 3.26 -0.58 10.77 -8.83 
+6.36 0.17 9.38 0.87 5.51 -3.32 5.45 -5.12 9.11 2.82 -0.7 14.91 -0.54 1.52 -2.78 2.02 
+-8.25 -1.48 -2.66 -0.47 -1.5 -2.56 0.54 3.55 -5.41 18.25 -0.67 3.2 -1.99 -0.68 -10.2 6.3 
+-7.1 0.37 -3.67 0.2 0 3.6 9.98 -0.58 1.82 0.3 9.68 1.45 3.89 -1.12 1.56 -3.76 
+6.3 -18.01 11.26 -8.18 2.37 -6.79 -0.54 -13.65 -9.07 -4.02 -3.49 -1.34 -12.02 6.32 -1.25 -0.09 
+-11.75 -1 -5.12 -8.46 -5.71 -8.01 -3.71 -0.54 -4.53 3.5 -6.3 4.84 -7.42 13.11 f*
+110 210 9 rG
+2803.71 1526.82 -0.07 0.24 0.26 0.07 12.76 -0.52 -6.56 10.63 -2.43 11.13 1.2 -0.11 0 -1.02 
+1.93 -8.77 7.77 -0.69 6.68 -1.24 12.09 -4.94 -7.21 15.34 -7.36 -0.62 -7.73 0.33 -5 0.47 
+-1.19 0.14 0 1.02 6.66 -0.66 6.14 -0.24 8.99 0.81 8.68 -5.43 -6.27 11.5 -6.73 12.91 
+3.67 -0.2 0 -3.04 3.89 -7.45 9.18 -13.67 7.31 1.82 -3.1 9.68 -11.07 9.25 -2.56 0.15 
+-3.65 0.22 0 3.04 7.1 -0.37 10.2 -6.3 1.99 0.68 0.67 -3.2 5.41 -18.25 -0.54 -3.55 
+1.5 2.56 2.66 0.47 0 -3.32 4.26 -14.13 6.59 2.09 -0.78 12.04 -10.07 0 0 3.32 
+8.25 1.48 2.78 -2.02 0.54 -1.52 0.7 -14.91 -9.11 -2.82 -5.45 5.13 -5.51 3.32 -9.38 -0.87 
+-6.36 -0.17 -10.77 8.83 -3.26 0.58 -1.41 0.29 -0.67 -10.35 3.08 -5.62 -6.08 -7.29 -3.82 2.47 
+-8.83 11.28 f*
+2807.95 1564.25 -3.04 9.6 5.82 0.04 0 -1.96 -3.47 0 1.65 -5.18 3.73 0.68 -1.91 4.51 
+0 1.96 0.65 0 3.54 -8.42 -6.96 -1.22 f*
+0 155 255 rG
+2816 1497.48 -10.7 -0.79 3.86 -7.24 3.2 -1.79 3.64 9.81 f*
+0 255 r6
+2808.9 1566.75 -1.65 5.18 2.32 0 0 -1.93 0.24 -0.76 0.54 0.11 -0.29 0.66 -0.5 0 
+0 1.93 1.15 0 1.91 -4.51 -3.73 -0.68 f*
+2810.8 1538.48 -1.93 8.77 1.19 -0.14 0 -1.02 1.41 -6.4 5.67 -0.48 8.68 -1.59 9.4 -3.8 
+-5.6 11.89 -5.73 -0.47 -9.31 0.41 -3.32 0.32 -1.2 0.11 0 1.02 5 -0.47 7.73 -0.33 
+7.36 0.63 7.21 -15.34 -12.09 4.94 -6.68 1.24 -7.77 0.69 f*
+255 203 0 rG
+2809.81 1569.25 -0.24 0.76 0.5 0 0.29 -0.66 -0.54 -0.11 f*
+0 155 255 rG
+2819.42 1561.54 -9.79 -3.04 6.84 -8.91 2.97 -0.09 9.44 3.41 -6.92 10.22 -1.97 -1.23 0 -4.06 
+-1.65 -7.29 -1.43 0.04 -3.21 4.28 6.29 2.97 0 4.06 -0.57 -0.35 f*
+255 203 0 rG
+2811.48 1539.7 -1.41 6.4 1.2 -0.11 0 -1.02 0.89 -4.04 3.55 -0.29 10.66 -1.91 6.73 -2.7 
+-4.02 8.47 -4.1 -0.33 -10.89 0.48 -1.62 0.17 -1.2 0.13 0 1.02 3.32 -0.32 9.31 -0.41 
+5.73 0.47 5.6 -11.89 -9.4 3.8 -8.68 1.59 -5.67 0.48 f*
+255 135 0 rG
+2812.16 1540.93 -0.89 4.04 1.2 -0.13 0 -1.02 0.37 -1.63 1.43 -0.11 12.66 -2.23 4.04 -1.58 
+-2.41 5.03 -0.57 -0.04 -1.89 -0.15 -12.48 0.61 -1.15 0.11 0 1.02 1.63 -0.17 10.89 -0.48 
+4.1 0.33 4.02 -8.47 -6.73 2.7 -10.66 1.91 -3.55 0.29 f*
+255 35 0 rG
+2812.83 1542.19 -0.37 1.63 1.15 -0.11 12.48 -0.61 1.89 0.15 0 -1.17 -0.8 -0.04 0.28 -1.09 
+1.33 -0.52 -0.8 1.65 0 1.17 0.57 0.04 2.41 -5.03 -4.04 1.58 -12.66 2.23 -1.43 0.11 f*
+255 0 r6
+2819.99 1557.83 -6.29 -2.97 3.21 -4.28 1.43 -0.04 1.65 7.29 f*
+2 239 204 rG
+2821.44 1534.87 -0.34 -5.96 10.52 -4.8 -7.48 10.25 -1.26 0.25 0 -1.19 0.67 -0.16 1.91 -2.56 
+-2.67 1.19 0.08 1.52 0 1.19 -1.43 0.26 f*
+0 155 255 rG
+2822.87 1533.42 -0.08 -1.52 2.67 -1.19 -1.91 2.56 -0.67 0.16 f*
+189 0 54 rG
+2827.45 1540.95 -0.28 1.09 0.8 0.04 0.8 -1.65 -1.33 0.52 f*
+0 255 r6
+2833.9 1556.49 -3.89 7.45 3.65 -0.22 0 -3.06 1 -1.93 9.64 -8.03 -9 9.87 -1.63 0.09 
+0 3.06 2.56 -0.15 11.07 -9.25 3.1 -9.68 -7.31 -1.82 -9.18 13.67 f*
+255 203 0 rG
+2834.66 1558.72 -1 1.93 1.63 -0.09 9 -9.87 -9.64 8.03 f*
+0 255 r6
+2863.26 1521.57 -4.26 14.13 2.65 0 0 -2.87 2.69 -8.89 4.1 1.35 -0.46 7.5 -3.69 0.02 
+-2.64 0.02 0 2.87 7.42 0 0.78 -12.04 -6.59 -2.09 f*
+255 203 0 rG
+2864.34 1523.94 -2.69 8.89 2.64 -0.02 0 -2.86 1.09 -3.63 1.64 0.57 -0.18 3.02 -2.56 0.04 
+0 2.86 3.69 -0.02 0.46 -7.5 -4.1 -1.35 f*
+255 135 0 rG
+2865.39 1526.32 -1.09 3.63 2.56 -0.04 0.18 -3.02 -1.64 -0.57 f*
+Q q
+0 72 3400 0 0 4128 ^ Y
+255 G
+1829.88 1315 0 -24.85 0.26 -10.22 0.5 -11.31 0.7 -11.31 0.89 -11.31 1.09 -11.26 1.28 -11.25 
+1.47 -11.24 1.67 -11.2 1.87 -11.17 2.06 -11.14 2.25 -11.09 2.43 -11.05 2.64 -11.02 2.82 -10.96 
+3.04 -10.91 3.21 -10.86 3.39 -10.8 3.61 -10.74 3.78 -10.68 3.95 -10.62 4.14 -10.52 4.34 -10.46 
+4.51 -10.39 4.69 -10.3 4.86 -10.22 5.06 -10.13 5.21 -10.05 5.4 -9.94 5.58 -9.86 5.73 -9.76 
+5.9 -9.66 6.08 -9.54 6.25 -9.45 6.4 -9.33 6.58 -9.23 6.73 -9.11 6.88 -8.98 7.04 -8.86 
+7.2 -8.74 7.34 -8.59 7.5 -8.49 3.82 -4.18 3.82 -4.16 3.89 -4.11 3.88 -4.12 7.95 -8.07 
+4.04 -3.97 4.02 -3.97 4.1 -3.88 4.1 -3.91 4.19 -3.82 4.16 -3.82 8.47 -7.51 4.29 -3.67 
+4.3 -3.69 8.72 -7.21 4.43 -3.52 4.43 -3.54 4.49 -3.45 4.5 -3.43 4.53 -3.39 4.56 -3.36 
+4.6 -3.28 4.6 -3.3 4.67 -3.21 4.64 -3.19 4.73 -3.15 4.71 -3.12 4.77 -3.04 4.75 -3.04 
+4.84 -2.95 4.82 -2.95 4.86 -2.89 4.88 -2.87 4.93 -2.8 4.9 -2.78 4.97 -2.71 4.97 -2.69 
+5.04 -2.63 5.01 -2.61 5.06 -2.54 5.05 -2.52 5.1 -2.45 5.1 -2.43 5.17 -2.34 5.14 -2.34 
+10.37 -4.52 5.21 -2.17 5.23 -2.16 5.25 -2.09 5.27 -2.06 5.3 -2 5.3 -1.97 5.34 -1.89 
+5.32 -1.89 5.36 -1.8 5.38 -1.8 5.38 -1.7 5.39 -1.71 10.85 -3.21 5.45 -1.52 5.45 -1.5 
+5.49 -1.43 5.47 -1.41 5.49 -1.33 5.51 -1.32 5.51 -1.21 5.51 -1.23 5.55 -1.13 5.54 -1.13 
+5.55 -1.02 5.58 -1.04 11.16 -1.87 5.57 -0.84 5.6 -0.82 5.6 -0.74 5.62 -0.74 5.6 -0.65 
+5.62 -0.62 5.64 -0.57 5.62 -0.52 5.64 -0.46 5.64 -0.43 11.29 -0.69 5.64 -0.26 5.64 -0.24 
+5.66 -0.15 4.38 -0.11 25.15 0 4.39 0.11 5.66 0.15 5.64 0.24 5.64 0.26 11.28 0.69 
+5.64 0.43 5.64 0.46 5.62 0.54 5.64 0.55 5.62 0.63 5.62 0.65 11.2 1.48 5.59 0.82 
+5.6 0.84 11.16 1.87 5.55 1.04 5.56 1.02 5.53 1.13 5.55 1.13 5.51 1.23 5.54 1.21 
+10.98 2.65 5.47 1.41 5.49 1.43 5.45 1.5 5.45 1.52 10.85 3.21 5.38 1.71 5.41 1.7 
+10.72 3.6 5.32 1.89 5.34 1.89 5.3 1.97 5.29 2 5.27 2.06 5.25 2.09 5.23 2.16 
+5.21 2.17 10.38 4.52 5.16 2.34 5.14 2.34 5.1 2.45 5.1 2.43 5.05 2.52 5.06 2.54 
+5.04 2.61 5.01 2.63 4.97 2.69 4.97 2.71 4.91 2.78 4.92 2.8 4.88 2.87 4.86 2.89 
+4.84 2.95 4.82 2.95 4.75 3.04 4.78 3.04 4.7 3.14 4.73 3.13 4.67 3.19 4.64 3.21 
+4.6 3.3 4.6 3.28 4.55 3.36 4.54 3.39 4.49 3.43 4.5 3.45 4.43 3.54 4.42 3.52 
+8.73 7.21 4.29 3.69 4.3 3.67 8.46 7.51 4.19 3.82 4.17 3.82 4.1 3.91 4.11 3.88 
+4.03 3.97 4.02 3.97 7.94 8.07 3.89 4.13 3.88 4.11 3.82 4.16 3.82 4.18 7.5 8.49 
+7.34 8.59 7.21 8.74 7.03 8.86 6.88 8.98 6.72 9.11 6.58 9.23 6.4 9.33 6.25 9.45 
+6.08 9.54 5.91 9.66 5.75 9.76 5.55 9.86 5.4 9.94 5.21 10.05 5.05 10.13 4.86 10.22 
+4.69 10.3 4.51 10.39 4.35 10.46 4.14 10.52 3.95 10.62 3.77 10.68 3.61 10.74 3.38 10.8 
+3.21 10.86 P
+3.04 10.91 2.82 10.96 2.65 11.02 2.43 11.05 2.25 11.09 2.06 11.14 1.87 11.17 1.67 11.2 
+1.48 11.24 1.28 11.25 1.09 11.26 0.89 11.31 0.7 11.31 0.49 11.31 0.26 10.22 0 24.85 
+-0.26 10.22 -0.49 11.31 -0.7 11.3 -0.89 11.29 -1.09 11.28 -1.28 11.24 -1.48 11.24 -0.28 1.87 
+0 -133.57 -0.06 -2.09 -0.07 -2.13 -0.09 -2.15 -0.11 -2.17 -0.11 -2.19 -0.22 -4.51 -0.13 -2.32 
+-0.15 -2.34 -0.18 -2.37 -0.34 -4.02 -0.41 -4.04 -0.41 -4.06 -0.45 -4.1 -0.5 -4.14 -0.41 -3.3 
+-0.41 -3.32 -0.45 -3.36 -0.46 -3.38 -0.5 -3.41 -0.26 -1.99 -0.28 -2.04 -0.26 -2.06 -0.3 -2.06 
+-0.3 -2.12 -0.61 -3.61 -0.63 -3.62 -0.67 -3.66 -0.67 -3.69 -0.72 -3.71 -0.75 -3.75 -0.76 -3.8 
+-0.8 -3.82 -0.85 -3.84 -0.86 -3.87 0.21 1.43 0.21 1.39 0.09 0.7 0.85 3.9 0.8 3.86 
+0.76 3.84 0.74 3.78 0.7 3.73 0.5 2.85 0.5 2.8 0.48 2.78 0.46 2.75 0.43 2.71 
+0.41 2.63 0.39 2.61 0.39 2.58 0.39 2.56 0.34 2.54 0.35 2.56 0.32 2.54 0.61 4.99 
+0.28 2.45 0.47 3.97 0.44 3.95 0.41 3.88 0.39 3.87 0.35 3.82 0.61 6.49 0.5 6.45 
+0.46 6.36 0.37 6.3 0 133.57 -1.39 9.33 -1.87 11.16 -2.06 11.16 -2.25 11.09 -2.43 11.05 
+-2.65 11.03 -2.82 10.95 -3.04 10.92 -3.21 10.85 -2.61 8.27 0 -13 0.89 -2.65 0.89 -2.71 
+0.87 -2.78 0.89 -2.84 0.91 -2.93 0.54 -2.17 0.54 -2.14 0.52 -2.13 0.5 -2.11 0.5 -2.08 
+-1.37 5.05 -1.39 4.97 -1.41 4.9 -1.41 4.84 -1.48 4.78 0 13 -0.78 2.54 -3.61 10.74 
+-3.77 10.68 -3.95 10.61 -2.04 5.19 0 -12.48 1.21 -3.16 1.24 -3.22 1.21 -3.27 1.23 -3.3 
+1.21 -3.37 -0.93 2.73 -0.96 2.74 -0.96 2.71 -0.97 2.73 -1 2.73 1.39 -3.64 1.37 -3.69 
+1.34 -3.73 1.34 -3.79 1.35 -3.82 1.02 -3.28 1 -3.23 0.96 -3.19 0.93 -3.16 0.91 -3.15 
+-1.13 3.67 -1.17 3.65 -1.2 3.63 -1.19 3.58 -1.22 3.58 -1.37 3.93 -1.39 3.88 -1.41 3.87 
+-1.41 3.82 -1.43 3.78 0 12.48 -2.11 5.34 -4.35 10.46 -4.51 10.39 -4.69 10.3 -4.86 10.22 
+-5.05 10.13 -5.21 10.05 -0.76 1.36 0 -20.86 1.08 -1.82 1.09 -1.84 1.11 -1.89 0.91 -2.3 
+0.89 -2.28 0.87 -2.21 -1.04 1.7 -1.07 1.67 -1.02 1.63 -0.91 2.41 -0.93 2.46 -0.98 2.49 
+0 20.86 -0.7 1.3 0 -23.74 1.67 -3.56 1.67 -3.53 1.61 -3.52 0.46 -1.29 0.44 -1.25 
+0.41 -1.24 1.47 -3.78 0.7 -1.84 -0.78 1.41 -0.8 1.39 -0.78 1.37 -1.07 2.24 -1.06 2.21 
+-1.09 2.23 -1.08 2.82 -1.13 2.89 -1.15 2.91 0.17 0.2 0.35 0.35 0 23.74 -3.95 7.27 
+-5.55 9.85 -3.84 6.53 0 -39.97 1.35 -1.82 1.37 -1.89 1.39 -1.93 0.65 -0.74 0.67 -0.75 
+0.67 -0.79 1.61 -3.52 1.56 -3.5 1.54 -3.49 -0.57 0.71 -0.56 0.7 -0.55 0.7 -1.08 1.65 
+-1.07 1.63 -1.08 1.58 -1.56 2.72 -1.59 2.69 -1.58 2.63 -0.39 1.15 -0.39 1.13 -0.39 1.15 
+0 39.97 -1.91 3.23 -3.23 5.29 0 -46.74 1.47 -2.21 1.48 -2.26 2.76 -5.32 2.73 -5.34 
+-2.41 3.88 -0.72 1.13 0 -1.84 1.84 -2.97 1.82 -3.04 2.04 -4.41 2.02 -4.45 2.54 -5.08 
+2.54 -5.16 p
+0.66 -2.17 0.65 -2.15 2.28 -5.54 2.21 -5.54 1.61 -4.54 1.57 -4.51 0.58 -2.41 0.57 -2.38 
+0.54 -2.37 0.54 -2.34 0.22 -1.67 0.21 -1.63 -1.7 2.39 0.2 -1.63 0.17 -1.62 -0.76 1.63 
+-0.79 1.59 -0.25 1.99 -0.3 2.02 -0.61 2.71 -0.66 2.75 -0.93 3.37 -1 3.41 -0.52 2.02 
+-0.05 0.2 0 -27.11 0.7 -0.28 0.67 -0.3 1 -0.13 1.06 -1.7 1.09 -1.71 1.78 -4.32 
+1.75 -4.36 -0.04 1.45 -0.09 1.46 0.7 -0.17 0.67 -0.2 -0.67 3.19 -0.71 3.23 0.78 -0.89 
+0.78 -0.93 1.59 -4 1.59 -4.05 0.52 -2.39 0.5 -2.39 0.48 -2.41 0.46 -2.39 1.15 -2.69 
+1.15 -2.74 1.22 -2.08 1.21 -2.12 0.48 -0.07 0.49 -0.07 1.63 -4.66 1.63 -4.71 1.26 -3.06 
+1.26 -3.12 -0.48 3.43 -0.52 3.49 1.28 -4.52 1.24 -4.51 0.26 0.54 0.26 0.59 -0.35 3.47 
+1.07 -4.23 1.04 -4.23 0.3 0.2 0.28 0.21 0.02 1.52 0.02 1.56 1.24 -4.71 1.19 -4.73 
+0.41 -3.23 0.39 -3.19 -0.82 2.3 -0.31 0.87 0 -57.33 0.55 -0.87 0.54 -0.89 0.91 -4.68 
+0.89 -4.76 0.76 -3.8 0.71 -3.84 0.76 -3.64 0.74 -3.69 0.8 -4.43 0.76 -4.5 0.5 -4.45 
+0.48 -4.46 0.61 -4.8 0.59 -4.84 0.34 -0.78 0.33 -0.8 0.19 2.73 0.2 2.76 0.48 -2.34 
+0.48 -2.39 0.5 -2.17 0.5 -2.19 0.32 -4.78 0.31 -4.82 0.35 -4.46 0.32 -4.5 0.19 -5.67 
+0.16 -5.68 0.3 -3.52 0.3 -3.55 0.2 -2.84 0.2 -2.89 0.02 -4.88 0 -4.9 -0.2 -5.21 
+-0.24 -5.21 0.07 -3.11 0.04 -3.13 -0.21 -6.55 0.24 -2.71 0.24 -2.76 0.32 -0.39 0.35 -0.39 
+-0.09 -4.02 -0.09 -4.05 0.07 -3.21 0.04 -3.25 0.11 -2.32 0.09 -2.37 -0.5 -4.58 -0.52 -4.56 
+-0.07 -1.71 -0.13 -3.47 -0.25 -2.5 -0.57 -5.04 -0.48 -3.71 -0.48 -3.75 -1.04 -7.51 -0.54 -3.78 
+-0.57 -3.77 1.13 5.21 0.57 2.63 -0.26 -2.59 -0.29 -2.61 -0.28 -2.62 -0.39 -3.95 -0.21 -1.98 
+-0.76 -3.93 -0.8 -3.93 -0.82 -3.93 -0.63 -3.25 -0.65 -3.26 -0.67 -3.28 -0.52 -2.78 -0.52 -2.8 
+-0.54 -2.82 -0.17 -1.5 -0.35 -3.04 -0.96 -4.19 -0.98 -4.21 -1.02 -4.23 -1.05 -4.32 -1.08 -4.34 
+-1.13 -4.36 -1 -3.6 -1.02 -3.61 -1.05 -3.62 -1.52 -4.93 -1.54 -4.93 -1.61 -4.92 -1.2 -3.37 
+-1.19 -3.34 -1.22 -3.32 -1.74 -4.71 -1.75 -4.67 -1.78 -4.66 -1.61 -4.13 -1.63 -4.12 -1.65 -4.1 
+-2 -4.82 -2.04 -4.8 -2.06 -4.77 -3.64 -8.16 -1.87 -4.05 -1.13 -2.15 -1.11 -2.15 -1.13 -2.12 
+-3.6 -7.04 -1.82 -3.45 -1.84 -3.43 -1.84 -3.39 -1.87 -3.36 -2.09 -3.56 -2.08 -3.54 -2.08 -3.46 
+-1.65 -2.87 -1.67 -2.87 -1.67 -2.82 -3.77 -5.99 -1.89 -2.93 -1.56 -2.39 -1.57 -2.36 -1.56 -2.32 
+-1.46 -2.08 -1.45 -2.07 -1.46 -2.04 -1.52 -2.08 -1.5 -2.06 -1.5 -2.04 -1.25 -1.26 -0.63 -0.61 
+-1.43 -1.82 -1.41 -1.8 -1.41 -1.79 -1.52 -2.04 -3.04 -3.99 -1.82 -2.34 -1.83 -2.3 -1.82 -2.26 
+-3.28 -4.1 -3.29 -4.02 -1.65 -1.89 -1.67 -1.84 -2.58 -2.91 -2.58 -2.87 -3 -3.58 -3 -3.52 
+-2.86 -3.21 -2.84 -3.13 -2.65 -3.05 -2.66 -3 -2.46 -2.67 -2.45 -2.62 -0.65 -0.22 -0.65 -0.2 
+1.21 2 1.17 1.97 0.42 1.05 0.39 1.06 -0.41 -0.12 -0.43 -0.14 -2.3 -1.34 -1.73 -1 
+-2.36 -2.14 p
+-2.37 -2.11 2.11 2.69 2.08 2.69 2.04 2.7 2 2.69 5.08 5.91 -0.74 0.25 3.54 4.3 
+3.54 4.36 -1.93 -1.82 -1.91 -1.8 -0.95 -0.65 -0.96 -0.63 -1.32 -0.98 -1.3 -0.93 2.6 3.95 
+1.74 2.54 1.74 2.52 0.84 1.5 0.82 1.5 0.83 1.58 0.8 1.59 -0.65 -0.41 -0.67 -0.41 
+1.97 2.71 1.93 2.69 0.74 1.52 0.71 1.52 1.91 2.97 1.89 2.95 1.86 2.84 1.82 2.87 
+1.71 2.49 1.67 2.5 1.15 1.34 1.15 1.37 2.13 3.27 2.08 3.28 2.04 3.39 2 3.38 
+1.67 3.16 1.65 3.15 -0.35 0.45 -0.32 0.43 1.09 1.3 1.11 1.33 1.86 2.62 1.87 2.67 
+1.48 2.54 1.43 2.56 1.82 3.45 1.75 3.45 -2.12 -3.28 -2.17 -3.25 -3.64 -5.29 -0.02 0.63 
+0 0.61 -0.37 0.06 -0.37 0.05 1.09 1.58 1.07 1.58 0.75 0.55 0.76 0.59 1.41 2.14 
+1.41 2.18 2.13 3.38 2.08 3.39 1.8 2.52 1.78 2.54 3.04 5.49 3 5.55 -1.43 -2.06 
+-1.43 -2.02 -2.06 -3.26 -2.08 -3.23 -1.11 -1.11 -1.13 -1.11 -1.41 -1.75 -1.43 -1.72 -1.43 -1.75 
+-1.43 -1.7 -1.76 -2.52 -1.78 -2.5 1.67 3.13 1.65 3.15 1.61 2.97 1.59 2.97 1.58 3.14 
+1.54 3.15 1.87 3.6 1.82 3.61 1.3 4.77 1.61 2.71 1.59 2.74 0.7 2.12 0.67 2.08 
+0.57 3.09 0.48 3.3 -0.37 0.43 -0.34 0.46 1.08 4 0.21 1.47 0.2 1.48 -0.37 0.33 
+-0.35 0.32 -0.37 0.3 -0.37 0.32 -0.52 0.39 -0.5 0.39 -0.74 -0.26 -0.74 -0.24 -0.89 -0.76 
+-0.89 -0.73 -1.24 -1.26 -1.21 -1.25 -0.7 -0.31 -0.68 -0.28 -0.73 -0.2 -0.72 -0.2 -0.7 1.65 
+-0.83 -0.79 -0.84 -0.78 -1.52 -1.78 -1.54 -1.76 -0.91 -0.71 -0.93 -0.72 -1.1 -0.7 -1.11 -0.67 
+-3.12 -5.77 -1.39 -1.7 -1.37 -1.7 -0.45 0.24 -0.35 0.22 0 -49.2 0.35 -0.35 0.37 -0.34 
+-1.15 -2.69 -1.17 -2.72 -1.09 -0.89 -1.09 -0.87 0.09 2.3 1.11 2.02 1.08 2.02 0.76 0.76 
+0.74 0.76 0 49.2 -0.09 0.04 -0.91 0.48 -0.63 0.31 -0.61 0.3 -0.56 0.26 -0.59 0.26 
+-1.13 0.48 -0.93 -0.24 -0.93 -0.21 -0.56 -0.32 -0.57 -0.3 -3.09 -4.3 -0.43 0.16 -0.41 0.17 
+-1.39 -1.61 -1.39 -1.58 -0.98 -1.24 -1 -1.22 -0.59 0.22 -0.61 0.24 -1.21 0.44 -0.52 0.17 
+-0.54 0.2 -0.16 1.08 -0.15 1.07 0.91 2.71 0.91 2.69 -0.13 0.95 -0.16 0.96 1.58 3.04 
+1.55 3.04 0.7 0.3 0.69 0.32 0.93 1.26 0.95 1.23 0.76 1.74 0.74 1.73 3.17 6.17 
+2.82 6.12 0.48 1.78 0.45 1.76 0.79 2.23 0.75 2.24 0.83 2.64 0.8 2.65 0.87 2.64 
+0.87 2.63 1.06 2.66 1.04 2.65 0.76 2.21 0.76 2.23 0.54 2.62 0.52 2.61 0.39 2.59 
+0.37 2.56 0.79 2.17 0.74 2.17 1.7 6.99 -0.09 3.23 1.15 5.16 0.11 -4.02 1.98 9.42 
+-0.57 -4.17 0.11 -3.34 1.93 6.3 0.54 4.19 0.54 4.25 1.15 5.99 1.13 5.23 2.37 4.91 
+1.06 4.46 0.52 4.19 1.45 4.66 1.69 4.82 -0.34 -5.03 1.67 4.73 2.06 3.38 0.82 1.21 
+0.8 1.21 1.87 5.08 1.73 3.39 0.91 1.25 0.89 1.29 0.74 0.37 1.48 0.78 0.71 0.37 
+1.06 2.32 1.04 2.32 0.72 0.41 0.73 0.42 0.91 2.23 0.89 2.23 0.82 0.5 0.82 0.48 
+0.98 1.48 p
+0.95 1.5 0.91 0.98 0.89 1 0.85 2.3 0.84 2.34 1.48 4.68 0.72 3.23 0.7 3.25 
+0.84 2.89 0.82 2.89 0.09 1.97 0.11 1.97 0.22 4.78 0.78 2.97 0.74 3.02 0.79 3.52 
+0.78 3.54 0.09 -3.23 0.08 -3.25 0.13 -2.28 0.13 -2.3 1.61 7.12 -0.32 1.64 -0.3 1.61 
+0.41 3.28 0.39 3.3 1.34 -1.65 0.48 2.93 0.43 2.93 0.26 3.21 0.21 3.23 0.74 3.3 
+0.7 3.32 0.13 2.67 0.15 2.66 0.83 0.98 0.84 0.98 0.2 2.37 0.21 2.38 0.61 1.26 
+0.61 1.28 0.28 2.48 0.29 2.5 0.71 0.41 0.7 0.43 0.52 -2.08 0.5 -2.09 0.41 -1.62 
+0.41 -1.65 -0.02 -3.27 -0.05 -3.3 0.63 2.91 0.61 2.95 0.48 0.61 0.48 0.63 1.34 -2.64 
+0.39 6.16 -0.59 1.46 -0.59 1.43 0.43 3.47 0.43 3.51 0.13 3.04 0.11 3.04 0.52 1.46 
+0.52 1.47 -0.28 2.48 -0.31 2.45 0.13 3.28 0.11 3.28 0.43 3.91 0.39 3.93 0.7 1.29 
+0.67 1.3 0.65 1.3 0.65 1.33 -0.02 3.97 -0.08 3.95 -0.59 2.13 -0.61 2.11 1.47 0.61 
+1.39 -2.64 0.59 0.65 0.56 0.65 1.3 0.05 0.61 0.07 0.63 0.08 0.39 2.41 0.37 2.43 
+0.5 -2.5 0.5 -2.52 0 4.64 -0.05 4.67 0.68 -1.43 0.67 -1.46 0.04 -3.84 0 -3.82 
+0.24 -3.97 0.22 -3.99 -1.04 -2.34 0.26 -3.78 0.21 -3.77 0.17 -3.17 0.13 -3.19 -0.13 -2.97 
+-0.16 -2.97 -0.06 -3.5 -0.09 -3.47 0.91 -3.61 0.43 -0.61 0.42 -0.61 0.2 -3.63 0.15 -3.64 
+0.74 1.22 0.72 1.21 0.41 -1.95 0.39 -1.97 0.31 -1.5 0.28 -1.52 0.54 -1.14 0.52 -1.15 
+0.45 -0.65 0.43 -0.65 0.16 -3.16 0.13 -3.18 0.43 -2.66 0.39 -2.69 0.49 1.37 0.5 1.39 
+1.09 5.82 0.11 4.41 0.09 4.38 0.26 4.08 0.24 4.1 0.2 4.82 0.17 4.82 -0.02 4.54 
+-0.07 4.53 -0.08 4.56 -0.11 4.53 -0.3 4.17 -0.32 4.14 -0.29 4.32 -0.32 4.3 -0.28 4.49 
+-0.33 4.47 -0.43 5.14 -0.48 5.12 -0.33 2.78 -0.34 2.78 -0.52 4.21 -0.56 4.19 -0.21 3.71 
+-0.24 3.71 -0.76 4.84 -0.79 4.79 -0.45 4.45 -0.48 4.43 0 57.33 -0.52 1.41 -0.07 -1.21 
+-0.09 -1.22 -0.17 -2.99 -0.11 -1.43 -0.15 -1.39 -0.11 -1.16 -0.15 -1.13 -0.76 2.37 -0.78 2.37 
+-0.76 1.43 -0.78 1.41 -0.93 1.69 -0.93 1.67 -1 2.63 -1 2.61 -1.22 3.23 -1.23 3.19 
+-0.11 -0.95 -0.11 -0.91 -0.52 -0.15 -0.54 -0.15 -0.37 0.11 -0.37 0.13 0.09 -1.84 0.07 -1.82 
+1.04 -4.52 0.98 -4.53 0.59 -2.84 0.54 -2.86 0.35 -2.67 0.3 -2.67 0.92 -2.78 0.91 -2.8 
+0.48 -2.54 0.5 -2.54 0.39 -3.93 0.32 -3.91 -0.45 -0.48 -0.46 -0.5 -0.13 -1.56 -0.15 -1.57 
+-0.28 -0.91 -0.33 -0.93 -0.72 1.26 -0.71 1.21 -0.72 1.56 -0.71 1.54 -0.7 1.7 -0.67 1.67 
+-0.04 -2.39 -0.04 -2.34 -0.2 -1.78 -0.24 -1.76 0.19 -3.53 0.17 -3.5 -0.26 -1.67 -0.29 -1.65 
+-0.78 5.08 -0.83 5.1 -0.63 3.71 -0.58 3.26 0 -89.47 0.32 -1.33 0.33 -1.34 -0.24 -3.84 
+-0.26 -3.8 -0.41 0.48 -0.43 0.5 -1.21 -2.3 -0.02 3.79 -0.04 3.8 0.54 -0.29 0.52 -0.3 
+0.46 2.3 0.46 2.32 0 89.47 -0.09 0.45 0.05 2.09 0 2.11 -1 3.02 -1 2.97 
+-1.17 3.56 p
+-1.19 3.52 -1.26 3.25 -1.28 3.21 -0.74 1.13 -0.76 1.13 -0.62 0.07 -0.61 0.06 -0.24 -0.32 
+0 -22.27 0.96 -2.71 0.95 -2.74 0.91 -4.25 0.87 -4.25 0.46 -3.91 0.42 -3.91 -0.91 3.86 
+-0.95 3.82 -0.74 3.71 -0.2 1.02 0 -27.54 0.65 -3.14 0.65 -3.19 0.11 -3.17 0.08 -3.17 
+-0.54 3.39 -0.57 3.36 -0.19 2.95 -0.2 2.97 0 27.54 -0.57 2.68 -0.59 3.34 -0.61 3.34 
+0 22.27 -0.24 -0.39 -0.5 -0.7 -1.3 -0.39 -0.48 -0.8 -0.35 -0.57 0 -94.68 -0.04 -2.76 
+-0.28 -2.54 -0.32 -2.54 -0.39 -2 -0.41 -1.97 -0.39 -2.02 -0.43 -2 -0.3 -2.95 -0.33 -2.93 
+-0.15 -3.75 -0.2 -3.75 -0.48 -1.93 -0.5 -1.91 -0.55 -1.39 -0.54 -1.37 -0.15 4.14 -0.2 4.14 
+0.09 2.45 0.07 2.45 0.37 1.71 0.34 1.74 0.87 3.95 0.04 4.86 0.5 2.19 0.48 2.22 
+0.55 1.67 0.52 1.69 0.43 1.59 0.43 1.61 0.5 1.07 0.48 1.08 0 91.93 -0.15 -0.24 
+-0.34 -1.21 -0.35 -1.2 -0.63 0.3 -0.63 0.29 -0.62 0.04 0 -82.53 0.17 -3.04 0.15 -3.02 
+-1.17 -2.52 -0.15 2.34 -0.15 2.37 0.59 1.93 0.57 1.93 0 82.53 -0.05 0 -0.65 0.05 
+-0.8 0.8 -0.79 0.76 0.83 -4.28 0.78 -4.27 -0.34 -2.43 -0.63 1.76 0 -90.11 -0.76 -2.71 
+-0.76 -2.69 -0.09 2.3 -0.11 2.32 0.87 0.39 0.85 0.39 0 90.11 -0.19 0.54 -0.83 2.3 
+-0.65 1.76 -0.67 1.71 -0.8 0.74 -0.8 0.72 -0.3 -0.43 -0.33 -0.43 -0.2 1.67 -0.21 1.64 
+0.35 1.02 0.35 1 -0.37 2.69 -0.37 2.71 0.18 1.79 0.15 1.8 -0.62 2.13 0 -26.96 
+0.93 -1.49 0.91 -1.52 0.71 -2.41 0.72 -2.39 -0.7 0.09 -0.37 0.04 0 -85.82 -0.63 -2.3 
+-0.63 -2.28 -0.54 -2.09 -0.57 -2.06 -0.37 -1.7 -0.39 -1.7 -0.67 -0.49 -0.66 -0.5 -0.54 -1.37 
+-0.57 -1.37 -0.65 -0.48 -0.67 -0.48 -0.59 -0.87 0 -7.29 1.52 -1 0.74 -1.58 0.74 -1.63 
+-1.04 -4.51 -0.67 1.11 -0.7 1.11 -0.5 0.37 -0.52 0.37 -0.65 -0.84 -0.65 -0.87 -0.36 1.52 
+-0.37 1.5 0.59 1.34 0.61 1.38 0.65 0.86 0.63 0.89 0 7.29 -0.02 -0.04 -0.63 -0.91 
+-1.47 0.04 -0.57 -1.39 -0.59 -1.37 -0.61 -1.32 -0.58 -1.3 -1.02 -2.32 -0.91 -3.23 -1.26 -2.54 
+-1.95 -0.59 -1.39 -1.67 -0.26 5.45 0.93 3.19 1.54 -0.04 1.55 2.02 1.19 0.63 -1.15 3.56 
+1.93 0.59 1.48 2.09 0.84 -0.84 0.83 -0.89 0.48 2.26 0.48 2.28 1 3.6 0.71 0.07 
+0.72 0.05 0.72 0.02 0.71 0 1.08 2.78 0.67 -0.59 0.65 -0.61 0.24 3.78 0.2 3.79 
+0.97 0.59 0.96 0.56 0 85.82 -0.35 0.05 -1.52 -2.64 -0.46 -0.83 -0.48 -0.82 -0.11 -1.62 
+-0.13 -1.61 -0.78 -0.11 -0.81 -0.11 -0.32 2.76 -0.37 2.78 0.43 1.78 0.39 1.8 0.22 2.02 
+0.17 2.04 0.7 -0.28 0.67 -0.26 0.26 1.37 0.26 1.39 0 26.96 -0.39 1.3 -1.04 3.45 
+0.24 -2.8 0.21 -2.75 0.02 -2 0.02 -1.98 -0.17 -1.5 -0.16 -1.5 -0.65 0.2 -0.67 0.2 
+-0.84 2.41 -0.26 0.74 0 -42.86 1.52 -3.69 0.14 -2.25 0.11 -2.25 -0.63 -0.35 -0.61 -0.34 
+-1.78 2.99 0.13 2.17 0.11 2.2 0.52 0.78 0.5 0.76 0 42.86 -0.61 1.65 -0.3 -0.76 
+-0.29 -0.76 p
+-1.12 -1.56 -0.87 4.02 -0.91 4.03 -0.15 2.63 -0.2 2.65 -0.65 2.91 -0.35 1.5 0 -35.98 
+0.96 -0.26 0.95 -0.24 -0.5 -2.28 -0.5 -2.25 -0.91 5.03 0 35.98 -0.32 1.43 0.13 2.04 
+0.11 2.06 0.82 -0.59 0.84 -0.58 0.09 2.11 0.09 2.14 1.54 -2.97 1.54 -3.02 1.11 -3.43 
+1.09 -3.47 1.13 -2.39 1.13 -2.43 0.46 0.26 0.43 0.28 1.13 -2.48 1.11 -2.5 0.8 -0.71 
+0.79 -0.7 0.17 2.56 -0.84 3.32 -0.87 3.34 -1.47 5.77 -0.93 3.89 -0.96 3.88 -0.21 2.21 
+-0.22 2.24 -1.02 3.34 -1.04 3.32 -0.72 3.84 -0.76 3.84 0.57 0.24 0.54 0.24 0.74 0.04 
+0.74 0.02 0.65 1.48 0.3 0.82 0.29 0.8 -0.13 1.54 -0.15 1.56 0.5 0.55 0.48 0.57 
+0.28 0.78 0.26 0.8 0.26 0.78 0.29 0.8 0.26 0.55 0.26 0.56 0.87 1.17 0 1.36 
+-0.02 1.37 1.82 1.13 0 27.11 -0.5 1.84 -1.08 4.04 -2.89 6.77 -2.95 6.73 -0.67 2.14 
+-0.7 2.17 -2.82 5.01 -0.48 0.87 0 -78.73 2 -2.56 0.24 -1.96 0.24 -1.93 -1.22 1.25 
+-1.21 1.24 -0.05 3.95 0 78.73 -2.34 4.06 -0.61 1.71 0 -109.55 0.24 -2.43 0.2 -2.4 
+-0.65 0.11 -0.67 0.13 -0.22 2.14 -0.24 2.17 0.67 0.15 0.67 0.13 0 109.55 -0.76 2.21 
+-1.45 3.97 0 1.84 -1.69 2.67 -2.23 3.28 -2.26 3.21 0.35 -1.17 0.32 -1.17 -0.63 0 
+-0.65 0.02 -0.61 -0.06 -0.63 -0.07 0.39 1.56 0.65 1.05 0.41 -0.07 0.39 -0.09 0.87 0.96 
+0 46.74 -2.67 4.36 -2.25 3.54 0 -176.2 1.69 -5.21 0.97 -1.43 0.98 -1.41 -0.31 2.97 
+-0.34 3 1.09 -2.56 1.07 -2.58 0.36 -2.52 0.35 -2.49 0.78 -1 0.79 -1.02 -0.2 -1.43 
+-0.21 -1.41 1.9 -5.68 0.88 -2 0.84 -1.99 2.34 -3.04 -0.91 0.45 -0.89 0.41 -0.95 1.26 
+-0.98 1.22 -0.76 2.45 -0.78 2.46 -0.87 1.93 -0.89 1.93 -0.93 1.41 -0.96 1.41 -0.78 2.62 
+-0.8 2.63 -0.85 2.34 -0.84 2.37 -0.39 2.45 -0.39 2.47 0 176.2 -0.93 1.45 0 -198.66 
+1.25 -1.12 0.68 -2.76 0.65 -2.78 0.7 -3.62 0.65 -3.63 -0.09 -2.32 -0.11 -2.3 -0.39 -3.47 
+-0.66 -0.43 -0.65 -0.41 -0.74 -2.52 -0.39 -1.24 -0.39 -1.26 -0.93 -2.84 -0.41 -2.82 -0.83 -0.83 
+-0.33 -2.4 1.11 -6.04 1.78 -5.79 1.67 -0.13 1.37 -3.67 0.91 2.32 -0.5 6.06 0.87 2.39 
+0.16 2.08 0.15 2.06 0.39 4.64 0.8 -0.91 0.82 -0.91 -0.46 -1.43 -0.48 -1.43 0.3 -3.12 
+0.28 -3.11 0.15 -2.73 0.13 -2.73 -0.16 -2.65 -0.17 -2.62 1.11 -1.59 1.09 -1.59 0.67 -1.13 
+0.7 -1.12 0.8 -1.63 0.79 -1.61 0.13 -2.52 0.09 -2.5 0.82 -0.8 0.83 -0.79 0.95 -1.9 
+0.93 -1.93 0.85 -1.5 0.82 -1.52 0.7 -3.14 0.66 -3.15 -0.14 -2.95 -0.15 -2.95 -0.71 1.13 
+-0.72 1.11 -0.83 4.04 -0.87 4.04 -0.04 -2.06 -0.06 -2.06 -0.61 -0.07 -0.63 -0.05 -0.57 3.32 
+-0.61 3.3 -0.82 0.22 -0.81 0.21 -0.76 1.59 -0.76 1.56 -0.35 2.52 -0.39 2.54 -0.41 1.69 
+-0.43 1.7 -0.42 -0.93 -0.39 -0.91 -0.02 -5.25 1.58 -4.37 1.17 -5.16 0.59 -2.61 0.54 -2.61 
+0.46 -2.8 0.41 -2.8 0.63 -2.45 0.58 -2.45 -0.48 -1.46 -0.5 -1.43 -0.95 -1.7 -0.98 3.95 
+-0.85 6.77 p
+-1.07 6.36 -1.52 4.41 -1.09 -2.15 -1.95 6.04 -0.28 5.58 -0.96 5.68 -1.61 5.84 -0.8 4.82 
+-0.37 4.86 -0.39 1.28 0 -88.41 -1.02 -4.69 -1.78 1.28 1.41 1.7 1.39 1.71 0 88.41 
+-1.08 3.6 -1.39 5.25 -0.91 3.56 1.15 3.23 -1.55 6.82 1.34 0.91 1.2 2.02 1.02 1.73 
+0.61 0.21 0.61 0.24 0.13 1.5 0.11 1.5 0.41 1.52 0.39 1.52 -0.12 2.56 -0.16 2.54 
+-0.41 2.52 -0.43 2.52 -0.7 3.82 0 198.66 -2.89 4.55 -6.25 9.44 -6.4 9.33 -6.58 9.22 
+-6.72 9.12 -6.88 8.98 -7.03 8.86 -7.21 8.74 -7.34 8.59 -7.5 8.48 -3.82 4.19 -3.82 4.16 
+-3.88 4.1 -3.89 4.13 -7.94 8.07 -4.04 3.97 -4.01 3.95 -8.21 7.81 -4.19 3.82 2.8 -2.59 
+3.52 -3.27 3.47 -3.3 2.34 -2.25 2.32 -2.24 2.26 -2.25 2.25 -2.21 2.21 -2.22 2.19 -2.21 
+2.15 -2.19 2.11 -2.19 2.11 -2.17 2.06 -2.17 2.04 -2.14 1.99 -2.13 1.98 -2.12 1.95 -2.13 
+1.91 -2.11 1.89 -2.11 1.87 -2.08 1.84 -2.09 1.82 -2.06 1.78 -2.04 1.76 -2.04 1.73 -2.02 
+1.71 -2.02 0.96 -1.13 0.93 -1.11 0.91 -1.11 0.91 -1.08 0.89 -1.09 0.87 -1.04 0.87 -1.07 
+0.85 -1.04 0.82 -1.02 0.83 -0.99 0.8 -1.02 0.8 -0.98 1.56 -1.95 0.76 -0.95 1.47 -1.87 
+0.72 -0.93 0.74 -0.91 0.7 -0.91 0.69 -0.89 -1.04 1.32 0 -174.91 2.23 -0.06 2.63 -2.26 
+1.49 -2.45 1.48 -2.49 2.99 -3.56 1.06 -1.84 1.04 -1.84 1.02 -2.61 1 -2.62 1.19 -2.71 
+1.18 -2.71 -2.91 4.3 -1.06 1.08 -1.05 1.06 0.76 -2.17 0.76 -2.2 1.11 -3.21 0.84 -0.74 
+0.85 -0.76 0.84 -1.04 0.87 -1.04 1.09 -3.21 1.06 -3.23 -0.89 0.57 -0.89 0.58 -0.11 -0.95 
+-0.09 -0.93 -1.43 -0.11 -1.36 0.37 -2.7 5.14 -1.39 4.3 -1.32 0.76 -1.06 -0.91 1.34 -4.68 
+0.17 -2.63 -1.99 3.12 0.13 -2.49 1.72 -4.99 1.71 -4.57 -1.58 2.52 -2.54 5.42 -0.96 3.52 
+-0.46 4.21 -1.19 3.58 0 -44.03 1.35 -0.87 2.02 -0.34 1.95 -4.32 1.39 1 2 -0.39 
+1.67 0.3 -0.04 -4 -0.11 -3.97 2.02 -2.04 -0.41 -4.73 1.91 -5.62 0.89 -5.36 2.15 -3.37 
+1.97 -2.28 0.63 -4.23 2.12 -1.93 1.8 -1.13 1.65 -1.59 -0.79 -3.56 -0.96 -2.3 0.5 -4.23 
+1.1 -5.51 1.46 -5.88 0.61 -5.12 -0.07 -4.97 0.11 -5.82 1.97 -3.41 0.74 -7.92 0.69 -5.55 
+-0.71 -4.43 -0.73 -4.38 -0.76 -3.19 -1 3.67 -1.11 1.43 0 -40.26 1.24 -1.33 0.7 -3.86 
+1.87 0.28 1.32 2.59 1.47 0.78 0.54 -5.04 2.13 4.51 1.43 -1.13 -0.96 -5.96 -1.29 2.32 
+-1.32 0.26 0.41 -4.14 -1.28 -0.57 -1.34 0.33 -1.59 -0.02 -1.54 -3.45 -1.61 -0.02 -1.48 -1.58 
+-1.59 -0.71 -1.56 -0.81 -1.73 0.85 -1.35 -0.57 -1.78 -1.78 -1.24 -2.04 -1.87 -1.02 -1.54 1.05 
+-1.91 -0.91 -1.67 -0.76 0.04 2.52 -2.08 0.52 -1.67 -0.78 0.73 4.06 0.26 5.27 2.04 0.3 
+1.11 2.84 1.15 0.24 1.82 -0.69 1.63 0.84 1.21 -3.1 1.32 0.56 1.52 1.59 1.59 0.86 
+1.26 1.35 0.39 5.86 1.76 -0.74 1.91 0.34 1.52 0.89 0 40.26 -0.41 0.52 -1.11 -2.78 
+-2.15 1 -0.61 -3.95 -1.32 -1.86 -1.04 -3.45 -1.61 6.68 -0.57 -2.8 -1.22 -2.58 -1.75 -1.43 
+-1.32 5.1 p
+-1.61 4.63 -1.02 4.51 -1.96 3.21 -0.22 0.11 0 -22.44 0.14 -5.36 -1.35 -0.61 -0.76 5.45 
+1.97 0.52 0 22.44 -1.84 0.93 -1.11 4.41 -1.45 2.02 -1.56 4.73 -1.02 5.64 0 5.27 
+1.91 -0.15 1.65 1.63 1.46 1.24 -1.2 6.88 -1.24 5.75 0.89 2.89 1.07 3.16 0.09 5.04 
+-0.78 4.73 -0.18 4.73 -0.95 7.34 0.08 4.44 1.24 3.11 -1.45 3.54 -0.8 7.03 -1.3 4.38 
+-0.46 5.23 -1.15 5.17 0 44.03 -0.22 0.61 -0.56 3.79 0.97 0.43 2.09 -3.05 -1.5 4.77 
+-0.21 3.11 -2.45 5.16 0.95 0.54 -1.19 4.04 -3.47 5.12 0 174.91 -1.59 2.02 -2.62 3.3 
+-2.62 3.25 -2.65 3.23 -2.62 3.19 -2.61 3.11 0 -172.03 2.28 -1.76 2.24 -3.23 3.17 -3.66 
+0.02 -3.97 2.15 -3.3 2.23 -1.93 0.34 -3.59 -3.02 4.71 -0.46 -1.28 -1.37 2.08 0 -2.52 
+2.58 -4.01 2.09 -3.32 0.59 2.15 2.1 -3.38 0.3 -3.63 -1.8 1.37 1.61 -4.23 -0.98 -0.46 
+2.54 -3.24 1.05 -3.95 -1.79 0.91 -2.17 2.06 -1.02 4.34 -2.09 3.4 -0.95 -0.56 0.11 -3.87 
+-2.02 3.8 -2.48 4.43 -0.72 0.76 0 -16.17 3.69 -5.04 1.5 -6.01 0.41 -3.06 2 -5.36 
+1.04 -4.88 1.13 -3.97 0.57 -6.1 -1.8 5.36 -0.93 4.82 -1.29 5.99 -1.15 4.36 -1.91 6.21 
+-3.26 7.68 0 16.17 -1.43 1.56 0.63 2.61 1.3 -1.5 0.17 3.34 2.96 -5.12 0.58 1.66 
+2.06 -3.77 -1.15 4.36 -2.08 4.27 0 2.52 -1.73 2.63 0.5 1.67 -2.26 4.32 -1.32 -0.97 
+-2.69 2.91 0.41 1.82 -0.5 3.56 0 172.03 -0.02 0.04 -2.64 3.11 -2.65 3.06 -2.63 3.04 
+-2.64 2.99 -2.62 2.95 -2.62 2.91 -2.65 2.89 -5.25 5.64 -2.63 2.75 -2.61 2.73 -2.62 2.69 
+-1.59 1.63 0 -182.53 3.37 -4.73 2.87 -3.36 1.86 -0.46 2.84 -4.41 2.32 -4.71 2.3 -5.29 
+2.69 -4.45 3.64 -3.47 2.69 -2.78 0.93 1.17 -1.3 3.71 0 1.93 0.93 1.08 1.32 1.54 
+0.48 -2.56 1.82 -1.58 2.22 -0.67 0.49 -2.64 -0.93 -1.07 -3.12 2.43 -1.39 -0.98 1.78 -1.96 
+2.24 -3.17 -1.67 0.84 0 -6.9 1.8 -0.67 2.59 -3.82 1.49 -4.8 -1.78 1.17 -2.61 2.87 
+-2.3 1.37 0.18 2.25 0.63 1.63 0 6.9 -1.55 0.76 -1.41 -0.48 1.64 -5.32 -1.08 -1.91 
+-2.19 3.11 -1.63 4.23 -1.41 0.02 1.71 -2.91 -1.91 -0.32 -2.65 3.19 -2.23 2.56 -3.13 3.6 
+1.05 1.52 -2.72 3.49 -3.21 4.99 -2.25 1.87 -2.32 3.76 -2.82 4.25 -0.48 2.75 1.34 0.68 
+0.39 1.8 -1.54 3.93 0 182.53 -1.52 1.54 -6.3 6.29 -3.19 3.11 -1.61 1.54 0 -243.33 
+1.65 -2.15 1.3 -3.76 2.26 -4.1 1.19 -3.71 0.55 -4 -0.55 -1.93 -1.86 -0.61 -2.09 2.43 
+-1.93 2.69 -0.67 3.5 -1.02 4.51 0.09 2.45 0.56 2.32 0.52 2.34 0 243.33 -1.61 1.57 
+-3.23 3.06 -3.25 3.06 -3.3 3.04 -3.3 3.02 -3.32 3.02 -3.37 2.97 -3.36 2.95 -2 1.71 
+0 -182.23 3.11 -2.73 3.23 -4.1 3.66 -4.21 3.13 -3.8 2.67 -4.21 3.54 -4.36 -2.43 1.63 
+-0.82 -0.87 -3.47 2.63 -2.97 2.88 -3.17 4.58 -2.62 3.63 -2.78 4.05 -1.87 3.99 0.8 0.89 
+0 182.23 -1.41 1.22 -3.41 2.91 -3.45 2.89 -3.45 2.86 -3.47 2.82 -2.93 2.37 -2.97 2.37 
+-3 2.36 p
+-3.05 2.37 -3.08 2.39 -3.14 2.37 -3.18 2.38 -3.21 2.37 -3.28 2.39 -3.29 2.39 -3.34 2.36 
+-3.41 2.39 -3.43 2.39 -3.49 2.36 -3.54 2.39 -3.56 2.37 -3.64 2.37 -3.66 2.37 -3.71 2.34 
+-1.68 1.07 -3.43 2.13 -1.75 1.09 -1.79 1.08 -1.8 1.09 -1.82 1.11 -1.87 1.11 -1.87 1.13 
+-3.86 2.25 -1.98 1.13 -1.99 1.15 -2.02 1.17 -2.07 1.15 -2.1 1.17 -2.13 1.19 -2.15 1.18 
+-2.19 1.19 -2.24 1.2 -2.25 1.22 -2.28 1.21 1.63 -0.85 1.63 -0.86 1.67 -0.89 1.67 -0.91 
+1.7 -0.92 1.71 -0.93 1.71 -0.96 1.74 -0.96 1.76 -0.98 1.78 -1 3.61 -2.04 1.82 -1.04 
+1.84 -1.09 1.87 -1.08 1.5 -0.87 -4.88 2.88 -4.92 2.78 -4.91 2.78 -4.97 2.72 -4.97 2.69 
+-5.01 2.63 -5.04 2.6 -5.06 2.54 -5.05 2.52 -5.1 2.45 -5.1 2.43 -3.78 1.71 0 -130.03 
+4.28 -0.98 3.64 -1.82 2.8 -0.5 1.82 -1.91 2.37 -1.04 3.02 -0.33 4.26 -1.2 2.78 -1.58 
+4.32 -1.34 2.13 0.11 3.14 -2.06 2.65 -1.06 4.17 -3.38 -4.32 1.52 2.76 -1.72 2.07 -2.49 
+5.64 -2.64 -2.82 0.24 5.79 -4.06 3.17 -4.21 -1.07 -1.54 3.19 -2.06 1.45 0.46 4.95 -4.02 
+4.95 -3.52 0.57 -1.5 -1.84 -0.13 0 -2.34 2.06 -0.5 2.84 -2.46 3.1 -2.25 -0.72 -0.98 
+2.74 -3.1 2.23 -1.65 2.78 -1.87 0.26 -2.06 -2.97 0.7 -2.93 2.93 -2.78 1.8 -0.93 2.32 
+-3.05 2.24 -2.13 2.78 -0.5 2.11 0 2.34 -0.21 -0.02 -2.85 1.11 -4.03 2.78 1.95 -2.93 
+0.83 -1.91 3.6 -3.61 1.84 -2.34 2.95 -3.43 2.28 -3.21 3.22 -2.69 0.84 -2.28 2.11 -3.2 
+1.3 0 -1.35 2.56 2.65 -0.87 2.21 -0.09 3.54 -2.67 4.12 -3.02 3.69 -2.23 3.84 -4.34 
+0.29 -2.47 -2.88 1.56 -2.82 1.48 -2.54 2.61 -2.89 1.45 -1.65 -0.15 2.48 -1.54 1.02 -2.17 
+-2.82 0.46 -2.93 3.39 -3.32 3.21 -1.93 2.84 -2.82 1.28 -2.52 3.04 -2.87 2.8 -3.71 3.45 
+-4.12 3.23 -1.5 2.47 -2.89 3.93 -2.8 3.54 -2.47 3.06 0.29 1.47 -2.32 2.04 -2.82 0.93 
+-3.52 2.34 -4.04 2.52 -3.16 1.22 -3.26 2.47 3.5 -1.61 2.28 -0.67 -3.88 3.28 -3.41 3.15 
+-3.3 2.36 -3.78 1.86 -3.71 2.72 -4.05 1.52 -4.17 2.06 -3.49 1.3 -3.35 0.59 -2.73 0.46 
+-2.23 0.34 -4.64 1.89 0.24 1.21 -1.7 1.74 -1.65 0.22 1.37 -1.39 -2.5 0.61 -1.34 2.34 
+2.54 -0.65 2.37 0.04 1.25 1.04 2.56 0.29 0 130.03 -1.39 0.63 -5.14 2.34 -10.38 4.52 
+-5.21 2.16 -5.23 2.17 -5.25 2.09 -5.27 2.06 -5.29 2 -5.3 1.98 -5.34 1.89 -5.32 1.89 
+-10.72 3.6 -5.41 1.7 -5.38 1.71 -10.85 3.21 -5.45 1.52 -5.45 1.5 -5.49 1.43 -5.47 1.41 
+-10.98 2.65 -5.54 1.21 -5.51 1.24 -5.55 1.13 -5.53 1.13 -5.56 1.02 -5.55 1.04 -11.16 1.87 
+-5.6 0.85 -5.59 0.82 -11.2 1.48 -5.62 0.65 -5.62 0.63 -5.64 0.55 -5.62 0.54 -5.64 0.46 
+-5.64 0.43 -11.28 0.69 -5.64 0.26 -5.64 0.24 -5.66 0.15 -2.04 0.04 0 -0.11 2.54 -0.07 
+2.52 -0.09 1.04 -0.02 1.21 -0.05 0.26 -0.02 2.5 -0.09 2.13 -0.09 6.1 -0.28 6.07 -0.34 
+6.07 -0.39 6.08 -0.46 6.06 -0.5 6.01 -0.58 6.04 -0.61 5.99 -0.67 5.99 -0.74 5.95 -0.79 
+5.95 -0.84 p
+5.92 -0.89 5.88 -0.95 5.86 -1 5.84 -1.05 5.8 -1.08 6.18 -1.23 6.2 -1.28 6.21 -1.34 
+6.23 -1.43 6.23 -1.5 6.25 -1.57 6.25 -1.63 6.25 -1.69 6.25 -1.76 6.25 -1.82 6.27 -1.91 
+6.25 -1.97 6.25 -2.04 6.23 -2.11 6.23 -2.17 6.23 -2.23 6.21 -2.3 6.19 -2.39 0.32 -0.12 
+0.3 -0.11 0.61 -0.26 0.3 -0.11 0.29 -0.13 0.3 -0.11 0.28 -0.13 0.57 -0.22 0.28 -0.12 
+0.29 -0.11 1.57 -0.65 -6.02 2.37 -5.62 2.15 0 -129.8 3.91 -1.89 4.23 -2.23 2.14 -2.23 
+4.35 -2.02 3.66 -1.45 2.45 -0.45 1.72 -2.91 0.74 -2.52 2.6 -2.06 2.8 -1.78 -0.09 -0.89 
+1.37 -1.39 1.95 -0.5 -0.58 1.59 -0.07 1.49 3.43 -2.52 3.67 -2.3 -3.82 0.5 -0.63 -0.82 
+-2.5 0.61 -4.53 2.61 -1.8 -0.16 -1.15 1.63 -2.04 1.98 -1.93 0.43 -1.8 -0.15 -2.93 1.36 
+-2.47 0.46 -3 0.41 -2.15 -0.82 -3.28 1.58 0.42 1.47 1.21 1.2 0.18 1.21 -0.44 2.13 
+-1.56 2.19 -1.73 1.87 -5.04 2.43 4.59 -1.2 -0.11 0.96 1.52 0 -3.28 2.19 0 129.8 
+-0.41 0.17 -6.08 2.23 -6.1 2.21 -6.14 2.13 -6.14 2.06 -1.91 0.64 0 -129.47 5.67 -1.95 
+5.17 -2.15 4.75 -1.91 -5.82 1.52 -4.34 1.54 -1.54 1.46 -3.89 1.5 0 129.47 -0.56 0.17 
+0 -146.57 0.87 -1.95 1.95 -1.58 2.8 -0.93 2.34 -0.16 3.52 -0.65 3.37 -0.12 1.34 0.65 
+0.22 1.17 1.67 0.34 -0.35 1.2 3.06 0.11 -0.29 -1.52 1.15 -1.47 2.89 -1.16 4.1 -0.89 
+-3.12 -0.87 -3.58 0.84 -3.58 -0.06 -3.25 0.5 -2.41 -0.69 -0.87 -0.64 -2.67 0.46 -2.84 0.11 
+-3.04 -0.21 -2.72 -0.5 -3.29 -0.02 -2.21 -0.48 -0.78 -1.2 -2.99 -0.32 -3.54 0.11 -3.15 -0.67 
+-3.19 1.17 -2.32 0.45 -1.59 -1.06 -1.89 1.04 1.04 1 2.61 0.69 2.28 0.93 2.91 0.43 
+3.26 0.15 1.99 1.13 2.29 0.88 2.3 0.84 1.95 1.11 1.95 1.09 1.82 0.75 0 146.57 
+-3.71 1.21 -6.21 1.95 -2.04 0.63 0 -128.67 6.14 -1.66 2.11 -1 -4.8 1.26 -3.45 1.41 
+0 128.67 -4.19 1.28 -6.25 1.82 -6.27 1.76 -6.29 1.71 -6.3 1.63 -6.32 1.58 -6.31 1.5 
+-4.95 1.13 0 -132.27 4.26 -1.19 -1.24 -0.52 -3.19 0.91 -3.56 0.29 1.11 0.49 2.63 0.02 
+0 132.27 -1.36 0.33 -7.25 1.56 -7.25 1.47 -7.23 1.39 -7.21 1.33 -2.56 0.43 0 -136.98 
+3.71 -1.37 4.23 -0.28 3.08 1.06 4.88 0.31 4.73 -0.31 4.75 -0.74 -0.56 -1.06 -1.82 -0.89 
+-1.76 -1.24 -0.87 -1.97 -2.13 -1.43 -1.73 -1.67 -1.05 -1.24 -1.39 -1.47 -1.43 -1.11 -2.82 -1.2 
+-3.15 -0.74 -3.12 -0.79 -3.5 0.74 -3.04 -0.52 -0.59 -1.13 -2.78 1.09 -4.04 0.5 -4.62 -0.02 
+-4.21 -0.2 -3.11 -0.67 -4.77 -0.15 -3.95 -0.41 -2.41 -0.65 -3.69 0.07 -3.73 0.39 -1.93 -0.84 
+-2.24 -1.71 -1.93 -1.5 -3.16 -0.22 0.78 -0.86 4.78 -0.55 2.41 1.05 1.17 1.32 2.8 -0.41 
+3.19 0.39 3.58 0.26 4.3 0.02 -0.17 -1.34 -0.79 -1.11 -3.75 -1.17 3.58 -0.49 1.89 -1.31 
+3.54 -0.93 4.18 -0.82 3.67 0.32 3.73 0.32 4.04 -0.24 3.54 0.3 3.3 0.73 -2.11 1.29 
+-0.26 1.2 4.79 -1.72 2.11 -1.37 2.25 -0.3 4.14 -1.23 2.43 -1.21 -0.26 -1.02 -3.26 0.5 
+0.07 -1.17 p
+2.13 -0.71 1.91 -1.39 1.5 -1.61 2.08 -0.75 1.47 0.36 1.13 0.17 1.84 -1.43 2.91 -1.3 
+2.15 -2.17 3.17 -0.71 0.24 -0.98 2.87 -1.87 3.1 -2.11 2.78 -1.62 0.67 -0.39 3.39 -1.11 
+2.84 -0.28 3.41 -1.2 3.19 -0.57 2.87 -0.39 3.16 -1.13 3.89 -1.32 3.47 -0.96 4.69 -1.09 
+4.41 -1.47 3.97 -1.61 4.39 -1.61 0.82 -0.46 2.8 -1.57 1.34 0.3 -0.78 1.96 -2.63 2.06 
+2.54 0.18 2.63 0.13 -3.82 1.02 -2.25 1.63 2.61 0.19 3.05 -0.84 -3.84 2.59 -4.86 1.36 
+-2.08 1.87 -0.7 1.19 0 -5.62 4.06 -1.15 -0.57 -1.02 -2.82 0.5 -0.67 1.67 0 5.62 
+-0.43 0.76 1.24 0.41 -0.16 1.57 -0.45 1.8 3.37 -0.41 2.45 0.28 0.63 0.87 2.91 -0.52 
+3.62 -0.78 3.43 -0.59 3.34 -0.07 2.8 0.41 3.57 0.16 3.21 -0.5 3.69 -0.48 1.15 -0.48 
+4.4 -1.8 4.95 -1.8 1.07 -0.46 3.38 -1.43 4.63 -1.11 3.86 -1.41 4.14 -1.78 4.73 -2.47 
+5.29 -2.69 4.97 -2.98 0.54 -0.17 2.73 -0.93 4.97 -2.58 3.8 -3.04 4.1 -2.86 3.1 -3.02 
+0.5 -2.71 -2.23 0.52 1.63 -2.38 2.39 -1.43 3.75 -2.08 0.91 -1.41 2.67 -1.29 2.71 -2.79 
+4.66 -3.13 1.48 -0.15 3.43 -1.07 2.13 -2.19 3.53 -2.97 2.89 -2.8 2.06 -2.24 1.71 -2.45 
+1.34 0.13 2.63 -1.63 0.59 1.59 1.3 1.02 2.3 0.02 1.48 0.63 2.06 0.43 3.04 -0.63 
+3.21 -1.02 3.43 -1.46 3.11 -1.72 3.41 -2.47 3.06 -3.64 2.28 -4 2.3 -3.38 3.49 -4.06 
+-2.89 0.5 -3.41 1.72 -3.69 3.43 -3.43 0.67 -3.37 0.31 -1.71 2.97 -2.49 0.48 -1.26 -1.3 
+1.99 -3.71 -1.71 -1.36 -3.3 2.39 -3.16 2.02 -3.88 2.54 -0.44 -1.06 0.16 -1.55 -0.04 -2.12 
+1.54 -2.78 1.95 -2.67 2 -3.04 2.78 -2.54 2.41 -3 1.09 -2.06 -3.5 3.54 -1.73 -0.43 
+-1.91 1.52 -2.3 2.58 -3.32 2.67 -2.26 -0.21 0.35 -2.56 2.86 -2.78 3.3 -3.02 1.76 -2.67 
+2.26 -2.93 2.39 -1.82 1.93 -1.91 1.21 -2.8 -0.71 -1.22 2.47 -2.56 2.32 -1.59 1.87 0.29 
+1.26 0.89 1.15 1.28 2.67 -1.13 1.21 0.91 -0.45 1.89 -1.93 2.02 -2.04 2.37 -1.74 2.82 
+1.24 0.65 -0.02 1.57 -0.7 2.28 -0.11 1.95 3.71 -2.86 -0.67 -0.91 2.34 -3.15 1.98 -3.67 
+2.91 -2.23 2.21 -3.21 2.78 -3.61 2.4 -2.43 2.97 -2.82 1.07 1.69 1.04 1.71 3.09 -1.21 
+2.49 -0.87 2.56 -0.98 2.65 -1.34 0.67 0.93 1.76 0.61 2.5 -0.97 0.63 -2.87 2.09 1.04 
+2.06 -1.02 1.04 -2.49 1.37 -2.37 1.85 -2.39 1.04 -2.88 0.71 0.89 -1.06 3.28 0.75 0.91 
+0.07 1.71 1.7 -1.56 3.82 -3.1 0.26 -1.29 3.36 -3.28 1.52 -0.78 1.73 -2.07 0.28 -1.73 
+2.34 -2.97 2.76 -3.37 2.8 -3.43 2.25 -3.43 -0.3 -1.26 2.54 -1.8 2.06 -2.19 2.67 -3.56 
+2.11 -3.08 1.61 -3.14 2.56 -3.17 0.11 -2.56 1.95 -1.86 1.52 -3.19 1.93 -3.99 1.43 -3.61 
+1.91 -4.54 1.32 -4 0.3 -2.99 0.3 -2.95 -0.22 -2.47 2.15 -4.17 -2.54 0.11 2.63 -3.86 
+-2.02 -0.02 2.62 -3.45 0.55 -3.45 0.04 -2.89 0.89 -3.93 -0.11 -3.23 0.39 -3.41 1.5 -2.87 
+2.37 -1.52 0.58 -2.26 -0.37 -1.52 -2.28 1.91 -1.32 1.21 -2.02 3.02 -0.37 -1.52 -1.71 -0.34 
+-0.56 -2.29 p
+0.24 -3.29 0.7 -3.47 0.54 -3.8 1 -3.91 1.63 -3.8 0.76 -4.32 1.67 -3.45 1.98 -4.02 
+3.17 -2.36 2.2 -0.48 1.61 -1.83 2.54 -1.04 2.37 -1.3 2.66 -0.68 2.11 -0.45 2.39 -1.39 
+2.47 -1.11 2.8 -3.34 2.41 -2.8 2.23 -3.25 2.08 -3.64 1.73 -3.08 2.52 -5.23 1.64 -3.12 
+1 -3.23 0 -4.1 0.11 -3.71 0.11 -3.66 0.02 -3.7 -1.24 -2.45 2.11 -4.47 0.67 -4.55 
+-0.84 -2.76 0.15 -4.21 0.09 -4.23 -1.75 2.46 -1.65 3.79 -1.31 4.47 -1.75 -0.76 -1.72 1.46 
+-1.39 -2.34 -2.17 0.85 -2 2.02 -1.88 2.39 -1.74 1.39 -1.39 -0.09 -2.49 1.37 -1 -1.63 
+-1.5 -1.37 -2.04 4.13 -1.82 -0.76 -0.45 -2.82 1.8 -4.43 2.28 -4.78 0.91 -3.6 1.2 -4.25 
+0.41 -3.38 1.37 -4.82 1.78 -4.26 1.93 -3.1 1.17 2.45 2.21 -4.67 1.89 -1.24 1.91 -3.14 
+2.11 -3.8 1.65 -0.67 1.86 1.46 2.07 -1.93 2.1 -1.06 2.07 -1.02 2.04 -1.06 2.25 -2.67 
+1.32 -3.99 1.26 -4.02 1.24 -4.01 1.19 -4.06 1.76 -1.56 2.28 -3.56 1.78 -4.19 -2.19 -2.66 
+-1.52 0.89 -1.8 0.56 -2.04 0.29 -1.71 1.5 -2.23 0.91 -1.41 3.66 -2.21 1.89 -2.2 2.73 
+-0.96 4.23 -1.56 1.69 -1.76 4.25 -1.07 3.15 -1.08 2.16 -1.2 1.46 -1.87 1.32 -1.84 1.3 
+-0.24 0.26 0 -22.48 2.08 -1.08 1.76 -2.38 2 -2.13 2.04 -1.13 2.13 -0.26 2.28 -0.87 
+2.11 -2.84 2.36 -2.56 1.37 2.37 2.61 -2.32 1.67 1.09 2.32 -2.63 1.43 0.7 0.76 -4.41 
+1.28 1.45 2.06 -2.02 0.57 -3.8 0.02 -4.38 1.61 -1.65 1.8 2 1.68 -5.17 1.48 -1 
+1.17 -3.02 1.52 1.7 1.59 -1.82 -0.46 3.95 -1.17 1.32 -1.65 -1.02 0.15 3.8 1.35 2.43 
+1.65 -3.5 1.21 -3.08 1.13 0.43 0.59 -4.69 -2.8 0.35 1.28 -2.04 0.02 -5.25 0.96 -5.92 
+0.65 -4.45 0.44 -5.45 0.32 -4.73 -1.61 0.93 -1.32 -1.26 -0.29 -2.73 -1.24 0.5 -1.91 3.11 
+-2.02 1.35 -2.78 2.28 -1.86 2.34 -1 2.28 -2.08 1.26 -2.2 3.64 -2.08 2.91 -0.91 3.11 
+-2.02 3.84 -0.93 3.11 -2.08 2.09 -1.13 2.13 -1.07 0.06 0 -10.8 2.56 -4.82 -1.02 -1.7 
+-1.21 1.26 -1.02 3.82 0.7 1.43 0 10.8 -1.25 0.09 -1.78 4.82 -1.76 3.17 -0.63 2.62 
+-2.3 1.05 -1.43 0.21 0 -8.18 2.59 -2.34 0.74 -3.34 -2.13 2 -1.71 1.56 0.52 2.13 
+0 8.18 -0.7 0.11 -1.52 3.39 -2.21 1.8 -1.97 2.15 -1.29 -0.5 -2.69 2.19 -2.28 1.84 
+-1.74 2.35 -1.43 3.45 1.91 1.95 2.08 -1.19 1.89 1.98 2.28 1.62 0 22.48 -2.13 2.29 
+-2.37 1.64 -0.25 -2.17 -1.67 2.52 -1.41 3.69 -0.98 5.17 -1.78 4.32 -1.54 3.63 -0.32 3.32 
+-1.34 3.02 -2.28 2.67 -1.23 5.06 -2.41 3.45 -1.06 1.08 0 -541.79 -1.93 -2.63 -1.95 -2.63 
+-3.11 -3.69 -3.17 -3.69 -1 -1.52 -1.04 -1.54 -0.02 -0.58 -0.02 -0.61 -0.48 -1.74 -1.72 -1.91 
+-1.73 -1.93 -3.15 -2.82 -3.14 -2.8 -3.15 -2.75 -3.14 -2.71 -0.72 -0.48 -0.71 -0.46 -2.21 -1.71 
+-2.2 -1.68 -2.95 -2.36 -2.95 -2.32 2.47 2.41 2.45 2.41 -1.43 -0.87 -1.41 -0.84 -1.82 -1.17 
+-1.82 -1.15 1.66 1.91 1.63 1.89 2.5 2.52 2.45 2.54 2.45 2.32 2.43 2.32 2.82 2.62 
+2.82 2.65 p
+2.11 1.97 2.13 1.98 2.91 2.93 2.88 2.93 3.71 3.67 3.69 3.73 2.93 2.86 2.93 2.93 
+0 541.79 -1.8 1.82 -2.45 3.39 -2.17 2.86 -2.3 3.62 -2 3.11 -2.28 2.75 -2.37 1.56 
+-1.45 -0.08 0.82 -2.93 -0.39 -3.51 -0.2 -3.23 0.28 -3.43 -1.13 -1.52 -1.17 -0.65 -2.23 -0.11 
+-1.29 3.93 -1.67 4.49 -2.32 3.54 -2.56 3.19 -2.28 2.67 -0.89 -1.21 -2.21 1.8 -0.5 2.23 
+-2.25 1.78 -0.84 -1.17 -1.91 1.19 -2.69 1.18 -2.43 1.41 -2.06 2.04 -1.82 2.34 -2.06 1.96 
+-0.63 0.34 0 -118.21 2.96 -0.65 2.34 -2.46 2.3 -2.5 1.96 -2.73 2.11 -1.98 1.11 -3.96 
+0.3 -3.87 -1.04 -3.38 -2 -2.67 -1.7 -1.08 -1.71 2.21 -1.86 4.05 -1.11 2.65 -1.09 3.93 
+-0.5 3.05 -0.65 3.61 0.11 3.5 -1.52 2.28 0 118.21 -1.87 1.09 0 -3.78 0.09 -2.73 
+0.41 -3.23 -1.04 -2.22 -1.09 -2.19 -1.04 -2.24 -0.89 -1.91 -2.61 3.08 0.74 -2.6 -0.59 -2.45 
+-0.86 -2.62 0.74 -2.65 1.41 -1.78 0.71 -3.45 0.41 -3.65 -0.96 -2.66 -1.04 -1.84 -0.2 -3.47 
+0.28 -2.87 0.31 -3.69 -0.33 -3.4 -0.82 -2.32 -0.37 -2.65 0.13 -3.6 -0.67 -2.87 -0.37 -1.82 
+0.95 -2.93 -0.15 -2.37 -1.54 -1.97 -0.93 -1.45 0.56 -3.21 -2.3 -1.13 0.21 -3.37 0.79 -2.97 
+1.82 -3.49 1.8 -3.62 1.74 -3.59 1.11 -4.02 0.24 -3.99 0.04 -3.45 1.13 -3.32 1.23 -2.56 
+1.26 -3.86 -1.93 -1.34 -0.24 -4.21 1.02 -3.34 -1.5 -1.63 -1.15 -2.73 0.46 -4.38 -1.23 -2.73 
+-1.98 0.11 -1.97 1.34 -2.15 1.96 -1.8 3.41 -1.8 3.49 -1.7 2.85 -1.71 2.84 -1.84 2.04 
+-2.21 1.89 -1.89 2.09 -1.96 3.32 -1.75 2.8 -1.8 2.78 -1.45 2.99 -2.52 2.32 -2.47 2.32 
+-2.19 2.52 -1.67 2.22 -1.76 3.43 -1.56 2.93 -2.13 3.17 -2.2 3.23 -0.21 2.47 -1.32 1.11 
+-1.93 2.67 -1.06 3.28 -1.32 3.73 -2.11 1.93 -1.48 2.34 -1.15 3.23 -1.15 -0.17 0.61 -2.96 
+1.3 -3.73 -0.61 -3.06 -1.43 -2.28 -2.26 -1.48 -2.6 0.28 -2.7 1.54 -2.21 1.15 -2.3 2.41 
+2.23 1.43 1.43 2.25 -0.82 3.41 -1.7 -2.45 -2.19 -1.43 -2.82 0.76 -2.47 1.69 -2.25 0.5 
+-2.39 -0.19 -1.47 2.21 -1.8 2.11 -1.99 0.67 -1.89 1.35 -0.28 -0.09 0 -299.68 1.07 -0.82 
+-0.35 -2.09 -2.08 -0.37 1.37 3.28 0 299.68 -1.87 -0.55 -1.67 -1.69 -1.35 -1.41 -1.71 -1.61 
+-1.84 -0.48 -2.04 0.06 0 -301.45 0.97 -1.34 -0.58 -1.05 -2.09 -0.37 -0.45 1.89 2.15 0.87 
+0 301.45 -0.07 0 -0.83 -1.73 -2.28 -1.28 -1.75 -1.56 -2.13 -1.8 -2.88 -0.89 -1.89 -0.43 
+-2.54 -0.74 -2.04 -1.05 -2.26 -0.49 -2.8 -0.29 -2.6 -0.63 -2.98 -0.87 -1.86 2.58 -1.41 2.26 
+-2.2 1.26 -2.04 -0.98 -1.65 -1.95 -1.34 -1.74 -1.82 -2.54 -2.36 0.65 -1.89 -1.43 -2.17 1.35 
+-2.3 -0.46 -2.73 1.67 -2.32 0.7 -3.19 -0.26 -2.02 1.95 -1.89 2.56 -2.89 2.15 -2.78 2.71 
+-2.17 1.37 -1.34 -1.67 -1.98 0.85 -1.95 0.87 -0.29 -3.41 -2.06 -0.8 1.95 -2 -2.11 -1.86 
+2.15 -0.29 1.8 -2.58 2.17 -2.45 1.97 -1.98 2.71 -1.65 2.71 -1.71 2.5 -1.2 1.65 -2.15 
+0.55 -2.56 2.3 -1.8 1.25 -1.15 0.59 2.93 -0.57 2.59 0.91 0.89 1.8 -1.45 1.45 -2.76 
+0.7 -3.06 p
+-0.41 -3.47 1.84 0.74 1.24 -1.2 2.76 0.59 0.91 2.04 2.17 0.91 2.69 0.54 1.63 1.29 
+0.17 2.86 1.37 2.93 0.63 2.54 0.68 2.56 1.11 2.23 -0.11 2.3 1.26 -0.02 0.28 -1.61 
+1.19 -2.91 1.35 -3.39 2.71 -1.65 2.54 -1.13 2.69 -0.48 2.28 0.54 2.82 0.15 2.04 -1.95 
+2.39 -1.74 2.3 -0.63 0.11 -3.49 0.06 -3.47 -0.84 -2.15 -0.33 -2.52 -0.19 -2.95 -1.82 -0.83 
+-0.21 -2.99 0.67 -3.14 1.61 -2.17 -1.54 -1.78 -1.67 -1.34 -0.67 -1.48 0 -41.25 -0.2 -0.24 
+0 -370.68 -0.37 -2.02 0.02 -1.55 1.48 0.39 2.36 0.39 -2.12 -1.98 -1.39 0.11 -1.73 -1.43 
+-0.3 1.08 -2.73 -0.84 2.76 2.39 0.74 2.54 1.3 0.91 0 370.68 -1.82 -2.12 -1.95 -0.71 
+-1.87 0.45 1.26 2.11 2.52 0.3 2.06 0.22 0 41.25 -0.31 -0.65 0.2 -3.32 -0.83 -1.43 
+-1.67 -1.31 -1.97 -1.86 0.13 -3.32 -1.47 -2.26 -2.02 -0.26 -2.17 -1.37 -1.89 -2.38 -1.11 -1.02 
+0 -179.21 1.58 -2.69 1.11 -2.78 0.26 -3.41 1.04 -3.34 0.48 -4.41 0.2 -2.93 -2.04 -3.37 
+-1.89 2.15 -0.06 -4.93 -0.67 -2.62 -1.46 -1.72 -0.29 -2.54 -0.86 -3.56 -0.79 -3.08 -1.73 -3.69 
+-1.28 -3.13 -1.23 -3.12 -1.24 -2.65 -0.79 -2.56 -1.25 -2.56 -1.29 -2.62 -1.21 -2.61 -0.89 -2.5 
+-0.82 -2.54 -0.87 -2.54 -1.21 -2.07 -1.43 -3.03 -1.28 -2.59 -2.32 -3.15 -1.98 0.28 -2.73 -1.3 
+-2.45 -1.72 -2.65 -0.76 -0.48 0.3 0 -358.03 -5.55 -2.17 -5.55 -2.12 -5.51 -2.04 -5.49 -1.97 
+-5.1 -1.87 -5.12 -1.82 -5.17 -1.78 -5.21 -1.76 -3.61 -1.12 -3.58 -1.09 -3.58 -1.06 -3.55 -1.04 
+-2.89 -0.83 -2.88 -0.78 -2.87 -0.78 -2.84 -0.76 -1 -0.22 -0.97 -0.19 -1 -0.22 -0.95 -0.2 
+-2.78 -0.69 -2.76 -0.7 -5.46 -1.3 -2.2 -0.43 -2.17 -0.43 -2.12 -0.41 -2.13 -0.39 -2.28 -0.57 
+-2.28 -0.54 -2.3 -0.56 -2.3 -0.52 -2.34 -0.5 -2.32 -0.45 -4.6 -0.91 2.06 0.31 2.11 0.32 
+2.14 0.33 2.17 0.34 -3.36 -0.73 -3.36 -0.69 -3.34 -0.7 -3.36 -0.67 -1.74 -0.24 -1.69 -0.24 
+-1.7 -0.21 -1.67 -0.22 -1.97 -0.3 -1.95 -0.26 -1.93 -0.28 -1.91 -0.26 -4.36 -0.74 -4.34 -0.71 
+-4.36 -0.68 -4.34 -0.65 -4.28 -0.61 -4.27 -0.59 -4.25 -0.54 -4.27 -0.5 -3.15 -0.45 -3.21 -0.43 
+-3.21 -0.41 -3.26 -0.41 -2.08 -0.28 -2.11 -0.26 -2.13 -0.26 -2.12 -0.24 -3.22 -0.26 -6.37 -0.43 
+-3.17 -0.2 2.47 0.52 0.8 0.18 -0.98 0.2 -0.3 0.08 4.16 0.39 2.09 0.22 2.06 0.21 
+0.24 0.09 0.24 0.11 0.21 0.09 0.24 0.11 2.73 0.24 2.74 0.28 2.75 0.26 2.71 0.29 
+6.73 0.87 3.3 0.45 0.95 0.2 0.93 0.21 0.91 0.2 -1.07 -0.06 -1.08 -0.05 -1.07 -0.04 
+1.24 0.3 2.39 0.65 1.91 0.39 1.86 0.41 1.85 0.39 2.65 0.61 1.3 0.3 1.78 0.41 
+1.73 0.43 1.71 0.41 3.91 0.67 3.86 0.71 3.82 0.72 3.54 0.54 3.56 0.56 3.56 0.59 
+-0.85 -0.33 -0.89 -0.32 -0.89 -0.3 0.09 -0.2 0.08 -0.21 0.09 -0.2 2.06 0.28 2.11 0.3 
+2.13 0.31 3.62 0.67 3.61 0.69 3.62 0.72 3.71 0.75 3.69 0.79 3.69 0.83 4.88 1.06 
+4.91 1.11 4.92 1.15 -1.78 -0.56 -1.78 -0.54 -1.8 -0.55 -3.5 -0.93 -3.54 -0.91 -3.56 -0.91 
+0.57 0 p
+0.56 0.02 0.57 0 0.58 0.02 -0.63 -0.26 -0.63 -0.24 -0.62 -0.26 -0.66 -0.26 1.54 0.26 
+3.17 0.57 1.61 0.28 1.87 0.37 1.89 0.39 3.82 0.82 -1.06 -0.32 -1.04 -0.35 -2.17 -0.65 
+3.66 0.91 3.63 0.91 3.63 0.93 3.63 0.97 2.89 0.7 2.88 0.72 2.93 0.74 2.93 0.76 
+3.62 0.98 3.63 1.02 3.67 1.04 3.66 1.06 3.64 1.08 3.64 1.11 3.67 1.15 3.71 1.17 
+3.49 1.15 3.52 1.17 3.52 1.21 3.54 1.24 2.14 0.72 4.39 1.48 2.23 0.78 3.41 1.24 
+3.45 1.28 3.47 1.33 3.47 1.34 0 358.03 -1.37 0.89 -1.73 1.67 -1.62 2.63 0.19 3.29 
+0.2 3.82 -0.91 2.28 0.07 2.84 0.34 2.38 2.23 3.65 2.13 2.63 1.19 2.56 2.18 3.18 
+0.74 2.52 -0.89 3.21 0.3 2.47 -0.93 3.21 -0.07 3.34 2.04 3.21 1.73 4.62 2.22 0.35 
+2.78 1.91 2.71 1.43 2.78 1.93 2.28 1.84 2.43 3.38 2.22 0.37 -0.29 2.45 1.89 1.82 
+-0.26 2.91 2.65 0.95 2.26 1.43 0.56 2.56 0.18 3.04 2.32 2.95 0 179.21 -0.93 -0.84 
+-1.91 -2.37 -0.28 -2.25 0.54 -2.04 -2.11 -1.81 -2.11 -1.84 -2.13 -1.84 -2.14 -1.75 -2.54 -1.96 
+-2.06 -2.28 -1.06 -3.04 -2.21 -1.73 -2.43 -0.76 -1.56 -2.62 -1.34 -2 -2.37 -1.21 -2.58 -0.26 
+-2.02 -0.59 -0.85 -2.32 -2.28 -1.72 -2.41 -1.17 -2.41 -1.15 -2.21 -0.11 -2.24 2.52 -0.18 3.04 
+-1.15 1.26 -1.5 3.19 -1.56 3.23 -1.02 2.84 -0.13 2.52 -0.96 2.34 -1.89 2.61 -2.32 2.46 
+-1.95 1.02 -1.8 2.11 -5.73 7.75 -2.62 1.82 -3.43 0.13 -1.3 1.7 -2.06 1.54 -1.25 3.26 
+-1 2.32 -0.09 2 -1.13 2.8 -1.93 2.56 -2.32 2.46 -2.5 1.37 -2.75 0.8 -1.93 2.56 
+-1.56 2.67 -2.32 2.45 -2.06 1.55 -2.37 2.45 -2.3 2.45 -1.8 2.04 -2.19 2.02 -2.32 -0.59 
+-0.02 3.02 0 3.06 -0.8 2.82 -0.61 -3.66 -0.24 -3.65 0.63 -2.34 -0.91 -1.26 -2.47 1.41 
+-2.04 1.56 -1.28 1.69 -1.65 1.59 -1.91 2.58 -1.41 2.19 -0.91 -1.23 1.78 -2.06 1.04 -2.28 
+1.79 -2.1 2.14 -1.98 2.04 -1.56 1.02 -2.23 1.39 -1.39 0.28 -0.26 0.98 -2.26 2.28 -2.47 
+1.41 -2.21 1.89 -2.58 1.8 -2.11 1.89 -2.59 2.06 -1.49 0.2 -2.52 0.84 -1.8 1.89 -2.58 
+2 -1.02 2.32 -0.96 1.89 -0.57 0.45 -2 0.33 -1.36 2.17 -2.02 0.43 -1.91 0.28 -3 
+1.13 -3.25 0.93 -2.32 1.95 -3.06 2.8 -0.84 3.02 -1.82 1.75 -2.12 1.87 -2.61 1.15 -3.28 
+0.98 -2.82 1.76 -2.12 1.76 -0.07 1.82 -2.61 3.26 -0.72 2.71 -0.34 2.65 -2.41 3 -1.73 
+2.19 -2.04 2.54 -1.93 2.56 -1.84 1.41 -2.73 -2.25 -2.15 1.93 -1.05 2.04 -1.56 2.15 -1.97 
+1.93 -1.05 2.63 0.15 2.34 1.7 2.26 2.19 2.99 0.35 2.43 1.19 2.56 2.82 2.88 0.84 
+2.28 1.76 2.56 0.28 2.67 1.84 2.69 1.96 1.46 3.16 3.1 -0.08 0.52 -4.67 0.3 -3.62 
+-0.71 -2.93 0.67 -3.49 -1.08 -3.54 -0.79 -2.91 -0.89 -2.39 -0.35 -3.25 -0.84 -2.91 -0.79 -3.41 
+-0.45 -2.78 -0.3 -3.73 -1.87 -2.58 -1.39 -2.52 -0.89 -3.37 -0.98 -2.8 -1.84 -3.1 -1.48 -2.43 
+-1.89 -3.08 -1.45 -2.96 -1.98 -2.5 -2 -2.52 -2.54 -1.63 -1.95 -2.47 -2 -3.02 -2.11 -2 
+-2.02 -2.43 p
+-1.13 -2.8 -2.5 -3.06 -1.61 -3.34 -1.65 -2.32 -1.17 -3.23 -2.14 -2.41 -2.09 -2.91 -2.28 0.05 
+0.16 -3.43 -1.67 -3.73 -1.72 -3.82 -1.3 -2.65 -1.28 -3.17 -0.83 -3.08 -0.87 -3.1 2.3 -2.54 
+2.23 -2.54 -1.34 -3.17 -0.02 -3.45 0.43 -3.77 1.3 -3.23 0.8 -2.8 1.8 -1.15 1.74 -1.65 
+-0.09 -2.93 -0.54 -3 0.3 -2.86 -0.11 -2.46 -0.61 -3.45 0.67 -3.25 -0.18 -2.93 0.69 -3.3 
+-0.65 -2.97 -1.52 -2.58 -2.02 -2.69 -1.93 -2.17 -2.91 -2.8 -1.95 -2.13 -3.64 -1 -2.34 -1.21 
+-2.78 -1.3 -2.02 -2.62 -1.99 -2.56 -2.56 -3.1 -2.37 -1.24 -2.02 -2.58 -1.93 -1.61 -2.47 -2.11 
+-0.74 -2.87 1.56 -1.67 0.5 -3.23 0.39 -3.62 0.61 -2.28 -0.45 -3.26 -0.76 -2.39 0.02 -2.76 
+-1.76 -2.93 -1.95 -1.54 -2.8 -1.2 -3.75 -1.71 -1.89 -1.02 -2.8 -1.17 -2.3 -3.34 1.65 -0.8 
+-0.3 -1.8 -0.37 -2.32 -1.37 -2.79 -1.43 -3.25 -1.33 -2.78 -2.45 -1.55 -2.95 -2.02 -1.7 -2.32 
+-2.15 -2.39 -1.8 -2.78 -1.74 -2.34 -2.58 -2.32 -2.54 -1.95 -2.04 -1.84 -2.6 -2.37 -2.04 -1.84 
+-2.41 -1.43 -3.32 -1.89 -2.49 -1.91 -2.65 -0.54 -2.97 -0.13 -1.54 -1.37 -3.43 -0.15 -1.93 -1.39 
+-2.5 0.3 -2.82 0.76 -2.3 -0.98 -2.91 0.34 -3.12 -0.58 -1.91 -1.35 -3.45 -0.13 -3.06 -0.52 
+-1.88 -1.35 -3.04 -0.11 -1.87 1.63 -1.93 1.67 -1.82 -0.93 0.3 2.17 -0.61 2.08 -1.8 2.95 
+1.3 0.07 1.47 1.32 -0.02 3 -1.39 2.95 -1.54 2.11 -1.08 2.13 -0.52 2.99 -1.11 2.15 
+-0.61 2.99 -1.56 2.13 -2.54 1.63 -1.15 2.15 -1.69 1.67 -0.22 2.6 -0.7 3.02 -0.67 2.61 
+-0.33 2.19 0.18 2.65 -1.15 3.02 -0.31 2.21 0.17 2.67 -0.26 3.06 0.59 2.25 -0.83 2.21 
+-2.16 2.09 -0.83 2.21 -1.73 2.17 -0.83 3.08 -1.73 2.61 -1.28 2.63 -1.32 2.21 -1.86 1.7 
+-1.3 3.07 -0.37 2.68 0.07 2.28 0.54 2.71 0.07 2.71 1.5 2.78 0.59 2.73 0.97 2.75 
+1.05 3.21 1.04 3.26 1.91 2.32 2.43 1.5 1.47 2.37 0.95 2.34 0.57 3.21 -0.48 3.17 
+-1.41 1.8 -1.39 2.19 -0.91 2.72 -0.96 1.32 2.43 2.88 -0.96 2.72 -1.43 2.25 -0.46 2.73 
+-1.43 2.71 -1.43 1.76 -0.52 2.3 -0.93 1.34 0 2.32 -1.45 2.21 -1.95 2.24 -1.46 2.28 
+-1.91 1.73 -1.91 1.76 -1.98 1.8 -2.88 1.72 -1.91 2.71 -1.93 2.25 -0.99 2.75 -1.46 2.73 
+2.82 1.96 0.43 2.82 -0.05 2.8 1.39 2.41 -1.91 0.8 1.39 2.43 0.93 2.39 0.39 3.28 
+0.89 3.3 -2 2.28 -1.45 2.3 -2.34 0.34 -0.59 2.78 -0.8 -0.02 0 -4.23 1.43 -0.89 
+-0.93 -1.89 -1.43 0.39 0.93 2.39 0 4.23 -1.52 -0.06 -2.36 -0.54 -2.85 -0.11 -2.82 -0.61 
+-2.84 -0.54 -2.84 -0.09 -3.32 1.76 -1.02 3.73 -1.47 3.73 -2.87 2.26 -2.84 0.89 -3.27 -0.06 
+-3.32 -0.5 -2.84 -0.05 -2.82 -0.52 -3.27 -0.93 -1.41 -1.91 -3.8 -0.02 -3.3 -1.87 -2.39 -1.39 
+-2.32 -0.43 -2.84 -0.93 -2.39 -1.39 -3.3 1.43 -2.84 0.5 -4.26 1.02 -2.82 0.07 -2.38 -0.42 
+-3.3 -0.41 -3.37 -0.35 -2.36 -1.8 -3.34 -0.39 -2.88 -1.76 -2.32 0.54 -2.82 1.07 -3.28 2.5 
+-2.8 1.99 -2.25 1.98 -2.73 2.95 -3.71 2.13 -2.3 2.43 -2.76 1.59 -2.73 1.58 -2.69 3.02 
+-0.78 2.43 p
+-0.39 2.43 -0.33 2.86 -1.71 2.46 -2.21 2.54 -2.23 1.58 -1.26 2.5 -1.66 2.47 -2.26 1.17 
+-0.2 3.84 -2.34 -0.33 -2.14 1.63 -2.2 1.63 0.24 3.36 0.65 2.8 -0.18 3.34 -1.12 2.97 
+-2.15 1.65 2.39 1.2 1.54 2.25 1.98 2.18 0.32 3.82 2.3 5.52 0.68 2.79 0.26 2.84 
+-0.65 2.93 -1.46 3.01 1.91 1.72 0.28 2.84 -1.91 2.61 -2 2.1 0.72 2.8 0.78 2.78 
+1.84 1.26 1.54 2.23 1.69 3.69 1.52 2.2 1.95 2.21 2.39 2.2 1.61 3.17 1.11 2.3 
+1.11 2.76 1.39 1.3 2.67 1.17 1.43 1.76 1.13 2.75 1.86 2.23 3.78 0.16 3.45 1.15 
+1.84 2.25 3.04 1.2 2.21 2.17 1.84 2.26 1.5 3.19 -1.07 2.02 0.37 4.67 1.71 1.3 
+1.39 2.3 0.16 1.84 2.14 1.73 1.74 2.28 2.47 1.26 2.8 0.82 2.9 1.7 1.33 2.32 
+1.3 2.23 0.89 2.34 1.3 2.76 2.34 0.35 1.07 -1.89 3.04 -1.98 1.97 0.39 3.06 -0.07 
+1.97 0.39 2.67 -1.45 2.34 0.48 3.14 1.37 1.17 1.84 2.32 0.43 2.32 0.5 2.3 1.84 
+2.28 1.43 3.45 0.48 3.06 0.55 2.26 0.95 2.28 0.05 1.87 0.54 2.69 0.09 2.67 -0.41 
+1.57 -0.85 2.26 0.55 1.84 1.48 3.47 -0.78 1.84 1.07 3.49 -0.76 2.23 0.63 1.74 1.52 
+2.23 0.61 2.3 -0.28 1.41 -2.71 2.91 1.63 -0.89 -2.43 -1.41 -1.08 1.04 -3.19 1.67 -0.83 
+0.61 -2.28 -0.93 -2.45 -1.78 -2 -1.41 -1.52 0.59 -2.32 2.06 -0.82 1.93 0.65 1 -2.3 
+2.93 -1.17 2.45 -0.76 3.14 0.26 3.6 -0.11 2.84 -0.19 2.91 -1.13 2.88 -0.67 0.05 -0.37 
+0.32 -2.43 1.38 -1.3 2.57 -1.13 2.89 -0.13 4.1 -0.5 3.49 -1.47 2.69 -1.61 2.45 -0.13 
+1.82 1.22 1.39 1.63 0.39 2.43 -0.78 2.32 -1.13 1.74 0.84 2.08 2.37 2.71 2.52 1.37 
+2.63 0.85 3.19 0.06 2.88 -0.52 0.87 -2.26 2.8 -0.04 2.89 -0.44 2.75 0.48 1.67 -2.17 
+2.61 0.96 2.78 0.04 2.84 0.07 2.13 -0.58 2.54 -0.5 2.73 0.56 3.04 -0.87 2.18 1 
+1.95 1.91 2.3 1.99 2.58 1.06 3.13 0.24 0.15 -2 2.17 -0.45 0.22 2.04 1.93 -1.04 
+2.52 1.08 3.25 1.37 0.95 2.23 0.7 3.21 -0.15 3.02 -0.11 3.02 0.22 3.11 0.06 3.54 
+0.65 2.76 -1.28 2.71 -1.26 3.73 0.11 2.06 -1.34 1.63 0.71 2.28 -0.83 1.3 -1.43 -2.5 
+-1.39 -0.39 -1 0.19 0 -6.55 -1.76 -2.95 1.13 -1.21 -1.76 -0.46 -0.36 -1.43 -1.98 -1.24 
+-2.69 -0.12 -1.3 1.66 2.07 1 0.78 1.22 3.67 1.97 2.21 1.56 0 6.55 -2.3 0.41 
+-1.17 -2.3 -1.52 -2.41 -1.75 -0.46 -1.52 -1.41 -2.43 0.39 -1.65 1.58 -3.64 0.61 -2.62 -0.16 
+-0.05 -2.47 -2.84 -2.15 -2.43 0.41 -3.56 1.69 -0.98 -0.21 0 -1.75 -0.2 -2.24 -1.15 -1.43 
+-0.79 1.56 2.13 2.11 0 1.75 -1.56 -0.33 0.37 1.54 -4.34 -0.91 0.93 2.14 -2.2 1 
+-0.11 1.98 -2.05 0.52 -0.48 0.11 0 -16.34 0.33 -1.39 2 1.39 0.02 -1.65 -2.93 -0.8 
+-2.97 -0.72 -1.72 0.74 -2.36 0.09 -2.23 -0.39 -0.15 2.37 2.73 0.02 0.56 -0.89 2.13 0.91 
+2.04 -0.33 2.56 0.65 0 16.34 -1.93 0.39 -0.14 1.91 1.82 -1.08 0.93 0.71 -1.11 1.23 
+-1.22 3.17 p
+0.31 1.52 -3.39 -1.17 -0.15 3.37 1.21 2.19 2.46 0.52 2.41 0.52 2.78 0.61 2.39 0.56 
+-0.76 1.31 1.91 0.98 -2.97 1.25 -2.72 -0.62 -2.95 -1.13 -1 -1.67 -1.61 -2.11 -1.21 -2.19 
+-0.33 1.18 1.22 2.16 -1.98 -0.87 -1.87 1.54 -2.54 0.02 -1.62 -0.84 -2.21 0.08 -0.67 -1.56 
+-2.11 -0.39 1.39 -1.2 -0.37 -1.52 -2.11 -0.39 -2.67 1.91 0.43 -3.28 1.96 -2.08 1.89 -1.59 
+1.11 -1.71 1.8 -1.13 2 -0.62 0.82 -1.76 2.02 -0.61 -2.76 0.48 0.79 -3.3 -2.61 1.52 
+-2.64 0 -1.89 1.58 -3.17 -1 2.39 -0.58 2.49 -1.02 2.13 -2.54 -2.3 0.13 1.22 -2.24 
+1.82 -3.04 -2.21 1.52 -1.13 -2.08 -1.5 1.65 -1.82 -0.29 -1.04 1.26 -0.13 2.41 -2.58 1.5 
+0.69 2.02 1.97 1.3 -3.36 -0.08 -2.28 2.04 -2.04 2.56 -1.46 1.68 -1.91 2.12 -2.08 1.11 
+-0.56 2.78 -0.29 3.28 -0.15 2.39 -2.36 1.07 -2.46 1.52 -2.69 1.04 -2.89 1.97 -3.54 1.91 
+-2.48 0.15 -1.26 1.24 -2.62 1.11 -0.31 1.82 -1.25 1.26 -0.76 2.26 -2.95 1.52 -0.07 -1.87 
+-1.2 -1.08 -1.23 1.28 -0.61 1.85 0.43 1.43 -2.09 0.24 -1.8 -1.58 -1.63 -0.17 -0.11 -1.84 
+1.19 -1.29 -0.39 -1.93 0.59 -1.8 2 -1.65 1.89 -1.21 2.25 -1.17 1.41 -2.21 0.72 -2.29 
+1.25 -1.28 2.32 -1.15 2.67 -1.11 3.52 0.43 -0.74 -1.96 2.28 -0.7 2.75 -1.06 2.37 -1.11 
+2.39 -1.11 2.58 -1.97 -0.37 -1.99 -1.52 0.3 -0.74 1.78 -2.21 0.17 -1.93 0.7 -0.76 -1.96 
+-0.26 -2.88 2.43 -1.11 0.39 -2.34 -2.02 -1.24 0.37 -2.28 -1.22 -1.56 -0.54 -1.5 -1.45 -0.17 
+-0.22 1.41 0.35 2.36 0.87 1.52 -0.74 2.3 -0.57 0.84 0 -6.59 -1.15 -2.52 -0.28 -2.87 
+0.98 -1.78 -0.43 -1.91 -3.1 0.11 -1.74 1.69 -2.32 0.29 -3.26 1.54 -1.48 -0.13 -1.82 2.19 
+1.71 1.59 2.21 0.22 2 -0.79 2.58 0.29 3.27 0.8 2.82 1.28 0 6.59 -0.91 1.37 
+-0.62 1.8 -3.06 0.61 -1.43 2.15 -1.5 0.34 -2 1.2 -2.09 1.65 -2.79 -0.28 -2.34 1.17 
+-2.09 2.17 -2.41 2.08 -2.11 -0.17 -0.56 1.84 -2.37 2.1 -1.3 2.24 -0.69 2.75 -2.14 0.22 
+0 -5.97 0.28 -2.78 0.54 -1.8 -0.54 -1.95 -0.02 -0.13 0 -3.1 2.04 -2.21 0.59 -2.26 
+0.24 -2.34 -0.11 -2.36 -0.55 -2.35 -1.84 -0.13 -1.3 -1.97 -2.02 1.76 0.16 2.82 -0.24 2.8 
+-1.28 2.21 -0.17 1.89 1.13 -0.43 1.39 0.59 1.98 1.99 0 3.1 -0.39 -2.69 -2.36 2.2 
+-0.54 1.8 0.15 2.37 2.02 1.08 0.88 1.91 0 5.97 -0.31 0.04 -1.45 0.82 -2.11 0.3 
+-1.64 -1 -0.87 -1.95 -2.32 -1.02 -2.36 -1.52 -1.57 -1.98 -2.45 -0.56 -2.54 1.28 -2.82 0.35 
+-2.47 0.84 -1.72 -1.43 -2.39 -1.46 0.44 -2.75 0.5 -3.21 -0.73 -0.5 0 -10.66 2.25 -1.34 
+-1.43 -2.28 -1.59 1.26 -2.15 0.39 2.91 1.97 0 10.66 -1.37 -0.93 -2.5 -1.95 -2.49 -0.91 
+-2.15 -0.98 -2.16 -3.23 -2.18 -2.8 -1.48 -2.34 0.35 -2.34 2.23 -1.84 -2.6 -1.84 -1.55 -1.89 
+-0.74 -2.3 -2.25 0.02 -2.32 -2.78 -1.61 -2.32 -2.64 0.04 -2.65 0.07 -2.71 0.06 -2.67 -0.37 
+-2.32 -0.87 -2.43 -2.28 -2.24 1.06 -1.34 2.87 -0.7 1.43 -2.19 1.52 -1.91 0.09 -1.93 -0.85 
+-2.21 0.63 p
+-2.73 -0.32 0.97 2.3 0.24 2.8 0.61 2.78 -1.82 0.11 -0.95 1.91 0.61 2.78 1.65 1.8 
+0.67 3.2 0.96 2.75 0.61 2.3 -0.48 2.84 -0.17 1.84 0.57 2.3 -1.46 3.34 1.2 1.32 
+2.52 0.29 1.58 2.24 3 -1.57 2.8 -0.15 3.16 0.29 3.11 -0.57 2.71 -1.04 3.56 0.82 
+3.47 -0.52 2.41 -0.54 2.13 0.45 1.07 1.39 0.75 3.19 0.37 2.32 0.39 3.21 0.37 3.19 
+-0.98 2.32 -1.98 1.41 -0.97 1.39 0.37 1.39 -1.59 1.82 -0.65 0.96 -2.61 0.5 -2.22 1.43 
+-1.95 0.06 -1.58 1 -0.16 2.75 2.26 0.37 1.97 0.87 2.58 0.37 1.22 -1.84 2.6 0.39 
+2.24 -0.02 -0.57 3.23 -1.21 2.75 2.23 -0.02 0.91 -2.32 1.91 0.43 2.21 -0.45 0.63 2.32 
+1.55 0.87 1.89 0.5 1.56 0.89 0.26 2.3 0.58 1.82 2.13 0.95 2.43 1.43 2.08 0.98 
+1.43 1.84 1.11 1.84 0.79 1.87 0.48 2.25 1.13 0.55 0.2 -2.71 1.57 -0.87 1.41 1.43 
+-0.11 1.37 -1.52 0.35 -0.18 2.28 1.98 1.04 3.21 0.18 1.02 1.41 2.35 0.15 1.84 -0.79 
+0.07 1.8 1.28 1.46 -1.28 1.26 1.02 1.02 -1.35 1.7 -0.32 2.69 -1.84 1.21 -0.57 2.23 
+-0.3 2.7 0.35 1.8 1.19 1.43 2.35 0.67 1.06 1.89 2.06 0.63 0.28 -1.78 -0.48 -2.32 
+0.26 -1.76 1.89 0.18 0.29 -1.76 -1.34 -0.74 0 -2.6 1.73 -0.98 0.09 -1.74 -2.08 -0.2 
+-1.41 2.17 1.67 0.74 0 2.6 -0.7 -0.39 -1 -2.8 -0.76 -2.78 2.15 -1.17 0.19 -1.37 
+3.35 -1.06 -0.33 -1.82 1.99 0.19 1.5 1.52 1.3 1 2.2 0.74 1.15 1.49 1.5 -1.69 
+-1.28 -1.02 2.15 -0.69 1.8 -0.22 2.58 1.72 2.73 0.8 1.84 2.09 2.56 1.32 2.64 0.87 
+1.82 -2.5 1.96 0.33 1.41 1.2 0.2 2.38 2.08 1.79 0.29 2.86 -1.07 2.59 -0.93 3.08 
+0.5 1.93 0.21 2.84 2.13 0.93 1.98 -1 1.63 -1.57 1.93 -0.02 1.09 1.65 -1.91 5.21 
+-1.89 0.04 -1.52 2.02 -0.78 2.19 1.45 1.74 2.23 0.98 2.47 1.04 2.95 -0.17 3.1 0.82 
+0.59 1.59 1.58 2.34 3.19 -0.06 -2.18 1.8 -1.66 -0.93 -3.02 1.52 -3.19 -0.87 -2.19 -1.47 
+-2.21 -1.5 -2.23 -1.5 -2.47 -1 -1.2 0.13 0 -5.54 1.93 -1 -1.52 -0.93 -0.09 0.11 
+0 -0.7 2.71 -0.11 -1.12 -1.35 -1.15 -1.36 -1.43 1 1 1.82 0 0.7 -0.48 0.67 
+0.15 1.15 0 5.54 -1.74 0.17 -1.88 1 -2.56 0.87 -0.59 1.71 0.07 2.78 -1.41 1.63 
+0 -21.66 -0.96 -1.43 0.61 -2.24 -1.28 -1.3 -1.11 2.13 0.65 1.65 2.09 1.19 0 21.66 
+-0.63 0.74 -1.11 2.54 0.2 2.78 1.41 2.63 1.15 3.02 1.26 2.58 0.41 2.89 1.24 1.25 
+-1.08 2.5 -2.7 1.17 -1.43 -0.78 -1.57 -0.37 -1.95 0 -0.37 -1.89 -1.08 -1.17 0.67 -1.21 
+-0.63 -1.96 2.13 -0.91 -1.09 -2.04 -0.24 -1.91 -1.76 -1.71 -1.3 -1.61 -1.48 -2.09 -1.04 -2.89 
+-0.52 -1.45 0.48 -2.65 0.26 -2.67 0.82 -2.17 2.41 -1.41 2.38 -1.41 1.24 -1.65 -0.35 -1.43 
+-1.34 -1.61 1.21 -0.68 -1.89 -1.69 -1.8 -2.15 -0.07 -1.82 0.65 -2.65 0.02 -2.3 0.2 -3.14 
+-0.58 -3.28 -1.91 -0.29 -2.14 -0.28 -1.17 -2.45 0.61 -1.74 -1.91 -0.22 -2.23 -0.26 -0.33 1.76 
+-1.47 2.13 p
+0.48 1.87 -1.24 1.08 0 -3.41 0.91 -2.08 -1.15 -1.39 1.02 -0.93 -1.84 -1.02 -0.66 0.07 
+0 -1.26 1.76 -0.32 -0.7 -0.93 -1.61 -0.67 -1.35 1.23 1.89 0.7 0 1.26 -1.34 0.13 
+-1 2.63 2.04 1.3 2.02 1.3 0 3.41 -1.09 0.93 -1.52 2.56 -1.59 2.97 -1.5 2.56 
+-1.3 3 -1.73 1.19 -0.74 -1.84 -1.52 -0.16 -2 -2.43 -1.32 -1.87 -2.46 -1.52 -2.69 0.25 
+-2.73 1.17 -1.43 1.29 0.09 2.25 1.39 1.82 -2.26 -0.54 -0.67 1.73 0.85 1.86 -1.67 2.11 
+-0.41 2.21 -0.66 2.22 1.07 1.78 -1.09 1.71 1.98 1.89 1.69 1.85 1.61 2.32 2.71 0.63 
+1.13 1.82 0.82 2.3 1.74 -1.17 1.21 2.32 1.17 2.3 1.15 3.23 1.8 1.95 0.48 2.71 
+0.56 2.3 0.33 2.21 0.67 2.32 1.43 2.41 0.21 2.21 1.93 2.96 -2.52 -0.81 -2.13 -0.74 
+-2.04 -2.06 1.19 2.36 2.76 1.3 -1.63 1.09 1.65 1.56 1.35 1.95 0.2 -2.62 1.06 1.49 
+0.7 -1.63 1.46 2 -1.37 0.2 -0.54 1.72 2.02 1.19 0.89 2.84 2.54 0.5 2.36 1.43 
+0.79 2.43 1.41 1.69 2.34 -0.78 0.34 1.89 1.2 1.26 1.24 -2.91 1.09 2.17 1.52 -1.91 
+0.26 3.32 2.91 -0.02 2.71 -0.55 2.58 -0.58 -1.26 -2.34 -2.64 -0.33 3.32 -0.87 2.65 0.39 
+1.11 1.37 2.41 -0.13 1 -1.56 3 0.58 3.05 0.22 3.06 -0.26 3.06 -0.78 3.04 -0.7 
+2.8 -0.3 2.95 -0.7 2.17 -1.65 1.78 -2.3 -0.2 -2.17 -1.37 -2.17 -2.15 -1.48 -2.87 -0.13 
+-2.38 -0.48 -2.24 -0.33 -2.9 0.42 -2.97 -0.14 -2.96 0.96 2.7 -2 2.54 -0.57 3.43 -1.24 
+1.52 -2.41 1.24 -2.04 1.48 -2.43 0.3 -0.02 2.95 -0.29 1.43 -0.43 2.13 -0.65 2.91 1.15 
+-1.61 2.41 -1.72 -0.7 -2.97 1.3 -0.14 2.02 2.13 0.3 2.87 -0.34 2.37 0 2.86 0.71 
+-2.8 1.86 -2.5 1.52 0.63 2.34 1.19 2.11 0.14 2.23 2.34 0.57 2.08 0 -0.09 2.11 
+-1.93 2.25 -1.93 0.11 -1.26 2.61 -2.23 2.61 -3.3 1.02 2.93 0.42 2.08 1.13 2.05 -0.55 
+2.45 -1.43 -1.82 -1.52 0.56 -2.47 2.34 0.22 2.3 -1.02 1.87 1.06 0.52 2 -2.43 2.58 
+0.93 1.67 0.8 2.24 0.3 1.97 1.02 1.89 0.33 2.06 0.3 2.04 2.43 -1.95 2.84 -0.41 
+-1.02 1.76 1.15 1.48 2.02 0.97 -0.29 2.39 0.43 1.75 2.91 -2.25 1.52 0.59 -1.71 1.32 
+0.52 1.13 -0.48 1.67 -2.47 0.54 -2.19 0.89 -2.61 -0.24 -2.06 0.28 -1 1.8 3.56 -0.3 
+3.73 0.65 2 1.26 3.17 0.11 1.65 1 2.47 0.33 0.52 0.2 1.69 0.65 2.61 -0.24 
+2.37 0.28 -2.23 2.41 -2.26 -0.17 -3.36 1.04 -1.98 -0.63 -1.82 1.13 -1.9 1.96 -2.85 0.76 
+-2.19 1.61 -0.63 2.61 -1.93 1.95 -2.75 1.78 -1.93 1.98 -1.93 1.91 -0.15 1.73 2.36 -0.37 
+1.24 -1.13 2.69 1.06 2.04 -1 2.12 -1.71 2 -2 3.23 -0.2 2.97 -1.49 2.97 -1.55 
+3.32 -1.93 2.95 -1.59 3.45 0.11 2 -1.91 2.45 -1.37 1.75 -2.39 1.15 -2.12 0.35 -3.15 
+3.64 0.2 -0.36 2.3 -0.81 2.67 -1.93 2.15 -1.65 2.63 -3.78 1.32 -2.89 1.67 -0.67 2.11 
+-1.91 -2.04 -3.73 1.46 -2.84 1.75 -2.04 1.91 -2.95 0.57 -2.52 0.11 -2.54 2.21 -0.32 1.65 
+-1.65 1.57 p
+-2.17 0.82 -2.17 -0.43 -0.76 0.84 2.73 0.33 3.26 -1.07 2.28 -1.69 3.06 -1.41 4.34 3.38 
+-1.91 -0.02 -2.54 -1.21 -2.95 0.48 -0.41 1.52 2.13 0.43 -0.69 1.21 -2.93 -0.86 -1.09 1.61 
+2.04 0.32 0.61 1.3 2.21 0.8 3.17 0.37 -0.39 2.09 -3.04 0.06 -1.78 -1.36 -3.21 1.17 
+-3.97 0.74 0.28 2.23 0.15 2.39 -0.48 2.19 -0.06 2.37 -2.87 0.11 -2.23 0.71 -1.98 1.65 
+-1.96 1.9 -1.39 2.56 -0.97 2.04 -2.17 1.61 0.04 1.69 -1.8 2.73 2.3 -0.65 -1.43 3.26 
+-2.21 -0.29 -0.3 2.21 -3.43 0.2 -3.19 1.72 -2.64 1.63 1.69 2.02 2.86 -1.91 -0.52 1.85 
+0.05 1.58 3.8 -1.13 -0.5 1.54 -1.84 0.33 -0.57 1.52 -0.17 1.71 0.54 1.43 1.63 1.34 
+2.61 0.59 3.43 0.08 2.88 -1.28 3.64 -1.74 2.89 -1.65 3.5 -1.75 1.65 -1.58 3.06 -1.02 
+-0.44 1.48 -1.64 1.73 -1.81 1.82 -1.36 -0.89 -2.04 0.87 0.63 1.32 0.63 1.11 -0.59 1.32 
+-2.67 -0.32 -0.98 -1.65 -1.41 0.59 -0.17 1.58 2.56 -0.52 3.38 1.25 -1.89 1.48 -1.28 1.37 
+0.13 1.82 -1.11 1.84 2.82 0.07 -0.17 2.13 -1.35 2.73 -1.82 1.65 -1.58 -1 -2.34 -0.15 
+-1.8 2.28 -0.7 2.9 -0.86 2.3 1.47 2.32 3.41 0.37 3.49 -0.37 2.17 1.63 1.21 1.87 
+-0.28 1.55 -3.04 0.49 -2.84 -0.34 -2.91 -0.3 1.08 1.93 -0.41 1.52 -2.3 0.26 -1.78 0.87 
+-0.39 1.41 -3.55 2.17 -2.28 2.08 -1.33 -1.56 -1.17 -1.15 -2 -0.13 -2.32 1.59 -0.87 -1.37 
+-2.34 1.93 0 -46.89 1.56 -1.76 0.43 -2.08 1.98 -1.71 -0.79 0.18 0 -31.4 2.82 -1.63 
+0.37 -2.21 0.13 -2.41 -0.45 -2.06 0.54 -2.58 0.41 -2.5 1.37 -2.3 0.98 -2.56 1.25 -2.3 
+1.24 -2.34 1.09 -2.34 1.36 -2.17 2.37 -2 2.78 -1.67 2.82 -1.02 3.43 0.19 -0.17 -1.49 
+-2.61 -1.37 -2.87 -0.93 -1.34 0.15 0 -10.07 3.3 -0.21 0.91 -1.74 -1.34 -2.02 -2.56 1.89 
+-0.3 2.08 0 10.07 -1.65 0.2 -3.54 0.5 -2.3 2.02 0.28 2.02 -1.93 1.11 -1.43 2.64 
+0.11 1.98 -2.21 0.8 -0.8 2.56 -1.97 2.91 -1.67 1.2 0.5 2.43 -0.65 1.48 -0.79 2.11 
+-0.08 2.78 1.66 1.75 0.61 2.32 -1.29 1.74 -0.26 2.3 1.89 0.71 0 31.4 -2.11 0.48 
+-3.55 0.84 -3 0.7 -1.37 0.93 1.37 1.39 2.06 1 3.41 0.05 0 46.89 -0.13 0.13 
+-2.04 1.65 -1.82 1.5 0 -3.17 2.75 -2.15 0.33 -1.65 -2.32 -0.41 -0.84 0.34 0 -0.78 
+1.41 -0.46 -1.46 -1 -1.21 0.8 1.26 0.66 0 0.78 -1.55 0.63 0.05 2.34 1.58 0.89 
+0 3.17 -0.24 0.2 -1.73 2.25 -3.15 1.61 -1.88 1.71 1.75 1.68 -0.35 1.39 -1.88 0.84 
+-0.8 1.56 1.32 1.07 -2.71 0.71 -0.18 0.06 0 -21.09 2.93 -0.3 0.39 -1.21 3 -0.91 
+2.57 -0.78 1.22 -1.32 -1.43 -2.08 -3.04 -1.02 0 -38.75 3 -0.67 2.84 0.17 0.74 -1.41 
+-1.04 -1.34 -1.02 -1.74 -2.87 -0.43 -1.21 -1.54 -2.84 -0.17 -2.84 1.5 -2.88 0.67 -2.32 1.91 
+1.67 0.5 1.65 0.72 1.76 -0.46 2.23 0.32 1 1.3 2.14 0.67 0 38.75 -0.91 -0.3 
+-3.19 0.69 -0.5 2.82 -3.4 -0.33 -0.09 1.97 -1.04 0.61 -0.72 1.28 1.15 0.74 3.06 0.15 
+0 21.09 p
+-2.24 0.87 -3.75 0.67 -2.91 1.35 0 -17.77 2.08 -0.96 1.82 -2.58 -1.02 -2.13 -0.57 1.13 
+-2.62 1.74 -2.2 1.78 2.5 1.02 0 17.77 -0.24 0.11 -2.84 1.28 -0.91 1.11 0 -96.24 
+2.82 -0.74 0.28 -1.35 -1.32 -0.67 2.61 -1.3 0.3 -0.93 -1.84 -1.13 0.69 -1.89 -1.19 -1.06 
+-0.89 1.87 1.39 1.08 -1.76 1.35 0.7 2.02 -1.17 1.02 -0.61 1.74 0 96.24 -0.33 0.39 
+0.46 1.71 2.52 1.09 -2.23 1.76 -4.11 1.13 -1.3 0.22 0 -105.01 2.52 -1.09 1.15 -1.69 
+1.61 -0.16 -0.43 -1.8 -0.87 -0.24 0 -1.54 1.84 -0.16 -1.15 -1.17 -0.7 1.33 0 1.54 
+-1.39 -0.39 -0.85 1.09 1.06 0.93 -1.67 1 0 -5.14 0.46 -1.59 1.37 -1.02 -0.89 -1.11 
+-1.71 -0.33 -1.15 0.95 -1.07 -0.67 -1.52 -0.09 0.34 2.54 1.46 -0.04 0.93 -0.74 0.63 2.04 
+1.15 0.05 0 5.14 -0.43 0.26 -0.7 2.09 0 105.01 -3.49 0.58 -4.21 1.33 -3.26 1.3 
+-2.3 -0.61 -2.16 -0.98 -2.61 1.06 0 -127.67 0.84 -1.37 -0.2 -2.48 -1.41 -1.73 -3.69 -0.09 
+-3.21 1.21 1.32 -2.45 3.67 -0.96 1.71 -1.74 2.04 -1.28 2.89 -0.98 -1.61 -3.09 -2.82 0.22 
+0 2.63 -1.82 0.93 -1.46 2.02 -1.13 -1.32 0.67 -1.89 -0.11 -2.76 -0.11 -2.62 0.39 -2.5 
+-3.45 2.08 -2.34 2.09 -1.08 2.13 1.43 1.59 -2.46 -0.37 -2.54 2.08 -1.56 2.95 -0.48 2.04 
+3.11 0.83 2.13 -0.45 0.32 1.86 2.02 -0.18 -0.63 1.57 1.58 1.62 1.76 -1.3 1.5 1.67 
+2.28 -0.29 2.43 0.3 0 127.67 -0.22 0.09 1.09 0.84 2.49 -0.41 0.39 1.3 -2.49 1.11 
+-0.18 1.37 -2.52 0.04 -2.02 -0.73 0.58 -1.79 -0.84 -2.25 -3.71 0.79 -3.52 0.69 -3.57 0.67 
+-4.12 0.26 -3.34 1.15 -3.45 0.74 -0.72 0.24 0 -5.88 0.37 -1.17 -3.41 -1.63 -4.38 -0.07 
+-2.21 1.41 4.42 1.2 2.17 -0.39 3.04 0.65 0 5.88 -2.34 0.8 -0.7 0.35 -2.71 1.3 
+-2.75 1.24 -3.84 0.87 -0.61 0.17 0 -251.62 0.48 -1.35 -2.71 -1.69 -1.21 -2.21 2.43 0.41 
+2.15 -0.07 2.65 -0.04 0.24 -1.83 -0.87 -1.78 -1.17 -2.21 -1.43 -1.76 -1.71 -1.3 2.19 -0.04 
+2.21 -0.98 1.06 -1.8 0.5 -2.69 1.09 -2.28 2.3 -0.89 0.87 -2.28 0.58 -1.78 0.87 -1.37 
+0.56 -1.84 -1.15 -1.34 0.89 -0.87 1.17 1.35 1.48 0.02 2.09 -0.91 0.93 -1.78 -0.85 -2.3 
+-2.08 -1.37 -1.5 -2.3 3.08 -0.41 -1.8 -2.32 -3.12 -0.89 -2.78 0.02 -2.78 0.46 -2.5 -1.32 
+-2.75 0.98 -2.52 -0.41 -0.73 -2.24 -3.06 0.98 -2.28 -1.71 -1.85 0.52 2.3 1.76 1.95 1.73 
+1.7 2.24 2.13 -0.07 1.84 -0.05 1.28 2.2 -2.47 -1.3 -1.75 1.41 -1.8 0.57 -2.45 -0.39 
+-0.54 1.39 2.24 1.26 1.84 0.86 0.15 2.71 -2.11 0.09 1.32 1.74 -0.52 1.39 3.21 -0.54 
+2.06 0.36 0.11 2.28 1.21 2.24 -1.71 0.04 -1.35 1.84 1.24 2.21 -5.21 -1.65 -1.02 1.89 
+1.61 3.06 -1.24 1.84 -1.84 -2.12 0.13 1.78 -1.95 0.09 2.36 1.68 0.43 2.23 -1.97 -0.8 
+0.15 1.82 1.58 2.6 -2.15 0.11 -1.23 1.41 1.17 0.8 1.52 -0.93 0.41 1.76 1.48 1.7 
+1.21 2.19 2.86 -0.11 2.87 0.32 0 251.63 -2.91 0.98 -2.8 1.11 -1.93 1.5 -4.21 -0.37 
+-4.95 0.09 p
+-3.28 1.24 -3.91 1.09 2.09 1.3 1.19 1.46 3.69 0.48 -0.65 1.87 1.63 1.45 0.41 1.67 
+3.8 -0.28 4.17 -0.91 2.84 -0.78 0.87 -1.56 3.54 -0.44 2.23 0.71 2.91 -0.24 1.22 -1.58 
+0.65 -1.59 3.04 1.3 -2.3 1.26 1.41 1.93 1.17 0.48 1.48 0.48 3.29 0.91 4.17 -0.42 
+0.18 1.59 -3.04 0.11 -0.83 1.26 -0.82 1.9 -1.52 1.91 -1.63 1.24 2.71 1.54 3.23 -1 
+4.64 -0.17 3.1 0.78 3.82 0.39 3.32 0.98 3.13 0 3.45 0.93 3.52 0.82 3.93 0.74 
+3.88 0.39 2.28 1.52 1.57 -1.48 2.3 -1.32 3.66 -0.98 3.45 -0.05 3.32 0.26 3.75 0.81 
+-1.39 -1.93 3.85 -0.26 3.28 0.52 1.93 -1.15 3.93 -0.37 1.84 1.11 2.28 1.02 3.75 0.57 
+3.04 0.69 0.63 1.48 -2.71 0.13 -1.84 1.5 3.52 0.63 1.28 1.23 -1.37 1.02 0.72 1.7 
+2.5 -0.07 1.13 -1.3 2.86 -0.21 2.93 0.67 1.23 1.54 -0.59 1.78 2.82 0.07 2.14 -1.02 
+4.17 -0.78 3.64 0.05 2.28 1.13 1.08 1.2 0 136.98 -4.62 0.78 -7.16 1.13 -7.14 1.04 
+-7.12 0.95 -7.07 0.89 -0.39 0.04 0 -151.78 -2.89 -1.15 -2.93 0.11 -0.04 0.98 5.86 0.07 
+0 151.78 -6.66 0.74 -7.04 0.72 -6.96 0.65 -6.95 0.55 -6.9 0.47 -3.09 0.18 0 -127.41 
+2.43 0 2.12 -0.87 -1.97 -0.02 -2.59 0.89 0 127.41 -3.78 0.22 -6.81 0.32 3.34 -0.13 
+3.43 -0.17 1.73 -0.09 1.75 -0.11 1.76 -0.09 1.8 -0.11 1.8 -0.12 1.82 -0.11 1.85 -0.13 
+1.86 -0.12 1.87 -0.16 3.82 -0.3 1.95 -0.17 1.95 -0.15 -2.28 0.2 -2.3 0.2 -2.32 0.19 
+-4.69 0.35 -4.73 0.34 -2.38 0.16 -2.41 0.13 -2.43 0.15 -2.43 0.13 -2.45 0.11 -4.95 0.22 
+-2.5 0.09 -0.26 0.02 -2.25 0.07 -5.05 0.15 0 0.11 -2.35 0.06 -25.15 0 -4.38 -0.11 
+-1.47 -0.05 0 -122.91 -0.85 -0.89 -2.6 0.41 3.45 0.48 0 122.91 -4.19 -0.11 -5.64 -0.24 
+-3.06 -0.13 0 -165.23 0.48 -1.26 -4.6 -0.61 -2.88 0.52 -3.87 -0.28 3.28 1.52 3.99 -0.72 
+3.6 0.83 0 165.23 -2.58 -0.13 -11.29 -0.69 -5.64 -0.43 -5.64 -0.46 -0.71 -0.06 0 -154.82 
+3.04 -0.33 -2.61 -0.84 -2.59 -0.89 -2.58 -0.26 -0.63 0.8 2.39 1.22 2.97 0.3 0 154.82 
+-4.51 -0.43 0 -129.08 -2.02 -3.02 -2.52 -0.8 -0.56 0.78 1.41 0.85 3.69 2.19 0 129.08 
+-0.39 -0.04 -5.64 -0.55 -0.85 -0.08 0 -131.84 -1.84 -1.61 0.8 -1.02 -3.91 -0.89 -0.78 0.91 
+2.56 1.3 3.17 1.3 0 131.84 -4.77 -0.54 -5.6 -0.65 -2.26 -0.28 0 -136.98 1.58 -0.52 
+-3.75 -2.56 -4.1 -2.11 -1.48 -2.06 -3.43 -2.02 -3.97 -1.63 -0.84 -2.26 -2.87 -2.34 -1.32 -2.2 
+-1.52 -1.93 1.56 -1.84 1.89 -1.67 2.02 1.09 3 0.78 -0.17 1.3 4.47 -0.48 5.83 1.91 
+1.87 1.25 2.74 -0.82 0 -1.32 3.82 -1.17 2.13 2.23 3.43 0.93 3.19 -0.79 3.71 -1.02 
+2.61 -1.34 3.97 -0.72 -0.3 -2.69 -1.28 -2.28 0.26 -1.25 -2.07 -1.52 -3.99 -0.02 -1.46 -2.11 
+-4.1 -1.52 0.7 -1.89 2.95 -0.87 0.41 -1.58 2.54 1.41 1.8 1.52 3.8 0.34 4.04 1.31 
+5.2 0.45 1.89 -0.93 -0.41 -1.39 3.26 0.28 2.25 -0.21 -2.43 -2.15 -2.9 -1.61 -2.8 -1.65 
+-2.61 -0.63 p
+-1.32 1.41 -4.93 -1.28 -0.32 -1.52 3.41 -0.79 3.88 -0.43 2.76 -1.41 4.36 -0.29 3.43 -0.74 
+0.61 -1.93 -3.04 -1.02 -3.25 -1.43 -0.39 -1.67 0.37 -1.93 -1.65 -2.2 -2.6 -1.13 -2.2 -2.47 
+-3.21 -1.2 -1.3 -2.56 -1.07 -0.15 0 -74.74 2.97 -0.65 0.2 -1.52 1.43 0.24 1.54 -0.82 
+2.02 -1.13 2.59 -0.59 1.63 -1.91 0.11 -1.37 1.17 -0.87 0.83 -1.39 -0.16 -1.67 0.33 -1.7 
+-0.87 -1.41 0.02 -1.26 -1.26 -0.62 -2.09 0 -0.91 0.08 0 -0.91 3.21 -0.48 3.91 -1.61 
+0.17 -2.62 2.82 1.28 1.65 -1.52 2.46 1.15 3.19 0.43 3.62 -0.67 3.04 -0.11 2.58 -1.47 
+2.64 -1.11 0.89 -1.87 -0.11 -1.39 1.46 -1.06 0.69 -1.61 -2.34 -0.71 -3.06 0.33 -2.09 0.82 
+-1.82 -0.37 3.69 -1.2 -1.04 -1.76 1.62 -0.09 0.72 1.26 1.83 -0.2 -0.35 -1.37 -1 -0.63 
+-2.14 -0.8 -2.24 -1.75 2.63 0.13 2.19 0.72 1.74 0.93 1.02 -0.72 2.21 1.2 2.71 -1.06 
+1.02 -1.93 -3.45 -2.35 -2.09 -1.3 -0.74 -0.63 0 -92.34 -1.5 -1.5 0 -19.05 -1.04 -2.64 
+-2.87 -2.08 0.93 1.28 0.2 1.82 2.78 1.63 0 19.05 -0.37 -0.37 -1.37 0.52 0.61 1.13 
+2.63 0.22 0 92.34 -1.5 -1.26 -1.82 -1.89 -1.26 -1.8 -1.78 -1.2 -0.41 -2.02 -0.78 -1.07 
+0 -120.86 2.5 -0.59 2.21 -0.61 0.98 -1.84 0.37 -2.71 -2.45 -1.67 0.39 -2.3 0.07 -2.73 
+-0.78 -2.25 -0.75 -2.19 -3.37 -0.3 -2.88 -1.61 -2.82 -0.74 -3.06 -0.22 -1.65 1.52 -0.58 2.34 
+2.08 -0.17 1.23 2.64 2.11 2.56 -1.76 0.16 -1.52 1.93 1.91 1.19 -1.61 1.07 1.11 1.71 
+2.3 -0.19 2 -0.15 1.28 1.28 -1.61 1.05 1.7 2.11 2.63 0.73 0 120.86 -0.85 -1.19 
+0.43 -1.84 -0.06 -2.58 -0.96 -1.55 -2.34 1.39 -0.78 -0.34 0 -7.45 0.78 -2 -1.54 0.04 
+0.76 1.96 0 7.45 -1.26 -0.52 -0.91 -1.73 1.95 -0.95 -0.11 -2.61 -0.98 -2.41 -2.09 -2.36 
+2.02 -0.42 -1.47 -1.91 -4.21 -0.41 1.61 -1.26 -0.72 -1.76 -2.23 0.21 -1.37 -0.58 -1.88 -0.63 
+1.47 -1.04 -0.61 -2.54 -1.17 -1.56 -1.93 1.65 -1.78 1.54 0.87 -2.02 1.26 -2.15 0.69 -2.37 
+-0.86 -2.09 -1.18 -2.43 -2.65 0.17 -1.46 1.24 0.48 2.17 0.28 1.74 -2.25 -0.29 -0.72 -2.56 
+-2.69 -0.65 -0.61 -1.21 3.04 0.57 2.06 -1.89 2.3 -1.04 -2.04 -1.32 -2.93 -1.09 -2.82 -1.15 
+-0.83 -0.22 0 -14.24 1.59 -0.84 1.13 -2.06 -0.89 -2.99 2.93 0.28 1.08 2.5 0.96 -1.54 
+1.45 1.09 2.54 0.02 1.34 -1.15 2.09 0.56 1.86 1.46 1.04 -1.5 2.32 0.09 -0.54 -3.02 
+2.14 -1.62 -0.67 -3 -2.76 -2.3 -3.77 -0.8 -2.87 -1.39 -2.52 -0.02 -3.35 -1.2 -3.02 1.43 
+-2.14 1.79 -4.49 0.95 2.71 1.73 -0.5 2.87 -3.49 0.8 3.54 1 2.5 1.32 -1.3 1.17 
+-2.32 -0.34 -1.65 0.82 2.08 1.35 0.89 1.65 1.59 -0.34 0.49 1.25 0 14.24 -1.84 -0.45 
+-3.21 -0.5 -3.02 -0.02 -2.59 -0.33 0 -220.03 -0.54 -1.39 -1.67 -0.35 -0.35 -3.27 -2.19 -0.78 
+0.17 1.41 2.37 2.64 0.93 1.33 1.28 0.41 0 220.03 -0.67 -0.08 -2.75 0.89 -2.45 -0.61 
+-2.95 -1.43 -2.12 -1.71 -0.74 -0.52 0 -221.13 1.41 -0.67 0.04 -1.43 -1.74 -0.28 -0.48 1.5 
+0.76 0.89 p
+0 221.13 -1.54 -1.06 -0.64 -0.22 0 -217.27 -1.08 -2.24 -1.34 -0.82 -1 1.99 1.67 0.11 
+1.75 0.96 0 217.27 -2.19 -0.76 -2.99 -0.84 -3.93 -0.45 -3.25 1.34 -3.09 0.26 -2.12 -1.68 
+-1.85 1.39 -1.06 -3.73 -1.87 -2.3 -2.26 -2.13 -3.43 -1.63 -3.25 -0.58 -1.35 -3.67 -2.91 -1.84 
+-2.32 -2.13 -1.91 -2.32 -2.75 -1.96 -2.23 -0.04 -1.89 3.12 0.11 2.67 -1.56 1.93 -2.78 2.02 
+0.02 4.01 0.86 2.95 1.09 3.39 0.82 1.82 1.21 4.53 1.61 1.96 0.11 2.3 2.54 2.61 
+1.74 3.04 0.26 3.47 2.26 2.12 1.82 2.41 2.78 2.34 3.26 2.06 3.08 0.87 2.56 -1.71 
+3.73 2.88 1.84 2.97 -3.45 -0.89 -3.08 0.91 0 2.78 3.12 2.06 3.21 1.96 1.87 -1.58 
+0.93 -2.82 1.8 2.37 -0.89 1.87 1.93 2.88 -2.47 -0.63 -1.67 1.28 0.61 1.52 2.96 1.45 
+1.39 2.07 3.34 1.93 1.84 1.7 1.15 2.34 2.56 1.82 1.37 2.61 1 1.97 1.85 1.24 
+-0.76 1.97 0.43 2.63 -1.45 1.56 -1.76 1.61 -2.17 0.54 -0.18 2.43 0.83 1.68 1.82 -0.09 
+0.21 1.93 0.79 1.43 2.11 -0.43 1.58 -1.13 0.41 2 1.89 1.19 -1.04 1.02 1.17 1.88 
+2.89 0.44 2.06 -1.22 2.54 -0.61 2.75 -1.78 3.93 0.71 1.65 1.26 -1.39 1.84 3.16 0.54 
+3.19 -0.08 2.17 -0.05 0.69 -1.3 1.98 0.52 1.52 1.37 0 0.91 -1.54 0.13 -1.52 -0.63 
+-3.97 0.24 -3.19 0.42 -2.88 -0.13 -3.65 -0.06 -2.47 1.39 -3.59 -0.3 -3.19 -1.12 -3.53 -0.39 
+-1.43 1.78 -2.06 -1.02 -2.75 0.81 -2.09 -2.37 -3.2 0.37 -2.45 1.57 1.96 1.25 -1.5 0.8 
+0.17 1.59 -1.47 0.93 -0.07 2.9 0.3 2.02 2.78 0.57 2.23 -0.98 1.02 -0.99 0.98 1.23 
+2.78 0.57 1.04 -2.2 1.32 2.25 4.19 -0.62 1.08 -1.09 2.43 1.06 3.04 0.65 0.91 1.43 
+3.84 0.05 -0.76 -1.89 1.7 -0.56 1.76 -1.86 2.43 -0.85 -1.56 1.91 -0.61 2.04 -1.21 1.29 
+-0.33 2.04 2.11 1.61 3.41 0.78 0 74.74 -2.97 -0.41 -2.06 0.43 -2.21 -0.91 0 -71.27 
+2.38 -0.76 3.08 0.15 0.02 -1.13 -3.08 -0.82 -2 -1.07 -0.37 -1.8 -1.61 -0.93 -2.91 -0.11 
+-0.57 -1.59 -2.56 -0.5 -1.91 0.81 -3.3 0.13 -2.61 0.63 -0.24 2.6 2.43 1.61 3.08 0.67 
+2.41 -0.15 2.67 0.85 1.96 1.15 3.11 0.26 0 71.27 -1.85 -0.74 -1.58 0.11 0 -67.27 
+1.78 -0.48 -3.02 -1.09 1.23 1.56 0 67.27 -2.17 0.15 -1.24 -0.57 0 -61.07 1.04 -0.61 
+-0.35 -1.24 -1.52 -1.06 -0.3 -1.39 -2.43 -1.35 -2.75 -0.11 -2.45 -0.54 -0.48 -0.98 2.71 -0.2 
+2.87 0.04 -2.56 -2.19 -1.74 -0.57 -2.04 0.2 -0.13 1.28 -0.17 1.58 -1.02 1.09 3.02 0.98 
+0.24 1.28 1.35 1.91 1.8 0.79 1.82 -0.79 1.63 1.54 1.48 0.33 0 61.07 -1.32 -0.61 
+-2.17 -1.02 0 -52.28 1.31 -0.87 -0.46 -2.11 -2.07 -1.59 -0.95 0.7 0.37 1.34 1.3 0.87 
+0.5 1.65 0 52.28 -0.74 -0.32 -0.54 -0.11 0 -49.91 0.39 -1.33 -2.26 0.11 0.06 0.76 
+1.8 0.46 0 49.91 -3.73 -0.8 -0.86 -0.46 0 -38.13 0.36 -1.8 1.56 -1.58 0.85 -1.5 
+0.32 -1.37 -1.25 -1.58 1.25 -1.2 -0.62 -0.26 0 -2.95 0.15 -1.37 0.48 -1.21 -0.39 -1.02 
+-2.95 0.35 p
+-0.98 1.71 1.32 1.45 2.37 0.09 0 2.95 -1.74 -0.73 -1.02 1.3 -0.96 -0.04 0 -11.24 
+0.29 -0.91 -1.89 -0.16 0 -7.62 1.02 -1.87 -0.17 -2.47 -1.56 -0.41 -1.54 0.63 0.8 2.13 
+1.45 2 0 7.62 -0.35 -0.02 -2.56 -0.65 1.07 1.41 3.45 0.33 0 11.24 -1.65 -0.07 
+-1.91 1.78 2.28 1.3 -1.71 0.96 -1.37 1.54 1.65 1.35 0.65 1.3 3.3 0.61 0 38.13 
+-1.91 -1.04 -3.28 -0.67 -1.8 -1.5 -1.04 -0.65 0 -38.45 1.63 -0.96 0.67 -1.49 -2.23 0.71 
+-1.45 0.72 1.39 1.02 0 38.45 -1.28 -0.78 -2.17 -0.44 0 -38.93 2.34 -1 2.54 -1.19 
+1.8 -1 -1.15 -1.47 -2.54 -1.59 -2.08 -0.74 -2.64 -0.52 -1.43 -2.32 2.54 0.7 1.71 -0.34 
+1.43 0.97 1.89 -0.91 1.15 -0.95 -1.37 -0.22 0 -13.52 -0.78 -2.04 -1.8 -1.7 0.11 -1.89 
+-1.84 -0.89 -1.21 -1.43 -1.37 0.29 -1.65 -2 -0.39 -2.45 2.13 -1.73 -0.11 -2.11 0.57 -1.65 
+-0.91 -2.43 -2.52 -0.87 -2.91 -0.22 -1.86 1.67 1.06 2.28 -2.56 0.63 -0.54 2.13 -0.11 2.11 
+0.02 2.34 1.21 2.75 3.39 0.87 2.89 0.16 2.78 0.89 1.63 1.47 -0.59 1.95 2.93 1.65 
+2.45 0.21 0 13.52 -1.61 -0.25 0 -4 0.07 -1.09 -2.04 -1.17 -2.78 -1.26 2.88 0.09 
+1.78 -0.63 -0.48 -1.91 -2.17 -1.83 -2.61 -0.28 -2.9 -0.52 -3.45 0.17 0.28 2.73 4.04 1.43 
+-1.13 1.67 3.08 1.3 2.39 0.37 3.04 0.91 0 4 -0.45 -0.07 -2.71 -1.74 -1.5 -1.54 
+-2.63 0.33 -2.8 0.13 0 -1.69 2.26 -0.5 -2.52 -0.91 0.26 1.41 0 1.69 -0.15 0 
+-0.09 1.52 1.23 2.54 -0.8 1.45 -1.3 1.3 -0.13 1.37 1.28 1.54 1.79 0.5 0.58 -1.61 
+2.8 1.04 -1.24 1.34 1.78 1.17 1.76 1.57 0 38.93 -1.04 -0.23 -2.7 -0.59 -3.08 -1.91 
+-3.58 -1.06 -3.06 -0.67 0 -21.86 2 -1.28 2.3 -1.41 3.04 -0.93 4.32 0.13 -0.61 -2.32 
+0.26 -2.06 -3.08 -1.89 -1.43 -2.28 -3.06 -0.87 0 -25.12 3.73 -0.57 0.02 -1.36 -2.39 -1.26 
+-3.6 -0.63 0.98 2.11 1.25 1.72 0 25.13 -0.46 -0.11 -3.25 -1.8 -0.98 2.04 -0.06 0.13 
+0 -47.16 1.15 -1.33 0.48 -1.82 -0.63 -1.8 -2.35 -1.46 -1.97 -0.58 -0.31 2.26 -1.54 0.89 
+0.24 2.04 2.65 1.46 2.28 0.35 0 47.16 -0.76 1.8 -1.02 2.15 -3.95 1.04 -2.41 1.65 
+0.59 1.78 -0.2 2.15 4.58 0.55 4.19 1.54 0 21.86 -0.54 -0.14 -3.84 -1.47 2.26 -0.87 
+0.57 -1.66 -1.22 -1.59 -2.54 -0.91 0.5 -1.56 -0.33 -2.54 -0.32 -2.34 -3.14 -0.05 -0.26 -1.61 
+2.91 -1.45 -3.5 -1 0 -13.11 2.67 -0.48 1.09 -1.34 1.82 -0.16 0.87 -1.52 0.3 -1.79 
+1.22 -1.37 -0.76 -1.54 -4.17 -0.45 1.61 -1.89 -2.17 -1.5 0.37 -1.71 -2.99 -2.28 3.17 -0.67 
+3.08 -1 -0.35 -2.09 -2.16 -1.25 -2.39 0.5 -1.39 0.43 0 -2.93 0.82 -1.17 -0.56 -2.11 
+3.38 1.63 2.24 0 0.97 -1.28 -0.71 -1.82 1.35 -1.2 -3.47 -1.39 -3.09 0.87 -1.36 -2.15 
+-3.85 -1.25 -4.01 -0.52 -1.07 1.89 -2.23 1.34 3.52 1.93 3.04 1.87 0.21 1.56 2.69 0.76 
+2.13 1.04 0 2.93 -1.56 0.5 -2.93 -0.68 -3.88 -1.21 -3.93 -0.13 -2.91 -1.87 -2.21 -2.49 
+-1.56 -2.87 p
+-3.19 -0.26 -0.33 1.84 -2.62 -1.25 -1.84 1.49 -0.57 2.02 2.32 2.41 2.73 1.84 -1.82 1.59 
+-0.54 2.19 -0.87 2.61 0.35 2.86 0.49 2.45 5.04 1.28 1.08 2.41 2.73 2.06 4.43 0.43 
+-0.72 -1.99 -1.15 -2.43 0.76 -2.11 2.82 2.11 0.87 2.21 1.89 2.58 2.73 1.41 1.95 -0.62 
+2.63 1.71 0 13.11 -1.37 -0.39 -3.78 -0.26 -2.11 -1.17 2.56 -1.96 -3.8 0.35 -1.32 -1.31 
+2.36 -1.12 -1.84 -2.64 -3.49 -1.56 -3.08 -2.26 -2.73 -2.19 -1.54 -2.54 -2.78 -2.3 -3.3 -1.11 
+-0.09 1.76 -2.08 0.39 -0.93 -2.08 -2 -2.19 0.11 -2.52 0.33 -2.34 -2.29 -1.96 -1.73 -2.12 
+2.71 -0.29 2.3 2.29 1.89 -1.11 0.54 -2.21 0.52 -2.04 -4.15 -2.43 -2.62 -3.16 -2.17 -2.59 
+-1.41 -3.43 0.52 -2.13 3.95 0.74 2.21 -0.65 2.95 3.3 2.17 -1.24 3.39 -0.39 -3.39 -3.22 
+-3.88 -2.34 -2.59 1.69 -3.78 -1.08 -2.08 -2.34 3.25 0.28 0.18 -0.57 3.5 -0.67 3.29 1.58 
+2.93 -0.39 2.58 3.38 3.97 2.61 3.75 0 3.61 0.11 1.73 -0.89 3.41 0.72 2.86 0.57 
+3.39 0.98 2.8 0.96 2.89 -0.05 1.23 -2.34 -0.78 -2.75 -1.11 -1.56 -1.79 0.24 -2.43 0.2 
+0 -2.96 3.02 -0.69 1.93 -0.82 0.5 -1.97 0.31 -1.84 -2.32 1.34 -2.04 0.22 -2.93 -0.26 
+-2.67 -0.93 -2.73 -0.96 -1.79 -2.11 2.56 1.35 2.78 0.74 3.32 0.91 3.21 -0.65 2.71 -1.09 
+1.07 -1.37 -1.37 -1.17 -3.06 -0.61 -2.63 -1.93 -3.38 -0.74 2.47 -0.59 0.67 -1.52 2.78 -0.65 
+0 -1.52 -0.49 -1.89 1.49 -1.56 -1.75 -1.32 -3.04 -1.43 0.8 -2.25 -0.48 -2.23 -2.04 -3.75 
+-0.48 -2.91 -1.95 -2.73 -2.82 -0.87 -0.96 -2.97 -2.47 1.2 -2.8 -1.72 -0.74 -3.32 1.97 -2.17 
+-0.97 -2.75 -0.33 -2.74 -0.28 -2.62 -0.59 -2.3 -3.97 -1.39 -2.47 -1.26 -2.65 1 -3.06 -1.48 
+-0.04 3.02 2.39 2.97 0.41 4.32 -3.95 -2.08 -1.88 -2.75 -0.68 -3.26 -0.74 -2.28 -2.48 -2.09 
+-0.97 -2.82 -3.49 -2.08 0 -681.32 4.05 -0.3 3.54 -1.13 2.28 -1.17 0.26 -1.65 -3.35 1.98 
+-3.23 1.15 -3.55 1.13 0 681.32 -0.26 -0.16 -2.02 1.98 0.04 3.04 0.35 2.76 -0.35 2.86 
+-1.61 -2.23 -0.69 -2.54 -0.89 -2.97 -0.56 -2.56 -1.04 -0.83 0 -712.2 4.6 -1.49 -4.47 0 
+-0.13 1.49 0 712.2 -1.08 -0.82 -1.2 1.99 -0.54 2.2 -0.06 2.52 0.84 1.52 -0.59 2.32 
+-0.11 1.91 0.7 2.65 2.32 1.54 0.34 2.3 -0.17 2.17 0.26 2.56 -0.76 2.13 -2.28 0.47 
+-1.59 2.65 1.93 2.39 2.78 0.71 1.09 -0.71 2.15 0.75 0.52 -3.08 1.43 -2.24 3.08 -0.49 
+1.91 3.14 2.82 -0.22 3.23 0.22 2.65 0.07 2.06 1.9 2.58 2.11 0.71 2.91 2.28 2.64 
+-3.02 0.71 4.3 1.48 1.69 3.86 2.17 2 -3.78 -0.02 -1.65 0.76 1.67 3.32 -1.11 1.29 
+-0.07 3.4 -0.7 2.13 1.56 3.14 2.39 2.23 3.09 2.08 2.54 2.22 3.88 1.04 2.91 0.13 
+2.93 0.06 0 2.96 -0.46 0.04 -2.93 0.15 -0.15 1.58 -1.24 1.05 -2.19 -1.2 -2.3 0.48 
+-3.32 -1.74 -2.71 -1.93 -2.09 -1.69 -3.23 -1.82 -3.04 0.96 -1.43 -2.22 -2.61 -1.89 -3.08 -2.28 
+4.75 -0.22 -2.93 -2.58 -2.73 -0.93 -3.35 -0.87 -3.34 -2.95 1.47 -0.87 2.65 1 2.75 -0.96 
+3.73 1.41 p
+3.71 1.5 3.26 1.15 0.61 -1.89 -0.31 -2.43 -2.06 -1.11 0.07 -2.52 -2.17 -0.91 0 -9.16 
+1.07 -1.79 -1.5 -1.78 -2.67 -1.06 -2.13 0.26 -1.56 1.59 2.62 2.19 4.17 0.59 0 9.16 
+-1.73 -0.74 -2.3 1.07 -3.15 -1.32 -0.7 -2.73 -3.79 -1.22 -3.54 0.93 -3.34 0.74 0.15 2.78 
+1.32 1.39 -1.22 2 -1.69 -2.17 -3.2 0.04 0 -1.36 3.23 -0.7 -2.95 -1.96 -1.87 -2.95 
+-1.23 -3.13 -1.41 -2.34 -2.13 -2.21 -0.59 -2.63 -3.36 0.43 1.28 2.59 0.83 2.32 -0.61 1.41 
+-2.52 0.16 -3.12 0.02 -1.17 1.59 3.08 1.58 -0.89 2.63 3.23 -0.8 3.58 2.08 3.8 1.26 
+2.82 0.66 0 1.36 -1.66 0.02 -3.2 -1.3 -3.64 0.09 -3.62 0.13 -0.78 2.96 -4.05 -0.13 
+-0.39 -0.17 0 -16.91 1.7 -0.93 0.61 -1.29 -0.47 -0.23 -0.24 0.02 0 -4.68 0.86 -1.59 
+-2.52 -1.23 -2.93 -0.61 1.02 1.67 3.56 1.76 0 4.68 -3.15 0.42 -1.24 1.43 2.8 0.59 
+0 16.91 -2.8 -1.3 -1.56 1.64 -1.49 1.5 -3.26 -1.29 -1.3 1.05 -2.93 0.02 -3.45 -0.17 
+-2.82 -0.5 -2.76 -0.5 -3.86 -1.37 -3.23 -1.34 -2.5 -1.91 0.81 -1.39 -0.18 -1.82 -2.34 -1.78 
+0 -36.63 3 -0.59 -1.05 -1.52 -3.6 -1.67 2.34 1.61 -1.87 -0.22 -0.8 1.3 3.21 0.09 
+-1.24 1 0 36.63 -1.2 -0.91 -2.61 -1.21 -2.45 -2.11 -2.06 -1 1.36 -0.93 1.59 -1.3 
+-1.32 -3.47 -0.26 -2.97 -1.21 -3.32 -2 -2.84 -0.37 -2.21 -0.11 -2.56 -1.37 -3.93 1.15 -2.39 
+1.23 -2.37 -0.39 -2.88 -4.6 -2.28 -2.04 -2.24 -2.3 -1.61 -2.12 -1.11 0 -0.96 1.78 -0.74 
+0.13 -1.37 -1.91 -2.25 -0.11 2.25 0.11 2.11 0 0.96 -0.91 -0.48 -1.39 -3.28 -1.7 -2.73 
+-1.04 -2.59 -1.76 -2.56 -0.69 -3.02 1.65 1.58 3.19 -0.58 3.65 0.71 2.02 3.04 2.69 2.06 
+3.04 2.56 1.91 2.28 1.78 2.39 2.49 -0.72 3 -0.35 3.38 -0.02 3.09 0.57 3.66 2.64 
+2.82 2.8 2.1 1.98 2.78 2.88 0.18 1.85 1.11 2.43 2.02 1.04 1.35 -1.04 2.99 0.5 
+2.39 1.52 2.67 2.13 0.82 1.86 2.82 0.85 2.66 0.95 0.79 1.98 2.45 1.45 2.22 -0.39 
+0.69 -2.13 0.15 -2.3 0.84 -1.22 2.46 -1.49 -0.41 -2.26 -0.95 -2.48 -0.3 -2.28 -2.15 -0.8 
+-0.26 -2.3 1.16 -1.37 0.73 -1.64 -2.5 -1.35 -1.8 -2.12 -2.75 -1.84 -1.71 -1.35 -1.35 -2.62 
+0.61 -1.41 -1.75 -3.65 3.08 -0.75 2.26 0.78 2.61 -0.28 2.86 1.04 1.05 1.95 1.97 0.35 
+2.54 0.52 -1.02 -1.95 -1.52 -2.97 -1.3 -3.12 -1.56 -2.89 -1.35 -3.04 -0.49 -2.3 -1.59 -1.52 
+-0.08 -1.98 -1.5 -0.46 0 -697.72 4.36 -1.62 -2.25 -0.76 -2.61 0.98 0.5 1.41 0 697.72 
+-0.91 -0.3 -2.28 -2.24 -0.56 -2.23 0.73 -2.58 -1.47 -2.23 2.16 -2.24 -0.69 -2.14 1.86 -1.96 
+0.16 -2.02 -3.41 -0.16 2.08 -2.12 -1.47 -2.08 1.89 -1.29 -0.29 -3.52 -0.09 -0.06 0 -672.24 
+3.04 -1.32 -1.73 -0.28 -0.83 -1.5 2.34 0.37 2.95 -2.75 -2.61 0.06 -3.05 1.33 1.91 -2.48 
+-2.58 0.5 -0.11 -1.96 -0.09 -1.88 0.89 -2.26 1.56 -1.58 1.63 -1.56 1.78 -2.06 -3.32 0.71 
+0.46 -1.39 3.32 -1.7 -2.08 -0.52 1.26 -2.17 2.89 -2.3 2.95 -0.72 0.65 -1.34 3.71 -1.54 
+2.21 0.63 p
+4.06 -0.89 4.42 -2.3 3.85 -1.91 3.55 -1.43 1.91 -1.48 2.82 -0.67 2.95 -1.56 1.33 -2.08 
+3.6 -0.89 1.96 -1.41 4.1 -0.71 1.63 -1.43 -1.48 -0.96 3.02 -1.02 4.43 -2.02 0.89 -1.71 
+2.87 -1.5 -1.17 -0.93 3.6 -1.78 2.13 -1.76 0.93 -2.3 1.82 -2.54 3.8 0.55 2.17 1.43 
+3 1.06 4.08 0.39 4.34 -0.47 5.21 -0.3 4.68 -0.43 4.58 -0.07 3.64 -0.34 5.32 0.8 
+4.1 0.81 3.13 0.91 1.21 1.99 -0.2 2.11 1.3 1.56 1.45 1.56 1.61 1.61 1.83 1.54 
+1.04 1.82 0.61 1.71 2.93 1.63 -0.98 2.25 1.93 1.47 2.73 1.54 2.19 1.45 3.04 1.5 
+2.45 1.45 3.63 0.8 2.63 0.46 2.43 1.09 2 1.37 -0.02 1.3 -2.41 0.93 -0.87 1.32 
+1.61 0.37 1.7 -1.26 0.89 1.34 1.65 1.05 2.12 -0.65 1.11 -0.95 0.82 -1.63 2.82 0.7 
+-1.08 0.98 0.58 1.37 -1.08 0.97 2.14 0.35 2.65 0.05 0.15 -1 -0.22 -1.3 3.89 0.04 
+3.84 0.34 -0.17 2.3 -0.98 1 2.19 0.7 2.28 -0.67 1.82 -0.98 -1.29 -1.32 2.2 -0.98 
+1.75 -1 3.45 0.98 3.58 1.3 2.3 1.35 3.25 0.95 4.47 -0.04 2.89 0.95 3.64 -0.06 
+3.5 -0.43 3.71 0.26 3.61 -0.09 4.32 -0.52 3.58 -0.11 3.54 -0.16 3.52 -0.15 4.08 -0.85 
+3.69 -0.54 3.47 -0.87 4.69 0.39 2.36 0.89 4.3 -0.28 4.14 0.78 4.56 0.05 4.23 0.75 
+1.98 0.18 3.84 -0.33 1.3 2.11 1.58 1.32 2.5 0.2 0.52 -1.56 1.04 -1.93 1.84 -0.96 
+2.98 -0.67 -1.21 -2.13 3.29 1.5 1.91 0.57 1.39 1.37 1.82 1.37 4.71 1.02 3.11 1.2 
+4.84 1.04 3.32 -0.02 3.76 -0.45 3.28 0.39 2.47 -0.78 2.02 0.96 2.04 -0.29 -0.83 -1.93 
+2.87 0.83 2.11 2.63 3.3 2.06 3.75 0.74 3.34 1.22 4.21 -0.17 3.23 -1 0.24 -1.8 
+1.84 -1.26 -1.41 -1.11 -2.39 0 0.61 -1.02 1.82 -0.8 1.26 -1.2 -1.2 -1.61 3.91 0.11 
+0.63 -1.58 1.52 -0.89 3.13 0.24 2.19 -1.06 1.5 -1.48 2.04 -1.11 1.87 -0.57 2.63 0.2 
+-3.45 -2.17 -1.98 -2.08 -2.11 -2.08 -2.88 -0.11 -2.37 -1.91 -3.56 -2.08 -1.71 -2.22 2.11 -0.3 
+1.45 1.8 4.49 0.54 3.06 -0.06 0.82 -1.02 0.24 -1.34 3.47 0.91 3.97 0.67 1.86 -0.21 
+4.95 2.21 2.91 0.57 4.06 -0.05 2.93 -0.19 5.1 1.52 2.82 -0.25 3.09 -0.37 3.04 -0.39 
+2.9 -0.5 0.26 -1.11 1.26 -1.09 2.04 -0.93 2.43 -0.23 0.21 -1.35 0.85 -1.04 1.52 -0.7 
+-0.76 -1.8 2.19 -0.35 -1.11 -1.48 2.04 -0.2 -0.29 -1.3 1.83 -0.09 0.3 -0.78 3.49 0.45 
+2.78 -0.35 -0.43 -2.06 -1.28 -1.95 -1.48 -2 -2.34 -2.34 -0.8 -1.65 -2.52 -2.32 2.36 0.3 
+-1.04 -1.49 2.36 0.49 3.34 1.35 1.32 -0.79 0.54 -1.11 0.39 -1.17 -2.89 -2.21 -3.86 -2.76 
+-2.34 -2.12 -3.41 -2.67 -1.93 -2.3 -0.66 -1.04 -0.63 -1.04 0.18 -0.67 0.2 -0.65 1.39 -0.83 
+-4.38 -2.38 -0.68 -0.83 -0.65 -0.8 0.91 -0.04 0.93 -0.04 -1.12 -0.96 -1.15 -0.96 2.34 -0.17 
+-0.78 -0.87 -1.47 -0.74 0 -64 0.29 -0.17 0.28 -0.15 0.28 -0.17 0.07 -0.16 0.06 -0.17 
+0.04 -0.15 -1.17 -0.65 -1.19 -0.63 -1.2 -0.65 -0.48 -0.36 -0.48 -0.35 -0.5 -0.37 -0.82 -0.5 
+-0.83 -0.48 p
+-0.87 -0.5 -2.25 -0.91 -4.61 -1.78 -2.36 -1.02 -2.41 -1.02 -2.45 -0.99 -1.57 -0.72 -1.61 -0.71 
+-1.61 -0.7 -1.69 -0.74 -1.74 -0.72 -1.75 -0.71 -2.28 -0.89 -2.32 -0.89 -2.34 -0.89 -0.16 -0.21 
+-0.12 -0.24 -0.15 -0.21 0.32 -0.09 0.33 -0.07 0.34 -0.08 -2.64 -0.87 -2.65 -0.89 -2.71 -0.87 
+0 -0.28 -0.02 -0.13 1.34 0.21 1.34 0.24 1.37 0.26 -1.95 -0.69 -1.96 -0.68 -2 -0.67 
+-4.28 -1.12 -4.25 -1.09 -4.25 -1.06 -1.87 -0.33 -1.84 -0.32 -1.82 -0.3 -3.6 -1.05 -1.82 -0.52 
+-1.61 -0.48 -1.63 -0.5 -1.64 -0.48 -3.08 -0.48 -1.52 -0.21 -3.08 -0.67 -6.2 -1.31 -1.24 -0.06 
+-2.43 -0.13 2.86 0.87 1.39 0.43 1.78 0.54 1.74 0.54 1.73 0.57 1.07 0.41 1.04 0.39 
+1.02 0.41 4.38 1.17 2.15 0.61 -0.37 0.04 -0.39 0.04 -0.37 0.04 -2.65 -0.52 -2.63 -0.52 
+-2.6 -0.5 3.95 0.93 3.95 0.96 3.93 0.95 3.17 1.09 1.54 0.56 2.63 0.8 2.61 0.8 
+2.58 0.8 -0.04 0.3 0 0.15 -0.22 0.13 -0.23 0.13 -0.22 0.13 -0.3 0.13 -0.61 0.22 
+0.61 0.37 0.58 0.37 0.61 0.37 1.15 0.5 1.15 0.48 1.13 0.5 1.75 0.63 1.74 0.63 
+1.73 0.65 2.72 0.89 2.71 0.93 2.66 0.91 3.64 1.08 3.63 1.11 3.64 1.11 2.54 0.83 
+2.56 0.84 2.54 0.85 3.9 1.13 1.96 0.58 3.71 1.5 2.5 0.89 2.52 0.91 2.5 0.93 
+1.95 0.63 1.97 0.65 2 0.65 0 64 -0.35 -0.19 -1.84 -0.91 -2.69 -1.15 -2.7 -1.11 
+-0.99 -0.67 -0.98 -0.65 -1.32 -0.63 -1.3 -0.62 0.8 -0.14 0.78 -0.11 3 0.73 2.99 0.76 
+0.91 -0.82 -1.63 -1.17 -1.67 -1.15 -0.98 -1.09 -1 -1.11 -3.17 -1.99 -0.74 -0.83 -0.76 -0.8 
+-2.48 -1.17 -2.5 -1.15 -1.28 -0.91 -1.28 -0.89 -2.17 -1.07 -2.17 -1.04 -1.76 -0.96 -0.99 -0.54 
+0 -50.85 0.17 -0.3 0.2 -0.28 0.17 -0.3 -2.14 -0.57 -4.3 -1.09 2 0.85 3.91 1.69 
+0 50.85 -0.79 -0.41 -2.11 -1.11 -2.13 -1.11 -2.6 -1.37 -2.63 -1.37 -1.93 -0.56 -1.95 -0.59 
+-0.5 -0.61 -0.52 -0.63 -2.38 -0.93 -2.41 -0.93 -2.26 -0.21 -2.26 -0.17 -1.43 -0.59 -1.43 -0.57 
+-1.3 -0.78 -1.32 -0.79 -2.82 -0.74 -2.84 -0.73 -2.08 -0.2 -2.06 -0.2 -5.95 -1.99 -0.46 -0.48 
+-0.48 -0.48 -3.36 -0.96 -3.39 -0.93 -0.54 -0.5 -0.57 -0.5 -2.23 -0.28 -2.23 -0.3 -1.83 -0.8 
+-1.84 -0.8 -3.17 -1.11 -3.19 -1.09 -3.06 -0.24 -3.06 -0.21 -2.75 -0.5 -2.78 -0.48 0.11 -0.46 
+0.11 -0.44 -2.25 -0.54 -2.26 -0.52 -2.89 -0.57 -2.91 -0.54 -3.43 -0.54 -3.45 -0.52 -2.52 -0.34 
+-2.54 -0.37 -2.21 0.61 -1.46 0.24 -1.46 0.26 -1.82 0.05 -1.82 0.06 -0.69 -0.82 0.71 -0.41 
+0.71 -0.39 -1.82 -0.5 -1.82 -0.47 -0.89 0.47 -0.87 0.5 -3 -0.56 -3.02 -0.57 -2.56 -0.54 
+-2.56 -0.52 -3.39 -0.11 -3.36 -0.09 -3.32 -0.02 -3.3 -0.02 -3.19 0.04 -3.16 0.04 0.13 -0.39 
+0.13 -0.41 -2.48 0.48 -2.43 0.48 1.28 0.46 1.3 0.45 -2.61 1 1.08 0.54 1.07 0.55 
+1.61 0.63 1.59 0.63 4.94 0.87 -1.43 0.91 -0.18 0.54 -0.15 0.52 1.97 0.41 2 0.41 
+-0.63 0.34 -0.61 0.37 0.89 0.61 0.88 0.58 1.28 0.7 1.26 0.67 -0.61 0.61 -0.58 0.63 
+-0.87 0.43 p
+-0.85 0.46 -2.61 0.78 -2.52 0.82 -2.43 0.83 -0.81 0.48 -0.78 0.5 -1.63 0.13 -1.61 0.13 
+-2.21 0.33 -0.26 0.05 0 -1.91 0.37 -0.65 0.39 -0.67 -2.25 0.08 -2.26 0.11 -2 -0.09 
+-1.99 -0.06 3.04 1 2.34 0.13 2.36 0.15 0 1.91 -1.93 0.28 2.06 0.39 2.04 0.39 
+2.17 0.7 2.17 0.71 1.21 1.48 -2.17 1.17 -1.43 0.78 -2.69 1.09 -2.08 1.23 -3.06 1.07 
+-3.55 0.8 -4.08 1 -3.93 0.82 -4.25 0.87 -4.17 0.46 -5.43 -0.26 -4.86 0.93 -2.11 1.52 
+-3.99 0.61 -3.67 0.73 -3.14 1.05 -1.07 1.71 -3.88 0.54 -3.64 1.2 -5.54 0.37 -2.3 -1.3 
+1.39 -1.52 -0.33 -1.7 -3.06 -1.09 -1.45 -1.41 -1.34 -0.61 0 -8.01 2.09 -1.58 -0.89 -0.61 
+-0.91 -0.63 -1.12 -0.22 -1.15 -0.19 0.43 -0.57 0.42 -0.54 -2.43 0.36 -2.45 0.37 -0.33 0.57 
+-0.3 0.55 0.24 0.61 0.26 0.58 1.82 1 4.34 0.3 0 8.01 -1.21 -0.56 -2.59 -1.15 
+-1.89 -1.29 -3.91 -0.24 -5.29 0.7 -5.38 1.21 -3.04 0 1.34 -1.65 1 -1.46 2.17 -1.69 
+2.08 -1.89 0.8 -0.85 0.83 -0.84 0.17 -0.55 0.2 -0.56 -3.12 0.39 -3.91 1.13 -0.92 -0.32 
+-0.91 -0.3 1.98 -0.61 2.02 -0.59 0.79 -0.56 0.78 -0.55 -0.43 -0.43 -0.46 -0.41 -0.84 -0.85 
+-2.37 0.24 -2.39 0.26 -2.93 0.93 -2.9 0.98 0.26 1.25 -1.78 0.89 -1.76 0.91 -2.95 0.61 
+-2.98 0.61 -1.43 0.16 0 -72.48 3.13 -0.24 3.11 -0.21 3.08 -0.2 -0.85 -0.02 -0.84 0 
+-0.87 -0.02 1.96 -0.26 1.97 -0.29 1.98 -0.26 -4.23 0.48 -4.23 0.5 -4.18 0.52 0 72.48 
+-1.95 0.2 -3.38 0.37 -1.81 -0.3 -1.78 -0.28 0 -1.22 2.54 -0.26 2.54 -0.24 2.43 -1.34 
+-3.58 0.41 -3.55 0.42 -0.2 0.49 -0.17 0.52 0 1.22 -0.02 -0.02 -1.2 -0.35 -1.17 -0.34 
+-1.13 -0.37 -1.15 -0.35 -3.14 1 -3.13 0.99 -3.02 0.72 -3 0.74 -1.21 1.21 -2 0.2 
+-2 0.22 -2.3 0.69 -2.28 0.74 -2.61 0.71 -2.61 0.76 -2.15 0.54 -2.12 0.57 -2.15 1.21 
+-2.11 1.21 0.68 0.89 2.11 0.98 1.39 0.93 0.11 1.41 -1.25 0.89 -3.34 0.35 -5.38 0.82 
+-5.82 1.24 -4.52 1.37 -6.27 1.82 -5.3 0.43 -1.54 1.48 3.86 0.32 1.13 1.02 -4.17 0.67 
+-0.63 1.63 -1.37 1.74 1.32 0.06 4.45 -1.97 4.97 -0.81 3.91 0.52 -1 2.34 -3.26 1.7 
+-4.88 0.78 -4.91 0.83 -3.66 1.39 3.04 -0.22 4.75 -0.54 4.66 -0.37 1.02 1.15 -5.04 1.21 
+-1.3 -0.58 -4.99 1.11 -0.43 1.13 3.19 -0.43 3.54 -1.22 3.75 0.02 -0.41 1.34 -1.89 1.7 
+-3.36 0.8 -0.21 1.63 1.63 0.73 2.45 0.52 -2.41 1.07 -4.17 -0.5 -3.2 1.47 -2.45 -0.06 
+-2.45 0.7 0.87 1.15 -1.43 1.37 -3.41 0.06 1.54 -1.73 -4.88 0.33 -0.74 1.36 3.2 -1.12 
+-0.61 1.95 4.12 -0.13 -2.3 1.2 3.36 -0.59 3.17 -0.95 0.26 1.02 -3.06 1.26 -3.21 1.04 
+-1.93 -0.85 -4.23 0.39 -3.39 -0.09 -2.6 -0.52 -1.46 1.72 2.69 0.65 -1.22 1.8 2.82 0.41 
+3.19 -1.11 2.14 0.96 2.39 0.95 2.5 0.91 1.07 1.41 1.16 1.39 2.55 0.61 -0.48 1.43 
+0.37 1.3 2.37 0.93 2.38 0.96 3.09 -0.24 -3.64 1.41 -2.65 1.98 3 0.39 3.75 0.04 
+2.54 0 p
+3.39 -2.13 1.13 1.2 1.15 1.24 0.7 1.47 1.34 1.17 -0.43 1.5 -2.89 2.19 -3.58 1.96 
+-3.12 1.02 -4.1 2.32 -4.34 1.73 -3.8 1.46 -4.06 2.4 2.02 0.68 -1.15 1.8 -2.89 0.7 
+-1.3 1.69 -2.82 1.8 -1.12 0.34 0 -5.62 5.29 -2.08 4.67 -2.21 4.38 -1.76 4.1 -1.82 
+3.85 -1.88 2.8 -1.76 2.52 -1.78 0.21 -1.63 -1.34 -1.21 -2.63 -0.58 -2.99 1.06 -1.89 -0.35 
+-3.52 0.87 -2.52 -0.04 -3.32 1 -1.57 1.19 2 1 1.67 1.39 1.09 1.07 0.56 0.86 
+-1.34 1.22 -4.14 1.82 -4.43 1.76 -3.34 1.71 0 -4.34 2.5 -0.15 2.39 -1.41 1.52 -1.18 
+-0.78 -0.98 -1.58 -0.8 -1.89 1.67 -2.04 0.96 -0.11 1.88 0 4.34 -0.57 0.28 -0.33 1 
+0.79 0.89 0 5.62 -2.35 0.72 -2.19 1.45 0.3 -2.04 -1.39 -0.43 -2.99 1.8 -1.52 2.19 
+0 1.61 3.02 -1.73 0.78 0.73 3.49 -1.09 -3.25 2.24 0.11 1.56 -2.78 1.3 -0.33 1.93 
+-0.39 2.45 -2.54 1.91 2.8 0.09 -1.72 2.1 1.89 0.85 -2.02 2.04 -0.2 1.39 2.37 1.39 
+0.75 1.54 0.8 1.52 1.76 0.7 0 672.24 -2.04 -1.69 -1.76 -3.82 -2.32 -0.37 -0.52 -0.09 
+0 -1.43 1.34 -0.85 -2.49 -1.93 0 -656.36 -1.41 -1.58 -0.13 -0.07 0 -9.89 3.11 -1.3 
+-0.91 -1.65 0.33 -1.41 -2.87 0.32 -0.58 2.37 3.12 -1.28 -2.2 2.95 0 9.89 -1.21 -0.58 
+-0.37 -2.43 -2.17 0.09 0.8 1.11 1.74 1.24 -0.39 1.78 3.15 0.45 0 656.36 -0.13 -0.09 
+-3.08 -1.75 -2.2 -1.05 -2.84 -1.91 3.37 0.33 1.02 -1.8 -2.15 -0.52 0.41 -2.73 2.23 -0.67 
+1.93 -1.15 0.84 -1.7 -3 -1.28 -0.45 -2.11 2.54 -0.85 -4.04 -1.28 -1.7 -1.39 0.15 -1.3 
+2.52 1.57 1.29 -0.16 -2.52 -2.12 1.85 -0.39 -2.26 -2.28 -2.24 -2.3 -1.82 1.02 1.43 2.1 
+-2.41 -0.41 2.52 2.13 -1.19 1.32 -1.57 0.26 -3.32 -1.67 -1.43 1.52 2.41 0.39 1.19 1.67 
+-1.67 1.59 -2.2 1.34 -2.19 1.39 -2.09 2.02 -2.8 0.54 1.19 2.41 2.13 0.48 2.69 0.72 
+-0.61 1.02 2.58 1.46 3.35 1.58 2.95 2.41 3.12 1.71 2.32 1.61 2.19 1.04 2.8 0.07 
+0 1.43 -2.56 -0.39 -2.97 1.37 -3.21 0.3 -2.48 -0.91 -2.45 -0.84 -2.67 -0.68 -2.41 1.74 
+-2.3 1 -0.59 1.78 -1.67 1.28 -1.48 1.18 -1.09 1.52 -2.2 1.13 -1.04 0.84 0 -3.52 
+1.66 -1.34 1.37 -1.71 0.76 -1.98 0.63 -1.73 -0.56 -2.3 -1.52 1.13 -1.37 1.76 -0.8 1.93 
+0.43 1.71 -0.61 2.54 0 3.52 -0.59 0.5 -1.39 1.2 -2.56 0.76 -2.47 -0.67 -2.28 -1.65 
+-1.59 1.43 -3.45 -0.5 -2.93 -0.33 -2.87 -1.02 -2.32 -0.87 -2.52 -0.63 -2.28 -0.83 -2.56 -0.65 
+2.37 -0.74 2.52 0.63 2.52 0.71 2.87 1 2.93 0.35 2.73 -0.26 2.11 -0.5 2.74 -0.24 
+2.23 -1.12 2.21 -1.18 0.93 -2.19 -0.24 -1.89 -1.41 -1.61 -2.56 -0.02 -2.02 0.21 -2.52 2.11 
+-0.5 -3.82 2.89 -0.93 -1.28 -0.98 0 -4.82 -1.2 -1.85 0.93 -2.02 1.61 -1.2 2.41 -1.12 
+-2.39 -0.24 -1.34 -1.65 -1.28 2.95 -0.61 2.48 0.16 1.93 1.71 0.72 0 4.82 -0.93 -0.71 
+-2.23 -3.02 -1.2 -3.19 0.89 -2.09 0.71 -3.19 1.56 -1.78 2.28 -0.39 1.11 -1.41 1.65 2.12 
+3.04 1.07 p
+2.6 1.46 0.02 -1.35 -2.17 -2.34 0.65 -3 -3 -0.52 -2.34 0.3 -1.78 -1.34 -3.06 0.83 
+-3.87 0.78 -2.9 0.13 -1.41 1.06 -2.25 -0.98 -2.78 -0.62 -2.76 -0.61 -0.39 2.38 1.26 2.5 
+2.39 1.49 3.02 0.43 1.78 -0.06 3.26 0.25 -2.21 0.98 1.64 1.52 -3.45 -0.09 -2.49 0.65 
+-2 1.65 -1.43 -1.7 -2.41 -0.15 -2 0.35 -2.25 0.45 0.06 1.43 -2.69 -1.32 -2.25 0.5 
+-2 0.37 -0.73 -0.84 -2.28 -0.87 -2.12 -1.11 -0.87 -1.46 -1.73 -0.65 0.2 -1.61 -1.32 -2.54 
+1.23 -1.11 1.17 1.17 -1.39 -1.67 -2.54 0.74 0.71 0.87 -1.82 0.13 0.39 1.87 -1.86 -1.26 
+-2.04 0.37 -1.32 1.23 -1.3 1.24 -2.04 0.41 -2.19 0 0 -0.21 1.93 -1.02 1.64 -0.87 
+2.07 -0.37 0.13 -1.7 -2.84 0.39 -2.08 1.26 -2.13 1.24 1.29 1.06 0 0.21 -0.2 0 
+-2.3 -0.84 0.11 -1.71 -2.61 -2.12 -3.02 -1.71 -2.73 -0.39 0.78 2.34 -0.13 1.76 -1.75 -3 
+-1.39 -4.12 -1.71 -0.63 -2.67 -1.32 -2.58 -2.17 -1.02 0.24 2.58 2.17 1.84 1.3 -0.89 0.89 
+1.3 1.09 -0.35 1.97 2.21 1.7 1.47 1.76 1.89 1.24 -1.82 0.24 -1.84 -1.25 -2 -2.8 
+-1.24 -1.91 -0.93 1.75 0.11 -3.32 -2.06 -1.96 -1.39 -1.71 -0.32 -2.93 -0.91 -2.21 -1.54 -2.45 
+-0.67 -2.43 0.5 2.21 -0.13 1.37 -1.28 0.43 -1.82 0.28 1.37 -1.36 1.15 -1.13 -1.39 -1.82 
+-1.5 -0.89 -0.91 0.91 -2.76 -0.41 1.39 -1.37 -1.71 -0.68 -0.22 0.14 0 -143.77 0.26 -1.87 
+-1.09 0.52 -0.73 -0.7 0 -8.33 0.87 -1.65 0.02 -1.2 -0.89 2.85 0 8.33 -0.5 -0.5 
+0.28 2.19 0.95 -0.99 0.83 1.34 0 143.77 -1.76 1.06 -2.54 -0.7 -2.52 -0.61 -1.47 0.76 
+-2.41 0.06 -0.15 -0.08 0 -179.36 3.19 -0.8 -0.76 -3.11 -1.52 -1.06 -2.67 1.11 1.78 0.43 
+0.61 2.54 -0.62 0.89 0 179.36 -1.93 -1.07 -2.26 -0.85 -2.73 -0.37 -1.72 0.07 0 -116.99 
+2.41 -1.35 2.39 -1.32 0.78 -2.26 -1.61 -0.98 -1.7 0.93 -1.91 0.46 -1.54 1.45 1.17 3.06 
+0 116.99 -0.67 0.02 -3.08 -0.82 -2.76 -2.04 -2.71 -2.04 -1.82 -3.04 -1.76 -3.08 -0.56 -1.58 
+0 -27.37 0.09 -3.67 -2.36 -2.39 1.88 2.8 0.39 3.25 0 27.37 -0.71 -2 -1.52 -3.34 
+-0.93 -3.87 -1.28 -1.91 -0.65 -1.87 0 -11.3 0.21 -2.02 2.09 -0.37 0.95 -0.85 -0.3 -1.54 
+-0.17 1.32 -1.93 0.61 0 -45.4 0.96 -1.41 1.34 1.09 -1.8 -2.06 -1.84 1.3 1.34 1.09 
+0 45.4 -1.15 0.37 0.3 2.48 0 11.3 -0.83 -2.28 -0.61 -1.78 0 -64 2.21 -1.52 
+1.54 -3 1.69 0.16 2.56 -1.7 1.74 -1.71 2.04 -1.91 -0.19 -2.49 2.28 -1.41 -2.23 -0.54 
+2.88 -2.97 0.67 -3.56 -2.36 -1.78 -0.52 2.88 -2 1.2 -2.71 0.34 -2.19 0.71 0.63 1.55 
+-2.39 0.2 -0.63 -1.54 -2.37 -1.79 -0.37 4.12 -1.71 1.83 -0.05 0 0 -44.23 0.7 -1.48 
+0.18 -1.05 -0.87 2.52 0 44.23 -1.8 0.5 -1.39 1.63 -1.91 1.28 -1.04 -0.63 -1.67 3.8 
+1.91 0.7 1.67 -1.8 1.15 -2.15 1.9 -1.25 2.29 0.48 -0.52 3.67 0.87 2.02 -0.02 2.73 
+-1.89 1.3 1.93 0.67 0 64 -0.8 -2.34 -0.78 -1.23 0 -14.84 0.8 -0.7 -0.87 -3.69 
+-1.15 -2.04 p
+-0.26 -2.67 -1.65 -1.5 0.83 3.69 -0.26 3.88 1.67 0.78 0.89 2.24 0 14.84 -1.34 -2.15 
+-2.41 -3.21 -2.56 -2.21 -1.34 -0.21 -1.58 0.69 0.99 3 -0.06 3.21 1.11 3.71 0.82 3.21 
+0.31 2.93 1.08 2.23 2.39 2.41 -1.28 0.48 1.32 1.97 1.84 2.11 1.54 3.37 -0.3 1.28 
+1.21 4.58 0.26 3.17 -1.65 1.11 -2.11 -0.13 -1.63 1.15 1.3 2.85 -0.52 2.56 0.26 2.46 
+-1.56 1.17 -1.61 1.13 -1.17 1.63 1.11 2.45 -1.7 -0.57 -0.8 2.11 -0.96 1.41 -2.24 0.3 
+0.02 3.08 -2.45 -1.48 0.39 -1.61 1.26 -0.96 0.96 -1.41 -1.31 -1.13 -1.28 -0.07 -0.76 -0.95 
+-0.29 -3.54 -1.15 -0.39 0.52 2.26 -0.41 1.56 -1.48 0.26 -1.69 1.47 -0.71 2.24 1.32 2.14 
+0.46 3.58 -2.04 0.07 -0.61 2.28 -0.26 2.67 -1.52 1.63 -1.2 1.07 -2.14 0.43 1.95 2.28 
+-1.39 0.3 -1.52 -3.26 -0.48 -0.02 0 -75.98 2.41 -0.02 1.84 -1 1.82 -1.04 2.17 -0.48 
+1.56 -1.5 1 -2.52 1.61 -1.49 0.8 -2.26 0.8 -2.17 0.02 -3.06 1.67 -1.43 1.15 -2.41 
+0.91 -2.93 0.65 -2.67 0.93 -2.21 0.74 -3.41 1.52 -1.91 1.26 -1.63 -1.56 -2.34 1.5 -0.35 
+1.54 -1.89 0.28 -2.91 0.91 -0.67 -0.17 -1.24 -2.09 0.83 -1.67 -0.18 -1.84 1.33 -1.54 1.91 
+-1.82 1.37 -2.04 0.8 -2.39 1.87 1.63 0.84 1.93 0.61 0.41 2.56 -2.61 2.1 -0.71 3.45 
+1.02 2.8 -0.07 1.45 -1.95 0.96 -1.13 2.47 -1.13 1.71 -0.28 2.5 -2.43 2.23 -1.08 1.59 
+0 -33.03 1.99 -0.11 1.56 -1.87 1.58 -1.93 1.05 -2.13 -0.29 -2.57 -1.21 0.89 -1.02 1.47 
+-1.67 -0.15 -1.3 1.65 -0.24 3.06 -1.19 0.91 0.74 0.78 0 33.03 -0.26 0.39 -0.22 2.54 
+2.17 -0.48 -1.84 2.49 -1.26 2.09 -1.89 -0.52 -0.87 -0.22 0 -3.12 0.15 -1.65 -0.5 -2.23 
+-1.36 0.37 -0.57 0.93 0.74 0.5 0.21 1.41 1.33 0.67 0 3.12 -1.07 -0.25 -1.78 1.78 
+-1.72 -1.56 -1.99 2.09 2.11 -0.52 1.15 2.02 1.89 0.5 0 75.98 -1.37 -0.13 -1.8 -0.2 
+-1.3 1.41 -2.56 -0.07 -2.47 0.02 -2.17 -0.63 -2.52 -2.52 -2.04 -3.54 -2.32 -2.91 -1.78 -2.78 
+-2.41 -1.52 -2.58 -2.36 -2.58 -2.35 -2.23 -3.02 -2.21 -3.06 -2.2 -3.06 -2.13 -1.89 -1.78 -3.75 
+-0.37 -4.05 -1.76 -1.41 -1.36 -3.32 -0.79 -3.04 -0.58 -3.36 -1.41 -4.14 -1.04 -3.64 -0.8 -4 
+0.65 -2.88 0.63 -2.93 -0.36 -3.36 0.86 -1.2 2.15 -1.07 1.87 -1.47 2.49 -0.43 1.29 -2.65 
+-0.57 -1.04 2.2 -0.98 0.67 1.91 1.8 0.46 1.54 -0.04 1.52 2.69 1.65 1.52 1.78 2.38 
+2.39 3.34 1.54 -0.07 1.67 -1.2 1.69 -1.2 2.02 -0.61 1.71 -1.17 0.91 -1.89 1.45 -1.63 
+0.13 -1.87 -1.45 -2.56 -2.72 -1.26 -2.25 -2.61 -3.91 -5.82 -2.21 -3.43 -2.43 -2.41 0.61 3.46 
+-3 -5.09 -1.61 -3.25 -2.9 -3.56 -2.61 -0.54 0.78 -2.5 0.5 -2.97 2.64 -0.26 1.39 -2.91 
+1.86 -1.04 2.13 -0.46 1.39 -2.15 1.93 -0.95 0.82 -1.59 1.2 -1.8 0.24 -4.02 0.96 -2.28 
+0.11 -1.61 -2.04 -4.92 -2 -2.02 -1.54 -3.84 -1.28 -3.32 -2.09 -3.38 -1.24 -3.34 -1.61 -2.37 
+-0.41 -3.3 -0.04 -3.49 -0.05 -3.56 0.85 -3.43 1.02 -2.87 -0.28 -3.3 1.58 -1.15 0.76 -2.61 
+2.63 -0.43 p
+2.26 -0.26 2.3 -0.2 1.65 1.54 1.96 -1.32 1.28 -2.13 1.5 -1.7 1.02 -3.3 0.7 -3.04 
+0.67 -3.11 0.8 -4.38 1.39 4.99 2.8 1.54 1.82 2.14 1.87 -0.49 0.95 3.27 1.32 3.09 
+1.67 1.52 2.04 0.06 1.52 -1.54 1.66 1.54 2.59 -2.17 2.56 0.41 1.85 0.8 2.06 0.02 
+1.72 1.59 1.86 0.8 1.23 -1.39 0.18 -1.97 -1.87 -2.02 -2.41 0.09 0.09 -3.82 -0.09 -3.08 
+-1.65 -1.57 -1.97 -2.64 0.48 -2.71 -0.42 -2.91 2.82 -0.26 1.02 3.75 -0.41 4.54 1.11 3.8 
+2.06 0.04 2.11 0.11 2.19 0.66 0.16 3.05 2.19 0.63 -0.54 -4.64 1.78 -0.98 2 -1.63 
+1.3 -2.52 -0.37 -2.87 0.13 -2.45 2.69 -0.79 2.56 -1.25 1.98 -0.39 1.8 -0.89 0.34 -1.93 
+1.61 -1.91 2.43 -1.76 2.52 0.02 2.91 1.63 2.63 -1.2 3.02 -1.34 2.65 -1.15 -4.04 0.59 
+0.98 -2.72 0.93 -3.29 1.63 -0.16 1.69 -1.82 2.43 -2.16 0.09 -3.46 -1.59 -3.29 3.71 -0.42 
+2.3 -3.12 1.93 -2.95 1.95 -3.02 0.3 -2.87 -0.87 -2.47 2.06 -0.21 2.02 -2.93 1.37 -2.12 
+0.87 -2.48 2.71 -1.54 2.43 -0.82 2.54 -0.28 2.45 -0.81 2.37 -1.37 2.32 -1.78 1.54 -1.09 
+1.93 -1.62 2.25 -2.3 1.8 -2.73 2.21 -2.78 1.45 -1.99 2.13 -3.8 -0.43 -3.54 1.2 -4.56 
+0.41 -4.32 2.91 -1.29 -0.85 -4.46 -2.45 -2.46 -1.87 -1.58 -2.32 -1.5 -1.08 -2.84 -0.74 -3.43 
+3.14 0.74 1 -4.43 1.11 3.88 0.29 3.54 2.28 0.96 2.54 -1.16 2.63 -0.17 2.93 -1.73 
+-1.13 -3.84 -1.06 -2.34 1.23 -1.28 2.02 4.12 1.85 0.54 3.02 -0.74 2.89 -2.71 2.56 -1.63 
+3.45 -1.76 0.79 -2.26 2.69 0.43 0.7 -2.69 1.2 -2.73 -0.98 -2.8 3.11 0.29 2.73 0.93 
+2.64 -1.02 2.59 -2.04 2.69 -0.52 2.6 -2.02 2.7 -0.52 2.73 0.48 2.69 -0.5 2.61 -2.5 
+2.65 -2.43 2.62 -2.43 1.74 -2.3 1.8 -2.26 2.69 -1.91 1.76 -2.24 2.73 -0.95 2.73 0.08 
+3.17 -1.49 1.33 -3.59 0.89 -3.56 0.93 -3.49 0.43 -2.95 -0.41 -3.8 -2.7 -5.38 -1.32 -2.17 
+-2.26 -2.11 -1.3 -2.23 -2.69 -1.49 -1.3 -1.26 -1.72 -2.63 -1.23 -2.71 -2.15 -3.02 -2.15 -2.11 
+-2.61 -1.54 -0.22 -3.82 -0.24 -2.84 0.63 -2.96 0.22 -2.88 0.65 -2.95 -0.59 -3.23 -0.17 -3.34 
+0.26 -2.89 -1.56 -1.66 -0.13 -2.82 0.31 -2.89 -0.15 -2.82 -2.32 -2.54 -0.48 -2.78 -2.28 -2.54 
+-0.5 -2.78 0.41 -2.86 -2.41 -1.13 -2.41 -1.11 0.39 -2.43 -2.61 0.33 -2.54 -0.16 -2.6 0.33 
+-1.24 0.37 0 -157.18 2.76 -0.82 1.3 -1.78 -1.95 -1.04 -0.13 -1.41 -1.99 -0.56 -1.63 1.32 
+-1.5 0.37 -0.68 -1.47 -4.1 2.14 3.04 -0.78 0.11 1.43 -2.54 1.73 2.54 0.63 3.07 -0.8 
+1.7 1.04 0 157.18 -1.43 0.41 -3.38 -0.02 1.2 -2.05 -2.58 0.33 -1.65 -2.65 -1.87 1.15 
+-2.62 -1.54 -2.37 -0.67 -1.67 -2.12 -2.06 -2.15 -1.61 -2.19 -1.57 -2.17 0.65 -2.93 0.89 -3.95 
+1.08 -2.97 0.3 -2.87 -0.13 -2.84 -0.98 -0.85 -1.58 -1.71 -1.23 -2.72 -0.85 -2.75 0.05 -2.84 
+-0.8 -2.76 -0.72 -2.75 -1.8 -1.71 -1.75 -1.76 -1.37 -1.75 0.2 -2.87 -0.98 -2.76 -1.66 -1.71 
+0.34 -1.98 -1.26 -1.78 -1.75 -1.29 -2.13 -0.28 -3.26 0.73 -2.47 -0.26 -2.99 1.19 -2.13 1.63 
+-2.99 0.26 p
+-3.23 2.73 -0.02 -1.91 1.56 -2.12 4.54 -2.32 2.25 -2.08 0.07 -2.91 2.14 -2.58 2.07 -0.61 
+1.59 -2.99 -0.22 -2.85 -0.78 -2.36 0.39 -2.46 -1.91 -1.32 -1.74 -0.83 -2.39 -0.84 -2.64 -0.3 
+-1.89 -0.43 -2.95 -0.3 -3.19 0.17 -1.79 1.56 0.89 -2.52 2.39 -2.06 0.29 -1.96 0.48 -2.97 
+1.5 -1.54 0.74 -2.02 -1.95 -1.41 -3.39 0.11 -2.58 1.11 -2.84 1.59 -0.57 -1.48 2.37 -3.06 
+1.97 -3.52 2.84 -1.56 2.15 1.45 2.36 -3.02 0.5 -1.5 -1.97 0.04 -2.46 2 -0.82 -1.95 
+3.23 -1.06 -1.45 -1.93 0.24 -2.04 1.52 -1.98 1.84 -3 -0.93 -1.02 1.25 -1.98 -2.23 -0.02 
+-1.5 -1.52 -0.28 -1.52 0.78 -3.02 2.32 -2.97 2.89 -1.91 3.19 -1.95 2.73 0.09 1.63 -1.91 
+1.5 -2.95 -0.41 -2 -0.89 -2.09 -0.3 -2.02 1.63 -2.95 1.71 -2.93 -1.47 -1.15 -0.13 -2.04 
+1.8 -2.93 2.56 -2.37 2.54 -2.3 4.02 -2.68 -0.11 0 0 -1.56 3.64 -2.19 1.89 -1.82 
+2.21 -1.85 3.45 -1.61 3.32 -1.15 2.54 -1.21 2.39 -0.76 2.04 0.24 0.97 -1.39 -0.89 -0.59 
+-2.54 -0.28 -1.23 -1.67 -2.5 -0.35 2.7 -2.21 -3.28 1.08 -1.5 -0.71 -2.36 0.74 -2.26 1.74 
+-0.54 -1.15 -2.85 0.65 -4.19 1.47 -1.34 1.39 -1.43 -0.22 -2.34 1.84 -1.91 -0.28 -1.36 1.41 
+-2.8 1.21 -0.39 1.58 -1.89 0.24 -2.82 1.21 -1.85 1.39 3.3 -1.17 3.32 -1.15 4.21 -1.54 
+2.56 -1.24 3.1 -0.62 1.89 -0.83 -1.13 2.99 3.11 -2.73 1.41 -0.3 -2.84 2.75 0.99 1.69 
+-1.13 0.93 -1.43 -1.23 -1.62 0.84 -2.04 2.91 1.54 0.17 -0.48 1.52 1.49 -0.41 0.88 0.65 
+0 1.56 -2.41 0.24 -1.58 -0.18 1 -1.45 -1.32 -0.13 -1.06 -1.7 2.06 -2.93 2.61 -2.82 
+-0.57 -0.58 -3.06 0.61 -2.09 1.3 1.46 1.8 -1 2.04 -1.69 0.29 0.68 -2.59 -0.18 -1.65 
+-3.29 1.17 -2.3 1.3 -1.35 1.43 -1.95 0.33 -2.7 2.32 0.35 -1.61 -2.39 0.78 -2.64 2.95 
+2.41 -0.19 -1.23 2 -3.06 2.9 1.17 -2.02 -1.17 -1.82 -1.17 2.58 -2.09 3.04 1.43 -0.34 
+-2.21 1.91 -1.58 2.57 1.26 -4.82 -2.99 3.5 -0.24 1.63 -2.02 0.37 -1.82 2.52 -1.75 1.47 
+-2.41 3.67 -2 2.52 -1.34 2.12 0.96 0.61 4.14 -3.45 -2.39 3.05 -1.67 2.56 -1.32 3.73 
+-1.67 -0.11 -2.43 0.89 -0.5 -1.67 -1.58 2.13 0.65 2.73 -2 1.52 1.3 0.65 -1.7 1.54 
+-0.89 2.11 -0.5 1.61 -2.41 2.65 -0.87 2.62 0.07 2.2 2.61 -2.13 0.45 -1.61 1.37 -1.56 
+0.55 -2.11 1.3 -1.05 1.76 -2.06 -1.3 3.16 -1.71 2.07 0.44 1.61 -1.67 1.56 -0.5 2.67 
+-1.98 2.08 -0.78 2.67 -2.65 4.25 0.3 1.02 -1.58 1.08 -0.35 2.11 -2.52 1.11 0.63 -2.1 
+-1.84 0.52 -1.23 1.39 0 -1.89 2.82 -1.11 1.63 -2.13 0.11 -2.17 1.96 -2.11 0.8 -2.69 
+-2.47 0.54 -2.13 4.25 -1.37 2.17 -1.34 3.23 0 1.89 -0.67 0.74 -1.91 2.73 -0.98 2.72 
+-2.15 3.77 -0.22 3.21 -2.08 3.28 -1.82 2.78 -1.41 2.7 -2.43 2.82 -1.26 3.8 1.67 -0.11 
+-1.63 3.3 0.48 1.07 -0.93 3.25 -0.87 3.26 -0.13 3.19 -0.46 3.23 -1.04 3.28 0.11 2.08 
+-1.75 3.36 -0.35 4.3 -1.58 2.28 -0.89 2.28 -1.61 3.38 -1.82 3.93 -0.83 3.3 0.85 1.5 
+-1.89 4.54 p
+-1.5 2.34 0 3.19 -0.7 3.32 0.07 3.19 -1 3.36 0.22 4.26 -1.84 4.05 0.52 2.02 
+-0.74 2.84 -1.21 3.45 -0.48 3.3 -0.81 3.39 -0.75 3.38 0.39 3.14 -0.35 3.32 -0.26 3.3 
+-1.08 3.47 -0.63 3.39 -0.2 3.3 -1.54 4.75 -1 4.02 -0.52 3.4 -2.73 3.47 -1.72 1.52 
+-1.93 3.3 -2.52 2.36 -2.58 2.91 -1.61 1.06 -3.34 3.19 -2.61 3.63 -2.34 1.26 -3.34 3.89 
+-3.43 5.64 -2.2 4.16 0.09 3.43 -1.81 5.28 -0.97 3.84 -1.61 2.87 -0.87 2.71 -1.61 4.12 
+-0.87 3.86 -2.32 5.6 -0.74 3.88 -0.76 3.89 -0.74 3.91 -1.39 4.21 -2.15 3.4 -0.61 4.51 
+-1.33 3.67 -1.32 3.06 -2.06 2.82 -1.34 2.52 1.58 1.67 -1.2 4.34 -0.41 3.95 0.24 3.04 
+2.39 1.93 2.36 1.28 1.52 0.5 1.08 3.19 0.93 2 -1.73 0.91 -0.79 -3.37 -1.34 4.47 
+-1.3 1.97 0.87 0.76 0.43 3.56 -0.09 5.16 1.93 0.24 0.52 3.54 2.11 1.37 1.07 4.52 
+3.19 0.74 2.39 0.58 -0.19 3.32 1.86 -0.43 0.13 3.12 2.08 2.65 2.43 -1.37 1.83 3.39 
+1.95 2.08 -0.91 3.04 1.43 3 0.39 3.62 0.76 3.39 0.76 4.73 1.02 2.56 -0.62 3.66 
+-0.96 3.88 0.04 4.54 1.63 1.56 -1.32 0.84 -0.2 3.47 -1.15 2.76 -1.3 0.87 -1.82 -2.15 
+-1.78 -0.82 -1.96 0.02 -0.35 -2.52 1.02 -3.34 -2.45 -0.39 -1.8 0.56 0.8 4.17 -1.96 1.34 
+-0.3 2.93 -1.58 2.52 -1.74 1.93 -1.28 -0.41 -0.44 2.41 -1.71 1.95 1.39 3.2 -0.5 3.21 
+-1.37 3.99 -0.15 2.98 -2 -1.28 -0.2 1.58 -1.02 1.61 0.42 3.3 1.3 2.63 1.02 2.86 
+-0.63 3.5 -0.56 3.49 -0.35 4.14 -0.21 3.26 0.02 3.9 1.13 -1.06 0.04 3.88 -1.24 -1.17 
+-1.95 1.87 -1.32 1.32 -0.91 3.3 -1.35 1.37 -0.04 2.52 -0.83 3.34 -1.54 1.65 -1.05 2.78 
+-0.74 3.38 0.11 3.43 -0.17 3.69 0.17 4.28 0.11 2.56 -0.3 3.13 -0.61 2.58 -0.82 2.11 
+-1.34 1.8 -2.24 0.13 -2.41 0.46 -0.93 3.21 -0.91 3.36 -1.15 2.74 -0.3 3.6 -0.26 3.61 
+-0.82 2.55 -0.17 3.65 -0.5 3.04 -0.43 3.14 0.48 5.14 0.47 3.91 -0.5 1.02 -0.83 2.93 
+-0.21 4.43 1.2 4.17 0.54 4.27 0.11 4.17 1.58 5.02 1.76 4.68 1.69 0.13 0.89 2.35 
+2.1 0.73 1.55 2.09 0.69 2.99 2.97 4.91 1.17 3.45 1.5 4.41 1.24 3.45 2.04 4.86 
+1.22 3.78 1.32 3.88 2.71 4.86 0.73 4.45 1 3.34 1.34 1.43 1.91 1.11 1.67 3.04 
+-0.17 1.13 1.64 2.97 2 4.95 2.8 2.73 0.17 3.1 2.65 4.97 2.75 4.93 2.84 3.73 
+2.43 3.65 1.93 2.04 2.98 3.62 2.49 2.06 0.98 2.7 1.54 2.71 -0.46 1.17 1.63 3.86 
+-2 -1.2 -2.58 -2.38 -2.58 -2.84 -2.47 -1.58 -2.07 -2.87 -1.52 -3.23 -2.41 -3.62 -2.43 -4.12 
+-2.39 -3.76 -2.86 -3.45 -1.76 -3.73 -2.71 -4.28 -2.61 -5.08 -2.67 -3.6 -2.56 -4.36 -1.8 -1.91 
+-1.63 -3.5 -0.98 -0.19 -2.06 -3.62 0.3 -1.89 -2.28 -4.91 -1.89 -4.02 -3.12 -0.39 3.19 5.58 
+1.37 4.29 1.93 4.45 1.52 3.88 1 4.56 2 0.8 2.78 2.84 2.7 4 1.21 3.75 
+1.76 3.43 -0.11 1.93 1.35 3.37 0.95 2.5 1.91 2.58 1.91 4.14 -0.43 -3.19 1.5 -0.68 
+2.48 2.22 p
+1.93 3.28 1.95 3.3 2.59 4.49 1.11 3.21 3.56 3.25 0.54 1.56 2.59 2.04 1.65 2.76 
+1.56 1.17 2.15 2.73 2.69 2.73 3.32 3.82 3.25 3.02 2.82 2.99 2.45 3.73 0.24 1.54 
+2.2 1.8 0.28 1.52 1.55 3.04 1.65 3.41 1.84 4.14 3.27 1.95 3.89 4.23 3.21 3.13 
+2.85 3.49 1.54 0.5 2.8 1.48 0.48 1.54 2.58 2.25 2.93 1.78 -2.3 -2.73 3.19 2.54 
+0.83 -0.2 1.11 1.78 -1.7 -0.83 1.3 2.52 2.11 0.7 2.32 2.63 2.86 2.56 2.91 1.58 
+2.3 1 2.67 2.04 2.26 2.15 1.71 0.67 2.93 0.3 3.26 0.97 3.71 2 2.69 1.89 
+3.54 1.54 3.56 0.37 3.64 0.66 3.23 0.78 3.4 1.08 2.56 0.22 1.52 0.63 1.43 0.56 
+2.3 0.67 -1.32 -2.82 2.41 3.14 2.45 0.96 2.39 0.91 3.86 1.8 3.3 1.63 2.02 1.04 
+1.56 0.11 -3.23 -3.43 -1.17 -2.37 -2.67 -2.59 -2.17 0.74 0.46 -1.2 -1.28 -0.63 2.99 0.04 
+3.38 1.95 0.83 -0.28 3.38 1.89 2.41 1.89 3.41 0.8 -0.7 1.61 2.73 2.39 3.32 2.47 
+1.5 1.06 1.91 1.36 2.93 2.61 0.25 0.22 2.61 2.67 3.87 2.82 2.21 0.3 3.12 1.65 
+3.89 1.17 3.32 2.54 4.32 1.74 0.91 0.39 2.97 1.87 4.27 1.43 0.29 -1.65 2.21 0.8 
+0.91 -0.3 1.58 -0.57 0.43 1.91 2.97 1.71 3.15 1.21 3.49 0.91 1.91 -0.26 1.22 1.39 
+2.3 1.33 -3.71 -1.09 -4.95 -1.35 -3.73 -0.02 3.67 1.21 3.06 1.61 2.45 0.91 2.78 0.63 
+2.61 -0.13 0.75 1.39 3.54 0.24 0.83 -1.45 -3.04 -2.13 0.73 0.24 2.37 0.76 2.89 0.71 
+-1.45 0.79 -0.33 1.41 2.63 -0.2 3.73 0.35 1.84 -0.39 3.41 0.54 -2.14 0.7 1.26 1.24 
+-3.73 -1.46 -3.1 0.3 -4.3 -0.35 -4.14 0.28 4.73 0.85 3.95 0.59 4.34 1.43 3.91 0.43 
+3.5 1.63 3.78 1.28 4.49 1.3 3.73 1.59 3.34 -0.24 0.17 1.59 2.78 1.71 4.04 1.61 
+1.19 0.87 1.72 1.22 2.97 2.06 4.36 1.59 4.78 1.34 3.34 0.78 2.61 1.52 3.45 1.15 
+-3.34 0.96 -0.8 1.97 2.78 1.52 0.67 1.97 1.06 2.11 3.22 1.98 -0.29 -1.65 2.54 0.5 
+0.5 -2.04 2.32 -1.52 -2.26 -1.95 -0.11 -1.61 2.45 1.25 1.82 2.45 0.48 1.78 -1.32 1.65 
+0.29 1.97 1.65 1.87 -0.52 1.26 -3.49 -0.89 0.07 1.89 0.5 1.67 2.21 2.43 2.02 2.6 
+0.39 1.91 2.93 2.54 2.3 1.91 -0.11 1.63 3.11 1.82 3.32 2.13 3.73 1.87 1.93 1.56 
+3.45 1.72 3.08 2.12 4.41 2.48 0 136.98 -3.36 -0.46 -5.6 -0.74 -5.6 -0.82 -5.57 -0.85 
+-11.16 -1.87 -3.41 -0.63 0 -155.23 -1.46 -2.82 -1.15 -2 -1.34 -2.14 -2.69 -0.19 2.36 2.25 
+-2.32 -0.71 -2.45 0.26 2.45 1.95 -0.12 1.39 1.54 1.83 5.19 0.2 0 155.23 -2.17 -0.41 
+-5.55 -1.02 -5.54 -1.12 -5.55 -1.13 -5.51 -1.24 -5.51 -1.21 -5.51 -1.33 -5.49 -1.32 -5.47 -1.41 
+-5.49 -1.43 -5.45 -1.5 -5.45 -1.52 -10.85 -3.21 -5.39 -1.71 -5.38 -1.7 -5.38 -1.8 -0.75 -0.26 
+0 -180.75 -2.48 -2.19 -1.62 -1.95 -2.43 0.89 -4.08 -1.13 -1.76 0.41 -2.88 -1.65 -4.11 -1.26 
+4.82 2.78 3.76 1.43 3.88 0.87 2.91 1.54 4 0.26 0 180.75 -4.6 -1.54 -5.32 -1.89 
+-5.34 -1.89 p
+-5.3 -1.98 -5.3 -2 -5.27 -2.06 -3.32 -1.32 0 -184.62 0.16 -1.21 -3.28 -2.78 -2.97 -3.27 
+-2.63 -2.74 -4.36 -2.38 -3.93 -2.61 -4.12 -3.28 -3.71 -2.47 -0.29 1.49 2.2 2.37 3.08 3.06 
+1.7 0.37 0.98 1.76 2.52 1.82 2.32 2.23 1.54 0.04 3.06 2.58 3.1 2.56 4.64 2.45 
+0 184.62 -1.93 -0.76 -5.23 -2.17 -5.21 -2.16 -5.19 -2.26 -1.65 -0.71 0 -56.82 -0.17 -0.31 
+-0.2 -0.32 -0.52 -0.09 0.45 0.37 0.43 0.35 0 56.82 -2.91 -1.26 0 -57.83 -0.61 -0.63 
+-0.59 -0.63 -1.41 -0.84 -1.41 -0.87 -1.34 0.13 2.43 1.48 1.45 0.69 1.48 0.68 0 57.83 
+-0.62 -0.29 -5.17 -2.34 -5.14 -2.34 -5.1 -2.45 -2.5 -1.17 0 -59.44 -0.98 -0.85 -0.96 -0.87 
+-2.97 -1.32 -2.97 -1.34 2.17 1.46 2.19 1.47 1.78 0.74 1.73 0.71 0 59.44 -2.61 -1.26 
+-5.05 -2.52 -5.06 -2.54 -5.01 -2.6 -2.02 -1.04 0 -61.09 -1.15 -0.74 -1.15 -0.76 -0.63 -0.58 
+-0.62 -0.57 -2.24 -1.26 -2.23 -1.3 0.59 0.63 0.61 0.65 0.87 0.72 0.89 0.74 0.96 0.37 
+0.93 0.35 1.61 0.89 1.58 0.87 0 61.09 -3.02 -1.59 -4.97 -2.69 -4.34 -2.37 0 -61.39 
+-1.59 -1 -1.59 -1.02 -1.54 -1.05 -1.52 -1.04 -1.57 -1 -1.54 -1.02 -2.78 -1.43 -1.58 -1 
+-1.57 -1.02 0.3 0.91 2.21 2 0.91 1.21 -0.35 0.39 1.8 1.2 1.83 1.17 0.82 0.21 
+0.84 0.2 2.35 1.15 2.36 1.13 -0.3 -0.82 2.48 0.82 0 61.39 -0.63 -0.35 -4.9 -2.78 
+-4.93 -2.78 -4.88 -2.88 -4.86 -2.87 -4.84 -2.97 -4.82 -2.95 -4.75 -3.04 -4.77 -3.06 -4.71 -3.12 
+-4.73 -3.12 -4.67 -3.19 -4.64 -3.21 -4.6 -3.3 -4.6 -3.28 -4.56 -3.36 -4.53 -3.39 -4.5 -3.43 
+-4.49 -3.45 -4.43 -3.54 -4.43 -3.52 -8.72 -7.2 -4.3 -3.67 -4.29 -3.69 -8.47 -7.51 -4.19 -3.82 
+-4.17 -3.82 -8.2 -7.81 -4.04 -3.95 -4.01 -3.97 -3.97 -4.04 -1.3 -1.34 0 -448.89 0.7 -4.05 
+0.37 -3.88 -1.7 -1.59 -1.02 2.13 1.54 1 -0.89 2.82 0.99 3.58 0 448.89 -2.67 -2.69 
+-3.88 -4.12 -1.89 -1.97 0 -3 -3.63 -3.99 -3.58 -3.95 -3.47 -3.95 -3.41 -3.9 -3.32 -3.89 
+-3.28 -3.86 -3.17 -3.84 -1.63 -1.93 -1.62 -1.98 -1.61 -1.95 -3.26 -4 -1.61 -2.02 -2.39 -3.06 
+-2.34 -3.04 -2.3 -3.04 -2.28 -3.02 -2.21 -3 -2.2 -2.99 -2.15 -2.93 -2.11 -2.95 -2.1 -2.93 
+-2.07 -2.93 -4.04 -5.86 2.06 3.04 2.11 3.08 2.17 3.11 2.21 3.15 2.25 3.16 2.32 3.21 
+2.13 2.87 2.15 2.86 2.17 2.82 2.19 2.84 2.19 2.8 2.21 2.8 2.02 2.58 2.04 2.58 
+2.11 2.61 2.13 2.63 2.15 2.64 2.21 2.67 2.25 2.67 5.25 6.08 2.67 2.99 5.34 5.95 
+2.71 2.93 2.7 2.93 0 3 -2 -2.13 -3.82 -4.16 -3.82 -4.19 -7.5 -8.48 -7.34 -8.59 
+-7.2 -8.74 -7.04 -8.86 -6.87 -8.98 -6.73 -9.12 -6.58 -9.22 -6.4 -9.33 -6.25 -9.44 -6.08 -9.55 
+-5.9 -9.66 -5.73 -9.77 -5.58 -9.85 -5.4 -9.94 -5.21 -10.05 -5.06 -10.13 -4.86 -10.22 -4.69 -10.3 
+-4.51 -10.39 -4.34 -10.46 -4.14 -10.53 -3.95 -10.61 -3.78 -10.68 -3.61 -10.74 -3.39 -10.81 -3.21 -10.85 
+-3.04 -10.92 -1.71 -6.73 0 -162.21 0.09 -0.74 0.13 -0.75 0.11 -0.76 0.09 -3.6 0.13 -3.63 
+-0.45 3.39 p
+-0.05 2.04 -0.02 2.04 -0.02 2.02 0 162.21 -1.11 -4.23 -2.64 -11.03 -2.43 -11.05 -2.25 -11.09 
+-2.06 -11.16 -1.87 -11.16 -1.67 -11.2 -1.47 -11.24 -1.28 -11.24 -1.09 -11.28 -0.89 -11.29 -0.7 -11.3 
+-0.5 -11.31 -0.26 -10.22 p f*
+2497.72 1950.98 -5.05 0.15 2.54 -0.07 2.52 -0.09 f*
+2810.8 1859.14 -1.91 1.15 2.58 -1.52 2.56 -1.56 -1.3 0.78 -1.93 1.15 f*
+2821.14 1852.84 -1.7 1.04 1.24 -0.78 1.69 -1.07 -1.23 0.8 f*
+2832.18 1845.75 -2.89 1.89 1.38 -0.89 1.52 -1 f*
+2840.11 1840.5 -1.34 0.91 2.73 -1.87 -1.39 0.96 f*
+2849.42 1834.09 -1.61 1.11 3.15 -2.21 -1.54 1.11 f*
+2858.62 1827.52 -1.84 1.32 3.21 -2.34 -1.37 1.02 f*
+2867.71 1820.77 -2.15 1.61 2.8 -2.11 1.91 -1.45 -2.55 1.95 f*
+2876.7 1813.89 -2.63 1.99 2.47 -1.91 2.39 -1.87 -2.23 1.78 f*
+2885.54 1806.83 -2.02 1.59 1.02 -0.8 3.47 -2.82 -2.48 2.04 f*
+2896.22 1797.96 -3.84 3.23 1.89 -1.56 1.95 -1.67 f*
+2903.78 1791.47 -3.75 3.23 2.84 -2.43 4.01 -3.56 -3.1 2.76 f*
+2911.13 1784.94 -3.67 3.26 3.86 -3.43 3.13 -2.87 -3.32 3.04 f*
+2.77778 w
+1 J
+1 j
+K
+3125.8 1302.47 -0.13 11.35 -0.26 11.32 -0.5 11.35 -0.73 11.33 -0.89 11.22 -1 11.33 -1.26 11.22 
+-1.52 11.19 -1.63 11.22 -1.89 11.22 -2.15 11.07 -2.25 11.09 -2.39 11.09 -2.64 11.09 -2.89 10.96 
+-3.04 10.83 -3.12 10.83 -3.4 10.85 -3.65 10.7 -3.77 10.7 -3.91 10.59 -4.14 10.59 -4.41 10.46 
+-4.4 10.44 -4.77 10.2 -4.77 10.33 -5.04 10.09 -5.29 10.07 -5.4 9.96 -5.54 9.83 -5.79 9.81 
+-5.91 9.59 -6.04 9.57 -6.29 9.44 -6.42 9.33 -6.54 9.18 -6.68 9.2 -6.9 8.94 -7.05 8.83 
+-7.18 8.81 -7.42 8.57 -7.42 8.44 -7.66 8.45 -7.82 8.18 -7.92 8.05 -8.05 7.94 -8.18 7.82 
+-8.42 7.68 -8.41 7.44 S
+2902.89 1792.27 -8.57 7.42 -8.79 7.18 -8.81 7.05 -8.94 6.92 -9.18 6.68 -9.18 6.55 -9.31 6.42 
+-9.44 6.3 -9.57 6.05 -9.55 5.92 -9.81 5.79 -9.8 5.54 -9.94 5.43 -10.07 5.27 -10.07 5.05 
+-10.31 4.77 -10.2 4.8 -10.44 4.53 -10.43 4.28 -10.57 4.17 -10.57 3.91 -10.7 3.77 -10.7 3.65 
+-10.81 3.41 -10.83 3.14 -10.8 3.15 -10.96 2.78 -11.07 2.64 -11.07 2.39 -11.07 2.28 -11.07 2.13 
+-11.2 1.89 -11.2 1.65 -11.2 1.49 -11.2 1.26 -11.32 1.02 -11.2 1 -11.3 0.63 -11.33 0.52 
+-11.33 0.24 -11.33 0.13 -11.31 -0.13 -11.33 -0.24 -11.2 -0.52 -11.33 -0.63 -11.31 -1 -11.2 -1.02 
+-11.33 -1.26 -11.2 -1.49 S
+2387.46 1945.21 -11.2 -1.65 -11.07 -1.89 -11.19 -2.13 -11.07 -2.28 -11.07 -2.39 -10.96 -2.64 -10.94 -2.78 
+-10.94 -3.15 -10.83 -3.14 -10.8 -3.41 -10.7 -3.65 -10.7 -3.77 -10.57 -3.91 -10.57 -4.17 -10.43 -4.28 
+-10.31 -4.53 -10.33 -4.8 -10.18 -4.77 -10.2 -5.05 -9.94 -5.27 -9.94 -5.43 -9.94 -5.54 -9.68 -5.79 
+-9.68 -5.92 -9.57 -6.05 -9.45 -6.3 -9.31 -6.42 -9.18 -6.55 -9.05 -6.68 -9.07 -6.92 -8.81 -7.05 
+-8.68 -7.18 -8.68 -7.42 -8.42 -7.44 -8.31 -7.68 -8.29 -7.82 -8.05 -7.94 -7.92 -8.05 -7.82 -8.18 
+-7.55 -8.45 -7.53 -8.44 -7.32 -8.57 -7.29 -8.81 -7.05 -8.83 -6.79 -8.94 -6.79 -9.2 -6.54 -9.18 
+-6.42 -9.33 -6.16 -9.44 S
+1934.18 1655.96 -6.16 -9.57 -5.91 -9.59 -5.66 -9.81 -5.66 -9.83 -5.4 -9.96 -5.17 -10.07 -5.03 -10.09 
+-4.91 -10.33 -4.64 -10.2 -4.53 -10.44 -4.28 -10.46 -4.16 -10.59 -4.02 -10.59 -3.77 -10.7 -3.52 -10.7 
+-3.54 -10.85 -3.14 -10.83 -3.02 -10.83 -2.89 -10.96 -2.64 -11.09 -2.39 -11.09 -2.25 -11.09 -2.02 -11.07 
+-1.89 -11.22 -1.63 -11.22 -1.52 -11.19 -1.26 -11.22 -1.12 -11.33 -0.89 -11.22 -0.73 -11.33 -0.39 -11.35 
+-0.37 -11.32 -0.13 -11.35 0.13 -11.33 0.37 -11.35 0.39 -11.19 0.73 -11.35 0.89 -11.33 1.13 -11.22 
+1.26 -11.33 1.52 -11.21 1.63 -11.2 1.89 -11.09 2.02 -11.22 2.25 -11.09 2.39 -11.09 2.64 -10.96 
+2.89 -10.95 3.02 -10.96 S
+1854.67 1123.59 3.14 -10.83 3.54 -10.83 3.52 -10.7 3.77 -10.72 4.02 -10.57 4.16 -10.59 4.28 -10.46 
+4.53 -10.33 4.64 -10.33 4.91 -10.2 5.03 -10.2 5.17 -9.96 5.4 -9.94 5.66 -9.96 5.66 -9.7 
+5.91 -9.7 6.16 -9.57 6.16 -9.46 6.42 -9.31 6.54 -9.2 13.58 -18.14 7.05 -8.81 7.29 -8.71 
+7.32 -8.68 7.53 -8.45 7.55 -8.31 7.82 -8.31 7.92 -8.07 8.05 -7.95 8.29 -7.79 8.31 -7.57 
+8.42 -7.55 8.68 -7.31 8.68 -7.18 8.81 -7.05 9.07 -6.92 9.05 -6.79 9.18 -6.55 9.31 -6.42 
+9.45 -6.19 9.57 -6.16 9.68 -5.93 9.68 -5.66 9.94 -5.66 9.94 -5.42 9.94 -5.17 10.2 -5.04 
+10.18 -4.93 S
+2203.78 714.3 10.33 -4.64 10.31 -4.54 10.43 -4.3 10.57 -4.14 10.57 -4.04 10.7 -3.78 10.7 -3.54 
+10.8 -3.38 10.83 -3.28 10.94 -3.04 10.94 -2.88 10.96 -2.65 11.07 -2.38 11.07 -2.28 11.19 -2.02 
+11.07 -1.89 11.2 -1.63 11.2 -1.52 11.33 -1.26 11.2 -1.13 11.31 -0.89 11.33 -0.76 11.2 -0.37 
+11.33 -0.39 11.31 -0.11 11.33 0.11 11.33 0.39 11.33 0.37 11.3 0.76 11.2 0.89 11.32 1.13 
+11.2 1.26 11.2 1.52 11.2 1.63 11.2 1.89 11.07 2.02 11.07 2.28 11.07 2.38 11.07 2.65 
+10.96 2.88 10.8 3.04 10.83 3.28 10.81 3.38 10.7 3.54 10.7 3.78 10.57 4.04 10.57 4.14 
+10.43 4.3 10.44 4.54 S
+2741.34 709.66 10.2 4.64 10.31 4.93 10.07 5.04 10.07 5.17 9.94 5.42 19.61 11.33 9.55 5.93 
+9.57 6.16 9.44 6.19 9.31 6.42 9.18 6.55 9.18 6.79 8.94 6.92 8.81 7.05 8.79 7.18 
+8.57 7.31 8.41 7.55 8.42 7.57 8.18 7.79 8.05 7.95 7.92 8.07 7.82 8.31 7.66 8.31 
+7.42 8.45 7.42 8.68 7.18 8.71 7.05 8.81 6.9 9.07 6.68 9.07 6.54 9.2 6.42 9.31 
+6.29 9.46 6.04 9.57 5.91 9.7 5.79 9.7 5.54 9.96 5.4 9.94 5.29 9.96 5.04 10.2 
+4.77 10.2 4.77 10.33 4.4 10.33 4.41 10.46 4.14 10.59 3.91 10.57 3.77 10.72 3.65 10.7 
+3.4 10.83 S
+3097.5 1112.76 3.13 10.83 3.04 10.96 2.89 10.95 2.64 10.96 2.39 11.09 2.25 11.09 2.15 11.22 
+1.89 11.09 1.63 11.2 1.52 11.21 1.26 11.33 1 11.22 0.89 11.33 0.73 11.35 0.5 11.19 
+0.26 11.35 0.13 11.33 S
+2477.65 751.61 -2 1.5 -4.03 0.63 -3.65 0.76 -3.14 1.02 -1.12 1.76 -3.91 0.49 -3.65 1.26 
+-5.54 0.39 -2.25 -1.39 1.39 -1.52 -0.26 -1.63 -3.14 -1.15 -1.39 -1.39 -2.63 -1.13 -2.52 -1.12 
+-1.89 -1.39 -3.91 -0.24 -5.29 0.73 -5.41 1.26 -3.02 0 1.26 -1.76 1 -1.39 2.28 -1.63 
+2 -1.89 0.89 -0.89 0.76 -0.89 0.13 -0.5 0.24 -0.63 -1.5 0.26 -1.65 0.13 -1.89 0.63 
+-1.99 0.5 -0.89 -0.26 -0.89 -0.37 1.89 -0.5 2.02 -0.63 0.89 -0.63 0.74 -0.52 -0.5 -0.37 
+-0.37 -0.5 -0.5 -0.39 -0.39 -0.37 -2.39 0.26 -2.38 0.24 -2.89 0.89 -2.91 1 0.26 1.26 
+-1.76 0.89 S
+2411.74 742.41 -1.75 0.89 -3.02 0.63 -2.91 0.63 -3.38 0.23 -3.41 0.39 -1.76 -0.26 -1.88 -0.26 
+-1.13 -0.37 -1.25 -0.37 -1.13 -0.39 -1.13 -0.24 -3.15 0.87 -3.14 1.02 -2.91 0.74 -3.02 0.76 
+-0.62 0.63 -0.63 0.49 -2 0.26 -2.02 0.26 -2.28 0.63 -2.26 0.76 -2.65 0.74 -2.62 0.76 
+-2.15 0.5 -2.15 0.63 -2.13 1.15 -2.02 1.25 0.63 0.87 2.15 1.02 1.37 0.87 0.13 1.39 
+-1.26 0.89 -3.38 0.37 -5.41 0.89 -5.79 1.13 -4.54 1.39 -6.29 1.89 -5.27 0.39 -1.52 1.5 
+3.91 0.39 1.13 1 -4.14 0.63 -0.75 1.65 -1.26 1.76 1.26 0 4.53 -1.89 4.91 -0.89 
+3.91 0.5 -1.02 2.41 S
+2336.5 772.89 -3.28 1.63 -4.9 0.89 -4.9 0.76 -3.64 1.37 3.14 -0.24 4.66 -0.5 4.64 -0.39 
+1 1.13 -5.01 1.26 S
+2328.21 778.8 -1.25 -0.63 -5.04 1.15 -0.39 1.13 3.14 -0.37 3.54 -1.28 S
+2328.21 778.8 3.75 0 -0.36 1.39 -1.89 1.64 -3.39 0.88 -0.13 1.65 1.49 0.63 2.52 0.5 
+-2.39 1.13 -4.14 -0.5 -3.28 1.52 -2.39 -0.13 -2.52 0.76 0.89 1.13 -1.39 1.39 -3.41 0 
+1.52 -1.76 -4.9 0.38 -0.76 1.39 3.28 -1.13 -0.63 1.89 4.14 -0.13 -2.38 1.26 3.38 -0.63 
+3.15 -0.89 0.26 1.02 -3.02 1.25 -3.27 1 -1.89 -0.87 -4.28 0.37 -3.28 0 -2.62 -0.5 
+-1.52 1.63 2.78 0.63 S
+2301.54 795.68 -1.25 1.88 2.75 0.39 3.28 -1.13 2.13 1 2.41 0.89 2.52 0.87 1 1.52 
+1.25 1.39 2.52 0.5 -0.5 1.52 0.37 1.26 2.39 1 2.39 0.89 3.02 -0.26 -3.65 1.52 
+-2.62 1.89 3.02 0.38 3.77 0.13 2.52 0 3.39 -2.15 1.13 1.15 1.13 1.26 0.76 1.5 
+1.25 1.15 -0.37 1.5 -2.91 2.15 -3.64 2.02 -3.02 1 -4.14 2.28 -4.41 1.75 -3.78 1.52 
+-4.01 2.39 1.99 0.63 -1.12 1.76 -2.88 0.76 -1.39 1.65 -2.76 1.89 -3.41 1 -2.25 1.52 
+0.37 -2.02 -1.39 -0.5 -3.02 1.76 -1.5 2.25 0 1.65 3.02 -1.76 0.76 0.74 3.51 -1.13 
+-3.27 2.29 0.13 1.49 S
+2297 842.79 -2.89 1.26 -0.26 2.02 -0.37 2.41 -2.64 1.88 2.88 0.11 -1.75 2.15 1.89 0.89 
+-2.02 2.02 -0.13 1.39 2.28 1.37 0.76 1.52 0.87 1.52 1.75 0.76 3.02 -1.39 -1.76 -0.26 
+-0.76 -1.52 2.28 0.39 S
+2300.15 859.31 3.02 -2.78 -2.64 0.13 -3.02 1.26 1.89 -2.52 -2.65 0.49 -0.11 -1.88 0 -1.89 
+0.86 -2.28 1.52 -1.63 1.63 -1.52 1.76 -2.02 -3.28 0.63 0.52 -1.37 3.25 -1.65 -2.12 -0.5 
+1.25 -2.28 2.89 -2.25 3.02 -0.63 0.63 -1.39 3.64 -1.52 2.28 0.63 4.02 -0.87 4.53 -2.38 
+3.78 -1.91 3.52 -1.37 1.89 -1.52 2.88 -0.63 2.91 -1.65 1.39 -2 3.52 -0.89 2.02 -1.39 S
+2344.95 819.75 4.14 -0.76 1.63 -1.39 -1.5 -1 3.02 -1 4.41 -2.02 0.87 -1.78 2.91 -1.5 
+-1.15 -0.89 3.54 -1.76 2.13 -1.76 1.02 -2.28 1.76 -2.64 3.77 0.63 2.13 1.39 3.02 1 
+4.16 0.39 4.27 -0.39 5.28 -0.37 4.67 -0.37 4.53 -0.13 3.64 -0.25 5.41 0.75 4.02 0.76 
+3.14 1 1.26 1.89 -0.23 2.14 1.26 1.65 3.14 3.15 1.76 1.5 1.13 1.78 0.5 1.76 
+3.02 1.63 -1 2.28 1.89 1.5 2.75 1.52 2.15 1.39 3.14 1.52 2.39 1.5 3.64 0.76 
+2.65 0.49 2.38 1.02 2.02 1.39 0 1.36 -2.39 0.89 -0.89 1.39 1.52 0.26 1.76 -1.25 
+0.87 1.37 S
+2450.48 838.26 1.65 1.02 2.13 -0.63 1.13 -0.89 0.76 -1.63 2.91 0.63 -1.15 1 0.63 1.39 
+-1.13 1 2.15 0.26 2.62 0.13 0.26 -1.02 -0.26 -1.37 3.91 0.11 3.77 0.39 -0.13 2.26 
+-1 1.02 2.13 0.63 2.28 -0.62 1.89 -1.02 S
+2475.02 840.91 -1.26 -1.26 2.13 -1 1.76 -1.02 3.54 1.02 3.52 1.26 2.39 1.39 3.14 0.87 
+4.54 0 2.88 0.89 3.64 0 3.54 -0.5 3.64 0.38 3.65 -0.14 4.27 -0.5 3.52 -0.12 
+3.64 -0.11 3.54 -0.12 4.02 -0.89 3.64 -0.63 3.54 -0.76 4.64 0.39 2.39 0.87 4.28 -0.24 
+4.17 0.76 4.51 0 4.28 0.74 2.02 0.26 3.78 -0.37 1.39 2.13 S
+2569.75 844.18 1.5 1.26 2.52 0.26 0.52 -1.65 1 -1.89 1.89 -1 3.02 -0.63 -1.26 -2.15 
+3.28 1.52 1.89 0.63 1.39 1.25 1.89 1.39 4.64 1 3.15 1.26 4.91 1.02 3.28 0 
+3.77 -0.52 3.25 0.39 2.41 -0.76 1.99 1.02 2.15 -0.26 -0.89 -2.02 2.91 0.89 2.13 2.64 
+3.28 2 3.77 0.75 3.26 1.15 4.3 -0.12 3.14 -1.02 0.24 -1.75 1.89 -1.26 -1.39 -1.13 
+-2.39 0 0.63 -1.02 1.76 -0.76 1.26 -1.26 -1.12 -1.63 3.91 0.14 0.63 -1.52 1.5 -0.89 
+3.15 0.13 2.15 -1 1.49 -1.52 2.02 -1 1.89 -0.63 2.65 0.24 -3.52 -2.26 -1.89 -2.02 
+-2.15 -2.15 -2.88 -0.13 S
+2648.63 829.19 -2.39 -1.89 -3.54 -2.02 -1.76 -2.26 2.15 -0.26 1.49 1.78 4.41 0.5 3.15 0 
+0.76 -1.02 0.24 -1.37 3.54 0.87 3.88 0.76 1.89 -0.26 5.03 2.15 2.91 0.63 4.02 0 
+2.88 -0.24 5.16 1.5 2.78 -0.24 3.14 -0.39 3.02 -0.37 2.89 -0.5 S
+2694.29 826.56 0.26 -1.15 1.26 -0.99 1.99 -1.02 2.39 -0.24 0.26 -1.26 0.89 -1.02 1.5 -0.76 
+-0.76 -1.76 2.15 -0.37 -1 -1.52 1.99 -0.13 -0.24 -1.39 1.76 0 0.26 -0.87 3.52 0.5 
+2.76 -0.37 -0.37 -2.02 -1.25 -2.02 -1.52 -1.89 -2.38 -2.39 -0.74 -1.64 -2.52 -2.39 2.38 0.37 
+-1.13 -1.5 2.39 0.5 3.38 1.39 1.26 -0.89 S
+2712.79 801.73 0.63 -1 0.39 -1.28 -2.91 -2.12 -3.88 -2.78 -2.41 -2.15 -3.39 -2.63 -1.89 -2.41 
+-0.63 -1 -0.63 -1.02 0.13 -0.63 0.24 -0.76 0.63 -0.37 0.76 -0.37 -2.26 -1.26 -2.14 -1.15 
+-0.63 -0.87 -0.75 -0.76 1.02 0 0.87 -0.13 -1.13 -0.89 -1.13 -1 1.13 -0.13 1.26 0 
+-0.37 -0.5 -0.5 -0.37 -1.79 -0.89 -1.88 -1 -2.62 -1.15 -2.65 -1.13 -0.99 -0.62 -1.02 -0.63 
+-1.39 -0.63 -1.25 -0.63 0.75 -0.13 0.89 -0.13 2.89 0.76 3.02 0.76 0.52 -0.37 0.37 -0.52 
+-1.62 -1.13 -1.65 -1.12 -0.99 -1.13 -0.89 -1.02 -1.63 -0.99 -1.64 -1.02 -0.74 -0.87 -0.76 -0.76 
+-2.39 -1.26 -2.52 -1.12 S
+2675.17 759.42 -1.25 -0.89 -1.39 -0.89 -2.13 -1 -2.15 -1.13 -1.75 -0.89 -1.76 -1 -2.14 -1.15 
+-2.13 -1 -2.52 -1.39 -2.65 -1.39 -2.02 -0.63 -1.89 -0.5 -1 -1.25 -2.39 -1.02 -2.39 -0.87 
+-2.28 -0.26 -2.26 -0.12 -1.52 -0.64 -1.37 -0.49 -1.26 -0.76 -1.39 -0.87 -2.78 -0.63 -2.88 -0.75 
+-2.02 -0.26 -2.13 -0.13 -3.04 -1 -2.89 -1.02 -1 -1 -3.28 -0.89 -3.38 -1 -0.63 -0.5 
+-0.52 -0.5 -4.51 -0.52 -1.78 -0.86 -1.87 -0.76 -3.15 -1.13 -3.14 -1.02 -3.15 -0.24 -3.01 -0.25 
+-2.78 -0.5 -2.76 -0.5 0.11 -0.39 0.13 -0.5 -2.26 -0.5 -2.28 -0.52 -2.89 -0.63 S
+2577.67 725.26 -2.88 -0.5 -3.41 -0.5 -3.52 -0.63 -2.52 -0.26 -2.52 -0.37 -1.13 0.26 -1.13 0.37 
+-1.39 0.13 -1.52 0.24 -1.76 0.13 -1.88 0 -0.24 -0.37 -0.39 -0.39 0.63 -0.37 0.76 -0.5 
+-1.76 -0.52 -1.89 -0.37 -0.89 0.37 -0.87 0.52 -3.02 -0.52 -3.02 -0.63 -5.04 -1 -3.41 -0.13 
+-3.38 -0.13 -9.83 0 -3.12 0.13 0.11 -0.37 0.13 -0.5 -2.52 0.5 -2.39 0.5 1.26 0.5 
+1.26 0.39 -2.52 1 1 0.63 1.15 0.5 S
+2516.04 723.37 1.63 0.63 1.52 0.63 2.5 0.39 2.52 0.5 -0.73 0.37 -0.76 0.52 -0.26 1 
+1.89 0.5 S
+2524.33 727.91 2.02 0.39 -0.63 0.37 -0.62 0.39 0.89 0.5 0.87 0.63 1.26 0.63 1.25 0.76 
+-0.5 0.63 -0.62 0.63 -0.89 0.38 -0.87 0.49 -1.26 0.39 -1.26 0.37 -1.26 0.39 -1.26 0.37 
+-1.25 0.5 -1.26 0.39 -1.52 1 -3.26 0.26 -2.15 0.24 -2.25 0.39 1.99 0.37 2.15 0.39 
+2.15 0.73 2.13 0.63 1.25 1.52 -1.13 0.63 -1 0.5 -1.52 0.89 -2.65 1 -2.13 1.26 
+-3.01 1.15 -3.54 0.73 -4.14 1.02 -3.91 0.76 -4.28 0.87 -4.14 0.52 -5.4 -0.26 -4.93 0.89 S
+2511.63 735.85 -2.28 -0.13 -2.39 -0.24 -1.5 -0.52 -1.52 -0.5 4.04 0.26 S
+2507.99 734.72 2.12 -0.13 2.26 -0.13 -0.37 0.63 -0.37 0.76 S
+2442.43 739.39 -0.5 0.5 -0.37 0.63 1.13 0.13 1.13 0.24 0.89 0.63 0.87 0.63 -2.02 1.65 
+-4.38 -0.39 -1.78 -0.99 -0.23 -0.63 -0.26 -0.5 0.26 -0.63 0.37 -0.52 2.39 -0.37 2.52 -0.36 S
+2401.17 741.64 -1.26 0.63 -1.12 0.63 -2.52 0.26 -2.64 0.23 0.26 -0.49 0.11 -0.5 3.67 -0.39 
+3.52 -0.37 S
+2310.96 817.23 1.65 -1.26 3.25 -1.02 2.52 0.13 3.54 -0.87 1.89 0.24 3.02 -1 2.65 0.63 
+1.25 1.13 -0.12 1.65 -2.52 1.76 -2.91 1.76 -3.75 1.89 -4.17 1.89 -4.41 1.78 -4.64 2.13 
+-5.3 2.15 -0.73 -0.89 0.37 -1 3.78 -2.02 S
+2306.32 826.3 4.54 -1.76 4.14 -1.78 1.26 -1.26 -0.5 -0.86 -1.15 -1.02 -1.63 -1.39 -2.02 -0.99 S
+2307.07 819.12 1.63 0.89 0.76 0.87 -1.52 1.25 -2.39 1.39 -2.52 0.13 0.13 -1.89 2.02 -0.89 
+1.89 -1.76 S
+2287.7 852.13 2.89 -0.26 -0.37 1.39 S
+2290.21 853.25 0.87 1.65 -3.02 1.25 2.14 -2.91 S
+2290.21 853.25 -3.14 1.26 0.63 -2.38 S
+2299.13 862.33 2.64 -1 2.28 0.76 -4.4 1.63 -0.52 -1.39 S
+2284.29 863.21 2.15 -0.13 0.37 2.39 S
+2286.8 865.47 1.39 0.63 1.39 1.65 -3.14 -0.52 0.37 -1.76 S
+2286.8 865.47 -1.75 -1.26 -0.76 -1 S
+2316.75 877.82 4.41 0 -4.54 1.52 0.13 -1.52 S
+2058.86 1277.41 -2.13 -1.39 -0.52 -3.52 S
+2056.21 1272.5 -1.89 -0.26 0.13 -5.17 -0.5 -3.52 -0.89 -0.76 1.39 -2.02 1.26 -4.41 0.89 3.39 
+1.62 -1 -0.87 -1.89 -1.15 -3.28 -1.5 -0.5 -2.39 -1.26 -2.41 -1.89 -0.24 -3.04 0.5 -4.01 
+1.13 -4.3 -1.5 -1.63 1.26 -2.52 2.13 -2.91 1.26 -3.02 1.39 -3.65 0.63 -4.54 2.15 -3.41 
+1.37 -4.3 0.76 -3.9 0.75 -3.77 0.76 -3.91 2.25 -5.66 0.89 -3.78 1.63 -4.16 0.87 -2.76 
+1.52 -2.78 1 -3.91 1.78 -5.29 0 -3.39 2.13 -4.16 1.75 -2.78 1.65 -2.89 3.39 -3.9 
+2.38 -1.26 2.52 -3.54 3.41 -3.28 1.63 -1 2.52 -2.91 2.52 -2.39 1.89 -3.28 1.75 -1.52 
+2.78 -3.52 0.5 -3.41 S
+2103.02 1129.51 1 -4.04 1.52 -4.64 0.24 -3.4 0.63 -3.41 1.02 -3.38 0.37 -3.28 0.26 -3.41 
+-0.39 -3.14 0.76 -3.28 0.89 -3.41 0.37 -3.41 1.26 -3.38 0.76 -2.78 -0.5 -2.15 1.76 -4.04 
+-0.13 -4.14 1 -3.4 -0.11 -3.28 0.74 -3.28 0 -3.14 1.52 -2.39 1.89 -4.54 -0.89 -1.52 
+0.75 -3.27 1.89 -3.91 1.63 -3.39 0.89 -2.28 1.52 -2.25 0.37 -4.3 1.76 -3.38 -0.14 -2.02 
+1.13 -3.41 0.39 -3.14 0.13 -3.14 0.87 -3.28 0.89 -3.28 -0.39 -1.12 1.65 -3.28 -1.75 0.13 
+1.25 -3.79 2.52 -2.75 1.37 -2.78 1.76 -2.78 2.15 -3.28 0.13 -3.15 2.26 -3.77 0.89 -2.78 
+2.02 -2.65 S
+2142.91 979.6 1.87 -2.13 1.78 -0.63 -0.63 2.13 2.62 -1.13 0.26 -2.02 1.63 -1.12 -0.37 -1 
+2.64 -4.3 0.87 -2.64 1.88 -2.12 0.5 -2.65 1.79 -1.52 -0.52 -1.63 1.78 -2.02 1.26 -3.15 
+-1.78 2.02 -1.26 1 -0.5 2.15 -1.39 1.5 -0.5 1.65 -2.63 2.13 0 -2.25 0.87 -2.52 
+2.38 -2.65 0.5 -1.65 0.89 -2.13 1.63 -1.52 -1.26 -0.63 2.02 -1.52 -0.63 -2.75 1.52 -2.15 
+0.5 1.76 2.39 -1 1.75 0.13 1.26 -3.67 1.75 -2.64 2.39 -3.02 -4.14 3.41 -1 -0.5 
+1.39 -2.14 1.99 -2.52 2.39 -3.65 1.78 -1.52 1.76 -2.52 2.02 -0.39 0.24 -1.63 3.02 -3.54 
+-1.26 4.8 1.65 -2.52 S
+2180.01 923.18 2.13 -1.89 -1.39 0.37 2.02 -3.14 1.26 -2.52 1.13 1.75 -1.13 2.02 3.02 -2.89 
+1.26 -1.89 -2.39 0.11 2.64 -2.89 2.39 -0.76 -0.37 1.52 2.63 -2.28 2.02 -0.37 1.26 -1.39 
+2.39 -1.39 3.28 -1.13 0.13 1.63 -0.63 2.65 1.63 -0.24 1 -2.15 -1.37 -1.76 2 -1.26 
+3.14 -0.62 0.52 0.63 -2.52 2.76 -2.15 2.91 1.13 1.75 1.26 0.13 -1 1.39 1.63 0.24 
+2.52 -0.24 -4.01 2.65 -2.52 2.26 -2.64 2.39 -1.76 2.91 0.13 2.02 1.5 1.25 -1.76 2.89 
+-1.62 2.9 0.36 2.02 0.89 2.12 0.37 2.02 -1.52 2.91 -1.63 1.89 -2.75 0 -3.15 1.89 
+-2.91 1.89 -2.26 3.02 S
+2184.16 951.26 -0.89 3.03 S
+2183.27 954.29 0.39 1.5 1.5 1.52 2.15 0 -1.26 2.02 1 1 -1.89 2.91 -1.5 2.02 
+-0.26 2.02 1.52 2 -3.28 1.02 0.89 2.02 2.39 -2.02 2 0 -0.5 1.39 -2.39 3.02 
+-2.13 -1.39 -2.9 1.52 -1.89 3.52 -2.39 3.04 0.5 1.5 2.91 -1.5 2.52 -1.15 3.38 -0.11 
+2.02 1.39 -0.75 1.99 -1.5 1.52 -0.52 3.02 -0.24 1.89 -2.38 2.14 -0.89 2.52 1.76 -1.63 
+3.14 -0.12 3.02 0.26 1.89 0.5 2.65 0.24 2.38 0.89 1.76 0.89 1.89 1.26 -0.37 2.38 
+0.76 2.39 0.24 2.91 -1.62 3.02 -2.02 0.64 -2.12 2.52 -0.14 2.91 -2.28 2.13 -4.51 2.28 S
+2186.18 1018.04 -1.52 2.15 0 1.89 3.28 -2.78 3.02 -0.26 2.02 -1.63 3.02 -1.13 2.52 0.24 
+3.28 -0.76 2.13 0.26 1.76 1.39 1.25 1.75 -0.37 1.89 1.63 1.78 1.02 2.75 -0.26 2.91 
+1.39 1.75 1.76 1.76 1.89 1.65 0.63 2.76 0.87 2.78 -0.11 2.78 0.87 2.78 1.25 2.75 
+1.52 1.65 1 0.87 0.13 2.91 -0.26 2.78 -1.13 3.02 -0.87 3.91 -0.63 3.02 1.5 2.15 
+1.65 2.15 2 2.13 1.76 2.14 2.41 0.76 2.52 1.5 1.87 -1.13 1.65 2.65 2.65 -0.37 
+-1.26 2.02 3.39 0 2.78 -0.76 2.52 -0.26 2.52 0.13 2.62 -0.39 -0.37 2.54 2.39 1 
+2.38 1.13 -0.37 2.91 S
+2251.84 1085.94 0.5 2.76 2.26 2.54 0.5 2.75 S
+2255.1 1093.99 2.28 2.65 0.24 2.78 -0.37 2.88 0.13 2.78 1.63 1.65 -0.24 2.88 0.11 3.41 
+0.63 3.28 -0.74 2.88 -0.12 2.91 -0.64 2.88 0.24 2.91 0.13 3.77 2.64 1.52 2.15 2.12 
+2.13 3.04 1.25 2.76 1.76 2.52 1.26 1.26 2.65 1.52 1.39 2.28 2.26 2.13 1.26 2.14 
+1.39 2.65 1.39 2.78 0.37 3.78 -0.5 2.88 -0.89 3.54 -0.87 3.52 -1.39 3.67 -3.14 1.49 
+-2.78 -0.12 -2.63 1.02 -1.78 2.15 -2.76 1.89 -1.76 2.25 -1.76 2.39 -2.65 2.41 -2.64 2.39 
+-2.52 2.52 -2.75 0.5 -2.78 -0.5 -2.64 0.5 -2.63 2.02 -2.64 0.63 S
+2238.76 1197.29 -2.65 2.02 -2.65 1.02 -2.62 -1.02 -3.15 -0.24 1 2.75 -1.25 2.78 -0.63 2.65 
+-2.76 -0.39 -0.76 2.29 -3.41 1.75 -2.52 1.65 -2.89 2.64 -3.14 0.74 -1.76 -0.5 -2.02 -4.14 
+-1.26 1.26 1.02 2.39 1.13 3.77 -2.91 1.76 -2.63 0.13 -2.52 1.26 -2.28 -1 -0.24 -3.54 
+-1.12 -3.91 -1.02 4.41 -3.14 -0.74 0.76 3.52 1.02 2.78 2.39 1.52 1.89 1.63 2.39 2.39 
+0.87 4.54 -2.89 1.25 -0.37 4.3 -1.26 4.54 0.38 3.52 -2.02 3.77 -1.5 2.02 -2.28 2.78 
+-1.76 2.78 -2.25 2.26 -1.89 1.65 -1.52 1.13 -2.39 1.75 -2.39 1.39 -2.38 0.76 -2.52 0.24 
+-2.52 0.89 -2.65 1.52 S
+2169.68 1269.99 -0.87 2.52 -1.39 2.13 -2.02 2.91 -2.02 0.26 0.89 2.39 S
+2164.28 1280.19 -0.37 2.88 -1.89 3.04 -2.02 3.02 -2.25 3.02 -3.78 0.52 1.63 3.25 -0.14 3.41 
+-2.38 2.15 -1.62 1.88 -1.65 0.14 -1 3.28 -1 2.75 4.02 -0.63 -2.52 1.15 -3.14 1.37 
+-2.52 1.15 -3.02 -1.52 -2.38 -0.12 -2.52 1.78 -1.63 1.89 -0.26 2 -1.89 0.89 -1.89 0.39 
+-2.64 1.26 -2.62 0.74 -0.13 2.52 0.37 2.78 -1.37 2.52 -1.89 1.65 -1.89 1 0.63 4.67 
+-2.28 -0.63 -0.11 -3.02 -2.15 -0.76 -2.15 0 -2 -0.13 -1.15 -3.77 0.39 -4.54 -1.02 -3.77 
+-2.76 0.24 0.37 2.9 -0.5 2.78 2.02 2.63 S
+2109.18 1326.91 1.63 1.52 0 6.92 2.39 -0.11 1.89 2.13 -0.24 1.88 -1.13 1.39 -1.89 -0.75 
+-1.78 -1.63 -2 0 -1.89 -0.76 -2.52 -0.5 -2.64 2.25 -1.63 -1.62 -1.52 1.63 -2.02 -0.11 
+-1.75 -1.52 -1.26 -3.02 -1 -3.4 -1.88 0.63 -1.76 -2.14 -2.78 -1.62 -1.37 -4.93 -0.89 4.3 
+-0.63 3.14 -0.76 3.02 -1 3.28 -1.52 1.76 -1.26 2.15 -1.89 1.26 -1.75 -1.52 -2.26 0.13 
+-2.28 0.39 -2.62 0.37 -0.76 2.65 -1.52 1.13 0.26 3.28 -1 2.91 -0.89 3.38 0.13 3.54 
+0 3.52 0.37 3.28 1.64 2.41 1.26 3.28 1.99 3.39 1.39 3.41 1.52 3.78 2 2.02 
+2.02 4.91 S
+2075.58 1388.26 -0.12 1.65 -1 2.26 -0.26 4.03 -1.13 1.76 -0.87 1.65 -1.89 0.87 -1.39 2.28 S
+2068.92 1402.75 -2.14 0.37 -1.89 1.02 -1.37 3.02 -2.65 0.13 -0.5 3.02 -0.76 2.52 2.65 0.52 
+2.89 3.65 1.63 3.14 2.91 5.16 -0.52 -3.52 2.41 2.39 2.26 3.51 1.89 2.91 2.02 2.88 
+2.13 2.52 2.78 1.29 1.5 2.63 -0.11 1.88 -1.52 1.65 -0.89 1.76 -1.76 1.25 -2.02 0.63 
+-1.63 1.15 -1.76 1.25 -1.52 0 -2.39 -3.28 -1.76 -2.41 -1.62 -1.5 -1.52 -2.78 -1.5 0.13 
+-1.89 -0.5 -0.63 -1.89 -2.28 1 0.63 0.99 -1.26 2.65 -2.52 0.39 -1.89 1.5 -2.12 1.02 
+-0.89 1.26 0.39 3.41 S
+2051.7 1449.5 -0.63 2.89 -0.63 2.9 0.74 3.91 1.15 3.64 1.37 4.15 0.52 3.4 0.87 3.04 
+1.39 3.26 1.76 1.52 0.26 4.04 1.89 3.77 2.13 1.89 2.15 3.02 2.13 3.04 2.28 3.02 
+2.63 2.39 2.52 2.41 2.39 1.5 1.89 2.78 2.28 2.88 2.02 3.54 2.5 2.52 2.28 0.63 
+4.91 0 1.39 -1.39 1.75 0.26 1.89 0.13 1.49 3.28 1.39 -0.39 -2.02 -2.26 2.15 -0.39 
+1.25 -1.13 1.5 -1.63 0.26 -2.65 0.63 -2.28 2.02 -0.13 -0.39 -3.52 -1.37 -2.15 0.74 -2.26 
+1.65 -1.39 1.5 -0.39 0.39 -1.5 -0.5 -2.28 1.13 0.39 0.37 3.52 0.76 1.02 1.26 0 
+1.26 1.13 S
+2112.96 1499.63 -0.89 1.52 -1.39 0.87 -0.37 1.65 2.52 1.5 0 -3.15 2.14 -0.24 1 -1.39 
+0.76 -2.14 1.75 0.49 S
+2118.49 1498.74 -1.13 -2.38 1.13 -1.63 1.63 -1.15 1.65 -1.13 -0.39 -2.52 0.63 -2.52 -1.39 -2.91 
+1.65 -1.12 2.13 0.13 1.65 -1.12 -0.26 -3.14 -1.26 -4.54 0.39 -1.26 -1.52 -3.41 -1.89 -2.14 
+-1.39 -1.89 1.39 -0.5 -2.52 -2.39 -1 -2.28 -0.26 -2.88 -0.87 -3.28 -1.15 -3.67 0.13 -3.28 
+-1 -3.02 1.5 -0.63 1.39 0.25 2.52 2.13 2.52 3.28 2.02 3.41 1.49 4.04 1.39 4.14 
+1.26 1.89 1 3.91 1.52 3.41 1.26 3.54 1.75 3.14 1.89 3.02 2.65 2.02 2.75 2.02 S
+2141.75 1484.27 3.14 0.87 2.39 -0.11 2.64 0.37 2.28 0.89 2.13 1.13 2.39 -0.12 1.52 -0.76 
+2.52 0.63 2.52 0.75 1.99 -1.25 1.65 0.63 -1.39 1.39 2.78 0.37 0.87 -0.87 1.52 0.87 
+1.36 1.89 -1.12 1.15 -1.39 1.37 1.88 -0.37 1.26 -0.37 0.13 -1.39 -0.5 -2.28 0.63 2.52 
+1.63 2.41 0.89 2.26 0.26 2.91 1.5 1.76 2.02 1.89 -0.13 3.41 1 -1.89 1.15 2.02 
+1.99 2.75 1.89 1.26 1.76 -0.24 -1.87 -1.26 -1.52 -1.78 -2.15 -1.63 0.39 -2.02 -1.39 -1 
+0.89 -0.89 -1.78 -1.39 -2.63 -2.14 1 -0.24 2.64 2.14 2.65 1.37 1.76 0.63 1.37 4.03 
+1.78 3.02 0.11 -1.75 S
+2188.17 1507.18 -0.74 -2.25 2.63 0.36 3.04 1.76 2.62 2.02 -0.13 1.78 2.28 0.86 2.39 0 
+2.02 -0.49 1.39 -1.13 1.24 -1.26 2.15 -0.39 S
+2207.05 1508.45 1.88 1.25 -0.49 -1.89 1.88 -0.13 -0.76 -0.87 2.52 -0.76 1.39 1.76 -1.15 -1.26 
+-1.24 1.13 1.37 2.54 -0.24 1.63 1.76 0.63 0.87 1.52 2.15 1 2.25 0.89 0.76 0.87 
+2.02 -0.37 2.26 -0.5 2.65 1.26 -0.13 -1.39 2.28 -0.36 2 -0.39 2.38 0.13 1.52 1.63 
+2.02 -1.62 2.39 -0.63 3.52 0.13 -1.63 -1.52 2.12 -1 -3.14 -0.26 -1.89 0.13 -3.02 -0.5 
+-2.39 -1.52 -1.13 -2.52 0.38 -2.28 2.64 0.52 2.91 0.63 2.25 1 S
+2240.02 1507.31 1.39 -1 2.89 -0.13 3.91 -0.89 3.02 -0.76 1.76 1.26 2.39 -0.24 2.89 0.5 
+-0.63 3.02 2.28 2.41 -0.13 1.26 -2.52 -1.39 -3.02 -1.13 -1.76 -2.15 -1.02 1.52 -2.39 0.37 
+-1.5 1.75 -0.75 3.15 -0.89 2.14 1.26 3.15 2.28 3.02 2.13 1.65 -2.88 1 0.5 3.78 
+2.52 -2.13 2.02 -0.13 2.63 0 1.39 1.63 0.25 1.91 -1.02 2.12 -2.13 1.14 -2.25 1.15 
+-2.78 0.24 -2.15 0.52 -2.63 0.24 -3.02 -0.37 -2.78 -1.02 -5.03 -1.25 -2.39 0.75 2.52 0.63 
+2.25 0.76 2.52 0.63 2.39 0.89 2.91 1 2.89 0.37 3.4 0.52 1.63 -1.52 2.26 1.76 
+2.52 0.63 S
+2257.12 1540.06 2.52 -0.76 1.39 -1.13 1.63 -1.39 2.15 -1.13 1.13 -1.52 1.52 -1.26 1.63 -1.26 
+0.63 -1.76 2.25 -1 2.39 -1.78 2.64 0.76 2.52 0.76 2.39 1 S
+2281.9 1529.6 3.28 -0.37 3.02 -1.26 3.02 0.37 2.39 0.39 1.78 3.91 1.99 1.63 0.39 3.54 
+-1.89 1.26 1.49 2.15 -2.12 2.13 3.38 0.13 -0.13 2.02 -1.86 2.02 0.63 2.13 -2.15 2.14 
+1.52 2.28 -0.76 2.65 0.63 2.13 2.26 2.28 2.39 0.76 0.13 2 1.52 1.52 0.5 2.28 
+1.39 3.02 1.5 2.88 1.39 3.15 1.5 3.04 1.02 1.89 -2.52 -0.5 -2.02 -0.39 -1 -1.89 
+-2.91 -0.99 -2.62 0.24 -2.28 -0.74 -3.02 0.74 S
+2293.73 1578.11 1.76 3.67 -0.63 1.39 1.26 2.63 1.75 1.26 2.78 1.91 1.76 2.13 2.52 1.39 
+-0.76 1.64 -1.13 1.26 0.26 2.39 2.13 0.76 0.39 2.26 0.87 2.52 0.5 2.28 -2.5 1.5 
+-0.89 1.15 -0.13 2.26 -0.63 2.14 -2.25 0.37 -2.39 -1.39 -0.89 -2 -2.65 -0.89 -2.75 -0.89 
+-0.89 -1.89 -2.63 -2.12 -2.4 -1.52 -3.02 -0.5 -1.39 1 -2 -1 -1.02 -2.41 -0.24 -1.89 
+-2.78 -2.89 -2.13 -1.89 -2.78 -2.78 -3.64 -2.64 -3.15 -0.63 -3.38 0 -2.91 0.37 -2.52 0.76 
+-1.75 -2.39 -2.02 -2.26 -3.02 -2.65 -2.62 -2.02 -2.02 -3.04 -3.64 -0.74 -3.15 0.63 -1.65 -1.64 
+0.63 3.02 1.78 2.54 S
+2237.76 1579.25 1 2.64 1.75 2.76 1.39 3.28 3.02 1.52 2.26 1.63 2.02 2.28 4.66 2.26 
+0.38 2.91 -1.26 2.39 -1.13 2.39 1.39 3.91 0.11 2.52 0.39 2.28 1.99 2.78 1.15 3.26 S
+2256.88 1618.04 0.24 3.04 1.39 3.52 -1.62 1.25 -1.39 0.89 2.13 1 2.41 2.15 2.62 1.26 
+3.54 2.65 0.24 1.89 -0.87 1.25 2.52 2.02 3.25 1.25 3.78 1.39 2.78 0.5 2.88 0.5 
+3.41 0.13 2.89 0 1.39 -0.99 3.25 1.25 1.39 -1.52 1.65 -1.63 3.12 1.5 4.17 0.13 
+0.76 -2.89 3.64 -0.12 3.52 -0.13 3.28 1.26 4.91 0 1.63 2.15 1.25 -2.02 -1.39 -1.39 
+-0.11 -2.78 3.25 -0.73 S
+2322.79 1634.81 3.64 -0.89 3.78 1.13 0.63 2.78 3.14 1.39 2.39 -1.15 3.91 1.64 -0.13 2.52 
+2.14 1.13 0.24 2.41 -0.63 1.89 -3.26 -1.15 -3.64 -1.49 -3.78 -1.39 -2.78 1 -2.64 -1 
+-1.5 0.89 3.38 2.88 3.28 0.89 2.78 0.87 3.02 2.64 -4.8 0.26 3.04 2.25 2.63 1.89 
+1.39 2.15 3.15 -0.89 3.14 1.78 2.15 1.75 2.63 1.89 3.41 1.76 2.25 -0.5 2.15 1.13 
+1.26 -1 0.24 -1.65 2.91 -0.11 2.88 -0.26 1.76 -0.26 1.13 1.65 0.76 2.78 -1.26 2.25 
+-2.88 0.13 -2.78 -1.02 -3.39 -1 -2.91 -0.49 -3.39 -0.76 -1.76 0.89 -3.54 -0.13 -3.77 0 
+-4.02 -2.52 -2.52 -3.41 S
+2336.63 1660.37 -3.02 0.38 -3.28 -1.63 -3.52 0.75 -0.13 0.5 -3.28 -0.26 2.15 2.41 3.77 1 
+2.52 -1.63 3.89 2.25 3.4 3.28 -3.4 0.36 -2.13 1.26 -3.02 -3.39 -2.15 0.76 -3.91 -0.76 
+-0.62 2.13 1.39 3.41 S
+2325.3 1671.2 2.28 2.65 2.63 3.14 4.17 2.39 -0.63 2.02 -0.52 2.28 -1.86 1 -2.28 -2.26 
+-2.75 0.37 1.76 2.02 2.26 2.02 -0.24 2.39 -0.13 2.52 1.88 2.14 1 2.15 2.15 -0.52 
+0 -1.75 3.26 1.13 2.91 2.28 1.5 2.65 2.64 2.15 3.15 2.25 3.51 1.52 1.89 2.65 
+-2.38 1.13 1.26 1.39 3.78 -0.39 -2.52 1.89 2.14 1.26 3.75 0.26 4.8 1.39 -2.91 1.39 S
+2361.79 1716.69 0.26 1.63 3.14 0.13 0.38 2.26 0.39 2.54 -0.5 1.63 2.5 0.89 1.26 1.63 
+-0.63 1.65 -2.26 0.87 3.77 1.39 3.64 0.89 3.65 1 3.02 1.88 2.64 0.63 3.28 0.63 
+2.25 1.52 1.89 1.39 3.28 0.76 2.75 1.5 4.28 0.89 2.9 1.39 2.52 1.13 3.78 -0.26 
+4.02 1.65 2.14 -0.39 4.02 0.52 1.26 2.52 3.28 1.26 2.13 2.52 2.65 1 1.65 2.28 
+-0.39 1.89 0.39 1.63 3.26 1.52 3.01 1 -0.5 1.91 -3.52 0.74 -4.41 0.26 -2.65 1.52 
+-3.89 0.37 -3.4 0.76 0.26 1.52 4.9 1.25 1.37 -1.39 2.64 0.63 2.78 1.63 2.89 1.65 
+2.38 2.13 -2.26 0.26 S
+2434 1775.26 -3.14 -0.26 0.37 1.39 -1.89 0.89 -5.27 -0.5 -4.04 -1.25 -3.75 -0.39 -1.78 -1.5 
+-2.52 -1.39 -0.5 1.63 -2.88 0.89 -0.76 1.75 4.14 1.63 1.52 2.02 3.91 0.13 2.13 1.52 
+-0.24 1.13 1.26 2.38 0.24 2.65 -3.91 0.76 S
+2416.88 1788.74 -2.63 1.26 -3.77 1.02 -3.15 0.87 -3.4 -1 -2.13 -2.14 -3.77 1.13 -0.13 1.25 
+-2.64 0.89 -1.89 -1.26 -5.77 -1.89 -4.54 0.37 0.13 -1.26 -2.89 -0.76 -2.02 -1.12 -2.02 1.75 
+-1.52 1.79 1.52 2.02 1.39 2.13 2.76 2.41 0.89 2.26 4.01 1.52 3.41 2.02 1.52 2.13 
+4.02 2.02 3.78 2.64 -1.52 0.5 -4.4 -2.52 -3.12 -2.15 -3.41 -1.63 S
+2385.57 1802.97 -2.02 -1.63 -3.64 -1.78 -3.39 -2.13 -3.02 -1.89 0 -1.65 -2.28 -1.89 -2.88 -2.52 
+-0.39 -1.89 -2 -2.65 -2.28 -2.39 -0.5 -1.65 0 -1.88 3.41 0.89 0.63 -1.26 -1.76 -1.89 
+-0.26 -2.02 1.39 -1.65 -0.52 -1.75 -1.87 -2.39 -2.41 -1.25 0.13 1.5 2.28 2.02 -2.41 1.52 
+-0.5 2.02 -2.52 -0.5 0.26 1.63 -3.14 -2.02 -1.13 -2.02 -0.63 -2.02 -2.78 -1.49 0.76 -2.02 
+3.41 -0.89 -3.54 -1.13 -2.52 -1.52 -3.39 -0.87 -4.79 -1.26 -4.28 -1.65 -3.02 -2.02 -2.88 -2.13 
+-4.04 -1.65 -2.76 -1.63 -0.26 -1.65 -3.25 0.26 -3.78 -1.52 -4.54 -1.39 -3.78 -1.26 -3.38 -1.63 
+-3.91 -0.39 -4.41 -1.5 S
+2297 1742.51 -3.9 -0.52 -4.78 -0.87 4.15 -0.26 4.27 0.39 3.14 -0.39 3.65 1.52 -1.26 -1.26 
+2.28 -0.75 -3.53 -0.5 -1.76 0.37 -3.77 -0.37 -2.63 0.24 0.37 -1.37 1.39 -0.89 -2.91 -0.63 
+-3.02 -1.02 3.02 2.14 -0.87 1.39 -3.52 -0.26 -0.76 -1.26 -2.52 0 S
+2284.05 1738.21 -2.91 -0.5 -2.39 -1 -3.02 -1.65 -3.78 -1.13 3.78 0 4.91 1.39 3.77 1 
+-2.26 -1.26 -1.26 -1.39 -1.88 0.26 -3.52 -0.89 -3.15 -1.26 -3.02 -1.76 -0.39 -1.89 -2.52 0.89 
+-2.13 -0.76 -0.39 1.63 -4.28 -1.5 -2.88 -1.78 -5.29 -2.13 -3.26 -2.52 -3.91 -1.28 -3.15 -1.63 
+-2.25 -0.26 -3.78 -2.89 -2.64 -2.64 -3.15 -2.78 S
+2229.32 1710.5 -3.38 -2.39 -3.41 -2.52 -2.75 -2.39 0.73 -1.65 -3.38 -0.76 -2.39 -1.89 -3.41 -1.89 
+-0.87 0.26 -3.41 -1.89 -2.89 -0.13 1.26 0.63 -0.52 1.26 2.15 -0.76 2.78 2.52 1.13 2.4 
+3.25 3.39 -1.62 -0.13 -2.02 -1 -3.25 -1.62 -3.91 -1.79 -2.38 -0.87 -2.39 -1.02 -2.41 -3.14 
+1.26 2.9 -2.26 -0.75 -3.02 -1.13 -2.52 -0.26 -3.41 -1.12 -3.26 -0.76 -3.64 -0.63 -3.54 -0.39 
+-3.51 -1.49 -2.78 -1.89 -3.65 -2.02 -3.26 -1.02 -2.9 -0.24 -1.76 -0.76 -2.26 -2.02 -2.64 -2.15 
+-2.26 -0.99 -2.91 -1.52 -2.89 -2.64 -2.38 -2.52 -2.02 -0.76 -1.39 -2.52 1.78 0.89 -1.15 -1.76 
+-0.87 0.11 -3.15 -2.52 S
+2135.85 1667.17 2.25 2.78 -2.88 -1.76 -2.52 -2.28 -0.5 -1.63 -2.78 -1.39 -1.63 -0.5 -2.78 -3.54 
+-3.26 -3.15 -3.91 -4.14 -3.28 -2.02 -1.75 -4.16 -1.76 -3.41 -1.52 -3.02 -0.24 -1.52 -2.15 -1.75 
+-0.24 -1.63 -2.52 -3.67 -2.78 -3.02 -3.28 -3.02 -3.39 -3.78 -2.65 -2.78 -2.13 -2.78 -1.52 -1.12 S
+2088.67 1613.89 -1.75 -2.78 -2.52 -2.02 -0.63 -1.5 -3.52 -3.28 -1.15 -3.27 -2.52 -4.4 -1.99 -3.41 
+-1.89 -3.28 -2.52 -2.14 -1.52 0.63 0.5 3.14 -1.89 -4.01 -1.87 -2.65 -1.02 -2.52 -1.39 -3.28 
+0.13 -2.02 -1.76 -3.41 -1.26 -3.78 -2.64 -3.91 -2.75 -2.89 -2.02 -0.76 -0.99 -4.66 -1.52 -3.91 
+-1.89 -4.41 -1.39 -4.3 S
+2046.89 1545.09 -3.14 -5.53 3.04 0.37 1.89 4.03 2.38 4.93 -0.39 1.89 2.15 3.64 0.87 0.13 
+1.65 3.52 1.75 1.89 2.65 4.43 2.63 3.52 2.64 5.16 2.65 4.17 1.75 3.78 2.89 3.41 
+2.4 3.78 2.39 4.14 2.52 3.66 1.5 3.15 2.02 2.88 2.52 1.65 2.52 2.76 2.65 2.41 
+2 1.25 -1.63 -3.9 0.37 -1.13 -1.49 -2.78 -1.02 -2.64 -2.52 -2.02 -2.88 -3.64 -2.02 -2.02 
+-2.38 -3.65 -2.89 -3.8 -2.64 -4.91 -2.65 -5.03 -0.24 -3.04 -2.78 -2.76 -2 -4.93 -1.65 -3.02 
+0.13 -1.13 -1.62 -3.02 -1.89 -1.15 -1.39 -1.39 -0.99 -3.38 -0.76 -4.41 -2.64 -4.8 -1.39 -3.91 
+-1.13 -3.77 -2.14 -4.93 S
+2050.54 1528.97 -1.12 -3.39 -1.5 -4.4 -1.26 -3.54 -2.91 -4.91 -0.74 -2.91 -1.52 -2.15 -2.13 -0.74 
+-0.89 -2.28 -1.62 -0.13 -1.79 -4.77 -1.62 -4.93 -0.13 -4.14 -0.5 -4.29 -1.26 -4.14 0.26 -4.54 
+0.87 -2.91 0.5 -1 -0.5 -3.91 -0.5 -5.16 0.5 -3.14 0.5 -3.02 0.13 -3.66 0.89 -2.52 
+0.24 -3.65 0.26 -3.53 S
+2034.7 1445.21 1.13 -2.76 0.89 -3.41 1 -3.14 2.39 -0.52 2.28 -0.11 1.26 -1.78 0.87 -2.12 
+0.63 -2.52 0.26 -3.17 -0.13 -2.63 -0.12 -4.29 0.13 -3.64 0 -3.41 0.63 -3.41 1.13 -2.75 
+1.52 -1.65 0.76 -3.41 0.11 -2.52 1.39 -1.26 0.89 -3.38 1.25 -1.26 2 -1.91 1.26 1.15 S
+2056.21 1391.3 -0.11 -3.78 -1.15 1 0 -3.91 0.26 -3.27 0.37 -4.14 0.52 -3.41 0.63 -3.54 
+-1.02 -2.89 -1.26 -2.65 -0.5 -3.27 1 -1.62 0.26 -1.52 2.02 1.26 0.13 -3.02 1.37 -4.04 
+0.5 -3.14 -1.37 -3.15 1.75 -2.02 0.38 -2.41 1.25 0.39 1.76 -1.89 1.52 -2.52 0.38 -2.91 
+1.89 -1.39 -0.74 -4.14 1.75 -0.5 2.52 0.37 -1.02 3.28 0.26 2.52 2.02 0 1.76 0.89 
+1.89 2.13 1.26 -0.87 1.13 -2.78 0.24 -3.54 1.26 -0.74 -1.63 -1.65 0 -4.54 1 -3.91 
+0.63 -3.65 -1 -2.52 -0.76 -4.8 -0.87 -3.41 -0.39 -3.52 -1.37 -3.02 0.87 -3.04 -1.88 -2.13 
+-1.89 -3.41 -2.39 1.39 S
+2069.42 1291.91 -2.15 -2.65 -0.11 -3.14 -1.89 0.5 0.24 -3.4 -2.39 -0.5 -3.14 -0.76 -1.13 -4.54 S
+2332.23 1714.41 -1.62 -2.89 -1.26 -3.04 -2.91 -1.88 -0.5 2.02 -0.13 1.52 -3.12 1.13 -1.89 -3.02 
+1.89 -0.39 1.13 -1.89 -2.39 -0.24 -2.78 1 1.63 -3.41 3.78 1.39 -2.75 -3.15 2.39 -0.63 
+1.89 -0.76 0.87 2.65 2.15 2.78 0.89 -1.52 0.74 -1.5 2.14 2 -0.63 2.54 0.5 2.52 
+0.26 2.26 -0.26 2.52 S
+2289.46 1696.53 -3.39 -2.65 -0.76 -1.76 0.38 -1.89 -0.87 -1.26 1.99 -0.13 0.52 -1.75 0.5 -1.65 
+3.14 -0.37 1.13 -1.64 -0.13 -2.39 1.89 1 -0.63 -2.65 1.63 2.54 0.52 1.63 -0.52 1.75 S
+2294.86 1685.3 -1.5 0.52 -1.89 0.74 -0.13 1.52 1.89 1.89 1.89 1.02 1.13 2.63 -2.02 -0.74 
+-2.75 -1.65 0.13 1.65 -2.14 -0.13 -1.26 1 1.26 2.78 S
+2267.32 1679.38 -1.13 -2.52 2.13 -0.37 0.63 -1.65 -0.5 -2.52 0.76 -1.89 1.39 1.78 0.24 1.5 
+2.02 1.88 0.37 1.26 -2.63 0.63 -1.39 0.89 -1.89 1 S
+2248.57 1652.93 1.63 -1.76 2.78 1.02 2.75 0.99 1.65 -0.89 3.39 2.41 -2.76 0.13 -2.28 0.11 
+-2.75 -1.89 -2.15 -0.13 -2.26 0 S
+2229.45 1634.18 -2.02 -1.91 -3.15 -2.26 -1.39 -2.28 -2 -1 0.37 -2.14 -3.14 -2.02 1.26 -0.87 
+-2.64 -1.13 -2.63 -1.15 -2.65 -1.5 1.5 -1.15 4.29 1.64 S
+2217.25 1618.42 2.26 2.52 3.52 3.27 3.02 2.26 3.04 2.54 3.02 2.26 0.24 1.89 -0.12 1.65 
+-2.76 -0.63 S
+2227.3 1638.96 -3.14 -2.39 1.78 -0.5 -1.52 -2.02 -1.63 0 -3.28 -1.52 -1.39 -2.52 S
+2218.12 1630.01 -2.39 -3.28 -2.15 -1.13 -1.87 -2.02 -2.14 -0.89 0.89 -2.02 2.5 2.14 1.39 1.76 
+2.02 1.89 2.78 0.89 0.24 1.75 -1.26 0.89 S
+2218.12 1630.01 3.64 2.39 1.76 0 2.15 1.02 1.89 2.88 -0.26 2.65 S
+2193.73 1589.46 0.63 -1.52 2.26 -1 -1.89 -2.91 2.26 -1.26 2.39 -1.12 3.41 -0.39 0.76 -1.37 
+-2.91 0.5 -1.89 -1.39 1.39 -1.63 -1.63 -3.04 1 -1.89 2.65 -1.26 1.76 -1.89 -1.39 -1.12 S
+2202.52 1568.17 0.76 -1.39 1.89 2.52 2.38 1.52 0.89 2.02 1.75 1.5 -1.13 2.02 1.26 2.52 
+2.26 3.04 -1.13 2.26 0.5 3.15 -2.26 -0.37 -2.28 0.76 -2.39 -0.39 -2 0.13 -1.65 1.39 
+-2.52 0 -2.65 0.38 -2.5 0.26 S
+2187.43 1568.29 3.02 -0.62 -2.64 -1.15 -1.89 -1.26 -3.52 -2.12 -2.39 -1.39 -2.14 -2.14 -3.02 -2.65 
+-2.15 -3.41 0.76 -1.26 1.52 -0.5 2.26 0.89 3.28 2.13 2.52 2.65 1.89 2.41 2.25 1.76 
+2.65 1.26 2.52 1.39 2.52 -1.02 3.25 1.26 0.76 -1.37 -0.13 -2.02 0 -2.15 -1.25 -2.14 
+-3.02 -2.65 -3.52 -0.87 -1.75 -1.65 2.52 0.39 1.75 -0.63 -2.14 -3.04 -2 -3.02 S
+2189.32 1545.36 2.63 -0.76 2.91 2.78 3.02 1.63 2.39 1.52 1.39 2.02 -1.02 -3.54 0.52 -3.38 
+2.26 0.63 2.02 4.02 1.49 3.67 -0.87 3.28 -0.76 2.13 -1.12 1.78 -0.76 2.26 -0.89 1.39 
+-1.37 -2.02 -1.52 2.39 -0.26 1.52 -1.12 1.02 -2.52 2.12 -0.37 0.76 -2.25 -0.5 -2.91 -0.89 
+-2.75 -0.87 S
+2202.15 1559.85 0.37 -2.52 0.13 -2.14 2.39 1.52 -1.5 1.13 -1.39 2.02 S
+2180.51 1542.08 0.13 -3.14 1.25 -1.63 1.5 -1.26 2.52 -0.52 2.02 -0.76 2.65 -0.62 2.52 -0.37 
+2.49 0.5 -1.49 1.78 -1.39 1.89 -1.89 -0.39 -0.5 1.65 -1.62 1.13 -2.28 -0.62 -2.63 0.75 
+-1.15 1.63 -2.13 0 S
+2195.59 1538.8 0.63 -1.76 2.28 -1 1.26 -1.52 0.87 -2.02 1.78 -1.13 2.26 -0.89 2.25 2.65 
+1.89 1.13 -2.02 0.76 -2 -0.37 -1.12 2.13 -1.39 1.02 -1.89 1.26 -2.02 0.87 -2.78 -1.13 S
+2014.2 1307.01 -1 -3.52 0.87 -2.91 -1.5 -0.87 1 -2.15 1.76 1.52 -0.37 3.91 -0.75 4.02 S
+2143.54 976.97 1.36 -3.27 1.39 -2.15 2.02 -4.28 2.52 -0.52 -0.76 2.64 -2.02 2.15 -0.12 2.15 
+-1.63 2.12 -2.75 1.15 S
+2209.31 912.59 -0.87 -0.63 -1.52 0.39 0.5 -1.52 -1.5 -0.13 2.02 -2.89 1.63 -0.89 1.39 1.26 
+1.13 -0.89 -1 -1.75 2.89 -2.78 -1.39 0.39 -3.15 2.65 1.13 -2.9 -1.89 0.75 -3.14 0.63 S
+2205.54 904.28 -2.5 1.26 -4.3 1.52 -3.25 1.13 -3.28 1.25 1.89 -1.39 2.75 -1.26 1.88 -0.24 
+0.39 -1.65 2.76 -1.13 1.39 -1.39 1.89 0.26 2.38 -1.89 1.39 0.24 1.39 -1.39 4.14 -1.5 
+2.89 -0.62 0.52 1.13 2.26 -1.75 2.39 -0.63 1.52 0.63 3.26 -1.02 -2.63 2.15 2.39 0.37 
+1.26 1.65 2.52 0.37 0.99 0.5 -0.99 1.39 -2.15 -0.24 -2.25 0.74 -2.65 1.29 -3.28 1.13 
+-3.38 1.63 -2.28 1.76 -1.89 1.91 -3.64 2.13 S
+2230.95 918.88 4.04 -2.12 0.76 1.39 1.49 -0.39 1.65 -1.25 1.89 0.5 0.11 1.39 2.02 1.15 
+-1.26 1.75 -2.75 0.76 -1.76 -1.02 -3.04 0.89 -2.52 -0.76 2.52 -1.62 S
+2234.09 919.54 -0.11 -1.52 -3.04 0.87 S
+2323.54 910.83 3.65 -1.13 3.27 -1.15 3.28 -2 -0.26 1.63 -2.26 1.25 -3.54 1.13 -4.14 0.26 S
+2152.45 1304.12 2.65 -1.12 1.5 1 0.75 3.14 -3.14 0.76 0.63 -0.89 -0.63 -2.52 -1.76 -0.37 S
+2124.16 1334.36 0.87 -2.52 -0.11 1 -0.75 1.52 S
+2101.89 1394.45 1.13 -0.89 0.24 -3.02 1.26 -1.76 1.78 0.24 1 -1.49 1.13 -0.89 0.39 2.52 
+-1.15 2.15 -1.5 2.02 -1.65 1.76 -2 0.13 -0.62 -0.76 S
+2097.09 1430.73 -0.24 -1.39 -0.76 -0.5 0.63 -0.89 1.39 -0.37 0.5 2.13 -0.26 1.75 -1.26 -0.74 S
+2091.82 1436.63 2.02 -2.13 1.75 1.63 1.76 -1.89 1.89 0.5 1.89 0.52 S
+2101.13 1435.27 1.26 -2.02 1.89 -2.52 -2.15 0.5 0.13 -2.52 1.39 -2.02 2.39 -2.28 0.36 -2.52 
+1.15 -1.63 1.13 -2.52 1.89 -0.89 0.11 -1.52 -1.13 -2.75 0.75 -3.54 2.65 -2.02 -0.39 -2.65 
+-2 -0.5 -1.65 -0.87 2.39 -1.89 2.15 -0.76 1.75 -1.39 1.52 -1.88 1.89 -1.39 1.63 0.13 
+2.14 -0.76 0.11 1.26 -0.86 0.63 -0.26 2.89 -1.63 1.9 -1.39 0.38 1.52 2.25 -1.26 1.65 
+-1.52 2.02 -0.76 3.41 -1 2.13 -0.63 2.65 -0.89 3.02 -1.13 2.41 -1.63 1.39 0 3.02 
+-0.89 2.26 -0.74 2.28 -1.65 1.39 -1 2.52 -1.52 1.5 -2.26 0.52 -1.75 1 -1.89 1.02 
+-2.39 0 -1.89 -0.52 S
+2095.09 1438.02 -1.15 -2.02 -2.13 0.63 S
+2116.34 1385.11 1.65 -3.77 1.13 0.63 1.89 -1.39 1.39 -1.5 1.76 -0.52 1.75 -1.89 0.37 -4.14 
+2.39 1.76 0.63 1.65 2.41 -0.26 -0.63 -1.52 2.13 -0.76 2.78 -0.37 1.99 -1.13 0.52 -2.91 
+2.38 1.78 -0.75 3.65 -2.89 2.88 2.26 0.52 -2.26 1.5 0.11 2.41 -2 2 -1.76 1.65 
+-2.52 1.76 -1.65 -0.24 -1.63 3.02 -2.15 1.52 -1.89 -0.63 1.78 -1.29 0.11 -2.75 -0.86 -2.02 
+0.5 -3.64 -2.26 -0.52 -1.89 1.25 -1.26 2.15 -1.65 1.76 -1.89 -0.64 S
+2144.4 1364.97 1.52 -1.39 1.88 -0.52 1.76 -0.87 1.5 1 -0.73 2.28 -2.41 1.26 -2.39 1.39 
+-1.13 -3.15 S
+2163.29 1342.67 -0.39 -2.15 1.26 1.15 S
+2164.15 1341.67 1.13 -0.52 -0.24 1.89 -0.89 -1.37 S
+2164.15 1341.67 -0.86 1 S
+2163.39 1332.59 0.89 -2.78 0 1.13 -0.89 1.65 S
+2124.02 1437.02 -0.89 -2.28 -1.63 -0.74 0.26 -3.9 -0.89 -3.67 1.75 1.52 0.26 2.65 1.13 2.02 
+0.89 3.64 -0.89 0.76 S
+2126.54 1398.85 1.89 -1.26 1.76 2.02 -1.39 -1.02 -0.87 1.39 -1.39 -1.12 S
+2127.04 1448.25 0.26 -2.02 1.99 -0.39 1.02 -0.87 -0.26 -1.52 -0.24 1.26 -3.04 1 0.26 2.54 S
+2132.21 1445.07 0 -3.64 -2.28 -2.39 1.89 2.75 0.39 3.28 S
+2130.19 1434.75 0.76 -3.91 -1.52 -2.76 S
+2130.95 1426.82 -0.39 -3.9 S
+2128.93 1419.88 -0.76 -6.04 S
+2129.82 1412.2 1 -2.88 -2.39 -1.26 S
+2132.83 1406.54 1.26 -1.52 S
+2133.07 1400.37 2.15 0.37 1.63 -2.89 S
+2110.68 1443.82 2.02 -0.87 S
+2168.18 1486.92 1.89 -0.26 1.76 1.39 S
+2196.86 1510.46 2.14 -1.26 2.02 -1.25 2.88 -0.37 -0.13 1.63 -2.13 0.39 -1.65 0.87 -1.89 1.02 
+-1.25 -1.02 S
+2261.66 1534.14 0.5 -2.63 -0.37 -1.65 0.76 -2.02 1.37 -1.63 1.52 -1.12 0.63 2.25 -0.63 1.76 
+-0.76 1.89 -1.39 1.78 -1.63 1.38 S
+2248.57 1518.4 -0.13 -2.02 0.63 -2.38 1.26 -3.04 1.39 1.65 2.39 0.23 -2.39 1.16 -1.62 1.25 
+-1.02 2.02 1.26 1.76 -1.76 -0.64 S
+2294.75 1623.72 1.25 -1.52 3.39 -0.37 0.37 0.24 -0.5 1.26 -1.76 0.89 S
+2297.5 1624.21 -2.75 -0.49 S
+2299.13 1617.17 -3.52 -1.76 -1.13 -1.64 3.02 0.63 2.52 1.13 -0.89 1.65 S
+2263.78 1595.38 1.26 -1.02 -3.12 -0.13 0.73 -1.26 1.89 0.26 -2.38 -1.65 3.64 1.65 1.02 1.52 
+-3.04 0.63 S
+2242.77 1587.43 -0.11 -2.14 0.11 -2.26 1.89 2.26 -0.11 1.39 -1.78 0.76 S
+2267.19 1514.75 -1.12 -2.4 2.75 -0.5 2.02 -2.02 2.26 -1.39 2.15 -1.39 1.63 -1.5 -1.13 -1.78 
+-2.39 -0.37 1.39 -1.52 3.38 1.65 1.52 -0.26 1.25 -1.26 -2.64 -2.12 2.52 0.37 -1.5 -2.15 
+1.86 -1 2.15 2.39 2.25 2.28 -1.75 0.37 2.52 2.14 -1.25 0.14 -2.52 -1.52 -0.24 1.26 
+1.76 1.39 4.02 1.26 -2.52 0.87 S
+2285.54 1507.68 0.39 2.02 3.02 1.39 -0.76 1.65 -2.02 1.13 -2.26 0.76 -0.37 2.64 2.13 0.5 
+-1 1.89 -3.41 -0.39 2.91 1.91 2.13 1.13 3.15 1.63 2.64 2.14 -1.39 0.76 -2.75 0 
+-2.28 -1.02 -2.26 -1.63 -3.15 -1.76 -2.88 -2.41 -3.41 -1.63 -2.52 -1.39 0.5 -1 -2.63 -0.76 
+-2.14 -0.5 S
+2301.41 1635.05 0.87 -2.65 -3.02 -1.62 1.13 -1.52 3.15 0 2.52 -0.24 0.63 -1.39 -0.87 -2.29 
+-1.26 -2.64 3.39 -0.37 0.63 2.64 2.15 2.13 1.39 2.41 1.26 3.15 1.76 2.88 3.02 2.02 
+-3.28 0.63 -2.76 -0.63 -3.78 -1.26 -3.64 -2.12 -3.28 0.87 S
+2333.86 1629.12 -2.63 -2.25 1.63 -1.52 2.15 -0.23 S
+2335 1625.11 2.63 1 1.52 1.76 -1.12 1.78 -4.17 -0.52 S
+2353 1658.36 -2.52 -2.25 -3.14 -2.15 -2.28 -2.15 -1.63 -3.14 0.63 -2.15 0.13 -3.38 1.13 -1.26 
+-1.63 -3.4 1.63 -0.76 3.78 0.13 -2.26 -2.02 -1.65 -3.91 -4.28 -1.52 3.02 -0.63 -2.25 -2.64 
+-0.76 -2.89 -2.64 -2.14 -2 -1.89 -2.64 -0.13 -3.28 -0.24 -2.76 0.24 -1.89 -3.14 -3.14 0.5 
+-1.39 2.28 -0.5 3.02 -2.15 -0.76 -1.13 0.76 -2.78 -0.76 -1.87 -2.38 1.5 -2.65 2.26 -0.37 
+0.75 -2.15 -0.24 -2.65 0.24 -2.13 -0.37 -2.28 -2.39 -1.52 -0.63 -2.63 0.13 -2.02 0.5 -2.28 
+-0.76 -1.52 0 -2.52 0.63 -2.25 1.13 -1.89 2.15 1.63 S
+2317.64 1592.34 0.5 2.52 0.87 3.04 0.76 2.52 1.64 2.26 0.37 -2.88 -0.37 -2.78 -0.13 -3.02 
+2 -2.02 3.78 2.25 1.02 2.78 2.52 2.15 0.76 2.25 0.61 3.28 1.89 2.78 3.91 2.02 
+-0.37 -4.3 -2.39 -3.02 0 -3.02 3.14 1.49 2.63 -0.99 2.39 1.25 4.03 1.39 0.63 2.39 
+0.26 2.52 0.37 2.78 0.87 2.78 -1.87 2.13 0.63 3.28 2.89 1.78 2.38 -1.15 1 2.91 
+2.78 0.87 2.02 2.78 0.5 2.91 2.02 3.78 0.49 2.14 -0.89 2.26 3.02 1.52 1.76 1.26 
+-1.37 1.63 0.49 1.88 0 1.52 -2.88 0.63 -0.62 1.52 -2.52 0.63 3.39 0.63 2.64 2.02 
+3.02 0.63 1.39 1.13 S
+2369.59 1651.43 -1.02 1.39 -2.76 1 -3.15 0.76 -3.41 -1.02 -2.75 -0.74 -2.52 -1.26 S
+2354 1651.56 1.75 2 2.78 1.02 2.63 0.89 2.91 0.24 2.13 -0.13 2.28 -1.39 -0.26 1.91 
+-0.5 1.89 -2.02 0.87 -3.02 0.75 -2.88 -0.12 -2.91 -0.13 -3.88 -1 S
+2369.73 1649.79 -2.28 -0.37 -2.75 -1.39 -0.13 -2.02 1.5 -0.86 0.26 -2.28 2.02 0.5 2.38 1.52 
+0.63 1.76 -0.5 1.88 -1.13 1.26 S
+2374.37 1671.59 -1.26 -1.78 -0.86 -2.02 3.52 0.63 2.38 1.26 0 1.39 -3.77 0.52 S
+2388.34 1672.85 -2.41 -0.13 -3.02 -1.65 0.63 -2.02 -1.63 -1.5 -2.78 -0.89 -2.88 -0.13 -3.39 -0.87 
+-1.15 -2.78 -0.11 -2.26 0.11 -2.15 S
+2371.72 1658.48 0.52 -2.14 2.63 -0.63 -1.13 -2.26 1.89 -1.65 2.89 0.26 2.52 0.76 1.02 2.52 
+-0.63 1.63 0.13 2.15 -2.15 1.63 0.37 2.52 1.65 2.02 1.39 -0.37 1.24 1.52 1.78 0.86 
+-0.13 1.89 1.89 1.65 0.75 2.02 S
+2408.72 1673.85 -1.89 -1.13 -2.78 -0.89 -2.38 0.13 -3.02 -0.63 -2.39 -1.65 0.13 -2.52 2.63 -0.63 
+3.28 -0.11 2.02 -0.89 2.52 0.5 0.5 1.65 3.02 0.11 1.52 0.89 0.37 1.76 2.02 1.15 
+3.15 0.74 -0.13 1.15 -3.02 -0.13 -2.38 0.76 -3.15 -0.26 S
+2419.16 1671.59 -3.52 -0.89 -2.02 -1.52 0.24 -2.13 1.26 -1.25 0.63 -2.02 1.52 -1.88 -2.38 0.87 
+-1.76 1.89 -1.78 0.52 S
+2411.35 1665.17 0.89 1.89 -3.91 0 -0.87 -1.52 -3.02 -0.63 -2.52 -1.02 -1.02 1.02 -4.27 0.63 
+-1.26 -2.28 -1.13 2.28 -2.78 -0.63 -0.87 -1.26 -1 1 -2.28 1.02 -2.76 -0.5 -0.39 -2.02 
+0.13 -3.04 1.52 -0.86 -0.26 -1.52 1.52 -0.89 -1.89 -1.25 2.39 -1.5 3.14 -0.39 2.13 2.41 
+2.78 -0.89 2.02 1 1.5 -1.76 3.51 0.39 3.15 1.13 3.64 0.38 2.41 -1.39 3.64 0 
+2.88 0.13 3.28 -0.37 3.89 -0.26 1.52 0.63 2.52 -0.24 2.02 0 1.26 0.63 0 1.26 
+0.87 1.37 -0.37 1.78 0.26 1.63 -0.89 1.39 -1.13 0.89 -0.13 1.39 -1.63 1.89 -2.65 0.63 
+-2.02 1.13 -1.5 0.76 S
+2423.7 1669.57 -1.39 -0.26 -0.26 1.52 -2.89 0.76 S
+2408.46 1677.5 -1.25 -1.63 3.02 1.13 -1.76 0.5 S
+2405.08 1683.29 -1.52 -0.37 -1.63 -1.52 -1.89 0.76 -1.76 -0.76 -1.39 -1.89 -0.25 -1.26 -3.02 -1 
+1.13 -1.12 0.13 -1.52 0.13 -1.39 2.02 -0.13 1.76 0.5 2.63 2.28 -2.89 -0.13 -2.76 0.26 
+0.5 1 2.39 0.5 2.75 0.13 2.52 1.39 0.26 1.39 1.52 0.99 0.37 1.26 -1 0.63 S
+2392.86 1674.21 -1.5 -1.99 -0.89 -2.15 1.63 -0.62 1.52 0.37 0.26 2.52 -1.02 1.88 S
+2394.38 1682.92 -3.41 -0.37 -1.13 -1.39 2.64 0.63 2.13 0.13 -0.24 1 S
+2386.7 1682.16 -3.02 -0.87 -2.39 -0.39 -3.02 -1.39 1.13 -1.62 S
+2379.41 1677.89 -4.04 -1.39 -0.37 -2.78 3.52 -0.13 2.91 0.52 2.63 0.24 2.15 1.89 0.5 1.88 
+-1.88 0.63 -2.76 -0.11 2.76 1.26 2.02 1.13 -0.13 1.13 S
+2376.63 1681.54 -0.24 -1.39 2.52 0.89 -2.28 0.5 S
+2361.04 1678.12 -2.14 -0.99 -2.65 -0.76 -0.24 -1.63 -3.02 -1.78 -3.54 -2 2.28 -1.28 1 -1.89 
+4.04 0.52 3.88 1.26 1.26 2.13 3.14 -0.87 3.52 1.39 -1.37 1.13 0.73 1.89 -1 1.26 
+-2.25 0 -3.41 -1.65 0.63 2.14 -0.87 1.13 S
+2401.54 1690.47 -0.5 -1.63 -1.39 -0.89 -0.37 -1.39 1 -0.74 2.15 1.63 0.37 2.15 -1.26 0.87 S
+2400.29 1692.36 -1.89 -0.5 0 -0.76 2.28 -0.11 -0.39 1.36 S
+2398.16 1690.61 -2.39 0 -1.39 -1.52 1 -1.62 3.02 -0.37 0.39 0.99 -0.5 1.26 -0.13 1.26 S
+2387.59 1698.68 -1.39 -1.02 1.52 -0.76 2.26 -0.63 -0.76 1.52 -1.62 0.89 S
+2395.64 1702.82 -3.28 -0.5 -0.62 -1.39 -1.63 -1.26 1.25 -1.63 1.76 -0.89 -2.26 -1.39 1.87 -1.75 
+2.65 0.13 1.02 -1.26 2.39 1 -1.26 1.13 1.26 1.64 -0.39 1.39 -0.87 1.5 -1.52 1.52 
+-0.36 1.76 S
+2384.18 1697.03 -1.76 -1.63 -1.75 -1.15 1.13 -1.37 -2.75 -1.02 -0.52 1.65 -1.89 -0.52 -1.26 -1.49 
+0.13 -1.39 1.39 -1.26 0.76 -1.52 -1.26 -2.52 0.13 -1.52 2.89 -0.11 2.65 -0.39 1.5 1.52 
+2.78 1.75 3.38 0.5 -1.13 1.02 S
+2388.58 1687.59 -1.89 0.87 -1.5 -0.87 -1.65 0.24 -2.52 -0.63 1.39 2.28 2.64 0.5 2.13 0.76 
+2.52 1.63 1.15 1.39 -1.78 1.02 -2.52 1.25 -2.39 1 S
+2361.29 1701.2 -2.64 -1.78 -2 0.63 -2.64 -1.36 -1.89 -2.52 -0.89 -2.28 -2.89 -2.14 -0.76 2.14 
+1.16 2.39 0.73 2.02 -4.41 -0.37 -2.76 -2.15 -1.12 -2.38 -5.04 -1.26 -0.5 -2.41 -0.26 -2.88 
+0.89 -2.65 0.5 -2.14 1.76 -1.63 -2.65 -1.76 -2.39 -2.52 0.63 -2.02 1.75 -1.39 2.65 1.13 
+0.37 -1.76 3.14 0.24 1.52 2.91 2.26 2.52 2.91 1.76 3.88 0.13 3.91 1.25 3.02 0.64 
+2.88 -0.87 2.41 -0.52 2.13 1.25 0.37 2.15 -3.02 0.89 S
+2364.3 1684.44 -3.26 0.74 3.02 2.28 -0.39 1.76 2.28 1.39 -1.65 1.88 4.16 0.5 0.74 1.52 
+-1.26 1.39 -0.23 1.76 -0.89 1.52 -1.88 0.13 -1 1.37 -2.65 0.52 S
+2370.72 1709.63 -4.14 -1.52 -4.66 -0.63 0.25 -2.15 -0.63 -1.76 2.39 -1.62 4.01 -1.02 1.02 -2.15 
+0.76 -2 1 -2.02 3.28 1.75 3.52 1 1.39 2.28 3.15 1.89 -0.26 2.14 0.5 2.26 
+-4.27 -0.14 -3.02 0.89 -2.25 1.52 -2.02 1.25 S
+2551 1807.88 -2.75 2.78 S
+2520.42 1821.75 -2.13 0.89 -2.39 0 2.52 -0.89 2 0 S
+2467.34 1827.67 -2.64 0.37 1.52 0.76 S
+2459.29 1828.17 -3.52 -0.5 2.65 -0.39 0.87 0.89 S
+2447.22 1825.91 -2.78 -0.52 S
+2444.45 1825.39 -0.63 -0.87 S
+2416.02 1819.36 -3.78 -2.28 -1.39 -0.76 0.63 -0.87 2.52 0.87 2.02 3.04 S
+2409.09 1815.95 -3.15 -1.39 -2.64 -1.26 0.89 -0.89 3.91 0.89 -0.89 1 1.89 1.65 S
+2446.83 1784.07 -0.5 1.26 -3.52 -0.73 -4.04 0.63 -3.27 -1.52 3.77 0.37 2.91 -0.62 4.64 0.63 S
+2423.57 1793.64 -3.02 0.39 -3.04 -0.39 -2.38 -1.13 0.63 -0.87 2.52 0.37 2.65 0.76 2.64 0.87 S
+2361.79 1785.72 -5.14 -0.26 -1.65 -1.76 0.13 -1.39 -2.39 -2.02 2.39 -0.24 2.39 0.74 -2.39 -2.25 
+2.64 0.13 1.39 2.13 1.13 2.02 1.5 2.91 S
+2271.33 1736.83 -4.02 -0.24 -2.91 -1.52 -3.88 -0.87 -3.78 -1.52 -4.78 -2.78 4.15 1.25 S
+2256.12 1731.16 2.76 1.65 1.78 -0.39 4.14 1.15 2.39 -0.89 1.63 1.89 2.52 2.26 S
+2236.87 1720.21 -4.66 -2.39 -3.13 -2.52 -3.04 -2.65 -1.5 0 -2.39 -2.28 -2.52 -1.75 -0.89 -1.76 
+-1.75 -0.37 -3.02 -3.17 -2.26 -2.26 0.24 -1.52 3.78 2.52 4.14 3.15 3.91 2.64 4.4 2.41 
+2.65 2.76 2.88 3.28 3.28 2.78 -0.13 1.13 S
+2401.54 1652.43 -1.25 -1.89 1.13 -1.12 -1.87 -1.13 -0.52 -2.02 -1.5 1.13 -2.15 0.5 -0.76 -1.5 
+-0.24 -1.89 -1.89 0.11 -0.75 -1.76 0.13 -2.39 2.26 -0.5 1.76 -1.65 1.39 -1.52 -0.37 -2.62 
+0.76 -2.02 -1.89 -1.26 -1.02 -1.88 -1.39 -2.65 -2.5 -1.89 -1.15 -2.28 -1.88 -1.75 S
+2387.83 1620.45 -3.26 -1.89 -1.52 -2.02 -2.88 -1.52 -0.63 -1.49 1.76 -1.29 2.39 0.63 -1.89 -2.88 
+0.89 -1.89 -1.76 -2.39 -1.02 2.89 -1.89 1.52 -3.14 -1.89 -3.15 -2.02 0 -2.78 3.02 -1 
+3.54 0.87 -1.89 -2.89 -3.64 -2.91 -2.65 1.65 -3.02 -0.76 -3.28 -2.15 -2.76 -2.26 -1.89 -2.52 
+-2.28 -2.15 -0.24 -3.4 -1.76 -3.02 -2.52 -2.65 -0.13 -2.25 -1.52 -2.02 -1.26 -4.54 -0.87 -1.78 
+-1.02 -3.38 -0.87 -2.91 0 -4.04 2.76 -2 1.52 -2.02 -0.13 -2.65 1.89 -3.14 2.25 0.11 
+2.78 1.91 1.89 2.39 2.39 2.15 2.89 1.75 1.25 3.64 3.28 0.63 3.52 1.65 2.28 2.12 
+1.75 2.29 1.13 3.77 S
+2378.14 1571.94 1.76 -1.39 2.15 1.65 3.14 -0.26 3.26 -1.39 3.9 0.5 3.02 0.76 2.78 1.02 
+2.25 1.63 2.15 1.63 3.02 1.52 2.39 0.63 2.76 -0.87 3.28 0.37 3.01 0 3.28 0.5 
+2.65 0.63 2.76 1.13 2.91 1.15 2.13 1.39 -2.38 1 -2.02 1.89 -3.02 -0.63 0.63 1.25 
+2.64 0.63 0.76 2.64 2.26 0.26 -0.37 -1.78 -0.39 -2.12 S
+2428.84 1585.68 1.39 -1.26 2.65 -0.13 1.26 2.39 0.73 2.02 -0.62 2.39 -1.24 2.14 -0.89 2.02 
+1.76 -1.52 2.02 -1.62 1.13 1.5 0.63 2.52 -1.52 1.15 1.89 0.63 1.39 0.5 2.28 -0.13 
+0.63 1.76 -1.65 1.25 4.28 0.39 1.52 1.89 -2.02 0.37 S
+2444.45 1603.93 2.02 2.41 1 2.38 0.13 2.65 -2.02 1 1.02 1.64 2 0.88 2.28 -1.37 
+1 1.49 0 2.65 -0.37 1.75 1.62 2.28 0.38 2.02 1.78 1.25 1.26 1.76 1.89 1.89 
+2.26 1.89 2.02 1.39 3.52 2.28 -1 1.89 -2.78 1.13 -2.25 -1.26 -1.02 0.76 -1.63 -0.89 
+-2.25 -0.75 -2.64 -0.13 2.25 1.78 2.15 0.74 0.99 0.63 0.39 1.39 -1.89 0.25 -0.64 -1.25 
+-1.64 0 1.02 1.75 -3.67 1.26 1.78 0.39 2.13 -0.89 3.02 -0.26 2.39 0.63 -0.74 1.65 
+-1.39 1 0 1.39 -0.89 1.89 -2.62 1.13 -2.52 1.52 -3.02 0.13 -3.67 0.63 -3.25 -0.37 
+-2.39 -1.28 -1.65 1.65 S
+2438.78 1650.67 -2.88 -1.39 -0.13 2.65 -3.91 1.63 -3.25 0.52 -1.52 -1.39 -1.89 -0.49 -0.76 1.25 
+-2.12 0 -3.15 0.11 -3.28 -0.5 1.39 -1.89 -1.63 -1.26 -3.91 -0.75 -2.78 1.89 -2.52 0.52 
+-2 1.26 -2.91 -0.39 S
+2417.01 1560.59 1.65 -0.87 2.26 0.37 1.39 -1.13 -2.52 -1.39 -3.51 -0.99 3.51 -0.76 0.5 -2.91 
+-2.78 -1.76 4.54 -0.89 2.14 -1.89 3.02 -1.37 3.28 1.26 2.52 0 2.89 1.37 3.78 0.76 
+2.76 2.28 0.75 3.02 -2.25 1.65 0.63 3.02 -2.38 -0.13 -1.02 1.52 -1.89 -1.39 -2.02 -0.63 
+-1.37 1.13 -2.52 0 -1.52 -1 -0.87 1.5 -1.15 -2.52 -2.89 -0.24 0.89 2.88 -1.13 2.15 S
+2423.7 1563.63 -1.65 0.87 -0.5 -1.26 -1.52 0.26 -0.87 -1.63 -2.15 -1.28 S
+2459.29 1581.9 2.25 1.5 S
+2447.85 1607.07 -0.76 -1.89 1.5 0 -0.74 1.89 S
+2531.25 1191 -0.5 -2.91 -2.78 -1.88 1.39 -2.75 1 -2.78 2.02 -2.26 1.89 -2.64 2.89 -1.79 
+1.88 -1.75 2.02 -1.76 1.88 -1.76 1.39 -2.28 2.02 -2.26 1.37 -2.15 0.13 -2.39 0.89 -1.25 
+0.5 -2.41 1.39 -1.75 1.5 -2.65 0.39 -2.78 1.5 -2.26 0.89 -2.65 -2.39 -2.91 1 -1.37 
+0.89 -2.65 1.37 -2.28 1.39 -1.76 0.5 -3.15 -0.62 -3.27 -0.87 -2.29 -1.52 -2.38 -2.39 -1.52 
+-1.89 -2.26 -1.13 -3.28 -0.99 -3.28 -1.02 -2.78 -0.5 -2.62 -1.52 -2.78 S
+2545.21 1103.32 -0.11 -2.78 -0.5 -2.65 -0.13 -2.25 0.37 -2.78 1.39 -3.02 1.76 -1.78 1.39 -2.13 
+1.26 -2.65 1.76 -2.64 0.89 -3.02 1.63 -2.15 0.87 -2.28 2.15 -2.13 0.89 -2.15 -0.63 -2.25 
+0.24 -3.04 -0.13 -2.64 0.26 -2.26 1.13 -3.02 -0.13 -2.64 0.39 -2.15 0.63 -2.64 0.63 -3.02 
+0.24 -2.65 1.76 -1.65 1.15 -2.12 2.52 -1.65 1.5 -2.12 0.63 -3.04 1.13 -2.13 0.5 -2.91 
+1.15 -2.14 1.5 -2.13 1.39 -2.91 0 -3.01 -1.39 -1.39 -1.39 0 1.78 -3.02 0.63 -2.02 
+-0.26 -2.14 1.76 0.89 2.02 -1.65 1.75 -1.63 3.15 0.13 1.89 1.26 3.02 0.63 3.41 0.13 
+2 1.26 3.02 0.63 S
+2596.03 1009.85 3.04 -0.39 2.26 1.02 2.78 -0.76 2.5 -0.39 1.88 1.39 3.54 0.26 1.5 1.39 
+3.02 0.13 2.64 0.5 2.39 1.89 3.41 1.89 2.39 1.39 2.02 1.88 S
+2629.38 1020.05 2.63 2.39 2.02 1.89 2.52 1.89 2.65 2.28 1.75 2.39 1.76 2.78 2.14 2.38 
+1.76 2.28 2.88 2.13 2.39 1.52 1.39 2.78 1.39 3.25 1.39 2.78 0.37 2.28 0.37 1.89 
+-1.76 0.76 2.39 3.28 2.78 1.26 1.89 0.99 3.77 1.63 2.76 1.28 2.02 1.5 1.75 2.91 
+-0.11 2.76 0.87 2.41 0.37 3.27 -0.61 2.26 -0.39 3.64 -0.5 3.28 -1.52 1.65 0.76 2.88 
+2.39 2.02 2.02 1.65 2.02 2.65 2.39 1.13 S
+2680.08 1098.16 2.52 3.14 2.02 2.52 2 2.64 2.78 1.39 2.39 1.13 3.64 1 1.89 2.15 
+2.88 2.78 1.89 2.14 2.02 2.76 1.65 2.52 0.63 3.04 -0.76 3.28 0.24 2.89 -0.74 3.28 
+0.63 3.53 0.11 2.39 -0.24 2.89 0.5 3.04 0.13 2.89 -1.75 1.65 -1.89 1.13 -0.76 2.78 
+-1.26 3.28 -0.49 3.78 0 3.38 1.37 3.17 -2.26 2.63 -2.26 2.54 0.87 3.02 0.89 3.14 
+1.26 3.15 1.26 2.64 1.76 3.78 1.63 3.78 -0.11 3.41 2.25 0 2.02 2.91 2.13 2.39 
+1.26 3.28 1.64 2.26 1.63 3.41 2.39 3.02 1.26 2.78 2.02 2.52 2.02 1.89 2 3.02 
+2.02 2.54 2.52 1.63 S
+2729.64 1228.41 2.02 2.52 1.89 2.52 1.5 2.91 1.88 3.14 1.52 2.39 1.75 3.02 1 2.91 
+0.89 3.28 1.39 2.52 1.89 2.65 0.24 3.78 0.5 2.78 0.76 3.41 0.89 2.89 0.37 3.27 S
+2748.13 1272.37 0.89 2.26 0.74 3.04 1.15 3.52 -0.76 3.41 0.76 3.02 -0.26 3.54 -0.62 4.67 
+-3.02 0.11 -1.52 -3.15 -2.63 -1.89 -2.65 -1.88 -2.64 -0.24 -2.26 -1.79 -2.88 -0.87 -2.52 -2.9 
+-2.41 -1.14 -3.02 -0.36 -2.25 -2.15 -2.39 -1.75 -2.64 -0.13 -1.89 1 -2.13 2.02 -2.02 1.65 
+-2.02 1 2.25 2.15 -1.37 2.75 -2.52 1.78 -2.65 2.02 -2.15 2 -3.02 1.78 -2.62 2.39 
+-2.65 0.26 -3.28 0.73 S
+2691.14 1299.2 -1.89 2.65 -1.75 0 -1.75 2.15 -0.89 2.88 -1.26 3.28 -1.76 2.54 -1.75 2.13 
+-3.02 1.89 -2.78 0.76 -2 3.14 -0.89 2.28 -1.26 3.28 -0.26 3.02 -0.37 1.89 -2.15 2.02 
+-0.86 3.28 -1.89 0.63 -2.25 1 -2.02 1.02 -1.88 2.52 -0.89 1.88 -0.13 2.39 -2.13 1.52 
+-1.89 2.64 -1.76 2.13 -1.89 2.54 -1.39 2.25 -2.25 2.39 -1.02 2.28 -1.63 1.63 -0.99 2.28 
+-2.15 1.5 -2.12 2.02 -1.78 2.15 -1 2.25 -1.76 2.02 0.87 1.26 1.39 -2.13 1.89 -2.65 
+1.63 -1.52 1.39 -1.76 2.02 -1.52 2.39 -1.39 1.02 1.26 -0.63 2.28 0.24 3.64 0.5 3.67 
+0.89 -2.78 0 -3.02 S
+2647.25 1370.77 0 -3.04 2.25 0.5 2.28 -1.99 1.76 -2.02 2.38 -2.41 2.26 -2.52 2.14 -1.5 
+2.26 -2.52 1.64 -2.64 1.87 -2.52 2.78 -0.76 2.52 -1.39 2.26 -2.52 2.02 -2.52 1 -2.78 
+0.13 -2.02 1.02 -2.38 S
+2677.82 1335.75 1.26 -3.15 2.13 -1.65 1.26 -1.63 3.41 -0.13 2.63 -1.89 1.89 -2.52 1.88 -2.65 
+1.89 -2.52 1.89 -2.14 1.89 -1 2.39 -2.41 1.88 -2.64 0.89 -2.39 0.13 -2.52 1 -2.78 
+1.63 -3.28 1.52 -3.14 1.13 -1.26 0.14 -3.02 2.25 -2.52 2.28 0.13 4.77 2.26 2.26 1.75 
+0.89 2.28 2.02 0.63 2.5 0.26 2.41 1.13 1.37 2.02 1.52 2.64 2.52 0.74 S
+2733.42 1304.36 2.12 1.78 1.15 3.02 2 2.26 2.52 2.02 2.15 1.78 2.13 1.76 2.14 1.89 
+2.13 1.76 -0.5 2.02 0.26 2.28 1.89 2.39 2.02 1.89 1.89 2.39 2.13 1.39 2.02 0.26 
+1.5 2.26 -0.11 3.28 1.99 1.88 1.65 1.26 0.87 1.52 -0.24 3.28 0.99 2.13 1.63 1.28 
+1.52 1.89 -1.52 2.13 -0.74 3.15 0.24 3.03 1.76 0.76 0.26 2.89 0.37 2.52 0.76 2.28 
+0 3.38 -0.13 3.54 -2.25 0.63 -2.39 1.76 -2.02 1.89 -2.88 -0.13 -2.28 -0.5 -2.63 0.5 
+-2.65 1.02 -2.64 1.63 -1.37 3.41 -1.15 2.91 -0.37 1.63 -1.25 0 0.13 -2.26 -1.12 -2.28 
+-1.26 -5.03 S
+2744.12 1380.84 -1.39 -2.91 -0.12 -2.89 -1.63 -1.26 -2.78 -0.63 -2.13 -0.89 -0.89 -2.02 -2.76 -0.63 
+-1.26 1.26 -1.78 -0.74 0.39 3.52 -0.76 3.02 -1.39 2.78 -1.89 1.39 -0.87 -0.89 0.63 -2.52 
+-0.63 -3.02 -1.26 1.25 -2.28 1.76 -0.62 2.52 S
+2720.71 1379.95 -1.63 2.14 -2.39 1.26 -2.78 1.63 -2.75 1.65 -1.89 2.02 -2.25 2.52 -1.79 2.52 
+-2.12 0.26 2.12 1.89 -1.99 2.02 2.13 0.74 0.26 3.41 1.89 -0.76 1.99 -0.87 1.39 1.63 
+2.15 -1.39 2.76 -2.64 2.91 -2.13 1.89 -2.65 2 -1.88 3.28 0.24 2.25 -0.74 2.78 -1.65 
+2.26 0.5 2.14 -1.39 1.89 1.39 2.39 -0.63 1.76 2.52 1.39 1.78 S
+2742.73 1393.32 1.63 2 2.15 0.89 2.13 -1.25 1.39 -2.26 1.89 -2.54 3.02 0.89 2.52 0.63 
+2.88 0.26 2.28 0.5 2.02 0.99 2.49 0.76 1.89 0.5 2.91 0.89 2.13 1.76 1.76 1.52 
+2.28 1.26 0.76 1.76 2.13 0 1.89 0.52 1.63 1.49 1.39 1.52 1.65 1.63 2.13 0.63 
+1.89 -1.37 2.02 -0.65 1.89 -2.13 1.49 -2.15 2.28 0.13 2.26 -0.5 2.52 -1.65 2.78 -0.76 
+2.25 1.39 1.63 2.52 0.89 -3.39 -1.39 -2.28 -2.26 -1.52 2.26 -2.38 2.25 -1.14 2.65 -1.52 
+2.65 -0.24 2.25 1.39 1.39 2.25 0.63 3.15 -1.26 3.64 -0.63 3.04 1.13 0.13 1.13 -3.28 
+1.52 -2.28 2.02 -1.89 S
+2825.89 1396.2 1.36 -3.77 1.02 -3.28 2.02 -2.65 1.26 -1.13 0.24 -2.52 2.14 -3.14 2.13 -3.28 
+1.65 -2.91 1.76 -3.38 1.63 -2.28 2.15 -2.52 2.52 -2.28 2.52 -2.26 1.5 -3.02 1.75 -2.78 
+1.76 -2.91 1.89 -3.28 1.89 -2 2.28 -1.89 1.88 -2.15 1.63 -2.78 S
+2862.87 1340.02 1.76 -2.88 1.75 -3.41 1.89 -3.54 2.02 -1.89 2.02 -1.39 2.02 -0.11 1.25 2.75 
+-0.52 4.43 1.15 2.75 1.5 1.65 -1 3.28 0.24 4.14 1.88 1.39 -1.26 3.91 -1.26 2.52 
+-1.12 3.28 0 3.54 -0.24 4.02 -1.15 4.03 -1.62 3.54 -1.89 3.64 -1.75 3.41 -0.76 3.02 
+-0.24 3.41 2.25 1.13 -0.5 3.14 0.87 1.52 S
+2870.16 1391.3 1.52 1.88 0.24 2.39 -1 2.91 0.37 1.88 0.63 2.89 -0.11 3.54 0.37 2.64 
+0.89 2.39 0.24 3.41 -0.24 3.64 -0.26 2.91 0.13 3.38 1 1.89 1.02 2.65 -0.39 3.67 
+-0.76 3.38 -1.37 1.89 -0.76 2.65 0.88 2.64 0.63 2.39 -0.74 2.64 2.52 -3.14 0.87 1.89 
+1.13 2.28 1.02 2.13 1.13 2.28 -0.5 3.28 0 6.42 2.52 -1.39 2 -2.02 1.89 -2.25 
+2.02 -2.02 2.39 -1.39 2.78 -1.26 1.89 -1.13 0.87 1.13 2.15 -1.76 0.5 -2.28 2.26 -1.75 
+0.89 1.25 2.26 -2.78 2.65 -3.14 2.25 -3.52 1.65 -4.54 1.25 -3.91 2.26 0.11 1.13 0.65 
+1.13 1.5 S
+2915.32 1433.62 -0.24 3.41 0.24 3.28 0.39 3.52 -0.89 2.91 1.52 0.13 2.39 -1.65 2.26 -2.65 
+2.02 -3.14 2.26 -3.64 2.15 -2.78 2.52 -3.41 2.75 -2.88 2.52 -3.54 1.15 -5.04 2.39 -2.65 
+1.26 -3.02 0.37 -3.28 1.52 -3.64 1.76 -4.3 1 -5.28 1.39 -3.67 1.76 -2.52 0.25 2.15 S
+2948.04 1391.93 2.26 -1.65 2.38 -2.52 1.89 -1.26 1.89 -1.39 1.13 -1.39 1.13 -2.12 1.02 -3.15 
+1.75 -4.29 1.63 -1.76 0.89 -4.17 2.26 -2.75 2.14 -1.89 1.39 -3.66 2.26 -0.87 1.75 -1.52 
+2.02 -0.25 1.76 -0.63 1.52 -0.87 2.26 2.65 -1.76 4.14 -2.28 3.67 -1.76 1.49 -2.52 8.08 
+-1.25 4.01 S
+2971.81 1379.82 -1.26 4.04 -2.26 2.64 -2.02 1.02 -2.13 1 -2.02 1.13 -2.15 1.89 -1.89 -1.39 
+-1.63 0.65 -2.02 3.77 -2 3.15 -1.88 1.25 -2.15 4.67 -1.26 -2.41 -1.89 3.04 -1.75 4.27 
+-1.39 4.79 -0.37 3.39 -1.26 4.29 -0.89 3.52 -2.25 4.8 -1.76 4.54 0.37 2.75 1.88 0.76 
+2.02 -4.14 1.49 1.39 1.02 1.63 2.52 -1.39 1.37 0.13 1.65 -1.39 1.89 -2.39 2.02 -2.02 
+2.26 -0.89 1.26 2.41 1.75 -1.52 1.76 0.76 1.25 -4.41 1.76 -3.78 1.76 -2.54 -0.11 4.29 
+-0.13 4.14 0.76 2.78 -0.62 4.54 -2.15 4.54 1.26 2.39 0 3.66 -0.13 3.78 -0.11 3.64 
+0 4.04 -1.02 3.27 S
+2961.37 1460.33 -1.62 3.15 -2.52 5.3 -1.76 3.02 -2.02 3.64 -2.25 3.28 -2.41 2.78 -2.76 3.41 
+-2.52 1 -2.39 1.39 -2.14 0.5 -2.62 0.63 -2.41 1.39 -2.52 1.02 -1.63 1.76 -2.12 0.5 
+-3.14 2.39 -2.02 4.04 -1.65 3.41 -0.74 4.41 -1.65 3.78 -0.99 3.91 -0.63 3.78 -0.63 3.41 
+-0.26 3.4 0.63 2.26 S
+2916.58 1527.84 1.65 0.26 0.38 1.5 2.02 -3.02 1.39 -1.12 2.26 -1.89 0.37 1.52 -0.63 2.25 
+-2.38 1.52 -1.5 2.89 -0.39 3.41 0.13 3.15 -0.87 3.91 0 2.88 -0.63 3.54 -2.65 3.41 
+2.13 0 -2.63 3.91 2.52 -0.13 -2.14 4.14 0.13 2.54 -0.26 2.89 -0.24 3.01 -1.39 4.04 S
+2913.82 1572.44 -1.89 4.54 -1.39 3.54 -2.02 4.02 -1.49 3.17 -1.89 1.89 -0.13 2.52 -2.52 3.28 
+-1.63 3.02 -2.14 3.14 -2.65 3.54 -2.13 2.25 -2.52 1.76 0.37 1.26 -2.25 3.41 -2.88 3.41 
+-2.65 3.4 -2.39 3.02 -0.26 1.75 -1.76 2.02 -1.52 0.75 -3.39 3.28 -0.26 1.26 -3.77 3.14 
+-1.76 1.52 0 -1.65 -0.73 -1 0.99 -3.28 -0.76 -0.89 -0.99 2.91 -1.89 2.38 -1.39 2.39 
+-1 2.52 -2.02 1.02 -2.15 -1.02 -0.63 2.78 -2.52 1.02 -1.63 -0.65 -0.76 -0.87 -2.62 1.26 
+-2.52 1 -2.52 0.89 -3.14 1.25 -1.02 -1.75 -1 -1.65 -3.02 2.78 -2.39 2.52 -2.78 3.54 
+-2.25 3.28 -2.91 2.12 S
+2827.25 1658.22 -1.99 3.67 -2.28 3.14 0.63 1 -3.64 2.78 0.13 -1.89 0.63 -2.28 0 -1.62 
+-1.26 -0.63 1.76 -2.78 2.02 -2.38 2.02 -2.02 0.37 -1.89 -1.13 -0.89 -2.78 1.13 -1.13 -1.26 
+-1.26 -0.87 -1.88 -0.39 -2.26 1.64 -2.52 2.52 0.76 1.25 -1.26 2.78 -1.88 1.89 -2.39 1.89 
+-2.28 2.88 -1.76 2.65 -3.25 3.04 -2.91 2.76 S
+2797.7 1674.35 -0.37 2.64 2.26 0.13 3.41 -2.65 2.25 -2.52 1.89 -1.52 1.76 0.39 3.51 -3.54 
+-1.12 2.02 -2.39 3.02 -2.76 2.52 -2.02 3.04 -2.02 2.64 -1.5 2.75 0.11 2.15 -0.24 1.65 
+0.5 0.99 3.91 -2.52 3.14 -2.02 3.26 -2.39 1.76 1.39 -2 3.65 S
+2811.04 1686.2 1.26 1.39 2.52 -0.5 1.63 -3.04 3.38 -0.24 3.41 -0.76 3.77 -3.41 3.39 -1.63 
+2.91 -0.52 -3.54 4.04 -2.26 3.4 -2.25 3.91 -3.15 3.64 -3.4 2.52 -3.02 1.78 -3.52 1.37 
+-3.14 1.02 -3.02 0.63 -2.15 -0.39 -1.49 -0.63 -2.28 0 -1.26 -1.13 -0.63 -1.5 -2.63 1.63 
+-1.25 -0.13 -1.76 2.39 -2.02 2.28 -2.91 2.78 -3.51 3.02 -2.13 2.15 -3.54 1.13 -1.39 0.13 
+-4.77 3.15 -2.65 2.78 -2.63 1.26 -1.02 1.36 -3.64 2.15 -2.39 1.39 -1.63 2.39 2.13 -0.5 
+-0.5 2.78 -3.02 3.02 -4.14 2.78 -3.78 3.02 -4.91 2.64 -3.41 1.13 -4.91 2.91 -5.27 2.75 
+-4.8 2.41 -4.14 1.76 S
+2721.59 1750.7 -3.78 1.52 -4.64 1 -4.41 1.89 -5.03 1.89 -5.54 2.28 -3.64 0.5 -3.28 0.37 
+-3.52 -0.11 -2.78 -0.39 -3.41 0.13 -3.39 0.5 -3.64 0.76 -2.89 0.63 -0.63 -0.89 -2.52 -0.37 
+-3.28 0.5 0.37 -1.89 0.13 -1.52 -1.13 -0.37 1 -2.02 2.14 -1.89 4.91 -1.39 3.78 -2.52 
+-3.02 0.89 -2.65 -0.26 2.26 -1.63 3.77 -1.02 -2.52 -0.13 -2.63 -0.11 S
+2671.66 1747.05 2.63 -2.15 0.89 -1.89 -1.39 -0.26 -3.64 1.89 -4.41 1.65 -3.91 1.63 -4.41 1.52 
+-4.77 1 -3.39 1.02 -3.91 1.25 -3.14 1.13 -2.89 0.5 -3.28 0.52 -3.4 1.13 -2.76 0.37 
+-3.41 1.02 -3.52 2.02 -3.02 2.13 -2.89 1.89 S
+2617.05 1763.41 -0.26 1.02 -3.14 0.63 -2.12 2.25 -2.91 1.26 -1.89 1.39 -1.12 -0.13 -1.5 -0.37 
+-2.02 0.76 -1.52 1.63 -1.89 1.39 -2.13 0.63 -0.13 1.26 3.28 -0.5 0.24 1 -2.38 1.26 
+-4.15 1.15 -2.28 0.37 -2.12 1.39 -4.78 1.63 0.24 -1.13 2.15 -1.25 -3.28 -0.76 -3.52 -0.37 
+-4.03 0.24 -3.78 -0.24 -3.64 -0.39 -4.14 0.89 -3.65 0.89 -1.89 1.26 -3.54 0.5 3.77 1.26 
+0.76 1.13 0.13 1.25 -4.28 0 -3.52 -0.24 -3.28 -0.39 -2.78 0.39 -1.13 -1.25 -2.38 -1.15 
+-4.78 0.63 -0.75 0.76 3.14 0.25 1.89 1.52 2.26 1.75 1.89 0.76 3.78 -0.39 3.64 0 
+2.38 0.63 4.04 0.39 S
+2559.94 1788.37 4.77 0.24 3.02 0.63 4.28 0.13 4.67 0.13 4.01 -0.5 2.78 -1.16 0.5 1.16 
+3.15 0.5 3.39 -0.76 6.29 1.52 2.91 1.26 1.37 1.13 1.39 1.39 1.02 1.25 1.75 1.63 
+2.13 1.52 0.89 1.89 1.76 1.25 1.76 0.89 0.63 1.13 -4.77 0.76 -4.77 0.24 -4.8 -0.37 
+-3.14 -1 -4.28 0.24 -3.64 1.39 -1.12 -1.12 -2.26 -1.13 -3.66 -0.13 -4.14 0.87 S
+2575.79 1803.34 -2.13 1.02 -2.78 -0.12 0.5 -1.76 -1.26 -1.52 -2.88 -0.63 -2.89 0.13 -1.15 1.39 
+-2.39 0 -0.74 -1.65 1.37 -1.13 -1.26 -1.13 -3.52 -0.62 1.76 -1.52 2.78 -0.13 -0.63 -1.5 
+-3.02 -0.62 -3.77 -0.63 S
+2553.78 1792.91 -2.28 -1.02 -1.89 -1.13 -3.89 0.37 -1.88 1.15 -3.28 -0.52 -3.91 0.26 1.39 1.89 
+-3.78 -0.75 -3.28 -0.24 -3.52 0 -3.64 0.99 -2.26 1.39 -1.52 1.39 -2.38 -1.52 -3.91 -0.37 
+-3.89 -0.75 -3.53 -0.76 -3.39 -0.89 -3.14 -0.11 -3.28 -0.89 -3.91 -0.37 -3.02 -0.89 -4.64 0.26 
+-3.28 0.99 -2.64 -1.52 1.52 -1.26 1.5 -2.02 0.89 -1.89 0.89 -1.25 3.02 -0.13 -0.26 -1.5 
+-4.14 0.37 -3.28 -0.87 -1.52 -0.52 S
+2477.65 1780.79 -1.13 -0.5 -1.37 -1.89 2.26 -1.26 -3.02 -1.26 -0.63 1.52 -1.26 1.63 -2.91 0.25 
+-2.25 -0.75 -3.52 0.37 -0.89 1.65 -2.88 0.76 -4.15 0.87 -3.77 0.39 -0.39 -1.78 S
+2451.73 1780.79 -1.62 -1.36 0.63 -1.91 -3.64 -0.5 -1.26 -1.39 -2.02 -1.37 3.91 -1.02 3.25 -1.26 
+4.92 -0.13 4.28 0.39 1.89 -1.52 2.75 -1.13 3.52 -1.13 3.91 -0.89 2.78 -1.26 2.63 -1.26 S
+2477.65 1765.06 0.76 -0.39 3.02 -1 3.54 -0.76 3.25 -1.12 4.17 -0.26 3.52 -0.63 3.52 -0.76 
+3.77 -0.74 0.76 2.26 -0.5 1.75 2.02 0.76 2.52 0 0.11 -1.39 2.52 -1.13 -0.36 -1.26 
+-2.52 0.37 -1 -0.87 2.76 -1.13 2.15 1 2.26 0.63 3.28 -1.39 4.27 -1.25 4.78 -0.89 
+4.14 -1 2.15 -1.76 -2.52 -1.13 -0.37 -1.78 1.26 -1.5 2.76 -1.26 3.14 -1.39 3.78 -0.76 
+2.38 -0.89 2.78 -0.76 S
+2545.72 1744.64 -1.39 -1 0.88 -1.52 1.89 -0.87 0.26 -1.39 -1.76 -1.76 1.89 -1.65 3.14 -1.62 
+1.76 -2.28 2.12 -1.63 2.02 -1.64 2.38 -2.13 0.89 1.37 2.38 -1.5 2.02 0.13 1.13 1.13 
+1.39 1.5 2.25 -2 3.52 -2.28 0.39 -1.39 1.76 -0.86 2.38 -0.26 0.39 -1.52 -1.16 -1.89 
+2.91 0.26 2.89 0.38 3.02 -0.5 0.26 -1.52 -1.13 -1.88 -2.28 -1.63 -3.38 0.37 -3.54 -0.37 
+-1.37 -2.28 0.87 -2.39 0.63 -2.89 1.89 -2.28 2.25 0.13 1.65 0.99 1.76 -1.62 1.39 -2.64 
+0.13 -2.15 -2.78 -0.12 1.13 -1.76 -0.13 -1.89 1.25 -1.39 1.89 -1.5 -3.38 -1.26 S
+2582.21 1691.62 -2.65 0.63 0.26 -1.64 S
+2579.82 1690.61 1.37 -0.63 1.02 1.65 S
+2582.21 1691.62 2.64 0.38 0.63 -1.26 -0.63 -1.13 -0.63 -1.39 2 -0.89 1.39 0.89 1.76 -1.76 
+1.65 -1.78 0.5 -1.5 -3.15 1.13 -1.63 1.52 -3.41 1.76 -2.89 1.63 -3.64 1.78 -2.91 1.25 
+-3.52 -0.13 -2.52 -0.5 -1.62 -1.39 -0.63 -1.39 0.24 -1.75 0.5 -1.52 1.89 -0.39 0.52 -1.5 
+-3.78 1.13 -0.13 -1.52 0.63 -1.89 -2.91 1.89 -1.76 -2 2.65 -1.65 3.28 -1.63 3.38 -0.26 
+0.26 -2.15 2.25 0.26 1.39 -3.28 -2.26 0.63 1.76 -2.78 0 -1.63 2.13 -1.65 1.02 -2 
+1.39 -2.54 1.99 -2 1.89 -1.65 2.28 -0.63 2.89 -0.13 0 -2.38 0.5 -2.15 S
+2587.61 1653.69 -0.13 -2.39 -0.24 -2.28 3.88 -0.74 3.28 -1.15 1.76 1.39 3.02 -0.13 0.39 -2 
+-3.15 -0.39 -2.26 -0.86 -0.52 -1.28 -2.12 -0.37 1.13 -1.52 2.88 0.75 0.76 -1.12 -2.13 -0.5 
+0.38 -1.52 3.02 -0.5 2.52 1.26 1.89 0 -2.15 -1.65 -2.12 -1.63 -3.14 1.39 -2.26 1.63 
+-3.27 1.02 -2.65 -0.26 0.63 -0.87 2.26 0.5 2.15 -0.89 1.63 -1.52 0.39 -1.63 2.52 -2.26 
+2.52 -0.13 2.89 -0.52 2.15 -1.89 2.75 -1.76 3.78 -1.52 1.89 2.02 0.63 -2.02 2.88 -1.75 
+3.78 -1.26 1.65 -2.64 2 -2.13 0.76 -2.64 0.37 -2.28 -3.64 -0.24 -0.37 3.15 -1.13 2.13 
+-1.76 2.41 -2.41 1.39 S
+2614.65 1624.48 -2 1.89 -3.53 -0.13 -2.89 1.5 -3.28 2.02 S
+2602.95 1629.75 -6.03 3.04 -3.14 0.11 -2.02 2.02 -2.12 1.78 -2.02 1 -2.76 -1.13 -1.15 1.13 
+-2.38 0.37 0.13 -1.76 1.89 -1.89 2.02 -1.89 2.63 -1.75 2.02 -2.02 0.63 -2.65 2.15 -1.52 
+2.89 -0.74 1.89 -2.02 1.88 -1.15 1.89 0.63 3.39 -1 2.28 0.13 2.26 -2.41 -2.39 -0.24 
+-2.64 0.24 -2.25 -0.87 -2.39 -0.39 -1.65 -0.87 -3.13 -0.13 -2.02 -1.26 -3.77 -0.75 -3.52 0.39 
+0.99 -1.78 2.02 -0.37 2.62 0.24 2.15 -0.87 2.52 -0.5 0.5 -1.65 -0.5 -1.13 1.63 -1.39 
+-1.5 -0.5 -2.91 2.15 -0.5 -1.65 0.39 -2.52 S
+2592.91 1604.19 -2.02 -0.89 -1.13 -1.5 1 -1.78 -2.89 0.39 -2.38 2.02 -0.39 -2.02 -0.24 -2.14 
+-1.02 -1.89 -0.37 -1.89 -0.75 -2.28 -1 -1.63 2.52 -2.65 -0.52 -2.02 -1.88 -1 -2.26 1 
+-2.38 -0.24 -0.63 2.52 1.89 1.5 -2.52 1.39 -2.02 0.63 -2.02 -1.13 -3.02 -0.5 3.27 -1.02 
+2.26 -2.52 1.25 -2.64 2.02 -0.11 1.89 -2.28 0.13 -2.02 -2.15 -0.14 -2.25 -0.5 -0.26 -2.25 
+-1.13 -2.15 -0.63 -2.26 2.52 -1.52 2.78 -1.89 -2.91 -0.76 -2.38 0 -2.76 0.36 -2.14 -0.23 
+0.13 -2.02 3.02 -1.39 1.63 0.76 1.65 -2.39 -2.91 -1.15 -3.65 1.02 -3.14 0.37 -1.5 2.39 
+-1.25 2.02 -1.52 2.41 S
+2560.8 1570.18 -3.38 1.25 -2.65 0.63 -2.64 1.89 3.02 -0.89 2.91 0.13 2.89 -0.37 S
+2560.94 1572.83 2.26 0.24 2.41 0.5 2.88 0.13 2.13 1.52 1.39 2.15 0.13 2.13 -1.75 2.28 
+-2.15 1.63 -2.88 0.76 -2.89 0.26 -3.02 0.74 -3.04 0.76 -3.12 0.26 -3.04 -0.26 -3.02 -0.5 
+-1 1.52 -2.38 0.11 -1.13 -1.26 -2.65 -0.5 -3.28 0.89 2.65 0.36 1.25 2.28 -2.52 0.64 
+-2.78 0.49 -2.88 0 -0.26 -3.27 -1.5 1.89 -1.13 -2.14 -1.26 2.9 -1.12 -1.25 -0.39 -1.89 
+-2.39 0.75 -1.39 -1.64 -0.75 -2.39 -2.39 -1.52 -2.52 -0.5 -0.87 -2.78 -2.02 -1.26 0.5 -1.63 
+1.39 -0.26 -1.52 -2.02 -0.64 1.65 S
+2514.25 1574.59 -1.12 -1.52 -0.13 2.65 -1.37 -1.89 -1.65 -1.63 1.65 -1.02 -2.78 -1.39 -1.13 -2.25 
+2.02 2.02 2.13 0.73 2.52 0.76 -2.02 -2.88 -0.11 -2.29 -1.52 -2.38 -0.64 -2.28 -0.36 -2.26 
+-0.5 -2.25 -0.52 -2.78 -1.76 -1.89 -1.12 -3.28 -1.26 -2.28 -1.13 -2.38 -1.75 1.25 -0.89 -2.39 
+-1.13 -1.75 -2.64 -0.63 -1.63 -2.28 -1.62 -1.89 -2.02 -1.89 1.13 -1.76 -1.13 -1.78 0.63 -2.13 
+0.5 -2.28 1.63 -2.15 -0.87 -1.88 0.63 -1.63 2.25 0.5 -1.39 -1.88 0 -2.15 1.39 -1.37 
+2.78 -1.15 2.63 -0.24 2.52 1.49 1.26 1.89 2.02 2.41 1.52 0.13 0.74 1.89 1.75 -1.15 
+1.26 -3.02 1.52 -2.52 S
+2514.52 1515.75 1.63 -3.02 1.52 -2.52 2.25 -2.02 -0.5 -1.89 1.52 -2.15 0.37 -1.76 2.15 0.24 
+2 0.26 S
+2525.46 1502.91 -0.63 1.76 1.15 2.39 2.13 0.26 1.88 0.26 0.63 3.28 -0.26 3.15 0 2.38 
+-0.62 2.65 0.13 1.75 1.76 2.15 1.89 1.76 -1.25 0.63 1.39 1.64 0.39 1.37 -1.26 1.64 
+-2.41 1.39 -2.39 1.5 -0.87 2.15 -0.26 2.64 -0.5 2.65 0.63 1.52 1 2.89 1.52 2.02 
+1.25 1.63 1.76 1.65 0.25 1.89 1 2.14 -2.15 0.88 0.63 1.89 -0.63 1.25 1.15 1.15 
+0.38 1.89 1.89 0 1.63 0.37 1.39 0.89 2.64 -1.26 1.13 -2.52 -1.25 -1.26 -0.37 -2.78 
+-1.25 -2.64 S
+2538.93 1551.91 -1.15 -3.02 -1.37 -2.65 -0.26 -2.78 1.13 -2.52 2.02 -2.39 0 -2.78 0.5 -1.64 
+2.65 -0.87 1.76 -1.02 3.02 -0.37 2.39 1 2.28 1.52 2.25 1.52 2.15 1.49 3.26 0.89 
+3.02 -1.52 1.65 0.89 2.13 -1.75 -3.14 0 -1.63 -2.28 -0.63 -1.63 -3.02 -0.76 -3.02 0.13 
+-2.39 -1.02 -2.28 -1 -1.5 -1.75 0.87 -2.15 1.52 -2.02 1.89 -0.13 0.87 -2.52 1.02 -2.64 
+-1.13 -1.63 -1.89 0 -1.65 1.63 -1.99 0.89 -2.15 -0.89 -0.13 -2.89 -0.5 -1.89 0.89 -3.04 
+1.13 -2.64 -0.39 -2.89 -2 -1.75 -0.26 -2.41 -1.39 -1.13 -2 -0.37 -1.78 2.52 -2.63 -0.89 
+-2.52 -1.26 -1.89 -2.15 S
+2532.64 1497.35 -2.78 -0.73 -2.52 -1.79 -1.89 0.26 -2.13 0.63 1.26 1 -1.52 1.78 -1.13 -1.52 
+-2.15 -0.76 -1.23 -1 -1.52 -1.52 S
+2517.04 1493.71 -2.02 -0.13 0.26 1.78 -3.28 1.13 -0.26 1.26 -2.13 1.25 0.76 2.78 1 2.76 
+2.02 1.15 -0.26 1.76 -1.89 -0.26 -0.24 1.89 0.5 2.28 -0.26 1.75 -2.12 -0.63 -1.02 -1.89 
+-2.39 -0.63 -1.13 -1.52 -0.37 -1.76 0.24 -2.64 0.63 -2.26 1.75 -1.25 0.39 -2.65 1.39 -1.78 
+-1.02 -1 1.26 -1.25 -1.26 -1.39 -0.13 -1.89 -1.89 0.89 -2.26 -0.13 -1 -1.52 -3.28 -0.13 
+-2.02 -1 0.26 -2.28 1.5 -0.37 0.13 -1.39 -1.39 -1.39 -1.63 0.76 -0.13 2.78 S
+2495.77 1486.79 -1.12 -0.5 -0.5 -2.28 -0.76 -1.89 -1.13 -1.89 -1.52 -1.75 -2 -1.02 -2.41 -1.39 
+-2.13 -1 -0.63 -1.76 -0.26 -2.41 -1.5 -0.87 -1.89 -0.49 -1.65 -0.89 -0.63 -2.28 -2.12 0.52 
+-2.02 -0.52 -0.87 2.28 -2.28 0.13 1.26 -2.78 0.63 -3.28 -2.26 0 -2.65 -0.36 -1.13 1.88 
+-2.65 -0.39 -2.02 -0.87 -2.25 -0.39 0.13 -2.76 1.63 -1.02 2.02 0 2.14 -1.52 2.63 -0.37 
+0.63 -1 1.65 -1.88 -0.39 -1.39 1.02 -1.39 1.89 -1.39 1 -2.26 -0.37 -3.28 -0.39 -3.16 
+-0.37 -2.26 -0.76 -3.28 -1 -1.39 -2.14 -0.5 -2.39 0.63 -3.52 0.49 -3.54 -0.87 -2.76 1.13 
+-3.14 0.5 -3.14 -0.26 S
+2450.11 1435.37 -2.78 0.13 -3.02 1.65 -1.63 -2.29 -2.39 -0.24 -1.26 -1.39 1.5 -3.27 -0.63 -2.39 
+0.26 -1.78 0.37 -2.89 -0.5 -2.28 -1 -2.76 -0.75 -3.17 S
+2438.29 1414.71 -1.52 -1.88 -0.63 -2.76 0.89 -1.88 1.89 -0.13 -0.62 -2.78 -0.26 -2.78 -1 -2.26 
+2.78 0.24 2.25 -0.62 1.89 0.89 1.89 -0.13 2.13 -1.5 0.76 -1.39 1.39 -2.91 2.26 -1 
+2.38 2.25 2.29 0.89 2.75 0.37 2.64 -0.11 2.65 0 2.64 -0.13 1.63 2.38 2.26 2.78 
+2.28 0 0.74 2.26 1.52 1.89 2.65 1.79 -2.29 1.88 -0.24 2.39 1.37 2.25 2.28 2.78 
+2.13 3.28 2.14 1.02 2.52 0.87 2.39 2.02 2.15 1.39 S
+2491.25 1426.06 -0.52 3.28 -0.37 2.65 2.38 1.5 1.63 1.39 2.52 -0.75 2.91 -0.37 2.52 -1.26 
+2.39 0.5 1.63 2.02 2.28 1.52 2.38 1 0.87 1.89 1.65 1.02 2.12 -0.26 1.39 -0.89 
+2.52 -0.24 0.63 -2.64 1.39 -2.28 2.26 -2.13 0.63 -1.89 2.15 0.24 2.39 -2.13 1.99 -2.15 
+2.41 -1.13 2.76 0.24 2.15 -1.63 2 -1.25 1.52 -0.26 1.39 -2.15 3.02 -0.63 0.63 -1.89 
+1.5 -2.12 0.76 -2.28 -0.86 -1.5 -0.39 -2.41 0.26 -1.39 1.39 0.13 0.63 1.52 1.13 1.49 
+-0.39 2.28 2.15 1.26 -0.5 2.39 -2.39 1.15 0.24 2.76 0.76 2.02 2.02 -0.76 2.13 -0.11 
+0.76 -1.78 1.52 -0.24 S
+2557.55 1419.77 0.37 1.88 -2.52 2.02 -4.78 2.25 -2.78 1.02 -2.26 0.73 0.76 1.89 -3.54 -0.37 
+-2.75 1 -2.28 1.25 -1.26 1.29 -0.74 2.25 -1.39 2.15 -2.25 1.25 S
+2532.14 1438.41 -1.89 1.13 -2.02 1.63 -0.5 1.91 0.37 1.89 -1.26 1.26 0.13 1.89 1.63 0.14 
+1.76 1.63 2.15 -0.26 -0.5 -1.36 0.63 -1.91 1.26 -1.26 1.13 1.02 0.13 1.89 3.02 -1.52 
+0.76 -2.25 1.25 -1.26 0.24 -1.78 2.65 -1.13 1.25 -1.26 2.52 -0.13 3.51 -1.89 2.91 -2.02 
+2.62 -1 2.39 -1.52 2.41 -1.12 0.24 -2.39 0.26 -3.28 0.5 -2.78 2.13 -1 1.89 -2.14 
+1.39 -1.76 2.15 -2.52 2.25 -2.02 S
+2571.5 1413.21 3.41 0.13 3.15 0.87 1.87 -1.5 2.64 0 2.65 -1.52 -0.89 3.27 2.78 -0.5 
+-2.02 0.63 -0.76 1.75 -2 0.64 -1.89 1.13 -1.02 1.76 -1.89 1.52 -2 2.14 -0.39 3.28 
+2.65 -1.89 2.13 0.37 0.39 1.52 -1.52 1.13 2.14 0.37 0.76 1.65 2.13 -0.13 1.65 0.89 
+2.49 0 1.89 -1.65 2.02 0.89 -1.26 -2.15 0.39 -1.12 1.13 2.14 1.63 2.13 1.02 1.65 
+3.02 1.13 2.63 0.63 3.04 -1.26 -1.89 -1 0.74 -1.28 -2.39 -0.5 -2.75 -0.63 -2.52 -0.63 
+-2.39 -0.5 -1.26 -2.15 0.11 -3.39 3.41 1.26 -0.26 -1.65 1.25 -3.14 1.02 -1.13 -0.89 -0.76 
+-1.89 1.13 0.26 -2.02 S
+2594.04 1416.73 2.38 -0.5 2.02 -0.5 0.11 -1.89 2.15 -1.02 -0.89 -2.13 2.15 0.37 2.14 0.5 
+-0.39 -1.5 2.52 0.5 3.64 -1.75 2.39 -0.39 2.91 2.14 0 2.52 2.63 0.13 3.67 -0.62 
+1.63 -1.52 S
+2623.09 1411.07 2.39 -0.5 1.52 1.52 1.76 0.37 1.5 2.39 1.26 2.41 3.28 -0.63 1.39 0.38 
+1.39 2.52 0.87 -1.26 -0.76 -2.39 1.39 -1.64 -0.13 -2.02 1.25 -3.77 1.26 -2.65 -0.63 -2.76 
+0 -3.54 -0.24 -3.14 0.11 -3.02 0.13 -2.91 -0.76 -3.27 -0.87 -2.26 -3.28 -1.39 -2.52 -1.02 
+-1.89 1.02 -0.24 -2.02 -2.15 0.37 -0.24 2.02 -3.04 -0.24 -2.62 -1.02 -2.28 -2.02 -2 -1.89 
+-2.15 -1 S
+2616.79 1377.69 -3.02 0.88 -2.78 -0.5 -2.52 0.39 -2.12 0.63 -2.78 0 -2.89 -0.13 -2.52 -0.89 
+-1.76 2.15 -2.64 -0.5 -2.89 0.37 -2.91 0.13 -0.87 2.25 -2.89 0.52 -3.14 -0.13 -2.65 -0.76 
+-2.52 -1.39 -2.39 -2.78 -0.76 -2 1.13 -1.78 0.76 -2.26 -0.37 -2.52 -1.39 -1.65 -1.89 -1.12 
+-2.38 0.13 -2.78 1.63 -3.39 1.39 -4.17 0.5 -2.88 0.13 -2.52 1.13 -1.39 1.26 -0.37 2.91 
+-2.88 0.63 -2.91 1.13 -2.88 0.13 -3.65 0.13 -3.14 -0.25 -2.39 0.75 -2.91 1.26 -1 2.28 
+-2.02 -0.62 -2 0.73 -0.63 2.41 1.5 1.5 1.76 2.02 0.89 2.39 -0.62 2.28 -1.63 0.89 
+-1.02 3.14 1.39 1.13 S
+2526.97 1397.59 0.89 2.39 -2.91 -1.62 -1.39 2.78 -2.39 0.24 -2.12 -0.63 -1.76 -1.52 -2.28 -0.62 
+-3.52 0.76 -1.75 -1 -3.54 0.76 -1.89 -1.52 -2.25 -0.5 -1.5 0.76 -2.65 0.5 -2.78 -0.13 
+-1.76 -0.5 -2.39 -0.13 -2.26 -0.89 S
+2488.74 1396.7 -3.04 -0.63 -3.39 -0.36 -2.26 -1.52 -2.41 -1.75 -2.26 -0.5 -2.39 -0.5 -1.12 -1.78 
+-3.15 -1.39 -2.39 -0.5 -2.64 1.52 -1.89 -0.5 -3.14 0.11 -2.02 -0.37 -3.02 1.88 -0.99 1.89 
+-2.39 -0.24 -1.26 -2.78 -0.89 -2.38 -1.39 -2.29 -1.25 -2.25 -2.89 -1.65 -2.75 -0.89 -2.52 -1.25 
+-1.78 -2.26 -2.12 -1.76 -0.13 -1.78 -1.39 -2.39 -1.75 -1.26 -0.37 -4.66 1.13 -2.02 S
+2430.86 1362.43 -1.52 -3.14 -1.89 -2.25 -2.25 -2.29 -3.02 -1.13 -1.76 -2.25 -3.54 -1.15 -3.75 -0.11 
+-1.89 -2.28 -1.15 -2.78 -1.37 -1.76 -2.64 -1.12 -1.39 -1.39 -1.12 -2.65 -1.13 -2.38 -1.65 -3.15 
+-2.39 -2.15 -1.89 -2.26 -1.49 -2.14 -1.76 -3.67 -1.52 -2.25 -1.89 -1.26 -0.76 -2.78 -0.62 -2.76 
+1.89 -2.14 2.02 -2.65 -0.36 -2.78 -1.89 -1.75 1.5 -3.02 0.63 -2.91 -0.24 -2.88 -0.64 -2.78 
+-1.25 -2.78 -1.13 -2.76 -0.26 -3.8 -2.02 -2.12 -1.5 -2.28 -2.39 -1.26 2.13 -1.62 1.13 -2.91 
+0.13 -3.41 -0.63 -2.75 -0.26 -3.41 2.29 -1.62 2.12 -1.65 2.29 0.37 0.24 -3.88 2.28 -1.15 
+1.63 -2.39 1.25 -2.52 S
+2397.39 1250.46 2.26 -1.65 2.14 -2.52 1.76 -2.52 0.37 -2.76 0.39 -2.41 0.76 -2.52 2.63 -3.02 
+2.78 -1.52 2.75 -1.62 2.28 -2.41 3.78 -2.12 2.63 -3.04 2.28 -1.89 2.89 -2.02 3.28 -2.52 
+2.76 -1 2.39 -0.63 2.78 1.76 3.4 0.39 2.39 1.89 S
+2444.08 1218.34 3.38 0.24 3.28 0.5 2.38 0.39 2.78 0 4.28 -1.12 2.89 -0.39 3.27 -1.5 
+2.39 1.37 2.76 0.89 2.41 0.5 2.38 1.39 3.26 1.89 3.78 0 1.39 1.89 3.41 0.89 
+2.75 0.63 2.91 0 3.25 0.5 3.28 0 2.88 -0.87 2.78 -2.15 1.5 -3.78 1.02 -3.77 
+3.39 -1.79 2.78 0.13 2.89 0.5 2.78 0.63 2.89 0.13 S
+2523.2 1215.43 2.38 0.5 2.29 0.13 0.61 -2.78 2.28 -0.37 1.5 -2.25 2.02 -2.28 -0.87 -3.28 
+-0.39 -3.28 -0.99 -2.39 -1.39 -2.52 1.89 -0.76 -1.39 -2.39 0.13 -2.78 S
+2549.37 1271.62 1.5 -1.76 1.02 -2.38 1.89 -1.26 0.63 -1.78 1.49 -1.39 2.15 1.65 2.65 1.13 
+0.74 3.02 -2.76 -0.24 -3.14 0.13 -0.13 1.89 -1.52 1.89 -2.75 0.24 -1.76 -1.13 S
+2657.55 1191 1.02 -3.78 2.26 2.78 2.78 -0.63 3.64 0.63 2.26 2.25 -3.28 0 1.75 2.15 
+1.79 2.76 0.73 3.54 0.76 2.02 -1.49 2.65 -2.78 0.63 -2.76 -0.5 -3.14 -0.89 -3.14 -2.52 
+-0.63 -3.54 0.87 -2.25 -0.24 -2.39 -0.39 -2.9 S
+2644.59 1166.69 1.39 -2.78 1.89 -2.65 2.76 -2.02 1.39 -3.52 -0.5 -2.91 3.28 -0.62 -0.39 2.78 
+-1.37 2.78 -1.39 3.02 0.37 2.02 -2.25 1.63 -2.39 1.65 1.37 2.52 -0.99 3.14 -0.87 3.28 
+-1.52 3.14 -0.5 3.78 -1.39 -4.03 1 -2.65 -0.86 -3.02 1.49 -3.14 -0.5 -2.39 S
+2670.9 1134.81 0.37 -2.39 0.76 -2.28 -0.13 -2.39 1.76 -1.65 0.39 -2.25 1.76 0.63 1.26 -2.14 
+-0.26 3.77 -1.63 2.15 -0.39 3.28 0.13 3.28 1.13 3.53 -1.76 3.15 -0.37 2.75 -0.39 3.79 
+-2.26 1.63 -0.5 -1.52 1.26 -5.54 0 -1.02 0.76 -4.14 -1.89 -2.64 S
+2592.51 1441.43 2.39 -2.02 1.39 -2.02 2.52 -1.39 2.78 -0.37 S
+2601.58 1435.63 2.76 0.13 2.65 1.13 2.52 0.13 1.5 1.89 1.52 1.89 1.49 1.89 2.41 1.64 
+2.39 0.24 2.64 0.76 1.76 1 1.99 -1.37 2.65 0.74 2.14 -1.89 1.76 0.52 2.38 -0.75 
+1.52 0.87 2.25 -0.24 2.13 1.26 2.02 1.13 2.52 0.37 2.02 1.15 1.39 2.65 1.26 2.13 
+-0.39 1.88 -1.76 1.39 -1.75 2.02 -1.39 0.63 -3.02 0.5 -2.52 0.63 -1.89 1.02 -2.75 1.5 
+-2.52 0.76 -2.02 -0.11 -1.62 0.37 -1.89 0.5 -1.78 1.39 -1.26 -0.37 -1.87 -1.15 -2.15 -0.11 
+-1.25 -1.91 -1.63 -1 -0.76 -1.76 -1.52 -1.39 -1.76 0.89 -0.37 2.52 -1.52 0.5 -2.52 0.24 
+0.63 2.78 2.14 1.65 S
+2610.13 1466.25 -2.78 0.74 -1.75 -1.63 -3.28 0.63 0.26 2.02 -2.52 -0.63 -2.15 -0.63 -0.11 -2.39 
+-0.89 -2.28 -1.89 -1.39 1.26 -2.65 0 -2.02 -1.63 -1.37 -0.62 -2.15 0.75 -2.28 0.5 -2.75 
+-2.14 -1.02 0.5 -2.88 -1.13 -2.15 S
+2612.52 1467 1.63 -0.64 1.65 -1.49 2.25 -0.26 1.76 1.52 2.15 0.76 2.63 0.24 0.39 3.14 
+0.76 2.91 -1.65 0.5 -1.5 1.02 1.76 0.63 1.25 2.52 1.76 1.13 -1.52 0.5 -1.89 -1.13 
+-2.76 -1.52 -1.75 -2.64 -2.52 -1.26 -1.89 -2.13 -0.76 -2.28 -1.75 -1.52 S
+2659.31 1476.7 1.02 -1.63 1.89 -0.37 2.63 -2.14 1.02 -1.76 1.26 -2.15 2.89 -2.14 2.64 -1.5 
+2.25 -0.63 S
+2674.91 1464.37 2.39 -1.78 1.78 -1.89 3.02 -1.5 2.63 0.11 -1.63 -1.37 -0.26 -2.28 0.89 -3.02 
+0.63 -1.89 -1.63 -0.76 2 -3.04 1.65 -2.63 1.76 -2.54 2.26 -0.11 2.78 0.63 1.39 -1.15 
+3.38 -0.63 2.64 0.13 2.76 2.41 2.28 2.25 3.02 0.89 -0.76 2.02 -2.89 3.14 -2.02 3.64 
+-0.89 3.64 -1.75 -0.23 -1.76 1.88 -1 2.39 -2.64 -1.39 -1.39 1.65 -0.63 3.14 2.52 0.24 
+2.28 1.15 1 2.89 -2.52 1.02 -2.52 1 -2.14 1.76 -2 -1.62 -0.12 -2.39 1.63 -2.02 
+-2.75 2.02 -1.65 2.13 -0.11 2.78 -1.39 1 -2.28 -1.13 -2.75 0.89 -2.15 2.39 -3.02 2.02 
+-2.38 -0.12 -0.5 1.39 S
+2672.03 1481.49 2.26 1.13 1.89 0.39 -2.52 2.26 0.89 2.64 2.13 1.76 2.64 -0.24 1.65 1.39 
+1.87 1 -1.87 0.76 -1.78 2.02 -2.25 2.26 -3.02 1.25 -2.89 0.76 -1.65 -0.89 -2.02 -1 
+-1.89 -0.37 -1 -3.41 -1.88 -1.52 -1.39 -1.75 1.15 -1.26 -1.39 -1.13 0.13 -2.15 -2.64 -0.26 
+0.37 -2.52 0.39 -3.14 0.11 -2.78 S
+2695.92 1497.75 1.78 -2.52 1.37 -1.02 2.15 -3.02 2.13 1.26 2.02 1.39 1.13 -0.63 1.39 2.26 
+-0.13 3.8 -1.89 2.52 0.89 1.26 0 2.02 -2.25 1 -3.04 1 -1 1.26 -0.76 2.91 
+-0.37 2.25 -0.89 -2.62 -1.37 0.37 -1.26 -2.15 1.37 -1.62 -1.63 0.13 0.89 -2.52 S
+2696.44 1505.05 -1.52 -1.02 -0.63 -1 1.26 -2.28 0.37 -3.02 S
+2734.55 1533.64 2.52 -0.5 2.15 -1 -3.15 4.02 -1.78 1.39 0.52 2.28 -0.26 2.13 0.99 2.78 
+2.52 1.39 0.26 2.02 S
+2738.32 1548.13 2.65 0.5 1 2.39 -0.63 2.78 -1 -1.26 0 -1.89 -1.39 -0.89 -0.63 -1.63 S
+2738.32 1548.13 -1.52 -0.89 -1.89 -1.5 -1.37 -2.41 -1.52 -0.87 0.39 -2.91 0 -2.39 2.13 -3.53 S
+2737.96 1641.73 1.63 2.13 -1.12 2.78 -1.13 2.52 -3.41 2.41 -2.26 3.15 -1.39 2.88 -2.38 2.41 
+-3.65 3.14 -3.53 2.39 -3.39 1.39 -4.03 1.63 -3.52 1.78 -0.89 -0.89 1.78 -1.13 2.25 -1.02 
+3.02 -1.89 2.89 -1.88 2.91 -1.89 S
+2721.72 1661.63 3.02 -2.65 3.02 -2.78 2.26 -2.13 1.78 -2.14 2.26 -2.15 2.25 -2.26 0.63 -2.52 
+1.02 -3.28 S
+2562.83 1542.08 2.38 -1.26 2.02 -1.76 1.39 -2.02 1.13 0.37 0.13 1.52 2 0.63 0 1.89 
+-0.87 1.76 -1.75 1.39 -2.15 0.26 -1.76 0.89 -1.76 -0.52 -0.89 -1.76 0.13 -1.39 S
+2572.77 1549.26 1.63 -1 2.14 -0.13 1.26 -2.15 1.25 0.5 0.63 1.26 -1 1.65 -1.89 0.87 
+-1.52 1.39 -1.13 2.15 -2.15 0.63 -2.25 0.13 1.5 -0.89 1.52 0 0.89 -1.63 -1.65 -0.5 
+0.76 -2.28 S
+2714.93 1085.05 -0.39 -2.39 0 -2.91 0.89 -2.25 -0.13 -3.77 -0.24 -3.28 1.63 -2.65 1.76 -1.75 
+1.89 -1.15 S
+2720.33 1064.89 2.65 0.75 2.38 1.76 2.75 1.25 2.02 -0.24 2.28 3.15 1.24 2.52 1.39 3.02 
+1.25 2.15 0.89 2.52 0.87 2.52 0.89 2.52 1.13 2.52 1.39 2.65 1.13 2.64 0.89 2.52 
+1.26 2.65 1.13 3.14 1.39 3.17 1.63 3.64 0.87 3.02 0.89 3.67 0.26 2.52 1.37 1.63 
+0.76 2.65 0 4.9 1.89 -2.12 2.02 3.38 -0.13 2.91 -0.5 4.41 -1 3.41 -0.26 3.41 
+-1.12 2.75 -1.65 2.65 -2.25 -2.89 -0.13 -3.04 -0.63 -2.64 -2.26 -1.37 -2.65 -1.02 0.26 -2.89 
+-1.89 -1.78 0.24 -2.52 -2.12 -0.37 -2.52 -3.28 -2.26 -1.89 -2.78 -1.89 -2.64 -1.52 -2.75 -1.89 
+-2.29 -0.37 -1.75 -4.66 S
+2723.85 1114.91 -2 -3.15 0 -3.28 1 -3.27 -0.37 -2.52 0.87 -3.14 -0.63 -2.52 -2.26 -3.17 
+-1.13 -2.62 -2.14 -2.54 -2.25 -3.64 S
+2776.82 1099.66 0.5 -2 2.02 0.37 0.63 1.13 -1.02 1.25 -2.13 -0.75 S
+2788.02 1104.58 2.13 0.37 0.39 2.14 -1.13 0.76 -1.39 -3.28 S
+2759.59 1303.5 1.88 -0.5 1.89 0.74 2 2.41 -2 -0.26 -2.52 -0.37 -1.26 -2.02 S
+2764 934.27 -0.76 -2.52 -2.78 -2.41 2.64 0.89 0.37 -1.12 1.78 1.39 1.37 -0.13 2.15 2.02 
+-2.39 -0.39 -1.52 -0.37 0 1.5 0.39 2.02 -1.25 -0.87 S
+2916.08 1408.05 2.02 -5.55 1.63 -5.66 S
+2952.45 1340.91 2.63 -0.63 S
+2959.61 1334.09 1.76 -1.5 2.15 -2.02 S
+2963.52 1330.58 -0.76 3.28 -2.65 2.38 -0.5 -2.14 S
+2968.55 1320.25 1.13 -3.78 1.13 -1.26 1 1.63 -2.52 4.8 -0.74 -1.39 S
+2883 1332.46 1.14 -3.9 0.99 -2.65 1.89 -4.16 1.75 -2.13 1.65 1 2 2.78 1.02 3.28 
+-0.26 3.91 -1.13 4.03 -2.02 1.89 -2.02 2.75 -2.26 2.52 -2.39 2.41 -2.89 0.63 1.5 -2.28 
+-0.13 -3.39 0.63 -3.66 0.52 -3.02 S
+2927.54 1511.35 2 -2.78 2.02 -2.39 1.89 0.63 0.49 1.88 -0.49 4.04 -1.26 3.64 -2.13 4.17 
+-1.39 3.78 -1.63 2.13 -0.52 -2.39 -0.62 -2.25 0 -2.54 1.02 -4.41 0.63 -3.52 S
+2909.92 1594.75 3.02 -2.91 3.41 -2.52 0.87 0.89 2.41 -1.65 -3.54 4.3 S
+2916.08 1592.86 -2.65 4.27 -3.13 3.78 -3.66 4.17 -3.26 4.14 -3.02 2.78 -0.89 -1.02 1.89 -3.91 
+2.75 -4.14 2.65 -3.54 3.14 -4.64 S
+2834.31 1688.34 2.78 -0.52 -1.02 2.14 -2.39 1.65 1.63 0.11 2.91 -1.5 2.52 -2.52 2.75 -1.52 
+2.91 -1.52 -0.26 2.41 -3.78 4.41 -3.78 2.13 -4.14 3.04 -3.52 2.76 -2.14 0 -2.65 0.89 
+1.26 -2.52 -1.26 0 1.89 -2.91 3.41 -3.14 2.89 -3.39 S
+2825.89 1702.95 3.02 -0.63 -0.26 2.02 -2.75 1.89 -2.28 1.63 -2.75 3.14 0.76 0.89 -3.15 2.28 
+-2.78 2.52 -2.12 0.5 0.5 -2.15 2.13 -2.75 3.14 -2.28 0.89 -2.25 2.76 -1.91 2.91 -2.89 S
+2823.37 1699.04 2.76 -1.25 S
+2826.13 1697.79 -2.13 3.14 -0.75 2.28 -3.28 2.75 -2.25 3.15 -3.02 3.41 -1.76 2.39 -3.64 3.54 
+-0.76 2.02 -2.02 2.89 4.02 -2.76 2.91 -1.15 2.02 0.13 -0.52 1.52 -5.04 3.52 -4.91 4.04 
+-1.49 -0.5 -3.15 2.15 1 1.5 -3.14 4.17 -5.77 4.14 2.88 -0.24 -5.66 2.64 -2.02 2.52 
+-2.76 1.63 4.28 -1.5 -4.14 3.38 -2.65 1.02 -3.14 2.13 -2.15 -0.11 -4.38 1.39 -2.78 1.5 
+-4.14 1.25 -3.02 0.26 -2.41 1 -1.88 2.02 -2.76 0.5 -3.64 1.78 -4.27 1 -2.52 -0.26 
+-1.26 -1.13 -2.39 0 -2.52 0.63 1.26 -2.26 2.52 -0.62 -1.39 1.39 1.63 -0.26 1.75 -1.76 
+-0.24 -1.15 4.64 -1.88 S
+2749.26 1754.97 2.28 -0.37 2.63 -0.5 3.41 -0.5 3.52 -1.39 4.16 -2.02 4.02 -1.52 3.77 -2.78 
+3.78 -1.76 3.28 -2.39 3.38 -3.15 3.91 -3.28 -2.28 0.63 -3.51 1.63 3.27 -2.52 3.15 -1.25 
+4.01 -2.39 3.54 -2.38 2.89 -1.02 2.25 -2.02 -0.24 -1.39 2.39 -3.15 2.88 -3.52 2.91 -3.91 
+1.5 -2.52 4.04 -3.14 3.77 -3.54 2.89 -2.78 2.52 -3.02 S
+2737.33 1755.99 2.52 -0.63 0.63 0.76 3.88 -0.52 -3.77 2.4 -3.39 2.52 0.13 -1.52 0.5 -1.62 
+-1.89 0.5 -1.39 1.39 0.13 0.87 -2.89 1.79 -2.52 2.12 -0.76 2.52 -1.76 2.91 -2.4 0.37 
+-3.76 1.52 -4.29 2.02 -2.13 2.26 -4.28 2.28 -3.91 1.76 S
+2705.99 1779.67 3.28 -2.15 -1.52 0 0.13 -0.87 -4.54 1.13 5.04 -2.39 1.65 -1.89 1.63 -2.28 
+0.37 -2.02 -0.11 -1.26 -1.26 -1.26 -0.39 -1.39 3.28 -1.63 2.13 0.89 3.04 -0.52 2.52 -0.37 
+2.89 -1.39 1.76 0.13 2.02 -0.39 2.02 -2 1.13 -1.65 1.75 0.13 4.54 -2.52 S
+2886.52 1649.02 -2.38 2.15 -1.65 2.65 -1.89 1.64 S
+2869.4 1667.69 -2.49 2.88 S
+2705.12 1778.41 -3.15 1.26 -3.04 1.13 S
+2694.79 1783.45 -4.77 2.02 -5.16 2.15 -5.66 1.89 3.91 -1.52 1.52 -1.39 4.41 -1.63 5.77 -1.52 S
+2674.91 1791.64 -1.99 1 -6.18 1.63 3.41 -1.37 4.77 -1.26 S
+2657.18 1797.44 -3.91 0.87 S
+2622.83 1801.34 1.26 0.5 -4.28 1.26 S
+2619.81 1803.11 -2.64 0 -1 -0.5 3.52 -0.39 3.14 -0.87 S
+2668.51 1748.54 0.5 1.02 -4.04 1.13 0.63 -1.63 2.91 -0.52 S
+2553.52 1794.92 -5.91 0 0 -1.02 3.02 -0.12 2.89 1.15 S
+2663.21 1761.92 3.14 0.73 3.52 -0.11 3.04 0.37 0.74 1.13 2.28 0.52 3.25 0 2.78 0.5 
+3.02 0.24 2.88 -0.11 2.65 -0.52 0.89 0.63 2.39 0.76 3.28 -0.5 3.51 0 3.65 -0.89 
+3.14 0.89 -4.14 0.89 -2.91 1.26 -1.13 1.39 0.26 1.49 -3.02 0 0.38 -1.26 -1.76 -0.37 
+-0.13 -1.15 -1.39 -0.63 -3.39 0.13 -3.54 0.63 -2.39 0.13 -2.76 1.02 -1.89 1.49 -0.89 2.02 
+-1.89 -0.75 -1.89 -1.13 -1.99 -1.13 S
+2672.92 1769.59 -2.28 -0.89 -2.26 -0.76 -2.02 -1.13 -3.28 -0.26 -2.88 -0.37 -2.25 -0.89 -2.65 -0.74 
+-1 -1.02 1.87 -1 1.65 1 2.25 -0.37 3.15 -1.25 S
+2477.65 1755.23 3.41 1.63 -0.37 1.15 -3.04 -0.62 S
+2477.65 1757.38 -2.12 0.37 -4.41 -1.13 2.15 -1.39 4.38 0 S
+2555.77 1725.37 -0.37 1.65 -2.76 2.13 -1.65 -0.87 0 -2.28 2.38 -1 2.39 0.37 S
+2552.52 1723.11 1.5 1 -1.5 0.5 -1.25 -0.74 1.25 -0.76 S
+2536.79 1724.87 1 2.14 -1.76 2.65 -2.12 0.87 -2.52 -1 2.26 -1.76 2.52 -1.78 0.63 -1.13 S
+2551.5 1717.82 1.39 2.02 -1.14 1.39 -2.64 0.76 -3.02 0.87 -0.37 1.26 -2.91 0.26 -3.14 -0.13 S
+2539.67 1724.24 -1.13 -0.75 0.76 -1.26 1 -0.63 0.13 -2.02 3.41 0.39 0.49 -2.91 3.15 -0.62 
+4.02 1.39 S
+2560.57 1676.63 -1.89 1.75 -0.5 2.02 -1.52 1.75 -3.38 0 -2.15 -1 -1.39 -1.39 1.39 -0.89 
+3.02 -0.76 3.52 -0.87 2.91 -0.62 S
+2546.09 1670.83 2.78 0.13 1.26 1.63 2.89 0.37 1 1.78 1.02 1.39 -0.76 1.37 -2.89 -0.24 
+-2.91 0.76 -2.13 -0.76 -1.02 -1.25 -2.25 -0.39 -1.76 0.52 -1.65 -0.76 -1.63 -0.52 2.26 -1.89 
+2.91 -0.63 2.89 -1.5 S
+2570.12 1610.61 3.54 -0.5 3.02 -0.39 2.88 0.89 2.65 1.39 0.13 1.52 -3.4 -0.13 -2.89 1 
+-2.78 1.65 -2.26 2 -1.39 2.15 -1.13 2.38 S
+2568.49 1622.57 -1.25 2.29 -1.26 2.38 -1 2.52 -1.26 2.29 -0.52 2.52 -0.5 2.52 0.5 2.15 
+-0.11 2.39 -0.39 2.15 -2.88 1.63 -1.89 -0.63 0.26 -2.39 1.25 -1.65 -0.52 -2.39 -1.76 -1.76 
+0.13 -2.78 0.76 -2.15 0.63 -1.37 -0.5 -2.54 1.75 -1.13 1.89 -2.88 0.87 -2.65 2.15 -0.76 
+0 -1.89 1.39 -2.78 1.89 -1 -0.26 -2.02 2.26 -2.02 S
+2578.17 1595.88 1.39 2.02 -0.87 1.76 -3.4 0.13 0.36 -2.02 2.52 -1.89 S
+2532.25 1645.5 1.15 1.14 -0.63 1.88 S
+2532.77 1648.52 1.89 1.15 -0.39 0.87 -2.65 1.26 S
+2531.62 1651.8 1.39 0.76 -0.24 1.26 -2.91 0.76 0.63 -1.76 1.13 -1.02 S
+2531.62 1651.8 -0.63 -2.02 S
+2530.99 1649.79 1.78 -1.26 S
+2532.77 1648.52 -1.39 -1.13 0.87 -1.89 S
+2527.47 1646.77 2.26 0.63 0.52 1.76 -1.65 0.26 -1.13 1.63 -2.52 1.15 0.63 -2.15 2.15 -1.26 
+-1.02 -0.89 0.76 -1.13 S
+2529.62 1644.25 1.13 1.25 -1.89 0.14 0.76 -1.39 S
+2521.57 1640.84 1.5 0 1.02 0.76 1.13 -1 1.76 0.37 0.89 1.13 -1.39 1.02 -0.39 1.5 
+-1.25 0 -0.5 -2.02 -1 0.63 -1.52 0.13 -0.24 -2.52 S
+2490.37 1626.48 0.49 -2 1.52 -2.91 2.63 -2.15 2.41 0.39 -1.39 -1.64 1 -2.02 2.39 -2.13 
+3.4 -2.14 -0.39 2.52 0.13 2.64 0.13 2.78 -0.62 1.89 1.13 1.39 1.39 -2.02 1.89 -1.02 
+0 -2.64 2.78 -0.24 S
+2509.25 1617.17 1.63 3.14 -2.88 1 -2.02 1.25 -1.75 1.79 -3.64 0.86 -1.39 2.52 3.25 -1.26 
+3.67 0.13 1.36 1.75 0.26 2.41 -0.89 1.39 -2.38 -0.26 -2.25 0.26 -1.52 -1.65 -1.75 1.26 
+-1.63 -1.63 0.63 -1.52 -2.02 0.13 -0.26 -1.89 -2.13 0.5 -3.14 -0.89 S
+2456.64 1536.16 1.39 -0.5 1.89 1.89 -2.64 -0.24 -0.63 -1.15 S
+2473 1525.71 1 1 -0.11 -2.28 S
+2467.73 1520.16 1.5 -1.26 S
+2454.51 1512.21 2.89 2.15 1.02 2.64 -2.78 -1.62 -0.26 -1.79 -0.87 -1.39 S
+2510.37 1501.52 1.5 -2.14 2.02 0.26 0 1.76 -1.76 0.89 -1.76 -0.76 S
+2514.65 1503.14 1 -2.52 2.02 -0.24 1.75 1 -1 1.02 1.26 1.37 S
+2519.68 1503.78 -1.02 2.02 -1.99 -1.26 -2.02 -1.39 S
+2515.15 1498.5 1.26 -1.25 1.63 0.74 0.76 0.89 -1.76 0.39 -1.89 -0.76 S
+2535.16 1515.75 1.13 -2.15 1.26 1.26 -0.62 2.28 0.99 1.39 -2.12 -1.15 -0.63 -1.63 S
+2545.33 1522.18 1.39 -1 1.13 1.37 1.13 1.39 -2.62 0 -1.02 -1.76 S
+2545.83 1525.33 0.63 -0.76 1.52 1.02 -2.02 0.88 -0.13 -1.13 S
+2456.77 1471.42 1.75 -0.52 2.28 1.65 3.15 -0.89 0.74 2.15 2.52 0.5 2.78 -1 2.38 1.26 
+2.78 -0.39 2.89 0 3.02 0.89 1.89 2.25 -3.15 0.39 1.52 2.39 2.13 1.39 0.75 2.28 
+-0.89 1.76 -2.13 0.87 -1.39 0 -1.25 -1.37 -0.89 0.87 1.15 1.39 S
+2478.8 1487.29 -0.52 1.89 -0.87 1.26 -0.63 1.76 -0.75 2.41 -2.39 0.87 -1 2.28 -0.52 2.64 
+-1.12 1.76 -2.12 1 -2.28 0 1.76 1.39 1.39 1.78 1.13 2.13 0.89 1.78 -0.26 1.89 
+-2.62 0 -2.15 0.11 -2.39 -0.36 1.26 2.15 2.64 1.75 -0.39 1.26 -2.89 -0.26 -2.88 0 
+-1.26 -2.12 -1.39 -1.65 -0.5 -1.75 -1.52 0.89 -1.12 -0.76 1.25 -1.39 2.13 -0.13 -1.63 -2.65 
+-0.13 -1.89 2.02 0.89 -0.5 -2.28 -2.38 -1.63 2.02 -0.13 -0.13 -1.76 1.76 2.13 1.25 -1.89 
+-1.52 -3.02 1.02 -1.89 2.52 0.89 2.62 0.73 -1.26 -2.26 1.39 -1.75 1.75 0 -1.25 -2.28 
+-0.11 -2.26 -2.02 -0.39 S
+2465.08 1488.41 -3.28 0.52 0.5 -1.39 -1.26 -1.78 2.15 0 -0.26 -2.76 -1.75 -0.89 -2.26 -1.26 
+0.5 -1.39 2.52 0.39 1.76 -0.52 1.75 -1.39 2.52 1.29 -1.39 -2.28 -1.76 0.13 -2.12 0 
+-1.65 -2.15 -1.99 -1.75 -2.28 -1.76 S
+2440.54 1483.88 0.52 -2.26 1.63 -1.52 3.14 0.13 2.76 0.76 2.91 1.63 3.38 0.26 0.76 2.25 
+0.75 2.28 0 2.65 -0.5 2.39 2.52 1.65 -0.39 2.75 -0.99 1.75 -2.15 0.65 -2.52 0.63 
+-2.63 -0.76 -1.65 -2.15 1.52 -1 -1.26 -1.26 -2.02 0.11 -2.25 0.13 -1.15 -1.62 1.64 -1.15 
+-1.89 -1.12 1.5 -2.02 1.78 -0.11 -2.14 -2.54 -1.26 -2.63 -2.02 0.11 S
+2514.52 1430.34 -0.26 -2.39 0.64 -1.75 2.4 -2.15 0.38 2.78 0.5 1.89 -0.5 1.89 -0.26 2.78 
+-0.87 -1.91 -2.02 -1.12 S
+2513.13 1421.4 0.13 -1.89 1.39 -2.15 0.13 -2.89 -0.13 -2.78 2.02 -1.76 1.37 2.02 1.75 0.13 
+0.63 2.25 0 2.39 -0.11 2.41 -0.63 2.26 -2.02 2.14 -2.02 -2.02 -1.39 -0.5 -1.12 0.37 S
+2533.14 1406.04 1.89 -2.15 1.5 0.13 3.15 -1.52 2.41 -0.24 1.76 -1.78 3.02 -0.11 0.5 1.89 
+-1 1.76 0.24 2.91 1.26 2.52 -2.89 -1.25 -3.28 -0.76 -2.52 -0.26 -2.02 0.76 -2.26 -0.26 
+-1.75 -1.62 S
+2572.13 1409.94 2.65 -1.52 0.13 -2.39 1 -1.26 1.89 0.24 1.49 -1.63 1.02 2.15 S
+2580.32 1405.54 2.26 -1.52 -1.76 3.02 -1.26 2.28 2.26 -0.13 -2.13 2.52 -2.39 1.02 -2.39 0.63 
+-2.02 -1.39 -0.76 -2.02 S
+2585.98 1397.33 2.25 0.39 2.38 -0.13 1.76 -0.76 2.91 0.76 3.02 0.76 -0.12 1.63 -2.02 -1.39 
+-0.24 1.52 -2.52 -0.76 -2.14 0.39 -2.02 -0.89 -0.63 0.89 -2.75 0 0.13 -2.41 S
+2625.11 1404.51 1.26 -1.62 2.63 0.13 2.02 1.13 0.37 1.5 1.78 0.39 -1.15 1.25 1.78 3.02 
+-2.15 -1.62 -2.02 -1.02 -1.75 -1 -0.76 -1.12 -2 -1.02 S
+2487.59 1412.96 2.14 -0.37 1.63 -1.26 1.39 2.25 -2.25 1.26 -2.91 -1.89 S
+2603.21 1406.4 0.76 -1.49 1.13 1.39 0.24 2.26 -2.13 -2.15 S
+2591.52 1421.89 0.87 0.76 0.39 -1.39 S
+2592.51 1417.99 0.39 -1.37 S
+2351.61 1420.77 1.75 -1.39 S
+2362.54 1413.98 2.91 -0.63 S
+2394.12 1354.25 1.02 -2.02 1.36 0.89 1.02 2.26 -1.76 -1 -1.65 -0.13 S
+2398.92 1351.87 0.5 -1.52 1.75 0.39 0 1.37 -1.52 0.63 -0.74 -0.87 S
+2406.71 1351.61 2.13 0.76 0.39 3.28 S
+2409.22 1355.64 1.63 0.37 0.63 1.39 -1.39 -0.5 -0.87 -1.25 S
+2409.22 1355.64 -2.39 -2.65 -0.12 -1.39 S
+2526.08 1209.39 1.52 -0.39 0.87 1.89 -1.37 0.89 -1.02 -2.39 S
+2974.46 1031.88 0.13 -1 0.13 -0.89 -0.89 -2.75 -0.89 -2.64 0.13 -1.13 0.13 -1.02 0.5 -0.26 
+0.63 -0.11 0.5 -0.26 0.63 -0.26 0.63 -0.24 0.63 -0.13 S
+2976.71 1021.18 0.89 1.13 1 1.25 1.39 1.65 1.39 1.5 0.5 -0.11 0.37 -0.13 1.52 2.14 
+1.63 2.13 0.52 0.26 0.63 0.37 0.87 0.26 0.89 0.24 0.63 -0.24 0.5 -0.26 0.63 -0.24 
+0.5 -0.26 0.63 -0.37 0.63 -0.26 0.5 -0.26 0.5 -0.24 0.39 -0.25 0.5 -0.24 1.39 1.63 
+1.39 1.76 1.5 2.9 1.52 2.89 1.13 0.63 1.13 0.76 0.89 0.63 1 0.76 1.52 1.75 
+1.49 1.79 0.89 0.74 0.74 0.76 0.39 -0.76 0.37 -0.87 0.76 0.24 0.63 0.13 0.76 0.39 
+0.63 0.24 2.52 2.52 0.87 0.76 0.89 0.76 0.76 0.25 0.74 0.24 0.52 -0.36 0.5 -0.39 
+0.37 -0.37 S
+3018.99 1049.02 0.39 -0.26 0.24 -0.37 0.39 -0.26 -0.13 -1.49 -0.26 -1.52 -0.5 -2.02 -0.63 -1.89 
+0.37 -0.5 0.39 -0.5 -0.26 -1.65 -0.24 -1.63 -0.52 -3.04 -0.74 -2.12 -0.63 -2.15 -1.65 -2.65 
+-1.63 -2.78 -1.25 -4.77 -1.76 -3.54 -1.89 -3.64 -1.52 -3.14 -1.63 -3.15 -1.62 -3.04 -1.52 -2.88 
+-1.63 -3.14 -1.79 -3.15 1.79 2.52 1.75 2.52 1.5 1.63 1.39 1.78 1.39 1.76 1.5 1.75 
+1.15 1.13 1.13 1.02 2.02 3.28 1.99 3.28 1.52 1.99 1.39 2.02 -3.03 -5.53 -3.02 -5.42 
+-1.76 -2.65 -1.76 -2.38 -2.15 -3.41 -2.13 -3.38 -1.39 -2.15 -1.39 -2.28 -0.74 -0.5 -0.76 -0.62 S
+2999.37 990.06 -1.12 -1.5 -1.02 -1.64 0.76 0 0 -1.26 1.75 2.65 1.89 2.64 2.15 3.15 
+2.12 3.4 -1.75 -3.54 -1.75 -3.4 -1.52 -2.52 -1.5 -2.65 -1.76 -2.63 -1.89 -2.64 -1.13 -1.26 
+-1.15 -1.39 0.39 -0.39 0.37 -0.5 -1.63 -3.14 -1.75 -3.15 -4.04 -6.81 -2.02 -3.28 -2.12 -3.25 
+-1.13 -1.26 -1.26 -1.39 -1.65 -2.52 -1.63 -2.54 -1.88 -2.75 -1.89 -2.91 -1.89 -2.89 -1.89 -3.04 
+-0.76 -1.49 -0.73 -1.52 -1.89 -2.78 -2.02 -2.64 0.76 0.39 0.63 0.37 -0.89 -1.5 -0.75 -1.65 
+-0.87 -1.49 -0.76 -1.39 -1.76 -2.52 -1.75 -2.64 -1.26 -1.89 -1.39 -2.02 1.39 0.99 S
+2957.36 915.86 1.26 0.89 0.99 0.63 0.89 0.63 2 1.89 1.89 1.76 -3.52 -4.27 -3.52 -4.41 
+0.74 -0.26 -2.63 -2.88 -2.52 -2.91 -2.02 -2.78 -2.02 -2.64 -2.02 -2.76 -2.12 -2.64 2.38 2.13 
+2.39 2.14 0.76 0.5 0.89 0.52 1.13 0.63 1.26 0.63 0.37 0.11 0.39 0.14 -0.39 -1 
+-0.37 -1.02 -1.13 -2 -1.25 -2.02 0.63 0.24 0.63 0.26 2.5 2.52 2.41 2.64 2.63 3.02 
+2.78 3.14 2.75 3.15 2.91 3.17 3.02 3.52 3.02 3.54 2.52 2.88 2.65 2.91 S
+2979.62 927.84 3.26 3.77 3.28 4.04 3.28 4.02 1.89 2.28 1.76 2.26 1.89 2.41 1.52 1.99 
+1.5 2.02 S
+2997.98 950.63 1.52 2.02 1.37 1.76 1.39 1.78 1.52 1.89 1.89 1.89 1.49 2.02 1.52 2.02 
+1.5 2.12 1.39 2.02 1.52 2.02 1.38 2.15 1.64 2.25 1.5 2.41 1.65 2.39 1.89 2.89 
+1.89 3.04 1.88 3.02 1.63 2.78 1.63 2.88 1.65 2.78 2.13 3.52 2.02 3.54 2.15 3.53 
+1.89 3.39 1.75 3.41 1.89 3.41 1.89 3.52 1.75 3.41 1.76 3.54 1.13 2.13 2.25 4.3 
+1.89 4.14 1.78 4.04 1.89 4.04 2 4.77 2.02 4.8 2.02 4.9 1.63 4.04 1.65 4.17 
+1.63 4.14 3.52 9.33 1.75 4.64 1.26 3.41 1.13 3.27 1.25 3.41 S
+3075.84 1097.53 1.52 4.91 1.63 4.92 1.52 4.91 1 3.64 1.02 3.54 1 3.64 1.13 4.41 
+1.13 4.3 1.02 4.27 1 4.28 1.02 4.17 0.88 4.27 0.25 1.52 0.13 1.52 0.11 1.5 
+0.64 2.78 0.5 2.78 0.52 2.75 0.63 3.28 0.73 3.27 0.63 3.28 0.75 3.91 0.89 3.91 
+0.76 3.91 0.11 2.02 0.26 2.02 0.13 1.89 0.36 2.65 0.26 2.64 0.24 2.65 -0.5 -2.65 
+-1.25 -5.29 0.63 3.78 0.5 3.77 0.52 3.78 0.63 3.8 0.37 3.77 0.5 3.65 0.26 2.52 
+0.37 2.52 0.26 2.52 0 1.78 0.11 1.76 0 1.63 0.52 4.54 0.5 4.66 0 2.28 
+-0.13 2.39 S
+3100.89 1238.24 -0.13 3.28 0 3.14 0.13 4.04 0 4.01 -0.26 0.39 -0.37 0.37 -0.26 2.78 
+-0.24 2.78 0.13 3.28 0.11 3.26 0 3.16 -0.11 3.02 0.24 5.29 0.26 5.17 0 4.9 
+-0.13 4.93 -0.13 2.89 -0.24 2.78 -0.26 3.64 -0.37 3.41 -0.13 5.79 -0.13 5.54 -0.37 4.54 
+-0.39 4.53 -0.24 4.8 -0.39 4.77 -0.99 4.29 -0.37 2.39 -0.52 2.39 -0.23 -2.75 -0.13 -2.78 
+-0.37 0.89 -0.39 0.74 -0.49 4.79 -0.64 4.91 -0.5 4.41 -0.49 4.43 -0.76 4.54 -0.76 4.4 
+-0.76 3.64 -0.73 3.65 -0.76 3.91 -0.76 3.79 -0.89 4.78 -0.86 4.66 -0.64 0.89 -0.49 0.87 
+0.49 -4.41 S
+3085.54 1389.15 0.38 -4.54 0.89 -4.79 0.76 -4.77 0.24 -3.78 0.13 -3.66 0.63 -4.14 0.5 -4.3 
+0.39 -2.76 0.24 -2.78 0.49 -5.16 0.52 -5.04 0.24 -4.53 0.26 -4.41 0.37 -4.41 0.26 -4.29 
+0.37 -4.14 0.26 -4.17 0.11 -4.54 0.13 -4.54 0 -9.07 -0.13 -4.77 -0.11 -4.93 -0.26 -4.04 
+-0.26 -4.14 -0.11 -4.27 -0.13 -4.43 -0.5 -2.89 -0.63 -2.91 -0.39 -1.39 -0.49 -1.37 -0.5 2.64 
+-0.37 2.63 -0.12 3.28 -0.13 3.14 -0.5 0.65 -0.39 0.63 -0.63 1.13 -0.5 1.13 -0.24 1.52 
+-0.39 1.5 -0.37 2.02 -0.39 1.89 -0.74 -1.26 -0.63 -1.13 -0.26 3.65 -0.13 3.67 -0.5 0.5 
+-0.37 0.63 S
+3082.53 1292.41 -0.49 1.89 -0.39 1.76 0.13 3.41 0 3.54 0.13 3.02 0.14 2.89 -0.14 3.27 
+-0.12 3.15 -0.26 3.8 -0.24 3.78 1 2.25 -0.13 4.04 -0.24 4.04 0 3.78 -0.12 3.78 
+-0.63 1.52 -0.63 1.37 0 -9.3 -1 5.04 -0.39 -2.39 -0.37 -2.39 -0.63 -0.12 -0.62 0 S
+3077.5 1334.48 -0.63 -0.13 -0.63 0 -0.63 -0.63 -0.5 -0.63 -0.76 1.26 -0.63 1.39 -0.76 -0.26 
+-0.76 -0.37 0.63 -2.14 0.52 -2.02 0.11 -4.04 0 -3.91 -0.63 -1.36 -0.63 -1.26 -0.63 -1.39 
+-0.74 -1.26 -0.39 -3.9 -0.5 -3.91 0 -3.28 -0.13 -3.28 0.26 -2.38 0.24 -2.52 S
+3070.31 1298.46 -0.5 -1.52 -0.5 -1.39 -0.13 -3.14 -0.13 -3.02 -0.37 -3.41 -0.5 -3.54 0.63 -1.39 
+0.5 -1.5 -0.13 -3.02 -0.24 -3.17 -0.63 1.39 -0.63 1.26 -0.52 -0.63 -0.5 -0.63 -0.63 -2.88 
+-0.63 -2.91 0.13 3.28 0 3.28 -0.37 1.65 -0.5 1.63 -0.52 2.14 -0.5 2.02 -0.62 -0.39 
+-0.76 -0.5 -0.24 -2.38 -0.39 -2.52 -0.5 -1.28 -0.63 -1.26 -0.24 -2.39 -0.26 -2.39 -0.76 -1.02 
+-0.87 -0.87 -0.13 -2.78 -0.13 -2.64 -0.76 -3.28 -0.63 -3.28 -0.24 -3.28 -0.26 -3.28 -0.5 -2.88 
+-0.37 -2.91 -0.76 0.76 -0.63 0.89 -0.39 -3.28 -0.5 -3.27 0.39 -1.63 0.24 -1.65 -0.76 -3.52 
+-0.74 -3.67 -0.13 2.41 S
+3052.08 1230.68 -0.12 2.26 -0.14 3.28 -0.12 3.14 -0.74 -3.52 -0.76 -3.54 -0.76 -3.02 -0.75 -2.9 
+-0.14 -2.39 -0.11 -2.38 -0.13 -2.02 -0.12 -1.88 -0.76 -2.91 -0.87 -2.88 -0.63 -3.28 -0.76 -3.28 
+-0.76 -2.28 -0.76 -2.39 -0.73 -2.39 -0.89 -2.28 -0.89 -1 -0.87 -1.02 -1 -1.39 -1.02 -1.5 
+-0.76 -0.5 -0.87 -0.52 -0.89 -2.26 -0.87 -2.14 -0.76 -0.5 -0.76 -0.37 -1 -2.28 -1.02 -2.38 
+-0.74 -0.39 -1.52 -0.73 -0.75 -0.39 -0.87 -1.25 -0.89 -1.26 -0.89 -1.63 -0.86 -1.78 -0.89 -2.52 
+-1 -2.52 -0.76 -1.26 -0.87 -1.13 -2.02 -3.41 -1.65 -4.8 0.26 5.06 -1.62 -4.8 -1.52 -4.67 
+-0.5 -4.14 S
+3014.21 1148.54 -1 -4.53 -2.41 -4.93 -1.12 -5.16 -1.13 -6.03 -0.5 -4.3 -0.63 -4.14 -1.89 -6.3 
+-0.12 3.39 0.63 4.17 -2.02 -9.45 -0.11 4.02 -1.15 -5.17 0 -3.28 -1.62 -6.92 -0.76 -2.25 
+-0.76 -2.15 -0.37 -2.52 -0.37 -2.64 -0.52 -2.52 -0.63 -2.65 -0.74 -2.28 -0.76 -2.12 -1 -2.78 
+-1.02 -2.65 -0.87 -2.64 -1.79 -5.29 -0.73 -2.63 -0.76 -2.15 -0.76 -2.28 -1 -3.52 -1.39 -3.01 
+-1.39 -3.17 -1.63 -3.02 -1.52 -3.14 -0.76 -1.65 -0.73 -1.76 -1.02 -1.26 -0.86 -1.26 -0.76 -0.37 
+-0.63 -0.26 -1.63 -3.02 -1.52 -3.04 S
+3068.32 1320.62 0.63 1.13 0.5 1.15 0.5 -0.52 0.37 -0.49 S
+3070.31 1321.88 0.26 3.77 0.26 3.91 -0.26 1.26 -0.36 1.39 -0.52 -2.26 -0.37 -2.41 -0.63 0.39 
+-0.5 0.26 0.13 -3.79 0 -3.78 S
+2991.32 978.97 -1.02 -2 -1.13 -2.02 0 -1.15 -0.13 -1.12 1.15 0.89 1 0.87 1.26 2.65 
+1.13 2.78 -0.37 0.26 -0.39 0.37 -0.74 -0.75 -0.76 -0.76 S
+2931.68 885.89 -2.88 -2.91 -3.02 -2.89 -7.32 -7.31 -2.88 -3.02 -3.02 -2.91 -2.02 -2.02 -2.12 -1.89 
+-2.78 -2.65 -2.89 -2.64 -2.39 -2.39 -2.52 -2.26 -2.41 -2.54 -2.5 -2.52 -1.64 -1.89 -1.63 -1.89 
+1.75 1.13 1.89 1.15 1.39 0.87 1.37 0.89 -4.91 -4.91 3.04 2.39 2.89 2.38 2.12 1.65 S
+2899.21 849.74 2.29 1.76 0.75 0.37 0.64 0.52 3.12 2.62 6.29 5.55 3.14 2.89 1.76 1.89 
+1.78 1.89 0.24 0.89 0.26 0.89 0 1.25 1 1.5 1 1.52 3.15 3.65 3.14 3.79 
+2.02 2.52 1.89 2.65 S
+2634.29 682.95 -4.91 -1.13 -4.91 -1.15 -4.79 -1 -3.78 -0.76 -3.64 -0.87 -3.78 -0.76 -3.51 -0.63 
+-3.65 -0.76 -3.64 -0.63 -2.15 -0.39 -2.13 -0.24 -2.02 -0.26 -0.13 0.13 0 0.26 -0.13 0.11 
+0.89 0.39 0.89 0.24 0.87 0.39 -3.52 -0.63 -3.64 -0.5 -3.54 -0.52 -3.78 -0.74 -3.88 -0.75 
+-3.91 -0.64 -1.75 -0.39 -1.76 -0.5 -1.75 -0.37 -1.26 -0.26 -1.26 -0.37 S
+2563.71 670.23 -1.39 -0.26 -1.89 -0.5 -1.89 -0.39 -1.89 -0.37 -1.12 -0.26 -1.26 -0.37 -1.13 -0.26 
+2.13 0 1.02 0.13 -0.89 -0.23 -1 -0.13 -0.89 -0.26 -3.28 -0.5 -3.38 -0.37 -3.41 -0.39 
+-2.76 -0.37 -2.64 -0.26 -2.75 -0.26 -2.78 -0.23 -0.26 -0.13 -0.11 -0.13 -0.26 0 -0.26 -0.13 
+-2.12 -0.24 -2.02 -0.13 -2.13 -0.26 -2.02 -0.24 0.24 0 0.39 -0.13 0.24 0 0.39 -0.13 
+-0.89 -0.12 -0.76 -0.24 -0.87 -0.13 -0.76 -0.12 3.14 0.13 3.15 0.26 3.28 0.24 3.14 0.26 
+2.13 0.24 2.15 0.26 2.13 0.26 2.02 0.24 3.27 0.39 3.25 0.5 3.15 0.37 3.14 0.52 
+4.28 0.5 S
+2559.55 666.95 4.27 0.5 4.3 0.5 4.27 0.63 4.41 0.63 4.28 0.76 4.41 0.76 4.27 0.63 
+2 0.26 1.89 0.37 1.89 0.26 2.02 0.24 1.63 0.26 1.78 0.24 1.63 0.26 1.76 0.13 
+3.41 0.76 3.38 0.63 3.28 0.74 3.38 0.76 -2.12 -0.37 -2.14 -0.39 -2.13 -0.24 -2.15 -0.39 
+2.39 0.52 2.28 0.5 2.39 0.37 2.25 0.52 2.28 0.5 2.39 0.63 2.25 0.5 2.26 0.63 S
+2627.73 679.04 2.15 0.37 2.13 0.39 2.14 0.38 2.15 0.5 2.76 0.65 2.78 0.63 2.75 0.74 
+2.78 0.63 1 0.26 0.89 0.13 1 0.24 1 0.26 2.91 0.76 2.75 0.76 2.91 0.75 
+2.88 0.88 3.64 1.02 S
+2666.36 688.37 3.52 1 3.64 1.13 3.54 1.15 5.27 1.75 5.17 1.76 5.04 1.89 5.16 1.75 
+5.54 2.02 5.41 2.02 5.53 2.14 5.66 2.15 -3.53 -1.28 -3.52 -1.36 -3.39 -1.26 -3.41 -1.26 
+-2.25 -0.76 -2.15 -0.76 -2.25 -0.76 -2.15 -0.76 -3.52 -1.13 -3.51 -1.25 -3.54 -1.13 -3.52 -1.15 
+-3.64 -1.26 -7.29 -2.26 -3.64 -1.02 -3.67 -1.13 -3.64 -1 -3.65 -1.02 -3.64 -1 -2.88 -0.76 
+-3.02 -0.76 -2.91 -0.62 -2.75 -0.76 -3.64 -1 -3.64 -0.89 -3.67 -0.86 -3.64 -0.89 S
+2627.73 679.04 1.15 0.25 1 0.38 1.13 0.26 1 0.36 -1.87 -0.36 -1.89 -0.39 -1.89 -0.5 
+-1.89 -0.37 -1.65 -0.26 S
+2622.83 678.41 -1.63 -0.26 -1.52 -0.24 -1.63 -0.26 0.76 0.26 0.63 0.24 1.26 0.52 -1.13 0 
+-0.63 -0.13 -0.52 0 3.54 1 7.04 1.78 1.75 0.63 1.78 0.5 1.76 0.5 S
+2693.79 711.42 -4.04 -1.26 -1.89 -0.63 -2.52 -1.02 -2.52 -0.86 -2.49 -0.89 -2.52 -1 -1.26 -0.52 
+-1.89 -0.49 -2.02 -0.63 -1.89 -0.5 -2.52 -0.89 -2.64 -0.87 -2.52 -0.76 -3.64 -1.12 -3.64 -1.15 
+-3.64 -1.12 -2.65 -0.87 -2.62 -0.89 -2.78 -0.89 -1.76 -0.75 -3.52 -1.26 -1.15 -0.37 -2.25 -1 
+-0.63 -0.39 -0.5 -0.37 -0.63 -0.39 0.24 -0.13 S
+2633.9 690.37 0.39 -0.11 0.24 -0.12 0.52 -0.26 0.11 -0.13 0.13 -0.11 0 -0.26 -2.65 -0.89 
+-2.5 -0.74 -2.65 -0.89 -1.65 -0.5 -1.49 -0.52 -1.65 -0.63 -3.88 -0.87 -3.91 -1.02 -4.02 -0.87 
+2.63 0.5 5.29 0.99 0.37 0 0.39 -0.11 0.37 0 -2.15 -0.62 -2.25 -0.64 -2.15 -0.52 
+-1 -0.37 -1 -0.5 -1.13 -0.39 -1.78 -0.5 -1.76 -0.62 -1.75 -0.5 -1.39 -0.39 -1.37 -0.5 
+-1.39 -0.37 1.13 0 1.25 0.13 1.26 0 3.02 0.63 3.14 0.74 3.14 0.63 1.5 0.26 
+1.52 0.26 1.52 0.11 1.63 0.52 1.63 0.5 1.65 0.5 1.75 0.5 1.89 0.52 S
+2626.87 683.21 1.75 0.49 1.89 0.37 1.76 0.26 1.88 0.37 4.28 1.02 8.55 2.25 1.89 0.63 
+2.02 0.76 2.02 0.63 -1.39 -0.26 -1.39 -0.24 -1.39 -0.26 0 0.39 0.13 0.11 5.3 1.78 
+2.63 0.87 -0.37 0 -0.26 0.13 -0.37 0 0.13 0.26 0.13 0.24 0.24 0.26 2.28 0.89 
+2.39 0.87 2.25 0.89 1.76 0.76 1.76 0.63 1.65 0.75 1.63 0.74 1.64 0.63 1.5 0.76 
+2.39 1.02 2.52 1 2.28 1.02 2.39 0.87 2.26 0.89 2.25 1 0.89 0.5 0.76 0.39 
+0.86 0.5 0.5 0.39 0.52 0.38 0.37 0.36 2.52 1.26 1.13 0.63 S
+2694.79 710.39 -0.13 0.26 0 0.13 -0.11 0.13 -0.26 0.11 -0.26 0.26 -0.24 0.13 S
+2665.47 703.23 -1.87 -0.89 -2.02 -0.89 -2.02 -0.76 2.14 0.52 2.13 0.5 2.26 0.63 -0.24 0.26 
+-0.12 0.24 -0.26 0.39 S
+2944.27 1361.18 1.49 -3.39 1.76 -2.41 2.28 -1.89 2.64 -2.13 1.26 0.5 2 -2.15 2.15 -1.75 
+1.63 -3.41 2.15 -0.37 2.26 -1.02 0.63 -2.65 1.76 -3.14 1.75 -4.78 2.28 -0.13 1.13 -2.15 
+2.13 -2.13 0.89 -3.16 2.02 -3.78 1 -3.14 2.02 -2.89 2.25 -3.67 2.02 -1.25 1 -2.26 
+1.89 -2.28 2.78 -2.25 2.02 -1.39 1.89 -3.15 1.25 -0.5 0.24 2.75 1.39 1.26 1.63 -0.87 
+-0.37 4.64 S
+2997.48 1306.25 -0.37 5.43 -0.75 4.53 -0.89 5.92 0 5.17 -1.39 2.15 -1.5 1.76 -1.52 -1.65 
+-1.26 3.04 -1.37 0.87 -1.78 5.3 -1.76 -2.02 -1.63 1.65 0 4.4 -0.5 3.78 -2.14 2.02 
+-1.26 -1.52 -0.76 4.4 -1.37 -0.63 -2.41 2.65 -1.63 -1.13 -2.65 2.28 -1.37 -2.28 -2.28 2.52 
+-2.13 2.78 -2.28 0.87 -2.13 0.26 -2.02 1.13 -2.02 2.15 -1.76 2.39 -2.13 1.15 -2.28 -1.65 
+-1.89 -2.02 -2.12 1.26 -1.89 -2.02 S
+2997.98 1292.54 1.63 0.76 2.14 -0.52 -0.12 -2.52 1.65 0.76 2 0.89 1.52 -1.02 1.89 1.02 
+1.26 2.02 1.76 1.76 1.26 0.63 1.75 -0.89 1.63 0.89 1.52 0.63 1.52 1.63 S
+3019.38 1298.57 1.63 0 1.52 3.41 1.5 0.13 1.39 -0.39 1.26 0.52 -0.39 4.14 -0.49 5.04 
+-1.5 -0.74 -1.25 -2.52 -1.89 -0.39 -0.76 3.91 -1.26 1.39 -1.52 -1.02 -1.89 -0.24 -1.75 0.63 
+-0.37 -5.79 -1.25 -1.39 -1.63 -0.75 -1.52 -1.63 -1.25 -0.63 -1.26 3.15 -1.62 -0.89 -1.76 0.75 
+-1.15 -0.26 -1.13 -2.88 -2.02 -0.26 -0.37 -5.29 -0.62 -4.02 S
+3026.28 1306.38 1.39 -0.24 1.26 -2.28 0.89 5.93 -1.39 1.13 -2.15 -4.54 S
+3031.45 1304 1.39 1.63 1.89 0.63 1.26 2.54 0.99 3.25 1.02 2.28 0.5 1.39 0.63 1.26 
+0.63 1.39 0.5 1.39 S
+3040.25 1319.75 1.5 0 0.63 0.87 0.63 0.89 S
+3043.01 1321.5 0.63 0.5 0.76 0.5 0.5 1.39 0.52 1.39 0.74 0.36 0.63 0.52 0.39 1.76 
+0.37 1.63 S
+3047.55 1329.55 0.49 2.15 0.64 2.02 0.63 2.26 0.63 2.41 -2 -1.26 -0.13 -3.78 -0.25 -3.8 S
+3047.55 1329.55 -0.63 0.63 -0.76 0.63 -0.5 -1.37 -0.5 -1.39 -1.52 0 -0.63 -0.13 -0.74 0 
+-0.52 -1.89 -0.5 -1.76 -0.5 -2.28 -0.5 -2.25 S
+3040.25 1319.75 -0.76 0.87 -0.87 0.89 -1.52 -2.15 -1.89 -0.5 1.13 -3.65 -1.13 -0.63 -1.63 -2.02 
+-1.52 0.13 -0.87 -3.28 0.24 -5.42 S
+3051.46 1339.89 0.87 2.78 0.63 2.64 -0.74 -0.37 -0.89 -0.39 0.14 -2.26 0 -2.4 S
+3053.84 1352 0.63 1.26 0.5 1.26 -0.13 3.02 -0.11 3.02 -0.63 -2.02 -0.63 -1.89 0.24 -2.39 
+0.13 -2.26 S
+3040 1308.9 0.39 -1.5 0.36 -1.52 0.63 0.89 0.63 0.87 0.5 -0.37 0.5 -0.39 0.63 -1.13 
+0.76 -1.13 0.5 2.26 0.52 2.28 -0.76 1.63 -0.76 1.65 -0.75 0.37 -0.76 0.52 -1.26 -1.78 
+-0.62 -1.25 -0.5 -1.39 S
+3052.08 1314.58 0.5 1.37 0.63 1.39 0.5 1.89 0.39 2.02 0.24 3.66 0.13 3.78 0.37 2.89 
+0.26 3.03 0.5 2 0.39 2.02 0.37 1.89 0.37 2.02 0.39 2.52 0.24 2.52 0 5.55 
+-0.5 -1.02 -0.5 -1.13 -0.37 -1.62 -0.39 -1.52 -0.5 -1.76 S
+3055.1 1346.07 -0.63 -1.65 -0.5 -2.13 -0.5 -2.28 0 -4.77 -0.39 -2.02 -0.5 -2.02 -0.37 -1.76 
+-0.25 -1.65 -0.14 -2.52 -0.12 -2.39 0.26 -4.17 0.13 -4.14 S
+3063.52 1376.04 -0.11 3.14 -0.12 3.28 -0.64 3.17 -0.62 3.14 0.24 -3.03 0.13 -2.89 0.63 -3.41 
+0.5 -3.41 S
+3064.78 1403.88 -0.37 3.91 -0.5 3.91 -0.89 4.28 -0.87 4.29 -0.89 2.65 -1 2.75 0.63 -3.38 
+0.63 -3.28 0.74 -3.78 0.63 -3.67 1.02 -3.78 0.87 -3.91 S
+2990.82 1333.59 1.63 1.02 1.26 -1.25 0.37 -3.91 2.91 -0.39 -0.63 4.67 -1.13 -0.37 -1.26 3.02 
+-1.65 3.52 -1.25 -2.39 -0.24 -3.91 S
+3000 1331.71 1.39 0.63 -0.13 5.43 S
+3001.26 1337.76 -2.02 -0.52 0.76 -5.53 S
+3021 1313.32 1.39 1.63 1.37 1.76 -1 -4.67 -1.76 1.28 S
+2995.33 1372.27 1.52 -4.78 1.5 -2.02 1.02 -4.41 2.13 -1.02 1.88 -3.28 1.02 -4.41 1.63 -4.67 
+1.39 -5.03 1.75 1.39 1.13 2.52 0.63 2.91 1.65 -6.81 0.99 3.53 1.26 1.89 0.63 3.91 
+2.13 -1.02 1.15 2.78 1.5 -1.89 1.02 -3.67 0.74 3.17 1.52 8.81 -0.76 5.53 -0.76 7.95 
+-1.89 3.41 -0.11 5.79 0 5.04 -0.63 5.04 -1.39 5.92 -1.13 5.53 -0.52 4.17 1.02 2.39 
+0.76 3.54 -1.65 1.5 -1.89 1.15 -1.99 2.02 -0.63 4.14 -2.02 2.28 -2.15 3.38 -0.87 5.3 
+-1.89 5.66 S
+3005.04 1439.91 0.37 4.8 -2.02 2.02 0.13 3.91 0 4.04 -1.62 -0.26 -2.02 0.37 -1.39 -1 
+-2 4.27 -2.02 0.39 -1.39 0.87 1.25 -5.17 0.38 -5.27 1.39 -4.43 0.76 -6.92 1.5 -3.52 
+-1.24 -3.16 -0.12 -4.41 1 -7.42 0.13 -4.67 0.76 -4.79 -0.13 -5.04 -1.02 -3.14 -0.87 -2.88 
+1.25 -5.69 1.13 -6.92 -1.39 -1.26 -1.63 -1.62 -1.89 0.23 0 -5.29 1 -5.66 S
+3028.17 1377.06 2.02 -6.06 1.02 2.15 1.63 -4.41 1 -6.32 0.89 -6.79 0.87 -3.91 1.02 1.63 
+0.5 1.52 0.5 1.39 -0.63 2.39 -0.62 2.52 -0.37 2.78 -0.5 2.78 -0.52 2.64 -0.63 2.65 
+-1.12 5.17 -1.63 4.27 0 5.3 S
+3031.58 1386.76 0.5 0.87 0.37 1.02 0.39 -1.75 0.5 -1.65 0.37 -2.52 0.39 -2.52 0.76 -1.65 
+0.74 -1.5 0.76 -0.26 0.76 -0.24 1.26 -6.55 0.63 0 0.63 0.13 0 1.99 0.13 2.02 
+0.74 -4.02 0.89 -4.04 0.76 -1.13 0.63 -1.02 0.24 2.9 0.13 2.89 -0.76 3.14 -0.63 3.15 
+-0.87 1.52 -0.75 1.52 -1 2.02 -0.89 1.89 -0.87 0.73 -0.76 0.76 -0.26 5.03 -0.76 1.65 
+-0.87 1.63 -0.63 1.15 -0.76 1.13 -1 1.52 -1.12 1.63 0.11 2.64 0.26 2.65 -0.26 2.64 
+-0.11 2.76 -0.26 3.17 -0.26 3.14 0.39 1.39 0.5 1.37 -0.76 1.02 -0.87 0.87 -0.13 -2.39 S
+3029.82 1417.49 -0.26 -2.25 -0.12 -2.15 -0.11 -2.02 -0.52 -1.13 -0.37 -1.26 0.5 -6.05 -1 -2.39 
+-1.39 3.78 -1.63 0.13 -1.78 5.79 -1.13 6.04 0.39 2.41 0.74 0.76 0.52 2.89 0.87 2.78 
+0.39 1.26 0.74 2.52 0.39 1.26 0.63 0.37 0.76 0.52 0.11 1.63 0.26 1.76 0 2.41 
+0.13 2.25 -0.62 3.67 -0.63 3.64 -0.76 2.78 -0.62 2.76 -0.63 0.5 -0.63 0.52 0.37 -1.89 
+0.26 -1.89 0.49 -2.54 0.39 -2.52 0.11 -2.52 0.26 -2.52 -0.5 -1.49 -0.39 -1.65 -0.11 -1.39 
+-0.12 -1.5 -0.63 -0.26 -0.5 -0.26 -1.13 -1.76 -1.15 -2.02 -1.37 -0.87 1.49 -6.82 -1.12 -3.28 
+1 -3.51 S
+3021.38 1413.98 1.39 -5.3 1.39 -4.8 0.37 -4.91 0.89 -4.79 1.5 -5.79 1.02 -5.8 0.24 -5.53 S
+3029.05 1458.81 0.89 -1.39 1 -1.39 0.87 -2 0.89 -1.91 0.75 -2.39 0.76 -2.52 1 -1.26 
+0.89 -1.25 0.87 -0.37 1.02 -0.39 -1.26 1.52 -1.15 1.5 -0.87 1.91 -0.89 2 -0.87 2.91 
+-1.02 2.78 0.26 1.5 0.13 1.39 -0.75 1.02 -0.76 1 -0.37 2.52 -0.39 2.52 -1 2.52 
+-1.13 2.64 0.38 -3.02 0.26 -3.02 -0.89 1.5 -1 1.39 -0.89 2.65 -0.87 2.52 0.5 -2.39 
+0.38 -2.52 0.75 -2.41 0.89 -2.25 0.73 -2.65 0.89 -2.64 S
+3042.77 1405.77 0.87 -1.5 0.89 -1.52 0.63 0.37 0.63 0.39 S
+3045.79 1403.52 -0.13 2.26 -0.13 2.28 -0.74 1.76 -0.75 1.88 -0.5 -0.76 -0.52 -0.76 -0.11 -2.26 
+-0.13 -2.15 S
+3045.29 1416.5 0.76 0.13 0.87 0 0.13 1.63 0 1.63 0.5 0.89 0.49 0.76 0.76 1.39 
+0.76 1.26 0.63 0 0.76 -0.13 -0.76 2.39 -0.63 2.41 -1.02 1.5 -0.87 1.52 -0.26 -1.39 
+-0.24 -1.39 -0.76 0.26 -0.63 0.24 -0.13 -2 -0.24 -2.02 -0.39 -1.78 -0.49 -1.76 0.36 -2.78 
+0.39 -2.75 S
+3035.72 1414.34 0.63 1.89 0.5 1.89 S
+3039.5 1429.84 0.5 2.28 0.5 2.26 -1 0.25 -1 0.24 1 -5.03 S
+3036.48 1462.98 0.76 -0.13 0.63 -0.13 -0.26 2.39 -0.24 2.41 -0.63 -0.13 S
+3036.74 1467.38 -0.63 -0.13 0.24 -2.14 0.13 -2.13 S
+3040.39 1488.67 1.25 -1.26 1.13 -1.25 -0.13 1.89 -0.26 2.02 -1.99 2.52 0 -3.91 S
+3041.64 1453.14 0.63 0.76 0.5 0.76 0.37 0.74 0.25 0.75 0.88 -2.38 0.89 -2.39 0.63 -0.13 
+0.63 -0.26 0.13 1.52 0.24 1.52 -0.11 2 0 1.91 -0.12 2.75 -0.26 2.91 1.02 -3.54 
+0.99 -3.41 -0.12 -1.75 -0.24 -1.89 0.74 -5.29 -0.24 -1 -0.39 -1.02 0.14 -1.76 0.26 -1.63 
+0.37 0.5 0.26 0.37 0.74 -0.73 0.89 -0.66 1.26 -3.51 0.89 -2.29 0.74 -2.25 0.26 1.13 
+0.13 1.26 -0.76 4.3 -0.89 4.28 S
+3052.32 1444.71 0.89 -0.76 0.76 -0.87 1.39 0 0.63 -0.39 0.63 -0.24 0.24 1.13 0.37 1.25 
+0.52 0.76 0.5 0.87 0.63 0.13 0.63 0.26 0.5 0.63 0.5 0.76 0.63 0 0.63 -0.14 
+0.76 -1.15 0.76 -1.13 1.25 -3.14 1.26 -3.28 1.13 -3.52 1.25 -3.54 1 -3.02 1.02 -3.04 
+-0.14 -2.12 0 -2.02 0.76 -3.77 0.63 -3.67 0.74 -5.03 0.76 -5.17 0.39 1.65 0.24 1.76 
+-0.24 3.41 -0.13 3.52 0.24 1.78 0.13 1.76 0.13 2.38 0 2.39 0.63 -1.63 0.76 -1.75 
+0.63 -1.52 0.74 -1.52 1.52 -2.52 0.26 0.89 0.24 1 0.13 1.52 0.26 1.52 0.37 0.5 S
+3079.25 1419.64 0.5 0.5 -0.37 3.9 -0.39 3.91 -0.5 2.52 -0.5 2.65 -0.89 2.78 -0.87 2.75 
+-0.39 2.65 -0.24 2.64 -0.63 2.91 -0.5 2.88 -1.02 4.54 -1 4.54 -0.13 1.75 0 1.89 
+0.26 -0.11 0.37 -0.14 0.63 0.14 0.5 0.11 0.13 0.89 0.14 1.02 1.13 -3.17 1.26 -3.25 
+1 -2.65 1.02 -2.64 0.87 -1.65 1.02 -1.63 0.75 -1.39 0.74 -1.52 0.76 -2.38 0.76 -2.29 
+0.13 1.15 0.11 1.13 0.26 2.78 0.13 1.5 0.13 1.52 0 1.13 0.11 1.25 0.89 -2.25 
+0.76 -2.28 -0.39 3.14 -0.37 3.28 -1.26 4.67 -1.26 4.79 0 -3.14 -0.24 -0.13 -0.39 -0.26 S
+3082.27 1460.07 -1 4.3 -1.02 4.14 0.13 -1.76 0.13 -1.65 -0.26 -0.63 -0.24 -0.5 -1.26 4.54 
+-1.26 4.41 0.5 -3.38 0.5 -3.54 -1.26 3.14 -1.26 3.02 -1.62 4.8 -1.63 4.66 -0.52 0 
+-0.5 0.13 -1.13 2.13 -1.25 2.02 -1.13 2.78 -1.13 2.65 -0.52 2.39 -0.5 2.39 -0.5 2.41 
+-0.5 2.39 -1.52 4.16 -1.63 3.88 -0.76 1.02 -0.76 0.89 0.63 -3.28 0.76 -3.14 -0.76 0.11 
+-0.63 0.26 0.13 -1.52 0 -1.39 -1.76 4.29 -1.76 4.28 -1.13 1.75 -1.02 1.79 -0.5 0 
+-0.5 0.11 -0.76 0.26 -0.63 0.26 -0.49 -0.26 -0.37 -0.26 -0.52 -0.24 -0.37 -0.39 0 -2.62 
+-0.5 -0.63 S
+3050.2 1510.22 -0.39 -0.63 -0.24 -0.52 -0.26 -0.62 -0.37 -0.76 -0.26 -0.74 -0.24 -0.76 -0.26 -0.89 
+-1 -1 0.13 -1.64 0.11 -1.5 -0.24 -0.89 -0.26 -0.76 -0.37 -0.76 -0.26 -0.75 S
+3046.29 1497.98 -1.5 0 -0.52 -0.24 -0.63 -0.26 0.76 -3.91 0.76 -3.78 1 -3.28 1.02 -3.41 
+0.24 -2.26 0.26 -2.15 0.87 -3.91 1.02 -3.91 0.76 -2.89 0.63 -2.91 0.86 -3.28 0.89 -3.38 
+-0.13 -1.26 0 -1.26 -0.89 0.74 -0.74 0.63 -1.15 2.54 -1.12 2.52 -0.37 -0.26 -0.5 -0.37 
+-1.13 2.52 -1.15 2.39 -0.99 3.41 -1.14 3.52 -1.52 2.91 -1.63 3.02 0 -2.15 -0.12 -2.12 
+-0.87 0.63 S
+3039.25 1475.82 -0.75 0.63 -0.13 -2.15 -0.13 -2.02 0.63 -2.89 0.63 -2.9 0.26 -2.65 0.11 -2.64 
+0.89 -4.02 0.89 -4.04 S
+2952.2 1545.75 3.14 -3.67 2.25 -2.52 2.65 -3.14 1.89 0.26 -1.76 2.89 1.5 0 1.65 -4.14 
+2.12 -3.17 1.13 1.89 -1.76 5.29 1.52 0.5 3.14 -1.63 -2.28 3.14 -1.76 2.02 1.39 1 
+3.15 -2.52 1 1.15 -0.5 2.64 -2.26 0.63 -1.88 1.63 -0.39 2.52 -1.37 -1.52 -0.89 -1.13 
+0 -1.89 1.26 -3.64 -0.89 -1.26 -2.75 2.76 -3.64 3.53 -2.64 4.41 -2.26 5.3 -2.38 4.8 
+-2.78 4.27 -1.89 0.5 -2.89 3.41 -3.41 4.66 1.65 -3.9 -0.39 -1.78 -1.39 -0.64 0.52 -2.75 S
+2940 1565.64 2.75 -4.29 2.28 -3.78 2.26 -1.89 3.28 -4.9 2.62 -3.54 -0.99 -1.5 S
+2987.67 1472.42 -0.5 6.05 -1.15 4.02 -1 4.8 -2.02 5.43 -0.36 3.01 -1.52 6.05 -3.78 5.04 
+3.28 -7.68 1.89 -6.19 1.13 -4.4 1.39 -5.93 0.89 -4.91 1.75 -5.29 S
+2967.29 1528.47 2.26 -1.39 2.64 -2.89 1.76 -1.13 -1.52 4.78 -2.62 3.77 -1.78 0.63 -0.62 -1.63 
+-0.11 -2.15 S
+2972.94 1543.46 2.64 -2.88 1.39 1 2.26 -4.41 -0.5 -1.64 3.02 -4.64 0.5 1.26 3.04 -4.8 
+-0.39 3.64 -2.25 1.89 -2.15 3.28 0 4.03 -3.14 3.65 -2.25 3.27 -2.26 1.79 0.5 -3.67 
+-0.39 -1.76 S
+2982.64 1514 -0.13 3.91 0.89 0.49 S
+2983.4 1518.4 2.13 -3.4 1.02 -4.27 2.13 -2.15 1.75 -0.89 -0.99 3.91 -2.52 3.28 0.99 0.52 
+-1.62 4.14 1.76 -1.39 -0.24 3.67 -2.15 3.38 -0.5 -2.13 -2.15 3.28 -2.64 4.02 2.15 -4.28 
+1.13 -4.27 -2.02 3.64 -0.63 -1.65 -2.88 5.17 -0.24 -3.39 -1.26 1.5 -0.63 -2.52 2.13 -2.39 
+2.52 -4.41 2.02 -3.77 S
+2998.25 1486.52 1.63 -2.52 -1.76 4.67 -1.62 4.91 -0.13 2.52 2 -3.02 -0.24 2.52 -1.25 4.8 
+1 0.87 1.26 -0.74 1.52 -4.3 2.65 -5.16 1.37 -0.37 1.39 0.13 0.13 0.87 0.13 1.02 
+0.87 -0.63 0.89 -0.52 -1.13 3.17 -1.02 3.26 -0.86 1.02 -0.89 1 -0.76 0.76 -0.87 0.75 S
+3002.52 1501.52 -1.12 3.28 -0.76 2.15 -0.76 2.13 1 -1 1.02 -1.12 1.49 -2.15 1.52 -2.14 
+-1.26 2.78 -1.13 2.64 -1.02 2.65 -1 2.64 -1 1.76 -1.15 1.88 -1.5 1.76 -1.52 1.78 
+-1.37 2.52 -1.52 2.52 -2.65 2.26 -2.26 0 3.52 -5.16 1.13 -4.04 -0.87 -0.5 2.39 -5.17 
+0.26 -3.14 1.5 -4.78 -2.12 3.15 -1.02 -0.52 0.63 -3.78 1.39 -4.14 0.5 -4.3 0.89 -3.39 
+2.52 -5.55 S
+3056.73 1523.3 0.89 -1.62 0.76 -1.65 -0.26 1.65 -0.13 1.63 0.76 -1.12 0.89 -1.26 -0.25 1.63 
+-0.13 1.64 -0.63 2.39 -0.5 2.39 -0.5 2.41 -0.63 2.39 -1.63 4.54 -1.52 4.54 -2.26 5.53 
+-2.28 5.56 S
+3049.3 1553.93 -0.62 2.15 -0.64 2.13 -2.52 5.16 -2.62 5.03 -2.02 4.43 -2.02 4.41 -1.89 3.02 
+-1.75 3.02 1.39 -3.91 1.39 -4.02 2.88 -4.92 2.76 -5.03 0.76 -2.15 0.63 -2.13 2.91 -6.68 
+2.89 -6.8 0.63 -2.02 0.99 -4.04 0.63 -2.02 0.89 -3.41 1 -3.39 0.63 -2.78 0.63 -2.64 
+0.26 -2.02 0.24 -2.02 S
+3036.22 1558.7 -0.63 2.29 -0.63 2.25 S
+3027.17 1591.84 0.63 0.13 1.89 0 -0.37 1.13 -0.26 1.13 S
+3029.05 1594.23 2.26 -3.14 2.14 -3.28 2.52 -3.78 2.38 -3.91 -2.78 5.3 -2.76 5.43 -1.52 2.12 
+-1.37 2.29 -0.52 -0.5 -0.37 -0.52 S
+3029.05 1594.23 -0.49 0.13 S
+3028.56 1594.36 -0.39 0.13 -0.24 -0.5 -0.39 -0.63 -0.11 -0.76 -0.26 -0.76 S
+3036.22 1590.08 1.52 -2.65 1.63 -2.64 1.52 -2.78 1.13 -1.63 1 -1.52 1.15 -1.62 0.5 -0.76 
+0.63 -0.63 0.5 -0.75 -1.52 3.53 -1.5 3.39 -1.65 3.53 -0.62 0.76 -0.74 0.74 -0.62 0.76 
+-1.39 2.02 -1.39 1.89 -1.39 1.78 0.52 -1.15 0.74 -2.26 S
+3039.5 1589.58 0.37 -0.12 0.52 -0.14 0.36 -0.26 0.13 0.26 0.24 0.14 0.13 0.13 S
+3049.3 1573.96 0.76 -1.02 0.89 -0.87 0.74 -1.02 S
+3037.37 1599.91 0.24 -0.12 0.26 -0.13 0.37 -0.26 0.13 0.13 0.5 0 0.26 -0.13 0.24 -0.11 
+0.26 -0.13 S
+3032.96 1613.52 1.63 -2.78 1.76 -2.78 1.65 -2.89 0.87 -1.26 0.89 -1.28 0.74 -1.37 1.15 -1.65 
+1.13 -1.76 1.26 -1.76 S
+3051.2 1576.84 1.13 -2.13 1.02 -2.28 1.13 -2.25 1.52 -2.78 0.87 -1.39 -0.75 1.89 -0.74 1.88 
+-0.76 1.89 -0.39 1.26 -0.5 1.26 -0.37 1.26 -1.65 3.54 -1.63 3.53 -1.63 3.52 -0.26 -0.12 
+-0.14 -0.24 -0.24 -0.14 1.26 -2.9 1.13 -2.89 1 -2.91 S
+3051.82 1580.25 1.13 -1.63 1.02 -1.65 1 -1.63 -0.87 2.13 -0.89 2.28 -0.89 2.39 -1.13 1.89 
+-1 1.76 -1.13 1.91 1 -2.54 0.89 -2.52 0.86 -2.39 S
+3080.64 1527.71 1.39 -3.77 1.36 -3.78 1.52 -3.91 1.39 -3.9 S
+3086.3 1512.35 1.37 -3.91 1.15 -3.52 1.26 -3.67 1.13 -3.52 1.13 -3.64 1.13 -3.67 -0.89 3.15 
+-0.87 3.14 -1 3.17 -1.02 3.25 -1 3.28 -1.39 3.8 -1.26 3.78 -1.39 3.77 -1.39 3.64 
+-1.37 3.67 1 -2.78 1 -2.65 0.89 -2.78 1 -2.78 0.89 -2.63 -1.13 3.28 -1.25 3.39 
+-1.26 3.27 -1.25 3.15 -1.13 3.14 S
+3094.73 1487.54 1.52 -4.79 1.36 -4.91 1.39 -4.93 1.39 -4.91 1.39 -5.04 -0.52 2.02 -0.5 2.13 
+-1 4.3 -0.5 2.13 -1.02 2.91 -0.87 2.88 -0.89 2.78 -0.87 2.78 -0.89 2.65 S
+3119.14 1261.16 -0.39 -6.3 -1 -12.85 -0.63 -6.42 -0.37 -3.91 -0.39 -3.78 S
+3116.36 1227.91 -0.36 -3.91 -0.39 -4.04 -0.5 -3.9 -0.24 -2.52 -0.39 -2.39 -0.24 -2.52 -0.39 -2.52 
+-0.37 -2.65 -0.26 -2.52 -0.37 -2.54 -0.39 -2.63 -0.5 -2.54 -0.37 -2.63 -0.39 -2.78 -1 -5.55 
+-0.5 -2.75 -0.5 -2.78 -0.62 -3.77 -0.76 -3.78 -0.76 -3.91 -0.87 -3.78 -0.76 -3.91 -0.13 -0.76 
+-0.12 -0.63 -0.13 -0.76 -0.11 -0.62 0 -0.76 0.74 3.91 1.78 7.55 0.74 3.79 0.75 3.78 
+0.64 3.78 0.75 3.64 0.63 3.66 1.25 7.3 0.24 2.02 0.39 2.15 0.24 2.02 0.26 2.02 
+0.26 2 1 6.81 0.37 3.41 0.52 3.27 0.36 3.26 0.5 4.16 S
+3116.36 1222.61 0.39 4.17 0.5 4.02 0.74 8.07 0.13 2.39 0.13 2.28 0.13 2.39 0.13 2.26 
+0.11 2.15 0.13 2.28 0.13 2.13 0 2.14 0.13 2.15 0.13 2.13 S
+2415.25 670.72 -2.02 0.26 -2 0.24 -1.88 0.26 2.52 0 -3.04 0.24 -3.12 0.26 -3.14 0.26 
+4.27 -0.63 4.15 -0.52 4.27 -0.37 S
+2988.54 1701.43 -0.63 0.89 -0.74 0.89 -0.75 0.87 -0.63 1.02 -0.76 0.86 -0.76 1.02 -0.76 0.87 
+-0.74 1.02 -0.75 0.99 -0.89 1.02 -0.76 1 -0.86 1.02 -0.76 1 -0.87 1 -0.89 1.02 
+-0.89 1.13 -0.87 1.02 -0.89 1.13 -0.87 1.13 -1.02 1 -0.87 1.15 S
+2971.57 1722.48 -1.76 2.02 -1.78 2 -1.75 2.14 -3.52 4.04 -1.89 2.15 -1.89 2 -3.77 4.29 
+-2.02 2.02 -1.89 2.12 -2 2.15 -2.02 2.15 -2.15 2.25 -2.13 2.15 -2.02 2.15 -2.15 2.26 
+-2.25 2.15 -2.13 2.26 -2.28 2.15 -2.25 2.25 -2.39 2.28 -2.28 2.26 -7.04 6.55 -3.53 3.28 
+-10.94 9.83 -7.55 6.55 -3.88 3.14 -3.91 3.28 -3.91 3.15 -4.02 3.27 -4.03 3.15 -4.02 3.14 
+-4.16 3.15 -4.14 3.14 -4.14 3.04 -4.28 3.14 -4.27 3.02 -4.41 3.02 -4.41 3.04 -8.81 6.03 
+-4.54 2.91 -4.52 2.89 -2.15 1.28 S
+2822.61 1851.73 -4.03 2.52 -2 1.26 -1.88 1.26 -2.02 1.13 -1.89 1.13 -2.02 1.13 -1.89 1.15 
+-1.89 1.13 -1.75 1.13 -1.89 1.02 -1.89 1.13 -1.76 1 -1.75 1.02 -1.76 1 -1.75 0.89 
+-1.76 1 -1.78 1.02 -1.63 0.86 -1.76 0.89 -1.62 0.89 -1.65 0.86 -1.62 0.89 -1.65 0.87 
+2.28 -1.26 2.26 -1.12 2.26 -1.26 2.14 -1.13 2.15 -1.25 2.13 -1.13 2.15 -1.15 2 -1.13 
+2.02 -1.26 4.04 -2.25 1.89 -1.15 3.77 -2.26 1.87 -1.02 1.89 -1.13 1.78 -1.12 1.76 -1.02 
+1.76 -1.13 1.76 -1 1.63 -1.12 1.78 -1.02 7.29 -4.77 3.65 -2.41 S
+2833.18 1844.79 3.64 -2.25 3.52 -2.41 3.41 -2.39 3.52 -2.39 3.41 -2.39 3.25 -2.41 3.41 -2.39 
+3.15 -2.38 3.28 -2.29 3.14 -2.38 3.12 -2.39 3.15 -2.41 3.04 -2.39 3.02 -2.39 3.02 -2.28 
+2.88 -2.39 3.41 -2.91 3.51 -2.76 3.39 -2.91 3.41 -2.88 3.4 -3.04 3.39 -2.89 3.41 -3.02 
+3.25 -2.91 3.41 -3.02 3.28 -3.14 3.26 -3.04 3.14 -3.02 3.28 -3.15 3.15 -3.02 3.14 -3.16 
+6.29 -6.3 2.63 -2.75 2.65 -2.78 2.52 -2.78 2.65 -2.78 2.64 -2.76 2.63 -2.91 2.64 -2.89 
+2.65 -3.04 2.63 -3.02 2.64 -3.02 2.65 -3.04 2.64 -3.14 2.63 -3.14 5.29 -6.29 2.65 -3.28 S
+2983.4 1708.12 2.52 -3.41 2.63 -3.28 S
+2717.69 1905.01 -0.24 0.13 -0.26 0.13 -0.37 0.11 -0.26 0 -0.25 0.13 -0.24 0.13 -0.26 0.13 
+-0.24 0.13 -0.26 0.11 -0.37 0.13 -0.26 0.13 -0.24 0.13 -0.39 0.14 -0.24 0.11 -0.26 0.13 
+-0.37 0.13 -0.26 0.14 -0.37 0.13 -6.16 2.26 -6.18 2.39 -6.27 2.28 -6.16 2.15 -6.3 2.13 
+-6.29 2.02 -6.16 1.89 -12.59 3.78 -6.29 1.78 -6.16 1.63 -6.29 1.65 -6.29 1.63 -6.16 1.52 
+-6.27 1.39 -6.16 1.37 -6.18 1.26 -6.17 1.28 -5.77 1 -5.92 1.13 -5.77 0.89 -5.93 1 
+-5.9 0.89 -5.93 0.89 -6.03 0.74 -5.9 0.76 -6.05 0.63 -6.04 0.63 S
+2541.19 1948.09 -6.03 0.63 -6.05 0.49 -6.04 0.39 -6.03 0.37 -6.16 0.39 -6.03 0.24 -6.16 0.26 
+-6.06 0.26 5.04 -0.26 2.52 0 5.04 -0.26 2.38 -0.11 2.52 -0.13 4.78 -0.26 2.4 -0.13 
+2.39 -0.11 2.39 -0.13 2.39 -0.26 2.39 -0.12 2.26 -0.24 2.41 -0.13 2.25 -0.25 2.26 -0.13 
+-1.88 0.13 -2 0.13 -1.89 0.26 -1.89 0.11 -5.66 0.39 -3.52 0.26 -1.89 0.11 -1.78 0.13 
+-1.75 0 -1.63 0.13 -1.76 0.13 -1.75 0 -1.65 0.13 -1.62 0 6.79 -0.26 6.79 -0.37 
+6.92 -0.52 6.92 -0.5 7.04 -0.63 7.05 -0.76 S
+2546.86 1947.46 7.03 -0.76 7.05 -0.87 7.18 -1.02 7.03 -1 7.18 -1.13 7.16 -1.26 7.29 -1.26 
+7.18 -1.39 7.29 -1.52 7.16 -1.63 6.43 -1.39 6.29 -1.52 6.29 -1.62 6.29 -1.65 6.27 -1.63 
+6.29 -1.78 6.16 -1.89 6.29 -1.89 6.16 -1.89 6.17 -2.02 6.16 -2.12 12.33 -4.3 6.05 -2.25 
+6.04 -2.28 6.03 -2.39 S
+2005.77 1744.14 -2.65 -2.89 -2.78 -2.91 -2.62 -3.02 -2.65 -3.02 -2.64 -2.91 -2.62 -3.02 -2.64 -3.14 
+-2.29 -2.65 -2.25 -2.65 -2.13 -2.64 -2.14 -2.65 -2.02 -2.52 -2.12 -2.64 -2.02 -2.52 S
+1972.18 1704.97 -2.15 -2.91 -2.25 -2.76 -2.15 -2.78 -2.12 -2.91 -2.26 -2.89 -2.02 -2.78 -2.39 -3.28 S
+1956.83 1684.68 -2.28 -3.14 -2.12 -3.15 -2.29 -3.14 -1.99 -3.02 -2.15 -3.04 2.02 2.91 2.02 2.88 
+2.13 3.04 2.02 2.88 2.13 2.91 2.14 3.02 2.26 2.88 2.14 3.04 2.26 3.02 2.38 3.02 
+2.28 3.04 2.39 3.15 S
+1972.18 1704.97 1.63 2.02 1.65 1.89 3.25 4.03 1.65 1.89 1.5 2.02 3.28 3.78 3.28 3.91 
+3.26 3.91 3.4 3.91 3.52 3.89 3.54 3.91 3.64 4.04 S
+1850.02 1301.48 0 -2.02 0.13 -2.02 0 -2.02 0.14 -1.13 0.11 -1.12 0.13 -1.13 0 3.65 
+-0.13 3.51 -0.11 0.76 -0.26 1.52 S
+2217.62 1840.02 -0.13 -0.39 -0.13 -0.24 -0.36 0 -0.26 -0.14 0.52 0.38 S
+2217.25 1839.63 0.37 0.39 S
+2214.73 1837.74 -1.39 -0.76 -1.52 -0.62 -1.26 -0.76 -1.13 -0.74 0.63 0 0.63 -0.13 1.39 0.87 
+1.49 0.89 0.52 0.63 0.63 0.63 S
+2196.22 1827.54 -3.51 -1.52 -2.13 -1.39 -2.28 -1.5 3.02 1.39 3.04 1.26 0.87 0.86 1 0.89 S
+2182.9 1819.86 -4.04 -2.78 S
+2176.48 1815.95 -1.62 -0.89 -1.52 -0.87 -1 -0.39 -0.89 -0.37 -0.86 -0.76 -0.89 -0.75 -1.26 -1.26 
+2.29 1.39 2.25 1.26 0.63 0.5 0.63 0.63 2.26 1.52 S
+2164.15 1809.03 -1.26 -0.52 -1.26 -0.36 0.13 0.36 0.26 0.52 -2.39 -1.15 -2.41 -1.13 -0.74 -0.24 
+-0.89 -0.26 -1.76 -1.13 S
+2153.84 1805.12 -1.88 -1.26 0.25 -0.12 0.11 -0.26 -0.5 -0.5 -0.37 -0.63 -1.13 -1 -1.15 -1.02 
+-0.11 -0.5 -0.13 -0.39 1.5 1.02 1.65 1 1.37 0.63 1.39 0.76 1.52 1.02 1.5 1 
+1.65 1.02 1.5 1 1.52 1.13 1.63 1.02 S
+2259.48 2052.04 -11.59 0 -1.02 2.32 -1.17 1.96 -1.39 1.63 -1.59 1.28 -1.84 0.98 -2.11 0.67 
+-2.41 0.41 -2.73 0.11 -1.76 -0.09 -1.69 -0.26 -1.61 -0.45 -1.54 -0.61 -2.84 -1.72 -2.43 -2.34 
+-1.99 -2.93 -1.5 -3.45 -0.93 -3.95 -0.33 -4.43 0.3 -4.06 0.83 -3.89 1.37 -3.55 1.87 -3.17 
+1.13 -1.41 1.26 -1.26 1.39 -1.08 1.52 -0.93 1.65 -0.74 1.8 -0.57 1.91 -0.32 2.06 -0.13 
+2.36 0.2 2.43 0.61 2.43 1 2.3 1.41 2.04 1.84 1.69 2.28 1.24 2.73 0.65 3.17 
+-13.67 0 0 10.11 23.92 0 0 -31.81 -7.27 0 -1.5 7.57 -2.08 -2.84 -2.25 -2.21 
+-2.32 -1.67 -2.39 -1.21 -2.39 -0.8 -2.34 -0.48 -2.23 -0.24 -2.11 -0.07 -2.95 0.16 -2.82 0.43 
+-2.69 0.71 -2.56 0.98 -2.43 1.23 -2.23 1.48 -2.11 1.71 -1.89 1.95 -1.73 2.17 -1.52 2.36 
+-1.32 2.56 -1.11 2.75 -0.89 2.96 -0.66 3.1 -0.41 3.26 -0.15 3.43 0.2 4.08 0.52 3.77 
+0.87 3.46 1.15 3.12 1.41 2.82 1.63 2.52 1.87 2.25 2.02 1.98 2.17 1.69 2.28 1.46 
+2.39 1.19 2.43 0.96 2.47 0.71 2.46 0.52 2.43 0.3 2.39 0.09 3.56 -0.17 3.88 -0.64 
+3.97 -1.17 1.97 -0.82 1.91 -1 1.84 -1.2 1.73 -1.41 1.61 -1.61 1.45 -1.84 1.26 -2.09 
+1.09 -2.34 0.82 -2.6 0.59 -2.89 f*
+2269.88 2011.59 12.1719 59.4805 re
+f*
+2337.02 2052.93 -11.74 0 -0.43 2.43 -0.89 2 -1.28 1.58 -1.61 1.2 -1.84 0.87 -2.02 0.59 
+-2.13 0.3 -2.12 0.11 -1.89 -0.13 -1.84 -0.35 -1.73 -0.56 -1.54 -0.8 -1.32 -1.02 -1.02 -1.22 
+-0.67 -1.43 -0.22 -1.63 0.22 -1.86 0.69 -1.52 1.17 -1.21 1.67 -0.98 2.13 -0.82 2.63 -0.71 
+6.79 -1.37 4.3 -0.74 3.95 -0.96 3.53 -1.24 3.06 -1.65 1.32 -1.02 1.17 -1.13 1.02 -1.3 
+0.84 -1.43 0.68 -1.63 0.5 -1.8 0.3 -2 0.11 -2.21 -0.09 -2.17 -0.28 -2.08 -0.46 -1.98 
+-0.65 -1.86 -0.85 -1.73 -1.02 -1.61 -1.24 -1.5 -1.41 -1.34 -1.63 -1.22 -1.84 -1.06 -2.02 -0.91 
+-2.23 -0.76 -2.46 -0.61 -2.67 -0.43 -2.89 -0.26 -3.08 -0.11 -3.06 0.13 -2.82 0.32 -2.58 0.54 
+-2.37 0.72 -2.14 0.91 -1.93 1.06 -1.72 1.2 -1.54 1.34 -1.34 1.43 -1.15 1.57 -0.98 1.63 
+-0.8 1.71 -1.11 3.56 -0.52 3.67 11.89 0 0.39 -2.22 0.74 -1.97 1.09 -1.71 1.47 -1.43 
+1.84 -1.13 2.25 -0.82 2.65 -0.5 3.06 -0.18 2.26 0.11 2.15 0.35 2 0.61 1.76 0.85 
+1.47 1.13 1.13 1.41 0.72 1.71 0.26 2.02 -0.26 2.17 -0.76 1.74 -1.3 1.41 -1.82 1.15 
+-2.41 0.93 -2.97 0.82 -7.7 1.59 -5.04 0.98 -4.1 1.32 -3.3 1.68 -2.5 1.97 -1.84 2.26 
+-1.2 2.5 -0.67 2.73 -0.21 2.93 0.11 2.13 0.32 2.02 0.54 1.87 0.74 1.76 0.91 1.61 
+1.11 1.48 1.25 1.34 1.43 1.22 1.58 1.06 1.72 0.93 3.82 1.43 4.25 0.87 4.63 0.29 
+4.1 -0.2 4.06 -0.66 3.88 -1.21 1.84 -0.8 1.72 -1 1.61 -1.17 1.47 -1.35 1.32 -1.54 
+1.13 -1.73 0.96 -1.96 0.75 -2.2 0.5 -2.4 0.29 -2.67 f*
+2391.38 2052.93 -11.74 0 -0.43 2.43 -0.89 2 -1.28 1.58 -1.61 1.2 -1.84 0.87 -2.02 0.59 
+-2.12 0.3 -2.13 0.11 -1.89 -0.13 -1.85 -0.35 -1.73 -0.56 -1.55 -0.8 -1.32 -1.02 -1.02 -1.22 
+-0.68 -1.43 -0.21 -1.63 0.21 -1.86 0.7 -1.52 1.17 -1.21 1.65 -0.98 2.15 -0.82 2.63 -0.71 
+6.79 -1.37 4.3 -0.74 3.95 -0.96 3.54 -1.24 3.06 -1.65 1.33 -1.02 1.17 -1.13 1.02 -1.3 
+0.84 -1.43 0.67 -1.63 0.5 -1.8 0.3 -2 0.11 -2.21 -0.09 -2.17 -0.29 -2.08 -0.45 -1.98 
+-0.65 -1.86 -0.84 -1.73 -1.02 -1.61 -1.24 -1.5 -1.43 -1.34 -1.61 -1.22 -1.84 -1.06 -2.02 -0.91 
+-2.25 -0.76 -2.43 -0.61 -2.67 -0.43 -2.89 -0.26 -3.08 -0.11 -3.06 0.13 -2.82 0.32 -2.58 0.54 
+-2.37 0.72 -2.14 0.91 -1.93 1.06 -1.71 1.2 -1.54 1.34 -1.34 1.43 -1.15 1.57 -0.98 1.63 
+-0.8 1.71 -1.11 3.56 -0.52 3.67 11.89 0 0.39 -2.22 0.73 -1.97 1.09 -1.71 1.47 -1.43 
+1.84 -1.13 2.26 -0.82 2.64 -0.5 3.06 -0.18 2.25 0.11 2.15 0.35 1.99 0.61 1.76 0.85 
+1.47 1.13 1.13 1.41 0.71 1.71 0.26 2.02 -0.26 2.17 -0.75 1.74 -1.3 1.41 -1.85 1.15 
+-2.38 0.93 -2.98 0.82 -7.7 1.59 -5.04 0.98 -4.1 1.32 -3.3 1.68 -2.49 1.97 -1.84 2.26 
+-1.2 2.5 -0.67 2.73 -0.22 2.93 0.11 2.13 0.32 2.02 0.55 1.87 0.74 1.76 0.91 1.61 
+1.11 1.48 1.26 1.34 1.43 1.22 1.59 1.06 1.71 0.93 3.82 1.43 4.25 0.87 4.62 0.29 
+4.11 -0.2 4.05 -0.66 3.88 -1.21 1.85 -0.8 1.71 -1 1.61 -1.17 1.48 -1.35 1.32 -1.54 
+1.13 -1.73 0.95 -1.96 0.76 -2.2 0.5 -2.4 0.28 -2.67 f*
+2398.22 2028.84 22.1094 11 re
+f*
+2429.55 2071.07 43.05 0 0 -10.41 -30.87 0 0 -13.09 28.66 0 0 -10.41 ^ 
+0 -15.17 32.22 0 0 -10.39 -44.4 0 0 59.48 f*
+2494.9 2021.7 24.38 0 0 -10.11 -39.37 0 0.2 3.86 0.67 3.5 1.19 3.19 1.82 3.02 
+2.47 2.97 3.23 3.09 4.04 3.25 4.93 3.58 4.82 3.82 1.65 1.61 1.23 1.56 0.88 1.57 
+0.56 1.69 0.29 1.86 0.09 2.17 -0.11 1.59 -0.33 1.61 -0.56 1.52 -0.82 1.39 -1.11 1.21 
+-1.39 0.93 -1.69 0.61 -2 0.21 -1.78 -0.2 -1.59 -0.54 -1.43 -0.89 -1.21 -1.24 -0.98 -1.65 
+-0.71 -2.02 -0.46 -2.45 -0.15 -2.91 -11.16 0 0 3.71 0.13 1.98 0.3 1.87 0.5 1.76 
+0.65 1.67 0.82 1.56 0.96 1.43 2.34 2.54 2.8 2.02 3.17 1.5 3.49 0.93 3.69 0.3 
+3.52 -0.21 3.51 -0.67 3.37 -1.24 1.58 -0.82 1.52 -1 1.39 -1.17 1.26 -1.34 1.13 -1.52 
+0.96 -1.74 0.76 -1.93 0.58 -2.13 0.37 -2.37 0.11 -2.58 -0.26 -3.6 -0.76 -3.04 -1.17 -2.56 
+-1.52 -2.2 -1.8 -1.93 -2 -1.76 -4.37 -3.36 -5.27 -3.97 -3.28 -2.71 -2.14 -2.34 -1.93 -2.87 f*
+2524.91 2028.84 22.1133 11 re
+f*
+2556.54 2071.07 33.14 0 2.45 -0.28 2.54 -0.71 2.45 -1.21 2.31 -1.69 1.97 -2.22 1.58 -2.75 
+0.59 -1.59 0.43 -1.71 0.28 -1.86 0.08 -2.02 -0.17 -2.8 -0.5 -2.52 -0.82 -2.21 -1.13 -1.96 
+-1.43 -1.69 -1.7 -1.41 -1.97 -1.19 -2.22 -0.96 2.3 -1.04 1.8 -1.09 1.39 -1.32 1 -1.63 
+0.7 -2.15 0.41 -2.76 0.22 -3.56 0.04 -4.45 0.04 -3.71 0.41 -2.32 0.37 -0.78 0.48 -0.63 
+1.39 -1.04 0 -2.21 -13.09 0 -0.84 1.58 -0.54 1.7 -0.31 1.84 -0.08 2.02 0 9.96 
+-0.11 1.39 -0.37 1.24 -0.57 1.11 -0.78 0.93 -0.93 0.76 -1.13 0.56 -1.26 0.39 -1.39 0.16 
+-14.84 0 0 10.27 16.63 0 1.63 0.15 1.39 0.34 1.17 0.57 0.96 0.8 0.74 1.04 
+0.54 1.32 0.3 1.61 0.11 1.89 -0.13 1.65 -0.37 1.48 -0.61 1.25 -0.83 1.09 -1.06 0.85 
+-1.26 0.61 -1.5 0.39 -1.67 0.13 -16.04 0 0 -49.07 -12.19 0 0 59.48 f*
+2610.75 2028.84 22.1328 11 re
+f*
+2679.51 2031.95 11.89 0 -0.3 -3.64 -0.97 -3.78 -0.76 -1.89 -0.96 -1.87 -1.17 -1.78 -1.37 -1.7 
+-1.61 -1.61 -1.84 -1.45 -2.08 -1.3 -2.34 -1.13 -2.61 -0.91 -2.89 -0.67 -3.17 -0.43 -3.47 -0.16 
+-3.66 0.2 -3.32 0.59 -3.02 0.89 -2.71 1.24 -2.43 1.5 -2.17 1.76 -1.89 1.99 -1.64 2.17 
+-1.41 2.35 -1.17 2.47 -0.98 2.58 -0.76 2.67 -0.98 5.45 -0.3 5.4 0.17 4.26 0.5 3.9 
+0.8 3.54 1.07 3.19 1.32 2.87 1.52 2.54 1.74 2.23 1.89 1.93 2.04 1.67 2.15 1.39 
+2.23 1.16 2.32 0.89 2.32 0.7 2.34 0.45 4.62 0.37 3.6 -0.2 3.84 -0.65 3.91 -1.24 
+1.91 -0.89 1.84 -1.06 1.78 -1.26 1.65 -1.5 1.49 -1.71 1.37 -1.98 1.16 -2.23 0.95 -2.5 
+0.72 -2.8 0.43 -3.11 -11.59 0 -0.71 2.72 -1 2.25 -1.29 1.82 -1.54 1.43 -1.78 1.06 
+-1.98 0.72 -2.14 0.41 -2.32 0.13 -2.86 -0.29 -2.78 -0.86 -2.56 -1.5 -2.3 -2.17 -1.02 -1.35 
+-0.91 -1.52 -0.8 -1.71 -0.7 -1.89 -1 -4.36 -0.36 -5.16 0.17 -3.93 0.61 -3.76 1.04 -3.49 
+1.54 -3.13 0.96 -1.37 1.11 -1.25 1.26 -1.09 1.39 -0.91 1.56 -0.73 1.71 -0.57 1.89 -0.33 
+2.06 -0.13 2.47 0.22 2.28 0.5 2.04 0.84 1.82 1.24 1.52 1.63 1.21 2.06 0.89 2.54 
+0.52 3.02 f*
+2738.48 2031.95 11.89 0 -0.3 -3.64 -0.98 -3.78 -0.76 -1.89 -0.96 -1.87 -1.15 -1.78 -1.39 -1.7 
+-1.61 -1.61 -1.84 -1.45 -2.08 -1.3 -2.34 -1.13 -2.6 -0.91 -2.89 -0.67 -3.16 -0.43 -3.47 -0.16 
+-3.65 0.2 -3.34 0.59 -3.02 0.89 -2.71 1.24 -2.43 1.5 -2.17 1.76 -1.89 1.99 -1.65 2.17 
+-1.41 2.35 -1.17 2.47 -0.98 2.58 -0.75 2.67 -0.98 5.45 -0.29 5.4 0.15 4.26 0.5 3.9 
+0.81 3.54 1.06 3.19 1.32 2.87 1.52 2.54 1.73 2.23 1.89 1.93 2.04 1.67 2.15 1.39 
+2.26 1.16 2.3 0.89 2.32 0.7 2.34 0.45 4.62 0.37 3.61 -0.2 3.84 -0.65 3.91 -1.24 
+1.91 -0.89 1.87 -1.06 1.75 -1.26 1.65 -1.5 1.52 -1.71 1.35 -1.98 1.15 -2.23 0.96 -2.5 
+0.71 -2.8 0.43 -3.11 -11.59 0 -0.69 2.72 -1.02 2.25 -1.28 1.82 -1.55 1.43 -1.78 1.06 
+-1.97 0.72 -2.15 0.41 -2.32 0.13 -2.86 -0.29 -2.76 -0.86 -2.58 -1.5 -2.3 -2.17 -1 -1.35 
+-0.93 -1.52 -0.81 -1.71 -0.69 -1.89 -0.98 -4.36 -0.39 -5.16 0.19 -3.93 0.59 -3.76 1.04 -3.49 
+1.54 -3.13 0.96 -1.37 1.11 -1.25 1.26 -1.09 1.39 -0.91 1.56 -0.73 1.71 -0.57 1.89 -0.33 
+2.06 -0.13 2.47 0.22 2.28 0.5 2.06 0.84 1.8 1.24 1.52 1.63 1.21 2.06 0.89 2.54 
+0.52 3.02 f*
+255 0 r6
+960.051 345.273 138.777 85.8047 re
+f*
+K
+960.051 345.273 138.777 85.8047 re
+S
+0 155 255 rG
+1098.83 345.273 138.777 85.8047 re
+f*
+K
+1098.83 345.273 138.777 85.8047 re
+S
+2 239 204 rG
+1237.61 345.273 138.781 85.8047 re
+f*
+K
+1237.61 345.273 138.781 85.8047 re
+S
+7 193 59 rG
+1376.39 345.273 138.777 85.8047 re
+f*
+K
+1376.39 345.273 138.777 85.8047 re
+S
+110 210 9 rG
+1515.17 345.273 138.797 85.8047 re
+f*
+K
+1515.17 345.273 138.797 85.8047 re
+S
+0 255 r6
+1653.97 345.273 138.777 85.8047 re
+f*
+K
+1653.97 345.273 138.777 85.8047 re
+S
+255 203 0 rG
+1792.75 345.273 138.777 85.8047 re
+f*
+K
+1792.75 345.273 138.777 85.8047 re
+S
+255 135 0 rG
+1931.54 345.273 138.777 85.8047 re
+f*
+K
+1931.54 345.273 138.777 85.8047 re
+S
+255 35 0 rG
+2070.31 345.273 138.797 85.8047 re
+f*
+K
+2070.31 345.273 138.797 85.8047 re
+S
+189 0 54 rG
+2209.12 345.273 138.777 85.8047 re
+f*
+K
+2209.12 345.273 138.777 85.8047 re
+S
+87 0 136 rG
+2347.89 345.273 138.777 85.8047 re
+f*
+K
+2347.89 345.273 138.777 85.8047 re
+S
+978.19 299.37 0 -6.64 -33.55 -13.71 33.55 -14.15 0 -6.64 -41.51 17.69 0 5.75 41.51 17.71 f*
+986.59 283.445 41.082 5.75 re
+f*
+986.59 268.406 41.082 5.75 re
+f*
+1056.38 319.27 4.86 0 0 -60.16 -7.5 0 0 42.9 -13.26 0 0 5.3 5.34 0.63 
+2.41 0.52 2.19 0.85 1.93 1.34 1.67 2.02 1.34 2.82 1.02 3.78 f*
+1102.3 319.27 2.2 -0.2 2.08 -0.52 1.99 -0.87 1.87 -1.15 1.76 -1.43 1.65 -1.67 1.5 -1.91 
+1.37 -2.11 1.23 -2.28 1.09 -2.43 1.71 -5.23 1.07 -5.53 0.37 -5.64 -0.37 -5.66 -1.07 -5.58 
+-1.71 -5.3 -1.09 -2.47 -1.23 -2.32 -1.37 -2.15 -1.5 -1.95 -1.65 -1.71 -1.76 -1.46 -1.87 -1.2 
+-1.99 -0.86 -2.08 -0.55 -2.2 -0.2 -2.19 0.2 -2.08 0.55 -1.98 0.86 -1.89 1.2 -1.75 1.46 
+-1.63 1.71 -1.5 1.95 -1.39 2.15 -1.21 2.32 -1.11 2.47 -1.71 5.3 -1.07 5.58 -0.37 5.66 
+7.97 0 0.28 -5.38 0.76 -4.84 1.21 -4.23 1.54 -3.56 1.82 -2.88 2.02 -2.11 1.04 -0.76 
+1.08 -0.56 1.09 -0.33 1.06 -0.11 1.08 0.11 1.09 0.33 1.06 0.56 1.07 0.76 1.99 2.11 
+1.82 2.88 1.56 3.56 1.2 4.23 0.79 4.84 0.28 5.38 -0.28 5.36 -0.79 4.8 -1.2 4.14 
+-1.56 3.5 -1.82 2.8 -1.99 2.04 -2.13 1.26 -1.09 0.33 -1.08 0.11 -1.06 -0.11 -1.09 -0.33 
+-2.12 -1.26 -2.02 -2.04 -1.82 -2.8 -1.54 -3.5 -1.21 -4.14 -0.76 -4.8 -0.28 -5.36 -7.97 0 
+0.37 5.64 1.07 5.53 1.71 5.23 1.11 2.43 1.21 2.28 1.39 2.11 1.5 1.91 1.63 1.67 
+1.75 1.43 1.89 1.15 1.98 0.87 2.08 0.52 2.19 0.2 f*
+1349.07 299.8 -7.51 0 0.48 4.51 1.07 3.93 0.74 1.76 0.89 1.59 1.02 1.45 1.17 1.3 
+1.28 1.15 1.41 1 1.54 0.84 1.65 0.7 3.64 0.91 4.1 0.33 3.85 -0.29 3.54 -0.78 
+3.14 -1.32 2.73 -1.82 2.22 -2.32 0.91 -1.34 0.75 -1.46 0.61 -1.58 0.43 -1.71 0.26 -1.8 
+0.11 -1.93 -0.11 -2.23 -0.35 -2.02 -0.61 -1.84 -0.87 -1.65 -1.2 -1.5 -1.54 -1.34 -1.88 -1.2 
+-2.29 -1.04 2.61 -1.08 2.22 -1.26 1.82 -1.45 1.47 -1.63 1.11 -1.84 0.75 -2.06 0.46 -2.3 
+0.15 -2.54 -0.26 -3.32 -0.81 -3.3 -1.43 -3.15 -0.95 -1.45 -1.13 -1.37 -1.32 -1.28 -1.5 -1.15 
+-1.7 -1.02 -1.89 -0.87 -2.13 -0.69 -2.32 -0.52 -2.54 -0.32 -2.78 -0.13 -2.4 0.11 -2.24 0.26 
+-2.08 0.45 -1.91 0.61 -1.76 0.76 -1.58 0.91 -1.43 1.06 -1.28 1.21 -1.13 1.32 -0.98 1.46 
+-1.48 3.23 -0.87 3.64 -0.3 4 7.51 0 0.11 -2.19 0.32 -2.18 0.7 -2.08 1.09 -1.91 
+1.58 -1.63 2.17 -1.28 2.82 -0.83 3.58 -0.3 3.06 0.11 2.61 0.65 2.13 1.09 1.71 1.47 
+1.28 1.82 0.89 2.08 0.52 2.29 0.17 2.43 -0.31 3.14 -0.36 1.33 -0.52 1.2 -0.65 1.02 
+-0.78 0.91 -1.95 1.43 -2.43 1 -2.86 0.61 -3.28 0.35 -3.64 0.08 0 6.19 3.58 0.08 
+3.06 0.26 2.58 0.5 2.11 0.82 1.63 1.2 1.15 1.63 0.7 2.11 0.22 2.69 -0.14 2.09 
+-0.45 1.93 -0.78 1.74 -1.11 1.49 -1.45 1.22 -1.84 0.93 -2.22 0.58 -2.61 0.2 -2.38 -0.13 
+-2.15 -0.46 -1.89 -0.78 -1.62 -1.23 -1.35 -1.7 -1.04 -2.23 -0.69 -2.82 -0.35 -3.47 f*
+1408.25 319.27 2.19 -0.2 2.09 -0.52 1.99 -0.87 1.87 -1.15 1.76 -1.43 1.63 -1.67 1.52 -1.91 
+1.37 -2.11 1.24 -2.28 1.08 -2.43 1.72 -5.23 1.06 -5.53 0.37 -5.64 -0.37 -5.66 -1.06 -5.58 
+-1.72 -5.3 -1.08 -2.47 -1.24 -2.32 -1.37 -2.15 -1.52 -1.95 -1.63 -1.71 -1.76 -1.46 -1.87 -1.2 
+-1.99 -0.86 -2.09 -0.55 -2.19 -0.2 -2.19 0.2 -2.08 0.55 -2 0.86 -1.86 1.2 -1.76 1.46 
+-1.63 1.71 -1.52 1.95 -1.37 2.15 -1.24 2.32 -1.09 2.47 -1.71 5.3 -1.06 5.58 -0.37 5.66 
+7.95 0 0.28 -5.38 0.78 -4.84 1.22 -4.23 1.54 -3.56 1.83 -2.88 1.99 -2.11 1.06 -0.76 
+1.07 -0.56 1.08 -0.33 1.09 -0.11 1.09 0.11 1.09 0.33 1.06 0.56 1.05 0.76 2.02 2.11 
+1.82 2.88 1.55 3.56 1.21 4.23 0.78 4.84 0.26 5.38 -0.26 5.36 -0.78 4.8 -1.21 4.14 
+-1.55 3.5 -1.82 2.8 -2.02 2.04 -2.11 1.26 -1.09 0.33 -1.09 0.11 -1.09 -0.11 -1.08 -0.33 
+-2.13 -1.26 -1.99 -2.04 -1.83 -2.8 -1.54 -3.5 -1.22 -4.14 -0.78 -4.8 -0.28 -5.36 -7.95 0 
+0.37 5.64 1.06 5.53 1.71 5.23 1.09 2.43 1.24 2.28 1.37 2.11 1.52 1.91 1.63 1.67 
+1.76 1.43 1.86 1.15 2 0.87 2.08 0.52 2.19 0.2 f*
+1436.07 279.449 20.3125 6.20703 re
+f*
+1490.39 319.27 5.32 0 0 -38.93 9.27 0 0 -7.07 ^ 0 -14.15 -7.51 0 
+^ -25.17 0 0 7.07 ^ 0 26.11 -18.55 -26.11 -6.62 0 0 0.89 
+27.37 38.05 f*
+1531.04 319.27 2.19 -0.2 2.08 -0.52 1.98 -0.87 1.89 -1.15 1.76 -1.43 1.63 -1.67 1.52 -1.91 
+1.37 -2.11 1.23 -2.28 1.09 -2.43 1.71 -5.23 1.07 -5.53 0.37 -5.64 -0.37 -5.66 -1.07 -5.58 
+-1.71 -5.3 -1.09 -2.47 -1.23 -2.32 -1.37 -2.15 -1.52 -1.95 -1.62 -1.71 -1.76 -1.46 -1.89 -1.2 
+-1.98 -0.86 -2.08 -0.55 -2.19 -0.2 -2.2 0.2 -2.09 0.55 -1.99 0.86 -1.87 1.2 -1.75 1.46 
+-1.63 1.71 -1.52 1.95 -1.37 2.15 -1.23 2.32 -1.09 2.47 -1.71 5.3 -1.07 5.58 -0.37 5.66 
+7.95 0 0.28 -5.38 0.78 -4.84 1.2 -4.23 1.56 -3.56 1.82 -2.88 2 -2.11 1.07 -0.76 
+1.06 -0.56 1.09 -0.33 1.09 -0.11 1.08 0.11 1.07 0.33 1.08 0.56 1.04 0.76 2.02 2.11 
+1.82 2.88 1.54 3.56 1.22 4.23 0.78 4.84 0.26 5.38 -0.26 5.36 -0.78 4.8 -1.22 4.14 
+-1.54 3.5 -1.82 2.8 -2.02 2.04 -2.12 1.26 -1.07 0.33 -1.08 0.11 -1.09 -0.11 -1.09 -0.33 
+-2.12 -1.26 -2 -2.04 -1.82 -2.8 -1.56 -3.5 -1.2 -4.14 -0.78 -4.8 -0.28 -5.36 -7.95 0 
+0.37 5.64 1.07 5.53 1.71 5.23 1.09 2.43 1.23 2.28 1.37 2.11 1.52 1.91 1.63 1.67 
+1.75 1.43 1.87 1.15 1.99 0.87 2.09 0.52 2.2 0.2 f*
+1796.12 303.78 -7.51 0 -0.5 2.04 -0.78 1.78 -1.02 1.52 -1.24 1.23 -1.39 1 -1.54 0.69 
+-1.61 0.43 -1.65 0.15 -1.61 -0.11 -1.52 -0.29 -1.41 -0.48 -1.32 -0.67 -1.24 -0.84 -1.11 -1.02 
+-1.96 -2.56 -1.52 -3.23 -1.11 -3.86 -0.67 -4.47 -0.24 -5.01 1.81 1.93 1.78 1.52 1.78 1.17 
+1.76 0.84 1.8 0.57 1.82 0.37 3.84 0.21 2.93 -0.28 3.06 -0.89 3.01 -1.47 2.8 -2.11 
+1.28 -1.28 1.18 -1.43 1.02 -1.61 0.87 -1.73 0.7 -1.93 0.49 -2.06 0.29 -2.25 0.04 -2.39 
+-7.5 -0.45 -0.26 2.48 -0.74 2.41 -1.17 2.23 -1.52 2.02 -1.84 1.69 -2.11 1.3 -2.3 0.84 
+-2.43 0.3 -2.43 -0.3 -2.3 -0.84 -2.08 -1.3 -1.85 -1.69 -1.54 -2.02 -1.17 -2.23 -0.74 -2.41 
+-0.26 -2.48 0.26 -2.47 0.74 -2.39 1.17 -2.25 1.54 -2 1.85 -1.69 2.08 -1.32 2.3 -0.83 
+2.43 -0.3 2.43 0.3 2.3 0.83 2.11 1.32 1.84 1.69 1.52 2 1.17 2.25 0.74 2.39 
+0.26 2.47 7.5 0.45 -0.3 -3.55 -0.87 -3.54 -1.49 -3.43 -1 -1.61 -1.13 -1.55 -1.3 -1.41 
+-1.47 -1.28 -1.63 -1.15 -1.8 -0.98 -1.95 -0.78 -2.13 -0.59 -2.32 -0.36 -2.47 -0.14 -2.69 0.16 
+-2.5 0.46 -2.25 0.73 -2.06 1 -1.87 1.26 -1.65 1.47 -1.47 1.74 -1.28 1.93 -1.13 2.13 
+-0.93 2.3 -0.79 2.48 -0.62 2.64 -0.8 5.66 -0.26 6.12 0.08 3.64 0.29 3.46 0.45 3.27 
+0.63 3.06 0.8 2.87 0.98 2.67 1.15 2.43 1.3 2.21 1.48 1.98 1.61 1.73 1.78 1.48 
+1.93 1.23 2.09 0.98 2.21 0.7 2.37 0.43 2.49 0.16 3.5 -0.33 3.16 -0.91 2.82 -1.46 
+2.45 -1.91 2.02 -2.3 1.58 -2.62 1.08 -2.89 0.61 -3.08 f*
+1824.37 319.27 2.19 -0.2 2.11 -0.52 1.98 -0.87 1.87 -1.15 1.75 -1.43 1.65 -1.67 1.49 -1.91 
+1.37 -2.11 1.24 -2.28 1.09 -2.43 1.71 -5.23 1.06 -5.53 0.37 -5.64 -0.37 -5.66 -1.06 -5.58 
+-1.71 -5.3 -1.09 -2.47 -1.24 -2.32 -1.37 -2.15 -1.49 -1.95 -1.65 -1.71 -1.75 -1.46 -1.87 -1.2 
+-1.98 -0.86 -2.11 -0.55 -2.19 -0.2 -2.17 0.2 -2.11 0.55 -1.97 0.86 -1.89 1.2 -1.74 1.46 
+-1.65 1.71 -1.49 1.95 -1.39 2.15 -1.21 2.32 -1.11 2.47 -1.72 5.3 -1.06 5.58 -0.35 5.66 
+7.95 0 0.28 -5.38 0.79 -4.84 1.19 -4.23 1.54 -3.56 1.82 -2.88 2.02 -2.11 1.05 -0.76 
+1.08 -0.56 1.08 -0.33 1.07 -0.11 1.09 0.11 1.08 0.33 1.07 0.56 1.06 0.76 2.02 2.11 
+1.8 2.88 1.56 3.56 1.2 4.23 0.78 4.84 0.28 5.38 -0.28 5.36 -0.78 4.8 -1.2 4.14 
+-1.56 3.5 -1.8 2.8 -2.02 2.04 -2.13 1.26 -1.08 0.33 -1.09 0.11 -1.07 -0.11 -1.08 -0.33 
+-2.13 -1.26 -2.02 -2.04 -1.82 -2.8 -1.54 -3.5 -1.19 -4.14 -0.79 -4.8 -0.28 -5.36 -7.95 0 
+0.35 5.64 1.06 5.53 1.72 5.23 1.11 2.43 1.21 2.28 1.39 2.11 1.49 1.91 1.65 1.67 
+1.74 1.43 1.89 1.15 1.97 0.87 2.11 0.52 2.17 0.2 f*
+1852.21 279.449 20.3125 6.20703 re
+f*
+1880.46 319.27 40.2 0 0 -6.21 -5.69 -8.57 -4.62 -7.39 -3.71 -6.5 -2.93 -6.01 -2.32 -5.79 
+-1.91 -5.97 -1.61 -6.45 -1.49 -7.27 -7.97 0 2.26 8.33 2.17 7.05 2.28 6.14 2.52 5.66 
+2.93 5.6 3.45 5.9 9.13 14.39 -32.68 0 0 7.08 f*
+1947.16 319.27 2.2 -0.2 2.08 -0.52 2 -0.87 1.86 -1.15 1.76 -1.43 1.64 -1.67 1.5 -1.91 
+1.37 -2.11 1.24 -2.28 1.09 -2.43 1.71 -5.23 1.06 -5.53 0.37 -5.64 -0.37 -5.66 -1.06 -5.58 
+-1.71 -5.3 -1.09 -2.47 -1.24 -2.32 -1.37 -2.15 -1.5 -1.95 -1.64 -1.71 -1.76 -1.46 -1.86 -1.2 
+-2 -0.86 -2.08 -0.55 -2.2 -0.2 -2.19 0.2 -2.08 0.55 -1.98 0.86 -1.89 1.2 -1.75 1.46 
+-1.63 1.71 -1.49 1.95 -1.39 2.15 -1.24 2.32 -1.09 2.47 -1.71 5.3 -1.06 5.58 -0.37 5.66 
+7.97 0 0.28 -5.38 0.76 -4.84 1.21 -4.23 1.54 -3.56 1.82 -2.88 2.02 -2.11 1.04 -0.76 
+1.09 -0.56 1.06 -0.33 1.09 -0.11 1.09 0.11 1.08 0.33 1.06 0.56 1.07 0.76 1.99 2.11 
+1.82 2.88 1.56 3.56 1.2 4.23 0.79 4.84 0.28 5.38 -0.28 5.36 -0.79 4.8 -1.2 4.14 
+-1.56 3.5 -1.82 2.8 -1.99 2.04 -2.13 1.26 -1.08 0.33 -1.09 0.11 -1.09 -0.11 -1.06 -0.33 
+-2.13 -1.26 -2.02 -2.04 -1.82 -2.8 -1.54 -3.5 -1.21 -4.14 -0.76 -4.8 -0.28 -5.36 -7.97 0 
+0.37 5.64 1.06 5.53 1.71 5.23 1.09 2.43 1.24 2.28 1.39 2.11 1.49 1.91 1.63 1.67 
+1.75 1.43 1.89 1.15 1.98 0.87 2.08 0.52 2.19 0.2 f*
+2143.12 319.27 2.19 -0.11 2.08 -0.28 2 -0.5 1.88 -0.7 1.76 -0.91 1.65 -1.16 1.52 -1.39 
+1.39 -1.61 1.26 -1.86 1.11 -2.12 0.98 -2.39 0.82 -2.67 0.67 -2.93 0.5 -3.23 0.35 -3.52 
+0.15 -3.82 -0.13 -4.75 -0.37 -4.29 -0.63 -3.89 -0.83 -3.45 -1.02 -3.08 -1.21 -2.69 -1.37 -2.37 
+-1.5 -2.02 -1.63 -1.71 -1.73 -1.43 -1.84 -1.15 -1.89 -0.89 -1.95 -0.67 -1.98 -0.43 -4 -0.35 
+-3.05 0.24 -2.87 0.69 -2.62 1.2 -2.38 1.7 -2.09 2.21 -1.76 2.73 -1.41 3.3 -1.04 3.86 
+7.51 0 0.74 -2.19 0.84 -1.87 1.02 -1.61 1.15 -1.31 1.32 -1.02 1.52 -0.71 1.67 -0.46 
+1.88 -0.13 1.7 0.11 1.56 0.35 1.45 0.56 1.35 0.76 1.24 0.96 1.13 1.13 1.91 2.78 
+1.47 3.34 1.07 3.82 0.63 4.23 0.2 4.51 -2.08 -2.06 -1.97 -1.58 -1.87 -1.17 -1.74 -0.83 
+-1.65 -0.52 -1.56 -0.31 -2.82 -0.17 -2.32 0.2 -2.17 0.37 -2.02 0.59 -1.84 0.71 -1.72 0.91 
+-1.54 1.04 -1.39 1.2 -1.24 1.3 -1.09 1.41 -0.93 1.54 -1.39 3.3 -0.76 3.58 -0.15 3.78 
+7.5 0 0.24 -2.37 0.65 -2.32 1.07 -2.23 1.43 -2.04 1.78 -1.76 2.11 -1.34 2.41 -0.89 
+2.69 -0.33 2.69 0.33 2.41 0.89 2.12 1.34 1.79 1.76 1.43 2.04 1.06 2.23 0.65 2.32 
+0.21 2.37 -0.21 2.34 -0.65 2.32 -1.06 2.23 -1.43 2.04 -1.79 1.75 -2.12 1.37 -2.41 0.87 
+-2.69 0.32 -2.69 -0.32 -2.41 -0.87 -2.11 -1.37 -1.78 -1.75 -1.43 -2.04 -1.07 -2.23 -0.65 -2.32 
+-0.24 -2.34 -7.5 0 0.02 1.95 0.22 1.93 0.39 1.89 0.56 1.8 0.74 1.73 0.91 1.65 
+1.07 1.54 1.23 1.41 1.39 1.32 1.52 1.15 1.65 1.02 1.8 0.87 1.91 0.7 2.04 0.5 
+2.16 0.32 2.26 0.11 f*
+2190.39 319.27 2.19 -0.2 2.08 -0.52 2 -0.87 1.87 -1.15 1.76 -1.43 1.63 -1.67 1.52 -1.91 
+1.36 -2.11 1.24 -2.28 1.08 -2.43 1.71 -5.23 1.06 -5.53 0.37 -5.64 -0.37 -5.66 -1.06 -5.58 
+-1.71 -5.3 -1.08 -2.47 -1.24 -2.32 -1.36 -2.15 -1.52 -1.95 -1.62 -1.71 -1.76 -1.46 -1.87 -1.2 
+-2 -0.86 -2.08 -0.55 -2.19 -0.2 -2.2 0.2 -2.09 0.55 -1.99 0.86 -1.87 1.2 -1.76 1.46 
+-1.63 1.71 -1.52 1.95 -1.37 2.15 -1.24 2.32 -1.08 2.47 -1.72 5.3 -1.06 5.58 -0.37 5.66 
+7.95 0 0.29 -5.38 0.78 -4.84 1.21 -4.23 1.55 -3.56 1.82 -2.88 2 -2.11 1.07 -0.76 
+1.06 -0.56 1.09 -0.33 1.09 -0.11 1.08 0.11 1.08 0.33 1.07 0.56 1.04 0.76 2.02 2.11 
+1.82 2.88 1.54 3.56 1.22 4.23 0.78 4.84 0.26 5.38 -0.26 5.36 -0.78 4.8 -1.22 4.14 
+-1.54 3.5 -1.82 2.8 -2.02 2.04 -2.11 1.26 -1.08 0.33 -1.08 0.11 -1.09 -0.11 -1.09 -0.33 
+-2.12 -1.26 -2 -2.04 -1.82 -2.8 -1.55 -3.5 -1.21 -4.14 -0.78 -4.8 -0.29 -5.36 -7.95 0 
+0.38 5.64 1.06 5.53 1.72 5.23 1.08 2.43 1.24 2.28 1.37 2.11 1.52 1.91 1.63 1.67 
+1.76 1.43 1.87 1.15 1.99 0.87 2.09 0.52 2.2 0.2 f*
+2218.21 279.449 20.3086 6.20703 re
+f*
+2265.91 319.27 2.2 -0.11 2.08 -0.28 2 -0.5 1.86 -0.7 1.78 -0.91 1.63 -1.16 1.55 -1.39 
+1.39 -1.61 1.26 -1.86 1.11 -2.12 0.97 -2.39 0.83 -2.67 0.65 -2.93 0.52 -3.23 0.34 -3.52 
+0.16 -3.82 -0.13 -4.75 -0.37 -4.29 -0.63 -3.89 -0.82 -3.45 -1.02 -3.08 -1.21 -2.69 -1.37 -2.37 
+-1.5 -2.02 -1.65 -1.71 -1.73 -1.43 -1.83 -1.15 -1.89 -0.89 -1.95 -0.67 -1.97 -0.43 -4 -0.35 
+-3.06 0.24 -2.87 0.69 -2.64 1.2 -2.37 1.7 -2.08 2.21 -1.76 2.73 -1.43 3.3 -1.02 3.86 
+7.51 0 0.71 -2.19 0.87 -1.87 1 -1.61 1.17 -1.31 1.32 -1.02 1.5 -0.71 1.7 -0.46 
+1.89 -0.13 1.7 0.11 1.56 0.35 1.45 0.56 1.35 0.76 1.24 0.96 1.13 1.13 1.91 2.78 
+1.48 3.34 1.06 3.82 0.61 4.23 0.21 4.51 -2.08 -2.06 -1.98 -1.58 -1.86 -1.17 -1.76 -0.83 
+-1.65 -0.52 -1.54 -0.31 -2.82 -0.17 -2.32 0.2 -2.17 0.37 -2.02 0.59 -1.85 0.71 -1.71 0.91 
+-1.54 1.04 -1.39 1.2 -1.24 1.3 -1.08 1.41 -0.93 1.54 -1.39 3.3 -0.76 3.58 -0.15 3.78 
+7.51 0 0.24 -2.37 0.65 -2.32 1.04 -2.23 1.43 -2.04 1.8 -1.76 2.11 -1.34 2.41 -0.89 
+2.69 -0.33 2.7 0.33 2.4 0.89 2.11 1.34 1.8 1.76 1.43 2.04 1.07 2.23 0.65 2.32 
+0.21 2.37 -0.21 2.34 -0.65 2.32 -1.07 2.23 -1.43 2.04 -1.8 1.75 -2.11 1.37 -2.4 0.87 
+-2.7 0.32 -2.69 -0.32 -2.41 -0.87 -2.11 -1.37 -1.8 -1.75 -1.43 -2.04 -1.04 -2.23 -0.65 -2.32 
+-0.24 -2.34 -7.51 0 0.02 1.95 0.2 1.93 0.39 1.89 0.58 1.8 0.74 1.73 0.91 1.65 
+1.06 1.54 1.24 1.41 1.37 1.32 1.54 1.15 1.65 1.02 1.8 0.87 1.91 0.7 2.04 0.5 
+2.17 0.32 2.26 0.11 f*
+2299.04 319.27 31.36 0 0 -7.08 -25.2 0 -2.2 -17.25 2.17 1.54 2.56 1.28 3.08 0.84 
+3.67 0.31 3.11 -0.26 3.21 -0.8 3.19 -1.41 1.52 -0.93 1.45 -1.12 1.35 -1.28 1.26 -1.48 
+1.11 -1.67 0.96 -1.84 0.78 -2.06 0.57 -2.28 0.37 -2.49 0.13 -2.69 -0.32 -4.23 -1 -4.02 
+-0.74 -1.89 -0.89 -1.78 -1.06 -1.7 -1.24 -1.54 -1.37 -1.43 -1.56 -1.28 -1.7 -1.11 -1.86 -0.93 
+-2.02 -0.76 -2.17 -0.57 -2.34 -0.32 -2.5 -0.14 -4.45 0.35 -1.97 0.41 -1.82 0.56 -1.67 0.71 
+-1.52 0.83 -2.62 2.06 -2.11 2.47 -1.65 2.87 -1.21 3.14 -0.82 3.41 7.51 0 0.76 -2.24 
+0.98 -1.97 1.17 -1.74 1.39 -1.47 1.58 -1.17 1.8 -0.87 2.02 -0.54 2.22 -0.17 2.99 0.22 
+2.69 0.7 2.35 1.13 1.98 1.61 1.56 2.06 1.17 2.5 0.71 2.97 0.24 3.41 -0.19 2.52 
+-0.57 2.5 -0.98 2.39 -1.41 2.17 -1.84 1.87 -2.28 1.45 -2.76 0.93 -3.23 0.32 -1.69 -0.06 
+-1.52 -0.26 -1.39 -0.43 -1.3 -0.61 -2.61 -1.8 -2.97 -2.56 -6.62 0 4.43 32.73 f*
+2377.65 317.05 2.91 -0.3 2.73 -0.87 2.48 -1.34 2.14 -1.8 1.8 -2.17 1.35 -2.47 0.87 -2.73 
+0.3 -2.91 -0.3 -2.91 -0.87 -2.73 -1.35 -2.48 -1.8 -2.16 -2.14 -1.78 -2.48 -1.37 -2.73 -0.84 
+-2.91 -0.3 -2.91 0.3 -2.71 0.84 -2.47 1.38 -2.17 1.78 -1.8 2.16 -1.35 2.48 -0.87 2.73 
+-0.29 2.91 6.17 0 0.2 -1.63 0.5 -1.54 0.8 -1.43 1.07 -1.26 1.23 -1.04 1.43 -0.8 
+1.55 -0.52 1.63 -0.17 1.63 0.17 1.54 0.52 1.43 0.8 1.25 1.04 1.05 1.26 0.8 1.43 
+0.52 1.54 0.17 1.63 -0.17 1.63 -0.52 1.57 -0.8 1.41 -1.05 1.26 -1.25 1.07 -1.43 0.8 
+-1.54 0.5 -1.63 0.17 -1.62 -0.17 -1.55 -0.5 -1.43 -0.8 -1.23 -1.07 -1.07 -1.26 -0.8 -1.41 
+-0.5 -1.57 -0.2 -1.63 -6.17 0 0.29 2.91 0.87 2.73 1.35 2.47 1.8 2.17 2.17 1.8 
+2.47 1.34 2.71 0.87 2.91 0.3 f*
+2412.11 319.27 5.73 0 -33.57 -61.94 -5.73 0 33.57 61.94 f*
+2419.16 286.54 2.91 -0.3 2.73 -0.87 2.47 -1.37 2.15 -1.78 1.8 -2.17 1.35 -2.47 0.87 -2.73 
+0.3 -2.91 -0.3 -2.9 -0.87 -2.73 -1.35 -2.48 -1.8 -2.16 -2.15 -1.79 -2.47 -1.37 -2.73 -0.86 
+-2.91 -0.31 -2.91 0.31 -2.71 0.86 -2.48 1.37 -2.17 1.79 -1.78 2.16 -1.37 2.48 -0.87 2.73 
+-0.28 2.9 6.18 0 0.18 -1.62 0.5 -1.54 0.8 -1.43 1.06 -1.26 1.24 -1.04 1.43 -0.8 
+1.54 -0.52 1.63 -0.17 1.63 0.17 1.56 0.52 1.41 0.8 1.26 1.04 1.04 1.26 0.8 1.43 
+0.52 1.54 0.17 1.63 -0.17 1.63 -0.52 1.54 -0.8 1.43 -1.04 1.26 -1.26 1.04 -1.41 0.8 
+-1.56 0.52 -1.63 0.17 -1.62 -0.17 -1.54 -0.52 -1.43 -0.8 -1.24 -1.04 -1.06 -1.26 -0.8 -1.43 
+-0.5 -1.54 -0.18 -1.63 -6.18 0 0.28 2.91 0.87 2.73 1.37 2.47 1.78 2.17 2.17 1.78 
+2.48 1.37 2.71 0.87 2.91 0.3 f*
+551.96 3925.21 -34.75 0 0 -9.44 24.74 0 0 -5.32 -0.11 -2 -0.34 -2 -0.57 -1.99 
+-0.78 -1.98 -1 -1.91 -1.17 -1.84 -1.39 -1.75 -1.56 -1.63 -1.74 -1.5 -1.93 -1.37 -2.08 -1.17 
+-2.24 -1 -2.38 -0.78 -2.55 -0.56 -2.66 -0.3 -2.82 -0.02 -3.73 0.17 -3.45 0.55 -3.19 0.87 
+-2.93 1.19 -2.65 1.48 -2.43 1.73 -2.15 2.02 -1.91 2.24 -1.7 2.45 -1.43 2.65 -1.2 2.82 
+-0.98 2.97 -0.76 3.12 -0.52 3.21 -0.32 3.32 -0.11 3.41 0.16 3.66 0.43 3.52 0.71 3.3 
+0.98 3.13 1.23 2.93 1.46 2.71 1.7 2.49 1.88 2.29 2.08 2.04 2.26 1.8 2.43 1.54 
+2.58 1.29 2.71 0.99 2.84 0.74 2.95 0.45 3.04 0.16 2.93 -0.2 3.32 -0.58 3.5 -1.06 
+3.52 -1.63 1.67 -1.04 1.61 -1.22 1.47 -1.41 1.37 -1.58 1.2 -1.78 1.02 -1.98 0.8 -2.21 
+0.57 -2.41 11.2 0 -0.83 3.5 -1.61 4.13 -1.15 2.19 -1.37 2.21 -1.62 2.19 -1.89 2.15 
+-2.15 2.04 -2.43 1.91 -2.73 1.71 -3.02 1.52 -3.34 1.23 -3.67 0.93 -3.99 0.61 -4.36 0.2 
+-4.51 -0.2 -4.3 -0.63 -4.06 -1.02 -3.82 -1.39 -3.55 -1.74 -3.3 -2.08 -3.02 -2.41 -2.73 -2.7 
+-2.46 -3 -2.14 -3.25 -1.84 -3.5 -1.52 -3.7 -1.19 -3.95 -0.89 -4.13 -0.52 -4.32 -0.17 -4.45 
+0.2 -5.56 0.61 -5.12 0.97 -4.73 1.33 -4.34 1.67 -3.97 2 -3.56 2.28 -3.21 2.58 -2.82 
+2.82 -2.47 3.08 -2.13 3.3 -1.78 3.52 -1.43 3.69 -1.11 3.86 -0.78 3.99 -0.48 4.14 -0.15 
+2.97 0.15 3.15 0.46 3.28 0.83 3.34 1.21 3.37 1.67 3.36 2.15 3.28 2.66 3.17 3.26 
+2.36 -10.02 7.06 0 0 43.64 f*
+567.859 3881.58 9.41797 82.5508 re
+f*
+616.14 3942.91 2.73 -0.18 2.67 -0.49 2.56 -0.81 2.47 -1.11 2.37 -1.39 2.23 -1.63 2.11 -1.89 
+1.93 -2.11 1.75 -2.3 1.57 -2.52 1.39 -2.68 1.15 -2.82 0.91 -2.98 0.69 -3.08 0.41 -3.21 
+0.13 -3.28 -0.12 -3.28 -0.41 -3.17 -0.69 -3.06 -0.91 -2.93 -1.15 -2.78 -1.39 -2.63 -1.57 -2.45 
+-1.75 -2.26 -1.93 -2.06 -2.11 -1.82 -2.23 -1.58 -2.37 -1.32 -2.47 -1.07 -2.56 -0.78 -2.67 -0.5 
+-2.73 -0.16 -2.73 0.16 -2.64 0.5 -2.58 0.78 -2.48 1.07 -2.36 1.32 -2.24 1.58 -2.08 1.82 
+-1.93 2.06 -1.78 2.26 -1.56 2.45 -1.37 2.63 -1.15 2.78 -0.93 2.93 -0.67 3.06 -0.43 3.17 
+-0.13 3.28 10 0 0.3 -4.54 0.87 -4.27 1.43 -3.9 1.95 -3.43 1.17 -1.5 1.29 -1.34 
+1.41 -1.17 1.52 -0.98 1.63 -0.8 1.74 -0.57 1.84 -0.37 1.93 -0.11 1.93 0.11 1.84 0.37 
+1.73 0.57 1.63 0.8 1.52 0.98 1.41 1.17 1.28 1.34 1.17 1.5 1.95 3.43 1.43 3.9 
+0.87 4.27 0.3 4.54 -0.3 4.58 -0.87 4.34 -1.43 3.99 -1.95 3.54 -1.17 1.54 -1.28 1.41 
+-1.41 1.22 -1.52 1.04 -1.63 0.83 -1.73 0.61 -1.84 0.37 -1.93 0.13 -1.93 -0.13 -1.84 -0.37 
+-1.74 -0.61 -1.63 -0.83 -1.52 -1.04 -1.41 -1.22 -1.29 -1.41 -1.17 -1.54 -1.95 -3.54 -1.43 -3.99 
+-0.87 -4.34 -0.3 -4.58 -10 0 0.13 3.28 0.43 3.21 0.67 3.08 0.93 2.98 1.15 2.82 
+1.37 2.68 1.56 2.52 1.78 2.3 1.93 2.11 2.08 1.89 2.24 1.63 2.36 1.39 2.48 1.11 
+2.58 0.81 2.64 0.49 2.73 0.18 f*
+654.43 3964.13 9.41 0 0 -31.25 1.15 1.67 1.24 1.45 2.63 2.41 2.73 1.78 2.71 1.24 
+2.54 0.79 2.23 0.46 3.02 0.24 2.24 -0.09 2.23 -0.3 2.25 -0.48 2.22 -0.69 2.14 -0.93 
+2.11 -1.17 2 -1.43 1.89 -1.7 1.75 -1.95 1.58 -2.26 1.41 -2.56 1.19 -2.86 0.98 -3.2 
+0.71 -3.51 0.46 -3.89 0.15 -4.23 -0.09 -3.5 -0.3 -3.34 -0.48 -3.23 -0.7 -3.06 -0.91 -2.91 
+-1.09 -2.71 -1.32 -2.52 -1.52 -2.32 -1.74 -2.11 -1.95 -1.87 -2.17 -1.61 -2.39 -1.37 -2.62 -1.07 
+-2.84 -0.78 -3.08 -0.5 -3.3 -0.16 -1.88 0.09 -2.11 0.33 -2.24 0.58 -2.3 0.91 -2.32 1.32 
+-2.23 1.74 -2.11 2.26 -1.89 2.8 0 -7.07 -9.41 0 0 28.29 ^ 0.09 -2.3 
+0.28 -2.21 1.06 -4.21 1.65 -3.8 2.15 -3.32 2.56 -2.73 1.4 -1.13 1.48 -0.93 1.54 -0.76 
+1.59 -0.57 1.63 -0.32 1.64 -0.11 2.04 0.13 1.91 0.43 1.79 0.7 1.66 0.93 1.52 1.13 
+1.41 1.32 1.26 1.52 1.15 1.65 1.89 3.65 1.37 3.95 0.8 4.1 0.28 4.05 -0.13 2.89 
+-0.37 2.69 -0.57 2.48 -0.78 2.28 -0.93 2.06 -1.07 1.89 -1.2 1.69 -1.3 1.5 -2.76 2.45 
+-2.82 1.74 -2.73 1.02 -2.43 0.33 -1.73 -0.11 -1.69 -0.36 -1.65 -0.59 -1.56 -0.8 -1.5 -1 
+-1.41 -1.21 -1.31 -1.37 -1.21 -1.54 -2.08 -3.58 -1.59 -4.11 -0.99 -4.58 -0.35 -4.93 -9.41 0 
+0 54.26 f*
+718.62 3923.44 0.3 3.54 0.98 3.49 0.74 1.68 0.93 1.61 1.11 1.52 1.3 1.43 1.52 1.33 
+1.71 1.21 1.93 1.04 2.15 0.91 2.37 0.72 2.6 0.54 2.82 0.32 3.09 0.13 3.34 -0.16 
+3.65 -0.5 3.71 -0.91 3.58 -1.39 1.67 -0.91 1.52 -1.04 1.39 -1.2 1.19 -1.37 0.98 -1.54 
+0.74 -1.71 0.46 -1.91 0.15 -2.13 0 -37.74 0.21 -1.04 0.57 -0.91 0.85 -0.76 1.04 -0.59 
+1.13 -0.41 1.17 -0.17 1.13 0.04 0.98 0.3 0 -7.08 -2.29 -0.5 -3.6 -0.08 -2.56 0.07 
+-1.99 0.22 -1.55 0.43 -1.19 0.69 -0.96 0.98 -0.78 1.34 -1.59 3.93 -5.01 -3.66 -2.17 -1.35 
+-2.08 -1.02 -2.15 -0.76 -2.32 -0.5 -2.62 -0.29 -3.06 -0.08 -2.65 0.08 -2.38 0.29 -2.17 0.46 
+-1.96 0.61 -1.73 0.73 -1.54 0.89 -1.35 0.99 -1.17 1.11 -1 1.21 -0.83 1.28 -1.2 2.8 
+-0.67 2.97 -0.21 3.08 8.83 0 0.22 -1.73 0.65 -1.63 1.04 -1.52 1.41 -1.3 1.78 -1.11 
+2.11 -0.84 2.45 -0.52 2.71 -0.2 3.95 0.52 3.45 1 2.93 1.43 2.41 1.69 1.88 1.91 
+1.37 2 0.82 1.97 0.26 1.87 0 11.78 -4.43 -1.62 -3.67 -0.87 -10.74 -1.63 -3.17 -0.96 
+-2.47 -1.12 -1.84 -1.26 -1.35 -1.37 -0.91 -1.49 -0.52 -1.59 -0.26 -1.67 -0.09 -1.74 -8.83 0 
+0.26 4.41 0.74 3.58 1.21 2.89 1.69 2.25 2.17 1.75 2.63 1.37 3.08 1.09 3.54 0.93 
+15.3 2.36 3.69 0.98 2.37 1.15 0.74 0.63 0.5 0.66 0.29 0.65 0.09 0.65 0 5.32 
+-0.17 1 -0.52 1.19 -0.91 1.26 -1.32 1.26 -1.79 1.15 -2.23 0.93 -2.73 0.63 -3.28 0.24 
+-3.47 -0.26 -2.95 -0.74 -2.46 -1.11 -1.93 -1.43 -1.5 -1.65 -1.02 -1.78 -0.61 -1.82 -0.2 -1.82 
+-9.42 0 f*
+782.207 3881.58 9.4375 82.5508 re
+f*
+862.3 3964.13 13.54 0 28.87 -82.55 -11.78 0 -8.25 24.17 -32.38 0 -8.25 -24.17 -11.78 0 
+25.91 70.77 10.59 0 -13.55 -37.16 26.5 0 -12.95 37.16 -10.59 0 4.12 11.79 f*
+914.13 3941.12 8.83 0 0 -9.44 2.45 3.04 2.5 2.45 2.5 1.96 2.49 1.48 2.47 1.08 
+2.41 0.7 2.34 0.39 2.25 0.13 3.36 -0.29 3.32 -0.78 3.17 -1.28 2.89 -1.72 2.47 -2.13 
+1.93 -2.52 0.74 -1.41 0.52 -1.45 0.35 -1.57 0.11 -1.63 0 -46.57 -9.42 0 0 42.45 
+-0.32 2.48 -0.87 2.08 -1.32 1.73 -1.7 1.37 -1.93 1.07 -2.06 0.73 -2.12 0.43 -2.04 0.13 
+-2.89 -0.33 -2.84 -0.96 -2.67 -1.54 -2.43 -2.11 -2.06 -2.64 -1.61 -3.12 -1.04 -3.58 -0.29 -1.96 
+-0.09 -2.04 0 -34.2 -9.41 0 0 59.54 f*
+977.13 3941.12 8.86 0 0 -9.44 2.45 3.04 2.47 2.45 2.49 1.96 2.5 1.48 2.47 1.08 
+2.43 0.7 2.34 0.39 2.26 0.13 3.34 -0.29 3.32 -0.78 3.19 -1.28 2.89 -1.72 2.47 -2.13 
+1.93 -2.52 0.71 -1.41 0.54 -1.45 0.33 -1.57 0.11 -1.63 0 -46.57 -9.42 0 0 42.45 
+-0.3 2.48 -0.89 2.08 -1.32 1.73 -1.67 1.37 -1.93 1.07 -2.08 0.73 -2.11 0.43 -2.06 0.13 
+-2.86 -0.33 -2.84 -0.96 -2.69 -1.54 -2.41 -2.11 -2.08 -2.64 -1.59 -3.12 -1.04 -3.58 -0.28 -1.96 
+-0.09 -2.04 0 -34.2 -9.44 0 0 59.54 f*
+1040.15 3941.12 9.42 0 0 -44.23 0.2 -1.58 0.58 -1.63 0.96 -1.58 1.37 -1.46 1.74 -1.28 
+2.13 -1 2.52 -0.67 2.88 -0.22 2.02 0.11 1.89 0.34 1.71 0.57 1.59 0.73 1.43 0.89 
+1.31 1.04 2.21 2.41 1.67 2.73 1.17 2.84 0.67 2.82 0.24 2.61 0 36.54 9.42 0 
+0 -60.13 -8.83 0 0 8.25 -1.8 -2.32 -1.91 -2.07 -2.02 -1.82 -2.21 -1.54 -2.45 -1.21 
+-2.69 -0.91 -2.99 -0.54 -3.37 -0.2 -4.19 0.35 -3.71 0.96 -3.23 1.49 -2.69 1.91 -2.15 2.26 
+-1.58 2.49 -0.96 2.61 -0.32 2.67 0 47.76 f*
+1102.56 3923.44 0.33 3.54 0.95 3.49 0.76 1.68 0.91 1.61 1.13 1.52 1.3 1.43 1.52 1.33 
+1.72 1.21 1.9 1.04 2.15 0.91 2.39 0.72 2.59 0.54 2.84 0.32 3.09 0.13 3.32 -0.16 
+3.64 -0.5 3.73 -0.91 3.58 -1.39 1.65 -0.91 1.55 -1.04 1.36 -1.2 1.2 -1.37 0.97 -1.54 
+0.74 -1.71 0.48 -1.91 0.15 -2.13 0 -37.74 0.22 -1.04 0.56 -0.91 0.82 -0.76 1.04 -0.59 
+1.15 -0.41 1.17 -0.17 1.13 0.04 0.98 0.3 0 -7.08 -2.28 -0.5 -3.63 -0.08 -2.54 0.07 
+-2.02 0.22 -1.54 0.43 -1.17 0.69 -0.96 0.98 -0.8 1.34 -1.56 3.93 -5.03 -3.66 -2.15 -1.35 
+-2.08 -1.02 -2.15 -0.76 -2.34 -0.5 -2.63 -0.29 -3.06 -0.08 -2.63 0.08 -2.41 0.29 -2.17 0.46 
+-1.93 0.61 -1.76 0.73 -1.52 0.89 -1.37 0.99 -1.15 1.11 -1 1.21 -0.82 1.28 -1.22 2.8 
+-0.65 2.97 -0.22 3.08 8.83 0 0.22 -1.73 0.65 -1.63 1.02 -1.52 1.43 -1.3 1.78 -1.11 
+2.11 -0.84 2.43 -0.52 2.73 -0.2 3.95 0.52 3.43 1 2.95 1.43 2.41 1.69 1.89 1.91 
+1.34 2 0.82 1.97 0.28 1.87 0 11.78 -4.43 -1.62 -3.67 -0.87 -10.74 -1.63 -3.17 -0.96 
+-2.47 -1.12 -1.87 -1.26 -1.32 -1.37 -0.91 -1.49 -0.54 -1.59 -0.26 -1.67 -0.07 -1.74 -8.83 0 
+0.24 4.41 0.73 3.58 1.24 2.89 1.7 2.25 2.17 1.75 2.63 1.37 3.09 1.09 3.53 0.93 
+15.3 2.36 3.69 0.98 2.35 1.15 0.76 0.63 0.5 0.66 0.29 0.65 0.08 0.65 0 5.32 
+-0.17 1 -0.52 1.19 -0.93 1.26 -1.32 1.26 -1.75 1.15 -2.26 0.93 -2.73 0.63 -3.25 0.24 
+-3.5 -0.26 -2.93 -0.74 -2.46 -1.11 -1.95 -1.43 -1.48 -1.65 -1.02 -1.78 -0.61 -1.82 -0.2 -1.82 
+-9.44 0 f*
+1166.17 3881.58 9.41406 82.5508 re
+f*
+1246.27 3964.13 13.55 0 28.84 -82.55 -11.76 0 -8.25 24.17 -32.4 0 -8.24 -24.17 -11.76 0 
+25.91 70.77 10.59 0 -13.54 -37.16 26.49 0 -12.95 37.16 -10.59 0 4.12 11.79 f*
+1291.6 3941.12 11.2 0 15.88 -47.18 15.91 47.18 11.2 0 -21.2 -59.54 -11.79 0 -21.2 59.54 f*
+1403.5 3899.85 -0.65 -2.76 -0.8 -2.56 -0.98 -2.32 -1.13 -2.15 -1.25 -1.93 -1.41 -1.73 -1.54 -1.54 
+-1.64 -1.37 -1.79 -1.17 -1.86 -1.02 -1.95 -0.83 -2.04 -0.69 -4.32 -0.87 -4.54 -0.29 -3.11 0.24 
+-2.93 0.52 -2.76 0.79 -2.56 1.02 -2.37 1.26 -2.17 1.49 -2 1.74 -1.78 1.93 -1.58 2.14 
+-1.37 2.35 -1.17 2.54 -0.98 2.73 -0.76 2.89 -0.55 3.04 -0.32 3.21 -0.11 3.36 0.2 4.84 
+0.59 4.37 0.91 3.93 1.22 3.47 1.49 3.08 1.72 2.7 1.91 2.32 2.06 1.99 2.16 1.67 
+2.26 1.37 2.3 1.11 2.3 0.84 2.28 0.61 2.21 0.43 4.06 0.3 -0.59 -8.86 -2.56 -0.26 
+-2.75 -0.76 -2.8 -1.34 -2.71 -1.91 -2.43 -2.52 -1.09 -1.49 -0.98 -1.65 -0.82 -1.82 -0.7 -2 
+-0.5 -2.17 -0.32 -2.34 34.75 0 -0.13 2.43 -0.37 2.24 -0.57 2.06 -0.79 1.85 -0.93 1.67 
+-1.07 1.49 -1.2 1.32 -1.3 1.15 -2.75 1.84 -2.82 1.26 -2.73 0.74 -2.43 0.22 0.59 8.86 
+4.17 -0.33 2.17 -0.41 2.2 -0.65 2.19 -0.87 2.15 -1.13 2.09 -1.43 1.98 -1.75 1.87 -2.06 
+1.71 -2.45 1.54 -2.84 1.3 -3.23 1.08 -3.69 0.81 -4.14 0.5 -4.64 0.17 -5.14 -44.16 0 
+0.2 -3.11 0.67 -3.36 1.17 -3.45 1.78 -3.28 1.15 -1.54 1.3 -1.41 1.5 -1.26 1.67 -1.11 
+1.89 -0.89 2.09 -0.67 2.3 -0.43 2.54 -0.13 2.56 0.22 2.41 0.63 2.21 1.05 2.02 1.41 
+1.84 1.78 1.63 2.13 1.43 2.43 1.22 2.74 9.42 0 f*
+1417.62 3941.12 8.25 0 0 -11.19 3.61 4.82 3.25 3.49 2.95 2.37 2.63 1.41 2.34 0.63 
+2.04 0.04 1.73 -0.37 1.48 -0.61 0 -8.83 -4.71 -0.5 -3.95 -1.04 -1.71 -0.72 -1.54 -0.85 
+-1.39 -0.95 -1.2 -1.11 -1.06 -1.21 -0.89 -1.35 -1.37 -3.05 -0.78 -3.52 -0.26 -4 0 -33 
+-9.42 0 0 59.54 f*
+1454.73 3923.44 0.3 3.54 0.98 3.49 0.74 1.68 0.93 1.61 1.11 1.52 1.3 1.43 1.52 1.33 
+1.71 1.21 1.93 1.04 2.15 0.91 2.37 0.72 2.6 0.54 2.82 0.32 3.08 0.13 3.34 -0.16 
+3.65 -0.5 3.71 -0.91 3.58 -1.39 1.67 -0.91 1.52 -1.04 1.39 -1.2 1.2 -1.37 0.98 -1.54 
+0.74 -1.71 0.46 -1.91 0.15 -2.13 0 -37.74 0.22 -1.04 0.57 -0.91 0.84 -0.76 1.04 -0.59 
+1.13 -0.41 1.17 -0.17 1.13 0.04 0.98 0.3 0 -7.08 -2.28 -0.5 -3.6 -0.08 -2.56 0.07 
+-2 0.22 -1.54 0.43 -1.19 0.69 -0.95 0.98 -0.79 1.34 -1.58 3.93 -5.01 -3.66 -2.17 -1.35 
+-2.09 -1.02 -2.15 -0.76 -2.32 -0.5 -2.62 -0.29 -3.06 -0.08 -2.65 0.08 -2.38 0.29 -2.17 0.46 
+-1.96 0.61 -1.73 0.73 -1.54 0.89 -1.35 0.99 -1.17 1.11 -1 1.21 -0.82 1.28 -1.2 2.8 
+-0.67 2.97 -0.22 3.08 8.84 0 0.21 -1.73 0.65 -1.63 1.05 -1.52 1.41 -1.3 1.78 -1.11 
+2.11 -0.84 2.45 -0.52 2.72 -0.2 3.95 0.52 3.45 1 2.93 1.43 2.41 1.69 1.88 1.91 
+1.37 2 0.82 1.97 0.26 1.87 0 11.78 -4.43 -1.62 -3.66 -0.87 -10.75 -1.63 -3.17 -0.96 
+-2.47 -1.12 -1.84 -1.26 -1.35 -1.37 -0.91 -1.49 -0.52 -1.59 -0.26 -1.67 -0.09 -1.74 -8.84 0 
+0.26 4.41 0.74 3.58 1.22 2.89 1.69 2.25 2.17 1.75 2.63 1.37 3.08 1.09 3.54 0.93 
+15.3 2.36 3.69 0.98 2.37 1.15 0.74 0.63 0.49 0.66 0.29 0.65 0.09 0.65 0 5.32 
+-0.17 1 -0.52 1.19 -0.91 1.26 -1.32 1.26 -1.78 1.15 -2.23 0.93 -2.73 0.63 -3.28 0.24 
+-3.47 -0.26 -2.95 -0.74 -2.46 -1.11 -1.93 -1.43 -1.5 -1.65 -1.02 -1.78 -0.61 -1.82 -0.2 -1.82 
+-9.41 0 f*
+1557.18 3941.12 8.83 0 0 -55.42 -0.2 -4.97 -0.69 -5.01 -0.63 -2.47 -0.8 -2.39 -1.02 -2.3 
+-1.28 -2.17 -1.54 -2.02 -1.85 -1.84 -2.14 -1.63 -2.5 -1.39 -2.86 -1.15 -3.23 -0.84 -3.66 -0.52 
+-4.09 -0.17 -5.23 0.32 -4.64 0.93 -2.11 0.7 -1.93 0.84 -1.78 0.96 -1.61 1.11 -1.43 1.21 
+-1.23 1.34 -1.09 1.45 -0.89 1.56 -0.7 1.67 -0.5 1.76 -0.3 1.87 -0.11 1.95 9.42 0 
+0.3 -1.58 0.45 -1.39 1.29 -2.32 1.71 -1.78 2 -1.26 2.15 -0.85 2.21 -0.52 2.11 -0.26 
+1.91 -0.07 3.59 0.22 3.23 0.71 2.82 1.24 1.23 0.83 1.13 0.97 1.02 1.13 0.89 1.29 
+0.78 1.46 0.63 1.61 0.87 3.75 0.3 4.49 0 7.07 -2 -2.64 -2.02 -2.23 -2.06 -1.84 
+-2.17 -1.46 -2.26 -1.08 -2.4 -0.76 -2.59 -0.46 -2.75 -0.13 -3.08 0.22 -2.86 0.59 -2.63 0.98 
+-2.41 1.28 -2.19 1.58 -1.98 1.84 -1.75 2.09 -1.56 2.26 -1.37 2.43 -1.17 2.54 -0.98 2.65 
+-0.78 2.69 -1.04 5.45 -0.35 5.25 10.03 0 0.3 -4.36 0.93 -4.21 1.45 -3.89 1.93 -3.45 
+2.37 -2.91 1.3 -1.22 1.39 -1.02 1.48 -0.83 1.52 -0.61 1.59 -0.39 1.63 -0.11 2.04 0.13 
+1.89 0.41 1.76 0.67 1.63 0.89 1.47 1.11 1.35 1.29 1.23 1.47 1.08 1.61 1.78 3.63 
+1.26 3.97 0.76 4.18 0.24 4.21 -0.11 2.8 -0.32 2.61 -0.52 2.43 -0.71 2.24 -0.84 2.06 
+-1 1.89 -1.09 1.71 -1.21 1.52 -2.61 2.52 -2.76 1.8 -2.73 1.08 -2.59 0.35 -2.36 -0.35 
+-2.61 -1.08 -2.65 -1.82 -2.54 -2.56 -1.17 -1.56 -1.08 -1.74 -0.98 -1.95 -0.84 -2.11 -0.7 -2.32 
+-0.52 -2.49 -0.33 -2.72 -0.11 -2.88 -10.03 0 0.3 4.64 0.63 4.21 0.93 3.77 1.2 3.39 
+1.43 3.02 1.65 2.64 1.8 2.3 1.93 1.98 2.02 1.66 2.11 1.39 2.13 1.13 2.1 0.87 
+2.07 0.65 2 0.46 3.62 0.33 2.24 -0.18 2.28 -0.49 2.28 -0.83 2.28 -1.17 2.23 -1.47 
+2.19 -1.83 2.13 -2.17 2.04 -2.48 0 8.83 f*
+1630.21 3899.85 -0.63 -2.76 -0.82 -2.56 -0.95 -2.32 -1.13 -2.15 -1.28 -1.93 -1.41 -1.73 -1.54 -1.54 
+-1.65 -1.37 -1.75 -1.17 -1.87 -1.02 -1.98 -0.83 -2.04 -0.69 -4.29 -0.87 -4.56 -0.29 -3.1 0.24 
+-2.93 0.52 -2.76 0.79 -2.54 1.02 -2.38 1.26 -2.17 1.49 -1.97 1.74 -1.78 1.93 -1.59 2.14 
+-1.39 2.35 -1.17 2.54 -0.98 2.73 -0.76 2.89 -0.54 3.04 -0.33 3.21 -0.11 3.36 0.2 4.84 
+0.59 4.37 0.91 3.93 1.23 3.47 1.48 3.08 1.71 2.7 1.91 2.32 2.06 1.99 2.17 1.67 
+2.25 1.37 2.3 1.11 2.32 0.84 2.28 0.61 2.2 0.43 4.08 0.3 -0.61 -8.86 -2.56 -0.26 
+-2.75 -0.76 -2.8 -1.34 -2.69 -1.91 -2.46 -2.52 -1.08 -1.49 -0.96 -1.65 -0.84 -1.82 -0.67 -2 
+-0.52 -2.17 -0.33 -2.34 34.75 0 -0.11 2.43 -0.37 2.24 -0.59 2.06 -0.76 1.85 -0.93 1.67 
+-1.09 1.49 -1.19 1.32 -1.29 1.15 -2.75 1.84 -2.84 1.26 -2.74 0.74 -2.43 0.22 0.61 8.86 
+4.14 -0.33 2.17 -0.41 2.2 -0.65 2.19 -0.87 2.15 -1.13 2.08 -1.43 2 -1.75 1.87 -2.06 
+1.71 -2.45 1.52 -2.84 1.32 -3.23 1.07 -3.69 0.8 -4.14 0.52 -4.64 0.17 -5.14 -44.18 0 
+0.22 -3.11 0.65 -3.36 1.2 -3.45 1.79 -3.28 1.13 -1.54 1.3 -1.41 1.5 -1.26 1.67 -1.11 
+1.89 -0.89 2.09 -0.67 2.32 -0.43 2.54 -0.13 2.56 0.22 2.39 0.63 2.21 1.05 2.05 1.41 
+1.82 1.78 1.63 2.13 1.43 2.43 1.21 2.74 9.42 0 f*
+1735.63 3939.95 -0.17 3.11 -0.48 2.89 -0.76 2.69 -1.06 2.5 -1.33 2.28 -1.54 2.08 -1.8 1.87 
+-2 1.7 -2.2 1.48 -2.37 1.25 -2.52 1.09 -2.67 0.89 -2.8 0.67 -2.91 0.48 -2.97 0.3 
+-3.06 0.09 -3.64 -0.11 -3.38 -0.34 -3.13 -0.57 -2.91 -0.75 -2.65 -0.98 -2.41 -1.15 -2.17 -1.34 
+-1.96 -1.52 -1.69 -1.7 -1.48 -1.84 -1.24 -1.97 -1.02 -2.15 -0.78 -2.26 -0.56 -2.39 -0.33 -2.5 
+-0.11 -2.61 0.28 -4.08 0.85 -3.43 1.28 -2.87 1.71 -2.37 2.02 -1.97 2.3 -1.62 2.5 -1.35 
+2.61 -1.17 26.5 -7.08 3.04 -1.17 2.54 -1.25 2.04 -1.39 1.58 -1.5 1.17 -1.61 0.8 -1.71 
+0.46 -1.82 0.16 -1.93 -0.24 -2.8 -0.76 -2.65 -1.37 -2.41 -0.93 -1.09 -1.13 -1.02 -1.3 -0.91 
+-1.52 -0.83 -1.74 -0.71 -1.95 -0.61 -4.62 -0.84 -5.64 -0.29 -2.97 0.11 -2.75 0.3 -2.52 0.52 
+-2.3 0.7 -2.09 0.84 -1.89 1 -1.67 1.15 -1.47 1.28 -1.29 1.37 -1.11 1.47 -0.91 1.56 
+-0.74 1.63 -0.96 3.41 -0.3 3.52 -10.61 0 0.14 -2.93 0.36 -2.84 0.63 -2.73 0.89 -2.62 
+1.15 -2.48 1.39 -2.34 1.67 -2.16 1.95 -2 2.2 -1.8 2.47 -1.63 2.75 -1.39 3.04 -1.17 
+3.3 -0.93 3.6 -0.69 3.86 -0.41 4.17 -0.15 3.84 0.13 3.6 0.39 3.37 0.61 3.1 0.84 
+2.87 1.04 2.61 1.23 2.36 1.43 2.11 1.61 1.86 1.79 1.61 1.9 1.37 2.05 1.13 2.14 
+0.87 2.28 0.61 2.37 0.37 2.45 0.13 2.5 -0.09 2.06 -0.28 1.95 -1.04 3.6 -1.63 3.23 
+-2.11 2.8 -2.49 2.39 -2.8 1.97 -2.97 1.54 -3.08 1.09 -26.5 7.07 -4.6 2.43 -1.57 1.13 
+-1.12 1.17 -0.76 1.28 -0.48 1.45 -0.23 1.71 -0.07 2.05 0.11 1.61 0.26 1.52 0.45 1.41 
+0.63 1.3 1.69 2.34 2.24 1.91 2.71 1.5 3.08 1.08 3.43 0.67 3.64 0.21 4.77 -0.32 
+4.16 -0.93 3.54 -1.48 1.54 -0.93 1.37 -1.07 1.24 -1.15 1.04 -1.25 1.65 -2.82 0.97 -3.14 
+0.33 -3.41 10.61 0 f*
+1750.93 3941.12 8.83 0 0 -9.44 2.45 3.04 2.5 2.45 2.5 1.96 2.5 1.48 2.47 1.08 
+2.41 0.7 2.37 0.39 2.25 0.13 3.34 -0.29 3.32 -0.78 3.17 -1.28 2.91 -1.72 2.47 -2.13 
+1.93 -2.52 0.71 -1.41 0.52 -1.45 0.35 -1.57 0.11 -1.63 0 -46.57 -9.41 0 0 42.45 
+-0.32 2.48 -0.87 2.08 -1.32 1.73 -1.67 1.37 -1.93 1.07 -2.09 0.73 -2.11 0.43 -2.06 0.13 
+-2.89 -0.33 -2.82 -0.96 -2.69 -1.54 -2.43 -2.11 -2.06 -2.64 -1.61 -3.12 -1.04 -3.58 -0.26 -1.96 
+-0.11 -2.04 0 -34.2 -9.42 0 0 59.54 f*
+1836.92 3942.91 2.73 -0.18 2.64 -0.49 2.59 -0.81 2.47 -1.11 2.36 -1.39 2.24 -1.63 2.1 -1.89 
+1.93 -2.11 1.76 -2.3 1.56 -2.52 1.37 -2.68 1.17 -2.82 0.91 -2.98 0.7 -3.08 0.41 -3.21 
+0.13 -3.28 -0.13 -3.28 -0.41 -3.17 -0.7 -3.06 -0.91 -2.93 -1.17 -2.78 -1.37 -2.63 -1.56 -2.45 
+-1.76 -2.26 -1.93 -2.06 -2.1 -1.82 -2.24 -1.58 -2.36 -1.32 -2.47 -1.07 -2.59 -0.78 -2.64 -0.5 
+-2.73 -0.16 -2.74 0.16 -2.64 0.5 -2.59 0.78 -2.47 1.07 -2.37 1.32 -2.23 1.58 -2.09 1.82 
+-1.93 2.06 -1.78 2.26 -1.57 2.45 -1.37 2.63 -1.17 2.78 -0.91 2.93 -0.67 3.06 -0.43 3.17 
+-0.13 3.28 10 0 0.31 -4.54 0.86 -4.27 1.43 -3.9 1.96 -3.43 1.17 -1.5 1.28 -1.34 
+1.41 -1.17 1.52 -0.98 1.63 -0.8 1.74 -0.57 1.84 -0.37 1.93 -0.11 1.93 0.11 1.84 0.37 
+1.74 0.57 1.63 0.8 1.52 0.98 1.41 1.17 1.28 1.34 1.17 1.5 1.96 3.43 1.43 3.9 
+0.87 4.27 0.31 4.54 -0.31 4.58 -0.87 4.34 -1.43 3.99 -1.96 3.54 -1.17 1.54 -1.28 1.41 
+-1.41 1.22 -1.52 1.04 -1.63 0.83 -1.74 0.61 -1.84 0.37 -1.93 0.13 -1.93 -0.13 -1.84 -0.37 
+-1.74 -0.61 -1.62 -0.83 -1.52 -1.04 -1.41 -1.22 -1.28 -1.41 -1.17 -1.54 -1.96 -3.54 -1.43 -3.99 
+-0.86 -4.34 -0.31 -4.58 -10 0 0.13 3.28 0.43 3.21 0.67 3.08 0.91 2.98 1.17 2.82 
+1.37 2.68 1.57 2.52 1.78 2.3 1.93 2.11 2.09 1.89 2.23 1.63 2.37 1.39 2.47 1.11 
+2.59 0.81 2.64 0.49 2.74 0.18 f*
+1869.9 3941.12 10.59 0 11.79 -45.4 11.78 45.4 10.59 0 11.79 -45.4 11.76 45.4 10.61 0 
+-17.08 -59.54 -10.59 0 -12.37 44.81 -11.2 -44.81 -10.59 0 -17.08 59.54 f*
+2056.58 3938.17 -0.76 3.52 -0.93 3.26 -1.11 2.97 -1.28 2.71 -1.45 2.48 -1.61 2.21 -1.8 1.97 
+-1.95 1.76 -2.13 1.52 -2.3 1.29 -2.45 1.08 -2.6 0.87 -2.78 0.67 -2.91 0.46 -3.1 0.28 
+-3.23 0.09 -4.3 -0.2 -4.06 -0.63 -3.82 -1.02 -3.55 -1.39 -3.32 -1.76 -3.06 -2.08 -2.8 -2.43 
+-2.54 -2.73 -2.26 -3.02 -1.99 -3.28 -1.72 -3.56 -1.43 -3.77 -1.15 -4 -0.84 -4.21 -0.57 -4.41 
+-0.26 -4.55 0.18 -5.14 0.56 -4.84 0.91 -4.52 1.26 -4.16 1.56 -3.86 1.87 -3.54 2.13 -3.21 
+2.43 -2.86 2.65 -2.54 2.91 -2.22 3.11 -1.89 3.3 -1.52 3.47 -1.22 3.64 -0.84 3.79 -0.52 
+3.91 -0.17 4.25 0.17 3.9 0.5 3.59 0.8 3.28 1.11 2.97 1.39 2.66 1.63 2.41 1.88 
+2.11 2.11 1.86 2.3 1.61 2.52 1.37 2.67 1.13 2.82 0.91 2.97 0.72 3.09 0.5 3.19 
+0.3 3.3 -10.59 0 -1.09 -5.73 -1.52 -4.84 -0.93 -2.08 -1.04 -1.89 -1.2 -1.66 -1.3 -1.5 
+-1.45 -1.28 -1.59 -1.09 -1.75 -0.93 -1.89 -0.73 -2.04 -0.57 -2.24 -0.39 -4.95 -0.31 -3.41 0.17 
+-3.16 0.5 -2.91 0.81 -2.7 1.13 -2.45 1.39 -2.22 1.67 -1.99 1.91 -1.76 2.15 -1.57 2.39 
+-1.32 2.58 -1.11 2.76 -0.91 2.95 -0.69 3.11 -0.5 3.25 -0.29 3.37 -0.11 3.49 0.13 3.86 
+0.41 3.66 0.65 3.45 0.89 3.21 1.11 3 1.34 2.78 1.54 2.52 1.74 2.28 1.91 2.04 
+2.06 1.75 2.23 1.52 2.39 1.26 2.5 0.98 2.63 0.71 2.73 0.43 2.82 0.16 4.1 -0.3 
+3.86 -0.89 3.54 -1.45 3.14 -2 2.7 -2.54 1.13 -1.45 1 -1.56 0.85 -1.72 0.67 -1.8 
+0.5 -1.93 0.3 -2.06 10.62 0 f*
+2094.27 3942.91 2.71 -0.18 2.67 -0.49 2.58 -0.81 2.48 -1.11 2.36 -1.39 2.24 -1.63 2.08 -1.89 
+1.93 -2.11 1.76 -2.3 1.59 -2.52 1.37 -2.68 1.15 -2.82 0.93 -2.98 0.67 -3.08 0.41 -3.21 
+0.16 -3.28 -0.16 -3.28 -0.41 -3.17 -0.67 -3.06 -0.93 -2.93 -1.15 -2.78 -1.37 -2.63 -1.59 -2.45 
+-1.76 -2.26 -1.93 -2.06 -2.08 -1.82 -2.24 -1.58 -2.36 -1.32 -2.48 -1.07 -2.58 -0.78 -2.67 -0.5 
+-2.71 -0.16 -2.73 0.16 -2.67 0.5 -2.58 0.78 -2.47 1.07 -2.37 1.32 -2.23 1.58 -2.08 1.82 
+-1.93 2.06 -1.76 2.26 -1.58 2.45 -1.37 2.63 -1.16 2.78 -0.93 2.93 -0.67 3.06 -0.41 3.17 
+-0.15 3.28 10.03 0 0.28 -4.54 0.89 -4.27 1.43 -3.9 1.96 -3.43 1.17 -1.5 1.28 -1.34 
+1.41 -1.17 1.5 -0.98 1.65 -0.8 1.71 -0.57 1.84 -0.37 1.96 -0.11 1.93 0.11 1.84 0.37 
+1.74 0.57 1.63 0.8 1.5 0.98 1.41 1.17 1.29 1.34 1.17 1.5 1.95 3.43 1.43 3.9 
+0.89 4.27 0.29 4.54 -0.29 4.58 -0.89 4.34 -1.43 3.99 -1.95 3.54 -1.17 1.54 -1.29 1.41 
+-1.41 1.22 -1.5 1.04 -1.62 0.83 -1.74 0.61 -1.84 0.37 -1.93 0.13 -1.96 -0.13 -1.84 -0.37 
+-1.71 -0.61 -1.65 -0.83 -1.5 -1.04 -1.41 -1.22 -1.28 -1.41 -1.17 -1.54 -1.96 -3.54 -1.43 -3.99 
+-0.89 -4.34 -0.28 -4.58 -10.03 0 0.15 3.28 0.41 3.21 0.67 3.08 0.93 2.98 1.16 2.82 
+1.37 2.68 1.58 2.52 1.76 2.3 1.93 2.11 2.08 1.89 2.23 1.63 2.37 1.39 2.47 1.11 
+2.58 0.81 2.67 0.49 2.73 0.18 f*
+2127.82 3941.12 11.2 0 15.91 -47.18 15.88 47.18 11.2 0 -21.21 -59.54 -11.78 0 -21.2 59.54 f*
+2239.71 3899.85 -0.63 -2.76 -0.82 -2.56 -0.98 -2.32 -1.13 -2.15 -1.26 -1.93 -1.41 -1.73 -1.54 -1.54 
+-1.65 -1.37 -1.75 -1.17 -1.87 -1.02 -1.98 -0.83 -2.04 -0.69 -4.32 -0.87 -4.54 -0.29 -3.1 0.24 
+-2.93 0.52 -2.75 0.79 -2.56 1.02 -2.36 1.26 -2.17 1.49 -1.97 1.74 -1.8 1.93 -1.59 2.14 
+-1.37 2.35 -1.17 2.54 -0.98 2.73 -0.75 2.89 -0.55 3.04 -0.33 3.21 -0.11 3.36 0.2 4.84 
+0.58 4.37 0.92 3.93 1.21 3.47 1.5 3.08 1.71 2.7 1.91 2.32 2.06 1.99 2.17 1.67 
+2.26 1.37 2.3 1.11 2.3 0.84 2.28 0.61 2.22 0.43 4.05 0.3 -0.58 -8.86 -2.56 -0.26 
+-2.76 -0.76 -2.8 -1.34 -2.69 -1.91 -2.45 -2.52 -1.09 -1.49 -0.98 -1.65 -0.82 -1.82 -0.68 -2 
+-0.52 -2.17 -0.33 -2.34 34.74 0 -0.12 2.43 -0.35 2.24 -0.58 2.06 -0.79 1.85 -0.93 1.67 
+-1.06 1.49 -1.2 1.32 -1.3 1.15 -2.73 1.84 -2.84 1.26 -2.74 0.74 -2.43 0.22 0.58 8.86 
+4.17 -0.33 2.17 -0.41 2.19 -0.65 2.2 -0.87 2.15 -1.13 2.09 -1.43 1.99 -1.75 1.87 -2.06 
+1.7 -2.45 1.54 -2.84 1.32 -3.23 1.07 -3.69 0.8 -4.14 0.5 -4.64 0.17 -5.14 -44.16 0 
+0.21 -3.11 0.65 -3.36 1.2 -3.45 1.78 -3.28 1.13 -1.54 1.3 -1.41 1.5 -1.26 1.66 -1.11 
+1.89 -0.89 2.08 -0.67 2.32 -0.43 2.52 -0.13 2.58 0.22 2.39 0.63 2.21 1.05 2.02 1.41 
+1.84 1.78 1.63 2.13 1.43 2.43 1.21 2.74 9.42 0 f*
+2253.84 3941.12 8.25 0 0 -11.19 3.6 4.82 3.26 3.49 2.95 2.37 2.65 1.41 2.32 0.63 
+2.04 0.04 1.74 -0.37 1.47 -0.61 0 -8.83 -4.71 -0.5 -3.95 -1.04 -1.71 -0.72 -1.54 -0.85 
+-1.37 -0.95 -1.22 -1.11 -1.07 -1.21 -0.89 -1.35 -1.37 -3.05 -0.78 -3.52 -0.24 -4 0 -33 
+-9.45 0 0 59.54 f*
+2325.11 3964.13 55.36 0 0 -9.44 -44.77 0 0 -26.54 39.45 0 0 -9.42 ^ 
+0 -37.15 -10.59 0 0 82.55 f*
+2392.23 3941.12 8.24 0 0 -11.19 3.6 4.82 3.25 3.49 2.96 2.37 2.64 1.41 2.32 0.63 
+2.04 0.04 1.74 -0.37 1.47 -0.61 0 -8.83 -4.7 -0.5 -3.95 -1.04 -1.72 -0.72 -1.54 -0.85 
+-1.39 -0.95 -1.2 -1.11 -1.06 -1.21 -0.89 -1.35 -1.37 -3.05 -0.78 -3.52 -0.24 -4 0 -33 
+-9.44 0 0 59.54 f*
+2429.34 3923.44 0.3 3.54 0.98 3.49 0.74 1.68 0.93 1.61 1.11 1.52 1.32 1.43 1.5 1.33 
+1.71 1.21 1.93 1.04 2.14 0.91 2.37 0.72 2.61 0.54 2.82 0.32 3.09 0.13 3.34 -0.16 
+3.64 -0.5 3.73 -0.91 3.56 -1.39 1.67 -0.91 1.52 -1.04 1.39 -1.2 1.19 -1.37 0.98 -1.54 
+0.74 -1.71 0.45 -1.91 0.18 -2.13 0 -37.74 0.19 -1.04 0.57 -0.91 0.85 -0.76 1.04 -0.59 
+1.13 -0.41 1.17 -0.17 1.13 0.04 0.97 0.3 0 -7.08 -2.28 -0.5 -3.6 -0.08 -2.56 0.07 
+-2 0.22 -1.54 0.43 -1.2 0.69 -0.93 0.98 -0.8 1.34 -1.59 3.93 -5.02 -3.66 -2.17 -1.35 
+-2.08 -1.02 -2.15 -0.76 -2.32 -0.5 -2.63 -0.29 -3.06 -0.08 -2.64 0.08 -2.39 0.29 -2.17 0.46 
+-1.95 0.61 -1.73 0.73 -1.54 0.89 -1.34 0.99 -1.18 1.11 -0.98 1.21 -0.84 1.28 -1.2 2.8 
+-0.67 2.97 -0.2 3.08 8.84 0 0.21 -1.73 0.63 -1.63 1.04 -1.52 1.41 -1.3 1.79 -1.11 
+2.13 -0.84 2.43 -0.52 2.71 -0.2 3.95 0.52 3.45 1 2.93 1.43 2.41 1.69 1.89 1.91 
+1.36 2 0.83 1.97 0.26 1.87 0 11.78 -4.43 -1.62 -3.67 -0.87 -10.75 -1.63 -3.16 -0.96 
+-2.46 -1.12 -1.87 -1.26 -1.34 -1.37 -0.89 -1.49 -0.55 -1.59 -0.26 -1.67 -0.06 -1.74 -8.84 0 
+0.24 4.41 0.74 3.58 1.21 2.89 1.69 2.25 2.18 1.75 2.62 1.37 3.08 1.09 3.54 0.93 
+15.32 2.36 3.66 0.98 2.36 1.15 0.74 0.63 0.5 0.66 0.28 0.65 0.09 0.65 0 5.32 
+-0.18 1 -0.52 1.19 -0.91 1.26 -1.32 1.26 -1.78 1.15 -2.23 0.93 -2.74 0.63 -3.27 0.24 
+-3.47 -0.26 -2.96 -0.74 -2.43 -1.11 -1.96 -1.43 -1.47 -1.65 -1.04 -1.78 -0.61 -1.82 -0.2 -1.82 
+-9.42 0 f*
+2538.29 3921.07 -9.43 0 -0.41 2.43 -0.8 2.34 -1.19 2.2 -1.57 1.95 -1.97 1.67 -2.35 1.29 
+-2.73 0.82 -3.11 0.29 -1.93 -0.11 -1.82 -0.34 -1.72 -0.57 -1.58 -0.75 -1.48 -0.98 -1.35 -1.15 
+-1.24 -1.34 -1.11 -1.52 -1.87 -3.54 -1.32 -4.12 -0.83 -4.64 -0.25 -5.1 0.3 -5.03 0.88 -4.43 
+1.43 -3.84 0.91 -1.69 1.05 -1.52 1.17 -1.35 1.28 -1.19 1.41 -1 1.52 -0.85 1.63 -0.66 
+1.73 -0.48 1.82 -0.28 1.95 -0.09 1.8 0.09 1.67 0.3 1.54 0.45 1.41 0.61 2.45 1.65 
+1.93 2.04 1.5 2.34 1.02 2.45 0.61 2.47 0.2 2.32 9.42 0 -0.09 -2.3 -0.3 -2.28 
+-0.48 -2.19 -0.67 -2.15 -0.87 -2.04 -1.06 -1.95 -1.25 -1.82 -1.46 -1.71 -1.63 -1.54 -1.84 -1.41 
+-2.02 -1.21 -2.24 -1.02 -2.41 -0.84 -2.61 -0.61 -2.8 -0.37 -3 -0.13 -3.4 0.2 -3.13 0.54 
+-2.87 0.89 -2.6 1.21 -2.36 1.5 -2.13 1.76 -1.89 1.99 -1.65 2.22 -1.43 2.43 -1.24 2.59 
+-1 2.73 -0.82 2.85 -0.63 2.95 -0.44 3.02 -0.32 6.17 0.29 4.23 0.63 3.89 0.93 3.51 
+1.22 3.2 1.43 2.86 1.65 2.56 1.82 2.26 1.96 1.95 2.06 1.7 2.15 1.43 2.14 1.17 
+2.17 0.93 2.15 0.69 2.09 0.48 3.82 0.39 4.14 -0.29 3.99 -0.89 1.91 -0.7 1.84 -0.85 
+1.75 -1.02 1.65 -1.21 1.54 -1.39 1.43 -1.58 1.29 -1.78 1.15 -2 0.98 -2.19 0.8 -2.43 
+0.63 -2.62 0.44 -2.88 f*
+2551.24 3957.05 9.42 0 0 -15.93 9.42 0 0 -7.66 ^ 0 -42.45 0.26 -1.71 
+0.71 -1.17 1.08 -0.74 1.32 -0.37 1.52 -0.09 1.56 0.09 2.95 0.45 0 -7.68 -3.45 -0.8 
+-2.25 -0.26 -2.52 -0.11 -2.15 0.3 -1.99 0.48 -1.81 0.7 -1.56 0.89 -1.3 1.11 -0.98 1.35 
+-0.61 1.58 -0.22 1.84 0 46.59 -8.25 0 0 7.66 ^ 0 15.93 f*
+2580.68 3952.34 9.41797 11.7852 re
+f*
+2580.68 3881.57 9.41797 59.5508 re
+f*
+2629.55 3942.91 2.73 -0.18 2.67 -0.49 2.56 -0.81 2.47 -1.11 2.36 -1.39 2.23 -1.63 2.11 -1.89 
+1.93 -2.11 1.76 -2.3 1.57 -2.52 1.39 -2.68 1.15 -2.82 0.91 -2.98 0.7 -3.08 0.41 -3.21 
+0.13 -3.28 -0.13 -3.28 -0.41 -3.17 -0.7 -3.06 -0.91 -2.93 -1.15 -2.78 -1.39 -2.63 -1.57 -2.45 
+-1.76 -2.26 -1.93 -2.06 -2.11 -1.82 -2.23 -1.58 -2.36 -1.32 -2.47 -1.07 -2.56 -0.78 -2.67 -0.5 
+-2.73 -0.16 -2.73 0.16 -2.64 0.5 -2.59 0.78 -2.48 1.07 -2.36 1.32 -2.24 1.58 -2.08 1.82 
+-1.93 2.06 -1.78 2.26 -1.56 2.45 -1.37 2.63 -1.15 2.78 -0.93 2.93 -0.67 3.06 -0.43 3.17 
+-0.13 3.28 10 0 0.31 -4.54 0.86 -4.27 1.43 -3.9 1.97 -3.43 1.15 -1.5 1.3 -1.34 
+1.39 -1.17 1.52 -0.98 1.63 -0.8 1.74 -0.57 1.84 -0.37 1.93 -0.11 1.93 0.11 1.84 0.37 
+1.73 0.57 1.63 0.8 1.52 0.98 1.41 1.17 1.28 1.34 1.17 1.5 1.96 3.43 1.43 3.9 
+0.87 4.27 0.31 4.54 -0.31 4.58 -0.87 4.34 -1.43 3.99 -1.96 3.54 -1.17 1.54 -1.28 1.41 
+-1.41 1.22 -1.52 1.04 -1.63 0.83 -1.73 0.61 -1.84 0.37 -1.93 0.13 -1.93 -0.13 -1.84 -0.37 
+-1.74 -0.61 -1.62 -0.83 -1.52 -1.04 -1.39 -1.22 -1.3 -1.41 -1.15 -1.54 -1.97 -3.54 -1.43 -3.99 
+-0.86 -4.34 -0.31 -4.58 -10 0 0.13 3.28 0.43 3.21 0.67 3.08 0.93 2.98 1.15 2.82 
+1.37 2.68 1.56 2.52 1.78 2.3 1.93 2.11 2.08 1.89 2.24 1.63 2.36 1.39 2.48 1.11 
+2.59 0.81 2.64 0.49 2.73 0.18 f*
+2669.59 3941.12 8.84 0 0 -9.44 2.47 3.04 2.48 2.45 2.49 1.96 2.5 1.48 2.48 1.08 
+2.43 0.7 2.34 0.39 2.25 0.13 3.34 -0.29 3.32 -0.78 3.19 -1.28 2.88 -1.72 2.47 -2.13 
+1.93 -2.52 0.72 -1.41 0.54 -1.45 0.32 -1.57 0.11 -1.63 0 -46.57 -9.42 0 0 42.45 
+-0.3 2.48 -0.89 2.08 -1.33 1.73 -1.67 1.37 -1.93 1.07 -2.08 0.73 -2.11 0.43 -2.06 0.13 
+-2.89 -0.33 -2.82 -0.96 -2.69 -1.54 -2.41 -2.11 -2.08 -2.64 -1.61 -3.12 -1.02 -3.58 -0.29 -1.96 
+-0.08 -2.04 0 -34.2 -9.45 0 0 59.54 f*
+2782.68 3964.13 5.88 0 -3.71 -6.84 -3.14 -6.79 -2.65 -6.75 -2.12 -6.75 -1.63 -6.75 -1.15 -6.75 
+-0.67 -6.79 -0.24 -6.84 0.24 -6.01 0.67 -6.42 1.15 -6.7 1.63 -6.88 2.12 -6.9 2.65 -6.8 
+3.14 -6.58 3.71 -6.18 -5.88 0 -1.98 2.45 -1.89 2.74 -3.56 6.07 -3.21 6.73 -2.78 7.14 
+-2.28 7.27 -1.72 7.14 -1.08 6.8 -0.37 6.14 0.11 3.76 0.26 3.71 1.08 7.32 1.72 7.16 
+2.28 6.96 2.78 6.73 3.21 6.49 3.56 6.23 3.86 5.91 f*
+2816.23 3958.81 1.97 -0.09 1.91 -0.3 1.84 -0.48 1.78 -0.67 3.3 -1.81 2.89 -2.4 2.38 -2.89 
+1.83 -3.29 0.65 -1.79 0.48 -1.84 0.3 -1.93 0.11 -1.95 -0.11 -1.98 -0.3 -1.91 -0.48 -1.87 
+-0.65 -1.79 -1.83 -3.29 -2.38 -2.89 -2.89 -2.38 -3.3 -1.83 -1.78 -0.65 -1.84 -0.5 -1.91 -0.28 
+-1.97 -0.11 -1.96 0.11 -1.91 0.28 -1.87 0.5 -1.78 0.65 -3.29 1.83 -2.89 2.38 -2.39 2.89 
+-1.8 3.29 -0.65 1.79 -0.5 1.87 -0.3 1.91 -0.08 1.98 8.24 0 0.24 -2.17 0.67 -2.09 
+1.07 -1.89 1.41 -1.67 1.66 -1.41 1.89 -1.07 2.06 -0.7 2.17 -0.24 2.16 0.24 2.07 0.7 
+1.91 1.07 1.67 1.41 1.39 1.67 1.07 1.89 0.7 2.09 0.24 2.17 -0.24 2.17 -0.7 2.06 
+-1.07 1.89 -1.39 1.69 -1.67 1.39 -1.91 1.09 -2.07 0.67 -2.16 0.24 -2.17 -0.24 -2.06 -0.67 
+-1.89 -1.09 -1.66 -1.39 -1.41 -1.69 -1.07 -1.89 -0.67 -2.06 -0.24 -2.17 -8.24 0 0.08 1.95 
+0.3 1.93 0.5 1.84 0.65 1.79 1.8 3.29 2.39 2.89 2.89 2.4 3.29 1.81 1.78 0.67 
+1.87 0.48 1.91 0.3 1.96 0.09 f*
+2862.17 3961.76 7.66 0 -44.77 -82.55 -7.64 0 44.74 82.55 f*
+2871.59 3918.14 1.97 -0.11 1.91 -0.3 1.85 -0.48 1.78 -0.67 3.3 -1.8 2.89 -2.39 2.38 -2.91 
+1.8 -3.3 0.68 -1.78 0.47 -1.84 0.31 -1.93 0.11 -1.95 -0.11 -1.98 -0.31 -1.91 -0.47 -1.86 
+-0.68 -1.78 -1.8 -3.3 -2.38 -2.88 -2.89 -2.39 -3.3 -1.82 -1.78 -0.65 -1.85 -0.48 -1.91 -0.3 
+-1.97 -0.11 -1.95 0.11 -1.93 0.3 -1.85 0.48 -1.78 0.65 -3.3 1.82 -2.89 2.39 -2.39 2.88 
+-1.8 3.3 -0.67 1.78 -0.48 1.86 -0.31 1.91 -0.08 1.98 8.22 0 0.26 -2.18 0.67 -2.06 
+1.06 -1.91 1.41 -1.68 1.67 -1.4 1.89 -1.07 2.06 -0.68 2.17 -0.24 2.17 0.24 2.06 0.68 
+1.89 1.07 1.7 1.4 1.39 1.68 1.06 1.91 0.7 2.06 0.24 2.18 -0.24 2.16 -0.7 2.06 
+-1.06 1.91 -1.39 1.67 -1.7 1.39 -1.89 1.08 -2.06 0.67 -2.17 0.24 -2.17 -0.24 -2.06 -0.67 
+-1.89 -1.08 -1.67 -1.39 -1.41 -1.67 -1.06 -1.91 -0.67 -2.06 -0.26 -2.16 -8.22 0 0.08 1.95 
+0.31 1.93 0.48 1.84 0.67 1.78 1.8 3.3 2.39 2.91 2.89 2.39 3.3 1.8 1.78 0.67 
+1.85 0.48 1.93 0.3 1.95 0.11 f*
+2898.68 3964.13 5.9 0 4.52 -6.92 3.88 -7.04 3.26 -7.05 2.63 -7.01 2.02 -6.9 1.41 -6.71 
+0.84 -6.46 0.29 -6.17 -0.31 -6.16 -0.89 -6.51 -1.5 -6.73 -2.08 -6.83 -2.67 -6.84 -3.23 -6.73 
+-3.8 -6.51 -4.36 -6.16 -5.9 0 3.53 6.18 3.08 6.23 2.63 6.32 2.17 6.4 1.69 6.54 
+1.24 6.73 0.71 6.92 0.26 7.16 -0.22 6.99 -0.7 6.8 -1.15 6.7 -1.63 6.64 -2.12 6.64 
+-2.63 6.7 -3.16 6.82 -3.71 6.97 f*
+cleartomark end end pagesave restore
+ showpage
+%%PageTrailer
+%%Trailer
+%%Pages: 1
+
+%%EndDocument
+ @endspecial 275 4745 a FD(Figure)30 b(7.1:)42 b(Global)32
+b(Distribution)e(of)h(Long-term)g(Av)m(erage.)150 4950
+y(This)36 b(section)h(illustrates)h(ho)m(w)e(to)i(calculate)g(the)f
+(global)h(distribution)e(of)g(long-term)i(a)m(v)m(erage)h(\(see)150
+5060 y(Figure)34 b(7.1\))h(with)e(either)h(\015at)f(\014les)g(or)h
+(group)f(\014le)g(\()p Fy(http:)r(/)r(/)r(nco)r(.)r(sourceforge)r(.)r
+(net)r(/)r(nco)r(.)r(ht)o(ml)r(#)150 5169 y(index-groups)p
+FD(\).)38 b(Key)30 b(steps)g(include:)199 5340 y(1.)61
+b(Av)m(erage)38 b(ensem)m(ble)f(mem)m(b)s(ers)e(of)h(eac)m(h)i(mo)s
+(del)e(using)f Fy(nces)g FD(\(see)j(Section)f(4.4)g([nces)f(netCDF)p
+eop end
+%%Page: 219 225
+TeXDict begin 219 224 bop 150 -116 a FD(Chapter)30 b(7:)41
+b(CMIP5)30 b(Example)2333 b(219)330 299 y(Ensem)m(ble)30
+b(Statistics],)j(page)e(164\))199 442 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 552 y(ager],)i(page)f
+(194\))199 695 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 805 y(Section)31 b(4.10)h([ncrcat)f(netCDF)g
+(Record)g(Concatenator],)h(page)g(196\))g(with)e(the)g
+Fy(--gag)f FD(option)275 1007 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 1176
+y Fy(#!/bin/bash)390 1395 y(#=======================)o(====)o(====)o
+(===)o(====)o(====)o(===)o(====)o(====)o(===)o(====)o(====)o(===)o
+(====)o(====)390 1504 y(#)47 b(After)g(cmb_fl.sh)390
+1614 y(#)g(Example:)94 b(Long-term)45 b(average)h(of)h(each)g(model)f
+(globally)390 1724 y(#)390 1833 y(#)h(Input)g(files)f(like:)390
+1943 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 2052
+y(#)390 2162 y(#)g(Output)g(files)f(like:)390 2271 y(#)h
+(/data/cmip5/output/snc/snc)o(_LIm)o(on_)o(all-)o(mdl_)o(his)o(tori)o
+(cal_)o(all)o(-nsm)o(_clm)o(.nc)390 2381 y(#)390 2491
+y(#)g(Online:)390 2600 y(#)95 b(http://nco.sourceforge.ne)o(t/nc)o(o.h)
+o(tml#)o(Glob)o(al-)o(Dist)o(ribu)o(tio)o(n-of)o(-Lon)o(g_0)o(02dt)o
+(erm-)o(Ave)o(rage)390 2710 y(#)390 2819 y(#)47 b(Execute)f(this)h
+(script:)93 b(bash)47 b(glb_avg.sh)390 2929 y(#=======================)
+o(====)o(====)o(===)o(====)o(====)o(===)o(====)o(====)o(===)o(====)o
+(====)o(===)o(====)o(====)390 3148 y(#-----------------------)o(----)o
+(----)o(---)o(----)o(----)o(---)o(----)o(----)o(---)o(----)o(----)o
+(---)o(----)o(----)390 3258 y(#)g(Parameters)390 3367
+y(drc_in='/home/wenshanw/d)o(ata/)o(cmip)o(5/')423 b(#)47
+b(Directory)f(of)h(input)f(files)390 3477 y(drc_out='/home/wenshanw/)o
+(data)o(/cmi)o(p5/)o(outp)o(ut/')41 b(#)47 b(Directory)f(of)h(output)f
+(files)390 3696 y(var=\()g('snc')h('snd')f(\))1193 b(#)47
+b(Variables)390 3806 y(rlm='LImon')1572 b(#)47 b(Realm)390
+3915 y(xpt=\()f('historical')f(\))1145 b(#)47 b(Experiment)e(\()j
+(could)e(be)h(more)g(\))390 4134 y(fld_out=\()e('snc/')h('snd/')g(\))
+907 b(#)47 b(Folders)f(of)h(output)g(files)390 4244 y
+(#-----------------------)o(----)o(----)o(---)o(----)o(----)o(---)o
+(----)o(----)o(---)o(----)o(----)o(---)o(----)o(----)390
+4463 y(for)g(var_id)f(in)h({0..1};)f(do)1240 b(#)48 b(Loop)e(over)h
+(two)g(variables)485 4573 y(#)h(Names)e(of)h(all)g(models)485
+4682 y(#)143 b(\(ls)47 b([get)g(file)g(names];)e(cut)i([get)g(the)g
+(part)f(for)h(model)g(names];)485 4792 y(#)143 b(sort;)47
+b(uniq)f([remove)g(duplicates];)f(awk)i([print]\))485
+4902 y(mdl_set=$\()e(ls)j(${drc_in}${var[var_id]})o(_${r)o(lm})o(_*_$)o
+({xpt)o([0])o(}_*.)o(nc)42 b(|)47 b(\\)581 5011 y(cut)g(-d)g('_')g(-f)g
+(3)h(|)f(sort)g(|)g(uniq)g(-c)g(|)g(awk)g('{print)f($2}')h(\))485
+5121 y(#)h(Number)e(of)h(models)f(\(echo)h([print)f(contents];)f(wc)i
+([count]\))485 5230 y(mdl_num=$\()e(echo)i(${mdl_set})e(|)j(wc)f(-w)g
+(\))p eop end
+%%Page: 220 226
+TeXDict begin 220 225 bop 150 -116 a FD(220)2582 b FC(NCO)30
+b FD(4.4.2)j(User)d(Guide)485 299 y Fy(for)47 b(mdl)g(in)g(${mdl_set};)
+e(do)1861 b(#)47 b(Loop)g(over)g(models)772 408 y(#)g(Average)f(all)h
+(the)g(ensemble)e(members)h(of)h(each)g(model)581 518
+y(#)g(Use)g(nces)g(file)g(ensembles)e(mode:)94 b(--nsm_fl)772
+628 y(nces)46 b(--nsm_fl)g(-O)h(-4)g(-d)h(time,"1956-01-01)43
+b(00:00:0.0","2005-12-31)f(23:59:9.9")j(\\)676 737 y
+(${drc_in}${var[var_id]}_${)o(rlm)o(}_${)o(mdl})o(_${)o(xpt[)o(0]}_)o
+(*.n)o(c)d(\\)676 847 y(${drc_out}${fld_out[var_id)o(]}$)o({var)o([var)
+o(_id)o(]}_$)o({rlm)o(}_$)o({mdl)o(}_${)o(xpt)o([0]})o(\\)676
+956 y(_all-nsm_195601-200512.nc)772 1176 y(#)47 b(Average)f(along)g
+(time)772 1285 y(ncra)g(-O)i(${drc_out}${fld_out[var)o(_id])o(}${)o
+(var[)o(var_)o(id])o(}_${)o(rlm})o(_${)o(mdl})o(_${x)o(pt[)o(0]}\\)676
+1395 y(_all-nsm_195601-200512.nc)41 b(\\)676 1504 y
+(${drc_out}${fld_out[var_id)o(]}$)o({var)o([var)o(_id)o(]}_$)o({mdl)o
+(}.n)o(c)772 1724 y(echo)46 b(Model)h(${mdl})f(done!)485
+1833 y(done)772 2052 y(#)h(Remove)f(temporary)g(files)772
+2162 y(rm)h(${drc_out}${fld_out[var_)o(id]})o(${va)o(r[v)o(ar_i)o(d]}*)
+o(his)o(tori)o(cal*)o(.nc)485 2381 y(#)h(Store)e(models)g(as)i(groups)e
+(in)h(the)g(output)f(file)485 2491 y(ncecat)h(-O)g(--gag)f
+(${drc_out}${fld_out[var_i)o(d]})o(${va)o(r[va)o(r_i)o(d]}_)o(*.nc)41
+b(\\)581 2600 y(${drc_out}${fld_out[var_)o(id]})o(${v)o(ar[v)o(ar_i)o
+(d]})o(_${r)o(lm}_)o(\\)581 2710 y(all-mdl_${xpt[0]}_all-ns)o(m_cl)o
+(m.n)o(c)772 2929 y(echo)46 b(Var)h(${var[var_id]})d(done!)390
+3039 y(done)275 3294 y FD(With)30 b(the)h(use)f(of)h
+Fy(group)p FD(,)e(the)h(ab)s(o)m(v)m(e)i(script)e(will)h(b)s(e)f
+(shortened)g(to)h(just)e(TW)m(O)i(LINES)o(.)390 3550
+y Fy(#)47 b(Data)g(from)g(cmb_fl_grp.sh)390 3660 y(#)g(ensemble)f
+(averaging)390 3769 y(nces)h(-O)g(--nsm_grp)e(--nsm_sfx='_avg')e(\\)390
+3879 y(sn_LImon_all-mdl_all-xpt)o(_all)o(-nsm)o(_20)o(0001)o(-200)o
+(512)o(.nc)e(\\)485 3988 y(sn_LImon_all-mdl_all-xpt_n)o(sm-a)o(vg.)o
+(nc)390 4098 y(ncra)47 b(-O)g(-g)g('avg$')f(sn_LImon_all-mdl_all-xpt_)o
+(nsm)o(-avg)o(.nc)41 b(\\)485 4208 y(sn_LImon_all-mdl_all-xpt_n)o(sm-a)
+o(vg_)o(tm-a)o(vg.n)o(c)275 4463 y FD(The)27 b(input)f(\014le,)j
+Fy(sn_LImon_all-mdl_all-xpt)o(_all)o(-nsm)o(_20)o(0001)o(-200)o(512)o
+(.nc)p FD(,)22 b(pro)s(duced)k(b)m(y)150 4573 y Fy(cmb_fl_grp.sh)p
+FD(,)f(includes)j(all)h(the)g(ensem)m(ble)g(mem)m(b)s(ers)e(as)i
+(groups.)39 b(The)28 b(option)h(`)p Fy(--nsm_grp)p FD(')d(de-)150
+4682 y(notes)c(that)g(w)m(e)g(are)g(using)e(group)h(ensem)m(bles)h(mo)s
+(de)f(\()p Fy(http://nco.sf.net/nco.html)o(#ns)o(m_gr)o(p)p
+FD(\))16 b(of)150 4792 y Fy(nces)p FD(,)25 b(instead)g(of)g(\014le)g
+(ensem)m(bles)g(mo)s(de)g(\()p Fy(http://nco.sf.net/nco.ht)o(ml#n)o
+(sm_f)o(l)p FD(\),)20 b(`)p Fy(--nsm_fl)p FD('.)150 4902
+y(The)36 b(option)h(`)p Fy(--nsm_sfx='_avg')p FD(')32
+b(instructs)37 b Fy(nces)e FD(to)i(store)g(the)g(output)f(as)h(a)g(new)
+f(c)m(hild)g(group)150 5011 y Fy(/[model]/[model)26 b(name]_avg)p
+FD(,)f(instead)h(of)h(in)f(the)g(paren)m(t)h(group)e
+Fy(/[model])p FD(.)38 b(In)25 b(the)h(\014nal)g(output)150
+5121 y(\014le,)f Fy(sn_LImon_all-mdl_all-xp)o(t_ns)o(m-a)o(vg_t)o(m-a)o
+(vg.n)o(c)p FD(,)19 b(sub-groups)i(with)h(a)h(su\016x)f(of)h(`a)m(vg')i
+(are)150 5230 y(the)32 b(long-term)h(a)m(v)m(erages)i(of)d(eac)m(h)h
+(mo)s(del.)46 b(Here,)33 b(`)p Fy(-g)d('avg$')p FD(')h(is)h(used)f(to)i
+(retriev)m(e)g(groups)e(ha)m(ving)150 5340 y('a)m(vg')h(at)f(the)g(end)
+f(of)g(their)h(names,)f(i.e.,)i(the)e(long-term)i(a)m(v)m(erage)h
+(groups.)p eop end
+%%Page: 221 227
+TeXDict begin 221 226 bop 150 -116 a FD(Chapter)30 b(7:)41
+b FC(CMIP5)29 b FD(Example)2358 b(221)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
+%!PS-Adobe-3.0 EPSF-3.0
+%%BoundingBox: 22 118 589 685
+%%HiResBoundingBox: 22.860001 118.980005 588.060022 684.000026
+%...................................
+%%Creator: GPL Ghostscript 871 (epswrite)
+%%CreationDate: 2013/04/07 15:38:19
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%EndComments
+%%BeginProlog
+% This copyright applies to everything between here and the %%EndProlog:
+% Copyright (C) 2010 Artifex Software, Inc.  All rights reserved.
+%%BeginResource: procset GS_epswrite_2_0_1001 1.001 0
+/GS_epswrite_2_0_1001 80 dict dup begin
+/PageSize 2 array def/setpagesize{ PageSize aload pop 3 index eq exch
+4 index eq and{ pop pop pop}{ PageSize dup  1
+5 -1 roll put 0 4 -1 roll put dup null eq {false} {dup where} ifelse{ exch get exec}
+{ pop/setpagedevice where
+{ pop 1 dict dup /PageSize PageSize put setpagedevice}
+{ /setpage where{ pop PageSize aload pop pageparams 3 {exch pop} repeat
+setpage}if}ifelse}ifelse}ifelse} bind def
+/!{bind def}bind def/#{load def}!/N/counttomark #
+/rG{3{3 -1 roll 255 div}repeat setrgbcolor}!/G{255 div setgray}!/K{0 G}!
+/r6{dup 3 -1 roll rG}!/r5{dup 3 1 roll rG}!/r3{dup rG}!
+/w/setlinewidth #/J/setlinecap #
+/j/setlinejoin #/M/setmiterlimit #/d/setdash #/i/setflat #
+/m/moveto #/l/lineto #/c/rcurveto #
+/p{N 2 idiv{N -2 roll rlineto}repeat}!
+/P{N 0 gt{N -2 roll moveto p}if}!
+/h{p closepath}!/H{P closepath}!
+/lx{0 rlineto}!/ly{0 exch rlineto}!/v{0 0 6 2 roll c}!/y{2 copy c}!
+/re{4 -2 roll m exch dup lx exch ly neg lx h}!
+/^{3 index neg 3 index neg}!
+/f{P fill}!/f*{P eofill}!/s{H stroke}!/S{P stroke}!
+/q/gsave #/Q/grestore #/rf{re fill}!
+/Y{P clip newpath}!/Y*{P eoclip newpath}!/rY{re Y}!
+/|={pop exch 4 1 roll 1 array astore cvx 3 array astore cvx exch 1 index def exec}!
+/|{exch string readstring |=}!
+/+{dup type/nametype eq{2 index 7 add -3 bitshift 2 index mul}if}!
+/@/currentfile #/${+ @ |}!
+/B{{2 copy string{readstring pop}aload pop 4 array astore cvx
+3 1 roll}repeat pop pop true}!
+/Ix{[1 0 0 1 11 -2 roll exch neg exch neg]exch}!
+/,{true exch Ix imagemask}!/If{false exch Ix imagemask}!/I{exch Ix image}!
+/Ic{exch Ix false 3 colorimage}!
+/F{/Columns counttomark 3 add -2 roll/Rows exch/K -1/BlackIs1 true>>
+/CCITTFaxDecode filter}!/FX{<</EndOfBlock false F}!
+/X{/ASCII85Decode filter}!/@X{@ X}!/&2{2 index 2 index}!
+/@F{@ &2<<F}!/@C{@X &2 FX}!
+/$X{+ @X |}!/&4{4 index 4 index}!/$F{+ @ &4<<F |}!/$C{+ @X &4 FX |}!
+/IC{3 1 roll 10 dict begin 1{/ImageType/Interpolate/Decode/DataSource
+/ImageMatrix/BitsPerComponent/Height/Width}{exch def}forall
+currentdict end image}!
+/~{@ read {pop} if}!
+end def
+%%EndResource
+/pagesave null def
+%%EndProlog
+%%Page: 1 1
+%%BeginPageSetup
+GS_epswrite_2_0_1001 begin
+/pagesave save store 197 dict begin
+0.18 0.18 scale
+%%EndPageSetup
+gsave mark
+Q q
+127.777 661.109 3138.89 3138.89 re
+Y*
+255 G
+127.777 661.109 3138.89 3138.89 re
+f*
+Q q
+594.445 2455.55 2550 955.555 re
+Y*
+222 176 255 rG
+695.42 2987.67 0 172.83 47.94 -1.67 47.94 -12.74 47.93 -8.74 47.94 19.94 47.94 -20.7 47.94 -3.95 
+47.94 -35.57 47.94 67.99 47.94 5.86 47.94 -39.11 47.94 1.8 47.94 -5.08 47.94 9.7 47.93 -5.69 
+47.94 22.03 47.94 -17.6 47.94 -71.36 47.94 23.48 47.94 -20.16 47.94 14.56 47.96 24.7 47.94 2.23 
+47.94 -45.42 47.93 -5.7 47.94 42.23 47.94 4.6 47.94 31.53 47.94 -42.96 47.94 20.18 47.94 -21.05 
+47.94 -6.3 47.94 4.19 47.94 -66.95 47.93 25.04 47.94 37.87 47.94 13.58 47.94 -3.95 47.94 -30.58 
+47.94 6.36 47.94 -42.88 47.94 -27.23 47.94 1.74 47.94 28.25 47.94 -20.83 47.93 -0.09 47.94 19.49 
+47.94 -31.46 47.94 28.25 47.94 -32.14 0 -121.89 -47.94 6.49 -47.94 -35.03 -47.94 47.27 -47.94 -69.44 
+-47.93 24.54 -47.94 28.11 -47.94 29.47 -47.94 -22.05 -47.94 -1.87 -47.94 52.89 -47.94 5.71 -47.94 -3.52 
+-47.94 52.88 -47.94 -24.86 -47.94 -46.45 -47.93 -7.14 -47.94 -3.49 -47.94 8.59 -47.94 33.7 -47.94 8.48 
+-47.94 10.39 -47.94 7.01 -47.94 -41.97 -47.94 -22.61 -47.94 25.56 -47.93 -15.75 -47.94 35.85 -47.94 14.09 
+-47.96 1.32 -47.94 -53.69 -47.94 14.65 -47.94 38.8 -47.94 35.13 -47.94 -60.59 -47.94 70.29 -47.93 -53.08 
+-47.94 4.75 -47.94 1.39 -47.94 25.43 -47.94 0.46 -47.94 11.59 -47.94 -33.42 -47.94 21.62 -47.94 -6.95 
+-47.94 8.18 -47.94 9.03 -47.93 -18.91 -47.94 0.33 -47.94 0.17 f*
+Q q
+599.543 2456.96 2540.76 952.781 re
+Y*
+222 176 255 rG
+695.42 2987.67 0 172.83 47.94 -1.67 47.94 -12.74 47.93 -8.74 47.94 19.94 47.94 -20.7 47.94 -3.95 
+47.94 -35.57 47.94 67.99 47.94 5.86 47.94 -39.11 47.94 1.8 47.94 -5.08 47.94 9.7 47.93 -5.69 
+47.94 22.03 47.94 -17.6 47.94 -71.36 47.94 23.48 47.94 -20.16 47.94 14.56 47.96 24.7 47.94 2.23 
+47.94 -45.42 47.93 -5.7 47.94 42.23 47.94 4.6 47.94 31.53 47.94 -42.96 47.94 20.18 47.94 -21.05 
+47.94 -6.3 47.94 4.19 47.94 -66.95 47.93 25.04 47.94 37.87 47.94 13.58 47.94 -3.95 47.94 -30.58 
+47.94 6.36 47.94 -42.88 47.94 -27.23 47.94 1.74 47.94 28.25 47.94 -20.83 47.93 -0.09 47.94 19.49 
+47.94 -31.46 47.94 28.25 47.94 -32.14 0 -121.89 -47.94 6.49 -47.94 -35.03 -47.94 47.27 -47.94 -69.44 
+-47.93 24.54 -47.94 28.11 -47.94 29.47 -47.94 -22.05 -47.94 -1.87 -47.94 52.89 -47.94 5.71 -47.94 -3.52 
+-47.94 52.88 -47.94 -24.86 -47.94 -46.45 -47.93 -7.14 -47.94 -3.49 -47.94 8.59 -47.94 33.7 -47.94 8.48 
+-47.94 10.39 -47.94 7.01 -47.94 -41.97 -47.94 -22.61 -47.94 25.56 -47.93 -15.75 -47.94 35.85 -47.94 14.09 
+-47.96 1.32 -47.94 -53.69 -47.94 14.65 -47.94 38.8 -47.94 35.13 -47.94 -60.59 -47.94 70.29 -47.93 -53.08 
+-47.94 4.75 -47.94 1.39 -47.94 25.43 -47.94 0.46 -47.94 11.59 -47.94 -33.42 -47.94 21.62 -47.94 -6.95 
+-47.94 8.18 -47.94 9.03 -47.93 -18.91 -47.94 0.33 -47.94 0.17 f*
+245 186 r5
+695.42 3080.08 0 154.47 47.94 41.75 47.94 -152.32 47.93 35.77 47.94 13.36 47.94 48.96 47.94 -18.67 
+47.94 72.7 47.94 57.18 47.94 -225 47.94 143.29 47.94 -145.86 47.94 13.83 47.94 37.8 47.93 -74.91 
+47.94 -1.67 47.94 44.12 47.94 -17.06 47.94 47.61 47.94 -2.82 47.94 -33.68 47.96 -13.32 47.94 50.28 
+47.94 -89.95 47.93 0.33 47.94 35.63 47.94 -83.16 47.94 125.21 47.94 55.63 47.94 -125.85 47.94 -66.99 
+47.94 86.67 47.94 -110.96 47.94 136.7 47.93 -116.86 47.94 1.2 47.94 189.56 47.94 -48.48 47.94 -49.93 
+47.94 47.79 47.94 -22.92 47.94 -131.34 47.94 18.64 47.94 52.21 47.94 14.65 47.93 -172.27 47.94 94.14 
+47.94 -51.26 47.94 -28.54 47.94 -39.91 0 -91.43 -47.94 -20.57 -47.94 -165.11 -47.94 6.36 -47.94 89.69 
+-47.93 132.03 -47.94 112 -47.94 -125.62 -47.94 47.63 -47.94 72.29 -47.94 63.87 -47.94 28.86 -47.94 -3.55 
+-47.94 -88.87 -47.94 -125.91 -47.94 75.2 -47.93 82.55 -47.94 -107.9 -47.94 4.5 -47.94 92.27 -47.94 6.54 
+-47.94 128.69 -47.94 -124.71 -47.94 -121.25 -47.94 97.85 -47.94 33.12 -47.93 -37 -47.94 -50.11 -47.94 96.96 
+-47.96 -25.87 -47.94 52.76 -47.94 -3.41 -47.94 -55.58 -47.94 26.24 -47.94 -110.07 -47.94 100.45 -47.93 -77.73 
+-47.94 148.18 -47.94 -107.86 -47.94 -0.26 -47.94 97.55 -47.94 131.49 -47.94 -129.66 -47.94 -66.17 -47.94 65.28 
+-47.94 -10.35 -47.94 -26.97 -47.93 36.83 -47.94 -8.29 -47.94 59.33 f*
+695.42 3080.08 0 154.47 47.94 41.75 47.94 -152.32 47.93 35.77 47.94 13.36 47.94 48.96 47.94 -18.67 
+47.94 72.7 47.94 57.18 47.94 -225 47.94 143.29 47.94 -145.86 47.94 13.83 47.94 37.8 47.93 -74.91 
+47.94 -1.67 47.94 44.12 47.94 -17.06 47.94 47.61 47.94 -2.82 47.94 -33.68 47.96 -13.32 47.94 50.28 
+47.94 -89.95 47.93 0.33 47.94 35.63 47.94 -83.16 47.94 125.21 47.94 55.63 47.94 -125.85 47.94 -66.99 
+47.94 86.67 47.94 -110.96 47.94 136.7 47.93 -116.86 47.94 1.2 47.94 189.56 47.94 -48.48 47.94 -49.93 
+47.94 47.79 47.94 -22.92 47.94 -131.34 47.94 18.64 47.94 52.21 47.94 14.65 47.93 -172.27 47.94 94.14 
+47.94 -51.26 47.94 -28.54 47.94 -39.91 0 -91.43 -47.94 -20.57 -47.94 -165.11 -47.94 6.36 -47.94 89.69 
+-47.93 132.03 -47.94 112 -47.94 -125.62 -47.94 47.63 -47.94 72.29 -47.94 63.87 -47.94 28.86 -47.94 -3.55 
+-47.94 -88.87 -47.94 -125.91 -47.94 75.2 -47.93 82.55 -47.94 -107.9 -47.94 4.5 -47.94 92.27 -47.94 6.54 
+-47.94 128.69 -47.94 -124.71 -47.94 -121.25 -47.94 97.85 -47.94 33.12 -47.93 -37 -47.94 -50.11 -47.94 96.96 
+-47.96 -25.87 -47.94 52.76 -47.94 -3.41 -47.94 -55.58 -47.94 26.24 -47.94 -110.07 -47.94 100.45 -47.93 -77.73 
+-47.94 148.18 -47.94 -107.86 -47.94 -0.26 -47.94 97.55 -47.94 131.49 -47.94 -129.66 -47.94 -66.17 -47.94 65.28 
+-47.94 -10.35 -47.94 -26.97 -47.93 36.83 -47.94 -8.29 -47.94 59.33 f*
+255 189 r3
+695.42 3053.23 0 58.44 47.94 8.2 47.94 -36.13 47.93 71.55 47.94 -60.09 47.94 41.66 47.94 -50.91 
+47.94 62.72 47.94 -46.72 47.94 17.23 47.94 -74.33 47.94 29.23 47.94 83.64 47.94 -27.3 47.93 -39.48 
+47.94 -33.66 47.94 114.5 47.94 -35.92 47.94 17.95 47.94 52.02 47.94 -50.7 47.96 -115.61 47.94 106.62 
+47.94 -92.49 47.93 -12.67 47.94 90.45 47.94 14.48 47.94 -49.27 47.94 -53.99 47.94 100.45 47.94 -28.54 
+47.94 -107.33 47.94 72.57 47.94 -24.13 47.93 70.71 47.94 -64.61 47.94 -10.63 47.94 -69.99 47.94 68.08 
+47.94 38.8 47.94 -25.98 47.94 -36.04 47.94 -0.44 47.94 -48.52 47.94 61.35 47.93 -37.71 47.94 -8.18 
+47.94 -73.63 47.94 5.64 47.94 125.11 0 -267.8 -47.94 56.84 -47.94 -49.54 -47.94 16.73 -47.94 94.64 
+-47.93 -72.98 -47.94 34.25 -47.94 88.02 -47.94 -96.44 -47.94 20.27 -47.94 144.27 -47.94 -94.05 -47.94 -70.96 
+-47.94 -44.75 -47.94 -82.09 -47.94 220.91 -47.93 27.26 -47.94 22.33 -47.94 -77.71 -47.94 113.17 -47.94 -13.89 
+-47.94 -30.21 -47.94 -85.31 -47.94 52.39 -47.94 91.36 -47.94 -149.78 -47.93 84.12 -47.94 25.58 -47.94 -55.04 
+-47.96 84.59 -47.94 -42.29 -47.94 36.33 -47.94 6.99 -47.94 33.09 -47.94 -53.41 -47.94 4.13 -47.93 25.26 
+-47.94 -19.38 -47.94 24.33 -47.94 -140.93 -47.94 121.44 -47.94 -46.86 -47.94 44.64 -47.94 -16.04 -47.94 -46.92 
+-47.94 44.6 -47.94 -32.43 -47.93 38.29 -47.94 -4.04 -47.94 40.63 f*
+695.42 3053.23 0 58.44 47.94 8.2 47.94 -36.13 47.93 71.55 47.94 -60.09 47.94 41.66 47.94 -50.91 
+47.94 62.72 47.94 -46.72 47.94 17.23 47.94 -74.33 47.94 29.23 47.94 83.64 47.94 -27.3 47.93 -39.48 
+47.94 -33.66 47.94 114.5 47.94 -35.92 47.94 17.95 47.94 52.02 47.94 -50.7 47.96 -115.61 47.94 106.62 
+47.94 -92.49 47.93 -12.67 47.94 90.45 47.94 14.48 47.94 -49.27 47.94 -53.99 47.94 100.45 47.94 -28.54 
+47.94 -107.33 47.94 72.57 47.94 -24.13 47.93 70.71 47.94 -64.61 47.94 -10.63 47.94 -69.99 47.94 68.08 
+47.94 38.8 47.94 -25.98 47.94 -36.04 47.94 -0.44 47.94 -48.52 47.94 61.35 47.93 -37.71 47.94 -8.18 
+47.94 -73.63 47.94 5.64 47.94 125.11 0 -267.8 -47.94 56.84 -47.94 -49.54 -47.94 16.73 -47.94 94.64 
+-47.93 -72.98 -47.94 34.25 -47.94 88.02 -47.94 -96.44 -47.94 20.27 -47.94 144.27 -47.94 -94.05 -47.94 -70.96 
+-47.94 -44.75 -47.94 -82.09 -47.94 220.91 -47.93 27.26 -47.94 22.33 -47.94 -77.71 -47.94 113.17 -47.94 -13.89 
+-47.94 -30.21 -47.94 -85.31 -47.94 52.39 -47.94 91.36 -47.94 -149.78 -47.93 84.12 -47.94 25.58 -47.94 -55.04 
+-47.96 84.59 -47.94 -42.29 -47.94 36.33 -47.94 6.99 -47.94 33.09 -47.94 -53.41 -47.94 4.13 -47.93 25.26 
+-47.94 -19.38 -47.94 24.33 -47.94 -140.93 -47.94 121.44 -47.94 -46.86 -47.94 44.64 -47.94 -16.04 -47.94 -46.92 
+-47.94 44.6 -47.94 -32.43 -47.93 38.29 -47.94 -4.04 -47.94 40.63 f*
+250 194 r6
+695.42 2994.27 0 267.27 47.94 -145.37 47.94 100.3 47.93 71 47.94 -3.86 47.94 -65.69 47.94 -61.11 
+47.94 24.65 47.94 127.95 47.94 -167.41 47.94 142.52 47.94 -100.02 47.94 107.23 47.94 32.66 47.93 -72.46 
+47.94 -120.49 47.94 86.13 47.94 164.87 47.94 -171.51 47.94 10.16 47.94 61.22 47.96 -114.67 47.94 21.22 
+47.94 -90.54 47.93 -45.46 47.94 68.62 47.94 -104.08 47.94 252.34 47.94 -25.61 47.94 -193.54 47.94 92.69 
+47.94 68.21 47.94 -19.68 47.94 -41.82 47.93 -120.71 47.94 66.85 47.94 28.71 47.94 100.24 47.94 -92.64 
+47.94 -73.11 47.94 94.12 47.94 -163.98 47.94 -21.07 47.94 150.83 47.94 -68.75 47.93 50.48 47.94 -184.31 
+47.94 68.77 47.94 22.31 47.94 -4.86 0 -233.25 -47.94 45.4 -47.94 -53.52 -47.94 -277.23 -47.94 211.74 
+-47.93 -104.1 -47.94 94.25 -47.94 46.12 -47.94 51.11 -47.94 38.89 -47.94 -61.35 -47.94 55.77 -47.94 134.39 
+-47.94 11.96 -47.94 -189.65 -47.94 58.38 -47.93 -0.55 -47.94 29.14 -47.94 196.25 -47.94 -219.07 -47.94 8.84 
+-47.94 107.24 -47.94 41.88 -47.94 -202.93 -47.94 27.69 -47.94 66.56 -47.93 -33.83 -47.94 123.27 -47.94 -249.96 
+-47.96 172.38 -47.94 -24.48 -47.94 48.44 -47.94 35.61 -47.94 36.22 -47.94 -102.22 -47.94 0.26 -47.93 198.42 
+-47.94 -75.7 -47.94 43.49 -47.94 100.42 -47.94 -205.21 -47.94 127.61 -47.94 -213.63 -47.94 -46.64 -47.94 225.83 
+-47.94 101.52 -47.94 -330.66 -47.93 90.7 -47.94 -45.1 -47.94 130.73 f*
+695.42 2994.27 0 267.27 47.94 -145.37 47.94 100.3 47.93 71 47.94 -3.86 47.94 -65.69 47.94 -61.11 
+47.94 24.65 47.94 127.95 47.94 -167.41 47.94 142.52 47.94 -100.02 47.94 107.23 47.94 32.66 47.93 -72.46 
+47.94 -120.49 47.94 86.13 47.94 164.87 47.94 -171.51 47.94 10.16 47.94 61.22 47.96 -114.67 47.94 21.22 
+47.94 -90.54 47.93 -45.46 47.94 68.62 47.94 -104.08 47.94 252.34 47.94 -25.61 47.94 -193.54 47.94 92.69 
+47.94 68.21 47.94 -19.68 47.94 -41.82 47.93 -120.71 47.94 66.85 47.94 28.71 47.94 100.24 47.94 -92.64 
+47.94 -73.11 47.94 94.12 47.94 -163.98 47.94 -21.07 47.94 150.83 47.94 -68.75 47.93 50.48 47.94 -184.31 
+47.94 68.77 47.94 22.31 47.94 -4.86 0 -233.25 -47.94 45.4 -47.94 -53.52 -47.94 -277.23 -47.94 211.74 
+-47.93 -104.1 -47.94 94.25 -47.94 46.12 -47.94 51.11 -47.94 38.89 -47.94 -61.35 -47.94 55.77 -47.94 134.39 
+-47.94 11.96 -47.94 -189.65 -47.94 58.38 -47.93 -0.55 -47.94 29.14 -47.94 196.25 -47.94 -219.07 -47.94 8.84 
+-47.94 107.24 -47.94 41.88 -47.94 -202.93 -47.94 27.69 -47.94 66.56 -47.93 -33.83 -47.94 123.27 -47.94 -249.96 
+-47.96 172.38 -47.94 -24.48 -47.94 48.44 -47.94 35.61 -47.94 36.22 -47.94 -102.22 -47.94 0.26 -47.93 198.42 
+-47.94 -75.7 -47.94 43.49 -47.94 100.42 -47.94 -205.21 -47.94 127.61 -47.94 -213.63 -47.94 -46.64 -47.94 225.83 
+-47.94 101.52 -47.94 -330.66 -47.93 90.7 -47.94 -45.1 -47.94 130.73 f*
+Q q
+127.777 661.109 3138.89 3138.89 re
+Y*
+5.55556 w
+1 J
+1 j
+255 0 r3
+695.42 3106.71 35.92 -2.63 S
+749.3 3102.78 35.92 -2.63 S
+803.19 3098.85 35.92 -2.63 S
+857.07 3094.92 30.1 -2.2 5.82 -0.41 S
+910.94 3091 24.17 -1.76 11.77 -0.84 S
+964.82 3087.07 18.23 -1.32 17.69 -1.29 S
+1018.71 3083.14 12.28 -0.89 23.63 -1.72 S
+1072.59 3079.21 6.34 -0.46 29.57 -2.15 S
+1126.48 3075.3 0.39 -0.04 35.52 -2.59 S
+1180.36 3071.38 35.92 -2.63 S
+1234.22 3067.45 35.94 -2.62 S
+1288.11 3063.52 30.52 -2.24 5.4 -0.39 S
+1342 3059.59 24.56 -1.8 11.35 -0.82 S
+1395.88 3055.67 18.62 -1.37 17.3 -1.25 S
+1449.76 3051.73 12.67 -0.93 23.25 -1.7 S
+1503.64 3047.8 6.73 -0.47 29.19 -2.12 S
+1557.51 3043.88 0.8 -0.04 35.13 -2.56 S
+1611.39 3039.95 35.94 -2.6 S
+1665.28 3036.02 35.92 -2.6 S
+1719.16 3032.12 30.93 -2.26 4.99 -0.36 S
+1773.04 3028.19 24.98 -1.82 10.93 -0.8 S
+1826.93 3024.26 19.03 -1.39 16.88 -1.23 S
+1880.79 3020.33 13.11 -0.95 22.84 -1.67 S
+1934.68 3016.41 7.16 -0.52 28.78 -2.11 S
+1988.56 3012.48 1.21 -0.09 34.7 -2.54 S
+2042.45 3008.55 35.91 -2.63 S
+2096.33 3004.62 35.92 -2.61 S
+2150.21 3000.7 31.32 -2.28 4.6 -0.33 S
+2204.1 2996.77 25.37 -1.84 10.54 -0.76 S
+2257.96 2992.84 19.45 -1.41 16.49 -1.19 S
+2311.85 2988.91 13.49 -0.98 22.42 -1.63 S
+2365.73 2985 7.55 -0.57 28.36 -2.06 S
+2419.62 2981.08 1.61 -0.13 34.31 -2.5 S
+2473.5 2977.15 35.92 -2.62 S
+2527.39 2973.22 35.91 -2.63 S
+2581.25 2969.29 31.73 -2.32 4.21 -0.3 S
+2635.13 2965.37 25.79 -1.89 10.13 -0.74 S
+2689.02 2961.44 19.84 -1.45 16.08 -1.17 S
+2742.91 2957.51 13.89 -1 22.03 -1.61 S
+2796.79 2953.58 7.95 -0.57 27.97 -2.04 S
+2850.67 2949.66 2 -0.13 33.92 -2.47 S
+2904.54 2945.72 35.94 -2.6 S
+2958.42 2941.82 35.93 -2.62 S
+3012.3 2937.89 32.12 -2.35 S
+255 0 r6
+695.42 3155.51 35.79 -4.04 S
+749.11 3149.46 35.79 -4.04 S
+802.78 3143.4 35.8 -4.03 S
+856.46 3137.35 30.71 -3.47 5.08 -0.57 S
+910.16 3131.29 24.95 -2.82 10.84 -1.22 S
+963.84 3125.24 19.21 -2.17 16.58 -1.87 S
+1017.51 3119.18 13.48 -1.52 22.34 -2.52 S
+1071.2 3113.13 7.73 -0.87 28.06 -3.17 S
+1124.89 3107.07 1.98 -0.22 33.81 -3.82 S
+1178.58 3101.02 35.79 -4.04 S
+1232.25 3094.96 35.8 -4.04 S
+1285.94 3088.91 32.68 -3.69 3.1 -0.35 S
+1339.63 3082.86 26.93 -3.04 8.86 -1 S
+1393.32 3076.8 21.18 -2.38 14.61 -1.65 S
+1446.98 3070.75 15.45 -1.76 20.33 -2.28 S
+1500.67 3064.7 9.7 -1.11 26.09 -2.93 S
+1554.36 3058.64 3.95 -0.46 31.84 -3.58 S
+1608.05 3052.58 35.79 -4.04 S
+1661.71 3046.53 35.79 -4.04 S
+1715.41 3040.47 34.68 -3.93 1.11 -0.11 S
+1769.1 3034.42 28.93 -3.28 6.86 -0.76 S
+1822.77 3028.36 23.2 -2.62 12.61 -1.41 S
+1876.46 3022.31 17.44 -1.98 18.34 -2.08 S
+1930.14 3016.23 11.7 -1.3 24.09 -2.74 S
+1983.83 3010.18 5.95 -0.65 29.84 -3.39 S
+2037.5 3004.12 0.21 -0.02 35.59 -4.01 S
+2091.19 2998.07 35.79 -4.03 S
+2144.88 2992.01 35.79 -4.04 S
+2198.57 2985.96 30.91 -3.47 4.88 -0.57 S
+2252.23 2979.91 25.18 -2.82 10.63 -1.21 S
+2305.92 2973.85 19.42 -2.2 16.37 -1.84 S
+2359.61 2967.79 13.68 -1.54 22.11 -2.49 S
+2413.3 2961.74 7.92 -0.89 27.87 -3.14 S
+2466.97 2955.68 2.19 -0.24 33.59 -3.8 S
+2520.66 2949.63 35.79 -4.04 S
+2574.35 2943.58 35.78 -4.04 S
+2628.04 2937.52 32.88 -3.71 2.91 -0.33 S
+2681.71 2931.46 27.15 -3.06 8.63 -0.97 S
+2735.39 2925.41 21.4 -2.41 14.39 -1.62 S
+2789.08 2919.36 15.65 -1.75 20.14 -2.28 S
+2842.75 2913.3 9.92 -1.11 25.89 -2.93 S
+2896.44 2907.25 4.17 -0.48 31.62 -3.56 S
+2950.13 2901.2 35.79 -4.04 S
+3003.82 2895.14 35.79 -4.04 S
+255 0 r5
+695.42 3145.27 35.83 -3.75 S
+749.16 3139.65 35.83 -3.73 S
+802.89 3134.05 35.82 -3.76 S
+856.62 3128.43 30.55 -3.19 5.28 -0.54 S
+910.35 3122.83 24.76 -2.6 11.07 -1.15 S
+964.08 3117.21 18.97 -1.98 16.84 -1.76 S
+1017.82 3111.61 13.17 -1.39 22.63 -2.37 S
+1071.55 3105.99 7.38 -0.76 28.43 -2.97 S
+1125.29 3100.39 1.58 -0.18 34.22 -3.57 S
+1179.02 3094.77 35.8 -3.73 S
+1232.75 3089.17 35.8 -3.75 S
+1286.48 3083.55 32.14 -3.36 3.67 -0.37 S
+1340.21 3077.95 26.34 -2.75 9.47 -1 S
+1393.95 3072.33 20.55 -2.15 15.25 -1.58 S
+1447.68 3066.73 14.75 -1.57 21.05 -2.19 S
+1501.39 3061.11 8.98 -0.93 26.84 -2.8 S
+1555.12 3055.49 3.19 -0.32 32.64 -3.41 S
+1608.86 3049.89 35.83 -3.73 S
+1662.59 3044.27 35.83 -3.73 S
+1716.32 3038.67 33.77 -3.52 2.06 -0.22 S
+1770.05 3033.05 27.98 -2.91 7.86 -0.83 S
+1823.79 3027.45 22.18 -2.32 13.65 -1.41 S
+1877.52 3021.83 16.38 -1.69 19.45 -2.04 S
+1931.25 3016.23 10.59 -1.11 25.24 -2.63 S
+1984.98 3010.61 4.79 -0.5 31.04 -3.23 S
+2038.71 3005.01 35.83 -3.73 S
+2092.45 2999.39 35.83 -3.73 S
+2146.18 2993.79 35.36 -3.69 0.48 -0.04 S
+2199.91 2988.17 29.56 -3.08 6.27 -0.65 S
+2253.64 2982.57 23.77 -2.47 12.06 -1.26 S
+2307.38 2976.96 17.96 -1.87 17.86 -1.87 S
+2361.11 2971.36 12.18 -1.29 23.65 -2.45 S
+2414.84 2965.73 6.38 -0.65 29.45 -3.08 S
+2468.58 2960.13 0.58 -0.07 35.22 -3.67 S
+2522.31 2954.51 35.8 -3.73 S
+2576.04 2948.92 35.81 -3.73 S
+2629.77 2943.29 31.14 -3.25 4.66 -0.48 S
+2683.5 2937.7 25.35 -2.64 10.46 -1.11 S
+2737.24 2932.07 19.55 -2.04 16.25 -1.69 S
+2790.97 2926.48 13.76 -1.43 22.04 -2.32 S
+2844.71 2920.86 7.96 -0.83 27.84 -2.91 S
+2898.44 2915.25 2.17 -0.24 33.64 -3.52 S
+2952.17 2909.63 35.8 -3.73 S
+3005.88 2904.04 35.83 -3.75 S
+128 0 255 rG
+695.42 3086.66 35.96 -2.11 S
+749.35 3083.48 35.95 -2.11 S
+803.28 3080.32 35.96 -2.11 S
+857.21 3077.15 29.96 -1.76 6 -0.35 S
+911.16 3073.98 23.95 -1.41 11.98 -0.69 S
+965.08 3070.81 17.97 -1.06 17.97 -1.04 S
+1019.01 3067.64 11.98 -0.71 23.98 -1.41 S
+1072.94 3064.47 5.99 -0.34 29.97 -1.78 S
+1126.87 3061.3 35.96 -2.13 S
+1180.79 3058.14 35.96 -2.13 S
+1234.72 3054.97 35.96 -2.13 S
+1288.65 3051.8 29.97 -1.78 5.99 -0.35 S
+1342.6 3048.61 23.95 -1.39 11.98 -0.72 S
+1396.53 3045.45 17.97 -1.05 17.99 -1.06 S
+1450.46 3042.27 11.98 -0.7 23.98 -1.41 S
+1504.38 3039.11 5.99 -0.34 29.97 -1.76 S
+1558.31 3035.94 35.96 -2.11 S
+1612.24 3032.77 35.96 -2.1 S
+1666.17 3029.6 35.96 -2.11 S
+1720.12 3026.43 29.97 -1.76 5.96 -0.34 S
+1774.04 3023.27 23.98 -1.41 11.96 -0.7 S
+1827.97 3020.09 17.99 -1.06 17.97 -1.05 S
+1881.9 3016.93 12 -0.72 23.96 -1.39 S
+1935.83 3013.76 6.01 -0.35 29.95 -1.78 S
+1989.75 3010.59 0.02 0 35.94 -2.13 S
+2043.68 3007.42 35.96 -2.13 S
+2097.61 3004.25 35.96 -2.12 S
+2151.56 3001.08 29.97 -1.78 5.96 -0.35 S
+2205.49 2997.92 23.98 -1.41 11.98 -0.71 S
+2259.42 2994.73 17.99 -1.04 17.97 -1.06 S
+2313.34 2991.55 12 -0.7 23.96 -1.4 S
+2367.27 2988.39 6.01 -0.35 29.95 -1.76 S
+2421.2 2985.22 0.02 0 35.94 -2.11 S
+2475.13 2982.05 35.96 -2.11 S
+2529.08 2978.88 35.94 -2.11 S
+2583 2975.72 29.97 -1.76 5.97 -0.35 S
+2636.93 2972.55 23.98 -1.41 11.98 -0.7 S
+2690.86 2969.38 18 -1.06 17.96 -1.04 S
+2744.79 2966.21 12 -0.71 23.96 -1.39 S
+2798.72 2963.04 6.01 -0.35 29.95 -1.76 S
+2852.65 2959.87 0.02 0 35.94 -2.12 S
+2906.6 2956.71 35.93 -2.13 S
+2960.53 2953.54 35.93 -2.13 S
+3014.46 2950.37 29.96 -1.78 S
+11.1111 w
+255 0 r3
+695.42 3082.45 47.94 -16.21 47.94 -16.04 47.93 16.62 47.94 -13.82 47.94 -1.46 47.94 -2.02 47.94 39.39 
+47.94 -45.68 47.94 32.06 47.94 -97.89 47.94 85.09 47.94 29.64 47.94 -3.95 47.93 -32.38 47.94 -18.87 
+47.94 83.94 47.94 -34.5 47.94 5.49 47.94 7.83 47.94 -4.18 47.96 -100.11 47.94 80.82 47.94 -59.03 
+47.93 -48.39 47.94 120.12 47.94 -38.43 47.94 -50.82 47.94 15.64 47.94 65.34 47.94 -7.34 47.94 -110.26 
+47.94 75.15 47.94 -23.22 47.93 21.71 47.94 -142.76 47.94 35.75 47.94 -12.63 47.94 69.53 47.94 66.43 
+47.94 -85.13 47.94 -28.17 47.94 48 47.94 -68.27 47.94 13.57 47.93 17.64 47.94 -51.41 47.94 -45.18 
+47.94 27.59 47.94 34.13 S
+255 0 r6
+695.42 3127.91 47.94 -138.06 47.94 72.7 47.93 -9.83 47.94 163.39 47.94 -83.59 47.94 -143.47 47.94 35.63 
+47.94 170.82 47.94 -147.53 47.94 173.87 47.94 -100.21 47.94 31.86 47.94 54.19 47.93 -135.44 47.94 -60.37 
+47.94 94.18 47.94 64.32 47.94 -103.58 47.94 -19.14 47.94 42.86 47.96 -143.54 47.94 135.61 47.94 -106.92 
+47.93 -5.79 47.94 1.02 47.94 -65.89 47.94 227.65 47.94 -33.75 47.94 -150.41 47.94 41.92 47.94 143.66 
+47.94 -107.96 47.94 -35.48 47.93 -60.09 47.94 4.23 47.94 109.18 47.94 44.14 47.94 -113.52 47.94 -64.46 
+47.94 77.73 47.94 -101.43 47.94 -36.09 47.94 52.36 47.94 -81.51 47.93 77.3 47.94 -198.03 47.94 173 
+47.94 37.91 47.94 -25.13 S
+255 0 r5
+695.42 3157.31 47.94 -8.79 47.94 -72.02 47.93 -0.52 47.94 20.18 47.94 29.64 47.94 -41.97 47.94 69.45 
+47.94 93.42 47.94 -178.25 47.94 22.88 47.94 -72.79 47.94 60.82 47.94 -55.18 47.93 1.41 47.94 -51.06 
+47.94 77.08 47.94 -21.63 47.94 51.61 47.94 0.28 47.94 -43.23 47.96 6.29 47.94 -23.35 47.94 -19.92 
+47.93 18.66 47.94 1.26 47.94 -90.49 47.94 123.21 47.94 90.18 47.94 -127.28 47.94 -36.74 47.94 -2.82 
+47.94 -57.73 47.94 122.31 47.93 -99.7 47.94 -37 47.94 157.73 47.94 20.21 47.94 -23.2 47.94 9.46 
+47.94 -43.39 47.94 -101.82 47.94 -14.5 47.94 88.93 47.94 -48.7 47.93 -152.13 47.94 2.22 47.94 -28.82 
+47.94 68.3 47.94 -9.68 S
+128 0 255 rG
+695.42 3074.09 47.94 -0.91 47.94 -6.56 47.93 5.08 47.94 5.47 47.94 -14.46 47.94 1.52 47.94 -28.6 
+47.94 50.72 47.94 -2.87 47.94 -19.79 47.94 -11.83 47.94 -3.21 47.94 2.45 47.93 23.72 47.94 -24.13 
+47.94 21.48 47.94 -53.23 47.94 -7.68 47.94 -17.38 47.94 34.12 47.96 11.68 47.94 -5.93 47.94 -40.62 
+47.93 5.04 47.94 8.31 47.94 13.63 47.94 36.74 47.94 -24.98 47.94 4.88 47.94 -14.75 47.94 -20.01 
+47.94 -2.21 47.94 -31.71 47.93 16.09 47.94 42.14 47.94 19.23 47.94 -28.4 47.94 -13.52 47.94 0.3 
+47.94 -47.87 47.94 -12.7 47.94 11.91 47.94 -0.62 47.94 -24.46 47.93 -12.3 47.94 44.45 47.94 -39.35 
+47.94 31.64 47.94 -19.33 S
+K
+1766.21 2210.39 10.39 0 21.31 -35.35 20.79 35.35 10.41 0 -26.52 -44.73 0 -28.06 -9.36 0 
+^ -27.04 44.73 f*
+1880.58 2153.71 -0.57 -2.43 -0.72 -2.23 -0.84 -2.06 -1 -1.89 -1.13 -1.71 -1.23 -1.52 -1.37 -1.36 
+-1.46 -1.2 -1.56 -1.04 -1.65 -0.89 -1.74 -0.74 -1.8 -0.61 -1.87 -0.46 -1.93 -0.3 -4.01 -0.26 
+-2.73 0.22 -2.61 0.46 -2.41 0.67 -2.26 0.91 -2.11 1.13 -1.91 1.3 -1.75 1.52 -1.56 1.72 
+-1.41 1.9 -1.22 2.06 -1.04 2.24 -0.84 2.38 -0.67 2.56 -0.48 2.7 -0.28 2.82 -0.11 2.97 
+0.17 4.25 0.52 3.87 0.8 3.45 1.09 3.06 1.3 2.71 1.52 2.37 1.7 2.06 1.8 1.76 
+1.93 1.45 1.99 1.22 2.02 0.97 2.04 0.76 2.02 0.54 1.96 0.37 3.58 0.26 -0.52 -7.79 
+-2.26 -0.22 -2.45 -0.7 -2.45 -1.17 -2.39 -1.69 -1.11 -1.05 -1.06 -1.16 -0.95 -1.33 -0.84 -1.45 
+-0.74 -1.62 -0.61 -1.76 -0.43 -1.91 -0.3 -2.06 30.68 0 -0.11 2.15 -0.33 1.98 -0.52 1.8 
+-0.67 1.65 -0.82 1.47 -0.96 1.3 -1.04 1.17 -1.15 1.02 -2.43 1.63 -2.49 1.11 -2.41 0.65 
+-2.15 0.2 0.52 7.79 1.8 -0.07 1.87 -0.2 1.91 -0.39 1.96 -0.57 1.93 -0.75 1.89 -1.02 
+1.84 -1.26 1.76 -1.52 1.64 -1.84 1.5 -2.15 1.34 -2.49 1.17 -2.87 0.96 -3.25 0.72 -3.64 
+0.43 -4.1 0.15 -4.54 -39 0 0.2 -2.73 0.58 -2.97 1.05 -3.02 0.71 -1.49 0.84 -1.41 
+1 -1.34 1.15 -1.24 1.32 -1.13 1.48 -0.95 1.67 -0.81 1.84 -0.58 2.04 -0.39 2.23 -0.14 
+2.25 0.2 2.13 0.57 1.95 0.91 1.78 1.26 1.63 1.57 1.43 1.87 1.28 2.14 1.07 2.41 
+8.31 0 f*
+1892.54 2174.52 0.28 3.13 0.35 1.54 0.49 1.52 0.66 1.48 0.82 1.41 1 1.34 1.15 1.29 
+1.32 1.15 1.52 1.06 1.69 0.93 1.91 0.8 2.08 0.63 2.3 0.48 2.49 0.3 2.71 0.09 
+2.95 -0.13 3.21 -0.44 3.3 -0.8 3.14 -1.24 1.48 -0.78 1.34 -0.93 1.22 -1.07 1.06 -1.2 
+0.84 -1.37 0.65 -1.5 0.42 -1.69 0.15 -1.87 0 -33.27 0.17 -0.91 0.5 -0.83 0.74 -0.67 
+0.93 -0.52 1 -0.35 1.04 -0.15 0.98 0.04 0.86 0.26 0 -6.23 -2.02 -0.45 -3.16 -0.06 
+-2.26 0.06 -1.78 0.2 -1.35 0.37 -1.07 0.61 -0.82 0.87 -0.72 1.2 -1.39 3.45 -4.43 -3.23 
+-1.91 -1.17 -1.84 -0.91 -1.88 -0.67 -2.07 -0.43 -2.32 -0.24 -2.69 -0.08 -2.32 0.08 -2.12 0.24 
+-1.91 0.39 -1.74 0.55 -1.52 0.65 -1.36 0.78 -1.2 0.87 -1.02 1 -0.87 1.06 -0.74 1.13 
+-0.61 1.21 -0.46 1.24 -0.59 2.64 -0.2 2.72 7.81 0 0.17 -1.55 0.57 -1.43 0.93 -1.32 
+1.24 -1.17 1.58 -0.96 1.87 -0.73 2.14 -0.48 2.41 -0.18 3.47 0.45 3.04 0.89 2.61 1.26 
+2.13 1.5 1.66 1.66 1.2 1.76 0.72 1.76 0.24 1.63 0 10.42 -3.91 -1.45 -3.23 -0.76 
+-9.48 -1.43 -2.8 -0.84 -2.17 -1 -1.65 -1.11 -1.17 -1.22 -0.8 -1.3 -0.48 -1.41 -0.24 -1.48 
+-0.04 -1.52 -7.81 0 0.21 3.88 0.65 3.17 0.5 1.32 0.59 1.2 0.7 1.07 0.8 0.93 
+0.91 0.82 1 0.72 2.32 1.21 2.71 0.98 3.13 0.8 13.52 2.09 3.25 0.87 1.17 0.5 
+0.91 0.52 0.65 0.55 0.43 0.56 0.26 0.59 0.07 0.58 0 4.67 -0.13 0.89 -0.48 1.06 
+-0.8 1.11 -1.17 1.11 -1.56 1.02 -2 0.83 -2.41 0.54 -2.89 0.22 -3.06 -0.24 -2.61 -0.65 
+-2.15 -0.98 -1.73 -1.26 -1.3 -1.46 -0.91 -1.56 -0.54 -1.63 -0.18 -1.58 -8.31 0 f*
+1948.68 2190.11 7.29 0 0 -9.88 3.18 4.26 2.88 3.08 2.61 2.08 1.19 0.72 1.13 0.52 
+2.06 0.57 1.8 0.05 1.54 -0.33 1.28 -0.55 0 -7.79 -4.14 -0.43 -1.82 -0.39 -1.67 -0.52 
+-1.52 -0.63 -1.34 -0.76 -1.21 -0.85 -1.09 -0.98 -0.91 -1.07 -0.8 -1.19 -0.66 -1.31 -0.54 -1.39 
+-0.41 -1.5 -0.29 -1.61 -0.21 -3.52 0 -29.1 -8.34 0 0 52.5 f*
+218.27 2423.35 -2.73 -0.13 -2.56 -0.43 -2.37 -0.68 -2.19 -0.93 -2.02 -1.15 -1.82 -1.39 -1.67 -1.59 
+-1.47 -1.75 -1.3 -1.93 -1.13 -2.08 -0.93 -2.23 -0.78 -2.37 -0.61 -2.45 -0.43 -2.56 -0.24 -2.65 
+-0.08 -2.69 0.08 -3.21 0.31 -2.99 0.5 -2.76 0.67 -2.56 0.87 -2.35 1.02 -2.12 1.2 -1.93 
+1.32 -1.71 1.49 -1.5 1.61 -1.3 1.76 -1.09 1.89 -0.89 1.99 -0.7 2.11 -0.5 2.2 -0.3 
+2.3 -0.09 3.58 0.26 1.58 0.3 1.46 0.43 2.52 1.13 2.11 1.52 1.74 1.79 1.43 2.04 
+1.19 2.19 1.02 2.3 6.25 23.39 1.02 2.7 1.13 2.21 1.21 1.8 1.32 1.41 1.41 1.04 
+1.5 0.72 1.61 0.39 1.72 0.13 2.47 -0.22 2.32 -0.65 1.08 -0.54 1.05 -0.67 0.95 -0.83 
+0.89 -1 0.82 -1.15 0.72 -1.34 0.63 -1.52 0.54 -1.74 0.43 -1.93 0.3 -2.15 0.2 -2.37 
+0.07 -2.61 -0.09 -2.62 -0.28 -2.43 -0.46 -2.23 -0.61 -2.02 -0.76 -1.84 -0.89 -1.67 -1 -1.48 
+-1.13 -1.3 -1.22 -1.13 -1.3 -0.98 -1.37 -0.81 -1.43 -0.65 -1.5 -0.5 -1.52 -0.34 -3.1 -0.29 
+0 -9.36 2.6 0.11 2.5 0.33 2.43 0.56 2.3 0.79 2.2 1.02 2.04 1.24 1.93 1.48 
+1.76 1.71 1.58 1.93 1.43 2.19 1.24 2.43 1.04 2.67 0.82 2.93 0.59 3.17 0.37 3.41 
+0.13 3.69 -0.11 3.39 -0.32 3.19 -0.55 2.95 -0.74 2.76 -0.93 2.52 -1.11 2.3 -1.26 2.08 
+-1.4 1.87 -1.57 1.65 -1.66 1.41 -1.8 1.21 -1.91 0.98 -2 0.78 -2.09 0.54 -2.16 0.33 
+-2.22 0.11 -1.8 -0.09 -1.74 -0.23 -1.62 -0.39 -1.54 -0.52 -1.48 -0.67 -1.36 -0.78 -2.47 -1.85 
+-2.11 -2.21 -1.73 -2.45 -1.35 -2.63 -0.97 -2.73 -6.25 -23.39 -1.11 -2.25 -1.02 -1.8 -1 -1.37 
+-1.02 -1 -1.15 -0.67 -1.29 -0.43 -1.52 -0.2 -1.78 -0.06 -1.41 0.09 -1.34 0.24 -1.23 0.42 
+-1.18 0.54 -1.07 0.68 -0.98 0.82 -0.89 0.93 -0.8 1.04 -1.33 2.39 -0.95 2.73 -0.59 3.02 
+-0.2 3.23 0.07 2.17 0.22 2.04 0.34 1.91 0.48 1.75 0.59 1.63 0.71 1.5 0.82 1.37 
+0.93 1.21 1.02 1.07 1.11 0.93 1.2 0.8 1.28 0.65 1.37 0.5 1.41 0.37 1.48 0.22 
+1.54 0.07 0 9.35 f*
+217.23 2436.87 0 7.81 8.31 0 -2.67 2.15 -2.16 2.21 -1.72 2.2 -1.3 2.21 -0.95 2.17 
+-0.61 2.14 -0.34 2.07 -0.11 2 0.24 2.95 0.7 2.95 1.13 2.8 1.52 2.54 1.89 2.2 
+1.06 0.91 1.15 0.79 1.21 0.65 1.3 0.48 1.37 0.28 1.43 0.11 41.06 0 0 -8.33 
+-37.41 0 -1.13 -0.07 -1.04 -0.2 -1.84 -0.78 -1.55 -1.17 -1.21 -1.48 -0.93 -1.71 -0.63 -1.82 
+-0.39 -1.87 -0.13 -1.82 0.08 -1.26 0.22 -1.28 0.83 -2.5 1.37 -2.36 1.86 -2.15 1.11 -0.95 
+1.21 -0.87 1.32 -0.76 1.43 -0.66 1.52 -0.52 1.63 -0.39 1.74 -0.26 1.8 -0.06 30.14 0 
+0 -8.34 -52.49 0 f*
+215.67 2512.79 0.15 2.4 0.43 2.35 0.72 2.28 0.97 2.19 1.21 2.09 1.43 1.97 1.67 1.84 
+1.84 1.7 2.04 1.56 2.21 1.39 2.37 1.21 2.5 1.02 2.61 0.8 2.73 0.61 2.8 0.37 
+2.91 0.13 2.88 -0.13 2.8 -0.37 2.69 -0.61 2.58 -0.8 2.46 -1.02 2.32 -1.21 2.15 -1.39 
+1.99 -1.56 1.8 -1.7 1.61 -1.84 1.41 -1.97 1.18 -2.09 0.93 -2.19 0.7 -2.28 0.43 -2.35 
+0.13 -2.4 -0.13 -2.41 -0.43 -2.37 -0.7 -2.25 -0.93 -2.19 -1.18 -2.09 -1.41 -1.98 -1.61 -1.84 
+-1.8 -1.71 -1.99 -1.55 -2.15 -1.39 -2.32 -1.22 -2.46 -1.02 -2.58 -0.83 -2.69 -0.58 -2.8 -0.37 
+-2.88 -0.13 0 8.83 3.99 0.26 3.77 0.78 1.76 0.57 1.66 0.7 1.59 0.8 1.43 0.93 
+1.33 1.02 1.19 1.13 1.04 1.26 0.87 1.32 0.7 1.46 0.5 1.52 0.33 1.63 0.11 1.72 
+-0.11 1.71 -0.33 1.61 -0.5 1.54 -0.7 1.43 -0.87 1.34 -1.04 1.23 -1.19 1.13 -1.33 1.04 
+-1.43 0.91 -1.59 0.8 -1.66 0.7 -1.76 0.58 -3.77 0.76 -3.99 0.29 -4.04 -0.29 -3.82 -0.76 
+-1.82 -0.58 -1.71 -0.7 -1.61 -0.8 -1.5 -0.91 -1.37 -1.04 -1.23 -1.13 -1.09 -1.23 -0.91 -1.34 
+-0.71 -1.43 -0.54 -1.54 -0.33 -1.61 -0.13 -1.71 0.13 -1.72 0.33 -1.63 0.54 -1.52 0.71 -1.46 
+0.91 -1.32 1.09 -1.26 1.23 -1.13 1.37 -1.02 1.5 -0.93 1.61 -0.8 1.71 -0.7 1.82 -0.57 
+3.82 -0.78 4.04 -0.26 0 -8.83 -2.91 0.13 -2.8 0.37 -2.73 0.58 -2.61 0.83 -2.5 1.02 
+-2.37 1.22 -2.21 1.39 -2.04 1.55 -1.84 1.71 -1.67 1.84 -1.43 1.98 -1.21 2.09 -0.97 2.19 
+-0.72 2.25 -0.43 2.37 -0.15 2.41 f*
+217.23 2541.88 0 9.38 40.02 10.39 -40.02 10.39 0 9.35 40.02 10.39 -40.02 10.4 0 9.35 
+52.49 -15.06 0 -9.37 -39.5 -10.91 39.5 -9.87 0 -9.36 -52.49 -15.08 f*
+219.83 2706.68 -3.1 -0.65 -2.87 -0.82 -2.63 -0.98 -2.38 -1.13 -2.17 -1.29 -1.95 -1.43 -1.76 -1.59 
+-1.54 -1.73 -1.32 -1.86 -1.15 -2.02 -0.95 -2.17 -0.76 -2.3 -0.59 -2.45 -0.41 -2.58 -0.26 -2.73 
+-0.06 -2.84 0.17 -3.8 0.56 -3.58 0.89 -3.38 1.21 -3.14 1.57 -2.93 1.84 -2.69 2.12 -2.47 
+2.41 -2.24 2.65 -1.99 2.91 -1.76 3.13 -1.52 3.34 -1.28 3.52 -1 3.71 -0.76 3.88 -0.5 
+4.02 -0.22 4.55 0.16 4.26 0.5 3.97 0.8 3.69 1.11 3.41 1.37 3.1 1.65 2.82 1.91 
+2.54 2.13 2.24 2.34 1.95 2.56 1.65 2.73 1.36 2.91 1.05 3.08 0.75 3.21 0.46 3.34 
+0.16 3.47 -0.16 3.73 -0.43 3.47 -0.72 3.15 -0.97 2.9 -1.22 2.61 -1.43 2.37 -1.67 2.13 
+-1.84 1.87 -2.04 1.63 -2.21 1.43 -2.34 1.2 -2.5 1 -2.63 0.8 -2.71 0.63 -2.82 0.43 
+-2.89 0.28 0 -9.36 5.04 -0.95 2.23 -0.63 2.04 -0.72 1.84 -0.8 1.65 -0.93 1.48 -1.04 
+1.3 -1.15 1.15 -1.29 0.96 -1.4 0.8 -1.55 0.66 -1.67 0.5 -1.82 0.35 -1.95 0.22 -2.11 
+0.07 -2.25 -0.16 -3.02 -0.43 -2.8 -0.71 -2.58 -1 -2.37 -1.21 -2.17 -1.48 -1.95 -1.69 -1.76 
+-1.89 -1.56 -2.11 -1.37 -2.28 -1.17 -2.43 -0.98 -2.61 -0.8 -2.73 -0.61 -2.86 -0.44 -2.98 -0.26 
+-3.08 -0.09 -3.41 0.11 -3.23 0.38 -3.03 0.56 -2.85 0.79 -2.62 1 -2.45 1.17 -2.21 1.37 
+-2.02 1.52 -1.78 1.7 -1.57 1.82 -1.35 1.97 -1.11 2.11 -0.87 2.22 -0.62 2.32 -0.37 2.41 
+-0.12 2.5 0.26 3.62 0.78 3.38 0.59 1.61 0.7 1.55 0.82 1.43 0.95 1.34 1.05 1.23 
+1.16 1.13 1.29 1 1.39 0.87 1.5 0.74 1.61 0.61 1.71 0.43 1.8 0.28 0 9.35 f*
+215.67 2739.95 0.15 2.43 0.43 2.34 0.72 2.28 0.97 2.18 1.21 2.08 1.43 1.97 1.67 1.84 
+1.84 1.71 2.04 1.56 2.21 1.39 2.37 1.19 2.5 1.02 2.61 0.83 2.73 0.61 2.8 0.37 
+2.91 0.11 2.88 -0.11 2.8 -0.37 2.69 -0.61 2.58 -0.83 2.46 -1.02 2.32 -1.19 2.15 -1.39 
+1.99 -1.56 1.8 -1.71 1.61 -1.84 1.41 -1.97 1.18 -2.08 0.93 -2.18 0.7 -2.28 0.43 -2.34 
+0.13 -2.43 -0.13 -2.41 -0.43 -2.34 -0.7 -2.28 -0.93 -2.17 -1.18 -2.11 -1.41 -1.95 -1.61 -1.84 
+-1.8 -1.72 -1.99 -1.56 -2.15 -1.39 -2.32 -1.22 -2.46 -1.02 -2.58 -0.8 -2.69 -0.61 -2.8 -0.37 
+-2.88 -0.13 0 8.85 3.99 0.26 3.77 0.79 1.76 0.57 1.66 0.7 1.59 0.8 1.43 0.91 
+1.33 1.04 1.19 1.13 1.04 1.23 0.87 1.35 0.7 1.43 0.5 1.54 0.33 1.63 0.11 1.69 
+-0.11 1.72 -0.33 1.63 -0.5 1.54 -0.7 1.43 -0.87 1.34 -1.04 1.24 -1.19 1.13 -1.33 1.02 
+-1.43 0.93 -1.59 0.8 -1.66 0.7 -1.76 0.57 -3.77 0.78 -3.99 0.26 -4.04 -0.26 -3.82 -0.78 
+-1.82 -0.57 -1.71 -0.7 -1.61 -0.8 -1.5 -0.93 -1.37 -1.02 -1.23 -1.12 -1.09 -1.24 -0.91 -1.34 
+-0.71 -1.43 -0.54 -1.54 -0.33 -1.62 -0.13 -1.72 0.13 -1.69 0.33 -1.63 0.54 -1.54 0.71 -1.43 
+0.91 -1.35 1.09 -1.23 1.23 -1.13 1.37 -1.04 1.5 -0.91 1.61 -0.8 1.71 -0.7 1.82 -0.57 
+3.82 -0.79 4.04 -0.26 0 -8.85 -2.91 0.13 -2.8 0.37 -2.73 0.61 -2.61 0.8 -2.5 1.02 
+-2.37 1.22 -2.21 1.39 -2.04 1.56 -1.84 1.72 -1.67 1.84 -1.43 1.95 -1.21 2.11 -0.97 2.17 
+-0.72 2.28 -0.43 2.34 -0.15 2.41 f*
+217.23 2769.59 0 9.88 41.58 14.04 -41.58 14.04 0 9.88 52.49 -18.73 0 -10.39 -52.49 -18.71 f*
+253.62 2868.38 2.43 -0.59 2.26 -0.71 2.06 -0.84 1.87 -1 1.72 -1.13 1.52 -1.24 1.37 -1.34 
+1.21 -1.47 1.05 -1.57 0.89 -1.65 0.73 -1.71 0.59 -1.8 0.45 -1.89 0.33 -1.93 0.24 -4.01 
+-0.22 -2.74 -0.45 -2.58 -0.67 -2.43 -0.91 -2.25 -1.11 -2.09 -1.32 -1.93 -1.52 -1.75 -1.71 -1.57 
+-1.89 -1.39 -2.09 -1.23 -2.23 -1.02 -2.39 -0.87 -2.56 -0.67 -2.69 -0.48 -2.82 -0.29 -2.96 -0.11 
+-4.27 0.2 -3.84 0.5 -3.46 0.8 -3.08 1.08 -2.71 1.33 -2.37 1.5 -2.06 1.69 -1.74 1.82 
+-1.48 1.91 -1.21 2 -0.98 2.04 -0.74 2.04 -0.56 2 -0.37 1.95 -0.26 3.58 7.79 -0.52 
+0.24 -2.25 0.67 -2.43 1.17 -2.48 1.69 -2.39 1.04 -1.11 1.17 -1.04 1.32 -0.96 1.48 -0.87 
+1.61 -0.74 1.75 -0.59 1.91 -0.45 2.06 -0.28 0 30.66 -2.15 -0.11 -1.97 -0.33 -1.8 -0.5 
+-1.62 -0.7 -1.48 -0.82 -1.32 -0.96 -1.17 -1.04 -1.02 -1.13 -1.63 -2.43 -1.11 -2.52 -0.62 -2.41 
+-0.22 -2.15 -7.79 0.52 0.07 1.8 0.21 1.87 0.37 1.93 0.56 1.93 0.76 1.93 1.02 1.89 
+1.26 1.84 1.54 1.75 1.82 1.65 2.15 1.52 2.5 1.35 2.86 1.15 3.26 0.96 3.66 0.71 
+4.08 0.43 4.54 0.15 0 -38.97 2.73 0.17 2.97 0.58 3.04 1.04 1.48 0.72 1.41 0.84 
+1.35 1.02 1.25 1.15 1.11 1.3 0.97 1.5 0.79 1.64 0.61 1.84 0.37 2.04 0.13 2.23 
+-0.2 2.28 -0.57 2.11 -0.91 1.96 -1.26 1.8 -1.56 1.61 -1.87 1.45 -2.15 1.26 -2.41 1.07 
+0 8.33 f*
+217.23 2880.84 0 7.29 9.87 0 -4.23 3.17 -3.1 2.88 -2.09 2.61 -0.71 1.2 -0.52 1.13 
+-0.57 2.06 -0.04 1.8 0.32 1.54 0.54 1.28 7.79 0 0.43 -4.14 0.41 -1.82 0.5 -1.67 
+0.63 -1.52 0.76 -1.35 0.85 -1.21 0.97 -1.09 1.09 -0.91 1.17 -0.8 1.3 -0.66 1.39 -0.54 
+1.5 -0.41 1.61 -0.28 3.51 -0.22 29.11 0 0 -8.33 -52.49 0 f*
+196.96 2962.46 0 11.96 72.77 25.47 0 -10.39 -21.31 -7.27 0 -28.61 21.31 -7.27 0 -10.39 
+-62.37 22.87 0 9.35 32.75 -11.96 0 23.39 -32.75 -11.44 0 -9.35 -10.39 3.63 f*
+217.23 3008.22 0 7.79 8.31 0 -2.67 2.17 -2.16 2.2 -1.72 2.21 -1.3 2.2 -0.95 2.19 
+-0.61 2.13 -0.34 2.08 -0.11 1.98 0.24 2.97 0.7 2.93 1.13 2.8 1.52 2.56 1.89 2.17 
+1.06 0.93 1.15 0.78 1.21 0.63 1.3 0.48 1.37 0.28 1.43 0.11 41.06 0 0 -8.31 
+-37.41 0 -1.13 -0.09 -1.04 -0.2 -1.84 -0.79 -1.55 -1.17 -1.21 -1.47 -0.93 -1.7 -0.63 -1.84 
+-0.39 -1.87 -0.13 -1.8 0.08 -1.29 0.22 -1.28 0.83 -2.49 1.37 -2.37 1.86 -2.13 1.11 -0.98 
+1.21 -0.87 1.32 -0.76 1.43 -0.65 1.52 -0.52 1.63 -0.39 1.74 -0.24 1.8 -0.08 30.14 0 
+0 -8.32 -52.49 0 f*
+215.67 3084.12 0.15 2.41 0.43 2.34 0.72 2.28 0.97 2.2 1.21 2.08 1.43 1.97 1.67 1.84 
+1.84 1.72 2.04 1.54 2.21 1.39 2.37 1.22 2.5 1.02 2.61 0.82 2.73 0.58 2.8 0.37 
+2.91 0.13 2.88 -0.13 2.8 -0.37 2.69 -0.58 2.58 -0.82 2.46 -1.02 2.32 -1.22 2.15 -1.39 
+1.99 -1.54 1.8 -1.72 1.61 -1.84 1.41 -1.97 1.18 -2.08 0.93 -2.2 0.7 -2.28 0.43 -2.34 
+0.13 -2.41 -0.13 -2.41 -0.43 -2.35 -0.7 -2.28 -0.93 -2.19 -1.18 -2.09 -1.41 -1.97 -1.61 -1.84 
+-1.8 -1.7 -1.99 -1.56 -2.15 -1.39 -2.32 -1.21 -2.46 -1.02 -2.58 -0.8 -2.69 -0.61 -2.8 -0.37 
+-2.88 -0.13 0 8.84 3.99 0.28 3.77 0.75 1.76 0.59 1.66 0.7 1.59 0.8 1.43 0.91 
+1.33 1.02 1.19 1.15 1.04 1.24 0.87 1.34 0.7 1.43 0.5 1.52 0.33 1.63 0.11 1.72 
+-0.11 1.71 -0.33 1.63 -0.5 1.52 -0.7 1.45 -0.87 1.33 -1.04 1.23 -1.19 1.15 -1.33 1.02 
+-1.43 0.93 -1.59 0.8 -1.66 0.7 -1.76 0.57 -3.77 0.78 -3.99 0.26 -4.04 -0.26 -3.82 -0.78 
+-1.82 -0.57 -1.71 -0.7 -1.61 -0.8 -1.5 -0.93 -1.37 -1.02 -1.23 -1.15 -1.09 -1.23 -0.91 -1.33 
+-0.71 -1.45 -0.54 -1.52 -0.33 -1.63 -0.13 -1.71 0.13 -1.72 0.33 -1.62 0.54 -1.52 0.71 -1.43 
+0.91 -1.34 1.09 -1.24 1.23 -1.15 1.37 -1.02 1.5 -0.91 1.61 -0.8 1.71 -0.7 1.82 -0.59 
+3.82 -0.75 4.04 -0.28 0 -8.84 -2.91 0.13 -2.8 0.37 -2.73 0.61 -2.61 0.8 -2.5 1.02 
+-2.37 1.21 -2.21 1.39 -2.04 1.56 -1.84 1.7 -1.67 1.84 -1.43 1.97 -1.21 2.09 -0.97 2.19 
+-0.72 2.28 -0.43 2.35 -0.15 2.41 f*
+217.23 3119.99 0 7.27 7.79 0 -2.5 2.09 -2.04 1.98 -1.63 1.91 -1.24 1.91 -0.91 1.91 
+-0.61 2 -0.32 2.08 -0.11 2.26 0.5 3.73 0.43 1.76 0.69 1.71 1 1.72 1.39 1.7 
+1.89 1.69 2.41 1.74 -2.3 2.11 -1.85 2.02 -1.45 1.98 -1.09 1.95 -0.78 1.96 -0.5 1.97 
+-0.26 2.04 -0.09 2.11 0.19 2.59 0.61 2.61 1 2.54 1.45 2.34 0.87 1.04 1 0.98 
+1.11 0.84 1.24 0.72 1.32 0.61 1.45 0.43 1.59 0.29 1.69 0.08 40.54 0 0 -8.31 
+-37.41 0 -1.91 -0.24 -1.76 -0.62 -1.58 -1 -1.39 -1.26 -1.13 -1.45 -0.86 -1.56 -0.55 -1.63 
+-0.2 -1.58 0.26 -2.2 0.74 -2.17 1.17 -2.11 1.54 -1.93 1.87 -1.65 2.11 -1.29 2.32 -0.84 
+1.23 -0.24 1.24 -0.07 34.31 0 0 -8.31 -37.41 0 -1.91 -0.24 -1.76 -0.65 -1.58 -1.02 
+-1.39 -1.29 -1.13 -1.52 -0.86 -1.67 -0.55 -1.74 -0.2 -1.78 0.24 -1.84 0.69 -1.99 1.11 -2 
+1.48 -1.89 1.82 -1.67 2.13 -1.35 1.17 -0.5 1.21 -0.39 1.3 -0.24 1.32 -0.08 34.31 0 
+0 -8.31 -52.49 0 f*
+232.83 3202.13 -3.12 0.28 -1.57 0.34 -1.52 0.5 -1.48 0.65 -1.41 0.83 -1.34 0.97 -1.25 1.17 
+-1.18 1.33 -1.07 1.52 -0.93 1.7 -0.78 1.91 -0.65 2.08 -0.48 2.3 -0.29 2.5 -0.11 2.71 
+0.13 2.95 0.43 3.21 0.8 3.3 1.24 3.15 0.78 1.47 0.93 1.34 1.06 1.22 1.2 1.06 
+1.36 0.85 1.52 0.65 1.67 0.41 1.87 0.15 33.27 0 0.93 0.17 0.8 0.5 0.67 0.74 
+0.52 0.91 0.34 1.02 0.16 1.05 -0.05 0.97 -0.26 0.88 6.23 0 0.46 -2.02 0.07 -3.17 
+-0.05 -2.25 -0.2 -1.78 -0.39 -1.35 -0.61 -1.06 -0.86 -0.83 -1.17 -0.71 -3.47 -1.39 3.25 -4.43 
+1.17 -1.91 0.89 -1.84 0.67 -1.89 0.43 -2.06 0.26 -2.32 0.07 -2.69 -0.09 -2.32 -0.24 -2.13 
+-0.39 -1.91 -0.52 -1.73 -0.67 -1.52 -0.78 -1.37 -0.87 -1.19 -0.98 -1.02 -1.06 -0.87 -1.15 -0.73 
+-1.2 -0.61 -1.26 -0.46 -2.62 -0.58 -2.73 -0.2 0 7.81 1.54 0.17 1.43 0.57 1.32 0.93 
+1.17 1.23 0.98 1.58 0.74 1.87 0.46 2.15 0.17 2.41 -0.46 3.47 -0.89 3.04 -1.24 2.58 
+-1.52 2.15 -1.67 1.68 -1.76 1.19 -1.75 0.72 -1.63 0.24 -10.39 0 1.43 -3.91 0.76 -3.23 
+1.43 -9.48 0.88 -2.79 0.97 -2.17 1.11 -1.65 1.21 -1.19 1.33 -0.78 1.39 -0.48 1.47 -0.24 
+1.52 -0.04 0 -7.81 -3.89 0.22 -3.14 0.65 -1.34 0.5 -1.19 0.58 -1.04 0.7 -0.96 0.8 
+-0.83 0.91 -0.71 0.99 -1.21 2.32 -0.96 2.71 -0.83 3.12 -2.08 13.52 -0.87 3.25 -0.5 1.18 
+-0.52 0.89 -0.54 0.67 -0.57 0.43 -0.58 0.26 -0.59 0.07 -4.67 0 -0.89 -0.16 -1.04 -0.45 
+-1.13 -0.8 -1.11 -1.17 -1 -1.56 -0.83 -2 -0.56 -2.41 -0.22 -2.89 0.24 -3.06 0.65 -2.61 
+0.98 -2.17 1.25 -1.71 1.46 -1.3 1.56 -0.91 1.63 -0.55 1.61 -0.17 0 -8.31 f*
+196.961 3258.27 72.7656 8.33594 re
+f*
+217.23 3275.43 0 9.36 40.53 13 -40.53 14.56 0 9.35 66.01 -24.43 2.75 -1.74 2.07 -1.69 
+1.47 -1.67 1 -1.65 0.58 -1.67 0.33 -1.67 0.13 -3.43 -0.13 -1.95 -0.91 -2.71 -7.29 0 
+0.61 3.17 0.04 1.56 -0.2 1.49 -0.49 1.41 -0.92 1.29 -1.34 1.08 -1.84 0.91 -8.85 3.11 
+-53.02 -17.67 f*
+196.96 3374.71 0 5.21 6.01 -3.28 5.99 -2.78 5.97 -2.34 5.95 -1.87 5.94 -1.45 5.95 -1 
+6 -0.61 6.03 -0.2 5.28 0.2 5.66 0.61 5.93 1 6.07 1.45 6.08 1.87 5.99 2.34 
+5.8 2.78 2.78 1.59 2.7 1.7 0 -5.21 -2.17 -1.71 -2.41 -1.67 -2.6 -1.61 -2.76 -1.54 
+-5.95 -2.84 -6.27 -2.45 -6.42 -2 -6.29 -1.52 -5.99 -0.96 -2.78 -0.24 -2.63 -0.09 -3.32 0.09 
+-3.26 0.24 -3.25 0.41 -3.21 0.55 -6.29 1.52 -6.14 2 -5.95 2.45 -5.73 2.84 -5.47 3.15 
+-5.21 3.38 f*
+201.63 3404.36 0.09 1.74 0.28 1.69 0.41 1.63 0.59 1.57 0.74 1.49 0.87 1.41 0.98 1.32 
+1.13 1.24 1.21 1.11 1.32 1 1.41 0.87 1.5 0.74 1.58 0.56 1.63 0.44 1.69 0.26 
+1.74 0.09 1.73 -0.09 1.7 -0.26 1.63 -0.44 1.56 -0.56 1.5 -0.74 1.41 -0.87 1.32 -1 
+1.24 -1.11 1.11 -1.24 1 -1.32 0.87 -1.41 0.71 -1.49 0.59 -1.57 0.43 -1.63 0.26 -1.69 
+0.09 -1.74 -0.09 -1.73 -0.26 -1.7 -0.43 -1.63 -0.59 -1.58 -0.71 -1.5 -0.87 -1.41 -1 -1.32 
+-1.11 -1.21 -1.24 -1.11 -1.32 -1 -1.41 -0.87 -1.5 -0.74 -1.56 -0.59 -1.63 -0.41 -1.7 -0.28 
+-1.73 -0.09 0 7.29 1.91 0.2 1.82 0.61 1.67 0.96 1.48 1.21 1.24 1.5 0.93 1.67 
+0.61 1.82 0.22 1.91 -0.22 1.91 -0.61 1.82 -0.93 1.67 -1.24 1.47 -1.48 1.24 -1.67 0.96 
+-1.82 0.58 -1.91 0.22 -1.93 -0.22 -1.8 -0.58 -1.7 -0.96 -1.47 -1.24 -1.24 -1.47 -0.93 -1.67 
+-0.61 -1.82 -0.2 -1.91 0.2 -1.91 0.61 -1.82 0.93 -1.67 1.24 -1.5 1.47 -1.21 1.7 -0.96 
+1.8 -0.61 1.93 -0.2 0 -7.29 -1.74 0.09 -1.69 0.28 -1.63 0.41 -1.58 0.59 -1.5 0.74 
+-1.41 0.87 -1.32 1 -1.21 1.11 -1.13 1.21 -0.98 1.32 -0.87 1.41 -0.74 1.5 -0.59 1.58 
+-0.41 1.63 -0.28 1.7 -0.09 1.73 f*
+199.02 3444.9 0 6.77 72.79 -39.52 0 -6.75 -72.79 39.49 f*
+237.5 3453.23 0.09 1.74 0.25 1.67 0.44 1.65 0.58 1.56 0.74 1.5 0.87 1.41 0.98 1.32 
+1.13 1.24 1.21 1.11 1.32 1 1.41 0.86 1.5 0.72 1.58 0.58 1.63 0.43 1.69 0.26 
+1.74 0.09 1.73 -0.09 1.67 -0.26 1.65 -0.43 1.56 -0.58 1.5 -0.72 1.41 -0.86 1.32 -1 
+1.24 -1.11 1.11 -1.24 1 -1.32 0.87 -1.41 0.72 -1.5 0.58 -1.56 0.43 -1.65 0.26 -1.67 
+0.09 -1.74 -0.09 -1.73 -0.26 -1.7 -0.43 -1.62 -0.58 -1.59 -0.72 -1.5 -0.87 -1.41 -1 -1.32 
+-1.11 -1.21 -1.24 -1.13 -1.32 -0.98 -1.41 -0.87 -1.5 -0.74 -1.56 -0.58 -1.65 -0.43 -1.67 -0.26 
+-1.73 -0.09 0 7.29 1.91 0.2 1.82 0.61 1.67 0.93 1.48 1.24 1.24 1.47 0.93 1.7 
+0.61 1.8 0.22 1.93 -0.22 1.91 -0.61 1.82 -0.93 1.67 -1.24 1.47 -1.48 1.24 -1.67 0.93 
+-1.82 0.61 -1.91 0.21 -1.93 -0.21 -1.8 -0.61 -1.7 -0.93 -1.47 -1.24 -1.24 -1.47 -0.93 -1.67 
+-0.61 -1.82 -0.2 -1.91 0.2 -1.93 0.61 -1.8 0.93 -1.7 1.24 -1.47 1.47 -1.24 1.7 -0.93 
+1.8 -0.61 1.93 -0.2 0 -7.29 -1.74 0.09 -1.69 0.26 -1.63 0.43 -1.58 0.58 -1.5 0.74 
+-1.41 0.87 -1.32 0.98 -1.21 1.13 -1.13 1.21 -0.98 1.32 -0.87 1.41 -0.74 1.5 -0.58 1.59 
+-0.44 1.63 -0.25 1.7 -0.09 1.73 f*
+196.96 3477.15 0 5.18 6.1 4 6.18 3.43 6.23 2.87 6.18 2.32 6.08 1.78 5.93 1.26 
+5.71 0.74 5.42 0.25 5.43 -0.25 5.75 -0.8 5.93 -1.32 6.04 -1.84 6.01 -2.34 5.95 -2.87 
+5.73 -3.34 2.76 -1.87 2.7 -2 0 -5.18 -5.47 3.1 -5.49 2.74 -5.56 2.32 -5.64 1.91 
+-5.77 1.5 -5.92 1.06 -6.1 0.65 -6.32 0.24 -6.16 -0.22 -5.99 -0.58 -5.93 -1.02 -5.84 -1.43 
+-5.86 -1.88 -5.9 -2.32 -6.01 -2.8 -6.14 -3.26 f*
+819.18 2340.52 4.58 0 0 -56.58 -7.07 0 0 40.35 -12.48 0 0 4.99 5.04 0.58 
+2.25 0.48 2.06 0.82 0.95 0.57 0.88 0.7 0.82 0.87 0.74 1.02 0.67 1.21 0.61 1.43 
+0.52 1.65 0.43 1.91 f*
+862.43 2340.52 2.06 -0.09 1.95 -0.28 1.89 -0.45 1.75 -0.68 1.67 -0.84 1.54 -1.08 1.43 -1.3 
+1.3 -1.52 1.19 -1.75 1.04 -2 0.93 -2.23 0.76 -2.49 0.63 -2.78 0.48 -3.04 0.32 -3.3 
+0.16 -3.6 -0.11 -4.47 -0.37 -4.04 -0.59 -3.64 -0.78 -3.25 -0.96 -2.88 -1.15 -2.54 -1.29 -2.22 
+-1.41 -1.91 -1.54 -1.61 -1.65 -1.34 -1.71 -1.09 -1.79 -0.85 -1.84 -0.61 -1.87 -0.43 -1.87 -0.24 
+-1.88 -0.09 -2.89 0.22 -2.69 0.68 -2.48 1.11 -2.23 1.61 -1.98 2.08 -1.64 2.56 -1.35 3.1 
+-0.95 3.63 7.07 0 0.67 -2.04 0.8 -1.78 0.95 -1.5 1.09 -1.21 1.25 -0.96 1.41 -0.7 
+1.58 -0.41 1.79 -0.13 1.58 0.11 1.47 0.33 1.39 0.52 1.26 0.71 1.15 0.91 1.07 1.07 
+0.95 1.21 0.85 1.37 0.76 1.52 0.66 1.63 0.97 3.6 0.59 3.97 0.2 4.26 -1.96 -1.93 
+-1.86 -1.5 -1.76 -1.09 -1.65 -0.78 -1.54 -0.5 -1.46 -0.28 -2.66 -0.15 -2.2 0.17 -2.04 0.35 
+-1.89 0.54 -1.75 0.7 -1.59 0.84 -1.48 0.98 -1.3 1.11 -1.17 1.24 -1.02 1.35 -0.87 1.43 
+-0.72 1.52 -0.59 1.59 -0.43 1.66 -0.28 1.7 -0.15 1.76 0 1.78 7.08 0 0.21 -2.2 
+0.61 -2.21 1 -2.11 1.34 -1.91 1.7 -1.63 2 -1.3 1.08 -0.48 1.17 -0.35 1.24 -0.21 
+1.3 -0.08 1.3 0.08 1.21 0.21 1.17 0.35 1.11 0.48 1.99 1.3 1.67 1.63 1.37 1.91 
+0.98 2.11 0.63 2.21 0.2 2.2 -0.2 2.21 -0.62 2.2 -0.98 2.11 -1.37 1.91 -1.67 1.64 
+-1.99 1.29 -1.11 0.48 -1.17 0.37 -1.21 0.21 -1.3 0.07 -1.3 -0.07 -1.24 -0.21 -1.17 -0.37 
+-1.08 -0.48 -2 -1.29 -1.7 -1.64 -1.34 -1.91 -1 -2.11 -0.61 -2.2 -0.21 -2.21 -7.08 0 
+0.02 1.87 0.2 1.8 0.37 1.78 0.54 1.7 0.7 1.63 0.85 1.54 1.02 1.46 1.15 1.34 
+1.31 1.21 1.43 1.11 1.57 0.96 1.69 0.83 1.8 0.65 1.93 0.48 2.02 0.28 2.14 0.11 f*
+924.83 2325.96 -7.08 0 -0.48 1.91 -0.72 1.67 -0.97 1.43 -1.17 1.18 -1.3 0.93 -1.45 0.65 
+-1.5 0.42 -1.56 0.13 -1.52 -0.09 -1.4 -0.28 -1.35 -0.44 -1.23 -0.63 -1.17 -0.8 -1.04 -0.96 
+-0.98 -1.13 -0.87 -1.28 -0.76 -1.46 -0.68 -1.58 -1.04 -3.64 -0.63 -4.19 -0.21 -4.73 1.69 1.82 
+1.67 1.43 1.67 1.09 1.67 0.8 1.69 0.54 1.71 0.33 3.6 0.21 2.78 -0.26 2.87 -0.85 
+1.43 -0.61 1.41 -0.79 1.37 -0.91 1.28 -1.06 1.2 -1.19 1.11 -1.34 0.95 -1.52 0.83 -1.65 
+0.65 -1.8 0.48 -1.95 0.26 -2.11 0.04 -2.25 -7.07 -0.42 -0.24 2.32 -0.7 2.26 -1.11 2.11 
+-1.43 1.88 -1.74 1.61 -1.97 1.21 -2.17 0.81 -1.13 0.21 -1.15 0.07 -1.17 -0.07 -1.13 -0.21 
+-2.16 -0.81 -1.98 -1.21 -1.73 -1.61 -1.43 -1.88 -1.11 -2.11 -0.7 -2.26 -0.24 -2.32 0.24 -2.32 
+0.7 -2.26 1.11 -2.11 1.43 -1.89 1.73 -1.61 1.98 -1.23 2.16 -0.78 1.13 -0.22 1.17 -0.07 
+1.15 0.07 1.13 0.22 2.17 0.78 1.97 1.23 1.74 1.61 1.43 1.89 1.11 2.11 0.7 2.26 
+0.24 2.32 7.07 0.42 -0.28 -3.32 -0.35 -1.7 -0.48 -1.65 -0.63 -1.64 -0.79 -1.59 -0.93 -1.52 
+-1.06 -1.43 -1.24 -1.32 -1.37 -1.22 -1.54 -1.06 -1.7 -0.91 -1.84 -0.76 -2.02 -0.55 -2.17 -0.34 
+-2.32 -0.13 -2.56 0.16 -2.32 0.43 -2.14 0.67 -1.93 0.95 -1.75 1.18 -1.57 1.41 -1.39 1.61 
+-1.21 1.82 -1.04 2 -0.89 2.17 -0.74 2.34 -0.59 2.47 -0.44 2.61 -0.32 2.73 -0.24 5.75 
+0.09 3.43 0.26 3.23 0.44 3.08 0.58 2.89 0.76 2.69 0.93 2.5 1.06 2.3 1.24 2.08 
+1.37 1.84 1.54 1.63 1.67 1.41 1.82 1.15 1.96 0.93 2.08 0.65 2.23 0.39 2.34 0.15 
+1.7 -0.09 1.61 -0.22 1.52 -0.37 1.46 -0.5 1.39 -0.63 1.28 -0.74 2.3 -1.78 1.89 -2.17 
+1.5 -2.47 1.04 -2.71 0.57 -2.88 f*
+951.43 2340.52 2.06 -0.17 1.97 -0.5 1.87 -0.8 1.76 -1.08 1.65 -1.35 1.54 -1.58 1.43 -1.78 
+1.28 -2 1.17 -2.15 1.02 -2.28 0.89 -2.41 0.71 -2.5 0.59 -2.59 0.43 -2.62 0.24 -2.65 
+0.09 -2.67 -0.09 -2.65 -0.24 -2.67 -0.43 -2.65 -0.59 -2.61 -0.71 -2.54 -0.89 -2.45 -1.02 -2.32 
+-1.17 -2.19 -1.28 -2.02 -1.43 -1.82 -1.54 -1.61 -1.65 -1.39 -1.76 -1.11 -1.87 -0.83 -1.97 -0.5 
+-2.06 -0.2 -2.06 0.2 -1.98 0.5 -1.87 0.83 -1.75 1.11 -1.65 1.39 -1.54 1.61 -1.43 1.82 
+-1.28 2.02 -1.17 2.19 -1.02 2.32 -0.89 2.45 -0.72 2.54 -0.59 2.61 -0.43 2.65 -0.24 2.67 
+-0.09 2.65 7.48 0 0.26 -5.05 0.71 -4.54 1.15 -4 1.45 -3.36 1.71 -2.69 0.93 -1.09 
+0.96 -0.91 1 -0.71 1 -0.52 1.02 -0.31 1.02 -0.11 1.02 0.11 1.02 0.31 1 0.52 
+0.99 0.71 0.96 0.91 0.93 1.09 1.71 2.69 1.46 3.36 1.15 4 0.71 4.54 0.26 5.05 
+-0.26 5.05 -0.71 4.5 -1.15 3.91 -1.46 3.29 -1.71 2.63 -0.93 1.04 -0.96 0.87 -0.99 0.7 
+-1 0.5 -1.02 0.3 -1.02 0.09 -1.02 -0.09 -1.02 -0.3 -1 -0.5 -1 -0.7 -0.96 -0.87 
+-0.93 -1.04 -1.71 -2.63 -1.45 -3.29 -1.15 -3.91 -0.71 -4.5 -0.26 -5.05 -7.48 0 0.09 2.67 
+0.24 2.65 0.43 2.62 0.59 2.59 0.72 2.5 0.89 2.41 1.02 2.28 1.17 2.15 1.28 2 
+1.43 1.78 1.54 1.58 1.65 1.35 1.75 1.08 1.87 0.8 1.98 0.5 2.06 0.17 f*
+1298.57 2340.52 4.58 0 0 -56.58 -7.07 0 0 40.35 -12.48 0 0 4.99 5.04 0.58 
+2.25 0.48 2.06 0.82 0.95 0.57 0.88 0.7 0.82 0.87 0.76 1.02 0.67 1.21 0.58 1.43 
+0.52 1.65 0.43 1.91 f*
+1341.82 2340.52 2.06 -0.09 1.98 -0.28 1.87 -0.45 1.75 -0.68 1.67 -0.84 1.54 -1.08 1.43 -1.3 
+1.32 -1.52 1.17 -1.75 1.07 -2 0.91 -2.23 0.79 -2.49 0.63 -2.78 0.46 -3.04 0.32 -3.3 
+0.18 -3.6 -0.13 -4.47 -0.37 -4.04 -0.57 -3.64 -0.78 -3.25 -0.98 -2.88 -1.13 -2.54 -1.3 -2.22 
+-1.41 -1.91 -1.54 -1.61 -1.62 -1.34 -1.73 -1.09 -1.79 -0.85 -1.82 -0.61 -1.87 -0.43 -1.89 -0.24 
+-1.89 -0.09 -2.86 0.22 -2.71 0.68 -2.48 1.11 -2.23 1.61 -1.95 2.08 -1.67 2.56 -1.33 3.1 
+-0.97 3.63 7.07 0 0.67 -2.04 0.83 -1.78 0.93 -1.5 1.11 -1.21 1.23 -0.96 1.41 -0.7 
+1.61 -0.41 1.78 -0.13 1.59 0.11 1.47 0.33 1.37 0.52 1.25 0.71 1.17 0.91 1.05 1.07 
+0.95 1.21 0.87 1.37 0.74 1.52 0.65 1.63 0.97 3.6 0.61 3.97 0.2 4.26 -1.97 -1.93 
+-1.87 -1.5 -1.74 -1.09 -1.65 -0.78 -1.56 -0.5 -1.46 -0.28 -2.64 -0.15 -2.19 0.17 -2.04 0.35 
+-1.91 0.54 -1.73 0.7 -1.61 0.84 -1.46 0.98 -1.32 1.11 -1.15 1.24 -1.02 1.35 -0.89 1.43 
+-0.72 1.52 -0.59 1.59 -0.43 1.66 -0.28 1.7 -0.16 1.76 0.02 1.78 7.06 0 0.21 -2.2 
+0.61 -2.21 1 -2.11 1.37 -1.91 1.67 -1.63 2 -1.3 1.11 -0.48 1.15 -0.35 1.24 -0.21 
+1.3 -0.08 1.3 0.08 1.23 0.21 1.17 0.35 1.09 0.48 1.99 1.3 1.7 1.63 1.34 1.91 
+1 2.11 0.61 2.21 0.22 2.2 -0.22 2.21 -0.61 2.2 -1 2.11 -1.34 1.91 -1.7 1.64 
+-1.99 1.29 -1.09 0.48 -1.17 0.37 -1.23 0.21 -1.3 0.07 -1.3 -0.07 -1.24 -0.21 -1.15 -0.37 
+-1.11 -0.48 -2 -1.29 -1.67 -1.64 -1.37 -1.91 -1 -2.11 -0.61 -2.2 -0.21 -2.21 -7.06 0 
+0 1.87 0.2 1.8 0.38 1.78 0.54 1.7 0.7 1.63 0.88 1.54 0.99 1.46 1.15 1.34 
+1.3 1.21 1.43 1.11 1.56 0.96 1.69 0.83 1.83 0.65 1.9 0.48 2.05 0.28 2.12 0.11 f*
+1368.01 2340.52 37.85 0 0 -5.84 -5.36 -8.05 -4.34 -6.95 -3.49 -6.14 -2.76 -5.62 -2.2 -5.47 
+-1.8 -5.59 -1.52 -6.08 -1.41 -6.84 -7.49 0 2.13 7.86 2.04 6.63 2.15 5.77 2.36 5.34 
+2.75 5.25 3.25 5.55 8.62 13.52 -30.79 0 0 6.66 f*
+1430.82 2340.52 2.06 -0.17 1.97 -0.5 1.86 -0.8 1.76 -1.08 1.67 -1.35 1.54 -1.58 1.41 -1.78 
+1.3 -2 1.15 -2.15 1.02 -2.28 0.89 -2.41 0.74 -2.5 0.56 -2.59 0.43 -2.62 0.26 -2.65 
+0.09 -2.67 -0.09 -2.65 -0.26 -2.67 -0.43 -2.65 -0.56 -2.61 -0.74 -2.54 -0.89 -2.45 -1.02 -2.32 
+-1.15 -2.19 -1.3 -2.02 -1.41 -1.82 -1.54 -1.61 -1.67 -1.39 -1.76 -1.11 -1.86 -0.83 -1.97 -0.5 
+-2.06 -0.2 -2.06 0.2 -1.95 0.5 -1.87 0.83 -1.78 1.11 -1.65 1.39 -1.54 1.61 -1.41 1.82 
+-1.3 2.02 -1.15 2.19 -1.04 2.32 -0.87 2.45 -0.74 2.54 -0.59 2.61 -0.41 2.65 -0.26 2.67 
+-0.09 2.65 7.48 0 0.26 -5.05 0.74 -4.54 1.13 -4 1.46 -3.36 1.71 -2.69 0.93 -1.09 
+0.95 -0.91 1 -0.71 1.02 -0.52 0.99 -0.31 1.02 -0.11 1.02 0.11 1.02 0.31 1.02 0.52 
+0.97 0.71 0.98 0.91 0.93 1.09 1.7 2.69 1.48 3.36 1.13 4 0.73 4.54 0.26 5.05 
+-0.26 5.05 -0.73 4.5 -1.13 3.91 -1.48 3.29 -1.7 2.63 -0.93 1.04 -0.98 0.87 -0.97 0.7 
+-1.02 0.5 -1.02 0.3 -1.02 0.09 -1.02 -0.09 -0.99 -0.3 -1.02 -0.5 -1 -0.7 -0.95 -0.87 
+-0.93 -1.04 -1.71 -2.63 -1.46 -3.29 -1.13 -3.91 -0.74 -4.5 -0.26 -5.05 -7.48 0 0.09 2.67 
+0.26 2.65 0.41 2.62 0.59 2.59 0.74 2.5 0.87 2.41 1.04 2.28 1.15 2.15 1.3 2 
+1.41 1.78 1.54 1.58 1.65 1.35 1.78 1.08 1.87 0.8 1.95 0.5 2.06 0.17 f*
+1777.95 2340.52 4.58 0 0 -56.58 -7.07 0 0 40.35 -12.48 0 0 4.99 5.04 0.58 
+2.25 0.48 2.07 0.82 0.95 0.57 0.89 0.7 0.8 0.87 0.76 1.02 0.67 1.21 0.59 1.43 
+0.52 1.65 0.43 1.91 f*
+1821.2 2340.52 2.07 -0.09 1.97 -0.28 1.87 -0.45 1.78 -0.68 1.65 -0.84 1.56 -1.08 1.43 -1.3 
+1.3 -1.52 1.17 -1.75 1.07 -2 0.91 -2.23 0.79 -2.49 0.63 -2.78 0.48 -3.04 0.32 -3.3 
+0.16 -3.6 -0.13 -4.47 -0.34 -4.04 -0.59 -3.64 -0.78 -3.25 -0.98 -2.88 -1.13 -2.54 -1.29 -2.22 
+-1.43 -1.91 -1.54 -1.61 -1.63 -1.34 -1.71 -1.09 -1.8 -0.85 -1.82 -0.61 -1.87 -0.43 -1.89 -0.24 
+-1.86 -0.09 -2.89 0.22 -2.69 0.68 -2.5 1.11 -2.23 1.61 -1.96 2.08 -1.67 2.56 -1.33 3.1 
+-0.97 3.63 7.07 0 0.7 -2.04 0.8 -1.78 0.95 -1.5 1.09 -1.21 1.23 -0.96 1.43 -0.7 
+1.58 -0.41 1.78 -0.13 1.59 0.11 1.48 0.33 1.37 0.52 1.25 0.71 1.17 0.91 1.07 1.07 
+0.95 1.21 0.85 1.37 0.74 1.52 0.65 1.63 1 3.6 0.59 3.97 0.2 4.26 -1.97 -1.93 
+-1.84 -1.5 -1.76 -1.09 -1.65 -0.78 -1.56 -0.5 -1.46 -0.28 -2.64 -0.15 -2.19 0.17 -2.04 0.35 
+-1.89 0.54 -1.75 0.7 -1.61 0.84 -1.46 0.98 -1.32 1.11 -1.15 1.24 -1.02 1.35 -0.87 1.43 
+-0.74 1.52 -0.59 1.59 -0.44 1.66 -0.28 1.7 -0.13 1.76 0 1.78 7.07 0 0.2 -2.2 
+0.63 -2.21 1 -2.11 1.34 -1.91 1.67 -1.63 2 -1.3 1.11 -0.48 1.17 -0.35 1.24 -0.21 
+1.28 -0.08 1.3 0.08 1.23 0.21 1.17 0.35 1.11 0.48 1.97 1.3 1.69 1.63 1.35 1.91 
+1 2.11 0.61 2.21 0.21 2.2 -0.21 2.21 -0.61 2.2 -1 2.11 -1.35 1.91 -1.69 1.64 
+-1.97 1.29 -1.11 0.48 -1.17 0.37 -1.23 0.21 -1.3 0.07 -1.28 -0.07 -1.24 -0.21 -1.17 -0.37 
+-1.11 -0.48 -2 -1.29 -1.67 -1.64 -1.34 -1.91 -1 -2.11 -0.63 -2.2 -0.2 -2.21 -7.07 0 
+0.02 1.87 0.17 1.8 0.38 1.78 0.54 1.7 0.69 1.63 0.88 1.54 0.99 1.46 1.17 1.34 
+1.31 1.21 1.43 1.11 1.57 0.96 1.67 0.83 1.82 0.65 1.91 0.48 2.04 0.28 2.12 0.11 f*
+1865.71 2340.52 3.47 -0.26 3.23 -0.74 1.48 -0.56 1.41 -0.65 1.32 -0.8 1.19 -0.89 1.09 -1.02 
+0.98 -1.11 0.84 -1.24 0.72 -1.32 0.57 -1.46 0.41 -1.54 0.26 -1.65 0.08 -1.73 -0.2 -2.48 
+-0.52 -2.11 -0.78 -1.8 -1 -1.52 -1.17 -1.3 -1.26 -1.11 -2.56 -1.76 2.08 -1.07 1.87 -1.32 
+1.63 -1.54 1.39 -1.74 1.11 -1.91 0.8 -2.08 0.52 -2.19 0.15 -2.3 -0.07 -1.34 -0.24 -1.43 
+-0.39 -1.46 -0.55 -1.47 -0.7 -1.48 -0.84 -1.43 -1 -1.41 -1.15 -1.34 -1.3 -1.26 -1.45 -1.17 
+-1.61 -1.02 -1.76 -0.91 -1.91 -0.71 -2.05 -0.55 -2.19 -0.34 -2.34 -0.13 -2.34 0.13 -2.17 0.34 
+-2 0.55 -1.87 0.71 -1.7 0.91 -1.52 1.02 -1.39 1.17 -1.21 1.26 -1.08 1.34 -0.91 1.41 
+-0.78 1.43 -0.63 1.48 -0.84 2.93 -0.29 2.78 7.48 0 0.26 -2.26 0.7 -2.12 1.09 -1.91 
+1.45 -1.65 1.74 -1.37 1.97 -1.04 2.15 -0.65 2.3 -0.22 2.3 0.22 2.15 0.65 1.97 1.04 
+1.74 1.37 1.46 1.65 1.08 1.91 0.7 2.13 0.26 2.26 -0.26 2.28 -0.7 2.13 -1.08 1.89 
+-1.46 1.67 -1.74 1.37 -1.97 1.02 -2.15 0.65 -2.3 0.24 -2.3 -0.24 -2.15 -0.65 -1.97 -1.02 
+-1.74 -1.37 -1.45 -1.67 -1.09 -1.89 -0.7 -2.13 -0.26 -2.28 -7.48 0 0.18 2.28 0.5 2.17 
+0.82 2.02 1.11 1.87 1.39 1.72 1.63 1.54 1.86 1.37 2.09 1.19 -2.56 1.76 -1.26 1.11 
+-1.17 1.3 -1 1.52 -0.78 1.8 -0.52 2.11 -0.2 2.48 7.07 0 0.22 -1.93 0.59 -1.71 
+0.93 -1.5 1.23 -1.26 1.48 -1 1.69 -0.74 1.87 -0.46 1.97 -0.16 1.98 0.16 1.87 0.46 
+1.69 0.74 1.48 1 1.23 1.26 0.93 1.5 0.59 1.71 0.22 1.93 -0.22 1.93 -0.59 1.71 
+-0.93 1.5 -1.23 1.24 -1.48 1.02 -1.69 0.71 -1.87 0.46 -1.98 0.15 -1.97 -0.15 -1.87 -0.46 
+-1.69 -0.71 -1.48 -1.02 -1.23 -1.24 -0.93 -1.5 -0.59 -1.71 -0.22 -1.93 -7.07 0 0.08 1.73 
+0.26 1.65 0.42 1.54 0.56 1.46 0.72 1.32 0.84 1.24 0.96 1.11 1.11 1.02 1.19 0.89 
+1.33 0.8 1.39 0.65 1.49 0.56 3.23 0.74 3.47 0.26 f*
+1910.22 2340.52 2.04 -0.17 1.97 -0.5 1.87 -0.8 1.78 -1.08 1.65 -1.35 1.54 -1.58 1.41 -1.78 
+1.3 -2 1.15 -2.15 1.02 -2.28 0.89 -2.41 0.74 -2.5 0.59 -2.59 0.41 -2.62 0.26 -2.65 
+0.09 -2.67 -0.09 -2.65 -0.26 -2.67 -0.41 -2.65 -0.59 -2.61 -0.74 -2.54 -0.89 -2.45 -1.02 -2.32 
+-1.15 -2.19 -1.3 -2.02 -1.41 -1.82 -1.54 -1.61 -1.65 -1.39 -1.78 -1.11 -1.87 -0.83 -1.97 -0.5 
+-2.04 -0.2 -2.06 0.2 -1.98 0.5 -1.87 0.83 -1.78 1.11 -1.65 1.39 -1.54 1.61 -1.41 1.82 
+-1.3 2.02 -1.15 2.19 -1.02 2.32 -0.89 2.45 -0.74 2.54 -0.59 2.61 -0.41 2.65 -0.26 2.67 
+-0.08 2.65 7.48 0 0.26 -5.05 0.74 -4.54 1.13 -4 1.46 -3.36 1.71 -2.69 0.93 -1.09 
+0.97 -0.91 0.98 -0.71 1.02 -0.52 1.02 -0.31 1.02 -0.11 1 0.11 1.02 0.31 1.02 0.52 
+0.97 0.71 0.98 0.91 0.93 1.09 1.71 2.69 1.46 3.36 1.13 4 0.73 4.54 0.26 5.05 
+-0.26 5.05 -0.73 4.5 -1.13 3.91 -1.46 3.29 -1.71 2.63 -0.93 1.04 -0.98 0.87 -0.97 0.7 
+-1.02 0.5 -1.02 0.3 -1 0.09 -1.02 -0.09 -1.02 -0.3 -1.02 -0.5 -0.98 -0.7 -0.97 -0.87 
+-0.93 -1.04 -1.71 -2.63 -1.46 -3.29 -1.13 -3.91 -0.74 -4.5 -0.26 -5.05 -7.48 0 0.08 2.67 
+0.26 2.65 0.41 2.62 0.59 2.59 0.74 2.5 0.89 2.41 1.02 2.28 1.15 2.15 1.3 2 
+1.41 1.78 1.54 1.58 1.65 1.35 1.78 1.08 1.87 0.8 1.98 0.5 2.06 0.17 f*
+2257.33 2340.52 4.59 0 0 -56.58 -7.08 0 0 40.35 -12.46 0 0 4.99 5.01 0.58 
+2.28 0.48 2.06 0.82 0.93 0.57 0.89 0.7 0.82 0.87 0.74 1.02 0.67 1.21 0.61 1.43 
+0.5 1.65 0.43 1.91 f*
+2300.61 2340.52 2.06 -0.09 1.95 -0.28 1.87 -0.45 1.78 -0.68 1.65 -0.84 1.56 -1.08 1.43 -1.3 
+1.3 -1.52 1.19 -1.75 1.04 -2 0.91 -2.23 0.79 -2.49 0.63 -2.78 0.48 -3.04 0.32 -3.3 
+0.15 -3.6 -0.13 -4.47 -0.34 -4.04 -0.59 -3.64 -0.78 -3.25 -0.95 -2.88 -1.15 -2.54 -1.28 -2.22 
+-1.43 -1.91 -1.52 -1.61 -1.65 -1.34 -1.71 -1.09 -1.79 -0.85 -1.84 -0.61 -1.87 -0.43 -1.88 -0.24 
+-1.87 -0.09 -2.89 0.22 -2.69 0.68 -2.48 1.11 -2.23 1.61 -1.97 2.08 -1.68 2.56 -1.32 3.1 
+-0.97 3.63 7.07 0 0.7 -2.04 0.8 -1.78 0.96 -1.5 1.08 -1.21 1.26 -0.96 1.41 -0.7 
+1.58 -0.41 1.79 -0.13 1.58 0.11 1.48 0.33 1.37 0.52 1.28 0.71 1.15 0.91 1.07 1.07 
+0.95 1.21 0.85 1.37 0.76 1.52 0.63 1.63 1 3.6 0.59 3.97 0.2 4.26 -1.97 -1.93 
+-1.84 -1.5 -1.76 -1.09 -1.65 -0.78 -1.54 -0.5 -1.46 -0.28 -2.66 -0.15 -2.2 0.17 -2.04 0.35 
+-1.89 0.54 -1.75 0.7 -1.61 0.84 -1.46 0.98 -1.3 1.11 -1.17 1.24 -1.02 1.35 -0.87 1.43 
+-0.74 1.52 -0.56 1.59 -0.44 1.66 -0.3 1.7 -0.13 1.76 0 1.78 7.08 0 0.21 -2.2 
+0.61 -2.21 1 -2.11 1.34 -1.91 1.7 -1.63 1.97 -1.3 1.11 -0.48 1.17 -0.35 1.24 -0.21 
+1.3 -0.08 1.29 0.08 1.23 0.21 1.17 0.35 1.11 0.48 1.99 1.3 1.67 1.63 1.35 1.91 
+1 2.11 0.61 2.21 0.21 2.2 -0.21 2.21 -0.61 2.2 -1 2.11 -1.35 1.91 -1.67 1.64 
+-1.99 1.29 -1.11 0.48 -1.17 0.37 -1.23 0.21 -1.29 0.07 -1.3 -0.07 -1.24 -0.21 -1.17 -0.37 
+-1.11 -0.48 -1.97 -1.29 -1.7 -1.64 -1.34 -1.91 -1 -2.11 -0.61 -2.2 -0.21 -2.21 -7.08 0 
+0.02 1.87 0.2 1.8 0.37 1.78 0.52 1.7 0.71 1.63 0.85 1.54 1.02 1.46 1.15 1.34 
+1.31 1.21 1.43 1.11 1.56 0.96 1.7 0.83 1.8 0.65 1.93 0.48 2.02 0.28 2.14 0.11 f*
+2345.09 2340.52 2.06 -0.09 1.98 -0.28 1.87 -0.45 1.78 -0.68 1.65 -0.84 1.54 -1.08 1.43 -1.3 
+1.32 -1.52 1.17 -1.75 1.07 -2 0.91 -2.23 0.78 -2.49 0.64 -2.78 0.48 -3.04 0.3 -3.3 
+0.17 -3.6 -0.13 -4.47 -0.37 -4.04 -0.57 -3.64 -0.78 -3.25 -0.97 -2.88 -1.13 -2.54 -1.29 -2.22 
+-1.43 -1.91 -1.54 -1.61 -1.63 -1.34 -1.72 -1.09 -1.8 -0.85 -1.82 -0.61 -1.87 -0.43 -1.89 -0.24 
+-1.87 -0.09 -2.88 0.22 -2.7 0.68 -2.5 1.11 -2.23 1.61 -1.96 2.08 -1.67 2.56 -1.32 3.1 
+-0.98 3.63 7.08 0 0.67 -2.04 0.82 -1.78 0.93 -1.5 1.11 -1.21 1.23 -0.96 1.43 -0.7 
+1.58 -0.41 1.78 -0.13 1.59 0.11 1.47 0.33 1.37 0.52 1.26 0.71 1.17 0.91 1.06 1.07 
+0.93 1.21 0.87 1.37 0.73 1.52 0.66 1.63 0.99 3.6 0.59 3.97 0.2 4.26 -1.98 -1.93 
+-1.87 -1.5 -1.73 -1.09 -1.65 -0.78 -1.56 -0.5 -1.46 -0.28 -2.64 -0.15 -2.19 0.17 -2.04 0.35 
+-1.91 0.54 -1.73 0.7 -1.61 0.84 -1.46 0.98 -1.32 1.11 -1.16 1.24 -1.02 1.35 -0.89 1.43 
+-0.72 1.52 -0.59 1.59 -0.43 1.66 -0.29 1.7 -0.12 1.76 0 1.78 7.07 0 0.2 -2.2 
+0.63 -2.21 0.98 -2.11 1.37 -1.91 1.67 -1.63 2 -1.3 1.11 -0.48 1.17 -0.35 1.21 -0.21 
+1.3 -0.08 1.3 0.08 1.23 0.21 1.17 0.35 1.09 0.48 2 1.3 1.69 1.63 1.35 1.91 
+0.99 2.11 0.61 2.21 0.21 2.2 -0.21 2.21 -0.61 2.2 -0.99 2.11 -1.35 1.91 -1.69 1.64 
+-2 1.29 -1.09 0.48 -1.17 0.37 -1.23 0.21 -1.3 0.07 -1.3 -0.07 -1.21 -0.21 -1.17 -0.37 
+-1.11 -0.48 -2 -1.29 -1.67 -1.64 -1.37 -1.91 -0.98 -2.11 -0.63 -2.2 -0.2 -2.21 -7.07 0 
+0 1.87 0.19 1.8 0.38 1.78 0.54 1.7 0.69 1.63 0.87 1.54 1 1.46 1.17 1.34 
+1.29 1.21 1.43 1.11 1.59 0.96 1.67 0.83 1.82 0.65 1.91 0.48 2.04 0.28 2.13 0.11 f*
+2389.61 2340.52 2.06 -0.17 1.95 -0.5 1.88 -0.8 1.76 -1.08 1.65 -1.35 1.54 -1.58 1.41 -1.78 
+1.3 -2 1.17 -2.15 1.02 -2.28 0.87 -2.41 0.74 -2.5 0.59 -2.59 0.41 -2.62 0.26 -2.65 
+0.09 -2.67 -0.09 -2.65 -0.26 -2.67 -0.41 -2.65 -0.59 -2.61 -0.74 -2.54 -0.87 -2.45 -1.02 -2.32 
+-1.17 -2.19 -1.3 -2.02 -1.41 -1.82 -1.54 -1.61 -1.65 -1.39 -1.76 -1.11 -1.88 -0.83 -1.95 -0.5 
+-2.06 -0.2 -2.06 0.2 -1.98 0.5 -1.87 0.83 -1.75 1.11 -1.67 1.39 -1.52 1.61 -1.43 1.82 
+-1.28 2.02 -1.17 2.19 -1.02 2.32 -0.89 2.45 -0.74 2.54 -0.57 2.61 -0.43 2.65 -0.26 2.67 
+-0.08 2.65 7.48 0 0.26 -5.05 0.74 -4.54 1.13 -4 1.48 -3.36 1.71 -2.69 0.91 -1.09 
+0.97 -0.91 1 -0.71 1 -0.52 1.02 -0.31 1.02 -0.11 1.02 0.11 1.02 0.31 1 0.52 
+1 0.71 0.95 0.91 0.93 1.09 1.72 2.69 1.45 3.36 1.13 4 0.74 4.54 0.26 5.05 
+-0.26 5.05 -0.74 4.5 -1.13 3.91 -1.45 3.29 -1.72 2.63 -0.93 1.04 -0.95 0.87 -1 0.7 
+-1 0.5 -1.02 0.3 -1.02 0.09 -1.02 -0.09 -1.02 -0.3 -1 -0.5 -1 -0.7 -0.97 -0.87 
+-0.91 -1.04 -1.71 -2.63 -1.48 -3.29 -1.13 -3.91 -0.74 -4.5 -0.26 -5.05 -7.48 0 0.08 2.67 
+0.26 2.65 0.43 2.62 0.57 2.59 0.74 2.5 0.89 2.41 1.02 2.28 1.17 2.15 1.28 2 
+1.43 1.78 1.52 1.58 1.67 1.35 1.75 1.08 1.87 0.8 1.98 0.5 2.06 0.17 f*
+2720.31 2320.96 7.05 0 0.2 2.84 0.52 2.56 0.89 2.28 1.25 1.93 1.63 1.56 2.02 1.17 
+2.36 0.71 2.78 0.24 2.15 -0.2 2 -0.54 1.84 -0.93 1.61 -1.23 1.32 -1.57 1.02 -1.84 
+0.65 -2.12 0.22 -2.36 -0.2 -2.41 -0.59 -2.02 -0.98 -1.74 -1.41 -1.54 -1.8 -1.45 -2.21 -1.5 
+-5.71 -3.49 -4.82 -2.8 -3.93 -2.84 -1.67 -1.46 -1.45 -1.47 -1.28 -1.5 -1.09 -1.52 -0.93 -1.56 
+-0.78 -1.59 -0.63 -1.64 -0.5 -1.68 -0.61 -3.54 -0.2 -3.78 37.84 0 0 6.67 -29.94 0 
+0.75 2.56 1.02 2.12 1.32 1.8 1.7 1.63 2.06 1.54 2.52 1.56 6.45 3.75 3.71 1.84 
+3.13 2.06 2.52 2.28 1.97 2.39 1.45 2.5 1.02 2.56 0.56 2.56 0.17 2.52 -0.09 1.76 
+-0.28 1.69 -0.46 1.61 -0.63 1.52 -0.78 1.43 -0.91 1.33 -1.06 1.23 -1.2 1.13 -1.3 1.02 
+-1.41 0.89 -1.52 0.78 -1.59 0.65 -1.67 0.52 -1.75 0.37 -1.81 0.22 -1.84 0.09 -1.99 -0.09 
+-1.91 -0.22 -1.84 -0.37 -1.73 -0.52 -1.65 -0.68 -1.54 -0.82 -1.43 -0.98 -1.3 -1.13 -1.17 -1.29 
+-1.06 -1.45 -0.91 -1.59 -0.76 -1.78 -0.58 -1.91 -0.46 -2.08 -0.26 -2.26 -0.09 -2.41 f*
+2782.68 2340.52 2.06 -0.17 1.97 -0.5 1.87 -0.8 1.76 -1.08 1.67 -1.35 1.54 -1.58 1.41 -1.78 
+1.3 -2 1.15 -2.15 1.02 -2.28 0.89 -2.41 0.74 -2.5 0.58 -2.59 0.41 -2.62 0.26 -2.65 
+0.09 -2.67 -0.09 -2.65 -0.26 -2.67 -0.41 -2.65 -0.58 -2.61 -0.74 -2.54 -0.89 -2.45 -1.02 -2.32 
+-1.15 -2.19 -1.3 -2.02 -1.41 -1.82 -1.54 -1.61 -1.67 -1.39 -1.76 -1.11 -1.87 -0.83 -1.97 -0.5 
+-2.06 -0.2 -2.06 0.2 -1.95 0.5 -1.87 0.83 -1.78 1.11 -1.65 1.39 -1.54 1.61 -1.41 1.82 
+-1.3 2.02 -1.15 2.19 -1.04 2.32 -0.87 2.45 -0.74 2.54 -0.59 2.61 -0.41 2.65 -0.26 2.67 
+-0.09 2.65 7.48 0 0.26 -5.05 0.74 -4.54 1.13 -4 1.45 -3.36 1.71 -2.69 0.93 -1.09 
+0.96 -0.91 1 -0.71 1.02 -0.52 0.99 -0.31 1.02 -0.11 1.02 0.11 1.02 0.31 1.02 0.52 
+0.97 0.71 0.98 0.91 0.93 1.09 1.71 2.69 1.45 3.36 1.14 4 0.73 4.54 0.26 5.05 
+-0.26 5.05 -0.73 4.5 -1.14 3.91 -1.45 3.29 -1.71 2.63 -0.93 1.04 -0.98 0.87 -0.97 0.7 
+-1.02 0.5 -1.02 0.3 -1.02 0.09 -1.02 -0.09 -0.99 -0.3 -1.02 -0.5 -1 -0.7 -0.96 -0.87 
+-0.93 -1.04 -1.71 -2.63 -1.45 -3.29 -1.13 -3.91 -0.74 -4.5 -0.26 -5.05 -7.48 0 0.09 2.67 
+0.26 2.65 0.41 2.62 0.59 2.59 0.74 2.5 0.87 2.41 1.04 2.28 1.15 2.15 1.3 2 
+1.41 1.78 1.54 1.58 1.65 1.35 1.78 1.08 1.87 0.8 1.95 0.5 2.06 0.17 f*
+2827.2 2340.52 2.06 -0.17 1.97 -0.5 1.87 -0.8 1.76 -1.08 1.65 -1.35 1.54 -1.58 1.43 -1.78 
+1.28 -2 1.18 -2.15 1.02 -2.28 0.89 -2.41 0.71 -2.5 0.59 -2.59 0.43 -2.62 0.24 -2.65 
+0.09 -2.67 -0.09 -2.65 -0.24 -2.67 -0.43 -2.65 -0.59 -2.61 -0.71 -2.54 -0.89 -2.45 -1.02 -2.32 
+-1.18 -2.19 -1.28 -2.02 -1.43 -1.82 -1.54 -1.61 -1.65 -1.39 -1.76 -1.11 -1.87 -0.83 -1.97 -0.5 
+-2.06 -0.2 -2.07 0.2 -1.97 0.5 -1.87 0.83 -1.75 1.11 -1.65 1.39 -1.54 1.61 -1.43 1.82 
+-1.28 2.02 -1.17 2.19 -1.02 2.32 -0.89 2.45 -0.71 2.54 -0.59 2.61 -0.43 2.65 -0.24 2.67 
+-0.09 2.65 7.49 0 0.26 -5.05 0.71 -4.54 1.15 -4 1.45 -3.36 1.71 -2.69 0.93 -1.09 
+0.96 -0.91 1 -0.71 0.99 -0.52 1.02 -0.31 1.02 -0.11 1.02 0.11 1.02 0.31 0.99 0.52 
+1 0.71 0.96 0.91 0.93 1.09 1.71 2.69 1.45 3.36 1.15 4 0.71 4.54 0.26 5.05 
+-0.26 5.05 -0.71 4.5 -1.15 3.91 -1.45 3.29 -1.71 2.63 -0.93 1.04 -0.96 0.87 -1 0.7 
+-0.99 0.5 -1.02 0.3 -1.02 0.09 -1.02 -0.09 -1.02 -0.3 -0.99 -0.5 -1 -0.7 -0.96 -0.87 
+-0.93 -1.04 -1.71 -2.63 -1.45 -3.29 -1.15 -3.91 -0.71 -4.5 -0.26 -5.05 -7.49 0 0.09 2.67 
+0.24 2.65 0.43 2.62 0.59 2.59 0.71 2.5 0.89 2.41 1.02 2.28 1.17 2.15 1.28 2 
+1.43 1.78 1.54 1.58 1.65 1.35 1.75 1.08 1.87 0.8 1.97 0.5 2.07 0.17 f*
+2871.7 2340.52 2.06 -0.17 1.96 -0.5 1.86 -0.8 1.78 -1.08 1.65 -1.35 1.54 -1.58 1.41 -1.78 
+1.3 -2 1.15 -2.15 1.04 -2.28 0.87 -2.41 0.74 -2.5 0.59 -2.59 0.41 -2.62 0.26 -2.65 
+0.09 -2.67 -0.09 -2.65 -0.26 -2.67 -0.41 -2.65 -0.59 -2.61 -0.74 -2.54 -0.87 -2.45 -1.04 -2.32 
+-1.15 -2.19 -1.3 -2.02 -1.41 -1.82 -1.54 -1.61 -1.65 -1.39 -1.78 -1.11 -1.86 -0.83 -1.96 -0.5 
+-2.06 -0.2 -2.06 0.2 -1.97 0.5 -1.87 0.83 -1.76 1.11 -1.67 1.39 -1.54 1.61 -1.41 1.82 
+-1.3 2.02 -1.15 2.19 -1.02 2.32 -0.89 2.45 -0.74 2.54 -0.58 2.61 -0.41 2.65 -0.26 2.67 
+-0.09 2.65 7.49 0 0.26 -5.05 0.73 -4.54 1.13 -4 1.45 -3.36 1.71 -2.69 0.93 -1.09 
+0.98 -0.91 0.97 -0.71 1.02 -0.52 1.02 -0.31 1.02 -0.11 1 0.11 1.02 0.31 1.02 0.52 
+1 0.71 0.96 0.91 0.93 1.09 1.71 2.69 1.45 3.36 1.13 4 0.74 4.54 0.26 5.05 
+-0.26 5.05 -0.74 4.5 -1.13 3.91 -1.45 3.29 -1.71 2.63 -0.93 1.04 -0.96 0.87 -1 0.7 
+-1.02 0.5 -1.02 0.3 -1 0.09 -1.02 -0.09 -1.02 -0.3 -1.02 -0.5 -0.97 -0.7 -0.98 -0.87 
+-0.93 -1.04 -1.71 -2.63 -1.45 -3.29 -1.13 -3.91 -0.73 -4.5 -0.26 -5.05 -7.49 0 0.09 2.67 
+0.26 2.65 0.41 2.62 0.58 2.59 0.74 2.5 0.89 2.41 1.02 2.28 1.15 2.15 1.3 2 
+1.41 1.78 1.54 1.58 1.67 1.35 1.76 1.08 1.87 0.8 1.97 0.5 2.06 0.17 f*
+352.906 2463.58 19.1367 5.83984 re
+f*
+404.08 2501.02 4.99 0 0 -36.59 8.72 0 0 -6.67 ^ 0 -13.3 -7.07 0 
+^ -23.72 0 0 6.67 ^ 0 24.54 -17.47 -24.54 -6.25 0 0 0.82 
+25.8 35.77 f*
+427.367 2444.46 8.3125 8.3125 re
+f*
+464.37 2501.02 2.06 -0.18 1.97 -0.5 1.87 -0.8 1.79 -1.08 1.65 -1.35 1.54 -1.56 1.41 -1.8 
+1.3 -1.97 1.15 -2.15 1.02 -2.28 0.89 -2.41 0.74 -2.52 0.58 -2.56 0.42 -2.65 0.25 -2.64 
+0.09 -2.65 -0.09 -2.67 -0.25 -2.67 -0.42 -2.64 -0.58 -2.61 -0.74 -2.54 -0.89 -2.43 -1.02 -2.32 
+-1.15 -2.2 -1.3 -2.02 -1.41 -1.82 -1.54 -1.62 -1.65 -1.37 -1.79 -1.11 -1.87 -0.82 -1.97 -0.52 
+-2.06 -0.17 -2.04 0.17 -1.98 0.52 -1.87 0.82 -1.78 1.11 -1.65 1.37 -1.54 1.63 -1.41 1.82 
+-1.3 2.02 -1.15 2.2 -1.05 2.32 -0.86 2.43 -0.74 2.54 -0.59 2.61 -0.41 2.64 -0.26 2.67 
+-0.09 2.67 7.48 0 0.26 -5.06 0.74 -4.55 1.13 -3.97 1.45 -3.36 1.72 -2.72 0.93 -1.08 
+0.97 -0.89 0.98 -0.72 1.02 -0.52 1.02 -0.32 1 -0.09 1.02 0.09 1.02 0.32 1.02 0.52 
+0.97 0.72 0.98 0.89 0.93 1.08 1.71 2.72 1.46 3.36 1.13 3.97 0.73 4.55 0.26 5.06 
+-0.26 5.04 -0.73 4.49 -1.12 3.93 -1.46 3.28 -1.71 2.63 -0.93 1.06 -0.98 0.87 -0.97 0.67 
+-1.02 0.5 -1.02 0.3 -1.02 0.11 -1 -0.11 -1.02 -0.3 -1.02 -0.5 -0.98 -0.67 -0.97 -0.87 
+-0.93 -1.06 -1.72 -2.63 -1.45 -3.28 -1.13 -3.93 -0.74 -4.49 -0.26 -5.04 -7.48 0 0.09 2.65 
+0.26 2.64 0.41 2.65 0.59 2.56 0.74 2.52 0.86 2.41 1.05 2.28 1.15 2.15 1.3 1.97 
+1.41 1.8 1.54 1.56 1.65 1.35 1.78 1.08 1.87 0.8 1.98 0.5 2.04 0.18 f*
+352.906 2736.57 19.1367 5.81641 re
+f*
+379.95 2754.45 7.07 0 0.17 2.84 0.52 2.56 0.91 2.28 1.26 1.93 1.63 1.56 2 1.16 
+2.39 0.71 2.76 0.26 2.15 -0.2 2.02 -0.56 1.82 -0.91 1.61 -1.24 1.34 -1.56 1.02 -1.85 
+0.63 -2.12 0.24 -2.37 -0.2 -2.43 -0.59 -2.02 -0.99 -1.71 -1.39 -1.55 -1.82 -1.45 -2.22 -1.5 
+-5.68 -3.5 -4.84 -2.82 -3.93 -2.84 -1.65 -1.43 -1.46 -1.48 -1.28 -1.5 -1.11 -1.52 -0.93 -1.56 
+-0.78 -1.61 -0.63 -1.63 -0.48 -1.7 -0.63 -3.52 -0.17 -3.77 37.84 0 0 6.66 -29.95 0 
+0.74 2.54 1.02 2.13 1.34 1.82 1.67 1.61 2.08 1.54 2.5 1.58 6.45 3.76 3.73 1.84 
+3.11 2.06 2.52 2.26 1.98 2.41 1.47 2.5 1 2.54 0.57 2.58 0.2 2.52 -0.11 1.76 
+-0.28 1.7 -0.46 1.61 -0.61 1.52 -0.78 1.43 -0.93 1.32 -1.06 1.24 -1.17 1.13 -1.32 1.02 
+-1.41 0.89 -1.5 0.78 -1.61 0.65 -1.67 0.5 -1.73 0.38 -1.8 0.24 -1.87 0.06 -1.98 -0.06 
+-1.93 -0.22 -1.82 -0.37 -1.76 -0.52 -1.63 -0.67 -1.54 -0.82 -1.43 -0.98 -1.32 -1.12 -1.18 -1.28 
+-1.04 -1.46 -0.91 -1.61 -0.76 -1.76 -0.61 -1.93 -0.43 -2.09 -0.28 -2.24 -0.09 -2.41 f*
+427.367 2717.43 8.3125 8.3125 re
+f*
+464.37 2773.98 2.06 -0.17 1.97 -0.5 1.87 -0.8 1.79 -1.09 1.65 -1.34 1.54 -1.56 1.41 -1.8 
+1.3 -1.98 1.15 -2.14 1.02 -2.29 0.89 -2.41 0.74 -2.52 0.58 -2.56 0.42 -2.62 0.25 -2.67 
+0.09 -2.65 -0.09 -2.67 -0.25 -2.67 -0.42 -2.64 -0.58 -2.61 -0.74 -2.52 -0.89 -2.46 -1.02 -2.32 
+-1.15 -2.19 -1.3 -2.02 -1.41 -1.83 -1.54 -1.61 -1.65 -1.39 -1.79 -1.11 -1.87 -0.82 -1.97 -0.52 
+-2.06 -0.17 -2.04 0.17 -1.98 0.52 -1.87 0.82 -1.78 1.11 -1.65 1.39 -1.54 1.61 -1.41 1.83 
+-1.3 2.02 -1.15 2.19 -1.05 2.32 -0.86 2.46 -0.74 2.52 -0.59 2.61 -0.41 2.64 -0.26 2.67 
+-0.09 2.67 7.48 0 0.26 -5.06 0.74 -4.55 1.13 -3.97 1.45 -3.36 1.72 -2.71 0.93 -1.08 
+0.97 -0.89 0.98 -0.72 1.02 -0.52 1.02 -0.3 1 -0.11 1.02 0.11 1.02 0.3 1.02 0.52 
+0.97 0.72 0.98 0.89 0.93 1.08 1.71 2.71 1.46 3.36 1.13 3.97 0.73 4.55 0.26 5.06 
+-0.26 5.03 -0.73 4.5 -1.12 3.93 -1.46 3.28 -1.71 2.63 -0.93 1.07 -0.98 0.87 -0.97 0.67 
+-1.02 0.5 -1.02 0.3 -1.02 0.11 -1 -0.11 -1.02 -0.3 -1.02 -0.5 -0.98 -0.67 -0.97 -0.87 
+-0.93 -1.07 -1.72 -2.62 -1.45 -3.28 -1.13 -3.93 -0.74 -4.5 -0.26 -5.03 -7.48 0 0.09 2.65 
+0.26 2.67 0.41 2.63 0.59 2.56 0.74 2.52 0.86 2.41 1.05 2.29 1.15 2.14 1.3 1.98 
+1.41 1.8 1.54 1.56 1.65 1.34 1.78 1.09 1.87 0.8 1.98 0.5 2.04 0.17 f*
+397.83 3046.94 2.06 -0.15 1.98 -0.5 1.87 -0.82 1.75 -1.09 1.65 -1.32 1.54 -1.58 1.43 -1.8 
+1.29 -1.98 1.17 -2.15 1.02 -2.28 0.89 -2.41 0.74 -2.52 0.57 -2.56 0.43 -2.63 0.26 -2.67 
+0.08 -2.65 -0.08 -2.67 -0.26 -2.67 -0.43 -2.65 -0.57 -2.6 -0.74 -2.52 -0.89 -2.46 -1.02 -2.32 
+-1.17 -2.19 -1.29 -2.02 -1.43 -1.82 -1.54 -1.61 -1.65 -1.39 -1.75 -1.11 -1.87 -0.82 -1.98 -0.52 
+-2.06 -0.17 -2.06 0.17 -1.95 0.52 -1.89 0.82 -1.76 1.11 -1.64 1.39 -1.55 1.61 -1.43 1.82 
+-1.28 2.02 -1.17 2.19 -1.02 2.32 -0.86 2.46 -0.74 2.52 -0.58 2.6 -0.41 2.65 -0.26 2.67 
+-0.09 2.67 7.49 0 0.26 -5.05 0.74 -4.56 1.13 -3.97 1.45 -3.36 1.72 -2.71 0.93 -1.09 
+0.95 -0.89 1 -0.71 1 -0.52 1.02 -0.3 1.02 -0.11 1.02 0.11 1.02 0.3 1 0.52 
+1 0.71 0.98 0.89 0.91 1.09 1.71 2.71 1.48 3.36 1.13 3.97 0.74 4.56 0.26 5.05 
+-0.26 5.03 -0.74 4.5 -1.12 3.93 -1.48 3.28 -1.71 2.62 -0.91 1.07 -0.98 0.87 -1 0.7 
+-1 0.48 -1.02 0.3 -1.02 0.11 -1.02 -0.11 -1.02 -0.3 -1 -0.48 -1 -0.7 -0.95 -0.87 
+-0.93 -1.07 -1.72 -2.62 -1.45 -3.28 -1.13 -3.93 -0.74 -4.5 -0.26 -5.03 -7.49 0 0.09 2.65 
+0.26 2.67 0.41 2.63 0.58 2.56 0.74 2.52 0.86 2.41 1.02 2.28 1.17 2.15 1.28 1.98 
+1.43 1.8 1.55 1.58 1.64 1.32 1.76 1.09 1.89 0.82 1.95 0.5 2.06 0.15 f*
+427.367 2990.39 8.3125 8.30859 re
+f*
+464.37 3046.94 2.06 -0.15 1.97 -0.5 1.87 -0.82 1.79 -1.09 1.65 -1.32 1.54 -1.58 1.41 -1.8 
+1.3 -1.98 1.15 -2.15 1.02 -2.28 0.89 -2.41 0.74 -2.52 0.58 -2.56 0.42 -2.63 0.25 -2.67 
+0.09 -2.65 -0.09 -2.67 -0.25 -2.67 -0.42 -2.65 -0.58 -2.6 -0.74 -2.52 -0.89 -2.46 -1.02 -2.32 
+-1.15 -2.19 -1.3 -2.02 -1.41 -1.82 -1.54 -1.61 -1.65 -1.39 -1.79 -1.11 -1.87 -0.82 -1.97 -0.52 
+-2.06 -0.17 -2.04 0.17 -1.98 0.52 -1.87 0.82 -1.78 1.11 -1.65 1.39 -1.54 1.61 -1.41 1.82 
+-1.3 2.02 -1.15 2.19 -1.05 2.32 -0.86 2.46 -0.74 2.52 -0.59 2.6 -0.41 2.65 -0.26 2.67 
+-0.09 2.67 7.48 0 0.26 -5.05 0.74 -4.56 1.13 -3.97 1.45 -3.36 1.72 -2.71 0.93 -1.09 
+0.97 -0.89 0.98 -0.71 1.02 -0.52 1.02 -0.3 1 -0.11 1.02 0.11 1.02 0.3 1.02 0.52 
+0.97 0.71 0.98 0.89 0.93 1.09 1.71 2.71 1.46 3.36 1.13 3.97 0.73 4.56 0.26 5.05 
+-0.26 5.03 -0.73 4.5 -1.12 3.93 -1.46 3.28 -1.71 2.62 -0.93 1.07 -0.98 0.87 -0.97 0.7 
+-1.02 0.48 -1.02 0.3 -1.02 0.11 -1 -0.11 -1.02 -0.3 -1.02 -0.48 -0.98 -0.7 -0.97 -0.87 
+-0.93 -1.07 -1.72 -2.62 -1.45 -3.28 -1.13 -3.93 -0.74 -4.5 -0.26 -5.03 -7.48 0 0.09 2.65 
+0.26 2.67 0.41 2.63 0.59 2.56 0.74 2.52 0.86 2.41 1.05 2.28 1.15 2.15 1.3 1.98 
+1.41 1.8 1.54 1.58 1.65 1.32 1.78 1.09 1.87 0.82 1.98 0.5 2.04 0.15 f*
+379.95 3300.37 7.07 0 0.17 2.84 0.52 2.56 0.91 2.28 1.26 1.93 1.63 1.56 2 1.15 
+2.39 0.74 2.76 0.24 2.15 -0.2 2.02 -0.57 1.82 -0.91 1.61 -1.23 1.34 -1.57 1.02 -1.84 
+0.63 -2.13 0.24 -2.36 -0.2 -2.43 -0.59 -2 -0.99 -1.74 -1.39 -1.54 -1.82 -1.45 -2.22 -1.5 
+-5.68 -3.5 -4.84 -2.8 -3.93 -2.87 -1.65 -1.43 -1.46 -1.47 -1.28 -1.5 -1.11 -1.52 -0.93 -1.56 
+-0.78 -1.59 -0.63 -1.64 -0.48 -1.69 -0.63 -3.52 -0.17 -3.78 37.84 0 0 6.67 -29.95 0 
+0.74 2.54 1.02 2.12 1.34 1.83 1.67 1.61 2.08 1.54 2.5 1.58 6.45 3.76 3.73 1.84 
+3.11 2.06 2.52 2.25 1.98 2.41 1.47 2.5 1 2.56 0.57 2.56 0.2 2.52 -0.11 1.76 
+-0.28 1.7 -0.46 1.61 -0.61 1.52 -0.78 1.43 -0.93 1.33 -1.06 1.23 -1.17 1.14 -1.32 1.02 
+-1.41 0.89 -1.5 0.79 -1.61 0.65 -1.67 0.5 -1.73 0.37 -1.8 0.24 -1.87 0.07 -1.98 -0.07 
+-1.93 -0.21 -1.82 -0.37 -1.74 -0.52 -1.65 -0.67 -1.54 -0.82 -1.43 -0.98 -1.32 -1.12 -1.18 -1.29 
+-1.04 -1.45 -0.91 -1.61 -0.76 -1.76 -0.61 -1.91 -0.43 -2.08 -0.28 -2.26 -0.09 -2.41 f*
+427.367 3263.34 8.3125 8.3125 re
+f*
+464.37 3319.9 2.06 -0.15 1.97 -0.5 1.87 -0.8 1.79 -1.09 1.65 -1.34 1.54 -1.58 1.41 -1.8 
+1.3 -1.97 1.15 -2.15 1.02 -2.28 0.89 -2.41 0.74 -2.52 0.58 -2.56 0.42 -2.62 0.25 -2.67 
+0.09 -2.64 -0.09 -2.67 -0.25 -2.67 -0.42 -2.65 -0.58 -2.6 -0.74 -2.52 -0.89 -2.45 -1.02 -2.32 
+-1.15 -2.2 -1.3 -2.02 -1.41 -1.82 -1.54 -1.61 -1.65 -1.39 -1.79 -1.11 -1.87 -0.83 -1.97 -0.52 
+-2.06 -0.18 -2.04 0.18 -1.98 0.52 -1.87 0.83 -1.78 1.11 -1.65 1.39 -1.54 1.61 -1.41 1.82 
+-1.3 2.02 -1.15 2.2 -1.05 2.32 -0.86 2.45 -0.74 2.52 -0.59 2.6 -0.41 2.65 -0.26 2.67 
+-0.09 2.67 7.48 0 0.26 -5.05 0.74 -4.56 1.13 -3.97 1.45 -3.36 1.72 -2.69 0.93 -1.11 
+0.97 -0.89 0.98 -0.71 1.02 -0.52 1.02 -0.3 1 -0.11 1.02 0.11 1.02 0.3 1.02 0.52 
+0.97 0.71 0.98 0.89 0.93 1.11 1.71 2.69 1.46 3.36 1.13 3.97 0.73 4.56 0.26 5.05 
+-0.26 5.03 -0.73 4.51 -1.12 3.91 -1.46 3.27 -1.71 2.63 -0.93 1.07 -0.98 0.87 -0.97 0.7 
+-1.02 0.48 -1.02 0.3 -1.02 0.11 -1 -0.11 -1.02 -0.3 -1.02 -0.48 -0.98 -0.7 -0.97 -0.87 
+-0.93 -1.07 -1.72 -2.63 -1.45 -3.27 -1.13 -3.91 -0.74 -4.51 -0.26 -5.03 -7.48 0 0.09 2.64 
+0.26 2.67 0.41 2.62 0.59 2.56 0.74 2.52 0.86 2.41 1.05 2.28 1.15 2.15 1.3 1.97 
+1.41 1.8 1.54 1.58 1.65 1.34 1.78 1.09 1.87 0.8 1.98 0.5 2.04 0.15 f*
+5.55556 w
+887.17 2398.74 0 58.23 S
+1366.55 2398.74 0 58.23 S
+1845.96 2398.74 0 58.23 S
+2325.34 2398.74 0 58.23 S
+2804.73 2398.74 0 58.23 S
+2.77778 w
+791.3 2427.84 0 29.12 S
+695.42 2427.84 0 29.12 S
+599.54 2427.84 0 29.12 S
+983.05 2427.84 0 29.12 S
+1078.93 2427.84 0 29.12 S
+1174.8 2427.84 0 29.12 S
+1270.68 2427.84 0 29.12 S
+1462.43 2427.84 0 29.12 S
+1558.31 2427.84 0 29.12 S
+1654.19 2427.84 0 29.12 S
+1750.09 2427.84 0 29.12 S
+1941.84 2427.84 0 29.12 S
+2037.71 2427.84 0 29.12 S
+2133.59 2427.84 0 29.12 S
+2229.47 2427.84 0 29.12 S
+2421.22 2427.84 0 29.12 S
+2517.1 2427.84 0 29.12 S
+2612.98 2427.84 0 29.12 S
+2708.86 2427.84 0 29.12 S
+2900.61 2427.84 0 29.12 S
+2996.48 2427.84 0 29.12 S
+3092.36 2427.84 0 29.12 S
+5.55556 w
+887.17 3467.96 0 -58.22 S
+1366.55 3467.96 0 -58.22 S
+1845.96 3467.96 0 -58.22 S
+2325.34 3467.96 0 -58.22 S
+2804.73 3467.96 0 -58.22 S
+2.77778 w
+791.3 3438.87 0 -29.12 S
+695.42 3438.87 0 -29.12 S
+599.54 3438.87 0 -29.12 S
+983.05 3438.87 0 -29.12 S
+1078.93 3438.87 0 -29.12 S
+1174.8 3438.87 0 -29.12 S
+1270.68 3438.87 0 -29.12 S
+1462.43 3438.87 0 -29.12 S
+1558.31 3438.87 0 -29.12 S
+1654.19 3438.87 0 -29.12 S
+1750.09 3438.87 0 -29.12 S
+1941.84 3438.87 0 -29.12 S
+2037.71 3438.87 0 -29.12 S
+2133.59 3438.87 0 -29.12 S
+2229.47 3438.87 0 -29.12 S
+2421.22 3438.87 0 -29.12 S
+2517.1 3438.87 0 -29.12 S
+2612.98 3438.87 0 -29.12 S
+2708.86 3438.87 0 -29.12 S
+2900.61 3438.87 0 -29.12 S
+2996.48 3438.87 0 -29.12 S
+3092.36 3438.87 0 -29.12 S
+5.55556 w
+541.32 2471.7 58.22 0 S
+541.32 2744.66 58.22 0 S
+541.32 3017.62 58.22 0 S
+541.32 3290.58 58.22 0 S
+2.77778 w
+570.42 2539.95 29.12 0 S
+570.42 2608.18 29.12 0 S
+570.42 2676.43 29.12 0 S
+570.42 2812.91 29.12 0 S
+570.42 2881.14 29.12 0 S
+570.42 2949.39 29.12 0 S
+570.42 3085.87 29.12 0 S
+570.42 3154.1 29.12 0 S
+570.42 3222.35 29.12 0 S
+570.42 3358.83 29.12 0 S
+5.55556 w
+3198.52 2471.7 -58.22 0 S
+3198.52 2744.66 -58.22 0 S
+3198.52 3017.62 -58.22 0 S
+3198.52 3290.58 -58.22 0 S
+2.77778 w
+3169.42 2539.95 -29.12 0 S
+3169.42 2608.18 -29.12 0 S
+3169.42 2676.43 -29.12 0 S
+3169.42 2812.91 -29.12 0 S
+3169.42 2881.14 -29.12 0 S
+3169.42 2949.39 -29.12 0 S
+3169.42 3085.87 -29.12 0 S
+3169.42 3154.1 -29.12 0 S
+3169.42 3222.35 -29.12 0 S
+3169.42 3358.83 -29.12 0 S
+5.55556 w
+3140.3 2456.96 -2540.76 0 0 952.78 ^ ^ ^ S
+601.11 3529.05 0.26 3.13 0.37 1.54 0.5 1.52 0.66 1.47 0.82 1.43 0.98 1.35 1.15 1.26 
+1.34 1.18 1.52 1.04 1.7 0.93 1.89 0.81 2.11 0.63 2.28 0.48 2.52 0.3 2.71 0.11 
+2.93 -0.15 3.23 -0.43 3.28 -0.81 3.16 -1.21 1.46 -0.8 1.37 -0.91 1.21 -1.06 1.04 -1.21 
+0.87 -1.34 0.65 -1.52 0.41 -1.7 0.13 -1.84 0 -33.29 0.2 -0.91 0.5 -0.8 0.74 -0.67 
+0.91 -0.52 1.02 -0.35 1.02 -0.17 1 0.05 0.87 0.28 0 -6.25 -2.02 -0.45 -3.19 -0.07 
+-2.26 0.07 -1.76 0.19 -1.37 0.37 -1.04 0.61 -0.82 0.87 -0.71 1.19 -1.39 3.47 -4.43 -3.25 
+-1.91 -1.17 -1.85 -0.91 -1.9 -0.65 -2.05 -0.45 -2.32 -0.24 -2.69 -0.09 -2.34 0.09 -2.11 0.24 
+-1.93 0.39 -1.72 0.54 -1.54 0.65 -1.34 0.78 -1.2 0.89 -1.02 0.98 -0.89 1.07 -0.71 1.13 
+-0.61 1.21 -0.46 1.25 -0.61 2.63 -0.17 2.71 7.79 0 0.2 -1.52 0.57 -1.46 0.91 -1.32 
+1.26 -1.15 1.56 -0.98 1.87 -0.74 2.15 -0.48 2.41 -0.15 3.5 0.43 3.04 0.89 2.58 1.26 
+2.13 1.49 1.66 1.7 1.22 1.75 0.71 1.74 0.24 1.65 0 10.39 -3.9 -1.46 -3.23 -0.76 
+-9.51 -1.43 -2.78 -0.85 -2.2 -0.98 -1.62 -1.11 -1.19 -1.21 -0.78 -1.32 -0.48 -1.39 -0.24 -1.48 
+-0.07 -1.54 -7.79 0 0.22 3.88 0.65 3.17 0.48 1.35 0.61 1.17 0.7 1.06 0.8 0.93 
+0.89 0.82 1.02 0.74 2.32 1.2 2.71 0.98 3.13 0.82 13.52 2.06 3.23 0.89 1.17 0.48 
+0.91 0.52 0.67 0.57 0.43 0.56 0.26 0.57 0.07 0.58 0 4.69 -0.15 0.89 -0.46 1.04 
+-0.83 1.11 -1.17 1.11 -1.56 1.02 -1.97 0.82 -2.41 0.57 -2.89 0.19 -3.08 -0.24 -2.61 -0.63 
+-2.15 -1 -1.71 -1.25 -1.31 -1.43 -0.91 -1.58 -0.54 -1.61 -0.18 -1.61 -8.31 0 f*
+654.12 3564.93 5.21 0 3.99 -6.1 3.43 -6.2 2.86 -6.21 2.32 -6.18 1.79 -6.08 1.25 -5.92 
+0.74 -5.71 0.24 -5.43 -0.26 -5.45 -0.8 -5.73 -1.3 -5.92 -1.84 -6.04 -2.37 -6.03 -2.84 -5.92 
+-3.37 -5.73 -1.87 -2.78 -1.97 -2.67 -5.21 0 3.13 5.47 2.71 5.49 2.32 5.56 1.91 5.64 
+1.49 5.77 1.09 5.93 0.65 6.1 0.21 6.32 -0.2 6.14 -0.61 6.01 -1 5.9 -1.45 5.86 
+-1.87 5.86 -2.32 5.9 -2.8 6.01 -3.28 6.14 f*
+782.01 3530.62 -30.67 0 0 -8.31 21.84 0 0 -4.69 -0.11 -1.76 -0.3 -1.78 -0.5 -1.75 
+-0.67 -1.74 -0.87 -1.69 -1.06 -1.61 -1.21 -1.54 -1.37 -1.46 -1.54 -1.32 -1.7 -1.2 -1.84 -1.04 
+-1.97 -0.89 -2.13 -0.68 -2.23 -0.5 -2.37 -0.26 -2.48 -0.02 -3.29 0.15 -3.04 0.48 -2.82 0.76 
+-2.59 1.04 -2.34 1.3 -2.13 1.54 -1.9 1.78 -1.7 1.98 -1.48 2.15 -1.28 2.34 -1.06 2.49 
+-0.85 2.63 -0.67 2.74 -0.48 2.84 -0.26 2.93 -0.11 3 0.13 3.23 0.39 3.08 0.63 2.93 
+0.87 2.75 1.09 2.58 1.28 2.38 1.5 2.22 1.67 1.99 1.82 1.8 2 1.59 2.14 1.34 
+2.28 1.13 2.39 0.91 2.52 0.63 2.61 0.39 2.69 0.15 2.59 -0.17 2.93 -0.52 3.1 -0.93 
+3.09 -1.43 1.48 -0.93 1.41 -1.06 1.33 -1.24 1.2 -1.39 1.06 -1.56 0.89 -1.76 0.71 -1.95 
+0.5 -2.13 9.87 0 -0.71 3.08 -0.61 1.78 -0.82 1.87 -1 1.91 -1.21 1.95 -1.43 1.95 
+-1.67 1.89 -1.88 1.8 -2.15 1.67 -2.41 1.52 -2.66 1.34 -2.95 1.09 -3.23 0.82 -3.54 0.52 
+-3.85 0.2 -3.99 -0.2 -3.8 -0.54 -3.58 -0.89 -3.37 -1.24 -3.14 -1.52 -2.91 -1.84 -2.64 -2.11 
+-2.43 -2.39 -2.15 -2.64 -1.91 -2.87 -1.62 -3.08 -1.34 -3.27 -1.07 -3.47 -0.76 -3.65 -0.48 -3.8 
+-0.15 -3.93 0.17 -4.88 0.54 -4.54 0.85 -4.17 1.19 -3.84 1.48 -3.47 1.73 -3.14 2.05 -2.82 
+2.25 -2.5 2.5 -2.19 2.73 -1.87 2.91 -1.56 3.08 -1.28 3.28 -0.97 3.41 -0.7 3.54 -0.39 
+3.64 -0.15 2.63 0.13 2.78 0.42 2.89 0.71 2.95 1.09 2.97 1.47 2.97 1.89 2.89 2.37 
+2.8 2.84 2.09 -8.83 6.23 0 0 38.48 f*
+796.05 3544.66 7.29 0 0 -9.89 3.17 4.25 2.87 3.09 2.6 2.08 1.22 0.71 1.13 0.55 
+2.06 0.54 1.79 0.04 1.56 -0.32 1.28 -0.52 0 -7.81 -4.14 -0.44 -1.82 -0.39 -1.67 -0.52 
+-1.52 -0.63 -1.37 -0.74 -1.22 -0.87 -1.06 -0.96 -0.93 -1.08 -0.79 -1.2 -0.67 -1.28 -0.52 -1.41 
+-0.41 -1.5 -0.28 -1.61 -0.22 -3.5 0 -29.12 -8.33 0 0 52.52 f*
+872.48 3508.27 -0.57 -2.45 -0.72 -2.23 -0.87 -2.07 -1 -1.88 -1.12 -1.7 -1.23 -1.54 -1.35 -1.37 
+-1.47 -1.19 -1.54 -1.05 -1.65 -0.89 -1.74 -0.74 -1.8 -0.61 -1.89 -0.43 -1.93 -0.33 -3.99 -0.26 
+-2.75 0.21 -2.58 0.46 -2.43 0.7 -2.26 0.89 -2.08 1.13 -1.93 1.32 -1.73 1.52 -1.58 1.72 
+-1.39 1.89 -1.21 2.06 -1.04 2.23 -0.87 2.41 -0.65 2.54 -0.5 2.69 -0.28 2.84 -0.09 2.95 
+0.18 4.28 0.5 3.84 0.82 3.45 1.07 3.06 1.32 2.71 1.52 2.39 1.67 2.04 1.82 1.75 
+1.91 1.48 1.99 1.21 2.05 0.96 2.04 0.75 1.99 0.54 1.96 0.38 3.6 0.28 -0.52 -7.81 
+-2.28 -0.21 -2.43 -0.7 -2.48 -1.17 -2.38 -1.7 -1.11 -1.04 -1.05 -1.17 -0.95 -1.32 -0.87 -1.46 
+-0.74 -1.61 -0.59 -1.76 -0.45 -1.91 -0.29 -2.06 30.66 0 -0.11 2.14 -0.33 1.98 -0.5 1.8 
+-0.69 1.63 -0.82 1.48 -0.93 1.32 -1.06 1.15 -1.14 1.02 -2.43 1.63 -2.52 1.13 -2.41 0.63 
+-2.12 0.19 0.52 7.81 1.79 -0.06 1.88 -0.21 1.91 -0.37 1.93 -0.56 1.93 -0.79 1.91 -1 
+1.82 -1.25 1.76 -1.55 1.65 -1.84 1.52 -2.14 1.34 -2.5 1.17 -2.86 0.93 -3.26 0.72 -3.64 
+0.45 -4.11 0.15 -4.53 -39 0 0.17 -2.71 0.59 -2.98 1.04 -3.04 0.71 -1.48 0.87 -1.43 
+1 -1.34 1.15 -1.24 1.32 -1.12 1.48 -0.96 1.68 -0.8 1.84 -0.59 2.02 -0.37 2.25 -0.13 
+2.26 0.2 2.11 0.54 1.95 0.93 1.8 1.24 1.61 1.58 1.46 1.87 1.25 2.15 1.07 2.41 
+8.34 0 f*
+928.11 3508.27 -0.57 -2.45 -0.72 -2.23 -0.86 -2.07 -1 -1.88 -1.11 -1.7 -1.26 -1.54 -1.34 -1.37 
+-1.46 -1.19 -1.56 -1.05 -1.65 -0.89 -1.73 -0.74 -1.8 -0.61 -1.86 -0.43 -1.93 -0.33 -4.02 -0.26 
+-2.75 0.21 -2.58 0.46 -2.43 0.7 -2.25 0.89 -2.09 1.13 -1.91 1.32 -1.75 1.52 -1.59 1.72 
+-1.39 1.89 -1.21 2.06 -1.04 2.23 -0.84 2.41 -0.67 2.54 -0.48 2.69 -0.3 2.84 -0.09 2.95 
+0.18 4.28 0.52 3.84 0.8 3.45 1.09 3.06 1.3 2.71 1.52 2.39 1.67 2.04 1.82 1.75 
+1.93 1.48 1.99 1.21 2.02 0.96 2.05 0.75 2.02 0.54 1.95 0.38 3.59 0.28 -0.52 -7.81 
+-2.28 -0.21 -2.43 -0.7 -2.48 -1.17 -2.37 -1.7 -1.13 -1.04 -1.04 -1.17 -0.96 -1.32 -0.84 -1.46 
+-0.74 -1.61 -0.61 -1.76 -0.46 -1.91 -0.28 -2.06 30.68 0 -0.12 2.14 -0.31 1.98 -0.52 1.8 
+-0.67 1.63 -0.82 1.48 -0.95 1.32 -1.07 1.15 -1.12 1.02 -2.43 1.63 -2.52 1.13 -2.41 0.63 
+-2.13 0.19 0.52 7.81 1.8 -0.06 1.87 -0.21 1.91 -0.37 1.93 -0.56 1.93 -0.79 1.91 -1 
+1.84 -1.25 1.76 -1.55 1.63 -1.84 1.52 -2.14 1.34 -2.5 1.18 -2.86 0.95 -3.26 0.7 -3.64 
+0.46 -4.11 0.15 -4.53 -39 0 0.2 -2.71 0.56 -2.98 1.07 -3.04 0.71 -1.48 0.85 -1.43 
+1 -1.34 1.15 -1.24 1.32 -1.12 1.48 -0.96 1.66 -0.8 1.85 -0.59 2.04 -0.37 2.23 -0.13 
+2.25 0.2 2.13 0.54 1.95 0.93 1.78 1.24 1.63 1.58 1.43 1.87 1.26 2.15 1.08 2.41 
+8.32 0 f*
+940.58 3544.66 7.79 0 0 -8.33 2.17 2.67 2.19 2.17 2.21 1.71 2.19 1.32 2.19 0.93 
+2.13 0.63 2.09 0.35 2 0.11 2.95 -0.24 2.93 -0.72 2.8 -1.11 2.56 -1.52 2.2 -1.89 
+0.91 -1.06 0.79 -1.15 0.63 -1.24 0.48 -1.28 0.3 -1.37 0.09 -1.43 0 -41.08 -8.31 0 
+0 37.43 -0.07 1.13 -0.22 1.04 -0.76 1.84 -1.16 1.52 -1.5 1.22 -1.7 0.93 -1.82 0.65 
+-1.87 0.38 -1.82 0.13 -1.28 -0.07 -1.26 -0.21 -2.5 -0.84 -2.39 -1.37 -2.13 -1.85 -0.95 -1.11 
+-0.87 -1.21 -0.78 -1.34 -0.66 -1.41 -0.52 -1.55 -0.39 -1.62 -0.24 -1.71 -0.08 -1.8 0 -30.17 
+-8.31 0 0 52.52 f*
+996.199 3492.14 8.3125 72.7891 re
+f*
+1018.04 3529.05 0.28 3.13 0.34 1.54 0.5 1.52 0.67 1.47 0.81 1.43 1 1.35 1.15 1.26 
+1.32 1.18 1.52 1.04 1.69 0.93 1.91 0.81 2.08 0.63 2.3 0.48 2.49 0.3 2.73 0.11 
+2.93 -0.15 3.21 -0.43 3.3 -0.81 3.15 -1.21 1.47 -0.8 1.35 -0.91 1.21 -1.06 1.07 -1.21 
+0.86 -1.34 0.63 -1.52 0.42 -1.7 0.15 -1.84 0 -33.29 0.17 -0.91 0.5 -0.8 0.76 -0.67 
+0.91 -0.52 1 -0.35 1.04 -0.17 0.98 0.05 0.86 0.28 0 -6.25 -2.02 -0.45 -3.17 -0.07 
+-2.25 0.07 -1.78 0.19 -1.35 0.37 -1.07 0.61 -0.82 0.87 -0.7 1.19 -1.39 3.47 -4.45 -3.25 
+-1.91 -1.17 -1.84 -0.91 -1.89 -0.65 -2.06 -0.45 -2.32 -0.24 -2.69 -0.09 -2.32 0.09 -2.12 0.24 
+-1.91 0.39 -1.71 0.54 -1.54 0.65 -1.37 0.78 -1.17 0.89 -1.04 0.98 -0.87 1.07 -0.74 1.13 
+-0.59 1.21 -0.48 1.25 -0.58 2.63 -0.2 2.71 7.81 0 0.19 -1.52 0.57 -1.46 0.91 -1.32 
+1.25 -1.15 1.57 -0.98 1.87 -0.74 2.14 -0.48 2.41 -0.15 3.47 0.43 3.04 0.89 2.61 1.26 
+2.12 1.49 1.67 1.7 1.2 1.75 0.72 1.74 0.26 1.65 0 10.39 -3.93 -1.46 -3.23 -0.76 
+-9.48 -1.43 -2.8 -0.85 -2.17 -0.98 -1.65 -1.11 -1.17 -1.21 -0.8 -1.32 -0.48 -1.39 -0.21 -1.48 
+-0.07 -1.54 -7.81 0 0.21 3.88 0.65 3.17 0.5 1.35 0.58 1.17 0.7 1.06 0.8 0.93 
+0.91 0.82 1 0.74 2.32 1.2 2.73 0.98 3.1 0.82 13.52 2.06 3.25 0.89 1.17 0.48 
+0.91 0.52 0.65 0.57 0.46 0.56 0.24 0.57 0.09 0.58 0 4.69 -0.16 0.89 -0.47 1.04 
+-0.8 1.11 -1.17 1.11 -1.56 1.02 -1.98 0.82 -2.43 0.57 -2.87 0.19 -3.08 -0.24 -2.61 -0.63 
+-2.15 -1 -1.73 -1.25 -1.3 -1.43 -0.91 -1.58 -0.52 -1.61 -0.17 -1.61 -8.33 0 f*
+1074.2 3544.66 7.79 0 0 -8.33 2.17 2.67 2.2 2.17 2.21 1.71 2.19 1.32 2.18 0.93 
+2.14 0.63 2.06 0.35 2 0.11 2.95 -0.24 2.95 -0.72 2.8 -1.11 2.54 -1.52 2.2 -1.89 
+0.93 -1.06 0.78 -1.15 0.63 -1.24 0.48 -1.28 0.28 -1.37 0.11 -1.43 0 -41.08 -8.31 0 
+0 37.43 -0.09 1.13 -0.2 1.04 -0.79 1.84 -1.17 1.52 -1.47 1.22 -1.69 0.93 -1.85 0.65 
+-1.86 0.38 -1.8 0.13 -1.29 -0.07 -1.28 -0.21 -2.49 -0.84 -2.37 -1.37 -2.15 -1.85 -0.95 -1.11 
+-0.87 -1.21 -0.76 -1.34 -0.65 -1.41 -0.52 -1.55 -0.39 -1.62 -0.24 -1.71 -0.08 -1.8 0 -30.17 
+-8.32 0 0 52.52 f*
+1163.61 3564.93 8.31 0 0 -72.79 -7.27 0 0 6.77 -1.41 -1.91 -1.5 -1.75 -1.65 -1.59 
+-1.88 -1.39 -2.13 -1.13 -2.48 -0.87 -2.84 -0.54 -3.28 -0.2 -3.17 0.21 -2.87 0.57 -2.58 0.93 
+-2.32 1.22 -2.08 1.52 -1.82 1.73 -1.59 1.93 -1.37 2.08 -1.17 2.23 -0.98 2.32 -0.79 2.37 
+-0.61 2.41 -0.48 2.37 -0.3 2.34 -0.24 4.37 8.83 0 0.09 -2.04 0.21 -2 0.34 -1.93 
+0.48 -1.88 0.61 -1.8 0.72 -1.71 0.82 -1.63 0.96 -1.5 1.04 -1.37 1.16 -1.23 1.25 -1.07 
+1.32 -0.91 1.41 -0.74 1.48 -0.54 1.56 -0.33 1.63 -0.11 1.46 0.09 1.41 0.26 1.37 0.46 
+1.34 0.61 1.26 0.78 1.19 0.96 1.14 1.11 1.04 1.26 0.95 1.41 0.84 1.58 0.76 1.69 
+0.63 1.87 0.5 1.98 0.37 2.13 0.22 2.23 0.08 2.39 -0.17 2.36 -0.3 2.24 -0.43 2.11 
+-0.56 1.95 -0.68 1.8 -0.76 1.67 -0.89 1.52 -0.96 1.37 -1.02 1.22 -1.12 1.04 -1.17 0.91 
+-1.22 0.74 -1.25 0.58 -1.33 0.43 -1.32 0.24 -1.37 0.09 -1.28 -0.09 -1.3 -0.28 -1.32 -0.48 
+-1.3 -0.63 -1.29 -0.82 -1.25 -0.95 -1.2 -1.13 -1.13 -1.26 -1.07 -1.41 -0.95 -1.54 -0.85 -1.67 
+-0.74 -1.8 -0.58 -1.89 -0.46 -2.02 -0.26 -2.11 -0.11 -2.19 -8.83 0 0.18 3.73 0.46 3.45 
+0.74 3.12 0.97 2.84 1.2 2.59 1.37 2.28 1.54 2.04 1.67 1.78 1.78 1.54 1.87 1.3 
+1.88 1.06 1.93 0.87 1.91 0.65 1.87 0.46 1.8 0.29 1.71 0.08 1.69 -0.11 1.91 -0.33 
+2.06 -0.56 2.15 -0.83 2.13 -1.12 2.06 -1.46 1.91 -1.78 1.69 -2.15 0 27.04 f*
+601.11 3529.05 0.26 3.13 0.37 1.54 0.5 1.52 0.66 1.47 0.82 1.43 0.98 1.35 1.15 1.26 
+1.34 1.18 1.52 1.04 1.7 0.93 1.89 0.81 2.11 0.63 2.28 0.48 2.52 0.3 2.71 0.11 
+2.93 -0.15 3.23 -0.43 3.28 -0.81 3.16 -1.21 1.46 -0.8 1.37 -0.91 1.21 -1.06 1.04 -1.21 
+0.87 -1.34 0.65 -1.52 0.41 -1.7 0.13 -1.84 0 -33.29 0.2 -0.91 0.5 -0.8 0.74 -0.67 
+0.91 -0.52 1.02 -0.35 1.02 -0.17 1 0.05 0.87 0.28 0 -6.25 -2.02 -0.45 -3.19 -0.07 
+-2.26 0.07 -1.76 0.19 -1.37 0.37 -1.04 0.61 -0.82 0.87 -0.71 1.19 -1.39 3.47 -4.43 -3.25 
+-1.91 -1.17 -1.85 -0.91 -1.9 -0.65 -2.05 -0.45 -2.32 -0.24 -2.69 -0.09 -2.34 0.09 -2.11 0.24 
+-1.93 0.39 -1.72 0.54 -1.54 0.65 -1.34 0.78 -1.2 0.89 -1.02 0.98 -0.89 1.07 -0.71 1.13 
+-0.61 1.21 -0.46 1.25 -0.61 2.63 -0.17 2.71 7.79 0 0.2 -1.52 0.57 -1.46 0.91 -1.32 
+1.26 -1.15 1.56 -0.98 1.87 -0.74 2.15 -0.48 2.41 -0.15 3.5 0.43 3.04 0.89 2.58 1.26 
+2.13 1.49 1.66 1.7 1.22 1.75 0.71 1.74 0.24 1.65 0 10.39 -3.9 -1.46 -3.23 -0.76 
+-9.51 -1.43 -2.78 -0.85 -2.2 -0.98 -1.62 -1.11 -1.19 -1.21 -0.78 -1.32 -0.48 -1.39 -0.24 -1.48 
+-0.07 -1.54 -7.79 0 0.22 3.88 0.65 3.17 0.48 1.35 0.61 1.17 0.7 1.06 0.8 0.93 
+0.89 0.82 1.02 0.74 2.32 1.2 2.71 0.98 3.13 0.82 13.52 2.06 3.23 0.89 1.17 0.48 
+0.91 0.52 0.67 0.57 0.43 0.56 0.26 0.57 0.07 0.58 0 4.69 -0.15 0.89 -0.46 1.04 
+-0.83 1.11 -1.17 1.11 -1.56 1.02 -1.97 0.82 -2.41 0.57 -2.89 0.19 -3.08 -0.24 -2.61 -0.63 
+-2.15 -1 -1.71 -1.25 -1.31 -1.43 -0.91 -1.58 -0.54 -1.61 -0.18 -1.61 -8.31 0 f*
+654.12 3564.93 5.21 0 3.99 -6.1 3.43 -6.2 2.86 -6.21 2.32 -6.18 1.79 -6.08 1.25 -5.92 
+0.74 -5.71 0.24 -5.43 -0.26 -5.45 -0.8 -5.73 -1.3 -5.92 -1.84 -6.04 -2.37 -6.03 -2.84 -5.92 
+-3.37 -5.73 -1.87 -2.78 -1.97 -2.67 -5.21 0 3.13 5.47 2.71 5.49 2.32 5.56 1.91 5.64 
+1.49 5.77 1.09 5.93 0.65 6.1 0.21 6.32 -0.2 6.14 -0.61 6.01 -1 5.9 -1.45 5.86 
+-1.87 5.86 -2.32 5.9 -2.8 6.01 -3.28 6.14 f*
+782.01 3530.62 -30.67 0 0 -8.31 21.84 0 0 -4.69 -0.11 -1.76 -0.3 -1.78 -0.5 -1.75 
+-0.67 -1.74 -0.87 -1.69 -1.06 -1.61 -1.21 -1.54 -1.37 -1.46 -1.54 -1.32 -1.7 -1.2 -1.84 -1.04 
+-1.97 -0.89 -2.13 -0.68 -2.23 -0.5 -2.37 -0.26 -2.48 -0.02 -3.29 0.15 -3.04 0.48 -2.82 0.76 
+-2.59 1.04 -2.34 1.3 -2.13 1.54 -1.9 1.78 -1.7 1.98 -1.48 2.15 -1.28 2.34 -1.06 2.49 
+-0.85 2.63 -0.67 2.74 -0.48 2.84 -0.26 2.93 -0.11 3 0.13 3.23 0.39 3.08 0.63 2.93 
+0.87 2.75 1.09 2.58 1.28 2.38 1.5 2.22 1.67 1.99 1.82 1.8 2 1.59 2.14 1.34 
+2.28 1.13 2.39 0.91 2.52 0.63 2.61 0.39 2.69 0.15 2.59 -0.17 2.93 -0.52 3.1 -0.93 
+3.09 -1.43 1.48 -0.93 1.41 -1.06 1.33 -1.24 1.2 -1.39 1.06 -1.56 0.89 -1.76 0.71 -1.95 
+0.5 -2.13 9.87 0 -0.71 3.08 -0.61 1.78 -0.82 1.87 -1 1.91 -1.21 1.95 -1.43 1.95 
+-1.67 1.89 -1.88 1.8 -2.15 1.67 -2.41 1.52 -2.66 1.34 -2.95 1.09 -3.23 0.82 -3.54 0.52 
+-3.85 0.2 -3.99 -0.2 -3.8 -0.54 -3.58 -0.89 -3.37 -1.24 -3.14 -1.52 -2.91 -1.84 -2.64 -2.11 
+-2.43 -2.39 -2.15 -2.64 -1.91 -2.87 -1.62 -3.08 -1.34 -3.27 -1.07 -3.47 -0.76 -3.65 -0.48 -3.8 
+-0.15 -3.93 0.17 -4.88 0.54 -4.54 0.85 -4.17 1.19 -3.84 1.48 -3.47 1.73 -3.14 2.05 -2.82 
+2.25 -2.5 2.5 -2.19 2.73 -1.87 2.91 -1.56 3.08 -1.28 3.28 -0.97 3.41 -0.7 3.54 -0.39 
+3.64 -0.15 2.63 0.13 2.78 0.42 2.89 0.71 2.95 1.09 2.97 1.47 2.97 1.89 2.89 2.37 
+2.8 2.84 2.09 -8.83 6.23 0 0 38.48 f*
+796.05 3544.66 7.29 0 0 -9.89 3.17 4.25 2.87 3.09 2.6 2.08 1.22 0.71 1.13 0.55 
+2.06 0.54 1.79 0.04 1.56 -0.32 1.28 -0.52 0 -7.81 -4.14 -0.44 -1.82 -0.39 -1.67 -0.52 
+-1.52 -0.63 -1.37 -0.74 -1.22 -0.87 -1.06 -0.96 -0.93 -1.08 -0.79 -1.2 -0.67 -1.28 -0.52 -1.41 
+-0.41 -1.5 -0.28 -1.61 -0.22 -3.5 0 -29.12 -8.33 0 0 52.52 f*
+872.48 3508.27 -0.57 -2.45 -0.72 -2.23 -0.87 -2.07 -1 -1.88 -1.12 -1.7 -1.23 -1.54 -1.35 -1.37 
+-1.47 -1.19 -1.54 -1.05 -1.65 -0.89 -1.74 -0.74 -1.8 -0.61 -1.89 -0.43 -1.93 -0.33 -3.99 -0.26 
+-2.75 0.21 -2.58 0.46 -2.43 0.7 -2.26 0.89 -2.08 1.13 -1.93 1.32 -1.73 1.52 -1.58 1.72 
+-1.39 1.89 -1.21 2.06 -1.04 2.23 -0.87 2.41 -0.65 2.54 -0.5 2.69 -0.28 2.84 -0.09 2.95 
+0.18 4.28 0.5 3.84 0.82 3.45 1.07 3.06 1.32 2.71 1.52 2.39 1.67 2.04 1.82 1.75 
+1.91 1.48 1.99 1.21 2.05 0.96 2.04 0.75 1.99 0.54 1.96 0.38 3.6 0.28 -0.52 -7.81 
+-2.28 -0.21 -2.43 -0.7 -2.48 -1.17 -2.38 -1.7 -1.11 -1.04 -1.05 -1.17 -0.95 -1.32 -0.87 -1.46 
+-0.74 -1.61 -0.59 -1.76 -0.45 -1.91 -0.29 -2.06 30.66 0 -0.11 2.14 -0.33 1.98 -0.5 1.8 
+-0.69 1.63 -0.82 1.48 -0.93 1.32 -1.06 1.15 -1.14 1.02 -2.43 1.63 -2.52 1.13 -2.41 0.63 
+-2.12 0.19 0.52 7.81 1.79 -0.06 1.88 -0.21 1.91 -0.37 1.93 -0.56 1.93 -0.79 1.91 -1 
+1.82 -1.25 1.76 -1.55 1.65 -1.84 1.52 -2.14 1.34 -2.5 1.17 -2.86 0.93 -3.26 0.72 -3.64 
+0.45 -4.11 0.15 -4.53 -39 0 0.17 -2.71 0.59 -2.98 1.04 -3.04 0.71 -1.48 0.87 -1.43 
+1 -1.34 1.15 -1.24 1.32 -1.12 1.48 -0.96 1.68 -0.8 1.84 -0.59 2.02 -0.37 2.25 -0.13 
+2.26 0.2 2.11 0.54 1.95 0.93 1.8 1.24 1.61 1.58 1.46 1.87 1.25 2.15 1.07 2.41 
+8.34 0 f*
+928.11 3508.27 -0.57 -2.45 -0.72 -2.23 -0.86 -2.07 -1 -1.88 -1.11 -1.7 -1.26 -1.54 -1.34 -1.37 
+-1.46 -1.19 -1.56 -1.05 -1.65 -0.89 -1.73 -0.74 -1.8 -0.61 -1.86 -0.43 -1.93 -0.33 -4.02 -0.26 
+-2.75 0.21 -2.58 0.46 -2.43 0.7 -2.25 0.89 -2.09 1.13 -1.91 1.32 -1.75 1.52 -1.59 1.72 
+-1.39 1.89 -1.21 2.06 -1.04 2.23 -0.84 2.41 -0.67 2.54 -0.48 2.69 -0.3 2.84 -0.09 2.95 
+0.18 4.28 0.52 3.84 0.8 3.45 1.09 3.06 1.3 2.71 1.52 2.39 1.67 2.04 1.82 1.75 
+1.93 1.48 1.99 1.21 2.02 0.96 2.05 0.75 2.02 0.54 1.95 0.38 3.59 0.28 -0.52 -7.81 
+-2.28 -0.21 -2.43 -0.7 -2.48 -1.17 -2.37 -1.7 -1.13 -1.04 -1.04 -1.17 -0.96 -1.32 -0.84 -1.46 
+-0.74 -1.61 -0.61 -1.76 -0.46 -1.91 -0.28 -2.06 30.68 0 -0.12 2.14 -0.31 1.98 -0.52 1.8 
+-0.67 1.63 -0.82 1.48 -0.95 1.32 -1.07 1.15 -1.12 1.02 -2.43 1.63 -2.52 1.13 -2.41 0.63 
+-2.13 0.19 0.52 7.81 1.8 -0.06 1.87 -0.21 1.91 -0.37 1.93 -0.56 1.93 -0.79 1.91 -1 
+1.84 -1.25 1.76 -1.55 1.63 -1.84 1.52 -2.14 1.34 -2.5 1.18 -2.86 0.95 -3.26 0.7 -3.64 
+0.46 -4.11 0.15 -4.53 -39 0 0.2 -2.71 0.56 -2.98 1.07 -3.04 0.71 -1.48 0.85 -1.43 
+1 -1.34 1.15 -1.24 1.32 -1.12 1.48 -0.96 1.66 -0.8 1.85 -0.59 2.04 -0.37 2.23 -0.13 
+2.25 0.2 2.13 0.54 1.95 0.93 1.78 1.24 1.63 1.58 1.43 1.87 1.26 2.15 1.08 2.41 
+8.32 0 f*
+940.58 3544.66 7.79 0 0 -8.33 2.17 2.67 2.19 2.17 2.21 1.71 2.19 1.32 2.19 0.93 
+2.13 0.63 2.09 0.35 2 0.11 2.95 -0.24 2.93 -0.72 2.8 -1.11 2.56 -1.52 2.2 -1.89 
+0.91 -1.06 0.79 -1.15 0.63 -1.24 0.48 -1.28 0.3 -1.37 0.09 -1.43 0 -41.08 -8.31 0 
+0 37.43 -0.07 1.13 -0.22 1.04 -0.76 1.84 -1.16 1.52 -1.5 1.22 -1.7 0.93 -1.82 0.65 
+-1.87 0.38 -1.82 0.13 -1.28 -0.07 -1.26 -0.21 -2.5 -0.84 -2.39 -1.37 -2.13 -1.85 -0.95 -1.11 
+-0.87 -1.21 -0.78 -1.34 -0.66 -1.41 -0.52 -1.55 -0.39 -1.62 -0.24 -1.71 -0.08 -1.8 0 -30.17 
+-8.31 0 0 52.52 f*
+996.199 3492.14 8.3125 72.7891 re
+f*
+1018.04 3529.05 0.28 3.13 0.34 1.54 0.5 1.52 0.67 1.47 0.81 1.43 1 1.35 1.15 1.26 
+1.32 1.18 1.52 1.04 1.69 0.93 1.91 0.81 2.08 0.63 2.3 0.48 2.49 0.3 2.73 0.11 
+2.93 -0.15 3.21 -0.43 3.3 -0.81 3.15 -1.21 1.47 -0.8 1.35 -0.91 1.21 -1.06 1.07 -1.21 
+0.86 -1.34 0.63 -1.52 0.42 -1.7 0.15 -1.84 0 -33.29 0.17 -0.91 0.5 -0.8 0.76 -0.67 
+0.91 -0.52 1 -0.35 1.04 -0.17 0.98 0.05 0.86 0.28 0 -6.25 -2.02 -0.45 -3.17 -0.07 
+-2.25 0.07 -1.78 0.19 -1.35 0.37 -1.07 0.61 -0.82 0.87 -0.7 1.19 -1.39 3.47 -4.45 -3.25 
+-1.91 -1.17 -1.84 -0.91 -1.89 -0.65 -2.06 -0.45 -2.32 -0.24 -2.69 -0.09 -2.32 0.09 -2.12 0.24 
+-1.91 0.39 -1.71 0.54 -1.54 0.65 -1.37 0.78 -1.17 0.89 -1.04 0.98 -0.87 1.07 -0.74 1.13 
+-0.59 1.21 -0.48 1.25 -0.58 2.63 -0.2 2.71 7.81 0 0.19 -1.52 0.57 -1.46 0.91 -1.32 
+1.25 -1.15 1.57 -0.98 1.87 -0.74 2.14 -0.48 2.41 -0.15 3.47 0.43 3.04 0.89 2.61 1.26 
+2.12 1.49 1.67 1.7 1.2 1.75 0.72 1.74 0.26 1.65 0 10.39 -3.93 -1.46 -3.23 -0.76 
+-9.48 -1.43 -2.8 -0.85 -2.17 -0.98 -1.65 -1.11 -1.17 -1.21 -0.8 -1.32 -0.48 -1.39 -0.21 -1.48 
+-0.07 -1.54 -7.81 0 0.21 3.88 0.65 3.17 0.5 1.35 0.58 1.17 0.7 1.06 0.8 0.93 
+0.91 0.82 1 0.74 2.32 1.2 2.73 0.98 3.1 0.82 13.52 2.06 3.25 0.89 1.17 0.48 
+0.91 0.52 0.65 0.57 0.46 0.56 0.24 0.57 0.09 0.58 0 4.69 -0.16 0.89 -0.47 1.04 
+-0.8 1.11 -1.17 1.11 -1.56 1.02 -1.98 0.82 -2.43 0.57 -2.87 0.19 -3.08 -0.24 -2.61 -0.63 
+-2.15 -1 -1.73 -1.25 -1.3 -1.43 -0.91 -1.58 -0.52 -1.61 -0.17 -1.61 -8.33 0 f*
+1074.2 3544.66 7.79 0 0 -8.33 2.17 2.67 2.2 2.17 2.21 1.71 2.19 1.32 2.18 0.93 
+2.14 0.63 2.06 0.35 2 0.11 2.95 -0.24 2.95 -0.72 2.8 -1.11 2.54 -1.52 2.2 -1.89 
+0.93 -1.06 0.78 -1.15 0.63 -1.24 0.48 -1.28 0.28 -1.37 0.11 -1.43 0 -41.08 -8.31 0 
+0 37.43 -0.09 1.13 -0.2 1.04 -0.79 1.84 -1.17 1.52 -1.47 1.22 -1.69 0.93 -1.85 0.65 
+-1.86 0.38 -1.8 0.13 -1.29 -0.07 -1.28 -0.21 -2.49 -0.84 -2.37 -1.37 -2.15 -1.85 -0.95 -1.11 
+-0.87 -1.21 -0.76 -1.34 -0.65 -1.41 -0.52 -1.55 -0.39 -1.62 -0.24 -1.71 -0.08 -1.8 0 -30.17 
+-8.32 0 0 52.52 f*
+1163.61 3564.93 8.31 0 0 -72.79 -7.27 0 0 6.77 -1.41 -1.91 -1.5 -1.75 -1.65 -1.59 
+-1.88 -1.39 -2.13 -1.13 -2.48 -0.87 -2.84 -0.54 -3.28 -0.2 -3.17 0.21 -2.87 0.57 -2.58 0.93 
+-2.32 1.22 -2.08 1.52 -1.82 1.73 -1.59 1.93 -1.37 2.08 -1.17 2.23 -0.98 2.32 -0.79 2.37 
+-0.61 2.41 -0.48 2.37 -0.3 2.34 -0.24 4.37 8.83 0 0.09 -2.04 0.21 -2 0.34 -1.93 
+0.48 -1.88 0.61 -1.8 0.72 -1.71 0.82 -1.63 0.96 -1.5 1.04 -1.37 1.16 -1.23 1.25 -1.07 
+1.32 -0.91 1.41 -0.74 1.48 -0.54 1.56 -0.33 1.63 -0.11 1.46 0.09 1.41 0.26 1.37 0.46 
+1.34 0.61 1.26 0.78 1.19 0.96 1.14 1.11 1.04 1.26 0.95 1.41 0.84 1.58 0.76 1.69 
+0.63 1.87 0.5 1.98 0.37 2.13 0.22 2.23 0.08 2.39 -0.17 2.36 -0.3 2.24 -0.43 2.11 
+-0.56 1.95 -0.68 1.8 -0.76 1.67 -0.89 1.52 -0.96 1.37 -1.02 1.22 -1.12 1.04 -1.17 0.91 
+-1.22 0.74 -1.25 0.58 -1.33 0.43 -1.32 0.24 -1.37 0.09 -1.28 -0.09 -1.3 -0.28 -1.32 -0.48 
+-1.3 -0.63 -1.29 -0.82 -1.25 -0.95 -1.2 -1.13 -1.13 -1.26 -1.07 -1.41 -0.95 -1.54 -0.85 -1.67 
+-0.74 -1.8 -0.58 -1.89 -0.46 -2.02 -0.26 -2.11 -0.11 -2.19 -8.83 0 0.18 3.73 0.46 3.45 
+0.74 3.12 0.97 2.84 1.2 2.59 1.37 2.28 1.54 2.04 1.67 1.78 1.78 1.54 1.87 1.3 
+1.88 1.06 1.93 0.87 1.91 0.65 1.87 0.46 1.8 0.29 1.71 0.08 1.69 -0.11 1.91 -0.33 
+2.06 -0.56 2.15 -0.83 2.13 -1.12 2.06 -1.46 1.91 -1.78 1.69 -2.15 0 27.04 f*
+601.11 3529.05 0.26 3.13 0.37 1.54 0.5 1.52 0.66 1.47 0.82 1.43 0.98 1.35 1.15 1.26 
+1.34 1.18 1.52 1.04 1.7 0.93 1.89 0.81 2.11 0.63 2.28 0.48 2.52 0.3 2.71 0.11 
+2.93 -0.15 3.23 -0.43 3.28 -0.81 3.16 -1.21 1.46 -0.8 1.37 -0.91 1.21 -1.06 1.04 -1.21 
+0.87 -1.34 0.65 -1.52 0.41 -1.7 0.13 -1.84 0 -33.29 0.2 -0.91 0.5 -0.8 0.74 -0.67 
+0.91 -0.52 1.02 -0.35 1.02 -0.17 1 0.05 0.87 0.28 0 -6.25 -2.02 -0.45 -3.19 -0.07 
+-2.26 0.07 -1.76 0.19 -1.37 0.37 -1.04 0.61 -0.82 0.87 -0.71 1.19 -1.39 3.47 -4.43 -3.25 
+-1.91 -1.17 -1.85 -0.91 -1.9 -0.65 -2.05 -0.45 -2.32 -0.24 -2.69 -0.09 -2.34 0.09 -2.11 0.24 
+-1.93 0.39 -1.72 0.54 -1.54 0.65 -1.34 0.78 -1.2 0.89 -1.02 0.98 -0.89 1.07 -0.71 1.13 
+-0.61 1.21 -0.46 1.25 -0.61 2.63 -0.17 2.71 7.79 0 0.2 -1.52 0.57 -1.46 0.91 -1.32 
+1.26 -1.15 1.56 -0.98 1.87 -0.74 2.15 -0.48 2.41 -0.15 3.5 0.43 3.04 0.89 2.58 1.26 
+2.13 1.49 1.66 1.7 1.22 1.75 0.71 1.74 0.24 1.65 0 10.39 -3.9 -1.46 -3.23 -0.76 
+-9.51 -1.43 -2.78 -0.85 -2.2 -0.98 -1.62 -1.11 -1.19 -1.21 -0.78 -1.32 -0.48 -1.39 -0.24 -1.48 
+-0.07 -1.54 -7.79 0 0.22 3.88 0.65 3.17 0.48 1.35 0.61 1.17 0.7 1.06 0.8 0.93 
+0.89 0.82 1.02 0.74 2.32 1.2 2.71 0.98 3.13 0.82 13.52 2.06 3.23 0.89 1.17 0.48 
+0.91 0.52 0.67 0.57 0.43 0.56 0.26 0.57 0.07 0.58 0 4.69 -0.15 0.89 -0.46 1.04 
+-0.83 1.11 -1.17 1.11 -1.56 1.02 -1.97 0.82 -2.41 0.57 -2.89 0.19 -3.08 -0.24 -2.61 -0.63 
+-2.15 -1 -1.71 -1.25 -1.31 -1.43 -0.91 -1.58 -0.54 -1.61 -0.18 -1.61 -8.31 0 f*
+654.12 3564.93 5.21 0 3.99 -6.1 3.43 -6.2 2.86 -6.21 2.32 -6.18 1.79 -6.08 1.25 -5.92 
+0.74 -5.71 0.24 -5.43 -0.26 -5.45 -0.8 -5.73 -1.3 -5.92 -1.84 -6.04 -2.37 -6.03 -2.84 -5.92 
+-3.37 -5.73 -1.87 -2.78 -1.97 -2.67 -5.21 0 3.13 5.47 2.71 5.49 2.32 5.56 1.91 5.64 
+1.49 5.77 1.09 5.93 0.65 6.1 0.21 6.32 -0.2 6.14 -0.61 6.01 -1 5.9 -1.45 5.86 
+-1.87 5.86 -2.32 5.9 -2.8 6.01 -3.28 6.14 f*
+782.01 3530.62 -30.67 0 0 -8.31 21.84 0 0 -4.69 -0.11 -1.76 -0.3 -1.78 -0.5 -1.75 
+-0.67 -1.74 -0.87 -1.69 -1.06 -1.61 -1.21 -1.54 -1.37 -1.46 -1.54 -1.32 -1.7 -1.2 -1.84 -1.04 
+-1.97 -0.89 -2.13 -0.68 -2.23 -0.5 -2.37 -0.26 -2.48 -0.02 -3.29 0.15 -3.04 0.48 -2.82 0.76 
+-2.59 1.04 -2.34 1.3 -2.13 1.54 -1.9 1.78 -1.7 1.98 -1.48 2.15 -1.28 2.34 -1.06 2.49 
+-0.85 2.63 -0.67 2.74 -0.48 2.84 -0.26 2.93 -0.11 3 0.13 3.23 0.39 3.08 0.63 2.93 
+0.87 2.75 1.09 2.58 1.28 2.38 1.5 2.22 1.67 1.99 1.82 1.8 2 1.59 2.14 1.34 
+2.28 1.13 2.39 0.91 2.52 0.63 2.61 0.39 2.69 0.15 2.59 -0.17 2.93 -0.52 3.1 -0.93 
+3.09 -1.43 1.48 -0.93 1.41 -1.06 1.33 -1.24 1.2 -1.39 1.06 -1.56 0.89 -1.76 0.71 -1.95 
+0.5 -2.13 9.87 0 -0.71 3.08 -0.61 1.78 -0.82 1.87 -1 1.91 -1.21 1.95 -1.43 1.95 
+-1.67 1.89 -1.88 1.8 -2.15 1.67 -2.41 1.52 -2.66 1.34 -2.95 1.09 -3.23 0.82 -3.54 0.52 
+-3.85 0.2 -3.99 -0.2 -3.8 -0.54 -3.58 -0.89 -3.37 -1.24 -3.14 -1.52 -2.91 -1.84 -2.64 -2.11 
+-2.43 -2.39 -2.15 -2.64 -1.91 -2.87 -1.62 -3.08 -1.34 -3.27 -1.07 -3.47 -0.76 -3.65 -0.48 -3.8 
+-0.15 -3.93 0.17 -4.88 0.54 -4.54 0.85 -4.17 1.19 -3.84 1.48 -3.47 1.73 -3.14 2.05 -2.82 
+2.25 -2.5 2.5 -2.19 2.73 -1.87 2.91 -1.56 3.08 -1.28 3.28 -0.97 3.41 -0.7 3.54 -0.39 
+3.64 -0.15 2.63 0.13 2.78 0.42 2.89 0.71 2.95 1.09 2.97 1.47 2.97 1.89 2.89 2.37 
+2.8 2.84 2.09 -8.83 6.23 0 0 38.48 f*
+796.05 3544.66 7.29 0 0 -9.89 3.17 4.25 2.87 3.09 2.6 2.08 1.22 0.71 1.13 0.55 
+2.06 0.54 1.79 0.04 1.56 -0.32 1.28 -0.52 0 -7.81 -4.14 -0.44 -1.82 -0.39 -1.67 -0.52 
+-1.52 -0.63 -1.37 -0.74 -1.22 -0.87 -1.06 -0.96 -0.93 -1.08 -0.79 -1.2 -0.67 -1.28 -0.52 -1.41 
+-0.41 -1.5 -0.28 -1.61 -0.22 -3.5 0 -29.12 -8.33 0 0 52.52 f*
+872.48 3508.27 -0.57 -2.45 -0.72 -2.23 -0.87 -2.07 -1 -1.88 -1.12 -1.7 -1.23 -1.54 -1.35 -1.37 
+-1.47 -1.19 -1.54 -1.05 -1.65 -0.89 -1.74 -0.74 -1.8 -0.61 -1.89 -0.43 -1.93 -0.33 -3.99 -0.26 
+-2.75 0.21 -2.58 0.46 -2.43 0.7 -2.26 0.89 -2.08 1.13 -1.93 1.32 -1.73 1.52 -1.58 1.72 
+-1.39 1.89 -1.21 2.06 -1.04 2.23 -0.87 2.41 -0.65 2.54 -0.5 2.69 -0.28 2.84 -0.09 2.95 
+0.18 4.28 0.5 3.84 0.82 3.45 1.07 3.06 1.32 2.71 1.52 2.39 1.67 2.04 1.82 1.75 
+1.91 1.48 1.99 1.21 2.05 0.96 2.04 0.75 1.99 0.54 1.96 0.38 3.6 0.28 -0.52 -7.81 
+-2.28 -0.21 -2.43 -0.7 -2.48 -1.17 -2.38 -1.7 -1.11 -1.04 -1.05 -1.17 -0.95 -1.32 -0.87 -1.46 
+-0.74 -1.61 -0.59 -1.76 -0.45 -1.91 -0.29 -2.06 30.66 0 -0.11 2.14 -0.33 1.98 -0.5 1.8 
+-0.69 1.63 -0.82 1.48 -0.93 1.32 -1.06 1.15 -1.14 1.02 -2.43 1.63 -2.52 1.13 -2.41 0.63 
+-2.12 0.19 0.52 7.81 1.79 -0.06 1.88 -0.21 1.91 -0.37 1.93 -0.56 1.93 -0.79 1.91 -1 
+1.82 -1.25 1.76 -1.55 1.65 -1.84 1.52 -2.14 1.34 -2.5 1.17 -2.86 0.93 -3.26 0.72 -3.64 
+0.45 -4.11 0.15 -4.53 -39 0 0.17 -2.71 0.59 -2.98 1.04 -3.04 0.71 -1.48 0.87 -1.43 
+1 -1.34 1.15 -1.24 1.32 -1.12 1.48 -0.96 1.68 -0.8 1.84 -0.59 2.02 -0.37 2.25 -0.13 
+2.26 0.2 2.11 0.54 1.95 0.93 1.8 1.24 1.61 1.58 1.46 1.87 1.25 2.15 1.07 2.41 
+8.34 0 f*
+928.11 3508.27 -0.57 -2.45 -0.72 -2.23 -0.86 -2.07 -1 -1.88 -1.11 -1.7 -1.26 -1.54 -1.34 -1.37 
+-1.46 -1.19 -1.56 -1.05 -1.65 -0.89 -1.73 -0.74 -1.8 -0.61 -1.86 -0.43 -1.93 -0.33 -4.02 -0.26 
+-2.75 0.21 -2.58 0.46 -2.43 0.7 -2.25 0.89 -2.09 1.13 -1.91 1.32 -1.75 1.52 -1.59 1.72 
+-1.39 1.89 -1.21 2.06 -1.04 2.23 -0.84 2.41 -0.67 2.54 -0.48 2.69 -0.3 2.84 -0.09 2.95 
+0.18 4.28 0.52 3.84 0.8 3.45 1.09 3.06 1.3 2.71 1.52 2.39 1.67 2.04 1.82 1.75 
+1.93 1.48 1.99 1.21 2.02 0.96 2.05 0.75 2.02 0.54 1.95 0.38 3.59 0.28 -0.52 -7.81 
+-2.28 -0.21 -2.43 -0.7 -2.48 -1.17 -2.37 -1.7 -1.13 -1.04 -1.04 -1.17 -0.96 -1.32 -0.84 -1.46 
+-0.74 -1.61 -0.61 -1.76 -0.46 -1.91 -0.28 -2.06 30.68 0 -0.12 2.14 -0.31 1.98 -0.52 1.8 
+-0.67 1.63 -0.82 1.48 -0.95 1.32 -1.07 1.15 -1.12 1.02 -2.43 1.63 -2.52 1.13 -2.41 0.63 
+-2.13 0.19 0.52 7.81 1.8 -0.06 1.87 -0.21 1.91 -0.37 1.93 -0.56 1.93 -0.79 1.91 -1 
+1.84 -1.25 1.76 -1.55 1.63 -1.84 1.52 -2.14 1.34 -2.5 1.18 -2.86 0.95 -3.26 0.7 -3.64 
+0.46 -4.11 0.15 -4.53 -39 0 0.2 -2.71 0.56 -2.98 1.07 -3.04 0.71 -1.48 0.85 -1.43 
+1 -1.34 1.15 -1.24 1.32 -1.12 1.48 -0.96 1.66 -0.8 1.85 -0.59 2.04 -0.37 2.23 -0.13 
+2.25 0.2 2.13 0.54 1.95 0.93 1.78 1.24 1.63 1.58 1.43 1.87 1.26 2.15 1.08 2.41 
+8.32 0 f*
+940.58 3544.66 7.79 0 0 -8.33 2.17 2.67 2.19 2.17 2.21 1.71 2.19 1.32 2.19 0.93 
+2.13 0.63 2.09 0.35 2 0.11 2.95 -0.24 2.93 -0.72 2.8 -1.11 2.56 -1.52 2.2 -1.89 
+0.91 -1.06 0.79 -1.15 0.63 -1.24 0.48 -1.28 0.3 -1.37 0.09 -1.43 0 -41.08 -8.31 0 
+0 37.43 -0.07 1.13 -0.22 1.04 -0.76 1.84 -1.16 1.52 -1.5 1.22 -1.7 0.93 -1.82 0.65 
+-1.87 0.38 -1.82 0.13 -1.28 -0.07 -1.26 -0.21 -2.5 -0.84 -2.39 -1.37 -2.13 -1.85 -0.95 -1.11 
+-0.87 -1.21 -0.78 -1.34 -0.66 -1.41 -0.52 -1.55 -0.39 -1.62 -0.24 -1.71 -0.08 -1.8 0 -30.17 
+-8.31 0 0 52.52 f*
+996.199 3492.14 8.3125 72.7891 re
+f*
+1018.04 3529.05 0.28 3.13 0.34 1.54 0.5 1.52 0.67 1.47 0.81 1.43 1 1.35 1.15 1.26 
+1.32 1.18 1.52 1.04 1.69 0.93 1.91 0.81 2.08 0.63 2.3 0.48 2.49 0.3 2.73 0.11 
+2.93 -0.15 3.21 -0.43 3.3 -0.81 3.15 -1.21 1.47 -0.8 1.35 -0.91 1.21 -1.06 1.07 -1.21 
+0.86 -1.34 0.63 -1.52 0.42 -1.7 0.15 -1.84 0 -33.29 0.17 -0.91 0.5 -0.8 0.76 -0.67 
+0.91 -0.52 1 -0.35 1.04 -0.17 0.98 0.05 0.86 0.28 0 -6.25 -2.02 -0.45 -3.17 -0.07 
+-2.25 0.07 -1.78 0.19 -1.35 0.37 -1.07 0.61 -0.82 0.87 -0.7 1.19 -1.39 3.47 -4.45 -3.25 
+-1.91 -1.17 -1.84 -0.91 -1.89 -0.65 -2.06 -0.45 -2.32 -0.24 -2.69 -0.09 -2.32 0.09 -2.12 0.24 
+-1.91 0.39 -1.71 0.54 -1.54 0.65 -1.37 0.78 -1.17 0.89 -1.04 0.98 -0.87 1.07 -0.74 1.13 
+-0.59 1.21 -0.48 1.25 -0.58 2.63 -0.2 2.71 7.81 0 0.19 -1.52 0.57 -1.46 0.91 -1.32 
+1.25 -1.15 1.57 -0.98 1.87 -0.74 2.14 -0.48 2.41 -0.15 3.47 0.43 3.04 0.89 2.61 1.26 
+2.12 1.49 1.67 1.7 1.2 1.75 0.72 1.74 0.26 1.65 0 10.39 -3.93 -1.46 -3.23 -0.76 
+-9.48 -1.43 -2.8 -0.85 -2.17 -0.98 -1.65 -1.11 -1.17 -1.21 -0.8 -1.32 -0.48 -1.39 -0.21 -1.48 
+-0.07 -1.54 -7.81 0 0.21 3.88 0.65 3.17 0.5 1.35 0.58 1.17 0.7 1.06 0.8 0.93 
+0.91 0.82 1 0.74 2.32 1.2 2.73 0.98 3.1 0.82 13.52 2.06 3.25 0.89 1.17 0.48 
+0.91 0.52 0.65 0.57 0.46 0.56 0.24 0.57 0.09 0.58 0 4.69 -0.16 0.89 -0.47 1.04 
+-0.8 1.11 -1.17 1.11 -1.56 1.02 -1.98 0.82 -2.43 0.57 -2.87 0.19 -3.08 -0.24 -2.61 -0.63 
+-2.15 -1 -1.73 -1.25 -1.3 -1.43 -0.91 -1.58 -0.52 -1.61 -0.17 -1.61 -8.33 0 f*
+1074.2 3544.66 7.79 0 0 -8.33 2.17 2.67 2.2 2.17 2.21 1.71 2.19 1.32 2.18 0.93 
+2.14 0.63 2.06 0.35 2 0.11 2.95 -0.24 2.95 -0.72 2.8 -1.11 2.54 -1.52 2.2 -1.89 
+0.93 -1.06 0.78 -1.15 0.63 -1.24 0.48 -1.28 0.28 -1.37 0.11 -1.43 0 -41.08 -8.31 0 
+0 37.43 -0.09 1.13 -0.2 1.04 -0.79 1.84 -1.17 1.52 -1.47 1.22 -1.69 0.93 -1.85 0.65 
+-1.86 0.38 -1.8 0.13 -1.29 -0.07 -1.28 -0.21 -2.49 -0.84 -2.37 -1.37 -2.15 -1.85 -0.95 -1.11 
+-0.87 -1.21 -0.76 -1.34 -0.65 -1.41 -0.52 -1.55 -0.39 -1.62 -0.24 -1.71 -0.08 -1.8 0 -30.17 
+-8.32 0 0 52.52 f*
+1163.61 3564.93 8.31 0 0 -72.79 -7.27 0 0 6.77 -1.41 -1.91 -1.5 -1.75 -1.65 -1.59 
+-1.88 -1.39 -2.13 -1.13 -2.48 -0.87 -2.84 -0.54 -3.28 -0.2 -3.17 0.21 -2.87 0.57 -2.58 0.93 
+-2.32 1.22 -2.08 1.52 -1.82 1.73 -1.59 1.93 -1.37 2.08 -1.17 2.23 -0.98 2.32 -0.79 2.37 
+-0.61 2.41 -0.48 2.37 -0.3 2.34 -0.24 4.37 8.83 0 0.09 -2.04 0.21 -2 0.34 -1.93 
+0.48 -1.88 0.61 -1.8 0.72 -1.71 0.82 -1.63 0.96 -1.5 1.04 -1.37 1.16 -1.23 1.25 -1.07 
+1.32 -0.91 1.41 -0.74 1.48 -0.54 1.56 -0.33 1.63 -0.11 1.46 0.09 1.41 0.26 1.37 0.46 
+1.34 0.61 1.26 0.78 1.19 0.96 1.14 1.11 1.04 1.26 0.95 1.41 0.84 1.58 0.76 1.69 
+0.63 1.87 0.5 1.98 0.37 2.13 0.22 2.23 0.08 2.39 -0.17 2.36 -0.3 2.24 -0.43 2.11 
+-0.56 1.95 -0.68 1.8 -0.76 1.67 -0.89 1.52 -0.96 1.37 -1.02 1.22 -1.12 1.04 -1.17 0.91 
+-1.22 0.74 -1.25 0.58 -1.33 0.43 -1.32 0.24 -1.37 0.09 -1.28 -0.09 -1.3 -0.28 -1.32 -0.48 
+-1.3 -0.63 -1.29 -0.82 -1.25 -0.95 -1.2 -1.13 -1.13 -1.26 -1.07 -1.41 -0.95 -1.54 -0.85 -1.67 
+-0.74 -1.8 -0.58 -1.89 -0.46 -2.02 -0.26 -2.11 -0.11 -2.19 -8.83 0 0.18 3.73 0.46 3.45 
+0.74 3.12 0.97 2.84 1.2 2.59 1.37 2.28 1.54 2.04 1.67 1.78 1.78 1.54 1.87 1.3 
+1.88 1.06 1.93 0.87 1.91 0.65 1.87 0.46 1.8 0.29 1.71 0.08 1.69 -0.11 1.91 -0.33 
+2.06 -0.56 2.15 -0.83 2.13 -1.12 2.06 -1.46 1.91 -1.78 1.69 -2.15 0 27.04 f*
+601.11 3529.05 0.26 3.13 0.37 1.54 0.5 1.52 0.66 1.47 0.82 1.43 0.98 1.35 1.15 1.26 
+1.34 1.18 1.52 1.04 1.7 0.93 1.89 0.81 2.11 0.63 2.28 0.48 2.52 0.3 2.71 0.11 
+2.93 -0.15 3.23 -0.43 3.28 -0.81 3.16 -1.21 1.46 -0.8 1.37 -0.91 1.21 -1.06 1.04 -1.21 
+0.87 -1.34 0.65 -1.52 0.41 -1.7 0.13 -1.84 0 -33.29 0.2 -0.91 0.5 -0.8 0.74 -0.67 
+0.91 -0.52 1.02 -0.35 1.02 -0.17 1 0.05 0.87 0.28 0 -6.25 -2.02 -0.45 -3.19 -0.07 
+-2.26 0.07 -1.76 0.19 -1.37 0.37 -1.04 0.61 -0.82 0.87 -0.71 1.19 -1.39 3.47 -4.43 -3.25 
+-1.91 -1.17 -1.85 -0.91 -1.9 -0.65 -2.05 -0.45 -2.32 -0.24 -2.69 -0.09 -2.34 0.09 -2.11 0.24 
+-1.93 0.39 -1.72 0.54 -1.54 0.65 -1.34 0.78 -1.2 0.89 -1.02 0.98 -0.89 1.07 -0.71 1.13 
+-0.61 1.21 -0.46 1.25 -0.61 2.63 -0.17 2.71 7.79 0 0.2 -1.52 0.57 -1.46 0.91 -1.32 
+1.26 -1.15 1.56 -0.98 1.87 -0.74 2.15 -0.48 2.41 -0.15 3.5 0.43 3.04 0.89 2.58 1.26 
+2.13 1.49 1.66 1.7 1.22 1.75 0.71 1.74 0.24 1.65 0 10.39 -3.9 -1.46 -3.23 -0.76 
+-9.51 -1.43 -2.78 -0.85 -2.2 -0.98 -1.62 -1.11 -1.19 -1.21 -0.78 -1.32 -0.48 -1.39 -0.24 -1.48 
+-0.07 -1.54 -7.79 0 0.22 3.88 0.65 3.17 0.48 1.35 0.61 1.17 0.7 1.06 0.8 0.93 
+0.89 0.82 1.02 0.74 2.32 1.2 2.71 0.98 3.13 0.82 13.52 2.06 3.23 0.89 1.17 0.48 
+0.91 0.52 0.67 0.57 0.43 0.56 0.26 0.57 0.07 0.58 0 4.69 -0.15 0.89 -0.46 1.04 
+-0.83 1.11 -1.17 1.11 -1.56 1.02 -1.97 0.82 -2.41 0.57 -2.89 0.19 -3.08 -0.24 -2.61 -0.63 
+-2.15 -1 -1.71 -1.25 -1.31 -1.43 -0.91 -1.58 -0.54 -1.61 -0.18 -1.61 -8.31 0 f*
+654.12 3564.93 5.21 0 3.99 -6.1 3.43 -6.2 2.86 -6.21 2.32 -6.18 1.79 -6.08 1.25 -5.92 
+0.74 -5.71 0.24 -5.43 -0.26 -5.45 -0.8 -5.73 -1.3 -5.92 -1.84 -6.04 -2.37 -6.03 -2.84 -5.92 
+-3.37 -5.73 -1.87 -2.78 -1.97 -2.67 -5.21 0 3.13 5.47 2.71 5.49 2.32 5.56 1.91 5.64 
+1.49 5.77 1.09 5.93 0.65 6.1 0.21 6.32 -0.2 6.14 -0.61 6.01 -1 5.9 -1.45 5.86 
+-1.87 5.86 -2.32 5.9 -2.8 6.01 -3.28 6.14 f*
+782.01 3530.62 -30.67 0 0 -8.31 21.84 0 0 -4.69 -0.11 -1.76 -0.3 -1.78 -0.5 -1.75 
+-0.67 -1.74 -0.87 -1.69 -1.06 -1.61 -1.21 -1.54 -1.37 -1.46 -1.54 -1.32 -1.7 -1.2 -1.84 -1.04 
+-1.97 -0.89 -2.13 -0.68 -2.23 -0.5 -2.37 -0.26 -2.48 -0.02 -3.29 0.15 -3.04 0.48 -2.82 0.76 
+-2.59 1.04 -2.34 1.3 -2.13 1.54 -1.9 1.78 -1.7 1.98 -1.48 2.15 -1.28 2.34 -1.06 2.49 
+-0.85 2.63 -0.67 2.74 -0.48 2.84 -0.26 2.93 -0.11 3 0.13 3.23 0.39 3.08 0.63 2.93 
+0.87 2.75 1.09 2.58 1.28 2.38 1.5 2.22 1.67 1.99 1.82 1.8 2 1.59 2.14 1.34 
+2.28 1.13 2.39 0.91 2.52 0.63 2.61 0.39 2.69 0.15 2.59 -0.17 2.93 -0.52 3.1 -0.93 
+3.09 -1.43 1.48 -0.93 1.41 -1.06 1.33 -1.24 1.2 -1.39 1.06 -1.56 0.89 -1.76 0.71 -1.95 
+0.5 -2.13 9.87 0 -0.71 3.08 -0.61 1.78 -0.82 1.87 -1 1.91 -1.21 1.95 -1.43 1.95 
+-1.67 1.89 -1.88 1.8 -2.15 1.67 -2.41 1.52 -2.66 1.34 -2.95 1.09 -3.23 0.82 -3.54 0.52 
+-3.85 0.2 -3.99 -0.2 -3.8 -0.54 -3.58 -0.89 -3.37 -1.24 -3.14 -1.52 -2.91 -1.84 -2.64 -2.11 
+-2.43 -2.39 -2.15 -2.64 -1.91 -2.87 -1.62 -3.08 -1.34 -3.27 -1.07 -3.47 -0.76 -3.65 -0.48 -3.8 
+-0.15 -3.93 0.17 -4.88 0.54 -4.54 0.85 -4.17 1.19 -3.84 1.48 -3.47 1.73 -3.14 2.05 -2.82 
+2.25 -2.5 2.5 -2.19 2.73 -1.87 2.91 -1.56 3.08 -1.28 3.28 -0.97 3.41 -0.7 3.54 -0.39 
+3.64 -0.15 2.63 0.13 2.78 0.42 2.89 0.71 2.95 1.09 2.97 1.47 2.97 1.89 2.89 2.37 
+2.8 2.84 2.09 -8.83 6.23 0 0 38.48 f*
+796.05 3544.66 7.29 0 0 -9.89 3.17 4.25 2.87 3.09 2.6 2.08 1.22 0.71 1.13 0.55 
+2.06 0.54 1.79 0.04 1.56 -0.32 1.28 -0.52 0 -7.81 -4.14 -0.44 -1.82 -0.39 -1.67 -0.52 
+-1.52 -0.63 -1.37 -0.74 -1.22 -0.87 -1.06 -0.96 -0.93 -1.08 -0.79 -1.2 -0.67 -1.28 -0.52 -1.41 
+-0.41 -1.5 -0.28 -1.61 -0.22 -3.5 0 -29.12 -8.33 0 0 52.52 f*
+872.48 3508.27 -0.57 -2.45 -0.72 -2.23 -0.87 -2.07 -1 -1.88 -1.12 -1.7 -1.23 -1.54 -1.35 -1.37 
+-1.47 -1.19 -1.54 -1.05 -1.65 -0.89 -1.74 -0.74 -1.8 -0.61 -1.89 -0.43 -1.93 -0.33 -3.99 -0.26 
+-2.75 0.21 -2.58 0.46 -2.43 0.7 -2.26 0.89 -2.08 1.13 -1.93 1.32 -1.73 1.52 -1.58 1.72 
+-1.39 1.89 -1.21 2.06 -1.04 2.23 -0.87 2.41 -0.65 2.54 -0.5 2.69 -0.28 2.84 -0.09 2.95 
+0.18 4.28 0.5 3.84 0.82 3.45 1.07 3.06 1.32 2.71 1.52 2.39 1.67 2.04 1.82 1.75 
+1.91 1.48 1.99 1.21 2.05 0.96 2.04 0.75 1.99 0.54 1.96 0.38 3.6 0.28 -0.52 -7.81 
+-2.28 -0.21 -2.43 -0.7 -2.48 -1.17 -2.38 -1.7 -1.11 -1.04 -1.05 -1.17 -0.95 -1.32 -0.87 -1.46 
+-0.74 -1.61 -0.59 -1.76 -0.45 -1.91 -0.29 -2.06 30.66 0 -0.11 2.14 -0.33 1.98 -0.5 1.8 
+-0.69 1.63 -0.82 1.48 -0.93 1.32 -1.06 1.15 -1.14 1.02 -2.43 1.63 -2.52 1.13 -2.41 0.63 
+-2.12 0.19 0.52 7.81 1.79 -0.06 1.88 -0.21 1.91 -0.37 1.93 -0.56 1.93 -0.79 1.91 -1 
+1.82 -1.25 1.76 -1.55 1.65 -1.84 1.52 -2.14 1.34 -2.5 1.17 -2.86 0.93 -3.26 0.72 -3.64 
+0.45 -4.11 0.15 -4.53 -39 0 0.17 -2.71 0.59 -2.98 1.04 -3.04 0.71 -1.48 0.87 -1.43 
+1 -1.34 1.15 -1.24 1.32 -1.12 1.48 -0.96 1.68 -0.8 1.84 -0.59 2.02 -0.37 2.25 -0.13 
+2.26 0.2 2.11 0.54 1.95 0.93 1.8 1.24 1.61 1.58 1.46 1.87 1.25 2.15 1.07 2.41 
+8.34 0 f*
+928.11 3508.27 -0.57 -2.45 -0.72 -2.23 -0.86 -2.07 -1 -1.88 -1.11 -1.7 -1.26 -1.54 -1.34 -1.37 
+-1.46 -1.19 -1.56 -1.05 -1.65 -0.89 -1.73 -0.74 -1.8 -0.61 -1.86 -0.43 -1.93 -0.33 -4.02 -0.26 
+-2.75 0.21 -2.58 0.46 -2.43 0.7 -2.25 0.89 -2.09 1.13 -1.91 1.32 -1.75 1.52 -1.59 1.72 
+-1.39 1.89 -1.21 2.06 -1.04 2.23 -0.84 2.41 -0.67 2.54 -0.48 2.69 -0.3 2.84 -0.09 2.95 
+0.18 4.28 0.52 3.84 0.8 3.45 1.09 3.06 1.3 2.71 1.52 2.39 1.67 2.04 1.82 1.75 
+1.93 1.48 1.99 1.21 2.02 0.96 2.05 0.75 2.02 0.54 1.95 0.38 3.59 0.28 -0.52 -7.81 
+-2.28 -0.21 -2.43 -0.7 -2.48 -1.17 -2.37 -1.7 -1.13 -1.04 -1.04 -1.17 -0.96 -1.32 -0.84 -1.46 
+-0.74 -1.61 -0.61 -1.76 -0.46 -1.91 -0.28 -2.06 30.68 0 -0.12 2.14 -0.31 1.98 -0.52 1.8 
+-0.67 1.63 -0.82 1.48 -0.95 1.32 -1.07 1.15 -1.12 1.02 -2.43 1.63 -2.52 1.13 -2.41 0.63 
+-2.13 0.19 0.52 7.81 1.8 -0.06 1.87 -0.21 1.91 -0.37 1.93 -0.56 1.93 -0.79 1.91 -1 
+1.84 -1.25 1.76 -1.55 1.63 -1.84 1.52 -2.14 1.34 -2.5 1.18 -2.86 0.95 -3.26 0.7 -3.64 
+0.46 -4.11 0.15 -4.53 -39 0 0.2 -2.71 0.56 -2.98 1.07 -3.04 0.71 -1.48 0.85 -1.43 
+1 -1.34 1.15 -1.24 1.32 -1.12 1.48 -0.96 1.66 -0.8 1.85 -0.59 2.04 -0.37 2.23 -0.13 
+2.25 0.2 2.13 0.54 1.95 0.93 1.78 1.24 1.63 1.58 1.43 1.87 1.26 2.15 1.08 2.41 
+8.32 0 f*
+940.58 3544.66 7.79 0 0 -8.33 2.17 2.67 2.19 2.17 2.21 1.71 2.19 1.32 2.19 0.93 
+2.13 0.63 2.09 0.35 2 0.11 2.95 -0.24 2.93 -0.72 2.8 -1.11 2.56 -1.52 2.2 -1.89 
+0.91 -1.06 0.79 -1.15 0.63 -1.24 0.48 -1.28 0.3 -1.37 0.09 -1.43 0 -41.08 -8.31 0 
+0 37.43 -0.07 1.13 -0.22 1.04 -0.76 1.84 -1.16 1.52 -1.5 1.22 -1.7 0.93 -1.82 0.65 
+-1.87 0.38 -1.82 0.13 -1.28 -0.07 -1.26 -0.21 -2.5 -0.84 -2.39 -1.37 -2.13 -1.85 -0.95 -1.11 
+-0.87 -1.21 -0.78 -1.34 -0.66 -1.41 -0.52 -1.55 -0.39 -1.62 -0.24 -1.71 -0.08 -1.8 0 -30.17 
+-8.31 0 0 52.52 f*
+996.199 3492.14 8.3125 72.7891 re
+f*
+1018.04 3529.05 0.28 3.13 0.34 1.54 0.5 1.52 0.67 1.47 0.81 1.43 1 1.35 1.15 1.26 
+1.32 1.18 1.52 1.04 1.69 0.93 1.91 0.81 2.08 0.63 2.3 0.48 2.49 0.3 2.73 0.11 
+2.93 -0.15 3.21 -0.43 3.3 -0.81 3.15 -1.21 1.47 -0.8 1.35 -0.91 1.21 -1.06 1.07 -1.21 
+0.86 -1.34 0.63 -1.52 0.42 -1.7 0.15 -1.84 0 -33.29 0.17 -0.91 0.5 -0.8 0.76 -0.67 
+0.91 -0.52 1 -0.35 1.04 -0.17 0.98 0.05 0.86 0.28 0 -6.25 -2.02 -0.45 -3.17 -0.07 
+-2.25 0.07 -1.78 0.19 -1.35 0.37 -1.07 0.61 -0.82 0.87 -0.7 1.19 -1.39 3.47 -4.45 -3.25 
+-1.91 -1.17 -1.84 -0.91 -1.89 -0.65 -2.06 -0.45 -2.32 -0.24 -2.69 -0.09 -2.32 0.09 -2.12 0.24 
+-1.91 0.39 -1.71 0.54 -1.54 0.65 -1.37 0.78 -1.17 0.89 -1.04 0.98 -0.87 1.07 -0.74 1.13 
+-0.59 1.21 -0.48 1.25 -0.58 2.63 -0.2 2.71 7.81 0 0.19 -1.52 0.57 -1.46 0.91 -1.32 
+1.25 -1.15 1.57 -0.98 1.87 -0.74 2.14 -0.48 2.41 -0.15 3.47 0.43 3.04 0.89 2.61 1.26 
+2.12 1.49 1.67 1.7 1.2 1.75 0.72 1.74 0.26 1.65 0 10.39 -3.93 -1.46 -3.23 -0.76 
+-9.48 -1.43 -2.8 -0.85 -2.17 -0.98 -1.65 -1.11 -1.17 -1.21 -0.8 -1.32 -0.48 -1.39 -0.21 -1.48 
+-0.07 -1.54 -7.81 0 0.21 3.88 0.65 3.17 0.5 1.35 0.58 1.17 0.7 1.06 0.8 0.93 
+0.91 0.82 1 0.74 2.32 1.2 2.73 0.98 3.1 0.82 13.52 2.06 3.25 0.89 1.17 0.48 
+0.91 0.52 0.65 0.57 0.46 0.56 0.24 0.57 0.09 0.58 0 4.69 -0.16 0.89 -0.47 1.04 
+-0.8 1.11 -1.17 1.11 -1.56 1.02 -1.98 0.82 -2.43 0.57 -2.87 0.19 -3.08 -0.24 -2.61 -0.63 
+-2.15 -1 -1.73 -1.25 -1.3 -1.43 -0.91 -1.58 -0.52 -1.61 -0.17 -1.61 -8.33 0 f*
+1074.2 3544.66 7.79 0 0 -8.33 2.17 2.67 2.2 2.17 2.21 1.71 2.19 1.32 2.18 0.93 
+2.14 0.63 2.06 0.35 2 0.11 2.95 -0.24 2.95 -0.72 2.8 -1.11 2.54 -1.52 2.2 -1.89 
+0.93 -1.06 0.78 -1.15 0.63 -1.24 0.48 -1.28 0.28 -1.37 0.11 -1.43 0 -41.08 -8.31 0 
+0 37.43 -0.09 1.13 -0.2 1.04 -0.79 1.84 -1.17 1.52 -1.47 1.22 -1.69 0.93 -1.85 0.65 
+-1.86 0.38 -1.8 0.13 -1.29 -0.07 -1.28 -0.21 -2.49 -0.84 -2.37 -1.37 -2.15 -1.85 -0.95 -1.11 
+-0.87 -1.21 -0.76 -1.34 -0.65 -1.41 -0.52 -1.55 -0.39 -1.62 -0.24 -1.71 -0.08 -1.8 0 -30.17 
+-8.32 0 0 52.52 f*
+1163.61 3564.93 8.31 0 0 -72.79 -7.27 0 0 6.77 -1.41 -1.91 -1.5 -1.75 -1.65 -1.59 
+-1.88 -1.39 -2.13 -1.13 -2.48 -0.87 -2.84 -0.54 -3.28 -0.2 -3.17 0.21 -2.87 0.57 -2.58 0.93 
+-2.32 1.22 -2.08 1.52 -1.82 1.73 -1.59 1.93 -1.37 2.08 -1.17 2.23 -0.98 2.32 -0.79 2.37 
+-0.61 2.41 -0.48 2.37 -0.3 2.34 -0.24 4.37 8.83 0 0.09 -2.04 0.21 -2 0.34 -1.93 
+0.48 -1.88 0.61 -1.8 0.72 -1.71 0.82 -1.63 0.96 -1.5 1.04 -1.37 1.16 -1.23 1.25 -1.07 
+1.32 -0.91 1.41 -0.74 1.48 -0.54 1.56 -0.33 1.63 -0.11 1.46 0.09 1.41 0.26 1.37 0.46 
+1.34 0.61 1.26 0.78 1.19 0.96 1.14 1.11 1.04 1.26 0.95 1.41 0.84 1.58 0.76 1.69 
+0.63 1.87 0.5 1.98 0.37 2.13 0.22 2.23 0.08 2.39 -0.17 2.36 -0.3 2.24 -0.43 2.11 
+-0.56 1.95 -0.68 1.8 -0.76 1.67 -0.89 1.52 -0.96 1.37 -1.02 1.22 -1.12 1.04 -1.17 0.91 
+-1.22 0.74 -1.25 0.58 -1.33 0.43 -1.32 0.24 -1.37 0.09 -1.28 -0.09 -1.3 -0.28 -1.32 -0.48 
+-1.3 -0.63 -1.29 -0.82 -1.25 -0.95 -1.2 -1.13 -1.13 -1.26 -1.07 -1.41 -0.95 -1.54 -0.85 -1.67 
+-0.74 -1.8 -0.58 -1.89 -0.46 -2.02 -0.26 -2.11 -0.11 -2.19 -8.83 0 0.18 3.73 0.46 3.45 
+0.74 3.12 0.97 2.84 1.2 2.59 1.37 2.28 1.54 2.04 1.67 1.78 1.78 1.54 1.87 1.3 
+1.88 1.06 1.93 0.87 1.91 0.65 1.87 0.46 1.8 0.29 1.71 0.08 1.69 -0.11 1.91 -0.33 
+2.06 -0.56 2.15 -0.83 2.13 -1.12 2.06 -1.46 1.91 -1.78 1.69 -2.15 0 27.04 f*
+255 0 r3
+2616.43 3195.77 36.02 0 S
+2670.46 3195.77 36 0 S
+255 0 r6
+2616.43 3246.59 36.02 0 S
+2670.46 3246.59 36 0 S
+255 0 r5
+2616.43 3297.39 36.02 0 S
+2670.46 3297.39 36 0 S
+128 0 255 rG
+2616.43 3348.22 36.02 0 S
+2670.46 3348.22 36 0 S
+K
+2722.77 3213.87 3.99 0 0 -13.24 1 1.34 1.13 1.02 1.15 0.74 1.15 0.52 2.02 0.52 
+1.28 0.11 1.91 -0.15 1.89 -0.52 1.8 -0.89 1.65 -1.31 1.41 -1.8 1.11 -2.28 0.71 -2.84 
+0.26 -3.45 -0.18 -2.88 -0.5 -2.65 -0.85 -2.39 -1.2 -2.04 -1.56 -1.7 -0.93 -0.67 -1.02 -0.58 
+-1.11 -0.46 -1.2 -0.33 -1.3 -0.2 -1.41 -0.07 -1.7 0.16 -1.91 0.65 -1 0.54 -0.93 0.75 
+-0.89 0.93 -0.81 1.2 0 -3 -3.99 0 0 11.98 ^ 0.16 -1.91 0.46 -1.79 
+0.7 -1.61 0.91 -1.41 1.08 -1.15 1.22 -0.89 1.32 -0.54 1.39 -0.2 1.67 0.24 1.48 0.7 
+1.23 1.04 1.02 1.32 0.8 1.54 0.57 1.7 0.35 1.74 0.13 1.71 -0.22 2.34 -0.57 2.02 
+-0.84 1.67 -1.06 1.37 -1.17 1.02 -1.19 0.74 -1.15 0.43 -1.04 0.13 -1.46 -0.2 -1.34 -0.59 
+-1.23 -0.93 -1.07 -1.24 -0.89 -1.52 -0.68 -1.73 -0.41 -1.93 -0.16 -2.08 -3.99 0 0 22.96 f*
+2769.42 3195.64 -3.99 0 -0.18 1.04 -0.34 0.98 -0.5 0.93 -0.67 0.83 -0.83 0.71 -0.99 0.54 
+-1.15 0.35 -1.33 0.11 -1.58 -0.2 -1.41 -0.54 -1.2 -0.91 -0.97 -1.21 -0.8 -1.5 -0.57 -1.74 
+-0.34 -1.97 -0.11 -2.15 0.13 -2.13 0.37 -1.88 0.61 -1.63 0.82 -1.35 1.05 -1.06 1.23 -0.8 
+1.43 -0.48 1.61 -0.16 1.48 0.18 1.23 0.45 1.05 0.7 0.82 0.87 0.63 0.98 0.43 1.04 
+0.26 1.04 0.08 0.97 4 0 -0.17 -1.93 -0.5 -1.82 -0.8 -1.69 -1.15 -1.5 -1.47 -1.26 
+-1.8 -0.95 -2.12 -0.61 -2.46 -0.2 -1.45 0.07 -1.33 0.24 -1.21 0.36 -1.11 0.52 -1 0.63 
+-0.89 0.74 -1.5 1.8 -1.12 2.1 -0.79 2.37 -0.45 2.52 -0.13 2.61 0.11 1.8 0.28 1.65 
+0.39 1.5 0.5 1.34 0.63 1.22 0.7 1.06 1.61 1.8 1.78 1.31 1.82 0.89 1.8 0.52 
+1.61 0.15 1.76 -0.13 1.69 -0.37 1.61 -0.65 1.43 -0.93 1.26 -1.26 1.02 -1.61 0.76 -1.95 
+0.46 -2.34 f*
+2793.38 3195.64 -3.99 0 -0.18 1.04 -0.35 0.98 -0.5 0.93 -0.67 0.83 -0.82 0.71 -1 0.54 
+-1.15 0.35 -1.32 0.11 -1.58 -0.2 -1.41 -0.54 -1.2 -0.91 -1 -1.21 -0.78 -1.5 -0.57 -1.74 
+-0.35 -1.97 -0.11 -2.15 0.13 -2.13 0.37 -1.88 0.61 -1.63 0.83 -1.35 1.04 -1.06 1.24 -0.8 
+1.43 -0.48 1.59 -0.16 1.47 0.18 1.26 0.45 1.04 0.7 0.83 0.87 0.63 0.98 0.43 1.04 
+0.26 1.04 0.07 0.97 3.99 0 -0.16 -1.93 -0.5 -1.82 -0.8 -1.69 -1.15 -1.5 -1.48 -1.26 
+-1.8 -0.95 -2.13 -0.61 -2.47 -0.2 -1.43 0.07 -1.32 0.24 -1.21 0.36 -1.11 0.52 -1 0.63 
+-0.89 0.74 -1.5 1.8 -1.13 2.1 -0.78 2.37 -0.45 2.52 -0.13 2.61 0.11 1.8 0.28 1.65 
+0.39 1.5 0.5 1.34 0.63 1.22 0.7 1.06 1.61 1.8 1.75 1.31 1.84 0.89 1.79 0.52 
+1.63 0.15 1.76 -0.13 1.7 -0.37 1.58 -0.65 1.46 -0.93 1.25 -1.26 1.02 -1.61 0.76 -1.95 
+0.45 -2.34 f*
+2796.88 3190.41 11.4766 3.49219 re
+f*
+2833.31 3195.64 -4 0 -0.17 1.04 -0.34 0.98 -0.5 0.93 -0.67 0.83 -0.83 0.71 -1 0.54 
+-1.15 0.35 -1.33 0.11 -1.58 -0.2 -1.41 -0.54 -1.19 -0.91 -1 -1.21 -0.79 -1.5 -0.57 -1.74 
+-0.34 -1.97 -0.11 -2.15 0.13 -2.13 0.37 -1.88 0.61 -1.63 0.82 -1.35 1.04 -1.06 1.23 -0.8 
+1.43 -0.48 1.58 -0.16 1.48 0.18 1.26 0.45 1.04 0.7 0.82 0.87 0.61 0.98 0.46 1.04 
+0.24 1.04 0.08 0.97 4 0 -0.15 -1.93 -0.5 -1.82 -0.82 -1.69 -1.13 -1.5 -1.47 -1.26 
+-1.8 -0.95 -2.14 -0.61 -2.46 -0.2 -1.43 0.07 -1.33 0.24 -1.21 0.36 -1.11 0.52 -0.99 0.63 
+-0.89 0.74 -1.52 1.8 -1.12 2.1 -0.76 2.37 -0.46 2.52 -0.15 2.61 0.13 1.8 0.26 1.65 
+0.41 1.5 0.5 1.34 0.61 1.22 0.71 1.06 1.59 1.8 1.78 1.31 1.84 0.89 1.78 0.52 
+1.63 0.15 1.76 -0.13 1.69 -0.37 1.58 -0.65 1.46 -0.93 1.26 -1.26 1.02 -1.61 0.76 -1.95 
+0.46 -2.34 f*
+2851.52 3197.13 4.26 0 -0.33 2.06 -0.7 1.7 -1.04 1.34 -1.26 1.02 -1.41 0.76 -1.52 0.5 
+-1.52 0.28 -1.48 0.09 -1.78 -0.13 -1.74 -0.39 -1.65 -0.62 -1.47 -0.89 -1.26 -1.13 -0.98 -1.37 
+-0.62 -1.61 -0.22 -1.84 0.09 -1.15 0.24 -1.06 0.43 -0.93 0.61 -0.84 0.8 -0.76 0.97 -0.65 
+1.2 -0.59 1.39 -0.5 6.25 -1.5 1.52 -0.48 1.2 -0.72 0.75 -0.98 0.2 -0.63 0.07 -0.69 
+-0.08 -0.82 -0.29 -0.74 -0.48 -0.7 -0.65 -0.59 -0.85 -0.48 -1.02 -0.37 -1.22 -0.21 -1.41 -0.09 
+-1.58 0.09 -1.29 0.28 -0.97 0.41 -0.74 0.58 -0.54 0.74 -0.39 0.85 -0.48 2.04 -4.23 0 
+0.24 -1.81 0.43 -1.66 0.67 -1.48 0.96 -1.28 1.3 -1.07 1.73 -0.78 2.17 -0.5 2.71 -0.16 
+1.87 0.11 1.84 0.39 1.72 0.65 1.56 0.89 1.32 1.16 1.02 1.41 0.68 1.67 0.24 1.93 
+-0.13 1.32 -0.39 1.17 -0.63 1.05 -0.85 0.89 -1.11 0.78 -1.32 0.7 -1.54 0.59 -1.78 0.5 
+-4.73 0.99 -1.78 0.79 -0.97 0.87 -0.42 0.91 -0.08 0.93 0.11 0.87 0.33 0.76 0.52 0.65 
+0.67 0.52 0.8 0.41 0.93 0.3 2.13 0.22 1.22 -0.07 0.99 -0.24 0.85 -0.35 0.65 -0.5 
+0.52 -0.58 0.37 -0.67 0.39 -1.59 4.26 0 -4.26 0 f*
+2862.26 3204.12 3.49 0 0 -3.73 1.93 2.17 1.82 1.39 0.93 0.43 0.95 0.29 2.09 0.21 
+1.8 -0.24 1.67 -0.54 0.8 -0.48 0.83 -0.67 0.8 -0.89 0.84 -1.17 1.98 2 0.95 0.69 
+0.93 0.52 1.89 0.61 1.97 0.17 1.24 -0.09 1.25 -0.3 1.22 -0.48 1.13 -0.69 0.96 -0.91 
+0.76 -1.11 0.5 -1.34 0.17 -1.56 0 -19.47 -4 0 0 17.97 -0.11 0.91 -0.3 0.85 
+-0.48 0.76 -0.61 0.67 -0.7 0.54 -0.74 0.41 -0.79 0.26 -0.78 0.09 -1.04 -0.13 -1.05 -0.35 
+-0.99 -0.57 -0.93 -0.73 -0.8 -0.89 -0.61 -1.02 -0.41 -1.11 -0.13 -1.2 0 -16.47 -3.99 0 
+0 17.97 -0.13 0.91 -0.3 0.85 -0.48 0.76 -0.63 0.67 -0.72 0.54 -0.8 0.41 -0.85 0.26 
+-0.84 0.09 -0.89 -0.11 -0.95 -0.34 -0.96 -0.52 -0.91 -0.71 -0.8 -0.87 -0.66 -1.02 -0.41 -1.15 
+-0.15 -1.26 0 -16.47 -3.99 0 0 25.2 f*
+2912.41 3212.87 2.74 0 0 -33.94 -4.23 0 0 24.2 -7.49 0 0 3 3.02 0.37 
+1.37 0.29 1.24 0.48 1.08 0.75 0.93 1.14 0.79 1.61 0.56 2.12 f*
+2927.39 3190.41 11.4766 3.49219 re
+f*
+2955.08 3212.87 2.75 0 0 -33.94 -4.25 0 0 24.2 -7.49 0 0 3 3.02 0.37 
+1.37 0.29 1.24 0.48 1.09 0.75 0.95 1.14 0.76 1.61 0.57 2.12 f*
+2752.45 3253.32 -0.71 2.86 -1 2.41 -1.3 1.97 -1.61 1.59 -1.87 1.19 -2.14 0.83 -2.41 0.48 
+-2.67 0.15 -1.82 -0.09 -1.72 -0.25 -1.63 -0.44 -1.52 -0.58 -1.39 -0.74 -1.31 -0.89 -1.19 -1.02 
+-1.06 -1.15 -0.98 -1.28 -0.84 -1.39 -0.72 -1.52 -0.61 -1.59 -0.85 -3.49 -0.34 -3.77 0.09 -2.2 
+0.21 -2.04 0.39 -1.91 0.54 -1.75 0.66 -1.63 0.78 -1.5 0.91 -1.37 1.05 -1.21 1.11 -1.09 
+1.24 -0.93 1.32 -0.78 1.39 -0.65 1.47 -0.5 1.54 -0.37 1.61 -0.22 1.67 -0.09 1.8 0.09 
+1.65 0.2 1.52 0.35 1.39 0.48 1.26 0.58 1.13 0.7 1.02 0.79 0.89 0.89 1.47 2.04 
+1.07 2.32 0.67 2.59 0.34 2.73 -4.49 0 -0.46 -2.43 -0.63 -2.04 -0.84 -1.69 -1.06 -1.33 
+-1.28 -1.02 -1.54 -0.7 -1.82 -0.41 -2.08 -0.13 -1.45 0.09 -1.35 0.2 -1.24 0.35 -1.13 0.47 
+-1.04 0.59 -0.93 0.71 -1.61 1.71 -1.21 2.11 -0.85 2.41 -0.52 2.69 -0.16 2.91 0.22 3.19 
+0.65 2.82 1.05 2.43 1.39 2.04 1.7 1.61 1.95 1.17 2.17 0.71 2.37 0.24 1.73 -0.12 
+1.63 -0.37 1.5 -0.61 1.34 -0.84 1.13 -1.09 0.91 -1.28 0.63 -1.48 0.35 -1.69 4.49 0 f*
+2787.13 3253.32 -0.7 2.86 -1.02 2.41 -1.3 1.97 -1.59 1.59 -1.86 1.19 -2.15 0.83 -2.43 0.48 
+-2.66 0.15 -1.82 -0.09 -1.71 -0.25 -1.63 -0.44 -1.5 -0.58 -1.41 -0.74 -1.3 -0.89 -1.2 -1.02 
+-1.06 -1.15 -0.96 -1.28 -0.84 -1.39 -0.74 -1.52 -0.61 -1.59 -0.85 -3.49 -0.34 -3.77 0.08 -2.2 
+0.24 -2.04 0.39 -1.91 0.52 -1.75 0.65 -1.63 0.8 -1.5 0.91 -1.37 1.02 -1.21 1.13 -1.09 
+1.21 -0.93 1.32 -0.78 1.39 -0.65 1.48 -0.5 1.56 -0.37 1.61 -0.22 1.65 -0.09 1.8 0.09 
+1.65 0.2 1.52 0.35 1.39 0.48 1.26 0.58 1.13 0.7 1.02 0.79 0.91 0.89 1.45 2.04 
+1.07 2.32 0.7 2.59 0.32 2.73 -4.49 0 -0.46 -2.43 -0.63 -2.04 -0.85 -1.69 -1.04 -1.33 
+-1.31 -1.02 -1.54 -0.7 -1.8 -0.41 -2.11 -0.13 -1.46 0.09 -1.32 0.2 -1.24 0.35 -1.15 0.47 
+-1.04 0.59 -0.93 0.71 -1.58 1.71 -1.24 2.11 -0.85 2.41 -0.5 2.69 -0.18 2.91 0.24 3.19 
+0.66 2.82 1.04 2.43 1.37 2.04 1.7 1.61 1.95 1.17 2.17 0.71 2.37 0.24 1.73 -0.12 
+1.63 -0.37 1.52 -0.61 1.32 -0.84 1.13 -1.09 0.91 -1.28 0.65 -1.48 0.33 -1.69 4.49 0 f*
+2818.84 3254.08 -0.07 1.3 -0.22 1.23 -0.33 1.13 -0.43 1.06 -1.21 1.84 -1.61 1.5 -1.93 1.17 
+-2.21 0.82 -2.41 0.5 -2.56 0.15 -2.97 -0.2 -2.56 -0.57 -2.15 -0.89 -1.74 -1.21 -1.34 -1.5 
+-0.95 -1.74 -0.56 -1.97 -0.2 -2.15 0.13 -1.73 0.35 -1.45 0.54 -1.22 0.72 -1 0.87 -0.82 
+0.98 -0.7 2.15 -1.06 11.24 -2.99 2.36 -1.05 0.85 -0.58 0.69 -0.63 0.5 -0.67 0.33 -0.72 
+0.2 -0.78 0.07 -0.83 -0.11 -1.17 -0.32 -1.13 -0.57 -1.02 -0.87 -0.89 -1.21 -0.74 -1.56 -0.57 
+-1.95 -0.34 -2.39 -0.13 -2.43 0.2 -2.04 0.5 -1.7 0.78 -1.32 1.02 -1.02 1.21 -0.7 1.34 
+-0.41 1.46 -0.13 1.48 -4.5 0 0.22 -2.45 0.65 -2.26 1.09 -2.04 1.52 -1.76 1.97 -1.45 
+2.46 -1.09 2.93 -0.69 3.41 -0.24 3.14 0.22 2.76 0.63 2.3 0.96 1.91 1.3 1.46 1.54 
+1.06 1.79 0.63 1.97 0.21 2.08 -0.15 1.7 -0.46 1.54 -0.69 1.37 -0.89 1.17 -1.07 1.02 
+-1.17 0.82 -1.26 0.65 -1.3 0.48 -11.24 2.99 -1.95 1.02 -1.13 0.98 -0.32 0.54 -0.2 0.61 
+-0.13 1.58 0.16 1.32 0.46 1.15 0.71 1 0.95 0.8 1.15 0.63 1.3 0.48 1.45 0.26 
+1.55 0.11 2.04 -0.15 1.75 -0.39 1.5 -0.63 1.24 -0.82 0.95 -1.04 0.7 -1.17 0.42 -1.34 
+0.15 -1.43 4.5 0 f*
+2825.57 3264.3 6.25 0 10.22 -30.45 10.24 30.45 6.23 0 0 -34.94 -4.23 0 0 29.21 
+-9.98 -29.21 -4.75 0 -9.72 29.21 0 -29.21 -4.25 0 0 34.94 f*
+2878.73 3263.3 2.99 0 0 -21.96 5.23 0 0 -3.99 ^ 0 -7.99 -4.25 0 
+^ -14.21 0 0 3.99 ^ 0 14.74 -10.48 -14.74 -3.73 0 0 0.5 
+15.47 21.46 f*
+2752.45 3304.28 -0.71 2.84 -1 2.41 -1.3 2 -1.61 1.56 -1.87 1.2 -2.14 0.83 -2.41 0.48 
+-2.67 0.15 -1.82 -0.09 -1.72 -0.25 -1.63 -0.44 -1.52 -0.58 -1.39 -0.74 -1.31 -0.89 -1.19 -1.02 
+-1.06 -1.15 -0.98 -1.28 -0.84 -1.39 -0.72 -1.5 -0.61 -1.61 -0.85 -3.47 -0.34 -3.79 0.09 -2.17 
+0.21 -2.04 0.39 -1.91 0.54 -1.78 0.66 -1.63 0.78 -1.5 0.91 -1.37 1.05 -1.21 1.11 -1.06 
+1.24 -0.93 1.32 -0.8 1.39 -0.66 1.47 -0.49 1.54 -0.37 1.61 -0.22 1.67 -0.07 1.8 0.07 
+1.65 0.22 1.52 0.33 1.39 0.48 1.26 0.58 1.13 0.7 1.02 0.78 0.89 0.91 1.47 2.02 
+1.07 2.34 0.67 2.56 0.34 2.73 -4.49 0 -0.46 -2.43 -0.63 -2.04 -0.84 -1.67 -1.06 -1.35 
+-1.28 -0.99 -1.54 -0.72 -1.82 -0.39 -2.08 -0.13 -1.45 0.07 -1.35 0.21 -1.24 0.34 -1.13 0.46 
+-1.04 0.61 -0.93 0.7 -1.61 1.71 -1.21 2.11 -0.85 2.41 -0.52 2.69 -0.16 2.91 0.22 3.19 
+0.65 2.82 1.05 2.43 1.39 2.04 1.7 1.61 1.95 1.18 2.17 0.71 2.37 0.26 1.73 -0.13 
+1.63 -0.39 1.5 -0.61 1.34 -0.84 1.13 -1.07 0.91 -1.28 0.63 -1.5 0.35 -1.67 4.49 0 f*
+2759.7 3315.23 24.2 0 0 -3.97 -19.7 0 0 -11.24 18.95 0 0 -4 ^ 
+0 -11.71 20.44 0 0 -4 -24.93 0 0 34.92 f*
+2816.08 3305.01 -0.07 1.33 -0.2 1.21 -0.32 1.13 -0.46 1.07 -1.21 1.84 -1.61 1.49 -1.93 1.17 
+-2.2 0.83 -2.41 0.5 -2.58 0.15 -2.98 -0.17 -2.54 -0.57 -2.14 -0.91 -1.76 -1.21 -1.34 -1.5 
+-0.96 -1.74 -0.56 -1.95 -0.2 -2.17 0.13 -1.71 0.35 -1.46 0.57 -1.21 0.71 -1.02 0.87 -0.83 
+0.96 -0.69 2.17 -1.06 11.21 -2.99 2.37 -1.02 0.87 -0.59 0.67 -0.63 0.5 -0.69 0.35 -0.72 
+0.19 -0.78 0.05 -0.8 -0.09 -1.2 -0.33 -1.13 -0.58 -0.99 -0.87 -0.89 -1.2 -0.73 -1.56 -0.57 
+-1.95 -0.37 -2.41 -0.11 -2.41 0.17 -2.04 0.5 -1.7 0.8 -1.34 1.02 -1 1.2 -0.7 1.37 
+-0.41 1.43 -0.13 1.5 -4.49 0 0.21 -2.46 0.63 -2.28 1.09 -2.02 1.54 -1.79 1.97 -1.45 
+2.46 -1.09 2.91 -0.67 3.41 -0.24 3.17 0.22 2.73 0.61 2.32 0.98 1.89 1.28 1.47 1.56 
+1.07 1.79 0.63 1.95 0.2 2.11 -0.15 1.7 -0.43 1.52 -0.7 1.37 -0.89 1.19 -1.07 1 
+-1.17 0.85 -1.28 0.65 -1.3 0.46 -11.22 2.99 -1.95 1.02 -1.13 0.98 -0.32 0.54 -0.21 0.63 
+-0.13 1.59 0.17 1.3 0.46 1.18 0.71 0.98 0.93 0.8 1.15 0.65 1.33 0.45 1.43 0.29 
+1.57 0.08 2.02 -0.13 1.76 -0.39 1.5 -0.62 1.24 -0.85 0.97 -1.02 0.69 -1.2 0.41 -1.32 
+0.13 -1.45 4.49 0 f*
+2822.83 3315.23 6.23 0 10.25 -30.42 10.22 30.42 6.25 0 0 -34.92 -4.26 0 0 29.19 
+-9.98 -29.19 -4.73 0 -9.74 29.19 0 -29.19 -4.23 0 0 34.92 f*
+2872.98 3314.23 2.75 0 0 -33.92 -4.25 0 0 24.2 -7.48 0 0 3 3.01 0.34 
+1.37 0.3 1.23 0.48 1.09 0.75 0.95 1.13 0.76 1.58 0.57 2.13 f*
+2887.96 3291.79 11.4766 3.49609 re
+f*
+2933.62 3304.28 -0.72 2.84 -1 2.41 -1.3 2 -1.59 1.56 -1.89 1.2 -2.15 0.83 -2.41 0.48 
+-2.67 0.15 -1.82 -0.09 -1.72 -0.25 -1.62 -0.44 -1.52 -0.58 -1.39 -0.74 -1.3 -0.89 -1.2 -1.02 
+-1.07 -1.15 -0.98 -1.28 -0.82 -1.39 -0.74 -1.5 -0.61 -1.61 -0.84 -3.47 -0.35 -3.79 0.09 -2.17 
+0.24 -2.04 0.37 -1.91 0.55 -1.78 0.65 -1.63 0.8 -1.5 0.91 -1.37 1.02 -1.21 1.13 -1.06 
+1.21 -0.93 1.32 -0.8 1.39 -0.66 1.48 -0.49 1.54 -0.37 1.61 -0.22 1.67 -0.07 1.8 0.07 
+1.65 0.22 1.52 0.33 1.39 0.48 1.25 0.58 1.13 0.7 1.02 0.78 0.89 0.91 1.48 2.02 
+1.06 2.34 0.67 2.56 0.35 2.73 -4.5 0 -0.45 -2.43 -0.63 -2.04 -0.85 -1.67 -1.06 -1.35 
+-1.29 -0.99 -1.54 -0.72 -1.82 -0.39 -2.09 -0.13 -1.45 0.07 -1.34 0.21 -1.24 0.34 -1.12 0.46 
+-1.04 0.61 -0.93 0.7 -1.61 1.71 -1.22 2.11 -0.84 2.41 -0.5 2.69 -0.17 2.91 0.22 3.19 
+0.65 2.82 1.04 2.43 1.39 2.04 1.7 1.61 1.96 1.18 2.17 0.71 2.36 0.26 1.74 -0.13 
+1.63 -0.39 1.5 -0.61 1.34 -0.84 1.13 -1.07 0.91 -1.28 0.63 -1.5 0.34 -1.67 4.5 0 f*
+2949.85 3315.23 5.73 0 12.24 -34.92 -4.99 0 -3.5 10.22 -13.74 0 -3.49 -10.22 -4.99 0 
+10.98 29.95 4.49 0 -5.73 -15.73 11.21 0 -5.49 15.73 -4.49 0 1.76 4.97 f*
+2972.05 3315.23 6.25 0 10.22 -30.42 10.21 30.42 6.25 0 0 -34.92 -4.25 0 0 29.19 
+-9.98 -29.19 -4.73 0 -9.72 29.19 0 -29.19 -4.25 0 0 34.92 f*
+3013.48 3314.23 17.71 0 0 -3.97 -14.21 0 -1.26 -9.74 1.24 0.87 1.45 0.71 1.74 0.48 
+2.06 0.2 1.76 -0.15 1.83 -0.46 1.8 -0.8 1.67 -1.15 1.47 -1.56 1.17 -2 0.43 -1.15 
+0.33 -1.28 0.2 -1.41 0.09 -1.52 -0.2 -2.39 -0.57 -2.28 -0.91 -2.06 -1.3 -1.82 -1.65 -1.52 
+-2.02 -1.17 -2.36 -0.74 -2.74 -0.26 -2.52 0.2 -2.14 0.54 -1.8 0.89 -1.47 1.15 -1.2 1.41 
+-0.93 1.61 -0.67 1.78 -0.48 1.91 4.23 0 0.43 -1.24 0.56 -1.12 0.65 -0.98 0.79 -0.82 
+0.91 -0.68 1.02 -0.49 1.13 -0.31 1.25 -0.09 1.7 0.13 1.52 0.37 1.32 0.65 1.11 0.91 
+0.89 1.15 0.65 1.41 0.42 1.67 0.13 1.93 -0.11 1.41 -0.33 1.41 -0.54 1.35 -0.8 1.23 
+-1.02 1.05 -1.3 0.82 -1.56 0.52 -1.83 0.2 -1.82 -0.2 -1.5 -0.58 -1.48 -1 -1.7 -1.46 
+-3.73 0 2.49 18.45 f*
+2754.71 3353.21 -14.74 0 0 -4 10.48 0 0 -2.25 -0.2 -1.7 -0.57 -1.66 -0.91 -1.59 
+-1.26 -1.43 -1.54 -1.21 -1.84 -0.93 -2.09 -0.57 -2.32 -0.13 -1.59 0.09 -1.47 0.21 -1.35 0.37 
+-1.23 0.5 -1.13 0.63 -1.02 0.74 -0.91 0.84 -0.82 0.96 -1.3 2.15 -0.93 2.45 -0.54 2.7 
+-0.18 2.84 0.24 3.04 0.71 2.71 1.15 2.39 1.52 2.02 1.82 1.63 2.13 1.19 2.36 0.74 
+2.54 0.26 1.24 -0.09 1.41 -0.24 1.48 -0.45 1.47 -0.7 1.39 -0.95 1.21 -1.26 0.93 -1.58 
+0.59 -1.98 4.75 0 -0.35 1.5 -0.69 1.73 -1.06 1.87 -1.5 1.82 -1.93 1.7 -1.15 0.72 
+-1.28 0.65 -1.43 0.52 -1.54 0.39 -1.7 0.26 -1.84 0.09 -1.93 -0.09 -1.82 -0.26 -1.72 -0.43 
+-1.61 -0.58 -1.52 -0.74 -1.39 -0.89 -1.28 -1.02 -1.15 -1.13 -1.04 -1.28 -0.91 -1.37 -0.78 -1.47 
+-0.65 -1.59 -0.5 -1.67 -0.37 -1.74 -0.24 -1.82 -0.06 -1.89 0.09 -2.34 0.24 -2.17 0.43 -2.02 
+0.57 -1.82 0.7 -1.67 0.84 -1.52 0.98 -1.37 1.08 -1.2 1.2 -1.04 1.3 -0.89 1.41 -0.76 
+1.47 -0.61 1.56 -0.48 1.65 -0.33 3.45 -0.26 2.58 0.26 1.39 0.35 1.41 0.52 1.43 0.7 
+1.43 0.91 1.39 1.13 1.34 1.37 1 -4.23 3 0 0 18.46 f*
+2762.93 3334.75 4.49609 34.9375 re
+f*
+2800.37 3359.44 -0.06 1.33 -0.21 1.21 -0.33 1.15 -0.43 1.04 -1.22 1.84 -1.61 1.52 -1.93 1.15 
+-2.21 0.83 -2.41 0.5 -2.56 0.17 -2.97 -0.2 -2.56 -0.57 -2.14 -0.91 -1.74 -1.2 -1.34 -1.49 
+-0.96 -1.76 -0.56 -1.95 -0.2 -2.17 0.13 -1.71 0.35 -1.45 0.54 -1.22 0.74 -1 0.84 -0.84 
+0.98 -0.67 2.17 -1.08 11.21 -3 2.37 -1.02 0.87 -0.59 0.67 -0.63 0.5 -0.67 0.33 -0.74 
+0.2 -0.76 0.07 -0.83 -0.11 -1.19 -0.3 -1.11 -0.58 -1.02 -0.87 -0.89 -1.22 -0.74 -1.56 -0.56 
+-1.96 -0.35 -2.39 -0.13 -2.43 0.17 -2.04 0.52 -1.67 0.78 -1.34 1.02 -1 1.21 -0.72 1.34 
+-0.39 1.43 -0.13 1.5 -4.49 0 0.19 -2.45 0.65 -2.26 1.08 -2.04 1.52 -1.76 1.99 -1.45 
+2.43 -1.09 2.93 -0.7 3.41 -0.24 3.17 0.21 2.73 0.61 2.3 0.97 1.91 1.29 1.47 1.56 
+1.05 1.78 0.63 1.95 0.22 2.11 -0.15 1.7 -0.45 1.54 -0.7 1.34 -0.89 1.2 -1.05 1 
+-1.2 0.84 -1.25 0.65 -1.3 0.45 -11.22 3 -1.98 1.02 -1.13 0.98 -0.32 0.54 -0.2 0.63 
+-0.13 1.58 0.15 1.32 0.46 1.15 0.71 0.98 0.96 0.82 1.15 0.63 1.31 0.46 1.45 0.28 
+1.54 0.09 2.04 -0.12 1.76 -0.39 1.5 -0.63 1.23 -0.84 0.96 -1.02 0.7 -1.2 0.41 -1.32 
+0.16 -1.46 4.49 0 f*
+2832.31 3359.44 -0.06 1.33 -0.21 1.21 -0.33 1.15 -0.43 1.04 -1.24 1.84 -1.59 1.52 -1.93 1.15 
+-2.21 0.83 -2.41 0.5 -2.56 0.17 -2.97 -0.2 -2.56 -0.57 -2.14 -0.91 -1.74 -1.2 -1.35 -1.49 
+-0.95 -1.76 -0.56 -1.95 -0.2 -2.17 0.13 -1.71 0.34 -1.45 0.55 -1.22 0.71 -1 0.87 -0.84 
+0.98 -0.67 2.15 -1.08 11.24 -3 2.37 -1.02 0.84 -0.59 0.67 -0.63 0.5 -0.67 0.35 -0.74 
+0.19 -0.76 0.07 -0.83 -0.11 -1.19 -0.33 -1.11 -0.56 -1.02 -0.86 -0.89 -1.22 -0.74 -1.56 -0.56 
+-1.96 -0.35 -2.39 -0.13 -2.43 0.17 -2.04 0.52 -1.7 0.78 -1.32 1.02 -1.02 1.21 -0.7 1.34 
+-0.41 1.43 -0.13 1.5 -4.49 0 0.21 -2.45 0.65 -2.26 1.09 -2.04 1.52 -1.76 1.97 -1.45 
+2.46 -1.09 2.93 -0.7 3.4 -0.24 3.15 0.21 2.73 0.61 2.32 0.97 1.91 1.29 1.45 1.56 
+1.07 1.78 0.63 1.95 0.22 2.11 -0.15 1.7 -0.45 1.54 -0.7 1.34 -0.89 1.2 -1.07 1 
+-1.17 0.84 -1.25 0.65 -1.3 0.45 -11.24 3 -1.95 1.02 -1.13 0.98 -0.32 0.54 -0.2 0.63 
+-0.12 1.58 0.15 1.32 0.46 1.15 0.71 0.98 0.96 0.82 1.15 0.63 1.3 0.46 1.45 0.28 
+1.54 0.09 2.04 -0.12 1.75 -0.39 1.5 -0.63 1.23 -0.84 0.96 -1.02 0.69 -1.2 0.41 -1.32 
+0.15 -1.46 4.49 0 f*
+2837.54 3346.22 11.4805 3.49219 re
+f*
+2855.77 3369.68 24.2 0 0 -4 -19.71 0 0 -11.24 18.97 0 0 -3.99 ^ 
+0 -11.72 20.46 0 0 -3.99 -24.95 0 0 34.94 f*
+2885.72 3356.95 4.23 0 0.11 1.71 0.33 1.54 0.52 1.37 0.76 1.15 0.98 0.93 1.2 0.72 
+1.43 0.41 1.67 0.16 1.29 -0.11 1.21 -0.35 1.09 -0.54 0.98 -0.74 0.8 -0.93 0.61 -1.11 
+0.39 -1.29 0.13 -1.43 -0.11 -1.43 -0.37 -1.22 -0.58 -1.04 -0.85 -0.91 -1.08 -0.89 -1.32 -0.89 
+-3.43 -2.11 -2.89 -1.67 -2.37 -1.71 -1.86 -1.76 -1.41 -1.8 -1.05 -1.89 -0.67 -1.99 -0.37 -2.13 
+-0.11 -2.25 22.7 0 0 3.99 -17.96 0 0.45 1.54 0.61 1.26 0.8 1.08 1.02 0.98 
+2.73 1.86 3.86 2.26 2.26 1.11 1.84 1.24 1.52 1.37 1.2 1.43 0.87 1.49 0.61 1.54 
+0.35 1.52 0.11 1.52 -0.24 2.09 -0.63 1.87 -1.02 1.65 -1.37 1.43 -1.63 1.15 -1.87 0.84 
+-2.04 0.52 -2.2 0.2 -2.34 -0.17 -2.14 -0.55 -1.91 -0.89 -1.65 -1.25 -1.35 -1.65 -1 -2.02 
+-0.62 -2.41 -0.2 -2.8 f*
+2912.16 3346.22 11.4766 3.49219 re
+f*
+2930.38 3369.68 17.21 0 1.78 -0.15 1.73 -0.46 1.65 -0.76 1.48 -1.04 1.25 -1.34 0.98 -1.63 
+0.63 -1.91 0.24 -2.19 -0.11 -1.43 -0.26 -1.3 -0.48 -1.17 -0.63 -1.07 -0.8 -0.95 -1 -0.85 
+-1.15 -0.78 -1.32 -0.69 1.65 -0.74 1.2 -0.93 0.84 -1.09 0.57 -1.23 0.3 -1.37 0.15 -1.52 
+0.05 -3.34 0.2 -2.37 0.36 -1.65 0.63 -1.15 1.05 -0.82 0 -1 -5.49 0 -0.57 1.52 
+-0.3 1.67 -0.11 2.49 -0.02 4.04 -0.11 1.3 -0.32 1.11 -0.48 0.91 -0.65 0.71 -0.74 0.54 
+-0.85 0.38 -0.91 0.24 -0.93 0.06 -12.22 0 0 -14.97 -4.49 0 0 30.94 ^ 
+0 -11.98 12.22 0 1.17 0.09 1.06 0.25 0.93 0.44 0.8 0.63 0.65 0.82 0.48 1.02 
+0.28 1.25 0.11 1.48 -0.11 1.41 -0.3 1.22 -0.5 1.02 -0.67 0.85 -0.87 0.65 -1.02 0.48 
+-1.17 0.29 -1.34 0.08 -16.21 0 0 4 f*
+2959.83 3326.26 28.6914 2.23438 re
+f*
+3019.21 3358.7 -0.7 2.87 -1.02 2.41 -1.3 1.97 -1.58 1.59 -1.89 1.17 -2.12 0.85 -2.43 0.47 
+-2.67 0.16 -1.82 -0.09 -1.71 -0.26 -1.63 -0.43 -1.5 -0.58 -1.41 -0.76 -1.3 -0.87 -1.2 -1.04 
+-1.06 -1.15 -0.95 -1.28 -0.85 -1.39 -0.73 -1.5 -0.61 -1.61 -0.84 -3.47 -0.35 -3.79 0.09 -2.17 
+0.24 -2.04 0.37 -1.91 0.54 -1.78 0.65 -1.62 0.8 -1.5 0.91 -1.35 1.02 -1.21 1.13 -1.08 
+1.22 -0.93 1.32 -0.81 1.39 -0.62 1.48 -0.52 1.54 -0.37 1.61 -0.21 1.67 -0.07 1.8 0.07 
+1.65 0.21 1.52 0.35 1.39 0.45 1.25 0.59 1.13 0.69 1.02 0.81 0.89 0.89 1.48 2.04 
+1.06 2.32 0.67 2.56 0.35 2.73 -4.5 0 -0.46 -2.41 -0.62 -2.06 -0.84 -1.67 -1.07 -1.35 
+-1.28 -1 -1.54 -0.69 -1.8 -0.42 -2.11 -0.13 -1.45 0.07 -1.33 0.22 -1.25 0.34 -1.13 0.48 
+-1.05 0.59 -0.93 0.7 -1.61 1.73 -1.22 2.09 -0.84 2.43 -0.5 2.69 -0.17 2.89 0.21 3.19 
+0.67 2.82 1.05 2.45 1.37 2.02 1.69 1.63 1.96 1.17 2.16 0.71 2.37 0.24 1.74 -0.12 
+1.63 -0.37 1.5 -0.62 1.34 -0.85 1.13 -1.07 0.91 -1.28 0.63 -1.5 0.34 -1.67 4.5 0 f*
+3053.91 3358.7 -0.72 2.87 -1.02 2.41 -1.3 1.97 -1.59 1.59 -1.86 1.17 -2.15 0.85 -2.41 0.47 
+-2.69 0.16 -1.82 -0.09 -1.71 -0.26 -1.61 -0.43 -1.52 -0.58 -1.41 -0.76 -1.3 -0.87 -1.17 -1.04 
+-1.08 -1.15 -0.96 -1.28 -0.85 -1.39 -0.73 -1.5 -0.61 -1.61 -0.85 -3.47 -0.35 -3.79 0.09 -2.17 
+0.24 -2.04 0.39 -1.91 0.52 -1.78 0.67 -1.62 0.79 -1.5 0.91 -1.35 1.02 -1.21 1.13 -1.08 
+1.21 -0.93 1.33 -0.81 1.41 -0.62 1.47 -0.52 1.55 -0.37 1.61 -0.21 1.64 -0.07 1.8 0.07 
+1.67 0.21 1.52 0.35 1.37 0.45 1.26 0.59 1.15 0.69 1 0.81 0.91 0.89 1.46 2.04 
+1.06 2.32 0.7 2.56 0.35 2.73 -4.5 0 -0.45 -2.41 -0.65 -2.06 -0.84 -1.67 -1.04 -1.35 
+-1.3 -1 -1.54 -0.69 -1.8 -0.42 -2.11 -0.13 -1.43 0.07 -1.35 0.22 -1.23 0.34 -1.15 0.48 
+-1.02 0.59 -0.96 0.7 -1.58 1.73 -1.22 2.09 -0.87 2.43 -0.5 2.69 -0.17 2.89 0.24 3.19 
+0.65 2.82 1.04 2.45 1.39 2.02 1.67 1.63 1.95 1.17 2.2 0.71 2.34 0.24 1.74 -0.12 
+1.65 -0.37 1.5 -0.62 1.33 -0.85 1.15 -1.07 0.89 -1.28 0.65 -1.5 0.35 -1.67 4.49 0 f*
+601.11 3529.05 0.26 3.13 0.37 1.54 0.5 1.52 0.66 1.47 0.82 1.43 0.98 1.35 1.15 1.26 
+1.34 1.18 1.52 1.04 1.7 0.93 1.89 0.81 2.11 0.63 2.28 0.48 2.52 0.3 2.71 0.11 
+2.93 -0.15 3.23 -0.43 3.28 -0.81 3.16 -1.21 1.46 -0.8 1.37 -0.91 1.21 -1.06 1.04 -1.21 
+0.87 -1.34 0.65 -1.52 0.41 -1.7 0.13 -1.84 0 -33.29 0.2 -0.91 0.5 -0.8 0.74 -0.67 
+0.91 -0.52 1.02 -0.35 1.02 -0.17 1 0.05 0.87 0.28 0 -6.25 -2.02 -0.45 -3.19 -0.07 
+-2.26 0.07 -1.76 0.19 -1.37 0.37 -1.04 0.61 -0.82 0.87 -0.71 1.19 -1.39 3.47 -4.43 -3.25 
+-1.91 -1.17 -1.85 -0.91 -1.9 -0.65 -2.05 -0.45 -2.32 -0.24 -2.69 -0.09 -2.34 0.09 -2.11 0.24 
+-1.93 0.39 -1.72 0.54 -1.54 0.65 -1.34 0.78 -1.2 0.89 -1.02 0.98 -0.89 1.07 -0.71 1.13 
+-0.61 1.21 -0.46 1.25 -0.61 2.63 -0.17 2.71 7.79 0 0.2 -1.52 0.57 -1.46 0.91 -1.32 
+1.26 -1.15 1.56 -0.98 1.87 -0.74 2.15 -0.48 2.41 -0.15 3.5 0.43 3.04 0.89 2.58 1.26 
+2.13 1.49 1.66 1.7 1.22 1.75 0.71 1.74 0.24 1.65 0 10.39 -3.9 -1.46 -3.23 -0.76 
+-9.51 -1.43 -2.78 -0.85 -2.2 -0.98 -1.62 -1.11 -1.19 -1.21 -0.78 -1.32 -0.48 -1.39 -0.24 -1.48 
+-0.07 -1.54 -7.79 0 0.22 3.88 0.65 3.17 0.48 1.35 0.61 1.17 0.7 1.06 0.8 0.93 
+0.89 0.82 1.02 0.74 2.32 1.2 2.71 0.98 3.13 0.82 13.52 2.06 3.23 0.89 1.17 0.48 
+0.91 0.52 0.67 0.57 0.43 0.56 0.26 0.57 0.07 0.58 0 4.69 -0.15 0.89 -0.46 1.04 
+-0.83 1.11 -1.17 1.11 -1.56 1.02 -1.97 0.82 -2.41 0.57 -2.89 0.19 -3.08 -0.24 -2.61 -0.63 
+-2.15 -1 -1.71 -1.25 -1.31 -1.43 -0.91 -1.58 -0.54 -1.61 -0.18 -1.61 -8.31 0 f*
+654.12 3564.93 5.21 0 3.99 -6.1 3.43 -6.2 2.86 -6.21 2.32 -6.18 1.79 -6.08 1.25 -5.92 
+0.74 -5.71 0.24 -5.43 -0.26 -5.45 -0.8 -5.73 -1.3 -5.92 -1.84 -6.04 -2.37 -6.03 -2.84 -5.92 
+-3.37 -5.73 -1.87 -2.78 -1.97 -2.67 -5.21 0 3.13 5.47 2.71 5.49 2.32 5.56 1.91 5.64 
+1.49 5.77 1.09 5.93 0.65 6.1 0.21 6.32 -0.2 6.14 -0.61 6.01 -1 5.9 -1.45 5.86 
+-1.87 5.86 -2.32 5.9 -2.8 6.01 -3.28 6.14 f*
+782.01 3530.62 -30.67 0 0 -8.31 21.84 0 0 -4.69 -0.11 -1.76 -0.3 -1.78 -0.5 -1.75 
+-0.67 -1.74 -0.87 -1.69 -1.06 -1.61 -1.21 -1.54 -1.37 -1.46 -1.54 -1.32 -1.7 -1.2 -1.84 -1.04 
+-1.97 -0.89 -2.13 -0.68 -2.23 -0.5 -2.37 -0.26 -2.48 -0.02 -3.29 0.15 -3.04 0.48 -2.82 0.76 
+-2.59 1.04 -2.34 1.3 -2.13 1.54 -1.9 1.78 -1.7 1.98 -1.48 2.15 -1.28 2.34 -1.06 2.49 
+-0.85 2.63 -0.67 2.74 -0.48 2.84 -0.26 2.93 -0.11 3 0.13 3.23 0.39 3.08 0.63 2.93 
+0.87 2.75 1.09 2.58 1.28 2.38 1.5 2.22 1.67 1.99 1.82 1.8 2 1.59 2.14 1.34 
+2.28 1.13 2.39 0.91 2.52 0.63 2.61 0.39 2.69 0.15 2.59 -0.17 2.93 -0.52 3.1 -0.93 
+3.09 -1.43 1.48 -0.93 1.41 -1.06 1.33 -1.24 1.2 -1.39 1.06 -1.56 0.89 -1.76 0.71 -1.95 
+0.5 -2.13 9.87 0 -0.71 3.08 -0.61 1.78 -0.82 1.87 -1 1.91 -1.21 1.95 -1.43 1.95 
+-1.67 1.89 -1.88 1.8 -2.15 1.67 -2.41 1.52 -2.66 1.34 -2.95 1.09 -3.23 0.82 -3.54 0.52 
+-3.85 0.2 -3.99 -0.2 -3.8 -0.54 -3.58 -0.89 -3.37 -1.24 -3.14 -1.52 -2.91 -1.84 -2.64 -2.11 
+-2.43 -2.39 -2.15 -2.64 -1.91 -2.87 -1.62 -3.08 -1.34 -3.27 -1.07 -3.47 -0.76 -3.65 -0.48 -3.8 
+-0.15 -3.93 0.17 -4.88 0.54 -4.54 0.85 -4.17 1.19 -3.84 1.48 -3.47 1.73 -3.14 2.05 -2.82 
+2.25 -2.5 2.5 -2.19 2.73 -1.87 2.91 -1.56 3.08 -1.28 3.28 -0.97 3.41 -0.7 3.54 -0.39 
+3.64 -0.15 2.63 0.13 2.78 0.42 2.89 0.71 2.95 1.09 2.97 1.47 2.97 1.89 2.89 2.37 
+2.8 2.84 2.09 -8.83 6.23 0 0 38.48 f*
+796.05 3544.66 7.29 0 0 -9.89 3.17 4.25 2.87 3.09 2.6 2.08 1.22 0.71 1.13 0.55 
+2.06 0.54 1.79 0.04 1.56 -0.32 1.28 -0.52 0 -7.81 -4.14 -0.44 -1.82 -0.39 -1.67 -0.52 
+-1.52 -0.63 -1.37 -0.74 -1.22 -0.87 -1.06 -0.96 -0.93 -1.08 -0.79 -1.2 -0.67 -1.28 -0.52 -1.41 
+-0.41 -1.5 -0.28 -1.61 -0.22 -3.5 0 -29.12 -8.33 0 0 52.52 f*
+872.48 3508.27 -0.57 -2.45 -0.72 -2.23 -0.87 -2.07 -1 -1.88 -1.12 -1.7 -1.23 -1.54 -1.35 -1.37 
+-1.47 -1.19 -1.54 -1.05 -1.65 -0.89 -1.74 -0.74 -1.8 -0.61 -1.89 -0.43 -1.93 -0.33 -3.99 -0.26 
+-2.75 0.21 -2.58 0.46 -2.43 0.7 -2.26 0.89 -2.08 1.13 -1.93 1.32 -1.73 1.52 -1.58 1.72 
+-1.39 1.89 -1.21 2.06 -1.04 2.23 -0.87 2.41 -0.65 2.54 -0.5 2.69 -0.28 2.84 -0.09 2.95 
+0.18 4.28 0.5 3.84 0.82 3.45 1.07 3.06 1.32 2.71 1.52 2.39 1.67 2.04 1.82 1.75 
+1.91 1.48 1.99 1.21 2.05 0.96 2.04 0.75 1.99 0.54 1.96 0.38 3.6 0.28 -0.52 -7.81 
+-2.28 -0.21 -2.43 -0.7 -2.48 -1.17 -2.38 -1.7 -1.11 -1.04 -1.05 -1.17 -0.95 -1.32 -0.87 -1.46 
+-0.74 -1.61 -0.59 -1.76 -0.45 -1.91 -0.29 -2.06 30.66 0 -0.11 2.14 -0.33 1.98 -0.5 1.8 
+-0.69 1.63 -0.82 1.48 -0.93 1.32 -1.06 1.15 -1.14 1.02 -2.43 1.63 -2.52 1.13 -2.41 0.63 
+-2.12 0.19 0.52 7.81 1.79 -0.06 1.88 -0.21 1.91 -0.37 1.93 -0.56 1.93 -0.79 1.91 -1 
+1.82 -1.25 1.76 -1.55 1.65 -1.84 1.52 -2.14 1.34 -2.5 1.17 -2.86 0.93 -3.26 0.72 -3.64 
+0.45 -4.11 0.15 -4.53 -39 0 0.17 -2.71 0.59 -2.98 1.04 -3.04 0.71 -1.48 0.87 -1.43 
+1 -1.34 1.15 -1.24 1.32 -1.12 1.48 -0.96 1.68 -0.8 1.84 -0.59 2.02 -0.37 2.25 -0.13 
+2.26 0.2 2.11 0.54 1.95 0.93 1.8 1.24 1.61 1.58 1.46 1.87 1.25 2.15 1.07 2.41 
+8.34 0 f*
+928.11 3508.27 -0.57 -2.45 -0.72 -2.23 -0.86 -2.07 -1 -1.88 -1.11 -1.7 -1.26 -1.54 -1.34 -1.37 
+-1.46 -1.19 -1.56 -1.05 -1.65 -0.89 -1.73 -0.74 -1.8 -0.61 -1.86 -0.43 -1.93 -0.33 -4.02 -0.26 
+-2.75 0.21 -2.58 0.46 -2.43 0.7 -2.25 0.89 -2.09 1.13 -1.91 1.32 -1.75 1.52 -1.59 1.72 
+-1.39 1.89 -1.21 2.06 -1.04 2.23 -0.84 2.41 -0.67 2.54 -0.48 2.69 -0.3 2.84 -0.09 2.95 
+0.18 4.28 0.52 3.84 0.8 3.45 1.09 3.06 1.3 2.71 1.52 2.39 1.67 2.04 1.82 1.75 
+1.93 1.48 1.99 1.21 2.02 0.96 2.05 0.75 2.02 0.54 1.95 0.38 3.59 0.28 -0.52 -7.81 
+-2.28 -0.21 -2.43 -0.7 -2.48 -1.17 -2.37 -1.7 -1.13 -1.04 -1.04 -1.17 -0.96 -1.32 -0.84 -1.46 
+-0.74 -1.61 -0.61 -1.76 -0.46 -1.91 -0.28 -2.06 30.68 0 -0.12 2.14 -0.31 1.98 -0.52 1.8 
+-0.67 1.63 -0.82 1.48 -0.95 1.32 -1.07 1.15 -1.12 1.02 -2.43 1.63 -2.52 1.13 -2.41 0.63 
+-2.13 0.19 0.52 7.81 1.8 -0.06 1.87 -0.21 1.91 -0.37 1.93 -0.56 1.93 -0.79 1.91 -1 
+1.84 -1.25 1.76 -1.55 1.63 -1.84 1.52 -2.14 1.34 -2.5 1.18 -2.86 0.95 -3.26 0.7 -3.64 
+0.46 -4.11 0.15 -4.53 -39 0 0.2 -2.71 0.56 -2.98 1.07 -3.04 0.71 -1.48 0.85 -1.43 
+1 -1.34 1.15 -1.24 1.32 -1.12 1.48 -0.96 1.66 -0.8 1.85 -0.59 2.04 -0.37 2.23 -0.13 
+2.25 0.2 2.13 0.54 1.95 0.93 1.78 1.24 1.63 1.58 1.43 1.87 1.26 2.15 1.08 2.41 
+8.32 0 f*
+940.58 3544.66 7.79 0 0 -8.33 2.17 2.67 2.19 2.17 2.21 1.71 2.19 1.32 2.19 0.93 
+2.13 0.63 2.09 0.35 2 0.11 2.95 -0.24 2.93 -0.72 2.8 -1.11 2.56 -1.52 2.2 -1.89 
+0.91 -1.06 0.79 -1.15 0.63 -1.24 0.48 -1.28 0.3 -1.37 0.09 -1.43 0 -41.08 -8.31 0 
+0 37.43 -0.07 1.13 -0.22 1.04 -0.76 1.84 -1.16 1.52 -1.5 1.22 -1.7 0.93 -1.82 0.65 
+-1.87 0.38 -1.82 0.13 -1.28 -0.07 -1.26 -0.21 -2.5 -0.84 -2.39 -1.37 -2.13 -1.85 -0.95 -1.11 
+-0.87 -1.21 -0.78 -1.34 -0.66 -1.41 -0.52 -1.55 -0.39 -1.62 -0.24 -1.71 -0.08 -1.8 0 -30.17 
+-8.31 0 0 52.52 f*
+996.199 3492.14 8.3125 72.7891 re
+f*
+1018.04 3529.05 0.28 3.13 0.34 1.54 0.5 1.52 0.67 1.47 0.81 1.43 1 1.35 1.15 1.26 
+1.32 1.18 1.52 1.04 1.69 0.93 1.91 0.81 2.08 0.63 2.3 0.48 2.49 0.3 2.73 0.11 
+2.93 -0.15 3.21 -0.43 3.3 -0.81 3.15 -1.21 1.47 -0.8 1.35 -0.91 1.21 -1.06 1.07 -1.21 
+0.86 -1.34 0.63 -1.52 0.42 -1.7 0.15 -1.84 0 -33.29 0.17 -0.91 0.5 -0.8 0.76 -0.67 
+0.91 -0.52 1 -0.35 1.04 -0.17 0.98 0.05 0.86 0.28 0 -6.25 -2.02 -0.45 -3.17 -0.07 
+-2.25 0.07 -1.78 0.19 -1.35 0.37 -1.07 0.61 -0.82 0.87 -0.7 1.19 -1.39 3.47 -4.45 -3.25 
+-1.91 -1.17 -1.84 -0.91 -1.89 -0.65 -2.06 -0.45 -2.32 -0.24 -2.69 -0.09 -2.32 0.09 -2.12 0.24 
+-1.91 0.39 -1.71 0.54 -1.54 0.65 -1.37 0.78 -1.17 0.89 -1.04 0.98 -0.87 1.07 -0.74 1.13 
+-0.59 1.21 -0.48 1.25 -0.58 2.63 -0.2 2.71 7.81 0 0.19 -1.52 0.57 -1.46 0.91 -1.32 
+1.25 -1.15 1.57 -0.98 1.87 -0.74 2.14 -0.48 2.41 -0.15 3.47 0.43 3.04 0.89 2.61 1.26 
+2.12 1.49 1.67 1.7 1.2 1.75 0.72 1.74 0.26 1.65 0 10.39 -3.93 -1.46 -3.23 -0.76 
+-9.48 -1.43 -2.8 -0.85 -2.17 -0.98 -1.65 -1.11 -1.17 -1.21 -0.8 -1.32 -0.48 -1.39 -0.21 -1.48 
+-0.07 -1.54 -7.81 0 0.21 3.88 0.65 3.17 0.5 1.35 0.58 1.17 0.7 1.06 0.8 0.93 
+0.91 0.82 1 0.74 2.32 1.2 2.73 0.98 3.1 0.82 13.52 2.06 3.25 0.89 1.17 0.48 
+0.91 0.52 0.65 0.57 0.46 0.56 0.24 0.57 0.09 0.58 0 4.69 -0.16 0.89 -0.47 1.04 
+-0.8 1.11 -1.17 1.11 -1.56 1.02 -1.98 0.82 -2.43 0.57 -2.87 0.19 -3.08 -0.24 -2.61 -0.63 
+-2.15 -1 -1.73 -1.25 -1.3 -1.43 -0.91 -1.58 -0.52 -1.61 -0.17 -1.61 -8.33 0 f*
+1074.2 3544.66 7.79 0 0 -8.33 2.17 2.67 2.2 2.17 2.21 1.71 2.19 1.32 2.18 0.93 
+2.14 0.63 2.06 0.35 2 0.11 2.95 -0.24 2.95 -0.72 2.8 -1.11 2.54 -1.52 2.2 -1.89 
+0.93 -1.06 0.78 -1.15 0.63 -1.24 0.48 -1.28 0.28 -1.37 0.11 -1.43 0 -41.08 -8.31 0 
+0 37.43 -0.09 1.13 -0.2 1.04 -0.79 1.84 -1.17 1.52 -1.47 1.22 -1.69 0.93 -1.85 0.65 
+-1.86 0.38 -1.8 0.13 -1.29 -0.07 -1.28 -0.21 -2.49 -0.84 -2.37 -1.37 -2.15 -1.85 -0.95 -1.11 
+-0.87 -1.21 -0.76 -1.34 -0.65 -1.41 -0.52 -1.55 -0.39 -1.62 -0.24 -1.71 -0.08 -1.8 0 -30.17 
+-8.32 0 0 52.52 f*
+1163.61 3564.93 8.31 0 0 -72.79 -7.27 0 0 6.77 -1.41 -1.91 -1.5 -1.75 -1.65 -1.59 
+-1.88 -1.39 -2.13 -1.13 -2.48 -0.87 -2.84 -0.54 -3.28 -0.2 -3.17 0.21 -2.87 0.57 -2.58 0.93 
+-2.32 1.22 -2.08 1.52 -1.82 1.73 -1.59 1.93 -1.37 2.08 -1.17 2.23 -0.98 2.32 -0.79 2.37 
+-0.61 2.41 -0.48 2.37 -0.3 2.34 -0.24 4.37 8.83 0 0.09 -2.04 0.21 -2 0.34 -1.93 
+0.48 -1.88 0.61 -1.8 0.72 -1.71 0.82 -1.63 0.96 -1.5 1.04 -1.37 1.16 -1.23 1.25 -1.07 
+1.32 -0.91 1.41 -0.74 1.48 -0.54 1.56 -0.33 1.63 -0.11 1.46 0.09 1.41 0.26 1.37 0.46 
+1.34 0.61 1.26 0.78 1.19 0.96 1.14 1.11 1.04 1.26 0.95 1.41 0.84 1.58 0.76 1.69 
+0.63 1.87 0.5 1.98 0.37 2.13 0.22 2.23 0.08 2.39 -0.17 2.36 -0.3 2.24 -0.43 2.11 
+-0.56 1.95 -0.68 1.8 -0.76 1.67 -0.89 1.52 -0.96 1.37 -1.02 1.22 -1.12 1.04 -1.17 0.91 
+-1.22 0.74 -1.25 0.58 -1.33 0.43 -1.32 0.24 -1.37 0.09 -1.28 -0.09 -1.3 -0.28 -1.32 -0.48 
+-1.3 -0.63 -1.29 -0.82 -1.25 -0.95 -1.2 -1.13 -1.13 -1.26 -1.07 -1.41 -0.95 -1.54 -0.85 -1.67 
+-0.74 -1.8 -0.58 -1.89 -0.46 -2.02 -0.26 -2.11 -0.11 -2.19 -8.83 0 0.18 3.73 0.46 3.45 
+0.74 3.12 0.97 2.84 1.2 2.59 1.37 2.28 1.54 2.04 1.67 1.78 1.78 1.54 1.87 1.3 
+1.88 1.06 1.93 0.87 1.91 0.65 1.87 0.46 1.8 0.29 1.71 0.08 1.69 -0.11 1.91 -0.33 
+2.06 -0.56 2.15 -0.83 2.13 -1.12 2.06 -1.46 1.91 -1.78 1.69 -2.15 0 27.04 f*
+11.1111 w
+255 0 r3
+2616.43 3195.77 102.9 0 S
+255 0 r6
+2616.43 3246.59 102.9 0 S
+255 0 r5
+2616.43 3297.39 102.9 0 S
+128 0 255 rG
+2616.43 3348.22 102.9 0 S
+K
+2722.77 3213.87 3.99 0 0 -13.24 1 1.34 1.13 1.02 1.15 0.74 1.15 0.52 2.02 0.52 
+1.28 0.11 1.91 -0.15 1.89 -0.52 1.8 -0.89 1.65 -1.31 1.41 -1.8 1.11 -2.28 0.71 -2.84 
+0.26 -3.45 -0.18 -2.88 -0.5 -2.65 -0.85 -2.39 -1.2 -2.04 -1.56 -1.7 -0.93 -0.67 -1.02 -0.58 
+-1.11 -0.46 -1.2 -0.33 -1.3 -0.2 -1.41 -0.07 -1.7 0.16 -1.91 0.65 -1 0.54 -0.93 0.75 
+-0.89 0.93 -0.81 1.2 0 -3 -3.99 0 0 11.98 ^ 0.16 -1.91 0.46 -1.79 
+0.7 -1.61 0.91 -1.41 1.08 -1.15 1.22 -0.89 1.32 -0.54 1.39 -0.2 1.67 0.24 1.48 0.7 
+1.23 1.04 1.02 1.32 0.8 1.54 0.57 1.7 0.35 1.74 0.13 1.71 -0.22 2.34 -0.57 2.02 
+-0.84 1.67 -1.06 1.37 -1.17 1.02 -1.19 0.74 -1.15 0.43 -1.04 0.13 -1.46 -0.2 -1.34 -0.59 
+-1.23 -0.93 -1.07 -1.24 -0.89 -1.52 -0.68 -1.73 -0.41 -1.93 -0.16 -2.08 -3.99 0 0 22.96 f*
+2769.42 3195.64 -3.99 0 -0.18 1.04 -0.34 0.98 -0.5 0.93 -0.67 0.83 -0.83 0.71 -0.99 0.54 
+-1.15 0.35 -1.33 0.11 -1.58 -0.2 -1.41 -0.54 -1.2 -0.91 -0.97 -1.21 -0.8 -1.5 -0.57 -1.74 
+-0.34 -1.97 -0.11 -2.15 0.13 -2.13 0.37 -1.88 0.61 -1.63 0.82 -1.35 1.05 -1.06 1.23 -0.8 
+1.43 -0.48 1.61 -0.16 1.48 0.18 1.23 0.45 1.05 0.7 0.82 0.87 0.63 0.98 0.43 1.04 
+0.26 1.04 0.08 0.97 4 0 -0.17 -1.93 -0.5 -1.82 -0.8 -1.69 -1.15 -1.5 -1.47 -1.26 
+-1.8 -0.95 -2.12 -0.61 -2.46 -0.2 -1.45 0.07 -1.33 0.24 -1.21 0.36 -1.11 0.52 -1 0.63 
+-0.89 0.74 -1.5 1.8 -1.12 2.1 -0.79 2.37 -0.45 2.52 -0.13 2.61 0.11 1.8 0.28 1.65 
+0.39 1.5 0.5 1.34 0.63 1.22 0.7 1.06 1.61 1.8 1.78 1.31 1.82 0.89 1.8 0.52 
+1.61 0.15 1.76 -0.13 1.69 -0.37 1.61 -0.65 1.43 -0.93 1.26 -1.26 1.02 -1.61 0.76 -1.95 
+0.46 -2.34 f*
+2793.38 3195.64 -3.99 0 -0.18 1.04 -0.35 0.98 -0.5 0.93 -0.67 0.83 -0.82 0.71 -1 0.54 
+-1.15 0.35 -1.32 0.11 -1.58 -0.2 -1.41 -0.54 -1.2 -0.91 -1 -1.21 -0.78 -1.5 -0.57 -1.74 
+-0.35 -1.97 -0.11 -2.15 0.13 -2.13 0.37 -1.88 0.61 -1.63 0.83 -1.35 1.04 -1.06 1.24 -0.8 
+1.43 -0.48 1.59 -0.16 1.47 0.18 1.26 0.45 1.04 0.7 0.83 0.87 0.63 0.98 0.43 1.04 
+0.26 1.04 0.07 0.97 3.99 0 -0.16 -1.93 -0.5 -1.82 -0.8 -1.69 -1.15 -1.5 -1.48 -1.26 
+-1.8 -0.95 -2.13 -0.61 -2.47 -0.2 -1.43 0.07 -1.32 0.24 -1.21 0.36 -1.11 0.52 -1 0.63 
+-0.89 0.74 -1.5 1.8 -1.13 2.1 -0.78 2.37 -0.45 2.52 -0.13 2.61 0.11 1.8 0.28 1.65 
+0.39 1.5 0.5 1.34 0.63 1.22 0.7 1.06 1.61 1.8 1.75 1.31 1.84 0.89 1.79 0.52 
+1.63 0.15 1.76 -0.13 1.7 -0.37 1.58 -0.65 1.46 -0.93 1.25 -1.26 1.02 -1.61 0.76 -1.95 
+0.45 -2.34 f*
+2796.88 3190.41 11.4766 3.49219 re
+f*
+2833.31 3195.64 -4 0 -0.17 1.04 -0.34 0.98 -0.5 0.93 -0.67 0.83 -0.83 0.71 -1 0.54 
+-1.15 0.35 -1.33 0.11 -1.58 -0.2 -1.41 -0.54 -1.19 -0.91 -1 -1.21 -0.79 -1.5 -0.57 -1.74 
+-0.34 -1.97 -0.11 -2.15 0.13 -2.13 0.37 -1.88 0.61 -1.63 0.82 -1.35 1.04 -1.06 1.23 -0.8 
+1.43 -0.48 1.58 -0.16 1.48 0.18 1.26 0.45 1.04 0.7 0.82 0.87 0.61 0.98 0.46 1.04 
+0.24 1.04 0.08 0.97 4 0 -0.15 -1.93 -0.5 -1.82 -0.82 -1.69 -1.13 -1.5 -1.47 -1.26 
+-1.8 -0.95 -2.14 -0.61 -2.46 -0.2 -1.43 0.07 -1.33 0.24 -1.21 0.36 -1.11 0.52 -0.99 0.63 
+-0.89 0.74 -1.52 1.8 -1.12 2.1 -0.76 2.37 -0.46 2.52 -0.15 2.61 0.13 1.8 0.26 1.65 
+0.41 1.5 0.5 1.34 0.61 1.22 0.71 1.06 1.59 1.8 1.78 1.31 1.84 0.89 1.78 0.52 
+1.63 0.15 1.76 -0.13 1.69 -0.37 1.58 -0.65 1.46 -0.93 1.26 -1.26 1.02 -1.61 0.76 -1.95 
+0.46 -2.34 f*
+2851.52 3197.13 4.26 0 -0.33 2.06 -0.7 1.7 -1.04 1.34 -1.26 1.02 -1.41 0.76 -1.52 0.5 
+-1.52 0.28 -1.48 0.09 -1.78 -0.13 -1.74 -0.39 -1.65 -0.62 -1.47 -0.89 -1.26 -1.13 -0.98 -1.37 
+-0.62 -1.61 -0.22 -1.84 0.09 -1.15 0.24 -1.06 0.43 -0.93 0.61 -0.84 0.8 -0.76 0.97 -0.65 
+1.2 -0.59 1.39 -0.5 6.25 -1.5 1.52 -0.48 1.2 -0.72 0.75 -0.98 0.2 -0.63 0.07 -0.69 
+-0.08 -0.82 -0.29 -0.74 -0.48 -0.7 -0.65 -0.59 -0.85 -0.48 -1.02 -0.37 -1.22 -0.21 -1.41 -0.09 
+-1.58 0.09 -1.29 0.28 -0.97 0.41 -0.74 0.58 -0.54 0.74 -0.39 0.85 -0.48 2.04 -4.23 0 
+0.24 -1.81 0.43 -1.66 0.67 -1.48 0.96 -1.28 1.3 -1.07 1.73 -0.78 2.17 -0.5 2.71 -0.16 
+1.87 0.11 1.84 0.39 1.72 0.65 1.56 0.89 1.32 1.16 1.02 1.41 0.68 1.67 0.24 1.93 
+-0.13 1.32 -0.39 1.17 -0.63 1.05 -0.85 0.89 -1.11 0.78 -1.32 0.7 -1.54 0.59 -1.78 0.5 
+-4.73 0.99 -1.78 0.79 -0.97 0.87 -0.42 0.91 -0.08 0.93 0.11 0.87 0.33 0.76 0.52 0.65 
+0.67 0.52 0.8 0.41 0.93 0.3 2.13 0.22 1.22 -0.07 0.99 -0.24 0.85 -0.35 0.65 -0.5 
+0.52 -0.58 0.37 -0.67 0.39 -1.59 4.26 0 -4.26 0 f*
+2862.26 3204.12 3.49 0 0 -3.73 1.93 2.17 1.82 1.39 0.93 0.43 0.95 0.29 2.09 0.21 
+1.8 -0.24 1.67 -0.54 0.8 -0.48 0.83 -0.67 0.8 -0.89 0.84 -1.17 1.98 2 0.95 0.69 
+0.93 0.52 1.89 0.61 1.97 0.17 1.24 -0.09 1.25 -0.3 1.22 -0.48 1.13 -0.69 0.96 -0.91 
+0.76 -1.11 0.5 -1.34 0.17 -1.56 0 -19.47 -4 0 0 17.97 -0.11 0.91 -0.3 0.85 
+-0.48 0.76 -0.61 0.67 -0.7 0.54 -0.74 0.41 -0.79 0.26 -0.78 0.09 -1.04 -0.13 -1.05 -0.35 
+-0.99 -0.57 -0.93 -0.73 -0.8 -0.89 -0.61 -1.02 -0.41 -1.11 -0.13 -1.2 0 -16.47 -3.99 0 
+0 17.97 -0.13 0.91 -0.3 0.85 -0.48 0.76 -0.63 0.67 -0.72 0.54 -0.8 0.41 -0.85 0.26 
+-0.84 0.09 -0.89 -0.11 -0.95 -0.34 -0.96 -0.52 -0.91 -0.71 -0.8 -0.87 -0.66 -1.02 -0.41 -1.15 
+-0.15 -1.26 0 -16.47 -3.99 0 0 25.2 f*
+2912.41 3212.87 2.74 0 0 -33.94 -4.23 0 0 24.2 -7.49 0 0 3 3.02 0.37 
+1.37 0.29 1.24 0.48 1.08 0.75 0.93 1.14 0.79 1.61 0.56 2.12 f*
+2927.39 3190.41 11.4766 3.49219 re
+f*
+2955.08 3212.87 2.75 0 0 -33.94 -4.25 0 0 24.2 -7.49 0 0 3 3.02 0.37 
+1.37 0.29 1.24 0.48 1.09 0.75 0.95 1.14 0.76 1.61 0.57 2.12 f*
+2752.45 3253.32 -0.71 2.86 -1 2.41 -1.3 1.97 -1.61 1.59 -1.87 1.19 -2.14 0.83 -2.41 0.48 
+-2.67 0.15 -1.82 -0.09 -1.72 -0.25 -1.63 -0.44 -1.52 -0.58 -1.39 -0.74 -1.31 -0.89 -1.19 -1.02 
+-1.06 -1.15 -0.98 -1.28 -0.84 -1.39 -0.72 -1.52 -0.61 -1.59 -0.85 -3.49 -0.34 -3.77 0.09 -2.2 
+0.21 -2.04 0.39 -1.91 0.54 -1.75 0.66 -1.63 0.78 -1.5 0.91 -1.37 1.05 -1.21 1.11 -1.09 
+1.24 -0.93 1.32 -0.78 1.39 -0.65 1.47 -0.5 1.54 -0.37 1.61 -0.22 1.67 -0.09 1.8 0.09 
+1.65 0.2 1.52 0.35 1.39 0.48 1.26 0.58 1.13 0.7 1.02 0.79 0.89 0.89 1.47 2.04 
+1.07 2.32 0.67 2.59 0.34 2.73 -4.49 0 -0.46 -2.43 -0.63 -2.04 -0.84 -1.69 -1.06 -1.33 
+-1.28 -1.02 -1.54 -0.7 -1.82 -0.41 -2.08 -0.13 -1.45 0.09 -1.35 0.2 -1.24 0.35 -1.13 0.47 
+-1.04 0.59 -0.93 0.71 -1.61 1.71 -1.21 2.11 -0.85 2.41 -0.52 2.69 -0.16 2.91 0.22 3.19 
+0.65 2.82 1.05 2.43 1.39 2.04 1.7 1.61 1.95 1.17 2.17 0.71 2.37 0.24 1.73 -0.12 
+1.63 -0.37 1.5 -0.61 1.34 -0.84 1.13 -1.09 0.91 -1.28 0.63 -1.48 0.35 -1.69 4.49 0 f*
+2787.13 3253.32 -0.7 2.86 -1.02 2.41 -1.3 1.97 -1.59 1.59 -1.86 1.19 -2.15 0.83 -2.43 0.48 
+-2.66 0.15 -1.82 -0.09 -1.71 -0.25 -1.63 -0.44 -1.5 -0.58 -1.41 -0.74 -1.3 -0.89 -1.2 -1.02 
+-1.06 -1.15 -0.96 -1.28 -0.84 -1.39 -0.74 -1.52 -0.61 -1.59 -0.85 -3.49 -0.34 -3.77 0.08 -2.2 
+0.24 -2.04 0.39 -1.91 0.52 -1.75 0.65 -1.63 0.8 -1.5 0.91 -1.37 1.02 -1.21 1.13 -1.09 
+1.21 -0.93 1.32 -0.78 1.39 -0.65 1.48 -0.5 1.56 -0.37 1.61 -0.22 1.65 -0.09 1.8 0.09 
+1.65 0.2 1.52 0.35 1.39 0.48 1.26 0.58 1.13 0.7 1.02 0.79 0.91 0.89 1.45 2.04 
+1.07 2.32 0.7 2.59 0.32 2.73 -4.49 0 -0.46 -2.43 -0.63 -2.04 -0.85 -1.69 -1.04 -1.33 
+-1.31 -1.02 -1.54 -0.7 -1.8 -0.41 -2.11 -0.13 -1.46 0.09 -1.32 0.2 -1.24 0.35 -1.15 0.47 
+-1.04 0.59 -0.93 0.71 -1.58 1.71 -1.24 2.11 -0.85 2.41 -0.5 2.69 -0.18 2.91 0.24 3.19 
+0.66 2.82 1.04 2.43 1.37 2.04 1.7 1.61 1.95 1.17 2.17 0.71 2.37 0.24 1.73 -0.12 
+1.63 -0.37 1.52 -0.61 1.32 -0.84 1.13 -1.09 0.91 -1.28 0.65 -1.48 0.33 -1.69 4.49 0 f*
+2818.84 3254.08 -0.07 1.3 -0.22 1.23 -0.33 1.13 -0.43 1.06 -1.21 1.84 -1.61 1.5 -1.93 1.17 
+-2.21 0.82 -2.41 0.5 -2.56 0.15 -2.97 -0.2 -2.56 -0.57 -2.15 -0.89 -1.74 -1.21 -1.34 -1.5 
+-0.95 -1.74 -0.56 -1.97 -0.2 -2.15 0.13 -1.73 0.35 -1.45 0.54 -1.22 0.72 -1 0.87 -0.82 
+0.98 -0.7 2.15 -1.06 11.24 -2.99 2.36 -1.05 0.85 -0.58 0.69 -0.63 0.5 -0.67 0.33 -0.72 
+0.2 -0.78 0.07 -0.83 -0.11 -1.17 -0.32 -1.13 -0.57 -1.02 -0.87 -0.89 -1.21 -0.74 -1.56 -0.57 
+-1.95 -0.34 -2.39 -0.13 -2.43 0.2 -2.04 0.5 -1.7 0.78 -1.32 1.02 -1.02 1.21 -0.7 1.34 
+-0.41 1.46 -0.13 1.48 -4.5 0 0.22 -2.45 0.65 -2.26 1.09 -2.04 1.52 -1.76 1.97 -1.45 
+2.46 -1.09 2.93 -0.69 3.41 -0.24 3.14 0.22 2.76 0.63 2.3 0.96 1.91 1.3 1.46 1.54 
+1.06 1.79 0.63 1.97 0.21 2.08 -0.15 1.7 -0.46 1.54 -0.69 1.37 -0.89 1.17 -1.07 1.02 
+-1.17 0.82 -1.26 0.65 -1.3 0.48 -11.24 2.99 -1.95 1.02 -1.13 0.98 -0.32 0.54 -0.2 0.61 
+-0.13 1.58 0.16 1.32 0.46 1.15 0.71 1 0.95 0.8 1.15 0.63 1.3 0.48 1.45 0.26 
+1.55 0.11 2.04 -0.15 1.75 -0.39 1.5 -0.63 1.24 -0.82 0.95 -1.04 0.7 -1.17 0.42 -1.34 
+0.15 -1.43 4.5 0 f*
+2825.57 3264.3 6.25 0 10.22 -30.45 10.24 30.45 6.23 0 0 -34.94 -4.23 0 0 29.21 
+-9.98 -29.21 -4.75 0 -9.72 29.21 0 -29.21 -4.25 0 0 34.94 f*
+2878.73 3263.3 2.99 0 0 -21.96 5.23 0 0 -3.99 ^ 0 -7.99 -4.25 0 
+^ -14.21 0 0 3.99 ^ 0 14.74 -10.48 -14.74 -3.73 0 0 0.5 
+15.47 21.46 f*
+2752.45 3304.28 -0.71 2.84 -1 2.41 -1.3 2 -1.61 1.56 -1.87 1.2 -2.14 0.83 -2.41 0.48 
+-2.67 0.15 -1.82 -0.09 -1.72 -0.25 -1.63 -0.44 -1.52 -0.58 -1.39 -0.74 -1.31 -0.89 -1.19 -1.02 
+-1.06 -1.15 -0.98 -1.28 -0.84 -1.39 -0.72 -1.5 -0.61 -1.61 -0.85 -3.47 -0.34 -3.79 0.09 -2.17 
+0.21 -2.04 0.39 -1.91 0.54 -1.78 0.66 -1.63 0.78 -1.5 0.91 -1.37 1.05 -1.21 1.11 -1.06 
+1.24 -0.93 1.32 -0.8 1.39 -0.66 1.47 -0.49 1.54 -0.37 1.61 -0.22 1.67 -0.07 1.8 0.07 
+1.65 0.22 1.52 0.33 1.39 0.48 1.26 0.58 1.13 0.7 1.02 0.78 0.89 0.91 1.47 2.02 
+1.07 2.34 0.67 2.56 0.34 2.73 -4.49 0 -0.46 -2.43 -0.63 -2.04 -0.84 -1.67 -1.06 -1.35 
+-1.28 -0.99 -1.54 -0.72 -1.82 -0.39 -2.08 -0.13 -1.45 0.07 -1.35 0.21 -1.24 0.34 -1.13 0.46 
+-1.04 0.61 -0.93 0.7 -1.61 1.71 -1.21 2.11 -0.85 2.41 -0.52 2.69 -0.16 2.91 0.22 3.19 
+0.65 2.82 1.05 2.43 1.39 2.04 1.7 1.61 1.95 1.18 2.17 0.71 2.37 0.26 1.73 -0.13 
+1.63 -0.39 1.5 -0.61 1.34 -0.84 1.13 -1.07 0.91 -1.28 0.63 -1.5 0.35 -1.67 4.49 0 f*
+2759.7 3315.23 24.2 0 0 -3.97 -19.7 0 0 -11.24 18.95 0 0 -4 ^ 
+0 -11.71 20.44 0 0 -4 -24.93 0 0 34.92 f*
+2816.08 3305.01 -0.07 1.33 -0.2 1.21 -0.32 1.13 -0.46 1.07 -1.21 1.84 -1.61 1.49 -1.93 1.17 
+-2.2 0.83 -2.41 0.5 -2.58 0.15 -2.98 -0.17 -2.54 -0.57 -2.14 -0.91 -1.76 -1.21 -1.34 -1.5 
+-0.96 -1.74 -0.56 -1.95 -0.2 -2.17 0.13 -1.71 0.35 -1.46 0.57 -1.21 0.71 -1.02 0.87 -0.83 
+0.96 -0.69 2.17 -1.06 11.21 -2.99 2.37 -1.02 0.87 -0.59 0.67 -0.63 0.5 -0.69 0.35 -0.72 
+0.19 -0.78 0.05 -0.8 -0.09 -1.2 -0.33 -1.13 -0.58 -0.99 -0.87 -0.89 -1.2 -0.73 -1.56 -0.57 
+-1.95 -0.37 -2.41 -0.11 -2.41 0.17 -2.04 0.5 -1.7 0.8 -1.34 1.02 -1 1.2 -0.7 1.37 
+-0.41 1.43 -0.13 1.5 -4.49 0 0.21 -2.46 0.63 -2.28 1.09 -2.02 1.54 -1.79 1.97 -1.45 
+2.46 -1.09 2.91 -0.67 3.41 -0.24 3.17 0.22 2.73 0.61 2.32 0.98 1.89 1.28 1.47 1.56 
+1.07 1.79 0.63 1.95 0.2 2.11 -0.15 1.7 -0.43 1.52 -0.7 1.37 -0.89 1.19 -1.07 1 
+-1.17 0.85 -1.28 0.65 -1.3 0.46 -11.22 2.99 -1.95 1.02 -1.13 0.98 -0.32 0.54 -0.21 0.63 
+-0.13 1.59 0.17 1.3 0.46 1.18 0.71 0.98 0.93 0.8 1.15 0.65 1.33 0.45 1.43 0.29 
+1.57 0.08 2.02 -0.13 1.76 -0.39 1.5 -0.62 1.24 -0.85 0.97 -1.02 0.69 -1.2 0.41 -1.32 
+0.13 -1.45 4.49 0 f*
+2822.83 3315.23 6.23 0 10.25 -30.42 10.22 30.42 6.25 0 0 -34.92 -4.26 0 0 29.19 
+-9.98 -29.19 -4.73 0 -9.74 29.19 0 -29.19 -4.23 0 0 34.92 f*
+2872.98 3314.23 2.75 0 0 -33.92 -4.25 0 0 24.2 -7.48 0 0 3 3.01 0.34 
+1.37 0.3 1.23 0.48 1.09 0.75 0.95 1.13 0.76 1.58 0.57 2.13 f*
+2887.96 3291.79 11.4766 3.49609 re
+f*
+2933.62 3304.28 -0.72 2.84 -1 2.41 -1.3 2 -1.59 1.56 -1.89 1.2 -2.15 0.83 -2.41 0.48 
+-2.67 0.15 -1.82 -0.09 -1.72 -0.25 -1.62 -0.44 -1.52 -0.58 -1.39 -0.74 -1.3 -0.89 -1.2 -1.02 
+-1.07 -1.15 -0.98 -1.28 -0.82 -1.39 -0.74 -1.5 -0.61 -1.61 -0.84 -3.47 -0.35 -3.79 0.09 -2.17 
+0.24 -2.04 0.37 -1.91 0.55 -1.78 0.65 -1.63 0.8 -1.5 0.91 -1.37 1.02 -1.21 1.13 -1.06 
+1.21 -0.93 1.32 -0.8 1.39 -0.66 1.48 -0.49 1.54 -0.37 1.61 -0.22 1.67 -0.07 1.8 0.07 
+1.65 0.22 1.52 0.33 1.39 0.48 1.25 0.58 1.13 0.7 1.02 0.78 0.89 0.91 1.48 2.02 
+1.06 2.34 0.67 2.56 0.35 2.73 -4.5 0 -0.45 -2.43 -0.63 -2.04 -0.85 -1.67 -1.06 -1.35 
+-1.29 -0.99 -1.54 -0.72 -1.82 -0.39 -2.09 -0.13 -1.45 0.07 -1.34 0.21 -1.24 0.34 -1.12 0.46 
+-1.04 0.61 -0.93 0.7 -1.61 1.71 -1.22 2.11 -0.84 2.41 -0.5 2.69 -0.17 2.91 0.22 3.19 
+0.65 2.82 1.04 2.43 1.39 2.04 1.7 1.61 1.96 1.18 2.17 0.71 2.36 0.26 1.74 -0.13 
+1.63 -0.39 1.5 -0.61 1.34 -0.84 1.13 -1.07 0.91 -1.28 0.63 -1.5 0.34 -1.67 4.5 0 f*
+2949.85 3315.23 5.73 0 12.24 -34.92 -4.99 0 -3.5 10.22 -13.74 0 -3.49 -10.22 -4.99 0 
+10.98 29.95 4.49 0 -5.73 -15.73 11.21 0 -5.49 15.73 -4.49 0 1.76 4.97 f*
+2972.05 3315.23 6.25 0 10.22 -30.42 10.21 30.42 6.25 0 0 -34.92 -4.25 0 0 29.19 
+-9.98 -29.19 -4.73 0 -9.72 29.19 0 -29.19 -4.25 0 0 34.92 f*
+3013.48 3314.23 17.71 0 0 -3.97 -14.21 0 -1.26 -9.74 1.24 0.87 1.45 0.71 1.74 0.48 
+2.06 0.2 1.76 -0.15 1.83 -0.46 1.8 -0.8 1.67 -1.15 1.47 -1.56 1.17 -2 0.43 -1.15 
+0.33 -1.28 0.2 -1.41 0.09 -1.52 -0.2 -2.39 -0.57 -2.28 -0.91 -2.06 -1.3 -1.82 -1.65 -1.52 
+-2.02 -1.17 -2.36 -0.74 -2.74 -0.26 -2.52 0.2 -2.14 0.54 -1.8 0.89 -1.47 1.15 -1.2 1.41 
+-0.93 1.61 -0.67 1.78 -0.48 1.91 4.23 0 0.43 -1.24 0.56 -1.12 0.65 -0.98 0.79 -0.82 
+0.91 -0.68 1.02 -0.49 1.13 -0.31 1.25 -0.09 1.7 0.13 1.52 0.37 1.32 0.65 1.11 0.91 
+0.89 1.15 0.65 1.41 0.42 1.67 0.13 1.93 -0.11 1.41 -0.33 1.41 -0.54 1.35 -0.8 1.23 
+-1.02 1.05 -1.3 0.82 -1.56 0.52 -1.83 0.2 -1.82 -0.2 -1.5 -0.58 -1.48 -1 -1.7 -1.46 
+-3.73 0 2.49 18.45 f*
+2754.71 3353.21 -14.74 0 0 -4 10.48 0 0 -2.25 -0.2 -1.7 -0.57 -1.66 -0.91 -1.59 
+-1.26 -1.43 -1.54 -1.21 -1.84 -0.93 -2.09 -0.57 -2.32 -0.13 -1.59 0.09 -1.47 0.21 -1.35 0.37 
+-1.23 0.5 -1.13 0.63 -1.02 0.74 -0.91 0.84 -0.82 0.96 -1.3 2.15 -0.93 2.45 -0.54 2.7 
+-0.18 2.84 0.24 3.04 0.71 2.71 1.15 2.39 1.52 2.02 1.82 1.63 2.13 1.19 2.36 0.74 
+2.54 0.26 1.24 -0.09 1.41 -0.24 1.48 -0.45 1.47 -0.7 1.39 -0.95 1.21 -1.26 0.93 -1.58 
+0.59 -1.98 4.75 0 -0.35 1.5 -0.69 1.73 -1.06 1.87 -1.5 1.82 -1.93 1.7 -1.15 0.72 
+-1.28 0.65 -1.43 0.52 -1.54 0.39 -1.7 0.26 -1.84 0.09 -1.93 -0.09 -1.82 -0.26 -1.72 -0.43 
+-1.61 -0.58 -1.52 -0.74 -1.39 -0.89 -1.28 -1.02 -1.15 -1.13 -1.04 -1.28 -0.91 -1.37 -0.78 -1.47 
+-0.65 -1.59 -0.5 -1.67 -0.37 -1.74 -0.24 -1.82 -0.06 -1.89 0.09 -2.34 0.24 -2.17 0.43 -2.02 
+0.57 -1.82 0.7 -1.67 0.84 -1.52 0.98 -1.37 1.08 -1.2 1.2 -1.04 1.3 -0.89 1.41 -0.76 
+1.47 -0.61 1.56 -0.48 1.65 -0.33 3.45 -0.26 2.58 0.26 1.39 0.35 1.41 0.52 1.43 0.7 
+1.43 0.91 1.39 1.13 1.34 1.37 1 -4.23 3 0 0 18.46 f*
+2762.93 3334.75 4.49609 34.9375 re
+f*
+2800.37 3359.44 -0.06 1.33 -0.21 1.21 -0.33 1.15 -0.43 1.04 -1.22 1.84 -1.61 1.52 -1.93 1.15 
+-2.21 0.83 -2.41 0.5 -2.56 0.17 -2.97 -0.2 -2.56 -0.57 -2.14 -0.91 -1.74 -1.2 -1.34 -1.49 
+-0.96 -1.76 -0.56 -1.95 -0.2 -2.17 0.13 -1.71 0.35 -1.45 0.54 -1.22 0.74 -1 0.84 -0.84 
+0.98 -0.67 2.17 -1.08 11.21 -3 2.37 -1.02 0.87 -0.59 0.67 -0.63 0.5 -0.67 0.33 -0.74 
+0.2 -0.76 0.07 -0.83 -0.11 -1.19 -0.3 -1.11 -0.58 -1.02 -0.87 -0.89 -1.22 -0.74 -1.56 -0.56 
+-1.96 -0.35 -2.39 -0.13 -2.43 0.17 -2.04 0.52 -1.67 0.78 -1.34 1.02 -1 1.21 -0.72 1.34 
+-0.39 1.43 -0.13 1.5 -4.49 0 0.19 -2.45 0.65 -2.26 1.08 -2.04 1.52 -1.76 1.99 -1.45 
+2.43 -1.09 2.93 -0.7 3.41 -0.24 3.17 0.21 2.73 0.61 2.3 0.97 1.91 1.29 1.47 1.56 
+1.05 1.78 0.63 1.95 0.22 2.11 -0.15 1.7 -0.45 1.54 -0.7 1.34 -0.89 1.2 -1.05 1 
+-1.2 0.84 -1.25 0.65 -1.3 0.45 -11.22 3 -1.98 1.02 -1.13 0.98 -0.32 0.54 -0.2 0.63 
+-0.13 1.58 0.15 1.32 0.46 1.15 0.71 0.98 0.96 0.82 1.15 0.63 1.31 0.46 1.45 0.28 
+1.54 0.09 2.04 -0.12 1.76 -0.39 1.5 -0.63 1.23 -0.84 0.96 -1.02 0.7 -1.2 0.41 -1.32 
+0.16 -1.46 4.49 0 f*
+2832.31 3359.44 -0.06 1.33 -0.21 1.21 -0.33 1.15 -0.43 1.04 -1.24 1.84 -1.59 1.52 -1.93 1.15 
+-2.21 0.83 -2.41 0.5 -2.56 0.17 -2.97 -0.2 -2.56 -0.57 -2.14 -0.91 -1.74 -1.2 -1.35 -1.49 
+-0.95 -1.76 -0.56 -1.95 -0.2 -2.17 0.13 -1.71 0.34 -1.45 0.55 -1.22 0.71 -1 0.87 -0.84 
+0.98 -0.67 2.15 -1.08 11.24 -3 2.37 -1.02 0.84 -0.59 0.67 -0.63 0.5 -0.67 0.35 -0.74 
+0.19 -0.76 0.07 -0.83 -0.11 -1.19 -0.33 -1.11 -0.56 -1.02 -0.86 -0.89 -1.22 -0.74 -1.56 -0.56 
+-1.96 -0.35 -2.39 -0.13 -2.43 0.17 -2.04 0.52 -1.7 0.78 -1.32 1.02 -1.02 1.21 -0.7 1.34 
+-0.41 1.43 -0.13 1.5 -4.49 0 0.21 -2.45 0.65 -2.26 1.09 -2.04 1.52 -1.76 1.97 -1.45 
+2.46 -1.09 2.93 -0.7 3.4 -0.24 3.15 0.21 2.73 0.61 2.32 0.97 1.91 1.29 1.45 1.56 
+1.07 1.78 0.63 1.95 0.22 2.11 -0.15 1.7 -0.45 1.54 -0.7 1.34 -0.89 1.2 -1.07 1 
+-1.17 0.84 -1.25 0.65 -1.3 0.45 -11.24 3 -1.95 1.02 -1.13 0.98 -0.32 0.54 -0.2 0.63 
+-0.12 1.58 0.15 1.32 0.46 1.15 0.71 0.98 0.96 0.82 1.15 0.63 1.3 0.46 1.45 0.28 
+1.54 0.09 2.04 -0.12 1.75 -0.39 1.5 -0.63 1.23 -0.84 0.96 -1.02 0.69 -1.2 0.41 -1.32 
+0.15 -1.46 4.49 0 f*
+2837.54 3346.22 11.4805 3.49219 re
+f*
+2855.77 3369.68 24.2 0 0 -4 -19.71 0 0 -11.24 18.97 0 0 -3.99 ^ 
+0 -11.72 20.46 0 0 -3.99 -24.95 0 0 34.94 f*
+2885.72 3356.95 4.23 0 0.11 1.71 0.33 1.54 0.52 1.37 0.76 1.15 0.98 0.93 1.2 0.72 
+1.43 0.41 1.67 0.16 1.29 -0.11 1.21 -0.35 1.09 -0.54 0.98 -0.74 0.8 -0.93 0.61 -1.11 
+0.39 -1.29 0.13 -1.43 -0.11 -1.43 -0.37 -1.22 -0.58 -1.04 -0.85 -0.91 -1.08 -0.89 -1.32 -0.89 
+-3.43 -2.11 -2.89 -1.67 -2.37 -1.71 -1.86 -1.76 -1.41 -1.8 -1.05 -1.89 -0.67 -1.99 -0.37 -2.13 
+-0.11 -2.25 22.7 0 0 3.99 -17.96 0 0.45 1.54 0.61 1.26 0.8 1.08 1.02 0.98 
+2.73 1.86 3.86 2.26 2.26 1.11 1.84 1.24 1.52 1.37 1.2 1.43 0.87 1.49 0.61 1.54 
+0.35 1.52 0.11 1.52 -0.24 2.09 -0.63 1.87 -1.02 1.65 -1.37 1.43 -1.63 1.15 -1.87 0.84 
+-2.04 0.52 -2.2 0.2 -2.34 -0.17 -2.14 -0.55 -1.91 -0.89 -1.65 -1.25 -1.35 -1.65 -1 -2.02 
+-0.62 -2.41 -0.2 -2.8 f*
+2912.16 3346.22 11.4766 3.49219 re
+f*
+2930.38 3369.68 17.21 0 1.78 -0.15 1.73 -0.46 1.65 -0.76 1.48 -1.04 1.25 -1.34 0.98 -1.63 
+0.63 -1.91 0.24 -2.19 -0.11 -1.43 -0.26 -1.3 -0.48 -1.17 -0.63 -1.07 -0.8 -0.95 -1 -0.85 
+-1.15 -0.78 -1.32 -0.69 1.65 -0.74 1.2 -0.93 0.84 -1.09 0.57 -1.23 0.3 -1.37 0.15 -1.52 
+0.05 -3.34 0.2 -2.37 0.36 -1.65 0.63 -1.15 1.05 -0.82 0 -1 -5.49 0 -0.57 1.52 
+-0.3 1.67 -0.11 2.49 -0.02 4.04 -0.11 1.3 -0.32 1.11 -0.48 0.91 -0.65 0.71 -0.74 0.54 
+-0.85 0.38 -0.91 0.24 -0.93 0.06 -12.22 0 0 -14.97 -4.49 0 0 30.94 ^ 
+0 -11.98 12.22 0 1.17 0.09 1.06 0.25 0.93 0.44 0.8 0.63 0.65 0.82 0.48 1.02 
+0.28 1.25 0.11 1.48 -0.11 1.41 -0.3 1.22 -0.5 1.02 -0.67 0.85 -0.87 0.65 -1.02 0.48 
+-1.17 0.29 -1.34 0.08 -16.21 0 0 4 f*
+2959.83 3326.26 28.6914 2.23438 re
+f*
+3019.21 3358.7 -0.7 2.87 -1.02 2.41 -1.3 1.97 -1.58 1.59 -1.89 1.17 -2.12 0.85 -2.43 0.47 
+-2.67 0.16 -1.82 -0.09 -1.71 -0.26 -1.63 -0.43 -1.5 -0.58 -1.41 -0.76 -1.3 -0.87 -1.2 -1.04 
+-1.06 -1.15 -0.95 -1.28 -0.85 -1.39 -0.73 -1.5 -0.61 -1.61 -0.84 -3.47 -0.35 -3.79 0.09 -2.17 
+0.24 -2.04 0.37 -1.91 0.54 -1.78 0.65 -1.62 0.8 -1.5 0.91 -1.35 1.02 -1.21 1.13 -1.08 
+1.22 -0.93 1.32 -0.81 1.39 -0.62 1.48 -0.52 1.54 -0.37 1.61 -0.21 1.67 -0.07 1.8 0.07 
+1.65 0.21 1.52 0.35 1.39 0.45 1.25 0.59 1.13 0.69 1.02 0.81 0.89 0.89 1.48 2.04 
+1.06 2.32 0.67 2.56 0.35 2.73 -4.5 0 -0.46 -2.41 -0.62 -2.06 -0.84 -1.67 -1.07 -1.35 
+-1.28 -1 -1.54 -0.69 -1.8 -0.42 -2.11 -0.13 -1.45 0.07 -1.33 0.22 -1.25 0.34 -1.13 0.48 
+-1.05 0.59 -0.93 0.7 -1.61 1.73 -1.22 2.09 -0.84 2.43 -0.5 2.69 -0.17 2.89 0.21 3.19 
+0.67 2.82 1.05 2.45 1.37 2.02 1.69 1.63 1.96 1.17 2.16 0.71 2.37 0.24 1.74 -0.12 
+1.63 -0.37 1.5 -0.62 1.34 -0.85 1.13 -1.07 0.91 -1.28 0.63 -1.5 0.34 -1.67 4.5 0 f*
+3053.91 3358.7 -0.72 2.87 -1.02 2.41 -1.3 1.97 -1.59 1.59 -1.86 1.17 -2.15 0.85 -2.41 0.47 
+-2.69 0.16 -1.82 -0.09 -1.71 -0.26 -1.61 -0.43 -1.52 -0.58 -1.41 -0.76 -1.3 -0.87 -1.17 -1.04 
+-1.08 -1.15 -0.96 -1.28 -0.85 -1.39 -0.73 -1.5 -0.61 -1.61 -0.85 -3.47 -0.35 -3.79 0.09 -2.17 
+0.24 -2.04 0.39 -1.91 0.52 -1.78 0.67 -1.62 0.79 -1.5 0.91 -1.35 1.02 -1.21 1.13 -1.08 
+1.21 -0.93 1.33 -0.81 1.41 -0.62 1.47 -0.52 1.55 -0.37 1.61 -0.21 1.64 -0.07 1.8 0.07 
+1.67 0.21 1.52 0.35 1.37 0.45 1.26 0.59 1.15 0.69 1 0.81 0.91 0.89 1.46 2.04 
+1.06 2.32 0.7 2.56 0.35 2.73 -4.5 0 -0.45 -2.41 -0.65 -2.06 -0.84 -1.67 -1.04 -1.35 
+-1.3 -1 -1.54 -0.69 -1.8 -0.42 -2.11 -0.13 -1.43 0.07 -1.35 0.22 -1.23 0.34 -1.15 0.48 
+-1.02 0.59 -0.96 0.7 -1.58 1.73 -1.22 2.09 -0.87 2.43 -0.5 2.69 -0.17 2.89 0.24 3.19 
+0.65 2.82 1.04 2.45 1.39 2.02 1.67 1.63 1.95 1.17 2.2 0.71 2.34 0.24 1.74 -0.12 
+1.65 -0.37 1.5 -0.62 1.33 -0.85 1.15 -1.07 0.89 -1.28 0.65 -1.5 0.35 -1.67 4.49 0 f*
+601.11 3529.05 0.26 3.13 0.37 1.54 0.5 1.52 0.66 1.47 0.82 1.43 0.98 1.35 1.15 1.26 
+1.34 1.18 1.52 1.04 1.7 0.93 1.89 0.81 2.11 0.63 2.28 0.48 2.52 0.3 2.71 0.11 
+2.93 -0.15 3.23 -0.43 3.28 -0.81 3.16 -1.21 1.46 -0.8 1.37 -0.91 1.21 -1.06 1.04 -1.21 
+0.87 -1.34 0.65 -1.52 0.41 -1.7 0.13 -1.84 0 -33.29 0.2 -0.91 0.5 -0.8 0.74 -0.67 
+0.91 -0.52 1.02 -0.35 1.02 -0.17 1 0.05 0.87 0.28 0 -6.25 -2.02 -0.45 -3.19 -0.07 
+-2.26 0.07 -1.76 0.19 -1.37 0.37 -1.04 0.61 -0.82 0.87 -0.71 1.19 -1.39 3.47 -4.43 -3.25 
+-1.91 -1.17 -1.85 -0.91 -1.9 -0.65 -2.05 -0.45 -2.32 -0.24 -2.69 -0.09 -2.34 0.09 -2.11 0.24 
+-1.93 0.39 -1.72 0.54 -1.54 0.65 -1.34 0.78 -1.2 0.89 -1.02 0.98 -0.89 1.07 -0.71 1.13 
+-0.61 1.21 -0.46 1.25 -0.61 2.63 -0.17 2.71 7.79 0 0.2 -1.52 0.57 -1.46 0.91 -1.32 
+1.26 -1.15 1.56 -0.98 1.87 -0.74 2.15 -0.48 2.41 -0.15 3.5 0.43 3.04 0.89 2.58 1.26 
+2.13 1.49 1.66 1.7 1.22 1.75 0.71 1.74 0.24 1.65 0 10.39 -3.9 -1.46 -3.23 -0.76 
+-9.51 -1.43 -2.78 -0.85 -2.2 -0.98 -1.62 -1.11 -1.19 -1.21 -0.78 -1.32 -0.48 -1.39 -0.24 -1.48 
+-0.07 -1.54 -7.79 0 0.22 3.88 0.65 3.17 0.48 1.35 0.61 1.17 0.7 1.06 0.8 0.93 
+0.89 0.82 1.02 0.74 2.32 1.2 2.71 0.98 3.13 0.82 13.52 2.06 3.23 0.89 1.17 0.48 
+0.91 0.52 0.67 0.57 0.43 0.56 0.26 0.57 0.07 0.58 0 4.69 -0.15 0.89 -0.46 1.04 
+-0.83 1.11 -1.17 1.11 -1.56 1.02 -1.97 0.82 -2.41 0.57 -2.89 0.19 -3.08 -0.24 -2.61 -0.63 
+-2.15 -1 -1.71 -1.25 -1.31 -1.43 -0.91 -1.58 -0.54 -1.61 -0.18 -1.61 -8.31 0 f*
+654.12 3564.93 5.21 0 3.99 -6.1 3.43 -6.2 2.86 -6.21 2.32 -6.18 1.79 -6.08 1.25 -5.92 
+0.74 -5.71 0.24 -5.43 -0.26 -5.45 -0.8 -5.73 -1.3 -5.92 -1.84 -6.04 -2.37 -6.03 -2.84 -5.92 
+-3.37 -5.73 -1.87 -2.78 -1.97 -2.67 -5.21 0 3.13 5.47 2.71 5.49 2.32 5.56 1.91 5.64 
+1.49 5.77 1.09 5.93 0.65 6.1 0.21 6.32 -0.2 6.14 -0.61 6.01 -1 5.9 -1.45 5.86 
+-1.87 5.86 -2.32 5.9 -2.8 6.01 -3.28 6.14 f*
+782.01 3530.62 -30.67 0 0 -8.31 21.84 0 0 -4.69 -0.11 -1.76 -0.3 -1.78 -0.5 -1.75 
+-0.67 -1.74 -0.87 -1.69 -1.06 -1.61 -1.21 -1.54 -1.37 -1.46 -1.54 -1.32 -1.7 -1.2 -1.84 -1.04 
+-1.97 -0.89 -2.13 -0.68 -2.23 -0.5 -2.37 -0.26 -2.48 -0.02 -3.29 0.15 -3.04 0.48 -2.82 0.76 
+-2.59 1.04 -2.34 1.3 -2.13 1.54 -1.9 1.78 -1.7 1.98 -1.48 2.15 -1.28 2.34 -1.06 2.49 
+-0.85 2.63 -0.67 2.74 -0.48 2.84 -0.26 2.93 -0.11 3 0.13 3.23 0.39 3.08 0.63 2.93 
+0.87 2.75 1.09 2.58 1.28 2.38 1.5 2.22 1.67 1.99 1.82 1.8 2 1.59 2.14 1.34 
+2.28 1.13 2.39 0.91 2.52 0.63 2.61 0.39 2.69 0.15 2.59 -0.17 2.93 -0.52 3.1 -0.93 
+3.09 -1.43 1.48 -0.93 1.41 -1.06 1.33 -1.24 1.2 -1.39 1.06 -1.56 0.89 -1.76 0.71 -1.95 
+0.5 -2.13 9.87 0 -0.71 3.08 -0.61 1.78 -0.82 1.87 -1 1.91 -1.21 1.95 -1.43 1.95 
+-1.67 1.89 -1.88 1.8 -2.15 1.67 -2.41 1.52 -2.66 1.34 -2.95 1.09 -3.23 0.82 -3.54 0.52 
+-3.85 0.2 -3.99 -0.2 -3.8 -0.54 -3.58 -0.89 -3.37 -1.24 -3.14 -1.52 -2.91 -1.84 -2.64 -2.11 
+-2.43 -2.39 -2.15 -2.64 -1.91 -2.87 -1.62 -3.08 -1.34 -3.27 -1.07 -3.47 -0.76 -3.65 -0.48 -3.8 
+-0.15 -3.93 0.17 -4.88 0.54 -4.54 0.85 -4.17 1.19 -3.84 1.48 -3.47 1.73 -3.14 2.05 -2.82 
+2.25 -2.5 2.5 -2.19 2.73 -1.87 2.91 -1.56 3.08 -1.28 3.28 -0.97 3.41 -0.7 3.54 -0.39 
+3.64 -0.15 2.63 0.13 2.78 0.42 2.89 0.71 2.95 1.09 2.97 1.47 2.97 1.89 2.89 2.37 
+2.8 2.84 2.09 -8.83 6.23 0 0 38.48 f*
+796.05 3544.66 7.29 0 0 -9.89 3.17 4.25 2.87 3.09 2.6 2.08 1.22 0.71 1.13 0.55 
+2.06 0.54 1.79 0.04 1.56 -0.32 1.28 -0.52 0 -7.81 -4.14 -0.44 -1.82 -0.39 -1.67 -0.52 
+-1.52 -0.63 -1.37 -0.74 -1.22 -0.87 -1.06 -0.96 -0.93 -1.08 -0.79 -1.2 -0.67 -1.28 -0.52 -1.41 
+-0.41 -1.5 -0.28 -1.61 -0.22 -3.5 0 -29.12 -8.33 0 0 52.52 f*
+872.48 3508.27 -0.57 -2.45 -0.72 -2.23 -0.87 -2.07 -1 -1.88 -1.12 -1.7 -1.23 -1.54 -1.35 -1.37 
+-1.47 -1.19 -1.54 -1.05 -1.65 -0.89 -1.74 -0.74 -1.8 -0.61 -1.89 -0.43 -1.93 -0.33 -3.99 -0.26 
+-2.75 0.21 -2.58 0.46 -2.43 0.7 -2.26 0.89 -2.08 1.13 -1.93 1.32 -1.73 1.52 -1.58 1.72 
+-1.39 1.89 -1.21 2.06 -1.04 2.23 -0.87 2.41 -0.65 2.54 -0.5 2.69 -0.28 2.84 -0.09 2.95 
+0.18 4.28 0.5 3.84 0.82 3.45 1.07 3.06 1.32 2.71 1.52 2.39 1.67 2.04 1.82 1.75 
+1.91 1.48 1.99 1.21 2.05 0.96 2.04 0.75 1.99 0.54 1.96 0.38 3.6 0.28 -0.52 -7.81 
+-2.28 -0.21 -2.43 -0.7 -2.48 -1.17 -2.38 -1.7 -1.11 -1.04 -1.05 -1.17 -0.95 -1.32 -0.87 -1.46 
+-0.74 -1.61 -0.59 -1.76 -0.45 -1.91 -0.29 -2.06 30.66 0 -0.11 2.14 -0.33 1.98 -0.5 1.8 
+-0.69 1.63 -0.82 1.48 -0.93 1.32 -1.06 1.15 -1.14 1.02 -2.43 1.63 -2.52 1.13 -2.41 0.63 
+-2.12 0.19 0.52 7.81 1.79 -0.06 1.88 -0.21 1.91 -0.37 1.93 -0.56 1.93 -0.79 1.91 -1 
+1.82 -1.25 1.76 -1.55 1.65 -1.84 1.52 -2.14 1.34 -2.5 1.17 -2.86 0.93 -3.26 0.72 -3.64 
+0.45 -4.11 0.15 -4.53 -39 0 0.17 -2.71 0.59 -2.98 1.04 -3.04 0.71 -1.48 0.87 -1.43 
+1 -1.34 1.15 -1.24 1.32 -1.12 1.48 -0.96 1.68 -0.8 1.84 -0.59 2.02 -0.37 2.25 -0.13 
+2.26 0.2 2.11 0.54 1.95 0.93 1.8 1.24 1.61 1.58 1.46 1.87 1.25 2.15 1.07 2.41 
+8.34 0 f*
+928.11 3508.27 -0.57 -2.45 -0.72 -2.23 -0.86 -2.07 -1 -1.88 -1.11 -1.7 -1.26 -1.54 -1.34 -1.37 
+-1.46 -1.19 -1.56 -1.05 -1.65 -0.89 -1.73 -0.74 -1.8 -0.61 -1.86 -0.43 -1.93 -0.33 -4.02 -0.26 
+-2.75 0.21 -2.58 0.46 -2.43 0.7 -2.25 0.89 -2.09 1.13 -1.91 1.32 -1.75 1.52 -1.59 1.72 
+-1.39 1.89 -1.21 2.06 -1.04 2.23 -0.84 2.41 -0.67 2.54 -0.48 2.69 -0.3 2.84 -0.09 2.95 
+0.18 4.28 0.52 3.84 0.8 3.45 1.09 3.06 1.3 2.71 1.52 2.39 1.67 2.04 1.82 1.75 
+1.93 1.48 1.99 1.21 2.02 0.96 2.05 0.75 2.02 0.54 1.95 0.38 3.59 0.28 -0.52 -7.81 
+-2.28 -0.21 -2.43 -0.7 -2.48 -1.17 -2.37 -1.7 -1.13 -1.04 -1.04 -1.17 -0.96 -1.32 -0.84 -1.46 
+-0.74 -1.61 -0.61 -1.76 -0.46 -1.91 -0.28 -2.06 30.68 0 -0.12 2.14 -0.31 1.98 -0.52 1.8 
+-0.67 1.63 -0.82 1.48 -0.95 1.32 -1.07 1.15 -1.12 1.02 -2.43 1.63 -2.52 1.13 -2.41 0.63 
+-2.13 0.19 0.52 7.81 1.8 -0.06 1.87 -0.21 1.91 -0.37 1.93 -0.56 1.93 -0.79 1.91 -1 
+1.84 -1.25 1.76 -1.55 1.63 -1.84 1.52 -2.14 1.34 -2.5 1.18 -2.86 0.95 -3.26 0.7 -3.64 
+0.46 -4.11 0.15 -4.53 -39 0 0.2 -2.71 0.56 -2.98 1.07 -3.04 0.71 -1.48 0.85 -1.43 
+1 -1.34 1.15 -1.24 1.32 -1.12 1.48 -0.96 1.66 -0.8 1.85 -0.59 2.04 -0.37 2.23 -0.13 
+2.25 0.2 2.13 0.54 1.95 0.93 1.78 1.24 1.63 1.58 1.43 1.87 1.26 2.15 1.08 2.41 
+8.32 0 f*
+940.58 3544.66 7.79 0 0 -8.33 2.17 2.67 2.19 2.17 2.21 1.71 2.19 1.32 2.19 0.93 
+2.13 0.63 2.09 0.35 2 0.11 2.95 -0.24 2.93 -0.72 2.8 -1.11 2.56 -1.52 2.2 -1.89 
+0.91 -1.06 0.79 -1.15 0.63 -1.24 0.48 -1.28 0.3 -1.37 0.09 -1.43 0 -41.08 -8.31 0 
+0 37.43 -0.07 1.13 -0.22 1.04 -0.76 1.84 -1.16 1.52 -1.5 1.22 -1.7 0.93 -1.82 0.65 
+-1.87 0.38 -1.82 0.13 -1.28 -0.07 -1.26 -0.21 -2.5 -0.84 -2.39 -1.37 -2.13 -1.85 -0.95 -1.11 
+-0.87 -1.21 -0.78 -1.34 -0.66 -1.41 -0.52 -1.55 -0.39 -1.62 -0.24 -1.71 -0.08 -1.8 0 -30.17 
+-8.31 0 0 52.52 f*
+996.199 3492.14 8.3125 72.7891 re
+f*
+1018.04 3529.05 0.28 3.13 0.34 1.54 0.5 1.52 0.67 1.47 0.81 1.43 1 1.35 1.15 1.26 
+1.32 1.18 1.52 1.04 1.69 0.93 1.91 0.81 2.08 0.63 2.3 0.48 2.49 0.3 2.73 0.11 
+2.93 -0.15 3.21 -0.43 3.3 -0.81 3.15 -1.21 1.47 -0.8 1.35 -0.91 1.21 -1.06 1.07 -1.21 
+0.86 -1.34 0.63 -1.52 0.42 -1.7 0.15 -1.84 0 -33.29 0.17 -0.91 0.5 -0.8 0.76 -0.67 
+0.91 -0.52 1 -0.35 1.04 -0.17 0.98 0.05 0.86 0.28 0 -6.25 -2.02 -0.45 -3.17 -0.07 
+-2.25 0.07 -1.78 0.19 -1.35 0.37 -1.07 0.61 -0.82 0.87 -0.7 1.19 -1.39 3.47 -4.45 -3.25 
+-1.91 -1.17 -1.84 -0.91 -1.89 -0.65 -2.06 -0.45 -2.32 -0.24 -2.69 -0.09 -2.32 0.09 -2.12 0.24 
+-1.91 0.39 -1.71 0.54 -1.54 0.65 -1.37 0.78 -1.17 0.89 -1.04 0.98 -0.87 1.07 -0.74 1.13 
+-0.59 1.21 -0.48 1.25 -0.58 2.63 -0.2 2.71 7.81 0 0.19 -1.52 0.57 -1.46 0.91 -1.32 
+1.25 -1.15 1.57 -0.98 1.87 -0.74 2.14 -0.48 2.41 -0.15 3.47 0.43 3.04 0.89 2.61 1.26 
+2.12 1.49 1.67 1.7 1.2 1.75 0.72 1.74 0.26 1.65 0 10.39 -3.93 -1.46 -3.23 -0.76 
+-9.48 -1.43 -2.8 -0.85 -2.17 -0.98 -1.65 -1.11 -1.17 -1.21 -0.8 -1.32 -0.48 -1.39 -0.21 -1.48 
+-0.07 -1.54 -7.81 0 0.21 3.88 0.65 3.17 0.5 1.35 0.58 1.17 0.7 1.06 0.8 0.93 
+0.91 0.82 1 0.74 2.32 1.2 2.73 0.98 3.1 0.82 13.52 2.06 3.25 0.89 1.17 0.48 
+0.91 0.52 0.65 0.57 0.46 0.56 0.24 0.57 0.09 0.58 0 4.69 -0.16 0.89 -0.47 1.04 
+-0.8 1.11 -1.17 1.11 -1.56 1.02 -1.98 0.82 -2.43 0.57 -2.87 0.19 -3.08 -0.24 -2.61 -0.63 
+-2.15 -1 -1.73 -1.25 -1.3 -1.43 -0.91 -1.58 -0.52 -1.61 -0.17 -1.61 -8.33 0 f*
+1074.2 3544.66 7.79 0 0 -8.33 2.17 2.67 2.2 2.17 2.21 1.71 2.19 1.32 2.18 0.93 
+2.14 0.63 2.06 0.35 2 0.11 2.95 -0.24 2.95 -0.72 2.8 -1.11 2.54 -1.52 2.2 -1.89 
+0.93 -1.06 0.78 -1.15 0.63 -1.24 0.48 -1.28 0.28 -1.37 0.11 -1.43 0 -41.08 -8.31 0 
+0 37.43 -0.09 1.13 -0.2 1.04 -0.79 1.84 -1.17 1.52 -1.47 1.22 -1.69 0.93 -1.85 0.65 
+-1.86 0.38 -1.8 0.13 -1.29 -0.07 -1.28 -0.21 -2.49 -0.84 -2.37 -1.37 -2.15 -1.85 -0.95 -1.11 
+-0.87 -1.21 -0.76 -1.34 -0.65 -1.41 -0.52 -1.55 -0.39 -1.62 -0.24 -1.71 -0.08 -1.8 0 -30.17 
+-8.32 0 0 52.52 f*
+1163.61 3564.93 8.31 0 0 -72.79 -7.27 0 0 6.77 -1.41 -1.91 -1.5 -1.75 -1.65 -1.59 
+-1.88 -1.39 -2.13 -1.13 -2.48 -0.87 -2.84 -0.54 -3.28 -0.2 -3.17 0.21 -2.87 0.57 -2.58 0.93 
+-2.32 1.22 -2.08 1.52 -1.82 1.73 -1.59 1.93 -1.37 2.08 -1.17 2.23 -0.98 2.32 -0.79 2.37 
+-0.61 2.41 -0.48 2.37 -0.3 2.34 -0.24 4.37 8.83 0 0.09 -2.04 0.21 -2 0.34 -1.93 
+0.48 -1.88 0.61 -1.8 0.72 -1.71 0.82 -1.63 0.96 -1.5 1.04 -1.37 1.16 -1.23 1.25 -1.07 
+1.32 -0.91 1.41 -0.74 1.48 -0.54 1.56 -0.33 1.63 -0.11 1.46 0.09 1.41 0.26 1.37 0.46 
+1.34 0.61 1.26 0.78 1.19 0.96 1.14 1.11 1.04 1.26 0.95 1.41 0.84 1.58 0.76 1.69 
+0.63 1.87 0.5 1.98 0.37 2.13 0.22 2.23 0.08 2.39 -0.17 2.36 -0.3 2.24 -0.43 2.11 
+-0.56 1.95 -0.68 1.8 -0.76 1.67 -0.89 1.52 -0.96 1.37 -1.02 1.22 -1.12 1.04 -1.17 0.91 
+-1.22 0.74 -1.25 0.58 -1.33 0.43 -1.32 0.24 -1.37 0.09 -1.28 -0.09 -1.3 -0.28 -1.32 -0.48 
+-1.3 -0.63 -1.29 -0.82 -1.25 -0.95 -1.2 -1.13 -1.13 -1.26 -1.07 -1.41 -0.95 -1.54 -0.85 -1.67 
+-0.74 -1.8 -0.58 -1.89 -0.46 -2.02 -0.26 -2.11 -0.11 -2.19 -8.83 0 0.18 3.73 0.46 3.45 
+0.74 3.12 0.97 2.84 1.2 2.59 1.37 2.28 1.54 2.04 1.67 1.78 1.78 1.54 1.87 1.3 
+1.88 1.06 1.93 0.87 1.91 0.65 1.87 0.46 1.8 0.29 1.71 0.08 1.69 -0.11 1.91 -0.33 
+2.06 -0.56 2.15 -0.83 2.13 -1.12 2.06 -1.46 1.91 -1.78 1.69 -2.15 0 27.04 f*
+Q q
+599.543 997.371 2540.76 952.801 re
+Y*
+222 176 255 rG
+695.42 1230.29 0 201.41 47.94 11.87 47.94 31.05 47.93 -43.67 47.94 62.14 47.94 21.41 47.94 -78.71 
+47.94 52.7 47.94 -11.27 47.94 34.07 47.94 14.93 47.94 33.61 47.94 -33.7 47.94 -27.49 47.93 15.6 
+47.94 27.7 47.94 -67.21 47.94 4.77 47.94 14.76 47.94 21.33 47.94 50.11 47.96 28.84 47.94 -57.08 
+47.94 0.46 47.93 -36.07 47.94 59.85 47.94 2.15 47.94 73.11 47.94 -44.96 47.94 -2.14 47.94 -11.83 
+47.94 -33.38 47.94 25.07 47.94 15.41 47.93 26.93 47.94 10.68 47.94 30.57 47.94 -22.46 47.94 41.06 
+47.94 7.27 47.94 -72.31 47.94 -38.76 47.94 41.56 47.94 -38.73 47.94 -1.61 47.93 10.98 47.94 -32.64 
+47.94 31.82 47.94 -13.09 47.94 -11.42 0 -224.58 -47.94 4.95 -47.94 27.04 -47.94 -17.38 -47.94 8.96 
+-47.93 87.28 -47.94 -55.57 -47.94 49.35 -47.94 1.08 -47.94 -8.91 -47.94 34.78 -47.94 22.34 -47.94 -48.96 
+-47.94 21.94 -47.94 1.63 -47.94 -40.75 -47.93 -16.37 -47.94 32.12 -47.94 -19.88 -47.94 -61.13 -47.94 43.02 
+-47.94 40.69 -47.94 37.59 -47.94 -107.57 -47.94 10.75 -47.94 -9.81 -47.93 -33.59 -47.94 10.89 -47.94 30.88 
+-47.96 -28.61 -47.94 -23.57 -47.94 19.47 -47.94 -4.26 -47.94 -12.37 -47.94 -2.49 -47.94 6.96 -47.93 2.91 
+-47.94 2.21 -47.94 27.84 -47.94 -6.99 -47.94 -60.79 -47.94 8.16 -47.94 -15.54 -47.94 -31.55 -47.94 17.16 
+-47.94 2.43 -47.94 7.7 -47.93 5.63 -47.94 -35.37 -47.94 -24.39 f*
+695.42 1230.29 0 201.41 47.94 11.87 47.94 31.05 47.93 -43.67 47.94 62.14 47.94 21.41 47.94 -78.71 
+47.94 52.7 47.94 -11.27 47.94 34.07 47.94 14.93 47.94 33.61 47.94 -33.7 47.94 -27.49 47.93 15.6 
+47.94 27.7 47.94 -67.21 47.94 4.77 47.94 14.76 47.94 21.33 47.94 50.11 47.96 28.84 47.94 -57.08 
+47.94 0.46 47.93 -36.07 47.94 59.85 47.94 2.15 47.94 73.11 47.94 -44.96 47.94 -2.14 47.94 -11.83 
+47.94 -33.38 47.94 25.07 47.94 15.41 47.93 26.93 47.94 10.68 47.94 30.57 47.94 -22.46 47.94 41.06 
+47.94 7.27 47.94 -72.31 47.94 -38.76 47.94 41.56 47.94 -38.73 47.94 -1.61 47.93 10.98 47.94 -32.64 
+47.94 31.82 47.94 -13.09 47.94 -11.42 0 -224.58 -47.94 4.95 -47.94 27.04 -47.94 -17.38 -47.94 8.96 
+-47.93 87.28 -47.94 -55.57 -47.94 49.35 -47.94 1.08 -47.94 -8.91 -47.94 34.78 -47.94 22.34 -47.94 -48.96 
+-47.94 21.94 -47.94 1.63 -47.94 -40.75 -47.93 -16.37 -47.94 32.12 -47.94 -19.88 -47.94 -61.13 -47.94 43.02 
+-47.94 40.69 -47.94 37.59 -47.94 -107.57 -47.94 10.75 -47.94 -9.81 -47.93 -33.59 -47.94 10.89 -47.94 30.88 
+-47.96 -28.61 -47.94 -23.57 -47.94 19.47 -47.94 -4.26 -47.94 -12.37 -47.94 -2.49 -47.94 6.96 -47.93 2.91 
+-47.94 2.21 -47.94 27.84 -47.94 -6.99 -47.94 -60.79 -47.94 8.16 -47.94 -15.54 -47.94 -31.55 -47.94 17.16 
+-47.94 2.43 -47.94 7.7 -47.93 5.63 -47.94 -35.37 -47.94 -24.39 f*
+245 186 r5
+695.42 1310.57 0 126.37 47.94 63.91 47.94 148.81 47.93 -122.88 47.94 175.54 47.94 -78.32 47.94 -9.27 
+47.94 -29.08 47.94 133 47.94 -227.95 47.94 146.38 47.94 203.86 47.94 -389.34 47.94 291.58 47.93 -20.7 
+47.94 -18.05 47.94 -5.69 47.94 -27.75 47.94 -59.72 47.94 326.39 47.94 -115.99 47.96 -261 47.94 -162.61 
+47.94 60.88 47.93 44.16 47.94 152.45 47.94 -12.52 47.94 -0.24 47.94 -74.52 47.94 164.2 47.94 -141.93 
+47.94 -123.59 47.94 -82.23 47.94 -31.49 47.93 -10.27 47.94 238.59 47.94 88.91 47.94 71.66 47.94 -45.98 
+47.94 9.66 47.94 -79.84 47.94 -224.79 47.94 -32.75 47.94 152.43 47.94 -76.93 47.93 -23.54 47.94 -43.84 
+47.94 238.57 47.94 -166.69 47.94 55.73 0 -301.65 -47.94 -110.66 -47.94 293.6 -47.94 -153.17 -47.94 -39.11 
+-47.93 -183.25 -47.94 198.09 -47.94 49.54 -47.94 -37.65 -47.94 136.59 -47.94 -111.95 -47.94 194.74 -47.94 82.8 
+-47.94 84.68 -47.94 -418.82 -47.94 2.28 -47.93 58.16 -47.94 -12.29 -47.94 18.95 -47.94 0.76 -47.94 252.87 
+-47.94 34.46 -47.94 -284.42 -47.94 242.11 -47.94 -236.44 -47.94 129 -47.93 -103.34 -47.94 -147.11 -47.94 -87.91 
+-47.96 335.76 -47.94 195.98 -47.94 -96.68 -47.94 -35.07 -47.94 -65.84 -47.94 -129.77 -47.94 171.68 -47.93 1.52 
+-47.94 8.46 -47.94 -247.77 -47.94 151.43 -47.94 15.75 -47.94 184.96 -47.94 -132.49 -47.94 -300.52 -47.94 354.45 
+-47.94 -160.94 -47.94 116.02 -47.93 91.8 -47.94 -247.77 -47.94 44.62 f*
+695.42 1310.57 0 126.37 47.94 63.91 47.94 148.81 47.93 -122.88 47.94 175.54 47.94 -78.32 47.94 -9.27 
+47.94 -29.08 47.94 133 47.94 -227.95 47.94 146.38 47.94 203.86 47.94 -389.34 47.94 291.58 47.93 -20.7 
+47.94 -18.05 47.94 -5.69 47.94 -27.75 47.94 -59.72 47.94 326.39 47.94 -115.99 47.96 -261 47.94 -162.61 
+47.94 60.88 47.93 44.16 47.94 152.45 47.94 -12.52 47.94 -0.24 47.94 -74.52 47.94 164.2 47.94 -141.93 
+47.94 -123.59 47.94 -82.23 47.94 -31.49 47.93 -10.27 47.94 238.59 47.94 88.91 47.94 71.66 47.94 -45.98 
+47.94 9.66 47.94 -79.84 47.94 -224.79 47.94 -32.75 47.94 152.43 47.94 -76.93 47.93 -23.54 47.94 -43.84 
+47.94 238.57 47.94 -166.69 47.94 55.73 0 -301.65 -47.94 -110.66 -47.94 293.6 -47.94 -153.17 -47.94 -39.11 
+-47.93 -183.25 -47.94 198.09 -47.94 49.54 -47.94 -37.65 -47.94 136.59 -47.94 -111.95 -47.94 194.74 -47.94 82.8 
+-47.94 84.68 -47.94 -418.82 -47.94 2.28 -47.93 58.16 -47.94 -12.29 -47.94 18.95 -47.94 0.76 -47.94 252.87 
+-47.94 34.46 -47.94 -284.42 -47.94 242.11 -47.94 -236.44 -47.94 129 -47.93 -103.34 -47.94 -147.11 -47.94 -87.91 
+-47.96 335.76 -47.94 195.98 -47.94 -96.68 -47.94 -35.07 -47.94 -65.84 -47.94 -129.77 -47.94 171.68 -47.93 1.52 
+-47.94 8.46 -47.94 -247.77 -47.94 151.43 -47.94 15.75 -47.94 184.96 -47.94 -132.49 -47.94 -300.52 -47.94 354.45 
+-47.94 -160.94 -47.94 116.02 -47.93 91.8 -47.94 -247.77 -47.94 44.62 f*
+255 189 r3
+695.42 1369.92 0 116.32 47.94 -61.21 47.94 59.33 47.93 104.17 47.94 65.93 47.94 52.63 47.94 -221.37 
+47.94 289.93 47.94 -153.02 47.94 -120.81 47.94 11.22 47.94 135.22 47.94 -76.59 47.94 188.45 47.93 -180.36 
+47.94 15.02 47.94 64.86 47.94 26.41 47.94 -65.14 47.94 -125.52 47.94 15.13 47.96 -99.05 47.94 50.24 
+47.94 14.37 47.93 94.46 47.94 54.73 47.94 -8.96 47.94 -32.73 47.94 52.52 47.94 -18.77 47.94 -147.46 
+47.94 209.7 47.94 -59.09 47.94 -204.64 47.93 271.48 47.94 -20.92 47.94 109.14 47.94 -269.25 47.94 179.75 
+47.94 -137.41 47.94 50.24 47.94 62.5 47.94 -133.05 47.94 101.73 47.94 -146.87 47.93 -71.07 47.94 226.47 
+47.94 -195.14 47.94 132.71 47.94 -237.61 0 -53.06 -47.94 22.7 -47.94 -39.65 -47.94 127.41 -47.94 -72.83 
+-47.93 -200.5 -47.94 169.88 -47.94 -71.57 -47.94 -55.99 -47.94 168.88 -47.94 -28.62 -47.94 176.3 -47.94 -193.82 
+-47.94 286.57 -47.94 -243.07 -47.94 87.78 -47.93 -73.3 -47.94 95.45 -47.94 29.84 -47.94 -296.7 -47.94 -163.91 
+-47.94 218.21 -47.94 115.88 -47.94 -56.47 -47.94 161.35 -47.94 -129.97 -47.93 -88.78 -47.94 64.63 -47.94 -76.11 
+-47.96 -132.3 -47.94 236.63 -47.94 -78.04 -47.94 86.76 -47.94 195.16 -47.94 -95.31 -47.94 -194.14 -47.93 364 
+-47.94 -181.09 -47.94 38.06 -47.94 -180.42 -47.94 67.38 -47.94 161.03 -47.94 9.72 -47.94 -225.11 -47.94 222.81 
+-47.94 -151.82 -47.94 145.74 -47.93 -165.23 -47.94 -170.16 -47.94 197.22 f*
+695.42 1369.92 0 116.32 47.94 -61.21 47.94 59.33 47.93 104.17 47.94 65.93 47.94 52.63 47.94 -221.37 
+47.94 289.93 47.94 -153.02 47.94 -120.81 47.94 11.22 47.94 135.22 47.94 -76.59 47.94 188.45 47.93 -180.36 
+47.94 15.02 47.94 64.86 47.94 26.41 47.94 -65.14 47.94 -125.52 47.94 15.13 47.96 -99.05 47.94 50.24 
+47.94 14.37 47.93 94.46 47.94 54.73 47.94 -8.96 47.94 -32.73 47.94 52.52 47.94 -18.77 47.94 -147.46 
+47.94 209.7 47.94 -59.09 47.94 -204.64 47.93 271.48 47.94 -20.92 47.94 109.14 47.94 -269.25 47.94 179.75 
+47.94 -137.41 47.94 50.24 47.94 62.5 47.94 -133.05 47.94 101.73 47.94 -146.87 47.93 -71.07 47.94 226.47 
+47.94 -195.14 47.94 132.71 47.94 -237.61 0 -53.06 -47.94 22.7 -47.94 -39.65 -47.94 127.41 -47.94 -72.83 
+-47.93 -200.5 -47.94 169.88 -47.94 -71.57 -47.94 -55.99 -47.94 168.88 -47.94 -28.62 -47.94 176.3 -47.94 -193.82 
+-47.94 286.57 -47.94 -243.07 -47.94 87.78 -47.93 -73.3 -47.94 95.45 -47.94 29.84 -47.94 -296.7 -47.94 -163.91 
+-47.94 218.21 -47.94 115.88 -47.94 -56.47 -47.94 161.35 -47.94 -129.97 -47.93 -88.78 -47.94 64.63 -47.94 -76.11 
+-47.96 -132.3 -47.94 236.63 -47.94 -78.04 -47.94 86.76 -47.94 195.16 -47.94 -95.31 -47.94 -194.14 -47.93 364 
+-47.94 -181.09 -47.94 38.06 -47.94 -180.42 -47.94 67.38 -47.94 161.03 -47.94 9.72 -47.94 -225.11 -47.94 222.81 
+-47.94 -151.82 -47.94 145.74 -47.93 -165.23 -47.94 -170.16 -47.94 197.22 f*
+250 194 r6
+695.42 1427.78 0 186.35 47.94 -9.53 47.94 31.66 47.93 -16.54 47.94 -51.5 47.94 73.51 47.94 13.69 
+47.94 -27 47.94 228.3 47.94 -216.52 47.94 27.06 47.94 -97.61 47.94 80.95 47.94 -100.15 47.93 -29.73 
+47.94 120.49 47.94 -170.09 47.94 45.64 47.94 39.63 47.94 90.99 47.94 -0.54 47.96 33.42 47.94 12.61 
+47.94 -111.72 47.93 54.75 47.94 -119.21 47.94 2.09 47.94 165.86 47.94 -106.36 47.94 -22.92 47.94 -83.07 
+47.94 83.77 47.94 17.68 47.94 -40.64 47.93 12.11 47.94 75 47.94 108.94 47.94 -79.99 47.94 -99.59 
+47.94 39.93 47.94 -30.62 47.94 -161.25 47.94 108.25 47.94 19.55 47.94 -60.87 47.93 80.66 47.94 20.63 
+47.94 -131.33 47.94 155.9 47.94 -141.51 0 -213.48 -47.94 38.67 -47.94 -45.83 -47.94 -77.08 -47.94 118.1 
+-47.93 -104.54 -47.94 -59.07 -47.94 266.06 -47.94 -140.97 -47.94 -5.9 -47.94 -127.17 -47.94 23.11 -47.94 212.07 
+-47.94 195.44 -47.94 -163.71 -47.94 -78.52 -47.93 -71.63 -47.94 120.05 -47.94 67.39 -47.94 -35.79 -47.94 -71.94 
+-47.94 -41.66 -47.94 112.74 -47.94 -153.26 -47.94 77.67 -47.94 39.41 -47.93 -40.19 -47.94 194.03 -47.94 -40.71 
+-47.96 -14.74 -47.94 -3.88 -47.94 -84.07 -47.94 40.08 -47.94 -5.58 -47.94 -91.93 -47.94 37.83 -47.93 52.23 
+-47.94 -277.62 -47.94 334.72 -47.94 44.74 -47.94 -64.97 -47.94 215.95 -47.94 -220.01 -47.94 -16.19 -47.94 20.16 
+-47.94 -128.04 -47.94 14.14 -47.93 220.14 -47.94 -108.7 -47.94 21.31 f*
+695.42 1427.78 0 186.35 47.94 -9.53 47.94 31.66 47.93 -16.54 47.94 -51.5 47.94 73.51 47.94 13.69 
+47.94 -27 47.94 228.3 47.94 -216.52 47.94 27.06 47.94 -97.61 47.94 80.95 47.94 -100.15 47.93 -29.73 
+47.94 120.49 47.94 -170.09 47.94 45.64 47.94 39.63 47.94 90.99 47.94 -0.54 47.96 33.42 47.94 12.61 
+47.94 -111.72 47.93 54.75 47.94 -119.21 47.94 2.09 47.94 165.86 47.94 -106.36 47.94 -22.92 47.94 -83.07 
+47.94 83.77 47.94 17.68 47.94 -40.64 47.93 12.11 47.94 75 47.94 108.94 47.94 -79.99 47.94 -99.59 
+47.94 39.93 47.94 -30.62 47.94 -161.25 47.94 108.25 47.94 19.55 47.94 -60.87 47.93 80.66 47.94 20.63 
+47.94 -131.33 47.94 155.9 47.94 -141.51 0 -213.48 -47.94 38.67 -47.94 -45.83 -47.94 -77.08 -47.94 118.1 
+-47.93 -104.54 -47.94 -59.07 -47.94 266.06 -47.94 -140.97 -47.94 -5.9 -47.94 -127.17 -47.94 23.11 -47.94 212.07 
+-47.94 195.44 -47.94 -163.71 -47.94 -78.52 -47.93 -71.63 -47.94 120.05 -47.94 67.39 -47.94 -35.79 -47.94 -71.94 
+-47.94 -41.66 -47.94 112.74 -47.94 -153.26 -47.94 77.67 -47.94 39.41 -47.93 -40.19 -47.94 194.03 -47.94 -40.71 
+-47.96 -14.74 -47.94 -3.88 -47.94 -84.07 -47.94 40.08 -47.94 -5.58 -47.94 -91.93 -47.94 37.83 -47.93 52.23 
+-47.94 -277.62 -47.94 334.72 -47.94 44.74 -47.94 -64.97 -47.94 215.95 -47.94 -220.01 -47.94 -16.19 -47.94 20.16 
+-47.94 -128.04 -47.94 14.14 -47.93 220.14 -47.94 -108.7 -47.94 21.31 f*
+Q q
+127.777 661.109 3138.89 3138.89 re
+Y*
+5.55556 w
+1 J
+1 j
+255 0 r3
+695.42 1492.19 36 -1.09 S
+749.42 1490.56 36 -1.09 S
+803.43 1488.93 35.8 -1.07 0.18 -0.02 S
+857.42 1487.3 29.75 -0.89 6.25 -0.18 S
+911.42 1485.7 23.69 -0.71 12.31 -0.37 S
+965.41 1484.07 17.64 -0.54 18.36 -0.54 S
+1019.42 1482.45 11.57 -0.35 24.44 -0.73 S
+1073.42 1480.82 5.51 -0.17 30.49 -0.91 S
+1127.41 1479.19 36 -1.08 S
+1181.42 1477.56 36.01 -1.09 S
+1235.42 1475.93 35.27 -1.04 0.73 -0.02 S
+1289.41 1474.33 29.21 -0.89 6.79 -0.19 S
+1343.42 1472.7 23.13 -0.7 12.85 -0.39 S
+1397.42 1471.07 17.08 -0.52 18.93 -0.56 S
+1451.41 1469.45 11.02 -0.33 24.98 -0.76 S
+1505.41 1467.82 4.96 -0.15 31.04 -0.93 S
+1559.42 1466.19 36 -1.08 S
+1613.41 1464.56 36.01 -1.09 S
+1667.41 1462.93 34.74 -1.04 S
+1702.15 1461.89 1.26 -0.02 S
+1721.42 1461.33 28.67 -0.87 7.33 -0.21 S
+1775.41 1459.7 22.62 -0.7 13.39 -0.39 S
+1829.41 1458.07 16.55 -0.5 19.45 -0.58 S
+1883.42 1456.45 10.48 -0.32 25.5 -0.76 S
+1937.41 1454.82 4.43 -0.13 31.58 -0.95 S
+1991.41 1453.19 36 -1.08 S
+2045.4 1451.56 36 -1.06 S
+2099.42 1449.96 34.18 -1.04 1.82 -0.05 S
+2153.41 1448.33 28.13 -0.84 7.88 -0.24 S
+2207.4 1446.7 22.07 -0.67 13.93 -0.41 S
+2261.42 1445.07 15.99 -0.48 19.98 -0.61 S
+2315.41 1443.45 9.94 -0.3 26.07 -0.79 S
+2369.4 1441.82 3.89 -0.11 32.12 -0.98 S
+2423.42 1440.19 35.98 -1.08 S
+2477.41 1438.56 36 -1.06 S
+2531.4 1436.96 33.64 -1.02 2.37 -0.07 S
+2585.39 1435.33 27.58 -0.82 8.42 -0.26 S
+2639.41 1433.7 21.51 -0.65 14.49 -0.43 S
+2693.4 1432.07 15.46 -0.46 20.55 -0.63 S
+2747.39 1430.45 9.4 -0.28 26.61 -0.81 S
+2801.41 1428.82 3.32 -0.09 32.66 -1 S
+2855.41 1427.2 36 -1.07 S
+2909.39 1425.58 36 -1.08 S
+2963.39 1423.96 33.09 -1 2.91 -0.09 S
+3017.41 1422.33 27.02 -0.83 S
+255 0 r6
+695.42 1544.49 35.92 -2.61 S
+749.3 1540.56 35.92 -2.61 S
+803.19 1536.63 35.92 -2.61 S
+857.07 1532.71 30.1 -2.2 5.82 -0.41 S
+910.94 1528.78 24.17 -1.76 11.77 -0.84 S
+964.82 1524.85 18.23 -1.33 17.69 -1.28 S
+1018.71 1520.95 12.28 -0.92 23.63 -1.71 S
+1072.59 1517.01 6.34 -0.47 29.57 -2.15 S
+1126.48 1513.08 0.39 -0.04 35.52 -2.58 S
+1180.36 1509.16 35.92 -2.62 S
+1234.22 1505.23 35.94 -2.62 S
+1288.11 1501.3 30.52 -2.23 5.4 -0.39 S
+1342 1497.37 24.56 -1.8 11.35 -0.82 S
+1395.88 1493.45 18.62 -1.37 17.3 -1.26 S
+1449.76 1489.52 12.67 -0.91 23.25 -1.69 S
+1503.64 1485.59 6.73 -0.48 29.19 -2.12 S
+1557.51 1481.66 0.8 -0.04 35.13 -2.56 S
+1611.39 1477.73 35.92 -2.61 S
+1665.28 1473.8 35.92 -2.61 S
+1719.16 1469.88 30.93 -2.23 4.99 -0.37 S
+1773.04 1465.97 24.98 -1.82 10.93 -0.8 S
+1826.93 1462.04 19.03 -1.39 16.88 -1.24 S
+1880.79 1458.12 13.11 -0.96 22.84 -1.67 S
+1934.68 1454.19 7.16 -0.52 28.78 -2.11 S
+1988.56 1450.26 1.21 -0.09 34.7 -2.54 S
+2042.45 1446.33 35.91 -2.62 S
+2096.33 1442.41 35.92 -2.63 S
+2150.21 1438.48 31.32 -2.28 4.6 -0.35 S
+2204.1 1434.55 25.37 -1.84 10.54 -0.76 S
+2257.96 1430.62 19.45 -1.41 16.49 -1.2 S
+2311.85 1426.7 13.49 -0.98 22.42 -1.62 S
+2365.73 1422.77 7.55 -0.54 28.36 -2.06 S
+2419.62 1418.84 1.61 -0.11 34.31 -2.49 S
+2473.5 1414.91 35.92 -2.61 S
+2527.39 1411 35.91 -2.62 S
+2581.25 1407.07 31.73 -2.32 4.21 -0.3 S
+2635.13 1403.14 25.79 -1.88 10.13 -0.74 S
+2689.02 1399.21 19.84 -1.45 16.08 -1.17 S
+2742.91 1395.29 13.89 -1.02 22.03 -1.61 S
+2796.79 1391.36 7.95 -0.58 27.97 -2.04 S
+2850.67 1387.43 2 -0.15 33.92 -2.47 S
+2904.54 1383.5 35.94 -2.62 S
+2958.42 1379.58 35.91 -2.61 S
+3012.3 1375.65 32.12 -2.34 S
+255 0 r5
+695.42 1535.05 35.94 -2.34 S
+749.33 1531.54 35.94 -2.35 S
+803.23 1528.02 35.94 -2.34 S
+857.14 1524.5 30.03 -1.95 5.93 -0.39 S
+911.07 1520.98 24.04 -1.56 11.89 -0.78 S
+964.97 1517.49 18.08 -1.19 17.86 -1.15 S
+1018.88 1513.98 12.11 -0.8 23.83 -1.54 S
+1072.79 1510.46 6.14 -0.41 29.79 -1.93 S
+1126.7 1506.95 0.17 0 35.76 -2.34 S
+1180.6 1503.43 35.95 -2.35 S
+1234.53 1499.91 35.94 -2.32 S
+1288.43 1496.42 30.19 -1.97 5.75 -0.37 S
+1342.34 1492.91 24.21 -1.59 11.72 -0.76 S
+1396.25 1489.39 18.25 -1.2 17.69 -1.15 S
+1450.15 1485.87 12.29 -0.8 23.66 -1.54 S
+1504.05 1482.36 6.32 -0.41 29.63 -1.93 S
+1557.99 1478.86 0.32 -0.04 35.61 -2.3 S
+1611.89 1475.34 35.93 -2.34 S
+1665.8 1471.83 35.93 -2.34 S
+1719.71 1468.32 30.38 -1.98 5.55 -0.37 S
+1773.61 1464.8 24.42 -1.59 11.52 -0.76 S
+1827.52 1461.29 18.45 -1.2 17.5 -1.13 S
+1881.42 1457.79 12.48 -0.82 23.48 -1.52 S
+1935.35 1454.28 6.49 -0.44 29.45 -1.91 S
+1989.25 1450.76 0.52 -0.05 35.42 -2.3 S
+2043.17 1447.25 35.93 -2.35 S
+2097.07 1443.73 35.93 -2.34 S
+2150.98 1440.23 30.56 -2 5.38 -0.35 S
+2204.88 1436.71 24.59 -1.61 11.37 -0.73 S
+2258.81 1433.21 18.6 -1.22 17.34 -1.13 S
+2312.71 1429.69 12.63 -0.83 23.31 -1.52 S
+2366.62 1426.17 6.66 -0.43 29.28 -1.91 S
+2420.53 1422.66 0.7 -0.05 35.24 -2.28 S
+2474.43 1419.16 35.94 -2.34 S
+2528.34 1415.64 35.93 -2.34 S
+2582.27 1412.13 30.7 -2 5.23 -0.34 S
+2636.18 1408.62 24.74 -1.61 11.19 -0.74 S
+2690.08 1405.1 18.77 -1.22 17.17 -1.13 S
+2743.99 1401.61 12.8 -0.84 23.14 -1.5 S
+2797.89 1398.09 6.84 -0.46 29.1 -1.89 S
+2851.8 1394.57 0.87 -0.06 35.07 -2.28 S
+2905.71 1391.06 35.96 -2.35 S
+2959.63 1387.54 35.94 -2.34 S
+3013.54 1384.03 30.88 -1.99 S
+128 0 255 rG
+695.42 1379.34 35.94 2.32 S
+749.33 1382.83 35.94 2.32 S
+803.23 1386.33 35.96 2.32 S
+857.16 1389.8 30.01 1.95 5.93 0.39 S
+911.07 1393.29 24.04 1.56 11.89 0.79 S
+964.97 1396.79 18.08 1.17 17.86 1.17 S
+1018.88 1400.29 12.11 0.78 23.83 1.54 S
+1072.8 1403.78 6.13 0.39 29.82 1.93 S
+1126.71 1407.27 0.15 0 35.78 2.32 S
+1180.62 1410.77 35.93 2.32 S
+1234.53 1414.25 35.94 2.32 S
+1288.43 1417.75 30.19 1.96 5.77 0.37 S
+1342.36 1421.25 24.2 1.56 11.75 0.76 S
+1396.27 1424.74 18.23 1.17 17.71 1.15 S
+1450.17 1428.21 12.26 0.8 23.68 1.54 S
+1504.08 1431.71 6.29 0.41 29.64 1.93 S
+1557.99 1435.2 0.32 0.02 35.63 2.32 S
+1611.92 1438.7 35.93 2.32 S
+1665.82 1442.19 35.93 2.32 S
+1719.73 1445.68 30.36 1.97 5.58 0.35 S
+1773.63 1449.18 24.39 1.59 11.54 0.74 S
+1827.56 1452.67 18.4 1.19 17.54 1.13 S
+1881.46 1456.16 12.43 0.8 23.51 1.52 S
+1935.37 1459.66 6.47 0.41 29.47 1.91 S
+1989.28 1463.15 0.5 0.02 35.44 2.3 S
+2043.18 1466.62 35.96 2.34 S
+2097.11 1470.12 35.94 2.34 S
+2151.02 1473.61 30.51 1.97 5.42 0.38 S
+2204.93 1477.11 24.54 1.58 11.39 0.74 S
+2258.83 1480.6 18.58 1.19 17.36 1.13 S
+2312.76 1484.09 12.58 0.82 23.36 1.5 S
+2366.67 1487.59 6.62 0.43 29.32 1.89 S
+2420.57 1491.08 0.65 0.04 35.29 2.28 S
+2474.48 1494.57 35.94 2.32 S
+2528.38 1498.07 35.96 2.32 S
+2582.31 1501.56 30.66 1.98 5.27 0.34 S
+2636.22 1505.04 24.7 1.61 11.24 0.74 S
+2690.13 1508.53 18.73 1.22 17.21 1.13 S
+2744.04 1512.02 12.76 0.82 23.18 1.52 S
+2797.94 1515.52 6.8 0.43 29.16 1.89 S
+2851.87 1519.01 0.8 0.04 35.14 2.28 S
+2905.77 1522.5 35.94 2.32 S
+2959.68 1526 35.94 2.32 S
+3013.58 1529.5 30.84 1.99 S
+11.1111 w
+255 0 r3
+695.42 1428.08 47.94 -129.21 47.94 114.73 47.93 134.7 47.94 -39.91 47.94 102.21 47.94 -222.09 47.94 257.53 
+47.94 -81.38 47.94 -140.91 47.94 -28.08 47.94 157.81 47.94 -57.32 47.94 184.77 47.93 -272.16 47.94 104.58 
+47.94 80.08 47.94 -84.37 47.94 -75.95 47.94 -23.74 47.94 -110.77 47.96 16.63 47.94 63.17 47.94 -25.11 
+47.93 91.62 47.94 92.34 47.94 -85.16 47.94 11.87 47.94 -31.69 47.94 -118.49 47.94 8.23 47.94 253.19 
+47.94 -44.44 47.94 -150.07 47.93 172.41 47.94 -54.36 47.94 176.11 47.94 -277.91 47.94 186.79 47.94 -156.86 
+47.94 39.43 47.94 -53.19 47.94 -38.52 47.94 86.63 47.94 -158.35 47.93 64.71 47.94 149.63 47.94 -161.27 
+47.94 86.18 47.94 -130.14 S
+255 0 r6
+695.42 1520.95 47.94 -15.41 47.94 70.18 47.93 -118.34 47.94 -32.81 47.94 100.76 47.94 -3.23 47.94 -5.41 
+47.94 224.16 47.94 -216.23 47.94 46.01 47.94 -71.16 47.94 -126.91 47.94 88.73 47.93 -40.97 47.94 41.34 
+47.94 -39.09 47.94 25.61 47.94 -0.24 47.94 87.52 47.94 1.7 47.96 24.07 47.94 26.64 47.94 -152.86 
+47.93 47.46 47.94 -79.3 47.94 -37.8 47.94 159.57 47.94 -109.54 47.94 9.37 47.94 -5.55 47.94 59.77 
+47.94 -24.85 47.94 -80.34 47.93 41.86 47.94 76.76 47.94 136.33 47.94 -137.72 47.94 -155.84 47.94 8.42 
+47.94 48.28 47.94 -77.67 47.94 124.61 47.94 -123.26 47.94 -0.89 47.93 92.6 47.94 -48.75 47.94 -27.13 
+47.94 100.88 47.94 -90.09 S
+255 0 r5
+695.42 1373.76 47.94 9.64 47.94 198.29 47.93 -107.33 47.94 29.77 47.94 41.3 47.94 -181.86 47.94 135.72 
+47.94 132.75 47.94 -206.45 47.94 65.3 47.94 26.22 47.94 -70.79 47.94 141.55 47.93 -11.11 47.94 -94.87 
+47.94 62.07 47.94 19.03 47.94 -12.33 47.94 211.52 47.94 -155.99 47.96 -298.37 47.94 -37.35 47.94 103.99 
+47.93 73.74 47.94 11.74 47.94 111.96 47.94 -121.18 47.94 104.97 47.94 64.84 47.94 -197.39 47.94 -62.17 
+47.94 -50.57 47.94 -9.61 47.93 -34.21 47.94 118.14 47.94 253.86 47.94 -6.51 47.94 -64.39 47.94 -92.54 
+47.94 16.06 47.94 -180.68 47.94 2.43 47.94 51.45 47.94 -137.52 47.93 79.86 47.94 -2.37 47.94 195.88 
+47.94 -230.17 47.94 83.21 S
+128 0 255 rG
+695.42 1331.01 47.94 18.12 47.94 33.22 47.93 -24.65 47.94 27.21 47.94 9.48 47.94 -47.94 47.94 42.14 
+47.94 2.13 47.94 12.95 47.94 37.87 47.94 20.3 47.94 -30.77 47.94 -14.84 47.93 6.33 47.94 10.36 
+47.94 -32.36 47.94 8.57 47.94 9.52 47.94 0.93 47.94 36.83 47.96 28.73 47.94 -43.99 47.94 -5.23 
+47.93 -1.24 47.94 34.86 47.94 -4.32 47.94 90.37 47.94 -41.3 47.94 -21.39 47.94 -27.43 47.94 13.87 
+47.94 22.48 47.94 -8.36 47.93 21.66 47.94 25.69 47.94 14.5 47.94 -22.22 47.94 45.01 47.94 -7.51 
+47.94 -53.56 47.94 -14.91 47.94 20.22 47.94 -44.03 47.94 26.97 47.93 -38.15 47.94 -20.81 47.94 24.61 
+47.94 -20.05 47.94 -8.18 S
+K
+1766.21 750.8 10.39 0 21.31 -35.36 20.79 35.36 10.41 0 -26.52 -44.7 0 -28.09 -9.36 0 
+^ -27.04 44.7 f*
+1880.58 694.14 -0.57 -2.45 -0.72 -2.23 -0.84 -2.07 -1 -1.89 -1.13 -1.69 -1.23 -1.54 -1.37 -1.37 
+-1.46 -1.19 -1.56 -1.04 -1.65 -0.89 -1.74 -0.74 -1.8 -0.58 -1.87 -0.46 -1.93 -0.33 -4.01 -0.26 
+-2.73 0.22 -2.61 0.45 -2.41 0.7 -2.26 0.89 -2.11 1.13 -1.91 1.32 -1.75 1.52 -1.56 1.71 
+-1.41 1.89 -1.22 2.06 -1.04 2.23 -0.84 2.41 -0.67 2.54 -0.48 2.69 -0.28 2.84 -0.11 2.95 
+0.17 4.28 0.52 3.84 0.8 3.45 1.09 3.08 1.3 2.69 1.52 2.39 1.7 2.04 1.8 1.76 
+1.93 1.47 1.99 1.21 2.02 0.96 2.04 0.75 2.02 0.55 1.96 0.37 3.58 0.28 -0.52 -7.81 
+-2.26 -0.22 -2.45 -0.7 -2.45 -1.17 -2.39 -1.67 -1.11 -1.04 -1.06 -1.2 -0.95 -1.32 -0.84 -1.46 
+-0.74 -1.61 -0.61 -1.75 -0.43 -1.91 -0.3 -2.06 30.68 0 -0.11 2.14 -0.33 1.98 -0.52 1.8 
+-0.67 1.63 -0.82 1.48 -0.96 1.32 -1.04 1.15 -1.15 1.04 -2.43 1.63 -2.49 1.11 -2.41 0.63 
+-2.15 0.2 0.52 7.81 1.8 -0.06 1.87 -0.22 1.91 -0.37 1.96 -0.56 1.93 -0.78 1.89 -1 
+1.84 -1.26 1.76 -1.54 1.64 -1.82 1.5 -2.16 1.34 -2.5 1.17 -2.86 0.96 -3.23 0.72 -3.66 
+0.43 -4.11 0.15 -4.54 -39 0 0.2 -2.71 0.58 -2.98 1.05 -3.04 0.71 -1.48 0.84 -1.43 
+1 -1.34 1.15 -1.24 1.32 -1.13 1.48 -0.96 1.67 -0.8 1.84 -0.59 2.04 -0.37 2.23 -0.13 
+2.25 0.2 2.13 0.56 1.95 0.91 1.78 1.24 1.63 1.58 1.43 1.87 1.28 2.15 1.07 2.41 
+8.31 0 f*
+1892.54 714.93 0.28 3.12 0.35 1.54 0.49 1.52 0.66 1.47 0.82 1.43 1 1.34 1.15 1.26 
+1.32 1.17 1.52 1.06 1.69 0.91 1.91 0.8 2.08 0.63 2.3 0.48 2.49 0.3 2.71 0.11 
+2.95 -0.15 3.21 -0.43 3.3 -0.8 3.14 -1.21 1.48 -0.81 1.34 -0.91 1.22 -1.06 1.06 -1.21 
+0.84 -1.34 0.65 -1.52 0.42 -1.69 0.15 -1.84 0 -33.27 0.17 -0.93 0.5 -0.8 0.74 -0.67 
+0.93 -0.52 1 -0.35 1.04 -0.17 0.98 0.04 0.86 0.29 0 -6.25 -2.02 -0.46 -3.16 -0.07 
+-2.26 0.07 -1.78 0.2 -1.35 0.37 -1.07 0.61 -0.82 0.87 -0.72 1.2 -1.39 3.47 -4.43 -3.26 
+-1.91 -1.17 -1.84 -0.91 -1.88 -0.65 -2.07 -0.45 -2.32 -0.24 -2.69 -0.09 -2.32 0.09 -2.12 0.24 
+-1.91 0.41 -1.74 0.52 -1.52 0.65 -1.36 0.78 -1.2 0.89 -1.02 0.98 -0.87 1.07 -0.74 1.13 
+-0.61 1.21 -0.46 1.26 -0.59 2.63 -0.2 2.71 7.81 0 0.17 -1.52 0.57 -1.45 0.93 -1.32 
+1.24 -1.15 1.58 -0.98 1.87 -0.74 2.14 -0.48 2.41 -0.15 3.47 0.43 3.04 0.91 2.61 1.24 
+2.13 1.5 1.66 1.69 1.2 1.76 0.72 1.74 0.24 1.65 0 10.39 -3.91 -1.45 -3.23 -0.76 
+-9.48 -1.43 -2.8 -0.84 -2.17 -0.98 -1.65 -1.11 -1.17 -1.21 -0.8 -1.32 -0.48 -1.39 -0.24 -1.48 
+-0.04 -1.54 -7.81 0 0.21 3.88 0.65 3.17 0.5 1.34 0.59 1.17 0.7 1.06 0.8 0.93 
+0.91 0.83 1 0.73 2.32 1.2 2.71 0.98 3.13 0.82 13.52 2.08 3.25 0.87 1.17 0.48 
+0.91 0.52 0.65 0.57 0.43 0.56 0.26 0.57 0.07 0.58 0 4.69 -0.13 0.89 -0.48 1.04 
+-0.8 1.11 -1.17 1.11 -1.56 1.02 -2 0.82 -2.41 0.57 -2.89 0.2 -3.06 -0.22 -2.61 -0.65 
+-2.15 -1 -1.73 -1.26 -1.3 -1.43 -0.91 -1.58 -0.54 -1.61 -0.18 -1.61 -8.31 0 f*
+1948.68 730.54 7.29 0 0 -9.87 3.18 4.23 2.88 3.08 2.61 2.08 1.19 0.72 1.13 0.54 
+2.06 0.56 1.8 0.02 1.54 -0.32 1.28 -0.52 0 -7.81 -4.14 -0.44 -1.82 -0.39 -1.67 -0.52 
+-1.52 -0.63 -1.34 -0.74 -1.21 -0.87 -1.09 -0.95 -0.91 -1.09 -0.8 -1.19 -0.66 -1.28 -0.54 -1.41 
+-0.41 -1.5 -0.29 -1.61 -0.21 -3.49 0 -29.12 -8.34 0 0 52.52 f*
+218.27 963.78 -2.73 -0.15 -2.56 -0.41 -2.37 -0.69 -2.19 -0.93 -2.02 -1.15 -1.82 -1.37 -1.67 -1.58 
+-1.47 -1.78 -1.3 -1.93 -1.13 -2.08 -0.93 -2.24 -0.78 -2.35 -0.61 -2.47 -0.43 -2.56 -0.24 -2.62 
+-0.08 -2.72 0.08 -3.21 0.31 -2.97 0.5 -2.78 0.67 -2.56 0.87 -2.34 1.02 -2.12 1.2 -1.91 
+1.32 -1.72 1.49 -1.52 1.61 -1.29 1.76 -1.11 1.89 -0.89 1.99 -0.7 2.11 -0.5 2.2 -0.28 
+2.3 -0.11 3.58 0.25 1.58 0.33 1.46 0.41 2.52 1.15 2.11 1.5 1.74 1.8 1.43 2.02 
+1.19 2.19 1.02 2.3 6.25 23.39 1.02 2.69 1.13 2.24 1.21 1.8 1.32 1.41 1.41 1.04 
+1.5 0.69 1.61 0.41 1.72 0.11 2.47 -0.2 2.32 -0.67 1.08 -0.54 1.05 -0.67 0.95 -0.82 
+0.89 -0.98 0.82 -1.17 0.72 -1.32 0.63 -1.54 0.54 -1.71 0.43 -1.93 0.3 -2.15 0.2 -2.38 
+0.07 -2.61 -0.09 -2.63 -0.28 -2.43 -0.46 -2.21 -0.61 -2.04 -0.76 -1.84 -0.89 -1.65 -1 -1.49 
+-1.13 -1.3 -1.22 -1.13 -1.3 -0.98 -1.37 -0.8 -1.43 -0.65 -1.5 -0.5 -1.52 -0.35 -3.1 -0.26 
+0 -9.35 2.6 0.11 2.5 0.33 2.43 0.55 2.3 0.8 2.2 1 2.04 1.23 1.93 1.48 
+1.76 1.72 1.58 1.95 1.43 2.17 1.24 2.43 1.04 2.69 0.82 2.91 0.59 3.17 0.37 3.43 
+0.13 3.67 -0.11 3.4 -0.32 3.17 -0.55 2.98 -0.74 2.73 -0.93 2.52 -1.11 2.3 -1.26 2.08 
+-1.4 1.87 -1.57 1.65 -1.66 1.43 -1.8 1.19 -1.91 1 -2 0.76 -2.09 0.54 -2.16 0.35 
+-2.22 0.11 -1.8 -0.08 -1.74 -0.24 -1.62 -0.41 -1.54 -0.52 -1.48 -0.65 -1.36 -0.79 -2.47 -1.87 
+-2.11 -2.21 -1.73 -2.45 -1.35 -2.62 -0.97 -2.71 -6.25 -23.39 -1.11 -2.28 -1.02 -1.8 -1 -1.37 
+-1.02 -1 -1.15 -0.67 -1.29 -0.41 -1.52 -0.22 -1.78 -0.04 -1.41 0.07 -1.34 0.26 -1.23 0.39 
+-1.18 0.55 -1.07 0.69 -0.98 0.8 -0.89 0.93 -0.8 1.05 -1.33 2.38 -0.95 2.74 -0.59 3.02 
+-0.2 3.23 0.07 2.17 0.22 2.04 0.34 1.91 0.48 1.78 0.59 1.63 0.71 1.5 0.82 1.34 
+0.93 1.21 1.02 1.09 1.11 0.93 1.2 0.79 1.28 0.65 1.37 0.5 1.41 0.37 1.48 0.22 
+1.54 0.09 0 9.35 f*
+217.23 977.3 0 7.79 8.31 0 -2.67 2.17 -2.16 2.2 -1.72 2.21 -1.3 2.19 -0.95 2.19 
+-0.61 2.13 -0.34 2.08 -0.11 1.99 0.24 2.96 0.7 2.93 1.13 2.8 1.52 2.56 1.89 2.17 
+1.06 0.93 1.15 0.78 1.21 0.63 1.3 0.48 1.37 0.29 1.43 0.11 41.06 0 0 -8.31 
+-37.41 0 -1.13 -0.06 -1.04 -0.21 -1.84 -0.76 -1.55 -1.2 -1.21 -1.48 -0.93 -1.69 -0.63 -1.85 
+-0.39 -1.86 -0.13 -1.8 0.08 -1.29 0.22 -1.26 0.83 -2.52 1.37 -2.36 1.86 -2.13 1.11 -0.98 
+1.21 -0.87 1.32 -0.76 1.43 -0.65 1.52 -0.52 1.63 -0.39 1.74 -0.24 1.8 -0.09 30.14 0 
+0 -8.31 -52.49 0 f*
+215.67 1053.19 0.15 2.41 0.43 2.34 0.72 2.28 0.97 2.19 1.21 2.09 1.43 1.98 1.67 1.84 
+1.84 1.71 2.04 1.54 2.21 1.39 2.37 1.22 2.5 1.02 2.61 0.83 2.73 0.58 2.8 0.37 
+2.91 0.13 2.88 -0.13 2.8 -0.37 2.69 -0.58 2.58 -0.83 2.46 -1.02 2.32 -1.22 2.15 -1.39 
+1.99 -1.54 1.8 -1.71 1.61 -1.84 1.41 -1.98 1.18 -2.09 0.93 -2.19 0.7 -2.28 0.43 -2.34 
+0.13 -2.41 -0.13 -2.4 -0.43 -2.35 -0.7 -2.28 -0.93 -2.2 -1.18 -2.08 -1.41 -1.97 -1.61 -1.84 
+-1.8 -1.7 -1.99 -1.56 -2.15 -1.39 -2.32 -1.21 -2.46 -1.02 -2.58 -0.8 -2.69 -0.61 -2.8 -0.37 
+-2.88 -0.13 0 8.83 3.99 0.29 3.77 0.76 1.76 0.59 1.66 0.7 1.59 0.8 1.43 0.91 
+1.33 1.04 1.19 1.13 1.04 1.23 0.87 1.34 0.7 1.43 0.5 1.54 0.33 1.61 0.11 1.71 
+-0.11 1.72 -0.33 1.63 -0.5 1.52 -0.7 1.45 -0.87 1.32 -1.04 1.24 -1.19 1.15 -1.33 1.02 
+-1.43 0.93 -1.59 0.8 -1.66 0.7 -1.76 0.57 -3.77 0.78 -3.99 0.26 -4.04 -0.26 -3.82 -0.78 
+-1.82 -0.57 -1.71 -0.7 -1.61 -0.8 -1.5 -0.93 -1.37 -1.02 -1.23 -1.15 -1.09 -1.24 -0.91 -1.32 
+-0.71 -1.45 -0.54 -1.52 -0.33 -1.63 -0.13 -1.72 0.13 -1.71 0.33 -1.61 0.54 -1.54 0.71 -1.43 
+0.91 -1.34 1.09 -1.23 1.23 -1.13 1.37 -1.04 1.5 -0.91 1.61 -0.8 1.71 -0.7 1.82 -0.59 
+3.82 -0.76 4.04 -0.29 0 -8.83 -2.91 0.13 -2.8 0.37 -2.73 0.61 -2.61 0.8 -2.5 1.02 
+-2.37 1.21 -2.21 1.39 -2.04 1.56 -1.84 1.7 -1.67 1.84 -1.43 1.97 -1.21 2.08 -0.97 2.2 
+-0.72 2.28 -0.43 2.35 -0.15 2.4 f*
+217.23 1082.31 0 9.36 40.02 10.39 -40.02 10.39 0 9.36 40.02 10.39 -40.02 10.41 0 9.35 
+52.49 -15.08 0 -9.36 -39.5 -10.92 39.5 -9.87 0 -9.38 -52.49 -15.06 f*
+219.83 1247.11 -3.1 -0.67 -2.87 -0.82 -2.63 -0.98 -2.38 -1.13 -2.17 -1.28 -1.95 -1.43 -1.76 -1.59 
+-1.54 -1.71 -1.32 -1.89 -1.15 -2.02 -0.95 -2.17 -0.76 -2.3 -0.59 -2.45 -0.41 -2.58 -0.26 -2.71 
+-0.06 -2.87 0.17 -3.8 0.56 -3.58 0.89 -3.37 1.21 -3.14 1.57 -2.93 1.84 -2.72 2.12 -2.47 
+2.41 -2.23 2.65 -2 2.91 -1.76 3.13 -1.52 3.34 -1.26 3.52 -1.02 3.71 -0.75 3.88 -0.48 
+4.02 -0.24 4.55 0.17 4.26 0.48 3.97 0.82 3.69 1.09 3.41 1.39 3.1 1.65 2.82 1.88 
+2.54 2.13 2.24 2.34 1.95 2.56 1.65 2.73 1.36 2.93 1.05 3.05 0.75 3.23 0.46 3.35 
+0.16 3.45 -0.16 3.75 -0.43 3.45 -0.72 3.17 -0.97 2.89 -1.22 2.62 -1.43 2.37 -1.67 2.11 
+-1.84 1.87 -2.04 1.65 -2.21 1.41 -2.34 1.22 -2.5 0.99 -2.63 0.81 -2.71 0.61 -2.82 0.45 
+-2.89 0.29 0 -9.38 5.04 -0.95 2.23 -0.61 2.04 -0.71 1.84 -0.82 1.65 -0.93 1.48 -1.05 
+1.3 -1.15 1.15 -1.28 0.96 -1.41 0.8 -1.54 0.66 -1.68 0.5 -1.8 0.35 -1.98 0.22 -2.11 
+0.07 -2.25 -0.16 -3.02 -0.43 -2.78 -0.71 -2.58 -1 -2.37 -1.21 -2.16 -1.48 -1.96 -1.69 -1.75 
+-1.89 -1.56 -2.11 -1.37 -2.28 -1.17 -2.43 -1 -2.61 -0.79 -2.73 -0.62 -2.86 -0.43 -2.98 -0.26 
+-3.08 -0.09 -3.41 0.13 -3.23 0.35 -3.03 0.57 -2.85 0.8 -2.62 0.98 -2.45 1.19 -2.21 1.35 
+-2.02 1.54 -1.78 1.67 -1.57 1.84 -1.35 1.98 -1.11 2.08 -0.87 2.21 -0.62 2.32 -0.37 2.41 
+-0.12 2.5 0.26 3.62 0.78 3.41 0.59 1.61 0.7 1.52 0.82 1.43 0.95 1.34 1.05 1.24 
+1.16 1.13 1.29 1 1.39 0.89 1.5 0.74 1.61 0.59 1.71 0.45 1.8 0.26 0 9.37 f*
+215.67 1280.38 0.15 2.41 0.43 2.34 0.72 2.28 0.97 2.2 1.21 2.08 1.43 1.97 1.67 1.84 
+1.84 1.7 2.04 1.56 2.21 1.39 2.37 1.22 2.5 1.02 2.61 0.8 2.73 0.61 2.8 0.37 
+2.91 0.13 2.88 -0.12 2.8 -0.37 2.69 -0.61 2.58 -0.8 2.46 -1.02 2.32 -1.22 2.15 -1.39 
+1.99 -1.56 1.8 -1.7 1.61 -1.84 1.41 -1.97 1.18 -2.08 0.93 -2.2 0.7 -2.28 0.43 -2.34 
+0.13 -2.41 -0.13 -2.41 -0.43 -2.34 -0.7 -2.28 -0.93 -2.19 -1.18 -2.08 -1.41 -1.98 -1.61 -1.85 
+-1.8 -1.71 -1.99 -1.54 -2.15 -1.39 -2.32 -1.21 -2.46 -1.02 -2.58 -0.83 -2.69 -0.59 -2.8 -0.36 
+-2.88 -0.14 0 8.84 3.99 0.26 3.77 0.78 1.76 0.57 1.66 0.7 1.59 0.8 1.43 0.93 
+1.33 1.02 1.19 1.15 1.04 1.24 0.87 1.32 0.7 1.46 0.5 1.52 0.33 1.63 0.11 1.71 
+-0.11 1.71 -0.33 1.63 -0.5 1.52 -0.7 1.43 -0.87 1.34 -1.04 1.23 -1.19 1.14 -1.33 1.04 
+-1.43 0.91 -1.59 0.8 -1.66 0.7 -1.76 0.58 -3.77 0.76 -3.99 0.28 -4.04 -0.28 -3.82 -0.76 
+-1.82 -0.58 -1.71 -0.7 -1.61 -0.8 -1.5 -0.91 -1.37 -1.04 -1.23 -1.14 -1.09 -1.23 -0.91 -1.34 
+-0.71 -1.43 -0.54 -1.52 -0.33 -1.63 -0.13 -1.71 0.13 -1.71 0.33 -1.63 0.54 -1.52 0.71 -1.46 
+0.91 -1.32 1.09 -1.24 1.23 -1.15 1.37 -1.02 1.5 -0.93 1.61 -0.8 1.71 -0.7 1.82 -0.57 
+3.82 -0.78 4.04 -0.26 0 -8.84 -2.91 0.14 -2.8 0.36 -2.73 0.59 -2.61 0.83 -2.5 1.02 
+-2.37 1.21 -2.21 1.39 -2.04 1.54 -1.84 1.71 -1.67 1.85 -1.43 1.98 -1.21 2.08 -0.97 2.19 
+-0.72 2.28 -0.43 2.34 -0.15 2.41 f*
+217.23 1310 0 9.88 41.58 14.04 -41.58 14.04 0 9.87 52.49 -18.7 0 -10.39 -52.49 -18.73 f*
+253.62 1408.79 2.43 -0.57 2.26 -0.71 2.06 -0.87 1.87 -1 1.72 -1.11 1.52 -1.26 1.37 -1.34 
+1.21 -1.46 1.05 -1.56 0.89 -1.65 0.73 -1.74 0.59 -1.8 0.45 -1.87 0.33 -1.93 0.24 -4.02 
+-0.22 -2.76 -0.45 -2.58 -0.67 -2.43 -0.91 -2.25 -1.11 -2.09 -1.32 -1.93 -1.52 -1.74 -1.71 -1.59 
+-1.89 -1.39 -2.09 -1.22 -2.23 -1.04 -2.39 -0.85 -2.56 -0.67 -2.69 -0.48 -2.82 -0.3 -2.96 -0.09 
+-4.27 0.17 -3.84 0.52 -3.46 0.8 -3.08 1.09 -2.71 1.3 -2.37 1.52 -2.06 1.66 -1.74 1.82 
+-1.48 1.93 -1.21 1.99 -0.98 2.02 -0.74 2.04 -0.56 2.02 -0.37 1.93 -0.26 3.6 7.79 -0.52 
+0.24 -2.28 0.67 -2.43 1.17 -2.47 1.69 -2.36 1.04 -1.13 1.17 -1.05 1.32 -0.95 1.48 -0.84 
+1.61 -0.74 1.75 -0.61 1.91 -0.45 2.06 -0.29 0 30.68 -2.15 -0.12 -1.97 -0.31 -1.8 -0.52 
+-1.62 -0.68 -1.48 -0.82 -1.32 -0.96 -1.17 -1.06 -1.02 -1.13 -1.63 -2.43 -1.11 -2.52 -0.62 -2.41 
+-0.22 -2.12 -7.79 0.52 0.07 1.8 0.21 1.86 0.37 1.91 0.56 1.93 0.76 1.93 1.02 1.91 
+1.26 1.84 1.54 1.76 1.82 1.63 2.15 1.52 2.5 1.34 2.86 1.18 3.26 0.95 3.66 0.7 
+4.08 0.46 4.54 0.15 0 -39 2.73 0.17 2.97 0.59 3.04 1.06 1.48 0.71 1.41 0.84 
+1.35 1 1.25 1.15 1.11 1.32 0.97 1.48 0.79 1.67 0.61 1.84 0.37 2.04 0.13 2.23 
+-0.2 2.26 -0.57 2.13 -0.91 1.95 -1.26 1.78 -1.56 1.63 -1.87 1.43 -2.15 1.26 -2.41 1.08 
+0 8.31 f*
+217.23 1421.27 0 7.27 9.87 0 -4.23 3.17 -3.1 2.89 -2.09 2.6 -0.71 1.2 -0.52 1.13 
+-0.57 2.06 -0.04 1.8 0.32 1.54 0.54 1.3 7.79 0 0.43 -4.14 0.41 -1.84 0.5 -1.65 
+0.63 -1.52 0.76 -1.37 0.85 -1.21 0.97 -1.06 1.09 -0.93 1.17 -0.8 1.3 -0.65 1.39 -0.55 
+1.5 -0.39 1.61 -0.31 3.51 -0.21 29.11 0 0 -8.31 -52.49 0 f*
+196.96 1502.89 0 11.95 72.77 25.48 0 -10.39 -21.31 -7.3 0 -28.58 21.31 -7.29 0 -10.39 
+-62.37 22.87 0 9.36 32.75 -11.95 0 23.39 -32.75 -11.43 0 -9.36 -10.39 3.65 f*
+217.23 1548.63 0 7.79 8.31 0 -2.67 2.17 -2.16 2.19 -1.72 2.21 -1.3 2.21 -0.95 2.17 
+-0.61 2.13 -0.34 2.08 -0.11 2 0.24 2.95 0.7 2.93 1.13 2.8 1.52 2.56 1.89 2.19 
+1.06 0.91 1.15 0.78 1.21 0.65 1.3 0.45 1.37 0.31 1.43 0.08 41.06 0 0 -8.31 
+-37.41 0 -1.13 -0.07 -1.04 -0.21 -1.84 -0.76 -1.55 -1.17 -1.21 -1.5 -0.93 -1.69 -0.63 -1.83 
+-0.39 -1.87 -0.13 -1.82 0.08 -1.26 0.22 -1.28 0.83 -2.5 1.37 -2.37 1.86 -2.14 1.11 -0.95 
+1.21 -0.87 1.32 -0.75 1.43 -0.65 1.52 -0.55 1.63 -0.39 1.74 -0.24 1.8 -0.09 30.14 0 
+0 -8.31 -52.49 0 f*
+215.67 1624.54 0.15 2.41 0.43 2.34 0.72 2.29 0.97 2.17 1.21 2.11 1.43 1.95 1.67 1.84 
+1.84 1.71 2.04 1.57 2.21 1.39 2.37 1.21 2.5 1.02 2.61 0.8 2.73 0.61 2.8 0.37 
+2.91 0.13 2.88 -0.13 2.8 -0.37 2.69 -0.61 2.58 -0.8 2.46 -1.02 2.32 -1.21 2.15 -1.39 
+1.99 -1.57 1.8 -1.71 1.61 -1.84 1.41 -1.95 1.18 -2.11 0.93 -2.17 0.7 -2.29 0.43 -2.34 
+0.13 -2.41 -0.13 -2.43 -0.43 -2.34 -0.7 -2.29 -0.93 -2.17 -1.18 -2.08 -1.41 -1.98 -1.61 -1.84 
+-1.8 -1.71 -1.99 -1.57 -2.15 -1.39 -2.32 -1.19 -2.46 -1.02 -2.58 -0.82 -2.69 -0.61 -2.8 -0.37 
+-2.88 -0.11 0 8.83 3.99 0.26 3.77 0.78 1.76 0.56 1.66 0.7 1.59 0.8 1.43 0.91 
+1.33 1.04 1.19 1.13 1.04 1.24 0.87 1.34 0.7 1.43 0.5 1.54 0.33 1.63 0.11 1.71 
+-0.11 1.7 -0.33 1.63 -0.5 1.54 -0.7 1.43 -0.87 1.34 -1.04 1.24 -1.19 1.13 -1.33 1.04 
+-1.43 0.91 -1.59 0.8 -1.66 0.7 -1.76 0.56 -3.77 0.78 -3.99 0.26 -4.04 -0.26 -3.82 -0.78 
+-1.82 -0.56 -1.71 -0.7 -1.61 -0.8 -1.5 -0.91 -1.37 -1.04 -1.23 -1.13 -1.09 -1.24 -0.91 -1.34 
+-0.71 -1.43 -0.54 -1.54 -0.33 -1.63 -0.13 -1.7 0.13 -1.71 0.33 -1.63 0.54 -1.54 0.71 -1.43 
+0.91 -1.34 1.09 -1.24 1.23 -1.13 1.37 -1.04 1.5 -0.91 1.61 -0.8 1.71 -0.7 1.82 -0.56 
+3.82 -0.78 4.04 -0.26 0 -8.83 -2.91 0.11 -2.8 0.37 -2.73 0.61 -2.61 0.82 -2.5 1.02 
+-2.37 1.19 -2.21 1.39 -2.04 1.57 -1.84 1.71 -1.67 1.84 -1.43 1.98 -1.21 2.08 -0.97 2.17 
+-0.72 2.29 -0.43 2.34 -0.15 2.43 f*
+217.23 1660.42 0 7.27 7.79 0 -2.5 2.09 -2.04 1.97 -1.63 1.91 -1.24 1.89 -0.91 1.93 
+-0.61 1.98 -0.32 2.11 -0.11 2.26 0.5 3.71 0.43 1.78 0.69 1.71 1 1.7 1.39 1.69 
+1.89 1.7 2.41 1.73 -2.3 2.11 -1.85 2.02 -1.45 1.99 -1.09 1.95 -0.78 1.96 -0.5 1.98 
+-0.26 2.02 -0.09 2.11 0.19 2.58 0.61 2.62 1 2.54 1.45 2.32 0.87 1.07 1 0.95 
+1.11 0.85 1.24 0.74 1.32 0.58 1.45 0.46 1.59 0.26 1.69 0.11 40.54 0 0 -8.33 
+-37.41 0 -1.91 -0.22 -1.76 -0.66 -1.58 -0.99 -1.39 -1.24 -1.13 -1.46 -0.86 -1.58 -0.55 -1.61 
+-0.2 -1.61 0.26 -2.17 0.74 -2.19 1.17 -2.11 1.54 -1.91 1.87 -1.65 2.11 -1.3 2.32 -0.85 
+1.23 -0.22 1.24 -0.09 34.31 0 0 -8.31 -37.41 0 -1.91 -0.24 -1.76 -0.65 -1.58 -1 
+-1.39 -1.3 -1.13 -1.5 -0.86 -1.67 -0.55 -1.75 -0.2 -1.76 0.24 -1.86 0.69 -1.98 1.11 -1.99 
+1.48 -1.91 1.82 -1.67 2.13 -1.32 1.17 -0.52 1.21 -0.37 1.3 -0.24 1.32 -0.09 34.31 0 
+0 -8.31 -52.49 0 f*
+232.83 1742.55 -3.12 0.26 -1.57 0.35 -1.52 0.52 -1.48 0.65 -1.41 0.83 -1.34 0.98 -1.25 1.15 
+-1.18 1.32 -1.07 1.52 -0.93 1.71 -0.78 1.89 -0.65 2.08 -0.48 2.3 -0.29 2.52 -0.11 2.71 
+0.13 2.93 0.43 3.21 0.8 3.3 1.24 3.17 0.78 1.45 0.93 1.34 1.06 1.22 1.2 1.06 
+1.36 0.86 1.52 0.65 1.67 0.41 1.87 0.13 33.27 0 0.93 0.17 0.8 0.52 0.67 0.74 
+0.52 0.91 0.34 1 0.16 1.04 -0.05 1 -0.26 0.87 6.23 0 0.46 -2.02 0.07 -3.19 
+-0.05 -2.26 -0.2 -1.76 -0.39 -1.37 -0.61 -1.04 -0.86 -0.84 -1.17 -0.7 -3.47 -1.39 3.25 -4.45 
+1.17 -1.89 0.89 -1.87 0.67 -1.88 0.43 -2.05 0.26 -2.32 0.07 -2.71 -0.09 -2.32 -0.24 -2.12 
+-0.39 -1.91 -0.52 -1.72 -0.67 -1.54 -0.78 -1.35 -0.87 -1.19 -0.98 -1.04 -1.06 -0.87 -1.15 -0.74 
+-1.2 -0.58 -1.26 -0.48 -2.62 -0.59 -2.73 -0.17 0 7.79 1.54 0.19 1.43 0.57 1.32 0.91 
+1.17 1.26 0.98 1.56 0.74 1.87 0.46 2.14 0.17 2.41 -0.46 3.5 -0.89 3.04 -1.24 2.58 
+-1.52 2.13 -1.67 1.66 -1.76 1.2 -1.75 0.74 -1.63 0.24 -10.39 0 1.43 -3.93 0.76 -3.23 
+1.43 -9.48 0.88 -2.78 0.97 -2.19 1.11 -1.65 1.21 -1.17 1.33 -0.8 1.39 -0.48 1.47 -0.21 
+1.52 -0.07 0 -7.79 -3.89 0.21 -3.14 0.65 -1.34 0.48 -1.19 0.59 -1.04 0.7 -0.96 0.8 
+-0.83 0.91 -0.71 1 -1.21 2.32 -0.96 2.73 -0.83 3.12 -2.08 13.5 -0.87 3.25 -0.5 1.17 
+-0.52 0.91 -0.54 0.65 -0.57 0.46 -0.58 0.24 -0.59 0.09 -4.67 0 -0.89 -0.15 -1.04 -0.48 
+-1.13 -0.8 -1.11 -1.17 -1 -1.56 -0.83 -1.98 -0.56 -2.43 -0.22 -2.87 0.24 -3.08 0.65 -2.61 
+0.98 -2.15 1.25 -1.71 1.46 -1.33 1.56 -0.91 1.63 -0.52 1.61 -0.18 0 -8.31 f*
+196.961 1798.7 72.7656 8.3125 re
+f*
+217.23 1815.84 0 9.35 40.53 13 -40.53 14.56 0 9.36 66.01 -24.44 2.75 -1.71 2.07 -1.71 
+1.47 -1.68 1 -1.65 0.58 -1.64 0.33 -1.67 0.13 -3.43 -0.13 -1.95 -0.91 -2.73 -7.29 0 
+0.61 3.17 0.04 1.56 -0.2 1.5 -0.49 1.41 -0.92 1.28 -1.34 1.11 -1.84 0.89 -8.85 3.12 
+-53.02 -17.68 f*
+196.96 1915.15 0 5.18 6.01 -3.25 5.99 -2.8 5.97 -2.32 5.95 -1.89 5.94 -1.43 5.95 -1.02 
+6 -0.58 6.03 -0.2 5.28 0.2 5.66 0.58 5.93 1.02 6.07 1.43 6.08 1.89 5.99 2.32 
+5.8 2.8 2.78 1.56 2.7 1.69 0 -5.18 -2.17 -1.74 -2.41 -1.67 -2.6 -1.61 -2.76 -1.54 
+-5.95 -2.82 -6.27 -2.45 -6.42 -2.02 -6.29 -1.52 -5.99 -0.93 -2.78 -0.26 -2.63 -0.09 -3.32 0.09 
+-3.26 0.26 -3.25 0.39 -3.21 0.55 -6.29 1.52 -6.14 2.02 -5.95 2.45 -5.73 2.82 -5.47 3.14 
+-5.21 3.41 f*
+201.63 1944.77 0.09 1.73 0.28 1.7 0.41 1.63 0.59 1.58 0.74 1.5 0.87 1.41 0.98 1.33 
+1.13 1.21 1.21 1.13 1.32 0.97 1.41 0.87 1.5 0.73 1.58 0.59 1.63 0.43 1.69 0.26 
+1.74 0.08 1.73 -0.08 1.7 -0.26 1.63 -0.43 1.56 -0.59 1.5 -0.73 1.41 -0.87 1.32 -0.97 
+1.24 -1.13 1.11 -1.21 1 -1.33 0.87 -1.41 0.71 -1.5 0.59 -1.58 0.43 -1.63 0.26 -1.7 
+0.09 -1.73 -0.09 -1.74 -0.26 -1.68 -0.43 -1.65 -0.59 -1.56 -0.71 -1.49 -0.87 -1.41 -1 -1.33 
+-1.11 -1.23 -1.24 -1.11 -1.32 -1 -1.41 -0.87 -1.5 -0.71 -1.56 -0.59 -1.63 -0.43 -1.7 -0.26 
+-1.73 -0.08 0 7.27 1.91 0.21 1.82 0.61 1.67 0.93 1.48 1.23 1.24 1.48 0.93 1.67 
+0.61 1.82 0.22 1.91 -0.22 1.93 -0.61 1.8 -0.93 1.7 -1.24 1.48 -1.48 1.23 -1.67 0.93 
+-1.82 0.61 -1.91 0.2 -1.93 -0.2 -1.8 -0.61 -1.7 -0.93 -1.47 -1.23 -1.24 -1.48 -0.93 -1.7 
+-0.61 -1.8 -0.2 -1.93 0.2 -1.91 0.61 -1.82 0.93 -1.67 1.24 -1.48 1.47 -1.23 1.7 -0.93 
+1.8 -0.61 1.93 -0.21 0 -7.27 -1.74 0.08 -1.69 0.26 -1.63 0.43 -1.58 0.59 -1.5 0.71 
+-1.41 0.87 -1.32 1 -1.21 1.11 -1.13 1.23 -0.98 1.33 -0.87 1.41 -0.74 1.49 -0.59 1.56 
+-0.41 1.65 -0.28 1.68 -0.09 1.74 f*
+199.02 1985.33 0 6.75 72.79 -39.5 0 -6.77 -72.79 39.52 f*
+237.5 1993.64 0.09 1.74 0.25 1.69 0.44 1.63 0.58 1.59 0.74 1.49 0.87 1.41 0.98 1.32 
+1.13 1.21 1.21 1.11 1.32 1 1.41 0.87 1.5 0.74 1.58 0.59 1.63 0.41 1.69 0.29 
+1.74 0.08 1.73 -0.08 1.67 -0.29 1.65 -0.41 1.56 -0.59 1.5 -0.74 1.41 -0.87 1.32 -1 
+1.24 -1.11 1.11 -1.21 1 -1.32 0.87 -1.41 0.72 -1.49 0.58 -1.59 0.43 -1.63 0.26 -1.69 
+0.09 -1.74 -0.09 -1.73 -0.26 -1.7 -0.43 -1.63 -0.58 -1.56 -0.72 -1.5 -0.87 -1.41 -1 -1.33 
+-1.11 -1.23 -1.24 -1.11 -1.32 -1 -1.41 -0.87 -1.5 -0.74 -1.56 -0.57 -1.65 -0.43 -1.67 -0.26 
+-1.73 -0.08 0 7.27 1.91 0.22 1.82 0.59 1.67 0.96 1.48 1.23 1.24 1.48 0.93 1.67 
+0.61 1.82 0.22 1.91 -0.22 1.91 -0.61 1.82 -0.93 1.67 -1.24 1.5 -1.48 1.21 -1.67 0.96 
+-1.82 0.61 -1.91 0.2 -1.93 -0.2 -1.8 -0.61 -1.7 -0.96 -1.47 -1.21 -1.24 -1.5 -0.93 -1.67 
+-0.61 -1.82 -0.2 -1.91 0.2 -1.91 0.61 -1.82 0.93 -1.67 1.24 -1.48 1.47 -1.23 1.7 -0.96 
+1.8 -0.59 1.93 -0.22 0 -7.27 -1.74 0.08 -1.69 0.26 -1.63 0.43 -1.58 0.57 -1.5 0.74 
+-1.41 0.87 -1.32 1 -1.21 1.11 -1.13 1.23 -0.98 1.33 -0.87 1.41 -0.74 1.5 -0.58 1.56 
+-0.44 1.63 -0.25 1.7 -0.09 1.73 f*
+196.96 2017.55 0 5.21 6.1 3.99 6.18 3.43 6.23 2.86 6.18 2.32 6.08 1.79 5.93 1.25 
+5.71 0.74 5.42 0.24 5.43 -0.26 5.75 -0.81 5.93 -1.32 6.04 -1.82 6.01 -2.37 5.95 -2.84 
+5.73 -3.37 2.76 -1.87 2.7 -1.97 0 -5.21 -5.47 3.13 -5.49 2.71 -5.56 2.32 -5.64 1.91 
+-5.77 1.49 -5.92 1.09 -6.1 0.65 -6.32 0.22 -6.16 -0.2 -5.99 -0.61 -5.93 -1 -5.84 -1.46 
+-5.86 -1.86 -5.9 -2.35 -6.01 -2.78 -6.14 -3.28 f*
+819.18 880.92 4.58 0 0 -56.55 -7.07 0 0 40.34 -12.48 0 0 5 5.04 0.58 
+2.25 0.48 2.06 0.8 0.95 0.56 0.88 0.72 0.82 0.85 0.74 1.02 0.67 1.24 0.61 1.41 
+0.52 1.67 0.43 1.88 f*
+862.43 880.92 2.06 -0.08 1.95 -0.29 1.89 -0.45 1.75 -0.65 1.67 -0.87 1.54 -1.09 1.43 -1.28 
+1.3 -1.52 1.19 -1.76 1.04 -1.99 0.93 -2.26 0.76 -2.5 0.63 -2.75 0.48 -3.04 0.32 -3.32 
+0.16 -3.6 -0.11 -4.45 -0.37 -4.06 -0.59 -3.62 -0.78 -3.26 -0.96 -2.9 -1.15 -2.54 -1.29 -2.21 
+-1.41 -1.91 -1.54 -1.61 -1.65 -1.34 -1.71 -1.07 -1.79 -0.84 -1.84 -0.63 -1.87 -0.44 -1.87 -0.24 
+-1.88 -0.06 -2.89 0.21 -2.69 0.65 -2.48 1.13 -2.23 1.58 -1.98 2.08 -1.64 2.59 -1.35 3.11 
+-0.95 3.62 7.07 0 0.67 -2.06 0.8 -1.75 0.95 -1.5 1.09 -1.24 1.25 -0.96 1.41 -0.67 
+1.58 -0.41 1.79 -0.15 1.58 0.11 1.47 0.33 1.39 0.55 1.26 0.71 1.15 0.89 1.07 1.06 
+0.95 1.24 0.85 1.37 0.76 1.5 0.66 1.65 0.97 3.61 0.59 3.97 0.2 4.25 -1.96 -1.95 
+-1.86 -1.48 -1.76 -1.11 -1.65 -0.79 -1.54 -0.48 -1.46 -0.3 -2.66 -0.15 -2.2 0.17 -2.04 0.38 
+-1.89 0.52 -1.75 0.7 -1.59 0.84 -1.48 0.98 -1.3 1.13 -1.17 1.22 -1.02 1.34 -0.87 1.43 
+-0.72 1.52 -0.59 1.61 -0.43 1.65 -0.28 1.71 -0.15 1.76 0 1.78 7.08 0 0.21 -2.21 
+0.61 -2.19 1 -2.11 1.34 -1.91 1.7 -1.65 2 -1.28 1.08 -0.48 1.17 -0.37 1.24 -0.22 
+1.3 -0.07 1.3 0.07 1.21 0.22 1.17 0.37 1.11 0.48 1.99 1.28 1.67 1.65 1.37 1.91 
+0.98 2.11 0.63 2.19 0.2 2.21 -0.2 2.2 -0.62 2.21 -0.98 2.11 -1.37 1.91 -1.67 1.63 
+-1.99 1.3 -1.11 0.48 -1.17 0.35 -1.21 0.21 -1.3 0.09 -1.3 -0.09 -1.24 -0.21 -1.17 -0.35 
+-1.08 -0.48 -2 -1.3 -1.7 -1.62 -1.34 -1.91 -1 -2.11 -0.61 -2.21 -0.21 -2.2 -7.08 0 
+0.02 1.85 0.2 1.82 0.37 1.76 0.54 1.69 0.7 1.65 0.85 1.54 1.02 1.43 1.15 1.35 
+1.31 1.23 1.43 1.11 1.57 0.95 1.69 0.8 1.8 0.65 1.93 0.48 2.02 0.28 2.14 0.11 f*
+924.83 866.36 -7.08 0 -0.48 1.91 -0.72 1.67 -0.97 1.43 -1.17 1.17 -1.3 0.93 -1.45 0.67 
+-1.5 0.39 -1.56 0.15 -1.52 -0.11 -1.4 -0.26 -1.35 -0.46 -1.23 -0.62 -1.17 -0.81 -1.04 -0.95 
+-0.98 -1.13 -0.87 -1.28 -0.76 -1.46 -0.68 -1.58 -1.04 -3.63 -0.63 -4.2 -0.21 -4.73 1.69 1.82 
+1.67 1.43 1.67 1.11 1.67 0.79 1.69 0.54 1.71 0.35 3.6 0.22 2.78 -0.29 2.87 -0.82 
+1.43 -0.63 1.41 -0.78 1.37 -0.91 1.28 -1.04 1.2 -1.21 1.11 -1.35 0.95 -1.49 0.83 -1.65 
+0.65 -1.8 0.48 -1.96 0.26 -2.11 0.04 -2.28 -7.07 -0.41 -0.24 2.34 -0.7 2.23 -1.11 2.13 
+-1.43 1.89 -1.74 1.58 -1.97 1.24 -2.17 0.78 -1.13 0.22 -1.15 0.07 -1.17 -0.07 -1.13 -0.22 
+-2.16 -0.78 -1.98 -1.24 -1.73 -1.58 -1.43 -1.89 -1.11 -2.13 -0.7 -2.23 -0.24 -2.34 0.24 -2.32 
+0.7 -2.25 1.11 -2.11 1.43 -1.89 1.73 -1.61 1.98 -1.21 2.16 -0.8 1.13 -0.2 1.17 -0.09 
+1.15 0.09 1.13 0.2 2.17 0.8 1.97 1.21 1.74 1.61 1.43 1.89 1.11 2.11 0.7 2.25 
+0.24 2.32 7.07 0.41 -0.28 -3.32 -0.35 -1.66 -0.48 -1.67 -0.63 -1.63 -0.79 -1.58 -0.93 -1.52 
+-1.06 -1.43 -1.24 -1.35 -1.37 -1.19 -1.54 -1.09 -1.7 -0.91 -1.84 -0.74 -2.02 -0.56 -2.17 -0.35 
+-2.32 -0.11 -2.56 0.15 -2.32 0.41 -2.14 0.69 -1.93 0.93 -1.75 1.17 -1.57 1.41 -1.39 1.63 
+-1.21 1.8 -1.04 2.02 -0.89 2.17 -0.74 2.32 -0.59 2.47 -0.44 2.61 -0.32 2.73 -0.24 5.75 
+0.09 3.43 0.26 3.25 0.44 3.05 0.58 2.91 0.76 2.69 0.93 2.49 1.06 2.29 1.24 2.08 
+1.37 1.87 1.54 1.63 1.67 1.39 1.82 1.17 1.96 0.91 2.08 0.65 2.23 0.41 2.34 0.13 
+1.7 -0.06 1.61 -0.24 1.52 -0.37 1.46 -0.48 1.39 -0.63 1.28 -0.74 2.3 -1.8 1.89 -2.15 
+1.5 -2.47 1.04 -2.71 0.57 -2.91 f*
+951.43 880.92 2.06 -0.17 1.97 -0.5 1.87 -0.8 1.76 -1.09 1.65 -1.34 1.54 -1.58 1.43 -1.78 
+1.28 -1.98 1.17 -2.14 1.02 -2.3 0.89 -2.41 0.71 -2.49 0.59 -2.58 0.43 -2.63 0.24 -2.64 
+0.09 -2.65 -0.09 -2.66 -0.24 -2.67 -0.43 -2.64 -0.59 -2.61 -0.71 -2.54 -0.89 -2.43 -1.02 -2.32 
+-1.17 -2.19 -1.28 -2.02 -1.43 -1.83 -1.54 -1.63 -1.65 -1.37 -1.76 -1.11 -1.87 -0.82 -1.97 -0.52 
+-2.06 -0.17 -2.06 0.17 -1.98 0.52 -1.87 0.82 -1.75 1.11 -1.65 1.37 -1.54 1.63 -1.43 1.83 
+-1.28 2.02 -1.17 2.19 -1.02 2.32 -0.89 2.43 -0.72 2.54 -0.59 2.61 -0.43 2.64 -0.24 2.67 
+-0.09 2.66 7.48 0 0.26 -5.07 0.71 -4.54 1.15 -3.97 1.45 -3.37 1.71 -2.71 0.93 -1.08 
+0.96 -0.91 1 -0.7 1 -0.52 1.02 -0.33 1.02 -0.11 1.02 0.11 1.02 0.33 1 0.52 
+0.99 0.7 0.96 0.91 0.93 1.08 1.71 2.71 1.46 3.37 1.15 3.97 0.71 4.54 0.26 5.07 
+-0.26 5.04 -0.71 4.5 -1.15 3.9 -1.46 3.3 -1.71 2.63 -0.93 1.04 -0.96 0.89 -0.99 0.68 
+-1 0.5 -1.02 0.3 -1.02 0.11 -1.02 -0.11 -1.02 -0.3 -1 -0.5 -1 -0.68 -0.96 -0.89 
+-0.93 -1.04 -1.71 -2.62 -1.45 -3.3 -1.15 -3.9 -0.71 -4.5 -0.26 -5.04 -7.48 0 0.09 2.65 
+0.24 2.64 0.43 2.63 0.59 2.58 0.72 2.49 0.89 2.41 1.02 2.3 1.17 2.14 1.28 1.98 
+1.43 1.78 1.54 1.58 1.65 1.34 1.75 1.09 1.87 0.8 1.98 0.5 2.06 0.17 f*
+1298.57 880.92 4.58 0 0 -56.55 -7.07 0 0 40.34 -12.48 0 0 5 5.04 0.58 
+2.25 0.48 2.06 0.8 0.95 0.56 0.88 0.72 0.82 0.85 0.76 1.02 0.67 1.24 0.58 1.41 
+0.52 1.67 0.43 1.88 f*
+1341.82 880.92 2.06 -0.08 1.98 -0.29 1.87 -0.45 1.75 -0.65 1.67 -0.87 1.54 -1.09 1.43 -1.28 
+1.32 -1.52 1.17 -1.76 1.07 -1.99 0.91 -2.26 0.79 -2.5 0.63 -2.75 0.46 -3.04 0.32 -3.32 
+0.18 -3.6 -0.13 -4.45 -0.37 -4.06 -0.57 -3.62 -0.78 -3.26 -0.98 -2.9 -1.13 -2.54 -1.3 -2.21 
+-1.41 -1.91 -1.54 -1.61 -1.62 -1.34 -1.73 -1.07 -1.79 -0.84 -1.82 -0.63 -1.87 -0.44 -1.89 -0.24 
+-1.89 -0.06 -2.86 0.21 -2.71 0.65 -2.48 1.13 -2.23 1.58 -1.95 2.08 -1.67 2.59 -1.33 3.11 
+-0.97 3.62 7.07 0 0.67 -2.06 0.83 -1.75 0.93 -1.5 1.11 -1.24 1.23 -0.96 1.41 -0.67 
+1.61 -0.41 1.78 -0.15 1.59 0.11 1.47 0.33 1.37 0.55 1.25 0.71 1.17 0.89 1.05 1.06 
+0.95 1.24 0.87 1.37 0.74 1.5 0.65 1.65 0.97 3.61 0.61 3.97 0.2 4.25 -1.97 -1.95 
+-1.87 -1.48 -1.74 -1.11 -1.65 -0.79 -1.56 -0.48 -1.46 -0.3 -2.64 -0.15 -2.19 0.17 -2.04 0.38 
+-1.91 0.52 -1.73 0.7 -1.61 0.84 -1.46 0.98 -1.32 1.13 -1.15 1.22 -1.02 1.34 -0.89 1.43 
+-0.72 1.52 -0.59 1.61 -0.43 1.65 -0.28 1.71 -0.16 1.76 0.02 1.78 7.06 0 0.21 -2.21 
+0.61 -2.19 1 -2.11 1.37 -1.91 1.67 -1.65 2 -1.28 1.11 -0.48 1.15 -0.37 1.24 -0.22 
+1.3 -0.07 1.3 0.07 1.23 0.22 1.17 0.37 1.09 0.48 1.99 1.28 1.7 1.65 1.34 1.91 
+1 2.11 0.61 2.19 0.22 2.21 -0.22 2.2 -0.61 2.21 -1 2.11 -1.34 1.91 -1.7 1.63 
+-1.99 1.3 -1.09 0.48 -1.17 0.35 -1.23 0.21 -1.3 0.09 -1.3 -0.09 -1.24 -0.21 -1.15 -0.35 
+-1.11 -0.48 -2 -1.3 -1.67 -1.62 -1.37 -1.91 -1 -2.11 -0.61 -2.21 -0.21 -2.2 -7.06 0 
+0 1.85 0.2 1.82 0.38 1.76 0.54 1.69 0.7 1.65 0.88 1.54 0.99 1.43 1.15 1.35 
+1.3 1.23 1.43 1.11 1.56 0.95 1.69 0.8 1.83 0.65 1.9 0.48 2.05 0.28 2.12 0.11 f*
+1368.01 880.92 37.85 0 0 -5.81 -5.36 -8.07 -4.34 -6.95 -3.49 -6.12 -2.76 -5.64 -2.2 -5.47 
+-1.8 -5.6 -1.52 -6.05 -1.41 -6.84 -7.49 0 2.13 7.84 2.04 6.61 2.15 5.8 2.36 5.32 
+2.75 5.25 3.25 5.56 8.62 13.52 -30.79 0 0 6.66 f*
+1430.82 880.92 2.06 -0.17 1.97 -0.5 1.86 -0.8 1.76 -1.09 1.67 -1.34 1.54 -1.58 1.41 -1.78 
+1.3 -1.98 1.15 -2.14 1.02 -2.3 0.89 -2.41 0.74 -2.49 0.56 -2.58 0.43 -2.63 0.26 -2.64 
+0.09 -2.65 -0.09 -2.66 -0.26 -2.67 -0.43 -2.64 -0.56 -2.61 -0.74 -2.54 -0.89 -2.43 -1.02 -2.32 
+-1.15 -2.19 -1.3 -2.02 -1.41 -1.83 -1.54 -1.63 -1.67 -1.37 -1.76 -1.11 -1.86 -0.82 -1.97 -0.52 
+-2.06 -0.17 -2.06 0.17 -1.95 0.52 -1.87 0.82 -1.78 1.11 -1.65 1.37 -1.54 1.63 -1.41 1.83 
+-1.3 2.02 -1.15 2.19 -1.04 2.32 -0.87 2.43 -0.74 2.54 -0.59 2.61 -0.41 2.64 -0.26 2.67 
+-0.09 2.66 7.48 0 0.26 -5.07 0.74 -4.54 1.13 -3.97 1.46 -3.37 1.71 -2.71 0.93 -1.08 
+0.95 -0.91 1 -0.7 1.02 -0.52 0.99 -0.33 1.02 -0.11 1.02 0.11 1.02 0.33 1.02 0.52 
+0.97 0.7 0.98 0.91 0.93 1.08 1.7 2.71 1.48 3.37 1.13 3.97 0.73 4.54 0.26 5.07 
+-0.26 5.04 -0.73 4.5 -1.13 3.9 -1.48 3.3 -1.7 2.63 -0.93 1.04 -0.98 0.89 -0.97 0.68 
+-1.02 0.5 -1.02 0.3 -1.02 0.11 -1.02 -0.11 -0.99 -0.3 -1.02 -0.5 -1 -0.68 -0.95 -0.89 
+-0.93 -1.04 -1.71 -2.62 -1.46 -3.3 -1.13 -3.9 -0.74 -4.5 -0.26 -5.04 -7.48 0 0.09 2.65 
+0.26 2.64 0.41 2.63 0.59 2.58 0.74 2.49 0.87 2.41 1.04 2.3 1.15 2.14 1.3 1.98 
+1.41 1.78 1.54 1.58 1.65 1.34 1.78 1.09 1.87 0.8 1.95 0.5 2.06 0.17 f*
+1777.95 880.92 4.58 0 0 -56.55 -7.07 0 0 40.34 -12.48 0 0 5 5.04 0.58 
+2.25 0.48 2.07 0.8 0.95 0.56 0.89 0.72 0.8 0.85 0.76 1.02 0.67 1.24 0.59 1.41 
+0.52 1.67 0.43 1.88 f*
+1821.2 880.92 2.07 -0.08 1.97 -0.29 1.87 -0.45 1.78 -0.65 1.65 -0.87 1.56 -1.09 1.43 -1.28 
+1.3 -1.52 1.17 -1.76 1.07 -1.99 0.91 -2.26 0.79 -2.5 0.63 -2.75 0.48 -3.04 0.32 -3.32 
+0.16 -3.6 -0.13 -4.45 -0.34 -4.06 -0.59 -3.62 -0.78 -3.26 -0.98 -2.9 -1.13 -2.54 -1.29 -2.21 
+-1.43 -1.91 -1.54 -1.61 -1.63 -1.34 -1.71 -1.07 -1.8 -0.84 -1.82 -0.63 -1.87 -0.44 -1.89 -0.24 
+-1.86 -0.06 -2.89 0.21 -2.69 0.65 -2.5 1.13 -2.23 1.58 -1.96 2.08 -1.67 2.59 -1.33 3.11 
+-0.97 3.62 7.07 0 0.7 -2.06 0.8 -1.75 0.95 -1.5 1.09 -1.24 1.23 -0.96 1.43 -0.67 
+1.58 -0.41 1.78 -0.15 1.59 0.11 1.48 0.33 1.37 0.55 1.25 0.71 1.17 0.89 1.07 1.06 
+0.95 1.24 0.85 1.37 0.74 1.5 0.65 1.65 1 3.61 0.59 3.97 0.2 4.25 -1.97 -1.95 
+-1.84 -1.48 -1.76 -1.11 -1.65 -0.79 -1.56 -0.48 -1.46 -0.3 -2.64 -0.15 -2.19 0.17 -2.04 0.38 
+-1.89 0.52 -1.75 0.7 -1.61 0.84 -1.46 0.98 -1.32 1.13 -1.15 1.22 -1.02 1.34 -0.87 1.43 
+-0.74 1.52 -0.59 1.61 -0.44 1.65 -0.28 1.71 -0.13 1.76 0 1.78 7.07 0 0.2 -2.21 
+0.63 -2.19 1 -2.11 1.34 -1.91 1.67 -1.65 2 -1.28 1.11 -0.48 1.17 -0.37 1.24 -0.22 
+1.28 -0.07 1.3 0.07 1.23 0.22 1.17 0.37 1.11 0.48 1.97 1.28 1.69 1.65 1.35 1.91 
+1 2.11 0.61 2.19 0.21 2.21 -0.21 2.2 -0.61 2.21 -1 2.11 -1.35 1.91 -1.69 1.63 
+-1.97 1.3 -1.11 0.48 -1.17 0.35 -1.23 0.21 -1.3 0.09 -1.28 -0.09 -1.24 -0.21 -1.17 -0.35 
+-1.11 -0.48 -2 -1.3 -1.67 -1.62 -1.34 -1.91 -1 -2.11 -0.63 -2.21 -0.2 -2.2 -7.07 0 
+0.02 1.85 0.17 1.82 0.38 1.76 0.54 1.69 0.69 1.65 0.88 1.54 0.99 1.43 1.17 1.35 
+1.31 1.23 1.43 1.11 1.57 0.95 1.67 0.8 1.82 0.65 1.91 0.48 2.04 0.28 2.12 0.11 f*
+1865.71 880.92 3.47 -0.24 3.23 -0.75 1.48 -0.55 1.41 -0.67 1.32 -0.78 1.19 -0.91 1.09 -0.99 
+0.98 -1.13 0.84 -1.21 0.72 -1.35 0.57 -1.43 0.41 -1.57 0.26 -1.62 0.08 -1.76 -0.2 -2.45 
+-0.52 -2.13 -0.78 -1.8 -1 -1.52 -1.17 -1.3 -1.26 -1.08 -2.56 -1.79 2.08 -1.06 1.87 -1.3 
+1.63 -1.54 1.39 -1.75 1.11 -1.91 0.8 -2.06 0.52 -2.2 0.15 -2.3 -0.07 -1.36 -0.24 -1.41 
+-0.39 -1.45 -0.55 -1.48 -0.7 -1.48 -0.84 -1.45 -1 -1.41 -1.15 -1.35 -1.3 -1.25 -1.45 -1.15 
+-1.61 -1.05 -1.76 -0.89 -1.91 -0.74 -2.05 -0.54 -2.19 -0.35 -2.34 -0.11 -2.34 0.11 -2.17 0.35 
+-2 0.54 -1.87 0.74 -1.7 0.89 -1.52 1.05 -1.39 1.15 -1.21 1.25 -1.08 1.35 -0.91 1.41 
+-0.78 1.45 -0.63 1.48 -0.84 2.93 -0.29 2.78 7.48 0 0.26 -2.28 0.7 -2.11 1.09 -1.91 
+1.45 -1.67 1.74 -1.36 1.97 -1.02 2.15 -0.65 2.3 -0.24 2.3 0.24 2.15 0.65 1.97 1.02 
+1.74 1.36 1.46 1.67 1.08 1.91 0.7 2.11 0.26 2.28 -0.26 2.28 -0.7 2.11 -1.08 1.91 
+-1.46 1.65 -1.74 1.37 -1.97 1.04 -2.15 0.65 -2.3 0.21 -2.3 -0.21 -2.15 -0.65 -1.97 -1.04 
+-1.74 -1.37 -1.45 -1.65 -1.09 -1.91 -0.7 -2.11 -0.26 -2.28 -7.48 0 0.18 2.28 0.5 2.15 
+0.82 2.02 1.11 1.87 1.39 1.72 1.63 1.54 1.86 1.39 2.09 1.17 -2.56 1.79 -1.26 1.08 
+-1.17 1.3 -1 1.52 -0.78 1.8 -0.52 2.13 -0.2 2.45 7.07 0 0.22 -1.93 0.59 -1.71 
+0.93 -1.5 1.23 -1.23 1.48 -1.02 1.69 -0.72 1.87 -0.45 1.97 -0.15 1.98 0.15 1.87 0.45 
+1.69 0.72 1.48 1.02 1.23 1.23 0.93 1.5 0.59 1.71 0.22 1.93 -0.22 1.93 -0.59 1.71 
+-0.93 1.5 -1.23 1.26 -1.48 1 -1.69 0.74 -1.87 0.45 -1.98 0.15 -1.97 -0.15 -1.87 -0.45 
+-1.69 -0.74 -1.48 -1 -1.23 -1.26 -0.93 -1.5 -0.59 -1.71 -0.22 -1.93 -7.07 0 0.08 1.76 
+0.26 1.62 0.42 1.57 0.56 1.43 0.72 1.35 0.84 1.21 0.96 1.13 1.11 0.99 1.19 0.91 
+1.33 0.78 1.39 0.67 1.49 0.55 3.23 0.75 3.47 0.24 f*
+1910.22 880.92 2.04 -0.17 1.97 -0.5 1.87 -0.8 1.78 -1.09 1.65 -1.34 1.54 -1.58 1.41 -1.78 
+1.3 -1.98 1.15 -2.14 1.02 -2.3 0.89 -2.41 0.74 -2.49 0.59 -2.58 0.41 -2.63 0.26 -2.64 
+0.09 -2.65 -0.09 -2.66 -0.26 -2.67 -0.41 -2.64 -0.59 -2.61 -0.74 -2.54 -0.89 -2.43 -1.02 -2.32 
+-1.15 -2.19 -1.3 -2.02 -1.41 -1.83 -1.54 -1.63 -1.65 -1.37 -1.78 -1.11 -1.87 -0.82 -1.97 -0.52 
+-2.04 -0.17 -2.06 0.17 -1.98 0.52 -1.87 0.82 -1.78 1.11 -1.65 1.37 -1.54 1.63 -1.41 1.83 
+-1.3 2.02 -1.15 2.19 -1.02 2.32 -0.89 2.43 -0.74 2.54 -0.59 2.61 -0.41 2.64 -0.26 2.67 
+-0.08 2.66 7.48 0 0.26 -5.07 0.74 -4.54 1.13 -3.97 1.46 -3.37 1.71 -2.71 0.93 -1.08 
+0.97 -0.91 0.98 -0.7 1.02 -0.52 1.02 -0.33 1.02 -0.11 1 0.11 1.02 0.33 1.02 0.52 
+0.97 0.7 0.98 0.91 0.93 1.08 1.71 2.71 1.46 3.37 1.13 3.97 0.73 4.54 0.26 5.07 
+-0.26 5.04 -0.73 4.5 -1.13 3.9 -1.46 3.3 -1.71 2.63 -0.93 1.04 -0.98 0.89 -0.97 0.68 
+-1.02 0.5 -1.02 0.3 -1 0.11 -1.02 -0.11 -1.02 -0.3 -1.02 -0.5 -0.98 -0.68 -0.97 -0.89 
+-0.93 -1.04 -1.71 -2.62 -1.46 -3.3 -1.13 -3.9 -0.74 -4.5 -0.26 -5.04 -7.48 0 0.08 2.65 
+0.26 2.64 0.41 2.63 0.59 2.58 0.74 2.49 0.89 2.41 1.02 2.3 1.15 2.14 1.3 1.98 
+1.41 1.78 1.54 1.58 1.65 1.34 1.78 1.09 1.87 0.8 1.98 0.5 2.06 0.17 f*
+2257.33 880.92 4.59 0 0 -56.55 -7.08 0 0 40.34 -12.46 0 0 5 5.01 0.58 
+2.28 0.48 2.06 0.8 0.93 0.56 0.89 0.72 0.82 0.85 0.74 1.02 0.67 1.24 0.61 1.41 
+0.5 1.67 0.43 1.88 f*
+2300.61 880.92 2.06 -0.08 1.95 -0.29 1.87 -0.45 1.78 -0.65 1.65 -0.87 1.56 -1.09 1.43 -1.28 
+1.3 -1.52 1.19 -1.76 1.04 -1.99 0.91 -2.26 0.79 -2.5 0.63 -2.75 0.48 -3.04 0.32 -3.32 
+0.15 -3.6 -0.13 -4.45 -0.34 -4.06 -0.59 -3.62 -0.78 -3.26 -0.95 -2.9 -1.15 -2.54 -1.28 -2.21 
+-1.43 -1.91 -1.52 -1.61 -1.65 -1.34 -1.71 -1.07 -1.79 -0.84 -1.84 -0.63 -1.87 -0.44 -1.88 -0.24 
+-1.87 -0.06 -2.89 0.21 -2.69 0.65 -2.48 1.13 -2.23 1.58 -1.97 2.08 -1.68 2.59 -1.32 3.11 
+-0.97 3.62 7.07 0 0.7 -2.06 0.8 -1.75 0.96 -1.5 1.08 -1.24 1.26 -0.96 1.41 -0.67 
+1.58 -0.41 1.79 -0.15 1.58 0.11 1.48 0.33 1.37 0.55 1.28 0.71 1.15 0.89 1.07 1.06 
+0.95 1.24 0.85 1.37 0.76 1.5 0.63 1.65 1 3.61 0.59 3.97 0.2 4.25 -1.97 -1.95 
+-1.84 -1.48 -1.76 -1.11 -1.65 -0.79 -1.54 -0.48 -1.46 -0.3 -2.66 -0.15 -2.2 0.17 -2.04 0.38 
+-1.89 0.52 -1.75 0.7 -1.61 0.84 -1.46 0.98 -1.3 1.13 -1.17 1.22 -1.02 1.34 -0.87 1.43 
+-0.74 1.52 -0.56 1.61 -0.44 1.65 -0.3 1.71 -0.13 1.76 0 1.78 7.08 0 0.21 -2.21 
+0.61 -2.19 1 -2.11 1.34 -1.91 1.7 -1.65 1.97 -1.28 1.11 -0.48 1.17 -0.37 1.24 -0.22 
+1.3 -0.07 1.29 0.07 1.23 0.22 1.17 0.37 1.11 0.48 1.99 1.28 1.67 1.65 1.35 1.91 
+1 2.11 0.61 2.19 0.21 2.21 -0.21 2.2 -0.61 2.21 -1 2.11 -1.35 1.91 -1.67 1.63 
+-1.99 1.3 -1.11 0.48 -1.17 0.35 -1.23 0.21 -1.29 0.09 -1.3 -0.09 -1.24 -0.21 -1.17 -0.35 
+-1.11 -0.48 -1.97 -1.3 -1.7 -1.62 -1.34 -1.91 -1 -2.11 -0.61 -2.21 -0.21 -2.2 -7.08 0 
+0.02 1.85 0.2 1.82 0.37 1.76 0.52 1.69 0.71 1.65 0.85 1.54 1.02 1.43 1.15 1.35 
+1.31 1.23 1.43 1.11 1.56 0.95 1.7 0.8 1.8 0.65 1.93 0.48 2.02 0.28 2.14 0.11 f*
+2345.09 880.92 2.06 -0.08 1.98 -0.29 1.87 -0.45 1.78 -0.65 1.65 -0.87 1.54 -1.09 1.43 -1.28 
+1.32 -1.52 1.17 -1.76 1.07 -1.99 0.91 -2.26 0.78 -2.5 0.64 -2.75 0.48 -3.04 0.3 -3.32 
+0.17 -3.6 -0.13 -4.45 -0.37 -4.06 -0.57 -3.62 -0.78 -3.26 -0.97 -2.9 -1.13 -2.54 -1.29 -2.21 
+-1.43 -1.91 -1.54 -1.61 -1.63 -1.34 -1.72 -1.07 -1.8 -0.84 -1.82 -0.63 -1.87 -0.44 -1.89 -0.24 
+-1.87 -0.06 -2.88 0.21 -2.7 0.65 -2.5 1.13 -2.23 1.58 -1.96 2.08 -1.67 2.59 -1.32 3.11 
+-0.98 3.62 7.08 0 0.67 -2.06 0.82 -1.75 0.93 -1.5 1.11 -1.24 1.23 -0.96 1.43 -0.67 
+1.58 -0.41 1.78 -0.15 1.59 0.11 1.47 0.33 1.37 0.55 1.26 0.71 1.17 0.89 1.06 1.06 
+0.93 1.24 0.87 1.37 0.73 1.5 0.66 1.65 0.99 3.61 0.59 3.97 0.2 4.25 -1.98 -1.95 
+-1.87 -1.48 -1.73 -1.11 -1.65 -0.79 -1.56 -0.48 -1.46 -0.3 -2.64 -0.15 -2.19 0.17 -2.04 0.38 
+-1.91 0.52 -1.73 0.7 -1.61 0.84 -1.46 0.98 -1.32 1.13 -1.16 1.22 -1.02 1.34 -0.89 1.43 
+-0.72 1.52 -0.59 1.61 -0.43 1.65 -0.29 1.71 -0.12 1.76 0 1.78 7.07 0 0.2 -2.21 
+0.63 -2.19 0.98 -2.11 1.37 -1.91 1.67 -1.65 2 -1.28 1.11 -0.48 1.17 -0.37 1.21 -0.22 
+1.3 -0.07 1.3 0.07 1.23 0.22 1.17 0.37 1.09 0.48 2 1.28 1.69 1.65 1.35 1.91 
+0.99 2.11 0.61 2.19 0.21 2.21 -0.21 2.2 -0.61 2.21 -0.99 2.11 -1.35 1.91 -1.69 1.63 
+-2 1.3 -1.09 0.48 -1.17 0.35 -1.23 0.21 -1.3 0.09 -1.3 -0.09 -1.21 -0.21 -1.17 -0.35 
+-1.11 -0.48 -2 -1.3 -1.67 -1.62 -1.37 -1.91 -0.98 -2.11 -0.63 -2.21 -0.2 -2.2 -7.07 0 
+0 1.85 0.19 1.82 0.38 1.76 0.54 1.69 0.69 1.65 0.87 1.54 1 1.43 1.17 1.35 
+1.29 1.23 1.43 1.11 1.59 0.95 1.67 0.8 1.82 0.65 1.91 0.48 2.04 0.28 2.13 0.11 f*
+2389.61 880.92 2.06 -0.17 1.95 -0.5 1.88 -0.8 1.76 -1.09 1.65 -1.34 1.54 -1.58 1.41 -1.78 
+1.3 -1.98 1.17 -2.14 1.02 -2.3 0.87 -2.41 0.74 -2.49 0.59 -2.58 0.41 -2.63 0.26 -2.64 
+0.09 -2.65 -0.09 -2.66 -0.26 -2.67 -0.41 -2.64 -0.59 -2.61 -0.74 -2.54 -0.87 -2.43 -1.02 -2.32 
+-1.17 -2.19 -1.3 -2.02 -1.41 -1.83 -1.54 -1.63 -1.65 -1.37 -1.76 -1.11 -1.88 -0.82 -1.95 -0.52 
+-2.06 -0.17 -2.06 0.17 -1.98 0.52 -1.87 0.82 -1.75 1.11 -1.67 1.37 -1.52 1.63 -1.43 1.83 
+-1.28 2.02 -1.17 2.19 -1.02 2.32 -0.89 2.43 -0.74 2.54 -0.57 2.61 -0.43 2.64 -0.26 2.67 
+-0.08 2.66 7.48 0 0.26 -5.07 0.74 -4.54 1.13 -3.97 1.48 -3.37 1.71 -2.71 0.91 -1.08 
+0.97 -0.91 1 -0.7 1 -0.52 1.02 -0.33 1.02 -0.11 1.02 0.11 1.02 0.33 1 0.52 
+1 0.7 0.95 0.91 0.93 1.08 1.72 2.71 1.45 3.37 1.13 3.97 0.74 4.54 0.26 5.07 
+-0.26 5.04 -0.74 4.5 -1.13 3.9 -1.45 3.3 -1.72 2.63 -0.93 1.04 -0.95 0.89 -1 0.68 
+-1 0.5 -1.02 0.3 -1.02 0.11 -1.02 -0.11 -1.02 -0.3 -1 -0.5 -1 -0.68 -0.97 -0.89 
+-0.91 -1.04 -1.71 -2.62 -1.48 -3.3 -1.13 -3.9 -0.74 -4.5 -0.26 -5.04 -7.48 0 0.08 2.65 
+0.26 2.64 0.43 2.63 0.57 2.58 0.74 2.49 0.89 2.41 1.02 2.3 1.17 2.14 1.28 1.98 
+1.43 1.78 1.52 1.58 1.67 1.34 1.75 1.09 1.87 0.8 1.98 0.5 2.06 0.17 f*
+2720.31 861.37 7.05 0 0.2 2.84 0.52 2.58 0.89 2.26 1.25 1.95 1.63 1.56 2.02 1.16 
+2.36 0.71 2.78 0.26 2.15 -0.2 2 -0.56 1.84 -0.91 1.61 -1.26 1.32 -1.54 1.02 -1.84 
+0.65 -2.13 0.22 -2.39 -0.2 -2.41 -0.59 -2.02 -0.98 -1.71 -1.41 -1.54 -1.8 -1.45 -2.21 -1.5 
+-5.71 -3.5 -4.82 -2.82 -3.93 -2.84 -1.67 -1.46 -1.45 -1.45 -1.28 -1.5 -1.09 -1.52 -0.93 -1.56 
+-0.78 -1.61 -0.63 -1.63 -0.5 -1.7 -0.61 -3.54 -0.2 -3.75 37.84 0 0 6.64 -29.94 0 
+0.75 2.56 1.02 2.13 1.32 1.8 1.7 1.63 2.06 1.54 2.52 1.58 6.45 3.73 3.71 1.84 
+3.13 2.08 2.52 2.26 1.97 2.41 1.45 2.49 1.02 2.54 0.56 2.56 0.17 2.54 -0.09 1.76 
+-0.28 1.67 -0.46 1.61 -0.63 1.52 -0.78 1.43 -0.91 1.34 -1.06 1.24 -1.2 1.13 -1.3 1 
+-1.41 0.91 -1.52 0.78 -1.59 0.63 -1.67 0.52 -1.75 0.37 -1.81 0.24 -1.84 0.06 -1.99 -0.06 
+-1.91 -0.21 -1.84 -0.37 -1.73 -0.52 -1.65 -0.67 -1.54 -0.82 -1.43 -0.98 -1.3 -1.13 -1.17 -1.3 
+-1.06 -1.43 -0.91 -1.61 -0.76 -1.76 -0.58 -1.93 -0.46 -2.08 -0.26 -2.24 -0.09 -2.43 f*
+2782.68 880.92 2.06 -0.17 1.97 -0.5 1.87 -0.8 1.76 -1.09 1.67 -1.34 1.54 -1.58 1.41 -1.78 
+1.3 -1.98 1.15 -2.14 1.02 -2.3 0.89 -2.41 0.74 -2.49 0.58 -2.58 0.41 -2.63 0.26 -2.64 
+0.09 -2.65 -0.09 -2.66 -0.26 -2.67 -0.41 -2.64 -0.58 -2.61 -0.74 -2.54 -0.89 -2.43 -1.02 -2.32 
+-1.15 -2.19 -1.3 -2.02 -1.41 -1.83 -1.54 -1.63 -1.67 -1.37 -1.76 -1.11 -1.87 -0.82 -1.97 -0.52 
+-2.06 -0.17 -2.06 0.17 -1.95 0.52 -1.87 0.82 -1.78 1.11 -1.65 1.37 -1.54 1.63 -1.41 1.83 
+-1.3 2.02 -1.15 2.19 -1.04 2.32 -0.87 2.43 -0.74 2.54 -0.59 2.61 -0.41 2.64 -0.26 2.67 
+-0.09 2.66 7.48 0 0.26 -5.07 0.74 -4.54 1.13 -3.97 1.45 -3.37 1.71 -2.71 0.93 -1.08 
+0.96 -0.91 1 -0.7 1.02 -0.52 0.99 -0.33 1.02 -0.11 1.02 0.11 1.02 0.33 1.02 0.52 
+0.97 0.7 0.98 0.91 0.93 1.08 1.71 2.71 1.45 3.37 1.14 3.97 0.73 4.54 0.26 5.07 
+-0.26 5.04 -0.73 4.5 -1.14 3.9 -1.45 3.3 -1.71 2.63 -0.93 1.04 -0.98 0.89 -0.97 0.68 
+-1.02 0.5 -1.02 0.3 -1.02 0.11 -1.02 -0.11 -0.99 -0.3 -1.02 -0.5 -1 -0.68 -0.96 -0.89 
+-0.93 -1.04 -1.71 -2.62 -1.45 -3.3 -1.13 -3.9 -0.74 -4.5 -0.26 -5.04 -7.48 0 0.09 2.65 
+0.26 2.64 0.41 2.63 0.59 2.58 0.74 2.49 0.87 2.41 1.04 2.3 1.15 2.14 1.3 1.98 
+1.41 1.78 1.54 1.58 1.65 1.34 1.78 1.09 1.87 0.8 1.95 0.5 2.06 0.17 f*
+2827.2 880.92 2.06 -0.17 1.97 -0.5 1.87 -0.8 1.76 -1.09 1.65 -1.34 1.54 -1.58 1.43 -1.78 
+1.28 -1.98 1.18 -2.14 1.02 -2.3 0.89 -2.41 0.71 -2.49 0.59 -2.58 0.43 -2.63 0.24 -2.64 
+0.09 -2.65 -0.09 -2.66 -0.24 -2.67 -0.43 -2.64 -0.59 -2.61 -0.71 -2.54 -0.89 -2.43 -1.02 -2.32 
+-1.18 -2.19 -1.28 -2.02 -1.43 -1.83 -1.54 -1.63 -1.65 -1.37 -1.76 -1.11 -1.87 -0.82 -1.97 -0.52 
+-2.06 -0.17 -2.07 0.17 -1.97 0.52 -1.87 0.82 -1.75 1.11 -1.65 1.37 -1.54 1.63 -1.43 1.83 
+-1.28 2.02 -1.17 2.19 -1.02 2.32 -0.89 2.43 -0.71 2.54 -0.59 2.61 -0.43 2.64 -0.24 2.67 
+-0.09 2.66 7.49 0 0.26 -5.07 0.71 -4.54 1.15 -3.97 1.45 -3.37 1.71 -2.71 0.93 -1.08 
+0.96 -0.91 1 -0.7 0.99 -0.52 1.02 -0.33 1.02 -0.11 1.02 0.11 1.02 0.33 0.99 0.52 
+1 0.7 0.96 0.91 0.93 1.08 1.71 2.71 1.45 3.37 1.15 3.97 0.71 4.54 0.26 5.07 
+-0.26 5.04 -0.71 4.5 -1.15 3.9 -1.45 3.3 -1.71 2.63 -0.93 1.04 -0.96 0.89 -1 0.68 
+-0.99 0.5 -1.02 0.3 -1.02 0.11 -1.02 -0.11 -1.02 -0.3 -0.99 -0.5 -1 -0.68 -0.96 -0.89 
+-0.93 -1.04 -1.71 -2.62 -1.45 -3.3 -1.15 -3.9 -0.71 -4.5 -0.26 -5.04 -7.49 0 0.09 2.65 
+0.24 2.64 0.43 2.63 0.59 2.58 0.71 2.49 0.89 2.41 1.02 2.3 1.17 2.14 1.28 1.98 
+1.43 1.78 1.54 1.58 1.65 1.34 1.75 1.09 1.87 0.8 1.97 0.5 2.07 0.17 f*
+2871.7 880.92 2.06 -0.17 1.96 -0.5 1.86 -0.8 1.78 -1.09 1.65 -1.34 1.54 -1.58 1.41 -1.78 
+1.3 -1.98 1.15 -2.14 1.04 -2.3 0.87 -2.41 0.74 -2.49 0.59 -2.58 0.41 -2.63 0.26 -2.64 
+0.09 -2.65 -0.09 -2.66 -0.26 -2.67 -0.41 -2.64 -0.59 -2.61 -0.74 -2.54 -0.87 -2.43 -1.04 -2.32 
+-1.15 -2.19 -1.3 -2.02 -1.41 -1.83 -1.54 -1.63 -1.65 -1.37 -1.78 -1.11 -1.86 -0.82 -1.96 -0.52 
+-2.06 -0.17 -2.06 0.17 -1.97 0.52 -1.87 0.82 -1.76 1.11 -1.67 1.37 -1.54 1.63 -1.41 1.83 
+-1.3 2.02 -1.15 2.19 -1.02 2.32 -0.89 2.43 -0.74 2.54 -0.58 2.61 -0.41 2.64 -0.26 2.67 
+-0.09 2.66 7.49 0 0.26 -5.07 0.73 -4.54 1.13 -3.97 1.45 -3.37 1.71 -2.71 0.93 -1.08 
+0.98 -0.91 0.97 -0.7 1.02 -0.52 1.02 -0.33 1.02 -0.11 1 0.11 1.02 0.33 1.02 0.52 
+1 0.7 0.96 0.91 0.93 1.08 1.71 2.71 1.45 3.37 1.13 3.97 0.74 4.54 0.26 5.07 
+-0.26 5.04 -0.74 4.5 -1.13 3.9 -1.45 3.3 -1.71 2.63 -0.93 1.04 -0.96 0.89 -1 0.68 
+-1.02 0.5 -1.02 0.3 -1 0.11 -1.02 -0.11 -1.02 -0.3 -1.02 -0.5 -0.97 -0.68 -0.98 -0.89 
+-0.93 -1.04 -1.71 -2.62 -1.45 -3.3 -1.13 -3.9 -0.73 -4.5 -0.26 -5.04 -7.49 0 0.09 2.65 
+0.26 2.64 0.41 2.63 0.58 2.58 0.74 2.49 0.89 2.41 1.02 2.3 1.15 2.14 1.3 1.98 
+1.41 1.78 1.54 1.58 1.67 1.34 1.76 1.09 1.87 0.8 1.97 0.5 2.06 0.17 f*
+352.906 1071.66 19.1367 5.83984 re
+f*
+415.71 1094.54 -7.07 0 -0.46 1.9 -0.74 1.67 -0.96 1.43 -1.17 1.17 -1.32 0.93 -1.43 0.67 
+-1.52 0.39 -1.54 0.16 -1.52 -0.11 -1.43 -0.26 -1.32 -0.46 -1.26 -0.63 -1.15 -0.8 -1.06 -0.95 
+-0.95 -1.13 -0.87 -1.28 -0.76 -1.46 -0.67 -1.58 -1.04 -3.62 -0.65 -4.21 -0.2 -4.73 1.7 1.82 
+1.67 1.43 1.67 1.11 1.67 0.79 1.7 0.54 1.71 0.34 3.61 0.22 2.75 -0.28 2.88 -0.82 
+1.43 -0.63 1.41 -0.79 1.34 -0.91 1.3 -1.04 1.19 -1.21 1.09 -1.35 0.97 -1.5 0.83 -1.65 
+0.65 -1.8 0.48 -1.95 0.26 -2.1 0.04 -2.29 -7.08 -0.41 -0.24 2.32 -0.72 2.25 -1.08 2.11 
+-1.46 1.89 -1.73 1.61 -1.98 1.24 -2.14 0.78 -1.12 0.22 -1.17 0.06 -1.15 -0.06 -1.13 -0.22 
+-2.17 -0.78 -1.98 -1.24 -1.73 -1.61 -1.43 -1.89 -1.11 -2.11 -0.69 -2.25 -0.24 -2.32 0.24 -2.32 
+0.69 -2.26 1.11 -2.11 1.43 -1.89 1.73 -1.61 1.98 -1.22 2.17 -0.8 1.13 -0.19 1.15 -0.09 
+1.17 0.09 1.13 0.19 2.14 0.8 1.98 1.22 1.73 1.61 1.46 1.89 1.08 2.11 0.72 2.26 
+0.24 2.32 7.08 0.41 -0.29 -3.32 -0.35 -1.67 -0.5 -1.67 -0.63 -1.62 -0.78 -1.59 -0.91 -1.52 
+-1.09 -1.43 -1.21 -1.34 -1.39 -1.2 -1.52 -1.09 -1.7 -0.91 -1.87 -0.73 -2 -0.57 -2.17 -0.34 
+-2.34 -0.11 -2.54 0.13 -2.35 0.44 -2.12 0.69 -1.93 0.93 -1.76 1.17 -1.56 1.41 -1.39 1.63 
+-1.21 1.8 -1.05 2.02 -0.89 2.16 -0.74 2.32 -0.59 2.48 -0.45 2.61 -0.31 2.73 -0.24 5.75 
+0.09 3.43 0.26 3.26 0.41 3.06 0.61 2.88 0.76 2.72 0.91 2.49 1.09 2.28 1.21 2.08 
+1.39 1.87 1.54 1.63 1.67 1.39 1.8 1.17 1.98 0.91 2.08 0.65 2.21 0.41 2.37 0.13 
+1.67 -0.09 1.61 -0.21 1.54 -0.37 1.46 -0.5 1.37 -0.61 1.28 -0.73 2.3 -1.8 1.91 -2.14 
+1.5 -2.48 1.02 -2.71 0.56 -2.9 f*
+427.367 1052.54 8.3125 8.3125 re
+f*
+464.37 1109.09 2.06 -0.18 1.97 -0.5 1.87 -0.8 1.79 -1.08 1.65 -1.35 1.54 -1.59 1.41 -1.78 
+1.3 -1.97 1.15 -2.15 1.02 -2.3 0.89 -2.41 0.74 -2.49 0.58 -2.59 0.42 -2.62 0.25 -2.65 
+0.09 -2.67 -0.09 -2.65 -0.25 -2.66 -0.42 -2.65 -0.58 -2.61 -0.74 -2.54 -0.89 -2.43 -1.02 -2.34 
+-1.15 -2.17 -1.3 -2.02 -1.41 -1.82 -1.54 -1.63 -1.65 -1.37 -1.79 -1.11 -1.87 -0.82 -1.97 -0.52 
+-2.06 -0.17 -2.04 0.17 -1.98 0.52 -1.87 0.82 -1.78 1.11 -1.65 1.37 -1.54 1.63 -1.41 1.82 
+-1.3 2.02 -1.15 2.17 -1.05 2.34 -0.86 2.43 -0.74 2.54 -0.59 2.61 -0.41 2.65 -0.26 2.66 
+-0.09 2.65 7.48 0 0.26 -5.06 0.74 -4.53 1.13 -3.97 1.45 -3.36 1.72 -2.71 0.93 -1.08 
+0.97 -0.91 0.98 -0.71 1.02 -0.5 1.02 -0.32 1 -0.11 1.02 0.11 1.02 0.32 1.02 0.5 
+0.97 0.71 0.98 0.91 0.93 1.08 1.71 2.71 1.46 3.36 1.13 3.97 0.73 4.53 0.26 5.06 
+-0.26 5.05 -0.73 4.49 -1.12 3.91 -1.46 3.3 -1.71 2.63 -0.93 1.04 -0.98 0.87 -0.97 0.7 
+-1.02 0.49 -1.02 0.3 -1.02 0.11 -1 -0.11 -1.02 -0.3 -1.02 -0.49 -0.98 -0.7 -0.97 -0.87 
+-0.93 -1.04 -1.72 -2.63 -1.45 -3.3 -1.13 -3.91 -0.74 -4.49 -0.26 -5.05 -7.48 0 0.09 2.67 
+0.26 2.65 0.41 2.62 0.59 2.59 0.74 2.49 0.86 2.41 1.05 2.3 1.15 2.15 1.3 1.97 
+1.41 1.78 1.54 1.59 1.65 1.35 1.78 1.08 1.87 0.8 1.98 0.5 2.04 0.18 f*
+352.906 1259.48 19.1367 5.81641 re
+f*
+386.61 1278.6 -7.07 0 0.15 2.21 0.29 2.04 0.43 1.93 0.58 1.78 0.7 1.63 0.84 1.5 
+0.96 1.37 1.09 1.21 1.21 1.09 1.32 0.93 1.45 0.8 1.57 0.65 1.66 0.5 1.76 0.37 
+1.89 0.21 1.97 0.09 3.63 -0.26 3.32 -0.73 1.52 -0.57 1.45 -0.67 1.33 -0.8 1.23 -0.91 
+1.11 -1.04 0.98 -1.15 0.87 -1.26 0.72 -1.39 0.57 -1.47 0.41 -1.61 0.26 -1.72 0.09 -1.8 
+-0.11 -2.11 -0.32 -1.89 -0.57 -1.73 -0.82 -1.57 -1.13 -1.41 -1.43 -1.26 -1.78 -1.11 -2.14 -1 
+2.45 -1.02 2.08 -1.17 1.72 -1.37 1.39 -1.54 1.04 -1.74 0.72 -1.93 0.43 -2.17 0.15 -2.37 
+-0.25 -3.14 -0.3 -1.56 -0.46 -1.55 -0.59 -1.49 -0.75 -1.46 -0.89 -1.37 -1.07 -1.3 -1.24 -1.19 
+-1.41 -1.09 -1.61 -0.95 -1.78 -0.81 -2 -0.67 -2.2 -0.48 -2.41 -0.33 -2.61 -0.08 -2.25 0.08 
+-2.13 0.24 -1.95 0.44 -1.8 0.56 -1.65 0.72 -1.49 0.87 -1.34 1 -1.2 1.13 -1.07 1.26 
+-0.91 1.34 -0.78 1.47 -0.64 1.59 -0.48 1.67 -0.34 1.76 -0.2 1.85 -0.07 1.91 7.05 0 
+0.11 -2.07 0.33 -2.04 0.63 -1.97 1.02 -1.78 0.7 -0.8 0.8 -0.74 0.96 -0.65 1.08 -0.54 
+1.26 -0.46 1.41 -0.32 1.59 -0.22 1.78 -0.07 2.89 0.11 2.45 0.59 2 1.04 1.61 1.39 
+1.21 1.7 0.85 1.98 0.48 2.14 0.17 2.3 -0.09 1.55 -0.22 1.41 -0.34 1.23 -0.48 1.11 
+-0.63 0.98 -0.73 0.85 -0.85 0.73 -0.98 0.61 -2.3 0.93 -2.69 0.58 -3.08 0.33 -3.43 0.08 
+0 5.82 3.37 0.07 2.88 0.24 2.43 0.48 1.97 0.78 0.83 0.5 0.71 0.63 0.61 0.7 
+0.48 0.82 0.39 0.93 0.26 1.07 0.21 2.52 -0.12 1.97 -0.44 1.8 -0.73 1.63 -1.05 1.41 
+-1.37 1.15 -1.73 0.87 -2.09 0.56 -2.45 0.17 -2.23 -0.13 -2.02 -0.41 -1.81 -0.74 -1.54 -1.15 
+-1.26 -1.61 -0.97 -2.11 -0.66 -2.65 -0.32 -3.28 f*
+427.367 1240.34 8.3125 8.33594 re
+f*
+464.37 1296.92 2.06 -0.17 1.97 -0.5 1.87 -0.8 1.79 -1.09 1.65 -1.34 1.54 -1.58 1.41 -1.78 
+1.3 -2 1.15 -2.14 1.02 -2.28 0.89 -2.41 0.74 -2.49 0.58 -2.59 0.42 -2.63 0.25 -2.64 
+0.09 -2.67 -0.09 -2.64 -0.25 -2.67 -0.42 -2.64 -0.58 -2.61 -0.74 -2.54 -0.89 -2.45 -1.02 -2.32 
+-1.15 -2.19 -1.3 -2.02 -1.41 -1.83 -1.54 -1.61 -1.65 -1.39 -1.79 -1.11 -1.87 -0.82 -1.97 -0.5 
+-2.06 -0.2 -2.04 0.2 -1.98 0.5 -1.87 0.82 -1.78 1.11 -1.65 1.39 -1.54 1.61 -1.41 1.83 
+-1.3 2.02 -1.15 2.19 -1.05 2.32 -0.86 2.45 -0.74 2.54 -0.59 2.61 -0.41 2.64 -0.26 2.67 
+-0.09 2.64 7.48 0 0.26 -5.05 0.74 -4.53 1.13 -4 1.45 -3.37 1.72 -2.69 0.93 -1.08 
+0.97 -0.91 0.98 -0.71 1.02 -0.52 1.02 -0.3 1 -0.11 1.02 0.11 1.02 0.3 1.02 0.52 
+0.97 0.71 0.98 0.91 0.93 1.08 1.71 2.69 1.46 3.37 1.13 4 0.73 4.53 0.26 5.05 
+-0.26 5.06 -0.73 4.49 -1.12 3.91 -1.46 3.3 -1.71 2.62 -0.93 1.04 -0.98 0.87 -0.97 0.7 
+-1.02 0.5 -1.02 0.3 -1.02 0.09 -1 -0.09 -1.02 -0.3 -1.02 -0.5 -0.98 -0.7 -0.97 -0.87 
+-0.93 -1.04 -1.72 -2.62 -1.45 -3.3 -1.13 -3.91 -0.74 -4.49 -0.26 -5.06 -7.48 0 0.09 2.67 
+0.26 2.64 0.41 2.63 0.59 2.59 0.74 2.49 0.86 2.41 1.05 2.28 1.15 2.14 1.3 2 
+1.41 1.78 1.54 1.58 1.65 1.34 1.78 1.09 1.87 0.8 1.98 0.5 2.04 0.17 f*
+397.83 1484.72 2.06 -0.17 1.98 -0.5 1.87 -0.8 1.75 -1.09 1.65 -1.34 1.54 -1.56 1.43 -1.8 
+1.29 -1.97 1.17 -2.15 1.02 -2.28 0.89 -2.41 0.74 -2.52 0.57 -2.56 0.43 -2.62 0.26 -2.67 
+0.08 -2.64 -0.08 -2.67 -0.26 -2.66 -0.43 -2.65 -0.57 -2.61 -0.74 -2.52 -0.89 -2.45 -1.02 -2.32 
+-1.17 -2.2 -1.29 -2.02 -1.43 -1.82 -1.54 -1.61 -1.65 -1.39 -1.75 -1.11 -1.87 -0.83 -1.98 -0.52 
+-2.06 -0.18 -2.06 0.18 -1.95 0.52 -1.89 0.83 -1.76 1.11 -1.64 1.39 -1.55 1.61 -1.43 1.82 
+-1.28 2.02 -1.17 2.2 -1.02 2.32 -0.86 2.45 -0.74 2.52 -0.58 2.61 -0.41 2.65 -0.26 2.66 
+-0.09 2.67 7.49 0 0.26 -5.05 0.74 -4.56 1.13 -3.97 1.45 -3.36 1.72 -2.71 0.93 -1.09 
+0.95 -0.89 1 -0.72 1 -0.52 1.02 -0.3 1.02 -0.11 1.02 0.11 1.02 0.3 1 0.52 
+1 0.72 0.98 0.89 0.91 1.09 1.71 2.71 1.48 3.36 1.13 3.97 0.74 4.56 0.26 5.05 
+-0.26 5.04 -0.74 4.49 -1.12 3.93 -1.48 3.27 -1.71 2.63 -0.91 1.07 -0.98 0.87 -1 0.67 
+-1 0.5 -1.02 0.3 -1.02 0.11 -1.02 -0.11 -1.02 -0.3 -1 -0.5 -1 -0.67 -0.95 -0.87 
+-0.93 -1.07 -1.72 -2.62 -1.45 -3.27 -1.13 -3.93 -0.74 -4.49 -0.26 -5.04 -7.49 0 0.09 2.64 
+0.26 2.67 0.41 2.63 0.58 2.56 0.74 2.52 0.86 2.41 1.02 2.28 1.17 2.15 1.28 1.97 
+1.43 1.8 1.55 1.56 1.64 1.34 1.76 1.09 1.89 0.8 1.95 0.5 2.06 0.17 f*
+427.367 1428.17 8.3125 8.30859 re
+f*
+464.37 1484.72 2.06 -0.17 1.97 -0.5 1.87 -0.8 1.79 -1.09 1.65 -1.34 1.54 -1.56 1.41 -1.8 
+1.3 -1.97 1.15 -2.15 1.02 -2.28 0.89 -2.41 0.74 -2.52 0.58 -2.56 0.42 -2.62 0.25 -2.67 
+0.09 -2.64 -0.09 -2.67 -0.25 -2.66 -0.42 -2.65 -0.58 -2.61 -0.74 -2.52 -0.89 -2.45 -1.02 -2.32 
+-1.15 -2.2 -1.3 -2.02 -1.41 -1.82 -1.54 -1.61 -1.65 -1.39 -1.79 -1.11 -1.87 -0.83 -1.97 -0.52 
+-2.06 -0.18 -2.04 0.18 -1.98 0.52 -1.87 0.83 -1.78 1.11 -1.65 1.39 -1.54 1.61 -1.41 1.82 
+-1.3 2.02 -1.15 2.2 -1.05 2.32 -0.86 2.45 -0.74 2.52 -0.59 2.61 -0.41 2.65 -0.26 2.66 
+-0.09 2.67 7.48 0 0.26 -5.05 0.74 -4.56 1.13 -3.97 1.45 -3.36 1.72 -2.71 0.93 -1.09 
+0.97 -0.89 0.98 -0.72 1.02 -0.52 1.02 -0.3 1 -0.11 1.02 0.11 1.02 0.3 1.02 0.52 
+0.97 0.72 0.98 0.89 0.93 1.09 1.71 2.71 1.46 3.36 1.13 3.97 0.73 4.56 0.26 5.05 
+-0.26 5.04 -0.73 4.49 -1.12 3.93 -1.46 3.27 -1.71 2.63 -0.93 1.07 -0.98 0.87 -0.97 0.67 
+-1.02 0.5 -1.02 0.3 -1.02 0.11 -1 -0.11 -1.02 -0.3 -1.02 -0.5 -0.98 -0.67 -0.97 -0.87 
+-0.93 -1.07 -1.72 -2.62 -1.45 -3.27 -1.13 -3.93 -0.74 -4.49 -0.26 -5.04 -7.48 0 0.09 2.64 
+0.26 2.67 0.41 2.63 0.59 2.56 0.74 2.52 0.86 2.41 1.05 2.28 1.15 2.15 1.3 1.97 
+1.41 1.8 1.54 1.56 1.65 1.34 1.78 1.09 1.87 0.8 1.98 0.5 2.04 0.17 f*
+386.61 1654.25 -7.07 0 0.15 2.19 0.29 2.06 0.43 1.91 0.58 1.78 0.7 1.65 0.84 1.5 
+0.96 1.37 1.09 1.21 1.21 1.09 1.32 0.93 1.45 0.78 1.57 0.66 1.66 0.52 1.76 0.37 
+1.89 0.22 1.97 0.07 3.63 -0.26 3.32 -0.74 1.52 -0.57 1.45 -0.67 1.33 -0.8 1.23 -0.91 
+1.11 -1.05 0.98 -1.15 0.87 -1.26 0.72 -1.37 0.57 -1.49 0.41 -1.61 0.26 -1.7 0.09 -1.82 
+-0.11 -2.08 -0.32 -1.91 -0.57 -1.71 -0.82 -1.57 -1.13 -1.41 -1.43 -1.26 -1.78 -1.13 -2.14 -1 
+2.45 -1.02 2.08 -1.17 1.72 -1.37 1.39 -1.54 1.04 -1.73 0.72 -1.93 0.43 -2.15 0.15 -2.39 
+-0.25 -3.15 -0.3 -1.56 -0.46 -1.54 -0.59 -1.5 -0.75 -1.43 -0.89 -1.39 -1.07 -1.28 -1.24 -1.2 
+-1.41 -1.08 -1.61 -0.98 -1.78 -0.8 -2 -0.67 -2.2 -0.48 -2.41 -0.3 -2.61 -0.11 -2.25 0.09 
+-2.11 0.26 -1.98 0.41 -1.8 0.56 -1.65 0.74 -1.49 0.85 -1.34 0.99 -1.2 1.13 -1.07 1.26 
+-0.91 1.37 -0.78 1.48 -0.64 1.56 -0.48 1.67 -0.34 1.75 -0.2 1.84 -0.07 1.91 7.05 0 
+0.11 -2.06 0.33 -2.04 0.63 -1.96 1.02 -1.8 0.7 -0.81 0.8 -0.71 0.96 -0.65 1.08 -0.56 
+1.26 -0.44 1.41 -0.35 1.59 -0.19 1.78 -0.09 2.89 0.11 2.45 0.61 2 1.02 1.61 1.39 
+1.21 1.71 0.85 1.95 0.48 2.15 0.17 2.3 -0.09 1.56 -0.22 1.39 -0.34 1.25 -0.48 1.11 
+-0.63 0.96 -0.73 0.84 -0.85 0.74 -0.98 0.61 -2.3 0.96 -2.69 0.58 -3.08 0.31 -3.43 0.09 
+0 5.82 3.37 0.06 2.88 0.26 2.43 0.48 1.97 0.76 0.83 0.52 0.71 0.61 0.61 0.71 
+0.48 0.8 0.39 0.96 0.26 1.04 0.21 2.54 -0.12 1.95 -0.44 1.83 -0.73 1.63 -1.05 1.41 
+-1.37 1.15 -1.73 0.87 -2.09 0.54 -2.45 0.2 -2.23 -0.13 -2.02 -0.41 -1.81 -0.76 -1.54 -1.15 
+-1.26 -1.61 -0.97 -2.08 -0.66 -2.67 -0.32 -3.26 f*
+427.367 1616 8.3125 8.30859 re
+f*
+464.37 1672.55 2.06 -0.18 1.97 -0.49 1.87 -0.81 1.79 -1.08 1.65 -1.35 1.54 -1.59 1.41 -1.78 
+1.3 -1.97 1.15 -2.15 1.02 -2.3 0.89 -2.41 0.74 -2.5 0.58 -2.58 0.42 -2.63 0.25 -2.64 
+0.09 -2.65 -0.09 -2.67 -0.25 -2.67 -0.42 -2.64 -0.58 -2.61 -0.74 -2.54 -0.89 -2.43 -1.02 -2.35 
+-1.15 -2.17 -1.3 -2.02 -1.41 -1.82 -1.54 -1.63 -1.65 -1.37 -1.79 -1.11 -1.87 -0.82 -1.97 -0.52 
+-2.06 -0.17 -2.04 0.17 -1.98 0.52 -1.87 0.82 -1.78 1.11 -1.65 1.37 -1.54 1.63 -1.41 1.82 
+-1.3 2.02 -1.15 2.17 -1.05 2.35 -0.86 2.43 -0.74 2.54 -0.59 2.61 -0.41 2.64 -0.26 2.67 
+-0.09 2.67 7.48 0 0.26 -5.08 0.74 -4.54 1.13 -3.97 1.45 -3.36 1.72 -2.71 0.93 -1.09 
+0.97 -0.91 0.98 -0.7 1.02 -0.52 1.02 -0.32 1 -0.11 1.02 0.11 1.02 0.32 1.02 0.52 
+0.97 0.7 0.98 0.91 0.93 1.09 1.71 2.71 1.46 3.36 1.13 3.97 0.73 4.54 0.26 5.08 
+-0.26 5.04 -0.73 4.49 -1.12 3.91 -1.46 3.3 -1.71 2.63 -0.93 1.04 -0.98 0.89 -0.97 0.67 
+-1.02 0.5 -1.02 0.3 -1.02 0.11 -1 -0.11 -1.02 -0.3 -1.02 -0.5 -0.98 -0.67 -0.97 -0.89 
+-0.93 -1.04 -1.72 -2.62 -1.45 -3.3 -1.13 -3.91 -0.74 -4.49 -0.26 -5.04 -7.48 0 0.09 2.65 
+0.26 2.64 0.41 2.63 0.59 2.58 0.74 2.5 0.86 2.41 1.05 2.3 1.15 2.15 1.3 1.97 
+1.41 1.78 1.54 1.59 1.65 1.35 1.78 1.08 1.87 0.81 1.98 0.49 2.04 0.18 f*
+415.71 1845.81 -7.07 0 -0.46 1.91 -0.74 1.67 -0.96 1.43 -1.17 1.17 -1.32 0.93 -1.43 0.65 
+-1.52 0.41 -1.54 0.13 -1.52 -0.08 -1.43 -0.29 -1.32 -0.43 -1.26 -0.63 -1.15 -0.8 -1.06 -0.96 
+-0.95 -1.13 -0.87 -1.28 -0.76 -1.45 -0.67 -1.58 -1.04 -3.65 -0.65 -4.19 -0.2 -4.73 1.7 1.82 
+1.67 1.43 1.67 1.09 1.67 0.8 1.7 0.54 1.71 0.33 3.61 0.21 2.75 -0.26 2.88 -0.85 
+1.43 -0.61 1.41 -0.78 1.34 -0.91 1.3 -1.07 1.19 -1.2 1.09 -1.34 0.97 -1.52 0.83 -1.65 
+0.65 -1.8 0.48 -1.96 0.26 -2.11 0.04 -2.25 -7.08 -0.41 -0.24 2.32 -0.72 2.26 -1.08 2.11 
+-1.46 1.89 -1.73 1.61 -1.98 1.21 -2.14 0.81 -1.12 0.21 -1.17 0.07 -1.15 -0.07 -1.13 -0.21 
+-2.17 -0.81 -1.98 -1.21 -1.73 -1.61 -1.43 -1.89 -1.11 -2.11 -0.69 -2.26 -0.24 -2.32 0.24 -2.32 
+0.69 -2.26 1.11 -2.1 1.43 -1.89 1.73 -1.61 1.98 -1.24 2.17 -0.78 1.13 -0.22 1.15 -0.06 
+1.17 0.06 1.13 0.22 2.14 0.78 1.98 1.24 1.73 1.61 1.46 1.89 1.08 2.1 0.72 2.26 
+0.24 2.32 7.08 0.41 -0.29 -3.32 -0.35 -1.69 -0.48 -1.65 -0.65 -1.65 -0.78 -1.58 -0.91 -1.52 
+-1.09 -1.43 -1.21 -1.32 -1.39 -1.22 -1.52 -1.06 -1.7 -0.91 -1.84 -0.76 -2.02 -0.54 -2.17 -0.35 
+-2.34 -0.11 -2.54 0.13 -2.35 0.43 -2.12 0.67 -1.93 0.96 -1.76 1.17 -1.56 1.41 -1.39 1.61 
+-1.21 1.82 -1.05 2 -0.89 2.17 -0.74 2.34 -0.59 2.47 -0.45 2.61 -0.31 2.73 -0.24 5.75 
+0.09 3.43 0.26 3.23 0.41 3.08 0.61 2.89 0.76 2.69 0.91 2.5 1.09 2.3 1.21 2.08 
+1.39 1.84 1.54 1.63 1.67 1.41 1.8 1.15 1.98 0.93 2.08 0.65 2.21 0.39 2.37 0.15 
+1.67 -0.08 1.61 -0.22 1.54 -0.37 1.46 -0.5 1.37 -0.63 1.28 -0.74 2.3 -1.78 1.91 -2.17 
+1.5 -2.47 1.02 -2.71 0.56 -2.89 f*
+427.367 1803.8 8.3125 8.33203 re
+f*
+464.37 1860.37 2.06 -0.17 1.97 -0.5 1.87 -0.8 1.79 -1.09 1.65 -1.35 1.54 -1.58 1.41 -1.78 
+1.3 -2 1.15 -2.15 1.02 -2.28 0.89 -2.41 0.74 -2.5 0.58 -2.58 0.42 -2.63 0.25 -2.65 
+0.09 -2.67 -0.09 -2.65 -0.25 -2.67 -0.42 -2.65 -0.58 -2.6 -0.74 -2.54 -0.89 -2.46 -1.02 -2.32 
+-1.15 -2.19 -1.3 -2.02 -1.41 -1.82 -1.54 -1.61 -1.65 -1.39 -1.79 -1.11 -1.87 -0.82 -1.97 -0.5 
+-2.06 -0.18 -2.04 0.18 -1.98 0.5 -1.87 0.82 -1.78 1.11 -1.65 1.39 -1.54 1.61 -1.41 1.82 
+-1.3 2.02 -1.15 2.19 -1.05 2.32 -0.86 2.46 -0.74 2.54 -0.59 2.6 -0.41 2.65 -0.26 2.67 
+-0.09 2.65 7.48 0 0.26 -5.05 0.74 -4.54 1.13 -3.99 1.45 -3.37 1.72 -2.69 0.93 -1.08 
+0.97 -0.92 0.98 -0.71 1.02 -0.52 1.02 -0.31 1 -0.11 1.02 0.11 1.02 0.31 1.02 0.52 
+0.97 0.71 0.98 0.92 0.93 1.08 1.71 2.69 1.46 3.37 1.13 3.99 0.73 4.54 0.26 5.05 
+-0.26 5.05 -0.73 4.5 -1.12 3.91 -1.46 3.3 -1.71 2.63 -0.93 1.04 -0.98 0.87 -0.97 0.7 
+-1.02 0.5 -1.02 0.3 -1.02 0.08 -1 -0.08 -1.02 -0.3 -1.02 -0.5 -0.98 -0.7 -0.97 -0.87 
+-0.93 -1.04 -1.72 -2.62 -1.45 -3.3 -1.13 -3.91 -0.74 -4.5 -0.26 -5.05 -7.48 0 0.09 2.67 
+0.26 2.65 0.41 2.63 0.59 2.58 0.74 2.5 0.86 2.41 1.05 2.28 1.15 2.15 1.3 2 
+1.41 1.78 1.54 1.58 1.65 1.35 1.78 1.09 1.87 0.8 1.98 0.5 2.04 0.17 f*
+5.55556 w
+887.17 939.15 0 58.22 S
+1366.55 939.15 0 58.22 S
+1845.96 939.15 0 58.22 S
+2325.34 939.15 0 58.22 S
+2804.73 939.15 0 58.22 S
+2.77778 w
+791.3 968.27 0 29.1 S
+695.42 968.27 0 29.1 S
+599.54 968.27 0 29.1 S
+983.05 968.27 0 29.1 S
+1078.93 968.27 0 29.1 S
+1174.8 968.27 0 29.1 S
+1270.68 968.27 0 29.1 S
+1462.43 968.27 0 29.1 S
+1558.31 968.27 0 29.1 S
+1654.19 968.27 0 29.1 S
+1750.09 968.27 0 29.1 S
+1941.84 968.27 0 29.1 S
+2037.71 968.27 0 29.1 S
+2133.59 968.27 0 29.1 S
+2229.47 968.27 0 29.1 S
+2421.22 968.27 0 29.1 S
+2517.1 968.27 0 29.1 S
+2612.98 968.27 0 29.1 S
+2708.86 968.27 0 29.1 S
+2900.61 968.27 0 29.1 S
+2996.48 968.27 0 29.1 S
+3092.36 968.27 0 29.1 S
+5.55556 w
+887.17 2008.4 0 -58.23 S
+1366.55 2008.4 0 -58.23 S
+1845.96 2008.4 0 -58.23 S
+2325.34 2008.4 0 -58.23 S
+2804.73 2008.4 0 -58.23 S
+2.77778 w
+791.3 1979.28 0 -29.11 S
+695.42 1979.28 0 -29.11 S
+599.54 1979.28 0 -29.11 S
+983.05 1979.28 0 -29.11 S
+1078.93 1979.28 0 -29.11 S
+1174.8 1979.28 0 -29.11 S
+1270.68 1979.28 0 -29.11 S
+1462.43 1979.28 0 -29.11 S
+1558.31 1979.28 0 -29.11 S
+1654.19 1979.28 0 -29.11 S
+1750.09 1979.28 0 -29.11 S
+1941.84 1979.28 0 -29.11 S
+2037.71 1979.28 0 -29.11 S
+2133.59 1979.28 0 -29.11 S
+2229.47 1979.28 0 -29.11 S
+2421.22 1979.28 0 -29.11 S
+2517.1 1979.28 0 -29.11 S
+2612.98 1979.28 0 -29.11 S
+2708.86 1979.28 0 -29.11 S
+2900.61 1979.28 0 -29.11 S
+2996.48 1979.28 0 -29.11 S
+3092.36 1979.28 0 -29.11 S
+5.55556 w
+541.32 1079.77 58.22 0 S
+541.32 1267.6 58.22 0 S
+541.32 1455.41 58.22 0 S
+541.32 1643.23 58.22 0 S
+541.32 1831.05 58.22 0 S
+2.77778 w
+570.42 1017.17 29.12 0 S
+570.42 1142.38 29.12 0 S
+570.42 1204.99 29.12 0 S
+570.42 1330.19 29.12 0 S
+570.42 1392.79 29.12 0 S
+570.42 1518.01 29.12 0 S
+570.42 1580.62 29.12 0 S
+570.42 1705.84 29.12 0 S
+570.42 1768.45 29.12 0 S
+570.42 1893.64 29.12 0 S
+5.55556 w
+3198.52 1079.77 -58.22 0 S
+3198.52 1267.6 -58.22 0 S
+3198.52 1455.41 -58.22 0 S
+3198.52 1643.23 -58.22 0 S
+3198.52 1831.05 -58.22 0 S
+2.77778 w
+3169.42 1017.17 -29.12 0 S
+3169.42 1142.38 -29.12 0 S
+3169.42 1204.99 -29.12 0 S
+3169.42 1330.19 -29.12 0 S
+3169.42 1392.79 -29.12 0 S
+3169.42 1518.01 -29.12 0 S
+3169.42 1580.62 -29.12 0 S
+3169.42 1705.84 -29.12 0 S
+3169.42 1768.45 -29.12 0 S
+3169.42 1893.64 -29.12 0 S
+5.55556 w
+3140.3 997.37 -2540.76 0 0 952.8 ^ ^ ^ S
+599.54 2105.34 8.31 0 0 -27.54 1.02 1.45 1.08 1.3 1.15 1.15 1.18 0.98 2.41 1.56 
+2.38 1.08 2.25 0.7 1.98 0.39 2.66 0.21 1.96 -0.09 2 -0.24 1.98 -0.43 1.95 -0.62 
+1.91 -0.83 1.84 -1.02 1.78 -1.26 1.67 -1.5 1.54 -1.71 1.39 -2 1.25 -2.26 1.04 -2.52 
+0.87 -2.82 0.63 -3.1 0.41 -3.43 0.13 -3.73 -0.09 -3.06 -0.26 -2.95 -0.43 -2.85 -0.61 -2.71 
+-0.79 -2.56 -0.98 -2.39 -1.17 -2.23 -1.34 -2.04 -1.52 -1.85 -1.74 -1.65 -1.91 -1.43 -2.11 -1.17 
+-2.32 -0.96 -2.52 -0.69 -2.72 -0.43 -2.91 -0.13 -1.67 0.06 -1.84 0.28 -1.99 0.52 -2.02 0.82 
+-2.04 1.15 -1.97 1.54 -1.87 1.97 -1.67 2.47 0 -6.23 -8.31 0 0 24.94 ^ 
+0.09 -2.02 0.24 -1.95 0.41 -1.89 0.52 -1.82 0.67 -1.74 0.78 -1.63 0.91 -1.52 1 -1.39 
+1.09 -1.28 1.17 -1.15 1.26 -0.97 1.3 -0.83 1.35 -0.67 1.41 -0.48 1.43 -0.3 1.45 -0.11 
+1.8 0.13 1.67 0.39 1.59 0.61 1.48 0.8 1.34 0.99 1.24 1.2 1.13 1.32 1 1.43 
+0.89 1.56 0.79 1.67 1.19 3.5 0.72 3.61 0.26 3.58 -0.11 2.54 -0.32 2.37 -0.52 2.19 
+-0.67 2 -0.83 1.84 -0.96 1.65 -1.06 1.49 -1.13 1.32 -1.2 1.15 -1.24 1.02 -2.49 1.52 
+-2.41 0.89 -2.15 0.3 -1.54 -0.11 -1.5 -0.33 -1.43 -0.52 -1.39 -0.7 -1.32 -0.89 -1.24 -1.06 
+-1.17 -1.21 -1.06 -1.37 -0.98 -1.5 -0.87 -1.65 -0.76 -1.76 -0.63 -1.87 -0.5 -1.95 -0.39 -2.06 
+-0.21 -2.15 -0.09 -2.21 -8.31 0 0 47.83 f*
+653.6 2105.34 5.21 0 3.99 -6.1 3.43 -6.18 2.87 -6.23 2.32 -6.18 1.78 -6.08 1.26 -5.93 
+0.74 -5.71 0.24 -5.42 -0.26 -5.43 -0.8 -5.75 -1.3 -5.93 -1.84 -6.03 -2.34 -6.02 -2.86 -5.94 
+-3.37 -5.73 -1.86 -2.75 -1.97 -2.7 -5.21 0 3.13 5.47 2.71 5.49 2.32 5.55 1.91 5.64 
+1.52 5.77 1.07 5.92 0.65 6.1 0.21 6.32 -0.19 6.16 -0.59 5.99 -1.02 5.91 -1.45 5.86 
+-1.87 5.86 -2.32 5.9 -2.8 6.01 -3.28 6.14 f*
+712.35 2105.34 57.18 0 0 -8.31 -23.89 0 0 -64.46 -9.38 0 ^ -23.91 0 
+0 8.31 f*
+778.383 2094.95 8.3125 10.3945 re
+f*
+778.383 2032.57 8.3125 52.4961 re
+f*
+799.7 2105.34 8.31 0 0 -27.54 1.02 1.45 1.08 1.3 1.13 1.15 1.2 0.98 2.41 1.56 
+2.39 1.08 2.25 0.7 1.97 0.39 2.67 0.21 1.95 -0.09 2 -0.24 1.97 -0.43 1.96 -0.62 
+1.91 -0.83 1.85 -1.02 1.78 -1.26 1.67 -1.5 1.54 -1.71 1.39 -2 1.25 -2.26 1.05 -2.52 
+0.87 -2.82 0.63 -3.1 0.41 -3.43 0.13 -3.73 -0.09 -3.06 -0.26 -2.95 -0.43 -2.85 -0.61 -2.71 
+-0.8 -2.56 -0.95 -2.39 -1.17 -2.23 -1.35 -2.04 -1.52 -1.85 -1.73 -1.65 -1.91 -1.43 -2.11 -1.17 
+-2.32 -0.96 -2.52 -0.69 -2.71 -0.43 -2.91 -0.13 -1.67 0.06 -1.86 0.28 -1.98 0.52 -2.02 0.82 
+-2.04 1.15 -1.98 1.54 -1.86 1.97 -1.68 2.47 0 -6.23 -8.31 0 0 24.94 ^ 
+0.09 -2.02 0.24 -1.95 0.41 -1.89 0.52 -1.82 0.67 -1.74 0.79 -1.63 0.91 -1.52 1 -1.39 
+1.09 -1.28 1.18 -1.15 1.25 -0.97 1.3 -0.83 1.34 -0.67 1.41 -0.48 1.43 -0.3 1.45 -0.11 
+1.8 0.13 1.67 0.39 1.58 0.61 1.46 0.8 1.36 0.99 1.24 1.2 1.13 1.32 1 1.43 
+0.89 1.56 0.78 1.67 1.2 3.5 0.71 3.61 0.26 3.58 -0.13 2.54 -0.3 2.37 -0.52 2.19 
+-0.67 2 -0.82 1.84 -0.96 1.65 -1.07 1.49 -1.13 1.32 -1.19 1.15 -1.23 1.02 -2.5 1.52 
+-2.41 0.89 -2.15 0.3 -1.54 -0.11 -1.5 -0.33 -1.45 -0.52 -1.37 -0.7 -1.33 -0.89 -1.23 -1.06 
+-1.17 -1.21 -1.07 -1.37 -0.98 -1.5 -0.87 -1.65 -0.76 -1.76 -0.63 -1.87 -0.52 -1.95 -0.37 -2.06 
+-0.22 -2.15 -0.09 -2.21 -8.31 0 0 47.83 f*
+900.02 2048.68 -0.57 -2.43 -0.72 -2.26 -0.84 -2.06 -1 -1.87 -1.13 -1.72 -1.23 -1.52 -1.37 -1.37 
+-1.46 -1.21 -1.56 -1.04 -1.65 -0.89 -1.71 -0.73 -1.82 -0.59 -1.87 -0.45 -1.93 -0.32 -4.01 -0.24 
+-2.73 0.21 -2.59 0.46 -2.43 0.67 -2.25 0.91 -2.11 1.11 -1.91 1.32 -1.76 1.52 -1.56 1.71 
+-1.41 1.89 -1.21 2.08 -1.04 2.24 -0.85 2.38 -0.67 2.54 -0.48 2.71 -0.29 2.82 -0.11 2.96 
+0.18 4.27 0.52 3.84 0.8 3.46 1.09 3.08 1.3 2.71 1.52 2.36 1.7 2.06 1.82 1.74 
+1.91 1.48 2 1.21 2.04 0.98 2.02 0.74 2.02 0.56 1.95 0.35 3.58 0.28 -0.52 -7.79 
+-2.26 -0.24 -2.43 -0.67 -2.48 -1.18 -2.38 -1.69 -1.11 -1.04 -1.04 -1.17 -0.98 -1.32 -0.85 -1.48 
+-0.74 -1.61 -0.61 -1.76 -0.43 -1.91 -0.28 -2.06 30.66 0 -0.11 2.15 -0.33 1.97 -0.52 1.8 
+-0.67 1.63 -0.82 1.48 -0.96 1.32 -1.04 1.17 -1.15 1.02 -2.43 1.63 -2.5 1.11 -2.41 0.63 
+-2.15 0.22 0.52 7.79 1.8 -0.07 1.87 -0.21 1.93 -0.37 1.93 -0.57 1.93 -0.76 1.89 -1.02 
+1.84 -1.26 1.76 -1.54 1.64 -1.82 1.5 -2.15 1.37 -2.52 1.15 -2.85 0.96 -3.25 0.71 -3.67 
+0.43 -4.08 0.15 -4.54 -38.97 0 0.17 -2.73 0.58 -2.97 1.05 -3.04 0.71 -1.48 0.84 -1.41 
+1 -1.34 1.17 -1.25 1.3 -1.11 1.5 -0.97 1.65 -0.78 1.85 -0.61 2.04 -0.37 2.23 -0.13 
+2.28 0.2 2.11 0.57 1.96 0.91 1.8 1.25 1.61 1.56 1.46 1.87 1.25 2.15 1.07 2.41 
+8.31 0 f*
+914.06 2099.11 8.31 0 0 -14.04 8.34 0 0 -6.75 ^ 0 -37.44 0.24 -1.49 
+0.64 -1.05 0.95 -0.65 1.17 -0.32 1.33 -0.09 1.39 0.09 2.63 0.39 0 -6.75 -3.06 -0.72 
+-2 -0.24 -2.23 -0.08 -1.89 0.25 -1.75 0.44 -1.59 0.61 -1.39 0.78 -1.15 0.97 -0.84 1.17 
+-0.55 1.41 -0.19 1.63 0 41.08 -7.27 0 0 6.75 ^ 0 14.04 f*
+599.54 2105.34 8.31 0 0 -27.54 1.02 1.45 1.08 1.3 1.15 1.15 1.18 0.98 2.41 1.56 
+2.38 1.08 2.25 0.7 1.98 0.39 2.66 0.21 1.96 -0.09 2 -0.24 1.98 -0.43 1.95 -0.62 
+1.91 -0.83 1.84 -1.02 1.78 -1.26 1.67 -1.5 1.54 -1.71 1.39 -2 1.25 -2.26 1.04 -2.52 
+0.87 -2.82 0.63 -3.1 0.41 -3.43 0.13 -3.73 -0.09 -3.06 -0.26 -2.95 -0.43 -2.85 -0.61 -2.71 
+-0.79 -2.56 -0.98 -2.39 -1.17 -2.23 -1.34 -2.04 -1.52 -1.85 -1.74 -1.65 -1.91 -1.43 -2.11 -1.17 
+-2.32 -0.96 -2.52 -0.69 -2.72 -0.43 -2.91 -0.13 -1.67 0.06 -1.84 0.28 -1.99 0.52 -2.02 0.82 
+-2.04 1.15 -1.97 1.54 -1.87 1.97 -1.67 2.47 0 -6.23 -8.31 0 0 24.94 ^ 
+0.09 -2.02 0.24 -1.95 0.41 -1.89 0.52 -1.82 0.67 -1.74 0.78 -1.63 0.91 -1.52 1 -1.39 
+1.09 -1.28 1.17 -1.15 1.26 -0.97 1.3 -0.83 1.35 -0.67 1.41 -0.48 1.43 -0.3 1.45 -0.11 
+1.8 0.13 1.67 0.39 1.59 0.61 1.48 0.8 1.34 0.99 1.24 1.2 1.13 1.32 1 1.43 
+0.89 1.56 0.79 1.67 1.19 3.5 0.72 3.61 0.26 3.58 -0.11 2.54 -0.32 2.37 -0.52 2.19 
+-0.67 2 -0.83 1.84 -0.96 1.65 -1.06 1.49 -1.13 1.32 -1.2 1.15 -1.24 1.02 -2.49 1.52 
+-2.41 0.89 -2.15 0.3 -1.54 -0.11 -1.5 -0.33 -1.43 -0.52 -1.39 -0.7 -1.32 -0.89 -1.24 -1.06 
+-1.17 -1.21 -1.06 -1.37 -0.98 -1.5 -0.87 -1.65 -0.76 -1.76 -0.63 -1.87 -0.5 -1.95 -0.39 -2.06 
+-0.21 -2.15 -0.09 -2.21 -8.31 0 0 47.83 f*
+653.6 2105.34 5.21 0 3.99 -6.1 3.43 -6.18 2.87 -6.23 2.32 -6.18 1.78 -6.08 1.26 -5.93 
+0.74 -5.71 0.24 -5.42 -0.26 -5.43 -0.8 -5.75 -1.3 -5.93 -1.84 -6.03 -2.34 -6.02 -2.86 -5.94 
+-3.37 -5.73 -1.86 -2.75 -1.97 -2.7 -5.21 0 3.13 5.47 2.71 5.49 2.32 5.55 1.91 5.64 
+1.52 5.77 1.07 5.92 0.65 6.1 0.21 6.32 -0.19 6.16 -0.59 5.99 -1.02 5.91 -1.45 5.86 
+-1.87 5.86 -2.32 5.9 -2.8 6.01 -3.28 6.14 f*
+712.35 2105.34 57.18 0 0 -8.31 -23.89 0 0 -64.46 -9.38 0 ^ -23.91 0 
+0 8.31 f*
+778.383 2094.95 8.3125 10.3945 re
+f*
+778.383 2032.57 8.3125 52.4961 re
+f*
+799.7 2105.34 8.31 0 0 -27.54 1.02 1.45 1.08 1.3 1.13 1.15 1.2 0.98 2.41 1.56 
+2.39 1.08 2.25 0.7 1.97 0.39 2.67 0.21 1.95 -0.09 2 -0.24 1.97 -0.43 1.96 -0.62 
+1.91 -0.83 1.85 -1.02 1.78 -1.26 1.67 -1.5 1.54 -1.71 1.39 -2 1.25 -2.26 1.05 -2.52 
+0.87 -2.82 0.63 -3.1 0.41 -3.43 0.13 -3.73 -0.09 -3.06 -0.26 -2.95 -0.43 -2.85 -0.61 -2.71 
+-0.8 -2.56 -0.95 -2.39 -1.17 -2.23 -1.35 -2.04 -1.52 -1.85 -1.73 -1.65 -1.91 -1.43 -2.11 -1.17 
+-2.32 -0.96 -2.52 -0.69 -2.71 -0.43 -2.91 -0.13 -1.67 0.06 -1.86 0.28 -1.98 0.52 -2.02 0.82 
+-2.04 1.15 -1.98 1.54 -1.86 1.97 -1.68 2.47 0 -6.23 -8.31 0 0 24.94 ^ 
+0.09 -2.02 0.24 -1.95 0.41 -1.89 0.52 -1.82 0.67 -1.74 0.79 -1.63 0.91 -1.52 1 -1.39 
+1.09 -1.28 1.18 -1.15 1.25 -0.97 1.3 -0.83 1.34 -0.67 1.41 -0.48 1.43 -0.3 1.45 -0.11 
+1.8 0.13 1.67 0.39 1.58 0.61 1.46 0.8 1.36 0.99 1.24 1.2 1.13 1.32 1 1.43 
+0.89 1.56 0.78 1.67 1.2 3.5 0.71 3.61 0.26 3.58 -0.13 2.54 -0.3 2.37 -0.52 2.19 
+-0.67 2 -0.82 1.84 -0.96 1.65 -1.07 1.49 -1.13 1.32 -1.19 1.15 -1.23 1.02 -2.5 1.52 
+-2.41 0.89 -2.15 0.3 -1.54 -0.11 -1.5 -0.33 -1.45 -0.52 -1.37 -0.7 -1.33 -0.89 -1.23 -1.06 
+-1.17 -1.21 -1.07 -1.37 -0.98 -1.5 -0.87 -1.65 -0.76 -1.76 -0.63 -1.87 -0.52 -1.95 -0.37 -2.06 
+-0.22 -2.15 -0.09 -2.21 -8.31 0 0 47.83 f*
+900.02 2048.68 -0.57 -2.43 -0.72 -2.26 -0.84 -2.06 -1 -1.87 -1.13 -1.72 -1.23 -1.52 -1.37 -1.37 
+-1.46 -1.21 -1.56 -1.04 -1.65 -0.89 -1.71 -0.73 -1.82 -0.59 -1.87 -0.45 -1.93 -0.32 -4.01 -0.24 
+-2.73 0.21 -2.59 0.46 -2.43 0.67 -2.25 0.91 -2.11 1.11 -1.91 1.32 -1.76 1.52 -1.56 1.71 
+-1.41 1.89 -1.21 2.08 -1.04 2.24 -0.85 2.38 -0.67 2.54 -0.48 2.71 -0.29 2.82 -0.11 2.96 
+0.18 4.27 0.52 3.84 0.8 3.46 1.09 3.08 1.3 2.71 1.52 2.36 1.7 2.06 1.82 1.74 
+1.91 1.48 2 1.21 2.04 0.98 2.02 0.74 2.02 0.56 1.95 0.35 3.58 0.28 -0.52 -7.79 
+-2.26 -0.24 -2.43 -0.67 -2.48 -1.18 -2.38 -1.69 -1.11 -1.04 -1.04 -1.17 -0.98 -1.32 -0.85 -1.48 
+-0.74 -1.61 -0.61 -1.76 -0.43 -1.91 -0.28 -2.06 30.66 0 -0.11 2.15 -0.33 1.97 -0.52 1.8 
+-0.67 1.63 -0.82 1.48 -0.96 1.32 -1.04 1.17 -1.15 1.02 -2.43 1.63 -2.5 1.11 -2.41 0.63 
+-2.15 0.22 0.52 7.79 1.8 -0.07 1.87 -0.21 1.93 -0.37 1.93 -0.57 1.93 -0.76 1.89 -1.02 
+1.84 -1.26 1.76 -1.54 1.64 -1.82 1.5 -2.15 1.37 -2.52 1.15 -2.85 0.96 -3.25 0.71 -3.67 
+0.43 -4.08 0.15 -4.54 -38.97 0 0.17 -2.73 0.58 -2.97 1.05 -3.04 0.71 -1.48 0.84 -1.41 
+1 -1.34 1.17 -1.25 1.3 -1.11 1.5 -0.97 1.65 -0.78 1.85 -0.61 2.04 -0.37 2.23 -0.13 
+2.28 0.2 2.11 0.57 1.96 0.91 1.8 1.25 1.61 1.56 1.46 1.87 1.25 2.15 1.07 2.41 
+8.31 0 f*
+914.06 2099.11 8.31 0 0 -14.04 8.34 0 0 -6.75 ^ 0 -37.44 0.24 -1.49 
+0.64 -1.05 0.95 -0.65 1.17 -0.32 1.33 -0.09 1.39 0.09 2.63 0.39 0 -6.75 -3.06 -0.72 
+-2 -0.24 -2.23 -0.08 -1.89 0.25 -1.75 0.44 -1.59 0.61 -1.39 0.78 -1.15 0.97 -0.84 1.17 
+-0.55 1.41 -0.19 1.63 0 41.08 -7.27 0 0 6.75 ^ 0 14.04 f*
+599.54 2105.34 8.31 0 0 -27.54 1.02 1.45 1.08 1.3 1.15 1.15 1.18 0.98 2.41 1.56 
+2.38 1.08 2.25 0.7 1.98 0.39 2.66 0.21 1.96 -0.09 2 -0.24 1.98 -0.43 1.95 -0.62 
+1.91 -0.83 1.84 -1.02 1.78 -1.26 1.67 -1.5 1.54 -1.71 1.39 -2 1.25 -2.26 1.04 -2.52 
+0.87 -2.82 0.63 -3.1 0.41 -3.43 0.13 -3.73 -0.09 -3.06 -0.26 -2.95 -0.43 -2.85 -0.61 -2.71 
+-0.79 -2.56 -0.98 -2.39 -1.17 -2.23 -1.34 -2.04 -1.52 -1.85 -1.74 -1.65 -1.91 -1.43 -2.11 -1.17 
+-2.32 -0.96 -2.52 -0.69 -2.72 -0.43 -2.91 -0.13 -1.67 0.06 -1.84 0.28 -1.99 0.52 -2.02 0.82 
+-2.04 1.15 -1.97 1.54 -1.87 1.97 -1.67 2.47 0 -6.23 -8.31 0 0 24.94 ^ 
+0.09 -2.02 0.24 -1.95 0.41 -1.89 0.52 -1.82 0.67 -1.74 0.78 -1.63 0.91 -1.52 1 -1.39 
+1.09 -1.28 1.17 -1.15 1.26 -0.97 1.3 -0.83 1.35 -0.67 1.41 -0.48 1.43 -0.3 1.45 -0.11 
+1.8 0.13 1.67 0.39 1.59 0.61 1.48 0.8 1.34 0.99 1.24 1.2 1.13 1.32 1 1.43 
+0.89 1.56 0.79 1.67 1.19 3.5 0.72 3.61 0.26 3.58 -0.11 2.54 -0.32 2.37 -0.52 2.19 
+-0.67 2 -0.83 1.84 -0.96 1.65 -1.06 1.49 -1.13 1.32 -1.2 1.15 -1.24 1.02 -2.49 1.52 
+-2.41 0.89 -2.15 0.3 -1.54 -0.11 -1.5 -0.33 -1.43 -0.52 -1.39 -0.7 -1.32 -0.89 -1.24 -1.06 
+-1.17 -1.21 -1.06 -1.37 -0.98 -1.5 -0.87 -1.65 -0.76 -1.76 -0.63 -1.87 -0.5 -1.95 -0.39 -2.06 
+-0.21 -2.15 -0.09 -2.21 -8.31 0 0 47.83 f*
+653.6 2105.34 5.21 0 3.99 -6.1 3.43 -6.18 2.87 -6.23 2.32 -6.18 1.78 -6.08 1.26 -5.93 
+0.74 -5.71 0.24 -5.42 -0.26 -5.43 -0.8 -5.75 -1.3 -5.93 -1.84 -6.03 -2.34 -6.02 -2.86 -5.94 
+-3.37 -5.73 -1.86 -2.75 -1.97 -2.7 -5.21 0 3.13 5.47 2.71 5.49 2.32 5.55 1.91 5.64 
+1.52 5.77 1.07 5.92 0.65 6.1 0.21 6.32 -0.19 6.16 -0.59 5.99 -1.02 5.91 -1.45 5.86 
+-1.87 5.86 -2.32 5.9 -2.8 6.01 -3.28 6.14 f*
+712.35 2105.34 57.18 0 0 -8.31 -23.89 0 0 -64.46 -9.38 0 ^ -23.91 0 
+0 8.31 f*
+778.383 2094.95 8.3125 10.3945 re
+f*
+778.383 2032.57 8.3125 52.4961 re
+f*
+799.7 2105.34 8.31 0 0 -27.54 1.02 1.45 1.08 1.3 1.13 1.15 1.2 0.98 2.41 1.56 
+2.39 1.08 2.25 0.7 1.97 0.39 2.67 0.21 1.95 -0.09 2 -0.24 1.97 -0.43 1.96 -0.62 
+1.91 -0.83 1.85 -1.02 1.78 -1.26 1.67 -1.5 1.54 -1.71 1.39 -2 1.25 -2.26 1.05 -2.52 
+0.87 -2.82 0.63 -3.1 0.41 -3.43 0.13 -3.73 -0.09 -3.06 -0.26 -2.95 -0.43 -2.85 -0.61 -2.71 
+-0.8 -2.56 -0.95 -2.39 -1.17 -2.23 -1.35 -2.04 -1.52 -1.85 -1.73 -1.65 -1.91 -1.43 -2.11 -1.17 
+-2.32 -0.96 -2.52 -0.69 -2.71 -0.43 -2.91 -0.13 -1.67 0.06 -1.86 0.28 -1.98 0.52 -2.02 0.82 
+-2.04 1.15 -1.98 1.54 -1.86 1.97 -1.68 2.47 0 -6.23 -8.31 0 0 24.94 ^ 
+0.09 -2.02 0.24 -1.95 0.41 -1.89 0.52 -1.82 0.67 -1.74 0.79 -1.63 0.91 -1.52 1 -1.39 
+1.09 -1.28 1.18 -1.15 1.25 -0.97 1.3 -0.83 1.34 -0.67 1.41 -0.48 1.43 -0.3 1.45 -0.11 
+1.8 0.13 1.67 0.39 1.58 0.61 1.46 0.8 1.36 0.99 1.24 1.2 1.13 1.32 1 1.43 
+0.89 1.56 0.78 1.67 1.2 3.5 0.71 3.61 0.26 3.58 -0.13 2.54 -0.3 2.37 -0.52 2.19 
+-0.67 2 -0.82 1.84 -0.96 1.65 -1.07 1.49 -1.13 1.32 -1.19 1.15 -1.23 1.02 -2.5 1.52 
+-2.41 0.89 -2.15 0.3 -1.54 -0.11 -1.5 -0.33 -1.45 -0.52 -1.37 -0.7 -1.33 -0.89 -1.23 -1.06 
+-1.17 -1.21 -1.07 -1.37 -0.98 -1.5 -0.87 -1.65 -0.76 -1.76 -0.63 -1.87 -0.52 -1.95 -0.37 -2.06 
+-0.22 -2.15 -0.09 -2.21 -8.31 0 0 47.83 f*
+900.02 2048.68 -0.57 -2.43 -0.72 -2.26 -0.84 -2.06 -1 -1.87 -1.13 -1.72 -1.23 -1.52 -1.37 -1.37 
+-1.46 -1.21 -1.56 -1.04 -1.65 -0.89 -1.71 -0.73 -1.82 -0.59 -1.87 -0.45 -1.93 -0.32 -4.01 -0.24 
+-2.73 0.21 -2.59 0.46 -2.43 0.67 -2.25 0.91 -2.11 1.11 -1.91 1.32 -1.76 1.52 -1.56 1.71 
+-1.41 1.89 -1.21 2.08 -1.04 2.24 -0.85 2.38 -0.67 2.54 -0.48 2.71 -0.29 2.82 -0.11 2.96 
+0.18 4.27 0.52 3.84 0.8 3.46 1.09 3.08 1.3 2.71 1.52 2.36 1.7 2.06 1.82 1.74 
+1.91 1.48 2 1.21 2.04 0.98 2.02 0.74 2.02 0.56 1.95 0.35 3.58 0.28 -0.52 -7.79 
+-2.26 -0.24 -2.43 -0.67 -2.48 -1.18 -2.38 -1.69 -1.11 -1.04 -1.04 -1.17 -0.98 -1.32 -0.85 -1.48 
+-0.74 -1.61 -0.61 -1.76 -0.43 -1.91 -0.28 -2.06 30.66 0 -0.11 2.15 -0.33 1.97 -0.52 1.8 
+-0.67 1.63 -0.82 1.48 -0.96 1.32 -1.04 1.17 -1.15 1.02 -2.43 1.63 -2.5 1.11 -2.41 0.63 
+-2.15 0.22 0.52 7.79 1.8 -0.07 1.87 -0.21 1.93 -0.37 1.93 -0.57 1.93 -0.76 1.89 -1.02 
+1.84 -1.26 1.76 -1.54 1.64 -1.82 1.5 -2.15 1.37 -2.52 1.15 -2.85 0.96 -3.25 0.71 -3.67 
+0.43 -4.08 0.15 -4.54 -38.97 0 0.17 -2.73 0.58 -2.97 1.05 -3.04 0.71 -1.48 0.84 -1.41 
+1 -1.34 1.17 -1.25 1.3 -1.11 1.5 -0.97 1.65 -0.78 1.85 -0.61 2.04 -0.37 2.23 -0.13 
+2.28 0.2 2.11 0.57 1.96 0.91 1.8 1.25 1.61 1.56 1.46 1.87 1.25 2.15 1.07 2.41 
+8.31 0 f*
+914.06 2099.11 8.31 0 0 -14.04 8.34 0 0 -6.75 ^ 0 -37.44 0.24 -1.49 
+0.64 -1.05 0.95 -0.65 1.17 -0.32 1.33 -0.09 1.39 0.09 2.63 0.39 0 -6.75 -3.06 -0.72 
+-2 -0.24 -2.23 -0.08 -1.89 0.25 -1.75 0.44 -1.59 0.61 -1.39 0.78 -1.15 0.97 -0.84 1.17 
+-0.55 1.41 -0.19 1.63 0 41.08 -7.27 0 0 6.75 ^ 0 14.04 f*
+599.54 2105.34 8.31 0 0 -27.54 1.02 1.45 1.08 1.3 1.15 1.15 1.18 0.98 2.41 1.56 
+2.38 1.08 2.25 0.7 1.98 0.39 2.66 0.21 1.96 -0.09 2 -0.24 1.98 -0.43 1.95 -0.62 
+1.91 -0.83 1.84 -1.02 1.78 -1.26 1.67 -1.5 1.54 -1.71 1.39 -2 1.25 -2.26 1.04 -2.52 
+0.87 -2.82 0.63 -3.1 0.41 -3.43 0.13 -3.73 -0.09 -3.06 -0.26 -2.95 -0.43 -2.85 -0.61 -2.71 
+-0.79 -2.56 -0.98 -2.39 -1.17 -2.23 -1.34 -2.04 -1.52 -1.85 -1.74 -1.65 -1.91 -1.43 -2.11 -1.17 
+-2.32 -0.96 -2.52 -0.69 -2.72 -0.43 -2.91 -0.13 -1.67 0.06 -1.84 0.28 -1.99 0.52 -2.02 0.82 
+-2.04 1.15 -1.97 1.54 -1.87 1.97 -1.67 2.47 0 -6.23 -8.31 0 0 24.94 ^ 
+0.09 -2.02 0.24 -1.95 0.41 -1.89 0.52 -1.82 0.67 -1.74 0.78 -1.63 0.91 -1.52 1 -1.39 
+1.09 -1.28 1.17 -1.15 1.26 -0.97 1.3 -0.83 1.35 -0.67 1.41 -0.48 1.43 -0.3 1.45 -0.11 
+1.8 0.13 1.67 0.39 1.59 0.61 1.48 0.8 1.34 0.99 1.24 1.2 1.13 1.32 1 1.43 
+0.89 1.56 0.79 1.67 1.19 3.5 0.72 3.61 0.26 3.58 -0.11 2.54 -0.32 2.37 -0.52 2.19 
+-0.67 2 -0.83 1.84 -0.96 1.65 -1.06 1.49 -1.13 1.32 -1.2 1.15 -1.24 1.02 -2.49 1.52 
+-2.41 0.89 -2.15 0.3 -1.54 -0.11 -1.5 -0.33 -1.43 -0.52 -1.39 -0.7 -1.32 -0.89 -1.24 -1.06 
+-1.17 -1.21 -1.06 -1.37 -0.98 -1.5 -0.87 -1.65 -0.76 -1.76 -0.63 -1.87 -0.5 -1.95 -0.39 -2.06 
+-0.21 -2.15 -0.09 -2.21 -8.31 0 0 47.83 f*
+653.6 2105.34 5.21 0 3.99 -6.1 3.43 -6.18 2.87 -6.23 2.32 -6.18 1.78 -6.08 1.26 -5.93 
+0.74 -5.71 0.24 -5.42 -0.26 -5.43 -0.8 -5.75 -1.3 -5.93 -1.84 -6.03 -2.34 -6.02 -2.86 -5.94 
+-3.37 -5.73 -1.86 -2.75 -1.97 -2.7 -5.21 0 3.13 5.47 2.71 5.49 2.32 5.55 1.91 5.64 
+1.52 5.77 1.07 5.92 0.65 6.1 0.21 6.32 -0.19 6.16 -0.59 5.99 -1.02 5.91 -1.45 5.86 
+-1.87 5.86 -2.32 5.9 -2.8 6.01 -3.28 6.14 f*
+712.35 2105.34 57.18 0 0 -8.31 -23.89 0 0 -64.46 -9.38 0 ^ -23.91 0 
+0 8.31 f*
+778.383 2094.95 8.3125 10.3945 re
+f*
+778.383 2032.57 8.3125 52.4961 re
+f*
+799.7 2105.34 8.31 0 0 -27.54 1.02 1.45 1.08 1.3 1.13 1.15 1.2 0.98 2.41 1.56 
+2.39 1.08 2.25 0.7 1.97 0.39 2.67 0.21 1.95 -0.09 2 -0.24 1.97 -0.43 1.96 -0.62 
+1.91 -0.83 1.85 -1.02 1.78 -1.26 1.67 -1.5 1.54 -1.71 1.39 -2 1.25 -2.26 1.05 -2.52 
+0.87 -2.82 0.63 -3.1 0.41 -3.43 0.13 -3.73 -0.09 -3.06 -0.26 -2.95 -0.43 -2.85 -0.61 -2.71 
+-0.8 -2.56 -0.95 -2.39 -1.17 -2.23 -1.35 -2.04 -1.52 -1.85 -1.73 -1.65 -1.91 -1.43 -2.11 -1.17 
+-2.32 -0.96 -2.52 -0.69 -2.71 -0.43 -2.91 -0.13 -1.67 0.06 -1.86 0.28 -1.98 0.52 -2.02 0.82 
+-2.04 1.15 -1.98 1.54 -1.86 1.97 -1.68 2.47 0 -6.23 -8.31 0 0 24.94 ^ 
+0.09 -2.02 0.24 -1.95 0.41 -1.89 0.52 -1.82 0.67 -1.74 0.79 -1.63 0.91 -1.52 1 -1.39 
+1.09 -1.28 1.18 -1.15 1.25 -0.97 1.3 -0.83 1.34 -0.67 1.41 -0.48 1.43 -0.3 1.45 -0.11 
+1.8 0.13 1.67 0.39 1.58 0.61 1.46 0.8 1.36 0.99 1.24 1.2 1.13 1.32 1 1.43 
+0.89 1.56 0.78 1.67 1.2 3.5 0.71 3.61 0.26 3.58 -0.13 2.54 -0.3 2.37 -0.52 2.19 
+-0.67 2 -0.82 1.84 -0.96 1.65 -1.07 1.49 -1.13 1.32 -1.19 1.15 -1.23 1.02 -2.5 1.52 
+-2.41 0.89 -2.15 0.3 -1.54 -0.11 -1.5 -0.33 -1.45 -0.52 -1.37 -0.7 -1.33 -0.89 -1.23 -1.06 
+-1.17 -1.21 -1.07 -1.37 -0.98 -1.5 -0.87 -1.65 -0.76 -1.76 -0.63 -1.87 -0.52 -1.95 -0.37 -2.06 
+-0.22 -2.15 -0.09 -2.21 -8.31 0 0 47.83 f*
+900.02 2048.68 -0.57 -2.43 -0.72 -2.26 -0.84 -2.06 -1 -1.87 -1.13 -1.72 -1.23 -1.52 -1.37 -1.37 
+-1.46 -1.21 -1.56 -1.04 -1.65 -0.89 -1.71 -0.73 -1.82 -0.59 -1.87 -0.45 -1.93 -0.32 -4.01 -0.24 
+-2.73 0.21 -2.59 0.46 -2.43 0.67 -2.25 0.91 -2.11 1.11 -1.91 1.32 -1.76 1.52 -1.56 1.71 
+-1.41 1.89 -1.21 2.08 -1.04 2.24 -0.85 2.38 -0.67 2.54 -0.48 2.71 -0.29 2.82 -0.11 2.96 
+0.18 4.27 0.52 3.84 0.8 3.46 1.09 3.08 1.3 2.71 1.52 2.36 1.7 2.06 1.82 1.74 
+1.91 1.48 2 1.21 2.04 0.98 2.02 0.74 2.02 0.56 1.95 0.35 3.58 0.28 -0.52 -7.79 
+-2.26 -0.24 -2.43 -0.67 -2.48 -1.18 -2.38 -1.69 -1.11 -1.04 -1.04 -1.17 -0.98 -1.32 -0.85 -1.48 
+-0.74 -1.61 -0.61 -1.76 -0.43 -1.91 -0.28 -2.06 30.66 0 -0.11 2.15 -0.33 1.97 -0.52 1.8 
+-0.67 1.63 -0.82 1.48 -0.96 1.32 -1.04 1.17 -1.15 1.02 -2.43 1.63 -2.5 1.11 -2.41 0.63 
+-2.15 0.22 0.52 7.79 1.8 -0.07 1.87 -0.21 1.93 -0.37 1.93 -0.57 1.93 -0.76 1.89 -1.02 
+1.84 -1.26 1.76 -1.54 1.64 -1.82 1.5 -2.15 1.37 -2.52 1.15 -2.85 0.96 -3.25 0.71 -3.67 
+0.43 -4.08 0.15 -4.54 -38.97 0 0.17 -2.73 0.58 -2.97 1.05 -3.04 0.71 -1.48 0.84 -1.41 
+1 -1.34 1.17 -1.25 1.3 -1.11 1.5 -0.97 1.65 -0.78 1.85 -0.61 2.04 -0.37 2.23 -0.13 
+2.28 0.2 2.11 0.57 1.96 0.91 1.8 1.25 1.61 1.56 1.46 1.87 1.25 2.15 1.07 2.41 
+8.31 0 f*
+914.06 2099.11 8.31 0 0 -14.04 8.34 0 0 -6.75 ^ 0 -37.44 0.24 -1.49 
+0.64 -1.05 0.95 -0.65 1.17 -0.32 1.33 -0.09 1.39 0.09 2.63 0.39 0 -6.75 -3.06 -0.72 
+-2 -0.24 -2.23 -0.08 -1.89 0.25 -1.75 0.44 -1.59 0.61 -1.39 0.78 -1.15 0.97 -0.84 1.17 
+-0.55 1.41 -0.19 1.63 0 41.08 -7.27 0 0 6.75 ^ 0 14.04 f*
+255 0 r3
+2616.43 1736.2 36.02 0 S
+2670.46 1736.2 36 0 S
+255 0 r6
+2616.43 1787 36.02 0 S
+2670.46 1787 36 0 S
+255 0 r5
+2616.43 1837.83 36.02 0 S
+2670.46 1837.83 36 0 S
+128 0 255 rG
+2616.43 1888.63 36.02 0 S
+2670.46 1888.63 36 0 S
+K
+2722.77 1754.28 3.99 0 0 -13.21 1 1.32 1.13 1.02 1.15 0.76 1.15 0.52 2.02 0.52 
+1.28 0.08 1.91 -0.15 1.89 -0.5 1.8 -0.89 1.65 -1.32 1.41 -1.79 1.11 -2.3 0.71 -2.84 
+0.26 -3.43 -0.18 -2.89 -0.5 -2.67 -0.85 -2.38 -1.2 -2.04 -1.56 -1.67 -0.93 -0.7 -1.02 -0.57 
+-1.11 -0.45 -1.2 -0.32 -1.3 -0.21 -1.41 -0.07 -1.7 0.17 -1.91 0.63 -1 0.57 -0.93 0.74 
+-0.89 0.95 -0.81 1.17 0 -3 -3.99 0 0 11.98 ^ 0.16 -1.91 0.46 -1.78 
+0.7 -1.61 0.91 -1.41 1.08 -1.15 1.22 -0.87 1.32 -0.56 1.39 -0.2 1.67 0.26 1.48 0.67 
+1.23 1.04 1.02 1.34 0.8 1.55 0.57 1.66 0.35 1.74 0.13 1.71 -0.22 2.36 -0.57 2 
+-0.84 1.69 -1.06 1.35 -1.17 1.04 -1.19 0.72 -1.15 0.43 -1.04 0.15 -1.46 -0.21 -1.34 -0.59 
+-1.23 -0.93 -1.07 -1.24 -0.89 -1.49 -0.68 -1.74 -0.41 -1.93 -0.16 -2.11 -3.99 0 0 22.96 f*
+2769.42 1736.07 -3.99 0 -0.18 1.02 -0.34 0.99 -0.5 0.92 -0.67 0.84 -0.83 0.7 -0.99 0.54 
+-1.15 0.35 -1.33 0.13 -1.58 -0.2 -1.41 -0.56 -1.2 -0.91 -0.97 -1.2 -0.8 -1.5 -0.57 -1.76 
+-0.34 -1.95 -0.11 -2.17 0.13 -2.13 0.37 -1.87 0.61 -1.62 0.82 -1.37 1.05 -1.06 1.23 -0.78 
+1.43 -0.48 1.61 -0.17 1.48 0.17 1.23 0.46 1.05 0.7 0.82 0.87 0.63 0.98 0.43 1.04 
+0.26 1.06 0.08 0.98 4 0 -0.17 -1.93 -0.5 -1.84 -0.8 -1.7 -1.15 -1.49 -1.47 -1.24 
+-1.8 -0.96 -2.12 -0.61 -2.46 -0.21 -1.45 0.08 -1.33 0.21 -1.21 0.39 -1.11 0.5 -1 0.63 
+-0.89 0.76 -1.5 1.78 -1.12 2.13 -0.79 2.34 -0.45 2.54 -0.13 2.6 0.11 1.8 0.28 1.63 
+0.39 1.5 0.5 1.34 0.63 1.22 0.7 1.08 1.61 1.79 1.78 1.32 1.82 0.89 1.8 0.5 
+1.61 0.15 1.76 -0.11 1.69 -0.39 1.61 -0.63 1.43 -0.95 1.26 -1.26 1.02 -1.61 0.76 -1.95 
+0.46 -2.32 f*
+2793.38 1736.07 -3.99 0 -0.18 1.02 -0.35 0.99 -0.5 0.92 -0.67 0.84 -0.82 0.7 -1 0.54 
+-1.15 0.35 -1.32 0.13 -1.58 -0.2 -1.41 -0.56 -1.2 -0.91 -1 -1.2 -0.78 -1.5 -0.57 -1.76 
+-0.35 -1.95 -0.11 -2.17 0.13 -2.13 0.37 -1.87 0.61 -1.62 0.83 -1.37 1.04 -1.06 1.24 -0.78 
+1.43 -0.48 1.59 -0.17 1.47 0.17 1.26 0.46 1.04 0.7 0.83 0.87 0.63 0.98 0.43 1.04 
+0.26 1.06 0.07 0.98 3.99 0 -0.16 -1.93 -0.5 -1.84 -0.8 -1.7 -1.15 -1.49 -1.48 -1.24 
+-1.8 -0.96 -2.13 -0.61 -2.47 -0.21 -1.43 0.08 -1.32 0.21 -1.21 0.39 -1.11 0.5 -1 0.63 
+-0.89 0.76 -1.5 1.78 -1.13 2.13 -0.78 2.34 -0.45 2.54 -0.13 2.6 0.11 1.8 0.28 1.63 
+0.39 1.5 0.5 1.34 0.63 1.22 0.7 1.08 1.61 1.79 1.75 1.32 1.84 0.89 1.79 0.5 
+1.63 0.15 1.76 -0.11 1.7 -0.39 1.58 -0.63 1.46 -0.95 1.25 -1.26 1.02 -1.61 0.76 -1.95 
+0.45 -2.32 f*
+2796.88 1730.82 11.4766 3.49609 re
+f*
+2833.31 1736.07 -4 0 -0.17 1.02 -0.34 0.99 -0.5 0.92 -0.67 0.84 -0.83 0.7 -1 0.54 
+-1.15 0.35 -1.33 0.13 -1.58 -0.2 -1.41 -0.56 -1.19 -0.91 -1 -1.2 -0.79 -1.5 -0.57 -1.76 
+-0.34 -1.95 -0.11 -2.17 0.13 -2.13 0.37 -1.87 0.61 -1.62 0.82 -1.37 1.04 -1.06 1.23 -0.78 
+1.43 -0.48 1.58 -0.17 1.48 0.17 1.26 0.46 1.04 0.7 0.82 0.87 0.61 0.98 0.46 1.04 
+0.24 1.06 0.08 0.98 4 0 -0.15 -1.93 -0.5 -1.84 -0.82 -1.7 -1.13 -1.49 -1.47 -1.24 
+-1.8 -0.96 -2.14 -0.61 -2.46 -0.21 -1.43 0.08 -1.33 0.21 -1.21 0.39 -1.11 0.5 -0.99 0.63 
+-0.89 0.76 -1.52 1.78 -1.12 2.13 -0.76 2.34 -0.46 2.54 -0.15 2.6 0.13 1.8 0.26 1.63 
+0.41 1.5 0.5 1.34 0.61 1.22 0.71 1.08 1.59 1.79 1.78 1.32 1.84 0.89 1.78 0.5 
+1.63 0.15 1.76 -0.11 1.69 -0.39 1.58 -0.63 1.46 -0.95 1.26 -1.26 1.02 -1.61 0.76 -1.95 
+0.46 -2.32 f*
+2851.52 1737.57 4.26 0 -0.33 2.04 -0.7 1.7 -1.04 1.34 -1.26 1.04 -1.41 0.74 -1.52 0.5 
+-1.52 0.29 -1.48 0.08 -1.78 -0.13 -1.74 -0.37 -1.65 -0.63 -1.47 -0.89 -1.26 -1.13 -0.98 -1.37 
+-0.62 -1.63 -0.22 -1.84 0.09 -1.15 0.24 -1.05 0.43 -0.95 0.61 -0.84 0.8 -0.74 0.97 -0.67 
+1.2 -0.56 1.39 -0.52 6.25 -1.5 1.52 -0.48 1.2 -0.7 0.75 -1 0.2 -0.61 0.07 -0.71 
+-0.08 -0.8 -0.29 -0.76 -0.48 -0.67 -0.65 -0.59 -0.85 -0.5 -1.02 -0.35 -1.22 -0.24 -1.41 -0.09 
+-1.58 0.11 -1.29 0.26 -0.97 0.43 -0.74 0.59 -0.54 0.71 -0.39 0.85 -0.48 2.04 -4.23 0 
+0.24 -1.8 0.43 -1.67 0.67 -1.47 0.96 -1.29 1.3 -1.04 1.73 -0.8 2.17 -0.48 2.71 -0.17 
+1.87 0.13 1.84 0.39 1.72 0.63 1.56 0.91 1.32 1.15 1.02 1.41 0.68 1.67 0.24 1.93 
+-0.13 1.33 -0.39 1.17 -0.63 1.04 -0.85 0.89 -1.11 0.8 -1.32 0.67 -1.54 0.59 -1.78 0.5 
+-4.73 1 -1.78 0.8 -0.97 0.88 -0.42 0.89 -0.08 0.93 0.11 0.89 0.33 0.76 0.52 0.63 
+0.67 0.54 0.8 0.42 0.93 0.28 2.13 0.23 1.22 -0.08 0.99 -0.22 0.85 -0.37 0.65 -0.48 
+0.52 -0.59 0.37 -0.69 0.39 -1.56 4.26 0 -4.26 0 f*
+2862.26 1744.55 3.49 0 0 -3.75 1.93 2.19 1.82 1.37 0.93 0.43 0.95 0.3 2.09 0.2 
+1.8 -0.24 1.67 -0.54 0.8 -0.48 0.83 -0.68 0.8 -0.89 0.84 -1.17 1.98 1.99 0.95 0.7 
+0.93 0.52 1.89 0.63 1.97 0.15 1.24 -0.08 1.25 -0.29 1.22 -0.5 1.13 -0.7 0.96 -0.89 
+0.76 -1.13 0.5 -1.32 0.17 -1.59 0 -19.47 -4 0 0 17.97 -0.11 0.91 -0.3 0.85 
+-0.48 0.76 -0.61 0.68 -0.7 0.54 -0.74 0.41 -0.79 0.26 -0.78 0.08 -1.04 -0.11 -1.05 -0.37 
+-0.99 -0.57 -0.93 -0.74 -0.8 -0.89 -0.61 -1 -0.41 -1.13 -0.13 -1.2 0 -16.47 -3.99 0 
+0 17.97 -0.13 0.91 -0.3 0.85 -0.48 0.76 -0.63 0.68 -0.72 0.54 -0.8 0.41 -0.85 0.26 
+-0.84 0.08 -0.89 -0.11 -0.95 -0.33 -0.96 -0.54 -0.91 -0.69 -0.8 -0.89 -0.66 -1.02 -0.41 -1.15 
+-0.15 -1.26 0 -16.47 -3.99 0 0 25.22 f*
+2912.41 1753.28 2.74 0 0 -33.95 -4.23 0 0 24.22 -7.49 0 0 3 3.02 0.34 
+1.37 0.29 1.24 0.5 1.08 0.76 0.93 1.13 0.79 1.58 0.56 2.13 f*
+2927.39 1730.82 11.4766 3.49609 re
+f*
+2955.08 1753.28 2.75 0 0 -33.95 -4.25 0 0 24.22 -7.49 0 0 3 3.02 0.34 
+1.37 0.29 1.24 0.5 1.09 0.76 0.95 1.13 0.76 1.58 0.57 2.13 f*
+2752.45 1793.75 -0.71 2.84 -1 2.41 -1.3 2 -1.61 1.56 -1.87 1.19 -2.14 0.82 -2.41 0.48 
+-2.67 0.17 -1.82 -0.11 -1.72 -0.26 -1.63 -0.43 -1.52 -0.59 -1.39 -0.73 -1.31 -0.89 -1.19 -1.02 
+-1.06 -1.15 -0.98 -1.28 -0.84 -1.39 -0.72 -1.49 -0.61 -1.61 -0.85 -3.47 -0.34 -3.8 0.09 -2.17 
+0.21 -2.04 0.39 -1.91 0.54 -1.78 0.66 -1.63 0.78 -1.5 0.91 -1.34 1.05 -1.24 1.11 -1.06 
+1.24 -0.93 1.32 -0.8 1.39 -0.65 1.47 -0.5 1.54 -0.37 1.61 -0.22 1.67 -0.07 1.8 0.07 
+1.65 0.22 1.52 0.34 1.39 0.46 1.26 0.59 1.13 0.7 1.02 0.8 0.89 0.89 1.47 2.02 
+1.07 2.34 0.67 2.56 0.34 2.74 -4.49 0 -0.46 -2.43 -0.63 -2.04 -0.84 -1.67 -1.06 -1.34 
+-1.28 -1 -1.54 -0.7 -1.82 -0.41 -2.08 -0.13 -1.45 0.06 -1.35 0.21 -1.24 0.35 -1.13 0.45 
+-1.04 0.61 -0.93 0.7 -1.61 1.72 -1.21 2.11 -0.85 2.43 -0.52 2.67 -0.16 2.91 0.22 3.19 
+0.65 2.82 1.05 2.43 1.39 2.04 1.7 1.61 1.95 1.17 2.17 0.71 2.37 0.26 1.73 -0.13 
+1.63 -0.39 1.5 -0.61 1.34 -0.85 1.13 -1.06 0.91 -1.28 0.63 -1.5 0.35 -1.67 4.49 0 f*
+2787.13 1793.75 -0.7 2.84 -1.02 2.41 -1.3 2 -1.59 1.56 -1.86 1.19 -2.15 0.82 -2.43 0.48 
+-2.66 0.17 -1.82 -0.11 -1.71 -0.26 -1.63 -0.43 -1.5 -0.59 -1.41 -0.73 -1.3 -0.89 -1.2 -1.02 
+-1.06 -1.15 -0.96 -1.28 -0.84 -1.39 -0.74 -1.49 -0.61 -1.61 -0.85 -3.47 -0.34 -3.8 0.08 -2.17 
+0.24 -2.04 0.39 -1.91 0.52 -1.78 0.65 -1.63 0.8 -1.5 0.91 -1.34 1.02 -1.24 1.13 -1.06 
+1.21 -0.93 1.32 -0.8 1.39 -0.65 1.48 -0.5 1.56 -0.37 1.61 -0.22 1.65 -0.07 1.8 0.07 
+1.65 0.22 1.52 0.34 1.39 0.46 1.26 0.59 1.13 0.7 1.02 0.8 0.91 0.89 1.45 2.02 
+1.07 2.34 0.7 2.56 0.32 2.74 -4.49 0 -0.46 -2.43 -0.63 -2.04 -0.85 -1.67 -1.04 -1.34 
+-1.31 -1 -1.54 -0.7 -1.8 -0.41 -2.11 -0.13 -1.46 0.06 -1.32 0.21 -1.24 0.35 -1.15 0.45 
+-1.04 0.61 -0.93 0.7 -1.58 1.72 -1.24 2.11 -0.85 2.43 -0.5 2.67 -0.18 2.91 0.24 3.19 
+0.66 2.82 1.04 2.43 1.37 2.04 1.7 1.61 1.95 1.17 2.17 0.71 2.37 0.26 1.73 -0.13 
+1.63 -0.39 1.52 -0.61 1.32 -0.85 1.13 -1.06 0.91 -1.28 0.65 -1.5 0.33 -1.67 4.49 0 f*
+2818.84 1794.49 -0.07 1.32 -0.22 1.21 -0.33 1.15 -0.43 1.04 -1.21 1.85 -1.61 1.5 -1.93 1.17 
+-2.21 0.82 -2.41 0.5 -2.56 0.17 -2.97 -0.19 -2.56 -0.56 -2.15 -0.91 -1.74 -1.22 -1.34 -1.48 
+-0.95 -1.76 -0.56 -1.95 -0.2 -2.17 0.13 -1.71 0.35 -1.46 0.54 -1.21 0.72 -1.02 0.87 -0.82 
+0.98 -0.68 2.15 -1.08 11.24 -3 2.36 -1.02 0.85 -0.59 0.69 -0.62 0.5 -0.7 0.33 -0.72 
+0.2 -0.78 0.07 -0.8 -0.11 -1.2 -0.32 -1.11 -0.57 -1.02 -0.87 -0.89 -1.21 -0.74 -1.56 -0.56 
+-1.95 -0.37 -2.39 -0.11 -2.43 0.17 -2.04 0.5 -1.7 0.8 -1.32 1.02 -1.02 1.19 -0.7 1.37 
+-0.41 1.43 -0.13 1.5 -4.5 0 0.22 -2.45 0.65 -2.28 1.09 -2.02 1.52 -1.78 1.97 -1.43 
+2.46 -1.11 2.93 -0.67 3.41 -0.24 3.14 0.22 2.76 0.61 2.3 0.98 1.91 1.29 1.46 1.56 
+1.06 1.78 0.63 1.96 0.21 2.11 -0.15 1.69 -0.46 1.52 -0.69 1.37 -0.89 1.2 -1.07 0.99 
+-1.17 0.85 -1.26 0.65 -1.3 0.46 -11.24 3 -1.95 1.02 -1.13 0.98 -0.32 0.55 -0.2 0.63 
+-0.13 1.59 0.16 1.32 0.46 1.15 0.71 0.97 0.95 0.83 1.15 0.63 1.3 0.46 1.45 0.29 
+1.55 0.09 2.04 -0.13 1.75 -0.39 1.5 -0.63 1.24 -0.85 0.95 -1.02 0.7 -1.2 0.42 -1.32 
+0.15 -1.46 4.5 0 f*
+2825.57 1804.73 6.25 0 10.22 -30.45 10.24 30.45 6.23 0 0 -34.95 -4.23 0 0 29.19 
+-9.98 -29.19 -4.75 0 -9.72 29.19 0 -29.19 -4.25 0 0 34.95 f*
+2878.73 1803.73 2.99 0 0 -21.96 5.23 0 0 -4 ^ 0 -7.99 -4.25 0 
+^ -14.21 0 0 4 ^ 0 14.71 -10.48 -14.71 -3.73 0 0 0.5 
+15.47 21.46 f*
+2752.45 1844.68 -0.71 2.87 -1 2.41 -1.3 1.98 -1.61 1.58 -1.87 1.2 -2.14 0.82 -2.41 0.48 
+-2.67 0.15 -1.82 -0.08 -1.72 -0.26 -1.63 -0.43 -1.52 -0.59 -1.39 -0.75 -1.31 -0.87 -1.19 -1.04 
+-1.06 -1.15 -0.98 -1.28 -0.84 -1.39 -0.72 -1.49 -0.61 -1.61 -0.85 -3.47 -0.34 -3.8 0.09 -2.17 
+0.21 -2.04 0.39 -1.91 0.54 -1.78 0.66 -1.63 0.78 -1.5 0.91 -1.34 1.05 -1.21 1.11 -1.09 
+1.24 -0.93 1.32 -0.78 1.39 -0.65 1.47 -0.52 1.54 -0.37 1.61 -0.22 1.67 -0.06 1.8 0.06 
+1.65 0.22 1.52 0.34 1.39 0.46 1.26 0.59 1.13 0.7 1.02 0.8 0.89 0.89 1.47 2.04 
+1.07 2.32 0.67 2.56 0.34 2.74 -4.49 0 -0.46 -2.41 -0.63 -2.04 -0.84 -1.7 -1.06 -1.32 
+-1.28 -1.02 -1.54 -0.7 -1.82 -0.41 -2.08 -0.13 -1.45 0.06 -1.35 0.21 -1.24 0.35 -1.13 0.48 
+-1.04 0.58 -0.93 0.7 -1.61 1.74 -1.21 2.08 -0.85 2.43 -0.52 2.7 -0.16 2.88 0.22 3.19 
+0.65 2.84 1.05 2.43 1.39 2.02 1.7 1.63 1.95 1.17 2.17 0.72 2.37 0.24 1.73 -0.13 
+1.63 -0.37 1.5 -0.63 1.34 -0.85 1.13 -1.06 0.91 -1.28 0.63 -1.5 0.35 -1.67 4.49 0 f*
+2759.7 1855.67 24.2 0 0 -4 -19.7 0 0 -11.24 18.95 0 0 -3.99 ^ 
+0 -11.72 20.44 0 0 -3.99 -24.93 0 0 34.95 f*
+2816.08 1845.42 -0.07 1.32 -0.2 1.21 -0.32 1.15 -0.46 1.04 -1.21 1.85 -1.61 1.52 -1.93 1.15 
+-2.2 0.84 -2.41 0.48 -2.58 0.17 -2.98 -0.2 -2.54 -0.56 -2.14 -0.91 -1.76 -1.2 -1.34 -1.5 
+-0.96 -1.73 -0.56 -1.98 -0.2 -2.17 0.13 -1.71 0.35 -1.46 0.57 -1.21 0.71 -1 0.87 -0.83 
+0.96 -0.7 2.17 -1.08 11.21 -3 2.37 -1.02 0.87 -0.59 0.67 -0.62 0.5 -0.67 0.35 -0.74 
+0.19 -0.76 0.05 -0.82 -0.09 -1.2 -0.33 -1.11 -0.58 -1.02 -0.87 -0.89 -1.2 -0.74 -1.56 -0.57 
+-1.95 -0.34 -2.41 -0.13 -2.41 0.17 -2.04 0.52 -1.7 0.78 -1.34 1.02 -1 1.22 -0.7 1.34 
+-0.41 1.43 -0.13 1.5 -4.49 0 0.21 -2.45 0.63 -2.26 1.09 -2.04 1.54 -1.76 1.97 -1.45 
+2.46 -1.09 2.91 -0.7 3.41 -0.24 3.17 0.22 2.73 0.61 2.32 0.98 1.89 1.28 1.47 1.57 
+1.07 1.78 0.63 1.96 0.2 2.11 -0.15 1.69 -0.43 1.55 -0.7 1.34 -0.89 1.2 -1.07 1.02 
+-1.17 0.83 -1.28 0.65 -1.3 0.46 -11.22 3 -1.95 1.04 -1.13 0.96 -0.32 0.54 -0.21 0.63 
+-0.13 1.59 0.17 1.32 0.46 1.15 0.71 0.97 0.93 0.83 1.15 0.63 1.33 0.46 1.43 0.28 
+1.57 0.09 2.02 -0.13 1.76 -0.39 1.5 -0.63 1.24 -0.85 0.97 -1.02 0.69 -1.2 0.41 -1.32 
+0.13 -1.46 4.49 0 f*
+2822.83 1855.67 6.23 0 10.25 -30.45 10.22 30.45 6.25 0 0 -34.95 -4.26 0 0 29.19 
+-9.98 -29.19 -4.73 0 -9.74 29.19 0 -29.19 -4.23 0 0 34.95 f*
+2872.98 1854.67 2.75 0 0 -33.95 -4.25 0 0 24.2 -7.48 0 0 3 3.01 0.37 
+1.37 0.28 1.23 0.48 1.09 0.76 0.95 1.13 0.76 1.61 0.57 2.13 f*
+2887.96 1832.21 11.4766 3.49219 re
+f*
+2933.62 1844.68 -0.72 2.87 -1 2.41 -1.3 1.98 -1.59 1.58 -1.89 1.2 -2.15 0.82 -2.41 0.48 
+-2.67 0.15 -1.82 -0.08 -1.72 -0.26 -1.62 -0.43 -1.52 -0.59 -1.39 -0.75 -1.3 -0.87 -1.2 -1.04 
+-1.07 -1.15 -0.98 -1.28 -0.82 -1.39 -0.74 -1.49 -0.61 -1.61 -0.84 -3.47 -0.35 -3.8 0.09 -2.17 
+0.24 -2.04 0.37 -1.91 0.55 -1.78 0.65 -1.63 0.8 -1.5 0.91 -1.34 1.02 -1.21 1.13 -1.09 
+1.21 -0.93 1.32 -0.78 1.39 -0.65 1.48 -0.52 1.54 -0.37 1.61 -0.22 1.67 -0.06 1.8 0.06 
+1.65 0.22 1.52 0.34 1.39 0.46 1.25 0.59 1.13 0.7 1.02 0.8 0.89 0.89 1.48 2.04 
+1.06 2.32 0.67 2.56 0.35 2.74 -4.5 0 -0.45 -2.41 -0.63 -2.04 -0.85 -1.7 -1.06 -1.32 
+-1.29 -1.02 -1.54 -0.7 -1.82 -0.41 -2.09 -0.13 -1.45 0.06 -1.34 0.21 -1.24 0.35 -1.12 0.48 
+-1.04 0.58 -0.93 0.7 -1.61 1.74 -1.22 2.08 -0.84 2.43 -0.5 2.7 -0.17 2.88 0.22 3.19 
+0.65 2.84 1.04 2.43 1.39 2.02 1.7 1.63 1.96 1.17 2.17 0.72 2.36 0.24 1.74 -0.13 
+1.63 -0.37 1.5 -0.63 1.34 -0.85 1.13 -1.06 0.91 -1.28 0.63 -1.5 0.34 -1.67 4.5 0 f*
+2949.85 1855.67 5.73 0 12.24 -34.95 -4.99 0 -3.5 10.24 -13.74 0 -3.49 -10.24 -4.99 0 
+10.98 29.95 4.49 0 -5.73 -15.73 11.21 0 -5.49 15.73 -4.49 0 1.76 5 f*
+2972.05 1855.67 6.25 0 10.22 -30.45 10.21 30.45 6.25 0 0 -34.95 -4.25 0 0 29.19 
+-9.98 -29.19 -4.73 0 -9.72 29.19 0 -29.19 -4.25 0 0 34.95 f*
+3013.48 1854.67 17.71 0 0 -4 -14.21 0 -1.26 -9.74 1.24 0.89 1.45 0.72 1.74 0.48 
+2.06 0.17 1.76 -0.15 1.83 -0.46 1.8 -0.79 1.67 -1.17 1.47 -1.56 1.17 -1.97 0.43 -1.17 
+0.33 -1.29 0.2 -1.41 0.09 -1.52 -0.2 -2.39 -0.57 -2.25 -0.91 -2.09 -1.3 -1.82 -1.65 -1.52 
+-2.02 -1.15 -2.36 -0.74 -2.74 -0.26 -2.52 0.17 -2.14 0.57 -1.8 0.87 -1.47 1.15 -1.2 1.41 
+-0.93 1.61 -0.67 1.78 -0.48 1.93 4.23 0 0.43 -1.26 0.56 -1.13 0.65 -0.98 0.79 -0.82 
+0.91 -0.68 1.02 -0.48 1.13 -0.3 1.25 -0.11 1.7 0.13 1.52 0.39 1.32 0.63 1.11 0.91 
+0.89 1.15 0.65 1.41 0.42 1.69 0.13 1.93 -0.11 1.41 -0.33 1.41 -0.54 1.34 -0.8 1.22 
+-1.02 1.06 -1.3 0.8 -1.56 0.54 -1.83 0.18 -1.82 -0.18 -1.5 -0.58 -1.48 -1.02 -1.7 -1.45 
+-3.73 0 2.49 18.47 f*
+2754.71 1893.62 -14.74 0 0 -3.99 10.48 0 0 -2.24 -0.2 -1.69 -0.57 -1.7 -0.91 -1.58 
+-1.26 -1.43 -1.54 -1.21 -1.84 -0.91 -2.09 -0.56 -2.32 -0.16 -1.59 0.09 -1.47 0.21 -1.35 0.37 
+-1.23 0.5 -1.13 0.63 -1.02 0.73 -0.91 0.85 -0.82 0.95 -1.3 2.17 -0.93 2.45 -0.54 2.67 
+-0.18 2.84 0.24 3.04 0.71 2.73 1.15 2.39 1.52 2.02 1.82 1.63 2.13 1.19 2.36 0.74 
+2.54 0.24 1.24 -0.07 1.41 -0.26 1.48 -0.46 1.47 -0.67 1.39 -0.98 1.21 -1.26 0.93 -1.59 
+0.59 -1.95 4.75 0 -0.35 1.47 -0.69 1.76 -1.06 1.84 -1.5 1.84 -1.93 1.67 -1.15 0.73 
+-1.28 0.63 -1.43 0.52 -1.54 0.41 -1.7 0.24 -1.84 0.09 -1.93 -0.09 -1.82 -0.26 -1.72 -0.43 
+-1.61 -0.59 -1.52 -0.74 -1.39 -0.87 -1.28 -1.02 -1.15 -1.16 -1.04 -1.26 -0.91 -1.39 -0.78 -1.48 
+-0.65 -1.56 -0.5 -1.67 -0.37 -1.76 -0.24 -1.82 -0.06 -1.89 0.09 -2.34 0.24 -2.17 0.43 -2 
+0.57 -1.84 0.7 -1.67 0.84 -1.52 0.98 -1.34 1.08 -1.2 1.2 -1.07 1.3 -0.89 1.41 -0.76 
+1.47 -0.61 1.56 -0.45 1.65 -0.34 3.45 -0.26 2.58 0.26 1.39 0.34 1.41 0.52 1.43 0.71 
+1.43 0.89 1.39 1.15 1.34 1.37 1 -4.26 3 0 0 18.47 f*
+2762.93 1875.15 4.49609 34.9414 re
+f*
+2800.37 1899.87 -0.06 1.3 -0.21 1.24 -0.33 1.13 -0.43 1.06 -1.22 1.84 -1.61 1.5 -1.93 1.17 
+-2.21 0.82 -2.41 0.5 -2.56 0.15 -2.97 -0.2 -2.56 -0.56 -2.14 -0.89 -1.74 -1.21 -1.34 -1.5 
+-0.96 -1.73 -0.56 -1.98 -0.2 -2.15 0.13 -1.73 0.35 -1.45 0.54 -1.22 0.74 -1 0.84 -0.82 
+0.98 -0.7 2.17 -1.06 11.21 -2.99 2.37 -1.05 0.87 -0.58 0.67 -0.63 0.5 -0.68 0.33 -0.71 
+0.2 -0.79 0.07 -0.82 -0.11 -1.18 -0.3 -1.13 -0.58 -1.02 -0.87 -0.89 -1.22 -0.74 -1.56 -0.57 
+-1.96 -0.34 -2.39 -0.13 -2.43 0.2 -2.04 0.5 -1.67 0.78 -1.34 1.02 -1 1.21 -0.72 1.35 
+-0.39 1.45 -0.13 1.48 -4.49 0 0.19 -2.45 0.65 -2.26 1.08 -2.04 1.52 -1.75 1.99 -1.46 
+2.43 -1.08 2.93 -0.7 3.41 -0.24 3.17 0.21 2.73 0.63 2.3 0.96 1.91 1.3 1.47 1.55 
+1.05 1.78 0.63 1.97 0.22 2.08 -0.15 1.7 -0.45 1.54 -0.7 1.37 -0.89 1.17 -1.05 1.02 
+-1.2 0.82 -1.25 0.66 -1.3 0.48 -11.22 3 -1.98 1.02 -1.13 0.98 -0.32 0.55 -0.2 0.61 
+-0.13 1.58 0.15 1.33 0.46 1.15 0.71 1 0.96 0.8 1.15 0.63 1.31 0.48 1.45 0.26 
+1.54 0.11 2.04 -0.15 1.76 -0.39 1.5 -0.63 1.23 -0.82 0.96 -1.04 0.7 -1.17 0.41 -1.35 
+0.16 -1.43 4.49 0 f*
+2832.31 1899.87 -0.06 1.3 -0.21 1.24 -0.33 1.13 -0.43 1.06 -1.24 1.84 -1.59 1.5 -1.93 1.17 
+-2.21 0.82 -2.41 0.5 -2.56 0.15 -2.97 -0.2 -2.56 -0.56 -2.14 -0.89 -1.74 -1.21 -1.35 -1.5 
+-0.95 -1.73 -0.56 -1.98 -0.2 -2.15 0.13 -1.73 0.34 -1.45 0.55 -1.22 0.71 -1 0.87 -0.82 
+0.98 -0.7 2.15 -1.06 11.24 -2.99 2.37 -1.05 0.84 -0.58 0.67 -0.63 0.5 -0.68 0.35 -0.71 
+0.19 -0.79 0.07 -0.82 -0.11 -1.18 -0.33 -1.13 -0.56 -1.02 -0.86 -0.89 -1.22 -0.74 -1.56 -0.57 
+-1.96 -0.34 -2.39 -0.13 -2.43 0.2 -2.04 0.5 -1.7 0.78 -1.32 1.02 -1.02 1.21 -0.7 1.35 
+-0.41 1.45 -0.13 1.48 -4.49 0 0.21 -2.45 0.65 -2.26 1.09 -2.04 1.52 -1.75 1.97 -1.46 
+2.46 -1.08 2.93 -0.7 3.4 -0.24 3.15 0.21 2.73 0.63 2.32 0.96 1.91 1.3 1.45 1.55 
+1.07 1.78 0.63 1.97 0.22 2.08 -0.15 1.7 -0.45 1.54 -0.7 1.37 -0.89 1.17 -1.07 1.02 
+-1.17 0.82 -1.25 0.66 -1.3 0.48 -11.24 3 -1.95 1.02 -1.13 0.98 -0.32 0.55 -0.2 0.61 
+-0.12 1.58 0.15 1.33 0.46 1.15 0.71 1 0.96 0.8 1.15 0.63 1.3 0.48 1.45 0.26 
+1.54 0.11 2.04 -0.15 1.75 -0.39 1.5 -0.63 1.23 -0.82 0.96 -1.04 0.69 -1.17 0.41 -1.35 
+0.15 -1.43 4.49 0 f*
+2837.54 1886.63 11.4805 3.49609 re
+f*
+2855.77 1910.09 24.2 0 0 -3.99 -19.71 0 0 -11.22 18.97 0 0 -4 ^ 
+0 -11.74 20.46 0 0 -4 -24.95 0 0 34.94 f*
+2885.72 1897.37 4.23 0 0.11 1.7 0.33 1.54 0.52 1.37 0.76 1.17 0.98 0.93 1.2 0.7 
+1.43 0.44 1.67 0.15 1.29 -0.13 1.21 -0.32 1.09 -0.55 0.98 -0.76 0.8 -0.93 0.61 -1.11 
+0.39 -1.28 0.13 -1.41 -0.11 -1.45 -0.37 -1.22 -0.58 -1.02 -0.85 -0.93 -1.08 -0.87 -1.32 -0.91 
+-3.43 -2.08 -2.89 -1.7 -2.37 -1.72 -1.86 -1.73 -1.41 -1.82 -1.05 -1.89 -0.67 -2 -0.37 -2.1 
+-0.11 -2.29 22.7 0 0 4 -17.96 0 0.45 1.54 0.61 1.28 0.8 1.09 1.02 0.98 
+2.73 1.87 3.86 2.23 2.26 1.11 1.84 1.26 1.52 1.34 1.2 1.43 0.87 1.52 0.61 1.52 
+0.35 1.54 0.11 1.52 -0.24 2.06 -0.63 1.87 -1.02 1.67 -1.37 1.41 -1.63 1.15 -1.87 0.85 
+-2.04 0.54 -2.2 0.18 -2.34 -0.18 -2.14 -0.54 -1.91 -0.89 -1.65 -1.26 -1.35 -1.65 -1 -2.02 
+-0.62 -2.39 -0.2 -2.8 f*
+2912.16 1886.63 11.4766 3.49609 re
+f*
+2930.38 1910.09 17.21 0 1.78 -0.15 1.73 -0.45 1.65 -0.74 1.48 -1.04 1.25 -1.35 0.98 -1.62 
+0.63 -1.91 0.24 -2.21 -0.11 -1.43 -0.26 -1.28 -0.48 -1.17 -0.63 -1.06 -0.8 -0.95 -1 -0.87 
+-1.15 -0.76 -1.32 -0.7 1.65 -0.76 1.2 -0.91 0.84 -1.08 0.57 -1.24 0.3 -1.39 0.15 -1.5 
+0.05 -3.36 0.2 -2.37 0.36 -1.65 0.63 -1.12 1.05 -0.85 0 -1 -5.49 0 -0.57 1.52 
+-0.3 1.67 -0.11 2.5 -0.02 4.05 -0.11 1.3 -0.32 1.09 -0.48 0.91 -0.65 0.71 -0.74 0.55 
+-0.85 0.39 -0.91 0.22 -0.93 0.07 -12.22 0 0 -14.98 -4.49 0 0 30.95 ^ 
+0 -11.98 12.22 0 1.17 0.09 1.06 0.26 0.93 0.43 0.8 0.63 0.65 0.83 0.48 1.04 
+0.28 1.24 0.11 1.48 -0.11 1.41 -0.3 1.22 -0.5 1.02 -0.67 0.85 -0.87 0.65 -1.02 0.48 
+-1.17 0.29 -1.34 0.09 -16.21 0 0 3.99 f*
+2959.83 1866.67 28.6914 2.25391 re
+f*
+3019.21 1899.11 -0.7 2.86 -1.02 2.41 -1.3 1.98 -1.58 1.59 -1.89 1.2 -2.12 0.82 -2.43 0.48 
+-2.67 0.15 -1.82 -0.09 -1.71 -0.26 -1.63 -0.43 -1.5 -0.59 -1.41 -0.74 -1.3 -0.89 -1.2 -1.02 
+-1.06 -1.15 -0.95 -1.28 -0.85 -1.39 -0.73 -1.52 -0.61 -1.58 -0.84 -3.5 -0.35 -3.78 0.09 -2.2 
+0.24 -2.04 0.37 -1.91 0.54 -1.75 0.65 -1.63 0.8 -1.5 0.91 -1.37 1.02 -1.21 1.13 -1.07 
+1.22 -0.96 1.32 -0.78 1.39 -0.65 1.48 -0.5 1.54 -0.37 1.61 -0.22 1.67 -0.08 1.8 0.08 
+1.65 0.2 1.52 0.35 1.39 0.48 1.25 0.58 1.13 0.7 1.02 0.78 0.89 0.89 1.48 2.04 
+1.06 2.32 0.67 2.59 0.35 2.73 -4.5 0 -0.46 -2.43 -0.62 -2.04 -0.84 -1.7 -1.07 -1.32 
+-1.28 -1.02 -1.54 -0.7 -1.8 -0.41 -2.11 -0.13 -1.45 0.09 -1.33 0.2 -1.25 0.35 -1.13 0.48 
+-1.05 0.59 -0.93 0.71 -1.61 1.72 -1.22 2.11 -0.84 2.41 -0.5 2.69 -0.17 2.91 0.21 3.19 
+0.67 2.82 1.05 2.43 1.37 2.04 1.69 1.61 1.96 1.17 2.16 0.71 2.37 0.24 1.74 -0.14 
+1.63 -0.36 1.5 -0.61 1.34 -0.84 1.13 -1.08 0.91 -1.29 0.63 -1.47 0.34 -1.7 4.5 0 f*
+3053.91 1899.11 -0.72 2.86 -1.02 2.41 -1.3 1.98 -1.59 1.59 -1.86 1.2 -2.15 0.82 -2.41 0.48 
+-2.69 0.15 -1.82 -0.09 -1.71 -0.26 -1.61 -0.43 -1.52 -0.59 -1.41 -0.74 -1.3 -0.89 -1.17 -1.02 
+-1.08 -1.15 -0.96 -1.28 -0.85 -1.39 -0.73 -1.52 -0.61 -1.58 -0.85 -3.5 -0.35 -3.78 0.09 -2.2 
+0.24 -2.04 0.39 -1.91 0.52 -1.75 0.67 -1.63 0.79 -1.5 0.91 -1.37 1.02 -1.21 1.13 -1.07 
+1.21 -0.96 1.33 -0.78 1.41 -0.65 1.47 -0.5 1.55 -0.37 1.61 -0.22 1.64 -0.08 1.8 0.08 
+1.67 0.2 1.52 0.35 1.37 0.48 1.26 0.58 1.15 0.7 1 0.78 0.91 0.89 1.46 2.04 
+1.06 2.32 0.7 2.59 0.35 2.73 -4.5 0 -0.45 -2.43 -0.65 -2.04 -0.84 -1.7 -1.04 -1.32 
+-1.3 -1.02 -1.54 -0.7 -1.8 -0.41 -2.11 -0.13 -1.43 0.09 -1.35 0.2 -1.23 0.35 -1.15 0.48 
+-1.02 0.59 -0.96 0.71 -1.58 1.72 -1.22 2.11 -0.87 2.41 -0.5 2.69 -0.17 2.91 0.24 3.19 
+0.65 2.82 1.04 2.43 1.39 2.04 1.67 1.61 1.95 1.17 2.2 0.71 2.34 0.24 1.74 -0.14 
+1.65 -0.36 1.5 -0.61 1.33 -0.84 1.15 -1.08 0.89 -1.29 0.65 -1.47 0.35 -1.7 4.49 0 f*
+599.54 2105.34 8.31 0 0 -27.54 1.02 1.45 1.08 1.3 1.15 1.15 1.18 0.98 2.41 1.56 
+2.38 1.08 2.25 0.7 1.98 0.39 2.66 0.21 1.96 -0.09 2 -0.24 1.98 -0.43 1.95 -0.62 
+1.91 -0.83 1.84 -1.02 1.78 -1.26 1.67 -1.5 1.54 -1.71 1.39 -2 1.25 -2.26 1.04 -2.52 
+0.87 -2.82 0.63 -3.1 0.41 -3.43 0.13 -3.73 -0.09 -3.06 -0.26 -2.95 -0.43 -2.85 -0.61 -2.71 
+-0.79 -2.56 -0.98 -2.39 -1.17 -2.23 -1.34 -2.04 -1.52 -1.85 -1.74 -1.65 -1.91 -1.43 -2.11 -1.17 
+-2.32 -0.96 -2.52 -0.69 -2.72 -0.43 -2.91 -0.13 -1.67 0.06 -1.84 0.28 -1.99 0.52 -2.02 0.82 
+-2.04 1.15 -1.97 1.54 -1.87 1.97 -1.67 2.47 0 -6.23 -8.31 0 0 24.94 ^ 
+0.09 -2.02 0.24 -1.95 0.41 -1.89 0.52 -1.82 0.67 -1.74 0.78 -1.63 0.91 -1.52 1 -1.39 
+1.09 -1.28 1.17 -1.15 1.26 -0.97 1.3 -0.83 1.35 -0.67 1.41 -0.48 1.43 -0.3 1.45 -0.11 
+1.8 0.13 1.67 0.39 1.59 0.61 1.48 0.8 1.34 0.99 1.24 1.2 1.13 1.32 1 1.43 
+0.89 1.56 0.79 1.67 1.19 3.5 0.72 3.61 0.26 3.58 -0.11 2.54 -0.32 2.37 -0.52 2.19 
+-0.67 2 -0.83 1.84 -0.96 1.65 -1.06 1.49 -1.13 1.32 -1.2 1.15 -1.24 1.02 -2.49 1.52 
+-2.41 0.89 -2.15 0.3 -1.54 -0.11 -1.5 -0.33 -1.43 -0.52 -1.39 -0.7 -1.32 -0.89 -1.24 -1.06 
+-1.17 -1.21 -1.06 -1.37 -0.98 -1.5 -0.87 -1.65 -0.76 -1.76 -0.63 -1.87 -0.5 -1.95 -0.39 -2.06 
+-0.21 -2.15 -0.09 -2.21 -8.31 0 0 47.83 f*
+653.6 2105.34 5.21 0 3.99 -6.1 3.43 -6.18 2.87 -6.23 2.32 -6.18 1.78 -6.08 1.26 -5.93 
+0.74 -5.71 0.24 -5.42 -0.26 -5.43 -0.8 -5.75 -1.3 -5.93 -1.84 -6.03 -2.34 -6.02 -2.86 -5.94 
+-3.37 -5.73 -1.86 -2.75 -1.97 -2.7 -5.21 0 3.13 5.47 2.71 5.49 2.32 5.55 1.91 5.64 
+1.52 5.77 1.07 5.92 0.65 6.1 0.21 6.32 -0.19 6.16 -0.59 5.99 -1.02 5.91 -1.45 5.86 
+-1.87 5.86 -2.32 5.9 -2.8 6.01 -3.28 6.14 f*
+712.35 2105.34 57.18 0 0 -8.31 -23.89 0 0 -64.46 -9.38 0 ^ -23.91 0 
+0 8.31 f*
+778.383 2094.95 8.3125 10.3945 re
+f*
+778.383 2032.57 8.3125 52.4961 re
+f*
+799.7 2105.34 8.31 0 0 -27.54 1.02 1.45 1.08 1.3 1.13 1.15 1.2 0.98 2.41 1.56 
+2.39 1.08 2.25 0.7 1.97 0.39 2.67 0.21 1.95 -0.09 2 -0.24 1.97 -0.43 1.96 -0.62 
+1.91 -0.83 1.85 -1.02 1.78 -1.26 1.67 -1.5 1.54 -1.71 1.39 -2 1.25 -2.26 1.05 -2.52 
+0.87 -2.82 0.63 -3.1 0.41 -3.43 0.13 -3.73 -0.09 -3.06 -0.26 -2.95 -0.43 -2.85 -0.61 -2.71 
+-0.8 -2.56 -0.95 -2.39 -1.17 -2.23 -1.35 -2.04 -1.52 -1.85 -1.73 -1.65 -1.91 -1.43 -2.11 -1.17 
+-2.32 -0.96 -2.52 -0.69 -2.71 -0.43 -2.91 -0.13 -1.67 0.06 -1.86 0.28 -1.98 0.52 -2.02 0.82 
+-2.04 1.15 -1.98 1.54 -1.86 1.97 -1.68 2.47 0 -6.23 -8.31 0 0 24.94 ^ 
+0.09 -2.02 0.24 -1.95 0.41 -1.89 0.52 -1.82 0.67 -1.74 0.79 -1.63 0.91 -1.52 1 -1.39 
+1.09 -1.28 1.18 -1.15 1.25 -0.97 1.3 -0.83 1.34 -0.67 1.41 -0.48 1.43 -0.3 1.45 -0.11 
+1.8 0.13 1.67 0.39 1.58 0.61 1.46 0.8 1.36 0.99 1.24 1.2 1.13 1.32 1 1.43 
+0.89 1.56 0.78 1.67 1.2 3.5 0.71 3.61 0.26 3.58 -0.13 2.54 -0.3 2.37 -0.52 2.19 
+-0.67 2 -0.82 1.84 -0.96 1.65 -1.07 1.49 -1.13 1.32 -1.19 1.15 -1.23 1.02 -2.5 1.52 
+-2.41 0.89 -2.15 0.3 -1.54 -0.11 -1.5 -0.33 -1.45 -0.52 -1.37 -0.7 -1.33 -0.89 -1.23 -1.06 
+-1.17 -1.21 -1.07 -1.37 -0.98 -1.5 -0.87 -1.65 -0.76 -1.76 -0.63 -1.87 -0.52 -1.95 -0.37 -2.06 
+-0.22 -2.15 -0.09 -2.21 -8.31 0 0 47.83 f*
+900.02 2048.68 -0.57 -2.43 -0.72 -2.26 -0.84 -2.06 -1 -1.87 -1.13 -1.72 -1.23 -1.52 -1.37 -1.37 
+-1.46 -1.21 -1.56 -1.04 -1.65 -0.89 -1.71 -0.73 -1.82 -0.59 -1.87 -0.45 -1.93 -0.32 -4.01 -0.24 
+-2.73 0.21 -2.59 0.46 -2.43 0.67 -2.25 0.91 -2.11 1.11 -1.91 1.32 -1.76 1.52 -1.56 1.71 
+-1.41 1.89 -1.21 2.08 -1.04 2.24 -0.85 2.38 -0.67 2.54 -0.48 2.71 -0.29 2.82 -0.11 2.96 
+0.18 4.27 0.52 3.84 0.8 3.46 1.09 3.08 1.3 2.71 1.52 2.36 1.7 2.06 1.82 1.74 
+1.91 1.48 2 1.21 2.04 0.98 2.02 0.74 2.02 0.56 1.95 0.35 3.58 0.28 -0.52 -7.79 
+-2.26 -0.24 -2.43 -0.67 -2.48 -1.18 -2.38 -1.69 -1.11 -1.04 -1.04 -1.17 -0.98 -1.32 -0.85 -1.48 
+-0.74 -1.61 -0.61 -1.76 -0.43 -1.91 -0.28 -2.06 30.66 0 -0.11 2.15 -0.33 1.97 -0.52 1.8 
+-0.67 1.63 -0.82 1.48 -0.96 1.32 -1.04 1.17 -1.15 1.02 -2.43 1.63 -2.5 1.11 -2.41 0.63 
+-2.15 0.22 0.52 7.79 1.8 -0.07 1.87 -0.21 1.93 -0.37 1.93 -0.57 1.93 -0.76 1.89 -1.02 
+1.84 -1.26 1.76 -1.54 1.64 -1.82 1.5 -2.15 1.37 -2.52 1.15 -2.85 0.96 -3.25 0.71 -3.67 
+0.43 -4.08 0.15 -4.54 -38.97 0 0.17 -2.73 0.58 -2.97 1.05 -3.04 0.71 -1.48 0.84 -1.41 
+1 -1.34 1.17 -1.25 1.3 -1.11 1.5 -0.97 1.65 -0.78 1.85 -0.61 2.04 -0.37 2.23 -0.13 
+2.28 0.2 2.11 0.57 1.96 0.91 1.8 1.25 1.61 1.56 1.46 1.87 1.25 2.15 1.07 2.41 
+8.31 0 f*
+914.06 2099.11 8.31 0 0 -14.04 8.34 0 0 -6.75 ^ 0 -37.44 0.24 -1.49 
+0.64 -1.05 0.95 -0.65 1.17 -0.32 1.33 -0.09 1.39 0.09 2.63 0.39 0 -6.75 -3.06 -0.72 
+-2 -0.24 -2.23 -0.08 -1.89 0.25 -1.75 0.44 -1.59 0.61 -1.39 0.78 -1.15 0.97 -0.84 1.17 
+-0.55 1.41 -0.19 1.63 0 41.08 -7.27 0 0 6.75 ^ 0 14.04 f*
+11.1111 w
+255 0 r3
+2616.43 1736.2 102.9 0 S
+255 0 r6
+2616.43 1787 102.9 0 S
+255 0 r5
+2616.43 1837.83 102.9 0 S
+128 0 255 rG
+2616.43 1888.63 102.9 0 S
+K
+2722.77 1754.28 3.99 0 0 -13.21 1 1.32 1.13 1.02 1.15 0.76 1.15 0.52 2.02 0.52 
+1.28 0.08 1.91 -0.15 1.89 -0.5 1.8 -0.89 1.65 -1.32 1.41 -1.79 1.11 -2.3 0.71 -2.84 
+0.26 -3.43 -0.18 -2.89 -0.5 -2.67 -0.85 -2.38 -1.2 -2.04 -1.56 -1.67 -0.93 -0.7 -1.02 -0.57 
+-1.11 -0.45 -1.2 -0.32 -1.3 -0.21 -1.41 -0.07 -1.7 0.17 -1.91 0.63 -1 0.57 -0.93 0.74 
+-0.89 0.95 -0.81 1.17 0 -3 -3.99 0 0 11.98 ^ 0.16 -1.91 0.46 -1.78 
+0.7 -1.61 0.91 -1.41 1.08 -1.15 1.22 -0.87 1.32 -0.56 1.39 -0.2 1.67 0.26 1.48 0.67 
+1.23 1.04 1.02 1.34 0.8 1.55 0.57 1.66 0.35 1.74 0.13 1.71 -0.22 2.36 -0.57 2 
+-0.84 1.69 -1.06 1.35 -1.17 1.04 -1.19 0.72 -1.15 0.43 -1.04 0.15 -1.46 -0.21 -1.34 -0.59 
+-1.23 -0.93 -1.07 -1.24 -0.89 -1.49 -0.68 -1.74 -0.41 -1.93 -0.16 -2.11 -3.99 0 0 22.96 f*
+2769.42 1736.07 -3.99 0 -0.18 1.02 -0.34 0.99 -0.5 0.92 -0.67 0.84 -0.83 0.7 -0.99 0.54 
+-1.15 0.35 -1.33 0.13 -1.58 -0.2 -1.41 -0.56 -1.2 -0.91 -0.97 -1.2 -0.8 -1.5 -0.57 -1.76 
+-0.34 -1.95 -0.11 -2.17 0.13 -2.13 0.37 -1.87 0.61 -1.62 0.82 -1.37 1.05 -1.06 1.23 -0.78 
+1.43 -0.48 1.61 -0.17 1.48 0.17 1.23 0.46 1.05 0.7 0.82 0.87 0.63 0.98 0.43 1.04 
+0.26 1.06 0.08 0.98 4 0 -0.17 -1.93 -0.5 -1.84 -0.8 -1.7 -1.15 -1.49 -1.47 -1.24 
+-1.8 -0.96 -2.12 -0.61 -2.46 -0.21 -1.45 0.08 -1.33 0.21 -1.21 0.39 -1.11 0.5 -1 0.63 
+-0.89 0.76 -1.5 1.78 -1.12 2.13 -0.79 2.34 -0.45 2.54 -0.13 2.6 0.11 1.8 0.28 1.63 
+0.39 1.5 0.5 1.34 0.63 1.22 0.7 1.08 1.61 1.79 1.78 1.32 1.82 0.89 1.8 0.5 
+1.61 0.15 1.76 -0.11 1.69 -0.39 1.61 -0.63 1.43 -0.95 1.26 -1.26 1.02 -1.61 0.76 -1.95 
+0.46 -2.32 f*
+2793.38 1736.07 -3.99 0 -0.18 1.02 -0.35 0.99 -0.5 0.92 -0.67 0.84 -0.82 0.7 -1 0.54 
+-1.15 0.35 -1.32 0.13 -1.58 -0.2 -1.41 -0.56 -1.2 -0.91 -1 -1.2 -0.78 -1.5 -0.57 -1.76 
+-0.35 -1.95 -0.11 -2.17 0.13 -2.13 0.37 -1.87 0.61 -1.62 0.83 -1.37 1.04 -1.06 1.24 -0.78 
+1.43 -0.48 1.59 -0.17 1.47 0.17 1.26 0.46 1.04 0.7 0.83 0.87 0.63 0.98 0.43 1.04 
+0.26 1.06 0.07 0.98 3.99 0 -0.16 -1.93 -0.5 -1.84 -0.8 -1.7 -1.15 -1.49 -1.48 -1.24 
+-1.8 -0.96 -2.13 -0.61 -2.47 -0.21 -1.43 0.08 -1.32 0.21 -1.21 0.39 -1.11 0.5 -1 0.63 
+-0.89 0.76 -1.5 1.78 -1.13 2.13 -0.78 2.34 -0.45 2.54 -0.13 2.6 0.11 1.8 0.28 1.63 
+0.39 1.5 0.5 1.34 0.63 1.22 0.7 1.08 1.61 1.79 1.75 1.32 1.84 0.89 1.79 0.5 
+1.63 0.15 1.76 -0.11 1.7 -0.39 1.58 -0.63 1.46 -0.95 1.25 -1.26 1.02 -1.61 0.76 -1.95 
+0.45 -2.32 f*
+2796.88 1730.82 11.4766 3.49609 re
+f*
+2833.31 1736.07 -4 0 -0.17 1.02 -0.34 0.99 -0.5 0.92 -0.67 0.84 -0.83 0.7 -1 0.54 
+-1.15 0.35 -1.33 0.13 -1.58 -0.2 -1.41 -0.56 -1.19 -0.91 -1 -1.2 -0.79 -1.5 -0.57 -1.76 
+-0.34 -1.95 -0.11 -2.17 0.13 -2.13 0.37 -1.87 0.61 -1.62 0.82 -1.37 1.04 -1.06 1.23 -0.78 
+1.43 -0.48 1.58 -0.17 1.48 0.17 1.26 0.46 1.04 0.7 0.82 0.87 0.61 0.98 0.46 1.04 
+0.24 1.06 0.08 0.98 4 0 -0.15 -1.93 -0.5 -1.84 -0.82 -1.7 -1.13 -1.49 -1.47 -1.24 
+-1.8 -0.96 -2.14 -0.61 -2.46 -0.21 -1.43 0.08 -1.33 0.21 -1.21 0.39 -1.11 0.5 -0.99 0.63 
+-0.89 0.76 -1.52 1.78 -1.12 2.13 -0.76 2.34 -0.46 2.54 -0.15 2.6 0.13 1.8 0.26 1.63 
+0.41 1.5 0.5 1.34 0.61 1.22 0.71 1.08 1.59 1.79 1.78 1.32 1.84 0.89 1.78 0.5 
+1.63 0.15 1.76 -0.11 1.69 -0.39 1.58 -0.63 1.46 -0.95 1.26 -1.26 1.02 -1.61 0.76 -1.95 
+0.46 -2.32 f*
+2851.52 1737.57 4.26 0 -0.33 2.04 -0.7 1.7 -1.04 1.34 -1.26 1.04 -1.41 0.74 -1.52 0.5 
+-1.52 0.29 -1.48 0.08 -1.78 -0.13 -1.74 -0.37 -1.65 -0.63 -1.47 -0.89 -1.26 -1.13 -0.98 -1.37 
+-0.62 -1.63 -0.22 -1.84 0.09 -1.15 0.24 -1.05 0.43 -0.95 0.61 -0.84 0.8 -0.74 0.97 -0.67 
+1.2 -0.56 1.39 -0.52 6.25 -1.5 1.52 -0.48 1.2 -0.7 0.75 -1 0.2 -0.61 0.07 -0.71 
+-0.08 -0.8 -0.29 -0.76 -0.48 -0.67 -0.65 -0.59 -0.85 -0.5 -1.02 -0.35 -1.22 -0.24 -1.41 -0.09 
+-1.58 0.11 -1.29 0.26 -0.97 0.43 -0.74 0.59 -0.54 0.71 -0.39 0.85 -0.48 2.04 -4.23 0 
+0.24 -1.8 0.43 -1.67 0.67 -1.47 0.96 -1.29 1.3 -1.04 1.73 -0.8 2.17 -0.48 2.71 -0.17 
+1.87 0.13 1.84 0.39 1.72 0.63 1.56 0.91 1.32 1.15 1.02 1.41 0.68 1.67 0.24 1.93 
+-0.13 1.33 -0.39 1.17 -0.63 1.04 -0.85 0.89 -1.11 0.8 -1.32 0.67 -1.54 0.59 -1.78 0.5 
+-4.73 1 -1.78 0.8 -0.97 0.88 -0.42 0.89 -0.08 0.93 0.11 0.89 0.33 0.76 0.52 0.63 
+0.67 0.54 0.8 0.42 0.93 0.28 2.13 0.23 1.22 -0.08 0.99 -0.22 0.85 -0.37 0.65 -0.48 
+0.52 -0.59 0.37 -0.69 0.39 -1.56 4.26 0 -4.26 0 f*
+2862.26 1744.55 3.49 0 0 -3.75 1.93 2.19 1.82 1.37 0.93 0.43 0.95 0.3 2.09 0.2 
+1.8 -0.24 1.67 -0.54 0.8 -0.48 0.83 -0.68 0.8 -0.89 0.84 -1.17 1.98 1.99 0.95 0.7 
+0.93 0.52 1.89 0.63 1.97 0.15 1.24 -0.08 1.25 -0.29 1.22 -0.5 1.13 -0.7 0.96 -0.89 
+0.76 -1.13 0.5 -1.32 0.17 -1.59 0 -19.47 -4 0 0 17.97 -0.11 0.91 -0.3 0.85 
+-0.48 0.76 -0.61 0.68 -0.7 0.54 -0.74 0.41 -0.79 0.26 -0.78 0.08 -1.04 -0.11 -1.05 -0.37 
+-0.99 -0.57 -0.93 -0.74 -0.8 -0.89 -0.61 -1 -0.41 -1.13 -0.13 -1.2 0 -16.47 -3.99 0 
+0 17.97 -0.13 0.91 -0.3 0.85 -0.48 0.76 -0.63 0.68 -0.72 0.54 -0.8 0.41 -0.85 0.26 
+-0.84 0.08 -0.89 -0.11 -0.95 -0.33 -0.96 -0.54 -0.91 -0.69 -0.8 -0.89 -0.66 -1.02 -0.41 -1.15 
+-0.15 -1.26 0 -16.47 -3.99 0 0 25.22 f*
+2912.41 1753.28 2.74 0 0 -33.95 -4.23 0 0 24.22 -7.49 0 0 3 3.02 0.34 
+1.37 0.29 1.24 0.5 1.08 0.76 0.93 1.13 0.79 1.58 0.56 2.13 f*
+2927.39 1730.82 11.4766 3.49609 re
+f*
+2955.08 1753.28 2.75 0 0 -33.95 -4.25 0 0 24.22 -7.49 0 0 3 3.02 0.34 
+1.37 0.29 1.24 0.5 1.09 0.76 0.95 1.13 0.76 1.58 0.57 2.13 f*
+2752.45 1793.75 -0.71 2.84 -1 2.41 -1.3 2 -1.61 1.56 -1.87 1.19 -2.14 0.82 -2.41 0.48 
+-2.67 0.17 -1.82 -0.11 -1.72 -0.26 -1.63 -0.43 -1.52 -0.59 -1.39 -0.73 -1.31 -0.89 -1.19 -1.02 
+-1.06 -1.15 -0.98 -1.28 -0.84 -1.39 -0.72 -1.49 -0.61 -1.61 -0.85 -3.47 -0.34 -3.8 0.09 -2.17 
+0.21 -2.04 0.39 -1.91 0.54 -1.78 0.66 -1.63 0.78 -1.5 0.91 -1.34 1.05 -1.24 1.11 -1.06 
+1.24 -0.93 1.32 -0.8 1.39 -0.65 1.47 -0.5 1.54 -0.37 1.61 -0.22 1.67 -0.07 1.8 0.07 
+1.65 0.22 1.52 0.34 1.39 0.46 1.26 0.59 1.13 0.7 1.02 0.8 0.89 0.89 1.47 2.02 
+1.07 2.34 0.67 2.56 0.34 2.74 -4.49 0 -0.46 -2.43 -0.63 -2.04 -0.84 -1.67 -1.06 -1.34 
+-1.28 -1 -1.54 -0.7 -1.82 -0.41 -2.08 -0.13 -1.45 0.06 -1.35 0.21 -1.24 0.35 -1.13 0.45 
+-1.04 0.61 -0.93 0.7 -1.61 1.72 -1.21 2.11 -0.85 2.43 -0.52 2.67 -0.16 2.91 0.22 3.19 
+0.65 2.82 1.05 2.43 1.39 2.04 1.7 1.61 1.95 1.17 2.17 0.71 2.37 0.26 1.73 -0.13 
+1.63 -0.39 1.5 -0.61 1.34 -0.85 1.13 -1.06 0.91 -1.28 0.63 -1.5 0.35 -1.67 4.49 0 f*
+2787.13 1793.75 -0.7 2.84 -1.02 2.41 -1.3 2 -1.59 1.56 -1.86 1.19 -2.15 0.82 -2.43 0.48 
+-2.66 0.17 -1.82 -0.11 -1.71 -0.26 -1.63 -0.43 -1.5 -0.59 -1.41 -0.73 -1.3 -0.89 -1.2 -1.02 
+-1.06 -1.15 -0.96 -1.28 -0.84 -1.39 -0.74 -1.49 -0.61 -1.61 -0.85 -3.47 -0.34 -3.8 0.08 -2.17 
+0.24 -2.04 0.39 -1.91 0.52 -1.78 0.65 -1.63 0.8 -1.5 0.91 -1.34 1.02 -1.24 1.13 -1.06 
+1.21 -0.93 1.32 -0.8 1.39 -0.65 1.48 -0.5 1.56 -0.37 1.61 -0.22 1.65 -0.07 1.8 0.07 
+1.65 0.22 1.52 0.34 1.39 0.46 1.26 0.59 1.13 0.7 1.02 0.8 0.91 0.89 1.45 2.02 
+1.07 2.34 0.7 2.56 0.32 2.74 -4.49 0 -0.46 -2.43 -0.63 -2.04 -0.85 -1.67 -1.04 -1.34 
+-1.31 -1 -1.54 -0.7 -1.8 -0.41 -2.11 -0.13 -1.46 0.06 -1.32 0.21 -1.24 0.35 -1.15 0.45 
+-1.04 0.61 -0.93 0.7 -1.58 1.72 -1.24 2.11 -0.85 2.43 -0.5 2.67 -0.18 2.91 0.24 3.19 
+0.66 2.82 1.04 2.43 1.37 2.04 1.7 1.61 1.95 1.17 2.17 0.71 2.37 0.26 1.73 -0.13 
+1.63 -0.39 1.52 -0.61 1.32 -0.85 1.13 -1.06 0.91 -1.28 0.65 -1.5 0.33 -1.67 4.49 0 f*
+2818.84 1794.49 -0.07 1.32 -0.22 1.21 -0.33 1.15 -0.43 1.04 -1.21 1.85 -1.61 1.5 -1.93 1.17 
+-2.21 0.82 -2.41 0.5 -2.56 0.17 -2.97 -0.19 -2.56 -0.56 -2.15 -0.91 -1.74 -1.22 -1.34 -1.48 
+-0.95 -1.76 -0.56 -1.95 -0.2 -2.17 0.13 -1.71 0.35 -1.46 0.54 -1.21 0.72 -1.02 0.87 -0.82 
+0.98 -0.68 2.15 -1.08 11.24 -3 2.36 -1.02 0.85 -0.59 0.69 -0.62 0.5 -0.7 0.33 -0.72 
+0.2 -0.78 0.07 -0.8 -0.11 -1.2 -0.32 -1.11 -0.57 -1.02 -0.87 -0.89 -1.21 -0.74 -1.56 -0.56 
+-1.95 -0.37 -2.39 -0.11 -2.43 0.17 -2.04 0.5 -1.7 0.8 -1.32 1.02 -1.02 1.19 -0.7 1.37 
+-0.41 1.43 -0.13 1.5 -4.5 0 0.22 -2.45 0.65 -2.28 1.09 -2.02 1.52 -1.78 1.97 -1.43 
+2.46 -1.11 2.93 -0.67 3.41 -0.24 3.14 0.22 2.76 0.61 2.3 0.98 1.91 1.29 1.46 1.56 
+1.06 1.78 0.63 1.96 0.21 2.11 -0.15 1.69 -0.46 1.52 -0.69 1.37 -0.89 1.2 -1.07 0.99 
+-1.17 0.85 -1.26 0.65 -1.3 0.46 -11.24 3 -1.95 1.02 -1.13 0.98 -0.32 0.55 -0.2 0.63 
+-0.13 1.59 0.16 1.32 0.46 1.15 0.71 0.97 0.95 0.83 1.15 0.63 1.3 0.46 1.45 0.29 
+1.55 0.09 2.04 -0.13 1.75 -0.39 1.5 -0.63 1.24 -0.85 0.95 -1.02 0.7 -1.2 0.42 -1.32 
+0.15 -1.46 4.5 0 f*
+2825.57 1804.73 6.25 0 10.22 -30.45 10.24 30.45 6.23 0 0 -34.95 -4.23 0 0 29.19 
+-9.98 -29.19 -4.75 0 -9.72 29.19 0 -29.19 -4.25 0 0 34.95 f*
+2878.73 1803.73 2.99 0 0 -21.96 5.23 0 0 -4 ^ 0 -7.99 -4.25 0 
+^ -14.21 0 0 4 ^ 0 14.71 -10.48 -14.71 -3.73 0 0 0.5 
+15.47 21.46 f*
+2752.45 1844.68 -0.71 2.87 -1 2.41 -1.3 1.98 -1.61 1.58 -1.87 1.2 -2.14 0.82 -2.41 0.48 
+-2.67 0.15 -1.82 -0.08 -1.72 -0.26 -1.63 -0.43 -1.52 -0.59 -1.39 -0.75 -1.31 -0.87 -1.19 -1.04 
+-1.06 -1.15 -0.98 -1.28 -0.84 -1.39 -0.72 -1.49 -0.61 -1.61 -0.85 -3.47 -0.34 -3.8 0.09 -2.17 
+0.21 -2.04 0.39 -1.91 0.54 -1.78 0.66 -1.63 0.78 -1.5 0.91 -1.34 1.05 -1.21 1.11 -1.09 
+1.24 -0.93 1.32 -0.78 1.39 -0.65 1.47 -0.52 1.54 -0.37 1.61 -0.22 1.67 -0.06 1.8 0.06 
+1.65 0.22 1.52 0.34 1.39 0.46 1.26 0.59 1.13 0.7 1.02 0.8 0.89 0.89 1.47 2.04 
+1.07 2.32 0.67 2.56 0.34 2.74 -4.49 0 -0.46 -2.41 -0.63 -2.04 -0.84 -1.7 -1.06 -1.32 
+-1.28 -1.02 -1.54 -0.7 -1.82 -0.41 -2.08 -0.13 -1.45 0.06 -1.35 0.21 -1.24 0.35 -1.13 0.48 
+-1.04 0.58 -0.93 0.7 -1.61 1.74 -1.21 2.08 -0.85 2.43 -0.52 2.7 -0.16 2.88 0.22 3.19 
+0.65 2.84 1.05 2.43 1.39 2.02 1.7 1.63 1.95 1.17 2.17 0.72 2.37 0.24 1.73 -0.13 
+1.63 -0.37 1.5 -0.63 1.34 -0.85 1.13 -1.06 0.91 -1.28 0.63 -1.5 0.35 -1.67 4.49 0 f*
+2759.7 1855.67 24.2 0 0 -4 -19.7 0 0 -11.24 18.95 0 0 -3.99 ^ 
+0 -11.72 20.44 0 0 -3.99 -24.93 0 0 34.95 f*
+2816.08 1845.42 -0.07 1.32 -0.2 1.21 -0.32 1.15 -0.46 1.04 -1.21 1.85 -1.61 1.52 -1.93 1.15 
+-2.2 0.84 -2.41 0.48 -2.58 0.17 -2.98 -0.2 -2.54 -0.56 -2.14 -0.91 -1.76 -1.2 -1.34 -1.5 
+-0.96 -1.73 -0.56 -1.98 -0.2 -2.17 0.13 -1.71 0.35 -1.46 0.57 -1.21 0.71 -1 0.87 -0.83 
+0.96 -0.7 2.17 -1.08 11.21 -3 2.37 -1.02 0.87 -0.59 0.67 -0.62 0.5 -0.67 0.35 -0.74 
+0.19 -0.76 0.05 -0.82 -0.09 -1.2 -0.33 -1.11 -0.58 -1.02 -0.87 -0.89 -1.2 -0.74 -1.56 -0.57 
+-1.95 -0.34 -2.41 -0.13 -2.41 0.17 -2.04 0.52 -1.7 0.78 -1.34 1.02 -1 1.22 -0.7 1.34 
+-0.41 1.43 -0.13 1.5 -4.49 0 0.21 -2.45 0.63 -2.26 1.09 -2.04 1.54 -1.76 1.97 -1.45 
+2.46 -1.09 2.91 -0.7 3.41 -0.24 3.17 0.22 2.73 0.61 2.32 0.98 1.89 1.28 1.47 1.57 
+1.07 1.78 0.63 1.96 0.2 2.11 -0.15 1.69 -0.43 1.55 -0.7 1.34 -0.89 1.2 -1.07 1.02 
+-1.17 0.83 -1.28 0.65 -1.3 0.46 -11.22 3 -1.95 1.04 -1.13 0.96 -0.32 0.54 -0.21 0.63 
+-0.13 1.59 0.17 1.32 0.46 1.15 0.71 0.97 0.93 0.83 1.15 0.63 1.33 0.46 1.43 0.28 
+1.57 0.09 2.02 -0.13 1.76 -0.39 1.5 -0.63 1.24 -0.85 0.97 -1.02 0.69 -1.2 0.41 -1.32 
+0.13 -1.46 4.49 0 f*
+2822.83 1855.67 6.23 0 10.25 -30.45 10.22 30.45 6.25 0 0 -34.95 -4.26 0 0 29.19 
+-9.98 -29.19 -4.73 0 -9.74 29.19 0 -29.19 -4.23 0 0 34.95 f*
+2872.98 1854.67 2.75 0 0 -33.95 -4.25 0 0 24.2 -7.48 0 0 3 3.01 0.37 
+1.37 0.28 1.23 0.48 1.09 0.76 0.95 1.13 0.76 1.61 0.57 2.13 f*
+2887.96 1832.21 11.4766 3.49219 re
+f*
+2933.62 1844.68 -0.72 2.87 -1 2.41 -1.3 1.98 -1.59 1.58 -1.89 1.2 -2.15 0.82 -2.41 0.48 
+-2.67 0.15 -1.82 -0.08 -1.72 -0.26 -1.62 -0.43 -1.52 -0.59 -1.39 -0.75 -1.3 -0.87 -1.2 -1.04 
+-1.07 -1.15 -0.98 -1.28 -0.82 -1.39 -0.74 -1.49 -0.61 -1.61 -0.84 -3.47 -0.35 -3.8 0.09 -2.17 
+0.24 -2.04 0.37 -1.91 0.55 -1.78 0.65 -1.63 0.8 -1.5 0.91 -1.34 1.02 -1.21 1.13 -1.09 
+1.21 -0.93 1.32 -0.78 1.39 -0.65 1.48 -0.52 1.54 -0.37 1.61 -0.22 1.67 -0.06 1.8 0.06 
+1.65 0.22 1.52 0.34 1.39 0.46 1.25 0.59 1.13 0.7 1.02 0.8 0.89 0.89 1.48 2.04 
+1.06 2.32 0.67 2.56 0.35 2.74 -4.5 0 -0.45 -2.41 -0.63 -2.04 -0.85 -1.7 -1.06 -1.32 
+-1.29 -1.02 -1.54 -0.7 -1.82 -0.41 -2.09 -0.13 -1.45 0.06 -1.34 0.21 -1.24 0.35 -1.12 0.48 
+-1.04 0.58 -0.93 0.7 -1.61 1.74 -1.22 2.08 -0.84 2.43 -0.5 2.7 -0.17 2.88 0.22 3.19 
+0.65 2.84 1.04 2.43 1.39 2.02 1.7 1.63 1.96 1.17 2.17 0.72 2.36 0.24 1.74 -0.13 
+1.63 -0.37 1.5 -0.63 1.34 -0.85 1.13 -1.06 0.91 -1.28 0.63 -1.5 0.34 -1.67 4.5 0 f*
+2949.85 1855.67 5.73 0 12.24 -34.95 -4.99 0 -3.5 10.24 -13.74 0 -3.49 -10.24 -4.99 0 
+10.98 29.95 4.49 0 -5.73 -15.73 11.21 0 -5.49 15.73 -4.49 0 1.76 5 f*
+2972.05 1855.67 6.25 0 10.22 -30.45 10.21 30.45 6.25 0 0 -34.95 -4.25 0 0 29.19 
+-9.98 -29.19 -4.73 0 -9.72 29.19 0 -29.19 -4.25 0 0 34.95 f*
+3013.48 1854.67 17.71 0 0 -4 -14.21 0 -1.26 -9.74 1.24 0.89 1.45 0.72 1.74 0.48 
+2.06 0.17 1.76 -0.15 1.83 -0.46 1.8 -0.79 1.67 -1.17 1.47 -1.56 1.17 -1.97 0.43 -1.17 
+0.33 -1.29 0.2 -1.41 0.09 -1.52 -0.2 -2.39 -0.57 -2.25 -0.91 -2.09 -1.3 -1.82 -1.65 -1.52 
+-2.02 -1.15 -2.36 -0.74 -2.74 -0.26 -2.52 0.17 -2.14 0.57 -1.8 0.87 -1.47 1.15 -1.2 1.41 
+-0.93 1.61 -0.67 1.78 -0.48 1.93 4.23 0 0.43 -1.26 0.56 -1.13 0.65 -0.98 0.79 -0.82 
+0.91 -0.68 1.02 -0.48 1.13 -0.3 1.25 -0.11 1.7 0.13 1.52 0.39 1.32 0.63 1.11 0.91 
+0.89 1.15 0.65 1.41 0.42 1.69 0.13 1.93 -0.11 1.41 -0.33 1.41 -0.54 1.34 -0.8 1.22 
+-1.02 1.06 -1.3 0.8 -1.56 0.54 -1.83 0.18 -1.82 -0.18 -1.5 -0.58 -1.48 -1.02 -1.7 -1.45 
+-3.73 0 2.49 18.47 f*
+2754.71 1893.62 -14.74 0 0 -3.99 10.48 0 0 -2.24 -0.2 -1.69 -0.57 -1.7 -0.91 -1.58 
+-1.26 -1.43 -1.54 -1.21 -1.84 -0.91 -2.09 -0.56 -2.32 -0.16 -1.59 0.09 -1.47 0.21 -1.35 0.37 
+-1.23 0.5 -1.13 0.63 -1.02 0.73 -0.91 0.85 -0.82 0.95 -1.3 2.17 -0.93 2.45 -0.54 2.67 
+-0.18 2.84 0.24 3.04 0.71 2.73 1.15 2.39 1.52 2.02 1.82 1.63 2.13 1.19 2.36 0.74 
+2.54 0.24 1.24 -0.07 1.41 -0.26 1.48 -0.46 1.47 -0.67 1.39 -0.98 1.21 -1.26 0.93 -1.59 
+0.59 -1.95 4.75 0 -0.35 1.47 -0.69 1.76 -1.06 1.84 -1.5 1.84 -1.93 1.67 -1.15 0.73 
+-1.28 0.63 -1.43 0.52 -1.54 0.41 -1.7 0.24 -1.84 0.09 -1.93 -0.09 -1.82 -0.26 -1.72 -0.43 
+-1.61 -0.59 -1.52 -0.74 -1.39 -0.87 -1.28 -1.02 -1.15 -1.16 -1.04 -1.26 -0.91 -1.39 -0.78 -1.48 
+-0.65 -1.56 -0.5 -1.67 -0.37 -1.76 -0.24 -1.82 -0.06 -1.89 0.09 -2.34 0.24 -2.17 0.43 -2 
+0.57 -1.84 0.7 -1.67 0.84 -1.52 0.98 -1.34 1.08 -1.2 1.2 -1.07 1.3 -0.89 1.41 -0.76 
+1.47 -0.61 1.56 -0.45 1.65 -0.34 3.45 -0.26 2.58 0.26 1.39 0.34 1.41 0.52 1.43 0.71 
+1.43 0.89 1.39 1.15 1.34 1.37 1 -4.26 3 0 0 18.47 f*
+2762.93 1875.15 4.49609 34.9414 re
+f*
+2800.37 1899.87 -0.06 1.3 -0.21 1.24 -0.33 1.13 -0.43 1.06 -1.22 1.84 -1.61 1.5 -1.93 1.17 
+-2.21 0.82 -2.41 0.5 -2.56 0.15 -2.97 -0.2 -2.56 -0.56 -2.14 -0.89 -1.74 -1.21 -1.34 -1.5 
+-0.96 -1.73 -0.56 -1.98 -0.2 -2.15 0.13 -1.73 0.35 -1.45 0.54 -1.22 0.74 -1 0.84 -0.82 
+0.98 -0.7 2.17 -1.06 11.21 -2.99 2.37 -1.05 0.87 -0.58 0.67 -0.63 0.5 -0.68 0.33 -0.71 
+0.2 -0.79 0.07 -0.82 -0.11 -1.18 -0.3 -1.13 -0.58 -1.02 -0.87 -0.89 -1.22 -0.74 -1.56 -0.57 
+-1.96 -0.34 -2.39 -0.13 -2.43 0.2 -2.04 0.5 -1.67 0.78 -1.34 1.02 -1 1.21 -0.72 1.35 
+-0.39 1.45 -0.13 1.48 -4.49 0 0.19 -2.45 0.65 -2.26 1.08 -2.04 1.52 -1.75 1.99 -1.46 
+2.43 -1.08 2.93 -0.7 3.41 -0.24 3.17 0.21 2.73 0.63 2.3 0.96 1.91 1.3 1.47 1.55 
+1.05 1.78 0.63 1.97 0.22 2.08 -0.15 1.7 -0.45 1.54 -0.7 1.37 -0.89 1.17 -1.05 1.02 
+-1.2 0.82 -1.25 0.66 -1.3 0.48 -11.22 3 -1.98 1.02 -1.13 0.98 -0.32 0.55 -0.2 0.61 
+-0.13 1.58 0.15 1.33 0.46 1.15 0.71 1 0.96 0.8 1.15 0.63 1.31 0.48 1.45 0.26 
+1.54 0.11 2.04 -0.15 1.76 -0.39 1.5 -0.63 1.23 -0.82 0.96 -1.04 0.7 -1.17 0.41 -1.35 
+0.16 -1.43 4.49 0 f*
+2832.31 1899.87 -0.06 1.3 -0.21 1.24 -0.33 1.13 -0.43 1.06 -1.24 1.84 -1.59 1.5 -1.93 1.17 
+-2.21 0.82 -2.41 0.5 -2.56 0.15 -2.97 -0.2 -2.56 -0.56 -2.14 -0.89 -1.74 -1.21 -1.35 -1.5 
+-0.95 -1.73 -0.56 -1.98 -0.2 -2.15 0.13 -1.73 0.34 -1.45 0.55 -1.22 0.71 -1 0.87 -0.82 
+0.98 -0.7 2.15 -1.06 11.24 -2.99 2.37 -1.05 0.84 -0.58 0.67 -0.63 0.5 -0.68 0.35 -0.71 
+0.19 -0.79 0.07 -0.82 -0.11 -1.18 -0.33 -1.13 -0.56 -1.02 -0.86 -0.89 -1.22 -0.74 -1.56 -0.57 
+-1.96 -0.34 -2.39 -0.13 -2.43 0.2 -2.04 0.5 -1.7 0.78 -1.32 1.02 -1.02 1.21 -0.7 1.35 
+-0.41 1.45 -0.13 1.48 -4.49 0 0.21 -2.45 0.65 -2.26 1.09 -2.04 1.52 -1.75 1.97 -1.46 
+2.46 -1.08 2.93 -0.7 3.4 -0.24 3.15 0.21 2.73 0.63 2.32 0.96 1.91 1.3 1.45 1.55 
+1.07 1.78 0.63 1.97 0.22 2.08 -0.15 1.7 -0.45 1.54 -0.7 1.37 -0.89 1.17 -1.07 1.02 
+-1.17 0.82 -1.25 0.66 -1.3 0.48 -11.24 3 -1.95 1.02 -1.13 0.98 -0.32 0.55 -0.2 0.61 
+-0.12 1.58 0.15 1.33 0.46 1.15 0.71 1 0.96 0.8 1.15 0.63 1.3 0.48 1.45 0.26 
+1.54 0.11 2.04 -0.15 1.75 -0.39 1.5 -0.63 1.23 -0.82 0.96 -1.04 0.69 -1.17 0.41 -1.35 
+0.15 -1.43 4.49 0 f*
+2837.54 1886.63 11.4805 3.49609 re
+f*
+2855.77 1910.09 24.2 0 0 -3.99 -19.71 0 0 -11.22 18.97 0 0 -4 ^ 
+0 -11.74 20.46 0 0 -4 -24.95 0 0 34.94 f*
+2885.72 1897.37 4.23 0 0.11 1.7 0.33 1.54 0.52 1.37 0.76 1.17 0.98 0.93 1.2 0.7 
+1.43 0.44 1.67 0.15 1.29 -0.13 1.21 -0.32 1.09 -0.55 0.98 -0.76 0.8 -0.93 0.61 -1.11 
+0.39 -1.28 0.13 -1.41 -0.11 -1.45 -0.37 -1.22 -0.58 -1.02 -0.85 -0.93 -1.08 -0.87 -1.32 -0.91 
+-3.43 -2.08 -2.89 -1.7 -2.37 -1.72 -1.86 -1.73 -1.41 -1.82 -1.05 -1.89 -0.67 -2 -0.37 -2.1 
+-0.11 -2.29 22.7 0 0 4 -17.96 0 0.45 1.54 0.61 1.28 0.8 1.09 1.02 0.98 
+2.73 1.87 3.86 2.23 2.26 1.11 1.84 1.26 1.52 1.34 1.2 1.43 0.87 1.52 0.61 1.52 
+0.35 1.54 0.11 1.52 -0.24 2.06 -0.63 1.87 -1.02 1.67 -1.37 1.41 -1.63 1.15 -1.87 0.85 
+-2.04 0.54 -2.2 0.18 -2.34 -0.18 -2.14 -0.54 -1.91 -0.89 -1.65 -1.26 -1.35 -1.65 -1 -2.02 
+-0.62 -2.39 -0.2 -2.8 f*
+2912.16 1886.63 11.4766 3.49609 re
+f*
+2930.38 1910.09 17.21 0 1.78 -0.15 1.73 -0.45 1.65 -0.74 1.48 -1.04 1.25 -1.35 0.98 -1.62 
+0.63 -1.91 0.24 -2.21 -0.11 -1.43 -0.26 -1.28 -0.48 -1.17 -0.63 -1.06 -0.8 -0.95 -1 -0.87 
+-1.15 -0.76 -1.32 -0.7 1.65 -0.76 1.2 -0.91 0.84 -1.08 0.57 -1.24 0.3 -1.39 0.15 -1.5 
+0.05 -3.36 0.2 -2.37 0.36 -1.65 0.63 -1.12 1.05 -0.85 0 -1 -5.49 0 -0.57 1.52 
+-0.3 1.67 -0.11 2.5 -0.02 4.05 -0.11 1.3 -0.32 1.09 -0.48 0.91 -0.65 0.71 -0.74 0.55 
+-0.85 0.39 -0.91 0.22 -0.93 0.07 -12.22 0 0 -14.98 -4.49 0 0 30.95 ^ 
+0 -11.98 12.22 0 1.17 0.09 1.06 0.26 0.93 0.43 0.8 0.63 0.65 0.83 0.48 1.04 
+0.28 1.24 0.11 1.48 -0.11 1.41 -0.3 1.22 -0.5 1.02 -0.67 0.85 -0.87 0.65 -1.02 0.48 
+-1.17 0.29 -1.34 0.09 -16.21 0 0 3.99 f*
+2959.83 1866.67 28.6914 2.25391 re
+f*
+3019.21 1899.11 -0.7 2.86 -1.02 2.41 -1.3 1.98 -1.58 1.59 -1.89 1.2 -2.12 0.82 -2.43 0.48 
+-2.67 0.15 -1.82 -0.09 -1.71 -0.26 -1.63 -0.43 -1.5 -0.59 -1.41 -0.74 -1.3 -0.89 -1.2 -1.02 
+-1.06 -1.15 -0.95 -1.28 -0.85 -1.39 -0.73 -1.52 -0.61 -1.58 -0.84 -3.5 -0.35 -3.78 0.09 -2.2 
+0.24 -2.04 0.37 -1.91 0.54 -1.75 0.65 -1.63 0.8 -1.5 0.91 -1.37 1.02 -1.21 1.13 -1.07 
+1.22 -0.96 1.32 -0.78 1.39 -0.65 1.48 -0.5 1.54 -0.37 1.61 -0.22 1.67 -0.08 1.8 0.08 
+1.65 0.2 1.52 0.35 1.39 0.48 1.25 0.58 1.13 0.7 1.02 0.78 0.89 0.89 1.48 2.04 
+1.06 2.32 0.67 2.59 0.35 2.73 -4.5 0 -0.46 -2.43 -0.62 -2.04 -0.84 -1.7 -1.07 -1.32 
+-1.28 -1.02 -1.54 -0.7 -1.8 -0.41 -2.11 -0.13 -1.45 0.09 -1.33 0.2 -1.25 0.35 -1.13 0.48 
+-1.05 0.59 -0.93 0.71 -1.61 1.72 -1.22 2.11 -0.84 2.41 -0.5 2.69 -0.17 2.91 0.21 3.19 
+0.67 2.82 1.05 2.43 1.37 2.04 1.69 1.61 1.96 1.17 2.16 0.71 2.37 0.24 1.74 -0.14 
+1.63 -0.36 1.5 -0.61 1.34 -0.84 1.13 -1.08 0.91 -1.29 0.63 -1.47 0.34 -1.7 4.5 0 f*
+3053.91 1899.11 -0.72 2.86 -1.02 2.41 -1.3 1.98 -1.59 1.59 -1.86 1.2 -2.15 0.82 -2.41 0.48 
+-2.69 0.15 -1.82 -0.09 -1.71 -0.26 -1.61 -0.43 -1.52 -0.59 -1.41 -0.74 -1.3 -0.89 -1.17 -1.02 
+-1.08 -1.15 -0.96 -1.28 -0.85 -1.39 -0.73 -1.52 -0.61 -1.58 -0.85 -3.5 -0.35 -3.78 0.09 -2.2 
+0.24 -2.04 0.39 -1.91 0.52 -1.75 0.67 -1.63 0.79 -1.5 0.91 -1.37 1.02 -1.21 1.13 -1.07 
+1.21 -0.96 1.33 -0.78 1.41 -0.65 1.47 -0.5 1.55 -0.37 1.61 -0.22 1.64 -0.08 1.8 0.08 
+1.67 0.2 1.52 0.35 1.37 0.48 1.26 0.58 1.15 0.7 1 0.78 0.91 0.89 1.46 2.04 
+1.06 2.32 0.7 2.59 0.35 2.73 -4.5 0 -0.45 -2.43 -0.65 -2.04 -0.84 -1.7 -1.04 -1.32 
+-1.3 -1.02 -1.54 -0.7 -1.8 -0.41 -2.11 -0.13 -1.43 0.09 -1.35 0.2 -1.23 0.35 -1.15 0.48 
+-1.02 0.59 -0.96 0.71 -1.58 1.72 -1.22 2.11 -0.87 2.41 -0.5 2.69 -0.17 2.91 0.24 3.19 
+0.65 2.82 1.04 2.43 1.39 2.04 1.67 1.61 1.95 1.17 2.2 0.71 2.34 0.24 1.74 -0.14 
+1.65 -0.36 1.5 -0.61 1.33 -0.84 1.15 -1.08 0.89 -1.29 0.65 -1.47 0.35 -1.7 4.49 0 f*
+599.54 2105.34 8.31 0 0 -27.54 1.02 1.45 1.08 1.3 1.15 1.15 1.18 0.98 2.41 1.56 
+2.38 1.08 2.25 0.7 1.98 0.39 2.66 0.21 1.96 -0.09 2 -0.24 1.98 -0.43 1.95 -0.62 
+1.91 -0.83 1.84 -1.02 1.78 -1.26 1.67 -1.5 1.54 -1.71 1.39 -2 1.25 -2.26 1.04 -2.52 
+0.87 -2.82 0.63 -3.1 0.41 -3.43 0.13 -3.73 -0.09 -3.06 -0.26 -2.95 -0.43 -2.85 -0.61 -2.71 
+-0.79 -2.56 -0.98 -2.39 -1.17 -2.23 -1.34 -2.04 -1.52 -1.85 -1.74 -1.65 -1.91 -1.43 -2.11 -1.17 
+-2.32 -0.96 -2.52 -0.69 -2.72 -0.43 -2.91 -0.13 -1.67 0.06 -1.84 0.28 -1.99 0.52 -2.02 0.82 
+-2.04 1.15 -1.97 1.54 -1.87 1.97 -1.67 2.47 0 -6.23 -8.31 0 0 24.94 ^ 
+0.09 -2.02 0.24 -1.95 0.41 -1.89 0.52 -1.82 0.67 -1.74 0.78 -1.63 0.91 -1.52 1 -1.39 
+1.09 -1.28 1.17 -1.15 1.26 -0.97 1.3 -0.83 1.35 -0.67 1.41 -0.48 1.43 -0.3 1.45 -0.11 
+1.8 0.13 1.67 0.39 1.59 0.61 1.48 0.8 1.34 0.99 1.24 1.2 1.13 1.32 1 1.43 
+0.89 1.56 0.79 1.67 1.19 3.5 0.72 3.61 0.26 3.58 -0.11 2.54 -0.32 2.37 -0.52 2.19 
+-0.67 2 -0.83 1.84 -0.96 1.65 -1.06 1.49 -1.13 1.32 -1.2 1.15 -1.24 1.02 -2.49 1.52 
+-2.41 0.89 -2.15 0.3 -1.54 -0.11 -1.5 -0.33 -1.43 -0.52 -1.39 -0.7 -1.32 -0.89 -1.24 -1.06 
+-1.17 -1.21 -1.06 -1.37 -0.98 -1.5 -0.87 -1.65 -0.76 -1.76 -0.63 -1.87 -0.5 -1.95 -0.39 -2.06 
+-0.21 -2.15 -0.09 -2.21 -8.31 0 0 47.83 f*
+653.6 2105.34 5.21 0 3.99 -6.1 3.43 -6.18 2.87 -6.23 2.32 -6.18 1.78 -6.08 1.26 -5.93 
+0.74 -5.71 0.24 -5.42 -0.26 -5.43 -0.8 -5.75 -1.3 -5.93 -1.84 -6.03 -2.34 -6.02 -2.86 -5.94 
+-3.37 -5.73 -1.86 -2.75 -1.97 -2.7 -5.21 0 3.13 5.47 2.71 5.49 2.32 5.55 1.91 5.64 
+1.52 5.77 1.07 5.92 0.65 6.1 0.21 6.32 -0.19 6.16 -0.59 5.99 -1.02 5.91 -1.45 5.86 
+-1.87 5.86 -2.32 5.9 -2.8 6.01 -3.28 6.14 f*
+712.35 2105.34 57.18 0 0 -8.31 -23.89 0 0 -64.46 -9.38 0 ^ -23.91 0 
+0 8.31 f*
+778.383 2094.95 8.3125 10.3945 re
+f*
+778.383 2032.57 8.3125 52.4961 re
+f*
+799.7 2105.34 8.31 0 0 -27.54 1.02 1.45 1.08 1.3 1.13 1.15 1.2 0.98 2.41 1.56 
+2.39 1.08 2.25 0.7 1.97 0.39 2.67 0.21 1.95 -0.09 2 -0.24 1.97 -0.43 1.96 -0.62 
+1.91 -0.83 1.85 -1.02 1.78 -1.26 1.67 -1.5 1.54 -1.71 1.39 -2 1.25 -2.26 1.05 -2.52 
+0.87 -2.82 0.63 -3.1 0.41 -3.43 0.13 -3.73 -0.09 -3.06 -0.26 -2.95 -0.43 -2.85 -0.61 -2.71 
+-0.8 -2.56 -0.95 -2.39 -1.17 -2.23 -1.35 -2.04 -1.52 -1.85 -1.73 -1.65 -1.91 -1.43 -2.11 -1.17 
+-2.32 -0.96 -2.52 -0.69 -2.71 -0.43 -2.91 -0.13 -1.67 0.06 -1.86 0.28 -1.98 0.52 -2.02 0.82 
+-2.04 1.15 -1.98 1.54 -1.86 1.97 -1.68 2.47 0 -6.23 -8.31 0 0 24.94 ^ 
+0.09 -2.02 0.24 -1.95 0.41 -1.89 0.52 -1.82 0.67 -1.74 0.79 -1.63 0.91 -1.52 1 -1.39 
+1.09 -1.28 1.18 -1.15 1.25 -0.97 1.3 -0.83 1.34 -0.67 1.41 -0.48 1.43 -0.3 1.45 -0.11 
+1.8 0.13 1.67 0.39 1.58 0.61 1.46 0.8 1.36 0.99 1.24 1.2 1.13 1.32 1 1.43 
+0.89 1.56 0.78 1.67 1.2 3.5 0.71 3.61 0.26 3.58 -0.13 2.54 -0.3 2.37 -0.52 2.19 
+-0.67 2 -0.82 1.84 -0.96 1.65 -1.07 1.49 -1.13 1.32 -1.19 1.15 -1.23 1.02 -2.5 1.52 
+-2.41 0.89 -2.15 0.3 -1.54 -0.11 -1.5 -0.33 -1.45 -0.52 -1.37 -0.7 -1.33 -0.89 -1.23 -1.06 
+-1.17 -1.21 -1.07 -1.37 -0.98 -1.5 -0.87 -1.65 -0.76 -1.76 -0.63 -1.87 -0.52 -1.95 -0.37 -2.06 
+-0.22 -2.15 -0.09 -2.21 -8.31 0 0 47.83 f*
+900.02 2048.68 -0.57 -2.43 -0.72 -2.26 -0.84 -2.06 -1 -1.87 -1.13 -1.72 -1.23 -1.52 -1.37 -1.37 
+-1.46 -1.21 -1.56 -1.04 -1.65 -0.89 -1.71 -0.73 -1.82 -0.59 -1.87 -0.45 -1.93 -0.32 -4.01 -0.24 
+-2.73 0.21 -2.59 0.46 -2.43 0.67 -2.25 0.91 -2.11 1.11 -1.91 1.32 -1.76 1.52 -1.56 1.71 
+-1.41 1.89 -1.21 2.08 -1.04 2.24 -0.85 2.38 -0.67 2.54 -0.48 2.71 -0.29 2.82 -0.11 2.96 
+0.18 4.27 0.52 3.84 0.8 3.46 1.09 3.08 1.3 2.71 1.52 2.36 1.7 2.06 1.82 1.74 
+1.91 1.48 2 1.21 2.04 0.98 2.02 0.74 2.02 0.56 1.95 0.35 3.58 0.28 -0.52 -7.79 
+-2.26 -0.24 -2.43 -0.67 -2.48 -1.18 -2.38 -1.69 -1.11 -1.04 -1.04 -1.17 -0.98 -1.32 -0.85 -1.48 
+-0.74 -1.61 -0.61 -1.76 -0.43 -1.91 -0.28 -2.06 30.66 0 -0.11 2.15 -0.33 1.97 -0.52 1.8 
+-0.67 1.63 -0.82 1.48 -0.96 1.32 -1.04 1.17 -1.15 1.02 -2.43 1.63 -2.5 1.11 -2.41 0.63 
+-2.15 0.22 0.52 7.79 1.8 -0.07 1.87 -0.21 1.93 -0.37 1.93 -0.57 1.93 -0.76 1.89 -1.02 
+1.84 -1.26 1.76 -1.54 1.64 -1.82 1.5 -2.15 1.37 -2.52 1.15 -2.85 0.96 -3.25 0.71 -3.67 
+0.43 -4.08 0.15 -4.54 -38.97 0 0.17 -2.73 0.58 -2.97 1.05 -3.04 0.71 -1.48 0.84 -1.41 
+1 -1.34 1.17 -1.25 1.3 -1.11 1.5 -0.97 1.65 -0.78 1.85 -0.61 2.04 -0.37 2.23 -0.13 
+2.28 0.2 2.11 0.57 1.96 0.91 1.8 1.25 1.61 1.56 1.46 1.87 1.25 2.15 1.07 2.41 
+8.31 0 f*
+914.06 2099.11 8.31 0 0 -14.04 8.34 0 0 -6.75 ^ 0 -37.44 0.24 -1.49 
+0.64 -1.05 0.95 -0.65 1.17 -0.32 1.33 -0.09 1.39 0.09 2.63 0.39 0 -6.75 -3.06 -0.72 
+-2 -0.24 -2.23 -0.08 -1.89 0.25 -1.75 0.44 -1.59 0.61 -1.39 0.78 -1.15 0.97 -0.84 1.17 
+-0.55 1.41 -0.19 1.63 0 41.08 -7.27 0 0 6.75 ^ 0 14.04 f*
+868.21 3692.75 -0.17 3.54 -0.55 3.32 -0.89 3.06 -1.2 2.84 -1.52 2.61 -1.78 2.37 -2.04 2.14 
+-2.28 1.91 -2.5 1.67 -2.71 1.46 -2.89 1.23 -3.04 1 -3.19 0.79 -3.32 0.56 -3.41 0.32 
+-3.49 0.11 -4.14 -0.12 -3.86 -0.39 -3.6 -0.66 -3.3 -0.86 -3.04 -1.11 -2.76 -1.32 -2.48 -1.54 
+-2.21 -1.71 -1.96 -1.93 -1.66 -2.11 -1.43 -2.26 -1.15 -2.43 -0.89 -2.58 -0.65 -2.74 -0.37 -2.84 
+-0.13 -2.97 0.09 -2.41 0.24 -2.23 0.41 -2.05 0.55 -1.87 0.69 -1.71 0.81 -1.56 0.91 -1.43 
+1.02 -1.29 2.32 -2.23 2.63 -1.85 2.84 -1.56 2.97 -1.35 30.27 -8.07 3.47 -1.32 2.89 -1.43 
+2.32 -1.58 1.82 -1.7 1.35 -1.84 0.91 -1.95 0.52 -2.09 0.17 -2.19 -0.07 -1.63 -0.22 -1.58 
+-0.34 -1.54 -0.52 -1.48 -0.67 -1.39 -0.89 -1.35 -1.07 -1.24 -1.28 -1.15 -1.5 -1.06 -1.73 -0.93 
+-1.98 -0.82 -2.23 -0.7 -2.5 -0.54 -2.78 -0.41 -3.08 -0.24 -3.36 -0.09 -3.41 0.11 -3.12 0.37 
+-2.89 0.58 -2.62 0.79 -2.39 0.98 -2.15 1.15 -1.91 1.3 -1.69 1.46 -1.48 1.56 -1.24 1.69 
+-1.04 1.78 -0.84 1.85 -0.66 1.93 -0.46 1.97 -0.25 2 -0.09 2.02 -12.11 0 0.15 -3.36 
+0.41 -3.25 0.74 -3.11 0.99 -3 1.31 -2.82 1.61 -2.67 1.9 -2.48 2.22 -2.28 2.52 -2.06 
+2.84 -1.84 3.13 -1.61 3.47 -1.32 3.78 -1.09 4.1 -0.78 4.43 -0.48 4.75 -0.15 4.38 0.15 
+4.13 0.43 3.84 0.7 3.54 0.96 3.26 1.19 2.99 1.43 2.69 1.63 2.41 1.82 2.13 2.02 
+1.84 2.17 1.56 2.34 1.28 2.46 1 2.61 0.69 2.69 0.43 2.78 0.13 2.88 -0.11 2.32 
+-0.3 2.24 -0.5 2.13 -0.7 2 -0.85 1.89 -1.02 1.78 -1.13 1.65 -1.29 1.54 -1.37 1.43 
+-1.48 1.3 -3.19 2.23 -3.38 1.75 -3.52 1.26 -30.27 8.07 -2.95 1.43 -2.32 1.32 -1.76 1.3 
+-1.3 1.32 -0.87 1.47 -0.54 1.67 -0.28 1.96 -0.07 2.3 0.11 1.84 0.33 1.71 0.49 1.63 
+0.72 1.5 0.89 1.39 1.05 1.26 1.21 1.16 1.34 1.04 1.47 0.91 1.61 0.8 1.71 0.67 
+1.82 0.56 3.91 0.76 4.19 0.24 2.8 -0.09 2.65 -0.28 2.47 -0.46 2.28 -0.61 2.11 -0.76 
+1.93 -0.93 1.75 -1.06 1.58 -1.19 1.39 -1.32 1.2 -1.43 1.04 -1.56 0.82 -1.65 0.67 -1.75 
+0.45 -1.83 0.29 -1.91 0.11 -2 12.09 0 f*
+885.7 3694.1 10.09 0 0 -10.77 2.8 3.45 2.84 2.8 2.86 2.23 2.85 1.7 2.82 1.21 
+2.75 0.82 2.69 0.43 2.58 0.13 1.91 -0.07 1.91 -0.24 1.91 -0.37 1.88 -0.52 1.84 -0.67 
+1.79 -0.79 1.71 -0.93 1.58 -1.04 1.5 -1.15 1.34 -1.28 1.17 -1.39 1.02 -1.47 0.82 -1.59 
+0.61 -1.69 0.39 -1.76 0.13 -1.87 0 -53.12 -10.76 0 0 48.42 -0.09 1.47 -0.29 1.35 
+-0.41 1.23 -0.56 1.15 -0.71 1.02 -0.8 0.96 -1.93 1.56 -2.19 1.22 -2.39 0.82 -2.41 0.5 
+-2.34 0.15 -1.65 -0.09 -1.65 -0.28 -1.63 -0.46 -1.61 -0.62 -1.56 -0.81 -1.5 -0.95 -1.43 -1.13 
+-1.32 -1.28 -1.25 -1.43 -1.11 -1.58 -0.99 -1.72 -0.85 -1.84 -0.67 -1.97 -0.5 -2.11 -0.32 -2.24 
+-0.11 -2.34 0 -39 -10.76 0 0 67.93 f*
+983.92 3696.12 3.11 -0.2 3.04 -0.57 2.95 -0.91 2.82 -1.26 2.71 -1.58 2.54 -1.87 2.39 -2.14 
+2.21 -2.39 2.02 -2.65 1.78 -2.84 1.58 -3.06 1.3 -3.23 1.06 -3.39 0.78 -3.51 0.48 -3.65 
+0.15 -3.73 -0.15 -3.73 -0.48 -3.63 -0.78 -3.5 -1.06 -3.34 -1.3 -3.19 -1.58 -2.99 -1.78 -2.78 
+-2.02 -2.59 -2.21 -2.34 -2.39 -2.08 -2.54 -1.8 -2.71 -1.52 -2.82 -1.21 -2.95 -0.89 -3.04 -0.56 
+-3.11 -0.18 -3.12 0.18 -3.04 0.56 -2.95 0.89 -2.82 1.21 -2.71 1.52 -2.54 1.8 -2.39 2.08 
+-2.21 2.34 -2.02 2.59 -1.78 2.78 -1.58 2.99 -1.3 3.19 -1.06 3.34 -0.78 3.5 -0.48 3.63 
+-0.15 3.73 11.44 0 0.09 -2.63 0.24 -2.56 0.43 -2.49 0.59 -2.39 0.74 -2.28 0.89 -2.17 
+1.04 -2.02 1.2 -1.89 1.33 -1.71 1.47 -1.52 1.61 -1.34 1.74 -1.13 1.84 -0.89 2 -0.67 
+2.08 -0.42 2.23 -0.13 2.21 0.13 2.08 0.42 2 0.67 1.84 0.89 1.74 1.13 1.61 1.34 
+1.48 1.52 1.32 1.71 1.2 1.89 1.04 2.02 0.89 2.17 0.74 2.28 0.59 2.39 0.43 2.49 
+0.24 2.56 0.09 2.63 -0.09 2.62 -0.24 2.58 -0.43 2.52 -0.59 2.43 -0.74 2.32 -0.89 2.23 
+-1.04 2.08 -1.2 1.93 -1.32 1.78 -1.48 1.61 -1.61 1.39 -1.74 1.17 -1.84 0.95 -2 0.7 
+-2.08 0.43 -2.21 0.13 -2.23 -0.13 -2.08 -0.43 -2 -0.7 -1.84 -0.95 -1.74 -1.17 -1.61 -1.39 
+-1.47 -1.61 -1.33 -1.78 -1.2 -1.93 -1.04 -2.08 -0.89 -2.23 -0.74 -2.32 -0.59 -2.43 -0.43 -2.52 
+-0.24 -2.58 -0.09 -2.62 -11.44 0 0.15 3.73 0.48 3.65 0.78 3.51 1.06 3.39 1.3 3.23 
+1.58 3.06 1.78 2.84 2.02 2.65 2.21 2.39 2.39 2.14 2.54 1.87 2.71 1.58 2.82 1.26 
+2.95 0.91 3.04 0.57 3.13 0.2 f*
+1021.57 3694.1 12.11 0 13.45 -51.79 13.46 51.79 12.11 0 13.46 -51.79 13.45 51.79 12.09 0 
+-19.48 -67.93 -12.11 0 -14.13 51.11 -12.79 -51.11 -12.11 0 -19.51 67.93 f*
+1234.79 3690.73 -0.85 4.02 -1.06 3.69 -1.26 3.41 -1.47 3.11 -1.65 2.8 -1.87 2.54 -2.04 2.25 
+-2.24 2 -2.43 1.71 -2.61 1.5 -2.8 1.21 -2.99 1 -3.17 0.76 -3.34 0.54 -3.51 0.3 
+-3.7 0.11 -4.92 -0.24 -4.62 -0.71 -4.36 -1.15 -4.08 -1.58 -3.77 -2.02 -3.52 -2.39 -3.2 -2.75 
+-2.88 -3.1 -2.61 -3.45 -2.28 -3.75 -1.96 -4.04 -1.62 -4.32 -1.33 -4.56 -0.98 -4.82 -0.63 -5.01 
+-0.3 -5.21 0.22 -5.86 0.65 -5.51 1.04 -5.14 1.41 -4.78 1.78 -4.4 2.13 -4.02 2.46 -3.66 
+2.75 -3.28 3.06 -2.89 3.29 -2.54 3.54 -2.13 3.78 -1.75 3.97 -1.37 4.17 -0.98 4.34 -0.58 
+4.46 -0.2 4.84 0.2 4.47 0.56 4.11 0.91 3.73 1.26 3.39 1.59 3.06 1.86 2.73 2.15 
+2.43 2.38 2.11 2.65 1.84 2.87 1.56 3.04 1.31 3.23 1.04 3.39 0.8 3.52 0.56 3.64 
+0.35 3.76 -12.11 0 -0.54 -3.41 -0.7 -3.14 -0.79 -2.86 -0.93 -2.62 -1.06 -2.39 -1.2 -2.15 
+-1.34 -1.93 -1.5 -1.67 -1.67 -1.48 -1.82 -1.25 -1.97 -1.04 -2.17 -0.82 -2.34 -0.65 -2.54 -0.46 
+-2.73 -0.26 -2.91 -0.09 -3.91 0.19 -3.6 0.57 -3.34 0.93 -3.06 1.26 -2.8 1.61 -2.54 1.89 
+-2.29 2.2 -2.02 2.45 -1.76 2.71 -1.52 2.96 -1.28 3.14 -1.05 3.37 -0.78 3.53 -0.57 3.71 
+-0.34 3.85 -0.11 3.96 0.15 4.43 0.46 4.19 0.73 3.93 1.02 3.67 1.28 3.43 1.55 3.14 
+1.75 2.87 1.98 2.6 2.16 2.32 2.37 2.02 2.56 1.73 2.71 1.43 2.87 1.13 2.99 0.8 
+3.12 0.5 3.23 0.15 2.37 -0.09 2.32 -0.26 2.24 -0.41 2.16 -0.58 2.06 -0.76 1.98 -0.91 
+1.87 -1.07 1.73 -1.21 1.61 -1.37 1.46 -1.52 1.3 -1.65 1.13 -1.8 0.96 -1.93 0.78 -2.09 
+0.57 -2.19 0.35 -2.34 12.11 0 f*
+1277.84 3696.12 3.12 -0.2 3.04 -0.57 2.93 -0.91 2.84 -1.26 2.7 -1.58 2.55 -1.87 2.39 -2.14 
+2.19 -2.39 2.02 -2.65 1.8 -2.84 1.56 -3.06 1.33 -3.23 1.06 -3.39 0.76 -3.51 0.48 -3.65 
+0.17 -3.73 -0.17 -3.73 -0.48 -3.63 -0.76 -3.5 -1.06 -3.34 -1.33 -3.19 -1.56 -2.99 -1.8 -2.78 
+-2.02 -2.59 -2.19 -2.34 -2.39 -2.08 -2.55 -1.8 -2.7 -1.52 -2.84 -1.21 -2.93 -0.89 -3.04 -0.56 
+-3.12 -0.18 -3.13 0.18 -3.04 0.56 -2.93 0.89 -2.84 1.21 -2.69 1.52 -2.56 1.8 -2.39 2.08 
+-2.19 2.34 -2.02 2.59 -1.8 2.78 -1.56 2.99 -1.32 3.19 -1.07 3.34 -0.75 3.5 -0.48 3.63 
+-0.18 3.73 11.44 0 0.09 -2.63 0.26 -2.56 0.41 -2.49 0.59 -2.39 0.74 -2.28 0.89 -2.17 
+1.07 -2.02 1.17 -1.89 1.35 -1.71 1.45 -1.52 1.61 -1.34 1.74 -1.13 1.87 -0.89 1.97 -0.67 
+2.11 -0.42 2.21 -0.13 2.21 0.13 2.11 0.42 1.98 0.67 1.86 0.89 1.74 1.13 1.61 1.34 
+1.46 1.52 1.34 1.71 1.17 1.89 1.06 2.02 0.89 2.17 0.74 2.28 0.59 2.39 0.41 2.49 
+0.26 2.56 0.09 2.63 -0.09 2.62 -0.26 2.58 -0.41 2.52 -0.59 2.43 -0.74 2.32 -0.89 2.23 
+-1.06 2.08 -1.17 1.93 -1.34 1.78 -1.46 1.61 -1.61 1.39 -1.74 1.17 -1.86 0.95 -1.98 0.7 
+-2.11 0.43 -2.21 0.13 -2.21 -0.13 -2.11 -0.43 -1.97 -0.7 -1.87 -0.95 -1.74 -1.17 -1.61 -1.39 
+-1.45 -1.61 -1.35 -1.78 -1.17 -1.93 -1.07 -2.08 -0.89 -2.23 -0.74 -2.32 -0.59 -2.43 -0.41 -2.52 
+-0.26 -2.58 -0.09 -2.62 -11.44 0 0.18 3.73 0.48 3.65 0.75 3.51 1.07 3.39 1.32 3.23 
+1.56 3.06 1.8 2.84 2.02 2.65 2.19 2.39 2.39 2.14 2.56 1.87 2.69 1.58 2.84 1.26 
+2.93 0.91 3.04 0.57 3.13 0.2 f*
+1316.19 3694.1 12.79 0 18.14 -53.8 18.17 53.8 12.79 0 -24.22 -67.93 -13.45 0 -24.2 67.93 f*
+1443.99 3647.03 -0.74 -3.17 -0.93 -2.91 -1.11 -2.66 -1.28 -2.43 -1.46 -2.19 -1.61 -2 -1.76 -1.75 
+-1.89 -1.55 -2.02 -1.36 -2.13 -1.15 -2.26 -0.95 -2.32 -0.76 -2.43 -0.59 -2.5 -0.41 -2.56 -0.24 
+-2.62 -0.09 -3.56 0.29 -3.34 0.59 -3.15 0.89 -2.91 1.15 -2.71 1.45 -2.48 1.71 -2.28 1.98 
+-2.04 2.21 -1.8 2.43 -1.59 2.69 -1.33 2.89 -1.11 3.1 -0.86 3.3 -0.64 3.47 -0.36 3.66 
+-0.13 3.84 0.24 5.52 0.65 4.97 1.04 4.47 1.41 3.97 1.69 3.51 1.95 3.06 2.17 2.67 
+2.37 2.26 2.49 1.91 2.56 1.56 2.65 1.26 2.62 0.97 2.61 0.7 2.52 0.48 2.41 0.26 
+2.23 0.09 -0.67 -10.09 -2.93 -0.28 -1.57 -0.37 -1.61 -0.52 -1.58 -0.68 -1.61 -0.84 -1.56 -1 
+-1.52 -1.17 -1.43 -1.37 -1.35 -1.52 -1.25 -1.71 -1.09 -1.89 -0.95 -2.08 -0.79 -2.26 -0.58 -2.47 
+-0.37 -2.69 39.69 0 -0.15 2.8 -0.41 2.54 -0.67 2.35 -0.87 2.11 -1.07 1.91 -1.23 1.71 
+-1.37 1.5 -1.48 1.32 -1.54 1.15 -1.61 0.95 -1.61 0.81 -1.62 0.63 -3.13 0.83 -2.75 0.26 
+0.67 10.09 2.32 -0.09 2.43 -0.26 2.47 -0.48 2.5 -0.73 2.49 -1 2.48 -1.3 2.36 -1.63 
+2.28 -1.99 2.13 -2.37 1.95 -2.78 1.76 -3.23 1.5 -3.71 1.23 -4.21 0.91 -4.73 0.56 -5.3 
+0.21 -5.86 -50.45 0 0.24 -3.54 0.76 -3.84 0.58 -1.97 0.76 -1.95 0.93 -1.91 1.08 -1.84 
+1.3 -1.73 1.5 -1.61 1.7 -1.45 1.93 -1.24 2.14 -1.04 2.39 -0.76 2.63 -0.48 2.91 -0.17 
+2.93 0.24 2.74 0.74 2.52 1.17 2.32 1.63 2.11 2.04 1.87 2.41 1.62 2.78 1.39 3.13 
+10.77 0 f*
+1460.11 3694.1 9.43 0 0 -12.79 2.11 2.95 1.99 2.54 1.91 2.17 1.82 1.82 1.73 1.49 
+1.63 1.22 1.56 0.91 1.46 0.7 1.39 0.45 1.29 0.26 1.21 0.11 1.11 -0.05 2 -0.43 
+1.67 -0.69 0 -10.09 -2.78 -0.2 -2.59 -0.37 -2.36 -0.5 -2.17 -0.67 -1.96 -0.83 -1.75 -0.96 
+-1.57 -1.11 -1.39 -1.25 -1.19 -1.39 -1.05 -1.54 -0.84 -1.67 -0.7 -1.8 -0.52 -1.95 -0.37 -2.06 
+-0.22 -2.21 -0.08 -2.35 0 -37.65 -10.77 0 0 67.93 f*
+1565.73 3720.33 15.45 0 32.96 -94.16 -13.45 0 -9.42 27.58 -36.98 0 -9.41 -27.58 -13.46 0 
+29.6 80.71 12.11 0 -15.47 -42.38 30.25 0 -14.78 42.38 -12.11 0 4.71 13.45 f*
+1624.91 3694.1 10.09 0 0 -10.77 2.8 3.45 2.84 2.8 2.87 2.23 2.84 1.7 2.82 1.21 
+2.76 0.82 2.69 0.43 2.59 0.13 1.91 -0.07 1.91 -0.24 1.91 -0.37 1.89 -0.52 1.85 -0.67 
+1.78 -0.79 1.7 -0.93 1.61 -1.04 1.48 -1.15 1.34 -1.28 1.2 -1.39 1.02 -1.47 0.83 -1.59 
+0.61 -1.69 0.39 -1.76 0.13 -1.87 0 -53.12 -10.77 0 0 48.42 -0.11 1.47 -0.26 1.35 
+-0.41 1.23 -0.59 1.15 -0.7 1.02 -0.82 0.96 -1.91 1.56 -2.21 1.22 -2.37 0.82 -2.41 0.5 
+-2.34 0.15 -1.64 -0.09 -1.65 -0.28 -1.62 -0.46 -1.61 -0.62 -1.57 -0.81 -1.5 -0.95 -1.43 -1.13 
+-1.34 -1.28 -1.24 -1.43 -1.11 -1.58 -1 -1.72 -0.84 -1.84 -0.68 -1.97 -0.52 -2.11 -0.3 -2.24 
+-0.11 -2.34 0 -39 -10.77 0 0 67.93 f*
+1696.88 3694.1 10.09 0 0 -10.77 2.82 3.45 2.82 2.8 2.86 2.23 2.84 1.7 2.82 1.21 
+2.78 0.82 2.66 0.43 2.59 0.13 1.91 -0.07 1.91 -0.24 1.91 -0.37 1.89 -0.52 1.84 -0.67 
+1.78 -0.79 1.71 -0.93 1.59 -1.04 1.5 -1.15 1.34 -1.28 1.2 -1.39 0.99 -1.47 0.83 -1.59 
+0.61 -1.69 0.39 -1.76 0.13 -1.87 0 -53.12 -10.76 0 0 48.42 -0.09 1.47 -0.26 1.35 
+-0.43 1.23 -0.57 1.15 -0.71 1.02 -0.8 0.96 -1.93 1.56 -2.19 1.22 -2.37 0.82 -2.43 0.5 
+-2.34 0.15 -1.65 -0.09 -1.63 -0.28 -1.65 -0.46 -1.61 -0.62 -1.55 -0.81 -1.52 -0.95 -1.41 -1.13 
+-1.34 -1.28 -1.24 -1.43 -1.12 -1.58 -1 -1.72 -0.84 -1.84 -0.68 -1.97 -0.5 -2.11 -0.32 -2.24 
+-0.11 -2.34 0 -39 -10.76 0 0 67.93 f*
+1768.86 3694.1 10.76 0 0 -50.44 0.22 -1.82 0.65 -1.84 1.11 -1.82 1.54 -1.67 1.99 -1.45 
+2.43 -1.13 2.86 -0.76 1.61 -0.2 1.71 -0.07 2.3 0.13 2.15 0.39 1.97 0.63 1.8 0.84 
+1.65 1.04 1.48 1.17 1.34 1.32 1.17 1.43 1.02 1.52 0.89 1.58 1.34 3.26 0.79 3.21 
+0.24 2.98 0 41.69 10.76 0 0 -68.6 -10.09 0 0 9.42 -2.04 -2.64 -2.17 -2.37 
+-2.32 -2.09 -2.54 -1.74 -2.78 -1.41 -3.08 -1.02 -3.43 -0.63 -3.82 -0.22 -2.48 0.09 -2.32 0.3 
+-2.19 0.46 -2.06 0.65 -1.91 0.79 -1.78 0.91 -1.61 1.04 -1.48 1.15 -1.3 1.24 -1.16 1.32 
+-0.97 1.39 -0.81 1.45 -0.65 1.47 -0.46 1.52 -0.28 1.52 -0.09 1.52 0 54.47 f*
+1840.15 3673.92 0.09 2.04 0.28 2.02 0.46 2 0.65 1.95 0.85 1.91 1.06 1.85 1.25 1.73 
+1.5 1.65 1.71 1.5 1.97 1.37 2.2 1.21 2.45 1.02 2.71 0.83 2.97 0.63 3.24 0.37 
+3.51 0.13 3.8 -0.17 4.17 -0.57 4.25 -1.05 2.08 -0.71 2.02 -0.87 1.89 -1.02 1.76 -1.2 
+1.56 -1.37 1.37 -1.56 1.11 -1.76 0.84 -1.95 0.52 -2.19 0.2 -2.41 0 -43.03 0.24 -1.2 
+0.63 -1.04 0.98 -0.89 1.18 -0.68 1.32 -0.45 1.32 -0.2 1.28 0.06 1.13 0.35 0 -8.07 
+-1.34 -0.39 -1.26 -0.2 -4.12 -0.08 -2.93 0.06 -2.28 0.26 -1.76 0.48 -1.37 0.79 -1.06 1.13 
+-0.91 1.54 -0.87 2 -0.93 2.49 -5.75 -4.21 -2.45 -1.52 -2.39 -1.17 -2.45 -0.85 -2.67 -0.58 
+-3 -0.33 -3.49 -0.08 -3.02 0.11 -2.73 0.3 -2.47 0.52 -2.24 0.67 -1.97 0.87 -1.76 1 
+-1.54 1.15 -1.32 1.25 -1.15 1.37 -0.93 1.48 -0.78 1.56 -0.61 1.63 -0.46 1.67 -0.3 1.73 
+-0.24 3.52 10.09 0 0.26 -1.97 0.71 -1.89 1.2 -1.7 1.63 -1.52 2.02 -1.26 2.41 -0.93 
+2.78 -0.61 3.13 -0.22 2.32 0.2 2.19 0.37 2.04 0.52 1.89 0.65 1.74 0.76 1.61 0.84 
+1.45 0.93 1.31 1.02 2.16 2.17 1.55 2.28 0.93 2.25 0.24 1.09 0.08 1.04 0 13.46 
+-5.08 -1.89 -2.08 -0.57 -2.09 -0.41 -4.94 -0.74 -7.34 -1.11 -3.6 -1.11 -2.82 -1.29 -2.13 -1.43 
+-1.54 -1.56 -1.02 -1.71 -0.61 -1.8 -0.3 -1.91 -0.08 -1.98 -10.09 0 0.09 2.63 0.2 2.41 
+0.35 2.15 0.49 1.93 0.64 1.73 0.75 1.54 0.91 1.37 1.05 1.2 1.17 1.06 1.3 0.96 
+1.43 0.82 1.56 0.74 3.52 1.26 4.04 1.04 17.49 2.7 2.3 0.54 1.91 0.59 1.52 0.65 
+1.17 0.67 0.85 0.7 0.59 0.74 0.3 0.76 0.11 0.73 0 6.05 -0.2 1.15 -0.61 1.36 
+-1.04 1.43 -1.52 1.43 -2.02 1.32 -2.56 1.07 -3.13 0.71 -1.8 0.2 -1.93 0.06 -2.06 -0.06 
+-1.91 -0.24 -1.75 -0.35 -1.61 -0.48 -1.48 -0.58 -1.32 -0.7 -1.17 -0.79 -1.04 -0.84 -1.7 -1.87 
+-1.2 -2.04 -0.67 -2.08 -0.24 -2.08 -10.76 0 f*
+1912.8 3626.17 10.7656 94.1602 re
+f*
+1970.64 3720.33 74 0 0 -10.76 -30.95 0 0 -83.4 -12.11 0 ^ -30.94 0 
+0 10.76 f*
+2056.73 3694.1 9.42 0 0 -12.79 2.11 2.95 2 2.54 1.91 2.17 1.82 1.82 1.74 1.49 
+1.63 1.22 1.56 0.91 1.45 0.7 1.37 0.45 1.3 0.26 1.2 0.11 1.13 -0.05 2 -0.43 
+1.66 -0.69 0 -10.09 -2.78 -0.2 -2.58 -0.37 -2.37 -0.5 -2.17 -0.67 -1.95 -0.83 -1.76 -0.96 
+-1.56 -1.11 -1.39 -1.25 -1.21 -1.39 -1.02 -1.54 -0.85 -1.67 -0.7 -1.8 -0.52 -1.95 -0.37 -2.06 
+-0.21 -2.21 -0.09 -2.35 0 -37.65 -10.76 0 0 67.93 f*
+2155.62 3647.03 -0.74 -3.17 -0.93 -2.91 -1.11 -2.66 -1.28 -2.43 -1.45 -2.19 -1.61 -2 -1.75 -1.75 
+-1.89 -1.55 -2.02 -1.36 -2.13 -1.15 -2.25 -0.95 -2.32 -0.76 -2.43 -0.59 -2.49 -0.41 -2.56 -0.24 
+-2.62 -0.09 -3.56 0.29 -3.34 0.59 -3.14 0.89 -2.91 1.15 -2.71 1.45 -2.47 1.71 -2.28 1.98 
+-2.04 2.21 -1.81 2.43 -1.58 2.69 -1.32 2.89 -1.11 3.1 -0.87 3.3 -0.63 3.47 -0.37 3.66 
+-0.13 3.84 0.24 5.52 0.66 4.97 1.04 4.47 1.41 3.97 1.7 3.51 1.95 3.06 2.17 2.67 
+2.37 2.26 2.49 1.91 2.56 1.56 2.62 1.26 2.65 0.97 2.61 0.7 2.52 0.48 2.41 0.26 
+2.24 0.09 -0.67 -10.09 -2.93 -0.28 -1.56 -0.37 -1.61 -0.52 -1.58 -0.68 -1.61 -0.84 -1.56 -1 
+-1.52 -1.17 -1.43 -1.37 -1.35 -1.52 -1.25 -1.71 -1.11 -1.89 -0.93 -2.08 -0.78 -2.26 -0.59 -2.47 
+-0.37 -2.69 39.69 0 -0.15 2.8 -0.41 2.54 -0.68 2.35 -0.86 2.11 -1.07 1.91 -1.24 1.71 
+-1.36 1.5 -1.47 1.32 -1.55 1.15 -1.61 0.95 -1.61 0.81 -1.62 0.63 -3.12 0.83 -2.75 0.26 
+0.67 10.09 2.32 -0.09 2.43 -0.26 2.48 -0.48 2.5 -0.73 2.49 -1 2.45 -1.3 2.39 -1.63 
+2.28 -1.99 2.13 -2.37 1.96 -2.78 1.75 -3.23 1.5 -3.71 1.23 -4.21 0.91 -4.73 0.57 -5.3 
+0.21 -5.86 -50.45 0 0.24 -3.54 0.76 -3.84 0.58 -1.97 0.76 -1.95 0.93 -1.91 1.08 -1.84 
+1.3 -1.73 1.5 -1.61 1.7 -1.45 1.93 -1.24 2.15 -1.04 2.39 -0.76 2.63 -0.48 2.91 -0.17 
+2.93 0.24 2.73 0.74 2.52 1.17 2.32 1.63 2.11 2.04 1.87 2.41 1.63 2.78 1.39 3.13 
+10.77 0 f*
+2171.75 3694.1 10.09 0 0 -10.77 2.8 3.45 2.84 2.8 2.87 2.23 2.84 1.7 2.82 1.21 
+2.78 0.82 2.67 0.43 2.58 0.13 1.91 -0.07 1.91 -0.24 1.91 -0.37 1.89 -0.52 1.84 -0.67 
+1.78 -0.79 1.72 -0.93 1.58 -1.04 1.5 -1.15 1.34 -1.28 1.19 -1.39 1 -1.47 0.82 -1.59 
+0.61 -1.69 0.39 -1.76 0.13 -1.87 0 -53.12 -10.77 0 0 48.42 -0.09 1.47 -0.25 1.35 
+-0.44 1.23 -0.56 1.15 -0.72 1.02 -0.8 0.96 -1.93 1.56 -2.19 1.22 -2.37 0.82 -2.43 0.5 
+-2.34 0.15 -1.65 -0.09 -1.63 -0.28 -1.65 -0.46 -1.61 -0.62 -1.54 -0.81 -1.52 -0.95 -1.41 -1.13 
+-1.35 -1.28 -1.23 -1.43 -1.13 -1.58 -1 -1.72 -0.84 -1.84 -0.67 -1.97 -0.5 -2.11 -0.33 -2.24 
+-0.11 -2.34 0 -39 -10.77 0 0 67.93 f*
+2287.43 3720.33 10.77 0 0 -94.16 -9.42 0 0 8.75 -1.8 -2.45 -1.93 -2.28 -2.15 -2.07 
+-2.43 -1.78 -2.78 -1.47 -3.19 -1.13 -3.67 -0.7 -4.23 -0.24 -4.1 0.26 -3.71 0.74 -3.36 1.2 
+-3 1.61 -2.67 1.93 -2.37 2.25 -2.06 2.5 -1.78 2.71 -1.5 2.89 -1.25 2.99 -1.02 3.08 
+-0.8 3.1 -0.59 3.08 -0.41 3 -0.24 2.91 -0.07 2.76 11.44 0 0.09 -2.65 0.28 -2.58 
+0.46 -2.52 0.61 -2.43 0.78 -2.32 0.93 -2.24 1.09 -2.08 1.23 -1.93 1.34 -1.79 1.5 -1.61 
+1.61 -1.39 1.72 -1.18 1.82 -0.95 1.93 -0.7 2.02 -0.41 2.11 -0.15 1.87 0.11 1.82 0.35 
+1.78 0.58 1.71 0.81 1.64 1 1.57 1.23 1.45 1.43 1.35 1.63 1.23 1.82 1.09 2.04 
+0.97 2.22 0.81 2.38 0.65 2.56 0.48 2.76 0.31 2.91 0.08 3.09 -0.22 3.05 -0.39 2.89 
+-0.57 2.71 -0.72 2.52 -0.86 2.34 -1 2.17 -1.13 1.95 -1.23 1.76 -1.34 1.58 -1.43 1.37 
+-1.52 1.17 -1.58 0.96 -1.65 0.76 -1.69 0.54 -1.71 0.33 -1.76 0.11 -1.67 -0.11 -1.7 -0.37 
+-1.69 -0.61 -1.69 -0.82 -1.65 -1.05 -1.63 -1.25 -1.54 -1.46 -1.48 -1.65 -1.37 -1.82 -1.24 -2 
+-1.11 -2.14 -0.93 -2.32 -0.79 -2.46 -0.56 -2.6 -0.37 -2.72 -0.11 -2.84 -11.44 0 0.2 4.84 
+0.61 4.43 0.96 4.05 1.25 3.69 1.55 3.32 1.78 2.97 1.99 2.63 2.18 2.3 2.3 2 
+2.41 1.7 2.45 1.39 2.47 1.11 2.48 0.84 2.43 0.59 2.35 0.34 2.21 0.11 2.19 -0.13 
+2.47 -0.41 2.65 -0.74 2.78 -1.06 2.75 -1.46 2.64 -1.87 2.48 -2.32 1.15 -1.32 1.04 -1.45 
+0 34.98 f*
+2352.02 3675.26 11.44 0 -0.29 2.91 -0.56 2.63 -0.85 2.39 -1.06 2.14 -1.28 1.93 -1.47 1.7 
+-1.63 1.49 -1.78 1.3 -1.87 1.11 -1.97 0.91 -2.02 0.76 -2.06 0.61 -4.11 0.74 -3.95 0.24 
+-2.41 -0.09 -2.39 -0.26 -2.37 -0.43 -2.32 -0.58 -2.25 -0.79 -2.17 -0.93 -2.07 -1.1 -1.93 -1.29 
+-1.78 -1.43 -1.63 -1.61 -1.41 -1.76 -1.21 -1.93 -0.98 -2.09 -0.71 -2.25 -0.46 -2.41 -0.15 -2.58 
+0.24 -3.13 0.67 -2.82 1.15 -2.54 1.65 -2.28 2.14 -2.02 2.67 -1.78 3.19 -1.57 3.76 -1.34 
+16.82 -4.04 2.17 -0.59 1.95 -0.72 1.74 -0.87 1.46 -1.04 1.17 -1.21 0.87 -1.46 0.54 -1.65 
+0.2 -1.89 -0.26 -2.21 -0.76 -2.04 -1.25 -1.82 -1.76 -1.59 -2.28 -1.3 -2.78 -0.98 -3.28 -0.61 
+-3.78 -0.22 -4.3 0.24 -1.82 0.3 -1.61 0.41 -1.41 0.54 -1.24 0.63 -1.06 0.74 -0.91 0.82 
+-0.8 0.93 -0.65 1.02 -1.04 2.3 -0.74 2.6 -0.57 2.91 -11.43 0 0.7 -4.88 0.52 -2.3 
+0.65 -2.17 0.8 -2.08 0.98 -1.93 1.19 -1.8 1.39 -1.65 1.63 -1.49 1.88 -1.32 2.17 -1.15 
+2.47 -0.98 2.78 -0.76 3.11 -0.56 3.47 -0.35 3.84 -0.11 2.52 0.09 2.54 0.26 2.5 0.43 
+2.43 0.61 2.37 0.78 2.3 0.96 2.15 1.13 2.04 1.3 1.87 1.46 1.7 1.65 1.5 1.82 
+1.26 2 1.04 2.17 0.76 2.34 0.46 2.52 0.17 2.7 -0.08 1.82 -0.26 1.73 -0.43 1.63 
+-0.59 1.54 -0.76 1.43 -0.93 1.34 -1.08 1.26 -1.23 1.17 -1.41 1.08 -1.57 1.02 -3.55 1.84 
+-4.19 1.58 -4.75 1.34 -12.78 2.7 -2.7 1.04 -2.08 1.11 -1.54 1.13 -1.09 1.2 -0.69 1.21 
+-0.42 1.24 -0.2 1.23 -0.04 1.26 0.09 1.24 0.21 1.13 0.37 1.06 0.5 1 0.63 0.91 
+0.76 0.82 1.82 1.41 2.2 1.11 2.52 0.79 2.75 0.48 2.95 0.15 3.25 -0.22 2.74 -0.61 
+2.23 -0.98 1.78 -1.3 1.39 -1.58 1 -1.83 0.67 -2.04 0.39 -2.21 11.44 0 -11.44 0 f*
+2437.43 3720.33 6.73 0 -4.23 -7.79 -3.61 -7.75 -3.02 -7.7 -2.43 -7.7 -1.87 -7.68 -1.3 -7.73 
+-0.78 -7.72 -0.26 -7.79 0.26 -6.86 0.78 -7.33 1.3 -7.66 1.87 -7.83 1.15 -3.95 1.28 -3.93 
+1.43 -3.9 1.58 -3.85 1.74 -3.79 1.87 -3.69 2.04 -3.61 2.19 -3.47 -6.73 0 -2.23 2.8 
+-2.17 3.11 -2.06 3.36 -1.99 3.58 -1.89 3.77 -1.78 3.91 -1.65 4.04 -1.52 4.1 -1.37 4.14 
+-1.23 4.14 -1.07 4.13 -0.89 4.04 -0.72 3.95 -0.52 3.78 -0.32 3.62 -0.11 3.41 0.11 4.25 
+0.32 4.26 0.52 4.19 0.72 4.14 0.89 4.13 1.07 4.03 1.23 4.02 1.37 3.93 1.52 3.88 
+1.65 3.82 3.67 7.4 4.05 7.07 4.41 6.75 f*
+2475.79 3714.28 2.23 -0.11 2.2 -0.35 2.1 -0.56 2.04 -0.74 1.93 -0.96 1.84 -1.11 1.71 -1.3 
+1.59 -1.43 1.43 -1.59 1.28 -1.71 1.13 -1.82 0.93 -1.96 0.76 -2.02 0.57 -2.13 0.32 -2.17 
+0.13 -2.25 -0.13 -2.23 -0.32 -2.2 -0.57 -2.11 -0.76 -2.04 -0.93 -1.93 -1.12 -1.84 -1.28 -1.7 
+-1.43 -1.58 -1.59 -1.46 -1.71 -1.28 -1.84 -1.13 -1.93 -0.93 -2.04 -0.76 -2.1 -0.54 -2.2 -0.34 
+-2.23 -0.13 -2.26 0.13 -2.17 0.34 -2.13 0.54 -2.02 0.76 -1.96 0.93 -1.82 1.13 -1.72 1.28 
+-1.58 1.46 -1.43 1.58 -1.28 1.7 -1.13 1.84 -0.95 1.93 -0.74 2.04 -0.56 2.11 -0.35 2.2 
+-0.11 2.23 9.42 0 0.29 -2.47 0.75 -2.37 1.24 -2.15 1.58 -1.91 1.91 -1.61 2.17 -1.22 
+2.36 -0.78 2.48 -0.29 2.47 0.29 2.37 0.78 2.14 1.22 1.93 1.61 1.59 1.91 1.21 2.15 
+0.79 2.37 0.28 2.47 -0.28 2.49 -0.79 2.35 -1.21 2.17 -1.59 1.91 -1.93 1.61 -2.14 1.21 
+-2.37 0.78 -2.47 0.26 -2.48 -0.26 -2.36 -0.78 -2.17 -1.21 -1.91 -1.61 -1.58 -1.91 -1.24 -2.17 
+-0.75 -2.35 -0.29 -2.49 -9.42 0 0.11 2.25 0.35 2.17 0.56 2.13 0.74 2.02 0.95 1.96 
+1.13 1.82 1.28 1.71 1.43 1.59 1.58 1.43 1.72 1.3 1.82 1.11 1.96 0.96 2.02 0.74 
+2.13 0.56 2.17 0.35 2.26 0.11 f*
+2528.23 3717.64 8.74 0 -51.11 -94.16 ^ ^ f*
+2539 3667.86 2.25 -0.11 2.17 -0.34 2.13 -0.55 2.04 -0.76 1.93 -0.93 1.82 -1.13 1.72 -1.28 
+1.58 -1.46 1.43 -1.58 1.3 -1.72 1.11 -1.82 0.95 -1.93 0.76 -2.04 0.55 -2.1 0.34 -2.19 
+0.11 -2.23 -0.11 -2.26 -0.34 -2.17 -0.55 -2.12 -0.76 -2.04 -0.95 -1.93 -1.11 -1.82 -1.3 -1.71 
+-1.43 -1.58 -1.58 -1.43 -1.72 -1.3 -1.82 -1.11 -1.93 -0.96 -2.04 -0.76 -2.13 -0.54 -2.17 -0.35 
+-2.25 -0.11 -2.24 0.11 -2.19 0.35 -2.11 0.54 -2.04 0.76 -1.93 0.96 -1.82 1.11 -1.71 1.3 
+-1.59 1.43 -1.45 1.58 -1.28 1.71 -1.13 1.82 -0.93 1.93 -0.76 2.04 -0.54 2.13 -0.34 2.17 
+-0.11 2.26 9.4 0 0.29 -2.5 0.78 -2.34 1.22 -2.17 1.61 -1.91 1.91 -1.61 2.17 -1.22 
+2.34 -0.78 2.48 -0.26 2.5 0.26 2.34 0.78 2.16 1.22 1.91 1.61 1.61 1.91 1.21 2.17 
+0.78 2.34 0.26 2.5 -0.26 2.47 -0.78 2.34 -1.21 2.17 -1.61 1.91 -1.91 1.61 -2.16 1.21 
+-2.34 0.79 -2.5 0.28 -2.48 -0.28 -2.34 -0.79 -2.17 -1.21 -1.91 -1.61 -1.61 -1.91 -1.22 -2.17 
+-0.78 -2.34 -0.29 -2.47 -9.4 0 0.11 2.23 0.34 2.19 0.54 2.1 0.76 2.04 0.93 1.93 
+1.13 1.82 1.28 1.72 1.45 1.58 1.59 1.46 1.71 1.28 1.82 1.13 1.93 0.93 2.04 0.76 
+2.11 0.55 2.19 0.34 2.24 0.11 f*
+2569.95 3720.33 6.73 0 2.69 -3.93 2.47 -3.97 2.32 -3.99 2.13 -4.02 1.93 -4.04 1.78 -4.01 
+1.58 -4.02 1.41 -3.97 1.24 -3.95 1.06 -3.93 0.89 -3.86 0.74 -3.8 0.57 -3.73 0.39 -3.64 
+0.24 -3.55 0.09 -3.46 -0.09 -3.47 -0.26 -3.58 -0.43 -3.66 -0.61 -3.76 -0.76 -3.82 -0.93 -3.84 
+-1.11 -3.91 -1.29 -3.91 -1.43 -3.91 -1.61 -3.89 -1.79 -3.86 -1.91 -3.82 -2.1 -3.73 -2.24 -3.67 
+-2.43 -3.58 -2.56 -3.47 -6.73 0 4.03 7.08 3.52 7.09 3.02 7.2 2.48 7.29 1.02 3.71 
+0.91 3.76 0.76 3.8 0.63 3.86 0.5 3.93 0.35 3.97 0.21 4.05 0.06 4.12 -0.26 7.95 
+-0.78 7.77 -1.3 7.64 -1.87 7.57 -2.43 7.57 -3.02 7.66 -3.6 7.75 -4.23 7.96 f*
+cleartomark end end pagesave restore
+ showpage
+%%PageTrailer
+%%Trailer
+%%Pages: 1
+
+%%EndDocument
+ @endspecial 275 3237 a FD(Figure)30 b(7.2:)42 b(Ann)m(ual)30
+b(Av)m(erage)j(o)m(v)m(er)e(Regions.)150 3436 y(This)i(section)j
+(illustrates)f(ho)m(w)f(to)h(calculate)h(the)f(ann)m(ual)f(a)m(v)m
+(erage)j(o)m(v)m(er)e(sp)s(eci\014c)f(regions)h(\(see)g(Fig-)150
+3546 y(ure)30 b(7.2\).)42 b(Key)30 b(steps)h(include:)199
+3710 y(1.)61 b(Spatial)41 b(a)m(v)m(erage)i(using)d Fy(ncap2)f
+FD(\(see)j(Section)f(4.1)h([ncap2)f(netCDF)g(Arithmetic)g(Pro)s
+(cessor],)330 3819 y(page)31 b(102\))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(202\);)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(186\);)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(194\);)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(159\);)199
+4594 y(5.)61 b(Standard)51 b(deviation)i(using)e Fy(ncbo)g
+FD(\(see)i(Section)g(4.3)g([ncb)s(o)e(netCDF)i(Binary)f(Op)s(erator],)
+330 4704 y(page)31 b(159\))h(and)e Fy(nces)f FD(\(see)i(Section)h(4.4)f
+([nces)g(netCDF)g(Ensem)m(ble)f(Statistics],)j(page)e(164\);)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(198\);)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(153\);)199 5340 y(8.)61 b(Linear)33
+b(regression)h(using)f Fy(ncap2)f FD(\(see)i(Section)h(4.1)f([ncap2)g
+(netCDF)g(Arithmetic)g(Pro)s(cessor],)p eop end
+%%Page: 222 228
+TeXDict begin 222 227 bop 150 -116 a FD(222)2565 b(NCO)29
+b(4.4.2)k(User)d(Guide)330 299 y(page)h(102\);)199 442
+y(9.)61 b(Use)32 b Fy(ncap2)d FD(\(see)k(Section)f(4.1)g([ncap2)g
+(netCDF)g(Arithmetic)g(Pro)s(cessor],)g(page)g(102\))h(with)e(nco)330
+552 y(script)f(\014le)h(\(i.e.,)h Fy(.nco)d FD(\014le\);)154
+695 y(10.)61 b(Mo)m(v)m(e)54 b(v)-5 b(ariables)53 b(around)f(using)g
+Fy(ncks)f FD(\(see)i(Section)g(4.7)h([nc)m(ks)e(netCDF)h(Kitc)m(hen)g
+(Sink],)330 805 y(page)31 b(173\).)275 1007 y Fq(Flat)g(\014les)f
+(example)390 1176 y Fy(#!/bin/bash)390 1285 y(#)47 b(Includes)f
+(gsl_rgr.nco)390 1504 y(#=======================)o(====)o(====)o(===)o
+(====)o(====)o(===)o(====)o(====)o(===)o(====)o(====)o(===)o(====)o
+(====)390 1614 y(#)h(After)g(cmb_fl.sh)390 1724 y(#)g(Example:)94
+b(Annual)46 b(trend)g(of)h(each)g(model)f(over)h(Greenland)e(and)i
+(Tibet)390 1833 y(#)143 b(\()47 b(time-)g(and)g(spatial-average,)c
+(standard)j(deviation,)390 1943 y(#)143 b(anomaly)46
+b(and)h(linear)f(regression\))390 2052 y(#)390 2162 y(#)h(Input)g
+(files:)390 2271 y(#)g(/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
+2381 y(#)390 2491 y(#)g(Output)g(files:)390 2600 y(#)g
+(/data/cmip5/outout/snc/snc)o(_LIm)o(on_)o(all-)o(mdl_)o(his)o(tori)o
+(cal_)o(all)o(-nsm)o(_ann)o(ual)o(.nc)390 2710 y(#)390
+2819 y(#)g(Online:)94 b(http://nco.sourceforge.n)o(et/n)o(co.h)o(tml)o
+(#Ann)o(ual-)o(Ave)o(rage)o(-ove)o(r-R)o(egio)o(ns)390
+2929 y(#)390 3039 y(#)47 b(Execute)f(this)h(script:)93
+b(bash)47 b(ann_avg.sh)390 3148 y(#=======================)o(====)o
+(====)o(===)o(====)o(====)o(===)o(====)o(====)o(===)o(====)o(====)o
+(===)o(====)o(====)390 3367 y(#-----------------------)o(----)o(----)o
+(---)o(----)o(----)o(---)o(----)o(----)o(---)o(----)o(----)o(---)o
+(----)o(----)390 3477 y(#)g(Parameters)390 3587 y
+(drc_in='/home/wenshanw/d)o(ata/)o(cmip)o(5/')423 b(#)47
+b(Directory)f(of)h(input)f(files)390 3696 y(drc_out='/home/wenshanw/)o
+(data)o(/cmi)o(p5/)o(outp)o(ut/')41 b(#)47 b(Directory)f(of)h(output)f
+(files)390 3915 y(var=\()g('snc')h('snd')f(\))1193 b(#)47
+b(Variables)390 4025 y(rlm='LImon')1572 b(#)47 b(Realm)390
+4134 y(xpt=\()f('historical')f(\))1145 b(#)47 b(Experiment)e(\()j
+(could)e(be)h(more)g(\))390 4354 y(fld_out=\()e('snc/')h('snd/')g(\))
+907 b(#)47 b(Folders)f(of)h(output)g(files)390 4463 y(#)g
+(--------------------------)o(----)o(---)o(----)o(----)o(---)o(----)o
+(----)o(---)o(----)o(-)390 4682 y(for)g(var_id)f(in)h({0..1};)f(do)954
+b(#)47 b(Loop)g(over)g(two)g(variables)485 4792 y(#)h(Names)e(of)h(all)
+g(models)485 4902 y(#)143 b(\(ls)47 b([get)g(file)g(names];)e(cut)i
+([get)g(the)g(part)f(for)h(model)g(names];)485 5011 y(#)143
+b(sort;)47 b(uniq)f([remove)g(duplicates];)f(awk)i([print]\))485
+5121 y(mdl_set=$\()e(ls)j(${drc_in}${var[var_id]})o(_${r)o(lm})o(_*_$)o
+({xpt)o([0])o(}_*.)o(nc)42 b(|)47 b(\\)581 5230 y(cut)g(-d)g('_')g(-f)g
+(3)h(|)f(sort)g(|)g(uniq)g(-c)g(|)g(awk)g('{print)f($2}')h(\))p
+eop end
+%%Page: 223 229
+TeXDict begin 223 228 bop 150 -116 a FD(Chapter)30 b(7:)41
+b(CMIP5)30 b(Example)2333 b(223)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(]}_)o(*.nc)41 b(\);)47 b(do)676 628 y(pfx=$\()f(echo)h(${fn})f
+(|)i(cut)f(-d'/')f(-f6)h(|)h(cut)e(-d'_')h(-f1-5)f(\))676
+847 y(#)i(Two)f(regions)676 956 y(#)h(Geographical)c(weight)676
+1066 y(ncap2)j(-O)g(-s)g('gw)g(=)g(cos\(lat*3.1415926/180.\);)42
+b(gw at long_name="geographi)o(cal)f(weight"\\)772 1176
+y(;gw at units="ratio"')i(${fn})j(${drc_out}${fld_out[var_)o(id]})o(${pf)o
+(x}_)o(gw.n)o(c)676 1285 y(#)i(Greenland)676 1395 y(ncwa)f(-O)g(-w)g
+(gw)h(-d)f(lat,60.0,75.0)d(-d)j(lon,300.0,340.0)d(-a)j(lat,lon)f(\\)772
+1504 y(${drc_out}${fld_out[var_)o(id])o(}${p)o(fx}_)o(gw.)o(nc)c(\\)772
+1614 y(${drc_out}${fld_out[var_)o(id])o(}${p)o(fx}_)o(gw_)o(1.nc)676
+1724 y(#)48 b(Tibet)676 1833 y(ncwa)f(-O)g(-w)g(gw)h(-d)f
+(lat,30.0,40.0)d(-d)j(lon,80.0,100.0)d(-a)j(lat,lon)f(\\)772
+1943 y(${drc_out}${fld_out[var_)o(id])o(}${p)o(fx}_)o(gw.)o(nc)c(\\)772
+2052 y(${drc_out}${fld_out[var_)o(id])o(}${p)o(fx}_)o(gw_)o(2.nc)676
+2271 y(#)48 b(Aggregate)d(2)j(regions)d(together)676
+2381 y(ncecat)h(-O)i(-u)f(rgn)g(${drc_out}${fld_out[var)o(_id])o(}${p)o
+(fx})o(_gw_)o(?.nc)41 b(\\)772 2491 y(${drc_out}${fld_out[var_)o(id])o
+(}${p)o(fx}_)o(gw_)o(rgn4)o(.nc)676 2710 y(#)48 b(Change)e(dimensions)f
+(order)676 2819 y(ncpdq)i(-O)g(-a)g(time,rgn)f(${drc_out}${fld_out[var)
+o(_id])o(}${)o(pfx})o(_gw_)o(rgn)o(4.nc)41 b(\\)772 2929
+y(${drc_out}${fld_out[var_)o(id])o(}${p)o(fx}_)o(gw_)o(rgn4)o(.nc)676
+3148 y(#)48 b(Remove)e(temporary)f(files)i(\(optional\))676
+3258 y(rm)h(${drc_out}${fld_out[var)o(_id)o(]}${)o(pfx})o(_gw)o(_?.n)o
+(c)42 b(\\)772 3367 y(${drc_out}${fld_out[var_)o(id])o(}${p)o(fx}_)o
+(gw.)o(nc)676 3587 y(#)48 b(Annual)e(average)g(\(use)g(the)h(feature)f
+(of)h('Duration'\))676 3696 y(ncra)g(-O)g(--mro)g(-d)g
+(time,"1956-01-01)c(00:00:0.0","2005-12-31)f(23:59:9.9",12,12)h(\\)772
+3806 y(${drc_out}${fld_out[var_)o(id])o(}${p)o(fx}_)o(gw_)o(rgn4)o(.nc)
+e(\\)772 3915 y(${drc_out}${fld_out[var_)o(id])o(}${p)o(fx}_)o(yrl)o
+(y.nc)676 4134 y(#)48 b(Anomaly)676 4244 y(#)g(Long-term)d(average)676
+4354 y(ncwa)i(-O)g(-a)g(time)g(${drc_out}${fld_out[var_)o(id]})o(${pf)o
+(x}_)o(yrly)o(.nc)41 b(\\)772 4463 y(${drc_out}${fld_out[var_)o(id])o
+(}${p)o(fx}_)o(clm)o(.nc)676 4573 y(#)48 b(Subtract)d(long-term)h
+(average)676 4682 y(ncbo)h(-O)g(--op_typ=-)e(${drc_out}${fld_out[var_i)
+o(d]}$)o({pf)o(x}_y)o(rly.)o(nc)c(\\)772 4792 y
+(${drc_out}${fld_out[var_)o(id])o(}${p)o(fx}_)o(clm)o(.nc)g(\\)772
+4902 y(${drc_out}${fld_out[var_)o(id])o(}${p)o(fx}_)o(anm)o(.nc)581
+5011 y(done)581 5230 y(rm)47 b(${drc_out}${fld_out[var_i)o(d]})o(${va)o
+(r[va)o(r_i)o(d]}_)o(${rl)o(m}_)o(${md)o(l}_$)o({xp)o(t[0])o(}_*_)o
+(yrl)o(y.nc)p eop end
+%%Page: 224 230
+TeXDict begin 224 229 bop 150 -116 a FD(224)2565 b(NCO)29
+b(4.4.2)k(User)d(Guide)581 299 y Fy(#)47 b(Average)f(over)h(all)g(the)g
+(ensemble)e(members)581 408 y(ncea)i(-O)g(-4)g
+(${drc_out}${fld_out[var_)o(id]})o(${v)o(ar[v)o(ar_i)o(d]})o(_\\)676
+518 y(${rlm}_${mdl}_${xpt[0]}_*_)o(anm)o(.nc)41 b
+(${drc_out}${fld_out[var_id)o(]}\\)676 628 y
+(${var[var_id]}_${rlm}_${md)o(l}_)o(${xp)o(t[0])o(}_a)o(ll-n)o(sm_a)o
+(nm.)o(nc)581 847 y(#)47 b(Standard)f(deviation)f
+(-------------------------)o(----)o(-)581 956 y(for)i(fn)g(in)g($\()g
+(ls)h(${drc_out}${fld_out[var)o(_id)o(]}${)o(var[)o(var)o(_id])o(}_${)o
+(rlm)o(}_${)o(mdl})o(_\\)676 1066 y(${xpt[0]}_*_anm.nc)43
+b(\);)k(do)676 1176 y(pfx=$\()f(echo)h(${fn})f(|)i(cut)f(-d'/')f(-f8)h
+(|)h(cut)e(-d'_')h(-f1-5)f(\))676 1395 y(#)i(Difference)d(between)h
+(each)g(ensemble)g(member)g(and)h(the)g(average)f(of)h(all)g(members)
+676 1504 y(ncbo)g(-O)g(--op_typ=-)e(${fn})i(\\)772 1614
+y(${drc_out}${fld_out[var_)o(id])o(}${v)o(ar[v)o(ar_)o(id]})o(_\\)772
+1724 y(${rlm}_${mdl}_${xpt[0]}_)o(all)o(-nsm)o(_anm)o(.nc)41
+b(\\)772 1833 y(${drc_out}${fld_out[var_)o(id])o(}${p)o(fx}_)o(dlt)o
+(.nc)581 1943 y(done)581 2162 y(#)47 b(RMS)581 2271 y(ncea)g(-O)g(-y)g
+(rmssdn)f(${drc_out}${fld_out[var_)o(id]})o(${va)o(r[v)o(ar_i)o(d]}_)o
+(${r)o(lm}_)o(\\)676 2381 y(${mdl}_${xpt[0]}_*_dlt.nc)41
+b(\\)676 2491 y(${drc_out}${fld_out[var_id)o(]}$)o({var)o([var)o(_id)o
+(]}_$)o({rlm)o(}_\\)676 2600 y(${mdl}_${xpt[0]}_all-nsm_s)o(dv.)o(nc)
+581 2710 y(#)47 b(Rename)f(variables)581 2819 y(ncrename)f(-v)j
+(${var[var_id]},sdv)42 b(\\)676 2929 y(${drc_out}${fld_out[var_id)o
+(]}$)o({var)o([var)o(_id)o(]}_$)o({rlm)o(}_\\)676 3039
+y(${mdl}_${xpt[0]}_all-nsm_s)o(dv.)o(nc)581 3148 y(#)47
+b(Edit)g(attributions)581 3258 y(ncatted)f(-a)h
+(standard_name,sdv,a,c,"_)o(stan)o(dar)o(d_de)o(viat)o(ion)o(_ove)o
+(r_en)o(sem)o(ble")41 b(\\)676 3367 y(-a)48 b(long_name,sdv,a,c,")42
+b(Standard)k(Deviation)f(over)i(Ensemble")e(\\)676 3477
+y(-a)j(original_name,sdv,a,c,")41 b(sdv")47 b(\\)676
+3587 y(${drc_out}${fld_out[var_id)o(]}$)o({var)o([var)o(_id)o(]}_$)o
+({rlm)o(}_\\)676 3696 y(${mdl}_${xpt[0]}_all-nsm_s)o(dv.)o(nc)581
+3806 y(#-----------------------)o(----)o(---)o(----)o(----)o(---)o
+(----)o(----)o(---)o(----)o(----)581 4025 y(#)g(Linear)f(regression)f
+(--------------------------)o(----)o(---)o(----)o(----)581
+4134 y(#!!!!!!!!!!!!!!!!!!!!!!!)o(!!!!)o(!!!)o(!!!!)o(!!!!)o(!!!)o
+(!!!!)o(!!!!)o(!!!)o(!!!!)o(!!!!)o(!!!)o(!!!!)o(!!!!)o(!!!)o(!)581
+4244 y(#)i(Have)g(to)g(change)f(the)h(name)g(of)g(variable)f(in)h(the)g
+(commands)e(file)581 4354 y(#)143 b(of)47 b(gsl_rgr.nco)e(manually)g
+(\(gsl_rgr.nco)g(is)i(listed)f(below\))581 4463 y(ncap2)g(-O)h(-S)h
+(gsl_rgr.nco)c(\\)676 4573 y(${drc_out}${fld_out[var_id)o(]}$)o({var)o
+([var)o(_id)o(]}_$)o({rlm)o(}_\\)676 4682 y(${mdl}_${xpt[0]}_all-nsm_a)
+o(nm.)o(nc)e(${drc_out}${fld_out[var)o(_id])o(}${)o(var[)o(var_)o(id])o
+(}\\)676 4792 y(_${rlm}_${mdl}_${xpt[0]}_a)o(ll-)o(nsm_)o(anm_)o(rgr)o
+(.nc)581 4902 y(#!!!!!!!!!!!!!!!!!!!!!!!)o(!!!!)o(!!!)o(!!!!)o(!!!!)o
+(!!!)o(!!!!)o(!!!!)o(!!!)o(!!!!)o(!!!!)o(!!!)o(!!!!)o(!!!!)o(!!!)o(!)
+581 5121 y(#)47 b(Get)g(rid)g(of)g(temporary)f(variables)581
+5230 y(ncks)h(-O)g(-v)g(c0,c1,pval,${var[var_id])o(},gw)41
+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: 225 231
+TeXDict begin 225 230 bop 150 -116 a FD(Chapter)30 b(7:)41
+b(CMIP5)30 b(Example)2333 b(225)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 737 y(#)47
+b(Move)g(the)g(variable)e('sdv')i(into)f(the)h(anomaly)f(files)h
+(\(i.e.,)f(*anm.nc)f(files\))581 847 y(ncks)i(-A)g(-v)g(sdv)g(\\)676
+956 y(${drc_out}${fld_out[var_id)o(]}$)o({var)o([var)o(_id)o(]}_$)o
+({rlm)o(}_\\)676 1066 y(${mdl}_${xpt[0]}_all-nsm_s)o(dv.)o(nc)42
+b(\\)676 1176 y(${drc_out}${fld_out[var_id)o(]}$)o({var)o([var)o(_id)o
+(]}_$)o({mdl)o(}.n)o(c)581 1285 y(rm)47 b(${drc_out}${fld_out[var_i)o
+(d]})o(${va)o(r[va)o(r_i)o(d]}_)o(*his)o(tor)o(ical)o(*)581
+1504 y(echo)g(Model)f(${mdl})g(done!)485 1614 y(done)485
+1833 y(#)i(Store)e(models)g(as)i(groups)e(in)h(the)g(output)f(file)485
+1943 y(ncecat)h(-O)g(--gag)f(${drc_out}${fld_out[var_i)o(d]})o(${va)o
+(r[va)o(r_i)o(d]}_)o(*.nc)485 2052 y(${drc_out}${fld_out[var_id)o(]}${)
+o(var)o([var)o(_id])o(}_\\)581 2162 y(${rlm}_all-mdl_${xpt[0]})o(_all)o
+(-ns)o(m_an)o(nual)o(.nc)485 2381 y(echo)h(Var)g(${var[var_id]})d
+(done!)390 2491 y(done)275 2655 y Fq(gsl)p 387 2655 28
+5 v 40 w(rgr.nco)390 2819 y Fy(//)j(Linear)f(Regression)390
+2929 y(//)h(Called)f(by)h(ann_avg.sh)390 3039 y(//)g(Caution:)93
+b(make)47 b(sure)g(the)g(variable)e(name)i(is)390 3148
+y(//)95 b(in)47 b(agreement)e(with)i(the)g(main)g(script)f(\(now)g(is)h
+('snd'\))390 3258 y(//)g(Online:)94 b(http://nco.sourceforge.)o(net/)o
+(nco.)o(htm)o(l#An)o(nual)o(-Av)o(erag)o(e-ov)o(er-)o(Regi)o(ons)390
+3477 y(//)47 b(Declare)f(variables)390 3587 y(*c0[$rgn]=0.;)378
+b(//)47 b(Intercept)390 3696 y(*c1[$rgn]=0.;)378 b(//)47
+b(Slope)390 3806 y(*sdv[$rgn]=0.;)330 b(//)47 b(Standard)f(deviation)
+390 3915 y(*covxy[$rgn]=0.;)234 b(//)47 b(Covariance)390
+4025 y(*x)g(=)h(double\(time\);)390 4244 y(for)f
+(\(*rgn_id=0;rgn_id<$rgn.s)o(ize;)o(rgn)o(_id+)o(+\))137
+b(//)47 b(Loop)g(over)f(regions)390 4354 y({)772 4463
+y(gsl_fit_linear\(time,1,sn)o(d\(:)o(,rgn)o(_id\))o(,1,)o($tim)o(e.si)o
+(ze,)41 b(\\)581 4573 y(&tc0,)46 b(&tc1,)h(&cov00,)e
+(&cov01,&cov11,&sumsq\);)d(//)47 b(Linear)f(regression)f(function)772
+4682 y(c0\(rgn_id\))g(=)i(tc0;)190 b(//)47 b(Output)f(results)772
+4792 y(c1\(rgn_id\))f(=)i(tc1;)772 4902 y(covxy\(rgn_id\))d(=)j
+(gsl_stats_covariance\(time,)o(1,\\)581 5011 y
+($time.size,double\(snd\(:,)o(rgn_)o(id\))o(\),1,)o($tim)o(e.s)o(ize\))
+o(;)42 b(//)47 b(Covariance)e(function)772 5121 y(sdv\(rgn_id\))g(=)i
+(gsl_stats_sd\(snd\(:,rgn_i)o(d\),)41 b(\\)581 5230 y(1,)47
+b($time.size\);)140 b(//)47 b(Standard)f(deviation)f(function)390
+5340 y(})p eop end
+%%Page: 226 232
+TeXDict begin 226 231 bop 150 -116 a FD(226)2565 b(NCO)29
+b(4.4.2)k(User)d(Guide)390 408 y Fy(//)47 b(P)h
+(value------------------)o(----)o(---)o(----)o(----)o(---)o(----)o
+(----)o(---)o(----)o(----)o(---)o(--)390 518 y(*time_sdv)d(=)j
+(gsl_stats_sd\(time,)43 b(1,)k($time.size\);)390 628
+y(*r_value)f(=)h(covxy/\(time_sdv*sdv\);)390 737 y(*t_value)f(=)h
+(r_value/sqrt\(\(1-r_value^)o(2\)/\()o($tim)o(e.s)o(ize-)o(2\)\);)390
+847 y(pval)g(=)g(abs\(gsl_cdf_tdist_P\(t_val)o(ue,)41
+b($time.size-2\))j(-)k(\\)485 956 y(gsl_cdf_tdist_P\(-t_value,)41
+b($time.size-2\)\);)390 1066 y(//----------------------)o(----)o(----)o
+(---)o(----)o(----)o(---)o(----)o(----)o(---)o(----)o(----)o(-)390
+1285 y(//)47 b(Write)g(RAM)f(variables)g(to)h(disk)390
+1395 y(//----------------------)o(----)o(----)o(---)o(----)o(----)o
+(---)o(----)o(----)o(---)o(----)o(-)390 1504 y(//)g(Usually)f(NCO)h
+(writes)f(the)h(outputs)f(directly)f(to)i(disk)390 1614
+y(//)g(Using)g(RAM)f(variables,)f(declared)h(by)h(*,)g(will)g(shorten)f
+(running)g(time)390 1724 y(//)h(Output)f(the)h(final)g(results)e(using)
+i(ram_write\(\))390 1833 y(//----------------------)o(----)o(----)o
+(---)o(----)o(----)o(---)o(----)o(----)o(---)o(----)o(-)390
+1943 y(ram_write\(c0\);)390 2052 y(ram_write\(c1\);)275
+2217 y FD(With)31 b(the)h Fy(group)e FD(feature,)j(all)f(the)g(lo)s
+(ops)f(o)m(v)m(er)i(exp)s(erimen)m(ts,)f(mo)s(dels)f(and)g(ensem)m(ble)
+h(mem)m(b)s(ers)150 2326 y(can)i(b)s(e)f(omitted.)53
+b(As)34 b(w)m(e)g(are)g(w)m(orking)g(on)g(implemen)m(ting)h
+Fy(group)d FD(feature)j(in)e(all)i FC(NCO)f FD(op)s(erators,)150
+2436 y(some)d(functions)f(\(e.g.,)i(regression)f(and)f(standard)g
+(deviation)i(o)m(v)m(er)f(ensem)m(ble)g(mem)m(b)s(ers\))g(ma)m(y)g(ha)m
+(v)m(e)150 2545 y(to)g(w)m(ait)h(un)m(til)e(the)h(new)f(v)m(ersions.)
+390 2710 y Fy(#!/bin/bash)390 2819 y(#)390 2929 y
+(#=======================)o(====)o(====)o(===)o(====)o(====)o(===)o
+(====)o(====)o(===)o(====)390 3039 y(#)47 b(Group)g(data)f(output)h(by)
+g(cmb_fl_grp.sh)390 3148 y(#)g(Annual)g(trend)f(of)h(each)g(model)f
+(over)h(Greenland)e(and)i(Tibet)390 3258 y(#)g(Time-)g(and)g
+(spatial-average,)c(standard)j(deviation)f(and)i(anomaly)390
+3367 y(#)g(No)h(regression)d(yet)i(\(needs)f(ncap2\))390
+3477 y(#)390 3587 y(#)h(Input)g(files:)390 3696 y(#)g
+(sn_LImon_all-mdl_all-xpt_a)o(ll-n)o(sm_)o(2000)o(01-2)o(005)o(12.n)o
+(c)390 3806 y(#)390 3915 y(#)g(Online:)94 b(http://nco.sourceforge.n)o
+(et/n)o(co.h)o(tml)o(#Ann)o(ual-)o(Ave)o(rage)o(-ove)o(r-R)o(egio)o(ns)
+390 4025 y(#)390 4134 y(#)47 b(Execute)f(this)h(script:)93
+b(bash)47 b(ann_avg_grp.sh)390 4244 y(#=======================)o(====)o
+(====)o(===)o(====)o(====)o(===)o(====)o(====)o(===)o(====)o(====)o
+(===)o(====)o(====)390 4354 y(#)g(Input)g(and)g(output)f(directory)390
+4463 y(drc='../data/grp/')390 4682 y(#)h(Constants)390
+4792 y(pfx='sn_LImon_all-mdl_al)o(l-xp)o(t_al)o(l-n)o(sm')390
+4902 y(tms='200001-200512')520 b(#)47 b(Time)g(series)390
+5121 y(#)g(Greenland)390 5230 y(ncwa)g(-O)g(-w)g(gw)g(-d)g
+(lat,60.0,75.0)e(-d)i(lon,300.0,340.0)c(-a)48 b(lat,lon)d(\\)485
+5340 y(${drc}${pfx}_${tms}.nc)d(\\)p eop end
+%%Page: 227 233
+TeXDict begin 227 232 bop 150 -116 a FD(Chapter)30 b(7:)41
+b FC(CMIP5)29 b FD(Example)2358 b(227)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 956 y(#)47 b(Aggregate)f(2)h
+(regions)f(together)390 1066 y(ncecat)g(-O)h(-u)g(rgn)g
+(${drc}${pfx}_${tms}_???.nc)41 b(\\)485 1176 y
+(${drc}${pfx}_${tms}_rgn2.n)o(c)390 1395 y(#)47 b(Change)g(dimensions)e
+(order)390 1504 y(ncpdq)h(-O)i(-a)f(time,rgn)e
+(${drc}${pfx}_${tms}_rgn2.)o(nc)d(\\)485 1614 y
+(${drc}${pfx}_${tms}_rgn2.n)o(c)390 1833 y(#)47 b(Remove)g(temporary)e
+(files)h(\(optional\))390 1943 y(rm)h(${drc}${pfx}_${tms}_???.n)o(c)390
+2162 y(#Annual)f(average)390 2271 y(ncra)h(-O)g(--mro)f(-d)h
+(time,,,12,12)e(${drc}${pfx}_${tms}_rgn2)o(.nc)c(\\)485
+2381 y(${drc}${pfx}_${tms}_rgn2_a)o(nn.n)o(c)390 2600
+y(#)47 b(Anomaly)390 2710 y(#-----------------------)o(----)o(----)o
+(---)o(----)o(----)o(---)o(----)o(----)o(---)o(----)390
+2819 y(#)g(Long-term)f(average)390 2929 y(ncwa)h(-O)g(-a)g(time)g
+(${drc}${pfx}_${tms}_rgn)o(2_an)o(n.n)o(c)42 b(\\)485
+3039 y(${drc}${pfx}_${tms}_rgn2_c)o(lm.n)o(c)390 3148
+y(#)47 b(Subtract)390 3258 y(ncbo)g(-O)g(--op_typ=-)e
+(${drc}${pfx}_${tms}_rgn2)o(_an)o(n.nc)c(\\)485 3367
+y(${drc}${pfx}_${tms}_rgn2_c)o(lm.n)o(c)h(\\)485 3477
+y(${drc}${pfx}_${tms}_rgn2_a)o(nm.n)o(c)390 3587 y
+(#-----------------------)o(----)o(----)o(---)o(----)o(----)o(---)o
+(----)o(----)o(---)o(----)390 3806 y(#)47 b(Standard)f(Deviation:)93
+b(inter-annual)44 b(variability)390 3915 y(#)j(RMS)g(of)h(the)e(above)h
+(anomaly)390 4025 y(ncra)g(-O)g(-y)g(rmssdn)f
+(${drc}${pfx}_${tms}_rgn2_)o(anm)o(.nc)41 b(\\)485 4134
+y(${drc}${pfx}_${tms}_rgn2_s)o(tdde)o(v.n)o(c)p eop end
+%%Page: 228 234
+TeXDict begin 228 233 bop 150 -116 a FD(228)2565 b(NCO)29
+b(4.4.2)k(User)d(Guide)150 299 y FB(7.4)68 b(Mon)l(thly)45
+b(Cycle)150 2540 y @beginspecial 20 @llx 0 @lly 771 @urx
+613 @ury 2880 @rwi @setspecial
+%%BeginDocument: xmp/fgr3.eps
+%!PS-Adobe-3.0 EPSF-3.0
+%%BoundingBox: 20 0 771 613
+%%HiResBoundingBox: 20.880001 0.000000 770.040029 612.000023
+%.......................................
+%%Creator: GPL Ghostscript 871 (epswrite)
+%%CreationDate: 2013/04/07 15:38:35
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%EndComments
+%%BeginProlog
+% This copyright applies to everything between here and the %%EndProlog:
+% Copyright (C) 2010 Artifex Software, Inc.  All rights reserved.
+%%BeginResource: procset GS_epswrite_2_0_1001 1.001 0
+/GS_epswrite_2_0_1001 80 dict dup begin
+/PageSize 2 array def/setpagesize{ PageSize aload pop 3 index eq exch
+4 index eq and{ pop pop pop}{ PageSize dup  1
+5 -1 roll put 0 4 -1 roll put dup null eq {false} {dup where} ifelse{ exch get exec}
+{ pop/setpagedevice where
+{ pop 1 dict dup /PageSize PageSize put setpagedevice}
+{ /setpage where{ pop PageSize aload pop pageparams 3 {exch pop} repeat
+setpage}if}ifelse}ifelse}ifelse} bind def
+/!{bind def}bind def/#{load def}!/N/counttomark #
+/rG{3{3 -1 roll 255 div}repeat setrgbcolor}!/G{255 div setgray}!/K{0 G}!
+/r6{dup 3 -1 roll rG}!/r5{dup 3 1 roll rG}!/r3{dup rG}!
+/w/setlinewidth #/J/setlinecap #
+/j/setlinejoin #/M/setmiterlimit #/d/setdash #/i/setflat #
+/m/moveto #/l/lineto #/c/rcurveto #
+/p{N 2 idiv{N -2 roll rlineto}repeat}!
+/P{N 0 gt{N -2 roll moveto p}if}!
+/h{p closepath}!/H{P closepath}!
+/lx{0 rlineto}!/ly{0 exch rlineto}!/v{0 0 6 2 roll c}!/y{2 copy c}!
+/re{4 -2 roll m exch dup lx exch ly neg lx h}!
+/^{3 index neg 3 index neg}!
+/f{P fill}!/f*{P eofill}!/s{H stroke}!/S{P stroke}!
+/q/gsave #/Q/grestore #/rf{re fill}!
+/Y{P clip newpath}!/Y*{P eoclip newpath}!/rY{re Y}!
+/|={pop exch 4 1 roll 1 array astore cvx 3 array astore cvx exch 1 index def exec}!
+/|{exch string readstring |=}!
+/+{dup type/nametype eq{2 index 7 add -3 bitshift 2 index mul}if}!
+/@/currentfile #/${+ @ |}!
+/B{{2 copy string{readstring pop}aload pop 4 array astore cvx
+3 1 roll}repeat pop pop true}!
+/Ix{[1 0 0 1 11 -2 roll exch neg exch neg]exch}!
+/,{true exch Ix imagemask}!/If{false exch Ix imagemask}!/I{exch Ix image}!
+/Ic{exch Ix false 3 colorimage}!
+/F{/Columns counttomark 3 add -2 roll/Rows exch/K -1/BlackIs1 true>>
+/CCITTFaxDecode filter}!/FX{<</EndOfBlock false F}!
+/X{/ASCII85Decode filter}!/@X{@ X}!/&2{2 index 2 index}!
+/@F{@ &2<<F}!/@C{@X &2 FX}!
+/$X{+ @X |}!/&4{4 index 4 index}!/$F{+ @ &4<<F |}!/$C{+ @X &4 FX |}!
+/IC{3 1 roll 10 dict begin 1{/ImageType/Interpolate/Decode/DataSource
+/ImageMatrix/BitsPerComponent/Height/Width}{exch def}forall
+currentdict end image}!
+/~{@ read {pop} if}!
+end def
+%%EndResource
+/pagesave null def
+%%EndProlog
+%%Page: 1 1
+%%BeginPageSetup
+GS_epswrite_2_0_1001 begin
+/pagesave save store 197 dict begin
+0.18 0.18 scale
+%%EndPageSetup
+gsave mark
+Q q
+116 0 4162 0 0 3400 ^ Y
+255 G
+116.668 -383.332 4161.11 4166.66 re
+f*
+Q q
+116 0 4162 0 0 3400 ^ Y
+11.1111 w
+1 J
+1 j
+201 0 44 rG
+794.12 2139.25 54.28 1.96 S
+875.54 2142.19 13.56 0.5 S
+916.25 2143.66 54.27 1.96 S
+997.68 2146.59 13.56 0.48 S
+1038.37 2148.04 32.27 1.17 22.03 0.35 S
+1119.81 2150 13.59 0.21 S
+1160.54 2150.67 54.32 0.87 S
+1242.02 2151.97 13.56 0.22 S
+1282.75 2152.63 54.29 0.87 S
+1364.2 2153.38 13.58 -0.24 S
+1404.93 2152.71 54.32 -0.89 S
+1486.39 2151.37 13.56 -0.22 S
+1527.13 2150.7 54.29 -0.89 S
+1608.57 2149.37 13.59 -0.24 S
+1648.72 2143.58 53.03 -11.7 S
+1728.28 2126.04 13.26 -2.93 S
+1768.05 2117.25 53.04 -11.7 S
+1847.61 2099.7 13.26 -2.91 S
+1887.39 2090.93 12.76 -2.82 30.39 -27.95 S
+1950.52 2041.78 10 -9.21 S
+1980.51 2014.17 39.99 -36.8 S
+2040.52 1958.98 10.01 -9.2 S
+2070.5 1931.38 40 -36.8 S
+2130.51 1876.2 9.98 -9.2 S
+2160.5 1848.59 16.14 -14.87 25.89 -19.47 S
+2224.24 1797.92 10.85 -8.18 S
+2256.79 1773.39 43.42 -32.68 S
+2321.92 1724.39 10.87 -8.18 S
+2354.5 1699.87 43.4 -32.68 S
+2419.62 1650.84 10.85 -8.16 S
+2452.17 1626.34 0.97 -0.74 52.96 -3.84 S
+2533.18 1619.79 13.54 -0.97 S
+2573.8 1616.86 54.19 -3.95 S
+2655.08 1610.96 13.54 -0.98 S
+2695.71 1608 33.96 -2.47 17.75 9.77 S
+2771.22 1628.38 11.92 6.55 S
+2806.95 1648.03 47.61 26.17 S
+2878.36 1687.29 11.89 6.53 S
+2914.06 1706.9 47.61 26.17 S
+2985.48 1746.16 11.89 6.55 S
+3019.79 1767.95 43.18 32.96 S
+3084.57 1817.41 10.8 8.24 S
+3116.97 1842.14 43.18 32.96 S
+3181.75 1891.6 10.8 8.25 S
+3214.15 1916.34 43.18 32.99 S
+3278.93 1965.8 3.73 2.86 8.27 3.26 S
+3316.19 1981.88 50.55 19.94 S
+3392 2011.79 12.63 4.99 S
+3429.88 2026.73 50.54 19.95 S
+3505.68 2056.64 12.63 4.99 S
+3543.6 2071.59 15.57 6.14 37.14 5.69 S
+3623.16 2087.54 13.41 2.04 S
+3663.41 2093.71 53.69 8.2 S
+3743.95 2106.04 13.43 2.04 S
+3784.22 2112.2 51.46 7.88 S
+Q q
+116 0 4162 0 0 3400 ^ Y
+2.77778 w
+1 J
+1 j
+201 0 44 rG
+790.91 2161.74 -9.61 -3.21 -6.42 -6.42 -3.21 -9.63 0 -6.43 3.21 -9.65 6.42 -6.43 9.61 -3.21 
+6.43 0 9.63 3.21 6.43 6.43 3.21 9.65 0 6.43 -3.21 9.63 -6.43 6.42 -9.63 3.21 
+-6.43 0 S
+1067.43 2171.72 -9.64 -3.21 -6.42 -6.45 -3.21 -9.64 0 -6.43 3.21 -9.63 6.42 -6.42 9.64 -3.21 
+6.42 0 9.61 3.21 6.43 6.42 3.21 9.63 0 6.43 -3.21 9.64 -6.43 6.45 -9.61 3.21 
+-6.42 0 S
+1343.92 2176.15 -9.63 -3.21 -6.4 -6.42 -3.22 -9.64 0 -6.42 3.22 -9.66 6.4 -6.43 9.63 -3.21 
+6.43 0 9.63 3.21 6.4 6.43 3.21 9.66 0 6.42 -3.21 9.64 -6.4 6.42 -9.63 3.21 
+-6.43 0 S
+1620.42 2171.62 -9.62 -3.22 -6.42 -6.42 -3.21 -9.66 0 -6.42 3.21 -9.64 6.42 -6.42 9.62 -3.21 
+6.42 0 9.63 3.21 6.43 6.42 3.21 9.64 0 6.42 -3.21 9.66 -6.43 6.42 -9.63 3.22 
+-6.42 0 S
+1896.94 2110.61 -9.63 -3.21 -6.42 -6.42 -3.21 -9.66 0 -6.42 3.21 -9.63 6.42 -6.42 9.63 -3.22 
+6.42 0 9.62 3.22 6.42 6.42 3.21 9.63 0 6.42 -3.21 9.66 -6.42 6.42 -9.62 3.21 
+-6.42 0 S
+2173.44 1856.23 -9.64 -3.21 -6.4 -6.42 -3.21 -9.66 0 -6.42 3.21 -9.63 6.4 -6.42 9.64 -3.22 
+6.42 0 9.64 3.22 6.4 6.42 3.21 9.63 0 6.42 -3.21 9.66 -6.4 6.42 -9.64 3.21 
+-6.42 0 S
+2449.93 1648.11 -9.61 -3.23 -6.42 -6.42 -3.21 -9.64 0 -6.42 3.21 -9.63 6.42 -6.42 9.61 -3.23 
+6.43 0 9.64 3.23 6.42 6.42 3.19 9.63 0 6.42 -3.19 9.64 -6.42 6.42 -9.64 3.23 
+-6.43 0 S
+2726.46 1628.04 -9.64 -3.21 -6.42 -6.43 -3.21 -9.63 0 -6.45 3.21 -9.63 6.42 -6.43 9.64 -3.21 
+6.42 0 9.61 3.21 6.43 6.43 3.21 9.63 0 6.45 -3.21 9.63 -6.43 6.43 -9.61 3.21 
+-6.42 0 S
+3002.95 1780.04 -9.63 -3.21 -6.4 -6.44 -3.22 -9.63 0 -6.43 3.22 -9.63 6.4 -6.42 9.63 -3.23 
+6.43 0 9.61 3.23 6.42 6.42 3.21 9.63 0 6.43 -3.21 9.63 -6.42 6.44 -9.61 3.21 
+-6.43 0 S
+3279.45 1991.14 -9.62 -3.21 -6.42 -6.42 -3.21 -9.64 0 -6.42 3.21 -9.63 6.42 -6.45 9.62 -3.21 
+6.42 0 9.63 3.21 6.43 6.45 3.19 9.63 0 6.42 -3.19 9.64 -6.43 6.42 -9.63 3.21 
+-6.42 0 S
+3555.96 2100.24 -9.63 -3.21 -6.42 -6.42 -3.21 -9.64 0 -6.44 3.21 -9.63 6.42 -6.43 9.63 -3.21 
+6.41 0 9.63 3.21 6.43 6.43 3.21 9.63 0 6.44 -3.21 9.64 -6.43 6.42 -9.63 3.21 
+-6.41 0 S
+3832.46 2142.55 -9.64 -3.21 -6.4 -6.42 -3.21 -9.64 0 -6.45 3.21 -9.63 6.4 -6.42 9.64 -3.22 
+6.43 0 9.61 3.22 6.43 6.42 3.21 9.63 0 6.45 -3.21 9.64 -6.43 6.42 -9.61 3.21 
+-6.43 0 S
+11.1111 w
+0 19 255 rG
+794.12 2256.45 276.52 4.97 276.49 -13.57 276.5 -37.22 276.52 -70.57 276.5 -270.25 276.5 -454.73 276.52 -192.53 
+276.49 385.28 276.5 409.7 276.52 161.3 276.5 61.39 S
+2.77778 w
+794.12 2278.93 -22.46 -44.99 44.95 0 -22.48 44.99 S
+1070.64 2283.9 -22.48 -44.99 44.95 0 -22.46 44.99 S
+1347.13 2270.33 -22.46 -44.99 44.92 0 -22.46 44.99 S
+1623.63 2233.12 -22.46 -44.99 44.95 0 -22.48 44.99 S
+1900.15 2162.54 -22.48 -44.99 44.94 0 -22.46 44.99 S
+2176.65 1892.29 -22.46 -44.98 44.92 0 -22.46 44.98 S
+2453.14 1437.57 -22.46 -44.99 44.92 0 -22.46 44.99 S
+2729.67 1245.05 -22.48 -45.01 44.95 0 -22.46 45.01 S
+3006.16 1630.32 -22.46 -44.99 44.92 0 -22.46 44.99 S
+3282.66 2040.02 -22.46 -44.99 44.92 0 -22.46 44.99 S
+3559.18 2201.32 -22.48 -44.98 44.95 0 -22.46 44.98 S
+3835.68 2262.74 -22.46 -44.99 44.92 0 -22.46 44.99 S
+11.1111 w
+28 185 13 rG
+794.12 2199.21 12.74 0.16 S
+832.33 2199.7 12.74 0.16 S
+870.55 2200.17 12.74 0.16 S
+908.77 2200.65 12.74 0.18 S
+946.98 2201.13 12.74 0.17 S
+985.18 2201.61 12.74 0.17 S
+1023.39 2202.11 12.74 0.15 S
+1061.61 2202.58 9.03 0.11 3.71 -0.19 S
+1099.79 2201.11 12.71 -0.67 S
+1137.93 2199.04 12.74 -0.69 S
+1176.11 2196.98 12.72 -0.7 S
+1214.25 2194.92 12.72 -0.7 S
+1252.43 2192.86 12.71 -0.69 S
+1290.58 2190.8 12.72 -0.7 S
+1328.75 2188.74 12.72 -0.7 S
+1366.84 2185.85 12.68 -1.2 S
+1404.88 2182.23 12.67 -1.21 S
+1442.93 2178.6 12.68 -1.21 S
+1480.96 2174.96 12.68 -1.22 S
+1519.01 2171.33 12.7 -1.21 S
+1557.05 2167.69 12.7 -1.19 S
+1595.09 2164.06 12.7 -1.22 S
+1633 2159.48 12.48 -2.5 S
+1670.49 2152.02 12.5 -2.49 S
+1707.96 2144.55 12.5 -2.5 S
+1745.45 2137.09 12.5 -2.5 S
+1782.92 2129.62 12.5 -2.49 S
+1820.4 2122.16 12.5 -2.5 S
+1857.9 2114.7 12.48 -2.5 S
+1895.38 2107.23 4.77 -0.95 6.1 -4.97 S
+1926.02 2085.2 9.87 -8.05 S
+1955.67 2061.07 9.89 -8.05 S
+1985.3 2036.92 9.9 -8.06 S
+2014.97 2012.79 9.88 -8.05 S
+2044.62 1988.63 9.88 -8.05 S
+2074.26 1964.5 9.89 -8.05 S
+2103.91 1940.34 9.89 -8.05 S
+2133.57 1916.21 9.88 -8.05 S
+2163.21 1892.05 9.88 -8.05 S
+2190.73 1865.64 8.57 -9.42 S
+2216.47 1837.37 8.57 -9.42 S
+2242.21 1809.09 8.59 -9.42 S
+2267.95 1780.82 8.59 -9.44 S
+2293.71 1752.54 8.57 -9.44 S
+2319.45 1724.24 8.57 -9.42 S
+2345.18 1695.96 8.57 -9.42 S
+2370.92 1667.69 8.59 -9.42 S
+2396.66 1639.41 8.59 -9.44 S
+2422.42 1611.11 8.57 -9.41 S
+2448.16 1582.83 4.99 -5.49 4.91 -2.06 S
+2481.54 1565.37 11.74 -4.97 S
+2516.73 1550.5 11.74 -4.97 S
+2551.96 1535.61 11.74 -4.94 S
+2587.16 1520.75 11.74 -4.95 S
+2622.37 1505.88 11.75 -4.97 S
+2657.57 1491 11.74 -4.95 S
+2692.79 1476.13 11.74 -4.95 S
+2728 1461.26 1.67 -0.72 9.61 5.23 S
+2761.68 1477.93 11.19 6.05 S
+2795.29 1496.14 11.2 6.07 S
+2828.88 1514.37 11.2 6.08 S
+2862.5 1532.59 11.2 6.05 S
+2896.09 1550.8 11.22 6.07 S
+2929.71 1569.04 11.2 6.07 S
+2963.3 1587.24 11.22 6.08 S
+2996.92 1605.46 9.24 5.02 1.37 1.75 S
+3023.22 1632.33 7.83 10.05 S
+3046.75 1662.48 7.86 10.07 S
+3070.29 1692.64 7.84 10.04 S
+3093.82 1722.79 7.86 10.04 S
+3117.36 1752.93 7.84 10.05 S
+3140.88 1783.09 7.86 10.05 S
+3164.43 1813.24 7.83 10.05 S
+3187.96 1843.38 7.86 10.05 S
+3211.48 1873.54 7.86 10.05 S
+3235.03 1903.69 7.83 10.05 S
+3258.55 1933.83 7.86 10.05 S
+3282.09 1963.98 0.57 0.73 10.07 6.17 S
+3314.47 1984.18 10.88 6.64 S
+3347.09 2004.12 10.87 6.64 S
+3379.71 2024.07 10.87 6.64 S
+3412.33 2043.99 10.87 6.66 S
+3444.95 2063.93 10.87 6.66 S
+3477.56 2083.88 10.87 6.66 S
+3510.18 2103.82 10.88 6.64 S
+3542.79 2123.76 10.88 6.64 S
+3577.91 2137.11 12.54 2.23 S
+3615.54 2143.82 12.54 2.21 S
+3653.17 2150.5 12.54 2.23 S
+3690.78 2157.21 12.55 2.21 S
+3728.41 2163.89 12.54 2.23 S
+3766.04 2170.59 12.54 2.23 S
+3803.67 2177.28 12.54 2.23 S
+2.77778 w
+794.12 2221.7 -22.46 -22.48 22.46 -22.5 22.48 22.5 -22.48 22.48 S
+1070.64 2225.17 -22.48 -22.48 22.48 -22.5 22.46 22.5 -22.46 22.48 S
+1347.13 2210.25 -22.46 -22.51 22.46 -22.5 22.46 22.5 -22.46 22.51 S
+1623.63 2183.83 -22.46 -22.48 22.46 -22.51 22.48 22.51 -22.48 22.48 S
+1900.15 2128.78 -22.48 -22.5 22.48 -22.48 22.46 22.48 -22.46 22.5 S
+2176.65 1903.62 -22.46 -22.5 22.46 -22.48 22.46 22.48 -22.46 22.5 S
+2453.14 1599.85 -22.46 -22.51 22.46 -22.5 22.48 22.5 -22.48 22.51 S
+2729.67 1483.05 -22.48 -22.51 22.48 -22.48 22.46 22.48 -22.46 22.51 S
+3006.16 1632.98 -22.46 -22.5 22.46 -22.48 22.46 22.48 -22.46 22.5 S
+3282.66 1987.21 -22.46 -22.5 22.46 -22.48 22.48 22.48 -22.48 22.5 S
+3559.18 2156.27 -22.48 -22.51 22.48 -22.48 22.46 22.48 -22.46 22.51 S
+3835.68 2205.46 -22.46 -22.48 22.46 -22.5 22.46 22.5 -22.46 22.48 S
+11.1111 w
+94 0 131 rG
+794.12 2127.78 50.89 2.54 S
+870.46 2131.58 50.89 2.54 S
+946.79 2135.39 50.91 2.54 S
+1023.13 2139.21 47.51 2.36 3.38 0.09 S
+1099.5 2142.32 50.93 1.32 S
+1175.91 2144.32 50.93 1.32 S
+1252.3 2146.29 50.93 1.32 S
+1328.71 2148.29 18.42 0.48 32.47 -1.93 S
+1405.04 2145.31 50.87 -3.02 S
+1481.34 2140.78 50.84 -3.04 S
+1557.62 2136.24 50.87 -3.03 S
+1633.18 2128.45 47.26 -19.08 S
+1704.08 2099.83 47.24 -19.1 S
+1774.96 2071.2 47.27 -19.09 S
+1845.83 2042.58 47.27 -19.09 S
+1914.34 2009.77 40.5 -30.96 S
+1975.09 1963.3 40.47 -30.97 S
+2035.8 1916.84 40.5 -30.97 S
+2096.55 1870.38 40.47 -30.99 S
+2157.27 1823.92 19.38 -14.85 23.81 -11.8 S
+2223.27 1785.92 45.66 -22.68 S
+2291.73 1751.89 45.64 -22.68 S
+2360.2 1717.88 45.64 -22.68 S
+2428.67 1683.86 24.48 -12.16 23.59 1.24 S
+2502.2 1674.29 50.87 2.69 S
+2578.52 1678.3 50.87 2.69 S
+2654.84 1682.33 50.87 2.7 S
+2731.01 1686.93 45.88 22.18 S
+2799.83 1720.21 45.89 22.2 S
+2868.66 1753.5 45.88 22.18 S
+2937.48 1786.76 45.9 22.2 S
+3006.32 1820.05 45.29 23.39 S
+3074.24 1855.14 45.3 23.37 S
+3142.17 1890.21 45.29 23.39 S
+3210.09 1925.3 45.29 23.39 S
+3278.02 1960.37 4.64 2.41 43.68 13.58 S
+3350.67 1983.94 48.66 15.13 S
+3423.66 2006.64 48.66 15.13 S
+3496.66 2029.34 48.66 15.15 S
+3569.96 2050.74 50.15 9.03 S
+3645.18 2064.28 50.15 9.03 S
+3720.4 2077.82 50.15 9.03 S
+3795.64 2091.36 40.04 7.23 S
+2.77778 w
+771.656 2105.27 44.9453 44.9883 re
+S
+1048.16 2119.08 44.9453 44.9883 re
+S
+1324.67 2126.26 44.9219 44.9883 re
+S
+1601.17 2109.81 44.9453 44.9883 re
+S
+1877.67 1998.16 44.9414 44.9883 re
+S
+2154.19 1786.59 44.9219 44.9883 re
+S
+2430.68 1649.2 44.9453 44.9883 re
+S
+2707.18 1663.78 44.9453 44.9883 re
+S
+2983.7 1797.48 44.9219 44.9883 re
+S
+3260.2 1940.28 44.9453 44.9883 re
+S
+3536.7 2026.3 44.9453 44.9883 re
+S
+3813.22 2076.08 44.9219 44.9883 re
+S
+11.1111 w
+201 0 44 rG
+1100.17 1206.66 54.3 0 S
+1181.64 1206.66 13.57 0 S
+1222.37 1206.66 54.32 0 S
+1303.84 1206.66 13.59 0 S
+2.77778 w
+1218.27 1229.17 -9.63 -3.21 -6.41 -6.42 -3.21 -9.66 0 -6.42 3.21 -9.63 6.41 -6.43 9.63 -3.21 
+6.42 0 9.62 3.21 6.42 6.43 3.21 9.63 0 6.42 -3.21 9.66 -6.42 6.42 -9.62 3.21 
+-6.42 0 S
+11.1111 w
+0 19 255 rG
+1100.17 1307.9 242.62 0 S
+2.77778 w
+1221.48 1330.41 -22.46 -45.01 44.92 0 -22.46 45.01 S
+11.1111 w
+28 185 13 rG
+1100.17 1409.14 12.74 0 S
+1138.39 1409.14 12.74 0 S
+1176.61 1409.14 12.74 0 S
+1214.82 1409.14 12.74 0 S
+1253.04 1409.14 12.71 0 S
+1291.23 1409.14 12.74 0 S
+1329.45 1409.14 12.74 0 S
+2.77778 w
+1221.48 1431.62 -22.46 -22.48 22.46 -22.51 22.46 22.51 -22.46 22.48 S
+11.1111 w
+94 0 131 rG
+1100.17 1510.37 50.96 0 S
+1176.61 1510.37 50.96 0 S
+1253.04 1510.37 50.93 0 S
+1329.45 1510.37 13.34 0 S
+2.77778 w
+1199.02 1487.87 44.9219 44.9883 re
+S
+K
+1350.89 1239.28 7.18 0 0 -23.83 1.82 2.39 2 1.84 2.08 1.34 2.09 0.93 1.93 0.61 
+1.72 0.35 2.3 0.17 3.41 -0.29 3.41 -0.91 1.64 -0.71 1.61 -0.89 1.52 -1.08 1.43 -1.28 
+1.34 -1.52 1.22 -1.71 1.06 -1.96 0.91 -2.17 0.76 -2.45 0.54 -2.69 0.35 -2.96 0.11 -3.23 
+-0.28 -5.2 -0.91 -4.8 -0.7 -2.21 -0.83 -2.09 -1 -1.93 -1.17 -1.75 -1.33 -1.61 -1.49 -1.41 
+-1.65 -1.24 -1.82 -1.04 -2 -0.83 -2.17 -0.59 -2.34 -0.36 -2.52 -0.14 -3.06 0.31 -1.71 0.45 
+-1.76 0.72 -1.75 0.99 -1.72 1.33 -1.58 1.71 -1.46 2.15 0 -5.41 -7.18 0 0 21.59 
+^ 0.29 -3.45 0.8 -3.21 1.26 -2.91 1.65 -2.52 1.95 -2.08 2.22 -1.58 2.39 -1 
+2.5 -0.35 1.54 0.11 1.45 0.33 1.37 0.55 1.26 0.69 2.24 1.89 1.84 2.41 1.46 2.78 
+1.02 3.02 0.63 3.15 0.22 3.08 -0.11 2.21 -0.26 2.04 -1.04 3.62 -1.52 3.02 -1.91 2.45 
+-2.1 1.87 -2.15 1.3 -2.08 0.78 -1.84 0.26 -2.63 -0.37 -2.45 -1.06 -2.21 -1.67 -1.93 -2.24 
+-1.59 -2.73 -1.21 -3.12 -0.76 -3.5 -0.26 -3.75 -7.18 0 0 41.38 f*
+1434.92 1206.45 -7.21 0 -0.3 1.84 -0.61 1.78 -0.91 1.67 -1.2 1.5 -1.5 1.28 -1.8 0.98 
+-2.08 0.63 -2.39 0.22 -2.87 -0.34 -2.5 -1.02 -2.17 -1.63 -1.78 -2.16 -1.41 -2.7 -1.02 -3.14 
+-0.63 -3.56 -0.2 -3.88 0.22 -3.84 0.67 -3.39 1.09 -2.93 1.49 -2.45 1.87 -1.93 2.23 -1.41 
+2.56 -0.84 2.89 -0.31 2.67 0.31 2.24 0.82 1.87 1.24 1.49 1.59 1.13 1.75 0.79 1.89 
+0.45 1.89 0.15 1.76 7.18 0 -0.29 -3.47 -0.89 -3.32 -1.47 -3.04 -2.06 -2.7 -1.26 -1.19 
+-1.39 -1.07 -1.56 -0.93 -1.7 -0.8 -1.84 -0.63 -1.97 -0.46 -2.15 -0.28 -2.28 -0.11 -2.61 0.15 
+-2.39 0.41 -2.17 0.7 -2 0.91 -1.8 1.13 -1.63 1.34 -1.43 1.54 -1.26 1.7 -1.11 1.84 
+-0.93 1.98 -1.39 4.25 -0.8 4.56 -0.26 4.68 0.21 3.23 0.48 2.96 0.71 2.69 0.91 2.45 
+1.11 2.17 1.26 1.96 1.39 1.71 1.49 1.52 1.59 1.28 1.61 1.08 3.32 1.61 3.21 0.91 
+2.91 0.29 3.16 -0.22 3.06 -0.67 2.87 -1.17 2.6 -1.71 2.26 -2.26 1.84 -2.88 1.37 -3.52 
+0.82 -4.21 f*
+1478.04 1206.45 -7.18 0 -0.33 1.84 -0.61 1.78 -0.89 1.67 -1.22 1.5 -1.5 1.28 -1.78 0.98 
+-2.08 0.63 -2.39 0.22 -2.86 -0.34 -2.52 -1.02 -2.15 -1.63 -1.8 -2.16 -1.41 -2.7 -1.02 -3.14 
+-0.61 -3.56 -0.21 -3.88 0.24 -3.84 0.67 -3.39 1.08 -2.93 1.5 -2.45 1.87 -1.93 2.23 -1.41 
+2.56 -0.84 2.89 -0.31 2.64 0.31 2.26 0.82 1.86 1.24 1.48 1.59 1.13 1.75 0.81 1.89 
+0.45 1.89 0.15 1.76 7.18 0 -0.31 -3.47 -0.87 -3.32 -1.48 -3.04 -2.06 -2.7 -1.26 -1.19 
+-1.41 -1.07 -1.54 -0.93 -1.69 -0.8 -1.84 -0.63 -2 -0.46 -2.12 -0.28 -2.31 -0.11 -2.57 0.15 
+-2.39 0.41 -2.2 0.7 -1.99 0.91 -1.8 1.13 -1.61 1.34 -1.43 1.54 -1.29 1.7 -1.08 1.84 
+-0.93 1.98 -1.39 4.25 -0.82 4.56 -0.26 4.68 0.24 3.23 0.48 2.96 0.71 2.69 0.91 2.45 
+1.11 2.17 1.26 1.96 1.39 1.71 1.49 1.52 1.56 1.28 1.63 1.08 3.32 1.61 3.21 0.91 
+2.91 0.29 3.17 -0.22 3.06 -0.67 2.86 -1.17 2.59 -1.71 2.28 -2.26 1.84 -2.88 1.37 -3.52 
+0.8 -4.21 f*
+1484.33 1196.98 20.6797 6.31641 re
+f*
+1549.93 1206.45 -7.18 0 -0.32 1.84 -0.61 1.78 -0.91 1.67 -1.2 1.5 -1.5 1.28 -1.78 0.98 
+-2.11 0.63 -2.37 0.22 -2.86 -0.34 -2.52 -1.02 -2.15 -1.63 -1.8 -2.16 -1.41 -2.7 -1.02 -3.14 
+-0.61 -3.56 -0.21 -3.88 0.24 -3.84 0.65 -3.39 1.11 -2.93 1.49 -2.45 1.87 -1.93 2.22 -1.41 
+2.58 -0.84 2.86 -0.31 2.67 0.31 2.26 0.82 1.84 1.24 1.5 1.59 1.13 1.75 0.79 1.89 
+0.46 1.89 0.15 1.76 7.21 0 -0.3 -3.47 -0.89 -3.32 -1.47 -3.04 -2.06 -2.7 -1.24 -1.19 
+-1.41 -1.07 -1.54 -0.93 -1.7 -0.8 -1.84 -0.63 -2 -0.46 -2.15 -0.28 -2.28 -0.11 -2.58 0.15 
+-2.39 0.41 -2.19 0.7 -2 0.91 -1.8 1.13 -1.61 1.34 -1.46 1.54 -1.25 1.7 -1.09 1.84 
+-0.93 1.98 -1.41 4.25 -0.8 4.56 -0.26 4.68 0.22 3.23 0.48 2.96 0.71 2.69 0.93 2.45 
+1.11 2.17 1.26 1.96 1.39 1.71 1.48 1.52 1.58 1.28 1.63 1.08 3.3 1.61 3.21 0.91 
+2.93 0.29 3.17 -0.22 3.04 -0.67 2.87 -1.17 2.6 -1.71 2.26 -2.26 1.87 -2.88 1.37 -3.52 
+0.8 -4.21 f*
+1582.73 1209.14 7.64 0 -0.18 1.93 -0.39 1.78 -0.55 1.59 -0.71 1.45 -0.87 1.29 -0.98 1.13 
+-2.28 1.87 -2.56 1.37 -2.73 0.89 -2.73 0.52 -2.65 0.15 -3.19 -0.24 -3.14 -0.67 -2.95 -1.15 
+-2.67 -1.58 -2.26 -2.04 -1.76 -2.47 -0.65 -1.41 -0.5 -1.5 -0.28 -1.61 -0.11 -1.72 0.15 -2.1 
+0.45 -1.89 0.76 -1.7 1.11 -1.52 1.43 -1.35 1.79 -1.19 2.12 -1.06 2.52 -0.91 11.25 -2.69 
+2.75 -0.85 1.15 -0.59 0.98 -0.69 0.78 -0.83 0.59 -0.97 0.37 -1.11 0.11 -1.25 -0.17 -1.48 
+-0.5 -1.37 -0.85 -1.22 -1.17 -1.06 -1.52 -0.87 -1.84 -0.65 -2.2 -0.41 -2.54 -0.15 -2.86 0.17 
+-2.28 0.48 -1.79 0.78 -1.32 1.04 -0.98 1.31 -0.7 1.54 -0.48 1.76 -0.39 1.93 -7.64 0 
+0.48 -3.26 0.76 -3.02 1.21 -2.67 1.72 -2.32 1.08 -1 1.26 -0.89 1.46 -0.76 1.65 -0.65 
+3.93 -0.89 4.88 -0.31 3.39 0.24 3.3 0.69 3.1 1.15 2.8 1.63 2.39 2.09 1 1.24 
+0.85 1.32 0.67 1.46 0.52 1.56 0.3 1.67 0.11 1.8 -0.22 2.39 -0.7 2.12 -1.12 1.85 
+-1.55 1.63 -1.99 1.43 -2.39 1.22 -2.78 1.06 -3.19 0.92 -8.53 1.8 -1.8 0.7 -1.39 0.71 
+-1.02 0.78 -0.74 0.79 -0.48 0.8 -0.26 0.85 -0.15 1.67 0.2 1.59 0.59 1.36 0.91 1.15 
+1.21 0.95 1.47 0.74 1.67 0.54 1.84 0.3 1.97 0.11 2.17 -0.15 1.82 -0.41 1.5 -0.65 
+1.19 -0.87 0.93 -1.06 0.68 -1.22 0.45 -1.37 0.24 -1.47 7.64 0 -7.64 0 f*
+1602.06 1221.75 6.29 0 0 -6.75 1.78 2.15 1.72 1.78 1.65 1.39 1.65 1.09 1.64 0.78 
+1.72 0.52 1.82 0.3 1.93 0.09 3.23 -0.43 1.52 -0.39 1.5 -0.59 1.46 -0.87 1.47 -1.2 
+1.45 -1.63 1.5 -2.11 1.83 2 1.75 1.61 1.72 1.26 1.66 0.93 1.7 0.67 1.72 0.44 
+3.55 0.3 2.24 -0.17 2.28 -0.52 2.19 -0.87 2 -1.26 1.75 -1.62 1.37 -2 0.89 -2.43 
+0.33 -2.82 0 -35.09 -7.2 0 0 32.4 -0.2 1.63 -0.54 1.52 -0.87 1.39 -1.09 1.2 
+-1.26 0.97 -1.34 0.76 -1.41 0.45 -1.37 0.17 -1.89 -0.24 -1.89 -0.62 -1.82 -1.02 -1.65 -1.33 
+-1.43 -1.61 -1.12 -1.82 -0.72 -2.02 -0.26 -2.15 0 -29.69 -7.18 0 0 32.4 -0.21 1.63 
+-0.56 1.52 -0.87 1.39 -1.11 1.2 -1.3 0.97 -1.46 0.76 -1.49 0.45 -1.54 0.17 -1.61 -0.21 
+-1.71 -0.58 -1.71 -0.96 -1.65 -1.28 -1.43 -1.59 -1.17 -1.84 -0.76 -2.06 -0.28 -2.28 0 -29.69 
+-7.18 0 0 45.45 f*
+1692.36 1237.48 4.95 0 0 -61.18 -7.64 0 0 43.64 -13.48 0 0 5.4 5.42 0.63 
+2.45 0.52 2.23 0.87 1.98 1.37 1.69 2.04 1.37 2.87 1.02 3.84 f*
+1719.33 1196.98 20.6641 6.31641 re
+f*
+1769.21 1237.48 4.95 0 0 -61.18 -7.64 0 0 43.64 -13.5 0 0 5.4 5.45 0.63 
+2.46 0.52 2.21 0.87 1.98 1.37 1.69 2.04 1.39 2.87 1.02 3.84 f*
+1404.36 1320.05 -1.28 5.14 -0.85 2.28 -0.97 2.06 -1.11 1.89 -1.23 1.7 -1.37 1.52 -1.5 1.33 
+-1.63 1.17 -1.75 0.97 -1.87 0.83 -2 0.67 -4.34 0.87 -4.82 0.26 -3.28 -0.15 -3.1 -0.48 
+-2.91 -0.79 -2.73 -1.06 -2.52 -1.33 -2.34 -1.61 -2.13 -1.84 -1.93 -2.09 -1.73 -2.3 -1.52 -2.5 
+-1.3 -2.71 -1.11 -2.89 -0.87 -3.06 -0.66 -3.21 -0.43 -3.36 -0.19 -3.47 0.15 -3.93 0.41 -3.69 
+0.69 -3.43 0.96 -3.2 1.19 -2.95 1.43 -2.69 1.63 -2.46 1.84 -2.19 2.02 -1.93 2.21 -1.7 
+2.37 -1.43 2.52 -1.18 2.67 -0.91 2.78 -0.66 2.89 -0.39 3 -0.13 3.23 0.13 2.99 0.37 
+2.73 0.61 2.5 0.84 2.26 1.07 2.04 1.23 1.82 1.43 1.63 1.61 1.41 1.79 1.24 1.9 
+1.04 2.04 0.87 2.15 1.21 4.62 0.63 4.95 -8.09 0 -0.82 -4.38 -1.15 -3.67 -1.5 -3.04 
+-1.91 -2.41 -2.32 -1.82 -2.78 -1.26 -3.26 -0.73 -3.78 -0.24 -2.61 0.13 -2.41 0.39 -2.24 0.61 
+-2.04 0.87 -1.89 1.06 -1.69 1.26 -1.52 1.48 -1.34 1.63 -1.17 1.82 -1.02 1.97 -0.84 2.11 
+-0.69 2.23 -0.91 4.86 -0.3 5.23 0.11 2.95 0.31 2.8 0.49 2.63 0.7 2.47 0.85 2.28 
+1.02 2.11 1.17 1.93 1.33 1.73 1.45 1.54 1.58 1.37 1.7 1.15 1.82 0.96 1.91 0.76 
+2 0.54 2.11 0.33 2.15 0.11 3.12 -0.24 2.96 -0.67 2.69 -1.11 2.41 -1.55 2.04 -1.91 
+1.63 -2.32 1.15 -2.67 0.63 -3.04 8.09 0 f*
+1466.82 1320.05 -1.28 5.14 -0.84 2.28 -0.98 2.06 -1.11 1.89 -1.26 1.7 -1.37 1.52 -1.48 1.33 
+-1.62 1.17 -1.76 0.97 -1.87 0.83 -1.99 0.67 -4.34 0.87 -4.82 0.26 -3.28 -0.15 -3.1 -0.48 
+-2.91 -0.79 -2.73 -1.06 -2.52 -1.33 -2.35 -1.61 -2.12 -1.84 -1.93 -2.09 -1.74 -2.3 -1.52 -2.5 
+-1.33 -2.71 -1.08 -2.89 -0.87 -3.06 -0.65 -3.21 -0.43 -3.36 -0.2 -3.47 0.13 -3.93 0.43 -3.69 
+0.7 -3.43 0.96 -3.2 1.19 -2.95 1.43 -2.69 1.63 -2.46 1.84 -2.19 2.02 -1.93 2.21 -1.7 
+2.36 -1.43 2.52 -1.18 2.67 -0.91 2.78 -0.66 2.88 -0.39 3 -0.13 3.23 0.13 3 0.37 
+2.73 0.61 2.5 0.84 2.25 1.07 2.04 1.23 1.82 1.43 1.63 1.61 1.41 1.79 1.24 1.9 
+1.04 2.04 0.86 2.15 1.22 4.62 0.63 4.95 -8.1 0 -0.82 -4.38 -1.15 -3.67 -1.52 -3.04 
+-1.89 -2.41 -2.32 -1.82 -2.78 -1.26 -3.25 -0.73 -3.78 -0.24 -2.61 0.13 -2.41 0.39 -2.24 0.61 
+-2.04 0.87 -1.89 1.06 -1.69 1.26 -1.52 1.48 -1.34 1.63 -1.17 1.82 -1.02 1.97 -0.85 2.11 
+-0.7 2.23 -0.91 4.86 -0.3 5.23 0.11 2.95 0.3 2.8 0.5 2.63 0.7 2.47 0.84 2.28 
+1.02 2.11 1.17 1.93 1.33 1.73 1.45 1.54 1.59 1.37 1.69 1.15 1.82 0.96 1.91 0.76 
+1.99 0.54 2.09 0.33 2.17 0.11 3.13 -0.24 2.95 -0.67 2.69 -1.11 2.41 -1.55 2.04 -1.91 
+1.63 -2.32 1.15 -2.67 0.63 -3.04 8.09 0 f*
+1523.87 1321.4 -0.13 2.36 -0.34 2.21 -0.61 2.04 -0.8 1.91 -1 1.73 -1.2 1.59 -1.37 1.43 
+-1.52 1.28 -1.67 1.13 -1.8 0.98 -3.97 1.5 -4.34 0.89 -4.62 0.29 -5.34 -0.34 -2.39 -0.42 
+-2.21 -0.58 -2.04 -0.74 -1.83 -0.89 -1.67 -1.05 -1.48 -1.15 -1.3 -1.28 -1.13 -1.41 -0.93 -1.52 
+-0.78 -1.62 -0.61 -1.72 -0.42 -1.82 -0.34 -3.91 0.24 -3.11 0.63 -2.63 0.98 -2.16 1.3 -1.82 
+1.57 -1.5 1.73 -1.23 1.91 -1.04 1.97 -0.89 20.23 -5.4 2.32 -0.89 1.93 -0.96 1.57 -1.06 
+1.21 -1.13 0.89 -1.24 0.61 -1.3 0.35 -1.39 0.11 -1.48 -0.17 -2.15 -0.59 -2.02 -1.04 -1.82 
+-1.56 -1.61 -2.17 -1.32 -2.8 -1.02 -3.54 -0.63 -4.3 -0.24 -4.36 0.32 -3.69 0.91 -3.02 1.43 
+-2.41 1.84 -1.82 2.17 -1.26 2.43 -0.73 2.61 -0.24 2.69 -8.07 0 0.09 -2.26 0.28 -2.16 
+0.48 -2.09 0.7 -2 0.87 -1.89 1.07 -1.78 1.28 -1.67 1.48 -1.52 1.69 -1.39 1.89 -1.22 
+2.09 -1.06 2.32 -0.91 2.52 -0.71 2.73 -0.52 2.98 -0.3 3.16 -0.11 2.93 0.08 2.75 0.29 
+2.56 0.48 2.37 0.65 2.17 0.78 1.99 0.96 1.8 1.11 1.61 1.21 1.43 1.34 1.24 1.46 
+1.04 1.56 0.85 1.65 0.67 1.73 0.46 1.8 0.3 1.87 0.09 1.91 -0.28 3.06 -0.8 2.76 
+-1.24 2.45 -1.61 2.15 -1.91 1.82 -2.12 1.5 -2.28 1.17 -2.35 0.84 -20.22 5.41 -3.52 1.84 
+-1.17 0.84 -0.87 0.91 -0.59 0.98 -0.34 1.11 -0.24 2.87 0.29 2.37 0.82 2.08 1.29 1.78 
+1.71 1.48 2.06 1.15 2.37 0.82 2.61 0.5 2.8 0.15 3.64 -0.24 3.17 -0.72 2.69 -1.13 
+2.23 -1.49 1.74 -1.87 1.23 -2.13 0.76 -2.41 0.24 -2.6 8.09 0 f*
+1536 1339.84 11.25 0 18.42 -54.88 18.43 54.88 11.22 0 0 -63 -7.64 0 0 52.65 
+-17.96 -52.65 -8.53 0 -17.54 52.65 0 -52.65 -7.64 0 0 63 f*
+1631.71 1338.04 5.4 0 0 -39.58 9.42 0 0 -7.21 ^ 0 -14.41 -7.64 0 
+^ -25.61 0 0 7.21 ^ 0 26.54 -18.88 -26.54 -6.73 0 0 0.89 
+27.85 38.69 f*
+1404.36 1421.5 -1.28 5.14 -0.85 2.28 -0.97 2.08 -1.11 1.87 -1.23 1.69 -1.37 1.52 -1.5 1.32 
+-1.63 1.17 -1.75 0.98 -1.87 0.83 -2 0.67 -4.34 0.87 -4.82 0.28 -3.28 -0.18 -3.1 -0.48 
+-2.91 -0.75 -2.73 -1.07 -2.52 -1.34 -2.34 -1.61 -2.13 -1.85 -1.93 -2.08 -1.73 -2.3 -1.52 -2.49 
+-1.3 -2.72 -1.11 -2.88 -0.87 -3.06 -0.66 -3.21 -0.43 -3.34 -0.19 -3.49 0.15 -3.93 0.41 -3.7 
+0.69 -3.43 0.96 -3.19 1.19 -2.95 1.43 -2.7 1.63 -2.45 1.84 -2.19 2.02 -1.93 2.21 -1.69 
+2.37 -1.43 2.52 -1.17 2.67 -0.91 2.78 -0.65 2.89 -0.39 3 -0.13 3.23 0.13 2.99 0.37 
+2.73 0.63 2.5 0.82 2.26 1.06 2.04 1.24 1.82 1.45 1.63 1.61 1.41 1.76 1.24 1.91 
+1.04 2.04 0.87 2.15 1.21 4.63 0.63 4.95 -8.09 0 -0.82 -4.37 -1.15 -3.69 -1.5 -3.04 
+-1.91 -2.41 -2.32 -1.82 -2.78 -1.26 -3.26 -0.74 -3.78 -0.24 -2.61 0.13 -2.41 0.39 -2.24 0.63 
+-2.04 0.85 -1.89 1.06 -1.69 1.26 -1.52 1.47 -1.34 1.63 -1.17 1.82 -1.02 1.98 -0.84 2.11 
+-0.69 2.26 -0.91 4.84 -0.3 5.23 0.11 2.95 0.31 2.8 0.49 2.62 0.7 2.48 0.85 2.28 
+1.02 2.11 1.17 1.93 1.33 1.74 1.45 1.54 1.58 1.37 1.7 1.15 1.82 0.95 1.91 0.76 
+2 0.54 2.11 0.32 2.15 0.11 3.12 -0.24 2.96 -0.67 2.69 -1.11 2.41 -1.52 2.04 -1.93 
+1.63 -2.32 1.15 -2.67 0.63 -3.04 8.09 0 f*
+1417.38 1441.3 43.58 0 0 -7.21 -35.48 0 0 -20.25 34.13 0 0 -7.18 ^ 
+0 -21.16 36.85 0 0 -7.18 -44.95 0 0 62.98 f*
+1518.92 1422.85 -0.11 2.36 -0.37 2.22 -0.59 2.06 -0.8 1.88 -1.02 1.74 -1.17 1.58 -1.37 1.43 
+-1.54 1.28 -1.67 1.13 -1.8 0.97 -3.95 1.5 -4.36 0.89 -4.6 0.3 -5.36 -0.37 -2.38 -0.41 
+-2.22 -0.59 -2.02 -0.74 -1.84 -0.89 -1.67 -1.02 -1.48 -1.17 -1.3 -1.28 -1.13 -1.41 -0.93 -1.52 
+-0.78 -1.63 -0.59 -1.71 -0.43 -1.82 -0.35 -3.89 0.24 -3.12 0.63 -2.61 1 -2.19 1.28 -1.83 
+1.56 -1.49 1.73 -1.24 1.91 -1.04 2 -0.89 20.2 -5.41 2.32 -0.87 1.93 -0.98 1.56 -1.06 
+1.22 -1.13 0.89 -1.23 0.61 -1.31 0.35 -1.39 0.11 -1.47 -0.17 -2.15 -0.56 -1.99 -1.04 -1.84 
+-1.59 -1.61 -2.15 -1.33 -2.82 -1.02 -3.51 -0.64 -4.32 -0.24 -4.36 0.33 -3.69 0.91 -3.02 1.43 
+-2.41 1.84 -1.83 2.18 -1.25 2.43 -0.72 2.61 -0.24 2.69 -8.09 0 0.09 -2.25 0.3 -2.17 
+0.48 -2.08 0.67 -2 0.87 -1.89 1.06 -1.78 1.28 -1.65 1.48 -1.54 1.7 -1.37 1.89 -1.23 
+2.1 -1.07 2.3 -0.91 2.52 -0.7 2.75 -0.54 2.95 -0.3 3.17 -0.11 2.96 0.09 2.73 0.3 
+2.56 0.46 2.36 0.65 2.19 0.8 1.97 0.93 1.8 1.11 1.63 1.21 1.41 1.35 1.23 1.45 
+1.04 1.57 0.85 1.64 0.67 1.74 0.48 1.8 0.29 1.87 0.08 1.91 -0.28 3.06 -0.8 2.75 
+-1.24 2.45 -1.61 2.15 -1.9 1.82 -2.13 1.5 -2.26 1.16 -2.36 0.85 -20.21 5.4 -3.52 1.84 
+-1.2 0.85 -0.84 0.91 -0.61 0.98 -0.35 1.11 -0.24 2.86 0.28 2.39 0.82 2.06 1.28 1.79 
+1.72 1.47 2.06 1.15 2.36 0.83 2.61 0.5 2.8 0.17 3.64 -0.26 3.17 -0.7 2.71 -1.15 
+2.21 -1.5 1.74 -1.84 1.24 -2.14 0.76 -2.41 0.26 -2.61 8.07 0 f*
+1531.05 1441.3 11.24 0 18.43 -54.88 18.42 54.88 11.22 0 0 -62.98 -7.64 0 0 52.62 
+-17.97 -52.62 -8.53 0 -17.53 52.62 0 -52.62 -7.64 0 0 62.98 f*
+1621.38 1439.5 4.94 0 0 -61.17 -7.64 0 0 43.64 -13.47 0 0 5.38 5.42 0.65 
+2.45 0.52 2.24 0.87 1.97 1.37 1.67 2.04 1.39 2.87 1.02 3.84 f*
+1648.33 1399 20.6836 6.31641 re
+f*
+1730.55 1421.5 -1.28 5.14 -0.85 2.28 -0.98 2.08 -1.11 1.87 -1.23 1.69 -1.37 1.52 -1.49 1.32 
+-1.61 1.17 -1.76 0.98 -1.87 0.83 -2 0.67 -4.34 0.87 -4.82 0.28 -3.3 -0.18 -3.09 -0.48 
+-2.93 -0.75 -2.71 -1.07 -2.54 -1.34 -2.32 -1.61 -2.15 -1.85 -1.93 -2.08 -1.73 -2.3 -1.52 -2.49 
+-1.3 -2.72 -1.09 -2.88 -0.89 -3.06 -0.65 -3.21 -0.41 -3.34 -0.22 -3.49 0.15 -3.93 0.43 -3.7 
+0.69 -3.43 0.96 -3.19 1.2 -2.95 1.41 -2.7 1.65 -2.45 1.82 -2.19 2.04 -1.93 2.21 -1.69 
+2.36 -1.43 2.52 -1.17 2.64 -0.91 2.8 -0.65 2.89 -0.39 2.99 -0.13 3.23 0.13 2.97 0.37 
+2.73 0.63 2.49 0.82 2.28 1.06 2.04 1.24 1.82 1.45 1.63 1.61 1.41 1.76 1.21 1.91 
+1.05 2.04 0.87 2.15 1.24 4.63 0.63 4.95 -8.09 0 -0.82 -4.37 -1.15 -3.69 -1.52 -3.04 
+-1.89 -2.41 -2.32 -1.82 -2.78 -1.26 -3.28 -0.74 -3.75 -0.24 -2.61 0.13 -2.43 0.39 -2.21 0.63 
+-2.06 0.85 -1.87 1.06 -1.7 1.26 -1.52 1.47 -1.34 1.63 -1.2 1.82 -1 1.98 -0.84 2.11 
+-0.7 2.26 -0.91 4.84 -0.3 5.23 0.11 2.95 0.3 2.8 0.5 2.62 0.67 2.48 0.87 2.28 
+1 2.11 1.19 1.93 1.3 1.74 1.48 1.54 1.58 1.37 1.7 1.15 1.82 0.95 1.91 0.76 
+2 0.54 2.08 0.32 2.17 0.11 3.13 -0.24 2.93 -0.67 2.71 -1.11 2.41 -1.52 2.04 -1.93 
+1.63 -2.32 1.15 -2.67 0.63 -3.04 8.07 0 f*
+1759.77 1441.3 10.33 0 22.03 -62.98 -8.98 0 -6.3 18.44 -24.71 0 -6.3 -18.44 -8.98 0 
+19.77 53.96 8.09 0 -10.33 -28.34 20.21 0 -9.88 28.34 -8.09 0 3.15 9.01 f*
+1799.76 1441.3 11.22 0 18.42 -54.88 18.42 54.88 11.24 0 0 -62.98 -7.64 0 0 52.62 
+-17.97 -52.62 -8.55 0 -17.51 52.62 0 -52.62 -7.64 0 0 62.98 f*
+1874.35 1439.5 31.9 0 0 -7.21 -25.61 0 -2.26 -17.54 2.22 1.59 2.62 1.28 3.13 0.87 
+3.71 0.3 3.16 -0.26 3.28 -0.81 3.23 -1.43 1.54 -0.98 1.48 -1.12 1.39 -1.33 1.26 -1.5 
+1.13 -1.69 0.98 -1.89 0.78 -2.08 0.61 -2.32 0.37 -2.52 0.13 -2.76 -0.34 -4.32 -1 -4.06 
+-0.76 -1.93 -0.91 -1.82 -1.09 -1.7 -1.24 -1.58 -1.41 -1.46 -1.57 -1.3 -1.73 -1.13 -1.91 -0.95 
+-2.04 -0.79 -2.21 -0.57 -2.38 -0.34 -2.52 -0.11 -4.54 0.35 -2.02 0.41 -1.87 0.59 -1.69 0.71 
+-1.54 0.85 -2.67 2.11 -2.14 2.52 -1.67 2.91 -1.24 3.21 -0.84 3.46 7.64 0 0.78 -2.26 
+0.97 -2.02 1.22 -1.78 1.41 -1.5 1.61 -1.19 1.84 -0.87 2.04 -0.56 2.26 -0.18 3.03 0.24 
+2.74 0.7 2.38 1.15 2 1.63 1.61 2.08 1.2 2.56 0.71 3.02 0.25 3.47 -0.19 2.56 
+-0.59 2.54 -1 2.43 -1.43 2.19 -1.86 1.91 -2.32 1.48 -2.8 0.95 -3.27 0.35 -1.74 -0.09 
+-1.54 -0.26 -1.41 -0.45 -1.32 -0.61 -2.65 -1.82 -3.04 -2.62 -6.73 0 4.5 33.29 f*
+1408.4 1519.36 -26.52 0 0 -7.2 18.88 0 0 -4.04 -0.35 -3.06 -1.02 -3.02 -1.67 -2.86 
+-2.23 -2.58 -2.8 -2.2 -1.59 -0.91 -1.71 -0.76 -1.82 -0.58 -1.93 -0.43 -2.06 -0.21 -2.12 -0.02 
+-2.84 0.13 -2.64 0.41 -2.43 0.68 -2.23 0.89 -2.02 1.13 -1.84 1.34 -1.65 1.52 -1.48 1.72 
+-1.26 1.86 -1.11 2.02 -0.91 2.17 -0.76 2.25 -0.98 4.84 -0.33 5.12 0.13 2.8 0.32 2.67 
+0.54 2.54 0.76 2.38 0.93 2.24 1.11 2.06 1.28 1.91 1.46 1.74 1.58 1.56 1.71 1.36 
+1.87 1.18 1.95 0.98 2.09 0.78 2.17 0.54 2.25 0.35 2.32 0.11 2.21 -0.13 2.54 -0.45 
+2.69 -0.81 2.66 -1.25 2.5 -1.71 2.17 -2.28 0.91 -1.34 0.79 -1.52 0.61 -1.69 0.43 -1.84 
+8.55 0 -0.63 2.67 -1.23 3.15 -1.93 3.36 -1.24 1.67 -1.43 1.63 -1.65 1.56 -1.84 1.46 
+-2.09 1.32 -2.3 1.15 -2.56 0.95 -2.8 0.72 -3.04 0.45 -3.32 0.15 -3.45 -0.15 -3.28 -0.48 
+-3.1 -0.79 -2.91 -1.06 -2.71 -1.32 -2.52 -1.59 -2.3 -1.85 -2.09 -2.06 -1.87 -2.28 -1.65 -2.47 
+-1.41 -2.67 -1.15 -2.84 -0.93 -3 -0.65 -3.17 -0.41 -3.28 -0.13 -3.41 0.15 -4.23 0.46 -3.91 
+0.73 -3.62 1.02 -3.3 1.28 -3.02 1.52 -2.73 1.73 -2.43 1.98 -2.17 2.15 -1.89 2.36 -1.62 
+2.52 -1.34 2.67 -1.11 2.82 -0.85 2.93 -0.58 3.06 -0.37 3.17 -0.11 2.25 0.11 2.41 0.34 
+2.5 0.63 2.54 0.93 2.58 1.28 2.56 1.63 2.5 2.04 2.43 2.47 1.8 -7.64 5.38 0 
+0 33.29 f*
+1423.22 1486.07 8.09375 62.9766 re
+f*
+1490.62 1530.6 -0.12 2.39 -0.37 2.19 -0.59 2.06 -0.8 1.89 -1 1.75 -1.2 1.59 -1.36 1.43 
+-1.52 1.29 -1.67 1.13 -1.8 0.95 -3.97 1.5 -4.34 0.89 -4.63 0.3 -5.33 -0.35 -2.41 -0.43 
+-2.19 -0.59 -2.04 -0.74 -1.84 -0.89 -1.65 -1.02 -1.47 -1.16 -1.3 -1.3 -1.13 -1.39 -0.95 -1.52 
+-0.76 -1.62 -0.61 -1.74 -0.41 -1.82 -0.35 -3.88 0.22 -3.11 0.65 -2.62 0.98 -2.2 1.3 -1.8 
+1.54 -1.5 1.76 -1.23 1.88 -1.04 2 -0.91 20.22 -5.39 2.32 -0.89 1.93 -0.98 1.54 -1.04 
+1.24 -1.15 0.89 -1.21 0.61 -1.32 0.34 -1.39 0.11 -1.48 -0.18 -2.12 -0.59 -2.02 -1.04 -1.84 
+-1.56 -1.61 -2.16 -1.32 -2.8 -1 -3.54 -0.65 -4.29 -0.21 -4.37 0.32 -3.69 0.92 -3.04 1.41 
+-2.39 1.84 -1.82 2.2 -1.26 2.43 -0.74 2.59 -0.24 2.69 -8.07 0 0.09 -2.24 0.28 -2.16 
+0.47 -2.11 0.68 -1.98 0.89 -1.91 1.06 -1.78 1.29 -1.65 1.47 -1.52 1.67 -1.39 1.89 -1.24 
+2.11 -1.06 2.32 -0.89 2.52 -0.71 2.73 -0.52 2.95 -0.32 3.2 -0.11 2.93 0.11 2.76 0.28 
+2.56 0.48 2.37 0.63 2.17 0.8 2 0.96 1.8 1.08 1.61 1.24 1.43 1.34 1.23 1.46 
+1.05 1.56 0.84 1.65 0.65 1.71 0.48 1.8 0.28 1.87 0.11 1.93 -0.29 3.06 -0.8 2.76 
+-1.23 2.45 -1.61 2.13 -1.91 1.83 -2.13 1.49 -2.28 1.2 -2.34 0.82 -20.23 5.41 -3.51 1.84 
+-1.17 0.87 -0.87 0.89 -0.58 0.98 -0.37 1.13 -0.21 2.84 0.28 2.39 0.83 2.08 1.28 1.78 
+1.71 1.46 2.06 1.15 2.37 0.82 2.6 0.5 2.8 0.17 3.63 -0.24 3.19 -0.71 2.69 -1.13 
+2.24 -1.52 1.73 -1.84 1.24 -2.15 0.75 -2.39 0.24 -2.62 8.09 0 f*
+1548.13 1530.6 -0.13 2.39 -0.35 2.19 -0.61 2.06 -0.8 1.89 -1 1.75 -1.2 1.59 -1.37 1.43 
+-1.52 1.29 -1.67 1.13 -1.8 0.95 -3.97 1.5 -4.34 0.89 -4.6 0.3 -5.36 -0.35 -2.39 -0.43 
+-2.21 -0.59 -2.04 -0.74 -1.82 -0.89 -1.67 -1.02 -1.48 -1.16 -1.3 -1.3 -1.13 -1.39 -0.93 -1.52 
+-0.78 -1.62 -0.61 -1.74 -0.41 -1.82 -0.35 -3.88 0.24 -3.11 0.63 -2.62 0.98 -2.2 1.3 -1.8 
+1.57 -1.5 1.73 -1.23 1.91 -1.04 1.97 -0.91 20.23 -5.39 2.32 -0.89 1.93 -0.98 1.56 -1.04 
+1.22 -1.15 0.89 -1.21 0.61 -1.32 0.35 -1.39 0.11 -1.48 -0.17 -2.12 -0.59 -2.02 -1.04 -1.84 
+-1.56 -1.61 -2.15 -1.32 -2.82 -1 -3.53 -0.65 -4.3 -0.21 -4.36 0.32 -3.69 0.92 -3.02 1.41 
+-2.41 1.84 -1.82 2.2 -1.25 2.43 -0.74 2.59 -0.24 2.69 -8.07 0 0.08 -2.24 0.29 -2.16 
+0.48 -2.11 0.7 -1.98 0.87 -1.91 1.07 -1.78 1.28 -1.65 1.48 -1.52 1.7 -1.39 1.88 -1.24 
+2.09 -1.06 2.32 -0.89 2.52 -0.71 2.74 -0.52 2.97 -0.32 3.17 -0.11 2.93 0.11 2.76 0.28 
+2.56 0.48 2.37 0.63 2.19 0.8 1.97 0.96 1.8 1.08 1.61 1.24 1.43 1.34 1.24 1.46 
+1.04 1.56 0.85 1.65 0.67 1.71 0.48 1.8 0.29 1.87 0.08 1.93 -0.28 3.06 -0.8 2.76 
+-1.24 2.45 -1.61 2.13 -1.9 1.83 -2.13 1.49 -2.28 1.2 -2.34 0.82 -20.21 5.41 -3.54 1.84 
+-1.17 0.87 -0.87 0.89 -0.58 0.98 -0.35 1.13 -0.24 2.84 0.29 2.39 0.82 2.08 1.29 1.78 
+1.71 1.46 2.06 1.15 2.37 0.82 2.61 0.5 2.8 0.17 3.64 -0.24 3.17 -0.71 2.69 -1.13 
+2.23 -1.52 1.74 -1.84 1.23 -2.15 0.76 -2.39 0.24 -2.62 8.09 0 f*
+1557.57 1506.77 20.6641 6.29297 re
+f*
+1590.37 1549.04 43.59 0 0 -7.18 -35.5 0 0 -20.24 34.16 0 0 -7.21 ^ 
+0 -21.14 36.84 0 0 -7.21 -44.94 0 0 62.98 f*
+1644.29 1526.11 7.64 0 0.2 3.08 0.56 2.78 0.98 2.45 1.34 2.11 1.76 1.69 2.16 1.24 
+2.59 0.78 2.99 0.28 2.3 -0.21 2.17 -0.61 1.97 -1 1.76 -1.34 1.43 -1.67 1.11 -2 
+0.7 -2.3 0.24 -2.56 -0.22 -2.62 -0.63 -2.17 -1.06 -1.87 -1.52 -1.67 -1.95 -1.59 -2.39 -1.61 
+-6.16 -3.77 -5.21 -3.06 -4.25 -3.08 -3.37 -3.14 -2.55 -3.26 -1.85 -3.43 -1.21 -3.59 -0.67 -3.82 
+-0.2 -4.08 40.89 0 0 7.21 -32.36 0 0.8 2.75 1.11 2.3 1.46 1.96 1.8 1.75 
+2.26 1.67 2.69 1.7 6.96 4.05 4.04 2 3.34 2.24 2.73 2.45 2.13 2.61 1.59 2.69 
+1.08 2.76 0.63 2.78 0.2 2.74 -0.11 1.91 -0.3 1.83 -0.5 1.73 -0.67 1.65 -0.85 1.54 
+-1 1.43 -2.41 2.56 -2.95 2.06 -3.34 1.54 -3.71 0.96 -3.93 0.35 -4.23 -0.33 -3.87 -0.95 
+-1.78 -0.73 -1.67 -0.89 -1.54 -1.04 -1.41 -1.24 -1.29 -1.39 -1.13 -1.56 -0.97 -1.74 -0.83 -1.91 
+-0.65 -2.09 -0.48 -2.26 -0.3 -2.43 -0.09 -2.61 f*
+1691.93 1506.77 20.6602 6.29297 re
+f*
+1724.71 1549.04 31.01 0 3.19 -0.26 3.15 -0.82 2.95 -1.34 2.67 -1.89 2.26 -2.41 0.95 -1.41 
+0.8 -1.54 0.65 -1.65 0.5 -1.8 0.28 -1.91 0.11 -2.04 -0.18 -2.58 -0.5 -2.34 -0.82 -2.11 
+-1.13 -1.91 -1.48 -1.74 -1.78 -1.54 -2.06 -1.39 -2.39 -1.26 2.95 -1.35 2.18 -1.65 1.52 -1.95 
+1 -2.24 0.57 -2.5 0.26 -2.71 0.06 -6.05 0.39 -4.28 0.63 -2.97 0.5 -1.11 0.63 -0.93 
+0.84 -0.8 1.07 -0.7 0 -1.8 -9.89 0 -1.04 2.73 -0.52 2.99 -0.2 4.52 -0.04 7.31 
+-0.2 2.34 -0.56 1.98 -0.89 1.63 -1.16 1.3 -1.37 0.98 -1.52 0.69 -1.61 0.39 -1.7 0.13 
+-22 0 0 -27 -8.1 0 0 55.79 ^ 0 -21.59 22 0 2.11 0.16 
+1.91 0.46 1.7 0.78 1.43 1.13 1.17 1.5 0.85 1.86 0.54 2.26 0.2 2.65 -0.2 2.54 
+-0.54 2.19 -0.91 1.84 -1.21 1.52 -1.55 1.2 -1.84 0.84 -2.14 0.5 -2.39 0.17 -29.21 0 
+0 7.18 f*
+1777.73 1470.77 51.6719 4.0625 re
+f*
+1884.68 1529.25 -1.28 5.16 -0.85 2.26 -0.97 2.09 -1.11 1.88 -1.23 1.7 -1.37 1.5 -1.5 1.34 
+-1.63 1.15 -1.73 1 -1.86 0.82 -2 0.65 -4.36 0.87 -4.82 0.29 -3.28 -0.15 -3.1 -0.48 
+-2.91 -0.79 -2.71 -1.06 -2.54 -1.34 -2.34 -1.59 -2.13 -1.84 -1.93 -2.09 -1.73 -2.3 -1.52 -2.52 
+-1.3 -2.71 -1.11 -2.88 -0.87 -3.04 -0.66 -3.21 -0.43 -3.36 -0.19 -3.49 0.15 -3.91 0.41 -3.69 
+0.69 -3.45 0.96 -3.19 1.19 -2.93 1.43 -2.71 1.63 -2.43 1.84 -2.19 2.04 -1.96 2.2 -1.67 
+2.39 -1.43 2.52 -1.17 2.64 -0.93 2.78 -0.65 2.89 -0.39 3 -0.13 3.23 0.13 2.99 0.39 
+2.73 0.61 2.5 0.84 2.28 1.05 2.04 1.26 1.82 1.43 1.61 1.61 1.43 1.76 1.21 1.91 
+1.04 2.04 0.87 2.17 1.24 4.62 0.61 4.93 -8.07 0 -0.82 -4.36 -1.17 -3.69 -1.5 -3.04 
+-1.91 -2.41 -2.32 -1.8 -2.78 -1.28 -3.26 -0.72 -3.78 -0.24 -2.61 0.13 -2.41 0.37 -2.24 0.63 
+-2.04 0.84 -1.87 1.07 -1.7 1.28 -1.52 1.46 -1.34 1.65 -1.2 1.8 -1.02 1.97 -0.85 2.11 
+-0.69 2.26 -0.89 4.84 -0.3 5.23 0.11 2.97 0.3 2.8 0.5 2.63 0.67 2.45 0.85 2.28 
+1.02 2.11 1.17 1.93 1.33 1.73 1.45 1.57 1.59 1.34 1.71 1.15 1.8 0.98 1.91 0.74 
+2.02 0.54 2.09 0.33 2.15 0.11 3.12 -0.21 2.96 -0.7 2.71 -1.11 2.39 -1.52 2.04 -1.93 
+1.63 -2.3 1.17 -2.7 0.61 -3.04 8.1 0 f*
+1947.13 1529.25 -1.28 5.16 -0.84 2.26 -0.98 2.09 -1.11 1.88 -1.24 1.7 -1.37 1.5 -1.5 1.34 
+-1.62 1.15 -1.73 1 -1.89 0.82 -1.97 0.65 -4.37 0.87 -4.82 0.29 -3.28 -0.15 -3.1 -0.48 
+-2.91 -0.79 -2.71 -1.06 -2.54 -1.34 -2.34 -1.59 -2.13 -1.84 -1.93 -2.09 -1.74 -2.3 -1.52 -2.52 
+-1.3 -2.71 -1.11 -2.88 -0.87 -3.04 -0.65 -3.21 -0.43 -3.36 -0.2 -3.49 0.16 -3.91 0.41 -3.69 
+0.7 -3.45 0.96 -3.19 1.19 -2.93 1.43 -2.71 1.63 -2.43 1.84 -2.19 2.04 -1.96 2.19 -1.67 
+2.39 -1.43 2.52 -1.17 2.65 -0.93 2.78 -0.65 2.88 -0.39 3 -0.13 3.23 0.13 3 0.39 
+2.73 0.61 2.5 0.84 2.25 1.05 2.06 1.26 1.82 1.43 1.61 1.61 1.43 1.76 1.22 1.91 
+1.04 2.04 0.87 2.17 1.24 4.62 0.61 4.93 -8.08 0 -0.82 -4.36 -1.17 -3.69 -1.5 -3.04 
+-1.91 -2.41 -2.32 -1.8 -2.78 -1.28 -3.25 -0.72 -3.78 -0.24 -2.61 0.13 -2.41 0.37 -2.24 0.63 
+-2.04 0.84 -1.87 1.07 -1.69 1.28 -1.52 1.46 -1.37 1.65 -1.17 1.8 -1.02 1.97 -0.85 2.11 
+-0.7 2.26 -0.91 4.84 -0.29 5.23 0.11 2.97 0.3 2.8 0.48 2.63 0.7 2.45 0.84 2.28 
+1.02 2.11 1.17 1.93 1.33 1.73 1.45 1.57 1.59 1.34 1.71 1.15 1.8 0.98 1.91 0.74 
+2.02 0.54 2.08 0.33 2.15 0.11 3.13 -0.21 2.95 -0.7 2.69 -1.11 2.41 -1.52 2.04 -1.93 
+1.63 -2.3 1.17 -2.7 0.61 -3.04 8.09 0 f*
+1059.7 2759.66 21.68 0 35.53 -105.86 35.53 105.86 21.66 0 0 -121.48 -14.73 0 0 101.52 
+-34.66 -101.52 -16.45 0 -33.81 101.52 0 -101.52 -14.73 0 0 121.48 f*
+1231.29 2728.41 4.01 -0.24 3.91 -0.73 3.8 -1.2 3.64 -1.61 3.47 -2.04 3.3 -2.41 3.06 -2.78 
+2.84 -3.09 2.6 -3.4 2.32 -3.69 2.02 -3.93 1.69 -4.17 1.37 -4.36 1 -4.56 0.61 -4.68 
+0.2 -4.84 -0.2 -4.82 -0.61 -4.67 -1 -4.49 -1.37 -4.32 -1.69 -4.1 -2.02 -3.86 -2.32 -3.61 
+-2.6 -3.32 -2.84 -3.02 -3.06 -2.7 -3.3 -2.34 -3.47 -1.96 -3.64 -1.56 -3.8 -1.15 -3.91 -0.72 
+-4.01 -0.24 -4.02 0.24 -3.93 0.72 -3.8 1.15 -3.62 1.56 -3.5 1.96 -3.28 2.34 -3.08 2.7 
+-2.84 3.02 -2.59 3.32 -2.32 3.61 -2.02 3.86 -1.7 4.1 -1.37 4.32 -1 4.49 -0.61 4.67 
+-0.21 4.82 14.73 0 0.11 -3.38 0.33 -3.3 0.54 -3.19 0.76 -3.1 0.96 -2.93 1.15 -2.8 
+1.35 -2.62 1.52 -2.41 1.71 -2.21 1.89 -1.98 2.08 -1.71 2.23 -1.45 2.39 -1.17 2.56 -0.85 
+2.69 -0.54 2.86 -0.17 2.85 0.17 2.71 0.54 2.54 0.85 2.4 1.17 2.24 1.45 2.06 1.71 
+1.89 1.98 1.71 2.21 1.54 2.41 1.34 2.62 1.15 2.8 0.95 2.93 0.74 3.1 0.54 3.19 
+0.35 3.3 0.11 3.38 -0.11 3.41 -0.35 3.32 -0.54 3.26 -0.74 3.15 -0.95 3 -1.15 2.86 
+-1.34 2.72 -1.54 2.49 -1.71 2.28 -1.89 2.06 -2.06 1.8 -2.24 1.52 -2.4 1.22 -2.54 0.89 
+-2.71 0.56 -2.85 0.2 -2.86 -0.2 -2.69 -0.56 -2.56 -0.89 -2.39 -1.22 -2.23 -1.52 -2.08 -1.8 
+-1.89 -2.06 -1.71 -2.28 -1.52 -2.49 -1.35 -2.72 -1.15 -2.86 -0.96 -3 -0.76 -3.15 -0.54 -3.26 
+-0.33 -3.32 -0.11 -3.41 -14.73 0 0.21 4.84 0.61 4.68 1 4.56 1.37 4.36 1.7 4.17 
+2.02 3.93 2.32 3.69 2.59 3.4 2.84 3.09 3.08 2.78 3.28 2.41 3.5 2.04 3.63 1.61 
+3.8 1.2 3.93 0.73 4.02 0.24 f*
+1290.21 2725.82 13 0 0 -13.89 3.61 4.45 3.67 3.63 3.69 2.86 3.67 2.2 3.62 1.56 
+3.56 1.04 3.45 0.57 3.34 0.17 2.45 -0.09 2.45 -0.3 4.91 -1.15 2.37 -0.87 2.3 -1.02 
+2.2 -1.17 2.06 -1.34 1.91 -1.5 1.74 -1.64 1.54 -1.8 1.31 -1.91 1.06 -2.04 0.79 -2.17 
+0.5 -2.28 0.15 -2.39 0 -68.55 -13.84 0 0 62.48 -0.13 1.89 -0.34 1.74 -0.55 1.61 
+-0.74 1.47 -0.91 1.32 -1.04 1.21 -2.48 2.04 -2.84 1.54 -3.04 1.09 -3.13 0.63 -3.02 0.22 
+-2.13 -0.13 -2.1 -0.34 -2.11 -0.61 -2.06 -0.8 -2.02 -1.05 -1.93 -1.24 -1.84 -1.45 -1.74 -1.65 
+-1.58 -1.85 -1.46 -2.04 -1.28 -2.21 -1.09 -2.38 -0.87 -2.55 -0.65 -2.71 -0.41 -2.88 -0.13 -3.02 
+0 -50.33 -13.87 0 0 87.65 f*
+1385.53 2749.24 13.87 0 0 -23.41 13.87 0 0 -11.29 ^ 0 -62.48 0.11 -1.37 
+0.29 -1.13 0.45 -0.96 0.58 -0.78 0.74 -0.61 0.85 -0.48 1.97 -0.55 2.22 -0.15 2.3 0.15 
+4.36 0.66 0 -11.29 -2.26 -0.63 -2.84 -0.56 -3.3 -0.39 -3.73 -0.15 -3.14 0.46 -2.96 0.71 
+-2.64 1 -2.3 1.3 -1.91 1.63 -1.43 1.97 -0.89 2.34 -0.32 2.73 0 68.55 -12.13 0 
+0 11.29 ^ 0 23.41 f*
+1429.73 2759.66 13.87 0 0 -45.98 4.16 4.62 4.05 3.54 3.89 2.6 3.69 1.83 3.45 1.15 
+3.17 0.65 2.84 0.3 2.45 0.05 2.61 -0.11 2.54 -0.35 2.49 -0.56 2.41 -0.79 2.34 -0.96 
+2.22 -1.12 2.08 -1.28 1.95 -1.43 1.79 -1.59 1.61 -1.67 1.41 -1.8 1.2 -1.89 0.95 -1.96 
+0.7 -2.02 0.44 -2.06 0.15 -2.11 0 -68.55 -13.87 0 0 63.34 -0.29 2.09 -0.84 2.28 
+-1.43 2.32 -1.98 2.21 -2.56 1.97 -3.12 1.59 -1.78 0.59 -1.93 0.45 -2.06 0.29 -2.2 0.11 
+-2.41 -0.15 -2.3 -0.43 -2.2 -0.71 -2.11 -0.93 -1.97 -1.2 -1.87 -1.39 -1.71 -1.56 -1.59 -1.75 
+-1.43 -1.91 -1.25 -2.04 -1.09 -2.15 -0.91 -2.23 -0.73 -2.32 -0.52 -2.39 -0.33 -2.41 -0.11 -2.45 
+0 -51.2 -13.87 0 0 121.48 f*
+1522.44 2638.17 13.8672 121.484 re
+f*
+1551.04 2725.82 15.6 0 21.66 -67.68 24.26 67.68 15.6 0 -40.73 -110.2 -2.88 -4.6 -2.82 -3.43 
+-2.8 -2.47 -2.76 -1.65 -2.75 -1 -2.8 -0.52 -2.82 -0.2 -2.88 -0.02 -1.71 0.02 -1.54 0.2 
+-1.87 0.52 -2.67 1 0 12.15 2.63 -0.61 2.64 -0.39 2.61 -0.09 2.52 0.33 2.34 0.84 
+2.13 1.5 0.95 1.02 0.87 1.22 0.8 1.45 0.7 1.65 5.21 14.75 -29.47 88.52 f*
+1777.21 2724.09 -0.24 4.55 -0.71 4.25 -1.13 3.97 -1.54 3.64 -1.95 3.36 -2.29 3.06 -2.64 2.76 
+-2.93 2.48 -3.23 2.17 -3.47 1.89 -3.73 1.59 -3.91 1.28 -4.12 1.02 -4.25 0.72 -4.41 0.41 
+-4.52 0.16 -5.34 -0.17 -4.97 -0.5 -4.62 -0.83 -4.25 -1.13 -3.91 -1.43 -3.56 -1.71 -3.19 -1.98 
+-2.87 -2.23 -2.5 -2.47 -2.16 -2.71 -1.83 -2.93 -1.5 -3.12 -1.15 -3.34 -0.83 -3.52 -0.5 -3.67 
+-0.16 -3.82 0.11 -3.12 0.32 -2.89 0.52 -2.62 0.7 -2.43 0.87 -2.19 1.04 -2.02 1.2 -1.82 
+1.3 -1.67 2.99 -2.89 3.39 -2.39 3.64 -1.99 3.84 -1.74 39 -10.41 4.49 -1.69 3.71 -1.89 
+2.99 -2.02 2.35 -2.22 1.74 -2.34 1.17 -2.54 0.67 -2.67 0.21 -2.84 -0.35 -4.14 -0.46 -1.97 
+-0.67 -1.91 -0.87 -1.8 -1.13 -1.71 -1.39 -1.63 -1.65 -1.48 -1.93 -1.37 -2.23 -1.2 -2.54 -1.06 
+-2.87 -0.89 -3.23 -0.72 -3.58 -0.52 -3.95 -0.32 -4.36 -0.11 -4.37 0.15 -4.05 0.48 -3.71 0.74 
+-3.39 1.02 -3.06 1.26 -2.78 1.48 -2.46 1.7 -2.19 1.87 -1.89 2.02 -1.61 2.17 -1.34 2.3 
+-1.08 2.41 -0.83 2.47 -0.59 2.54 -0.35 2.58 -0.11 2.58 -15.61 0 0.2 -4.32 0.54 -4.19 
+0.93 -4.04 1.3 -3.84 1.69 -3.64 2.06 -3.43 2.45 -3.2 2.84 -2.95 3.26 -2.67 3.64 -2.37 
+4.04 -2.06 4.47 -1.74 4.86 -1.37 5.27 -1.02 5.7 -0.61 6.13 -0.22 5.66 0.2 5.32 0.57 
+4.93 0.89 4.57 1.24 4.19 1.56 3.84 1.82 3.47 2.11 3.13 2.37 2.73 2.6 2.37 2.8 
+2.02 3.02 1.65 3.18 1.29 3.34 0.91 3.47 0.54 3.61 0.2 3.71 -0.15 3.02 -0.41 2.86 
+-0.65 2.73 -0.89 2.58 -1.09 2.46 -1.3 2.28 -1.48 2.14 -1.62 1.98 -1.78 1.84 -1.89 1.67 
+-4.1 2.91 -4.38 2.26 -4.52 1.63 -38.99 10.42 -3.8 1.84 -3 1.7 -2.28 1.67 -1.65 1.73 
+-1.15 1.89 -0.7 2.15 -0.35 2.52 -0.08 2.97 0.13 2.39 0.42 2.21 0.67 2.09 0.91 1.93 
+1.13 1.8 1.34 1.63 1.56 1.5 1.74 1.32 1.91 1.19 2.09 1.02 2.21 0.89 2.34 0.71 
+5.01 0.95 5.4 0.33 3.63 -0.11 3.39 -0.37 3.19 -0.56 2.93 -0.8 2.73 -1 2.48 -1.17 
+2.26 -1.39 2.04 -1.54 1.78 -1.7 1.57 -1.87 1.32 -2 1.09 -2.15 0.85 -2.26 0.61 -2.36 
+0.37 -2.45 0.11 -2.56 15.6 0 f*
+1799.74 2725.82 13 0 0 -13.89 3.6 4.45 3.67 3.63 3.69 2.86 3.67 2.2 3.62 1.56 
+3.56 1.04 3.45 0.57 3.34 0.17 2.45 -0.09 2.47 -0.3 4.88 -1.15 2.37 -0.87 2.3 -1.02 
+2.19 -1.17 2.06 -1.34 1.91 -1.5 1.74 -1.64 1.54 -1.8 1.3 -1.91 1.07 -2.04 0.78 -2.17 
+0.5 -2.28 0.16 -2.39 0 -68.55 -13.84 0 0 62.48 -0.13 1.89 -0.34 1.74 -0.55 1.61 
+-0.74 1.47 -0.91 1.32 -1.04 1.21 -2.48 2.04 -2.84 1.54 -3.04 1.09 -3.13 0.63 -3.02 0.22 
+-2.13 -0.13 -2.11 -0.34 -2.1 -0.61 -2.07 -0.8 -2.02 -1.05 -1.93 -1.24 -1.85 -1.45 -1.73 -1.65 
+-1.58 -1.85 -1.45 -2.04 -1.28 -2.21 -1.09 -2.38 -0.87 -2.55 -0.65 -2.71 -0.41 -2.88 -0.13 -3.02 
+0 -50.33 -13.87 0 0 87.65 f*
+1926.26 2728.41 4.01 -0.24 3.91 -0.73 3.8 -1.2 3.64 -1.61 3.47 -2.04 3.3 -2.41 3.08 -2.78 
+2.84 -3.09 2.58 -3.4 2.32 -3.69 2.02 -3.93 1.7 -4.17 1.37 -4.36 1 -4.56 0.61 -4.68 
+0.21 -4.84 -0.21 -4.82 -0.61 -4.67 -1 -4.49 -1.37 -4.32 -1.7 -4.1 -2.02 -3.86 -2.32 -3.61 
+-2.58 -3.32 -2.84 -3.02 -3.08 -2.7 -3.3 -2.34 -3.47 -1.96 -3.64 -1.56 -3.8 -1.15 -3.91 -0.72 
+-4.01 -0.24 -4.02 0.24 -3.93 0.72 -3.78 1.15 -3.64 1.56 -3.47 1.96 -3.3 2.34 -3.08 2.7 
+-2.84 3.02 -2.58 3.32 -2.32 3.61 -2.02 3.86 -1.7 4.1 -1.37 4.32 -1 4.49 -0.61 4.67 
+-0.21 4.82 14.73 0 0.11 -3.38 0.32 -3.3 0.54 -3.19 0.76 -3.09 0.95 -2.95 1.15 -2.8 
+1.34 -2.62 1.52 -2.41 1.72 -2.21 1.91 -1.98 2.07 -1.71 2.23 -1.45 2.39 -1.17 2.56 -0.85 
+2.69 -0.54 2.87 -0.17 2.84 0.17 2.71 0.54 2.56 0.85 2.38 1.17 2.24 1.45 2.06 1.71 
+1.88 1.98 1.71 2.21 1.54 2.41 1.35 2.62 1.15 2.8 0.96 2.95 0.75 3.09 0.55 3.19 
+0.32 3.3 0.11 3.38 -0.11 3.41 -0.32 3.32 -0.55 3.26 -0.75 3.15 -0.96 3 -1.15 2.86 
+-1.35 2.72 -1.54 2.49 -1.71 2.28 -1.88 2.06 -2.06 1.8 -2.24 1.52 -2.38 1.22 -2.56 0.89 
+-2.71 0.56 -2.84 0.2 -2.87 -0.2 -2.69 -0.56 -2.56 -0.89 -2.39 -1.22 -2.23 -1.52 -2.07 -1.8 
+-1.91 -2.06 -1.72 -2.28 -1.52 -2.49 -1.34 -2.72 -1.15 -2.86 -0.95 -3 -0.76 -3.15 -0.54 -3.26 
+-0.32 -3.32 -0.11 -3.41 -14.73 0 0.21 4.84 0.61 4.68 1 4.56 1.37 4.36 1.7 4.17 
+2.02 3.93 2.32 3.69 2.58 3.4 2.84 3.09 3.08 2.78 3.3 2.41 3.47 2.04 3.64 1.61 
+3.78 1.2 3.93 0.73 4.02 0.24 f*
+1974.79 2725.82 15.61 0 17.32 -66.82 17.34 66.82 15.6 0 17.32 -66.82 17.34 66.82 15.6 0 
+-25.13 -87.65 -15.61 0 -18.21 65.95 -16.45 -65.95 -15.61 0 -25.12 87.65 f*
+2249.48 2721.48 -1.11 5.16 -1.37 4.75 -1.62 4.39 -1.89 4.02 -2.13 3.62 -2.38 3.26 -2.65 2.93 
+-2.88 2.56 -3.13 2.23 -3.36 1.91 -3.61 1.58 -3.84 1.28 -4.08 0.98 -4.32 0.7 -4.53 0.41 
+-4.75 0.13 -6.34 -0.3 -5.97 -0.93 -5.62 -1.5 -5.25 -2.04 -4.88 -2.58 -4.49 -3.08 -4.12 -3.56 
+-3.73 -4.01 -3.34 -4.43 -2.93 -4.84 -2.52 -5.23 -2.11 -5.55 -1.7 -5.9 -1.26 -6.19 -0.82 -6.46 
+-0.39 -6.73 0.29 -7.57 0.82 -7.09 1.34 -6.64 1.82 -6.16 2.3 -5.66 2.75 -5.21 3.15 -4.71 
+3.56 -4.23 3.91 -3.73 4.25 -3.25 4.58 -2.76 4.86 -2.28 5.12 -1.76 5.36 -1.25 5.58 -0.76 
+5.77 -0.26 6.25 0.26 5.75 0.74 5.28 1.17 4.82 1.63 4.36 2.04 3.95 2.41 3.52 2.76 
+3.12 3.1 2.73 3.41 2.36 3.67 2 3.95 1.67 4.17 1.34 4.36 1.05 4.54 0.74 4.71 
+0.45 4.82 -15.61 0 -0.71 -4.38 -0.87 -4.04 -1.04 -3.71 -1.2 -3.41 -1.36 -3.06 -1.55 -2.78 
+-1.73 -2.47 -1.93 -2.17 -2.12 -1.89 -2.34 -1.62 -2.58 -1.35 -2.78 -1.08 -3.02 -0.82 -3.28 -0.59 
+-3.52 -0.34 -3.75 -0.11 -5.01 0.26 -4.67 0.71 -4.3 1.22 -3.95 1.63 -3.61 2.06 -3.28 2.45 
+-2.93 2.82 -2.61 3.16 -2.28 3.5 -1.96 3.8 -1.63 4.08 -1.34 4.32 -1.02 4.58 -0.74 4.77 
+-0.41 4.97 -0.15 5.11 0.2 5.71 0.58 5.39 0.96 5.07 1.32 4.73 1.65 4.41 1.95 4.08 
+2.28 3.71 2.54 3.34 2.82 2.99 3.03 2.63 3.3 2.21 3.5 1.84 3.69 1.46 3.86 1.04 
+4.02 0.63 4.17 0.21 3.04 -0.11 3 -0.32 2.89 -0.54 2.78 -0.76 2.69 -0.98 2.54 -1.17 
+2.39 -1.37 2.23 -1.58 2.06 -1.76 1.89 -1.95 1.68 -2.14 1.45 -2.3 1.24 -2.52 1 -2.67 
+0.74 -2.84 0.46 -2.99 15.6 0 f*
+2304.93 2728.41 4.03 -0.24 3.91 -0.73 3.8 -1.2 3.64 -1.61 3.47 -2.04 3.28 -2.41 3.08 -2.78 
+2.84 -3.09 2.6 -3.4 2.3 -3.69 2.02 -3.93 1.71 -4.17 1.34 -4.36 1 -4.56 0.63 -4.68 
+0.2 -4.84 -0.2 -4.82 -0.63 -4.67 -1 -4.49 -1.34 -4.32 -1.71 -4.1 -2.02 -3.86 -2.3 -3.61 
+-2.6 -3.32 -2.84 -3.02 -3.08 -2.7 -3.28 -2.34 -3.47 -1.96 -3.64 -1.56 -3.8 -1.15 -3.91 -0.72 
+-4.03 -0.24 -4.02 0.24 -3.91 0.72 -3.8 1.15 -3.64 1.56 -3.47 1.96 -3.28 2.34 -3.08 2.7 
+-2.84 3.02 -2.61 3.32 -2.3 3.61 -2.02 3.86 -1.71 4.1 -1.34 4.32 -1 4.49 -0.63 4.67 
+-0.2 4.82 14.71 0 0.14 -3.38 0.32 -3.3 0.54 -3.19 0.74 -3.09 0.95 -2.95 1.15 -2.8 
+1.34 -2.62 1.54 -2.41 1.71 -2.21 1.89 -1.98 2.06 -1.71 2.23 -1.45 2.41 -1.17 2.54 -0.85 
+2.71 -0.54 2.85 -0.17 2.86 0.17 2.71 0.54 2.54 0.85 2.41 1.17 2.24 1.45 2.06 1.71 
+1.89 1.98 1.71 2.21 1.54 2.41 1.35 2.62 1.15 2.8 0.95 2.95 0.73 3.09 0.54 3.19 
+0.33 3.3 0.11 3.38 -0.11 3.41 -0.33 3.32 -0.54 3.26 -0.73 3.15 -0.95 3 -1.15 2.86 
+-1.35 2.72 -1.54 2.49 -1.71 2.28 -1.89 2.06 -2.06 1.8 -2.24 1.52 -2.41 1.22 -2.54 0.89 
+-2.71 0.56 -2.86 0.2 -2.85 -0.2 -2.71 -0.56 -2.54 -0.89 -2.41 -1.22 -2.23 -1.52 -2.06 -1.8 
+-1.89 -2.06 -1.71 -2.28 -1.54 -2.49 -1.34 -2.72 -1.15 -2.86 -0.95 -3 -0.74 -3.15 -0.54 -3.26 
+-0.32 -3.32 -0.14 -3.41 -14.71 0 0.2 4.84 0.63 4.68 1 4.56 1.34 4.36 1.71 4.17 
+2.02 3.93 2.3 3.69 2.61 3.4 2.84 3.09 3.08 2.78 3.28 2.41 3.47 2.04 3.64 1.61 
+3.8 1.2 3.91 0.73 4.02 0.24 f*
+2354.34 2725.82 16.45 0 23.39 -69.43 23.39 69.43 16.47 0 -31.18 -87.65 -17.34 0 -31.19 87.65 f*
+2518.96 2665.08 -0.93 -4.08 -1.2 -3.75 -1.43 -3.43 -1.67 -3.15 -1.87 -2.84 -2.06 -2.56 -2.26 -2.28 
+-2.45 -1.99 -2.59 -1.74 -2.75 -1.47 -2.88 -1.24 -3 -1 -3.12 -0.75 -3.23 -0.54 -3.3 -0.31 
+-3.38 -0.11 -4.58 0.37 -4.3 0.76 -4.03 1.13 -3.78 1.52 -3.49 1.86 -3.19 2.21 -2.91 2.52 
+-2.62 2.86 -2.34 3.17 -2.02 3.45 -1.73 3.73 -1.43 4 -1.11 4.25 -0.8 4.49 -0.48 4.73 
+-0.17 4.93 0.3 7.14 0.84 6.43 1.37 5.75 1.79 5.12 2.19 4.54 2.52 3.95 2.82 3.43 
+3.02 2.93 3.21 2.45 3.32 2.02 3.39 1.63 3.41 1.24 3.34 0.91 3.25 0.63 3.08 0.35 
+2.89 0.09 -0.87 -13 -3.78 -0.37 -4.06 -1.15 -2.06 -0.89 -2.06 -1.08 -2.02 -1.29 -1.93 -1.52 
+-1.87 -1.74 -1.74 -1.97 -1.61 -2.22 -1.43 -2.43 -1.21 -2.7 -1 -2.93 -0.76 -3.19 -0.48 -3.45 
+51.13 0 -0.17 3.6 -0.54 3.3 -0.85 3 -1.15 2.73 -1.37 2.45 -1.58 2.21 -1.75 1.93 
+-1.89 1.71 -2 1.48 -2.06 1.24 -2.08 1.02 -2.08 0.83 -4.01 1.06 -3.58 0.34 0.87 13 
+2.99 -0.09 3.13 -0.37 3.19 -0.61 3.23 -0.95 3.21 -1.28 3.17 -1.67 3.05 -2.11 2.93 -2.56 
+2.76 -3.06 2.52 -3.6 2.23 -4.16 1.95 -4.78 1.59 -5.42 1.17 -6.12 0.74 -6.81 0.26 -7.6 
+-65 0 0.3 -4.53 0.98 -4.95 0.76 -2.54 0.97 -2.54 1.2 -2.47 1.43 -2.37 1.67 -2.26 
+1.91 -2.06 2.19 -1.87 2.5 -1.61 2.75 -1.32 3.09 -1 3.38 -0.63 3.73 -0.21 3.78 0.32 
+3.54 0.93 3.25 1.55 2.97 2.08 2.71 2.63 2.39 3.11 2.11 3.58 1.78 4.04 13.86 0 f*
+2539.78 2725.82 12.13 0 0 -16.49 2.69 3.8 2.58 3.28 2.45 2.8 2.34 2.34 2.24 1.93 
+2.11 1.56 2 1.2 1.89 0.89 1.78 0.58 1.65 0.35 1.56 0.13 1.45 -0.07 2.56 -0.54 
+2.15 -0.89 0 -13.02 -3.58 -0.26 -3.32 -0.48 -3.06 -0.65 -2.78 -0.87 -2.52 -1.05 -2.28 -1.25 
+-2.02 -1.43 -1.78 -1.61 -1.54 -1.8 -1.32 -1.98 -1.11 -2.17 -0.89 -2.32 -0.67 -2.52 -0.48 -2.67 
+-0.28 -2.84 -0.09 -3.02 0 -48.59 -13.87 0 0 87.65 f*
+2675.82 2759.66 19.92 0 42.47 -121.48 -17.34 0 -12.13 35.59 -47.66 0 -12.13 -35.59 -17.34 0 
+38.13 104.12 15.6 0 -19.92 -54.66 38.98 0 -19.05 54.66 -15.6 0 6.07 17.36 f*
+2752.08 2725.82 13 0 0 -13.89 3.6 4.45 3.67 3.63 3.67 2.86 3.66 2.2 3.64 1.56 
+3.56 1.04 3.45 0.57 3.32 0.17 2.46 -0.09 2.47 -0.3 4.91 -1.15 2.36 -0.87 2.3 -1.02 
+2.19 -1.17 2.06 -1.34 1.91 -1.5 1.74 -1.64 1.52 -1.8 1.32 -1.91 1.05 -2.04 0.8 -2.17 
+0.48 -2.28 0.18 -2.39 0 -68.55 -13.87 0 0 62.48 -0.11 1.89 -0.35 1.74 -0.54 1.61 
+-0.74 1.47 -0.91 1.32 -1.04 1.21 -2.47 2.04 -2.84 1.54 -3.06 1.09 -3.11 0.63 -3.02 0.22 
+-2.13 -0.13 -2.12 -0.34 -2.1 -0.61 -2.07 -0.8 -1.99 -1.05 -1.96 -1.24 -1.82 -1.45 -1.73 -1.65 
+-1.61 -1.85 -1.43 -2.04 -1.28 -2.21 -1.09 -2.38 -0.89 -2.55 -0.62 -2.71 -0.41 -2.88 -0.15 -3.02 
+0 -50.33 -13.85 0 0 87.65 f*
+2878.58 2728.41 4.04 -0.24 3.91 -0.73 3.8 -1.2 3.64 -1.61 3.47 -2.04 3.28 -2.41 3.08 -2.78 
+2.84 -3.09 2.61 -3.4 2.3 -3.69 2.02 -3.93 1.71 -4.17 1.34 -4.36 1 -4.56 0.63 -4.68 
+0.2 -4.84 -0.2 -4.82 -0.63 -4.67 -1 -4.49 -1.34 -4.32 -1.71 -4.1 -2.02 -3.86 -2.3 -3.61 
+-2.61 -3.32 -2.84 -3.02 -3.08 -2.7 -3.28 -2.34 -3.47 -1.96 -3.64 -1.56 -3.8 -1.15 -3.91 -0.72 
+-4.04 -0.24 -4.02 0.24 -3.91 0.72 -3.8 1.15 -3.64 1.56 -3.47 1.96 -3.28 2.34 -3.08 2.7 
+-2.84 3.02 -2.61 3.32 -2.3 3.61 -2.02 3.86 -1.71 4.1 -1.34 4.32 -1 4.49 -0.63 4.67 
+-0.2 4.82 14.71 0 0.13 -3.38 0.32 -3.3 0.54 -3.19 0.74 -3.09 0.95 -2.95 1.15 -2.8 
+1.35 -2.62 1.54 -2.41 1.72 -2.21 1.88 -1.98 2.07 -1.71 2.23 -1.45 2.41 -1.17 2.54 -0.85 
+2.71 -0.54 2.84 -0.17 2.86 0.17 2.71 0.54 2.54 0.85 2.41 1.17 2.21 1.45 2.08 1.71 
+1.89 1.98 1.71 2.21 1.54 2.41 1.35 2.62 1.15 2.8 0.95 2.95 0.74 3.09 0.54 3.19 
+0.32 3.3 0.11 3.38 -0.11 3.41 -0.32 3.32 -0.54 3.26 -0.74 3.15 -0.95 3 -1.15 2.86 
+-1.35 2.72 -1.54 2.49 -1.71 2.28 -1.89 2.06 -2.08 1.8 -2.21 1.52 -2.41 1.22 -2.54 0.89 
+-2.71 0.56 -2.86 0.2 -2.84 -0.2 -2.71 -0.56 -2.54 -0.89 -2.41 -1.22 -2.23 -1.52 -2.07 -1.8 
+-1.88 -2.06 -1.72 -2.28 -1.54 -2.49 -1.35 -2.72 -1.15 -2.86 -0.95 -3 -0.74 -3.15 -0.54 -3.26 
+-0.32 -3.32 -0.13 -3.41 -14.71 0 0.2 4.84 0.63 4.68 1 4.56 1.34 4.36 1.71 4.17 
+2.02 3.93 2.3 3.69 2.61 3.4 2.84 3.09 3.08 2.78 3.28 2.41 3.47 2.04 3.64 1.61 
+3.8 1.2 3.91 0.73 4.02 0.24 f*
+2938.39 2725.82 12.13 0 0 -13.02 3.45 4.14 3.3 3.41 3.19 2.71 3.17 2.11 3.19 1.5 
+3.32 1.02 3.49 0.57 3.73 0.15 3.19 -0.34 3.04 -0.48 2.93 -0.74 2.89 -1.13 2.82 -1.67 
+2.82 -2.34 2.82 -3.12 2.91 -4.04 3.49 3.82 3.38 3.1 3.28 2.43 3.28 1.82 3.26 1.28 
+3.27 0.85 3.39 0.43 3.5 0.13 4.32 -0.32 4.36 -1 2.15 -0.76 2.08 -0.93 2 -1.11 
+1.89 -1.28 1.76 -1.48 1.61 -1.67 1.41 -1.84 1.24 -2.04 0.98 -2.23 0.74 -2.43 0.46 -2.62 
+0.15 -2.82 0 -67.69 -13.84 0 0 62.48 -0.11 1.61 -0.28 1.57 -1.09 2.93 -1.65 2.64 
+-2.09 2.32 -2.41 1.89 -2.62 1.43 -2.71 0.91 -2.65 0.33 -1.8 -0.11 -1.82 -0.32 -3.64 -1.24 
+-3.5 -1.96 -3.21 -2.56 -2.75 -3.1 -1.17 -1.71 -1 -1.82 -0.8 -1.89 -0.59 -1.97 -0.39 -2.04 
+-0.13 -2.11 0 -57.27 -13.85 0 0 62.48 -0.11 1.61 -0.28 1.57 -1.09 2.93 -1.69 2.64 
+-2.15 2.32 -2.52 1.89 -2.78 1.43 -2.91 0.91 -2.95 0.33 -3.1 -0.42 -3.3 -1.15 -3.34 -1.82 
+-3.14 -2.47 -2.8 -3.04 -1.2 -1.71 -1.04 -1.85 -0.85 -1.93 -0.63 -2.06 -0.39 -2.15 -0.14 -2.23 
+0 -57.27 -13.86 0 0 87.65 f*
+3075.3 2699.79 0.11 2.61 0.35 2.6 0.58 2.59 0.83 2.54 1.11 2.48 1.37 2.36 1.63 2.24 
+1.93 2.13 2.21 1.93 2.54 1.78 2.82 1.54 3.17 1.32 3.47 1.08 3.84 0.78 4.16 0.5 
+4.54 0.15 4.91 -0.22 5.36 -0.71 5.49 -1.34 2.66 -0.93 2.58 -1.11 2.46 -1.32 2.23 -1.54 
+2.04 -1.78 1.76 -2.02 1.43 -2.26 1.09 -2.54 0.67 -2.8 0.24 -3.11 0 -55.53 0.3 -1.54 
+0.85 -1.35 1.23 -1.12 1.52 -0.87 1.7 -0.59 1.71 -0.26 1.65 0.06 1.43 0.46 0 -10.42 
+-1.71 -0.5 -1.63 -0.25 -5.32 -0.11 -3.76 0.11 -2.95 0.32 -2.25 0.63 -1.76 1 -1.39 1.45 
+-1.17 1.97 -1.11 2.56 -1.21 3.23 -7.37 -5.42 -3.2 -1.96 -3.08 -1.52 -3.15 -1.11 -3.43 -0.74 
+-3.86 -0.41 -4.5 -0.13 -3.88 0.15 -3.54 0.39 -3.19 0.67 -2.87 0.87 -2.56 1.11 -2.25 1.3 
+-2 1.47 -1.71 1.63 -1.46 1.79 -1.21 1.91 -1 2 -0.79 2.11 -0.58 2.16 -0.39 2.22 
+-0.3 4.53 13 0 0.32 -2.56 0.93 -2.41 1.52 -2.22 2.09 -1.93 2.62 -1.62 3.11 -1.21 
+3.58 -0.79 4.01 -0.28 3 0.28 2.82 0.46 2.63 0.67 2.43 0.83 2.26 0.97 2.07 1.11 
+1.87 1.21 1.69 1.3 2.78 2.8 2 2.93 1.21 2.91 0.3 1.41 0.09 1.35 0 17.34 
+-6.51 -2.41 -5.4 -1.28 -15.8 -2.39 -4.66 -1.41 -3.63 -1.65 -2.76 -1.85 -1.95 -2.02 -1.33 -2.2 
+-0.8 -2.34 -0.39 -2.45 -0.09 -2.56 -13 0 0.09 3.41 0.28 3.09 0.43 2.78 0.66 2.49 
+0.8 2.24 0.98 1.97 1.17 1.78 1.32 1.55 1.52 1.39 1.67 1.21 1.84 1.07 2.02 0.96 
+4.55 1.61 5.19 1.37 22.52 3.47 2.97 0.7 2.46 0.76 1.95 0.82 1.5 0.87 1.11 0.91 
+0.74 0.96 0.41 0.95 0.13 0.98 0 7.81 -0.24 1.48 -0.78 1.75 -1.35 1.87 -1.95 1.84 
+-2.6 1.67 -3.3 1.39 -4.04 0.93 -4.79 0.34 -2.67 -0.11 -2.45 -0.29 -2.28 -0.45 -2.06 -0.63 
+-1.89 -0.76 -1.71 -0.89 -2.86 -2.09 -2.18 -2.43 -1.52 -2.62 -0.89 -2.7 -0.29 -2.66 -13.87 0 f*
+3168.88 2638.17 13.8711 121.484 re
+f*
+3197.48 2725.82 15.6 0 21.66 -67.68 24.26 67.68 15.61 0 -40.73 -110.2 -2.89 -4.6 -2.82 -3.43 
+-2.8 -2.47 -2.76 -1.65 -2.78 -1 -2.78 -0.52 -2.82 -0.2 -2.88 -0.02 -1.72 0.02 -1.54 0.2 
+-1.87 0.52 -2.69 1 0 12.15 2.64 -0.61 2.65 -0.39 2.61 -0.09 2.5 0.33 2.37 0.84 
+2.1 1.5 0.98 1.02 0.87 1.22 0.8 1.45 0.7 1.65 5.19 14.75 -29.45 88.52 f*
+3363 2759.66 8.66 0 -5.45 -10.05 -4.67 -9.98 -3.88 -9.96 -3.12 -9.92 -2.39 -9.94 -1.69 -9.94 
+-1 -10 -0.32 -10.05 0.32 -8.83 1 -9.44 1.69 -9.89 2.39 -10.11 3.13 -10.16 1.87 -5.04 
+2.02 -4.96 2.23 -4.88 2.43 -4.78 2.63 -4.64 2.82 -4.47 -8.66 0 -2.89 3.62 -2.8 4 
+-2.67 4.34 -2.56 4.62 -2.43 4.86 -2.3 5.06 -2.12 5.19 -1.95 5.29 -1.78 5.34 -1.56 5.36 
+-1.39 5.32 -1.15 5.2 -0.91 5.08 -0.67 4.88 -0.41 4.67 -0.13 4.38 0.13 5.51 0.41 5.47 
+0.67 5.42 0.91 5.34 1.15 5.32 1.39 5.23 1.56 5.14 1.78 5.1 1.95 4.99 2.13 4.93 
+4.73 9.54 5.23 9.14 5.69 8.7 f*
+3412.39 2751.84 2.89 -0.15 2.82 -0.43 2.71 -0.72 2.63 -0.98 2.5 -1.21 2.34 -1.46 2.21 -1.64 
+2.04 -1.87 1.85 -2.04 1.66 -2.21 1.43 -2.34 1.22 -2.52 0.98 -2.61 0.72 -2.73 0.43 -2.82 
+0.15 -2.88 -0.15 -2.91 -0.43 -2.82 -0.72 -2.71 -0.98 -2.62 -1.22 -2.5 -1.43 -2.37 -1.66 -2.21 
+-1.85 -2.04 -2.04 -1.87 -2.21 -1.65 -2.34 -1.46 -2.5 -1.21 -2.62 -0.98 -2.71 -0.72 -2.82 -0.43 
+-2.89 -0.15 -2.91 0.15 -2.8 0.43 -2.73 0.72 -2.63 0.98 -2.49 1.21 -2.34 1.46 -2.21 1.65 
+-2.04 1.87 -1.84 2.04 -1.68 2.21 -1.43 2.37 -1.22 2.5 -0.98 2.62 -0.71 2.71 -0.44 2.82 
+-0.15 2.91 12.13 0 0.34 -3.21 1 -3.04 1.59 -2.78 2.04 -2.48 2.47 -2.06 2.8 -1.59 
+3.02 -1 3.21 -0.35 3.19 0.35 3.04 1 2.78 1.59 2.47 2.06 2.04 2.48 1.59 2.78 
+1 3.04 0.34 3.21 -0.34 3.19 -1 3.04 -1.59 2.8 -2.04 2.45 -2.47 2.06 -2.78 1.58 
+-3.04 1 -3.19 0.35 -3.21 -0.35 -3.02 -1 -2.8 -1.58 -2.47 -2.06 -2.04 -2.45 -1.59 -2.8 
+-1 -3.04 -0.34 -3.19 -12.13 0 0.15 2.88 0.44 2.82 0.71 2.73 0.98 2.61 1.22 2.52 
+1.43 2.34 1.68 2.21 1.84 2.04 2.04 1.87 2.21 1.64 2.34 1.46 2.49 1.21 2.63 0.98 
+2.73 0.72 2.8 0.43 2.91 0.15 f*
+3479.97 2756.18 11.26 0 -65.84 -121.48 -11.29 0 65.87 121.48 f*
+3493.84 2691.97 2.88 -0.16 2.82 -0.43 2.73 -0.71 2.61 -0.97 2.5 -1.22 2.37 -1.45 2.19 -1.65 
+2.04 -1.87 1.87 -2.04 1.64 -2.21 1.46 -2.34 1.21 -2.52 0.98 -2.61 0.71 -2.73 0.43 -2.82 
+0.15 -2.89 -0.15 -2.91 -0.43 -2.82 -0.71 -2.71 -0.98 -2.63 -1.21 -2.49 -1.46 -2.37 -1.64 -2.21 
+-1.87 -2.04 -2.04 -1.87 -2.19 -1.65 -2.37 -1.45 -2.5 -1.22 -2.61 -0.98 -2.73 -0.71 -2.82 -0.44 
+-2.88 -0.15 -2.89 0.15 -2.82 0.44 -2.71 0.71 -2.63 0.98 -2.5 1.22 -2.37 1.45 -2.19 1.65 
+-2.04 1.87 -1.87 2.04 -1.65 2.21 -1.46 2.37 -1.21 2.49 -0.97 2.63 -0.71 2.71 -0.43 2.82 
+-0.16 2.91 12.13 0 0.37 -3.21 1 -3.04 1.56 -2.78 2.06 -2.47 2.46 -2.06 2.8 -1.59 
+3.04 -1 3.2 -0.34 3.19 0.34 3.04 1 2.8 1.59 2.45 2.06 2.06 2.47 1.56 2.78 
+1 3.04 0.37 3.21 -0.37 3.2 -1 3.04 -1.56 2.8 -2.06 2.46 -2.45 2.06 -2.8 1.58 
+-3.04 1 -3.19 0.34 -3.2 -0.34 -3.04 -1 -2.8 -1.58 -2.46 -2.06 -2.06 -2.46 -1.56 -2.8 
+-1 -3.04 -0.37 -3.2 -12.13 0 0.16 2.89 0.43 2.82 0.71 2.73 0.97 2.61 1.21 2.52 
+1.46 2.34 1.65 2.21 1.87 2.04 2.04 1.87 2.19 1.65 2.37 1.45 2.5 1.22 2.63 0.97 
+2.71 0.71 2.82 0.43 2.89 0.16 f*
+3533.7 2759.66 8.66 0 3.45 -5.08 3.21 -5.12 2.97 -5.14 2.74 -5.19 2.52 -5.19 2.25 -5.18 
+2.06 -5.16 1.8 -5.14 1.61 -5.1 1.37 -5.05 1.15 -4.99 0.96 -4.91 0.71 -4.79 0.52 -4.71 
+0.3 -4.6 0.11 -4.47 -0.11 -4.47 -0.35 -4.6 -0.54 -4.73 -0.79 -4.84 -1 -4.93 -1.2 -4.97 
+-1.43 -5.03 -1.65 -5.04 -1.84 -5.03 -2.06 -5.02 -2.29 -4.99 -2.47 -4.93 -2.71 -4.82 -2.89 -4.75 
+-3.1 -4.61 -3.32 -4.47 -8.66 0 5.19 9.11 4.53 9.18 3.89 9.27 3.16 9.41 2.52 9.63 
+1.78 9.88 0.63 5.05 0.45 5.14 0.37 10.52 -0.33 10.27 -0.99 10.03 -1.7 9.85 -2.41 9.79 
+-3.13 9.76 -3.88 9.86 -4.64 10.03 -5.45 10.26 f*
+743.23 902.13 10.59 0 0 -65.39 -0.09 -1.78 -0.3 -1.78 -0.48 -1.74 -0.65 -1.73 -0.84 -1.67 
+-1.05 -1.61 -1.21 -1.52 -1.41 -1.43 -1.59 -1.33 -1.73 -1.2 -1.95 -1.06 -2.11 -0.91 -2.28 -0.71 
+-2.43 -0.55 -2.63 -0.32 -2.78 -0.11 -3.08 0.16 -2.78 0.43 -2.54 0.7 -2.3 0.91 -2.06 1.13 
+-1.82 1.26 -1.61 1.41 -1.39 1.52 -2.21 3.19 -1.48 3.21 -0.84 2.99 -0.26 2.54 0 9.42 
+10.59 0 0 -7.66 0.21 -2.71 0.65 -2.36 1.04 -2.02 1.41 -1.66 1.78 -1.3 2.11 -0.96 
+2.43 -0.56 2.74 -0.2 2.88 0.22 2.52 0.65 2.13 1.09 1.74 1.5 1.35 1.93 0.95 2.32 
+0.59 2.74 0.19 3.1 0 61.88 f*
+769.71 861.48 0.32 3.54 0.96 3.47 0.74 1.67 0.93 1.61 1.11 1.54 1.33 1.43 1.49 1.32 
+1.72 1.19 1.93 1.05 2.15 0.91 2.37 0.72 2.58 0.54 2.84 0.33 3.08 0.13 3.32 -0.15 
+3.64 -0.5 3.71 -0.91 3.58 -1.39 1.67 -0.89 1.52 -1.06 1.37 -1.2 1.2 -1.37 0.97 -1.54 
+0.74 -1.71 0.48 -1.91 0.16 -2.11 0 -37.71 0.21 -1.04 0.56 -0.92 0.83 -0.75 1.04 -0.59 
+1.15 -0.41 1.17 -0.17 1.11 0.04 0.98 0.32 0 -7.07 -2.28 -0.52 -3.6 -0.07 -2.56 0.07 
+-1.98 0.22 -1.56 0.43 -1.18 0.67 -0.95 1 -0.79 1.32 -1.58 3.95 -5.01 -3.69 -2.17 -1.32 
+-2.08 -1.05 -2.14 -0.73 -2.32 -0.5 -2.63 -0.29 -3.06 -0.09 -2.62 0.09 -2.39 0.29 -2.17 0.43 
+-1.95 0.61 -1.74 0.74 -1.54 0.89 -1.35 1 -1.17 1.11 -1.8 2.5 -1.21 2.8 -0.67 2.97 
+-0.2 3.08 8.83 0 0.22 -1.73 0.63 -1.62 1.04 -1.52 1.41 -1.3 1.78 -1.11 2.11 -0.83 
+2.43 -0.54 2.73 -0.17 3.95 0.5 3.43 1.02 2.93 1.41 2.41 1.69 1.89 1.91 1.37 2 
+0.82 1.98 0.26 1.87 0 11.78 -4.43 -1.65 -3.66 -0.87 -10.72 -1.61 -3.17 -0.98 -2.47 -1.11 
+-1.87 -1.26 -1.32 -1.39 -0.89 -1.48 -0.54 -1.58 -0.26 -1.67 -0.07 -1.74 -8.83 0 0.24 4.41 
+0.74 3.58 1.22 2.86 1.69 2.25 2.17 1.76 2.63 1.37 3.08 1.11 3.54 0.91 15.3 2.37 
+3.67 0.98 2.37 1.15 0.74 0.63 0.5 0.65 0.29 0.65 0.08 0.66 0 5.32 -0.17 1 
+-0.52 1.19 -0.91 1.26 -1.32 1.26 -1.78 1.13 -2.24 0.96 -2.73 0.63 -3.25 0.21 -3.5 -0.26 
+-2.93 -0.72 -2.45 -1.13 -1.96 -1.41 -1.48 -1.65 -1.02 -1.78 -0.61 -1.84 -0.2 -1.81 -9.41 0 f*
+833.25 879.14 8.83 0 0 -9.42 2.46 3.02 2.49 2.45 2.5 1.95 2.49 1.5 2.46 1.07 
+2.43 0.7 2.35 0.39 2.25 0.13 3.34 -0.28 3.32 -0.79 3.16 -1.28 2.88 -1.71 2.48 -2.13 
+1.93 -2.52 0.72 -1.39 0.54 -1.48 0.33 -1.54 0.11 -1.63 0 -46.55 -9.39 0 0 42.43 
+-0.33 2.45 -0.87 2.11 -1.33 1.72 -1.69 1.39 -1.91 1.04 -2.09 0.74 -2.11 0.43 -2.06 0.13 
+-2.87 -0.32 -2.84 -0.93 -2.67 -1.56 -2.43 -2.11 -2.06 -2.63 -1.61 -3.12 -1.04 -3.58 -0.26 -1.95 
+-0.11 -2.04 0 -34.18 -9.42 0 0 59.5 f*
+980.01 902.13 55.32 0 0 -9.42 -44.72 0 0 -26.52 39.43 0 0 -9.41 ^ 
+0 -37.13 -10.59 0 0 82.49 f*
+1095.95 837.91 -0.66 -2.75 -0.8 -2.56 -0.98 -2.32 -1.13 -2.15 -1.28 -1.93 -1.39 -1.74 -1.54 -1.54 
+-1.65 -1.37 -1.78 -1.17 -1.85 -1 -4.02 -1.52 -4.29 -0.89 -4.54 -0.29 -3.12 0.26 -2.93 0.52 
+-2.74 0.75 -2.56 1.02 -2.36 1.28 -2.17 1.5 -1.97 1.71 -1.79 1.93 -1.58 2.15 -1.39 2.35 
+-1.17 2.54 -0.95 2.71 -0.76 2.89 -0.54 3.05 -0.33 3.21 -0.13 3.35 0.22 4.84 0.56 4.36 
+0.93 3.91 1.22 3.49 1.48 3.06 1.71 2.69 1.91 2.32 2.06 2 2.17 1.67 2.25 1.37 
+2.3 1.11 2.3 0.84 2.28 0.61 2.22 0.43 4.05 0.3 -0.58 -8.85 -2.59 -0.24 -2.75 -0.78 
+-2.78 -1.32 -2.71 -1.91 -2.43 -2.52 -1.09 -1.5 -0.98 -1.67 -0.82 -1.83 -0.68 -1.97 -0.52 -2.17 
+-0.33 -2.34 34.72 0 -0.13 2.43 -0.37 2.23 -0.56 2.04 -0.78 1.86 -0.93 1.67 -1.06 1.5 
+-1.2 1.32 -1.3 1.15 -2.74 1.84 -2.84 1.26 -2.74 0.71 -2.4 0.21 0.58 8.85 4.14 -0.32 
+2.17 -0.41 2.2 -0.63 2.19 -0.89 2.15 -1.13 2.09 -1.43 1.97 -1.73 1.87 -2.08 1.71 -2.46 
+1.52 -2.82 1.33 -3.25 1.06 -3.67 0.82 -4.14 0.5 -4.64 0.17 -5.14 -44.14 0 0.21 -3.08 
+0.65 -3.37 1.2 -3.45 1.78 -3.3 1.13 -1.52 1.3 -1.41 1.5 -1.26 1.66 -1.09 1.89 -0.91 
+2.08 -0.67 2.3 -0.43 2.54 -0.13 2.56 0.22 2.39 0.63 2.21 1.04 2.02 1.41 1.84 1.78 
+1.63 2.13 1.43 2.43 1.22 2.73 9.42 0 f*
+1108.29 902.13 9.42 0 0 -31.23 1.15 1.67 1.21 1.48 2.63 2.41 2.73 1.75 2.71 1.24 
+2.54 0.78 2.24 0.46 3.02 0.24 2.23 -0.08 2.23 -0.3 2.24 -0.48 2.21 -0.7 2.17 -0.93 
+2.08 -1.18 2.02 -1.43 1.89 -1.66 1.73 -1.98 1.59 -2.26 1.41 -2.54 1.19 -2.87 0.98 -3.19 
+0.71 -3.54 0.46 -3.86 0.15 -4.23 -0.08 -3.47 -0.3 -3.36 -0.48 -3.21 -0.69 -3.06 -0.91 -2.91 
+-1.08 -2.71 -1.32 -2.52 -1.52 -2.32 -1.73 -2.11 -1.96 -1.87 -2.17 -1.61 -2.38 -1.34 -2.61 -1.09 
+-2.84 -0.78 -3.08 -0.48 -3.3 -0.17 -1.89 0.11 -2.11 0.31 -2.23 0.59 -2.3 0.93 -2.3 1.3 
+-2.24 1.76 -2.11 2.24 -1.88 2.8 0 -7.07 -9.42 0 0 28.28 ^ 0.08 -2.28 
+0.29 -2.24 1.04 -4.18 1.65 -3.82 2.15 -3.3 2.58 -2.73 2.88 -2.06 1.52 -0.76 1.58 -0.54 
+1.63 -0.35 1.65 -0.11 2.04 0.15 1.91 0.41 1.78 0.7 1.65 0.93 1.54 1.13 1.39 1.33 
+1.28 1.52 1.13 1.63 1.89 3.64 1.37 3.97 0.82 4.1 0.26 4.06 -0.12 2.86 -0.35 2.7 
+-0.58 2.47 -0.76 2.25 -0.93 2.08 -1.08 1.89 -1.2 1.7 -1.29 1.49 -2.75 2.46 -2.84 1.71 
+-2.71 1.02 -2.43 0.32 -1.74 -0.11 -1.69 -0.37 -1.65 -0.59 -1.57 -0.8 -1.49 -1 -1.39 -1.2 
+-1.32 -1.39 -1.22 -1.54 -2.08 -3.56 -1.56 -4.1 -1 -4.58 -0.34 -4.93 -9.42 0 0 54.21 f*
+1254.75 902.13 14.71 0 24.14 -71.88 24.11 71.88 14.71 0 0 -82.49 -10 0 0 68.94 
+-23.52 -68.94 -11.18 0 -22.96 68.94 0 -68.94 -10 0 0 82.49 f*
+1347.72 861.48 0.3 3.54 0.97 3.47 0.74 1.67 0.93 1.61 1.11 1.54 1.33 1.43 1.5 1.32 
+1.71 1.19 1.93 1.05 2.13 0.91 2.39 0.72 2.58 0.54 2.84 0.33 3.08 0.13 3.32 -0.15 
+3.64 -0.5 3.71 -0.91 3.58 -1.39 1.67 -0.89 1.52 -1.06 1.37 -1.2 1.2 -1.37 0.97 -1.54 
+0.74 -1.71 0.48 -1.91 0.16 -2.11 0 -37.71 0.2 -1.04 0.58 -0.92 0.83 -0.75 1.04 -0.59 
+1.15 -0.41 1.17 -0.17 1.11 0.04 0.98 0.32 0 -7.07 -2.28 -0.52 -3.61 -0.07 -2.55 0.07 
+-2 0.22 -1.54 0.43 -1.17 0.67 -0.96 1 -0.78 1.32 -1.59 3.95 -5.01 -3.69 -2.17 -1.32 
+-2.08 -1.05 -2.14 -0.73 -2.32 -0.5 -2.62 -0.29 -3.06 -0.09 -2.62 0.09 -2.39 0.29 -2.17 0.43 
+-1.95 0.61 -1.74 0.74 -1.54 0.89 -1.34 1 -1.17 1.11 -1.81 2.5 -1.21 2.8 -0.67 2.97 
+-0.2 3.08 8.81 0 0.21 -1.73 0.66 -1.62 1.04 -1.52 1.41 -1.3 1.78 -1.11 2.11 -0.83 
+2.43 -0.54 2.73 -0.17 3.95 0.5 3.43 1.02 2.93 1.41 2.41 1.69 1.89 1.91 1.37 2 
+0.8 1.98 0.28 1.87 0 11.78 -4.43 -1.65 -3.67 -0.87 -10.71 -1.61 -3.18 -0.98 -2.47 -1.11 
+-1.87 -1.26 -1.32 -1.39 -0.89 -1.48 -0.55 -1.58 -0.26 -1.67 -0.09 -1.74 -8.81 0 0.24 4.41 
+0.74 3.58 1.22 2.86 1.7 2.25 2.16 1.76 2.63 1.37 3.08 1.11 3.54 0.91 15.3 2.37 
+3.66 0.98 2.37 1.15 0.74 0.63 0.5 0.65 0.29 0.65 0.08 0.66 0 5.32 -0.17 1 
+-0.52 1.19 -0.91 1.26 -1.32 1.26 -1.78 1.13 -2.24 0.96 -2.73 0.63 -3.26 0.21 -3.49 -0.26 
+-2.93 -0.72 -2.45 -1.13 -1.95 -1.41 -1.48 -1.65 -1.02 -1.78 -0.61 -1.84 -0.19 -1.81 -9.42 0 f*
+1411.26 879.14 8.25 0 0 -11.2 3.58 4.82 3.28 3.5 2.93 2.36 2.65 1.41 2.32 0.63 
+2.04 0.04 1.74 -0.37 1.47 -0.61 0 -8.84 -4.7 -0.5 -3.95 -1.02 -1.71 -0.72 -1.54 -0.84 
+-1.37 -0.98 -1.21 -1.09 -1.05 -1.24 -0.91 -1.34 -1.34 -3.04 -0.78 -3.52 -0.26 -3.97 0 -33.01 
+-9.42 0 0 59.5 f*
+1567.14 902.13 13.54 0 28.84 -82.49 -11.78 0 -8.23 24.15 -32.36 0 -8.24 -24.15 -11.76 0 
+25.89 70.7 10.59 0 -13.54 -37.11 26.48 0 -12.93 37.11 -10.59 0 4.1 11.79 f*
+1617.17 879.14 8.83 0 0 -8.83 2.47 2.99 2.54 2.39 2.54 1.87 2.52 1.37 2.43 0.95 
+2.3 0.63 2.13 0.3 1.89 0.11 3.45 -0.28 3.99 -0.98 2.09 -0.81 2.11 -1.04 2.08 -1.32 
+2.04 -1.63 1.93 -1.93 1.78 -2.25 1.63 -2.65 1.41 -3.02 1.17 -3.45 0.89 -3.88 0.54 -4.34 
+0.2 -4.82 -0.15 -4.25 -0.45 -3.88 -0.72 -3.56 -0.98 -3.23 -1.2 -2.91 -1.41 -2.6 -1.58 -2.3 
+-1.73 -2.02 -1.89 -1.73 -2 -1.48 -2.11 -1.22 -2.16 -0.97 -2.22 -0.74 -2.23 -0.52 -2.23 -0.31 
+-2.24 -0.11 -2.56 0.11 -2.43 0.29 -2.32 0.54 -2.23 0.84 -2.2 1.18 -2.15 1.54 -2.14 1.95 
+-2.2 2.41 0 -30.64 -9.41 0 0 54.21 ^ 0.09 -2.49 0.29 -2.41 1.06 -4.5 
+1.63 -4.01 2.17 -3.45 2.56 -2.82 1.41 -1.15 1.48 -0.96 1.54 -0.78 1.59 -0.54 1.61 -0.35 
+1.64 -0.11 2.74 0.3 2.82 0.98 2.76 1.68 1.32 1.11 1.26 1.3 1.17 1.52 1.07 1.72 
+0.95 1.93 0.8 2.15 0.67 2.37 0.5 2.6 0.3 2.84 0.11 3.08 -0.11 2.97 -0.35 2.73 
+-0.54 2.54 -0.74 2.3 -0.89 2.08 -1.02 1.89 -1.15 1.67 -1.24 1.48 -2.62 2.38 -2.76 1.65 
+-2.65 0.95 -2.41 0.3 -1.54 -0.11 -1.56 -0.3 -1.52 -0.54 -1.52 -0.72 -2.87 -2.02 -2.6 -2.71 
+-2.22 -3.34 -1.73 -3.91 -0.63 -2.17 -0.48 -2.28 -0.28 -2.39 -0.11 -2.47 -9.41 0 0 30.04 f*
+1681.9 879.14 8.23 0 0 -11.2 3.58 4.82 3.28 3.5 2.93 2.36 2.65 1.41 2.32 0.63 
+2.04 0.04 1.76 -0.37 1.45 -0.61 0 -8.84 -4.69 -0.5 -3.97 -1.02 -1.71 -0.72 -1.54 -0.84 
+-1.37 -0.98 -1.21 -1.09 -1.05 -1.24 -0.91 -1.34 -1.34 -3.04 -0.79 -3.52 -0.25 -3.97 0 -33.01 
+-9.4 0 0 59.5 f*
+1798.66 902.13 14.69 0 24.13 -71.88 24.13 71.88 14.71 0 0 -82.49 -10 0 0 68.94 
+-23.55 -68.94 -11.17 0 -22.94 68.94 0 -68.94 -10 0 0 82.49 f*
+1891.62 861.48 0.31 3.54 0.95 3.47 0.76 1.67 0.91 1.61 1.13 1.54 1.3 1.43 1.5 1.32 
+1.71 1.19 1.93 1.05 2.15 0.91 2.36 0.72 2.61 0.54 2.82 0.33 3.08 0.13 3.32 -0.15 
+3.64 -0.5 3.73 -0.91 3.59 -1.39 1.65 -0.89 1.52 -1.06 1.39 -1.2 1.2 -1.37 0.98 -1.54 
+0.74 -1.71 0.46 -1.91 0.15 -2.11 0 -37.71 0.21 -1.04 0.57 -0.92 0.84 -0.75 1.02 -0.59 
+1.15 -0.41 1.17 -0.17 1.13 0.04 0.97 0.32 0 -7.07 -2.28 -0.52 -3.6 -0.07 -2.56 0.07 
+-1.99 0.22 -1.55 0.43 -1.2 0.67 -0.93 1 -0.8 1.32 -1.56 3.95 -5.04 -3.69 -2.14 -1.32 
+-2.08 -1.05 -2.15 -0.73 -2.32 -0.5 -2.63 -0.29 -3.06 -0.09 -2.64 0.09 -2.39 0.29 -2.17 0.43 
+-1.95 0.61 -1.73 0.74 -1.54 0.89 -1.35 1 -1.15 1.11 -1.82 2.5 -1.22 2.8 -0.65 2.97 
+-0.22 3.08 8.83 0 0.22 -1.73 0.63 -1.62 1.04 -1.52 1.41 -1.3 1.78 -1.11 2.13 -0.83 
+2.43 -0.54 2.71 -0.17 3.95 0.5 3.43 1.02 2.93 1.41 2.43 1.69 1.89 1.91 1.35 2 
+0.82 1.98 0.29 1.87 0 11.78 -4.45 -1.65 -3.64 -0.87 -10.75 -1.61 -3.16 -0.98 -2.46 -1.11 
+-1.87 -1.26 -1.34 -1.39 -0.89 -1.48 -0.54 -1.58 -0.26 -1.67 -0.06 -1.74 -8.83 0 0.26 4.41 
+0.74 3.58 1.21 2.86 1.7 2.25 2.17 1.76 2.62 1.37 3.09 1.11 3.52 0.91 15.3 2.37 
+3.69 0.98 2.34 1.15 0.76 0.63 0.5 0.65 0.28 0.65 0.09 0.66 0 5.32 -0.18 1 
+-0.54 1.19 -0.91 1.26 -1.33 1.26 -1.78 1.13 -2.23 0.96 -2.74 0.63 -3.25 0.21 -3.47 -0.26 
+-2.95 -0.72 -2.43 -1.13 -1.95 -1.41 -1.47 -1.65 -1.05 -1.78 -0.61 -1.84 -0.19 -1.81 -9.4 0 f*
+1949.29 879.14 10.59 0 14.7 -45.94 16.5 45.94 10.59 0 -27.67 -74.83 -1.95 -3.1 -1.91 -2.34 
+-1.91 -1.67 -1.87 -1.13 -1.88 -0.67 -1.89 -0.35 -3.89 -0.15 -2.19 0.15 -3.11 1.02 0 8.25 
+3.61 -0.67 1.76 -0.06 1.71 0.24 1.58 0.56 1.46 1.02 1.23 1.52 1.02 2.13 3.52 10 
+-19.99 60.09 f*
+2092.79 902.13 10.59 0 0 -65.39 -0.08 -1.78 -0.29 -1.78 -0.48 -1.74 -0.67 -1.73 -0.84 -1.67 
+-1.05 -1.61 -1.21 -1.52 -1.41 -1.43 -1.56 -1.33 -1.75 -1.2 -1.93 -1.06 -2.11 -0.89 -2.28 -0.74 
+-2.45 -0.55 -2.62 -0.32 -2.78 -0.11 -3.06 0.16 -2.8 0.43 -2.54 0.7 -2.3 0.91 -2.06 1.13 
+-1.82 1.26 -1.61 1.41 -1.39 1.52 -2.22 3.19 -1.47 3.21 -0.83 2.99 -0.25 2.54 0 9.42 
+10.59 0 0 -7.66 0.21 -2.71 0.63 -2.36 1.04 -2.02 1.41 -1.66 1.78 -1.3 2.11 -0.96 
+2.43 -0.56 2.73 -0.2 2.89 0.22 2.52 0.65 2.13 1.09 1.73 1.5 1.35 1.93 0.97 2.32 
+0.57 2.74 0.19 3.1 0 61.88 f*
+2119.88 879.14 9.4 0 0 -44.18 0.2 -1.58 0.58 -1.63 0.96 -1.58 1.37 -1.46 1.74 -1.28 
+2.12 -1 2.5 -0.65 2.91 -0.24 2.02 0.11 1.87 0.35 1.74 0.56 1.56 0.74 1.46 0.89 
+1.3 1.05 2.2 2.41 1.67 2.74 1.17 2.84 0.67 2.8 0.24 2.61 0 36.52 9.42 0 
+0 -60.09 -8.83 0 0 8.25 -1.8 -2.32 -1.89 -2.06 -2.04 -1.82 -2.22 -1.52 -2.43 -1.23 
+-2.72 -0.89 -2.99 -0.57 -3.34 -0.2 -4.19 0.35 -3.71 0.98 -3.23 1.48 -2.69 1.93 -2.15 2.24 
+-1.56 2.49 -0.95 2.61 -0.33 2.67 0 47.72 f*
+2182.83 879.14 8.81 0 0 -9.42 2.46 3.02 2.49 2.45 2.5 1.95 2.49 1.5 2.46 1.07 
+2.43 0.7 2.35 0.39 2.25 0.13 3.34 -0.28 3.32 -0.79 3.17 -1.28 2.89 -1.71 2.48 -2.13 
+1.93 -2.52 0.74 -1.39 0.52 -1.48 0.32 -1.54 0.13 -1.63 0 -46.55 -9.42 0 0 42.43 
+-0.33 2.45 -0.87 2.11 -1.33 1.72 -1.66 1.39 -1.93 1.04 -2.08 0.74 -2.11 0.43 -2.04 0.13 
+-2.89 -0.32 -2.84 -0.93 -2.67 -1.56 -2.43 -2.11 -2.06 -2.63 -1.61 -3.12 -1.04 -3.58 -0.26 -1.95 
+-0.11 -2.04 0 -34.18 -9.4 0 0 59.5 f*
+2294.62 837.91 -0.63 -2.75 -0.82 -2.56 -0.96 -2.32 -1.13 -2.15 -1.28 -1.93 -1.41 -1.74 -1.52 -1.54 
+-1.67 -1.37 -1.75 -1.17 -1.87 -1 -4 -1.52 -4.32 -0.89 -4.54 -0.29 -3.11 0.26 -2.93 0.52 
+-2.73 0.75 -2.56 1.02 -2.36 1.28 -2.17 1.5 -2 1.71 -1.78 1.93 -1.59 2.15 -1.36 2.35 
+-1.18 2.54 -0.98 2.71 -0.76 2.89 -0.54 3.05 -0.33 3.21 -0.11 3.35 0.2 4.84 0.59 4.36 
+0.91 3.91 1.21 3.49 1.5 3.06 1.71 2.69 1.91 2.32 2.04 2 2.19 1.67 2.26 1.37 
+2.3 1.11 2.3 0.84 2.28 0.61 2.2 0.43 4.05 0.3 -0.58 -8.85 -2.56 -0.24 -2.75 -0.78 
+-2.8 -1.32 -2.7 -1.91 -2.45 -2.52 -1.07 -1.5 -0.97 -1.67 -0.83 -1.83 -0.69 -1.97 -0.5 -2.17 
+-0.32 -2.34 34.72 0 -0.13 2.43 -0.37 2.23 -0.59 2.04 -0.75 1.86 -0.93 1.67 -1.09 1.5 
+-1.19 1.32 -1.29 1.15 -2.75 1.84 -2.82 1.26 -2.73 0.71 -2.43 0.21 0.58 8.85 4.17 -0.32 
+2.17 -0.41 2.19 -0.63 2.17 -0.89 2.15 -1.13 2.08 -1.43 2 -1.73 1.87 -2.08 1.71 -2.46 
+1.52 -2.82 1.32 -3.25 1.07 -3.67 0.8 -4.14 0.5 -4.64 0.17 -5.14 -44.12 0 0.2 -3.08 
+0.67 -3.37 1.17 -3.45 1.78 -3.3 1.13 -1.52 1.33 -1.41 1.47 -1.26 1.69 -1.09 1.87 -0.91 
+2.09 -0.67 2.32 -0.43 2.52 -0.13 2.59 0.22 2.39 0.63 2.21 1.04 2.02 1.41 1.84 1.78 
+1.63 2.13 1.43 2.43 1.2 2.73 9.42 0 f*
+2389.91 902.13 10.59 0 0 -65.39 -0.11 -1.78 -0.28 -1.78 -0.48 -1.74 -0.68 -1.73 -0.85 -1.67 
+-1.04 -1.61 -1.21 -1.52 -1.39 -1.43 -1.58 -1.33 -1.76 -1.2 -1.93 -1.06 -2.11 -0.89 -2.28 -0.74 
+-2.46 -0.55 -2.62 -0.32 -2.78 -0.11 -3.06 0.16 -2.8 0.43 -2.54 0.7 -2.3 0.91 -2.04 1.13 
+-1.82 1.26 -1.61 1.41 -1.41 1.52 -2.2 3.19 -1.5 3.21 -0.82 2.99 -0.26 2.54 0 9.42 
+10.59 0 0 -7.66 0.22 -2.71 0.63 -2.36 1.04 -2.02 1.41 -1.66 1.78 -1.3 2.13 -0.96 
+2.43 -0.56 2.71 -0.2 2.91 0.22 2.5 0.65 2.12 1.09 1.74 1.5 1.37 1.93 0.96 2.32 
+0.58 2.74 0.2 3.1 0 61.88 f*
+2416.97 879.14 9.42 0 0 -44.18 0.19 -1.58 0.57 -1.63 0.97 -1.58 1.35 -1.46 1.73 -1.28 
+2.13 -1 2.52 -0.65 2.89 -0.24 2.02 0.11 1.87 0.35 1.73 0.56 1.59 0.74 1.43 0.89 
+1.31 1.05 2.19 2.41 1.67 2.74 1.17 2.84 0.7 2.8 0.21 2.61 0 36.52 9.42 0 
+0 -60.09 -8.83 0 0 8.25 -1.8 -2.32 -1.89 -2.06 -2.04 -1.82 -2.21 -1.52 -2.43 -1.23 
+-2.69 -0.89 -3 -0.57 -3.36 -0.2 -4.18 0.35 -3.71 0.98 -3.22 1.48 -2.71 1.93 -2.15 2.24 
+-1.56 2.49 -0.96 2.61 -0.32 2.67 0 47.72 f*
+2479.93 819.641 9.41406 82.4883 re
+f*
+2499.35 879.14 10.59 0 14.72 -45.94 16.46 45.94 10.59 0 -27.67 -74.83 -1.95 -3.1 -1.91 -2.34 
+-1.89 -1.67 -1.89 -1.13 -1.89 -0.67 -1.89 -0.35 -3.86 -0.15 -2.21 0.15 -3.11 1.02 0 8.25 
+3.61 -0.67 1.76 -0.06 1.71 0.24 1.58 0.56 1.45 1.02 1.24 1.52 1.02 2.13 3.54 10 
+-20 60.09 f*
+2663.46 902.13 13.54 0 28.84 -82.49 -11.79 0 -8.23 24.15 -32.38 0 -8.22 -24.15 -11.77 0 
+25.89 70.7 10.59 0 -13.55 -37.11 26.48 0 -12.93 37.11 -10.59 0 4.1 11.79 f*
+2715.23 879.14 9.42 0 0 -44.18 0.2 -1.58 0.58 -1.63 0.96 -1.58 1.36 -1.46 1.74 -1.28 
+2.11 -1 2.52 -0.65 2.91 -0.24 2.02 0.11 1.87 0.35 1.71 0.56 1.59 0.74 1.45 0.89 
+1.3 1.05 2.2 2.41 1.67 2.74 1.17 2.84 0.67 2.8 0.24 2.61 0 36.52 9.4 0 
+0 -60.09 -8.81 0 0 8.25 -1.8 -2.32 -1.91 -2.06 -2.02 -1.82 -2.21 -1.52 -2.43 -1.23 
+-2.71 -0.89 -3 -0.57 -3.34 -0.2 -4.19 0.35 -3.71 0.98 -3.23 1.48 -2.69 1.93 -2.15 2.24 
+-1.56 2.49 -0.98 2.61 -0.33 2.67 0 47.72 f*
+2817.04 879.14 8.83 0 0 -55.38 -0.2 -4.95 -0.71 -5.04 -0.61 -2.45 -0.83 -2.39 -1.02 -2.3 
+-1.28 -2.17 -1.54 -2.02 -1.84 -1.84 -2.15 -1.63 -2.49 -1.39 -2.84 -1.13 -3.23 -0.84 -3.64 -0.55 
+-4.08 -0.17 -5.25 0.33 -4.64 0.93 -2.09 0.7 -1.93 0.84 -1.79 0.96 -1.61 1.11 -1.43 1.21 
+-1.26 1.34 -1.06 1.46 -0.89 1.56 -0.7 1.67 -0.49 1.75 -0.3 1.87 -0.11 1.93 9.42 0 
+0.3 -1.57 0.43 -1.39 1.3 -2.34 1.7 -1.76 2 -1.26 2.17 -0.85 2.19 -0.52 2.13 -0.26 
+1.91 -0.07 3.58 0.21 3.21 0.72 2.8 1.24 2.39 1.8 1.02 1.13 0.89 1.28 0.75 1.46 
+0.66 1.61 0.87 3.75 0.3 4.47 0 7.07 -1.99 -2.64 -2.02 -2.24 -2.09 -1.85 -2.15 -1.45 
+-2.26 -1.08 -2.41 -0.76 -2.56 -0.43 -2.78 -0.15 -3.07 0.22 -2.85 0.61 -2.62 0.95 -2.41 1.31 
+-2.2 1.58 -1.97 1.84 -1.76 2.06 -1.56 2.25 -1.37 2.43 -1.17 2.54 -0.98 2.64 -0.78 2.7 
+-1.04 5.42 -0.33 5.27 9.98 0 0.33 -4.38 0.93 -4.19 1.45 -3.88 1.93 -3.47 2.34 -2.88 
+1.32 -1.21 1.39 -1.02 1.46 -0.82 1.52 -0.61 1.59 -0.37 1.65 -0.13 2.02 0.13 1.89 0.41 
+1.75 0.67 1.61 0.89 1.5 1.11 1.34 1.28 1.22 1.48 1.08 1.61 1.78 3.6 1.29 3.97 
+0.74 4.19 0.25 4.23 -0.12 2.78 -0.33 2.61 -0.52 2.43 -0.7 2.23 -0.85 2.07 -0.99 1.88 
+-1.11 1.7 -1.19 1.54 -2.61 2.52 -2.76 1.78 -2.73 1.08 -2.56 0.35 -2.39 -0.35 -2.58 -1.08 
+-2.64 -1.82 -2.54 -2.56 -2.26 -3.3 -0.98 -1.93 -0.84 -2.12 -0.7 -2.3 -0.52 -2.5 -0.32 -2.69 
+-0.13 -2.89 -9.98 0 0.29 4.62 0.63 4.21 0.93 3.78 1.2 3.38 1.43 3 1.65 2.65 
+1.8 2.3 1.93 1.97 2.02 1.67 2.11 1.39 2.11 1.13 2.11 0.88 2.09 0.65 1.99 0.46 
+3.63 0.32 2.21 -0.17 2.28 -0.5 2.28 -0.82 2.26 -1.15 2.26 -1.5 2.19 -1.82 2.13 -2.15 
+2.04 -2.49 0 8.83 f*
+2956.73 876.8 -0.15 3.11 -0.48 2.88 -0.79 2.7 -1.04 2.47 -1.33 2.28 -1.54 2.08 -1.8 1.87 
+-2 1.7 -2.19 1.47 -2.37 1.26 -2.52 1.09 -2.67 0.87 -2.78 0.7 -2.91 0.47 -2.97 0.3 
+-3.06 0.09 -3.64 -0.11 -3.36 -0.34 -3.14 -0.57 -2.89 -0.76 -2.64 -0.97 -2.41 -1.15 -2.19 -1.34 
+-1.93 -1.52 -1.69 -1.7 -1.47 -1.82 -1.24 -2 -1.02 -2.13 -0.78 -2.25 -0.57 -2.39 -0.32 -2.49 
+-0.11 -2.61 0.28 -4.08 0.85 -3.43 1.28 -2.86 1.71 -2.37 2.02 -1.95 2.3 -1.63 2.47 -1.37 
+2.61 -1.17 26.49 -7.08 3.04 -1.15 2.52 -1.28 2.04 -1.36 1.59 -1.5 1.19 -1.61 0.79 -1.72 
+0.46 -1.82 0.15 -1.93 -0.23 -2.8 -0.76 -2.62 -1.36 -2.41 -0.93 -1.08 -1.11 -1.02 -1.33 -0.91 
+-1.52 -0.82 -3.66 -1.32 -4.62 -0.85 -5.64 -0.28 -2.97 0.11 -2.76 0.31 -2.52 0.52 -2.3 0.67 
+-2.08 0.87 -1.87 1 -1.7 1.15 -1.48 1.25 -1.28 1.39 -1.09 1.48 -0.91 1.54 -0.73 1.63 
+-0.96 3.4 -0.33 3.52 -10.59 0 0.13 -2.93 0.38 -2.84 0.63 -2.73 0.89 -2.61 1.15 -2.49 
+1.41 -2.32 1.65 -2.17 1.96 -1.99 2.19 -1.8 2.47 -1.63 2.76 -1.39 3.01 -1.17 3.3 -0.93 
+3.61 -0.69 3.86 -0.41 4.17 -0.15 3.84 0.13 3.61 0.39 3.34 0.61 3.11 0.84 2.87 1.04 
+2.6 1.24 2.37 1.43 2.11 1.61 1.87 1.75 1.61 1.91 1.37 2.04 1.11 2.17 0.87 2.25 
+0.63 2.37 0.37 2.45 0.13 2.52 -0.09 2.05 -0.28 1.95 -1.04 3.61 -1.63 3.21 -2.11 2.8 
+-2.49 2.38 -2.8 1.98 -2.97 1.54 -3.06 1.11 -26.48 7.08 -4.62 2.41 -1.54 1.13 -1.13 1.17 
+-0.76 1.28 -0.48 1.46 -0.24 1.71 -0.07 2.02 0.09 1.63 0.29 1.5 0.46 1.41 0.61 1.32 
+1.69 2.32 2.23 1.91 2.72 1.52 3.1 1.09 3.41 0.65 3.65 0.21 4.77 -0.33 4.17 -0.93 
+3.54 -1.47 1.52 -0.93 1.39 -1.05 1.21 -1.17 1.06 -1.25 1.63 -2.8 0.98 -3.14 0.33 -3.41 
+10.59 0 f*
+3020.88 836.74 -0.65 -2.78 -0.8 -2.54 -0.98 -2.34 -1.13 -2.12 -1.25 -1.93 -1.41 -1.74 -1.54 -1.54 
+-1.65 -1.37 -1.76 -1.17 -1.87 -1.02 -4.01 -1.5 -4.3 -0.89 -4.54 -0.29 -3.11 0.26 -2.93 0.5 
+-2.76 0.78 -2.56 1.02 -2.37 1.25 -2.17 1.5 -1.97 1.73 -1.79 1.93 -1.58 2.15 -1.39 2.35 
+-1.17 2.54 -0.95 2.71 -0.76 2.89 -0.54 3.05 -0.32 3.21 -0.11 3.35 0.2 4.84 0.59 4.36 
+0.91 3.91 1.21 3.47 1.48 3.09 1.71 2.7 1.91 2.32 2.07 2 2.17 1.65 2.25 1.39 
+2.3 1.08 2.3 0.84 2.28 0.63 2.21 0.41 4.06 0.3 -0.59 -8.84 -2.56 -0.24 -2.76 -0.78 
+-2.8 -1.34 -2.69 -1.91 -2.45 -2.52 -1.09 -1.5 -0.95 -1.65 -0.84 -1.82 -0.68 -2 -0.52 -2.17 
+-0.31 -2.32 34.7 0 -0.13 2.43 -0.34 2.23 -0.59 2.04 -0.78 1.84 -0.93 1.67 -1.06 1.5 
+-1.2 1.32 -1.28 1.17 -2.75 1.85 -2.84 1.24 -2.71 0.74 -2.43 0.21 0.59 8.84 4.14 -0.3 
+2.17 -0.41 2.2 -0.66 2.19 -0.86 2.15 -1.15 2.09 -1.41 1.99 -1.75 1.85 -2.06 1.71 -2.46 
+1.54 -2.82 1.3 -3.25 1.08 -3.69 0.81 -4.15 0.5 -4.62 0.17 -5.14 -44.12 0 0.2 -3.11 
+0.66 -3.36 1.2 -3.43 1.78 -3.3 1.13 -1.52 1.3 -1.41 1.5 -1.25 1.67 -1.11 1.88 -0.89 
+2.09 -0.67 2.3 -0.43 2.54 -0.15 2.56 0.21 2.38 0.65 2.22 1.05 2.04 1.41 1.82 1.78 
+1.63 2.13 1.43 2.43 1.21 2.73 9.42 0 f*
+3033.22 877.97 8.83 0 0 -8.83 2.48 2.99 2.54 2.39 2.54 1.84 2.52 1.39 2.43 0.96 
+2.3 0.61 2.13 0.33 1.89 0.09 3.47 -0.29 3.97 -0.95 2.08 -0.81 2.11 -1.06 2.09 -1.32 
+2.04 -1.61 1.93 -1.93 1.8 -2.25 1.61 -2.65 1.43 -3.04 1.15 -3.43 0.89 -3.88 0.55 -4.34 
+0.2 -4.84 -0.16 -4.23 -0.43 -3.91 -0.74 -3.54 -0.97 -3.23 -1.2 -2.91 -1.41 -2.6 -1.59 -2.3 
+-1.74 -2.02 -1.89 -1.73 -2 -1.48 -2.11 -1.23 -2.17 -0.96 -2.21 -0.76 -2.23 -0.5 -2.24 -0.31 
+-2.23 -0.11 -2.56 0.09 -2.43 0.3 -2.32 0.54 -2.24 0.84 -2.19 1.15 -2.15 1.54 -2.15 1.95 
+-2.19 2.41 0 -30.62 -9.42 0 0 54.19 ^ 0.08 -2.5 0.29 -2.41 1.07 -4.49 
+1.64 -4.02 2.15 -3.45 2.56 -2.82 1.41 -1.15 1.48 -0.95 1.54 -0.76 1.59 -0.56 1.61 -0.33 
+1.65 -0.12 2.73 0.32 2.82 0.96 2.76 1.67 1.32 1.13 1.26 1.3 1.17 1.52 1.06 1.71 
+0.96 1.93 0.82 2.15 0.65 2.37 0.5 2.6 0.3 2.82 0.11 3.09 -0.11 2.99 -0.34 2.73 
+-0.55 2.52 -0.74 2.32 -0.89 2.08 -1.02 1.87 -1.15 1.7 -1.22 1.48 -2.65 2.38 -2.76 1.65 
+-2.64 0.95 -2.41 0.3 -1.54 -0.11 -1.54 -0.32 -1.54 -0.52 -1.52 -0.72 -2.87 -2.02 -2.61 -2.71 
+-2.21 -3.34 -1.74 -3.93 -0.63 -2.15 -0.48 -2.28 -0.28 -2.39 -0.11 -2.49 -9.42 0 0 30.05 f*
+3099.71 893.88 9.43 0 0 -15.91 9.41 0 0 -7.66 ^ 0 -42.42 0.25 -1.7 
+0.71 -1.17 1.07 -0.74 1.34 -0.37 1.49 -0.09 1.57 0.09 2.97 0.43 0 -7.66 -3.47 -0.8 
+-2.24 -0.26 -2.54 -0.11 -2.14 0.3 -2 0.5 -1.8 0.68 -1.56 0.89 -1.29 1.11 -0.97 1.34 
+-0.61 1.59 -0.22 1.84 0 46.55 -8.24 0 0 7.66 ^ 0 15.91 f*
+3238.54 902.13 4.32 -0.24 4.13 -0.72 3.93 -1.15 3.71 -1.54 3.5 -1.93 3.23 -2.28 2.99 -2.61 
+2.73 -2.87 2.46 -3.14 2.16 -3.34 1.84 -3.56 1.57 -3.71 1.23 -3.86 0.89 -3.95 0.54 -4.04 
+0.17 -4.08 -0.08 -4.08 -0.46 -4.06 -0.85 -3.97 -1.22 -3.88 -1.54 -3.78 -1.87 -3.6 -2.16 -3.41 
+-2.48 -3.19 -2.75 -2.93 -3.04 -2.65 -3.28 -2.32 -3.51 -1.97 -3.75 -1.61 -3.95 -1.17 -4.14 -0.72 
+-4.32 -0.26 -4.34 0.26 -4.14 0.72 -3.95 1.17 -3.75 1.61 -3.51 1.97 -3.3 2.32 -3.06 2.65 
+-2.78 2.93 -2.49 3.19 -2.23 3.41 -1.91 3.6 -1.59 3.78 -1.28 3.88 -0.91 3.97 -0.56 4.06 
+-0.2 4.08 10.59 0 0.15 -3.5 0.43 -3.39 0.72 -3.28 0.98 -3.12 1.23 -2.99 1.45 -2.82 
+1.67 -2.62 1.89 -2.43 2.08 -2.21 2.26 -1.96 2.43 -1.71 2.58 -1.45 2.71 -1.15 2.84 -0.83 
+2.93 -0.52 3.06 -0.17 3.04 0.17 2.93 0.52 2.8 0.83 2.69 1.15 2.52 1.45 2.39 1.71 
+2.19 1.96 2.05 2.21 1.82 2.43 1.63 2.63 1.41 2.82 1.19 2.99 0.93 3.13 0.67 3.28 
+0.44 3.39 0.13 3.5 -0.12 3.49 -0.44 3.36 -0.67 3.25 -0.93 3.11 -1.19 2.93 -1.41 2.78 
+-1.63 2.56 -1.82 2.39 -2.05 2.14 -2.19 1.91 -2.39 1.67 -2.52 1.39 -2.69 1.11 -2.8 0.82 
+-2.93 0.5 -3.04 0.18 -3.06 -0.18 -2.93 -0.5 -2.84 -0.82 -2.71 -1.11 -2.58 -1.39 -2.43 -1.67 
+-2.26 -1.91 -2.08 -2.14 -1.89 -2.39 -1.67 -2.56 -1.45 -2.78 -1.23 -2.93 -0.98 -3.11 -0.72 -3.25 
+-0.43 -3.36 -0.15 -3.49 -10.59 0 0.2 4.08 0.56 4.04 0.91 3.95 1.28 3.86 1.59 3.71 
+1.91 3.56 2.23 3.34 2.49 3.14 2.78 2.87 3.06 2.61 3.3 2.28 3.51 1.93 3.75 1.54 
+3.95 1.15 4.14 0.72 4.34 0.24 f*
+3335.03 857.95 -9.4 0 -0.43 2.41 -0.78 2.34 -1.2 2.2 -1.57 1.97 -1.97 1.65 -2.34 1.28 
+-2.73 0.83 -3.11 0.28 -1.93 -0.11 -1.82 -0.34 -1.7 -0.57 -1.61 -0.76 -1.48 -0.97 -1.34 -1.15 
+-1.24 -1.35 -1.11 -1.52 -1.84 -3.52 -1.32 -4.12 -0.83 -4.64 -0.26 -5.1 0.29 -5.01 0.89 -4.45 
+1.43 -3.84 0.91 -1.67 1.05 -1.52 1.15 -1.34 1.3 -1.2 1.39 -1.02 1.52 -0.83 1.63 -0.65 
+1.73 -0.48 1.84 -0.28 1.93 -0.11 1.8 0.11 1.67 0.28 1.54 0.48 1.41 0.61 2.43 1.65 
+1.95 2.04 1.48 2.32 1.04 2.48 0.61 2.45 0.19 2.32 9.39 0 -0.08 -2.3 -0.28 -2.26 
+-0.5 -2.21 -0.68 -2.12 -0.86 -2.04 -1.07 -1.95 -1.24 -1.82 -1.45 -1.71 -1.65 -1.54 -1.82 -1.41 
+-2.04 -1.22 -2.21 -1.02 -2.41 -0.83 -2.61 -0.63 -2.8 -0.37 -2.99 -0.13 -3.41 0.2 -3.13 0.54 
+-2.87 0.89 -2.6 1.21 -2.35 1.5 -2.12 1.76 -1.89 1.99 -1.65 2.21 -1.43 2.41 -1.23 2.58 
+-1 2.73 -0.82 2.84 -0.63 2.95 -0.43 3.02 -0.32 6.16 0.28 4.23 0.63 3.86 0.93 3.54 
+1.21 3.16 1.43 2.87 1.65 2.56 1.82 2.25 1.96 1.96 2.06 1.7 2.13 1.41 2.17 1.17 
+2.17 0.93 2.13 0.71 2.08 0.48 3.82 0.38 4.14 -0.29 4 -0.87 3.75 -1.54 1.75 -1.02 
+1.65 -1.22 1.54 -1.39 1.41 -1.59 1.3 -1.78 1.13 -2 0.98 -2.2 0.82 -2.4 0.61 -2.65 
+0.43 -2.86 f*
+3347.98 893.88 9.41 0 0 -15.91 9.39 0 0 -7.66 ^ 0 -42.42 0.26 -1.7 
+0.72 -1.17 1.06 -0.74 1.35 -0.37 1.5 -0.09 1.56 0.09 2.95 0.43 0 -7.66 -3.45 -0.8 
+-2.25 -0.26 -2.52 -0.11 -2.15 0.3 -1.99 0.5 -1.8 0.68 -1.57 0.89 -1.28 1.11 -0.98 1.34 
+-0.61 1.59 -0.21 1.84 0 46.55 -8.25 0 0 7.66 ^ 0 15.91 f*
+3463.26 902.13 11.76 0 42.38 -67.17 0 67.17 9.98 0 0 -82.49 -11.77 0 -42.36 67.16 
+0 -67.16 -10 0 0 82.49 f*
+3567.41 880.92 2.73 -0.17 2.65 -0.5 2.58 -0.8 2.48 -1.11 2.37 -1.39 2.23 -1.63 2.08 -1.89 
+1.93 -2.08 1.76 -2.32 1.58 -2.5 1.37 -2.67 1.15 -2.84 0.91 -2.95 0.7 -3.08 0.41 -3.19 
+0.14 -3.28 -0.14 -3.27 -0.41 -3.17 -0.7 -3.06 -0.91 -2.93 -1.15 -2.78 -1.37 -2.63 -1.58 -2.45 
+-1.76 -2.26 -1.93 -2.04 -2.08 -1.83 -2.23 -1.61 -2.37 -1.32 -2.48 -1.06 -2.58 -0.78 -2.65 -0.48 
+-2.73 -0.17 -2.73 0.17 -2.65 0.48 -2.59 0.78 -2.47 1.06 -2.35 1.32 -2.23 1.61 -2.11 1.83 
+-1.93 2.04 -1.76 2.26 -1.57 2.45 -1.37 2.63 -1.15 2.78 -0.93 2.93 -0.67 3.06 -0.41 3.17 
+-0.15 3.27 10 0 0.3 -4.56 0.87 -4.25 1.43 -3.91 1.96 -3.43 1.17 -1.5 1.28 -1.35 
+1.41 -1.18 1.5 -0.97 1.63 -0.79 1.73 -0.58 1.84 -0.37 1.93 -0.11 1.93 0.11 1.85 0.38 
+1.74 0.58 1.63 0.79 1.52 0.97 1.39 1.18 1.3 1.35 1.15 1.5 1.95 3.43 1.43 3.91 
+0.89 4.25 0.29 4.56 -0.29 4.56 -0.89 4.34 -1.43 4 -1.95 3.52 -1.15 1.56 -1.3 1.39 
+-1.39 1.22 -1.52 1.04 -1.62 0.82 -1.74 0.61 -1.85 0.39 -1.93 0.11 -1.93 -0.11 -1.84 -0.39 
+-1.73 -0.61 -1.63 -0.82 -1.5 -1.04 -1.41 -1.22 -1.28 -1.39 -1.17 -1.56 -1.96 -3.52 -1.43 -4 
+-0.87 -4.34 -0.3 -4.56 -10 0 0.15 3.28 0.41 3.19 0.67 3.08 0.93 2.95 1.15 2.84 
+1.37 2.67 1.57 2.5 1.76 2.32 1.93 2.08 2.11 1.89 2.23 1.63 2.35 1.39 2.47 1.11 
+2.59 0.8 2.65 0.5 2.73 0.17 f*
+3600.96 879.14 11.18 0 15.88 -47.13 15.88 47.13 11.18 0 -21.18 -59.5 -11.77 0 -21.18 59.5 f*
+3741.54 902.13 34.11 0 2.2 -0.11 2.37 -0.39 2.47 -0.63 2.56 -0.91 2.6 -1.24 2.58 -1.54 
+2.56 -1.87 2.46 -2.24 2.32 -2.59 2.17 -2.97 1.93 -3.36 1.67 -3.78 1.39 -4.23 1.04 -4.66 
+0.65 -5.12 0.21 -5.6 -0.19 -5.62 -0.61 -5.12 -0.96 -4.66 -1.28 -4.21 -1.59 -3.8 -1.82 -3.36 
+-2.04 -2.98 -2.23 -2.58 -2.39 -2.24 -2.52 -1.86 -2.58 -1.54 -2.63 -1.22 -2.67 -0.93 -2.62 -0.62 
+-2.56 -0.37 -2.5 -0.13 -34.11 0 0 73.07 10.59 0 0 -63.63 21.77 0 2.58 0.13 
+2.43 0.43 2.3 0.7 2.15 0.98 1.97 1.21 1.84 1.48 1.67 1.74 1.52 1.95 1.34 2.17 
+1.2 2.41 0.99 2.63 0.85 2.82 0.65 3.02 0.48 3.19 0.28 3.4 0.09 3.56 -0.11 3.84 
+-0.37 3.61 -0.56 3.36 -0.81 3.11 -0.98 2.86 -1.17 2.61 -1.34 2.37 -1.5 2.11 -1.65 1.86 
+-1.76 1.63 -1.91 1.37 -2 1.11 -2.08 0.87 -2.17 0.63 -2.24 0.37 -2.3 0.13 -31.77 0 
+0 9.42 f*
+3869.81 837.91 -0.65 -2.75 -0.8 -2.56 -0.98 -2.32 -1.13 -2.15 -1.28 -1.93 -1.39 -1.74 -1.54 -1.54 
+-1.65 -1.37 -1.78 -1.17 -1.87 -1 -4 -1.52 -4.29 -0.89 -4.54 -0.29 -3.12 0.26 -2.93 0.52 
+-2.73 0.75 -2.56 1.02 -2.36 1.28 -2.17 1.5 -1.98 1.71 -1.78 1.93 -1.58 2.15 -1.39 2.35 
+-1.17 2.54 -0.98 2.71 -0.74 2.89 -0.54 3.05 -0.35 3.21 -0.11 3.35 0.21 4.84 0.56 4.36 
+0.93 3.91 1.21 3.49 1.48 3.06 1.71 2.69 1.91 2.32 2.06 2 2.17 1.67 2.26 1.37 
+2.3 1.11 2.3 0.84 2.28 0.61 2.22 0.43 4.05 0.3 -0.58 -8.85 -2.58 -0.24 -2.76 -0.78 
+-2.78 -1.32 -2.71 -1.91 -2.43 -2.52 -1.08 -1.5 -0.98 -1.67 -0.83 -1.83 -0.67 -1.97 -0.52 -2.17 
+-0.33 -2.34 34.72 0 -0.13 2.43 -0.37 2.23 -0.56 2.04 -0.78 1.86 -0.93 1.67 -1.06 1.5 
+-1.19 1.32 -1.31 1.15 -2.73 1.84 -2.84 1.26 -2.74 0.71 -2.41 0.21 0.58 8.85 4.14 -0.32 
+2.17 -0.41 2.19 -0.63 2.19 -0.89 2.15 -1.13 2.08 -1.43 1.97 -1.73 1.87 -2.08 1.71 -2.46 
+1.52 -2.82 1.32 -3.25 1.07 -3.67 0.8 -4.14 0.52 -4.64 0.17 -5.14 -44.14 0 0.22 -3.08 
+0.65 -3.37 1.2 -3.45 1.76 -3.3 1.15 -1.52 1.3 -1.41 1.48 -1.26 1.69 -1.09 1.89 -0.91 
+2.08 -0.67 2.3 -0.43 2.54 -0.13 2.56 0.22 2.39 0.63 2.21 1.04 2.02 1.41 1.84 1.78 
+1.63 2.13 1.43 2.43 1.22 2.73 9.42 0 f*
+3929.23 859.12 -9.42 0 -0.41 2.43 -0.8 2.35 -1.17 2.17 -1.59 1.97 -1.95 1.65 -2.35 1.28 
+-2.73 0.83 -3.13 0.28 -1.93 -0.11 -1.8 -0.34 -1.72 -0.55 -1.58 -0.78 -1.48 -0.96 -1.35 -1.16 
+-1.24 -1.35 -1.11 -1.52 -1.84 -3.52 -1.34 -4.12 -0.8 -4.64 -0.28 -5.1 0.3 -5.01 0.88 -4.45 
+1.43 -3.82 0.91 -1.69 1.05 -1.52 1.17 -1.34 1.28 -1.2 1.41 -0.99 1.52 -0.85 1.63 -0.65 
+1.73 -0.48 1.82 -0.28 1.95 -0.09 1.8 0.09 1.67 0.3 1.54 0.46 1.41 0.63 2.43 1.63 
+1.95 2.04 1.48 2.32 1.02 2.48 0.61 2.45 0.19 2.32 9.42 0 -0.08 -2.3 -0.31 -2.26 
+-0.48 -2.21 -0.67 -2.12 -0.87 -2.04 -1.07 -1.95 -1.25 -1.82 -1.46 -1.69 -1.63 -1.56 -1.84 -1.39 
+-2.02 -1.24 -2.21 -1.02 -2.43 -0.82 -2.61 -0.61 -2.8 -0.39 -2.99 -0.13 -3.39 0.2 -3.12 0.57 
+-2.87 0.89 -2.6 1.2 -2.37 1.49 -2.11 1.76 -1.89 2 -1.67 2.23 -1.43 2.41 -1.21 2.58 
+-1.02 2.71 -0.8 2.87 -0.63 2.93 -0.43 3.02 -0.34 6.16 0.3 4.23 0.63 3.86 0.93 3.54 
+1.2 3.19 1.45 2.87 1.65 2.54 1.82 2.26 1.95 1.98 2.06 1.66 2.13 1.43 2.16 1.18 
+2.17 0.93 2.13 0.7 2.09 0.48 3.79 0.39 4.17 -0.28 3.99 -0.89 3.73 -1.54 1.75 -1.02 
+1.65 -1.22 1.54 -1.39 1.43 -1.59 1.28 -1.78 1.15 -2 0.98 -2.19 0.8 -2.41 0.63 -2.65 
+0.43 -2.86 f*
+199.891 1339.08 27.0664 8.25 re
+f*
+238.13 1364.41 10 0 0.26 4.04 0.74 3.63 1.28 3.23 1.79 2.73 1.08 1.17 1.22 1.04 
+1.34 0.89 1.47 0.76 1.63 0.59 1.76 0.43 3.91 0.34 3.04 -0.28 2.84 -0.78 2.58 -1.31 
+2.28 -1.75 1.89 -2.21 1.45 -2.61 0.91 -3.02 0.3 -3.37 -0.26 -3.43 -0.84 -2.84 -1.41 -2.46 
+-1.96 -2.17 -2.56 -2.08 -3.14 -2.11 -8.05 -4.95 -6.84 -4 -2.93 -1.99 -2.62 -2.04 -2.35 -2.05 
+-2.06 -2.08 -1.8 -2.11 -1.56 -2.17 -1.33 -2.21 -1.08 -2.26 -0.89 -2.32 -0.71 -2.38 -0.87 -5 
+-0.26 -5.34 53.54 0 0 9.42 -42.36 0 1.06 3.63 1.43 3.02 1.89 2.56 2.38 2.3 
+2.93 2.17 3.54 2.24 9.11 5.32 5.3 2.61 4.38 2.93 3.56 3.21 2.8 3.38 2.09 3.56 
+1.41 3.61 0.8 3.62 0.26 3.58 -0.13 2.5 -0.39 2.38 -0.65 2.28 -0.89 2.15 -1.08 2.04 
+-1.33 1.89 -1.5 1.74 -1.67 1.61 -1.84 1.43 -2 1.28 -2.15 1.09 -2.26 0.91 -2.36 0.74 
+-2.47 0.52 -2.54 0.33 -2.63 0.11 -2.82 -0.11 -2.69 -0.31 -2.61 -0.52 -2.47 -0.74 -2.32 -0.96 
+-2.17 -1.17 -2.04 -1.37 -1.84 -1.61 -1.68 -1.82 -1.49 -2.04 -1.29 -2.28 -1.06 -2.49 -0.87 -2.74 
+-0.61 -2.95 -0.39 -3.16 -0.13 -3.43 f*
+326.39 1392.1 2.93 -0.24 2.78 -0.71 2.65 -1.13 2.49 -1.54 2.34 -1.91 2.17 -2.23 2 -2.54 
+1.84 -2.8 1.65 -3.04 1.43 -3.23 1.25 -3.43 1.04 -3.54 0.8 -3.64 0.61 -3.73 0.36 -3.76 
+0.11 -3.75 -0.11 -3.77 -0.36 -3.78 -0.61 -3.75 -0.8 -3.69 -1.04 -3.58 -1.25 -3.47 -1.43 -3.3 
+-1.65 -3.09 -1.84 -2.87 -2 -2.57 -2.17 -2.3 -2.34 -1.96 -2.49 -1.56 -2.65 -1.18 -2.78 -0.71 
+-2.93 -0.26 -2.91 0.26 -2.78 0.71 -2.65 1.18 -2.49 1.56 -2.35 1.96 -2.19 2.3 -2 2.57 
+-1.82 2.87 -1.65 3.09 -1.45 3.3 -1.23 3.47 -1.05 3.58 -0.82 3.69 -0.59 3.75 -0.37 3.78 
+-0.13 3.77 10.59 0 0.11 -3.69 0.26 -3.5 1.05 -6.42 1.61 -5.64 2.06 -4.77 1.17 -2.02 
+1.26 -1.8 1.3 -1.54 1.37 -1.28 1.41 -1.02 1.43 -0.72 1.43 -0.45 1.43 -0.15 1.45 0.15 
+1.43 0.45 1.43 0.72 1.39 1.02 1.37 1.28 1.33 1.54 1.23 1.8 1.17 2.02 2.08 4.77 
+1.58 5.64 1.05 6.42 0.28 3.5 0.09 3.69 -0.09 3.67 -0.28 3.47 -0.43 3.28 -0.61 3.08 
+-1.58 5.55 -0.99 2.43 -1.09 2.21 -1.17 2 -1.23 1.74 -1.33 1.47 -1.37 1.24 -1.39 0.98 
+-1.43 0.72 -1.43 0.41 -1.45 0.15 -1.43 -0.15 -1.43 -0.41 -1.43 -0.72 -1.41 -0.98 -1.37 -1.24 
+-1.3 -1.47 -1.26 -1.74 -1.17 -2 -1.09 -2.21 -0.97 -2.43 -1.61 -5.55 -0.59 -3.08 -0.46 -3.28 
+-0.26 -3.47 -0.11 -3.67 -10.59 0 0.13 3.75 0.37 3.76 0.59 3.73 0.82 3.64 1.05 3.54 
+1.23 3.43 1.45 3.23 1.65 3.04 1.82 2.8 2 2.54 2.19 2.23 2.35 1.91 2.49 1.54 
+2.65 1.13 2.78 0.71 2.91 0.24 f*
+199.891 1649.98 27.0664 8.24609 re
+f*
+265.19 1703 6.49 0 0 -80.12 -10 0 0 57.14 -17.67 0 0 7.08 7.12 0.82 
+3.21 0.7 2.91 1.13 1.34 0.8 1.26 1 1.15 1.21 1.07 1.46 0.96 1.74 0.82 2.02 
+0.74 2.34 0.61 2.69 f*
+326.39 1703 2.93 -0.24 2.78 -0.71 2.65 -1.13 2.49 -1.54 2.34 -1.91 2.17 -2.23 2 -2.54 
+1.84 -2.8 1.65 -3.04 1.43 -3.23 1.25 -3.43 1.04 -3.54 0.8 -3.64 0.61 -3.73 0.36 -3.76 
+0.11 -3.75 -0.11 -3.77 -0.36 -3.78 -0.61 -3.75 -0.8 -3.69 -1.04 -3.58 -1.25 -3.47 -1.43 -3.29 
+-1.65 -3.09 -1.84 -2.87 -2 -2.57 -2.17 -2.31 -2.34 -1.95 -2.49 -1.56 -2.65 -1.17 -2.78 -0.71 
+-2.93 -0.26 -2.91 0.26 -2.78 0.71 -2.65 1.17 -2.49 1.56 -2.35 1.95 -2.19 2.31 -2 2.57 
+-1.82 2.87 -1.65 3.09 -1.45 3.29 -1.23 3.47 -1.05 3.58 -0.82 3.69 -0.59 3.75 -0.37 3.78 
+-0.13 3.77 10.59 0 0.11 -3.69 0.26 -3.49 1.05 -6.42 1.61 -5.64 2.06 -4.77 1.17 -2.02 
+1.26 -1.8 1.3 -1.54 1.37 -1.28 1.41 -1.02 1.43 -0.72 1.43 -0.45 1.43 -0.15 1.45 0.15 
+1.43 0.45 1.43 0.72 1.39 1.02 1.37 1.28 1.33 1.54 1.23 1.8 1.17 2.02 2.08 4.77 
+1.58 5.64 1.05 6.42 0.28 3.49 0.09 3.69 -0.09 3.67 -0.28 3.47 -0.43 3.28 -0.61 3.08 
+-1.58 5.55 -0.99 2.43 -1.09 2.21 -1.17 2 -1.23 1.74 -1.33 1.47 -1.37 1.24 -1.39 0.98 
+-1.43 0.72 -1.43 0.41 -1.45 0.15 -1.43 -0.15 -1.43 -0.41 -1.43 -0.72 -1.41 -0.98 -1.37 -1.24 
+-1.3 -1.47 -1.26 -1.74 -1.17 -2 -1.09 -2.21 -0.97 -2.43 -1.61 -5.55 -0.59 -3.08 -0.46 -3.28 
+-0.26 -3.47 -0.11 -3.67 -10.59 0 0.13 3.75 0.37 3.76 0.59 3.73 0.82 3.64 1.05 3.54 
+1.23 3.43 1.45 3.23 1.65 3.04 1.82 2.8 2 2.54 2.19 2.23 2.35 1.91 2.49 1.54 
+2.65 1.13 2.78 0.71 2.91 0.24 f*
+326.39 2013.89 2.93 -0.24 2.78 -0.71 2.65 -1.13 2.49 -1.54 2.34 -1.91 2.17 -2.23 2 -2.54 
+1.84 -2.8 1.65 -3.04 1.43 -3.23 1.25 -3.43 1.04 -3.54 0.8 -3.64 0.61 -3.73 0.36 -3.76 
+0.11 -3.75 -0.11 -3.78 -0.36 -3.77 -0.61 -3.75 -0.8 -3.69 -1.04 -3.58 -1.25 -3.47 -1.43 -3.29 
+-1.65 -3.09 -1.84 -2.87 -2 -2.58 -2.17 -2.3 -2.34 -1.95 -2.49 -1.56 -2.65 -1.17 -2.78 -0.71 
+-2.93 -0.26 -2.91 0.26 -2.78 0.71 -2.65 1.17 -2.49 1.56 -2.35 1.95 -2.19 2.3 -2 2.58 
+-1.82 2.87 -1.65 3.09 -1.45 3.29 -1.23 3.47 -1.05 3.58 -0.82 3.69 -0.59 3.75 -0.37 3.77 
+-0.13 3.78 10.59 0 0.11 -3.69 0.26 -3.49 1.05 -6.42 1.61 -5.64 2.06 -4.77 1.17 -2.02 
+1.26 -1.8 1.3 -1.54 1.37 -1.28 1.41 -1.02 1.43 -0.72 1.43 -0.45 1.43 -0.15 1.45 0.15 
+1.43 0.45 1.43 0.72 1.39 1.02 1.37 1.28 1.33 1.54 1.23 1.8 1.17 2.02 2.08 4.77 
+1.58 5.64 1.05 6.42 0.28 3.49 0.09 3.69 -0.09 3.66 -0.28 3.47 -0.43 3.28 -0.61 3.09 
+-1.58 5.55 -0.99 2.43 -1.09 2.21 -1.17 2 -1.23 1.74 -1.33 1.47 -1.37 1.24 -1.39 0.98 
+-1.43 0.72 -1.43 0.41 -1.45 0.15 -1.43 -0.15 -1.43 -0.41 -1.43 -0.72 -1.41 -0.98 -1.37 -1.24 
+-1.3 -1.47 -1.26 -1.74 -1.17 -2 -1.09 -2.21 -0.97 -2.43 -1.61 -5.55 -0.59 -3.09 -0.46 -3.28 
+-0.26 -3.47 -0.11 -3.66 -10.59 0 0.13 3.75 0.37 3.76 0.59 3.73 0.82 3.64 1.05 3.54 
+1.23 3.43 1.45 3.23 1.65 3.04 1.82 2.8 2 2.54 2.19 2.23 2.35 1.91 2.49 1.54 
+2.65 1.13 2.78 0.71 2.91 0.24 f*
+265.19 2324.79 6.49 0 0 -80.12 -10 0 0 57.14 -17.67 0 0 7.08 7.12 0.82 
+3.21 0.7 2.91 1.13 1.34 0.8 1.26 1 1.15 1.21 1.07 1.46 0.96 1.73 0.82 2.02 
+0.74 2.34 0.61 2.69 f*
+326.39 2324.79 2.93 -0.24 2.78 -0.71 2.65 -1.13 2.49 -1.54 2.34 -1.91 2.17 -2.24 2 -2.54 
+1.84 -2.79 1.65 -3.04 1.43 -3.23 1.25 -3.43 1.04 -3.54 0.8 -3.65 0.61 -3.73 0.36 -3.76 
+0.11 -3.75 -0.11 -3.78 -0.36 -3.77 -0.61 -3.75 -0.8 -3.69 -1.04 -3.58 -1.25 -3.47 -1.43 -3.29 
+-1.65 -3.09 -1.84 -2.87 -2 -2.58 -2.17 -2.3 -2.34 -1.95 -2.49 -1.56 -2.65 -1.17 -2.78 -0.71 
+-2.93 -0.26 -2.91 0.26 -2.78 0.71 -2.65 1.17 -2.49 1.56 -2.35 1.95 -2.19 2.3 -2 2.58 
+-1.82 2.87 -1.65 3.09 -1.45 3.29 -1.23 3.47 -1.05 3.58 -0.82 3.69 -0.59 3.75 -0.37 3.77 
+-0.13 3.78 10.59 0 0.11 -3.69 0.26 -3.49 1.05 -6.42 1.61 -5.64 2.06 -4.77 1.17 -2.02 
+1.26 -1.8 1.3 -1.54 1.37 -1.28 1.41 -1.02 1.43 -0.72 1.43 -0.45 1.43 -0.15 1.45 0.15 
+1.43 0.45 1.43 0.72 1.39 1.02 1.37 1.28 1.33 1.54 1.23 1.8 1.17 2.02 2.08 4.77 
+1.58 5.64 1.05 6.42 0.28 3.49 0.09 3.69 -0.09 3.66 -0.28 3.47 -0.43 3.28 -0.61 3.09 
+-1.58 5.55 -0.99 2.43 -1.09 2.21 -1.17 2 -1.23 1.74 -1.33 1.47 -1.37 1.24 -1.39 0.98 
+-1.43 0.72 -1.43 0.41 -1.45 0.15 -1.43 -0.15 -1.43 -0.41 -1.43 -0.72 -1.41 -0.98 -1.37 -1.24 
+-1.3 -1.47 -1.26 -1.74 -1.17 -2 -1.09 -2.21 -0.97 -2.43 -1.61 -5.55 -0.59 -3.09 -0.46 -3.28 
+-0.26 -3.47 -0.11 -3.66 -10.59 0 0.13 3.75 0.37 3.76 0.59 3.73 0.82 3.65 1.05 3.54 
+1.23 3.43 1.45 3.23 1.65 3.04 1.82 2.79 2 2.54 2.19 2.24 2.35 1.91 2.49 1.54 
+2.65 1.13 2.78 0.71 2.91 0.24 f*
+5.55556 w
+794.12 984.61 0 82.49 S
+1070.64 984.61 0 82.49 S
+1347.13 984.61 0 82.49 S
+1623.63 984.61 0 82.49 S
+1900.15 984.61 0 82.49 S
+2176.65 984.61 0 82.49 S
+2453.14 984.61 0 82.49 S
+2729.67 984.61 0 82.49 S
+3006.16 984.61 0 82.49 S
+3282.66 984.61 0 82.49 S
+3559.18 984.61 0 82.49 S
+3835.68 984.61 0 82.49 S
+794.12 2499.35 0 -82.49 S
+1070.64 2499.35 0 -82.49 S
+1347.13 2499.35 0 -82.49 S
+1623.63 2499.35 0 -82.49 S
+1900.15 2499.35 0 -82.49 S
+2176.65 2499.35 0 -82.49 S
+2453.14 2499.35 0 -82.49 S
+2729.67 2499.35 0 -82.49 S
+3006.16 2499.35 0 -82.49 S
+3282.66 2499.35 0 -82.49 S
+3559.18 2499.35 0 -82.49 S
+3835.68 2499.35 0 -82.49 S
+435.25 1350.57 82.38 0 S
+435.25 1661.46 82.38 0 S
+435.25 1972.35 82.38 0 S
+435.25 2283.25 82.38 0 S
+2.77778 w
+476.43 1288.39 41.19 0 S
+476.43 1226.21 41.19 0 S
+476.43 1164.02 41.19 0 S
+476.43 1101.84 41.19 0 S
+476.43 1412.74 41.19 0 S
+476.43 1474.91 41.19 0 S
+476.43 1537.11 41.19 0 S
+476.43 1599.29 41.19 0 S
+476.43 1723.63 41.19 0 S
+476.43 1785.8 41.19 0 S
+476.43 1848 41.19 0 S
+476.43 1910.18 41.19 0 S
+476.43 2034.53 41.19 0 S
+476.43 2096.7 41.19 0 S
+476.43 2158.9 41.19 0 S
+476.43 2221.07 41.19 0 S
+476.43 2345.42 41.19 0 S
+476.43 2407.59 41.19 0 S
+5.55556 w
+4194.55 1350.57 -82.38 0 S
+4194.55 1661.46 -82.38 0 S
+4194.55 1972.35 -82.38 0 S
+4194.55 2283.25 -82.38 0 S
+2.77778 w
+4153.36 1288.39 -41.19 0 S
+4153.36 1226.21 -41.19 0 S
+4153.36 1164.02 -41.19 0 S
+4153.36 1101.84 -41.19 0 S
+4153.36 1412.74 -41.19 0 S
+4153.36 1474.91 -41.19 0 S
+4153.36 1537.11 -41.19 0 S
+4153.36 1599.29 -41.19 0 S
+4153.36 1723.63 -41.19 0 S
+4153.36 1785.8 -41.19 0 S
+4153.36 1848 -41.19 0 S
+4153.36 1910.18 -41.19 0 S
+4153.36 2034.53 -41.19 0 S
+4153.36 2096.7 -41.19 0 S
+4153.36 2158.9 -41.19 0 S
+4153.36 2221.07 -41.19 0 S
+4153.36 2345.42 -41.19 0 S
+4153.36 2407.59 -41.19 0 S
+5.55556 w
+4112.17 1067.1 -3594.55 0 0 1349.76 ^ ^ ^ S
+cleartomark end end pagesave restore
+ showpage
+%%PageTrailer
+%%Trailer
+%%Pages: 1
+
+%%EndDocument
+ @endspecial 275 2774 a FD(Figure)30 b(7.3:)42 b(Mon)m(thly)31
+b(Cycle.)150 2995 y(This)g(script)g(illustrates)h(ho)m(w)g(to)g
+(calculate)i(the)d(mon)m(thly)h(anomaly)g(from)f(the)g(ann)m(ual)h(a)m
+(v)m(erage)i(\(see)150 3105 y(Figure)g(7.3\).)50 b(In)33
+b(order)g(to)h(k)m(eep)f(only)h(the)f(mon)m(thly)h(cycle,)h(w)m(e)f
+(will)f(subtract)h(the)f(ann)m(ual)g(a)m(v)m(erage)150
+3215 y(of)g(eac)m(h)g(y)m(ear)h(from)d(the)i(mon)m(thly)g(data,)h
+(instead)e(of)h(subtracting)g(the)f(long-term)i(a)m(v)m(erage.)49
+b(This)32 b(is)150 3324 y(a)f(little)h(more)e(complicated)j(in)d(co)s
+(ding)g(since)h(w)m(e)g(need)f(to)h(lo)s(op)f(o)m(v)m(er)i(y)m(ears.)
+275 3510 y Fq(Flat)f(\014les)f(example)390 3696 y Fy(#!/bin/bash)390
+3915 y(#=======================)o(====)o(====)o(===)o(====)o(====)o
+(===)o(====)o(====)o(===)o(====)390 4025 y(#)47 b(After)g(cmb_fl.sh)390
+4134 y(#)g(Example:)94 b(Monthly)46 b(cycle)g(of)h(each)g(model)f(in)h
+(Greenland)390 4244 y(#)390 4354 y(#)g(Input)g(files:)390
+4463 y(#)g(/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 4573
+y(#)390 4682 y(#)g(Output)g(files:)390 4792 y(#)g
+(/data/cmip5/snc/snc_LImon_)o(_all)o(-md)o(l_hi)o(stor)o(ica)o(l_al)o
+(l-ns)o(m_G)o(N_mt)o(hly-)o(anm)o(.nc)390 4902 y(#)390
+5011 y(#)g(Online:)94 b(http://nco.sourceforge.n)o(et/n)o(co.h)o(tml)o
+(#Mon)o(thly)o(-Cy)o(cle)390 5121 y(#)390 5230 y(#)47
+b(Execute)f(this)h(script:)93 b(bash)47 b(mcc.sh)390
+5340 y(#=======================)o(====)o(====)o(===)o(====)o(====)o
+(===)o(====)o(====)o(===)o(====)p eop end
+%%Page: 229 235
+TeXDict begin 229 234 bop 150 -116 a FD(Chapter)30 b(7:)41
+b(CMIP5)30 b(Example)2333 b(229)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
+737 y(drc_out='/home/wenshanw/)o(data)o(/cmi)o(p5/)o(outp)o(ut/')232
+b(#)47 b(Directory)f(of)h(output)f(files)390 956 y(var=\()g('snc')h
+('snd')f(\))620 b(#)48 b(Variables)390 1066 y(rlm='LImon')999
+b(#)48 b(Realm)390 1176 y(xpt=\()e('historical')f(\))572
+b(#)48 b(Experiment)d(\()i(could)g(be)g(more)f(\))390
+1395 y(fld_out=\()f('snc/')h('snd/')g(\))716 b(#)48 b(Folders)d(of)j
+(output)e(files)390 1504 y(#-----------------------)o(----)o(----)o
+(---)o(----)o(----)o(---)o(----)o(----)o(---)o(----)390
+1724 y(for)h(var_id)f(in)h({0..1};)f(do)763 b(#)48 b(Loop)e(over)h(two)
+g(variables)485 1833 y(#)h(names)e(of)h(all)g(models)485
+1943 y(#)96 b(\(ls)47 b([get)f(file)h(names];)f(cut)h([get)f(the)h
+(part)g(for)g(model)f(names];)485 2052 y(#)96 b(sort;)46
+b(uniq)h([remove)e(duplicates];)g(awk)i([print]\))485
+2162 y(mdl_set=$\()e(ls)j(${drc_in}${var[var_id]})o(_${r)o(lm})o(_*_$)o
+({xpt)o([0])o(}_*.)o(nc)42 b(|)47 b(\\)581 2271 y(cut)g(-d)g('_')g(-f)g
+(3)h(|)f(sort)g(|)g(uniq)g(-c)g(|)g(awk)g('{print)f($2}')h(\))485
+2491 y(for)g(mdl)g(in)g(${mdl_set};)e(do)620 b(##)47
+b(Loop)g(over)g(models)581 2600 y(#)g(Average)f(all)h(the)g(ensemble)f
+(members)f(of)j(each)e(model)581 2710 y(ncea)h(-O)g(-4)g(-d)g
+(time,"1956-01-01)c(00:00:0.0","2005-12-31)f(23:59:9.9")j(\\)676
+2819 y(${drc_in}${var[var_id]}_${)o(rlm)o(}_${)o(mdl})o(_${)o(xpt[)o
+(0]}_)o(*.n)o(c)d(\\)676 2929 y(${drc_out}${fld_out[var_id)o(]}$)o
+({var)o([var)o(_id)o(]}_$)o({rlm)o(}_$)o({mdl)o(}_${)o(xpt)o([0]})o
+(_all)o(-ns)o(m.nc)581 3148 y(#)47 b(Greenland)581 3258
+y(#)g(Geographical)e(weight)581 3367 y(ncap2)h(-O)h(-s)h(\\)676
+3477 y('gw)f(=)h(cos\(lat*3.1415926/180.\))o(;)42 b(\\)676
+3587 y(gw at long_name="geographical)f(weight";gw at units="ratio")o(')h(\\)
+676 3696 y(${drc_out}${fld_out[var_id)o(]}$)o({var)o([var)o(_id)o(]}_$)
+o({rlm)o(}_$)o({mdl)o(}_${)o(xpt)o([0]})o(_all)o(-ns)o(m.nc)f(\\)676
+3806 y(${drc_out}${fld_out[var_id)o(]}$)o({var)o([var)o(_id)o(]}_$)o
+({rlm)o(}_$)o({mdl)o(}_${)o(xpt)o([0]})o(_all)o(-ns)o(m.nc)581
+3915 y(ncwa)47 b(-O)g(-w)g(gw)g(-d)g(lat,60.0,75.0)d(-d)k
+(lon,300.0,340.0)43 b(-a)k(lat,lon)f(\\)676 4025 y
+(${drc_out}${fld_out[var_id)o(]}$)o({var)o([var)o(_id)o(]}_$)o({rlm)o
+(}_$)o({mdl)o(}_${)o(xpt)o([0]})o(_all)o(-ns)o(m.nc)41
+b(\\)676 4134 y(${drc_out}${fld_out[var_id)o(]}$)o({var)o([var)o(_id)o
+(]}_$)o({rlm)o(}_$)o({mdl)o(}_${)o(xpt)o([0]})o(_all)o(-ns)o(m_GN)o
+(.nc)581 4354 y(#)47 b(Anomaly-------------------)o(---)o(----)o(----)o
+(---)o(----)o(---)581 4463 y(for)g(moy)g(in)g({1..12};)e(do)668
+b(#)48 b(Loop)e(over)h(months)676 4573 y(mm=$\()g(printf)f("\04502d")g
+(${moy})g(\))286 b(#)48 b(Change)e(to)h(2-digit)f(format)676
+4792 y(for)h(yr)g(in)h({1956..2005};)c(do)763 b(#)47
+b(Loop)g(over)g(years)772 4902 y(#)g(If)g(January,)f(calculate)f(the)i
+(annual)f(average)772 5011 y(if)h([)g(${moy})g(-eq)f(1)i(];)f(then)1154
+5121 y(ncra)f(-O)h(-d)h(time,"${yr}-01-01)43 b(00:00:0.0","${yr}-12-31)
+e(23:59:9.9")k(\\)963 5230 y(${drc_out}${fld_out[var)o(_id])o(}${v)o
+(ar[)o(var_)o(id]})o(_${)o(rlm})o(_${m)o(dl})o(_\\)963
+5340 y(${xpt[0]}_all-nsm_GN.nc)c(${drc_out}${fld_out[var_i)o(d]}$)o
+({va)o(r[va)o(r_id)o(]}_)o(\\)p eop end
+%%Page: 230 236
+TeXDict begin 230 235 bop 150 -116 a FD(230)2565 b(NCO)29
+b(4.4.2)k(User)d(Guide)963 299 y Fy(${rlm}_${mdl}_${xpt[0]})o(_all)o
+(-nsm)o(_GN)o(_${y)o(r}.n)o(c)772 408 y(fi)772 628 y(#)47
+b(The)g(specific)f(month)772 737 y(ncks)g(-O)i(-d)f
+(time,"${yr}-${mm}-01)42 b(00:00:0.0","${yr}-${mm}-3)o(1)g(23:59:9.9")j
+(\\)867 847 y(${drc_out}${fld_out[var_i)o(d]}$)o({var)o([va)o(r_id)o
+(]}_\\)867 956 y(${rlm}_${mdl}_${xpt[0]}_a)o(ll-n)o(sm_G)o(N.n)o(c)d
+(\\)867 1066 y(${drc_out}${fld_out[var_i)o(d]}$)o({var)o([va)o(r_id)o
+(]}_$)o({rl)o(m}_$)o({mdl)o(}_$)o({xpt)o([0]})o(_\\)867
+1176 y(all-nsm_GN_${yr}${mm}.nc)772 1285 y(#)47 b(Subtract)f(the)h
+(annual)f(average)g(from)g(the)h(monthly)f(data)772 1395
+y(ncbo)g(-O)i(--op_typ=-)d(${drc_out}${fld_out[var)o(_id])o(}${)o(var[)
+o(var_)o(id])o(}_\\)867 1504 y(${rlm}_${mdl}_${xpt[0]}_a)o(ll-n)o(sm_G)
+o(N_$)o({yr})o(${mm)o(}.n)o(c)d(\\)867 1614 y
+(${drc_out}${fld_out[var_i)o(d]}$)o({var)o([va)o(r_id)o(]}_$)o({rl)o
+(m}_$)o({mdl)o(}_$)o({xpt)o([0]})o(_\\)867 1724 y(all-nsm_GN_${yr}.nc)h
+(${drc_out}${fld_out[var_)o(id])o(}${v)o(ar[v)o(ar_)o(id]})o(_${r)o
+(lm})o(_\\)867 1833 y(${mdl}_${xpt[0]}_all-nsm_)o(GN_$)o({yr})o(${m)o
+(m}_a)o(nm.n)o(c)676 1943 y(done)676 2162 y(#)48 b(Average)e(over)g
+(years)676 2271 y(ncra)h(-O)g(${drc_out}${fld_out[var_i)o(d]}$)o({va)o
+(r[va)o(r_id)o(]}_)o(${rl)o(m}_$)o({md)o(l}_\\)772 2381
+y(${xpt[0]}_all-nsm_GN_???)o(?${)o(mm}_)o(anm.)o(nc)41
+b(\\)772 2491 y(${drc_out}${fld_out[var_)o(id])o(}${v)o(ar[v)o(ar_)o
+(id]})o(_${r)o(lm})o(_${m)o(dl}_)o(\\)772 2600 y
+(${xpt[0]}_all-nsm_GN_${m)o(m}_)o(anm.)o(nc)581 2710
+y(done)581 2819 y(#-----------------------)o(----)o(---)o(----)o(----)o
+(---)o(----)o(----)o(-)581 3039 y(#)47 b(Concatenate)e(months)h
+(together)581 3148 y(ncrcat)g(-O)h(${drc_out}${fld_out[var_i)o(d]}$)o
+({va)o(r[va)o(r_id)o(]}_)o(${rl)o(m}_$)o({md)o(l}_\\)676
+3258 y(${xpt[0]}_all-nsm_GN_??_an)o(m.n)o(c)42 b(\\)676
+3367 y(${drc_out}${fld_out[var_id)o(]}$)o({var)o([var)o(_id)o(]}_$)o
+({mdl)o(}.n)o(c)581 3587 y(echo)47 b(Model)f(${mdl})g(done!)485
+3696 y(done)485 3915 y(rm)i(-f)f(${drc_out}${fld_out[var_)o(id])o(}${v)
+o(ar[v)o(ar_)o(id]})o(*his)o(tor)o(ical)o(*)485 4134
+y(#)h(Store)e(models)g(as)i(groups)e(in)h(the)g(output)f(file)485
+4244 y(ncecat)h(-O)g(--gag)f(-v)h(${var[var_id]})d(\\)581
+4354 y(${drc_out}${fld_out[var_)o(id]})o(${v)o(ar[v)o(ar_i)o(d]})o
+(_*.n)o(c)e(\\)581 4463 y(${drc_out}${fld_out[var_)o(id]})o(${v)o(ar[v)
+o(ar_i)o(d]})o(_${r)o(lm}_)o(all)o(-mdl)o(_\\)581 4573
+y(${xpt[0]}_all-nsm_GN_mth)o(ly-a)o(nm.)o(nc)485 4792
+y(echo)47 b(Var)g(${var[var_id]})d(done!)390 4902 y(done)275
+5066 y FD(Using)49 b Fy(group)f FD(feature)i(and)f(h)m(yp)s(erslabs)g
+(\()p Fy(http:)15 b(/)g(/)d(nco)j(.)d(sourceforge)g(.)g(net)j(/)d(nco)j
+(.)d(html)i(#)150 5176 y(Hyperslabs)p FD(\))28 b(of)i
+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: 231 237
+TeXDict begin 231 236 bop 150 -116 a FD(Chapter)30 b(7:)41
+b FC(CMIP5)29 b FD(Example)2358 b(231)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(cmb_fl_grpsh)390 847
+y(#)143 b(sn_LImon_all-mdl_all-xpt)o(_all)o(-ns)o(m_19)o(9001)o(-20)o
+(0512)o(.nc)390 956 y(#)47 b(Online:)94 b(http://nco.sourceforge.n)o
+(et/n)o(co.h)o(tml)o(#Mon)o(thly)o(-Cy)o(cle)390 1066
+y(#)390 1176 y(#)47 b(Execute)f(this)h(script)f(in)h(command)f(line:)94
+b(bash)47 b(mcc_grp.sh)390 1285 y(#=======================)o(====)o
+(====)o(===)o(====)o(====)o(===)o(====)o(====)o(===)o(====)390
+1395 y(#)g(Input)g(and)g(output)f(directory)390 1504
+y(drc='../data/grp/')390 1724 y(#)h(Constants)390 1833
+y(pfx='sn_LImon_all-mdl_al)o(l-xp)o(t_al)o(l-n)o(sm_2)o(0000)o(1-2)o
+(0051)o(')390 2052 y(#)g(Greenland)390 2162 y(ncwa)g(-O)g(-w)g(gw)g(-d)
+g(lat,60.0,75.0)e(-d)i(lon,300.0,340.0)c(-a)48 b(lat,lon)d(\\)485
+2271 y(${drc}${pfx}.nc)f(${drc}${pfx}_grl)390 2491 y(#)j(Anomaly)f
+(from)h(annual)f(average)g(of)h(each)g(year)390 2600
+y(for)g(yyyy)g(in)g({2000..2005};)d(do)485 2710 y(#)k(Annual)e(average)
+485 2819 y(ncwa)h(-O)g(-d)g(time,"${yyyy}-01-01","${yy)o(yy}-)o(12-)o
+(31")41 b(\\)581 2929 y(${drc}${pfx}_grl.nc)h
+(${drc}${pfx}_grl_${yyyy}.n)o(c)485 3148 y(#)48 b(Anomaly)485
+3258 y(ncbo)f(-O)g(--op_typ=-)e(-d)i(time,"${yyyy}-01-01","${yy)o(yy}-)
+o(12-)o(31")41 b(\\)581 3367 y(${drc}${pfx}_grl.nc)h
+(${drc}${pfx}_grl_${yyyy}.n)o(c)g(\\)581 3477 y
+(${drc}${pfx}_grl_${yyyy})o(_anm)o(.nc)390 3587 y(done)390
+3806 y(#)47 b(Monthly)f(cycle)390 3915 y(for)h(moy)g(in)g({1..12};)f
+(do)485 4025 y(mm=$\()h(printf)f("\04502d")g(${moy})g(\))286
+b(#)48 b(Change)e(to)h(2-digit)f(format)485 4134 y(ncra)h(-O)g(-d)g
+(time,"2000-${mm}-01",,12)42 b(\\)581 4244 y(${drc}${pfx}_grl_????_an)o
+(m.nc)f(${drc}${pfx}_grl_${mm}_a)o(nm.n)o(c)390 4354
+y(done)390 4463 y(#)47 b(Concatenate)e(12)i(months)f(together)390
+4573 y(ncrcat)g(-O)h(${drc}${pfx}_grl_??_anm.n)o(c)42
+b(\\)485 4682 y(${drc}${pfx}_grl_mth_anm.n)o(c)150 4961
+y FB(7.5)68 b(Regrid)46 b Fu(MODIS)f FB(Data)150 5121
+y FD(In)26 b(order)g(to)i(compare)f(the)g(results)g(b)s(et)m(w)m(een)g
+FC(MODIS)g FD(and)f FC(CMIP5)g FD(mo)s(dels,)i(one)f(usually)f(regrids)
+h(one)150 5230 y(or)34 b(b)s(oth)f(datasets)h(so)g(that)h(the)f
+(spatial)g(resolutions)g(matc)m(h.)52 b(Here,)35 b(the)f(script)g
+(illustrates)g(ho)m(w)g(to)150 5340 y(regrid)c FC(MODIS)h
+FD(data.)41 b(Key)30 b(steps)h(include:)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.2)j(User)d(Guide)199 299 y(1.)61 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(129\))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(198\).)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
+(====)o(===)o(====)o(====)390 1395 y(#)h(Example)f(for)390
+1504 y(#)334 b(-)47 b(regrid)f(\(using)g(bi_interp.nco\):)92
+b(the)47 b(spatial)f(resolution)f(of)i(MODIS)f(data)390
+1614 y(#)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 1724 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 1833 y(#)390 1943 y(#)f(Input)g(files)f(\(Note:)94
+b(the)47 b(.hdf)g(files)f(downloaded)f(have)i(to)g(be)g(converted)e(to)
+i(.nc)g(at)390 2052 y(#)g(the)g(present\):)390 2162 y(#)g
+(/modis/mcd43c3/MCD43C3.A20)o(0004)o(9.0)o(05.2)o(0062)o(712)o(0553)o
+(2.nc)390 2271 y(#)390 2381 y(#)g(Output)g(files:)390
+2491 y(#)g(/modis/mcd43c3/cesm-grid/M)o(CD43)o(C3.)o(2000)o(049.)o(reg)
+o(rid.)o(nc)390 2600 y(#)390 2710 y(#)g(Online:)94 b
+(http://nco.sourceforge.n)o(et/n)o(co.h)o(tml)o(#Reg)o(rid-)o(MOD)o
+(IS-D)o(ata)390 2819 y(#)390 2929 y(#)47 b(Execute)f(this)h(script:)93
+b(bash)47 b(rgr.sh)390 3039 y(#=======================)o(====)o(====)o
+(===)o(====)o(====)o(===)o(====)o(====)o(===)o(====)o(====)o(===)o
+(====)o(====)390 3258 y(var=\()f('MCD43C3')g(\))238 b(#)47
+b(Variable)390 3367 y(fld_in=\()f('monthly/')f(\))238
+b(#)47 b(Folder)f(of)i(input)e(files)390 3477 y(fld_out=\()f
+('cesm-grid/')g(\))286 b(#)47 b(Folder)f(of)i(output)e(files)390
+3587 y(drc_in='/media/grele_dat)o(a/we)o(nsha)o(n/m)o(odis)o(/mcd)o
+(43c)o(3/')232 b(#)48 b(Directory)d(of)i(input)g(files)390
+3806 y(for)g(fn)g(in)g($\()g(ls)h(${drc_in}${fld_in}${var)o(}.*.)o(nc)
+41 b(\);)48 b(do)620 b(#)47 b(Loop)g(over)f(files)485
+3915 y(sfx=$\()h(echo)f($fn)h(|)h(cut)e(-d)i('/')f(-f)g(8)g(|)h(cut)f
+(-d)g('.')94 b(-f)48 b(2)f(\))g(#)h(Part)f(of)g(file)f(names)485
+4134 y(#)i(Regrid)485 4244 y(ncap2)f(-O)g(-S)g(bi_interp.nco)d(${fn})j
+(${drc_in}${fld_out}${va)o(r}.$)o({sfx)o(}.r)o(egri)o(d.nc)485
+4354 y(#)h(Keep)f(only)f(the)h(new)g(variables)485 4463
+y(ncks)g(-O)g(-v)g(wsa_sw_less,bsa_sw_less)42 b
+(${drc_in}${fld_out}${var)o(}.${)o(sfx)o(}.re)o(grid)o(.nc)f(\\)581
+4573 y(${drc_in}${fld_out}${var)o(}.${)o(sfx)o(}.re)o(grid)o(.nc)485
+4682 y(#)48 b(Rename)e(the)h(new)g(variables,)e(dimensions)g(and)i
+(attributions)485 4792 y(ncrename)f(-O)h(-d)g(latn,lat)f(-d)h(lonn,lon)
+f(-v)h(latn,lat)e(-v)j(lonn,lon)d(\\)581 4902 y(-v)i
+(wsa_sw_less,wsa_sw)c(-v)k(bsa_sw_less,bsa_sw)c(-a)k
+(missing_value,_FillValue)41 b(\\)581 5011 y(${drc_in}${fld_out}${var)o
+(}.${)o(sfx)o(}.re)o(grid)o(.nc)485 5230 y(echo)47 b($sfx)g(done.)390
+5340 y(done)p eop end
+%%Page: 233 239
+TeXDict begin 233 238 bop 150 -116 a FD(Chapter)30 b(7:)41
+b(CMIP5)30 b(Example)2333 b(233)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(DIS-)o(Data)390 956 y(defdim\("latn",192\);)615
+b(//)47 b(Define)g(new)f(dimension:)93 b(latitude)390
+1066 y(defdim\("lonn",288\);)615 b(//)47 b(Define)g(new)f(dimension:)93
+b(longitude)390 1176 y(latn[$latn])45 b(=)i({90,89.0576)e(,88.1152)g
+(,87.1728)h(,86.2304)g(,85.288)93 b(,\\)485 1285 y(84.3456)46
+b(,83.4031)g(,82.4607)f(,81.5183)h(,80.5759)f(,79.6335)h(,78.6911)g
+(,\\)485 1395 y(77.7487)g(,76.8063)g(,75.8639)f(,74.9215)h(,73.9791)f
+(,73.0367)h(,72.0942)g(,\\)485 1504 y(71.1518)g(,70.2094)g(,69.267)93
+b(,68.3246)46 b(,67.3822)f(,66.4398)h(,65.4974)g(,\\)485
+1614 y(64.555)94 b(,63.6126)46 b(,62.6702)f(,61.7277)h(,60.7853)f
+(,59.8429)h(,58.9005)g(,\\)485 1724 y(57.9581)g(,57.0157)g(,56.0733)f
+(,55.1309)h(,54.1885)f(,53.2461)h(,52.3037)g(,\\)485
+1833 y(51.3613)g(,50.4188)g(,49.4764)f(,48.534)94 b(,47.5916)45
+b(,46.6492)h(,45.7068)g(,\\)485 1943 y(44.7644)g(,43.822)94
+b(,42.8796)45 b(,41.9372)h(,40.9948)f(,40.0524)h(,39.11)142
+b(,\\)485 2052 y(38.1675)46 b(,37.2251)g(,36.2827)f(,35.3403)h
+(,34.3979)f(,33.4555)h(,32.5131)g(,\\)485 2162 y(31.5707)g(,30.6283)g
+(,29.6859)f(,28.7435)h(,27.8011)f(,26.8586)h(,25.9162)g(,\\)485
+2271 y(24.9738)g(,24.0314)g(,23.089)93 b(,22.1466)46
+b(,21.2042)f(,20.2618)h(,19.3194)g(,\\)485 2381 y(18.377)94
+b(,17.4346)46 b(,16.4921)f(,15.5497)h(,14.6073)f(,13.6649)h(,12.7225)g
+(,\\)485 2491 y(11.7801)g(,10.8377)g(,9.89529)f(,8.95288)h(,8.01047)f
+(,7.06806)h(,6.12565)g(,\\)485 2600 y(5.18325)g(,4.24084)g(,3.29843)f
+(,2.35602)h(,1.41361)f(,0.471204,-0.471204,\\)485 2710
+y(-1.41361,-2.35602,-3.29843)o(,-4.)o(240)o(84,-)o(5.18)o(325)o(,-6.)o
+(1256)o(5,-)o(7.06)o(806,)o(\\)485 2819 y(-8.01047,-8.95288,-9.89529)o
+(,-10)o(.83)o(77,-)o(11.7)o(801)o(,-12)o(.722)o(5,-)o(13.6)o(649,)o(\\)
+485 2929 y(-14.6073,-15.5497,-16.4921)o(,-17)o(.43)o(46,-)o(18.3)o(77)c
+(,-19.3194,-20.2618,\\)485 3039 y(-21.2042,-22.1466,-23.089)g
+(,-24.0314,-24.9738,-25.916)o(2,-)o(26.8)o(586,)o(\\)485
+3148 y(-27.8011,-28.7435,-29.6859)o(,-30)o(.62)o(83,-)o(31.5)o(707)o
+(,-32)o(.513)o(1,-)o(33.4)o(555,)o(\\)485 3258 y
+(-34.3979,-35.3403,-36.2827)o(,-37)o(.22)o(51,-)o(38.1)o(675)o(,-39)o
+(.11)89 b(,-40.0524,\\)485 3367 y(-40.9948,-41.9372,-42.8796)o(,-43)o
+(.82)o(2)42 b(,-44.7644,-45.7068,-46.6)o(492,)o(\\)485
+3477 y(-47.5916,-48.534)i(,-49.4764,-50.4188,-51.3)o(613)o(,-52)o(.303)
+o(7,-)o(53.2)o(461,)o(\\)485 3587 y(-54.1885,-55.1309,-56.0733)o(,-57)o
+(.01)o(57,-)o(57.9)o(581)o(,-58)o(.900)o(5,-)o(59.8)o(429,)o(\\)485
+3696 y(-60.7853,-61.7277,-62.6702)o(,-63)o(.61)o(26,-)o(64.5)o(55)d
+(,-65.4974,-66.4398,\\)485 3806 y(-67.3822,-68.3246,-69.267)g
+(,-70.2094,-71.1518,-72.094)o(2,-)o(73.0)o(367,)o(\\)485
+3915 y(-73.9791,-74.9215,-75.8639)o(,-76)o(.80)o(63,-)o(77.7)o(487)o
+(,-78)o(.691)o(1,-)o(79.6)o(335,)o(\\)485 4025 y
+(-80.5759,-81.5183,-82.4607)o(,-83)o(.40)o(31,-)o(84.3)o(456)o(,-85)o
+(.288)o(,-8)o(6.23)o(04,\\)485 4134 y(-87.1728,-88.1152,-89.0576)o
+(,-90)o(};)662 b(//)47 b(Copy)g(of)g(CCSM4)f(latitude)390
+4244 y(lonn[$lonn])f(=)i({-178.75,-177.5,-176.25,-)o(175,)o(-17)o(3.75)
+o(,-17)o(2.5)o(,-17)o(1.25)o(,\\)485 4354 y(-170,-168.75,-167.5,-166.2)
+o(5,-1)o(65,)o(-163)o(.75,)o(-16)o(2.5,)o(-161)o(.25)o(,-16)o(0,\\)485
+4463 y(-158.75,-157.5,-156.25,-15)o(5,-1)o(53.)o(75,-)o(152.)o(5,-)o
+(151.)o(25,-)o(150)o(,-14)o(8.75)o(,\\)485 4573 y
+(-147.5,-146.25,-145,-143.7)o(5,-1)o(42.)o(5,-1)o(41.2)o(5,-)o(140,)o
+(-138)o(.75)o(,-13)o(7.5,)o(\\)485 4682 y(-136.25,-135,-133.75,-132.)o
+(5,-1)o(31.)o(25,-)o(130,)o(-12)o(8.75)o(,-12)o(7.5)o(,-12)o(6.25)o
+(,\\)485 4792 y(-125,-123.75,-122.5,-121.2)o(5,-1)o(20,)o(-118)o(.75,)o
+(-11)o(7.5,)o(-116)o(.25)o(,-11)o(5,\\)485 4902 y
+(-113.75,-112.5,-111.25,-11)o(0,-1)o(08.)o(75,-)o(107.)o(5,-)o(106.)o
+(25,-)o(105)o(,-10)o(3.75)o(,\\)485 5011 y(-102.5,-101.25,-100,-98.75)o
+(,-97)o(.5,)o(-96.)o(25,-)o(95,)o(-93.)o(75,-)o(92.)o(5,-9)o(1.25)o
+(,\\)485 5121 y(-90,-88.75,-87.5,-86.25,-8)o(5,-8)o(3.7)o(5,-8)o(2.5,)o
+(-81)o(.25,)o(-80,)o(-78)o(.75,)o(-77.)o(5,\\)485 5230
+y(-76.25,-75,-73.75,-72.5,-7)o(1.25)o(,-7)o(0,-6)o(8.75)o(,-6)o(7.5,)o
+(-66.)o(25,)o(-65,)o(-63.)o(75,)o(\\)485 5340 y
+(-62.5,-61.25,-60,-58.75,-5)o(7.5,)o(-56)o(.25,)o(-55,)o(-53)o(.75,)o
+(-52.)o(5,-)o(51.2)o(5,-5)o(0,\\)p eop end
+%%Page: 234 240
+TeXDict begin 234 239 bop 150 -116 a FD(234)2565 b(NCO)29
+b(4.4.2)k(User)d(Guide)485 299 y Fy(-48.75,-47.5,-46.25,-45,-4)o(3.75)o
+(,-4)o(2.5,)o(-41.)o(25,)o(-40,)o(-38.)o(75,)o(-37.)o(5,\\)485
+408 y(-36.25,-35,-33.75,-32.5,-3)o(1.25)o(,-3)o(0,-2)o(8.75)o(,-2)o
+(7.5,)o(-26.)o(25,)o(-25,)o(-23.)o(75,)o(\\)485 518 y
+(-22.5,-21.25,-20,-18.75,-1)o(7.5,)o(-16)o(.25,)o(-15,)o(-13)o(.75,)o
+(-12.)o(5,-)o(11.2)o(5,-1)o(0,\\)485 628 y(-8.75,-7.5,-6.25,-5,-3.75,)o
+(-2.5)o(,-1)o(.25,)o(0,1.)o(25,)o(2.5,)o(3.75)o(,5,)o(6.25)o(,7.5)o
+(,\\)485 737 y(8.75,10,11.25,12.5,13.75,1)o(5,16)o(.25)o(,17.)o(5,18)o
+(.75)o(,20,)o(21.2)o(5,2)o(2.5,)o(23.7)o(5,\\)485 847
+y(25,26.25,27.5,28.75,30,31.)o(25,3)o(2.5)o(,33.)o(75,3)o(5,3)o(6.25)o
+(,37.)o(5,3)o(8.75)o(,40,)o(\\)485 956 y(41.25,42.5,43.75,45,46.25,)o
+(47.5)o(,48)o(.75,)o(50,5)o(1.2)o(5,52)o(.5,5)o(3.7)o(5,55)o(,56.)o
+(25,)o(\\)485 1066 y(57.5,58.75,60,61.25,62.5,6)o(3.75)o(,65)o(,66.)o
+(25,6)o(7.5)o(,68.)o(75,7)o(0,7)o(1.25)o(,72.)o(5,\\)485
+1176 y(73.75,75,76.25,77.5,78.75,)o(80,8)o(1.2)o(5,82)o(.5,8)o(3.7)o
+(5,85)o(,86.)o(25,)o(87.5)o(,88.)o(75,)o(\\)485 1285
+y(90,91.25,92.5,93.75,95,96.)o(25,9)o(7.5)o(,98.)o(75,1)o(00,)o(101.)o
+(25,1)o(02.)o(5,10)o(3.75)o(,\\)485 1395 y(105,106.25,107.5,108.75,11)o
+(0,11)o(1.2)o(5,11)o(2.5,)o(113)o(.75,)o(115,)o(116)o(.25,)o(117.)o
+(5,\\)485 1504 y(118.75,120,121.25,122.5,12)o(3.75)o(,12)o(5,12)o(6.25)
+o(,12)o(7.5,)o(128.)o(75,)o(130,)o(131.)o(25,)o(\\)485
+1614 y(132.5,133.75,135,136.25,13)o(7.5,)o(138)o(.75,)o(140,)o(141)o
+(.25,)o(142.)o(5,1)o(43.7)o(5,14)o(5,\\)485 1724 y
+(146.25,147.5,148.75,150,15)o(1.25)o(,15)o(2.5,)o(153.)o(75,)o(155,)o
+(156.)o(25,)o(157.)o(5,\\)485 1833 y(158.75,160,161.25,162.5,16)o(3.75)
+o(,16)o(5,16)o(6.25)o(,16)o(7.5,)o(168.)o(75,)o(170,)o(171.)o(25,)o(\\)
+485 1943 y(172.5,173.75,175,176.25,17)o(7.5,)o(178)o(.75,)o(180})o(;)
+185 b(//)47 b(Copy)g(of)g(CCSM4)f(longitude)390 2162
+y(*out[$time,$latn,$lonn]=)o(0.0;)566 b(//)47 b(Output)f(structure)390
+2381 y(//)h(Bi-linear)e(interpolation)390 2491 y
+(bsa_sw_less=bilinear_int)o(erp_)o(wrap)o(\(bs)o(a_sw)o(,out)o(,la)o
+(tn,l)o(onn,)o(lat)o(,lon)o(\);)390 2600 y(wsa_sw_less=bilinear_int)o
+(erp_)o(wrap)o(\(ws)o(a_sw)o(,out)o(,la)o(tn,l)o(onn,)o(lat)o(,lon)o
+(\);)390 2819 y(//)i(Add)g(attributions)390 2929 y(latn at units)e(=)i
+("degree_north";)390 3039 y(lonn at units)e(=)i("degree_east";)390
+3148 y(latn at long_name)d(=)j("latitude";)390 3258 y(lonn at long_name)d(=)j
+("longitude";)390 3367 y(bsa_sw_less at hdf_name)42 b(=)48
+b("Albedo_BSA_shortwave";)390 3477 y(bsa_sw_less at calibrated_n)o(t)42
+b(=)47 b(5;)390 3587 y(bsa_sw_less at missing_valu)o(e)42
+b(=)47 b(32767.0;)390 3696 y(bsa_sw_less at units)c(=)48
+b("albedo,)d(no)i(units";)390 3806 y(bsa_sw_less at long_name)42
+b(=)47 b("Global_Albedo_BSA_shortwa)o(ve";)390 3915 y
+(wsa_sw_less at hdf_name)42 b(=)48 b("Albedo_WSA_shortwave";)390
+4025 y(wsa_sw_less at calibrated_n)o(t)42 b(=)47 b(5;)390
+4134 y(wsa_sw_less at missing_valu)o(e)42 b(=)47 b(32767.0;)390
+4244 y(wsa_sw_less at units)c(=)48 b("albedo,)d(no)i(units";)390
+4354 y(wsa_sw_less at long_name)42 b(=)47 b("Global_Albedo_WSA_shortwa)o
+(ve";)150 4583 y FB(7.6)68 b(Add)44 b(Co)t(ordinates)i(to)f
+Fu(MODIS)h FB(Data)150 4742 y Fq(Main)31 b(Script)390
+4902 y Fy(#!/bin/bash)390 5121 y(#=======================)o(====)o
+(====)o(===)o(====)o(====)o(===)o(====)o(====)o(===)o(====)390
+5230 y(#)47 b(Example)f(for)390 5340 y(#)334 b(-)47 b(regrid)f(\(using)
+g(bi_interp.nco\):)92 b(the)47 b(spatial)f(resolution)f(of)i(MODIS)f
+(data)p eop end
+%%Page: 235 241
+TeXDict begin 235 240 bop 150 -116 a FD(Chapter)30 b(7:)41
+b(CMIP5)30 b(Example)2333 b(235)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)e(\(using)h(coor.nco\):)93
+b(there)46 b(is)h(no)g(coordinate)e(information)390 628
+y(#)716 b(in)47 b(MODIS)f(data.)94 b(We)47 b(have)g(to)g(add)g(it)g
+(manually)f(now.)390 737 y(#)390 847 y(#)h(Input)g(files:)390
+956 y(#)g(/modis/mcd43c3/cesm-grid/M)o(CD43)o(C3.)o(2000)o(049.)o(reg)o
+(rid.)o(nc)390 1066 y(#)390 1176 y(#)g(Output)g(files:)390
+1285 y(#)g(/modis/mcd43c3/cesm-grid/M)o(CD43)o(C3.)o(2000)o(049.)o(reg)
+o(rid.)o(nc)390 1395 y(#)390 1504 y(#)g(Online:)94 b
+(http://nco.sourceforge.n)o(et/n)o(co.h)o(tml)o(#Add)o(-Coo)o(rdi)o
+(nate)o(s-to)o(-MO)o(DIS-)o(Data)390 1614 y(#)390 1724
+y(#)47 b(Execute)f(this)h(script:)93 b(bash)47 b(add_crd.sh)390
+1833 y(#=======================)o(====)o(====)o(===)o(====)o(====)o
+(===)o(====)o(====)o(===)o(====)390 2052 y(var=\()f('MOD10CM')g(\))238
+b(#)47 b(Variable)390 2162 y(fld_in=\()f('snc/nc/')f(\))95
+b(#)47 b(Folder)g(of)g(input)f(files)390 2271 y
+(drc_in='/media/grele_dat)o(a/we)o(nsha)o(n/m)o(odis)o(/')c(#)47
+b(directory)e(of)i(input)g(files)390 2491 y(for)g(fn)g(in)g($\()g(ls)h
+(${drc_in}${fld_in}${var)o(}*.n)o(c)42 b(\);)47 b(do)668
+b(#)47 b(Loop)g(over)f(files)485 2600 y(sfx=$\()h(echo)f(${fn})h(|)g
+(cut)g(-d)g('/')g(-f)g(8)h(|)f(cut)g(-d)g('.')95 b(-f)47
+b(2-4)g(\))191 b(#)47 b(Part)g(of)g(file)f(names)485
+2710 y(echo)h(${sfx})485 2929 y(#)h(Rename)e(dimension)f(names)485
+3039 y(ncrename)h(-d)h(YDim_MOD_CMG_Snow_5km,lat)41 b(-d)47
+b(XDim_MOD_CMG_Snow_5km,lon)41 b(-O)47 b(\\)581 3148
+y(${drc_in}${fld_in}${var})o(.${s)o(fx})o(.nc)41 b
+(${drc_in}${fld_in}${var}.$)o({sf)o(x}.n)o(c)485 3258
+y(#)48 b(Add)f(coordinates)485 3367 y(ncap2)g(-O)g(-S)g(crd.nco)f
+(${drc_in}${fld_in}${var})o(.${s)o(fx}.)o(nc)41 b(\\)581
+3477 y(${drc_in}${fld_in}${var})o(.${s)o(fx})o(.nc)390
+3587 y(done)275 3747 y Fq(crd.nco)390 3908 y Fy(//)47
+b(Add)g(coordinates)e(to)i(MODIS)f(HDF)h(data)390 4017
+y(//)g(Included)f(by)h(add_crd.sh)390 4127 y(//)g(Online:)94
+b(http://nco.sourceforge.)o(net/)o(nco.)o(htm)o(l#Ad)o(d-Co)o(ord)o
+(inat)o(es-t)o(o-M)o(ODIS)o(-Dat)o(a)390 4346 y(lon)47
+b(=)g(array\(0.f,)e(0.05,)i($lon\))f(-)i(180;)390 4456
+y(lat)f(=)g(90.f-)g(array\(0.f,)e(0.05,)h($lat\);)150
+4691 y FB(7.7)68 b(P)l(erm)l(ute)46 b Fu(MODIS)f FB(Co)t(ordinates)150
+4851 y FC(MODIS)f FD(orders)f(latitude)i(data)f(from)f(90)1651
+4818 y Fd(\016)1690 4851 y FD(N)h(to)h(-90)2047 4818
+y Fd(\016)2086 4851 y FD(N,)f(and)f(longitude)h(from)g(-180)3219
+4818 y Fd(\016)3258 4851 y FD(E)g(to)g(180)3623 4818
+y Fd(\016)3663 4851 y FD(E.)150 4960 y(Ho)m(w)m(ev)m(er,)h
+FC(CMIP5)38 b FD(orders)i(latitude)h(from)e(-90)1833
+4927 y Fd(\016)1872 4960 y FD(N)h(to)h(90)2191 4927 y
+Fd(\016)2230 4960 y FD(N,)f(and)g(longitude)g(from)f(0)3227
+4927 y Fd(\016)3266 4960 y FD(E)h(to)g(360)3623 4927
+y Fd(\016)3663 4960 y FD(E.)150 5070 y(This)30 b(script)g(c)m(hanges)h
+(the)g FC(MODIS)f FD(co)s(ordinates)h(to)g(follo)m(w)h(the)f
+FC(CMIP5)e FD(con)m(v)m(en)m(tion.)390 5230 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.2)j(User)d(Guide)390 299 y Fy(##======================)o(====)
+o(====)o(===)o(====)o(====)o(===)o(====)o(====)o(===)o(====)o(====)o
+(===)o(====)o(====)o(=)390 408 y(##)47 b(Example)f(for)390
+518 y(##)286 b(-)47 b(permute)f(coordinates:)92 b(the)47
+b(grid)g(of)g(MODIS)f(is)390 628 y(##)668 b(from)46 b(\(-180)h(degE,)f
+(90)h(degN\),)f(the)h(left-up)f(corner,)g(to)390 737
+y(##)668 b(\(180)46 b(degE,)h(-90)g(degN\),)f(the)h(right-low)e
+(corner.)93 b(However,)46 b(CMIP5)g(is)390 847 y(##)668
+b(from)46 b(\(0)h(degE,)g(-90)g(degN\))f(to)h(\(360)g(degE,)f(90)h
+(degN\).)g(The)f(script)390 956 y(##)668 b(here)46 b(changes)g(the)h
+(MODIS)f(grid)h(to)g(CMIP5)g(grid.)390 1066 y(##)390
+1176 y(##)g(Input)g(files:)390 1285 y(##)g(/modis/mcd43c3/cesm-grid/)o
+(MCD4)o(3C3)o(.200)o(0049)o(.re)o(grid)o(.nc)390 1395
+y(##)390 1504 y(##)g(Output)f(files:)390 1614 y(##)h
+(/modis/mcd43c3/cesm-grid/)o(MCD4)o(3C3)o(.200)o(0049)o(.re)o(grid)o
+(.nc)390 1724 y(##)390 1833 y(##)g(Online:)94 b
+(http://nco.sourceforge.)o(net/)o(nco.)o(htm)o(l#Pe)o(rmut)o(e-M)o
+(ODIS)o(-Coo)o(rdi)o(nate)o(s)390 1943 y(##)390 2052
+y(##)47 b(Execute)f(this)h(script:)93 b(bash)47 b(pmt_crd.sh)390
+2162 y(##======================)o(====)o(====)o(===)o(====)o(====)o
+(===)o(====)o(====)o(===)o(====)o(====)o(===)o(====)o(====)o(=)390
+2381 y(##----------------------)o(----)o(----)o(---)o(----)o(----)o
+(---)o(----)o(----)o(---)o(----)o(----)o(---)o(----)o(----)o(-)390
+2491 y(##)g(Permute)f(coordinates)390 2600 y(##)286 b(-)47
+b(Inverse)f(lat)h(from)g(\(90,-90\))e(to)i(\(-90,90\))390
+2710 y(##)286 b(-)47 b(Permute)f(lon)h(from)g(\(-180,180\))e(to)i
+(\(0,360\))390 2819 y(for)g(fn)g(in)g($\()g(ls)h(MCD43C3.*.nc)c(\);)j
+(do)286 b(#)48 b(Loop)e(over)h(files)485 2929 y(sfx=$\()g(echo)f(${fn})
+h(|)g(cut)g(-d)g('.')95 b(-f)47 b(1-3)g(\))238 b(#)48
+b(Part)e(of)h(file)g(names)485 3039 y(echo)g(${sfx})485
+3258 y(##)h(Lat)485 3367 y(ncpdq)f(-O)g(-a)g(-lat)g(${fn})f(${fn})285
+b(#)48 b(Inverse)d(latitude)h(\(NB:)h(there)f(is)h('-')g(before)f
+('lat'\))485 3587 y(##)i(Lon)485 3696 y(ncks)f(-O)g(--msa)g(-d)g
+(lon,0.0,180.0)d(-d)j(lon,-180.0,-1.25)d(${fn})i(${fn})485
+3915 y(##)i(Add)f(new)f(longitude)g(coordinates)485 4025
+y(ncap2)h(-O)g(-s)g('lon=array\(0.0,1.25,$lon\))o(')42
+b(${fn})k(${fn})390 4134 y(done)p eop end
+%%Page: 237 243
+TeXDict begin 237 242 bop 150 -116 a FD(Chapter)30 b(8:)41
+b(P)m(arallel)2699 b(237)150 299 y Fx(8)80 b(P)l(arallel)150
+558 y FD(This)30 b(section)h(will)g(describ)s(e)f(scripting)g
+(strategies,)j(including)d(the)g(use)g(of)h FC(GNU)g
+FD(P)m(arallel,)h(to)f FC(NCO)p FD(.)390 717 y Fy(ls)47
+b(*historical*.nc)d(|)j(parallel)f(ncks)g(-O)i(-d)f
+(time,"1950-01-01","2000-)o(01-)o(01")41 b({})48 b(50y/{})p
+eop end
+%%Page: 238 244
+TeXDict begin 238 243 bop eop end
+%%Page: 239 245
+TeXDict begin 239 244 bop 150 -116 a FD(Chapter)30 b(9:)41
+b(CCSM)29 b(Example)2357 b(239)150 299 y Fx(9)80 b(CCSM)53
+b(Example)150 575 y FD(This)41 b(c)m(hapter)i(illustrates)g(ho)m(w)f
+(to)g(use)g FC(NCO)g FD(to)g(pro)s(cess)g(and)f(analyze)j(the)e
+(results)f(of)i(a)f FC(CCSM)150 684 y FD(climate)32 b(sim)m(ulation.)
+390 847 y Fy(************************)o(****)o(****)o(***)o(****)o
+(****)o(***)o(****)o(****)o(***)o(****)o(****)o(***)o(****)390
+956 y(Task)47 b(0:)g(Finding)f(input)g(files)390 1066
+y(************************)o(****)o(****)o(***)o(****)o(****)o(***)o
+(****)o(****)o(***)o(****)o(****)o(***)o(****)390 1176
+y(The)h(CCSM)g(model)f(outputs)g(files)g(to)h(a)h(local)e(directory)f
+(like:)390 1395 y(/ptmp/zender/archive/T42)o(x1_4)o(0)390
+1614 y(Each)i(component)e(model)h(has)h(its)g(own)g(subdirectory,)d
+(e.g.,)390 1833 y(/ptmp/zender/archive/T42)o(x1_4)o(0/at)o(m)390
+1943 y(/ptmp/zender/archive/T42)o(x1_4)o(0/cp)o(l)390
+2052 y(/ptmp/zender/archive/T42)o(x1_4)o(0/ic)o(e)390
+2162 y(/ptmp/zender/archive/T42)o(x1_4)o(0/ln)o(d)390
+2271 y(/ptmp/zender/archive/T42)o(x1_4)o(0/oc)o(n)390
+2491 y(within)i(which)g(model)h(output)f(is)h(tagged)f(with)h(the)g
+(particular)e(model)h(name)390 2710 y(/ptmp/zender/archive/T42)o(x1_4)o
+(0/at)o(m/T)o(42x1)o(_40.)o(cam)o(2.h0)o(.000)o(1-0)o(1.nc)390
+2819 y(/ptmp/zender/archive/T42)o(x1_4)o(0/at)o(m/T)o(42x1)o(_40.)o
+(cam)o(2.h0)o(.000)o(1-0)o(2.nc)390 2929 y(/ptmp/zender/archive/T42)o
+(x1_4)o(0/at)o(m/T)o(42x1)o(_40.)o(cam)o(2.h0)o(.000)o(1-0)o(3.nc)390
+3039 y(...)390 3148 y(/ptmp/zender/archive/T42)o(x1_4)o(0/at)o(m/T)o
+(42x1)o(_40.)o(cam)o(2.h0)o(.000)o(1-1)o(2.nc)390 3258
+y(/ptmp/zender/archive/T42)o(x1_4)o(0/at)o(m/T)o(42x1)o(_40.)o(cam)o
+(2.h0)o(.000)o(2-0)o(1.nc)390 3367 y(/ptmp/zender/archive/T42)o(x1_4)o
+(0/at)o(m/T)o(42x1)o(_40.)o(cam)o(2.h0)o(.000)o(2-0)o(2.nc)390
+3477 y(...)390 3696 y(or)390 3915 y(/ptmp/zender/archive/T42)o(x1_4)o
+(0/ln)o(d/T)o(42x1)o(_40.)o(clm)o(2.h0)o(.000)o(1-0)o(1.nc)390
+4025 y(/ptmp/zender/archive/T42)o(x1_4)o(0/ln)o(d/T)o(42x1)o(_40.)o
+(clm)o(2.h0)o(.000)o(1-0)o(2.nc)390 4134 y(/ptmp/zender/archive/T42)o
+(x1_4)o(0/ln)o(d/T)o(42x1)o(_40.)o(clm)o(2.h0)o(.000)o(1-0)o(3.nc)390
+4244 y(...)390 4463 y(************************)o(****)o(****)o(***)o
+(****)o(****)o(***)o(****)o(****)o(***)o(****)o(****)o(***)o(****)390
+4573 y(Task)h(1:)g(Regional)e(processing)390 4682 y
+(************************)o(****)o(****)o(***)o(****)o(****)o(***)o
+(****)o(****)o(***)o(****)o(****)o(***)o(****)390 4792
+y(The)i(first)f(task)h(in)g(data)g(processing)e(is)i(often)f(creating)g
+(seasonal)f(cycles.)390 4902 y(Imagine)h(a)h(100-year)f(simulation)f
+(with)h(its)h(1200)g(monthly)f(mean)g(files.)390 5011
+y(Our)h(goal)g(is)g(to)g(create)f(a)h(single)g(file)f(containing)f(12)i
+(months)f(of)i(data.)390 5121 y(Each)f(month)f(in)h(the)g(output)f
+(file)h(is)g(the)g(mean)g(of)g(100)g(input)f(files.)390
+5340 y(Normally,)f(we)i(store)g(the)g("reduced")e(data)i(in)g(a)g
+(smaller,)f(local)g(directory.)p eop end
+%%Page: 240 246
+TeXDict begin 240 245 bop 150 -116 a FD(240)2582 b FC(NCO)30
+b FD(4.4.2)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})
+390 1176 y(Method)f(1:)h(Assume)f(all)h(data)g(in)g(directory)e
+(applies)390 1285 y(for)i(mth)g(in)g({1..12};)f(do)485
+1395 y(mm=`printf)f("\04502d")i($mth`)485 1504 y(ncra)g(-O)g(-D)g(1)h
+(-o)f(${drc_out}/${caseid}_clm$)o({mm)o(}.nc)41 b(\\)581
+1614 y(${drc_in}/${caseid}.cam2)o(.h0.)o(*-$)o({mm})o(.nc)390
+1724 y(done)47 b(#)g(end)g(loop)g(over)f(mth)390 1943
+y(Method)g(2:)h(Use)g(shell)g('globbing')e(to)i(construct)e(input)h
+(filenames)390 2052 y(for)h(mth)g(in)g({1..12};)f(do)485
+2162 y(mm=`printf)f("\04502d")i($mth`)485 2271 y(ncra)g(-O)g(-D)g(1)h
+(-o)f(${drc_out}/${caseid}_clm$)o({mm)o(}.nc)41 b(\\)581
+2381 y(${drc_in}/${caseid}.cam2)o(.h0.)o(00?)o(?-${)o(mm}.)o(nc)g(\\)
+581 2491 y(${drc_in}/${caseid}.cam2)o(.h0.)o(010)o(0-${)o(mm}.)o(nc)390
+2600 y(done)47 b(#)g(end)g(loop)g(over)f(mth)390 2819
+y(Method)g(3:)h(Construct)f(input)g(filename)f(list)i(explicitly)390
+2929 y(for)g(mth)g(in)g({1..12};)f(do)485 3039 y(mm=`printf)f
+("\04502d")i($mth`)485 3148 y(fl_lst_in='')485 3258 y(for)g(yr)h(in)f
+({1..100};)e(do)581 3367 y(yyyy=`printf)f("\04504d")i($yr`)581
+3477 y(fl_in=${caseid}.cam2.h0.)o(${yy)o(yy})o(-${m)o(m}.n)o(c)581
+3587 y(fl_lst_in="${fl_lst_in})41 b(${caseid}.cam2.h0.${yyyy}-)o(${m)o
+(m}.n)o(c")485 3696 y(done)47 b(#)h(end)e(loop)h(over)g(yr)485
+3806 y(ncra)g(-O)g(-D)g(1)h(-o)f(${drc_out}/${caseid}_clm$)o({mm)o
+(}.nc)41 b(-p)47 b(${drc_in})f(\\)581 3915 y(${fl_lst_in})390
+4025 y(done)h(#)g(end)g(loop)g(over)f(mth)390 4244 y(Make)h(sure)f(the)
+h(output)f(file)h(averages)e(correct)h(input)h(files!)390
+4354 y(ncks)g(-M)g(prints)f(global)g(metadata:)485 4573
+y(ncks)h(-M)g(${drc_out}/${caseid}_clm0)o(1.nc)390 4792
+y(The)g(input)f(files)h(ncra)f(used)h(to)g(create)f(the)h
+(climatological)d(monthly)i(mean)390 4902 y(will)h(appear)f(in)h(the)g
+(global)f(attribute)f(named)i('history'.)390 5121 y(Use)g(ncrcat)f(to)h
+(aggregate)e(the)i(climatological)d(monthly)i(means)485
+5340 y(ncrcat)h(-O)g(-D)g(1)g(\\)p eop end
+%%Page: 241 247
+TeXDict begin 241 246 bop 150 -116 a FD(Chapter)30 b(9:)41
+b(CCSM)29 b(Example)2357 b(241)581 299 y Fy(${drc_out}/${caseid}_clm)o
+(??.n)o(c)42 b(${drc_out}/${caseid}_cl)o(m_01)o(12.n)o(c)390
+518 y(Finally,)k(create)g(climatological)e(means)i(for)h(reference.)390
+628 y(The)g(climatological)d(time-mean:)485 847 y(ncra)j(-O)g(-D)g(1)h
+(\\)581 956 y(${drc_out}/${caseid}_clm)o(_011)o(2.n)o(c)42
+b(${drc_out}/${caseid}_clm)o(.nc)390 1176 y(The)47 b(climatological)d
+(zonal-mean:)485 1395 y(ncwa)j(-O)g(-D)g(1)h(-a)f(lon)g(\\)581
+1504 y(${drc_out}/${caseid}_clm)o(.nc)41 b(${drc_out}/${caseid}_clm_)o
+(x.nc)390 1724 y(The)47 b(climatological)d(time-)i(and)h(spatial-mean:)
+485 1943 y(ncwa)g(-O)g(-D)g(1)h(-a)f(lon,lat,time)e(-w)i(gw)g(\\)581
+2052 y(${drc_out}/${caseid}_clm)o(.nc)41 b(${drc_out}/${caseid}_clm_)o
+(xyt.)o(nc)390 2271 y(This)47 b(file)f(contains)g(only)g(scalars,)g
+(e.g.,)g("global)g(mean)h(temperature",)390 2381 y(used)g(for)g
+(summarizing)d(global)i(results)g(of)h(a)h(climate)e(experiment.)390
+2600 y(Climatological)e(monthly)i(anomalies)f(=)i(Annual)g(Cycle:)390
+2710 y(Subtract)f(climatological)d(mean)k(from)g(climatological)d
+(monthly)h(means.)390 2819 y(Result)h(is)h(annual)f(cycle,)g(i.e.,)h
+(climate-mean)d(has)j(been)g(removed.)485 3039 y(ncbo)g(-O)g(-D)g(1)h
+(-o)f(${drc_out}/${caseid}_clm_)o(011)o(2_an)o(m.nc)41
+b(\\)581 3148 y(${drc_out}/${caseid}_clm)o(_011)o(2.n)o(c)h
+(${drc_out}/${caseid}_clm)o(_xyt)o(.nc)390 3367 y
+(************************)o(****)o(****)o(***)o(****)o(****)o(***)o
+(****)o(****)o(***)o(****)o(****)o(***)o(****)390 3477
+y(Task)47 b(2:)g(Correcting)e(monthly)h(averages)390
+3587 y(************************)o(****)o(****)o(***)o(****)o(****)o
+(***)o(****)o(****)o(***)o(****)o(****)o(***)o(****)390
+3696 y(The)h(previous)e(step)i(appoximates)e(all)i(months)f(as)h(being)
+f(equal,)g(so,)h(e.g.,)390 3806 y(February)f(weighs)g(slightly)f(too)i
+(much)g(in)g(the)g(climatological)d(mean.)390 3915 y(This)j
+(approximation)d(can)j(be)g(removed)f(by)h(weighting)e(months)h
+(appropriately.)390 4025 y(We)h(must)g(add)g(the)g(number)f(of)h(days)g
+(per)f(month)h(to)g(the)g(monthly)f(mean)g(files.)390
+4134 y(First,)g(create)g(a)i(shell)e(variable)g(dpm:)390
+4354 y(unset)g(dpm)h(#)h(Days)e(per)h(month)390 4463
+y(declare)f(-a)h(dpm)390 4573 y(dpm=\(0)f(31)h(28.25)g(31)g(30)g(31)g
+(30)g(31)h(31)f(30)g(31)g(30)g(31\))g(#)h(Allows)e(1-based)g(indexing)
+390 4792 y(Method)g(1:)h(Create)f(dpm)h(directly)f(in)h(climatological)
+d(monthly)i(means)390 4902 y(for)h(mth)g(in)g({1..12};)f(do)485
+5011 y(mm=`printf)f("\04502d")i(${mth}`)485 5121 y(ncap2)g(-O)g(-s)g
+("dpm=0.0*date+${dpm[${mth)o(}]}")41 b(\\)581 5230 y
+(${drc_out}/${caseid}_clm)o(${mm)o(}.n)o(c)h(${drc_out}/${caseid}_clm)o
+(${mm)o(}.n)o(c)390 5340 y(done)47 b(#)g(end)g(loop)g(over)f(mth)p
+eop end
+%%Page: 242 248
+TeXDict begin 242 247 bop 150 -116 a FD(242)2582 b FC(NCO)30
+b FD(4.4.2)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(\\)
+581 847 y(${drc_out}/foo_${mm}.nc)390 956 y(done)k(#)g(end)g(loop)g
+(over)f(mth)390 1066 y(ncecat)g(-O)h(-D)g(1)h(-p)f(${drc_out})e(-n)i
+(12,2,2)f(foo_${mm}.nc)f(foo.nc)390 1176 y(ncrename)h(-O)h(-D)g(1)g(-d)
+h(record,time)c(${drc_out}/foo.nc)390 1285 y(ncatted)i(-O)h(-h)g(\\)485
+1395 y(-a)h(long_name,dpm,o,c,"Days)41 b(per)47 b(month")f(\\)485
+1504 y(-a)i(units,dpm,o,c,"days")42 b(\\)485 1614 y
+(${drc_out}/${caseid}_clm_0)o(112.)o(nc)390 1724 y(ncks)47
+b(-A)g(-v)g(dpm)g(${drc_out}/foo.nc)c(${drc_out}/${caseid}_clm)o(_011)o
+(2.nc)390 1943 y(Method)j(3:)h(Create)f(small)h(netCDF)f(file)g(using)h
+(ncgen)390 2052 y(cat)g(>)g(foo.cdl)f(<<)h('EOF')390
+2162 y(netcdf)f(foo)h({)390 2271 y(dimensions:)390 2381
+y(time=unlimited;)390 2491 y(variables:)390 2600 y(float)f
+(dpm\(time\);)390 2710 y(dpm:long_name="Days)d(per)j(month";)390
+2819 y(dpm:units="days";)390 2929 y(data:)390 3039 y
+(dpm=31,28.25,31,30,31,30)o(,31,)o(31,3)o(0,3)o(1,30)o(,31;)390
+3148 y(})390 3258 y(EOF)390 3367 y(ncgen)g(-b)i(-o)f(foo.nc)f(foo.cdl)
+390 3477 y(ncks)h(-A)g(-v)g(dpm)g(${drc_out}/foo.nc)c
+(${drc_out}/${caseid}_clm)o(_011)o(2.nc)390 3696 y(Another)j(way)h(to)g
+(get)g(correct)f(monthly)f(weighting)h(is)h(to)g(average)f(daily)390
+3806 y(output)g(files,)g(if)h(available.)390 4025 y
+(************************)o(****)o(****)o(***)o(****)o(****)o(***)o
+(****)o(****)o(***)o(****)o(****)o(***)o(****)390 4134
+y(Task)g(3:)g(Regional)e(processing)390 4244 y
+(************************)o(****)o(****)o(***)o(****)o(****)o(***)o
+(****)o(****)o(***)o(****)o(****)o(***)o(****)390 4354
+y(Let's)h(say)h(you)g(are)g(interested)e(in)i(examining)f(the)g
+(California)f(region.)390 4463 y(Hyperslab)g(your)i(dataset)f(to)h
+(isolate)f(the)h(appropriate)d(latitude/longitudes.)390
+4682 y(ncks)j(-O)g(-D)g(1)g(-d)h(lat,30.0,37.0)c(-d)j(lon,240.0,270.0)d
+(\\)581 4792 y(${drc_out}/${caseid}_clm)o(_011)o(2.n)o(c)e(\\)581
+4902 y(${drc_out}/${caseid}_clm)o(_011)o(2_C)o(al.n)o(c)390
+5121 y(The)47 b(dataset)f(is)h(now)g(much)f(smaller!)390
+5230 y(To)h(examine)f(particular)f(metrics.)p eop end
+%%Page: 243 249
+TeXDict begin 243 248 bop 150 -116 a FD(Chapter)30 b(9:)41
+b(CCSM)29 b(Example)2357 b(243)390 299 y Fy(************************)o
+(****)o(****)o(***)o(****)o(****)o(***)o(****)o(****)o(***)o(****)o
+(****)o(***)o(****)390 408 y(Task)47 b(4:)g(Accessing)e(data)i(stored)f
+(remotely)390 518 y(************************)o(****)o(****)o(***)o
+(****)o(****)o(***)o(****)o(****)o(***)o(****)o(****)o(***)o(****)390
+628 y(OPeNDAP)g(server)g(examples:)390 847 y(UCI)h(DAP)g(servers:)390
+956 y(ncks)g(-M)g(-p)g(http://dust.ess.uci.edu/)o(cgi-)o(bin/)o(dod)o
+(s/np)o(h-do)o(ds/)o(dods)o(data)41 b(in.nc)390 1066
+y(ncrcat)46 b(-O)h(-C)g(-D)h(3)f(\\)485 1176 y(-p)h
+(http://dust.ess.uci.edu)o(/cgi)o(-bi)o(n/do)o(ds/n)o(ph-)o(dods)o
+(/dod)o(sda)o(ta)42 b(\\)485 1285 y(-l)48 b(/tmp)e(in.nc)h(in.nc)f
+(~/foo.nc)390 1504 y(Unidata)g(DAP)h(servers:)390 1614
+y(ncks)g(-M)g(-p)g(http://thredds-test.ucar)o(.edu)o(/thr)o(edd)o(s/do)
+o(dsC/)o(tes)o(tdod)o(s)42 b(in.nc)390 1724 y(ncrcat)k(-O)h(-C)g(-D)h
+(3)f(\\)485 1833 y(-p)h(http://thredds-test.uca)o(r.ed)o(u/t)o(hred)o
+(ds/d)o(ods)o(C/te)o(stdo)o(ds)41 b(\\)485 1943 y(-l)48
+b(/tmp)e(in.nc)h(in.nc)f(~/foo.nc)390 2162 y(NOAA)h(DAP)g(servers:)390
+2271 y(ncwa)g(-O)g(-C)g(-a)g(lat,lon,time)e(-d)i(lon,-10.,10.)d(-d)j
+(lat,-10.,10.)e(-l)i(/tmp)g(-p)g(\\)390 2381 y
+(http://www.esrl.noaa.gov)o(/psd)o(/thr)o(edd)o(s/do)o(dsC/)o(Dat)o
+(aset)o(s/nc)o(ep.)o(rean)o(alys)o(is.)o(dail)o(yavg)o(s/s)o(urfa)o(ce)
+41 b(\\)390 2491 y(pres.sfc.1969.nc)i(~/foo.nc)390 2710
+y(LLNL)k(PCMDI)f(IPCC)h(OPeNDAP)e(Data)i(Portal:)390
+2819 y(ncks)g(-M)g(-p)g(http://username:password)o(@esg)o(cet.)o(lln)o
+(l.go)o(v/cg)o(i-b)o(in/d)o(ap-c)o(gi.)o(py/i)o(pcc4)o(/sr)o(esa1)o
+(b/n)o(car_)o(ccsm)o(3_0)41 b(pcmdi.ipcc4.ncar_ccsm3_0.)o(sres)o(a1b)o
+(.run)o(1.at)o(m.m)o(o.xm)o(l)390 3039 y(Earth)46 b(System)g(Grid)h
+(\(ESG\):)f(http://www.earthsystemgri)o(d.or)o(g)390
+3258 y(caseid='b30.025.ES01')390 3367 y(CCSM3.0)g(1\045)h(increasing)e
+(CO2)i(run,)g(T42_gx1v3,)e(200)h(years)h(starting)e(in)j(year)e(400)390
+3477 y(Atmospheric)f(post-processed)f(data,)i(monthly)g(averages,)f
+(e.g.,)390 3587 y(/data/zender/tmp/b30.025)o(.ES0)o(1.ca)o(m2.)o(h0.T)o
+(REFH)o(T.0)o(400-)o(01_c)o(at_)o(0449)o(-12.)o(nc)390
+3696 y(/data/zender/tmp/b30.025)o(.ES0)o(1.ca)o(m2.)o(h0.T)o(REFH)o
+(T.0)o(400-)o(01_c)o(at_)o(0599)o(-12.)o(nc)390 3915
+y(ESG)i(supports)e(password-protected)e(FTP)k(access)f(by)h(registered)
+e(users)390 4025 y(NCO)i(uses)g(the)f(.netrc)h(file,)f(if)h(present,)f
+(for)h(password-protected)42 b(FTP)47 b(access)390 4134
+y(Syntax)f(for)h(accessing)e(single)h(file)h(is,)g(e.g.,)390
+4244 y(ncks)g(-O)g(-D)g(3)g(\\)485 4354 y(-p)h(ftp://climate.llnl.gov/)
+o(sres)o(a1b)o(/atm)o(/mo/)o(tas)o(/nca)o(r_cc)o(sm3)o(_0/r)o(un1)41
+b(\\)485 4463 y(-l)48 b(/tmp)e(tas_A1.SRESA1B_1.CCSM.atm)o(m.20)o(00-0)
+o(1_c)o(at_2)o(099-)o(12.)o(nc)c(~/foo.nc)390 4682 y(#)47
+b(Average)f(surface)g(air)h(temperature)e(tas)i(for)g(SRESA1B)e
+(scenario)390 4792 y(#)i(This)g(loop)g(is)g(illustrative)d(and)j(will)g
+(not)g(work)f(until)h(NCO)g(correctly)390 4902 y(#)g(translates)e('*')i
+(to)h(FTP)e('mget')h(all)f(remote)h(files)390 5011 y(for)g(var)g(in)g
+('tas';)f(do)390 5121 y(for)h(scn)g(in)g('sresa1b';)e(do)390
+5230 y(for)i(mdl)g(in)g('cccma_cgcm3_1)d(cccma_cgcm3_1_t63)f(cnrm_cm3)j
+(csiro_mk3_0)e(\\)390 5340 y(gfdl_cm2_0)h(gfdl_cm2_1)g(giss_aom)h
+(giss_model_e_h)d(giss_model_e_r)h(\\)p eop end
+%%Page: 244 250
+TeXDict begin 244 249 bop 150 -116 a FD(244)2582 b FC(NCO)30
+b FD(4.4.2)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
+628 y(for)j(run)g(in)g('1';)g(do)772 737 y(ncks)f(-R)i(-O)f(-D)g(3)g
+(-p)h(ftp://climate.llnl.gov/)o(${sc)o(n}/)o(atm/)o(mo/$)o({va)o(r}/$)o
+({mdl)o(}/r)o(un${)o(run)o(})42 b(-l)47 b(${DATA}/${scn}/atm/mo/${v)o
+(ar})o(/${m)o(dl}/)o(run)o(${ru)o(n})42 b('*')k
+(${scn}_${mdl}_${run}_${var)o(}_${)o(yyy)o(ymm})o(_${y)o(yyy)o(mm}.)o
+(nc)390 847 y(done)h(#)g(end)g(loop)g(over)f(run)390
+956 y(done)h(#)g(end)g(loop)g(over)f(mdl)390 1066 y(done)h(#)g(end)g
+(loop)g(over)f(scn)390 1176 y(done)h(#)g(end)g(loop)g(over)f(var)390
+1395 y(cd)h(sresa1b/atm/mo/tas/ukmo_h)o(adcm)o(3/r)o(un1/)390
+1504 y(ncks)g(-H)g(-m)g(-v)g(lat,lon,lat_bnds,lon_bnds)41
+b(-M)47 b(tas_A1.nc)f(|)h(m)390 1614 y(bds)g(-x)g(096)g(-y)g(073)g(-m)g
+(33)g(-o)h(${DATA}/data/dst_3.75x2)o(.5.n)o(c)42 b(#)47
+b(ukmo_hadcm3)390 1724 y(ncview)f(${DATA}/data/dst_3.75x2.5)o(.nc)390
+1943 y(#)h(msk_rgn)f(is)h(California)e(mask)i(on)g(ukmo_hadcm3)e(grid)
+390 2052 y(#)i(area)g(is)g(correct)f(area)h(weight)f(on)h(ukmo_hadcm3)e
+(grid)390 2162 y(ncks)i(-A)g(-v)g(area,msk_rgn)d
+(${DATA}/data/dst_3.75x2.5.)o(nc)e(\\)390 2271 y
+(${DATA}/sresa1b/atm/mo/t)o(as/u)o(kmo_)o(had)o(cm3/)o(run1)o(/ar)o
+(ea_m)o(sk_u)o(kmo)o(_had)o(cm3.)o(nc)390 2491 y(Template)k(for)g
+(standardized)f(data:)390 2600 y(${scn}_${mdl}_${run}_${v)o(ar}_)o
+(${yy)o(yym)o(m}_$)o({yyy)o(ymm)o(}.nc)390 2819 y(e.g.,)h(raw)h(data)
+390 2929 y(${DATA}/sresa1b/atm/mo/t)o(as/u)o(kmo_)o(had)o(cm3/)o(run1)o
+(/ta)o(s_A1)o(.nc)390 3039 y(becomes)f(standardized)e(data)390
+3258 y(Level)i(0:)i(raw)e(from)h(IPCC)g(site--no)e(changes)h(except)g
+(for)h(name)820 3367 y(Make)f(symbolic)g(link)g(name)h(match)f(raw)h
+(data)390 3477 y(Template:)e(${scn}_${mdl}_${run}_${va)o(r}_$)o({yyy)o
+(ymm)o(}_${)o(yyyy)o(mm})o(.nc)390 3696 y(ln)i(-s)g(-f)h(tas_A1.nc)d
+(sresa1b_ukmo_hadcm3_run1)o(_ta)o(s_20)o(0101)o(_20)o(9911)o(.nc)390
+3806 y(area_msk_ukmo_hadcm3.nc)390 4025 y(Level)h(I:)i(Add)e(all)h
+(variables)f(\(not)g(standardized)f(in)i(time\))820 4134
+y(to)g(file)f(containing)f(msk_rgn)h(and)h(area)390 4244
+y(Template:)e(${scn}_${mdl}_${run}_${yy)o(yymm)o(}_${)o(yyy)o(ymm})o
+(.nc)390 4463 y(/bin/cp)h(area_msk_ukmo_hadcm3.nc)41
+b(sresa1b_ukmo_hadcm3_run1_)o(2001)o(01_2)o(099)o(11.n)o(c)390
+4573 y(ncks)47 b(-A)g(-v)g(tas)g(sresa1b_ukmo_hadcm3_run1)o(_tas)o(_20)
+o(0101)o(_209)o(911)o(.nc)41 b(\\)1106 4682 y(sresa1b_ukmo_hadcm3_run1)
+o(_200)o(101)o(_209)o(911.)o(nc)390 4792 y(ncks)47 b(-A)g(-v)g(pr)95
+b(sresa1b_ukmo_hadcm3_run1)o(_pr_)o(200)o(101_)o(2099)o(11.)o(nc)42
+b(\\)1106 4902 y(sresa1b_ukmo_hadcm3_run1)o(_200)o(101)o(_209)o(911.)o
+(nc)390 5121 y(If)47 b(already)f(have)h(file)f(then:)390
+5230 y(mv)h(sresa1b_ukmo_hadcm3_run1_)o(2001)o(01_)o(2099)o(11.n)o(c)42
+b(foo.nc)390 5340 y(/bin/cp)k(area_msk_ukmo_hadcm3.nc)41
+b(sresa1b_ukmo_hadcm3_run1_)o(2001)o(01_2)o(099)o(11.n)o(c)p
+eop end
+%%Page: 245 251
+TeXDict begin 245 250 bop 150 -116 a FD(Chapter)30 b(9:)41
+b(CCSM)29 b(Example)2357 b(245)390 299 y Fy(ncks)47 b(-A)g(-v)g(tas,pr)
+f(foo.nc)g(sresa1b_ukmo_hadcm3_run1_)o(2001)o(01_)o(2099)o(11.n)o(c)390
+518 y(Level)g(II:)h(Correct)f(#)i(years,)e(months)390
+628 y(Template:)f(${scn}_${mdl}_${run}_${va)o(r}_$)o({yyy)o(ymm)o(}_${)
+o(yyyy)o(mm})o(.nc)390 847 y(ncks)i(-d)g(time,.......)d(file1.nc)i
+(file2.nc)390 956 y(ncrcat)g(file2.nc)g(file3.nc)f
+(sresa1b_ukmo_hadcm3_run1_)o(2000)o(01_)o(2099)o(12.n)o(c)390
+1176 y(Level)h(III:)h(Many)g(derived)e(products)h(from)h(level)f(II,)h
+(e.g.,)676 1395 y(A.)h(Global)e(mean)g(timeseries)676
+1504 y(ncwa)h(-w)g(area)g(-a)g(lat,lon)f(\\)915 1614
+y(sresa1b_ukmo_hadcm3_run1)o(_200)o(001_)o(209)o(912.)o(nc)c(\\)533
+1724 y(sresa1b_ukmo_hadcm3_run1_)o(2000)o(01_)o(2099)o(12_x)o(y.n)o(c)
+676 1943 y(B.)48 b(Califoria)d(average)h(timeseries)676
+2052 y(ncwa)h(-m)g(msk_rgn)f(-w)h(area)g(-a)g(lat,lon)f(\\)915
+2162 y(sresa1b_ukmo_hadcm3_run1)o(_200)o(001_)o(209)o(912.)o(nc)c(\\)
+533 2271 y(sresa1b_ukmo_hadcm3_run1_)o(2000)o(01_)o(2099)o(12_x)o(y_C)o
+(al.n)o(c)p eop end
+%%Page: 246 252
+TeXDict begin 246 251 bop eop end
+%%Page: 247 253
+TeXDict begin 247 252 bop 150 -116 a FD(Chapter)30 b(10:)41
+b(References)2536 b(247)150 299 y Fx(10)80 b(References)225
+533 y FA(\017)60 b FD([ZeM07])75 b(Zender,)37 b(C.)f(S.,)j(and)d(H.)g
+(J.)h(Mangalam)h(\(2007\),)j(Scaling)c(Prop)s(erties)g(of)f(Common)330
+643 y(Statistical)42 b(Op)s(erators)d(for)g(Gridded)f(Datasets,)44
+b(In)m(t.)68 b(J.)40 b(High)f(P)m(erform.)68 b(Comput.)f(Appl.,)330
+752 y(21\(4\),)33 b(485-498,)g(doi:10.1177/109434)q(20)q(07)q(08)q(380)
+q(2.)225 887 y FA(\017)60 b FD([Zen08])83 b(Zender,)43
+b(C.)e(S.)g(\(2008\),)47 b(Analysis)41 b(of)g(Self-describing)h
+(Gridded)e(Geoscience)j(Data)330 996 y(with)58 b(netCDF)i(Op)s(erators)
+e(\(NCO\),)h(En)m(viron.)125 b(Mo)s(dell.)i(Soft)m(w.,)66
+b(23\(10\),)j(1338-1342,)330 1106 y(doi:10.1016/j.en)m(vsoft.2008)q(.0)
+q(3.0)q(04)q(.)225 1240 y FA(\017)60 b FD([WZJ07])e(W)-8
+b(ang,)30 b(D.)f(L.,)g(C.)f(S.)g(Zender,)g(and)f(S.)h(F.)h(Jenks)f
+(\(2007\),)j(D)m(AP-enabled)f(Serv)m(er-side)330 1350
+y(Data)40 b(Reduction)e(and)f(Analysis,)k(Pro)s(ceedings)d(of)g(the)g
+(23rd)g(AMS)g(Conference)g(on)g(In)m(terac-)330 1460
+y(tiv)m(e)f(Information)e(and)f(Pro)s(cessing)h(Systems)g(\(I)s(IPS\))g
+(for)g(Meteorology)-8 b(,)40 b(Oceanograph)m(y)-8 b(,)38
+b(and)330 1569 y(Hydrology)-8 b(,)46 b(P)m(ap)s(er)41
+b(3B.2,)46 b(Jan)m(uary)41 b(14-18,)47 b(San)41 b(An)m(tonio,)46
+b(TX.)41 b(American)h(Meteorological)330 1679 y(So)s(ciet)m(y)-8
+b(,)32 b(AMS)f(Press,)f(Boston,)h(MA.)225 1813 y FA(\017)60
+b FD([ZMW06])78 b(Zender,)39 b(C.)f(S.,)i(H.)f(Mangalam,)j(and)37
+b(D.)i(L.)f(W)-8 b(ang)39 b(\(2006\),)k(Impro)m(ving)38
+b(Scaling)330 1923 y(Prop)s(erties)45 b(of)g(Common)f(Statistical)k(Op)
+s(erators)c(for)h(Gridded)f(Geoscience)j(Datasets,)k(Eos)330
+2032 y(T)-8 b(rans.)40 b(A)m(GU,)32 b(87\(52\),)h(F)-8
+b(all)32 b(Meet.)42 b(Suppl.,)29 b(Abstract)i(IN53B-0827.)225
+2167 y FA(\017)60 b FD([ZeW07])75 b(Zender,)37 b(C.)f(S.,)j(and)c(D.)j
+(L.)e(W)-8 b(ang)38 b(\(2007\),)j(High)c(p)s(erformance)f(distributed)f
+(data)330 2276 y(reduction)j(and)f(analysis)h(with)g(the)g(netCDF)g(Op)
+s(erators)g(\(NCO\),)g(Pro)s(ceedings)g(of)g(the)g(23rd)330
+2386 y(AMS)31 b(Conference)h(on)f(In)m(teractiv)m(e)j(Information)d
+(and)g(Pro)s(cessing)g(Systems)g(\(I)s(IPS\))g(for)g(Mete-)330
+2496 y(orology)-8 b(,)33 b(Oceanograph)m(y)-8 b(,)32
+b(and)e(Hydrology)-8 b(,)33 b(P)m(ap)s(er)d(3B.4,)i(Jan)m(uary)f
+(14-18,)i(San)d(An)m(tonio,)i(TX.)330 2605 y(American)f(Meteorological)
+k(So)s(ciet)m(y)-8 b(,)32 b(AMS)e(Press,)h(Boston,)g(MA.)225
+2740 y FA(\017)60 b FD([WZJ06])86 b(W)-8 b(ang,)47 b(D.)c(L.,)j(C.)c
+(S.)h(Zender,)h(and)e(S.)g(F.)h(Jenks)f(\(2006\),)49
+b(Serv)m(er-side)42 b(netCDF)330 2849 y(Data)36 b(Reduction)e(and)g
+(Analysis,)i(Eos)e(T)-8 b(rans.)52 b(A)m(GU,)35 b(87\(52\),)j(F)-8
+b(all)36 b(Meet.)53 b(Suppl.,)34 b(Abstract)330 2959
+y(IN53B-0826.)225 3093 y FA(\017)60 b FD([WZJ073])84
+b(W)-8 b(ang,)46 b(D.)c(L.,)i(C.)d(S.)g(Zender,)i(and)e(S.)g(F.)h
+(Jenks)f(\(2007\),)46 b(Serv)m(er-side)c(parallel)330
+3203 y(data)c(reduction)f(and)g(analysis,)j(in)d(Adv)-5
+b(ances)37 b(in)g(Grid)g(and)g(P)m(erv)-5 b(asiv)m(e)39
+b(Computing,)f(Second)330 3313 y(In)m(ternational)27
+b(Conference,)g(GPC)e(2007,)k(P)m(aris,)e(F)-8 b(rance,)28
+b(Ma)m(y)f(2-4,)h(2007,)g(Pro)s(ceedings.)40 b(IEEE)330
+3422 y(Lecture)c(Notes)g(in)f(Computer)f(Science,)k(v)m(ol.)56
+b(4459,)38 b(edited)e(b)m(y)f(C.)g(Cerin)f(and)h(K.-C.)g(Li,)i(pp.)330
+3532 y(744-750,)d(Springer-V)-8 b(erlag,)31 b(Berlin/Heidelb)s(erg,)h
+(doi:10.1007/978-3-5)q(40)q(-72)q(36)q(0-)q(8)p 3330
+3532 28 4 v 46 w(67.)225 3666 y FA(\017)60 b FD([WZJ074])69
+b(W)-8 b(ang,)37 b(D.)d(L.,)i(C.)d(S.)h(Zender)f(and)h(S.)f(F.)i(Jenks)
+e(\(2007\),)38 b(A)c(System)g(for)f(Scripted)330 3776
+y(Data)i(Analysis)e(at)h(Remote)h(Data)f(Cen)m(ters,)h(Eos)e(T)-8
+b(rans.)49 b(A)m(GU,)34 b(88\(52\),)j(F)-8 b(all)35 b(Meet.)50
+b(Suppl.,)330 3885 y(Abstract)31 b(IN11B-0469.)225 4020
+y FA(\017)60 b FD([WZJ081])55 b(W)-8 b(ang,)29 b(D.)e(L.,)h(C.)f(S.)f
+(Zender)g(and)g(S.)h(F.)g(Jenks)f(\(2008\),)k(Cluster)d(W)-8
+b(ork\015o)m(w)28 b(Execu-)330 4130 y(tion)23 b(of)g(Retargeted)i(Data)
+g(Analysis)e(Scripts,)h(Pro)s(ceedings)f(of)g(the)g(8th)g(IEEE)f(In)m
+(t'l)i(Symp)s(osium)330 4239 y(on)30 b(Cluster)f(Computing)g(and)g(the)
+h(Grid)f(\(IEEE)g(CCGRID)h('08\),)h(pp.)39 b(449-458,)33
+b(Ly)m(on,)e(F)-8 b(rance,)330 4349 y(Ma)m(y)32 b(2008.)225
+4483 y FA(\017)60 b FD([WZJ091])86 b(W)-8 b(ang,)47 b(D.)c(L.,)j(C.)c
+(S.)g(Zender,)j(and)d(S.)g(F.)h(Jenks)f(\(2009\),)48
+b(E\016cien)m(t)43 b(Clustered)330 4593 y(Serv)m(er-side)26
+b(Data)i(Analysis)e(W)-8 b(ork\015o)m(ws)27 b(using)e(SW)-10
+b(AMP)i(,)27 b(Earth)f(Sci.)39 b(Inform.,)26 b(2\(3\),)j(141-155,)330
+4702 y(doi:10.1007/s12145-0)q(09)q(-00)q(21)q(-z)q(.)225
+4837 y FA(\017)60 b FD([PFT88])69 b(Press,)34 b(Flannery)-8
+b(,)36 b(T)-8 b(euk)m(olsky)g(,)36 b(and)d(V)-8 b(etterling)36
+b(\(1988\),)i(Numerical)c(Recip)s(es)h(in)e(C,)330 4946
+y(Cam)m(bridge)d(Univ.)41 b(Press,)30 b(New)h(Y)-8 b(ork,)31
+b(NY.)p eop end
+%%Page: 248 254
+TeXDict begin 248 253 bop eop end
+%%Page: 249 255
+TeXDict begin 249 254 bop 150 -116 a FD(General)31 b(Index)2902
+b(249)150 299 y Fx(General)53 b(Index)150 610 y Fc(")150
+728 y Fr(")26 b Fs(\(double)f(quote\))7 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(156)150 986 y FB(#)150
+1104 y Fr(#include)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(103)150 1350
+y FB($)150 1468 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(43)150 1733 y
+FB(\045)150 1851 y Fr(\045)26 b Fs(\(mo)r(dulus\))14
+b Fa(:)e(:)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(:)40
+b Fs(148)150 2109 y FB(')150 2227 y Fr(')26 b Fs(\(end)f(quote\))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(:)34
+b Fs(156)150 2492 y FB(*)150 2609 y Fr(*)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(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)37 b Fs(159)150 2697 y Fr(*)26 b Fs(\(\014lename)g
+(expansion\))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(:)38 b
+Fs(43)150 2785 y Fr(*)26 b Fs(\(m)n(ultiplication\))7
+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(:)f(:)g(:)34
+b Fs(148)150 2873 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(43)150 3110 y
+Fc(+)150 3228 y Fr(+)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(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)37
+b Fs(159)150 3316 y Fr(+)26 b Fs(\(addition\))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(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)44 b
+Fs(148)150 3403 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(43)150 3640 y
+FB(-)150 3758 y Fr(-)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(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)37
+b Fs(159)150 3846 y Fr(-)26 b Fs(\(subtraction\))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(:)43
+b Fs(148)150 3934 y Fr(--3)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 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(--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 4197 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 4285 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(174)150 4373 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(174)150 4461 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(95,)h(182)150 4549 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(95,)h(182)150 4637 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(62)150
+4725 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 4812 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(62)150 4900 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(77)150 4988 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(174)150 5076 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(174)150 5164 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(175)150 5252 y Fr(--cell_methods)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(98)150 5340 y Fr(--chunk_byte)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(71)2025 610 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(71)2025 698 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(71)2025 785 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(71)2025 873 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(71)2025 961 y Fr(--cll_mth)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(98)2025 1048 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(71)2025
+1136 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(71)2025 1224
+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(71)2025 1311 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(72)2025 1399 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(71)2025 1486 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(71)2025 1574 y Fr(--coords)18 b Fa(:)d(:)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(:)45 b Fs(44,)27 b(98)2025
+1662 y Fr(--crd)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(44,)27 b(98)2025
+1749 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(78)2025 1837 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(176)2025 1925 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 2012 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(89)2025
+2100 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 2187 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(75)2025
+2275 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(75)2025 2363
+y Fr(--dimension)2178 2450 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(57)2025 2537 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(55)2025 2625 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
+2712 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(53,)27 b(59,)f(61,)h(64)2025 2800 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(78)2025 2887 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 2975 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(57)2025 3062 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(55)2025 3150 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(53,)27 b(59,)2178 3237 y(61,)g(64)2025 3325 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(164)2025 3412 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(164)2025
+3500 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(164)2025 3588 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(182)2025
+3675 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 3763 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(96)2025 3850 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(38)2025
+3938 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(175)2025 4026 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(174)2025 4113 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 4201 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(96)2025
+4289 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 4376 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(102)2025 4464 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(89)2025 4551 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(150)2025 4639 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(52)2025 4727 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(168,)27
+b(215)2025 4814 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(168)2025 4902 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(44)2025 4989 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 5077 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 5165 y Fr(--hdf_unpack)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(79)2025 5252
+y Fr(--hdf_upk)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(79)2025 5340 y(`)p
+Fr(--hdf4)p Fs(')13 b Fa(:)i(:)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(:)g(:)h(:)39 b Fs(11)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.2)j(User)d(Guide)150 299 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(175)150 387 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
+476 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 564 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(175)150 653 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(176)150 741 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(95)150 830 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(95)150 918 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(41)150 1006 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
+1095 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 1183 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(72)150 1272 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(187)150 1360 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(203)150 1449 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(202)150 1537 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(203)150 1625
+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(202,)27 b(203)150
+1714 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(203)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(202)150 1891 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(76)150 1979 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(76)150 2068 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(76)150 2156 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(76)150 2245 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(178)150 2333
+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(177)150 2421 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(169,)27 b(176)150
+2510 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(68)150 2598 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(57)150 2687 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(59)150 2775 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(59)150 2864 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(59)150 2952 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(203)150 3041 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(202)150
+3129 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(203)150 3217 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(202)150
+3306 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(203)150 3394 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(202)150
+3483 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(178)150
+3571 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(177)150
+3660 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(68)150 3748 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(179)150 3836 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 3925 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 4013 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(178)150 4102
+y Fr(--no-coords)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(44,)26 b(98)150 4190 y Fr(--no-crd)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(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45
+b Fs(44,)26 b(98)150 4279 y Fr(--no_blank)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(:)g(:)49 b Fs(178)150
+4367 y Fr(--no_cell_methods)6 b Fa(:)17 b(:)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(:)h(:)32 b Fs(98)150 4456 y Fr(--no_cll_mth)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(98)150 4544 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(175)150 4632 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(79)150 4721 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(178)150 4809 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(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)37
+b Fs(164)150 4898 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(164)150
+4986 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(164)150 5075
+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(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)46 b Fs(41)150
+5163 y Fr(--omp_num_threads)29 b Fh(thr_nbr)10 b Fa(:)15
+b(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)36 b Fs(25)150 5252 y Fr(--op_rlt)27 b Fh(mask_comp)8
+b Fa(:)16 b(:)d(:)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(203)150
+5340 y Fr(--op_typ)27 b Fh(op_typ)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(:)
+49 b Fs(81,)27 b(159)2025 299 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(78)2025 387 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(81,)27 b(159)2025 476 y Fr(--output)g
+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 564 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(95)2025 653
+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(95)2025
+741 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(186)2025 830 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
+918 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(187)2025 1006 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(186)2025
+1095 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(178)2025
+1183 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(178)2025
+1272 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(150)2025 1360 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 1449 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
+1537 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(178)2025
+1625 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(78)2025 1714 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(167)2025 1802 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(56)2025 1891 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(56)2025 1979 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(34)2025 2068 y Fr(--revision)13
+b Fa(:)i(:)f(:)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(:)40
+b Fs(13,)27 b(99)2025 2156 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(89)2025 2245 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(89)2025 2333 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(34)2025 2421 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(102)2025 2510 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(102)2025 2598 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(178)2025 2687 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(102)2025 2775 y Fr(--string)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)2025 2864 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
+2952 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 3041 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(167)2025 3129 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(41)2025 3217 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(179)2025
+3306 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(:)g(:)h(:)f(:)35 b Fs(40,)27 b(41)2025
+3394 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(187)2025
+3483 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(187)2025
+3571 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(182)2025 3660 y Fr(--version)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(13,)27 b(99)2025 3748 y Fr(--vrs)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(13,)27 b(99)2025 3836 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(202)2025 3925 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(170)2025
+4013 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(202)2025 4102 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(170)2025 4190 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 4279 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 4367 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(182)2025 4456 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(179)2025 4544 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(179)2025 4632
+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(179)2025 4721 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(179)2025 4809 y Fr(-3)17 b Fa(:)c(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)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(10,)27 b(35)2025 4898 y Fr(-4)17 b Fa(:)c(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)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(10,)27 b(35)2025 4986 y Fr(-5)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(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)35 b Fs(174)2025 5075 y Fr(-6)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(35)2025 5163 y Fr(-7)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(35)2025 5252 y Fr(-a)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(174,)27 b(182)2025 5340 y Fr(-A)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(:)47 b Fs(16,)27 b(95,)g(182)p eop end
+%%Page: 251 257
+TeXDict begin 251 256 bop 150 -116 a FD(General)31 b(Index)2902
+b(251)150 299 y Fs(`)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(190)150 387 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(148,)27 b(161)150 476 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(174)150 564 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(202,)27 b(203)150 652 y Fr(-c)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(44,)26 b(98)150 741 y Fr(-C)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(44,)26
+b(98,)h(148)150 829 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 918 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
+1006 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(57)150 1094 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(55)150 1183 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(53,)26
+b(59,)h(61,)304 1270 y(64)150 1358 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(202)150 1447 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(150)150 1535 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(52)150 1624 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(44)150 1712 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 1800 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(95,)27 b(153)150 1889 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(96,)27 b(176)150 1977
+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(203)150 2065 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(75)150 2154 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(31)150 2242 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(178)150 2331 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(36,)27 b(168,)g(177)150
+2419 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(72)150 2507
+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(202)150 2596 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(187)150 2684 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(83,)27 b(204)150 2773 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 2861 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(95)150 2949 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 3038 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(178)150 3126 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(31)150 3215 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(186)150 3303 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(178)150 3391 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(178)150 3480 y Fr(-r)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(13,)26 b(99)150 3568 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(34)150 3657 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(178)150 3745 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 3833 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(179)150 3922 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(187)150 4010 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(167)150 4098 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(190)150 4187
+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(182)150
+4275 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(202)150 4364
+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(170)150
+4452 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(182)150 4540 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(62)150 4629 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(62)150 4717 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(81,)27 b(159)150 4956 y FB(.)150 5075 y Fh(.)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(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)37 b Fs(198)150
+5163 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(43)150 5252 y
+Fr(.bashrc)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(180)150 5340 y Fr(.netrc)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(30)2025 299 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 545 y FB(/)2025 663
+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(159)2025 751 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(148)2025 839 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(103)2025
+927 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(103)2025 1163
+y FB(:)2025 1281 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(45)2025 1518 y
+FB(;)2025 1635 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(103)2025
+1872 y Fc(<)2025 1989 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
+2077 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 2314
+y FB(?)2025 2432 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(43)2025 2520
+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(156)2025 2608 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(43)2025
+2866 y FB(@)2025 2984 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(103)2025 3072 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(45)2025 3337 y
+FB([)2025 3454 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(103)2025
+3703 y Fc(^)2025 3820 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(148)2025 3908 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(43)p
+2034 4145 41 6 v 2025 4263 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(175)2025 4350 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(175)2025 4438 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(175)2025 4526 y Fr(_FillValue)13 b Fa(:)i(:)f(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)40 b Fs(69,)27 b(79,)f(153,)i(171,)f(188,)g(200)
+2025 4614 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(175)2025 4702 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(175)2025 4790 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(175)2025 4878 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(175)2025 4966 y Fr(_Storage)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(175)2025 5222 y Fc(\\)2025 5340 y
+Fr(\\)26 b Fs(\(bac)n(kslash\))15 b Fa(:)e(:)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(:)41 b Fs(156)p eop end
+%%Page: 252 258
+TeXDict begin 252 257 bop 150 -116 a FD(252)2582 b FC(NCO)30
+b FD(4.4.2)j(User)d(Guide)150 299 y Fr(\\")c 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(156)150 386 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(156)150 474 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(156)150 561 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(156)150 649 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(156)150 736 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(156)150 823 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(156)150
+911 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(156)150 998 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(155)150 1086 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(183)150 1173 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(156)150 1261 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(155)150 1348 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(183)150
+1435 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(156)150 1691 y Fc(|)150 1808 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(43)150 2058 y FB(0)150 2174 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(156)150 2424 y FB(3)150 2541 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(36)150 2775 y FB(6)150 2891 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(36)150
+2979 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
+3213 y FB(A)150 3329 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(148)150 3417 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(148)150 3504
+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(148)150
+3591 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(148)150 3679 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(159)150 3766 y Fm(add)p 279 3766 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 3854 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(79,)27 b(168,)g(186,)g(196)150
+3941 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(159,)27 b(170)150 4029 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(148,)27
+b(159,)g(170)150 4116 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(215)150
+4203 y(Aleksandar)26 b(Jelenak)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(:)38 b Fs(208)150 4291 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(208)150
+4378 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(160)150
+4466 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(180)150 4553 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(187)150 4641 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(71)150 4728 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(174)150 4815 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(182)150 4903
+y(alternate)26 b(in)n(v)n(o)r(cations)d 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(159)150 4990 y(anc)n(hor)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(:)49
+b Fs(40)150 5078 y(anc)n(horing)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(:)g(:)h(:)f(:)g(:)g(:)49 b
+Fs(40)150 5165 y(Andrea)25 b(Cimatoribus)12 b Fa(:)i(:)g(:)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(208)150 5253 y(Andrew)25 b(Witten)n(b)r(erg)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(:)46 b Fs(208)150
+5340 y(ann)n(ual)26 b(a)n(v)n(erage)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(:)46 b Fs(221)2025 299 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(211)2025
+387 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(211)2025 474 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(161,)27 b(221,)g(228)2025 562 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 650
+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(150)2025
+738 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(148,)27 b(173)2025 826 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(95,)g(182)2025 914 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(102,)g(190)2025 1001 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(164)2025 1089
+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(148)2025 1177 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(148)2025 1265 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(148)2025
+1353 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(96)2025 1440 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(221)2025 1528
+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(69,)27
+b(70,)g(202)2025 1616 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(102)2025
+1704 y Fp(ARM)25 b Fs(con)n(v)n(en)n(tions)14 b Fa(:)e(:)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(:)40 b Fs(98)2025 1792 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(196)2025 1879 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(108)2025 1967 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(108)2025 2055 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(103)2025
+2143 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(103)2025 2231 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(103)2025 2318 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(108)2025 2406 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(170)2025 2494 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(155,)27 b(156)2025 2582 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(148)2025 2670 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(148)2025 2758 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(122)2025 2845 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(103)2025 2933
+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 3021 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(148)2025 3109 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(148)2025 3197 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(112)2025 3284
+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(153,)27 b(198)2025 3372 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(112)2025 3460
+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(103)2025 3548 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(64)2025 3636 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(153)2025
+3723 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(154)2025 3811 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(154)2025
+3899 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(154)2025 3987 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(154,)27 b(221,)g(231)2025 4075 y(attributes,)f(global)d
+Fa(:)13 b(:)g(:)g(:)48 b Fs(20,)27 b(95,)g(96,)g(99,)f(154,)h(156,)g
+(173,)2178 4162 y(174,)g(182,)h(199,)f(200)2025 4250
+y(attributes,)f(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(154,)27 b(221,)g(231)2025
+4337 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(154,)27 b(221,)g(231)2025
+4425 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(111)2025 4513 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(13)2025 4601 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(38)2025 4689 y(automagic)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(:)49 b Fs(7,)26 b(19)2025
+4776 y(automatic)g(t)n(yp)r(e)f(con)n(v)n(ersion)d Fa(:)13
+b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)48
+b Fs(87,)27 b(149)2025 4864 y(auxiliary)f(co)r(ordinates)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(:)49 b Fs(98)2025
+4952 y(a)n(v)n(erage)18 b Fa(:)c(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+45 b Fs(81,)27 b(203,)g(211,)g(212,)h(218,)f(221,)g(228)2025
+5040 y(a)n(v)n(eraging)f(data)21 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)47 b Fs(69,)27
+b(164,)g(194,)g(202)2025 5128 y Fr(avg)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(81)2025 5216 y(a)n(vg\(\))11 b Fa(:)i(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)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(117)2025 5303 y Fr(avgsqr)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(81)p eop end
+%%Page: 253 259
+TeXDict begin 253 258 bop 150 -116 a FD(General)31 b(Index)2902
+b(253)150 299 y FB(B)150 416 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(208)150 503 y Fr(base_time)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(98)150 591 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(43,)27
+b(180)150 678 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(160,)27 b(180)150 766 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(163)150 853 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(95)150 941 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(94)150 1028 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 1116 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(132)150 1203 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(231)150 1291 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(208)150 1379 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(174)150 1466 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(159)150 1554 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(105)150 1641 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(178)150 1729 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(98)150 1816 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(98)150 1904 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(56,)27 b(163)150 1991
+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(208)150 2079 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(162)150 2166 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(161,)g(162)150 2254 y(broadcasting)g(v)l(ariables)12
+b Fa(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39 b Fs(104,)27
+b(160,)g(172,)g(202)150 2342 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 2429 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(77)150 2517 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 2604 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(12)150 2692 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(119)150 2947 y FB(C)150 3064 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(52)150 3151 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(70,)f(88,)h(89,)g(103,)g(156,)g(178)
+150 3239 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(56,)27 b(163)150 3326
+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 3414 y(C)p Fr(++)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(:)g(:)g(:)g
+(:)46 b Fs(6)150 3502 y Fm(C)p 210 3502 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 3589 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(:)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 3677 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 3764 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(92)150 3852 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 3939 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 4027 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(194,)g(196)150
+4114 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(209)150
+4202 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(239)150 4289
+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(96)150 4377 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(175)150 4465
+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(148)150 4552 y(ceiling)27 b(function)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(:)39 b Fs(148)150 4640 y(cell)27
+b(metho)r(ds)e(con)n(v)n(en)n(tion)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(:)49
+b Fs(98)150 4727 y(cell-based)26 b(grids)15 b Fa(:)f(:)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(:)41 b Fs(62)150 4815
+y Fr(cell_methods)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(98)150 4902 y Fp(CF)26 b Fs(compliance)g(c)n
+(hec)n(k)n(er)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(:)36 b
+Fs(49)150 4990 y Fp(CF)26 b Fs(con)n(v)n(en)n(tions)21
+b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+49 b Fs(44,)27 b(62,)g(66,)f(96,)h(161)150 5077 y Fr(cfchecker)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(49)150 5165 y Fr(change_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(116)150 5252 y(c)n(har\(\))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(:)g(:)h(:)f(:)g(:)g(:)g(:)41
+b Fs(119)150 5340 y(c)n(haracters,)27 b(sp)r(ecial)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(:)h(:)41 b Fs(155)2025
+299 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(207)2025 387 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(207)2025 476 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(73)2025 564 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(71,)g(178)2025
+653 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(71,)27 b(72)2025 741 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(71)2025 830 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(71)2025 918 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 1006 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 1095 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 1183 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(66)2025 1272 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(168,)g(205)2025 1360 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(106)2025
+1449 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(164,)27 b(167)2025
+1537 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(213)2025
+1625 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(71)2025 1714 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(73)2025 1802 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(71)2025 1891 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(71)2025 1979 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(73)2025 2068 y Fm(cnk)p
+2148 2068 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(72)2025
+2156 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(73)2025 2245 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(73)2025 2333 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(73)2025 2421 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(71)2025 2510 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(71,)27 b(73)2025 2598 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 2687 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(26)2025 2775
+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(101)2025
+2864 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(103)2025 2952 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
+3041 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
+3129 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(203)2025 3217 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 3306 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 3394 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(148)2025 3483 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(49)2025
+3571 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(75,)27 b(178)2025 3660 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(167,)g(189,)g(196)2025 3748
+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(106)2025 3836 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(13)2025 3925
+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(13)2025 4013 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 4102 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 4190 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(207)2025
+4279 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(207)2025 4367 y(co)r(ordinate)27
+b(limits)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(:)f(:)g(:)g(:)49
+b Fs(53)2025 4456 y(co)r(ordinate)27 b(v)l(ariable)7
+b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)34
+b Fs(65,)26 b(82,)h(98,)g(161,)g(203)2025 4544 y(co)r(ordinate)g(v)l
+(ariables)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(:)g(:)h(:)f(:)g(:)46
+b Fs(199)2025 4632 y Fr(coordinates)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(62,)27 b(98)2025 4721
+y(co)r(ordinates)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(:)37 b Fs(234)2025 4809 y(co)r(ordinates)27
+b(con)n(v)n(en)n(tion)8 b Fa(:)k(:)h(:)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(98)2025 4898 y(co)r(ordinates,)27 b(mo)r(difying)6
+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(:)33 b Fs(235)2025 4986
+y(core)26 b(dump)9 b Fa(:)j(:)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(:)h(:)f(:)35 b Fs(12)2025 5075 y Fr(core)26
+b(dump)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(21,)27 b(184)2025 5163 y Fm(cos)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(:)g(:)g(:)g
+(:)h(:)38 b Fs(148)2025 5252 y Fm(cosh)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(:)f(:)g(:)g(:)g(:)g(:)g
+(:)36 b Fs(148)2025 5340 y(cosine)26 b(function)18 b
+Fa(:)c(:)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(:)45
+b Fs(148)p eop end
+%%Page: 254 260
+TeXDict begin 254 259 bop 150 -116 a FD(254)2582 b FC(NCO)30
+b FD(4.4.2)j(User)d(Guide)150 299 y Fs(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(147)150 387 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(40)150 475 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 563 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(43)150 651 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(180)150 739 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 828 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 1082 y FB(D)150 1200 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(211,)27 b(212)150 1288 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(208)150
+1376 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(207)150 1464 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 1552 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
+1640 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(198)150 1728 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(69,)27 b(153)150 1816 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(96)150 1905 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(96)150 1993 y Fm(dbg)p 279 1993 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 2081 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(209)150 2169 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 2257 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
+2345 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 2433 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 2521 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(107)150 2609 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(107)150 2698 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(75,)h(178)150 2786 y(degenerate)f(dimension)9
+b Fa(:)k(:)h(:)35 b Fs(72,)27 b(85,)f(148,)h(161,)h(169,)f(170,)304
+2873 y(193,)g(194,)g(202,)g(205)150 2961 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(45)150 3049 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(116)150 3137 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(87)150 3225 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(207)150
+3313 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(102)150 3402 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(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)46 b Fs(76)150 3490 y(Digital)24
+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(:)49 b Fs(6)150 3578 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(53)150 3666 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(198)150 3754 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(221)150 3842 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(146)150 3930
+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(47)150 4018 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 4106 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(78)150 4195 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(47)150 4283 y(Distributed)25 b(Data)h(Reduction)f(&)g
+(Analysis)11 b Fa(:)j(:)f(:)g(:)g(:)g(:)g(:)38 b Fs(209)150
+4371 y(Distributed)25 b(Oceanographic)i(Data)f(System)17
+b Fa(:)12 b(:)h(:)g(:)h(:)f(:)g(:)43 b Fs(32)150 4459
+y Fr(divide)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(159)150 4547
+y(dividing)26 b(data)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
+(:)g(:)g(:)g(:)g(:)39 b Fs(159)150 4635 y(division)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(:)47 b Fs(148)150 4723 y(`)p Fr(dmn)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 4811 y(do)r(cumen)n
+(tation)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(:)34 b Fs(5)150 4899 y Fp(DODS)6 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(:)33 b Fs(32,)26 b(34)150 4988 y Fr(DODS_ROOT)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(32)150 5076 y(dot)26 b(pro)r(duct)18
+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(:)
+45 b Fs(204)150 5164 y(double\(\))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(:)36
+b Fs(119)150 5252 y(double-precision)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(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)42 b Fs(150)150 5340 y Fr(dsort)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(122)2025 299 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(57)2025 387 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 639 y FB(E)2025 757 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(207)2025 844 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(208)2025 932 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(147)2025
+1020 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(153)2025 1108 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(42)2025 1196 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(132)2025 1283 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(164)2025 1371 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(164)2025 1459 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(167)2025
+1547 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(148)2025 1635 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(148)2025 1722 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(208)2025 1810 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(148)2025 1898 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 1986 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(208)2025 2073 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(182,)g(184)2025 2161 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(70,)g(198)2025 2249 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(148)2025
+2337 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(93)2025
+2425 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(148)2025 2512 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(148)2025
+2600 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(103)2025 2688 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(36)2025 2776 y(extended)24 b(regular)j(expressions)16
+b Fa(:)e(:)f(:)h(:)f(:)43 b Fs(20,)27 b(42,)f(147,)h(153,)2178
+2863 y(157)2025 2951 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(182,)g(184)2025 3203 y FB(F)2025
+3321 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 3408 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(12)2025 3496 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(77)2025 3584 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(213)2025 3672 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(34)2025 3760 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(172)2025 3847 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(34)2025 3935 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(34)2025 4023 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(28)2025
+4111 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 4199 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(208)2025 4286 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(180)2025 4374 y(\014ndgen-equiv)l(alen)n(t)16 b
+Fa(:)11 b(:)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(:)43 b Fs(108)2025
+4462 y(\014x)25 b(record)h(dimension)c Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)50 b Fs(167,)27 b(169,)g(176)2025
+4550 y(\014xed)d(dimension)d Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)47 b Fs(167,)28 b(169,)f(175,)g(176)2025
+4638 y(\015ags)7 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(:)34
+b Fs(147)2025 4725 y(\015atten)25 b(\(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(:)35 b Fs(45)2025
+4813 y(\015attening)9 b Fa(:)k(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)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(39)2025 4901
+y Fr(float)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(150)2025
+4989 y(\015oat\(\))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(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)38 b Fs(119)2025
+5077 y Fm(\015o)r(or)26 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(:)47
+b Fs(148)2025 5164 y(\015o)r(or)26 b(function)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(:)36 b Fs(148)2025
+5252 y(`)p Fr(flt_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(187)2025
+5340 y(`)p Fr(flt_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(187)p
+eop end
+%%Page: 255 261
+TeXDict begin 255 260 bop 150 -116 a FD(General)31 b(Index)2902
+b(255)150 299 y Fs(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(121)150 387 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(95)150 475 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(95)150 563 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 651 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(89,)27 b(194,)g(196)150 739 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(52)150 828 y Fm(F)n(OR)-6 b(TRAN)p
+542 828 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 916 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(208)150 1004
+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 1092 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(34)150 1180 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(209)150 1434 y FB(G)150 1552 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 1640 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 1728 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(71)150
+1816 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(71)150 1905 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(167)150 1993 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(148)150 2081 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(131,)27 b(148)150 2169 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(208)150 2257 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(205)150 2345 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(208)150 2433
+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(208)150 2521 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 2609 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 2698 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(92)150 2786 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(228)150
+2874 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(208)150 2962 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(208)150 3050 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(208)150 3138
+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(116)150 3226 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 3314 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 3402 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 3491 y Fr(getopt_long)24 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(:)48 b Fs(27)150 3579
+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
+3667 y(Glenn)26 b(Da)n(vis)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(207)150 3755 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(156,)27 b(199)150 3843 y(global)g(attributes)15
+b Fa(:)e(:)h(:)f(:)g(:)42 b Fs(20,)26 b(95,)h(96,)g(99,)f(154,)i(156,)f
+(173,)304 3930 y(174,)g(182,)g(199,)g(200)150 4018 y(globbing)c
+Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49
+b Fs(20,)26 b(28,)h(43,)g(147,)g(160,)g(194,)g(196)150
+4106 y Fp(GNU)9 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(:)36 b Fs(27,)26 b(42)150
+4195 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 4283
+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)150 4371
+y Fr(GNUmakefile)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 4459 y(Go)r(d)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(:)g(:)g(:)g(:)h(:)f(:)g(:)38 b Fs(67)150 4547
+y Fr(grep)27 b(-E)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(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)48 b Fs(42)150
+4635 y(group)26 b(aggregation)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(:)48
+b Fs(167,)27 b(215)150 4723 y(group)f(names)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(:)g(:)h(:)f(:)g(:)48
+b Fs(198)150 4811 y(group)26 b(path)17 b Fa(:)c(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)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(45)150
+4899 y(group,)26 b(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(:)33 b Fs(226)150 4988 y(group,)26 b(anomaly)8
+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(:)34
+b Fs(226)150 5076 y(group,)26 b(dimension)g(p)r(erm)n(utation)17
+b Fa(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)44
+b Fs(226)150 5164 y(group,)26 b(spatial)h(a)n(v)n(eraging)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(:)47 b Fs(226)150 5252 y(group,)26
+b(standard)g(deviation)c Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)49 b Fs(226)150
+5340 y(group,)26 b(temp)r(oral)h(a)n(v)n(eraging)15 b
+Fa(:)f(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)42 b Fs(226)2025 299 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(157)2025 387 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(220)2025 474 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(215)2025 562 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(47)2025 650 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(47)2025 738 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(146)2025 825
+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(131,)g(139)2025 913 y
+Fm(gsl)p 2119 913 V 35 w(sf)p 2207 913 V 34 w(b)r(essel)p
+2435 913 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(132)2025 1001 y Fm(gsl)p 2119 1001
+V 35 w(sf)p 2207 1001 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(131)2025 1089
+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(133)2025 1176 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(96,)27 b(205)2025 1431 y FB(H)2025 1548 y Fs(Harry)e(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(207)2025 1636 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(76)2025 1724 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(175,)g(209)2025
+1811 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(80)2025 1899 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(175)2025 1987 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 2075
+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(175)2025
+2162 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(12)2025 2250 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(207)2025 2338 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(187)2025 2426 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(187)2025 2513 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(175)2025 2601 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 2689
+y Fr(history)8 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)35 b Fs(21,)27 b(30,)f(95,)h(99,)g(153,)g
+(182)2025 2777 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(175)2025 2864 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 2952 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 3040 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 3128 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 3215 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 3303 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(96)2025 3391 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(96)2025 3479 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(96)2025 3566 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(96)2025 3654 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(108)2025 3742 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(148)2025 3830
+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(148)2025 3917 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(148)2025 4005 y(h)n(yp)r(erb)r(olic)25
+b(cosine)i(function)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45 b Fs(148)2025 4093
+y(h)n(yp)r(erb)r(olic)25 b(sine)h(function)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(:)47 b Fs(148)2025 4181 y(h)n(yp)r(erb)r(olic)25
+b(tangen)n(t)e 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(:)50
+b Fs(148)2025 4268 y(h)n(yp)r(erslab)18 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)45 b Fs(53,)27 b(71,)f(164,)h(167,)h(194,)f(196,)g(202)
+2025 4356 y(h)n(yp)r(erslabs)7 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(:)34 b Fs(109)2025
+4609 y FB(I)2025 4726 y Fs(I/O)16 b Fa(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43 b Fs(34,)26
+b(53,)h(59)2025 4813 y(I/O)e(blo)r(c)n(k)h(size)17 b
+Fa(:)d(:)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(:)44
+b Fs(77)2025 4901 y(I18N)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(:)46
+b Fs(25)2025 4989 y Fp(IBM)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(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43
+b Fs(6)2025 5077 y Fr(icc)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 5164 y(ID)25 b(Quoting)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(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35
+b Fs(151)2025 5252 y Fp(IDL)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(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48
+b Fs(15)2025 5340 y Fp(IEEE)16 b Fa(:)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(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)42
+b Fs(88)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.2)j(User)d(Guide)150 299 y Fs(IEEE)c(NaN)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(:)46 b Fs(156)150 387 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(113)150 475 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 563 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(89)150 651 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(122)150
+739 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(103)150 827 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(52)150 915 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(108)150 1003 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(149)150
+1091 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 1179 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
+1267 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(31)150 1355 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(13)150 1443 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(119)150 1531 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(119)150 1619 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(204)150
+1707 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(76)150
+1795 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 1883 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
+1971 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(80)150 2059 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(170,)27 b(231)150 2147 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(41)150 2235 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
+2323 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(122)150 2411 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(164,)27 b(209)150 2499 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(127)150 2587 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 2824 y FB(J)150 2942 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(207)150 3030 y(Jim)26 b(Edw)n(ards)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(:)h(:)f(:)g(:)g(:)g(:)g(:)42 b Fs(208)150
+3118 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(207)150 3206 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(208)150 3443 y FB(K)150 3561 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(208)150 3649 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(208)150 3737 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(173)150
+3825 y(Kyle)25 b(Wilco)n(x)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(:)38 b Fs(208)150 4078 y FB(L)150
+4196 y Fs(L10N)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(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)36
+b Fs(25)150 4284 y(large)27 b(datasets)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(:)40 b Fs(21,)26 b(26)150 4372
+y(Large)h(File)f(Supp)r(ort)10 b Fa(:)i(:)h(:)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(21,)26 b(39)150 4460 y Fr(lat_bnds)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(96)150 4548 y Fr(LD_LIBRARY_PATH)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(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 b Fs(9)150 4636 y(left)26
+b(hand)f(casting)12 b Fa(:)j(:)e(:)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(23,)27 b(108)150 4724 y(Legendre)f(p)r(olynomial)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(:)48 b Fs(133)150 4812
+y(Lemp)r(el-Ziv)25 b(de\015ation)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(:)35 b Fs(75)150 4900 y(Len)25 b(Makin)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(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)46
+b Fs(208)150 4988 y(lexer)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(:)g(:)g(:)g(:)h(:)f(:)g(:)45
+b Fs(102)150 5076 y(`)p Fr(lfp)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 5164 y(LFS)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(:)47
+b Fs(21,)26 b(39)150 5252 y Fp(LHS)13 b Fa(:)h(:)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(:)40
+b Fs(108)150 5340 y Fr(libnco)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)2025 299 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 387 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 476 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(150)2025 564 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 652 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(148)2025 741 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(160,)27
+b(187)2025 829 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(148)2025 917 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(148)2025 1006 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(148)2025 1094 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(148)2025 1183 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(96)2025 1271 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(150)2025
+1359 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(192)2025 1448 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(218)2025 1536 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(61)2025 1624 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(208)2025
+1713 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(88)2025
+1801 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(88)2025 1890
+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(208)2025 2129 y FB(M)2025
+2247 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
+2335 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(32)2025 2424 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 2512 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(93)2025 2600 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(87)2025
+2689 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(73)2025 2777 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(73)2025 2866 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(73)2025 2954 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(73)2025 3042 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(73)2025 3131 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(73)2025 3219 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(208)2025 3307 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(208)2025 3396 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(208)2025
+3484 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(208)2025 3573 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(208)2025 3661 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(49)2025 3749 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(127,)27 b(147)2025
+3838 y(mask)f(condition)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(:)45
+b Fs(203,)27 b(206)2025 3926 y(mask)n(ed)e(a)n(v)n(erage)8
+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(:)34
+b Fs(202)2025 4014 y(Mass)27 b(Store)e(System)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(:)48 b Fs(30)2025
+4103 y(Matej)27 b(V)-6 b(ela)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(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44 b Fs(208)2025 4191
+y(mathematical)27 b(functions)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(:)39
+b Fs(148)2025 4280 y(Matlab)14 b Fa(:)g(:)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(:)41
+b Fs(15)2025 4368 y Fr(max)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(81)2025 4456 y(max\(\))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(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)41
+b Fs(117)2025 4545 y(maxim)n(um)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(:)46 b
+Fs(81)2025 4633 y(MD5)26 b(digest)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(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)35 b Fs(76)2025
+4721 y(mean)11 b Fa(:)i(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)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(81)2025
+4810 y(memory)25 b(a)n(v)l(ailable)18 b Fa(:)d(:)e(:)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(22,)27 b(78)2025 4898 y(memory)e(leaks)6
+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(:)
+33 b Fs(23)2025 4986 y(memory)25 b(requiremen)n(ts)e
+Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)49 b Fs(22,)26 b(42,)h(78)2025 5075 y(merging)f(\014les)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(:)40
+b Fs(17,)27 b(173)2025 5163 y(metadata)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(:)36
+b Fs(178)2025 5252 y(metadata)26 b(optimization)9 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(:)35 b Fs(25)2025 5340 y(metadata,)26
+b(global)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(:)36 b Fs(168,)27
+b(177)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 Fs(Mic)n(hael)27 b(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(49)150 387 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(93)150 476 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(208)150 564 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 652 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 741 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 829 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(208)150 917 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(81)150
+1006 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(117)150
+1094 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(81)150 1183
+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(69,)27 b(83,)g(153,)g(171,)g(178)150
+1271 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(115)150 1359 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(69,)26 b(79,)h(200)150
+1448 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(65,)26 b(67)150 1536 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(231,)27 b(234)150 1624 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(148)150 1713 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 1801 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(211,)27 b(228)150 1890 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(211,)27
+b(212)150 1978 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(47)150
+2066 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(57)150 2155 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(59)150 2243 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(96)150 2331 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 2420 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(34)150 2508 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 2597 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 2685 y(m)n(ulti-\014le)25 b(op)r(erators)15
+b Fa(:)g(:)42 b Fs(22,)26 b(28,)h(30,)g(165,)g(168,)g(194,)g(196)150
+2773 y(m)n(ulti-h)n(yp)r(erslab)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(:)35 b Fs(59)150 2862 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(57)150 2950 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(148,)27 b(159,)g(172)150 3038 y Fr(multiply)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(159)150 3127 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(159,)27
+b(170)150 3215 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(59)150 3303 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(40)150 3392 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 3480 y Fp(MVS)7 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(:)h(:)
+f(:)34 b Fs(7)150 3719 y FB(N)150 3838 y Fs(nak)n(ed)25
+b(c)n(haracters)e 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(:)49
+b Fs(160)150 3926 y(NaN)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(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48
+b Fs(156)150 4014 y Fp(NASA)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(:)g(:)g(:)g(:)h(:)43
+b Fs(209)150 4103 y Fp(NASA)23 b(EOSDIS)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(:)g(:)g(:)g(:)g(:)g(:)40 b Fs(19)150 4191
+y(National)27 b(Virtual)e(Ocean)h(Data)g(System)d Fa(:)13
+b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)49 b Fs(32)150 4280
+y Fr(nc__enddef\(\))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(25)150 4368 y Fr(NC_BYTE)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(187)150 4456 y Fr(NC_CHAR)6 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(:)g(:)g(:)g(:)g(:)g(:)33
+b Fs(54,)27 b(161,)g(187)150 4545 y Fr(NC_DISKLESS)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(78)150 4633 y Fr(NC_DOUBLE)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(:)38 b Fs(150,)27 b(187)150 4721
+y Fr(NC_FLOAT)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(187)150 4810 y
+Fr(NC_FORMAT_DAP2)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(36)150 4898 y Fr(NC_FORMAT_DAP4)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(36)150 4986 y Fr(NC_FORMAT_NC_HDF4)6 b Fa(:)17 b(:)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(:)h(:)32 b Fs(36)150 5075 y Fr(NC_FORMAT_NC_HDF5)6
+b Fa(:)17 b(:)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(:)h(:)32 b Fs(36)150
+5163 y Fr(NC_FORMAT_NC3)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(36)150 5252 y Fr(NC_FORMAT_PNETCDF)6
+b Fa(:)17 b(:)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(:)h(:)32 b Fs(36)150
+5340 y Fr(NC_INT)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(187)2025
+299 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(187)2025 387 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(187)2025 476 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(187)2025 564 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(187)2025
+653 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(187)2025 741 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(187)2025 830 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(159)2025 918 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(102)2025 1006 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 1095 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(95)2025
+1183 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(102)2025
+1272 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(186)2025
+1360 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
+1449 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 1537
+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(42)2025 1625
+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(70)2025 1714
+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(96)2025 1802
+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(153)2025 1891
+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(153,)27 b(180)2025 1979 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(180)2025 2068 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(70)2025 2156
+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(159)2025
+2245 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(159)2025
+2333 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(47,)27 b(49)2025 2421 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(159)2025 2510 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(180)2025 2598 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(175,)g(178,)g(179)2025 2687 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 2775 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(167)2025 2864 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(70)2025 2952 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(164)2025 3041 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(173)2025 3129 y Fr(ncflint)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(70)2025 3217 y Fr(ncflint)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(170)2025 3306 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(175)2025 3394 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(175)2025
+3483 y Fr(ncks)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(36)2025 3571 y Fr(ncks)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(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)40 b Fs(76,)27 b(148,)g(173)2025
+3660 y Fp(NCL)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(:)41 b Fs(15,)27 b(191)2025
+3748 y Fr(ncl_convert2nc)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(191)2025 3836 y Fr(nclist)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(180)2025 3925 y Fr(ncmax)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(180)2025 4013 y Fr(ncmdn)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(180)2025 4102 y Fr(ncmin)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(180)2025 4190 y Fp(NcML)19 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(:)46
+b Fs(179)2025 4279 y Fr(ncmult)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(159)2025 4367 y Fr(ncmultiply)24 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(:)49 b Fs(159)2025
+4456 y Fp(NCO)25 b Fs(a)n(v)l(ailabilit)n(y)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(:)42 b Fs(5)2025 4544
+y Fp(NCO)25 b Fs(homepage)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(:)42 b Fs(5)2025 4632 y(nco)26
+b(script)f(\014le)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(221)2025 4721 y Fm(NCO)25 b(User)h(Guide)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(:)44
+b Fs(5)2025 4809 y Fr(nco.config.log.${GNU_TRP}.foo)10
+b Fa(:)19 b(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36
+b Fs(13)2025 4898 y Fr(nco.configure.${GNU_TRP}.foo)13
+b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)39
+b Fs(13)2025 4986 y Fr(nco.make.${GNU_TRP}.foo)8 b Fa(:)18
+b(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)h(:)34 b Fs(13)2025 5075 y Fr(nco_input_file_list)7
+b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)34 b Fs(20,)27 b(96)2025 5163
+y Fr(nco_input_file_number)d Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)46 b Fs(20,)27
+b(96)2025 5252 y Fr(nco_openmp_thread_number)h Fa(:)13
+b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)49 b Fs(25)2025 5340 y Fr(ncpack)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(186)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.2)j(User)d(Guide)150 299 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 390 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(71,)27 b(168,)g(186,)g(196)150
+481 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(70)150
+572 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(148,)27 b(194)150
+663 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
+754 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(196)150 845
+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(180)150 936 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(70,)27 b(198)150 1027 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(180)150 1118 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 1209 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(159)150 1300 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(159)150 1391 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(180)150 1482 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(186)150 1573 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(70)150
+1664 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(148,)27 b(202)150
+1755 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(118)150 1846
+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(148)150 1937
+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(148)150 2028 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(148)150 2119 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 2210 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(88)150 2301 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(103)150 2392 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 2483 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
+2574 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 2665 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 2756 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(36)150 2847 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(68)150
+2938 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(36)150 3029 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(36)150
+3120 y Fr(NETCDF4)27 b Fs(\014les)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(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)49 b Fs(35)150 3211
+y Fr(NETCDF4_CLASSIC)29 b Fs(\014les)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(:)46 b Fs(35)150 3302 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 3393 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(208)150 3484 y Fr(NINTAP)9 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(:)35 b Fs(28,)27 b(194,)g(196)150 3575
+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)150 3666 y(non-co)r(ordinate)26
+b(grid)g(prop)r(erties)17 b Fa(:)d(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)43 b Fs(97)150 3757 y(non-rectangular)26
+b(grids)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(:)39 b Fs(127)150
+3848 y(non-standard)25 b(grids)d 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(:)48 b Fs(127)150 3939 y(normalization)24 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(:)48
+b Fs(204)150 4030 y(Not-a-Num)n(b)r(er)9 b Fa(:)j(:)h(:)g(:)g(:)g(:)g
+(:)g(:)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(156)150 4121
+y Fp(NRA)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(:)g(:)g(:)h(:)46 b Fs(209)150
+4212 y Fr(nrnet)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 4303 y Fp(NSF)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(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)39
+b Fs(209)150 4393 y(NT)26 b(\(Microsoft)h(op)r(erating)g(system\))7
+b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+34 b Fs(7)150 4484 y(NUL)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(:)g(:)g(:)g(:)g(:)44
+b Fs(156)150 4575 y Fr(NUL)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(188)150 4666 y(NUL-termination)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(:)39 b Fs(156)150 4757 y(n)n(ull)25 b(op)r(eration)17
+b Fa(:)e(:)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(:)44
+b Fs(172)150 4848 y(n)n(um)n(b)r(er)25 b(literals)i Fr(ncap2)8
+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(:)34 b Fs(112)150 4939
+y Fr(number_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(116)150 5030 y Fr(numerator)14 b Fa(:)h(:)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(:)40 b Fs(83,)27
+b(204)150 5121 y Fp(NV)n(ODS)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(:)h(:)f(:)g(:)35
+b Fs(32)150 5212 y(`)p Fr(nxt_lsr)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(187)2025 299 y FB(O)2025 416 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 503 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(37)2025 591 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(37)2025 679 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
+766 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 854 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(32)2025 941 y(Op)r(en-source)f(Pro)t(ject)i(for)g(a)f(Net)
+n(w)n(ork)f(Data)h(Access)2178 1029 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 1116 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 1204 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
+1291 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(81,)27 b(194,)g(203)2025 1379 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(70,)g(198)2025 1467 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 1554 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(209)2025 1642 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(208)2025 1730 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(96,)27 b(205)2025 1817 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 1905 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 1992 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(31)2025 2080 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 2168 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(95)2025 2419 y FB(P)2025 2536 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(117)2025 2624 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(79)2025 2711 y(pac)n(k)p 2184
+2711 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(118)2025 2799
+y(pac)n(k)p 2184 2799 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(118)2025 2887 y(pac)n(k)p 2184 2887 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(118)2025 2974 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(71,)g(79,)g(168,)g(186,)g(196)2025 3062 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(187)2025 3150 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(186)2025
+3237 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 3325 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(237)2025
+3412 y(parallelism)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(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)35 b Fs(25,)27 b(209)2025 3500 y(parser)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(102)2025 3588 y(pasting)26
+b(v)l(ariables)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(:)34 b Fs(17)2025 3675 y Fr(pathcc)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 3763 y Fr(pathCC)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 3850 y(P)n(athScale)23
+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(:)49 b Fs(6)2025 3938 y(P)n(atrice)26 b(Dumas)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(:)47
+b Fs(208)2025 4026 y(P)n(atric)n(k)26 b(Kursa)n(w)n(e)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(:)36
+b Fs(208)2025 4113 y(pattern)25 b(matc)n(hing)12 b Fa(:)h(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39
+b Fs(20,)27 b(42,)g(153,)g(157)2025 4201 y(P)n(a)n(yP)n(al)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(:)g(:)41 b Fs(207)2025 4289 y Fm(p)r(c)n(k)p
+2148 4289 V 33 w(map)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(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)45 b Fs(187)2025
+4376 y Fm(p)r(c)n(k)p 2148 4376 V 33 w(plc)27 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(:)50 b Fs(186)2025 4464 y(p)r(eak)25 b(memory)h(usage)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(:)40 b Fs(22,)27 b(78)2025
+4551 y(P)n(edro)f(Vicen)n(te)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(:)43 b Fs(207)2025 4639 y(p)r(erformance)11
+b Fa(:)j(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+38 b Fs(9,)26 b(16,)h(24,)f(25,)h(70,)g(198)2025 4727
+y(P)n(erl)9 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(:)36 b Fs(15,)27 b(21,)g(155)2025 4814
+y(p)r(erm)n(ute)e(dimensions)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(:)g(:)
+46 b Fs(186)2025 4902 y(p)r(erm)n(ute\(\))15 b Fa(:)d(:)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(:)42
+b Fs(111)2025 4990 y(P)n(eter)26 b(Campb)r(ell)6 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(:)33
+b Fs(208)2025 5077 y Fr(pgcc)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 5165 y Fr(pgCC)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 5252 y Fp(PGI)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(:)g(:)g(:)g(:)g
+(:)g(:)h(:)48 b Fs(6)2025 5340 y(philosoph)n(y)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(:)33 b Fs(15)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(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 388 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(71)150 477 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(71)150 566 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(71)150 656 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(71)150 745 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(71)150 834 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 923 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
+1012 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(42)150 1102
+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(148)150 1191 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(148)150 1280 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(148)150 1369 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(73)150 1458 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(150)150 1548 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 1637 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
+1726 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(115)150 1815
+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
+1904 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(155,)27 b(178,)g(183)150 1993 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(173)150
+2083 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(173)150 2172 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(194,)27 b(196)150 2261 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 2350 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(87,)26 b(89,)h(149)150 2439 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(209)150 2529 y(pseudon)n(ym)17 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 2618 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 2878 y FB(Q)150 2998 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 3087 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 3176 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(150)150
+3265 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(211)150 3355 y(quiet)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(:)g(:)g(:)g(:)41 b Fs(178)150 3444 y(quotes)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(:)49 b Fs(43,)27
+b(147,)g(160,)g(192)150 3704 y FB(R)150 3824 y Fp(RA)n(G)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(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fs(167)150 3913 y Fp(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(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)49 b Fs(22,)26 b(78)150 4002 y Fp(RAM)f
+Fs(disks)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(:)h
+(:)f(:)39 b Fs(16,)26 b(78)150 4091 y Fp(RAM)f Fs(\014les)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(:)41
+b Fs(16,)26 b(78)150 4181 y Fp(RAM)f Fs(v)l(ariables)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(:)41 b Fs(78,)27
+b(119)150 4270 y(ram)p 287 4270 24 4 v 34 w(delete\(\))7
+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(:)
+34 b Fs(120)150 4359 y(ram)p 287 4359 V 34 w(write\(\))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(:)
+46 b Fs(120)150 4448 y(random)26 b(w)n(alk)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(:)46
+b Fs(93)150 4537 y(rank)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(:)50
+b Fs(104,)27 b(160,)g(161,)g(162,)g(202)150 4626 y Fr(rcp)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 4716
+y Fp(R)n(CS)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(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)40 b
+Fs(99)150 4805 y(`)p Fr(rd1)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 4894 y(re-dimension)22 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(:)48 b Fs(186)150
+4983 y(re-order)26 b(dimensions)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(186)150 5072 y(record)26 b(aggregation)9
+b Fa(:)15 b(:)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(:)35 b Fs(167)150
+5162 y(record)26 b(app)r(end)14 b Fa(:)f(:)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(:)40 b Fs(56)150 5251 y(record)26
+b(a)n(v)n(erage)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(:)36 b Fs(194)150 5340 y(record)26 b(concatenation)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(:)g(:)48 b Fs(196)2025 299
+y(record)26 b(dimension)c Fa(:)13 b(:)g(:)48 b Fs(17,)27
+b(53,)f(75,)h(164,)g(167,)g(169,)g(175,)2178 386 y(176,)g(189,)h(193,)f
+(194,)g(196)2025 476 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(53,)27 b(189)2025 566 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(127)2025 656 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(40)2025 746 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(40)2025 836 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(42)2025 925 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(221)2025
+1015 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(13)2025 1105 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(231)2025 1195 y(regular)26
+b(expressions)13 b Fa(:)i(:)e(:)g(:)g(:)g(:)g(:)40 b
+Fs(20,)27 b(28,)g(42,)g(147,)g(153,)g(157)2025 1285 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(122)2025 1375
+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(208)2025 1465 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 1555 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(47)2025
+1645 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(198,)27 b(231)2025 1735 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(198,)27 b(231)2025 1825 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(198)2025 1914 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(198,)27 b(221,)g(231)2025 2004 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(12)2025 2094 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(186)2025
+2184 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
+2274 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(192)2025 2364 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(186,)27 b(191,)g(192)2025
+2454 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(111)2025
+2544 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(73)2025 2634 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(148)2025 2724 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(81)2025 2814 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(81)2025 2903 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(117)2025
+2993 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(81)2025 3083 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(207)2025 3173 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(148)2025 3263 y(rounding)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(:)g(:)g(:)h(:)f(:)g(:)g(:)46
+b Fs(93)2025 3353 y(rounding)25 b(functions)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(:)g(:)g(:)g(:)h(:)49 b Fs(148)2025 3443
+y Fp(RPM)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(:)h(:)f(:)g(:)g(:)g(:)45 b Fs(12)2025
+3533 y(running)25 b(a)n(v)n(erage)18 b Fa(:)c(:)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(:)45 b Fs(194)2025 3623 y(Russ)25 b(Rew)18
+b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)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(207)2025 3870 y FB(S)2025 3991 y Fs(safeguards)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(:)43
+b Fs(15,)27 b(198)2025 4081 y Fr(scale_factor)15 b Fa(:)g(:)e(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)42
+b Fs(79,)27 b(168,)g(186,)g(196)2025 4171 y Fm(scale)p
+2187 4171 V 35 w(format)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(:)g(:)g(:)g(:)g(:)38 b Fs(24)2025 4261 y(scaling)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(24,)27 b(172)2025 4351 y(Scien)n(ti\014c)e(Data)h(Op)r
+(erators)13 b Fa(:)h(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 b Fs(209)2025 4441 y(`)p
+Fr(scl)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 4531 y(Scott)25 b(Capps)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(:)g(:)g(:)g(:)40 b Fs(208)2025
+4621 y Fr(scp)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 4711 y(script)g(\014le)11 b Fa(:)i(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)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(102)2025
+4801 y Fp(SDO)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(:)f(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)34 b
+Fs(209)2025 4890 y(seasonal)27 b(a)n(v)n(erage)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(:)39 b Fs(211)2025 4980
+y(securit)n(y)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(:)48 b Fs(76)2025
+5070 y Fp(SEI)r(I)r(I)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(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)42
+b Fs(209)2025 5160 y(semi-colon)9 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(:)36 b Fs(103)2025
+5250 y(separator)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(:)g(:)g(:)g(:)38 b Fs(179)2025 5340
+y(serv)n(er)15 b Fa(:)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(:)42 b Fs(21,)26 b(32,)h(34)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.2)j(User)d(Guide)150 299 y Fs(Serv)n(er-Side)24
+b(Distributed)i(Data)g(Reduction)f(&)304 386 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(209)150 475 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(209)150 563 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(116)150 651 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 740 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 828 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(180)150 917 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 1005 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
+1094 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(43,)h(66,)g(147,)g
+(160,)g(180)150 1182 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 1271 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(148)150 1359 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(148)150
+1448 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(150)150 1536 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(148)150 1625 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(118)150 1713 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 1801 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(122)150 1890 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(174,)27 b(182)150 1978
+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 2067 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(218)150 2155 y(sp)r(ecial)27 b(attributes)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(:)g(:)g(:)h(:)40 b Fs(175)150 2244 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(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+35 b Fs(156)150 2332 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(70,)h(198)150 2421 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(81)150 2509 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(117)150 2598 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(81)150 2686 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(148)150 2775 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(148)150 2863 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(209)150
+2951 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(34)150 3040 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(119)150 3128 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(81,)26 b(85,)h(221)150 3217 y(standard)f(input)20
+b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)48
+b Fs(20,)27 b(165,)g(168,)g(194,)g(196)150 3305 y Fr(standard_name)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(62)150 3394 y Fr(stat\(\))27 b(system)g(call)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(:)44 b Fs(77)150
+3482 y(statemen)n(t)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(:)45 b Fs(103)150 3571 y(static)26
+b(linking)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
+(:)g(:)g(:)h(:)f(:)47 b Fs(9)150 3659 y Fr(stdin)9 b
+Fa(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)36 b Fs(20,)27 b(96,)g(165,)g(168,)g(194,)g(196)150
+3748 y(Stev)n(e)e(Emmerson)f 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(:)50 b Fs(207)150 3836 y(stride)9 b Fa(:)k(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)36 b Fs(54,)27 b(55,)f(59,)h(65,)g(194,)g(195,)g
+(196,)g(197)150 3925 y(strings)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(:)48
+b Fs(156)150 4013 y(Stu)25 b(Muller)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(:)47 b Fs(208)150
+4101 y(stub)11 b Fa(:)h(:)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(:)h(:)f(:)g(:)37 b
+Fs(32)150 4190 y(sub-cycle)16 b Fa(:)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(:)h(:)42 b Fs(57)150
+4278 y(sub)r(cycle)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(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)37 b Fs(57)150
+4367 y(subsetting)19 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fs(40,)26 b(44,)h(98,)g(182,)g
+(184)150 4455 y Fr(subtract)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(159)150
+4544 y(subtracting)26 b(data)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(:)35 b Fs(159)150 4632 y(subtraction)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(148,)27 b(159)150
+4721 y(summary)16 b Fa(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)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(3)150 4809
+y(Sun)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(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49
+b Fs(6)150 4898 y(sw)n(ap)26 b(space)14 b Fa(:)g(:)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(:)41 b Fs(21,)27 b(22,)f(78)150 4986
+y(switc)n(hes)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(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)40 b Fs(27)150 5075
+y(sym)n(b)r(olic)26 b(links)6 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)33 b Fs(8,)26
+b(18,)h(21,)g(160,)g(187)150 5163 y(sync)n(hronous)e(\014le)h(access)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(:)36 b Fs(30)150 5252
+y(synon)n(ym)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(:)49 b Fs(8)150 5340
+y(syn)n(tax)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(:)g(:)h(:)f(:)49 b Fs(103)2025
+299 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(77)2025 549 y FB(T)2025
+666 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(208)2025 753 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(148)2025 841
+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(148)2025
+928 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(79)2025 1015 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(79,)g(198)2025 1103 y(T)2067
+1119 y(E)2110 1103 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 1190 y Fm(thr)p 2133 1190 24 4 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 1277 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 1365 y Fr(time)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(65,)27 b(98)2025 1452 y(time-a)n(v)n(eraging)10
+b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)h(:)36 b Fs(148,)27 b(211,)g(212,)h
+(218,)f(221,)g(228)2025 1540 y Fr(time_offset)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(98)2025 1627 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(95)2025
+1714 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(81)2025 1802 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(53,)27 b(189)2025
+1889 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(92)2025 1976
+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(148)2025
+2064 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(88)2025
+2151 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(45)2025 2239 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(148)2025 2326 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(203,)27 b(206)2025 2413 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(81)2025
+2501 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(117)2025 2588 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(86)2025 2676 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(118)2025 2930 y FB(U)2025 3047 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(119)2025 3134 y(UDUnits)18
+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(:)44
+b Fs(6,)26 b(64,)h(96)2025 3221 y(uin)n(t\(\))17 b Fa(:)d(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)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(119)2025 3309 y Fr(ulimit)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(21)2025 3396 y(unary)25 b(op)r(erations)d 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(23)2025
+3483 y(underlying)25 b(\014le)h(format)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(:)35 b Fs(36)2025 3571 y Fp(UNICOS)14 b Fa(:)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(21)2025 3658 y(Unidata)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(:)41 b Fs(6,)26 b(10,)h(64)2025
+3746 y(union)13 b Fa(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)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(40,)27 b(41)2025
+3833 y(union)e(of)i(\014les)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(:)g(:)g(:)h(:)f(:)g(:)g(:)49 b Fs(17)2025 3920 y(unit64\(\))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(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)40 b Fs(119)2025 4008 y Fr(units)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(:)44 b Fs(64,)27
+b(65,)g(157,)g(172)2025 4095 y Fp(UNIX)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(:)35 b Fs(6,)26 b(8,)h(20,)f(27,)h(28,)g(180)2025 4183
+y(unlimited)e(dimension)13 b Fa(:)h(:)f(:)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(167)2025 4270 y Fr(unmap)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(122)2025 4357 y(unpac)n(k\(\))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(118)2025 4445 y Fr(unpack\(x\))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(79)2025 4532 y(unpac)n(king)17 b Fa(:)c(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)44 b Fs(34,)27
+b(79,)g(168,)g(186,)g(196)2025 4619 y Fp(URL)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(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)36 b Fs(30)2025 4707 y Fm(User)25 b(Guide)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(:)41 b Fs(5)2025 4794 y(ushort\(\))13 b Fa(:)f(:)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(:)h(:)f(:)g(:)g(:)g(:)g(:)40
+b Fs(119)2025 5049 y FB(V)2025 5165 y Fs(v)l(alue)25
+b(list)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(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)43 b Fs(111)2025 5253 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(198)2025 5340 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(221)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(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(81)150 391 y(v)n(ersion)17 b Fa(:)d(:)f(:)g(:)g(:)g(:)g(:)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(:)43
+b Fs(99)150 482 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)150 760 y FB(W)150 885 y Fs(w)n(eigh)n(ted)26
+b(a)n(v)n(erage)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(:)49 b Fs(202,)27
+b(228)150 977 y(W)-6 b(enshan)25 b(W)-6 b(ang)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(:)35 b Fs(209)150 1068
+y Fr(wget)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(30)150
+1160 y(where\(\))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(:)48 b Fs(120)150 1252
+y(while\(\))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(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)42 b Fs(121)150 1343
+y(whitespace)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(:)48 b Fs(65)150 1435 y(wildcards)9
+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(:)35 b Fs(28,)27 b(42,)g(153,)g(157)
+150 1527 y Fr(WIN32)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(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49
+b Fs(8)150 1619 y(Windo)n(ws)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(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)36 b Fs(6,)26
+b(7)150 1710 y(wrapp)r(ed)g(co)r(ordinates)6 b Fa(:)15
+b(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)33
+b Fs(55,)27 b(61,)g(128,)g(184)2025 299 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 386 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(129)2025 473 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 706
+y FB(X)2025 822 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 909 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 996 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 1083 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(179)2025 1171 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 1258 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(71)2025 1345 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(71,)27 b(73)2025 1594 y FB(Y)2025 1710 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: 262 268
+TeXDict begin 262 267 bop eop end
+%%Trailer
+
+userdict /end-hook known{end-hook}if
+%%EOF
diff --git a/doc/nco.texi b/doc/nco.texi
index f454d5c..f75a6c6 100644
--- a/doc/nco.texi
+++ b/doc/nco.texi
@@ -7,13 +7,13 @@
 
 @ignore
 
-$Header: /cvsroot/nco/nco/doc/nco.texi,v 1.917 2013/12/03 00:28:01 zender Exp $
+$Header: /cvsroot/nco/nco/doc/nco.texi,v 1.968 2014/02/19 17:28:06 zender Exp $
 
 Purpose: TeXInfo documentation for NCO suite
 
 URL: http://nco.sf.net/nco.texi
 
-Copyright (C) 1995--2013 Charlie Zender
+Copyright (C) 1995--2014 Charlie Zender
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3
 or any later version published by the Free Software Foundation;
@@ -63,7 +63,7 @@ cd ~/nco/doc;scp -p nco_*.png dust.ess.uci.edu:/var/www/html/nco;cd -
 # 20130801 Copy nco.texi to Ubuntu machine for quick build-tests
 scp ~/nco/doc/nco.texi givre.ess.uci.edu:nco/doc
 
-NB: @cindex references in footnotes propagate to PDF file, but not to
+NB: @cindex references in footnotes propagate to PDF file, not to
     HTML files, bug-report sent to makeinfo people 20040229
 
 Producing HTML, makeinfo vs. texi2html:
@@ -92,7 +92,8 @@ Legend (defined in "highlighting" section of TeXInfo manual):
 @uref{}: URL with optional alternate text, e.g., @uref{http://nco.sf.net,NCO homepage}
 @url{}: URL, synonym for @uref
 @var{}: Metasyntactic variable, e.g., @var{}
- at verbatim: Anything goes inside environment
+ at verbatim: Anything goes inside environment (no @'s needed to protect special characters like braces)
+ at example: Quoted environment (@'s needed to protect special characters like braces)
 @w{}: Unbreakable text, e.g., @w{of 1}
 
 Use '@*' to force hard carriage return
@@ -111,12 +112,12 @@ Octave TeXInfo manual shows clean TeXInfo structure
 @setfilename nco.info
 
 @c Define edition, date, ...
- at set nco-edition 4.3.9
- at set doc-edition 4.3.9
- at set copyright-years 1995--2013
- at set update-year 2013
- at set update-date 2 December 2013
- at set update-month December 2013
+ at set nco-edition 4.4.2
+ at set doc-edition 4.4.2
+ at set copyright-years 1995--2014
+ at set update-year 2014
+ at set update-date 19 February 2014
+ at set update-month February 2014
 
 @settitle @acronym{NCO} @value{nco-edition} User Guide
 
@@ -1126,7 +1127,7 @@ In 2004, Unidata and @acronym{THG} began a project to implement
 the @acronym{HDF5} features necessary to support the netCDF API.
 @acronym{NCO} version 3.0.3 added support for reading/writing
 netCDF4-formatted @acronym{HDF5} files in October, 2005.
-See @ref{Selecting Output File Format} for more details.
+See @ref{File Formats and Conversion} for more details.
 
 HDF support for netCDF was completed with HDF5 version 
 @w{version 1.8} in 2007. 
@@ -1202,7 +1203,7 @@ If you feed @acronym{NCO} netCDF3 files, it produces netCDF3 output.
 If you feed @acronym{NCO} netCDF4 files, it produces netCDF4 output.
 Use the handy-dandy @samp{-4} switch to request netCDF4 output from 
 netCDF3 input, i.e., to convert netCDF3 to netCDF4.
-See @ref{Selecting Output File Format} for more details.
+See @ref{File Formats and Conversion} for more details.
 
 @html
 <a name="hdf4"></a> <!-- http://nco.sf.net/nco.html#hdf4 -->
@@ -1215,55 +1216,85 @@ support
 @footnote{The procedure for doing this is documented at
 @uref{http://www.unidata.ucar.edu/software/netcdf/docs/build_hdf4.html}.},
 @acronym{NCO} automatically supports reading @acronym{HDF4} 
-files and writing them as netCDF4/@acronym{HDF5} files.
- at acronym{NCO} can only write throught the netCDF @acronym{API}, which
+files and writing them as netCDF3/netCDF4/@acronym{HDF5} files.
+ at acronym{NCO} can only write through the netCDF @acronym{API}, which
 can only write netCDF3/netCDF4/@acronym{HDF5} files. 
-But it can read @acronym{HDF4} files, perform manipulations and
-calculations, and then write the results in netCDF format.
-As of this writing (October, 2013) the user must tell @acronym{NCO} 
-that an input file is @acronym{HDF4} format by using the @samp{--hdf4} 
-switch introduced in @acronym{NCO} 4.3.7.
-Eventually we hope to make @acronym{HDF4}-detection automatic and to
-therefore deprecate this switch.
+So @acronym{NCO} can @emph{read} @acronym{HDF4} files, perform
+manipulations and calculations, and then @emph{write} the results in
+netCDF format. 
+
+Full support for these features is forthcoming, yet support as of
+December, 2013 is quite functional.
+For best results install @acronym{NCO} versions 4.4.0 or later on top of
+netCDF versions 4.3.1 or later. 
+Getting to this point has been an iterative effort where Unidata
+improved netCDF library capabilities in response to our requests.
+ at acronym{NCO} versions 4.3.6 and earlier do not explicitly support
+ at acronym{HDF4}, yet should work with @acronym{HDF4} if compiled with 
+a version of netCDF (4.3.2 or later?) that does not unexpectedly die
+when probing @acronym{HDF4} files with standard netCDF calls.
+ at 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
+ at acronym{HDF4} format by using the @samp{--hdf4} switch. 
+
+When compiled with netCDF version 4.3.1 (20140116) or later, 
+ at acronym{NCO} versions 4.4.0 (January, 2014) and later more gracefully 
+handle @acronym{HDF4} files.
+In particular, the @samp{--hdf4} switch is obsolete. 
+Current versions of @acronym{NCO} use netCDF to determine automatically
+whether the underlying file is @acronym{HDF4}, and then take appropriate
+precautions to avoid calls not yet supported by the netCDF4 subset
+ at acronym{HDF4}. 
+The @samp{--hdf4} switch is supported (for backwards compatibility) yet
+redundant (i.e., does no harm) with current versions of @acronym{NCO}
+and netCDF. 
 
 Converting @acronym{HDF4} files to netCDF:
 Since @acronym{NCO} reads @acronym{HDF4} files natively, it is now easy  
-to convert @acronym{HDF4} files to netCDF4 files directly, e.g.,
+to convert @acronym{HDF4} files to netCDF files directly, e.g.,
 @example
-ncks --hdf4 fl.hdf fl.nc      # Convert HDF4->netCDF4
-ncks --hdf4 -L 1 fl.hdf fl.nc # Convert HDF4->netCDF4 with compression
+ncks        fl.hdf fl.nc # Convert HDF4->netCDF4 (NCO 4.4.0+, netCDF 4.3.1+)
+ncks --hdf4 fl.hdf fl.nc # Convert HDF4->netCDF4 (NCO 4.3.7-4.3.9)
 @end example
-This produces a netCDF4 file not a netCDF3 file.
-Obtaining a netCDF3 file from an @acronym{HDF4} file can be easy or
-arduous, depending whether the input contains any netCDF4 atomic types
-(e.g., unsigned bytes, 64-bit integers):
+The most efficient and accurate way to convert @acronym{HDF4} data to
+netCDF format is to convert to netCDF4 using @acronym{NCO} as above.
+It suffices when the data will only be processed by @acronym{NCO}, or
+other netCDF4-aware tools. 
+However, many tools are not fully netCDF4-aware, and so conversion to
+netCDF3 may be desirable.
+
+Obtaining a netCDF3 file from an @acronym{HDF4} is now easy, even though
+the @acronym{HDF4} file may contain netCDF4 atomic types (e.g., unsigned
+bytes, 64-bit integers): 
 @example
-ncks --hdf4 -3 fl.hdf fl.nc      # HDF4->netCDF3
-ncks --hdf4 -7 -L 1 fl.hdf fl.nc # HDF4->netCDF4 classic with compression
+ncks -3 fl.hdf fl.nc      # HDF4->netCDF3 (NCO 4.4.0+, netCDF 4.3.1+)
+ncks -7 -L 1 fl.hdf fl.nc # HDF4->netCDF4 (NCO 4.4.0+, netCDF 4.3.1+)
+ncks --hdf4 -3 fl.hdf fl.nc # HDF4->netCDF3 (netCDF 4.3.0-)
+ncks --hdf4 -7 fl.hdf fl.nc # HDF4->netCDF4 classic (netCDF 4.3.0-)
 @end example
-These commands work only if the input has no netCDF4 atomic types.
-Many @acronym{HDF4} producers (@acronym{NASA}!) love to use netCDF4
-types, e.g., unsigned bytes. 
-So to get a netCDF3 file from an HDF4 file that @emph{does} contain
-netCDF4 atomic types, one must first convert to netCDF4 then use a
-tool like @command{ncap2} to convert any netCDF4 types to netCDF3
-types. 
-No one wants to do that. 
-Instead we recommend the @command{ncl_convert2nc} tool to convert
- at acronym{HDF} to netCDF3 when both these are true: @w{1. You} must have
-netCDF3 and @w{2. the} @acronym{HDF} file contains netCDF4 atomic
-types. 
-Otherwise use @command{ncks} which is faster and more space-efficient.
-Moreover, @command{ncl_convert2nc} automatically converts netCDF4 types
-to netCDF3  types, yet it will not produce full netCDF4 files.
-In contrast, @command{ncks} happily converts @acronym{HDF} straight to
-netCDF4 files with netCDF4 types. 
+As of @acronym{NCO} version 4.4.0 (January, 2014), these commands work
+with netCDF4 atomic types
+ at footnote{
+Prior to @acronym{NCO} version 4.4.0 (January, 2014), we recommend the
+ at command{ncl_convert2nc} tool to convert @acronym{HDF} to netCDF3 when
+both these are true: @w{1. You} must have netCDF3 and @w{2. the}
+ at acronym{HDF} file contains netCDF4 atomic types. 
+More recent versions of @acronym{NCO} handle this problem fine, so we
+no longer recommend @command{ncl_convert2nc} because @command{ncks}
+is faster and more space-efficient.
+Both automatically convert netCDF4 types to netCDF3 types, yet
+ at command{ncl_convert2nc} cannot produce full netCDF4 files.
+In contrast, @command{ncks} will happily convert @acronym{HDF} straight
+to netCDF4 files with netCDF4 types. 
 Hence @command{ncks} can and does preserve the variable types.
 Unsigned bytes stay unsigned bytes. 
 64-bit integers stay 64-bit integers. 
 Strings stay strings. 
 Hence, @command{ncks} conversions often result in smaller files than
- at command{ncl_convert2nc} conversions.
+ at command{ncl_convert2nc} conversions.}.  
+Many @acronym{HDF4} producers (@acronym{NASA}!) love to use netCDF4
+types, e.g., unsigned bytes. 
 
 @cindex @acronym{RPM}
 @cindex Debian
@@ -1599,7 +1630,7 @@ However, as of 20130328, the behavior of the @samp{--create_ram} and
 @samp{--open_ram} examples has not been thoroughly tested.
 
 The @acronym{NCO} authors have seen compelling use cases for utilizing
-the @acronym{RAM} switches, but not (yet) for combining them with
+the @acronym{RAM} switches, though not (yet) for combining them with
 @samp{--no_tmp_fl}. 
 @acronym{NCO} implements both options because they are largely
 independent of eachother.
@@ -1714,7 +1745,7 @@ addition, subtraction, multiplication, division, and broadcasting.
 It even does group broadcasting.
 @command{ncflint} (@pxref{ncflint netCDF File Interpolator}) does
 file addition, subtraction, multiplication and interpolation. 
-Sequences of these commands can accomplish simple but powerful
+Sequences of these commands can accomplish simple yet powerful
 operations from the command line.
 
 @html
@@ -1772,8 +1803,8 @@ First, let's describe the concatenators, then the statistics tools.
 @cindex @command{ncecat}
 @cindex @command{ncrcat}
 
-Joining independent files together along a record dimension is called
- at dfn{concatenation}.    
+Joining together independent files along a common record dimension is
+called @dfn{concatenation}.    
 @command{ncrcat} is designed for concatenating record variables, while
 @command{ncecat} is designed for concatenating fixed length variables.
 Consider five files, @file{85.nc}, @file{86.nc}, 
@@ -1805,8 +1836,8 @@ dimension of the same name and a new record dimension (named
 Consider five realizations, @file{85a.nc}, @file{85b.nc}, 
 @w{@dots{} @file{85e.nc}} of 1985 predictions from the same climate
 model. 
-Then @code{ncecat 85?.nc 85_ens.nc} glues the individual realizations
-together into the single file, @file{85_ens.nc}. 
+Then @code{ncecat 85?.nc 85_ens.nc} glues together the individual
+realizations into the single file, @file{85_ens.nc}. 
 If an input variable was dimensioned [@code{lat}, at code{lon}], it will
 have dimensions [@code{record}, at code{lat}, at code{lon}] in the output file.
 @w{A restriction} of @command{ncecat} is that the hyperslabs of the
@@ -2385,7 +2416,7 @@ feature is automatic and cannot be controlled by the user.
 * Specifying Output Files::
 * Remote storage::
 * Retaining Retrieved Files::
-* Selecting Output File Format::
+* File Formats and Conversion::
 * Large File Support::
 * Subsetting Files::
 * Subsetting Coordinate Variables::
@@ -2394,7 +2425,7 @@ feature is automatic and cannot be controlled by the user.
 * Hyperslabs::
 * Stride::
 * Record Appending::
-* Duration::
+* Subcycle::
 * Multislabs::
 * Wrapped Coordinates::
 * Auxiliary Coordinates::
@@ -2467,9 +2498,9 @@ at a future date.
 This optimization exploits the netCDF library @code{nc__enddef()}
 function, which behaves differently with different versions of netCDF.
 It will improve speed of future metadata expansion with @code{CLASSIC}
-and @code{64bit} netCDF files, but not necessarily with @code{NETCDF4} 
+and @code{64bit} netCDF files, though not necessarily with @code{NETCDF4} 
 files, i.e., those created by the netCDF interface to the @acronym{HDF5}
-library (@pxref{Selecting Output File Format}).
+library (@pxref{File Formats and Conversion}).
 
 @html
 <a name="omp"></a> <!-- http://nco.sf.net/nco.html#omp -->
@@ -2747,7 +2778,7 @@ The shell passes valid filenames which match the expansion to
 The third method uses the @samp{-p @var{input-path}} argument to specify 
 the directory where all the input files reside.
 @acronym{NCO} prepends @var{input-path} (e.g.,
- at file{/data/usrname/model}) to all @var{input-files} (but not to
+ at file{/data/usrname/model}) to all @var{input-files} (though not to
 @var{output-file}).  
 Thus, using @samp{-p}, the path to any number of input files need only
 be specified once.
@@ -2887,7 +2918,7 @@ with @samp{-o @var{fl_out}} near the beginning of an argument list.
 @cindex linkers
 Compilers and linkers are usually invoked this way.
 
-Users should specify @var{fl_out} using either but not both methods.
+Users should specify @var{fl_out} using either (not both) method.
 If @var{fl_out} is specified twice (once with the switch and once as
 the last positional argument), then the positional argument takes
 precedence. 
@@ -3274,7 +3305,7 @@ large files stored at remote locations.
 @html
 <a name="rtn"></a> <!-- http://nco.sf.net/nco.html#rtn -->
 @end html
- at node Retaining Retrieved Files, Selecting Output File Format, Remote storage, Common features
+ at node Retaining Retrieved Files, File Formats and Conversion, Remote storage, Common features
 @section Retaining Retrieved Files
 @cindex file deletion
 @cindex file removal
@@ -3348,8 +3379,8 @@ when your other preferred methods are not available locally.
 <a name="64bit"></a> <!-- http://nco.sf.net/nco.html#64bit -->
 <a name="netcdf4"></a> <!-- http://nco.sf.net/nco.html#netcdf4 -->
 @end html
- at node Selecting Output File Format, Large File Support, Retaining Retrieved Files, Common features
- at section Selecting Output File Format
+ at node File Formats and Conversion, Large File Support, Retaining Retrieved Files, Common features
+ at section File Formats and Conversion
 @cindex @acronym{HDF}
 @cindex netCDF2
 @cindex netCDF3
@@ -3389,6 +3420,15 @@ formats.
 these switches so they always write the output netCDF file in the same
 format as the input netCDF file.) 
 
+ at menu
+* File Formats::
+* Determining File Format::
+* File Conversion::
+* Autoconversion::
+ at end menu
+
+ at node File Formats, Determining File Format, File Formats and Conversion, File Formats and Conversion
+ at subsection File Formats
 netCDF supports four types of files: @code{CLASSIC}, @code{64BIT},
 @code{NETCDF4}, and @code{NETCDF4_CLASSIC}, 
 The @code{CLASSIC} format is the traditional 32-bit offset written by
@@ -3405,19 +3445,19 @@ The @code{NETCDF4_CLASSIC} format refers to netCDF4 files created with
 the @code{NC_CLASSIC_MODEL} mask.
 Such files use @acronym{HDF5} as the back-end storage format (unlike
 netCDF3), though they incorporate only netCDF3 features.
-Hence @code{NETCDF4_CLASSIC} files are perfectly readable by
-applications which use only the netCDF3 @acronym{API}.
+Hence @code{NETCDF4_CLASSIC} files are entirely readable by applications 
+that use only the netCDF3 @acronym{API} (though the applications must be
+linked with the netCDF4 library).
 @acronym{NCO} must be built with @w{netCDF4} to write files in the new
 @code{NETCDF4} and @code{NETCDF4_CLASSIC} formats, and to read files in
 these formats. 
-Datasets in the default @code{CLASSIC} or the newer @code{64BIT} formats
+Datasets in the default @code{CLASSIC} or the newer @code{64BIT} formats 
 have maximum backwards-compatibility with older applications. 
- at acronym{NCO} has deep support for @code{NETCDF4} formats, yet many
-applications do not. 
+ at acronym{NCO} has deep support for @code{NETCDF4} formats.
 If performance or disk-space as important as backwards compatibility,
 then use @code{NETCDF4_CLASSIC} instead of @code{CLASSIC} format files. 
 As of 2014, @acronym{NCO} support for the @code{NETCDF4} format is
-complete and the most powerful and disk/@acronym{RAM} efficient
+nearly complete and the most powerful and disk/@acronym{RAM} efficient 
 workflows will utilize this format.
 
 As mentioned above, all operators write use the input file format for
@@ -3445,35 +3485,6 @@ Operators given the @samp{-3} (or @samp{--3}) switch without arguments
 will (attempt to) produce netCDF3 @code{CLASSIC} output, even from
 netCDF4 input files.  
 
- at html
-<a name="3to4"></a> <!-- http://nco.sf.net/nco.html#3to4 -->
-<a name="4to3"></a> <!-- http://nco.sf.net/nco.html#4to3 -->
- at end html
-These examples demonstrate converting a file from any netCDF format
-into any other netCDF format (subject to limits of the format): 
- at example
-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
-ncks --fl_fmt=netcdf4 in.nc foo_4.nc # netCDF4 
-ncks -3 in.nc foo_3c.nc # netCDF3 classic
-ncks --3 in.nc foo_3c.nc # netCDF3 classic
-ncks -6 in.nc foo_364.nc # netCDF3 64bit
-ncks --64 in.nc foo_364.nc # netCDF3 64bit
-ncks -4 in.nc foo_4.nc # netCDF4 
-ncks --4 in.nc foo_4.nc # netCDF4 
-ncks -7 in.nc foo_4c.nc # netCDF4 classic
-ncks --7 in.nc foo_4c.nc # netCDF4 classic
- at end example
-Of course since most operators support these switches, the
-``conversions'' can be done at the output stage of arithmetic
-or metadata processing rather than requiring a separate step.
-Producing (netCDF3) @code{CLASSIC} or @code{64BIT} files from
- at code{NETCDF4_CLASSIC} files will always work. 
-However, producing netCDF3 files from @code{NETCDF4} files will only
-work if the output files are not required to contain netCDF4-specific
-features.
-
 Note that @code{NETCDF4} and @code{NETCDF4_CLASSIC} are the same
 binary format. 
 The latter simply causes a writing application to fail if it attempts to 
@@ -3481,21 +3492,24 @@ write a @code{NETCDF4} file that cannot be completely read by the
 netCDF3 library. 
 Conversely, @code{NETCDF4_CLASSIC} indicates to a reading application
 that all of the file contents are readable with the netCDF3 library. 
-As of October, 2005, @acronym{NCO} writes no netCDF4-specific data
-structures and so always succeeds at writing @code{NETCDF4_CLASSIC}  
-files.
+ at acronym{NCO} has supported reading/writing basic @code{NETCDF4} and
+ at code{NETCDF4_CLASSIC} files since October, 2005.
 
 @html
 <a name="fmt_inq"></a> <!-- http://nco.sf.net/nco.html#fmt_inq -->
 @end html
-There are at least three ways to discover the format of a netCDF file,
-i.e., whether it is a classic (32-bit offset) or newer 64-bit offset
-netCDF3 format, or is netCDF4 format. 
+ at node Determining File Format, File Conversion, File Formats, File Formats and Conversion
+ at subsection Determining File Format
+Input files often end with the generic @code{.nc} suffix that leaves
+(perhaps by intention) the internal file format ambiguous.
+There are at least three ways to discover the internal format of a
+netCDF-supported file.
+These methods determine whether it is a classic (32-bit offset) or newer
+64-bit offset netCDF3 format, or is a netCDF4 format. 
 Each method returns the information using slightly different terminology 
 that becomes easier to understand with practice.
 
-First, examine the end of the first line of global metadata output by
- at samp{ncks -M}: 
+First, examine the first line of global metadata output by @samp{ncks -M}:  
 @cindex netCDF3 classic file format
 @cindex netCDF4 classic file format
 @cindex netCDF4 file format
@@ -3505,25 +3519,56 @@ First, examine the end of the first line of global metadata output by
 @cindex @code{-M}
 @example
 % ncks -M foo_3c.nc
-Opened file foo_3c.nc: dimensions = 23, variables = 296, 
-global atts. = 5, type = NC_FORMAT_CLASSIC 
+Summary of foo_3c.nc: filetype = NC_FORMAT_CLASSIC, 0 groups ...
 % ncks -M foo_364.nc
-Opened file foo_364.nc: dimensions = 23, variables = 296, 
-global atts. = 5, type = NC_FORMAT_64BIT
+Summary of foo_364.nc: filetype = NC_FORMAT_64BIT, 0 groups ...
 % ncks -M foo_4c.nc
-Opened file foo_4c.nc: dimensions = 23, variables = 296, 
-global atts. = 5, type = NC_FORMAT_NETCDF4_CLASSIC
+Summary of foo_4c.nc: filetype = NC_FORMAT_NETCDF4_CLASSIC, 0 groups ...
 % ncks -M foo_4.nc
-Opened file foo_4.nc: dimensions = 23, variables = 296, 
-global atts. = 5, type = NC_FORMAT_NETCDF4
+Summary of foo_4.nc: filetype = NC_FORMAT_NETCDF4, 0 groups ...
 @end example
 This method requires a netCDF4-enabled @acronym{NCO} version 3.9.0+
 (i.e., from 2007 or later).
+ at cindex extended file format
+ at cindex underlying file format
+ at cindex @code{NC_FORMAT_NC3}
+ at cindex @code{NC_FORMAT_NC_HDF5}
+ at cindex @code{NC_FORMAT_NC_HDF4}
+ at cindex @code{NC_FORMAT_PNETCDF}
+ at cindex @code{NC_FORMAT_DAP2}
+ at cindex @code{NC_FORMAT_DAP4}
+As of @acronym{NCO} version 4.4.0 (January, 2014), @command{ncks} will
+also print the extended or underlying format of the input file.
+The extended filetype will be one of the six underlying formats that
+are accessible through the netCDF @acronym{API}.
+These formats are
+ at code{NC_FORMAT_NC3} (classic and 64-bit versions of netCDF3 formats),
+ at code{NC_FORMAT_NC_HDF5} (classic and extended versions of netCDF4, and
+``pure'' HDF5 format),
+ at code{NC_FORMAT_NC_HDF4} (HDF4 format),
+ at code{NC_FORMAT_PNETCDF} (PnetCDF format),
+ at code{NC_FORMAT_DAP2} (accessed via DAP2 protocol), and
+ at code{NC_FORMAT_DAP4} (accessed via DAP2 protocol).
+For example,
+ at example
+% ncks -D 2 -M hdf.hdf
+Summary of hdf.hdf: filetype = NC_FORMAT_NETCDF4 (representation of \
+  extended/underlying filetype NC_FORMAT_HDF4), 0 groups ...
+% ncks -D 2 -M http://thredds-test.ucar.edu/thredds/dodsC/testdods/in.nc
+Summary of http://thredds-test.ucar.edu/thredds/dodsC/testdods/in.nc: \
+  filetype = NC_FORMAT_CLASSIC (representation of extended/underlying \
+  filetype NC_FORMAT_DAP2), 0 groups  
+% ncks -D 2 -M foo_4.nc
+Summary of foo_4.nc: filetype = NC_FORMAT_NETCDF4 (representation of \
+  extended/underlying filetype NC_FORMAT_HDF5), 0 groups  
+ at end example
+The extended filetype determines some of the capabilities that netCDF
+has to alter the file.
 
 Second, query the file with @samp{ncdump -k}:
 @cindex @command{ncdump} 
 @example
-% ncdump -k foo_3.nc
+% ncdump -k foo_3c.nc
 classic
 % ncdump -k foo_364.nc
 64-bit-offset
@@ -3552,12 +3597,145 @@ command:
 This option works without @acronym{NCO} and @command{ncdump}.
 Values of @samp{C D F 001} and @samp{C D F 002} indicate 32-bit
 (classic) and 64-bit netCDF3 formats, respectively, while values of
- at samp{211 H D F} indicate the newer netCDF4 file format.
+ at samp{211 H D F} indicate either of the newer netCDF4 file formats.
+
+ at html
+<a name="hdf2nc"></a> <!-- http://nco.sf.net/nco.html#hdf2nc -->
+<a name="3to4"></a> <!-- http://nco.sf.net/nco.html#3to4 -->
+<a name="4to3"></a> <!-- http://nco.sf.net/nco.html#4to3 -->
+ at end html
+ at node File Conversion, Autoconversion, Determining File Format, File Formats and Conversion
+ at subsection File Conversion
+Let us demonstrate converting a file from any netCDF-supported
+input format into any netCDF output format (subject to limits of the
+output format).  
+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 example
+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
+ncks --fl_fmt=netcdf4 in.nc foo_4.nc # netCDF4 
+ncks -3 in.nc foo_3c.nc # netCDF3 classic
+ncks --3 in.nc foo_3c.nc # netCDF3 classic
+ncks -6 in.nc foo_364.nc # netCDF3 64bit
+ncks --64 in.nc foo_364.nc # netCDF3 64bit
+ncks -4 in.nc foo_4.nc # netCDF4 
+ncks --4 in.nc foo_4.nc # netCDF4 
+ncks -7 in.nc foo_4c.nc # netCDF4 classic
+ncks --7 in.nc foo_4c.nc # netCDF4 classic
+ at end example
+Of course since most operators support these switches, the
+``conversions'' can be done at the output stage of arithmetic
+or metadata processing rather than requiring a separate step.
+Producing (netCDF3) @code{CLASSIC} or @code{64BIT} files from
+ at code{NETCDF4_CLASSIC} files will always work. 
+
+ at html
+<a name="autoconversion"></a> <!-- http://nco.sf.net/nco.html#autoconversion -->
+<a name="autocnv"></a> <!-- http://nco.sf.net/nco.html#autocnv -->
+ at end html
+ at node Autoconversion,  , File Conversion, File Formats and Conversion
+ at subsection Autoconversion
+Because of the dearth of support for netCDF4 amongst tools and user
+communities (including the @acronym{CF} conventions), it is often useful
+to convert netCDF4 to netCDF3 for certain applications.
+Until @acronym{NCO} version 4.4.0 (January, 2014), producing netCDF3
+files from netCDF4 files only worked if the input files contained no 
+netCDF4-specific features (e.g., atomic types, multiple record
+dimensions, or groups). 
+As of @acronym{NCO} version 4.4.0, @command{ncks} supports
+ at dfn{autoconversion} of many netCDF4 features to their closest
+netCDF3-compatible representations.
+Since converting netCDF4 to netCDF3 results in loss of features, 
+``automatic down-conversion'' may be a more precise description of what  
+we term autoconversion.
+
+ at acronym{NCO} employs three algorithms to downconvert netCDF4 to netCDF3:
+ at enumerate
+ at item 
+ at cindex autoconversion
+Autoconversion of atomic types:
+Autoconversion automatically promotes @code{NC_UBYTE} to @code{NC_SHORT}, 
+and @code{NC_USHORT} to @code{NC_INT}.
+It automatically demotes the three types @code{NC_UINT},
+ at code{NC_UINT64}, and @code{NC_INT64} to @code{NC_INT}. 
+And it converts @code{NC_STRING} to @code{NC_CHAR}.
+All numeric conversions work for attributes and variables of any rank.
+Two numeric types (@code{NC_UBYTE} and @code{NC_USHORT}) are
+ at emph{promoted} to types with greater range (and greater storage). 
+This extra range is often not used so promotion perhaps conveys
+the wrong impression.
+However, promotion never truncates values or loses data (this perhaps
+justifies the extra storage).
+Three numeric types (@code{NC_UINT}, @code{NC_UINT64} and
+ at code{NC_INT64}) are @emph{demoted}.
+Since the input range is larger than the output range, demotion can
+result in numeric truncation and thus loss of data. 
+In such cases, it would possible to convert the data to floating point
+values instead. 
+If this feature interests you, please be the squeaky wheel and let us
+know.
+
+String conversions (to @code{NC_CHAR}) work for all attributes, but
+not for variables.
+This is because attributes are at most one-dimensional and may be of any
+size whereas variables require gridded dimensions that usually do not
+fit the ragged sizes of text strings.
+Hence scalar @code{NC_STRING} attributes are correctly converted to and
+stored as @code{NC_CHAR} attributes in the netCDF3 output file, but
+ at code{NC_STRING} variables are not correctly converted. 
+If this limitation annoys or enrages you, please let us know by being
+the squeaky wheel.
+
+ at item
+ at cindex @code{--fix_rec_dmn all}
+Convert multiple record dimensions to fixed-size dimensions.
+Many netCDF4 and @acronym{HDF5} datasets have multiple unlimited
+dimensions.
+Since a netCDF3 file may have at most one unlimited dimension, all but
+possibly one unlimited dimension from the input file must be converted
+to fixed-length dimensions prior to storing netCDF4 input as netCDF3
+output.
+By invoking @code{--fix_rec_dmn all} the user ensures the output file
+will adhere to netCDF3 conventions and the user need not know the names
+of the specific record dimensions to fix.
+See @ref{ncks netCDF Kitchen Sink} for a description of the
+ at samp{--fix_rec_dmn} option. 
+
+ at item
+ at cindex flattening
+Flattening (removal) of groups.
+Many netCDF4 and @acronym{HDF5} datasets have group hierarchies.
+Since a netCDF3 file may not have any groups, groups in the input file
+must be removed.
+This is also called ``flattening'' the hierarchical file.
+See @ref{Group Path Editing} for a description of the @acronym{GPE}
+option @samp{-G :} to flatten files.
+ at end enumerate
+
+Putting the three algorithms together, one sees that the recipe to 
+convert netCDF4 to netCDF4 becomes increasingly complex as the netCDF4
+features in the input file become more elaborate:
+ at example
+# Convert file with netCDF4 atomic types
+ncks -3 in.nc4 out.nc3
+# Convert file with multiple record dimensions + netCDF4 atomic types
+ncks -3 --fix_rec_dmn=all in.nc4 out.nc3
+# Convert file with groups, multiple record dimensions + netCDF4 atomic types
+ncks -3 -G : --fix_rec_dmn=all in.nc4 out.nc3
+ at end example
+Future versions of @acronym{NCO} may automatically invoke the record
+dimension fixation and group flattening when converting to netCDF3
+(rather than requiring it be specified manually).
+If this feature would interest you, please let us know.
 
 @html
 <a name="lfs"></a> <!-- http://nco.sf.net/nco.html#lfs -->
 @end html
- at node Large File Support, Subsetting Files, Selecting Output File Format, Common features
+ at node Large File Support, Subsetting Files, File Formats and Conversion, Common features
 @section Large File Support
 @cindex LFS
 @cindex Large File Support
@@ -3577,9 +3755,9 @@ We recommend that users ignore 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
-applications (such as @acronym{NCO}) which now support 64-bit files   
+applications (such as @acronym{NCO}) that now support 64-bit files   
 directly through the netCDF interface.
-See @ref{Selecting Output File Format} for instructions on accessing 
+See @ref{File Formats and Conversion} for instructions on accessing 
 the different file formats, including 64-bit files, supported by the
 modern netCDF interface. 
 
@@ -3797,7 +3975,7 @@ from any group named @file{g1} or descendent @file{g1}.
 The second command extracts @file{v1} from any root group
 named @file{g1} and any descendent groups as well.
 The third and fourth commands are equivalent ways of extracting
- at file{v1} only from the root group named @file{g1} (but not its
+ at file{v1} only from the root group named @file{g1} (not its
 descendents). 
 The fifth and sixth commands are equivalent ways of extracting the 
 variable @file{v1} only from the root group named @file{g1}.
@@ -4080,18 +4258,23 @@ Hence, @samp{-G :-1} is the same as @samp{-G @@1}.
 This is simply a way of making the @var{lvl_nbr} argument
 positive-definite. 
 
+ at html
+<a name="flatten"></a> <!-- http://nco.sf.net/nco.html#flatten -->
+<a name="delete"></a> <!-- http://nco.sf.net/nco.html#delete -->
+<a name="truncate"></a> <!-- http://nco.sf.net/nco.html#truncate -->
+ at end html
 @cindex @code{@@} (separator character)
 @cindex @code{:} (separator character)
- at cindex deletion (groups)
- at cindex truncation (groups)
- at cindex flattening (groups)
- at acronym{GPE} has three editing modes: Deletion, Truncation, and
-Flattening.
+ at cindex delete (groups)
+ at cindex truncate (groups)
+ at cindex flatten (groups)
+ at acronym{GPE} has three editing modes: Delete, Truncate, and
+Flatten.
 Select one of @acronym{GPE}'s three editing modes by supplying a
- at var{lvl_nbr} that is positive, negative, or zero for Deletion-, 
-Truncation- and Flattening-mode, respectively. 
+ at var{lvl_nbr} that is positive, negative, or zero for Delete-, 
+Truncate- and Flatten-mode, respectively. 
 
-In Deletion-mode, @var{lvl_nbr} is a positive integer which specifies
+In Delete-mode, @var{lvl_nbr} is a positive integer which specifies
 the maximum number of group path components (i.e., groups) that
 @acronym{GPE} will try to delete from the head of @var{grp_pth}. 
 For example @math{@var{lvl_nbr} = 3} changes the input path
@@ -4105,7 +4288,7 @@ components to delete.
 It deletes as many as possible, without complaint, and then begins to
 flatten the file (which will fail if namespace conflicts arise).
 
-In Truncation-mode, @var{lvl_nbr} is a negative integer which specifies
+In Truncate-mode, @var{lvl_nbr} is a negative integer which specifies
 the maximum number of group path components (i.e., groups) that
 @acronym{GPE} will try to truncate from the tail of @var{grp_pth}. 
 For example @math{@var{lvl_nbr} = -3} changes the input path
@@ -4114,7 +4297,7 @@ Input paths with @var{lvl_nbr} or fewer components (groups)
 are completely erased and the output path commences from the root  
 level. 
 
-In Flattening-mode, indicated by the separator character alone
+In Flatten-mode, indicated by the separator character alone
 or with @math{@var{lvl_nbr} = 0}, @acronym{GPE} removes the entire group
 path from the input file and constructs the output path beginning at the
 root level.  
@@ -4124,8 +4307,8 @@ input path @file{/g1/g2/g3/g4/g5} to the output path @file{/} whereas
 path @file{/g1} for all variables.
 
 Subsequent to the alteration of the input path by the specified
-editing mode, if any, @acronym{GPE} prepends (in Deletion Mode)
-or Appends (in Truncation-mode) any specifed @var{grp_pth} to the output
+editing mode, if any, @acronym{GPE} prepends (in Delete Mode)
+or Appends (in Truncate-mode) any specifed @var{grp_pth} to the output
 path. 
 For example @code{-G g2} changes the input paths @file{/} and @file{/g1}
 to @file{/g2} and @file{/g1/g2}, respectively.
@@ -4156,7 +4339,7 @@ ncks -G o1       -v v1 # /g?/v1 -> /o1/g?/v1
 ncks -G o1 -g g1 -v v1 # /g1/v1 -> /o1/g1/v1
 ncks -G g1 -g /  -v v1 # /v1    -> /g1/v1
 ncks -G g1/g2    -v v1 # /g?/v1 -> /g1/g2/g?/v1
-# Deletion-mode: Delete from and Prepend to path head
+# Delete-mode: Delete from and Prepend to path head
 # Syntax: -G [ppn]:lvl_nbr = # of levels to delete
 ncks -G :1    -g g1    -v v1 # /g1/v1    -> /v1
 ncks -G :1    -g g1/g1 -v v1 # /g1/g1/v1 -> /g1/v1
@@ -4167,7 +4350,7 @@ ncks -G g2:2  -g g1/g1 -v v1 # /g1/g1/v1 -> /g2/v1
 ncks -G g2:1  -g /     -v v1 # /v1       -> /g2/v1
 ncks -G g2:1           -v v1 # /v1       -> /g2/v1
 ncks -G g2:1  -g g1/g1 -v v1 # /g1/g1/v1 -> /g2/g1/v1
-# Flattening-mode: Remove all input path components
+# Flatten-mode: Remove all input path components
 # Syntax: -G [apn]: colon without numerical argument
 ncks -G :            -v v1 # /g?/v1    -> /v1
 ncks -G :   -g g1    -v v1 # /g1/v1    -> /v1
@@ -4175,7 +4358,7 @@ ncks -G :   -g g1/g1 -v v1 # /g1/g1/v1 -> /v1
 ncks -G g2:          -v v1 # /g?/v1    -> /g2/v1
 ncks -G g2:                # /g?/v?    -> /g2/v?
 ncks -G g2: -g g1/g1 -v v1 # /g1/g1/v1 -> /g2/v1
-# Truncation-mode: Truncate from and Append to path tail
+# Truncate-mode: Truncate from and Append to path tail
 # Syntax: -G [apn]:-lvl_nbr = # of levels to truncate
 # NB: -G [apn]:-lvl_nbr is equivalent to -G [apn]@@lvl_nbr
 ncks -G :-1   -g g1    -v v1 # /g1/v1    -> /v1
@@ -4187,21 +4370,28 @@ ncks -G g2:-1 -g g1    -v v1 # /g1/v1    -> /g2/v1
 ncks -G g1:-1 -g g1/g2 -v v1 # /g1/g2/v1 -> /g1/g1/v1
 @end example
 
+ at html
+<a name="mv"></a> <!-- http://nco.sf.net/nco.html#mv -->
+<a name="move"></a> <!-- http://nco.sf.net/nco.html#move -->
+ at end html
 @cindex move groups
 @cindex groups, moving
 @cindex rename groups
 @cindex groups, renaming
-Until fall 2013 (netCDF version 4.3.1), netCDF contained no library
-function for renaming groups. 
- at acronym{NCO} built on earlier versions of netCDF than 4.3.1 therefore
-provides a workaround mechanism that utilizes @acronym{GPE} to rename
-groups.
-The @acronym{GPE} mechanism used is actually to move groups, a more
-arduous procedure than renaming.
+Until fall 2013 (netCDF version 4.3.1-pre1), netCDF contained no library
+function for renaming groups, and therefore @command{ncrename} cannot
+rename groups.
+However, @acronym{NCO} built on earlier versions of netCDF than 4.3.1
+can use a @acronym{GPE}-based workaround mechanism to ``rename''
+groups. 
+The @acronym{GPE} mechanism actually @emph{moves} (i.e., copies to a new
+location) groups, a more arduous procedure than simply renaming them.
 @acronym{GPE} applies to all selected groups, so, in the general case,
 one must move only the desired group to a new file, and then merge that
 new file with the original to obtain a file where the desired group has
 been ``renamed'' and all else is unchanged.
+Here is how to ``rename'' group @file{/g4} to group @file{/f4} with
+ at acronym{GPE} instead of @command{ncrename}
 @example
 ncks -O -G f4:1 -g g4 ~/nco/data/in_grp.nc ~/tmp.nc # Move /g4 to /f4
 ncks -O -x -g g4 ~/nco/data/in_grp.nc ~/out.nc # Excise /g4
@@ -4226,14 +4416,14 @@ possible storage structure.
 @example
 ncks -O -G : -g cesm -3 ~/nco/data/cmip5.nc ~/cesm.nc # Extract /cesm to /
 @end example
-The @option{-3} switch 
+The @option{-3} switch
 @footnote{Note that the @option{-3} switch should appear @emph{after} the
 @option{-G} and @option{-g} switches. 
 This is due to an artifact of the @acronym{GPE} implementation which we
-will hopefully remove in the future.}
+wish to remove in the future.}
 specifies the output dataset should be in netCDF3
-format, the @option{-G :} switch flattens all extracted groups, and the
- at option{-g cesm} switch extracts only the @code{cesm} group and leaves
+format, the @option{-G :} option flattens all extracted groups, and the
+ at option{-g cesm} option extracts only the @code{cesm} group and leaves
 all other groups (e.g., @code{ecmwf}, @code{giss}).
 
 @html
@@ -4246,27 +4436,28 @@ all other groups (e.g., @code{ecmwf}, @code{giss}).
 @findex ncdismember
 Let us show how to completely disaggregate (or, more memorably)
 @emph{dismember} a hierarchical dataset.
-For now we take this to mean: store each lowest-level group, aka 
-leaf-group, as a standalone flat dataset in netCDF3 format. 
+For now we take this to mean: store each group as a standalone flat
+dataset in netCDF3 format.
 This can be accomplished by looping the previous example over all
-leaf-groups. 
-This script @file{ncdismember} dismembers the input file @var{fl_in} 
-specified in the first argument @var{fl_in} and places the resulting
-files in the directory @var{drc_out} specified by the second argument
+groups. 
+This script @file{ncdismember} dismembers the input file @var{fl_in}
+specified in the first argument and places the resulting files in the
+directory @var{drc_out} specified by the second argument:
 @example
 @verbatim
 cat > ~/ncdismember << 'EOF'
 # Purpose: Dismember netCDF4/HDF5 hierarchical files. CF-check them.
-# Place each leaf group of input file in separate netCDF3 output file
+# Place each input file group in separate netCDF3 output file
 # Described in NCO User Guide at http://nco.sf.net/nco.html#dismember
-# Requirements: NCO 4.3.x, UNIX shell utilities grep, cut, sed, sort
+# Requirements: NCO 4.3.x+, UNIX shell utilities awk, grep, sed
 # Optional: CFchecker command https://bitbucket.org/mde_/cfchecker
 
 # Usage:
-# ncdismember <fl_in> <drc_out> [flg_cf] [cf_vrs]
+# ncdismember <fl_in> <drc_out> [flg_cf] [cf_vrs] [opt]
 # where fl_in is input file/URL to dismember, drc_out is output directory,
 # CF-compliance check is performed when optional third argument is 'cf',
-# and optional fourth argument cf_vrs is CF version to check
+# Optional fourth argument cf_vrs is CF version to check
+# Optional fifth argument opt passes straight through to ncks
 # chmod a+x ~/sh/ncdismember
 # ncdismember ~/nco/data/mdl.nc /data/zender/nco/tmp
 # ncdismember ~/nco/data/mdl.nc /data/zender/nco/tmp
@@ -4274,66 +4465,82 @@ cat > ~/ncdismember << 'EOF'
 # ncdismember http://thredds-test.ucar.edu/thredds/dodsC/testdods/foo.nc /data/zender/nco/tmp
 # ncdismember ~/nco/data/mdl.nc /data/zender/nco/tmp cf
 # ncdismember ~/nco/data/mdl.nc /data/zender/nco/tmp cf 1.3
+# ncdismember ~/nco/data/mdl.nc /data/zender/nco/tmp cf 1.5 --fix_rec_dmn=all
 
 # Command line argument defaults
 fl_in="${HOME}/nco/data/mdl.nc" # [sng] Input file to dismember/check
 drc_out="${DATA}/nco/tmp" # [sng] Output directory
 flg_cf='0' # [flg] Perform CF-compliance check
-cf_vrs='auto' # [sng] Perform compliance-check on this CF version (e.g., '1.1')
+cf_vrs='1.5' # [sng] Compliance-check this CF version (e.g., '1.5')
+opt='' # [flg] Additional ncks options (e.g., '--fix_rec_dmn=all')
 
 # Command line argument option parsing
-if [ -n "${1}" ]; then
-    fl_in=${1}
-fi # !$1
-if [ -n "${2}" ]; then
-    drc_out=${2}
-fi # !$2
-if [ -n "${3}" ]; then
-    flg_cf=${3}
-fi # !$3
-if [ -n "${4}" ]; then
-    cf_vrs=${4}
-fi # !$4
-
+if [ -n "${1}" ]; then fl_in=${1}; fi
+if [ -n "${2}" ]; then drc_out=${2}; fi
+if [ -n "${3}" ]; then flg_cf=${3}; fi
+if [ -n "${4}" ]; then cf_vrs=${4}; fi
+if [ -n "${5}" ]; then opt=${5}; fi
+
+# Prepare output directory
+echo "NCO dismembering file ${fl_in}"
+fl_stb=$(basename ${fl_in})
+drc_out=${drc_out}/${fl_stb}
 mkdir -p ${drc_out}
 cd ${drc_out}
-
-grp_lf=`ncks --get_grp_info ${fl_in} | grep '0 subgroups' | cut -f 1 -d ' ' | sed 's/://' | sort`
-echo "Dismembering file ${fl_in} into following files:"
-for grp_in in ${grp_lf} ; do
+# Obtain group list
+grp_lst=`ncks --cdl -m ${fl_in} | grep '// group' | awk '{$1=$2=$3="";sub(/^  */,"",$0);print}'`
+IFS=$'\n' # Change Internal-Field-Separator from <Space><Tab><Newline> to <Newline>
+for grp_in in ${grp_lst} ; do
+    # Replace slashes by dots for output group filenames
     grp_out=`echo ${grp_in} | sed 's/\///' | sed 's/\//./g'`
-    echo "${drc_out}/${grp_out}.nc"
-    ncks -O -G : -g ${grp_in} -3 ${fl_in} ${drc_out}/${grp_out}.nc
+    if [ "${grp_out}" = '' ]; then grp_out='root' ; fi
+    # Tell older NCO/netCDF if HDF4 with --hdf4 switch (signified by .hdf/.HDF suffix)
+    hdf4=`echo ${fl_in} | awk '{if(match(tolower($1),".hdf$")) hdf4="--hdf4"; print hdf4}'`
+    # Flatten to netCDF3, anchor, no history, no temporary file, padding, HDF4 flag, options
+    ncks -O -3 -G : -g ${grp_in}/ -h --no_tmp_fl --hdr_pad=40 ${hdf4} ${opt} ${fl_in} ${drc_out}/${grp_out}.nc
     if [ ${flg_cf} = 'cf' ]; then
-       cfchecker -c ${cf_vrs} ${drc_out}/${grp_out}.nc
+       # cfchecker needs Conventions <= 1.5
+       ncatted -h -a Conventions,global,o,c,"CF-${cf_vrs}" ${drc_out}/${grp_out}.nc
+    else # !flg_cf
+       echo ${drc_out}/${grp_out}.nc
     fi # !flg_cf
 done
+if [ ${flg_cf} = 'cf' ]; then
+    echo "CFchecker reports CF-compliance of each group in flat netCDF3 format"
+    cfchecker -c ${cf_vrs} *.nc
+fi # !flg_cf
 EOF
 chmod 755 ~/ncdismember # Make command executable
 /bin/mv -f ~/ncdismember ~/sh # Store in location on $PATH, e.g., /usr/local/bin
 
-zender at roulee:~$ ncdismember ~/nco/data/mdl.nc /data/zender/nco/tmp
-Dismembering file /home/zender/nco/data/mdl.nc into following files:
-/data/zender/nco/tmp/cesm.cesm_01.nc
-/data/zender/nco/tmp/cesm.cesm_02.nc
-/data/zender/nco/tmp/ecmwf.ecmwf_01.nc
-/data/zender/nco/tmp/ecmwf.ecmwf_02.nc
+zender at roulee:~$ ncdismember ~/nco/data/mdl.nc ${DATA}/nco/tmp
+NCO dismembering file /home/zender/nco/data/mdl.nc
+/data/zender/nco/tmp/mdl.nc/cesm.cesm_01.nc
+/data/zender/nco/tmp/mdl.nc/cesm.cesm_02.nc
+/data/zender/nco/tmp/mdl.nc/cesm.nc
+/data/zender/nco/tmp/mdl.nc/ecmwf.ecmwf_01.nc
+/data/zender/nco/tmp/mdl.nc/ecmwf.ecmwf_02.nc
+/data/zender/nco/tmp/mdl.nc/ecmwf.nc
+/data/zender/nco/tmp/mdl.nc/root.nc
 @end verbatim
 @end example
-An operator could be written to dismember all groups with a single
-invocation, but the point is dismembering without loss of information 
-is possible now with this simple script.
+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.
 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
 groups, including the global metadata from the input file.
-As written, the script fails on groups that contain netCDF4 features
-because the user requests (with the @samp{-3} option) that output be
-netCDF3 classic format.  
-Naturally groups containing netCDF4-only atomic-types (such as
- at code{NC_STRING} and @code{NC_UINT64}) should be dismembered into flat
-netCDF4 files, not flat netCDF3 files (compliance-checkers may complain
-about netCDF4 filetypes, atomic types, or both).
+As written, the script could fail on groups that contain advanced
+netCDF4 features because the user requests (with the @samp{-3} switch)
+that output be netCDF3 classic format.  
+However, @command{ncks} detects many format incompatibilities in advance
+and works around them.
+For example, @command{ncks} autoconverts netCDF4-only atomic-types (such
+as @code{NC_STRING} and @code{NC_UBYTE}) to corresponding netCDF3
+atomic types (@code{NC_CHAR} and @code{NC_SHORT}) when the output format
+is netCDF3. 
 
 @cindex @acronym{CF} compliance checker
 @findex cfchecker
@@ -4353,21 +4560,21 @@ Forschungszentrum J@"ulich and distributed at
 @example
 @verbatim
 zender at roulee:~$ ncdismember ~/nco/data/mdl.nc /data/zender/nco/tmp cf
-Dismembering file /home/zender/nco/data/mdl.nc into following files:
-/data/zender/nco/tmp/cesm.cesm_01.nc
+NCO dismembering file /home/zender/nco/data/mdl.nc
+CFchecker reports CF-compliance of each group in flat netCDF3 format
 WARNING: Using the default (non-CF) Udunits database
-/data/zender/nco/tmp/cesm.cesm_01.nc: 
-INFO: INIT:	running CFchecker version 1.5.15
-INFO: INIT:	checking compliance with convention CF-1.5
-INFO: INIT:	using standard name table version: 25, last modified: 2013-07-05T05:40:30Z
-INFO: INIT:	using area type table version: 2, date: 10 July 2013
-INFO: 2.4:	no axis information found in dimension variables, not checking dimension order
-WARNING: 3:	variable "tas" contains neither long_name nor standard_name attribute
-INFO: 3.1:	variable "tas" does not contain units attribute
+cesm.cesm_01.nc: 
+INFO: INIT:     running CFchecker version 1.5.15
+INFO: INIT:     checking compliance with convention CF-1.5
+INFO: INIT:     using standard name table version: 25, last modified: 2013-07-05T05:40:30Z
+INFO: INIT:     using area type table version: 2, date: 10 July 2013
+INFO: 2.4:      no axis information found in dimension variables, not checking dimension order
+WARNING: 3:     variable "tas1" contains neither long_name nor standard_name attribute
+WARNING: 3:     variable "tas2" contains neither long_name nor standard_name attribute
+INFO: 3.1:      variable "tas1" does not contain units attribute
+INFO: 3.1:      variable "tas2" does not contain units attribute
 --------------------------------------------------
-total files: 1, OK: 0, with warnings: 1, with errors: 0
-/data/zender/nco/tmp/cesm.cesm_02.nc
-WARNING: Using the default (non-CF) Udunits database
+cesm.cesm_02.nc: 
 ...
 @end verbatim
 @end example
@@ -4376,10 +4583,140 @@ By default the @acronym{CF} version checked is determined automatically by
 The user can override this default by supplying a supported @acronym{CF} version,
 e.g., @samp{1.3}, as an optional fourth argument to
 @command{ncdismember}. 
-Current valid @acronym{CF} versions are @samp{1.0}, @samp{1.1},
+Current valid @acronym{CF} options are @samp{1.0}, @samp{1.1},
 @samp{1.2}, @samp{1.3}, @samp{1.4}, and @samp{1.5}. 
 
 @html
+<a name="diwg"></a> <!-- http://nco.sf.net/nco.html#diwg -->
+ at end html
+Our development and testing of @command{ncdismember} is funded by our
+involvement in @acronym{NASA}'s Dataset Interoperability Working Group 
+(@uref{https://wiki.earthdata.nasa.gov/display/ESDSWG/Dataset+Interoperability+Working+Group,
+DIWG}), though our interest extends beyond @acronym{NASA} datasets.
+Taken together, @acronym{NCO}'s features (autoconversion to netCDF3  
+atomic types, fixing multiple record dimensions, autosensing
+ at acronym{HDF4} input, scoping rules for CF conventions) make 
+ at command{ncdismember} reliable and friendly for both dismembering 
+hierarchical files and for @acronym{CF}-compliance checks. 
+Most @acronym{HDF4} and @acronym{HDF5} datasets can be checked for 
+ at acronym{CF}-compliance with a one-line command. 
+Example compliance checks of common @acronym{NASA} datasets are at
+ at uref{http://dust.ess.uci.edu/diwg}.
+Our long-term goal is to enrich the hierarchical data model with the 
+expressivity and syntactic power of @acronym{CF} conventions.
+
+ at acronym{NASA} asked the @acronym{DIWG} to prepare a one-page summary
+of the procedure necessary to check @acronym{HDF} files for
+ at acronym{CF}-compliance: 
+ at example
+ at verbatim
+cat > ~/ncdismember.txt << 'EOF'
+    Preparing an RPM-based OS to Test Hierarchical Files for CF-Compliance
+
+By Charlie Zender, UCI & NASA Dataset Interoperability Working Group (DIWG)
+
+Installation Summary:
+1. HDF4 [with netCDF support _disabled_]
+2. HDF5
+3. netCDF version 4.3.1 (or later) [with HDF4 support _enabled_]
+4. NCO version 4.4.0 (or later)
+5. numpy
+6. netcdf4-python
+7. python-lxml
+8. CFunits-python
+9. CFChecker
+10. ncdismember
+
+All 10 packages can use default installs _except_ HDF4 and netCDF.
+Following instructions for Fedora Core 20 (FC20), an RPM-based Linux OS
+Feedback and changes for other Linux-based OS's welcome to zender at uci.edu
+${H4DIR}, ${H5DIR}, ${NETCDFDIR}, ${NCODIR}, may all be different
+For simplicity CZ sets them all to /usr/local
+
+# 1. HDF4. Build in non-default manner. Turn-off its own netCDF support.
+# Per http://www.unidata.ucar.edu/software/netcdf/docs/build_hdf4.html
+# HDF4 support not necessary though it makes ncdismember more comprehensive
+wget -c http://www.hdfgroup.org/ftp/HDF/HDF_Current/src/hdf-4.2.9.tar.gz
+tar xvzf hdf-4.2.9.tar.gz
+cd hdf-4.2.9
+./configure --enable-shared --disable-netcdf --disable-fortran --prefix=${H4DIR}
+make && make check && make install
+
+# 2. HDF5. Build normally. RPM may work too. Please let me know if so.
+# HDF5 is a necessary pre-requisite for netCDF4
+wget -c ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4/hdf5-1.8.11.tar.gz
+tar xvzf hdf5-1.8.11.tar.gz
+cd hdf5-1.8.11
+./configure --enable-shared --prefix=${H5DIR}
+make && make check && make install
+
+# 3. netCDF version 4.3.1. Build in non-default manner with HDF4. No RPM.
+# Per http://www.unidata.ucar.edu/software/netcdf/docs/build_hdf4.html
+# Earlier versions of netCDF may fail checking some HDF4 files
+wget -c ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4.3.1.tar.gz
+tar xvzf netcdf-4.3.1.tar.gz
+cd netcdf-4.3.1
+CPPFLAGS="-I${H5DIR}/include -I${H4DIR}/include" \
+LDFLAGS="-L${H5DIR}/lib -L${H4DIR}/lib" \
+./configure --enable-hdf4 --enable-hdf4-file-tests
+make && make check && make installas
+
+# 4. NCO version 4.4.2. No RPM for this version. Must install by hand.
+# Earlier versions of NCO are relatively useless for ncdismember
+cd ${DATA}/tmp
+wget http://nco.sourceforge.net/src/nco-4.4.2.tar.gz .
+tar xvzf nco-4.4.2.tar.gz
+cd nco-4.4.2
+./configure --prefix=${NCODIR}
+make && make install
+
+# 5. numpy
+sudo yum install numpy -y
+
+# 6. netcdf4-python
+sudo yum install netcdf4-python -y
+
+# 7. python-lxml
+sudo yum install python-lxml -y
+
+# 8. CFunits-python. No RPM available. Must install by hand.
+# http://code.google.com/p/cfunits-python/
+cd ${DATA}/tmp
+wget http://cfunits-python.googlecode.com/files/cfunits-0.9.6.tar.gz .
+cd cfunits-0.9.6
+sudo python setup.py install
+
+# 9. CFChecker. No RPM available. Must install by hand.
+# https://bitbucket.org/mde_/cfchecker
+cd ${DATA}/tmp
+wget https://bitbucket.org/mde_/cfchecker/downloads/CFchecker-1.5.15.tar.bz2 . 
+tar xvjf CFchecker-1.5.15.tar.bz2 
+cd CFchecker
+sudo python setup.py install
+
+# 10. ncdismember. Copy script from http://nco.sf.net/nco.html#ncdismember
+# Store dismembered files somewhere, e.g., ${DATA}/nco/tmp/hdf
+mkdir -p ${DATA}/nco/tmp/hdf
+# Many datasets work with a simpler command...
+ncdismember ~/nco/data/in.nc ${DATA}/nco/tmp/hdf cf 1.5
+ncdismember ~/nco/data/mdl.nc ${DATA}/nco/tmp/hdf cf 1.5
+ncdismember ${DATA}/hdf/AMSR_E_L2_Rain_V10_200905312326_A.hdf \
+            ${DATA}/nco/tmp/hdf cf 1.5
+ncdismember ${DATA}/hdf/BUV-Nimbus04_L3zm_v01-00-2012m0203t144121.h5 \
+            ${DATA}/nco/tmp/hdf cf 1.5
+ncdismember ${DATA}/hdf/HIRDLS-Aura_L3ZAD_v06-00-00-c02_2005d022-2008d077.he5 ${DATA}/nco/tmp/hdf cf 1.5
+# Some datasets, typically .h5, require the --fix_rec_dmn=all argument
+ncdismember_${DATA}/hdf/GATMO_npp_d20100906_t1935191_e1935505_b00012_c20110707155932065809_noaa_ops.h5 ${DATA}/nco/tmp/hdf cf 1.5 --fix_rec_dmn=all
+ncdismember ${DATA}/hdf/mabel_l2_20130927t201800_008_1.h5 \
+            ${DATA}/nco/tmp/hdf cf 1.5 --fix_rec_dmn=all
+EOF
+ at end verbatim
+ at end example
+ at c scp ~/ncdismember.pdf dust.ess.uci.edu:/var/www/html/diwg
+A @acronym{PDF} version of these instructions is available
+ at uref{http://dust.ess.uci.edu/diwg/ncdismember.pdf, here}.
+
+ at html
 <a name="ftn"></a> <!-- http://nco.sf.net/nco.html#ftn -->
 <a name="-F"></a> <!-- http://nco.sf.net/nco.html#-F -->
 @end html
@@ -4529,8 +4866,8 @@ 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 but not for
- at var{stride}. 
+Negative integers work for @var{min} and @var{max} indices, though not
+for @var{stride}. 
 @example
 # Last two indices of lon dimension
 ncks -F -d lon,1,-2 in.nc out.nc
@@ -4677,7 +5014,7 @@ ncrcat -F -d time,3,,12 85.nc 86.nc 87.nc 88.nc 89.nc 8503_8903.nc
 <a name="rec_apn"></a> <!-- http://nco.sf.net/nco.html#rec_apn -->
 <a name="record_append"></a> <!-- http://nco.sf.net/nco.html#record_append -->
 @end html
- at node Record Appending, Duration, Stride, Common features
+ at node Record Appending, Subcycle, Stride, Common features
 @section Record Appending
 @cindex record append
 @cindex @code{--rec_apn}
@@ -4691,14 +5028,13 @@ Long options:
 As of version 4.2.6 (March, 2013), @acronym{NCO} allows both
 Multi-File, Multi-Record operators (@command{ncra} and @command{ncrcat})
 to append their output directly to the end of an existing file.
-This feature useful when a target file is to be augmented, rather than
-constructed from scratch. 
-For example, when a timeseries is concatenated from input data that
-becomes available in stages rather than all at once.
-This switch enables an optimization that significantly speeds writing
-in such cases.
-
-Consider the use case where wants to preserve the contents of
+This feature may be used to augment a target file, rather than construct
+it from scratch. 
+This helps, for example, when a timeseries is concatenated from input
+data that becomes available in stages rather than all at once.
+In such cases this switch significantly speeds writing.
+
+Consider the use case where one wishes to preserve the contents of
 @file{fl_1.nc}, and add to them new records contained in
 @file{fl_2.nc}. 
 Previously the output had to be placed in a third file, @file{fl_3.nc}
@@ -4717,14 +5053,21 @@ 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_1.nc} to be appended to the end of the corresponding records in
- at file{fl_2.nc}: 
- at example
-ncrcat --rec_apn fl_1.nc fl_2.nc
- at end example
-The contents of @file{fl_2.nc} are completely preserved, and only
-values in @file{fl_1.nc} are copied. 
-This switch avoids the necessity of copying all of @file{fl_2.nc} 
+ at file{fl_2.nc} to be appended to the end of the corresponding records in
+ at file{fl_1.nc}: 
+ at example
+ncrcat --rec_apn fl_2.nc fl_1.nc
+ at end example
+The ordering of the filename arguments may seem non-intuitive.
+If the record variable represents time in these files, then the
+values in @file{fl_1.nc} precede those in @file{fl_2.nc}, so why
+do the files appear in the reverse order on the command line?
+ at file{fl_1.nc} is the last file named because it is the pre-existing
+output file to which we are appending all of the other input files
+(in this case only @file{fl_2.nc}).
+The contents of @file{fl_1.nc} are completely preserved, and only
+values in @file{fl_2.nc} (and any other input files) are copied. 
+This switch avoids the necessity of copying all of @file{fl_1.nc} 
 through the netCDF interface to a new output file.
 The @samp{--rec_apn} switch automatically puts @acronym{NCO} into 
 append mode (@pxref{Appending Variables}), so specifying @samp{-A} is
@@ -4734,49 +5077,55 @@ By default, NCO works in an intermediate temporary file.
 Power users may combine @samp{--rec_apn} with the @samp{--no_tmp_fl}
 switch (@pxref{Temporary Output Files}):
 @example
-ncrcat --rec_apn --no_tmp_fl fl_1.nc fl_2.nc
+ncrcat --rec_apn --no_tmp_fl fl_2.nc fl_1.nc
 @end example
 This avoids creating an intermediate file, and copies only the
-minimal amount of data (i.e., all of @file{fl_1.nc}). 
+minimal amount of data (i.e., all of @file{fl_2.nc}). 
 Hence, it is fast.
 We recommend users try to understand the safety trade-offs involved. 
 
 @html
+<a name="subcycle"></a> <!-- http://nco.sf.net/nco.html#subcycle -->
+<a name="ssc"></a> <!-- http://nco.sf.net/nco.html#ssc -->
 <a name="duration"></a> <!-- http://nco.sf.net/nco.html#duration -->
 <a name="drn"></a> <!-- http://nco.sf.net/nco.html#drn -->
 <a name="mro"></a> <!-- http://nco.sf.net/nco.html#mro -->
 @end html
- at node Duration, Multislabs, Record Appending, Common features
- at section Duration
+ at node Subcycle, Multislabs, Record Appending, Common features
+ at section Subcycle
 @cindex duration
 @cindex sub-cycle
+ at cindex subcycle
 @cindex MRO
 @cindex Multi-Record Operator
 @cindex @code{--mro}
- at cindex @code{-d @var{dim},[@var{min}],[@var{max}],[@var{stride}],[@var{duration}]}
- at cindex @code{--dimension @var{dim},[@var{min}],[@var{max}],[@var{stride}],[@var{duration}]}
- at cindex @code{--dmn @var{dim},[@var{min}],[@var{max}],[@var{stride}], at var{duration}]}
+ at cindex @code{-d @var{dim},[@var{min}],[@var{max}],[@var{stride}],[@var{subcycle}]}
+ at cindex @code{--dimension @var{dim},[@var{min}],[@var{max}],[@var{stride}],[@var{subcycle}]}
+ at cindex @code{--dmn @var{dim},[@var{min}],[@var{max}],[@var{stride}], at var{subcycle}]}
 @cartouche
 Availability: @command{ncra}, @command{ncrcat}@* 
-Short options: @samp{-d @var{dim},[@var{min}][,[@var{max}][,[@var{stride}][,[@var{duration}]]]]}@*
+Short options: @samp{-d @var{dim},[@var{min}][,[@var{max}][,[@var{stride}][,[@var{subcycle}]]]]}@*
 Long options: 
 @samp{--mro}
- at samp{--dimension @var{dim},[@var{min}][,[@var{max}][,[@var{stride}][,[@var{duration}]]]]}@*
- at samp{--dmn @var{dim},[@var{min}][,[@var{max}][,[@var{stride}][,[@var{duration}]]]]}@*
+ at samp{--dimension @var{dim},[@var{min}][,[@var{max}][,[@var{stride}][,[@var{subcycle}]]]]}@*
+ at samp{--dmn @var{dim},[@var{min}][,[@var{max}][,[@var{stride}][,[@var{subcycle}]]]]}@*
 @end cartouche
 As of version 4.2.1 (August, 2012), @acronym{NCO} allows both Multi-File,
 Multi-Record operators, @command{ncra} and @command{ncrcat}, to extract
 and operate on multiple groups of records. 
-These groups may be physically connected to @emph{sub-cycles} of a
-periodic nature, e.g., seasons of a year.
+These groups may be connected to physical @emph{sub-cycles} of a
+periodic nature, e.g., months of a year, or hours of a day. 
 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 @dfn{duration feature}, sometimes abbreviated DRN.
+For now, we call this the @dfn{subcycle feature}, sometimes abbreviated
+ at acronym{SSC}
+ at footnote{When originally released in 2012 this was called the
+ at dfn{duration feature}, and was abbreviated @acronym{DRN}.}.
 
-The duration feature allows processing of groups of records
+The subcycle feature allows processing of groups of records
 separated by regular intervals of records.
 It is perhaps best illustrated by an extended example which describes
-how to solve the same problem both with and without the DRN feature.
+how to solve the same problem both with and without the @acronym{SSC} feature.
 
 The first task in climate data processing is often creating seasonal
 cycles. 
@@ -4800,28 +5149,32 @@ ncra -O clm06 clm07.nc clm08.nc clm_JJA.nc
 @noindent
 So far, nothing is unusual and this task can be performed by any
 @acronym{NCO} version. 
-The DRN feature makes obsolete the need for the shell loop used in
- at w{Step 1} above. 
+The @acronym{SSC} feature makes obsolete the need for the shell loop
+used in @w{Step 1} above. 
 
-The new DRN option aggregates more than one input record at a time
+The new @acronym{SSC} option aggregates more than one input record at a time
 before performing arithmetic operations, and, with an additional
 switch, allows us to archive those results in multiple record output
 (MRO) files.  
-This reduces the task of producing a the climatological summertime
+This reduces the task of producing the climatological summertime
 mean to one step:
 @example
 # Step 1: Compute climatological summertime mean
 ncra -O -F -d time,6,,12,3 -n 150,4,1 1850.nc clm_JJA.nc
 @end example
 @noindent
-The DRN option instructs @command{ncra} (or @command{ncrcat}) to process 
-files in groups of three records. 
+The @acronym{SSC} option instructs @command{ncra} (or @command{ncrcat})
+to process  files in groups of three records. 
+To better understand the meaning of each argument to the @samp{-d}
+hyperslab option, read it this way: ``for the time dimension start with
+the sixth record, continue without end, repeat the process every twelfth
+record, and define a sub-cycle as three consecutive records''. 
 
 A separate option, @samp{--mro}, instructs @command{ncra} to output 
 its results from each sub-group, and to produce a @dfn{Multi-Record Output}
 (MRO) file rather than a @dfn{Single-Record Output} (SRO) file.
-Unless @samp{--mro} is specified, @command{ncra} collects all the
-sub-groups together, and operates on their ensemble, producing a single
+Unless @samp{--mro} is specified, @command{ncra} collects together all
+the sub-groups, operates on their ensemble, and produces a single
 output record. 
 The addition of @samp{--mro} to the above example causes @command{ncra}
 to archive all (150) annual summertime means to one file:
@@ -4832,9 +5185,9 @@ ncra --mro -O -F -d time,6,,12,3 -n 150,4,1 1850.nc 1850_2009_JJA.nc
 ncra --mro -O -d time,,,12,12 -n 150,4,1 1850.nc 1850_2009.nc
 @end example
 @noindent
-These operations generated and required no intermediate files.
-This contrasts to the previous @acronym{NCO} methods, which require
-generating, averaging, then catenating 150 files. 
+These operations generate and require no intermediate files.
+This contrasts to previous @acronym{NCO} methods, which require
+generating, averaging, then catenating 150 files.  
 The @samp{--mro} option has no effect on, or rather is redundant for, 
 @command{ncrcat} since @command{ncrcat} always outputs all selected
 records.
@@ -4843,7 +5196,7 @@ records.
 <a name="msa"></a> <!-- http://nco.sf.net/nco.html#msa -->
 <a name="mlt"></a> <!-- http://nco.sf.net/nco.html#mlt -->
 @end html
- at node Multislabs, Wrapped Coordinates, Duration, Common features
+ at node Multislabs, Wrapped Coordinates, Subcycle, Common features
 @section Multislabs 
 @cindex multislab
 @cindex multi-hyperslab
@@ -5779,10 +6132,12 @@ important information from being lost.
 @end html
 @node Chunking, Deflation, Missing Values, Common features
 @section Chunking
+ at cindex @code{--cnk_byt}
 @cindex @code{--cnk_dmn}
 @cindex @code{--cnk_map}
 @cindex @code{--cnk_plc}
 @cindex @code{--cnk_scl}
+ at cindex @code{--chunk_byte}
 @cindex @code{--chunk_dimension}
 @cindex @code{--chunk_map}
 @cindex @code{--chunk_policy}
@@ -5793,7 +6148,9 @@ Availability: @command{ncap2}, @command{ncbo}, @command{nces},
 @command{ncecat}, @command{ncflint}, @command{ncks}, @command{ncpdq},
 @command{ncra}, @command{ncrcat}, @command{ncwa}@*
 Short options: none@*
-Long options: @samp{--cnk_dmn @var{dmn_nm}, at var{cnk_sz}},
+Long options: 
+ at samp{--cnk_byt @var{cnk_sz}}, @samp{--chunk_byte @var{cnk_sz}}@*
+ at samp{--cnk_dmn @var{dmn_nm}, at var{cnk_sz}},
 @samp{--chunk_dimension @var{dmn_nm}, at var{cnk_sz}}@*,
 @samp{--cnk_map @var{cnk_map}}, @samp{--chunk_map @var{cnk_map}},@*
 @samp{--cnk_plc @var{cnk_plc}}, @samp{--chunk_policy @var{cnk_plc}},@*
@@ -5805,7 +6162,10 @@ support a plethora of chunksize options.
 Chunking can significantly accelerate or degrade read/write access
 to large datasets.
 Dataset chunking issues are described in detail
- at uref{http://www.hdfgroup.org/HDF5/doc/H5.user/Chunking.html,here}.
+ at uref{http://www.hdfgroup.org/HDF5/doc/H5.user/Chunking.html,here},
+ at uref{http://www.unidata.ucar.edu/blogs/developer/en/entry/chunking_data_why_it_matters,here},
+and
+ at uref{http://www.unidata.ucar.edu/blogs/developer/en/entry/chunking_data_choosing_shapes,here}.
 
 @cindex chunking policy
 @cindex chunking map
@@ -5814,8 +6174,9 @@ The @acronym{NCO} chunking implementation is designed to be flexible.
 Users control three aspects of the chunking implementation.
 These are known as the @dfn{chunking policy}, @dfn{chunking map},
 and @dfn{chunksize}.
-The first two are high-level mechanisms that apply to an entire file,
-while the third allows per-dimension specification of parameters.
+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 hyperslab
 @findex ncpdq
 @cindex packing
@@ -5835,17 +6196,21 @@ Five chunking policies are currently implemented:@*
 @cindex @samp{g2d}
 @cindex @samp{g3d}
 @cindex @samp{xpl}
+ at cindex @samp{xst}
 @cindex @samp{cnk_all}
 @cindex @samp{cnk_g2d}
 @cindex @samp{cnk_g3d}
 @cindex @samp{cnk_xpl}
+ at cindex @samp{cnk_xst}
 @cindex @samp{plc_all}
 @cindex @samp{plc_g2d}
 @cindex @samp{plc_g3d}
 @cindex @samp{plc_xpl}
+ at cindex @samp{plc_xst}
 @table @dfn
 @item Chunk All Variables [@emph{default}]
-Definition: Chunk all variables possible@*
+Definition: Chunk all variables possible.
+For obvious reasons, scalar variables cannot be chunked.@*
 Alternate invocation: @code{ncchunk}@*
 @var{cnk_plc} key values: @samp{all}, @samp{cnk_all}, @samp{plc_all}@*
 Mnemonic: All@*
@@ -5865,8 +6230,20 @@ dimension whose chunksize was explicitly set with the @samp{--cnk_dmn} option.
 Alternate invocation: none@*
 @var{cnk_plc} key values: @samp{xpl}, @samp{cnk_xpl}, @samp{plc_xpl}@*
 Mnemonic: E at emph{XPL}icitly specified dimensions@*
+ at item Chunk Variables with Existing Chunk Sizes
+Definition: Chunk all variables possible that are already chunked in the
+input file.
+When used in conjunction with @samp{cnk_map=xst} this option preserves
+and copies the chunking parameters from the input to the output file.
+Alternate invocation: none@*
+ at var{cnk_plc} key values: @samp{xst}, @samp{cnk_xst}, @samp{plc_xst}@*
+Mnemonic: E at emph{X}i at emph{ST}ing chunk sizes@*
 @item Unchunking
-Definition: Unchunk all variables@*
+Definition: Unchunk all variables possible. 
+The @acronym{HDF5} storge layer requires that record variables (i.e.,
+variables that contain at least one record dimension) must be chunked.
+Also variables that are compressed or use checksums must be chunked.
+Such variables cannot be unchunked.@*  
 Alternate invocation: @code{ncunchunk}@*
 @var{cnk_plc} key values: @samp{uck}, @samp{cnk_uck}, @samp{plc_uck}, @samp{unchunk}@*
 Mnemonic: @emph{U}n at emph{C}hun at emph{K}@*
@@ -5894,15 +6271,23 @@ Four chunking maps are currently implemented:@*
 @cindex @samp{dmn}
 @cindex @samp{scl}
 @cindex @samp{prd}
+ at cindex @samp{lfp}
 @cindex @samp{rd1}
+ at cindex @samp{xst}
+ at cindex @samp{rew}
 @cindex @samp{cnk_dmn}
 @cindex @samp{cnk_scl}
 @cindex @samp{cnk_prd}
+ at cindex @samp{cnk_lfp}
 @cindex @samp{cnk_rd1}
+ at cindex @samp{cnk_xst}
 @cindex @samp{map_dmn}
 @cindex @samp{map_scl}
 @cindex @samp{map_prd}
+ at cindex @samp{map_lfp}
 @cindex @samp{map_rd1}
+ at cindex @samp{map_xst}
+ at cindex Chris Barker
 @table @dfn
 @item Chunksize Equals Dimension Size [@emph{default}]
 Definition: Chunksize defaults to dimension size. 
@@ -5921,20 +6306,51 @@ Definition: Chunksize for all dimensions is set with the
 @samp{--cnk_scl} option.@* 
 @var{cnk_map} key values: @samp{xpl}, @samp{cnk_xpl}, @samp{map_xpl}@*
 Mnemonic: E at emph{XPL}icitly specified dimensions@*
- at item Chunksize Product Equals Scalar Size Specified
+ at item Chunksize Product Matches Scalar Size Specified
 Definition: The product of the chunksizes for each variable
-(approximately) equals the size specified with the @samp{--cnk_scl}
-option.
+matches (approximately equals) the size specified with the
+ at samp{--cnk_scl} option.
 A dimension of size one is said to be @emph{degenerate}.
 For a variable of rank @var{R} (i.e., with @var{R} non-degenerate
 dimensions), the chunksize in each non-degenerate dimension is the
 @var{R}th root of @var{cnk_scl}.@*
 @var{cnk_map} key values: @samp{prd}, @samp{cnk_prd}, @samp{map_prd}@*
 Mnemonic: @emph{PR}o at emph{D}uct@*
+ at item Chunksize Lefter Product Matches Scalar Size Specified
+Definition: The product of the chunksizes for each variable
+(approximately) equals the size specified with the @samp{--cnk_scl} 
+option.
+This is accomplished by using dimension sizes as chunksizes for the
+rightmost (most rapidly varying) dimensions, and then ``flexing'' the
+chunksize of the leftmost (least rapidly varying) dimensions such that 
+the product of all chunksizes matches the specified size.
+All dimensions to the left of and including the first record dimension
+define the left-hand side.
+This map was first proposed by Chris Barker.@*
+ at var{cnk_map} key values: @samp{lfp}, @samp{cnk_lfp}, @samp{map_lfp}@*
+Mnemonic: @emph{L}e at emph{F}ter @emph{P}roduct@*
+ at item Chunksize Equals Existing Chunksize
+Definition: Chunksizes are copied from the input to the output
+file for every variable that is chunked in the input file.
+Variables not chunked in the input file will be chunked with 
+default mappings.@*
+ at var{cnk_map} key values: @samp{xst}, @samp{cnk_xst}, @samp{map_xst}@*
+Mnemonic: E at emph{X}i at emph{ST}@*
+ at item Chunksize Balances 1D and (N-1)-D Access to N-D Variable
+Definition: Chunksizes are chosen so that 1-D and (@var{(N-1)})-D
+hyperslabs of @var{3}-D variables (e.g., point-timeseries orn
+latitude/longitude surfaces of 3-D fields) both require approximately
+the number of chunks. 
+Hence their access time should be balanced.
+Russ Rew explains the motivation and derivation for this strategy 
+ at uref{http://www.unidata.ucar.edu/blogs/developer/en/entry/chunking_data_choosing_shapes,
+here}.@*
+ at var{cnk_map} key values: @samp{rew}, @samp{cnk_rew}, @samp{map_rew}@*
+Mnemonic: Russ @emph{REW}@*
 @end table
 @noindent
 It is possible to combine the above chunking map algorithms with
-user-specified per-dimension (but not per-variable) chunksizes that
+user-specified per-dimension (though not per-variable) chunksizes that 
 override specific chunksizes determined by the maps above. 
 The user specifies the per-dimension chunksizes with the (equivalent) 
 long options @samp{--cnk_dmn} or @samp{--chunk_dimension}).
@@ -5956,6 +6372,9 @@ ncks -O -4 --cnk_plc=unchunk in.nc out.nc # Unchunk in.nc
 ncks -O -4 -D 4 --cnk_plc=all ~/nco/data/in.nc ~/foo.nc
 ncks -O -4 -D 4 --cnk_plc=uck ~/foo.nc ~/foo.nc
 
+# Set total chunksize to 8192 B
+ncks -O -4 -D 4 --cnk_plc=all --cnk_byt=8192 ~/nco/data/in.nc ~/foo.nc
+
 # More complex chunking procedures, with informative metadata
 ncks -O -4 -D 4 --cnk_scl=8 ~/nco/data/in.nc ~/foo.nc
 ncks -O -4 -D 4 --cnk_scl=8 dstmch90_clm.nc ~/foo.nc
@@ -5981,13 +6400,13 @@ ncwa -O -4 -D 4 -a time --cnk_plc=g2d --cnk_map=rd1 --cnk_dmn lat,32 \
 
 @cindex record dimension
 It is appropriate to conclude by informing users about an aspect of
-chunking that may not be expected: 
-Record dimensions are always chunked with a chunksize of one. 
-Hence all variables that contain the record dimension are also stored 
-as chunked (since data must be stored with chunking either in all
-dimensions, or in no dimensions). 
+chunking that may not be expected.
+Three types of variables are @emph{always} chunked: Record variables,
+Deflated (compressed) variables, and Checksummed variables.
+Hence all variables that contain a record dimension are also chunked
+(since data must be chunked in all dimensions, not just one).
 Unless otherwise specified by the user, the other (fixed, non-record) 
-dimensions of such variables are assigned default chunk sizes. 
+dimensions of record variables are assigned default chunk sizes. 
 The @acronym{HDF5} layer does all this automatically to optimize the
 on-disk variable/file storage geometry of record variables.
 Do not be surprised to learn that files created without any explicit
@@ -6460,7 +6879,7 @@ Most files originally written in @acronym{HDF} format use the
 This algorithm is incompatible with the netCDF packing algorithm 
 described above.   
 The unpacking component of the @acronym{HDF} algorithm (described
- at uref{http://www.hdfgroup.org/HDF5/doc/UG, here}) is
+ at uref{http://www.hdfgroup.org/HDF5/doc/UG/UG_frame10Datasets.html, here}) is
 @tex
 $$
 \rm
@@ -6472,6 +6891,22 @@ $$
 @var{upk} = @var{scale_factor}*(@var{pck} - @var{add_offset})@*
 @sp 1
 @end ifnottex
+ at ignore
+NB: HDF packing documentation is hard to follow
+MODIS HDF4 datasets definitely use the ``HDF algorithm''
+However, must discriminate between HDF4 and HDF5 packing.
+HDF4, or at least some HDF4 datasets implement the ``HDF algorithm'',
+aka linear scale_factor and add_offset in other order from netCDF.
+HDF5 only implements D-scaling, aka, decimal-scaling bit-packing.
+D-Scaling uses add_offset (i.e., minimum data value) and scale_factor
+(integer power of 10 by which the add_offset corrected data are divided
+before storage) to control D-scaling.
+
+ at cindex scale-offset compression
+ at cindex scale-offset filter
+ at acronym{HDF} also calls this @dfn{scale-offset compression} and the
+ at dfn{scale-offset filter}.
+ at end ignore
 Confusingly, the (incompatible) netCDF and @acronym{HDF} algorithms both 
 store their parameters in attributes with the same names
 (@code{scale_factor} and @code{add_offset}).
@@ -6598,8 +7033,7 @@ longitude.
 The only rank-reduction which makes sense for coordinate variables
 is averaging.
 Hence @acronym{NCO} implements the operation type requested with
- at samp{-y} on all non-coordinate variables, but not on coorniate
-variables. 
+ at samp{-y} on all non-coordinate variables, not on coordinate variables.  
 When an operation requires a coordinate variable to be reduced in
 rank, i.e., from one dimension to a scalar or from one dimension to
 a degenerate (single value) array, then @acronym{NCO} 
@@ -6861,11 +7295,14 @@ nces -y max -v prs_sfc jan.nc feb.nc march.nc out.nc
 @end example
 
 @html
+<a name="standard_deviation"></a> <!-- http://nco.sf.net/nco.html#standard_deviation -->
 <a name="stddvn"></a> <!-- http://nco.sf.net/nco.html#stddvn -->
 <a name="sdn"></a> <!-- http://nco.sf.net/nco.html#sdn -->
+<a name="sdv"></a> <!-- http://nco.sf.net/nco.html#sdv -->
 <a name="xmp_sdn"></a> <!-- http://nco.sf.net/nco.html#xmp_sdn -->
 @end html
 @noindent
+ at cindex standard deviation
 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.
@@ -7282,7 +7719,7 @@ ncra --flt -O -F -d time,3,,10 ~/foo.nc ~/foo_avg3.nc
 # Method 1: Obtain ensemble January average by averaging the averages
 ncra --flt -O ~/foo_avg1.nc ~/foo_avg2.nc ~/foo_avg3.nc ~/foo_avg_mth1.nc
 # Method 2: Obtain ensemble January average by averaging the raw data
-# Employ ncra's "duration" feature (http://nco.sf.net/nco.html#drn)
+# Employ ncra's "subcycle" feature (http://nco.sf.net/nco.html#ssc)
 ncra --flt -O -F -d time,1,,10,3 ~/foo.nc ~/foo_avg_mth2.nc
 # Difference the two methods
 ncbo -O ~/foo_avg_mth1.nc ~/foo_avg_mth2.nc ~/foo_avg_dff.nc
@@ -7324,7 +7761,7 @@ ncra --dbl -O -F -d time,3,,10 ~/foo.nc ~/foo_avg3.nc
 # Method 1: Obtain ensemble January average by averaging the averages
 ncra --dbl -O ~/foo_avg1.nc ~/foo_avg2.nc ~/foo_avg3.nc ~/foo_avg_mth1.nc
 # Method 2: Obtain ensemble January average by averaging the raw data
-# Employ ncra's "duration" feature (http://nco.sf.net/nco.html#drn)
+# Employ ncra's "subcycle" feature (http://nco.sf.net/nco.html#ssc)
 ncra --dbl -O -F -d time,1,,10,3 ~/foo.nc ~/foo_avg_mth2.nc
 # Difference the two methods
 ncbo -O ~/foo_avg_mth1.nc ~/foo_avg_mth2.nc ~/foo_avg_dff.nc
@@ -7549,7 +7986,7 @@ For larger @var{n}, users should promote floats with the @samp{--dbl}
 option if they want to preserve more than four significant digits in
 their results. 
 
-The @samp{--dbl} and @samp{-flt} switches are only available with the
+The @samp{--dbl} and @samp{--flt} switches are only available with the
 @acronym{NCO} arithmetic operators that could potentially perform more
 than a few  single-precision floating point operations per result.
 These are @command{nces}, @command{ncra}, and @command{ncwa}.
@@ -7747,14 +8184,17 @@ Availability: @command{ncbo}, @command{nces}, @command{ncecat},
 @command{ncflint}, @command{ncpdq}, @command{ncra}, @command{ncwa}@*
 Short options: None@*
 @end cartouche
- at acronym{NCO} recognizes the Climate and Forecast (@acronym{CF})
+ at acronym{NCO} recognizes some Climate and Forecast (@acronym{CF})
 metadata conventions, and applies special rules to such data.
- at acronym{NCO} also handles older @acronym{NCAR} model datasets, such as 
- at acronym{CCM} and early @acronym{CCSM} datasets, with its @acronym{CF}    
-rules even though the earlier data may not contain an explicit
- at code{Conventions} attribute (e.g., @samp{CF-1.0}).
-We refer to all such data collectively as @acronym{CF} data.
-Skip this section if you never work with @acronym{CF} data.
+ at acronym{NCO} was contemporaneous with @acronym{COARDS} and still
+contains some rules to handle older @acronym{NCAR} model datasets, such as 
+ at acronym{CCM} and early @acronym{CCSM} datasets, that pre-date 
+ at acronym{CF}.
+Such datasets may not contain an explicit @code{Conventions} attribute
+(e.g., @samp{CF-1.0}). 
+Nevertheless, we refer to all such metadata collectively as @acronym{CF} 
+metadata. 
+Skip this section if you never work with @acronym{CF} metadata.
 
 The @acronym{CF} netCDF conventions are described 
 @uref{http://cf-pcmdi.llnl.gov/documents/cf-conventions/1.6/cf-conventions.html#coordinate-system, here}. 
@@ -7773,8 +8213,7 @@ format @var{time} since @var{base_time}, e.g., the @code{units}
 attribute of @code{time} might be 
 @samp{days since 1992-10-8 15:15:42.5 -6:00}. 
 @w{A problem} with this format occurs when using @command{ncrcat} to
-concatenate multiple files together, each with a different
- at var{base_time}. 
+concatenate multiple files, each with a different @var{base_time}. 
 That is, any @code{time} values from files following the first file to
 be concatenated should be corrected to the @var{base_time} offset
 specified in the @code{units} attribute of @code{time} from the first
@@ -7891,6 +8330,47 @@ These auxiliary coordinates are subject to the user-specified overrides
 described in @ref{Subsetting Coordinate Variables}.
 
 @html
+<a name="cnv_CF_cll_mth"></a> <!-- http://nco.sf.net/nco.html#cnv_CF_cll_mth -->
+<a name="cll_mth"></a> <!-- http://nco.sf.net/nco.html#cll_mth -->
+<a name="no_cll_mth"></a> <!-- http://nco.sf.net/nco.html#no_cll_mth -->
+<a name="cell_methods"></a> <!-- http://nco.sf.net/nco.html#cell_methods -->
+ at end html
+ at cindex @code{cell_methods}
+ at cindex @code{--cll_mth}
+ at cindex @code{--no_cll_mth}
+ at cindex @code{--cell_methods}
+ at cindex @code{--no_cell_methods}
+ at cindex cell methods convention
+As of @acronym{NCO} version 4.4.2 (February, 2014), @acronym{NCO} 
+supports some of the @acronym{CF} @code{cell_methods} 
+ at uref{http://cf-pcmdi.llnl.gov/documents/cf-conventions/1.7-draft1/cf-conventions.html#cell-methods, convention}
+to describe the analysis procedures that have been applied to data.
+The convention creates (or appends to an existing) @code{cell_methods}
+attribute a space-separated list of couplets of the form @var{dmn: op}
+where @var{dmn} is a comma-separated list of dimensions previously
+contained in the variable that have been reduced by the arithmetic
+operation @var{op}.
+For example, the @code{cell_methods} value @code{time: mean} says that
+the variable in question was averaged over the @code{time} dimension.
+In such cases @code{time} will either be a scalar variable or a
+degenerate dimension or coordinate. 
+This simply means that it has been averaged-over.
+The value @code{time, lon: mean lat: max} says that the variable in
+question is the maximum zonal mean of the time averaged original
+variable.
+Which is to say that the variable was first averaged over time and
+longitude, and then the residual latitudinal array was reduced by
+choosing the maximum value.
+Since the @code{cell methods} convention may alter metadata in an
+undesirable (or possibly incorrect) fashion, we provide switches
+to ensure it is always or never used.
+Use long-options @samp{--cll_mth} or @samp{--cell_methods} to invoke the
+algorithm (true by default), and options @samp{--no_cll_mth} or 
+ at samp{--no_cell_methods} to turn it off.
+These options are only available in the operators @command{ncwa} and
+ at command{ncra}.
+
+ at html
 <a name="cnv_ARM"></a> <!-- http://nco.sf.net/nco.html#cnv_ARM -->
 @end html
 @node ARM Conventions, Operator Version, CF Conventions, Common features
@@ -8531,8 +9011,8 @@ Generating a regularly spaced one-dimensional array with @command{ncap2}
 is simple with the @code{array()} function. 
 The syntax is 
 @example
-output=array(val_srt,val_ncr,$dmn_nm); // One-dimensional output
-output=array(val_srt,val_ncr,var_tpl); // Multi-dimensional output
+var_out=array(val_srt,val_ncr,$dmn_nm); // One-dimensional output
+var_out=array(val_srt,val_ncr,var_tpl); // Multi-dimensional output
 @end example
 @noindent
 where the arguments are the starting value @var{val_srt}, 
@@ -8540,6 +9020,20 @@ incremental value @var{val_ncr}, and, for one-dimensional output, the
 single dimension @code{$dmn_nm}, or, for multi-dimensional output, a
 template variable @code{var_tpl}, i.e., a variable with the same shape
 as the desired output. 
+The type of @code{var_out} will be the same as @code{val_srt}.
+Be sure to encode this type with the appropriate decimal point
+and floating point suffix when @code{val_srt} is a ``naked constant''
+rather than a variable.
+For example, to produce an array of shorts (signed two-byte integers), 
+integers (signed four-byte integers), unsigned 64-bit integers,
+floats, or doubles use
+ at example
+var_out=array(1s,val_ncr,$dmn_nm); // NC_SHORT array
+var_out=array(1,val_ncr,$dmn_nm); // NC_INT array
+var_out=array(1ull,val_ncr,$dmn_nm); // NC_UINT64 array
+var_out=array(1f,val_ncr,$dmn_nm); // NC_FLOAT array
+var_out=array(1.,val_ncr,$dmn_nm); // NC_DOUBLE array
+ at end example
 
 Once the associated dimensions have been defined, the start and
 increment arguments may be supplied as values, mathmatical expressions,
@@ -9058,8 +9552,7 @@ print(three_dmn_var_dbl);
 The convention within this document is that methods can be used as 
 functions. 
 However, functions are not and cannot be used as methods.
-Methods can be daisy changed together and their syntax is cleaner than
-functions. 
+Methods can be daisy-chained d and their syntax is cleaner than functions. 
 Method names are reserved words and CANNOT be used as variable names.  
 The command @code{ncap2 -f} shows the complete list of methods available
 on your build. 
@@ -9070,7 +9563,7 @@ n2=sin(theta)^2 + cos(theta)^2
 n2=theta.sin().pow(2) + theta.cos()^2
 @end example
 
-This statement chains methods together to convert three_dmn_var_sht to
+This statement chains together methods to convert three_dmn_var_sht to
 type double, average it, then convert this back to type short: 
 @example
 three_avg=three_dmn_var_sht.double().avg().short();
@@ -10547,7 +11040,7 @@ print(yout);  // 3.18545454545 ,9.15636363636, ,12.1418181818 ,33.04
 @node GSL statistics, GSL random number generation, GSL least-squares fitting, ncap2 netCDF Arithmetic Processor
 @subsection GSL statistics
 
- at noindent Wrappers for most of the @acronym{GSL} Statistical functions have been implemented. The @acronym{GSL} function names include a type specifier (except for type double functions). To obtain the equivalent @acronym{NCO} name simply remove the type specifier; then depending on the data type the appropriate @acronym{GSL} function  is called. The weighed statistical functions e.g @code{ gsl_stats_wvariance()} are only defined in @acronym{GSL} for floating point types; so your data mu [...]
+ at noindent Wrappers for most of the @acronym{GSL} Statistical functions have been implemented. The @acronym{GSL} function names include a type specifier (except for type double functions). To obtain the equivalent @acronym{NCO} name simply remove the type specifier; then depending on the data type the appropriate @acronym{GSL} function  is called. The weighed statistical functions e.g., @code{ gsl_stats_wvariance()} are only defined in @acronym{GSL} for floating point types; so your data  [...]
 
 @noindent @acronym{GSL} Functions
 @example
@@ -10760,7 +11253,7 @@ First, the commands may be placed in a script which is executed, e.g.,
 @file{tst.nco}. 
 Second, the commands may be individually specified with multiple
 @samp{-s} arguments to the same @command{ncap2} invocation.
-Third, the commands may be chained together into a single @samp{-s}
+Third, the commands may be chained into a single @samp{-s}
 argument to @command{ncap2}.
 Assuming the file @file{tst.nco} contains the commands
 @code{a=3;b=4;c=sqrt(a^2+b^2);}, then the following @command{ncap2}
@@ -11516,7 +12009,7 @@ LPH:     ( 'a'..'z' | 'A'..'Z' | '_' );
 name:    (LPH)(LPH|DGT)+
 @end example
 
- at noindent The first character of a valid name must be alphabetic or the underscore. Any subsequent characters must be alphanumeric or underscore. ( e.g a1,_23, hell_is_666 )
+ at noindent The first character of a valid name must be alphabetic or the underscore. Any subsequent characters must be alphanumeric or underscore. ( e.g., a1,_23, hell_is_666 )
 
 @noindent The valid characters in a quoted name are specified by the regular expressions:
 @example
@@ -11623,17 +12116,15 @@ e.g., 1.0e36, differs between two machines then netCDF files produced
 on those machines will have incompatible missing values.
 This allows @command{ncatted} to change the missing values in files from 
 different machines to a single value so that the files may then be 
-concatenated together, e.g., by @command{ncrcat}, without losing any
-information.   
+concatenated, e.g., by @command{ncrcat}, without losing information.   
 @xref{Missing Values}, for more information.
 
 To master @command{ncatted} one must understand the meaning of the
 structure that describes the attribute modification, @var{att_dsc} 
 specified by the required option @samp{-a} or @samp{--attribute}. 
 Each @var{att_dsc} contains five elements, which makes using
- at command{ncatted} somewhat complicated, but powerful.
-The @var{att_dsc} argument structure contains five arguments in the
-following order:@* 
+ at command{ncatted} somewhat complicated, yet powerful.
+The @var{att_dsc} fields are in the following order:@* 
 
 @var{att_dsc} = @var{att_nm}, @var{var_nm}, @var{mode}, @var{att_type},
 @var{att_val}@*
@@ -11644,13 +12135,14 @@ Attribute name.
 Example: @code{units}
 @item var_nm
 Variable name. 
+Example: @code{pressure}, @code{'^H2O'}.
 @cindex extended regular expressions
 @cindex regular expressions
 @cindex pattern matching
 @cindex wildcards
 Regular expressions (@pxref{Subsetting Files}) are accepted and will 
 select any matching variable names.
-Example: @code{pressure}, @code{'^H2O'}.
+The names @code{global} and @code{group} have special meaning.
 @item mode
 Edit mode abbreviation. 
 Example: @code{a}. 
@@ -11671,8 +12163,9 @@ 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 users of the
- at command{ncatted} operator. 
+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. 
 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. 
@@ -11684,18 +12177,20 @@ attribute (named @var{att_nm}) that you want to edit.
 There are three very important and useful exceptions to this rule.
 The value of @var{var_nm} can also be used to direct @command{ncatted}
 to edit global attributes, or to repeat the editing operation for every 
-variable in a file.
- at w{A value} of @var{var_nm} of ``global'' indicates that @var{att_nm}
-refers to a global attribute, rather than a particular variable's
-attribute. 
+group or variable in a file.
+ at w{A value} of @var{var_nm} of @code{global} indicates that @var{att_nm}
+refers to a global (i.e., root-level) attribute, rather than to a
+particular variable's attribute. 
 This is the method @command{ncatted} supports for editing global
 attributes.
-If @var{var_nm} is left blank, on the other hand, then @command{ncatted} 
+ at w{A value} of @var{var_nm} of @code{group} indicates that @var{att_nm}
+refers to all groups, rather than to a particular variable's or group's
+attribute.  
+The operation will proceed to edit group metadata for every group.
+Finally, if @var{var_nm} is left blank, then @command{ncatted} 
 attempts to perform the editing operation on every variable in the file.
 This option may be convenient to use if you decide to change the
 conventions you use for describing the data.
-Finally, as mentioned above, @var{var_nm} may be specified as a regular
-expression. 
 
 @html
 <a name="mode"></a> <!-- http://nco.sf.net/nco.html#mode -->
@@ -12249,7 +12744,7 @@ $\rm{file}_1 - \rm{file}_2 = -(\rm{file}_2-\rm{file}_1)$.
 Broadcasting a variable means creating data in non-existing dimensions
 by copying data in existing dimensions.
 For example, a two dimensional variable in @var{file_2} can be
-subtracted from a four, three, or two (but not one or zero)
+subtracted from a four, three, or two (not one or zero)
 dimensional variable (of the same name) in @code{file_1}. 
 @cindex anomalies
 This functionality allows the user to compute anomalies from the mean.
@@ -12282,8 +12777,8 @@ all
 to a size @w{of 1} (making it a @dfn{degenerate} dimension), but does
 not remove it, while, unless @samp{-b} is given, @command{ncwa} removes
 all averaged dimensions.
-In other words, by default @command{ncra} changes variable size but not 
-rank, while, @command{ncwa} changes both variable size and rank.}.   
+In other words, by default @command{ncra} changes variable size though
+not rank, while, @command{ncwa} changes both variable size and rank.}.   
 In this case the input files to @command{ncbo}, @var{file_1} and
 @var{file_2}, will have unequally sized @code{time} dimensions which
 causes @command{ncbo} to fail.
@@ -12444,7 +12939,7 @@ each month's data from the five-year mean:
 ncbo 8501_8912.nc 8589.nc t_anm_8501_8912.nc
 @end example
 @noindent
-Now use @command{ncks} to group the five January anomalies together in
+Now use @command{ncks} to group together the five January anomalies in
 one file, and use @command{ncra} to create the average anomaly for all
 five Januarys. 
 These commands are embedded in a shell loop so they are repeated for all
@@ -12540,13 +13035,22 @@ properties are equally influenced by all the inputs, then @command{nces}
 is the operator to use. 
 
 Variables in the @var{output-file} are the same size as the variable
-in each input file or group, and each input file or group must be the
-same size. 
+hyperslab in each input file or group, and each input file or group
+must be the same size after hyperslabbing
+ at footnote{As of @acronym{NCO} version 4.4.2 (released February, 2014)
+ at command{nces} allows hyperslabs in all dimensions so long as the
+hyperslabs resolve to the same size. 
+The fixed (i.e., non-record) dimensions should be the same size in
+all ensemble members both before and after hyperslabbing, although
+the hypserslabs may (and usually do) change the size of the dimensions
+from the input to the output files.
+Prior to this, @command{nces} was only guaranteed to work on hyperslabs
+in the record dimension that resolved to the same size.}
 @cindex record dimension
 @cindex hyperslab
-The only exception is that @command{nces} allows files to differ in
-the record dimension size if the requested record hyperslab
-(@pxref{Hyperslabs}) resolves to the same size for all files. 
+ at command{nces} does allow files to differ in the record dimension size
+if the requested record hyperslab (@pxref{Hyperslabs}) resolves to the
+same size for all files.  
 @command{nces} 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.
@@ -12613,19 +13117,25 @@ As a multi-file operator, @command{nces} will read the list of
 as positional arguments on the command line 
 (@pxref{Large Numbers of Files}).
 
- at command{nces} only allows coordinate variables to be processed by
-the linear average, minimum, and maximum operations, regardless of 
-the arithmetic operation type performed on the non-coordinate variables.   
+Like @command{ncra} and @command{ncwa}, @command{nces} treats coordinate
+variables as a special case.
+Coordinate variables are assumed to be the same in all ensemble members,
+so @command{nces} simply copies the coordinate variables that appear in 
+ensemble members directly to the output file.
+This has the same effect as averaging the coordinate variable across the
+ensemble, yet does not incur the time- or precision- penalties of
+actually averaging them.
+ at command{ncra} and @command{ncwa} allow coordinate variables to be
+processed only by the linear average operation, regardless of the
+arithmetic operation type performed on the non-coordinate variables
 (@pxref{Operation Types}). 
- at command{nces} will return the linear average of coordinates unless
-extrema are explicitly requested.
-Other requested operations (e.g., square-root, RMS) are applied only
-to non-coordinate variables.
+Thus it can be said that the three operators (@command{ncra},
+ at command{ncwa}, and @command{nces}) all average coordinate variables
+(even though @command{nces} simply copies them).
+All other requested arithmetic operations (e.g., maximization,
+square-root, RMS) are applied only to non-coordinate variables.
 In these cases the linear average of the coordinate variable will be
 returned.
- at cindex record dimension
-All dimensions, including the record dimension, are treated identically
-and preserved in the @var{output-file}.
 
 @noindent
 @html
@@ -12737,15 +13247,15 @@ subsetting simultaneously (@pxref{Subsetting Files}).
 @end html
 @cindex record aggregation
 @cindex @acronym{RAG}
- at acronym{RAG} makes each variable (except coordinate variables) in each input file 
-into a single record of the same variable in the output file. 
+ at acronym{RAG} 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}.
 All @var{input-files} must contain all extracted variables (or else
 there would be "gaps" in the output file).
 
-A new record dimension is the glue which binds the input file data
-together. 
+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, ``record''.
@@ -12849,8 +13359,8 @@ metadata via the @samp{-M} switch (or its long option equivalents,
 Consider five realizations, @file{85a.nc}, @file{85b.nc}, 
 @w{@dots{} @file{85e.nc}} of 1985 predictions from the same climate
 model. 
-Then @code{ncecat 85?.nc 85_ens.nc} glues the individual realizations 
-together into the single file, @file{85_ens.nc}. 
+Then @code{ncecat 85?.nc 85_ens.nc} glues together the individual
+realizations into the single file, @file{85_ens.nc}. 
 If an input variable was dimensioned [@code{lat}, at code{lon}], it will
 by default have dimensions [@code{record}, at code{lat}, at code{lon}] in
 the output file. 
@@ -13023,7 +13533,7 @@ interpolation option @w{with @samp{-i}} (or with the @samp{--ntp} or
 This is the inverse of the first method in the following sense: 
 When the user specifies the weights directly, @command{ncflint} has no
 work to do besides multiplying the input values by their respective
-weights and adding the results together to produce the output values.  
+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}}.
 
@@ -13074,7 +13584,7 @@ This behavior is hardcoded.
 
 By default @command{ncflint} interpolates or multiplies record
 coordinate variables (e.g., time is often stored as a record coordinate) 
-but not other coordinate variables (e.g., latitude and longitude). 
+not other coordinate variables (e.g., latitude and longitude). 
 This is because @command{ncflint} is often used to time-interpolate
 between existing files, but is rarely used to spatially interpolate.
 Sometimes however, users wish to multiply entire files by a constant
@@ -13227,7 +13737,7 @@ SYNTAX
 ncks [-3] [-4] [-5] [-6] [-7] [-A] [-a] [-b @var{binary-file}] [-C] [-c] [--cdl]
 [--cnk_dmn nm,sz] [--cnk_map map] [--cnk_plc plc] [--cnk_scl sz]
 [-D @var{dbg}] [-d @var{dim},[@var{min}][,[@var{max}][,[@var{stride}]]] [-F] [--fix_rec_dmn @var{dim}] 
-[-G @var{gpe_dsc}] [-g @var{grp}[, at dots{}]] [-H] [-h] [--hdr_pad @var{nbr}]
+[-G @var{gpe_dsc}] [-g @var{grp}[, at dots{}]] [-H] [-h] [--hdn] [--hdr_pad @var{nbr}]
 [-L @var{dfl_lvl}] [-l @var{path}] [-M] [-m] [--mk_rec_dmn @var{dim}] [--md5_digest]
 [--no_blank] [--no_tmp_fl] [-O] [-o @var{output-file}] [-P] [-p @var{path}] 
 [-Q] [-q] [-R] [-r] [--ram_all] [-s @var{format}] 
@@ -13243,28 +13753,29 @@ The nickname ``kitchen sink'' is a catch-all because @command{ncks}
 combines most features of @command{ncdump} and @command{nccopy} with
 extra features to extract, hyperslab, multi-slab, sub-set, and translate  
 into one versatile utility. 
- at command{ncks} extracts a subset of the data from @var{input-file} and
-writes it in flat binary format to @file{binary-file}, and writes (or
-pastes) it in netCDF format to @var{output-file}. 
-
- at command{ncks} will also print netCDF data in @acronym{ASCII},
- at acronym{CDL}, or @acronym{NcML} text formats @code{stdout}, like
- at command{ncdump}.
+ at command{ncks} extracts (a subset of the) data from @var{input-file} and 
+and writes (or pastes) it in netCDF format to @var{output-file}, and 
+optionally writes it in flat binary format to @file{binary-file}, and
+optionally prints it to screen.
+
+ at command{ncks} prints netCDF input data in @acronym{ASCII},
+ at acronym{CDL}, or @acronym{NcML} text formats @code{stdout}, like (an
+extended version of) @command{ncdump}.
 By default @command{ncks} prints data in a tabular format intended to be
 easy to search for the data you want, one datum per screen line, with
 all dimension subscripts and coordinate values (if any) preceding the
 datum. 
 Option @samp{-s} (or long options @samp{--sng_fmt} and @samp{--string}) 
-lets the user format the data using C-style format strings, while option
- at samp{--cdl} outputs @acronym{CDL} and option @samp{--xml} outputs
- at acronym{NcML}. 
+permits the user to format data using C-style format strings, while
+option @samp{--cdl} outputs @acronym{CDL} and option @samp{--xml}
+outputs @acronym{NcML}. 
 @command{ncks} exposes many flexible controls over printed output,
 including @acronym{CDL} and @acronym{NcML}.
 
 Options @samp{-5}, @samp{-a}, @samp{--cdl}, @samp{-F} , @samp{-H},
- at samp{-M}, @samp{-m}, @samp{-P}, @samp{-Q}, @samp{-q}, @samp{-s},
- at samp{-u}, @samp{--xml} (and their long option counterparts) control the
-formatted appearance of the data. 
+ at samp{--hdn}, @samp{-M}, @samp{-m}, @samp{-P}, @samp{-Q}, @samp{-q},
+ at samp{-s}, @samp{-u}, @samp{--xml} (and their long option counterparts)
+control the formatted appearance of the data.
 
 @cindex global attributes
 @cindex attributes, global
@@ -13333,7 +13844,7 @@ coordinate dimensions, if any, from @var{input-file} to
 }.
 
 Since there can only be one record dimension in a file, the record
-dimension must have the same name (but not necessarily the same size) in 
+dimension must have the same name (though not necessarily the same size) in 
 both files if a record dimension variable is to be appended. 
 If the record dimensions are of differing sizes, the record dimension of
 @var{output-file} will become the greater of the two record dimension
@@ -13425,6 +13936,46 @@ fix regardless of the netCDF file type.
 This keeps the code simple, and is symmetric with the syntax for
 @code{--mk_rec_dmn}, described next.
 
+As of @acronym{NCO} version 4.4.0 (January, 2014), the argument
+ at code{all} may be given to @samp{--fix_rec_dmn} to convert @emph{all} 
+record dimensions to fixed dimensions in the output file. 
+Previously, @samp{--fix_rec_dmn} only allowed one option, the name of a
+single record dimension to be fixed. 
+Now it is simple to simultaneously fix all record dimensions.
+This is useful (and nearly mandatory) when flattening netCDF4 files that
+have multiple record dimensions per group into netCDF3 files (which are
+limited to at most one record dimension) (@pxref{Group Path Editing}). 
+
+ at html
+<a name="hdn"></a> <!-- http://nco.sf.net/nco.html#hdn -->
+<a name="hidden"></a> <!-- http://nco.sf.net/nco.html#hidden -->
+ at end html
+ at cindex hidden attributes
+ at cindex special attributes
+ at cindex @code{--hdn}
+ at cindex @code{--hidden}
+ at cindex @code{_Format}
+ at cindex @code{_DeflateLevel}
+ at cindex @code{_Shuffle}
+ at cindex @code{_Storage}
+ at cindex @code{_ChunkSizes}
+ at cindex @code{_Endianness}
+ at cindex @code{_Fletcher32}
+ at cindex @code{_NOFILL}
+As of @acronym{NCO} version 4.4.0 (January, 2014), the @samp{--hdn}
+or @samp{--hidden} options print hidden (aka special) attributes.
+This is equivalent to @samp{ncdump -s}.
+Hidden attributes include: @code{_Format}, @code{_DeflateLevel},
+ at code{_Shuffle}, @code{_Storage}, @code{_ChunkSizes},
+ at code{_Endianness}, @code{_Fletcher32}, and @code{_NOFILL}. 
+Previously @command{ncks} ignored all these attributes in
+ at acronym{CDL}/@acronym{XML} modes. 
+Now it prints these attributes as appropriate. 
+Users are referred to the
+ at uref{http://www.unidata.ucar.edu/software/netcdf/docs, Unidata netCDF Documentation},
+or the man pages for @command{ncgen} or @command{ncdump}, for
+detailed descriptions of the meanings of these attributes. 
+
 @html
 <a name="cdl"></a> <!-- http://nco.sf.net/nco.html#cdl -->
 <a name="hdp"></a> <!-- http://nco.sf.net/nco.html#hdp -->
@@ -13744,15 +14295,12 @@ zender at roulee:~$ ncks --xml -v one ~/nco/data/in.nc
 </netcdf>
 @end verbatim
 @end example
- at acronym{XML}-mode prints variable metadata, and, as of 
- at acronym{NCO} version 4.3.7 (October, 2013), variable data.
-We know of no reference application that translates @acronym{CDM}
-files completely into @acronym{NcML}, so it is possible that
- at acronym{ncks} produces incorrect translations for some datatypes.
-The @command{toolsUI} Java program is helpful but incomplete.
-We have found that @command{toolsUI} fails to ingest some @acronym{NcML} 
-produced by both @command{ncks --xml} and @command{ncdump -x}.
-However, most common features work well.
+ at acronym{XML}-mode prints variable metadata and, as of 
+ at acronym{NCO} version 4.3.7 (October, 2013), variable data and, as of
+ at acronym{NCO} version 4.4.0 (January, 2014), hidden attributes.
+That @acronym{ncks} produces correct @acronym{NcML} translations of
+ at acronym{CDM} files for all supported datatypes is verified by
+comparison to output from Unidata's @command{toolsUI} Java program.
 Please let us know how to improve @acronym{XML}/@acronym{NcML}
 features. 
 
@@ -13918,40 +14466,44 @@ configuration files.
 These files are usually named @file{.bashrc}, @file{.cshrc}, and
 @file{.profile} for the Bash, Csh, and Sh shells, respectively.
 @example
+ at verbatim
 # NB: Untested on Csh, Ksh, Sh, Zsh! Send us feedback!
 # Bash shell (/bin/bash) users place these in .bashrc
 # ncattget $att_nm $var_nm $fl_nm : What attributes does variable have?
-function ncattget @{ ncks -M -m $@{3@} | grep -E -i "^$@{2@} attribute [0-9]+: $@{1@}" | cut -f 11- -d ' ' | sort ; @}
+function ncattget { ncks -M -m ${3} | grep -E -i "^${2} attribute [0-9]+: ${1}" | cut -f 11- -d ' ' | sort ; }
 # ncunits $att_val $fl_nm : Which variables have given units?
-function ncunits @{ ncks -M -m $@{2@} | grep -E -i " attribute [0-9]+: units.+ $@{1@}" | cut -f 1 -d ' ' | sort ; @}
+function ncunits { ncks -M -m ${2} | grep -E -i " attribute [0-9]+: units.+ ${1}" | cut -f 1 -d ' ' | sort ; }
 # ncavg $var_nm $fl_nm : What is mean of variable?
-function ncavg @{ ncwa -y avg -O -C -v $@{1@} $@{2@} ~/foo.nc ; ncks -H -C -v $@{1@} ~/foo.nc | cut -f 3- -d ' ' ; @}
+function ncavg { ncwa -y avg -O -C -v ${1} ${2} ~/foo.nc ; ncks -H -C -v ${1} ~/foo.nc | cut -f 3- -d ' ' ; }
 # ncavg $var_nm $fl_nm : What is mean of variable?
-function ncavg @{ ncap2 -O -C -v -s "foo=$@{1@}.avg();print(foo)" $@{2@} ~/foo.nc | cut -f 3- -d ' ' ; @}
+function ncavg { ncap2 -O -C -v -s "foo=${1}.avg();print(foo)" ${2} ~/foo.nc | cut -f 3- -d ' ' ; }
 # ncdmnsz $dmn_nm $fl_nm : What is dimension size?
-function ncdmnsz @{ ncks -m -M $@{2@} | grep -E -i ": $@{1@}, size =" | cut -f 7 -d ' ' | uniq ; @}
+function ncdmnsz { ncks -m -M ${2} | grep -E -i ": ${1}, size =" | cut -f 7 -d ' ' | uniq ; }
 # nclist $fl_nm : What variables are in file?
-function nclist @{ ncks -m $@{1@} | grep -E ': type' | cut -f 1 -d ' ' | sed 's/://' | sort ; @}
+function nclist { ncks -m ${1} | grep -E ': type' | cut -f 1 -d ' ' | sed 's/://' | sort ; }
 # ncmax $var_nm $fl_nm : What is maximum of variable?
-function ncmax @{ ncwa -y max -O -C -v $@{1@} $@{2@} ~/foo.nc ; ncks -H -C -v $@{1@} ~/foo.nc | cut -f 3- -d ' ' ; @}
+function ncmax { ncwa -y max -O -C -v ${1} ${2} ~/foo.nc ; ncks -H -C -v ${1} ~/foo.nc | cut -f 3- -d ' ' ; }
 # ncmax $var_nm $fl_nm : What is maximum of variable?
-function ncmax @{ ncap2 -O -C -v -s "foo=$@{1@}.max();print(foo)" $@{2@} ~/foo.nc | cut -f 3- -d ' ' ; @}
+function ncmax { ncap2 -O -C -v -s "foo=${1}.max();print(foo)" ${2} ~/foo.nc | cut -f 3- -d ' ' ; }
 # ncmdn $var_nm $fl_nm : What is median of variable?
-function ncmdn @{ ncap2 -O -C -v -s "foo=gsl_stats_median_from_sorted_data($@{1@}.sort());print(foo)" $@{2@} ~/foo.nc | cut -f 3- -d ' ' ; @}
+function ncmdn { ncap2 -O -C -v -s "foo=gsl_stats_median_from_sorted_data(${1}.sort());print(foo)" ${2} ~/foo.nc | cut -f 3- -d ' ' ; }
 # ncrng $var_nm $fl_nm : What is range of variable?
-function ncrng @{ ncap2 -O -C -v -s "foo_min=$@{1@}.min();foo_max=$@{1@}.max();print(foo_min,\"%f\");print(\" to \");print(foo_max,\"%f\")" $@{2@} ~/foo.nc ; @}
+function ncrng { ncap2 -O -C -v -s "foo_min=${1}.min();foo_max=${1}.max();print(foo_min,\"%f\");print(\" to \");print(foo_max,\"%f\")" ${2} ~/foo.nc ; }
+# ncmode $var_nm $fl_nm : What is mode of variable?
+function ncmode { ncap2 -O -C -v -s "foo=gsl_stats_median_from_sorted_data(${1}.sort());print(foo)" ${2} ~/foo.nc | cut -f 3- -d ' ' ; }
 # ncrecsz $fl_nm : What is record dimension size?
-function ncrecsz @{ ncks -M $@{1@} | grep -E -i "^Record dimension:" | cut -f 8- -d ' ' ; @}
+function ncrecsz { ncks -M ${1} | grep -E -i "^Record dimension:" | cut -f 8- -d ' ' ; }
 # Csh shell (/bin/csh) users place these in .cshrc
-ncattget() @{ ncks -M -m $@{3@} | grep -E -i "^$@{2@} attribute [0-9]+: $@{1@}" | cut -f 11- -d ' ' | sort ; @}
-ncdmnsz() @{ ncks -m -M $@{2@} | grep -E -i ": $@{1@}, size =" | cut -f 7 -d ' ' | uniq ; @}
-nclist() @{ ncks -m $@{1@} | grep -E ': type' | cut -f 1 -d ' ' | sed 's/://' | sort ; @}
-ncrecsz() @{ ncks -M $@{1@} | grep -E -i "^Record dimension:" | cut -f 8- -d ' ' ; @}
+ncattget() { ncks -M -m ${3} | grep -E -i "^${2} attribute [0-9]+: ${1}" | cut -f 11- -d ' ' | sort ; }
+ncdmnsz() { ncks -m -M ${2} | grep -E -i ": ${1}, size =" | cut -f 7 -d ' ' | uniq ; }
+nclist() { ncks -m ${1} | grep -E ': type' | cut -f 1 -d ' ' | sed 's/://' | sort ; }
+ncrecsz() { ncks -M ${1} | grep -E -i "^Record dimension:" | cut -f 8- -d ' ' ; }
 # Sh shell (/bin/sh) users place these in .profile
-ncattget() @{ ncks -M -m $@{3@} | grep -E -i "^$@{2@} attribute [0-9]+: $@{1@}" | cut -f 11- -d ' ' | sort ; @}
-ncdmnsz() @{ ncks -m -M $@{2@} | grep -E -i ": $@{1@}, size =" | cut -f 7 -d ' ' | uniq ; @}
-nclist() @{ ncks -m $@{1@} | grep -E ': type' | cut -f 1 -d ' ' | sed 's/://' | sort ; @}
-ncrecsz() @{ ncks -M $@{1@} | grep -E -i "^Record dimension:" | cut -f 8- -d ' ' ; @}
+ncattget() { ncks -M -m ${3} | grep -E -i "^${2} attribute [0-9]+: ${1}" | cut -f 11- -d ' ' | sort ; }
+ncdmnsz() { ncks -m -M ${2} | grep -E -i ": ${1}, size =" | cut -f 7 -d ' ' | uniq ; }
+nclist() { ncks -m ${1} | grep -E ': type' | cut -f 1 -d ' ' | sed 's/://' | sort ; }
+ncrecsz() { ncks -M ${1} | grep -E -i "^Record dimension:" | cut -f 8- -d ' ' ; }
+ at end verbatim
 @end example
 
 @noindent
@@ -14019,7 +14571,7 @@ Without any variables to extract, the append (@samp{-A}) command
 @html
 <a name="xmp_att_glb_cpy"></a> <!-- http://nco.sf.net/nco.html#xmp_att_var_cpy -->
 @end html
-Copy/append metadata (but not data) from variables in one file to
+Copy/append metadata (not data) from variables in one file to
 variables in a second file.
 When copying/subsetting/appending files (as opposed to printing them),
 the copying of data, variable metadata, and global/group metadata are
@@ -14210,8 +14762,8 @@ ncpdq [-3] [-4] [-6] [-7] [-A] [-a [-]@var{dim}[, at dots{}]] [-C] [-c]
 @noindent
 DESCRIPTION
 
- at command{ncpdq} performs one of two distinct functions, packing or
-dimension permutation, but not both, when invoked.
+ at command{ncpdq} performs one (not both) of two distinct functions:
+packing or dimension permutation.
 @command{ncpdq} is optimized to perform these actions in a parallel
 fashion with a minimum of time and memory.
 The @dfn{pdq} may stand for ``Permute Dimensions Quickly'', 
@@ -14516,8 +15068,8 @@ This refined map specifies the final (output) dimensionality.
 Third, we translate the output dimensionality into one-dimensional  
 memory offsets for each datum according to the @w{C language} convention 
 for multi-dimensional array storage.
-Dimension reversal changes the ordering of data, but not the
-dimensionality, and so is part of the third step. 
+Dimension reversal changes the ordering of data, though not the
+rank or dimensionality, and so is part of the third step. 
 
 Dimensions $\rdr$ disjoint from $\dmnvct$ play no role in re-ordering.
 The first step taken to re-order a variable is to determine $\shrvct$. 
@@ -14586,28 +15138,36 @@ datasets use the same packing convention prior to intercomparison.
 @cindex @command{ncl_convert2nc}
 @cindex @acronym{NCL}
 @example
-# One-step procedure: Works with NCO 4.3.7 and later
+# One-step procedure: For NCO 4.4.0+, netCDF 4.3.1+
 # 1. Convert, unpack, and repack HDF file into netCDF file
-ncpdq --hdf4 --hdf_upk -P xst_new modis.hdf modis.nc # HDF4 files
-ncpdq --hdf_upk -P xst_new modis.h5 modis.nc # HDF5 files
+ncpdq --hdf_upk -P xst_new modis.hdf modis.nc # HDF4 files
+ncpdq --hdf_upk -P xst_new modis.h5  modis.nc # HDF5 files
 
-# Two-step procedure: Necessary with NCO 4.3.6 and earlier
+# One-step procedure: For NCO 4.3.7--4.3.9
+# 1. Convert, unpack, and repack HDF file into netCDF file
+ncpdq --hdf4 --hdf_upk -P xst_new modis.hdf modis.nc # HDF4
+ncpdq        --hdf_upk -P xst_new modis.h5  modis.nc # HDF5
+
+# Two-step procedure: For NCO 4.3.6 and earlier
 # 1. Convert HDF file to netCDF file
 ncl_convert2nc modis.hdf
 # 2. Unpack using HDF convention and repack using netCDF convention
 ncpdq --hdf_upk -P xst_new modis.nc modis.nc
 @end example
-The @samp{--hdf4} switch is a precaution necessary because of flaws
-in the netCDF library versions 4.3.1 and earlier.
-Hopefully the need for this switch will disappear with netCDF 4.3.2,
-which will allow @acronym{NCO} to automatically detect and treat 
- at acronym{HDF4} files.
+ at acronym{NCO} now
+ at footnote{
+Prior to @acronym{NCO} 4.4.0 and netCDF 4.3.1 (January, 2014),
+ at acronym{NCO} requires the @samp{--hdf4} switch to correctly read
+HDF4 input files.
+For example, @samp{ncpdq --hdf4 --hdf_upk -P xst_new modis.hdf modis.nc}.
+That switch is now obsolete, though harmless for backwards compatibility.
 Prior to version 4.3.7 (October, 2013), @acronym{NCO} lacked the
 software necessary to workaround netCDF library flaws handling
 @acronym{HDF4} files, and thus @acronym{NCO} failed to convert
 @acronym{HDF4} files to netCDF files.
 In those cases, use the @command{ncl_convert2nc} command distributed
-with @acronym{NCL} to convert @acronym{HDF4} files to netCDF.
+with @acronym{NCL} to convert @acronym{HDF4} files to netCDF.}
+automatically detects @acronym{HDF4} files.  
 In this case it produces an output file @file{modis.nc} which preserves
 the @acronym{HDF} packing used in the input file.
 The @command{ncpdq} command first unpacks all packed variables using the
@@ -14782,7 +15342,7 @@ SYNTAX
 @example
 ncra [-3] [-4] [-6] [-7] [-A] [-C] [-c]
 [--cnk_dmn nm,sz] [--cnk_map map] [--cnk_plc plc] [--cnk_scl sz]
-[-D @var{dbg}] [-d @var{dim},[@var{min}][,[@var{max}][,[@var{stride}][,[@var{duration}]]]] [-F]
+[-D @var{dbg}] [-d @var{dim},[@var{min}][,[@var{max}][,[@var{stride}][,[@var{subcycle}]]]] [-F]
 [-G @var{gpe_dsc}] [-g @var{grp}[, at dots{}]] [-h] [--hdf] [--hdr_pad @var{nbr}] 
 [-L @var{dfl_lvl}] [-l @var{path}] [--mro] [-n @var{loop}] [--no_tmp_fl]
 [-O] [-o @var{output-file}] [-p @var{path}] [-R] [-r] [--ram_all] [--rec_apn] [--rth_dbl|flt]
@@ -14896,7 +15456,7 @@ SYNTAX
 @example
 ncrcat [-3] [-4] [-6] [-7] [-A] [-C] [-c]
 [--cnk_dmn nm,sz] [--cnk_map map] [--cnk_plc plc] [--cnk_scl sz]
-[-D @var{dbg}] [-d @var{dim},[@var{min}][,[@var{max}][,[@var{stride}][,[@var{duration}]]]] [-F]
+[-D @var{dbg}] [-d @var{dim},[@var{min}][,[@var{max}][,[@var{stride}][,[@var{subcycle}]]]] [-F]
 [-G @var{gpe_dsc}] [-g @var{grp}[, at dots{}]] [-h] [--hdr_pad @var{nbr}]
 [-L @var{dfl_lvl}] [-l @var{path}] [--md5_digest] [-n @var{loop}] [--no_tmp_fl]
 [-O] [-o @var{output-file}] [-p @var{path}] [-R] [-r] [--ram_all] [--rec_apn]
@@ -15060,6 +15620,19 @@ 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 @command{ncrename} supports full pathnames for both
+ at var{old_name} and @var{new_name}, this is really ``window dressing''.
+The full-path to @var{new_name} must be identical to the full-path to 
+ at var{old_name} in all classes of objects (attributes, variables,
+dimensions, or groups).
+In other words, @command{ncrename} can change only the local names
+of objects, it cannot change the location of the object in the group
+hierarchy within the file.
+Hence using a full-path in @var{new_name} is redundant. 
+The object name is the terminal path component of @var{new_name} and
+this object must already exist in the group specified by the 
+ at var{old_name} path.
+
 @cindex data safety
 @cindex safeguards
 @cindex temporary output files
@@ -15117,7 +15690,7 @@ that @var{att_nm} refers to a global or group attribute, and not to a
 variable named @code{global}.
 In other words, a @var{var_nm} of @code{global} is syntactically
 equivalent to a @var{var_nm} that is empty.
-The @var{var_name@@att_name} syntax is accepted, but not required,
+The @var{var_name@@att_name} syntax is accepted, though not required,
 for the @var{new_name}.
 
 @item -d @var{old_name}, at var{new_name}
@@ -15133,6 +15706,9 @@ The old and new names of the group are specified with @samp{-g}
 (or @samp{--grp}, @samp{--group}) by the associated @var{old_name}
 and @var{new_name} values.  
 This option may be specified more than once.
+This functionality is only available in @acronym{NCO} version 4.3.7
+(October, 2013) or later, and only when built on netCDF library version
+4.3.1-rc1 (August, 2013) or later. 
  
 @item -v @var{old_name}, at var{new_name}
 Variable renaming. 
@@ -15162,22 +15738,56 @@ variable @code{u}, and no other variables in netCDF @file{in.nc}.
 ncrename -a u@@long_name,largo_nombre in.nc
 @end example
  
-Rename group @code{g8} to @code{g20} in netCDF @file{in.nc}. 
+Rename the group @code{g8} to @code{g20} in netCDF4 file
+ at file{in_grp.nc}:   
 @example
 ncrename -g g8,g20 in_grp.nc
 @end example
  
+Rename the variable @code{/g1/lon} to @code{longitude} in netCDF4
+ at file{in_grp.nc}:
+ at example
+ncrename -v /g1/lon,longitude in_grp.nc
+ncrename -v /g1/lon,/g1/longitude in_grp.nc # Alternate
+ at end example
+ 
+ at html
+<a name="ncrename_crd"></a> <!-- http://nco.sf.net/nco.html#ncrename_crd -->
+ at end html
 @cindex coordinate variables
 @command{ncrename} 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
+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: 
 @example
 ncrename -d lon,longitude -v lon,longitude in.nc
 @end example
-Unfortunately, the netCDF library has a longstanding bug () that causes
- at acronym{NCO} to crash when performing this operation.
+Unfortunately, the netCDF4 library has a longstanding bug (all versions
+until 4.3.1-rc5 released in December, 2013) that causes @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
+separate @command{ncrename} invocations (e.g., first rename the
+variable, then 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:
+ at 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
+ncrename -O -v lat_T42,lat ~/foo.nc ~/foo2.nc # Also renames dimension
+ncrename -O -d lat_T42,lat ~/foo.nc ~/foo2.nc # Also renames variable
+ at end example
+To avoid this faulty behavior, either build @acronym{NCO} with netCDF
+version 4.3.1-rc5 or later, or convert the file to netCDF3 first,
+then rename as intended, then convert back.
 
 @cindex global attributes
 @cindex attributes, global
@@ -15267,9 +15877,9 @@ result for each.
 
 @cindex degenerate dimension
 Averaged dimensions are, by default, eliminated as dimensions.
-Their corresponding coordinates, if any, are output as scalars.
-The @samp{-b} switch 
-(and its long option equivalents @samp{--rdd} and
+Their corresponding coordinates, if any, are output as scalar
+variables. 
+The @samp{-b} switch (and its long option equivalents @samp{--rdd} and 
 @samp{--retain-degenerate-dimensions}) causes @command{ncwa} to retain
 averaged dimensions as degenerate (@w{size 1}) dimensions.
 This maintains the association between a dimension (or coordinate) and
@@ -15349,7 +15959,7 @@ of the hyperslab.
 Option @samp{-I} overrides this default behavior and causes
 @command{ncwa} not to weight or mask coordinate variables
 @footnote{The default behavior of (@samp{-I}) changed on
-1998/12/01---before this date the default was not to weight or mask
+19981201---before this date the default was not to weight or mask
 coordinate variables.}.
 In the above case, this causes the value of @code{latitude} in the
 @var{output-file} to @w{be 45.0}, an appealing result.
@@ -15552,7 +16162,7 @@ As explained in @xref{Operation Types}, @command{ncwa}
 @emph{always averages} coordinate variables regardless of the arithmetic 
 operation type performed on the non-coordinate variables. 
 The single exception is shown in the above example.
-The @samp{-N} switch turns off normalization so variable which are to be
+The @samp{-N} switch turns off normalization so variables which are to be
 averaged, including coordinate variables, are not normalized.
 This is equivalent to summation or integration.
 @end ignore
@@ -15886,8 +16496,9 @@ Large work-load testing
 @cindex Michael Schulz
 @cindex Gary Strand
 @cindex Andrew Wittenberg
+ at cindex George White
 @cindex Remik Ziemlinski
- at item Peter Campbell, Martin Dix, Mark Flanner, Markus Liebig, Keith Lindsay, Mike Page, Martin Schmidt, Michael Schulz, Lori Sentman, Gary Strand, Andrew Wittenberg, Remik Ziemlinski
+ at item Peter Campbell, Martin Dix, Mark Flanner, Markus Liebig, Keith Lindsay, Mike Page, Martin Schmidt, Michael Schulz, Lori Sentman, Gary Strand, George White Andrew Wittenberg, Remik Ziemlinski
 Excellent bug reports and feature requests.
 @cindex Daniel Baumann
 @cindex Nick Bower
@@ -16072,8 +16683,8 @@ ncra -O --mro -d time,"1990-12-01",,12,3 in.nc out.nc
 @example
 ncra -O --mro -d time,,,12,12 in.nc out.nc
 @end example
-Here we use the duration feature (i.e., the number after the fourth comma: @samp{3} in the seasonal example and the second @samp{12} in the annual example) 
-to retrieve groups of records separated by regular intervals (@pxref{Duration}).
+Here we use the subcycle feature (i.e., the number after the fourth comma: @samp{3} in the seasonal example and the second @samp{12} in the annual example) 
+to retrieve groups of records separated by regular intervals (@pxref{Subcycle}).
 The option @option{--mro} switches @command{ncra} to produce a Multi-Record Output instead of a single-record output.
 For example, assume @var{snd} is a 3D array with dimensions @code{time} * @code{latitude} * @code{longitude} 
 and @code{time} includes every month from Jan. 1990 to Dec. 2005, 192 months as total, which are 16 years.
@@ -16155,14 +16766,14 @@ Graphical representations of the results (@acronym{NCL} scripts
 available upon request) are provided to illustrate physical meaning of
 the analysis.
 @ignore
-Over the summer of 2013, we will add scripts which make use of new
- at acronym{NCO} features that combine all the loops in the analysis into
-single commands by exploiting @acronym{NCO}'s new group aggregation and
-arithmetic features.  
+In 2013 we added scripts which make use of new @acronym{NCO} features
+that combine all the loops in the analysis into single commands by
+exploiting @acronym{NCO}'s new group aggregation and arithmetic
+features.   
 @end ignore
-Since @acronym{NCO} @value{nco-edition} can process hierarchical 
-datasets, i.e., datasets stored with netCDF4 groups, we present sample
-scripts illustrating group-based processing as well.
+Since @acronym{NCO} can process hierarchical datasets, i.e., datasets
+stored with netCDF4 groups, we present sample scripts illustrating
+group-based processing as well. 
 
 @menu
 * Combine Files::
@@ -16191,8 +16802,9 @@ Key steps include:
 @verbatiminclude xmp/cmb_fl.sh
 @end example
 
-Right now, @acronym{CIMP5} model data downloaded from Earth System Grid Federation (@uref{http://pcmdi9.llnl.gov/esgf-web-fe/, @acronym{ESGF}})
-has not implement @key{group} feature yet. 
+Right now, @acronym{CMIP5} model data downloaded from Earth System Grid
+Federation (@uref{http://pcmdi9.llnl.gov/esgf-web-fe/, @acronym{ESGF}}) 
+will not contain @key{group} features yet. 
 Therefore users can aggregate the flat files into groups themselves.
 The following script shows how to aggregate models to one file.
 Each dataset becomes a group in the output file.
@@ -16224,28 +16836,46 @@ the way).
 @end float
 @noindent
 This section illustrates how to calculate the global distribution of
-long-term average (@pxref{fgr:glb}).
+long-term average (@pxref{fgr:glb}) with either flat files or 
+ at uref{http://nco.sourceforge.net/nco.html#index-groups, group file}.
 Key steps include: 
 @enumerate
 @item Average ensemble members of each model using @command{nces} (@pxref{nces netCDF Ensemble Statistics})
 @item Average the record dimension using @command{ncra} (@pxref{ncra netCDF Record Averager})
 @item Store results of each model as a distinct group in a single output file using @command{ncecat} (@pxref{ncrcat netCDF Record Concatenator}) with the @option{--gag} option
 @end enumerate
+The first example shows how to process flat files.
 @example
 @verbatiminclude xmp/glb_avg.sh
 @end example
 
-With the use of @key{group}, the above script except ensemble average  
-will be shortened to just @w{ONE LINE}.
+With the use of @key{group}, the above script
+will be shortened to just @w{TWO LINES}.
 @cindex groups, averaging
 @ignore
 Isn't it amazing or what?!
 @end ignore
 @example
 # Data from cmb_fl_grp.sh
-ncra -O sn_LImon_all-mdl_all-xpt_all-nsm_199001-200512.nc \
-  sn_LImon_all-mdl_all-xpt_all-nsm_tm-avg.nc
- at end example
+# ensemble averaging
+nces -O --nsm_grp --nsm_sfx='_avg' \
+sn_LImon_all-mdl_all-xpt_all-nsm_200001-200512.nc \
+  sn_LImon_all-mdl_all-xpt_nsm-avg.nc
+ncra -O -g 'avg$' sn_LImon_all-mdl_all-xpt_nsm-avg.nc \
+  sn_LImon_all-mdl_all-xpt_nsm-avg_tm-avg.nc
+ at end example
+The input file, @file{sn_LImon_all-mdl_all-xpt_all-nsm_200001-200512.nc}, produced by @file{cmb_fl_grp.sh}, 
+includes all the ensemble members as groups.
+The option @samp{--nsm_grp} denotes 
+that we are using @uref{http://nco.sf.net/nco.html#nsm_grp, group ensembles mode} of @command{nces},
+instead of @uref{http://nco.sf.net/nco.html#nsm_fl, file ensembles mode}, @samp{--nsm_fl}.
+The option @samp{--nsm_sfx='_avg'} instructs @command{nces} 
+to store the output as a new child group @file{/[model]/[model name]_avg},
+instead of in the parent group @file{/[model]}. 
+In the final output file, @file{sn_LImon_all-mdl_all-xpt_nsm-avg_tm-avg.nc}, 
+sub-groups with a suffix of `avg' are the long-term averages of each model.
+Here, @samp{-g 'avg$'} is used to retrieve groups having 'avg' at the end of their names,
+i.e., the long-term average groups.
 
 @node Annual Average over Regions, Monthly Cycle, Global Distribution of Long-term Average, CMIP5 Example
 @section Annual Average over Regions
@@ -16283,7 +16913,7 @@ Key steps include:
 @item Use @command{ncap2} (@pxref{ncap2 netCDF Arithmetic Processor}) with nco script file (i.e., @file{.nco} file);
 @item Move variables around using @command{ncks} (@pxref{ncks netCDF Kitchen Sink}).
 @end enumerate
- at strong{Main Script}
+ at strong{Flat files example}
 @example
 @verbatiminclude xmp/ann_avg.sh
 @end example
@@ -16295,12 +16925,14 @@ Key steps include:
 With the @key{group} feature, 
 all the loops over experiments, models and ensemble members can be omitted.
 As we are working on implementing @key{group} feature in all @acronym{NCO} operators,
-some functions (e.g., regression and standard deviation) 
+some functions (e.g., regression and standard deviation over ensemble members) 
 may have to wait until the new versions.
- at cindex group, averaging
+ at cindex group, spatial averaging
+ at cindex group, temporal averaging
+ at cindex group, anomaly
 @cindex group, standard deviation
- at cindex aggregation
- at cindex ensemble average
+ at cindex group, aggregation
+ at cindex group, dimension permutation
 @example
 @verbatiminclude xmp/ann_avg_grp.sh
 @end example
@@ -16324,10 +16956,12 @@ In order to keep only the monthly cycle,
 we will subtract the annual average of each year from the monthly data,
 instead of subtracting the long-term average.
 This is a little more complicated in coding since we need to loop over years. 
+
+ at strong{Flat files example}
 @example
 @verbatiminclude xmp/mcc.sh
 @end example
-Using @key{group} and @option{-d} option of @command{ncbo},
+Using @key{group} feature and @uref{http://nco.sourceforge.net/nco.html#Hyperslabs, hyperslabs} of @command{ncbo},
 the script will be shortened.
 @example
 @verbatiminclude xmp/mcc_grp.sh
@@ -16379,6 +17013,7 @@ Key steps include:
 @node Permute MODIS Coordinates,  , Add Coordinates to MODIS Data, CMIP5 Example
 @section Permute @acronym{MODIS} Coordinates
 @cindex coordinates, modifying
+ at c NB: 20140130: @textdegree is in TeXInfo 4.12 but Mac OS X 10.8 ships with 4.8
 @acronym{MODIS} orders latitude data from 90 at textdegree{}N to
 -90 at textdegree{}N, and longitude from -180 at textdegree{}E to
 180 at textdegree{}E.   
@@ -16703,7 +17338,7 @@ Template: $@{scn@}_$@{mdl@}_$@{run@}_$@{var@}_$@{yyyymm@}_$@{yyyymm@}.nc
 ln -s -f tas_A1.nc sresa1b_ukmo_hadcm3_run1_tas_200101_209911.nc
 area_msk_ukmo_hadcm3.nc
 
-Level I: Add all variables (but not standardized in time)
+Level I: Add all variables (not standardized in time)
          to file containing msk_rgn and area
 Template: $@{scn@}_$@{mdl@}_$@{run@}_$@{yyyymm@}_$@{yyyymm@}.nc
 
diff --git a/doc/nco.txt b/doc/nco.txt
new file mode 100644
index 0000000..200aff8
--- /dev/null
+++ b/doc/nco.txt
@@ -0,0 +1,15162 @@
+This file documents NCO, a collection of utilities to manipulate and
+analyze netCDF files.
+
+   Copyright (C) 1995-2014 Charlie Zender
+
+   This is the first edition of the 'NCO User Guide',
+and is consistent with version 2 of 'texinfo.tex'.
+
+   Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.  The
+license is available online at <http://www.gnu.org/copyleft/fdl.html>
+
+   The original author of this software, Charlie Zender, wants to
+improve it with the help of your suggestions, improvements, bug-reports,
+and patches.
+Charlie Zender <surname at uci dot edu> (yes, my surname is zender)
+3200 Croul Hall
+Department of Earth System Science
+University of California, Irvine
+Irvine, CA 92697-3100
+
+NCO User Guide
+Foreword
+Summary
+1 Introduction
+  1.1 Availability
+  1.2 How to Use This Guide
+  1.3 Operating systems compatible with NCO
+    1.3.1 Compiling NCO for Microsoft Windows OS
+  1.4 Symbolic Links
+  1.5 Libraries
+  1.6 netCDF2/3/4 and HDF4/5 Support
+  1.7 Help Requests and Bug Reports
+2 Operator Strategies
+  2.1 Philosophy
+  2.2 Climate Model Paradigm
+  2.3 Temporary Output Files
+  2.4 Appending Variables
+  2.5 Simple Arithmetic and Interpolation
+  2.6 Statistics vs. Concatenation
+    2.6.1 Concatenators 'ncrcat' and 'ncecat'
+    2.6.2 Averagers 'nces', 'ncra', and 'ncwa'
+    2.6.3 Interpolator 'ncflint'
+  2.7 Large Numbers of Files
+  2.8 Large Datasets
+  2.9 Memory Requirements
+    2.9.1 Single and Multi-file Operators
+    2.9.2 Memory for 'ncap2'
+  2.10 Performance
+3 NCO Features
+  3.1 Internationalization
+  3.2 Metadata Optimization
+  3.3 OpenMP Threading
+  3.4 Command Line Options
+  3.5 Specifying Input Files
+  3.6 Specifying Output Files
+  3.7 Accessing Remote Files
+    3.7.1 OPeNDAP
+  3.8 Retaining Retrieved Files
+  3.9 File Formats and Conversion
+    3.9.1 File Formats
+    3.9.2 Determining File Format
+    3.9.3 File Conversion
+    3.9.4 Autoconversion
+  3.10 Large File Support
+  3.11 Subsetting Files
+  3.12 Subsetting Coordinate Variables
+  3.13 Group Path Editing
+  3.14 C and Fortran Index conventions
+  3.15 Hyperslabs
+  3.16 Stride
+  3.17 Record Appending
+  3.18 Subcycle
+  3.19 Multislabs
+  3.20 Wrapped Coordinates
+  3.21 Auxiliary Coordinates
+  3.22 UDUnits Support
+  3.23 Rebasing Time Coordinate
+  3.24 Multiple Record Dimensions
+  3.25 Missing values
+  3.26 Chunking
+  3.27 Deflation
+  3.28 MD5 digests
+  3.29 Buffer sizes
+  3.30 RAM disks
+  3.31 Packed data
+    Packing Algorithm
+    Unpacking Algorithm
+    Default Handling of Packed Data
+    Default Handling of Packed Data
+  3.32 Operation Types
+  3.33 Type Conversion
+    3.33.1 Automatic type conversion
+    3.33.2 Promoting Single-precision to Double
+    3.33.3 Manual type conversion
+  3.34 Batch Mode
+  3.35 History Attribute
+  3.36 File List Attributes
+  3.37 CF Conventions
+  3.38 ARM Conventions
+  3.39 Operator Version
+4 Operator Reference Manual
+  4.1 'ncap2' netCDF Arithmetic Processor
+    4.1.1 Syntax of 'ncap2' statements
+    4.1.2 Expressions
+    4.1.3 Dimensions
+    4.1.4 Left hand casting
+    4.1.5 Arrays and hyperslabs
+    4.1.6 Attributes
+    4.1.7 Number literals
+    4.1.8 if statement
+    4.1.9 print statement
+    4.1.10 Missing values ncap2
+    4.1.11 Methods and functions
+    4.1.12 RAM variables
+    4.1.13 Where statement
+    4.1.14 Loops
+    4.1.15 Include files
+    4.1.16 'sort' methods
+    4.1.17 Irregular Grids
+    4.1.18 Bilinear interpolation
+    4.1.19 GSL special functions
+    4.1.20 GSL interpolation
+    4.1.21 GSL least-squares fitting
+    4.1.22 GSL statistics
+    4.1.23 GSL random number generation
+    4.1.24 Examples ncap2
+    4.1.25 Intrinsic mathematical methods
+    4.1.26 Operator precedence and associativity
+    4.1.27 ID Quoting
+  4.2 'ncatted' netCDF Attribute Editor
+  4.3 'ncbo' netCDF Binary Operator
+  4.4 'nces' netCDF Ensemble Statistics
+  4.5 'ncecat' netCDF Ensemble Concatenator
+  4.6 'ncflint' netCDF File Interpolator
+  4.7 'ncks' netCDF Kitchen Sink
+    Options specific to 'ncks'
+    4.7.1 Filters for 'ncks'
+  4.8 'ncpdq' netCDF Permute Dimensions Quickly
+    Packing and Unpacking Functions
+    Dimension Permutation
+  4.9 'ncra' netCDF Record Averager
+  4.10 'ncrcat' netCDF Record Concatenator
+  4.11 'ncrename' netCDF Renamer
+  4.12 'ncwa' netCDF Weighted Averager
+    4.12.1 Mask condition
+    4.12.2 Normalization and Integration
+5 Contributing
+  5.1 Contributors
+  5.2 Proposals for Institutional Funding
+6 Quick Start
+  6.1 Daily data in one file
+  6.2 Monthly data in one file
+  6.3 One time point one file
+  6.4 Multiple files with multiple time points
+7 CMIP5 Example
+  7.1 Combine Files
+  7.2 Global Distribution of Long-term Average
+  7.3 Annual Average over Regions
+  7.4 Monthly Cycle
+  7.5 Regrid MODIS Data
+  7.6 Add Coordinates to MODIS Data
+  7.7 Permute MODIS Coordinates
+8 Parallel
+9 CCSM Example
+10 References
+General Index
+NCO User Guide
+**************
+
+_Note to readers of the NCO User Guide in Info format_: _The NCO User
+Guide in PDF format (./nco.pdf) (also on SourceForge
+(http://nco.sf.net/nco.pdf)) contains the complete NCO documentation._
+This Info documentation is equivalent except it refers you to the
+printed (i.e., DVI, PostScript, and PDF) documentation for description
+of complex mathematical expressions.  Also, images appear only in the
+PDF document due to SourceForge limitations.
+
+   The netCDF Operators, or NCO, are a suite of programs known as
+operators.  The operators facilitate manipulation and analysis of data
+stored in the self-describing netCDF format, available from
+(<http://www.unidata.ucar.edu/packages/netcdf>).  Each NCO operator
+(e.g., ncks) takes netCDF input file(s), performs an operation (e.g.,
+averaging, hyperslabbing, or renaming), and outputs a processed netCDF
+file.  Although most users of netCDF data are involved in scientific
+research, these data formats, and thus NCO, are generic and are equally
+useful in fields from agriculture to zoology.  The NCO User Guide
+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.2.  It was last updated 19
+February 2014.  Corrections, additions, and rewrites of this
+documentation are very welcome.
+
+   Enjoy,
+Charlie Zender
+
+Foreword
+********
+
+NCO is the result of software needs that arose while I worked on
+projects funded by NCAR, NASA, and ARM.  Thinking they might prove
+useful as tools or templates to others, it is my pleasure to provide
+them freely to the scientific community.  Many users (most of whom I
+have never met) have encouraged the development of NCO.  Thanks
+espcially to Jan Polcher, Keith Lindsay, Arlindo da Silva, John Sheldon,
+and William Weibel for stimulating suggestions and correspondence.  Your
+encouragment motivated me to complete the 'NCO User Guide'.  So if you
+like NCO, send me a note!  I should mention that NCO is not connected to
+or officially endorsed by Unidata, ACD, ASP, CGD, or Nike.
+
+Charlie Zender
+May 1997
+Boulder, Colorado
+
+
+
+   Major feature improvements entitle me to write another Foreword.  In
+the last five years a lot of work has been done to refine NCO.  NCO is
+now an open source project and appears to be much healthier for it.  The
+list of illustrious institutions that do not endorse NCO continues to
+grow, and now includes UCI.
+
+Charlie Zender
+October 2000
+Irvine, California
+
+
+
+   The most remarkable advances in NCO capabilities in the last few
+years are due to contributions from the Open Source community.
+Especially noteworthy are the contributions of Henry Butowsky and Rorik
+Peterson.
+
+Charlie Zender
+January 2003
+Irvine, California
+
+
+
+   NCO was generously supported from 2004-2008 by US National Science
+Foundation (NSF) grant IIS-0431203
+(http://www.nsf.gov/awardsearch/showAward.do?AwardNumber=0431203).  This
+support allowed me to maintain and extend core NCO code, and others to
+advance NCO in new directions: Gayathri Venkitachalam helped implement
+MPI; Harry Mangalam improved regression testing and benchmarking; Daniel
+Wang developed the server-side capability, SWAMP; and Henry Butowsky, a
+long-time contributor, developed 'ncap2'.  This support also led NCO to
+debut in professional journals and meetings.  The personal and
+professional contacts made during this evolution have been immensely
+rewarding.
+
+Charlie Zender
+March 2008
+Grenoble, France
+
+
+
+   The end of the NSF SEI grant in August, 2008 curtailed NCO
+development.  Fortunately we could justify supporting Henry Butowsky on
+other research grants until May, 2010 while he developed the key 'ncap2'
+features used in our climate research.  And recentely the NASA ACCESS
+program commenced funding NCO support for netCDF4 group functionality.
+Thus NCO will grow and evade bit-rot for the foreseeable future.
+
+   On a personal level, I continue to receive with gratitude the thanks
+of NCO users at nearly every scientific meeting I attend.  People
+introduce themselves, shake my hand and extol, sometimes rather
+effusively, these time-saving tools.  These exchanges lighten me like
+anti-gravity.  Sometimes I daydream how many hours NCO has turned from
+grunt work to productive research for researchers world-wide, or from
+research into early happy hours.  It's a cool feeling.
+
+
+Charlie Zender
+April, 2012
+Irvine, California
+
+Summary
+*******
+
+This manual describes NCO, which stands for netCDF Operators.  NCO is a
+suite of programs known as "operators".  Each operator is a standalone,
+command line program executed at the shell-level like, e.g., 'ls' or
+'mkdir'.  The operators take netCDF files (including HDF5 files
+constructed using the netCDF API) as input, perform an operation (e.g.,
+averaging or hyperslabbing), and produce a netCDF file as output.  The
+operators are primarily designed to aid manipulation and analysis of
+data.  The examples in this documentation are typical applications of
+the operators for processing climate model output.  This stems from
+their origin, though the operators are as general as netCDF itself.
+
+1 Introduction
+**************
+
+1.1 Availability
+================
+
+The complete NCO source distribution is currently distributed as a
+"compressed tarfile" from <http://sf.net/projects/nco> and from
+<http://dust.ess.uci.edu/nco/nco.tar.gz>.  The compressed tarfile must
+be uncompressed and untarred before building NCO.  Uncompress the file
+with 'gunzip nco.tar.gz'.  Extract the source files from the resulting
+tarfile with 'tar -xvf nco.tar'.  GNU 'tar' lets you perform both
+operations in one step with 'tar -xvzf nco.tar.gz'.
+
+   The documentation for NCO is called the 'NCO User Guide'.  The 'User
+Guide' is available in PDF, Postscript, HTML, DVI, TeXinfo, and Info
+formats.  These formats are included in the source distribution in the
+files 'nco.pdf', 'nco.ps', 'nco.html', 'nco.dvi', 'nco.texi', and
+'nco.info*', respectively.  All the documentation descends from a single
+source file, 'nco.texi' (1).  Hence the documentation in every format is
+very similar.  However, some of the complex mathematical expressions
+needed to describe 'ncwa' can only be displayed in DVI, Postscript, and
+PDF formats.
+
+   A complete list of papers and publications on/about NCO is available
+on the NCO homepage.  Most of these are freely available.  The primary
+refereed publications are ZeM06 and Zen08.  These contain copyright
+restrictions which limit their redistribution, but they are freely
+available in preprint form from the NCO.
+
+   If you want to quickly see what the latest improvements in NCO are
+(without downloading the entire source distribution), visit the NCO
+homepage at <http://nco.sf.net>.  The HTML version of the 'User Guide'
+is also available online through the World Wide Web at URL
+<http://nco.sf.net/nco.html>.  To build and use NCO, you must have
+netCDF installed.  The netCDF homepage is
+<http://www.unidata.ucar.edu/packages/netcdf>.
+
+   New NCO releases are announced on the netCDF list and on the
+'nco-announce' mailing list
+<http://lists.sf.net/mailman/listinfo/nco-announce>.
+
+   ---------- Footnotes ----------
+
+   (1) To produce these formats, 'nco.texi' was simply run through the
+freely available programs 'texi2dvi', 'dvips', 'texi2html', and
+'makeinfo'.  Due to a bug in TeX, the resulting Postscript file,
+'nco.ps', contains the Table of Contents as the final pages.  Thus if
+you print 'nco.ps', remember to insert the Table of Contents after the
+cover sheet before you staple the manual.
+
+1.2 How to Use This Guide
+=========================
+
+Detailed instructions about how to download the newest version
+(http://nco.sf.net/#Source), and how to complie source code
+(http://nco.sf.net/#bld), as well as a FAQ (http://nco.sf.net/#FAQ) and
+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.2).  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
+Common features::).  More specific use examples for each operator can be
+seen by visiting the operator-specific examples in the *note Operator
+Reference Manual::.  These can be found directly by prepending the
+operator name with the 'xmp_' tag, e.g.,
+<http://nco.sf.net/nco.html#xmp_ncks>.  Also, users can type the
+operator name on the shell command line to see all the available
+options, or type, e.g., 'man ncks' to see a help man-page.
+
+   NCO is a command-line language.  You can either use an operator after
+the prompt (e.g., '$' here), like,
+     $ operator [options] input [output]
+   or write all commands lines into a shell script, as in the CMIP5
+Example (*note CMIP5 Example::).
+
+   If you are new to NCO, the Quick Start (*note Quick Start::) shows
+simple examples about how to use NCO on different kinds of data files.
+More detailed "real-world" examples are in the *note CMIP5 Example:
+CMIP5 Example.  The *note Index: General Index. is presents multiple
+keyword entries for the same subject.  If these resources do not help
+enough, please *note Help Requests and Bug Reports::.
+
+1.3 Operating systems compatible with NCO
+=========================================
+
+NCO has been successfully ported and tested and is known to work on the
+following 32- and 64-bit platforms: IBM AIX 4.x, 5.x, FreeBSD 4.x,
+GNU/Linux 2.x, LinuxPPC, LinuxAlpha, LinuxARM, LinuxSparc64, SGI IRIX
+5.x and 6.x, MacOS X 10.x, NEC Super-UX 10.x, DEC OSF, Sun SunOS 4.1.x,
+Solaris 2.x, Cray UNICOS 8.x-10.x, and MS Windows95 and all later
+versions.  If you port the code to a new operating system, please send
+me a note and any patches you required.
+
+   The major prerequisite for installing NCO on a particular platform is
+the successful, prior installation of the netCDF library (and, as of
+2003, the UDUnits library).  Unidata has shown a commitment to
+maintaining netCDF and UDUnits on all popular UNIX platforms, and is
+moving towards full support for the Microsoft Windows operating system
+(OS).  Given this, the only difficulty in implementing NCO on a
+particular platform is standardization of various C-language API system
+calls.  NCO code is tested for ANSI compliance by compiling with C99 compilers
+including those from GNU ('gcc -std=c99 -pedantic -D_BSD_SOURCE
+-D_POSIX_SOURCE' -Wall) (1), Comeau Computing ('como --c99'), Cray
+('cc'), HP/Compaq/DEC ('cc'), IBM ('xlc -c -qlanglvl=extc99'), Intel
+('icc -std=c99'), LLVM ('clang'), NEC ('cc'), PathScale (QLogic)
+('pathcc -std=c99'), PGI ('pgcc -c9x'), SGI ('cc -c99'), and Sun ('cc').
+NCO (all commands and the 'libnco' library) and the C++ interface to
+netCDF (called 'libnco_c++') comply with the ISO C++ standards as
+implemented by Comeau Computing ('como'), Cray ('CC'), GNU ('g++
+-Wall'), HP/Compaq/DEC ('cxx'), IBM ('xlC'), Intel ('icc'), Microsoft
+('MVS'), NEC ('c++'), PathScale (Qlogic) ('pathCC'), PGI ('pgCC'), SGI
+('CC -LANG:std'), and Sun ('CC -LANG:std').  See 'nco/bld/Makefile' and
+'nco/src/nco_c++/Makefile.old' for more details and exact settings.
+
+   Until recently (and not even yet), ANSI-compliant has meant
+compliance with the 1989 ISO C-standard, usually called C89 (with minor
+revisions made in 1994 and 1995).  C89 lacks variable-size arrays,
+restricted pointers, some useful 'printf' formats, and many mathematical
+special functions.  These are valuable features of C99, the 1999 ISO
+C-standard.  NCO is C99-compliant where possible and C89-compliant where
+necessary.  Certain branches in the code are required to satisfy the
+native SGI and SunOS C compilers, which are strictly ANSI C89 compliant,
+and cannot benefit from C99 features.  However, C99 features are fully
+supported by modern AIX, GNU, Intel, NEC, Solaris, and UNICOS compilers.
+NCO requires a C99-compliant compiler as of NCO version 2.9.8, released
+in August, 2004.
+
+   The most time-intensive portion of NCO execution is spent in
+arithmetic operations, e.g., multiplication, averaging, subtraction.
+These operations were performed in Fortran by default until August,
+1999.  This was a design decision based on the relative speed of
+Fortran-based object code vs. C-based object code in late 1994.  C compiler
+vectorization capabilities have dramatically improved since 1994.  We
+have accordingly replaced all Fortran subroutines with C functions.
+This greatly simplifies the task of building NCO on nominally
+unsupported platforms.  As of August 1999, NCO built entirely in C by
+default.  This allowed NCO to compile on any machine with an ANSI
+C compiler.  In August 2004, the first C99 feature, the 'restrict' type
+qualifier, entered NCO in version 2.9.8.  C compilers can obtain better
+performance with C99 restricted pointers since they inform the compiler
+when it may make Fortran-like assumptions regarding pointer contents
+alteration.  Subsequently, NCO requires a C99 compiler to build
+correctly (2).
+
+   In January 2009, NCO version 3.9.6 was the first to link to the GNU
+Scientific Library (GSL).  GSL must be version 1.4 or later.  NCO, in
+particular 'ncap2', uses the GSL special function library to evaluate
+geoscience-relevant mathematics such as Bessel functions, Legendre
+polynomials, and incomplete gamma functions (*note GSL special
+functions::).
+
+   In June 2005, NCO version 3.0.1 began to take advantage of C99
+mathematical special functions.  These include the standarized gamma
+function (called 'tgamma()' for "true gamma").  NCO automagically takes
+advantage of some GNU Compiler Collection (GCC) extensions to ANSI C.
+
+   As of July 2000 and NCO version 1.2, NCO no longer performs
+arithmetic operations in Fortran.  We decided to sacrifice executable
+speed for code maintainability.  Since no objective statistics were ever
+performed to quantify the difference in speed between the Fortran and
+C code, the performance penalty incurred by this decision is unknown.
+Supporting Fortran involves maintaining two sets of routines for every
+arithmetic operation.  The 'USE_FORTRAN_ARITHMETIC' flag is still
+retained in the 'Makefile'.  The file containing the Fortran code,
+'nco_fortran.F', has been deprecated but a volunteer (Dr. Frankenstein?)
+could resurrect it.  If you would like to volunteer to maintain
+'nco_fortran.F' please contact me.
+
+   ---------- Footnotes ----------
+
+   (1) The '_BSD_SOURCE' token is required on some Linux platforms where
+'gcc' dislikes the network header files like 'netinet/in.h').
+
+   (2) NCO may still build with an ANSI or ISO C89 or C94/95-compliant
+compiler if the C pre-processor undefines the 'restrict' type qualifier,
+e.g., by invoking the compiler with '-Drestrict='''.
+
+1.3.1 Compiling NCO for Microsoft Windows OS
+--------------------------------------------
+
+NCO has been successfully ported and tested on most Microsoft Windows
+operating systems including: 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.  The switches necessary to accomplish both
+are included in the standard distribution of NCO.
+
+   Using Microsoft Visual Studio (MVS), one must build NCO with the C++
+compiler since MVS does not support C99.  Qt, a convenient integrated
+development environment, was used to convert the project files to MVS
+format.  The Qt files themselves are distributed in the 'nco/qt'
+directory.
+
+   Using the freely available Cygwin (formerly gnu-win32) development
+environment (1), the compilation process is very similar to installing
+NCO on a UNIX system.  Set the 'PVM_ARCH' preprocessor token to 'WIN32'.
+Note that defining 'WIN32' has the side effect of disabling Internet
+features of NCO (see below).  NCO should now build like it does on UNIX.
+
+   The least portable section of the code is the use of standard UNIX
+and Internet protocols (e.g., 'ftp', 'rcp', 'scp', 'sftp', 'getuid',
+'gethostname', and header files '<arpa/nameser.h>' and '<resolv.h>').
+Fortunately, these UNIX-y calls are only invoked by the single NCO
+subroutine which is responsible for retrieving files stored on remote
+systems (*note Remote storage::).  In order to support NCO on the
+Microsoft Windows platforms, this single feature was disabled (on
+Windows OS only).  This was required by Cygwin 18.x--newer versions of
+Cygwin may support these protocols (let me know if this is the case).
+The NCO operators should behave identically on Windows and UNIX
+platforms in all other respects.
+
+   ---------- Footnotes ----------
+
+   (1) The Cygwin package is available from
+'http://sourceware.redhat.com/cygwin'
+Currently, Cygwin 20.x comes with the GNU C/C++ compilers ('gcc', 'g++'.
+These GNU compilers may be used to build the netCDF distribution itself.
+
+1.4 Symbolic Links
+==================
+
+NCO relies on a common set of underlying algorithms.  To minimize
+duplication of source code, multiple operators sometimes share the same
+underlying source.  This is accomplished by symbolic links from a single
+underlying executable program to one or more invoked executable names.
+For example, 'nces' and 'ncrcat' are symbolically linked to the 'ncra'
+executable.  The 'ncra' executable behaves slightly differently based on
+its invocation name (i.e., 'argv[0]'), which can be 'nces', 'ncra', or
+'ncrcat'.  Logically, these are three different operators that happen to
+share the same executable.
+
+   For historical reasons, and to be more user friendly, multiple
+synonyms (or pseudonyms) may refer to the same operator invoked with
+different switches.  For example, 'ncdiff' is the same as 'ncbo' and
+'ncpack' is the same as 'ncpdq'.  We implement the symbolic links and
+synonyms by the executing the following UNIX commands in the directory
+where the NCO executables are installed.
+     ln -s -f ncbo ncdiff    # ncbo --op_typ='+'
+     ln -s -f ncra ncecat    # ncra --pseudonym='ncecat'
+     ln -s -f ncra ncrcat    # ncra --pseudonym='ncrcat'
+     ln -s -f ncbo ncadd     # ncbo --op_typ='+'
+     ln -s -f ncbo ncsubtract # ncbo --op_typ='-'
+     ln -s -f ncbo ncmultiply # ncbo --op_typ='*'
+     ln -s -f ncbo ncdivide   # ncbo --op_typ='/'
+     ln -s -f ncpdq ncpack    # ncpdq
+     ln -s -f ncpdq ncunpack  # ncpdq --unpack
+     # NB: Cygwin executable (and link) names have an '.exe' suffix, e.g.,
+     ln -s -f ncbo.exe ncdiff.exe
+     ...
+   The imputed command called by the link is given after the comment.
+As can be seen, some these links impute the passing of a command line
+argument to further modify the behavior of the underlying executable.
+For example, 'ncdivide' is a pseudonym for 'ncbo --op_typ='/''.
+
+1.5 Libraries
+=============
+
+Like all executables, the NCO operators can be built using dynamic
+linking.  This reduces the size of the executable and can result in
+significant performance enhancements on multiuser systems.
+Unfortunately, if your library search path (usually the
+'LD_LIBRARY_PATH' environment variable) is not set correctly, or if the
+system libraries have been moved, renamed, or deleted since NCO was
+installed, it is possible NCO operators will fail with a message that
+they cannot find a dynamically loaded (aka "shared object" or '.so')
+library.  This will produce a distinctive error message, such as
+'ld.so.1: /usr/local/bin/nces: fatal: libsunmath.so.1: can't open file:
+errno=2'.  If you received an error message like this, ask your system
+administrator to diagnose whether the library is truly missing (1), or
+whether you simply need to alter your library search path.  As a final
+remedy, you may re-compile and install NCO with all operators statically
+linked.
+
+   ---------- Footnotes ----------
+
+   (1) The 'ldd' command, if it is available on your system, will tell
+you where the executable is looking for each dynamically loaded library.
+Use, e.g., 'ldd `which nces`'.
+
+1.6 netCDF2/3/4 and HDF4/5 Support
+==================================
+
+netCDF version 2 was released in 1993.  NCO (specifically 'ncks') began
+soon after this in 1994.  netCDF 3.0 was released in 1996, and we were
+not exactly eager to convert all code to the newer, less tested netCDF
+implementation.  One netCDF3 interface call ('nc_inq_libvers') was added
+to NCO in January, 1998, to aid in maintainance and debugging.  In
+March, 2001, the final NCO conversion to netCDF3 was completed
+(coincidentally on the same day netCDF 3.5 was released).  NCO versions 2.0
+and higher are built with the '-DNO_NETCDF_2' flag to ensure no netCDF2
+interface calls are used.
+
+   However, the ability to compile NCO with only netCDF2 calls is worth
+maintaining because HDF version 4, aka HDF4 or simply HDF, (1)
+(available from HDF (http://hdfgroup.org)) supports only the netCDF2
+library calls (see
+<http://hdfgroup.org/UG41r3_html/SDS_SD.fm12.html#47784>).  There are
+two versions of HDF.  Currently HDF version 4.x supports the full netCDF2
+API and thus NCO version 1.2.x.  If NCO version 1.2.x (or earlier) is
+built with only netCDF2 calls then all NCO operators should work with
+HDF4 files as well as netCDF files (2).  The preprocessor token
+'NETCDF2_ONLY' exists in NCO version 1.2.x to eliminate all netCDF3
+calls.  Only versions of NCO numbered 1.2.x and earlier have this
+capability.
+
+   HDF version 5 became available in 1999, but did not support netCDF
+(or, for that matter, Fortran) as of December 1999.  By early 2001, HDF5
+did support Fortran90.  Thanks to an NSF-funded "harmonization"
+partnership, HDF began to fully support the netCDF3 read interface
+(which is employed by NCO 2.x and later).  In 2004, Unidata and THG
+began a project to implement the HDF5 features necessary to support the
+netCDF API. NCO version 3.0.3 added support for reading/writing
+netCDF4-formatted HDF5 files in October, 2005.  See *note File Formats
+and Conversion:: for more details.
+
+   HDF support for netCDF was completed with HDF5 version version 1.8 in
+2007.  The netCDF front-end that uses this HDF5 back-end was completed
+and released soon after as netCDF version 4.  Download it from the
+netCDF4 (http://my.unidata.ucar.edu/content/software/netcdf/netcdf-4)
+website.
+
+   NCO version 3.9.0, released in May, 2007, added support for all
+netCDF4 atomic data types except 'NC_STRING'.  Support for 'NC_STRING',
+including ragged arrays of strings, was finally added in version 3.9.9,
+released in June, 2009.  Support for additional netCDF4 features has
+been incremental.  We add one netCDF4 feature at a time.  You must build
+NCO with netCDF4 to obtain this support.
+
+   The main netCDF4 features that NCO currently supports are the new
+atomic data types, Lempel-Ziv compression (deflation), and chunking.
+The new atomic data types are 'NC_UBYTE', 'NC_USHORT', 'NC_UINT',
+'NC_INT64', and 'NC_UINT64'.  Eight-byte integer support is an
+especially useful improvement from netCDF3.  All NCO operators support
+these types, e.g., 'ncks' copies and prints them, 'ncra' averages them,
+and 'ncap2' processes algebraic scripts with them.  'ncks' prints
+compression information, if any, to screen.
+
+   NCO version 3.9.1 (June, 2007) added support for netCDF4 Lempel-Ziv
+deflation.  Lempel-Ziv deflation is a lossless compression technique.
+See *note Deflation:: for more details.
+
+   NCO version 3.9.9 (June, 2009) added support for netCDF4 chunking in
+'ncks' and 'ncecat'.  NCO version 4.0.4 (September, 2010) completed
+support for netCDF4 chunking in the remaining operators.  See *note
+Chunking:: for more details.
+
+   NCO version 4.2.2 (October, 2012) added support for netCDF4 groups in
+'ncks' and 'ncecat'.  Group support for these operators was complete
+(e.g., regular expressions to select groups and Group Path Editing) as
+of NCO version 4.2.6 (March, 2013).  See *note Group Path Editing:: for
+more details.  Group support for all other operators was finished in the
+NCO version 4.3.x series completed in December, 2013.
+
+   Support for netCDF4 in the first arithmetic operator, 'ncbo', was
+introduced in NCO version 4.3.0 (March, 2013).  NCO version 4.3.1 (May,
+2013) completed this support and introduced the first example of
+automatic group broadcasting.  See *note ncbo netCDF Binary Operator::
+for more details.
+
+   netCDF4-enabled NCO handles netCDF3 files without change.  In
+addition, it automagically handles netCDF4 (HDF5) files: If you feed NCO
+netCDF3 files, it produces netCDF3 output.  If you feed NCO netCDF4
+files, it produces netCDF4 output.  Use the handy-dandy '-4' switch to
+request netCDF4 output from netCDF3 input, i.e., to convert netCDF3 to
+netCDF4.  See *note File Formats and Conversion:: for more details.
+
+   When linked to a netCDF library that was built with HDF4 support (3),
+NCO automatically supports reading HDF4 files and writing them as
+netCDF3/netCDF4/HDF5 files.  NCO can only write through the netCDF API,
+which can only write netCDF3/netCDF4/HDF5 files.  So NCO can _read_ HDF4
+files, perform manipulations and calculations, and then _write_ the
+results in netCDF format.
+
+   Full support for these features is forthcoming, yet support as of
+December, 2013 is quite functional.  For best results install NCO
+versions 4.4.0 or later on top of netCDF versions 4.3.1 or later.
+Getting to this point has been an iterative effort where Unidata
+improved netCDF library capabilities in response to our requests.  NCO
+versions 4.3.6 and earlier do not explicitly support HDF4, yet should
+work with HDF4 if compiled with a version of netCDF (4.3.2 or later?)
+that does not unexpectedly die when probing HDF4 files with standard
+netCDF calls.  NCO versions 4.3.7-4.3.9 (October-December, 2013) use a
+special flag to workaround netCDF HDF4 issues.  The user must tell these
+versions of NCO that an input file is HDF4 format by using the '--hdf4'
+switch.
+
+   When compiled with netCDF version 4.3.1 (20140116) or later, NCO
+versions 4.4.0 (January, 2014) and later more gracefully handle HDF4
+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
+calls not yet supported by the netCDF4 subset HDF4.  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.,
+     ncks        fl.hdf fl.nc # Convert HDF4->netCDF4 (NCO 4.4.0+, netCDF 4.3.1+)
+     ncks --hdf4 fl.hdf fl.nc # Convert HDF4->netCDF4 (NCO 4.3.7-4.3.9)
+   The most efficient and accurate way to convert HDF4 data to netCDF
+format is to convert to netCDF4 using NCO as above.  It suffices when
+the data will only be processed by NCO, or other netCDF4-aware tools.
+However, many tools are not fully netCDF4-aware, and so conversion to
+netCDF3 may be desirable.
+
+   Obtaining a netCDF3 file from an HDF4 is now easy, even though the
+HDF4 file may contain netCDF4 atomic types (e.g., unsigned bytes, 64-bit
+integers):
+     ncks -3 fl.hdf fl.nc      # HDF4->netCDF3 (NCO 4.4.0+, netCDF 4.3.1+)
+     ncks -7 -L 1 fl.hdf fl.nc # HDF4->netCDF4 (NCO 4.4.0+, netCDF 4.3.1+)
+     ncks --hdf4 -3 fl.hdf fl.nc # HDF4->netCDF3 (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 with
+netCDF4 atomic types (4).  Many HDF4 producers (NASA!)  love to use
+netCDF4 types, e.g., unsigned bytes.
+
+   As of 2012, netCDF4 is relatively stable software.  Problems with
+netCDF4 and HDF libraries have mainly been fixed.  Binary NCO
+distributions shipped as RPMs and as debs have used the netCDF4 library
+since 2010 and 2011, respectively.
+
+   One must often build NCO from source to obtain netCDF4 support.
+Typically, one specifies the root of the netCDF4 installation directory.
+Do this with the 'NETCDF4_ROOT' variable.  Then use your preferred NCO
+build mechanism, e.g.,
+     export NETCDF4_ROOT=/usr/local/netcdf4 # Set netCDF4 location
+     cd ~/nco;./configure --enable-netcdf4  # Configure mechanism -or-
+     cd ~/nco/bld;./make NETCDF4=Y allinone # Old Makefile mechanism
+
+   We carefully track the netCDF4 releases, and keep the netCDF4 atomic
+type support and other features working.  Our long term goal is to
+utilize more of the extensive new netCDF4 feature set.  The next major
+netCDF4 feature we are likely to utilize is parallel I/O. We will enable
+this in the MPI netCDF operators.
+
+   ---------- Footnotes ----------
+
+   (1) The Hierarchical Data Format, or HDF, is another self-describing
+data format similar to, but more elaborate than, netCDF. HDF comes in
+two flavors, HDF4 and HDF5.  Often people use the shorthand HDF to refer
+to the older format HDF4.  People almost always use HDF5 to refer to
+HDF5.
+
+   (2) One must link the NCO code to the HDF4 MFHDF library instead of
+the usual netCDF library.  Apparently 'MF' stands for Multi-file not for
+Mike Folk.  In any case, until about 2007 the MFHDF library only
+supported netCDF2 calls.  Most people will never again install NCO 1.2.x
+and so will never use NCO to write HDF4 files.  It is simply too much
+trouble.
+
+   (3) The procedure for doing this is documented at
+<http://www.unidata.ucar.edu/software/netcdf/docs/build_hdf4.html>.
+
+   (4) Prior to NCO version 4.4.0 (January, 2014), we recommend the
+'ncl_convert2nc' tool to convert HDF to netCDF3 when both these are
+true: 1. You must have netCDF3 and 2. the HDF file contains netCDF4
+atomic types.  More recent versions of NCO handle this problem fine, so
+we no longer recommend 'ncl_convert2nc' because 'ncks' is faster and
+more space-efficient.  Both automatically convert netCDF4 types to
+netCDF3 types, yet 'ncl_convert2nc' cannot produce full netCDF4 files.
+In contrast, 'ncks' will happily convert HDF straight to netCDF4 files
+with netCDF4 types.  Hence 'ncks' can and does preserve the variable
+types.  Unsigned bytes stay unsigned bytes.  64-bit integers stay 64-bit
+integers.  Strings stay strings.  Hence, 'ncks' conversions often result
+in smaller files than 'ncl_convert2nc' conversions.
+
+1.7 Help Requests and Bug Reports
+=================================
+
+We generally receive three categories of mail from users: help requests,
+bug reports, and feature requests.  Notes saying the equivalent of "Hey,
+NCO continues to work great and it saves me more time everyday than it
+took to write this note" are a distant fourth.
+
+   There is a different protocol for each type of request.  The
+preferred etiquette for all communications is via NCO Project Forums.
+Do not contact project members via personal e-mail unless your request
+comes with money or you have damaging information about our personal
+lives.  _Please use the Forums_--they preserve a record of the questions
+and answers so that others can learn from our exchange.  Also, since NCO
+is government-funded, this record helps us provide program officers with
+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
+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.
+
+   If you want us to include a new feature in NCO, check first to see if
+that feature is already on the TODO (file:./TODO) list.  If it is, why
+not implement that feature yourself and send us the patch?  If the
+feature is not yet on the list, then send a note to the NCO Discussion
+forum (http://sf.net/projects/nco/forums/forum/9829).
+
+   Read the manual before reporting a bug or posting a help request.
+Sending questions whose answers are not in the manual is the best way to
+motivate us to write more documentation.  We would also like to
+accentuate the contrapositive of this statement.  If you think you have
+found a real bug _the most helpful thing you can do is simplify the
+problem to a manageable size and then report it_.  The first thing to do
+is to make sure you are running the latest publicly released version of
+NCO.
+
+   Once you have read the manual, if you are still unable to get NCO 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).  That is, describe what you are trying to do, and include the
+complete commands (run with '-D 5'), error messages, and version of NCO
+(with '-r').  Post your help request to the NCO Help forum
+(http://sf.net/projects/nco/forums/forum/9830).
+
+   If you think you used the right command when NCO misbehaves, then you
+might have found a bug.  Incorrect numerical answers are the highest
+priority.  We usually fix those within one or two days.  Core dumps and
+sementation violations receive lower priority.  They are always fixed,
+eventually.
+
+   How do you simplify a problem that reveal a bug?  Cut out extraneous
+variables, dimensions, and metadata from the offending files and re-run
+the command until it no longer breaks.  Then back up one step and report
+the problem.  Usually the file(s) will be very small, i.e., one variable
+with one or two small dimensions ought to suffice.  Run the operator
+with '-r' and then run the command with '-D 5' to increase the verbosity
+of the debugging output.  It is very important that your report contain
+the exact error messages and compile-time environment.  Include a copy
+of your sample input file, or place one on a publically accessible
+location, of the file(s).  Post the full bug report to the NCO Project
+buglist (http://sf.net/bugs/?group_id=3331).
+
+   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 are the three files output by GNU build tools,
+'nco.config.log.${GNU_TRP}.foo', 'nco.configure.${GNU_TRP}.foo', and
+'nco.make.${GNU_TRP}.foo'.  The file 'configure.eg' shows how to produce
+these files.  Here '${GNU_TRP}' is the "GNU architecture triplet", the
+CHIP-VENDOR-OS string returned by 'config.guess'.  Please send us your
+improvements to the examples supplied in 'configure.eg'.  The
+regressions archive at <http://dust.ess.uci.edu/nco/rgr> contains the
+build output from our standard test systems.  You may find you can solve
+the build problem yourself by examining the differences between these
+files and your own.
+
+2 Operator Strategies
+*********************
+
+2.1 Philosophy
+==============
+
+The main design goal is command line operators which perform useful,
+scriptable operations on netCDF files.  Many scientists work with models
+and observations which produce too much data to analyze in tabular
+format.  Thus, it is often natural to reduce and massage this raw or
+primary level data into summary, or second level data, e.g., temporal or
+spatial averages.  These second level data may become the inputs to
+graphical and statistical packages, and are often more suitable for
+archival and dissemination to the scientific community.  NCO performs a
+suite of operations useful in manipulating data from the primary to the
+second level state.  Higher level interpretive languages (e.g., IDL,
+Yorick, Matlab, NCL, Perl, Python), and lower level compiled languages
+(e.g., C, Fortran) can always perform any task performed by NCO, but
+often with more overhead.  NCO, on the other hand, is limited to a much
+smaller set of arithmetic and metadata operations than these full blown
+languages.
+
+   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.  Finally, NCO was written to consume the
+absolute minimum amount of system memory required to perform a given
+job.  The arithmetic operators are extremely efficient; their exact
+memory usage is detailed in *note Memory Requirements::.
+
+2.2 Climate Model Paradigm
+==========================
+
+NCO was developed at NCAR to aid analysis and manipulation of datasets
+produced by General Circulation Models (GCMs).  GCM datasets share many
+features with other gridded scientific datasets and so provide a useful
+paradigm for the explication of the NCO operator set.  Examples in this
+manual use a GCM paradigm because latitude, longitude, time, temperature
+and other fields related to our natural environment are as easy to
+visualize for the layman as the expert.
+
+2.3 Temporary Output Files
+==========================
+
+NCO operators are designed to be reasonably fault tolerant, so that a
+system failure or user-abort of the operation (e.g., with 'C-c') does
+not cause loss of data.  The user-specified OUTPUT-FILE is only created
+upon successful completion of the operation (1).  This is accomplished
+by performing all operations in a temporary copy of OUTPUT-FILE.  The
+name of the temporary output file is constructed by appending
+'.pid<PROCESS ID>.<OPERATOR NAME>.tmp' to the user-specified OUTPUT-FILE
+name.  When the operator completes its task with no fatal errors, the
+temporary output file is moved to the user-specified OUTPUT-FILE.  This
+imbues the process with fault-tolerance since fatal error (e.g., disk
+space fills up) affect only the temporary output file, leaving the final
+output file not created if it did not already exist.  Note the
+construction of a temporary output file uses more disk space than just
+overwriting existing files "in place" (because there may be two copies
+of the same file on disk until the NCO operation successfully concludes
+and the temporary output file overwrites the existing OUTPUT-FILE).
+Also, note this feature increases the execution time of the operator by
+approximately the time it takes to copy the OUTPUT-FILE (2).  Finally,
+note this fault-tolerant feature allows the OUTPUT-FILE to be the same
+as the INPUT-FILE without any danger of "overlap".
+
+   Over time many "power users" have requested a way to turn-off the
+fault-tolerance safety feature of automatically creating a temporary
+file.  Often these users build and execute production data analysis
+scripts that are repeated frequently on large datasets.  Obviating an
+extra file write can then conserve significant disk space and time.  For
+this purpose NCO has, since version 4.2.1 in August, 2012, made
+configurable the controls over temporary file creation.  The
+'--wrt_tmp_fl' and equivalent '--write_tmp_fl' switches ensure NCO
+writes output to an intermediate temporary file.  This is and has always
+been the default behavior so there is currently no need to specify these
+switches.  However, the default may change some day, especially since
+writing to RAM disks (*note RAM disks::) may some day become the
+default.  The '--no_tmp_fl' switch causes NCO to write directly to the
+final output file instead of to an intermediate temporary file.  "Power
+users" may wish to invoke this switch to increase performance (i.e.,
+reduce wallclock time) when manipulating large files.  When eschewing
+temporary files, users may forsake the ability to have the same name for
+both OUTPUT-FILE and INPUT-FILE since, as described above, the temporary
+file prevented overlap issues.  However, if the user creates the output
+file in RAM (*note RAM disks::) then it is still possible to have the
+same name for both OUTPUT-FILE and INPUT-FILE.
+     ncks in.nc out.nc # Default: create out.pid.tmp.nc then move to out.nc
+     ncks --wrt_tmp_fl in.nc out.nc # Same as default
+     ncks --no_tmp_fl in.nc out.nc # Create out.nc directly on disk
+     ncks --no_tmp_fl in.nc in.nc # ERROR-prone! Overwrite in.nc with itself
+     ncks --create_ram --no_tmp_fl in.nc in.nc # Create in RAM, write to disk
+     ncks --open_ram --no_tmp_fl in.nc in.nc # Read into RAM, write to disk
+There is no reason to expect the fourth example to work.  The behavior
+of overwriting a file while reading from the same file is undefined,
+much as is the shell command 'cat foo > foo'.  Although it may "work" in
+some cases, it is unreliable.  One way around this is to use
+'--create_ram' so that the output file is not written to disk until the
+input file is closed, *Note RAM disks::.  However, as of 20130328, the
+behavior of the '--create_ram' and '--open_ram' examples has not been
+thoroughly tested.
+
+   The NCO authors have seen compelling use cases for utilizing the RAM
+switches, though not (yet) for combining them with '--no_tmp_fl'.  NCO
+implements both options because they are largely independent of
+eachother.  It is up to "power users" to discover which best fit their
+needs.  We welcome accounts of your experiences posted to the forums.
+
+   Other safeguards exist to protect the user from inadvertently
+overwriting data.  If the OUTPUT-FILE specified for a command is a
+pre-existing file, then the operator will prompt the user whether to
+overwrite (erase) the existing OUTPUT-FILE, attempt to append to it, or
+abort the operation.  However, in processing large amounts of data, too
+many interactive questions slows productivity.  Therefore NCO also
+implements two ways to override its own safety features, the '-O' and
+'-A' switches.  Specifying '-O' tells the operator to overwrite any
+existing OUTPUT-FILE without prompting the user interactively.
+Specifying '-A' tells the operator to attempt to append to any existing
+OUTPUT-FILE without prompting the user interactively.  These switches
+are useful in batch environments because they suppress interactive
+keyboard input.
+
+   ---------- Footnotes ----------
+
+   (1) The 'ncrename' and 'ncatted' operators are exceptions to this
+rule.  *Note ncrename netCDF Renamer::.
+
+   (2) The OS-specific system move command is used.  This is 'mv' for
+UNIX, and 'move' for Windows.
+
+2.4 Appending Variables
+=======================
+
+Adding variables from one file to another is often desirable.  This is
+referred to as "appending", although some prefer the terminology
+"merging" (1) or "pasting".  Appending is often confused with what NCO
+calls "concatenation".  In NCO, concatenation refers to splicing a
+variable along the record dimension.  The length along the record
+dimension of the output is the sum of the lengths of the input files.
+Appending, on the other hand, refers to copying a variable from one file
+to another file which may or may not already contain the variable (2).
+NCO can append or concatenate just one variable, or all the variables in
+a file at the same time.
+
+   In this sense, 'ncks' can append variables from one file to another
+file.  This capability is invoked by naming two files on the command
+line, INPUT-FILE and OUTPUT-FILE.  When OUTPUT-FILE already exists, the
+user is prompted whether to "overwrite", "append/replace", or "exit"
+from the command.  Selecting "overwrite" tells the operator to erase the
+existing OUTPUT-FILE and replace it with the results of the operation.
+Selecting "exit" causes the operator to exit--the OUTPUT-FILE will not
+be touched in this case.  Selecting "append/replace" causes the operator
+to attempt to place the results of the operation in the existing
+OUTPUT-FILE, *Note ncks netCDF Kitchen Sink::.
+
+   The simplest way to create the union of two files is
+     ncks -A fl_1.nc fl_2.nc
+   This puts the contents of 'fl_1.nc' into 'fl_2.nc'.  The '-A' is
+optional.  On output, 'fl_2.nc' is the union of the input files,
+regardless of whether they share dimensions and variables, or are
+completely disjoint.  The append fails if the input files have
+differently named record dimensions (since netCDF supports only one), or
+have dimensions of the same name but different sizes.
+
+   ---------- Footnotes ----------
+
+   (1) The terminology "merging" is reserved for an (unwritten) operator
+which replaces hyperslabs of a variable in one file with hyperslabs of
+the same variable from another file
+
+   (2) Yes, the terminology is confusing.  By all means mail me if you
+think of a better nomenclature.  Should NCO use "paste" instead of
+"append"?
+
+2.5 Simple Arithmetic and Interpolation
+=======================================
+
+Users comfortable with NCO semantics may find it easier to perform some
+simple mathematical operations in NCO rather than higher level
+languages.  'ncbo' (*note ncbo netCDF Binary Operator::) does file
+addition, subtraction, multiplication, division, and broadcasting.  It
+even does group broadcasting.  'ncflint' (*note ncflint netCDF File
+Interpolator::) does file addition, subtraction, multiplication and
+interpolation.  Sequences of these commands can accomplish simple yet
+powerful operations from the command line.
+
+2.6 Statistics vs. Concatenation
+================================
+
+The most frequently used operators of NCO are probably the
+"statisticians" (i.e., tools that do statistics) and concatenators.
+Because there are so many types of statistics like averaging (e.g.,
+across files, within a file, over the record dimension, over other
+dimensions, with or without weights and masks) and of concatenating
+(across files, along the record dimension, along other dimensions),
+there are currently no fewer than five operators which tackle these two
+purposes: 'ncra', 'nces', 'ncwa', 'ncrcat', and 'ncecat'.  These
+operators do share many capabilities (1), though each has its unique
+specialty.  Two of these operators, 'ncrcat' and 'ncecat', concatenate
+hyperslabs across files.  The other two operators, 'ncra' and 'nces',
+compute statistics across (and/or within) files (2).  First, let's
+describe the concatenators, then the statistics tools.
+
+   ---------- Footnotes ----------
+
+   (1) Currently 'nces' and 'ncrcat' are symbolically linked to the
+'ncra' executable, which behaves slightly differently based on its
+invocation name (i.e., 'argv[0]').  These three operators share the same
+source code, and merely have different inner loops.
+
+   (2) The third averaging operator, 'ncwa', is the most sophisticated
+averager in NCO.  However, 'ncwa' is in a different class than 'ncra'
+and 'nces' because it operates on a single file per invocation (as
+opposed to multiple files).  On that single file, however, 'ncwa'
+provides a richer set of averaging options--including weighting,
+masking, and broadcasting.
+
+2.6.1 Concatenators 'ncrcat' and 'ncecat'
+-----------------------------------------
+
+Joining together independent files along a common record dimension is
+called "concatenation".  'ncrcat' is designed for concatenating record
+variables, while 'ncecat' is designed for concatenating fixed length
+variables.  Consider five files, '85.nc', '86.nc', ... '89.nc' each
+containing a year's worth of data.  Say you wish to create from them a
+single file, '8589.nc' containing all the data, i.e., spanning all five
+years.  If the annual files make use of the same record variable, then
+'ncrcat' will do the job nicely with, e.g., 'ncrcat 8?.nc 8589.nc'.  The
+number of records in the input files is arbitrary and can vary from file
+to file.  *Note ncrcat netCDF Record Concatenator::, for a complete
+description of 'ncrcat'.
+
+   However, suppose the annual files have no record variable, and thus
+their data are all fixed length.  For example, the files may not be
+conceptually sequential, but rather members of the same group, or
+"ensemble".  Members of an ensemble may have no reason to contain a
+record dimension.  'ncecat' will create a new record dimension (named
+RECORD by default) with which to glue together the individual files into
+the single ensemble file.  If 'ncecat' is used on files which contain an
+existing record dimension, that record dimension is converted to a
+fixed-length dimension of the same name and a new record dimension
+(named 'record') is created.  Consider five realizations, '85a.nc',
+'85b.nc', ... '85e.nc' of 1985 predictions from the same climate model.
+Then 'ncecat 85?.nc 85_ens.nc' glues together the individual
+realizations into the single file, '85_ens.nc'.  If an input variable
+was dimensioned ['lat','lon'], it will have dimensions
+['record','lat','lon'] in the output file.  A restriction of 'ncecat' is
+that the hyperslabs of the processed variables must be the same from
+file to file.  Normally this means all the input files are the same
+size, and contain data on different realizations of the same variables.
+*Note ncecat netCDF Ensemble Concatenator::, for a complete description
+of 'ncecat'.
+
+   'ncpdq' makes it possible to concatenate files along any dimension,
+not just the record dimension.  First, use 'ncpdq' to convert the
+dimension to be concatenated (i.e., extended with data from other files)
+into the record dimension.  Second, use 'ncrcat' to concatenate these
+files.  Finally, if desirable, use 'ncpdq' to revert to the original
+dimensionality.  As a concrete example, say that files 'x_01.nc',
+'x_02.nc', ... 'x_10.nc' contain time-evolving datasets from spatially
+adjacent regions.  The time and spatial coordinates are 'time' and 'x',
+respectively.  Initially the record dimension is 'time'.  Our goal is to
+create a single file that contains joins all the spatially adjacent
+regions into one single time-evolving dataset.
+     for idx in 01 02 03 04 05 06 07 08 09 10; do # Bourne Shell
+       ncpdq -a x,time x_${idx}.nc foo_${idx}.nc # Make x record dimension
+     done
+     ncrcat foo_??.nc out.nc       # Concatenate along x
+     ncpdq -a time,x out.nc out.nc # Revert to time as record dimension
+
+   Note that 'ncrcat' will not concatenate fixed-length variables,
+whereas 'ncecat' concatenates both fixed-length and record variables
+along a new record variable.  To conserve system memory, use 'ncrcat'
+where possible.
+
+2.6.2 Averagers 'nces', 'ncra', and 'ncwa'
+------------------------------------------
+
+The differences between the averagers 'ncra' and 'nces' are analogous to
+the differences between the concatenators.  'ncra' is designed for
+averaging record variables from at least one file, while 'nces' is
+designed for averaging fixed length variables from multiple files.
+'ncra' performs a simple arithmetic average over the record dimension of
+all the input files, with each record having an equal weight in the
+average.  'nces' performs a simple arithmetic average of all the input
+files, with each file having an equal weight in the average.  Note that
+'ncra' cannot average fixed-length variables, but 'nces' can average
+both fixed-length and record variables.  To conserve system memory, use
+'ncra' rather than 'nces' where possible (e.g., if each INPUT-FILE is
+one record long).  The file output from 'nces' will have the same
+dimensions (meaning dimension names as well as sizes) as the input
+hyperslabs (*note nces netCDF Ensemble Statistics::, for a complete
+description of 'nces').  The file output from 'ncra' will have the same
+dimensions as the input hyperslabs except for the record dimension,
+which will have a size of 1 (*note ncra netCDF Record Averager::, for a
+complete description of 'ncra').
+
+2.6.3 Interpolator 'ncflint'
+----------------------------
+
+'ncflint' can interpolate data between or two files.  Since no other
+operators have this ability, the description of interpolation is given
+fully on the 'ncflint' reference page (*note ncflint netCDF File
+Interpolator::).  Note that this capability also allows 'ncflint' to
+linearly rescale any data in a netCDF file, e.g., to convert between
+differing units.
+
+2.7 Large Numbers of Files
+==========================
+
+Occasionally one desires to digest (i.e., concatenate or average)
+hundreds or thousands of input files.  Unfortunately, data archives
+(e.g., NASA EOSDIS) may not name netCDF files in a format understood by
+the '-n LOOP' switch (*note Specifying Input Files::) that automagically
+generates arbitrary numbers of input filenames.  The '-n LOOP' switch
+has the virtue of being concise, and of minimizing the command line.
+This helps keeps output file small since the command line is stored as
+metadata in the 'history' attribute (*note History Attribute::).
+However, the '-n LOOP' switch is useless when there is no simple,
+arithmetic pattern to the input filenames (e.g., 'h00001.nc',
+'h00002.nc', ... 'h90210.nc').  Moreover, filename globbing does not
+work when the input files are too numerous or their names are too
+lengthy (when strung together as a single argument) to be passed by the
+calling shell to the NCO operator (1).  When this occurs, the ANSI
+C-standard 'argc'-'argv' method of passing arguments from the calling
+shell to a C-program (i.e., an NCO operator) breaks down.  There are (at
+least) three alternative methods of specifying the input filenames to
+NCO in environment-limited situations.
+
+   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 UNIX "standard input" feature, aka 'stdin':
+     # Pipe large numbers of filenames to stdin
+     /bin/ls | grep ${CASEID}_'......'.nc | ncecat -o foo.nc
+   This method avoids all constraints on command line size imposed by
+the operating system.  A drawback to this method is that the 'history'
+attribute (*note History Attribute::) 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.  To
+remedy this situation, multi-file operators store the number of input
+files in the 'nco_input_file_number' global attribute and the input file
+list itself in the 'nco_input_file_list' global attribute (*note File
+List Attributes::).  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.
+
+   A second option is to use the UNIX 'xargs' command.  This simple
+example selects as input to 'xargs' all the filenames in the current
+directory that match a given pattern.  For illustration, consider a user
+trying to average millions of files which each have a six character
+filename.  If the shell buffer cannot hold the results of the
+corresponding globbing operator, '??????.nc', then the filename globbing
+technique will fail.  Instead we express the filename pattern as an
+extended regular expression, '......\.nc' (*note Subsetting Files::).
+We use 'grep' to filter the directory listing for this pattern and to
+pipe the results to 'xargs' which, in turn, passes the matching
+filenames to an NCO multi-file operator, e.g., 'ncecat'.
+     # Use xargs to transfer filenames on the command line
+     /bin/ls | grep ${CASEID}_'......'.nc | xargs -x ncecat -o foo.nc
+   The single quotes protect the only sensitive parts of the extended
+regular expression (the 'grep' argument), and allow shell interpolation
+(the '${CASEID}' variable substitution) to proceed unhindered on the
+rest of the command.  'xargs' uses the UNIX pipe feature to append the
+suitably filtered input file list to the end of the 'ncecat' command
+options.  The '-o foo.nc' switch ensures that the input files supplied
+by 'xargs' are not confused with the output file name.  'xargs' does,
+unfortunately, have its own limit (usually about 20,000 characters) on
+the size of command lines it can pass.  Give 'xargs' the '-x' switch to
+ensure it dies if it reaches this internal limit.  When this occurs, use
+either the 'stdin' method above, or the symbolic link presented next.
+
+   Even when its internal limits have not been reached, the 'xargs'
+technique may not be sophisticated enough to handle all situations.  A
+full scripting language like Perl can handle any level of complexity 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 '-n LOOP' switch understands.  For example, the following Perl
+script creates a monotonically enumerated symbolic link to up to one
+million '.nc' files in a directory.  If there are 999,999 netCDF files
+present, the links are named '000001.nc' to '999999.nc':
+     # Create enumerated symbolic links
+     /bin/ls | grep \.nc | perl -e \
+     '$idx=1;while(<STDIN>){chop;symlink $_,sprintf("%06d.nc",$idx++);}'
+     ncecat -n 999999,6,1 000001.nc foo.nc
+     # Remove symbolic links when finished
+     /bin/rm ??????.nc
+   The '-n LOOP' option tells the NCO operator to automatically generate
+the filnames of the symbolic links.  This circumvents any OS and shell
+limits on command line size.  The symbolic links are easily removed once
+NCO is finished.  One drawback to this method is that the 'history'
+attribute (*note History Attribute::) retains the filename list of the
+symbolic links, rather than the data files themselves.  This makes it
+difficult to determine the data provenance at a later date.
+
+   ---------- Footnotes ----------
+
+   (1) The exact length which exceeds the operating system internal
+limit for command line lengths varies from OS to OS and from shell to
+shell.  GNU 'bash' may not have any arbitrary fixed limits to the size
+of command line arguments.  Many OSs cannot handle command line
+arguments (including results of file globbing) exceeding 4096
+characters.
+
+2.8 Large Datasets
+==================
+
+"Large datasets" are those files that are comparable in size to the
+amount of random access memory (RAM) in your computer.  Many users of
+NCO work with files larger than 100 MB. 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
+'nces' and 'ncecat'.  If you work with a 300 MB files on a machine with
+only 32 MB of memory then you will need large amounts of swap space
+(virtual memory on disk) and NCO will work slowly, or even fail.  There
+is no easy solution for this.  The best strategy is to work on a machine
+with sufficient amounts of memory and swap space.  Since about 2004,
+many users have begun to produce or analyze files exceeding 2 GB in
+size.  These users should familiarize themselves with NCO's Large File
+Support (LFS) capabilities (*note Large File Support::).  The next
+section will increase your familiarity with NCO's memory requirements.
+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
+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,
+for large periods of time.  In order to see what the operator is
+actually doing, it is useful to activate a more verbose output mode.
+This is accomplished by supplying a number greater than 0 to the '-D
+DEBUG-LEVEL' (or '--debug-level', or '--dbg_lvl') switch.  When the
+DEBUG-LEVEL is nonzero, the operators report their current status to the
+terminal through the STDERR facility.  Using '-D' does not slow the
+operators down.  Choose a DEBUG-LEVEL between 1 and 3 for most
+situations, e.g., 'nces -D 2 85.nc 86.nc 8586.nc'.  A full description
+of how to estimate the actual amount of memory the multi-file NCO
+operators consume is given in *note Memory Requirements::.
+
+2.9 Memory Requirements
+=======================
+
+Many people use NCO on gargantuan files which dwarf the memory available
+(free RAM plus swap space) even on today's powerful machines.  These
+users want NCO to consume the least memory possible 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 NCO to its
+limits!
+
+   This section describes the memory NCO requires during operation.  The
+required memory is based on the underlying algorithms.  The description
+below is the memory usage per thread.  Users with shared memory machines
+may use the threaded NCO operators (*note OpenMP Threading::).  The peak
+and sustained memory usage will scale accordingly, i.e., by the number
+of threads.  Memory consumption patterns of all operators are similar,
+with the exception of 'ncap2'.
+
+2.9.1 Single and Multi-file Operators
+-------------------------------------
+
+The multi-file operators currently comprise the record operators, 'ncra'
+and 'ncrcat', and the ensemble operators, 'nces' and 'ncecat'.  The
+record operators require _much less_ memory than the ensemble operators.
+This is because the record operators operate on one single record (i.e.,
+time-slice) at a time, whereas the ensemble operators retrieve the
+entire variable into memory.  Let MS be the peak sustained memory demand
+of an operator, FT be the memory required to store the entire contents
+of all the variables to be processed in an input file, FR be the memory
+required to store the entire contents of a single record of each of the
+variables to be processed in an input file, VR be the memory required to
+store a single record of the largest record variable to be processed in
+an input file, VT be the memory required to store the largest variable
+to be processed in an input file, VI be the memory required to store the
+largest variable which is not processed, but is copied from the initial
+file to the output file.  All operators require MI = VI during the
+initial copying of variables from the first input file to the output
+file.  This is the _initial_ (and transient) memory demand.  The
+_sustained_ memory demand is that memory required by the operators
+during the processing (i.e., averaging, concatenation) phase which lasts
+until all the input files have been processed.  The operators have the
+following memory requirements: 'ncrcat' requires MS <= VR.  'ncecat'
+requires MS <= VT.  'ncra' requires MS = 2FR + VR.  'nces' requires MS =
+2FT + VT.  'ncbo' requires MS <= 3VT (both input variables and the
+output variable).  'ncflint' requires MS <= 3VT (both input variables
+and the output variable).  'ncpdq' requires MS <= 2VT (one input
+variable and the output variable).  'ncwa' requires MS <= 8VT (see
+below).  Note that only variables that are processed, e.g., averaged,
+concatenated, or differenced, contribute to MS.  Variables which do not
+appear in the output file (*note Subsetting Files::) are never read and
+contribute nothing to the memory requirements.
+
+   Further note that some operators perform internal type-promotion on
+some variables prior to arithmetic (*note Type Conversion::).  For
+example, 'ncra' and 'nces' both promote integer types to
+double-precision floating point prior to arithmetic, then perform the
+arithmetic, then demote back to the original integer type after
+arithmetic.  This preserves the on-disk storage type while obtaining the
+accuracy advantages of floating point arithmetic.  Since version 4.3.6
+(released in September, 2013), NCO also by default converts
+single-precision floating point to double-precision prior to arithmetic,
+which incurs the same RAM penalty.  Hence, the sustained memory required
+for integer variables and single-precision floats are two or four-times
+their on-disk, uncompressed, unpacked sizes if they meet the rules for
+automatic internal promotion.  Put another way, disabling auto-promotion
+of single-precision variables (with '--flt') considerably reduces the
+RAM footprint of arithmetic operators.
+
+   The '--open_ram' switch (and switches that invoke it like '--ram_all'
+and '--diskless_all') incurs a RAM penalty.  These switches cause each
+input file to be copied to RAM upon opening.  Hence any operator
+invoking these switches utilizes an additional FT of RAM (i.e., MS +=
+FT).  See *note RAM disks:: for further details.
+
+   'ncwa' consumes between two and seven times the memory of a variable
+in order to process it.  Peak consumption occurs when storing
+simultaneously in memory one input variable, one tally array, one input
+weight, one conformed/working weight, one weight tally, one input mask,
+one conformed/working mask, and one output variable.  When invoked, the
+weighting and masking features contribute up to three-sevenths and
+two-sevenths of these requirements apiece.  If weights and masks are
+_not_ specified (i.e., no '-w' or '-a' options) then 'ncwa' requirements
+drop to MS <= 3VT (one input variable, one tally array, and the output
+variable).
+
+   The above memory requirements must be multiplied by the number of
+threads THR_NBR (*note OpenMP Threading::).  If this causes problems
+then reduce (with '-t THR_NBR') the number of threads.
+
+2.9.2 Memory for 'ncap2'
+------------------------
+
+'ncap2' has unique memory requirements due its ability to process
+arbitrarily long scripts of any complexity.  All scripts acceptable to
+'ncap2' are ultimately processed as a sequence of binary or unary
+operations.  'ncap2' requires MS <= 2VT under most conditions.  An
+exception to this is when left hand casting (*note Left hand casting::)
+is used to stretch the size of derived variables beyond the size of any
+input variables.  Let VC be the memory required to store the largest
+variable defined by left hand casting.  In this case, MS <= 2VC.
+
+   'ncap2' scripts are complete dynamic and may be of arbitrary length.
+A script that contains many thousands of operations, may uncover a slow
+memory leak even though each single operation consumes little additional
+memory.  Memory leaks are usually identifiable by their memory usage
+signature.  Leaks cause peak memory usage to increase monotonically with
+time regardless of script complexity.  Slow leaks are very difficult to
+find.  Sometimes a 'malloc()' (or 'new[]') failure is the only
+noticeable clue to their existance.  If you have good reasons to believe
+that a memory allocation failure is ultimately due to an NCO memory leak
+(rather than inadequate RAM on your system), then we would be very
+interested in receiving a detailed bug report.
+
+2.10 Performance
+================
+
+An overview of NCO capabilities as of about 2006 is in Zender, C. S.
+(2008), "Analysis of Self-describing Gridded Geoscience Data with netCDF
+Operators (NCO)", Environ.  Modell.  Softw.,
+doi:10.1016/j.envsoft.2008.03.004.  This paper is also available at
+<http://dust.ess.uci.edu/ppr/ppr_Zen08.pdf>.
+
+   NCO performance and scaling for arithmetic operations is described in
+Zender, C. S., and H. J. Mangalam (2007), "Scaling Properties of Common
+Statistical Operators for Gridded Datasets", Int.  J. High Perform.
+Comput.  Appl., 21(4), 485-498, doi:10.1177/1094342007083802.  This
+paper is also available at <http://dust.ess.uci.edu/ppr/ppr_ZeM07.pdf>.
+
+   It is helpful to be aware of the aspects of NCO design that can limit
+its performance:
+  1. No data buffering is performed during 'nc_get_var' and 'nc_put_var'
+     operations.  Hyperslabs too large too hold in core memory will
+     suffer substantial performance penalties because of this.
+
+  2. 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.
+
+  3. C_FORMAT, FORTRAN_FORMAT, SIGNEDNESS, SCALE_FORMAT and ADD_OFFSET
+     attributes are ignored by 'ncks' when printing variables to screen.
+
+  4. In the late 1990s it was discovered that some random access
+     operations on large files on certain architectures (e.g., UNICOS)
+     were much slower with NCO than with similar operations performed
+     using languages that bypass the netCDF interface (e.g., Yorick).
+     This may have been a penalty of unnecessary byte-swapping in the
+     netCDF interface.  It is unclear whether such problems exist in
+     present day (2007) netCDF/NCO environments, where unnecessary
+     byte-swapping has been reduced or eliminated.
+
+3 NCO Features
+**************
+
+Many features have been implemented in more than one operator and are
+described here for brevity.  The description of each feature is preceded
+by a box listing the operators for which the feature is implemented.
+Command line switches for a given feature are consistent across all
+operators wherever possible.  If no "key switches" are listed for a
+feature, then that particular feature is automatic and cannot be
+controlled by the user.
+
+3.1 Internationalization
+========================
+
+Availability: All operators
+   NCO support for "internationalization" of textual input and output
+(e.g., Warning messages) is nascent.  We hope to produce foreign
+language string catalogues in 2004.
+
+3.2 Metadata Optimization
+=========================
+
+Availability: All operators
+Short options: None
+Long options: '--hdr_pad', '--header_pad'
+   NCO supports padding headers to improve the speed of future metadata
+operations.  Use the '--hdr_pad' and '--header_pad' switches to request
+that HDR_PAD bytes be inserted into the metadata section of the output
+file.  Future metadata expansions will not incur the netCDF3 performance
+penalty of copying the entire output file unless the expansion exceeds
+the amount of header padding exceeded.  This can be beneficial when it
+is known that some metadata will be added at a future date.
+
+   This optimization exploits the netCDF library 'nc__enddef()'
+function, which behaves differently with different versions of netCDF.
+It will improve speed of future metadata expansion with 'CLASSIC' and
+'64bit' netCDF files, though not necessarily with 'NETCDF4' files, i.e.,
+those created by the netCDF interface to the HDF5 library (*note File
+Formats and Conversion::).
+
+3.3 OpenMP Threading
+====================
+
+Availability: 'ncap2', 'ncbo', 'nces', 'ncecat', 'ncflint', 'ncpdq',
+'ncra', 'ncrcat', 'ncwa'
+Short options: '-t'
+Long options: '--thr_nbr', '--threads', '--omp_num_threads'
+   NCO supports shared memory parallelism (SMP) when compiled with an
+OpenMP-enabled compiler.  Threads requests and allocations occur in two
+stages.  First, users may request a specific number of threads THR_NBR
+with the '-t' switch (or its long option equivalents, '--thr_nbr',
+'--threads', and '--omp_num_threads').  If not user-specified, OpenMP
+obtains THR_NBR from the 'OMP_NUM_THREADS' environment variable, if
+present, or from the OS, if not.
+
+   Caveat: Unfortunately, threading does not improve NCO throughput
+(i.e., wallclock time) because nearly all NCO operations are I/O-bound.
+This means that NCO spends negligible time doing anything compared to
+reading and writing.  We have seen some and can imagine other use cases
+where 'ncwa', 'ncpdq', and 'ncap2' (with long scripts) will complete
+faster due to threading.  The main benefits of threading so far have
+been to isolate the serial from parallel portions of code.  This
+parallelism is now exploited by OpenMP but then runs into the I/O
+bottleneck during output.  The bottleneck could be ameliorated for large
+files by the use of MPI-enabled calls in the netCDF4 library when the
+underlying filesystem is parallel (e.g., PVFS or JFS).  Implementation
+of the parallel output calls in NCO is not a goal of our current funding
+and would require new volunteers or funding.
+
+   NCO may modify THR_NBR 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 request.  We base these
+limits on our experience and common sense, and to reduce potentially
+wasteful system usage by inexperienced users.  For example, 'ncrcat' is
+extremely I/O-intensive so we restrict THR_NBR <= 2 for 'ncrcat'.  This
+is based on the notion that the best performance that can be expected
+from an operator which does no arithmetic is to have one thread reading
+and one thread writing simultaneously.  In the future (perhaps with
+netCDF4), we hope to demonstrate significant threading improvements with
+operators like 'ncrcat' by performing multiple simultaneous writes.
+
+   Compute-intensive operators ('ncap2', 'ncwa' and 'ncpdq') benefit
+most from threading.  The greatest increases in throughput due to
+threading occur on large datasets where each thread performs millions,
+at least, of floating point operations.  Otherwise, the system overhead
+of setting up threads probably outweighs the speed enhancements due to
+SMP parallelism.  However, we have not yet demonstrated that the SMP
+parallelism scales beyond four threads for these operators.  Hence we
+restrict THR_NBR <= 4 for all operators.  We encourage users to play
+with these limits (edit file 'nco_omp.c') and send us their feedback.
+
+   Once the initial THR_NBR has been modified for any operator-specific
+limits, NCO requests the system to allocate a team of THR_NBR threads
+for the body of the code.  The operating system then decides how many
+threads to allocate based on this request.  Users may keep track of this
+information by running the operator with DBG_LVL > 0.
+
+   By default, threaded operators attach one global attribute,
+'nco_openmp_thread_number', to any file they create or modify.  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.  This information is also useful for benchmarking.
+
+3.4 Command Line Options
+========================
+
+Availability: All operators
+   NCO achieves flexibility by using "command line options".  These
+options are implemented in all traditional UNIX commands as single
+letter "switches", e.g., 'ls -l'.  For many years NCO used only single
+letter option names.  In late 2002, we implemented GNU/POSIX extended or
+long option names for all options.  This was done in a backward
+compatible way such that the full functionality of NCO is still
+available through the familiar single letter options.  In the future,
+however, some features of NCO may require the use of long options,
+simply because we have nearly run out of single letter options.  More
+importantly, mnemonics for single letter options are often non-intuitive
+so that long options provide a more natural way of expressing intent.
+
+   Extended options, also called long options, are implemented using the
+system-supplied 'getopt.h' header file, if possible.  This provides the
+'getopt_long' function to NCO (1).
+
+   The syntax of "short options" (single letter options) is '-KEY VALUE'
+(dash-key-space-value).  Here, KEY is the single letter option name,
+e.g., '-D 2'.
+
+   The syntax of "long options" (multi-letter options) is '--LONG_NAME
+VALUE' (dash-dash-key-space-value), e.g., '--dbg_lvl 2' or
+'--LONG_NAME=VALUE' (dash-dash-key-equal-value), e.g., '--dbg_lvl=2'.
+Thus the following are all valid for the '-D' (short version) or
+'--dbg_lvl' (long version) command line option.
+     ncks -D 3 in.nc        # Short option
+     ncks --dbg_lvl=3 in.nc # Long option, preferred form
+     ncks --dbg_lvl 3 in.nc # Long option, alternate form
+The last example is preferred for two reasons.  First, '--dbg_lvl' is
+more specific and less ambiguous than '-D'.  The long option form makes
+scripts more self documenting and less error prone.  Often long options
+are named after the source code variable whose value they carry.
+Second, the equals sign '=' joins the key (i.e., LONG_NAME) to the value
+in an uninterruptible text block.  Experience shows that users are less
+likely to mis-parse commands when restricted to this form.
+
+   GNU implements a superset of the POSIX standard which allows any
+unambiguous truncation of a valid option to be used.
+     ncks -D 3 in.nc        # Short option
+     ncks --dbg_lvl=3 in.nc # Long option, full form
+     ncks --dbg=3 in.nc     # Long option, unambiguous truncation
+     ncks --db=3 in.nc      # Long option, unambiguous truncation
+     ncks --d=3 in.nc       # Long option, ambiguous truncation
+The first four examples are equivalent and will work as expected.  The
+final example will exit with an error since 'ncks' cannot disambiguate
+whether '--d' is intended as a truncation of '--dbg_lvl', of
+'--dimension', or of some other long option.
+
+   NCO provides many long options for common switches.  For example, the
+debugging level may be set in all operators with any of the switches
+'-D', '--debug-level', or '--dbg_lvl'.  This flexibility allows users to
+choose their favorite mnemonic.  For some, it will be '--debug' (an
+unambiguous truncation of '--debug-level', and other will prefer
+'--dbg'.  Interactive users usually prefer the minimal amount of typing,
+i.e., '-D'.  We recommend that scripts which are re-usable employ some
+form of the long options for future maintainability.
+
+   This manual generally uses the short option syntax in examples.  This
+is for historical reasons and to conserve space in printed output.
+Users are expected to pick the unambiguous truncation of each option
+name that most suits their taste.
+
+   ---------- Footnotes ----------
+
+   (1) If a 'getopt_long' function cannot be found on the system, NCO
+will use the 'getopt_long' from the 'my_getopt' package by Benjamin
+Sittler <bsittler at iname.com>.  This is BSD-licensed software available
+from <http://www.geocities.com/ResearchTriangle/Node/9405/#my_getopt>.
+
+3.5 Specifying Input Files
+==========================
+
+Availability ('-n'): 'nces', 'ncecat', 'ncra', 'ncrcat'
+Availability ('-p'): All operators
+Short options: '-n', '-p'
+Long options: '--nintap', '--pth', '--path'
+   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.  There are four different ways of specifying
+input files to NCO: explicitly typing each, using UNIX shell wildcards,
+and using the NCO '-n' and '-p' switches (or their long option
+equivalents, '--nintap' or '--pth' and '--path', respectively).
+Techniques to augment these methods to specify arbitrary numbers (e.g.,
+thousands) and patterns of filenames are discussed separately (*note
+Large Numbers of Files::).
+
+   To illustrate these methods, consider the simple problem of using
+'ncra' to average five input files, '85.nc', '86.nc', ... '89.nc', and
+store the results in '8589.nc'.  Here are the four methods in order.
+They produce identical answers.
+     ncra 85.nc 86.nc 87.nc 88.nc 89.nc 8589.nc
+     ncra 8[56789].nc 8589.nc
+     ncra -p INPUT-PATH 85.nc 86.nc 87.nc 88.nc 89.nc 8589.nc
+     ncra -n 5,2,1 85.nc 8589.nc
+   The first method (explicitly specifying all filenames) works by brute
+force.  The second method relies on the operating system shell to "glob"
+(expand) the "regular expression" '8[56789].nc'.  The shell passes valid
+filenames which match the expansion to 'ncra'.  The third method uses
+the '-p INPUT-PATH' argument to specify the directory where all the
+input files reside.  NCO prepends INPUT-PATH (e.g.,
+'/data/usrname/model') to all INPUT-FILES (though not to OUTPUT-FILE).
+Thus, using '-p', the path to any number of input files need only be
+specified once.  Note INPUT-PATH need not end with '/'; the '/' is
+automatically generated if necessary.
+
+   The last method passes (with '-n') syntax concisely describing the
+entire set of filenames (1).  This option is only available with the
+"multi-file operators": 'ncra', 'ncrcat', 'nces', and 'ncecat'.  By
+definition, multi-file operators are able to process an arbitrary number
+of INPUT-FILES.  This option is very useful for abbreviating lists of
+filenames representable as
+ALPHANUMERIC_PREFIX+NUMERIC_SUFFIX+'.'+FILETYPE where
+ALPHANUMERIC_PREFIX is a string of arbitrary length and composition,
+NUMERIC_SUFFIX is a fixed width field of digits, and FILETYPE is a
+standard filetype indicator.  For example, in the file 'ccm3_h0001.nc',
+we have ALPHANUMERIC_PREFIX = 'ccm3_h', NUMERIC_SUFFIX = '0001', and
+FILETYPE = 'nc'.
+
+   NCO is able to decode lists of such filenames encoded using the '-n'
+option.  The simpler (3-argument) '-n' usage takes the form '-n
+FILE_NUMBER,DIGIT_NUMBER,NUMERIC_INCREMENT' where FILE_NUMBER is the
+number of files, DIGIT_NUMBER is the fixed number of numeric digits
+comprising the NUMERIC_SUFFIX, and NUMERIC_INCREMENT is the constant,
+integer-valued difference between the NUMERIC_SUFFIX of any two
+consecutive files.  The value of ALPHANUMERIC_PREFIX is taken from the
+input file, which serves as a template for decoding the filenames.  In
+the example above, the encoding '-n 5,2,1' along with the input file
+name '85.nc' tells NCO to construct five (5) filenames identical to the
+template '85.nc' except that the final two (2) digits are a numeric
+suffix to be incremented by one (1) for each successive file.  Currently
+FILETYPE may be either be empty, 'nc', 'cdf', 'hdf', or 'hd5'.  If
+present, these FILETYPE suffixes (and the preceding '.') are ignored by
+NCO as it uses the '-n' arguments to locate, evaluate, and compute the
+NUMERIC_SUFFIX component of filenames.
+
+   Recently the '-n' option has been extended to allow convenient
+specification of filenames with "circular" characteristics.  This means
+it is now possible for NCO to automatically generate filenames which
+increment regularly until a specified maximum value, and then wrap back
+to begin again at a specified minimum value.  The corresponding '-n'
+usage becomes more complex, taking one or two additional arguments for a
+total of four or five, respectively: '-n
+FILE_NUMBER,DIGIT_NUMBER,NUMERIC_INCREMENT[,NUMERIC_MAX[,NUMERIC_MIN]]'
+where NUMERIC_MAX, if present, is the maximum integer-value of
+NUMERIC_SUFFIX and NUMERIC_MIN, if present, is the minimum integer-value
+of NUMERIC_SUFFIX.  Consider, for example, the problem of specifying
+non-consecutive input files where the filename suffixes end with the
+month index.  In climate modeling it is common to create summertime and
+wintertime averages which contain the averages of the months
+June-July-August, and December-January-February, respectively:
+     ncra -n 3,2,1 85_06.nc 85_0608.nc
+     ncra -n 3,2,1,12 85_12.nc 85_1202.nc
+     ncra -n 3,2,1,12,1 85_12.nc 85_1202.nc
+   The first example shows that three arguments to the '-n' option
+suffice to specify consecutive months ('06, 07, 08') which do not "wrap"
+back to a minimum value.  The second example shows how to use the
+optional fourth and fifth elements of the '-n' option to specify a wrap
+value to NCO.  The fourth argument to '-n', if present, specifies the
+maximum integer value of NUMERIC_SUFFIX.  In this case the maximum value
+is 12, and will be formatted as '12' in the filename string.  The fifth
+argument to '-n', if present, specifies the minimum integer value of
+NUMERIC_SUFFIX.  The default minimum filename suffix is 1, which is
+formatted as '01' in this case.  Thus the second and third examples have
+the same effect, that is, they automatically generate, in order, the
+filenames '85_12.nc', '85_01.nc', and '85_02.nc' as input to NCO.
+
+   ---------- Footnotes ----------
+
+   (1) The '-n' option is a backward compatible superset of the 'NINTAP'
+option from the NCAR CCM Processor.
+
+3.6 Specifying Output Files
+===========================
+
+Availability: All operators
+Short options: '-o'
+Long options: '--fl_out', '--output'
+   NCO commands produce no more than one output file, FL_OUT.
+Traditionally, users specify FL_OUT as the final argument to the
+operator, following all input file names.  This is the "positional
+argument" method of specifying input and ouput file names.  The
+positional argument method works well in most applications.  NCO also
+supports specifying FL_OUT using the command line switch argument
+method, '-o FL_OUT'.
+
+   Specifying FL_OUT with a switch, rather than as a positional
+argument, allows FL_OUT to precede input files in the argument list.
+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 FL_OUT in such a list is difficult when
+the only syntactic distinction between input and output files is their
+position.  Second, specification of a long list of input files may be
+difficult (*note Large Numbers of Files::).  Making the input file list
+the final argument to an operator facilitates using 'xargs' for this
+purpose.  Some alternatives to 'xargs' are very ugly and undesirable.
+Finally, many users are more comfortable specifying output files with
+'-o FL_OUT' near the beginning of an argument list.  Compilers and
+linkers are usually invoked this way.
+
+   Users should specify FL_OUT using either (not both) method.  If
+FL_OUT is specified twice (once with the switch and once as the last
+positional argument), then the positional argument takes precedence.
+
+3.7 Accessing Remote Files
+==========================
+
+Availability: All operators
+Short options: '-p', '-l'
+Long options: '--pth', '--path', '--lcl', '--local'
+   All NCO operators can retrieve files from remote sites as well as
+from the local file system.  A remote site can be an anonymous FTP
+server, a machine on which the user has 'rcp', 'scp', or 'sftp'
+privileges, NCAR's Mass Storage System (MSS), or an OPeNDAP server.
+Examples of each are given below, following a brief description of the
+particular access protocol.
+
+   To access a file via an anonymous FTP server, supply the remote
+file's URL.  FTP is an intrinsically insecure protocol because it
+transfers passwords in plain text format.  Users should access sites
+using anonymous FTP, or better yet, secure FTP when possible.  Some FTP
+servers require a login/password combination for a valid user account.
+NCO allows these transactions so long as the required information is
+stored in the '.netrc' file.  Usually this information is the remote
+machine name, login, and password, in plain text, separated by those
+very keywords, e.g.,
+     machine dust.ess.uci.edu login zender password bushlied
+   Eschew using valuable passwords for FTP transactions, since '.netrc'
+passwords are potentially exposed to eavesdropping software (1).
+
+   SFTP, i.e., secure FTP, uses SSH-based security protocols that solve
+the security issues associated with plain FTP.  NCO supports SFTP
+protocol access to files specified with a homebrew syntax of the form
+     sftp://machine.domain.tld:/path/to/filename
+   Note the second colon following the top-level-domain, 'tld'.  This
+syntax is a hybrid between an FTP URL and a standard remote file syntax.
+
+   To access a file using 'rcp' or 'scp', specify the Internet address
+of the remote file.  Of course in this case you must have 'rcp' or 'scp'
+privileges which allow transparent (no password entry required) access
+to the remote machine.  This means that '~/.rhosts' or
+'~/ssh/authorized_keys' must be set accordingly on both local and remote
+machines.
+
+   To access a file on a High Performance Storage System (HPSS) (such as
+that at NCAR, ECMWF, LANL, DKRZ, LLNL) specify the full HPSS pathname of
+the remote file.  NCO will attempt to detect whether the local machine
+has direct (synchronous) HPSS access.  In this case, NCO attempts to use
+the Hierarchical Storage Interface (HSI) command 'hsi get' (2).
+
+   The following examples show how one might analyze files stored on
+remote systems.
+     ncks -l . ftp://dust.ess.uci.edu/pub/zender/nco/in.nc
+     ncks -l . sftp://dust.ess.uci.edu:/home/ftp/pub/zender/nco/in.nc
+     ncks -l . dust.ess.uci.edu:/home/zender/nco/data/in.nc
+     ncks -l . /ZENDER/nco/in.nc
+     ncks -l . /home/zender/nco/in.nc
+     ncks -l . http://thredds-test.ucar.edu/thredds/dodsC/testdods/in.nc
+The first example works verbatim if your system is connected to the
+Internet and is not behind a firewall.  The second example works if you
+have 'sftp' access to the machine 'dust.ess.uci.edu'.  The third example
+works if you have 'rcp' or 'scp' access to the machine
+'dust.ess.uci.edu'.  The fourth and fifth examples work on NCAR
+computers with local access to the HPSS 'hsi get' command (3).  The
+sixth command works if your local version of NCO is OPeNDAP-enabled
+(this is fully described in *note OPeNDAP::), or if the remote file is
+accessible via 'wget'.  The above commands can be rewritten using the
+'-p INPUT-PATH' option as follows:
+     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
+     ncks -p dust.ess.uci.edu:/home/zender/nco -l . in.nc
+     ncks -p /ZENDER/nco -l . in.nc
+     ncks -p /home/zender/nco -l . in.nc # HPSS
+     ncks -p http://thredds-test.ucar.edu/thredds/dodsC/testdods \
+          -l . in.nc
+Using '-p' is recommended because it clearly separates the INPUT-PATH
+from the filename itself, sometimes called the "stub".  When INPUT-PATH
+is not explicitly specified using '-p', NCO internally generates an
+INPUT-PATH from the first input filename.  The automatically generated
+INPUT-PATH is constructed by stripping the input filename of everything
+following the final '/' character (i.e., removing the stub).  The '-l
+OUTPUT-PATH' option tells NCO where to store the remotely retrieved
+file.  It has no effect on locally-retrieved files, or on the output
+file.  Often the path to a remotely retrieved file is quite different
+than the path on the local machine where you would like to store the
+file.  If '-l' is not specified then NCO internally generates an
+OUTPUT-PATH by simply setting OUTPUT-PATH equal to INPUT-PATH stripped
+of any machine names.  If '-l' is not specified and the remote file
+resides on the NCAR HPSS system, then the leading character of
+INPUT-PATH, '/', is also stripped from OUTPUT-PATH.  Specifying
+OUTPUT-PATH as '-l ./' tells NCO to store the remotely retrieved file
+and the output file in the current directory.  Note that '-l .' is
+equivalent to '-l ./' though the latter is syntactically more clear.
+
+   ---------- Footnotes ----------
+
+   (1) NCO does not implement command line options to specify FTP logins
+and passwords because copying those data into the 'history' global
+attribute in the output file (done by default) poses an unacceptable
+security risk.
+
+   (2) The 'hsi' command must be in the user's path in one of the
+following directories: '/usr/local/bin', '/opt/hpss/bin', or
+'/ncar/opt/hpss/hsi'.  Tell us if the HPSS installation at your site
+places the 'hsi' command in a different location, and we will add that
+location to the list of acceptable paths to search for 'hsi'.
+
+   (3) NCO supported the old NCAR Mass Storage System (MSS) until
+version 4.0.7 in April, 2011.  NCO supported MSS-retrievals via a
+variety of mechanisms including the 'msread', 'msrcp', and 'nrnet'
+commands invoked either automatically or with sentinels like 'ncks -p
+mss:/ZENDER/nco -l . in.nc'.  Once the MSS was decommissioned in March,
+2011, support for these retrieval mechanisms was replaced by support for
+HPSS in NCO.
+
+3.7.1 OPeNDAP
+-------------
+
+The Distributed Oceanographic Data System (DODS) provides useful
+replacements for common data interface libraries like netCDF. The DODS
+versions of these libraries implement network transparent access to data
+via a client-server data access protocol that uses the HTTP protocol for
+communication.  Although DODS-technology originated with oceanography
+data, it applyies to virtually all scientific data.  In recognition of
+this, the data access protocol underlying DODS (which is what NCO cares
+about) has been renamed the Open-source Project for a Network Data
+Access Protocol, OPeNDAP.  We use the terms DODS and OPeNDAP
+interchangeably, and often write OPeNDAP/DODS for now.  In the future we
+will deprecate DODS in favor of DAP or OPeNDAP, as appropriate (1).
+
+   NCO may be DAP-enabled by linking NCO to the OPeNDAP libraries.  This
+is described in the OPeNDAP documentation and automagically implemented
+in NCO build mechanisms (2).  The './configure' mechanism automatically
+enables NCO as OPeNDAP clients if it can find the required OPeNDAP
+libraries (3).  in the usual locations.  The '$DODS_ROOT' environment
+variable may be used to override the default OPeNDAP library location at
+NCO compile-time.  Building NCO with 'bld/Makefile' and the command
+'make DODS=Y' adds the (non-intuitive) commands to link to the OPeNDAP
+libraries installed in the '$DODS_ROOT' directory.  The file
+'doc/opendap.sh' contains a generic script intended to help users
+install OPeNDAP before building NCO.  The documentation at the OPeNDAP
+Homepage (http://www.opendap.org) is voluminous.  Check there and on the
+DODS mail lists
+(http://www.unidata.ucar.edu/packages/dods/home/mailLists/).  to learn
+more about the extensive capabilities of OPeNDAP (4).
+
+   Once NCO is DAP-enabled the operators are OPeNDAP clients.  All
+OPeNDAP clients have network transparent access to any files controlled
+by a OPeNDAP server.  Simply specify the input file path(s) in URL
+notation and all NCO operations may be performed on remote files made
+accessible by a OPeNDAP server.  This command tests the basic
+functionality of OPeNDAP-enabled NCO clients:
+     % ncks -O -o ~/foo.nc -C -H -v one -l /tmp \
+       -p http://thredds-test.ucar.edu/thredds/dodsC/testdods in.nc
+     % ncks -H -v one ~/foo.nc
+     one = 1
+   The 'one = 1' outputs confirm (first) that 'ncks' correctly retrieved
+data via the OPeNDAP protocol and (second) that 'ncks' created a valid
+local copy of the subsetted remote file.  With minor changes to the
+above command, netCDF4 can be used as both the input and output file
+format:
+     % ncks -4 -O -o ~/foo.nc -C -H -v one -l /tmp \
+       -p http://thredds-test.ucar.edu/thredds/dodsC/testdods in_4.nc
+     % ncks -H -v one ~/foo.nc
+     one = 1
+   And, of course, OPeNDAP-enabled NCO clients continue to support
+other, orthogonal features such as UDUnits (*note UDUnits Support::):
+     % ncks -u -C -H -v wvl -d wvl,'0.4 micron','0.7 micron' \
+       -p http://thredds-test.ucar.edu/thredds/dodsC/testdods in_4.nc
+     % wvl[0]=5e-07 meter
+
+   The next command is a more advanced example which demonstrates the
+real power of OPeNDAP-enabled NCO clients.  The 'ncwa' client requests
+an equatorial hyperslab from remotely stored NCEP reanalyses data of the
+year 1969.  The NOAA OPeNDAP server (hopefully!)  serves these data.
+The local 'ncwa' client then computes and stores (locally) the regional
+mean surface pressure (in Pa).
+     ncwa -C -a lat,lon,time -d lon,-10.,10. -d lat,-10.,10. -l /tmp -p \
+     http://www.esrl.noaa.gov/psd/thredds/dodsC/Datasets/ncep.reanalysis.dailyavgs/surface \
+       pres.sfc.1969.nc ~/foo.nc
+All with one command!  The data in this particular input file also
+happen to be packed (*note Methods and functions::), although this is
+completely transparent to the user since NCO automatically unpacks data
+before attempting arithmetic.
+
+   NCO obtains remote files from the OPeNDAP server (e.g.,
+'www.cdc.noaa.gov') rather than the local machine.  Input files are
+first copied to the local machine, then processed.  The OPeNDAP server
+performs data access, hyperslabbing, and transfer to the local machine.
+This allows the I/O to appear to NCO as if the input files were local.
+The local machine performs all arithmetic operations.  Only the
+hyperslabbed output data are transferred over the network (to the local
+machine) for the number-crunching to begin.  The advantages of this are
+obvious if you are examining small parts of large files stored at remote
+locations.
+
+   ---------- Footnotes ----------
+
+   (1) DODS 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.  DAP is the discipline-neutral Data Access
+Protocol at the heart of DODS.  The National Virtual Ocean Data System
+(NVODS) refers to the collection of oceanography data and oceanographic
+extensions to DAP.  In other words, NVODS is implemented with OPeNDAP.
+OPeNDAP is _also_ the open source project which maintains, develops, and
+promulgates the DAP standard.  OPeNDAP and DAP really are
+interchangeable.  Got it yet?
+
+   (2) Automagic support for DODS version 3.2.x was deprecated in
+December, 2003 after NCO version 2.8.4.  NCO support for OPeNDAP
+versions 3.4.x commenced in December, 2003, with NCO version 2.8.5.  NCO
+support for OPeNDAP versions 3.5.x commenced in June, 2005, with NCO
+version 3.0.1.  NCO support for OPeNDAP versions 3.6.x commenced in
+June, 2006, with NCO version 3.1.3.  NCO support for OPeNDAP versions
+3.7.x commenced in January, 2007, with NCO version 3.1.9.
+
+   (3) The minimal set of libraries required to build NCO as OPeNDAP
+clients, where OPeNDAP is supplied as a separate library apart from
+'libnetcdf.a', are, in link order, 'libnc-dap.a', 'libdap.a', and
+'libxml2' and 'libcurl.a'.
+
+   (4) We are most familiar with the OPeNDAP ability to enable
+network-transparent data access.  OPeNDAP has many other features,
+including sophisticated hyperslabbing and server-side processing via
+"constraint expressions".  If you know more about this, please consider
+writing a section on "OPeNDAP Capabilities of Interest to NCO Users" for
+incorporation in the 'NCO User Guide'.
+
+3.8 Retaining Retrieved Files
+=============================
+
+Availability: All operators
+Short options: '-R'
+Long options: '--rtn', '--retain'
+   In order to conserve local file system space, files retrieved from
+remote locations are automatically deleted from the local file system
+once they have been processed.  Many NCO operators were constructed to
+work with numerous large (e.g., 200 MB) files.  Retrieval of multiple
+files from remote locations is done serially.  Each file is retrieved,
+processed, then deleted before the cycle repeats.  In cases where it is
+useful to keep the remotely-retrieved files on the local file system
+after processing, the automatic removal feature may be disabled by
+specifying '-R' on the command line.
+
+   Invoking '-R' disables the default printing behavior of 'ncks'.  This
+allows 'ncks' to retrieve remote files without automatically trying to
+print them.  See *note ncks netCDF Kitchen Sink::, for more details.
+
+   Note that the remote retrieval features of NCO can always be used to
+retrieve _any_ file, including non-netCDF files, via 'SSH', anonymous
+FTP, or 'msrcp'.  Often this method is quicker than using a browser, or
+running an FTP session from a shell window yourself.  For example, say
+you want to obtain a JPEG file from a weather server.
+     ncks -R -p ftp://weather.edu/pub/pix/jpeg -l . storm.jpg
+In this example, 'ncks' automatically performs an anonymous FTP login to
+the remote machine and retrieves the specified file.  When 'ncks'
+attempts to read the local copy of 'storm.jpg' as a netCDF file, it
+fails and exits, leaving 'storm.jpg' in the current directory.
+
+   If your NCO is DAP-enabled (*note OPeNDAP::), then you may use NCO to
+retrieve any files (including netCDF, HDF, etc.)  served by an OPeNDAP
+server to your local machine.  For example,
+     ncks -R -l . -p \
+     http://www.esrl.noaa.gov/psd/thredds/dodsC/Datasets/ncep.reanalysis.dailyavgs/surface \
+       pres.sfc.1969.nc
+   It may occasionally be useful to use NCO to transfer files when your
+other preferred methods are not available locally.
+
+3.9 File Formats and Conversion
+===============================
+
+Availability: 'ncap2', 'ncbo', 'nces', 'ncecat', 'ncflint', 'ncks',
+'ncpdq', 'ncra', 'ncrcat', 'ncwa'
+Short options: '-3', '-4', '-6', '-7'
+Long options: '--3', '--4', '--64bit', '--7', '--fl_fmt', '--netcdf4'
+   All NCO operators support (read and write) all three (or four,
+depending on how one counts) file formats supported by netCDF4.  The
+default output file format for all operators is the input file format.
+The operators listed under "Availability" above allow the user to
+specify the output file format independent of the input file format.
+These operators allow the user to convert between the various file
+formats.  (The operators 'ncatted' and 'ncrename' do not support these
+switches so they always write the output netCDF file in the same format
+as the input netCDF file.)
+
+3.9.1 File Formats
+------------------
+
+netCDF supports four types of files: 'CLASSIC', '64BIT', 'NETCDF4', and
+'NETCDF4_CLASSIC', The 'CLASSIC' format is the traditional 32-bit offset
+written by netCDF2 and netCDF3.  As of 2005, nearly all netCDF datasets
+were in 'CLASSIC' format.  The '64BIT' format was added in Fall, 2004.
+As of 2010, many netCDF datasets were in '64BIT' format.  As of 2013,
+many netCDF datasets are in 'NETCDF4_CLASSIC' format.
+
+   The 'NETCDF4' format uses HDF5 as the file storage layer.  The files
+are (usually) created, accessed, and manipulated using the traditional
+netCDF3 API (with numerous extensions).  The 'NETCDF4_CLASSIC' format
+refers to netCDF4 files created with the 'NC_CLASSIC_MODEL' mask.  Such
+files use HDF5 as the back-end storage format (unlike netCDF3), though
+they incorporate only netCDF3 features.  Hence 'NETCDF4_CLASSIC' files
+are entirely readable by applications that use only the netCDF3 API
+(though the applications must be linked with the netCDF4 library).  NCO
+must be built with netCDF4 to write files in the new 'NETCDF4' and
+'NETCDF4_CLASSIC' formats, and to read files in these formats.  Datasets
+in the default 'CLASSIC' or the newer '64BIT' formats have maximum
+backwards-compatibility with older applications.  NCO has deep support
+for 'NETCDF4' formats.  If performance or disk-space as important as
+backwards compatibility, then use 'NETCDF4_CLASSIC' instead of 'CLASSIC'
+format files.  As of 2014, NCO support for the 'NETCDF4' format is
+nearly complete and the most powerful and disk/RAM efficient workflows
+will utilize this format.
+
+   As mentioned above, all operators write use the input file format for
+output files unless told otherwise.  Toggling the short option '-6' or
+the long option '--64bit' switch (or its KEY-VALUE equivalent
+'--fl_fmt=64bit') produces the netCDF3 64-bit offset format named
+'64BIT'.  NCO must be built with netCDF 3.6 or higher to produce a
+'64BIT' file.  Using the '-4' switch (or its long option equivalents
+'--4' or '--netcdf4'), or setting its KEY-VALUE equivalent
+'--fl_fmt=netcdf4' produces a 'NETCDF4' file (i.e., with all supported
+HDF5 features).  Using the '-7' switch (or its long option equivalent
+'--7' (1), or setting its KEY-VALUE equivalent
+'--fl_fmt=netcdf4_classic' produces a 'NETCDF4_CLASSIC' file (i.e., with
+all supported HDF5 features like compression and chunking but without
+groups or new atomic types).  Operators given the '-3' (or '--3') switch
+without arguments will (attempt to) produce netCDF3 'CLASSIC' output,
+even from netCDF4 input files.
+
+   Note that 'NETCDF4' and 'NETCDF4_CLASSIC' are the same binary format.
+The latter simply causes a writing application to fail if it attempts to
+write a 'NETCDF4' file that cannot be completely read by the netCDF3
+library.  Conversely, 'NETCDF4_CLASSIC' indicates to a reading
+application that all of the file contents are readable with the netCDF3
+library.  NCO has supported reading/writing basic 'NETCDF4' and
+'NETCDF4_CLASSIC' files since October, 2005.
+
+   ---------- Footnotes ----------
+
+   (1) The reason (and mnemonic) for '-7' is that 'NETCDF4_CLASSIC'
+files include great features of both netCDF3 (compatibility) and netCDF4
+(compression, chunking) and, well, 3+4=7.
+
+3.9.2 Determining File Format
+-----------------------------
+
+Input files often end with the generic '.nc' suffix that leaves (perhaps
+by intention) the internal file format ambiguous.  There are at least
+three ways to discover the internal format of a netCDF-supported file.
+These methods determine whether it is a classic (32-bit offset) or newer
+64-bit offset netCDF3 format, or is a netCDF4 format.  Each method
+returns the information using slightly different terminology that
+becomes easier to understand with practice.
+
+   First, examine the first line of global metadata output by 'ncks -M':
+     % ncks -M foo_3c.nc
+     Summary of foo_3c.nc: filetype = NC_FORMAT_CLASSIC, 0 groups ...
+     % ncks -M foo_364.nc
+     Summary of foo_364.nc: filetype = NC_FORMAT_64BIT, 0 groups ...
+     % ncks -M foo_4c.nc
+     Summary of foo_4c.nc: filetype = NC_FORMAT_NETCDF4_CLASSIC, 0 groups ...
+     % ncks -M foo_4.nc
+     Summary of foo_4.nc: filetype = NC_FORMAT_NETCDF4, 0 groups ...
+   This method requires a netCDF4-enabled NCO version 3.9.0+ (i.e., from
+2007 or later).  As of NCO version 4.4.0 (January, 2014), 'ncks' will
+also print the extended or underlying format of the input file.  The
+extended filetype will be one of the six underlying formats that are
+accessible through the netCDF API.  These formats are 'NC_FORMAT_NC3'
+(classic and 64-bit versions of netCDF3 formats), 'NC_FORMAT_NC_HDF5'
+(classic and extended versions of netCDF4, and "pure" HDF5 format),
+'NC_FORMAT_NC_HDF4' (HDF4 format), 'NC_FORMAT_PNETCDF' (PnetCDF format),
+'NC_FORMAT_DAP2' (accessed via DAP2 protocol), and 'NC_FORMAT_DAP4'
+(accessed via DAP2 protocol).  For example,
+     % ncks -D 2 -M hdf.hdf
+     Summary of hdf.hdf: filetype = NC_FORMAT_NETCDF4 (representation of \
+       extended/underlying filetype NC_FORMAT_HDF4), 0 groups ...
+     % ncks -D 2 -M http://thredds-test.ucar.edu/thredds/dodsC/testdods/in.nc
+     Summary of http://thredds-test.ucar.edu/thredds/dodsC/testdods/in.nc: \
+       filetype = NC_FORMAT_CLASSIC (representation of extended/underlying \
+       filetype NC_FORMAT_DAP2), 0 groups
+     % ncks -D 2 -M foo_4.nc
+     Summary of foo_4.nc: filetype = NC_FORMAT_NETCDF4 (representation of \
+       extended/underlying filetype NC_FORMAT_HDF5), 0 groups
+   The extended filetype determines some of the capabilities that netCDF
+has to alter the file.
+
+   Second, query the file with 'ncdump -k':
+     % ncdump -k foo_3c.nc
+     classic
+     % ncdump -k foo_364.nc
+     64-bit-offset
+     % ncdump -k foo_4c.nc
+     netCDF-4 classic model
+     % ncdump -k foo_4.nc
+     netCDF-4
+   This method requires a netCDF4-enabled netCDF 3.6.2+ (i.e., from 2007
+or later).
+
+   The third option uses the POSIX-standard 'od' (octal dump) command:
+     % od -An -c -N4 foo_3c.nc
+        C   D   F 001
+     % od -An -c -N4 foo_364.nc
+        C   D   F 002
+     % od -An -c -N4 foo_4c.nc
+      211   H   D   F
+     % od -An -c -N4 foo_4.nc
+      211   H   D   F
+   This option works without NCO and 'ncdump'.  Values of 'C D F 001'
+and 'C D F 002' indicate 32-bit (classic) and 64-bit netCDF3 formats,
+respectively, while values of '211 H D F' indicate either of the newer
+netCDF4 file formats.
+
+3.9.3 File Conversion
+---------------------
+
+Let us demonstrate converting a file from any netCDF-supported input
+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:
+     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
+     ncks --fl_fmt=netcdf4 in.nc foo_4.nc # netCDF4
+     ncks -3 in.nc foo_3c.nc # netCDF3 classic
+     ncks --3 in.nc foo_3c.nc # netCDF3 classic
+     ncks -6 in.nc foo_364.nc # netCDF3 64bit
+     ncks --64 in.nc foo_364.nc # netCDF3 64bit
+     ncks -4 in.nc foo_4.nc # netCDF4
+     ncks --4 in.nc foo_4.nc # netCDF4
+     ncks -7 in.nc foo_4c.nc # netCDF4 classic
+     ncks --7 in.nc foo_4c.nc # netCDF4 classic
+   Of course since most operators support these switches, the
+"conversions" can be done at the output stage of arithmetic or metadata
+processing rather than requiring a separate step.  Producing (netCDF3)
+'CLASSIC' or '64BIT' files from 'NETCDF4_CLASSIC' files will always
+work.
+
+3.9.4 Autoconversion
+--------------------
+
+Because of the dearth of support for netCDF4 amongst tools and user
+communities (including the CF conventions), it is often useful to
+convert netCDF4 to netCDF3 for certain applications.  Until NCO version
+4.4.0 (January, 2014), producing netCDF3 files from netCDF4 files only
+worked if the input files contained no netCDF4-specific features (e.g.,
+atomic types, multiple record dimensions, or groups).  As of NCO version
+4.4.0, 'ncks' supports "autoconversion" of many netCDF4 features to
+their closest netCDF3-compatible representations.  Since converting
+netCDF4 to netCDF3 results in loss of features, "automatic
+down-conversion" may be a more precise description of what we term
+autoconversion.
+
+   NCO employs three algorithms to downconvert netCDF4 to netCDF3:
+  1. Autoconversion of atomic types: Autoconversion automatically
+     promotes 'NC_UBYTE' to 'NC_SHORT', and 'NC_USHORT' to 'NC_INT'.  It
+     automatically demotes the three types 'NC_UINT', 'NC_UINT64', and
+     'NC_INT64' to 'NC_INT'.  And it converts 'NC_STRING' to 'NC_CHAR'.
+     All numeric conversions work for attributes and variables of any
+     rank.  Two numeric types ('NC_UBYTE' and 'NC_USHORT') are
+     _promoted_ to types with greater range (and greater storage).  This
+     extra range is often not used so promotion perhaps conveys the
+     wrong impression.  However, promotion never truncates values or
+     loses data (this perhaps justifies the extra storage).  Three
+     numeric types ('NC_UINT', 'NC_UINT64' and 'NC_INT64') are
+     _demoted_.  Since the input range is larger than the output range,
+     demotion can result in numeric truncation and thus loss of data.
+     In such cases, it would possible to convert the data to floating
+     point values instead.  If this feature interests you, please be the
+     squeaky wheel and let us know.
+
+     String conversions (to 'NC_CHAR') work for all attributes, but not
+     for variables.  This is because attributes are at most
+     one-dimensional and may be of any size whereas variables require
+     gridded dimensions that usually do not fit the ragged sizes of text
+     strings.  Hence scalar 'NC_STRING' attributes are correctly
+     converted to and stored as 'NC_CHAR' attributes in the netCDF3
+     output file, but 'NC_STRING' variables are not correctly converted.
+     If this limitation annoys or enrages you, please let us know by
+     being the squeaky wheel.
+
+  2. Convert multiple record dimensions to fixed-size dimensions.  Many
+     netCDF4 and HDF5 datasets have multiple unlimited dimensions.
+     Since a netCDF3 file may have at most one unlimited dimension, all
+     but possibly one unlimited dimension from the input file must be
+     converted to fixed-length dimensions prior to storing netCDF4 input
+     as netCDF3 output.  By invoking '--fix_rec_dmn all' the user
+     ensures the output file will adhere to netCDF3 conventions and the
+     user need not know the names of the specific record dimensions to
+     fix.  See *note ncks netCDF Kitchen Sink:: for a description of the
+     '--fix_rec_dmn' option.
+
+  3. Flattening (removal) of groups.  Many netCDF4 and HDF5 datasets
+     have group hierarchies.  Since a netCDF3 file may not have any
+     groups, groups in the input file must be removed.  This is also
+     called "flattening" the hierarchical file.  See *note Group Path
+     Editing:: for a description of the GPE option '-G :' to flatten
+     files.
+
+   Putting the three algorithms together, one sees that the recipe to
+convert netCDF4 to netCDF4 becomes increasingly complex as the netCDF4
+features in the input file become more elaborate:
+     # Convert file with netCDF4 atomic types
+     ncks -3 in.nc4 out.nc3
+     # Convert file with multiple record dimensions + netCDF4 atomic types
+     ncks -3 --fix_rec_dmn=all in.nc4 out.nc3
+     # Convert file with groups, multiple record dimensions + netCDF4 atomic types
+     ncks -3 -G : --fix_rec_dmn=all in.nc4 out.nc3
+   Future versions of NCO may automatically invoke the record dimension
+fixation and group flattening when converting to netCDF3 (rather than
+requiring it be specified manually).  If this feature would interest
+you, please let us know.
+
+3.10 Large File Support
+=======================
+
+Availability: All operators
+Short options: none
+Long options: none
+   NCO has Large File Support (LFS), meaning that NCO can write files
+larger than 2 GB on some 32-bit operating systems with netCDF libraries
+earlier than version 3.6.  If desired, LFS support must be configured
+when both netCDF and NCO are installed.  netCDF 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 configure
+and is implemented in NCO only to support netCDF versions prior to 3.6.
+This obviates the need for configuring explicit LFS support in
+applications (such as NCO) that now support 64-bit files directly
+through the netCDF interface.  See *note 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 to 3.6, know that LFS support depends on a complex,
+interlocking set of operating system (1) and netCDF support issues.  The
+netCDF LFS FAQ
+(http://my.unidata.ucar.edu/content/software/netcdf/faq-lfs.html)
+describes the various file size limitations imposed by different
+versions of the netCDF standard.  NCO and netCDF automatically attempt
+to configure LFS at build time.
+
+   ---------- Footnotes ----------
+
+   (1) Linux and AIX do support LFS.
+
+3.11 Subsetting Files
+=====================
+
+Options '--unn'
+Availability: 'ncbo', 'nces', 'ncecat', 'ncflint', 'ncks', 'ncpdq',
+'ncra', 'ncrcat', 'ncwa'
+Short options:
+Long options: '--unn' and '--union'
+Options '-g GRP'
+Availability: 'ncbo', 'nces', 'ncecat', 'ncflint', 'ncks', 'ncpdq',
+'ncra', 'ncrcat', 'ncwa'
+Short options: '-g'
+Long options: '--grp' and '--group'
+Options '-v VAR' and '-x'
+Availability: ('ncap2'), 'ncbo', 'nces', 'ncecat', 'ncflint', 'ncks',
+'ncpdq', 'ncra', 'ncrcat', 'ncwa'
+Short options: '-v', '-x'
+Long options: '--variable', '--exclude' or '--xcl'
+   Subsetting variables refers to explicitly specifying variables and
+groups to be included or excluded from operator actions.  Subsetting is
+controlled by the '-v VAR[,...]' and '-x' options for directly
+specifying variables.  Specifying groups, whether in addition to or
+instead of variables, is quite similar and is controlled by the '-g
+GRP[,...]' and '-x' options.  A list of variables or groups to extract
+is specified following the '-v' and '-g' options, e.g., '-v
+time,lat,lon' or '-g grp1,grp2'.  Both options may be specified
+simultaneously and NCO will extract the intersection of the lists, i.e.,
+only variables of the specified names found in groups of the specified
+names.  The '--unn' option causes NCO to extract the union, rather than
+the intersection, of the specified groups and variables.  Not using the
+'-v' or '-g' option is equivalent to specifying all variables or groupp,
+respectively.  The '-x' option causes the list of variables specified
+with '-v' to be _excluded_ rather than _extracted_.  Thus '-x' saves
+typing when you only want to extract fewer than half of the variables in
+a file.
+
+   Variables or groups explicitly specified for extraction with '-v
+VAR[,...]' or '-g GRP[,...]' _must_ be present in the input file or an
+error will result.  Variables explicitly specified for _exclusion_ with
+'-x -v VAR[,...]' need not be present in the input file.  To accord with
+the sophistication of the underlying hierarchy, group subsetting is
+controlled by a few powerful yet subtle syntactical distinctions.  When
+learning this syntax it is helpful to keep in mind the similarity
+between group hierarchies and directory structures.
+
+   Two properties of subsetting, recursion and anchoring, are best
+illustrated by reminding the user of their UNIX equivalents.  The UNIX
+command 'mv src dst' moves 'src' _and all its subdirectories_ (and all
+their subdirectories etc.)  to 'dst'.  In other words 'mv' is, by
+default, _recursive_.  In contrast, the UNIX command 'cp src dst' moves
+'src', and only 'src', to 'dst', If 'src' is a directory, not a file,
+then that command fails.  One must explicitly request to copy
+directories recursively, i.e., with 'cp -r src dst'.  In NCO recursive
+extraction (and copying) of groups is the default (like with 'mv', not
+with 'cp').  Recursion is turned off by appending a trailing slash to
+the path.
+
+   These UNIX commands also illustrate a property we call _anchoring_.
+The command 'mv src dst' moves (recursively) the source directory 'src'
+to the destination directory 'dst'.  If 'src' begins with the slash
+character then the specified path is relative to the root directory,
+otherwise the path is relative to the current working directory.  In
+other words, an initial slash character anchors the subsequent path to
+the root directory.  In NCO an initial slash anchors the path at the
+root group.  Paths that begin and end with slash characters (e.g., '//',
+'/g1/', and '/g1/g2/') are both anchored and non-recursive.
+
+   Consider the following commands, all of which may be assumed to end
+with 'in.nc out.nc':
+     ncks -g  g1  # Extract, recursively, all groups with a g1 component
+     ncks -g  g1/ # Extract, non-recursively, all groups terminating in g1
+     ncks -g /g1  # Extract, recursively, root group g1
+     ncks -g /g1/ # Extract, non-recursively root group g1
+     ncks -g //   # Extract, non-recursively the root group
+   The first command is probably the most useful and common.  It would
+extract these groups, if present, and all their direct ancestors and
+children: '/g1', '/g2/g1', and '/g3/g1/g2'.  In other words, the
+simplest form of '-g grp' grabs all groups that (and their direct
+ancestors and children, recursively) that have 'grp' as a complete
+component of their path.  A simple string match is insufficient, GRP
+must be a complete component (i.e., group name) in the path.  The option
+'-g g1' would not extract these groups because 'g1' is not a complete
+component of the path: '/g12', '/fg1', and '/g1g1'.  The second command
+above shows how a terminating slash character '/' cancels the recursive
+copying of groups.  An argument to '-g' which terminates with a slash
+character extracts the group and its direct ancestors, but none of its
+children.  The third command above shows how an initial slash character
+'/' anchors the argument to the root group.  The third command would not
+extract the group '/g2/g1' because the 'g1' group is not at the root
+level, but it would extract, any group '/g1' at the root level and all
+its children, recursively.  The fourth command is the non-recursive
+version of the third command.  The fifth command is a special case of
+the fourth command.
+
+   As mentioned above, both '-v' and '-g' options may be specified
+simultaneously and NCO will, by default, extract the intersection of the
+lists, i.e., the specified variables found in the specified groups (1).
+The '--unn' option causes NCO to extract the union, rather than the
+intersection, of the specified groups and variables.  Consider the
+following commands (which may be assumed to end with 'in.nc out.nc'):
+     # Intersection-mode subsetting (default)
+     ncks -g  g1  -v v1 # Yes: /g1/v1, /g2/g1/v1. No: /v1, /g2/v1
+     ncks -g /g1  -v v1 # Yes: /g1/v1, /g1/g2/v1. No: /v1, /g2/v1, /g2/g1/v1
+     ncks -g  g1/ -v v1 # Yes: /g1/v1, /g2/g1/v1. No: /v1, /g2/v1, /g1/g2/v1
+     ncks -v  g1/v1     # Yes: /g1/v1, /g2/g1/v1. No: /v1, /g2/v1, /g1/g2/v1
+     ncks -g /g1/ -v v1 # Yes: /g1/v1. No: /g2/g1/v1, /v1, /g2/v1 ...
+     ncks -v /g1/v1     # Yes: /g1/v1. No: /g2/g1/v1, /v1, /g2/v1 ...
+
+     # Union-mode subsetting (invoke with --unn or --union)
+     ncks -g  g1  -v v1 --unn # All variables in  g1 or progeny, or named v1
+     ncks -g /g1  -v v1 --unn # All variables in /g1 or progeny, or named v1
+     ncks -g  g1/ -v v1 --unn # All variables in  g1 or named v1
+     ncks -g /g1/ -v v1 --unn # All variables in /g1 or named v1
+   The first command ('-g g1 -v v1') extracts the variable 'v1' from any
+group named 'g1' or descendent 'g1'.  The second command extracts 'v1'
+from any root group named 'g1' and any descendent groups as well.  The
+third and fourth commands are equivalent ways of extracting 'v1' only
+from the root group named 'g1' (not its descendents).  The fifth and
+sixth commands are equivalent ways of extracting the variable 'v1' only
+from the root group named 'g1'.  Subsetting in union-mode (with '--unn')
+causes all variables to be extracted which meet either one or both of
+the specifications of the variable and group specifications.  Union-mode
+subsetting is simply the logical "OR" of intersection-mode subsetting.
+As discussed below, the group and variable specifications may be comma
+separated lists of regular expressions for added control over
+subsetting.
+
+   Remember, if averaging or concatenating large files stresses your
+systems memory or disk resources, then the easiest solution is often to
+subset (with '-g' and/or '-v') to retain only the most important
+variables (*note Memory Requirements::).
+     ncks          in.nc out.nc # Extract all groups and variables
+     ncks -v scl   # Extract variable scl from all groups
+     ncks -g g1    # Extract group g1 and descendents
+     ncks -x -g g1 # Extract all groups except g1 and descendents
+     ncks -g g2,g3 -v scl # Extract scl from groups g2 and g3
+   Overwriting and appending work as expected:
+     # Replace scl in group g2 in out.nc with scl from group g2 from in.nc
+     ncks -A -g g2 -v scl in.nc out.nc
+
+   Due to its special capabilities, 'ncap2' interprets the '-v' switch
+differently (*note ncap2 netCDF Arithmetic Processor::).  For 'ncap2',
+the '-v' switch takes no arguments and indicates that _only_
+user-defined variables should be output.  'ncap2' neither accepts nor
+understands the -X and -G switches.
+
+   Regular expressions the syntax that NCO use pattern-match object
+names in netCDF file against user requests.  The user can select all
+variables beginning with the string 'DST' from an input file by
+supplying the regular expression '^DST' to the '-v' switch, i.e., '-v
+'^DST''.  The meta-characters used to express pattern matching
+operations are '^$+?.*[]{}|'.  If the regular expression pattern matches
+_any_ part of a variable name then that variable is selected.  This
+capability is also called "wildcarding", and is very useful for
+sub-setting large data files.
+
+   Extended regular expressions are defined by the POSIX 'grep -E' (aka
+'egrep') command.  As of NCO 2.8.1 (August, 2003), variable name
+arguments to the '-v' switch may contain "extended regular expressions".
+As of NCO 3.9.6 (January, 2009), variable names arguments to 'ncatted'
+may contain "extended regular expressions".  As of NCO 4.2.4 (November,
+2012), group name arguments to the '-g' switch may contain "extended
+regular expressions".
+
+   Because of its wide availability, NCO uses the POSIX regular
+expression library 'regex'.  Regular expressions of arbitary complexity
+may be used.  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:
+'^'
+     Matches the beginning of a string
+'$'
+     Matches the end of a string
+'.'
+     Matches any single character
+The most useful repetition and combination operators are
+'?'
+     The preceding regular expression is optional and matched at most
+     once
+'*'
+     The preceding regular expression will be matched zero or more times
+'+'
+     The preceding regular expression will be matched one or more times
+'|'
+     The preceding regular expression will be joined to the following
+     regular expression.  The resulting regular expression matches any
+     string matching either subexpression.
+
+   To illustrate the use of these operators in extracting variables and
+groups, consider file 'in_grp.nc' with groups 'g0'-'g9', and subgroups
+'s0'-'s9', in each of those groups, and file 'in.nc' with variables 'Q',
+'Q01'-'Q99', 'Q100', 'QAA'-'QZZ', 'Q_H2O', 'X_H2O', 'Q_CO2', 'X_CO2'.
+     ncks -v '.+' in.nc               # All variables (default)
+     ncks -v 'Q.?' in.nc              # Variables that contain Q
+     ncks -v '^Q.?' in.nc             # Variables that start with Q
+     ncks -v '^Q+.?.' in.nc           # Q, Q0--Q9, Q01--Q99, QAA--QZZ, etc.
+     ncks -v '^Q..' in.nc             # Q01--Q99, QAA--QZZ, etc.
+     ncks -v '^Q[0-9][0-9]' in.nc     # Q01--Q99, Q100
+     ncks -v '^Q[[:digit:]]{2}' in.nc # Q01--Q99
+     ncks -v 'H2O$' in.nc             # Q_H2O, X_H2O
+     ncks -v 'H2O$|CO2$' in.nc        # Q_H2O, X_H2O, Q_CO2, X_CO2
+     ncks -v '^Q[0-9][0-9]$' in.nc    # Q01--Q99
+     ncks -v '^Q[0-6][0-9]|7[0-3]' in.nc # Q01--Q73, Q100
+     ncks -v '(Q[0-6][0-9]|7[0-3])$' in.nc # Q01--Q73
+     ncks -v '^[a-z]_[a-z]{3}$' in.nc # Q_H2O, X_H2O, Q_CO2, X_CO2
+     ncks -g 'g.' in_grp.nc           # 10 Groups g0-g9
+     ncks -g 's.' in_grp.nc       # 100 sub-groups g0/s0, g0/s1, ... g9/s9
+     ncks -g 'g.' -v 'v.' in_grp.nc   # All variables 'v.' in groups 'g.'
+   Beware--two of the most frequently used repetition pattern matching
+operators, '*' and '?', are also valid pattern matching operators for
+filename expansion (globbing) at the shell-level.  Confusingly, their
+meanings in extended regular expressions and in shell-level filename
+expansion are significantly different.  In an extended regular
+expression, '*' matches zero or more occurences of the preceding regular
+expression.  Thus 'Q*' selects all variables, and 'Q+.*' selects all
+variables containing 'Q' (the '+' ensures the preceding item matches at
+least once).  To match zero or one occurence of the preceding regular
+expression, use '?'.  Documentation for the UNIX 'egrep' command details
+the extended regular expressions which NCO supports.
+
+   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
+double quotes
+     ncra -v Q?? in.nc out.nc   # Error: Shell attempts to glob wildcards
+     ncra -v '^Q+..' in.nc out.nc # Correct: NCO interprets wildcards
+     ncra -v '^Q+..' in*.nc out.nc # Correct: NCO interprets, Shell globs
+   The final example shows that commands may use a combination of
+variable wildcarding and shell filename expansion (globbing).  For
+globbing, '*' and '?' _have nothing to do_ with the preceding regular
+expression!  In shell-level filename expansion, '*' matches any string,
+including the null string and '?' matches any single character.
+Documentation for 'bash' and 'csh' describe the rules of filename
+expansion (globbing).
+
+   ---------- Footnotes ----------
+
+   (1) Intersection-mode can also be explicitly invoked with the '--nsx'
+or '--intersection' switches.  These switches are supplied for clarity
+and consistency and do absolutely nothing since intersection-mode is the
+default.
+
+3.12 Subsetting Coordinate Variables
+====================================
+
+Availability: 'ncap2', 'ncbo', 'nces', 'ncecat', 'ncflint', 'ncks',
+'ncpdq', 'ncra', 'ncrcat', 'ncwa'
+Short options: '-C', '-c'
+Long options: '--no-coords', '--no-crd', '--crd', '--coords'
+   By default, coordinates variables associated with any variable
+appearing in the INPUT-FILE will be placed in the OUTPUT-FILE, even if
+they are not explicitly specified, e.g., with the '-v' switch.  Thus
+variables with a latitude coordinate 'lat' always carry the values of
+'lat' with them into the OUTPUT-FILE.  This feature can be disabled with
+'-C', which causes NCO to not automatically add coordinates to the
+variables appearing in the OUTPUT-FILE.  However, using '-C' does not
+preclude the user from including some coordinates in the output files
+simply by explicitly selecting the coordinates with the -V option.  The
+'-c' option, on the other hand, is a shorthand way of automatically
+specifying that _all_ coordinate variables in the INPUT-FILES should
+appear in the OUTPUT-FILE.  Thus '-c' allows the user to select all the
+coordinate variables without having to know their names.  As of NCO
+version 3.9.6 (January, 2009) both '-c' and '-C' honor the CF
+'coordinates' convention described in *note CF Conventions::.  As of NCO
+version 4.0.8 (April, 2011) both '-c' and '-C' honor the CF 'bounds'
+convention described in *note CF Conventions::.
+
+3.13 Group Path Editing
+=======================
+
+Options '-G GPE_DSC'
+Availability: 'ncbo', 'ncecat', 'nces', 'ncflint', 'ncks', 'ncpdq',
+'ncra', 'ncrcat', 'ncwa'
+Short options: '-G'
+Long options: '--gpe'
+
+   "Group Path Editing", or GPE, allows the user to restructure (i.e.,
+add, remove, and rename groups) in the output file relative to the input
+file based on the instructions they provide.  As of NCO 4.2.3 (November,
+2012), all operators that accept netCDF4 files with groups accept the
+'-G' switch, or its long-option equivalent '--gpe'.  To master GPE one
+must understand the meaning of the required GPE_DSC structure/argument
+that specifies the transformation of input-to-output group paths.
+
+   Each GPE_DSC contains up to three elements (two are optional) in the
+following order:
+GPE_DSC = GRP_PTH:LVL_NBR or GRP_PTH at LVL_NBR
+
+GRP_PTH
+     Group Path.  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.
+LVL_NBR
+     The number of levels to delete (from the head) or truncate (from
+     the tail) of the input path.
+If both components of the argument are present, then a single character,
+either the colon or at-sign (':' or '@'), must separate them.  If only
+GRP_PTH is specifed, the separator character may be omitted, e.g., '-G
+g1'.  If only LVL_NBR is specifed, the separator character is still
+required to indicate it is a LVL_NBR arugment and not a GRP_PTH, e.g.,
+'-G :-1' or '-G @1'.
+
+   If the at-sign separator character '@' is used instead of the colon
+separator character ':', then the following LVL_NBR arugment must be
+positive and it will be assumed to refer to Truncation-Mode.  Hence, '-G
+:-1' is the same as '-G @1'.  This is simply a way of making the LVL_NBR
+argument positive-definite.
+
+   GPE has three editing modes: Delete, Truncate, and Flatten.  Select
+one of GPE's three editing modes by supplying a LVL_NBR that is
+positive, negative, or zero for Delete-, Truncate- and Flatten-mode,
+respectively.
+
+   In Delete-mode, LVL_NBR is a positive integer which specifies the
+maximum number of group path components (i.e., groups) that GPE will try
+to delete from the head of GRP_PTH.  For example LVL_NBR = 3 changes the
+input path '/g1/g2/g3/g4/g5' to the output path '/g4/g5'.  Input paths
+with LVL_NBR or fewer components (groups) are completely erased and the
+output path commences from the root level.
+
+   In other words, GPE is tolerant of specifying too many group
+components to delete.  It deletes as many as possible, without
+complaint, and then begins to flatten the file (which will fail if
+namespace conflicts arise).
+
+   In Truncate-mode, LVL_NBR is a negative integer which specifies the
+maximum number of group path components (i.e., groups) that GPE will try
+to truncate from the tail of GRP_PTH.  For example LVL_NBR = -3 changes
+the input path '/g1/g2/g3/g4/g5' to the output path '/g1/g2'.  Input
+paths with LVL_NBR or fewer components (groups) are completely erased
+and the output path commences from the root level.
+
+   In Flatten-mode, indicated by the separator character alone or with
+LVL_NBR = 0, GPE removes the entire group path from the input file and
+constructs the output path beginning at the root level.  For example '-G
+:0' and '-G :' are identical and change the input path '/g1/g2/g3/g4/g5'
+to the output path '/' whereas '-G g1:0' and '-G g1:' are identical and
+result in the output path '/g1' for all variables.
+
+   Subsequent to the alteration of the input path by the specified
+editing mode, if any, GPE prepends (in Delete Mode) or Appends (in
+Truncate-mode) any specifed GRP_PTH to the output path.  For example '-G
+g2' changes the input paths '/' and '/g1' to '/g2' and '/g1/g2',
+respectively.  Likewise, '-G g2/g3' changes the input paths '/' and
+'/g1' to '/g2/g3' and '/g1/g2/g3', respectively.  When GRP_PTH and
+LVL_NBR are both specified, the editing actions are taken in sequence so
+that, e.g., '-G g1/g2:2' changes the input paths '/' and '/h1/h2/h3/h4'
+to '/g1/g2' and '/g1/g2/h3/h4', respectively.  Likewise, '-G g1/g2:-2'
+changes the input paths '/' and '/h1/h2/h3/h4' to '/g1/g2' and
+'/h1/h2/g1/g2', respectively.
+
+   Combining GPE with subsetting (*note Subsetting Files::) yields
+powerful control over the extracted (or excluded) variables and groups
+and their placement in the output file as shown by the following
+commands.  All commands below may be assumed to end with 'in.nc out.nc'.
+     # Prepending paths without editing:
+     ncks                   # /g?/v? -> /g?/v?
+     ncks             -v v1 # /g?/v1 -> /g?/v1
+     ncks       -g g1       # /g1/v? -> /g1/v?
+     ncks -G o1             # /g?/v? -> /o1/g?/v?
+     ncks -G o1 -g g1       # /g1/v? -> /o1/g1/v?
+     ncks       -g g1 -v v1 # /g1/v1 -> /g1/v1
+     ncks -G o1       -v v1 # /g?/v1 -> /o1/g?/v1
+     ncks -G o1 -g g1 -v v1 # /g1/v1 -> /o1/g1/v1
+     ncks -G g1 -g /  -v v1 # /v1    -> /g1/v1
+     ncks -G g1/g2    -v v1 # /g?/v1 -> /g1/g2/g?/v1
+     # Delete-mode: Delete from and Prepend to path head
+     # Syntax: -G [ppn]:lvl_nbr = # of levels to delete
+     ncks -G :1    -g g1    -v v1 # /g1/v1    -> /v1
+     ncks -G :1    -g g1/g1 -v v1 # /g1/g1/v1 -> /g1/v1
+     ncks -G :2    -g g1/g1 -v v1 # /g1/g1/v1 -> /v1
+     ncks -G :2    -g g1    -v v1 # /g1/v1    -> /v1
+     ncks -G g2:1  -g g1    -v v1 # /g1/v1    -> /g2/v1
+     ncks -G g2:2  -g g1/g1 -v v1 # /g1/g1/v1 -> /g2/v1
+     ncks -G g2:1  -g /     -v v1 # /v1       -> /g2/v1
+     ncks -G g2:1           -v v1 # /v1       -> /g2/v1
+     ncks -G g2:1  -g g1/g1 -v v1 # /g1/g1/v1 -> /g2/g1/v1
+     # Flatten-mode: Remove all input path components
+     # Syntax: -G [apn]: colon without numerical argument
+     ncks -G :            -v v1 # /g?/v1    -> /v1
+     ncks -G :   -g g1    -v v1 # /g1/v1    -> /v1
+     ncks -G :   -g g1/g1 -v v1 # /g1/g1/v1 -> /v1
+     ncks -G g2:          -v v1 # /g?/v1    -> /g2/v1
+     ncks -G g2:                # /g?/v?    -> /g2/v?
+     ncks -G g2: -g g1/g1 -v v1 # /g1/g1/v1 -> /g2/v1
+     # Truncate-mode: Truncate from and Append to path tail
+     # Syntax: -G [apn]:-lvl_nbr = # of levels to truncate
+     # NB: -G [apn]:-lvl_nbr is equivalent to -G [apn]@lvl_nbr
+     ncks -G :-1   -g g1    -v v1 # /g1/v1    -> /v1
+     ncks -G :-1   -g g1/g2 -v v1 # /g1/g2/v1 -> /g1/v1
+     ncks -G :-2   -g g1/g2 -v v1 # /g1/g2/v1 -> /v1
+     ncks -G :-2   -g g1    -v v1 # /g1/v1    -> /v1
+     ncks -G g2:-1          -v v1 # /g?/v1    -> /g2/v1
+     ncks -G g2:-1 -g g1    -v v1 # /g1/v1    -> /g2/v1
+     ncks -G g1:-1 -g g1/g2 -v v1 # /g1/g2/v1 -> /g1/g1/v1
+
+   Until fall 2013 (netCDF version 4.3.1-pre1), netCDF contained no
+library function for renaming groups, and therefore 'ncrename' cannot
+rename groups.  However, NCO built on earlier versions of netCDF than
+4.3.1 can use a GPE-based workaround mechanism to "rename" groups.  The
+GPE mechanism actually _moves_ (i.e., copies to a new location) groups,
+a more arduous procedure than simply renaming them.  GPE applies to all
+selected groups, so, in the general case, one must move only the desired
+group to a new file, and then merge that new file with the original to
+obtain a file where the desired group has been "renamed" and all else is
+unchanged.  Here is how to "rename" group '/g4' to group '/f4' with GPE
+instead of 'ncrename'
+     ncks -O -G f4:1 -g g4 ~/nco/data/in_grp.nc ~/tmp.nc # Move /g4 to /f4
+     ncks -O -x -g g4 ~/nco/data/in_grp.nc ~/out.nc # Excise /g4
+     ncks -A ~/tmp.nc ~/out.nc # Add /f4 to new file
+   If the original group 'g4' is not excised from 'out.nc' (step two
+above), then the final output file would contain both 'g4' and a copy
+named 'f4'.  Thus GPE can be used to both "rename" and copy groups.  The
+recommended way to rename groups when when netCDF version 4.3.1 is
+availale is to use 'ncrename' (*note ncrename netCDF Renamer::).
+
+   One may wish to flatten hierarchical group files for many reasons.
+These include 1. Obtaining flat netCDF3 files for use with tools that do
+not work with netCDF4 files, 2. Splitting apart hierarchies to
+re-assemble into different hierarchies, and 3. Providing a subset of a
+hierarchical file with the simplest possible storage structure.
+     ncks -O -G : -g cesm -3 ~/nco/data/cmip5.nc ~/cesm.nc # Extract /cesm to /
+   The '-3' switch (1) specifies the output dataset should be in netCDF3
+format, the '-G :' option flattens all extracted groups, and the '-g
+cesm' option extracts only the 'cesm' group and leaves all other groups
+(e.g., 'ecmwf', 'giss').
+
+   Let us show how to completely disaggregate (or, more memorably)
+_dismember_ a hierarchical dataset.  For now we take this to mean: store
+each group as a standalone flat dataset in netCDF3 format.  This can be
+accomplished by looping the previous example over all groups.  This
+script 'ncdismember' dismembers the input file FL_IN specified in the
+first argument and places the resulting files in the directory DRC_OUT
+specified by the second argument:
+     cat > ~/ncdismember << 'EOF'
+     # Purpose: Dismember netCDF4/HDF5 hierarchical files. CF-check them.
+     # Place each input file group in separate netCDF3 output file
+     # Described in NCO User Guide at http://nco.sf.net/nco.html#dismember
+     # Requirements: NCO 4.3.x+, UNIX shell utilities awk, grep, sed
+     # Optional: CFchecker command https://bitbucket.org/mde_/cfchecker
+
+     # Usage:
+     # ncdismember <fl_in> <drc_out> [flg_cf] [cf_vrs] [opt]
+     # where fl_in is input file/URL to dismember, drc_out is output directory,
+     # CF-compliance check is performed when optional third argument is 'cf',
+     # Optional fourth argument cf_vrs is CF version to check
+     # Optional fifth argument opt passes straight through to ncks
+     # chmod a+x ~/sh/ncdismember
+     # ncdismember ~/nco/data/mdl.nc /data/zender/nco/tmp
+     # ncdismember ~/nco/data/mdl.nc /data/zender/nco/tmp
+     # ncdismember http://dust.ess.uci.edu/nco/mdl.nc /data/zender/nco/tmp
+     # ncdismember http://thredds-test.ucar.edu/thredds/dodsC/testdods/foo.nc /data/zender/nco/tmp
+     # ncdismember ~/nco/data/mdl.nc /data/zender/nco/tmp cf
+     # ncdismember ~/nco/data/mdl.nc /data/zender/nco/tmp cf 1.3
+     # ncdismember ~/nco/data/mdl.nc /data/zender/nco/tmp cf 1.5 --fix_rec_dmn=all
+
+     # Command line argument defaults
+     fl_in="${HOME}/nco/data/mdl.nc" # [sng] Input file to dismember/check
+     drc_out="${DATA}/nco/tmp" # [sng] Output directory
+     flg_cf='0' # [flg] Perform CF-compliance check
+     cf_vrs='1.5' # [sng] Compliance-check this CF version (e.g., '1.5')
+     opt='' # [flg] Additional ncks options (e.g., '--fix_rec_dmn=all')
+
+     # Command line argument option parsing
+     if [ -n "${1}" ]; then fl_in=${1}; fi
+     if [ -n "${2}" ]; then drc_out=${2}; fi
+     if [ -n "${3}" ]; then flg_cf=${3}; fi
+     if [ -n "${4}" ]; then cf_vrs=${4}; fi
+     if [ -n "${5}" ]; then opt=${5}; fi
+
+     # Prepare output directory
+     echo "NCO dismembering file ${fl_in}"
+     fl_stb=$(basename ${fl_in})
+     drc_out=${drc_out}/${fl_stb}
+     mkdir -p ${drc_out}
+     cd ${drc_out}
+     # Obtain group list
+     grp_lst=`ncks --cdl -m ${fl_in} | grep '// group' | awk '{$1=$2=$3="";sub(/^  */,"",$0);print}'`
+     IFS=$'\n' # Change Internal-Field-Separator from <Space><Tab><Newline> to <Newline>
+     for grp_in in ${grp_lst} ; do
+         # Replace slashes by dots for output group filenames
+         grp_out=`echo ${grp_in} | sed 's/\///' | sed 's/\//./g'`
+         if [ "${grp_out}" = '' ]; then grp_out='root' ; fi
+         # Tell older NCO/netCDF if HDF4 with --hdf4 switch (signified by .hdf/.HDF suffix)
+         hdf4=`echo ${fl_in} | awk '{if(match(tolower($1),".hdf$")) hdf4="--hdf4"; print hdf4}'`
+         # Flatten to netCDF3, anchor, no history, no temporary file, padding, HDF4 flag, options
+         ncks -O -3 -G : -g ${grp_in}/ -h --no_tmp_fl --hdr_pad=40 ${hdf4} ${opt} ${fl_in} ${drc_out}/${grp_out}.nc
+         if [ ${flg_cf} = 'cf' ]; then
+            # cfchecker needs Conventions <= 1.5
+            ncatted -h -a Conventions,global,o,c,"CF-${cf_vrs}" ${drc_out}/${grp_out}.nc
+         else # !flg_cf
+            echo ${drc_out}/${grp_out}.nc
+         fi # !flg_cf
+     done
+     if [ ${flg_cf} = 'cf' ]; then
+         echo "CFchecker reports CF-compliance of each group in flat netCDF3 format"
+         cfchecker -c ${cf_vrs} *.nc
+     fi # !flg_cf
+     EOF
+     chmod 755 ~/ncdismember # Make command executable
+     /bin/mv -f ~/ncdismember ~/sh # Store in location on $PATH, e.g., /usr/local/bin
+
+     zender at roulee:~$ ncdismember ~/nco/data/mdl.nc ${DATA}/nco/tmp
+     NCO dismembering file /home/zender/nco/data/mdl.nc
+     /data/zender/nco/tmp/mdl.nc/cesm.cesm_01.nc
+     /data/zender/nco/tmp/mdl.nc/cesm.cesm_02.nc
+     /data/zender/nco/tmp/mdl.nc/cesm.nc
+     /data/zender/nco/tmp/mdl.nc/ecmwf.ecmwf_01.nc
+     /data/zender/nco/tmp/mdl.nc/ecmwf.ecmwf_02.nc
+     /data/zender/nco/tmp/mdl.nc/ecmwf.nc
+     /data/zender/nco/tmp/mdl.nc/root.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.  Note that all dimensions inherited by
+groups in the input file are correctly placed by 'ncdismember' into the
+flat files.  Moreover, each output file preserves the group metadata of
+all ancestor groups, including the global metadata from the input file.
+As written, the script could fail on groups that contain advanced
+netCDF4 features because the user requests (with the '-3' switch) that
+output be netCDF3 classic format.  However, 'ncks' detects many format
+incompatibilities in advance and works around them.  For example, 'ncks'
+autoconverts netCDF4-only atomic-types (such as 'NC_STRING' and
+'NC_UBYTE') to corresponding netCDF3 atomic types ('NC_CHAR' and
+'NC_SHORT') when the output format is netCDF3.
+
+   One application of dismembering is to check the CF-compliance of each
+group in a file.  When invoked with the optional third argumnt 'cf',
+'ncdismember' passes each file it generates to the freely available (2)
+'cfchecker' command.
+     zender at roulee:~$ ncdismember ~/nco/data/mdl.nc /data/zender/nco/tmp cf
+     NCO dismembering file /home/zender/nco/data/mdl.nc
+     CFchecker reports CF-compliance of each group in flat netCDF3 format
+     WARNING: Using the default (non-CF) Udunits database
+     cesm.cesm_01.nc:
+     INFO: INIT:     running CFchecker version 1.5.15
+     INFO: INIT:     checking compliance with convention CF-1.5
+     INFO: INIT:     using standard name table version: 25, last modified: 2013-07-05T05:40:30Z
+     INFO: INIT:     using area type table version: 2, date: 10 July 2013
+     INFO: 2.4:      no axis information found in dimension variables, not checking dimension order
+     WARNING: 3:     variable "tas1" contains neither long_name nor standard_name attribute
+     WARNING: 3:     variable "tas2" contains neither long_name nor standard_name attribute
+     INFO: 3.1:      variable "tas1" does not contain units attribute
+     INFO: 3.1:      variable "tas2" does not contain units attribute
+     --------------------------------------------------
+     cesm.cesm_02.nc:
+     ...
+   By default the CF version checked is determined automatically by
+'cfchecker'.  The user can override this default by supplying a
+supported CF version, e.g., '1.3', as an optional fourth argument to
+'ncdismember'.  Current valid CF options are '1.0', '1.1', '1.2', '1.3',
+'1.4', and '1.5'.
+
+   Our development and testing of 'ncdismember' is funded by our
+involvement in NASA's Dataset Interoperability Working Group (DIWG
+(https://wiki.earthdata.nasa.gov/display/ESDSWG/Dataset+Interoperability+Working+Group)),
+though our interest extends beyond NASA datasets.  Taken together, NCO's
+features (autoconversion to netCDF3 atomic types, fixing multiple record
+dimensions, autosensing HDF4 input, scoping rules for CF conventions)
+make 'ncdismember' reliable and friendly for both dismembering
+hierarchical files and for CF-compliance checks.  Most HDF4 and HDF5
+datasets can be checked for CF-compliance with a one-line command.
+Example compliance checks of common NASA datasets are at
+<http://dust.ess.uci.edu/diwg>.  Our long-term goal is to enrich the
+hierarchical data model with the expressivity and syntactic power of CF
+conventions.
+
+   NASA asked the DIWG to prepare a one-page summary of the procedure
+necessary to check HDF files for CF-compliance:
+     cat > ~/ncdismember.txt << 'EOF'
+         Preparing an RPM-based OS to Test Hierarchical Files for CF-Compliance
+
+     By Charlie Zender, UCI & NASA Dataset Interoperability Working Group (DIWG)
+
+     Installation Summary:
+     1. HDF4 [with netCDF support _disabled_]
+     2. HDF5
+     3. netCDF version 4.3.1 (or later) [with HDF4 support _enabled_]
+     4. NCO version 4.4.0 (or later)
+     5. numpy
+     6. netcdf4-python
+     7. python-lxml
+     8. CFunits-python
+     9. CFChecker
+     10. ncdismember
+
+     All 10 packages can use default installs _except_ HDF4 and netCDF.
+     Following instructions for Fedora Core 20 (FC20), an RPM-based Linux OS
+     Feedback and changes for other Linux-based OS's welcome to zender at uci.edu
+     ${H4DIR}, ${H5DIR}, ${NETCDFDIR}, ${NCODIR}, may all be different
+     For simplicity CZ sets them all to /usr/local
+
+     # 1. HDF4. Build in non-default manner. Turn-off its own netCDF support.
+     # Per http://www.unidata.ucar.edu/software/netcdf/docs/build_hdf4.html
+     # HDF4 support not necessary though it makes ncdismember more comprehensive
+     wget -c http://www.hdfgroup.org/ftp/HDF/HDF_Current/src/hdf-4.2.9.tar.gz
+     tar xvzf hdf-4.2.9.tar.gz
+     cd hdf-4.2.9
+     ./configure --enable-shared --disable-netcdf --disable-fortran --prefix=${H4DIR}
+     make && make check && make install
+
+     # 2. HDF5. Build normally. RPM may work too. Please let me know if so.
+     # HDF5 is a necessary pre-requisite for netCDF4
+     wget -c ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4/hdf5-1.8.11.tar.gz
+     tar xvzf hdf5-1.8.11.tar.gz
+     cd hdf5-1.8.11
+     ./configure --enable-shared --prefix=${H5DIR}
+     make && make check && make install
+
+     # 3. netCDF version 4.3.1. Build in non-default manner with HDF4. No RPM.
+     # Per http://www.unidata.ucar.edu/software/netcdf/docs/build_hdf4.html
+     # Earlier versions of netCDF may fail checking some HDF4 files
+     wget -c ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4.3.1.tar.gz
+     tar xvzf netcdf-4.3.1.tar.gz
+     cd netcdf-4.3.1
+     CPPFLAGS="-I${H5DIR}/include -I${H4DIR}/include" \
+     LDFLAGS="-L${H5DIR}/lib -L${H4DIR}/lib" \
+     ./configure --enable-hdf4 --enable-hdf4-file-tests
+     make && make check && make installas
+
+     # 4. NCO version 4.4.2. No RPM for this version. Must install by hand.
+     # Earlier versions of NCO are relatively useless for ncdismember
+     cd ${DATA}/tmp
+     wget http://nco.sourceforge.net/src/nco-4.4.2.tar.gz .
+     tar xvzf nco-4.4.2.tar.gz
+     cd nco-4.4.2
+     ./configure --prefix=${NCODIR}
+     make && make install
+
+     # 5. numpy
+     sudo yum install numpy -y
+
+     # 6. netcdf4-python
+     sudo yum install netcdf4-python -y
+
+     # 7. python-lxml
+     sudo yum install python-lxml -y
+
+     # 8. CFunits-python. No RPM available. Must install by hand.
+     # http://code.google.com/p/cfunits-python/
+     cd ${DATA}/tmp
+     wget http://cfunits-python.googlecode.com/files/cfunits-0.9.6.tar.gz .
+     cd cfunits-0.9.6
+     sudo python setup.py install
+
+     # 9. CFChecker. No RPM available. Must install by hand.
+     # https://bitbucket.org/mde_/cfchecker
+     cd ${DATA}/tmp
+     wget https://bitbucket.org/mde_/cfchecker/downloads/CFchecker-1.5.15.tar.bz2 .
+     tar xvjf CFchecker-1.5.15.tar.bz2
+     cd CFchecker
+     sudo python setup.py install
+
+     # 10. ncdismember. Copy script from http://nco.sf.net/nco.html#ncdismember
+     # Store dismembered files somewhere, e.g., ${DATA}/nco/tmp/hdf
+     mkdir -p ${DATA}/nco/tmp/hdf
+     # Many datasets work with a simpler command...
+     ncdismember ~/nco/data/in.nc ${DATA}/nco/tmp/hdf cf 1.5
+     ncdismember ~/nco/data/mdl.nc ${DATA}/nco/tmp/hdf cf 1.5
+     ncdismember ${DATA}/hdf/AMSR_E_L2_Rain_V10_200905312326_A.hdf \
+                 ${DATA}/nco/tmp/hdf cf 1.5
+     ncdismember ${DATA}/hdf/BUV-Nimbus04_L3zm_v01-00-2012m0203t144121.h5 \
+                 ${DATA}/nco/tmp/hdf cf 1.5
+     ncdismember ${DATA}/hdf/HIRDLS-Aura_L3ZAD_v06-00-00-c02_2005d022-2008d077.he5 ${DATA}/nco/tmp/hdf cf 1.5
+     # Some datasets, typically .h5, require the --fix_rec_dmn=all argument
+     ncdismember_${DATA}/hdf/GATMO_npp_d20100906_t1935191_e1935505_b00012_c20110707155932065809_noaa_ops.h5 ${DATA}/nco/tmp/hdf cf 1.5 --fix_rec_dmn=all
+     ncdismember ${DATA}/hdf/mabel_l2_20130927t201800_008_1.h5 \
+                 ${DATA}/nco/tmp/hdf cf 1.5 --fix_rec_dmn=all
+     EOF
+   A PDF version of these instructions is available here
+(http://dust.ess.uci.edu/diwg/ncdismember.pdf).
+
+   ---------- Footnotes ----------
+
+   (1) Note that the '-3' switch should appear _after_ the '-G' and '-g'
+switches.  This is due to an artifact of the GPE implementation which we
+wish to remove in the future.
+
+   (2) CFchecker is developed by Michael Decker and Martin Schultz at
+Forschungszentrum Ju"lich and distributed at
+<https://bitbucket.org/mde_/cfchecker>.
+
+3.14 C and Fortran Index conventions
+====================================
+
+Availability: 'ncbo', 'nces', 'ncecat', 'ncflint', 'ncks', 'ncpdq',
+'ncra', 'ncrcat', 'ncwa'
+Short options: '-F'
+Long options: '--fortran'
+   The '-F' switch changes NCO to read and write with the Fortran index
+convention.  By default, NCO uses C-style (0-based) indices for all I/O.
+In C, indices count from 0 (rather than 1), and dimensions are ordered
+from slowest (inner-most) to fastest (outer-most) varying.  In Fortran,
+indices count from 1 (rather than 0), and dimensions are ordered from
+fastest (inner-most) to slowest (outer-most) varying.  Hence C and
+Fortran data storage conventions represent mathematical transposes of
+eachother.  Note that record variables contain the record dimension as
+the most slowly varying dimension.  See *note ncpdq netCDF Permute
+Dimensions Quickly:: for techniques to re-order (including transpose)
+dimensions and to reverse data storage order.
+
+   Consider a file '85.nc' containing 12 months of data in the record
+dimension 'time'.  The following hyperslab operations produce identical
+results, a June-July-August average of the data:
+     ncra -d time,5,7 85.nc 85_JJA.nc
+     ncra -F -d time,6,8 85.nc 85_JJA.nc
+
+   Printing variable THREE_DMN_VAR in file 'in.nc' first with the C indexing
+convention, then with Fortran indexing convention results in the
+following output formats:
+     % ncks -v three_dmn_var in.nc
+     lat[0]=-90 lev[0]=1000 lon[0]=-180 three_dmn_var[0]=0
+     ...
+     % ncks -F -v three_dmn_var in.nc
+     lon(1)=0 lev(1)=100 lat(1)=-90 three_dmn_var(1)=0
+     ...
+
+3.15 Hyperslabs
+===============
+
+Availability: 'ncbo', 'nces', 'ncecat', 'ncflint', 'ncks', 'ncpdq',
+'ncra', 'ncrcat', 'ncwa'
+Short options: '-d DIM,[MIN][,[MAX][,[STRIDE]]]'
+Long options: '--dimension DIM,[MIN][,[MAX][,[STRIDE]]]',
+'--dmn DIM,[MIN][,[MAX][,[STRIDE]]]'
+   A "hyperslab" is a subset of a variable's data.  The coordinates of a
+hyperslab are specified with the '-d DIM,[MIN][,[MAX][,[STRIDE]]]' short
+option (or with the same arguments to the '--dimension' or '--dmn' long
+options).  At least one hyperslab argument (MIN, MAX, or STRIDE) must be
+present.  The bounds of the hyperslab to be extracted are specified by
+the associated MIN and MAX values.  A half-open range is specified by
+omitting either the MIN or MAX parameter.  The separating comma must be
+present to indicate the omission of one of these arguments.  The
+unspecified limit is interpreted as the maximum or minimum value in the
+unspecified direction.  A cross-section at a specific coordinate is
+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
+     ncks -F -d lon,1,2 in.nc out.nc
+     # Second and third indices of lon dimension
+     ncks -d lon,1,2 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
+convention serves only to differentiate coordinate values from dimension
+indices.  It is independent of the type of any netCDF coordinate
+variables.  For a given dimension, the specified limits must both be
+coordinate values (with decimal points) or dimension indices (no decimal
+points).
+
+   If values of a coordinate-variable are used to specify a range or
+cross-section, then the coordinate variable must be monotonic (values
+either increasing or decreasing).  In this case, command-line values
+need not exactly match coordinate values for the specified dimension.
+Ranges are determined by seeking the first coordinate value to occur in
+the closed range [MIN,MAX] and including all subsequent values until one
+falls outside the range.  The coordinate value for a cross-section is
+the coordinate-variable value closest to the specified value and must
+lie within the range or coordinate-variable values.  The STRIDE
+argument, if any, must be a dimension index, not a coordinate value.
+*Note Stride::, for more information on the STRIDE option.
+     # All longitude values between 1 and 2 degrees
+     ncks -d lon,1.0,2.0 in.nc out.nc
+     # All longitude values between 1 and 2 degrees
+     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'
+instead of simply '.' in order to make obvious the selection of
+hyperslab elements based on coordinate value rather than index.
+
+   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 'NC_CHAR' are computed numerically
+rather than lexically, so the results are unpredictable.
+
+   The relative magnitude of MIN and MAX indicate to the operator
+whether to expect a "wrapped coordinate" (*note Wrapped Coordinates::),
+such as longitude.  If MIN > MAX, the NCO expects the coordinate to be
+wrapped, and a warning message will be printed.  When this occurs, NCO
+selects all values outside the domain [MAX < MIN], i.e., all the values
+exclusive of the values which would have been selected if MIN and MAX
+were swapped.  If this seems confusing, test your command on just the
+coordinate variables with 'ncks', and then examine the output to ensure
+NCO selected the hyperslab you expected (coordinate wrapping is
+currently only supported by 'ncks').
+
+   Because of the way wrapped coordinates are interpreted, it is very
+important to make sure you always specify hyperslabs in the
+monotonically increasing sense, i.e., MIN < MAX (even if the underlying
+coordinate variable is monotonically decreasing).  The only exception to
+this is when you are indeed specifying a wrapped coordinate.  The
+distinction is crucial to understand because the points selected by,
+e.g., '-d longitude,50.,340.', are exactly the complement of the points
+selected by '-d longitude,340.,50.'.
+
+   Not specifying any hyperslab option is equivalent to specifying full
+ranges of all dimensions.  This option may be specified more than once
+in a single command (each hyperslabbed dimension requires its own '-d'
+option).
+
+3.16 Stride
+===========
+
+Availability: 'ncbo', 'nces', 'ncecat', 'ncflint', 'ncks', 'ncpdq',
+'ncra', 'ncrcat', 'ncwa'
+Short options: '-d DIM,[MIN][,[MAX][,[STRIDE]]]'
+Long options: '--dimension DIM,[MIN][,[MAX][,[STRIDE]]]',
+'--dmn DIM,[MIN][,[MAX][,[STRIDE]]]'
+   All data operators support specifying a "stride" for any and all
+dimensions at the same time.  The STRIDE is the spacing between
+consecutive points in a hyperslab.  A STRIDE of 1 picks all the elements
+of the hyperslab, and a STRIDE of 2 skips every other element, etc..
+'ncks' multislabs support strides, and are more powerful than the
+regular hyperslabs supported by the other operators (*note
+Multislabs::).  Using the STRIDE option for the record dimension with
+'ncra' and 'ncrcat' makes it possible, for instance, to average or
+concatenate regular intervals across multi-file input data sets.
+
+   The STRIDE is specified as the optional fourth argument to the '-d'
+hyperslab specification: '-d DIM,[MIN][,[MAX][,[STRIDE]]]'.  Specify
+STRIDE as an integer (i.e., no decimal point) following the third comma
+in the '-d' argument.  There is no default value for STRIDE.  Thus using
+'-d time,,,2' is valid but '-d time,,,2.0' and '-d time,,,' are not.
+When STRIDE is specified but MIN is not, there is an ambiguity as to
+whether the extracted hyperslab should begin with (using C-style,
+0-based indexes) element 0 or element 'stride-1'.  NCO must resolve this
+ambiguity and it chooses element 0 as the first element of the hyperslab
+when MIN is not specified.  Thus '-d time,,,STRIDE' is syntactically
+equivalent to '-d time,0,,STRIDE'.  This means, for example, that
+specifying the operation '-d time,,,2' on the array '1,2,3,4,5' selects
+the hyperslab '1,3,5'.  To obtain the hyperslab '2,4' instead, simply
+explicitly specify the starting index as 1, i.e., '-d time,1,,2'.
+
+   For example, consider a file '8501_8912.nc' which contains 60
+consecutive months of data.  Say you wish to obtain just the March data
+from this file.  Using 0-based subscripts (*note C and Fortran Index
+Conventions::) these data are stored in records 2, 14, ... 50 so the
+desired STRIDE is 12.  Without the STRIDE option, the procedure is very
+awkward.  One could use 'ncks' five times and then use 'ncrcat' to
+concatenate the resulting files together:
+     for idx in 02 14 26 38 50; do # Bourne Shell
+       ncks -d time,${idx} 8501_8912.nc foo.${idx}
+     done
+     foreach idx (02 14 26 38 50) # C Shell
+       ncks -d time,${idx} 8501_8912.nc foo.${idx}
+     end
+     ncrcat foo.?? 8589_03.nc
+     rm foo.??
+   With the STRIDE option, 'ncks' performs this hyperslab extraction in
+one operation:
+     ncks -d time,2,,12 8501_8912.nc 8589_03.nc
+   *Note ncks netCDF Kitchen Sink::, for more information on 'ncks'.
+
+   Applying the STRIDE option to the record dimension in 'ncra' and
+'ncrcat' makes it possible, for instance, to average or concatenate
+regular intervals across multi-file input data sets.
+     ncra -F -d time,3,,12 85.nc 86.nc 87.nc 88.nc 89.nc 8589_03.nc
+     ncrcat -F -d time,3,,12 85.nc 86.nc 87.nc 88.nc 89.nc 8503_8903.nc
+
+3.17 Record Appending
+=====================
+
+Availability: 'ncra', 'ncrcat'
+Short options: None
+Long options: '--rec_apn', '--record_append'
+   As of version 4.2.6 (March, 2013), NCO allows both Multi-File,
+Multi-Record operators ('ncra' and 'ncrcat') to append their output
+directly to the end of an existing file.  This feature may be used to
+augment a target file, rather than construct it from scratch.  This
+helps, for example, when a timeseries is concatenated from input data
+that becomes available in stages rather than all at once.  In such cases
+this switch significantly speeds writing.
+
+   Consider the use case where one wishes to preserve the contents of
+'fl_1.nc', and add to them new records contained in 'fl_2.nc'.
+Previously the output had to be placed in a third file, 'fl_3.nc' (which
+could also safely be named 'fl_2.nc'), via
+     ncrcat -O fl_1.nc fl_2.nc fl_3.nc
+   Under the hood this operation copies all information in 'fl_1.nc' and
+'fl_2.nc' not once but twice.  The first copy is performed through the
+netCDF interface, as all data from 'fl_1.nc' and 'fl_2.nc' are extracted
+and placed in the output file.  The second copy occurs (usually much)
+more quickly as the (by default) temporary output file is copied
+(sometimes a quick re-link suffices) to the final output file (*note
+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':
+     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
+'fl_1.nc' precede those in 'fl_2.nc', so why do the files appear in the
+reverse order on the command line?  'fl_1.nc' is the last file named
+because it is the pre-existing output file to which we are appending all
+of the other input files (in this case only 'fl_2.nc').  The contents of
+'fl_1.nc' are completely preserved, and only values in 'fl_2.nc' (and
+any other input files) are copied.  This switch avoids the necessity of
+copying all of 'fl_1.nc' through the netCDF interface to a new output
+file.  The '--rec_apn' switch automatically puts NCO into append mode
+(*note Appending Variables::), so specifying '-A' is redundant, and
+simultaneously specifying overwrite mode with '-O' causes an error.  By
+default, NCO works in an intermediate temporary file.  Power users may
+combine '--rec_apn' with the '--no_tmp_fl' switch (*note Temporary
+Output Files::):
+     ncrcat --rec_apn --no_tmp_fl fl_2.nc fl_1.nc
+   This avoids creating an intermediate file, and copies only the
+minimal amount of data (i.e., all of 'fl_2.nc').  Hence, it is fast.  We
+recommend users try to understand the safety trade-offs involved.
+
+3.18 Subcycle
+=============
+
+Availability: 'ncra', 'ncrcat'
+Short options: '-d DIM,[MIN][,[MAX][,[STRIDE][,[SUBCYCLE]]]]'
+Long options: '--mro' '--dimension
+DIM,[MIN][,[MAX][,[STRIDE][,[SUBCYCLE]]]]'
+'--dmn DIM,[MIN][,[MAX][,[STRIDE][,[SUBCYCLE]]]]'
+   As of version 4.2.1 (August, 2012), NCO allows both Multi-File,
+Multi-Record operators, 'ncra' and 'ncrcat', to extract and operate on
+multiple groups of records.  These groups may be connected to physical
+_sub-cycles_ of a periodic nature, e.g., months of a year, or hours of a
+day.  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 "subcycle feature", sometimes abbreviated SSC (1).
+
+   The subcycle feature allows processing of groups of records separated
+by regular intervals of records.  It is perhaps best illustrated by an
+extended example which describes how to solve the same problem both with
+and without the SSC feature.
+
+   The first task in climate data processing is often creating seasonal
+cycles.  Suppose a 150-year climate simulation produces 150 output
+files, each comprising 12 records, each record a monthly mean:
+'1850.nc', '1851.nc', ...  '1999.nc'.  Our goal is to create a single
+file containing the summertime (June, July, and August, aka JJA) mean.
+Traditionally, we would first compute the climatological monthly mean
+for each month of summer.  Each of these is a 150-year mean, i.e.,
+     # Step 1: Create climatological monthly files clm06.nc..clm08.nc
+     for mth in {6..8}; do
+       mm=`printf "%02d" $mth`
+       ncra -O -F -d time,${mm},,12 -n 150,4,1 1850.nc clm${mm}.nc
+     done
+     # Step 2: Average climatological monthly files into summertime mean
+     ncra -O clm06 clm07.nc clm08.nc clm_JJA.nc
+So far, nothing is unusual and this task can be performed by any NCO
+version.  The SSC feature makes obsolete the need for the shell loop
+used in Step 1 above.
+
+   The new SSC option aggregates more than one input record at a time
+before performing arithmetic operations, and, with an additional switch,
+allows us to archive those results in multiple record output (MRO)
+files.  This reduces the task of producing the climatological summertime
+mean to one step:
+     # Step 1: Compute climatological summertime mean
+     ncra -O -F -d time,6,,12,3 -n 150,4,1 1850.nc clm_JJA.nc
+The SSC option instructs 'ncra' (or 'ncrcat') to process files in groups
+of three records.  To better understand the meaning of each argument to
+the '-d' hyperslab option, read it this way: "for the time dimension
+start with the sixth record, continue without end, repeat the process
+every twelfth record, and define a sub-cycle as three consecutive
+records".
+
+   A separate option, '--mro', instructs 'ncra' to output its results
+from each sub-group, and to produce a "Multi-Record Output" (MRO) file
+rather than a "Single-Record Output" (SRO) file.  Unless '--mro' is
+specified, 'ncra' collects together all the sub-groups, operates on
+their ensemble, and produces a single output record.  The addition of
+'--mro' to the above example causes 'ncra' to archive all (150) annual
+summertime means to one file:
+     # Step 1: Archive all 150 summertime means in one file
+     ncra --mro -O -F -d time,6,,12,3 -n 150,4,1 1850.nc 1850_2009_JJA.nc
+     # ...or all (150) annual means...
+     ncra --mro -O -d time,,,12,12 -n 150,4,1 1850.nc 1850_2009.nc
+These operations generate and require no intermediate files.  This
+contrasts to previous NCO methods, which require generating, averaging,
+then catenating 150 files.  The '--mro' option has no effect on, or
+rather is redundant for, 'ncrcat' since 'ncrcat' always outputs all
+selected records.
+
+   ---------- Footnotes ----------
+
+   (1) When originally released in 2012 this was called the "duration
+feature", and was abbreviated DRN.
+
+3.19 Multislabs
+===============
+
+Availability: 'ncbo', 'nces', 'ncecat', 'ncflint', 'ncks', 'ncpdq',
+'ncra', 'ncrcat'
+Short options: '-d DIM,[MIN][,[MAX][,[STRIDE]]]'
+Long options: '--dimension DIM,[MIN][,[MAX][,[STRIDE]]]',
+'--dmn DIM,[MIN][,[MAX][,[STRIDE]]]'
+'--msa_usr_rdr', '--msa_user_order'
+   A multislab is a union of one or more hyperslabs.  One defines
+multislabs by chaining together hyperslab commands, i.e., '-d' options
+(*note Hyperslabs::).  Support for specifying a "multi-hyperslab" or
+"multislab" for any variable was first added to 'ncks' in late 2002.
+The other operators received these capabilities in April 2008.
+Multi-slabbing is often referred to by the acronym MSA, which stands for
+"Multi-Slabbing Algorithm".  As explained below, the user may
+additionally request that the multislabs be returned in the
+user-specified order, rather than the on-disk storage order.  Although
+MSA user-ordering has been available in all operators since 2008, most
+users were unaware of it since the documentation (below, and in the man
+pages) was not written until July 2013.
+
+   Multislabs overcome many restraints that limit simple hyperslabs.  A single
+'-d' option can only specify a contiguous and/or a regularly spaced
+multi-dimensional data array.  Multislabs are constructed from multiple
+'-d' options and may therefore have non-regularly spaced arrays.  For
+example, suppose it is desired to operate on all longitudes from 10.0 to
+20.0 and from 80.0 to 90.0 degrees.  The combined range of longitudes is
+not selectable in a single hyperslab specfication of the form '-d
+DIMENSION,MIN,MAX' or '-d DIMENSION,MIN,MAX,STRIDE' because its elements
+are irregularly spaced in coordinate space (and presumably in index
+space too).  The multislab specification for obtaining these values is
+simply the union of the hyperslabs specifications that comprise the
+multislab, i.e.,
+     ncks -d lon,10.,20. -d lon,80.,90. in.nc out.nc
+     ncks -d lon,10.,15. -d lon,15.,20. -d lon,80.,90. in.nc out.nc
+Any number of hyperslabs specifications may be chained together to
+specify the multislab.  MSA creates an output dimension equal in size to
+the sum of the sizes of the multislabs.  This can be used to extend and
+or pad coordinate grids.
+
+   Users may specify redundant ranges of indices in a multislab, e.g.,
+     ncks -d lon,0,4 -d lon,2,9,2 in.nc out.nc
+This command retrieves the first five longitudes, and then every other
+longitude value up to the tenth.  Elements 0, 2, and 4 are specified by
+both hyperslab arguments (hence this is redundant) but will count only
+once if an arithmetic operation is being performed.  This example uses
+index-based (not coordinate-based) multislabs because the STRIDE option
+only supports index-based hyper-slabbing.  *Note Stride::, for more
+information on the STRIDE option.
+
+   Multislabs are more efficient than the alternative of sequentially
+performing hyperslab operations and concatenating the results.  This is
+because NCO employs a novel multislab algorithm to minimize the number
+of I/O operations when retrieving irregularly spaced data from disk.
+The NCO multislab algorithm retrieves each element from disk once and
+only once.  Thus users may take some shortcuts in specifying multislabs
+and the algorithm will obtain the intended values.  Specifying redundant
+ranges is not encouraged, but may be useful on occasion and will not
+result in unintended consequences.
+
+   Suppose the Q variable contains three dimensional arrays of distinct
+chemical constituents in no particular order.  We are interested in the
+NOy species in a certain geographic range.  Say that NO, NO2, and N2O5
+are elements 0, 1, and 5 of the SPECIES dimension of Q.  The multislab
+specification might look something like
+     ncks -d species,0,1 -d species,5 -d lon,0,4 -d lon,2,9,2 in.nc out.nc
+Multislabs are powerful because they may be specified for every
+dimension at the same time.  Thus multislabs obsolete the need to
+execute multiple 'ncks' commands to gather the desired range of data.
+
+   The MSA user-order switch '--msa_usr_rdr' (or '--msa_user_order',
+both of which shorten to '--msa') requests that the multislabs be output
+in the user-specified order from the command-line, rather than in the
+input-file on-disk storage order.  This allows the user to perform
+complex data re-ordering in one operation that would otherwise require
+cumbersome steps of hyperslabbing, concatenating, and permuting.
+Consider the recent example of a user who needed to convert datasets
+stored with the longitude coordinate 'Lon' ranging from [-180,180) to
+datasets that follow the [0,360) convention.
+     % ncks -H -v Lon in.nc
+     Lon[0]=-180
+     Lon[1]=-90
+     Lon[2]=0
+     Lon[3]=90
+Although simple in theory, this task requires both mathematics to change
+the numerical value of the longitude coordinate, data hyperslabbing to
+split the input on-disk arrays at Greenwich, and data re-ordering within
+to stitch the western hemisphere onto the eastern hemisphere at the
+date-line.  The '--msa' user-order switch overrides the default that
+data are output in the same order in which they are stored on-disk in
+the input file, and instead stores them in the same order as the
+multi-slabs are given to the command line.  This default is intuitive
+and is not important in most uses.  However, the MSA user-order switch
+allows users to meet their output order needs by specifying multi-slabs
+in a certain order.  Compare the results of default ordering to
+user-ordering for longitude:
+     % ncks -O -H       -v Lon -d Lon,0.,180. -d Lon,-180.,-1.0 in.nc
+     Lon[0]=-180
+     Lon[1]=-90
+     Lon[2]=0
+     Lon[3]=90
+     % ncks -O -H --msa -v Lon -d Lon,0.,180. -d Lon,-180.,-1.0 in.nc
+     Lon[0]=0
+     Lon[1]=90
+     Lon[2]=-180
+     Lon[3]=-90
+The two multi-slabs are the same but they can be presented to screen, or
+to an output file, in either order.  The second example shows how to
+place the western hemisphere after the eastern hemisphere, although they
+are stored in the opposite order in the input file.
+
+   With this background, one sees that the following commands suffice to
+rotate the input file by 180 degrees longitude:
+     % ncks -O -v LatLon --msa -d Lon,0.,180. -d Lon,-180.,-1.0 in.nc out.nc
+     % ncap2 -O -s 'where(Lon < 0) Lon=Lon+360' out.nc out.nc
+     % ncks -C -H -v LatLon ~/nco/data/in.nc
+     Lat[0]=-45 Lon[0]=-180 LatLon[0]=0
+     Lat[0]=-45 Lon[1]=-90 LatLon[1]=1
+     Lat[0]=-45 Lon[2]=0 LatLon[2]=2
+     Lat[0]=-45 Lon[3]=90 LatLon[3]=3
+     Lat[1]=45 Lon[0]=-180 LatLon[4]=4
+     Lat[1]=45 Lon[1]=-90 LatLon[5]=5
+     Lat[1]=45 Lon[2]=0 LatLon[6]=6
+     Lat[1]=45 Lon[3]=90 LatLon[7]=7
+     % ncks -C -H -v LatLon ~/out.nc
+     Lat[0]=-45 Lon[0]=0 LatLon[0]=2
+     Lat[0]=-45 Lon[1]=90 LatLon[1]=3
+     Lat[0]=-45 Lon[2]=180 LatLon[2]=0
+     Lat[0]=-45 Lon[3]=270 LatLon[3]=1
+     Lat[1]=45 Lon[0]=0 LatLon[4]=6
+     Lat[1]=45 Lon[1]=90 LatLon[5]=7
+     Lat[1]=45 Lon[2]=180 LatLon[6]=4
+     Lat[1]=45 Lon[3]=270 LatLon[7]=5
+There are other workable, valid methods to accomplish this rotation, yet
+none are simpler nor more efficient than utilizing MSA user-ordering.
+Some final comments on applying this algorithm: Be careful to specify
+hemispheres that do not overlap, e.g., by inadvertently specifying
+coordinate ranges that both include Greenwich.  Some users will find
+using index-based rather than coordinate-based hyperslabs makes this
+clearer.
+
+3.20 Wrapped Coordinates
+========================
+
+Availability: 'ncks'
+Short options: '-d DIM,[MIN][,[MAX][,[STRIDE]]]'
+Long options: '--dimension DIM,[MIN][,[MAX][,[STRIDE]]]',
+'--dmn DIM,[MIN][,[MAX][,[STRIDE]]]'
+   A "wrapped coordinate" is a coordinate whose values increase or
+decrease monotonically (nothing unusual so far), but which represents a
+dimension that ends where it begins (i.e., wraps around on itself).
+Longitude (i.e., degrees on a circle) is a familiar example of a wrapped
+coordinate.  Longitude increases to the East of Greenwich, England,
+where it is defined to be zero.  Halfway around the globe, the longitude
+is 180 degrees East (or West).  Continuing eastward, longitude increases
+to 360 degrees East at Greenwich.  The longitude values of most
+geophysical data are either in the range [0,360), or [-180,180).  In
+either case, the Westernmost and Easternmost longitudes are numerically
+separated by 360 degrees, but represent contiguous regions on the globe.
+For example, the Saharan desert stretches from roughly 340 to 50 degrees
+East.  Extracting the hyperslab of data representing the Sahara from a
+global dataset presents special problems when the global dataset is
+stored consecutively in longitude from 0 to 360 degrees.  This is
+because the data for the Sahara will not be contiguous in the INPUT-FILE
+but is expected by the user to be contiguous in the OUTPUT-FILE.  In
+this case, 'ncks' must invoke special software routines to assemble the
+desired output hyperslab from multiple reads of the INPUT-FILE.
+
+   Assume the domain of the monotonically increasing longitude
+coordinate 'lon' is 0 < LON < 360.  'ncks' will extract a hyperslab
+which crosses the Greenwich meridian simply by specifying the
+westernmost longitude as MIN and the easternmost longitude as MAX.  The
+following commands extract a hyperslab containing the Saharan desert:
+     ncks -d lon,340.,50. in.nc out.nc
+     ncks -d lon,340.,50. -d lat,10.,35. in.nc out.nc
+The first example selects data in the same longitude range as the
+Sahara.  The second example further constrains the data to having the
+same latitude as the Sahara.  The coordinate 'lon' in the OUTPUT-FILE,
+'out.nc', will no longer be monotonic!  The values of 'lon' will be,
+e.g., '340, 350, 0, 10, 20, 30, 40, 50'.  This can have serious
+implications should you run 'out.nc' through another operation which
+expects the 'lon' coordinate to be monotonically increasing.
+Fortunately, the chances of this happening are slim, since 'lon' has
+already been hyperslabbed, there should be no reason to hyperslab 'lon'
+again.  Should you need to hyperslab 'lon' again, be sure to give
+dimensional indices as the hyperslab arguments, rather than coordinate
+values (*note Hyperslabs::).
+
+3.21 Auxiliary Coordinates
+==========================
+
+Availability: 'ncbo', 'nces', 'ncecat', 'ncflint', 'ncks', 'ncpdq',
+'ncra', 'ncrcat'
+Short options: '-X LON_MIN,LON_MAX,LAT_MIN,LAT_MAX'
+Long options: '--auxiliary LON_MIN,LON_MAX,LAT_MIN,LAT_MAX'
+   Utilize auxiliary coordinates specified in values of the coordinate
+variable's 'standard_name' attributes, if any, when interpreting
+hyperslab and multi-slab options.  Also '--auxiliary'.  This switch
+supports hyperslabbing cell-based grids over coordinate ranges.  This
+works on datasets that associate coordinate variables to grid-mappings
+using the CF-convention (*note CF Conventions::) 'coordinates' and
+'standard_name' attributes described here
+(http://cf-pcmdi.llnl.gov/documents/cf-conventions/1.6/cf-conventions.html#coordinate-system).
+Currently, NCO understands auxiliary coordinate variables pointed to by
+the 'standard_name' attributes for LATITUDE and LONGITUDE.  Cells that
+contain a value within the user-specified range
+[LON_MIN,LON_MAX,LAT_MIN,LAT_MAX] are included in the output hyperslab.
+
+   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
+coordinates.  Rectangular (in longitude and latitude) horizontal
+hyperslabs cannot be selected using the typical procedure (*note
+Hyperslabs::) of separately specifying '-d' arguments for longitude and
+latitude.  Instead, when the '-X' is used, NCO learns the names of the
+latitude and longitude coordinates by searching the 'standard_name'
+attribute of all variables until it finds the two variables whose
+'standard_name''s are "latitude" and "longitude", respectively.  This
+'standard_name' attribute for latitude and longitude coordinates follows
+the CF-convention (*note CF Conventions::).
+
+   Putting it all together, consider a variable GDS_3DVAR output from
+simulations on a cell-based geodesic grid.  Although the variable
+contains three dimensions of data (time, latitude, and longitude), it is
+stored in the netCDF file with only two dimensions, 'time' and
+'gds_crd'.
+     % ncks -m -C -v gds_3dvar ~/nco/data/in.nc
+     gds_3dvar: type NC_FLOAT, 2 dimensions, 4 attributes, chunked? no, \
+      compressed? no, packed? no, ID = 41
+     gds_3dvar RAM size is 10*8*sizeof(NC_FLOAT) = 80*4 = 320 bytes
+     gds_3dvar dimension 0: time, size = 10 NC_DOUBLE, dim. ID = 20 \
+      (CRD)(REC)
+     gds_3dvar dimension 1: gds_crd, size = 8 NC_FLOAT, dim. ID = 17 (CRD)
+     gds_3dvar attribute 0: long_name, size = 17 NC_CHAR, value = \
+      Geodesic variable
+     gds_3dvar attribute 1: units, size = 5 NC_CHAR, value = meter
+     gds_3dvar attribute 2: coordinates, size = 15 NC_CHAR, value = \
+      lat_gds lon_gds
+     gds_3dvar attribute 3: purpose, size = 64 NC_CHAR, value = \
+      Test auxiliary coordinates like those that define geodesic grids
+   The 'coordinates' attribute lists the names of the latitude and
+longitude coordinates, 'lat_gds' and 'lon_gds', respectively.  The
+'coordinates' attribute is recommended though optional.  With it, the
+user can immediately identify which variables contain the latitude and
+longitude coordinates.  Without a 'coordinates' attribute it would be
+unclear at first glance whether a variable resides on a cell-based grid.
+In this example, 'time' is a normal record dimension and 'gds_crd' is
+the cell-based dimension.
+
+   The cell-based grid file must contain two variables whose
+'standard_name' attributes are "latitude", and "longitude":
+     % ncks -m -C -v lat_gds,lon_gds ~/nco/data/in.nc
+     lat_gds: type NC_DOUBLE, 1 dimensions, 4 attributes, \
+      chunked? no, compressed? no, packed? no, ID = 37
+     lat_gds RAM size is 8*sizeof(NC_DOUBLE) = 8*8 = 64 bytes
+     lat_gds dimension 0: gds_crd, size = 8 NC_FLOAT, dim. ID = 17 (CRD)
+     lat_gds attribute 0: long_name, size = 8 NC_CHAR, value = Latitude
+     lat_gds attribute 1: standard_name, size = 8 NC_CHAR, value = latitude
+     lat_gds attribute 2: units, size = 6 NC_CHAR, value = degree
+     lat_gds attribute 3: purpose, size = 62 NC_CHAR, value = \
+      1-D latitude coordinate referred to by geodesic grid variables
+
+     lon_gds: type NC_DOUBLE, 1 dimensions, 4 attributes, \
+      chunked? no, compressed? no, packed? no, ID = 38
+     lon_gds RAM size is 8*sizeof(NC_DOUBLE) = 8*8 = 64 bytes
+     lon_gds dimension 0: gds_crd, size = 8 NC_FLOAT, dim. ID = 17 (CRD)
+     lon_gds attribute 0: long_name, size = 9 NC_CHAR, value = Longitude
+     lon_gds attribute 1: standard_name, size = 9 NC_CHAR, value = longitude
+     lon_gds attribute 2: units, size = 6 NC_CHAR, value = degree
+     lon_gds attribute 3: purpose, size = 63 NC_CHAR, value = \
+      1-D longitude coordinate referred to by geodesic grid variables
+   In this example 'lat_gds' and 'lon_gds' represent the latitude or
+longitude, respectively, of cell-based variables.  These coordinates
+(must) have the same single dimension ('gds_crd', in this case) as the
+cell-based variables.  And the coordinates must be
+one-dimensional--multidimensional coordinates will not work.
+
+   This infrastructure allows NCO to identify, interpret, and process
+(e.g., hyperslab) the variables on cell-based grids as easily as it
+works with regular grids.  To time-average all the values between zero
+and 180 degrees longitude and between plus and minus 30 degress
+latitude, we use
+     ncra -O -X 0.,180.,-30.,30. -v gds_3dvar in.nc out.nc
+   NCO accepts multiple '-X' arguments for cell-based grid multi-slabs,
+just as it accepts multiple '-d' arguments for multi-slabs of regular
+coordinates.
+     ncra -O -X 0.,180.,-30.,30. -X 270.,315.,45.,90. in.nc out.nc
+   The arguments to '-X' are always interpreted as floating point
+numbers, i.e., as coordinate values rather than dimension indices so
+that these two commands produce identical results
+     ncra -X 0.,180.,-30.,30. in.nc out.nc
+     ncra -X 0,180,-30,30 in.nc out.nc
+   In contrast, arguments to '-d' require decimal places to be
+recognized as coordinates not indices (*note Hyperslabs::).  We
+recommend always using decimal points with '-X' arguments to avoid
+confusion.
+
+3.22 UDUnits Support
+====================
+
+Availability: 'ncbo', 'nces', 'ncecat', 'ncflint', 'ncks', 'ncpdq',
+'ncra', 'ncrcat', 'ncwa'
+Short options: '-d DIM,[MIN][,[MAX][,[STRIDE]]]'
+Long options: '--dimension DIM,[MIN][,[MAX][,[STRIDE]]]',
+'--dmn DIM,[MIN][,[MAX][,[STRIDE]]]'
+   There is more than one way to hyperskin a cat.  The UDUnits
+(http://www.unidata.ucar.edu/packages/udunits) package provides a
+library which, if present, NCO uses to translate user-specified physical
+dimensions into the physical dimensions of data stored in netCDF files.
+Unidata provides UDUnits under the same terms as netCDF, so sites should
+install both.  Compiling NCO with UDUnits support is currently optional
+but may become required in a future version of NCO.
+
+   Two examples suffice to demonstrate the power and convenience of
+UDUnits support.  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 in the visible
+portion of the spectrum in terms of the units very frequently used in
+visible spectroscopy, microns:
+     % ncks -C -H -v wvl -d wvl,"0.4 micron","0.7 micron" in.nc
+     wvl[0]=5e-07 meter
+The hyperslab returns the correct values because the WVL variable is
+stored on disk with a length dimension that UDUnits recognizes in the
+'units' attribute.  The automagical algorithm that implements this
+functionality is worth describing since understanding it helps one avoid
+some potential pitfalls.  First, the user includes the physical units of
+the hyperslab dimensions she supplies, separated by a simple space from
+the numerical values of the hyperslab limits.  She encloses each
+coordinate specifications in quotes so that the shell does not break the
+_value-space-unit_ string into separate arguments before passing them to
+NCO.  Double quotes ('"foo"') or single quotes (''foo'') are equally
+valid for this purpose.  Second, NCO recognizes that units translation
+is requested because each hyperslab argument contains text characters
+and non-initial spaces.  Third, NCO determines whether the WVL is
+dimensioned with a coordinate variable that has a 'units' attribute.  In
+this case, WVL itself is a coordinate variable.  The value of its
+'units' attribute is 'meter'.  Thus WVL passes this test so UDUnits
+conversion is attempted.  If the coordinate associated with the variable
+does not contain a 'units' attribute, then NCO aborts.  Fourth, NCO
+passes the specified and desired dimension strings (microns are
+specified by the user, meters are required by NCO) to the UDUnits
+library.  Fifth, the UDUnits library that these dimension are
+commensurate and it returns the appropriate linear scaling factors to
+convert from microns to meters to NCO.  If the units are incommensurate
+(i.e., not expressible in the same fundamental MKS units), or are not
+listed in the UDUnits database, then NCO aborts since it cannot
+determine the user's intent.  Finally, NCO uses the scaling information
+to convert the user-specified hyperslab limits into the same physical
+dimensions as those of the corresponding cooridinate variable on disk.
+At this point, NCO can perform a coordinate hyperslab using the same
+algorithm as if the user had specified the hyperslab without requesting
+units conversion.
+
+   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 4 PM and 7 PM on
+December 8, 1999, from a variable whose time dimension is hours since
+the year 1900:
+     % ncks -u -H -C -v time_udunits -d time_udunits,"1999-12-08 \
+       16:00:0.0","1999-12-08 19:00:0.0" in.nc
+     time_udunits[1]=876018 hours since 1900-01-01 00:00:0.0
+Here, the user invokes the stride (*note Stride::) capability to obtain
+every other timeslice.  This is possible because the UDUnits feature is
+additive, not exclusive--it works in conjunction with all other
+hyperslabbing (*note Hyperslabs::) options and in all operators which
+support hyperslabbing.  The following example shows how one might
+average data in a time period spread across multiple input files
+     ncra -d time,"1939-09-09 12:00:0.0","1945-05-08 00:00:0.0" \
+       in1.nc in2.nc in3.nc out.nc
+Note that there is no excess whitespace before or after the individual
+elements of the '-d' argument.  This is important since, as far as the
+shell knows, '-d' takes only _one_ command-line argument.  Parsing this
+argument into its component 'DIM,[MIN][,[MAX][,[STRIDE]]]' elements
+(*note Hyperslabs::) is the job of NCO.  When unquoted whitespace is
+present between these elements, the shell passes NCO arugment fragments
+which will not parse as intended.
+
+   NCO implemented support for the UDUnits2 library with version 3.9.2
+(August, 2007).  The UDUnits2
+(http://www.unidata.ucar.edu/software/udunits/udunits-2/udunits2.html)
+package supports non-ASCII characters and logarithmic units.  We are
+interested in user-feedback on these features.
+
+   One aspect that deserves mention is that UDUnits, and thus NCO,
+supports run-time definition of the location of the relevant UDUnits
+databases.  With UDUnits version 1, users may specify the directory
+which contains the UDUnits database, 'udunits.dat', via the
+'UDUNITS_PATH' environment variable.  With UDUnits version 2, users may
+specify the UDUnits database file itself, 'udunits2.xml', via the
+'UDUNITS2_XML_PATH' environment variable.
+     # UDUnits1
+     export UDUNITS_PATH='/unusual/location/share/udunits'
+     # UDUnits2
+     export UDUNITS2_XML_PATH='/unusual/location/share/udunits/udunits2.xml'
+   This run-time flexibility can enable the full functionality of
+pre-built binaries on machines with libraries in different locations.
+
+   The UDUnits (http://www.unidata.ucar.edu/packages/udunits) package
+documentation describes the supported formats of time dimensions.  Among
+the metadata conventions that adhere to these formats are the Climate
+and Forecast (CF) Conventions (http://cf-pcmdi.llnl.gov) and the
+Cooperative Ocean/Atmosphere Research Data Service (COARDS) Conventions
+(http://ferret.wrc.noaa.gov/noaa_coop/coop_cdf_profile.html).  The
+following '-d arguments' extract the same data using commonly
+encountered time dimension formats:
+     -d time,'1918-11-11 00:00:0.0','1939-09-09 00:00:0.0'
+     -d time,'1918-11-11 00:00:0.0','1939-09-09 00:00:0.0'
+     -d time,'1918-11-11T00:00:0.0Z','1939-09-09T00:00:0.0Z'
+     -d time,'1918-11-11','1939-09-09'
+     -d time,'1918-11-11','1939-9-9'
+All of these formats include at least one dash '-' in a non-leading
+character position (a dash in a leading character position is a negative
+sign).  NCO assumes that a space, colon, or non-leading dash in a limit
+string indicates that a UDUnits units conversion is requested.  Some
+date formats like YYYYMMDD that are valid in UDUnits are ambiguous to
+NCO because it cannot distinguish a purely numerical date (i.e., no
+dashes or text characters in it) from a coordinate or index value:
+     -d time,1918-11-11 # Interpreted as the date November 11, 1918
+     -d time,19181111   # Interpreted as time-dimension index 19181111
+     -d time,19181111.  # Interpreted as time-coordinate value 19181111.0
+   Hence, use the YYYY-MM-DD format rather than YYYYMMDD for dates.
+
+As of version 4.0.0 (January, 2010), NCO supports some calendar
+attributes specified by the CF conventions.
+*Supported types:*
+     "365_day"/"noleap", "360_day", "gregorian", "standard"
+*Unsupported types:*
+     "366_day"/"all_leap","proleptic_gregorian","julian","none"
+   Unsupported types default to mixed Gregorian/Julian as defined by
+UDUnits.
+
+An Example: Consider the following netCDF variable
+
+     variables:
+       double lon_cal(lon_cal) ;
+         lon_cal:long_name = "lon_cal" ;
+         lon_cal:units = "days since 1964-2-28 0:0:0" ;
+         lon_cal:calendar = "365_day" ;
+     data:
+       lon_cal = 1,2,3,4,5,6,7,8,9,10;
+   'ncks -v lon_cal -d lon_cal,'1964-3-1 0:00:0.0','1964-3-4 00:00:0.0''
+results in 'lon_cal=1,2,3,4'.
+
+   netCDF variables should always be stored with MKS (i.e., God's)
+units, so that application programs may assume MKS dimensions apply to
+all input variables.  The UDUnits feature is intended to alleviate some
+of the NCO user's pain when handling MKS units.  It connects users who
+think in human-friendly units (e.g., miles, millibars, days) to extract
+data which are always stored in God's units, MKS (e.g., meters, Pascals,
+seconds).  The feature is not intended to encourage writers to store
+data in esoteric units (e.g., furlongs, pounds per square inch,
+fortnights).
+
+3.23 Rebasing Time Coordinate
+=============================
+
+Availability: 'ncra', 'ncrcat' Short options: None
+
+   Time rebasing is invoked when numerous files share a common record
+coordinate, and the record coordinate units change among input files.
+The rebasing is performed automatically if and only if UDUnits is
+installed.  Usually rebasing occurs when the recoordinate is a
+time-based variable, and times are recorded in units of a
+time-since-basetime, and the basetime changes from file to file.  Since
+the output file can have only one unit (i.e., one basetime) for the
+record coordinate, NCO, in such cases, chooses the units of the first
+input file to be the units of the output file.  It is necessary to
+"rebase" all the input record variables to this output time unit in
+order for the output file to have the correct values.
+
+   For example suppose the time coordinate is in hours and each day in
+January is stored in its own daily file.  Each daily file records the
+temperature variable 'tpt(time)' with an (unadjusted) 'time' coordinate
+value between 0-23 hours, and uses the 'units' attribute to advance the
+base time:
+     file01.nc time:units="hours since 1990-1-1"
+     file02.nc time:units="hours since 1990-1-2"
+     ...
+     file31.nc time:units="hours since 1990-1-31"
+
+     // Mean noontime temperature in January
+     ncra -v tpt -d time,"1990-1-1 12:00:00","1990-1-31 23:59:59",24 \
+           file??.nc noon.nc
+
+     // Concatenate day2 noon through day3 noon records
+     ncrcat -v tpt -d time,"1990-1-2 12:00:00","1990-1-3 11:59:59" \
+           file01.nc file02.nc file03.nc noon.nc
+
+     // Results: time is "re-based" to the time units in "file01.nc"
+     time=36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, \
+          51, 52, 53, 54, 55, 56, 57, 58, 59 ;
+
+     // If we repeat the above command but with only two input files...
+     ncrcat -v tpt -d time,"1990-1-2 12:00:00","1990-1-3 11:59:59" \
+           file02.nc file03 noon.nc
+
+     // ...then output time coordinate is based on time units in "file02.nc"
+     time = 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, \
+          26, 27, 28, 29, 30, 31, 32, 33, 34, 35 ;
+   As of NCO version 4.2.1 (August, 2012), NCO automatically rebases not
+only the record coordinate ('time', here) but also any bounds associated
+with the record coordinate (e.g., 'time_bnds') (*note CF Conventions::).
+
+3.24 Multiple Record Dimensions
+===============================
+
+Availability: 'ncecat', 'ncpdq' Short options: None
+Long options: '--mrd'
+   The netCDF3 file format allows only one record dimension, and that
+dimension must be the first dimension (i.e., the least rapidly varying
+dimension) of any variable in which it appears.  This imposes certain
+rules on how operators must perform operations that alter the ordering
+of dimensions or the number of record variables.  The netCDF4 file
+format has no such restrictions.  Files and variables may have any
+number of record dimensions in any order.  This additional flexibility
+of netCDF4 can only be realized by selectively abandoning the
+constraints that would make operations behave completely consistently
+between netCDF3 and netCDF4 files.
+
+   NCO chooses, by default, to impose netCDF3-based constraints on
+netCDF4 files.  This reduces the number of unanticipated consequences
+and keeps the operators functioning in a familiar way.  Put another way,
+NCO limits production of additional record dimensions so processing
+netCDF4 files leads to the same results as processing netCDF4 files.
+Users can override this default with the '--mrd' (or
+'--multiple_record_dimension') switch, which enables netCDF4 variables
+to accumulate additional record dimensions.
+
+   How can additional record dimensions be produced?  Most commonly
+'ncecat' (in record-aggregate mode) defines a new leading record
+dimension.  In netCDF4 files this becomes an additional record dimension
+unless the original record dimension is changed to a fixed dimension (as
+must be done in netCDF3 files).  Also when 'ncpdq' reorders dimensions
+it can preserve the "record" property of record variables.  'ncpdq'
+tries to define as a record dimension whichever dimension ends up first
+in a record variable, and, in netCDF4 files, this becomes an additional
+record dimension unless the original record dimension is changed to a
+fixed dimension (as must be done in netCDF3 files).  It it easier if
+'ncpdq' and 'ncecat' do not increase the number of record dimensions in
+a variable so that is the default.  Use '--mrd' to override this.
+
+3.25 Missing values
+===================
+
+Availability: 'ncap2', 'ncbo', 'nces', 'ncflint', 'ncpdq', 'ncra',
+'ncwa'
+Short options: None
+
+   The phrase "missing data" 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.  The NCO arithmetic operators attempt
+to handle missing data in an intelligent fashion.  There are four steps
+in the NCO treatment of missing data:
+  1. Identifying variables that may contain missing data.
+
+     NCO follows the convention that missing data should be stored with
+     the _FILLVALUE specified in the variable's '_FillValue' attributes.
+     The _only_ way NCO recognizes that a variable _may_ contain missing
+     data is if the variable has a '_FillValue' attribute.  In this
+     case, any elements of the variable which are numerically equal to
+     the _FILLVALUE are treated as missing data.
+
+     NCO adopted the behavior that the default attribute name, if any,
+     assumed to specify the value of data to ignore is '_FillValue' with
+     version 3.9.2 (August, 2007).  Prior to that, the 'missing_value'
+     attribute, if any, was assumed to specify the value of data to
+     ignore.  Supporting both of these attributes simultaneously is not
+     practical.  Hence the behavior NCO once applied to MISSING_VALUE it
+     now applies to any _FILLVALUE.  NCO now treats any MISSING_VALUE as
+     normal data (1).
+
+     It has been and remains most advisable to create both '_FillValue'
+     and 'missing_value' attributes with identical values in datasets.
+     Many legacy datasets contain only 'missing_value' attributes.  NCO
+     can help migrating datasets between these conventions.  One may use
+     'ncrename' (*note ncrename netCDF Renamer::) to rename all
+     'missing_value' attributes to '_FillValue':
+          ncrename -a .missing_value,_FillValue inout.nc
+     Alternatively, one may use 'ncatted' (*note ncatted netCDF
+     Attribute Editor::) to add a '_FillValue' attribute to all
+     variables
+          ncatted -O -a _FillValue,,o,f,1.0e36 inout.nc
+
+  2. Converting the _FILLVALUE to the type of the variable, if
+     neccessary.
+
+     Consider a variable VAR of type VAR_TYPE with a '_FillValue'
+     attribute of type ATT_TYPE containing the value _FILLVALUE.  As a
+     guideline, the type of the '_FillValue' attribute should be the
+     same as the type of the variable it is attached to.  If VAR_TYPE
+     equals ATT_TYPE then NCO straightforwardly compares each value of
+     VAR to _FILLVALUE to determine which elements of VAR are to be
+     treated as missing data.  If not, then NCO converts _FILLVALUE from
+     ATT_TYPE to VAR_TYPE by using the implicit conversion rules of C,
+     or, if ATT_TYPE is 'NC_CHAR' (2), by typecasting the results of the
+     C function 'strtod(_FILLVALUE)'.  You may use the NCO operator
+     'ncatted' to change the '_FillValue' attribute and all data whose
+     data is _FILLVALUE to a new value (*note ncatted netCDF Attribute
+     Editor::).
+
+  3. Identifying missing data during arithmetic operations.
+
+     When an NCO arithmetic operator processes a variable VAR with a
+     '_FillValue' attribute, it compares each value of VAR to _FILLVALUE
+     before performing an operation.  Note the _FILLVALUE comparison
+     imposes a performance penalty on the operator.  Arithmetic
+     processing of variables which contain the '_FillValue' attribute
+     always incurs this penalty, even when none of the data are missing.
+     Conversely, arithmetic processing of variables which do not contain
+     the '_FillValue' attribute never incurs this penalty.  In other
+     words, do not attach a '_FillValue' attribute to a variable which
+     does not contain missing data.  This exhortation can usually be
+     obeyed for model generated data, but it may be harder to know in
+     advance whether all observational data will be valid or not.
+
+  4. Treatment of any data identified as missing in arithmetic
+     operators.
+
+     NCO averagers ('ncra', 'nces', 'ncwa') do not count any element
+     with the value _FILLVALUE towards the average.  'ncbo' and
+     'ncflint' define a _FILLVALUE result when either of the input
+     values is a _FILLVALUE.  Sometimes the _FILLVALUE may change from
+     file to file in a multi-file operator, e.g., 'ncra'.  NCO is
+     written to account for this (it always compares a variable to the
+     _FILLVALUE assigned to that variable in the current file).  Suffice
+     it to say that, in all known cases, NCO does "the right thing".
+
+     It is impossible to determine and store the correct result of a
+     binary operation in a single variable.  One such corner case occurs
+     when both operands have differing _FILLVALUE attributes, i.e.,
+     attributes with different numerical values.  Since the output
+     (result) of the operation can only have one _FILLVALUE, some
+     information may be lost.  In this case, NCO always defines the
+     output variable to have the same _FILLVALUE as the first input
+     variable.  Prior to performing the arithmetic operation, all values
+     of the second operand equal to the second _FILLVALUE are replaced
+     with the first _FILLVALUE.  Then the arithmetic operation proceeds
+     as normal, comparing each element of each operand to a single
+     _FILLVALUE.  Comparing each element to two distinct _FILLVALUE's
+     would be much slower and would be no likelier to yield a more
+     satisfactory answer.  In practice, judicious choice of _FILLVALUE
+     values prevents any important information from being lost.
+
+   ---------- Footnotes ----------
+
+   (1) The old functionality, i.e., where the ignored values are
+indicated by 'missing_value' not '_FillValue', may still be selected _at
+NCO build time_ by compiling NCO with the token definition
+'CPPFLAGS='-UNCO_USE_FILL_VALUE''.
+
+   (2) For example, the DOE ARM program often uses ATT_TYPE = 'NC_CHAR'
+and _FILLVALUE = '-99999.'.
+
+3.26 Chunking
+=============
+
+Availability: 'ncap2', 'ncbo', 'nces', 'ncecat', 'ncflint', 'ncks',
+'ncpdq', 'ncra', 'ncrcat', 'ncwa'
+Short options: none
+Long options: '--cnk_byt CNK_SZ', '--chunk_byte CNK_SZ'
+'--cnk_dmn DMN_NM,CNK_SZ', '--chunk_dimension DMN_NM,CNK_SZ'
+, '--cnk_map CNK_MAP', '--chunk_map CNK_MAP',
+'--cnk_plc CNK_PLC', '--chunk_policy CNK_PLC',
+'--cnk_scl CNK_SZ', '--chunk_scalar CNK_SZ'
+
+   All netCDF4-enabled NCO operators that define variables support a
+plethora of chunksize options.  Chunking can significantly accelerate or
+degrade read/write access to large datasets.  Dataset chunking issues
+are described in detail here
+(http://www.hdfgroup.org/HDF5/doc/H5.user/Chunking.html), here
+(http://www.unidata.ucar.edu/blogs/developer/en/entry/chunking_data_why_it_matters),
+and here
+(http://www.unidata.ucar.edu/blogs/developer/en/entry/chunking_data_choosing_shapes).
+
+   The NCO chunking implementation is designed to be flexible.  Users
+control three aspects of the chunking implementation.  These are known
+as the "chunking policy", "chunking map", and "chunksize".  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.  The implementation is a hybrid of the
+'ncpdq' packing policies (*note ncpdq netCDF Permute Dimensions
+Quickly::), and the hyperslab specifications (*note Hyperslabs::).  Each
+aspect is intended to have a sensible default, so that most users will
+only need to set one switch to obtain sensible chunking.  Power users
+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.  Five chunking policies are currently implemented:
+"Chunk All Variables [_default_]"
+     Definition: Chunk all variables possible.  For obvious reasons,
+     scalar variables cannot be chunked.
+     Alternate invocation: 'ncchunk'
+     CNK_PLC key values: 'all', 'cnk_all', 'plc_all'
+     Mnemonic: All
+"Chunk Variables with at least Two Dimensions"
+     Definition: Chunk all variables possible with at least two
+     dimensions
+     Alternate invocation: none
+     CNK_PLC key values: 'g2d', 'cnk_g2d', 'plc_g2d'
+     Mnemonic: _G_reater than or equal to _2_ _D_imensions
+"Chunk Variables with at least Three Dimensions"
+     Definition: Chunk all variables possible with at least three
+     dimensions
+     Alternate invocation: none
+     CNK_PLC key values: 'g3d', 'cnk_g3d', 'plc_g3d'
+     Mnemonic: _G_reater than or equal to _3_ _D_imensions
+"Chunk Variables Containing Explicitly Chunked Dimensions"
+     Definition: Chunk all variables possible that contain at least one
+     dimension whose chunksize was explicitly set with the '--cnk_dmn'
+     option.  Alternate invocation: none
+     CNK_PLC key values: 'xpl', 'cnk_xpl', 'plc_xpl'
+     Mnemonic: E_XPL_icitly specified dimensions
+"Chunk Variables with Existing Chunk Sizes"
+     Definition: Chunk all variables possible that are already chunked
+     in the input file.  When used in conjunction with 'cnk_map=xst'
+     this option preserves and copies the chunking parameters from the
+     input to the output file.  Alternate invocation: none
+     CNK_PLC key values: 'xst', 'cnk_xst', 'plc_xst'
+     Mnemonic: E_X_i_ST_ing chunk sizes
+"Unchunking"
+     Definition: Unchunk all variables possible.  The HDF5 storge layer
+     requires that record variables (i.e., variables that contain at
+     least one record dimension) must be chunked.  Also variables that
+     are compressed or use checksums must be chunked.  Such variables
+     cannot be unchunked.
+     Alternate invocation: 'ncunchunk'
+     CNK_PLC key values: 'uck', 'cnk_uck', 'plc_uck', 'unchunk'
+     Mnemonic: _U_n_C_hun_K_
+Equivalent key values are fully interchangeable.  Multiple equivalent
+options are provided to satisfy disparate needs and tastes of NCO users
+working with scripts and from the command line.
+
+   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 is called the "chunking map".  The
+user specifies the desired chunking map with the '-M' switch (or its
+long option equivalents, '--cnk_map' and '--chunk_map') and its CNK_MAP
+argument.  Four chunking maps are currently implemented:
+"Chunksize Equals Dimension Size [_default_]"
+     Definition: Chunksize defaults to dimension size.  Explicitly
+     specify chunksizes for particular dimensions with '--cnk_dmn'
+     option.
+     CNK_MAP key values: 'dmn', 'cnk_dmn', 'map_dmn'
+     Mnemonic: _D_i_M_e_N_sion
+"Chunksize Equals Dimension Size except Record Dimension"
+     Definition: Chunksize equals dimension size except record dimension
+     has size one.  Explicitly specify chunksizes for particular
+     dimensions with '--cnk_dmn' option.
+     CNK_MAP key values: 'rd1', 'cnk_rd1', 'map_rd1'
+     Mnemonic: _R_ecord _D_imension size _1_
+"Chunksize Equals Scalar Size Specified"
+     Definition: Chunksize for all dimensions is set with the
+     '--cnk_scl' option.
+     CNK_MAP key values: 'xpl', 'cnk_xpl', 'map_xpl'
+     Mnemonic: E_XPL_icitly specified dimensions
+"Chunksize Product Matches Scalar Size Specified"
+     Definition: The product of the chunksizes for each variable matches
+     (approximately equals) the size specified with the '--cnk_scl'
+     option.  A dimension of size one is said to be _degenerate_.  For a
+     variable of rank R (i.e., with R non-degenerate dimensions), the
+     chunksize in each non-degenerate dimension is the Rth root of
+     CNK_SCL.
+     CNK_MAP key values: 'prd', 'cnk_prd', 'map_prd'
+     Mnemonic: _PR_o_D_uct
+"Chunksize Lefter Product Matches Scalar Size Specified"
+     Definition: The product of the chunksizes for each variable
+     (approximately) equals the size specified with the '--cnk_scl'
+     option.  This is accomplished by using dimension sizes as
+     chunksizes for the rightmost (most rapidly varying) dimensions, and
+     then "flexing" the chunksize of the leftmost (least rapidly
+     varying) dimensions such that the product of all chunksizes matches
+     the specified size.  All dimensions to the left of and including
+     the first record dimension define the left-hand side.  This map was
+     first proposed by Chris Barker.
+     CNK_MAP key values: 'lfp', 'cnk_lfp', 'map_lfp'
+     Mnemonic: _L_e_F_ter _P_roduct
+"Chunksize Equals Existing Chunksize"
+     Definition: Chunksizes are copied from the input to the output file
+     for every variable that is chunked in the input file.  Variables
+     not chunked in the input file will be chunked with default
+     mappings.
+     CNK_MAP key values: 'xst', 'cnk_xst', 'map_xst'
+     Mnemonic: E_X_i_ST_
+"Chunksize Balances 1D and (N-1)-D Access to N-D Variable"
+     Definition: Chunksizes are chosen so that 1-D and ((N-1))-D
+     hyperslabs of 3-D variables (e.g., point-timeseries orn
+     latitude/longitude surfaces of 3-D fields) both require
+     approximately the number of chunks.  Hence their access time should
+     be balanced.  Russ Rew explains the motivation and derivation for
+     this strategy here
+     (http://www.unidata.ucar.edu/blogs/developer/en/entry/chunking_data_choosing_shapes).
+     CNK_MAP key values: 'rew', 'cnk_rew', 'map_rew'
+     Mnemonic: Russ _REW_
+It is possible to combine the above chunking map algorithms with
+user-specified per-dimension (though not per-variable) chunksizes that
+override specific chunksizes determined by the maps above.  The user
+specifies the per-dimension chunksizes with the (equivalent) long
+options '--cnk_dmn' or '--chunk_dimension').  The option takes two
+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.
+
+     # 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
+
+     # Chunk data then unchunk it, printing informative metadata
+     ncks -O -4 -D 4 --cnk_plc=all ~/nco/data/in.nc ~/foo.nc
+     ncks -O -4 -D 4 --cnk_plc=uck ~/foo.nc ~/foo.nc
+
+     # Set total chunksize to 8192 B
+     ncks -O -4 -D 4 --cnk_plc=all --cnk_byt=8192 ~/nco/data/in.nc ~/foo.nc
+
+     # More complex chunking procedures, with informative metadata
+     ncks -O -4 -D 4 --cnk_scl=8 ~/nco/data/in.nc ~/foo.nc
+     ncks -O -4 -D 4 --cnk_scl=8 dstmch90_clm.nc ~/foo.nc
+     ncks -O -4 -D 4 --cnk_dmn lat,64 --cnk_dmn lon,128 dstmch90_clm.nc \
+      ~/foo.nc
+     ncks -O -4 -D 4 --cnk_plc=uck ~/foo.nc ~/foo.nc
+     ncks -O -4 -D 4 --cnk_plc=g2d --cnk_map=rd1 --cnk_dmn lat,32 \
+      --cnk_dmn lon,128 dstmch90_clm_0112.nc ~/foo.nc
+
+     # Chunking works with all operators...
+     ncap2 -O -4 -D 4 --cnk_scl=8 -S ~/nco/data/ncap2_tst.nco \
+      ~/nco/data/in.nc ~/foo.nc
+     ncbo -O -4 -D 4 --cnk_scl=8 -p ~/nco/data in.nc in.nc ~/foo.nc
+     ncecat -O -4 -D 4 -n 12,2,1 --cnk_dmn lat,32 \
+      -p /data/zender/dstmch90 dstmch90_clm01.nc ~/foo.nc
+     ncflint -O -4 -D 4 --cnk_scl=8 ~/nco/data/in.nc ~/foo.nc
+     ncpdq -O -4 -D 4 -P all_new --cnk_scl=8 -L 5 ~/nco/data/in.nc ~/foo.nc
+     ncrcat -O -4 -D 4 -n 12,2,1 --cnk_dmn lat,32 \
+      -p /data/zender/dstmch90 dstmch90_clm01.nc ~/foo.nc
+     ncwa -O -4 -D 4 -a time --cnk_plc=g2d --cnk_map=rd1 --cnk_dmn lat,32 \
+      --cnk_dmn lon,128 dstmch90_clm_0112.nc ~/foo.nc
+
+   It is appropriate to conclude by informing users about an aspect of
+chunking that may not be expected.  Three types of variables are
+_always_ chunked: Record variables, Deflated (compressed) variables, and
+Checksummed variables.  Hence all variables that contain a record
+dimension are also chunked (since data must be chunked in all
+dimensions, not just one).  Unless otherwise specified by the user, the
+other (fixed, non-record) dimensions of record variables are assigned
+default chunk sizes.  The HDF5 layer does all this automatically to
+optimize the on-disk variable/file storage geometry of record variables.
+Do not be surprised to learn that files created without any explicit
+instructions to activate chunking nevertheless contain chunked
+variables.
+
+3.27 Deflation
+==============
+
+Availability: 'ncap2', 'ncbo', 'nces', 'ncecat', 'ncflint', 'ncks',
+'ncpdq', 'ncra', 'ncrcat', 'ncwa'
+Short options: '-L'
+Long options: '--dfl_lvl', '--deflate'
+
+   All NCO operators that define variables support the netCDF4 feature
+of storing variables compressed with Lempel-Ziv deflation.  The
+Lempel-Ziv algorithm is a lossless data compression technique.  Activate
+this deflation with the '-L DFL_LVL' short option (or with the same
+argument to the '--dfl_lvl' or '--deflate' long options).  Specify the
+deflation level DFL_LVL on a scale from no deflation (DFL_LVL = 0) to
+maximum deflation (DFL_LVL = 9).  Minimal deflation (DFL_LVL = 1)
+achieves considerable storage compression with little time penalty.
+Higher deflation levels require more time for compression.  File sizes
+resulting from minimal (DFL_LVL = 1) and maximal (DFL_LVL = 9) deflation
+levels typically differ by a few percent in size.
+
+   To compress an entire file using deflation, use
+     ncks -4 -L 0 in.nc out.nc # No deflation (fast, no time penalty)
+     ncks -4 -L 1 in.nc out.nc # Minimal deflation (little time penalty)
+     ncks -4 -L 9 in.nc out.nc # Maximal deflation (much slower)
+
+   Unscientific testing shows that deflation compresses typical climate
+datasets by 30-60%.  Packing, a lossy compression technique available
+for all netCDF files (see *note Packed data::), can easily compress
+files by 50%.  Packed data may be deflated to squeeze datasets by about
+80%:
+     ncks  -4 -L 1 in.nc out.nc # Minimal deflation (~30-60% compression)
+     ncks  -4 -L 9 in.nc out.nc # Maximal deflation (~31-63% compression)
+     ncpdq         in.nc out.nc # Standard packing  (~50% compression)
+     ncpdq -4 -L 9 in.nc out.nc # Deflated packing  (~80% compression)
+   'ncks' prints deflation parameters, if any, to screen (*note ncks
+netCDF Kitchen Sink::).
+
+3.28 MD5 digests
+================
+
+Availability: 'ncecat', 'ncks', 'ncrcat'
+Short options:
+Long options: '--md5_dgs', '--md5_digest', '--md5_wrt_att',
+'--md5_write_attribute'
+
+   As of NCO version 4.1.0 (April, 2012), NCO supports data integrity
+verification using the MD5 digest algorithm.  This support is currently
+implemented in 'ncks' and in the multifile concantenators 'ncecat' and
+'ncrcat'.  Activate it with the '--md5_dgs' or '--md5_digest' long
+options.  As of NCO version 4.3.3 (July, 2013), NCO will write the MD5
+digest of each variable as an 'NC_CHAR' attribute named 'MD5'.  This
+support is currently implemented in 'ncks' and in the multifile
+concantenators 'ncecat' and 'ncrcat'.  Activate it with the
+'--md5_wrt_att' or '--md5_write_attribute' long options.
+
+   The behavior and verbosity of the MD5 digest is operator-dependent.
+When activating MD5 digests with 'ncks' it is assumed that the user
+simply wishes to see the digest of every variable and this is done when
+the debugging level exceeds one.  This incurs only the minor overhead of
+performing the hash algorithm for each variable read.  MD5 digests may
+be activated in both the one- and two-filename argument forms of 'ncks',
+which are used for printing and for sub-setting, respectively.  The MD5
+digests are shown as a 32-character hexadecimal string in which each two
+characters represent one byte of the 16-byte digest:
+     > ncks -O -D 2 -C --md5 -v md5_a,md5_abc ~/nco/data/in.nc
+     ...
+     ncks: INFO MD5(md5_a) = 0cc175b9c0f1b6a831c399e269772661
+     md5_a = 'a'
+     ncks: INFO MD5(md5_abc) = 900150983cd24fb0d6963f7d28e17f72
+     lev[0]=100 md5_abc[0--2]='abc'
+     > ncks -O -D 2 -C -d lev,0 --md5 -v md5_a,md5_abc ~/nco/data/in.nc
+     ...
+     ncks: INFO MD5(md5_a) = 0cc175b9c0f1b6a831c399e269772661
+     md5_a = 'a'
+     ncks: INFO MD5(md5_abc) = 0cc175b9c0f1b6a831c399e269772661
+     lev[0]=100 md5_abc[0--0]='a'
+   In fact these examples demonstrate the validity of the hash algorithm
+since the MD5 hashes of the strings "a" and "abc" are widely known.  The
+second example shows that the hyperslab of variable 'md5_abc' (= "abc")
+consisting of only its first letter (= "a") has the same hash as the
+variable 'md5_a' ("a").  This illustrates that MD5 digests act only on
+variable data, not on metadata.
+
+   When activating MD5 digests with 'ncecat' or 'ncrcat' it is assumed
+that the user wishes to verify that every variable written to disk has
+the same MD5 digest as when it is subsequently read from disk.  This
+incurs the major additional overhead of reading in each variable after
+it is written and performing the hash algorithm again on that to compare
+to the original hash.  Moreover, it is assumed that such operations are
+generally done "production mode" where the user is not interested in
+actually examining the digests herself.  The digests proceed silently
+unless the debugging level exceeds three:
+     > ncecat -O -D 4 --md5 -p ~/nco/data in.nc in.nc ~/foo.nc | grep MD5
+     ...
+     ncecat: INFO MD5(wnd_spd) = bec190dd944f2ce2794a7a4abf224b28
+     ncecat: INFO MD5 digests of RAM and disk contents for wnd_spd agree
+     > ncrcat -O -D 4 --md5 -p ~/nco/data in.nc in.nc ~/foo.nc | grep MD5
+     ...
+     ncrcat: INFO MD5(wnd_spd) = 74699bb0a72b7f16456badb2c995f1a1
+     ncrcat: INFO MD5 digests of RAM and disk contents for wnd_spd agree
+   Regardless of the debugging level, an error is returned when the
+digests of the variable read from the source file and from the output
+file disagree.
+
+   These rules are evolving and as NCO pays more attention to data
+integrity.  We welcome feedback and suggestions from users.
+
+3.29 Buffer sizes
+=================
+
+Availability: All operators
+Short options:
+Long options: '--bfr_sz_hnt', '--buffer_size_hint'
+
+   As of NCO version 4.2.0 (May, 2012), NCO allows the user to request
+specific buffer sizes to allocate for reading and writing files.  This
+buffer size determines how many system calls the netCDF layer must
+invoke to read and write files.  By default, netCDF uses the preferred
+I/O block size returned as the 'st_blksize' member of the 'stat'
+structure returned by the 'stat()' system call (1).  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.  Because netCDF cannot guarantee the buffer size request
+will be met, the actual buffer size granted by the system is printed as
+an INFO statement.
+     # Request 2 MB file buffer instead of default 8 kB buffer
+     > ncks -O -D 3 --bfr_sz=2097152 ~/nco/data/in.nc ~/foo.nc
+     ...
+     ncks: INFO nc__open() will request file buffer size = 2097152 bytes
+     ncks: INFO nc__open() opened file with buffer size = 2097152 bytes
+     ...
+
+   ---------- Footnotes ----------
+
+   (1) On modern Linux systems the block size defaults to 8192 B. The
+GLADE filesystem at NCAR has a block size of 512 kB.
+
+3.30 RAM disks
+==============
+
+Availability: All operators
+Short options:
+Long options: '--ram_all', '--create_ram', '--open_ram',
+'--diskless_all'
+
+   As of NCO version 4.2.1 (August, 2012), NCO supports the use of
+diskless files, aka RAM disks, for file access and creation.  Two
+independent switches, '--open_ram' and '--create_ram', control this
+feature.  Before describing the specifics of these switches, we describe
+why many NCO operations will not benefit from them.  Essentially,
+reading/writing from/to RAM rather than disk only hastens the task when
+reads/writes to disk are avoided.  Most NCO operations are simple enough
+that they require a single read-from/write-to disk for every block of
+input/output.  Diskless access does not change this, but it does add an
+extra read-from/write-to RAM. However this extra RAM write/read does
+avoid contention for limited system resources like disk-head access.
+Operators which may benefit from RAM disks include 'ncwa', which may
+need to read weighting variables multiple times, the multi-file
+operators 'ncra', 'ncrcat', and 'ncecat', which may try to write output
+at least once per input file, and 'ncap2' scripts which may be
+arbitrarily long and convoluted.
+
+   The '--open_ram' switch causes input files to copied to RAM when
+opened.  All further metadata and data access occurs in RAM and thus
+avoids access time delays caused by disk-head movement.  Usually input
+data is read at most once so it is unlikely that requesting input files
+be stored in RAM will save much time.  The likeliest exceptions are
+files that are accessed numerous times, such as those analyzed
+extensively analyzed by 'ncap2'.
+
+   Invoking '--open_ram', '--ram_all', or '--diskless_all' uses much
+more system memory.  To copy the input file to RAM increases the
+sustained memory use by exactly the on-disk filesize of the input file,
+i.e., MS += FT.  For large input files this can be a huge memory burden
+that starves the rest of the NCO analysis of sufficient RAM.  To be
+safe, use '--open_ram', '--ram_all', or '--diskless_all' only on files
+that are much (say at least a factor of four) smaller than your
+available system RAM.  See *note Memory Requirements:: for further
+details.
+
+   The '--create_ram' 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 operator completes.  Creating files in RAM may save time,
+especially with 'ncap2' computations that are iterative, e.g., loops,
+and for multi-file operators that write output every record (timestep)
+or file.  RAM files provide many of the same benefits as RAM variables
+in such cases (*note RAM variables::).
+
+   Two switches, '--ram_all' and '--diskless_all', are convenient
+shortcuts for specifying both '--create_ram' and '--diskless_ram'.  Thus
+     ncks in.nc out.nc # Default: Open in.nc on disk, write out.nc to disk
+     ncks --open_ram in.nc out.nc # Open in.nc in RAM, write out.nc to disk
+     ncks --create_ram in.nc out.nc # Create out.nc in RAM, write to disk
+     # Open in.nc in RAM, create out.nc in RAM, then write out.nc to disk
+     ncks --open_ram --create_ram in.nc out.nc
+     ncks --ram_all in.nc out.nc # Same as above
+     ncks --diskless_all in.nc out.nc # Same as above
+
+   It is straightforward to demonstrate the efficacy of RAM disks.  For
+NASA we constructed a test that employs 'ncecat' an arbitrary number
+(set to one hundred thousand) of files are all symbolically linked to
+the same file.  Everything is on the local filesystem (not DAP).
+     # Create symbolic links for benchmark
+     cd ${DATA}/nco # Do all work here
+     for idx in {1..99999}; do
+       idx_fmt=`printf "%05d" ${idx}`
+       /bin/ln -s ${DATA}/nco/LPRM-AMSR_E_L3_D_SOILM3_V002-20120512T111931Z_20020619.nc \
+                  ${DATA}/nco/${idx_fmt}.nc
+     done
+     # Benchmark time to ncecat one hundred thousand files
+     time ncecat --create_ram -O -u time -v ts -d Latitude,40.0 \
+      -d Longitude,-105.0 -p ${DATA}/nco -n 99999,5,1 00001.nc ~/foo.nc
+   Run normally on a laptop in 201303, this completes in 21 seconds.
+The '--create_ram' reduces the elapsed time to 9 seconds.  Some of this
+speed may be due to using symlinks and caching.  However, the efficacy
+of '--create_ram' is clear.  Placing the output file in RAM avoids
+thousands of disk writes.  It is not unreasonable to for NCO to process
+a million files like this in a few minutes.  However, there is no
+substitute for benchmarking with real files.
+
+   A completely independent way to reduce time spent writing files is to
+refrain from writing temporary output files.  This is accomplished with
+the '--no_tmp_fl' switch (*note Temporary Output Files::).
+
+3.31 Packed data
+================
+
+Availability: 'ncap2', 'ncbo', 'nces', 'ncflint', 'ncpdq', 'ncra',
+'ncwa'
+Short options: None
+Long options: '--hdf_upk', '--hdf_unpack'
+
+   The phrase "packed data" refers to data which are stored in the
+standard netCDF3 packing format which employs a lossy algorithm.  See
+*note ncks netCDF Kitchen Sink:: for a description of deflation, a
+lossless compression technique available with netCDF4 only.  Packed data
+may be deflated to save additional space.
+
+Packing Algorithm
+-----------------
+
+"Packing" The standard netCDF packing algorithm (described here
+(http://www.unidata.ucar.edu/software/netcdf/docs/netcdf/Attribute-Conventions.html))
+produces data with the same dynamic range as the original but which
+requires no more than half the space to store.  Like all packing
+algorithms, it is _lossy_.  The packed variable is stored (usually) as
+type 'NC_SHORT' with the two attributes required to unpack the variable,
+'scale_factor' and 'add_offset', stored at the original (unpacked)
+precision of the variable (1).  Let MIN and MAX be the minimum and
+maximum values of X.
+
+   SCALE_FACTOR = (MAX-MIN)/NDRV
+ADD_OFFSET = 0.5*(MIN+MAX)
+PCK = (UPK-ADD_OFFSET)/SCALE_FACTOR = (UPK-0.5*(MIN+MAX))*NDRV/(MAX-MIN)
+
+   where NDRV is the number of discrete representable values for given
+type of packed variable.  The theoretical maximum value for NDRV is two
+raised to the number of bits used to store the packed variable.  Thus if
+the variable is packed into type 'NC_SHORT', a two-byte datatype, then
+there are at most 2^{16} = 65536 distinct values representable.  In
+practice, the number of discretely representible values is taken to be
+two less than the theoretical maximum.  This leaves space for a missing
+value and solves potential problems with rounding that may occur during
+the unpacking of the variable.  Thus for 'NC_SHORT', ndrv = 65536 - 2 =
+65534.  Less often, the variable may be packed into type 'NC_CHAR',
+where ndrv = 2^{8} - 2 = 256 - 2 = 254, or type 'NC_INT' where where
+ndrv = 2^{32} - 2 = 4294967295 - 2 = 4294967293.  One useful feature of
+(lossy) netCDF packing algorithm is that additional, loss-less packing
+algorithms perform well on top of it.
+
+Unpacking Algorithm
+-------------------
+
+"Unpacking" The unpacking algorithm depends on the presence of two
+attributes, 'scale_factor' and 'add_offset'.  If 'scale_factor' is
+present for a variable, the data are multiplied by the value
+SCALE_FACTOR after the data are read.  If 'add_offset' is present for a
+variable, then the ADD_OFFSET value is added to the data after the data
+are read.  If both 'scale_factor' and 'add_offset' attributes are
+present, the data are first scaled by SCALE_FACTOR before the offset
+ADD_OFFSET is added.
+
+   UPK = SCALE_FACTOR*PCK + ADD_OFFSET = (MAX-MIN)*PCK/NDRV +
+0.5*(MIN+MAX)
+
+   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 'int', 'float', or 'double'.  An attribute's 'scale_factor' and
+'add_offset' and '_FillValue', if any, should all be of the type
+intended for the unpacked data, i.e., 'int', 'float' or 'double'.
+
+Default Handling of Packed Data
+-------------------------------
+
+Most files originally written in HDF format use the HDF
+packing/unpacking algorithm.  This algorithm is incompatible with the
+netCDF packing algorithm described above.  The unpacking component of
+the HDF algorithm (described here
+(http://www.hdfgroup.org/HDF5/doc/UG/UG_frame10Datasets.html)) is
+
+   UPK = SCALE_FACTOR*(PCK - ADD_OFFSET)
+
+   Confusingly, the (incompatible) netCDF and HDF algorithms both store
+their parameters in attributes with the same names ('scale_factor' and
+'add_offset').  Data packed with one algorithm should never be unpacked
+with the other; doing so will result in incorrect answers.
+Unfortunately, few users are aware that their datasets may be packed,
+and fewer know the details of the packing algorithm employed.  This is
+what we in the "bizness" call an "interoperability" issue because it
+hampers data analysis performed on heterogeneous systems.
+
+   As described below, NCO automatically unpacks data before performing
+arithmetic.  This automatic unpacking occurs silently since there is
+usually no reason to bother users with these details.  There is as yet
+no generic way for NCO to know which packing convention was used, so NCO
+_assumes_ the netCDF convention was used.  NCO uses the same convention
+for unpacking unless explicitly told otherwise with the '--hdf_upk'
+(also '--hdf_unpack') switch.  Until and unless a method of
+automatically detecting the packing method is devised, it must remain
+the user's responsibility to tell NCO when to use the HDF convention
+instead of the netCDF convention to unpack.
+
+   If your data originally came from an HDF file (e.g., NASA EOS) then
+it was likely packed with the HDF convention and must be unpacked with
+the same convention.  Our recommendation is to only request HDF
+unpacking when you are certain.  Most packed datasets encountered by NCO
+will have used the netCDF convention.  Those that were not will
+hopefully produce noticeably weird values when unpacked by the wrong
+algorithm.  Before or after panicking, treat this as a clue to re-try
+your commands with the '--hdf_upk' switch.  See *note ncpdq netCDF
+Permute Dimensions Quickly:: for an easy technique to unpack data packed
+with the HDF convention, and then re-pack it with the netCDF convention.
+
+Default Handling of Packed Data
+-------------------------------
+
+All NCO arithmetic operators understand packed data.  The operators
+automatically unpack any packed variable in the input file which will be
+arithmetically processed.  For example, 'ncra' unpacks all record
+variables, and 'ncwa' unpacks all variable which contain a dimension to
+be averaged.  These variables are stored unpacked in the output file.
+
+   On the other hand, arithmetic operators do not unpack non-processed
+variables.  For example, 'ncra' leaves all non-record variables packed,
+and 'ncwa' leaves packed all variables lacking an averaged dimension.
+These variables (called fixed variables) are passed unaltered from the
+input to the output file.  Hence fixed variables which are packed in
+input files remain packed in output files.  Completely packing and
+unpacking files is easily accomplished with 'ncpdq' (*note ncpdq netCDF
+Permute Dimensions Quickly::).  Pack and unpack individual variables
+with 'ncpdq' and the 'ncap2' 'pack()' and 'unpack()' functions (*note
+Methods and functions::).
+
+   ---------- Footnotes ----------
+
+   (1) Although not a part of the standard, NCO enforces the policy that
+the '_FillValue' attribute, if any, of a packed variable is also stored
+at the original precision.
+
+3.32 Operation Types
+====================
+
+Availability: 'ncap2', 'ncra', 'nces', 'ncwa'
+Short options: '-y'
+Long options: '--operation', '--op_typ'
+The '-y OP_TYP' switch allows specification of many different types of
+operations Set OP_TYP to the abbreviated key for the corresponding
+operation:
+'avg'
+     Mean value
+'sqravg'
+     Square of the mean
+'avgsqr'
+     Mean of sum of squares
+'max'
+     Maximium value
+'min'
+     Minimium value
+'rms'
+     Root-mean-square (normalized by N)
+'rmssdn'
+     Root-mean square (normalized by N-1)
+'sqrt'
+     Square root of the mean
+'ttl'
+     Sum of values
+NCO assumes coordinate variables represent grid axes, e.g., longitude.
+The only rank-reduction which makes sense for coordinate variables is
+averaging.  Hence NCO implements the operation type requested with '-y'
+on all non-coordinate variables, not on coordinate variables.  When an
+operation requires a coordinate variable to be reduced in rank, i.e.,
+from one dimension to a scalar or from one dimension to a degenerate
+(single value) array, then NCO _always averages_ the coordinate variable
+regardless of the arithmetic operation type performed on the
+non-coordinate variables.
+
+   The mathematical definition of each arithmetic operation is given
+below.  *Note ncwa netCDF Weighted Averager::, for additional
+information on masks and normalization.  If an operation type is not
+specified with '-y' then the operator performs an arithmetic average by
+default.  Averaging is described first so the terminology for the other
+operations is familiar.
+
+   _Note for Info users_: The definition of mathematical operations
+involving rank reduction (e.g., averaging) relies heavily on
+mathematical expressions which cannot be easily represented in Info.
+_See the printed manual (./nco.pdf) for much more detailed and complete
+documentation of this subject._
+
+   The definitions of some of these operations are not universally
+useful.  Mostly they were chosen to facilitate standard statistical
+computations within the NCO framework.  We are open to redefining and or
+adding to the above.  If you are interested in having other statistical
+quantities defined in NCO please contact the NCO project (*note Help
+Requests and Bug Reports::).
+
+EXAMPLES
+
+Suppose you wish to examine the variable 'prs_sfc(time,lat,lon)' which
+contains a time series of the surface pressure as a function of latitude
+and longitude.  Find the minimium value of 'prs_sfc' over all
+dimensions:
+     ncwa -y min -v prs_sfc in.nc foo.nc
+Find the maximum value of 'prs_sfc' at each time interval for each
+latitude:
+     ncwa -y max -v prs_sfc -a lon in.nc foo.nc
+Find the root-mean-square value of the time-series of 'prs_sfc' at every
+gridpoint:
+     ncra -y rms -v prs_sfc in.nc foo.nc
+     ncwa -y rms -v prs_sfc -a time in.nc foo.nc
+The previous two commands give the same answer but 'ncra' is preferred
+because it has a smaller memory footprint.  A dimension of size one is
+said to be "degenerate".  By default, 'ncra' leaves the (degenerate)
+'time' dimension in the output file (which is usually useful) whereas
+'ncwa' removes the 'time' dimension (unless '-b' is given).
+
+These operations work as expected in multi-file operators.  Suppose that
+'prs_sfc' is stored in multiple timesteps per file across multiple
+files, say 'jan.nc', 'feb.nc', 'march.nc'.  We can now find the three
+month maximium surface pressure at every point.
+     nces -y max -v prs_sfc jan.nc feb.nc march.nc out.nc
+
+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.  The procedure to compute the temporal standard
+deviation of the surface pressure at all points in a single file 'in.nc'
+involves three steps.
+     ncwa -O -v prs_sfc -a time in.nc out.nc
+     ncbo -O -v prs_sfc in.nc out.nc out.nc
+     ncra -O -y rmssdn out.nc out.nc
+   First construct the temporal mean of 'prs_sfc' in the file 'out.nc'.
+Next overwrite 'out.nc' with the anomaly (deviation from the mean).
+Finally overwrite 'out.nc' with the root-mean-square of itself.  Note
+the use of '-y rmssdn' (rather than '-y rms') in the final step.  This
+ensures the standard deviation is correctly normalized by one fewer than
+the number of time samples.  The procedure to compute the variance is
+identical except for the use of '-y var' instead of '-y rmssdn' in the
+final step.
+
+   'ncap2' can also compute statistics like standard deviations.
+Brute-force implementation of formulae is one option, e.g.,
+     ncap2 -s 'prs_sfc_sdn=sqrt((prs_sfc-prs_sfc.avg($time)^2).total($time)/($time.size-1))'
+           in.nc out.nc
+   The operation may, of course, be broken into multiple steps in order
+to archive intermediate quantities, such as the time-anomalies
+     ncap2 -s 'prs_sfc_anm=prs_sfc-prs_sfc.avg($time)' \
+           -s 'prs_sfc_sdn=sqrt((prs_sfc_anm^2).total($time)/($time.size-1))' \
+           in.nc out.nc
+
+   'ncap2' supports intrinsic standard deviation functions (*note
+Operation Types::) which simplify the above expression to
+     ncap2 -s 'prs_sfc_sdn=(prs_sfc-prs_sfc.avg($time)).rmssdn($time)' in.nc out.nc
+   These instrinsic functions compute the answer quickly and concisely.
+
+   The procedure to compute the spatial standard deviation of a field in
+a single file 'in.nc' involves three steps.
+     ncwa -O -v prs_sfc,gw -a lat,lon -w gw in.nc out.nc
+     ncbo -O -v prs_sfc,gw in.nc out.nc out.nc
+     ncwa -O -y rmssdn -v prs_sfc -a lat,lon -w gw out.nc out.nc
+   First the appropriately weighted (with '-w gw') spatial mean values
+are written to the output file.  This example includes the use of a
+weighted variable specified with '-w gw'.  When using weights to compute
+standard deviations one must remember to include the weights in the
+initial output files so that they may be used again in the final step.
+The initial output file is then overwritten with the gridpoint
+deviations from the spatial mean.  Finally the root-mean-square of the
+appropriately weighted spatial deviations is taken.
+
+   The 'ncap2' solution to the spatially-weighted standard deviation
+problem is
+     ncap2 -s 'prs_sfc_sdn=(prs_sfc*gw-prs_sfc*gw.avg($lat,$lon)).rmssdn($lat,$lon)' \
+           in.nc out.nc
+   Be sure to multiply the variable by the weight prior to computing the
+the anomalies and the standard deviation.
+
+   The procedure to compute the standard deviation of a time-series
+across multiple files involves one extra step since all the input must
+first be collected into one file.
+     ncrcat -O -v tpt in.nc in.nc foo1.nc
+     ncwa -O -a time foo1.nc foo2.nc
+     ncbo -O -v tpt foo1.nc foo2.nc foo3.nc
+     ncra -O -y rmssdn foo3.nc out.nc
+   The first step assembles all the data into a single file.  Though
+this may consume a lot of temporary disk space, it is more or less
+required by the 'ncbo' operation in the third step.
+
+3.33 Type Conversion
+====================
+
+Availability (automatic type conversion): 'ncap2', 'ncbo', 'nces',
+'ncflint', 'ncra', 'ncwa'
+Short options: None (it's _automatic_)
+Availability (manual type conversion): 'nces', 'ncra', 'ncwa'
+Short options: None
+Long options: '--dbl', '--flt', '--rth_dbl', '--rth_flt'
+   Type conversion refers to the casting or coercion of one fundamental
+or atomic data type to another, e.g., converting 'NC_SHORT' (two bytes)
+to 'NC_DOUBLE' (eight bytes).  Type conversion always "promotes" or
+"demotes" the range and/or precision of the values a variable can hold.
+Type conversion is automatic when the language carries out this
+promotion according to an internal set of rules without explicit user
+intervention.  In contrast, manual type conversion refers to explicit
+user commands to change the type of a variable or attribute.  Most type
+conversion happens automatically, yet there are situations in which
+manual type conversion is advantageous.
+
+3.33.1 Automatic type conversion
+--------------------------------
+
+There are at least two reasons to avoid type conversions.  First, type
+conversions are expensive since they require creating (temporary)
+buffers and casting each element of a variable from its storage type to
+some other type and then, often, converting it back.  Second, a
+dataset's creator perhaps had a good reason for storing data as, say,
+'NC_FLOAT' rather than 'NC_DOUBLE'.  In a scientific framework there is
+no reason to store data with more precision than the observations merit.
+Normally this is single-precision, which guarantees 6-9 digits of
+precision.  Reasons to engage in type conversion include avoiding
+rounding errors and out-of-range limitations of less-precise types.
+This is the case with most integers.  Thus NCO defaults to automatically
+promote integer types to floating point when performing lengthy
+arithmetic, yet NCO defaults to not promoting single to double-precision
+floats.
+
+   Before discussing the more subtle floating point issues, we first
+examine integer promotion.  We will show how following parsimonious
+conversion rules dogmatically can cause problems, and what NCO does
+about that.  That said, there are situations in which implicit
+conversion of single- to double-precision is also warranted.
+Understanding the narrowness of these situations takes time, and we hope
+the reader appreciates the following detailed discussion.
+
+   Consider the average of the two 'NC_SHORT's '17000s' and '17000s'.  A
+straightforward average without promotion results in garbage since the
+intermediate value which holds their sum is also of type 'NC_SHORT' and
+thus overflows on (i.e., cannot represent) values greater than 32,767
+(1).  There are valid reasons for expecting this operation to succeed
+and the NCO 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, NCO arithmetic operators will perform automatic
+type conversion on integers when all the following conditions are met
+(2):
+  1. The requested operation is arithmetic.  This is why type conversion
+     is limited to the operators 'ncap2', 'ncbo', 'nces', 'ncflint',
+     'ncra', and 'ncwa'.
+  2. The arithmetic operation could benefit from type conversion.
+     Operations that could benefit include averaging, summation, or any
+     "hard" arithmetic that could overflow or underflow.  Larger
+     representable sums help avoid overflow, and more precision helps to
+     avoid underflow.  Type conversion does not benefit searching for
+     minima and maxima ('-y min', or '-y max').
+  3. The variable on disk is of type 'NC_BYTE', 'NC_CHAR', 'NC_SHORT',
+     or 'NC_INT'.  Type 'NC_DOUBLE' is not promoted because there is no
+     type of higher precision.  Conversion of type 'NC_FLOAT' is
+     discussed in detail below.  When it occurs, it follows the same
+     procedure (promotion then arithmetic then demotion) as conversion
+     of integer types.
+
+   When these criteria are all met, the operator promotes the variable
+in question to type 'NC_DOUBLE', performs all the arithmetic operations,
+casts the 'NC_DOUBLE' type back to the original type, and finally writes
+the result to disk.  The result written to disk may not be what you
+expect, because of incommensurate ranges represented by different types,
+and because of (lack of) rounding.  First, continuing the above example,
+the average (e.g., '-y avg') of '17000s' and '17000s' is written to disk
+as '17000s'.  The type conversion feature of NCO makes this possible
+since the arithmetic and intermediate values are stored as 'NC_DOUBLE's,
+i.e., '34000.0d' and only the final result must be represented as an
+'NC_SHORT'.  Without the type conversion feature of NCO, the average
+would have been garbage (albeit predictable garbage near '-15768s').
+Similarly, the total (e.g., '-y ttl') of '17000s' and '17000s' written
+to disk is garbage (actually '-31536s') since the final result (the true
+total) of 34000 is outside the range of type 'NC_SHORT'.
+
+   After arithmetic is computed in double-precision for promoted
+variables, the intermediate double-precision values must be demoted to
+the variables' original storage type (e.g., from 'NC_DOUBLE' to
+'NC_SHORT').  NCO has handled this demotion in three ways in its
+history.  Prior to October, 2011 (version 4.0.8), NCO employed the C library
+truncate function, 'trunc()' (3).  Truncation rounds X to the nearest
+integer not larger in absolute value.  For example, truncation rounds
+'1.0d', '1.5d', and '1.8d' to the same value, '1s'.  Clearly, truncation
+does not round floating point numbers to the nearest integer!  Yet
+truncation is how the C language performs implicit conversion of real
+numbers to integers.
+
+   NCO 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 'ncpdq'.  This led to NCO adopting rounding
+functions for demotion.  Rounding functions eliminated the small bias in
+the packing algorithm.
+
+   From February, 2012 through March, 2013 (versions 4.0.9-4.2.6), NCO
+employed the C library family of rounding functions, 'lround()'.  These
+functions round X to the nearest integer, halfway cases away from zero.
+The problem with 'lround()' is that it always rounds real values ending
+in '.5' away from zero.  This rounds, for example, '1.5d' and '2.5d' to
+'1s' and '2s', respectively.
+
+   Since April, 2013 (version 4.3.0), NCO has employed the other C library
+family of rounding functions, 'lrint()'.  This algorithm rounds X to the
+nearest integer, using the current rounding direction.  Halfway cases
+are rounded to the nearest even integer.  This rounds, for example, both
+'1.5d' and '2.5d' to the same value, '2s', as recommended by the IEEE.
+This rounding is symmetric: up half the time, down half the time.  This
+is the current and hopefully final demotion algorithm employed by NCO.
+
+   Hence because of automatic conversion, NCO will compute the average
+of '2s' and '3s' in double-precision arithmetic as ('2.0d' +
+'3.0d')/'2.0d') = '2.5d'.  It then demotes this intermediate result back
+to 'NC_SHORT' and stores it on disk as 'trunc(2.5d)' = '2s' (versions up
+to 4.0.8), 'lround(2.5d)' = '3s' (versions 4.0.9-4.2.6), and
+'lrint(2.5d)' = '2s' (versions 4.3.0 and later).
+
+   ---------- Footnotes ----------
+
+   (1) 32767 = 2^15-1
+
+   (2) Operators began performing automatic type conversions before
+arithmetic in NCO version 1.2, August, 2000.  Previous versions never
+performed unnecessary type conversion for arithmetic.
+
+   (3) The actual type conversions with trunction were handled by
+intrinsic type conversion, so the 'trunc()' function was never
+explicitly called, although the results would be the same if it were.
+
+3.33.2 Promoting Single-precision to Double
+-------------------------------------------
+
+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 number of operations.
+Single-precision (four-byte) numbers contain about seven significant
+figures, while double-precision contain about sixteen.  More, err,
+precisely, the IEEE single-precision representation gives from 6 to 9
+significant decimal digits precision (1).  And the IEEE double-precision
+representation gives from 15 to 17 significant decimal digits precision
+(2).  Hence double-precision numbers represent about nine digits more
+precision than single-precision numbers.
+
+   Given these properties, there are at least two possible arithmetic
+conventions for the treatment of real numbers:
+  1. Conservative, aka Fortran Convention Automatic type conversion
+     during arithmetic in the Fortran language is, by default, performed
+     only when necessary.  All operands in an operation are converted to
+     the most precise type involved the operation before the arithmetic
+     operation.  Expressions which involve only single-precision numbers
+     are computed entirely in single-precision.  Expressions involving
+     mixed precision types are computed in the type of higher precision.
+     NCO by default employs the Fortan Convention for promotion.
+  2. Aggressive, aka C Convention The C language is by default much more
+     aggressive (and thus wasteful) than Fortran, and will always
+     implicitly convert single- to double-precision numbers for no good
+     reason.  All real-number standard C library functions are
+     double-precision, and C programmers must take extra steps to only
+     utilize single precision arithmetic.  The high level interpreted
+     data analysis languages IDL, Matlab, and NCL all adopt the
+     C Convention.
+
+   NCO does not automatically promote 'NC_FLOAT' because, in our
+judgement, the performance penalty of always doing so would outweigh the
+potential benefits.  The now-classic text "Numerical Recipes in C"
+discusses this point under the section "Implicit Conversion of Float to
+Double" (3).  That said, such promotion is warranted in some
+circumstances.
+
+   For example, rounding errors can accumulate to worrisome levels
+during arithmetic performed on large arrays of single-precision floats.
+This use-case occurs often in geoscientific studies of climate where
+thousands-to-millions of gridpoints may contribute to a single average.
+If the inputs are all single-precision, then so should be the output.
+However the intermediate results where running sums are accumulated may
+suffer from too much rounding or from underflow unless computed in
+double-precision.
+
+   The order of operations matters to floating point math even when the
+analytic expressions are equal.  Cautious users feel disquieted when
+results from equally valid analyses differ in the final bits instead of
+agreeing bit-for-bit.  For example, averaging arrays in multiple stages
+produces different answers than averaging them in one step.  This is
+easily seen in the computation of ensemble averages by two different
+methods.  The NCO test file 'in.nc' contains single- and
+double-precision representations of the same temperature timeseries as
+'tpt_flt' and 'tpt_dbl'.  Pretend each datapoint in this timeseries
+represents a monthly-mean temperature.  We will mimic the derivation of
+a fifteen-year ensemble-mean January temperature by concatenating the
+input file five times, and then averaging the datapoints representing
+January two different ways.  In Method 1 we derive the 15-year ensemble
+January average in two 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 (4).  In Method 2 we
+obtain 15-year ensemble January average in a single step, by averaging
+all 15 Januaries at one time:
+     # tpt_flt and tpt_dbl are identical except for precision
+     ncks --cdl -C -v tpt_flt,tpt_dbl ~/nco/data/in.nc
+     # tpt_dbl = 273.1, 273.2, 273.3, 273.4, 273.5, 273.6, 273.7, 273.8, 273.9, 274
+     # tpt_flt = 273.1, 273.2, 273.3, 273.4, 273.5, 273.6, 273.7, 273.8, 273.9, 274
+     # Create file with five "ten-month years" (i.e., 50 timesteps) of temperature data
+     ncrcat -O -v tpt_flt,tpt_dbl -p ~/nco/data in.nc in.nc in.nc in.nc in.nc ~/foo.nc
+     # Average 1st five "Januaries" (elements 1, 11, 21, 31, 41)
+     ncra --flt -O -F -d time,1,,10 ~/foo.nc ~/foo_avg1.nc
+     # Average 2nd five "Januaries" (elements 2, 12, 22, 32, 42)
+     ncra --flt -O -F -d time,2,,10 ~/foo.nc ~/foo_avg2.nc
+     # Average 3rd five "Januaries" (elements 3, 13, 23, 33, 43)
+     ncra --flt -O -F -d time,3,,10 ~/foo.nc ~/foo_avg3.nc
+     # Method 1: Obtain ensemble January average by averaging the averages
+     ncra --flt -O ~/foo_avg1.nc ~/foo_avg2.nc ~/foo_avg3.nc ~/foo_avg_mth1.nc
+     # Method 2: Obtain ensemble January average by averaging the raw data
+     # Employ ncra's "subcycle" feature (http://nco.sf.net/nco.html#ssc)
+     ncra --flt -O -F -d time,1,,10,3 ~/foo.nc ~/foo_avg_mth2.nc
+     # Difference the two methods
+     ncbo -O ~/foo_avg_mth1.nc ~/foo_avg_mth2.nc ~/foo_avg_dff.nc
+     ncks --cdl ~/foo_avg_dff.nc
+     # tpt_dbl = 5.6843418860808e-14 ;
+     # tpt_flt = -3.051758e-05 ;
+   Although the two methods are arithmetically equivalent, they produce
+slightly different answers due to the different order of operations.
+Moreover, it appears at first glance that the single-precision answers
+suffer from greater error than the double-precision answers.  In fact
+both precisions suffer from non-zero rounding errors.  The answers
+differ negligibly to machine precision, which is about seven significant
+figures for single precision floats ('tpt_flt'), and sixteen significant
+figures for double precision ('tpt_dbl').  The input precision
+determines the answer precision.
+
+   IEEE arithmetic guarantees that two methods will produce bit-for-bit
+identical answers only if they compute the same operations in the same
+order.  Bit-for-bit identical answers may also occur by happenstance
+when rounding errors exactly compensate one another.  This is
+demonstrated by repeating the example above with the '--dbl' (or
+'--rth_dbl' for clarity) option which forces conversion of
+single-precision numbers to double-precision prior to arithmetic.  Now
+'ncra' will treat the first value of 'tpt_flt', '273.1000f', as
+'273.1000000000000d'.  Arithmetic on 'tpt_flt' then proceeds in
+double-precision until the final answer, which is converted back to
+single-precision for final storage.
+     # Average 1st five "Januaries" (elements 1, 11, 21, 31, 41)
+     ncra --dbl -O -F -d time,1,,10 ~/foo.nc ~/foo_avg1.nc
+     # Average 2nd five "Januaries" (elements 2, 12, 22, 32, 42)
+     ncra --dbl -O -F -d time,2,,10 ~/foo.nc ~/foo_avg2.nc
+     # Average 3rd five "Januaries" (elements 3, 13, 23, 33, 43)
+     ncra --dbl -O -F -d time,3,,10 ~/foo.nc ~/foo_avg3.nc
+     # Method 1: Obtain ensemble January average by averaging the averages
+     ncra --dbl -O ~/foo_avg1.nc ~/foo_avg2.nc ~/foo_avg3.nc ~/foo_avg_mth1.nc
+     # Method 2: Obtain ensemble January average by averaging the raw data
+     # Employ ncra's "subcycle" feature (http://nco.sf.net/nco.html#ssc)
+     ncra --dbl -O -F -d time,1,,10,3 ~/foo.nc ~/foo_avg_mth2.nc
+     # Difference the two methods
+     ncbo -O ~/foo_avg_mth1.nc ~/foo_avg_mth2.nc ~/foo_avg_dff.nc
+     # Show differences
+     ncks --cdl ~/foo_avg_dff.nc
+     # tpt_dbl = 5.6843418860808e-14 ;
+     # tpt_flt = 0 ;
+   The '--dbl' switch has no effect on the results computed from
+double-precision inputs.  But now the two methods produce bit-for-bit
+identical results from the single-precision inputs!  This is due to the
+happenstance of rounding along with the effects of the '--dbl' switch.
+The '--flt' and '--rth_flt' switches are provided for symmetry.  They
+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
+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
+arithmetic.  The primary advantage is that rounding errors in
+double-precision are much less likely to accumulate to values near the
+precision of the underlying geophysical variable.
+
+   For example, if we know temperature to five significant digits, then
+a rounding error of 1-bit could affect the least precise digit of
+temperature after 1,000-10,000 consecutive one-sided rounding errors
+under the worst possible scenario.  Many geophysical grids have
+tens-of-thousands to millions of points that must be summed prior to
+normalization to compute an average.  It is possible for
+single-precision rouding errors to accumulate and degrade the precision
+in such situtations.  Double-precision arithmetic mititgates this
+problem, so '--dbl' would be warranted.
+
+   This can be seen with another example, averaging a global surface
+temperature field with 'ncwa'.  The input contains a single-precision
+global temperature field (stored in 'TREFHT') produced by the CAM3
+general circulation model (GCM) run and stored at 1.9 by 2.5 degrees
+resolution.  This requires 94 latitudes and 144 longitudes, or 13,824
+total surface gridpoints, a typical GCM resolution these days.  These
+input characteristics are provided only to show the context to the
+interested reader, equivalent results would be found in statistics of
+any dataset of comparable size.  Models often represent Earth on a
+spherical grid where global averages must be created by weighting each
+gridcell by its latitude-dependent weight (i.e., the Gaussian weight
+stored in 'gw'), or by the surface area of each contributing gridpoint
+(stored in 'area').
+
+   Like many geophysical models and most GCMs, CAM3 runs completely in
+double-precision yet stores its archival output in single-precision to
+save space.  In practice such models usually save multi-dimensional
+prognostic and diagnostic fields (like 'TREFHT(lat,lon)' and
+'area(lat,lon)') as single-precision, while saving all one-dimensional
+coordinates and weights (here 'lat', 'lon', and 'gw(lon)') as
+double-precision.  To obtain pure double-precision arithmetic _and_
+storage of the globla mean temperature, we first create and store
+double-precision versions of the single-precision fields:
+     ncap2 -O -s 'TREFHT_dbl=double(TREFHT);area_dbl=double(area)' in.nc in.nc
+   The single- and double-precision temperatures may each be averaged
+globally using four permutations for the precision of the weight and of
+the intermediate arithmetic representation:
+  1. Single-precision weight ('area'), single-precision arithmetic
+  2. Double-precision weight ('gw'), single-precision arithmetic
+  3. Single-precision weight ('area'), double-precision arithmetic
+  4. Double-precision weight ('gw'), double-precision arithmetic
+     # NB: Values below are printed with C-format %5.6f using
+     # ncks -H -C -s '%5.6f' -v TREFHT,TREFHT_dbl out.nc
+     # Single-precision weight (area), single-precision arithmetic
+     ncwa --flt -O -a lat,lon -w area in.nc out.nc
+     # TREFHT     = 289.246735
+     # TREFHT_dbl = 289.239964
+     # Double-precision weight (gw),   single-precision arithmetic
+     ncwa --flt -O -a lat,lon -w gw   in.nc out.nc
+     # TREFHT     = 289.226135
+     # TREFHT_dbl = 289.239964
+     # Single-precision weight (area), double-precision arithmetic
+     ncwa --dbl -O -a lat,lon -w area in.nc out.nc
+     # TREFHT     = 289.239960
+     # TREFHT_dbl = 289.239964
+     # Double-precision weight (gw),   double-precision arithmetic
+     ncwa --dbl -O -a lat,lon -w gw   in.nc out.nc
+     # TREFHT     = 289.239960
+     # TREFHT_dbl = 289.239964
+   First note that the 'TREFHT_dbl' average never changes because
+'TREFHT_dbl(lat,lon)' is double-precision in the input file.  As
+described above, NCO automatically converts all operands involving to
+the highest precision involved in the operation.  So specifying '--dbl'
+is redundant for double-precision inputs.
+
+   Second, the single-precision arithmetic averages of the
+single-precision input 'TREFHT' differ by 289.246735 - 289.226135 =
+0.0206 from eachother, and, more importantly, by as much as 289.239964 -
+289.226135 = 0.013829 from the correct (double-precision) answer.  These
+averages differ in the fifth digit, i.e., they agree only to four
+significant figures!  Given that climate scientists are concerned about
+global temperature variations of a tenth of a degree or less, this
+difference is large.  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.
+
+   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 weights.
+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 (5).
+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 IEEE rounding errors
+is zero.  And the error of any given sequence of rounding errors obeys,
+for large series, a Gaussian distribution centered on zero.
+
+   Single-precision numbers use three of their four eight-bit bytes to
+represent the mantissa so the smallest representable single-precision
+mantissa is \epsilon \equiv 2^{-23} = 1.19209 \times 10^{-7}.  This
+\epsilon is the smallest X such that 1.0 + x \ne 1.0.  This is the
+rounding error for non-exact precision-numbers.  Applying random walk
+theory to rounding, it can be shown that the expected rounding error
+after N inexact operations is \sqrt{2n/\pi} for large N.  The expected
+(i.e., mean absolute) rounding error in our example with 13,824
+additions is about \sqrt{2 \times 13824 / \pi} = 91.96.  Hence, addition
+alone of about fifteen thousand single-precision floats is expected to
+consume about two significant digits of precision.  This neglects the
+error due to the inner product (weights times values) and normalization
+(division by tally) aspects of a weighted average.  the ratio of two
+numbers each containing a numerical bias can magnify the size of the
+bias.  In summary, a global mean number computed from about 15,000
+gridpoints each with weights can be expected to lose up to three
+significant digits.  Since single-precision starts with about seven
+significant digits, we should not expect to retain more than four
+significant digits after computing weighted averages in
+single-precision.  The above example with 'TREFHT' shows the expected
+four digits of agreement.
+
+   The NCO results have been independently validated to the extent
+possible in three other languages: C, Matlab, and NCL.  C and NCO are
+the only languages that permit single-precision numbers to be treated
+with single precision arithmetic:
+     # Double-precision weight (gw),   single-precision arithmetic (C)
+     ncwa_3528514.exe
+     # TREFHT     = 289.240112
+     # Double-precision weight (gw),   double-precision arithmetic (C)
+     # TREFHT     = 289.239964
+     # Single-precision weight (area), double-precision arithmetic (Matlab)
+     # TREFHT     = 289.239964
+     # Double-precision weight (gw),   double-precision arithmetic (Matlab)
+     # TREFHT     = 289.239964
+     # Single-precision weight (area), double-precision arithmetic (NCL)
+     ncl < ncwa_3528514.ncl
+     # TREFHT     = 289.239960
+     # TREFHT_dbl = 289.239964
+     # Double-precision weight (gw),   double-precision arithmetic (NCL)
+     # TREFHT     = 289.239960
+     # TREFHT_dbl = 289.239964
+   All languages tested (C, Matlab, NCL, and NCO) agree to machine
+precision with double-precision arithmetic.  Users are fortunate to have
+a variety of high quality software that liberates them from the drudgery
+of coding their own.  Many packages are free (as in beer)!  As shown
+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
+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.  However, pure single-precision arithmetic can lose too
+much precision when used to condense (e.g., average) large arrays.
+Statistics involving about n = 10,000 single-precision inputs will lose
+about 2-3 digits if not promoted to double-precision prior to
+arithmetic.  The loss scales with the squareroot of N.  For larger N,
+users should promote floats with the '--dbl' option if they want to
+preserve more than four significant digits in their results.
+
+   The '--dbl' and '--flt' switches are only available with the NCO
+arithmetic operators that could potentially perform more than a few
+single-precision floating point operations per result.  These are
+'nces', 'ncra', and 'ncwa'.  Each is capable of thousands to millions or
+more operations per result.  By contrast, the arithmetic operators
+'ncbo' and 'ncflint' perform at most one floating point operation per
+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.
+
+   ---------- Footnotes ----------
+
+   (1) According to Wikipedia's summary of IEEE standard 754, "If a
+decimal string with at most 6 significant digits is converted to IEEE
+754 single-precision and then converted back to the same number of
+significant decimal, then the final string should match the original;
+and if an IEEE 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".
+
+   (2) According to Wikipedia's summary of IEEE standard 754, "If a
+decimal string with at most 15 significant digits is converted to IEEE
+754 double-precision representation and then converted back to a string
+with the same number of significant digits, then the final string should
+match the original; and if an IEEE 754 double 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".
+
+   (3) See page 21 in Section 1.2 of the First edition for this gem:
+     One does not need much experience in scientific computing to
+     recognize that the implicit conversion rules are, in fact, sheer
+     madness!  In effect, they make it impossible to write efficient
+     numerical programs.
+
+   (4) For example, the CMIP5 archive tends to distribute monthly
+average timeseries in 50-year chunks.
+
+   (5) Thanks to Michael J. Prather for explaining this to me.
+
+3.33.3 Manual type conversion
+-----------------------------
+
+'ncap2' provides intrinsic functions for performing manual type
+conversions.  This, for example, converts variable 'tpt' to external
+type 'NC_SHORT' (a C-type 'short'), and variable 'prs' to external type
+'NC_DOUBLE' (a C-type 'double').
+     ncap2 -s 'tpt=short(tpt);prs=double(prs)' in.nc out.nc
+   *Note ncap2 netCDF Arithmetic Processor::, for more details.
+
+3.34 Batch Mode
+===============
+
+Availability: All operators
+Short options: '-O', '-A'
+Long options: '--ovr', '--overwrite', '--apn', '--append'
+   If the OUTPUT-FILE specified for a command is a pre-existing file,
+then the operator will prompt the user whether to overwrite (erase) the
+existing OUTPUT-FILE, attempt to append to it, or abort the operation.
+However, interactive questions reduce productivity when processing large
+amounts of data.  Therefore NCO also implements two ways to override its
+own safety features, the '-O' and '-A' switches.  Specifying '-O' tells
+the operator to overwrite any existing OUTPUT-FILE without prompting the
+user interactively.  Specifying '-A' tells the operator to attempt to
+append to any existing OUTPUT-FILE without prompting the user
+interactively.  These switches are useful in batch environments because
+they suppress interactive keyboard input.  NB: As of 20120515, 'ncap2'
+is unable to append to files that already contain the appended
+dimensions.
+
+3.35 History Attribute
+======================
+
+Availability: All operators
+Short options: '-h'
+Long options: '--hst', '--history'
+   All operators automatically append a 'history' global attribute to
+any file they create or modify.  The 'history' attribute consists of a
+timestamp and the full string of the invocation command to the operator,
+e.g., 'Mon May 26 20:10:24 1997: ncks in.nc foo.nc'.  The full contents
+of an existing 'history' attribute are copied from the first INPUT-FILE
+to the OUTPUT-FILE.  The timestamps appear in reverse chronological
+order, with the most recent timestamp appearing first in the 'history'
+attribute.  Since NCO and many other netCDF operators adhere to the
+'history' convention, the entire data processing path of a given netCDF
+file may often be deduced from examination of its 'history' attribute.
+As of May, 2002, NCO is case-insensitive to the spelling of the
+'history' attribute name.  Thus attributes named 'History' or '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.
+'history' attribute To avoid information overkill, all operators have an
+optional switch ('-h', '--hst', or '--history') to override
+automatically appending the 'history' attribute (*note ncatted netCDF
+Attribute Editor::).  Note that the '-h' switch also turns off writing
+the 'nco_input_file_list' attribute for multi-file operators (*note File
+List Attributes::).
+
+3.36 File List Attributes
+=========================
+
+Availability: 'nces', 'ncecat', 'ncra', 'ncrcat'
+Short options: '-H'
+Long options: '--fl_lst_in', '--file_list'
+   Many methods of specifying large numbers of input file names pass
+these names via pipes, encodings, or argument transfer programs (*note
+Large Numbers of Files::).  When these methods are used, the input file
+list is not explicitly passed on the command line.  This results in a
+loss of information since the 'history' attribute no longer contains the
+exact command by which the file was created.
+
+   NCO solves this dilemma by archiving input file list attributes.
+When the input file list to a multi-file operator is specified via
+'stdin', the operator, by default, attaches two global attributes to any
+file they create or modify.  The 'nco_input_file_number' global
+attribute contains the number of input files, and 'nco_input_file_list'
+contains the file names, specified as standard input to the multi-file
+operator.  This information helps to verify that all input files the
+user thinks were piped through 'stdin' actually arrived.  Without the
+'nco_input_file_list' attribute, the information is lost forever and the
+"chain of evidence" would be broken.
+
+   The '-H' switch overrides (turns off) the default behavior of writing
+the input file list global attributes when input is from 'stdin'.  The
+'-h' switch does this too, and turns off the 'history' attribute as well
+(*note History Attribute::).  Hence both switches allows space-conscious
+users to avoid storing what may amount to many thousands of filenames in
+a metadata attribute.
+
+3.37 CF Conventions
+===================
+
+Availability: 'ncbo', 'nces', 'ncecat', 'ncflint', 'ncpdq', 'ncra',
+'ncwa'
+Short options: None
+   NCO recognizes some Climate and Forecast (CF) metadata conventions,
+and applies special rules to such data.  NCO was contemporaneous with
+COARDS and still contains some rules to handle older NCAR model
+datasets, such as CCM and early CCSM datasets, that pre-date CF.  Such
+datasets may not contain an explicit 'Conventions' attribute (e.g.,
+'CF-1.0').  Nevertheless, we refer to all such metadata collectively as
+CF metadata.  Skip this section if you never work with CF metadata.
+
+   The CF netCDF conventions are described here
+(http://cf-pcmdi.llnl.gov/documents/cf-conventions/1.6/cf-conventions.html#coordinate-system).
+Most CF netCDF conventions are transparent to NCO (1).  There are no
+known pitfalls associated with using any NCO operator on files adhering
+to these conventions (2).  However, to facilitate maximum user
+friendliness, NCO applies special rules to certain variables in CF
+files.  The special functions are not required by the CF netCDF
+conventions, yet experience shows that they simplify data analysis.
+
+   Currently, NCO determines whether a datafile is a CF output datafile
+simply by checking (case-insensitively) whether the value of the global
+attribute 'Conventions' (if any) equals 'CF-1.0' or 'NCAR-CSM' Should
+'Conventions' equal either of these in the (first) INPUT-FILE, NCO will
+apply special rules to certain variables because of their usual meaning
+in CF files.  NCO will not average the following variables often found
+in CF files: 'ntrm', 'ntrn', 'ntrk', 'ndbase', 'nsbase', 'nbdate',
+'nbsec', 'mdt', 'mhisf'.  These variables contain scalar metadata such
+as the resolution of the host geophysical model and it makes no sense to
+change their values.
+
+   Furthermore, the "size and rank-preserving arithmetic operators" try
+not to operate on certain grid properties.  These operators are 'ncap2',
+'ncbo', 'nces', 'ncflint', and 'ncpdq' (when used for packing, not for
+permutation).  These operators do not operate, by default, on (i.e.,
+add, subtract, pack, etc.)  the following variables: 'ORO', 'area',
+'datesec', 'date', 'gw', 'hyai', 'hyam', 'hybi'.  'hybm', 'lat_bnds',
+'lon_bnds', 'msk_*'.  These variables represent the Gaussian weights,
+the orography field, time fields, hybrid pressure coefficients, and
+latititude/longitude boundaries.  We call these fields non-coordinate
+"grid properties".  Coordinate grid properties are easy to identify
+because they are coordinate variables such as 'latitude' and
+'longitude'.
+
+   Users usually want _all_ grid properties to remain unaltered in the
+output file.  To be treated as a grid property, the variable name must
+_exactly_ match a name in the above list, or be a coordinate variable.
+The handling of 'msk_*' is exceptional in that _any_ variable name
+beginning with the string 'msk_' is considered to be a "mask" and is
+thus preserved (not operated on arithmetically).
+
+   You must spoof NCO if you would like any grid properties or other
+special CF fields processed normally.  For example rename the variables
+first with 'ncrename', or alter the 'Conventions' attribute.
+
+   As of NCO version 4.0.8 (April, 2011), NCO supports the CF 'bounds'
+convention for cell boundaries described here
+(http://cf-pcmdi.llnl.gov/documents/cf-conventions/1.6/cf-conventions.html#cell-boundaries).
+This convention allows coordinate variables (including multidimensional
+coordinates) to describe the boundaries of their cells.  This is done by
+naming the variable which contains the bounds in in the 'bounds'
+attribute.  Note that coordinates of rank N have bounds of rank N+1.
+NCO-generated subsets of CF-compliant files with 'bounds' attributes
+will include the coordinates specified by the 'bounds' attribute, if
+any.  Hence the subsets will themselves be CF-compliant.
+
+   As of NCO version 3.9.6 (January, 2009), NCO supports the CF
+'coordinates' convention described here
+(http://cf-pcmdi.llnl.gov/documents/cf-conventions/1.6/cf-conventions.html#coordinate-system).
+This convention allows variables to specify additional coordinates
+(including multidimensional coordinates) in a space-separated string
+attribute named 'coordinates'.  NCO attaches any such coordinates to the
+extraction list along with variable and its usual (one-dimensional)
+coordinates, if any.  These auxiliary coordinates are subject to the
+user-specified overrides described in *note Subsetting Coordinate
+Variables::.
+
+   As of NCO version 4.4.2 (February, 2014), NCO supports some of the CF
+'cell_methods' convention
+(http://cf-pcmdi.llnl.gov/documents/cf-conventions/1.7-draft1/cf-conventions.html#cell-methods)
+to describe the analysis procedures that have been applied to data.  The
+convention creates (or appends to an existing) 'cell_methods' attribute
+a space-separated list of couplets of the form DMN: OP where DMN is a
+comma-separated list of dimensions previously contained in the variable
+that have been reduced by the arithmetic operation OP.  For example, the
+'cell_methods' value 'time: mean' says that the variable in question was
+averaged over the 'time' dimension.  In such cases 'time' will either be
+a scalar variable or a degenerate dimension or coordinate.  This simply
+means that it has been averaged-over.  The value 'time, lon: mean lat:
+max' says that the variable in question is the maximum zonal mean of the
+time averaged original variable.  Which is to say that the variable was
+first averaged over time and longitude, and then the residual
+latitudinal array was reduced by choosing the maximum value.  Since the
+'cell methods' convention may alter metadata in an undesirable (or
+possibly incorrect) fashion, we provide switches to ensure it is always
+or never used.  Use long-options '--cll_mth' or '--cell_methods' to
+invoke the algorithm (true by default), and options '--no_cll_mth' or
+'--no_cell_methods' to turn it off.  These options are only available in
+the operators 'ncwa' and 'ncra'.
+
+   ---------- Footnotes ----------
+
+   (1) The exception is appending/altering the attributes 'x_op',
+'y_op', 'z_op', and 't_op' for variables which have been averaged across
+space and time dimensions.  This feature is scheduled for future
+inclusion in NCO.
+
+   (2) The CF conventions recommend 'time' be stored in the format TIME
+since BASE_TIME, e.g., the 'units' attribute of 'time' might be 'days
+since 1992-10-8 15:15:42.5 -6:00'.  A problem with this format occurs
+when using 'ncrcat' to concatenate multiple files, each with a different
+BASE_TIME.  That is, any 'time' values from files following the first
+file to be concatenated should be corrected to the BASE_TIME offset
+specified in the 'units' attribute of 'time' from the first file.  The
+analogous problem has been fixed in ARM files (*note ARM Conventions::)
+and could be fixed for CF files if there is sufficient lobbying.
+
+3.38 ARM Conventions
+====================
+
+Availability: 'ncrcat'
+Short options: None
+   'ncrcat' has been programmed to correctly handle data files which
+utilize the Atmospheric Radiation Measurement (ARM) Program convention
+(http://www.arm.gov/data/time.stm) for time and time offsets.  If you do
+not work with ARM data then you may skip this section.  ARM data files
+store time information in two variables, a scalar, 'base_time', and a
+record variable, 'time_offset'.  Subtle but serious problems can arise
+when these type of files are just blindly concatenated.  Therefore
+'ncrcat' has been specially programmed to be able to chain together
+consecutive ARM INPUT-FILES and produce and an OUTPUT-FILE which
+contains the correct time information.  Currently, 'ncrcat' determines
+whether a datafile is an ARM datafile simply by testing for the
+existence of the variables 'base_time', 'time_offset', and the dimension
+'time'.  If these are found in the INPUT-FILE then 'ncrcat' will
+automatically perform two non-standard, but hopefully useful,
+procedures.  First, 'ncrcat' will ensure that values of 'time_offset'
+appearing in the OUTPUT-FILE are relative to the 'base_time' appearing
+in the first INPUT-FILE (and presumably, though not necessarily, also
+appearing in the OUTPUT-FILE).  Second, if a coordinate variable named
+'time' is not found in the INPUT-FILES, then 'ncrcat' automatically
+creates the 'time' coordinate in the OUTPUT-FILE.  The values of 'time'
+are defined by the ARM conventions TIME = BASE_TIME + TIME_OFFSET.
+Thus, if OUTPUT-FILE contains the 'time_offset' variable, it will also
+contain the 'time' coordinate.  A short message is added to the
+'history' global attribute whenever these ARM-specific procedures are
+executed.
+
+3.39 Operator Version
+=====================
+
+Availability: All operators
+Short options: '-r'
+Long options: '--revision', '--version', or '--vrs'
+   All operators can be told to print their version information, library
+version, copyright notice, and compile-time configuration with the '-r'
+switch, or its long-option equivalent 'revision'.  The '--version' or
+'--vrs' switches print the operator version information only.  The
+internal version number varies between operators, and indicates the most
+recent change to a particular operator's source code.  This is useful in
+making sure you are working with the most recent operators.  The version
+of NCO you are using might be, e.g., '3.9.5'.  Using '-r' on, say,
+'ncks', produces something like 'NCO netCDF Operators version "3.9.5"
+last modified 2008/05/11 built May 12 2008 on neige by zender Copyright
+(C) 1995--2008 Charlie Zender ncks version 20090918'.  This tells you
+that 'ncks' contains all patches up to version '3.9.5', which dates from
+May 11, 2008.
+
+4 Operator Reference Manual
+***************************
+
+This chapter presents reference pages for each of the operators
+individually.  The operators are presented in alphabetical order.  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 *note Common features::, to avoid redundancy.  Only
+options specific to, or most useful with, a particular operator are
+described in any detail in the sections below.
+
+4.1 'ncap2' netCDF Arithmetic Processor
+=======================================
+
+'ncap2' understands a relatively full-featured language of operations,
+including loops, conditionals, arrays, and math functions.  'ncap2' is
+the most rapidly changing NCO operator and its documentation is
+incomplete.  The distribution file 'data/ncap2_tst.nco' contains an
+up-to-date overview of its syntax and capabilities.  The 'data/*.nco'
+distribution files (especially 'bin_cnt.nco', 'psd_wrf.nco', and
+'rgr.nco') contain in-depth examples of 'ncap2' solutions to complex
+problems.
+
+SYNTAX
+     ncap2 [-3] [-4] [-6] [-7] [-A] [-C] [-c]
+     [-D DBG] [-F] [-f] [-h] [--hdf] [--hdr_pad NBR] [-L DFL_LVL] [-l PATH]
+     [--no_tmp_fl] [-O] [-o OUTPUT-FILE] [-p PATH] [-R] [-r] [--ram_all]
+     [-s ALGEBRA] [-S FL.NCO] [-t THR_NBR] [-v]
+     INPUT-FILE [OUTPUT-FILE]
+
+DESCRIPTION
+
+   'ncap2' arithmetically processes netCDF files (1).  The processing
+instructions are contained either in the NCO script file 'fl.nco' or in
+a sequence of command line arguments.  The options '-s' (or long options
+'--spt' or '--script') are used for in-line scripts and '-S' (or long
+options '--fl_spt' or '--script-file') are used to provide the filename
+where (usually multiple) scripting commands are pre-stored.  'ncap2' was
+written to perform arbitrary algebraic transformations of data and
+archive the results as easily as possible.  *Note Missing Values::, for
+treatment of missing values.  The results of the algebraic manipulations
+are called "derived fields".
+
+   Unlike the other operators, 'ncap2' does not accept a list of
+variables to be operated on as an argument to '-v' (*note Subsetting
+Files::).  Rather, the '-v' switch takes no arguments and indicates that
+'ncap2' should output _only_ user-defined variables.  'ncap2' neither
+accepts nor understands the -X switch.  NB: As of 20120515, 'ncap2' is
+unable to append to files that already contain the appended dimensions.
+
+   Defining new variables in terms of existing variables is a powerful
+feature of 'ncap2'.  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
+exist), then it inherits the metadata (if any) of the left-most variable
+on the right hand side of the defining expression.  This metadata
+inheritance is called "attribute propagation".  Attribute propagation is
+intended to facilitate well-documented data analysis, and we welcome
+suggestions to improve this feature.
+
+   The only exception to this rule of attribute propagation is in cases
+of left hand casting (*note Left hand casting::).  The user must
+manually define the proper metadata for variables defined using left
+hand casting.
+
+   ---------- Footnotes ----------
+
+   (1) 'ncap2' is the successor to 'ncap' which was put into maintenance
+mode in November, 2006.  This documentation refers to 'ncap2', which has
+a superset of the 'ncap' functionality.  Eventually 'ncap' will be
+deprecated in favor 'ncap2'.  'ncap2' may be renamed 'ncap' in 2013.
+
+4.1.1 Syntax of 'ncap2' statements
+----------------------------------
+
+Mastering 'ncap2' is relatively simple.  Each valid statement STATEMENT
+consists of standard forward algebraic expression.  The 'fl.nco', if
+present, is simply a list of such statements, whitespace, and comments.
+The syntax of statements is most like the computer language C. The
+following characteristics of C are preserved:
+Array syntax
+     Arrays elements are placed within '[]' characters;
+Array indexing
+     Arrays are 0-based;
+Array storage
+     Last dimension is most rapidly varying;
+Assignment statements
+     A semi-colon ';' indicates the end of an assignment statement.
+Comments
+     Multi-line comments are enclosed within '/* */' characters.  Single
+     line comments are preceded by '//' characters.
+Nesting
+     Files may be nested in scripts using '#include SCRIPT'.  Note that
+     the '#include' command is not followed by a semi-colon because it
+     is a pre-processor directive, not an assignment statement.  The
+     filename 'script' is interpreted relative to the run directory.
+Attribute syntax
+     The at-sign '@' is used to delineate an attribute name from a
+     variable name.
+
+4.1.2 Expressions
+-----------------
+
+Expressions are the fundamental building block of 'ncap2'.  Expressions
+are composed of variables, numbers, literals, and attributes.  The
+following C operators are "overloaded" and work with scalars and
+multi-dimensional arrays:
+     Arithmetic Operators: * / % + - ^
+     Binary Operators:     > >= < <= == != == || && >> <<
+     Unary Operators:      + - ++ -- !
+     Conditional Operator: exp1 ? exp2 : exp3
+     Assign Operators:     = += -= /= *=
+
+   In the following section a "variable" also refers to a number literal
+which is read in as a scalar variable:
+
+   *Arithmetic and Binary Operators *
+
+   Consider _var1 'op' var2_
+
+   *Precision*
+   * When both operands are variables, the result has the precision of
+     the higher precision operand.
+   * When one operand is a variable and the other an attribute, the
+     result has the precision of the variable.
+   * When both operands are attributes, the result has the precision of
+     the more precise attribute.
+   * The exponentiation operator "^" is an exception to the above rules.
+     When both operands have type less than 'NC_FLOAT', the result is
+     'NC_FLOAT'.  When either type is 'NC_DOUBLE', the result is also
+     'NC_DOUBLE'.
+
+   *Rank*
+   * The Rank of the result is generally equal to Rank of the operand
+     that has the greatest number of dimensions.
+   * If the dimensions in var2 are a subset of the dimensions in var1
+     then its possible to make var2 conform to var1 through broadcasting
+     and or dimension reordering.
+   * Broadcasting a variable means creating data in non-existing
+     dimensions by copying data in existing dimensions.
+   * More specifically: If the numbers of dimensions in var1 is greater
+     than or equal to the number of dimensions in var2 then an attempt
+     is made to make var2 conform to var1 ,else var1 is made to conform
+     to var2.  If conformance is not possible then an error message will
+     be emitted and script execution will cease.
+
+Even though the logical operators return True(1) or False(0) they are
+treated in the same way as the arithmetic operators with regard to
+precision and rank.
+Examples:
+
+     dimensions: time=10, lat=2, lon=4
+     Suppose we have the two variables:
+
+     double  P(time,lat,lon);
+     float   PZ0(lon,lat);  // PZ0=1,2,3,4,5,6,7,8;
+
+     Consider now the expression:
+      PZ=P-PZ0
+
+     PZ0 is made to conform to P and the result is
+     PZ0 =
+        1,3,5,7,2,4,6,8,
+        1,3,5,7,2,4,6,8,
+        1,3,5,7,2,4,6,8,
+        1,3,5,7,2,4,6,8,
+        1,3,5,7,2,4,6,8,
+        1,3,5,7,2,4,6,8,
+        1,3,5,7,2,4,6,8,
+        1,3,5,7,2,4,6,8,
+        1,3,5,7,2,4,6,8,
+        1,3,5,7,2,4,6,8,
+
+     Once the expression is evaluated then PZ will be of type double;
+
+     Consider now
+      start=four-att_var at double_att;  // start =-69  and is of type intger;
+      four_pow=four^3.0f               // four_pow=64 and is of type float
+      three_nw=three_dmn_var_sht*1.0f; // type is now float
+      start at n1=att_var at short_att*att_var at int_att;
+                                       // start at n1=5329 and is type int
+
+*Binary Operators*
+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 the
+arithmetic operators.  When an expression is evaluated in an if() the
+missing values are treated as true.
+The binary operators are, in order of precedence:
+
+     !   Logical Not
+     ----------------------------
+     <<  Less Than Selection
+     >>  Greater Than Selection
+     ----------------------------
+     >   Greater than
+     >=  Greater than or equal to
+     <   Less than
+     <=  Less than or equal to
+     ----------------------------
+     ==  Equal to
+     !=  Not equal to
+     ----------------------------
+     &&  Logical AND
+     ----------------------------
+     ||  Logical OR
+     ----------------------------
+
+   To see all operators: *note Operator precedence and associativity::
+Examples:
+     tm1=time>2 && time <7;  // tm1=0, 0, 1, 1, 1, 1, 0, 0, 0, 0 double
+     tm2=time==3 || time>=6; // tm2=0, 0, 1, 0, 0, 1, 1, 1, 1, 1 double
+     tm3=int(!tm1);          // tm3=1, 1, 0, 0, 0, 0, 1, 1, 1, 1 int
+     tm4=tm1 && tm2;         // tm4=0, 0, 1, 0, 0, 1, 0, 0, 0, 0 double
+     tm5=!tm4;               // tm5=1, 1, 0, 1, 1, 0, 1, 1, 1, 1 double
+
+*Regular Assign Operator*
+_var1 '=' exp1_
+If var1 does not already exist in Output then var1 is written to Output
+with the values and dimensions from expr1.  If var1 already exists in
+Output, then the only requirement on expr1 is that the number of
+elements must match the number already on disk.  The type of expr1 is
+converted if necessary to the disk type.
+
+* Other Assign Operators +=,-=,*=./= *
+_var1 'ass_op' exp1 _
+if exp1 is a variable and it doesn't conform to var1 then an attempt is
+made to make it conform to var1.  If exp1 is an attribute it must have
+unity size or else have the same number of elements as var1.  If expr1
+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
+* 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;
+
+   Example:
+     n2=++four;   n2=5, four=5
+     n3=one--+20; n3=21  one=0;
+     n4=--time;   n4=time=0.,1.,2.,3.,4.,5.,6.,7.,8.,9.;
+
+*Conditional Operator ?: *
+_exp1 ?  exp2 : exp3 _
+The conditional operator (or ternary Operator) is a succinct way of
+writing an if/then/else.  If exp1 evaluates to true then exp2 is
+returned else exp3 is returned.
+
+   Example:
+     weight_avg=weight.avg();
+     weight_avg at units= (weight_avg == 1 ? "kilo" : "kilos");
+     PS_nw=PS-(PS.min() > 100000 ? 100000 : 0);
+
+*Clipping Operators*
+<< Less-than Clipping
+     For arrays, the less-than selection operator selects all values in
+     the left operand that are less than the corresponding value in the
+     right operand.  If the value of the left side is greater than or
+     equal to the corresponding value of the right side, then the right
+     side value is placed in the result
+>> Greater-than Clipping
+     For arrays, the greater-than selection operator selects all values
+     in the left operand that are greater than the corresponding value
+     in the right operand.  If the value of the left side is less than
+     or equal to the corresponding value of the right side, then the
+     right side value is placed in the result.
+
+   Example:
+     RDM2=RDM >> 100.0 // 100,100,100,100,126,126,100,100,100,100 double
+     RDM2=RDM <<  90s  // 1, 9, 36, 84, 90, 90, 84, 36, 9, 1 int
+
+4.1.3 Dimensions
+----------------
+
+Dimensions are defined in Output using the 'defdim()' function.
+     defdim("cnt",10);
+
+   This dimension name must then be prefixed with a dollar-sign '$' when
+referred to in method arguments or left-hand-casting, e.g.,
+     new_var[$cnt]=time;
+     temperature[$time,$lat,$lon]=35.5;
+     temp_avg=temperature.avg($time);
+
+   The 'size' method allows the dimension size to be used in an
+arithmetic expression:
+     time_avg=time.total() / $time.size;
+
+   Increase the size of a new variable by one and set new member to
+zero:
+     defdim("cnt_new",$cnt.size+1);
+     new_var[$cnt_new]=0.0;
+     new_var(0:($cnt_new.size-2))=old_var;
+
+*Dimension Abbreviations
+* It is possible to use dimension abbreviations as method arguments:
+'$0' is the first dimension of a variable
+'$1' is the second dimension of a variable
+'$n' is the n+1 dimension of a variable
+
+     float four_dmn_rec_var(time,lat,lev,lon);
+     double three_dmn_var_dbl(time,lat,lon);
+
+     four_nw=four_dmn_rev_var.reverse($time,$lon)
+     four_nw=four_dmn_rec_var.reverse($0,$3);
+
+     four_avg=four_dmn_rec_var.avg($lat,$lev);
+     four_avg=four_dmn_rec_var.avg($1,$2);
+
+     three_mw=three_dmn_var_dbl.permute($time,$lon,$lat);
+     three_mw=three_dmn_var_dbl.permute($0,$2,$1);
+
+*ID Quoting
+* If the dimension name contains non-regular characters use ID quoting.
+See *note ID Quoting::
+     defdim("a--list.A",10);
+     A1['$a--list.A']=30.0;
+
+*GOTCHA
+* It is not possible to manually define in Output any dimensions that
+exist in Input.  When a variable from Input appears in an expression or
+statement its dimensions in Input are automagically copied to Output (if
+they are not already present)
+
+4.1.4 Left hand casting
+-----------------------
+
+The following examples demonstrate the utility of the "left hand
+casting" ability of 'ncap2'.  Consider first this simple, artificial,
+example.  If LAT and LON are one dimensional coordinates of dimensions
+LAT and LON, respectively, then addition of these two one-dimensional
+arrays is intrinsically ill-defined because whether LAT_LON should be
+dimensioned LAT by LON or LON by LAT is ambiguous (assuming that
+addition is to remain a "commutative" procedure, i.e., one that does not
+depend on the order of its arguments).  Differing dimensions are said to
+be "orthogonal" to one another, and sets of dimensions which are
+mutually exclusive are orthogonal as a set and any arithmetic operation
+between variables in orthogonal dimensional spaces is ambiguous without
+further information.
+
+   The ambiguity may be resolved by enumerating the desired dimension
+ordering of the output expression inside square brackets on the left
+hand side (LHS) of the equals sign.  This is called "left hand casting"
+because the user resolves the dimensional ordering of the RHS of the
+expression by specifying the desired ordering on the LHS.
+     ncap2 -s 'lat_lon[lat,lon]=lat+lon' in.nc out.nc
+     ncap2 -s 'lon_lat[lon,lat]=lat+lon' in.nc out.nc
+   The explicit list of dimensions on the LHS, '[lat,lon]' resolves the
+otherwise ambiguous ordering of dimensions in LAT_LON.  In effect, the
+LHS "casts" its rank properties onto the RHS.  Without LHS casting, the
+dimensional ordering of LAT_LON would be undefined and, hopefully,
+'ncap2' would print an error message.
+
+   Consider now a slightly more complex example.  In geophysical models,
+a coordinate system based on a blend of terrain-following and
+density-following surfaces is called a "hybrid coordinate system".  In
+this coordinate system, four variables must be manipulated to obtain the
+pressure of the vertical coordinate: PO is the domain-mean surface
+pressure offset (a scalar), PS is the local (time-varying) surface
+pressure (usually two horizontal spatial dimensions, i.e.  latitude by
+longitude), HYAM is the weight given to surfaces of constant density
+(one spatial dimension, pressure, which is orthogonal to the horizontal
+dimensions), and HYBM is the weight given to surfaces of constant
+elevation (also one spatial dimension).  This command constructs a
+four-dimensional pressure 'prs_mdp' from the four input variables of
+mixed rank and orthogonality:
+     ncap2 -s 'prs_mdp[time,lat,lon,lev]=P0*hyam+PS*hybm' in.nc out.nc
+   Manipulating the four fields which define the pressure in a hybrid
+coordinate system is easy with left hand casting.
+
+4.1.5 Arrays and hyperslabs
+---------------------------
+
+Generating a regularly spaced one-dimensional array with 'ncap2' is
+simple with the 'array()' function.  The syntax is
+     var_out=array(val_srt,val_ncr,$dmn_nm); // One-dimensional output
+     var_out=array(val_srt,val_ncr,var_tpl); // Multi-dimensional output
+where the arguments are the starting value VAL_SRT, incremental value
+VAL_NCR, and, for one-dimensional output, the single dimension
+'$dmn_nm', or, for multi-dimensional output, a template variable
+'var_tpl', i.e., a variable with the same shape as the desired output.
+The type of 'var_out' will be the same as 'val_srt'.  Be sure to encode
+this type with the appropriate decimal point and floating point suffix
+when 'val_srt' is a "naked constant" rather than a variable.  For
+example, to produce an array of shorts (signed two-byte integers),
+integers (signed four-byte integers), unsigned 64-bit integers, floats,
+or doubles use
+     var_out=array(1s,val_ncr,$dmn_nm); // NC_SHORT array
+     var_out=array(1,val_ncr,$dmn_nm); // NC_INT array
+     var_out=array(1ull,val_ncr,$dmn_nm); // NC_UINT64 array
+     var_out=array(1f,val_ncr,$dmn_nm); // NC_FLOAT array
+     var_out=array(1.,val_ncr,$dmn_nm); // NC_DOUBLE array
+
+   Once the associated dimensions have been defined, the start and
+increment arguments may be supplied as values, mathmatical expressions,
+or variables:
+     var_out=array(1,1,$time); // 1,2,3,4,5,6,7,8,9,10
+     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
+
+   Hyperslabs in 'ncap2' are more limited than hyperslabs with the other
+NCO operators.  'ncap2' does not understand the shell command-line
+syntax used to specify multi-slabs, wrapped co-ordinates, negative
+stride or coordinate value limits.  However with a bit of syntactic
+magic they are all are possible.  'ncap2' accepts (in fact, it requires)
+N-hyperslab arguments for a variable of rank N:
+     var1(arg1,arg2 ... argN);
+   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 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
+hyperslab arguments MUST equal the variable's rank.
+
+*Hyperslabs on the Right Hand Side of an assign
+*
+
+   A simple 1D example:
+     ($time.size=10)
+     od[$time]={20,22,24,26,28,30,32,34,36,38};
+
+     od(7);     // 34
+     od(7:);    // 34,36,38
+     od(:7);    // 20,22,24,26,28,30,32,34
+     od(::4);   // 20,28,36
+     od(1:6:2)  // 22,26,30
+     od(:)      // 20,22,24,26,28,30,32,34,36,38
+
+   A more complex three dimensional example:
+     ($lat.size=2,$lon.size=4)
+     th[$time,$lat,$lon]=
+                               {1, 2, 3, 4, 5, 6, 7, 8,
+                               9,10,11,12,13,14,15,16,
+                               17,18,19,20,21,22,23,24,
+                               -99,-99,-99,-99,-99,-99,-99,-99,
+                               33,34,35,36,37,38,39,40,
+                               41,42,43,44,45,46,47,48,
+                               49,50,51,52,53,54,55,56,
+                               -99,58,59,60,61,62,63,64,
+                               65,66,67,68,69,70,71,72,
+                               -99,74,75,76,77,78,79,-99 };
+
+     th(1,1,3);        // 16
+     th(2,0,:);        // 17, 18, 19, 20
+     th(:,1,3);        // 8, 16, 24, -99, 40, 48, 56, 64, 72, -99
+     th(::5,:,0:3:2); // 1, 3, 5, 7, 41, 43, 45, 47
+
+   If hyperslab arguments collapse to a single value (a cross-section
+has been specified), then that dimension is removed from the returned
+variable.  If all the values collapse then a scalar variable is
+returned.  So, for example, the following is valid:
+     th_nw=th(0,:,:)+th(9,:,:);
+     // th_nw has dimensions $lon,$lat
+     // NB: the time dimension has become degenerate
+
+   The following is invalid:
+     th_nw=th(0,:,0:1)+th(9,:,0:1);
+   because the '$lon' dimension now only has two elements.  The above
+can be calculated by using a LHS cast with '$lon_nw' as replacement dim
+for '$lon':
+     defdim("lon_nw",2);
+     th_nw[$lat,$lon_nw]=th(0,:,0:1) +th(9,:,0:1);
+
+*Hyperslabs on the Left Hand Side of an assign
+* When hyperslabing on the LHS, the expression on the RHS must evaluate
+to a scalar or a variable/attribute with the same number of elements as
+the LHS hyperslab.  Set all elements of the last record to zero:
+     th(9,:,:)=0.0;
+   Set first element of each lon element to 1.0:
+     th(:,:,0)=1.0;
+   One may hyperslab on both sides of an assign.  For example, this sets
+the last record to the first record:
+     th(9,:,:)=th(0,:,:);
+   Say TH0 represents pressure at height=0 and TH1 represents pressure
+at height=1.  Then it is possible to insert these hyperslabs into the
+records
+     prs[$time,$height,$lat,$lon]=0.0;
+     prs(:,0,:,:)=th0;
+     prs(:,1,:,:)=th1
+
+*Reverse method*
+Use the 'reverse()' method to reverse a dimension's elements in a
+variable with at least one dimension.  This is equivalent to a negative
+stride, e.g.,
+     th_rv=th(1 ,:,:).reverse($lon); // {12,11,10,9 }, {16,15,14,13}
+     od_rv=od.reverse($time);        // {38,36,34,32,30,28,26,24,22,20}
+
+*Permute method*p
+Use the 'permute()' method to swap the dimensions of a variable.  The
+number and names of dimension arguments must match the dimensions in the
+variable.  If the first dimension in the variable is of record type then
+this must remain the first dimension.  If you want to change the record
+dimension then consider using 'ncpdq'.
+
+   Consider the variable:
+     float three_dmn_var(lat,lev,lon);
+     three_dmn_var_prm=three_dmn_var.permute($lon,$lat,$lev);
+     // The permuted values are
+     three_dmn_var_prm=
+       0,4,8,
+       12,16,20,
+       1,5,9,
+       13,17,21,
+       2,6,10,
+       14,18,22,
+       3,7,11,
+       15,19,23;
+
+4.1.6 Attributes
+----------------
+
+Attributes are referred to by _var_nm at att_nm_
+All the following are valid statements:
+     global at text="Test Attributes"; /* Assign a global variable attribute */
+     a1[$time]=time*20;
+     a1 at long_name="Kelvin";
+     a1 at min=a1.min();
+     a1 at max=a1.max();
+     a1 at min++;
+     --a1 at max; q
+     a1(0)=a1 at min;
+     a1($time.size-1)=a1 at max;
+
+   A _value list_ can be used on the RHS of an assign...
+     a1 at trip1={1,2,3} ;
+     a1 at triplet={a1 at min,(a1 at min+a1@max)/2,a1 at max};
+   The netCDF specification allows all attribute types to have a size
+greater than one.  The maximum is defined by 'NC_MAX_ATTRS'.  The
+following is an 'ncdump' of the metadata for variable A1
+     double a1(time) ;
+       a1:long_name = "Kelvin" ;
+       a1:max = 199. ;
+       a1:min = 21. ;
+       a1:trip1 = 1, 2, 3 ;
+       a1:triplet = 21., 110., 199. ;
+
+   The 'size()' method can be used with attributes.  For example, to
+save an attribute text string in a variable,
+     defdim("sng_len", a1 at long_name.size());
+     sng_arr[$sng_len]=a1 at long_name; // sng_arr now contains "Kelvin"
+   Attributes defined in a script are stored in memory and are written
+to Output after script completion.  To stop the attribute being written
+use the ram_delete() method or use a bogus variable name.
+
+*Attribute Propagation and Inheritance*
+   * 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
+
+   * Attribute Inheritance: The LHS variable "inherits" attributes from
+     an Input variable with the same name
+
+   * It is possible to have a regular assign statement for which both
+     propagation and inheritance occur.
+
+     // prs_mdp inherits attributes from P0:
+     prs_mdp[time,lat,lon,lev]=P0*hyam+hybm*PS;
+     // th_min inherits attributes from three_dmn_var_dbl:
+     th_min=1.0 + 2*three_dmn_var_dbl.min($time);
+
+   If the attribute name contains non-regular characters use ID quoting.
+See *note ID Quoting::
+     'b..m1 at c--lost'=23;
+
+4.1.7 Number literals
+---------------------
+
+The table below lists the postfix character(s) to add to a number
+literal for type cohesion.  To use the new netCDF4 types NCO must be
+compiled/linked to the netCDF4 library and the output file must be HDF5.
+
+     n1[$time]=1UL; // n1 will now by type NC_UINT
+     n2[$lon]=4b;   // n2 will be of type NC_BYTE
+     n3[$lat]=5ull; // n3 will be of type NC_UINT64
+     n3 at a1=6.0d;   // attribute will be type NC_DOUBLE
+     n3 at a2=-666L;  // attribute will be type NC_INT
+
+   A floating point number without a postfix will default to
+'NC_DOUBLE'.  An integer without a postfix will default to type
+'NC_INT'.  There is no postfix for characters, use a quoted string
+instead.
+     n4[$rlev]=0.1      // n4 will be of type NC_DOUBLE
+     n5[$lon_grd]=2.0   // n5 will be of type NC_DOUBLE
+     n6[$gds_crd]=2e3;  // n6 will be of type NC_DOUBLE
+     n7[$gds_crd]=2e3f;  // n7 will be of type NC_FLOAT
+     n6 at a1=41;         // attribute will be type NC_INT
+     n6 at a2=-21;        // attribute will be type NC_INT
+     n6 at units="kelvin" // attribute will be type NC_CHAR
+
+*netCDF3/4 Types*
+b|B
+     'NC_BYTE', a signed 1-byte integer
+none
+     'NC_CHAR', an ISO/ASCII character
+s|S
+     'NC_SHORT', a signed 2-byte integer
+l|L
+     'NC_INT', a signed 4-byte integer
+f|F
+     'NC_FLOAT', a single-precision (4-byte) floating point number
+d|D
+     'NC_DOUBLE', a double-precision (8-byte) floating point number
+*netCDF4 Types*
+ub|UB
+     'NC_UBYTE', an unsigned 1-byte integer
+us|US
+     'NC_USHORT', an unsigned 2-byte integer
+u|U|ul|UL
+     'NC_UINT', an unsigned 4-byte integer
+ll|LL
+     'NC_INT64', a signed 8-byte integer
+ull|ULL
+     'NC_UINT64', an unsigned 8-byte integer
+
+4.1.8 if statement
+------------------
+
+The syntax of the if statement is similar to its C counterpart.  The
+_Conditional Operator (ternary operator)_ has also been implemented.
+     if(exp1)
+        stmt1;
+     else if(exp2)
+        stmt2;
+     else
+        stmt3;
+
+     # Can use code blocks as well:
+     if(exp1){
+        stmt1;
+        stmt1a;
+        stmt1b;
+     } else if(exp2)
+        stmt2;
+     else {
+        stmt3;
+        stmt3a;
+        stmt3b;
+     }
+
+For a variable or attribute expression to be logically true all its
+non-missing value elements must be logically true, i.e., non-zero.  The
+expression can be of any type.  Unlike C there is no short-circuiting of
+an expression with the OR ('||') and AND ('&&') operators.  The whole
+expression is evaluated regardless if one of the AND/OR operands are
+True/False.
+     # Simple example
+     if(time>0)
+       print("All values of time are greater than zero\n");
+     else if( time<0)
+       print("All values of time are less than zero\n");
+     else {
+       time_max=time.max();
+       time_min=time.min();
+       print("min value of time=");print(time_min,"%f");
+       print("max value of time=");print(time_max,"%f");
+     }
+
+     # Example from ddra.nco
+     if(fl_typ==fl_typ_gcm){
+       var_nbr_apx=32;
+       lmn_nbr=1.0*var_nbr_apx*varsz_gcm_4D; /* [nbr] Variable size */
+       if(nco_op_typ==nco_op_typ_avg){
+         lmn_nbr_avg=1.0*var_nbr_apx*varsz_gcm_4D; // Block size
+         lmn_nbr_wgt=dmnsz_gcm_lat; /* [nbr] Weight size */
+       } // !nco_op_typ_avg
+     }else if(fl_typ==fl_typ_stl){
+       var_nbr_apx=8;
+       lmn_nbr=1.0*var_nbr_apx*varsz_stl_2D; /* [nbr] Variable size */
+       if(nco_op_typ==nco_op_typ_avg){
+         lmn_nbr_avg=1.0*var_nbr_apx*varsz_stl_2D; // Block size
+         lmn_nbr_wgt=dmnsz_stl_lat; /* [nbr] Weight size */
+       } // !nco_op_typ_avg
+     } // !fl_typ
+
+*Conditional Operator
+*
+     // netCDF4 needed for this example
+     th_nw=(three_dmn_var_sht >= 0 ? three_dmn_var_sht.uint() : \
+            three_dmn_var_sht.int());
+
+4.1.9 print statement
+---------------------
+
+     print(variable_name/attribute name/string, format string);
+
+The print function takes a variable name or attribute name or a quoted
+string and prints the contents in a in a similar fashion to 'ncks -H'.
+There is also an optional C-language style format string argument.
+Currently the print function cannot print RAM variables or expressions
+such as ''print(var_msk*3+4)''.  To print an expression, first evaluate
+it as a non-RAM variable (so it will be saved and can be printed), and
+then print the variable.
+
+examples
+     print(lon);
+     lon[0]=0
+     lon[1]=90
+     lon[2]=180
+     lon[3]=270
+
+     print(lon_2D_rrg,"%3.2f,");
+     0.00,0.00,180.00,0.00,180.00,0.00,180.00,0.00,
+
+     print(mss_val_fst at _FillValue);
+     mss_val_fst at _FillValue, size = 1 NC_FLOAT, value = -999
+
+     print("This function \t is monotonic\n");
+     This function is 	  monotonic
+
+4.1.10 Missing values ncap2
+---------------------------
+
+Missing values operate slightly differently in 'ncap2' Consider the
+expression where op is any of the following operators (excluding '=')
+     Arithmetic operators ( * / % + - ^ )
+     Binary Operators     ( >, >= <, <= ==, !=,==,||,&&, >>,<< )
+     Assign Operators     ( +=,-=,/=, *= )
+
+     var1 'op' var2
+
+If var1 has a missing value then this is the value used in the
+operation, otherwise the missing value for var2 is used.  If during the
+element-by-element operation an element from either operand is equal to
+the missing value then the missing value is carried through.  In this
+way missing values 'percolate' or propagate through an expression.
+Missing values associated with Output variables are stored in memory and
+are written to disk after the script finishes.  During script execution
+its possible (and legal) for the missing value of a variable to take on
+several different values.
+     # Consider the variable:
+     int rec_var_int_mss_val_int(time); =-999,2,3,4,5,6,7,8,-999,-999;
+     rec_var_int_mss_val_int:_FillValue = -999;
+
+     n2=rec_var_int_mss_val_int + rec_var_int_mss_val_int.reverse($time);
+
+     n2=-999,-999,11,11,11,11,11,11,999,-999;
+
+   The following methods manipulate missing value information associated
+with a variable.  They only work on variables in Output.
+'set_miss(expr)'
+     The numeric argument EXPR becomes the new missing value,
+     overwriting the old missing value, if any.  The argument given is
+     converted if necessary to the variable type.  NB: This only changes
+     the missing value attribute. Missing values in the original
+     variable remain unchanged, and thus are no long considered missing
+     values.  They are "orphaned".  Thus 'set_miss()' is normally used
+     only when creating new variables.  The intrinsic function
+     'change_miss()' (see below) is typically used to edit values of
+     existing variables.
+'change_miss(expr)'
+     Sets or changes (any pre-existing) missing value attribute and
+     missing data values to EXPR. NB: This is an expensive function
+     since all values must be examined. Use this function when changing
+     missing values for pre-existing variables.
+'get_miss()'
+     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.
+'delete_miss()'
+     Deletes the missing value associated with a variable.
+'number_miss()'
+     Counts the number of missing values a variable contains.
+
+     th=three_dmn_var_dbl;
+     th.change_miss(-1e10d);
+     /* Set values less than 0 or greater than 50 to missing value */
+     where(th < 0.0 || th > 50.0) th=th.get_miss();
+
+     # Another example:
+     new[$time,$lat,$lon]=1.0;
+     new.set_miss(-997.0);
+
+     // Extract only elements divisible by 3
+     where (three_dmn_var_dbl%3 == 0)
+          new=three_dmn_var_dbl;
+     elsewhere
+          new=new.get_miss();
+
+     // Print missing value and variable summary
+     mss_val_nbr=three_dmn_var_dbl.number_miss();
+     print(three_dmn_var_dbl at _FillValue);
+     print("Number of missing values in three_dmn_var_dbl: ");
+     print(mss_val_nbr,"%d");
+     print(three_dmn_var_dbl);
+
+4.1.11 Methods and functions
+----------------------------
+
+The convention within this document is that methods can be used as
+functions.  However, functions are not and cannot be used as methods.
+Methods can be daisy-chained d and their syntax is cleaner than
+functions.  Method names are reserved words and CANNOT be used as
+variable names.  The command 'ncap2 -f' shows the complete list of
+methods available on your build.
+     n2=sin(theta)
+     n2=theta.sin()
+     n2=sin(theta)^2 + cos(theta)^2
+     n2=theta.sin().pow(2) + theta.cos()^2
+
+   This statement chains together methods to convert three_dmn_var_sht
+to type double, average it, then convert this back to type short:
+     three_avg=three_dmn_var_sht.double().avg().short();
+
+
+*Aggregate Methods
+* These methods mirror the averaging types available in 'ncwa'.  The
+arguments to the methods are the dimensions to average over.  Specifying
+no dimensions is equivalent to specifying all dimensions i.e., averaging
+over all dimensions.  A masking variable and a weighting variable can be
+manually created and applied as needed.
+
+'avg()'
+     Mean value
+'sqravg()'
+     Square of the mean
+'avgsqr()'
+     Mean of sum of squares
+'max()'
+     Maximum value
+'min()'
+     Minimum value
+'rms()'
+     Root-mean-square (normalize by N)
+'rmssdn()'
+     Root-mean square (normalize by N-1)
+'ttl() or total()'
+     Sum of values
+
+     // Average a variable over time
+     four_time_avg=four_dmn_rec_var($time);
+
+
+* Packing Methods
+* For more information see *note Packed data:: and *note ncpdq netCDF
+Permute Dimensions Quickly::
+'pack() & pack_short()'
+     The default packing algorithm is applied and variable is packed to
+     'NC_SHORT'
+'pack_byte()'
+     Variable is packed to 'NC_BYTE'
+'pack_short()'
+     Variable is packed to 'NC_SHORT'
+'pack_int()'
+     Variable is packed to 'NC_INT'
+'unpack()'
+     The standard unpacking algorithm is applied.
+
+*Basic Methods
+* These methods work with variables and attributes.  They have no
+arguments
+
+'size()'
+     Total number of elements
+'ndims()'
+     Number of dimensions in variable
+'type()'
+     Returns the netcdf type (see previous section)
+
+
+*Utility Methods
+* These functions are used to manipulate missing values and RAM
+variables.  *note Missing values ncap2::
+
+'set_miss(expr)'
+     Takes one argument the missing value.  Sets or overwrites the
+     existing missing value.  The argument given is converted if
+     necessary to the variable type
+'change_miss(expr)'
+     Changes the missing value elements of the variable to the new
+     missing value (n.b.  an expensive function).
+'get_miss()'
+     Returns the missing value of a variable in Input or Output
+'delete_miss()'
+     Deletes the missing value associated with a variable.
+'ram_write()'
+     Writes a RAM variable to disk i.e., converts it to a regular disk
+     type variable
+'ram_delete()'
+     Deletes a RAM variable or an attribute
+
+
+*PDQ Methods
+* See *note ncpdq netCDF Permute Dimensions Quickly::
+'reverse(dim args)'
+     Reverses the dimension ordering of elements in a variable.
+'permute(dim args)'
+     Re-shapes variables by re-ordering the dimensions.  All the dims of
+     the variable must be specified in the arguments.  A limitation of
+     this permute (unlike ncpdq) is that the record dimension cannot be
+     re-assigned.
+   // Swap dimensions about and reorder along lon
+     lat_2D_rrg_new=lat_2D_rrg.permute($lon,$lat).reverse($lon);
+     lat_2D_rrg_new=0,90,-30,30,-30,30,-90,0
+
+
+*Type Conversion Methods
+* These methods allow 'ncap2' to convert variables and attributes to the
+different netcdf types.  For more details on automatic and manual type
+conversion see (*note Type Conversion::).  You can only use the new
+netCDF4 types if you have compiled/links NCO with the netCDF4 library
+and the Output file is HDF5.
+
+'*netCDF3/4 Types*'
+'byte()'
+     convert to 'NC_BYTE', a signed 1-byte integer
+'char()'
+     convert to 'NC_CHAR', an ISO/ASCII character
+'short()'
+     convert to 'NC_SHORT', a signed 2-byte integer
+'int()'
+     convert to 'NC_INT', a signed 4-byte integer
+'float()'
+     convert to 'NC_FLOAT', a single-precision (4-byte) floating point
+     number
+'double()'
+     convert to 'NC_DOUBLE', a double-precision (8-byte) floating point
+     number
+'*netCDF4 Types*'
+'ubyte()'
+     convert to 'NC_UBYTE', an unsigned 1-byte integer
+'ushort()'
+     convert to 'NC_USHORT', an unsigned 2-byte integer
+'uint()'
+     convert to 'NC_UINT', an unsigned 4-byte integer
+'int64()'
+     convert to 'NC_INT64', a signed 8-byte integer
+'uint64()'
+     convert to 'NC_UINT64', an unsigned 8-byte integer
+
+*Intrinsic Mathematical Methods
+* The list of mathematical methods is system dependant.  For the full
+list *note Intrinsic mathematical methods::
+
+   All the mathematical methods take a single argument except 'atan2()'
+and 'pow()' which take two.  If the operand type is less than _float_
+then the result will be of type _float_.  Arguments of type _double_
+yield results of type _double_.  Like the other methods, you are free to
+use the mathematical methods as functions.
+
+     n1=pow(2,3.0f)    // n1 type float
+     n2=atan2(2,3.0)   // n2 type double
+     n3=1/(three_dmn_var_dbl.cos().pow(2))-tan(three_dmn_var_dbl)^2; // n3 type double
+
+4.1.12 RAM variables
+--------------------
+
+Unlike regular variables, RAM variables are never written to disk.
+Hence using RAM variables in place of regular variables (especially
+within loops) significantly increases execution speed.  Variables that
+are frequently accessed within 'for' or 'where' clauses provide the
+greatest opportunities for optimization.  To declare and define a RAM
+variable simply prefix the variable name with an asterisk ('*') when the
+variable is declared/initialized.  To delete a RAM variables (and
+recover their memory) use the 'ram_delete()' method.  To write a RAM
+variable to disk (like a regular variable) use 'ram_write()'.
+     *temp[$time,$lat,$lon]=10.0;     // Cast
+     *temp_avg=temp.avg($time);      // Regular assign
+     temp.ram_delete();              // Delete RAM variable
+     temp_avg.ram_write();           // Write Variable to output
+
+     // Create and increment a RAM variable from "one" in Input
+     *one++;
+     // Create RAM variables from the variables three and four in Input.
+     // Multiply three by 10 and add it to four.
+     *four+=*three*=10; // three=30, four=34
+
+4.1.13 Where statement
+----------------------
+
+A 'where()' combines the definition and application of a mask all in one
+go and can lead to succinct code.  The full syntax of a 'where()'
+statement is as follows:
+
+     // Single assign (the 'elsewhere' block is optional)
+     where(mask)
+        var1=expr1;
+     elsewhere
+        var1=expr2;
+
+     // Multiple assigns
+     where(mask){
+         var1=expr1;
+         var2=expr2;
+         ...
+     }elsewhere{
+         var1=expr3
+         var2=expr4
+         var3=expr5;
+         ...
+     }
+
+   * The only expression allowed in the predicate of a where is assign,
+     i.e., 'var=expr'.  This assign differs from a regular 'ncap2'
+     assign.  The LHS var must already exist in Input or Output.  The
+     RHS expression must evaluate to a scalar or a variable/attribute of
+     the same size as the LHS variable.
+   * Consider when both the LHS and RHS are variables: For every element
+     where mask condition is True, the corresponding LHS variable
+     element is re-assigned to its partner element on the RHS. In the
+     elsewhere part the mask is logically inverted and the assign
+     process proceeds as before.
+   * If the mask dimensions are a subset of the LHS variable's
+     dimensions, then it is made to conform; if it cannot be made to
+     conform then script execution halts.
+   * Missing values in the mask evaluate to False in the where
+     code/block statement and to True in the elsewhere block/statement.
+     LHS variable elements set to missing value are not re-assigned.
+     For these reasons, do not explicitly reference missing values in
+     the masking condition, e.g., 'where(foo=foo.get_missing()) foo=1;'
+     will not work as expected.
+
+   Example: Consider the variables 'float lon_2D_rct(lat,lon);' and
+'float var_msk(lat,lon);'.  Suppose we wish to multiply by two the
+elements for which 'var_msk' equals 1:
+     where(var_msk==1) lon_2D_rct=2*lon_2D_rct;
+   Suppose that we have the variable 'int RDM(time)' and that we want to
+set its values less than 8 or greater than 80 to 0:
+     where(RDM < 8 || RDM > 80) RDM=0;
+
+   Consider irregularly gridded data, described using rank 2
+coordinates: 'double lat(south_north,east_west)', 'double
+lon(south_north,east_west)', 'double
+temperature(south_north,east_west)'.  To find the average temperature in
+a region bounded by [LAT_MIN,LAT_MAX] and [LON_MIN,LON_MAX]:
+     temperature_msk[$south_north,$east_west]=0.0;
+     where(lat >= lat_min && lat <= lat_max) && (lon >= lon_min && lon <= lon_max)
+       temperature_msk=temperature;
+     elsewhere
+       temperature_msk=temperature at _FillValue;
+
+     temp_avg=temperature_msk.avg();
+     temp_max=temperature.max();
+
+4.1.14 Loops
+------------
+
+'ncap2' supplies 'for()' loops and 'while()' loops.  They are completely
+unoptimized so use them only with RAM variables unless you want thrash
+your disk to death.  To break out of a loop use the 'break' command.  To
+iterate to the next cycle use the 'continue' command.
+
+     // Set elements in variable double temp(time,lat)
+     // If element < 0 set to 0, if element > 100 set to 100
+     *sz_idx=$time.size;
+     *sz_jdx=$lat.size;
+
+     for(*idx=0;idx<sz_idx;idx++)
+       for(*jdx=0;jdx<sz_jdx;jdx++)
+         if(temp(idx,jdx) > 100) temp(idx,jdx)=100.0;
+           else if(temp(idx,jdx) < 0) temp(idx,jdx)=0.0;
+
+     // Are values of co-ordinate variable double lat(lat) monotonic?
+     *sz=$lat.size;
+
+     for(*idx=1;idx<sz;idx++)
+       if(lat(idx)-lat(idx-1) < 0.0) break;
+
+     if(idx == sz) print("lat co-ordinate is monotonic\n");
+        else print("lat co-ordinate is NOT monotonic\n");
+
+     // Sum odd elements
+     *idx=0;
+     *sz=$lat_nw.size;
+     *sum=0.0;
+
+     while(idx<sz){
+       if(lat(idx)%2) sum+=lat(idx);
+       idx++;
+     }
+
+     ram_write(sum);
+     print("Total of odd elements ");print(sum);print("\n");
+
+4.1.15 Include files
+--------------------
+
+The syntax of an INCLUDE-FILE is:
+     #include "script.nco"
+   The script filename is searched relative to the run directory.  It is
+possible to nest include files to an arbitrary depth.  A handy use of
+inlcude files is to store often used constants.  Use RAM variables if
+you do not want these constants written to OUTPUT-FILE.
+     // script.nco
+     // Sample file to #include in ncap2 script
+     *pi=3.1415926535; // RAM variable, not written to output
+     *h=6.62607095e-34; // RAM variable, not written to output
+     e=2.71828; // Regular (disk) variable, written to output
+
+4.1.16 'sort' methods
+---------------------
+
+In ncap2 there are multiple ways to sort data.  Beginning with NCO 4.1.0
+(March, 2012), ncap2 support six sorting functions:
+     var_out=sort(var_in,&srt_map); // Ascending sort
+     var_out=asort(var_in,&srt_map); // Accending sort
+     var_out=dsort(var_in,&srt_map); // Desending sort
+     var_out=remap(var_in,srt_map); // Apply srt_map to var_in
+     var_out=unmap(var_in,srt_map); // Reverse what srt_map did to var_in
+     dsr_map=invert_map(srt_map); // Produce "de-sort" map that inverts srt_map
+   The first two functions, 'sort()' and 'asort()' sort, in ascending
+order, all the elements of VAR_IN (which can be a variable or attribute)
+without regard to any dimensions.  The third function, 'dsort()' does
+the same but sorts in descending order.  Remember that ascending and
+descending sorts are specified by 'asort()' and 'dsort()', respectively.
+
+   These three functions are overloaded to take a second, optional
+argument called the sort map SRT_MAP, which should be supplied as a
+call-by-reference variable, i.e., preceded with an ampersand.  If the
+sort map does not yet exist, then it will be created and returned as an
+integer type the same shape as the input variable.
+
+   The output VAR_OUT of each sort function is a sorted version of the
+input, VAR_IN.  The output VAR_OUT of the two mapping functions the
+result of applying (with 'remap()' or un-applying (with 'unmap()') the
+sort map SRT_MAP to the input VAR_IN.  To apply the sort map with
+'remap()' the size of the variable must be exactly divisible by the size
+of the sort map.
+
+   The final function 'invert_map()' returns the so-called de-sorting
+map DSR_MAP which is inverse map of the input map SRT_MAP.  This gives
+the user access to both the forward and inverse sorting maps which can
+be useful in special situations.
+     a1[$time]={10,2,3,4,6,5,7,3,4,1};
+     a1_sort=sort(a1);
+     print(a1_sort);
+     // 1, 2, 3, 3, 4, 4, 5, 6, 7, 10;
+
+     a2[$lon]={2,1,4,3};
+     a2_sort=sort(a2,&a2_map);
+     print(a2);
+     // 1, 2, 3, 4
+     print(a2_map);
+     // 1, 0, 3, 2;
+
+   If the map variable does not exist prior to the 'sort()' call, then
+it will be created with the same shape as the input variable and be of
+type 'NC_INT'.  If the map variable already exists, then the only
+restriction is that it be of at least the same size as the input
+variable.  To apply a map use 'remap(var_in,srt_map)'.
+     defdim("nlat",5);
+
+     a3[$lon]={2,5,3,7};
+     a4[$nlat,$lon]={
+      1, 2, 3, 4,
+      5, 6, 7, 8,
+      9,10,11,12,
+      13,14,15,16,
+      17,18,19,20};
+
+     a3_sort=sort(a3,&a3_map);
+     print(a3_map);
+     // 0, 2, 1, 3;
+
+     a4_sort=remap(a4,a3_map);
+     print(a4_sort);
+     // 1, 3, 2, 4,
+     // 5, 7, 6, 8,
+     // 9,11,10,12,
+     // 13,15,14,16,
+     // 17,19,18,20;
+
+     a3_map2[$nlat]={4,3,0,2,1};
+
+     a4_sort2=remap(a4,a3_map2);
+     print(a4_sort2);
+     // 3, 5, 4, 2, 1
+     // 8, 10, 9,7, 6,
+     // 13,15,14,12,11,
+     // 18,20,19,17,16
+   As in the above example you may create your own sort map.  To sort in
+descending order, apply the 'reverse()' method after the 'sort()'.
+
+   Here is an extended example of how to use 'ncap2' features to
+hyperslab an irregular region based on the values of a variable not a
+coordinate.  The distinction is crucial: hyperslabbing based on
+dimensional indices or coordinate values is straightforward.  Using the
+values of single or multi-dimensional variable to define a hyperslab is
+quite different.
+     cat > ~/ncap2_foo.nco << 'EOF'
+     // Purpose: Save irregular 1-D regions based on variable values
+
+     // Included in NCO User Guide at http://nco.sf.net/nco.html#sort
+
+     /* NB: Single quotes around EOF above turn off shell parameter
+         expansion in "here documents". This in turn prevents the
+         need for protecting dollarsign characters in NCO scripts with
+         backslashes when the script is cut-and-pasted (aka "moused")
+         from an editor or e-mail into a shell console window */
+
+     /* Copy coordinates and variable(s) of interest into RAM variable(s)
+        Benefits:
+        1. ncap2 defines writes all variables on LHS of expression to disk
+           Only exception is RAM variables, which are stored in RAM only
+           Repeated operations on regular variables takes more time,
+           because changes are written to disk copy after every change.
+           RAM variables are only changed in RAM so script works faster
+           RAM variables can be written to disk at end with ram_write()
+        2. Script permutes variables of interest during processing
+           Safer to work with copies that have different names
+           This discourages accidental, mistaken use of permuted versions
+        3. Makes this script a more generic template:
+           var_in instead of specific variable names everywhere */
+     *var_in=one_dmn_rec_var;
+     *crd_in=time;
+     *dmn_in_sz=$time.size; // [nbr] Size of input arrays
+
+     /* Create all other "intermediate" variables as RAM variables
+        to prevent them from cluttering the output file.
+        Mask flag and sort map are same size as variable of interest */
+     *msk_flg=var_in;
+     *srt_map=var_in;
+
+     /* In this example we mask for all values evenly divisible by 3
+        This is the key, problem-specific portion of the template
+        Replace this where() condition by that for your problem
+        Mask variable is Boolean: 1=Meets condition, 0=Fails condition */
+     where(var_in % 3 == 0) msk_flg=1; elsewhere msk_flg=0;
+
+     // print("msk_flg = ");print(msk_flg); // For debugging...
+
+     /* The sort() routine is overloaded, and takes one or two arguments
+        The second argument (optional) is the "sort map" (srt_map below)
+        Pass the sort map by reference, i.e., prefix with an ampersand
+        If the sort map does not yet exist, then it will be created and
+        returned as an integer type the same shape as the input variable.
+        The output of sort(), on the LHS, is a sorted version of the input
+        msk_flg is not needed in its original order after sort()
+        Hence we use msk_flg as both input to and output from sort()
+        Doing this prevents the need to define a new, unneeded variable */
+     msk_flg=sort(msk_flg,&srt_map);
+
+     // Count number of valid points in mask by summing the one's
+     *msk_nbr=msk_flg.total();
+
+     // Define output dimension equal in size to number of valid points
+     defdim("crd_out",msk_nbr);
+
+     /* Now sort the variable of interest using the sort map and remap()
+        The output, on the LHS, is the input re-arranged so that all points
+        meeting the mask condition are contiguous at the end of the array
+        Use same srt_map to hyperslab multiple variables of the same shape
+        Remember to apply srt_map to the coordinate variables */
+     crd_in=remap(crd_in,srt_map);
+     var_in=remap(var_in,srt_map);
+
+     /* Hyperslab last msk_nbr values of variable(s) of interest */
+     crd_out[crd_out]=crd_in((dmn_in_sz-msk_nbr):(dmn_in_sz-1));
+     var_out[crd_out]=var_in((dmn_in_sz-msk_nbr):(dmn_in_sz-1));
+
+     /* NB: Even though we created all variables possible as RAM variables,
+        the original coordinate of interest, time, is written to the ouput.
+        I'm not exactly sure why. For now, delete it from the output with:
+        ncks -O -x -v time ~/foo.nc ~/foo.nc
+        */
+     EOF
+     ncap2 -O -v -S ~/ncap2_foo.nco ~/nco/data/in.nc ~/foo.nc
+     ncks -O -x -v time ~/foo.nc ~/foo.nc
+     ncks ~/foo.nc
+
+   Here is an extended example of how to use 'ncap2' features to sort
+multi-dimensional arrays based on the coordinate values along a single
+dimension.
+     cat > ~/ncap2_foo.nco << 'EOF'
+     /* Purpose: Sort multi-dimensional array based on coordinate values
+        This example sorts the variable three_dmn_rec_var(time,lat,lon)
+        based on the values of the time coordinate. */
+
+     // Included in NCO User Guide at http://nco.sf.net/nco.html#sort
+
+     // Randomize the time coordinate
+     time=10.0*gsl_rng_uniform(time);
+     //print("original randomized time =\n");print(time);
+
+     /* The sort() routine is overloaded, and takes one or two arguments
+        The first argument is a one dimensional array
+        The second argument (optional) is the "sort map" (srt_map below)
+        Pass the sort map by reference, i.e., prefix with an ampersand
+        If the sort map does not yet exist, then it will be created and
+        returned as an integer type the same shape as the input variable.
+        The output of sort(), on the LHS, is a sorted version of the input */
+
+     time=sort(time,&srt_map);
+     //print("sorted time (ascending order) and associated sort map =\n");print(time);print(srt_map);
+
+     /* sort() always sorts in ascending order
+        The associated sort map therefore re-arranges the original,
+        randomized time array into ascending order.
+        There are two methods to obtain the descending order the user wants
+        1) We could solve the problem in ascending order (the default)
+        and then apply the reverse() method to re-arrange the results.
+        2) We could change the sort map to return things in descending
+        order of time and solve the problem directly in descending order. */
+
+     // Following shows how to do method one:
+
+     /* Expand the sort map to srt_map_3d, the size of the data array
+        1. Use data array to provide right shape for the expanded sort map
+        2. Coerce data array into an integer so srt_map_3d is an integer
+        3. Multiply data array by zero so 3-d map elements are all zero
+        4. Add the 1-d sort map to the 3-d sort map (NCO automatically resizes)
+        5. Add the spatial (lat,lon) offsets to each time index
+        6. de-sort using the srt_map_3d
+        7. Use reverse to obtain descending in time order
+        Loops could accomplish the same thing (exercise left for reader)
+        However, loops are slow for large datasets */
+
+     /* Following index manipulation requires understanding correspondence
+        between 1-d (unrolled, memory order of storage) and access into that
+        memory as a multidimensional (3-d, in this case) rectangular array.
+        Key idea to understand is how dimensionality affects offsets */
+     // Copy 1-d sort map into 3-d sort map
+     srt_map_3d=(0*int(three_dmn_rec_var))+srt_map;
+     // Multiply base offset by factorial of lesser dimensions
+     srt_map_3d*=$lat.size*$lon.size;
+     lon_idx=array(0,1,$lon);
+     lat_idx=array(0,1,$lat)*$lon.size;
+     lat_lon_idx[$lat,$lon]=lat_idx+lon_idx;
+     srt_map_3d+=lat_lon_idx;
+
+     print("sort map 3d =\n");print(srt_map_3d);
+
+     // Use remap() to re-map the data
+     three_dmn_rec_var=remap(three_dmn_rec_var,srt_map_3d);
+
+     // Finally, reverse data so time coordinate is descending
+     time=time.reverse($time);
+     //print("sorted time (descending order) =\n");print(time);
+     three_dmn_rec_var=three_dmn_rec_var.reverse($time);
+
+     // Method two: Key difference is srt_map=$time.size-srt_map-1;
+     EOF
+     ncap2 -O -v -S ~/ncap2_foo.nco ~/nco/data/in.nc ~/foo.nc
+
+4.1.17 Irregular Grids
+----------------------
+
+NCO is capable of analyzing datasets for many different underlying
+coordinate grid types.  netCDF was developed for and initially used with
+grids comprised of orthogonal dimensions forming a rectangular
+coordinate system.  We call such grids _standard_ grids.  It is
+increasingly common for datasets to use metadata to describe much more
+complex grids.  Let us first define three important coordinate grid
+properties: rectangularity, regularity, and fxm.
+
+   Grids are _regular_ if the spacing between adjacent is constant.  For
+example, a 4-by-5 degree latitude-longitude grid is regular because the
+spacings between adjacent latitudes (4 degrees) are constant as are the
+(5 degrees) spacings between adjacent longitudes.  Spacing in
+_irregular_ grids depends on the location along the coordinate.  Grids
+such as Gaussian grids have uneven spacing in latitude (points cluster
+near the equator) and so are irregular.
+
+   Grids are _rectangular_ if the number of elements in any dimension is
+not a function of any other dimension.  For example, a T42 Gaussian
+latitude-longitude grid is rectangular because there are the same number
+of longitudes (128) for each of the (64) latitudes.  Grids are
+_non-rectangular_ if the elements in any dimension depend on another
+dimension.  Non-rectangular grids present many special challenges to
+analysis software like NCO.
+
+   Wrapped coordinates (*note Wrapped Coordinates::), such as longitude,
+are independent of these grid properties (regularity, rectangularity).
+
+   The preferred NCO technique to analyze data on non-standard
+coordinate grids is to create a region mask with 'ncap2', and then to
+use the mask within 'ncap2' for variable-specific processing, and/or
+with other operators (e.g., 'ncwa', 'ncdiff') for entire file
+processing.
+
+   Before describing the construction of masks, let us review how
+irregularly gridded geoscience data are described.  Say that latitude
+and longitude are stored as R-dimensional arrays and the product of the
+dimension sizes is the total number of elements N in the other
+variables.  Geoscience applications tend to use R=1, R=2, and R=3.
+
+   If the grid is has no simple representation (e.g., discontinuous)
+then it makes sense to store all coordinates as 1D arrays with the same
+size as the number of grid points.  These gridpoints can be completely
+independent of all the other (own weight, area, etc.).
+
+   R=1: lat(number_of_gridpoints) and lon(number_of_gridpoints)
+
+   If the horizontal grid is time-invariant then R=2 is common:
+
+   R=2: lat(south_north,east_west) and lon(south_north,east_west)
+
+   The Weather and Research Forecast (WRF) model uses R=3:
+
+   R=3: lat(time,south_north,east_west), lon(time,south_north,east_west)
+
+   and so supports grids that change with time.
+
+   Grids with R > 1 often use missing values to indicated empty points.
+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 missing
+values into the unused points near the poles.
+
+   We demonstrate the 'ncap2' analysis technique for irregular regions
+by constructing a mask for an R=2 grid.  We wish to find, say, the mean
+temperature within [LAT_MIN,LAT_MAX] and [LON_MIN,LON_MAX]:
+     ncap2 -s 'mask_var= (lat >= lat_min && lat <= lat_max) && \
+                         (lon >= lon_min && lon <= lon_max);' in.nc out.nc
+   Arbitrarily shaped regions can be defined by more complex conditional
+statements.  Once defined, masks can be applied to specific variables,
+and to entire files:
+     ncap2 -s 'temperature_avg=(temperature*mask_var).avg()' in.nc out.nc
+     ncwa -a lat,lon -m mask_var -w area in.nc out.nc
+   Crafting such commands on the command line is possible though
+unwieldy.  In such cases, a script is often cleaner and allows you to
+document the procedure:
+     cat > ncap2.in << 'EOF'
+     mask_var = (lat >= lat_min && lat <= lat_max) && (lon >= lon_min && > lon <= lon_max);
+     if(mask_var.total() > 0){ // Check that mask contains some valid values
+       temperature_avg=(temperature*mask_var).avg(); // Average temperature
+       temperature_max=(temperature*mask_var).max(); // Maximum temperature
+     }
+     EOF
+     ncap2 -S ncap2.in in.nc out.nc
+
+   Grids like those produced by the WRF model are complex because one
+must use global metadata to determine the grid staggering and offsets to
+translate 'XLAT' and 'XLONG' into real latitudes, longitudes, and
+missing points.  The WRF grid documentation should describe this.  For
+WRF files creating regional masks looks like
+     mask_var = (XLAT >= lat_min && XLAT <= lat_max) && (XLONG >= lon_min && XLONG <= lon_max);
+
+   A few notes: Irregular regions are the union of arrays
+lat/lon_min/max's.  The mask procedure is identical for all R.
+
+4.1.18 Bilinear interpolation
+-----------------------------
+
+As of version 4.0.0 NCO has internal routines to perform bilinear
+interpolation on gridded data sets.  In mathematics, bilinear
+interpolation is an extension of linear interpolation for interpolating
+functions of two variables on a regular grid.  The idea is to perform
+linear interpolation first in one direction, and then again in the other
+direction.
+
+   Suppose we have an irregular grid of data 'temperature[lat,lon]',
+with co-ordinate vars 'lat[lat], lon[lon]'.  We wish to find the
+temperature at an arbitary point [X,Y] within the grid.  If we can
+locate lat_min,lat_max and lon_min,lon_max such that 'lat_min <= X <=
+lat_max' and 'lon_min <= Y <= lon_max' then we can interpolate in two
+dimensions the temperature at [X,Y].
+
+   The general form of the 'ncap2' interpolation function is
+     var_out=bilinear_interp(grid_in,grid_out,grid_out_x,grid_out_y,grid_in_x,grid_in_y)
+   where
+'grid_in'
+     Input function data.  Usually a two dimensional variable.  It must
+     be of size 'grid_in_x.size()*grid_in_y.size()'
+'grid_out'
+     This variable is the shape of 'var_out'.  Usually a two dimensional
+     variable.  It must be of size 'grid_out_x.size()*grid_out_y.size()'
+'grid_out_x'
+     X output values
+'grid_out_y'
+     Y output values
+'grid_in_x'
+     X input values values.  Must be monotonic (increasing or
+     decreasing).
+'grid_in_y'
+     Y input values values.  Must be monotonic (increasing or
+     decreasing).
+Prior to calculations all arguments are converted to type 'NC_DOUBLE'.
+After calculations 'var_out' is converted to the input type of
+'grid_in'.
+
+   Suppose the first part of an 'ncap2' script is
+     defdim("X",4);
+     defdim("Y",5);
+
+     // Temperature
+     T_in[$X,$Y]=
+      {100, 200, 300, 400, 500,
+       101, 202, 303, 404, 505,
+       102, 204, 306, 408, 510,
+       103, 206, 309, 412, 515.0 };
+
+     // Coordinate variables
+     x_in[$X]={0.0,1.0,2.0,3.01};
+     y_in[$Y]={1.0,2.0,3.0,4.0,5};
+   Now we interpolate with the following variables:
+     defdim("Xn",3);
+     defdim("Yn",4);
+     T_out[$Xn,$Yn]=0.0;
+     x_out[$Xn]={0.0,0.02,3.01};
+     y_out[$Yn]={1.1,2.0,3,4};
+
+     var_out=bilinear_interp(T_in,T_out,x_out,y_out,x_in,y_in);
+     print(var_out);
+     // 110, 200, 300, 400,
+     // 110.022, 200.04, 300.06, 400.08,
+     // 113.3, 206, 309, 412 ;
+
+   It is possible to interpolate a single point:
+     var_out=bilinear_interp(T_in,0.0,3.0,4.99,x_in,y_in);
+     print(var_out);
+     // 513.920594059406
+
+*Wrapping and Extrapolation*
+The function 'bilinear_interp_wrap()' takes the same arguments as
+'bilinear_interp()' but performs wrapping (Y) and extrapolation (X) for
+points off the edge of the grid.  If the given range of longitude is say
+(25-335) and we have a point at 20 degrees, then the endpoints of the
+range are used for the interpolation.  This is what wrapping means.  For
+wrapping to occur Y must be longitude and must be in the range (0,360)
+or (-180,180).  There are no restrictions on the longitude (X) values,
+though typically these are in the range (-90,90).  This 'ncap2' script
+illustrates both wrapping and extrapolation of end points:
+     defdim("lat_in",6);
+     defdim("lon_in",5);
+
+     // Coordinate input vars
+     lat_in[$lat_in]={-80,-40,0,30,60.0,85.0};
+     lon_in[$lon_in]={30, 110, 190, 270, 350.0};
+
+     T_in[$lat_in,$lon_in]=
+       {10,40,50,30,15,
+         12,43,52,31,16,
+         14,46,54,32,17,
+         16,49,56,33,18,
+         18,52,58,34,19,
+         20,55,60,35,20.0 };
+
+     defdim("lat_out",4);
+     defdim("lon_out",3);
+
+     // Coordinate variables
+     lat_out[$lat_out]={-90,0,70,88.0};
+     lon_out[$lon_out]={0,190,355.0};
+
+     T_out[$lat_out,$lon_out]=0.0;
+
+     T_out=bilinear_interp_wrap(T_in,T_out,lat_out,lon_out,lat_in,lon_in);
+     print(T_out);
+     // 13.4375, 49.5, 14.09375,
+     // 16.25, 54, 16.625,
+     // 19.25, 58.8, 19.325,
+     // 20.15, 60.24, 20.135 ;
+
+4.1.19 GSL special functions
+----------------------------
+
+As of version 3.9.6 (released January, 2009), NCO can link to the GNU
+Scientific Library (GSL).  'ncap2' can access most GSL special functions
+including Airy, Bessel, error, gamma, beta, hypergeometric, and Legendre
+functions and elliptical integrals.  GSL must be version 1.4 or later.
+To list the GSL functions available with your NCO build, use 'ncap2 -f |
+grep ^gsl'.
+
+The function names used by ncap2 mirror their GSL names.  The NCO
+wrappers for GSL functions automatically call the error-handling version
+of the GSL function when available (1).  This allows NCO to return a
+missing value when the GSL library encounters a domain error or a
+floating point exception.  The slow-down due to calling the
+error-handling version of the GSL numerical functions was found to be
+negligible (please let us know if you find otherwise).
+
+Consider the gamma function.
+The GSL function prototype is
+'int gsl_sf_gamma_e(const double x, gsl_sf_result * result)' The 'ncap2'
+script would be:
+     lon_in[lon]={-1,0.1,0,2,0.3};
+     lon_out=gsl_sf_gamma(lon_in);
+     lon_out= _, 9.5135, 4.5908, 2.9915
+
+The first value is set to '_FillValue' since the gamma function is
+undefined for negative integers.  If the input variable has a missing
+value then this value is used.  Otherwise, the default double fill value
+is used (defined in the netCDF header 'netcdf.h' as 'NC_FILL_DOUBLE =
+9.969e+36').
+
+Consider a call to a Bessel function with GSL prototype
+'int gsl_sf_bessel_Jn_e(int n, double x, gsl_sf_result * result)'
+
+   An 'ncap2' script would be
+     lon_out=gsl_sf_bessel_Jn(2,lon_in);
+     lon_out=0.11490, 0.0012, 0.00498, 0.011165
+   This computes the Bessel function of order N=2 for every value in
+'lon_in'.  The Bessel order argument, an integer, can also be a
+non-scalar variable, i.e., an array.
+     n_in[lon]={0,1,2,3};
+     lon_out=gsl_sf_bessel_Jn(n_in,0.5);
+     lon_out= 0.93846, 0.24226, 0.03060, 0.00256
+
+Arguments to GSL wrapper functions in 'ncap2' must conform to one
+another, i.e., they must share the same sub-set of dimensions.  For
+example: 'three_out=gsl_sf_bessel_Jn(n_in,three_dmn_var_dbl)' is valid
+because the variable 'three_dmn_var_dbl' has a LON dimension, so 'n_in'
+in can be broadcast to conform to 'three_dmn_var_dbl'.  However
+'time_out=gsl_sf_bessel_Jn(n_in,time)' is invalid.
+
+   Consider the elliptical integral with prototype 'int
+gsl_sf_ellint_RD_e(double x, double y, double z, gsl_mode_t mode,
+gsl_sf_result * result)'
+     three_out=gsl_sf_ellint_RD(0.5,time,three_dmn_var_dbl);
+
+The three arguments are all conformable so the above 'ncap2' call is
+valid.  The mode argument in the function prototype controls the
+convergence of the algorithm.  It also appears in the Airy Function
+prototypes.  It can be set by defining the environment variable
+'GSL_PREC_MODE'.  If unset it defaults to the value 'GSL_PREC_DOUBLE'.
+See the GSL manual for more details.
+     export GSL_PREC_MODE=0 // GSL_PREC_DOUBLE
+     export GSL_PREC_MODE=1 // GSL_PREC_SINGLE
+     export GSL_PREC_MODE=2 // GSL_PREC_APPROX
+
+The 'ncap2' wrappers to the array functions are slightly different.
+Consider the following GSL prototype
+'int gsl_sf_bessel_Jn_array(int nmin, int nmax, double x, double
+*result_array)'
+     b1=lon.double();
+     x=0.5;
+     status=gsl_sf_bessel_Jn_array(1,4,x,&b1);
+     print(status);
+     b1=0.24226,0.0306,0.00256,0.00016;
+This calculates the Bessel function of X=0.5 for N=1 to 4.  The first
+three arguments are scalar values.  If a non-scalar variable is supplied
+as an argument then only the first value is used.  The final argument is
+the variable where the results are stored (NB: the '&' indicates this is
+a call by reference).  This final argument must be of type 'double' and
+must be of least size NMAX-NMIN+1.  If either of these conditions is not
+met then then the function returns an error message.  The
+function/wrapper returns a status flag.  Zero indicates success.
+
+Consider another array function
+'int gsl_sf_legendre_Pl_array( int lmax, double x, double
+*result_array);'
+     a1=time.double();
+     x=0.3;
+     status=gsl_sf_legendre_Pl_array(a1.size()-1, x,&a1);
+     print(status);
+This call calculates P_L(0.3) for L=0..9.  Note that |X|<=1, otherwise
+there will be a domain error.  See the GSL documentation for more
+details.
+
+The GSL functions implemented in NCO are listed in the table below.
+This table is correct for GSL version 1.10.  To see what functions are
+available on your build run the command 'ncap2 -f |grep ^gsl' .  To see
+this table along with the GSL C-function prototypes look at the
+spreadsheet *doc/nco_gsl.ods*.
+
+
+*GSL NAME*                *I*  *NCAP FUNCTION CALL*
+gsl_sf_airy_Ai_e          Y    gsl_sf_airy_Ai(dbl_expr)
+gsl_sf_airy_Bi_e          Y    gsl_sf_airy_Bi(dbl_expr)
+gsl_sf_airy_Ai_scaled_e   Y    gsl_sf_airy_Ai_scaled(dbl_expr)
+gsl_sf_airy_Bi_scaled_e   Y    gsl_sf_airy_Bi_scaled(dbl_expr)
+gsl_sf_airy_Ai_deriv_e    Y    gsl_sf_airy_Ai_deriv(dbl_expr)
+gsl_sf_airy_Bi_deriv_e    Y    gsl_sf_airy_Bi_deriv(dbl_expr)
+gsl_sf_airy_Ai_deriv_scaled_eY gsl_sf_airy_Ai_deriv_scaled(dbl_expr)
+gsl_sf_airy_Bi_deriv_scaled_eY gsl_sf_airy_Bi_deriv_scaled(dbl_expr)
+gsl_sf_airy_zero_Ai_e     Y    gsl_sf_airy_zero_Ai(uint_expr)
+gsl_sf_airy_zero_Bi_e     Y    gsl_sf_airy_zero_Bi(uint_expr)
+gsl_sf_airy_zero_Ai_deriv_eY   gsl_sf_airy_zero_Ai_deriv(uint_expr)
+gsl_sf_airy_zero_Bi_deriv_eY   gsl_sf_airy_zero_Bi_deriv(uint_expr)
+gsl_sf_bessel_J0_e        Y    gsl_sf_bessel_J0(dbl_expr)
+gsl_sf_bessel_J1_e        Y    gsl_sf_bessel_J1(dbl_expr)
+gsl_sf_bessel_Jn_e        Y    gsl_sf_bessel_Jn(int_expr,dbl_expr)
+gsl_sf_bessel_Jn_array    Y    status=gsl_sf_bessel_Jn_array(int,int,double,&var_out)
+gsl_sf_bessel_Y0_e        Y    gsl_sf_bessel_Y0(dbl_expr)
+gsl_sf_bessel_Y1_e        Y    gsl_sf_bessel_Y1(dbl_expr)
+gsl_sf_bessel_Yn_e        Y    gsl_sf_bessel_Yn(int_expr,dbl_expr)
+gsl_sf_bessel_Yn_array    Y    gsl_sf_bessel_Yn_array
+gsl_sf_bessel_I0_e        Y    gsl_sf_bessel_I0(dbl_expr)
+gsl_sf_bessel_I1_e        Y    gsl_sf_bessel_I1(dbl_expr)
+gsl_sf_bessel_In_e        Y    gsl_sf_bessel_In(int_expr,dbl_expr)
+gsl_sf_bessel_In_array    Y    status=gsl_sf_bessel_In_array(int,int,double,&var_out)
+gsl_sf_bessel_I0_scaled_e Y    gsl_sf_bessel_I0_scaled(dbl_expr)
+gsl_sf_bessel_I1_scaled_e Y    gsl_sf_bessel_I1_scaled(dbl_expr)
+gsl_sf_bessel_In_scaled_e Y    gsl_sf_bessel_In_scaled(int_expr,dbl_expr)
+gsl_sf_bessel_In_scaled_arrayY staus=gsl_sf_bessel_In_scaled_array(int,int,double,&var_out)
+gsl_sf_bessel_K0_e        Y    gsl_sf_bessel_K0(dbl_expr)
+gsl_sf_bessel_K1_e        Y    gsl_sf_bessel_K1(dbl_expr)
+gsl_sf_bessel_Kn_e        Y    gsl_sf_bessel_Kn(int_expr,dbl_expr)
+gsl_sf_bessel_Kn_array    Y    status=gsl_sf_bessel_Kn_array(int,int,double,&var_out)
+gsl_sf_bessel_K0_scaled_e Y    gsl_sf_bessel_K0_scaled(dbl_expr)
+gsl_sf_bessel_K1_scaled_e Y    gsl_sf_bessel_K1_scaled(dbl_expr)
+gsl_sf_bessel_Kn_scaled_e Y    gsl_sf_bessel_Kn_scaled(int_expr,dbl_expr)
+gsl_sf_bessel_Kn_scaled_arrayY status=gsl_sf_bessel_Kn_scaled_array(int,int,double,&var_out)
+gsl_sf_bessel_j0_e        Y    gsl_sf_bessel_J0(dbl_expr)
+gsl_sf_bessel_j1_e        Y    gsl_sf_bessel_J1(dbl_expr)
+gsl_sf_bessel_j2_e        Y    gsl_sf_bessel_j2(dbl_expr)
+gsl_sf_bessel_jl_e        Y    gsl_sf_bessel_jl(int_expr,dbl_expr)
+gsl_sf_bessel_jl_array    Y    status=gsl_sf_bessel_jl_array(int,double,&var_out)
+gsl_sf_bessel_jl_steed_arrayY  gsl_sf_bessel_jl_steed_array
+gsl_sf_bessel_y0_e        Y    gsl_sf_bessel_Y0(dbl_expr)
+gsl_sf_bessel_y1_e        Y    gsl_sf_bessel_Y1(dbl_expr)
+gsl_sf_bessel_y2_e        Y    gsl_sf_bessel_y2(dbl_expr)
+gsl_sf_bessel_yl_e        Y    gsl_sf_bessel_yl(int_expr,dbl_expr)
+gsl_sf_bessel_yl_array    Y    status=gsl_sf_bessel_yl_array(int,double,&var_out)
+gsl_sf_bessel_i0_scaled_e Y    gsl_sf_bessel_I0_scaled(dbl_expr)
+gsl_sf_bessel_i1_scaled_e Y    gsl_sf_bessel_I1_scaled(dbl_expr)
+gsl_sf_bessel_i2_scaled_e Y    gsl_sf_bessel_i2_scaled(dbl_expr)
+gsl_sf_bessel_il_scaled_e Y    gsl_sf_bessel_il_scaled(int_expr,dbl_expr)
+gsl_sf_bessel_il_scaled_arrayY status=gsl_sf_bessel_il_scaled_array(int,double,&var_out)
+gsl_sf_bessel_k0_scaled_e Y    gsl_sf_bessel_K0_scaled(dbl_expr)
+gsl_sf_bessel_k1_scaled_e Y    gsl_sf_bessel_K1_scaled(dbl_expr)
+gsl_sf_bessel_k2_scaled_e Y    gsl_sf_bessel_k2_scaled(dbl_expr)
+gsl_sf_bessel_kl_scaled_e Y    gsl_sf_bessel_kl_scaled(int_expr,dbl_expr)
+gsl_sf_bessel_kl_scaled_arrayY status=gsl_sf_bessel_kl_scaled_array(int,double,&var_out)
+gsl_sf_bessel_Jnu_e       Y    gsl_sf_bessel_Jnu(dbl_expr,dbl_expr)
+gsl_sf_bessel_Ynu_e       Y    gsl_sf_bessel_Ynu(dbl_expr,dbl_expr)
+gsl_sf_bessel_sequence_Jnu_eN  gsl_sf_bessel_sequence_Jnu
+gsl_sf_bessel_Inu_scaled_eY    gsl_sf_bessel_Inu_scaled(dbl_expr,dbl_expr)
+gsl_sf_bessel_Inu_e       Y    gsl_sf_bessel_Inu(dbl_expr,dbl_expr)
+gsl_sf_bessel_Knu_scaled_eY    gsl_sf_bessel_Knu_scaled(dbl_expr,dbl_expr)
+gsl_sf_bessel_Knu_e       Y    gsl_sf_bessel_Knu(dbl_expr,dbl_expr)
+gsl_sf_bessel_lnKnu_e     Y    gsl_sf_bessel_lnKnu(dbl_expr,dbl_expr)
+gsl_sf_bessel_zero_J0_e   Y    gsl_sf_bessel_zero_J0(uint_expr)
+gsl_sf_bessel_zero_J1_e   Y    gsl_sf_bessel_zero_J1(uint_expr)
+gsl_sf_bessel_zero_Jnu_e  N    gsl_sf_bessel_zero_Jnu
+gsl_sf_clausen_e          Y    gsl_sf_clausen(dbl_expr)
+gsl_sf_hydrogenicR_1_e    N    gsl_sf_hydrogenicR_1
+gsl_sf_hydrogenicR_e      N    gsl_sf_hydrogenicR
+gsl_sf_coulomb_wave_FG_e  N    gsl_sf_coulomb_wave_FG
+gsl_sf_coulomb_wave_F_arrayN   gsl_sf_coulomb_wave_F_array
+gsl_sf_coulomb_wave_FG_arrayN  gsl_sf_coulomb_wave_FG_array
+gsl_sf_coulomb_wave_FGp_arrayN gsl_sf_coulomb_wave_FGp_array
+gsl_sf_coulomb_wave_sphF_arrayNgsl_sf_coulomb_wave_sphF_array
+gsl_sf_coulomb_CL_e       N    gsl_sf_coulomb_CL
+gsl_sf_coulomb_CL_array   N    gsl_sf_coulomb_CL_array
+gsl_sf_coupling_3j_e      N    gsl_sf_coupling_3j
+gsl_sf_coupling_6j_e      N    gsl_sf_coupling_6j
+gsl_sf_coupling_RacahW_e  N    gsl_sf_coupling_RacahW
+gsl_sf_coupling_9j_e      N    gsl_sf_coupling_9j
+gsl_sf_coupling_6j_INCORRECT_eNgsl_sf_coupling_6j_INCORRECT
+gsl_sf_dawson_e           Y    gsl_sf_dawson(dbl_expr)
+gsl_sf_debye_1_e          Y    gsl_sf_debye_1(dbl_expr)
+gsl_sf_debye_2_e          Y    gsl_sf_debye_2(dbl_expr)
+gsl_sf_debye_3_e          Y    gsl_sf_debye_3(dbl_expr)
+gsl_sf_debye_4_e          Y    gsl_sf_debye_4(dbl_expr)
+gsl_sf_debye_5_e          Y    gsl_sf_debye_5(dbl_expr)
+gsl_sf_debye_6_e          Y    gsl_sf_debye_6(dbl_expr)
+gsl_sf_dilog_e            N    gsl_sf_dilog
+gsl_sf_complex_dilog_xy_e N    gsl_sf_complex_dilog_xy_e
+gsl_sf_complex_dilog_e    N    gsl_sf_complex_dilog
+gsl_sf_complex_spence_xy_eN    gsl_sf_complex_spence_xy_e
+gsl_sf_multiply_e         N    gsl_sf_multiply
+gsl_sf_multiply_err_e     N    gsl_sf_multiply_err
+gsl_sf_ellint_Kcomp_e     Y    gsl_sf_ellint_Kcomp(dbl_expr)
+gsl_sf_ellint_Ecomp_e     Y    gsl_sf_ellint_Ecomp(dbl_expr)
+gsl_sf_ellint_Pcomp_e     Y    gsl_sf_ellint_Pcomp(dbl_expr,dbl_expr)
+gsl_sf_ellint_Dcomp_e     Y    gsl_sf_ellint_Dcomp(dbl_expr)
+gsl_sf_ellint_F_e         Y    gsl_sf_ellint_F(dbl_expr,dbl_expr)
+gsl_sf_ellint_E_e         Y    gsl_sf_ellint_E(dbl_expr,dbl_expr)
+gsl_sf_ellint_P_e         Y    gsl_sf_ellint_P(dbl_expr,dbl_expr,dbl_expr)
+gsl_sf_ellint_D_e         Y    gsl_sf_ellint_D(dbl_expr,dbl_expr,dbl_expr)
+gsl_sf_ellint_RC_e        Y    gsl_sf_ellint_RC(dbl_expr,dbl_expr)
+gsl_sf_ellint_RD_e        Y    gsl_sf_ellint_RD(dbl_expr,dbl_expr,dbl_expr)
+gsl_sf_ellint_RF_e        Y    gsl_sf_ellint_RF(dbl_expr,dbl_expr,dbl_expr)
+gsl_sf_ellint_RJ_e        Y    gsl_sf_ellint_RJ(dbl_expr,dbl_expr,dbl_expr,dbl_expr)
+gsl_sf_elljac_e           N    gsl_sf_elljac
+gsl_sf_erfc_e             Y    gsl_sf_erfc(dbl_expr)
+gsl_sf_log_erfc_e         Y    gsl_sf_log_erfc(dbl_expr)
+gsl_sf_erf_e              Y    gsl_sf_erf(dbl_expr)
+gsl_sf_erf_Z_e            Y    gsl_sf_erf_Z(dbl_expr)
+gsl_sf_erf_Q_e            Y    gsl_sf_erf_Q(dbl_expr)
+gsl_sf_hazard_e           Y    gsl_sf_hazard(dbl_expr)
+gsl_sf_exp_e              Y    gsl_sf_exp(dbl_expr)
+gsl_sf_exp_e10_e          N    gsl_sf_exp_e10
+gsl_sf_exp_mult_e         Y    gsl_sf_exp_mult(dbl_expr,dbl_expr)
+gsl_sf_exp_mult_e10_e     N    gsl_sf_exp_mult_e10
+gsl_sf_expm1_e            Y    gsl_sf_expm1(dbl_expr)
+gsl_sf_exprel_e           Y    gsl_sf_exprel(dbl_expr)
+gsl_sf_exprel_2_e         Y    gsl_sf_exprel_2(dbl_expr)
+gsl_sf_exprel_n_e         Y    gsl_sf_exprel_n(int_expr,dbl_expr)
+gsl_sf_exp_err_e          Y    gsl_sf_exp_err(dbl_expr,dbl_expr)
+gsl_sf_exp_err_e10_e      N    gsl_sf_exp_err_e10
+gsl_sf_exp_mult_err_e     N    gsl_sf_exp_mult_err
+gsl_sf_exp_mult_err_e10_e N    gsl_sf_exp_mult_err_e10
+gsl_sf_expint_E1_e        Y    gsl_sf_expint_E1(dbl_expr)
+gsl_sf_expint_E2_e        Y    gsl_sf_expint_E2(dbl_expr)
+gsl_sf_expint_En_e        Y    gsl_sf_expint_En(int_expr,dbl_expr)
+gsl_sf_expint_E1_scaled_e Y    gsl_sf_expint_E1_scaled(dbl_expr)
+gsl_sf_expint_E2_scaled_e Y    gsl_sf_expint_E2_scaled(dbl_expr)
+gsl_sf_expint_En_scaled_e Y    gsl_sf_expint_En_scaled(int_expr,dbl_expr)
+gsl_sf_expint_Ei_e        Y    gsl_sf_expint_Ei(dbl_expr)
+gsl_sf_expint_Ei_scaled_e Y    gsl_sf_expint_Ei_scaled(dbl_expr)
+gsl_sf_Shi_e              Y    gsl_sf_Shi(dbl_expr)
+gsl_sf_Chi_e              Y    gsl_sf_Chi(dbl_expr)
+gsl_sf_expint_3_e         Y    gsl_sf_expint_3(dbl_expr)
+gsl_sf_Si_e               Y    gsl_sf_Si(dbl_expr)
+gsl_sf_Ci_e               Y    gsl_sf_Ci(dbl_expr)
+gsl_sf_atanint_e          Y    gsl_sf_atanint(dbl_expr)
+gsl_sf_fermi_dirac_m1_e   Y    gsl_sf_fermi_dirac_m1(dbl_expr)
+gsl_sf_fermi_dirac_0_e    Y    gsl_sf_fermi_dirac_0(dbl_expr)
+gsl_sf_fermi_dirac_1_e    Y    gsl_sf_fermi_dirac_1(dbl_expr)
+gsl_sf_fermi_dirac_2_e    Y    gsl_sf_fermi_dirac_2(dbl_expr)
+gsl_sf_fermi_dirac_int_e  Y    gsl_sf_fermi_dirac_int(int_expr,dbl_expr)
+gsl_sf_fermi_dirac_mhalf_eY    gsl_sf_fermi_dirac_mhalf(dbl_expr)
+gsl_sf_fermi_dirac_half_e Y    gsl_sf_fermi_dirac_half(dbl_expr)
+gsl_sf_fermi_dirac_3half_eY    gsl_sf_fermi_dirac_3half(dbl_expr)
+gsl_sf_fermi_dirac_inc_0_eY    gsl_sf_fermi_dirac_inc_0(dbl_expr,dbl_expr)
+gsl_sf_lngamma_e          Y    gsl_sf_lngamma(dbl_expr)
+gsl_sf_lngamma_sgn_e      N    gsl_sf_lngamma_sgn
+gsl_sf_gamma_e            Y    gsl_sf_gamma(dbl_expr)
+gsl_sf_gammastar_e        Y    gsl_sf_gammastar(dbl_expr)
+gsl_sf_gammainv_e         Y    gsl_sf_gammainv(dbl_expr)
+gsl_sf_lngamma_complex_e  N    gsl_sf_lngamma_complex
+gsl_sf_taylorcoeff_e      Y    gsl_sf_taylorcoeff(int_expr,dbl_expr)
+gsl_sf_fact_e             Y    gsl_sf_fact(uint_expr)
+gsl_sf_doublefact_e       Y    gsl_sf_doublefact(uint_expr)
+gsl_sf_lnfact_e           Y    gsl_sf_lnfact(uint_expr)
+gsl_sf_lndoublefact_e     Y    gsl_sf_lndoublefact(uint_expr)
+gsl_sf_lnchoose_e         N    gsl_sf_lnchoose
+gsl_sf_choose_e           N    gsl_sf_choose
+gsl_sf_lnpoch_e           Y    gsl_sf_lnpoch(dbl_expr,dbl_expr)
+gsl_sf_lnpoch_sgn_e       N    gsl_sf_lnpoch_sgn
+gsl_sf_poch_e             Y    gsl_sf_poch(dbl_expr,dbl_expr)
+gsl_sf_pochrel_e          Y    gsl_sf_pochrel(dbl_expr,dbl_expr)
+gsl_sf_gamma_inc_Q_e      Y    gsl_sf_gamma_inc_Q(dbl_expr,dbl_expr)
+gsl_sf_gamma_inc_P_e      Y    gsl_sf_gamma_inc_P(dbl_expr,dbl_expr)
+gsl_sf_gamma_inc_e        Y    gsl_sf_gamma_inc(dbl_expr,dbl_expr)
+gsl_sf_lnbeta_e           Y    gsl_sf_lnbeta(dbl_expr,dbl_expr)
+gsl_sf_lnbeta_sgn_e       N    gsl_sf_lnbeta_sgn
+gsl_sf_beta_e             Y    gsl_sf_beta(dbl_expr,dbl_expr)
+gsl_sf_beta_inc_e         N    gsl_sf_beta_inc
+gsl_sf_gegenpoly_1_e      Y    gsl_sf_gegenpoly_1(dbl_expr,dbl_expr)
+gsl_sf_gegenpoly_2_e      Y    gsl_sf_gegenpoly_2(dbl_expr,dbl_expr)
+gsl_sf_gegenpoly_3_e      Y    gsl_sf_gegenpoly_3(dbl_expr,dbl_expr)
+gsl_sf_gegenpoly_n_e      N    gsl_sf_gegenpoly_n
+gsl_sf_gegenpoly_array    Y    gsl_sf_gegenpoly_array
+gsl_sf_hyperg_0F1_e       Y    gsl_sf_hyperg_0F1(dbl_expr,dbl_expr)
+gsl_sf_hyperg_1F1_int_e   Y    gsl_sf_hyperg_1F1_int(int_expr,int_expr,dbl_expr)
+gsl_sf_hyperg_1F1_e       Y    gsl_sf_hyperg_1F1(dbl_expr,dbl_expr,dbl_expr)
+gsl_sf_hyperg_U_int_e     Y    gsl_sf_hyperg_U_int(int_expr,int_expr,dbl_expr)
+gsl_sf_hyperg_U_int_e10_e N    gsl_sf_hyperg_U_int_e10
+gsl_sf_hyperg_U_e         Y    gsl_sf_hyperg_U(dbl_expr,dbl_expr,dbl_expr)
+gsl_sf_hyperg_U_e10_e     N    gsl_sf_hyperg_U_e10
+gsl_sf_hyperg_2F1_e       Y    gsl_sf_hyperg_2F1(dbl_expr,dbl_expr,dbl_expr,dbl_expr)
+gsl_sf_hyperg_2F1_conj_e  Y    gsl_sf_hyperg_2F1_conj(dbl_expr,dbl_expr,dbl_expr,dbl_expr)
+gsl_sf_hyperg_2F1_renorm_eY    gsl_sf_hyperg_2F1_renorm(dbl_expr,dbl_expr,dbl_expr,dbl_expr)
+gsl_sf_hyperg_2F1_conj_renorm_eYgsl_sf_hyperg_2F1_conj_renorm(dbl_expr,dbl_expr,dbl_expr,dbl_expr)
+gsl_sf_hyperg_2F0_e       Y    gsl_sf_hyperg_2F0(dbl_expr,dbl_expr,dbl_expr)
+gsl_sf_laguerre_1_e       Y    gsl_sf_laguerre_1(dbl_expr,dbl_expr)
+gsl_sf_laguerre_2_e       Y    gsl_sf_laguerre_2(dbl_expr,dbl_expr)
+gsl_sf_laguerre_3_e       Y    gsl_sf_laguerre_3(dbl_expr,dbl_expr)
+gsl_sf_laguerre_n_e       Y    gsl_sf_laguerre_n(int_expr,dbl_expr,dbl_expr)
+gsl_sf_lambert_W0_e       Y    gsl_sf_lambert_W0(dbl_expr)
+gsl_sf_lambert_Wm1_e      Y    gsl_sf_lambert_Wm1(dbl_expr)
+gsl_sf_legendre_Pl_e      Y    gsl_sf_legendre_Pl(int_expr,dbl_expr)
+gsl_sf_legendre_Pl_array  Y    status=gsl_sf_legendre_Pl_array(int,double,&var_out)
+gsl_sf_legendre_Pl_deriv_arrayNgsl_sf_legendre_Pl_deriv_array
+gsl_sf_legendre_P1_e      Y    gsl_sf_legendre_P1(dbl_expr)
+gsl_sf_legendre_P2_e      Y    gsl_sf_legendre_P2(dbl_expr)
+gsl_sf_legendre_P3_e      Y    gsl_sf_legendre_P3(dbl_expr)
+gsl_sf_legendre_Q0_e      Y    gsl_sf_legendre_Q0(dbl_expr)
+gsl_sf_legendre_Q1_e      Y    gsl_sf_legendre_Q1(dbl_expr)
+gsl_sf_legendre_Ql_e      Y    gsl_sf_legendre_Ql(int_expr,dbl_expr)
+gsl_sf_legendre_Plm_e     Y    gsl_sf_legendre_Plm(int_expr,int_expr,dbl_expr)
+gsl_sf_legendre_Plm_array Y    status=gsl_sf_legendre_Plm_array(int,int,double,&var_out)
+gsl_sf_legendre_Plm_deriv_arrayNgsl_sf_legendre_Plm_deriv_array
+gsl_sf_legendre_sphPlm_e  Y    gsl_sf_legendre_sphPlm(int_expr,int_expr,dbl_expr)
+gsl_sf_legendre_sphPlm_arrayY  status=gsl_sf_legendre_sphPlm_array(int,int,double,&var_out)
+gsl_sf_legendre_sphPlm_deriv_arrayNgsl_sf_legendre_sphPlm_deriv_array
+gsl_sf_legendre_array_sizeN    gsl_sf_legendre_array_size
+gsl_sf_conicalP_half_e    Y    gsl_sf_conicalP_half(dbl_expr,dbl_expr)
+gsl_sf_conicalP_mhalf_e   Y    gsl_sf_conicalP_mhalf(dbl_expr,dbl_expr)
+gsl_sf_conicalP_0_e       Y    gsl_sf_conicalP_0(dbl_expr,dbl_expr)
+gsl_sf_conicalP_1_e       Y    gsl_sf_conicalP_1(dbl_expr,dbl_expr)
+gsl_sf_conicalP_sph_reg_e Y    gsl_sf_conicalP_sph_reg(int_expr,dbl_expr,dbl_expr)
+gsl_sf_conicalP_cyl_reg_e Y    gsl_sf_conicalP_cyl_reg(int_expr,dbl_expr,dbl_expr)
+gsl_sf_legendre_H3d_0_e   Y    gsl_sf_legendre_H3d_0(dbl_expr,dbl_expr)
+gsl_sf_legendre_H3d_1_e   Y    gsl_sf_legendre_H3d_1(dbl_expr,dbl_expr)
+gsl_sf_legendre_H3d_e     Y    gsl_sf_legendre_H3d(int_expr,dbl_expr,dbl_expr)
+gsl_sf_legendre_H3d_array N    gsl_sf_legendre_H3d_array
+gsl_sf_legendre_array_sizeN    gsl_sf_legendre_array_size
+gsl_sf_log_e              Y    gsl_sf_log(dbl_expr)
+gsl_sf_log_abs_e          Y    gsl_sf_log_abs(dbl_expr)
+gsl_sf_complex_log_e      N    gsl_sf_complex_log
+gsl_sf_log_1plusx_e       Y    gsl_sf_log_1plusx(dbl_expr)
+gsl_sf_log_1plusx_mx_e    Y    gsl_sf_log_1plusx_mx(dbl_expr)
+gsl_sf_mathieu_a_array    N    gsl_sf_mathieu_a_array
+gsl_sf_mathieu_b_array    N    gsl_sf_mathieu_b_array
+gsl_sf_mathieu_a          N    gsl_sf_mathieu_a
+gsl_sf_mathieu_b          N    gsl_sf_mathieu_b
+gsl_sf_mathieu_a_coeff    N    gsl_sf_mathieu_a_coeff
+gsl_sf_mathieu_b_coeff    N    gsl_sf_mathieu_b_coeff
+gsl_sf_mathieu_ce         N    gsl_sf_mathieu_ce
+gsl_sf_mathieu_se         N    gsl_sf_mathieu_se
+gsl_sf_mathieu_ce_array   N    gsl_sf_mathieu_ce_array
+gsl_sf_mathieu_se_array   N    gsl_sf_mathieu_se_array
+gsl_sf_mathieu_Mc         N    gsl_sf_mathieu_Mc
+gsl_sf_mathieu_Ms         N    gsl_sf_mathieu_Ms
+gsl_sf_mathieu_Mc_array   N    gsl_sf_mathieu_Mc_array
+gsl_sf_mathieu_Ms_array   N    gsl_sf_mathieu_Ms_array
+gsl_sf_pow_int_e          N    gsl_sf_pow_int
+gsl_sf_psi_int_e          Y    gsl_sf_psi_int(int_expr)
+gsl_sf_psi_e              Y    gsl_sf_psi(dbl_expr)
+gsl_sf_psi_1piy_e         Y    gsl_sf_psi_1piy(dbl_expr)
+gsl_sf_complex_psi_e      N    gsl_sf_complex_psi
+gsl_sf_psi_1_int_e        Y    gsl_sf_psi_1_int(int_expr)
+gsl_sf_psi_1_e            Y    gsl_sf_psi_1(dbl_expr)
+gsl_sf_psi_n_e            Y    gsl_sf_psi_n(int_expr,dbl_expr)
+gsl_sf_synchrotron_1_e    Y    gsl_sf_synchrotron_1(dbl_expr)
+gsl_sf_synchrotron_2_e    Y    gsl_sf_synchrotron_2(dbl_expr)
+gsl_sf_transport_2_e      Y    gsl_sf_transport_2(dbl_expr)
+gsl_sf_transport_3_e      Y    gsl_sf_transport_3(dbl_expr)
+gsl_sf_transport_4_e      Y    gsl_sf_transport_4(dbl_expr)
+gsl_sf_transport_5_e      Y    gsl_sf_transport_5(dbl_expr)
+gsl_sf_sin_e              N    gsl_sf_sin
+gsl_sf_cos_e              N    gsl_sf_cos
+gsl_sf_hypot_e            N    gsl_sf_hypot
+gsl_sf_complex_sin_e      N    gsl_sf_complex_sin
+gsl_sf_complex_cos_e      N    gsl_sf_complex_cos
+gsl_sf_complex_logsin_e   N    gsl_sf_complex_logsin
+gsl_sf_sinc_e             N    gsl_sf_sinc
+gsl_sf_lnsinh_e           N    gsl_sf_lnsinh
+gsl_sf_lncosh_e           N    gsl_sf_lncosh
+gsl_sf_polar_to_rect      N    gsl_sf_polar_to_rect
+gsl_sf_rect_to_polar      N    gsl_sf_rect_to_polar
+gsl_sf_sin_err_e          N    gsl_sf_sin_err
+gsl_sf_cos_err_e          N    gsl_sf_cos_err
+gsl_sf_angle_restrict_symm_eN  gsl_sf_angle_restrict_symm
+gsl_sf_angle_restrict_pos_eN   gsl_sf_angle_restrict_pos
+gsl_sf_angle_restrict_symm_err_eNgsl_sf_angle_restrict_symm_err
+gsl_sf_angle_restrict_pos_err_eNgsl_sf_angle_restrict_pos_err
+gsl_sf_zeta_int_e         Y    gsl_sf_zeta_int(int_expr)
+gsl_sf_zeta_e             Y    gsl_sf_zeta(dbl_expr)
+gsl_sf_zetam1_e           Y    gsl_sf_zetam1(dbl_expr)
+gsl_sf_zetam1_int_e       Y    gsl_sf_zetam1_int(int_expr)
+gsl_sf_hzeta_e            Y    gsl_sf_hzeta(dbl_expr,dbl_expr)
+gsl_sf_eta_int_e          Y    gsl_sf_eta_int(int_expr)
+gsl_sf_eta_e              Y    gsl_sf_eta(dbl_expr)
+
+   ---------- Footnotes ----------
+
+   (1) These are the GSL standard function names postfixed with '_e'.
+NCO calls these functions automatically, without the NCO command having
+to specifically indicate the '_e' function suffix.
+
+4.1.20 GSL interpolation
+------------------------
+
+As of version 3.9.9 (released July, 2009), NCO has wrappers to the GSL
+interpolation functions.
+
+Given a set of data points (x1,y1)...(xn, yn) the GSL functions computes
+a continuous interpolating function Y(x) such that Y(xi) = yi.  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 GSL manual.
+
+Interpolation with 'ncap2' is a two stage process.  In the first stage,
+a RAM variable is created from the chosen interpolating function and the
+data set.  This RAM variable holds in memory a GSL interpolation object.
+In the second stage, points along the interpolating function are
+calculated.  If you have a very large data set or are interpolating many
+sets then consider deleting the RAM variable when it is redundant.  Use
+the command 'ram_delete(var_nm)'.
+
+A simple example
+
+     x_in[$lon]={1.0,2.0,3.0,4.0};
+     y_in[$lon]={1.1,1.2,1.5,1.8};
+
+     // Ram variable is declared and defined here
+     gsl_interp_cspline(&ram_sp,x_in,y_in);
+
+     x_out[$lon_grd]={1.1,2.0,3.0,3.1,3.99};
+
+     y_out=gsl_spline_eval(ram_sp,x_out);
+     y2=gsl_spline_eval(ram_sp,1.3);
+     y3=gsl_spline_eval(ram_sp,0.0);
+     ram_delete(ram_sp);
+
+     print(y_out); // 1.10472, 1.2, 1.4, 1.42658, 1.69680002
+     print(y2);    // 1.12454
+     print(y3);    // '_'
+
+Note in the above example y3 is set to 'missing value' because 0.0 isn't
+within the input X range.
+
+   *GSL Interpolation Types*
+All the interpolation functions have been implemented.  These are:
+gsl_interp_linear()
+gsl_interp_polynomial()
+gsl_interp_cspline()
+gsl_interp_cspline_periodic()
+gsl_interp_akima()
+gsl_interp_akima_periodic()
+
+
+
+   * Evaluation of Interpolating Types *
+*Implemented*
+gsl_spline_eval()
+*Unimplemented*
+gsl_spline_deriv()
+gsl_spline_deriv2()
+gsl_spline_integ()
+
+4.1.21 GSL least-squares fitting
+--------------------------------
+
+Least Squares fitting is a method of calculating a straight line through
+a set of experimental data points in the XY plane.  The data maybe
+weighted or unweighted.  For more information please refer to the GSL
+manual.
+
+These GSL functions fall into three categories:
+*A)* Fitting data to Y=c0+c1*X
+*B)* Fitting data (through the origin) Y=c1*X
+*C)* Multi-parameter fitting (not yet implemented)
+
+   *Section A*
+
+'status=*gsl_fit_linear*
+(data_x,stride_x,data_y,stride_y,n,&co,&c1,&cov00,&cov01,&cov11,&sumsq)
+'
+
+*Input variables*: data_x, stride_x, data_y, stride_y, n
+From the above variables an X and Y vector both of length 'n' are
+derived.  If data_x or data_y is less than type double then it is
+converted to type 'double'.  It is up to you to do bounds checking on
+the input data.  For example if stride_x=3 and n=8 then the size of
+data_x must be at least 24
+
+*Output variables*: c0, c1, cov00, cov01, cov11,sumsq
+The '&' prefix indicates that these are call-by-reference variables.  If
+any of the output variables don't exist prior to the call then they are
+created on the fly as scalar variables of type 'double'.  If they
+already exist then their existing value is overwritten.  If the function
+call is successful then 'status=0'.
+
+   'status=
+*gsl_fit_wlinear*(data_x,stride_x,data_w,stride_w,data_y,stride_y,n,&co,&c1,&cov00,&cov01,&cov11,&chisq)
+'
+
+Similar to the above call except it creates an additional weighting
+vector from the variables data_w, stride_w, n
+
+   ' data_y_out=*gsl_fit_linear_est*(data_x,c0,c1,cov00,cov01,cov11) '
+
+This function calculates y values along the line Y=c0+c1*X
+
+
+   *Section B*
+
+'status=*gsl_fit_mul*(data_x,stride_x,data_y,stride_y,n,&c1,&cov11,&sumsq)
+'
+
+*Input variables*: data_x, stride_x, data_y, stride_y, n
+From the above variables an X and Y vector both of length 'n' are
+derived.  If data_x or data_y is less than type 'double' then it is
+converted to type 'double'.
+
+*Output variables*: c1,cov11,sumsq
+
+   'status=
+*gsl_fit_wmul*(data_x,stride_x,data_w,stride_w,data_y,stride_y,n,&c1,&cov11,&sumsq)
+'
+
+Similar to the above call except it creates an additional weighting
+vector from the variables data_w, stride_w, n
+
+   ' data_y_out=*gsl_fit_mul_est*(data_x,c0,c1,cov11) '
+
+This function calculates y values along the line Y=c1*X
+
+
+The below example shows *gsl_fit_linear()* in action
+
+     defdim("d1",10);
+     xin[d1]={1,2,3,4,5,6,7,8,9,10.0};
+     yin[d1]={3.1,6.2,9.1,12.2,15.1,18.2,21.3,24.0,27.0,30.0};
+     gsl_fit_linear(xin,1,yin,1,$d1.size,&c0,&c1,&cov00,&cov01,&cov11,&sumsq);
+     print(c0);  // 0.2
+     print(c1);  // 2.98545454545
+
+
+     defdim("e1",4);
+     xout[e1]={1.0,3.0,4.0,11};
+     yout[e1]=0.0;
+
+     yout=gsl_fit_linear_est(xout, c0,c1, cov00,cov01, cov11, sumsq);
+
+     print(yout);  // 3.18545454545 ,9.15636363636, ,12.1418181818 ,33.04
+
+
+
+4.1.22 GSL statistics
+---------------------
+
+Wrappers for most of the GSL Statistical functions have been
+implemented.  The GSL function names include a type specifier (except
+for type double functions).  To obtain the equivalent NCO name simply
+remove the type specifier; then depending on the data type the
+appropriate GSL function is called.  The weighed statistical functions
+e.g., ' gsl_stats_wvariance()' are only defined in GSL for floating
+point types; so your data must of type 'float' or 'double' otherwise
+ncap2 will emit an error message.  To view the implemented functions use
+the shell command 'ncap2 -f|grep _stats'
+
+GSL Functions
+     short gsl_stats_max (short data[], size_t stride, size_t n);
+     double gsl_stats_int_mean (int data[], size_t stride, size_t n);
+     double gsl_stats_short_sd_with_fixed_mean (short data[], size_t stride, size_t n, double mean);
+     double gsl_stats_wmean (double w[], size_t wstride, double data[], size_t stride, size_t n);
+     double gsl_stats_quantile_from_sorted_data (double sorted_data[], size_t stride, size_t n, double f) ;
+
+Equivalent ncap2 wrapper functions
+     short gsl_stats_max (var_data, data_stride, n);
+     double gsl_stats_mean (var_data, data_stride, n);
+     double gsl_stats_sd_with_fixed_mean (var_data, data_stride, n, var_mean);
+     double gsl_stats_wmean (var_weight, weight_stride, var_data, data_stride, n, var_mean);
+     double gsl_stats_quantile_from_sorted_data (var_sorted_data, data_stride, n, var_f) ;
+
+GSL has no notion of missing values or dimensionality beyond one.  If
+your data has missing values which you want ignored in the calculations
+then use the 'ncap2' built in aggregate functions( *note Methods and
+functions:: ).  The GSL functions operate on a vector of values created
+from the var_data/stride/n arguments.  The ncap wrappers check that
+there is no bounding error with regard to the size of the data and the
+final value in the vector.
+
+   Some examples
+
+     a1[time]={1,2,3,4,5,6,7,8,9,10 };
+
+     a1_avg=gsl_stats_mean(a1,1,10);
+     print(a1_avg); // 5.5
+
+     a1_var=gsl_stats_variance(a1,4,3);
+     print(a1_var); // 16.0
+
+     // bounding error, vector attempts to access element a1(10)
+     a1_sd=gsl_stats_sd(a1,5,3);
+
+For functions with the signature *func_nm(var_data,data_stride,n)*, one
+may omit the second or third arguments.  The default value for STRIDE is
+'1'.  The default value for N is '1+(data.size()-1)/stride'.
+
+     // Following statements are equvalent
+     n2=gsl_stats_max(a1,1,10)
+     n2=gsl_stats_max(a1,1);
+     n2=gsl_stats_max(a1);
+
+     // Following statements are equvalent
+     n3=gsl_stats_median_from_sorted_data(a1,2,5);
+     n3=gsl_stats_median_from_sorted_data(a1,2);
+
+     // Following statements are NOT equvalent
+     n4=gsl_stats_kurtosis(a1,3,2);
+     n4=gsl_stats_kurtosis(a1,3); //default n=4
+
+   The following example illustrates some of the weighted functions.
+The data are randomly generated.  In this case the value of the weight
+for each datum is either 0.0 or 1.0
+     defdim("r1",2000);
+     data[r1]=1.0;
+
+     // Fill with random numbers [0.0,10.0)
+     data=10.0*gsl_rng_uniform(data);
+
+     // Create a weighting variable
+     weight=(data>4.0);
+
+     wmean=gsl_stats_wmean(weight,1,data,1,$r1.size);
+     print(wmean);
+
+     wsd=gsl_stats_wsd(weight,1,data,1,$r1.size);
+     print(wsd);
+
+     // number of values in data that are greater than 4
+     weight_size=weight.total();
+     print(weight_size);
+
+     // print min/max of data
+     dmin=data.gsl_stats_min();
+     dmax=data.gsl_stats_max();
+     print(dmin);print(dmax);
+
+4.1.23 GSL random number generation
+-----------------------------------
+
+The GSL library has a large number of random number generators.  In
+addition there are a large set of functions for turning uniform random
+numbers into discrete or continuous probabilty distributions.  The
+random number generator algorithms vary in terms of quality numbers
+output, speed of execution and maximium number output.  For more
+information see the GSL documentation.  The algorithm and seed are set
+via environment variables, these are picked up by the 'ncap2' code.
+
+*Setup*
+The number algorithm is set by the environment variable 'GSL_RNG_TYPE'.
+If this variable isn't set then the default rng algorithm is
+gsl_rng_19937.  The seed is set with the environment variable
+'GSL_RNG_SEED'.  The following wrapper functions in ncap2 provide
+information about the chosen algorithm.
+
+'gsl_rng_min()'
+     the minimium value returned by the rng algorithm.
+'gsl_rng_max()'
+     the maximium value returned by the rng algorithm.
+
+*Uniformly Distributed Random Numbers*
+'gsl_rng_get(var_in)'
+     This function returns var_in with integers from the chosen rng
+     algorithm.  The min and max values depend uoon the chosen rng
+     algorthm.
+'gsl_rng_uniform_int(var_in)'
+     This function returns var_in with random integers from 0 to n-1.
+     The value n must be less than or equal to the maximium value of the
+     chosen rng algorithm.
+'gsl_rng_uniform(var_in)'
+     This function returns var_in with double-precision numbers in the
+     range [0.0,1).  The range includes 0.0 and excludes 1.0.
+'gsl_rng_uniform_pos(var_in)'
+     This function returns var_in with double-precision numbers in the
+     range (0.0,1), excluding both 0.0 and 1.0.
+
+Below are examples of 'gsl_rng_get()' and 'gsl_rng_uniform_int()' in
+action.
+
+     export GSL_RNG_TYPE=ranlux
+     export GSL_RNG_SEED=10
+     ncap2 -v -O -s 'a1[time]=0;a2=gsl_rng_get(a1);' in.nc foo.nc
+     // 10 random numbers from the range 0 - 16777215
+     // a2=9056646, 12776696, 1011656, 13354708, 5139066, 1388751, 11163902, 7730127, 15531355, 10387694 ;
+
+     ncap2 -v -O -s 'a1[time]=21;a2=gsl_rng_uniform_int(a1).sort();' in.nc foo.nc
+     // 10 random numbers from the range 0 - 20
+     a2 = 1, 1, 6, 9, 11, 13, 13, 15, 16, 19 ;
+
+The following example produces an 'ncap2' runtime error.  This is
+because the chose rng algorithm has a maximium value greater than '
+NC_MAX_INT=2147483647 '; the wrapper functions to 'gsl_rng_get()' and
+'gsl_rng_uniform_int()' return variable of type 'NC_INT'.  Please be
+aware of this when using random number distribution functions functions
+from the GSL library which return 'unsigned int'.  Examples of these are
+'gsl_ran_geometric()' and 'gsl_ran_pascal()'.
+
+     export GSL_RNG_TYPE=mt19937
+     ncap2 -v -O -s 'a1[time]=0;a2=gsl_rng_get(a1);' in.nc foo.nc
+
+To find the maximium value of the chosen rng algorithm use the following
+code snippet.
+     ncap2 -v -O -s 'rng_max=gsl_rng_max();print(rng_max)' in.nc foo.nc
+
+*Random Number Distributions*
+The GSL library has a rich set of random number disribution functions.
+The library also provides cumulative distribution functions and inverse
+cumulative distribution functions sometimes referred to a quantile
+functions.  To see whats available on your build use the shell command
+'ncap2 -f|grep -e _ran -e _cdf'.
+
+The following examples all return variables of type 'NC_INT'
+     defdim("out",15);
+     a1[$out]=0.5;
+     a2=gsl_ran_binomial(a1,30).sort();
+     //a2 = 10, 11, 12, 12, 13, 14, 14, 15, 15, 16, 16, 16, 16, 17, 22 ;
+     a3=gsl_ran_geometric(a2).sort();
+     //a2 = 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 4, 5 ;
+     a4=gsl_ran_pascal(a2,50);
+     //a5 = 37, 40, 40, 42, 43, 45, 46, 49, 52, 58, 60, 62, 62, 65, 67 ;
+
+The following all return variables of type 'NC_DOUBLE';
+     defdim("b1",1000);
+     b1[$b1]=0.8;
+     b2=gsl_ran_exponential(b1);
+     b2_avg=b2.avg();
+     print(b2_avg);
+     // b2_avg = 0.756047976787
+
+     b3=gsl_ran_gaussian(b1);
+     b3_avg=b3.avg();
+     b3_rms=b3.rms();
+     print(b3_avg);
+     // b3_avg = -0.00903446534258;
+     print(b3_rms);
+     // b3_rms = 0.81162979889;
+
+     b4[$b1]=10.0;
+     b5[$b1]=20.0;
+     b6=gsl_ran_flat(b4,b5);
+     b6_avg=b6.avg();
+     print(b6_avg);
+     // b6_avg=15.0588129413
+
+4.1.24 Examples ncap2
+---------------------
+
+See the 'ncap.in' and 'ncap2.in' scripts released with NCO for more
+complete demonstrations of 'ncap2' functionality (script available
+on-line at <http://nco.sf.net/ncap2.in>).
+
+   Define new attribute NEW for existing variable ONE as twice the
+existing attribute DOUBLE_ATT of variable ATT_VAR:
+     ncap2 -s 'one at new=2*att_var at double_att' in.nc out.nc
+
+   Average variables of mixed types (result is of type 'double'):
+     ncap2 -s 'average=(var_float+var_double+var_int)/3' in.nc out.nc
+
+   Multiple commands may be given to 'ncap2' in three ways.  First, the
+commands may be placed in a script which is executed, e.g., 'tst.nco'.
+Second, the commands may be individually specified with multiple '-s'
+arguments to the same 'ncap2' invocation.  Third, the commands may be
+chained into a single '-s' argument to 'ncap2'.  Assuming the file
+'tst.nco' contains the commands 'a=3;b=4;c=sqrt(a^2+b^2);', then the
+following 'ncap2' invocations produce identical results:
+     ncap2 -v -S tst.nco in.nc out.nc
+     ncap2 -v -s 'a=3' -s 'b=4' -s 'c=sqrt(a^2+b^2)' in.nc out.nc
+     ncap2 -v -s 'a=3;b=4;c=sqrt(a^2+b^2)' in.nc out.nc
+   The second and third examples show that 'ncap2' does not require that
+a trailing semi-colon ';' be placed at the end of a '-s' argument,
+although a trailing semi-colon ';' is always allowed.  However,
+semi-colons are required to separate individual assignment statements
+chained together as a single '-s' argument.
+
+   'ncap2' may be used to "grow" dimensions, i.e., to increase dimension
+sizes without altering existing data.  Say 'in.nc' has 'ORO(lat,lon)'
+and the user wishes a new file with 'new_ORO(new_lat,new_lon)' that
+contains zeros in the undefined portions of the new grid.
+     defdim("new_lat",$lat.size+1); // Define new dimension sizes
+     defdim("new_lon",$lon.size+1);
+     new_ORO[$new_lat,$new_lon]=0.0f; // Initialize to zero
+     new_ORO(0:$lat.size-1,0:$lon.size-1)=ORO; // Fill valid data
+   The commands to define new coordinate variables 'new_lat' and
+'new_lon' in the output file follow a similar pattern.  One would might
+store these commands in a script 'grow.nco' and then execute the script
+with
+     ncap2 -v -S grow.nco in.nc out.nc
+
+   Imagine you wish to create a binary flag based on the value of an
+array.  The flag should have value 1.0 where the array exceeds 1.0, and value 0.0
+elsewhere.  This example creates the binary flag 'ORO_flg' in 'out.nc'
+from the continuous array named 'ORO' in 'in.nc'.
+     ncap2 -s 'ORO_flg=(ORO > 1.0)' in.nc out.nc
+   Suppose your task is to change all values of 'ORO' which equal 2.0 to
+the new value 3.0:
+     ncap2 -s 'ORO_msk=(ORO==2.0);ORO=ORO_msk*3.0+!ORO_msk*ORO' in.nc out.nc
+   This creates and uses 'ORO_msk' to mask the subsequent arithmetic
+operation.  Values of 'ORO' are only changed where 'ORO_msk' is true,
+i.e., where 'ORO' equals 2.0
+Using the 'where' statement the above code simplifies to :
+     ncap2 -s 'where(ORO==2.0) ORO=3.0;' in.nc foo.nc
+
+   This example uses 'ncap2' to compute the covariance of two variables.
+Let the variables U and V be the horizontal wind components.  The
+"covariance" of U and V is defined as the time mean product of the
+deviations of U and V from their respective time means.  Symbolically,
+the covariance [U'V'] = [UV]-[U][V] where [X] denotes the time-average
+of X and X' 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.  Sometimes this is called
+the "eddy covariance".  We will store the covariance in the variable
+'uprmvprm'.
+     ncwa -O -a time -v u,v in.nc foo.nc # Compute time mean of u,v
+     ncrename -O -v u,uavg -v v,vavg foo.nc # Rename to avoid conflict
+     ncks -A -v uavg,vavg foo.nc in.nc # Place time means with originals
+     ncap2 -O -s 'uprmvprm=u*v-uavg*vavg' in.nc in.nc # Covariance
+     ncra -O -v uprmvprm in.nc foo.nc # Time-mean covariance
+   The mathematically inclined will note that the same covariance would
+be obtained by replacing the step involving 'ncap2' with
+     ncap2 -O -s 'uprmvprm=(u-uavg)*(v-vavg)' foo.nc foo.nc # Covariance
+
+   As of NCO version 3.1.8 (December, 2006), 'ncap2' can compute
+averages, and thus covariances, by itself:
+     ncap2 -s 'uavg=u.avg($time);vavg=v.avg($time);uprmvprm=u*v-uavg*vavg' \
+           -s 'uprmvrpmavg=uprmvprm.avg($time)' in.nc foo.nc
+   We have not seen a simpler method to script and execute powerful
+arithmetic than 'ncap2'.
+
+   'ncap2' utilizes many meta-characters (e.g., '$', '?', ';', '()',
+'[]') that can confuse the command-line shell if not quoted properly.
+The issues are the same as those which arise in utilizing extended
+regular expressions to subset variables (*note Subsetting Files::).  The
+example above will fail with no quotes and with double quotes.  This is
+because shell globbing tries to "interpolate" the value of '$time' from
+the shell environment unless it is quoted:
+     ncap2 -s 'uavg=u.avg($time)'  in.nc foo.nc # Correct (recommended)
+     ncap2 -s  uavg=u.avg('$time') in.nc foo.nc # Correct (and dangerous)
+     ncap2 -s  uavg=u.avg($time)   in.nc foo.nc # Fails ($time = '')
+     ncap2 -s "uavg=u.avg($time)"  in.nc foo.nc # Fails ($time = '')
+   Without the single quotes, the shell replaces '$time' with an empty
+string.  The command 'ncap2' receives from the shell is 'uavg=u.avg()'.
+This causes 'ncap2' to average over all dimensions rather than just the
+TIME dimension, and unintended consequence.
+
+   We recommend using single quotes to protect 'ncap2' command-line
+scripts from the shell, even when such protection is not strictly
+necessary.  Expert users may violate this rule to exploit the ability to
+use shell variables in 'ncap2' command-line scripts (*note CCSM
+Example::).  In such cases it may be necessary to use the shell
+backslash character '\' to protect the 'ncap2' meta-character.
+
+   A dimension of size one is said to be _degenerate_.  Whether a
+degenerate record dimension is desirable or not depends on the
+application.  Often a degenerate TIME dimension is useful, e.g., for
+concatentating, but it may cause problems with arithmetic.  Such is the
+case in the above example, where the first step employs 'ncwa' rather
+than 'ncra' for the time-averaging.  Of course the numerical results are
+the same with both operators.  The difference is that, unless '-b' is
+specified, 'ncwa' writes no TIME dimension to the output file, while
+'ncra' defaults to keeping TIME as a degenerate (size 1) dimension.
+Appending 'u' and 'v' to the output file would cause 'ncks' to try to
+expand the degenerate time axis of 'uavg' and 'vavg' to the size of the
+non-degenerate TIME dimension in the input file.  Thus the append ('ncks
+-A') command would be undefined (and should fail) in this case.  Equally
+important is the '-C' argument (*note Subsetting Coordinate Variables::)
+to 'ncwa' to prevent any scalar TIME variable from being written to the
+output file.  Knowing when to use 'ncwa -a time' rather than the default
+'ncra' for time-averaging takes, well, time.
+
+4.1.25 Intrinsic mathematical methods
+-------------------------------------
+
+'ncap2' supports the standard mathematical functions supplied with most
+operating systems.  Standard calculator notation is used for addition
+'+', subtraction '-', multiplication '*', division '/', exponentiation
+'^', and modulus '%'.  The available elementary mathematical functions
+are:
+'abs(x)'
+     "Absolute value" Absolute value of X.  Example: abs(-1) = 1
+'acos(x)'
+     "Arc-cosine" Arc-cosine of X where X is specified in radians.
+     Example: acos(1.0) = 0.0
+'acosh(x)'
+     "Hyperbolic arc-cosine" Hyperbolic arc-cosine of X where X is
+     specified in radians.  Example: acosh(1.0) = 0.0
+'asin(x)'
+     "Arc-sine" Arc-sine of X where X is specified in radians.  Example:
+     asin(1.0) = 1.57079632679489661922
+'asinh(x)'
+     "Hyperbolic arc-sine" Hyperbolic arc-sine of X where X is specified
+     in radians.  Example: asinh(1.0) = 0.88137358702
+'atan(x)'
+     "Arc-tangent" Arc-tangent of X where X is specified in radians
+     between -pi/2 and pi/2.  Example: atan(1.0) =
+     0.78539816339744830961
+
+'atan2(y,x)'
+     "Arc-tangent2" Arc-tangent of Y/X :Example atan2(1,3) = 0.321689857
+
+'atanh(x)'
+     "Hyperbolic arc-tangent" Hyperbolic arc-tangent of X where X is
+     specified in radians between -pi/2 and pi/2.  Example:
+     atanh(3.14159265358979323844) = 1.0
+'ceil(x)'
+     "Ceil" Ceiling of X.  Smallest integral value not less than
+     argument.  Example: ceil(0.1) = 1.0
+'cos(x)'
+     "Cosine" Cosine of X where X is specified in radians.  Example:
+     cos(0.0) = 1.0
+'cosh(x)'
+     "Hyperbolic cosine" Hyperbolic cosine of X where X is specified in
+     radians.  Example: cosh(0.0) = 1.0
+'erf(x)'
+     "Error function" Error function of X where X is specified between
+     -1 and 1.  Example: erf(1.0) = 0.842701
+'erfc(x)'
+     "Complementary error function" Complementary error function of X
+     where X is specified between -1 and 1.  Example: erfc(1.0) =
+     0.15729920705
+'exp(x)'
+     "Exponential" Exponential of X, e^x.  Example: exp(1.0) =
+     2.71828182845904523536
+'floor(x)'
+     "Floor" Floor of X.  Largest integral value not greater than
+     argument.  Example: floor(1.9) = 1
+'gamma(x)'
+     "Gamma function" Gamma function of X, Gamma(x).  The well-known and
+     loved continuous factorial function.  Example: gamma(0.5) =
+     sqrt(pi)
+'gamma_inc_P(x)'
+     "Incomplete Gamma function" Incomplete Gamma function of parameter
+     A and variable X, gamma_inc_P(a,x).  One of the four incomplete
+     gamma functions.  Example: gamma_inc_P(1,1) = 1-1/e
+'ln(x)'
+     "Natural Logarithm" Natural logarithm of X, ln(x).  Example:
+     ln(2.71828182845904523536) = 1.0
+'log(x)'
+     "Natural Logarithm" Exact synonym for 'ln(x)'.
+'log10(x)'
+     "Base 10 Logarithm" Base 10 logarithm of X, log10(x).  Example:
+     log(10.0) = 1.0
+'nearbyint(x)'
+     "Round inexactly" Nearest integer to X is returned in floating
+     point format.  No exceptions are raised for "inexact conversions".
+     Example: nearbyint(0.1) = 0.0
+'pow(x,y)'
+     "Power" Value of X is raised to the power of Y.  Exceptions are
+     raised for "domain errors".  Due to type-limitations in the C language
+     'pow' function, integer arguments are promoted (*note Type
+     Conversion::) to type 'NC_FLOAT' before evaluation.  Example:
+     pow(2,3) = 8
+'rint(x)'
+     "Round exactly" Nearest integer to X is returned in floating point
+     format.  Exceptions are raised for "inexact conversions".  Example:
+     rint(0.1) = 0
+'round(x)'
+     "Round" Nearest integer to X is returned in floating point format.
+     Round halfway cases away from zero, regardless of current IEEE
+     rounding direction.  Example: round(0.5) = 1.0
+'sin(x)'
+     "Sine" Sine of X where X is specified in radians.  Example:
+     sin(1.57079632679489661922) = 1.0
+'sinh(x)'
+     "Hyperbolic sine" Hyperbolic sine of X where X is specified in
+     radians.  Example: sinh(1.0) = 1.1752
+'sqrt(x)'
+     "Square Root" Square Root of X, sqrt(x).  Example: sqrt(4.0) = 2.0
+'tan(x)'
+     "Tangent" Tangent of X where X is specified in radians.  Example:
+     tan(0.78539816339744830961) = 1.0
+'tanh(x)'
+     "Hyperbolic tangent" Hyperbolic tangent of X where X is specified
+     in radians.  Example: tanh(1.0) = 0.761594155956
+'trunc(x)'
+     "Truncate" Nearest integer to X is returned in floating point
+     format.  Round halfway cases toward zero, regardless of current
+     IEEE rounding direction.  Example: trunc(0.5) = 0.0
+The complete list of mathematical functions supported is
+platform-specific.  Functions mandated by ANSI C are _guaranteed_ to be
+present and are indicated with an asterisk (1).  and are indicated with
+an asterisk.  Use the '-f' (or 'fnc_tbl' or 'prn_fnc_tbl') switch to
+print a complete list of functions supported on your platform.  (2)
+
+   ---------- Footnotes ----------
+
+   (1) ANSI C compilers are guaranteed to support double-precision
+versions of these functions.  These functions normally operate on netCDF
+variables of type 'NC_DOUBLE' without having to perform intrinsic
+conversions.  For example, ANSI compilers provide 'sin' for the sine of
+C-type 'double' variables.  The ANSI standard does not require, but many
+compilers provide, an extended set of mathematical functions that apply
+to single ('float') and quadruple ('long double') precision variables.
+Using these functions (e.g., 'sinf' for 'float', 'sinl' for 'long
+double'), when available, is (presumably) more efficient than casting
+variables to type 'double', performing the operation, and then
+re-casting.  NCO uses the faster intrinsic functions when they are
+available, and uses the casting method when they are not.
+
+   (2) Linux supports more of these intrinsic functions than other OSs.
+
+4.1.26 Operator precedence and associativity
+--------------------------------------------
+
+This page lists the 'ncap2' operators in order of precedence (highest to
+lowest).  Their associativity indicates in what order operators of equal
+precedence in an expression are applied.
+
+Operator      Description                                   Associativity
+---------------------------------------------------------------------------
+'++ --'       Postfix Increment/Decrement                   Right to
+                                                            Left
+'()'          Parentheses (function call)
+'.'           Method call
+'++ --'       Prefix Increment/Decrement                    Right to
+                                                            Left
+'+ -'         Unary Plus/Minus
+'!'           Logical Not
+'^'           Power of Operator                             Right to
+                                                            Left
+'* / %'       Multiply/Divide/Modulus                       Left To
+                                                            Right
+'+ -'         Addition/Subtraction                          Left To
+                                                            Right
+'>> <<'       Fortran style array clipping                  Left to
+                                                            Right
+'< <='        Less than/Less than or equal to               Left to
+                                                            Right
+'> >='        Greater than/Greater than or equal to
+'== !='       Equal to/Not equal to                         Left to
+                                                            Right
+'&&'          Logical AND                                   Left to
+                                                            Right
+'||'          Logical OR                                    Left to
+                                                            Right
+'?:'          Ternary Operator                              Right to
+                                                            Left
+'='           Assignment                                    Right to
+                                                            Left
+'+= -='       Addition/subtraction assignment
+'*= /='       Multiplication/division assignment
+
+4.1.27 ID Quoting
+-----------------
+
+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.
+
+The default NCO name is specified by the regular expressions:
+
+     DGT:     ('0'..'9');
+     LPH:     ( 'a'..'z' | 'A'..'Z' | '_' );
+     name:    (LPH)(LPH|DGT)+
+
+The first character of a valid name must be alphabetic or the
+underscore.  Any subsequent characters must be alphanumeric or
+underscore.  ( e.g., a1,_23, hell_is_666 )
+
+The valid characters in a quoted name are specified by the regular
+expressions:
+     LPHDGT:  ( 'a'..'z' | 'A'..'Z' | '_' | '0'..'9');
+     name:    (LPHDGT|'-'|'+'|'.'|'('|')'|':' )+  ;
+
+Quote a variable:
+'avg' , '10_+10','set_miss' '+-90field' , '-test'=10.0d
+
+Quote a attribute:
+'three at 10', 'set_mss at +10', '666 at hell', 't1 at +units'="kelvin"
+
+Quote a dimension:
+'$10', '$t1-', '$-odd', c1['$10','$t1-']=23.0d
+
+
+   The following comments are from the netCDF library definitions and
+detail the naming conventions for each release.  netcdf-3.5.1
+netcdf-3.6.0-p1
+netcdf-3.6.1
+netcdf-3.6.2
+     /*
+      * ( [a-zA-Z]|[0-9]|'_'|'-'|'+'|'.'|'|':'|'@'|'('|')' )+
+      * Verify that name string is valid CDL syntax, i.e., all characters are
+      * alphanumeric, '-', '_', '+', or '.'.
+      * Also permit ':', '@', '(', or ')' in names for chemists currently making
+      * use of these characters, but don't document until ncgen and ncdump can
+      * also handle these characters in names.
+      */
+
+netcdf-3.6.3
+netcdf-4.0 Final 2008/08/28
+     /*
+      * Verify that a name string is valid syntax.  The allowed name
+      * syntax (in RE form) is:
+      *
+      * ([a-zA-Z_]|{UTF8})([^\x00-\x1F\x7F/]|{UTF8})*
+      *
+      * where UTF8 represents a multibyte UTF-8 encoding.  Also, no
+      * trailing spaces are permitted in names.  This definition
+      * must be consistent with the one in ncgen.l.  We do not allow '/'
+      * because HDF5 does not permit slashes in names as slash is used as a
+      * group separator.  If UTF-8 is supported, then a multi-byte UTF-8
+      * character can occur anywhere within an identifier.  We later
+      * normalize UTF-8 strings to NFC to facilitate matching and queries.
+      */
+
+4.2 'ncatted' netCDF Attribute Editor
+=====================================
+
+SYNTAX
+     ncatted [-a ATT_DSC] [-a ...] [-D DBG] [-h] [--hdr_pad NBR]
+     [-l PATH] [-O] [-o OUTPUT-FILE] [-p PATH] [-R] [-r] [--ram_all]
+     INPUT-FILE [[OUTPUT-FILE]]
+
+DESCRIPTION
+
+   'ncatted' edits attributes in a netCDF file.  If you are editing
+attributes then you are spending too much time in the world of metadata,
+and 'ncatted' was written to get you back out as quickly and painlessly
+as possible.  'ncatted' can "append", "create", "delete", "modify", and
+"overwrite" attributes (all explained below).  'ncatted' allows each
+editing operation to be applied to every variable in a file.  This saves
+time when changing attribute conventions throughout a file.  'ncatted'
+is for _writing_ attributes.  To _read_ attribute values in plain text,
+use 'ncks -m -M', or define something like 'ncattget' as a shell command
+(*note Filters for 'ncks'::).
+
+   Because repeated use of 'ncatted' can considerably increase the size
+of the 'history' global attribute (*note History Attribute::), the '-h'
+switch is provided to override automatically appending the command to
+the 'history' global attribute in the OUTPUT-FILE.
+
+   When 'ncatted' is used to change the '_FillValue' attribute, it
+changes the associated missing data self-consistently.  If the internal
+floating point representation of a missing value, e.g., 1.0e36, differs
+between two machines then netCDF files produced on those machines will
+have incompatible missing values.  This allows 'ncatted' to change the
+missing values in files from different machines to a single value so
+that the files may then be concatenated, e.g., by 'ncrcat', without
+losing information.  *Note Missing Values::, for more information.
+
+   To master 'ncatted' one must understand the meaning of the structure
+that describes the attribute modification, ATT_DSC specified by the
+required option '-a' or '--attribute'.  Each ATT_DSC contains five
+elements, which makes using 'ncatted' somewhat complicated, yet
+powerful.  The ATT_DSC fields are in the following order:
+
+   ATT_DSC = ATT_NM, VAR_NM, MODE, ATT_TYPE, ATT_VAL
+
+ATT_NM
+     Attribute name.  Example: 'units'
+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.
+MODE
+     Edit mode abbreviation.  Example: 'a'.  See below for complete
+     listing of valid values of MODE.
+ATT_TYPE
+     Attribute type abbreviation.  Example: 'c'.  See below for complete
+     listing of valid values of ATT_TYPE.
+ATT_VAL
+     Attribute value.  Example: 'pascal'.
+There should be no empty space between these five consecutive arguments.
+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.
+
+   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
+important and useful exceptions to this rule.  The value of VAR_NM can
+also be used to direct 'ncatted' to edit global attributes, or to repeat
+the editing operation for every group or variable in a file.  A value of
+VAR_NM of 'global' indicates that ATT_NM refers to a global (i.e.,
+root-level) attribute, rather than to a particular variable's attribute.
+This is the method 'ncatted' supports for editing global attributes.  A value
+of VAR_NM of 'group' indicates that ATT_NM refers to all groups, rather
+than to a particular variable's or group's attribute.  The operation
+will proceed to edit group metadata for every group.  Finally, if VAR_NM
+is left blank, then 'ncatted' attempts to perform the editing operation
+on every variable in the file.  This option may be convenient to use if
+you decide to change the conventions you use for describing the data.
+
+   The value of MODE is a single character abbreviation ('a', 'c', 'd',
+'m', or 'o') standing for one of five editing modes:
+'a'
+     "Append".  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'
+     "Create".  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'
+     "Delete".  Delete current VAR_NM attribute ATT_NM.  If VAR_NM does
+     not have an attribute ATT_NM, there is no effect.  If ATT_NM is
+     omitted (left blank), then all attributes associated with the
+     specified variable are automatically deleted.  When "Delete" mode
+     is selected, the ATT_TYPE and ATT_VAL arguments are superfluous and
+     may be left blank.
+'m'
+     "Modify".  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'
+     "Overwrite".  Write attribute ATT_NM with value ATT_VAL to variable
+     VAR_NM, overwriting existing attribute ATT_NM, if any.  This is the
+     default mode.
+
+   The value of ATT_TYPE is a single character abbreviation ('f', 'd',
+'l', 'i', 's', 'c', 'b', 'u') or a short string standing for one of the
+twelve primitive netCDF data types:
+'f'
+     "Float".  Value(s) specified in ATT_VAL will be stored as netCDF
+     intrinsic type 'NC_FLOAT'.
+'d'
+     "Double".  Value(s) specified in ATT_VAL will be stored as netCDF
+     intrinsic type 'NC_DOUBLE'.
+'i, l'
+     "Integer" or "Long".  Value(s) specified in ATT_VAL will be stored
+     as netCDF intrinsic type 'NC_INT'.
+'s'
+     "Short".  Value(s) specified in ATT_VAL will be stored as netCDF
+     intrinsic type 'NC_SHORT'.
+'c'
+     "Char".  Value(s) specified in ATT_VAL will be stored as netCDF
+     intrinsic type 'NC_CHAR'.
+'b'
+     "Byte".  Value(s) specified in ATT_VAL will be stored as netCDF
+     intrinsic type 'NC_BYTE'.
+'ub'
+     "Unsigned Byte".  Value(s) specified in ATT_VAL will be stored as
+     netCDF intrinsic type 'NC_UBYTE'.
+'us'
+     "Unsigned Short".  Value(s) specified in ATT_VAL will be stored as
+     netCDF intrinsic type 'NC_USHORT'.
+'u, ui, ul'
+     "Unsigned Int".  Value(s) specified in ATT_VAL will be stored as
+     netCDF intrinsic type 'NC_UINT'.
+'ll, int64'
+     "Int64".  Value(s) specified in ATT_VAL will be stored as netCDF
+     intrinsic type 'NC_INT64'.
+'ull, uint64'
+     "Uint64".  Value(s) specified in ATT_VAL will be stored as netCDF
+     intrinsic type 'NC_UINT64'.
+'sng, string'
+     "String".  Value(s) specified in ATT_VAL will be stored as netCDF
+     intrinsic type 'NC_STRING'.  Note that 'ncatted' handles type
+     'NC_STRING' attributes correctly beginning with version 4.3.3
+     released in July, 2013.  Earlier versions fail when asked to handle
+     'NC_STRING' attributes.
+In "Delete" mode the specification of ATT_TYPE is optional (and is
+ignored if supplied).
+
+   The value of ATT_VAL is what you want to change attribute ATT_NM to
+contain.  The specification of ATT_VAL is optional in "Delete" (and is
+ignored) mode.  Attribute values for all types besides 'NC_CHAR' must
+have an attribute length of at least one.  Thus ATT_VAL may be a single
+value or one-dimensional array of elements of type 'att_type'.  If the
+ATT_VAL is not set or is set to empty space, and the ATT_TYPE is
+'NC_CHAR', e.g., '-a units,T,o,c,""' or '-a units,T,o,c,', then the
+corresponding attribute is set to have zero length.  When specifying an
+array of values, it is safest to enclose ATT_VAL in single or double
+quotes, e.g., '-a levels,T,o,s,"1,2,3,4"' or '-a
+levels,T,o,s,'1,2,3,4''.  The quotes are strictly unnecessary around
+ATT_VAL except when ATT_VAL contains characters which would confuse the
+calling shell, such as spaces, commas, and wildcard characters.
+
+   NCO processing of 'NC_CHAR' 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).  If the ATT_TYPE
+is 'NC_CHAR' then the argument is interpreted as a string and it may
+contain C-language escape sequences, e.g., '\n', which NCO will
+interpret before writing anything to disk.  NCO translates valid escape
+sequences and stores the appropriate ASCII code instead.  Since two byte
+escape sequences, e.g., '\n', represent one-byte ASCII codes, e.g.,
+ASCII 10 (decimal), the stored string attribute is one byte shorter than
+the input string length for each embedded escape sequence.  The most
+frequently used C-language escape sequences are '\n' (for linefeed) and
+'\t' (for horizontal tab).  These sequences in particular allow
+convenient editing of formatted text attributes.  The other valid ASCII
+codes are '\a', '\b', '\f', '\r', '\v', and '\\'.  *Note ncks netCDF
+Kitchen Sink::, for more examples of string formatting (with the 'ncks'
+'-s' option) with special characters.
+
+   Analogous to 'printf', other special characters are also allowed by
+'ncatted' if they are "protected" by a backslash.  The characters '"',
+''', '?', and '\' may be input to the shell as '\"', '\'', '\?', and
+'\\'.  NCO simply strips away the leading backslash from these
+characters before editing the attribute.  No other characters require
+protection by a backslash.  Backslashes which precede any other
+character (e.g., '3', 'm', '$', '|', '&', '@', '%', '{', and '}') will
+not be filtered and will be included in the attribute.
+
+   Note that the NUL character '\0' which terminates C language strings
+is assumed and need not be explicitly specified.  If '\0' is input, it
+is translated to the NUL character.  However, this will make the
+subsequent portion of the string, if any, invisible to C standard
+library string functions.  And that may cause unintended consequences.
+Because of these context-sensitive rules, one must use 'ncatted' with
+care in order to store data, rather than text strings, in an attribute
+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
+'history':
+     ncatted -a history,global,a,c,"Data version 2.0\n" in.nc
+   Note the use of embedded C language 'printf()'-style escape
+sequences.
+
+   Change the value of the 'long_name' attribute for variable 'T' from
+whatever it currently is to "temperature":
+     ncatted -a long_name,T,o,c,temperature in.nc
+
+   NCO arithmetic operators will not work as expected on IEEE NaN (short
+for Not-a-Number) and NaN-like numbers such as positive infinity and
+negative infinity.  One way to work-around this problem is to change
+IEEE NaNs to normal missing values.  As of NCO 4.1.0 (March, 2012),
+'ncatted' works with NaNs.  First set the missing value (i.e., the value
+of the '_FillValue' attribute) for the variable(s) in question to the
+IEEE NaN value.
+     ncatted -a _FillValue,,o,f,NaN in.nc
+   Then change the missing value from the IEEE NaN value to a normal
+IEEE number, like 1.0e36 (or to whatever the original missing value
+was).
+     ncatted -a _FillValue,,m,f,1.0e36 in.nc
+
+   Delete all existing 'units' attributes:
+     ncatted -a units,,d,, in.nc
+The value of VAR_NM was left blank in order to select all variables in
+the file.  The values of ATT_TYPE and ATT_VAL were left blank because
+they are superfluous in "Delete" mode.
+
+   Delete all attributes associated with the 'tpt' variable, and delete
+all global attributes
+     ncatted -a ,tpt,d,, -a ,global,d,, in.nc
+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
+
+   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
+
+   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
+
+   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
+   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
+     # Overwrite units attribute of all 'lon' variables
+     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
+     # Add new_att attribute to all variables
+     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
+     # Add new_grp_att group attribute to single group
+     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
+
+   Demonstrate input of C-language escape sequences (e.g., '\n') and
+other special characters (e.g., '\"')
+     ncatted -h -a special,global,o,c,
+     '\nDouble quote: \"\nTwo consecutive double quotes: \"\"\n
+     Single quote: Beyond my shell abilities!\nBackslash: \\\n
+     Two consecutive backslashes: \\\\\nQuestion mark: \?\n' in.nc
+   Note that the entire attribute is protected from the shell by single
+quotes.  These outer single quotes are necessary for interactive use,
+but may be omitted in batch scripts.
+
+4.3 'ncbo' netCDF Binary Operator
+=================================
+
+SYNTAX
+     ncbo [-3] [-4] [-6] [-7] [-A] [-C] [-c]
+     [--cnk_dmn nm,sz] [--cnk_map map] [--cnk_plc plc] [--cnk_scl sz]
+     [-D DBG] [-d DIM,[MIN][,[MAX][,[STRIDE]]] [-F]
+     [-G GPE_DSC] [-g GRP[,...]] [-h] [--hdr_pad NBR]
+     [-L DFL_LVL] [-l PATH] [--no_tmp_fl]
+     [-O] [-o FILE_3] [-p PATH] [-R] [-r] [--ram_all]
+     [-t THR_NBR] [--unn] [-v VAR[,...]] [-X ...] [-x] [-y OP_TYP]
+     FILE_1 FILE_2 [FILE_3]
+
+DESCRIPTION
+
+   'ncbo' performs binary operations on variables in FILE_1 and the
+corresponding variables (those with the same name) in FILE_2 and stores
+the results in FILE_3.  The binary operation operates on the entire
+files (modulo any excluded variables).  *Note Missing Values::, for
+treatment of missing values.  One of the four standard arithmetic binary
+operations currently supported must be selected with the '-y OP_TYP'
+switch (or long options '--op_typ' or '--operation').  The valid binary
+operations for 'ncbo', their definitions, corresponding values of the
+OP_TYP key, and alternate invocations are:
+"Addition"
+     Definition: FILE_3 = FILE_1 + FILE_2
+     Alternate invocation: 'ncadd'
+     OP_TYP key values: 'add', '+', 'addition'
+     Examples: 'ncbo --op_typ=add 1.nc 2.nc 3.nc', 'ncadd 1.nc 2.nc
+     3.nc'
+"Subtraction"
+     Definition: FILE_3 = FILE_1 - FILE_2
+     Alternate invocations: 'ncdiff', 'ncsub', 'ncsubtract'
+     OP_TYP key values: 'sbt', '-', 'dff', 'diff', 'sub', 'subtract',
+     'subtraction'
+     Examples: 'ncbo --op_typ=- 1.nc 2.nc 3.nc', 'ncdiff 1.nc 2.nc 3.nc'
+"Multiplication"
+     Definition: FILE_3 = FILE_1 * FILE_2
+     Alternate invocations: 'ncmult', 'ncmultiply'
+     OP_TYP key values: 'mlt', '*', 'mult', 'multiply', 'multiplication'
+     Examples: 'ncbo --op_typ=mlt 1.nc 2.nc 3.nc', 'ncmult 1.nc 2.nc
+     3.nc'
+"Division"
+     Definition: FILE_3 = FILE_1 / FILE_2
+     Alternate invocation: 'ncdivide'
+     OP_TYP key values: 'dvd', '/', 'divide', 'division'
+     Examples: 'ncbo --op_typ=/ 1.nc 2.nc 3.nc', 'ncdivide 1.nc 2.nc
+     3.nc'
+Care should be taken when using the shortest form of key values, i.e.,
+'+', '-', '*', and '/'.  Some of these single characters may have
+special meanings to the shell (1).  Place these characters inside quotes
+to keep them from being interpreted (globbed) by the shell (2).  For
+example, the following commands are equivalent
+     ncbo --op_typ=* 1.nc 2.nc 3.nc # Dangerous (shell may try to glob)
+     ncbo --op_typ='*' 1.nc 2.nc 3.nc # Safe ('*' protected from shell)
+     ncbo --op_typ="*" 1.nc 2.nc 3.nc # Safe ('*' protected from shell)
+     ncbo --op_typ=mlt 1.nc 2.nc 3.nc
+     ncbo --op_typ=mult 1.nc 2.nc 3.nc
+     ncbo --op_typ=multiply 1.nc 2.nc 3.nc
+     ncbo --op_typ=multiplication 1.nc 2.nc 3.nc
+     ncmult 1.nc 2.nc 3.nc # First do 'ln -s ncbo ncmult'
+     ncmultiply 1.nc 2.nc 3.nc # First do 'ln -s ncbo ncmultiply'
+   No particular argument or invocation form is preferred.  Users are
+encouraged to use the forms which are most intuitive to them.
+
+   Normally, 'ncbo' will fail unless an operation type is specified with
+'-y' (equivalent to '--op_typ').  You may create exceptions to this rule
+to suit your particular tastes, in conformance with your site's policy
+on "symbolic links" to executables (files of a different name point to
+the actual executable).  For many years, 'ncdiff' was the main binary
+file operator.  As a result, many users prefer to continue invoking
+'ncdiff' rather than memorizing a new command ('ncbo -y SBT') which
+behaves identically to the original 'ncdiff' command.  However, from a
+software maintenance standpoint, maintaining a distinct executable for
+each binary operation (e.g., 'ncadd') is untenable, and a single
+executable, 'ncbo', is desirable.  To maintain backward compatibility,
+therefore, NCO automatically creates a symbolic link from 'ncbo' to
+'ncdiff'.  Thus 'ncdiff' is called an "alternate invocation" of 'ncbo'.
+'ncbo' supports many additional alternate invocations which must be
+manually activated.  Should users or system adminitrators decide to
+activate them, the procedure is simple.  For example, to use 'ncadd'
+instead of 'ncbo --op_typ=add', simply create a symbolic link from
+'ncbo' to 'ncadd' (3).  The alternatate invocations supported for each
+operation type are listed above.  Alternatively, users may always define
+'ncadd' as an "alias" to 'ncbo --op_typ=add' (4).
+
+   It is important to maintain portability in NCO scripts.  Therefore we
+recommend that site-specfic invocations (e.g., 'ncadd') be used only in
+interactive sessions from the command-line.  For scripts, we recommend
+using the full invocation (e.g., 'ncbo --op_typ=add').  This ensures
+portability of scripts between users and sites.
+
+   'ncbo' operates (e.g., adds) variables in FILE_2 with the
+corresponding variables (those with the same name) in FILE_1 and stores
+the results in FILE_3.  Variables in FILE_1 or FILE_2 are "broadcast" to
+conform to the corresponding variable in the other input file if
+necessary(5).  Now 'ncbo' is completely symmetric with respect to FILE_1
+and FILE_2, i.e., FILE_1 - FILE_2 = - (FILE_2 - FILE_1.
+
+   Broadcasting a variable means creating data in non-existing
+dimensions by copying data in existing dimensions.  For example, a two
+dimensional variable in FILE_2 can be subtracted from a four, three, or
+two (not one or zero) dimensional variable (of the same name) in
+'file_1'.  This functionality allows the user to compute anomalies from
+the mean.  In the future, we will broadcast variables in FILE_1, if
+necessary to conform to their counterparts in FILE_2.  Thus, presently,
+the number of dimensions, or "rank", of any processed variable in FILE_1
+must be greater than or equal to the rank of the same variable in
+FILE_2.  Of course, the size of all dimensions common to both FILE_1 and
+FILE_2 must be equal.
+
+   When computing anomalies from the mean it is often the case that
+FILE_2 was created by applying an averaging operator to a file with
+initially the same dimensions as FILE_1 (often FILE_1 itself).  In these
+cases, creating FILE_2 with 'ncra' rather than 'ncwa' will cause the
+'ncbo' operation to fail.  For concreteness say the record dimension in
+'file_1' is 'time'.  If FILE_2 were created by averaging FILE_1 over the
+'time' dimension with the 'ncra' operator rather than with the 'ncwa'
+operator, then FILE_2 will have a 'time' dimension of size 1 rather than
+having no 'time' dimension at all (6).  In this case the input files to
+'ncbo', FILE_1 and FILE_2, will have unequally sized 'time' dimensions
+which causes 'ncbo' to fail.  To prevent this from occuring, use 'ncwa'
+to remove the 'time' dimension from FILE_2.  See the example below.
+
+   'ncbo' never operates on coordinate variables or variables of type
+'NC_CHAR' or 'NC_STRING'.  This ensures that coordinates like (e.g.,
+latitude and longitude) are physically meaningful in the output file,
+FILE_3.  This behavior is hardcoded.  'ncbo' applies special rules to
+some CF-defined (and/or NCAR CCSM or NCAR CCM fields) such as 'ORO'.
+See *note CF Conventions:: for a complete description.  Finally, we note
+that 'ncflint' (*note ncflint netCDF File Interpolator::) is designed
+for file interpolation.  As such, it also performs file subtraction,
+addition, multiplication, albeit in a more convoluted way than 'ncbo'.
+
+   Beginning with NCO version 4.3.1 (May, 2013), 'ncbo' supports "group
+broadcasting".  Group broadcasting means processing data based on group
+patterns in the input file(s) and automatically transferring or
+transforming groups to the output file.  Consider the case where FILE_1
+contains multiple groups each with the variable V1, while FILE_2
+contains V1 only in its top-level (i.e., root) group.  Then 'ncbo' will
+replicate the group structure of FILE_1 in the output file, FILE_3.
+Each group in FILE_3 contains the output of the corresponding group in
+FILE_1 operating on the data in the single group in FILE_2.  An example
+is provided below.
+
+EXAMPLES
+
+   Say files '85_0112.nc' and '86_0112.nc' each contain 12 months of
+data.  Compute the change in the monthly averages from 1985 to 1986:
+     ncbo   86_0112.nc 85_0112.nc 86m85_0112.nc
+     ncdiff 86_0112.nc 85_0112.nc 86m85_0112.nc
+     ncbo --op_typ=sub 86_0112.nc 85_0112.nc 86m85_0112.nc
+     ncbo --op_typ='-' 86_0112.nc 85_0112.nc 86m85_0112.nc
+These commands are all different ways of expressing the same thing.
+
+   The following examples demonstrate the broadcasting feature of
+'ncbo'.  Say we wish to compute the monthly anomalies of 'T' from the
+yearly average of 'T' for the year 1985.  First we create the 1985
+average from the monthly data, which is stored with the record dimension
+'time'.
+     ncra 85_0112.nc 85.nc
+     ncwa -O -a time 85.nc 85.nc
+The second command, 'ncwa', gets rid of the 'time' dimension of size 1
+that 'ncra' left in '85.nc'.  Now none of the variables in '85.nc' has a
+'time' dimension.  A quicker way to accomplish this is to use 'ncwa'
+from the beginning:
+     ncwa -a time 85_0112.nc 85.nc
+We are now ready to use 'ncbo' to compute the anomalies for 1985:
+     ncdiff -v T 85_0112.nc 85.nc t_anm_85_0112.nc
+Each of the 12 records in 't_anm_85_0112.nc' now contains the monthly
+deviation of 'T' from the annual mean of 'T' for each gridpoint.
+
+   Say we wish to compute the monthly gridpoint anomalies from the zonal
+annual mean.  A "zonal mean" is a quantity that has been averaged over
+the longitudinal (or X) direction.  First we use 'ncwa' to average over
+longitudinal direction 'lon', creating '85_x.nc', the zonal mean of
+'85.nc'.  Then we use 'ncbo' to subtract the zonal annual means from the
+monthly gridpoint data:
+     ncwa -a lon 85.nc 85_x.nc
+     ncdiff 85_0112.nc 85_x.nc tx_anm_85_0112.nc
+This examples works assuming '85_0112.nc' has dimensions 'time' and
+'lon', and that '85_x.nc' has no 'time' or 'lon' dimension.
+
+   Group broadcasting simplifies evaluation of multiple models against
+observations.  Consider the input file 'cmip5.nc' which contains
+multiple top-level groups 'cesm', 'ecmwf', and 'giss', each of which
+contains the surface air temperature field 'tas'.  We wish to compare
+these models to observations stored in 'obs.nc' which contains 'tas'
+only in its top-level (i.e., root) group.  It is often the case that
+many models and/or model simulations exist, whereas only one
+observational dataset does.  We evaluate the models and obtain the bias
+(difference) between models and observations by subtracting 'obs.nc'
+from 'cmip5.nc'.  Then 'ncbo' "broadcasts" (i.e., replicates) the
+observational data to match the group structure of 'cmip5.nc',
+subtracts, and then stores the results in the output file, 'bias.nc'
+which has the same group structure as 'cmip5.nc'.
+     % ncbo -O cmip5.nc obs.nc bias.nc
+     % ncks -H -v tas -d time,3 bias.nc
+     /cesm/tas
+     time[3] tas[3]=-1
+     /ecmwf/tas
+     time[3] tas[3]=0
+     /giss/tas
+     time[3] tas[3]=1
+
+   As a final example, say we have five years of monthly data (i.e.,
+60 months) stored in '8501_8912.nc' and we wish to create a file which
+contains the twelve month seasonal cycle of the average monthly anomaly
+from the five-year mean of this data.  The following method is just one
+permutation of many which will accomplish the same result.  First use
+'ncwa' to create the five-year mean:
+     ncwa -a time 8501_8912.nc 8589.nc
+Next use 'ncbo' to create a file containing the difference of each
+month's data from the five-year mean:
+     ncbo 8501_8912.nc 8589.nc t_anm_8501_8912.nc
+Now use 'ncks' to group together the five January anomalies in one file,
+and use 'ncra' 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:
+     for idx in {1..12}; do # Bash Shell (version 3.0+)
+       idx=`printf "%02d" ${idx}` # Zero-pad to preserve order
+       ncks -F -d time,${idx},,12 t_anm_8501_8912.nc foo.${idx}
+       ncra foo.${idx} t_anm_8589_${idx}.nc
+     done
+     for idx in 01 02 03 04 05 06 07 08 09 10 11 12; do # Bourne Shell
+       ncks -F -d time,${idx},,12 t_anm_8501_8912.nc foo.${idx}
+       ncra foo.${idx} t_anm_8589_${idx}.nc
+     done
+     foreach idx (01 02 03 04 05 06 07 08 09 10 11 12) # C Shell
+       ncks -F -d time,${idx},,12 t_anm_8501_8912.nc foo.${idx}
+       ncra foo.${idx} t_anm_8589_${idx}.nc
+     end
+Note that 'ncra' understands the 'stride' argument so the two commands
+inside the loop may be combined into the single command
+     ncra -F -d time,${idx},,12 t_anm_8501_8912.nc foo.${idx}
+Finally, use 'ncrcat' to concatenate the 12 average monthly anomaly
+files into one twelve-record file which contains the entire seasonal
+cycle of the monthly anomalies:
+     ncrcat t_anm_8589_??.nc t_anm_8589_0112.nc
+
+   ---------- Footnotes ----------
+
+   (1) A naked (i.e., unprotected or unquoted) '*' is a wildcard
+character.  A naked '-' may confuse the command line parser.  A naked
+'+' and '/' are relatively harmless.
+
+   (2) The widely used shell Bash correctly interprets all these special
+characters even when they are not quoted.  That is, Bash does not
+prevent NCO from correctly interpreting the intended arithmetic
+operation when the following arguments are given (without quotes) to
+'ncbo': '--op_typ=+', '--op_typ=-', '--op_typ=*', and '--op_typ=/'
+
+   (3) The command to do this is 'ln -s -f ncbo ncadd'
+
+   (4) The command to do this is 'alias ncadd='ncbo --op_typ=add''
+
+   (5) Prior to NCO version 4.3.1 (May, 2013), 'ncbo' would only
+broadcast variables in FILE_2 to conform to FILE_1.  Variables in FILE_1
+were _never_ broadcast to conform to the dimensions in FILE_2.
+
+   (6) This is because 'ncra' collapses the record dimension to a size of 1
+(making it a "degenerate" dimension), but does not remove it, while,
+unless '-b' is given, 'ncwa' removes all averaged dimensions.  In other
+words, by default 'ncra' changes variable size though not rank, while,
+'ncwa' changes both variable size and rank.
+
+4.4 'nces' netCDF Ensemble Statistics
+=====================================
+
+SYNTAX
+     nces [-3] [-4] [-6] [-7] [-A] [-C] [-c]
+     [--cnk_dmn nm,sz] [--cnk_map map] [--cnk_plc plc] [--cnk_scl sz]
+     [-D DBG] [-d DIM,[MIN][,[MAX][,[STRIDE]]] [-F]
+     [-G GPE_DSC] [-g GRP[,...]] [-h] [--hdf] [--hdr_pad NBR]
+     [-L DFL_LVL] [-l PATH] [-n LOOP] [--no_tmp_fl] [--nsm_fl|grp] [--nsm_sfx sfx]
+     [-O] [-o OUTPUT-FILE] [-p PATH] [-R] [-r] [--ram_all] [--rth_dbl|flt]
+     [-t THR_NBR] [--unn] [-v VAR[,...]] [-X ...] [-x] [-y OP_TYP]
+     [INPUT-FILES] [OUTPUT-FILE]
+
+DESCRIPTION
+
+   'nces' performs gridpoint statistics on variables across an arbitrary
+number (an "ensemble") of INPUT-FILES and/or of input groups within each
+file.  Each file (or group) receives an equal weight.  'nces' was
+formerly (until NCO version 4.3.9, released December, 2013) known as
+'ncea' (netCDF Ensemble Averager)(1).  For example, 'nces' will average
+a set of files or groups, weighting each file or group evenly.  This is
+distinct from 'ncra', which performs statistics only over the record
+dimension(s) (e.g., TIME), and weights each record in each record
+dimension evenly.
+
+   The file or group is the logical unit of organization for the results
+of many scientific studies.  Often one wishes to generate a file or
+group which is the statistical product (e.g., average) of many separate
+files or groups.  This may be to reduce statistical noise by combining
+the results of a large number of experiments, or it may simply be a step
+in a procedure whose goal is to compute anomalies from a mean state.  In
+any case, when one desires to generate a file whose statistical
+properties are equally influenced by all the inputs, then 'nces' is the
+operator to use.
+
+   Variables in the OUTPUT-FILE 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 (2) 'nces' does allow files to
+differ in the record dimension size if the requested record hyperslab
+(*note Hyperslabs::) resolves to the same size for all files.  'nces'
+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.  This simplifies analysis of unequal length
+timeseries from simulation ensembles (e.g., the CMIP3 IPCC AR4 archive).
+
+   'nces' works in one of two modes, file ensembles or group ensembles.
+File ensembles are the default (equivalent to the old 'ncea') and may
+also be explicitly specified by the '--nsm_fl' or '--ensemble_file'
+switches.  To perform statistics on ensembles of groups, a newer
+feature, use '--nsm_grp' or '--ensemble_group'.  Members of a group
+ensemble are groups that share the same structure, parent group, and
+nesting level.  Members must be "leaf groups", i.e., not contain any
+sub-groups.  Their contents usually have different values because they
+are realizations of replicated experiments.  In group ensemble mode
+'nces' computes the statistics across the ensemble, which may span
+multiple input files.  Files may contain members of multiple, distinct
+ensembles.  However, all ensembles must have at least one member in the
+first input file.  Group ensembles behave as an unlimited dimension of
+datasets: they may contain an arbitrary and extensible number of
+realizations in each file, and may be composed from multiple files.
+
+   Output statistics in group ensemble mode are stored in the parent
+group by default.  If the ensemble members are '/cesm/cesm_01' and
+'/cesm/cesm_02', then the computed statistic will be in '/cesm' in the
+output file.  The '--nsm_sfx' option instructs nces to instead store
+output in a new child group of the parent created by attaching the
+suffix to the parent group's name, e.g., '--nsm_sfx='_avg'' would store
+results in the output group '/cesm/cesm_avg':
+     nces --nsm_grp                  mdl1.nc mdl2.nc mdl3.nc out.nc
+     nces --nsm_grp --nsm_sfx='_avg' mdl1.nc mdl2.nc mdl3.nc out.nc
+
+   *Note Statistics vs. Concatenation::, for a description of the
+distinctions between the statistics tools and concatenators.  As a
+multi-file operator, 'nces' will read the list of INPUT-FILES from
+'stdin' if they are not specified as positional arguments on the command
+line (*note Large Numbers of Files::).
+
+   Like 'ncra' and 'ncwa', 'nces' treats coordinate variables as a
+special case.  Coordinate variables are assumed to be the same in all
+ensemble members, so 'nces' simply copies the coordinate variables that
+appear in ensemble members directly to the output file.  This has the
+same effect as averaging the coordinate variable across the ensemble,
+yet does not incur the time- or precision- penalties of actually
+averaging them.  'ncra' and 'ncwa' allow coordinate variables to be
+processed only by the linear average operation, regardless of the
+arithmetic operation type performed on the non-coordinate variables
+(*note Operation Types::).  Thus it can be said that the three operators
+('ncra', 'ncwa', and 'nces') all average coordinate variables (even
+though 'nces' simply copies them).  All other requested arithmetic
+operations (e.g., maximization, square-root, RMS) are applied only to
+non-coordinate variables.  In these cases the linear average of the
+coordinate variable will be returned.
+
+EXAMPLES
+
+   Consider a model experiment which generated five realizations of one
+year of data, say 1985.  Imagine that the experimenter slightly perturbs
+the initial conditions of the problem before generating each new
+solution.  Assume each file contains all twelve months (a seasonal
+cycle) of data and we want to produce a single file containing the
+ensemble average (mean) seasonal cycle.  Here the numeric filename
+suffix denotes the realization number (_not_ the month):
+     nces 85_01.nc 85_02.nc 85_03.nc 85_04.nc 85_05.nc 85.nc
+     nces 85_0[1-5].nc 85.nc
+     nces -n 5,2,1 85_01.nc 85.nc
+These three commands produce identical answers.  *Note Specifying Input
+Files::, for an explanation of the distinctions between these methods.
+The output file, '85.nc', is the same size as the inputs files.  It
+contains 12 months of data (which might or might not be stored in the
+record dimension, depending on the input files), but each value in the
+output file is the average of the five values in the input files.
+
+   In the previous example, the user could have obtained the ensemble
+average values in a particular spatio-temporal region by adding a
+hyperslab argument to the command, e.g.,
+     nces -d time,0,2 -d lat,-23.5,23.5 85_??.nc 85.nc
+In this case the output file would contain only three slices of data in
+the TIME dimension.  These three slices are the average of the first
+three slices from the input files.  Additionally, only data inside the
+tropics is included.
+
+   As of NCO version 4.3.9 (released December, 2013) 'nces' also works
+with groups (rather than files) as the fundamental unit of the ensemble.
+Consider two ensembles, '/ecmwf' and '/cesm' stored across three input
+files 'mdl1.nc', 'mdl2.nc', and 'mdl3.nc'.  Ensemble members would be
+leaf groups with names like '/ecmwf/01', '/ecmwf/02' etc.  and
+'/cesm/01', '/cesm/02', etc.  These commands average both ensembles:
+     nces --nsm_grp mdl1.nc mdl2.nc mdl3.nc out.nc
+     nces --nsm_grp --nsm_sfx='_min' --op_typ=min -n 3,1,1 mdl1.nc out.nc
+     nces --nsm_grp -g cesm -v tas -d time,0,3 -n 3,1,1 mdl1.nc out.nc
+   The first command stores averages in the output groups '/cesm' and
+'/ecmwf', while the second stores minima in the output groups
+'/cesm/cesm_min' and '/ecmwf/ecmwf_min': The third command demonstrates
+that sub-setting and hyperslabbing work as expected.  Note that each
+input file may contain different numbers of members of each ensemble, as
+long as all distinct ensembles contain at least one member in the first
+file.
+
+   ---------- Footnotes ----------
+
+   (1) The old ncea command was deprecated in NCO version 4.3.9,
+released December, 2013.  NCO will attempt to maintain
+back-compatibility and work as expected with invocations of 'ncea' for
+as long as possible.  Please replace 'ncea' by 'nces' in all future
+work.
+
+   (2) As of NCO version 4.4.2 (released February, 2014) 'nces' allows
+hyperslabs in all dimensions so long as the hyperslabs resolve to the
+same size.  The fixed (i.e., non-record) dimensions should be the same
+size in all ensemble members both before and after hyperslabbing,
+although the hypserslabs may (and usually do) change the size of the
+dimensions from the input to the output files.  Prior to this, 'nces'
+was only guaranteed to work on hyperslabs in the record dimension that
+resolved to the same size.
+
+4.5 'ncecat' netCDF Ensemble Concatenator
+=========================================
+
+SYNTAX
+     ncecat [-3] [-4] [-6] [-7] [-A] [-C] [-c]
+     [--cnk_dmn nm,sz] [--cnk_map map] [--cnk_plc plc] [--cnk_scl sz]
+     [-D DBG] [-d DIM,[MIN][,[MAX][,[STRIDE]]] [-F]
+     [-G GPE_DSC] [-g GRP[,...]] [--gag] [-h] [--hdf] [--hdr_pad NBR]
+     [-L DFL_LVL] [-l PATH] [-M] [--md5_digest] [--mrd] [-n LOOP] [--no_tmp_fl]
+     [-O] [-o OUTPUT-FILE] [-p PATH] [-R] [-r] [--ram_all]
+     [-t THR_NBR] [-u ULM_NM] [--unn] [-v VAR[,...]] [-X ...] [-x]
+     [INPUT-FILES] [OUTPUT-FILE]
+
+DESCRIPTION
+
+   'ncecat' aggregates an arbitrary number of input files into a single
+output file using using one of two methods.  "Record AGgregation" (RAG),
+the traditional method employed on netCDF3 files and still the default
+method, stores INPUT-FILES as consecutive records in the OUTPUT-FILE.
+"Group AGgregation" (GAG) stores INPUT-FILES as top-level groups in the
+netCDF4 OUTPUT-FILE.  Record Aggregation (RAG) makes numerous
+assumptions about the structure of input files and Group Aggregation
+(GAG) makes none.  Both methods are described in detail below.  Since
+'ncecat' aggregates all the contents of the input files, it can easily
+produce large output files so it is often helpful to invoke subsetting
+simultaneously (*note Subsetting Files::).
+
+   RAG 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 OUTPUT-FILE.  All INPUT-FILES
+must contain all extracted variables (or else there would be "gaps" in
+the output file).
+
+   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, "record".  This default name can be overridden with the '-u
+ULM_NM' short option (or the '--ulm_nm' or 'rcd_nm' long options).
+
+   Each extracted variable must be constant in size and rank across all
+INPUT-FILES.  The only exception is that 'ncecat' allows files to differ
+in the record dimension size if the requested record hyperslab (*note
+Hyperslabs::) resolves to the same size for all files.  This allows
+easier gluing/averaging of unequal length timeseries from simulation
+ensembles (e.g., the CMIP rchive).
+
+   Classic (i.e., all netCDF3 and 'NETCDF4_CLASSIC') output files can
+contain only one record dimension.  'ncecat' makes room for the new glue
+record dimension by changing the pre-existing record dimension, if any,
+in the input files into a fixed dimension in the output file.  netCDF4
+output files may contain any number of record dimensions, so 'ncecat'
+need not and does not alter the record dimensions, if any, of the input
+files as it copies them to the output file.
+
+   "Group AGgregation" (GAG) stores INPUT-FILES as top-level groups in
+the OUTPUT-FILE.  No assumption is made about the size or shape or type
+of a given object (variable or dimension or group) in the input file.
+The entire contents of the extracted portion of each input file is
+placed in its own top-level group in OUTPUT-FILE, which is automatically
+made as a netCDF4-format file.
+
+   GAG has two methods to specify group names for the OUTPUT-FILE.  The
+'-G' option, or its long-option equivalent '--gpe', takes as argument a
+group path editing description GPE_DSC of where to place the results.
+Each input file needs a distinct output group name to avoid namespace
+conflicts in the OUTPUT-FILE.  Hence 'ncecat' automatically creates
+unique output group names based on either the input filenames or the
+GPE_DSC arguments.  When the user provides GPE_DSC (i.e., with '-G'),
+then the output groups are formed by enumerating sequential two-digit
+numeric suffixes starting with zero, and appending them to the specified
+group path (*note Group Path Editing::).  When GPE_DSC is not provided
+(i.e., user requests GAG with '--gag' instead of '-G'), then 'ncecat'
+forms the output groups by stripping the input file name of any
+type-suffix (e.g., '.nc'), and all but the final component of the full
+filename.
+     ncecat --gag 85.nc 86.nc 87.nc 8587.nc # Output groups 85, 86, 87
+     ncecat -G 85_ a.nc b.nc c.nc 8589.nc # Output groups 85_00, 85_01, 85_02
+     ncecat -G 85/ a.nc b.nc c.nc 8589.nc # Output groups 85/00, 85/01, 85/02
+
+   With both RAG and GAG the OUTPUT-FILE size is the sum of the sizes of
+the extracted variables in the input files.  *Note Statistics vs.
+Concatenation::, for a description of the distinctions between the
+various statistics tools and concatenators.  As a multi-file operator,
+'ncecat' will read the list of INPUT-FILES from 'stdin' if they are not
+specified as positional arguments on the command line (*note Large
+Numbers of Files::).
+
+   Suppress global metadata copying.  By default NCO's multi-file
+operators copy the global metadata from the first input file into
+OUTPUT-FILE.  This helps to preserve the provenance of the output data.
+However, the use of metadata is burgeoning and is not uncommon to
+encounter files with excessive amounts of extraneous metadata.
+Extracting small bits of data from such files leads to output files
+which are much larger than necessary due to the automatically copied
+metadata.  'ncecat' supports turning off the default copying of global
+metadata via the '-M' switch (or its long option equivalents,
+'--glb_mtd_spp' and '--global_metadata_suppress').
+
+   Consider five realizations, '85a.nc', '85b.nc', ... '85e.nc' of 1985
+predictions from the same climate model.  Then 'ncecat 85?.nc 85_ens.nc'
+glues together the individual realizations into the single file,
+'85_ens.nc'.  If an input variable was dimensioned ['lat','lon'], it
+will by default have dimensions ['record','lat','lon'] in the output
+file.  A restriction of 'ncecat' is that the hyperslabs of the processed
+variables must be the same from file to file.  Normally this means all
+the input files are the same size, and contain data on different
+realizations of the same variables.
+
+   Concatenating a variable packed with different scales across multiple
+datasets is beyond the capabilities of 'ncecat' (and 'ncrcat', the other
+concatenator (*note Concatenation::).  'ncecat' does not unpack data, it
+simply _copies_ the data from the INPUT-FILES, and the metadata from the
+_first_ INPUT-FILE, to the OUTPUT-FILE.  This means that data compressed
+with a packing convention must use the identical packing parameters
+(e.g., 'scale_factor' and 'add_offset') for a given variable across
+_all_ input files.  Otherwise the concatenated dataset will not unpack
+correctly.  The workaround for cases where the packing parameters differ
+across INPUT-FILES requires three steps: First, unpack the data using
+'ncpdq'.  Second, concatenate the unpacked data using 'ncecat', Third,
+re-pack the result with 'ncpdq'.
+
+EXAMPLES
+
+   Consider a model experiment which generated five realizations of one
+year of data, say 1985.  You can imagine that the experimenter slightly
+perturbs the initial conditions of the problem before generating each
+new solution.  Assume each file contains all twelve months (a seasonal
+cycle) of data and we want to produce a single file containing all the
+seasonal cycles.  Here the numeric filename suffix denotes the
+experiment number (_not_ the month):
+     ncecat 85_01.nc 85_02.nc 85_03.nc 85_04.nc 85_05.nc 85.nc
+     ncecat 85_0[1-5].nc 85.nc
+     ncecat -n 5,2,1 85_01.nc 85.nc
+These three commands produce identical answers.  *Note Specifying Input
+Files::, for an explanation of the distinctions between these methods.
+The output file, '85.nc', is five times the size as a single INPUT-FILE.
+It contains 60 months of data.
+
+   One often prefers that the (new) record dimension have a more
+descriptive, context-based name than simply "record".  This is easily
+accomplished with the '-u ULM_NM' switch:
+     ncecat -u realization 85_0[1-5].nc 85.nc
+Users are more likely to understand the data processing history when
+such descriptive coordinates are used.
+
+   Consider a file with an existing record dimension named 'time'.  and
+suppose the user wishes to convert 'time' from a record dimension to a
+non-record dimension.  This may be useful, for example, when the user
+has another use for the record variable.  The simplest method is to use
+'ncks --fix_rec_dmn' but another possibility is to use 'ncecat' followed
+by 'ncwa':
+     ncecat in.nc out.nc # Convert time to non-record dimension
+     ncwa -a record in.nc out.nc # Remove new degenerate record dimension
+The second step removes the degenerate record dimension.  See *note
+ncpdq netCDF Permute Dimensions Quickly:: and *note ncks netCDF Kitchen
+Sink:: for other methods of of changing variable dimensionality,
+including the record dimension.
+
+4.6 'ncflint' netCDF File Interpolator
+======================================
+
+SYNTAX
+     ncflint [-3] [-4] [-6] [-7] [-A] [-C] [-c]
+     [--cnk_dmn nm,sz] [--cnk_map map] [--cnk_plc plc] [--cnk_scl sz]
+     [-D DBG] [-d DIM,[MIN][,[MAX][,[STRIDE]]]
+     [-F] [--fix_rec_crd] [-G GPE_DSC] [-g GRP[,...]] [-h] [--hdr_pad NBR]
+     [-i VAR,VAL3] [-L DFL_LVL] [-l PATH] [--no_tmp_fl]
+     [-O] [-o FILE_3] [-p PATH] [-R] [-r] [--ram_all]
+     [-t THR_NBR] [--unn] [-v VAR[,...]] [-w WGT1[,WGT2]] [-X ...] [-x]
+     FILE_1 FILE_2 [FILE_3]
+
+DESCRIPTION
+
+   'ncflint' creates an output file that is a linear combination of the
+input files.  This linear combination is a weighted average, a
+normalized weighted average, or an interpolation of the input files.
+Coordinate variables are not acted upon in any case, they are simply
+copied from FILE_1.
+
+   There are two conceptually distinct methods of using 'ncflint'.  The
+first method is to specify the weight each input file contributes to the
+output file.  In this method, the value VAL3 of a variable in the output
+file FILE_3 is determined from its values VAL1 and VAL2 in the two input
+files according to VAL3 = WGT1*VAL1 + WGT2*VAL2 .  Here at least WGT1,
+and, optionally, WGT2, are specified on the command line with the '-w'
+(or '--weight' or '--wgt_var') switch.  If only WGT1 is specified then
+WGT2 is automatically computed as WGT2 = 1 - WGT1.  Note that weights
+larger than 1 are allowed.  Thus it is possible to specify WGT1 = 2 and
+WGT2 = -3.  One can use this functionality to multiply all the values in
+a given file by a constant.
+
+   The second method of using 'ncflint' is to specify the interpolation
+option with '-i' (or with the '--ntp' or '--interpolate' long options).
+This is the inverse of the first method in the following sense: When the
+user specifies the weights directly, 'ncflint' has no work to do besides
+multiplying the input values by their respective weights and adding
+together the results to produce the output values.  It makes sense to
+use this when the weights are known _a priori_.
+
+   Another class of problems has the "arrival value" (i.e., VAL3) of a
+particular variable VAR known _a priori_.  In this case, the implied
+weights can always be inferred by examining the values of VAR in the
+input files.  This results in one equation in two unknowns, WGT1 and
+WGT2: VAL3 = WGT1*VAL1 + WGT2*VAL2 .  Unique determination of the
+weights requires imposing the additional constraint of normalization on
+the weights: WGT1 + WGT2 = 1.  Thus, to use the interpolation option,
+the user specifies VAR and VAL3 with the '-i' option.  'ncflint' then
+computes WGT1 and WGT2, and uses these weights on all variables to
+generate the output file.  Although VAR may have any number of
+dimensions in the input files, it must represent a single, scalar value.
+Thus any dimensions associated with VAR must be "degenerate", i.e., of
+size one.
+
+   If neither '-i' nor '-w' is specified on the command line, 'ncflint'
+defaults to weighting each input file equally in the output file.  This
+is equivalent to specifying '-w 0.5' or '-w 0.5,0.5'.  Attempting to
+specify both '-i' and '-w' methods in the same command is an error.
+
+   'ncflint' does not interpolate variables of type 'NC_CHAR' and
+'NC_STRING'.  This behavior is hardcoded.
+
+   By default 'ncflint' interpolates or multiplies record coordinate
+variables (e.g., time is often stored as a record coordinate) not other
+coordinate variables (e.g., latitude and longitude).  This is because
+'ncflint' is often used to time-interpolate between existing files, but
+is rarely used to spatially interpolate.  Sometimes however, users wish
+to multiply entire files by a constant that does not multiply any
+coordinate variables.  The '--fix_rec_crd' switch was implemented for
+this purpose in NCO version 4.2.6 (March, 2013).  It prevents 'ncflint'
+from multiplying or interpolating any coordinate variables, including
+record coordinate variables.
+
+   Depending on your intuition, 'ncflint' may treat missing values
+unexpectedly.  Consider a point where the value in one input file, say
+VAL1, equals the missing value MSS_VAL_1 and, at the same point, the
+corresponding value in the other input file VAL2 is not misssing (i.e.,
+does not equal MSS_VAL_2).  There are three plausible answers, and this
+creates ambiguity.
+
+   Option one is to set VAL3 = MSS_VAL_1.  The rationale is that
+'ncflint' is, at heart, an interpolator and interpolation involving a
+missing value is intrinsically undefined.  'ncflint' currently
+implements this behavior since it is the most conservative and least
+likely to lead to misinterpretation.
+
+   Option two is to output the weighted valid data point, i.e., VAL3 =
+WGT2*VAL2 .  The rationale for this behavior is that interpolation is
+really a weighted average of known points, so 'ncflint' should weight
+the valid point.
+
+   Option three is to return the _unweighted_ valid point, i.e., VAL3 =
+VAL2.  This behavior would appeal to those who use 'ncflint' to estimate
+data using the closest available data.  When a point is not bracketed by
+valid data on both sides, it is better to return the known datum than no
+datum at all.
+
+   The current implementation uses the first approach, Option one.  If
+you have strong opinions on this matter, let us know, since we are
+willing to implement the other approaches as options if there is enough
+interest.
+
+EXAMPLES
+
+   Although it has other uses, the interpolation feature was designed to
+interpolate FILE_3 to a time between existing files.  Consider input
+files '85.nc' and '87.nc' containing variables describing the state of a
+physical system at times 'time' = 85 and 'time' = 87.  Assume each file
+contains its timestamp in the scalar variable 'time'.  Then, to linearly
+interpolate to a file '86.nc' which describes the state of the system at
+time at 'time' = 86, we would use
+     ncflint -i time,86 85.nc 87.nc 86.nc
+
+   Say you have observational data covering January and April 1985 in
+two files named '85_01.nc' and '85_04.nc', respectively.  Then you can
+estimate the values for February and March by interpolating the existing
+data as follows.  Combine '85_01.nc' and '85_04.nc' in a 2:1 ratio to
+make '85_02.nc':
+     ncflint -w 0.667 85_01.nc 85_04.nc 85_02.nc
+     ncflint -w 0.667,0.333 85_01.nc 85_04.nc 85_02.nc
+
+   Multiply '85.nc' by 3 and by -2 and add them together to make
+'tst.nc':
+     ncflint -w 3,-2 85.nc 85.nc tst.nc
+This is an example of a null operation, so 'tst.nc' should be identical
+(within machine precision) to '85.nc'.
+
+   Multiply all the variables except the coordinate variables in the
+file 'emissions.nc' by by 0.8:
+     ncflint --fix_rec_crd -w 0.8,0.0 emissions.nc emissions.nc scaled_emissions.nc
+The use of '--fix_rec_crd' ensures, e.g., that the 'time' coordinate, if
+any, is not scaled (i.e., multiplied).
+
+   Add '85.nc' to '86.nc' to obtain '85p86.nc', then subtract '86.nc'
+from '85.nc' to obtain '85m86.nc'
+     ncflint -w 1,1 85.nc 86.nc 85p86.nc
+     ncflint -w 1,-1 85.nc 86.nc 85m86.nc
+     ncdiff 85.nc 86.nc 85m86.nc
+Thus 'ncflint' can be used to mimic some 'ncbo' operations.  However
+this is not a good idea in practice because 'ncflint' does not broadcast
+(*note ncbo netCDF Binary Operator::) conforming variables during
+arithmetic.  Thus the final two commands would produce identical results
+except that 'ncflint' would fail if any variables needed to be
+broadcast.
+
+   Rescale the dimensional units of the surface pressure 'prs_sfc' from
+Pascals to hectopascals (millibars)
+     ncflint -C -v prs_sfc -w 0.01,0.0 in.nc in.nc out.nc
+     ncatted -a units,prs_sfc,o,c,millibar out.nc
+
+4.7 'ncks' netCDF Kitchen Sink
+==============================
+
+SYNTAX
+     ncks [-3] [-4] [-5] [-6] [-7] [-A] [-a] [-b BINARY-FILE] [-C] [-c] [--cdl]
+     [--cnk_dmn nm,sz] [--cnk_map map] [--cnk_plc plc] [--cnk_scl sz]
+     [-D DBG] [-d DIM,[MIN][,[MAX][,[STRIDE]]] [-F] [--fix_rec_dmn DIM]
+     [-G GPE_DSC] [-g GRP[,...]] [-H] [-h] [--hdn] [--hdr_pad NBR]
+     [-L DFL_LVL] [-l PATH] [-M] [-m] [--mk_rec_dmn DIM] [--md5_digest]
+     [--no_blank] [--no_tmp_fl] [-O] [-o OUTPUT-FILE] [-P] [-p PATH]
+     [-Q] [-q] [-R] [-r] [--ram_all] [-s FORMAT]
+     [-u] [--unn] [-v VAR[,...]] [-X ...] [-x] [--xml]
+     INPUT-FILE [[OUTPUT-FILE]]
+
+DESCRIPTION
+
+   The nickname "kitchen sink" is a catch-all because 'ncks' combines
+most features of 'ncdump' and 'nccopy' with extra features to extract,
+hyperslab, multi-slab, sub-set, and translate into one versatile
+utility.  'ncks' extracts (a subset of the) data from INPUT-FILE and and
+writes (or pastes) it in netCDF format to OUTPUT-FILE, and optionally
+writes it in flat binary format to 'binary-file', and optionally prints
+it to screen.
+
+   'ncks' prints netCDF input data in ASCII, CDL, or NcML text formats
+'stdout', like (an extended version of) 'ncdump'.  By default 'ncks'
+prints data in a tabular format intended to be easy to search for the
+data you want, one datum per screen line, with all dimension subscripts
+and coordinate values (if any) preceding the datum.  Option '-s' (or
+long options '--sng_fmt' and '--string') permits the user to format data
+using C-style format strings, while option '--cdl' outputs CDL and
+option '--xml' outputs NcML.  'ncks' exposes many flexible controls over
+printed output, including CDL and NcML.
+
+   Options '-5', '-a', '--cdl', '-F' , '-H', '--hdn', '-M', '-m', '-P',
+'-Q', '-q', '-s', '-u', '--xml' (and their long option counterparts)
+control the formatted appearance of the data.
+
+   'ncks' extracts (and optionally creates a new netCDF file comprised
+of) only selected variables from the input file (similar to the old
+'ncextr' specification).  Only variables and coordinates may be
+specifically included or excluded--all global attributes and any
+attribute associated with an extracted variable are copied to the screen
+and/or output netCDF file.  Options '-c', '-C', '-v', and '-x' (and
+their long option synonyms) control which variables are extracted.
+
+   'ncks' extracts hyperslabs from the specified variables ('ncks'
+implements the original 'nccut' specification).  Option '-d' controls
+the hyperslab specification.  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.
+
+   'ncks' will append variables and attributes from the INPUT-FILE to
+OUTPUT-FILE if OUTPUT-FILE is a pre-existing netCDF file whose relevant
+dimensions conform to dimension sizes of INPUT-FILE.  The append
+features of 'ncks' are intended to provide a rudimentary means of adding
+data from one netCDF file to another, conforming, netCDF file.  If
+naming conflicts exist between the two files, data in OUTPUT-FILE is
+usually overwritten by the corresponding data from INPUT-FILE.  Thus,
+when appending, the user should backup OUTPUT-FILE in case valuable data
+are inadvertantly overwritten.
+
+   If OUTPUT-FILE exists, the user will be queried whether to
+"overwrite", "append", or "exit" the 'ncks' call completely.  Choosing
+"overwrite" destroys the existing OUTPUT-FILE and create an entirely new
+one from the output of the 'ncks' call.  Append has differing effects
+depending on the uniqueness of the variables and attributes output by
+'ncks': If a variable or attribute extracted from INPUT-FILE does not
+have a name conflict with the members of OUTPUT-FILE then it will be
+added to OUTPUT-FILE without overwriting any of the existing contents of
+OUTPUT-FILE.  In this case the relevant dimensions must agree (conform)
+between the two files; new dimensions are created in OUTPUT-FILE as
+required.  When a name conflict occurs, a global attribute from
+INPUT-FILE will overwrite the corresponding global attribute from
+OUTPUT-FILE.  If the name conflict occurs for a non-record variable,
+then the dimensions and type of the variable (and of its coordinate
+dimensions, if any) must agree (conform) in both files.  Then the
+variable values (and any coordinate dimension values) from INPUT-FILE
+will overwrite the corresponding variable values (and coordinate
+dimension values, if any) in OUTPUT-FILE (1).
+
+   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 both files if a record dimension variable is to be appended.  If the
+record dimensions are of differing sizes, the record dimension of
+OUTPUT-FILE will become the greater of the two record dimension sizes,
+the record variable from INPUT-FILE will overwrite any counterpart in
+OUTPUT-FILE and fill values will be written to any gaps left in the rest
+of the record variables (I think).  In all cases variable attributes in
+OUTPUT-FILE are superseded by attributes of the same name from
+INPUT-FILE, and left alone if there is no name conflict.
+
+   Some users may wish to avoid interactive 'ncks' queries about whether
+to overwrite existing data.  For example, batch scripts will fail if
+'ncks' does not receive responses to its queries.  Options '-O' and '-A'
+are available to force overwriting existing files and variables,
+respectively.
+
+Options specific to 'ncks'
+--------------------------
+
+The following list provides a short summary of the features unique to
+'ncks'.  Features common to many operators are described in *note Common
+features::.
+
+'-5'
+     Print data to screen alphabetically by group, and alphabetically by
+     variable within each group.  This ordering here is used by default
+     in CDL-mode printing, and may be selected for traditional mode
+     printing with '-5' (The switch for invocation may change to
+     something more descriptive in the future).
+
+'-a'
+     Do not alphabetize extracted fields.  By default, the specified
+     output variables are extracted, printed, and written to disk in
+     alphabetical order.  This tends to make long output lists easier to
+     search for particular variables.  Specifying '-a' results in the
+     variables being extracted, printed, and written to disk in the
+     order in which they were saved in the input file.  Thus '-a'
+     retains the original ordering of the variables.  Also '--abc' and
+     '--alphabetize'.
+
+'-b 'file''
+     Activate native machine binary output writing to binary file
+     'file'.  Also '--fl_bnr' and '--binary-file'.  Writing packed
+     variables in binary format is not supported.
+
+'--fix_rec_dmn'
+     Change record dimension DIM in the input file into a fixed
+     dimension in the output file.  Also '--no_rec_dmn'.  Before NCO
+     version 4.2.5 (January, 2013), the syntax for '--fix_rec_dmn' did
+     not permit or require the specification of the dimension name DIM.
+     This is because the feature only worked on netCDF3 files, which
+     support only one record dimension, so specifying its name was not
+     necessary.  netCDF4 files allow an arbitrary number of record
+     dimensions, so the user must specify which record dimension to fix.
+     The decision was made that starting with NCO version 4.2.5
+     (January, 2013), it is always required to specify the dimension
+     name to fix regardless of the netCDF file type.  This keeps the
+     code simple, and is symmetric with the syntax for '--mk_rec_dmn',
+     described next.
+
+     As of NCO version 4.4.0 (January, 2014), the argument 'all' may be
+     given to '--fix_rec_dmn' to convert _all_ record dimensions to
+     fixed dimensions in the output file.  Previously, '--fix_rec_dmn'
+     only allowed one option, the name of a single record dimension to
+     be fixed.  Now it is simple to simultaneously fix all record
+     dimensions.  This is useful (and nearly mandatory) when flattening
+     netCDF4 files that have multiple record dimensions per group into
+     netCDF3 files (which are limited to at most one record dimension)
+     (*note Group Path Editing::).
+
+     As of NCO version 4.4.0 (January, 2014), the '--hdn' or '--hidden'
+     options print hidden (aka special) attributes.  This is equivalent
+     to 'ncdump -s'.  Hidden attributes include: '_Format',
+     '_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.
+
+'--cdl'
+     As of NCO version 4.3.3 (July, 2013), 'ncks' can print extracted
+     data and metadata to screen (i.e., 'stdout') as valid CDL (network
+     Common data form Description Language).  CDL is the human-readable
+     "lingua franca" of netCDF ingested by 'ncgen' and excreted by
+     'ncdump'.  Compare 'ncks' "traditional" with CDL printing:
+          zender at roulee:~$ ncks -v one ~/nco/data/in.nc
+          one: type NC_FLOAT, 0 dimensions, 1 attribute, chunked? no, compressed? no, packed? no
+          one size (RAM) = 1*sizeof(NC_FLOAT) = 1*4 = 4 bytes
+          one attribute 0: long_name, size = 3 NC_CHAR, value = one
+
+          one = 1
+
+          zender at roulee:~$ ncks --cdl -v one ~/nco/data/in.nc
+          netcdf in {
+
+            variables:
+              float one ;
+              one:long_name = "one" ;
+
+            data:
+              one = 1 ;
+
+          } // group /
+     'ncgen' converts CDL-mode output into a netCDF file:
+          ncks --cdl -v one ~/nco/data/in.nc > ~/in.cdl
+          ncgen -k netCDF-4 -b -o ~/in.nc ~/in.cdl
+          ncks -v one ~/in.nc
+     The HDF version of 'ncgen', often named 'hncgen' or 'ncgen-hdf',
+     converts netCDF3 CDL into an HDF file:
+          /usr/hdf4/bin/ncgen -b -o ~/in.hdf ~/in.cdl # HDF ncgen (local builds)
+          /usr/bin/hncgen     -b -o ~/in.hdf ~/in.cdl # Same as HDF ncgen (RPM packages?)
+          /usr/bin/ncgen-hdf  -b -o ~/in.hdf ~/in.cdl # Same as HDF ncgen (Debian packages?)
+          hdp dumpsds ~/in.hdf                        # ncdump-equivalent for HDF4 files
+     Note that HDF4 does not support netCDF-style groups, so the above
+     commands fail when the input file contains groups.  Only netCDF4
+     and HDF5 support groups.  In our experience the HDF 'ncgen'
+     command, by whatever name installed, is not robust and can fail on
+     valid netCDF3 CDL.
+
+'--mk_rec_dmn DIM'
+     Change existing dimension DIM to a record dimension in the output
+     file.  This is the most straightforward way of changing a dimension
+     to a/the record dimension, and works fine in most cases.  See *note
+     ncecat netCDF Ensemble Concatenator:: and *note ncpdq netCDF
+     Permute Dimensions Quickly:: for other methods of changing variable
+     dimensionality, including the record dimension.
+
+'-H'
+     Turn-on printing to screen or turn-off copying data (not metadata).
+     Also activated using '--print' or '--prn'.  By default 'ncks'
+     prints all metadata and data to screen if no netCDF output file is
+     specified.  Use '-H' to print data to screen if a netCDF output is
+     specified, or to restrict printing to data (no metadata) when no
+     netCDF output is specified.  Also use '-H' to turn-off copying data
+     (not metadata) to an output file.  Unless otherwise specified (with
+     '-s'), each element of the data hyperslab prints on a separate line
+     containing the names, indices, and, values, if any, of all of the
+     variables dimensions.  The dimension and variable indices refer to
+     the location of the corresponding data element with respect to the
+     variable as stored on disk (i.e., not the hyperslab).
+          % ncks -C -v three_dmn_var in.nc
+          lat[0]=-90 lev[0]=100 lon[0]=0 three_dmn_var[0]=0
+          lat[0]=-90 lev[0]=100 lon[1]=90 three_dmn_var[1]=1
+          lat[0]=-90 lev[0]=100 lon[2]=180 three_dmn_var[2]=2
+          ...
+          lat[1]=90 lev[2]=1000 lon[1]=90 three_dmn_var[21]=21
+          lat[1]=90 lev[2]=1000 lon[2]=180 three_dmn_var[22]=22
+          lat[1]=90 lev[2]=1000 lon[3]=270 three_dmn_var[23]=23
+     Printing the same variable with the '-F' option shows the same
+     variable indexed with Fortran conventions
+          % ncks -F -C -v three_dmn_var in.nc
+          lon(1)=0 lev(1)=100 lat(1)=-90 three_dmn_var(1)=0
+          lon(2)=90 lev(1)=100 lat(1)=-90 three_dmn_var(2)=1
+          lon(3)=180 lev(1)=100 lat(1)=-90 three_dmn_var(3)=2
+          ...
+     Printing a hyperslab does not affect the variable or dimension
+     indices since these indices are relative to the full variable (as
+     stored in the input file), and the input file has not changed.
+     However, if the hyperslab is saved to an output file and those
+     values are printed, the indices will change:
+          % ncks -H -d lat,90.0 -d lev,1000.0 -v three_dmn_var in.nc out.nc
+          ...
+          lat[1]=90 lev[2]=1000 lon[0]=0 three_dmn_var[20]=20
+          lat[1]=90 lev[2]=1000 lon[1]=90 three_dmn_var[21]=21
+          lat[1]=90 lev[2]=1000 lon[2]=180 three_dmn_var[22]=22
+          lat[1]=90 lev[2]=1000 lon[3]=270 three_dmn_var[23]=23
+          % ncks -C -v three_dmn_var out.nc
+          lat[0]=90 lev[0]=1000 lon[0]=0 three_dmn_var[0]=20
+          lat[0]=90 lev[0]=1000 lon[1]=90 three_dmn_var[1]=21
+          lat[0]=90 lev[0]=1000 lon[2]=180 three_dmn_var[2]=22
+          lat[0]=90 lev[0]=1000 lon[3]=270 three_dmn_var[3]=23
+
+'-M'
+     Turn-on printing to screen or turn-off copying global and group
+     metadata.  This includes file summary information and global and
+     group attributes.  Also '--Mtd' and '--Metadata'.  By default
+     'ncks' prints global metadata to screen if no netCDF output file
+     and no variable extraction list is specified (with '-v').  Use '-M'
+     to print global metadata to screen if a netCDF output is specified,
+     or if a variable extraction list is specified (with '-v').  Use
+     '-M' to turn-off copying of global and group metadata when copying,
+     subsetting, or appending to an output file.
+
+     The various combinations of printing switches can be confusing.  In
+     an attempt to anticipate what most users want to do, 'ncks' uses
+     context-sensitive defaults for printing.  Our goal is to minimize
+     the use of switches required to accomplish the common operations.
+     We assume that users creating a new file or overwriting (e.g., with
+     '-O') an existing file usually wish to copy all global and
+     variable-specific attributes to the new file.  In contrast, we
+     assume that users appending (e.g., with '-A' an explicit variable
+     list from one file to another usually wish to copy only the
+     variable-specific attributes to the output file.  The switches
+     '-H', '-M', and '-m' switches are implemented as toggles which
+     reverse the default behavior.  The most confusing aspect of this is
+     that '-M' inhibits copying global metadata in overwrite mode and
+     causes copying of global metadata in append mode.
+          ncks                 in.nc        # Print  VAs and GAs
+          ncks          -v one in.nc        # Print  VAs not GAs
+          ncks    -M    -v one in.nc        # Print  GAs only
+          ncks       -m -v one in.nc        # Print  VAs only
+          ncks    -M -m -v one in.nc        # Print  VAs and GAs
+          ncks -O              in.nc out.nc # Copy   VAs and GAs
+          ncks -O       -v one in.nc out.nc # Copy   VAs and GAs
+          ncks -O -M    -v one in.nc out.nc # Copy   VAs not GAs
+          ncks -O    -m -v one in.nc out.nc # Copy   GAs not VAs
+          ncks -O -M -m -v one in.nc out.nc # Copy   only data (no atts)
+          ncks -A              in.nc out.nc # Append VAs and GAs
+          ncks -A       -v one in.nc out.nc # Append VAs not GAs
+          ncks -A -M    -v one in.nc out.nc # Append VAs and GAs
+          ncks -A    -m -v one in.nc out.nc # Append only data (no atts)
+          ncks -A -M -m -v one in.nc out.nc # Append GAs not VAs
+     where 'VAs' and 'GAs' denote variable and group/global attributes,
+     respectively.
+
+'-m'
+     Turn-on printing to screen or turn-off copying variable metadata.
+     Using '-m' will print variable metadata to screen (similar to
+     'ncdump -h').  This displays all metadata pertaining to each
+     variable, one variable at a time.  This includes information on the
+     storage properties of the variable, such as whether it employs
+     chunking, compression, or packing.  Also activated using '--mtd'
+     and '--metadata'.  The 'ncks' default behavior is to print variable
+     metadata to screen if no netCDF output file is specified.  Use '-m'
+     to print variable metadata to screen if a netCDF output is
+     specified.  Also use '-m' to turn-off copying of variable metadata
+     to an output file.
+
+'--no_blank'
+     Print numeric representation of missing values.  As of NCO As of
+     NCO version 4.2.2 (October, 2012), NCO prints missing values as
+     blanks (i.e., the underscore character '_') by default.  To enable
+     the old behavior of printing the numeric representation of missing
+     values (e.g., '1.0e36'), use the '--no_blank' switch.  Also
+     activated using '--noblank' or '--no-blank'.
+
+'-P'
+     Print data, metadata, and units to screen.  The '-P' switch is a
+     convenience abbreviation for '-C -H -M -m -u'.  Also activated
+     using '--print' or '--prn'.  This set of switches is useful for
+     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.
+
+'-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'.
+
+'-s FORMAT'
+     String format for text output.  Accepts C language escape sequences
+     and 'printf()' formats.  Also '--string' and '--sng_fmt'.
+
+'-u'
+     Toggle the printing of a variable's 'units' attribute, if any, with
+     its values.  Also '--units'.
+
+'--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
+     Markup Language.  'ncks' supports for XML more completely than of
+     'ncdump -x'.  With 'ncks' one can translate entire netCDF3 and
+     netCDF4 files into NcML, including metadata and data, using all
+     NCO's subsetting and hyperslabbing capabilities.  Compare 'ncks'
+     "traditional" with XML printing:
+          zender@@roulee:~$ ncks -v one ~/nco/data/in.nc
+          one: type NC_FLOAT, 0 dimensions, 1 attribute, chunked? no, compressed? no, packed? no
+          one size (RAM) = 1*sizeof(NC_FLOAT) = 1*4 = 4 bytes
+          one attribute 0: long_name, size = 3 NC_CHAR, value = one
+
+          one = 1
+
+          zender at roulee:~$ ncks --xml -v one ~/nco/data/in.nc
+          <?xml version="1.0" encoding="UTF-8"?>
+          <netcdf xmlns="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2" location="/home/zender/nco/data/in.nc">
+            <variable name="one" type="float" shape="">
+              <attribute name="long_name" separator="*" value="one" />
+              <values>1.</values>
+            </variable>
+          </netcdf>
+     XML-mode prints variable metadata and, as of NCO version 4.3.7
+     (October, 2013), variable data and, as of NCO version 4.4.0
+     (January, 2014), hidden attributes.  That ncks produces correct
+     NcML translations of CDM files for all supported datatypes is
+     verified by comparison to output from Unidata's 'toolsUI' Java
+     program.  Please let us know how to improve XML/NcML features.
+
+     'ncks' provides additional options to configure NcML output:
+     '--xml_no_location', '--xml_spr_chr', and '--xml_spr_nmr'.  Every
+     NcML configuration option automatically triggers NcML printing, so
+     that specifying '--xml' in addition to a configuration option is
+     redundant and unnecessary.  The '--xml_no_location' switch prevents
+     output of the NcML 'location' element.  By default the location
+     element is printed with a value equal to the location of the input
+     dataset, e.g., 'location="/home/zender/in.nc"'.  The
+     '--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 " ":
+          zender@@roulee:~$ ncks --xml -d time,0,3 -v two_dmn_rec_var_sng in.nc
+          ...
+             <values separator="*">abc*bcd*cde*def</values>
+           ...
+           zender@@roulee:~$ ncks --xml_spr_chr=', ' -v two_dmn_rec_var_sng in.nc
+          ...
+          <values separator=", ">abc, bcd, cde, def, efg, fgh, ghi, hij, jkl, klm</values>
+          ...
+          zender@@roulee:~$ ncks --xml -v one_dmn_rec_var in.nc
+          ...
+          <values>1 2 3 4 5 6 7 8 9 10</values>
+          ...
+          zender@@roulee:~$ ncks --xml_spr_nmr=', ' -v one_dmn_rec_var in.nc
+          ...
+          <values separator=", ">1, 2, 3, 4, 5, 6, 7, 8, 9, 10</values>
+          ...
+     Separator elements for strings are a thorny issue.  One must be
+     sure that the separator element is not mistaken as a portion of the
+     string.  NCO attempts to produce valid NcML and supplies the
+     '--xml_spr_chr' option to work around any difficulties.  NCO
+     performs precautionary checks with 'strstr(VAL,SPR)' to identify
+     presence of the separator string (SPR) in data (VAL) and, when it
+     detects a match, automatically switches to a backup separator
+     string ('*|*').  However limitations of 'strstr()' may lead to
+     false negatives when the separator string occurs in data beyond the
+     first string in multi-dimensional 'NC_CHAR' arrays.  Hence, results
+     may be ambiguous to NcML parsers.  If problems arise, use
+     '--xml_spr_chr' to specify a multi-character separator that does
+     not appear in the string array and that does not include an NcML
+     formatting characters (e.g., commas, angles, quotes).
+
+   ---------- Footnotes ----------
+
+   (1) Those familiar with netCDF mechanics might wish to know what is
+happening here: 'ncks' does not attempt to redefine the variable in
+OUTPUT-FILE to match its definition in INPUT-FILE, 'ncks' merely copies
+the values of the variable and its coordinate dimensions, if any, from
+INPUT-FILE to OUTPUT-FILE.
+
+4.7.1 Filters for 'ncks'
+------------------------
+
+We encourage the use of standard UNIX pipes and filters to narrow the
+verbose output of 'ncks' into more precise targets.  For example, to
+obtain an uncluttered listing of the variables in a file try
+     ncks -m in.nc | grep -E ': type' | cut -f 1 -d ' ' | sed 's/://' | sort
+   A Bash user could alias the previous filter to the shell command
+'nclist' as shown below.  More complex examples could involve command
+line arguments.  For example, a user may frequently be interested in
+obtaining the value of an attribute, e.g., for textual file examination
+or for passing to another shell command.  Say the attribute is
+'purpose', the variable is 'z', and the file is 'in.nc'.  In this
+example, 'ncks -m -v z' is too verbose so a robust 'grep' and 'cut'
+filter is desirable, such as
+     ncks -M -m in.nc | grep -E -i "^z attribute [0-9]+: purpose" | cut -f 11- -d ' ' | sort
+   The filters are clearly too complex to remember on-the-fly so the
+entire procedure could be implemented as a shell command or function
+called, say, 'ncattget'
+     function ncattget { ncks -M -m ${3} | grep -E -i "^${2} attribute [0-9]+: ${1}" | cut -f 11- -d ' ' | sort ; }
+   The shell 'ncattget' is invoked with three arugments that are, in
+order, the names of the attribute, variable, and file to examine.
+Global attributes are indicated by using a variable name of 'global'.
+This definition yields the following results
+     % ncattget purpose z in.nc
+     Height stored with a monotonically increasing coordinate
+     % ncattget Purpose Z in.nc
+     Height stored with a monotonically increasing coordinate
+     % ncattget history z in.nc
+     % ncattget history global in.nc
+     History global attribute.
+   Note that case sensitivity has been turned off for the variable and
+attribute names (and could be turned on by removing the '-i' switch to
+'grep').  Furthermore, extended regular expressions may be used for both
+the variable and attribute names.  The next two commands illustrate this
+by searching for the values of attribute 'purpose' in all variables, and
+then for all attributes of the variable 'z':
+     % ncattget purpose .+ in.nc
+     1-D latitude coordinate referred to by geodesic grid variables
+     1-D longitude coordinate referred to by geodesic grid variables
+     ...
+     % ncattget .+ Z in.nc
+     Height
+     Height stored with a monotonically increasing coordinate
+     meter
+
+   Extended filters are best stored as shell commands if they are used
+frequently.  Shell commands may be re-used when they are defined in
+shell configuration files.  These files are usually named '.bashrc',
+'.cshrc', and '.profile' for the Bash, Csh, and Sh shells, respectively.
+     # NB: Untested on Csh, Ksh, Sh, Zsh! Send us feedback!
+     # Bash shell (/bin/bash) users place these in .bashrc
+     # ncattget $att_nm $var_nm $fl_nm : What attributes does variable have?
+     function ncattget { ncks -M -m ${3} | grep -E -i "^${2} attribute [0-9]+: ${1}" | cut -f 11- -d ' ' | sort ; }
+     # ncunits $att_val $fl_nm : Which variables have given units?
+     function ncunits { ncks -M -m ${2} | grep -E -i " attribute [0-9]+: units.+ ${1}" | cut -f 1 -d ' ' | sort ; }
+     # ncavg $var_nm $fl_nm : What is mean of variable?
+     function ncavg { ncwa -y avg -O -C -v ${1} ${2} ~/foo.nc ; ncks -H -C -v ${1} ~/foo.nc | cut -f 3- -d ' ' ; }
+     # ncavg $var_nm $fl_nm : What is mean of variable?
+     function ncavg { ncap2 -O -C -v -s "foo=${1}.avg();print(foo)" ${2} ~/foo.nc | cut -f 3- -d ' ' ; }
+     # ncdmnsz $dmn_nm $fl_nm : What is dimension size?
+     function ncdmnsz { ncks -m -M ${2} | grep -E -i ": ${1}, size =" | cut -f 7 -d ' ' | uniq ; }
+     # nclist $fl_nm : What variables are in file?
+     function nclist { ncks -m ${1} | grep -E ': type' | cut -f 1 -d ' ' | sed 's/://' | sort ; }
+     # ncmax $var_nm $fl_nm : What is maximum of variable?
+     function ncmax { ncwa -y max -O -C -v ${1} ${2} ~/foo.nc ; ncks -H -C -v ${1} ~/foo.nc | cut -f 3- -d ' ' ; }
+     # ncmax $var_nm $fl_nm : What is maximum of variable?
+     function ncmax { ncap2 -O -C -v -s "foo=${1}.max();print(foo)" ${2} ~/foo.nc | cut -f 3- -d ' ' ; }
+     # ncmdn $var_nm $fl_nm : What is median of variable?
+     function ncmdn { ncap2 -O -C -v -s "foo=gsl_stats_median_from_sorted_data(${1}.sort());print(foo)" ${2} ~/foo.nc | cut -f 3- -d ' ' ; }
+     # ncrng $var_nm $fl_nm : What is range of variable?
+     function ncrng { ncap2 -O -C -v -s "foo_min=${1}.min();foo_max=${1}.max();print(foo_min,\"%f\");print(\" to \");print(foo_max,\"%f\")" ${2} ~/foo.nc ; }
+     # ncmode $var_nm $fl_nm : What is mode of variable?
+     function ncmode { ncap2 -O -C -v -s "foo=gsl_stats_median_from_sorted_data(${1}.sort());print(foo)" ${2} ~/foo.nc | cut -f 3- -d ' ' ; }
+     # ncrecsz $fl_nm : What is record dimension size?
+     function ncrecsz { ncks -M ${1} | grep -E -i "^Record dimension:" | cut -f 8- -d ' ' ; }
+     # Csh shell (/bin/csh) users place these in .cshrc
+     ncattget() { ncks -M -m ${3} | grep -E -i "^${2} attribute [0-9]+: ${1}" | cut -f 11- -d ' ' | sort ; }
+     ncdmnsz() { ncks -m -M ${2} | grep -E -i ": ${1}, size =" | cut -f 7 -d ' ' | uniq ; }
+     nclist() { ncks -m ${1} | grep -E ': type' | cut -f 1 -d ' ' | sed 's/://' | sort ; }
+     ncrecsz() { ncks -M ${1} | grep -E -i "^Record dimension:" | cut -f 8- -d ' ' ; }
+     # Sh shell (/bin/sh) users place these in .profile
+     ncattget() { ncks -M -m ${3} | grep -E -i "^${2} attribute [0-9]+: ${1}" | cut -f 11- -d ' ' | sort ; }
+     ncdmnsz() { ncks -m -M ${2} | grep -E -i ": ${1}, size =" | cut -f 7 -d ' ' | uniq ; }
+     nclist() { ncks -m ${1} | grep -E ': type' | cut -f 1 -d ' ' | sed 's/://' | sort ; }
+     ncrecsz() { ncks -M ${1} | grep -E -i "^Record dimension:" | cut -f 8- -d ' ' ; }
+
+EXAMPLES
+
+   View all data in netCDF 'in.nc', printed with Fortran indexing
+conventions:
+     ncks -F in.nc
+
+   Copy the netCDF file 'in.nc' to file 'out.nc'.
+     ncks in.nc out.nc
+   Now the file 'out.nc' contains all the data from 'in.nc'.  There are,
+however, two differences between 'in.nc' and 'out.nc'.  First, the
+'history' global attribute (*note History Attribute::) will contain the
+command used to create 'out.nc'.  Second, the variables in 'out.nc' will
+be defined in alphabetical order.  Of course the internal storage of
+variable in a netCDF file should be transparent to the user, but there
+are cases when alphabetizing a file is useful (see description of '-a'
+switch).
+
+   Copy all global attributes (and no variables) from 'in.nc' to
+'out.nc':
+     ncks -A -x ~/nco/data/in.nc ~/out.nc
+   The '-x' switch tells NCO to use the complement of the extraction
+list (*note Subsetting Files::).  Since no extraction list is explicitly
+specified (with '-v'), the default is to extract all variables.  The
+complement of all variables is no variables.  Without any variables to
+extract, the append ('-A') command (*note Appending Variables::) has
+only to extract and copy (i.e., append) global attributes to the output
+file.
+
+   Copy/append metadata (not data) from variables in one file to
+variables in a second file.  When copying/subsetting/appending files (as
+opposed to printing them), the copying of data, variable metadata, and
+global/group metadata are now turned OFF by '-H', '-m', and '-M',
+respectively.  This is the opposite sense in which these switches work
+when _printing_ a file.  One can use these switches to easily replace
+data or metadata in one file with data or metadata from another:
+     # Extract naked (data-only) copies of two variables
+     ncks -h -M -m -O -C -v one,three_dmn_rec_var ~/nco/data/in.nc ~/out.nc
+     # Change values to be sure original values are not copied in following step
+     ncap2 -O -v -s 'one*=2;three_dmn_rec_var*=0' ~/nco/data/in.nc ~/in2.nc
+     # Append in2.nc metadata (not data!) to out.nc
+     ncks -A -C -H -v one,three_dmn_rec_var ~/in2.nc ~/out.nc
+   Variables in 'out.nc' now contain data (not metadata) from 'in.nc'
+and metadata (not data) from 'in2.nc'.
+
+   Print variable 'three_dmn_var' from file 'in.nc' with default
+notations.  Next print 'three_dmn_var' as an un-annotated text column.
+Then print 'three_dmn_var' signed with very high precision.  Finally,
+print 'three_dmn_var' as a comma-separated list.
+     % ncks -C -v three_dmn_var in.nc
+     lat[0]=-90 lev[0]=100 lon[0]=0 three_dmn_var[0]=0
+     lat[0]=-90 lev[0]=100 lon[1]=90 three_dmn_var[1]=1
+     ...
+     lat[1]=90 lev[2]=1000 lon[3]=270 three_dmn_var[23]=23
+     % ncks -s '%f\n' -C -v three_dmn_var in.nc
+     0.000000
+     1.000000
+     ...
+     23.000000
+     % ncks -s '%+16.10f\n' -C -v three_dmn_var in.nc
+        +0.0000000000
+        +1.0000000000
+     ...
+       +23.0000000000
+     % ncks -s '%f, ' -C -v three_dmn_var in.nc
+     0.000000, 1.000000, ..., 23.000000,
+Programmers will recognize these as the venerable C language 'printf()'
+formatting strings.  The second and third options are useful when
+pasting data into text files like reports or papers.  *Note ncatted
+netCDF Attribute Editor::, for more details on string formatting and
+special characters.
+
+   As of NCO version 4.2.2 (October, 2012), NCO prints missing values as
+blanks (i.e., the underscore character '_') by default:
+     % ncks -C -H -v mss_val in.nc
+     lon[0]=0 mss_val[0]=73
+     lon[1]=90 mss_val[1]=_
+     lon[2]=180 mss_val[2]=73
+     lon[3]=270 mss_val[3]=_
+     % ncks -s '%+5.1f, ' -H -C -v mss_val in.nc
+     +73.0, _, +73.0, _,
+
+   One dimensional arrays of characters stored as netCDF variables are
+automatically printed as strings, whether or not they are
+NUL-terminated, e.g.,
+     ncks -v fl_nm in.nc
+The '%c' formatting code is useful for printing multidimensional arrays
+of characters representing fixed length strings
+     ncks -s '%c' -v fl_nm_arr in.nc
+Using the '%s' format code on strings which are not NUL-terminated (and
+thus not technically strings) is likely to result in a core dump.
+
+   Create netCDF 'out.nc' containing all variables, and any associated
+coordinates, except variable 'time', from netCDF 'in.nc':
+     ncks -x -v time in.nc out.nc
+   As a special case of this, consider how to remove a CF Convention
+comliant 'bounds' or 'coordinates' variable (*note CF Conventions::)
+such as 'time_bounds'.  NCO subsetting assumes the user wants all
+coordinates and bounds and axes associated with all extracted variables
+(*note Subsetting Coordinate Variables::).  Hence to exclude a 'bounds'
+or 'coordinates' variable while retaining the "parent" variable (here
+'time'), one must use the '-C' switch:
+     ncks -C -x -v time_bounds in.nc out.nc
+   The '-C' switch tells the operator _NOT_ to necessarily include all
+the CF coordinates and bounds and axes.  Hence the output file will
+contain 'time' and not 'time_bounds'.
+
+   Extract variables 'time' and 'pressure' from netCDF 'in.nc'.  If
+'out.nc' does not exist it will be created.  Otherwise the you will be
+prompted whether to append to or to overwrite 'out.nc':
+     ncks -v time,pressure in.nc out.nc
+     ncks -C -v time,pressure in.nc out.nc
+The first version of the command creates an 'out.nc' which contains
+'time', 'pressure', and any coordinate variables associated with
+PRESSURE.  The 'out.nc' from the second version is guaranteed to contain
+only two variables 'time' and 'pressure'.
+
+   Create netCDF 'out.nc' containing all variables from file 'in.nc'.
+Restrict the dimensions of these variables to a hyperslab.  Print (with
+'-H') the hyperslabs to the screen for good measure.  The specified
+hyperslab is: the fifth value in dimension 'time'; the half-open range
+LAT > 0. in coordinate 'lat'; the half-open range LON < 330. in
+coordinate 'lon'; the closed interval 0.3 < BAND < 0.5 in coordinate
+'band'; and cross-section closest to 1000. in coordinate 'lev'.  Note
+that limits applied to coordinate values are specified with a decimal
+point, and limits applied to dimension indices do not have a decimal
+point *Note Hyperslabs::.
+     ncks -H -d time,5 -d lat,,0.0 -d lon,330.0, -d band,0.3,0.5
+     -d lev,1000.0 in.nc out.nc
+
+   Assume the domain of the monotonically increasing longitude
+coordinate 'lon' is 0 < LON < 360.  Here, 'lon' is an example of a
+wrapped coordinate.  'ncks' will extract a hyperslab which crosses the
+Greenwich meridian simply by specifying the westernmost longitude as MIN
+and the easternmost longitude as MAX, as follows:
+     ncks -d lon,260.0,45.0 in.nc out.nc
+   For more details *Note Wrapped Coordinates::.
+
+4.8 'ncpdq' netCDF Permute Dimensions Quickly
+=============================================
+
+SYNTAX
+     ncpdq [-3] [-4] [-6] [-7] [-A] [-a [-]DIM[,...]] [-C] [-c]
+     [--cnk_dmn nm,sz] [--cnk_map map] [--cnk_plc plc] [--cnk_scl sz]
+     [-D DBG] [-d DIM,[MIN][,[MAX][,[STRIDE]]]
+     [-F] [-G GPE_DSC] [-g GRP[,...]] [-h] [--hdf] [--hdr_pad NBR]
+     [-L DFL_LVL] [-l PATH] [-M PCK_MAP] [--mrd] [--no_tmp_fl]
+     [-O] [-o OUTPUT-FILE] [-P PCK_PLC] [-p PATH]
+     [-R] [-r] [--ram_all] [-t THR_NBR] [-U] [--unn] [-v VAR[,...]] [-X ...] [-x]
+     INPUT-FILE [OUTPUT-FILE]
+
+DESCRIPTION
+
+   'ncpdq' performs one (not both) of two distinct functions: packing or
+dimension permutation.  'ncpdq' is optimized to perform these actions in
+a parallel fashion with a minimum of time and memory.  The "pdq" may
+stand for "Permute Dimensions Quickly", "Pack Data Quietly", "Pillory
+Dan Quayle", or other silly uses.
+
+Packing and Unpacking Functions
+-------------------------------
+
+The 'ncpdq' packing (and unpacking) algorithms are described in *note
+Methods and functions::, and are also implemented in 'ncap2'.  'ncpdq'
+extends the functionality of these algorithms by providing high level
+control of the "packing policy" so that users can consistently pack (and
+unpack) entire files with one command.  The user specifies the desired
+packing policy with the '-P' switch (or its long option equivalents,
+'--pck_plc' and '--pack_policy') and its PCK_PLC argument.  Four packing
+policies are currently implemented:
+"Packing (and Re-Packing) Variables [_default_]"
+     Definition: Pack unpacked variables, re-pack packed variables
+     Alternate invocation: 'ncpack'
+     PCK_PLC key values: 'all_new', 'pck_all_new_att'
+"Packing (and not Re-Packing) Variables"
+     Definition: Pack unpacked variables, copy packed variables
+     Alternate invocation: none
+     PCK_PLC key values: 'all_xst', 'pck_all_xst_att'
+"Re-Packing Variables"
+     Definition: Re-pack packed variables, copy unpacked variables
+     Alternate invocation: none
+     PCK_PLC key values: 'xst_new', 'pck_xst_new_att'
+"Unpacking"
+     Definition: Unpack packed variables, copy unpacked variables
+     Alternate invocation: 'ncunpack'
+     PCK_PLC key values: 'upk', 'unpack', 'pck_upk'
+Equivalent key values are fully interchangeable.  Multiple equivalent
+options are provided to satisfy disparate needs and tastes of NCO users
+working with scripts and from the command line.
+
+   Regardless of the packing policy selected, 'ncpdq' no longer (as of
+NCO version 4.0.4 in October, 2010) packs coordinate variables, or the
+special variables, weights, and other grid properties described in *note
+CF Conventions::.  Prior 'ncpdq' versions treated coordinate variables
+and grid properties no differently from other variables.  However,
+coordinate variables are one-dimensional, so packing saves little space
+on large files, and the resulting files are difficult for humans to
+read.  'ncpdq' will, of course, _unpack_ coordinate variables and
+weights, for example, in case some other, non-NCO software packed them
+in the first place.
+
+   Concurrently, Gaussian and area weights and other grid properties are
+often used to derive fields in re-inflated (unpacked) files, so packing
+such grid properties causes a considerable loss of precision in
+downstream data processing.  If users express strong wishes to pack grid
+properties, we will implement new packing policies.  An immediate
+workaround for those needing to pack grid properties now, is to use the
+'ncap2' packing functions or to rename the grid properties prior to
+calling 'ncpdq'.  We welcome your feedback.
+
+   To reduce required memorization of these complex policy switches,
+'ncpdq' may also be invoked via a synonym or with switches that imply a
+particular policy.  'ncpack' is a synonym for 'ncpdq' and behaves the
+same in all respects.  Both 'ncpdq' and 'ncpack' assume a default
+packing policy request of 'all_new'.  Hence 'ncpack' may be invoked
+without any '-P' switch, unlike 'ncpdq'.  Similarly, 'ncunpack' is a
+synonym for 'ncpdq' except that 'ncpack' implicitly assumes a request to
+unpack, i.e., '-P pck_upk'.  Finally, the 'ncpdq' '-U' switch (or its
+long option equivalents, '--upk' and '--unpack') requires no argument.
+It simply requests unpacking.
+
+   Given the menagerie of synonyms, equivalent options, and implied
+options, a short list of some equivalent commands is appropriate.  The
+following commands are equivalent for packing: 'ncpdq -P all_new',
+'ncpdq --pck_plc=all_new', and 'ncpack'.  The following commands are
+equivalent for unpacking: 'ncpdq -P upk', 'ncpdq -U', 'ncpdq
+--pck_plc=unpack', and 'ncunpack'.  Equivalent commands for other
+packing policies, e.g., 'all_xst', follow by analogy.  Note that 'ncpdq'
+synonyms are subject to the same constraints and recommendations
+discussed in the secion on 'ncbo' synonyms (*note ncbo netCDF Binary
+Operator::).  That is, symbolic links must exist from the synonym to
+'ncpdq', or else the user must define an 'alias'.
+
+   The 'ncpdq' 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, packed type, is called the
+"packing map".  The user specifies the desired packing map with the '-M'
+switch (or its long option equivalents, '--pck_map' and '--map') and its
+PCK_MAP argument.  Five packing maps are currently implemented:
+"Pack Floating Precisions to 'NC_SHORT' [_default_]"
+     Definition: Pack floating precision types to 'NC_SHORT'
+     Map: Pack ['NC_DOUBLE','NC_FLOAT'] to 'NC_SHORT'
+     Types copied instead of packed:
+     ['NC_INT64','NC_UINT64','NC_INT','NC_UINT','NC_SHORT','NC_USHORT','NC_CHAR','NC_BYTE','NC_UBYTE']
+     PCK_MAP key values: 'flt_sht', 'pck_map_flt_sht'
+"Pack Floating Precisions to 'NC_BYTE'"
+     Definition: Pack floating precision types to 'NC_BYTE'
+     Map: Pack ['NC_DOUBLE','NC_FLOAT'] to 'NC_BYTE'
+     Types copied instead of packed:
+     ['NC_INT64','NC_UINT64','NC_INT','NC_UINT','NC_SHORT','NC_USHORT','NC_CHAR','NC_BYTE','NC_UBYTE']
+     PCK_MAP key values: 'flt_byt', 'pck_map_flt_byt'
+"Pack Higher Precisions to 'NC_SHORT'"
+     Definition: Pack higher precision types to 'NC_SHORT'
+     Map: Pack
+     ['NC_DOUBLE','NC_FLOAT','NC_INT64','NC_UINT64','NC_INT','NC_UINT']
+     to 'NC_SHORT'
+     Types copied instead of packed:
+     ['NC_SHORT','NC_USHORT','NC_CHAR','NC_BYTE','NC_UBYTE']
+     PCK_MAP key values: 'hgh_sht', 'pck_map_hgh_sht'
+"Pack Higher Precisions to 'NC_BYTE'"
+     Definition: Pack higher precision types to 'NC_BYTE'
+     Map: Pack
+     ['NC_DOUBLE','NC_FLOAT','NC_INT64','NC_UINT64','NC_INT','NC_UINT','NC_SHORT','NC_USHORT']
+     to 'NC_BYTE'
+     Types copied instead of packed: ['NC_CHAR','NC_BYTE','NC_UBYTE']
+     PCK_MAP key values: 'hgh_byt', 'pck_map_hgh_byt'
+"Pack to Next Lesser Precision"
+     Definition: Pack each type to type of next lesser size
+     Map: Pack ['NC_DOUBLE','NC_INT64','NC_UINT64'], to 'NC_INT'.  Pack
+     ['NC_FLOAT','NC_INT','NC_UINT'] to 'NC_SHORT'.  Pack
+     ['NC_SHORT','NC_USHORT'] to 'NC_BYTE'.
+     Types copied instead of packed: ['NC_CHAR','NC_BYTE','NC_UBYTE']
+     PCK_MAP key values: 'nxt_lsr', 'pck_map_nxt_lsr'
+The default 'all_new' packing policy with the default 'flt_sht' packing
+map reduces the typical 'NC_FLOAT'-dominated file size by about 50%.
+'flt_byt' packing reduces an 'NC_DOUBLE'-dominated file by about 87%.
+
+   The netCDF packing algorithm (*note Methods and functions::) is
+lossy--once packed, the exact original data cannot be recovered without
+a full backup.  Hence users should be aware of some packing caveats:
+First, the interaction of packing and data equal to the _FILLVALUE is
+complex.  Test the '_FillValue' behavior by performing a pack/unpack
+cycle to ensure data that are missing _stay_ missing and data that are
+not misssing do not join the Air National Guard and go missing.  This
+may lead you to elect a new _FILLVALUE.  Second, 'ncpdq' actually allows
+packing into 'NC_CHAR' (with, e.g., 'flt_chr').  However, the intrinsic
+conversion of 'signed char' to higher precision types is tricky for
+values equal to zero, i.e., for 'NUL'.  Hence packing to 'NC_CHAR' is
+not documented or advertised.  Pack into 'NC_BYTE' (with, e.g.,
+'flt_byt') instead.
+
+Dimension Permutation
+---------------------
+
+'ncpdq' re-shapes variables in INPUT-FILE by re-ordering and/or
+reversing dimensions specified in the dimension list.  The dimension
+list is a whitespace-free, comma separated list of dimension names,
+optionally prefixed by negative signs, that follows the '-a' (or long
+options '--arrange', '--permute', '--re-order', or '--rdr') switch.  To
+re-order variables by a subset of their dimensions, specify these
+dimensions in a comma-separated list following '-a', e.g., '-a lon,lat'.
+To reverse a dimension, prefix its name with a negative sign in the
+dimension list, e.g., '-a -lat'.  Re-ordering and reversal may be
+performed simultaneously, e.g., '-a lon,-lat,time,-lev'.
+
+   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.  This unique 'ncpdq'
+capability makes it possible to concatenate files along any dimension.
+See *note Concatenation:: for a detailed example.  The record dimension
+is always the most slowly varying dimension in a record variable (*note
+C and Fortran Index Conventions::).  The specified re-ordering fails if
+it requires creating more than one record dimension amongst all the
+output variables (1).
+
+   Two special cases of dimension re-ordering and reversal deserve
+special mention.  First, it may be desirable to completely reverse the
+storage order of a variable.  To do this, include all the variable's
+dimensions in the dimension re-order list in their original order, and
+prefix each dimension name with the negative sign.  Second, it may
+useful to transpose a variable's storage order, e.g., from C to Fortran
+data storage order (*note C and Fortran Index Conventions::).  To do
+this, include all the variable's dimensions in the dimension re-order
+list in reversed order.  Explicit examples of these two techniques
+appear below.
+
+EXAMPLES
+
+   Pack and unpack all variables in file 'in.nc' and store the results
+in 'out.nc':
+     ncpdq in.nc out.nc # Same as ncpack in.nc out.nc
+     ncpdq -P all_new -M flt_sht in.nc out.nc # Defaults
+     ncpdq -P all_xst in.nc out.nc
+     ncpdq -P upk in.nc out.nc # Same as ncunpack in.nc out.nc
+     ncpdq -U in.nc out.nc # Same as ncunpack in.nc out.nc
+   The first two commands pack any unpacked variable in the input file.
+They also unpack and then re-pack every packed variable.  The third
+command only packs unpacked variables in the input file.  If a variable
+is already packed, the third command copies it unchanged to the output
+file.  The fourth and fifth commands unpack any packed variables.  If a
+variable is not packed, the third command copies it unchanged.
+
+   The previous examples all utilized the default packing map.  Suppose
+you wish to archive all data that are currently unpacked into a form
+which only preserves 256 distinct values.  Then you could specify the
+packing map PCK_MAP as 'hgh_byt' and the packing policy PCK_PLC as
+'all_xst':
+     ncpdq -P all_xst -M hgh_byt in.nc out.nc
+   Many different packing maps may be used to construct a given file by
+performing the packing on subsets of variables (e.g., with '-v') and
+using the append feature with '-A' (*note Appending Variables::).
+
+   Users may wish to unpack data packed with the HDF convention, and
+then re-pack it with the netCDF convention so that all their datasets
+use the same packing convention prior to intercomparison.
+     # One-step procedure: For NCO 4.4.0+, netCDF 4.3.1+
+     # 1. Convert, unpack, and repack HDF file into netCDF file
+     ncpdq --hdf_upk -P xst_new modis.hdf modis.nc # HDF4 files
+     ncpdq --hdf_upk -P xst_new modis.h5  modis.nc # HDF5 files
+
+     # One-step procedure: For NCO 4.3.7--4.3.9
+     # 1. Convert, unpack, and repack HDF file into netCDF file
+     ncpdq --hdf4 --hdf_upk -P xst_new modis.hdf modis.nc # HDF4
+     ncpdq        --hdf_upk -P xst_new modis.h5  modis.nc # HDF5
+
+     # Two-step procedure: For NCO 4.3.6 and earlier
+     # 1. Convert HDF file to netCDF file
+     ncl_convert2nc modis.hdf
+     # 2. Unpack using HDF convention and repack using netCDF convention
+     ncpdq --hdf_upk -P xst_new modis.nc modis.nc
+   NCO now (2) automatically detects HDF4 files.  In this case it
+produces an output file 'modis.nc' which preserves the HDF packing used
+in the input file.  The 'ncpdq' command first unpacks all packed
+variables using the HDF unpacking algorithm (as specified by
+'--hdf_upk'), and then repacks those same variables using the netCDF
+algorithm (because that is the only algorithm NCO packs with).  As
+described above the '--P xst_new' packing policy only repacks variables
+that are already packed.  Not-packed variables are copied directly
+without loss of precision (3).
+
+   Re-order file 'in.nc' so that the dimension 'lon' always precedes the
+dimension 'lat' and store the results in 'out.nc':
+     ncpdq -a lon,lat in.nc out.nc
+     ncpdq -v three_dmn_var -a lon,lat in.nc out.nc
+   The first command re-orders every variable in the input file.  The
+second command extracts and re-orders only the variable 'three_dmn_var'.
+
+   Suppose the dimension 'lat' represents latitude and monotonically
+increases increases from south to north.  Reversing the 'lat' dimension
+means re-ordering the data so that latitude values decrease
+monotonically from north to south.  Accomplish this with
+     % ncpdq -a -lat in.nc out.nc
+     % ncks -C -v lat in.nc
+     lat[0]=-90
+     lat[1]=90
+     % ncks -C -v lat out.nc
+     lat[0]=90
+     lat[1]=-90
+   This operation reversed the latitude dimension of all variables.
+Whitespace immediately preceding the negative sign that specifies
+dimension reversal may be dangerous.  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.
+     ncpdq -a -lat in.nc out.nc # Dangerous? Whitespace before "-lat"
+     ncpdq -a '-lat' in.nc out.nc # OK. Quotes protect "-" in "-lat"
+     ncpdq -a lon,-lat in.nc out.nc # OK. No whitespace before "-"
+     ncpdq --rdr=-lat in.nc out.nc # Preferred. Uses "=" not whitespace
+
+   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 'three_dmn_var':
+     % ncpdq -a lon,lev,lat -v three_dmn_var in.nc out.nc
+     % ncks -C -v three_dmn_var in.nc
+     lat[0]=-90 lev[0]=100 lon[0]=0 three_dmn_var[0]=0
+     lat[0]=-90 lev[0]=100 lon[1]=90 three_dmn_var[1]=1
+     lat[0]=-90 lev[0]=100 lon[2]=180 three_dmn_var[2]=2
+     ...
+     lat[1]=90 lev[2]=1000 lon[1]=90 three_dmn_var[21]=21
+     lat[1]=90 lev[2]=1000 lon[2]=180 three_dmn_var[22]=22
+     lat[1]=90 lev[2]=1000 lon[3]=270 three_dmn_var[23]=23
+     % ncks -C -v three_dmn_var out.nc
+     lon[0]=0 lev[0]=100 lat[0]=-90 three_dmn_var[0]=0
+     lon[0]=0 lev[0]=100 lat[1]=90 three_dmn_var[1]=12
+     lon[0]=0 lev[1]=500 lat[0]=-90 three_dmn_var[2]=4
+     ...
+     lon[3]=270 lev[1]=500 lat[1]=90 three_dmn_var[21]=19
+     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
+
+   To completely reverse the storage order of a variable, include all
+its dimensions in the re-order list, each prefixed by a negative sign.
+This example reverses the storage order of 'three_dmn_var':
+     % ncpdq -a -lat,-lev,-lon -v three_dmn_var in.nc out.nc
+     % ncks -C -v three_dmn_var in.nc
+     lat[0]=-90 lev[0]=100 lon[0]=0 three_dmn_var[0]=0
+     lat[0]=-90 lev[0]=100 lon[1]=90 three_dmn_var[1]=1
+     lat[0]=-90 lev[0]=100 lon[2]=180 three_dmn_var[2]=2
+     ...
+     lat[1]=90 lev[2]=1000 lon[1]=90 three_dmn_var[21]=21
+     lat[1]=90 lev[2]=1000 lon[2]=180 three_dmn_var[22]=22
+     lat[1]=90 lev[2]=1000 lon[3]=270 three_dmn_var[23]=23
+     % ncks -C -v three_dmn_var out.nc
+     lat[0]=90 lev[0]=1000 lon[0]=270 three_dmn_var[0]=23
+     lat[0]=90 lev[0]=1000 lon[1]=180 three_dmn_var[1]=22
+     lat[0]=90 lev[0]=1000 lon[2]=90 three_dmn_var[2]=21
+     ...
+     lat[1]=-90 lev[2]=100 lon[1]=180 three_dmn_var[21]=2
+     lat[1]=-90 lev[2]=100 lon[2]=90 three_dmn_var[22]=1
+     lat[1]=-90 lev[2]=100 lon[3]=0 three_dmn_var[23]=0
+
+   Creating a record dimension named, e.g., 'time', in a file which has
+no existing record dimension is simple with 'ncecat':
+     ncecat -O -u time in.nc out.nc # Create degenerate record dimension named "time"
+
+   Now consider a file with all dimensions, including 'time', fixed
+(non-record).  Suppose the user wishes to convert 'time' from a fixed
+dimension to a record dimension.  This may be useful, for example, when
+the user wishes to append additional time slices to the data.  As of NCO
+version 4.0.1 (April, 2010) the preferred method for doing this is with
+'ncks':
+     ncks -O --mk_rec_dmn time in.nc out.nc # Change "time" to record dimension
+
+   Prior to 4.0.1, the procedure to change an existing fixed dimension
+into a record dimension required three separate commands, 'ncecat'
+followed by 'ncpdq', and then 'ncwa'.  The recommended method is now to
+use 'ncks --fix_rec_dmn', yet it is still instructive to present the
+original procedure, as it shows how multiple operators can achieve the
+same ends by different means:
+     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"
+     ncwa -O -a record out.nc out.nc # Remove (degenerate) "record"
+The first step creates a degenerate (size equals one) record dimension
+named (by default) 'record'.  The second step swaps the ordering of the
+dimensions named 'time' and 'record'.  Since 'time' now occupies the
+position of the first (least rapidly varying) dimension, it becomes the
+record dimension.  The dimension named 'record' is no longer a record
+dimension.  The third step averages over this degenerate 'record'
+dimension.  Averaging over a degenerate dimension does not alter the
+data.  The ordering of other dimensions in the file ('lat', 'lon', etc.)
+is immaterial to this procedure.  See *note ncecat netCDF Ensemble
+Concatenator:: and *note ncks netCDF Kitchen Sink:: for other methods of
+changing variable dimensionality, including the record dimension.
+
+   ---------- Footnotes ----------
+
+   (1) This limitation, imposed by the netCDF storage layer, may be
+relaxed in the future with netCDF4.
+
+   (2) Prior to NCO 4.4.0 and netCDF 4.3.1 (January, 2014), NCO requires
+the '--hdf4' switch to correctly read HDF4 input files.  For example,
+'ncpdq --hdf4 --hdf_upk -P xst_new modis.hdf modis.nc'.  That switch is
+now obsolete, though harmless for backwards compatibility.  Prior to
+version 4.3.7 (October, 2013), NCO lacked the software necessary to
+workaround netCDF library flaws handling HDF4 files, and thus NCO failed
+to convert HDF4 files to netCDF files.  In those cases, use the
+'ncl_convert2nc' command distributed with NCL to convert HDF4 files to
+netCDF.
+
+   (3) 'ncpdq' does not support packing data using the HDF 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 NCO to support packing data with HDF algorithm.
+
+4.9 'ncra' netCDF Record Averager
+=================================
+
+SYNTAX
+     ncra [-3] [-4] [-6] [-7] [-A] [-C] [-c]
+     [--cnk_dmn nm,sz] [--cnk_map map] [--cnk_plc plc] [--cnk_scl sz]
+     [-D DBG] [-d DIM,[MIN][,[MAX][,[STRIDE][,[SUBCYCLE]]]] [-F]
+     [-G GPE_DSC] [-g GRP[,...]] [-h] [--hdf] [--hdr_pad NBR]
+     [-L DFL_LVL] [-l PATH] [--mro] [-n LOOP] [--no_tmp_fl]
+     [-O] [-o OUTPUT-FILE] [-p PATH] [-R] [-r] [--ram_all] [--rec_apn] [--rth_dbl|flt]
+     [-t THR_NBR] [--unn] [-v VAR[,...]] [-X ...] [-x] [-y OP_TYP]
+     [INPUT-FILES] [OUTPUT-FILE]
+
+DESCRIPTION
+
+   'ncra' averages record variables across an arbitrary number of
+INPUT-FILES.  The record dimension is, by default, retained as a
+degenerate (size 1) dimension in the output variables.  *Note Statistics
+vs. Concatenation::, for a description of the distinctions between the
+various statistics tools and concatenators.  As a multi-file operator,
+'ncra' will read the list of INPUT-FILES from 'stdin' if they are not
+specified as positional arguments on the command line (*note Large
+Numbers of Files::).
+
+   Input files may vary in size, but each must have a record dimension.
+The record coordinate, if any, should be monotonic (or else non-fatal
+warnings may be generated).  Hyperslabs of the record dimension which
+include more than one file work correctly.  'ncra' supports the STRIDE
+argument to the '-d' hyperslab option (*note Hyperslabs::) for the
+record dimension only, STRIDE is not supported for non-record
+dimensions.
+
+   'ncra' weights each record (e.g., time slice) in the INPUT-FILES
+equally.  'ncra' does not attempt to see if, say, the 'time' coordinate
+is irregularly spaced and thus would require a weighted average in order
+to be a true time average.  'ncra' _always averages_ coordinate
+variables regardless of the arithmetic operation type performed on the
+non-coordinate variables.  (*note Operation Types::).
+
+EXAMPLES
+
+   Average files '85.nc', '86.nc', ... '89.nc' along the record
+dimension, and store the results in '8589.nc':
+     ncra 85.nc 86.nc 87.nc 88.nc 89.nc 8589.nc
+     ncra 8[56789].nc 8589.nc
+     ncra -n 5,2,1 85.nc 8589.nc
+   These three methods produce identical answers.  *Note Specifying
+Input Files::, for an explanation of the distinctions between these
+methods.
+
+   Assume the files '85.nc', '86.nc', ... '89.nc' each contain a record
+coordinate TIME of length 12 defined such that the third record in
+'86.nc' contains data from March 1986, etc.  NCO knows how to hyperslab
+the record dimension across files.  Thus, to average data from December,
+1985 through February, 1986:
+     ncra -d time,11,13 85.nc 86.nc 87.nc 8512_8602.nc
+     ncra -F -d time,12,14 85.nc 86.nc 87.nc 8512_8602.nc
+The file '87.nc' is superfluous, but does not cause an error.  The '-F'
+turns on the Fortran (1-based) indexing convention.  The following uses
+the STRIDE option to average all the March temperature data from
+multiple input files into a single output file
+     ncra -F -d time,3,,12 -v temperature 85.nc 86.nc 87.nc 858687_03.nc
+   *Note Stride::, for a description of the STRIDE argument.
+
+   Assume the TIME coordinate is incrementally numbered such that
+January, 1985 = 1 and December, 1989 = 60.  Assuming '??' only expands
+to the five desired files, the following averages June, 1985-June, 1989:
+     ncra -d time,6.,54. ??.nc 8506_8906.nc
+
+4.10 'ncrcat' netCDF Record Concatenator
+========================================
+
+SYNTAX
+     ncrcat [-3] [-4] [-6] [-7] [-A] [-C] [-c]
+     [--cnk_dmn nm,sz] [--cnk_map map] [--cnk_plc plc] [--cnk_scl sz]
+     [-D DBG] [-d DIM,[MIN][,[MAX][,[STRIDE][,[SUBCYCLE]]]] [-F]
+     [-G GPE_DSC] [-g GRP[,...]] [-h] [--hdr_pad NBR]
+     [-L DFL_LVL] [-l PATH] [--md5_digest] [-n LOOP] [--no_tmp_fl]
+     [-O] [-o OUTPUT-FILE] [-p PATH] [-R] [-r] [--ram_all] [--rec_apn]
+     [-t THR_NBR] [--unn] [-v VAR[,...]] [-X ...] [-x]
+     [INPUT-FILES] [OUTPUT-FILE]
+
+DESCRIPTION
+
+   'ncrcat' concatenates record variables across an arbitrary number of
+INPUT-FILES.  The final record dimension is by default the sum of the
+lengths of the record dimensions in the input files.  *Note Statistics
+vs. Concatenation::, for a description of the distinctions between the
+various statistics tools and concatenators.  As a multi-file operator,
+'ncrcat' will read the list of INPUT-FILES from 'stdin' if they are not
+specified as positional arguments on the command line (*note Large
+Numbers of Files::).
+
+   Input files may vary in size, but each must have a record dimension.
+The record coordinate, if any, should be monotonic (or else non-fatal
+warnings may be generated).  Hyperslabs along the record dimension that
+span more than one file are handled correctly.  'ncra' supports the
+STRIDE argument to the '-d' hyperslab option for the record dimension
+only, STRIDE is not supported for non-record dimensions.
+
+   Concatenating a variable packed with different scales multiple
+datasets is beyond the capabilities of 'ncrcat' (and 'ncecat', the other
+concatenator (*note Concatenation::).  'ncrcat' does not unpack data, it
+simply _copies_ the data from the INPUT-FILES, and the metadata from the
+_first_ INPUT-FILE, to the OUTPUT-FILE.  This means that data compressed
+with a packing convention must use the identical packing parameters
+(e.g., 'scale_factor' and 'add_offset') for a given variable across
+_all_ input files.  Otherwise the concatenated dataset will not unpack
+correctly.  The workaround for cases where the packing parameters differ
+across INPUT-FILES requires three steps: First, unpack the data using
+'ncpdq'.  Second, concatenate the unpacked data using 'ncrcat', Third,
+re-pack the result with 'ncpdq'.
+
+   'ncrcat' applies special rules to ARM convention time fields (e.g.,
+'time_offset').  See *note ARM Conventions:: for a complete description.
+
+EXAMPLES
+
+   Concatenate files '85.nc', '86.nc', ... '89.nc' along the record
+dimension, and store the results in '8589.nc':
+     ncrcat 85.nc 86.nc 87.nc 88.nc 89.nc 8589.nc
+     ncrcat 8[56789].nc 8589.nc
+     ncrcat -n 5,2,1 85.nc 8589.nc
+These three methods produce identical answers.  *Note Specifying Input
+Files::, for an explanation of the distinctions between these methods.
+
+   Assume the files '85.nc', '86.nc', ... '89.nc' each contain a record
+coordinate TIME of length 12 defined such that the third record in
+'86.nc' contains data from March 1986, etc.  NCO knows how to hyperslab
+the record dimension across files.  Thus, to concatenate data from
+December, 1985-February, 1986:
+     ncrcat -d time,11,13 85.nc 86.nc 87.nc 8512_8602.nc
+     ncrcat -F -d time,12,14 85.nc 86.nc 87.nc 8512_8602.nc
+The file '87.nc' is superfluous, but does not cause an error.  When
+'ncra' and 'ncrcat' encounter a file which does contain any records that
+meet the specified hyperslab criteria, they disregard the file and
+proceed to the next file without failing.  The '-F' turns on the Fortran
+(1-based) indexing convention.
+
+   The following uses the STRIDE option to concatenate all the March
+temperature data from multiple input files into a single output file
+     ncrcat -F -d time,3,,12 -v temperature 85.nc 86.nc 87.nc 858687_03.nc
+   *Note Stride::, for a description of the STRIDE argument.
+
+   Assume the TIME coordinate is incrementally numbered such that
+January, 1985 = 1 and December, 1989 = 60.  Assuming '??' only expands
+to the five desired files, the following concatenates June, 1985-June,
+1989:
+     ncrcat -d time,6.,54. ??.nc 8506_8906.nc
+
+4.11 'ncrename' netCDF Renamer
+==============================
+
+SYNTAX
+     ncrename [-a OLD_NAME,NEW_NAME] [-a ...] [-D DBG]
+     [-d OLD_NAME,NEW_NAME] [-d ...] [-g OLD_NAME,NEW_NAME] [-g ...]
+     [-h] [--hdf] [--hdr_pad NBR] [-l PATH] [-O] [-o OUTPUT-FILE] [-p PATH] [-R] [-r]
+     [-v OLD_NAME,NEW_NAME] [-v ...]
+     INPUT-FILE [[OUTPUT-FILE]]
+
+DESCRIPTION
+
+   'ncrename' renames netCDF dimensions, variables, attributes, and
+groups.  Each object that has a name in the list of old names is renamed
+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.
+
+   Although 'ncrename' supports full pathnames for both OLD_NAME and
+NEW_NAME, this is really "window dressing".  The full-path to NEW_NAME
+must be identical to the full-path to OLD_NAME in all classes of objects
+(attributes, variables, dimensions, or groups).  In other words,
+'ncrename' can change only the local names of objects, it cannot change
+the location of the object in the group hierarchy within the file.
+Hence using a full-path in NEW_NAME is redundant.  The object name is
+the terminal path component of NEW_NAME and this object must already
+exist in the group specified by the OLD_NAME path.
+
+   'ncrename' is an exception to the normal NCO 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 during the operation.
+If only INPUT-FILE is specified, then 'ncrename' changes the names of
+the INPUT-FILE in place without prompting and without creating a
+temporary copy of 'input-file'.  This is because the renaming operation
+is considered reversible if the user makes a mistake.  The NEW_NAME can
+easily be changed back to OLD_NAME by using 'ncrename' one more time.
+
+   Note that renaming a dimension to the name of a dependent variable
+can be used to invert the relationship between an independent coordinate
+variable and a dependent variable.  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.
+
+   According to the 'netCDF User Guide', renaming properties in netCDF
+files does not incur the penalty of recopying the entire file when the
+NEW_NAME is shorter than the OLD_NAME.
+
+OPTIONS
+
+'-a OLD_NAME,NEW_NAME'
+     Attribute renaming.  The old and new names of the attribute are
+     specified with '-a' (or '--attribute') by the associated OLD_NAME
+     and NEW_NAME values.  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 will be renamed unless the '.' form is used, with one
+     exception.  To change the attribute name for a particular variable,
+     specify the OLD_NAME in the format OLD_VAR_NAME at OLD_ATT_NAME.  The
+     '@' symbol delimits the variable from the attribute name.  If the
+     attribute is uniquely named (no other variables contain the
+     attribute) then the OLD_VAR_NAME at OLD_ATT_NAME syntax is redundant.
+     The VAR_NM 'global' has special significance--it indicates that
+     ATT_NM refers to a global or group attribute, and not to a variable
+     named 'global'.  In other words, a VAR_NM of 'global' is
+     syntactically equivalent to a VAR_NM that is empty.  The
+     VAR_NAME at ATT_NAME syntax is accepted, though not required, for the
+     NEW_NAME.
+
+'-d OLD_NAME,NEW_NAME'
+     Dimension renaming.  The old and new names of the dimension are
+     specified with '-d' (or '--dmn', '--dimension') by the associated
+     OLD_NAME and NEW_NAME values.  This option may be specified more
+     than once.
+
+'-g OLD_NAME,NEW_NAME'
+     Group renaming.  The old and new names of the group are specified
+     with '-g' (or '--grp', '--group') by the associated OLD_NAME and
+     NEW_NAME values.  This option may be specified more than once.
+     This functionality is only available in NCO version 4.3.7 (October,
+     2013) or later, and only when built on netCDF library version
+     4.3.1-rc1 (August, 2013) or later.
+
+'-v OLD_NAME,NEW_NAME'
+     Variable renaming.  The old and new names of the variable are
+     specified with '-v' (or '--variable') by the associated OLD_NAME
+     and NEW_NAME values.  This option may be specified more than once.
+
+EXAMPLES
+
+   Rename the variable 'p' to 'pressure' and 't' to 'temperature' in
+netCDF 'in.nc'.  In this case 'p' must exist in the input file (or
+'ncrename' will abort), but the presence of 't' is optional:
+     ncrename -v p,pressure -v .t,temperature in.nc
+
+   Rename the attribute 'long_name' to 'largo_nombre' in the variable
+'u', and no other variables in netCDF 'in.nc'.
+     ncrename -a u at long_name,largo_nombre in.nc
+
+   Rename the group 'g8' to 'g20' in netCDF4 file 'in_grp.nc':
+     ncrename -g g8,g20 in_grp.nc
+
+   Rename the variable '/g1/lon' to 'longitude' in netCDF4 'in_grp.nc':
+     ncrename -v /g1/lon,longitude in_grp.nc
+     ncrename -v /g1/lon,/g1/longitude in_grp.nc # Alternate
+
+   'ncrename' 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 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
+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.
+
+   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:
+     # 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
+     ncrename -O -d lat_T42,lat ~/foo.nc ~/foo2.nc # Also renames variable
+   To avoid this faulty behavior, either build NCO with netCDF version
+4.3.1-rc5 or later, or convert the file to netCDF3 first, then rename as
+intended, then convert back.
+
+   Create netCDF 'out.nc' identical to 'in.nc' except the attribute
+'_FillValue' is changed to 'missing_value', the attribute 'units' is
+changed to 'CGS_units' (but only in those variables which possess it),
+the attribute 'hieght' is changed to 'height' in the variable 'tpt', and
+in the variable 'prs_sfc', if it exists.
+     ncrename -a _FillValue,missing_value -a .units,CGS_units \
+       -a tpt at hieght,height -a prs_sfc at .hieght,height in.nc out.nc
+   The presence and absence of the '.' and '@' features cause this
+command to execute successfully only if a number of conditions are met.
+All variables _must_ have a '_FillValue' attribute _and_ '_FillValue'
+must also be a global attribute.  The 'units' attribute, on the other
+hand, will be renamed to 'CGS_units' wherever it is found but need not
+be present in the file at all (either as a global or a variable
+attribute).  The variable 'tpt' must contain the 'hieght' attribute.
+The variable 'prs_sfc' need not exist, and need not contain the 'hieght'
+attribute.
+
+   Rename the global or group attribute 'Convention' to 'Conventions'
+     ncrename -a Convention,Conventions  in.nc # Variable and global atts.
+     ncrename -a .Convention,Conventions in.nc # Variable and global atts.
+     ncrename -a @Convention,Conventions  in.nc # Global atts. only
+     ncrename -a @.Convention,Conventions in.nc # Global atts. only
+     ncrename -a global at Convention,Conventions   in.nc # Global atts. only
+     ncrename -a .global at .Convention,Conventions in.nc # Global atts. only
+   The examples without the '@' character attempt to change the
+attribute name in both Global or Group and variable attributes.  The
+examples with the '@' character attempt to change only global and group
+'Convention' attributes, and leave unchanged any 'Convention' attributes
+attached directly to variables.  Attributes prefixed with a period
+('.Convention') need not be present.  Attributes not prefixed with a
+period ('Convention') must be present.  Variables prefixed with a period
+('.' or '.global') need not be present.  Variables not prefixed with a
+period ('global') must be present.
+
+4.12 'ncwa' netCDF Weighted Averager
+====================================
+
+SYNTAX
+     ncwa [-3] [-4] [-6] [-7] [-A] [-a DIM[,...]] [-B MASK_COND] [-b] [-C] [-c]
+     [--cnk_dmn nm,sz] [--cnk_map map] [--cnk_plc plc] [--cnk_scl sz]
+     [-D DBG] [-d DIM,[MIN][,[MAX][,[STRIDE]]] [-F]
+     [-G GPE_DSC] [-g GRP[,...]] [-h] [--hdr_pad NBR] [-I]
+     [-L DFL_LVL] [-l PATH] [-M MASK_VAL] [-m MASK_VAR] [-N] [--no_tmp_fl]
+     [-O] [-o OUTPUT-FILE] [-p PATH] [-R] [-r] [--ram_all] [--rth_dbl|flt]
+     [-T MASK_COMP] [-t THR_NBR] [--unn] [-v VAR[,...]] [-w WEIGHT]
+     [-X ...] [-x] [-y OP_TYP]
+     INPUT-FILE [OUTPUT-FILE]
+
+DESCRIPTION
+
+   'ncwa' averages variables in a single file over arbitrary dimensions,
+with options to specify weights, masks, and normalization.  *Note
+Statistics vs. Concatenation::, for a description of the distinctions
+between the various statistics tools and concatenators.  The default
+behavior of 'ncwa' is to arithmetically average every numerical variable
+over all dimensions and to produce a scalar result for each.
+
+   Averaged dimensions are, by default, eliminated as dimensions.  Their
+corresponding coordinates, if any, are output as scalar variables.  The
+'-b' switch (and its long option equivalents '--rdd' and
+'--retain-degenerate-dimensions') causes 'ncwa' to retain averaged
+dimensions as degenerate (size 1) dimensions.  This maintains the
+association between a dimension (or coordinate) and variables after
+averaging and simplifies, for instance, later concatenation along the
+degenerate dimension.
+
+   To average variables over only a subset of their dimensions, specify
+these dimensions in a comma-separated list following '-a', e.g., '-a
+time,lat,lon'.  As with all arithmetic operators, the operation may be
+restricted to an arbitrary hypserslab by employing the '-d' option
+(*note Hyperslabs::).  'ncwa' also handles values matching the
+variable's '_FillValue' attribute correctly.  Moreover, 'ncwa'
+understands how to manipulate user-specified weights, masks, and
+normalization options.  With these options, 'ncwa' can compute
+sophisticated averages (and integrals) from the command line.
+
+   MASK_VAR and WEIGHT, if specified, are broadcast to conform to the
+variables being averaged.  The rank of variables is reduced by the
+number of dimensions which they are averaged over.  Thus arrays which
+are one dimensional in the INPUT-FILE and are averaged by 'ncwa' appear
+in the OUTPUT-FILE as scalars.  This allows the user to infer which
+dimensions may have been averaged.  Note that that it is impossible for
+'ncwa' to make make a WEIGHT or MASK_VAR of rank W conform to a VAR of
+rank V if W > V.  This situation often arises when coordinate variables
+(which, by definition, are one dimensional) are weighted and averaged.
+'ncwa' assumes you know this is impossible and so 'ncwa' does not
+attempt to broadcast WEIGHT or MASK_VAR to conform to VAR in this case,
+nor does 'ncwa' print a warning message telling you this, because it is
+so common.  Specifying DBG > 2 does cause 'ncwa' to emit warnings in
+these situations, however.
+
+   Non-coordinate variables are always masked and weighted if specified.
+Coordinate variables, however, may be treated specially.  By default, an
+averaged coordinate variable, e.g., 'latitude', appears in OUTPUT-FILE
+averaged the same way as any other variable containing an averaged
+dimension.  In other words, by default 'ncwa' weights and masks
+coordinate variables like all other variables.  This design decision was
+intended to be helpful but for some applications it may be preferable
+not to weight or mask coordinate variables just like all other
+variables.  Consider the following arguments to 'ncwa': '-a latitude -w
+lat_wgt -d latitude,0.,90.' where 'lat_wgt' is a weight in the
+'latitude' dimension.  Since, by default 'ncwa' weights coordinate
+variables, the value of 'latitude' in the OUTPUT-FILE depends on the
+weights in LAT_WGT and is not likely to be 45.0, the midpoint latitude
+of the hyperslab.  Option '-I' overrides this default behavior and
+causes 'ncwa' not to weight or mask coordinate variables (1).  In the
+above case, this causes the value of 'latitude' in the OUTPUT-FILE to
+be 45.0, an appealing result.  Thus, '-I' specifies simple arithmetic
+averages for the coordinate variables.  In the case of latitude, '-I'
+specifies that you prefer to archive the arithmetic mean latitude of the
+averaged hyperslabs rather than the area-weighted mean latitude.  (2).
+
+   As explained in *Note Operation Types::, 'ncwa' _always averages_
+coordinate variables regardless of the arithmetic operation type
+performed on the non-coordinate variables.  This is independent of the
+setting of the '-I' option.  The mathematical definition of operations
+involving rank reduction is given above (*note Operation Types::).
+
+   ---------- Footnotes ----------
+
+   (1) The default behavior of ('-I') changed on 19981201--before this
+date the default was not to weight or mask coordinate variables.
+
+   (2) If 'lat_wgt' contains Gaussian weights then the value of
+'latitude' in the OUTPUT-FILE will be the area-weighted centroid of the
+hyperslab.  For the example given, this is about 30 degrees.
+
+4.12.1 Mask condition
+---------------------
+
+The mask condition has the syntax MASK_VAR MASK_COMP MASK_VAL.  The
+preferred method to specify the mask condition is in one string with the
+'-B' or '--mask_condition' switches.  The older method is to use the
+three switches '-m', '-T', and '-M' to specify the MASK_VAR, MASK_COMP,
+and MASK_VAL, respectively.  (1).  The MASK_CONDITION string is
+automatically parsed into its three constituents MASK_VAR, MASK_COMP,
+and MASK_VAL.
+
+   Here MASK_VAR is the name of the masking variable (specified with
+'-m', '--mask-variable', '--mask_variable', '--msk_nm', or '--msk_var').
+The truth MASK_COMP argument (specified with '-T', '--mask_comparator',
+'--msk_cmp_typ', or '--op_rlt' may be any one of the six arithmetic
+comparators: 'eq', 'ne', 'gt', 'lt', 'ge', 'le'.  These are the
+Fortran-style character abbreviations for the logical comparisons ==,
+!=, >, <, >=, <=.  The mask comparator defaults to 'eq' (equality).  The
+MASK_VAL argument to '-M' (or '--mask-value', or '--msk_val') is the
+right hand side of the "mask condition".  Thus for the I'th element of
+the hyperslab to be averaged, the mask condition is mask(i) MASK_COMP
+MASK_VAL.
+
+   ---------- Footnotes ----------
+
+   (1) The three switches '-m', '-T', and '-M' are maintained for
+backward compatibility and may be deprecated in the future.  It is
+safest to write scripts using '--mask_condition'.
+
+4.12.2 Normalization and Integration
+------------------------------------
+
+'ncwa' has one switch which controls the normalization of the averages
+appearing in the OUTPUT-FILE.  Short option '-N' (or long options
+'--nmr' or '--numerator') prevents 'ncwa' from dividing the weighted sum
+of the variable (the numerator in the averaging expression) by the
+weighted sum of the weights (the denominator in the averaging
+expression).  Thus '-N' tells 'ncwa' to return just the numerator of the
+arithmetic expression defining the operation (*note Operation Types::).
+
+   With this normalization option, 'ncwa' can integrate variables.
+Averages are first computed as sums, and then normalized to obtain the
+average.  The original sum (i.e., the numerator of the expression in
+*note Operation Types::) is output if default normalization is turned
+off (with '-N').  This sum is the integral (not the average) over the
+specified (with '-a', or all, if none are specified) dimensions.  The
+weighting variable, if specified (with '-w'), plays the role of the
+differential increment and thus permits more sophisticated integrals
+(i.e., weighted sums) to be output.  For example, consider the variable
+'lev' where LEV = [100,500,1000] weighted by the weight 'lev_wgt' where
+LEV_WGT = [10,2,1].  The vertical integral of 'lev', weighted by
+'lev_wgt', is the dot product of LEV and LEV_WGT.  That this is is 3000.0
+can be seen by inspection and verified with the integration command
+     ncwa -N -a lev -v lev -w lev_wgt in.nc foo.nc;ncks foo.nc
+
+EXAMPLES
+
+   Given file '85_0112.nc':
+     netcdf 85_0112 {
+     dimensions:
+             lat = 64 ;
+             lev = 18 ;
+             lon = 128 ;
+             time = UNLIMITED ; // (12 currently)
+     variables:
+             float lat(lat) ;
+             float lev(lev) ;
+             float lon(lon) ;
+             float time(time) ;
+             float scalar_var ;
+             float three_dmn_var(lat, lev, lon) ;
+             float two_dmn_var(lat, lev) ;
+             float mask(lat, lon) ;
+             float gw(lat) ;
+     }
+
+   Average all variables in 'in.nc' over all dimensions and store
+results in 'out.nc':
+     ncwa in.nc out.nc
+All variables in 'in.nc' are reduced to scalars in 'out.nc' since 'ncwa'
+averages over all dimensions unless otherwise specified (with '-a').
+
+   Store the zonal (longitudinal) mean of 'in.nc' in 'out.nc':
+     ncwa -a lon in.nc out1.nc
+     ncwa -a lon -b in.nc out2.nc
+The first command turns 'lon' into a scalar and the second retains 'lon'
+as a degenerate dimension in all variables.
+     % ncks -C -H -v lon out1.nc
+     lon = 135
+     % ncks -C -H -v lon out2.nc
+     lon[0] = 135
+   In either case the tally is simply the size of 'lon', i.e., 180 for
+the '85_0112.nc' file described by the sample header above.
+
+   Compute the meridional (latitudinal) mean, with values weighted by
+the corresponding element of GW (1):
+     ncwa -w gw -a lat in.nc out.nc
+Here the tally is simply the size of 'lat', or 64.  The sum of the
+Gaussian weights is 2.0.
+
+   Compute the area mean over the tropical Pacific:
+     ncwa -w gw -a lat,lon -d lat,-20.,20. -d lon,120.,270. in.nc out.nc
+Here the tally is 64 times 128 = 8192.
+
+   Compute the area-mean over the globe using only points for which ORO
+< 0.5 (2):
+     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
+It is considerably simpler to specify the complete MASK_COND with the
+single string argument to '-B' than with the three separate switches
+'-m', '-T', and '-M' (3).  If in doubt, enclose the MASK_COND within
+quotes since some of the comparators have special meanings to the shell.
+
+   Assuming 70% of the gridpoints are maritime, then here the tally is
+0.70 times 8192 = 5734.
+
+   Compute the global annual mean over the maritime tropical Pacific:
+     ncwa -B 'ORO < 0.5'      -w gw -a lat,lon,time \
+       -d lat,-20.0,20.0 -d lon,120.0,270.0 in.nc out.nc
+     ncwa -m ORO -M 0.5 -T lt -w gw -a lat,lon,time \
+       -d lat,-20.0,20.0 -d lon,120.0,270.0 in.nc out.nc
+   Further examples will use the one-switch specification of MASK_COND.
+
+   Determine the total area of the maritime tropical Pacific, assuming
+the variable AREA contains the area of each gridcell
+     ncwa -N -v area -B 'ORO < 0.5' -a lat,lon \
+       -d lat,-20.0,20.0 -d lon,120.0,270.0 in.nc out.nc
+   Weighting AREA (e.g., by GW) is not appropriate because AREA is
+_already_ area-weighted by definition.  Thus the '-N' switch, or,
+equivalently, the '-y ttl' switch, correctly integrate the cell areas
+into a total regional area.
+
+   Mask a file to contain _FILLVALUE everywhere except where THR_MIN <=
+MSK_VAR <= THR_MAX:
+     # Set masking variable and its scalar thresholds
+     export msk_var='three_dmn_var_dbl' # Masking variable
+     export thr_max='20' # Maximum allowed value
+     export thr_min='10' # Minimum allowed value
+     ncecat -O in.nc out.nc # Wrap out.nc in degenerate "record" dimension
+     ncwa -O -a record -B "${msk_var} <= ${thr_max}" out.nc out.nc
+     ncecat -O out.nc out.nc # Wrap out.nc in degenerate "record" dimension
+     ncwa -O -a record -B "${msk_var} >= ${thr_min}" out.nc out.nc
+   After the first use of 'ncwa', 'out.nc' contains _FILLVALUE where
+'${msk_var} >= ${thr_max}'.  The process is then repeated on the
+remaining data to filter out points where '${msk_var} <= ${thr_min}'.
+The resulting 'out.nc' contains valid data only where THR_MIN <= MSK_VAR
+<= THR_MAX.
+
+   ---------- Footnotes ----------
+
+   (1) 'gw' stands for "Gaussian weight" in many climate models.
+
+   (2) 'ORO' stands for "Orography" in some climate models and in those
+models ORO < 0.5 selects ocean gridpoints.
+
+   (3) Unfortunately the '-B' and '--mask_condition' options are
+unsupported on Windows (with the MVS compiler), which lacks a free,
+standard parser and lexer.
+
+5 Contributing
+**************
+
+We welcome contributions from anyone.  The project homepage at
+<https://sf.net/projects/nco> contains more information on how to
+contribute.
+
+   Financial contributions to NCO development may be made through PayPal
+(https://www.paypal.com/xclick/business=zender%40uci.edu&item_name=NCO+development&item_number=nco_dnt_dvl&no_note=1&tax=0&currency_code=USD).
+NCO has been shared for over 10 years yet only two users have
+contributed any money to the developers (1).  So you could be the third!
+
+   ---------- Footnotes ----------
+
+   (1) Happy users have sent me a few gifts, though.  This includes a
+box of imported chocolate.  Mmm.  Appreciation and gifts are definitely
+better than money.  Naturally, I'm too lazy to split and send gifts to
+the other developers.  However, unlike some NCO developers, I have a
+steady "real job".  My intent is to split monetary donations among the
+active developers and to send them their shares via PayPal.
+
+5.1 Contributors
+================
+
+NCO would not exist without the dedicated efforts of the remarkable
+software engineers who conceive, develop, and maintain netCDF, UDUnits,
+and OPeNDAP. Since 1995 NCO has received support from, I believe, the
+entire staff of all these projects, including Russ Rew, John Caron,
+Glenn Davis, Steve Emmerson, James Gallagher, Ed Hartnett, and Dennis
+Heimbigner.  In addition to their roles in maintaining the software
+stack on which NCO perches, Yertl-like, some of these gentlemen have
+advised or contributed to NCO specifically.  That support is
+acknowledged separately below.
+
+   The primary contributors to NCO development have been:
+Charlie Zender
+     All concept, design and implementation from 1995-2000.  Since then
+     autotools, bug-squashing, CDL, chunking, documentation, anchoring,
+     recursion, GPE, packing, NCO library redesign, 'ncap2' features,
+     'ncbo', 'ncpdq', SMP threading and MPI parallelization, netCDF4
+     integration, external funding, project management, science
+     research, releases.
+Henry Butowsky
+     Non-linear operations and 'min()', 'max()', 'total()' support in
+     'ncra' and 'ncwa'.  Type conversion for arithmetic.  Migration to
+     netCDF3 API. 'ncap2' parser, lexer, GSL-support, and I/O.
+     Multislabbing algorithm.  Variable wildcarding.  Numerous hacks.
+     'ncap2' language.
+Rorik Peterson
+     Original autotool build support.  Long command-line options.
+     Original UDUnits support.  Debianization.  Numerous bug-fixes.
+Daniel Wang
+     Script Workflow Analysis for MultiProcessing (SWAMP). RPM support.
+Harry Mangalam
+     Benchmarking.  OPeNDAP configuration.
+Pedro Vicente
+     Windows Visual Studio support.  netCDF4 groups.
+Russ Rew
+     Advice on NCO structural algorithms
+Brian Mays
+     Original packaging for Debian GNU/Linux, 'nroff' man pages.
+George Shapovalov
+     Packaging for Gentoo GNU/Linux.
+Bill Kocik
+     Memory management.
+Len Makin
+     NEC SX architecture support.
+Jim Edwards
+     AIX architecture support.
+Juliana Rew
+     Compatibility with large PIDs.
+Karen Schuchardt
+     Auxiliary coordinate support.
+Gayathri Venkitachalam
+     MPI implementation.
+Scott Capps
+     Large work-load testing
+Peter Campbell, Martin Dix, Mark Flanner, Markus Liebig, Keith Lindsay, Mike Page, Martin Schmidt, Michael Schulz, Lori Sentman, Gary Strand, George White Andrew Wittenberg, Remik Ziemlinski
+     Excellent bug reports and feature requests.
+Daniel Baumann, Nick Bower, Luk Claebs, Barry deFreese, Aleksandar Jelenak, Francesco Lovergine, Matej Vela
+     Debian packaging
+Patrice Dumas, Ed Hill, Orion Poplawski
+     RedHat packaging
+George Shapavalov, Patrick Kursawe
+     Gentoo packaging
+Filipe Fernandes
+     OpenSuse packaging
+Takeshi Enomoto, Alexander Hansen
+     Mac OS packaging
+Eric Blake
+     Autoconf/M4 help
+Gavin Burris, Kyle Wilcox
+     RHEL and CentOS build scripts and bug reports.
+Andrea Cimatoribus
+     NCO Spiral Logo
+Martin Otte, Etienne Tourigny
+     Single bug reports and fixes
+Wenshan Wang
+     CMIP5 and MODIS processing documentation.
+   Please let me know if your name was omitted!
+
+5.2 Proposals for Institutional Funding
+=======================================
+
+NSF has funded a project (http://nco.sf.net#prp_sei) to improve
+Distributed Data Reduction & Analysis (DDRA) by evolving NCO into a
+suite of Scientific Data Operators called SDO.  The two main components
+of this project are NCO parallelism (OpenMP, MPI) and Server-Side DDRA
+(SSDDRA) implemented through extensions to OPeNDAP and netCDF4.  This
+project will dramatically reduce bandwidth usage for NCO DDRA.
+
+   With this first NCO proposal funded, the content of the next NCO
+proposal is clear.  We are interested in obtaining NASA support for
+HDF-specific enhancements to NCO.  We plan to submit a proposal to the
+next suitable NASA NRA or NSF opportunity.
+
+   We are considering other interesting ideas for still more proposals.
+Please contact us if you wish to be involved with any future NCO-related
+proposals.  Comments on the proposals and letters of support are also
+very welcome.
+
+6 Quick Start
+*************
+
+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 monthly data in either one file or multiple files.
+
+6.1 Daily data in one file
+==========================
+
+Suppose we have daily data from Jan 1st, 1990 to Dec.  31, 2005 in the
+file of 'in.nc' with the record dimension as 'time'.
+
+*Monthly average:*
+     for yyyy in {1990..2005}; do      # Loop over years
+       for moy in {1..12}; do          # Loop over months
+         mm=$( printf "%02d" ${moy} )  # Change to 2-digit format
+
+         # Average specific month yyyy-mm
+         ncra -O -d time,"${yyyy}-${mm}-01","${yyyy}-${mm}-31" \
+              in.nc in_${yyyy}${mm}.nc
+       done
+     done
+
+     # Concatenate monthly files together
+     ncrcat -O in_??????.nc out.nc
+
+*Annual average:*
+     for yyyy in {1990..2005}; do      # Loop over years
+       ncra -O -d time,"${yyyy}-01-01","${yyyy}-12-31" in.nc in_${yyyy}.nc
+     done
+
+     # Concatenate annual files together
+     ncrcat -O in_????.nc out.nc
+   The '-O' switch means to overwrite the pre-existing files (*note
+Batch Mode::).  The '-d' option is to specify the range of hyperslabs
+(*note Hyperslabs::).  There are detailed instructions on 'ncra' (*note
+ncra netCDF Record Averager:: and 'ncrcat' (*note ncrcat netCDF Record
+Concatenator::).  NCO supports UDUnits so that we can use readable dates
+as time dimension (*note UDUnits Support::).
+
+6.2 Monthly data in one file
+============================
+
+Inside the input file 'in.nc', the record dimension 'time' is from Jan
+1990 to Dec 2005.
+
+*Seasonal average (e.g., DJF):*
+     ncra -O --mro -d time,"1990-12-01",,12,3 in.nc out.nc
+
+*Annual average:*
+     ncra -O --mro -d time,,,12,12 in.nc out.nc
+   Here we use the subcycle feature (i.e., the number after the fourth
+comma: '3' in the seasonal example and the second '12' in the annual
+example) to retrieve groups of records separated by regular intervals
+(*note Subcycle::).  The option '--mro' switches 'ncra' to produce a
+Multi-Record Output instead of a single-record output.  For example,
+assume SND is a 3D array with dimensions 'time' * 'latitude' *
+'longitude' and 'time' includes every month from Jan.  1990 to Dec.
+2005, 192 months as total, which are 16 years.  Let's look at the
+following two command lines.
+     ncra --mro -v snd -d time,"1990-12-01",,12,3 in.nc out_mro.nc
+     ncra -v snd -d time,"1990-12-01",,12,3 in.nc out_sro.nc
+   In the first output file, 'out_mro.nc', SND is still a 3D array with
+dimensions 'time' * 'latitude' * 'longitude', but the length of 'time'
+now is 16, meaning 16 winters.  In the second output file, 'out_sro.nc',
+the length of 'time' is only 1.  It is now the average of all the 16
+winters.
+
+   when using '-d DIM,min[,max]' to specify the hyperslabs, you can
+leave it blank if you want to include the minimum or the maximum of the
+data, like we did above.
+
+6.3 One time point one file
+===========================
+
+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.  For example,
+your daily data files may look like 'snd_19900101.nc',
+'snd_19900102.nc', 'snd_19900103.nc' ...  If you want to know the
+monthly average of Jan 1990, you can write like,
+     ncra -O snd_199001??.nc out.nc
+   You might want to use loop if you need the average of each month.
+     for moy in {1..12}; do          # Loop over months
+       mm=$( printf "%02d" ${moy} )  # Change to 2-digit format
+
+       ncra -O snd_????${mm}??.nc out_${mm}.nc
+     done
+
+6.4 Multiple files with multiple time points
+============================================
+
+Similar as the last one, it'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 'ncra' on the specific data file.  And for
+seasonal averages, you can specify the three months by shell scripts.
+
+7 CMIP5 Example
+***************
+
+The fifth phase of the Coupled Model Intercomparison Project (CMIP5
+(http://cmip-pcmdi.llnl.gov/cmip5/index.html?submenuheader=0)) provides
+a multi-model framework for comparing the mechanisms and responses of
+climate models from around the world.  However, it is a tremendous
+workload to retrieve a single climate statistic from all these models,
+each of which includes several ensemble members.  Not only that, it is
+too often a repetitive process which impedes new research and hypothesis
+testing.  Our NASA ACCESS project is designed to simplify and accelerate
+this process.  To begin, we document below a prototypical example of
+CMIP5 analysis and evaluation using traditional NCO commands on
+netCDF3-format model and HDF-EOS format observational (NASA MODIS
+satellite instrument) datasets.  These examples complement the NCO User
+Guide by detailing in-depth data analysis in a frequently encountered
+"real world" context.  Graphical representations of the results (NCL
+scripts available upon request) are provided to illustrate physical
+meaning of the analysis.  Since NCO can process hierarchical datasets,
+i.e., datasets stored with netCDF4 groups, we present sample scripts
+illustrating group-based processing as well.
+
+7.1 Combine Files
+=================
+
+Sometimes, the data of one ensemble member will be stored in several
+files to reduce single file size.  But it is not convenient to process
+in a batch mode.  The following script illustrates how to concatenate
+these files into one.  Key steps include:
+  1. Obtain number and names (or partial names) of files in a directory
+  2. Concatenate files along the record dimension (usually time) using
+     'ncrcat' (*note ncrcat netCDF Record Concatenator::).
+     #!/bin/bash      # shell type
+     shopt -s extglob # enable extended globbing
+
+     #===========================================================================
+     # Some of the models cut one ensemble member into several files,
+     #  which include data of different time periods.
+     # We'd better concatenate them into one at the beginning so that
+     #  we won't have to think about which files we need if we want
+     #  to retrieve a specific time period later.
+     #
+     # Method:
+     #	- Make sure 'time' is the record dimension (i.e., left-most)
+     #	- ncrcat
+     #
+     # Input files like:
+     # /data/cmip5/snc_LImon_bcc-csm1-1_historical_r1i1p1_185001-190012.nc
+     # /data/cmip5/snc_LImon_bcc-csm1-1_historical_r1i1p1_190101-200512.nc
+     #
+     # Output files like:
+     # /data/cmip5/snc_LImon_bcc-csm1-1_historical_r1i1p1_185001-200512.nc
+     #
+     # Online: http://nco.sourceforge.net/nco.html#Combine-Files
+     #
+     # Execute this script: bash cmb_fl.sh
+     #===========================================================================
+
+     drc_in='/home/wenshanw/data/cmip5/' # Directory of input files
+
+     var=( 'snc' 'snd' )                 # Variables
+     rlm='LImon'                         # Realm
+     xpt=( 'historical' )                # Experiment ( could be more )
+
+     for var_id in {0..1}; do            # Loop over two variables
+       # Names of all the models (ls [get file names];
+       #  cut [get model names];
+       #  sort; uniq [remove duplicates]; awk [print])
+       mdl_set=$( ls ${drc_in}${var[var_id]}_${rlm}_*_${xpt[0]}_*.nc | \
+         cut -d '_' -f 3 | sort | uniq -c | awk '{print $2}' )
+       # Number of models (echo [print contents]; wc [count])
+       mdl_nbr=$( echo ${mdl_set} | wc -w )
+       echo "=============================="
+       echo "There are" ${mdl_nbr} "models for" ${var[var_id]}.
+
+       for mdl in ${mdl_set}; do	        # Loop over models
+         # Names of all the ensemble members
+         nsm_set=$( ls ${drc_in}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}_*.nc | \
+           cut -d '_' -f 5 | sort | uniq -c | awk '{print $2}' )
+         # Number of ensemble members in each model
+         nsm_nbr=$( echo ${nsm_set} | wc -w )
+         echo "------------------------------"
+         echo "Model" ${mdl} "includes" ${nsm_nbr} "ensemble member(s):"
+         echo ${nsm_set}"."
+
+         for nsm in ${nsm_set}; do	      # Loop over ensemble members
+           # Number of files in this ensemble member
+           fl_nbr=$( ls ${drc_in}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}_${nsm}_*.nc \
+             | wc -w )
+
+           # If there is only 1 file, continue to next loop
+           if [ ${fl_nbr} -le 1 ]
+           then
+           	echo "There is only 1 file in" ${nsm}.
+           	continue
+           fi
+
+           echo "There are" ${fl_nbr} "files in" ${nsm}.
+
+           # Starting date of data
+           #   (sed [the name of the first file includes the starting date])
+           yyyymm_str=$( ls ${drc_in}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}_${nsm}_*.nc\
+             | sed -n '1p' | cut -d '_' -f 6 | cut -d '-' -f 1 )
+           # Ending date of data
+           #   (sed [the name of the last file includes the ending date])
+           yyyymm_end=$( ls ${drc_in}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}_${nsm}_*.nc\
+             | sed -n "${fl_nbr}p" | cut -d '_' -f 6 | cut -d '-' -f 2 )
+
+           # Concatenate one ensemble member files
+           #   into one along the record dimension (now is time)
+           ncrcat -O ${drc_in}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}_${nsm}_*.nc \
+             ${drc_in}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}_\
+             ${nsm}_${yyyymm_str}-${yyyymm_end}
+
+           # Remove useless files
+           rm ${drc_in}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}_${nsm}_\
+             !(${yyyymm_str}-${yyyymm_end})
+         done
+       done
+     done
+
+   Right now, CMIP5 model data downloaded from Earth System Grid
+Federation (ESGF (http://pcmdi9.llnl.gov/esgf-web-fe/)) will not contain
+<group> features yet.  Therefore users can aggregate the flat files into
+groups themselves.  The following script shows how to aggregate models
+to one file.  Each dataset becomes a group in the output file.  There
+can be several levels of groups.  In this example, we employ two
+experiments as the top-level.  The second-level comprises different
+models.  Some models have more than one ensemble member.  These ensemble
+members are on the third level.  In each sub-group of ensemble members,
+we appended two variables, SNC and SND (these stand for snow cover and
+snow depth, by the way).
+     #!/bin/bash
+     #
+     #============================================================
+     # Aggregate models to one group file
+     #
+     # Method:
+     # - Create files with groups by ncecat --gag
+     #	- Append groups level by level using ncks
+     #
+     # Input files like:
+     # snc_LImon_CCSM4_historical_r1i1p1_199001-200512.nc
+     # snd_LImon_CESM1-BGC_esmHistorical_r1i1p1_199001-200512.nc
+     #
+     # Output files like:
+     # sn_LImon_199001-200512.nc
+     #
+     # Online: http://nco.sourceforge.net/nco.html#Combine-Files
+     #
+     # Execute this script: bash cmb_fl_grp.sh
+     #============================================================
+
+     # Directories
+     drc_in='../data/'
+     drc_out='../data/grp/'
+
+     # Constants
+     rlm='LImon'         # Realm: LandIce; Time frequency: monthly
+     tms='200001-200512' # Timeseris
+     flt='nc'            # File Type
+
+     # Geographical weights
+     # Can be skipped when ncap2 works on group data
+     # Loop over all snc files
+     for fn in $( ls ${drc_in}snc_${rlm}_*_${tms}.${flt} ); do
+       ncap2 -O -s \
+         'gw = float(cos(lat*3.1416/180.)); gw at long_name="geographical weight";'\
+         ${fn} ${fn}
+     done
+
+     var=( 'snc' 'snd' )
+     xpt=( 'esmHistorical' 'historical' )
+     mdl=( 'CCSM4' 'CESM1-BGC' 'CESM1-CAM5' )
+
+     for i in {0..1}; do     # Loop over variables
+       for j in {0..1}; do   # Loop over experiments
+         for k in {0..2}; do # Loop over models
+           ncecat -O --glb_mtd_spp -G ${xpt[j]}/${mdl[k]}/${mdl[k]}_ \
+             ${drc_in}${var[i]}_${rlm}_${mdl[k]}_${xpt[j]}_*_${tms}.${flt} \
+             ${drc_out}${var[i]}_${rlm}_${mdl[k]}_${xpt[j]}_all-nsm_${tms}.${flt}
+           ncks -A \
+             ${drc_out}${var[i]}_${rlm}_${mdl[k]}_${xpt[j]}_all-nsm_${tms}.${flt} \
+             ${drc_out}${var[i]}_${rlm}_${mdl[0]}_${xpt[j]}_all-nsm_${tms}.${flt}
+         done                # Loop done: models
+         ncks -A \
+           ${drc_out}${var[i]}_${rlm}_${mdl[0]}_${xpt[j]}_all-nsm_${tms}.${flt} \
+           ${drc_out}${var[i]}_${rlm}_${mdl[0]}_${xpt[0]}_all-nsm_${tms}.${flt}
+       done                  # Loop done: experiments
+       ncks -A \
+         ${drc_out}${var[i]}_${rlm}_${mdl[0]}_${xpt[0]}_all-nsm_${tms}.${flt} \
+         ${drc_out}${var[0]}_${rlm}_${mdl[0]}_${xpt[0]}_all-nsm_${tms}.${flt}
+     done                    # Loop done: variables
+
+     # Rename output file
+     mv ${drc_out}${var[0]}_${rlm}_${mdl[0]}_${xpt[0]}_all-nsm_${tms}.${flt} \
+       ${drc_out}sn_${rlm}_all-mdl_all-xpt_all-nsm_${tms}.${flt}
+     # Remove temporary files
+     rm ${drc_out}sn?_${rlm}*.nc
+
+     #!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+     # Coming soon!
+     #- Group names:
+     #   E.g., file snc_LImon_CESM1-CAM5_historical_r1i1p1_199001-200512.nc
+     #   will be group /historical/CESM1-CAM5/00
+     #- You can rename groups on the last level to be more meaningful by
+     #ncrename -g ${xpt}/${mdl}/02,${xpt}/${mdl}/r3i1p1 \
+     #  ${drc_out}${var}_${rlm}_${mdl}_all-nsm_${tms}.${flt}
+     #!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+     #------------------------------------------------------------
+     # Output file structure
+     #------------------------------------------------------------
+     # esmHistorical
+     # {
+     #   CESM1-BGC
+     #   {
+     #     CESM1-BGC_00
+     #     {
+     #       snc(time, lat, lon)
+     #       snd(time, lat, lon)
+     #     }
+     #   }
+     # }
+     # historical
+     # {
+     #    CCSM4
+     #    {
+     #      CCSM4_00
+     #      {
+     #       snc(time, lat, lon)
+     #       snd(time, lat, lon)
+     #      }
+     #      CCSM4_01
+     #      {
+     #       snc(time, lat, lon)
+     #       snd(time, lat, lon)
+     #      }
+     #      CCSM4_02 { ... }
+     #      CCSM4_03 { ... }
+     #      CCSM4_04 { ... }
+     #    }
+     #    CESM1-BGC
+     #    {
+     #      CESM1-BGC_00 { ... }
+     #    }
+     #    CESM1-CAM5
+     #    {
+     #      CESM1-CAM5_00 { ... }
+     #      CESM1-CAM5_01 { ... }
+     #      CESM1-CAM5_02 { ... }
+     #    }
+     # }
+
+7.2 Global Distribution of Long-term Average
+============================================
+
+Global Distribution of Long-term Average.
+Figure 7.1: Global Distribution of Long-term Average.
+This section illustrates how to calculate the global distribution of
+long-term average (*note Figure 7.1: fgr:glb.) with either flat files or
+group file (http://nco.sourceforge.net/nco.html#index-groups).  Key
+steps include:
+  1. Average ensemble members of each model using 'nces' (*note nces
+     netCDF Ensemble Statistics::)
+  2. Average the record dimension using 'ncra' (*note ncra netCDF Record
+     Averager::)
+  3. Store results of each model as a distinct group in a single output
+     file using 'ncecat' (*note ncrcat netCDF Record Concatenator::)
+     with the '--gag' option
+   The first example shows how to process flat files.
+     #!/bin/bash
+
+     #===========================================================================
+     # After cmb_fl.sh
+     # Example: Long-term average of each model globally
+     #
+     # Input files like:
+     # /data/cmip5/snc_LImon_bcc-csm1-1_historical_r1i1p1_185001-200512.nc
+     #
+     # Output files like:
+     # /data/cmip5/output/snc/snc_LImon_all-mdl_historical_all-nsm_clm.nc
+     #
+     # Online:
+     #  http://nco.sourceforge.net/nco.html#Global-Distribution-of-Long_002dterm-Average
+     #
+     # Execute this script: bash glb_avg.sh
+     #===========================================================================
+
+     #---------------------------------------------------------------------------
+     # Parameters
+     drc_in='/home/wenshanw/data/cmip5/'         # Directory of input files
+     drc_out='/home/wenshanw/data/cmip5/output/' # Directory of output files
+
+     var=( 'snc' 'snd' )                         # Variables
+     rlm='LImon'                                 # Realm
+     xpt=( 'historical' )                        # Experiment ( could be more )
+
+     fld_out=( 'snc/' 'snd/' )                   # Folders of output files
+     #---------------------------------------------------------------------------
+
+     for var_id in {0..1}; do	                  # Loop over two variables
+       # Names of all models
+       #   (ls [get file names]; cut [get the part for model names];
+       #   sort; uniq [remove duplicates]; awk [print])
+       mdl_set=$( ls ${drc_in}${var[var_id]}_${rlm}_*_${xpt[0]}_*.nc | \
+         cut -d '_' -f 3 | sort | uniq -c | awk '{print $2}' )
+       # Number of models (echo [print contents]; wc [count])
+       mdl_num=$( echo ${mdl_set} | wc -w )
+
+       for mdl in ${mdl_set}; do				          # Loop over models
+       	# Average all the ensemble members of each model
+         # Use nces file ensembles mode: --nsm_fl
+       	nces --nsm_fl -O -4 -d time,"1956-01-01 00:00:0.0","2005-12-31 23:59:9.9" \
+           ${drc_in}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}_*.nc \
+           ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}\
+           _all-nsm_195601-200512.nc
+
+       	# Average along time
+       	ncra -O ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}\
+           _all-nsm_195601-200512.nc \
+           ${drc_out}${fld_out[var_id]}${var[var_id]}_${mdl}.nc
+
+       	echo Model ${mdl} done!
+       done
+
+     	# Remove temporary files
+     	rm ${drc_out}${fld_out[var_id]}${var[var_id]}*historical*.nc
+
+       # Store models as groups in the output file
+       ncecat -O --gag ${drc_out}${fld_out[var_id]}${var[var_id]}_*.nc \
+         ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_\
+         all-mdl_${xpt[0]}_all-nsm_clm.nc
+
+     	echo Var ${var[var_id]} done!
+     done
+
+   With the use of <group>, the above script will be shortened to just
+TWO LINES.
+     # Data from cmb_fl_grp.sh
+     # ensemble averaging
+     nces -O --nsm_grp --nsm_sfx='_avg' \
+     sn_LImon_all-mdl_all-xpt_all-nsm_200001-200512.nc \
+       sn_LImon_all-mdl_all-xpt_nsm-avg.nc
+     ncra -O -g 'avg$' sn_LImon_all-mdl_all-xpt_nsm-avg.nc \
+       sn_LImon_all-mdl_all-xpt_nsm-avg_tm-avg.nc
+   The input file, 'sn_LImon_all-mdl_all-xpt_all-nsm_200001-200512.nc',
+produced by 'cmb_fl_grp.sh', includes all the ensemble members as
+groups.  The option '--nsm_grp' denotes that we are using group
+ensembles mode (http://nco.sf.net/nco.html#nsm_grp) of 'nces', instead
+of file ensembles mode (http://nco.sf.net/nco.html#nsm_fl), '--nsm_fl'.
+The option '--nsm_sfx='_avg'' instructs 'nces' to store the output as a
+new child group '/[model]/[model name]_avg', instead of in the parent
+group '/[model]'.  In the final output file,
+'sn_LImon_all-mdl_all-xpt_nsm-avg_tm-avg.nc', sub-groups with a suffix
+of 'avg' are the long-term averages of each model.  Here, '-g 'avg$'' is
+used to retrieve groups having 'avg' at the end of their names, i.e.,
+the long-term average groups.
+
+7.3 Annual Average over Regions
+===============================
+
+Annual Average over Regions.
+Figure 7.2: Annual Average over Regions.
+This section illustrates how to calculate the annual average over
+specific regions (*note Figure 7.2: fgr:anl.).  Key steps include:
+  1. Spatial average using 'ncap2' (*note ncap2 netCDF Arithmetic
+     Processor::) and 'ncwa' (*note ncwa netCDF Weighted Averager::);
+  2. Change dimension order using 'ncpdq' (*note ncpdq netCDF Permute
+     Dimensions Quickly::);
+  3. Annual average using 'ncra' (*note ncra netCDF Record Averager::);
+  4. Anomaly from long-term average using 'ncbo' (*note ncbo netCDF
+     Binary Operator::);
+  5. Standard deviation using 'ncbo' (*note ncbo netCDF Binary
+     Operator::) and 'nces' (*note nces netCDF Ensemble Statistics::);
+  6. Rename variables using 'ncrename' (*note ncrename netCDF
+     Renamer::);
+  7. Edit attributions using 'ncatted' (*note ncatted netCDF Attribute
+     Editor::);
+  8. Linear regression using 'ncap2' (*note ncap2 netCDF Arithmetic
+     Processor::);
+  9. Use 'ncap2' (*note ncap2 netCDF Arithmetic Processor::) with nco
+     script file (i.e., '.nco' file);
+  10. Move variables around using 'ncks' (*note ncks netCDF Kitchen
+     Sink::).
+   *Flat files example*
+     #!/bin/bash
+     # Includes gsl_rgr.nco
+
+     #===========================================================================
+     # After cmb_fl.sh
+     # Example: Annual trend of each model over Greenland and Tibet
+     #   ( time- and spatial-average, standard deviation,
+     #   anomaly and linear regression)
+     #
+     # Input files:
+     # /data/cmip5/snc_LImon_bcc-csm1-1_historical_r1i1p1_185001-200512.nc
+     #
+     # Output files:
+     # /data/cmip5/outout/snc/snc_LImon_all-mdl_historical_all-nsm_annual.nc
+     #
+     # Online: http://nco.sourceforge.net/nco.html#Annual-Average-over-Regions
+     #
+     # Execute this script: bash ann_avg.sh
+     #===========================================================================
+
+     #---------------------------------------------------------------------------
+     # Parameters
+     drc_in='/home/wenshanw/data/cmip5/'         # Directory of input files
+     drc_out='/home/wenshanw/data/cmip5/output/' # Directory of output files
+
+     var=( 'snc' 'snd' )                         # Variables
+     rlm='LImon'                                 # Realm
+     xpt=( 'historical' )                        # Experiment ( could be more )
+
+     fld_out=( 'snc/' 'snd/' )                   # Folders of output files
+     # ------------------------------------------------------------
+
+     for var_id in {0..1}; do                    # Loop over two variables
+       # Names of all models
+       #   (ls [get file names]; cut [get the part for model names];
+       #   sort; uniq [remove duplicates]; awk [print])
+       mdl_set=$( ls ${drc_in}${var[var_id]}_${rlm}_*_${xpt[0]}_*.nc | \
+         cut -d '_' -f 3 | sort | uniq -c | awk '{print $2}' )
+
+       for mdl in ${mdl_set}; do		              # Loop over models
+       	# Loop over ensemble members
+         for fn in $( ls ${drc_in}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}_*.nc ); do
+           pfx=$( echo ${fn} | cut -d'/' -f6 | cut -d'_' -f1-5 )
+
+           # Two regions
+           # Geographical weight
+           ncap2 -O -s 'gw = cos(lat*3.1415926/180.); gw at long_name="geographical weight"\
+             ;gw at units="ratio"' ${fn} ${drc_out}${fld_out[var_id]}${pfx}_gw.nc
+           # Greenland
+           ncwa -O -w gw -d lat,60.0,75.0 -d lon,300.0,340.0 -a lat,lon \
+             ${drc_out}${fld_out[var_id]}${pfx}_gw.nc \
+             ${drc_out}${fld_out[var_id]}${pfx}_gw_1.nc
+           # Tibet
+           ncwa -O -w gw -d lat,30.0,40.0 -d lon,80.0,100.0 -a lat,lon \
+             ${drc_out}${fld_out[var_id]}${pfx}_gw.nc \
+             ${drc_out}${fld_out[var_id]}${pfx}_gw_2.nc
+
+           # Aggregate 2 regions together
+           ncecat -O -u rgn ${drc_out}${fld_out[var_id]}${pfx}_gw_?.nc \
+             ${drc_out}${fld_out[var_id]}${pfx}_gw_rgn4.nc
+
+           # Change dimensions order
+           ncpdq -O -a time,rgn ${drc_out}${fld_out[var_id]}${pfx}_gw_rgn4.nc \
+             ${drc_out}${fld_out[var_id]}${pfx}_gw_rgn4.nc
+
+           # Remove temporary files (optional)
+           rm ${drc_out}${fld_out[var_id]}${pfx}_gw_?.nc \
+             ${drc_out}${fld_out[var_id]}${pfx}_gw.nc
+
+           # Annual average (use the feature of 'Duration')
+           ncra -O --mro -d time,"1956-01-01 00:00:0.0","2005-12-31 23:59:9.9",12,12 \
+             ${drc_out}${fld_out[var_id]}${pfx}_gw_rgn4.nc \
+             ${drc_out}${fld_out[var_id]}${pfx}_yrly.nc
+
+           # Anomaly
+           # Long-term average
+           ncwa -O -a time ${drc_out}${fld_out[var_id]}${pfx}_yrly.nc \
+             ${drc_out}${fld_out[var_id]}${pfx}_clm.nc
+           # Subtract long-term average
+           ncbo -O --op_typ=- ${drc_out}${fld_out[var_id]}${pfx}_yrly.nc \
+             ${drc_out}${fld_out[var_id]}${pfx}_clm.nc \
+             ${drc_out}${fld_out[var_id]}${pfx}_anm.nc
+         done
+
+         rm ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}_*_yrly.nc
+
+         # Average over all the ensemble members
+         ncea -O -4 ${drc_out}${fld_out[var_id]}${var[var_id]}_\
+           ${rlm}_${mdl}_${xpt[0]}_*_anm.nc ${drc_out}${fld_out[var_id]}\
+           ${var[var_id]}_${rlm}_${mdl}_${xpt[0]}_all-nsm_anm.nc
+
+         # Standard deviation ------------------------------
+         for fn in $( ls ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_${mdl}_\
+           ${xpt[0]}_*_anm.nc ); do
+           pfx=$( echo ${fn} | cut -d'/' -f8 | cut -d'_' -f1-5 )
+
+           # Difference between each ensemble member and the average of all members
+           ncbo -O --op_typ=- ${fn} \
+             ${drc_out}${fld_out[var_id]}${var[var_id]}_\
+             ${rlm}_${mdl}_${xpt[0]}_all-nsm_anm.nc \
+             ${drc_out}${fld_out[var_id]}${pfx}_dlt.nc
+         done
+
+         # RMS
+         ncea -O -y rmssdn ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_\
+           ${mdl}_${xpt[0]}_*_dlt.nc \
+           ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_\
+           ${mdl}_${xpt[0]}_all-nsm_sdv.nc
+         # Rename variables
+         ncrename -v ${var[var_id]},sdv \
+           ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_\
+           ${mdl}_${xpt[0]}_all-nsm_sdv.nc
+         # Edit attributions
+         ncatted -a standard_name,sdv,a,c,"_standard_deviation_over_ensemble" \
+           -a long_name,sdv,a,c," Standard Deviation over Ensemble" \
+           -a original_name,sdv,a,c," sdv" \
+           ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_\
+           ${mdl}_${xpt[0]}_all-nsm_sdv.nc
+         #------------------------------------------------------------
+
+         # Linear regression -----------------------------------------
+         #!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+         # Have to change the name of variable in the commands file
+         #   of gsl_rgr.nco manually (gsl_rgr.nco is listed below)
+         ncap2 -O -S gsl_rgr.nco \
+           ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_\
+           ${mdl}_${xpt[0]}_all-nsm_anm.nc ${drc_out}${fld_out[var_id]}${var[var_id]}\
+           _${rlm}_${mdl}_${xpt[0]}_all-nsm_anm_rgr.nc
+         #!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+         # Get rid of temporary variables
+         ncks -O -v c0,c1,pval,${var[var_id]},gw \
+           ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_${mdl}_\
+           ${xpt[0]}_all-nsm_anm_rgr.nc \
+           ${drc_out}${fld_out[var_id]}${var[var_id]}_${mdl}.nc
+         #------------------------------------------------------------
+
+         # Move the variable 'sdv' into the anomaly files (i.e., *anm.nc files)
+         ncks -A -v sdv \
+           ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_\
+           ${mdl}_${xpt[0]}_all-nsm_sdv.nc \
+           ${drc_out}${fld_out[var_id]}${var[var_id]}_${mdl}.nc
+         rm ${drc_out}${fld_out[var_id]}${var[var_id]}_*historical*
+
+         echo Model ${mdl} done!
+       done
+
+       # Store models as groups in the output file
+       ncecat -O --gag ${drc_out}${fld_out[var_id]}${var[var_id]}_*.nc
+       ${drc_out}${fld_out[var_id]}${var[var_id]}_\
+         ${rlm}_all-mdl_${xpt[0]}_all-nsm_annual.nc
+
+       echo Var ${var[var_id]} done!
+     done
+   *gsl_rgr.nco*
+     // Linear Regression
+     // Called by ann_avg.sh
+     // Caution: make sure the variable name is
+     //  in agreement with the main script (now is 'snd')
+     // Online: http://nco.sourceforge.net/nco.html#Annual-Average-over-Regions
+
+     // Declare variables
+     *c0[$rgn]=0.;        // Intercept
+     *c1[$rgn]=0.;        // Slope
+     *sdv[$rgn]=0.;       // Standard deviation
+     *covxy[$rgn]=0.;     // Covariance
+     *x = double(time);
+
+     for (*rgn_id=0;rgn_id<$rgn.size;rgn_id++)   // Loop over regions
+     {
+     	gsl_fit_linear(time,1,snd(:,rgn_id),1,$time.size, \
+         &tc0, &tc1, &cov00, &cov01,&cov11,&sumsq); // Linear regression function
+     	c0(rgn_id) = tc0;    // Output results
+     	c1(rgn_id) = tc1;
+     	covxy(rgn_id) = gsl_stats_covariance(time,1,\
+         $time.size,double(snd(:,rgn_id)),1,$time.size); // Covariance function
+     	sdv(rgn_id) = gsl_stats_sd(snd(:,rgn_id), \
+         1, $time.size);   // Standard deviation function
+     }
+
+     // P value------------------------------------------------------------
+     *time_sdv = gsl_stats_sd(time, 1, $time.size);
+     *r_value = covxy/(time_sdv*sdv);
+     *t_value = r_value/sqrt((1-r_value^2)/($time.size-2));
+     pval = abs(gsl_cdf_tdist_P(t_value, $time.size-2) - \
+       gsl_cdf_tdist_P(-t_value, $time.size-2));
+     //----------------------------------------------------------------
+
+     // Write RAM variables to disk
+     //------------------------------------------------------------
+     // Usually NCO writes the outputs directly to disk
+     // Using RAM variables, declared by *, will shorten running time
+     // Output the final results using ram_write()
+     //------------------------------------------------------------
+     ram_write(c0);
+     ram_write(c1);
+
+   With the <group> feature, all the loops over experiments, models and
+ensemble members can be omitted.  As we are working on implementing
+<group> feature in all NCO operators, some functions (e.g., regression
+and standard deviation over ensemble members) may have to wait until the
+new versions.
+     #!/bin/bash
+     #
+     #============================================================
+     # Group data output by cmb_fl_grp.sh
+     # Annual trend of each model over Greenland and Tibet
+     # Time- and spatial-average, standard deviation and anomaly
+     # No regression yet (needs ncap2)
+     #
+     # Input files:
+     # sn_LImon_all-mdl_all-xpt_all-nsm_200001-200512.nc
+     #
+     # Online: http://nco.sourceforge.net/nco.html#Annual-Average-over-Regions
+     #
+     # Execute this script: bash ann_avg_grp.sh
+     #===========================================================================
+     # Input and output directory
+     drc='../data/grp/'
+
+     # Constants
+     pfx='sn_LImon_all-mdl_all-xpt_all-nsm'
+     tms='200001-200512'           # Time series
+
+     # Greenland
+     ncwa -O -w gw -d lat,60.0,75.0 -d lon,300.0,340.0 -a lat,lon \
+       ${drc}${pfx}_${tms}.nc \
+       ${drc}${pfx}_${tms}_grl.nc
+     # Tibet
+     ncwa -O -w gw -d lat,30.0,40.0 -d lon,80.0,100.0 -a lat,lon \
+       ${drc}${pfx}_${tms}.nc \
+       ${drc}${pfx}_${tms}_tbt.nc
+
+     # Aggregate 2 regions together
+     ncecat -O -u rgn ${drc}${pfx}_${tms}_???.nc \
+       ${drc}${pfx}_${tms}_rgn2.nc
+
+     # Change dimensions order
+     ncpdq -O -a time,rgn ${drc}${pfx}_${tms}_rgn2.nc \
+       ${drc}${pfx}_${tms}_rgn2.nc
+
+     # Remove temporary files (optional)
+     rm ${drc}${pfx}_${tms}_???.nc
+
+     #Annual average
+     ncra -O --mro -d time,,,12,12 ${drc}${pfx}_${tms}_rgn2.nc \
+       ${drc}${pfx}_${tms}_rgn2_ann.nc
+
+     # Anomaly
+     #------------------------------------------------------------
+     # Long-term average
+     ncwa -O -a time ${drc}${pfx}_${tms}_rgn2_ann.nc \
+       ${drc}${pfx}_${tms}_rgn2_clm.nc
+     # Subtract
+     ncbo -O --op_typ=- ${drc}${pfx}_${tms}_rgn2_ann.nc \
+       ${drc}${pfx}_${tms}_rgn2_clm.nc \
+       ${drc}${pfx}_${tms}_rgn2_anm.nc
+     #------------------------------------------------------------
+
+     # Standard Deviation: inter-annual variability
+     # RMS of the above anomaly
+     ncra -O -y rmssdn ${drc}${pfx}_${tms}_rgn2_anm.nc \
+       ${drc}${pfx}_${tms}_rgn2_stddev.nc
+
+7.4 Monthly Cycle
+=================
+
+Monthly Cycle.
+Figure 7.3: Monthly Cycle.
+This script illustrates how to calculate the monthly anomaly from the
+annual average (*note Figure 7.3: fgr:mon.).  In order to keep only the
+monthly cycle, we will subtract the annual average of each year from the
+monthly data, instead of subtracting the long-term average.  This is a
+little more complicated in coding since we need to loop over years.
+
+   *Flat files example*
+     #!/bin/bash
+
+     #============================================================
+     # After cmb_fl.sh
+     # Example: Monthly cycle of each model in Greenland
+     #
+     # Input files:
+     # /data/cmip5/snc_LImon_bcc-csm1-1_historical_r1i1p1_185001-200512.nc
+     #
+     # Output files:
+     # /data/cmip5/snc/snc_LImon__all-mdl_historical_all-nsm_GN_mthly-anm.nc
+     #
+     # Online: http://nco.sourceforge.net/nco.html#Monthly-Cycle
+     #
+     # Execute this script: bash mcc.sh
+     #============================================================
+
+     #------------------------------------------------------------
+     # Parameters
+     drc_in='/home/wenshanw/data/cmip5/'		# Directory of input files
+     drc_out='/home/wenshanw/data/cmip5/output/'	# Directory of output files
+
+     var=( 'snc' 'snd' )		# Variables
+     rlm='LImon'			# Realm
+     xpt=( 'historical' )		# Experiment ( could be more )
+
+     fld_out=( 'snc/' 'snd/' )		# Folders of output files
+     #------------------------------------------------------------
+
+     for var_id in {0..1}; do		# Loop over two variables
+       # names of all models
+       #  (ls [get file names]; cut [get the part for model names];
+       #  sort; uniq [remove duplicates]; awk [print])
+       mdl_set=$( ls ${drc_in}${var[var_id]}_${rlm}_*_${xpt[0]}_*.nc | \
+         cut -d '_' -f 3 | sort | uniq -c | awk '{print $2}' )
+
+       for mdl in ${mdl_set}; do		## Loop over models
+         # Average all the ensemble members of each model
+         ncea -O -4 -d time,"1956-01-01 00:00:0.0","2005-12-31 23:59:9.9" \
+           ${drc_in}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}_*.nc \
+           ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}_all-nsm.nc
+
+         # Greenland
+         # Geographical weight
+         ncap2 -O -s \
+           'gw = cos(lat*3.1415926/180.); \
+           gw at long_name="geographical weight";gw at units="ratio"' \
+           ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}_all-nsm.nc \
+           ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}_all-nsm.nc
+         ncwa -O -w gw -d lat,60.0,75.0 -d lon,300.0,340.0 -a lat,lon \
+           ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}_all-nsm.nc \
+           ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}_all-nsm_GN.nc
+
+         # Anomaly----------------------------------------
+         for moy in {1..12}; do		# Loop over months
+           mm=$( printf "%02d" ${moy} )	# Change to 2-digit format
+
+           for yr in {1956..2005}; do		# Loop over years
+             # If January, calculate the annual average
+             if [ ${moy} -eq 1 ]; then
+             	ncra -O -d time,"${yr}-01-01 00:00:0.0","${yr}-12-31 23:59:9.9" \
+                 ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_${mdl}_\
+                 ${xpt[0]}_all-nsm_GN.nc ${drc_out}${fld_out[var_id]}${var[var_id]}_\
+                 ${rlm}_${mdl}_${xpt[0]}_all-nsm_GN_${yr}.nc
+             fi
+
+             # The specific month
+             ncks -O -d time,"${yr}-${mm}-01 00:00:0.0","${yr}-${mm}-31 23:59:9.9" \
+               ${drc_out}${fld_out[var_id]}${var[var_id]}_\
+               ${rlm}_${mdl}_${xpt[0]}_all-nsm_GN.nc \
+               ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}_\
+               all-nsm_GN_${yr}${mm}.nc
+             # Subtract the annual average from the monthly data
+             ncbo -O --op_typ=- ${drc_out}${fld_out[var_id]}${var[var_id]}_\
+               ${rlm}_${mdl}_${xpt[0]}_all-nsm_GN_${yr}${mm}.nc \
+               ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}_\
+               all-nsm_GN_${yr}.nc ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_\
+               ${mdl}_${xpt[0]}_all-nsm_GN_${yr}${mm}_anm.nc
+           done
+
+           # Average over years
+           ncra -O ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_${mdl}_\
+             ${xpt[0]}_all-nsm_GN_????${mm}_anm.nc \
+             ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_${mdl}_\
+             ${xpt[0]}_all-nsm_GN_${mm}_anm.nc
+         done
+         #--------------------------------------------------
+
+         # Concatenate months together
+         ncrcat -O ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_${mdl}_\
+           ${xpt[0]}_all-nsm_GN_??_anm.nc \
+           ${drc_out}${fld_out[var_id]}${var[var_id]}_${mdl}.nc
+
+         echo Model ${mdl} done!
+       done
+
+       rm -f ${drc_out}${fld_out[var_id]}${var[var_id]}*historical*
+
+       # Store models as groups in the output file
+       ncecat -O --gag -v ${var[var_id]} \
+         ${drc_out}${fld_out[var_id]}${var[var_id]}_*.nc \
+         ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_all-mdl_\
+         ${xpt[0]}_all-nsm_GN_mthly-anm.nc
+
+       echo Var ${var[var_id]} done!
+     done
+   Using <group> feature and hyperslabs
+(http://nco.sourceforge.net/nco.html#Hyperslabs) of 'ncbo', the script
+will be shortened.
+     #!/bin/bash
+
+     #============================================================
+     # Monthly cycle of each ensemble member in Greenland
+     #
+     # Input file from cmb_fl_grpsh
+     #   sn_LImon_all-mdl_all-xpt_all-nsm_199001-200512.nc
+     # Online: http://nco.sourceforge.net/nco.html#Monthly-Cycle
+     #
+     # Execute this script in command line: bash mcc_grp.sh
+     #============================================================
+     # Input and output directory
+     drc='../data/grp/'
+
+     # Constants
+     pfx='sn_LImon_all-mdl_all-xpt_all-nsm_200001-20051'
+
+     # Greenland
+     ncwa -O -w gw -d lat,60.0,75.0 -d lon,300.0,340.0 -a lat,lon \
+       ${drc}${pfx}.nc ${drc}${pfx}_grl
+
+     # Anomaly from annual average of each year
+     for yyyy in {2000..2005}; do
+       # Annual average
+       ncwa -O -d time,"${yyyy}-01-01","${yyyy}-12-31" \
+         ${drc}${pfx}_grl.nc ${drc}${pfx}_grl_${yyyy}.nc
+
+       # Anomaly
+       ncbo -O --op_typ=- -d time,"${yyyy}-01-01","${yyyy}-12-31" \
+         ${drc}${pfx}_grl.nc ${drc}${pfx}_grl_${yyyy}.nc \
+         ${drc}${pfx}_grl_${yyyy}_anm.nc
+     done
+
+     # Monthly cycle
+     for moy in {1..12}; do
+       mm=$( printf "%02d" ${moy} )      # Change to 2-digit format
+       ncra -O -d time,"2000-${mm}-01",,12 \
+         ${drc}${pfx}_grl_????_anm.nc ${drc}${pfx}_grl_${mm}_anm.nc
+     done
+     # Concatenate 12 months together
+     ncrcat -O ${drc}${pfx}_grl_??_anm.nc \
+       ${drc}${pfx}_grl_mth_anm.nc
+
+7.5 Regrid MODIS Data
+=====================
+
+In order to compare the results between MODIS and CMIP5 models, one
+usually regrids one or both datasets so that the spatial resolutions
+match.  Here, the script illustrates how to regrid MODIS data.  Key
+steps include:
+  1. Regrid using bilinear interpolation (*note Bilinear
+     interpolation::)
+  2. Rename variables, dimensions and attributions using 'ncrename'
+     (*note ncrename netCDF Renamer::).
+   *Main Script*
+     #!/bin/bash
+     # include bi_interp.nco
+
+     #===========================================================================
+     # Example for
+     #	- regrid (using bi_interp.nco): the spatial resolution of MODIS data
+     #		is much finer than those of CMIP5 models. In order to compare
+     #		the two, we can regrid MODIS data to comform to CMIP5.
+     #
+     # Input files (Note: the .hdf files downloaded have to be converted to .nc at
+     # the present):
+     # /modis/mcd43c3/MCD43C3.A2000049.005.2006271205532.nc
+     #
+     # Output files:
+     # /modis/mcd43c3/cesm-grid/MCD43C3.2000049.regrid.nc
+     #
+     # Online: http://nco.sourceforge.net/nco.html#Regrid-MODIS-Data
+     #
+     # Execute this script: bash rgr.sh
+     #===========================================================================
+
+     var=( 'MCD43C3' )     # Variable
+     fld_in=( 'monthly/' )     # Folder of input files
+     fld_out=( 'cesm-grid/' )      # Folder of output files
+     drc_in='/media/grele_data/wenshan/modis/mcd43c3/'     # Directory of input files
+
+     for fn in $( ls ${drc_in}${fld_in}${var}.*.nc ); do		# Loop over files
+       sfx=$( echo $fn | cut -d '/' -f 8 | cut -d '.' -f 2 ) # Part of file names
+
+       # Regrid
+       ncap2 -O -S bi_interp.nco ${fn} ${drc_in}${fld_out}${var}.${sfx}.regrid.nc
+       # Keep only the new variables
+       ncks -O -v wsa_sw_less,bsa_sw_less ${drc_in}${fld_out}${var}.${sfx}.regrid.nc \
+         ${drc_in}${fld_out}${var}.${sfx}.regrid.nc
+       # Rename the new variables, dimensions and attributions
+       ncrename -O -d latn,lat -d lonn,lon -v latn,lat -v lonn,lon \
+         -v wsa_sw_less,wsa_sw -v bsa_sw_less,bsa_sw -a missing_value,_FillValue \
+         ${drc_in}${fld_out}${var}.${sfx}.regrid.nc
+
+       echo $sfx done.
+     done
+   *bi_interp.nco*
+     // Bilinear interpolation
+     // Included by rgr.sh
+     // Online: http://nco.sourceforge.net/nco.html#Regrid-MODIS-Data
+
+     defdim("latn",192);		// Define new dimension: latitude
+     defdim("lonn",288);		// Define new dimension: longitude
+     latn[$latn] = {90,89.0576 ,88.1152 ,87.1728 ,86.2304 ,85.288  ,\
+       84.3456 ,83.4031 ,82.4607 ,81.5183 ,80.5759 ,79.6335 ,78.6911 ,\
+       77.7487 ,76.8063 ,75.8639 ,74.9215 ,73.9791 ,73.0367 ,72.0942 ,\
+       71.1518 ,70.2094 ,69.267  ,68.3246 ,67.3822 ,66.4398 ,65.4974 ,\
+       64.555  ,63.6126 ,62.6702 ,61.7277 ,60.7853 ,59.8429 ,58.9005 ,\
+       57.9581 ,57.0157 ,56.0733 ,55.1309 ,54.1885 ,53.2461 ,52.3037 ,\
+       51.3613 ,50.4188 ,49.4764 ,48.534  ,47.5916 ,46.6492 ,45.7068 ,\
+       44.7644 ,43.822  ,42.8796 ,41.9372 ,40.9948 ,40.0524 ,39.11   ,\
+       38.1675 ,37.2251 ,36.2827 ,35.3403 ,34.3979 ,33.4555 ,32.5131 ,\
+       31.5707 ,30.6283 ,29.6859 ,28.7435 ,27.8011 ,26.8586 ,25.9162 ,\
+       24.9738 ,24.0314 ,23.089  ,22.1466 ,21.2042 ,20.2618 ,19.3194 ,\
+       18.377  ,17.4346 ,16.4921 ,15.5497 ,14.6073 ,13.6649 ,12.7225 ,\
+       11.7801 ,10.8377 ,9.89529 ,8.95288 ,8.01047 ,7.06806 ,6.12565 ,\
+       5.18325 ,4.24084 ,3.29843 ,2.35602 ,1.41361 ,0.471204,-0.471204,\
+       -1.41361,-2.35602,-3.29843,-4.24084,-5.18325,-6.12565,-7.06806,\
+       -8.01047,-8.95288,-9.89529,-10.8377,-11.7801,-12.7225,-13.6649,\
+       -14.6073,-15.5497,-16.4921,-17.4346,-18.377 ,-19.3194,-20.2618,\
+       -21.2042,-22.1466,-23.089 ,-24.0314,-24.9738,-25.9162,-26.8586,\
+       -27.8011,-28.7435,-29.6859,-30.6283,-31.5707,-32.5131,-33.4555,\
+       -34.3979,-35.3403,-36.2827,-37.2251,-38.1675,-39.11  ,-40.0524,\
+       -40.9948,-41.9372,-42.8796,-43.822 ,-44.7644,-45.7068,-46.6492,\
+       -47.5916,-48.534 ,-49.4764,-50.4188,-51.3613,-52.3037,-53.2461,\
+       -54.1885,-55.1309,-56.0733,-57.0157,-57.9581,-58.9005,-59.8429,\
+       -60.7853,-61.7277,-62.6702,-63.6126,-64.555 ,-65.4974,-66.4398,\
+       -67.3822,-68.3246,-69.267 ,-70.2094,-71.1518,-72.0942,-73.0367,\
+       -73.9791,-74.9215,-75.8639,-76.8063,-77.7487,-78.6911,-79.6335,\
+       -80.5759,-81.5183,-82.4607,-83.4031,-84.3456,-85.288,-86.2304,\
+       -87.1728,-88.1152,-89.0576,-90};		// Copy of CCSM4 latitude
+     lonn[$lonn] = {-178.75,-177.5,-176.25,-175,-173.75,-172.5,-171.25,\
+       -170,-168.75,-167.5,-166.25,-165,-163.75,-162.5,-161.25,-160,\
+       -158.75,-157.5,-156.25,-155,-153.75,-152.5,-151.25,-150,-148.75,\
+       -147.5,-146.25,-145,-143.75,-142.5,-141.25,-140,-138.75,-137.5,\
+       -136.25,-135,-133.75,-132.5,-131.25,-130,-128.75,-127.5,-126.25,\
+       -125,-123.75,-122.5,-121.25,-120,-118.75,-117.5,-116.25,-115,\
+       -113.75,-112.5,-111.25,-110,-108.75,-107.5,-106.25,-105,-103.75,\
+       -102.5,-101.25,-100,-98.75,-97.5,-96.25,-95,-93.75,-92.5,-91.25,\
+       -90,-88.75,-87.5,-86.25,-85,-83.75,-82.5,-81.25,-80,-78.75,-77.5,\
+       -76.25,-75,-73.75,-72.5,-71.25,-70,-68.75,-67.5,-66.25,-65,-63.75,\
+       -62.5,-61.25,-60,-58.75,-57.5,-56.25,-55,-53.75,-52.5,-51.25,-50,\
+       -48.75,-47.5,-46.25,-45,-43.75,-42.5,-41.25,-40,-38.75,-37.5,\
+       -36.25,-35,-33.75,-32.5,-31.25,-30,-28.75,-27.5,-26.25,-25,-23.75,\
+       -22.5,-21.25,-20,-18.75,-17.5,-16.25,-15,-13.75,-12.5,-11.25,-10,\
+       -8.75,-7.5,-6.25,-5,-3.75,-2.5,-1.25,0,1.25,2.5,3.75,5,6.25,7.5,\
+       8.75,10,11.25,12.5,13.75,15,16.25,17.5,18.75,20,21.25,22.5,23.75,\
+       25,26.25,27.5,28.75,30,31.25,32.5,33.75,35,36.25,37.5,38.75,40,\
+       41.25,42.5,43.75,45,46.25,47.5,48.75,50,51.25,52.5,53.75,55,56.25,\
+       57.5,58.75,60,61.25,62.5,63.75,65,66.25,67.5,68.75,70,71.25,72.5,\
+       73.75,75,76.25,77.5,78.75,80,81.25,82.5,83.75,85,86.25,87.5,88.75,\
+       90,91.25,92.5,93.75,95,96.25,97.5,98.75,100,101.25,102.5,103.75,\
+       105,106.25,107.5,108.75,110,111.25,112.5,113.75,115,116.25,117.5,\
+       118.75,120,121.25,122.5,123.75,125,126.25,127.5,128.75,130,131.25,\
+       132.5,133.75,135,136.25,137.5,138.75,140,141.25,142.5,143.75,145,\
+       146.25,147.5,148.75,150,151.25,152.5,153.75,155,156.25,157.5,\
+       158.75,160,161.25,162.5,163.75,165,166.25,167.5,168.75,170,171.25,\
+       172.5,173.75,175,176.25,177.5,178.75,180};	// Copy of CCSM4 longitude
+
+     *out[$time,$latn,$lonn]=0.0;		// Output structure
+
+     // Bi-linear interpolation
+     bsa_sw_less=bilinear_interp_wrap(bsa_sw,out,latn,lonn,lat,lon);
+     wsa_sw_less=bilinear_interp_wrap(wsa_sw,out,latn,lonn,lat,lon);
+
+     // Add attributions
+     latn at units = "degree_north";
+     lonn at units = "degree_east";
+     latn at long_name = "latitude";
+     lonn at long_name = "longitude";
+     bsa_sw_less at hdf_name = "Albedo_BSA_shortwave";
+     bsa_sw_less at calibrated_nt = 5;
+     bsa_sw_less at missing_value = 32767.0;
+     bsa_sw_less at units = "albedo, no units";
+     bsa_sw_less at long_name = "Global_Albedo_BSA_shortwave";
+     wsa_sw_less at hdf_name = "Albedo_WSA_shortwave";
+     wsa_sw_less at calibrated_nt = 5;
+     wsa_sw_less at missing_value = 32767.0;
+     wsa_sw_less at units = "albedo, no units";
+     wsa_sw_less at long_name = "Global_Albedo_WSA_shortwave";
+
+7.6 Add Coordinates to MODIS Data
+=================================
+
+*Main Script*
+     #!/bin/bash
+
+     #============================================================
+     # Example for
+     #	- regrid (using bi_interp.nco): the spatial resolution of MODIS data
+     #		is much finer than those of CMIP5 models. In order to compare
+     #		the two, we can regrid MODIS data to comform to CMIP5.
+     #	- add coordinates (using coor.nco): there is no coordinate information
+     #		in MODIS data. We have to add it manually now.
+     #
+     # Input files:
+     # /modis/mcd43c3/cesm-grid/MCD43C3.2000049.regrid.nc
+     #
+     # Output files:
+     # /modis/mcd43c3/cesm-grid/MCD43C3.2000049.regrid.nc
+     #
+     # Online: http://nco.sourceforge.net/nco.html#Add-Coordinates-to-MODIS-Data
+     #
+     # Execute this script: bash add_crd.sh
+     #============================================================
+
+     var=( 'MOD10CM' )     # Variable
+     fld_in=( 'snc/nc/' )  # Folder of input files
+     drc_in='/media/grele_data/wenshan/modis/' # directory of input files
+
+     for fn in $( ls ${drc_in}${fld_in}${var}*.nc ); do		# Loop over files
+       sfx=$( echo ${fn} | cut -d '/' -f 8 | cut -d '.' -f 2-4 )	# Part of file names
+       echo ${sfx}
+
+       # Rename dimension names
+       ncrename -d YDim_MOD_CMG_Snow_5km,lat -d XDim_MOD_CMG_Snow_5km,lon -O \
+         ${drc_in}${fld_in}${var}.${sfx}.nc ${drc_in}${fld_in}${var}.${sfx}.nc
+       # Add coordinates
+       ncap2 -O -S crd.nco ${drc_in}${fld_in}${var}.${sfx}.nc \
+         ${drc_in}${fld_in}${var}.${sfx}.nc
+     done
+   *crd.nco*
+     // Add coordinates to MODIS HDF data
+     // Included by add_crd.sh
+     // Online: http://nco.sourceforge.net/nco.html#Add-Coordinates-to-MODIS-Data
+
+     lon = array(0.f, 0.05, $lon) - 180;
+     lat = 90.f- array(0.f, 0.05, $lat);
+
+7.7 Permute MODIS Coordinates
+=============================
+
+MODIS orders latitude data from 90oN to -90oN, and longitude from -180oE
+to 180oE. However, CMIP5 orders latitude from -90oN to 90oN, and
+longitude from 0oE to 360oE. This script changes the MODIS coordinates
+to follow the CMIP5 convention.
+     #!/bin/bash
+
+     ##===========================================================================
+     ## Example for
+     ##	- permute coordinates: the grid of MODIS is
+     ##		from (-180 degE, 90 degN), the left-up corner, to
+     ##		(180 degE, -90 degN), the right-low corner. However, CMIP5 is
+     ##		from (0 degE, -90 degN) to (360 degE, 90 degN). The script
+     ##		here changes the MODIS grid to CMIP5 grid.
+     ##
+     ## Input files:
+     ## /modis/mcd43c3/cesm-grid/MCD43C3.2000049.regrid.nc
+     ##
+     ## Output files:
+     ## /modis/mcd43c3/cesm-grid/MCD43C3.2000049.regrid.nc
+     ##
+     ## Online: http://nco.sourceforge.net/nco.html#Permute-MODIS-Coordinates
+     ##
+     ## Execute this script: bash pmt_crd.sh
+     ##===========================================================================
+
+     ##---------------------------------------------------------------------------
+     ## Permute coordinates
+     ##	- Inverse lat from (90,-90) to (-90,90)
+     ##	- Permute lon from (-180,180) to (0,360)
+     for fn in $( ls MCD43C3.*.nc ); do      # Loop over files
+       sfx=$( echo ${fn} | cut -d '.' -f 1-3 )     # Part of file names
+       echo ${sfx}
+
+       ## Lat
+       ncpdq -O -a -lat ${fn} ${fn}      # Inverse latitude (NB: there is '-' before 'lat')
+
+       ## Lon
+       ncks -O --msa -d lon,0.0,180.0 -d lon,-180.0,-1.25 ${fn} ${fn}
+
+       ## Add new longitude coordinates
+       ncap2 -O -s 'lon=array(0.0,1.25,$lon)' ${fn} ${fn}
+     done
+
+8 Parallel
+**********
+
+This section will describe scripting strategies, including the use of
+GNU Parallel, to NCO.
+     ls *historical*.nc | parallel ncks -O -d time,"1950-01-01","2000-01-01" {} 50y/{}
+
+9 CCSM Example
+**************
+
+This chapter illustrates how to use NCO to process and analyze the
+results of a CCSM climate simulation.
+     ************************************************************************
+     Task 0: Finding input files
+     ************************************************************************
+     The CCSM model outputs files to a local directory like:
+
+     /ptmp/zender/archive/T42x1_40
+
+     Each component model has its own subdirectory, e.g.,
+
+     /ptmp/zender/archive/T42x1_40/atm
+     /ptmp/zender/archive/T42x1_40/cpl
+     /ptmp/zender/archive/T42x1_40/ice
+     /ptmp/zender/archive/T42x1_40/lnd
+     /ptmp/zender/archive/T42x1_40/ocn
+
+     within which model output is tagged with the particular model name
+
+     /ptmp/zender/archive/T42x1_40/atm/T42x1_40.cam2.h0.0001-01.nc
+     /ptmp/zender/archive/T42x1_40/atm/T42x1_40.cam2.h0.0001-02.nc
+     /ptmp/zender/archive/T42x1_40/atm/T42x1_40.cam2.h0.0001-03.nc
+     ...
+     /ptmp/zender/archive/T42x1_40/atm/T42x1_40.cam2.h0.0001-12.nc
+     /ptmp/zender/archive/T42x1_40/atm/T42x1_40.cam2.h0.0002-01.nc
+     /ptmp/zender/archive/T42x1_40/atm/T42x1_40.cam2.h0.0002-02.nc
+     ...
+
+     or
+
+     /ptmp/zender/archive/T42x1_40/lnd/T42x1_40.clm2.h0.0001-01.nc
+     /ptmp/zender/archive/T42x1_40/lnd/T42x1_40.clm2.h0.0001-02.nc
+     /ptmp/zender/archive/T42x1_40/lnd/T42x1_40.clm2.h0.0001-03.nc
+     ...
+
+     ************************************************************************
+     Task 1: Regional processing
+     ************************************************************************
+     The first task in data processing is often creating seasonal cycles.
+     Imagine a 100-year simulation with its 1200 monthly mean files.
+     Our goal is to create a single file containing 12 months of data.
+     Each month in the output file is the mean of 100 input files.
+
+     Normally, we store the "reduced" data in a smaller, local directory.
+
+     caseid='T42x1_40'
+     #drc_in="${DATA}/archive/${caseid}/atm"
+     drc_in="${DATA}/${caseid}"
+     drc_out="${DATA}/${caseid}"
+     mkdir -p ${drc_out}
+     cd ${drc_out}
+
+     Method 1: Assume all data in directory applies
+     for mth in {1..12}; do
+       mm=`printf "%02d" $mth`
+       ncra -O -D 1 -o ${drc_out}/${caseid}_clm${mm}.nc \
+         ${drc_in}/${caseid}.cam2.h0.*-${mm}.nc
+     done # end loop over mth
+
+     Method 2: Use shell 'globbing' to construct input filenames
+     for mth in {1..12}; do
+       mm=`printf "%02d" $mth`
+       ncra -O -D 1 -o ${drc_out}/${caseid}_clm${mm}.nc \
+         ${drc_in}/${caseid}.cam2.h0.00??-${mm}.nc \
+         ${drc_in}/${caseid}.cam2.h0.0100-${mm}.nc
+     done # end loop over mth
+
+     Method 3: Construct input filename list explicitly
+     for mth in {1..12}; do
+       mm=`printf "%02d" $mth`
+       fl_lst_in=''
+       for yr in {1..100}; do
+         yyyy=`printf "%04d" $yr`
+         fl_in=${caseid}.cam2.h0.${yyyy}-${mm}.nc
+         fl_lst_in="${fl_lst_in} ${caseid}.cam2.h0.${yyyy}-${mm}.nc"
+       done # end loop over yr
+       ncra -O -D 1 -o ${drc_out}/${caseid}_clm${mm}.nc -p ${drc_in} \
+         ${fl_lst_in}
+     done # end loop over mth
+
+     Make sure the output file averages correct input files!
+     ncks -M prints global metadata:
+
+       ncks -M ${drc_out}/${caseid}_clm01.nc
+
+     The input files ncra used to create the climatological monthly mean
+     will appear in the global attribute named 'history'.
+
+     Use ncrcat to aggregate the climatological monthly means
+
+       ncrcat -O -D 1 \
+         ${drc_out}/${caseid}_clm??.nc ${drc_out}/${caseid}_clm_0112.nc
+
+     Finally, create climatological means for reference.
+     The climatological time-mean:
+
+       ncra -O -D 1 \
+         ${drc_out}/${caseid}_clm_0112.nc ${drc_out}/${caseid}_clm.nc
+
+     The climatological zonal-mean:
+
+       ncwa -O -D 1 -a lon \
+         ${drc_out}/${caseid}_clm.nc ${drc_out}/${caseid}_clm_x.nc
+
+     The climatological time- and spatial-mean:
+
+       ncwa -O -D 1 -a lon,lat,time -w gw \
+         ${drc_out}/${caseid}_clm.nc ${drc_out}/${caseid}_clm_xyt.nc
+
+     This file contains only scalars, e.g., "global mean temperature",
+     used for summarizing global results of a climate experiment.
+
+     Climatological monthly anomalies = Annual Cycle:
+     Subtract climatological mean from climatological monthly means.
+     Result is annual cycle, i.e., climate-mean has been removed.
+
+       ncbo -O -D 1 -o ${drc_out}/${caseid}_clm_0112_anm.nc \
+         ${drc_out}/${caseid}_clm_0112.nc ${drc_out}/${caseid}_clm_xyt.nc
+
+     ************************************************************************
+     Task 2: Correcting monthly averages
+     ************************************************************************
+     The previous step appoximates all months as being equal, so, e.g.,
+     February weighs slightly too much in the climatological mean.
+     This approximation can be removed by weighting months appropriately.
+     We must add the number of days per month to the monthly mean files.
+     First, create a shell variable dpm:
+
+     unset dpm # Days per month
+     declare -a dpm
+     dpm=(0 31 28.25 31 30 31 30 31 31 30 31 30 31) # Allows 1-based indexing
+
+     Method 1: Create dpm directly in climatological monthly means
+     for mth in {1..12}; do
+       mm=`printf "%02d" ${mth}`
+       ncap2 -O -s "dpm=0.0*date+${dpm[${mth}]}" \
+         ${drc_out}/${caseid}_clm${mm}.nc ${drc_out}/${caseid}_clm${mm}.nc
+     done # end loop over mth
+
+     Method 2: Create dpm by aggregating small files
+     for mth in {1..12}; do
+       mm=`printf "%02d" ${mth}`
+       ncap2 -O -v -s "dpm=${dpm[${mth}]}" ~/nco/data/in.nc \
+         ${drc_out}/foo_${mm}.nc
+     done # end loop over mth
+     ncecat -O -D 1 -p ${drc_out} -n 12,2,2 foo_${mm}.nc foo.nc
+     ncrename -O -D 1 -d record,time ${drc_out}/foo.nc
+     ncatted -O -h \
+       -a long_name,dpm,o,c,"Days per month" \
+       -a units,dpm,o,c,"days" \
+       ${drc_out}/${caseid}_clm_0112.nc
+     ncks -A -v dpm ${drc_out}/foo.nc ${drc_out}/${caseid}_clm_0112.nc
+
+     Method 3: Create small netCDF file using ncgen
+     cat > foo.cdl << 'EOF'
+     netcdf foo {
+     dimensions:
+     	time=unlimited;
+     variables:
+     	float dpm(time);
+     	dpm:long_name="Days per month";
+     	dpm:units="days";
+     data:
+     	dpm=31,28.25,31,30,31,30,31,31,30,31,30,31;
+     }
+     EOF
+     ncgen -b -o foo.nc foo.cdl
+     ncks -A -v dpm ${drc_out}/foo.nc ${drc_out}/${caseid}_clm_0112.nc
+
+     Another way to get correct monthly weighting is to average daily
+     output files, if available.
+
+     ************************************************************************
+     Task 3: Regional processing
+     ************************************************************************
+     Let's say you are interested in examining the California region.
+     Hyperslab your dataset to isolate the appropriate latitude/longitudes.
+
+     ncks -O -D 1 -d lat,30.0,37.0 -d lon,240.0,270.0 \
+         ${drc_out}/${caseid}_clm_0112.nc \
+         ${drc_out}/${caseid}_clm_0112_Cal.nc
+
+     The dataset is now much smaller!
+     To examine particular metrics.
+
+     ************************************************************************
+     Task 4: Accessing data stored remotely
+     ************************************************************************
+     OPeNDAP server examples:
+
+     UCI DAP servers:
+     ncks -M -p http://dust.ess.uci.edu/cgi-bin/dods/nph-dods/dodsdata in.nc
+     ncrcat -O -C -D 3 \
+       -p http://dust.ess.uci.edu/cgi-bin/dods/nph-dods/dodsdata \
+       -l /tmp in.nc in.nc ~/foo.nc
+
+     Unidata DAP servers:
+     ncks -M -p http://thredds-test.ucar.edu/thredds/dodsC/testdods in.nc
+     ncrcat -O -C -D 3 \
+       -p http://thredds-test.ucar.edu/thredds/dodsC/testdods \
+       -l /tmp in.nc in.nc ~/foo.nc
+
+     NOAA DAP servers:
+     ncwa -O -C -a lat,lon,time -d lon,-10.,10. -d lat,-10.,10. -l /tmp -p \
+     http://www.esrl.noaa.gov/psd/thredds/dodsC/Datasets/ncep.reanalysis.dailyavgs/surface \
+     pres.sfc.1969.nc ~/foo.nc
+
+     LLNL PCMDI IPCC OPeNDAP Data Portal:
+     ncks -M -p http://username:password@esgcet.llnl.gov/cgi-bin/dap-cgi.py/ipcc4/sresa1b/ncar_ccsm3_0 pcmdi.ipcc4.ncar_ccsm3_0.sresa1b.run1.atm.mo.xml
+
+     Earth System Grid (ESG): http://www.earthsystemgrid.org
+
+     caseid='b30.025.ES01'
+     CCSM3.0 1% increasing CO2 run, T42_gx1v3, 200 years starting in year 400
+     Atmospheric post-processed data, monthly averages, e.g.,
+     /data/zender/tmp/b30.025.ES01.cam2.h0.TREFHT.0400-01_cat_0449-12.nc
+     /data/zender/tmp/b30.025.ES01.cam2.h0.TREFHT.0400-01_cat_0599-12.nc
+
+     ESG supports password-protected FTP access by registered users
+     NCO uses the .netrc file, if present, for password-protected FTP access
+     Syntax for accessing single file is, e.g.,
+     ncks -O -D 3 \
+       -p ftp://climate.llnl.gov/sresa1b/atm/mo/tas/ncar_ccsm3_0/run1 \
+       -l /tmp tas_A1.SRESA1B_1.CCSM.atmm.2000-01_cat_2099-12.nc ~/foo.nc
+
+     # Average surface air temperature tas for SRESA1B scenario
+     # This loop is illustrative and will not work until NCO correctly
+     # translates '*' to FTP 'mget' all remote files
+     for var in 'tas'; do
+     for scn in 'sresa1b'; do
+     for mdl in 'cccma_cgcm3_1 cccma_cgcm3_1_t63 cnrm_cm3 csiro_mk3_0 \
+     gfdl_cm2_0 gfdl_cm2_1 giss_aom giss_model_e_h giss_model_e_r \
+     iap_fgoals1_0_g inmcm3_0 ipsl_cm4 miroc3_2_hires miroc3_2_medres \
+     miub_echo_g mpi_echam5 mri_cgcm2_3_2a ncar_ccsm3_0 ncar_pcm1 \
+     ukmo_hadcm3 ukmo_hadgem1'; do
+     for run in '1'; do
+             ncks -R -O -D 3 -p ftp://climate.llnl.gov/${scn}/atm/mo/${var}/${mdl}/run${run} -l ${DATA}/${scn}/atm/mo/${var}/${mdl}/run${run} '*' ${scn}_${mdl}_${run}_${var}_${yyyymm}_${yyyymm}.nc
+     done # end loop over run
+     done # end loop over mdl
+     done # end loop over scn
+     done # end loop over var
+
+     cd sresa1b/atm/mo/tas/ukmo_hadcm3/run1/
+     ncks -H -m -v lat,lon,lat_bnds,lon_bnds -M tas_A1.nc | m
+     bds -x 096 -y 073 -m 33 -o ${DATA}/data/dst_3.75x2.5.nc # ukmo_hadcm3
+     ncview ${DATA}/data/dst_3.75x2.5.nc
+
+     # msk_rgn is California mask on ukmo_hadcm3 grid
+     # area is correct area weight on ukmo_hadcm3 grid
+     ncks -A -v area,msk_rgn ${DATA}/data/dst_3.75x2.5.nc \
+     ${DATA}/sresa1b/atm/mo/tas/ukmo_hadcm3/run1/area_msk_ukmo_hadcm3.nc
+
+     Template for standardized data:
+     ${scn}_${mdl}_${run}_${var}_${yyyymm}_${yyyymm}.nc
+
+     e.g., raw data
+     ${DATA}/sresa1b/atm/mo/tas/ukmo_hadcm3/run1/tas_A1.nc
+     becomes standardized data
+
+     Level 0: raw from IPCC site--no changes except for name
+              Make symbolic link name match raw data
+     Template: ${scn}_${mdl}_${run}_${var}_${yyyymm}_${yyyymm}.nc
+
+     ln -s -f tas_A1.nc sresa1b_ukmo_hadcm3_run1_tas_200101_209911.nc
+     area_msk_ukmo_hadcm3.nc
+
+     Level I: Add all variables (not standardized in time)
+              to file containing msk_rgn and area
+     Template: ${scn}_${mdl}_${run}_${yyyymm}_${yyyymm}.nc
+
+     /bin/cp area_msk_ukmo_hadcm3.nc sresa1b_ukmo_hadcm3_run1_200101_209911.nc
+     ncks -A -v tas sresa1b_ukmo_hadcm3_run1_tas_200101_209911.nc \
+                    sresa1b_ukmo_hadcm3_run1_200101_209911.nc
+     ncks -A -v pr  sresa1b_ukmo_hadcm3_run1_pr_200101_209911.nc \
+                    sresa1b_ukmo_hadcm3_run1_200101_209911.nc
+
+     If already have file then:
+     mv sresa1b_ukmo_hadcm3_run1_200101_209911.nc foo.nc
+     /bin/cp area_msk_ukmo_hadcm3.nc sresa1b_ukmo_hadcm3_run1_200101_209911.nc
+     ncks -A -v tas,pr foo.nc sresa1b_ukmo_hadcm3_run1_200101_209911.nc
+
+     Level II: Correct # years, months
+     Template: ${scn}_${mdl}_${run}_${var}_${yyyymm}_${yyyymm}.nc
+
+     ncks -d time,....... file1.nc file2.nc
+     ncrcat file2.nc file3.nc sresa1b_ukmo_hadcm3_run1_200001_209912.nc
+
+     Level III: Many derived products from level II, e.g.,
+
+           A. Global mean timeseries
+           ncwa -w area -a lat,lon \
+                sresa1b_ukmo_hadcm3_run1_200001_209912.nc \
+     	   sresa1b_ukmo_hadcm3_run1_200001_209912_xy.nc
+
+           B. Califoria average timeseries
+           ncwa -m msk_rgn -w area -a lat,lon \
+                sresa1b_ukmo_hadcm3_run1_200001_209912.nc \
+     	   sresa1b_ukmo_hadcm3_run1_200001_209912_xy_Cal.nc
+
+10 References
+*************
+
+   * [ZeM07] Zender, C. S., and H. J. Mangalam (2007), Scaling
+     Properties of Common Statistical Operators for Gridded Datasets,
+     Int.  J. High Perform.  Comput.  Appl., 21(4), 485-498,
+     doi:10.1177/1094342007083802.
+   * [Zen08] Zender, C. S. (2008), Analysis of Self-describing Gridded
+     Geoscience Data with netCDF Operators (NCO), Environ.  Modell.
+     Softw., 23(10), 1338-1342, doi:10.1016/j.envsoft.2008.03.004.
+   * [WZJ07] Wang, D. L., C. S. Zender, and S. F. Jenks (2007),
+     DAP-enabled Server-side Data Reduction and Analysis, Proceedings of
+     the 23rd AMS Conference on Interactive Information and Processing
+     Systems (IIPS) for Meteorology, Oceanography, and Hydrology, Paper
+     3B.2, January 14-18, San Antonio, TX. American Meteorological
+     Society, AMS Press, Boston, MA.
+   * [ZMW06] Zender, C. S., H. Mangalam, and D. L. Wang (2006),
+     Improving Scaling Properties of Common Statistical Operators for
+     Gridded Geoscience Datasets, Eos Trans.  AGU, 87(52), Fall Meet.
+     Suppl., Abstract IN53B-0827.
+   * [ZeW07] Zender, C. S., and D. L. Wang (2007), High performance
+     distributed data reduction and analysis with the netCDF Operators
+     (NCO), Proceedings of the 23rd AMS Conference on Interactive
+     Information and Processing Systems (IIPS) for Meteorology,
+     Oceanography, and Hydrology, Paper 3B.4, January 14-18, San
+     Antonio, TX. American Meteorological Society, AMS Press, Boston,
+     MA.
+   * [WZJ06] Wang, D. L., C. S. Zender, and S. F. Jenks (2006),
+     Server-side netCDF Data Reduction and Analysis, Eos Trans.  AGU,
+     87(52), Fall Meet.  Suppl., Abstract IN53B-0826.
+   * [WZJ073] Wang, D. L., C. S. Zender, and S. F. Jenks (2007),
+     Server-side parallel data reduction and analysis, in Advances in
+     Grid and Pervasive Computing, Second International Conference, GPC
+     2007, Paris, France, May 2-4, 2007, Proceedings.  IEEE Lecture
+     Notes in Computer Science, vol.  4459, edited by C. Cerin and K.-C.
+     Li, pp.  744-750, Springer-Verlag, Berlin/Heidelberg,
+     doi:10.1007/978-3-540-72360-8_67.
+   * [WZJ074] Wang, D. L., C. S. Zender and S. F. Jenks (2007), A System
+     for Scripted Data Analysis at Remote Data Centers, Eos Trans.  AGU,
+     88(52), Fall Meet.  Suppl., Abstract IN11B-0469.
+   * [WZJ081] Wang, D. L., C. S. Zender and S. F. Jenks (2008), Cluster
+     Workflow Execution of Retargeted Data Analysis Scripts, Proceedings
+     of the 8th IEEE Int'l Symposium on Cluster Computing and the Grid
+     (IEEE CCGRID '08), pp.  449-458, Lyon, France, May 2008.
+   * [WZJ091] Wang, D. L., C. S. Zender, and S. F. Jenks (2009),
+     Efficient Clustered Server-side Data Analysis Workflows using
+     SWAMP, Earth Sci.  Inform., 2(3), 141-155,
+     doi:10.1007/s12145-009-0021-z.
+   * [PFT88] Press, Flannery, Teukolsky, and Vetterling (1988),
+     Numerical Recipes in C, Cambridge Univ.  Press, New York, NY.
+
+General Index
+*************
+
+* Menu:
+
+* '"' (double quote):                    ncatted netCDF Attribute Editor.
+                                                            (line  8286)
+* '#include':                            Syntax of ncap2 statements.
+                                                            (line  5534)
+* '$' (wildcard character):              Subsetting Files.  (line  2481)
+* '%' (modulus):                         Intrinsic mathematical methods.
+                                                            (line  7868)
+* ''' (end quote):                       ncatted netCDF Attribute Editor.
+                                                            (line  8286)
+* '*':                                   ncbo netCDF Binary Operator.
+                                                            (line  8410)
+* '*' (filename expansion):              Subsetting Files.  (line  2481)
+* '*' (multiplication):                  Intrinsic mathematical methods.
+                                                            (line  7868)
+* '*' (wildcard character):              Subsetting Files.  (line  2488)
+* '+':                                   ncbo netCDF Binary Operator.
+                                                            (line  8410)
+* '+' (addition):                        Intrinsic mathematical methods.
+                                                            (line  7868)
+* '+' (wildcard character):              Subsetting Files.  (line  2488)
+* '-':                                   ncbo netCDF Binary Operator.
+                                                            (line  8410)
+* '-' (subtraction):                     Intrinsic mathematical methods.
+                                                            (line  7868)
+* '--3':                                 File Formats and Conversion.
+                                                            (line  2034)
+* '--4':                                 File Formats and Conversion.
+                                                            (line  2034)
+* '--64bit':                             File Formats and Conversion.
+                                                            (line  2034)
+* '--7':                                 File Formats and Conversion.
+                                                            (line  2034)
+* '--abc':                               ncks netCDF Kitchen Sink.
+                                                            (line  9236)
+* '--alphabetize':                       ncks netCDF Kitchen Sink.
+                                                            (line  9236)
+* '--apn':                               Temporary Output Files.
+                                                            (line   961)
+* '--apn' <1>:                           Batch Mode.        (line  5192)
+* '--apn' <2>:                           Filters for 'ncks'.
+                                                            (line  9664)
+* '--append':                            Temporary Output Files.
+                                                            (line   961)
+* '--append' <1>:                        Batch Mode.        (line  5192)
+* '--append' <2>:                        Filters for 'ncks'.
+                                                            (line  9664)
+* '--auxiliary':                         Auxiliary Coordinates.
+                                                            (line  3524)
+* '--auxiliary LON_MIN,LON_MAX,LAT_MIN,LAT_MAX': Auxiliary Coordinates.
+                                                            (line  3524)
+* '--bfr_sz_hnt':                        Buffer sizes.      (line  4295)
+* '--binary':                            ncks netCDF Kitchen Sink.
+                                                            (line  9246)
+* '--bnr':                               ncks netCDF Kitchen Sink.
+                                                            (line  9246)
+* '--cdl':                               ncks netCDF Kitchen Sink.
+                                                            (line  9288)
+* '--cell_methods':                      CF Conventions.    (line  5348)
+* '--chunk_byte':                        Chunking.          (line  3992)
+* '--chunk_dimension':                   Chunking.          (line  3992)
+* '--chunk_map':                         Chunking.          (line  3992)
+* '--chunk_policy':                      Chunking.          (line  3992)
+* '--chunk_scalar':                      Chunking.          (line  3992)
+* '--cll_mth':                           CF Conventions.    (line  5348)
+* '--cnk_byt':                           Chunking.          (line  3992)
+* '--cnk_dmn':                           Chunking.          (line  3992)
+* '--cnk_map':                           Chunking.          (line  3992)
+* '--cnk_map CNK_MAP':                   Chunking.          (line  4069)
+* '--cnk_plc':                           Chunking.          (line  3992)
+* '--cnk_scl':                           Chunking.          (line  3992)
+* '--coords':                            Subsetting Coordinate Variables.
+                                                            (line  2558)
+* '--coords' <1>:                        CF Conventions.    (line  5337)
+* '--crd':                               Subsetting Coordinate Variables.
+                                                            (line  2558)
+* '--crd' <1>:                           CF Conventions.    (line  5337)
+* '--create_ram':                        Temporary Output Files.
+                                                            (line   919)
+* '--create_ram' <1>:                    RAM disks.         (line  4326)
+* '--data':                              ncks netCDF Kitchen Sink.
+                                                            (line  9336)
+* '--dbg_lvl DEBUG-LEVEL':               Help Requests and Bug Reports.
+                                                            (line   834)
+* '--dbg_lvl DEBUG-LEVEL' <1>:           Large Datasets.    (line  1293)
+* '--dbg_lvl DEBUG-LEVEL' <2>:           Command Line Options.
+                                                            (line  1576)
+* '--dbl':                               Promoting Single-precision to Double.
+                                                            (line  4839)
+* '--debug-level DEBUG-LEVEL':           Help Requests and Bug Reports.
+                                                            (line   834)
+* '--debug-level DEBUG-LEVEL' <1>:       Large Datasets.    (line  1293)
+* '--deflate':                           Deflation.         (line  4188)
+* '--dfl_lvl':                           Deflation.         (line  4188)
+* '--dimension DIM,[MIN],[MAX],STRIDE':  Stride.            (line  3142)
+* '--dimension DIM,[MIN],[MAX],[STRIDE],[SUBCYCLE]': Subcycle.
+                                                            (line  3254)
+* '--dimension DIM,[MIN][,[MAX][,[STRIDE]]]': Hyperslabs.   (line  3038)
+* '--dimension DIM,[MIN][,[MAX][,[STRIDE]]]' <1>: Multislabs.
+                                                            (line  3330)
+* '--dimension DIM,[MIN][,[MAX][,[STRIDE]]]' <2>: Wrapped Coordinates.
+                                                            (line  3474)
+* '--dimension DIM,[MIN][,[MAX][,[STRIDE]]]' <3>: UDUnits Support.
+                                                            (line  3634)
+* '--diskless_all':                      Memory Requirements.
+                                                            (line  1304)
+* '--diskless_all' <1>:                  RAM disks.         (line  4326)
+* '--dmn DIM,[MIN],[MAX],STRIDE':        Stride.            (line  3142)
+* '--dmn DIM,[MIN],[MAX],[STRIDE],SUBCYCLE]': Subcycle.     (line  3254)
+* '--dmn DIM,[MIN][,[MAX][,[STRIDE]]]':  Hyperslabs.        (line  3038)
+* '--dmn DIM,[MIN][,[MAX][,[STRIDE]]]' <1>: Multislabs.     (line  3330)
+* '--dmn DIM,[MIN][,[MAX][,[STRIDE]]]' <2>: Wrapped Coordinates.
+                                                            (line  3474)
+* '--dmn DIM,[MIN][,[MAX][,[STRIDE]]]' <3>: UDUnits Support.
+                                                            (line  3634)
+* '--ensemble_file':                     nces netCDF Ensemble Statistics.
+                                                            (line  8701)
+* '--ensemble_group':                    nces netCDF Ensemble Statistics.
+                                                            (line  8701)
+* '--ensemble_suffix':                   nces netCDF Ensemble Statistics.
+                                                            (line  8701)
+* '--exclude':                           Subsetting Files.  (line  2315)
+* '--exclude' <1>:                       Filters for 'ncks'.
+                                                            (line  9658)
+* '--file_format':                       File Formats and Conversion.
+                                                            (line  2034)
+* '--file_list':                         File List Attributes.
+                                                            (line  5240)
+* '--fix_rec_dmn all':                   Autoconversion.    (line  2246)
+* '--fix_rec_dmn DIM':                   ncks netCDF Kitchen Sink.
+                                                            (line  9251)
+* '--flt':                               Promoting Single-precision to Double.
+                                                            (line  4839)
+* '--fl_bnr':                            ncks netCDF Kitchen Sink.
+                                                            (line  9246)
+* '--fl_fmt':                            File Formats and Conversion.
+                                                            (line  2034)
+* '--fl_lst_in':                         File List Attributes.
+                                                            (line  5240)
+* '--fl_out FL_OUT':                     Specifying Output Files.
+                                                            (line  1735)
+* '--fl_spt':                            ncap2 netCDF Arithmetic Processor.
+                                                            (line  5472)
+* '--fnc_tbl':                           Intrinsic mathematical methods.
+                                                            (line  7975)
+* '--fortran':                           C and Fortran Index Conventions.
+                                                            (line  3001)
+* '--gag':                               ncecat netCDF Ensemble Concatenator.
+                                                            (line  8873)
+* '--gag' <1>:                           Combine Files.     (line 11076)
+* '--glb_mtd_spp':                       ncecat netCDF Ensemble Concatenator.
+                                                            (line  8899)
+* '--gpe GPE_DSC':                       Group Path Editing.
+                                                            (line  2583)
+* '--group GRP':                         Subsetting Files.  (line  2315)
+* '--grp GRP':                           Subsetting Files.  (line  2315)
+* '--hdf4':                              netCDF2/3/4 and HDF4/5 Support.
+                                                            (line   674)
+* '--hdf_unpack':                        Packed data.       (line  4413)
+* '--hdf_upk':                           Packed data.       (line  4413)
+* '--hdn':                               ncks netCDF Kitchen Sink.
+                                                            (line  9276)
+* '--hdr_pad HDR_PAD':                   Metadata Optimization.
+                                                            (line  1474)
+* '--header_pad HDR_PAD':                Metadata Optimization.
+                                                            (line  1474)
+* '--hidden':                            ncks netCDF Kitchen Sink.
+                                                            (line  9276)
+* '--hieronymus':                        ncks netCDF Kitchen Sink.
+                                                            (line  9336)
+* '--history':                           History Attribute. (line  5212)
+* '--hst':                               History Attribute. (line  5212)
+* '--intersection':                      Subsetting Files.  (line  2406)
+* '--lcl OUTPUT-PATH':                   Remote storage.    (line  1767)
+* '--local OUTPUT-PATH':                 Remote storage.    (line  1767)
+* '--map CNK_MAP':                       Chunking.          (line  4069)
+* '--map PCK_MAP':                       ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9873)
+* '--mask-value MASK_VAL':               Mask condition.    (line 10581)
+* '--mask-variable MASK_VAR':            ncwa netCDF Weighted Averager.
+                                                            (line 10513)
+* '--mask_comparator MASK_COMP':         Mask condition.    (line 10567)
+* '--mask_condition MASK_COND':          ncwa netCDF Weighted Averager.
+                                                            (line 10513)
+* '--mask_condition MASK_COND' <1>:      Mask condition.    (line 10567)
+* '--mask_value MASK_VAL':               Mask condition.    (line 10581)
+* '--mask_variable MASK_VAR':            ncwa netCDF Weighted Averager.
+                                                            (line 10513)
+* '--md5_dgs':                           MD5 digests.       (line  4225)
+* '--md5_digest':                        MD5 digests.       (line  4225)
+* '--md5_write_attribute':               MD5 digests.       (line  4225)
+* '--md5_wrt_att':                       MD5 digests.       (line  4225)
+* '--Metadata':                          ncks netCDF Kitchen Sink.
+                                                            (line  9381)
+* '--metadata':                          ncks netCDF Kitchen Sink.
+                                                            (line  9424)
+* '--mk_rec_dmn DIM':                    ncecat netCDF Ensemble Concatenator.
+                                                            (line  8958)
+* '--mk_rec_dmn DIM' <1>:                ncks netCDF Kitchen Sink.
+                                                            (line  9328)
+* '--mrd':                               Multiple Record Dimensions.
+                                                            (line  3841)
+* '--mro':                               Subcycle.          (line  3254)
+* '--msa':                               Multislabs.        (line  3330)
+* '--msa_user_order':                    Multislabs.        (line  3330)
+* '--msa_usr_rdr':                       Multislabs.        (line  3330)
+* '--msk_cmp_typ MASK_COMP':             Mask condition.    (line 10567)
+* '--msk_cnd MASK_COND':                 ncwa netCDF Weighted Averager.
+                                                            (line 10513)
+* '--msk_cnd_sng MASK_COND':             Mask condition.    (line 10567)
+* '--msk_nm MASK_VAR':                   ncwa netCDF Weighted Averager.
+                                                            (line 10513)
+* '--msk_val MASK_VAL':                  Mask condition.    (line 10581)
+* '--msk_var MASK_VAR':                  ncwa netCDF Weighted Averager.
+                                                            (line 10513)
+* '--Mtd':                               ncks netCDF Kitchen Sink.
+                                                            (line  9381)
+* '--mtd':                               ncks netCDF Kitchen Sink.
+                                                            (line  9424)
+* '--multiple_record_dimensions':        Multiple Record Dimensions.
+                                                            (line  3841)
+* '--ncml':                              ncks netCDF Kitchen Sink.
+                                                            (line  9473)
+* '--netcdf4':                           File Formats and Conversion.
+                                                            (line  2034)
+* '--nintap LOOP':                       Specifying Input Files.
+                                                            (line  1632)
+* '--no-blank':                          ncks netCDF Kitchen Sink.
+                                                            (line  9437)
+* '--no-coords':                         Subsetting Coordinate Variables.
+                                                            (line  2558)
+* '--no-coords' <1>:                     CF Conventions.    (line  5337)
+* '--no-crd':                            Subsetting Coordinate Variables.
+                                                            (line  2558)
+* '--no-crd' <1>:                        CF Conventions.    (line  5337)
+* '--noblank':                           ncks netCDF Kitchen Sink.
+                                                            (line  9437)
+* '--no_blank':                          ncks netCDF Kitchen Sink.
+                                                            (line  9437)
+* '--no_cell_methods':                   CF Conventions.    (line  5348)
+* '--no_cll_mth':                        CF Conventions.    (line  5348)
+* '--no_rec_dmn DIM':                    ncks netCDF Kitchen Sink.
+                                                            (line  9251)
+* '--no_tmp_fl':                         Temporary Output Files.
+                                                            (line   919)
+* '--no_tmp_fl' <1>:                     RAM disks.         (line  4406)
+* '--nsm_fl':                            nces netCDF Ensemble Statistics.
+                                                            (line  8701)
+* '--nsm_grp':                           nces netCDF Ensemble Statistics.
+                                                            (line  8701)
+* '--nsm_sfx':                           nces netCDF Ensemble Statistics.
+                                                            (line  8701)
+* '--nsx':                               Subsetting Files.  (line  2406)
+* '--omp_num_threads THR_NBR':           OpenMP Threading.  (line  1495)
+* '--open_ram':                          Temporary Output Files.
+                                                            (line   919)
+* '--open_ram' <1>:                      Memory Requirements.
+                                                            (line  1304)
+* '--open_ram' <2>:                      RAM disks.         (line  4326)
+* '--operation OP_TYP':                  Operation Types.   (line  4550)
+* '--operation OP_TYP' <1>:              ncbo netCDF Binary Operator.
+                                                            (line  8410)
+* '--op_rlt MASK_COMP':                  Mask condition.    (line 10567)
+* '--op_typ OP_TYP':                     Operation Types.   (line  4550)
+* '--op_typ OP_TYP' <1>:                 ncbo netCDF Binary Operator.
+                                                            (line  8410)
+* '--output FL_OUT':                     Specifying Output Files.
+                                                            (line  1735)
+* '--overwrite':                         Temporary Output Files.
+                                                            (line   961)
+* '--overwrite' <1>:                     Batch Mode.        (line  5192)
+* '--ovr':                               Temporary Output Files.
+                                                            (line   961)
+* '--ovr' <1>:                           Batch Mode.        (line  5192)
+* '--pack_policy PCK_PLC':               ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9806)
+* '--path INPUT-PATH':                   Specifying Input Files.
+                                                            (line  1632)
+* '--path INPUT-PATH' <1>:               Remote storage.    (line  1767)
+* '--pck_map PCK_MAP':                   ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9873)
+* '--pck_plc PCK_PLC':                   ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9806)
+* '--print':                             ncks netCDF Kitchen Sink.
+                                                            (line  9445)
+* '--prn':                               ncks netCDF Kitchen Sink.
+                                                            (line  9445)
+* '--prn_fnc_tbl':                       Intrinsic mathematical methods.
+                                                            (line  7975)
+* '--pseudonym':                         Symbolic Links.    (line   534)
+* '--pth INPUT-PATH':                    Specifying Input Files.
+                                                            (line  1632)
+* '--pth INPUT-PATH' <1>:                Remote storage.    (line  1767)
+* '--quiet':                             ncks netCDF Kitchen Sink.
+                                                            (line  9457)
+* '--ram_all':                           Memory Requirements.
+                                                            (line  1304)
+* '--ram_all' <1>:                       RAM disks.         (line  4326)
+* '--rcd_nm ULM_NM':                     ncecat netCDF Ensemble Concatenator.
+                                                            (line  8848)
+* '--record_append':                     Record Appending.  (line  3203)
+* '--rec_apn':                           Record Appending.  (line  3203)
+* '--retain':                            Retaining Retrieved Files.
+                                                            (line  1994)
+* '--revision':                          Help Requests and Bug Reports.
+                                                            (line   834)
+* '--revision' <1>:                      Operator Version.  (line  5422)
+* '--rth_dbl':                           Promoting Single-precision to Double.
+                                                            (line  4839)
+* '--rth_flt':                           Promoting Single-precision to Double.
+                                                            (line  4839)
+* '--rtn':                               Retaining Retrieved Files.
+                                                            (line  1994)
+* '--script':                            ncap2 netCDF Arithmetic Processor.
+                                                            (line  5472)
+* '--script-file':                       ncap2 netCDF Arithmetic Processor.
+                                                            (line  5472)
+* '--sng_fmt':                           ncks netCDF Kitchen Sink.
+                                                            (line  9465)
+* '--spt':                               ncap2 netCDF Arithmetic Processor.
+                                                            (line  5472)
+* '--string':                            ncks netCDF Kitchen Sink.
+                                                            (line  9465)
+* '--threads THR_NBR':                   OpenMP Threading.  (line  1495)
+* '--thr_nbr THR_NBR':                   OpenMP Threading.  (line  1495)
+* '--ulm_nm ULM_NM':                     ncecat netCDF Ensemble Concatenator.
+                                                            (line  8848)
+* '--union':                             Subsetting Files.  (line  2315)
+* '--union' <1>:                         Subsetting Files.  (line  2406)
+* '--units':                             ncks netCDF Kitchen Sink.
+                                                            (line  9469)
+* '--unn':                               Subsetting Files.  (line  2315)
+* '--unn' <1>:                           Subsetting Files.  (line  2406)
+* '--unpack':                            ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9857)
+* '--upk':                               ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9857)
+* '--variable VAR':                      Subsetting Files.  (line  2315)
+* '--variable VAR' <1>:                  Filters for 'ncks'.
+                                                            (line  9658)
+* '--version':                           Help Requests and Bug Reports.
+                                                            (line   834)
+* '--version' <1>:                       Operator Version.  (line  5422)
+* '--vrs':                               Help Requests and Bug Reports.
+                                                            (line   834)
+* '--vrs' <1>:                           Operator Version.  (line  5422)
+* '--weight WEIGHT':                     ncwa netCDF Weighted Averager.
+                                                            (line 10513)
+* '--weight WGT1[,WGT2]':                ncflint netCDF File Interpolator.
+                                                            (line  8998)
+* '--wgt_var WEIGHT':                    ncwa netCDF Weighted Averager.
+                                                            (line 10513)
+* '--wgt_var WGT1[,WGT2]':               ncflint netCDF File Interpolator.
+                                                            (line  8998)
+* '--write_tmp_fl':                      Temporary Output Files.
+                                                            (line   919)
+* '--wrt_tmp_fl':                        Temporary Output Files.
+                                                            (line   919)
+* '--xcl':                               Subsetting Files.  (line  2315)
+* '--xcl' <1>:                           Filters for 'ncks'.
+                                                            (line  9658)
+* '--xml':                               ncks netCDF Kitchen Sink.
+                                                            (line  9473)
+* '--xml_no_location':                   ncks netCDF Kitchen Sink.
+                                                            (line  9503)
+* '--xml_spr_chr':                       ncks netCDF Kitchen Sink.
+                                                            (line  9503)
+* '--xml_spr_nmr':                       ncks netCDF Kitchen Sink.
+                                                            (line  9503)
+* '-3':                                  netCDF2/3/4 and HDF4/5 Support.
+                                                            (line   667)
+* '-3' <1>:                              File Formats and Conversion.
+                                                            (line  2034)
+* '-4':                                  netCDF2/3/4 and HDF4/5 Support.
+                                                            (line   667)
+* '-4' <1>:                              File Formats and Conversion.
+                                                            (line  2034)
+* '-5':                                  ncks netCDF Kitchen Sink.
+                                                            (line  9229)
+* '-6':                                  File Formats and Conversion.
+                                                            (line  2034)
+* '-7':                                  File Formats and Conversion.
+                                                            (line  2034)
+* '-A':                                  Temporary Output Files.
+                                                            (line   961)
+* '-A' <1>:                              Batch Mode.        (line  5192)
+* '-a':                                  ncks netCDF Kitchen Sink.
+                                                            (line  9236)
+* '-a' <1>:                              Filters for 'ncks'.
+                                                            (line  9652)
+* '-A' <2>:                              Filters for 'ncks'.
+                                                            (line  9664)
+* '-A' <3>:                              ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9989)
+* '-b':                                  Examples ncap2.    (line  7846)
+* '-b' <1>:                              ncbo netCDF Binary Operator.
+                                                            (line  8508)
+* '-b' <2>:                              ncks netCDF Kitchen Sink.
+                                                            (line  9246)
+* '-B MASK_COND':                        ncwa netCDF Weighted Averager.
+                                                            (line 10513)
+* '-B MASK_COND' <1>:                    Mask condition.    (line 10567)
+* '-C':                                  Subsetting Coordinate Variables.
+                                                            (line  2558)
+* '-c':                                  Subsetting Coordinate Variables.
+                                                            (line  2558)
+* '-C' <1>:                              CF Conventions.    (line  5337)
+* '-c' <1>:                              CF Conventions.    (line  5337)
+* '-C' <2>:                              Examples ncap2.    (line  7858)
+* '-D':                                  Help Requests and Bug Reports.
+                                                            (line   819)
+* '-D DEBUG-LEVEL':                      Help Requests and Bug Reports.
+                                                            (line   834)
+* '-D DEBUG-LEVEL' <1>:                  Large Datasets.    (line  1293)
+* '-D DEBUG-LEVEL' <2>:                  Command Line Options.
+                                                            (line  1576)
+* '-d DIM,[MIN],[MAX],STRIDE':           Stride.            (line  3142)
+* '-d DIM,[MIN],[MAX],[STRIDE],[SUBCYCLE]': Subcycle.       (line  3254)
+* '-d DIM,[MIN][,[MAX][,[STRIDE]]]':     Hyperslabs.        (line  3038)
+* '-d DIM,[MIN][,[MAX][,[STRIDE]]]' <1>: Multislabs.        (line  3330)
+* '-d DIM,[MIN][,[MAX][,[STRIDE]]]' <2>: Wrapped Coordinates.
+                                                            (line  3474)
+* '-d DIM,[MIN][,[MAX][,[STRIDE]]]' <3>: UDUnits Support.   (line  3634)
+* '-d DIM,[MIN][,[MAX]]':                ncwa netCDF Weighted Averager.
+                                                            (line 10505)
+* '-F':                                  C and Fortran Index Conventions.
+                                                            (line  3001)
+* '-f':                                  Intrinsic mathematical methods.
+                                                            (line  7975)
+* '-G GPE_DSC':                          Group Path Editing.
+                                                            (line  2583)
+* '-g GRP':                              Subsetting Files.  (line  2315)
+* '-h':                                  History Attribute. (line  5212)
+* '-H':                                  File List Attributes.
+                                                            (line  5240)
+* '-h' <1>:                              ncatted netCDF Attribute Editor.
+                                                            (line  8122)
+* '-H' <1>:                              ncks netCDF Kitchen Sink.
+                                                            (line  9336)
+* '-I':                                  ncwa netCDF Weighted Averager.
+                                                            (line 10541)
+* '-L':                                  Deflation.         (line  4188)
+* '-l OUTPUT-PATH':                      Remote storage.    (line  1767)
+* '-l OUTPUT-PATH' <1>:                  Remote storage.    (line  1828)
+* '-M':                                  Determining File Format.
+                                                            (line  2119)
+* '-M' <1>:                              ncecat netCDF Ensemble Concatenator.
+                                                            (line  8899)
+* '-M' <2>:                              ncks netCDF Kitchen Sink.
+                                                            (line  9381)
+* '-m':                                  ncks netCDF Kitchen Sink.
+                                                            (line  9424)
+* '-M CNK_MAP':                          Chunking.          (line  4069)
+* '-m MASK_VAR':                         ncwa netCDF Weighted Averager.
+                                                            (line 10513)
+* '-M PCK_MAP':                          ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9873)
+* '-N':                                  Normalization and Integration.
+                                                            (line 10596)
+* '-n LOOP':                             Large Numbers of Files.
+                                                            (line  1163)
+* '-n LOOP' <1>:                         Large Numbers of Files.
+                                                            (line  1233)
+* '-n LOOP' <2>:                         Specifying Input Files.
+                                                            (line  1632)
+* '-O':                                  Temporary Output Files.
+                                                            (line   961)
+* '-O' <1>:                              Batch Mode.        (line  5192)
+* '-o FL_OUT':                           Large Numbers of Files.
+                                                            (line  1217)
+* '-o FL_OUT' <1>:                       Specifying Output Files.
+                                                            (line  1735)
+* '-P':                                  ncks netCDF Kitchen Sink.
+                                                            (line  9445)
+* '-p INPUT-PATH':                       Specifying Input Files.
+                                                            (line  1632)
+* '-p INPUT-PATH' <1>:                   Remote storage.    (line  1828)
+* '-P PCK_PLC':                          ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9806)
+* '-Q':                                  ncks netCDF Kitchen Sink.
+                                                            (line  9451)
+* '-q':                                  ncks netCDF Kitchen Sink.
+                                                            (line  9457)
+* '-r':                                  Help Requests and Bug Reports.
+                                                            (line   819)
+* '-r' <1>:                              Help Requests and Bug Reports.
+                                                            (line   834)
+* '-R':                                  Retaining Retrieved Files.
+                                                            (line  1994)
+* '-r' <2>:                              Operator Version.  (line  5422)
+* '-s':                                  ncks netCDF Kitchen Sink.
+                                                            (line  9465)
+* '-t THR_NBR':                          Single and Multi-file Operators.
+                                                            (line  1387)
+* '-t THR_NBR' <1>:                      OpenMP Threading.  (line  1495)
+* '-u':                                  ncks netCDF Kitchen Sink.
+                                                            (line  9469)
+* '-U':                                  ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9857)
+* '-u ULM_NM':                           ncecat netCDF Ensemble Concatenator.
+                                                            (line  8848)
+* '-v':                                  ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9989)
+* '-v VAR':                              Subsetting Files.  (line  2315)
+* '-v VAR' <1>:                          Filters for 'ncks'.
+                                                            (line  9658)
+* '-w WEIGHT':                           ncwa netCDF Weighted Averager.
+                                                            (line 10513)
+* '-w WGT1[,WGT2]':                      ncflint netCDF File Interpolator.
+                                                            (line  8998)
+* '-x':                                  Subsetting Files.  (line  2315)
+* '-X':                                  Auxiliary Coordinates.
+                                                            (line  3524)
+* '-x' <1>:                              Filters for 'ncks'.
+                                                            (line  9658)
+* '-X LON_MIN,LON_MAX,LAT_MIN,LAT_MAX':  Auxiliary Coordinates.
+                                                            (line  3524)
+* '-y OP_TYP':                           Operation Types.   (line  4550)
+* '-y OP_TYP' <1>:                       ncbo netCDF Binary Operator.
+                                                            (line  8410)
+* '.':                                   ncrename netCDF Renamer.
+                                                            (line 10310)
+* '.' (wildcard character):              Subsetting Files.  (line  2481)
+* '.bashrc':                             Filters for 'ncks'.
+                                                            (line  9557)
+* '.netrc':                              Remote storage.    (line  1767)
+* '.rhosts':                             Remote storage.    (line  1767)
+* '/':                                   ncbo netCDF Binary Operator.
+                                                            (line  8410)
+* '/' (division):                        Intrinsic mathematical methods.
+                                                            (line  7868)
+* '/*...*/' (comment):                   Syntax of ncap2 statements.
+                                                            (line  5531)
+* '//' (comment):                        Syntax of ncap2 statements.
+                                                            (line  5531)
+* '0' (NUL):                             ncatted netCDF Attribute Editor.
+                                                            (line  8295)
+* 32-bit offset file format:             Determining File Format.
+                                                            (line  2119)
+* 64-bit offset file format:             Determining File Format.
+                                                            (line  2119)
+* '64BIT' files:                         File Formats and Conversion.
+                                                            (line  2034)
+* ':' (separator character):             Group Path Editing.
+                                                            (line  2621)
+* ';' (end of statement):                Syntax of ncap2 statements.
+                                                            (line  5529)
+* '<arpa/nameser.h>':                    Windows Operating System.
+                                                            (line   502)
+* '<resolv.h>':                          Windows Operating System.
+                                                            (line   502)
+* '?' (filename expansion):              Subsetting Files.  (line  2481)
+* '?' (question mark):                   ncatted netCDF Attribute Editor.
+                                                            (line  8286)
+* '?' (wildcard character):              Subsetting Files.  (line  2488)
+* '@' (attribute):                       Syntax of ncap2 statements.
+                                                            (line  5539)
+* '@' (separator character):             Group Path Editing.
+                                                            (line  2621)
+* '[]' (array delimiters):               Syntax of ncap2 statements.
+                                                            (line  5523)
+* '\' (backslash):                       ncatted netCDF Attribute Editor.
+                                                            (line  8286)
+* '\"' (protected double quote):         ncatted netCDF Attribute Editor.
+                                                            (line  8286)
+* '\'' (protected end quote):            ncatted netCDF Attribute Editor.
+                                                            (line  8286)
+* '\?' (protected question mark):        ncatted netCDF Attribute Editor.
+                                                            (line  8286)
+* '\a' (ASCII BEL, bell):                ncatted netCDF Attribute Editor.
+                                                            (line  8281)
+* '\b' (ASCII BS, backspace):            ncatted netCDF Attribute Editor.
+                                                            (line  8281)
+* '\f' (ASCII FF, formfeed):             ncatted netCDF Attribute Editor.
+                                                            (line  8281)
+* '\n' (ASCII LF, linefeed):             ncatted netCDF Attribute Editor.
+                                                            (line  8271)
+* '\n' (linefeed):                       Filters for 'ncks'.
+                                                            (line  9685)
+* '\r' (ASCII CR, carriage return):      ncatted netCDF Attribute Editor.
+                                                            (line  8281)
+* '\t' (ASCII HT, horizontal tab):       ncatted netCDF Attribute Editor.
+                                                            (line  8271)
+* '\t' (horizontal tab):                 Filters for 'ncks'.
+                                                            (line  9685)
+* '\v' (ASCII VT, vertical tab):         ncatted netCDF Attribute Editor.
+                                                            (line  8281)
+* '\\' (ASCII \, backslash):             ncatted netCDF Attribute Editor.
+                                                            (line  8281)
+* '\\' (protected backslash):            ncatted netCDF Attribute Editor.
+                                                            (line  8286)
+* '^' (power):                           Intrinsic mathematical methods.
+                                                            (line  7868)
+* '^' (wildcard character):              Subsetting Files.  (line  2481)
+* '_ChunkSizes':                         ncks netCDF Kitchen Sink.
+                                                            (line  9276)
+* '_DeflateLevel':                       ncks netCDF Kitchen Sink.
+                                                            (line  9276)
+* '_Endianness':                         ncks netCDF Kitchen Sink.
+                                                            (line  9276)
+* '_FillValue':                          Missing Values.    (line  3879)
+* '_FillValue' <1>:                      Packed data.       (line  4413)
+* '_FillValue' <2>:                      ncatted netCDF Attribute Editor.
+                                                            (line  8127)
+* '_FillValue' <3>:                      ncflint netCDF File Interpolator.
+                                                            (line  9047)
+* _FILLVALUE:                            ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9917)
+* '_FillValue' <4>:                      ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9917)
+* '_FillValue' <5>:                      ncrename netCDF Renamer.
+                                                            (line 10436)
+* '_Fletcher32':                         ncks netCDF Kitchen Sink.
+                                                            (line  9276)
+* '_Format':                             ncks netCDF Kitchen Sink.
+                                                            (line  9276)
+* '_NOFILL':                             ncks netCDF Kitchen Sink.
+                                                            (line  9276)
+* '_Shuffle':                            ncks netCDF Kitchen Sink.
+                                                            (line  9276)
+* '_Storage':                            ncks netCDF Kitchen Sink.
+                                                            (line  9276)
+* '|' (wildcard character):              Subsetting Files.  (line  2488)
+* ABS:                                   Intrinsic mathematical methods.
+                                                            (line  7871)
+* absolute value:                        Intrinsic mathematical methods.
+                                                            (line  7871)
+* ACOS:                                  Intrinsic mathematical methods.
+                                                            (line  7871)
+* ACOSH:                                 Intrinsic mathematical methods.
+                                                            (line  7871)
+* 'add':                                 ncbo netCDF Binary Operator.
+                                                            (line  8410)
+* adding data:                           ncbo netCDF Binary Operator.
+                                                            (line  8392)
+* adding data <1>:                       ncflint netCDF File Interpolator.
+                                                            (line  8974)
+* addition:                              Intrinsic mathematical methods.
+                                                            (line  7868)
+* addition <1>:                          ncbo netCDF Binary Operator.
+                                                            (line  8392)
+* addition <2>:                          ncflint netCDF File Interpolator.
+                                                            (line  8974)
+* ADD_OFFSET:                            Performance.       (line  1440)
+* 'add_offset':                          Packed data.       (line  4413)
+* 'add_offset' <1>:                      ncecat netCDF Ensemble Concatenator.
+                                                            (line  8921)
+* 'add_offset' <2>:                      ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9799)
+* 'add_offset' <3>:                      ncrcat netCDF Record Concatenator.
+                                                            (line 10247)
+* aggregation:                           Combine Files.     (line 11076)
+* Aleksandar Jelenak:                    Contributors.      (line 10803)
+* Alexander Hansen:                      Contributors.      (line 10811)
+* 'alias':                               ncbo netCDF Binary Operator.
+                                                            (line  8454)
+* alias:                                 Filters for 'ncks'.
+                                                            (line  9557)
+* 'alias' <1>:                           ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9867)
+* 'all':                                 Chunking.          (line  4025)
+* alphabetization:                       ncks netCDF Kitchen Sink.
+                                                            (line  9236)
+* alphabetize output:                    Filters for 'ncks'.
+                                                            (line  9652)
+* alternate invocations:                 ncbo netCDF Binary Operator.
+                                                            (line  8410)
+* anchor:                                Subsetting Files.  (line  2357)
+* anchoring:                             Subsetting Files.  (line  2357)
+* Andrea Cimatoribus:                    Contributors.      (line 10817)
+* Andrew Wittenberg:                     Contributors.      (line 10801)
+* annual average:                        Annual Average over Regions.
+                                                            (line 11307)
+* annual average from daily data:        Daily data in one file.
+                                                            (line 10873)
+* annual average from monthly data:      Monthly data in one file.
+                                                            (line 10896)
+* anomalies:                             ncbo netCDF Binary Operator.
+                                                            (line  8492)
+* anomalies <1>:                         Annual Average over Regions.
+                                                            (line 11307)
+* anomalies <2>:                         Monthly Cycle.     (line 11598)
+* ANSI:                                  Compatability.     (line   415)
+* 'ANSI C':                              Intrinsic mathematical methods.
+                                                            (line  7974)
+* appending data:                        Examples ncap2.    (line  7846)
+* appending data <1>:                    ncks netCDF Kitchen Sink.
+                                                            (line  9176)
+* appending to files:                    Temporary Output Files.
+                                                            (line   961)
+* appending to files <1>:                Batch Mode.        (line  5192)
+* appending to files <2>:                Filters for 'ncks'.
+                                                            (line  9664)
+* appending variables:                   Temporary Output Files.
+                                                            (line   961)
+* appending variables <1>:               Appending Variables.
+                                                            (line   986)
+* appending variables <2>:               ncap2 netCDF Arithmetic Processor.
+                                                            (line  5487)
+* appending variables <3>:               ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9989)
+* AR4:                                   nces netCDF Ensemble Statistics.
+                                                            (line  8698)
+* arccosine function:                    Intrinsic mathematical methods.
+                                                            (line  7871)
+* arcsine function:                      Intrinsic mathematical methods.
+                                                            (line  7871)
+* arctangent function:                   Intrinsic mathematical methods.
+                                                            (line  7871)
+* 'area':                                CF Conventions.    (line  5271)
+* area-averaging:                        Annual Average over Regions.
+                                                            (line 11307)
+* arithmetic operators:                  Missing Values.    (line  3885)
+* arithmetic operators <1>:              Missing Values.    (line  3938)
+* arithmetic operators <2>:              ncwa netCDF Weighted Averager.
+                                                            (line 10505)
+* arithmetic processor:                  ncap2 netCDF Arithmetic Processor.
+                                                            (line  5454)
+* ARM conventions:                       ARM Conventions.   (line  5391)
+* ARM conventions <1>:                   ncrcat netCDF Record Concatenator.
+                                                            (line 10260)
+* array:                                 Arrays and hyperslabs.
+                                                            (line  5817)
+* 'array' function:                      Arrays and hyperslabs.
+                                                            (line  5817)
+* array indexing:                        Syntax of ncap2 statements.
+                                                            (line  5525)
+* array storage:                         Syntax of ncap2 statements.
+                                                            (line  5527)
+* array syntax:                          Syntax of ncap2 statements.
+                                                            (line  5523)
+* arrays:                                Arrays and hyperslabs.
+                                                            (line  5817)
+* arrival value:                         ncflint netCDF File Interpolator.
+                                                            (line  9014)
+* ASCII:                                 ncatted netCDF Attribute Editor.
+                                                            (line  8269)
+* ASCII <1>:                             ncatted netCDF Attribute Editor.
+                                                            (line  8286)
+* ASIN:                                  Intrinsic mathematical methods.
+                                                            (line  7871)
+* ASINH:                                 Intrinsic mathematical methods.
+                                                            (line  7871)
+* 'asort':                               Sort methods.      (line  6542)
+* assignment statement:                  Syntax of ncap2 statements.
+                                                            (line  5529)
+* asynchronous file access:              Remote storage.    (line  1767)
+* ATAN:                                  Intrinsic mathematical methods.
+                                                            (line  7871)
+* ATANH:                                 Intrinsic mathematical methods.
+                                                            (line  7871)
+* attribute inheritance:                 Attributes.        (line  5992)
+* attribute names:                       ncatted netCDF Attribute Editor.
+                                                            (line  8104)
+* attribute names <1>:                   ncrename netCDF Renamer.
+                                                            (line 10301)
+* attribute propagation:                 Attributes.        (line  5992)
+* attribute syntax:                      Syntax of ncap2 statements.
+                                                            (line  5539)
+* attribute, 'units':                    UDUnits Support.   (line  3634)
+* attributes:                            ncatted netCDF Attribute Editor.
+                                                            (line  8104)
+* attributes, appending:                 ncatted netCDF Attribute Editor.
+                                                            (line  8186)
+* attributes, creating:                  ncatted netCDF Attribute Editor.
+                                                            (line  8186)
+* attributes, deleting:                  ncatted netCDF Attribute Editor.
+                                                            (line  8186)
+* attributes, editing:                   ncatted netCDF Attribute Editor.
+                                                            (line  8186)
+* attributes, editing <1>:               Annual Average over Regions.
+                                                            (line 11307)
+* attributes, editing <2>:               Regrid MODIS Data. (line 11762)
+* attributes, global:                    Large Numbers of Files.
+                                                            (line  1191)
+* attributes, global <1>:                History Attribute. (line  5212)
+* attributes, global <2>:                File List Attributes.
+                                                            (line  5240)
+* attributes, global <3>:                ARM Conventions.   (line  5415)
+* attributes, global <4>:                ncatted netCDF Attribute Editor.
+                                                            (line  8169)
+* attributes, global <5>:                ncatted netCDF Attribute Editor.
+                                                            (line  8336)
+* attributes, global <6>:                ncks netCDF Kitchen Sink.
+                                                            (line  9162)
+* attributes, global <7>:                ncks netCDF Kitchen Sink.
+                                                            (line  9196)
+* attributes, global <8>:                Filters for 'ncks'.
+                                                            (line  9658)
+* attributes, global <9>:                ncrename netCDF Renamer.
+                                                            (line 10356)
+* attributes, global <10>:               ncrename netCDF Renamer.
+                                                            (line 10436)
+* attributes, modifying:                 ncatted netCDF Attribute Editor.
+                                                            (line  8186)
+* attributes, modifying <1>:             Annual Average over Regions.
+                                                            (line 11307)
+* attributes, modifying <2>:             Regrid MODIS Data. (line 11762)
+* attributes, overwriting:               ncatted netCDF Attribute Editor.
+                                                            (line  8186)
+* attributes, overwriting <1>:           Annual Average over Regions.
+                                                            (line 11307)
+* attributes, overwriting <2>:           Regrid MODIS Data. (line 11762)
+* attributes'ncap2':                     Attributes.        (line  5959)
+* 'autoconf':                            Help Requests and Bug Reports.
+                                                            (line   842)
+* autoconversion:                        Autoconversion.    (line  2219)
+* automagic:                             Compatability.     (line   455)
+* automagic <1>:                         Large Numbers of Files.
+                                                            (line  1164)
+* automatic type conversion:             Type Conversion.   (line  4703)
+* automatic type conversion <1>:         Intrinsic mathematical methods.
+                                                            (line  7941)
+* auxiliary coordinates:                 CF Conventions.    (line  5337)
+* average:                               Operation Types.   (line  4550)
+* average <1>:                           ncwa netCDF Weighted Averager.
+                                                            (line 10549)
+* average <2>:                           Daily data in one file.
+                                                            (line 10859)
+* average <3>:                           Daily data in one file.
+                                                            (line 10873)
+* average <4>:                           Monthly data in one file.
+                                                            (line 10893)
+* average <5>:                           Monthly data in one file.
+                                                            (line 10896)
+* average <6>:                           One time point one file.
+                                                            (line 10922)
+* average <7>:                           Global Distribution of Long-term Average.
+                                                            (line 11202)
+* average <8>:                           Annual Average over Regions.
+                                                            (line 11307)
+* average <9>:                           Monthly Cycle.     (line 11598)
+* averaging data:                        Missing Values.    (line  3879)
+* averaging data <1>:                    nces netCDF Ensemble Statistics.
+                                                            (line  8659)
+* averaging data <2>:                    ncra netCDF Record Averager.
+                                                            (line 10148)
+* averaging data <3>:                    ncwa netCDF Weighted Averager.
+                                                            (line 10473)
+* 'avg':                                 Operation Types.   (line  4550)
+* avg():                                 Methods and functions.
+                                                            (line  6262)
+* 'avgsqr':                              Operation Types.   (line  4550)
+* Barry deFreese:                        Contributors.      (line 10803)
+* 'base_time':                           ARM Conventions.   (line  5391)
+* 'bash':                                Subsetting Files.  (line  2533)
+* 'bash' <1>:                            Filters for 'ncks'.
+                                                            (line  9557)
+* Bash shell:                            ncbo netCDF Binary Operator.
+                                                            (line  8439)
+* Bash Shell:                            ncbo netCDF Binary Operator.
+                                                            (line  8607)
+* Bash shell <1>:                        Filters for 'ncks'.
+                                                            (line  9557)
+* batch mode:                            Batch Mode.        (line  5192)
+* beer:                                  Promoting Single-precision to Double.
+                                                            (line  5090)
+* benchmarks:                            OpenMP Threading.  (line  1554)
+* Bessel function:                       GSL special functions.
+                                                            (line  7029)
+* bilinear interpolation:                Regrid MODIS Data. (line 11762)
+* Bill Kocik:                            Contributors.      (line 10787)
+* binary format:                         ncks netCDF Kitchen Sink.
+                                                            (line  9246)
+* binary operations:                     Memory for ncap2.  (line  1393)
+* binary operations <1>:                 ncbo netCDF Binary Operator.
+                                                            (line  8392)
+* binary Operators:                      Expressions.       (line  5626)
+* blank:                                 ncks netCDF Kitchen Sink.
+                                                            (line  9437)
+* 'bounds':                              CF Conventions.    (line  5326)
+* bounds convention:                     CF Conventions.    (line  5326)
+* Bourne Shell:                          Stride.            (line  3180)
+* Bourne Shell <1>:                      ncbo netCDF Binary Operator.
+                                                            (line  8607)
+* Brian Mays:                            Contributors.      (line 10783)
+* broadcasting:                          ncbo netCDF Binary Operator.
+                                                            (line  8544)
+* broadcasting groups:                   netCDF2/3/4 and HDF4/5 Support.
+                                                            (line   661)
+* broadcasting groups <1>:               ncbo netCDF Binary Operator.
+                                                            (line  8523)
+* broadcasting groups <2>:               ncbo netCDF Binary Operator.
+                                                            (line  8572)
+* broadcasting variables:                Expressions.       (line  5575)
+* broadcasting variables <1>:            ncbo netCDF Binary Operator.
+                                                            (line  8481)
+* broadcasting variables <2>:            ncbo netCDF Binary Operator.
+                                                            (line  8483)
+* broadcasting variables <3>:            ncflint netCDF File Interpolator.
+                                                            (line  9112)
+* broadcasting variables <4>:            ncwa netCDF Weighted Averager.
+                                                            (line 10473)
+* 'BSD':                                 Command Line Options.
+                                                            (line  1573)
+* Buffer sizes:                          Buffer sizes.      (line  4295)
+* buffering:                             Performance.       (line  1431)
+* bugs, reporting:                       Help Requests and Bug Reports.
+                                                            (line   779)
+* byte():                                Methods and functions.
+                                                            (line  6354)
+* C index convention:                    C and Fortran Index Conventions.
+                                                            (line  3001)
+* C language:                            Compatability.     (line   437)
+* C language <1>:                        Missing Values.    (line  3927)
+* C language <2>:                        Automatic type conversion.
+                                                            (line  4832)
+* C language <3>:                        Promoting Single-precision to Double.
+                                                            (line  4851)
+* C language <4>:                        Syntax of ncap2 statements.
+                                                            (line  5517)
+* C language <5>:                        Expressions.       (line  5546)
+* C language <6>:                        ncatted netCDF Attribute Editor.
+                                                            (line  8295)
+* C language <7>:                        ncks netCDF Kitchen Sink.
+                                                            (line  9465)
+* C Shell:                               Stride.            (line  3180)
+* C Shell <1>:                           ncbo netCDF Binary Operator.
+                                                            (line  8607)
+* 'c++':                                 Compatability.     (line   402)
+* C++:                                   Compatability.     (line   407)
+* C89:                                   Compatability.     (line   415)
+* C89 <1>:                               Compatability.     (line   439)
+* C99:                                   Compatability.     (line   419)
+* C99 <1>:                               Compatability.     (line   439)
+* C99 <2>:                               Windows Operating System.
+                                                            (line   490)
+* CAM3:                                  Promoting Single-precision to Double.
+                                                            (line  4990)
+* 'CC':                                  Compatability.     (line   402)
+* 'cc':                                  Compatability.     (line   402)
+* CCM Processor:                         Specifying Input Files.
+                                                            (line  1632)
+* CCM Processor <1>:                     ncra netCDF Record Averager.
+                                                            (line 10188)
+* CCM Processor <2>:                     ncrcat netCDF Record Concatenator.
+                                                            (line 10266)
+* CCSM:                                  Proposals for Institutional Funding.
+                                                            (line 10829)
+* CCSM <1>:                              CCSM Example.      (line 12001)
+* CCSM conventions:                      CF Conventions.    (line  5271)
+* CDL:                                   ncks netCDF Kitchen Sink.
+                                                            (line  9288)
+* CEIL:                                  Intrinsic mathematical methods.
+                                                            (line  7871)
+* ceiling function:                      Intrinsic mathematical methods.
+                                                            (line  7871)
+* cell methods convention:               CF Conventions.    (line  5348)
+* cell-based grids:                      Auxiliary Coordinates.
+                                                            (line  3541)
+* 'cell_methods':                        CF Conventions.    (line  5348)
+* CF compliance checker:                 Group Path Editing.
+                                                            (line  2842)
+* CF conventions:                        Subsetting Coordinate Variables.
+                                                            (line  2574)
+* CF conventions <1>:                    Auxiliary Coordinates.
+                                                            (line  3524)
+* CF conventions <2>:                    UDUnits Support.   (line  3732)
+* CF conventions <3>:                    CF Conventions.    (line  5271)
+* CF conventions <4>:                    ncbo netCDF Binary Operator.
+                                                            (line  8516)
+* cfchecker:                             Group Path Editing.
+                                                            (line  2842)
+* 'change_miss()':                       Missing values ncap2.
+                                                            (line  6199)
+* char():                                Methods and functions.
+                                                            (line  6356)
+* characters, special:                   ncatted netCDF Attribute Editor.
+                                                            (line  8271)
+* Charlie Zender:                        Foreword.          (line   203)
+* Charlie Zender <1>:                    Contributors.      (line 10760)
+* chocolate:                             Contributing.      (line 10739)
+* Chris Barker:                          Chunking.          (line  4075)
+* chunking:                              netCDF2/3/4 and HDF4/5 Support.
+                                                            (line   649)
+* chunking <1>:                          Chunking.          (line  3992)
+* chunking <2>:                          ncks netCDF Kitchen Sink.
+                                                            (line  9428)
+* chunking map:                          Chunking.          (line  4010)
+* chunking map <1>:                      Chunking.          (line  4069)
+* chunking policy:                       Chunking.          (line  4010)
+* chunksize:                             Chunking.          (line  4010)
+* 'clang':                               Compatability.     (line   402)
+* 'CLASSIC' files:                       File Formats and Conversion.
+                                                            (line  2034)
+* client-server:                         OPeNDAP.           (line  1879)
+* Climate and Forecast Metadata Convention: UDUnits Support.
+                                                            (line  3732)
+* climate model:                         Philosophy.        (line   861)
+* climate model <1>:                     Climate Model Paradigm.
+                                                            (line   887)
+* climate model <2>:                     Concatenation.     (line  1086)
+* climate model <3>:                     Specifying Input Files.
+                                                            (line  1695)
+* climate model <4>:                     ncecat netCDF Ensemble Concatenator.
+                                                            (line  8910)
+* climate model <5>:                     Normalization and Integration.
+                                                            (line 10659)
+* climate model <6>:                     Normalization and Integration.
+                                                            (line 10670)
+* clipping operators:                    Expressions.       (line  5698)
+* CMIP:                                  nces netCDF Ensemble Statistics.
+                                                            (line  8698)
+* CMIP <1>:                              ncecat netCDF Ensemble Concatenator.
+                                                            (line  8854)
+* CMIP5:                                 CMIP5 Example.     (line 10948)
+* 'cnk_all':                             Chunking.          (line  4025)
+* 'cnk_dmn':                             Chunking.          (line  4075)
+* 'cnk_g2d':                             Chunking.          (line  4025)
+* 'cnk_g3d':                             Chunking.          (line  4025)
+* 'cnk_lfp':                             Chunking.          (line  4075)
+* CNK_MAP:                               Chunking.          (line  4069)
+* 'cnk_prd':                             Chunking.          (line  4075)
+* 'cnk_rd1':                             Chunking.          (line  4075)
+* 'cnk_scl':                             Chunking.          (line  4075)
+* 'cnk_xpl':                             Chunking.          (line  4025)
+* 'cnk_xst':                             Chunking.          (line  4025)
+* 'cnk_xst' <1>:                         Chunking.          (line  4075)
+* Comeau:                                Compatability.     (line   384)
+* command line options:                  Command Line Options.
+                                                            (line  1559)
+* command line switches:                 Philosophy.        (line   877)
+* command line switches <1>:             Common features.   (line  1457)
+* command line switches <2>:             Specifying Output Files.
+                                                            (line  1735)
+* command line switches <3>:             Operator Reference Manual.
+                                                            (line  5444)
+* comments:                              Syntax of ncap2 statements.
+                                                            (line  5531)
+* 'como':                                Compatability.     (line   402)
+* Compaq:                                Compatability.     (line   384)
+* comparator:                            Mask condition.    (line 10575)
+* compatability:                         Compatability.     (line   384)
+* compilers:                             Specifying Output Files.
+                                                            (line  1757)
+* complementary error function:          Intrinsic mathematical methods.
+                                                            (line  7871)
+* compliance checker:                    Group Path Editing.
+                                                            (line  2842)
+* compression:                           Deflation.         (line  4188)
+* compression <1>:                       ncks netCDF Kitchen Sink.
+                                                            (line  9428)
+* concatenation:                         Appending Variables.
+                                                            (line   986)
+* concatenation <1>:                     ncecat netCDF Ensemble Concatenator.
+                                                            (line  8814)
+* concatenation <2>:                     ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9947)
+* concatenation <3>:                     ncrcat netCDF Record Concatenator.
+                                                            (line 10219)
+* conditional Operator:                  Expressions.       (line  5688)
+* 'config.guess':                        Help Requests and Bug Reports.
+                                                            (line   842)
+* 'configure.eg':                        Help Requests and Bug Reports.
+                                                            (line   842)
+* constraint expressions:                OPeNDAP.           (line  1985)
+* contents:                              How to Use This guide.
+                                                            (line   350)
+* contributing:                          Contributing.      (line 10728)
+* contributors:                          Contributors.      (line 10759)
+* coordinate limits:                     Hyperslabs.        (line  3038)
+* coordinate variable:                   UDUnits Support.   (line  3668)
+* coordinate variable <1>:               Operation Types.   (line  4574)
+* coordinate variable <2>:               CF Conventions.    (line  5337)
+* coordinate variable <3>:               ncbo netCDF Binary Operator.
+                                                            (line  8513)
+* coordinate variable <4>:               ncwa netCDF Weighted Averager.
+                                                            (line 10541)
+* coordinate variables:                  ncrename netCDF Renamer.
+                                                            (line 10409)
+* 'coordinates':                         Auxiliary Coordinates.
+                                                            (line  3524)
+* 'coordinates' <1>:                     CF Conventions.    (line  5337)
+* coordinates:                           Add Coordinates to MODIS Data.
+                                                            (line 11900)
+* coordinates convention:                CF Conventions.    (line  5337)
+* coordinates, modifying:                Permute MODIS Coordinates.
+                                                            (line 11948)
+* core dump:                             Help Requests and Bug Reports.
+                                                            (line   779)
+* 'core dump':                           Large Datasets.    (line  1283)
+* 'core dump' <1>:                       Filters for 'ncks'.
+                                                            (line  9729)
+* COS:                                   Intrinsic mathematical methods.
+                                                            (line  7871)
+* COSH:                                  Intrinsic mathematical methods.
+                                                            (line  7871)
+* cosine function:                       Intrinsic mathematical methods.
+                                                            (line  7871)
+* covariance:                            Examples ncap2.    (line  7798)
+* 'cp':                                  Subsetting Files.  (line  2357)
+* Cray:                                  Compatability.     (line   384)
+* Cray <1>:                              Large Datasets.    (line  1278)
+* 'csh':                                 Subsetting Files.  (line  2533)
+* Csh shell:                             Filters for 'ncks'.
+                                                            (line  9557)
+* 'cxx':                                 Compatability.     (line   402)
+* Cygwin:                                Windows Operating System.
+                                                            (line   498)
+* Cygwin <1>:                            Symbolic Links.    (line   534)
+* C_FORMAT:                              Performance.       (line  1440)
+* daily data:                            Daily data in one file.
+                                                            (line 10856)
+* daily data <1>:                        One time point one file.
+                                                            (line 10922)
+* daily data <2>:                        Multiple files with multiple time points.
+                                                            (line 10940)
+* Daniel Baumann:                        Contributors.      (line 10803)
+* Daniel Wang:                           Contributors.      (line 10775)
+* DAP:                                   OPeNDAP.           (line  1879)
+* data access protocol:                  OPeNDAP.           (line  1879)
+* data safety:                           Temporary Output Files.
+                                                            (line   898)
+* data safety <1>:                       ncrename netCDF Renamer.
+                                                            (line 10332)
+* data, missing:                         Missing Values.    (line  3879)
+* data, missing <1>:                     ncatted netCDF Attribute Editor.
+                                                            (line  8127)
+* 'date':                                CF Conventions.    (line  5271)
+* 'datesec':                             CF Conventions.    (line  5271)
+* DBG_LVL:                               Help Requests and Bug Reports.
+                                                            (line   834)
+* DBG_LVL <1>:                           Large Datasets.    (line  1293)
+* DBG_LVL <2>:                           OpenMP Threading.  (line  1543)
+* DDRA:                                  Proposals for Institutional Funding.
+                                                            (line 10829)
+* Debian:                                netCDF2/3/4 and HDF4/5 Support.
+                                                            (line   724)
+* DEBUG-LEVEL:                           Help Requests and Bug Reports.
+                                                            (line   834)
+* DEBUG-LEVEL <1>:                       Large Datasets.    (line  1293)
+* debugging:                             Help Requests and Bug Reports.
+                                                            (line   819)
+* debugging <1>:                         Large Datasets.    (line  1293)
+* debugging <2>:                         OpenMP Threading.  (line  1543)
+* DEC:                                   Compatability.     (line   384)
+* 'defdim()':                            Dimensions.        (line  5719)
+* defining dimensions in 'ncap2':        Dimensions.        (line  5719)
+* deflation:                             netCDF2/3/4 and HDF4/5 Support.
+                                                            (line   645)
+* deflation <1>:                         Deflation.         (line  4188)
+* deflation <2>:                         ncks netCDF Kitchen Sink.
+                                                            (line  9428)
+* degenerate dimension:                  Chunking.          (line  4069)
+* degenerate dimension <1>:              Operation Types.   (line  4619)
+* degenerate dimension <2>:              Examples ncap2.    (line  7846)
+* degenerate dimension <3>:              ncbo netCDF Binary Operator.
+                                                            (line  8508)
+* degenerate dimension <4>:              ncecat netCDF Ensemble Concatenator.
+                                                            (line  8963)
+* degenerate dimension <5>:              ncflint netCDF File Interpolator.
+                                                            (line  9025)
+* degenerate dimension <6>:              ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line 10109)
+* degenerate dimension <7>:              ncra netCDF Record Averager.
+                                                            (line 10161)
+* degenerate dimension <8>:              ncwa netCDF Weighted Averager.
+                                                            (line 10493)
+* degenerate dimension <9>:              Normalization and Integration.
+                                                            (line 10650)
+* delete (groups):                       Group Path Editing.
+                                                            (line  2621)
+* 'delete_miss()':                       Missing values ncap2.
+                                                            (line  6209)
+* demotion:                              Type Conversion.   (line  4703)
+* Dennis Heimbigner:                     Contributors.      (line 10751)
+* derived fields:                        ncap2 netCDF Arithmetic Processor.
+                                                            (line  5479)
+* derived fields <1>:                    ncap2 netCDF Arithmetic Processor.
+                                                            (line  5491)
+* digest:                                MD5 digests.       (line  4225)
+* Digital:                               Compatability.     (line   384)
+* dimension limits:                      Hyperslabs.        (line  3038)
+* dimension names:                       ncrename netCDF Renamer.
+                                                            (line 10301)
+* dimension order:                       Annual Average over Regions.
+                                                            (line 11307)
+* dimensions, growing:                   Examples ncap2.    (line  7768)
+* disaggregate:                          Group Path Editing.
+                                                            (line  2743)
+* disjoint files:                        Appending Variables.
+                                                            (line  1008)
+* diskless files:                        RAM disks.         (line  4326)
+* dismember:                             Group Path Editing.
+                                                            (line  2743)
+* Distributed Data Reduction & Analysis: Proposals for Institutional Funding.
+                                                            (line 10829)
+* Distributed Oceanographic Data System: OPeNDAP.           (line  1879)
+* 'divide':                              ncbo netCDF Binary Operator.
+                                                            (line  8410)
+* dividing data:                         ncbo netCDF Binary Operator.
+                                                            (line  8392)
+* division:                              Intrinsic mathematical methods.
+                                                            (line  7868)
+* 'dmn':                                 Chunking.          (line  4075)
+* documentation:                         Availability.      (line   310)
+* DODS:                                  OPeNDAP.           (line  1879)
+* DODS <1>:                              Retaining Retrieved Files.
+                                                            (line  2022)
+* 'DODS_ROOT':                           OPeNDAP.           (line  1879)
+* dot product:                           Normalization and Integration.
+                                                            (line 10596)
+* dot product <1>:                       Normalization and Integration.
+                                                            (line 10615)
+* double():                              Methods and functions.
+                                                            (line  6365)
+* double-precision:                      Intrinsic mathematical methods.
+                                                            (line  7974)
+* 'dsort':                               Sort methods.      (line  6542)
+* duration:                              Subcycle.          (line  3254)
+* dynamic linking:                       Libraries.         (line   560)
+* Ed Hartnett:                           Contributors.      (line 10751)
+* Ed Hill:                               Contributors.      (line 10805)
+* eddy covariance:                       Examples ncap2.    (line  7804)
+* editing attributes:                    ncatted netCDF Attribute Editor.
+                                                            (line  8104)
+* 'egrep':                               Subsetting Files.  (line  2458)
+* Elliptic integrals:                    GSL special functions.
+                                                            (line  7049)
+* ensemble:                              Concatenation.     (line  1086)
+* ensemble <1>:                          nces netCDF Ensemble Statistics.
+                                                            (line  8675)
+* ensemble average:                      nces netCDF Ensemble Statistics.
+                                                            (line  8659)
+* ensemble concatenation:                ncecat netCDF Ensemble Concatenator.
+                                                            (line  8814)
+* ERF:                                   Intrinsic mathematical methods.
+                                                            (line  7871)
+* ERFC:                                  Intrinsic mathematical methods.
+                                                            (line  7871)
+* Eric Blake:                            Contributors.      (line 10813)
+* error function:                        Intrinsic mathematical methods.
+                                                            (line  7871)
+* error tolerance:                       Temporary Output Files.
+                                                            (line   898)
+* Etienne Tourigny:                      Contributors.      (line 10819)
+* exclusion:                             Subsetting Files.  (line  2315)
+* exclusion <1>:                         Filters for 'ncks'.
+                                                            (line  9658)
+* exclusion <2>:                         Filters for 'ncks'.
+                                                            (line  9732)
+* execution time:                        Libraries.         (line   561)
+* execution time <1>:                    Temporary Output Files.
+                                                            (line   913)
+* execution time <2>:                    Performance.       (line  1432)
+* execution time <3>:                    Metadata Optimization.
+                                                            (line  1474)
+* execution time <4>:                    Missing Values.    (line  3938)
+* execution time <5>:                    ncrename netCDF Renamer.
+                                                            (line 10347)
+* EXP:                                   Intrinsic mathematical methods.
+                                                            (line  7871)
+* exponent:                              Promoting Single-precision to Double.
+                                                            (line  5068)
+* exponentiation:                        Intrinsic mathematical methods.
+                                                            (line  7868)
+* exponentiation function:               Intrinsic mathematical methods.
+                                                            (line  7871)
+* expressions:                           Expressions.       (line  5541)
+* extended file format:                  Determining File Format.
+                                                            (line  2128)
+* extended regular expressions:          Large Numbers of Files.
+                                                            (line  1199)
+* extended regular expressions <1>:      Subsetting Files.  (line  2458)
+* extended regular expressions <2>:      Examples ncap2.    (line  7823)
+* extended regular expressions <3>:      ncatted netCDF Attribute Editor.
+                                                            (line  8147)
+* extended regular expressions <4>:      ncatted netCDF Attribute Editor.
+                                                            (line  8354)
+* extraction:                            Subsetting Files.  (line  2315)
+* extraction <1>:                        Filters for 'ncks'.
+                                                            (line  9658)
+* extraction <2>:                        Filters for 'ncks'.
+                                                            (line  9732)
+* 'f90':                                 Windows Operating System.
+                                                            (line   498)
+* features, requesting:                  Help Requests and Bug Reports.
+                                                            (line   779)
+* File buffers:                          Buffer sizes.      (line  4295)
+* file combination:                      Combine Files.     (line 10970)
+* file deletion:                         Retaining Retrieved Files.
+                                                            (line  1994)
+* file multiplication:                   ncflint netCDF File Interpolator.
+                                                            (line  9101)
+* file removal:                          Retaining Retrieved Files.
+                                                            (line  1994)
+* file retention:                        Retaining Retrieved Files.
+                                                            (line  1994)
+* files, multiple:                       Specifying Input Files.
+                                                            (line  1666)
+* files, numerous input:                 Large Numbers of Files.
+                                                            (line  1163)
+* Filipe Fernandes:                      Contributors.      (line 10809)
+* filters:                               Filters for 'ncks'.
+                                                            (line  9557)
+* findgen-equivalent:                    Arrays and hyperslabs.
+                                                            (line  5817)
+* fix record dimension:                  ncecat netCDF Ensemble Concatenator.
+                                                            (line  8858)
+* fix record dimension <1>:              ncecat netCDF Ensemble Concatenator.
+                                                            (line  8958)
+* fix record dimension <2>:              ncks netCDF Kitchen Sink.
+                                                            (line  9328)
+* fixed dimension:                       ncecat netCDF Ensemble Concatenator.
+                                                            (line  8858)
+* fixed dimension <1>:                   ncecat netCDF Ensemble Concatenator.
+                                                            (line  8958)
+* fixed dimension <2>:                   ncks netCDF Kitchen Sink.
+                                                            (line  9251)
+* fixed dimension <3>:                   ncks netCDF Kitchen Sink.
+                                                            (line  9328)
+* flags:                                 Examples ncap2.    (line  7782)
+* flatten (groups):                      Group Path Editing.
+                                                            (line  2621)
+* flattening:                            Autoconversion.    (line  2257)
+* 'float':                               Intrinsic mathematical methods.
+                                                            (line  7974)
+* float():                               Methods and functions.
+                                                            (line  6362)
+* FLOOR:                                 Intrinsic mathematical methods.
+                                                            (line  7871)
+* floor function:                        Intrinsic mathematical methods.
+                                                            (line  7871)
+* 'flt_byt':                             ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9879)
+* 'flt_sht':                             ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9879)
+* for():                                 Loops.             (line  6487)
+* force append:                          Batch Mode.        (line  5192)
+* force overwrite:                       Batch Mode.        (line  5192)
+* foreword:                              Foreword.          (line   203)
+* Fortran:                               Promoting Single-precision to Double.
+                                                            (line  4851)
+* Fortran <1>:                           ncra netCDF Record Averager.
+                                                            (line 10196)
+* Fortran <2>:                           ncrcat netCDF Record Concatenator.
+                                                            (line 10273)
+* Fortran index convention:              C and Fortran Index Conventions.
+                                                            (line  3001)
+* FORTRAN_FORMAT:                        Performance.       (line  1440)
+* Francesco Lovergine:                   Contributors.      (line 10803)
+* 'ftp':                                 Windows Operating System.
+                                                            (line   504)
+* 'ftp' <1>:                             Remote storage.    (line  1767)
+* FTP:                                   Retaining Retrieved Files.
+                                                            (line  2011)
+* funding:                               Proposals for Institutional Funding.
+                                                            (line 10829)
+* 'g++':                                 Compatability.     (line   402)
+* 'g++' <1>:                             Windows Operating System.
+                                                            (line   518)
+* 'g2d':                                 Chunking.          (line  4025)
+* 'g3d':                                 Chunking.          (line  4025)
+* GAG:                                   ncecat netCDF Ensemble Concatenator.
+                                                            (line  8866)
+* GAMMA:                                 Compatability.     (line   453)
+* GAMMA <1>:                             Intrinsic mathematical methods.
+                                                            (line  7871)
+* gamma function:                        GSL special functions.
+                                                            (line  7015)
+* gamma function <1>:                    Intrinsic mathematical methods.
+                                                            (line  7871)
+* Gary Strand:                           Contributors.      (line 10801)
+* Gaussian weights:                      Normalization and Integration.
+                                                            (line 10659)
+* Gavin Burris:                          Contributors.      (line 10815)
+* Gayathri Venkitachalam:                Contributors.      (line 10797)
+* 'gcc':                                 Compatability.     (line   402)
+* 'gcc' <1>:                             Windows Operating System.
+                                                            (line   518)
+* GCM:                                   Climate Model Paradigm.
+                                                            (line   887)
+* GCM <1>:                               Promoting Single-precision to Double.
+                                                            (line  4990)
+* geographical weight:                   Monthly Cycle.     (line 11598)
+* George Shapavalov:                     Contributors.      (line 10807)
+* George Shapovalov:                     Contributors.      (line 10785)
+* George White:                          Contributors.      (line 10801)
+* 'gethostname':                         Windows Operating System.
+                                                            (line   502)
+* 'getopt':                              Command Line Options.
+                                                            (line  1573)
+* 'getopt.h':                            Command Line Options.
+                                                            (line  1573)
+* 'getopt_long':                         Command Line Options.
+                                                            (line  1573)
+* 'getuid':                              Windows Operating System.
+                                                            (line   502)
+* 'get_miss()':                          Missing values ncap2.
+                                                            (line  6204)
+* Glenn Davis:                           Contributors.      (line 10751)
+* 'global' attribute:                    ncatted netCDF Attribute Editor.
+                                                            (line  8336)
+* 'global' attribute <1>:                ncrename netCDF Renamer.
+                                                            (line 10356)
+* global attributes:                     Large Numbers of Files.
+                                                            (line  1191)
+* global attributes <1>:                 History Attribute. (line  5212)
+* global attributes <2>:                 File List Attributes.
+                                                            (line  5240)
+* global attributes <3>:                 ARM Conventions.   (line  5415)
+* global attributes <4>:                 ncatted netCDF Attribute Editor.
+                                                            (line  8169)
+* global attributes <5>:                 ncatted netCDF Attribute Editor.
+                                                            (line  8336)
+* global attributes <6>:                 ncks netCDF Kitchen Sink.
+                                                            (line  9162)
+* global attributes <7>:                 ncks netCDF Kitchen Sink.
+                                                            (line  9196)
+* global attributes <8>:                 Filters for 'ncks'.
+                                                            (line  9658)
+* global attributes <9>:                 ncrename netCDF Renamer.
+                                                            (line 10356)
+* global attributes <10>:                ncrename netCDF Renamer.
+                                                            (line 10436)
+* globbing:                              Large Numbers of Files.
+                                                            (line  1199)
+* globbing <1>:                          Specifying Input Files.
+                                                            (line  1632)
+* globbing <2>:                          Subsetting Files.  (line  2533)
+* globbing <3>:                          Examples ncap2.    (line  7823)
+* globbing <4>:                          ncbo netCDF Binary Operator.
+                                                            (line  8440)
+* globbing <5>:                          ncra netCDF Record Averager.
+                                                            (line 10188)
+* globbing <6>:                          ncrcat netCDF Record Concatenator.
+                                                            (line 10266)
+* GNU:                                   Command Line Options.
+                                                            (line  1560)
+* GNU <1>:                               Subsetting Files.  (line  2458)
+* 'gnu-win32':                           Windows Operating System.
+                                                            (line   498)
+* GNU/Linux:                             Large Datasets.    (line  1283)
+* 'GNUmakefile':                         Windows Operating System.
+                                                            (line   498)
+* God:                                   UDUnits Support.   (line  3778)
+* 'grep -E':                             Subsetting Files.  (line  2458)
+* group aggregation:                     ncecat netCDF Ensemble Concatenator.
+                                                            (line  8866)
+* group aggregation <1>:                 Combine Files.     (line 11076)
+* group names:                           ncrename netCDF Renamer.
+                                                            (line 10301)
+* group path:                            Group Path Editing.
+                                                            (line  2602)
+* group, aggregation:                    Annual Average over Regions.
+                                                            (line 11532)
+* group, anomaly:                        Annual Average over Regions.
+                                                            (line 11532)
+* group, dimension permutation:          Annual Average over Regions.
+                                                            (line 11532)
+* group, spatial averaging:              Annual Average over Regions.
+                                                            (line 11532)
+* group, standard deviation:             Annual Average over Regions.
+                                                            (line 11532)
+* group, temporal averaging:             Annual Average over Regions.
+                                                            (line 11532)
+* groups:                                netCDF2/3/4 and HDF4/5 Support.
+                                                            (line   654)
+* groups <1>:                            ncatted netCDF Attribute Editor.
+                                                            (line  8360)
+* groups, averaging:                     Global Distribution of Long-term Average.
+                                                            (line 11283)
+* groups, creating:                      Combine Files.     (line 11076)
+* groups, moving:                        Group Path Editing.
+                                                            (line  2709)
+* groups, renaming:                      Group Path Editing.
+                                                            (line  2709)
+* growing dimensions:                    Examples ncap2.    (line  7768)
+* GSL:                                   Compatability.     (line   446)
+* GSL <1>:                               GSL special functions.
+                                                            (line  7000)
+* GSL <2>:                               GSL interpolation. (line  7392)
+* GSL_SF_BESSEL_JN:                      GSL special functions.
+                                                            (line  7029)
+* GSL_SF_GAMMA:                          GSL special functions.
+                                                            (line  7015)
+* gsl_sf_legendre_Pl:                    GSL special functions.
+                                                            (line  7084)
+* 'gw':                                  CF Conventions.    (line  5271)
+* 'gw' <1>:                              Normalization and Integration.
+                                                            (line 10659)
+* Harry Mangalam:                        Contributors.      (line 10777)
+* hash:                                  MD5 digests.       (line  4225)
+* HDF:                                   netCDF2/3/4 and HDF4/5 Support.
+                                                            (line   597)
+* HDF <1>:                               File Formats and Conversion.
+                                                            (line  2034)
+* HDF <2>:                               ncks netCDF Kitchen Sink.
+                                                            (line  9288)
+* HDF <3>:                               Proposals for Institutional Funding.
+                                                            (line 10836)
+* HDF unpacking:                         Packed data.       (line  4482)
+* HDF4:                                  netCDF2/3/4 and HDF4/5 Support.
+                                                            (line   674)
+* HDF4 <1>:                              ncks netCDF Kitchen Sink.
+                                                            (line  9288)
+* HDF5:                                  netCDF2/3/4 and HDF4/5 Support.
+                                                            (line   611)
+* HDF5 <1>:                              netCDF2/3/4 and HDF4/5 Support.
+                                                            (line   667)
+* 'hdp':                                 ncks netCDF Kitchen Sink.
+                                                            (line  9288)
+* help:                                  Help Requests and Bug Reports.
+                                                            (line   779)
+* Henry Butowsky:                        Contributors.      (line 10766)
+* 'hgh_byt':                             ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9879)
+* 'hgh_sht':                             ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9879)
+* hidden attributes:                     ncks netCDF Kitchen Sink.
+                                                            (line  9276)
+* Hierarchical Data Format:              netCDF2/3/4 and HDF4/5 Support.
+                                                            (line   597)
+* 'history':                             Large Numbers of Files.
+                                                            (line  1243)
+* 'history' <1>:                         Remote storage.    (line  1767)
+* 'history' <2>:                         History Attribute. (line  5212)
+* 'history' <3>:                         ARM Conventions.   (line  5415)
+* 'history' <4>:                         ncatted netCDF Attribute Editor.
+                                                            (line  8122)
+* 'history' <5>:                         Filters for 'ncks'.
+                                                            (line  9650)
+* 'hncgen':                              ncks netCDF Kitchen Sink.
+                                                            (line  9288)
+* HP:                                    Compatability.     (line   384)
+* HPSS:                                  Remote storage.    (line  1805)
+* 'hsi':                                 Remote storage.    (line  1805)
+* HTML:                                  Availability.      (line   310)
+* HTTP protocol:                         OPeNDAP.           (line  1879)
+* 'hyai':                                CF Conventions.    (line  5271)
+* 'hyam':                                CF Conventions.    (line  5271)
+* 'hybi':                                CF Conventions.    (line  5271)
+* 'hybm':                                CF Conventions.    (line  5271)
+* hybrid coordinate system:              Left hand casting. (line  5771)
+* hyperbolic arccosine function:         Intrinsic mathematical methods.
+                                                            (line  7871)
+* hyperbolic arcsine function:           Intrinsic mathematical methods.
+                                                            (line  7871)
+* hyperbolic arctangent function:        Intrinsic mathematical methods.
+                                                            (line  7871)
+* hyperbolic cosine function:            Intrinsic mathematical methods.
+                                                            (line  7871)
+* hyperbolic sine function:              Intrinsic mathematical methods.
+                                                            (line  7871)
+* hyperbolic tangent:                    Intrinsic mathematical methods.
+                                                            (line  7871)
+* hyperslab:                             Hyperslabs.        (line  3038)
+* hyperslab <1>:                         Chunking.          (line  4015)
+* hyperslab <2>:                         nces netCDF Ensemble Statistics.
+                                                            (line  8693)
+* hyperslab <3>:                         ncecat netCDF Ensemble Concatenator.
+                                                            (line  8852)
+* hyperslab <4>:                         ncra netCDF Record Averager.
+                                                            (line 10172)
+* hyperslab <5>:                         ncrcat netCDF Record Concatenator.
+                                                            (line 10242)
+* hyperslab <6>:                         ncwa netCDF Weighted Averager.
+                                                            (line 10505)
+* hyperslabs:                            Arrays and hyperslabs.
+                                                            (line  5844)
+* I/O:                                   OPeNDAP.           (line  1951)
+* I/O <1>:                               C and Fortran Index Conventions.
+                                                            (line  3005)
+* I/O <2>:                               Multislabs.        (line  3380)
+* I/O block size:                        Buffer sizes.      (line  4295)
+* I18N:                                  Internationalization.
+                                                            (line  1466)
+* IBM:                                   Compatability.     (line   384)
+* 'icc':                                 Compatability.     (line   402)
+* ID Quoting:                            ID Quoting.        (line  8039)
+* IDL:                                   Philosophy.        (line   870)
+* IEEE:                                  Automatic type conversion.
+                                                            (line  4809)
+* IEEE NaN:                              ncatted netCDF Attribute Editor.
+                                                            (line  8317)
+* if():                                  if statement.      (line  6065)
+* 'ilimit':                              Large Datasets.    (line  1281)
+* implicit conversion:                   Promoting Single-precision to Double.
+                                                            (line  4839)
+* 'include':                             Include files.     (line  6527)
+* including files:                       Syntax of ncap2 statements.
+                                                            (line  5534)
+* index convention:                      C and Fortran Index Conventions.
+                                                            (line  3001)
+* indgen-equivalent:                     Arrays and hyperslabs.
+                                                            (line  5817)
+* inexact conversion:                    Intrinsic mathematical methods.
+                                                            (line  7938)
+* Info:                                  Availability.      (line   310)
+* input files:                           Large Numbers of Files.
+                                                            (line  1217)
+* input files <1>:                       Specifying Input Files.
+                                                            (line  1632)
+* input files <2>:                       Specifying Output Files.
+                                                            (line  1735)
+* input files <3>:                       Specifying Output Files.
+                                                            (line  1752)
+* INPUT-PATH:                            Specifying Input Files.
+                                                            (line  1632)
+* INPUT-PATH <1>:                        Remote storage.    (line  1828)
+* installation:                          Compatability.     (line   384)
+* installation <1>:                      Help Requests and Bug Reports.
+                                                            (line   842)
+* int():                                 Methods and functions.
+                                                            (line  6360)
+* int64():                               Methods and functions.
+                                                            (line  6375)
+* integration:                           Normalization and Integration.
+                                                            (line 10596)
+* integrity:                             MD5 digests.       (line  4225)
+* Intel:                                 Compatability.     (line   384)
+* Internationalization:                  Internationalization.
+                                                            (line  1466)
+* interoperability:                      Packed data.       (line  4482)
+* interpolation:                         ncflint netCDF File Interpolator.
+                                                            (line  8974)
+* interpolation <1>:                     Regrid MODIS Data. (line 11762)
+* intersection:                          Subsetting Files.  (line  2315)
+* intersection <1>:                      Subsetting Files.  (line  2406)
+* introduction:                          Introduction.      (line   299)
+* introduction <1>:                      How to Use This guide.
+                                                            (line   350)
+* 'invert_map':                          Sort methods.      (line  6542)
+* IPCC:                                  nces netCDF Ensemble Statistics.
+                                                            (line  8698)
+* IPCC <1>:                              Proposals for Institutional Funding.
+                                                            (line 10829)
+* irregular grids:                       Irregular grids.   (line  6787)
+* ISO:                                   Compatability.     (line   407)
+* James Gallagher:                       Contributors.      (line 10751)
+* Jim Edwards:                           Contributors.      (line 10791)
+* John Caron:                            Contributors.      (line 10751)
+* Juliana Rew:                           Contributors.      (line 10793)
+* Karen Schuchardt:                      Contributors.      (line 10795)
+* Keith Lindsay:                         Contributors.      (line 10801)
+* kitchen sink:                          ncks netCDF Kitchen Sink.
+                                                            (line  9127)
+* Kyle Wilcox:                           Contributors.      (line 10815)
+* L10N:                                  Internationalization.
+                                                            (line  1467)
+* large datasets:                        Large Datasets.    (line  1260)
+* large datasets <1>:                    OpenMP Threading.  (line  1521)
+* Large File Support:                    Large Datasets.    (line  1260)
+* Large File Support <1>:                Large File Support.
+                                                            (line  2281)
+* 'lat_bnds':                            CF Conventions.    (line  5271)
+* 'LD_LIBRARY_PATH':                     Libraries.         (line   560)
+* left hand casting:                     Memory for ncap2.  (line  1393)
+* left hand casting <1>:                 Left hand casting. (line  5771)
+* Legendre polynomial:                   GSL special functions.
+                                                            (line  7084)
+* Lempel-Ziv deflation:                  Deflation.         (line  4188)
+* Len Makin:                             Contributors.      (line 10789)
+* lexer:                                 ncap2 netCDF Arithmetic Processor.
+                                                            (line  5454)
+* 'lfp':                                 Chunking.          (line  4075)
+* LFS:                                   Large Datasets.    (line  1260)
+* LFS <1>:                               Large File Support.
+                                                            (line  2281)
+* LHS:                                   Left hand casting. (line  5771)
+* 'libnco':                              Compatability.     (line   407)
+* libraries:                             Libraries.         (line   560)
+* linkers:                               Specifying Output Files.
+                                                            (line  1757)
+* Linux:                                 Intrinsic mathematical methods.
+                                                            (line  7976)
+* LLVM:                                  Compatability.     (line   405)
+* LN:                                    Intrinsic mathematical methods.
+                                                            (line  7871)
+* 'ln -s':                               ncbo netCDF Binary Operator.
+                                                            (line  8454)
+* 'ln -s' <1>:                           ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9867)
+* LOG:                                   Intrinsic mathematical methods.
+                                                            (line  7871)
+* LOG10:                                 Intrinsic mathematical methods.
+                                                            (line  7871)
+* logarithm, base 10:                    Intrinsic mathematical methods.
+                                                            (line  7871)
+* logarithm, natural:                    Intrinsic mathematical methods.
+                                                            (line  7871)
+* 'long double':                         Intrinsic mathematical methods.
+                                                            (line  7974)
+* long options:                          Command Line Options.
+                                                            (line  1572)
+* long options <1>:                      ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line 10041)
+* long-term average:                     Global Distribution of Long-term Average.
+                                                            (line 11202)
+* longitude:                             Wrapped Coordinates.
+                                                            (line  3474)
+* 'lon_bnds':                            CF Conventions.    (line  5271)
+* Lori Sentman:                          Contributors.      (line 10801)
+* 'lrint()'.:                            Automatic type conversion.
+                                                            (line  4809)
+* 'lround()'.:                           Automatic type conversion.
+                                                            (line  4801)
+* Luk Claes:                             Contributors.      (line 10803)
+* Macintosh:                             Compatability.     (line   384)
+* 'Makefile':                            Compatability.     (line   412)
+* 'Makefile' <1>:                        Windows Operating System.
+                                                            (line   498)
+* 'Makefile' <2>:                        OPeNDAP.           (line  1891)
+* malloc():                              Memory for ncap2.  (line  1402)
+* mantissa:                              Promoting Single-precision to Double.
+                                                            (line  5068)
+* manual type conversion:                Type Conversion.   (line  4703)
+* 'map_dmn':                             Chunking.          (line  4075)
+* 'map_lfp':                             Chunking.          (line  4075)
+* 'map_prd':                             Chunking.          (line  4075)
+* 'map_rd1':                             Chunking.          (line  4075)
+* 'map_scl':                             Chunking.          (line  4075)
+* 'map_xst':                             Chunking.          (line  4075)
+* Mark Flanner:                          Contributors.      (line 10801)
+* Markus Liebig:                         Contributors.      (line 10801)
+* Martin Dix:                            Contributors.      (line 10801)
+* Martin Otte:                           Contributors.      (line 10819)
+* Martin Schmidt:                        Contributors.      (line 10801)
+* Martin Schultz:                        Group Path Editing.
+                                                            (line  2842)
+* mask:                                  Irregular grids.   (line  6787)
+* mask <1>:                              Examples ncap2.    (line  7791)
+* mask condition:                        Mask condition.    (line 10567)
+* mask condition <1>:                    Normalization and Integration.
+                                                            (line 10698)
+* masked average:                        ncwa netCDF Weighted Averager.
+                                                            (line 10473)
+* Mass Store System:                     Remote storage.    (line  1767)
+* Matej Vela:                            Contributors.      (line 10803)
+* mathematical functions:                Intrinsic mathematical methods.
+                                                            (line  7871)
+* Matlab:                                Philosophy.        (line   870)
+* 'max':                                 Operation Types.   (line  4550)
+* max():                                 Methods and functions.
+                                                            (line  6268)
+* maximum:                               Operation Types.   (line  4550)
+* MD5 digest:                            MD5 digests.       (line  4225)
+* mean:                                  Operation Types.   (line  4550)
+* memory available:                      Memory Requirements.
+                                                            (line  1304)
+* memory available <1>:                  RAM disks.         (line  4326)
+* memory leaks:                          Memory for ncap2.  (line  1393)
+* memory requirements:                   Memory Requirements.
+                                                            (line  1304)
+* memory requirements <1>:               Subsetting Files.  (line  2439)
+* memory requirements <2>:               RAM disks.         (line  4326)
+* merging files:                         Appending Variables.
+                                                            (line   986)
+* merging files <1>:                     ncks netCDF Kitchen Sink.
+                                                            (line  9176)
+* metadata:                              ncks netCDF Kitchen Sink.
+                                                            (line  9424)
+* metadata optimization:                 Metadata Optimization.
+                                                            (line  1474)
+* metadata, global:                      ncecat netCDF Ensemble Concatenator.
+                                                            (line  8899)
+* metadata, global <1>:                  ncks netCDF Kitchen Sink.
+                                                            (line  9381)
+* Michael Decker:                        Group Path Editing.
+                                                            (line  2842)
+* Michael Prather:                       Promoting Single-precision to Double.
+                                                            (line  5177)
+* Michael Schulz:                        Contributors.      (line 10801)
+* Microsoft:                             Compatability.     (line   384)
+* Microsoft <1>:                         Windows Operating System.
+                                                            (line   483)
+* Microsoft Visual Studio:               Windows Operating System.
+                                                            (line   483)
+* Mike Folk:                             netCDF2/3/4 and HDF4/5 Support.
+                                                            (line   597)
+* Mike Page:                             Contributors.      (line 10801)
+* 'min':                                 Operation Types.   (line  4550)
+* min():                                 Methods and functions.
+                                                            (line  6270)
+* minimum:                               Operation Types.   (line  4550)
+* missing values:                        Missing Values.    (line  3879)
+* missing values <1>:                    ncatted netCDF Attribute Editor.
+                                                            (line  8127)
+* missing values <2>:                    ncflint netCDF File Interpolator.
+                                                            (line  9047)
+* missing values <3>:                    ncks netCDF Kitchen Sink.
+                                                            (line  9437)
+* missing values ncap2:                  Missing values ncap2.
+                                                            (line  6161)
+* 'missing_value':                       Missing Values.    (line  3879)
+* 'missing_value' <1>:                   Packed data.       (line  4413)
+* 'missing_value' <2>:                   ncrename netCDF Renamer.
+                                                            (line 10436)
+* MKS units:                             UDUnits Support.   (line  3648)
+* MKS units <1>:                         UDUnits Support.   (line  3778)
+* MODIS:                                 Regrid MODIS Data. (line 11762)
+* MODIS <1>:                             Add Coordinates to MODIS Data.
+                                                            (line 11900)
+* modulus:                               Intrinsic mathematical methods.
+                                                            (line  7868)
+* monotonic coordinates:                 Performance.       (line  1435)
+* monthly average:                       Daily data in one file.
+                                                            (line 10859)
+* monthly average <1>:                   Monthly Cycle.     (line 11598)
+* monthly data:                          Monthly data in one file.
+                                                            (line 10890)
+* monthly data <1>:                      One time point one file.
+                                                            (line 10922)
+* monthly data <2>:                      Multiple files with multiple time points.
+                                                            (line 10940)
+* move groups:                           Group Path Editing.
+                                                            (line  2709)
+* MRO:                                   Subcycle.          (line  3254)
+* MSA:                                   Multislabs.        (line  3330)
+* 'msk_*':                               CF Conventions.    (line  5271)
+* 'msrcp':                               Remote storage.    (line  1805)
+* msrcp:                                 Retaining Retrieved Files.
+                                                            (line  2011)
+* 'msread':                              Remote storage.    (line  1805)
+* MSS:                                   Remote storage.    (line  1767)
+* multi-file operators:                  Single and Multi-file Operators.
+                                                            (line  1322)
+* multi-file operators <1>:              Specifying Input Files.
+                                                            (line  1666)
+* multi-file operators <2>:              Specifying Output Files.
+                                                            (line  1747)
+* multi-file operators <3>:              nces netCDF Ensemble Statistics.
+                                                            (line  8728)
+* multi-file operators <4>:              ncecat netCDF Ensemble Concatenator.
+                                                            (line  8894)
+* multi-file operators <5>:              ncra netCDF Record Averager.
+                                                            (line 10165)
+* multi-file operators <6>:              ncrcat netCDF Record Concatenator.
+                                                            (line 10235)
+* multi-hyperslab:                       Multislabs.        (line  3330)
+* Multi-Record Operator:                 Subcycle.          (line  3254)
+* multiplication:                        Intrinsic mathematical methods.
+                                                            (line  7868)
+* multiplication <1>:                    ncbo netCDF Binary Operator.
+                                                            (line  8392)
+* multiplication <2>:                    ncflint netCDF File Interpolator.
+                                                            (line  9101)
+* 'multiply':                            ncbo netCDF Binary Operator.
+                                                            (line  8410)
+* multiplying data:                      ncbo netCDF Binary Operator.
+                                                            (line  8392)
+* multiplying data <1>:                  ncflint netCDF File Interpolator.
+                                                            (line  8974)
+* multislab:                             Multislabs.        (line  3330)
+* 'mv':                                  Subsetting Files.  (line  2357)
+* 'MVS':                                 Compatability.     (line   402)
+* MVS:                                   Windows Operating System.
+                                                            (line   483)
+* naked characters:                      ncbo netCDF Binary Operator.
+                                                            (line  8439)
+* NaN:                                   ncatted netCDF Attribute Editor.
+                                                            (line  8317)
+* NASA:                                  Proposals for Institutional Funding.
+                                                            (line 10836)
+* NASA EOSDIS:                           Large Numbers of Files.
+                                                            (line  1164)
+* National Virtual Ocean Data System:    OPeNDAP.           (line  1961)
+* ncadd:                                 ncbo netCDF Binary Operator.
+                                                            (line  8392)
+* ncap:                                  ncap2 netCDF Arithmetic Processor.
+                                                            (line  5454)
+* ncap2:                                 Compatability.     (line   446)
+* ncap2 <1>:                             ncap2 netCDF Arithmetic Processor.
+                                                            (line  5454)
+* 'ncap2':                               Memory for ncap2.  (line  1393)
+* 'ncap2' <1>:                           OpenMP Threading.  (line  1521)
+* 'ncap2' <2>:                           Manual type conversion.
+                                                            (line  5182)
+* 'ncap2' <3>:                           ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9799)
+* NCAR:                                  Climate Model Paradigm.
+                                                            (line   887)
+* NCAR MSS:                              Remote storage.    (line  1767)
+* ncatted:                               Missing Values.    (line  3906)
+* ncatted <1>:                           ncatted netCDF Attribute Editor.
+                                                            (line  8104)
+* 'ncatted':                             Subsetting Files.  (line  2458)
+* 'ncatted' <1>:                         Missing Values.    (line  3931)
+* 'ncatted' <2>:                         History Attribute. (line  5230)
+* 'ncattget':                            ncatted netCDF Attribute Editor.
+                                                            (line  8111)
+* 'ncattget' <1>:                        Filters for 'ncks'.
+                                                            (line  9557)
+* 'ncavg':                               Filters for 'ncks'.
+                                                            (line  9557)
+* ncbo:                                  ncbo netCDF Binary Operator.
+                                                            (line  8392)
+* 'ncbo':                                Missing Values.    (line  3954)
+* ncdiff:                                ncbo netCDF Binary Operator.
+                                                            (line  8392)
+* ncdismember:                           Group Path Editing.
+                                                            (line  2743)
+* ncdismember <1>:                       Group Path Editing.
+                                                            (line  2842)
+* ncdivide:                              ncbo netCDF Binary Operator.
+                                                            (line  8392)
+* 'ncdmnsz':                             Filters for 'ncks'.
+                                                            (line  9557)
+* 'ncdump':                              Determining File Format.
+                                                            (line  2150)
+* 'ncdump' <1>:                          ncks netCDF Kitchen Sink.
+                                                            (line  9288)
+* 'ncdump' <2>:                          ncks netCDF Kitchen Sink.
+                                                            (line  9424)
+* 'ncdump' <3>:                          ncks netCDF Kitchen Sink.
+                                                            (line  9473)
+* ncecat:                                ncecat netCDF Ensemble Concatenator.
+                                                            (line  8814)
+* 'ncecat':                              Concatenation.     (line  1073)
+* nces:                                  nces netCDF Ensemble Statistics.
+                                                            (line  8659)
+* 'nces':                                Averaging.         (line  1131)
+* 'nces' <1>:                            Missing Values.    (line  3954)
+* 'ncextr':                              ncks netCDF Kitchen Sink.
+                                                            (line  9140)
+* ncflint:                               ncflint netCDF File Interpolator.
+                                                            (line  8974)
+* 'ncflint':                             Interpolating.     (line  1153)
+* 'ncflint' <1>:                         Missing Values.    (line  3954)
+* 'ncgen':                               ncks netCDF Kitchen Sink.
+                                                            (line  9288)
+* 'ncgen-hdf':                           ncks netCDF Kitchen Sink.
+                                                            (line  9288)
+* ncks:                                  Deflation.         (line  4219)
+* ncks <1>:                              Examples ncap2.    (line  7846)
+* ncks <2>:                              ncks netCDF Kitchen Sink.
+                                                            (line  9127)
+* 'ncks':                                Determining File Format.
+                                                            (line  2119)
+* NCL:                                   Philosophy.        (line   870)
+* NCL <1>:                               ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9995)
+* 'nclist':                              Filters for 'ncks'.
+                                                            (line  9557)
+* 'ncl_convert2nc':                      ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9995)
+* 'ncmax':                               Filters for 'ncks'.
+                                                            (line  9557)
+* 'ncmdn':                               Filters for 'ncks'.
+                                                            (line  9557)
+* 'ncmin':                               Filters for 'ncks'.
+                                                            (line  9557)
+* NcML:                                  ncks netCDF Kitchen Sink.
+                                                            (line  9473)
+* ncmult:                                ncbo netCDF Binary Operator.
+                                                            (line  8392)
+* ncmultiply:                            ncbo netCDF Binary Operator.
+                                                            (line  8392)
+* NCO availability:                      Availability.      (line   302)
+* NCO homepage:                          Availability.      (line   326)
+* nco script file:                       Annual Average over Regions.
+                                                            (line 11307)
+* 'NCO User Guide':                      Availability.      (line   310)
+* 'nco.config.log.${GNU_TRP}.foo':       Help Requests and Bug Reports.
+                                                            (line   842)
+* 'nco.configure.${GNU_TRP}.foo':        Help Requests and Bug Reports.
+                                                            (line   842)
+* 'nco.make.${GNU_TRP}.foo':             Help Requests and Bug Reports.
+                                                            (line   842)
+* 'nco_input_file_list':                 Large Numbers of Files.
+                                                            (line  1191)
+* 'nco_input_file_list' <1>:             File List Attributes.
+                                                            (line  5240)
+* 'nco_input_file_number':               Large Numbers of Files.
+                                                            (line  1191)
+* 'nco_input_file_number' <1>:           File List Attributes.
+                                                            (line  5240)
+* 'nco_openmp_thread_number':            OpenMP Threading.  (line  1495)
+* ncpack:                                ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9781)
+* ncpdq:                                 Chunking.          (line  4015)
+* ncpdq <1>:                             ncecat netCDF Ensemble Concatenator.
+                                                            (line  8921)
+* ncpdq <2>:                             ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9781)
+* ncpdq <3>:                             ncrcat netCDF Record Concatenator.
+                                                            (line 10247)
+* 'ncpdq':                               Concatenation.     (line  1106)
+* 'ncpdq' <1>:                           OpenMP Threading.  (line  1521)
+* ncra:                                  Examples ncap2.    (line  7846)
+* ncra <1>:                              ncra netCDF Record Averager.
+                                                            (line 10148)
+* 'ncra':                                Averaging.         (line  1131)
+* 'ncra' <1>:                            Missing Values.    (line  3954)
+* ncrcat:                                ncrcat netCDF Record Concatenator.
+                                                            (line 10219)
+* 'ncrcat':                              Concatenation.     (line  1073)
+* 'ncrcat' <1>:                          OpenMP Threading.  (line  1521)
+* 'ncrecsz':                             Filters for 'ncks'.
+                                                            (line  9557)
+* ncrename:                              Missing Values.    (line  3906)
+* ncrename <1>:                          ncrename netCDF Renamer.
+                                                            (line 10301)
+* 'ncrng':                               Filters for 'ncks'.
+                                                            (line  9557)
+* NCSA:                                  netCDF2/3/4 and HDF4/5 Support.
+                                                            (line   611)
+* ncsub:                                 ncbo netCDF Binary Operator.
+                                                            (line  8392)
+* ncsubtract:                            ncbo netCDF Binary Operator.
+                                                            (line  8392)
+* 'ncunits':                             Filters for 'ncks'.
+                                                            (line  9557)
+* ncunpack:                              ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9781)
+* ncwa:                                  Examples ncap2.    (line  7846)
+* ncwa <1>:                              ncwa netCDF Weighted Averager.
+                                                            (line 10473)
+* 'ncwa':                                Averaging.         (line  1131)
+* 'ncwa' <1>:                            OpenMP Threading.  (line  1521)
+* 'ncwa' <2>:                            Missing Values.    (line  3954)
+* 'NC_BYTE':                             ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9879)
+* 'NC_CHAR':                             Hyperslabs.        (line  3109)
+* 'NC_CHAR' <1>:                         ncbo netCDF Binary Operator.
+                                                            (line  8513)
+* 'NC_CHAR' <2>:                         ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9879)
+* 'NC_DISKLESS':                         RAM disks.         (line  4326)
+* 'NC_DOUBLE':                           Intrinsic mathematical methods.
+                                                            (line  7974)
+* 'NC_DOUBLE' <1>:                       ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9879)
+* 'NC_FLOAT':                            ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9879)
+* 'NC_FORMAT_DAP2':                      Determining File Format.
+                                                            (line  2128)
+* 'NC_FORMAT_DAP4':                      Determining File Format.
+                                                            (line  2128)
+* 'NC_FORMAT_NC3':                       Determining File Format.
+                                                            (line  2128)
+* 'NC_FORMAT_NC_HDF4':                   Determining File Format.
+                                                            (line  2128)
+* 'NC_FORMAT_NC_HDF5':                   Determining File Format.
+                                                            (line  2128)
+* 'NC_FORMAT_PNETCDF':                   Determining File Format.
+                                                            (line  2128)
+* 'NC_INT':                              ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9879)
+* 'NC_INT64':                            netCDF2/3/4 and HDF4/5 Support.
+                                                            (line   636)
+* 'NC_INT64' <1>:                        ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9879)
+* 'NC_SHORT':                            ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9879)
+* 'NC_UBYTE':                            netCDF2/3/4 and HDF4/5 Support.
+                                                            (line   636)
+* 'NC_UBYTE' <1>:                        ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9879)
+* 'NC_UINT':                             netCDF2/3/4 and HDF4/5 Support.
+                                                            (line   636)
+* 'NC_UINT' <1>:                         ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9879)
+* 'NC_UINT64':                           netCDF2/3/4 and HDF4/5 Support.
+                                                            (line   636)
+* 'NC_UINT64' <1>:                       ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9879)
+* 'NC_USHORT':                           netCDF2/3/4 and HDF4/5 Support.
+                                                            (line   636)
+* 'NC_USHORT' <1>:                       ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9879)
+* 'nc__enddef()':                        Metadata Optimization.
+                                                            (line  1474)
+* ndims():                               Methods and functions.
+                                                            (line  6304)
+* NEARBYINT:                             Intrinsic mathematical methods.
+                                                            (line  7871)
+* nearest integer function (exact):      Intrinsic mathematical methods.
+                                                            (line  7871)
+* nearest integer function (inexact):    Intrinsic mathematical methods.
+                                                            (line  7871)
+* NEC:                                   Compatability.     (line   384)
+* Neil Davis:                            Automatic type conversion.
+                                                            (line  4795)
+* nesting:                               Syntax of ncap2 statements.
+                                                            (line  5534)
+* netCDF:                                Availability.      (line   330)
+* netCDF2:                               netCDF2/3/4 and HDF4/5 Support.
+                                                            (line   585)
+* netCDF2 <1>:                           File Formats and Conversion.
+                                                            (line  2034)
+* 'NETCDF2_ONLY':                        netCDF2/3/4 and HDF4/5 Support.
+                                                            (line   606)
+* netCDF3:                               netCDF2/3/4 and HDF4/5 Support.
+                                                            (line   585)
+* netCDF3 <1>:                           File Formats and Conversion.
+                                                            (line  2034)
+* netCDF3 classic file format:           Determining File Format.
+                                                            (line  2119)
+* netCDF4:                               netCDF2/3/4 and HDF4/5 Support.
+                                                            (line   611)
+* netCDF4 <1>:                           File Formats and Conversion.
+                                                            (line  2034)
+* netCDF4 <2>:                           Multiple Record Dimensions.
+                                                            (line  3841)
+* netCDF4 classic file format:           Determining File Format.
+                                                            (line  2119)
+* netCDF4 file format:                   Determining File Format.
+                                                            (line  2119)
+* 'NETCDF4' files:                       File Formats and Conversion.
+                                                            (line  2034)
+* 'NETCDF4_CLASSIC' files:               File Formats and Conversion.
+                                                            (line  2034)
+* 'NETCDF4_ROOT':                        netCDF2/3/4 and HDF4/5 Support.
+                                                            (line   729)
+* Nick Bower:                            Contributors.      (line 10803)
+* 'NINTAP':                              Specifying Input Files.
+                                                            (line  1632)
+* 'NINTAP' <1>:                          ncra netCDF Record Averager.
+                                                            (line 10188)
+* 'NINTAP' <2>:                          ncrcat netCDF Record Concatenator.
+                                                            (line 10266)
+* non-coordinate grid properties:        CF Conventions.    (line  5302)
+* non-rectangular grids:                 Irregular grids.   (line  6787)
+* non-standard grids:                    Irregular grids.   (line  6787)
+* normalization:                         Normalization and Integration.
+                                                            (line 10596)
+* Not-a-Number:                          ncatted netCDF Attribute Editor.
+                                                            (line  8317)
+* 'NO_NETCDF_2':                         netCDF2/3/4 and HDF4/5 Support.
+                                                            (line   595)
+* NRA:                                   Proposals for Institutional Funding.
+                                                            (line 10836)
+* 'nrnet':                               Remote storage.    (line  1805)
+* NSF:                                   Proposals for Institutional Funding.
+                                                            (line 10829)
+* NSF <1>:                               Proposals for Institutional Funding.
+                                                            (line 10829)
+* NT (Microsoft operating system):       Windows Operating System.
+                                                            (line   483)
+* NUL:                                   ncatted netCDF Attribute Editor.
+                                                            (line  8295)
+* 'NUL':                                 ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9917)
+* NUL-termination:                       ncatted netCDF Attribute Editor.
+                                                            (line  8295)
+* null operation:                        ncflint netCDF File Interpolator.
+                                                            (line  9098)
+* number literals 'ncap2':               Number literals.   (line  6015)
+* 'number_miss()':                       Missing values ncap2.
+                                                            (line  6211)
+* 'numerator':                           Normalization and Integration.
+                                                            (line 10596)
+* NVODS:                                 OPeNDAP.           (line  1961)
+* 'nxt_lsr':                             ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9879)
+* oceanography:                          OPeNDAP.           (line  1879)
+* octal dump:                            Determining File Format.
+                                                            (line  2162)
+* 'od':                                  Determining File Format.
+                                                            (line  2162)
+* 'OMP_NUM_THREADS':                     OpenMP Threading.  (line  1521)
+* on-line documentation:                 Availability.      (line   310)
+* open source:                           Foreword.          (line   222)
+* open source <1>:                       OPeNDAP.           (line  1961)
+* Open-source Project for a Network Data Access Protocol: OPeNDAP.
+                                                            (line  1879)
+* OPeNDAP.:                              OPeNDAP.           (line  1879)
+* OpenMP:                                Memory Requirements.
+                                                            (line  1311)
+* OpenMP <1>:                            Single and Multi-file Operators.
+                                                            (line  1386)
+* OpenMP <2>:                            OpenMP Threading.  (line  1495)
+* operation types:                       Operation Types.   (line  4550)
+* operation types <1>:                   ncra netCDF Record Averager.
+                                                            (line 10181)
+* operation types <2>:                   ncwa netCDF Weighted Averager.
+                                                            (line 10549)
+* operator speed:                        Libraries.         (line   561)
+* operator speed <1>:                    Temporary Output Files.
+                                                            (line   913)
+* operator speed <2>:                    Performance.       (line  1432)
+* operator speed <3>:                    Metadata Optimization.
+                                                            (line  1474)
+* operator speed <4>:                    Missing Values.    (line  3938)
+* operator speed <5>:                    ncrename netCDF Renamer.
+                                                            (line 10347)
+* operators:                             Summary.           (line   285)
+* OptIPuter:                             Proposals for Institutional Funding.
+                                                            (line 10829)
+* Orion Powlawski:                       Contributors.      (line 10805)
+* 'ORO':                                 CF Conventions.    (line  5271)
+* 'ORO' <1>:                             Normalization and Integration.
+                                                            (line 10670)
+* OS:                                    Compatability.     (line   384)
+* output file:                           Large Numbers of Files.
+                                                            (line  1217)
+* output file <1>:                       Specifying Output Files.
+                                                            (line  1735)
+* OUTPUT-PATH:                           Remote storage.    (line  1828)
+* overview:                              Performance.       (line  1417)
+* overwriting files:                     Temporary Output Files.
+                                                            (line   961)
+* overwriting files <1>:                 Batch Mode.        (line  5192)
+* pack():                                Methods and functions.
+                                                            (line  6286)
+* 'pack(x)':                             Packed data.       (line  4413)
+* packing:                               OPeNDAP.           (line  1943)
+* packing <1>:                           Chunking.          (line  4015)
+* packing <2>:                           Packed data.       (line  4413)
+* packing <3>:                           ncecat netCDF Ensemble Concatenator.
+                                                            (line  8921)
+* packing <4>:                           ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9781)
+* packing <5>:                           ncrcat netCDF Record Concatenator.
+                                                            (line 10247)
+* packing map:                           ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9873)
+* packing policy:                        ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9798)
+* pack_byte():                           Methods and functions.
+                                                            (line  6289)
+* pack_int():                            Methods and functions.
+                                                            (line  6293)
+* pack_short():                          Methods and functions.
+                                                            (line  6291)
+* papers:                                Performance.       (line  1417)
+* 'parallel':                            Parallel.          (line 11994)
+* parallelism:                           OpenMP Threading.  (line  1495)
+* parallelism <1>:                       Proposals for Institutional Funding.
+                                                            (line 10831)
+* parser:                                ncap2 netCDF Arithmetic Processor.
+                                                            (line  5454)
+* pasting variables:                     Appending Variables.
+                                                            (line   986)
+* 'pathcc':                              Compatability.     (line   402)
+* 'pathCC':                              Compatability.     (line   402)
+* PathScale:                             Compatability.     (line   384)
+* Patrice Dumas:                         Contributors.      (line 10805)
+* Patrick Kursawe:                       Contributors.      (line 10807)
+* pattern matching:                      Large Numbers of Files.
+                                                            (line  1199)
+* pattern matching <1>:                  Subsetting Files.  (line  2458)
+* pattern matching <2>:                  ncatted netCDF Attribute Editor.
+                                                            (line  8147)
+* pattern matching <3>:                  ncatted netCDF Attribute Editor.
+                                                            (line  8354)
+* PayPal:                                Contributing.      (line 10732)
+* PCK_MAP:                               ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9873)
+* PCK_PLC:                               ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9806)
+* peak memory usage:                     Memory Requirements.
+                                                            (line  1304)
+* peak memory usage <1>:                 RAM disks.         (line  4326)
+* Pedro Vicente:                         Contributors.      (line 10779)
+* performance:                           Libraries.         (line   561)
+* performance <1>:                       Temporary Output Files.
+                                                            (line   913)
+* performance <2>:                       Performance.       (line  1423)
+* performance <3>:                       Performance.       (line  1432)
+* performance <4>:                       Metadata Optimization.
+                                                            (line  1474)
+* performance <5>:                       Missing Values.    (line  3938)
+* performance <6>:                       ncrename netCDF Renamer.
+                                                            (line 10347)
+* Perl:                                  Philosophy.        (line   870)
+* Perl <1>:                              Large Numbers of Files.
+                                                            (line  1230)
+* Perl <2>:                              ncatted netCDF Attribute Editor.
+                                                            (line  8269)
+* permute dimensions:                    ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9781)
+* permute():                             Arrays and hyperslabs.
+                                                            (line  5936)
+* Peter Campbell:                        Contributors.      (line 10801)
+* 'pgcc':                                Compatability.     (line   402)
+* 'pgCC':                                Compatability.     (line   402)
+* PGI:                                   Compatability.     (line   384)
+* philosophy:                            Philosophy.        (line   861)
+* pipes:                                 Large Numbers of Files.
+                                                            (line  1212)
+* 'plc_all':                             Chunking.          (line  4025)
+* 'plc_g2d':                             Chunking.          (line  4025)
+* 'plc_g3d':                             Chunking.          (line  4025)
+* 'plc_xpl':                             Chunking.          (line  4025)
+* 'plc_xst':                             Chunking.          (line  4025)
+* portability:                           Compatability.     (line   384)
+* positional arguments:                  Specifying Output Files.
+                                                            (line  1735)
+* POSIX:                                 Command Line Options.
+                                                            (line  1560)
+* POSIX <1>:                             Subsetting Files.  (line  2476)
+* POW:                                   Intrinsic mathematical methods.
+                                                            (line  7871)
+* power:                                 Intrinsic mathematical methods.
+                                                            (line  7868)
+* power function:                        Intrinsic mathematical methods.
+                                                            (line  7871)
+* 'prd':                                 Chunking.          (line  4075)
+* precision:                             Intrinsic mathematical methods.
+                                                            (line  7974)
+* preprocessor tokens:                   Windows Operating System.
+                                                            (line   498)
+* presentations:                         Availability.      (line   320)
+* print() 'ncap2':                       print statement.   (line  6132)
+* 'printf':                              Compatability.     (line   415)
+* 'printf()':                            ncatted netCDF Attribute Editor.
+                                                            (line  8271)
+* 'printf()' <1>:                        ncks netCDF Kitchen Sink.
+                                                            (line  9465)
+* 'printf()' <2>:                        Filters for 'ncks'.
+                                                            (line  9685)
+* printing files contents:               ncks netCDF Kitchen Sink.
+                                                            (line  9127)
+* printing variables:                    ncks netCDF Kitchen Sink.
+                                                            (line  9127)
+* Processor:                             ncra netCDF Record Averager.
+                                                            (line 10188)
+* Processor <1>:                         ncrcat netCDF Record Concatenator.
+                                                            (line 10266)
+* Processor, CCM:                        Specifying Input Files.
+                                                            (line  1632)
+* promotion:                             Type Conversion.   (line  4703)
+* promotion <1>:                         Promoting Single-precision to Double.
+                                                            (line  4839)
+* promotion <2>:                         Intrinsic mathematical methods.
+                                                            (line  7941)
+* proposals:                             Proposals for Institutional Funding.
+                                                            (line 10829)
+* pseudonym:                             Symbolic Links.    (line   534)
+* publications:                          Availability.      (line   320)
+* QLogic:                                Compatability.     (line   384)
+* Qt:                                    Windows Operating System.
+                                                            (line   490)
+* quadruple-precision:                   Intrinsic mathematical methods.
+                                                            (line  7974)
+* Quick Start:                           Quick Start.       (line 10849)
+* quiet:                                 ncks netCDF Kitchen Sink.
+                                                            (line  9457)
+* quotes:                                Subsetting Files.  (line  2533)
+* quotes <1>:                            Examples ncap2.    (line  7823)
+* quotes <2>:                            ncbo netCDF Binary Operator.
+                                                            (line  8440)
+* quotes <3>:                            ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line 10041)
+* RAG:                                   ncecat netCDF Ensemble Concatenator.
+                                                            (line  8838)
+* RAM:                                   Memory Requirements.
+                                                            (line  1304)
+* RAM <1>:                               RAM disks.         (line  4326)
+* RAM disks:                             Temporary Output Files.
+                                                            (line   919)
+* RAM disks <1>:                         RAM disks.         (line  4326)
+* RAM files:                             Temporary Output Files.
+                                                            (line   919)
+* RAM files <1>:                         RAM disks.         (line  4326)
+* RAM variables:                         RAM disks.         (line  4366)
+* RAM variables <1>:                     Methods and functions.
+                                                            (line  6392)
+* ram_delete():                          RAM variables.     (line  6404)
+* ram_write():                           RAM variables.     (line  6404)
+* random walk:                           Promoting Single-precision to Double.
+                                                            (line  5056)
+* rank:                                  Expressions.       (line  5575)
+* rank <1>:                              ncbo netCDF Binary Operator.
+                                                            (line  8481)
+* rank <2>:                              ncbo netCDF Binary Operator.
+                                                            (line  8494)
+* rank <3>:                              ncbo netCDF Binary Operator.
+                                                            (line  8544)
+* rank <4>:                              ncwa netCDF Weighted Averager.
+                                                            (line 10514)
+* 'rcp':                                 Windows Operating System.
+                                                            (line   504)
+* 'rcp' <1>:                             Remote storage.    (line  1767)
+* RCS:                                   Operator Version.  (line  5422)
+* 'rd1':                                 Chunking.          (line  4075)
+* re-dimension:                          ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9781)
+* re-order dimensions:                   ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9781)
+* record aggregation:                    ncecat netCDF Ensemble Concatenator.
+                                                            (line  8838)
+* record append:                         Record Appending.  (line  3203)
+* record average:                        ncra netCDF Record Averager.
+                                                            (line 10148)
+* record concatenation:                  ncrcat netCDF Record Concatenator.
+                                                            (line 10219)
+* record dimension:                      Appending Variables.
+                                                            (line   989)
+* record dimension <1>:                  C and Fortran Index Conventions.
+                                                            (line  3019)
+* record dimension <2>:                  Chunking.          (line  4172)
+* record dimension <3>:                  nces netCDF Ensemble Statistics.
+                                                            (line  8693)
+* record dimension <4>:                  ncecat netCDF Ensemble Concatenator.
+                                                            (line  8848)
+* record dimension <5>:                  ncecat netCDF Ensemble Concatenator.
+                                                            (line  8852)
+* record dimension <6>:                  ncecat netCDF Ensemble Concatenator.
+                                                            (line  8958)
+* record dimension <7>:                  ncks netCDF Kitchen Sink.
+                                                            (line  9251)
+* record dimension <8>:                  ncks netCDF Kitchen Sink.
+                                                            (line  9328)
+* record dimension <9>:                  ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9945)
+* record dimension <10>:                 ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9947)
+* record dimension <11>:                 ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line 10096)
+* record dimension <12>:                 ncra netCDF Record Averager.
+                                                            (line 10148)
+* record dimension <13>:                 ncra netCDF Record Averager.
+                                                            (line 10161)
+* record dimension <14>:                 ncrcat netCDF Record Concatenator.
+                                                            (line 10232)
+* record variable:                       C and Fortran Index Conventions.
+                                                            (line  3014)
+* record variable <1>:                   ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9949)
+* rectangular grids:                     Irregular grids.   (line  6787)
+* recursion:                             Subsetting Files.  (line  2357)
+* recursive:                             Subsetting Files.  (line  2357)
+* 'regex':                               Subsetting Files.  (line  2476)
+* regression:                            Annual Average over Regions.
+                                                            (line 11307)
+* regressions archive:                   Help Requests and Bug Reports.
+                                                            (line   849)
+* regrid:                                Regrid MODIS Data. (line 11762)
+* regular expressions:                   Large Numbers of Files.
+                                                            (line  1199)
+* regular expressions <1>:               Specifying Input Files.
+                                                            (line  1632)
+* regular expressions <2>:               Subsetting Files.  (line  2458)
+* regular expressions <3>:               Examples ncap2.    (line  7823)
+* regular expressions <4>:               ncatted netCDF Attribute Editor.
+                                                            (line  8147)
+* regular expressions <5>:               ncatted netCDF Attribute Editor.
+                                                            (line  8354)
+* 'remap':                               Sort methods.      (line  6542)
+* Remik Ziemlinski:                      Contributors.      (line 10801)
+* remote files:                          Windows Operating System.
+                                                            (line   504)
+* remote files <1>:                      Remote storage.    (line  1767)
+* rename groups:                         Group Path Editing.
+                                                            (line  2709)
+* renaming attributes:                   ncrename netCDF Renamer.
+                                                            (line 10301)
+* renaming attributes <1>:               Regrid MODIS Data. (line 11762)
+* renaming dimensions:                   ncrename netCDF Renamer.
+                                                            (line 10301)
+* renaming dimensions <1>:               Regrid MODIS Data. (line 11762)
+* renaming groups:                       ncrename netCDF Renamer.
+                                                            (line 10301)
+* renaming variables:                    ncrename netCDF Renamer.
+                                                            (line 10301)
+* renaming variables <1>:                Annual Average over Regions.
+                                                            (line 11307)
+* renaming variables <2>:                Regrid MODIS Data. (line 11762)
+* reporting bugs:                        Help Requests and Bug Reports.
+                                                            (line   779)
+* reshape variables:                     ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9781)
+* 'restrict':                            Compatability.     (line   439)
+* reverse data:                          ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line 10071)
+* reverse dimensions:                    ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9781)
+* reverse dimensions <1>:                ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line 10028)
+* reverse dimensions <2>:                ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line 10050)
+* reverse():                             Arrays and hyperslabs.
+                                                            (line  5929)
+* 'rew':                                 Chunking.          (line  4075)
+* RINT:                                  Intrinsic mathematical methods.
+                                                            (line  7871)
+* 'rms':                                 Operation Types.   (line  4550)
+* 'rmssdn':                              Operation Types.   (line  4550)
+* rmssdn():                              Methods and functions.
+                                                            (line  6274)
+* root-mean-square:                      Operation Types.   (line  4550)
+* Rorik Peterson:                        Contributors.      (line 10772)
+* ROUND:                                 Intrinsic mathematical methods.
+                                                            (line  7871)
+* rounding:                              Promoting Single-precision to Double.
+                                                            (line  5056)
+* rounding functions:                    Intrinsic mathematical methods.
+                                                            (line  7871)
+* RPM:                                   netCDF2/3/4 and HDF4/5 Support.
+                                                            (line   724)
+* running average:                       ncra netCDF Record Averager.
+                                                            (line 10148)
+* Russ Rew:                              Contributors.      (line 10751)
+* Russ Rew <1>:                          Contributors.      (line 10781)
+* safeguards:                            Temporary Output Files.
+                                                            (line   898)
+* safeguards <1>:                        ncrename netCDF Renamer.
+                                                            (line 10332)
+* 'scale_factor':                        Packed data.       (line  4413)
+* 'scale_factor' <1>:                    ncecat netCDF Ensemble Concatenator.
+                                                            (line  8921)
+* 'scale_factor' <2>:                    ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9799)
+* 'scale_factor' <3>:                    ncrcat netCDF Record Concatenator.
+                                                            (line 10247)
+* SCALE_FORMAT:                          Performance.       (line  1440)
+* scaling:                               Performance.       (line  1423)
+* scaling <1>:                           ncflint netCDF File Interpolator.
+                                                            (line  9101)
+* Scientific Data Operators:             Proposals for Institutional Funding.
+                                                            (line 10829)
+* 'scl':                                 Chunking.          (line  4075)
+* Scott Capps:                           Contributors.      (line 10799)
+* 'scp':                                 Windows Operating System.
+                                                            (line   504)
+* 'scp' <1>:                             Remote storage.    (line  1767)
+* script file:                           ncap2 netCDF Arithmetic Processor.
+                                                            (line  5472)
+* SDO:                                   Proposals for Institutional Funding.
+                                                            (line 10829)
+* seasonal average:                      Monthly data in one file.
+                                                            (line 10893)
+* security:                              MD5 digests.       (line  4225)
+* SEIII:                                 Proposals for Institutional Funding.
+                                                            (line 10829)
+* semi-colon:                            Syntax of ncap2 statements.
+                                                            (line  5529)
+* separator:                             ncks netCDF Kitchen Sink.
+                                                            (line  9503)
+* server:                                Large Datasets.    (line  1278)
+* server <1>:                            OPeNDAP.           (line  1879)
+* server <2>:                            Retaining Retrieved Files.
+                                                            (line  2014)
+* server <3>:                            Retaining Retrieved Files.
+                                                            (line  2022)
+* Server-Side Distributed Data Reduction & Analysis: Proposals for Institutional Funding.
+                                                            (line 10829)
+* server-side processing:                OPeNDAP.           (line  1985)
+* server-side processing <1>:            Proposals for Institutional Funding.
+                                                            (line 10829)
+* 'set_miss()':                          Missing values ncap2.
+                                                            (line  6189)
+* 'sftp':                                Windows Operating System.
+                                                            (line   504)
+* 'sftp' <1>:                            Remote storage.    (line  1767)
+* SGI:                                   Compatability.     (line   384)
+* Sh shell:                              Filters for 'ncks'.
+                                                            (line  9557)
+* shared memory machines:                Memory Requirements.
+                                                            (line  1311)
+* shared memory parallelism:             OpenMP Threading.  (line  1495)
+* shell:                                 Large Numbers of Files.
+                                                            (line  1199)
+* shell <1>:                             Subsetting Files.  (line  2533)
+* shell <2>:                             UDUnits Support.   (line  3705)
+* shell <3>:                             Examples ncap2.    (line  7823)
+* shell <4>:                             ncbo netCDF Binary Operator.
+                                                            (line  8440)
+* shell <5>:                             Filters for 'ncks'.
+                                                            (line  9557)
+* SIGNEDNESS:                            Performance.       (line  1440)
+* SIN:                                   Intrinsic mathematical methods.
+                                                            (line  7871)
+* sine function:                         Intrinsic mathematical methods.
+                                                            (line  7871)
+* single-precision:                      Intrinsic mathematical methods.
+                                                            (line  7974)
+* SINH:                                  Intrinsic mathematical methods.
+                                                            (line  7871)
+* size():                                Methods and functions.
+                                                            (line  6302)
+* SMP:                                   OpenMP Threading.  (line  1495)
+* 'sort':                                Sort methods.      (line  6542)
+* sort alphabetically:                   ncks netCDF Kitchen Sink.
+                                                            (line  9236)
+* sort alphabetically <1>:               Filters for 'ncks'.
+                                                            (line  9652)
+* source code:                           Availability.      (line   302)
+* spatial distribution:                  Global Distribution of Long-term Average.
+                                                            (line 11202)
+* special attributes:                    ncks netCDF Kitchen Sink.
+                                                            (line  9276)
+* special characters:                    ncatted netCDF Attribute Editor.
+                                                            (line  8286)
+* speed:                                 Libraries.         (line   561)
+* speed <1>:                             Temporary Output Files.
+                                                            (line   913)
+* speed <2>:                             Large Datasets.    (line  1287)
+* speed <3>:                             Performance.       (line  1432)
+* speed <4>:                             Metadata Optimization.
+                                                            (line  1474)
+* speed <5>:                             Missing Values.    (line  3938)
+* speed <6>:                             ncrename netCDF Renamer.
+                                                            (line 10347)
+* 'sqravg':                              Operation Types.   (line  4550)
+* sqravg():                              Methods and functions.
+                                                            (line  6264)
+* 'sqrt':                                Operation Types.   (line  4550)
+* SQRT:                                  Intrinsic mathematical methods.
+                                                            (line  7871)
+* square root function:                  Intrinsic mathematical methods.
+                                                            (line  7871)
+* SSDDRA:                                Proposals for Institutional Funding.
+                                                            (line 10829)
+* SSH:                                   Windows Operating System.
+                                                            (line   504)
+* SSH <1>:                               Retaining Retrieved Files.
+                                                            (line  2011)
+* sshort():                              Methods and functions.
+                                                            (line  6358)
+* standard deviation:                    Operation Types.   (line  4550)
+* standard deviation <1>:                Operation Types.   (line  4630)
+* standard deviation <2>:                Annual Average over Regions.
+                                                            (line 11307)
+* standard input:                        Large Numbers of Files.
+                                                            (line  1182)
+* standard input <1>:                    nces netCDF Ensemble Statistics.
+                                                            (line  8728)
+* standard input <2>:                    ncecat netCDF Ensemble Concatenator.
+                                                            (line  8894)
+* standard input <3>:                    ncra netCDF Record Averager.
+                                                            (line 10165)
+* standard input <4>:                    ncrcat netCDF Record Concatenator.
+                                                            (line 10235)
+* 'standard_name':                       Auxiliary Coordinates.
+                                                            (line  3524)
+* 'stat() system call':                  Buffer sizes.      (line  4295)
+* statement:                             Syntax of ncap2 statements.
+                                                            (line  5515)
+* static linking:                        Libraries.         (line   560)
+* 'stdin':                               Large Numbers of Files.
+                                                            (line  1182)
+* 'stdin' <1>:                           File List Attributes.
+                                                            (line  5240)
+* 'stdin' <2>:                           nces netCDF Ensemble Statistics.
+                                                            (line  8728)
+* 'stdin' <3>:                           ncecat netCDF Ensemble Concatenator.
+                                                            (line  8894)
+* 'stdin' <4>:                           ncra netCDF Record Averager.
+                                                            (line 10165)
+* 'stdin' <5>:                           ncrcat netCDF Record Concatenator.
+                                                            (line 10235)
+* Steve Emmerson:                        Contributors.      (line 10751)
+* stride:                                Hyperslabs.        (line  3063)
+* stride <1>:                            Stride.            (line  3142)
+* stride <2>:                            Multislabs.        (line  3369)
+* stride <3>:                            UDUnits Support.   (line  3696)
+* stride <4>:                            ncra netCDF Record Averager.
+                                                            (line 10173)
+* stride <5>:                            ncra netCDF Record Averager.
+                                                            (line 10204)
+* stride <6>:                            ncrcat netCDF Record Concatenator.
+                                                            (line 10243)
+* stride <7>:                            ncrcat netCDF Record Concatenator.
+                                                            (line 10284)
+* strings:                               ncatted netCDF Attribute Editor.
+                                                            (line  8295)
+* Stu Muller:                            Contributors.      (line 10801)
+* stub:                                  Remote storage.    (line  1837)
+* sub-cycle:                             Subcycle.          (line  3254)
+* subcycle:                              Subcycle.          (line  3254)
+* subsetting:                            Subsetting Files.  (line  2315)
+* subsetting <1>:                        Subsetting Coordinate Variables.
+                                                            (line  2558)
+* subsetting <2>:                        CF Conventions.    (line  5337)
+* subsetting <3>:                        Filters for 'ncks'.
+                                                            (line  9658)
+* subsetting <4>:                        Filters for 'ncks'.
+                                                            (line  9732)
+* 'subtract':                            ncbo netCDF Binary Operator.
+                                                            (line  8410)
+* subtracting data:                      ncbo netCDF Binary Operator.
+                                                            (line  8392)
+* subtraction:                           Intrinsic mathematical methods.
+                                                            (line  7868)
+* subtraction <1>:                       ncbo netCDF Binary Operator.
+                                                            (line  8392)
+* summary:                               Summary.           (line   285)
+* Sun:                                   Compatability.     (line   384)
+* swap space:                            Large Datasets.    (line  1265)
+* swap space <1>:                        Memory Requirements.
+                                                            (line  1304)
+* swap space <2>:                        RAM disks.         (line  4326)
+* switches:                              Command Line Options.
+                                                            (line  1560)
+* symbolic links:                        Symbolic Links.    (line   524)
+* symbolic links <1>:                    Statistics vs. Concatenation.
+                                                            (line  1042)
+* symbolic links <2>:                    Large Numbers of Files.
+                                                            (line  1224)
+* symbolic links <3>:                    ncbo netCDF Binary Operator.
+                                                            (line  8454)
+* symbolic links <4>:                    ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9867)
+* synchronous file access:               Remote storage.    (line  1767)
+* synonym:                               Symbolic Links.    (line   534)
+* syntax:                                Syntax of ncap2 statements.
+                                                            (line  5515)
+* System calls:                          Buffer sizes.      (line  4295)
+* Takeshi Enomoto:                       Contributors.      (line 10811)
+* TAN:                                   Intrinsic mathematical methods.
+                                                            (line  7871)
+* TANH:                                  Intrinsic mathematical methods.
+                                                            (line  7871)
+* temporary files:                       Temporary Output Files.
+                                                            (line   898)
+* temporary files <1>:                   RAM disks.         (line  4406)
+* temporary output files:                Temporary Output Files.
+                                                            (line   898)
+* temporary output files <1>:            RAM disks.         (line  4406)
+* temporary output files <2>:            ncrename netCDF Renamer.
+                                                            (line 10332)
+* TeXinfo:                               Availability.      (line   310)
+* threads:                               Memory Requirements.
+                                                            (line  1311)
+* threads <1>:                           Single and Multi-file Operators.
+                                                            (line  1386)
+* threads <2>:                           OpenMP Threading.  (line  1495)
+* THR_NBR:                               OpenMP Threading.  (line  1521)
+* 'time':                                UDUnits Support.   (line  3687)
+* 'time' <1>:                            ARM Conventions.   (line  5391)
+* time-averaging:                        Examples ncap2.    (line  7846)
+* time-averaging <1>:                    Daily data in one file.
+                                                            (line 10859)
+* time-averaging <2>:                    Daily data in one file.
+                                                            (line 10873)
+* time-averaging <3>:                    Monthly data in one file.
+                                                            (line 10893)
+* time-averaging <4>:                    Monthly data in one file.
+                                                            (line 10896)
+* time-averaging <5>:                    One time point one file.
+                                                            (line 10922)
+* time-averaging <6>:                    Global Distribution of Long-term Average.
+                                                            (line 11202)
+* time-averaging <7>:                    Annual Average over Regions.
+                                                            (line 11307)
+* time-averaging <8>:                    Monthly Cycle.     (line 11598)
+* timestamp:                             History Attribute. (line  5212)
+* 'time_offset':                         ARM Conventions.   (line  5391)
+* total:                                 Operation Types.   (line  4550)
+* transpose:                             C and Fortran Index Conventions.
+                                                            (line  3012)
+* transpose <1>:                         ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9959)
+* TREFHT:                                Promoting Single-precision to Double.
+                                                            (line  4990)
+* TRUNC:                                 Intrinsic mathematical methods.
+                                                            (line  7871)
+* 'trunc()':                             Automatic type conversion.
+                                                            (line  4782)
+* truncate (groups):                     Group Path Editing.
+                                                            (line  2621)
+* truncation function:                   Intrinsic mathematical methods.
+                                                            (line  7871)
+* truth condition:                       Mask condition.    (line 10567)
+* truth condition <1>:                   Normalization and Integration.
+                                                            (line 10698)
+* 'ttl':                                 Operation Types.   (line  4550)
+* ttl():                                 Methods and functions.
+                                                            (line  6276)
+* type conversion:                       Type Conversion.   (line  4697)
+* type():                                Methods and functions.
+                                                            (line  6306)
+* ubyte():                               Methods and functions.
+                                                            (line  6369)
+* UDUnits:                               Compatability.     (line   393)
+* UDUnits <1>:                           UDUnits Support.   (line  3634)
+* UDUnits <2>:                           CF Conventions.    (line  5271)
+* uint():                                Methods and functions.
+                                                            (line  6373)
+* 'ulimit':                              Large Datasets.    (line  1283)
+* unary operations:                      Memory for ncap2.  (line  1393)
+* underlying file format:                Determining File Format.
+                                                            (line  2128)
+* UNICOS:                                Large Datasets.    (line  1278)
+* Unidata:                               Compatability.     (line   393)
+* Unidata <1>:                           netCDF2/3/4 and HDF4/5 Support.
+                                                            (line   611)
+* Unidata <2>:                           UDUnits Support.   (line  3634)
+* union:                                 Subsetting Files.  (line  2315)
+* union <1>:                             Subsetting Files.  (line  2406)
+* union of files:                        Appending Variables.
+                                                            (line  1008)
+* unit64():                              Methods and functions.
+                                                            (line  6377)
+* 'units':                               UDUnits Support.   (line  3634)
+* 'units' <1>:                           UDUnits Support.   (line  3655)
+* 'units' <2>:                           UDUnits Support.   (line  3687)
+* 'units' <3>:                           ncatted netCDF Attribute Editor.
+                                                            (line  8343)
+* 'units' <4>:                           ncatted netCDF Attribute Editor.
+                                                            (line  8346)
+* 'units' <5>:                           ncflint netCDF File Interpolator.
+                                                            (line  9119)
+* UNIX:                                  Compatability.     (line   393)
+* UNIX <1>:                              Windows Operating System.
+                                                            (line   502)
+* UNIX <2>:                              Large Numbers of Files.
+                                                            (line  1199)
+* UNIX <3>:                              Command Line Options.
+                                                            (line  1560)
+* UNIX <4>:                              Specifying Input Files.
+                                                            (line  1638)
+* UNIX <5>:                              Filters for 'ncks'.
+                                                            (line  9557)
+* unlimited dimension:                   ncecat netCDF Ensemble Concatenator.
+                                                            (line  8848)
+* 'unmap':                               Sort methods.      (line  6542)
+* unpack():                              Methods and functions.
+                                                            (line  6295)
+* 'unpack(x)':                           Packed data.       (line  4413)
+* unpacking:                             OPeNDAP.           (line  1943)
+* unpacking <1>:                         Packed data.       (line  4413)
+* unpacking <2>:                         ncecat netCDF Ensemble Concatenator.
+                                                            (line  8921)
+* unpacking <3>:                         ncpdq netCDF Permute Dimensions Quickly.
+                                                            (line  9781)
+* unpacking <4>:                         ncrcat netCDF Record Concatenator.
+                                                            (line 10247)
+* URL:                                   Remote storage.    (line  1767)
+* 'User Guide':                          Availability.      (line   310)
+* ushort():                              Methods and functions.
+                                                            (line  6371)
+* value list:                            Attributes.        (line  5971)
+* variable names:                        ncrename netCDF Renamer.
+                                                            (line 10301)
+* variables, appending:                  Annual Average over Regions.
+                                                            (line 11307)
+* variance:                              Operation Types.   (line  4550)
+* version:                               Operator Version.  (line  5422)
+* Vista (Microsoft operating system):    Windows Operating System.
+                                                            (line   483)
+* weighted average:                      ncwa netCDF Weighted Averager.
+                                                            (line 10473)
+* weighted average <1>:                  Monthly Cycle.     (line 11598)
+* Wenshan Wang:                          Contributors.      (line 10821)
+* 'wget':                                Remote storage.    (line  1767)
+* where():                               Where statement.   (line  6419)
+* while():                               Loops.             (line  6487)
+* whitespace:                            UDUnits Support.   (line  3696)
+* wildcards:                             Specifying Input Files.
+                                                            (line  1632)
+* wildcards <1>:                         Subsetting Files.  (line  2458)
+* wildcards <2>:                         ncatted netCDF Attribute Editor.
+                                                            (line  8147)
+* wildcards <3>:                         ncatted netCDF Attribute Editor.
+                                                            (line  8354)
+* 'WIN32':                               Windows Operating System.
+                                                            (line   498)
+* Windows:                               Compatability.     (line   384)
+* Windows <1>:                           Windows Operating System.
+                                                            (line   483)
+* wrapped coordinates:                   Hyperslabs.        (line  3114)
+* wrapped coordinates <1>:               Wrapped Coordinates.
+                                                            (line  3474)
+* wrapped coordinates <2>:               Irregular grids.   (line  6816)
+* wrapped coordinates <3>:               Filters for 'ncks'.
+                                                            (line  9770)
+* wrapped filenames:                     Specifying Input Files.
+                                                            (line  1695)
+* WRF:                                   Irregular grids.   (line  6874)
+* WWW documentation:                     Availability.      (line   310)
+* 'xargs':                               Large Numbers of Files.
+                                                            (line  1199)
+* 'xargs' <1>:                           Specifying Output Files.
+                                                            (line  1752)
+* 'xlC':                                 Compatability.     (line   402)
+* 'xlc':                                 Compatability.     (line   402)
+* XML:                                   ncks netCDF Kitchen Sink.
+                                                            (line  9473)
+* XP (Microsoft operating system):       Windows Operating System.
+                                                            (line   483)
+* 'xpl':                                 Chunking.          (line  4025)
+* 'xst':                                 Chunking.          (line  4025)
+* 'xst' <1>:                             Chunking.          (line  4075)
+* Yorick:                                Philosophy.        (line   870)
+* Yorick <1>:                            Performance.       (line  1443)
+
diff --git a/doc/nco.xml b/doc/nco.xml
new file mode 100644
index 0000000..606d059
--- /dev/null
+++ b/doc/nco.xml
@@ -0,0 +1,17597 @@
+<?xml version="1.0"?>
+<!DOCTYPE texinfo PUBLIC "-//GNU//DTD TexinfoML V5.0//EN" "http://www.gnu.org/software/texinfo/dtd/5.0/texinfo.dtd">
+<texinfo xml:lang="en">
+<filename file="nco.xml"></filename>
+<preamble>\input texinfo @c -*-texinfo-*- 
+</preamble><!-- c \input /home/zender/texinfo_fedora.tex -->
+<!-- c \input /home/zender/texinfo_ubuntu.tex -->
+
+<!-- c 19980817: TeX-based systems (texi2dvi, texi2dvi -pdf) require texinfo.tex -->
+<!-- c Hyper-text systems (texi2html, makeinfo) do not require texinfo.tex -->
+
+<ignore>
+
+$Header$
+
+Purpose: TeXInfo documentation for NCO suite
+
+URL: http://nco.sf.net/nco.texi
+
+Copyright (C) 1995--2014 Charlie Zender
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3
+or any later version published by the Free Software Foundation;
+with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
+Texts. The license is available online at 
+http://www.gnu.org/copyleft/fdl.html
+
+The original author of this software, Charlie Zender, seeks to improve
+it with your suggestions, contributions, bug-reports, and patches.
+Charlie Zender <surname at uci dot edu> (yes, my surname is zender)
+Department of Earth System Science
+3200 Croul Hall
+University of California, Irvine
+Irvine, CA 92697-3100
+
+After editing any hyperlink locations, Emacs users update indices with
+C-c C-u C-a	texinfo-all-menus-update
+C-c C-u C-e	texinfo-every-node-updatexb
+
+Multiple files:
+M-x texinfo-multiple-files-update
+
+Usage: 
+export TEX='tex --src-specials'
+cd ~/nco/doc;texi2dvi nco.texi; makeinfo --html --ifinfo --no-split --output=nco.html nco.texi; makeinfo nco.texi; dvips -o nco.ps nco.dvi;texi2dvi --pdf nco.texi;makeinfo --xml --ifinfo --no-split --output=nco.xml nco.texi;makeinfo --no-headers --output=nco.txt nco.texi
+dvips -o nco.ps nco.dvi 
+dvips -Ppdf -G0 -o nco.ps nco.dvi 
+makeinfo --html --ifinfo --no-split --output=nco.html nco.texi
+makeinfo --no-split --output=nco.info nco.texi
+makeinfo --no-headers --no-split --output=nco.txt nco.texi
+makeinfo --xml --no-split --output=nco.xml nco.texi
+makeinfo --docbook --no-split --output=nco.xml nco.texi
+pdftotext nco.pdf nco.txt
+ps2pdf -dMaxSubsetPct=100 -dCompatibilityLevel=1.2 -dSubsetFonts=true -dEmbedAllFonts=true nco.ps nco.pdf
+texi2dvi --output=nco.dvi nco.texi 
+texi2dvi --pdf --output=nco.pdf nco.texi
+texi2html -monolithic -verbose nco.texi
+texi2html -l2h -l2h_tmp=./l2h_tmp -monolithic -verbose nco.texi # Invoke latex2html
+cd ~/nco/doc;/usr/bin/scp index.shtml nco_news.shtml ChangeLog TODO README VERSION nco.dvi nco.html nco.info* nco.pdf nco.ps nco.texi nco.txt nco.xml ../data/ncap.in ../data/ncap2.in zender,nco at web.sf.net:/home/project-web/nco/htdocs;cd -
+cd ~/nco/doc;      scp -p index.shtml nco_news.shtml ChangeLog TODO README VERSION nco.dvi nco.html nco.info* nco.pdf nco.ps nco.texi nco.txt nco.xml ../data/ncap.in ../data/ncap2.in dust.ess.uci.edu:/var/www/html/nco;cd -
+# 20130806 Copy CMIP5 images (takes additional time)
+cd ~/nco/doc/xmp;/usr/bin/scp fgr*.png fgr*.eps zender,nco at web.sf.net:/home/project-web/nco/htdocs/xmp;cd -
+cd ~/nco/doc/xmp;/usr/bin/scp fgr*.png fgr*.eps                 dust.ess.uci.edu:/var/www/html/nco/xmp;cd -
+# 20120203 Copy all nco.html PNG images (takes additional time)
+cd ~/nco/doc;/usr/bin/scp nco_*.png zender,nco at web.sf.net:/home/project-web/nco/htdocs;cd -
+cd ~/nco/doc;scp -p nco_*.png dust.ess.uci.edu:/var/www/html/nco;cd -
+# 20130801 Copy nco.texi to Ubuntu machine for quick build-tests
+scp ~/nco/doc/nco.texi givre.ess.uci.edu:nco/doc
+
+NB: @cindex references in footnotes propagate to PDF file, not to
+    HTML files, bug-report sent to makeinfo people 20040229
+
+Producing HTML, makeinfo vs. texi2html:
+makeinfo: Better format overall 
+          Uses node names for cross references and index
+          Acronyms look better
+          Excludes @ifinfo sections by default (override with --ifinfo)
+texi2html: Index sub-divided by first character
+           More fancy options (e.g., latex2html), though none very useful 
+           Misprints title
+           Includes @ifinfo sections by default
+
+Legend (defined in "highlighting" section of TeXInfo manual):
+ at code{}: Program text, e.g., @code{if(foo) x=y;}
+ at command{}: Commands, e.g., @command{ncra}
+ at dfn{}: Define use of term, e.g., @dfn{supercalifragilisticexpialidocious}
+ at email{}: E-mail address, e.g., @email{surname at uci dot edu}
+ at env{}: Environment variable, e.g., @env{HOME}
+ at file{}: Filename, e.g., @file{in.nc}
+ at html: Text until @end html passed without translation
+ at ifhtml: Text until @end ifhtml passed with translation
+ at kbd{}: Keyboard input, e.g., @kbd{ncra in.nc out.nc}
+ at key{}: Key name, e.g., @key{ESC} (rarely needed)
+ at option{}: Command-line option, e.g., @option{--dbg}
+ at samp{}: Extended commands, character sequences, e.g., @samp{ncra in.nc out.nc}
+ at uref{}: URL with optional alternate text, e.g., @uref{http://nco.sf.net,NCO homepage}
+ at url{}: URL, synonym for @uref
+ at var{}: Metasyntactic variable, e.g., @var{}
+ at verbatim: Anything goes inside environment (no @'s needed to protect special characters like braces)
+ at example: Quoted environment (@'s needed to protect special characters like braces)
+ at w{}: Unbreakable text, e.g., @w{of 1}
+
+Use '@*' to force hard carriage return
+Use '@:', after periods, questions marks, exclamation marks, or colons
+that do not end sentences, e.g., 'vs.@:'
+Use '@.', '@!', and `@?' to end sentences that end with single capital letters (e.g., initials)
+
+Resources:
+Octave TeXInfo manual shows clean TeXInfo structure
+/usr/share/doc/octave-2.1.34/interpreter/octave.texi
+</ignore>
+
+<!-- c Start of header -->
+
+<!-- c No variables may be defined before TeXInfo @setfilename header -->
+<setfilename file="nco.info" spaces=" ">nco.info</setfilename>
+
+<!-- c Define edition, date, ... -->
+<set name="nco-edition" line=" nco-edition 4.4.2">4.4.2</set>
+<set name="doc-edition" line=" doc-edition 4.4.2">4.4.2</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 19 February 2014">19 February 2014</set>
+<set name="update-month" line=" update-month February 2014">February 2014</set>
+
+<settitle spaces=" "><acronym><acronymword>NCO</acronymword></acronym> 4.4.2 User Guide</settitle>
+
+<!-- c Uncomment following line to produce guide in smallbook format -->
+<!-- c @smallbook -->
+<!-- c Merge function index into concept index -->
+<syncodeindex from="fn" to="cp" line=" fn cp"></syncodeindex>
+
+<!-- c 20090226 Add bibliography capabilities as per -->
+<!-- c http://lists.gnu.org/archive/html//help-texinfo/2004-12/txtPW9h_VG8ez.txt -->
+<!-- c % csz 20100313 remove next line to prevent "\input texinfo" from -->
+<!-- c % appearing in printed output -->
+<!-- c %% \input texinfo   @c -*-texinfo-*- -->
+
+<!-- c %% my-bib-macros.texi - Texinfo macros providing a crude -->
+<!-- c %% bibliography and citation capability. -->
+
+<!-- c % Copyright (C) 2004  Aaron S. Hawley -->
+
+<!-- c % Author: Aaron S. Hawley <ashawley at gnu.uvm.edu> -->
+<!-- c % Keywords: docs, texinfo, extensions, bib -->
+
+<!-- c % This file is free software; you can redistribute it and/or modify -->
+<!-- c % it under the terms of the GNU General Public License as published by -->
+<!-- c % the Free Software Foundation; either version 2, or (at your option) -->
+<!-- c % any later version. -->
+
+<!-- c % This file is distributed in the hope that it will be useful, -->
+<!-- c % but WITHOUT ANY WARRANTY; without even the implied warranty of -->
+<!-- c % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -->
+<!-- c % GNU General Public License for more details. -->
+
+<!-- c % You should have received a copy of the GNU General Public License -->
+<!-- c % along with GNU Emacs; see the file COPYING.  If not, write to -->
+<!-- c % the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -->
+<!-- c % Boston, MA 02111-1307, USA. -->
+
+<!-- c %% Commentary: -->
+
+<!-- c %%% Introduction -->
+
+<!-- c %% Creates references to a ``Bibliography'' or ``References'' -->
+<!-- c %% section of a Texinfo document, using Texinfo's -->
+<!-- c %% macro system.  Although not as terse a way to cite systems as is -->
+<!-- c %% found in document systems like TeX, the format is simpler and -->
+<!-- c %% the rendering  is easier for non-academic readers. -->
+
+<!-- c % -->
+
+<!-- c %%% Usage -->
+
+<!-- c %% References to cited works can be put in any section of a document. -->
+<!-- c %% The cited works must be put in either a Texinfo table (for -->
+<!-- c %% instance with ``@table @asis ... @end table'') or within a -->
+<!-- c %% Texinfo list (something like ``@enumerate ... @end enumerate'' -->
+<!-- c %% or ``@itemize @bullet ... @end itemize'').  They are created -->
+<!-- c %% with the command ``@mybibitem{REF-NAME}''.  To cite a reference -->
+<!-- c %% with a @mybibitem use ``@mybibcite{REF-NAME}''. -->
+
+<!-- c %% The beginning of a document must include (using the @include -->
+<!-- c %% command) the file my-bib-macros.texi, which should be made -->
+<!-- c %% available in the current directory of the parent file.  A single -->
+<!-- c %% call should be made to choose to use a list or a table.  The -->
+<!-- c %% command to chose is called @mybibuselist{NODE}, where NODE is -->
+<!-- c %% the node containing the location where the references are listed. -->
+
+<!-- c % -->
+
+<!-- c %%% Example -->
+
+<!-- c %% \input texinfo   @c -*-texinfo-*- -->
+<!-- c %% @comment %**start of header -->
+<!-- c %% @setfilename my-file-with-bib.info -->
+<!-- c %% @settitle Texinfo with a Bibliography and References -->
+<!-- c %% -->
+<!-- c %% @include my-bib-macros.texi -->
+<!-- c %% @mybibuselist{References} -->
+<!-- c %% -->
+<!-- c %% @comment %**end of header -->
+<!-- c %% -->
+<!-- c %% @node Top -->
+<!-- c %% @top Top -->
+<!-- c %% -->
+<!-- c %% @menu -->
+<!-- c %% * Introduction:: -->
+<!-- c %% * @mybibnode{}:: -->
+<!-- c %% -->
+<!-- c %% @end menu -->
+<!-- c %% -->
+<!-- c %% @node Introduction -->
+<!-- c %% @chapter Introduction -->
+<!-- c %% -->
+<!-- c %% The ability of a documentation format to make cross references to a -->
+<!-- c %% bibliography, a feature of LaTeX @mybibcite{LaTeX2e}, isn't -->
+<!-- c %% currently supported in Texinfo. -->
+<!-- c %% -->
+<!-- c %% @node @mybibnode{} -->
+<!-- c %% @chapter References -->
+<!-- c %% -->
+<!-- c %% @itemize @asis -->
+<!-- c %% -->
+<!-- c %% @mybibitem{LaTeX2e} Leslie Lamport, LaTeX User's Guide and -->
+<!-- c %% Reference Manual, 2nd edition, Addison-Wesley, Reading, -->
+<!-- c %% Massachusetts, 1994. -->
+<!-- c %% -->
+<!-- c %% @end itemize -->
+<!-- c %% -->
+<!-- c %% @bye -->
+
+<!-- c %% -->
+
+<!-- c %% This example produces (in Info): -->
+
+<!-- c %%       1 Introduction -->
+<!-- c %%       ************** -->
+<!-- c %% -->
+<!-- c %%       The ability of a documentation format to make cross -->
+<!-- c %%       references to a bibliography, a feature of LaTeX (See item -->
+<!-- c %%       [LaTeX2e] in *Note LaTeX2e: References.), is not currently -->
+<!-- c %%       supported in Texinfo. -->
+<!-- c %% -->
+<!-- c %% -->
+<!-- c %%       2 References -->
+<!-- c %%       ************ -->
+<!-- c %% -->
+<!-- c %%       [LaTeX2e] Leslie Lamport, LaTeX User's Guide and Reference -->
+<!-- c %%       Manual, 2nd edition, Addison-Wesley, Reading, -->
+<!-- c %%       Massachusetts, 1994. -->
+
+<!-- c %% and (in printed output): -->
+
+<!-- c %%       1 Introduction -->
+<!-- c %%       ************** -->
+<!-- c %% -->
+<!-- c %%       The ability of a documentation format to make cross -->
+<!-- c %%       references to a bibliography, a feature of LaTeX (See item -->
+<!-- c %%       [LaTeX2e] in Chapter 2 [References], page 3.), is not -->
+<!-- c %%       currently supported in Texinfo. -->
+<!-- c %% -->
+<!-- c %% -->
+<!-- c %%       2 References -->
+<!-- c %%       ************ -->
+<!-- c %% -->
+<!-- c %%       [LaTeX2e] Leslie Lamport, LaTeX User's Guide and Reference -->
+<!-- c %%       Manual, 2nd edition, Addison-Wesley, Reading, -->
+<!-- c %%       Massachusetts, 1994. -->
+
+<!-- c % -->
+
+<!-- c %%% Notes -->
+
+<!-- c %% The pointers to references will be functional in hypertext -->
+<!-- c %% documentation (info, HTML, XML and others) and properly rendered -->
+<!-- c %% in print documents, because they are implemented with Texinfo's -->
+<!-- c %% cross referencing capabilities (using @anchor and @ref).  Failures -->
+<!-- c %% by an author to make proper references with ``my-bib-macros'' in -->
+<!-- c %% their document will give cross referencing errors by Texinfo -->
+<!-- c %% conversion tools. -->
+
+<!-- c %% Only one ``Reference'' section is allowed per document. -->
+
+<!-- c %% An improvement of this system would create cross references -->
+<!-- c %% (with @xref) at each cited work to all the originating cross -->
+<!-- c %% refererences. -->
+
+<!-- c % -->
+
+<!-- c %% Code: -->
+
+<!-- c % Configuration Options -->
+
+<!-- c %% @mybibsetrefnode : Defines the name of the node to contain -->
+<!-- c %% references. -->
+
+<macro name="mybibsetrefnode" line=" mybibsetrefnode{node}"><formalarg>node</formalarg>@set mybibrefnode \node\
+</macro>
+
+<!-- c %% @mybibnode{} : Macro to be placed at node containing references -->
+<!-- c %% and calls to @mybibcite{} -->
+
+<macro name="mybibnode" line=" mybibnode{}">@value{mybibrefnode}
+</macro>
+
+<!-- c %% @mybibusetable : Whether each @mybibitem will be put in a -->
+<!-- c %% table. -->
+
+<macro name="mybibusetable" line=" mybibusetable{node}"><formalarg>node</formalarg>@set mybibtable true
+ at ifset mybiblist
+ at clear mybiblist
+ at end ifset
+ at mybibsetrefnode{\node\}
+</macro>
+
+<!-- c %% @mybibuselist : Whether each @mybibitem will be put in a -->
+<!-- c %% list. -->
+
+<macro name="mybibuselist" line=" mybibuselist{node}"><formalarg>node</formalarg>@set mybiblist true
+ at ifset mybibtable
+ at clear mybibtable
+ at end ifset
+ at mybibsetrefnode{\node\}
+</macro>
+
+
+<!-- c %% @mybibcite{REF} : Cites the cross reference REF. -->
+
+<macro name="mybibcite" line=" mybibcite{ref}"><formalarg>ref</formalarg>@ifclear mybibrefnode
+ at mybibmakeref{mybibsetrefnode was not used, \ref\}
+ at end ifclear
+ at c %**else if
+ at ifset mybibrefnode
+ at mybibmakeref{@mybibnode{}, \ref\}
+ at end ifset
+
+</macro>
+
+<macro name="mybibmakeref" line=" mybibmakeref{node, ref}"><formalarg>node</formalarg><formalarg>ref</formalarg>(See item [\ref\] in @ref{\node\, \ref\}.)
+</macro>
+
+<!-- c %% @mybibcite{REF} : Creates a cross referenced citation REF. -->
+
+<macro name="mybibitem" line=" mybibitem{ref}"><formalarg>ref</formalarg>@ifclear mybiblist
+ at ifclear mybibtable
+ at set mybiblist true
+ at end ifclear
+ at end ifclear
+ at ifset mybiblist
+ at item
+ at anchor{\ref\}[\ref\]
+ at end ifset
+ at c %**else if
+ at ifset mybibtable
+ at item @anchor{\ref\}[\ref\]
+ at end ifset
+
+</macro>
+
+<!-- c %% my-bib-macros.texi ends here -->
+<set name="mybiblist" line=" mybiblist true">true</set>
+<set name="mybibrefnode" line=" mybibrefnode References">References</set>
+
+<!-- c end of header -->
+
+<!-- c TeXInfo macros may not appear before TeXInfo @setfilename header -->
+<!-- c [idx] Index -->
+<macro name="idx" line=" idx {}">i
+</macro>
+<!-- c [m s-1] Meridional wind speed -->
+<macro name="wndmrd" line=" wndmrd {}">v
+</macro>
+<!-- c [m s-1] Zonal wind speed -->
+<macro name="wndznl" line=" wndznl {}">u
+</macro>
+<macro name="xxx" line=" xxx {}">x
+</macro>
+<!-- c TeX macros may appear anywhere after line 1 -->
+<tex endspaces=" ">
+% Define TeX macros to roughly correspond to LaTeX style files
+% Use \gdef instead of \def to make definition persistent across TeX blocks
+% These should be consistent with any TeXInfo macros
+% 1. Primary commands
+\gdef\dmn{D} % [dmn] Variable dimension
+\gdef\rdr{R} % [dmn] Re-order dimension
+\gdef\shr{S} % [dmn] Share dimension
+\gdef\dmnidx{n} % [idx] Dimension index
+\gdef\dmnnbr{N} % [nbr] Dimension number
+\gdef\rdridx{r} % [idx] Re-order index
+\gdef\rdrnbr{R} % [nbr] Re-order number
+\gdef\shridx{s} % [idx] Share index
+\gdef\shrnbr{S} % [nbr] Share number
+\gdef\dfr{{\rm d}} % [frc] Math differential fxm: upright
+\gdef\idx{i} % [idx] Index
+\gdef\iii{i} % [idx] i
+\gdef\jjj{j} % [idx] j
+\gdef\kkk{k} % [idx] k
+\gdef\lmnidx{i} % [idx] Element index
+\gdef\outnbr{J} % [nbr] Number of elements in output hyperslab
+\gdef\lmnnbr{N} % [nbr] Number of elements in input hyperslab
+\gdef\tllnbr{M} % [nbr] Tally (number of valid elements in input hyperslab)
+\gdef\me{{\rm e}} % [frc] Math e fxm: upright
+\gdef\mi{{\rm i}} % [frc] Math i fxm: upright
+\gdef\mpi{\pi} % [frc] Math pi
+\gdef\mpp{\cal{M}} % [map] Map
+\gdef\mskflg{m} % [flg] Mask flag
+\gdef\mssflg{\mu} % [flg] Missing value flag
+\gdef\tm{t} % [s] Time
+\gdef\prmsbs{\prime} % [sbs] Prime subscript
+\gdef\wgt{w} % [frc] Weight
+\gdef\wndmrd{v} % [m s-1] Meridional wind speed
+\gdef\wndznl{u} % [m s-1] Zonal wind speed
+\gdef\xxx{x} % [ltr] x
+\gdef\yyy{y} % [ltr] y
+
+% 2. Derived commands
+\gdef\dmnvct{{\bf \dmn}} % [vct] Dimension vector
+\gdef\dmnprm{\dmn^{\prmsbs}} % [vct] Dimension prime
+\gdef\dmnsubnnn{\dmn_{\dmnidx}} % [dmn] Dimension sub nnn
+\gdef\shrsubnnn{\shr_{\dmnidx}} % [dmn] Share dimension sub nnn
+\gdef\shrsubsss{\shr_{\shridx}} % [dmn] Share dimension sub sss
+\gdef\dmnsubnnnprm{\dmn_{\dmnidx}^{\prmsbs}} % [vct] Dimension prime sub nnn 
+\gdef\dmnvctprm{{\bf \dmn}^{\prmsbs}} % [vct] Dimension vector prime
+\gdef\rdrvct{{\bf \rdr}} % [vct] Re-order vector
+\gdef\shrvct{{\bf \shr}} % [vct] Share vector
+\gdef\xxxprm{\xxx^{\prmsbs}} % [ltr] x prime
+
+% 3. Doubly derived commands
+
+</tex>
+
+<!-- c install-info installs NCO info into this category -->
+<dircategory spaces=" ">netCDF</dircategory>
+<direntry endspaces=" ">
+<menuentry leadingtext="* "><menunode separator="::        ">NCO</menunode><menudescription><pre xml:space="preserve">User Guide for the netCDF Operator suite
+</pre></menudescription></menuentry></direntry>
+
+<!-- c Set smallbook if printing in smallbook format -->
+<!-- c Example of smallbook font is actually written using smallbook -->
+<!-- c In bigbook, a kludge is used for TeX output -->
+<!-- c set smallbook -->
+<clear name="smallbook" line=" smallbook"></clear>
+
+<tex endspaces=" ">
+% fxm: Try to get thumbnails working with texinfo &textndash;pdf -generated PDF files
+% \input thumbpdf.sty
+% Experiment with smaller amounts of whitespace between chapters and sections
+\global\chapheadingskip = 15pt plus 4pt minus 2pt 
+\global\secheadingskip = 12pt plus 3pt minus 2pt
+\global\subsecheadingskip = 9pt plus 2pt minus 2pt
+</tex>
+
+<!-- c Experiment with smaller amounts of whitespace between paragraphs in the 8.5 by 11 inch format -->
+<tex endspaces=" ">
+\global\parskip 6pt plus 1pt
+</tex>
+
+<!-- c Uncomment next line to remove ugly TeX warning blocks from overfull hboxes -->
+<finalout></finalout>
+
+<para>This file documents <acronym><acronymword>NCO</acronymword></acronym>, a collection of utilities to
+manipulate and analyze netCDF files.
+</para>
+<para>Copyright ©right; 1995&textndash;2014 Charlie Zender
+</para>
+<para>This is the first edition of the <cite>NCO User Guide</cite>,&linebreak;
+and is consistent with <w>version 2</w> of <file>texinfo.tex</file>.
+</para>
+<para>Permission is granted to copy, distribute and/or modify this document 
+under the terms of the <acronym><acronymword>GNU</acronymword></acronym> Free Documentation License, <w>Version 1.3</w>
+or any later version published by the Free Software Foundation;
+with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
+Texts. The license is available online at 
+<uref><urefurl>http://www.gnu.org/copyleft/fdl.html</urefurl></uref>
+</para>
+<para>The original author of this software, Charlie Zender, wants to improve it
+with the help of your suggestions, improvements, bug-reports, and patches.&linebreak;
+Charlie Zender <surname at uci dot edu> (yes, my surname is zender)&linebreak;
+3200 Croul Hall&linebreak;
+Department of Earth System Science&linebreak;
+University of California, Irvine&linebreak;
+Irvine, CA 92697-3100&linebreak;
+</para>
+<ignore>
+Permission is granted to process this file through TeX and print the 
+results, provided the printed document carries copying permission
+notice identical to this one except for the removal of this paragraph
+(this paragraph not being relevant to the printed manual).
+</ignore>
+
+<setchapternewpage line=" odd"></setchapternewpage>
+
+<titlepage endspaces=" ">
+<html endspaces=" ">
+<meta name="Author" content="Charlie Zender">
+<meta name="Keywords" content="NCO documentation, NCO User Guide,
+netCDF, operator, GCM, CCM, scientific data, ncbo, ncfe, ncecat,
+ncflint, ncks, ncra, ncrcat, ncrename, ncwa">
+</html>
+<html endspaces=" ">
+<body text="#000000" link="#0000EF" vlink="#008080" alink="#FF0000">
+<font face="Arial">
+</html>
+<ignore>
+</ignore>
+<title spaces=" ">NCO User Guide</title>
+<subtitle spaces=" ">A suite of netCDF operators</subtitle>
+<subtitle spaces=" ">Edition 4.4.2, for <acronym><acronymword>NCO</acronymword></acronym> Version 4.4.2</subtitle>
+<subtitle spaces=" ">February 2014</subtitle>
+
+<author spaces=" ">by Charlie Zender</author>
+<author spaces=" ">Department of Earth System Science</author>
+<author spaces=" ">University of California, Irvine</author>
+<html endspaces=" ">
+<p>WWW readers: Having trouble finding the section you want?</p> 
+<p>Search for keywords in the <a href="#index">(hyper) index</a> at the end</p>
+</html>
+
+<!-- c Include Distribution inside titlepage so that headings are turned off -->
+<page></page>
+<vskip> 0pt plus 1filll</vskip>
+<para>Copyright ©right; 1995&textndash;2014 Charlie Zender.
+</para>
+<sp value="2" line=" 2"></sp>
+<para>This is the first edition of the <cite>NCO User Guide</cite>,&linebreak;
+and is consistent with <w>version 2</w> of <file>texinfo.tex</file>.
+</para><sp value="2" line=" 2"></sp>
+
+<para>Published by Charlie Zender&linebreak;
+Department of Earth System Science&linebreak;
+3200 Croul Hall&linebreak;
+University of California, Irvine&linebreak;
+Irvine, CA 92697-3100 USA&linebreak;
+</para>
+<para>Permission is granted to copy, distribute and/or modify this document
+under the terms of the <acronym><acronymword>GNU</acronymword></acronym> Free Documentation License, <w>Version 1.3</w>
+or any later version published by the Free Software Foundation;
+with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
+Texts. The license is available online at 
+<uref><urefurl>http://www.gnu.org/copyleft/fdl.html</urefurl></uref>
+</para><sp value="2" line=" 2"></sp>
+<para>The original author of this software, Charlie Zender, wants to improve it
+with the help of your suggestions, improvements, bug-reports, and patches.&linebreak;
+Charlie Zender <surname at uci dot edu> (yes, my surname is zender)&linebreak;
+Department of Earth System Science&linebreak;
+3200 Croul Hall&linebreak;
+University of California, Irvine&linebreak;
+Irvine, CA 92697-3100&linebreak;
+</para><sp value="2" line=" 2"></sp>
+<!-- c Cover art by Robynn Rudel -->
+</titlepage>
+
+<!-- c Print table of contents -->
+<contents></contents>
+
+<node name="Top" spaces=" "><nodename>Top</nodename><nodenext spaces=" ">Foreword</nodenext><nodeprev spaces=" ">(dir)</nodeprev><nodeup spaces=" ">(dir)</nodeup></node>
+<top spaces=" "><sectiontitle>NCO User Guide</sectiontitle>
+<!-- c node format: node-name, next, previous, up -->
+
+<para><emph>Note to readers of the NCO User Guide in Info format</emph>: 
+<emph>The <uref><urefurl>./nco.pdf</urefurl><urefdesc>NCO User Guide in PDF format</urefdesc></uref>
+(also on <uref><urefurl>http://nco.sf.net/nco.pdf</urefurl><urefdesc>SourceForge</urefdesc></uref>)
+contains the complete <acronym><acronymword>NCO</acronymword></acronym> documentation.</emph>
+This Info documentation is equivalent except it refers you to the 
+printed (i.e., DVI, PostScript, and PDF) documentation for description 
+of complex mathematical expressions. Also, images appear only in the
+PDF document due to SourceForge limitations.
+</para>
+<para>The netCDF Operators, or <acronym><acronymword>NCO</acronymword></acronym>, are a suite of programs known as 
+operators. 
+The operators facilitate manipulation and analysis of data stored in the 
+self-describing netCDF format, available from
+(<uref><urefurl>http://www.unidata.ucar.edu/packages/netcdf</urefurl></uref>).
+Each <acronym><acronymword>NCO</acronymword></acronym> operator (e.g., ncks) takes netCDF input
+file(s), performs an operation (e.g., averaging, hyperslabbing, or
+renaming), and outputs a processed netCDF file. 
+Although most users of netCDF data are involved in scientific research,
+these data formats, and thus <acronym><acronymword>NCO</acronymword></acronym>, are generic and are equally
+useful in fields from agriculture to zoology.
+The <acronym><acronymword>NCO</acronymword></acronym> User Guide illustrates <acronym><acronymword>NCO</acronymword></acronym> use with
+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.2.
+It was last updated 19 February 2014.
+Corrections, additions, and rewrites of this documentation are very
+welcome.
+</para>
+<para>Enjoy,&linebreak;
+Charlie Zender
+</para>
+<menu endspaces=" ">
+<menuentry leadingtext="* "><menunode separator="::">Foreword</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Summary</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Introduction</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Strategies</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Common features</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Operator Reference Manual</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Contributing</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Quick Start</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">CMIP5 Example</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Parallel</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">CCSM Example</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">mybibnode</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">General Index</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry></menu>
+
+<html endspaces=" ">
+<a name="fwd"></a> <!&textndash; http://nco.sf.net/nco.html#fwd &textndash;>
+</html>
+</top>
+<node name="Foreword" spaces=" "><nodename>Foreword</nodename><nodenext spaces=" ">Summary</nodenext><nodeprev spaces=" ">Top</nodeprev><nodeup spaces=" ">Top</nodeup></node>
+<unnumbered spaces=" "><sectiontitle>Foreword</sectiontitle>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1">foreword</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="2">Charlie Zender</indexterm></cindex>
+<para><acronym><acronymword>NCO</acronymword></acronym> is the result of software needs that arose while I worked
+on projects funded by <acronym><acronymword>NCAR</acronymword></acronym>, <acronym><acronymword>NASA</acronymword></acronym>, and <acronym><acronymword>ARM</acronymword></acronym>.
+Thinking they might prove useful as tools or templates to others,  
+it is my pleasure to provide them freely to the scientific community.  
+Many users (most of whom I have never met) have encouraged the
+development of <acronym><acronymword>NCO</acronymword></acronym>.  
+Thanks espcially to Jan Polcher, Keith Lindsay, Arlindo <w>da Silva</w>,
+John Sheldon, and William Weibel for stimulating suggestions and
+correspondence. 
+Your encouragment motivated me to complete the <cite>NCO User Guide</cite>.
+So if you like <acronym><acronymword>NCO</acronymword></acronym>, send me a note!
+<w>I should</w> mention that <acronym><acronymword>NCO</acronymword></acronym> is not connected to or
+officially endorsed by Unidata, <acronym><acronymword>ACD</acronymword></acronym>, <acronym><acronymword>ASP</acronymword></acronym>,
+<acronym><acronymword>CGD</acronymword></acronym>, or Nike.&linebreak; 
+</para><sp value="1" line=" 1"></sp>
+<noindent></noindent>
+<para>Charlie Zender&linebreak;
+May 1997&linebreak;
+Boulder, Colorado&linebreak;
+</para>
+<sp value="2" line=" 2"></sp>
+<para>Major feature improvements entitle me to write another Foreword.
+In the last five years a lot of work has been done to refine
+<acronym><acronymword>NCO</acronymword></acronym>. 
+<cindex index="cp" spaces=" "><indexterm index="cp" number="3">open source</indexterm></cindex>
+<acronym><acronymword>NCO</acronymword></acronym> is now an open source project and appears to be much
+healthier for it. 
+The list of illustrious institutions that do not endorse <acronym><acronymword>NCO</acronymword></acronym>     
+continues to grow, and now includes <acronym><acronymword>UCI</acronymword></acronym>.&linebreak; 
+</para><sp value="1" line=" 1"></sp>
+<noindent></noindent>
+<para>Charlie Zender&linebreak;
+October 2000&linebreak;
+Irvine, California&linebreak;
+</para>
+<sp value="2" line=" 2"></sp>
+<para>The most remarkable advances in <acronym><acronymword>NCO</acronymword></acronym> capabilities in the last  
+few years are due to contributions from the Open Source community.
+Especially noteworthy are the contributions of Henry Butowsky and Rorik 
+Peterson.&linebreak; 
+</para><sp value="1" line=" 1"></sp>
+<noindent></noindent>
+<para>Charlie Zender&linebreak;
+January 2003&linebreak;
+Irvine, California&linebreak;
+</para>
+<sp value="2" line=" 2"></sp>
+<para><acronym><acronymword>NCO</acronymword></acronym> was generously supported from 2004&textndash;2008 by US 
+National Science Foundation (<acronym><acronymword>NSF</acronymword></acronym>) grant 
+<uref><urefurl>http://www.nsf.gov/awardsearch/showAward.do?AwardNumber=0431203</urefurl><urefdesc>IIS-0431203</urefdesc></uref>. 
+This support allowed me to maintain and extend core <acronym><acronymword>NCO</acronymword></acronym> code,
+and others to advance <acronym><acronymword>NCO</acronymword></acronym> in new directions: 
+Gayathri Venkitachalam helped implement <acronym><acronymword>MPI</acronymword></acronym>;
+Harry Mangalam improved regression testing and benchmarking;
+Daniel Wang developed the server-side capability, <acronym><acronymword>SWAMP</acronymword></acronym>;
+and Henry Butowsky, a long-time contributor, developed <command>ncap2</command>.
+This support also led <acronym><acronymword>NCO</acronymword></acronym> to debut in professional journals
+and meetings.  
+The personal and professional contacts made during this evolution have
+been immensely rewarding.&linebreak;
+</para><sp value="1" line=" 1"></sp>
+<noindent></noindent>
+<para>Charlie Zender&linebreak;
+March 2008&linebreak;
+Grenoble, France&linebreak;
+</para>
+<sp value="2" line=" 2"></sp>
+<para>The end of the <acronym><acronymword>NSF</acronymword></acronym> SEI grant in August, 2008 curtailed <acronym><acronymword>NCO</acronymword></acronym>
+development.  
+Fortunately we could justify supporting Henry Butowsky on other research 
+grants until May, 2010 while he developed the key <command>ncap2</command>
+features used in our climate research.
+And recentely the NASA ACCESS program commenced funding NCO support for
+netCDF4 group functionality.&linebreak; 
+Thus <acronym><acronymword>NCO</acronymword></acronym> will grow and evade bit-rot for the foreseeable future.
+</para>
+<para>On a personal level, I continue to receive with gratitude the thanks of
+<acronym><acronymword>NCO</acronymword></acronym> users at nearly every scientific meeting I attend. 
+People introduce themselves, shake my hand and extol, sometimes rather
+effusively, these time-saving tools.
+These exchanges lighten me like anti-gravity.
+Sometimes I daydream how many hours <acronym><acronymword>NCO</acronymword></acronym> has turned from grunt
+work to productive research for researchers world-wide, or from research
+into early happy hours. 
+It&textrsquo;s a cool feeling.
+</para>
+<!-- c @uref{http://www.nasa.gov/mission_pages/IPY/main/PolarExploration.html,NNX07AR23G}.@* -->
+<sp value="1" line=" 1"></sp>
+<noindent></noindent>
+<para>Charlie Zender&linebreak;
+April, 2012&linebreak;
+Irvine, California&linebreak;
+</para>
+<html endspaces=" ">
+<a name="smr"></a> <!&textndash; http://nco.sf.net/nco.html#smr &textndash;>
+</html>
+</unnumbered>
+<node name="Summary" spaces=" "><nodename>Summary</nodename><nodenext spaces=" ">Introduction</nodenext><nodeprev spaces=" ">Foreword</nodeprev><nodeup spaces=" ">Top</nodeup></node>
+<unnumbered spaces=" "><sectiontitle>Summary</sectiontitle>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="4">operators</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="5">summary</indexterm></cindex>
+<para>This manual describes <acronym><acronymword>NCO</acronymword></acronym>, which stands for netCDF Operators.
+<acronym><acronymword>NCO</acronymword></acronym> is a suite of programs known as <dfn>operators</dfn>.
+Each operator is a standalone, command line program executed at the
+shell-level like, e.g., <command>ls</command> or <command>mkdir</command>.  
+The operators take netCDF files (including <acronym><acronymword>HDF5</acronymword></acronym> files
+constructed using the netCDF <acronym><acronymword>API</acronymword></acronym>) as input, perform an
+operation (e.g., averaging or hyperslabbing), and produce a netCDF file 
+as output.  
+The operators are primarily designed to aid manipulation and analysis of 
+data.
+The examples in this documentation are typical applications of the
+operators for processing climate model output. 
+This stems from their origin, though the operators are as general as
+netCDF itself.
+</para>
+<html endspaces=" ">
+<a name="ntr"></a> <!&textndash; http://nco.sf.net/nco.html#ntr &textndash;>
+</html>
+</unnumbered>
+<node name="Introduction" spaces=" "><nodename>Introduction</nodename><nodenext spaces=" ">Strategies</nodenext><nodeprev spaces=" ">Summary</nodeprev><nodeup spaces=" ">Top</nodeup></node>
+<chapter spaces=" "><sectiontitle>Introduction</sectiontitle>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="6">introduction</indexterm></cindex>
+
+<menu endspaces=" ">
+<menuentry leadingtext="* "><menunode separator="::">Availability</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">How to Use This guide</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Compatability</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Symbolic Links</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Libraries</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">netCDF2/3/4 and HDF4/5 Support</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Help Requests and Bug Reports</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry></menu>
+
+<node name="Availability" spaces=" "><nodename>Availability</nodename><nodenext spaces=" ">How to Use This guide</nodenext><nodeprev spaces=" ">Introduction</nodeprev><nodeup spaces=" ">Introduction</nodeup></node>
+<section spaces=" "><sectiontitle>Availability</sectiontitle>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="7"><acronym><acronymword>NCO</acronymword></acronym> availability</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="8">source code</indexterm></cindex>
+<para>The complete <acronym><acronymword>NCO</acronymword></acronym> source distribution is currently distributed
+as a <dfn>compressed tarfile</dfn> from
+<uref><urefurl>http://sf.net/projects/nco</urefurl></uref>
+and from
+<uref><urefurl>http://dust.ess.uci.edu/nco/nco.tar.gz</urefurl></uref>.
+The compressed tarfile must be uncompressed and untarred before building
+<acronym><acronymword>NCO</acronymword></acronym>.
+Uncompress the file with <samp>gunzip nco.tar.gz</samp>. 
+Extract the source files from the resulting tarfile with <samp>tar -xvf
+nco.tar</samp>.    
+<acronym><acronymword>GNU</acronymword></acronym> <code>tar</code> lets you perform both operations in one step
+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="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>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="14">Info</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="15"><cite>User Guide</cite></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="16"><cite>NCO User Guide</cite></indexterm></cindex>
+<para>The documentation for <acronym><acronymword>NCO</acronymword></acronym> is called the 
+<cite>NCO User Guide</cite>. 
+The <cite>User Guide</cite> is available in <acronym><acronymword>PDF</acronymword></acronym>, Postscript,
+<acronym><acronymword>HTML</acronymword></acronym>, <acronym><acronymword>DVI</acronymword></acronym>, &tex;info, and Info formats.
+These formats are included in the source distribution in the files
+<file>nco.pdf</file>, <file>nco.ps</file>, <file>nco.html</file>, <file>nco.dvi</file>,
+<file>nco.texi</file>, and <file>nco.info*</file>, respectively.
+All the documentation descends from a single source file,
+<file>nco.texi</file>
+<footnote spaces="   \n"><para>To produce these formats, <file>nco.texi</file> was simply run through the
+freely available programs <code>texi2dvi</code>, <code>dvips</code>,
+<code>texi2html</code>, and <code>makeinfo</code>.    
+Due to a bug in &tex;, the resulting Postscript file, <file>nco.ps</file>,
+contains the Table of Contents as the final pages. 
+Thus if you print <file>nco.ps</file>, remember to insert the Table of
+Contents after the cover sheet before you staple the manual.
+</para></footnote>.
+Hence the documentation in every format is very similar.
+However, some of the complex mathematical expressions needed to describe
+<command>ncwa</command> can only be displayed in <acronym><acronymword>DVI</acronymword></acronym>, Postscript, and 
+<acronym><acronymword>PDF</acronymword></acronym> formats. 
+</para>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="17">publications</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="18">presentations</indexterm></cindex>
+<para>A complete list of papers and publications on/about <acronym><acronymword>NCO</acronymword></acronym> 
+is available on the <acronym><acronymword>NCO</acronymword></acronym> homepage.
+Most of these are freely available. 
+<!-- c 20130526 fxm Replace mybibnode with @mybibnode{} -->
+<!-- c 20130526 Doing so, unfortunately, produces error "TeX capacity exceeded, sorry [input stack size=5000]." -->
+<!-- c 20130526 Denude document of @mybibcite{} until it works -->
+<!-- c The primary refereed publications are @mybibcite{ZeM06} and @mybibcite{Zen08}.  -->
+The primary refereed publications are ZeM06 and Zen08. 
+These contain copyright restrictions which limit their redistribution,
+but they are freely available in preprint form from the <acronym><acronymword>NCO</acronymword></acronym>.
+</para>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="19"><acronym><acronymword>NCO</acronymword></acronym> homepage</indexterm></cindex>
+<para>If you want to quickly see what the latest improvements in <acronym><acronymword>NCO</acronymword></acronym>
+are (without downloading the entire source distribution), visit the
+<acronym><acronymword>NCO</acronymword></acronym> homepage at 
+<uref><urefurl>http://nco.sf.net</urefurl></uref>.
+The <acronym><acronymword>HTML</acronymword></acronym> version of the <cite>User Guide</cite> is also available 
+online through the World Wide Web at <acronym><acronymword>URL</acronymword></acronym>
+<uref><urefurl>http://nco.sf.net/nco.html</urefurl></uref>.
+<cindex index="cp" spaces=" "><indexterm index="cp" number="20">netCDF</indexterm></cindex>
+To build and use <acronym><acronymword>NCO</acronymword></acronym>, you must have netCDF installed.
+The netCDF homepage is
+<uref><urefurl>http://www.unidata.ucar.edu/packages/netcdf</urefurl></uref>.
+</para>
+<para>New <acronym><acronymword>NCO</acronymword></acronym> releases are announced on the netCDF list 
+and on the <code>nco-announce</code> mailing list 
+<uref><urefurl>http://lists.sf.net/mailman/listinfo/nco-announce</urefurl></uref>.
+</para>
+<ignore>
+This tests incorporates an image using the @code{@@image} command.
+ at image{/data/zender/ps/odxc,6in,}
+</ignore>
+
+</section>
+<node name="How-to-Use-This-guide" spaces=" "><nodename>How to Use This guide</nodename><nodenext spaces=" ">Compatability</nodenext><nodeprev spaces=" ">Availability</nodeprev><nodeup spaces=" ">Introduction</nodeup></node>
+<section spaces=" "><sectiontitle>How to Use This Guide</sectiontitle>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="21">contents</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="22">introduction</indexterm></cindex>
+<para>Detailed instructions about
+<uref><urefurl>http://nco.sf.net/#Source</urefurl><urefdesc spaces=" ">how to download the newest version</urefdesc></uref>, 
+and <uref><urefurl>http://nco.sf.net/#bld</urefurl><urefdesc spaces=" ">how to complie source code</urefdesc></uref>,
+as well as a <uref><urefurl>http://nco.sf.net/#FAQ</urefurl><urefdesc spaces=" "><acronym><acronymword>FAQ</acronymword></acronym></urefdesc></uref> and 
+descriptions of <uref><urefurl>http://nco.sf.net/#bug</urefurl><urefdesc spaces=" ">Known Problems</urefdesc></uref> etc.
+are on our homepage 
+(<uref><urefurl>http://nco.sf.net/</urefurl></uref>).
+</para>
+<para>There are twelve operators in the current version (4.4.2).
+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>).
+More specific use examples for each operator can be seen by visiting the
+operator-specific examples in the <ref label="Operator-Reference-Manual"><xrefnodename>Operator Reference Manual</xrefnodename></ref>.
+These can be found directly by prepending the operator name with the
+<code>xmp_</code> tag, e.g., <uref><urefurl>http://nco.sf.net/nco.html#xmp_ncks</urefurl></uref>.
+Also, users can type the operator name on the shell command line to 
+see all the available options, or type, e.g., <samp>man ncks</samp> to see
+a help man-page.
+</para>
+<para><acronym><acronymword>NCO</acronymword></acronym> is a command-line language.
+You can either use an operator after the prompt (e.g., <samp>$</samp> here),
+like, 
+</para><example endspaces=" ">
+<pre xml:space="preserve">$ <command>operator</command> <option>[options]</option> <file>input</file> <file>[output]</file>
+</pre></example>
+<para>or write all commands lines into a shell script, as in
+the <acronym><acronymword>CMIP5</acronymword></acronym> Example (<pxref label="CMIP5-Example"><xrefnodename>CMIP5 Example</xrefnodename></pxref>).
+</para>
+<para>If you are new to <acronym><acronymword>NCO</acronymword></acronym>, the Quick Start (<pxref label="Quick-Start"><xrefnodename>Quick Start</xrefnodename></pxref>)
+shows simple examples about how to use <acronym><acronymword>NCO</acronymword></acronym> on different kinds
+of data files.  
+More detailed &textldquo;real-world&textrdquo; examples are in the
+<ref label="CMIP5-Example"><xrefnodename>CMIP5 Example</xrefnodename><xrefinfoname spaces=" "><acronym><acronymword>CMIP5</acronymword></acronym> Example</xrefinfoname></ref>. 
+The <ref label="General-Index"><xrefnodename>General Index</xrefnodename><xrefinfoname spaces=" ">Index</xrefinfoname></ref> is presents multiple keyword entries for
+the same subject. 
+If these resources do not help enough, please 
+<pxref label="Help-Requests-and-Bug-Reports"><xrefnodename>Help Requests and Bug Reports</xrefnodename></pxref>.
+</para>
+</section>
+<node name="Compatability" spaces=" "><nodename>Compatability</nodename><nodenext spaces=" ">Symbolic Links</nodenext><nodeprev spaces=" ">How to Use This guide</nodeprev><nodeup spaces=" ">Introduction</nodeup></node>
+<section spaces=" "><sectiontitle>Operating systems compatible with <acronym><acronymword>NCO</acronymword></acronym></sectiontitle>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="23"><acronym><acronymword>OS</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="24"><acronym><acronymword>IBM</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="25"><acronym><acronymword>NEC</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="26"><acronym><acronymword>SGI</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="27"><acronym><acronymword>HP</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="28"><acronym><acronymword>DEC</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="29"><acronym><acronymword>PGI</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="30">Cray</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="31">Digital</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="32">Sun</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="33">Intel</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="34">Comeau</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="35">Compaq</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="36">Macintosh</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="37">Microsoft</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="38">Windows</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="39">PathScale</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="40">QLogic</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="41">compatability</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="42">portability</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="43">installation</indexterm></cindex>
+<para><acronym><acronymword>NCO</acronymword></acronym> has been successfully ported and tested and is known to
+work on the following 32- and 64-bit platforms:  
+<!-- c alphabetize by OS name -->
+<acronym><acronymword>IBM AIX</acronymword></acronym> 4.x, 5.x,
+FreeBSD 4.x, 
+<acronym><acronymword>GNU</acronymword></acronym>/Linux 2.x, LinuxPPC, LinuxAlpha, LinuxARM, LinuxSparc64,
+<acronym><acronymword>SGI IRIX</acronymword></acronym> 5.x and 6.x,
+<w>MacOS X</w> 10.x, 
+<acronym><acronymword>NEC</acronymword></acronym> Super-UX 10.x, 
+<acronym><acronymword>DEC OSF</acronymword></acronym>, 
+Sun SunOS 4.1.x, Solaris 2.x, 
+<acronym><acronymword>Cray UNICOS</acronymword></acronym> 8.x&textndash;10.x,
+and MS Windows95 and all later versions.
+If you port the code to a new operating system, please send me a note 
+and any patches you required.
+</para>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="44"><acronym><acronymword>UNIX</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="45">Unidata</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="46">UDUnits</indexterm></cindex>
+<para>The major prerequisite for installing <acronym><acronymword>NCO</acronymword></acronym> on a particular
+platform is the successful, prior installation of the netCDF library
+(and, as of 2003, the UDUnits library).
+Unidata has shown a commitment to maintaining netCDF and UDUnits on all
+popular <acronym><acronymword>UNIX</acronymword></acronym> platforms, and is moving towards full support for 
+the Microsoft Windows operating system (<acronym><acronymword>OS</acronymword></acronym>).
+Given this, the only difficulty in implementing <acronym><acronymword>NCO</acronymword></acronym> on a
+particular platform is standardization of various <w>C</w>-language API
+system calls. 
+<acronym><acronymword>NCO</acronymword></acronym> code is tested for <acronym><acronymword>ANSI</acronymword></acronym> compliance by
+compiling with <w>C99 compilers</w> including those from 
+<cindex index="cp" spaces=" "><indexterm index="cp" number="47"><command>CC</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="48"><command>c++</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="49"><command>cc</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="50"><command>clang</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="51"><command>como</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="52"><command>cxx</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="53"><command>gcc</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="54"><command>g++</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="55"><command>icc</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="56"><command>MVS</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="57"><command>pgcc</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="58"><command>pgCC</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="59"><command>pathcc</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="60"><command>pathCC</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="61"><command>xlC</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="62"><command>xlc</command></indexterm></cindex>
+<acronym><acronymword>GNU</acronymword></acronym> (<samp>gcc -std=c99 -pedantic -D_BSD_SOURCE -D_POSIX_SOURCE</samp> -Wall)
+<footnote spaces="\n"><para>The <samp>_BSD_SOURCE</samp> token is required on some Linux platforms where 
+<command>gcc</command> dislikes the network header files like
+<file>netinet/in.h</file>).</para></footnote>,
+Comeau Computing (<samp>como --c99</samp>),
+Cray (<samp>cc</samp>),
+<acronym><acronymword>HP</acronymword></acronym>/Compaq/<acronym><acronymword>DEC</acronymword></acronym> (<samp>cc</samp>),
+<acronym><acronymword>IBM</acronymword></acronym> (<samp>xlc -c -qlanglvl=extc99</samp>),
+Intel (<samp>icc -std=c99</samp>),
+<cindex index="cp" spaces=" "><indexterm index="cp" number="63"><acronym><acronymword>LLVM</acronymword></acronym></indexterm></cindex>
+<acronym><acronymword>LLVM</acronymword></acronym> (<samp>clang</samp>),
+<acronym><acronymword>NEC</acronymword></acronym> (<samp>cc</samp>),
+PathScale (QLogic) (<samp>pathcc -std=c99</samp>),
+<acronym><acronymword>PGI</acronymword></acronym> (<samp>pgcc -c9x</samp>),
+<acronym><acronymword>SGI</acronymword></acronym> (<samp>cc -c99</samp>),
+and
+Sun (<samp>cc</samp>).
+<cindex index="cp" spaces=" "><indexterm index="cp" number="64">C++</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="65"><acronym><acronymword>ISO</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="66"><command>libnco</command></indexterm></cindex>
+<acronym><acronymword>NCO</acronymword></acronym> (all commands and the <command>libnco</command> library) and
+the C++ interface to netCDF (called <command>libnco_c++</command>) comply with
+the <acronym><acronymword>ISO</acronymword></acronym> C++ standards as implemented by
+Comeau Computing (<samp>como</samp>),
+Cray (<samp>CC</samp>),
+<acronym><acronymword>GNU</acronymword></acronym> (<samp>g++ -Wall</samp>),
+<acronym><acronymword>HP</acronymword></acronym>/Compaq/<acronym><acronymword>DEC</acronymword></acronym> (<samp>cxx</samp>),
+<acronym><acronymword>IBM</acronymword></acronym> (<samp>xlC</samp>),
+Intel (<samp>icc</samp>),
+Microsoft (<samp>MVS</samp>),
+<acronym><acronymword>NEC</acronymword></acronym> (<samp>c++</samp>),
+PathScale (Qlogic) (<samp>pathCC</samp>),
+<acronym><acronymword>PGI</acronymword></acronym> (<samp>pgCC</samp>),
+<acronym><acronymword>SGI</acronymword></acronym> (<samp>CC -LANG:std</samp>),
+and
+Sun (<samp>CC -LANG:std</samp>).
+<cindex index="cp" spaces=" "><indexterm index="cp" number="67"><file>Makefile</file></indexterm></cindex>
+See <file>nco/bld/Makefile</file> and <file>nco/src/nco_c++/Makefile.old</file> for
+more details and exact settings. 
+</para>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="68"><acronym><acronymword>ANSI</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="69">C89</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="70"><code>printf</code></indexterm></cindex>
+<para>Until recently (and not even yet), <acronym><acronymword>ANSI</acronymword></acronym>-compliant has meant
+compliance with the 1989 <acronym><acronymword>ISO</acronymword></acronym> C-standard, usually called C89 (with
+minor revisions made in 1994 and 1995).
+C89 lacks variable-size arrays, restricted pointers, some useful
+<code>printf</code> formats, and many mathematical special functions.
+<cindex index="cp" spaces=" "><indexterm index="cp" number="71">C99</indexterm></cindex>
+These are valuable features of C99, the 1999 <acronym><acronymword>ISO</acronymword></acronym> C-standard. 
+<acronym><acronymword>NCO</acronymword></acronym> is C99-compliant where possible and C89-compliant where
+necessary. 
+Certain branches in the code are required to satisfy the native
+<acronym><acronymword>SGI</acronymword></acronym> and SunOS <w>C compilers</w>, which are strictly <acronym><acronymword>ANSI</acronymword></acronym> 
+C89 compliant, and cannot benefit from C99 features.
+However, C99 features are fully supported by modern <acronym><acronymword>AIX</acronymword></acronym>,
+<acronym><acronymword>GNU</acronymword></acronym>, Intel, <acronym><acronymword>NEC</acronymword></acronym>, Solaris, and <acronym><acronymword>UNICOS</acronymword></acronym>
+compilers. 
+<acronym><acronymword>NCO</acronymword></acronym> requires a C99-compliant compiler as of <acronym><acronymword>NCO</acronymword></acronym>
+<w>version 2.9.8</w>, released in August, 2004.
+</para>
+<para>The most time-intensive portion of <acronym><acronymword>NCO</acronymword></acronym> execution is spent in
+arithmetic operations, e.g., multiplication, averaging, subtraction.
+These operations were performed in Fortran by default until August,
+1999.  
+This was a design decision based on the relative speed of Fortran-based
+object code vs.&noeos; C-based object code in late 1994.
+<w>C compiler</w> vectorization capabilities have dramatically improved 
+since 1994.
+We have accordingly replaced all Fortran subroutines with <w>C functions</w>.
+This greatly simplifies the task of building <acronym><acronymword>NCO</acronymword></acronym> on nominally
+unsupported platforms.  
+<cindex index="cp" spaces=" "><indexterm index="cp" number="72">C language</indexterm></cindex>
+As of August 1999, <acronym><acronymword>NCO</acronymword></acronym> built entirely <w>in C</w> by default.
+This allowed <acronym><acronymword>NCO</acronymword></acronym> to compile on any machine with an
+<acronym><acronymword>ANSI</acronymword></acronym> <w>C compiler</w>. 
+<cindex index="cp" spaces=" "><indexterm index="cp" number="73">C99</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="74">C89</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="75"><code>restrict</code></indexterm></cindex>
+In August 2004, the first C99 feature, the <code>restrict</code> type
+qualifier, entered <acronym><acronymword>NCO</acronymword></acronym> in version 2.9.8. 
+<w>C compilers</w> can obtain better performance with C99 restricted 
+pointers since they inform the compiler when it may make Fortran-like
+assumptions regarding pointer contents alteration.
+Subsequently, <acronym><acronymword>NCO</acronymword></acronym> requires a C99 compiler to build correctly
+<footnote><para><acronym><acronymword>NCO</acronymword></acronym> may still build with an 
+<acronym><acronymword>ANSI</acronymword></acronym> or <acronym><acronymword>ISO</acronymword></acronym> C89 or C94/95-compliant compiler if the
+<w>C pre-processor</w> undefines the <code>restrict</code> type qualifier, e.g.,
+by invoking the compiler with <samp>-Drestrict=''</samp>.</para></footnote>.
+</para>
+<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>).
+<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
+such as Bessel functions, Legendre polynomials, and incomplete gamma
+functions (<pxref label="GSL-special-functions"><xrefnodename>GSL special functions</xrefnodename></pxref>).
+</para> 
+<cindex index="cp" spaces=" "><indexterm index="cp" number="77"><var>gamma</var></indexterm></cindex>
+<para>In June 2005, <acronym><acronymword>NCO</acronymword></acronym> version 3.0.1 began to take advantage
+of C99 mathematical special functions.
+These include the standarized gamma function (called <code>tgamma()</code> 
+for &textldquo;true gamma&textrdquo;). 
+<cindex index="cp" spaces=" "><indexterm index="cp" number="78">automagic</indexterm></cindex>
+<acronym><acronymword>NCO</acronymword></acronym> automagically takes advantage of some <acronym><acronymword>GNU</acronymword></acronym>
+Compiler Collection (<acronym><acronymword>GCC</acronymword></acronym>) extensions to <w><acronym><acronymword>ANSI</acronymword></acronym> C</w>.
+</para>
+<para>As of July 2000 and <acronym><acronymword>NCO</acronymword></acronym> <w>version 1.2</w>, <acronym><acronymword>NCO</acronymword></acronym> no
+longer performs arithmetic operations in Fortran.
+We decided to sacrifice executable speed for code maintainability.
+Since no objective statistics were ever performed to quantify 
+the difference in speed between the Fortran and <w>C code</w>,
+the performance penalty incurred by this decision is unknown.
+Supporting Fortran involves maintaining two sets of routines for every
+arithmetic operation. 
+The <code>USE_FORTRAN_ARITHMETIC</code> flag is still retained in the
+<file>Makefile</file>.
+The file containing the Fortran code, <file>nco_fortran.F</file>, has been
+deprecated but a volunteer (<w>Dr.&noeos; Frankenstein</w>?) could resurrect it.
+If you would like to volunteer to maintain <file>nco_fortran.F</file> please 
+contact me. 
+</para>
+<!-- c Following section is obsolete -->
+<ignore>
+It is still possible to request Fortran routines to perform arithmetic
+operations, however.
+ at cindex preprocessor tokens
+ at cindex @code{USE_FORTRAN_ARITHMETIC}
+This can be accomplished by defining the preprocessor token
+ at code{USE_FORTRAN_ARITHMETIC} and rebuilding @acronym{NCO}.
+ at cindex performance
+As its name suggests, the @code{USE_FORTRAN_ARITHMETIC} token instructs
+ at acronym{NCO} to attempts to interface the @w{C routines} with Fortran
+arithmetic. 
+Although using Fortran calls instead @w{of C} reduces the portability and
+and increases the maintenance of the @acronym{NCO} operators, it may
+also increase the performance of the numeric operators.
+Presumably this will depend on your machine type, the quality of @w{the C}
+and Fortran compilers, and the size of the data files
+ at footnote{If you decide to test the efficiency of the averagers compiled
+with @code{USE_FORTRAN_ARITHMETIC} versus the default @w{C averagers} I
+would be most interested to hear the results.
+Please E-mail me the results including the size of the datasets, the
+platform, and the change in the wallclock time for execution.}.
+</ignore>
+
+<menu endspaces=" ">
+<menuentry leadingtext="* "><menunode separator="::">Windows Operating System</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry></menu>
+
+<html endspaces=" ">
+<a name="wnd"></a> <!&textndash; http://nco.sf.net/nco.html#wnd &textndash;>
+<a name="windows"></a> <!&textndash; http://nco.sf.net/nco.html#windows &textndash;>
+<a name="qt"></a> <!&textndash; http://nco.sf.net/nco.html#qt &textndash;>
+</html>
+<node name="Windows-Operating-System" spaces=" "><nodename>Windows Operating System</nodename><nodenext spaces="  "></nodenext><nodeprev spaces=" ">Compatability</nodeprev><nodeup spaces=" ">Compatability</nodeup></node>
+<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="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.
+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.
+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.
+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.
+</para>
+<para>Using the freely available Cygwin (formerly gnu-win32) development
+environment  
+<footnote><para>The Cygwin package is available from&linebreak;
+<code>http://sourceware.redhat.com/cygwin</code>&linebreak;
+<cindex index="cp" spaces=" "><indexterm index="cp" number="88"><code>gcc</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="89"><code>g++</code></indexterm></cindex>
+Currently, <w>Cygwin 20.x</w> comes with the <acronym><acronymword>GNU</acronymword></acronym> C/C++
+compilers (<command>gcc</command>, <command>g++</command>.
+These <acronym><acronymword>GNU</acronymword></acronym> compilers may be used to build the netCDF
+distribution itself.</para></footnote>, the compilation process is very similar to
+installing <acronym><acronymword>NCO</acronymword></acronym> on a <acronym><acronymword>UNIX</acronymword></acronym> system.  
+<cindex index="cp" spaces=" "><indexterm index="cp" number="90">preprocessor tokens</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="91">Cygwin</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="92"><code>gnu-win32</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="93"><code>WIN32</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="94"><file>GNUmakefile</file></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="95"><file>Makefile</file></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="96"><code>f90</code></indexterm></cindex>
+Set the <code>PVM_ARCH</code> preprocessor token to <code>WIN32</code>.  
+Note that defining <code>WIN32</code> has the side effect of disabling
+Internet features of <acronym><acronymword>NCO</acronymword></acronym> (see below). 
+<acronym><acronymword>NCO</acronymword></acronym> should now build like it does on <acronym><acronymword>UNIX</acronymword></acronym>.
+</para>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="97"><acronym><acronymword>UNIX</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="98"><code>getuid</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="99"><code>gethostname</code></indexterm></cindex>
+<findex index="fn" spaces=" "><indexterm index="fn" number="2" mergedindex="cp"><file><arpa/nameser.h></file></indexterm></findex>
+<findex index="fn" spaces=" "><indexterm index="fn" number="3" mergedindex="cp"><file><resolv.h></file></indexterm></findex>
+<para>The least portable section of the code is the use of standard
+<acronym><acronymword>UNIX</acronymword></acronym> and Internet protocols (e.g., <code>ftp</code>, <code>rcp</code>,
+<code>scp</code>, <code>sftp</code>, <code>getuid</code>, <code>gethostname</code>, and header
+files <file><arpa/nameser.h></file> and 
+<file><resolv.h></file>). 
+<cindex index="cp" spaces=" "><indexterm index="cp" number="100"><code>ftp</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="101"><code>sftp</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="102"><code>rcp</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="103"><code>scp</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="104"><acronym><acronymword>SSH</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="105">remote files</indexterm></cindex>
+Fortunately, these <acronym><acronymword>UNIX</acronymword></acronym>-y calls are only invoked by the single  
+<acronym><acronymword>NCO</acronymword></acronym> subroutine which is responsible for retrieving files
+stored on remote systems (<pxref label="Remote-storage"><xrefnodename>Remote storage</xrefnodename></pxref>).
+In order to support <acronym><acronymword>NCO</acronymword></acronym> on the Microsoft Windows platforms,
+this single feature was disabled (on Windows <acronym><acronymword>OS</acronymword></acronym> only).
+This was required by <w>Cygwin 18.x</w>&textmdash;newer versions of Cygwin may
+support these protocols (let me know if this is the case).
+The <acronym><acronymword>NCO</acronymword></acronym> operators should behave identically on Windows and
+<acronym><acronymword>UNIX</acronymword></acronym> platforms in all other respects.
+</para>
+<html endspaces=" ">
+<a name="sym"></a> <!&textndash; http://nco.sf.net/nco.html#sym &textndash;>
+</html>
+</subsection>
+</section>
+<node name="Symbolic-Links" spaces=" "><nodename>Symbolic Links</nodename><nodenext spaces=" ">Libraries</nodenext><nodeprev spaces=" ">Compatability</nodeprev><nodeup spaces=" ">Introduction</nodeup></node>
+<section spaces=" "><sectiontitle>Symbolic Links</sectiontitle>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="106">symbolic links</indexterm></cindex>
+<para><acronym><acronymword>NCO</acronymword></acronym> relies on a common set of underlying algorithms.
+To minimize duplication of source code, multiple operators sometimes
+share the same underlying source.
+This is accomplished by symbolic links from a single underlying
+executable program to one or more invoked executable names.
+For example, <command>nces</command> and <command>ncrcat</command> are symbolically linked  
+to the <command>ncra</command> executable.
+The <command>ncra</command> executable behaves slightly differently based on its
+invocation name (i.e., <samp>argv[0]</samp>), which can be 
+<command>nces</command>, <command>ncra</command>, or <command>ncrcat</command>.
+Logically, these are three different operators that happen to share 
+the same executable.
+</para>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="107">Cygwin</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="108">synonym</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="109">pseudonym</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="110"><code>--pseudonym</code></indexterm></cindex>
+<para>For historical reasons, and to be more user friendly, multiple synonyms 
+(or pseudonyms) may refer to the same operator invoked with different
+switches. 
+For example, <command>ncdiff</command> is the same as <command>ncbo</command> and
+<command>ncpack</command> is the same as <command>ncpdq</command>.
+We implement the symbolic links and synonyms by the executing the
+following <acronym><acronymword>UNIX</acronymword></acronym> commands in the directory where the
+<acronym><acronymword>NCO</acronymword></acronym> executables are installed.
+</para><example endspaces=" ">
+<pre xml:space="preserve">ln -s -f ncbo ncdiff    # ncbo --op_typ='+'
+ln -s -f ncra ncecat    # ncra --pseudonym='ncecat'
+ln -s -f ncra ncrcat    # ncra --pseudonym='ncrcat'
+ln -s -f ncbo ncadd     # ncbo --op_typ='+'
+ln -s -f ncbo ncsubtract # ncbo --op_typ='-'
+ln -s -f ncbo ncmultiply # ncbo --op_typ='*'
+ln -s -f ncbo ncdivide   # ncbo --op_typ='/'
+ln -s -f ncpdq ncpack    # ncpdq
+ln -s -f ncpdq ncunpack  # ncpdq --unpack
+# NB: Cygwin executable (and link) names have an '.exe' suffix, e.g.,
+ln -s -f ncbo.exe ncdiff.exe
+...
+</pre></example>
+<para>The imputed command called by the link is given after the comment.
+As can be seen, some these links impute the passing of a command line
+argument to further modify the behavior of the underlying executable.
+For example, <command>ncdivide</command> is a pseudonym for
+<command>ncbo --op_typ='/'</command>.
+</para>
+<html endspaces=" ">
+<a name="lbr"></a> <!&textndash; http://nco.sf.net/nco.html#lbr &textndash;>
+</html>
+</section>
+<node name="Libraries" spaces=" "><nodename>Libraries</nodename><nodenext spaces=" ">netCDF2/3/4 and HDF4/5 Support</nodenext><nodeprev spaces=" ">Symbolic Links</nodeprev><nodeup spaces=" ">Introduction</nodeup></node>
+<section spaces=" "><sectiontitle>Libraries</sectiontitle>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="111">libraries</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="112"><code>LD_LIBRARY_PATH</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="113">dynamic linking</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="114">static linking</indexterm></cindex>
+<para>Like all executables, the <acronym><acronymword>NCO</acronymword></acronym> operators can be built using dynamic
+linking. 
+<cindex index="cp" spaces=" "><indexterm index="cp" number="115">performance</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="116">operator speed</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="117">speed</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="118">execution time</indexterm></cindex>
+This reduces the size of the executable and can result in significant
+performance enhancements on multiuser systems.
+Unfortunately, if your library search path (usually the
+<env>LD_LIBRARY_PATH</env> environment variable) is not set correctly, or if
+the system libraries have been moved, renamed, or deleted since
+<acronym><acronymword>NCO</acronymword></acronym> was installed, it is possible <acronym><acronymword>NCO</acronymword></acronym> operators
+will fail with a message that they cannot find a dynamically loaded (aka
+<dfn>shared object</dfn> or <samp>.so</samp>) library. 
+This will produce a distinctive error message, such as
+<samp>ld.so.1:&hyphenbreak; /usr/local/bin/nces:&hyphenbreak; fatal:&hyphenbreak; libsunmath.&hyphenbreak;so.1:&hyphenbreak; can't
+open&hyphenbreak; file:&hyphenbreak; errno&hyphenbreak;=2</samp>.   
+If you received an error message like this, ask your system 
+administrator to diagnose whether the library is truly missing
+<footnote><para>The <command>ldd</command> command, if it is available on your system,
+will tell you where the executable is looking for each dynamically
+loaded library. Use, e.g., <code>ldd `which nces`</code>.</para></footnote>, or whether you
+simply need to alter your library search path.
+As a final remedy, you may re-compile and install <acronym><acronymword>NCO</acronymword></acronym> with all
+operators statically linked.  
+</para>
+</section>
+<node name="netCDF2_002f3_002f4-and-HDF4_002f5-Support" spaces=" "><nodename>netCDF2/3/4 and HDF4/5 Support</nodename><nodenext spaces=" ">Help Requests and Bug Reports</nodenext><nodeprev spaces=" ">Libraries</nodeprev><nodeup spaces=" ">Introduction</nodeup></node>
+<section spaces=" "><sectiontitle>netCDF2/3/4 and HDF4/5 Support</sectiontitle>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="119">netCDF2</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="120">netCDF3</indexterm></cindex>
+<para>netCDF <w>version 2</w> was released in 1993.
+<acronym><acronymword>NCO</acronymword></acronym> (specifically <command>ncks</command>) began soon after this in 1994.  
+<w>netCDF 3.0</w> was released in 1996, and we were not exactly eager to 
+convert all code to the newer, less tested netCDF implementation.
+One <w>netCDF3</w> interface call (<code>nc_inq_libvers</code>) was added to 
+<acronym><acronymword>NCO</acronymword></acronym> in January, 1998, to aid in maintainance and debugging. 
+In March, 2001, the final <acronym><acronymword>NCO</acronymword></acronym> conversion to <w>netCDF3</w> 
+was completed (coincidentally on the same day <w>netCDF 3.5</w> was
+released). 
+<acronym><acronymword>NCO</acronymword></acronym> <w>versions 2.0</w> and higher are built with the
+<code>-DNO_NETCDF_2</code> flag to ensure no <w>netCDF2</w> interface calls   
+are used.
+<cindex index="cp" spaces=" "><indexterm index="cp" number="121"><code>NO_NETCDF_2</code></indexterm></cindex>
+</para>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="122"><acronym><acronymword>HDF</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="123">Hierarchical Data Format</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="124">Mike Folk</indexterm></cindex>
+<para>However, the ability to compile <acronym><acronymword>NCO</acronymword></acronym> with only <w>netCDF2</w>
+calls is worth maintaining because <acronym><acronymword>HDF</acronymword></acronym> <w>version 4</w>, 
+aka <acronym><acronymword>HDF4</acronymword></acronym> or simply <acronym><acronymword>HDF</acronymword></acronym>, 
+<footnote><para>The Hierarchical Data Format, or <acronym><acronymword>HDF</acronymword></acronym>, is another
+self-describing data format similar to, but more elaborate than,
+netCDF. 
+<acronym><acronymword>HDF</acronymword></acronym> comes in two flavors, <acronym><acronymword>HDF4</acronymword></acronym> and <acronym><acronymword>HDF5</acronymword></acronym>. 
+Often people use the shorthand <acronym><acronymword>HDF</acronymword></acronym> to refer to the older
+format <acronym><acronymword>HDF4</acronymword></acronym>.
+People almost always use <acronym><acronymword>HDF5</acronymword></acronym> to refer to <acronym><acronymword>HDF5</acronymword></acronym>.</para></footnote> 
+(available from <uref><urefurl>http://hdfgroup.org</urefurl><urefdesc spaces=" ">HDF</urefdesc></uref>)
+supports only the <w>netCDF2</w> library calls
+(see <uref><urefurl>http://hdfgroup.org/UG41r3_html/SDS_SD.fm12.html#47784</urefurl></uref>).
+There are two versions of <acronym><acronymword>HDF</acronymword></acronym>.
+Currently <acronym><acronymword>HDF</acronymword></acronym> <w>version 4.x</w> supports the full <w>netCDF2</w>
+<acronym><acronymword>API</acronymword></acronym> and thus <acronym><acronymword>NCO</acronymword></acronym> <w>version 1.2.x</w>. 
+If <acronym><acronymword>NCO</acronymword></acronym> <w>version 1.2.x</w> (or earlier) is built with only
+<w>netCDF2</w> calls then all <acronym><acronymword>NCO</acronymword></acronym> operators should work with 
+<acronym><acronymword>HDF4</acronymword></acronym> files as well as netCDF files
+<footnote><para>One must link the <acronym><acronymword>NCO</acronymword></acronym> code to the <acronym><acronymword>HDF4</acronymword></acronym>
+<acronym><acronymword>MFHDF</acronymword></acronym> library instead of the usual netCDF library. 
+Apparently <samp>MF</samp> stands for Multi-file not for Mike Folk.
+In any case, until about 2007 the <acronym><acronymword>MFHDF</acronymword></acronym> library only supported 
+<w>netCDF2</w> calls. 
+Most people will never again install <acronym><acronymword>NCO</acronymword></acronym> 1.2.x and so will
+never use <acronym><acronymword>NCO</acronymword></acronym> to write <acronym><acronymword>HDF4</acronymword></acronym> files.
+It is simply too much trouble.</para></footnote>.
+<cindex index="cp" spaces=" "><indexterm index="cp" number="125"><code>NETCDF2_ONLY</code></indexterm></cindex>
+The preprocessor token <code>NETCDF2_ONLY</code> exists
+in <acronym><acronymword>NCO</acronymword></acronym> <w>version 1.2.x</w> to eliminate all <w>netCDF3</w>
+calls.  
+Only versions of <acronym><acronymword>NCO</acronymword></acronym> numbered 1.2.x and earlier have this
+capability. 
+</para>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="126">Unidata</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="127"><acronym><acronymword>NCSA</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="128">netCDF4</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="129"><acronym><acronymword>HDF5</acronymword></acronym></indexterm></cindex>
+<para><acronym><acronymword>HDF</acronymword></acronym> <w>version 5</w> became available in 1999, but did not
+support netCDF (or, for that matter, Fortran) as of December 1999.
+By early 2001, <acronym><acronymword>HDF5</acronymword></acronym> did support Fortran90.
+Thanks to an <acronym><acronymword>NSF</acronymword></acronym>-funded &textldquo;harmonization&textrdquo; partnership,
+<acronym><acronymword>HDF</acronymword></acronym> began to fully support the <w>netCDF3</w> read interface
+(which is employed by <w><acronym><acronymword>NCO</acronymword></acronym> 2.x</w> and later). 
+In 2004, Unidata and <acronym><acronymword>THG</acronymword></acronym> began a project to implement
+the <acronym><acronymword>HDF5</acronymword></acronym> features necessary to support the netCDF API.
+<acronym><acronymword>NCO</acronymword></acronym> version 3.0.3 added support for reading/writing
+netCDF4-formatted <acronym><acronymword>HDF5</acronymword></acronym> files in October, 2005.
+See <ref label="File-Formats-and-Conversion"><xrefnodename>File Formats and Conversion</xrefnodename></ref> for more details.
+</para>
+<para>HDF support for netCDF was completed with HDF5 version 
+<w>version 1.8</w> in 2007. 
+The netCDF front-end that uses this <acronym><acronymword>HDF5</acronymword></acronym> back-end 
+was completed and released soon after as netCDF <w>version 4</w>.
+Download it from the
+<uref><urefurl>http://my.unidata.ucar.edu/content/software/netcdf/netcdf-4</urefurl><urefdesc>netCDF4</urefdesc></uref>
+website. 
+</para>
+<html endspaces=" ">
+<a name="nco4"></a> <!&textndash; http://nco.sf.net/nco.html#nco4 &textndash;>
+</html>
+<para><acronym><acronymword>NCO</acronymword></acronym> version 3.9.0, released in May, 2007, added support for
+all netCDF4 atomic data types except <code>NC_STRING</code>.
+Support for <code>NC_STRING</code>, including ragged arrays of strings,
+was finally added in version 3.9.9, released in June, 2009.
+Support for additional netCDF4 features has been incremental.
+We add one netCDF4 feature at a time.
+You must build <acronym><acronymword>NCO</acronymword></acronym> with netCDF4 to obtain this support.
+</para>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="130"><code>NC_UBYTE</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="131"><code>NC_USHORT</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="132"><code>NC_UINT</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="133"><code>NC_INT64</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="134"><code>NC_UINT64</code></indexterm></cindex>
+<para>The main netCDF4 features that NCO currently supports are the new 
+atomic data types, Lempel-Ziv compression (deflation), and chunking. 
+The new atomic data types are <code>NC_UBYTE</code>, <code>NC_USHORT</code>, 
+<code>NC_UINT</code>, <code>NC_INT64</code>, and <code>NC_UINT64</code>.
+Eight-byte integer support is an especially useful improvement from
+netCDF3. 
+All <acronym><acronymword>NCO</acronymword></acronym> operators support these types, e.g., <command>ncks</command>
+copies and prints them, <command>ncra</command> averages them, and
+<command>ncap2</command> processes algebraic scripts with them.
+<command>ncks</command> prints compression information, if any, to screen.
+</para>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="135">deflation</indexterm></cindex>
+<para><acronym><acronymword>NCO</acronymword></acronym> version 3.9.1 (June, 2007) added support for netCDF4 
+Lempel-Ziv deflation.
+Lempel-Ziv deflation is a lossless compression technique.
+See <ref label="Deflation"><xrefnodename>Deflation</xrefnodename></ref> for more details.
+</para>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="136">chunking</indexterm></cindex>
+<para><acronym><acronymword>NCO</acronymword></acronym> version 3.9.9 (June, 2009) added support for netCDF4
+chunking in <command>ncks</command> and <command>ncecat</command>.
+<acronym><acronymword>NCO</acronymword></acronym> version 4.0.4 (September, 2010) completed support for
+netCDF4 chunking in the remaining operators.
+See <ref label="Chunking"><xrefnodename>Chunking</xrefnodename></ref> for more details.
+</para>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="137">groups</indexterm></cindex>
+<para><acronym><acronymword>NCO</acronymword></acronym> version 4.2.2 (October, 2012) added support for netCDF4
+groups in <command>ncks</command> and <command>ncecat</command>.
+Group support for these operators was complete (e.g., regular
+expressions to select groups and Group Path Editing) as of 
+<acronym><acronymword>NCO</acronymword></acronym> version 4.2.6 (March, 2013).
+See <ref label="Group-Path-Editing"><xrefnodename>Group Path Editing</xrefnodename></ref> for more details.
+Group support for all other operators was finished in the
+<acronym><acronymword>NCO</acronymword></acronym> version 4.3.x series completed in December, 2013.
+</para>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="138">broadcasting groups</indexterm></cindex>
+<para>Support for netCDF4 in the first arithmetic operator, <command>ncbo</command>,
+was introduced in <acronym><acronymword>NCO</acronymword></acronym> version 4.3.0 (March, 2013).
+<acronym><acronymword>NCO</acronymword></acronym> version 4.3.1 (May, 2013) completed this support and
+introduced the first example of automatic group broadcasting.
+See <ref label="ncbo-netCDF-Binary-Operator"><xrefnodename>ncbo netCDF Binary Operator</xrefnodename></ref> for more details.
+</para>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="139"><acronym><acronymword>HDF5</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="140"><code>-4</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="141"><code>-3</code></indexterm></cindex>
+<para>netCDF4-enabled <acronym><acronymword>NCO</acronymword></acronym> handles netCDF3 files without change.
+In addition, it automagically handles netCDF4 (<acronym><acronymword>HDF5</acronymword></acronym>) files:
+If you feed <acronym><acronymword>NCO</acronymword></acronym> netCDF3 files, it produces netCDF3 output.
+If you feed <acronym><acronymword>NCO</acronymword></acronym> netCDF4 files, it produces netCDF4 output.
+Use the handy-dandy <samp>-4</samp> switch to request netCDF4 output from 
+netCDF3 input, i.e., to convert netCDF3 to netCDF4.
+See <ref label="File-Formats-and-Conversion"><xrefnodename>File Formats and Conversion</xrefnodename></ref> for more details.
+</para>
+<html endspaces=" ">
+<a name="hdf4"></a> <!&textndash; http://nco.sf.net/nco.html#hdf4 &textndash;>
+<a name="HDF4"></a> <!&textndash; http://nco.sf.net/nco.html#HDF4 &textndash;>
+</html>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="142"><acronym><acronymword>HDF4</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="143"><samp>--hdf4</samp></indexterm></cindex>
+<para>When linked to a netCDF library that was built with <acronym><acronymword>HDF4</acronymword></acronym>
+support
+<footnote><para>The procedure for doing this is documented at
+<uref><urefurl>http://www.unidata.ucar.edu/software/netcdf/docs/build_hdf4.html</urefurl></uref>.</para></footnote>,
+<acronym><acronymword>NCO</acronymword></acronym> automatically supports reading <acronym><acronymword>HDF4</acronymword></acronym> 
+files and writing them as netCDF3/netCDF4/<acronym><acronymword>HDF5</acronymword></acronym> files.
+<acronym><acronymword>NCO</acronymword></acronym> can only write through the netCDF <acronym><acronymword>API</acronymword></acronym>, which
+can only write netCDF3/netCDF4/<acronym><acronymword>HDF5</acronymword></acronym> files. 
+So <acronym><acronymword>NCO</acronymword></acronym> can <emph>read</emph> <acronym><acronymword>HDF4</acronymword></acronym> files, perform
+manipulations and calculations, and then <emph>write</emph> the results in
+netCDF format. 
+</para>
+<para>Full support for these features is forthcoming, yet support as of
+December, 2013 is quite functional.
+For best results install <acronym><acronymword>NCO</acronymword></acronym> versions 4.4.0 or later on top of
+netCDF versions 4.3.1 or later. 
+Getting to this point has been an iterative effort where Unidata
+improved netCDF library capabilities in response to our requests.
+<acronym><acronymword>NCO</acronymword></acronym> versions 4.3.6 and earlier do not explicitly support
+<acronym><acronymword>HDF4</acronymword></acronym>, yet should work with <acronym><acronymword>HDF4</acronymword></acronym> if compiled with 
+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
+<acronym><acronymword>HDF4</acronymword></acronym> format by using the <samp>--hdf4</samp> switch. 
+</para>
+<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.
+In particular, the <samp>--hdf4</samp> switch is obsolete. 
+Current versions of <acronym><acronymword>NCO</acronymword></acronym> use netCDF to determine automatically
+whether the underlying file is <acronym><acronymword>HDF4</acronymword></acronym>, and then take appropriate
+precautions to avoid calls not yet supported by the netCDF4 subset
+<acronym><acronymword>HDF4</acronymword></acronym>. 
+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. 
+</para>
+<para>Converting <acronym><acronymword>HDF4</acronymword></acronym> files to netCDF:
+Since <acronym><acronymword>NCO</acronymword></acronym> reads <acronym><acronymword>HDF4</acronymword></acronym> files natively, it is now easy  
+to convert <acronym><acronymword>HDF4</acronymword></acronym> files to netCDF files directly, e.g.,
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncks        fl.hdf fl.nc # Convert HDF4->netCDF4 (NCO 4.4.0+, netCDF 4.3.1+)
+ncks --hdf4 fl.hdf fl.nc # Convert HDF4->netCDF4 (NCO 4.3.7-4.3.9)
+</pre></example>
+<para>The most efficient and accurate way to convert <acronym><acronymword>HDF4</acronymword></acronym> data to
+netCDF format is to convert to netCDF4 using <acronym><acronymword>NCO</acronymword></acronym> as above.
+It suffices when the data will only be processed by <acronym><acronymword>NCO</acronymword></acronym>, or
+other netCDF4-aware tools. 
+However, many tools are not fully netCDF4-aware, and so conversion to
+netCDF3 may be desirable.
+</para>
+<para>Obtaining a netCDF3 file from an <acronym><acronymword>HDF4</acronymword></acronym> is now easy, even though
+the <acronym><acronymword>HDF4</acronymword></acronym> file may contain netCDF4 atomic types (e.g., unsigned
+bytes, 64-bit integers): 
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncks -3 fl.hdf fl.nc      # HDF4->netCDF3 (NCO 4.4.0+, netCDF 4.3.1+)
+ncks -7 -L 1 fl.hdf fl.nc # HDF4->netCDF4 (NCO 4.4.0+, netCDF 4.3.1+)
+ncks --hdf4 -3 fl.hdf fl.nc # HDF4->netCDF3 (netCDF 4.3.0-)
+ncks --hdf4 -7 fl.hdf fl.nc # HDF4->netCDF4 classic (netCDF 4.3.0-)
+</pre></example>
+<para>As of <acronym><acronymword>NCO</acronymword></acronym> version 4.4.0 (January, 2014), these commands work
+with netCDF4 atomic types
+<footnote spaces="\n"><para>Prior to <acronym><acronymword>NCO</acronymword></acronym> version 4.4.0 (January, 2014), we recommend the
+<command>ncl_convert2nc</command> tool to convert <acronym><acronymword>HDF</acronymword></acronym> to netCDF3 when
+both these are true: <w>1. You</w> must have netCDF3 and <w>2. the</w>
+<acronym><acronymword>HDF</acronymword></acronym> file contains netCDF4 atomic types. 
+More recent versions of <acronym><acronymword>NCO</acronymword></acronym> handle this problem fine, so we
+no longer recommend <command>ncl_convert2nc</command> because <command>ncks</command>
+is faster and more space-efficient.
+Both automatically convert netCDF4 types to netCDF3 types, yet
+<command>ncl_convert2nc</command> cannot produce full netCDF4 files.
+In contrast, <command>ncks</command> will happily convert <acronym><acronymword>HDF</acronymword></acronym> straight
+to netCDF4 files with netCDF4 types. 
+Hence <command>ncks</command> can and does preserve the variable types.
+Unsigned bytes stay unsigned bytes. 
+64-bit integers stay 64-bit integers. 
+Strings stay strings. 
+Hence, <command>ncks</command> conversions often result in smaller files than
+<command>ncl_convert2nc</command> conversions.</para></footnote>.  
+Many <acronym><acronymword>HDF4</acronymword></acronym> producers (<acronym><acronymword>NASA</acronymword></acronym>!) love to use netCDF4
+types, e.g., unsigned bytes. 
+</para>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="144"><acronym><acronymword>RPM</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="145">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="146"><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
+installation directory. Do this with the <code>NETCDF4_ROOT</code> variable.
+Then use your preferred <acronym><acronymword>NCO</acronymword></acronym> build mechanism, e.g.,
+</para><example endspaces=" ">
+<pre xml:space="preserve">export NETCDF4_ROOT=/usr/local/netcdf4 # Set netCDF4 location
+cd ~/nco;./configure --enable-netcdf4  # Configure mechanism -or-
+cd ~/nco/bld;./make NETCDF4=Y allinone # Old Makefile mechanism
+</pre></example>
+
+<para>We carefully track the netCDF4 releases, and keep the netCDF4 atomic
+type support and other features working.
+Our long term goal is to utilize more of the extensive new netCDF4
+feature set. The next major netCDF4 feature we are likely to utilize
+is parallel I/O. We will enable this in the <acronym><acronymword>MPI</acronymword></acronym> netCDF
+operators. 
+</para>
+<html endspaces=" ">
+<a name="help"></a> <!&textndash; http://nco.sf.net/nco.html#help &textndash;>
+<a name="hlp"></a> <!&textndash; http://nco.sf.net/nco.html#hlp &textndash;>
+<a name="bug"></a> <!&textndash; http://nco.sf.net/nco.html#bug &textndash;>
+</html>
+</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="147">reporting bugs</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="148">bugs, reporting</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="149">core dump</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="150">help</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="151">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
+great and it saves me more time everyday than it took to write this
+note" 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>
+Project Forums. 
+Do not contact project members via personal e-mail unless your request
+comes with money or you have damaging information about our personal
+lives.
+<emph>Please use the Forums</emph>&textmdash;they preserve a record of the questions
+and answers so that others can learn from our exchange.
+Also, since <acronym><acronymword>NCO</acronymword></acronym> is government-funded, this record helps us
+provide program officers with information they need to evaluate our
+project. 
+</para>
+<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
+(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.
+</para>
+<para>If you want us to include a new feature in <acronym><acronymword>NCO</acronymword></acronym>, check first to 
+see if that feature is already on the <uref><urefurl>file:./TODO</urefurl><urefdesc>TODO</urefdesc></uref> list.
+If it is, why not implement that feature yourself and send us the patch?
+If the feature is not yet on the list, then send a note to the
+<uref><urefurl>http://sf.net/projects/nco/forums/forum/9829</urefurl><urefdesc spaces=" ">NCO Discussion forum</urefdesc></uref>.
+</para>
+<para>Read the manual before reporting a bug or posting a help request.
+Sending questions whose answers are not in the manual is the best
+way to motivate us to write more documentation.  
+We would also like to accentuate the contrapositive of this statement.  
+If you think you have found a real bug <emph>the most helpful thing you 
+can do is simplify the problem to a manageable size and then report it</emph>.
+The first thing to do is to make sure you are running the latest
+publicly released version of <acronym><acronymword>NCO</acronymword></acronym>.  
+</para>
+<para>Once you have read the manual, if you are still unable to get
+<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="152">debugging</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="153"><code>-r</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="154"><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>).  
+Post your help request to the 
+<uref><urefurl>http://sf.net/projects/nco/forums/forum/9830</urefurl><urefdesc spaces=" ">NCO Help forum</urefdesc></uref>.
+</para>
+<para>If you think you used the right command when <acronym><acronymword>NCO</acronymword></acronym> misbehaves,
+then you might have found a bug.  
+Incorrect numerical answers are the highest priority.
+We usually fix those within one or two days.
+Core dumps and sementation violations receive lower priority.
+They are always fixed, eventually. 
+</para>
+<para>How do you simplify a problem that reveal a bug?
+Cut out extraneous variables, dimensions, and metadata from the
+offending files and re-run the command until it no longer breaks.  
+Then back up one step and report the problem.
+Usually the file(s) will be very small, i.e., one variable with one or
+two small dimensions ought to suffice.
+<html endspaces=" ">
+<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="155"><code>-r</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="156"><code>--revision</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="157"><code>--version</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="158"><code>--vrs</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="159"><code>-D <var>debug-level</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="160"><code>--debug-level <var>debug-level</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="161"><code>--dbg_lvl <var>debug-level</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="162"><var>debug-level</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="163"><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 
+and compile-time environment.
+Include a copy of your sample input file, or place one on a 
+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="164">installation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="165"><command>autoconf</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="166"><file>nco.configure.${GNU_TRP}.foo</file></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="167"><file>nco.config.log.${GNU_TRP}.foo</file></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="168"><file>nco.make.${GNU_TRP}.foo</file></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="169"><file>config.guess</file></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="170"><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
+are the three files output by <acronym><acronymword>GNU</acronymword></acronym> build tools,  
+<file>nco.config.log.${GNU_TRP}.foo</file>,
+<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",
+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="171">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
+differences between these files and your own.
+</para>
+<html endspaces=" ">
+<a name="str"></a> <!&textndash; http://nco.sf.net/nco.html#str &textndash;>
+</html>
+</section>
+</chapter>
+<node name="Strategies" spaces=" "><nodename>Strategies</nodename><nodenext spaces=" ">Common features</nodenext><nodeprev spaces=" ">Introduction</nodeprev><nodeup spaces=" ">Top</nodeup></node>
+<chapter spaces=" "><sectiontitle>Operator Strategies</sectiontitle>
+
+<menu endspaces=" ">
+<menuentry leadingtext="* "><menunode separator="::">Philosophy</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Climate Model Paradigm</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Temporary Output Files</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Appending Variables</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Simple Arithmetic and Interpolation</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Statistics vs. Concatenation</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Large Numbers of Files</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Large Datasets</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Memory Requirements</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Performance</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry></menu>
+
+<html endspaces=" ">
+<a name="phl"></a> <!&textndash; http://nco.sf.net/nco.html#phl &textndash;>
+</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="172">philosophy</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="173">climate model</indexterm></cindex>
+
+<para>The main design goal is command line operators which perform useful,
+scriptable operations on netCDF files.  
+Many scientists work with models and observations which produce too much
+data to analyze in tabular format.
+Thus, it is often natural to reduce and massage this raw or primary
+level data into summary, or second level data, e.g., temporal or spatial
+averages. 
+These second level data may become the inputs to graphical and
+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="174"><acronym><acronymword>IDL</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="175">Matlab</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="176"><acronym><acronymword>NCL</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="177">Perl</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="178">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  
+any task performed by <acronym><acronymword>NCO</acronymword></acronym>, but often with more overhead.
+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="179">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.
+Finally, <acronym><acronymword>NCO</acronymword></acronym> was written to consume the absolute minimum
+amount of system memory required to perform a given job.
+The arithmetic operators are extremely efficient; their exact memory
+usage is detailed in <ref label="Memory-Requirements"><xrefnodename>Memory Requirements</xrefnodename></ref>.
+</para>
+<html endspaces=" ">
+<a name="clm"></a> <!&textndash; http://nco.sf.net/nco.html#clm &textndash;>
+</html>
+</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="180">climate model</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="181"><acronym><acronymword>NCAR</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="182"><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
+(<acronym><acronymword>GCM</acronymword></acronym>s).  
+<acronym><acronymword>GCM</acronymword></acronym> datasets share many features with other gridded scientific
+datasets and so provide a useful paradigm for the explication of the
+<acronym><acronymword>NCO</acronymword></acronym> operator set. 
+Examples in this manual use a <acronym><acronymword>GCM</acronymword></acronym> paradigm because latitude,
+longitude, time, temperature and other fields related to our natural
+environment are as easy to visualize for the layman as the expert.
+</para>
+<html endspaces=" ">
+<a name="out"></a> <!&textndash; http://nco.sf.net/nco.html#out &textndash;>
+</html>
+</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="183">data safety</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="184">error tolerance</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="185">safeguards</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="186">temporary output files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="187">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.
+The user-specified <var>output-file</var> is only created upon successful
+completion of the operation  
+<footnote><para>The <command>ncrename</command> and <command>ncatted</command> operators are
+exceptions to this rule.
+<xref label="ncrename-netCDF-Renamer"><xrefnodename>ncrename netCDF Renamer</xrefnodename></xref>.</para></footnote>.
+This is accomplished by performing all operations in a temporary copy
+of <var>output-file</var>.
+The name of the temporary output file is constructed by appending
+<code>.pid<var><process ID></var>.<var><operator name></var>.tmp</code> to the
+user-specified <var>output-file</var> name.  
+When the operator completes its task with no fatal errors, the temporary
+output file is moved to the user-specified <var>output-file</var>.
+This imbues the process with fault-tolerance since fatal error
+(e.g., disk space fills up) affect only the temporary output file,
+leaving the final output file not created if it did not already exist. 
+Note the construction of a temporary output file uses more disk space
+than just overwriting existing files &textldquo;in place&textrdquo; (because there may be
+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="188">performance</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="189">operator speed</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="190">speed</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="191">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>.
+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;. 
+</para>
+<html endspaces=" ">
+<a name="tmp_fl"></a> <!&textndash; http://nco.sf.net/nco.html#tmp_fl &textndash;>
+<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="192"><code>--no_tmp_fl</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="193"><code>--wrt_tmp_fl</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="194"><code>--write_tmp_fl</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="195"><code>--create_ram</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="196"><code>--open_ram</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="197"><acronym><acronymword>RAM</acronymword></acronym> disks</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="198"><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. 
+Often these users build and execute production data analysis scripts
+that are repeated frequently on large datasets.
+Obviating an extra file write can then conserve significant disk space
+and time.  
+For this purpose <acronym><acronymword>NCO</acronymword></acronym> has, since version 4.2.1 in August, 2012, 
+made configurable the controls over temporary file creation.
+The <samp>--wrt_tmp_fl</samp> and equivalent <samp>--write_tmp_fl</samp> switches 
+ensure <acronym><acronymword>NCO</acronymword></acronym> writes output to an intermediate temporary file.
+This is and has always been the default behavior so there is currently
+no need to specify these switches.
+However, the default may change some day, especially since writing to
+RAM disks (<pxref label="RAM-disks"><xrefnodename>RAM disks</xrefnodename></pxref>) may some day become the default.
+The <samp>--no_tmp_fl</samp> switch causes <acronym><acronymword>NCO</acronymword></acronym> to write directly to
+the final output file instead of to an intermediate temporary file. 
+&textldquo;Power users&textrdquo; may wish to invoke this switch to increase performance
+(i.e., reduce wallclock time) when manipulating large files. 
+When eschewing temporary files, users may forsake the ability to have
+the same name for both <var>output-file</var> and <var>input-file</var> since, as   
+described above, the temporary file prevented overlap issues.
+However, if the user creates the output file in <acronym><acronymword>RAM</acronymword></acronym> (<pxref label="RAM-disks"><xrefnodename>RAM disks</xrefnodename></pxref>)
+then it is still possible to have the same name for both
+<var>output-file</var> and <var>input-file</var>.
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncks in.nc out.nc # Default: create out.pid.tmp.nc then move to out.nc
+ncks --wrt_tmp_fl in.nc out.nc # Same as default
+ncks --no_tmp_fl in.nc out.nc # Create out.nc directly on disk
+ncks --no_tmp_fl in.nc in.nc # ERROR-prone! Overwrite in.nc with itself
+ncks --create_ram --no_tmp_fl in.nc in.nc # Create in RAM, write to disk
+ncks --open_ram --no_tmp_fl in.nc in.nc # Read into RAM, write to disk
+</pre></example>
+<noindent></noindent>
+<para>There is no reason to expect the fourth example to work.
+The behavior of overwriting a file while reading from the same file is
+undefined, much as is the shell command <samp>cat foo > foo</samp>.
+Although it may &textldquo;work&textrdquo; in some cases, it is unreliable.
+One way around this is to use <samp>--create_ram</samp> so that the
+output file is not written to disk until the input file is closed,
+<xref label="RAM-disks"><xrefnodename>RAM disks</xrefnodename></xref>.
+However, as of 20130328, the behavior of the <samp>--create_ram</samp> and
+<samp>--open_ram</samp> examples has not been thoroughly tested.
+</para>
+<para>The <acronym><acronymword>NCO</acronymword></acronym> authors have seen compelling use cases for utilizing
+the <acronym><acronymword>RAM</acronymword></acronym> switches, though not (yet) for combining them with
+<samp>--no_tmp_fl</samp>. 
+<acronym><acronymword>NCO</acronymword></acronym> implements both options because they are largely
+independent of eachother.
+It is up to &textldquo;power users&textrdquo; to discover which best fit their needs.
+We welcome accounts of your experiences posted to the forums.
+</para>
+<html endspaces=" ">
+<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="199"><code>-A</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="200"><code>-O</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="201"><code>--apn</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="202"><code>--append</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="203"><code>--ovr</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="204"><code>--overwrite</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="205">overwriting files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="206">appending variables</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="207">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,
+then the operator will prompt the user whether to overwrite (erase) the
+existing <var>output-file</var>, attempt to append to it, or abort the
+operation. 
+However, in processing large amounts of data, too many interactive
+questions slows productivity.
+Therefore <acronym><acronymword>NCO</acronymword></acronym> also implements two ways to override its own
+safety features, the <samp>-O</samp> and <samp>-A</samp> switches.
+Specifying <samp>-O</samp> tells the operator to overwrite any existing
+<var>output-file</var> without prompting the user interactively.
+Specifying <samp>-A</samp> tells the operator to attempt to append to any
+existing <var>output-file</var> without prompting the user interactively.
+These switches are useful in batch environments because they suppress
+interactive keyboard input.
+</para>
+<html endspaces=" ">
+<a name="apn"></a> <!&textndash; http://nco.sf.net/nco.html#apn &textndash;>
+<a name="append"></a> <!&textndash; http://nco.sf.net/nco.html#append &textndash;>
+</html>
+</section>
+<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="208">concatenation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="209">appending variables</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="210">merging files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="211">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
+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="212">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
+lengths of the input files. 
+Appending, on the other hand, refers to copying a variable from one file
+to another file which may or may not already contain the variable 
+<footnote><para>Yes, the terminology is confusing. 
+By all means mail me if you think of a better nomenclature.
+Should <acronym><acronymword>NCO</acronymword></acronym> use <dfn>paste</dfn> instead of <dfn>append</dfn>?
+</para></footnote>. 
+<acronym><acronymword>NCO</acronymword></acronym> can append or concatenate just one variable, or all the
+variables in a file at the same time.
+</para>
+<para>In this sense, <command>ncks</command> can append variables from one file to
+another file. 
+This capability is invoked by naming two files on the command line,
+<var>input-file</var> and <var>output-file</var>. 
+When <var>output-file</var> already exists, the user is prompted whether to
+<dfn>overwrite</dfn>, <dfn>append/replace</dfn>, or <dfn>exit</dfn> from the command.
+Selecting <dfn>overwrite</dfn> tells the operator to erase the existing
+<var>output-file</var> and replace it with the results of the operation.
+Selecting <dfn>exit</dfn> causes the operator to exit&textmdash;the <var>output-file</var>
+will not be touched in this case.
+Selecting <dfn>append/replace</dfn> causes the operator to attempt to place
+the results of the operation in the existing <var>output-file</var>, 
+<xref label="ncks-netCDF-Kitchen-Sink"><xrefnodename>ncks netCDF Kitchen Sink</xrefnodename></xref>.
+</para>
+<html endspaces=" ">
+<a name="unn"></a> <!&textndash; http://nco.sf.net/nco.html#unn &textndash;>
+</html>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="213">union of files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="214">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
+</pre></example>
+<para>This puts the contents of <file>fl_1.nc</file> into <file>fl_2.nc</file>. 
+The <samp>-A</samp> is optional. 
+On output, <file>fl_2.nc</file> is the union of the input files,
+regardless of whether they share dimensions and variables, 
+or are completely disjoint.
+The append fails if the input files have differently named record
+dimensions (since netCDF supports only one), or have dimensions of the
+same name but different sizes.
+</para>
+<html endspaces=" ">
+<a name="bnr"></a> <!&textndash; http://nco.sf.net/nco.html#bnr &textndash;>
+</html>
+</section>
+<node name="Simple-Arithmetic-and-Interpolation" spaces=" "><nodename>Simple Arithmetic and Interpolation</nodename><nodenext spaces=" ">Statistics vs. Concatenation</nodenext><nodeprev spaces=" ">Appending Variables</nodeprev><nodeup spaces=" ">Strategies</nodeup></node>
+<section spaces=" "><sectiontitle>Simple Arithmetic and Interpolation</sectiontitle>
+
+<para>Users comfortable with <acronym><acronymword>NCO</acronymword></acronym> semantics may find it easier to
+perform some simple mathematical operations in <acronym><acronymword>NCO</acronymword></acronym> rather than  
+higher level languages. 
+<command>ncbo</command> (<pxref label="ncbo-netCDF-Binary-Operator"><xrefnodename>ncbo netCDF Binary Operator</xrefnodename></pxref>) does file
+addition, subtraction, multiplication, division, and broadcasting. 
+It even does group broadcasting.
+<command>ncflint</command> (<pxref label="ncflint-netCDF-File-Interpolator"><xrefnodename>ncflint netCDF File Interpolator</xrefnodename></pxref>) does
+file addition, subtraction, multiplication and interpolation. 
+Sequences of these commands can accomplish simple yet powerful
+operations from the command line.
+</para>
+<html endspaces=" ">
+<a name="statisticians"></a> <!&textndash; http://nco.sf.net/nco.html#statisticians &textndash;>
+<a name="averagers"></a> <!&textndash; http://nco.sf.net/nco.html#averagers &textndash;>
+</html>
+</section>
+<node name="Statistics-vs_002e-Concatenation" spaces=" "><nodename>Statistics vs. Concatenation</nodename><nodenext spaces=" ">Large Numbers of Files</nodenext><nodeprev spaces=" ">Simple Arithmetic and Interpolation</nodeprev><nodeup spaces=" ">Strategies</nodeup></node>
+<section spaces=" "><sectiontitle>Statistics vs.&noeos; Concatenation</sectiontitle>
+
+<html endspaces=" ">
+<a name="sym_ncea"></a> <!&textndash; http://nco.sf.net/nco.html#sym_ncea &textndash;>
+<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="215">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.,
+across files, within a file, over the record dimension, over other
+dimensions, with or without weights and masks) and of concatenating
+(across files, along the record dimension, along other dimensions),
+there are currently no fewer than five operators which tackle these two
+purposes: <command>ncra</command>, <command>nces</command>, <command>ncwa</command>,
+<command>ncrcat</command>, and <command>ncecat</command>.  
+These operators do share many capabilities <footnote><para>Currently
+<command>nces</command> and <command>ncrcat</command> are symbolically linked to the
+<command>ncra</command> executable, which behaves slightly differently based on
+its invocation name (i.e., <samp>argv[0]</samp>). 
+These three operators share the same source code, and merely have
+different inner loops.</para></footnote>, though each has its unique specialty.
+Two of these operators, <command>ncrcat</command> and <command>ncecat</command>, 
+concatenate hyperslabs across files. 
+The other two operators, <command>ncra</command> and <command>nces</command>, compute
+statistics across (and/or within) files 
+<footnote><para>The third averaging operator, <command>ncwa</command>, is the most
+sophisticated averager in <acronym><acronymword>NCO</acronymword></acronym>. 
+However, <command>ncwa</command> is in a different class than <command>ncra</command> and
+<command>nces</command> because it operates on a single file per invocation (as
+opposed to multiple files).    
+On that single file, however, <command>ncwa</command> provides a richer set of 
+averaging options&textmdash;including weighting, masking, and broadcasting.</para></footnote>.  
+First, let&textrsquo;s describe the concatenators, then the statistics tools.
+</para>
+<menu endspaces=" ">
+<menuentry leadingtext="* "><menunode separator="::">Concatenation</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Averaging</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Interpolating</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry></menu>
+
+<html endspaces=" ">
+<a name="cnc"></a> <!&textndash; http://nco.sf.net/nco.html#cnc &textndash;>
+</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="216"><command>ncecat</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="217"><command>ncrcat</command></indexterm></cindex>
+
+<para>Joining together independent files along a common record dimension is
+called <dfn>concatenation</dfn>.    
+<command>ncrcat</command> is designed for concatenating record variables, while
+<command>ncecat</command> is designed for concatenating fixed length variables.
+Consider five files, <file>85.nc</file>, <file>86.nc</file>, 
+<w>&dots; <file>89.nc</file></w> each containing a year&textrsquo;s worth of data.  
+Say you wish to create from them a single file, <file>8589.nc</file>
+containing all the data, i.e., spanning all five years.
+If the annual files make use of the same record variable, then
+<command>ncrcat</command> will do the job nicely with, e.g., 
+<code>ncrcat 8?.nc 8589.nc</code>. 
+The number of records in the input files is arbitrary and can vary from
+file to file. 
+<xref label="ncrcat-netCDF-Record-Concatenator"><xrefnodename>ncrcat netCDF Record Concatenator</xrefnodename></xref>, for a complete description of
+<command>ncrcat</command>. 
+</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="218">ensemble</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="219">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.
+<command>ncecat</command> will create a new record dimension (named <var>record</var>
+by default) with which to glue together the individual files into the
+single ensemble file.
+If <command>ncecat</command> is used on files which contain an existing record
+dimension, that record dimension is converted to a fixed-length
+dimension of the same name and a new record dimension (named
+<code>record</code>) is created.  
+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. 
+Then <code>ncecat 85?.nc 85_ens.nc</code> glues together the individual
+realizations into the single file, <file>85_ens.nc</file>. 
+If an input variable was dimensioned [<code>lat</code>,<code>lon</code>], it will
+have dimensions [<code>record</code>,<code>lat</code>,<code>lon</code>] in the output file.
+<w>A restriction</w> of <command>ncecat</command> is that the hyperslabs of the
+processed variables must be the same from file to file.
+Normally this means all the input files are the same size, and contain 
+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="220"><command>ncpdq</command></indexterm></cindex>
+<html endspaces=" ">
+<a name="dmn_cat"></a> <!&textndash; http://nco.sf.net/nco.html#dmn_cat &textndash;>
+</html>
+<para><command>ncpdq</command> makes it possible to concatenate files along any
+dimension, not just the record dimension.
+First, use <command>ncpdq</command> to convert the dimension to be concatenated
+(i.e., extended with data from other files) into the record dimension. 
+Second, use <command>ncrcat</command> to concatenate these files.
+Finally, if desirable, use <command>ncpdq</command> to revert to the original
+dimensionality.
+As a concrete example, say that files <file>x_01.nc</file>, <file>x_02.nc</file>,
+<w>&dots; <file>x_10.nc</file></w> contain time-evolving datasets from spatially
+adjacent regions.
+The time and spatial coordinates are <code>time</code> and <code>x</code>, respectively.
+Initially the record dimension is <code>time</code>.
+Our goal is to create a single file that contains joins all the
+spatially adjacent regions into one single time-evolving dataset.
+</para><example endspaces=" ">
+<pre xml:space="preserve">for idx in 01 02 03 04 05 06 07 08 09 10; do # Bourne Shell
+  ncpdq -a x,time x_${idx}.nc foo_${idx}.nc # Make x record dimension
+done
+ncrcat foo_??.nc out.nc       # Concatenate along x
+ncpdq -a time,x out.nc out.nc # Revert to time as record dimension
+</pre></example>
+
+<para>Note that <command>ncrcat</command> will not concatenate fixed-length variables, 
+whereas <command>ncecat</command> concatenates both fixed-length and record
+variables along a new record variable.
+To conserve system memory, use <command>ncrcat</command> where possible.
+</para>
+<html endspaces=" ">
+<a name="avg"></a> <!&textndash; http://nco.sf.net/nco.html#avg &textndash;>
+</html>
+</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="221"><command>nces</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="222"><command>ncra</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="223"><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.
+<command>ncra</command> is designed for averaging record variables from at least
+one file, while <command>nces</command> is designed for averaging fixed length
+variables from multiple files.
+<command>ncra</command> performs a simple arithmetic average over the record
+dimension of all the input files, with each record having an equal
+weight in the average. 
+<command>nces</command> performs a simple arithmetic average of all the input
+files, with each file having an equal weight in the average. 
+Note that <command>ncra</command> cannot average fixed-length variables,
+but <command>nces</command> can average both fixed-length and record variables.  
+To conserve system memory, use <command>ncra</command> rather than
+<command>nces</command> where possible (e.g., if each <var>input-file</var> is one
+record long). 
+The file output from <command>nces</command> will have the same dimensions
+(meaning dimension names as well as sizes) as the input hyperslabs  
+(<pxref label="nces-netCDF-Ensemble-Statistics"><xrefnodename>nces netCDF Ensemble Statistics</xrefnodename></pxref>, for a complete description of 
+<command>nces</command>).  
+The file output from <command>ncra</command> will have the same dimensions as
+the input hyperslabs except for the record dimension, which will have a   
+size <w>of 1</w> (<pxref label="ncra-netCDF-Record-Averager"><xrefnodename>ncra netCDF Record Averager</xrefnodename></pxref>, for a complete
+description of <command>ncra</command>). 
+</para>
+<html endspaces=" ">
+<a name="ntp"></a> <!&textndash; http://nco.sf.net/nco.html#ntp &textndash;>
+</html>
+</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="224"><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
+interpolation is given fully on the <command>ncflint</command> reference page
+(<pxref label="ncflint-netCDF-File-Interpolator"><xrefnodename>ncflint netCDF File Interpolator</xrefnodename></pxref>). 
+Note that this capability also allows <command>ncflint</command> to linearly
+rescale any data in a netCDF file, e.g., to convert between differing
+units. 
+</para>
+<html endspaces=" ">
+<a name="lrg"></a> <!&textndash; http://nco.sf.net/nco.html#lrg &textndash;>
+</html>
+</subsection>
+</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="225">files, numerous input</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="226"><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="227">automagic</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="228"><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
+arbitrary numbers of input filenames. 
+The <samp>-n <var>loop</var></samp> switch has the virtue of being concise,
+and of minimizing the command line.
+This helps keeps output file small since the command line is stored
+as metadata in the <code>history</code> attribute 
+(<pxref label="History-Attribute"><xrefnodename>History Attribute</xrefnodename></pxref>). 
+However, the <samp>-n <var>loop</var></samp> switch is useless when there is no
+simple, arithmetic pattern to the input filenames (e.g.,
+<file>h00001.nc</file>, <file>h00002.nc</file>, <w>&dots; <file>h90210.nc</file></w>).
+Moreover, filename globbing does not work when the input files are too
+numerous or their names are too lengthy (when strung together as a
+single argument) to be passed by the calling shell to the <acronym><acronymword>NCO</acronymword></acronym>
+operator
+<footnote><para>The exact length which exceeds the operating system internal
+limit for command line lengths varies from <acronym><acronymword>OS</acronymword></acronym> to <acronym><acronymword>OS</acronymword></acronym>
+and from shell to shell.  
+<acronym><acronymword>GNU</acronymword></acronym> <code>bash</code> may not have any arbitrary fixed limits to the
+size of command line arguments. 
+Many <acronym><acronymword>OS</acronymword></acronym>s cannot handle command line arguments (including
+results of file globbing) exceeding 4096 characters.</para></footnote>.
+When this occurs, the <acronym><acronymword>ANSI</acronymword></acronym> C-standard <code>argc</code>-<code>argv</code> 
+method of passing arguments from the calling shell to a C-program (i.e.,
+an <acronym><acronymword>NCO</acronymword></acronym> operator) breaks down. 
+There are (at least) three alternative methods of specifying the input 
+filenames to <acronym><acronymword>NCO</acronymword></acronym> in environment-limited situations.
+</para>
+<html endspaces=" ">
+<a name="stdin"></a> <!&textndash; http://nco.sf.net/nco.html#stdin &textndash;>
+</html>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="229">standard input</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="230"><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>
+feature, aka <code>stdin</code>: 
+</para><example endspaces=" ">
+<pre xml:space="preserve"># Pipe large numbers of filenames to stdin
+/bin/ls | grep ${CASEID}_'......'.nc | ncecat -o foo.nc
+</pre></example>
+<para>This method avoids all constraints on command line size imposed by
+the operating system. 
+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="231"><code>nco_input_file_number</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="232"><code>nco_input_file_list</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="233">global attributes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="234">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
+(<pxref label="File-List-Attributes"><xrefnodename>File List Attributes</xrefnodename></pxref>).
+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="235">globbing</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="236">shell</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="237">extended regular expressions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="238">regular expressions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="239">pattern matching</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="240"><command>xargs</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="241"><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.
+For illustration, consider a user trying to average millions of 
+files which each have a six character filename. 
+If the shell buffer cannot hold the results of the corresponding
+globbing operator, <file>??????.nc</file>, then the filename globbing
+technique will fail. 
+Instead we express the filename pattern as an extended regular 
+expression, <file>......\.nc</file> (<pxref label="Subsetting-Files"><xrefnodename>Subsetting Files</xrefnodename></pxref>).
+We use <command>grep</command> to filter the directory listing for this pattern
+and to pipe the results to <command>xargs</command> which, in turn, passes the
+matching filenames to an <acronym><acronymword>NCO</acronymword></acronym> multi-file operator, e.g.,
+<command>ncecat</command>.
+</para><example endspaces=" ">
+<pre xml:space="preserve"># Use xargs to transfer filenames on the command line
+/bin/ls | grep ${CASEID}_'......'.nc | xargs -x ncecat -o foo.nc
+</pre></example>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="242">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
+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="243">output file</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="244">input files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="245"><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 
+20,000 characters) on the size of command lines it can pass.
+Give <command>xargs</command> the <samp>-x</samp> switch to ensure it dies if it
+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="246">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. 
+A full scripting language like Perl can handle any level of complexity
+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="247">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="248"><code>-n <var>loop</var></code></indexterm></cindex>
+</para><example endspaces=" ">
+<pre xml:space="preserve"># Create enumerated symbolic links
+/bin/ls | grep \.nc | perl -e \
+'$idx=1;while(<STDIN>){chop;symlink $_,sprintf("%06d.nc",$idx++);}'
+ncecat -n 999999,6,1 000001.nc foo.nc
+# Remove symbolic links when finished
+/bin/rm ??????.nc
+</pre></example>
+<para>The <samp>-n <var>loop</var></samp> option tells the <acronym><acronymword>NCO</acronymword></acronym> operator to
+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="249"><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. 
+This makes it difficult to determine the data provenance at a later
+date. 
+</para>
+</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="250">large datasets</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="251">LFS</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="252">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.
+Many users of <acronym><acronymword>NCO</acronymword></acronym> work with files larger than <w>100 MB</w>.
+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="253">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. 
+There is no easy solution for this.
+The best strategy is to work on a machine with sufficient amounts of
+memory and swap space. 
+Since about 2004, many users have begun to produce or analyze files
+exceeding <w>2 GB</w> in size. 
+These users should familiarize themselves with <acronym><acronymword>NCO</acronymword></acronym>&textrsquo;s Large
+File Support (<acronym><acronymword>LFS</acronymword></acronym>) capabilities (<pxref label="Large-File-Support"><xrefnodename>Large File Support</xrefnodename></pxref>).
+The next section will increase your familiarity with <acronym><acronymword>NCO</acronymword></acronym>&textrsquo;s
+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="254">server</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="255"><acronym><acronymword>UNICOS</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="256">Cray</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.  
+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="257"><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="258"><acronym><acronymword>GNU</acronymword></acronym>/Linux</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="259"><code>ulimit</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="260"><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="261">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.
+In order to see what the operator is actually doing, it is useful to
+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="262"><code>-D <var>debug-level</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="263"><code>--debug-level <var>debug-level</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="264"><code>--dbg_lvl <var>debug-level</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="265"><var>debug-level</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="266"><var>dbg_lvl</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="267">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. 
+Choose a <var>debug-level</var> <w>between 1</w> <w>and 3</w> for most situations,
+e.g., <code>nces -D 2 85.nc 86.nc 8586.nc</code>.
+<w>A full</w> description of how to estimate the actual amount of memory the
+multi-file <acronym><acronymword>NCO</acronymword></acronym> operators consume is given in 
+<ref label="Memory-Requirements"><xrefnodename>Memory Requirements</xrefnodename></ref>. 
+</para>
+<html endspaces=" ">
+<a name="mmr"></a> <!&textndash; http://nco.sf.net/nco.html#mmr &textndash;>
+</html>
+</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="268">memory requirements</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="269">memory available</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="270"><acronym><acronymword>RAM</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="271">swap space</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="272">peak memory usage</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="273"><code>--ram_all</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="274"><code>--open_ram</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="275"><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
+machines. 
+These users want <acronym><acronymword>NCO</acronymword></acronym> to consume the least memory possible
+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="276">threads</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="277">OpenMP</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="278">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.
+The description below is the memory usage per thread.
+Users with shared memory machines may use the threaded <acronym><acronymword>NCO</acronymword></acronym>
+operators (<pxref label="OpenMP-Threading"><xrefnodename>OpenMP Threading</xrefnodename></pxref>).
+The peak and sustained memory usage will scale accordingly,
+i.e., by the number of threads.
+Memory consumption patterns of all operators are similar, with
+the exception of <command>ncap2</command>.
+</para>
+<menu endspaces=" ">
+<menuentry leadingtext="* "><menunode separator="::">Single and Multi-file Operators</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Memory for ncap2</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry></menu>
+
+<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="279">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>. 
+The record operators require <emph>much less</emph> memory than the ensemble 
+operators. 
+This is because the record operators operate on one single record (i.e.,
+time-slice) at a time, whereas the ensemble operators retrieve the
+entire variable into memory. 
+Let <math>MS</math> be the peak sustained memory demand of an operator,
+<math>FT</math> be the memory required to store the entire contents of all the 
+variables to be processed in an input file,
+<math>FR</math> be the memory required to store the entire contents of a
+single record of each of the variables to be processed in an input file, 
+<math>VR</math> be the memory required to store a single record of the
+largest record variable to be processed in an input file, 
+<math>VT</math> be the memory required to store the largest variable 
+to be processed in an input file,
+<math>VI</math> be the memory required to store the largest variable 
+which is not processed, but is copied from the initial file to the
+output file. 
+All operators require <math>MI = VI</math> during the initial copying of
+variables from the first input file to the output file. 
+This is the <emph>initial</emph> (and transient) memory demand.
+The <emph>sustained</emph> memory demand is that memory required by the
+operators during the processing (i.e., averaging, concatenation)
+phase which lasts until all the input files have been processed.
+The operators have the following memory requirements: 
+<command>ncrcat</command> requires <math>MS <= VR</math>. 
+<command>ncecat</command> requires <math>MS <= VT</math>. 
+<command>ncra</command> requires <math>MS = 2FR + VR</math>. 
+<command>nces</command> requires <math>MS = 2FT + VT</math>. 
+<command>ncbo</command> requires <math>MS <= 3VT</math> 
+(both input variables and the output variable).
+<command>ncflint</command> requires <math>MS <= 3VT</math>
+(both input variables and the output variable).
+<command>ncpdq</command> requires <math>MS <= 2VT</math>
+(one input variable and the output variable).
+<command>ncwa</command> requires <math>MS <= 8VT</math> (see below).
+Note that only variables that are processed, e.g., averaged,
+concatenated, or differenced, contribute to <math>MS</math>. 
+Variables which do not appear in the output file 
+(<pxref label="Subsetting-Files"><xrefnodename>Subsetting Files</xrefnodename></pxref>) are never read and contribute nothing
+to the memory requirements. 
+</para>
+<para>Further note that some operators perform internal type-promotion on some
+variables prior to arithmetic (<pxref label="Type-Conversion"><xrefnodename>Type Conversion</xrefnodename></pxref>).
+For example, <command>ncra</command> and <command>nces</command> both promote integer
+types to double-precision floating point prior to arithmetic, then 
+perform the arithmetic, then demote back to the original integer type
+after arithmetic.
+This preserves the on-disk storage type while obtaining the accuracy
+advantages of floating point arithmetic. 
+Since version 4.3.6 (released in September, 2013), <acronym><acronymword>NCO</acronymword></acronym> also
+by default converts single-precision floating point to double-precision
+prior to arithmetic, which incurs the same <acronym><acronymword>RAM</acronymword></acronym> penalty.
+Hence, the sustained memory required for integer variables and
+single-precision floats are two or four-times their on-disk,
+uncompressed, unpacked sizes if they meet the rules for automatic
+internal promotion. 
+Put another way, disabling auto-promotion of single-precision variables
+(with <samp>--flt</samp>) considerably reduces the <acronym><acronymword>RAM</acronymword></acronym> footprint 
+of arithmetic operators.
+</para>
+<para>The <samp>--open_ram</samp> switch (and switches that invoke it like
+<samp>--ram_all</samp> and <samp>--diskless_all</samp>) incurs a <acronym><acronymword>RAM</acronymword></acronym>
+penalty.
+These switches cause each input file to be copied to <acronym><acronymword>RAM</acronymword></acronym> upon
+opening. 
+Hence any operator invoking these switches utilizes an additional
+<math>FT</math> of <acronym><acronymword>RAM</acronymword></acronym> (i.e., <math>MS += FT</math>).
+See <ref label="RAM-disks"><xrefnodename>RAM disks</xrefnodename></ref> for further details. 
+</para>
+<html endspaces=" ">
+<a name="mmr_ncwa"></a> <!&textndash; http://nco.sf.net/nco.html#mmr_ncwa &textndash;>
+</html>
+<para><command>ncwa</command> consumes between two and seven times the memory of a
+variable in order to process it. 
+Peak consumption occurs when storing simultaneously in memory 
+one input variable, one tally array,
+one input weight, one conformed/working weight, one weight tally, 
+one input mask, one conformed/working mask, and
+one output variable. 
+When invoked, the weighting and masking features contribute up to
+three-sevenths and two-sevenths of these requirements apiece.
+If weights and masks are <emph>not</emph> specified 
+(i.e., no <samp>-w</samp> or <samp>-a</samp> options)
+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="280">OpenMP</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="281">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="282"><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="283"><command>ncap2</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="284">binary operations</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="285">unary operations</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="286">memory leaks</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="287">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
+sequence of binary or unary operations.
+<command>ncap2</command> requires <math>MS <= 2VT</math> under most conditions.
+An exception to this is when left hand casting (<pxref label="Left-hand-casting"><xrefnodename>Left hand
+casting</xrefnodename></pxref>) is used to stretch the size of derived variables beyond the
+size of any input variables.
+Let <math>VC</math> be the memory required to store the largest variable
+defined by left hand casting.
+In this case, <math>MS <= 2VC</math>.
+</para>
+<findex index="fn" spaces=" "><indexterm index="fn" number="4" mergedindex="cp">malloc()</indexterm></findex>
+<para><command>ncap2</command> scripts are complete dynamic and may be of arbitrary
+length. 
+A script that contains many thousands of operations, may uncover a
+slow memory leak even though each single operation consumes little
+additional memory. 
+Memory leaks are usually identifiable by their memory usage signature.
+Leaks cause peak memory usage to increase monotonically with time
+regardless of script complexity. 
+Slow leaks are very difficult to find.
+Sometimes a <command>malloc()</command> (or <command>new[]</command>) failure is the
+only noticeable clue to their existance.
+If you have good reasons to believe that a memory allocation failure  
+is ultimately due to an <acronym><acronymword>NCO</acronymword></acronym> memory leak (rather than
+inadequate <acronym><acronymword>RAM</acronymword></acronym> on your system), then we would be very
+interested in receiving a detailed bug report. 
+</para>
+</subsection>
+</section>
+<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="288">papers</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="289">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;,
+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="290">scaling</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="291">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), 
+&textldquo;Scaling Properties of Common Statistical Operators for Gridded Datasets&textrdquo;, 
+Int. <w>J. High</w> Perform. Comput. Appl., 21(4), 485-498,
+doi:10.1177/1094342007083802. 
+This paper is also available at
+<url><urefurl>http://dust.ess.uci.edu/ppr/ppr_ZeM07.pdf</urefurl></url>.
+</para>
+<para>It is helpful to be aware of the aspects of <acronym><acronymword>NCO</acronymword></acronym> design 
+that can limit its performance:
+</para><enumerate first="1" endspaces=" ">
+<listitem> 
+<cindex index="cp" spaces=" "><indexterm index="cp" number="292">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="293">performance</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="294">operator speed</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="295">speed</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="296">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="297">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="298"><var>C_format</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="299"><var>FORTRAN_format</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="300"><var>signedness</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="301"><var>scale_format</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="302"><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="303">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
+using languages that bypass the netCDF interface (e.g., Yorick).    
+This may have been a penalty of unnecessary byte-swapping in the netCDF 
+interface.  
+It is unclear whether such problems exist in present day (2007)
+netCDF/<acronym><acronymword>NCO</acronymword></acronym> environments, where unnecessary byte-swapping has
+been reduced or eliminated.
+</para></listitem></enumerate>
+
+<html endspaces=" ">
+<a name="ftr"></a> <!&textndash; http://nco.sf.net/nco.html#ftr &textndash;>
+</html>
+</section>
+</chapter>
+<node name="Common-features" spaces=" "><nodename>Common features</nodename><nodenext spaces=" ">Operator Reference Manual</nodenext><nodeprev spaces=" ">Strategies</nodeprev><nodeup spaces=" ">Top</nodeup></node>
+<chapter spaces=" "><sectiontitle>NCO Features</sectiontitle>
+
+<para>Many features have been implemented in more than one operator and are
+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="304">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
+feature is automatic and cannot be controlled by the user. 
+</para>
+<menu endspaces=" ">
+<menuentry leadingtext="* "><menunode separator="::">Internationalization</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Metadata Optimization</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">OpenMP Threading</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Command Line Options</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Specifying Input Files</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Specifying Output Files</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Remote storage</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Retaining Retrieved Files</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">File Formats and Conversion</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Large File Support</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Subsetting Files</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Subsetting Coordinate Variables</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Group Path Editing</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">C and Fortran Index Conventions</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Hyperslabs</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Stride</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Record Appending</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Subcycle</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Multislabs</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Wrapped Coordinates</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Auxiliary Coordinates</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">UDUnits Support</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Rebasing Time Coordinate</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Multiple Record Dimensions</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Missing Values</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Chunking</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Deflation</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">MD5 digests</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Buffer sizes</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">RAM disks</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Packed data</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Operation Types</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Type Conversion</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Batch Mode</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">History Attribute</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">File List Attributes</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">CF Conventions</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">ARM Conventions</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Operator Version</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry></menu>
+
+<html endspaces=" ">
+<a name="i18n"></a> <!&textndash; http://nco.sf.net/nco.html#i18n &textndash;>
+</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="305">Internationalization</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="306">I18N</indexterm></cindex>
+<cartouche endspaces=" ">
+<para>Availability: All operators&linebreak;
+</para></cartouche>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="307">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 hope to produce foreign language string catalogues in 2004.
+<!-- c fxm: Work on this section -->
+</para>
+<html endspaces=" ">
+<a name="hdr"></a> <!&textndash; http://nco.sf.net/nco.html#hdr &textndash;>
+<a name="hdr_pad"></a> <!&textndash; http://nco.sf.net/nco.html#hdr_pad &textndash;>
+</html>
+</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="308">metadata optimization</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="309">performance</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="310">operator speed</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="311">speed</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="312">execution time</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="313"><code>nc__enddef()</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="314"><code>--hdr_pad <var>hdr_pad</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="315"><code>--header_pad <var>hdr_pad</var></code></indexterm></cindex>
+<cartouche endspaces=" ">
+<para>Availability: All operators&linebreak;
+Short options: None&linebreak;
+Long options: <samp>--hdr_pad</samp>, <samp>--header_pad</samp>&linebreak; 
+</para></cartouche>
+<para><acronym><acronymword>NCO</acronymword></acronym> supports padding headers to improve the speed of future
+metadata operations.
+Use the <samp>--hdr_pad</samp> and <samp>--header_pad</samp> switches to request
+that <var>hdr_pad</var> bytes be inserted into the metadata section of the
+output file.
+Future metadata expansions will not incur the netCDF3 performance
+penalty of copying the entire output file unless the expansion exceeds
+the amount of header padding exceeded.
+This can be beneficial when it is known that some metadata will be added
+at a future date.
+</para>
+<para>This optimization exploits the netCDF library <code>nc__enddef()</code>
+function, which behaves differently with different versions of netCDF.
+It will improve speed of future metadata expansion with <code>CLASSIC</code>
+and <code>64bit</code> netCDF files, though not necessarily with <code>NETCDF4</code> 
+files, i.e., those created by the netCDF interface to the <acronym><acronymword>HDF5</acronymword></acronym>
+library (<pxref label="File-Formats-and-Conversion"><xrefnodename>File Formats and Conversion</xrefnodename></pxref>).
+</para>
+<html endspaces=" ">
+<a name="omp"></a> <!&textndash; http://nco.sf.net/nco.html#omp &textndash;>
+<a name="openmp"></a> <!&textndash; http://nco.sf.net/nco.html#openmp &textndash;>
+</html>
+</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="316">OpenMP</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="317">threads</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="318"><acronym><acronymword>SMP</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="319">shared memory parallelism</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="320">parallelism</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="321"><code>nco_openmp_thread_number</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="322"><code>--thr_nbr <var>thr_nbr</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="323"><code>--threads <var>thr_nbr</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="324"><code>--omp_num_threads <var>thr_nbr</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="325"><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>,
+<command>ncwa</command>&linebreak;
+Short options: <samp>-t</samp>&linebreak;
+Long options: <samp>--thr_nbr</samp>, <samp>--threads</samp>,
+<samp>--omp_num_threads</samp>&linebreak; 
+</para></cartouche>
+<para><acronym><acronymword>NCO</acronymword></acronym> supports shared memory parallelism (<acronym><acronymword>SMP</acronymword></acronym>) when
+compiled with an OpenMP-enabled compiler.
+Threads requests and allocations occur in two stages.
+First, users may request a specific number of threads <var>thr_nbr</var> with
+the <samp>-t</samp> switch (or its long option equivalents, <samp>--thr_nbr</samp>,
+<samp>--threads</samp>, and <samp>--omp_num_threads</samp>).
+If not user-specified, OpenMP obtains <var>thr_nbr</var> from the
+<code>OMP_NUM_THREADS</code> environment variable, if present, or from the
+<acronym><acronymword>OS</acronymword></acronym>, if not.
+</para>
+<cartouche endspaces=" ">
+<para>Caveat:
+Unfortunately, threading does not improve <acronym><acronymword>NCO</acronymword></acronym> throughput (i.e.,
+wallclock time) because nearly all <acronym><acronymword>NCO</acronymword></acronym> operations are
+I/O-bound. 
+This means that <acronym><acronymword>NCO</acronymword></acronym> spends negligible time doing anything
+compared to reading and writing. 
+We have seen some and can imagine other use cases where
+<command>ncwa</command>, <command>ncpdq</command>, and <command>ncap2</command> (with long scripts) 
+will complete faster due to threading. 
+The main benefits of threading so far have been to isolate the serial
+from parallel portions of code. 
+This parallelism is now exploited by OpenMP but then runs into the I/O
+bottleneck during output. 
+The bottleneck could be ameliorated for large files by the use of
+MPI-enabled calls in the netCDF4 library when the underlying filesystem
+is parallel (e.g., <acronym><acronymword>PVFS</acronymword></acronym> or <acronym><acronymword>JFS</acronymword></acronym>).
+Implementation of the parallel output calls in <acronym><acronymword>NCO</acronymword></acronym> is not a
+goal of our current funding and would require new volunteers or funding.  
+</para></cartouche>
+
+<cindex index="cp" spaces=" "><indexterm index="cp" number="326"><var>thr_nbr</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="327"><code>OMP_NUM_THREADS</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="328"><command>ncrcat</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="329"><command>ncwa</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="330"><command>ncap2</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="331"><command>ncpdq</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="332">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
+request.
+We base these limits on our experience and common sense, and to reduce
+potentially wasteful system usage by inexperienced users.
+For example, <code>ncrcat</code> is extremely I/O-intensive so we restrict
+<math><var>thr_nbr</var> <= 2</math> for <code>ncrcat</code>.
+This is based on the notion that the best performance that can be
+expected from an operator which does no arithmetic is to have one thread
+reading and one thread writing simultaneously.
+In the future (perhaps with netCDF4), we hope to demonstrate significant
+threading improvements with operators like <code>ncrcat</code> by performing
+multiple simultaneous writes. 
+</para>
+<para>Compute-intensive operators (<code>ncap2</code>, <code>ncwa</code> and <code>ncpdq</code>) 
+benefit most from threading.
+The greatest increases in throughput due to threading occur on
+large datasets where each thread performs millions, at least,
+of floating point operations.
+Otherwise, the system overhead of setting up threads probably outweighs 
+the speed enhancements due to <acronym><acronymword>SMP</acronymword></acronym> parallelism.
+However, we have not yet demonstrated that the <acronym><acronymword>SMP</acronymword></acronym> parallelism 
+scales beyond four threads for these operators.
+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="333">debugging</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="334"><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.
+The operating system then decides how many threads to allocate
+based on this request.
+Users may keep track of this information by running the operator with
+<math><var>dbg_lvl</var> > 0</math>.
+</para>
+<para>By default, threaded operators attach one global attribute,
+<code>nco_openmp_thread_number</code>, to any file they create or modify. 
+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="335">benchmarks</indexterm></cindex>
+This information is also useful for benchmarking.
+</para>
+<html endspaces=" ">
+<a name="cmd_ln"></a> <!&textndash; http://nco.sf.net/nco.html#cmd_ln &textndash;>
+</html>
+</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="336">command line options</indexterm></cindex>
+<cartouche endspaces=" ">
+<para>Availability: All operators&linebreak;
+</para></cartouche>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="337"><acronym><acronymword>POSIX</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="338"><acronym><acronymword>UNIX</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="339"><acronym><acronymword>GNU</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="340">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>.
+For many years <acronym><acronymword>NCO</acronymword></acronym> used only single letter option names.
+In late 2002, we implemented <acronym><acronymword>GNU</acronymword></acronym>/<acronym><acronymword>POSIX</acronymword></acronym> extended
+or long option names for all options.
+This was done in a backward compatible way such that the full
+functionality of <acronym><acronymword>NCO</acronymword></acronym> is still available through the familiar 
+single letter options.
+In the future, however, some features of <acronym><acronymword>NCO</acronymword></acronym> may require the
+use of long options, simply because we have nearly run out of single
+letter options.
+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="341">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="342"><code>BSD</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="343"><code>getopt</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="344"><code>getopt_long</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="345"><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
+<command>my_getopt</command> package by Benjamin Sittler
+<email><emailaddress>bsittler&arobase;iname.com</emailaddress></email>.
+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="346"><code>-D <var>debug-level</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="347"><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., 
+<samp>-D 2</samp>.
+</para>
+<para>The syntax of <dfn>long options</dfn> (multi-letter options) is 
+<kbd>--<var>long_name</var> <var>value</var></kbd>
+(dash-dash-key-space-value), e.g., <samp>--dbg_lvl 2</samp> or
+<kbd>--<var>long_name</var>=<var>value</var></kbd>
+(dash-dash-key-equal-value), e.g., <samp>--dbg_lvl=2</samp>.
+Thus the following are all valid for the <samp>-D</samp> (short version)
+or <samp>--dbg_lvl</samp> (long version) command line option.
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncks -D 3 in.nc        # Short option
+ncks --dbg_lvl=3 in.nc # Long option, preferred form
+ncks --dbg_lvl 3 in.nc # Long option, alternate form
+</pre></example>
+<noindent></noindent>
+<para>The last example is preferred for two reasons.
+First, <samp>--dbg_lvl</samp> is more specific and less ambiguous than
+<samp>-D</samp>.
+The long option form makes scripts more self documenting and less error
+prone.  
+Often long options are named after the source code variable whose value 
+they carry.
+Second, the equals sign <kbd>=</kbd> joins the key (i.e., <var>long_name</var>) to   
+the value in an uninterruptible text block. 
+Experience shows that users are less likely to mis-parse commands when
+restricted to this form.
+</para>
+<para><acronym><acronymword>GNU</acronymword></acronym> implements a superset of the <acronym><acronymword>POSIX</acronymword></acronym> standard 
+which allows any unambiguous truncation of a valid option to be used.
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncks -D 3 in.nc        # Short option
+ncks --dbg_lvl=3 in.nc # Long option, full form
+ncks --dbg=3 in.nc     # Long option, unambiguous truncation
+ncks --db=3 in.nc      # Long option, unambiguous truncation
+ncks --d=3 in.nc       # Long option, ambiguous truncation
+</pre></example>
+<noindent></noindent>
+<para>The first four examples are equivalent and will work as expected.
+The final example will exit with an error since <command>ncks</command> cannot
+disambiguate whether <samp>--d</samp> is intended as a truncation of
+<samp>--dbg_lvl</samp>, of <samp>--dimension</samp>, or of some other long option. 
+</para>
+<para><acronym><acronymword>NCO</acronymword></acronym> provides many long options for common switches.
+For example, the debugging level may be set in all operators with any
+of the switches <samp>-D</samp>, <samp>--debug-level</samp>, or <samp>--dbg_lvl</samp>.
+This flexibility allows users to choose their favorite mnemonic.
+For some, it will be <samp>--debug</samp> (an unambiguous truncation of
+<samp>--debug-level</samp>, and other will prefer <samp>--dbg</samp>.
+Interactive users usually prefer the minimal amount of typing, i.e.,
+<samp>-D</samp>.
+We recommend that scripts which are re-usable employ some form of 
+the long options for future maintainability.
+</para>
+<para>This manual generally uses the short option syntax in examples.
+This is for historical reasons and to conserve space in printed output.
+Users are expected to pick the unambiguous truncation of each option
+name that most suits their taste.
+</para>
+<html endspaces=" ">
+<a name="fl_in"></a> <!&textndash; http://nco.sf.net/nco.html#fl_in &textndash;>
+<a name="in"></a> <!&textndash; http://nco.sf.net/nco.html#in &textndash;>
+<a name="input"></a> <!&textndash; http://nco.sf.net/nco.html#input &textndash;>
+</html>
+</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="348">input files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="349">globbing</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="350">regular expressions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="351">wildcards</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="352"><code>NINTAP</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="353">Processor, <acronym><acronymword>CCM</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="354"><acronym><acronymword>CCM</acronymword></acronym> Processor</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="355"><code>-n <var>loop</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="356"><code>--nintap <var>loop</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="357"><code>-p <var>input-path</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="358"><code>--pth <var>input-path</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="359"><code>--path <var>input-path</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="360"><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;
+Short options: <samp>-n</samp>, <samp>-p</samp>&linebreak;
+Long options: <samp>--nintap</samp>, <samp>--pth</samp>, <samp>--path</samp>&linebreak;
+</para></cartouche>
+<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="361"><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
+equivalents, <samp>--nintap</samp> or <samp>--pth</samp> and <samp>--path</samp>,
+respectively). 
+Techniques to augment these methods to specify arbitrary numbers (e.g.,
+thousands) and patterns of filenames are discussed separately 
+(<pxref label="Large-Numbers-of-Files"><xrefnodename>Large Numbers of Files</xrefnodename></pxref>).
+</para>
+<para>To illustrate these methods, consider the simple problem of using
+<command>ncra</command> to average five input files, <file>85.nc</file>, <file>86.nc</file>,
+<w>&dots; <file>89.nc</file></w>, and store the results in <file>8589.nc</file>.
+Here are the four methods in order.
+They produce identical answers.
+</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
+ncra -p <var>input-path</var> 85.nc 86.nc 87.nc 88.nc 89.nc 8589.nc
+ncra -n 5,2,1 85.nc 8589.nc
+</pre></example>
+<para>The first method (explicitly specifying all filenames) works by brute 
+force. 
+The second method relies on the operating system shell to <dfn>glob</dfn>
+(expand) the <dfn>regular expression</dfn> <code>8[56789].nc</code>.
+The shell passes valid filenames which match the expansion to
+<command>ncra</command>.
+The third method uses the <samp>-p <var>input-path</var></samp> argument to specify 
+the directory where all the input files reside.
+<acronym><acronymword>NCO</acronymword></acronym> prepends <var>input-path</var> (e.g.,
+<file>/data/usrname/model</file>) to all <var>input-files</var> (though not to
+<var>output-file</var>).  
+Thus, using <samp>-p</samp>, the path to any number of input files need only
+be specified once.
+Note <var>input-path</var> need not end with <samp>/</samp>; the <samp>/</samp> is
+automatically generated if necessary. 
+</para>
+<para>The last method passes (with <samp>-n</samp>) syntax concisely describing 
+the entire set of filenames
+<footnote><para>The <samp>-n</samp> option is a backward compatible superset of the
+<code>NINTAP</code> option from the <acronym><acronymword>NCAR</acronymword></acronym> <acronym><acronymword>CCM</acronymword></acronym> Processor.</para></footnote>. 
+<cindex index="cp" spaces=" "><indexterm index="cp" number="362">multi-file operators</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="363">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
+number of <var>input-files</var>.
+This option is very useful for abbreviating lists of filenames
+representable as
+<var>alphanumeric_prefix</var>+<var>numeric_suffix</var>+<file>.</file>+<var>filetype</var>
+where <var>alphanumeric_prefix</var> is a string of arbitrary length and
+composition, <var>numeric_suffix</var> is a fixed width field of digits, and
+<var>filetype</var> is a standard filetype indicator. 
+For example, in the file <file>ccm3_h0001.nc</file>, we have
+<var>alphanumeric_prefix</var> = <file>ccm3_h</file>, <var>numeric_suffix</var> =
+<file>0001</file>, and <var>filetype</var> = <file>nc</file>.
+</para>
+<para><acronym><acronymword>NCO</acronymword></acronym> is able to decode lists of such filenames encoded using the
+<samp>-n</samp> option. 
+The simpler (3-argument) <samp>-n</samp> usage takes the form 
+<code>-n <var>file_number</var>,<var>digit_number</var>,<var>numeric_increment</var></code>
+where <var>file_number</var> is the number of files, <var>digit_number</var> is
+the fixed number of numeric digits comprising the <var>numeric_suffix</var>,
+and <var>numeric_increment</var> is the constant, integer-valued difference
+between the <var>numeric_suffix</var> of any two consecutive files.
+The value of <var>alphanumeric_prefix</var> is taken from the input file,
+which serves as a template for decoding the filenames.
+In the example above, the encoding <code>-n 5,2,1</code> along with the input
+file name <file>85.nc</file> tells <acronym><acronymword>NCO</acronymword></acronym> to
+construct five (5) filenames identical to the template <file>85.nc</file>
+except that the final two (2) digits are a numeric suffix to be
+incremented by one (1) for each successive file.
+Currently <var>filetype</var> may be either be empty, <file>nc</file>,
+<file>cdf</file>, <file>hdf</file>, or <file>hd5</file>. 
+If present, these <var>filetype</var> suffixes (and the preceding <file>.</file>)
+are ignored by <acronym><acronymword>NCO</acronymword></acronym> as it uses the <samp>-n</samp> arguments to
+locate, evaluate, and compute the <var>numeric_suffix</var> component of
+filenames. 
+</para>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="364">wrapped filenames</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="365">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
+generate filenames which increment regularly until a specified maximum
+value, and then wrap back to begin again at a specified minimum value. 
+The corresponding <samp>-n</samp> usage becomes more complex, taking one or
+two additional arguments for a total of four or five, respectively: 
+<code>-n
+<var>file_number</var>,<var>digit_number</var>,<var>numeric_increment</var>[,<var>numeric_max</var>[,<var>numeric_min</var>]]</code>
+where <var>numeric_max</var>, if present, is the maximum integer-value of 
+<var>numeric_suffix</var> and <var>numeric_min</var>, if present, is the minimum
+integer-value of <var>numeric_suffix</var>.
+Consider, for example, the problem of specifying non-consecutive input
+files where the filename suffixes end with the month index.  
+In climate modeling it is common to create summertime and wintertime
+averages which contain the averages of the months June&textndash;July&textndash;August,
+and December&textndash;January&textndash;February, respectively:
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncra -n 3,2,1 85_06.nc 85_0608.nc
+ncra -n 3,2,1,12 85_12.nc 85_1202.nc
+ncra -n 3,2,1,12,1 85_12.nc 85_1202.nc
+</pre></example>
+<para>The first example shows that three arguments to the <samp>-n</samp> option
+suffice to specify consecutive months (<code>06, 07, 08</code>) which do not
+&textldquo;wrap&textrdquo; back to a minimum value.
+The second example shows how to use the optional fourth and fifth
+elements of the <samp>-n</samp> option to specify a wrap value to <acronym><acronymword>NCO</acronymword></acronym>.
+The fourth argument to <samp>-n</samp>, if present, specifies the maximum
+integer value of <var>numeric_suffix</var>.
+In this case the maximum value <w>is 12,</w> and will be formatted as
+<file>12</file> in the filename string. 
+The fifth argument to <samp>-n</samp>, if present, specifies the minimum
+integer value of <var>numeric_suffix</var>.
+The default minimum filename suffix <w>is 1,</w> which is formatted as
+<file>01</file> in this case.   
+Thus the second and third examples have the same effect, that is, they
+automatically generate, in order, the filenames <file>85_12.nc</file>,
+<file>85_01.nc</file>, and <file>85_02.nc</file> as input to <acronym><acronymword>NCO</acronymword></acronym>.
+</para>
+<html endspaces=" ">
+<a name="fl_out"></a> <!&textndash; http://nco.sf.net/nco.html#fl_out &textndash;>
+<a name="out"></a> <!&textndash; http://nco.sf.net/nco.html#out &textndash;>
+<a name="output"></a> <!&textndash; http://nco.sf.net/nco.html#output &textndash;>
+</html>
+</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="366">output file</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="367">input files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="368">positional arguments</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="369">command line switches</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="370"><code>-o <var>fl_out</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="371"><code>--output <var>fl_out</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="372"><code>--fl_out <var>fl_out</var></code></indexterm></cindex>
+<cartouche endspaces=" ">
+<para>Availability: All operators&linebreak;
+Short options: <samp>-o</samp>&linebreak;
+Long options: <samp>--fl_out</samp>, <samp>--output</samp>&linebreak;
+</para></cartouche>
+<para><acronym><acronymword>NCO</acronymword></acronym> commands produce no more than one output file, <var>fl_out</var>. 
+Traditionally, users specify <var>fl_out</var> as the final argument to the
+operator, following all input file names. 
+This is the <dfn>positional argument</dfn> method of specifying input and
+ouput file names.
+The positional argument method works well in most applications.
+<acronym><acronymword>NCO</acronymword></acronym> also supports specifying <var>fl_out</var> using the command
+line switch argument method, <samp>-o <var>fl_out</var></samp>.
+</para>
+<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="373">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="374"><command>xargs</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="375">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 
+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="376">compilers</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="377">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.
+If <var>fl_out</var> is specified twice (once with the switch and once as
+the last positional argument), then the positional argument takes
+precedence. 
+</para>
+<html endspaces=" ">
+<a name="rmt"></a> <!&textndash; http://nco.sf.net/nco.html#rmt &textndash;>
+</html>
+</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="378"><code>rcp</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="379"><code>scp</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="380"><file>.rhosts</file></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="381"><acronym><acronymword>NCAR MSS</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="382"><acronym><acronymword>MSS</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="383">Mass Store System</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="384"><acronym><acronymword>URL</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="385"><code>ftp</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="386"><code>sftp</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="387"><code>wget</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="388">remote files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="389">synchronous file access</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="390">asynchronous file access</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="391"><code>--pth <var>input-path</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="392"><code>--path <var>input-path</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="393"><code>--lcl <var>output-path</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="394"><code>--local <var>output-path</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="395"><code>-l <var>output-path</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="396"><file>.netrc</file></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="397"><code>history</code></indexterm></cindex>
+<cartouche endspaces=" ">
+<para>Availability: All operators&linebreak;
+Short options: <samp>-p</samp>, <samp>-l</samp>&linebreak;
+Long options: <samp>--pth</samp>, <samp>--path</samp>, <samp>--lcl</samp>, <samp>--local</samp>&linebreak;
+</para></cartouche>
+<para>All <acronym><acronymword>NCO</acronymword></acronym> operators can retrieve files from remote sites as well 
+as from the local file system.
+<w>A remote</w> site can be an anonymous <acronym><acronymword>FTP</acronymword></acronym> server, a machine on
+which the user has <command>rcp</command>, <command>scp</command>, or <command>sftp</command>
+privileges, <acronym><acronymword>NCAR</acronymword></acronym>&textrsquo;s Mass Storage System (<acronym><acronymword>MSS</acronymword></acronym>), or
+an <acronym><acronymword>OPeNDAP</acronymword></acronym> server.
+Examples of each are given below, following a brief description of the 
+particular access protocol.
+</para>
+<html endspaces=" ">
+<a name="ftp"></a> <!&textndash; http://nco.sf.net/nco.html#ftp &textndash;>
+</html>
+<para>To access a file via an anonymous <acronym><acronymword>FTP</acronymword></acronym> server, supply the
+remote file&textrsquo;s <acronym><acronymword>URL</acronymword></acronym>.
+<acronym><acronymword>FTP</acronymword></acronym> is an intrinsically insecure protocol because it transfers
+passwords in plain text format. 
+Users should access sites using anonymous <acronym><acronymword>FTP</acronymword></acronym>, or better yet,
+secure <acronym><acronymword>FTP</acronymword></acronym> when possible. 
+Some <acronym><acronymword>FTP</acronymword></acronym> servers require a login/password combination for a
+valid user account.
+<acronym><acronymword>NCO</acronymword></acronym> allows these transactions so long as the required
+information is stored in the <file>.netrc</file> file. 
+Usually this information is the remote machine name, login, and
+password, in plain text, separated by those very keywords, e.g.,
+</para><example endspaces=" ">
+<pre xml:space="preserve">machine dust.ess.uci.edu login zender password bushlied
+</pre></example>
+<para>Eschew using valuable passwords for <acronym><acronymword>FTP</acronymword></acronym> transactions, since
+<file>.netrc</file> passwords are potentially exposed to eavesdropping
+software
+<footnote><para><acronym><acronymword>NCO</acronymword></acronym> does not implement command line options to
+specify <acronym><acronymword>FTP</acronymword></acronym> logins and passwords because copying those data
+into the <code>history</code> global attribute in the output file (done by
+default) poses an unacceptable security risk. 
+</para></footnote>. 
+</para>
+<html endspaces=" ">
+<a name="sftp"></a> <!&textndash; http://nco.sf.net/nco.html#sftp &textndash;>
+</html>
+<para><acronym><acronymword>SFTP</acronymword></acronym>, i.e., secure <acronym><acronymword>FTP</acronymword></acronym>, uses <acronym><acronymword>SSH</acronymword></acronym>-based 
+security protocols that solve the security issues associated with
+plain <acronym><acronymword>FTP</acronymword></acronym>.  
+<acronym><acronymword>NCO</acronymword></acronym> supports <acronym><acronymword>SFTP</acronymword></acronym> protocol access to files
+specified with a homebrew syntax of the form
+</para><example endspaces=" ">
+<pre xml:space="preserve">sftp://machine.domain.tld:/path/to/filename
+</pre></example>
+<para>Note the second colon following the top-level-domain, <code>tld</code>.
+This syntax is a hybrid between an <acronym><acronymword>FTP URL</acronymword></acronym> and a standard
+remote file syntax.
+</para>
+<html endspaces=" ">
+<a name="rcp"></a> <!&textndash; http://nco.sf.net/nco.html#rcp &textndash;>
+<a name="scp"></a> <!&textndash; http://nco.sf.net/nco.html#scp &textndash;>
+</html>
+<para>To access a file using <command>rcp</command> or <command>scp</command>, specify the
+Internet address of the remote file.
+Of course in this case you must have <command>rcp</command> or <command>scp</command>
+privileges which allow transparent (no password entry required) access
+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="398"><acronym><acronymword>HPSS</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="399"><command>hsi</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="400"><command>msrcp</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="401"><command>msread</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="402"><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;>
+<a name="hsi"></a> <!&textndash; http://nco.sf.net/nco.html#hsi &textndash;>
+<a name="HSI"></a> <!&textndash; http://nco.sf.net/nco.html#HSI &textndash;>
+<a name="msrcp"></a> <!&textndash; http://nco.sf.net/nco.html#msrcp &textndash;>
+<a name="msread"></a> <!&textndash; http://nco.sf.net/nco.html#msread &textndash;>
+<a name="nrnet"></a> <!&textndash; http://nco.sf.net/nco.html#nrnet &textndash;>
+</html>
+<para>To access a file on a High Performance Storage System (<acronym><acronymword>HPSS</acronymword></acronym>) 
+(such as that at <acronym><acronymword>NCAR</acronymword></acronym>, <acronym><acronymword>ECMWF</acronymword></acronym>, <acronym><acronymword>LANL</acronymword></acronym>,
+<acronym><acronymword>DKRZ</acronymword></acronym>, <acronym><acronymword>LLNL</acronymword></acronym>) specify the full <acronym><acronymword>HPSS</acronymword></acronym> pathname
+of the remote file.  
+<acronym><acronymword>NCO</acronymword></acronym> will attempt to detect whether the local machine has direct
+(synchronous) <acronym><acronymword>HPSS</acronymword></acronym> access. 
+In this case, <acronym><acronymword>NCO</acronymword></acronym> attempts to use the Hierarchical Storage
+Interface (<acronym><acronymword>HSI</acronymword></acronym>) command <command>hsi get</command>
+<footnote><para>The <command>hsi</command> command must be in the user&textrsquo;s path in one of
+the following directories: <code>/usr/local/bin</code>, <code>/opt/hpss/bin</code>,
+or <code>/ncar/opt/hpss/hsi</code>.
+Tell us if the <acronym><acronymword>HPSS</acronymword></acronym> installation at your site places the
+<command>hsi</command> command in a different location, and we will add that
+location to the list of acceptable paths to search for <command>hsi</command>.
+</para></footnote>.
+</para>
+<para>The following examples show how one might analyze files stored on  
+remote systems.
+<!-- c HPSS syntax at http://www2.cisl.ucar.edu/docs/hpss/hsi -->
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncks -l . ftp://dust.ess.uci.edu/pub/zender/nco/in.nc
+ncks -l . sftp://dust.ess.uci.edu:/home/ftp/pub/zender/nco/in.nc
+ncks -l . dust.ess.uci.edu:/home/zender/nco/data/in.nc
+ncks -l . /ZENDER/nco/in.nc
+ncks -l . /home/zender/nco/in.nc
+ncks -l . http://thredds-test.ucar.edu/thredds/dodsC/testdods/in.nc 
+</pre></example>
+<noindent></noindent>
+<para>The first example works verbatim if your system is connected to the
+Internet and is not behind a firewall. 
+The second example works if you have <command>sftp</command> access to the
+machine <code>dust.ess.uci.edu</code>.
+The third example works if you have <command>rcp</command> or <command>scp</command>
+access to the machine <code>dust.ess.uci.edu</code>. 
+The fourth and fifth examples work on <acronym><acronymword>NCAR</acronymword></acronym> computers with
+local access to the <acronym><acronymword>HPSS</acronymword></acronym> <command>hsi get</command> command
+<footnote><para><acronym><acronymword>NCO</acronymword></acronym> supported the old <acronym><acronymword>NCAR</acronymword></acronym> Mass Storage
+System (<acronym><acronymword>MSS</acronymword></acronym>) until version 4.0.7 in April, 2011.
+<acronym><acronymword>NCO</acronymword></acronym> supported <acronym><acronymword>MSS</acronymword></acronym>-retrievals via a variety of
+mechanisms including the <command>msread</command>, <command>msrcp</command>, and
+<command>nrnet</command> commands invoked either automatically or with sentinels
+like <command>ncks -p mss:/ZENDER/nco -l . in.nc</command>.
+Once the <acronym><acronymword>MSS</acronymword></acronym> was decommissioned in March, 2011, support for
+these retrieval mechanisms was replaced by support for <acronym><acronymword>HPSS</acronymword></acronym>
+in <acronym><acronymword>NCO</acronymword></acronym>.
+</para></footnote>.
+The sixth command works if your local version of <acronym><acronymword>NCO</acronymword></acronym> is
+<acronym><acronymword>OPeNDAP</acronymword></acronym>-enabled (this is fully described in <ref label="OPeNDAP"><xrefnodename>OPeNDAP</xrefnodename></ref>),
+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="403"><code>-p <var>input-path</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="404"><var>input-path</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="405"><code>-l <var>output-path</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="406"><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
+ncks -p dust.ess.uci.edu:/home/zender/nco -l . in.nc
+ncks -p /ZENDER/nco -l . in.nc
+ncks -p /home/zender/nco -l . in.nc # HPSS
+ncks -p http://thredds-test.ucar.edu/thredds/dodsC/testdods \ 
+     -l . in.nc
+</pre></example>
+<noindent></noindent>
+<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="407">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.  
+The automatically generated <var>input-path</var> is constructed by stripping 
+the input filename of everything following the final <samp>/</samp> character
+(i.e., removing the stub).
+The <samp>-l <var>output-path</var></samp> option tells <acronym><acronymword>NCO</acronymword></acronym> where to
+store the remotely retrieved file.
+It has no effect on locally-retrieved files, or on the output file.
+Often the path to a remotely retrieved file is quite different than the
+path on the local machine where you would like to store the file.
+If <samp>-l</samp> is not specified then <acronym><acronymword>NCO</acronymword></acronym> internally generates an
+<var>output-path</var> by simply setting <var>output-path</var> equal to
+<var>input-path</var> stripped of any machine names.
+If <samp>-l</samp> is not specified and the remote file resides on the
+<acronym><acronymword>NCAR</acronymword></acronym> <acronym><acronymword>HPSS</acronymword></acronym> system, then the leading character of
+<var>input-path</var>, <samp>/</samp>, is also stripped from <var>output-path</var>.
+Specifying <var>output-path</var> as <samp>-l ./</samp> tells <acronym><acronymword>NCO</acronymword></acronym> to
+store the remotely retrieved file and the output file in the current
+directory. 
+Note that <samp>-l .</samp> is equivalent to <samp>-l ./</samp> though the latter is
+syntactically more clear.
+</para>
+<menu endspaces=" ">
+<menuentry leadingtext="* "><menunode separator="::">OPeNDAP</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry></menu>
+
+<html endspaces=" ">
+<a name="dap"></a> <!&textndash; http://nco.sf.net/nco.html#dap &textndash;>
+<a name="DAP"></a> <!&textndash; http://nco.sf.net/nco.html#DAP &textndash;>
+<a name="DODS"></a> <!&textndash; http://nco.sf.net/nco.html#DODS &textndash;>
+<a name="OPeNDAP"></a> <!&textndash; http://nco.sf.net/nco.html#OPeNDAP &textndash;>
+<a name="dods"></a> <!&textndash; http://nco.sf.net/nco.html#dods &textndash;>
+<a name="opendap"></a> <!&textndash; http://nco.sf.net/nco.html#opendap &textndash;>
+</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="408"><acronym><acronymword>DAP</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="409"><acronym><acronymword>DODS</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="410"><acronym><acronymword>HTTP</acronymword></acronym> protocol</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="411"><env>DODS_ROOT</env></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="412">Distributed Oceanographic Data System</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="413">oceanography</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="414">data access protocol</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="415">Open-source Project for a Network Data Access Protocol</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="416"><acronym><acronymword>OPeNDAP</acronymword></acronym>.</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="417">server</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="418">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
+transparent access to data via a client-server data access protocol
+that uses the <acronym><acronymword>HTTP</acronymword></acronym> protocol for communication.
+Although <acronym><acronymword>DODS</acronymword></acronym>-technology originated with oceanography data,
+it applyies to virtually all scientific data.
+In recognition of this, the data access protocol underlying
+<acronym><acronymword>DODS</acronymword></acronym> (which is what <acronym><acronymword>NCO</acronymword></acronym> cares about) has been 
+renamed the Open-source Project for a Network Data Access Protocol, 
+<acronym><acronymword>OPeNDAP</acronymword></acronym>.
+We use the terms <acronym><acronymword>DODS</acronymword></acronym> and <acronym><acronymword>OPeNDAP</acronymword></acronym> interchangeably,
+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="419"><acronym><acronymword>NVODS</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="420">National Virtual Ocean Data System</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="421">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.
+<acronym><acronymword>DAP</acronymword></acronym> is the discipline-neutral Data Access Protocol at the
+heart of <acronym><acronymword>DODS</acronymword></acronym>.
+The National Virtual Ocean Data System (<acronym><acronymword>NVODS</acronymword></acronym>) refers to the
+collection of oceanography data and oceanographic extensions to
+<acronym><acronymword>DAP</acronymword></acronym>. 
+In other words, <acronym><acronymword>NVODS</acronymword></acronym> is implemented with <acronym><acronymword>OPeNDAP</acronymword></acronym>.
+<acronym><acronymword>OPeNDAP</acronymword></acronym> is <emph>also</emph> the open source project which
+maintains, develops, and promulgates the <acronym><acronymword>DAP</acronymword></acronym> standard. 
+<acronym><acronymword>OPeNDAP</acronymword></acronym> and <acronym><acronymword>DAP</acronymword></acronym> really are interchangeable.
+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="422"><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 
+December, 2003 after <acronym><acronymword>NCO</acronymword></acronym> version 2.8.4.
+<acronym><acronymword>NCO</acronymword></acronym> support for <acronym><acronymword>OPeNDAP</acronymword></acronym> versions 3.4.x commenced in
+December, 2003, with <acronym><acronymword>NCO</acronymword></acronym> version 2.8.5.
+<acronym><acronymword>NCO</acronymword></acronym> support for <acronym><acronymword>OPeNDAP</acronymword></acronym> versions 3.5.x commenced in
+June, 2005, with <acronym><acronymword>NCO</acronymword></acronym> version 3.0.1.
+<acronym><acronymword>NCO</acronymword></acronym> support for <acronym><acronymword>OPeNDAP</acronymword></acronym> versions 3.6.x commenced in
+June, 2006, with <acronym><acronymword>NCO</acronymword></acronym> version 3.1.3.
+<acronym><acronymword>NCO</acronymword></acronym> support for <acronym><acronymword>OPeNDAP</acronymword></acronym> versions 3.7.x commenced in
+January, 2007, with <acronym><acronymword>NCO</acronymword></acronym> version 3.1.9.</para></footnote>.
+The <file>./configure</file> mechanism automatically enables <acronym><acronymword>NCO</acronymword></acronym> as
+<acronym><acronymword>OPeNDAP</acronymword></acronym> clients if it can find the required
+<acronym><acronymword>OPeNDAP</acronymword></acronym> libraries
+<footnote spaces="\n"><para>The minimal set of libraries required to build <acronym><acronymword>NCO</acronymword></acronym> as
+<acronym><acronymword>OPeNDAP</acronymword></acronym> clients, where <acronym><acronymword>OPeNDAP</acronymword></acronym> is supplied as a
+separate library apart from <file>libnetcdf.a</file>, are, in link order,
+<file>libnc-dap.a</file>, <file>libdap.a</file>, and 
+<file>libxml2</file> and <file>libcurl.a</file>.</para></footnote>.
+ in the usual locations.
+The <env>$DODS_ROOT</env> environment variable may be used to override the 
+default <acronym><acronymword>OPeNDAP</acronymword></acronym> library location at <acronym><acronymword>NCO</acronymword></acronym>
+compile-time.  
+Building <acronym><acronymword>NCO</acronymword></acronym> with <file>bld/Makefile</file> and the command
+<code>make DODS=Y</code> adds the (non-intuitive) commands to link to the
+<acronym><acronymword>OPeNDAP</acronymword></acronym> libraries installed in the <env>$DODS_ROOT</env>
+directory.  
+The file <file>doc/opendap.sh</file> contains a generic script intended to help
+users install <acronym><acronymword>OPeNDAP</acronymword></acronym> before building <acronym><acronymword>NCO</acronymword></acronym>.
+The documentation at the 
+<uref><urefurl>http://www.opendap.org</urefurl><urefdesc spaces=" ">OPeNDAP Homepage</urefdesc></uref>
+is voluminous.
+Check there and on the
+<uref><urefurl>http://www.unidata.ucar.edu/packages/dods/home/mailLists/</urefurl><urefdesc spaces=" ">DODS mail lists</urefdesc></uref>.
+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="423">constraint expressions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="424">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"
+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
+<acronym><acronymword>OPeNDAP</acronymword></acronym> clients.  
+All <acronym><acronymword>OPeNDAP</acronymword></acronym> clients have network transparent access to
+any files controlled by a <acronym><acronymword>OPeNDAP</acronymword></acronym> server. 
+Simply specify the input file path(s) in <acronym><acronymword>URL</acronymword></acronym> notation and all 
+<acronym><acronymword>NCO</acronymword></acronym> operations may be performed on remote files made
+accessible by a <acronym><acronymword>OPeNDAP</acronymword></acronym> server. 
+This command tests the basic functionality of <acronym><acronymword>OPeNDAP</acronymword></acronym>-enabled  
+<acronym><acronymword>NCO</acronymword></acronym> clients: 
+</para><example endspaces=" ">
+<pre xml:space="preserve">% ncks -O -o ~/foo.nc -C -H -v one -l /tmp \
+  -p http://thredds-test.ucar.edu/thredds/dodsC/testdods in.nc
+% ncks -H -v one ~/foo.nc
+one = 1
+</pre></example>
+<para>The <code>one = 1</code> outputs confirm (first) that <command>ncks</command> correctly
+retrieved data via the  <acronym><acronymword>OPeNDAP</acronymword></acronym> protocol and (second) that 
+<command>ncks</command> created a valid local copy of the subsetted remote file.
+With minor changes to the above command, netCDF4 can be used as both the
+input and output file format:
+</para><example endspaces=" ">
+<pre xml:space="preserve">% ncks -4 -O -o ~/foo.nc -C -H -v one -l /tmp \
+  -p http://thredds-test.ucar.edu/thredds/dodsC/testdods in_4.nc
+% ncks -H -v one ~/foo.nc
+one = 1
+</pre></example>
+<para>And, of course, <acronym><acronymword>OPeNDAP</acronymword></acronym>-enabled <acronym><acronymword>NCO</acronymword></acronym> clients continue
+to support other, orthogonal features such as UDUnits 
+(<pxref label="UDUnits-Support"><xrefnodename>UDUnits Support</xrefnodename></pxref>):
+</para><example endspaces=" ">
+<pre xml:space="preserve">% ncks -u -C -H -v wvl -d wvl,'0.4 micron','0.7 micron' \
+  -p http://thredds-test.ucar.edu/thredds/dodsC/testdods in_4.nc
+% wvl[0]=5e-07 meter
+</pre></example>
+
+<para>The next command is a more advanced example which demonstrates the real
+power of <acronym><acronymword>OPeNDAP</acronymword></acronym>-enabled <acronym><acronymword>NCO</acronymword></acronym> clients.
+The <command>ncwa</command> client requests an equatorial hyperslab from remotely
+stored <acronym><acronymword>NCEP reanalyses data</acronymword></acronym> of the <w>year 1969</w>.
+The <acronym><acronymword>NOAA</acronymword></acronym> <acronym><acronymword>OPeNDAP</acronymword></acronym> server (hopefully!) serves these data. 
+The local <command>ncwa</command> client then computes and stores (locally) the
+regional mean surface pressure <w>(in Pa)</w>. 
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncwa -C -a lat,lon,time -d lon,-10.,10. -d lat,-10.,10. -l /tmp -p \
+http://www.esrl.noaa.gov/psd/thredds/dodsC/Datasets/ncep.reanalysis.dailyavgs/surface \
+  pres.sfc.1969.nc ~/foo.nc
+</pre></example>
+<noindent></noindent>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="425">packing</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="426">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 is completely transparent
+to the user since <acronym><acronymword>NCO</acronymword></acronym> automatically unpacks data before
+attempting arithmetic. 
+</para>
+<para><acronym><acronymword>NCO</acronymword></acronym> obtains remote files from the <acronym><acronymword>OPeNDAP</acronymword></acronym> server
+(e.g., <file>www.cdc.noaa.gov</file>) rather than the local machine. 
+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="427">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.
+Only the hyperslabbed output data are transferred over the network (to
+the local machine) for the number-crunching to begin.
+The advantages of this are obvious if you are examining small parts of
+large files stored at remote locations.
+</para>
+<html endspaces=" ">
+<a name="rtn"></a> <!&textndash; http://nco.sf.net/nco.html#rtn &textndash;>
+</html>
+</subsection>
+</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="428">file deletion</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="429">file removal</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="430">file retention</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="431"><code>-R</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="432"><code>--rtn</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="433"><code>--retain</code></indexterm></cindex>
+<cartouche endspaces=" ">
+<para>Availability: All operators&linebreak;
+Short options: <samp>-R</samp>&linebreak;
+Long options: <samp>--rtn</samp>, <samp>--retain</samp>&linebreak;
+</para></cartouche>
+<para>In order to conserve local file system space, files retrieved from
+remote locations are automatically deleted from the local file system 
+once they have been processed.
+Many <acronym><acronymword>NCO</acronymword></acronym> operators were constructed to work with numerous
+large (e.g., <w>200 MB</w>) files. 
+Retrieval of multiple files from remote locations is done serially. 
+Each file is retrieved, processed, then deleted before the cycle
+repeats.  
+In cases where it is useful to keep the remotely-retrieved files on the
+local file system after processing, the automatic removal feature may be 
+disabled by specifying <samp>-R</samp> on the command line.
+</para>
+<para>Invoking <code>-R</code> disables the default printing behavior of
+<command>ncks</command>.
+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="434"><acronym><acronymword>FTP</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="435"><acronym><acronymword>SSH</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="436"><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="437">server</indexterm></cindex>
+For example, say you want to obtain a <acronym><acronymword>JPEG</acronymword></acronym> file from a weather
+server. 
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncks -R -p ftp://weather.edu/pub/pix/jpeg -l . storm.jpg
+</pre></example>
+<noindent></noindent>
+<para>In this example, <command>ncks</command> automatically performs an anonymous
+<acronym><acronymword>FTP</acronymword></acronym> login to the remote machine and retrieves the specified
+file. 
+When <command>ncks</command> attempts to read the local copy of <file>storm.jpg</file>
+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="438"><acronym><acronymword>DODS</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="439">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 
+machine. 
+For example, 
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncks -R -l . -p \
+http://www.esrl.noaa.gov/psd/thredds/dodsC/Datasets/ncep.reanalysis.dailyavgs/surface \
+  pres.sfc.1969.nc
+</pre></example>
+<para>It may occasionally be useful to use <acronym><acronymword>NCO</acronymword></acronym> to transfer files
+when your other preferred methods are not available locally.
+</para>
+<html endspaces=" ">
+<a name="fl_fmt"></a> <!&textndash; http://nco.sf.net/nco.html#fl_fmt &textndash;>
+<a name="hdf"></a> <!&textndash; http://nco.sf.net/nco.html#hdf &textndash;>
+<a name="64bit"></a> <!&textndash; http://nco.sf.net/nco.html#64bit &textndash;>
+<a name="netcdf4"></a> <!&textndash; http://nco.sf.net/nco.html#netcdf4 &textndash;>
+</html>
+</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="440"><acronym><acronymword>HDF</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="441">netCDF2</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="442">netCDF3</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="443">netCDF4</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="444"><code>NETCDF4_CLASSIC</code> files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="445"><code>NETCDF4</code> files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="446"><code>CLASSIC</code> files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="447"><code>64BIT</code> files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="448"><code>--3</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="449"><code>-3</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="450"><code>-4</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="451"><code>-6</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="452"><code>-7</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="453"><code>--4</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="454"><code>--7</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="455"><code>--netcdf4</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="456"><code>--fl_fmt</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="457"><code>--file_format</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="458"><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>,
+<command>ncra</command>, <command>ncrcat</command>, <command>ncwa</command>&linebreak;
+Short options: <samp>-3</samp>, <samp>-4</samp>, <samp>-6</samp>, <samp>-7</samp>&linebreak;
+Long options: <samp>--3</samp>, <samp>--4</samp>, <samp>--64bit</samp>, <samp>--7</samp>, <samp>--fl_fmt</samp>,
+<samp>--netcdf4</samp>&linebreak;  
+</para></cartouche>
+<para>All <acronym><acronymword>NCO</acronymword></acronym> operators support (read and write) all three (or four, 
+depending on how one counts) file formats supported by netCDF4.
+The default output file format for all operators is the input file
+format. 
+The operators listed under &textldquo;Availability&textrdquo; above allow the user to
+specify the output file format independent of the input file format. 
+These operators allow the user to convert between the various file
+formats. 
+(The operators <command>ncatted</command> and <command>ncrename</command> do not support
+these switches so they always write the output netCDF file in the same
+format as the input netCDF file.) 
+</para>
+<menu endspaces=" ">
+<menuentry leadingtext="* "><menunode separator="::">File Formats</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Determining File Format</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">File Conversion</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Autoconversion</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry></menu>
+
+<node name="File-Formats" spaces=" "><nodename>File Formats</nodename><nodenext spaces=" ">Determining File Format</nodenext><nodeprev spaces=" ">File Formats and Conversion</nodeprev><nodeup spaces=" ">File Formats and Conversion</nodeup></node>
+<subsection spaces=" "><sectiontitle>File Formats</sectiontitle>
+<para>netCDF supports four types of files: <code>CLASSIC</code>, <code>64BIT</code>,
+<code>NETCDF4</code>, and <code>NETCDF4_CLASSIC</code>, 
+The <code>CLASSIC</code> format is the traditional 32-bit offset written by
+netCDF2 and netCDF3.
+As of 2005, nearly all netCDF datasets were in <code>CLASSIC</code> format. 
+The <code>64BIT</code> format was added in Fall, 2004.
+As of 2010, many netCDF datasets were in <code>64BIT</code> format. 
+As of 2013, many netCDF datasets are in <code>NETCDF4_CLASSIC</code> format. 
+</para>
+<para>The <code>NETCDF4</code> format uses <acronym><acronymword>HDF5</acronymword></acronym> as the file storage layer. 
+The files are (usually) created, accessed, and manipulated using the 
+traditional netCDF3 <acronym><acronymword>API</acronymword></acronym> (with numerous extensions).
+The <code>NETCDF4_CLASSIC</code> format refers to netCDF4 files created with
+the <code>NC_CLASSIC_MODEL</code> mask.
+Such files use <acronym><acronymword>HDF5</acronymword></acronym> as the back-end storage format (unlike
+netCDF3), though they incorporate only netCDF3 features.
+Hence <code>NETCDF4_CLASSIC</code> files are entirely readable by applications 
+that use only the netCDF3 <acronym><acronymword>API</acronymword></acronym> (though the applications must be
+linked with the netCDF4 library).
+<acronym><acronymword>NCO</acronymword></acronym> must be built with <w>netCDF4</w> to write files in the new
+<code>NETCDF4</code> and <code>NETCDF4_CLASSIC</code> formats, and to read files in
+these formats. 
+Datasets in the default <code>CLASSIC</code> or the newer <code>64BIT</code> formats 
+have maximum backwards-compatibility with older applications. 
+<acronym><acronymword>NCO</acronymword></acronym> has deep support for <code>NETCDF4</code> formats.
+If performance or disk-space as important as backwards compatibility,
+then use <code>NETCDF4_CLASSIC</code> instead of <code>CLASSIC</code> format files. 
+As of 2014, <acronym><acronymword>NCO</acronymword></acronym> support for the <code>NETCDF4</code> format is
+nearly complete and the most powerful and disk/<acronym><acronymword>RAM</acronymword></acronym> efficient 
+workflows will utilize this format.
+</para>
+<para>As mentioned above, all operators write use the input file format for
+output files unless told otherwise.
+Toggling the short option <samp>-6</samp> or the long option <samp>--64bit</samp>
+switch (or its <var>key</var>-<var>value</var> equivalent <samp>--fl_fmt=64bit</samp>)
+produces the netCDF3 64-bit offset format named <code>64BIT</code>. 
+<acronym><acronymword>NCO</acronymword></acronym> must be built with <w>netCDF 3.6</w> or higher to produce
+a <code>64BIT</code> file.
+Using the <samp>-4</samp> switch (or its long option equivalents
+<samp>--4</samp> or <samp>--netcdf4</samp>), or setting its <var>key</var>-<var>value</var>
+equivalent <samp>--fl_fmt=netcdf4</samp> produces a <code>NETCDF4</code> file
+(i.e., with all supported <acronym><acronymword>HDF5</acronymword></acronym> features).
+Using the <samp>-7</samp> switch (or its long option equivalent
+<samp>--7</samp>
+<footnote spaces="\n"><para>The reason (and mnemonic) for <samp>-7</samp> is that <code>NETCDF4_CLASSIC</code>
+files include great features of both netCDF3 (compatibility) and
+netCDF4 (compression, chunking) and, well, <math>3+4=7</math>.</para></footnote>, or 
+setting its <var>key</var>-<var>value</var> equivalent
+<samp>--fl_fmt=netcdf4_classic</samp> produces a <code>NETCDF4_CLASSIC</code>  
+file (i.e., with all supported <acronym><acronymword>HDF5</acronymword></acronym> features like compression
+and chunking but without groups or new atomic types).
+Operators given the <samp>-3</samp> (or <samp>--3</samp>) switch without arguments
+will (attempt to) produce netCDF3 <code>CLASSIC</code> output, even from
+netCDF4 input files.  
+</para>
+<para>Note that <code>NETCDF4</code> and <code>NETCDF4_CLASSIC</code> are the same
+binary format. 
+The latter simply causes a writing application to fail if it attempts to 
+write a <code>NETCDF4</code> file that cannot be completely read by the
+netCDF3 library. 
+Conversely, <code>NETCDF4_CLASSIC</code> indicates to a reading application
+that all of the file contents are readable with the netCDF3 library. 
+<acronym><acronymword>NCO</acronymword></acronym> has supported reading/writing basic <code>NETCDF4</code> and
+<code>NETCDF4_CLASSIC</code> files since October, 2005.
+</para>
+<html endspaces=" ">
+<a name="fmt_inq"></a> <!&textndash; http://nco.sf.net/nco.html#fmt_inq &textndash;>
+</html>
+</subsection>
+<node name="Determining-File-Format" spaces=" "><nodename>Determining File Format</nodename><nodenext spaces=" ">File Conversion</nodenext><nodeprev spaces=" ">File Formats</nodeprev><nodeup spaces=" ">File Formats and Conversion</nodeup></node>
+<subsection spaces=" "><sectiontitle>Determining File Format</sectiontitle>
+<para>Input files often end with the generic <code>.nc</code> suffix that leaves
+(perhaps by intention) the internal file format ambiguous.
+There are at least three ways to discover the internal format of a
+netCDF-supported file.
+These methods determine whether it is a classic (32-bit offset) or newer
+64-bit offset netCDF3 format, or is a netCDF4 format. 
+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="459">netCDF3 classic file format</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="460">netCDF4 classic file format</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="461">netCDF4 file format</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="462">32-bit offset file format</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="463">64-bit offset file format</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="464"><command>ncks</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="465"><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 ...
+% ncks -M foo_364.nc
+Summary of foo_364.nc: filetype = NC_FORMAT_64BIT, 0 groups ...
+% ncks -M foo_4c.nc
+Summary of foo_4c.nc: filetype = NC_FORMAT_NETCDF4_CLASSIC, 0 groups ...
+% ncks -M foo_4.nc
+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="466">extended file format</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="467">underlying file format</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="468"><code>NC_FORMAT_NC3</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="469"><code>NC_FORMAT_NC_HDF5</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="470"><code>NC_FORMAT_NC_HDF4</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="471"><code>NC_FORMAT_PNETCDF</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="472"><code>NC_FORMAT_DAP2</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="473"><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
+are accessible through the netCDF <acronym><acronymword>API</acronymword></acronym>.
+These formats are
+<code>NC_FORMAT_NC3</code> (classic and 64-bit versions of netCDF3 formats),
+<code>NC_FORMAT_NC_HDF5</code> (classic and extended versions of netCDF4, and
+&textldquo;pure&textrdquo; HDF5 format),
+<code>NC_FORMAT_NC_HDF4</code> (HDF4 format),
+<code>NC_FORMAT_PNETCDF</code> (PnetCDF format),
+<code>NC_FORMAT_DAP2</code> (accessed via DAP2 protocol), and
+<code>NC_FORMAT_DAP4</code> (accessed via DAP2 protocol).
+For example,
+</para><example endspaces=" ">
+<pre xml:space="preserve">% ncks -D 2 -M hdf.hdf
+Summary of hdf.hdf: filetype = NC_FORMAT_NETCDF4 (representation of \
+  extended/underlying filetype NC_FORMAT_HDF4), 0 groups ...
+% ncks -D 2 -M http://thredds-test.ucar.edu/thredds/dodsC/testdods/in.nc
+Summary of http://thredds-test.ucar.edu/thredds/dodsC/testdods/in.nc: \
+  filetype = NC_FORMAT_CLASSIC (representation of extended/underlying \
+  filetype NC_FORMAT_DAP2), 0 groups  
+% ncks -D 2 -M foo_4.nc
+Summary of foo_4.nc: filetype = NC_FORMAT_NETCDF4 (representation of \
+  extended/underlying filetype NC_FORMAT_HDF5), 0 groups  
+</pre></example>
+<para>The extended filetype determines some of the capabilities that netCDF
+has to alter the file.
+</para>
+<para>Second, query the file with <samp>ncdump -k</samp>:
+<cindex index="cp" spaces=" "><indexterm index="cp" number="474"><command>ncdump</command></indexterm></cindex>
+</para><example endspaces=" ">
+<pre xml:space="preserve">% ncdump -k foo_3c.nc
+classic
+% ncdump -k foo_364.nc
+64-bit-offset
+% ncdump -k foo_4c.nc
+netCDF-4 classic model
+% ncdump -k foo_4.nc
+netCDF-4
+</pre></example>
+<para>This method requires a netCDF4-enabled <acronym><acronymword>netCDF</acronymword></acronym> 3.6.2+
+(i.e., from 2007 or later).
+</para>
+<para>The third option uses the POSIX-standard <command>od</command> (octal dump)
+command:   
+<cindex index="cp" spaces=" "><indexterm index="cp" number="475"><command>od</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="476">octal dump</indexterm></cindex>
+</para><example endspaces=" ">
+<pre xml:space="preserve">% od -An -c -N4 foo_3c.nc
+   C   D   F 001
+% od -An -c -N4 foo_364.nc
+   C   D   F 002
+% od -An -c -N4 foo_4c.nc
+ 211   H   D   F
+% od -An -c -N4 foo_4.nc
+ 211   H   D   F
+</pre></example>
+<para>This option works without <acronym><acronymword>NCO</acronymword></acronym> and <command>ncdump</command>.
+Values of <samp>C D F 001</samp> and <samp>C D F 002</samp> indicate 32-bit
+(classic) and 64-bit netCDF3 formats, respectively, while values of
+<samp>211 H D F</samp> indicate either of the newer netCDF4 file formats.
+</para>
+<html endspaces=" ">
+<a name="hdf2nc"></a> <!&textndash; http://nco.sf.net/nco.html#hdf2nc &textndash;>
+<a name="3to4"></a> <!&textndash; http://nco.sf.net/nco.html#3to4 &textndash;>
+<a name="4to3"></a> <!&textndash; http://nco.sf.net/nco.html#4to3 &textndash;>
+</html>
+</subsection>
+<node name="File-Conversion" spaces=" "><nodename>File Conversion</nodename><nodenext spaces=" ">Autoconversion</nodenext><nodeprev spaces=" ">Determining File Format</nodeprev><nodeup spaces=" ">File Formats and Conversion</nodeup></node>
+<subsection spaces=" "><sectiontitle>File Conversion</sectiontitle>
+<para>Let us demonstrate converting a file from any netCDF-supported
+input format into any netCDF output format (subject to limits of the
+output format).  
+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:
+</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
+ncks --fl_fmt=netcdf4_classic in.nc foo_4c.nc # netCDF4 classic
+ncks --fl_fmt=netcdf4 in.nc foo_4.nc # netCDF4 
+ncks -3 in.nc foo_3c.nc # netCDF3 classic
+ncks --3 in.nc foo_3c.nc # netCDF3 classic
+ncks -6 in.nc foo_364.nc # netCDF3 64bit
+ncks --64 in.nc foo_364.nc # netCDF3 64bit
+ncks -4 in.nc foo_4.nc # netCDF4 
+ncks --4 in.nc foo_4.nc # netCDF4 
+ncks -7 in.nc foo_4c.nc # netCDF4 classic
+ncks --7 in.nc foo_4c.nc # netCDF4 classic
+</pre></example>
+<para>Of course since most operators support these switches, the
+&textldquo;conversions&textrdquo; can be done at the output stage of arithmetic
+or metadata processing rather than requiring a separate step.
+Producing (netCDF3) <code>CLASSIC</code> or <code>64BIT</code> files from
+<code>NETCDF4_CLASSIC</code> files will always work. 
+</para>
+<html endspaces=" ">
+<a name="autoconversion"></a> <!&textndash; http://nco.sf.net/nco.html#autoconversion &textndash;>
+<a name="autocnv"></a> <!&textndash; http://nco.sf.net/nco.html#autocnv &textndash;>
+</html>
+</subsection>
+<node name="Autoconversion" spaces=" "><nodename>Autoconversion</nodename><nodenext spaces="  "></nodenext><nodeprev spaces=" ">File Conversion</nodeprev><nodeup spaces=" ">File Formats and Conversion</nodeup></node>
+<subsection spaces=" "><sectiontitle>Autoconversion</sectiontitle>
+<para>Because of the dearth of support for netCDF4 amongst tools and user
+communities (including the <acronym><acronymword>CF</acronymword></acronym> conventions), it is often useful
+to convert netCDF4 to netCDF3 for certain applications.
+Until <acronym><acronymword>NCO</acronymword></acronym> version 4.4.0 (January, 2014), producing netCDF3
+files from netCDF4 files only worked if the input files contained no 
+netCDF4-specific features (e.g., atomic types, multiple record
+dimensions, or groups). 
+As of <acronym><acronymword>NCO</acronymword></acronym> version 4.4.0, <command>ncks</command> supports
+<dfn>autoconversion</dfn> of many netCDF4 features to their closest
+netCDF3-compatible representations.
+Since converting netCDF4 to netCDF3 results in loss of features, 
+&textldquo;automatic down-conversion&textrdquo; may be a more precise description of what  
+we term autoconversion.
+</para>
+<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="477">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>.
+It automatically demotes the three types <code>NC_UINT</code>,
+<code>NC_UINT64</code>, and <code>NC_INT64</code> to <code>NC_INT</code>. 
+And it converts <code>NC_STRING</code> to <code>NC_CHAR</code>.
+All numeric conversions work for attributes and variables of any rank.
+Two numeric types (<code>NC_UBYTE</code> and <code>NC_USHORT</code>) are
+<emph>promoted</emph> to types with greater range (and greater storage). 
+This extra range is often not used so promotion perhaps conveys
+the wrong impression.
+However, promotion never truncates values or loses data (this perhaps
+justifies the extra storage).
+Three numeric types (<code>NC_UINT</code>, <code>NC_UINT64</code> and
+<code>NC_INT64</code>) are <emph>demoted</emph>.
+Since the input range is larger than the output range, demotion can
+result in numeric truncation and thus loss of data. 
+In such cases, it would possible to convert the data to floating point
+values instead. 
+If this feature interests you, please be the squeaky wheel and let us
+know.
+</para>
+<para>String conversions (to <code>NC_CHAR</code>) work for all attributes, but
+not for variables.
+This is because attributes are at most one-dimensional and may be of any
+size whereas variables require gridded dimensions that usually do not
+fit the ragged sizes of text strings.
+Hence scalar <code>NC_STRING</code> attributes are correctly converted to and
+stored as <code>NC_CHAR</code> attributes in the netCDF3 output file, but
+<code>NC_STRING</code> variables are not correctly converted. 
+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="478"><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.
+Since a netCDF3 file may have at most one unlimited dimension, all but
+possibly one unlimited dimension from the input file must be converted
+to fixed-length dimensions prior to storing netCDF4 input as netCDF3
+output.
+By invoking <code>--fix_rec_dmn all</code> the user ensures the output file
+will adhere to netCDF3 conventions and the user need not know the names
+of the specific record dimensions to fix.
+See <ref label="ncks-netCDF-Kitchen-Sink"><xrefnodename>ncks netCDF Kitchen Sink</xrefnodename></ref> for a description of the
+<samp>--fix_rec_dmn</samp> option. 
+</para>
+</listitem><listitem>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="479">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
+must be removed.
+This is also called &textldquo;flattening&textrdquo; the hierarchical file.
+See <ref label="Group-Path-Editing"><xrefnodename>Group Path Editing</xrefnodename></ref> for a description of the <acronym><acronymword>GPE</acronymword></acronym>
+option <samp>-G :</samp> to flatten files.
+</para></listitem></enumerate>
+
+<para>Putting the three algorithms together, one sees that the recipe to 
+convert netCDF4 to netCDF4 becomes increasingly complex as the netCDF4
+features in the input file become more elaborate:
+</para><example endspaces=" ">
+<pre xml:space="preserve"># Convert file with netCDF4 atomic types
+ncks -3 in.nc4 out.nc3
+# Convert file with multiple record dimensions + netCDF4 atomic types
+ncks -3 --fix_rec_dmn=all in.nc4 out.nc3
+# Convert file with groups, multiple record dimensions + netCDF4 atomic types
+ncks -3 -G : --fix_rec_dmn=all in.nc4 out.nc3
+</pre></example>
+<para>Future versions of <acronym><acronymword>NCO</acronymword></acronym> may automatically invoke the record
+dimension fixation and group flattening when converting to netCDF3
+(rather than requiring it be specified manually).
+If this feature would interest you, please let us know.
+</para>
+<html endspaces=" ">
+<a name="lfs"></a> <!&textndash; http://nco.sf.net/nco.html#lfs &textndash;>
+</html>
+</subsection>
+</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="480">LFS</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="481">Large File Support</indexterm></cindex>
+<cartouche endspaces=" ">
+<para>Availability: All operators&linebreak;
+Short options: none&linebreak;
+Long options: none&linebreak;
+</para></cartouche>
+<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
+<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
+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
+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,
+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 
+<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
+build time. 
+</para>
+<html endspaces=" ">
+<a name="grp"></a> <!&textndash; http://nco.sf.net/nco.html#grp &textndash;>
+<a name="var"></a> <!&textndash; http://nco.sf.net/nco.html#var &textndash;>
+<a name="xcl"></a> <!&textndash; http://nco.sf.net/nco.html#xcl &textndash;>
+<a name="sbs"></a> <!&textndash; http://nco.sf.net/nco.html#sbs &textndash;>
+<a name="subset"></a> <!&textndash; http://nco.sf.net/nco.html#subset &textndash;>
+</html>
+</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="482">subsetting</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="483">union</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="484">intersection</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="485">exclusion</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="486">extraction</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="487"><code>-v <var>var</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="488"><code>--variable <var>var</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="489"><code>-g <var>grp</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="490"><code>--grp <var>grp</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="491"><code>--group <var>grp</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="492"><code>-x</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="493"><code>--exclude</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="494"><code>--xcl</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="495"><code>--unn</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="496"><code>--union</code></indexterm></cindex>
+<cartouche endspaces=" ">
+<para>Options <code>--unn</code>&linebreak;
+Availability: <command>ncbo</command>, <command>nces</command>,
+<command>ncecat</command>, <command>ncflint</command>, <command>ncks</command>, <command>ncpdq</command>,
+<command>ncra</command>, <command>ncrcat</command>, <command>ncwa</command>&linebreak; 
+Short options: &linebreak;
+Long options: <samp>--unn</samp> and <samp>--union</samp>&linebreak;
+Options <code>-g <var>grp</var></code>&linebreak;
+Availability: <command>ncbo</command>, <command>nces</command>,
+<command>ncecat</command>, <command>ncflint</command>, <command>ncks</command>, <command>ncpdq</command>,
+<command>ncra</command>, <command>ncrcat</command>, <command>ncwa</command>&linebreak; 
+Short options: <samp>-g</samp>&linebreak;
+Long options: <samp>--grp</samp> and <samp>--group</samp>&linebreak;
+Options <code>-v <var>var</var></code> and <code>-x</code>&linebreak;
+Availability: (<command>ncap2</command>), <command>ncbo</command>, <command>nces</command>,
+<command>ncecat</command>, <command>ncflint</command>, <command>ncks</command>, <command>ncpdq</command>,
+<command>ncra</command>, <command>ncrcat</command>, <command>ncwa</command>&linebreak;
+Short options: <samp>-v</samp>, <samp>-x</samp>&linebreak;
+Long options: <samp>--variable</samp>, <samp>--exclude</samp> or <samp>--xcl</samp>&linebreak;
+</para></cartouche>
+<para>Subsetting variables refers to explicitly specifying variables and
+groups to be included or excluded from operator actions.
+Subsetting is controlled by the <samp>-v <var>var</var>[,&dots;]</samp> and
+<samp>-x</samp> options for directly specifying variables.  
+Specifying groups, whether in addition to or instead of variables,
+is quite similar and is controlled by the <samp>-g <var>grp</var>[,&dots;]</samp>
+and <samp>-x</samp> options.
+<w>A list</w> of variables or groups to extract is specified following the
+<samp>-v</samp> and <samp>-g</samp> options, e.g., <samp>-v time,lat,lon</samp> or
+<samp>-g grp1,grp2</samp>.
+Both options may be specified simultaneously and <acronym><acronymword>NCO</acronymword></acronym> will
+extract the intersection of the lists, i.e., only variables of the
+specified names found in groups of the specified names.
+The <samp>--unn</samp> option causes <acronym><acronymword>NCO</acronymword></acronym> to extract the
+union, rather than the intersection, of the specified groups and
+variables. 
+Not using the <samp>-v</samp> or <samp>-g</samp> option is equivalent to specifying
+all variables or groupp, respectively.  
+The <samp>-x</samp> option causes the list of variables specified with
+<samp>-v</samp> to be <emph>excluded</emph> rather than <emph>extracted</emph>.
+Thus <samp>-x</samp> saves typing when you only want to extract fewer than
+half of the variables in a file.
+</para>
+<para>Variables or groups explicitly specified for extraction with
+<samp>-v <var>var</var>[,&dots;]</samp> or <samp>-g <var>grp</var>[,&dots;]</samp>
+<emph>must</emph> be present in the input file or an error will result.
+Variables explicitly specified for <emph>exclusion</emph> with
+<samp>-x -v <var>var</var>[,&dots;]</samp> need not be present in the input
+file.
+To accord with the sophistication of the underlying hierarchy,
+group subsetting is controlled by a few powerful yet subtle syntactical
+distinctions.
+When learning this syntax it is helpful to keep in mind the similarity
+between group hierarchies and directory structures. 
+</para>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="497"><command>mv</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="498"><command>cp</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="499">recursion</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="500">recursive</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="501">anchor</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="502">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;>
+<a name="recursive"></a> <!&textndash; http://nco.sf.net/nco.html#recursive &textndash;>
+<a name="ncr"></a> <!&textndash; http://nco.sf.net/nco.html#ncr &textndash;>
+<a name="anchor"></a> <!&textndash; http://nco.sf.net/nco.html#anchor &textndash;>
+<a name="anchoring"></a> <!&textndash; http://nco.sf.net/nco.html#anchoring &textndash;>
+</html>
+<para>Two properties of subsetting, recursion and anchoring, are best
+illustrated by reminding the user of their <acronym><acronymword>UNIX</acronymword></acronym> equivalents.
+The <acronym><acronymword>UNIX</acronymword></acronym> command <command>mv src dst</command> moves <file>src</file>
+<emph>and all its subdirectories</emph> (and all their subdirectories etc.)
+to <file>dst</file>.
+In other words <command>mv</command> is, by default, <emph>recursive</emph>.
+In contrast, the <acronym><acronymword>UNIX</acronymword></acronym> command <command>cp src dst</command> moves
+<file>src</file>, and only <file>src</file>, to <file>dst</file>,
+If <file>src</file> is a directory, not a file, then that command fails.
+One must explicitly request to copy directories recursively, i.e.,
+with <command>cp -r src dst</command>.
+In <acronym><acronymword>NCO</acronymword></acronym> recursive extraction (and copying) of groups is the
+default (like with <command>mv</command>, not with <command>cp</command>).
+Recursion is turned off by appending a trailing slash to the path.
+</para>
+<para>These <acronym><acronymword>UNIX</acronymword></acronym> commands also illustrate a property we call
+<emph>anchoring</emph>. 
+The command <command>mv src dst</command> moves (recursively) the source
+directory <file>src</file> to the destination directory <file>dst</file>. 
+If <file>src</file> begins with the slash character then the specified path is
+relative to the root directory, otherwise the path is relative to the
+current working directory. 
+In other words, an initial slash character anchors the subsequent path
+to the root directory.
+In <acronym><acronymword>NCO</acronymword></acronym> an initial slash anchors the path at the root group.
+Paths that begin and end with slash characters (e.g., <file>//</file>,
+<file>/g1/</file>, and <file>/g1/g2/</file>) are both anchored and non-recursive. 
+</para>
+<para>Consider the following commands, all of which may be assumed to end with
+<samp>in.nc out.nc</samp>:
+</para><example endspaces=" ">       
+<pre xml:space="preserve">ncks -g  g1  # Extract, recursively, all groups with a g1 component
+ncks -g  g1/ # Extract, non-recursively, all groups terminating in g1
+ncks -g /g1  # Extract, recursively, root group g1
+ncks -g /g1/ # Extract, non-recursively root group g1
+ncks -g //   # Extract, non-recursively the root group
+</pre></example>
+<para>The first command is probably the most useful and common.
+It would extract these groups, if present, and all their direct
+ancestors and children:
+<file>/g1</file>, <file>/g2/g1</file>, and <file>/g3/g1/g2</file>.
+In other words, the simplest form of <samp>-g grp</samp> grabs all groups that 
+(and their direct ancestors and children, recursively) that have
+<file>grp</file> as a complete component of their path.
+A simple string match is insufficient, <var>grp</var> must be a complete 
+component (i.e., group name) in the path.
+The option <samp>-g g1</samp> would not extract these groups because <file>g1</file> 
+is not a complete component of the path: <file>/g12</file>, <file>/fg1</file>, and
+<file>/g1g1</file>.
+The second command above shows how a terminating slash character
+<kbd>/</kbd> cancels the recursive copying of groups.
+An argument to <samp>-g</samp> which terminates with a slash character
+extracts the group and its direct ancestors, but none of its children. 
+The third command above shows how an initial slash character <kbd>/</kbd>
+anchors the argument to the root group.
+The third command would not extract the group <file>/g2/g1</file> because 
+the <file>g1</file> group is not at the root level, but it would extract,
+any group <file>/g1</file> at the root level and all its children,
+recursively.  
+The fourth command is the non-recursive version of the third command.
+The fifth command is a special case of the fourth command.
+</para>
+<html endspaces=" ">
+<a name="unn"></a> <!&textndash; http://nco.sf.net/nco.html#unn &textndash;>
+<a name="nsx"></a> <!&textndash; http://nco.sf.net/nco.html#nsx &textndash;>
+<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="503">union</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="504">intersection</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="505"><code>--unn</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="506"><code>--union</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="507"><code>--nsx</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="508"><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
+specified groups
+<footnote spaces="\n"><para>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.</para></footnote>.
+The <samp>--unn</samp> option causes <acronym><acronymword>NCO</acronymword></acronym> to extract the
+union, rather than the intersection, of the specified groups and
+variables. 
+Consider the following commands (which may be assumed to end with
+<samp>in.nc out.nc</samp>):
+</para><example endspaces=" ">       
+<pre xml:space="preserve"># Intersection-mode subsetting (default)
+ncks -g  g1  -v v1 # Yes: /g1/v1, /g2/g1/v1. No: /v1, /g2/v1
+ncks -g /g1  -v v1 # Yes: /g1/v1, /g1/g2/v1. No: /v1, /g2/v1, /g2/g1/v1
+ncks -g  g1/ -v v1 # Yes: /g1/v1, /g2/g1/v1. No: /v1, /g2/v1, /g1/g2/v1
+ncks -v  g1/v1     # Yes: /g1/v1, /g2/g1/v1. No: /v1, /g2/v1, /g1/g2/v1
+ncks -g /g1/ -v v1 # Yes: /g1/v1. No: /g2/g1/v1, /v1, /g2/v1 ...
+ncks -v /g1/v1     # Yes: /g1/v1. No: /g2/g1/v1, /v1, /g2/v1 ...
+
+# Union-mode subsetting (invoke with --unn or --union)
+ncks -g  g1  -v v1 --unn # All variables in  g1 or progeny, or named v1
+ncks -g /g1  -v v1 --unn # All variables in /g1 or progeny, or named v1
+ncks -g  g1/ -v v1 --unn # All variables in  g1 or named v1
+ncks -g /g1/ -v v1 --unn # All variables in /g1 or named v1
+</pre></example>
+<para>The first command (<samp>-g g1 -v v1</samp>) extracts the variable <file>v1</file>
+from any group named <file>g1</file> or descendent <file>g1</file>.
+The second command extracts <file>v1</file> from any root group
+named <file>g1</file> and any descendent groups as well.
+The third and fourth commands are equivalent ways of extracting
+<file>v1</file> only from the root group named <file>g1</file> (not its
+descendents). 
+The fifth and sixth commands are equivalent ways of extracting the 
+variable <file>v1</file> only from the root group named <file>g1</file>.
+Subsetting in union-mode (with <samp>--unn</samp>) causes all variables to be
+extracted which meet either one or both of the specifications of the 
+variable and group specifications.
+Union-mode subsetting is simply the logical &textldquo;OR&textrdquo; of intersection-mode
+subsetting. 
+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="509">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
+important variables (<pxref label="Memory-Requirements"><xrefnodename>Memory Requirements</xrefnodename></pxref>).
+</para><example endspaces=" ">       
+<pre xml:space="preserve">ncks          in.nc out.nc # Extract all groups and variables
+ncks -v scl   # Extract variable scl from all groups
+ncks -g g1    # Extract group g1 and descendents
+ncks -x -g g1 # Extract all groups except g1 and descendents
+ncks -g g2,g3 -v scl # Extract scl from groups g2 and g3
+</pre></example>
+<para>Overwriting and appending work as expected:
+</para><example endspaces=" ">
+<pre xml:space="preserve"># Replace scl in group g2 in out.nc with scl from group g2 from in.nc
+ncks -A -g g2 -v scl in.nc out.nc
+</pre></example>
+
+<para>Due to its special capabilities, <command>ncap2</command> interprets the
+<samp>-v</samp> switch differently 
+(<pxref label="ncap2-netCDF-Arithmetic-Processor"><xrefnodename>ncap2 netCDF Arithmetic Processor</xrefnodename></pxref>). 
+For <command>ncap2</command>, the <samp>-v</samp> switch takes no arguments and
+indicates that <emph>only</emph> user-defined variables should be output. 
+<command>ncap2</command> neither accepts nor understands the <var>-x</var> and
+<var>-g</var> switches.
+</para>
+<html endspaces=" ">
+<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="510">extended regular expressions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="511">regular expressions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="512">pattern matching</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="513">wildcards</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="514"><command>grep -E</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="515"><command>egrep</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="516"><command>ncatted</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="517"><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>
+from an input file by supplying the regular expression <samp>^DST</samp> to
+the <samp>-v</samp> switch, i.e., <samp>-v '^DST'</samp>. 
+The meta-characters used to express pattern matching operations are
+<samp>^$+?.*[]{}|</samp>. 
+If the regular expression pattern matches <emph>any</emph> part of a variable 
+name then that variable is selected.
+This capability is also called <dfn>wildcarding</dfn>, and is very useful for 
+sub-setting large data files.
+</para>
+<para>Extended regular expressions are defined by the <acronym><acronymword>POSIX</acronymword></acronym>
+<command>grep -E</command> (aka <command>egrep</command>) command.  
+As of <acronym><acronymword>NCO</acronymword></acronym> 2.8.1 (August, 2003), variable name arguments
+to the <samp>-v</samp> switch may contain <dfn>extended regular expressions</dfn>.
+As of <acronym><acronymword>NCO</acronymword></acronym> 3.9.6 (January, 2009), variable names arguments 
+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="518"><acronym><acronymword>POSIX</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="519"><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.
+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="520"><code>.</code> (wildcard character)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="521"><code>$</code> (wildcard character)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="522"><code>^</code> (wildcard character)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="523"><code>?</code> (filename expansion)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="524"><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
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="samp">$</itemformat></item>
+</tableterm><tableitem><para>Matches the end of a string
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="samp">.</itemformat></item>
+</tableterm><tableitem><para>Matches any single character
+</para></tableitem></tableentry></table>
+<noindent></noindent>
+<para>The most useful repetition and combination operators are
+<cindex index="cp" spaces=" "><indexterm index="cp" number="525"><code>?</code> (wildcard character)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="526"><code>*</code> (wildcard character)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="527"><code>+</code> (wildcard character)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="528"><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
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="samp">*</itemformat></item>
+</tableterm><tableitem><para>The preceding regular expression will be matched zero or more times
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="samp">+</itemformat></item>
+</tableterm><tableitem><para>The preceding regular expression will be matched one or more times
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="samp">|</itemformat></item>
+</tableterm><tableitem><para>The preceding regular expression will be joined to the following regular
+expression.
+The resulting regular expression matches any string matching either
+subexpression. 
+</para></tableitem></tableentry></table>
+<noindent></noindent>
+
+<para>To illustrate the use of these operators in extracting variables
+and groups, consider file <file>in_grp.nc</file> with groups
+<code>g0</code>&textndash;<code>g9</code>, and subgroups <code>s0</code>&textndash;<code>s9</code>, in each of
+those groups, and file <file>in.nc</file> with variables <code>Q</code>,
+<code>Q01</code>&textndash;<code>Q99</code>, <code>Q100</code>, <code>QAA</code>&textndash;<code>QZZ</code>,
+<code>Q_H2O</code>, <code>X_H2O</code>, <code>Q_CO2</code>, <code>X_CO2</code>.  
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncks -v '.+' in.nc               # All variables (default)
+ncks -v 'Q.?' in.nc              # Variables that contain Q
+ncks -v '^Q.?' in.nc             # Variables that start with Q
+ncks -v '^Q+.?.' in.nc           # Q, Q0--Q9, Q01--Q99, QAA--QZZ, etc.
+ncks -v '^Q..' in.nc             # Q01--Q99, QAA--QZZ, etc.
+ncks -v '^Q[0-9][0-9]' in.nc     # Q01--Q99, Q100
+ncks -v '^Q[[:digit:]]{2}' in.nc # Q01--Q99
+ncks -v 'H2O$' in.nc             # Q_H2O, X_H2O 
+ncks -v 'H2O$|CO2$' in.nc        # Q_H2O, X_H2O, Q_CO2, X_CO2 
+ncks -v '^Q[0-9][0-9]$' in.nc    # Q01--Q99
+ncks -v '^Q[0-6][0-9]|7[0-3]' in.nc # Q01--Q73, Q100
+ncks -v '(Q[0-6][0-9]|7[0-3])$' in.nc # Q01--Q73
+ncks -v '^[a-z]_[a-z]{3}$' in.nc # Q_H2O, X_H2O, Q_CO2, X_CO2
+ncks -g 'g.' in_grp.nc           # 10 Groups g0-g9
+ncks -g 's.' in_grp.nc       # 100 sub-groups g0/s0, g0/s1, ... g9/s9
+ncks -g 'g.' -v 'v.' in_grp.nc   # All variables 'v.' in groups 'g.'
+</pre></example>
+<para>Beware&textmdash;two of the most frequently used repetition pattern matching
+operators, <samp>*</samp> and <samp>?</samp>, are also valid pattern matching
+operators for filename expansion (globbing) at the shell-level.
+Confusingly, their meanings in extended regular expressions and in
+shell-level filename expansion are significantly different.
+In an extended regular expression, <samp>*</samp> matches zero or more
+occurences of the preceding regular expression. 
+Thus <samp>Q*</samp> selects all variables, and <samp>Q+.*</samp> selects all
+variables containing <samp>Q</samp> (the <samp>+</samp> ensures the preceding item 
+matches at least once).
+To match zero or one occurence of the preceding regular expression,   
+use <samp>?</samp>.
+Documentation for the <acronym><acronymword>UNIX</acronymword></acronym> <command>egrep</command> command details the
+extended regular expressions which <acronym><acronymword>NCO</acronymword></acronym> supports.
+</para>
+<html endspaces=" ">
+<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="529">globbing</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="530">shell</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="531"><command>bash</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="532"><command>csh</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="533">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
+double quotes
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncra -v Q?? in.nc out.nc   # Error: Shell attempts to glob wildcards
+ncra -v '^Q+..' in.nc out.nc # Correct: NCO interprets wildcards
+ncra -v '^Q+..' in*.nc out.nc # Correct: NCO interprets, Shell globs 
+</pre></example>
+<para>The final example shows that commands may use a combination of variable
+wildcarding and shell filename expansion (globbing).
+For globbing, <samp>*</samp> and <samp>?</samp> <emph>have nothing to do</emph> with the 
+preceding regular expression!
+In shell-level filename expansion, <samp>*</samp> matches any string,
+including the null string and <samp>?</samp> matches any single character. 
+Documentation for <command>bash</command> and <command>csh</command> describe the rules of
+filename expansion (globbing).
+</para>
+<html endspaces=" ">
+<a name="crd"></a> <!&textndash; http://nco.sf.net/nco.html#crd &textndash;>
+<a name="-C"></a> <!&textndash; http://nco.sf.net/nco.html#-C &textndash;>
+<a name="-c"></a> <!&textndash; http://nco.sf.net/nco.html#-c &textndash;>
+</html>
+</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="534">subsetting</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="535"><code>-C</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="536"><code>-c</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="537"><code>--no-coords</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="538"><code>--no-crd</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="539"><code>--coords</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="540"><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>,
+<command>ncra</command>, <command>ncrcat</command>, <command>ncwa</command>&linebreak; 
+Short options: <samp>-C</samp>, <samp>-c</samp>&linebreak;
+Long options: <samp>--no-coords</samp>, <samp>--no-crd</samp>, <samp>--crd</samp>, <samp>--coords</samp>&linebreak;
+</para></cartouche>
+<para>By default, coordinates variables associated with any variable appearing
+in the <var>input-file</var> will be placed in the <var>output-file</var>, even
+if they are not explicitly specified, e.g., with the <samp>-v</samp> switch.
+Thus variables with a latitude coordinate <code>lat</code> always carry the
+values of <code>lat</code> with them into the <var>output-file</var>.
+This feature can be disabled with <samp>-C</samp>, which causes <acronym><acronymword>NCO</acronymword></acronym>
+to not automatically add coordinates to the variables appearing in the
+<var>output-file</var>. 
+However, using <samp>-C</samp> does not preclude the user from including some
+coordinates in the output files simply by explicitly selecting the
+coordinates with the <var>-v</var> option.
+The <samp>-c</samp> option, on the other hand, is a shorthand way of
+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="541"><acronym><acronymword>CF</acronymword></acronym> conventions</indexterm></cindex>
+As of <acronym><acronymword>NCO</acronymword></acronym> version 3.9.6 (January, 2009) 
+both <samp>-c</samp> and <samp>-C</samp> honor the <acronym><acronymword>CF</acronymword></acronym> <code>coordinates</code>
+convention described in <ref label="CF-Conventions"><xrefnodename>CF Conventions</xrefnodename></ref>.
+As of <acronym><acronymword>NCO</acronymword></acronym> version 4.0.8 (April, 2011) 
+both <samp>-c</samp> and <samp>-C</samp> honor the <acronym><acronymword>CF</acronymword></acronym> <code>bounds</code>
+convention described in <ref label="CF-Conventions"><xrefnodename>CF Conventions</xrefnodename></ref>. 
+</para>
+<html endspaces=" ">
+<a name="gpe"></a> <!&textndash; http://nco.sf.net/nco.html#gpe &textndash;>
+</html>
+</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="542"><code>-G <var>gpe_dsc</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="543"><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>,
+<command>ncflint</command>, <command>ncks</command>, <command>ncpdq</command>, <command>ncra</command>,
+<command>ncrcat</command>, <command>ncwa</command>&linebreak;
+Short options: <samp>-G</samp>&linebreak;
+Long options: <samp>--gpe</samp>&linebreak;
+</para></cartouche>
+
+<para><dfn>Group Path Editing</dfn>, or <acronym><acronymword>GPE</acronymword></acronym>, allows the user to
+restructure (i.e., add, remove, and rename groups) in the output file 
+relative to the input file based on the instructions they provide.
+As of  <acronym><acronymword>NCO</acronymword></acronym> 4.2.3 (November, 2012), all operators that accept  
+netCDF4 files with groups accept the <samp>-G</samp> switch, or its
+long-option equivalent <samp>--gpe</samp>.
+To master <acronym><acronymword>GPE</acronymword></acronym> one must understand the meaning of the
+required <var>gpe_dsc</var> structure/argument that specifies the
+transformation of input-to-output group paths.
+</para>
+<para>Each <var>gpe_dsc</var> contains up to three elements (two are optional) in
+the following order:&linebreak;   
+<var>gpe_dsc</var> = <var>grp_pth</var>:<var>lvl_nbr</var> or <var>grp_pth</var>&arobase;<var>lvl_nbr</var>
+</para>
+<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="544">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.
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="var">lvl_nbr</itemformat></item>
+</tableterm><tableitem><para>The number of levels to delete (from the head) or truncate (from the
+tail) of the input path.
+</para></tableitem></tableentry></table>
+<noindent></noindent>
+<para>If both components of the argument are present, then a single character,
+either the colon or at-sign (<code>:</code> or <code>&arobase;</code>), must separate them.
+If only <var>grp_pth</var> is specifed, the separator character may be
+omitted, e.g., <samp>-G g1</samp>.
+If only <var>lvl_nbr</var> is specifed, the separator character is still
+required to indicate it is a <var>lvl_nbr</var> arugment and not a
+<var>grp_pth</var>, e.g., <samp>-G :-1</samp> or <samp>-G &arobase;1</samp>.
+</para>
+<para>If the at-sign separator character <code>&arobase;</code> is used instead of the colon
+separator character <code>:</code>, then the following <var>lvl_nbr</var> arugment 
+must be positive and it will be assumed to refer to Truncation-Mode.
+Hence, <samp>-G :-1</samp> is the same as <samp>-G &arobase;1</samp>. 
+This is simply a way of making the <var>lvl_nbr</var> argument
+positive-definite. 
+</para>
+<html endspaces=" ">
+<a name="flatten"></a> <!&textndash; http://nco.sf.net/nco.html#flatten &textndash;>
+<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="545"><code>&arobase;</code> (separator character)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="546"><code>:</code> (separator character)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="547">delete (groups)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="548">truncate (groups)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="549">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
+<var>lvl_nbr</var> that is positive, negative, or zero for Delete-, 
+Truncate- and Flatten-mode, respectively. 
+</para>
+<para>In Delete-mode, <var>lvl_nbr</var> is a positive integer which specifies
+the maximum number of group path components (i.e., groups) that
+<acronym><acronymword>GPE</acronymword></acronym> will try to delete from the head of <var>grp_pth</var>. 
+For example <math><var>lvl_nbr</var> = 3</math> changes the input path
+<file>/g1/g2/g3/g4/g5</file> to the output path <file>/g4/g5</file>.
+Input paths with <var>lvl_nbr</var> or fewer components (groups)
+are completely erased and the output path commences from the root  
+level. 
+</para>
+<para>In other words, <acronym><acronymword>GPE</acronymword></acronym> is tolerant of specifying too many group
+components to delete. 
+It deletes as many as possible, without complaint, and then begins to
+flatten the file (which will fail if namespace conflicts arise).
+</para>
+<para>In Truncate-mode, <var>lvl_nbr</var> is a negative integer which specifies
+the maximum number of group path components (i.e., groups) that
+<acronym><acronymword>GPE</acronymword></acronym> will try to truncate from the tail of <var>grp_pth</var>. 
+For example <math><var>lvl_nbr</var> = -3</math> changes the input path
+<file>/g1/g2/g3/g4/g5</file> to the output path <file>/g1/g2</file>.
+Input paths with <var>lvl_nbr</var> or fewer components (groups)
+are completely erased and the output path commences from the root  
+level. 
+</para>
+<para>In Flatten-mode, indicated by the separator character alone
+or with <math><var>lvl_nbr</var> = 0</math>, <acronym><acronymword>GPE</acronymword></acronym> removes the entire group
+path from the input file and constructs the output path beginning at the
+root level.  
+For example <code>-G :0</code> and <code>-G :</code> are identical and change the
+input path <file>/g1/g2/g3/g4/g5</file> to the output path <file>/</file> whereas
+<code>-G g1:0</code> and <code>-G g1:</code> are identical and result in the output 
+path <file>/g1</file> for all variables.
+</para>
+<para>Subsequent to the alteration of the input path by the specified
+editing mode, if any, <acronym><acronymword>GPE</acronymword></acronym> prepends (in Delete Mode)
+or Appends (in Truncate-mode) any specifed <var>grp_pth</var> to the output
+path. 
+For example <code>-G g2</code> changes the input paths <file>/</file> and <file>/g1</file>
+to <file>/g2</file> and <file>/g1/g2</file>, respectively.
+Likewise, <code>-G g2/g3</code> changes the input paths <file>/</file> and <file>/g1</file>
+to <file>/g2/g3</file> and <file>/g1/g2/g3</file>, respectively.
+When <var>grp_pth</var> and <var>lvl_nbr</var> are both specified, the editing
+actions are taken in sequence so that, e.g., <code>-G g1/g2:2</code> 
+changes the input paths <file>/</file> and <file>/h1/h2/h3/h4</file>
+to <file>/g1/g2</file> and <file>/g1/g2/h3/h4</file>, respectively.
+Likewise, <code>-G g1/g2:-2</code> changes the input paths <file>/</file> and
+<file>/h1/h2/h3/h4</file> to <file>/g1/g2</file> and <file>/h1/h2/g1/g2</file>,
+respectively. 
+</para>
+<para>Combining <acronym><acronymword>GPE</acronymword></acronym> with subsetting (<pxref label="Subsetting-Files"><xrefnodename>Subsetting Files</xrefnodename></pxref>) 
+yields powerful control over the extracted (or excluded) variables and
+groups and their placement in the output file as shown by the following
+commands. 
+All commands below may be assumed to end with <samp>in.nc out.nc</samp>.
+</para><example endspaces=" ">       
+<pre xml:space="preserve"># Prepending paths without editing:
+ncks                   # /g?/v? -> /g?/v?
+ncks             -v v1 # /g?/v1 -> /g?/v1
+ncks       -g g1       # /g1/v? -> /g1/v?
+ncks -G o1             # /g?/v? -> /o1/g?/v?
+ncks -G o1 -g g1       # /g1/v? -> /o1/g1/v?
+ncks       -g g1 -v v1 # /g1/v1 -> /g1/v1
+ncks -G o1       -v v1 # /g?/v1 -> /o1/g?/v1
+ncks -G o1 -g g1 -v v1 # /g1/v1 -> /o1/g1/v1
+ncks -G g1 -g /  -v v1 # /v1    -> /g1/v1
+ncks -G g1/g2    -v v1 # /g?/v1 -> /g1/g2/g?/v1
+# Delete-mode: Delete from and Prepend to path head
+# Syntax: -G [ppn]:lvl_nbr = # of levels to delete
+ncks -G :1    -g g1    -v v1 # /g1/v1    -> /v1
+ncks -G :1    -g g1/g1 -v v1 # /g1/g1/v1 -> /g1/v1
+ncks -G :2    -g g1/g1 -v v1 # /g1/g1/v1 -> /v1
+ncks -G :2    -g g1    -v v1 # /g1/v1    -> /v1
+ncks -G g2:1  -g g1    -v v1 # /g1/v1    -> /g2/v1
+ncks -G g2:2  -g g1/g1 -v v1 # /g1/g1/v1 -> /g2/v1
+ncks -G g2:1  -g /     -v v1 # /v1       -> /g2/v1
+ncks -G g2:1           -v v1 # /v1       -> /g2/v1
+ncks -G g2:1  -g g1/g1 -v v1 # /g1/g1/v1 -> /g2/g1/v1
+# Flatten-mode: Remove all input path components
+# Syntax: -G [apn]: colon without numerical argument
+ncks -G :            -v v1 # /g?/v1    -> /v1
+ncks -G :   -g g1    -v v1 # /g1/v1    -> /v1
+ncks -G :   -g g1/g1 -v v1 # /g1/g1/v1 -> /v1
+ncks -G g2:          -v v1 # /g?/v1    -> /g2/v1
+ncks -G g2:                # /g?/v?    -> /g2/v?
+ncks -G g2: -g g1/g1 -v v1 # /g1/g1/v1 -> /g2/v1
+# Truncate-mode: Truncate from and Append to path tail
+# Syntax: -G [apn]:-lvl_nbr = # of levels to truncate
+# NB: -G [apn]:-lvl_nbr is equivalent to -G [apn]&arobase;lvl_nbr
+ncks -G :-1   -g g1    -v v1 # /g1/v1    -> /v1
+ncks -G :-1   -g g1/g2 -v v1 # /g1/g2/v1 -> /g1/v1
+ncks -G :-2   -g g1/g2 -v v1 # /g1/g2/v1 -> /v1
+ncks -G :-2   -g g1    -v v1 # /g1/v1    -> /v1
+ncks -G g2:-1          -v v1 # /g?/v1    -> /g2/v1
+ncks -G g2:-1 -g g1    -v v1 # /g1/v1    -> /g2/v1
+ncks -G g1:-1 -g g1/g2 -v v1 # /g1/g2/v1 -> /g1/g1/v1
+</pre></example>
+
+<html endspaces=" ">
+<a name="mv"></a> <!&textndash; http://nco.sf.net/nco.html#mv &textndash;>
+<a name="move"></a> <!&textndash; http://nco.sf.net/nco.html#move &textndash;>
+</html>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="550">move groups</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="551">groups, moving</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="552">rename groups</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="553">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.
+However, <acronym><acronymword>NCO</acronymword></acronym> built on earlier versions of netCDF than 4.3.1
+can use a <acronym><acronymword>GPE</acronymword></acronym>-based workaround mechanism to &textldquo;rename&textrdquo;
+groups. 
+The <acronym><acronymword>GPE</acronymword></acronym> mechanism actually <emph>moves</emph> (i.e., copies to a new
+location) groups, a more arduous procedure than simply renaming them.
+<acronym><acronymword>GPE</acronymword></acronym> applies to all selected groups, so, in the general case,
+one must move only the desired group to a new file, and then merge that
+new file with the original to obtain a file where the desired group has
+been &textldquo;renamed&textrdquo; and all else is unchanged.
+Here is how to &textldquo;rename&textrdquo; group <file>/g4</file> to group <file>/f4</file> with
+<acronym><acronymword>GPE</acronymword></acronym> instead of <command>ncrename</command>
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncks -O -G f4:1 -g g4 ~/nco/data/in_grp.nc ~/tmp.nc # Move /g4 to /f4
+ncks -O -x -g g4 ~/nco/data/in_grp.nc ~/out.nc # Excise /g4
+ncks -A ~/tmp.nc ~/out.nc # Add /f4 to new file
+</pre></example>
+<para>If the original group <file>g4</file> is not excised from <file>out.nc</file> (step
+two above), then the final output file would contain both <file>g4</file> and
+a copy named <file>f4</file>.
+Thus GPE can be used to both &textldquo;rename&textrdquo; and copy groups.
+The recommended way to rename groups when when netCDF version 4.3.1 is
+availale is to use <command>ncrename</command> (<pxref label="ncrename-netCDF-Renamer"><xrefnodename>ncrename netCDF Renamer</xrefnodename></pxref>).
+</para>
+<html endspaces=" ">
+<a name="xmp_flt"></a> <!&textndash; http://nco.sf.net/nco.html#xmp_flt &textndash;>
+</html>
+<para>One may wish to flatten hierarchical group files for many reasons.
+These include <w>1. Obtaining</w> flat netCDF3 files for use with tools
+that do not work with netCDF4 files, <w>2. Splitting</w> apart
+hierarchies to re-assemble into different hierarchies, and
+<w>3. Providing</w> a subset of a hierarchical file with the simplest
+possible storage structure.
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncks -O -G : -g cesm -3 ~/nco/data/cmip5.nc ~/cesm.nc # Extract /cesm to /
+</pre></example>
+<para>The <option>-3</option> switch
+<footnote><para>Note that the <option>-3</option> switch should appear <emph>after</emph> the
+<option>-G</option> and <option>-g</option> switches. 
+This is due to an artifact of the <acronym><acronymword>GPE</acronymword></acronym> implementation which we
+wish to remove in the future.</para></footnote>
+specifies the output dataset should be in netCDF3
+format, the <option>-G :</option> option flattens all extracted groups, and the
+<option>-g cesm</option> option extracts only the <code>cesm</code> group and leaves
+all other groups (e.g., <code>ecmwf</code>, <code>giss</code>).
+</para>
+<html endspaces=" ">
+<a name="dismember"></a> <!&textndash; http://nco.sf.net/nco.html#dismember &textndash;>
+<a name="disaggregate"></a> <!&textndash; http://nco.sf.net/nco.html#disaggregate &textndash;>
+<a name="ncdismember"></a> <!&textndash; http://nco.sf.net/nco.html#ncdismember &textndash;>
+</html>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="554">disaggregate</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="555">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.
+For now we take this to mean: store each group as a standalone flat
+dataset in netCDF3 format.
+This can be accomplished by looping the previous example over all
+groups. 
+This script <file>ncdismember</file> dismembers the input file <var>fl_in</var>
+specified in the first argument and places the resulting files in the
+directory <var>drc_out</var> specified by the second argument:
+</para><example endspaces=" ">
+<verbatim xml:space="preserve">
+cat > ~/ncdismember << 'EOF'
+# Purpose: Dismember netCDF4/HDF5 hierarchical files. CF-check them.
+# Place each input file group in separate netCDF3 output file
+# Described in NCO User Guide at http://nco.sf.net/nco.html#dismember
+# Requirements: NCO 4.3.x+, UNIX shell utilities awk, grep, sed
+# Optional: CFchecker command https://bitbucket.org/mde_/cfchecker
+
+# Usage:
+# ncdismember <fl_in> <drc_out> [flg_cf] [cf_vrs] [opt]
+# where fl_in is input file/URL to dismember, drc_out is output directory,
+# CF-compliance check is performed when optional third argument is 'cf',
+# Optional fourth argument cf_vrs is CF version to check
+# Optional fifth argument opt passes straight through to ncks
+# chmod a+x ~/sh/ncdismember
+# ncdismember ~/nco/data/mdl.nc /data/zender/nco/tmp
+# ncdismember ~/nco/data/mdl.nc /data/zender/nco/tmp
+# ncdismember http://dust.ess.uci.edu/nco/mdl.nc /data/zender/nco/tmp
+# ncdismember http://thredds-test.ucar.edu/thredds/dodsC/testdods/foo.nc /data/zender/nco/tmp
+# ncdismember ~/nco/data/mdl.nc /data/zender/nco/tmp cf
+# ncdismember ~/nco/data/mdl.nc /data/zender/nco/tmp cf 1.3
+# ncdismember ~/nco/data/mdl.nc /data/zender/nco/tmp cf 1.5 --fix_rec_dmn=all
+
+# Command line argument defaults
+fl_in="${HOME}/nco/data/mdl.nc" # [sng] Input file to dismember/check
+drc_out="${DATA}/nco/tmp" # [sng] Output directory
+flg_cf='0' # [flg] Perform CF-compliance check
+cf_vrs='1.5' # [sng] Compliance-check this CF version (e.g., '1.5')
+opt='' # [flg] Additional ncks options (e.g., '--fix_rec_dmn=all')
+
+# Command line argument option parsing
+if [ -n "${1}" ]; then fl_in=${1}; fi
+if [ -n "${2}" ]; then drc_out=${2}; fi
+if [ -n "${3}" ]; then flg_cf=${3}; fi
+if [ -n "${4}" ]; then cf_vrs=${4}; fi
+if [ -n "${5}" ]; then opt=${5}; fi
+
+# Prepare output directory
+echo "NCO dismembering file ${fl_in}"
+fl_stb=$(basename ${fl_in})
+drc_out=${drc_out}/${fl_stb}
+mkdir -p ${drc_out}
+cd ${drc_out}
+# Obtain group list
+grp_lst=`ncks --cdl -m ${fl_in} | grep '// group' | awk '{$1=$2=$3="";sub(/^  */,"",$0);print}'`
+IFS=$'\n' # Change Internal-Field-Separator from <Space><Tab><Newline> to <Newline>
+for grp_in in ${grp_lst} ; do
+    # Replace slashes by dots for output group filenames
+    grp_out=`echo ${grp_in} | sed 's/\///' | sed 's/\//./g'`
+    if [ "${grp_out}" = '' ]; then grp_out='root' ; fi
+    # Tell older NCO/netCDF if HDF4 with --hdf4 switch (signified by .hdf/.HDF suffix)
+    hdf4=`echo ${fl_in} | awk '{if(match(tolower($1),".hdf$")) hdf4="--hdf4"; print hdf4}'`
+    # Flatten to netCDF3, anchor, no history, no temporary file, padding, HDF4 flag, options
+    ncks -O -3 -G : -g ${grp_in}/ -h --no_tmp_fl --hdr_pad=40 ${hdf4} ${opt} ${fl_in} ${drc_out}/${grp_out}.nc
+    if [ ${flg_cf} = 'cf' ]; then
+       # cfchecker needs Conventions <= 1.5
+       ncatted -h -a Conventions,global,o,c,"CF-${cf_vrs}" ${drc_out}/${grp_out}.nc
+    else # !flg_cf
+       echo ${drc_out}/${grp_out}.nc
+    fi # !flg_cf
+done
+if [ ${flg_cf} = 'cf' ]; then
+    echo "CFchecker reports CF-compliance of each group in flat netCDF3 format"
+    cfchecker -c ${cf_vrs} *.nc
+fi # !flg_cf
+EOF
+chmod 755 ~/ncdismember # Make command executable
+/bin/mv -f ~/ncdismember ~/sh # Store in location on $PATH, e.g., /usr/local/bin
+
+zender at roulee:~$ ncdismember ~/nco/data/mdl.nc ${DATA}/nco/tmp
+NCO dismembering file /home/zender/nco/data/mdl.nc
+/data/zender/nco/tmp/mdl.nc/cesm.cesm_01.nc
+/data/zender/nco/tmp/mdl.nc/cesm.cesm_02.nc
+/data/zender/nco/tmp/mdl.nc/cesm.nc
+/data/zender/nco/tmp/mdl.nc/ecmwf.ecmwf_01.nc
+/data/zender/nco/tmp/mdl.nc/ecmwf.ecmwf_02.nc
+/data/zender/nco/tmp/mdl.nc/ecmwf.nc
+/data/zender/nco/tmp/mdl.nc/root.nc
+</verbatim>
+</example>
+<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.
+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
+groups, including the global metadata from the input file.
+As written, the script could fail on groups that contain advanced
+netCDF4 features because the user requests (with the <samp>-3</samp> switch)
+that output be netCDF3 classic format.  
+However, <command>ncks</command> detects many format incompatibilities in advance
+and works around them.
+For example, <command>ncks</command> autoconverts netCDF4-only atomic-types (such
+as <code>NC_STRING</code> and <code>NC_UBYTE</code>) to corresponding netCDF3
+atomic types (<code>NC_CHAR</code> and <code>NC_SHORT</code>) when the output format
+is netCDF3. 
+</para>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="556"><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="557">compliance checker</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="558">Martin Schultz</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="559">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>,
+<command>ncdismember</command> passes each file it generates to the freely
+available
+<footnote><para>CFchecker is developed by Michael Decker and Martin Schultz at
+Forschungszentrum J<accent type="uml" bracketed="off">u</accent>lich and distributed at
+<uref><urefurl>https://bitbucket.org/mde_/cfchecker</urefurl></uref>.</para></footnote> 
+<command>cfchecker</command> command.
+</para><example endspaces=" ">
+<verbatim xml:space="preserve">
+zender at roulee:~$ ncdismember ~/nco/data/mdl.nc /data/zender/nco/tmp cf
+NCO dismembering file /home/zender/nco/data/mdl.nc
+CFchecker reports CF-compliance of each group in flat netCDF3 format
+WARNING: Using the default (non-CF) Udunits database
+cesm.cesm_01.nc: 
+INFO: INIT:     running CFchecker version 1.5.15
+INFO: INIT:     checking compliance with convention CF-1.5
+INFO: INIT:     using standard name table version: 25, last modified: 2013-07-05T05:40:30Z
+INFO: INIT:     using area type table version: 2, date: 10 July 2013
+INFO: 2.4:      no axis information found in dimension variables, not checking dimension order
+WARNING: 3:     variable "tas1" contains neither long_name nor standard_name attribute
+WARNING: 3:     variable "tas2" contains neither long_name nor standard_name attribute
+INFO: 3.1:      variable "tas1" does not contain units attribute
+INFO: 3.1:      variable "tas2" does not contain units attribute
+--------------------------------------------------
+cesm.cesm_02.nc: 
+...
+</verbatim>
+</example>
+<para>By default the <acronym><acronymword>CF</acronymword></acronym> version checked is determined automatically by
+<command>cfchecker</command>. 
+The user can override this default by supplying a supported <acronym><acronymword>CF</acronymword></acronym> version,
+e.g., <samp>1.3</samp>, as an optional fourth argument to
+<command>ncdismember</command>. 
+Current valid <acronym><acronymword>CF</acronymword></acronym> options are <samp>1.0</samp>, <samp>1.1</samp>,
+<samp>1.2</samp>, <samp>1.3</samp>, <samp>1.4</samp>, and <samp>1.5</samp>. 
+</para>
+<html endspaces=" ">
+<a name="diwg"></a> <!&textndash; http://nco.sf.net/nco.html#diwg &textndash;>
+</html>
+<para>Our development and testing of <command>ncdismember</command> is funded by our
+involvement in <acronym><acronymword>NASA</acronymword></acronym>&textrsquo;s Dataset Interoperability Working Group 
+(<uref><urefurl>https://wiki.earthdata.nasa.gov/display/ESDSWG/Dataset+Interoperability+Working+Group</urefurl><urefdesc spaces="\n">DIWG</urefdesc></uref>), though our interest extends beyond <acronym><acronymword>NASA</acronymword></acronym> datasets.
+Taken together, <acronym><acronymword>NCO</acronymword></acronym>&textrsquo;s features (autoconversion to netCDF3  
+atomic types, fixing multiple record dimensions, autosensing
+<acronym><acronymword>HDF4</acronymword></acronym> input, scoping rules for CF conventions) make 
+<command>ncdismember</command> reliable and friendly for both dismembering 
+hierarchical files and for <acronym><acronymword>CF</acronymword></acronym>-compliance checks. 
+Most <acronym><acronymword>HDF4</acronymword></acronym> and <acronym><acronymword>HDF5</acronymword></acronym> datasets can be checked for 
+<acronym><acronymword>CF</acronymword></acronym>-compliance with a one-line command. 
+Example compliance checks of common <acronym><acronymword>NASA</acronymword></acronym> datasets are at
+<uref><urefurl>http://dust.ess.uci.edu/diwg</urefurl></uref>.
+Our long-term goal is to enrich the hierarchical data model with the 
+expressivity and syntactic power of <acronym><acronymword>CF</acronymword></acronym> conventions.
+</para>
+<para><acronym><acronymword>NASA</acronymword></acronym> asked the <acronym><acronymword>DIWG</acronymword></acronym> to prepare a one-page summary
+of the procedure necessary to check <acronym><acronymword>HDF</acronymword></acronym> files for
+<acronym><acronymword>CF</acronymword></acronym>-compliance: 
+</para><example endspaces=" ">
+<verbatim xml:space="preserve">
+cat > ~/ncdismember.txt << 'EOF'
+    Preparing an RPM-based OS to Test Hierarchical Files for CF-Compliance
+
+By Charlie Zender, UCI & NASA Dataset Interoperability Working Group (DIWG)
+
+Installation Summary:
+1. HDF4 [with netCDF support _disabled_]
+2. HDF5
+3. netCDF version 4.3.1 (or later) [with HDF4 support _enabled_]
+4. NCO version 4.4.0 (or later)
+5. numpy
+6. netcdf4-python
+7. python-lxml
+8. CFunits-python
+9. CFChecker
+10. ncdismember
+
+All 10 packages can use default installs _except_ HDF4 and netCDF.
+Following instructions for Fedora Core 20 (FC20), an RPM-based Linux OS
+Feedback and changes for other Linux-based OS's welcome to zender at uci.edu
+${H4DIR}, ${H5DIR}, ${NETCDFDIR}, ${NCODIR}, may all be different
+For simplicity CZ sets them all to /usr/local
+
+# 1. HDF4. Build in non-default manner. Turn-off its own netCDF support.
+# Per http://www.unidata.ucar.edu/software/netcdf/docs/build_hdf4.html
+# HDF4 support not necessary though it makes ncdismember more comprehensive
+wget -c http://www.hdfgroup.org/ftp/HDF/HDF_Current/src/hdf-4.2.9.tar.gz
+tar xvzf hdf-4.2.9.tar.gz
+cd hdf-4.2.9
+./configure --enable-shared --disable-netcdf --disable-fortran --prefix=${H4DIR}
+make && make check && make install
+
+# 2. HDF5. Build normally. RPM may work too. Please let me know if so.
+# HDF5 is a necessary pre-requisite for netCDF4
+wget -c ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4/hdf5-1.8.11.tar.gz
+tar xvzf hdf5-1.8.11.tar.gz
+cd hdf5-1.8.11
+./configure --enable-shared --prefix=${H5DIR}
+make && make check && make install
+
+# 3. netCDF version 4.3.1. Build in non-default manner with HDF4. No RPM.
+# Per http://www.unidata.ucar.edu/software/netcdf/docs/build_hdf4.html
+# Earlier versions of netCDF may fail checking some HDF4 files
+wget -c ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4.3.1.tar.gz
+tar xvzf netcdf-4.3.1.tar.gz
+cd netcdf-4.3.1
+CPPFLAGS="-I${H5DIR}/include -I${H4DIR}/include" \
+LDFLAGS="-L${H5DIR}/lib -L${H4DIR}/lib" \
+./configure --enable-hdf4 --enable-hdf4-file-tests
+make && make check && make installas
+
+# 4. NCO version 4.4.2. No RPM for this version. Must install by hand.
+# Earlier versions of NCO are relatively useless for ncdismember
+cd ${DATA}/tmp
+wget http://nco.sourceforge.net/src/nco-4.4.2.tar.gz .
+tar xvzf nco-4.4.2.tar.gz
+cd nco-4.4.2
+./configure --prefix=${NCODIR}
+make && make install
+
+# 5. numpy
+sudo yum install numpy -y
+
+# 6. netcdf4-python
+sudo yum install netcdf4-python -y
+
+# 7. python-lxml
+sudo yum install python-lxml -y
+
+# 8. CFunits-python. No RPM available. Must install by hand.
+# http://code.google.com/p/cfunits-python/
+cd ${DATA}/tmp
+wget http://cfunits-python.googlecode.com/files/cfunits-0.9.6.tar.gz .
+cd cfunits-0.9.6
+sudo python setup.py install
+
+# 9. CFChecker. No RPM available. Must install by hand.
+# https://bitbucket.org/mde_/cfchecker
+cd ${DATA}/tmp
+wget https://bitbucket.org/mde_/cfchecker/downloads/CFchecker-1.5.15.tar.bz2 . 
+tar xvjf CFchecker-1.5.15.tar.bz2 
+cd CFchecker
+sudo python setup.py install
+
+# 10. ncdismember. Copy script from http://nco.sf.net/nco.html#ncdismember
+# Store dismembered files somewhere, e.g., ${DATA}/nco/tmp/hdf
+mkdir -p ${DATA}/nco/tmp/hdf
+# Many datasets work with a simpler command...
+ncdismember ~/nco/data/in.nc ${DATA}/nco/tmp/hdf cf 1.5
+ncdismember ~/nco/data/mdl.nc ${DATA}/nco/tmp/hdf cf 1.5
+ncdismember ${DATA}/hdf/AMSR_E_L2_Rain_V10_200905312326_A.hdf \
+            ${DATA}/nco/tmp/hdf cf 1.5
+ncdismember ${DATA}/hdf/BUV-Nimbus04_L3zm_v01-00-2012m0203t144121.h5 \
+            ${DATA}/nco/tmp/hdf cf 1.5
+ncdismember ${DATA}/hdf/HIRDLS-Aura_L3ZAD_v06-00-00-c02_2005d022-2008d077.he5 ${DATA}/nco/tmp/hdf cf 1.5
+# Some datasets, typically .h5, require the --fix_rec_dmn=all argument
+ncdismember_${DATA}/hdf/GATMO_npp_d20100906_t1935191_e1935505_b00012_c20110707155932065809_noaa_ops.h5 ${DATA}/nco/tmp/hdf cf 1.5 --fix_rec_dmn=all
+ncdismember ${DATA}/hdf/mabel_l2_20130927t201800_008_1.h5 \
+            ${DATA}/nco/tmp/hdf cf 1.5 --fix_rec_dmn=all
+EOF
+</verbatim>
+</example>
+<!-- c scp ~/ncdismember.pdf dust.ess.uci.edu:/var/www/html/diwg -->
+<para>A <acronym><acronymword>PDF</acronymword></acronym> version of these instructions is available
+<uref><urefurl>http://dust.ess.uci.edu/diwg/ncdismember.pdf</urefurl><urefdesc spaces=" ">here</urefdesc></uref>.
+</para>
+<html endspaces=" ">
+<a name="ftn"></a> <!&textndash; http://nco.sf.net/nco.html#ftn &textndash;>
+<a name="-F"></a> <!&textndash; http://nco.sf.net/nco.html#-F &textndash;>
+</html>
+</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="560">index convention</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="561">Fortran index convention</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="562">C index convention</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="563"><code>-F</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="564"><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>,
+<command>ncrcat</command>, <command>ncwa</command>&linebreak; 
+Short options: <samp>-F</samp>&linebreak;
+Long options: <samp>--fortran</samp>&linebreak;
+</para></cartouche>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="565">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. 
+<w>In C</w>, indices count <w>from 0</w> (rather <w>than 1</w>), and
+dimensions are ordered from slowest (inner-most) to fastest
+(outer-most) varying.
+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="566">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="567">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="568">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
+June-July-August average of the data:
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncra -d time,5,7 85.nc 85_JJA.nc
+ncra -F -d time,6,8 85.nc 85_JJA.nc
+</pre></example>
+
+<para>Printing variable <var>three_dmn_var</var> in file <file>in.nc</file> first with
+the <w>C indexing</w> convention, then with Fortran indexing convention
+results in the following output formats: 
+</para><example endspaces=" ">
+<pre xml:space="preserve">% ncks -v three_dmn_var in.nc
+lat[0]=-90 lev[0]=1000 lon[0]=-180 three_dmn_var[0]=0 
+...
+% ncks -F -v three_dmn_var in.nc
+lon(1)=0 lev(1)=100 lat(1)=-90 three_dmn_var(1)=0 
+...
+</pre></example>
+
+<html endspaces=" ">
+<a name="-d"></a> <!&textndash; http://nco.sf.net/nco.html#-d &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;>
+</html>
+</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="569">hyperslab</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="570">dimension limits</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="571">coordinate limits</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="572"><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="573"><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="574"><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>,
+<command>ncrcat</command>, <command>ncwa</command>&linebreak; 
+Short options: <samp>-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</samp>&linebreak;
+Long options: 
+<samp>--dimension <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</samp>,&linebreak; 
+<samp>--dmn <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</samp>&linebreak;
+</para></cartouche>
+<para><w>A <dfn>hyperslab</dfn></w> is a subset of a variable&textrsquo;s data.
+The coordinates of a hyperslab are specified with the 
+<code>-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</code> short
+option (or with the same arguments to the <samp>--dimension</samp> or
+<samp>--dmn</samp> long options).   
+At least one hyperslab argument (<var>min</var>, <var>max</var>, or <var>stride</var>)
+must be present. 
+The bounds of the hyperslab to be extracted are specified by the
+associated <var>min</var> and <var>max</var> values. 
+<w>A half</w>-open range is specified by omitting either the <var>min</var> or
+<var>max</var> parameter.
+The separating comma must be present to indicate the omission of one of
+these arguments.
+The unspecified limit is interpreted as the maximum or minimum value in 
+the unspecified direction.  
+<w>A cross</w>-section at a specific coordinate is extracted by specifying only
+the <var>min</var> 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). 
+</para><example endspaces=" ">
+<pre xml:space="preserve"># First and second indices of lon dimension
+ncks -F -d lon,1,2 in.nc out.nc
+# Second and third indices of lon dimension
+ncks -d lon,1,2 in.nc out.nc
+</pre></example>
+
+<cindex index="cp" spaces=" "><indexterm index="cp" number="575">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. 
+This convention serves only to differentiate coordinate values from
+dimension indices.
+It is independent of the type of any netCDF coordinate variables.
+For a given dimension, the specified limits must both be coordinate
+values (with decimal points) or dimension indices (no decimal points).
+</para>
+<para>If values of a coordinate-variable are used to specify a range or
+cross-section, then the coordinate variable must be monotonic (values
+either increasing or decreasing). 
+In this case, command-line values need not exactly match coordinate
+values for the specified dimension. 
+Ranges are determined by seeking the first coordinate value to occur in
+the closed range [<var>min</var>,<var>max</var>] and including all subsequent
+values until one falls outside the range. 
+The coordinate value for a cross-section is the coordinate-variable
+value closest to the specified value and must lie within the range or
+coordinate-variable values. 
+The <var>stride</var> argument, if any, must be a dimension index, not a
+coordinate value.
+<xref label="Stride"><xrefnodename>Stride</xrefnodename></xref>, for more information on the <var>stride</var> option.
+</para><example endspaces=" ">
+<pre xml:space="preserve"># All longitude values between 1 and 2 degrees
+ncks -d lon,1.0,2.0 in.nc out.nc
+# All longitude values between 1 and 2 degrees
+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="576"><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="577">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.
+If <math><var>min</var> > <var>max</var></math>, the <acronym><acronymword>NCO</acronymword></acronym> expects the
+coordinate to be wrapped, and a warning message will be printed.
+When this occurs, <acronym><acronymword>NCO</acronymword></acronym> selects all values outside the domain
+[<math><var>max</var> < <var>min</var></math>], i.e., all the values exclusive of the
+values which would have been selected if <var>min</var> and <var>max</var> were
+swapped. 
+If this seems confusing, test your command on just the coordinate
+variables with <command>ncks</command>, and then examine the output to ensure
+<acronym><acronymword>NCO</acronymword></acronym> selected the hyperslab you expected (coordinate wrapping
+is currently only supported by <command>ncks</command>). 
+</para>
+<para>Because of the way wrapped coordinates are interpreted, it is very
+important to make sure you always specify hyperslabs in the
+monotonically increasing sense, i.e., <math><var>min</var> < <var>max</var></math>
+(even if the underlying coordinate variable is monotonically
+decreasing). 
+The only exception to this is when you are indeed specifying a wrapped
+coordinate.  
+The distinction is crucial to understand because the points selected by, 
+e.g., <code>-d longitude,50.,340.</code>, are exactly the complement of the
+points selected by <code>-d longitude,340.,50.</code>.
+</para>
+<para>Not specifying any hyperslab option is equivalent to specifying full
+ranges of all dimensions. 
+This option may be specified more than once in a single command 
+(each hyperslabbed dimension requires its own <code>-d</code> option).
+</para>
+<html endspaces=" ">
+<a name="srd"></a> <!&textndash; http://nco.sf.net/nco.html#srd &textndash;>
+<a name="stride"></a> <!&textndash; http://nco.sf.net/nco.html#stride &textndash;>
+</html>
+</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="578">stride</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="579"><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="580"><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="581"><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>,
+<command>ncrcat</command>, <command>ncwa</command>&linebreak; 
+Short options: <samp>-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</samp>&linebreak;
+Long options: 
+<samp>--dimension <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</samp>,&linebreak; 
+<samp>--dmn <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</samp>&linebreak;
+</para></cartouche>
+<para>All data operators support specifying a <dfn>stride</dfn> for any and all
+dimensions at the same time.
+The <var>stride</var> is the spacing between consecutive points in a
+hyperslab. 
+<w>A <var>stride</var></w> <w>of 1</w> picks all the elements of the hyperslab, and
+a <var>stride</var> <w>of 2</w> skips every other element, etc.&eosperiod;
+<command>ncks</command> multislabs support strides, and are more powerful than
+the regular hyperslabs supported by the other operators
+(<pxref label="Multislabs"><xrefnodename>Multislabs</xrefnodename></pxref>).
+Using the <var>stride</var> option for the record dimension with
+<command>ncra</command> and <command>ncrcat</command> makes it possible, for instance, to
+average or concatenate regular intervals across multi-file input data sets.
+</para>
+<para>The <var>stride</var> is specified as the optional fourth argument to the
+<samp>-d</samp> hyperslab specification:  
+<code>-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</code>.
+Specify <var>stride</var> as an integer (i.e., no decimal point) following
+the third comma in the <samp>-d</samp> argument.  
+There is no default value for <var>stride</var>. 
+Thus using <samp>-d time,,,2</samp> is valid but <samp>-d time,,,2.0</samp> and
+<samp>-d time,,,</samp> are not.
+When <var>stride</var> is specified but <var>min</var> is not, there is an
+ambiguity as to whether the extracted hyperslab should begin with (using
+C-style, 0-based indexes) <w>element 0</w> or element <samp>stride-1</samp>.
+<acronym><acronymword>NCO</acronymword></acronym> must resolve this ambiguity and it chooses <w>element 0</w>
+as the first element of the hyperslab when <var>min</var> is not specified.
+Thus <samp>-d time,,,<var>stride</var></samp> is syntactically equivalent to
+<samp>-d time,0,,<var>stride</var></samp>.
+This means, for example, that specifying the operation 
+<samp>-d time,,,2</samp> on the array <samp>1,2,3,4,5</samp> selects the hyperslab
+<samp>1,3,5</samp>. 
+To obtain the hyperslab <samp>2,4</samp> instead, simply explicitly specify
+the starting index <w>as 1,</w> i.e., <samp>-d time,1,,2</samp>. 
+</para>
+<para>For example, consider a file <file>8501_8912.nc</file> which contains 60
+consecutive months of data. 
+Say you wish to obtain just the March data from this file.
+Using 0-based subscripts (<pxref label="C-and-Fortran-Index-Conventions"><xrefnodename>C and Fortran Index Conventions</xrefnodename></pxref>) these 
+data are stored in records <w>2, 14, &dots; 50</w> so the desired
+<var>stride</var> <w>is 12.</w>
+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="582">Bourne Shell</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="583">C Shell</indexterm></cindex>
+</para><example endspaces=" ">
+<pre xml:space="preserve">for idx in 02 14 26 38 50; do # Bourne Shell
+  ncks -d time,${idx} 8501_8912.nc foo.${idx}
+done
+foreach idx (02 14 26 38 50) # C Shell
+  ncks -d time,${idx} 8501_8912.nc foo.${idx}
+end
+ncrcat foo.?? 8589_03.nc
+rm foo.??
+</pre></example>
+<para>With the <var>stride</var> option, <command>ncks</command> performs this hyperslab
+extraction in one operation:
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncks -d time,2,,12 8501_8912.nc 8589_03.nc
+</pre></example>
+<para><xref label="ncks-netCDF-Kitchen-Sink"><xrefnodename>ncks netCDF Kitchen Sink</xrefnodename></xref>, for more information on <command>ncks</command>.
+</para>
+<para>Applying the <var>stride</var> option to the record dimension in
+<command>ncra</command> and <command>ncrcat</command> makes it possible, for instance, to
+average or concatenate regular intervals across multi-file input data
+sets. 
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncra -F -d time,3,,12 85.nc 86.nc 87.nc 88.nc 89.nc 8589_03.nc
+ncrcat -F -d time,3,,12 85.nc 86.nc 87.nc 88.nc 89.nc 8503_8903.nc
+</pre></example>
+
+<html endspaces=" ">
+<a name="rec_apn"></a> <!&textndash; http://nco.sf.net/nco.html#rec_apn &textndash;>
+<a name="record_append"></a> <!&textndash; http://nco.sf.net/nco.html#record_append &textndash;>
+</html>
+</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="584">record append</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="585"><code>--rec_apn</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="586"><code>--record_append</code></indexterm></cindex>
+<cartouche endspaces=" ">
+<para>Availability: <command>ncra</command>, <command>ncrcat</command>&linebreak; 
+Short options: None&linebreak;
+Long options: 
+<samp>--rec_apn</samp>, <samp>--record_append</samp>&linebreak;
+</para></cartouche>
+<para>As of version 4.2.6 (March, 2013), <acronym><acronymword>NCO</acronymword></acronym> allows both
+Multi-File, Multi-Record operators (<command>ncra</command> and <command>ncrcat</command>)
+to append their output directly to the end of an existing file.
+This feature may be used to augment a target file, rather than construct
+it from scratch. 
+This helps, for example, when a timeseries is concatenated from input
+data that becomes available in stages rather than all at once.
+In such cases this switch significantly speeds writing.
+</para>
+<para>Consider the use case where one wishes to preserve the contents of
+<file>fl_1.nc</file>, and add to them new records contained in
+<file>fl_2.nc</file>. 
+Previously the output had to be placed in a third file, <file>fl_3.nc</file>
+(which could also safely be named <file>fl_2.nc</file>), via
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncrcat -O fl_1.nc fl_2.nc fl_3.nc
+</pre></example>
+<para>Under the hood this operation copies all information in
+<file>fl_1.nc</file> and <file>fl_2.nc</file> not once but twice.
+The first copy is performed through the netCDF interface, as all
+data from <file>fl_1.nc</file> and <file>fl_2.nc</file> are extracted and placed in
+the output file.
+The second copy occurs (usually much) more quickly as the (by default)
+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><example endspaces=" ">
+<pre xml:space="preserve">ncrcat --rec_apn fl_2.nc fl_1.nc
+</pre></example>
+<para>The ordering of the filename arguments may seem non-intuitive.
+If the record variable represents time in these files, then the
+values in <file>fl_1.nc</file> precede those in <file>fl_2.nc</file>, so why
+do the files appear in the reverse order on the command line?
+<file>fl_1.nc</file> is the last file named because it is the pre-existing
+output file to which we are appending all of the other input files
+(in this case only <file>fl_2.nc</file>).
+The contents of <file>fl_1.nc</file> are completely preserved, and only
+values in <file>fl_2.nc</file> (and any other input files) are copied. 
+This switch avoids the necessity of copying all of <file>fl_1.nc</file> 
+through the netCDF interface to a new output file.
+The <samp>--rec_apn</samp> switch automatically puts <acronym><acronymword>NCO</acronymword></acronym> into 
+append mode (<pxref label="Appending-Variables"><xrefnodename>Appending Variables</xrefnodename></pxref>), so specifying <samp>-A</samp> is
+redundant, and simultaneously specifying overwrite mode with <samp>-O</samp>
+causes an error.  
+By default, NCO works in an intermediate temporary file.
+Power users may combine <samp>--rec_apn</samp> with the <samp>--no_tmp_fl</samp>
+switch (<pxref label="Temporary-Output-Files"><xrefnodename>Temporary Output Files</xrefnodename></pxref>):
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncrcat --rec_apn --no_tmp_fl fl_2.nc fl_1.nc
+</pre></example>
+<para>This avoids creating an intermediate file, and copies only the
+minimal amount of data (i.e., all of <file>fl_2.nc</file>). 
+Hence, it is fast.
+We recommend users try to understand the safety trade-offs involved. 
+</para>
+<html endspaces=" ">
+<a name="subcycle"></a> <!&textndash; http://nco.sf.net/nco.html#subcycle &textndash;>
+<a name="ssc"></a> <!&textndash; http://nco.sf.net/nco.html#ssc &textndash;>
+<a name="duration"></a> <!&textndash; http://nco.sf.net/nco.html#duration &textndash;>
+<a name="drn"></a> <!&textndash; http://nco.sf.net/nco.html#drn &textndash;>
+<a name="mro"></a> <!&textndash; http://nco.sf.net/nco.html#mro &textndash;>
+</html>
+</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="587">duration</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="588">sub-cycle</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="589">subcycle</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="590">MRO</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="591">Multi-Record Operator</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="592"><code>--mro</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="593"><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="594"><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="595"><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;
+Long options: 
+<samp>--mro</samp>
+<samp>--dimension <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>][,[<var>subcycle</var>]]]]</samp>&linebreak;
+<samp>--dmn <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>][,[<var>subcycle</var>]]]]</samp>&linebreak;
+</para></cartouche>
+<para>As of version 4.2.1 (August, 2012), <acronym><acronymword>NCO</acronymword></acronym> allows both Multi-File,
+Multi-Record operators, <command>ncra</command> and <command>ncrcat</command>, to extract
+and operate on multiple groups of records. 
+These groups may be connected to physical <emph>sub-cycles</emph> of a
+periodic nature, e.g., months of a year, or hours of a day. 
+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 <dfn>subcycle feature</dfn>, sometimes abbreviated
+<acronym><acronymword>SSC</acronymword></acronym>
+<footnote><para>When originally released in 2012 this was called the
+<dfn>duration feature</dfn>, and was abbreviated <acronym><acronymword>DRN</acronymword></acronym>.</para></footnote>.
+</para>
+<para>The subcycle feature allows processing of groups of records
+separated by regular intervals of records.
+It is perhaps best illustrated by an extended example which describes
+how to solve the same problem both with and without the <acronym><acronymword>SSC</acronymword></acronym> feature.
+</para>
+<para>The first task in climate data processing is often creating seasonal
+cycles. 
+Suppose a 150-year climate simulation produces 150 output files, each
+comprising 12 records, each record a monthly mean:
+<file>1850.nc</file>, <file>1851.nc</file>, ... <file>1999.nc</file>.
+Our goal is to create a single file containing the summertime (June,
+July, and August, aka JJA) mean.
+Traditionally, we would first compute the climatological monthly
+mean for each month of summer. 
+Each of these is a 150-year mean, i.e., 
+</para><example endspaces=" ">
+<pre xml:space="preserve"># Step 1: Create climatological monthly files clm06.nc..clm08.nc
+for mth in {6..8}; do
+  mm=`printf "%02d" $mth`
+  ncra -O -F -d time,${mm},,12 -n 150,4,1 1850.nc clm${mm}.nc
+done
+# Step 2: Average climatological monthly files into summertime mean
+ncra -O clm06 clm07.nc clm08.nc clm_JJA.nc
+</pre></example>
+<noindent></noindent>
+<para>So far, nothing is unusual and this task can be performed by any
+<acronym><acronymword>NCO</acronymword></acronym> version. 
+The <acronym><acronymword>SSC</acronymword></acronym> feature makes obsolete the need for the shell loop
+used in <w>Step 1</w> above. 
+</para>
+<para>The new <acronym><acronymword>SSC</acronymword></acronym> option aggregates more than one input record at a time
+before performing arithmetic operations, and, with an additional
+switch, allows us to archive those results in multiple record output
+(MRO) files.  
+This reduces the task of producing the climatological summertime
+mean to one step:
+</para><example endspaces=" ">
+<pre xml:space="preserve"># Step 1: Compute climatological summertime mean
+ncra -O -F -d time,6,,12,3 -n 150,4,1 1850.nc clm_JJA.nc
+</pre></example>
+<noindent></noindent>
+<para>The <acronym><acronymword>SSC</acronymword></acronym> option instructs <command>ncra</command> (or <command>ncrcat</command>)
+to process  files in groups of three records. 
+To better understand the meaning of each argument to the <samp>-d</samp>
+hyperslab option, read it this way: &textldquo;for the time dimension start with
+the sixth record, continue without end, repeat the process every twelfth
+record, and define a sub-cycle as three consecutive records&textrdquo;. 
+</para>
+<para>A separate option, <samp>--mro</samp>, instructs <command>ncra</command> to output 
+its results from each sub-group, and to produce a <dfn>Multi-Record Output</dfn>
+(MRO) file rather than a <dfn>Single-Record Output</dfn> (SRO) file.
+Unless <samp>--mro</samp> is specified, <command>ncra</command> collects together all
+the sub-groups, operates on their ensemble, and produces a single
+output record. 
+The addition of <samp>--mro</samp> to the above example causes <command>ncra</command>
+to archive all (150) annual summertime means to one file:
+</para><example endspaces=" ">
+<pre xml:space="preserve"># Step 1: Archive all 150 summertime means in one file
+ncra --mro -O -F -d time,6,,12,3 -n 150,4,1 1850.nc 1850_2009_JJA.nc
+# ...or all (150) annual means...
+ncra --mro -O -d time,,,12,12 -n 150,4,1 1850.nc 1850_2009.nc
+</pre></example>
+<noindent></noindent>
+<para>These operations generate and require no intermediate files.
+This contrasts to previous <acronym><acronymword>NCO</acronymword></acronym> methods, which require
+generating, averaging, then catenating 150 files.  
+The <samp>--mro</samp> option has no effect on, or rather is redundant for, 
+<command>ncrcat</command> since <command>ncrcat</command> always outputs all selected
+records.
+</para>
+<html endspaces=" ">
+<a name="msa"></a> <!&textndash; http://nco.sf.net/nco.html#msa &textndash;>
+<a name="mlt"></a> <!&textndash; http://nco.sf.net/nco.html#mlt &textndash;>
+</html>
+</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="596">multislab</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="597">multi-hyperslab</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="598"><acronym><acronymword>MSA</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="599"><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="600"><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="601"><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="602"><code>--msa</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="603"><code>--msa_usr_rdr</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="604"><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>,
+<command>ncrcat</command>&linebreak; 
+Short options: <samp>-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</samp>&linebreak;
+Long options: 
+<samp>--dimension <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</samp>,&linebreak; 
+<samp>--dmn <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</samp>&linebreak;
+<samp>--msa_usr_rdr</samp>, <samp>--msa_user_order</samp>&linebreak;
+</para></cartouche>
+<para>A <w>multislab</w> is a union of one or more hyperslabs.
+One defines multislabs by chaining together hyperslab commands, i.e., 
+<kbd>-d</kbd> options (<pxref label="Hyperslabs"><xrefnodename>Hyperslabs</xrefnodename></pxref>).
+Support for specifying a <dfn>multi-hyperslab</dfn> or <dfn>multislab</dfn> for
+any variable was first added to <command>ncks</command> in late 2002.
+The other operators received these capabilities in April 2008.
+Multi-slabbing is often referred to by the acronym <acronym><acronymword>MSA</acronymword></acronym>,
+which stands for &textldquo;Multi-Slabbing Algorithm&textrdquo;.
+As explained below, the user may additionally request that the
+multislabs be returned in the user-specified order, rather than the
+on-disk storage order. 
+Although <acronym><acronymword>MSA</acronymword></acronym> user-ordering has been available in all operators
+since 2008, most users were unaware of it since the documentation
+(below, and in the man pages) was not written until July 2013.
+</para>
+<para>Multislabs overcome many restraints that limit simple hyperslabs.
+<w>A single</w> <kbd>-d</kbd> option can only specify a contiguous and/or
+a regularly spaced multi-dimensional data array.
+Multislabs are constructed from multiple <kbd>-d</kbd> options and may
+therefore have non-regularly spaced arrays.
+For example, suppose it is desired to operate on all longitudes
+from 10.0 to 20.0 and from 80.0 to <w>90.0 degrees</w>.
+The combined range of longitudes is not selectable in a single 
+hyperslab specfication of the form 
+<samp>-d <var>dimension</var>,<var>min</var>,<var>max</var></samp> or  
+<samp>-d <var>dimension</var>,<var>min</var>,<var>max</var>,<var>stride</var></samp> because its
+elements are irregularly spaced in coordinate space (and presumably 
+in index space too). 
+The multislab specification for obtaining these values is simply
+the union of the hyperslabs specifications that comprise the multislab,
+i.e., 
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncks -d lon,10.,20. -d lon,80.,90. in.nc out.nc
+ncks -d lon,10.,15. -d lon,15.,20. -d lon,80.,90. in.nc out.nc
+</pre></example>
+<noindent></noindent>
+<para>Any number of hyperslabs specifications may be chained together
+to specify the multislab.
+<acronym><acronymword>MSA</acronymword></acronym> creates an output dimension equal in size to the sum of
+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="605">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
+</pre></example>
+<noindent></noindent>
+<para>This command retrieves the first five longitudes, and then every other
+longitude value up to the tenth.
+Elements 0, 2, <w>and 4</w> are specified by both hyperslab arguments (hence
+this is redundant) but will count only once if an arithmetic operation
+is being performed.  
+This example uses index-based (not coordinate-based) multislabs because
+the <var>stride</var> option only supports index-based hyper-slabbing. 
+<xref label="Stride"><xrefnodename>Stride</xrefnodename></xref>, for more information on the <var>stride</var> option.
+</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="606">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.
+The <acronym><acronymword>NCO</acronymword></acronym> multislab algorithm retrieves each element from disk
+once and only once.
+Thus users may take some shortcuts in specifying multislabs and the
+algorithm will obtain the intended values.
+Specifying redundant ranges is not encouraged, but may be useful on
+occasion and will not result in unintended consequences.
+</para>
+<para>Suppose the <var>Q</var> variable contains three dimensional arrays of
+distinct chemical constituents in no particular order.
+We are interested in the NOy species in a certain geographic range. 
+Say that NO, NO2, and N2O5 are <w>elements 0</w>, 1, <w>and 5</w> of the
+<var>species</var> dimension of <var>Q</var>.
+The multislab specification might look something like
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncks -d species,0,1 -d species,5 -d lon,0,4 -d lon,2,9,2 in.nc out.nc
+</pre></example>
+<noindent></noindent>
+<para>Multislabs are powerful because they may be specified for every
+dimension at the same time.
+Thus multislabs obsolete the need to execute multiple <command>ncks</command>
+commands to gather the desired range of data.
+</para>
+<html endspaces=" ">
+<a name="msa_usr_rdr"></a> <!&textndash; http://nco.sf.net/nco.html#msa_usr_rdr &textndash;>
+</html>
+<para>The <acronym><acronymword>MSA</acronymword></acronym> user-order switch <samp>--msa_usr_rdr</samp> (or
+<samp>--msa_user_order</samp>, both of which shorten to <samp>--msa</samp>) 
+requests that the multislabs be output in the user-specified
+order from the command-line, rather than in the input-file on-disk
+storage order.  
+This allows the user to perform complex data re-ordering in one
+operation that would otherwise require cumbersome steps of
+hyperslabbing, concatenating, and permuting. 
+Consider the recent example of a user who needed to convert datasets
+stored with the longitude coordinate <code>Lon</code> ranging from
+[−180,180) to datasets that follow the [0,360) convention.
+</para><example endspaces=" ">
+<pre xml:space="preserve">% ncks -H -v Lon in.nc
+Lon[0]=-180
+Lon[1]=-90
+Lon[2]=0
+Lon[3]=90
+</pre></example>
+<noindent></noindent>
+<para>Although simple in theory, this task requires both mathematics to
+change the numerical value of the longitude coordinate, data
+hyperslabbing to split the input on-disk arrays at Greenwich, and data
+re-ordering within to stitch the western hemisphere onto the eastern
+hemisphere at the date-line.
+The <samp>--msa</samp> user-order switch overrides the default that data are
+output in the same order in which they are stored on-disk in the input
+file, and instead stores them in the same order as the multi-slabs are
+given to the command line.
+This default is intuitive and is not important in most uses.
+However, the <acronym><acronymword>MSA</acronymword></acronym> user-order switch allows users to meet
+their output order needs by specifying multi-slabs in a certain order.
+Compare the results of default ordering to user-ordering for longitude:
+</para><example endspaces=" ">
+<pre xml:space="preserve">% ncks -O -H       -v Lon -d Lon,0.,180. -d Lon,-180.,-1.0 in.nc
+Lon[0]=-180 
+Lon[1]=-90 
+Lon[2]=0 
+Lon[3]=90 
+% ncks -O -H --msa -v Lon -d Lon,0.,180. -d Lon,-180.,-1.0 in.nc
+Lon[0]=0 
+Lon[1]=90 
+Lon[2]=-180 
+Lon[3]=-90 
+</pre></example>
+<noindent></noindent>
+<para>The two multi-slabs are the same but they can be presented to screen,
+or to an output file, in either order. 
+The second example shows how to place the western hemisphere after the
+eastern hemisphere, although they are stored in the opposite order in
+the input file. 
+</para>
+<para>With this background, one sees that the following commands suffice to
+rotate the input file by 180 degrees longitude:
+</para><example endspaces=" ">
+<pre xml:space="preserve">% ncks -O -v LatLon --msa -d Lon,0.,180. -d Lon,-180.,-1.0 in.nc out.nc
+% ncap2 -O -s 'where(Lon < 0) Lon=Lon+360' out.nc out.nc
+% ncks -C -H -v LatLon ~/nco/data/in.nc
+Lat[0]=-45 Lon[0]=-180 LatLon[0]=0 
+Lat[0]=-45 Lon[1]=-90 LatLon[1]=1 
+Lat[0]=-45 Lon[2]=0 LatLon[2]=2 
+Lat[0]=-45 Lon[3]=90 LatLon[3]=3 
+Lat[1]=45 Lon[0]=-180 LatLon[4]=4 
+Lat[1]=45 Lon[1]=-90 LatLon[5]=5 
+Lat[1]=45 Lon[2]=0 LatLon[6]=6 
+Lat[1]=45 Lon[3]=90 LatLon[7]=7 
+% ncks -C -H -v LatLon ~/out.nc
+Lat[0]=-45 Lon[0]=0 LatLon[0]=2 
+Lat[0]=-45 Lon[1]=90 LatLon[1]=3 
+Lat[0]=-45 Lon[2]=180 LatLon[2]=0 
+Lat[0]=-45 Lon[3]=270 LatLon[3]=1 
+Lat[1]=45 Lon[0]=0 LatLon[4]=6 
+Lat[1]=45 Lon[1]=90 LatLon[5]=7 
+Lat[1]=45 Lon[2]=180 LatLon[6]=4 
+Lat[1]=45 Lon[3]=270 LatLon[7]=5 
+</pre></example>
+<noindent></noindent>
+<para>There are other workable, valid methods to accomplish this rotation, yet
+none are simpler nor more efficient than utilizing <acronym><acronymword>MSA</acronymword></acronym>
+user-ordering. 
+Some final comments on applying this algorithm:
+Be careful to specify hemispheres that do not overlap, e.g., by
+inadvertently specifying coordinate ranges that both include Greenwich. 
+Some users will find using index-based rather than coordinate-based
+hyperslabs makes this clearer.
+</para>
+<html endspaces=" ">
+<a name="wrp"></a> <!&textndash; http://nco.sf.net/nco.html#wrp &textndash;>
+</html>
+</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="607">wrapped coordinates</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="608">longitude</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="609"><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="610"><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="611"><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;
+Long options: 
+<samp>--dimension <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</samp>,&linebreak; 
+<samp>--dmn <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</samp>&linebreak;
+</para></cartouche>
+<para><w>A <dfn>wrapped coordinate</dfn></w> is a coordinate whose values increase or
+decrease monotonically (nothing unusual so far), but which represents a
+dimension that ends where it begins (i.e., wraps around on itself).
+Longitude (i.e., degrees on a circle) is a familiar example of a wrapped
+coordinate.
+Longitude increases to the East of Greenwich, England, where it is
+defined to be zero.
+Halfway around the globe, the longitude is <w>180 degrees</w> East (or West). 
+Continuing eastward, longitude increases to <w>360 degrees</w> East at
+Greenwich. 
+The longitude values of most geophysical data are either in the range
+[0,360), or [−180,180).
+In either case, the Westernmost and Easternmost longitudes are
+numerically separated by <w>360 degrees</w>, but represent contiguous
+regions on the globe.
+For example, the Saharan desert stretches from roughly 340 to 
+<w>50 degrees</w> East.
+Extracting the hyperslab of data representing the Sahara from a global
+dataset presents special problems when the global dataset is stored
+consecutively in longitude from 0 to <w>360 degrees</w>.
+This is because the data for the Sahara will not be contiguous in the
+<var>input-file</var> but is expected by the user to be contiguous in the
+<var>output-file</var>. 
+In this case, <command>ncks</command> must invoke special software routines to
+assemble the desired output hyperslab from multiple reads of the
+<var>input-file</var>. 
+</para>
+<para>Assume the domain of the monotonically increasing longitude coordinate
+<code>lon</code> is <math>0 < <var>lon</var> < 360</math>. 
+<command>ncks</command> will extract a hyperslab which crosses the Greenwich
+meridian simply by specifying the westernmost longitude as <var>min</var> and
+the easternmost longitude as <var>max</var>.
+The following commands extract a hyperslab containing the Saharan desert:
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncks -d lon,340.,50. in.nc out.nc
+ncks -d lon,340.,50. -d lat,10.,35. in.nc out.nc
+</pre></example>
+<noindent></noindent>
+<para>The first example selects data in the same longitude range as the Sahara. 
+The second example further constrains the data to having the same
+latitude as the Sahara.
+The coordinate <code>lon</code> in the <var>output-file</var>, <file>out.nc</file>, will
+no longer be monotonic! 
+The values of <code>lon</code> will be, e.g., <samp>340, 350, 0, 10, 20, 30,
+40, 50</samp>. 
+This can have serious implications should you run <file>out.nc</file> through
+another operation which expects the <code>lon</code> coordinate to be
+monotonically increasing.
+Fortunately, the chances of this happening are slim, since <code>lon</code>
+has already been hyperslabbed, there should be no reason to hyperslab
+<code>lon</code> again.
+Should you need to hyperslab <code>lon</code> again, be sure to give
+dimensional indices as the hyperslab arguments, rather than coordinate
+values (<pxref label="Hyperslabs"><xrefnodename>Hyperslabs</xrefnodename></pxref>).
+</para>
+<html endspaces=" ">
+<a name="aux"></a> <!&textndash; http://nco.sf.net/nco.html#aux &textndash;>
+<a name="auxiliary"></a> <!&textndash; http://nco.sf.net/nco.html#auxiliary &textndash;>
+<a name="-X"></a> <!&textndash; http://nco.sf.net/nco.html#-X &textndash;>
+<a name="std_nm"></a> <!&textndash; http://nco.sf.net/nco.html#std_nm &textndash;>
+<a name="standard_name"></a> <!&textndash; http://nco.sf.net/nco.html#standard_name &textndash;>
+</html>
+</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="612"><code>-X</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="613"><code>--auxiliary</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="614"><code>standard_name</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="615"><code>coordinates</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="616"><acronym><acronymword>CF</acronymword></acronym> conventions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="617"><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="618"><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>,
+<command>ncrcat</command>&linebreak; 
+Short options: <samp>-X <var>lon_min</var>,<var>lon_max</var>,<var>lat_min</var>,<var>lat_max</var></samp>&linebreak;
+Long options: 
+<samp>--auxiliary <var>lon_min</var>,<var>lon_max</var>,<var>lat_min</var>,<var>lat_max</var></samp>&linebreak;
+</para></cartouche>
+<para>Utilize auxiliary coordinates specified in values of the coordinate
+variable&textrsquo;s <code>standard_name</code> attributes, if any, when interpreting 
+hyperslab and multi-slab options. 
+Also <samp>--auxiliary</samp>.
+This switch supports hyperslabbing cell-based grids over coordinate
+ranges. 
+This works on datasets that associate coordinate variables to
+grid-mappings using the <acronym><acronymword>CF</acronymword></acronym>-convention (<pxref label="CF-Conventions"><xrefnodename>CF Conventions</xrefnodename></pxref>)   
+<code>coordinates</code> and <code>standard_name</code> attributes described 
+<uref><urefurl>http://cf-pcmdi.llnl.gov/documents/cf-conventions/1.6/cf-conventions.html#coordinate-system</urefurl><urefdesc spaces=" ">here</urefdesc></uref>. 
+Currently, <acronym><acronymword>NCO</acronymword></acronym> understands auxiliary coordinate variables 
+pointed to by the <code>standard_name</code> attributes for <var>latitude</var> and 
+<var>longitude</var>.   
+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="619">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
+coordinates. 
+Rectangular (in longitude and latitude) horizontal hyperslabs cannot
+be selected using the typical procedure (<pxref label="Hyperslabs"><xrefnodename>Hyperslabs</xrefnodename></pxref>) of
+separately specifying <samp>-d</samp> arguments for longitude and latitude.
+Instead, when the <samp>-X</samp> is used, <acronym><acronymword>NCO</acronymword></acronym> learns the names of
+the latitude and longitude coordinates by searching the
+<code>standard_name</code> attribute of all variables until it finds
+the two variables whose <code>standard_name</code>&textrsquo;s are &textldquo;latitude&textrdquo; and 
+&textldquo;longitude&textrdquo;, respectively. 
+This <code>standard_name</code> attribute for latitude and longitude
+coordinates follows the <acronym><acronymword>CF</acronymword></acronym>-convention  
+(<pxref label="CF-Conventions"><xrefnodename>CF Conventions</xrefnodename></pxref>). 
+</para>
+<para>Putting it all together, consider a variable <var>gds_3dvar</var> output from 
+simulations on a cell-based geodesic grid. 
+Although the variable contains three dimensions of data (time, latitude,
+and longitude), it is stored in the netCDF file with only two dimensions,
+<code>time</code> and <code>gds_crd</code>.  
+</para><example endspaces=" ">
+<pre xml:space="preserve">% ncks -m -C -v gds_3dvar ~/nco/data/in.nc
+gds_3dvar: type NC_FLOAT, 2 dimensions, 4 attributes, chunked? no, \
+ compressed? no, packed? no, ID = 41
+gds_3dvar RAM size is 10*8*sizeof(NC_FLOAT) = 80*4 = 320 bytes
+gds_3dvar dimension 0: time, size = 10 NC_DOUBLE, dim. ID = 20 \ 
+ (CRD)(REC)
+gds_3dvar dimension 1: gds_crd, size = 8 NC_FLOAT, dim. ID = 17 (CRD)
+gds_3dvar attribute 0: long_name, size = 17 NC_CHAR, value = \ 
+ Geodesic variable
+gds_3dvar attribute 1: units, size = 5 NC_CHAR, value = meter
+gds_3dvar attribute 2: coordinates, size = 15 NC_CHAR, value = \
+ lat_gds lon_gds
+gds_3dvar attribute 3: purpose, size = 64 NC_CHAR, value = \ 
+ Test auxiliary coordinates like those that define geodesic grids
+</pre></example>
+<para>The <code>coordinates</code> attribute lists the names of the latitude and
+longitude coordinates, <code>lat_gds</code> and <code>lon_gds</code>, respectively. 
+The <code>coordinates</code> attribute is recommended though optional.
+With it, the user can immediately identify which variables contain
+the latitude and longitude coordinates.
+Without a <code>coordinates</code> attribute it would be unclear at first
+glance whether a variable resides on a cell-based grid.
+In this example, <code>time</code> is a normal record dimension and
+<code>gds_crd</code> is the cell-based dimension.
+</para>
+<para>The cell-based grid file must contain two variables whose
+<code>standard_name</code> attributes are &textldquo;latitude&textrdquo;, and &textldquo;longitude&textrdquo;:
+</para><example endspaces=" ">
+<pre xml:space="preserve">% ncks -m -C -v lat_gds,lon_gds ~/nco/data/in.nc
+lat_gds: type NC_DOUBLE, 1 dimensions, 4 attributes, \
+ chunked? no, compressed? no, packed? no, ID = 37
+lat_gds RAM size is 8*sizeof(NC_DOUBLE) = 8*8 = 64 bytes
+lat_gds dimension 0: gds_crd, size = 8 NC_FLOAT, dim. ID = 17 (CRD)
+lat_gds attribute 0: long_name, size = 8 NC_CHAR, value = Latitude
+lat_gds attribute 1: standard_name, size = 8 NC_CHAR, value = latitude
+lat_gds attribute 2: units, size = 6 NC_CHAR, value = degree
+lat_gds attribute 3: purpose, size = 62 NC_CHAR, value = \ 
+ 1-D latitude coordinate referred to by geodesic grid variables
+
+lon_gds: type NC_DOUBLE, 1 dimensions, 4 attributes, \
+ chunked? no, compressed? no, packed? no, ID = 38
+lon_gds RAM size is 8*sizeof(NC_DOUBLE) = 8*8 = 64 bytes
+lon_gds dimension 0: gds_crd, size = 8 NC_FLOAT, dim. ID = 17 (CRD)
+lon_gds attribute 0: long_name, size = 9 NC_CHAR, value = Longitude
+lon_gds attribute 1: standard_name, size = 9 NC_CHAR, value = longitude
+lon_gds attribute 2: units, size = 6 NC_CHAR, value = degree
+lon_gds attribute 3: purpose, size = 63 NC_CHAR, value = \
+ 1-D longitude coordinate referred to by geodesic grid variables
+</pre></example>
+<para>In this example <code>lat_gds</code> and <code>lon_gds</code> represent the 
+latitude or longitude, respectively, of cell-based variables.
+These coordinates (must) have the same single dimension (<code>gds_crd</code>,
+in this case) as the cell-based variables.
+And the coordinates must be one-dimensional&textmdash;multidimensional
+coordinates will not work.
+</para>
+<para>This infrastructure allows <acronym><acronymword>NCO</acronymword></acronym> to identify, interpret, and
+process (e.g., hyperslab) the variables on cell-based grids as easily
+as it works with regular grids.
+To time-average all the values between zero and <w>180 degrees</w>
+longitude and between plus and minus <w>30 degress</w> latitude, we use
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncra -O -X 0.,180.,-30.,30. -v gds_3dvar in.nc out.nc
+</pre></example>
+<para><acronym><acronymword>NCO</acronymword></acronym> accepts multiple <samp>-X</samp> arguments for cell-based grid
+multi-slabs, just as it accepts multiple <samp>-d</samp> arguments for 
+multi-slabs of regular coordinates.
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncra -O -X 0.,180.,-30.,30. -X 270.,315.,45.,90. in.nc out.nc
+</pre></example>
+<para>The arguments to <samp>-X</samp> are always interpreted as floating point
+numbers, i.e., as coordinate values rather than dimension indices
+so that these two commands produce identical results
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncra -X 0.,180.,-30.,30. in.nc out.nc
+ncra -X 0,180,-30,30 in.nc out.nc
+</pre></example>
+<para>In contrast, arguments to <samp>-d</samp> require decimal places to be
+recognized as coordinates not indices (<pxref label="Hyperslabs"><xrefnodename>Hyperslabs</xrefnodename></pxref>).  
+We recommend always using decimal points with <samp>-X</samp> arguments
+to avoid confusion.
+</para>
+<html endspaces=" ">
+<a name="UDUnits"></a> <!&textndash; http://nco.sf.net/nco.html#UDUnits &textndash;>
+<a name="UDUnits2"></a> <!&textndash; http://nco.sf.net/nco.html#UDUnits2 &textndash;>
+</html>
+</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="620">UDUnits</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="621">Unidata</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="622"><code>units</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="623">attribute, <code>units</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="624"><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="625"><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="626"><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>,
+<command>ncrcat</command>, <command>ncwa</command>&linebreak; 
+Short options: <samp>-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</samp>&linebreak;
+Long options: 
+<samp>--dimension <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</samp>,&linebreak; 
+<samp>--dmn <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</samp>&linebreak;
+</para></cartouche>
+<para>There is more than one way to hyperskin a cat.
+The <uref><urefurl>http://www.unidata.ucar.edu/packages/udunits</urefurl><urefdesc spaces=" ">UDUnits</urefdesc></uref> package 
+provides a library which, if present, <acronym><acronymword>NCO</acronymword></acronym> uses to translate
+user-specified physical dimensions into the physical dimensions of data
+stored in netCDF files.
+Unidata provides UDUnits under the same terms as netCDF, so sites should
+install both.
+Compiling <acronym><acronymword>NCO</acronymword></acronym> with UDUnits support is currently optional but
+may become required in a future version of <acronym><acronymword>NCO</acronymword></acronym>.
+</para>
+<para>Two examples suffice to demonstrate the power and convenience of UDUnits  
+support. 
+<cindex index="cp" spaces=" "><indexterm index="cp" number="627">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
+in the visible portion of the spectrum in terms of the units
+very frequently used in visible spectroscopy, microns:
+</para><example endspaces=" ">
+<pre xml:space="preserve">% ncks -C -H -v wvl -d wvl,"0.4 micron","0.7 micron" in.nc
+wvl[0]=5e-07 meter
+</pre></example>
+<noindent></noindent>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="628"><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.
+The automagical algorithm that implements this functionality is worth
+describing since understanding it helps one avoid some potential
+pitfalls. 
+First, the user includes the physical units of the hyperslab dimensions 
+she supplies, separated by a simple space from the numerical values of
+the hyperslab limits.
+She encloses each coordinate specifications in quotes so that the shell
+does not break the <emph>value-space-unit</emph> string into separate
+arguments before passing them to <acronym><acronymword>NCO</acronymword></acronym>. 
+Double quotes (<kbd>"foo"</kbd>) or single quotes (<kbd>'foo'</kbd>) are equally
+valid for this purpose. 
+Second, <acronym><acronymword>NCO</acronymword></acronym> recognizes that units translation is requested
+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="629">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. 
+If the coordinate associated with the variable does not contain a 
+<code>units</code> attribute, then <acronym><acronymword>NCO</acronymword></acronym> aborts.
+Fourth, <acronym><acronymword>NCO</acronymword></acronym> passes the specified and desired dimension strings  
+(microns are specified by the user, meters are required by
+<acronym><acronymword>NCO</acronymword></acronym>) to the UDUnits library.
+Fifth, the UDUnits library that these dimension are commensurate
+and it returns the appropriate linear scaling factors to convert from 
+microns to meters to <acronym><acronymword>NCO</acronymword></acronym>.
+If the units are incommensurate (i.e., not expressible in the same
+fundamental MKS units), or are not listed in the UDUnits database, then 
+NCO aborts since it cannot determine the user&textrsquo;s intent.
+Finally, <acronym><acronymword>NCO</acronymword></acronym> uses the scaling information to convert the
+user-specified hyperslab limits into the same physical dimensions as
+those of the corresponding cooridinate variable on disk.
+At this point, <acronym><acronymword>NCO</acronymword></acronym> can perform a coordinate hyperslab using
+the same algorithm as if the user had specified the hyperslab without
+requesting units conversion.
+</para>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="630"><code>units</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="631"><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>
+on <w>December 8</w>, 1999, from a variable whose time dimension is hours 
+since the year 1900:
+</para><example endspaces=" ">
+<pre xml:space="preserve">% ncks -u -H -C -v time_udunits -d time_udunits,"1999-12-08 \
+  16:00:0.0","1999-12-08 19:00:0.0" in.nc
+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="632">stride</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="633">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
+exclusive&textmdash;it works in conjunction with all other hyperslabbing
+(<pxref label="Hyperslabs"><xrefnodename>Hyperslabs</xrefnodename></pxref>) options and in all operators which support
+hyperslabbing.
+The following example shows how one might average data in a 
+time period spread across multiple input files
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncra -d time,"1939-09-09 12:00:0.0","1945-05-08 00:00:0.0" \
+  in1.nc in2.nc in3.nc out.nc
+</pre></example>
+<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="634">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
+<code><var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</code> elements 
+(<pxref label="Hyperslabs"><xrefnodename>Hyperslabs</xrefnodename></pxref>) is the job of <acronym><acronymword>NCO</acronymword></acronym>.
+When unquoted whitespace is present between these elements, the shell
+passes <acronym><acronymword>NCO</acronymword></acronym> arugment fragments which will not parse as
+intended. 
+</para>
+<para><acronym><acronymword>NCO</acronymword></acronym> implemented support for the UDUnits2 library with version   
+3.9.2 (August, 2007).
+The
+<uref><urefurl>http://www.unidata.ucar.edu/software/udunits/udunits-2/udunits2.html</urefurl><urefdesc spaces="\n">UDUnits2</urefdesc></uref> package supports non-ASCII characters and logarithmic units. 
+We are interested in user-feedback on these features.
+</para>
+<para>One aspect that deserves mention is that UDUnits, and thus
+<acronym><acronymword>NCO</acronymword></acronym>, supports run-time definition of the location of the
+relevant UDUnits databases. 
+With UDUnits <w>version 1</w>, users may specify the directory which
+contains the UDUnits database, <file>udunits.dat</file>, via the
+<code>UDUNITS_PATH</code> environment variable.
+With UDUnits <w>version 2</w>, users may specify the UDUnits database file 
+itself, <file>udunits2.xml</file>, via the <code>UDUNITS2_XML_PATH</code> 
+environment variable.
+</para><example endspaces=" ">
+<pre xml:space="preserve"># UDUnits1
+export UDUNITS_PATH='/unusual/location/share/udunits'
+# UDUnits2
+export UDUNITS2_XML_PATH='/unusual/location/share/udunits/udunits2.xml'
+</pre></example>
+<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="635">Climate and Forecast Metadata Convention</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="636"><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. 
+Among the metadata conventions that adhere to these formats are the  
+<uref><urefurl>http://cf-pcmdi.llnl.gov</urefurl><urefdesc spaces=" \n">Climate and Forecast (CF) Conventions</urefdesc></uref> and the 
+<uref><urefurl>http://ferret.wrc.noaa.gov/noaa_coop/coop_cdf_profile.html</urefurl><urefdesc spaces="\n">Cooperative Ocean/Atmosphere Research Data Service (COARDS) Conventions</urefdesc></uref>.
+The following <samp>-d arguments</samp> extract the same data using 
+commonly encountered time dimension formats: 
+<!-- c fxm add more formats here -->
+</para><example endspaces=" ">
+<pre xml:space="preserve">-d time,'1918-11-11 00:00:0.0','1939-09-09 00:00:0.0'
+-d time,'1918-11-11 00:00:0.0','1939-09-09 00:00:0.0'
+-d time,'1918-11-11T00:00:0.0Z','1939-09-09T00:00:0.0Z'
+-d time,'1918-11-11','1939-09-09'
+-d time,'1918-11-11','1939-9-9'
+</pre></example>
+<noindent></noindent>
+<para>All of these formats include at least one dash <kbd>-</kbd> in a
+non-leading character position (a dash in a leading character position 
+is a negative sign). 
+<acronym><acronymword>NCO</acronymword></acronym> assumes that a space, colon, or non-leading dash in a
+limit string indicates that a UDUnits units conversion is requested.
+Some date formats like YYYYMMDD that are valid in UDUnits are ambiguous
+to <acronym><acronymword>NCO</acronymword></acronym> because it cannot distinguish a purely numerical date
+(i.e., no dashes or text characters in it) from a coordinate or index
+value: 
+</para><example endspaces=" ">
+<pre xml:space="preserve">-d time,1918-11-11 # Interpreted as the date November 11, 1918
+-d time,19181111   # Interpreted as time-dimension index 19181111
+-d time,19181111.  # Interpreted as time-coordinate value 19181111.0
+</pre></example>
+<para>Hence, use the YYYY-MM-DD format rather than YYYYMMDD for dates.
+</para>
+<noindent></noindent>
+<para>As of version 4.0.0 (January, 2010), <acronym><acronymword>NCO</acronymword></acronym> supports some
+calendar attributes specified by the <acronym><acronymword>CF</acronymword></acronym> conventions. 
+</para><table commandarg="asis" spaces=" " endspaces=" ">
+<tableentry><tableterm><item spaces=" "><itemformat command="asis"><strong>Supported types:</strong> </itemformat></item>
+</tableterm><tableitem><para>"365_day"/"noleap", "360_day", "gregorian", "standard" 
+</para></tableitem></tableentry><tableentry><tableterm><item spaces="  "><itemformat command="asis"><strong>Unsupported types:</strong> </itemformat></item>
+</tableterm><tableitem><para>"366_day"/"all_leap","proleptic_gregorian","julian","none" 
+</para></tableitem></tableentry></table>
+<para>Unsupported types default to mixed Gregorian/Julian as defined by 
+UDUnits. 
+</para>
+<noindent></noindent> <para>An Example: Consider the following netCDF variable
+</para>
+<example endspaces=" ">
+<pre xml:space="preserve">variables:
+  double lon_cal(lon_cal) ;
+    lon_cal:long_name = "lon_cal" ;
+    lon_cal:units = "days since 1964-2-28 0:0:0" ;
+    lon_cal:calendar = "365_day" ;
+data:
+  lon_cal = 1,2,3,4,5,6,7,8,9,10;
+</pre></example> 
+<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="637">MKS units</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="638">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. 
+The UDUnits feature is intended to alleviate some of the <acronym><acronymword>NCO</acronymword></acronym>
+user&textrsquo;s pain when handling MKS units.
+It connects users who think in human-friendly units (e.g.,
+miles, millibars, days) to extract data which are always stored in God&textrsquo;s
+units, MKS (e.g., meters, Pascals, seconds). 
+The feature is not intended to encourage writers to store data in 
+esoteric units (e.g., furlongs, pounds per square inch, fortnights). 
+</para>
+<html endspaces=" ">
+<a name="time_rebase"></a> <!&textndash; http://nco.sf.net/nco.html#time_rebase &textndash;>
+<a name="rbs"></a> <!&textndash; http://nco.sf.net/nco.html#rbs &textndash;>
+</html>
+</section>
+<node name="Rebasing-Time-Coordinate" spaces=" "><nodename>Rebasing Time Coordinate</nodename><nodenext spaces=" ">Multiple Record Dimensions</nodenext><nodeprev spaces=" ">UDUnits Support</nodeprev><nodeup spaces=" ">Common features</nodeup></node>
+<section spaces=" "><sectiontitle>Rebasing Time Coordinate</sectiontitle>
+<cartouche endspaces=" ">
+<para>Availability: 
+<command>ncra</command>, <command>ncrcat</command> 
+Short options: None&linebreak;
+</para></cartouche>
+
+<para>Time rebasing is invoked when numerous files share a common record
+coordinate, and the record coordinate units change among input files.
+The rebasing is performed automatically if and only if UDUnits is
+installed. 
+Usually rebasing occurs when the recoordinate is a time-based variable, 
+and times are recorded in units of a time-since-basetime, and the
+basetime changes from file to file.
+Since the output file can have only one unit (i.e., one basetime) for
+the record coordinate, <acronym><acronymword>NCO</acronymword></acronym>, in such cases, chooses the units
+of the first input file to be the units of the output file.
+It is necessary to &textldquo;rebase&textrdquo; all the input record variables to this
+output time unit in order for the output file to have the correct
+values.  
+</para>
+<para>For example suppose the time coordinate is in hours and each day in
+January is stored in its own daily file.
+Each daily file records the temperature variable <code>tpt(time)</code> 
+with an (unadjusted) <code>time</code> coordinate value between 0&textndash;23 hours,
+and uses the <code>units</code> attribute to advance the base time:
+</para><example endspaces=" ">
+<pre xml:space="preserve">file01.nc time:units="hours since 1990-1-1"   
+file02.nc time:units="hours since 1990-1-2"   
+...
+file31.nc time:units="hours since 1990-1-31"   
+</pre></example>
+
+<example endspaces=" ">
+<pre xml:space="preserve">// Mean noontime temperature in January
+ncra -v tpt -d time,"1990-1-1 12:00:00","1990-1-31 23:59:59",24 \
+      file??.nc noon.nc    
+
+// Concatenate day2 noon through day3 noon records
+ncrcat -v tpt -d time,"1990-1-2 12:00:00","1990-1-3 11:59:59" \ 
+      file01.nc file02.nc file03.nc noon.nc    
+
+// Results: time is "re-based" to the time units in "file01.nc"
+time=36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, \
+     51, 52, 53, 54, 55, 56, 57, 58, 59 ;
+  
+// If we repeat the above command but with only two input files...
+ncrcat -v tpt -d time,"1990-1-2 12:00:00","1990-1-3 11:59:59" \
+      file02.nc file03 noon.nc    
+
+// ...then output time coordinate is based on time units in "file02.nc"
+time = 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, \ 
+     26, 27, 28, 29, 30, 31, 32, 33, 34, 35 ;
+</pre></example>
+<para>As of <acronym><acronymword>NCO</acronymword></acronym> version 4.2.1 (August, 2012), <acronym><acronymword>NCO</acronymword></acronym>
+automatically rebases not only the record coordinate (<code>time</code>, here) 
+but also any bounds associated with the record coordinate (e.g.,
+<code>time_bnds</code>) (<pxref label="CF-Conventions"><xrefnodename>CF Conventions</xrefnodename></pxref>).
+</para>
+<html endspaces=" ">
+<a name="mrd"></a> <!&textndash; http://nco.sf.net/nco.html#mrd &textndash;>
+</html>
+</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="639">netCDF4</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="640"><code>--mrd</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="641"><code>--multiple_record_dimensions</code></indexterm></cindex>
+<cartouche endspaces=" ">
+<para>Availability: 
+<command>ncecat</command>, <command>ncpdq</command> 
+Short options: None&linebreak;
+Long options: <samp>--mrd</samp>&linebreak;
+</para></cartouche>
+<para>The netCDF3 file format allows only one record dimension, and that
+dimension must be the first dimension (i.e., the least rapidly varying 
+dimension) of any variable in which it appears.
+This imposes certain rules on how operators must perform operations
+that alter the ordering of dimensions or the number of record variables.
+The netCDF4 file format has no such restrictions.
+Files and variables may have any number of record dimensions in any
+order.
+This additional flexibility of netCDF4 can only be realized by
+selectively abandoning the constraints that would make operations
+behave completely consistently between netCDF3 and netCDF4 files.
+</para>
+<para><acronym><acronymword>NCO</acronymword></acronym> chooses, by default, to impose netCDF3-based constraints
+on netCDF4 files. 
+This reduces the number of unanticipated consequences and keeps the
+operators functioning in a familiar way.
+Put another way, <acronym><acronymword>NCO</acronymword></acronym> limits production of additional record
+dimensions so processing netCDF4 files leads to the same results as
+processing netCDF4 files.
+Users can override this default with the <samp>--mrd</samp> (or 
+<samp>--multiple_record_dimension</samp>) switch, which enables netCDF4
+variables to accumulate additional record dimensions.
+</para>
+<para>How can additional record dimensions be produced?
+Most commonly <command>ncecat</command> (in record-aggregate mode) defines a new
+leading record dimension.
+In netCDF4 files this becomes an additional record dimension unless the
+original record dimension is changed to a fixed dimension (as must be
+done in netCDF3 files). 
+Also when <command>ncpdq</command> reorders dimensions it can preserve the
+&textldquo;record&textrdquo; property of record variables.
+<command>ncpdq</command> tries to define as a record dimension whichever
+dimension ends up first in a record variable, and, in netCDF4 files,
+this becomes an additional record dimension unless the original record
+dimension is changed to a fixed dimension (as must be done in netCDF3
+files). 
+It it easier if <command>ncpdq</command> and <command>ncecat</command> do not increase
+the number of record dimensions in a variable so that is the default.
+Use <samp>--mrd</samp> to override this.
+</para>
+<html endspaces=" ">
+<a name="missing_value"></a> <!&textndash; http://nco.sf.net/nco.html#missing_value &textndash;>
+<a name="_FillValue"></a> <!&textndash; http://nco.sf.net/nco.html#_FillValue &textndash;>
+<a name="fll_val"></a> <!&textndash; http://nco.sf.net/nco.html#fll_val &textndash;>
+<a name="mss_val"></a> <!&textndash; http://nco.sf.net/nco.html#mss_val &textndash;>
+<a name="mss"></a> <!&textndash; http://nco.sf.net/nco.html#mss &textndash;>
+</html>
+</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="642">missing values</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="643">data, missing</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="644">averaging data</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="645"><code>missing_value</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="646"><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; 
+Short options: None&linebreak;
+</para></cartouche>
+
+<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="647">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:
+</para><enumerate first="1" endspaces=" ">
+<listitem> 
+<para>Identifying variables that may contain missing data. 
+</para>
+<para><acronym><acronymword>NCO</acronymword></acronym> follows the convention that missing data should be stored
+with the <var>_FillValue</var> specified in the variable&textrsquo;s <code>_FillValue</code> 
+attributes. 
+The <emph>only</emph> way <acronym><acronymword>NCO</acronymword></acronym> recognizes that a variable <emph>may</emph>
+contain missing data is if the variable has a <code>_FillValue</code>
+attribute. 
+In this case, any elements of the variable which are numerically equal
+to the <var>_FillValue</var> are treated as missing data.
+</para>
+<para><acronym><acronymword>NCO</acronymword></acronym> adopted the behavior that the default attribute name, if 
+any, assumed to specify the value of data to ignore is <code>_FillValue</code> 
+with version 3.9.2 (August, 2007).
+Prior to that, the <code>missing_value</code> attribute, if any, was assumed to  
+specify the value of data to ignore.
+Supporting both of these attributes simultaneously is not practical.
+Hence the behavior <acronym><acronymword>NCO</acronymword></acronym> once applied to <var>missing_value</var> it
+now applies to any <var>_FillValue</var>. 
+<acronym><acronymword>NCO</acronymword></acronym> now treats any <var>missing_value</var> as normal data 
+<footnote spaces="\n"><para>The old functionality, i.e., where the ignored values are indicated by
+<code>missing_value</code> not <code>_FillValue</code>, may still be selected 
+<emph>at <acronym><acronymword>NCO</acronymword></acronym> build time</emph> by compiling <acronym><acronymword>NCO</acronymword></acronym> 
+with the token definition 
+<!-- c @kbd{CPPFLAGS='-DNCO_MSS_VAL_SNG=missing_value'}. -->
+<kbd>CPPFLAGS='-UNCO_USE_FILL_VALUE'</kbd>.
+</para></footnote>.
+</para>
+<findex index="fn" spaces=" "><indexterm index="fn" number="8" mergedindex="cp">ncrename</indexterm></findex>
+<findex index="fn" spaces=" "><indexterm index="fn" number="9" mergedindex="cp">ncatted</indexterm></findex>
+<para>It has been and remains most advisable to create both <code>_FillValue</code> 
+and <code>missing_value</code> attributes with identical values in datasets.
+Many legacy datasets contain only <code>missing_value</code> attributes.
+<acronym><acronymword>NCO</acronymword></acronym> can help migrating datasets between these conventions.
+One may use <command>ncrename</command> (<pxref label="ncrename-netCDF-Renamer"><xrefnodename>ncrename netCDF Renamer</xrefnodename></pxref>) to
+rename all <code>missing_value</code> attributes to <code>_FillValue</code>:
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncrename -a .missing_value,_FillValue inout.nc
+</pre></example>
+<para>Alternatively, one may use
+<command>ncatted</command> (<pxref label="ncatted-netCDF-Attribute-Editor"><xrefnodename>ncatted netCDF Attribute Editor</xrefnodename></pxref>) to
+add a <code>_FillValue</code> attribute to all variables
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncatted -O -a _FillValue,,o,f,1.0e36 inout.nc
+</pre></example>
+
+</listitem><listitem> 
+<para>Converting the <var>_FillValue</var> to the type of the variable, if
+neccessary. 
+</para>
+<para>Consider a variable <var>var</var> of type <var>var_type</var> with a
+<code>_FillValue</code> attribute of type <var>att_type</var> containing the
+value <var>_FillValue</var>.  
+As a guideline, the type of the <code>_FillValue</code> attribute should be
+the same as the type of the variable it is attached to.
+If <var>var_type</var> equals <var>att_type</var> then <acronym><acronymword>NCO</acronymword></acronym>
+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="648">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>
+<footnote><para>For example, the <acronym><acronymword>DOE</acronymword></acronym> <acronym><acronymword>ARM</acronymword></acronym> program often
+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="649"><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
+(<pxref label="ncatted-netCDF-Attribute-Editor"><xrefnodename>ncatted netCDF Attribute Editor</xrefnodename></pxref>).
+</para>
+</listitem><listitem> 
+<para>Identifying missing data during arithmetic operations.
+</para>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="650">performance</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="651">operator speed</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="652">speed</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="653">execution time</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="654">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.
+Note the <var>_FillValue</var> comparison imposes a performance penalty
+on the operator.
+Arithmetic processing of variables which contain the
+<code>_FillValue</code> attribute always incurs this penalty, even when
+none of the data are missing.
+Conversely, arithmetic processing of variables which do not contain the
+<code>_FillValue</code> attribute never incurs this penalty.
+In other words, do not attach a <code>_FillValue</code> attribute to a
+variable which does not contain missing data.
+This exhortation can usually be obeyed for model generated data, but it
+may be harder to know in advance whether all observational data will be
+valid or not.
+</para>
+</listitem><listitem> 
+<para>Treatment of any data identified as missing in arithmetic operators.
+</para>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="655"><command>nces</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="656"><command>ncra</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="657"><command>ncwa</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="658"><command>ncbo</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="659"><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. 
+<command>ncbo</command> and <command>ncflint</command> define a <var>_FillValue</var> result  
+when either of the input values is a <var>_FillValue</var>.
+Sometimes the <var>_FillValue</var> may change from file to file in a
+multi-file operator, e.g., <command>ncra</command>.
+<acronym><acronymword>NCO</acronymword></acronym> is written to account for this (it always compares a
+variable to the <var>_FillValue</var> assigned to that variable in the
+current file). 
+Suffice it to say that, in all known cases, <acronym><acronymword>NCO</acronymword></acronym> does &textldquo;the
+right thing&textrdquo;. 
+</para>
+<para>It is impossible to determine and store the correct result of a binary  
+operation in a single variable.
+One such corner case occurs when both operands have differing
+<var>_FillValue</var> attributes, i.e., attributes with different
+numerical values.
+Since the output (result) of the operation can only have one
+<var>_FillValue</var>, some information may be lost.
+In this case, <acronym><acronymword>NCO</acronymword></acronym> always defines the output variable to have
+the same <var>_FillValue</var> as the first input variable.
+Prior to performing the arithmetic operation, all values of the second
+operand equal to the second <var>_FillValue</var> are replaced with the
+first <var>_FillValue</var>.
+Then the arithmetic operation proceeds as normal, comparing each element 
+of each operand to a single <var>_FillValue</var>.
+Comparing each element to two distinct <var>_FillValue</var>&textrsquo;s would be
+much slower and would be no likelier to yield a more satisfactory
+answer. 
+In practice, judicious choice of <var>_FillValue</var> values prevents any
+important information from being lost.
+</para></listitem></enumerate>
+
+<html endspaces=" ">
+<a name="chunking"></a> <!&textndash; http://nco.sf.net/nco.html#chunking &textndash;>
+<a name="cnk"></a> <!&textndash; http://nco.sf.net/nco.html#cnk &textndash;>
+<a name="cnk_sz"></a> <!&textndash; http://nco.sf.net/nco.html#cnk_sz &textndash;>
+<a name="chunk_size"></a> <!&textndash; http://nco.sf.net/nco.html#chunk_size &textndash;>
+</html>
+</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="660"><code>--cnk_byt</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="661"><code>--cnk_dmn</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="662"><code>--cnk_map</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="663"><code>--cnk_plc</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="664"><code>--cnk_scl</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="665"><code>--chunk_byte</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="666"><code>--chunk_dimension</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="667"><code>--chunk_map</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="668"><code>--chunk_policy</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="669"><code>--chunk_scalar</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="670">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>,
+<command>ncra</command>, <command>ncrcat</command>, <command>ncwa</command>&linebreak;
+Short options: none&linebreak;
+Long options: 
+<samp>--cnk_byt <var>cnk_sz</var></samp>, <samp>--chunk_byte <var>cnk_sz</var></samp>&linebreak;
+<samp>--cnk_dmn <var>dmn_nm</var>,<var>cnk_sz</var></samp>,
+<samp>--chunk_dimension <var>dmn_nm</var>,<var>cnk_sz</var></samp>&linebreak;,
+<samp>--cnk_map <var>cnk_map</var></samp>, <samp>--chunk_map <var>cnk_map</var></samp>,&linebreak;
+<samp>--cnk_plc <var>cnk_plc</var></samp>, <samp>--chunk_policy <var>cnk_plc</var></samp>,&linebreak;
+<samp>--cnk_scl <var>cnk_sz</var></samp>, <samp>--chunk_scalar <var>cnk_sz</var></samp>&linebreak;
+</para></cartouche>
+
+<para>All netCDF4-enabled <acronym><acronymword>NCO</acronymword></acronym> operators that define variables 
+support a plethora of chunksize options.
+Chunking can significantly accelerate or degrade read/write access
+to large datasets.
+Dataset chunking issues are described in detail
+<uref><urefurl>http://www.hdfgroup.org/HDF5/doc/H5.user/Chunking.html</urefurl><urefdesc>here</urefdesc></uref>,
+<uref><urefurl>http://www.unidata.ucar.edu/blogs/developer/en/entry/chunking_data_why_it_matters</urefurl><urefdesc>here</urefdesc></uref>,
+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="671">chunking policy</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="672">chunking map</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="673">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>,
+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="674">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="675">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>).
+Each aspect is intended to have a sensible default, so that most users
+will only need to set one switch to obtain sensible chunking.
+Power users can tune the three switches in tandem to obtain optimal
+performance. 
+</para>
+<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.
+Five chunking policies are currently implemented:&linebreak;   
+<cindex index="cp" spaces=" "><indexterm index="cp" number="676"><samp>all</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="677"><samp>g2d</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="678"><samp>g3d</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="679"><samp>xpl</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="680"><samp>xst</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="681"><samp>cnk_all</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="682"><samp>cnk_g2d</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="683"><samp>cnk_g3d</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="684"><samp>cnk_xpl</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="685"><samp>cnk_xst</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="686"><samp>plc_all</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="687"><samp>plc_g2d</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="688"><samp>plc_g3d</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="689"><samp>plc_xpl</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="690"><samp>plc_xst</samp></indexterm></cindex>
+</para><table commandarg="dfn" spaces=" " endspaces=" ">
+<tableentry><tableterm><item spaces=" "><itemformat command="dfn">Chunk All Variables [<emph>default</emph>]</itemformat></item>
+</tableterm><tableitem><para>Definition: Chunk all variables possible.
+For obvious reasons, scalar variables cannot be chunked.&linebreak;
+Alternate invocation: <code>ncchunk</code>&linebreak;
+<var>cnk_plc</var> key values: <samp>all</samp>, <samp>cnk_all</samp>, <samp>plc_all</samp>&linebreak;
+Mnemonic: All&linebreak;
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="dfn">Chunk Variables with at least Two Dimensions</itemformat></item>
+</tableterm><tableitem><para>Definition: Chunk all variables possible with at least two dimensions&linebreak;
+Alternate invocation: none&linebreak;
+<var>cnk_plc</var> key values: <samp>g2d</samp>, <samp>cnk_g2d</samp>, <samp>plc_g2d</samp>&linebreak;
+Mnemonic: <emph>G</emph>reater than or equal to <emph>2</emph> <emph>D</emph>imensions&linebreak;
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="dfn">Chunk Variables with at least Three Dimensions</itemformat></item>
+</tableterm><tableitem><para>Definition: Chunk all variables possible with at least three dimensions&linebreak;
+Alternate invocation: none&linebreak;
+<var>cnk_plc</var> key values: <samp>g3d</samp>, <samp>cnk_g3d</samp>, <samp>plc_g3d</samp>&linebreak;
+Mnemonic: <emph>G</emph>reater than or equal to <emph>3</emph> <emph>D</emph>imensions&linebreak;
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="dfn">Chunk Variables Containing Explicitly Chunked Dimensions</itemformat></item>
+</tableterm><tableitem><para>Definition: Chunk all variables possible that contain at least one
+dimension whose chunksize was explicitly set with the <samp>--cnk_dmn</samp> option.
+Alternate invocation: none&linebreak;
+<var>cnk_plc</var> key values: <samp>xpl</samp>, <samp>cnk_xpl</samp>, <samp>plc_xpl</samp>&linebreak;
+Mnemonic: E<emph>XPL</emph>icitly specified dimensions&linebreak;
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="dfn">Chunk Variables with Existing Chunk Sizes</itemformat></item>
+</tableterm><tableitem><para>Definition: Chunk all variables possible that are already chunked in the
+input file.
+When used in conjunction with <samp>cnk_map=xst</samp> this option preserves
+and copies the chunking parameters from the input to the output file.
+Alternate invocation: none&linebreak;
+<var>cnk_plc</var> key values: <samp>xst</samp>, <samp>cnk_xst</samp>, <samp>plc_xst</samp>&linebreak;
+Mnemonic: E<emph>X</emph>i<emph>ST</emph>ing chunk sizes&linebreak;
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="dfn">Unchunking</itemformat></item>
+</tableterm><tableitem><para>Definition: Unchunk all variables possible. 
+The <acronym><acronymword>HDF5</acronymword></acronym> storge layer requires that record variables (i.e.,
+variables that contain at least one record dimension) must be chunked.
+Also variables that are compressed or use checksums must be chunked.
+Such variables cannot be unchunked.&linebreak;  
+Alternate invocation: <code>ncunchunk</code>&linebreak;
+<var>cnk_plc</var> key values: <samp>uck</samp>, <samp>cnk_uck</samp>, <samp>plc_uck</samp>, <samp>unchunk</samp>&linebreak;
+Mnemonic: <emph>U</emph>n<emph>C</emph>hun<emph>K</emph>&linebreak;
+</para></tableitem></tableentry></table>
+<noindent></noindent>
+<para>Equivalent key values are fully interchangeable.
+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="691">chunking map</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="692">degenerate dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="693"><var>cnk_map</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="694"><code>-M <var>cnk_map</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="695"><code>--cnk_map <var>cnk_map</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="696"><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
+is called the <dfn>chunking map</dfn>. 
+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="697"><samp>dmn</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="698"><samp>scl</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="699"><samp>prd</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="700"><samp>lfp</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="701"><samp>rd1</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="702"><samp>xst</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="703"><samp>rew</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="704"><samp>cnk_dmn</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="705"><samp>cnk_scl</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="706"><samp>cnk_prd</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="707"><samp>cnk_lfp</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="708"><samp>cnk_rd1</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="709"><samp>cnk_xst</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="710"><samp>map_dmn</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="711"><samp>map_scl</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="712"><samp>map_prd</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="713"><samp>map_lfp</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="714"><samp>map_rd1</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="715"><samp>map_xst</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="716">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. 
+Explicitly specify chunksizes for particular dimensions with
+<samp>--cnk_dmn</samp> option.&linebreak;
+<var>cnk_map</var> key values: <samp>dmn</samp>, <samp>cnk_dmn</samp>, <samp>map_dmn</samp>&linebreak;
+Mnemonic: <emph>D</emph>i<emph>M</emph>e<emph>N</emph>sion&linebreak;
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="dfn">Chunksize Equals Dimension Size except Record Dimension</itemformat></item>
+</tableterm><tableitem><para>Definition: Chunksize equals dimension size except record dimension has size one.
+Explicitly specify chunksizes for particular dimensions with
+<samp>--cnk_dmn</samp> option.&linebreak;
+<var>cnk_map</var> key values: <samp>rd1</samp>, <samp>cnk_rd1</samp>, <samp>map_rd1</samp>&linebreak;
+Mnemonic: <emph>R</emph>ecord <emph>D</emph>imension size <emph>1</emph>&linebreak;
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="dfn">Chunksize Equals Scalar Size Specified</itemformat></item>
+</tableterm><tableitem><para>Definition: Chunksize for all dimensions is set with the
+<samp>--cnk_scl</samp> option.&linebreak; 
+<var>cnk_map</var> key values: <samp>xpl</samp>, <samp>cnk_xpl</samp>, <samp>map_xpl</samp>&linebreak;
+Mnemonic: E<emph>XPL</emph>icitly specified dimensions&linebreak;
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="dfn">Chunksize Product Matches Scalar Size Specified</itemformat></item>
+</tableterm><tableitem><para>Definition: The product of the chunksizes for each variable
+matches (approximately equals) the size specified with the
+<samp>--cnk_scl</samp> option.
+A dimension of size one is said to be <emph>degenerate</emph>.
+For a variable of rank <var>R</var> (i.e., with <var>R</var> non-degenerate
+dimensions), the chunksize in each non-degenerate dimension is the
+<var>R</var>th root of <var>cnk_scl</var>.&linebreak;
+<var>cnk_map</var> key values: <samp>prd</samp>, <samp>cnk_prd</samp>, <samp>map_prd</samp>&linebreak;
+Mnemonic: <emph>PR</emph>o<emph>D</emph>uct&linebreak;
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="dfn">Chunksize Lefter Product Matches Scalar Size Specified</itemformat></item>
+</tableterm><tableitem><para>Definition: The product of the chunksizes for each variable
+(approximately) equals the size specified with the <samp>--cnk_scl</samp> 
+option.
+This is accomplished by using dimension sizes as chunksizes for the
+rightmost (most rapidly varying) dimensions, and then &textldquo;flexing&textrdquo; the
+chunksize of the leftmost (least rapidly varying) dimensions such that 
+the product of all chunksizes matches the specified size.
+All dimensions to the left of and including the first record dimension
+define the left-hand side.
+This map was first proposed by Chris Barker.&linebreak;
+<var>cnk_map</var> key values: <samp>lfp</samp>, <samp>cnk_lfp</samp>, <samp>map_lfp</samp>&linebreak;
+Mnemonic: <emph>L</emph>e<emph>F</emph>ter <emph>P</emph>roduct&linebreak;
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="dfn">Chunksize Equals Existing Chunksize</itemformat></item>
+</tableterm><tableitem><para>Definition: Chunksizes are copied from the input to the output
+file for every variable that is chunked in the input file.
+Variables not chunked in the input file will be chunked with 
+default mappings.&linebreak;
+<var>cnk_map</var> key values: <samp>xst</samp>, <samp>cnk_xst</samp>, <samp>map_xst</samp>&linebreak;
+Mnemonic: E<emph>X</emph>i<emph>ST</emph>&linebreak;
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="dfn">Chunksize Balances 1D and (N-1)-D Access to N-D Variable</itemformat></item>
+</tableterm><tableitem><para>Definition: Chunksizes are chosen so that 1-D and (<var>(N-1)</var>)-D
+hyperslabs of <var>3</var>-D variables (e.g., point-timeseries orn
+latitude/longitude surfaces of 3-D fields) both require approximately
+the number of chunks. 
+Hence their access time should be balanced.
+Russ Rew explains the motivation and derivation for this strategy 
+<uref><urefurl>http://www.unidata.ucar.edu/blogs/developer/en/entry/chunking_data_choosing_shapes</urefurl><urefdesc spaces="\n">here</urefdesc></uref>.&linebreak;
+<var>cnk_map</var> key values: <samp>rew</samp>, <samp>cnk_rew</samp>, <samp>map_rew</samp>&linebreak;
+Mnemonic: Russ <emph>REW</emph>&linebreak;
+</para></tableitem></tableentry></table>
+<noindent></noindent>
+<para>It is possible to combine the above chunking map algorithms with
+user-specified per-dimension (though not per-variable) chunksizes that 
+override specific chunksizes determined by the maps above. 
+The user specifies the per-dimension chunksizes with the (equivalent) 
+long options <samp>--cnk_dmn</samp> or <samp>--chunk_dimension</samp>).
+The option takes two comma-separated arguments,
+<var>dmn_nm</var>,<var>cnk_sz</var>, which are the dimension name and its
+chunksize, respectively. 
+The <samp>--cnk_dmn</samp> option may be used as many times as necessary.
+</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;>
+</html>
+<example endspaces=" ">
+<pre xml:space="preserve"># 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
+
+# Chunk data then unchunk it, printing informative metadata
+ncks -O -4 -D 4 --cnk_plc=all ~/nco/data/in.nc ~/foo.nc
+ncks -O -4 -D 4 --cnk_plc=uck ~/foo.nc ~/foo.nc
+
+# Set total chunksize to 8192 B
+ncks -O -4 -D 4 --cnk_plc=all --cnk_byt=8192 ~/nco/data/in.nc ~/foo.nc
+
+# More complex chunking procedures, with informative metadata
+ncks -O -4 -D 4 --cnk_scl=8 ~/nco/data/in.nc ~/foo.nc
+ncks -O -4 -D 4 --cnk_scl=8 dstmch90_clm.nc ~/foo.nc
+ncks -O -4 -D 4 --cnk_dmn lat,64 --cnk_dmn lon,128 dstmch90_clm.nc \ 
+ ~/foo.nc 
+ncks -O -4 -D 4 --cnk_plc=uck ~/foo.nc ~/foo.nc
+ncks -O -4 -D 4 --cnk_plc=g2d --cnk_map=rd1 --cnk_dmn lat,32 \
+ --cnk_dmn lon,128 dstmch90_clm_0112.nc ~/foo.nc
+
+# Chunking works with all operators...
+ncap2 -O -4 -D 4 --cnk_scl=8 -S ~/nco/data/ncap2_tst.nco \ 
+ ~/nco/data/in.nc ~/foo.nc
+ncbo -O -4 -D 4 --cnk_scl=8 -p ~/nco/data in.nc in.nc ~/foo.nc
+ncecat -O -4 -D 4 -n 12,2,1 --cnk_dmn lat,32 \ 
+ -p /data/zender/dstmch90 dstmch90_clm01.nc ~/foo.nc
+ncflint -O -4 -D 4 --cnk_scl=8 ~/nco/data/in.nc ~/foo.nc
+ncpdq -O -4 -D 4 -P all_new --cnk_scl=8 -L 5 ~/nco/data/in.nc ~/foo.nc
+ncrcat -O -4 -D 4 -n 12,2,1 --cnk_dmn lat,32 \ 
+ -p /data/zender/dstmch90 dstmch90_clm01.nc ~/foo.nc
+ncwa -O -4 -D 4 -a time --cnk_plc=g2d --cnk_map=rd1 --cnk_dmn lat,32 \ 
+ --cnk_dmn lon,128 dstmch90_clm_0112.nc ~/foo.nc
+</pre></example>
+
+<cindex index="cp" spaces=" "><indexterm index="cp" number="717">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,
+Deflated (compressed) variables, and Checksummed variables.
+Hence all variables that contain a record dimension are also chunked
+(since data must be chunked in all dimensions, not just one).
+Unless otherwise specified by the user, the other (fixed, non-record) 
+dimensions of record variables are assigned default chunk sizes. 
+The <acronym><acronymword>HDF5</acronymword></acronym> layer does all this automatically to optimize the
+on-disk variable/file storage geometry of record variables.
+Do not be surprised to learn that files created without any explicit
+instructions to activate chunking nevertheless contain chunked
+variables. 
+</para>
+<html endspaces=" ">
+<a name="dfl_lvl"></a> <!&textndash; http://nco.sf.net/nco.html#dfl_lvl &textndash;>
+<a name="dfl"></a> <!&textndash; http://nco.sf.net/nco.html#dfl &textndash;>
+<a name="lz"></a> <!&textndash; http://nco.sf.net/nco.html#lz &textndash;>
+<a name="lz77"></a> <!&textndash; http://nco.sf.net/nco.html#lz77 &textndash;>
+<a name="deflate"></a> <!&textndash; http://nco.sf.net/nco.html#deflate &textndash;>
+<a name="deflation"></a> <!&textndash; http://nco.sf.net/nco.html#deflation &textndash;>
+</html>
+</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="718"><code>-L</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="719"><code>--deflate</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="720"><code>--dfl_lvl</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="721">Lempel-Ziv deflation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="722">compression</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="723">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>,
+<command>ncra</command>, <command>ncrcat</command>, <command>ncwa</command>&linebreak;
+Short options: <samp>-L</samp>&linebreak;
+Long options: <samp>--dfl_lvl</samp>, <samp>--deflate</samp>&linebreak;  
+</para></cartouche>
+
+<para>All <acronym><acronymword>NCO</acronymword></acronym> operators that define variables support 
+the netCDF4 feature of storing variables compressed with Lempel-Ziv
+deflation. 
+The Lempel-Ziv algorithm is a lossless data compression technique.
+Activate this deflation with the <code>-L <var>dfl_lvl</var></code> short option
+(or with the same argument to the <samp>--dfl_lvl</samp> or <samp>--deflate</samp> 
+long options).
+Specify the deflation level <var>dfl_lvl</var> on a scale from 
+no deflation (<var>dfl_lvl = 0</var>) to maximum deflation 
+(<var>dfl_lvl = 9</var>).
+Minimal deflation (<var>dfl_lvl = 1</var>) achieves considerable storage
+compression with little time penalty.
+Higher deflation levels require more time for compression.
+File sizes resulting from minimal (<var>dfl_lvl = 1</var>) and maximal   
+(<var>dfl_lvl = 9</var>) deflation levels typically differ by a few
+percent in size. 
+</para>
+<para>To compress an entire file using deflation, use
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncks -4 -L 0 in.nc out.nc # No deflation (fast, no time penalty)
+ncks -4 -L 1 in.nc out.nc # Minimal deflation (little time penalty)
+ncks -4 -L 9 in.nc out.nc # Maximal deflation (much slower)
+</pre></example>
+
+<para>Unscientific testing shows that deflation compresses typical climate
+datasets by 30-60%.  
+Packing, a lossy compression technique available for all netCDF files 
+(see <ref label="Packed-data"><xrefnodename>Packed data</xrefnodename></ref>), can easily compress files by 50%.
+Packed data may be deflated to squeeze datasets by about 80%:
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncks  -4 -L 1 in.nc out.nc # Minimal deflation (~30-60% compression)
+ncks  -4 -L 9 in.nc out.nc # Maximal deflation (~31-63% compression)
+ncpdq         in.nc out.nc # Standard packing  (~50% compression)
+ncpdq -4 -L 9 in.nc out.nc # Deflated packing  (~80% compression)
+</pre></example>
+<findex index="fn" spaces=" "><indexterm index="fn" number="11" mergedindex="cp">ncks</indexterm></findex>
+<para><command>ncks</command> prints deflation parameters, if any, to screen
+(<pxref label="ncks-netCDF-Kitchen-Sink"><xrefnodename>ncks netCDF Kitchen Sink</xrefnodename></pxref>).
+</para>
+<html endspaces=" ">
+<a name="md5"></a> <!&textndash; http://nco.sf.net/nco.html#md5 &textndash;>
+<a name="digest"></a> <!&textndash; http://nco.sf.net/nco.html#digest &textndash;>
+<a name="hash"></a> <!&textndash; http://nco.sf.net/nco.html#hash &textndash;>
+<a name="integrity"></a> <!&textndash; http://nco.sf.net/nco.html#integrity &textndash;>
+<a name="security"></a> <!&textndash; http://nco.sf.net/nco.html#security &textndash;>
+</html>
+</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="724"><code>--md5_digest</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="725"><code>--md5_dgs</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="726"><code>--md5_wrt_att</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="727"><code>--md5_write_attribute</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="728">integrity</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="729">security</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="730">digest</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="731">hash</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="732">MD5 digest</indexterm></cindex>
+<cartouche endspaces=" ">
+<para>Availability: 
+<command>ncecat</command>, <command>ncks</command>, <command>ncrcat</command>&linebreak;
+Short options: &linebreak;
+Long options: <samp>--md5_dgs</samp>, <samp>--md5_digest</samp>, <samp>--md5_wrt_att</samp>, <samp>--md5_write_attribute</samp>&linebreak;
+</para></cartouche>
+
+<para>As of <acronym><acronymword>NCO</acronymword></acronym> version 4.1.0 (April, 2012), <acronym><acronymword>NCO</acronymword></acronym> 
+supports data integrity verification using the <acronym><acronymword>MD5</acronymword></acronym> digest
+algorithm. 
+This support is currently implemented in <command>ncks</command> and in the
+multifile concantenators <command>ncecat</command> and <command>ncrcat</command>.
+Activate it with the <samp>--md5_dgs</samp> or <samp>--md5_digest</samp> long
+options. 
+As of <acronym><acronymword>NCO</acronymword></acronym> version 4.3.3 (July, 2013), <acronym><acronymword>NCO</acronymword></acronym> 
+will write the <acronym><acronymword>MD5</acronymword></acronym> digest of each variable as an
+<code>NC_CHAR</code> attribute named <code>MD5</code>.
+This support is currently implemented in <command>ncks</command> and in the
+multifile concantenators <command>ncecat</command> and <command>ncrcat</command>.
+Activate it with the <samp>--md5_wrt_att</samp> or
+<samp>--md5_write_attribute</samp> long options.
+</para>
+<para>The behavior and verbosity of the <acronym><acronymword>MD5</acronymword></acronym> digest is
+operator-dependent.
+When activating <acronym><acronymword>MD5</acronymword></acronym> digests with <command>ncks</command> it is assumed
+that the user simply wishes to see the digest of every variable and this
+is done when the debugging level exceeds one.
+This incurs only the minor overhead of performing the hash algorithm for
+each variable read.
+<acronym><acronymword>MD5</acronymword></acronym> digests may be activated in both the one- and two-filename
+argument forms of <command>ncks</command>, which are used for printing and for
+sub-setting, respectively.
+The <acronym><acronymword>MD5</acronymword></acronym> digests are shown as a 32-character hexadecimal string 
+in which each two characters represent one byte of the 16-byte digest:
+</para><example endspaces=" ">
+<pre xml:space="preserve">> ncks -O -D 2 -C --md5 -v md5_a,md5_abc ~/nco/data/in.nc
+...
+ncks: INFO MD5(md5_a) = 0cc175b9c0f1b6a831c399e269772661
+md5_a = 'a' 
+ncks: INFO MD5(md5_abc) = 900150983cd24fb0d6963f7d28e17f72
+lev[0]=100 md5_abc[0--2]='abc' 
+> ncks -O -D 2 -C -d lev,0 --md5 -v md5_a,md5_abc ~/nco/data/in.nc
+...
+ncks: INFO MD5(md5_a) = 0cc175b9c0f1b6a831c399e269772661
+md5_a = 'a' 
+ncks: INFO MD5(md5_abc) = 0cc175b9c0f1b6a831c399e269772661
+lev[0]=100 md5_abc[0--0]='a' 
+</pre></example>
+<para>In fact these examples demonstrate the validity of the hash algorithm
+since the <acronym><acronymword>MD5</acronymword></acronym> hashes of the strings &textldquo;a&textrdquo; and &textldquo;abc&textrdquo; are
+widely known.
+The second example shows that the hyperslab of variable <code>md5_abc</code>
+(= &textldquo;abc&textrdquo;) consisting of only its first letter (= &textldquo;a&textrdquo;) has the same
+hash as the variable <code>md5_a</code> (&textldquo;a&textrdquo;).
+This illustrates that <acronym><acronymword>MD5</acronymword></acronym> digests act only on variable data,
+not on metadata. 
+</para>
+<para>When activating <acronym><acronymword>MD5</acronymword></acronym> digests with <command>ncecat</command> or
+<command>ncrcat</command> it is assumed that the user wishes to verify
+that every variable written to disk has the same <acronym><acronymword>MD5</acronymword></acronym> digest 
+as when it is subsequently read from disk.
+This incurs the major additional overhead of reading in each variable
+after it is written and performing the hash algorithm again on that to
+compare to the original hash.
+Moreover, it is assumed that such operations are generally done
+&textldquo;production mode&textrdquo; where the user is not interested in actually
+examining the digests herself.
+The digests proceed silently unless the debugging level exceeds three:
+</para><example endspaces=" ">
+<pre xml:space="preserve">> ncecat -O -D 4 --md5 -p ~/nco/data in.nc in.nc ~/foo.nc | grep MD5
+...
+ncecat: INFO MD5(wnd_spd) = bec190dd944f2ce2794a7a4abf224b28
+ncecat: INFO MD5 digests of RAM and disk contents for wnd_spd agree
+> ncrcat -O -D 4 --md5 -p ~/nco/data in.nc in.nc ~/foo.nc | grep MD5
+...
+ncrcat: INFO MD5(wnd_spd) = 74699bb0a72b7f16456badb2c995f1a1
+ncrcat: INFO MD5 digests of RAM and disk contents for wnd_spd agree
+</pre></example>
+<para>Regardless of the debugging level, an error is returned when the digests
+of the variable read from the source file and from the output file
+disagree.  
+</para>
+<para>These rules are evolving and as <acronym><acronymword>NCO</acronymword></acronym> pays more attention to
+data integrity. 
+We welcome feedback and suggestions from users.
+</para>
+<html endspaces=" ">
+<a name="bfr_sz_hnt"></a> <!&textndash; http://nco.sf.net/nco.html#bfr_sz_hnt &textndash;>
+<a name="bfr"></a> <!&textndash; http://nco.sf.net/nco.html#bfr &textndash;>
+<a name="buffer"></a> <!&textndash; http://nco.sf.net/nco.html#buffer &textndash;>
+</html>
+</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="733"><code>--bfr_sz_hnt</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="734">Buffer sizes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="735">File buffers</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="736"><command>stat() system call</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="737">I/O block size</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="738">System calls</indexterm></cindex>
+<cartouche endspaces=" ">
+<para>Availability: All operators&linebreak;
+Short options: &linebreak;
+Long options: <samp>--bfr_sz_hnt</samp>, <samp>--buffer_size_hint</samp>&linebreak;  
+</para></cartouche>
+
+<para>As of <acronym><acronymword>NCO</acronymword></acronym> version 4.2.0 (May, 2012), <acronym><acronymword>NCO</acronymword></acronym> 
+allows the user to request specific buffer sizes to allocate for reading 
+and writing files.
+This buffer size determines how many system calls the netCDF layer must
+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
+<command>stat()</command> system call
+<footnote spaces="\n"><para>On modern Linux systems the block size defaults to <w>8192 B</w>.
+The GLADE filesystem at NCAR has a block size of <w>512 kB</w>.</para></footnote>.
+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.
+Because netCDF cannot guarantee the buffer size request will be met, the 
+actual buffer size granted by the system is printed as an INFO
+statement. 
+</para><example endspaces=" ">
+<pre xml:space="preserve"># Request 2 MB file buffer instead of default 8 kB buffer
+> ncks -O -D 3 --bfr_sz=2097152 ~/nco/data/in.nc ~/foo.nc
+...
+ncks: INFO nc__open() will request file buffer size = 2097152 bytes
+ncks: INFO nc__open() opened file with buffer size = 2097152 bytes
+...
+</pre></example>
+
+<html endspaces=" ">
+<a name="ram_all"></a> <!&textndash; http://nco.sf.net/nco.html#ram_all &textndash;>
+<a name="ram"></a> <!&textndash; http://nco.sf.net/nco.html#ram &textndash;>
+<a name="diskless"></a> <!&textndash; http://nco.sf.net/nco.html#diskless &textndash;>
+</html>
+</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="739"><code>--ram_all</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="740"><code>--create_ram</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="741"><code>--open_ram</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="742"><code>--diskless_all</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="743"><acronym><acronymword>RAM</acronymword></acronym> disks</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="744"><acronym><acronymword>RAM</acronymword></acronym> files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="745"><code>NC_DISKLESS</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="746">diskless files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="747">memory requirements</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="748">memory available</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="749"><acronym><acronymword>RAM</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="750">swap space</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="751">peak memory usage</indexterm></cindex>
+<cartouche endspaces=" ">
+<para>Availability: All operators&linebreak;
+Short options: &linebreak;
+Long options: <samp>--ram_all</samp>, <samp>--create_ram</samp>, <samp>--open_ram</samp>,
+<samp>--diskless_all</samp>&linebreak;   
+</para></cartouche>
+
+<para>As of <acronym><acronymword>NCO</acronymword></acronym> version 4.2.1 (August, 2012), <acronym><acronymword>NCO</acronymword></acronym> supports
+the use of diskless files, aka <acronym><acronymword>RAM</acronymword></acronym> disks, for file access and creation. 
+Two independent switches, <samp>--open_ram</samp> and <samp>--create_ram</samp>,
+control this feature. 
+Before describing the specifics of these switches, we describe why many 
+<acronym><acronymword>NCO</acronymword></acronym> operations will not benefit from them.
+Essentially, reading/writing from/to <acronym><acronymword>RAM</acronymword></acronym> rather than disk only hastens 
+the task when reads/writes to disk are avoided.
+Most <acronym><acronymword>NCO</acronymword></acronym> operations are simple enough that they require a
+single read-from/write-to disk for every block of input/output. 
+Diskless access does not change this, but it does add an extra
+read-from/write-to RAM. 
+However this extra <acronym><acronymword>RAM</acronymword></acronym> write/read does avoid contention for limited
+system resources like disk-head access.
+Operators which may benefit from <acronym><acronymword>RAM</acronymword></acronym> disks include <command>ncwa</command>, which
+may need to read weighting variables multiple times, the multi-file 
+operators <command>ncra</command>, <command>ncrcat</command>, and <command>ncecat</command>,
+which may try to write output at least once per input file, and
+<command>ncap2</command> scripts which may be arbitrarily long and convoluted. 
+</para>
+<para>The <samp>--open_ram</samp> switch causes input files to copied to <acronym><acronymword>RAM</acronymword></acronym> when
+opened. 
+All further metadata and data access occurs in <acronym><acronymword>RAM</acronymword></acronym> and thus avoids
+access time delays caused by disk-head movement.
+Usually input data is read at most once so it is unlikely that
+requesting input files be stored in <acronym><acronymword>RAM</acronymword></acronym> will save much time.
+The likeliest exceptions are files that are accessed numerous times,
+such as those analyzed extensively analyzed by <command>ncap2</command>. 
+</para>
+<para>Invoking <samp>--open_ram</samp>, <samp>--ram_all</samp>, or <samp>--diskless_all</samp>
+uses much more system memory.
+To copy the input file to <acronym><acronymword>RAM</acronymword></acronym> increases the sustained
+memory use by exactly the on-disk filesize of the input file, i.e.,
+<math>MS += FT</math>.
+For large input files this can be a huge memory burden that starves
+the rest of the <acronym><acronymword>NCO</acronymword></acronym> analysis of sufficient <acronym><acronymword>RAM</acronymword></acronym>.
+To be safe, use <samp>--open_ram</samp>, <samp>--ram_all</samp>, or
+<samp>--diskless_all</samp> only on files that are much (say at least a factor
+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="752"><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
+operator completes.
+Creating files in <acronym><acronymword>RAM</acronymword></acronym> may save time, especially with <command>ncap2</command>
+computations that are iterative, e.g., loops, and for multi-file
+operators that write output every record (timestep) or file.
+RAM files provide many of the same benefits as <acronym><acronymword>RAM</acronymword></acronym> variables in such
+cases (<pxref label="RAM-variables"><xrefnodename>RAM variables</xrefnodename></pxref>). 
+</para>
+<para>Two switches, <samp>--ram_all</samp> and <samp>--diskless_all</samp>, are convenient
+shortcuts for specifying both <samp>--create_ram</samp> and
+<samp>--diskless_ram</samp>. 
+Thus
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncks in.nc out.nc # Default: Open in.nc on disk, write out.nc to disk
+ncks --open_ram in.nc out.nc # Open in.nc in RAM, write out.nc to disk
+ncks --create_ram in.nc out.nc # Create out.nc in RAM, write to disk
+# Open in.nc in RAM, create out.nc in RAM, then write out.nc to disk
+ncks --open_ram --create_ram in.nc out.nc
+ncks --ram_all in.nc out.nc # Same as above
+ncks --diskless_all in.nc out.nc # Same as above
+</pre></example>
+
+<para>It is straightforward to demonstrate the efficacy of <acronym><acronymword>RAM</acronymword></acronym> disks.
+For <acronym><acronymword>NASA</acronymword></acronym> we constructed a test that employs <command>ncecat</command>
+an arbitrary number (set to one hundred thousand) of files are all
+symbolically linked to the same file. 
+Everything is on the local filesystem (not <acronym><acronymword>DAP</acronymword></acronym>).
+</para><example endspaces=" ">
+<pre xml:space="preserve"># Create symbolic links for benchmark
+cd ${DATA}/nco # Do all work here
+for idx in {1..99999}; do
+  idx_fmt=`printf "%05d" ${idx}`
+  /bin/ln -s ${DATA}/nco/LPRM-AMSR_E_L3_D_SOILM3_V002-20120512T111931Z_20020619.nc \
+             ${DATA}/nco/${idx_fmt}.nc
+done
+# Benchmark time to ncecat one hundred thousand files
+time ncecat --create_ram -O -u time -v ts -d Latitude,40.0 \ 
+ -d Longitude,-105.0 -p ${DATA}/nco -n 99999,5,1 00001.nc ~/foo.nc
+</pre></example>
+<para>Run normally on a laptop in 201303, this completes in <w>21 seconds</w>.
+The <samp>--create_ram</samp> reduces the elapsed time to <w>9 seconds</w>.
+Some of this speed may be due to using symlinks and caching.
+However, the efficacy of <samp>--create_ram</samp> is clear.
+Placing the output file in <acronym><acronymword>RAM</acronymword></acronym> avoids thousands of disk writes.
+It is not unreasonable to for <acronym><acronymword>NCO</acronymword></acronym> to process a million files
+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="753">temporary output files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="754">temporary files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="755"><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 
+(<pxref label="Temporary-Output-Files"><xrefnodename>Temporary Output Files</xrefnodename></pxref>).
+</para>
+<html endspaces=" ">
+<a name="pck"></a> <!&textndash; http://nco.sf.net/nco.html#pck &textndash;>
+<a name="pack"></a> <!&textndash; http://nco.sf.net/nco.html#pack &textndash;>
+</html>
+</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="756">packing</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="757">unpacking</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="758"><code>add_offset</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="759"><code>scale_factor</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="760"><code>missing_value</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="761"><code>_FillValue</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="762"><command>pack(x)</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="763"><command>unpack(x)</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="764"><code>--hdf_upk</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="765"><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; 
+Short options: None&linebreak;
+Long options: <samp>--hdf_upk</samp>, <samp>--hdf_unpack</samp>&linebreak;
+</para></cartouche>
+
+<para>The phrase <dfn>packed data</dfn> refers to data which are stored in the
+standard netCDF3 packing format which employs a lossy algorithm.
+See <ref label="ncks-netCDF-Kitchen-Sink"><xrefnodename>ncks netCDF Kitchen Sink</xrefnodename></ref> for a description of deflation, a 
+lossless compression technique available with netCDF4 only.
+Packed data may be deflated to save additional space.
+</para>
+<unnumberedsubsec spaces=" "><sectiontitle>Packing Algorithm</sectiontitle>
+<para><dfn>Packing</dfn>
+The standard netCDF packing algorithm (described
+<uref><urefurl>http://www.unidata.ucar.edu/software/netcdf/docs/netcdf/Attribute-Conventions.html</urefurl><urefdesc spaces=" ">here</urefdesc></uref>)
+produces data with
+the same dynamic range as the original but which requires no more than
+half the space to store.
+Like all packing algorithms, it is <emph>lossy</emph>.
+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
+<footnote><para>Although not a part of the standard, <acronym><acronymword>NCO</acronymword></acronym> enforces
+the policy that the <code>_FillValue</code> attribute, if any, of a packed
+variable is also stored at the original precision.</para></footnote>.
+Let <var>min</var> and <var>max</var> be the minimum and maximum values 
+<w>of <var>x</var>.</w> 
+<tex endspaces=" ">
+$$
+\rm
+\eqalign{\hbox{scale\_factor} &= (\hbox{max}-\hbox{min})/\hbox{ndrv}\cr
+\hbox{add\_offset} &= (\hbox{min}+\hbox{max})/2\cr
+\hbox{pck} &= (\hbox{upk}-\hbox{add\_offset})/\hbox{scale\_factor}\cr
+ &= {\hbox{ndrv}\times[\hbox{upk}-(\hbox{min}+\hbox{max})/2]\over\hbox{max}-\hbox{min}}\cr}
+$$
+</tex>
+</para><sp value="1" line=" 1"></sp>
+<para><var>scale_factor</var> = (<var>max</var>-<var>min</var>)/<var>ndrv</var>&linebreak;
+<var>add_offset</var> = 0.5*(<var>min</var>+<var>max</var>)&linebreak;
+<var>pck</var> = (<var>upk</var>-<var>add_offset</var>)/<var>scale_factor</var> = (<var>upk</var>-0.5*(<var>min</var>+<var>max</var>))*<var>ndrv</var>/(<var>max</var>-<var>min</var>)&linebreak; 
+</para><sp value="1" line=" 1"></sp>
+<para>where <var>ndrv</var> is the number of discrete representable values for
+given type of packed variable.
+The theoretical maximum value for <var>ndrv</var> is two raised to the
+number of bits used to store the packed variable.
+Thus if the variable is packed into type <code>NC_SHORT</code>, a two-byte
+datatype, then there are at most <math>2^{16} = 65536</math> distinct values
+representable.
+In practice, the number of discretely representible values is taken
+to be two less than the theoretical maximum.
+This leaves space for a missing value and solves potential problems with
+rounding that may occur during the unpacking of the variable.
+Thus for <code>NC_SHORT</code>, <math>ndrv = 65536 - 2 = 65534</math>.
+Less often, the variable may be packed into type <code>NC_CHAR</code>, 
+where <math>ndrv = 2^{8} - 2 = 256 - 2 = 254</math>, or type <code>NC_INT</code> where
+where <math>ndrv = 2^{32} - 2 = 4294967295 - 2 = 4294967293</math>.
+One useful feature of (lossy) netCDF packing algorithm is that
+additional, loss-less packing algorithms perform well on top of it. 
+</para>
+<html endspaces=" ">
+<a name="upk"></a> <!&textndash; http://nco.sf.net/nco.html#upk &textndash;>
+<a name="unpack"></a> <!&textndash; http://nco.sf.net/nco.html#unpack &textndash;>
+</html>
+</unnumberedsubsec>
+<unnumberedsubsec spaces=" "><sectiontitle>Unpacking Algorithm</sectiontitle>
+<para><dfn>Unpacking</dfn>
+The unpacking algorithm depends on the presence of two attributes,
+<code>scale_factor</code> and <code>add_offset</code>.
+If <code>scale_factor</code> is present for a variable, the data are
+multiplied by the value <var>scale_factor</var> after the data are read.
+If <code>add_offset</code> is present for a variable, then the
+<var>add_offset</var> value is added to the data after the data are read.
+If both <code>scale_factor</code> and <code>add_offset</code> attributes are
+present, the data are first scaled by <var>scale_factor</var> before the
+offset <var>add_offset</var> is added.   
+<tex endspaces=" ">
+$$
+\rm
+\eqalign{\hbox{upk} &= \hbox{scale\_factor}\times\hbox{pck} + \hbox{add\_offset}\cr 
+&= {\hbox{pck}\times(\hbox{max}-\hbox{min})\over\hbox{ndrv}} + {\hbox{min}+\hbox{max}\over2}\cr} 
+$$
+</tex>
+</para><sp value="1" line=" 1"></sp>
+<para><var>upk</var> = <var>scale_factor</var>*<var>pck</var> + <var>add_offset</var> = (<var>max</var>-<var>min</var>)*<var>pck</var>/<var>ndrv</var> + 0.5*(<var>min</var>+<var>max</var>)&linebreak;
+</para><sp value="1" line=" 1"></sp>
+<para>When <code>scale_factor</code> and <code>add_offset</code> are used for packing, the
+associated variable (containing the packed data) is typically of type
+<code>byte</code> or <code>short</code>, whereas the unpacked values are intended to
+be of type <code>int</code>, <code>float</code>, or <code>double</code>. 
+An attribute&textrsquo;s <code>scale_factor</code> and <code>add_offset</code> and
+<code>_FillValue</code>, if any, should all be of the type intended for the
+unpacked data, i.e., <code>int</code>, <code>float</code> or <code>double</code>. 
+</para>
+</unnumberedsubsec>
+<unnumberedsubsec spaces=" "><sectiontitle>Default Handling of Packed Data</sectiontitle>
+<html endspaces=" ">
+<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="766">interoperability</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="767"><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 
+described above.   
+The unpacking component of the <acronym><acronymword>HDF</acronymword></acronym> algorithm (described
+<uref><urefurl>http://www.hdfgroup.org/HDF5/doc/UG/UG_frame10Datasets.html</urefurl><urefdesc spaces=" ">here</urefdesc></uref>) is
+<tex endspaces=" ">
+$$
+\rm
+\hbox{upk} = \hbox{scale\_factor}\times(\hbox{pck} - \hbox{add\_offset})
+$$
+</tex>
+</para><sp value="1" line=" 1"></sp>
+<para><var>upk</var> = <var>scale_factor</var>*(<var>pck</var> - <var>add_offset</var>)&linebreak;
+</para><sp value="1" line=" 1"></sp>
+<ignore>
+NB: HDF packing documentation is hard to follow
+MODIS HDF4 datasets definitely use the ``HDF algorithm''
+However, must discriminate between HDF4 and HDF5 packing.
+HDF4, or at least some HDF4 datasets implement the ``HDF algorithm'',
+aka linear scale_factor and add_offset in other order from netCDF.
+HDF5 only implements D-scaling, aka, decimal-scaling bit-packing.
+D-Scaling uses add_offset (i.e., minimum data value) and scale_factor
+(integer power of 10 by which the add_offset corrected data are divided
+before storage) to control D-scaling.
+
+ at cindex scale-offset compression
+ at cindex scale-offset filter
+ at acronym{HDF} also calls this @dfn{scale-offset compression} and the
+ at dfn{scale-offset filter}.
+</ignore>
+<para>Confusingly, the (incompatible) netCDF and <acronym><acronymword>HDF</acronymword></acronym> algorithms both 
+store their parameters in attributes with the same names
+(<code>scale_factor</code> and <code>add_offset</code>).
+Data packed with one algorithm should never be unpacked with the other;
+doing so will result in incorrect answers.
+Unfortunately, few users are aware that their datasets may be packed,
+and fewer know the details of the packing algorithm employed.
+This is what we in the &textldquo;bizness&textrdquo; call an <dfn>interoperability</dfn> issue
+because it hampers data analysis performed on heterogeneous systems.
+</para>
+<para>As described below, <acronym><acronymword>NCO</acronymword></acronym> automatically unpacks data before
+performing arithmetic.
+This automatic unpacking occurs silently since there is usually no
+reason to bother users with these details. 
+There is as yet no generic way for <acronym><acronymword>NCO</acronymword></acronym> to know which
+packing convention was used, so <acronym><acronymword>NCO</acronymword></acronym> <emph>assumes</emph> the netCDF 
+convention was used. 
+<acronym><acronymword>NCO</acronymword></acronym> uses the same convention for unpacking unless explicitly
+told otherwise with the <samp>--hdf_upk</samp> (also <samp>--hdf_unpack</samp>)
+switch. 
+Until and unless a method of automatically detecting the packing method 
+is devised, it must remain the user&textrsquo;s responsibility to tell
+<acronym><acronymword>NCO</acronymword></acronym> when to use the <acronym><acronymword>HDF</acronymword></acronym> convention instead of the
+netCDF convention to unpack. 
+</para>
+<para>If your data originally came from an <acronym><acronymword>HDF</acronymword></acronym> file (e.g.,
+<acronym><acronymword>NASA</acronymword></acronym> <acronym><acronymword>EOS</acronymword></acronym>) then it was likely packed with the
+<acronym><acronymword>HDF</acronymword></acronym> convention and must be unpacked with the same convention.
+Our recommendation is to only request <acronym><acronymword>HDF</acronymword></acronym> unpacking when you 
+are certain. 
+Most packed datasets encountered by <acronym><acronymword>NCO</acronymword></acronym> will have used the
+netCDF convention.
+Those that were not will hopefully produce noticeably weird values when
+unpacked by the wrong algorithm.
+Before or after panicking, treat this as a clue to re-try your commands
+with the <samp>--hdf_upk</samp> switch.
+See <ref label="ncpdq-netCDF-Permute-Dimensions-Quickly"><xrefnodename>ncpdq netCDF Permute Dimensions Quickly</xrefnodename></ref> for an easy technique
+to unpack data packed with the <acronym><acronymword>HDF</acronymword></acronym> convention, and then
+re-pack it with the netCDF convention.
+</para>
+</unnumberedsubsec>
+<unnumberedsubsec spaces=" "><sectiontitle>Default Handling of Packed Data</sectiontitle>
+<para>All <acronym><acronymword>NCO</acronymword></acronym> arithmetic operators understand packed data.
+The operators automatically unpack any packed variable in the input 
+file which will be arithmetically processed.
+For example, <command>ncra</command> unpacks all record variables, 
+and <command>ncwa</command> unpacks all variable which contain a dimension to 
+be averaged.
+These variables are stored unpacked in the output file.
+</para>
+<para>On the other hand, arithmetic operators do not unpack non-processed
+variables. 
+For example, <command>ncra</command> leaves all non-record variables packed, 
+and <command>ncwa</command> leaves packed all variables lacking an averaged
+dimension.  
+These variables (called fixed variables) are passed unaltered from the
+input to the output file. 
+Hence fixed variables which are packed in input files remain packed in
+output files.
+Completely packing and unpacking files is easily accomplished with
+<command>ncpdq</command> (<pxref label="ncpdq-netCDF-Permute-Dimensions-Quickly"><xrefnodename>ncpdq netCDF Permute Dimensions Quickly</xrefnodename></pxref>).
+Pack and unpack individual variables with <command>ncpdq</command> and the
+<command>ncap2</command> <command>pack()</command> and <command>unpack()</command> functions
+(<pxref label="Methods-and-functions"><xrefnodename>Methods and functions</xrefnodename></pxref>).
+</para>
+<html endspaces=" ">
+<a name="op_typ"></a> <!&textndash; http://nco.sf.net/nco.html#op_typ &textndash;>
+</html>
+</unnumberedsubsec>
+</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="768">operation types</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="769"><code>avg</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="770"><code>sqravg</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="771"><code>avgsqr</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="772"><code>min</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="773"><code>max</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="774"><code>rmssdn</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="775"><code>rms</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="776"><code>ttl</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="777"><code>sqrt</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="778">average</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="779">mean</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="780">total</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="781">minimum</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="782">maximum</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="783">root-mean-square</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="784">standard deviation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="785">variance</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="786"><code>-y <var>op_typ</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="787"><code>--operation <var>op_typ</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="788"><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;
+Long options: <samp>--operation</samp>, <samp>--op_typ</samp>&linebreak;
+</para></cartouche>
+<noindent></noindent>
+<para>The <samp>-y <var>op_typ</var></samp> switch allows specification of many different
+types of operations 
+Set <var>op_typ</var> to the abbreviated key for the corresponding operation:
+</para><table commandarg="code" spaces=" " endspaces=" ">
+<tableentry><tableterm><item spaces=" "><itemformat command="code">avg</itemformat></item>
+</tableterm><tableitem><para>Mean value
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">sqravg</itemformat></item>
+</tableterm><tableitem><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><para>Maximium value
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">min</itemformat></item>
+</tableterm><tableitem><para>Minimium value
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">rms</itemformat></item>
+</tableterm><tableitem><para>Root-mean-square (normalized by <var>N</var>)
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">rmssdn</itemformat></item>
+</tableterm><tableitem><para>Root-mean square (normalized by <var>N-1</var>)
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">sqrt</itemformat></item>
+</tableterm><tableitem><para>Square root of the mean
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">ttl</itemformat></item>
+</tableterm><tableitem><para>Sum of values
+</para></tableitem></tableentry></table>
+<noindent></noindent>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="789">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
+is averaging.
+Hence <acronym><acronymword>NCO</acronymword></acronym> implements the operation type requested with
+<samp>-y</samp> on all non-coordinate variables, not on coordinate variables.  
+When an operation requires a coordinate variable to be reduced in
+rank, i.e., from one dimension to a scalar or from one dimension to
+a degenerate (single value) array, then <acronym><acronymword>NCO</acronymword></acronym> 
+<emph>always averages</emph> the coordinate variable regardless of the
+arithmetic operation type performed on the non-coordinate variables.
+</para>
+<para>The mathematical definition of each arithmetic operation is given below. 
+<xref label="ncwa-netCDF-Weighted-Averager"><xrefnodename>ncwa netCDF Weighted Averager</xrefnodename></xref>, for additional information on
+masks and normalization.
+If an operation type is not specified with <samp>-y</samp> then the operator
+performs an arithmetic average by default.
+Averaging is described first so the terminology for the other operations
+is familiar. 
+</para>
+<para><emph>Note for Info users</emph>: 
+The definition of mathematical operations involving rank reduction
+(e.g., averaging) relies heavily on mathematical expressions which
+cannot be easily represented in Info.
+<emph>See the <uref><urefurl>./nco.pdf</urefurl><urefdesc spaces=" ">printed manual</urefdesc></uref> for much more detailed and
+complete documentation of this subject.</emph>
+</para>
+<tex endspaces=" ">
+The masked, weighted average of a variable $\xxx$ can be generally
+represented as
+$$
+\bar \xxx_{\jjj} = {\sum_{\idx=1}^{\idx=\lmnnbr} \mssflg_{\idx}
+\mskflg_{\idx} \wgt_{\idx} \xxx_{\idx} \over
+\sum_{\idx=1}^{\idx=\lmnnbr} \mssflg_{\idx} \mskflg_{\idx} \wgt_{\idx}}  
+$$
+where $\bar \xxx_{\jjj}$ is the $\jjj$&textrsquo;th element of the output
+hyperslab, $\xxx_{\idx}$ is the $\idx$&textrsquo;th element of the input
+hyperslab, $\mssflg_{\idx}$ is~1 unless $\xxx_{\idx}$ equals the missing  
+value, $\mskflg_{\idx}$ is~1 unless $\xxx_{\idx}$ is masked, and
+$\wgt_{\idx}$ is the weight.  
+This formiddable looking formula represents a simple weighted average
+whose bells and whistles are all explained below. 
+It is not too early to note, however, that when 
+$\mssflg_{\idx} = \mskflg_{\idx} = \wgt_{\idx} = 1$, the 
+generic averaging expression above reduces to a simple arithmetic
+average.  
+Furthermore, $\mskflg_{\idx} = \wgt_{\idx} = 1$ for all operators
+except <command>ncwa</command>.
+These variables are included in the discussion below for completeness,
+and for possible future use in other operators. 
+
+The size $\outnbr$ of the output hyperslab for a given variable is the
+product of all the dimensions of the input variable which are not
+averaged over. 
+The size $\lmnnbr$ of the input hyperslab contributing to each 
+$\bar \xxx_{\jjj}$ is simply the product of the sizes of all dimensions
+which are averaged over (i.e., dimensions specified with <samp>-a</samp>).  
+Thus $\lmnnbr$ is the number of input elements which <emph>potentially</emph> 
+contribute to each output element.
+An input element $\xxx_{\idx}$ contributes to the output element
+$\xxx_{\jjj}$ except in two conditions:  
+<cindex index="cp" spaces=" "><indexterm index="cp">missing values</indexterm></cindex>
+<enumerate first="1" endspaces=" ">
+<listitem spaces=" ">$\xxx_{\idx}$ equals the <var>missing value</var> 
+(<pxref label="Missing-Values"><xrefnodename>Missing Values</xrefnodename></pxref>) for the variable. 
+</listitem><listitem spaces=" ">$\xxx_{\idx}$ is located at a point where the mask condition 
+(<pxref label="Mask-condition"><xrefnodename>Mask condition</xrefnodename></pxref>) is false.
+</listitem></enumerate>
+Points $\xxx_{\idx}$ in either of these two categories do not contribute 
+to $\xxx_{\jjj}$&textmdash;they are ignored.
+We now define these criteria more rigorously.
+
+Each~$\xxx_{\idx}$ has an associated Boolean weight~$\mssflg_{\idx}$
+whose value is~0 or~1 (false or true). 
+The value of~$\mssflg_{\idx}$ is~1 (true) unless $\xxx_{\idx}$ equals
+the <var>missing value</var> (<pxref label="Missing-Values"><xrefnodename>Missing Values</xrefnodename></pxref>) for the variable. 
+Thus, for a variable with no <code>_FillValue</code> attribute,
+$\mssflg_{\idx}$~is always~1.
+All <acronym><acronymword>NCO</acronymword></acronym> arithmetic operators (<command>ncbo</command>,
+<command>ncra</command>, <command>nces</command>, <command>ncflint</command>, <command>ncwa</command>) treat  
+missing values analogously. 
+
+Besides (weighted) averaging, <command>ncwa</command>, <command>ncra</command>, and
+<command>nces</command> also compute some common non-linear operations which may
+be specified with the <samp>-y</samp> switch (<pxref label="Operation-Types"><xrefnodename>Operation Types</xrefnodename></pxref>).
+The other rank-reducing operations are simple variations of the generic
+weighted mean described above.
+The total value of~$\xxx$ (<code>-y ttl</code>) is 
+$$
+\bar \xxx_{\jjj} = \sum_{\idx=1}^{\idx=\lmnnbr} \mssflg_{\idx}
+\mskflg_{\idx} \wgt_{\idx} \xxx_{\idx}  
+$$
+<cindex index="cp" spaces=" "><indexterm index="cp"><code>-N</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp"><code>numerator</code></indexterm></cindex>
+Note that the total is the same as the numerator of the mean
+of~$\xxx$, and may also be obtained in <command>ncwa</command> by using the
+<samp>-N</samp> switch (<pxref label="ncwa-netCDF-Weighted-Averager"><xrefnodename>ncwa netCDF Weighted Averager</xrefnodename></pxref>).
+
+The minimum value of~$\xxx$ (<code>-y min</code>) is 
+$$
+\bar \xxx_{\jjj} = \min [ \mssflg_{1} \mskflg_{1} \wgt_{1} \xxx_{1},
+\mssflg_{2} \mskflg_{2} \wgt_{2} \xxx_{2}, \ldots, \mssflg_{\lmnnbr} 
+\mskflg_{\lmnnbr} \wgt_{\lmnnbr} \xxx_{\lmnnbr} ] 
+$$
+Analogously, the maximum value of~$\xxx$ (<code>-y max</code>) is 
+$$
+\bar \xxx_{\jjj} = \max [ \mssflg_{1} \mskflg_{1} \wgt_{1} \xxx_{1},
+\mssflg_{2} \mskflg_{2} \wgt_{2} \xxx_{2}, \ldots, \mssflg_{\lmnnbr} 
+\mskflg_{\lmnnbr} \wgt_{\lmnnbr} \xxx_{\lmnnbr} ] 
+$$
+Thus the minima and maxima are determined after any weights are applied.
+
+The square of the mean value of~$\xxx$ (<code>-y sqravg</code>) is 
+$$
+\bar \xxx_{\jjj} = \left( {\sum_{\idx=1}^{\idx=\lmnnbr}
+\mssflg_{\idx} \mskflg_{\idx} \wgt_{\idx} \xxx_{\idx} \over
+\sum_{\idx=1}^{\idx=\lmnnbr} \mssflg_{\idx} \mskflg_{\idx} \wgt_{\idx}} 
+\right)^{2}    
+$$
+The mean of the sum of squares of~$\xxx$ (<code>-y avgsqr</code>) is 
+$$
+\bar \xxx_{\jjj} = {\sum_{\idx=1}^{\idx=\lmnnbr} \mssflg_{\idx}
+\mskflg_{\idx} \wgt_{\idx} \xxx^{2}_{\idx} \over
+\sum_{\idx=1}^{\idx=\lmnnbr} \mssflg_{\idx} \mskflg_{\idx} \wgt_{\idx}} 
+$$
+If $\xxx$ represents a deviation from the mean of another variable,
+$\xxx_{\idx} = \yyy_{\idx} - \bar{\yyy}$ (possibly created by
+<command>ncbo</command> in a previous step), then applying <code>avgsqr</code> to
+$\xxx$ computes the approximate variance of $\yyy$. 
+Computing the true variance of~$\yyy$ requires subtracting~1 from the
+denominator, discussed below.
+For a large sample size however, the two results will be nearly
+indistinguishable. 
+
+The root mean square of~$\xxx$ (<code>-y rms</code>) is 
+$$
+\bar \xxx_{\jjj} = \sqrt{ {\sum_{\idx=1}^{\idx=\lmnnbr} \mssflg_{\idx}
+\mskflg_{\idx} \wgt_{\idx} x^{2}_{\idx} \over
+\sum_{\idx=1}^{\idx=\lmnnbr} \mssflg_{\idx} \mskflg_{\idx} \wgt_{\idx}}} 
+$$
+Thus <code>rms</code> simply computes the squareroot of the quantity computed
+by <code>avgsqr</code>.
+
+The root mean square of~$\xxx$ with standard-deviation-like
+normalization (<code>-y rmssdn</code>) is implemented as follows.
+When weights are not specified, this function is the same as the root
+mean square of~$\xxx$ except one is subtracted from the sum in the
+denominator 
+$$
+\bar \xxx_{\jjj} = \sqrt{ {\sum_{\idx=1}^{\idx=\lmnnbr} \mssflg_{\idx} 
+\mskflg_{\idx} x^{2}_{\idx} \over -1 + \sum_{\idx=1}^{\idx=\lmnnbr}
+\mssflg_{\idx} \mskflg_{\idx}} } 
+$$
+If $\xxx$ represents the deviation from the mean of another variable, 
+$\xxx_{\idx} = \yyy_{\idx} - \bar{\yyy}$, then applying <code>rmssdn</code> to
+$\xxx$ computes the standard deviation of~$\yyy$.
+In this case the $-1$ in the denominator compensates for the degree of
+freedom already used in computing $\bar{\yyy}$ in the numerator.
+Consult a statistics book for more details.
+
+When weights are specified it is unclear how to compensate for this
+extra degree of freedom.
+Weighting the numerator and denominator of the above by $\wgt_{\idx}$
+and subtracting one from the denominator is only appropriate when all
+the weights are~1.0.
+When the weights are arbitrary (e.g., Gaussian weights), subtracting one 
+from the sum in the denominator does not necessarily remove one degree
+of freedom. 
+Therefore when <code>-y rmssdn</code> is requested and weights are specified,
+<command>ncwa</command> actually implements the <code>rms</code> procedure.
+<command>nces</command> and <command>ncra</command>, which do not allow weights to be
+specified, always implement the <code>rmssdn</code> procedure when asked.
+
+<!-- c 20130827: Fedora Core 19 (FC19) broke here with "./nco.texi:6394: Missing dollarsign inserted." -->
+<!-- c Ubuntu always built nco.texi fine -->
+<!-- c Adding a dollarsign character right here breaks Ubuntu builds too -->
+<!-- c Hence I must carefully spell-out the word dollarsign instead -->
+<!-- c 20130829: Making many smaller TeX environments does not solve problem -->
+<!-- c 20130910: Using latest texinfo.tex from GNU does not solve problem -->
+<!-- c 20130910: Karl Berry solved problem by fixing bug in texinfo.tex -->
+<!-- c Bug was triggered in Fedora by apostrophe in "User's Guide" (manual title) -->
+<!-- c Bug not present in texinfo.tex version 2008-04-18.10 (used by Ubuntu 13.04) -->
+<!-- c Bug     present in texinfo.tex version 2013-02-01.11 (used by FC19) -->
+<!-- c Bug just fixed  in texinfo.tex version 2013-09-11 (committed by Karl) -->
+<!-- c nco/autobld/texinfo.tex now contains fixed version -->
+<!-- c Breakage always occurs near here -->
+The square root of the mean of~$\xxx$ (<code>-y sqrt</code>) is 
+$$
+\bar \xxx_{\jjj} = \sqrt{ {\sum_{\idx=1}^{\idx=\lmnnbr} \mssflg_{\idx}
+\mskflg_{\idx} \wgt_{\idx} \xxx_{\idx} \over
+\sum_{\idx=1}^{\idx=\lmnnbr} \mssflg_{\idx} \mskflg_{\idx} \wgt_{\idx}}}  
+$$
+</tex>
+<para>The definitions of some of these operations are not universally useful.
+Mostly they were chosen to facilitate standard statistical
+computations within the <acronym><acronymword>NCO</acronymword></acronym> framework.
+We are open to redefining and or adding to the above. 
+If you are interested in having other statistical quantities
+defined in <acronym><acronymword>NCO</acronymword></acronym> please contact the <acronym><acronymword>NCO</acronymword></acronym> project
+(<pxref label="Help-Requests-and-Bug-Reports"><xrefnodename>Help Requests and Bug Reports</xrefnodename></pxref>).  
+</para>
+<noindent></noindent>
+<para>EXAMPLES
+</para>
+<html endspaces=" ">
+<a name="min"></a> <!&textndash; http://nco.sf.net/nco.html#min &textndash;>
+<a name="max"></a> <!&textndash; http://nco.sf.net/nco.html#max &textndash;>
+<a name="rms"></a> <!&textndash; http://nco.sf.net/nco.html#rms &textndash;>
+</html>
+<noindent></noindent>
+<para>Suppose you wish to examine the variable <code>prs_sfc(time,lat,lon)</code> 
+which contains a time series of the surface pressure as a function of
+latitude and longitude.
+Find the minimium value of <code>prs_sfc</code> over all dimensions:
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncwa -y min -v prs_sfc in.nc foo.nc 
+</pre></example>
+<noindent></noindent>
+<para>Find the maximum value of <code>prs_sfc</code> at each time interval for each
+latitude: 
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncwa -y max -v prs_sfc -a lon in.nc foo.nc
+</pre></example>
+<noindent></noindent>
+<para>Find the root-mean-square value of the time-series of <code>prs_sfc</code> at
+every gridpoint:
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncra -y rms -v prs_sfc in.nc foo.nc
+ncwa -y rms -v prs_sfc -a time in.nc foo.nc
+</pre></example>
+<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="790">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
+<command>ncwa</command> removes the <code>time</code> dimension (unless <samp>-b</samp> is
+given).
+</para>
+<noindent></noindent>
+<para>These operations work as expected in multi-file operators.
+Suppose that <code>prs_sfc</code> is stored in multiple timesteps per file
+across multiple files, say <file>jan.nc</file>, <file>feb.nc</file>,
+<file>march.nc</file>.  
+We can now find the three month maximium surface pressure at every point.
+</para><example endspaces=" ">
+<pre xml:space="preserve">nces -y max -v prs_sfc jan.nc feb.nc march.nc out.nc
+</pre></example>
+
+<html endspaces=" ">
+<a name="standard_deviation"></a> <!&textndash; http://nco.sf.net/nco.html#standard_deviation &textndash;>
+<a name="stddvn"></a> <!&textndash; http://nco.sf.net/nco.html#stddvn &textndash;>
+<a name="sdn"></a> <!&textndash; http://nco.sf.net/nco.html#sdn &textndash;>
+<a name="sdv"></a> <!&textndash; http://nco.sf.net/nco.html#sdv &textndash;>
+<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="791">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.
+The procedure to compute the temporal standard deviation of the surface
+pressure at all points in a single file <file>in.nc</file> involves three
+steps. 
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncwa -O -v prs_sfc -a time in.nc out.nc
+ncbo -O -v prs_sfc in.nc out.nc out.nc 
+ncra -O -y rmssdn out.nc out.nc
+</pre></example>
+<para>First construct the temporal mean of <code>prs_sfc</code> in the file
+<file>out.nc</file>.
+Next overwrite <file>out.nc</file> with the anomaly (deviation from the mean).
+Finally overwrite <file>out.nc</file> with the root-mean-square of itself. 
+Note the use of <samp>-y rmssdn</samp> (rather than <samp>-y rms</samp>) in the
+final step. 
+This ensures the standard deviation is correctly normalized by one fewer
+than the number of time samples.
+The procedure to compute the variance is identical except for the use of 
+<samp>-y var</samp> instead of <samp>-y rmssdn</samp> in the final step.
+</para>
+<para><command>ncap2</command> can also compute statistics like standard deviations.
+Brute-force implementation of formulae is one option, e.g.,
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncap2 -s 'prs_sfc_sdn=sqrt((prs_sfc-prs_sfc.avg($time)^2).total($time)/($time.size-1))'
+      in.nc out.nc
+</pre></example>
+<para>The operation may, of course, be broken into multiple steps in order  
+to archive intermediate quantities, such as the time-anomalies
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncap2 -s 'prs_sfc_anm=prs_sfc-prs_sfc.avg($time)' \
+      -s 'prs_sfc_sdn=sqrt((prs_sfc_anm^2).total($time)/($time.size-1))' \
+      in.nc out.nc
+</pre></example>
+
+<para><command>ncap2</command> supports intrinsic standard deviation functions
+(<pxref label="Operation-Types"><xrefnodename>Operation Types</xrefnodename></pxref>) which simplify the above expression to
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncap2 -s 'prs_sfc_sdn=(prs_sfc-prs_sfc.avg($time)).rmssdn($time)' in.nc out.nc
+</pre></example>
+<para>These instrinsic functions compute the answer quickly and concisely.
+</para>
+<para>The procedure to compute the spatial standard deviation of a field
+in a single file <file>in.nc</file> involves three steps.
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncwa -O -v prs_sfc,gw -a lat,lon -w gw in.nc out.nc
+ncbo -O -v prs_sfc,gw in.nc out.nc out.nc
+ncwa -O -y rmssdn -v prs_sfc -a lat,lon -w gw out.nc out.nc
+</pre></example>
+<para>First the appropriately weighted (with <samp>-w gw</samp>) spatial mean values
+are written to the output file.  
+This example includes the use of a weighted variable specified with
+<samp>-w gw</samp>. 
+When using weights to compute standard deviations one must remember to
+include the weights in the initial output files so that they may be used
+again in the final step. 
+The initial output file is then overwritten with the gridpoint
+deviations from the spatial mean.
+Finally the root-mean-square of the appropriately weighted spatial
+deviations is taken.  
+</para>
+<para>The <command>ncap2</command> solution to the spatially-weighted standard
+deviation problem is 
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncap2 -s 'prs_sfc_sdn=(prs_sfc*gw-prs_sfc*gw.avg($lat,$lon)).rmssdn($lat,$lon)' \
+      in.nc out.nc
+</pre></example>
+<para>Be sure to multiply the variable by the weight prior to computing the
+the anomalies and the standard deviation.
+</para>
+<para>The procedure to compute the standard deviation of a time-series across
+multiple files involves one extra step since all the input must first be
+collected into one file. 
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncrcat -O -v tpt in.nc in.nc foo1.nc
+ncwa -O -a time foo1.nc foo2.nc
+ncbo -O -v tpt foo1.nc foo2.nc foo3.nc
+ncra -O -y rmssdn foo3.nc out.nc
+</pre></example>
+<para>The first step assembles all the data into a single file.
+Though this may consume a lot of temporary disk space, it is more or
+less required by the <command>ncbo</command> operation in the third step.
+</para>
+<html endspaces=" ">
+<a name="typ_cnv"></a> <!&textndash; http://nco.sf.net/nco.html#typ_cnv &textndash;>
+</html>
+</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="792">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; 
+Short options: None (it&textrsquo;s <emph>automatic</emph>)&linebreak;
+Availability (manual type conversion): <command>nces</command>, <command>ncra</command>, <command>ncwa</command>&linebreak; 
+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="793">promotion</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="794">demotion</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="795">automatic type conversion</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="796">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).  
+Type conversion always <dfn>promotes</dfn> or <dfn>demotes</dfn> the range and/or 
+precision of the values a variable can hold.
+Type conversion is automatic when the language carries out this
+promotion according to an internal set of rules without explicit user 
+intervention. 
+In contrast, manual type conversion refers to explicit user commands to
+change the type of a variable or attribute.
+Most type conversion happens automatically, yet there are situations in
+which manual type conversion is advantageous.
+</para>
+<menu endspaces=" ">
+<menuentry leadingtext="* "><menunode separator="::">Automatic type conversion</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Promoting Single-precision to Double</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Manual type conversion</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry></menu>
+
+<node name="Automatic-type-conversion" spaces=" "><nodename>Automatic type conversion</nodename><nodenext spaces=" ">Promoting Single-precision to Double</nodenext><nodeprev spaces=" ">Type Conversion</nodeprev><nodeup spaces=" ">Type Conversion</nodeup></node>
+<subsection spaces=" "><sectiontitle>Automatic type conversion</sectiontitle>
+
+<para>There are at least two reasons to avoid type conversions.
+First, type conversions are expensive since they require creating
+(temporary) buffers and casting each element of a variable from its 
+storage type to some other type and then, often, converting it back.
+Second, a dataset&textrsquo;s creator perhaps had a good reason for storing 
+data as, say, <code>NC_FLOAT</code> rather than <code>NC_DOUBLE</code>.  
+In a scientific framework there is no reason to store data with more
+precision than the observations merit.
+Normally this is single-precision, which guarantees 6&textndash;9 digits of
+precision. 
+Reasons to engage in type conversion include avoiding rounding 
+errors and out-of-range limitations of less-precise types.
+This is the case with most integers.
+Thus <acronym><acronymword>NCO</acronymword></acronym> defaults to automatically promote integer types to
+floating point when performing lengthy arithmetic, yet <acronym><acronymword>NCO</acronymword></acronym>
+defaults to not promoting single to double-precision floats.
+</para>
+<para>Before discussing the more subtle floating point issues, we first
+examine integer promotion. 
+We will show how following parsimonious conversion rules dogmatically
+can cause problems, and what <acronym><acronymword>NCO</acronymword></acronym> does about that. 
+That said, there are situations in which implicit conversion of
+single- to double-precision is also warranted.
+Understanding the narrowness of these situations takes time, and we
+hope the reader appreciates the following detailed discussion.
+</para>
+<para>Consider the average of the two <code>NC_SHORT</code>s <code>17000s</code> and
+<code>17000s</code>.
+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 
+<footnote spaces="\n"><set name="flg" line=" flg"></set>
+<tex endspaces=" ">
+$32767 = 2^{15}-1$
+<clear name="flg" line=" flg"></clear>
+</tex>
+<para><math>32767 = 2^15-1</math>
+<clear name="flg" line=" flg"></clear>
+</para></footnote>.
+There are valid reasons for expecting this operation to succeed and 
+the <acronym><acronymword>NCO</acronymword></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><acronymword>NCO</acronymword></acronym> arithmetic operators will perform automatic type
+conversion on integers when all the following conditions are met
+<footnote><para>Operators began performing automatic type conversions before
+arithmetic in <acronym><acronymword>NCO</acronymword></acronym> <w>version 1.2</w>, August, 2000. 
+Previous versions never performed unnecessary type conversion for
+arithmetic.</para></footnote>: 
+</para><enumerate first="1" endspaces=" ">
+<listitem spaces=" "><para>The requested operation is arithmetic.
+This is why type conversion is limited to the operators <command>ncap2</command>, 
+<command>ncbo</command>, <command>nces</command>, <command>ncflint</command>, <command>ncra</command>, and
+<command>ncwa</command>.   
+</para></listitem><listitem spaces=" "><para>The arithmetic operation could benefit from type conversion.
+Operations that could benefit include averaging, summation, or any
+"hard" arithmetic that could overflow or underflow.  
+Larger representable sums help avoid overflow, and more precision
+helps to avoid underflow.
+Type conversion does not benefit searching for minima and maxima
+(<samp>-y min</samp>, or <samp>-y max</samp>).
+</para></listitem><listitem spaces=" "><para>The variable on disk is of type <code>NC_BYTE</code>, <code>NC_CHAR</code>,
+<code>NC_SHORT</code>, or <code>NC_INT</code>.
+Type <code>NC_DOUBLE</code> is not promoted because there is no type of
+higher precision.
+Conversion of type <code>NC_FLOAT</code> is discussed in detail below. 
+When it occurs, it follows the same procedure (promotion then
+arithmetic then demotion) as conversion of integer types.
+</para></listitem></enumerate>
+
+<para>When these criteria are all met, the operator promotes the variable in
+question to type <code>NC_DOUBLE</code>, performs all the arithmetic
+operations, casts the <code>NC_DOUBLE</code> type back to the original type,
+and finally writes the result to disk. 
+The result written to disk may not be what you expect, because of
+incommensurate ranges represented by different types, and because of
+(lack of) rounding.
+First, continuing the above example, the average (e.g., <samp>-y avg</samp>)
+of <code>17000s</code> and <code>17000s</code> is written to disk as <code>17000s</code>. 
+The type conversion feature of <acronym><acronymword>NCO</acronymword></acronym> makes this possible since
+the arithmetic and intermediate values are stored as <code>NC_DOUBLE</code>s,
+i.e., <code>34000.0d</code> and only the final result must be represented
+as an <code>NC_SHORT</code>.
+Without the type conversion feature of <acronym><acronymword>NCO</acronymword></acronym>, the average would
+have been garbage (albeit predictable garbage near <code>-15768s</code>). 
+Similarly, the total (e.g., <samp>-y ttl</samp>) of <code>17000s</code> and
+<code>17000s</code> written to disk is garbage (actually <code>-31536s</code>) since 
+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="797"><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
+<code>NC_SHORT</code>). 
+<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="798">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>.
+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
+<code>1.8d</code> to the same value, <code>1s</code>. 
+Clearly, truncation does not round floating point numbers to the nearest
+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="799">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>.
+This led to <acronym><acronymword>NCO</acronymword></acronym> adopting rounding functions for demotion.
+Rounding functions eliminated the small bias in the packing algorithm.
+</para>
+<findex index="fn" spaces=" "><indexterm index="fn" number="12" mergedindex="cp"><code>lround()</code>.</indexterm></findex>
+<para>From February, 2012 through March, 2013 (versions 4.0.9&textndash;4.2.6),
+<acronym><acronymword>NCO</acronymword></acronym> employed the <w>C library</w> family of rounding functions,
+<code>lround()</code>. 
+These functions round <var>x</var> to the nearest integer, halfway cases away
+from zero.
+The problem with <code>lround()</code> is that it always rounds real values
+ending in <code>.5</code> away from zero.
+This rounds, for example, <code>1.5d</code> and <code>2.5d</code> to <code>1s</code>
+and <code>2s</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="800"><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 
+rounding direction.
+Halfway cases are rounded to the nearest even integer.
+This rounds, for example, both <code>1.5d</code> and <code>2.5d</code> to the same
+value, <code>2s</code>, as recommended by the <acronym><acronymword>IEEE</acronymword></acronym>.
+This rounding is symmetric: up half the time, down half the time.
+This is the current and hopefully final demotion algorithm employed by  
+<acronym><acronymword>NCO</acronymword></acronym>.
+</para>
+<para>Hence because of automatic conversion, <acronym><acronymword>NCO</acronymword></acronym> will compute the
+average of <code>2s</code> and <code>3s</code> in double-precision arithmetic as 
+<math>(<code>2.0d</code> + <code>3.0d</code>)/<code>2.0d</code>) = <code>2.5d</code></math>.
+It then demotes this intermediate result back to <code>NC_SHORT</code> and
+stores it on disk as  
+<math><code>trunc(2.5d)</code> = <code>2s</code></math> (versions up to 4.0.8), 
+<math><code>lround(2.5d)</code> = <code>3s</code></math> (versions 4.0.9&textndash;4.2.6), and
+<math><code>lrint(2.5d)</code> = <code>2s</code></math> (versions 4.3.0 and later).
+</para>
+<html endspaces=" ">
+<a name="sp_dp"></a> <!&textndash; http://nco.sf.net/nco.html#sp_dp &textndash;>
+<a name="dbl"></a> <!&textndash; http://nco.sf.net/nco.html#dbl &textndash;>
+</html>
+</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="801">promotion</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="802">implicit conversion</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="803"><code>--dbl</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="804"><code>--rth_dbl</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="805"><code>--flt</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="806"><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
+number of operations.
+Single-precision (four-byte) numbers contain about seven significant
+figures, while double-precision contain about sixteen.
+More, err, precisely, the <acronym><acronymword>IEEE</acronymword></acronym> single-precision representation
+gives from <w>6 to 9</w> significant decimal digits precision
+<footnote><para>According to Wikipedia&textrsquo;s summary of <acronym><acronymword>IEEE</acronymword></acronym> standard
+754, &textldquo;If a decimal string with at most 6 significant digits is
+converted to IEEE 754 single-precision and then converted back to the
+same number of significant decimal, then the final string should match
+the original; and if an IEEE 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&textrdquo;.</para></footnote>.
+And the <acronym><acronymword>IEEE</acronymword></acronym> double-precision representation
+gives from <w>15 to 17</w> significant decimal digits precision
+<footnote><para>According to Wikipedia&textrsquo;s summary of <acronym><acronymword>IEEE</acronymword></acronym> standard
+754, &textldquo;If a decimal string with at most 15 significant digits is
+converted to IEEE 754 double-precision representation and then converted
+back to a string with the same number of significant digits, then the
+final string should match the original; and if an IEEE 754 double
+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&textrdquo;.</para></footnote>. 
+Hence double-precision numbers represent about nine digits more
+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="807">C language</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="808">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,
+by default, performed only when necessary. 
+All operands in an operation are converted to the most precise type
+involved the operation before the arithmetic operation.
+Expressions which involve only single-precision numbers are computed
+entirely in single-precision.
+Expressions involving mixed precision types are computed in the type
+of higher precision.
+<acronym><acronymword>NCO</acronymword></acronym> by default employs the Fortan Convention for promotion.
+</para></listitem><listitem spaces=" "><para>Aggressive, aka C Convention
+The <w>C language</w> is by default much more aggressive (and thus
+wasteful) than Fortran, and will always implicitly convert single- 
+to double-precision numbers for no good reason.
+All real-number standard <w>C library</w> functions are double-precision, 
+and <w>C programmers</w> must take extra steps to only utilize single
+precision arithmetic.
+The high level interpreted data analysis languages <acronym><acronymword>IDL</acronymword></acronym>,
+Matlab, and <acronym><acronymword>NCL</acronymword></acronym> all adopt the <w>C Convention</w>.
+</para></listitem></enumerate>
+
+<para><acronym><acronymword>NCO</acronymword></acronym> does not automatically promote <code>NC_FLOAT</code> because, in
+our judgement, the performance penalty of always doing so would outweigh
+the potential benefits. 
+The now-classic text &textldquo;Numerical Recipes <w>in C</w>&textrdquo; discusses this point
+under the section &textldquo;Implicit Conversion of Float to Double&textrdquo;
+<footnote><para>See <w>page 21</w> in Section 1.2 of the First edition for this
+gem:
+</para><quotation endspaces=" ">
+<para>One does not need much experience in scientific computing to recognize
+that the implicit conversion rules are, in fact, sheer madness!
+In effect, they make it impossible to write efficient numerical
+programs. 
+</para></quotation>
+</footnote>.
+That said, such promotion is warranted in some circumstances.
+</para>
+<para>For example, rounding errors can accumulate to worrisome levels during
+arithmetic performed on large arrays of single-precision floats. 
+This use-case occurs often in geoscientific studies of climate where
+thousands-to-millions of gridpoints may contribute to a single average.
+If the inputs are all single-precision, then so should be the output.
+However the intermediate results where running sums are accumulated may  
+suffer from too much rounding or from underflow unless computed in
+double-precision. 
+</para>
+<para>The order of operations matters to floating point math even when the
+analytic expressions are equal. 
+Cautious users feel disquieted when results from equally valid analyses
+differ in the final bits instead of agreeing bit-for-bit.
+For example, averaging arrays in multiple stages produces different
+answers than averaging them in one step. 
+This is easily seen in the computation of ensemble averages by two
+different methods.
+The <acronym><acronymword>NCO</acronymword></acronym> test file <file>in.nc</file> contains single- and
+double-precision representations of the same temperature timeseries as 
+<code>tpt_flt</code> and <code>tpt_dbl</code>.  
+Pretend each datapoint in this timeseries represents a monthly-mean
+temperature. 
+We will mimic the derivation of a fifteen-year ensemble-mean January
+temperature by concatenating the input file five times, and then
+averaging the datapoints representing January two different ways.
+In <w>Method 1</w> we derive the 15-year ensemble January average in two 
+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
+<footnote><para>For example, the <acronym><acronymword>CMIP5</acronymword></acronym> archive tends to distribute
+monthly average timeseries in 50-year chunks.</para></footnote>.
+In <w>Method 2</w> we obtain 15-year ensemble January average in a single
+step, by averaging all 15 Januaries at one time:
+</para><example endspaces=" ">
+<pre xml:space="preserve"># tpt_flt and tpt_dbl are identical except for precision
+ncks --cdl -C -v tpt_flt,tpt_dbl ~/nco/data/in.nc
+# tpt_dbl = 273.1, 273.2, 273.3, 273.4, 273.5, 273.6, 273.7, 273.8, 273.9, 274
+# tpt_flt = 273.1, 273.2, 273.3, 273.4, 273.5, 273.6, 273.7, 273.8, 273.9, 274
+# Create file with five "ten-month years" (i.e., 50 timesteps) of temperature data
+ncrcat -O -v tpt_flt,tpt_dbl -p ~/nco/data in.nc in.nc in.nc in.nc in.nc ~/foo.nc
+# Average 1st five "Januaries" (elements 1, 11, 21, 31, 41)
+ncra --flt -O -F -d time,1,,10 ~/foo.nc ~/foo_avg1.nc
+# Average 2nd five "Januaries" (elements 2, 12, 22, 32, 42)
+ncra --flt -O -F -d time,2,,10 ~/foo.nc ~/foo_avg2.nc
+# Average 3rd five "Januaries" (elements 3, 13, 23, 33, 43)
+ncra --flt -O -F -d time,3,,10 ~/foo.nc ~/foo_avg3.nc
+# Method 1: Obtain ensemble January average by averaging the averages
+ncra --flt -O ~/foo_avg1.nc ~/foo_avg2.nc ~/foo_avg3.nc ~/foo_avg_mth1.nc
+# Method 2: Obtain ensemble January average by averaging the raw data
+# Employ ncra's "subcycle" feature (http://nco.sf.net/nco.html#ssc)
+ncra --flt -O -F -d time,1,,10,3 ~/foo.nc ~/foo_avg_mth2.nc
+# Difference the two methods
+ncbo -O ~/foo_avg_mth1.nc ~/foo_avg_mth2.nc ~/foo_avg_dff.nc
+ncks --cdl ~/foo_avg_dff.nc
+# tpt_dbl = 5.6843418860808e-14 ;
+# tpt_flt = -3.051758e-05 ;
+</pre></example>
+<para>Although the two methods are arithmetically equivalent, they produce
+slightly different answers due to the different order of operations.
+Moreover, it appears at first glance that the single-precision
+answers suffer from greater error than the double-precision answers.
+In fact both precisions suffer from non-zero rounding errors.
+The answers differ negligibly to machine precision, which is about 
+seven significant figures for single precision floats (<code>tpt_flt</code>),
+and sixteen significant figures for double precision (<code>tpt_dbl</code>).
+The input precision determines the answer precision.
+</para>
+<para>IEEE arithmetic guarantees that two methods will produce bit-for-bit
+identical answers only if they compute the same operations in the same  
+order.  
+Bit-for-bit identical answers may also occur by happenstance when 
+rounding errors exactly compensate one another.
+This is demonstrated by repeating the example above with the
+<samp>--dbl</samp> (or <samp>--rth_dbl</samp> for clarity) option which forces
+conversion of single-precision numbers to double-precision prior to
+arithmetic. 
+Now <command>ncra</command> will treat the first value of <code>tpt_flt</code>,
+<code>273.1000f</code>, as <code>273.1000000000000d</code>. 
+Arithmetic on <code>tpt_flt</code> then proceeds in double-precision until the
+final answer, which is converted back to single-precision for final
+storage. 
+</para><example endspaces=" ">
+<pre xml:space="preserve"># Average 1st five "Januaries" (elements 1, 11, 21, 31, 41)
+ncra --dbl -O -F -d time,1,,10 ~/foo.nc ~/foo_avg1.nc
+# Average 2nd five "Januaries" (elements 2, 12, 22, 32, 42)
+ncra --dbl -O -F -d time,2,,10 ~/foo.nc ~/foo_avg2.nc
+# Average 3rd five "Januaries" (elements 3, 13, 23, 33, 43)
+ncra --dbl -O -F -d time,3,,10 ~/foo.nc ~/foo_avg3.nc
+# Method 1: Obtain ensemble January average by averaging the averages
+ncra --dbl -O ~/foo_avg1.nc ~/foo_avg2.nc ~/foo_avg3.nc ~/foo_avg_mth1.nc
+# Method 2: Obtain ensemble January average by averaging the raw data
+# Employ ncra's "subcycle" feature (http://nco.sf.net/nco.html#ssc)
+ncra --dbl -O -F -d time,1,,10,3 ~/foo.nc ~/foo_avg_mth2.nc
+# Difference the two methods
+ncbo -O ~/foo_avg_mth1.nc ~/foo_avg_mth2.nc ~/foo_avg_dff.nc
+# Show differences
+ncks --cdl ~/foo_avg_dff.nc
+# tpt_dbl = 5.6843418860808e-14 ;
+# tpt_flt = 0 ;
+</pre></example>
+<para>The <samp>--dbl</samp> switch has no effect on the results computed from
+double-precision inputs.
+But now the two methods produce bit-for-bit identical results from the
+single-precision inputs!
+This is due to the happenstance of rounding along with the effects of 
+the <samp>--dbl</samp> switch.
+The <samp>--flt</samp> and <samp>--rth_flt</samp> switches are provided for
+symmetry.
+They enforce the traditional <acronym><acronymword>NCO</acronymword></acronym> and Fortran convention of
+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
+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
+twice the memory of single-precision arithmetic. 
+The primary advantage is that rounding errors in double-precision are 
+much less likely to accumulate to values near the precision of the 
+underlying geophysical variable. 
+</para>
+<para>For example, if we know temperature to five significant digits, then a
+rounding error of 1-bit could affect the least precise digit of
+temperature after 1,000&textndash;10,000 consecutive one-sided rounding
+errors under the worst possible scenario.
+Many geophysical grids have tens-of-thousands to millions of points
+that must be summed prior to normalization to compute an average.
+It is possible for single-precision rouding errors to accumulate and
+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="809"><acronym><acronymword>TREFHT</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="810"><acronym><acronymword>CAM3</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="811"><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
+(stored in <code>TREFHT</code>) produced by the <acronym><acronymword>CAM3</acronymword></acronym> general
+circulation model (<acronym><acronymword>GCM</acronymword></acronym>) run and stored at <w>1.9 by 2.5</w>
+degrees resolution. 
+This requires <w>94 latitudes</w> and <w>144 longitudes</w>, or <math>13,824</math> 
+total surface gridpoints, a typical GCM resolution these days.
+These input characteristics are provided only to show the context
+to the interested reader, equivalent results would be found in 
+statistics of any dataset of comparable size.
+Models often represent Earth on a spherical grid where global averages 
+must be created by weighting each gridcell by its latitude-dependent
+weight (i.e., the Gaussian weight stored in <code>gw</code>), or by the
+surface area of each contributing gridpoint (stored in <code>area</code>).
+</para>
+<para>Like many geophysical models and most <acronym><acronymword>GCM</acronymword></acronym>s, <acronym><acronymword>CAM3</acronymword></acronym>
+runs completely in double-precision yet stores its archival output in
+single-precision to save space.
+In practice such models usually save multi-dimensional prognostic and
+diagnostic fields (like <code>TREFHT(lat,lon)</code> and <code>area(lat,lon)</code>)
+as single-precision, while saving all one-dimensional coordinates and
+weights (here <code>lat</code>, <code>lon</code>, and <code>gw(lon)</code>) as
+double-precision.  
+To obtain pure double-precision arithmetic <emph>and</emph> storage of the 
+globla mean temperature, we first create and store double-precision
+versions of the single-precision fields:
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncap2 -O -s 'TREFHT_dbl=double(TREFHT);area_dbl=double(area)' in.nc in.nc
+</pre></example>
+<para>The single- and double-precision temperatures may each be averaged
+globally using four permutations for the precision of the weight
+and of the intermediate arithmetic representation:
+</para><enumerate first="1" endspaces=" ">
+<listitem spaces=" "><para>Single-precision weight (<code>area</code>), single-precision arithmetic
+</para></listitem><listitem spaces=" "><para>Double-precision weight (<code>gw</code>),   single-precision arithmetic
+</para></listitem><listitem spaces=" "><para>Single-precision weight (<code>area</code>), double-precision arithmetic
+</para></listitem><listitem spaces=" "><para>Double-precision weight (<code>gw</code>),   double-precision arithmetic
+</para></listitem></enumerate>
+<example endspaces=" ">
+<pre xml:space="preserve"># NB: Values below are printed with C-format %5.6f using
+# ncks -H -C -s '%5.6f' -v TREFHT,TREFHT_dbl out.nc
+# Single-precision weight (area), single-precision arithmetic
+ncwa --flt -O -a lat,lon -w area in.nc out.nc
+# TREFHT     = 289.246735 
+# TREFHT_dbl = 289.239964
+# Double-precision weight (gw),   single-precision arithmetic
+ncwa --flt -O -a lat,lon -w gw   in.nc out.nc
+# TREFHT     = 289.226135
+# TREFHT_dbl = 289.239964
+# Single-precision weight (area), double-precision arithmetic
+ncwa --dbl -O -a lat,lon -w area in.nc out.nc
+# TREFHT     = 289.239960
+# TREFHT_dbl = 289.239964
+# Double-precision weight (gw),   double-precision arithmetic
+ncwa --dbl -O -a lat,lon -w gw   in.nc out.nc
+# TREFHT     = 289.239960
+# TREFHT_dbl = 289.239964
+</pre></example>
+<para>First note that the <code>TREFHT_dbl</code> average never changes because 
+<code>TREFHT_dbl(lat,lon)</code> is double-precision in the input file.
+As described above, <acronym><acronymword>NCO</acronymword></acronym> automatically converts all operands
+involving to the highest precision involved in the operation.
+So specifying <samp>--dbl</samp> is redundant for double-precision inputs.
+</para>
+<para>Second, the single-precision arithmetic averages of the single-precision
+input <code>TREFHT</code> differ by <math>289.246735 - 289.226135 = 0.0206</math>
+from eachother, and, more importantly, by as much as 
+<math>289.239964 - 289.226135 = 0.013829</math> from the correct
+(double-precision) answer.
+These averages differ in the fifth digit, i.e., they agree only to four
+significant figures!
+Given that climate scientists are concerned about global temperature
+variations of a tenth of a degree or less, this difference is large.
+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="812">rounding</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="813">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 
+weights.  
+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="814">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.
+In other words, the expectation value of a series of <acronym><acronymword>IEEE</acronymword></acronym>
+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="815">mantissa</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="816">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>.
+This <math>\epsilon</math> is the smallest <var>x</var> such that 
+<math>1.0 + x \ne 1.0</math>.
+This is the rounding error for non-exact precision-numbers.
+Applying random walk theory to rounding, it can be shown that the
+expected rounding error after <var>n</var> inexact operations is
+<math>\sqrt{2n/\pi}</math> for <w>large <var>n</var></w>.
+The expected (i.e., mean absolute) rounding error in our example with
+<math>13,824</math> additions is about 
+<math>\sqrt{2 \times 13824 / \pi} = 91.96</math>.
+Hence, addition alone of about fifteen thousand single-precision floats
+is expected to consume about two significant digits of precision.
+This neglects the error due to the inner product (weights times values)
+and normalization (division by tally) aspects of a weighted average.
+the ratio of two numbers each containing a numerical bias can magnify
+the size of the bias. 
+In summary, a global mean number computed from about 15,000 gridpoints
+each with weights can be expected to lose up to three significant digits.
+Since single-precision starts with about seven significant digits, we
+should not expect to retain more than four significant digits after
+computing weighted averages in single-precision.
+The above example with <code>TREFHT</code> shows the expected four digits of
+agreement. 
+<!-- c For example, 50,000 coin flips would lead to 25,500 or more ``heads'' -->
+<!-- c only a small percentage of the time. -->
+<!-- c P(k,n)= 50000_C_25500 p^k(1-p)^(n-k) -->
+<!-- c P(25500,50000)= 50000_C_25500 (0.5)^(25500)(0.5)^(24500) -->
+<!-- c P(>=25500,50000)= ? -->
+<!-- c fxm: Use Gaussian distribution/Random Walk -->
+</para>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="817">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>. 
+C and <acronym><acronymword>NCO</acronymword></acronym> are the only languages that permit single-precision 
+numbers to be treated with single precision arithmetic:
+</para><example endspaces=" ">
+<pre xml:space="preserve"># Double-precision weight (gw),   single-precision arithmetic (C)
+ncwa_3528514.exe
+# TREFHT     = 289.240112
+# Double-precision weight (gw),   double-precision arithmetic (C)
+# TREFHT     = 289.239964
+# Single-precision weight (area), double-precision arithmetic (Matlab)
+# TREFHT     = 289.239964
+# Double-precision weight (gw),   double-precision arithmetic (Matlab)
+# TREFHT     = 289.239964
+# Single-precision weight (area), double-precision arithmetic (NCL)
+ncl < ncwa_3528514.ncl
+# TREFHT     = 289.239960
+# TREFHT_dbl = 289.239964
+# Double-precision weight (gw),   double-precision arithmetic (NCL)
+# TREFHT     = 289.239960
+# TREFHT_dbl = 289.239964
+</pre></example>
+<para>All languages tested (C, Matlab, <acronym><acronymword>NCL</acronymword></acronym>, and <acronym><acronymword>NCO</acronymword></acronym>) agree
+to machine precision with double-precision arithmetic.
+Users are fortunate to have a variety of high quality software that 
+liberates them from the drudgery of coding their own.
+Many packages are free (as in beer)!
+As shown above <acronym><acronymword>NCO</acronymword></acronym> permits one to shift to their
+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
+mixed-precision expressions, and left-alone pure single-precision
+expressions.  
+This is faster and more memory efficient than other conventions.
+However, pure single-precision arithmetic can lose too much precision
+when used to condense (e.g., average) large arrays.
+Statistics involving about <math>n = 10,000</math> single-precision inputs
+will lose about <w>2&textndash;3</w> digits if not promoted to double-precision
+prior to arithmetic. 
+The loss scales with the squareroot <w>of <var>n</var></w>. 
+For larger <var>n</var>, users should promote floats with the <samp>--dbl</samp> 
+option if they want to preserve more than four significant digits in
+their results. 
+</para>
+<para>The <samp>--dbl</samp> and <samp>--flt</samp> switches are only available with the
+<acronym><acronymword>NCO</acronymword></acronym> arithmetic operators that could potentially perform more
+than a few  single-precision floating point operations per result.
+These are <command>nces</command>, <command>ncra</command>, and <command>ncwa</command>.
+Each is capable of thousands to millions or more operations per result. 
+By contrast, the arithmetic operators <command>ncbo</command> and
+<command>ncflint</command> perform at most one floating point operation per
+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.
+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
+environment variable (<acronym><acronymword>GSL</acronymword></acronym> does this a lot).
+Please let us know what you think of the selected defaults and options.
+</para>
+</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="818"><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
+<code>NC_SHORT</code> (a C-type <code>short</code>), and variable <code>prs</code> to
+external type <code>NC_DOUBLE</code> (a C-type <code>double</code>). 
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncap2 -s 'tpt=short(tpt);prs=double(prs)' in.nc out.nc
+</pre></example>
+<para><xref label="ncap2-netCDF-Arithmetic-Processor"><xrefnodename>ncap2 netCDF Arithmetic Processor</xrefnodename></xref>, for more details.
+</para>
+<html endspaces=" ">
+<a name="ovr"></a> <!&textndash; http://nco.sf.net/nco.html#ovr &textndash;>
+<a name="-O"></a> <!&textndash; http://nco.sf.net/nco.html#-O &textndash;>
+</html>
+</subsection>
+</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="819">batch mode</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="820">overwriting files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="821">appending to files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="822">force overwrite</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="823">force append</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="824"><code>-O</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="825"><code>-A</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="826"><code>--overwrite</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="827"><code>--ovr</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="828"><code>--apn</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="829"><code>--append</code></indexterm></cindex>
+<cartouche endspaces=" ">
+<para>Availability: All operators&linebreak;
+Short options: <samp>-O</samp>, <samp>-A</samp>&linebreak;
+Long options: <samp>--ovr</samp>, <samp>--overwrite</samp>, <samp>--apn</samp>, <samp>--append</samp>&linebreak;
+</para></cartouche>
+<para>If the <var>output-file</var> specified for a command is a pre-existing file,
+then the operator will prompt the user whether to overwrite (erase) the
+existing <var>output-file</var>, attempt to append to it, or abort the
+operation. 
+However, interactive questions reduce productivity when processing large
+amounts of data.
+Therefore <acronym><acronymword>NCO</acronymword></acronym> also implements two ways to override its own safety
+features, the <samp>-O</samp> and <samp>-A</samp> switches.
+Specifying <samp>-O</samp> tells the operator to overwrite any existing
+<var>output-file</var> without prompting the user interactively.
+Specifying <samp>-A</samp> tells the operator to attempt to append to any
+existing <var>output-file</var> without prompting the user interactively.
+These switches are useful in batch environments because they suppress
+interactive keyboard input.
+NB: As of 20120515, <command>ncap2</command> is unable to append to files that
+already contain the appended dimensions. 
+</para>
+<html endspaces=" ">
+<a name="hst"></a> <!&textndash; http://nco.sf.net/nco.html#hst &textndash;>
+<a name="history"></a> <!&textndash; http://nco.sf.net/nco.html#history &textndash;>
+<a name="-h"></a> <!&textndash; http://nco.sf.net/nco.html#-h &textndash;>
+</html>
+</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="830"><code>history</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="831">timestamp</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="832">global attributes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="833">attributes, global</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="834"><code>-h</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="835"><code>--hst</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="836"><code>--history</code></indexterm></cindex>
+<cartouche endspaces=" ">
+<para>Availability: All operators&linebreak;
+Short options: <samp>-h</samp>&linebreak;
+Long options: <samp>--hst</samp>, <samp>--history</samp>&linebreak;
+</para></cartouche>
+<para>All operators automatically append a <code>history</code> global attribute to
+any file they create or modify.
+The <code>history</code> attribute consists of a timestamp and the full string
+of the invocation command to the operator, e.g., <samp>Mon May 26 20:10:24
+1997: ncks in.nc foo.nc</samp>.
+The full contents of an existing <code>history</code> attribute are copied
+from the first <var>input-file</var> to the <var>output-file</var>.
+The timestamps appear in reverse chronological order, with the most
+recent timestamp appearing first in the <code>history</code> attribute.
+Since <acronym><acronymword>NCO</acronymword></acronym> and many other netCDF operators adhere to the
+<code>history</code> convention, the entire data processing path of a given
+netCDF file may often be deduced from examination of its <code>history</code>
+attribute. 
+As of May, 2002, <acronym><acronymword>NCO</acronymword></acronym> is case-insensitive to the spelling
+of the <code>history</code> attribute name.
+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.
+<code>history</code> attribute
+<cindex index="cp" spaces=" "><indexterm index="cp" number="837"><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 
+(<pxref label="ncatted-netCDF-Attribute-Editor"><xrefnodename>ncatted netCDF Attribute Editor</xrefnodename></pxref>).   
+Note that the <samp>-h</samp> switch also turns off writing the
+<code>nco_input_file_list</code> attribute for multi-file operators
+(<pxref label="File-List-Attributes"><xrefnodename>File List Attributes</xrefnodename></pxref>).
+</para>
+<html endspaces=" ">
+<a name="fl_lst_in_att"></a> <!&textndash; http://nco.sf.net/nco.html#fl_lst_in_att &textndash;>
+</html>
+</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="838"><code>nco_input_file_list</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="839"><code>nco_input_file_number</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="840"><code>stdin</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="841">global attributes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="842">attributes, global</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="843"><code>-H</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="844"><code>--fl_lst_in</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="845"><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;
+Long options: <samp>--fl_lst_in</samp>, <samp>--file_list</samp>&linebreak;
+</para></cartouche>
+<para>Many methods of specifying large numbers of input file names pass
+these names via pipes, encodings, or argument transfer programs
+(<pxref label="Large-Numbers-of-Files"><xrefnodename>Large Numbers of Files</xrefnodename></pxref>).
+When these methods are used, the input file list is not explicitly
+passed on the command line.
+This results in a loss of information since the <code>history</code>
+attribute no longer contains the exact command by which the file
+was created.
+</para>
+<para><acronym><acronymword>NCO</acronymword></acronym> solves this dilemma by archiving input file list
+attributes.
+When the input file list to a multi-file operator is specified
+via <code>stdin</code>, the operator, by default, attaches two global
+attributes to any file they create or modify.
+The <code>nco_input_file_number</code> global attribute contains the number of
+input files, and <code>nco_input_file_list</code> contains the file names,
+specified as standard input to the multi-file operator. 
+This information helps to verify that all input files the user thinks
+were piped through <code>stdin</code> actually arrived.
+Without the <code>nco_input_file_list</code> attribute, the information is lost
+forever and the &textldquo;chain of evidence&textrdquo; would be broken.
+</para>
+<para>The <samp>-H</samp> switch overrides (turns off) the default behavior of
+writing the input file list global attributes when input is from
+<code>stdin</code>. 
+The <samp>-h</samp> switch does this too, and turns off the <code>history</code>
+attribute as well (<pxref label="History-Attribute"><xrefnodename>History Attribute</xrefnodename></pxref>).
+Hence both switches allows space-conscious users to avoid storing what
+may amount to many thousands of filenames in a metadata attribute.
+</para>
+<html endspaces=" ">
+<a name="CF"></a> <!&textndash; http://nco.sf.net/nco.html#CF &textndash;>
+<a name="cnv"></a> <!&textndash; http://nco.sf.net/nco.html#cnv &textndash;>
+<a name="cnv_CF"></a> <!&textndash; http://nco.sf.net/nco.html#cnv_CF &textndash;>
+<a name="cnv_CCSM"></a> <!&textndash; http://nco.sf.net/nco.html#cnv_CCSM &textndash;>
+</html>
+</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="846"><acronym><acronymword>CF</acronymword></acronym> conventions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="847"><acronym><acronymword>CCSM</acronymword></acronym> conventions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="848">UDUnits</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="849"><code>ORO</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="850"><code>area</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="851"><code>datesec</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="852"><code>date</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="853"><code>gw</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="854"><code>hyai</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="855"><code>hyam</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="856"><code>hybi</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="857"><code>hybm</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="858"><code>lat_bnds</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="859"><code>lon_bnds</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="860"><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;
+Short options: None&linebreak;
+</para></cartouche>
+<para><acronym><acronymword>NCO</acronymword></acronym> recognizes some Climate and Forecast (<acronym><acronymword>CF</acronymword></acronym>)
+metadata conventions, and applies special rules to such data.
+<acronym><acronymword>NCO</acronymword></acronym> was contemporaneous with <acronym><acronymword>COARDS</acronymword></acronym> and still
+contains some rules to handle older <acronym><acronymword>NCAR</acronymword></acronym> model datasets, such as 
+<acronym><acronymword>CCM</acronymword></acronym> and early <acronym><acronymword>CCSM</acronymword></acronym> datasets, that pre-date 
+<acronym><acronymword>CF</acronymword></acronym>.
+Such datasets may not contain an explicit <code>Conventions</code> attribute
+(e.g., <samp>CF-1.0</samp>). 
+Nevertheless, we refer to all such metadata collectively as <acronym><acronymword>CF</acronymword></acronym> 
+metadata. 
+Skip this section if you never work with <acronym><acronymword>CF</acronymword></acronym> metadata.
+</para>
+<para>The <acronym><acronymword>CF</acronymword></acronym> netCDF conventions are described 
+<uref><urefurl>http://cf-pcmdi.llnl.gov/documents/cf-conventions/1.6/cf-conventions.html#coordinate-system</urefurl><urefdesc spaces=" ">here</urefdesc></uref>. 
+Most <acronym><acronymword>CF</acronymword></acronym> netCDF conventions are transparent to <acronym><acronymword>NCO</acronymword></acronym>  
+<footnote spaces="\n"><para>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><acronymword>NCO</acronymword></acronym>.
+</para></footnote>.
+There are no known pitfalls associated with using any <acronym><acronymword>NCO</acronymword></acronym>
+operator on files adhering to these conventions
+<footnote spaces="\n"><para>The <acronym><acronymword>CF</acronymword></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 
+<samp>days since 1992-10-8 15:15:42.5 -6:00</samp>. 
+<w>A problem</w> with this format occurs when using <command>ncrcat</command> to
+concatenate multiple files, each with a different <var>base_time</var>. 
+That is, any <code>time</code> values from files following the first file to
+be concatenated should be corrected to the <var>base_time</var> offset
+specified in the <code>units</code> attribute of <code>time</code> from the first
+file. 
+The analogous problem has been fixed in <acronym><acronymword>ARM</acronymword></acronym> files 
+(<pxref label="ARM-Conventions"><xrefnodename>ARM Conventions</xrefnodename></pxref>) and could be fixed for <acronym><acronymword>CF</acronymword></acronym> files if
+there is sufficient lobbying.
+</para></footnote>.
+However, to facilitate maximum user friendliness, <acronym><acronymword>NCO</acronymword></acronym> applies 
+special rules to certain variables in <acronym><acronymword>CF</acronymword></acronym> files.
+The special functions are not required by the <acronym><acronymword>CF</acronymword></acronym> netCDF
+conventions, yet experience shows that they simplify data analysis.
+</para>
+<html endspaces=" ">
+<a name="prc_xcp"></a> <!&textndash; http://nco.sf.net/nco.html#prc_xcp &textndash;>
+</html>
+<para>Currently, <acronym><acronymword>NCO</acronymword></acronym> determines whether a datafile is a
+<acronym><acronymword>CF</acronymword></acronym> output datafile simply by checking (case-insensitively)
+whether the value of the global attribute <code>Conventions</code> (if any)
+equals <samp>CF-1.0</samp> or <samp>NCAR-CSM</samp> 
+Should <code>Conventions</code> equal either of these in the (first)
+<var>input-file</var>, <acronym><acronymword>NCO</acronymword></acronym> will apply special rules to certain
+variables because of their usual meaning in <acronym><acronymword>CF</acronymword></acronym> files. 
+<acronym><acronymword>NCO</acronymword></acronym> will not average the following variables often found in
+<acronym><acronymword>CF</acronymword></acronym> files: 
+<code>ntrm</code>, <code>ntrn</code>, <code>ntrk</code>, <code>ndbase</code>, <code>nsbase</code>,
+<code>nbdate</code>, <code>nbsec</code>, <code>mdt</code>, <code>mhisf</code>.
+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="861">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>,
+<command>ncflint</command>, and <command>ncpdq</command> (when used for packing, not for
+permutation).  
+These operators do not operate, by default, on (i.e., add, subtract,
+pack, etc.) the following variables:   
+<code>ORO</code>, 
+<code>area</code>, 
+<code>datesec</code>, 
+<code>date</code>, 
+<code>gw</code>, 
+<code>hyai</code>, 
+<code>hyam</code>,
+<code>hybi</code>. 
+<code>hybm</code>, 
+<code>lat_bnds</code>, 
+<code>lon_bnds</code>,
+<code>msk_*</code>.
+These variables represent the Gaussian weights, the orography field,
+time fields, hybrid pressure coefficients, and latititude/longitude
+boundaries.
+We call these fields non-coordinate <dfn>grid properties</dfn>.
+Coordinate grid properties are easy to identify because they are 
+coordinate variables such as <code>latitude</code> and <code>longitude</code>.
+</para>
+<para>Users usually want <emph>all</emph> grid properties to remain unaltered in the
+output file. 
+To be treated as a grid property, the variable name must <emph>exactly</emph>
+match a name in the above list, or be a coordinate variable. 
+The handling of <code>msk_*</code> is exceptional in that <emph>any</emph> variable 
+name beginning with the string <code>msk_</code> is considered to be a
+&textldquo;mask&textrdquo; and is thus preserved (not operated on arithmetically).
+</para>
+<para>You must spoof <acronym><acronymword>NCO</acronymword></acronym> if you would like any grid properties
+or other special <acronym><acronymword>CF</acronymword></acronym> fields processed normally.
+For example rename the variables first with <command>ncrename</command>, 
+or alter the <code>Conventions</code> attribute.
+</para>
+<html endspaces=" ">
+<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="862"><code>bounds</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="863">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 
+<uref><urefurl>http://cf-pcmdi.llnl.gov/documents/cf-conventions/1.6/cf-conventions.html#cell-boundaries</urefurl><urefdesc spaces=" ">here</urefdesc></uref>.
+This convention allows coordinate variables (including multidimensional
+coordinates) to describe the boundaries of their cells.
+This is done by naming the variable which contains the bounds in
+in the <code>bounds</code> attribute. 
+Note that coordinates of rank <math>N</math> have bounds of rank <math>N+1</math>.
+NCO-generated subsets of <acronym><acronymword>CF</acronymword></acronym>-compliant files with <code>bounds</code>
+attributes will include the coordinates specified by the <code>bounds</code>
+attribute, if any.  
+Hence the subsets will themselves be <acronym><acronymword>CF</acronymword></acronym>-compliant.
+</para>
+<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="864"><code>coordinates</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="865">coordinates convention</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="866">coordinate variable</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="867">auxiliary coordinates</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="868">subsetting</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="869"><code>-C</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="870"><code>-c</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="871"><code>--no-coords</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="872"><code>--no-crd</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="873"><code>--coords</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="874"><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://cf-pcmdi.llnl.gov/documents/cf-conventions/1.6/cf-conventions.html#coordinate-system</urefurl><urefdesc spaces=" ">here</urefdesc></uref>. 
+This convention allows variables to specify additional coordinates
+(including multidimensional coordinates) in a space-separated string
+attribute named <code>coordinates</code>. 
+NCO attaches any such coordinates to the extraction list along with
+variable and its usual (one-dimensional) coordinates, if any.
+These auxiliary coordinates are subject to the user-specified overrides
+described in <ref label="Subsetting-Coordinate-Variables"><xrefnodename>Subsetting Coordinate Variables</xrefnodename></ref>.
+</para>
+<html endspaces=" ">
+<a name="cnv_CF_cll_mth"></a> <!&textndash; http://nco.sf.net/nco.html#cnv_CF_cll_mth &textndash;>
+<a name="cll_mth"></a> <!&textndash; http://nco.sf.net/nco.html#cll_mth &textndash;>
+<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="875"><code>cell_methods</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="876"><code>--cll_mth</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="877"><code>--no_cll_mth</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="878"><code>--cell_methods</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="879"><code>--no_cell_methods</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="880">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://cf-pcmdi.llnl.gov/documents/cf-conventions/1.7-draft1/cf-conventions.html#cell-methods</urefurl><urefdesc spaces=" ">convention</urefdesc></uref>
+to describe the analysis procedures that have been applied to data.
+The convention creates (or appends to an existing) <code>cell_methods</code>
+attribute a space-separated list of couplets of the form <var>dmn: op</var>
+where <var>dmn</var> is a comma-separated list of dimensions previously
+contained in the variable that have been reduced by the arithmetic
+operation <var>op</var>.
+For example, the <code>cell_methods</code> value <code>time: mean</code> says that
+the variable in question was averaged over the <code>time</code> dimension.
+In such cases <code>time</code> will either be a scalar variable or a
+degenerate dimension or coordinate. 
+This simply means that it has been averaged-over.
+The value <code>time, lon: mean lat: max</code> says that the variable in
+question is the maximum zonal mean of the time averaged original
+variable.
+Which is to say that the variable was first averaged over time and
+longitude, and then the residual latitudinal array was reduced by
+choosing the maximum value.
+Since the <code>cell methods</code> convention may alter metadata in an
+undesirable (or possibly incorrect) fashion, we provide switches
+to ensure it is always or never used.
+Use long-options <samp>--cll_mth</samp> or <samp>--cell_methods</samp> to invoke the
+algorithm (true by default), and options <samp>--no_cll_mth</samp> or 
+<samp>--no_cell_methods</samp> to turn it off.
+These options are only available in the operators <command>ncwa</command> and
+<command>ncra</command>.
+</para>
+<html endspaces=" ">
+<a name="cnv_ARM"></a> <!&textndash; http://nco.sf.net/nco.html#cnv_ARM &textndash;>
+</html>
+</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="881"><acronym><acronymword>ARM</acronymword></acronym> conventions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="882"><code>time_offset</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="883"><code>base_time</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="884"><code>time</code></indexterm></cindex>
+<cartouche endspaces=" ">
+<para>Availability: <command>ncrcat</command>&linebreak;
+Short options: None&linebreak;
+</para></cartouche>
+<para><command>ncrcat</command> has been programmed to correctly handle data files
+which utilize the Atmospheric Radiation Measurement (<acronym><acronymword>ARM</acronymword></acronym>)
+Program <uref><urefurl>http://www.arm.gov/data/time.stm</urefurl><urefdesc>convention</urefdesc></uref> for
+time and time offsets.
+If you do not work with <acronym><acronymword>ARM</acronymword></acronym> data then you may skip this
+section. 
+<acronym><acronymword>ARM</acronymword></acronym> data files store time information in two variables, a
+scalar, <code>base_time</code>, and a record variable, <code>time_offset</code>.
+Subtle but serious problems can arise when these type of files are
+just blindly concatenated.
+Therefore <command>ncrcat</command> has been specially programmed to be able to
+chain together consecutive <acronym><acronymword>ARM</acronymword></acronym> <var>input-files</var> and produce
+and an <var>output-file</var> which contains the correct time information.
+Currently, <command>ncrcat</command> determines whether a datafile is an
+<acronym><acronymword>ARM</acronymword></acronym> datafile simply by testing for the existence of the
+variables <code>base_time</code>, <code>time_offset</code>, and the dimension
+<code>time</code>.  
+If these are found in the <var>input-file</var> then <command>ncrcat</command> will 
+automatically perform two non-standard, but hopefully useful,
+procedures. 
+First, <command>ncrcat</command> will ensure that values of <code>time_offset</code>
+appearing in the <var>output-file</var> are relative to the <code>base_time</code>
+appearing in the first <var>input-file</var> (and presumably, though not
+necessarily, also appearing in the <var>output-file</var>).
+Second, if a coordinate variable named <code>time</code> is not found in the
+<var>input-files</var>, then <command>ncrcat</command> automatically creates the
+<code>time</code> coordinate in the <var>output-file</var>.  
+The values of <code>time</code> are defined by the <acronym><acronymword>ARM</acronymword></acronym> conventions 
+<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="885"><code>history</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="886">global attributes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="887">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>
+<html endspaces=" ">
+<a name="vrs"></a> <!&textndash; http://nco.sf.net/nco.html#vrs &textndash;>
+<a name="version"></a> <!&textndash; http://nco.sf.net/nco.html#version &textndash;>
+</html>
+</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="888">version</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="889"><acronym><acronymword>RCS</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="890"><code>-r</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="891"><code>--revision</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="892"><code>--version</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="893"><code>--vrs</code></indexterm></cindex>
+<cartouche endspaces=" ">
+<para>Availability: All operators&linebreak;
+Short options: <samp>-r</samp>&linebreak;
+Long options: <samp>--revision</samp>, <samp>--version</samp>, or <samp>--vrs</samp>&linebreak;
+</para></cartouche>
+<para>All operators can be told to print their version information,
+library version, copyright notice, and compile-time configuration 
+with the <samp>-r</samp> switch, or its long-option equivalent
+<samp>revision</samp>. 
+The <samp>--version</samp> or <samp>--vrs</samp> switches print the operator
+version information only.
+The internal version number varies between operators, and indicates the 
+most recent change to a particular operator&textrsquo;s source code.
+This is useful in making sure you are working with the most recent
+operators.
+The version of <acronym><acronymword>NCO</acronymword></acronym> you are using might be, e.g., <code>3.9.5</code>.
+Using <samp>-r</samp> on, say, <command>ncks</command>, produces something like 
+<samp>NCO netCDF Operators version "3.9.5" last modified 2008/05/11 built May 12 2008 on neige by zender 
+Copyright (C) 1995--2008 Charlie Zender
+ncks version 20090918</samp>.
+This tells you that <command>ncks</command> contains all patches up to version 
+<code>3.9.5</code>, which dates from <w>May 11</w>, 2008.
+<html endspaces=" ">
+<a name="rfr"></a> <!&textndash; http://nco.sf.net/nco.html#rfr &textndash;>
+</html>
+</para></section>
+</chapter>
+<node name="Operator-Reference-Manual" spaces=" "><nodename>Operator Reference Manual</nodename><nodenext spaces=" ">Contributing</nodenext><nodeprev spaces=" ">Common features</nodeprev><nodeup spaces=" ">Top</nodeup></node>
+<chapter spaces=" "><sectiontitle>Operator Reference Manual</sectiontitle>
+
+<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="894">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.
+Only options specific to, or most useful with, a particular operator are 
+described in any detail in the sections below.  
+</para>
+<menu endspaces=" ">
+<menuentry leadingtext="* "><menunode separator="::">ncap2 netCDF Arithmetic Processor</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">ncatted netCDF Attribute Editor</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">ncbo netCDF Binary Operator</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">nces netCDF Ensemble Statistics</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">ncecat netCDF Ensemble Concatenator</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">ncflint netCDF File Interpolator</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">ncks netCDF Kitchen Sink</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">ncpdq netCDF Permute Dimensions Quickly</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">ncra netCDF Record Averager</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">ncrcat netCDF Record Concatenator</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">ncrename netCDF Renamer</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">ncwa netCDF Weighted Averager</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry></menu>
+
+<page></page>
+<html endspaces=" ">
+<a name="ncap"></a> <!&textndash; http://nco.sf.net/nco.html#ncap &textndash;>
+<a name="ncap2"></a> <!&textndash; http://nco.sf.net/nco.html#ncap2 &textndash;>
+</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="895">parser</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="896">lexer</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="897">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=" ">
+<para><command>ncap2</command> understands a relatively full-featured 
+language of operations, including loops, conditionals, arrays,
+and math functions.
+<command>ncap2</command> is the most rapidly changing <acronym><acronymword>NCO</acronymword></acronym> operator and
+its documentation is incomplete.
+The distribution file <file>data/ncap2_tst.nco</file> contains an up-to-date
+overview of its syntax and capabilities. 
+The <file>data/*.nco</file> distribution files (especially
+<file>bin_cnt.nco</file>, <file>psd_wrf.nco</file>, and <file>rgr.nco</file>) contain
+in-depth examples of <command>ncap2</command> solutions to complex problems.
+</para></cartouche>
+
+<!-- c fxm: TODO nco549 hyper-link all switches to explanatory sections? -->
+<!-- c Problem is that only works well in HTML mode -->
+<!-- c TeXInfo has no native mode for concise hyperlinks in text mode -->
+<!-- c Currently in TeX/PDF mode, TeXInfo opens browser to find link, -->
+<!-- c rather than jumping to internal link within document -->
+<noindent></noindent>
+<para>SYNTAX
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncap2 [-3] [-4] [-6] [-7] [<uref><urefurl>http://nco.sf.net/nco.html#-A</urefurl><urefreplacement>-A</urefreplacement></uref>] [-C] [-c] 
+[-D <var>dbg</var>] [-F] [-f] [-h] [--hdf] [--hdr_pad <var>nbr</var>] [-L <var>dfl_lvl</var>] [-l <var>path</var>]
+[--no_tmp_fl] [-O] [-o <var>output-file</var>] [-p <var>path</var>] [-R] [-r] [--ram_all]
+[-s <var>algebra</var>] [-S <var>fl.nco</var>] [-t <var>thr_nbr</var>] [-v]
+<var>input-file</var> [<var>output-file</var>]  
+</pre></example>
+ 
+<noindent></noindent>
+<para>DESCRIPTION
+</para>
+<para><command>ncap2</command> arithmetically processes netCDF files
+<footnote><para><command>ncap2</command> is the successor to <command>ncap</command> which was
+put into maintenance mode in November, 2006. 
+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="898">script file</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="899"><code>--script-file</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="900"><code>--fl_spt</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="901"><code>--script</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="902"><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>)
+are used for in-line scripts and <samp>-S</samp> (or long options
+<samp>--fl_spt</samp> or <samp>--script-file</samp>) are used to provide the
+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="903">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>. 
+</para>
+<para>Unlike the other operators, <command>ncap2</command> does not accept a list of
+variables to be operated on as an argument to <samp>-v</samp> 
+(<pxref label="Subsetting-Files"><xrefnodename>Subsetting Files</xrefnodename></pxref>).
+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="904">appending variables</indexterm></cindex>
+NB: As of 20120515, <command>ncap2</command> is unable to append to files that
+already contain the appended dimensions. 
+</para>
+<!-- c @subsection Scripting Mathematical Processing with @command{ncap2} -->
+
+<menu endspaces=" ">
+<menuentry leadingtext="* "><menunode separator="::">Syntax of ncap2 statements</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Expressions</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Dimensions</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Left hand casting</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Arrays and hyperslabs</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Attributes</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Number literals</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">if statement</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">print statement</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Missing values ncap2</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Methods and functions</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">RAM variables</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Where statement</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Loops</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Include files</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Sort methods</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Irregular grids</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Bilinear interpolation</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">GSL special functions</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">GSL interpolation</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">GSL least-squares fitting</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">GSL statistics</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">GSL random number generation</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Examples ncap2</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Intrinsic mathematical methods</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Operator precedence and associativity </menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">ID Quoting</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry></menu>
+
+<html endspaces=" ">
+<a name="att_prp"></a> <!&textndash; http://nco.sf.net/nco.html#att_prp &textndash;>
+</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="905">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
+exist), then it inherits the metadata (if any) of the left-most variable
+on the right hand side of the defining expression.
+This metadata inheritance is called <dfn>attribute propagation</dfn>.
+Attribute propagation is intended to facilitate well-documented 
+data analysis, and we welcome suggestions to improve this feature.
+</para>
+<para>The only exception to this rule of attribute propagation is in cases of
+left hand casting (<pxref label="Left-hand-casting"><xrefnodename>Left hand casting</xrefnodename></pxref>).
+The user must manually define the proper metadata for variables defined
+using left hand casting. 
+</para>
+<html endspaces=" ">
+<a name="syn"></a> <!&textndash; http://nco.sf.net/nco.html#syn &textndash;>
+</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="906">statement</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="907">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="908">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="909">array syntax</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="910"><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="911">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="912">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="913">assignment statement</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="914">semi-colon</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="915"><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="916">comments</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="917"><code>/*...*/</code> (comment)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="918"><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="919">including files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="920">nesting</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="921"><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="922">attribute syntax</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="923"><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> 
+
+<html endspaces=" ">
+<a name="ncap_xpr"></a> <!&textndash; http://nco.sf.net/nco.html#ncap_xpr &textndash;>
+</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="924">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="925">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=" ">
+<pre xml:space="preserve">Arithmetic Operators: * / % + - ^
+Binary Operators:     > >= < <= == != == || && >> <<
+Unary Operators:      + - ++ -- !
+Conditional Operator: exp1 ? exp2 : exp3
+Assign Operators:     = += -= /= *=
+</pre></example>
+
+<para>In the following section a <dfn>variable</dfn> also refers to a 
+number literal which is read in as a scalar variable:
+</para>
+<para><strong>Arithmetic and Binary Operators </strong>
+</para>
+<para>Consider <emph>var1 &textrsquo;op&textrsquo; var2</emph>
+</para>
+<para><strong>Precision</strong>
+</para><itemize commandarg="bullet" spaces=" " endspaces=" "><itemprepend><formattingcommand command="bullet"/></itemprepend>
+<listitem spaces=" "><prepend>•</prepend><para>When both operands are variables, the result has the precision of the higher precision operand.
+</para></listitem><listitem spaces=" "><prepend>•</prepend><para>When one operand is a variable and the other an attribute, the result has the precision of the variable. 
+</para></listitem><listitem spaces=" "><prepend>•</prepend><para>When both operands are attributes, the result has the precision of the more precise attribute.
+</para></listitem><listitem spaces=" "><prepend>•</prepend><para>The exponentiation operator &textldquo;^&textrdquo; is an exception to the above rules. 
+When both operands have type less than <code>NC_FLOAT</code>, the result is <code>NC_FLOAT</code>. 
+When either type is <code>NC_DOUBLE</code>, the result is also <code>NC_DOUBLE</code>. 
+</para></listitem></itemize>
+<!-- c csz got to here editing -->
+
+<cindex index="cp" spaces=" "><indexterm index="cp" number="926">broadcasting variables</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="927">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
+that has the greatest number of dimensions.  
+</para></listitem><listitem spaces=" "><prepend>•</prepend><para>If the dimensions in var2 are a subset of the dimensions in var1
+then its possible to  make var2 conform to var1 through broadcasting and
+or dimension reordering.  
+</para></listitem><listitem spaces=" "><prepend>•</prepend><para>Broadcasting a variable means creating data in non-existing
+dimensions by copying data in existing dimensions. 
+</para></listitem><listitem spaces=" "><prepend>•</prepend><para>More specifically: If the numbers of dimensions in var1 is greater 
+than or equal to the number of dimensions in var2 then an attempt is
+made to make var2 conform to var1 ,else var1 is made to conform to
+var2. If conformance  is not possible then an error message will be
+emitted and script execution will cease.&linebreak; 
+</para></listitem></itemize>
+
+<noindent></noindent> <para>Even though the logical operators return True(1) or False(0)
+they are treated in the same way as the arithmetic operators with regard
+to precision and rank.&linebreak; 
+Examples:
+</para>
+<example endspaces=" ">
+<pre xml:space="preserve">dimensions: time=10, lat=2, lon=4
+Suppose we have the two variables:
+
+double  P(time,lat,lon);
+float   PZ0(lon,lat);  // PZ0=1,2,3,4,5,6,7,8;
+
+Consider now the expression:
+ PZ=P-PZ0
+
+PZ0 is made to conform to P and the result is
+PZ0 =
+   1,3,5,7,2,4,6,8,
+   1,3,5,7,2,4,6,8,
+   1,3,5,7,2,4,6,8,
+   1,3,5,7,2,4,6,8,
+   1,3,5,7,2,4,6,8,
+   1,3,5,7,2,4,6,8,
+   1,3,5,7,2,4,6,8,
+   1,3,5,7,2,4,6,8,
+   1,3,5,7,2,4,6,8,
+   1,3,5,7,2,4,6,8,
+
+Once the expression is evaluated then PZ will be of type double;
+
+Consider now 
+ start=four-att_var&arobase;double_att;  // start =-69  and is of type intger;
+ four_pow=four^3.0f               // four_pow=64 and is of type float  
+ three_nw=three_dmn_var_sht*1.0f; // type is now float
+ start&arobase;n1=att_var&arobase;short_att*att_var&arobase;int_att; 
+                                  // start&arobase;n1=5329 and is type int 
+</pre></example>
+
+<noindent></noindent> <para><strong>Binary Operators</strong> &linebreak; 
+<cindex index="cp" spaces=" "><indexterm index="cp" number="928">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
+the arithmetic operators. 
+When an expression is evaluated in an if() the missing values are
+treated as true.&linebreak;  
+The binary operators are, in order of precedence: 
+</para><example endspaces=" ">
+<pre xml:space="preserve">	
+!   Logical Not
+----------------------------
+<<  Less Than Selection
+>>  Greater Than Selection
+----------------------------
+>   Greater than
+>=  Greater than or equal to
+<   Less than
+<=  Less than or equal to
+----------------------------
+==  Equal to
+!=  Not equal to
+----------------------------
+&&  Logical AND
+----------------------------
+||  Logical OR
+----------------------------
+</pre></example>
+
+<para>To see all operators: <pxref label="Operator-precedence-and-associativity"><xrefnodename>Operator precedence and associativity</xrefnodename></pxref> 
+Examples:
+</para><example endspaces=" ">
+<pre xml:space="preserve">tm1=time>2 && time <7;  // tm1=0, 0, 1, 1, 1, 1, 0, 0, 0, 0 double
+tm2=time==3 || time>=6; // tm2=0, 0, 1, 0, 0, 1, 1, 1, 1, 1 double
+tm3=int(!tm1);          // tm3=1, 1, 0, 0, 0, 0, 1, 1, 1, 1 int
+tm4=tm1 && tm2;         // tm4=0, 0, 1, 0, 0, 1, 0, 0, 0, 0 double
+tm5=!tm4;               // tm5=1, 1, 0, 1, 1, 0, 1, 1, 1, 1 double
+</pre></example>
+	
+<noindent></noindent> <para><strong>Regular Assign Operator</strong>&linebreak;
+<noindent></noindent> <emph>var1 &textrsquo;=&textrsquo; exp1</emph> &linebreak;
+If var1 does not already exist in Output then var1 is written to Output with the values and dimensions from expr1. If var1 already exists in Output, then the only requirement on expr1 is that the number of elements must match the number already on disk. The type of expr1 is converted if necessary to the disk type.
+</para>
+<noindent></noindent> <para><strong> Other Assign Operators +=,-=,*=./= </strong>&linebreak;
+        <noindent></noindent>  <emph>var1 &textrsquo;ass_op&textrsquo; exp1 </emph>&linebreak;
+if exp1 is a variable and it doesn&textrsquo;t conform to var1 then an attempt is made to make it conform to var1. If exp1 is an attribute it must have unity size or else have the same number of elements as var1. If expr1 has a different type to var1 the it is converted to the var1 type.
+</para><example endspaces=" ">
+<pre xml:space="preserve">z1=four+=one*=10 // z1=14 four=14 one=10;	
+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;
+</para>
+<para>Example:
+</para><example endspaces=" ">
+<pre xml:space="preserve">n2=++four;   n2=5, four=5 
+n3=one--+20; n3=21  one=0;	 
+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="929">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
+returned else exp3 is returned. 
+</para>
+<para>Example:
+</para><example endspaces=" ">
+<pre xml:space="preserve">weight_avg=weight.avg();
+weight_avg&arobase;units= (weight_avg == 1 ? "kilo" : "kilos");  
+PS_nw=PS-(PS.min() > 100000 ? 100000 : 0);
+</pre></example>
+
+<html endspaces=" ">
+<a name="clp"></a> <!&textndash; http://nco.sf.net/nco.html#clp &textndash;>
+<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="930">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
+left operand that are less than the corresponding value in the right
+operand. 
+If the value of the left side is greater than or equal to the
+corresponding value of the right side, then the right side value is 
+placed in the result	 
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">>> Greater-than Clipping&linebreak;</itemformat></item>
+</tableterm><tableitem><para>For arrays, the greater-than selection operator selects all values in
+the left operand that are greater than the corresponding value in the
+right operand. 
+If the value of the left side is less than or equal to the corresponding
+value of the right side, then the right side value is placed in the
+result.  
+</para></tableitem></tableentry></table>
+
+<para>Example:
+</para><example endspaces=" ">
+<pre xml:space="preserve">RDM2=RDM >> 100.0 // 100,100,100,100,126,126,100,100,100,100 double
+RDM2=RDM <<  90s  // 1, 9, 36, 84, 90, 90, 84, 36, 9, 1 int
+</pre></example>
+
+<html endspaces=" ">
+<a name="ncap_dims"></a> <!&textndash; http://nco.sf.net/nco.html#ncap_dims &textndash;>
+<a name="defdim"></a> <!&textndash; http://nco.sf.net/nco.html#defdim &textndash;>
+</html>
+</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="931">defining dimensions in <command>ncap2</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="932"><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);
+</pre></example>
+
+<para>This dimension name must then be prefixed with a dollar-sign <samp>$</samp>
+when referred to in method arguments or left-hand-casting, e.g.,
+</para><example endspaces=" ">
+<pre xml:space="preserve">new_var[$cnt]=time;
+temperature[$time,$lat,$lon]=35.5;
+temp_avg=temperature.avg($time);
+</pre></example>
+
+<para>The <code>size</code> method allows the dimension size to be used in an
+arithmetic expression:
+</para><example endspaces=" ">
+<pre xml:space="preserve">time_avg=time.total() / $time.size;
+</pre></example>
+
+<para>Increase the size of a new variable by one and set new member to zero:
+</para><example endspaces=" ">
+<pre xml:space="preserve">defdim("cnt_new",$cnt.size+1);
+new_var[$cnt_new]=0.0;
+new_var(0:($cnt_new.size-2))=old_var;
+</pre></example>
+
+<noindent></noindent> <para><strong>Dimension Abbreviations &linebreak;</strong>
+It is possible to use dimension abbreviations as method arguments:&linebreak;
+<code>$0</code> is the first dimension of a variable&linebreak;
+<code>$1</code> is the second dimension of a variable&linebreak;
+<code>$n</code> is the n+1 dimension of a variable&linebreak;
+</para>
+<example endspaces=" ">
+<pre xml:space="preserve">float four_dmn_rec_var(time,lat,lev,lon);
+double three_dmn_var_dbl(time,lat,lon);
+
+four_nw=four_dmn_rev_var.reverse($time,$lon)
+four_nw=four_dmn_rec_var.reverse($0,$3);
+
+four_avg=four_dmn_rec_var.avg($lat,$lev);  
+four_avg=four_dmn_rec_var.avg($1,$2);  
+
+three_mw=three_dmn_var_dbl.permute($time,$lon,$lat);
+three_mw=three_dmn_var_dbl.permute($0,$2,$1);
+</pre></example>
+
+<noindent></noindent> <para><strong>ID Quoting &linebreak;</strong>
+If the dimension name contains non-regular characters use ID quoting. 
+See <pxref label="ID-Quoting"><xrefnodename>ID Quoting</xrefnodename></pxref>
+</para><example endspaces=" ">
+<pre xml:space="preserve">defdim("a--list.A",10);
+A1['$a--list.A']=30.0;
+</pre></example>
+
+<noindent></noindent> <para><strong>GOTCHA &linebreak;</strong>
+<noindent></noindent> It is not possible to manually define in Output any dimensions that exist in Input. When a variable from Input appears in an expression or statement its  dimensions in Input are  automagically copied to Output (if they are not already present)
+</para>
+<html endspaces=" ">
+<a name="lhc"></a> <!&textndash; http://nco.sf.net/nco.html#lhc &textndash;>
+<a name="lhs"></a> <!&textndash; http://nco.sf.net/nco.html#lhs &textndash;>
+</html>
+</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="933">hybrid coordinate system</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="934">left hand casting</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="935"><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.
+If <var>lat</var> and <var>lon</var> are one dimensional coordinates of
+dimensions <var>lat</var> and <var>lon</var>, respectively, then addition
+of these two one-dimensional arrays is intrinsically ill-defined because 
+whether <var>lat_lon</var> should be dimensioned <var>lat</var> by <var>lon</var>
+or <var>lon</var> by <var>lat</var> is ambiguous (assuming that addition is to
+remain a <dfn>commutative</dfn> procedure, i.e., one that does not depend on 
+the order of its arguments).
+Differing dimensions are said to be <dfn>orthogonal</dfn> to one another,
+and sets of dimensions which are mutually exclusive are orthogonal
+as a set and any arithmetic operation between variables in orthogonal
+dimensional spaces is ambiguous without further information.
+</para>
+<para>The ambiguity may be resolved by enumerating the desired dimension 
+ordering of the output expression inside square brackets on the
+left hand side (<acronym><acronymword>LHS</acronymword></acronym>) of the equals sign.
+This is called <dfn>left hand casting</dfn> because the user resolves the 
+dimensional ordering of the <acronym><acronymword>RHS</acronymword></acronym> of the expression by
+specifying the desired ordering on the <acronym><acronymword>LHS</acronymword></acronym>.
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncap2 -s 'lat_lon[lat,lon]=lat+lon' in.nc out.nc
+ncap2 -s 'lon_lat[lon,lat]=lat+lon' in.nc out.nc
+</pre></example>
+<para>The explicit list of dimensions on the <acronym><acronymword>LHS</acronymword></acronym>, <code>[lat,lon]</code>
+resolves the otherwise ambiguous ordering of dimensions in
+<var>lat_lon</var>. 
+In effect, the <acronym><acronymword>LHS</acronymword></acronym> <dfn>casts</dfn> its rank properties onto the 
+<acronym><acronymword>RHS</acronymword></acronym>.
+Without <acronym><acronymword>LHS</acronymword></acronym> casting, the dimensional ordering of <var>lat_lon</var>
+would be undefined and, hopefully, <command>ncap2</command> would print an error
+message. 
+</para>
+<para>Consider now a slightly more complex example.
+In geophysical models, a coordinate system based on 
+a blend of terrain-following and density-following surfaces is 
+called a <dfn>hybrid coordinate system</dfn>.
+In this coordinate system, four variables must be manipulated to
+obtain the pressure of the vertical coordinate:
+<var>PO</var> is the domain-mean surface pressure offset (a scalar),
+<var>PS</var> is the local (time-varying) surface pressure (usually two
+horizontal spatial dimensions, i.e. latitude by longitude), <var>hyam</var>
+is the weight given to surfaces of constant density (one spatial
+dimension, pressure, which is orthogonal to the horizontal
+dimensions), and <var>hybm</var> is the weight given to surfaces of
+constant elevation (also one spatial dimension). 
+This command constructs a four-dimensional pressure <code>prs_mdp</code>
+from the four input variables of mixed rank and orthogonality:
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncap2 -s 'prs_mdp[time,lat,lon,lev]=P0*hyam+PS*hybm' in.nc out.nc
+</pre></example>
+<para>Manipulating the four fields which define the pressure in a hybrid
+coordinate system is easy with left hand casting.
+</para>
+<html endspaces=" ">
+<a name="ncap_arr"></a> <!&textndash; http://nco.sf.net/nco.html#ncap_arr &textndash;>
+</html>
+</subsection>
+<node name="Arrays-and-hyperslabs" spaces=" "><nodename>Arrays and hyperslabs</nodename><nodenext spaces=" ">Attributes</nodenext><nodeprev spaces=" ">Left hand casting</nodeprev><nodeup spaces=" ">ncap2 netCDF Arithmetic Processor</nodeup></node>
+<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="936"><code>array</code> function</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="937">arrays</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="938">findgen-equivalent</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="939">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 
+</para><example endspaces=" ">
+<pre xml:space="preserve">var_out=array(val_srt,val_ncr,$dmn_nm); // One-dimensional output
+var_out=array(val_srt,val_ncr,var_tpl); // Multi-dimensional output
+</pre></example>
+<noindent></noindent>
+<para>where the arguments are the starting value <var>val_srt</var>, 
+incremental value <var>val_ncr</var>, and, for one-dimensional output, the
+single dimension <code>$dmn_nm</code>, or, for multi-dimensional output, a
+template variable <code>var_tpl</code>, i.e., a variable with the same shape
+as the desired output. 
+The type of <code>var_out</code> will be the same as <code>val_srt</code>.
+Be sure to encode this type with the appropriate decimal point
+and floating point suffix when <code>val_srt</code> is a &textldquo;naked constant&textrdquo;
+rather than a variable.
+For example, to produce an array of shorts (signed two-byte integers), 
+integers (signed four-byte integers), unsigned 64-bit integers,
+floats, or doubles use
+</para><example endspaces=" ">
+<pre xml:space="preserve">var_out=array(1s,val_ncr,$dmn_nm); // NC_SHORT array
+var_out=array(1,val_ncr,$dmn_nm); // NC_INT array
+var_out=array(1ull,val_ncr,$dmn_nm); // NC_UINT64 array
+var_out=array(1f,val_ncr,$dmn_nm); // NC_FLOAT array
+var_out=array(1.,val_ncr,$dmn_nm); // NC_DOUBLE array
+</pre></example>
+
+<para>Once the associated dimensions have been defined, the start and
+increment arguments may be supplied as values, mathmatical expressions,
+or variables:
+</para><example endspaces=" ">
+<pre xml:space="preserve">var_out=array(1,1,$time); // 1,2,3,4,5,6,7,8,9,10
+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="940">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
+used to specify multi-slabs, wrapped co-ordinates, negative stride or
+coordinate value limits.
+However with a bit of syntactic magic they are all are possible. 
+<command>ncap2</command> accepts (in fact, it requires) <var>N</var>-hyperslab
+arguments for a variable of rank <var>N</var>:
+</para><example endspaces=" ">
+<pre xml:space="preserve">var1(arg1,arg2 ... argN);
+</pre></example>
+<para>where each hyperslab argument is of the form
+</para><example endspaces=" ">
+<pre xml:space="preserve">start:end:stride 
+</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.
+</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). 
+The number of hyperslab arguments MUST equal the variable&textrsquo;s rank.
+</para><sp value="1" line=" 1"></sp>
+
+<noindent></noindent> <para><strong>Hyperslabs on the Right Hand Side of an assign&linebreak;</strong>
+</para>
+<para>A simple 1D example:
+</para><example endspaces=" "> 
+<pre xml:space="preserve">($time.size=10)
+od[$time]={20,22,24,26,28,30,32,34,36,38};
+
+od(7);     // 34
+od(7:);    // 34,36,38
+od(:7);    // 20,22,24,26,28,30,32,34 
+od(::4);   // 20,28,36
+od(1:6:2)  // 22,26,30
+od(:)      // 20,22,24,26,28,30,32,34,36,38 
+</pre></example>
+
+<para>A more complex three dimensional example:
+</para><example endspaces=" ">
+<pre xml:space="preserve">($lat.size=2,$lon.size=4)
+th[$time,$lat,$lon]=      
+                          {1, 2, 3, 4, 5, 6, 7, 8,
+                          9,10,11,12,13,14,15,16,
+                          17,18,19,20,21,22,23,24,
+                          -99,-99,-99,-99,-99,-99,-99,-99,
+                          33,34,35,36,37,38,39,40,
+                          41,42,43,44,45,46,47,48,
+                          49,50,51,52,53,54,55,56,
+                          -99,58,59,60,61,62,63,64,
+                          65,66,67,68,69,70,71,72,
+                          -99,74,75,76,77,78,79,-99 };
+
+th(1,1,3);        // 16
+th(2,0,:);        // 17, 18, 19, 20
+th(:,1,3);        // 8, 16, 24, -99, 40, 48, 56, 64, 72, -99 
+th(::5,:,0:3:2); // 1, 3, 5, 7, 41, 43, 45, 47
+</pre></example>
+
+<para>If hyperslab arguments collapse to a single value (a cross-section has
+been specified), then that dimension is removed from the returned
+variable. 
+If all the values collapse then a scalar variable is returned.
+So, for example, the following is valid: 
+</para><example endspaces=" ">
+<pre xml:space="preserve">th_nw=th(0,:,:)+th(9,:,:); 
+// th_nw has dimensions $lon,$lat 
+// NB: the time dimension has become degenerate
+</pre></example>
+
+<para>The following is invalid:
+</para><example endspaces=" ">
+<pre xml:space="preserve">th_nw=th(0,:,0:1)+th(9,:,0:1);
+</pre></example>
+<para>because the <code>$lon</code> dimension now only has two elements.
+The above can be calculated by using a LHS cast with 
+<code>$lon_nw</code> as replacement dim for <code>$lon</code>: 
+</para><example endspaces=" ">
+<pre xml:space="preserve">defdim("lon_nw",2);
+th_nw[$lat,$lon_nw]=th(0,:,0:1) +th(9,:,0:1);
+</pre></example>
+
+<noindent></noindent> <para><strong>Hyperslabs on the Left Hand Side of an assign&linebreak;</strong>
+<noindent></noindent> When hyperslabing on the LHS, the expression on the RHS must 
+evaluate to a scalar or a variable/attribute with the same number of 
+elements as the LHS hyperslab.
+Set all elements of the last record to zero:
+</para><example endspaces=" ">
+<pre xml:space="preserve">th(9,:,:)=0.0;
+</pre></example>
+<para>Set first element of each lon element to 1.0:
+</para><example endspaces=" ">
+<pre xml:space="preserve">th(:,:,0)=1.0;
+</pre></example>
+<para>One may hyperslab on both sides of an assign.
+For example, this sets the last record to the first record:
+</para><example endspaces=" ">
+<pre xml:space="preserve">th(9,:,:)=th(0,:,:);
+</pre></example>
+<para>Say <var>th0</var> represents pressure at height=0 and 
+<var>th1</var> represents pressure at height=1.
+Then it is possible to insert these hyperslabs into the records
+</para><example endspaces=" ">
+<pre xml:space="preserve">prs[$time,$height,$lat,$lon]=0.0;
+prs(:,0,:,:)=th0;
+prs(:,1,:,:)=th1
+</pre></example>
+
+<noindent></noindent> <para><strong>Reverse method</strong>&linebreak;
+<cindex index="cp" spaces=" "><indexterm index="cp" number="941">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., 
+</para><example endspaces=" "> 
+<pre xml:space="preserve">th_rv=th(1 ,:,:).reverse($lon); // {12,11,10,9 }, {16,15,14,13}
+od_rv=od.reverse($time);        // {38,36,34,32,30,28,26,24,22,20}
+</pre></example>
+
+<noindent></noindent> <para><strong>Permute method</strong>p&linebreak;
+<cindex index="cp" spaces=" "><indexterm index="cp" number="942">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. 
+If the first dimension in the variable is of record type then this must
+remain the first dimension. 
+If you want to change the record dimension then consider using
+<command>ncpdq</command>. 
+</para>
+<para>Consider the variable:
+</para><example endspaces=" ">
+<pre xml:space="preserve">float three_dmn_var(lat,lev,lon);
+three_dmn_var_prm=three_dmn_var.permute($lon,$lat,$lev);
+// The permuted values are
+three_dmn_var_prm= 
+  0,4,8,
+  12,16,20,
+  1,5,9,
+  13,17,21,
+  2,6,10,
+  14,18,22,
+  3,7,11,
+  15,19,23;
+</pre></example>
+
+<html endspaces=" ">
+<a name="ncap_att"></a> <!&textndash; http://nco.sf.net/nco.html#ncap_att &textndash;>
+</html>
+</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="943">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=" ">
+<pre xml:space="preserve">global&arobase;text="Test Attributes"; /* Assign a global variable attribute */
+a1[$time]=time*20;
+a1&arobase;long_name="Kelvin";
+a1&arobase;min=a1.min();
+a1&arobase;max=a1.max();
+a1&arobase;min++;
+--a1&arobase;max; q
+a1(0)=a1&arobase;min;
+a1($time.size-1)=a1&arobase;max;
+</pre></example>
+
+<para>A <emph>value list</emph> can be used on the RHS of an assign...
+<cindex index="cp" spaces=" "><indexterm index="cp" number="944">value list</indexterm></cindex>
+</para><example endspaces=" ">
+<pre xml:space="preserve">a1&arobase;trip1={1,2,3} ;
+a1&arobase;triplet={a1&arobase;min,(a1&arobase;min+a1&arobase;max)/2,a1&arobase;max}; 
+</pre></example>
+<para>The netCDF specification allows all attribute types to have a size
+greater than one. 
+The maximum is defined by <code>NC_MAX_ATTRS</code>.
+The following is an <command>ncdump</command> of the metadata for variable <var>a1</var> 
+</para><example endspaces=" "> 
+<pre xml:space="preserve">double a1(time) ;
+  a1:long_name = "Kelvin" ;
+  a1:max = 199. ;
+  a1:min = 21. ;
+  a1:trip1 = 1, 2, 3 ;
+  a1:triplet = 21., 110., 199. ;
+</pre></example>
+
+<para>The <code>size()</code> method can be used with attributes.
+For example, to save an attribute text string in a variable,
+</para><example endspaces=" ">
+<pre xml:space="preserve">defdim("sng_len", a1&arobase;long_name.size());
+sng_arr[$sng_len]=a1&arobase;long_name; // sng_arr now contains "Kelvin" 
+</pre></example>
+<para>Attributes defined in a script are stored in memory and are written to Output after script completion.
+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="945">attribute propagation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="946">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>It is possible to have a regular assign statement for which both propagation and inheritance occur.
+</para></listitem></itemize>
+
+<example endspaces=" ">
+<pre xml:space="preserve">// prs_mdp inherits attributes from P0:
+prs_mdp[time,lat,lon,lev]=P0*hyam+hybm*PS;
+// th_min inherits attributes from three_dmn_var_dbl:
+th_min=1.0 + 2*three_dmn_var_dbl.min($time);
+</pre></example>
+
+<para>If the attribute name contains non-regular characters use ID quoting. See <pxref label="ID-Quoting"><xrefnodename>ID Quoting</xrefnodename></pxref>
+</para><example endspaces=" ">
+<pre xml:space="preserve">'b..m1&arobase;c--lost'=23;
+</pre></example>
+
+<html endspaces=" ">
+<a name="ncap_num"></a> <!&textndash; http://nco.sf.net/nco.html#ncap_num &textndash;>
+</html>
+</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="947">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
+the netCDF4 library and the output file must be <acronym><acronymword>HDF5</acronymword></acronym>.
+</para>
+<example endspaces=" ">
+<pre xml:space="preserve">n1[$time]=1UL; // n1 will now by type <code>NC_UINT</code>
+n2[$lon]=4b;   // n2 will be of type <code>NC_BYTE</code>
+n3[$lat]=5ull; // n3 will be of type <code>NC_UINT64</code>  
+n3&arobase;a1=6.0d;   // attribute will be type <code>NC_DOUBLE</code>
+n3&arobase;a2=-666L;  // attribute will be type <code>NC_INT</code>
+</pre></example>
+
+<para>A floating point number without a postfix will default to
+<code>NC_DOUBLE</code>. 
+An integer without a postfix will default to type <code>NC_INT</code>. 
+There is no postfix for characters, use a quoted string instead.
+</para><example endspaces=" ">
+<pre xml:space="preserve">n4[$rlev]=0.1      // n4 will be of type <code>NC_DOUBLE</code>
+n5[$lon_grd]=2.0   // n5 will be of type <code>NC_DOUBLE</code>
+n6[$gds_crd]=2e3;  // n6 will be of type <code>NC_DOUBLE</code>
+n7[$gds_crd]=2e3f;  // n7 will be of type <code>NC_FLOAT</code>
+n6&arobase;a1=41;         // attribute will be type <code>NC_INT</code>
+n6&arobase;a2=-21;        // attribute will be type <code>NC_INT</code>  
+n6&arobase;units="kelvin" // attribute will be type <code>NC_CHAR</code>
+</pre></example> 
+
+<table commandarg="asis" spaces=" " endspaces=" ">
+<tableentry><tableterm><item spaces=" "><itemformat command="asis"><strong>netCDF3/4 Types</strong></itemformat></item>
+</tableterm></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">b|B	 </itemformat></item>
+</tableterm><tableitem>  <para><code>NC_BYTE</code>, a signed 1-byte integer 
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">none	 </itemformat></item>
+</tableterm><tableitem>  <para><code>NC_CHAR</code>, an ISO/ASCII character 
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">s|S	 </itemformat></item>
+</tableterm><tableitem>  <para><code>NC_SHORT</code>, a signed 2-byte integer 
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">l|L	 </itemformat></item>
+</tableterm><tableitem>  <para><code>NC_INT</code>, a signed 4-byte integer 
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">f|F	 </itemformat></item>
+</tableterm><tableitem>  <para><code>NC_FLOAT</code>, a single-precision (4-byte) floating point number 
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">d|D</itemformat></item>
+</tableterm><tableitem>  <para><code>NC_DOUBLE</code>, a double-precision (8-byte) floating point number 
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis"><strong>netCDF4 Types</strong></itemformat></item>
+</tableterm></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">ub|UB	 </itemformat></item>
+</tableterm><tableitem>  <para><code>NC_UBYTE</code>, an unsigned 1-byte integer 
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">us|US </itemformat></item>
+</tableterm><tableitem>  <para><code>NC_USHORT</code>, an unsigned 2-byte integer 
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">u|U|ul|UL	 </itemformat></item>
+</tableterm><tableitem>  <para><code>NC_UINT</code>, an unsigned 4-byte integer 
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">ll|LL	 </itemformat></item>
+</tableterm><tableitem>  <para><code>NC_INT64</code>, a signed 8-byte integer 
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">ull|ULL </itemformat></item>
+</tableterm><tableitem>  <para><code>NC_UINT64</code>, an unsigned 8-byte integer 
+</para></tableitem></tableentry></table>
+
+<html endspaces=" ">
+<a name="ncap_if"></a> <!&textndash; http://nco.sf.net/nco.html#ncap_if &textndash;>
+</html>
+</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="948">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. 
+</para><example endspaces=" ">
+<pre xml:space="preserve">if(exp1)
+   stmt1;
+else if(exp2)     
+   stmt2;
+else
+   stmt3;
+
+# Can use code blocks as well:
+if(exp1){
+   stmt1;
+   stmt1a;
+   stmt1b;
+} else if(exp2)     
+   stmt2; 
+else {
+   stmt3;
+   stmt3a;
+   stmt3b;
+}     
+</pre></example>
+
+<!-- comment Truth -->
+<noindent></noindent> <para>For a variable or attribute expression to be logically true
+all its non-missing value elements must be logically true, i.e.,
+non-zero. 
+The expression can be of any type. 
+<w>Unlike C</w> there is no short-circuiting of an expression with the 
+OR (<code>||</code>) and AND (<code>&&</code>) operators. 
+The whole expression is evaluated regardless if one of the AND/OR
+operands are True/False.
+</para><example endspaces=" ">
+<pre xml:space="preserve"># Simple example
+if(time>0)
+  print("All values of time are greater than zero\n");
+else if( time<0)
+  print("All values of time are less than zero\n");   
+else {
+  time_max=time.max();
+  time_min=time.min();
+  print("min value of time=");print(time_min,"%f");
+  print("max value of time=");print(time_max,"%f");
+}
+
+# Example from ddra.nco
+if(fl_typ==fl_typ_gcm){
+  var_nbr_apx=32;
+  lmn_nbr=1.0*var_nbr_apx*varsz_gcm_4D; /* [nbr] Variable size */
+  if(nco_op_typ==nco_op_typ_avg){
+    lmn_nbr_avg=1.0*var_nbr_apx*varsz_gcm_4D; // Block size
+    lmn_nbr_wgt=dmnsz_gcm_lat; /* [nbr] Weight size */
+  } // !nco_op_typ_avg
+}else if(fl_typ==fl_typ_stl){
+  var_nbr_apx=8;
+  lmn_nbr=1.0*var_nbr_apx*varsz_stl_2D; /* [nbr] Variable size */
+  if(nco_op_typ==nco_op_typ_avg){
+    lmn_nbr_avg=1.0*var_nbr_apx*varsz_stl_2D; // Block size
+    lmn_nbr_wgt=dmnsz_stl_lat; /* [nbr] Weight size */
+  } // !nco_op_typ_avg
+} // !fl_typ
+</pre></example>
+
+<noindent></noindent> <para><strong>Conditional Operator &linebreak;</strong>
+</para><example endspaces=" ">
+<pre xml:space="preserve">// netCDF4 needed for this example
+th_nw=(three_dmn_var_sht >= 0 ? three_dmn_var_sht.uint() : \
+       three_dmn_var_sht.int()); 
+</pre></example>
+
+<html endspaces=" ">
+<a name="ncap_prn"></a> <!&textndash; http://nco.sf.net/nco.html#ncap_prn &textndash;>
+</html>
+</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="949">print() <command>ncap2</command></indexterm></cindex>
+<example endspaces=" ">
+<pre xml:space="preserve">print(variable_name/attribute name/string, format string);
+</pre></example>  
+
+<noindent></noindent> <para>The print function takes a variable name or attribute name or
+a quoted string and prints the contents in a in a similar fashion to
+<code>ncks -H</code>.
+There is also an optional C-language style format string argument. 
+Currently the print function cannot print <acronym><acronymword>RAM</acronymword></acronym> variables or expressions 
+such as <code>'print(var_msk*3+4)'</code>. 
+To print an expression, first evaluate it as a non-<acronym><acronymword>RAM</acronymword></acronym> variable (so it
+will be saved and can be printed), and then print the variable.
+</para>
+<noindent></noindent> <para>examples
+</para><example endspaces=" ">
+<pre xml:space="preserve">print(lon);
+lon[0]=0 
+lon[1]=90 
+lon[2]=180 
+lon[3]=270 
+
+print(lon_2D_rrg,"%3.2f,");
+0.00,0.00,180.00,0.00,180.00,0.00,180.00,0.00,
+
+print(mss_val_fst&arobase;_FillValue);
+mss_val_fst&arobase;_FillValue, size = 1 NC_FLOAT, value = -999
+
+print("This function \t is monotonic\n");
+This function is 	  monotonic
+</pre></example>
+
+<html endspaces=" ">
+<a name="ncap_miss"></a> <!&textndash; http://nco.sf.net/nco.html#ncap_miss &textndash;>
+</html>
+</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="950">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=" ">
+<pre xml:space="preserve">Arithmetic operators ( * / % + - ^ )
+Binary Operators     ( >, >= <, <= ==, !=,==,||,&&, >>,<< ) 
+Assign Operators     ( +=,-=,/=, *= ) 
+
+var1 'op' var2
+</pre></example>
+
+<noindent></noindent> <para>If var1 has a missing value then this is the value used in the 
+operation, otherwise the missing value for var2 is used. 
+If during the element-by-element operation an element from either
+operand is equal to the missing value then the missing value is carried 
+through. 
+In this way missing values &textrsquo;percolate&textrsquo; or propagate through an
+expression.&linebreak;  
+Missing values associated with Output variables are stored in memory and
+are written to disk after the script finishes. 
+During script execution its possible (and legal) for the missing value
+of a variable to take on several different values. 
+</para><example endspaces=" "> 
+<pre xml:space="preserve"># Consider the variable:
+int rec_var_int_mss_val_int(time); =-999,2,3,4,5,6,7,8,-999,-999;
+rec_var_int_mss_val_int:_FillValue = -999;
+
+n2=rec_var_int_mss_val_int + rec_var_int_mss_val_int.reverse($time); 
+
+n2=-999,-999,11,11,11,11,11,11,999,-999;
+</pre></example>
+
+<html endspaces=" ">
+<a name="set_miss"></a> <!&textndash; http://nco.sf.net/nco.html#set_miss &textndash;>
+<a name="get_miss"></a> <!&textndash; http://nco.sf.net/nco.html#get_miss &textndash;>
+<a name="change_miss"></a> <!&textndash; http://nco.sf.net/nco.html#change_miss &textndash;>
+<a name="number_miss"></a> <!&textndash; http://nco.sf.net/nco.html#number_miss &textndash;>
+</html>
+<para>The following methods manipulate missing value information associated
+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="951"><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.
+ NB: This only changes the missing value attribute. 
+ Missing values in the original variable remain unchanged, and thus 
+ are no long considered missing values.
+ They are &textldquo;orphaned&textrdquo;.
+ Thus <code>set_miss()</code> is normally used only when creating new
+ variables.
+ 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="952"><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="953"><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="954"><code>delete_miss()</code></indexterm></cindex>
+ <para>Deletes 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="955"><code>number_miss()</code></indexterm></cindex>
+ <para>Counts the number of missing values a variable contains.
+</para></tableitem></tableentry></table>
+
+<example endspaces=" ">
+<pre xml:space="preserve">th=three_dmn_var_dbl;
+th.change_miss(-1e10d);
+/* Set values less than 0 or greater than 50 to missing value */
+where(th < 0.0 || th > 50.0) th=th.get_miss();
+
+# Another example:
+new[$time,$lat,$lon]=1.0;
+new.set_miss(-997.0);
+
+// Extract only elements divisible by 3
+where (three_dmn_var_dbl%3 == 0)
+     new=three_dmn_var_dbl; 
+elsewhere
+     new=new.get_miss();   
+
+// Print missing value and variable summary
+mss_val_nbr=three_dmn_var_dbl.number_miss();
+print(three_dmn_var_dbl&arobase;_FillValue);
+print("Number of missing values in three_dmn_var_dbl: ");
+print(mss_val_nbr,"%d");
+print(three_dmn_var_dbl);
+</pre></example>
+
+<html endspaces=" ">
+<a name="ncap_mtd"></a> <!&textndash; http://nco.sf.net/nco.html#ncap_mtd &textndash;>
+</html>
+</subsection>
+<node name="Methods-and-functions" spaces=" "><nodename>Methods and functions</nodename><nodenext spaces=" ">RAM variables</nodenext><nodeprev spaces=" ">Missing values ncap2</nodeprev><nodeup spaces=" ">ncap2 netCDF Arithmetic Processor</nodeup></node>
+<subsection spaces=" "><sectiontitle>Methods and functions</sectiontitle>
+
+<para>The convention within this document is that methods can be used as 
+functions. 
+However, functions are not and cannot be used as methods.
+Methods can be daisy-chained d and their syntax is cleaner than functions. 
+Method names are reserved words and CANNOT be used as variable names.  
+The command <code>ncap2 -f</code> shows the complete list of methods available
+on your build. 
+</para><example endspaces=" ">
+<pre xml:space="preserve">n2=sin(theta) 
+n2=theta.sin() 
+n2=sin(theta)^2 + cos(theta)^2 
+n2=theta.sin().pow(2) + theta.cos()^2
+</pre></example>
+
+<para>This statement chains together methods to convert three_dmn_var_sht to
+type double, average it, then convert this back to type short: 
+</para><example endspaces=" ">
+<pre xml:space="preserve">three_avg=three_dmn_var_sht.double().avg().short();
+</pre></example>
+
+<sp value="1" line=" 1"></sp>
+<noindent></noindent> <para><strong>Aggregate Methods &linebreak;</strong> 
+<noindent></noindent> These methods mirror the averaging types available in <command>ncwa</command>. The arguments to the methods are the dimensions to average over. Specifying no dimensions is equivalent to specifying all dimensions i.e., averaging over all dimensions. A masking variable and a weighting variable can be manually created and applied as needed.
+</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="956">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="957">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="958">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="959">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="960">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="961">ttl()</indexterm></cindex>
+<para>Sum of values
+</para></tableitem></tableentry></table>
+
+<example endspaces=" ">
+<pre xml:space="preserve">// Average a variable over time
+four_time_avg=four_dmn_rec_var($time);
+</pre></example>
+
+<sp value="1" line=" 1"></sp>
+<noindent></noindent> <para><strong> Packing Methods &linebreak; </strong> 
+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="962">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="963">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="964">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="965">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="966">unpack()</indexterm></cindex>
+<para>The standard unpacking algorithm is applied. 
+</para></tableitem></tableentry></table>
+
+<noindent></noindent> <para><strong>Basic Methods &linebreak;</strong>
+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="967">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="968">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="969">type()</indexterm></cindex>
+<para>Returns the netcdf type (see previous section)
+</para></tableitem></tableentry></table>
+
+<sp value="1" line=" 1"></sp>
+<noindent></noindent> <para><strong>Utility Methods &linebreak;</strong>
+These functions are used to manipulate missing values and <acronym><acronymword>RAM</acronymword></acronym> variables.
+<pxref label="Missing-values-ncap2"><xrefnodename>Missing values ncap2</xrefnodename></pxref> 
+</para>
+<table commandarg="code" spaces=" " endspaces=" ">
+<tableentry><tableterm><item spaces=" "><itemformat command="code">set_miss(expr)</itemformat></item>
+</tableterm><tableitem> <para>Takes one argument the missing value. Sets or overwrites the existing missing value. The argument given is converted if necessary to the variable type
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">change_miss(expr)</itemformat></item>
+</tableterm><tableitem> <para>Changes the missing value elements of the variable to the new missing value (n.b. an expensive function).
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">get_miss() </itemformat></item>
+</tableterm><tableitem> <para>Returns the missing value of a variable in Input or Output  
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">delete_miss()</itemformat></item>
+</tableterm><tableitem> <para>Deletes the missing value associated with a variable.
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">ram_write()</itemformat></item>
+</tableterm><tableitem> <para>Writes a <acronym><acronymword>RAM</acronymword></acronym> variable to disk i.e., converts it to a regular disk type variable
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">ram_delete()</itemformat></item>
+</tableterm><tableitem> <para>Deletes a <acronym><acronymword>RAM</acronymword></acronym> variable or an attribute 
+</para></tableitem></tableentry></table>
+
+<sp value="1" line=" 1"></sp>
+<noindent></noindent> <para><strong>PDQ Methods &linebreak;</strong>
+See <pxref label="ncpdq-netCDF-Permute-Dimensions-Quickly"><xrefnodename>ncpdq netCDF Permute Dimensions Quickly</xrefnodename></pxref>
+</para><table commandarg="code" spaces=" " endspaces=" ">
+<tableentry><tableterm><item spaces=" "><itemformat command="code">reverse(dim args)</itemformat></item>
+</tableterm><tableitem> <para>Reverses the dimension ordering of elements in a variable. 
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">permute(dim args)</itemformat></item>
+</tableterm><tableitem> <para>Re-shapes variables by re-ordering the dimensions. All the dims of the variable must be specified in the arguments. A limitation of this permute (unlike ncpdq) is that the record dimension cannot be re-assigned. 
+</para></tableitem></tableentry></table> 
+<para>// Swap dimensions about and reorder along lon
+</para><example endspaces=" ">
+<pre xml:space="preserve">lat_2D_rrg_new=lat_2D_rrg.permute($lon,$lat).reverse($lon);
+lat_2D_rrg_new=0,90,-30,30,-30,30,-90,0
+</pre></example>
+
+<sp value="1" line=" 1"></sp>
+<noindent></noindent> <para><strong>Type Conversion Methods &linebreak;</strong>
+<noindent></noindent> These methods allow <command>ncap2</command> to convert variables and attributes to the different netcdf types. For more details on automatic and manual type conversion see (<pxref label="Type-Conversion"><xrefnodename>Type Conversion</xrefnodename></pxref>). You can only use the new netCDF4 types if you have compiled/links <acronym><acronymword>NCO</acronymword></acronym> with the netCDF4 library and the Output file is HDF5.
+</para>
+<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="970">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="971">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="972">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="973">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="974">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="975">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="976">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="977">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="978">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="979">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="980">unit64()</indexterm></cindex>
+ <para>convert to <code>NC_UINT64</code>, an unsigned 8-byte integer
+</para></tableitem></tableentry></table>
+
+<noindent></noindent> <para><strong>Intrinsic Mathematical Methods &linebreak;</strong>
+The list of mathematical methods is system dependant.
+For the full list <pxref label="Intrinsic-mathematical-methods"><xrefnodename>Intrinsic mathematical methods</xrefnodename></pxref> 
+</para>
+<para>All the mathematical methods take a single argument except <code>atan2()</code>
+and <code>pow()</code> which take two. 
+If the operand type is less than <emph>float</emph> then the result will be of
+type <emph>float</emph>. 
+Arguments of type <emph>double</emph> yield results of type <emph>double</emph>. 
+Like the other methods, you are free to use the mathematical methods as functions. 
+</para>
+<example endspaces=" ">
+<pre xml:space="preserve">n1=pow(2,3.0f)    // n1 type float
+n2=atan2(2,3.0)   // n2 type double
+n3=1/(three_dmn_var_dbl.cos().pow(2))-tan(three_dmn_var_dbl)^2; // n3 type double
+</pre></example>
+
+<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="981"><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>
+<para>Unlike regular variables, <acronym><acronymword>RAM</acronymword></acronym> variables are never written to disk.
+Hence using <acronym><acronymword>RAM</acronymword></acronym> variables in place of regular variables (especially
+within loops) significantly increases execution speed.
+Variables that are frequently accessed within <code>for</code> or <code>where</code>
+clauses provide the greatest opportunities for optimization. 
+To declare and define a <acronym><acronymword>RAM</acronymword></acronym> variable simply prefix the variable name
+with an asterisk (<code>*</code>) when the variable is declared/initialized.
+To delete a <acronym><acronymword>RAM</acronymword></acronym> variables (and recover their memory) use the
+<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="982">ram_write()</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="983">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
+temp.ram_delete();              // Delete RAM variable
+temp_avg.ram_write();           // Write Variable to output
+
+// Create and increment a RAM variable from "one" in Input
+*one++;   
+// Create RAM variables from the variables three and four in Input.
+// Multiply three by 10 and add it to four. 
+*four+=*three*=10; // three=30, four=34 
+</pre></example>
+
+<html endspaces=" ">
+<a name="where"></a> <!&textndash; http://nco.sf.net/nco.html#where &textndash;>
+<a name="ncap_whr"></a> <!&textndash; http://nco.sf.net/nco.html#ncap_whr &textndash;>
+<a name="ncap_where"></a> <!&textndash; http://nco.sf.net/nco.html#ncap_where &textndash;>
+</html>
+</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="984">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>
+<example endspaces=" ">
+<pre xml:space="preserve">// Single assign (the 'elsewhere' block is optional)
+where(mask) 
+   var1=expr1;
+elsewhere
+   var1=expr2;	   	
+
+// Multiple assigns
+where(mask){
+    var1=expr1;
+    var2=expr2;
+    ...
+}elsewhere{
+    var1=expr3
+    var2=expr4
+    var3=expr5;
+    ...
+}
+</pre></example>
+
+<itemize commandarg="bullet" spaces=" " endspaces=" "><itemprepend><formattingcommand command="bullet"/></itemprepend>
+<listitem spaces=" "><prepend>•</prepend><para>The only expression allowed in the predicate of a where is assign,
+i.e., &textrsquo;var=expr&textrsquo;. 
+This assign differs from a regular <command>ncap2</command> assign. 
+The LHS var must already exist in Input or Output. 
+The RHS expression must evaluate to a scalar or a variable/attribute of
+the same size as the LHS variable.
+</para></listitem><listitem spaces=" "><prepend>•</prepend><para>Consider when both the LHS and RHS are variables: 
+For every element where mask condition is True, the corresponding LHS
+variable element is re-assigned to its partner element on the RHS. 
+In the elsewhere part the mask is logically inverted and the assign
+process proceeds as before.
+</para></listitem><listitem spaces=" "><prepend>•</prepend><para>If the mask dimensions are a subset of the LHS variable&textrsquo;s
+dimensions, then it is made to conform; if it cannot be made to conform 
+then script execution halts.   
+</para></listitem><listitem spaces=" "><prepend>•</prepend><para>Missing values in the mask evaluate to False in the where 
+code/block statement and to True in the elsewhere block/statement. 
+LHS variable elements set to missing value are not re-assigned.
+For these reasons, do not explicitly reference missing values in the
+masking condition, e.g., <code>where(foo=foo.get_missing()) foo=1;</code>
+will not work as expected.
+</para></listitem></itemize>
+
+<para>Example:
+Consider the variables <code>float lon_2D_rct(lat,lon);</code> and
+<code>float var_msk(lat,lon);</code>. 
+Suppose we wish to multiply by two the elements for which <code>var_msk</code> 
+<w>equals 1</w>: 
+</para><example endspaces=" ">
+<pre xml:space="preserve">where(var_msk==1) lon_2D_rct=2*lon_2D_rct;
+</pre></example>
+<para>Suppose that we have the variable <code>int RDM(time)</code> and that we want
+to set its values less than 8 or greater than 80 <w>to 0</w>:
+</para><example endspaces=" ">
+<pre xml:space="preserve">where(RDM < 8 || RDM > 80) RDM=0;          
+</pre></example>
+
+<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>, 
+<code>double temperature(south_north,east_west)</code>.
+To find the average temperature in a region bounded by
+[<var>lat_min</var>,<var>lat_max</var>] and [<var>lon_min</var>,<var>lon_max</var>]:
+</para><example endspaces=" ">
+<pre xml:space="preserve">temperature_msk[$south_north,$east_west]=0.0;
+where(lat >= lat_min && lat <= lat_max) && (lon >= lon_min && lon <= lon_max)
+  temperature_msk=temperature;	
+elsewhere
+  temperature_msk=temperature&arobase;_FillValue;
+
+temp_avg=temperature_msk.avg();
+temp_max=temperature.max();
+</pre></example>
+
+<html endspaces=" ">
+<a name="ncap_lop"></a> <!&textndash; http://nco.sf.net/nco.html#ncap_lop &textndash;>
+</html>
+</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="985">while()</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="986">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. 
+To break out of a loop use the <command>break</command> command. 
+To iterate to the next cycle use the <command>continue</command> command. 
+</para>
+<example endspaces=" ">
+<pre xml:space="preserve">// Set elements in variable double temp(time,lat) 
+// If element < 0 set to 0, if element > 100 set to 100
+*sz_idx=$time.size;
+*sz_jdx=$lat.size;
+
+for(*idx=0;idx<sz_idx;idx++)
+  for(*jdx=0;jdx<sz_jdx;jdx++)
+    if(temp(idx,jdx) > 100) temp(idx,jdx)=100.0; 
+      else if(temp(idx,jdx) < 0) temp(idx,jdx)=0.0;
+
+// Are values of co-ordinate variable double lat(lat) monotonic?
+*sz=$lat.size;
+
+for(*idx=1;idx<sz;idx++)
+  if(lat(idx)-lat(idx-1) < 0.0) break;
+
+if(idx == sz) print("lat co-ordinate is monotonic\n");
+   else print("lat co-ordinate is NOT monotonic\n");
+
+// Sum odd elements	
+*idx=0;
+*sz=$lat_nw.size;
+*sum=0.0;
+
+while(idx<sz){
+  if(lat(idx)%2) sum+=lat(idx);
+  idx++;
+}
+
+ram_write(sum);
+print("Total of odd elements ");print(sum);print("\n"); 
+</pre></example>
+
+<html endspaces=" ">
+<a name="ncap_inc"></a> <!&textndash; http://nco.sf.net/nco.html#ncap_inc &textndash;>
+</html>
+</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="987"><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"
+</pre></example>
+<para>The script filename is searched relative to the run directory. 
+It is possible to nest include files to an arbitrary depth. 
+A handy use of inlcude files is to store often used constants. 
+Use <acronym><acronymword>RAM</acronymword></acronym> variables if you do not want these constants written to
+<var>output-file</var>.  
+</para><example endspaces=" ">
+<pre xml:space="preserve">// script.nco
+// Sample file to #include in ncap2 script
+*pi=3.1415926535; // RAM variable, not written to output
+*h=6.62607095e-34; // RAM variable, not written to output
+e=2.71828; // Regular (disk) variable, written to output
+</pre></example>
+
+<html endspaces=" ">
+<a name="srt"></a> <!&textndash; http://nco.sf.net/nco.html#srt &textndash;>
+<a name="sort"></a> <!&textndash; http://nco.sf.net/nco.html#sort &textndash;>
+<a name="remap"></a> <!&textndash; http://nco.sf.net/nco.html#remap &textndash;>
+</html>
+</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="988"><command>sort</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="989"><command>asort</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="990"><command>dsort</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="991"><command>remap</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="992"><command>unmap</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="993"><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:
+</para><example endspaces=" ">
+<pre xml:space="preserve">var_out=sort(var_in,&srt_map); // Ascending sort
+var_out=asort(var_in,&srt_map); // Accending sort 
+var_out=dsort(var_in,&srt_map); // Desending sort     
+var_out=remap(var_in,srt_map); // Apply srt_map to var_in
+var_out=unmap(var_in,srt_map); // Reverse what srt_map did to var_in
+dsr_map=invert_map(srt_map); // Produce "de-sort" map that inverts srt_map
+</pre></example>
+<para>The first two functions, <command>sort()</command> and <command>asort()</command>
+sort, in ascending order, all the elements of <var>var_in</var> (which can be
+a variable or attribute) without regard to any dimensions.
+The third function, <command>dsort()</command> does the same but sorts in
+descending order. 
+Remember that ascending and descending sorts are specified by
+<command>asort()</command> and <command>dsort()</command>, respectively.
+</para>
+<para>These three functions are overloaded to take a second, optional argument 
+called the sort map <var>srt_map</var>, which should be supplied as a
+call-by-reference variable, i.e., preceded with an ampersand.
+If the sort map does not yet exist, then it will be created and 
+returned as an integer type the same shape as the input variable.
+</para>
+<para>The output <var>var_out</var> of each sort function is a sorted version of
+the input, <var>var_in</var>.
+The output <var>var_out</var> of the two mapping functions the result of
+applying (with <command>remap()</command> or un-applying (with <command>unmap()</command>) 
+the sort map <var>srt_map</var> to the input <var>var_in</var>.
+To apply the sort map with <command>remap()</command> the size of the variable
+must be exactly divisible by the size of the sort map. 
+</para>
+<para>The final function <command>invert_map()</command> returns the so-called
+de-sorting map <var>dsr_map</var> which is inverse map of the input map
+<var>srt_map</var>. 
+This gives the user access to both the forward and inverse sorting maps
+which can be useful in special situations.
+</para><example endspaces=" ">
+<pre xml:space="preserve">a1[$time]={10,2,3,4,6,5,7,3,4,1};
+a1_sort=sort(a1);
+print(a1_sort);
+// 1, 2, 3, 3, 4, 4, 5, 6, 7, 10;
+
+a2[$lon]={2,1,4,3};
+a2_sort=sort(a2,&a2_map);
+print(a2);
+// 1, 2, 3, 4
+print(a2_map);
+// 1, 0, 3, 2;
+</pre></example>  
+
+<para>If the map variable does not exist prior to the <command>sort()</command> call,
+then it will be created with the same shape as the input variable and be
+of type <code>NC_INT</code>. 
+If the map variable already exists, then the only restriction is that it
+be of at least the same size as the input variable. 
+To apply a map use <code>remap(var_in,srt_map)</code>. 
+</para><example endspaces=" ">
+<pre xml:space="preserve">defdim("nlat",5);
+
+a3[$lon]={2,5,3,7};
+a4[$nlat,$lon]={
+ 1, 2, 3, 4, 
+ 5, 6, 7, 8,
+ 9,10,11,12,
+ 13,14,15,16,
+ 17,18,19,20};
+
+a3_sort=sort(a3,&a3_map);
+print(a3_map);
+// 0, 2, 1, 3;
+
+a4_sort=remap(a4,a3_map);
+print(a4_sort);
+// 1, 3, 2, 4,
+// 5, 7, 6, 8,
+// 9,11,10,12,
+// 13,15,14,16,
+// 17,19,18,20;
+
+a3_map2[$nlat]={4,3,0,2,1};
+
+a4_sort2=remap(a4,a3_map2);
+print(a4_sort2);
+// 3, 5, 4, 2, 1
+// 8, 10, 9,7, 6, 
+// 13,15,14,12,11, 
+// 18,20,19,17,16
+</pre></example>
+<para>As in the above example you may create your own sort map.
+To sort in descending order, apply the <code>reverse()</code> method after the
+<command>sort()</command>.    
+</para>
+<para>Here is an extended example of how to use <command>ncap2</command> features to
+hyperslab an irregular region based on the values of a variable not a
+coordinate. 
+The distinction is crucial: hyperslabbing based on dimensional indices
+or coordinate values is straightforward.
+Using the values of single or multi-dimensional variable to define a
+hyperslab is quite different.
+</para><example endspaces=" ">
+<pre xml:space="preserve">cat > ~/ncap2_foo.nco << 'EOF'
+// Purpose: Save irregular 1-D regions based on variable values
+
+// Included in NCO User Guide at http://nco.sf.net/nco.html#sort
+
+/* NB: Single quotes around EOF above turn off shell parameter 
+    expansion in "here documents". This in turn prevents the
+    need for protecting dollarsign characters in NCO scripts with
+    backslashes when the script is cut-and-pasted (aka "moused") 
+    from an editor or e-mail into a shell console window */
+
+/* Copy coordinates and variable(s) of interest into RAM variable(s)
+   Benefits:
+   1. ncap2 defines writes all variables on LHS of expression to disk
+      Only exception is RAM variables, which are stored in RAM only
+      Repeated operations on regular variables takes more time, 
+      because changes are written to disk copy after every change.
+      RAM variables are only changed in RAM so script works faster
+      RAM variables can be written to disk at end with ram_write()
+   2. Script permutes variables of interest during processing
+      Safer to work with copies that have different names
+      This discourages accidental, mistaken use of permuted versions
+   3. Makes this script a more generic template:
+      var_in instead of specific variable names everywhere */
+*var_in=one_dmn_rec_var;
+*crd_in=time;
+*dmn_in_sz=$time.size; // [nbr] Size of input arrays
+
+/* Create all other "intermediate" variables as RAM variables 
+   to prevent them from cluttering the output file.
+   Mask flag and sort map are same size as variable of interest */
+*msk_flg=var_in;
+*srt_map=var_in;
+
+/* In this example we mask for all values evenly divisible by 3
+   This is the key, problem-specific portion of the template
+   Replace this where() condition by that for your problem
+   Mask variable is Boolean: 1=Meets condition, 0=Fails condition */
+where(var_in % 3 == 0) msk_flg=1; elsewhere msk_flg=0;
+
+// print("msk_flg = ");print(msk_flg); // For debugging...
+
+/* The sort() routine is overloaded, and takes one or two arguments
+   The second argument (optional) is the "sort map" (srt_map below)
+   Pass the sort map by reference, i.e., prefix with an ampersand
+   If the sort map does not yet exist, then it will be created and 
+   returned as an integer type the same shape as the input variable.
+   The output of sort(), on the LHS, is a sorted version of the input
+   msk_flg is not needed in its original order after sort()
+   Hence we use msk_flg as both input to and output from sort()
+   Doing this prevents the need to define a new, unneeded variable */
+msk_flg=sort(msk_flg,&srt_map);
+
+// Count number of valid points in mask by summing the one's
+*msk_nbr=msk_flg.total();
+
+// Define output dimension equal in size to number of valid points
+defdim("crd_out",msk_nbr);
+
+/* Now sort the variable of interest using the sort map and remap()
+   The output, on the LHS, is the input re-arranged so that all points
+   meeting the mask condition are contiguous at the end of the array
+   Use same srt_map to hyperslab multiple variables of the same shape
+   Remember to apply srt_map to the coordinate variables */
+crd_in=remap(crd_in,srt_map);
+var_in=remap(var_in,srt_map);
+
+/* Hyperslab last msk_nbr values of variable(s) of interest */
+crd_out[crd_out]=crd_in((dmn_in_sz-msk_nbr):(dmn_in_sz-1));
+var_out[crd_out]=var_in((dmn_in_sz-msk_nbr):(dmn_in_sz-1));
+
+/* NB: Even though we created all variables possible as RAM variables,
+   the original coordinate of interest, time, is written to the ouput.
+   I'm not exactly sure why. For now, delete it from the output with: 
+   ncks -O -x -v time ~/foo.nc ~/foo.nc
+   */ 
+EOF
+ncap2 -O -v -S ~/ncap2_foo.nco ~/nco/data/in.nc ~/foo.nc
+ncks -O -x -v time ~/foo.nc ~/foo.nc
+ncks ~/foo.nc
+</pre></example>
+
+<para>Here is an extended example of how to use <command>ncap2</command> features to
+sort multi-dimensional arrays based on the coordinate values along a
+single dimension. 
+</para><example endspaces=" ">
+<pre xml:space="preserve">cat > ~/ncap2_foo.nco << 'EOF'
+/* Purpose: Sort multi-dimensional array based on coordinate values
+   This example sorts the variable three_dmn_rec_var(time,lat,lon)
+   based on the values of the time coordinate. */
+
+// Included in NCO User Guide at http://nco.sf.net/nco.html#sort
+
+// Randomize the time coordinate
+time=10.0*gsl_rng_uniform(time);
+//print("original randomized time =\n");print(time);
+
+/* The sort() routine is overloaded, and takes one or two arguments
+   The first argument is a one dimensional array
+   The second argument (optional) is the "sort map" (srt_map below)
+   Pass the sort map by reference, i.e., prefix with an ampersand
+   If the sort map does not yet exist, then it will be created and 
+   returned as an integer type the same shape as the input variable.
+   The output of sort(), on the LHS, is a sorted version of the input */
+
+time=sort(time,&srt_map);
+//print("sorted time (ascending order) and associated sort map =\n");print(time);print(srt_map);
+
+/* sort() always sorts in ascending order
+   The associated sort map therefore re-arranges the original,
+   randomized time array into ascending order.
+   There are two methods to obtain the descending order the user wants
+   1) We could solve the problem in ascending order (the default)
+   and then apply the reverse() method to re-arrange the results.
+   2) We could change the sort map to return things in descending
+   order of time and solve the problem directly in descending order. */
+
+// Following shows how to do method one:
+
+/* Expand the sort map to srt_map_3d, the size of the data array
+   1. Use data array to provide right shape for the expanded sort map
+   2. Coerce data array into an integer so srt_map_3d is an integer
+   3. Multiply data array by zero so 3-d map elements are all zero
+   4. Add the 1-d sort map to the 3-d sort map (NCO automatically resizes)
+   5. Add the spatial (lat,lon) offsets to each time index 
+   6. de-sort using the srt_map_3d
+   7. Use reverse to obtain descending in time order
+   Loops could accomplish the same thing (exercise left for reader)
+   However, loops are slow for large datasets */
+
+/* Following index manipulation requires understanding correspondence
+   between 1-d (unrolled, memory order of storage) and access into that
+   memory as a multidimensional (3-d, in this case) rectangular array.
+   Key idea to understand is how dimensionality affects offsets */ 
+// Copy 1-d sort map into 3-d sort map
+srt_map_3d=(0*int(three_dmn_rec_var))+srt_map;
+// Multiply base offset by factorial of lesser dimensions
+srt_map_3d*=$lat.size*$lon.size;
+lon_idx=array(0,1,$lon);
+lat_idx=array(0,1,$lat)*$lon.size;
+lat_lon_idx[$lat,$lon]=lat_idx+lon_idx;
+srt_map_3d+=lat_lon_idx;
+
+print("sort map 3d =\n");print(srt_map_3d);
+
+// Use remap() to re-map the data
+three_dmn_rec_var=remap(three_dmn_rec_var,srt_map_3d);
+
+// Finally, reverse data so time coordinate is descending
+time=time.reverse($time);
+//print("sorted time (descending order) =\n");print(time);
+three_dmn_rec_var=three_dmn_rec_var.reverse($time);
+
+// Method two: Key difference is srt_map=$time.size-srt_map-1;
+EOF
+ncap2 -O -v -S ~/ncap2_foo.nco ~/nco/data/in.nc ~/foo.nc
+</pre></example>
+
+<html endspaces=" ">
+<a name="grd"></a> <!&textndash; http://nco.sf.net/nco.html#grd &textndash;>
+<a name="rrg"></a> <!&textndash; http://nco.sf.net/nco.html#rrg &textndash;>
+<a name="rct"></a> <!&textndash; http://nco.sf.net/nco.html#rct &textndash;>
+</html>
+
+</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="994">irregular grids</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="995">rectangular grids</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="996">non-rectangular grids</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="997">non-standard grids</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="998">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.
+netCDF was developed for and initially used with grids comprised of
+orthogonal dimensions forming a rectangular coordinate system.
+We call such grids <emph>standard</emph> grids.
+It is increasingly common for datasets to use metadata to describe
+much more complex grids.
+Let us first define three important coordinate grid properties:
+rectangularity, regularity, and fxm.
+</para>
+<para>Grids are <emph>regular</emph> if the spacing between adjacent is constant. 
+For example, a 4-by-5 degree latitude-longitude grid is regular
+because the spacings between adjacent latitudes (<w>4 degrees</w>) are
+constant as are the (<w>5 degrees</w>) spacings between adjacent
+longitudes. 
+Spacing in <emph>irregular</emph> grids depends on the location along the
+coordinate. 
+Grids such as Gaussian grids have uneven spacing in latitude (points 
+cluster near the equator) and so are irregular.
+</para>
+<para>Grids are <emph>rectangular</emph> if the number of elements in any
+dimension is not a function of any other dimension.
+For example, a T42 Gaussian latitude-longitude grid is rectangular
+because there are the same number of longitudes (128) for each of the 
+(64) latitudes.
+Grids are <emph>non-rectangular</emph> if the elements in any dimension
+depend on another dimension.
+Non-rectangular grids present many special challenges to 
+analysis software like <acronym><acronymword>NCO</acronymword></acronym>.
+</para>
+<para>Wrapped coordinates (<pxref label="Wrapped-Coordinates"><xrefnodename>Wrapped Coordinates</xrefnodename></pxref>), such as longitude,
+are independent of these grid properties (regularity,
+rectangularity). 
+</para>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="999">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
+processing, and/or with other operators (e.g., <command>ncwa</command>,
+<command>ncdiff</command>) for entire file processing. 
+</para>
+<para>Before describing the construction of masks, let us review how
+irregularly gridded geoscience data are described.
+Say that latitude and longitude are stored as <var>R</var>-dimensional
+arrays and the product of the dimension sizes is the total number of  
+elements N in the other variables.
+Geoscience applications tend to use <math><var>R</var>=1</math>, 
+<math><var>R</var>=2</math>, and <math><var>R</var>=3</math>.
+</para>
+<para>If the grid is has no simple representation (e.g., discontinuous) then
+it makes sense to store all coordinates as 1D arrays with the same
+size as the number of grid points. 
+These gridpoints can be completely independent of all the other (own
+weight, area, etc.).  
+</para>
+<para><var>R</var>=1: lat(number_of_gridpoints) and lon(number_of_gridpoints)
+</para>
+<para>If the horizontal grid is time-invariant then <var>R</var>=2 is common:
+</para>
+<para><var>R</var>=2: lat(south_north,east_west) and lon(south_north,east_west)
+</para>
+<para>The Weather and Research Forecast (<acronym><acronymword>WRF</acronymword></acronym>) model uses <var>R</var>=3:
+</para>
+<para><var>R</var>=3: lat(time,south_north,east_west), lon(time,south_north,east_west)
+</para>
+<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
+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
+missing values into the unused points near the poles.
+</para>
+<para>We demonstrate the <command>ncap2</command> analysis technique for irregular
+regions by constructing a mask for an <var>R</var>=2 grid.
+We wish to find, say, the mean temperature within 
+[<var>lat_min</var>,<var>lat_max</var>] and [<var>lon_min</var>,<var>lon_max</var>]: 
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncap2 -s 'mask_var= (lat >= lat_min && lat <= lat_max) && \
+                    (lon >= lon_min && lon <= lon_max);' in.nc out.nc
+</pre></example>
+<para>Arbitrarily shaped regions can be defined by more complex conditional
+statements. 
+Once defined, masks can be applied to specific variables,
+and to entire files:
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncap2 -s 'temperature_avg=(temperature*mask_var).avg()' in.nc out.nc
+ncwa -a lat,lon -m mask_var -w area in.nc out.nc
+</pre></example>
+<para>Crafting such commands on the command line is possible though unwieldy.
+In such cases, a script is often cleaner and allows you to document the
+procedure:
+</para><example endspaces=" ">
+<verbatim xml:space="preserve">
+cat > ncap2.in << 'EOF'
+mask_var = (lat >= lat_min && lat <= lat_max) && (lon >= lon_min && > lon <= lon_max);
+if(mask_var.total() > 0){ // Check that mask contains some valid values
+  temperature_avg=(temperature*mask_var).avg(); // Average temperature
+  temperature_max=(temperature*mask_var).max(); // Maximum temperature
+}
+EOF
+ncap2 -S ncap2.in in.nc out.nc
+</verbatim>
+</example>
+
+<html endspaces=" ">
+<a name="wrf"></a> <!&textndash; http://nco.sf.net/nco.html#wrf &textndash;>
+<a name="WRF"></a> <!&textndash; http://nco.sf.net/nco.html#WRF &textndash;>
+</html>
+<ignore>
+http://foehn.colorado.edu/wrfout_to_cf/wrfout_to_cf.ncl
+ncl 'file_in="wrfout.nc"' 'file_out="wrfpost.nc"' wrfout_to_cf.ncl
+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="1000"><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, 
+longitudes, and missing points. 
+The <acronym><acronymword>WRF</acronymword></acronym> grid documentation should describe this.
+For <acronym><acronymword>WRF</acronymword></acronym> files creating regional masks looks like 
+</para><example endspaces=" ">
+<pre xml:space="preserve">mask_var = (XLAT >= lat_min && XLAT <= lat_max) && (XLONG >= lon_min && XLONG <= lon_max);
+</pre></example>
+
+<para>A few notes:
+Irregular regions are the union of arrays lat/lon_min/max&textrsquo;s. 
+The mask procedure is identical for all <var>R</var>.
+<!-- c fxm need to edit rrg sxn down to here -->
+</para>
+<html endspaces=" ">
+<a name="bln_ntp"></a> <!&textndash; http://nco.sf.net/nco.html#bln_ntp &textndash;>
+<a name="bil_int"></a> <!&textndash; http://nco.sf.net/nco.html#bil_int &textndash;>
+</html>
+</subsection>
+<node name="Bilinear-interpolation" spaces=" "><nodename>Bilinear interpolation</nodename><nodenext spaces=" ">GSL special functions</nodenext><nodeprev spaces=" ">Irregular grids</nodeprev><nodeup spaces=" ">ncap2 netCDF Arithmetic Processor</nodeup></node>
+<subsection spaces=" "><sectiontitle>Bilinear interpolation</sectiontitle>
+<noindent></noindent> <para>As of version 4.0.0 <acronym><acronymword>NCO</acronymword></acronym> has internal routines to
+perform bilinear interpolation on gridded data sets.
+In mathematics, bilinear interpolation is an extension of linear
+interpolation for interpolating functions of two variables on a regular
+grid. 
+The idea is to perform linear interpolation first in one direction, and
+then again in the other direction.
+</para>
+<para>Suppose we have an irregular grid of data <code>temperature[lat,lon]</code>,
+with co-ordinate vars <code>lat[lat], lon[lon]</code>. 
+We wish to find the temperature at an arbitary point [<var>X</var>,<var>Y</var>]
+within the grid. 
+If we can locate lat_min,lat_max and lon_min,lon_max such that 
+<code>lat_min <= X <= lat_max</code> and <code>lon_min <= Y <= lon_max</code> 
+then we can interpolate in two dimensions the temperature at
+[<var>X</var>,<var>Y</var>]. 
+</para>
+<para>The general form of the <command>ncap2</command> interpolation function is
+</para><example endspaces=" ">
+<pre xml:space="preserve">var_out=bilinear_interp(grid_in,grid_out,grid_out_x,grid_out_y,grid_in_x,grid_in_y)
+</pre></example>
+<para>where
+</para><table commandarg="code" spaces=" " endspaces=" ">
+<tableentry><tableterm><item spaces=" "><itemformat command="code">grid_in</itemformat></item>
+</tableterm><tableitem><para>Input function data. 
+Usually a two dimensional variable. 
+It must be of size <code>grid_in_x.size()*grid_in_y.size()</code>        
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">grid_out</itemformat></item>
+</tableterm><tableitem><para>This variable is the shape of <code>var_out</code>. 
+Usually a two dimensional variable. 
+It must be of size <code>grid_out_x.size()*grid_out_y.size()</code>
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">grid_out_x</itemformat></item>
+</tableterm><tableitem><para><var>X</var> output values 
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">grid_out_y</itemformat></item>
+</tableterm><tableitem><para><var>Y</var> output values 
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">grid_in_x</itemformat></item>
+</tableterm><tableitem><para><var>X</var> input values values. Must be monotonic (increasing or decreasing).
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">grid_in_y</itemformat></item>
+</tableterm><tableitem><para><var>Y</var> input values values. Must be monotonic (increasing or decreasing).
+</para></tableitem></tableentry></table>
+<noindent></noindent>
+<para>Prior to calculations all arguments are converted to type
+<code>NC_DOUBLE</code>.
+After calculations <code>var_out</code> is converted to the input type of
+<code>grid_in</code>. 
+</para>
+<para>Suppose the first part of an <command>ncap2</command> script is
+</para><example endspaces=" ">
+<pre xml:space="preserve">defdim("X",4);
+defdim("Y",5);
+
+// Temperature
+T_in[$X,$Y]=
+ {100, 200, 300, 400, 500,
+  101, 202, 303, 404, 505,
+  102, 204, 306, 408, 510,
+  103, 206, 309, 412, 515.0 };
+
+// Coordinate variables
+x_in[$X]={0.0,1.0,2.0,3.01};
+y_in[$Y]={1.0,2.0,3.0,4.0,5};
+</pre></example>
+<para>Now we interpolate with the following variables:
+</para><example endspaces=" ">
+<pre xml:space="preserve">defdim("Xn",3);
+defdim("Yn",4); 
+T_out[$Xn,$Yn]=0.0;
+x_out[$Xn]={0.0,0.02,3.01};
+y_out[$Yn]={1.1,2.0,3,4};
+
+var_out=bilinear_interp(T_in,T_out,x_out,y_out,x_in,y_in);
+print(var_out);
+// 110, 200, 300, 400,
+// 110.022, 200.04, 300.06, 400.08,
+// 113.3, 206, 309, 412 ;
+</pre></example> 
+
+<para>It is possible to interpolate a single point:
+</para><example endspaces=" ">
+<pre xml:space="preserve">var_out=bilinear_interp(T_in,0.0,3.0,4.99,x_in,y_in);
+print(var_out);
+// 513.920594059406
+</pre></example>
+
+<noindent></noindent> <para><strong>Wrapping and Extrapolation</strong> &linebreak;
+<noindent></noindent> The function <code>bilinear_interp_wrap()</code> takes the same
+arguments as <code>bilinear_interp()</code> but performs wrapping (<var>Y</var>)
+and extrapolation (<var>X</var>) for points off the edge of the grid.
+If the given range of longitude is say (25-335) and we have a point at
+20 degrees, then the endpoints of the range are used for the
+interpolation. 
+This is what wrapping means.   
+For wrapping to occur <var>Y</var> must be longitude and must be in the range
+(0,360) or (-180,180). 
+There are no restrictions on the longitude (<var>X</var>) values, though
+typically these are in the range (-90,90).
+This <command>ncap2</command> script illustrates both wrapping and extrapolation
+of end points:
+</para><example endspaces=" ">
+<pre xml:space="preserve">defdim("lat_in",6);
+defdim("lon_in",5);
+
+// Coordinate input vars
+lat_in[$lat_in]={-80,-40,0,30,60.0,85.0};
+lon_in[$lon_in]={30, 110, 190, 270, 350.0};
+
+T_in[$lat_in,$lon_in]=
+  {10,40,50,30,15,   
+    12,43,52,31,16,   
+    14,46,54,32,17,   
+    16,49,56,33,18,   
+    18,52,58,34,19,   
+    20,55,60,35,20.0 };
+   
+defdim("lat_out",4);
+defdim("lon_out",3);
+
+// Coordinate variables
+lat_out[$lat_out]={-90,0,70,88.0};   
+lon_out[$lon_out]={0,190,355.0};
+
+T_out[$lat_out,$lon_out]=0.0;
+
+T_out=bilinear_interp_wrap(T_in,T_out,lat_out,lon_out,lat_in,lon_in);
+print(T_out); 
+// 13.4375, 49.5, 14.09375,
+// 16.25, 54, 16.625,
+// 19.25, 58.8, 19.325,
+// 20.15, 60.24, 20.135 ;
+</pre></example>
+
+<html endspaces=" ">
+<a name="gsl"></a> <!&textndash; http://nco.sf.net/nco.html#gsl &textndash;>
+</html>
+</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="1001"><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>). 
+<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. 
+<acronym><acronymword>GSL</acronymword></acronym> must be <w>version 1.4</w> or later. 
+To list the <acronym><acronymword>GSL</acronymword></acronym> functions available with your <acronym><acronymword>NCO</acronymword></acronym> 
+build, use <command>ncap2 -f | grep ^gsl</command>.
+</para>
+<noindent></noindent> <para>The function names used by <acronym><acronymword>ncap2</acronymword></acronym> mirror their
+<acronym><acronymword>GSL</acronymword></acronym> names.
+The <acronym><acronymword>NCO</acronymword></acronym> wrappers for <acronym><acronymword>GSL</acronymword></acronym> functions automatically
+call the error-handling version of the <acronym><acronymword>GSL</acronymword></acronym> function when
+available  
+<footnote spaces="   \n"><para>These are the <acronym><acronymword>GSL</acronymword></acronym> standard function names postfixed with
+<code>_e</code>.  
+<acronym><acronymword>NCO</acronymword></acronym> calls these functions automatically, without the 
+<acronym><acronymword>NCO</acronymword></acronym> command having to specifically indicate the <code>_e</code>
+function suffix.
+</para></footnote>.
+This allows <acronym><acronymword>NCO</acronymword></acronym> to return a missing value when the
+<acronym><acronymword>GSL</acronymword></acronym> library encounters a domain error or a floating point 
+exception. 
+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="1002">gamma function</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1003"><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>
+The <command>ncap2</command> script would be:
+</para><example endspaces=" ">
+<pre xml:space="preserve">lon_in[lon]={-1,0.1,0,2,0.3};
+lon_out=gsl_sf_gamma(lon_in);
+lon_out= _, 9.5135, 4.5908, 2.9915 
+</pre></example>
+
+<noindent></noindent> <para>The first value is set to <code>_FillValue</code> since the gamma
+function is undefined for negative integers.
+If the input variable has a missing value then this value is used.
+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="1004">Bessel function</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1005"><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> 
+</para>
+<para>An <command>ncap2</command> script would be
+</para><example endspaces=" ">
+<pre xml:space="preserve">lon_out=gsl_sf_bessel_Jn(2,lon_in);  
+lon_out=0.11490, 0.0012, 0.00498, 0.011165
+</pre></example>
+<para>This computes the Bessel function of order <var>n=2</var> for every value in
+<code>lon_in</code>.
+The Bessel order argument, an integer, can also be a non-scalar
+variable, i.e., an array.  
+</para><example endspaces=" ">
+<pre xml:space="preserve">n_in[lon]={0,1,2,3};
+lon_out=gsl_sf_bessel_Jn(n_in,0.5);
+lon_out= 0.93846, 0.24226, 0.03060, 0.00256
+</pre></example>
+
+<noindent></noindent> <para>Arguments to <acronym><acronymword>GSL</acronymword></acronym> wrapper functions in <command>ncap2</command>
+must conform to one another, i.e., they must share the same sub-set of
+dimensions.  
+For example: <code>three_out=gsl_sf_bessel_Jn(n_in,three_dmn_var_dbl)</code>
+is valid because the variable <code>three_dmn_var_dbl</code> has a <var>lon</var> 
+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="1006">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=" ">
+<pre xml:space="preserve">three_out=gsl_sf_ellint_RD(0.5,time,three_dmn_var_dbl);
+</pre></example>
+
+<noindent></noindent> <para>The three arguments are all conformable so the above <command>ncap2</command> call is valid. The mode argument in the function prototype controls the convergence of the algorithm. It also appears  in the Airy Function prototypes. It can be set by defining the environment variable <code>GSL_PREC_MODE</code>. If unset it defaults to the value <code>GSL_PREC_DOUBLE</code>. See the <acronym><acronymword>GSL</acronymword></acronym> manual for more details. 
+</para><example endspaces=" ">
+<pre xml:space="preserve">export GSL_PREC_MODE=0 // GSL_PREC_DOUBLE
+export GSL_PREC_MODE=1 // GSL_PREC_SINGLE
+export GSL_PREC_MODE=2 // GSL_PREC_APPROX
+</pre></example>
+
+<noindent></noindent> <para>The <command>ncap2</command> wrappers to the array functions are
+slightly different. 
+Consider the following <acronym><acronymword>GSL</acronymword></acronym> prototype &linebreak; 
+<code>int gsl_sf_bessel_Jn_array(int nmin, int nmax, double x, double *result_array)</code>
+</para><example endspaces=" ">
+<pre xml:space="preserve">b1=lon.double();
+x=0.5;
+status=gsl_sf_bessel_Jn_array(1,4,x,&b1);
+print(status);
+b1=0.24226,0.0306,0.00256,0.00016;
+</pre></example>
+<noindent></noindent> <para>This calculates the Bessel function of <var>x</var>=0.5 for
+<var>n</var>=1 to 4. 
+The first three arguments are scalar values. 
+If a non-scalar variable is supplied as an argument then only the first
+value is used. 
+The final argument is the variable where the results are stored (NB: the
+<code>&</code> indicates this is a call by reference). 
+This final argument must be of type <code>double</code> and must be of least
+size <var>nmax-nmin+1</var>. 
+If either of these conditions is not met then then the function 
+returns an error message. 
+The function/wrapper returns a status flag. 
+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="1007">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();
+x=0.3;
+status=gsl_sf_legendre_Pl_array(a1.size()-1, x,&a1);  
+print(status);
+</pre></example>
+<noindent></noindent> <para>This call calculates <var>P_l</var>(0.3) for <var>l</var>=0..9. 
+Note that <var>|x|<=1</var>, otherwise there will be a domain error. 
+See the <acronym><acronymword>GSL</acronymword></acronym> 
+documentation for more details.  
+</para>
+<noindent></noindent> <para>The <acronym><acronymword>GSL</acronymword></acronym> functions implemented in <acronym><acronymword>NCO</acronymword></acronym> are 
+listed in the table below. 
+This table is correct for <acronym><acronymword>GSL</acronymword></acronym> version 1.10. 
+To see what functions are available on your build run the command
+<command>ncap2 -f |grep ^gsl</command> . 
+To see this table along with the <acronym><acronymword>GSL</acronymword></acronym> <w>C-function</w>
+prototypes look at the spreadsheet <strong>doc/nco_gsl.ods</strong>. &linebreak; &linebreak; 
+</para>
+<multitable spaces=" " endspaces=" "><columnfractions line=" .35 .05 .60 "><columnfraction value=".35"></columnfraction><columnfraction value=".05"></columnfraction><columnfraction value=".60"></columnfraction></columnfractions>
+<tbody><row><entry command="item" spaces=" "><para><strong>GSL NAME</strong> </para></entry><entry command="tab" spaces=" "><para><strong>I</strong> </para></entry><entry command="tab" spaces=" "><para><strong>NCAP FUNCTION CALL</strong>
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_airy_Ai_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_airy_Ai(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_airy_Bi_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_airy_Bi(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_airy_Ai_scaled_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_airy_Ai_scaled(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_airy_Bi_scaled_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_airy_Bi_scaled(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_airy_Ai_deriv_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_airy_Ai_deriv(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_airy_Bi_deriv_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_airy_Bi_deriv(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_airy_Ai_deriv_scaled_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_airy_Ai_deriv_scaled(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_airy_Bi_deriv_scaled_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_airy_Bi_deriv_scaled(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_airy_zero_Ai_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_airy_zero_Ai(uint_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_airy_zero_Bi_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_airy_zero_Bi(uint_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_airy_zero_Ai_deriv_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_airy_zero_Ai_deriv(uint_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_airy_zero_Bi_deriv_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_airy_zero_Bi_deriv(uint_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_J0_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_J0(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_J1_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_J1(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_Jn_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_Jn(int_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_Jn_array </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>status=gsl_sf_bessel_Jn_array(int,int,double,&var_out)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_Y0_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_Y0(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_Y1_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_Y1(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_Yn_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_Yn(int_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_Yn_array </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_Yn_array
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_I0_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_I0(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_I1_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_I1(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_In_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_In(int_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_In_array </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>status=gsl_sf_bessel_In_array(int,int,double,&var_out)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_I0_scaled_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_I0_scaled(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_I1_scaled_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_I1_scaled(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_In_scaled_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_In_scaled(int_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_In_scaled_array </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>staus=gsl_sf_bessel_In_scaled_array(int,int,double,&var_out)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_K0_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_K0(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_K1_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_K1(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_Kn_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_Kn(int_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_Kn_array </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>status=gsl_sf_bessel_Kn_array(int,int,double,&var_out)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_K0_scaled_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_K0_scaled(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_K1_scaled_e  </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_K1_scaled(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_Kn_scaled_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_Kn_scaled(int_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_Kn_scaled_array </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>status=gsl_sf_bessel_Kn_scaled_array(int,int,double,&var_out)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_j0_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_J0(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_j1_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_J1(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_j2_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_j2(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_jl_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_jl(int_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_jl_array </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>status=gsl_sf_bessel_jl_array(int,double,&var_out)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_jl_steed_array </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_jl_steed_array
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_y0_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_Y0(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_y1_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_Y1(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_y2_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_y2(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_yl_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_yl(int_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_yl_array </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>status=gsl_sf_bessel_yl_array(int,double,&var_out)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_i0_scaled_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_I0_scaled(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_i1_scaled_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_I1_scaled(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_i2_scaled_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_i2_scaled(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_il_scaled_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_il_scaled(int_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_il_scaled_array </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>status=gsl_sf_bessel_il_scaled_array(int,double,&var_out)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_k0_scaled_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_K0_scaled(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_k1_scaled_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_K1_scaled(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_k2_scaled_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_k2_scaled(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_kl_scaled_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_kl_scaled(int_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_kl_scaled_array </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>status=gsl_sf_bessel_kl_scaled_array(int,double,&var_out)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_Jnu_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_Jnu(dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_Ynu_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_Ynu(dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_sequence_Jnu_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_sequence_Jnu
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_Inu_scaled_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_Inu_scaled(dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_Inu_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_Inu(dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_Knu_scaled_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_Knu_scaled(dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_Knu_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_Knu(dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_lnKnu_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_lnKnu(dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_zero_J0_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_zero_J0(uint_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_zero_J1_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_zero_J1(uint_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_bessel_zero_Jnu_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_bessel_zero_Jnu
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_clausen_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_clausen(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_hydrogenicR_1_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_hydrogenicR_1
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_hydrogenicR_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_hydrogenicR
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_coulomb_wave_FG_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_coulomb_wave_FG
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_coulomb_wave_F_array </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_coulomb_wave_F_array
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_coulomb_wave_FG_array </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_coulomb_wave_FG_array
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_coulomb_wave_FGp_array </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_coulomb_wave_FGp_array
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_coulomb_wave_sphF_array  </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_coulomb_wave_sphF_array 
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_coulomb_CL_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_coulomb_CL
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_coulomb_CL_array </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_coulomb_CL_array
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_coupling_3j_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_coupling_3j
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_coupling_6j_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_coupling_6j
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_coupling_RacahW_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_coupling_RacahW
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_coupling_9j_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_coupling_9j
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_coupling_6j_INCORRECT_e </para></entry><entry command="tab" spaces=" "><para>N  </para></entry><entry command="tab" spaces=" "><para>gsl_sf_coupling_6j_INCORRECT
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_dawson_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_dawson(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_debye_1_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_debye_1(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_debye_2_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_debye_2(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_debye_3_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_debye_3(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_debye_4_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_debye_4(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_debye_5_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_debye_5(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_debye_6_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_debye_6(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_dilog_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_dilog
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_complex_dilog_xy_e  </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_complex_dilog_xy_e 
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_complex_dilog_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_complex_dilog
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_complex_spence_xy_e   </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_complex_spence_xy_e  
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_multiply_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_multiply
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_multiply_err_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_multiply_err
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_ellint_Kcomp_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_ellint_Kcomp(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_ellint_Ecomp_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_ellint_Ecomp(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_ellint_Pcomp_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_ellint_Pcomp(dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_ellint_Dcomp_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_ellint_Dcomp(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_ellint_F_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_ellint_F(dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_ellint_E_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_ellint_E(dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_ellint_P_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_ellint_P(dbl_expr,dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_ellint_D_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_ellint_D(dbl_expr,dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_ellint_RC_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_ellint_RC(dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_ellint_RD_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_ellint_RD(dbl_expr,dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_ellint_RF_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_ellint_RF(dbl_expr,dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_ellint_RJ_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_ellint_RJ(dbl_expr,dbl_expr,dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_elljac_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_elljac
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_erfc_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_erfc(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_log_erfc_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_log_erfc(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_erf_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_erf(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_erf_Z_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_erf_Z(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_erf_Q_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_erf_Q(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_hazard_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_hazard(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_exp_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_exp(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_exp_e10_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_exp_e10
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_exp_mult_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_exp_mult(dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_exp_mult_e10_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_exp_mult_e10
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_expm1_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_expm1(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_exprel_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_exprel(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_exprel_2_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_exprel_2(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_exprel_n_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_exprel_n(int_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_exp_err_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_exp_err(dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_exp_err_e10_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_exp_err_e10
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_exp_mult_err_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_exp_mult_err
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_exp_mult_err_e10_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_exp_mult_err_e10
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_expint_E1_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_expint_E1(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_expint_E2_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_expint_E2(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_expint_En_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_expint_En(int_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_expint_E1_scaled_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_expint_E1_scaled(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_expint_E2_scaled_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_expint_E2_scaled(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_expint_En_scaled_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_expint_En_scaled(int_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_expint_Ei_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_expint_Ei(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_expint_Ei_scaled_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_expint_Ei_scaled(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_Shi_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_Shi(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_Chi_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_Chi(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_expint_3_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_expint_3(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_Si_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_Si(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_Ci_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_Ci(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_atanint_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_atanint(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_fermi_dirac_m1_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_fermi_dirac_m1(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_fermi_dirac_0_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_fermi_dirac_0(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_fermi_dirac_1_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_fermi_dirac_1(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_fermi_dirac_2_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_fermi_dirac_2(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_fermi_dirac_int_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_fermi_dirac_int(int_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_fermi_dirac_mhalf_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_fermi_dirac_mhalf(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_fermi_dirac_half_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_fermi_dirac_half(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_fermi_dirac_3half_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_fermi_dirac_3half(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_fermi_dirac_inc_0_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_fermi_dirac_inc_0(dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_lngamma_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_lngamma(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_lngamma_sgn_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_lngamma_sgn 
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_gamma_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_gamma(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_gammastar_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_gammastar(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_gammainv_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_gammainv(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_lngamma_complex_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_lngamma_complex
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_taylorcoeff_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_taylorcoeff(int_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_fact_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_fact(uint_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_doublefact_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_doublefact(uint_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_lnfact_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_lnfact(uint_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_lndoublefact_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_lndoublefact(uint_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_lnchoose_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_lnchoose
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_choose_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_choose
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_lnpoch_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_lnpoch(dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_lnpoch_sgn_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_lnpoch_sgn
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_poch_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_poch(dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_pochrel_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_pochrel(dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_gamma_inc_Q_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_gamma_inc_Q(dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_gamma_inc_P_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_gamma_inc_P(dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_gamma_inc_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_gamma_inc(dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_lnbeta_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_lnbeta(dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_lnbeta_sgn_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_lnbeta_sgn
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_beta_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_beta(dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_beta_inc_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_beta_inc
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_gegenpoly_1_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_gegenpoly_1(dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_gegenpoly_2_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_gegenpoly_2(dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_gegenpoly_3_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_gegenpoly_3(dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_gegenpoly_n_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_gegenpoly_n
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_gegenpoly_array </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_gegenpoly_array
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_hyperg_0F1_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_hyperg_0F1(dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_hyperg_1F1_int_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_hyperg_1F1_int(int_expr,int_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_hyperg_1F1_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_hyperg_1F1(dbl_expr,dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_hyperg_U_int_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_hyperg_U_int(int_expr,int_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_hyperg_U_int_e10_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_hyperg_U_int_e10
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_hyperg_U_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_hyperg_U(dbl_expr,dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_hyperg_U_e10_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_hyperg_U_e10
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_hyperg_2F1_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_hyperg_2F1(dbl_expr,dbl_expr,dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_hyperg_2F1_conj_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_hyperg_2F1_conj(dbl_expr,dbl_expr,dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_hyperg_2F1_renorm_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_hyperg_2F1_renorm(dbl_expr,dbl_expr,dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_hyperg_2F1_conj_renorm_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_hyperg_2F1_conj_renorm(dbl_expr,dbl_expr,dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_hyperg_2F0_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_hyperg_2F0(dbl_expr,dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_laguerre_1_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_laguerre_1(dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_laguerre_2_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_laguerre_2(dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_laguerre_3_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_laguerre_3(dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_laguerre_n_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_laguerre_n(int_expr,dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_lambert_W0_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_lambert_W0(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_lambert_Wm1_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_lambert_Wm1(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_legendre_Pl_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_legendre_Pl(int_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_legendre_Pl_array </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>status=gsl_sf_legendre_Pl_array(int,double,&var_out)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_legendre_Pl_deriv_array </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_legendre_Pl_deriv_array
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_legendre_P1_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_legendre_P1(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_legendre_P2_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_legendre_P2(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_legendre_P3_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_legendre_P3(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_legendre_Q0_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_legendre_Q0(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_legendre_Q1_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_legendre_Q1(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_legendre_Ql_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_legendre_Ql(int_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_legendre_Plm_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_legendre_Plm(int_expr,int_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_legendre_Plm_array  </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>status=gsl_sf_legendre_Plm_array(int,int,double,&var_out) 
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_legendre_Plm_deriv_array </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_legendre_Plm_deriv_array
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_legendre_sphPlm_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_legendre_sphPlm(int_expr,int_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_legendre_sphPlm_array </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>status=gsl_sf_legendre_sphPlm_array(int,int,double,&var_out)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_legendre_sphPlm_deriv_array </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_legendre_sphPlm_deriv_array
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_legendre_array_size </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_legendre_array_size
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_conicalP_half_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_conicalP_half(dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_conicalP_mhalf_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_conicalP_mhalf(dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_conicalP_0_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_conicalP_0(dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_conicalP_1_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_conicalP_1(dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_conicalP_sph_reg_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_conicalP_sph_reg(int_expr,dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_conicalP_cyl_reg_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_conicalP_cyl_reg(int_expr,dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_legendre_H3d_0_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_legendre_H3d_0(dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_legendre_H3d_1_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_legendre_H3d_1(dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_legendre_H3d_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_legendre_H3d(int_expr,dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_legendre_H3d_array </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_legendre_H3d_array
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_legendre_array_size </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_legendre_array_size
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_log_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_log(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_log_abs_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_log_abs(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_complex_log_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_complex_log
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_log_1plusx_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_log_1plusx(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_log_1plusx_mx_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_log_1plusx_mx(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_mathieu_a_array </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_mathieu_a_array
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_mathieu_b_array </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_mathieu_b_array
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_mathieu_a </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_mathieu_a
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_mathieu_b </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_mathieu_b
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_mathieu_a_coeff </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_mathieu_a_coeff
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_mathieu_b_coeff </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_mathieu_b_coeff
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_mathieu_ce </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_mathieu_ce
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_mathieu_se </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_mathieu_se
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_mathieu_ce_array </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_mathieu_ce_array
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_mathieu_se_array </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_mathieu_se_array
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_mathieu_Mc </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_mathieu_Mc
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_mathieu_Ms </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_mathieu_Ms
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_mathieu_Mc_array </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_mathieu_Mc_array
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_mathieu_Ms_array </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_mathieu_Ms_array
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_pow_int_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_pow_int
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_psi_int_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_psi_int(int_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_psi_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_psi(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_psi_1piy_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_psi_1piy(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_complex_psi_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_complex_psi
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_psi_1_int_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_psi_1_int(int_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_psi_1_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_psi_1(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_psi_n_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_psi_n(int_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_synchrotron_1_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_synchrotron_1(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_synchrotron_2_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_synchrotron_2(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_transport_2_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_transport_2(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_transport_3_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_transport_3(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_transport_4_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_transport_4(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_transport_5_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_transport_5(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_sin_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_sin
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_cos_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_cos
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_hypot_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_hypot
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_complex_sin_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_complex_sin
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_complex_cos_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_complex_cos
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_complex_logsin_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_complex_logsin
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_sinc_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_sinc
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_lnsinh_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_lnsinh
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_lncosh_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_lncosh
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_polar_to_rect </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_polar_to_rect
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_rect_to_polar </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_rect_to_polar
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_sin_err_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_sin_err
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_cos_err_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_cos_err
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_angle_restrict_symm_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_angle_restrict_symm
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_angle_restrict_pos_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_angle_restrict_pos
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_angle_restrict_symm_err_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_angle_restrict_symm_err
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_angle_restrict_pos_err_e </para></entry><entry command="tab" spaces=" "><para>N </para></entry><entry command="tab" spaces=" "><para>gsl_sf_angle_restrict_pos_err
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_zeta_int_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_zeta_int(int_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_zeta_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_zeta(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_zetam1_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_zetam1(dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_zetam1_int_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_zetam1_int(int_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_hzeta_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_hzeta(dbl_expr,dbl_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_eta_int_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_eta_int(int_expr)
+</para></entry></row><row><entry command="item" spaces=" "><para>gsl_sf_eta_e </para></entry><entry command="tab" spaces=" "><para>Y </para></entry><entry command="tab" spaces=" "><para>gsl_sf_eta(dbl_expr)
+</para></entry></row></tbody></multitable>
+
+<html endspaces=" ">
+<a name="gsl_int"></a> <!&textndash; http://nco.sf.net/nco.html#gsl_int &textndash;>
+</html>
+</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="1008"><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 [...]
+</para>
+<noindent></noindent> <para>Interpolation with <command>ncap2</command> is a two stage process. In the first stage, a <acronym><acronymword>RAM</acronymword></acronym> variable is created from the chosen interpolating function and the data set. This <acronym><acronymword>RAM</acronymword></acronym> variable holds in memory a <acronym><acronymword>GSL</acronymword></acronym> interpolation object. In the second stage, points along the interpolating function are calculated. If you have a ve [...]
+</para>
+<noindent></noindent> <para>A simple example
+</para>
+<example endspaces=" ">
+<pre xml:space="preserve">x_in[$lon]={1.0,2.0,3.0,4.0};
+y_in[$lon]={1.1,1.2,1.5,1.8};
+
+// Ram variable is declared and defined here 
+gsl_interp_cspline(&ram_sp,x_in,y_in);
+
+x_out[$lon_grd]={1.1,2.0,3.0,3.1,3.99};
+
+y_out=gsl_spline_eval(ram_sp,x_out);
+y2=gsl_spline_eval(ram_sp,1.3);
+y3=gsl_spline_eval(ram_sp,0.0);
+ram_delete(ram_sp);
+
+print(y_out); // 1.10472, 1.2, 1.4, 1.42658, 1.69680002 
+print(y2);    // 1.12454 
+print(y3);    // '_' 
+</pre></example>
+
+<noindent></noindent> <para>Note in the above example y3 is set to &textrsquo;missing value&textrsquo; because 0.0 isn&textrsquo;t within the input X range.  
+</para>
+<para><strong><acronym><acronymword>GSL</acronymword></acronym> Interpolation Types</strong>&linebreak;
+<noindent></noindent> All the interpolation functions have been implemented. These are:&linebreak;
+gsl_interp_linear() &linebreak; gsl_interp_polynomial() &linebreak; gsl_interp_cspline()&linebreak;
+gsl_interp_cspline_periodic()&linebreak; gsl_interp_akima() &linebreak; gsl_interp_akima_periodic() &linebreak;
+</para>
+&linebreak; &linebreak;
+<para><strong> Evaluation of Interpolating Types </strong> &linebreak;
+<noindent></noindent> <strong>Implemented</strong> &linebreak;
+gsl_spline_eval() &linebreak;
+<noindent></noindent> <strong>Unimplemented</strong> &linebreak;
+gsl_spline_deriv()&linebreak;
+gsl_spline_deriv2()&linebreak;
+gsl_spline_integ()&linebreak;
+</para>
+<html endspaces=" ">
+<a name="ncap_lsqf"></a> <!&textndash; http://nco.sf.net/nco.html#ncap_lsqf &textndash;>
+</html>
+</subsection>
+<node name="GSL-least_002dsquares-fitting" spaces=" "><nodename>GSL least-squares fitting</nodename><nodenext spaces=" ">GSL statistics</nodenext><nodeprev spaces=" ">GSL interpolation</nodeprev><nodeup spaces=" ">ncap2 netCDF Arithmetic Processor</nodeup></node>
+<subsection spaces="  "><sectiontitle>GSL least-squares fitting       </sectiontitle>
+<noindent></noindent> <para>Least Squares fitting is a method of calculating a straight line through a set of experimental data points in the XY plane. The data maybe weighted or unweighted. For more information please refer to the <acronym><acronymword>GSL</acronymword></acronym> manual.
+</para>
+<noindent></noindent> <para>These <acronym><acronymword>GSL</acronymword></acronym> functions fall into three categories:&linebreak;
+<strong>A)</strong> Fitting data to Y=c0+c1*X&linebreak;
+<strong>B)</strong> Fitting data (through the origin) Y=c1*X&linebreak;
+<strong>C)</strong> Multi-parameter fitting (not yet implemented)&linebreak; 
+</para>
+<para><strong>Section A</strong> &linebreak; &linebreak;
+<code>status=<strong>gsl_fit_linear</strong> (data_x,stride_x,data_y,stride_y,n,&co,&c1,&cov00,&cov01,&cov11,&sumsq) </code>
+</para>
+<noindent></noindent> <para><strong>Input variables</strong>: data_x, stride_x, data_y, stride_y, n &linebreak; 
+From the above variables an X and Y vector both of length &textrsquo;n&textrsquo; are derived. 
+If data_x or data_y is less than type double then it is converted to type <code>double</code>. 
+It is up to you to do bounds checking on the input data. 
+For example if stride_x=3 and n=8 then the size of data_x must be at least 24
+</para>
+<noindent></noindent> <para><strong>Output variables</strong>: c0, c1, cov00, cov01, cov11,sumsq &linebreak; 
+The &textrsquo;&&textrsquo; prefix indicates that these are call-by-reference variables.
+If any of the output variables don&textrsquo;t exist prior to the call then they are created on the fly as scalar variables of type <code>double</code>. If they already exist then their existing value is overwritten. If the function call is successful then <code>status=0</code>. 
+</para>
+<para><code>status= <strong>gsl_fit_wlinear</strong>(data_x,stride_x,data_w,stride_w,data_y,stride_y,n,&co,&c1,&cov00,&cov01,&cov11,&chisq) </code>
+</para>
+<noindent></noindent> <para>Similar to the above call except it creates an additional weighting vector from the variables data_w, stride_w, n  
+</para>
+
+<para><code> data_y_out=<strong>gsl_fit_linear_est</strong>(data_x,c0,c1,cov00,cov01,cov11) </code>
+</para>
+<noindent></noindent> <para>This function calculates y values along the line Y=c0+c1*X &linebreak; &linebreak;
+</para>
+
+
+<para><strong>Section B</strong> &linebreak; &linebreak;
+<code>status=<strong>gsl_fit_mul</strong>(data_x,stride_x,data_y,stride_y,n,&c1,&cov11,&sumsq) </code>
+</para>
+<noindent></noindent> <para><strong>Input variables</strong>: data_x, stride_x, data_y, stride_y, n &linebreak; 
+From the above variables an X and Y vector both of length &textrsquo;n&textrsquo; are derived. 
+If data_x or data_y is less than type <code>double</code> then it is converted to type <code>double</code>. &linebreak;
+</para>
+<noindent></noindent> <para><strong>Output variables</strong>: c1,cov11,sumsq &linebreak; 
+</para>
+
+<para><code>status= <strong>gsl_fit_wmul</strong>(data_x,stride_x,data_w,stride_w,data_y,stride_y,n,&c1,&cov11,&sumsq) </code>
+</para>
+<noindent></noindent> <para>Similar to the above call except it creates an additional weighting vector from the variables data_w, stride_w, n  
+</para>
+
+<para><code> data_y_out=<strong>gsl_fit_mul_est</strong>(data_x,c0,c1,cov11) </code>
+</para>
+<noindent></noindent> <para>This function calculates y values along the line Y=c1*X &linebreak; &linebreak;
+</para>
+<noindent></noindent> <para>The below example shows <strong>gsl_fit_linear()</strong> in action
+</para>
+<example endspaces=" ">
+<pre xml:space="preserve">defdim("d1",10);
+xin[d1]={1,2,3,4,5,6,7,8,9,10.0};
+yin[d1]={3.1,6.2,9.1,12.2,15.1,18.2,21.3,24.0,27.0,30.0};
+gsl_fit_linear(xin,1,yin,1,$d1.size,&c0,&c1,&cov00,&cov01,&cov11,&sumsq);
+print(c0);  // 0.2
+print(c1);  // 2.98545454545
+
+
+defdim("e1",4);
+xout[e1]={1.0,3.0,4.0,11};
+yout[e1]=0.0;
+
+yout=gsl_fit_linear_est(xout, c0,c1, cov00,cov01, cov11, sumsq);
+
+print(yout);  // 3.18545454545 ,9.15636363636, ,12.1418181818 ,33.04
+</pre></example>
+&linebreak; &linebreak;
+
+
+
+<html endspaces=" ">
+<a name="ncap_stat"></a> <!&textndash; http://nco.sf.net/nco.html#ncap_stat &textndash;>
+</html>
+
+</subsection>
+<node name="GSL-statistics" spaces=" "><nodename>GSL statistics</nodename><nodenext spaces=" ">GSL random number generation</nodenext><nodeprev spaces=" ">GSL least-squares fitting</nodeprev><nodeup spaces=" ">ncap2 netCDF Arithmetic Processor</nodeup></node>
+<subsection spaces=" "><sectiontitle>GSL statistics</sectiontitle>
+
+<noindent></noindent> <para>Wrappers for most of the <acronym><acronymword>GSL</acronymword></acronym> Statistical functions have been implemented. The <acronym><acronymword>GSL</acronymword></acronym> function names include a type specifier (except for type double functions). To obtain the equivalent <acronym><acronymword>NCO</acronymword></acronym> name simply remove the type specifier; then depending on the data type the appropriate <acronym><acronymword>GSL</acronymword></acronym> fu [...]
+</para>
+<noindent></noindent> <para><acronym><acronymword>GSL</acronymword></acronym> Functions
+</para><example endspaces=" ">
+<pre xml:space="preserve">short gsl_stats_max (short data[], size_t stride, size_t n);
+double gsl_stats_int_mean (int data[], size_t stride, size_t n);
+double gsl_stats_short_sd_with_fixed_mean (short data[], size_t stride, size_t n, double mean);
+double gsl_stats_wmean (double w[], size_t wstride, double data[], size_t stride, size_t n);
+double gsl_stats_quantile_from_sorted_data (double sorted_data[], size_t stride, size_t n, double f) ;
+</pre></example>
+
+
+<noindent></noindent> <para>Equivalent ncap2 wrapper functions
+</para><example endspaces=" ">
+<pre xml:space="preserve">short gsl_stats_max (var_data, data_stride, n);
+double gsl_stats_mean (var_data, data_stride, n);
+double gsl_stats_sd_with_fixed_mean (var_data, data_stride, n, var_mean);
+double gsl_stats_wmean (var_weight, weight_stride, var_data, data_stride, n, var_mean);
+double gsl_stats_quantile_from_sorted_data (var_sorted_data, data_stride, n, var_f) ;
+</pre></example>
+
+<noindent></noindent> <para><acronym><acronymword>GSL</acronymword></acronym> has no notion of missing values or dimensionality beyond one. If your data has missing values which you want ignored in the calculations then use the <command>ncap2</command> built in aggregate functions( <ref label="Methods-and-functions"><xrefnodename>Methods and functions</xrefnodename></ref> ). The <acronym><acronymword>GSL</acronymword></acronym> functions operate on a vector of values created from the var [...]
+</para>
+<para>Some examples
+</para>
+<example endspaces=" ">
+<pre xml:space="preserve">a1[time]={1,2,3,4,5,6,7,8,9,10 };
+
+a1_avg=gsl_stats_mean(a1,1,10);
+print(a1_avg); // 5.5
+
+a1_var=gsl_stats_variance(a1,4,3);
+print(a1_var); // 16.0
+
+// bounding error, vector attempts to access element a1(10)
+a1_sd=gsl_stats_sd(a1,5,3); 
+
+</pre></example>
+
+<noindent></noindent> <para>For functions with the signature 
+<strong>func_nm(var_data,data_stride,n)</strong>, 
+one may omit the second or third arguments. 
+The default value for <var>stride</var> is <code>1</code>. 
+The default value for <var>n</var> is <code>1+(data.size()-1)/stride</code>.
+</para>
+<example endspaces=" ">
+<pre xml:space="preserve">// Following statements are equvalent
+n2=gsl_stats_max(a1,1,10)
+n2=gsl_stats_max(a1,1);
+n2=gsl_stats_max(a1);
+
+// Following statements are equvalent
+n3=gsl_stats_median_from_sorted_data(a1,2,5);
+n3=gsl_stats_median_from_sorted_data(a1,2);
+
+// Following statements are NOT equvalent
+n4=gsl_stats_kurtosis(a1,3,2);
+n4=gsl_stats_kurtosis(a1,3); //default n=4
+</pre></example> 
+
+<para>The following example illustrates some of the weighted functions.
+The data are randomly generated. 
+In this case the value of the weight for each datum is either 0.0 or 1.0   
+</para><example endspaces=" ">
+<pre xml:space="preserve">defdim("r1",2000);
+data[r1]=1.0;
+
+// Fill with random numbers [0.0,10.0)
+data=10.0*gsl_rng_uniform(data);
+
+// Create a weighting variable
+weight=(data>4.0);
+
+wmean=gsl_stats_wmean(weight,1,data,1,$r1.size);
+print(wmean);
+
+wsd=gsl_stats_wsd(weight,1,data,1,$r1.size);
+print(wsd);
+
+// number of values in data that are greater than 4
+weight_size=weight.total();
+print(weight_size);
+
+// print min/max of data 
+dmin=data.gsl_stats_min();
+dmax=data.gsl_stats_max();
+print(dmin);print(dmax);
+</pre></example>
+
+<html endspaces=" ">
+<a name="ncap_rng"></a> <!&textndash; http://nco.sf.net/nco.html#ncap_rng &textndash;>
+</html>
+
+</subsection>
+<node name="GSL-random-number-generation" spaces=" "><nodename>GSL random number generation</nodename><nodenext spaces=" ">Examples ncap2</nodenext><nodeprev spaces=" ">GSL statistics</nodeprev><nodeup spaces=" ">ncap2 netCDF Arithmetic Processor</nodeup></node>
+<subsection spaces=" "><sectiontitle>GSL random number generation</sectiontitle>
+<para>The <acronym><acronymword>GSL</acronymword></acronym> library has a large number of random number generators. In addition there are a large set of functions for turning uniform random numbers into discrete or continuous probabilty distributions. The random number generator algorithms vary in terms of quality numbers output, speed of execution and maximium number output. For more information see the <acronym><acronymword>GSL</acronymword></acronym> documentation. The algorithm and s [...]
+</para>
+<noindent></noindent> <para><strong>Setup</strong> &linebreak;  
+The number algorithm is set by the environment variable <code>GSL_RNG_TYPE</code>. If this variable isn&textrsquo;t set then the default rng algorithm is gsl_rng_19937. The seed is set with the environment variable <code>GSL_RNG_SEED</code>. The following wrapper functions in ncap2 provide information about the chosen algorithm. &linebreak; 
+</para>
+<table commandarg="code" spaces=" " endspaces=" ">
+<tableentry><tableterm><item spaces=" "><itemformat command="code">gsl_rng_min() </itemformat></item>
+</tableterm><tableitem><para>the minimium value returned by the rng algorithm.
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">gsl_rng_max()</itemformat></item>
+</tableterm><tableitem><para>the maximium value returned by the rng algorithm. 
+</para></tableitem></tableentry></table>
+
+<noindent></noindent> <para><strong>Uniformly Distributed Random Numbers</strong> 
+</para><table commandarg="code" spaces=" " endspaces=" ">
+<tableentry><tableterm><item spaces=" "><itemformat command="code">gsl_rng_get(var_in)</itemformat></item>
+</tableterm><tableitem><para>This function returns var_in with integers from the chosen rng algorithm. The min and max values depend uoon the chosen rng algorthm.
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">gsl_rng_uniform_int(var_in)</itemformat></item>
+</tableterm><tableitem><para>This function returns var_in with random integers from 0 to n-1. The value n must be less than or equal to the maximium value of the chosen rng algorithm. 
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">gsl_rng_uniform(var_in)</itemformat></item>
+</tableterm><tableitem><para>This function returns var_in with double-precision numbers in the range [0.0,1). The range includes 0.0 and excludes 1.0.
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">gsl_rng_uniform_pos(var_in)</itemformat></item>
+</tableterm><tableitem><para>This function returns var_in with double-precision numbers in the range (0.0,1), excluding both 0.0 and 1.0.
+</para></tableitem></tableentry></table>
+
+<noindent></noindent> <para>Below are examples of <code>gsl_rng_get()</code> and <code>gsl_rng_uniform_int()</code> in action.
+</para>
+<example endspaces=" ">
+<pre xml:space="preserve">export GSL_RNG_TYPE=ranlux
+export GSL_RNG_SEED=10
+ncap2 -v -O -s 'a1[time]=0;a2=gsl_rng_get(a1);' in.nc foo.nc 
+// 10 random numbers from the range 0 - 16777215
+// a2=9056646, 12776696, 1011656, 13354708, 5139066, 1388751, 11163902, 7730127, 15531355, 10387694 ;
+
+ncap2 -v -O -s 'a1[time]=21;a2=gsl_rng_uniform_int(a1).sort();' in.nc foo.nc
+// 10 random numbers from the range 0 - 20
+a2 = 1, 1, 6, 9, 11, 13, 13, 15, 16, 19 ;
+
+</pre></example>
+
+<noindent></noindent> <para>The following example produces an <code>ncap2</code> runtime error. This is because the chose rng algorithm has a maximium value greater than <code> NC_MAX_INT=2147483647 </code>; the wrapper functions to <code>gsl_rng_get()</code> and <code>gsl_rng_uniform_int()</code> return variable of type <code>NC_INT</code>. Please be aware of this when using random number distribution functions functions from the <acronym><acronymword>GSL</acronymword></acronym> library [...]
+</para>
+<example endspaces=" ">
+<pre xml:space="preserve">export GSL_RNG_TYPE=mt19937
+ncap2 -v -O -s 'a1[time]=0;a2=gsl_rng_get(a1);' in.nc foo.nc 
+</pre></example>
+
+<noindent></noindent> <para>To find the maximium value of the chosen rng algorithm use the following code snippet.
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncap2 -v -O -s 'rng_max=gsl_rng_max();print(rng_max)' in.nc foo.nc
+</pre></example>
+
+<noindent></noindent> <para><strong>Random Number Distributions</strong> &linebreak;
+The <acronym><acronymword>GSL</acronymword></acronym> library has a rich set of random number disribution functions. The library also provides cumulative distribution functions and inverse cumulative distribution functions sometimes referred to a quantile functions. To see whats available on your build use the shell command <code>ncap2 -f|grep -e _ran -e _cdf</code>.
+</para>
+<noindent></noindent> <para>The following examples all return variables of type <code>NC_INT</code> &linebreak;
+</para><example endspaces=" ">
+<pre xml:space="preserve">defdim("out",15);
+a1[$out]=0.5;
+a2=gsl_ran_binomial(a1,30).sort();
+//a2 = 10, 11, 12, 12, 13, 14, 14, 15, 15, 16, 16, 16, 16, 17, 22 ;
+a3=gsl_ran_geometric(a2).sort();
+//a2 = 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 4, 5 ;
+a4=gsl_ran_pascal(a2,50);
+//a5 = 37, 40, 40, 42, 43, 45, 46, 49, 52, 58, 60, 62, 62, 65, 67 ;
+</pre></example>
+
+<noindent></noindent> <para>The following all return variables of type <code>NC_DOUBLE</code>;
+</para><example endspaces=" ">
+<pre xml:space="preserve">defdim("b1",1000);
+b1[$b1]=0.8;
+b2=gsl_ran_exponential(b1);
+b2_avg=b2.avg();
+print(b2_avg);
+// b2_avg = 0.756047976787
+
+b3=gsl_ran_gaussian(b1);
+b3_avg=b3.avg();
+b3_rms=b3.rms();
+print(b3_avg);
+// b3_avg = -0.00903446534258;
+print(b3_rms);
+// b3_rms = 0.81162979889;
+
+b4[$b1]=10.0;
+b5[$b1]=20.0;
+b6=gsl_ran_flat(b4,b5);
+b6_avg=b6.avg();
+print(b6_avg);
+// b6_avg=15.0588129413
+</pre></example>
+
+<html endspaces=" ">
+<a name="ncap_emp"></a> <!&textndash; http://nco.sf.net/nco.html#ncap_emp &textndash;>
+</html>
+</subsection>
+<node name="Examples-ncap2" spaces=" "><nodename>Examples ncap2</nodename><nodenext spaces=" ">Intrinsic mathematical methods</nodenext><nodeprev spaces=" ">GSL random number generation</nodeprev><nodeup spaces=" ">ncap2 netCDF Arithmetic Processor</nodeup></node>
+<subsection spaces=" "><sectiontitle>Examples ncap2</sectiontitle>
+
+<para>See the <file>ncap.in</file> and <file>ncap2.in</file> scripts released with <acronym><acronymword>NCO</acronymword></acronym> 
+for more complete demonstrations of <command>ncap2</command> functionality
+(script available on-line at <url><urefurl>http://nco.sf.net/ncap2.in</urefurl></url>).
+</para>
+<para>Define new attribute <var>new</var> for existing variable <var>one</var>
+as twice the existing attribute <var>double_att</var> of variable
+<var>att_var</var>: 
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncap2 -s 'one&arobase;new=2*att_var&arobase;double_att' in.nc out.nc
+</pre></example>
+
+<para>Average variables of mixed types (result is of type <code>double</code>):
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncap2 -s 'average=(var_float+var_double+var_int)/3' in.nc out.nc 
+</pre></example>
+
+<para>Multiple commands may be given to <command>ncap2</command> in three ways.
+First, the commands may be placed in a script which is executed, e.g.,
+<file>tst.nco</file>. 
+Second, the commands may be individually specified with multiple
+<samp>-s</samp> arguments to the same <command>ncap2</command> invocation.
+Third, the commands may be chained into a single <samp>-s</samp>
+argument to <command>ncap2</command>.
+Assuming the file <file>tst.nco</file> contains the commands
+<code>a=3;b=4;c=sqrt(a^2+b^2);</code>, then the following <command>ncap2</command>
+invocations produce identical results:
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncap2 -v -S tst.nco in.nc out.nc
+ncap2 -v -s 'a=3' -s 'b=4' -s 'c=sqrt(a^2+b^2)' in.nc out.nc
+ncap2 -v -s 'a=3;b=4;c=sqrt(a^2+b^2)' in.nc out.nc
+</pre></example>
+<para>The second and third examples show that <command>ncap2</command> does not require
+that a trailing semi-colon <samp>;</samp> be placed at the end of a <samp>-s</samp>
+argument, although a trailing semi-colon <samp>;</samp> is always allowed.
+However, semi-colons are required to separate individual assignment
+statements chained together as a single <samp>-s</samp> argument. 
+</para>
+<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="1009">growing dimensions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1010">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
+file with <code>new_ORO(new_lat,new_lon)</code> that contains zeros in the
+undefined portions of the new grid.
+</para><example endspaces=" ">
+<pre xml:space="preserve">defdim("new_lat",$lat.size+1); // Define new dimension sizes
+defdim("new_lon",$lon.size+1);
+new_ORO[$new_lat,$new_lon]=0.0f; // Initialize to zero
+new_ORO(0:$lat.size-1,0:$lon.size-1)=ORO; // Fill valid data
+</pre></example>
+<para>The commands to define new coordinate variables <code>new_lat</code>
+and <code>new_lon</code> in the output file follow a similar pattern.
+One would might store these commands in a script <file>grow.nco</file>
+and then execute the script with
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncap2 -v -S grow.nco in.nc out.nc
+</pre></example>
+
+<html endspaces=" ">
+<a name="flg"></a> <!&textndash; http://nco.sf.net/nco.html#flg &textndash;>
+</html>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1011">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>,
+and <w>value 0.0</w> elsewhere.
+This example creates the binary flag <code>ORO_flg</code> in <file>out.nc</file>
+from the continuous array named <code>ORO</code> in <file>in.nc</file>.
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncap2 -s 'ORO_flg=(ORO > 1.0)' in.nc out.nc
+</pre></example>
+<para>Suppose your task is to change all values of <code>ORO</code> which 
+<w>equal 2.0</w> to the new <w>value 3.0</w>:
+</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="1012">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,
+i.e., where <code>ORO</code> <w>equals 2.0</w> &linebreak;
+Using the <code>where</code> statement the above code simplifies to :
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncap2 -s 'where(ORO==2.0) ORO=3.0;' in.nc foo.nc
+</pre></example>
+
+<html endspaces=" ">
+<a name="cvr"></a> <!&textndash; http://nco.sf.net/nco.html#cvr &textndash;>
+</html>
+<para>This example uses <command>ncap2</command> to compute the covariance of two
+variables. 
+Let the variables <var>u</var> and <var>v</var> be the horizontal 
+wind components. 
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1013">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
+<var>v</var> from their respective time means.
+Symbolically, the covariance 
+<set name="flg" line=" flg"></set>
+<tex endspaces=" ">
+$[\wndznl^{\prime} \wndmrd^{\prime}] =
+[\wndznl\wndmrd]-[\wndznl][\wndmrd]$ where $[\xxx]$ denotes the
+time-average of~$\xxx$, 
+$[\xxx] \equiv {1 \over \tau} \int_{\tm=0}^{\tm=\tau} \xxx(\tm) \,\dfr\tm$
+and $\xxx^{\prime}$ 
+<clear name="flg" line=" flg "></clear>
+</tex>
+<math>[<var>u'v'</var>] =
+[<var>uv</var>]-[<var>u</var>][<var>v</var>]</math> 
+where <math>[<var>x</var>]</math> denotes the time-average of
+<math><var>x</var></math> and <math><var>x'</var></math> 
+<clear name="flg" line=" flg"></clear>
+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="1014">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=" ">
+<pre xml:space="preserve">ncwa -O -a time -v u,v in.nc foo.nc # Compute time mean of u,v
+ncrename -O -v u,uavg -v v,vavg foo.nc # Rename to avoid conflict
+ncks -A -v uavg,vavg foo.nc in.nc # Place time means with originals
+ncap2 -O -s 'uprmvprm=u*v-uavg*vavg' in.nc in.nc # Covariance
+ncra -O -v uprmvprm in.nc foo.nc # Time-mean covariance
+</pre></example>
+<para>The mathematically inclined will note that the same covariance would be
+obtained by replacing the step involving <command>ncap2</command> with
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncap2 -O -s 'uprmvprm=(u-uavg)*(v-vavg)' foo.nc foo.nc # Covariance
+</pre></example>
+
+<para>As of <acronym><acronymword>NCO</acronymword></acronym> version 3.1.8 (December, 2006), <command>ncap2</command>
+can compute averages, and thus covariances, by itself:
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncap2 -s 'uavg=u.avg($time);vavg=v.avg($time);uprmvprm=u*v-uavg*vavg' \
+      -s 'uprmvrpmavg=uprmvprm.avg($time)' in.nc foo.nc
+</pre></example>
+<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="1015">globbing</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1016">shell</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1017">quotes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1018">extended regular expressions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1019">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.
+The issues are the same as those which arise in utilizing extended
+regular expressions to subset variables (<pxref label="Subsetting-Files"><xrefnodename>Subsetting Files</xrefnodename></pxref>).
+The example above will fail with no quotes and with double quotes.
+This is because shell globbing tries to <dfn>interpolate</dfn> the value of
+<code>$time</code> from the shell environment unless it is quoted:
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncap2 -s 'uavg=u.avg($time)'  in.nc foo.nc # Correct (recommended)
+ncap2 -s  uavg=u.avg('$time') in.nc foo.nc # Correct (and dangerous)
+ncap2 -s  uavg=u.avg($time)   in.nc foo.nc # Fails ($time = '')
+ncap2 -s "uavg=u.avg($time)"  in.nc foo.nc # Fails ($time = '')
+</pre></example>
+<para>Without the single quotes, the shell replaces <code>$time</code> with an
+empty string.
+The command <command>ncap2</command> receives from the shell is
+<code>uavg=u.avg()</code>. 
+This causes <command>ncap2</command> to average over all dimensions rather than
+just the <var>time</var> dimension, and unintended consequence.
+</para>
+<para>We recommend using single quotes to protect <command>ncap2</command>
+command-line scripts from the shell, even when such protection is not
+strictly necessary. 
+Expert users may violate this rule to exploit the ability to use shell
+variables in <command>ncap2</command> command-line scripts 
+(<pxref label="CCSM-Example"><xrefnodename>CCSM Example</xrefnodename></pxref>). 
+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="1020">appending data</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1021">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="1022">degenerate dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1023"><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.
+Often a degenerate <var>time</var> dimension is useful, e.g., for
+concatentating, but it may cause problems with arithmetic.
+Such is the case in the above example, where the first step employs
+<command>ncwa</command> rather than <command>ncra</command> for the time-averaging.
+Of course the numerical results are the same with both operators.
+The difference is that, unless <samp>-b</samp> is specified, <command>ncwa</command>
+writes no <var>time</var> dimension to the output file, while <command>ncra</command>
+defaults to keeping <var>time</var> as a degenerate (<w>size 1</w>) dimension. 
+Appending <code>u</code> and <code>v</code> to the output file would cause
+<command>ncks</command> to try to expand the degenerate time axis of <code>uavg</code>
+and <code>vavg</code> to the size of the non-degenerate <var>time</var> dimension
+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="1024"><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.  
+Knowing when to use <command>ncwa -a time</command> rather than the default
+<command>ncra</command> for time-averaging takes, well, time.
+</para>
+<html endspaces=" ">
+<a name="mth"></a> <!&textndash; http://nco.sf.net/nco.html#mth &textndash;>
+</html>
+</subsection>
+<node name="Intrinsic-mathematical-methods" spaces=" "><nodename>Intrinsic mathematical methods</nodename><nodenext spaces=" " trailingspaces=" ">Operator precedence and associativity</nodenext><nodeprev spaces=" ">Examples ncap2</nodeprev><nodeup spaces=" ">ncap2 netCDF Arithmetic Processor</nodeup></node>
+<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="1025">addition</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1026">subtraction</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1027">multiplication</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1028">division</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1029">exponentiation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1030">power</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1031">modulus</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1032"><code>+</code> (addition)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1033"><code>-</code> (subtraction)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1034"><code>*</code> (multiplication)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1035"><code>/</code> (division)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1036"><code>^</code> (power)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1037"><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="1038"><var>abs</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1039"><var>acosh</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1040"><var>acos</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1041"><var>asinh</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1042"><var>asin</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1043"><var>atanh</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1044"><var>atan</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1045"><var>ceil</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1046"><var>cosh</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1047"><var>cos</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1048"><var>erfc</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1049"><var>erf</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1050"><var>exp</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1051"><var>floor</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1052"><var>gamma</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1053"><var>ln</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1054"><var>log10</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1055"><var>log</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1056"><var>nearbyint</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1057"><var>pow</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1058"><var>rint</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1059"><var>round</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1060"><var>sinh</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1061"><var>sin</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1062"><var>sqrt</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1063"><var>tanh</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1064"><var>tan</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1065"><var>trunc</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1066">mathematical functions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1067">nearest integer function (inexact)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1068">nearest integer function (exact)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1069">rounding functions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1070">truncation function</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1071">absolute value</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1072">arccosine function</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1073">arcsine function</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1074">arctangent function</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1075">ceiling function</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1076">complementary error function</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1077">cosine function</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1078">error function</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1079">exponentiation function</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1080">floor function</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1081">gamma function</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1082">hyperbolic arccosine function</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1083">hyperbolic arcsine function</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1084">hyperbolic arctangent function</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1085">hyperbolic cosine function</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1086">hyperbolic sine function</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1087">hyperbolic tangent</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1088">logarithm, base 10</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1089">logarithm, natural</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1090">power function</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1091">sine function</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1092">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>
+<tex endspaces=" ">
+Absolute value of $x$, $|x|$.
+</tex>
+Absolute value of <var>x</var>.
+Example: 
+<tex endspaces=" ">
+abs$(-1) = 1$
+</tex>
+<math>abs(-1) = 1</math>
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">acos(x)</itemformat></item>
+</tableterm><tableitem><para><dfn>Arc-cosine</dfn>
+Arc-cosine of <var>x</var> where <var>x</var> is specified in radians.
+Example: 
+<tex endspaces=" ">
+acos$(1.0) = 0.0$
+</tex>
+<math>acos(1.0) = 0.0</math>
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">acosh(x)</itemformat></item>
+</tableterm><tableitem><para><dfn>Hyperbolic arc-cosine</dfn>
+Hyperbolic arc-cosine of <var>x</var> where <var>x</var> is specified in radians.
+Example: 
+<tex endspaces=" ">
+acosh$(1.0) = 0.0$
+</tex>
+<math>acosh(1.0) = 0.0</math>
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">asin(x)</itemformat></item>
+</tableterm><tableitem><para><dfn>Arc-sine</dfn>
+Arc-sine of <var>x</var> where <var>x</var> is specified in radians.
+Example: 
+<tex endspaces=" ">
+asin$(1.0) = 1.57079632679489661922$
+</tex>
+<math>asin(1.0) = 1.57079632679489661922</math>
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">asinh(x)</itemformat></item>
+</tableterm><tableitem><para><dfn>Hyperbolic arc-sine</dfn>
+Hyperbolic arc-sine of <var>x</var> where <var>x</var> is specified in radians.
+Example: 
+<tex endspaces=" ">
+asinh$(1.0) = 0.88137358702$
+</tex>
+<math>asinh(1.0) = 0.88137358702</math>
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">atan(x)</itemformat></item>
+</tableterm><tableitem><para><dfn>Arc-tangent</dfn>
+Arc-tangent of <var>x</var> where <var>x</var> is specified in radians between 
+<tex endspaces=" ">
+$-\pi/2$ and $\pi/2$.
+</tex>
+<math>-pi/2</math> and <math>pi/2</math>.
+Example: 
+<tex endspaces=" ">
+atan$(1.0) = 0.78539816339744830961$
+</tex>
+<math>atan(1.0) = 0.78539816339744830961</math>
+</para>
+</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">atan2(y,x)</itemformat></item>
+</tableterm><tableitem><para><dfn>Arc-tangent2</dfn>
+Arc-tangent of <var>y/x</var> 
+<math>:Example atan2(1,3) =  0.321689857</math>
+</para>
+</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">atanh(x)</itemformat></item>
+</tableterm><tableitem><para><dfn>Hyperbolic arc-tangent</dfn>
+Hyperbolic arc-tangent of <var>x</var> where <var>x</var> is specified in radians between 
+<tex endspaces=" ">
+$-\pi/2$ and $\pi/2$.
+</tex>
+<math>-pi/2</math> and <math>pi/2</math>.
+Example:
+<tex endspaces=" ">
+atanh$(3.14159265358979323844) = 1.0$
+</tex>
+<math>atanh(3.14159265358979323844) = 1.0</math>
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">ceil(x)</itemformat></item>
+</tableterm><tableitem><para><dfn>Ceil</dfn>
+Ceiling of <var>x</var>. Smallest integral value not less than argument.
+Example: 
+<tex endspaces=" ">
+ceil$(0.1) = 1.0$
+</tex>
+<math>ceil(0.1) = 1.0</math>
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">cos(x)</itemformat></item>
+</tableterm><tableitem><para><dfn>Cosine</dfn>
+Cosine of <var>x</var> where <var>x</var> is specified in radians.
+Example: 
+<tex endspaces=" ">
+cos$(0.0) = 1.0$
+</tex>
+<math>cos(0.0) = 1.0</math>
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">cosh(x)</itemformat></item>
+</tableterm><tableitem><para><dfn>Hyperbolic cosine</dfn>
+Hyperbolic cosine of <var>x</var> where <var>x</var> is specified in radians.
+Example: 
+<tex endspaces=" ">
+cosh$(0.0) = 1.0$
+</tex>
+<math>cosh(0.0) = 1.0</math>
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">erf(x)</itemformat></item>
+</tableterm><tableitem><para><dfn>Error function</dfn>
+Error function of <var>x</var> where <var>x</var> is specified between
+<tex endspaces=" ">
+$-1$ and $1$.
+</tex>
+<math>-1</math> and <math>1</math>.
+Example: 
+<tex endspaces=" ">
+erf$(1.0) = 0.842701$
+</tex>
+<math>erf(1.0) = 0.842701</math>
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">erfc(x)</itemformat></item>
+</tableterm><tableitem><para><dfn>Complementary error function</dfn>
+Complementary error function of <var>x</var> where <var>x</var> is specified between
+<tex endspaces=" ">
+$-1$ and $1$.
+</tex>
+<math>-1</math> and <math>1</math>.
+Example: 
+<tex endspaces=" ">
+erfc$(1.0) = 0.15729920705$
+</tex>
+<math>erfc(1.0) = 0.15729920705</math>
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">exp(x)</itemformat></item>
+</tableterm><tableitem><para><dfn>Exponential</dfn>
+Exponential of <var>x</var>,
+<tex endspaces=" ">
+$e^{x}$.
+</tex>
+<math>e^x</math>.
+Example: 
+<tex endspaces=" ">
+exp$(1.0) = 2.71828182845904523536$
+</tex>
+<math>exp(1.0) = 2.71828182845904523536</math>
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">floor(x)</itemformat></item>
+</tableterm><tableitem><para><dfn>Floor</dfn>
+Floor of <var>x</var>. Largest integral value not greater than argument.
+Example: 
+<tex endspaces=" ">
+floor$(1.9) = 1$
+</tex>
+<math>floor(1.9) = 1</math>
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">gamma(x)</itemformat></item>
+</tableterm><tableitem><para><dfn>Gamma function</dfn>
+Gamma function of <var>x</var>,
+<tex endspaces=" ">
+$\Gamma(x)$.
+</tex>
+<math>Gamma(x)</math>.
+The well-known and loved continuous factorial function.
+Example: 
+<tex endspaces=" ">
+gamma$(0.5) = \sqrt{\pi}$
+</tex>
+<math>gamma(0.5) = sqrt(pi)</math>
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">gamma_inc_P(x)</itemformat></item>
+</tableterm><tableitem><para><dfn>Incomplete Gamma function</dfn>
+Incomplete Gamma function of parameter <var>a</var> and variable <var>x</var>,
+<tex endspaces=" ">
+$P(a,x)$.
+</tex>
+<math>gamma_inc_P(a,x)</math>.
+One of the four incomplete gamma functions.
+Example: 
+<tex endspaces=" ">
+gamma\_inc\_P$(1,1) = 1-\me^{-1}$
+</tex>
+<math>gamma_inc_P(1,1) = 1-1/e</math>
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">ln(x)</itemformat></item>
+</tableterm><tableitem><para><dfn>Natural Logarithm</dfn>
+Natural logarithm of <var>x</var>,
+<tex endspaces=" ">
+$\ln(x)$.
+</tex>
+<math>ln(x)</math>.
+Example: 
+<tex endspaces=" ">
+ln$(2.71828182845904523536) = 1.0$
+</tex>
+<math>ln(2.71828182845904523536) = 1.0</math>
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">log(x)</itemformat></item>
+</tableterm><tableitem><para><dfn>Natural Logarithm</dfn>
+Exact synonym for <code>ln(x)</code>.
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">log10(x)</itemformat></item>
+</tableterm><tableitem><para><dfn>Base 10 Logarithm</dfn>
+<w>Base 10</w> logarithm of <var>x</var>, 
+<tex endspaces=" ">
+$\log_{10}(x)$.
+</tex>
+<math>log10(x)</math>.
+Example: 
+<tex endspaces=" ">
+log$(10.0) = 1.0$
+</tex>
+<math>log(10.0) = 1.0</math>
+</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="1093">inexact conversion</indexterm></cindex>
+No exceptions are raised for <dfn>inexact conversions</dfn>.
+Example: 
+<tex endspaces=" ">
+nearbyint$(0.1) = 0.0$
+</tex>
+<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="1094">promotion</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1095">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,
+integer arguments are promoted (<pxref label="Type-Conversion"><xrefnodename>Type Conversion</xrefnodename></pxref>) to type
+<code>NC_FLOAT</code> before evaluation. 
+Example: 
+<tex endspaces=" ">
+pow$(2,3) = 8$
+</tex>
+<math>pow(2,3) = 8</math>
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">rint(x)</itemformat></item>
+</tableterm><tableitem><para><dfn>Round exactly</dfn>
+Nearest integer to <var>x</var> is returned in floating point format.
+Exceptions are raised for <dfn>inexact conversions</dfn>.
+Example: 
+<tex endspaces=" ">
+rint$(0.1) = 0$
+</tex>
+<math>rint(0.1) = 0</math>
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">round(x)</itemformat></item>
+</tableterm><tableitem><para><dfn>Round</dfn>
+Nearest integer to <var>x</var> is returned in floating point format.
+Round halfway cases away from zero, regardless of current IEEE rounding direction. 
+Example: 
+<tex endspaces=" ">
+round$(0.5) = 1.0$
+</tex>
+<math>round(0.5) = 1.0</math>
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">sin(x)</itemformat></item>
+</tableterm><tableitem><para><dfn>Sine</dfn>
+Sine of <var>x</var> where <var>x</var> is specified in radians.
+Example: 
+<tex endspaces=" ">
+sin$(1.57079632679489661922) = 1.0$
+</tex>
+<math>sin(1.57079632679489661922) = 1.0</math>
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">sinh(x)</itemformat></item>
+</tableterm><tableitem><para><dfn>Hyperbolic sine</dfn>
+Hyperbolic sine of <var>x</var> where <var>x</var> is specified in radians.
+Example: 
+<tex endspaces=" ">
+sinh$(1.0) = 1.1752$
+</tex>
+<math>sinh(1.0) = 1.1752</math>
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">sqrt(x)</itemformat></item>
+</tableterm><tableitem><para><dfn>Square Root</dfn>
+Square Root of <var>x</var>,
+<tex endspaces=" ">
+$\sqrt{x}$.
+</tex>
+<math>sqrt(x)</math>.
+Example: 
+<tex endspaces=" ">
+sqrt$(4.0) = 2.0$
+</tex>
+<math>sqrt(4.0) = 2.0</math>
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">tan(x)</itemformat></item>
+</tableterm><tableitem><para><dfn>Tangent</dfn>
+Tangent of <var>x</var> where <var>x</var> is specified in radians.
+Example: 
+<tex endspaces=" ">
+tan$(0.78539816339744830961) = 1.0$
+</tex>
+<math>tan(0.78539816339744830961) = 1.0</math>
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">tanh(x)</itemformat></item>
+</tableterm><tableitem><para><dfn>Hyperbolic tangent</dfn>
+Hyperbolic tangent of <var>x</var> where <var>x</var> is specified in radians.
+Example: 
+<tex endspaces=" ">
+tanh$(1.0) = 0.761594155956$
+</tex>
+<math>tanh(1.0) = 0.761594155956</math>
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">trunc(x)</itemformat></item>
+</tableterm><tableitem><para><dfn>Truncate</dfn>
+Nearest integer to <var>x</var> is returned in floating point format.
+Round halfway cases toward zero, regardless of current IEEE rounding direction. 
+Example: 
+<tex endspaces=" ">
+trunc$(0.5) = 0.0$
+</tex>
+<math>trunc(0.5) = 0.0</math>
+</para></tableitem></tableentry></table>
+<noindent></noindent>
+<para>The complete list of mathematical functions supported is
+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="1096"><code>ANSI C</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1097"><code>float</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1098">precision</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1099">quadruple-precision</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1100">single-precision</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1101">double-precision</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1102"><code>long double</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1103"><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>
+without having to perform intrinsic conversions.
+For example, <acronym><acronymword>ANSI</acronymword></acronym> compilers provide <code>sin</code> for the sine of C-type
+<code>double</code> variables. 
+The <acronym><acronymword>ANSI</acronymword></acronym> standard does not require, but many compilers provide,
+an extended set of mathematical functions that apply to single
+(<code>float</code>) and quadruple (<code>long double</code>) precision variables. 
+Using these functions (e.g., <code>sinf</code> for <code>float</code>, 
+<code>sinl</code> for <code>long double</code>), when available, is (presumably)
+more efficient than casting variables to type <code>double</code>,
+performing the operation, and then re-casting.
+<acronym><acronymword>NCO</acronymword></acronym> uses the faster intrinsic functions when they are
+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="1104"><code>-f</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1105"><code>--prn_fnc_tbl</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1106"><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="1107">Linux</indexterm></cindex>
+<footnote><para>Linux supports more of these intrinsic functions than
+other OSs.</para></footnote>
+</para>
+<noindent></noindent>
+<html endspaces=" ">
+<a name="xmp_ncap"></a> <!&textndash; http://nco.sf.net/nco.html#xmp_ncap &textndash;>
+<a name="xmp_ncap2"></a> <!&textndash; http://nco.sf.net/nco.html#xmp_ncap2 &textndash;>
+</html>
+
+<!-- c Begin HMB documentation -->
+
+<html endspaces=" ">
+<a name="ncap_opts"></a> <!&textndash; http://nco.sf.net/nco.html#ncap_opts &textndash;>
+</html>
+</subsection>
+<node name="Operator-precedence-and-associativity" spaces=" "><nodename trailingspaces=" ">Operator precedence and associativity</nodename><nodenext spaces=" ">ID Quoting</nodenext><nodeprev spaces=" ">Intrinsic mathematical methods</nodeprev><nodeup spaces=" ">ncap2 netCDF Arithmetic Processor</nodeup></node>
+<subsection spaces=" "><sectiontitle>Operator precedence and associativity</sectiontitle>
+<para>This page lists the <command>ncap2</command> operators in order of precedence (highest to lowest). Their associativity indicates in what order operators of equal precedence in an expression are applied.
+</para>
+<multitable spaces=" " endspaces=" "><columnfractions line=" .18 .62 .20"><columnfraction value=".18"></columnfraction><columnfraction value=".62"></columnfraction><columnfraction value=".20"></columnfraction></columnfractions>
+<thead><row><entry command="headitem" spaces=" "><para>Operator </para></entry><entry command="tab" spaces=" "><para>Description </para></entry><entry command="tab" spaces=" "><para>Associativity
+</para></entry></row></thead><tbody><row><entry command="item" spaces=" "><para><code>++ --</code> </para></entry><entry command="tab" spaces=" "><para>Postfix Increment/Decrement </para></entry><entry command="tab" spaces=" "><para>Right to Left
+</para></entry></row><row><entry command="item" spaces=" "><para><code>()</code> </para></entry><entry command="tab" spaces=" "><para>Parentheses (function call)
+</para></entry></row><row><entry command="item" spaces=" "><para><code>.</code>	</para></entry><entry command="tab" spaces=" "><para>Method call
+</para></entry></row><row><entry command="item">
+</entry></row><row><entry command="item" spaces=" "><para><code>++ --</code> </para></entry><entry command="tab" spaces=" "><para>Prefix Increment/Decrement </para></entry><entry command="tab" spaces=" "><para>Right to Left
+</para></entry></row><row><entry command="item" spaces=" "><para><code>+ -</code> </para></entry><entry command="tab" spaces="  "><para>Unary  Plus/Minus
+</para></entry></row><row><entry command="item" spaces=" "><para><code>!</code> </para></entry><entry command="tab" spaces=" "><para>Logical Not
+</para></entry></row><row><entry command="item">
+</entry></row><row><entry command="item" spaces=" "><para><code>^</code> </para></entry><entry command="tab" spaces=" "><para>Power of Operator </para></entry><entry command="tab" spaces=" "><para>Right to Left
+</para></entry></row><row><entry command="item">
+</entry></row><row><entry command="item" spaces=" "><para><code>* / %</code> </para></entry><entry command="tab" spaces=" "><para>Multiply/Divide/Modulus </para></entry><entry command="tab" spaces=" "><para>Left To Right
+</para></entry></row><row><entry command="item">
+</entry></row><row><entry command="item" spaces=" "><para><code>+ -</code> </para></entry><entry command="tab" spaces=" "><para>Addition/Subtraction </para></entry><entry command="tab" spaces=" "><para>Left To Right
+</para></entry></row><row><entry command="item">
+</entry></row><row><entry command="item" spaces=" "><para><code>>> <<</code> </para></entry><entry command="tab" spaces=" "><para>Fortran style array clipping </para></entry><entry command="tab" spaces=" "><para>Left to Right
+</para></entry></row><row><entry command="item">
+</entry></row><row><entry command="item">
+</entry></row><row><entry command="item" spaces=" "><para><code>< <=</code> </para></entry><entry command="tab" spaces=" "><para>Less than/Less than or equal to </para></entry><entry command="tab" spaces=" "><para>Left to Right
+</para></entry></row><row><entry command="item" spaces=" "><para><code>> >=</code> </para></entry><entry command="tab" spaces=" "><para>Greater than/Greater than or equal to
+</para></entry></row><row><entry command="item">
+</entry></row><row><entry command="item" spaces=" "><para><code>== !=</code> </para></entry><entry command="tab" spaces=" "><para>Equal to/Not equal to </para></entry><entry command="tab" spaces=" "><para>Left to Right
+</para></entry></row><row><entry command="item"> 
+</entry></row><row><entry command="item" spaces=" "><para><code>&&</code>	</para></entry><entry command="tab" spaces=" "><para>Logical AND </para></entry><entry command="tab" spaces=" "><para>Left to Right
+</para></entry></row><row><entry command="item">
+</entry></row><row><entry command="item" spaces=" "><para><code>||</code>	</para></entry><entry command="tab" spaces=" "><para>Logical OR </para></entry><entry command="tab" spaces=" "><para>Left to Right
+</para></entry></row><row><entry command="item">
+</entry></row><row><entry command="item" spaces=" "><para><code>?:</code> </para></entry><entry command="tab" spaces=" "><para>Ternary Operator </para></entry><entry command="tab" spaces=" "><para>Right to Left
+</para></entry></row><row><entry command="item">
+</entry></row><row><entry command="item" spaces=" "><para><code>=</code>	</para></entry><entry command="tab" spaces=" "><para>Assignment	</para></entry><entry command="tab" spaces=" "><para>Right to Left
+</para></entry></row><row><entry command="item" spaces=" "><para><code>+= -=</code> </para></entry><entry command="tab" spaces="	"><para>Addition/subtraction assignment	
+</para></entry></row><row><entry command="item" spaces=" "><para><code>*= /=</code> </para></entry><entry command="tab" spaces="	"><para>Multiplication/division assignment
+</para></entry></row></tbody></multitable>
+
+<html endspaces=" ">
+<a name="ncap_nmc"></a> <!&textndash; http://nco.sf.net/nco.html#ncap_nmc &textndash;>
+</html>
+</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="1108">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>
+<noindent></noindent> <para>The default <acronym><acronymword>NCO</acronymword></acronym> name is specified by the regular expressions:
+</para>
+<example endspaces=" ">
+<pre xml:space="preserve">DGT:     ('0'..'9');
+LPH:     ( 'a'..'z' | 'A'..'Z' | '_' );
+name:    (LPH)(LPH|DGT)+
+</pre></example>
+
+<noindent></noindent> <para>The first character of a valid name must be alphabetic or the underscore. Any subsequent characters must be alphanumeric or underscore. ( e.g., a1,_23, hell_is_666 )
+</para>
+<noindent></noindent> <para>The valid characters in a quoted name are specified by the regular expressions:
+</para><example endspaces=" ">
+<pre xml:space="preserve">LPHDGT:  ( 'a'..'z' | 'A'..'Z' | '_' | '0'..'9');
+name:    (LPHDGT|'-'|'+'|'.'|'('|')'|':' )+  ;      
+</pre></example>
+
+<noindent></noindent> <para>Quote a variable:&linebreak;
+&textrsquo;avg&textrsquo; , &textrsquo;10_+10&textrsquo;,&textrsquo;set_miss&textrsquo; &textrsquo;+-90field&textrsquo; , &textrsquo;&textndash;test&textrsquo;=10.0d&linebreak; &linebreak; 
+Quote a attribute: &linebreak;
+&textrsquo;three&arobase;10&textrsquo;, &textrsquo;set_mss&arobase;+10&textrsquo;, &textrsquo;666&arobase;hell&textrsquo;, &textrsquo;t1&arobase;+units&textrsquo;="kelvin" &linebreak; &linebreak;
+Quote a dimension: &linebreak;
+&textrsquo;$10&textrsquo;, &textrsquo;$t1&textndash;&textrsquo;, &textrsquo;$&textndash;odd&textrsquo;, c1[&textrsquo;$10&textrsquo;,&textrsquo;$t1&textndash;&textrsquo;]=23.0d &linebreak; 
+</para>
+<sp value="1" line=" 1"></sp>
+<para>The following comments are from the netCDF library definitions and
+detail the naming conventions for each release. 
+<noindent></noindent> netcdf-3.5.1 &linebreak;
+netcdf-3.6.0-p1 &linebreak;
+netcdf-3.6.1 &linebreak;
+netcdf-3.6.2 &linebreak;
+</para><example endspaces=" ">
+<pre xml:space="preserve">/*
+ * ( [a-zA-Z]|[0-9]|'_'|'-'|'+'|'.'|'|':'|'&arobase;'|'('|')' )+
+ * Verify that name string is valid CDL syntax, i.e., all characters are
+ * alphanumeric, '-', '_', '+', or '.'.
+ * Also permit ':', '&arobase;', '(', or ')' in names for chemists currently making 
+ * use of these characters, but don't document until ncgen and ncdump can 
+ * also handle these characters in names.
+ */
+</pre></example>
+
+<noindent></noindent> <para>netcdf-3.6.3&linebreak;
+netcdf-4.0 Final  2008/08/28&linebreak;
+</para><example endspaces=" ">
+<pre xml:space="preserve">/*
+ * Verify that a name string is valid syntax.  The allowed name
+ * syntax (in RE form) is:
+ *
+ * ([a-zA-Z_]|{UTF8})([^\x00-\x1F\x7F/]|{UTF8})*
+ *
+ * where UTF8 represents a multibyte UTF-8 encoding.  Also, no
+ * trailing spaces are permitted in names.  This definition
+ * must be consistent with the one in ncgen.l.  We do not allow '/'
+ * because HDF5 does not permit slashes in names as slash is used as a
+ * group separator.  If UTF-8 is supported, then a multi-byte UTF-8
+ * character can occur anywhere within an identifier.  We later
+ * normalize UTF-8 strings to NFC to facilitate matching and queries.
+ */ 
+</pre></example>
+<!-- c End HMB documentation -->
+
+<page></page>
+<html endspaces=" ">
+<a name="ncatted"></a> <!&textndash; http://nco.sf.net/nco.html#ncatted &textndash;>
+</html>
+</subsection>
+</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="1109">attributes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1110">attribute names</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1111">editing attributes</indexterm></cindex>
+<findex index="fn" spaces=" "><indexterm index="fn" number="21" mergedindex="cp">ncatted</indexterm></findex>
+
+<noindent></noindent>
+<para>SYNTAX
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncatted [-a <var>att_dsc</var>] [-a &dots;] [-D <var>dbg</var>] [-h] [--hdr_pad <var>nbr</var>]
+[-l <var>path</var>] [-O] [-o <var>output-file</var>] [-p <var>path</var>] [-R] [-r] [--ram_all]
+<var>input-file</var> [[<var>output-file</var>]]
+</pre></example>
+ 
+<noindent></noindent>
+<para>DESCRIPTION
+</para>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1112"><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
+quickly and painlessly as possible.
+<command>ncatted</command> can <dfn>append</dfn>, <dfn>create</dfn>, <dfn>delete</dfn>,
+<dfn>modify</dfn>, and <dfn>overwrite</dfn> attributes (all explained below).  
+<command>ncatted</command> allows each editing operation to be applied
+to every variable in a file.
+This saves time when changing attribute conventions throughout a file. 
+<command>ncatted</command> is for <emph>writing</emph> attributes.
+To <emph>read</emph> attribute values in plain text, use <command>ncks -m -M</command>,
+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="1113"><code>history</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1114"><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="1115">missing values</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1116">data, missing</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1117"><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, 
+e.g., 1.0e36, differs between two machines then netCDF files produced 
+on those machines will have incompatible missing values.
+This allows <command>ncatted</command> to change the missing values in files from 
+different machines to a single value so that the files may then be 
+concatenated, e.g., by <command>ncrcat</command>, without losing information.   
+<xref label="Missing-Values"><xrefnodename>Missing Values</xrefnodename></xref>, for more information.
+</para>
+<para>To master <command>ncatted</command> one must understand the meaning of the
+structure that describes the attribute modification, <var>att_dsc</var> 
+specified by the required option <samp>-a</samp> or <samp>--attribute</samp>. 
+Each <var>att_dsc</var> contains five elements, which makes using
+<command>ncatted</command> somewhat complicated, yet powerful.
+The <var>att_dsc</var> fields are in the following order:&linebreak; 
+</para>
+<para><var>att_dsc</var> = <var>att_nm</var>, <var>var_nm</var>, <var>mode</var>, <var>att_type</var>,
+<var>att_val</var>&linebreak;
+</para>
+<table commandarg="var" spaces=" " endspaces=" ">
+<tableentry><tableterm><item spaces=" "><itemformat command="var">att_nm</itemformat></item>
+</tableterm><tableitem><para>Attribute name. 
+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="1118">extended regular expressions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1119">regular expressions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1120">pattern matching</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1121">wildcards</indexterm></cindex>
+Regular expressions (<pxref label="Subsetting-Files"><xrefnodename>Subsetting Files</xrefnodename></pxref>) are accepted and will 
+select any matching variable 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. 
+Example: <code>a</code>. 
+See below for complete listing of valid values of <var>mode</var>.
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="var">att_type</itemformat></item>
+</tableterm><tableitem><para>Attribute type abbreviation. 
+Example: <code>c</code>. 
+See below for complete listing of valid values of <var>att_type</var>.
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="var">att_val</itemformat></item>
+</tableterm><tableitem><para>Attribute value. 
+Example: <code>pascal</code>. 
+</para></tableitem></tableentry></table>
+<noindent></noindent>
+<para>There should be no empty space between these five consecutive
+arguments. 
+The description of these arguments follows in their order of
+appearance. 
+</para>
+<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. 
+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="1122">global attributes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1123">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.
+The value of <var>var_nm</var> can also be used to direct <command>ncatted</command>
+to edit global attributes, or to repeat the editing operation for every 
+group or variable in a file.
+<w>A value</w> of <var>var_nm</var> of <code>global</code> indicates that <var>att_nm</var>
+refers to a global (i.e., root-level) attribute, rather than to a
+particular variable&textrsquo;s attribute. 
+This is the method <command>ncatted</command> supports for editing global
+attributes.
+<w>A value</w> of <var>var_nm</var> of <code>group</code> indicates that <var>att_nm</var>
+refers to all groups, rather than to a particular variable&textrsquo;s or group&textrsquo;s
+attribute.  
+The operation will proceed to edit group metadata for every group.
+Finally, if <var>var_nm</var> is left blank, then <command>ncatted</command> 
+attempts to perform the editing operation on every variable in the file.
+This option may be convenient to use if you decide to change the
+conventions you use for describing the data.
+</para>
+<html endspaces=" ">
+<a name="mode"></a> <!&textndash; http://nco.sf.net/nco.html#mode &textndash;>
+<a name="att_mode"></a> <!&textndash; http://nco.sf.net/nco.html#att_mode &textndash;>
+</html>
+<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="1124">attributes, appending</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1125">attributes, creating</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1126">attributes, deleting</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1127">attributes, modifying</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1128">attributes, editing</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1129">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>.
+Append value <var>att_val</var> to current <var>var_nm</var> attribute
+<var>att_nm</var> value <var>att_val</var>, if any.  
+If <var>var_nm</var> does not have an attribute <var>att_nm</var>, there is no
+effect.
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">c</itemformat></item>
+</tableterm><tableitem><para><dfn>Create</dfn>.
+Create variable <var>var_nm</var> attribute <var>att_nm</var> with <var>att_val</var>
+if <var>att_nm</var> does not yet exist.  
+If <var>var_nm</var> already has an attribute <var>att_nm</var>, there is no
+effect. 
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">d</itemformat></item>
+</tableterm><tableitem><para><dfn>Delete</dfn>.
+Delete current <var>var_nm</var> attribute <var>att_nm</var>.
+If <var>var_nm</var> does not have an attribute <var>att_nm</var>, there is no
+effect. 
+If <var>att_nm</var> is omitted (left blank), then all attributes associated
+with the specified variable are automatically deleted. 
+When <dfn>Delete</dfn> mode is selected, the <var>att_type</var> and <var>att_val</var>
+arguments are superfluous and may be left blank.
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">m</itemformat></item>
+</tableterm><tableitem><para><dfn>Modify</dfn>.
+Change value of current <var>var_nm</var> attribute <var>att_nm</var> to value
+<var>att_val</var>. 
+If <var>var_nm</var> does not have an attribute <var>att_nm</var>, there is no
+effect. 
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">o</itemformat></item>
+</tableterm><tableitem><para><dfn>Overwrite</dfn>.
+Write attribute <var>att_nm</var> with value <var>att_val</var> to variable
+<var>var_nm</var>, overwriting existing attribute <var>att_nm</var>, if any. 
+This is the default mode.
+</para></tableitem></tableentry></table>
+
+<html endspaces=" ">
+<a name="att_typ"></a> <!&textndash; http://nco.sf.net/nco.html#att_typ &textndash;>
+</html>
+<para>The value of <var>att_type</var> is a single character abbreviation 
+(<code>f</code>, <code>d</code>, <code>l</code>, <code>i</code>, <code>s</code>, <code>c</code>, 
+<code>b</code>, <code>u</code>) or a short string standing for one of the twelve
+primitive netCDF data types:&linebreak;  
+</para><table commandarg="code" spaces=" " endspaces=" ">
+<tableentry><tableterm><item spaces=" "><itemformat command="code">f</itemformat></item>
+</tableterm><tableitem><para><dfn>Float</dfn>.
+Value(s) specified in <var>att_val</var> will be stored as netCDF intrinsic
+type <code>NC_FLOAT</code>. 
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">d</itemformat></item>
+</tableterm><tableitem><para><dfn>Double</dfn>.
+Value(s) specified in <var>att_val</var> will be stored as netCDF intrinsic
+type <code>NC_DOUBLE</code>.
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">i, l</itemformat></item>
+</tableterm><tableitem><para><dfn>Integer</dfn> or <dfn>Long</dfn>.
+Value(s) specified in <var>att_val</var> will be stored as netCDF intrinsic
+type <code>NC_INT</code>.
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">s</itemformat></item>
+</tableterm><tableitem><para><dfn>Short</dfn>.
+Value(s) specified in <var>att_val</var> will be stored as netCDF intrinsic
+type <code>NC_SHORT</code>.
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">c</itemformat></item>
+</tableterm><tableitem><para><dfn>Char</dfn>.
+Value(s) specified in <var>att_val</var> will be stored as netCDF intrinsic
+type <code>NC_CHAR</code>.
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">b</itemformat></item>
+</tableterm><tableitem><para><dfn>Byte</dfn>.
+Value(s) specified in <var>att_val</var> will be stored as netCDF intrinsic
+type <code>NC_BYTE</code>.
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">ub</itemformat></item>
+</tableterm><tableitem><para><dfn>Unsigned Byte</dfn>.
+Value(s) specified in <var>att_val</var> will be stored as netCDF intrinsic
+type <code>NC_UBYTE</code>.
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">us</itemformat></item>
+</tableterm><tableitem><para><dfn>Unsigned Short</dfn>.
+Value(s) specified in <var>att_val</var> will be stored as netCDF intrinsic
+type <code>NC_USHORT</code>.
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">u, ui, ul</itemformat></item>
+</tableterm><tableitem><para><dfn>Unsigned Int</dfn>.
+Value(s) specified in <var>att_val</var> will be stored as netCDF intrinsic
+type <code>NC_UINT</code>.
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">ll, int64</itemformat></item>
+</tableterm><tableitem><para><dfn>Int64</dfn>.
+Value(s) specified in <var>att_val</var> will be stored as netCDF intrinsic
+type <code>NC_INT64</code>.
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">ull, uint64</itemformat></item>
+</tableterm><tableitem><para><dfn>Uint64</dfn>.
+Value(s) specified in <var>att_val</var> will be stored as netCDF intrinsic
+type <code>NC_UINT64</code>.
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">sng, string</itemformat></item>
+</tableterm><tableitem><para><dfn>String</dfn>.
+Value(s) specified in <var>att_val</var> will be stored as netCDF intrinsic
+type <code>NC_STRING</code>.
+Note that <command>ncatted</command> handles type <code>NC_STRING</code> attributes
+correctly beginning with version 4.3.3 released in July, 2013. 
+Earlier versions fail when asked to handle <code>NC_STRING</code> attributes.  
+</para></tableitem></tableentry></table>
+<noindent></noindent>
+<para>In <dfn>Delete</dfn> mode the specification of <var>att_type</var> is optional
+(and is ignored if supplied).
+</para>
+<para>The value of <var>att_val</var> is what you want to change attribute
+<var>att_nm</var> to contain.
+The specification of <var>att_val</var> is optional in <dfn>Delete</dfn> (and is
+ignored) mode. 
+Attribute values for all types besides <code>NC_CHAR</code> must have an
+attribute length of at least one.
+Thus <var>att_val</var> may be a single value or one-dimensional array of
+elements of type <code>att_type</code>.
+If the <var>att_val</var> is not set or is set to empty space,
+and the <var>att_type</var> is <code>NC_CHAR</code>, e.g., <code>-a units,T,o,c,""</code>
+or <code>-a units,T,o,c,</code>, then the corresponding attribute is set to 
+have zero length.
+When specifying an array of values, it is safest to enclose
+<var>att_val</var> in single or double quotes, e.g., 
+<code>-a levels,T,o,s,"1,2,3,4"</code> or   
+<code>-a levels,T,o,s,'1,2,3,4'</code>.
+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="1130">Perl</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1131"><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="1132"><code>printf()</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1133"><code>\n</code> (<acronym><acronymword>ASCII</acronymword></acronym> LF, linefeed)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1134">characters, special</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1135"><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.
+<acronym><acronymword>NCO</acronymword></acronym> translates valid escape sequences and stores the
+appropriate <acronym><acronymword>ASCII</acronymword></acronym> code instead.
+Since two byte escape sequences, e.g., <code>\n</code>, represent one-byte
+<acronym><acronymword>ASCII</acronymword></acronym> codes, e.g., <acronym><acronymword>ASCII</acronymword></acronym> 10 (decimal), the stored
+string attribute is one byte shorter than the input string length for
+each embedded escape sequence. 
+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="1136"><code>\a</code> (<acronym><acronymword>ASCII</acronymword></acronym> BEL, bell)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1137"><code>\b</code> (<acronym><acronymword>ASCII</acronymword></acronym> BS, backspace)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1138"><code>\f</code> (<acronym><acronymword>ASCII</acronymword></acronym> FF, formfeed)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1139"><code>\r</code> (<acronym><acronymword>ASCII</acronymword></acronym> CR, carriage return)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1140"><code>\v</code> (<acronym><acronymword>ASCII</acronymword></acronym> VT, vertical tab)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1141"><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="1142"><code>\'</code> (protected end quote)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1143"><code>\"</code> (protected double quote)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1144"><code>\?</code> (protected question mark)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1145"><code>\\</code> (protected backslash)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1146"><code>'</code> (end quote)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1147"><code>"</code> (double quote)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1148"><code>?</code> (question mark)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1149"><code>\</code> (backslash)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1150">special characters</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1151"><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.
+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
+characters before editing the attribute.
+No other characters require protection by a backslash.
+Backslashes which precede any other character (e.g., <code>3</code>, <code>m</code>,
+<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="1152">strings</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1153">NUL-termination</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1154">NUL</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1155">C language</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1156"><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 -->
+<!-- comment terminate the string in an additional location). -->
+<!-- comment 20101007 Before today, \0 was not translated to NUL -->
+<!-- comment 20101007 As of today,  \0 is      translated to NUL -->
+If <code>\0</code> is input, it is translated to the NUL character.
+However, this will make the subsequent portion of the string, if any,
+invisible to <w>C standard</w> library string functions. 
+And that may cause unintended consequences.
+Because of these context-sensitive rules, one must use <command>ncatted</command>
+with care in order to store data, rather than text strings, in an 
+attribute of type <code>NC_CHAR</code>.
+</para>
+<para>Note that <command>ncatted</command> interprets character attributes
+(i.e., attributes of type <code>NC_CHAR</code>) as strings.
+<noindent></noindent>
+<html endspaces=" ">
+<a name="xmp_ncatted"></a> <!&textndash; http://nco.sf.net/nco.html#xmp_ncatted &textndash;>
+</html>
+EXAMPLES
+</para>
+<para>Append the string "Data version 2.0.\n" 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></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":
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncatted -a long_name,T,o,c,temperature in.nc
+</pre></example>
+
+<html endspaces=" ">
+<a name="NaN"></a> <!&textndash; http://nco.sf.net/nco.html#NaN &textndash;>
+</html>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1157">NaN</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1158">IEEE NaN</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1159">Not-a-Number</indexterm></cindex>
+<para><acronym><acronymword>NCO</acronymword></acronym> arithmetic operators will not work as expected on IEEE
+NaN (short for Not-a-Number) and NaN-like numbers such as positive
+infinity and negative infinity.  
+One way to work-around this problem is to change IEEE NaNs to normal
+missing values. 
+As of <acronym><acronymword>NCO</acronymword></acronym> 4.1.0 (March, 2012), <command>ncatted</command> works with
+NaNs.
+First set the missing value (i.e., the value of the <code>_FillValue</code>
+attribute) for the variable(s) in question to the IEEE NaN value. 
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncatted -a _FillValue,,o,f,NaN in.nc
+</pre></example>
+<para>Then change the missing value from the IEEE NaN value to a normal IEEE
+number, like 1.0e36 (or to whatever the original missing value was).
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncatted -a _FillValue,,m,f,1.0e36 in.nc
+</pre></example>
+
+<para>Delete all existing <code>units</code> attributes:
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncatted -a units,,d,, in.nc
+</pre></example>
+<noindent></noindent>
+<para>The value of <var>var_nm</var> was left blank in order to select all
+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="1160"><code>global</code> attribute</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1161">global attributes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1162">attributes, global</indexterm></cindex>
+<para>Delete all attributes associated with the <code>tpt</code> variable, and
+delete all global attributes
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncatted -a ,tpt,d,, -a ,global,d,, in.nc
+</pre></example>
+<noindent></noindent>
+<para>The value of <var>att_nm</var> was left blank in order to select all
+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="1163"><code>units</code></indexterm></cindex>
+<para>Modify all existing <code>units</code> attributes to "meter second-1":
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncatted -a units,,m,c,"meter second-1" in.nc
+</pre></example>
+
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1164"><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>:
+</para><example endspaces=" ">
+<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></example>
+
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1165">extended regular expressions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1166">regular expressions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1167">pattern matching</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1168">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.
+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></example>
+<para>See <ref label="Subsetting-Files"><xrefnodename>Subsetting Files</xrefnodename></ref> for more details.
+</para>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1169">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
+# Overwrite units attribute of all 'lon' variables
+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
+# Add new_att attribute to all variables
+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
+# Add new_grp_att group attribute to single group
+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
+</pre></example>
+
+<para>Demonstrate input of C-language escape sequences (e.g., <code>\n</code>) and
+other special characters (e.g., <code>\"</code>) 
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncatted -h -a special,global,o,c,
+'\nDouble quote: \"\nTwo consecutive double quotes: \"\"\n
+Single quote: Beyond my shell abilities!\nBackslash: \\\n
+Two consecutive backslashes: \\\\\nQuestion mark: \?\n' in.nc
+</pre></example>
+<para>Note that the entire attribute is protected from the shell by single
+quotes. 
+These outer single quotes are necessary for interactive use, but may be
+omitted in batch scripts.
+</para>
+<page></page>
+<html endspaces=" ">
+<a name="ncbo"></a> <!&textndash; http://nco.sf.net/nco.html#ncbo &textndash;>
+<a name="ncdiff"></a> <!&textndash; http://nco.sf.net/nco.html#ncdiff &textndash;>
+<a name="ncadd"></a> <!&textndash; http://nco.sf.net/nco.html#ncadd &textndash;>
+<a name="ncsub"></a> <!&textndash; http://nco.sf.net/nco.html#ncsub &textndash;>
+<a name="ncsubtract"></a> <!&textndash; http://nco.sf.net/nco.html#ncsubtract &textndash;>
+<a name="ncmult"></a> <!&textndash; http://nco.sf.net/nco.html#ncmult &textndash;>
+<a name="ncmultiply"></a> <!&textndash; http://nco.sf.net/nco.html#ncmultiply &textndash;>
+<a name="ncdivide"></a> <!&textndash; http://nco.sf.net/nco.html#ncdivide &textndash;>
+</html>
+</section>
+<node name="ncbo-netCDF-Binary-Operator" spaces=" "><nodename>ncbo netCDF Binary Operator</nodename><nodenext spaces=" ">nces netCDF Ensemble Statistics</nodenext><nodeprev spaces=" ">ncatted netCDF Attribute Editor</nodeprev><nodeup spaces=" ">Operator Reference Manual</nodeup></node>
+<section spaces=" "><sectiontitle><command>ncbo</command> netCDF Binary Operator</sectiontitle>
+<findex index="fn" spaces=" "><indexterm index="fn" number="22" mergedindex="cp">ncbo</indexterm></findex>
+<findex index="fn" spaces=" "><indexterm index="fn" number="23" mergedindex="cp">ncdiff</indexterm></findex>
+<findex index="fn" spaces=" "><indexterm index="fn" number="24" mergedindex="cp">ncadd</indexterm></findex>
+<findex index="fn" spaces=" "><indexterm index="fn" number="25" mergedindex="cp">ncsub</indexterm></findex>
+<findex index="fn" spaces=" "><indexterm index="fn" number="26" mergedindex="cp">ncsubtract</indexterm></findex>
+<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="1170">binary operations</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1171">addition</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1172">subtraction</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1173">multiplication</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1174">adding data</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1175">subtracting data</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1176">multiplying data</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1177">dividing data</indexterm></cindex>
+
+<noindent></noindent>
+<para>SYNTAX
+</para><example endspaces=" "> 
+<pre xml:space="preserve">ncbo [-3] [-4] [-6] [-7] [-A] [-C] [-c]
+[--cnk_dmn nm,sz] [--cnk_map map] [--cnk_plc plc] [--cnk_scl sz]
+[-D <var>dbg</var>] [-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]] [-F] 
+[-G <var>gpe_dsc</var>] [-g <var>grp</var>[,&dots;]] [-h] [--hdr_pad <var>nbr</var>]
+[-L <var>dfl_lvl</var>] [-l <var>path</var>] [--no_tmp_fl]
+[-O] [-o <var>file_3</var>] [-p <var>path</var>] [-R] [-r] [--ram_all]
+[-t <var>thr_nbr</var>] [--unn] [-v <var>var</var>[,&dots;]] [-X ...] [-x] [-y <var>op_typ</var>]
+<var>file_1</var> <var>file_2</var> [<var>file_3</var>]
+</pre></example>
+
+<noindent></noindent>
+<para>DESCRIPTION
+</para>
+<para><command>ncbo</command> performs binary operations on variables in <var>file_1</var>
+and the corresponding variables (those with the same name) in
+<var>file_2</var> and stores the results in <var>file_3</var>. 
+The binary operation operates on the entire files (modulo any excluded
+variables). 
+<xref label="Missing-Values"><xrefnodename>Missing Values</xrefnodename></xref>, for treatment of missing values.
+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="1178"><code>add</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1179"><code>subtract</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1180"><code>multiply</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1181"><code>divide</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1182"><code>+</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1183"><code>-</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1184"><code>*</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1185"><code>/</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1186"><code>-y <var>op_typ</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1187"><code>--operation <var>op_typ</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1188"><code>--op_typ <var>op_typ</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1189">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:  
+</para><table commandarg="dfn" spaces=" " endspaces=" ">
+<tableentry><tableterm><item spaces=" "><itemformat command="dfn">Addition</itemformat></item>
+</tableterm><tableitem><!-- c Internal operation code: @{nco_op_add}@* -->
+<para>Definition: <var>file_3</var> = <var>file_1</var> + <var>file_2</var>&linebreak;
+Alternate invocation: <command>ncadd</command>&linebreak;
+<var>op_typ</var> key values: <samp>add</samp>, <samp>+</samp>, <samp>addition</samp>&linebreak;
+Examples: <samp>ncbo --op_typ=add 1.nc 2.nc 3.nc</samp>, <samp>ncadd 1.nc 2.nc 3.nc</samp>&linebreak;
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="dfn">Subtraction</itemformat></item>
+</tableterm><tableitem><para>Definition: <var>file_3</var> = <var>file_1</var> - <var>file_2</var>&linebreak;
+Alternate invocations: <command>ncdiff</command>, <command>ncsub</command>, <command>ncsubtract</command>&linebreak;
+<var>op_typ</var> key values: <samp>sbt</samp>, <samp>-</samp>, <samp>dff</samp>, <samp>diff</samp>, <samp>sub</samp>, <samp>subtract</samp>, <samp>subtraction</samp>&linebreak;
+Examples: <samp>ncbo --op_typ=- 1.nc 2.nc 3.nc</samp>, <samp>ncdiff 1.nc 2.nc 3.nc</samp>&linebreak;
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="dfn">Multiplication</itemformat></item>
+</tableterm><tableitem><para>Definition: <var>file_3</var> = <var>file_1</var> * <var>file_2</var>&linebreak; 
+Alternate invocations: <command>ncmult</command>, <command>ncmultiply</command>&linebreak; 
+<var>op_typ</var> key values: <samp>mlt</samp>, <samp>*</samp>, <samp>mult</samp>, <samp>multiply</samp>, <samp>multiplication</samp>&linebreak;
+Examples: <samp>ncbo --op_typ=mlt 1.nc 2.nc 3.nc</samp>, <samp>ncmult 1.nc 2.nc 3.nc</samp>&linebreak;
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="dfn">Division</itemformat></item>
+</tableterm><tableitem><para>Definition: <var>file_3</var> = <var>file_1</var> / <var>file_2</var>&linebreak; 
+Alternate invocation: <command>ncdivide</command>&linebreak;
+<var>op_typ</var> key values: <samp>dvd</samp>, <samp>/</samp>, <samp>divide</samp>, <samp>division</samp>&linebreak;
+Examples: <samp>ncbo --op_typ=/ 1.nc 2.nc 3.nc</samp>, <samp>ncdivide 1.nc 2.nc 3.nc</samp>&linebreak;
+</para></tableitem></tableentry></table>
+<noindent></noindent>
+<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="1190">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="1191">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
+special characters even when they are not quoted. 
+That is, Bash does not prevent <acronym><acronymword>NCO</acronymword></acronym> from correctly interpreting 
+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="1192">globbing</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1193">shell</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1194">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)
+ncbo --op_typ='*' 1.nc 2.nc 3.nc # Safe ('*' protected from shell)
+ncbo --op_typ="*" 1.nc 2.nc 3.nc # Safe ('*' protected from shell)
+ncbo --op_typ=mlt 1.nc 2.nc 3.nc
+ncbo --op_typ=mult 1.nc 2.nc 3.nc
+ncbo --op_typ=multiply 1.nc 2.nc 3.nc
+ncbo --op_typ=multiplication 1.nc 2.nc 3.nc
+ncmult 1.nc 2.nc 3.nc # First do 'ln -s ncbo ncmult'
+ncmultiply 1.nc 2.nc 3.nc # First do 'ln -s ncbo ncmultiply'
+</pre></example>
+<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="1195"><command>alias</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1196"><command>ln -s</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1197">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,
+in conformance with your site&textrsquo;s policy on <dfn>symbolic links</dfn> to
+executables (files of a different name point to the actual executable).
+For many years, <command>ncdiff</command> was the main binary file operator.
+As a result, many users prefer to continue invoking <command>ncdiff</command>
+rather than memorizing a new command (<samp>ncbo -y <var>sbt</var></samp>) which
+behaves identically to the original <command>ncdiff</command> command.
+However, from a software maintenance standpoint, maintaining a distinct 
+executable for each binary operation (e.g., <command>ncadd</command>) is untenable,
+and a single executable, <command>ncbo</command>, is desirable.
+To maintain backward compatibility, therefore, <acronym><acronymword>NCO</acronymword></acronym>
+automatically creates a symbolic link from <command>ncbo</command> to
+<command>ncdiff</command>.  
+Thus <command>ncdiff</command> is called an <dfn>alternate invocation</dfn> of
+<command>ncbo</command>. 
+<command>ncbo</command> supports many additional alternate invocations which must
+be manually activated.
+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 <command>ncbo</command> to <command>ncadd</command>
+<footnote><para>The command to do this is <samp>ln -s -f ncbo ncadd</samp></para></footnote>.
+The alternatate invocations supported for each operation type are listed
+above. 
+Alternatively, users may always define <samp>ncadd</samp> as an <dfn>alias</dfn> to 
+<samp>ncbo --op_typ=add</samp>
+<footnote><para>The command to do this is <samp>alias ncadd='ncbo --op_typ=add'</samp></para></footnote>.
+</para>
+<para>It is important to maintain portability in <acronym><acronymword>NCO</acronymword></acronym> scripts.
+Therefore we recommend that site-specfic invocations (e.g.,
+<samp>ncadd</samp>) be used only in interactive sessions from the
+command-line.
+For scripts, we recommend using the full invocation (e.g., 
+<samp>ncbo --op_typ=add</samp>).
+This ensures portability of scripts between users and sites.
+</para>
+<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="1198">broadcasting variables</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1199">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="1200">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>
+would only broadcast variables in <var>file_2</var> to conform to
+<var>file_1</var>. 
+Variables in <var>file_1</var> were <emph>never</emph> broadcast to conform to the 
+dimensions in <var>file_2</var>.</para></footnote>. 
+Now <command>ncbo</command> is completely symmetric with respect to <var>file_1</var>
+and <var>file_2</var>, i.e., 
+<set name="flg" line=" flg"></set>
+<tex endspaces=" ">
+$\rm{file}_1 - \rm{file}_2 = -(\rm{file}_2-\rm{file}_1)$.
+<clear name="flg" line=" flg"></clear>
+</tex>
+<math><var>file_1</var> - <var>file_2</var> = - (<var>file_2</var> - <var>file_1</var></math>.
+<clear name="flg" line=" flg"></clear>
+</para>
+<para>Broadcasting a variable means creating data in non-existing dimensions
+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="1201">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="1202">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>. 
+Of course, the size of all dimensions common to both <var>file_1</var> and
+<var>file_2</var> must be equal. 
+</para>
+<para>When computing anomalies from the mean it is often the case that
+<var>file_2</var> was created by applying an averaging operator to a file
+with initially the same dimensions as <var>file_1</var> (often <var>file_1</var>
+itself).  
+In these cases, creating <var>file_2</var> with <command>ncra</command> rather than
+<command>ncwa</command> will cause the <command>ncbo</command> operation to fail.
+For concreteness say the record dimension in <code>file_1</code> is
+<code>time</code>.  
+If <var>file_2</var> were created by averaging <var>file_1</var> over the
+<code>time</code> dimension with the <command>ncra</command> operator rather than with
+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="1203">degenerate dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1204"><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
+all averaged dimensions.
+In other words, by default <command>ncra</command> changes variable size though
+not rank, while, <command>ncwa</command> changes both variable size and rank.</para></footnote>.   
+In this case the input files to <command>ncbo</command>, <var>file_1</var> and
+<var>file_2</var>, will have unequally sized <code>time</code> dimensions which
+causes <command>ncbo</command> to fail.
+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="1205">coordinate variable</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1206"><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="1207"><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>.
+See <ref label="CF-Conventions"><xrefnodename>CF Conventions</xrefnodename></ref> for a complete description.
+Finally, we note that <command>ncflint</command> (<pxref label="ncflint-netCDF-File-Interpolator"><xrefnodename>ncflint netCDF File
+Interpolator</xrefnodename></pxref>) is designed for file interpolation.
+As such, it also performs file subtraction, addition, multiplication,
+albeit in a more convoluted way than <command>ncbo</command>.
+</para>
+<html endspaces=" ">
+<a name="brd_grp"></a> <!&textndash; http://nco.sf.net/nco.html#brd_grp &textndash;>
+<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="1208">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
+input file(s) and automatically transferring or transforming groups to
+the output file. 
+Consider the case where <var>file_1</var> contains multiple groups each with
+the variable <var>v1</var>, while <var>file_2</var> contains <var>v1</var> only in its 
+top-level (i.e., root) group.
+Then <command>ncbo</command> will replicate the group structure of <var>file_1</var>
+in the output file, <var>file_3</var>.
+Each group in <var>file_3</var> contains the output of the corresponding
+group in <var>file_1</var> operating on the data in the single group in
+<var>file_2</var>. 
+An example is provided below.
+</para>
+<noindent></noindent>
+<html endspaces=" ">
+<a name="xmp_ncbo"></a> <!&textndash; http://nco.sf.net/nco.html#xmp_ncbo &textndash;>
+<a name="xmp_ncdiff"></a> <!&textndash; http://nco.sf.net/nco.html#xmp_ncdiff &textndash;>
+</html>
+<para>EXAMPLES
+</para>
+<para>Say files <file>85_0112.nc</file> and <file>86_0112.nc</file> each contain 12 months
+of data.
+Compute the change in the monthly averages from 1985 to 1986:
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncbo   86_0112.nc 85_0112.nc 86m85_0112.nc
+ncdiff 86_0112.nc 85_0112.nc 86m85_0112.nc
+ncbo --op_typ=sub 86_0112.nc 85_0112.nc 86m85_0112.nc
+ncbo --op_typ='-' 86_0112.nc 85_0112.nc 86m85_0112.nc
+</pre></example>
+<noindent></noindent>
+<para>These commands are all different ways of expressing the same thing.
+</para>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1209">broadcasting</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1210">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
+average of <code>T</code> for the year 1985.
+First we create the 1985 average from the monthly data, which is stored
+with the record dimension <code>time</code>.
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncra 85_0112.nc 85.nc
+ncwa -O -a time 85.nc 85.nc
+</pre></example>
+<noindent></noindent>
+<para>The second command, <command>ncwa</command>, gets rid of the <code>time</code> dimension
+of <w>size 1</w> that <command>ncra</command> left in <file>85.nc</file>. 
+Now none of the variables in <file>85.nc</file> has a <code>time</code> dimension.
+<w>A quicker</w> way to accomplish this is to use <command>ncwa</command> from the
+beginning:  
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncwa -a time 85_0112.nc 85.nc
+</pre></example>
+<noindent></noindent>
+<para>We are now ready to use <command>ncbo</command> to compute the anomalies for 1985:
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncdiff -v T 85_0112.nc 85.nc t_anm_85_0112.nc
+</pre></example>
+<noindent></noindent>
+<para>Each of the 12 records in <file>t_anm_85_0112.nc</file> now contains the
+monthly deviation of <code>T</code> from the annual mean of <code>T</code> for each 
+gridpoint. 
+</para>
+<para>Say we wish to compute the monthly gridpoint anomalies from the zonal
+annual mean. 
+<w>A <dfn>zonal mean</dfn></w> is a quantity that has been averaged over the
+longitudinal (or <var>x</var>) direction.
+First we use <command>ncwa</command> to average over longitudinal direction
+<code>lon</code>, creating <file>85_x.nc</file>, the zonal mean of <file>85.nc</file>. 
+Then we use <command>ncbo</command> to subtract the zonal annual means from the
+monthly gridpoint data:
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncwa -a lon 85.nc 85_x.nc
+ncdiff 85_0112.nc 85_x.nc tx_anm_85_0112.nc
+</pre></example>
+<noindent></noindent>
+<para>This examples works assuming <file>85_0112.nc</file> has dimensions
+<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="1211">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
+top-level groups <code>cesm</code>, <code>ecmwf</code>, and <code>giss</code>, each of
+which contains the surface air temperature field <code>tas</code>.
+We wish to compare these models to observations stored in <file>obs.nc</file> 
+which contains <code>tas</code> only in its top-level (i.e., root) group.
+It is often the case that many models and/or model simulations exist,
+whereas only one observational dataset does.
+We evaluate the models and obtain the bias (difference) between models
+and observations by subtracting <file>obs.nc</file> from <file>cmip5.nc</file>.
+Then <command>ncbo</command> &textldquo;broadcasts&textrdquo; (i.e., replicates) the observational
+data to match the group structure of <file>cmip5.nc</file>, subtracts,
+and then stores the results in the output file, <file>bias.nc</file>
+which has the same group structure as <file>cmip5.nc</file>.
+</para><example endspaces=" ">
+<pre xml:space="preserve">% ncbo -O cmip5.nc obs.nc bias.nc
+% ncks -H -v tas -d time,3 bias.nc
+/cesm/tas
+time[3] tas[3]=-1 
+/ecmwf/tas
+time[3] tas[3]=0 
+/giss/tas
+time[3] tas[3]=1 
+</pre></example>
+<noindent></noindent>
+
+<html endspaces=" ">
+<a name="csn_anm"></a> <!&textndash; http://nco.sf.net/nco.html#csn_anm &textndash;>
+</html>
+<para>As a final example, say we have five years of monthly data (i.e., 
+<w>60 months</w>) stored in <file>8501_8912.nc</file> and we wish to create a
+file which contains the twelve month seasonal cycle of the average
+monthly anomaly from the five-year mean of this data. 
+The following method is just one permutation of many which will
+accomplish the same result.
+First use <command>ncwa</command> to create the five-year mean: 
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncwa -a time 8501_8912.nc 8589.nc
+</pre></example>
+<noindent></noindent>
+<para>Next use <command>ncbo</command> to create a file containing the difference of
+each month&textrsquo;s data from the five-year mean:
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncbo 8501_8912.nc 8589.nc t_anm_8501_8912.nc
+</pre></example>
+<noindent></noindent>
+<para>Now use <command>ncks</command> to group together the five January anomalies in
+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="1212">Bash Shell</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1213">Bourne Shell</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1214">C Shell</indexterm></cindex>
+</para><example endspaces=" ">
+<pre xml:space="preserve">for idx in {1..12}; do # Bash Shell (version 3.0+) 
+  idx=`printf "%02d" ${idx}` # Zero-pad to preserve order
+  ncks -F -d time,${idx},,12 t_anm_8501_8912.nc foo.${idx}
+  ncra foo.${idx} t_anm_8589_${idx}.nc
+done
+for idx in 01 02 03 04 05 06 07 08 09 10 11 12; do # Bourne Shell
+  ncks -F -d time,${idx},,12 t_anm_8501_8912.nc foo.${idx}
+  ncra foo.${idx} t_anm_8589_${idx}.nc
+done
+foreach idx (01 02 03 04 05 06 07 08 09 10 11 12) # C Shell
+  ncks -F -d time,${idx},,12 t_anm_8501_8912.nc foo.${idx}
+  ncra foo.${idx} t_anm_8589_${idx}.nc
+end
+</pre></example>
+<noindent></noindent>
+<para>Note that <command>ncra</command> understands the <code>stride</code> argument so the
+two commands inside the loop may be combined into the single command 
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncra -F -d time,${idx},,12 t_anm_8501_8912.nc foo.${idx}
+</pre></example>
+<noindent></noindent>
+<para>Finally, use <command>ncrcat</command> to concatenate the <w>12 average</w> monthly  
+anomaly files into one twelve-record file which contains the entire
+seasonal cycle of the monthly anomalies:
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncrcat t_anm_8589_??.nc t_anm_8589_0112.nc
+</pre></example>
+<noindent></noindent>
+
+<page></page>
+<html endspaces=" ">
+<a name="nces"></a> <!&textndash; http://nco.sf.net/nco.html#nces &textndash;>
+<a name="ncea"></a> <!&textndash; http://nco.sf.net/nco.html#ncea &textndash;>
+</html>
+</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="1215">averaging data</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1216">ensemble average</indexterm></cindex>
+<findex index="fn" spaces=" "><indexterm index="fn" number="30" mergedindex="cp">nces</indexterm></findex>
+
+<noindent></noindent>
+<para>SYNTAX
+</para><example endspaces=" ">
+<pre xml:space="preserve">nces [-3] [-4] [-6] [-7] [-A] [-C] [-c]
+[--cnk_dmn nm,sz] [--cnk_map map] [--cnk_plc plc] [--cnk_scl sz]
+[-D <var>dbg</var>] [-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]] [-F]
+[-G <var>gpe_dsc</var>] [-g <var>grp</var>[,&dots;]] [-h] [--hdf] [--hdr_pad <var>nbr</var>] 
+[-L <var>dfl_lvl</var>] [-l <var>path</var>] [-n <var>loop</var>] [--no_tmp_fl] [--nsm_fl|grp] [--nsm_sfx sfx]
+[-O] [-o <var>output-file</var>] [-p <var>path</var>] [-R] [-r] [--ram_all] [--rth_dbl|flt]
+[-t <var>thr_nbr</var>] [--unn] [-v <var>var</var>[,&dots;]] [-X ...] [-x] [-y <var>op_typ</var>]
+[<var>input-files</var>] [<var>output-file</var>]
+</pre></example>
+
+<noindent></noindent>
+<para>DESCRIPTION
+</para>
+<para><command>nces</command> performs gridpoint statistics on variables across an
+arbitrary number (an <dfn>ensemble</dfn>) of <var>input-files</var> and/or of
+input groups within each file.
+Each file (or group) receives an equal weight.
+<command>nces</command> was formerly (until <acronym><acronymword>NCO</acronymword></acronym> version 4.3.9,
+released December, 2013) known as <command>ncea</command> (netCDF Ensemble
+Averager)<footnote spaces="\n"><para>The old ncea command was deprecated in <acronym><acronymword>NCO</acronymword></acronym> version 4.3.9,  
+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="1217">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
+over the record dimension(s) (e.g., <var>time</var>), and weights each record 
+in each record dimension evenly.
+</para>
+<para>The file or group is the logical unit of organization for the results of
+many scientific studies.
+Often one wishes to generate a file or group which is the statistical
+product (e.g., average) of many separate files or groups. 
+This may be to reduce statistical noise by combining the results of a
+large number of experiments, or it may simply be a step in a procedure 
+whose goal is to compute anomalies from a mean state. 
+In any case, when one desires to generate a file whose statistical
+properties are equally influenced by all the inputs, then <command>nces</command>
+is the operator to use. 
+</para>
+<para>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
+<footnote><para>As of <acronym><acronymword>NCO</acronymword></acronym> version 4.4.2 (released February, 2014)
+<command>nces</command> allows hyperslabs in all dimensions so long as the
+hyperslabs resolve to the same size. 
+The fixed (i.e., non-record) dimensions should be the same size in
+all ensemble members both before and after hyperslabbing, although
+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="1218">record dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1219">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="1220"><acronym><acronymword>IPCC</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1221"><acronym><acronymword>AR4</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1222"><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).   
+</para>
+<html endspaces=" ">
+<a name="nsm_fl"></a> <!&textndash; http://nco.sf.net/nco.html#nsm_fl &textndash;>
+<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="1223"><code>--nsm_fl</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1224"><code>--nsm_grp</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1225"><code>--ensemble_file</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1226"><code>--ensemble_group</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1227"><code>--nsm_sfx</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1228"><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>) 
+and may also be explicitly specified by the <samp>--nsm_fl</samp> or
+<samp>--ensemble_file</samp> switches.
+To perform statistics on ensembles of groups, a newer feature, use
+<samp>--nsm_grp</samp> or <samp>--ensemble_group</samp>.
+Members of a group ensemble are groups that share the same structure,
+parent group, and nesting level. 
+Members must be <dfn>leaf groups</dfn>, i.e., not contain any sub-groups.
+Their contents usually have different values because they are
+realizations of replicated experiments.  
+In group ensemble mode <command>nces</command> computes the statistics across 
+the ensemble, which may span multiple input files. 
+Files may contain members of multiple, distinct ensembles. 
+However, all ensembles must have at least one member in the first input 
+file. 
+Group ensembles behave as an unlimited dimension of datasets: 
+they may contain an arbitrary and extensible number of realizations in
+each file, and may be composed from multiple files. 
+</para>
+<para>Output statistics in group ensemble mode are stored in the parent group
+by default. 
+If the ensemble members are <file>/cesm/cesm_01</file> and
+<file>/cesm/cesm_02</file>, then the computed statistic will be in
+<file>/cesm</file> in the output file.  
+The <samp>--nsm_sfx</samp> option instructs nces to instead store output in  
+a new child group of the parent created by attaching the suffix
+to the parent group&textrsquo;s name, e.g., <samp>--nsm_sfx='_avg'</samp> would store
+results in the output group <file>/cesm/cesm_avg</file>:
+</para><example endspaces=" ">
+<pre xml:space="preserve">nces --nsm_grp                  mdl1.nc mdl2.nc mdl3.nc out.nc
+nces --nsm_grp --nsm_sfx='_avg' mdl1.nc mdl2.nc mdl3.nc out.nc
+</pre></example>
+
+<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="1229">multi-file operators</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1230">standard input</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1231"><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 
+(<pxref label="Large-Numbers-of-Files"><xrefnodename>Large Numbers of Files</xrefnodename></pxref>).
+</para>
+<para>Like <command>ncra</command> and <command>ncwa</command>, <command>nces</command> treats coordinate
+variables as a special case.
+Coordinate variables are assumed to be the same in all ensemble members,
+so <command>nces</command> simply copies the coordinate variables that appear in 
+ensemble members directly to the output file.
+This has the same effect as averaging the coordinate variable across the
+ensemble, yet does not incur the time- or precision- penalties of
+actually averaging them.
+<command>ncra</command> and <command>ncwa</command> allow coordinate variables to be
+processed only by the linear average operation, regardless of the
+arithmetic operation type performed on the non-coordinate variables
+(<pxref label="Operation-Types"><xrefnodename>Operation Types</xrefnodename></pxref>). 
+Thus it can be said that the three operators (<command>ncra</command>,
+<command>ncwa</command>, and <command>nces</command>) all average coordinate variables
+(even though <command>nces</command> simply copies them).
+All other requested arithmetic operations (e.g., maximization,
+square-root, RMS) are applied only to non-coordinate variables.
+In these cases the linear average of the coordinate variable will be
+returned.
+</para>
+<noindent></noindent>
+<html endspaces=" ">
+<a name="xmp_ncea"></a> <!&textndash; http://nco.sf.net/nco.html#xmp_ncea &textndash;>
+<a name="xmp_nces"></a> <!&textndash; http://nco.sf.net/nco.html#xmp_nces &textndash;>
+</html>
+<para>EXAMPLES
+</para>
+<para>Consider a model experiment which generated five realizations of one
+year of data, say 1985.
+Imagine that the experimenter slightly perturbs the initial conditions
+of the problem before generating each new solution.   
+Assume each file contains all twelve months (a seasonal cycle) of data
+and we want to produce a single file containing the ensemble average
+(mean) seasonal cycle.  
+Here the numeric filename suffix denotes the realization number
+(<emph>not</emph> the month):
+</para><example endspaces=" ">
+<pre xml:space="preserve">nces 85_01.nc 85_02.nc 85_03.nc 85_04.nc 85_05.nc 85.nc
+nces 85_0[1-5].nc 85.nc
+nces -n 5,2,1 85_01.nc 85.nc
+</pre></example>
+<noindent></noindent>
+<para>These three commands produce identical answers.
+<xref label="Specifying-Input-Files"><xrefnodename>Specifying Input Files</xrefnodename></xref>, for an explanation of the distinctions
+between these methods.
+The output file, <file>85.nc</file>, is the same size as the inputs files.
+It contains 12 months of data (which might or might not be stored in the 
+record dimension, depending on the input files), but each value in the
+output file is the average of the five values in the input files.
+</para>
+<para>In the previous example, the user could have obtained the ensemble
+average values in a particular spatio-temporal region by adding a 
+hyperslab argument to the command, e.g.,
+</para><example endspaces=" ">
+<pre xml:space="preserve">nces -d time,0,2 -d lat,-23.5,23.5 85_??.nc 85.nc
+</pre></example>
+<noindent></noindent>
+<para>In this case the output file would contain only three slices of data in
+the <var>time</var> dimension. 
+These three slices are the average of the first three slices from the
+input files.
+Additionally, only data inside the tropics is included.
+</para>
+<para>As of <acronym><acronymword>NCO</acronymword></acronym> version 4.3.9 (released December, 2013)
+<command>nces</command> also works with groups (rather than files) as the
+fundamental unit of the ensemble.
+Consider two ensembles, <code>/ecmwf</code> and <code>/cesm</code> stored across
+three input files <file>mdl1.nc</file>, <file>mdl2.nc</file>, and <file>mdl3.nc</file>.
+Ensemble members would be leaf groups with names like <code>/ecmwf/01</code>,
+<code>/ecmwf/02</code> etc. and <code>/cesm/01</code>, <code>/cesm/02</code>, etc.
+These commands average both ensembles: 
+</para><example endspaces=" ">
+<pre xml:space="preserve">nces --nsm_grp mdl1.nc mdl2.nc mdl3.nc out.nc
+nces --nsm_grp --nsm_sfx='_min' --op_typ=min -n 3,1,1 mdl1.nc out.nc
+nces --nsm_grp -g cesm -v tas -d time,0,3 -n 3,1,1 mdl1.nc out.nc
+</pre></example>
+<para>The first command stores averages in the output groups <file>/cesm</file> and 
+<file>/ecmwf</file>, while the second stores minima in the output groups
+<file>/cesm/cesm_min</file> and <file>/ecmwf/ecmwf_min</file>:
+The third command demonstrates that sub-setting and hyperslabbing work
+as expected.
+Note that each input file may contain different numbers of members
+of each ensemble, as long as all distinct ensembles contain at least one
+member in the first file.
+</para>
+<page></page>
+<html endspaces=" ">
+<a name="ncecat"></a> <!&textndash; http://nco.sf.net/nco.html#ncecat &textndash;>
+</html>
+</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="1232">concatenation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1233">ensemble concatenation</indexterm></cindex>
+<findex index="fn" spaces=" "><indexterm index="fn" number="31" mergedindex="cp">ncecat</indexterm></findex>
+
+<noindent></noindent>
+<para>SYNTAX
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncecat [-3] [-4] [-6] [-7] [-A] [-C] [-c]
+[--cnk_dmn nm,sz] [--cnk_map map] [--cnk_plc plc] [--cnk_scl sz]
+[-D <var>dbg</var>] [-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]] [-F]
+[-G <var>gpe_dsc</var>] [-g <var>grp</var>[,&dots;]] [--gag] [-h] [--hdf] [--hdr_pad <var>nbr</var>]
+[-L <var>dfl_lvl</var>] [-l <var>path</var>] [-M] [--md5_digest] [--mrd] [-n <var>loop</var>] [--no_tmp_fl] 
+[-O] [-o <var>output-file</var>] [-p <var>path</var>] [-R] [-r] [--ram_all] 
+[-t <var>thr_nbr</var>] [-u <var>ulm_nm</var>] [--unn] [-v <var>var</var>[,&dots;]] [-X ...] [-x] 
+[<var>input-files</var>] [<var>output-file</var>]
+</pre></example>
+
+<noindent></noindent>
+<para>DESCRIPTION
+</para>
+<para><command>ncecat</command> aggregates an arbitrary number of input files into a 
+single output file using using one of two methods.
+<dfn>Record AGgregation</dfn> (<acronym><acronymword>RAG</acronymword></acronym>), the traditional method employed on
+netCDF3 files and still the default method, stores <var>input-files</var> as
+consecutive records in the <var>output-file</var>.
+<dfn>Group AGgregation</dfn> (<acronym><acronymword>GAG</acronymword></acronym>) stores <var>input-files</var> as top-level
+groups in the netCDF4 <var>output-file</var>.
+Record Aggregation (<acronym><acronymword>RAG</acronymword></acronym>) makes numerous assumptions about the structure
+of input files and Group Aggregation (<acronym><acronymword>GAG</acronymword></acronym>) makes none.
+Both methods are described in detail below.
+Since <command>ncecat</command> aggregates all the contents of the input files,
+it can easily produce large output files so it is often helpful to invoke
+subsetting simultaneously (<pxref label="Subsetting-Files"><xrefnodename>Subsetting Files</xrefnodename></pxref>).
+</para>
+<html endspaces=" ">
+<a name="rag"></a> <!&textndash; http://nco.sf.net/nco.html#rag &textndash;>
+</html>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1234">record aggregation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1235"><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).
+</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="1236">unlimited dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1237">record dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1238"><samp>-u <var>ulm_nm</var></samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1239"><samp>--ulm_nm <var>ulm_nm</var></samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1240"><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="1241">record dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1242">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="1243"><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="1244">fixed dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1245">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
+changing the pre-existing record dimension, if any, in the input files
+into a fixed dimension in the output file. 
+netCDF4 output files may contain any number of record dimensions, so
+<command>ncecat</command> need not and does not alter the record dimensions,
+if any, of the input files as it copies them to the output file. 
+</para>
+<html endspaces=" ">
+<a name="gag"></a> <!&textndash; http://nco.sf.net/nco.html#gag &textndash;>
+</html>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1246">group aggregation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1247"><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 
+object (variable or dimension or group) in the input file.
+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="1248"><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>,
+takes as argument a group path editing description <var>gpe_dsc</var> of
+where to place the results.
+Each input file needs a distinct output group name to avoid namespace
+conflicts in the <var>output-file</var>. 
+Hence <command>ncecat</command> automatically creates unique output group names
+based on either the input filenames or the <var>gpe_dsc</var> arguments.
+When the user provides <var>gpe_dsc</var> (i.e., with <samp>-G</samp>), then the
+output groups are formed by enumerating sequential two-digit numeric
+suffixes starting with zero, and appending them to the specified group
+path (<pxref label="Group-Path-Editing"><xrefnodename>Group Path Editing</xrefnodename></pxref>).
+When <var>gpe_dsc</var> is not provided (i.e., user requests <acronym><acronymword>GAG</acronymword></acronym> with
+<samp>--gag</samp> instead of <samp>-G</samp>), then <command>ncecat</command> forms the
+output groups by stripping the input file name of any type-suffix
+(e.g., <code>.nc</code>), and all but the final component of the full
+filename. 
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncecat --gag 85.nc 86.nc 87.nc 8587.nc # Output groups 85, 86, 87
+ncecat -G 85_ a.nc b.nc c.nc 8589.nc # Output groups 85_00, 85_01, 85_02
+ncecat -G 85/ a.nc b.nc c.nc 8589.nc # Output groups 85/00, 85/01, 85/02
+</pre></example>
+
+<para>With both <acronym><acronymword>RAG</acronymword></acronym> and <acronym><acronymword>GAG</acronymword></acronym> the <var>output-file</var> size is
+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="1249">multi-file operators</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1250">standard input</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1251"><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="1252"><code>-M</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1253"><code>--glb_mtd_spp</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1254">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>.  
+This helps to preserve the provenance of the output data.
+However, the use of metadata is burgeoning and is not uncommon to
+encounter files with excessive amounts of extraneous metadata.
+Extracting small bits of data from such files leads to output files
+which are much larger than necessary due to the automatically copied
+metadata.
+<command>ncecat</command> supports turning off the default copying of global
+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="1255">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. 
+Then <code>ncecat 85?.nc 85_ens.nc</code> glues together the individual
+realizations into the single file, <file>85_ens.nc</file>. 
+If an input variable was dimensioned [<code>lat</code>,<code>lon</code>], it will
+by default have dimensions [<code>record</code>,<code>lat</code>,<code>lon</code>] in
+the output file. 
+<w>A restriction</w> of <command>ncecat</command> is that the hyperslabs of the
+processed variables must be the same from file to file.
+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="1256">packing</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1257">unpacking</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1258"><code>add_offset</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1259"><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>).
+<command>ncecat</command> does not unpack data, it simply <emph>copies</emph> the data
+from the <var>input-files</var>, and the metadata from the <emph>first</emph>
+<var>input-file</var>, to the <var>output-file</var>. 
+This means that data compressed with a packing convention must use
+the identical packing parameters (e.g., <code>scale_factor</code> and
+<code>add_offset</code>) for a given variable across <emph>all</emph> input files.
+Otherwise the concatenated dataset will not unpack correctly.
+The workaround for cases where the packing parameters differ across
+<var>input-files</var> requires three steps:
+First, unpack the data using <command>ncpdq</command>.
+Second, concatenate the unpacked data using <command>ncecat</command>, 
+Third, re-pack the result with <command>ncpdq</command>.
+</para>
+<noindent></noindent>
+<html endspaces=" ">
+<a name="xmp_ncecat"></a> <!&textndash; http://nco.sf.net/nco.html#xmp_ncecat &textndash;>
+</html>
+<para>EXAMPLES
+</para>
+<para>Consider a model experiment which generated five realizations of one
+year of data, say 1985.
+You can imagine that the experimenter slightly perturbs the
+initial conditions of the problem before generating each new solution.  
+Assume each file contains all twelve months (a seasonal cycle) of data
+and we want to produce a single file containing all the seasonal
+cycles. 
+Here the numeric filename suffix denotes the experiment number
+(<emph>not</emph> the month):
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncecat 85_01.nc 85_02.nc 85_03.nc 85_04.nc 85_05.nc 85.nc
+ncecat 85_0[1-5].nc 85.nc
+ncecat -n 5,2,1 85_01.nc 85.nc
+</pre></example>
+<noindent></noindent>
+<para>These three commands produce identical answers.
+<xref label="Specifying-Input-Files"><xrefnodename>Specifying Input Files</xrefnodename></xref>, for an explanation of the distinctions
+between these methods.
+The output file, <file>85.nc</file>, is five times the size as a single
+<var>input-file</var>. 
+It contains <w>60 months</w> of data.
+</para>
+<html endspaces=" ">
+<a name="ncecat_rnm"></a> <!&textndash; http://nco.sf.net/nco.html#ncecat_rnm &textndash;>
+</html>
+<para>One often prefers that the (new) record dimension have a more
+descriptive, context-based name than simply &textldquo;record&textrdquo;. 
+This is easily accomplished with the <samp>-u <var>ulm_nm</var></samp> switch:
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncecat -u realization 85_0[1-5].nc 85.nc
+</pre></example>
+<noindent></noindent>
+<para>Users are more likely to understand the data processing history when
+such descriptive coordinates are used. 
+</para>
+<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="1260">record dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1261">fixed dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1262">fix record dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1263"><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.
+This may be useful, for example, when the user has another use for the
+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="1264">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
+</pre></example>
+<noindent></noindent>
+<para>The second step removes the degenerate record dimension.
+See <ref label="ncpdq-netCDF-Permute-Dimensions-Quickly"><xrefnodename>ncpdq netCDF Permute Dimensions Quickly</xrefnodename></ref> and
+<ref label="ncks-netCDF-Kitchen-Sink"><xrefnodename>ncks netCDF Kitchen Sink</xrefnodename></ref> for other methods of
+of changing variable dimensionality, including the record dimension.
+</para>
+<page></page>
+<html endspaces=" ">
+<a name="ncflint"></a> <!&textndash; http://nco.sf.net/nco.html#ncflint &textndash;>
+</html>
+</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="1265">interpolation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1266">adding data</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1267">multiplying data</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1268">addition</indexterm></cindex>
+<findex index="fn" spaces=" "><indexterm index="fn" number="33" mergedindex="cp">ncflint</indexterm></findex>
+
+<noindent></noindent>
+<para>SYNTAX
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncflint [-3] [-4] [-6] [-7] [-A] [-C] [-c]
+[--cnk_dmn nm,sz] [--cnk_map map] [--cnk_plc plc] [--cnk_scl sz]
+[-D <var>dbg</var>] [-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]
+[-F] [--fix_rec_crd] [-G <var>gpe_dsc</var>] [-g <var>grp</var>[,&dots;]] [-h] [--hdr_pad <var>nbr</var>]
+[-i <var>var</var>,<var>val3</var>] [-L <var>dfl_lvl</var>] [-l <var>path</var>] [--no_tmp_fl] 
+[-O] [-o <var>file_3</var>] [-p <var>path</var>] [-R] [-r] [--ram_all] 
+[-t <var>thr_nbr</var>] [--unn] [-v <var>var</var>[,&dots;]] [-w <var>wgt1</var>[,<var>wgt2</var>]] [-X ...] [-x]
+<var>file_1</var> <var>file_2</var> [<var>file_3</var>]
+</pre></example>
+
+<noindent></noindent>
+<para>DESCRIPTION
+</para>
+<para><command>ncflint</command> creates an output file that is a linear combination of 
+the input files.
+This linear combination is a weighted average, a normalized weighted
+average, or an interpolation of the input files.
+Coordinate variables are not acted upon in any case, they are simply
+copied from <var>file_1</var>.
+</para>
+<para>There are two conceptually distinct methods of using <command>ncflint</command>.
+The first method is to specify the weight each input file contributes to 
+the output file.
+In this method, the value <var>val3</var> of a variable in the output file
+<var>file_3</var> is determined from its values <var>val1</var> and <var>val2</var> in
+the two input files according to 
+<set name="flg" line=" flg"></set>
+<tex endspaces=" ">
+$val3 = wgt1 \times val1 + wgt2 \times val2$
+<clear name="flg" line=" flg"></clear>
+</tex>
+<math><var>val3</var> = <var>wgt1</var>*<var>val1</var> + <var>wgt2</var>*<var>val2</var></math> 
+<clear name="flg" line=" flg"></clear>
+.
+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="1269"><code>-w <var>wgt1</var>[,<var>wgt2</var>]</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1270"><code>--weight <var>wgt1</var>[,<var>wgt2</var>]</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1271"><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. 
+Thus it is possible to specify <math><var>wgt1</var> = 2</math> and
+<math><var>wgt2</var> = -3</math>.
+One can use this functionality to multiply all the values in a given
+file by a constant.
+</para>
+<para>The second method of using <command>ncflint</command> is to specify the
+interpolation option <w>with <samp>-i</samp></w> (or with the <samp>--ntp</samp> or 
+<samp>--interpolate</samp> long options). 
+This is the inverse of the first method in the following sense: 
+When the user specifies the weights directly, <command>ncflint</command> has no
+work to do besides multiplying the input values by their respective
+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="1272">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
+the values of <var>var</var> in the input files. 
+This results in one equation in two unknowns, <var>wgt1</var> and <var>wgt2</var>:  
+<set name="flg" line=" flg"></set>
+<tex endspaces=" ">
+$val3 = wgt1 \times val1 + wgt2 \times val2$
+<clear name="flg" line=" flg"></clear>
+</tex>
+<math><var>val3</var> = <var>wgt1</var>*<var>val1</var> + <var>wgt2</var>*<var>val2</var></math> 
+<clear name="flg" line=" flg"></clear>
+.
+Unique determination of the weights requires imposing the additional
+constraint of normalization on the weights:
+<math><var>wgt1</var> + <var>wgt2</var> = 1</math>.
+Thus, to use the interpolation option, the user specifies <var>var</var>
+and <var>val3</var> with the <samp>-i</samp> option.
+<command>ncflint</command> then computes <var>wgt1</var> and <var>wgt2</var>, and uses these
+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="1273">degenerate dimension</indexterm></cindex>
+Thus any dimensions associated with <var>var</var> must be <dfn>degenerate</dfn>,
+i.e., of size one.
+</para>
+<para>If neither <samp>-i</samp> nor <samp>-w</samp> is specified on the command line,
+<command>ncflint</command> defaults to weighting each input file equally in the
+output file.
+This is equivalent to specifying <samp>-w 0.5</samp> or <samp>-w 0.5,0.5</samp>.
+Attempting to specify both <samp>-i</samp> and <samp>-w</samp> methods in the same
+command is an error. 
+</para>
+<para><command>ncflint</command> does not interpolate variables of type <code>NC_CHAR</code>
+and <code>NC_STRING</code>. 
+This behavior is hardcoded.
+</para>
+<para>By default <command>ncflint</command> interpolates or multiplies record
+coordinate variables (e.g., time is often stored as a record coordinate) 
+not other coordinate variables (e.g., latitude and longitude). 
+This is because <command>ncflint</command> is often used to time-interpolate
+between existing files, but is rarely used to spatially interpolate.
+Sometimes however, users wish to multiply entire files by a constant
+that does not multiply any coordinate variables.
+The <samp>--fix_rec_crd</samp> switch was implemented for this purpose
+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="1274">missing values</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1275"><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>,
+equals the missing value <var>mss_val_1</var> and, at the same point,
+the corresponding value in the other input file <var>val2</var> is not
+misssing (i.e., does not equal <var>mss_val_2</var>).
+There are three plausible answers, and this creates ambiguity.
+</para>
+<para><w>Option one</w> is to set <math><var>val3</var> = <var>mss_val_1</var></math>.
+The rationale is that <command>ncflint</command> is, at heart, an interpolator
+and interpolation involving a missing value is intrinsically undefined.
+<command>ncflint</command> currently implements this behavior since it is the
+most conservative and least likely to lead to misinterpretation.
+</para>
+<para><w>Option two</w> is to output the weighted valid data point, i.e.,
+<set name="flg" line=" flg"></set>
+<tex endspaces=" ">
+$val3 = wgt2 \times val2$
+<clear name="flg" line=" flg"></clear>
+</tex>
+<math><var>val3</var> = <var>wgt2</var>*<var>val2</var></math> 
+<clear name="flg" line=" flg"></clear>
+.
+The rationale for this behavior is that interpolation is really a
+weighted average of known points, so <command>ncflint</command> should weight the
+valid point. 
+</para>
+<para><w>Option three</w> is to return the <emph>unweighted</emph> valid point, i.e.,
+<math><var>val3</var> = <var>val2</var></math>.
+This behavior would appeal to those who use <command>ncflint</command> to
+estimate data using the closest available data. 
+When a point is not bracketed by valid data on both sides, it is better
+to return the known datum than no datum at all.
+</para>
+<para>The current implementation uses the first approach, <w>Option one</w>.
+If you have strong opinions on this matter, let us know, since we are
+willing to implement the other approaches as options if there is enough
+interest. 
+</para>
+<noindent></noindent>
+<html endspaces=" ">
+<a name="xmp_ncflint"></a> <!&textndash; http://nco.sf.net/nco.html#xmp_ncflint &textndash;>
+</html>
+<para>EXAMPLES
+</para>
+<para>Although it has other uses, the interpolation feature was designed 
+to interpolate <var>file_3</var> to a time between existing files.
+Consider input files <file>85.nc</file> and <file>87.nc</file> containing variables 
+describing the state of a physical system at times <math><code>time</code> =
+85</math> and <math><code>time</code> = 87</math>.
+Assume each file contains its timestamp in the scalar variable
+<code>time</code>.  
+Then, to linearly interpolate to a file <file>86.nc</file> which describes
+the state of the system at time at <code>time</code> = 86, we would use
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncflint -i time,86 85.nc 87.nc 86.nc
+</pre></example>
+
+<para>Say you have observational data covering January and April 1985 in two
+files named <file>85_01.nc</file> and <file>85_04.nc</file>, respectively.
+Then you can estimate the values for February and March by interpolating
+the existing data as follows.
+Combine <file>85_01.nc</file> and <file>85_04.nc</file> in a 2:1 ratio to make
+<file>85_02.nc</file>:  
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncflint -w 0.667 85_01.nc 85_04.nc 85_02.nc
+ncflint -w 0.667,0.333 85_01.nc 85_04.nc 85_02.nc
+</pre></example>
+
+<para>Multiply <file>85.nc</file> <w>by 3</w> and <w>by −2</w> and add them
+together to make <file>tst.nc</file>: 
+</para><example endspaces=" ">
+<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="1276">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="1277">multiplication</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1278">file multiplication</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1279">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=" ">
+<pre xml:space="preserve">ncflint --fix_rec_crd -w 0.8,0.0 emissions.nc emissions.nc scaled_emissions.nc
+</pre></example>
+<noindent></noindent>
+<para>The use of <samp>--fix_rec_crd</samp> ensures, e.g., that the <code>time</code>
+coordinate, if any, is not scaled (i.e., multiplied).
+</para>
+<para>Add <file>85.nc</file> to <file>86.nc</file> to obtain <file>85p86.nc</file>,
+then subtract <file>86.nc</file> from <file>85.nc</file> to obtain <file>85m86.nc</file> 
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncflint -w 1,1 85.nc 86.nc 85p86.nc
+ncflint -w 1,-1 85.nc 86.nc 85m86.nc
+ncdiff 85.nc 86.nc 85m86.nc
+</pre></example>
+<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="1280">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="1281"><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=" ">
+<pre xml:space="preserve">ncflint -C -v prs_sfc -w 0.01,0.0 in.nc in.nc out.nc
+ncatted -a units,prs_sfc,o,c,millibar out.nc
+</pre></example>
+<noindent></noindent>
+
+<page></page>
+<html endspaces=" ">
+<a name="ncks"></a> <!&textndash; http://nco.sf.net/nco.html#ncks &textndash;>
+</html>
+</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="1282">kitchen sink</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1283">printing files contents</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1284">printing variables</indexterm></cindex>
+<findex index="fn" spaces=" "><indexterm index="fn" number="34" mergedindex="cp">ncks</indexterm></findex>
+
+<noindent></noindent>
+<para>SYNTAX
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncks [-3] [-4] [-5] [-6] [-7] [-A] [-a] [-b <var>binary-file</var>] [-C] [-c] [--cdl]
+[--cnk_dmn nm,sz] [--cnk_map map] [--cnk_plc plc] [--cnk_scl sz]
+[-D <var>dbg</var>] [-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]] [-F] [--fix_rec_dmn <var>dim</var>] 
+[-G <var>gpe_dsc</var>] [-g <var>grp</var>[,&dots;]] [-H] [-h] [--hdn] [--hdr_pad <var>nbr</var>]
+[-L <var>dfl_lvl</var>] [-l <var>path</var>] [-M] [-m] [--mk_rec_dmn <var>dim</var>] [--md5_digest]
+[--no_blank] [--no_tmp_fl] [-O] [-o <var>output-file</var>] [-P] [-p <var>path</var>] 
+[-Q] [-q] [-R] [-r] [--ram_all] [-s <var>format</var>] 
+[-u] [--unn] [-v <var>var</var>[,&dots;]] [-X ...] [-x] [--xml]
+<var>input-file</var> [[<var>output-file</var>]]
+</pre></example>
+
+<noindent></noindent>
+<para>DESCRIPTION
+</para>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1285"><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  
+into one versatile utility. 
+<command>ncks</command> extracts (a subset of the) data from <var>input-file</var> and 
+and writes (or pastes) it in netCDF format to <var>output-file</var>, and 
+optionally writes it in flat binary format to <file>binary-file</file>, and
+optionally prints it to screen.
+</para>
+<para><command>ncks</command> prints netCDF input data in <acronym><acronymword>ASCII</acronymword></acronym>,
+<acronym><acronymword>CDL</acronymword></acronym>, or <acronym><acronymword>NcML</acronymword></acronym> text formats <code>stdout</code>, like (an
+extended version of) <command>ncdump</command>.
+By default <command>ncks</command> prints data in a tabular format intended to be
+easy to search for the data you want, one datum per screen line, with
+all dimension subscripts and coordinate values (if any) preceding the
+datum. 
+Option <samp>-s</samp> (or long options <samp>--sng_fmt</samp> and <samp>--string</samp>) 
+permits the user to format data using C-style format strings, while
+option <samp>--cdl</samp> outputs <acronym><acronymword>CDL</acronymword></acronym> and option <samp>--xml</samp>
+outputs <acronym><acronymword>NcML</acronymword></acronym>. 
+<command>ncks</command> exposes many flexible controls over printed output,
+including <acronym><acronymword>CDL</acronymword></acronym> and <acronym><acronymword>NcML</acronymword></acronym>.
+</para>
+<para>Options <samp>-5</samp>, <samp>-a</samp>, <samp>--cdl</samp>, <samp>-F</samp> , <samp>-H</samp>,
+<samp>--hdn</samp>, <samp>-M</samp>, <samp>-m</samp>, <samp>-P</samp>, <samp>-Q</samp>, <samp>-q</samp>,
+<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="1286">global attributes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1287">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).
+Only variables and coordinates may be specifically included or
+excluded&textmdash;all global attributes and any attribute associated with an
+extracted variable are copied to the screen and/or output netCDF file. 
+Options <samp>-c</samp>, <samp>-C</samp>, <samp>-v</samp>, and <samp>-x</samp> (and their long 
+option synonyms) control which variables are extracted.
+</para>
+<para><command>ncks</command> extracts hyperslabs from the specified variables
+(<command>ncks</command> implements the original <command>nccut</command> specification). 
+Option <samp>-d</samp> controls the hyperslab specification.
+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="1288">appending data</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1289">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
+sizes of <var>input-file</var>. 
+The append features of <command>ncks</command> are intended to provide a
+rudimentary means of adding data from one netCDF file to another,
+conforming, netCDF file. 
+If naming conflicts exist between the two files, data in
+<var>output-file</var> is usually overwritten by the corresponding data from 
+<var>input-file</var>.  
+Thus, when appending, the user should backup <var>output-file</var> in case 
+valuable data are inadvertantly overwritten.
+</para>
+<para>If <var>output-file</var> exists, the user will be queried whether to
+<dfn>overwrite</dfn>, <dfn>append</dfn>, or <dfn>exit</dfn> the <command>ncks</command> call
+completely.  
+Choosing <dfn>overwrite</dfn> destroys the existing <var>output-file</var> and
+create an entirely new one from the output of the <command>ncks</command> call.  
+Append has differing effects depending on the uniqueness of the
+variables and attributes output by <command>ncks</command>: If a variable or
+attribute extracted from <var>input-file</var> does not have a name conflict
+with the members of <var>output-file</var> then it will be added to
+<var>output-file</var> without overwriting any of the existing contents of
+<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="1290">global attributes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1291">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>.  
+If the name conflict occurs for a non-record variable, then the
+dimensions and type of the variable (and of its coordinate dimensions,
+if any) must agree (conform) in both files. 
+Then the variable values (and any coordinate dimension values)
+from <var>input-file</var> will overwrite the corresponding variable values
+(and coordinate dimension values, if any) in <var>output-file</var> 
+<footnote spaces="\n"><para>Those familiar with netCDF mechanics might wish to know what is
+happening here: <command>ncks</command> does not attempt to redefine the variable
+in <var>output-file</var> to match its definition in <var>input-file</var>,
+<command>ncks</command> merely copies the values of the variable and its
+coordinate dimensions, if any, from <var>input-file</var> to
+<var>output-file</var>. 
+</para></footnote>.
+</para>
+<para>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 
+both files if a record dimension variable is to be appended. 
+If the record dimensions are of differing sizes, the record dimension of
+<var>output-file</var> will become the greater of the two record dimension
+sizes, the record variable from <var>input-file</var> will overwrite any
+counterpart in <var>output-file</var> and fill values will be written to any
+gaps left in the rest of the record variables (I think). 
+In all cases variable attributes in <var>output-file</var> are superseded by
+attributes of the same name from <var>input-file</var>, and left alone if
+there is no name conflict. 
+</para>
+<para>Some users may wish to avoid interactive <command>ncks</command> queries about
+whether to overwrite existing data.
+For example, batch scripts will fail if <command>ncks</command> does not receive 
+responses to its queries. 
+Options <samp>-O</samp> and <samp>-A</samp> are available to force overwriting
+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>.  
+Features common to many operators are described in 
+<ref label="Common-features"><xrefnodename>Common features</xrefnodename></ref>. 
+</para>
+<table commandarg="samp" spaces=" " endspaces=" ">
+<beforefirstitem>
+<html endspaces=" ">
+<a name="-5"></a> <!&textndash; http://nco.sf.net/nco.html#-5 &textndash;>
+</html>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1292"><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.
+This ordering here is used by default in <acronym><acronymword>CDL</acronymword></acronym>-mode printing,
+and may be selected for traditional mode printing with <samp>-5</samp>
+(The switch for invocation may change to something more descriptive in
+the future). 
+</para>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1293">alphabetization</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1294">sort alphabetically</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1295"><code>-a</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1296"><code>--abc</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1297"><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
+written to disk in alphabetical order.
+This tends to make long output lists easier to search for particular
+variables. 
+Specifying <code>-a</code> results in the variables being extracted, printed,
+and written to disk in the order in which they were saved in the input
+file.
+Thus <code>-a</code> retains the original ordering of the variables.
+Also <samp>--abc</samp> and <samp>--alphabetize</samp>.
+</para>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1298">binary format</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1299"><code>-b</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1300"><code>--fl_bnr</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1301"><code>--bnr</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1302"><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>.
+Also <samp>--fl_bnr</samp> and <samp>--binary-file</samp>.
+Writing packed variables in binary format is not supported.
+</para>
+<html endspaces=" ">
+<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="1303">record dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1304">fixed dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1305"><code>--fix_rec_dmn <var>dim</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1306"><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. 
+Also <samp>--no_rec_dmn</samp>.
+Before <acronym><acronymword>NCO</acronymword></acronym> version 4.2.5 (January, 2013), the syntax for 
+<code>--fix_rec_dmn</code> did not permit or require the specification of
+the dimension name <var>dim</var>. 
+This is because the feature only worked on netCDF3 files, which support
+only one record dimension, so specifying its name was not necessary.
+netCDF4 files allow an arbitrary number of record dimensions, so the
+user must specify which record dimension to fix.
+The decision was made that starting with <acronym><acronymword>NCO</acronymword></acronym> version 4.2.5
+(January, 2013), it is always required to specify the dimension name to
+fix regardless of the netCDF file type.
+This keeps the code simple, and is symmetric with the syntax for
+<code>--mk_rec_dmn</code>, described next.
+</para>
+<para>As of <acronym><acronymword>NCO</acronymword></acronym> version 4.4.0 (January, 2014), the argument
+<code>all</code> may be given to <samp>--fix_rec_dmn</samp> to convert <emph>all</emph> 
+record dimensions to fixed dimensions in the output file. 
+Previously, <samp>--fix_rec_dmn</samp> only allowed one option, the name of a
+single record dimension to be fixed. 
+Now it is simple to simultaneously fix all record dimensions.
+This is useful (and nearly mandatory) when flattening netCDF4 files that
+have multiple record dimensions per group into netCDF3 files (which are
+limited to at most one record dimension) (<pxref label="Group-Path-Editing"><xrefnodename>Group Path Editing</xrefnodename></pxref>). 
+</para>
+<html endspaces=" ">
+<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="1307">hidden attributes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1308">special attributes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1309"><code>--hdn</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1310"><code>--hidden</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1311"><code>_Format</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1312"><code>_DeflateLevel</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1313"><code>_Shuffle</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1314"><code>_Storage</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1315"><code>_ChunkSizes</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1316"><code>_Endianness</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1317"><code>_Fletcher32</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1318"><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>.
+Hidden attributes include: <code>_Format</code>, <code>_DeflateLevel</code>,
+<code>_Shuffle</code>, <code>_Storage</code>, <code>_ChunkSizes</code>,
+<code>_Endianness</code>, <code>_Fletcher32</code>, and <code>_NOFILL</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. 
+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
+detailed descriptions of the meanings of these attributes. 
+</para>
+<html endspaces=" ">
+<a name="cdl"></a> <!&textndash; http://nco.sf.net/nco.html#cdl &textndash;>
+<a name="hdp"></a> <!&textndash; http://nco.sf.net/nco.html#hdp &textndash;>
+<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="1319"><command>hdp</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1320"><command>ncgen</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1321"><command>ncgen-hdf</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1322"><command>hncgen</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1323"><command>ncdump</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1324"><code>--cdl</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1325"><acronym><acronymword>CDL</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1326"><acronym><acronymword>HDF</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1327"><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
+valid <acronym><acronymword>CDL</acronymword></acronym> (network Common data form Description Language). 
+<acronym><acronymword>CDL</acronymword></acronym> is the human-readable &textldquo;lingua franca&textrdquo; of netCDF ingested by
+<command>ncgen</command> and excreted by <command>ncdump</command>.
+Compare <command>ncks</command> &textldquo;traditional&textrdquo; with <acronym><acronymword>CDL</acronymword></acronym> printing:
+</para><example endspaces=" ">
+<pre xml:space="preserve">zender&arobase;roulee:~$ ncks -v one ~/nco/data/in.nc
+one: type NC_FLOAT, 0 dimensions, 1 attribute, chunked? no, compressed? no, packed? no
+one size (RAM) = 1*sizeof(NC_FLOAT) = 1*4 = 4 bytes
+one attribute 0: long_name, size = 3 NC_CHAR, value = one
+
+one = 1 
+
+zender&arobase;roulee:~$ ncks --cdl -v one ~/nco/data/in.nc
+netcdf in {
+
+  variables:
+    float one ;
+    one:long_name = "one" ;
+
+  data:
+    one = 1 ;
+
+} // group /
+</pre></example>
+<para><command>ncgen</command> converts <acronym><acronymword>CDL</acronymword></acronym>-mode output into a netCDF file:
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncks --cdl -v one ~/nco/data/in.nc > ~/in.cdl
+ncgen -k netCDF-4 -b -o ~/in.nc ~/in.cdl
+ncks -v one ~/in.nc
+</pre></example>
+<para>The <acronym><acronymword>HDF</acronymword></acronym> version of <command>ncgen</command>, often named
+<command>hncgen</command> or <command>ncgen-hdf</command>, converts netCDF3 <acronym><acronymword>CDL</acronymword></acronym>
+into an <acronym><acronymword>HDF</acronymword></acronym> file:  
+</para><example endspaces=" ">
+<pre xml:space="preserve">/usr/hdf4/bin/ncgen -b -o ~/in.hdf ~/in.cdl # HDF ncgen (local builds)
+/usr/bin/hncgen     -b -o ~/in.hdf ~/in.cdl # Same as HDF ncgen (RPM packages?)
+/usr/bin/ncgen-hdf  -b -o ~/in.hdf ~/in.cdl # Same as HDF ncgen (Debian packages?)
+hdp dumpsds ~/in.hdf                        # ncdump-equivalent for HDF4 files
+</pre></example>
+<para>Note that <acronym><acronymword>HDF4</acronymword></acronym> does not support netCDF-style groups, so the
+above commands fail when the input file contains groups.
+Only netCDF4 and <acronym><acronymword>HDF5</acronymword></acronym> support groups.
+In our experience the <acronym><acronymword>HDF</acronymword></acronym> <command>ncgen</command> command, by whatever 
+name installed, is not robust and can fail on valid netCDF3
+<acronym><acronymword>CDL</acronymword></acronym>.  
+</para>
+<html endspaces=" ">
+<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="1328">record dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1329">fixed dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1330">fix record dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1331"><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
+record dimension, and works fine in most cases.
+See <ref label="ncecat-netCDF-Ensemble-Concatenator"><xrefnodename>ncecat netCDF Ensemble Concatenator</xrefnodename></ref> and 
+<ref label="ncpdq-netCDF-Permute-Dimensions-Quickly"><xrefnodename>ncpdq netCDF Permute Dimensions Quickly</xrefnodename></ref> for other methods of
+changing variable dimensionality, including the record dimension. 
+</para>
+<html endspaces=" ">
+<a name="prn"></a> <!&textndash; http://nco.sf.net/nco.html#prn &textndash;>
+</html>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1332"><code>-H</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1333"><code>--data</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1334"><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>.
+By default <command>ncks</command> prints all metadata and data to screen if
+no netCDF output file is specified.
+Use <samp>-H</samp> to print data to screen if a netCDF output is specified,
+or to restrict printing to data (no metadata) when no netCDF output is 
+specified.
+Also use <samp>-H</samp> to turn-off copying data (not metadata) to an output
+file. 
+Unless otherwise specified (with <code>-s</code>), each element of the data
+hyperslab prints on a separate line containing the names, indices,
+and, values, if any, of all of the variables dimensions.
+The dimension and variable indices refer to the location of the
+corresponding data element with respect to the variable as stored on
+disk (i.e., not the hyperslab).
+</para><example endspaces=" ">
+<pre xml:space="preserve">% ncks -C -v three_dmn_var in.nc
+lat[0]=-90 lev[0]=100 lon[0]=0 three_dmn_var[0]=0 
+lat[0]=-90 lev[0]=100 lon[1]=90 three_dmn_var[1]=1 
+lat[0]=-90 lev[0]=100 lon[2]=180 three_dmn_var[2]=2 
+...
+lat[1]=90 lev[2]=1000 lon[1]=90 three_dmn_var[21]=21 
+lat[1]=90 lev[2]=1000 lon[2]=180 three_dmn_var[22]=22 
+lat[1]=90 lev[2]=1000 lon[3]=270 three_dmn_var[23]=23 
+</pre></example>
+<para>Printing the same variable with the <samp>-F</samp> option shows the same
+variable indexed with Fortran conventions
+</para><example endspaces=" ">
+<pre xml:space="preserve">% ncks -F -C -v three_dmn_var in.nc
+lon(1)=0 lev(1)=100 lat(1)=-90 three_dmn_var(1)=0 
+lon(2)=90 lev(1)=100 lat(1)=-90 three_dmn_var(2)=1 
+lon(3)=180 lev(1)=100 lat(1)=-90 three_dmn_var(3)=2 
+...
+</pre></example>
+<para>Printing a hyperslab does not affect the variable or dimension indices
+since these indices are relative to the full variable (as stored in the
+input file), and the input file has not changed.
+However, if the hyperslab is saved to an output file and those values
+are printed, the indices will change:
+<!-- c fxm: replace with new MSA output style -->
+</para><example endspaces=" ">
+<pre xml:space="preserve">% ncks -H -d lat,90.0 -d lev,1000.0 -v three_dmn_var in.nc out.nc
+...
+lat[1]=90 lev[2]=1000 lon[0]=0 three_dmn_var[20]=20 
+lat[1]=90 lev[2]=1000 lon[1]=90 three_dmn_var[21]=21 
+lat[1]=90 lev[2]=1000 lon[2]=180 three_dmn_var[22]=22 
+lat[1]=90 lev[2]=1000 lon[3]=270 three_dmn_var[23]=23 
+% ncks -C -v three_dmn_var out.nc
+lat[0]=90 lev[0]=1000 lon[0]=0 three_dmn_var[0]=20 
+lat[0]=90 lev[0]=1000 lon[1]=90 three_dmn_var[1]=21 
+lat[0]=90 lev[0]=1000 lon[2]=180 three_dmn_var[2]=22 
+lat[0]=90 lev[0]=1000 lon[3]=270 three_dmn_var[3]=23 
+</pre></example>
+
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1335"><code>-M</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1336"><code>--Mtd</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1337"><code>--Metadata</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1338">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.
+Also <samp>--Mtd</samp> and <samp>--Metadata</samp>.
+By default <command>ncks</command> prints global metadata to screen if no netCDF
+output file and no variable extraction list is specified (with <samp>-v</samp>).  
+Use <samp>-M</samp> to print global metadata to screen if a netCDF output is 
+specified, or if a variable extraction list is specified (with <samp>-v</samp>). 
+Use <samp>-M</samp> to turn-off copying of global and group metadata when
+copying, subsetting, or appending to an output file.
+</para>
+<html endspaces=" ">
+<a name="prn_tbl"></a> <!&textndash; http://nco.sf.net/nco.html#prn_tbl &textndash;>
+</html>
+<para>The various combinations of printing switches can be confusing.
+In an attempt to anticipate what most users want to do, <command>ncks</command>
+uses context-sensitive defaults for printing.
+Our goal is to minimize the use of switches required to accomplish the
+common operations.
+We assume that users creating a new file or overwriting (e.g., with
+<samp>-O</samp>) an existing file usually wish to copy all global and
+variable-specific attributes to the new file.
+In contrast, we assume that users appending (e.g., with <samp>-A</samp> an
+explicit variable list from one file to another usually wish to copy
+only the variable-specific attributes to the output file.
+The switches <samp>-H</samp>, <samp>-M</samp>, and <samp>-m</samp> switches are
+implemented as toggles which reverse the default behavior.
+The most confusing aspect of this is that <samp>-M</samp> inhibits copying
+global metadata in overwrite mode and causes copying of global
+metadata in append mode.
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncks                 in.nc        # Print  VAs and GAs
+ncks          -v one in.nc        # Print  VAs not GAs
+ncks    -M    -v one in.nc        # Print  GAs only
+ncks       -m -v one in.nc        # Print  VAs only
+ncks    -M -m -v one in.nc        # Print  VAs and GAs
+ncks -O              in.nc out.nc # Copy   VAs and GAs
+ncks -O       -v one in.nc out.nc # Copy   VAs and GAs
+ncks -O -M    -v one in.nc out.nc # Copy   VAs not GAs
+ncks -O    -m -v one in.nc out.nc # Copy   GAs not VAs
+ncks -O -M -m -v one in.nc out.nc # Copy   only data (no atts)
+ncks -A              in.nc out.nc # Append VAs and GAs
+ncks -A       -v one in.nc out.nc # Append VAs not GAs
+ncks -A -M    -v one in.nc out.nc # Append VAs and GAs
+ncks -A    -m -v one in.nc out.nc # Append only data (no atts)
+ncks -A -M -m -v one in.nc out.nc # Append GAs not VAs
+</pre></example>
+<para>where <code>VAs</code> and <code>GAs</code> denote variable and group/global
+attributes, respectively. 
+</para>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1339"><command>ncdump</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1340"><code>-m</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1341"><code>--mtd</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1342"><code>--metadata</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1343">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="1344">chunking</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1345">compression</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1346">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>.
+The <command>ncks</command> default behavior is to print variable metadata to
+screen if no netCDF output file is specified.
+Use <samp>-m</samp> to print variable metadata to screen if a netCDF output is  
+specified. 
+Also use <samp>-m</samp> to turn-off copying of variable metadata to an output
+file.
+</para>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1347"><code>--no_blank</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1348"><code>--noblank</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1349"><code>--no-blank</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1350">blank</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1351">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>
+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.
+To enable the old behavior of printing the numeric representation of
+missing values (e.g., <code>1.0e36</code>), use the <samp>--no_blank</samp> switch.
+Also activated using <samp>--noblank</samp> or <samp>--no-blank</samp>.
+</para>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1352"><code>-P</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1353"><code>--print</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1354"><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 
+<samp>-C -H -M -m -u</samp>.
+Also activated using <samp>--print</samp> or <samp>--prn</samp>.
+This set of switches is useful for exploring file contents.
+</para>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1355"><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 
+different dimensions. 
+</para>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1356"><code>-q</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1357"><code>--quiet</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1358">quiet</indexterm></cindex>
+</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="samp">-q </itemformat></item>
+</tableterm><tableitem><para>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>.
+</para>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1359"><code>-s</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1360"><code>--string</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1361"><code>--sng_fmt</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1362"><code>printf()</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1363">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>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1364"><code>-u</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1365"><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="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="1366"><code>--xml</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1367"><code>--ncml</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1368"><command>ncdump</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1369"><acronym><acronymword>XML</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1370"><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
+<acronym><acronymword>XML</acronymword></acronym> in <acronym><acronymword>NcML</acronymword></acronym>, the netCDF Markup Language.  
+<command>ncks</command> supports for <acronym><acronymword>XML</acronymword></acronym> more completely than 
+of <samp>ncdump -x</samp>.
+With <command>ncks</command> one can translate entire netCDF3 and netCDF4 files
+into <acronym><acronymword>NcML</acronymword></acronym>, including metadata and data, using all 
+<acronym><acronymword>NCO</acronymword></acronym>&textrsquo;s subsetting and hyperslabbing capabilities.
+Compare <command>ncks</command> &textldquo;traditional&textrdquo; with <acronym><acronymword>XML</acronymword></acronym> printing:
+</para><example endspaces=" ">
+<verbatim xml:space="preserve">
+zender@@roulee:~$ ncks -v one ~/nco/data/in.nc
+one: type NC_FLOAT, 0 dimensions, 1 attribute, chunked? no, compressed? no, packed? no
+one size (RAM) = 1*sizeof(NC_FLOAT) = 1*4 = 4 bytes
+one attribute 0: long_name, size = 3 NC_CHAR, value = one
+
+one = 1 
+
+zender at roulee:~$ ncks --xml -v one ~/nco/data/in.nc
+<?xml version="1.0" encoding="UTF-8"?>
+<netcdf xmlns="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2" location="/home/zender/nco/data/in.nc">
+  <variable name="one" type="float" shape="">
+    <attribute name="long_name" separator="*" value="one" />
+    <values>1.</values>
+  </variable>
+</netcdf>
+</verbatim>
+</example>
+<para><acronym><acronymword>XML</acronymword></acronym>-mode prints variable metadata and, as of 
+<acronym><acronymword>NCO</acronymword></acronym> version 4.3.7 (October, 2013), variable data and, as of
+<acronym><acronymword>NCO</acronymword></acronym> version 4.4.0 (January, 2014), hidden attributes.
+That <acronym><acronymword>ncks</acronymword></acronym> produces correct <acronym><acronymword>NcML</acronymword></acronym> translations of
+<acronym><acronymword>CDM</acronymword></acronym> files for all supported datatypes is verified by
+comparison to output from Unidata&textrsquo;s <command>toolsUI</command> Java program.
+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="1371"><code>--xml_no_location</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1372"><code>--xml_spr_chr</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1373"><code>--xml_spr_nmr</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1374">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>. 
+Every <acronym><acronymword>NcML</acronymword></acronym> configuration option automatically triggers
+<acronym><acronymword>NcML</acronymword></acronym> printing, so that specifying <samp>--xml</samp> in addition
+to a configuration option is redundant and unnecessary.
+The <samp>--xml_no_location</samp> switch prevents output of the
+<acronym><acronymword>NcML</acronymword></acronym> <code>location</code> element.
+By default the location element is printed with a value equal to the
+location of the input dataset, e.g.,
+<code>location="/home/zender/in.nc"</code>.
+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 " ":
+</para><example endspaces=" ">
+<verbatim xml:space="preserve">
+zender@@roulee:~$ ncks --xml -d time,0,3 -v two_dmn_rec_var_sng in.nc
+...
+   <values separator="*">abc*bcd*cde*def</values>
+ ...
+ zender@@roulee:~$ ncks --xml_spr_chr=', ' -v two_dmn_rec_var_sng in.nc
+...
+<values separator=", ">abc, bcd, cde, def, efg, fgh, ghi, hij, jkl, klm</values>
+...
+zender@@roulee:~$ ncks --xml -v one_dmn_rec_var in.nc
+...
+<values>1 2 3 4 5 6 7 8 9 10</values>
+...
+zender@@roulee:~$ ncks --xml_spr_nmr=', ' -v one_dmn_rec_var in.nc
+...
+<values separator=", ">1, 2, 3, 4, 5, 6, 7, 8, 9, 10</values>
+...
+</verbatim>
+</example>
+<para>Separator elements for strings are a thorny issue.
+One must be sure that the separator element is not mistaken as a portion
+of the string. 
+<acronym><acronymword>NCO</acronymword></acronym> attempts to produce valid <acronym><acronymword>NcML</acronymword></acronym> and supplies the
+<samp>--xml_spr_chr</samp> option to work around any difficulties.
+<acronym><acronymword>NCO</acronymword></acronym> performs precautionary checks with
+<code>strstr(<var>val</var>,<var>spr</var>)</code> to identify presence of the separator
+string (<var>spr</var>) in data (<var>val</var>) and, when it detects a match,
+automatically switches to a backup separator string (<code>*|*</code>). 
+However limitations of <code>strstr()</code> may lead to false negatives 
+when the separator string occurs in data beyond the first string in
+multi-dimensional <code>NC_CHAR</code> arrays. 
+Hence, results may be ambiguous to NcML parsers. 
+If problems arise, use <samp>--xml_spr_chr</samp> to specify a multi-character
+separator that does not appear in the string array and that does not
+include an NcML formatting characters (e.g., commas, angles, quotes).
+</para></tableitem></tableentry></table>
+
+<html endspaces=" ">
+<a name="ncattget"></a> <!&textndash; http://nco.sf.net/nco.html#ncattget &textndash;>
+<a name="nclist"></a> <!&textndash; http://nco.sf.net/nco.html#nclist &textndash;>
+<a name="ncdmnsz"></a> <!&textndash; http://nco.sf.net/nco.html#ncdmnsz &textndash;>
+<a name="ncrecsz"></a> <!&textndash; http://nco.sf.net/nco.html#ncrecsz &textndash;>
+<a name="ncmax"></a> <!&textndash; http://nco.sf.net/nco.html#ncmax &textndash;>
+<a name="ncmdn"></a> <!&textndash; http://nco.sf.net/nco.html#ncmdn &textndash;>
+<a name="ncavg"></a> <!&textndash; http://nco.sf.net/nco.html#ncavg &textndash;>
+<a name="ncrng"></a> <!&textndash; http://nco.sf.net/nco.html#ncrng &textndash;>
+<a name="ncunits"></a> <!&textndash; http://nco.sf.net/nco.html#ncunits &textndash;>
+<a name="alias"></a> <!&textndash; http://nco.sf.net/nco.html#alias &textndash;>
+<a name="filters"></a> <!&textndash; http://nco.sf.net/nco.html#filters &textndash;>
+<a name="filter"></a> <!&textndash; http://nco.sf.net/nco.html#filter &textndash;>
+<a name="flt"></a> <!&textndash; http://nco.sf.net/nco.html#flt &textndash;>
+</html>
+<menu endspaces=" ">
+<menuentry leadingtext="* "><menunode separator="::">Filters for <command>ncks</command></menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry></menu>
+
+</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="1375"><acronym><acronymword>UNIX</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1376"><command>ncattget</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1377"><command>ncavg</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1378"><command>ncdmnsz</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1379"><command>nclist</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1380"><command>ncmax</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1381"><command>ncmdn</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1382"><command>ncmin</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1383"><command>ncrecsz</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1384"><command>ncrng</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1385"><command>ncunits</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1386"><file>.bashrc</file></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1387">filters</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1388">alias</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1389">shell</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1390">Bash shell</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1391">Csh shell</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1392">Sh shell</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1393"><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
+try 
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncks -m in.nc | grep -E ': type' | cut -f 1 -d ' ' | sed 's/://' | sort
+</pre></example>
+<para>A Bash user could alias the previous filter to the shell command
+<command>nclist</command> as shown below.
+More complex examples could involve command line arguments.
+For example, a user may frequently be interested in obtaining the value
+of an attribute, e.g., for textual file examination or for passing to
+another shell command.
+Say the attribute is <code>purpose</code>, the variable is <code>z</code>, and the
+file is <code>in.nc</code>.
+In this example, <command>ncks -m -v z</command> is too verbose so a robust
+<command>grep</command> and <command>cut</command> filter is desirable, such as
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncks -M -m in.nc | grep -E -i "^z attribute [0-9]+: purpose" | cut -f 11- -d ' ' | sort
+</pre></example>
+<para>The filters are clearly too complex to remember on-the-fly so the entire 
+procedure could be implemented as a shell command or function called,
+say, <command>ncattget</command>
+</para><example endspaces=" ">
+<pre xml:space="preserve">function ncattget { ncks -M -m ${3} | grep -E -i "^${2} attribute [0-9]+: ${1}" | cut -f 11- -d ' ' | sort ; }
+</pre></example>
+<para>The shell <command>ncattget</command> is invoked with three arugments that are,
+in order, the names of the attribute, variable, and file to examine.
+Global attributes are indicated by using a variable name of <code>global</code>.
+This definition yields the following results
+</para><example endspaces=" ">
+<pre xml:space="preserve">% ncattget purpose z in.nc
+Height stored with a monotonically increasing coordinate
+% ncattget Purpose Z in.nc
+Height stored with a monotonically increasing coordinate
+% ncattget history z in.nc
+% ncattget history global in.nc
+History global attribute.
+</pre></example>
+<para>Note that case sensitivity has been turned off for the variable and
+attribute names (and could be turned on by removing the <samp>-i</samp> switch
+to <command>grep</command>).
+Furthermore, extended regular expressions may be used for both the
+variable and attribute names.
+The next two commands illustrate this by searching for the values
+of attribute <code>purpose</code> in all variables, and then for all
+attributes of the variable <code>z</code>:
+</para><example endspaces=" ">
+<pre xml:space="preserve">% ncattget purpose .+ in.nc
+1-D latitude coordinate referred to by geodesic grid variables
+1-D longitude coordinate referred to by geodesic grid variables
+...
+% ncattget .+ Z in.nc
+Height
+Height stored with a monotonically increasing coordinate
+meter
+</pre></example>
+
+<para>Extended filters are best stored as shell commands if they are
+used frequently.
+Shell commands may be re-used when they are defined in shell
+configuration files.
+These files are usually named <file>.bashrc</file>, <file>.cshrc</file>, and
+<file>.profile</file> for the Bash, Csh, and Sh shells, respectively.
+</para><example endspaces=" ">
+<verbatim xml:space="preserve">
+# NB: Untested on Csh, Ksh, Sh, Zsh! Send us feedback!
+# Bash shell (/bin/bash) users place these in .bashrc
+# ncattget $att_nm $var_nm $fl_nm : What attributes does variable have?
+function ncattget { ncks -M -m ${3} | grep -E -i "^${2} attribute [0-9]+: ${1}" | cut -f 11- -d ' ' | sort ; }
+# ncunits $att_val $fl_nm : Which variables have given units?
+function ncunits { ncks -M -m ${2} | grep -E -i " attribute [0-9]+: units.+ ${1}" | cut -f 1 -d ' ' | sort ; }
+# ncavg $var_nm $fl_nm : What is mean of variable?
+function ncavg { ncwa -y avg -O -C -v ${1} ${2} ~/foo.nc ; ncks -H -C -v ${1} ~/foo.nc | cut -f 3- -d ' ' ; }
+# ncavg $var_nm $fl_nm : What is mean of variable?
+function ncavg { ncap2 -O -C -v -s "foo=${1}.avg();print(foo)" ${2} ~/foo.nc | cut -f 3- -d ' ' ; }
+# ncdmnsz $dmn_nm $fl_nm : What is dimension size?
+function ncdmnsz { ncks -m -M ${2} | grep -E -i ": ${1}, size =" | cut -f 7 -d ' ' | uniq ; }
+# nclist $fl_nm : What variables are in file?
+function nclist { ncks -m ${1} | grep -E ': type' | cut -f 1 -d ' ' | sed 's/://' | sort ; }
+# ncmax $var_nm $fl_nm : What is maximum of variable?
+function ncmax { ncwa -y max -O -C -v ${1} ${2} ~/foo.nc ; ncks -H -C -v ${1} ~/foo.nc | cut -f 3- -d ' ' ; }
+# ncmax $var_nm $fl_nm : What is maximum of variable?
+function ncmax { ncap2 -O -C -v -s "foo=${1}.max();print(foo)" ${2} ~/foo.nc | cut -f 3- -d ' ' ; }
+# ncmdn $var_nm $fl_nm : What is median of variable?
+function ncmdn { ncap2 -O -C -v -s "foo=gsl_stats_median_from_sorted_data(${1}.sort());print(foo)" ${2} ~/foo.nc | cut -f 3- -d ' ' ; }
+# ncrng $var_nm $fl_nm : What is range of variable?
+function ncrng { ncap2 -O -C -v -s "foo_min=${1}.min();foo_max=${1}.max();print(foo_min,\"%f\");print(\" to \");print(foo_max,\"%f\")" ${2} ~/foo.nc ; }
+# ncmode $var_nm $fl_nm : What is mode of variable?
+function ncmode { ncap2 -O -C -v -s "foo=gsl_stats_median_from_sorted_data(${1}.sort());print(foo)" ${2} ~/foo.nc | cut -f 3- -d ' ' ; }
+# ncrecsz $fl_nm : What is record dimension size?
+function ncrecsz { ncks -M ${1} | grep -E -i "^Record dimension:" | cut -f 8- -d ' ' ; }
+# Csh shell (/bin/csh) users place these in .cshrc
+ncattget() { ncks -M -m ${3} | grep -E -i "^${2} attribute [0-9]+: ${1}" | cut -f 11- -d ' ' | sort ; }
+ncdmnsz() { ncks -m -M ${2} | grep -E -i ": ${1}, size =" | cut -f 7 -d ' ' | uniq ; }
+nclist() { ncks -m ${1} | grep -E ': type' | cut -f 1 -d ' ' | sed 's/://' | sort ; }
+ncrecsz() { ncks -M ${1} | grep -E -i "^Record dimension:" | cut -f 8- -d ' ' ; }
+# Sh shell (/bin/sh) users place these in .profile
+ncattget() { ncks -M -m ${3} | grep -E -i "^${2} attribute [0-9]+: ${1}" | cut -f 11- -d ' ' | sort ; }
+ncdmnsz() { ncks -m -M ${2} | grep -E -i ": ${1}, size =" | cut -f 7 -d ' ' | uniq ; }
+nclist() { ncks -m ${1} | grep -E ': type' | cut -f 1 -d ' ' | sed 's/://' | sort ; }
+ncrecsz() { ncks -M ${1} | grep -E -i "^Record dimension:" | cut -f 8- -d ' ' ; }
+</verbatim>
+</example>
+
+<noindent></noindent>
+<html endspaces=" ">
+<a name="xmp_ncks"></a> <!&textndash; http://nco.sf.net/nco.html#xmp_ncks &textndash;>
+</html>
+<para>EXAMPLES
+</para>
+<para>View all data in netCDF <file>in.nc</file>, printed with Fortran indexing
+conventions: 
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncks -F in.nc
+</pre></example>
+
+<para>Copy the netCDF file <file>in.nc</file> to file <file>out.nc</file>.
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncks in.nc out.nc
+</pre></example>
+<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="1394"><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="1395">alphabetize output</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1396">sort alphabetically</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1397"><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
+transparent to the user, but there are cases when alphabetizing a file 
+is useful (see description of <code>-a</code> switch).
+</para>
+<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="1398">global attributes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1399">attributes, global</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1400">subsetting</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1401">exclusion</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1402">extraction</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1403"><code>-v <var>var</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1404"><code>--variable <var>var</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1405"><code>-x</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1406"><code>--exclude</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1407"><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=" ">
+<pre xml:space="preserve">ncks -A -x ~/nco/data/in.nc ~/out.nc
+</pre></example>
+<para>The <samp>-x</samp> switch tells <acronym><acronymword>NCO</acronymword></acronym> to use the complement of the extraction
+list (<pxref label="Subsetting-Files"><xrefnodename>Subsetting Files</xrefnodename></pxref>). 
+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="1408"><code>-A</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1409"><code>--apn</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1410"><code>--append</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1411">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.
+</para>
+<html endspaces=" ">
+<a name="xmp_att_glb_cpy"></a> <!&textndash; http://nco.sf.net/nco.html#xmp_att_var_cpy &textndash;>
+</html>
+<para>Copy/append metadata (not data) from variables in one file to
+variables in a second file.
+When copying/subsetting/appending files (as opposed to printing them),
+the copying of data, variable metadata, and global/group metadata are
+now turned OFF by <samp>-H</samp>, <samp>-m</samp>, and <samp>-M</samp>, respectively. 
+This is the opposite sense in which these switches work when
+<emph>printing</emph> a file. 
+One can use these switches to easily replace data or metadata in one
+file with data or metadata from another:
+</para><example endspaces=" ">
+<pre xml:space="preserve"># Extract naked (data-only) copies of two variables
+ncks -h -M -m -O -C -v one,three_dmn_rec_var ~/nco/data/in.nc ~/out.nc
+# Change values to be sure original values are not copied in following step
+ncap2 -O -v -s 'one*=2;three_dmn_rec_var*=0' ~/nco/data/in.nc ~/in2.nc
+# Append in2.nc metadata (not data!) to out.nc
+ncks -A -C -H -v one,three_dmn_rec_var ~/in2.nc ~/out.nc
+</pre></example>
+<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="1412"><code>printf()</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1413"><code>\n</code> (linefeed)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1414"><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.
+Then print <code>three_dmn_var</code> signed with very high precision.
+Finally, print <code>three_dmn_var</code> as a comma-separated list.
+</para><example endspaces=" ">
+<pre xml:space="preserve">% ncks -C -v three_dmn_var in.nc
+lat[0]=-90 lev[0]=100 lon[0]=0 three_dmn_var[0]=0 
+lat[0]=-90 lev[0]=100 lon[1]=90 three_dmn_var[1]=1 
+...
+lat[1]=90 lev[2]=1000 lon[3]=270 three_dmn_var[23]=23 
+% ncks -s '%f\n' -C -v three_dmn_var in.nc
+0.000000
+1.000000
+...
+23.000000
+% ncks -s '%+16.10f\n' -C -v three_dmn_var in.nc
+   +0.0000000000
+   +1.0000000000
+...
+  +23.0000000000
+% ncks -s '%f, ' -C -v three_dmn_var in.nc
+0.000000, 1.000000, ..., 23.000000,
+</pre></example>
+<noindent></noindent>
+<para>Programmers will recognize these as the venerable <w>C language</w> 
+<code>printf()</code> formatting strings. 
+The second and third options are useful when pasting data into text
+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>
+<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: 
+</para><example endspaces=" ">
+<pre xml:space="preserve">% ncks -C -H -v mss_val in.nc
+lon[0]=0 mss_val[0]=73 
+lon[1]=90 mss_val[1]=_ 
+lon[2]=180 mss_val[2]=73 
+lon[3]=270 mss_val[3]=_ 
+% ncks -s '%+5.1f, ' -H -C -v mss_val in.nc
++73.0, _, +73.0, _, 
+</pre></example>
+
+<para>One dimensional arrays of characters stored as netCDF variables are 
+automatically printed as strings, whether or not they are
+NUL-terminated, e.g.,
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncks -v fl_nm in.nc
+</pre></example>
+<noindent></noindent>
+<para>The <code>%c</code> formatting code is useful for printing 
+multidimensional arrays of characters representing fixed length strings
+</para><example endspaces=" ">
+<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="1415"><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="1416">subsetting</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1417">exclusion</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1418">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=" ">
+<pre xml:space="preserve">ncks -x -v time in.nc out.nc
+</pre></example>
+<para>As a special case of this, consider how to remove a 
+<acronym><acronymword>CF</acronymword></acronym> Convention comliant <code>bounds</code> or <code>coordinates</code>
+variable (<pxref label="CF-Conventions"><xrefnodename>CF Conventions</xrefnodename></pxref>) such as <code>time_bounds</code>.
+<acronym><acronymword>NCO</acronymword></acronym> subsetting assumes the user wants all coordinates 
+and bounds and axes associated with all extracted variables 
+(<pxref label="Subsetting-Coordinate-Variables"><xrefnodename>Subsetting Coordinate Variables</xrefnodename></pxref>).
+Hence to exclude a <code>bounds</code> or <code>coordinates</code> variable while
+retaining the &textldquo;parent&textrdquo; variable (here <code>time</code>), one must use the
+<samp>-C</samp> switch: 
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncks -C -x -v time_bounds in.nc out.nc
+</pre></example>
+<para>The <samp>-C</samp> switch tells the operator <emph>NOT</emph> to necessarily
+include all the <acronym><acronymword>CF</acronymword></acronym> coordinates and bounds and axes.
+Hence the output file will contain <code>time</code> and not
+<code>time_bounds</code>. 
+</para>
+<para>Extract variables <code>time</code> and <code>pressure</code> from netCDF
+<file>in.nc</file>.  
+If <file>out.nc</file> does not exist it will be created.
+Otherwise the you will be prompted whether to append to or to
+overwrite <file>out.nc</file>: 
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncks -v time,pressure in.nc out.nc
+ncks -C -v time,pressure in.nc out.nc
+</pre></example>
+<noindent></noindent>
+<para>The first version of the command creates an <file>out.nc</file> which contains
+<code>time</code>, <code>pressure</code>, and any coordinate variables associated
+with <var>pressure</var>. 
+The <file>out.nc</file> from the second version is guaranteed to contain only 
+two variables <code>time</code> and <code>pressure</code>.  
+</para>
+<para>Create netCDF <file>out.nc</file> containing all variables from file
+<file>in.nc</file>.  
+Restrict the dimensions of these variables to a hyperslab. 
+Print (with <code>-H</code>) the hyperslabs to the screen for good measure.  
+The specified hyperslab is: the fifth value in dimension <code>time</code>;
+the 
+half-open range <math><var>lat</var> > 0.</math> in coordinate <code>lat</code>; the
+half-open range <math><var>lon</var> < 330.</math> in coordinate <code>lon</code>; the
+closed interval <math>0.3 < <var>band</var> < 0.5</math> in coordinate <code>band</code>;
+and cross-section closest to 1000.&noeos; in coordinate <code>lev</code>.  
+Note that limits applied to coordinate values are specified with a
+decimal point, and limits applied to dimension indices do not have a 
+decimal point <xref label="Hyperslabs"><xrefnodename>Hyperslabs</xrefnodename></xref>.
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncks -H -d time,5 -d lat,,0.0 -d lon,330.0, -d band,0.3,0.5 
+-d lev,1000.0 in.nc out.nc 
+</pre></example>
+
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1419">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.
+<command>ncks</command> will extract a hyperslab which crosses the Greenwich
+meridian simply by specifying the westernmost longitude as <var>min</var> and 
+the easternmost longitude as <var>max</var>, as follows:
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncks -d lon,260.0,45.0 in.nc out.nc
+</pre></example>
+<para>For more details <xref label="Wrapped-Coordinates"><xrefnodename>Wrapped Coordinates</xrefnodename></xref>.
+</para>
+<page></page>
+<html endspaces=" ">
+<a name="ncpdq"></a> <!&textndash; http://nco.sf.net/nco.html#ncpdq &textndash;>
+<a name="ncpack"></a> <!&textndash; http://nco.sf.net/nco.html#ncpack &textndash;>
+<a name="ncunpack"></a> <!&textndash; http://nco.sf.net/nco.html#ncunpack &textndash;>
+</html>
+</subsection>
+</section>
+<node name="ncpdq-netCDF-Permute-Dimensions-Quickly" spaces=" "><nodename>ncpdq netCDF Permute Dimensions Quickly</nodename><nodenext spaces=" ">ncra netCDF Record Averager</nodenext><nodeprev spaces=" ">ncks netCDF Kitchen Sink</nodeprev><nodeup spaces=" ">Operator Reference Manual</nodeup></node>
+<section spaces=" "><sectiontitle><command>ncpdq</command> netCDF Permute Dimensions Quickly</sectiontitle>
+<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="1420">reshape variables</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1421">permute dimensions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1422">reverse dimensions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1423">re-order dimensions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1424">re-dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1425">packing</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1426">unpacking</indexterm></cindex>
+
+<noindent></noindent>
+<para>SYNTAX
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncpdq [-3] [-4] [-6] [-7] [-A] [-a [-]<var>dim</var>[,&dots;]] [-C] [-c]
+[--cnk_dmn nm,sz] [--cnk_map map] [--cnk_plc plc] [--cnk_scl sz]
+[-D <var>dbg</var>] [-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]
+[-F] [-G <var>gpe_dsc</var>] [-g <var>grp</var>[,&dots;]] [-h] [--hdf] [--hdr_pad <var>nbr</var>]
+[-L <var>dfl_lvl</var>] [-l <var>path</var>] [-M <var>pck_map</var>] [--mrd] [--no_tmp_fl] 
+[-O] [-o <var>output-file</var>] [-P <var>pck_plc</var>] [-p <var>path</var>] 
+[-R] [-r] [--ram_all] [-t <var>thr_nbr</var>] [-U] [--unn] [-v <var>var</var>[,&dots;]] [-X ...] [-x]
+<var>input-file</var> [<var>output-file</var>]
+</pre></example>
+
+<noindent></noindent>
+<para>DESCRIPTION
+</para>
+<para><command>ncpdq</command> performs one (not both) of two distinct functions:
+packing or dimension permutation.
+<command>ncpdq</command> is optimized to perform these actions in a parallel
+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="1427"><code>add_offset</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1428"><code>scale_factor</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1429"><command>ncap2</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1430">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
+<command>ncap2</command>. 
+<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="1431"><var>pck_plc</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1432"><code>-P <var>pck_plc</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1433"><code>--pck_plc <var>pck_plc</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1434"><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.
+Four packing policies are currently implemented:&linebreak;   
+</para><table commandarg="dfn" spaces=" " endspaces=" ">
+<tableentry><tableterm><item spaces=" "><itemformat command="dfn">Packing (and Re-Packing) Variables [<emph>default</emph>]</itemformat></item>
+</tableterm><tableitem><para>Definition: Pack unpacked variables, re-pack packed variables&linebreak;
+Alternate invocation: <code>ncpack</code>&linebreak;
+<var>pck_plc</var> key values: <samp>all_new</samp>, <samp>pck_all_new_att</samp>&linebreak;
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="dfn">Packing (and not Re-Packing) Variables</itemformat></item>
+</tableterm><tableitem><para>Definition: Pack unpacked variables, copy packed variables&linebreak;
+Alternate invocation: none&linebreak;
+<var>pck_plc</var> key values: <samp>all_xst</samp>, <samp>pck_all_xst_att</samp>&linebreak;
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="dfn">Re-Packing Variables</itemformat></item>
+</tableterm><tableitem><para>Definition: Re-pack packed variables, copy unpacked variables&linebreak;
+Alternate invocation: none&linebreak;
+<var>pck_plc</var> key values: <samp>xst_new</samp>, <samp>pck_xst_new_att</samp>&linebreak;
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="dfn">Unpacking</itemformat></item>
+</tableterm><tableitem><para>Definition: Unpack packed variables, copy unpacked variables&linebreak;
+Alternate invocation: <code>ncunpack</code>&linebreak;
+<var>pck_plc</var> key values: <samp>upk</samp>, <samp>unpack</samp>, <samp>pck_upk</samp>&linebreak;
+</para></tableitem></tableentry></table>
+<noindent></noindent>
+<para>Equivalent key values are fully interchangeable.
+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>
+<para>Regardless of the packing policy selected, <command>ncpdq</command> 
+no longer (as of <acronym><acronymword>NCO</acronymword></acronym> version 4.0.4 in October, 2010)
+packs coordinate variables, or the special variables, weights, 
+and other grid properties described in <ref label="CF-Conventions"><xrefnodename>CF Conventions</xrefnodename></ref>.
+Prior <command>ncpdq</command> versions treated coordinate variables and
+grid properties no differently from other variables.
+However, coordinate variables are one-dimensional, so packing saves
+little space on large files, and the resulting files are difficult for
+humans to read. 
+<command>ncpdq</command> will, of course, <emph>unpack</emph> coordinate variables and
+weights, for example, in case some other, non-<acronym><acronymword>NCO</acronymword></acronym> software
+packed them in the first place.
+</para>
+<para>Concurrently, Gaussian and area weights and other grid properties are
+often used to derive fields in re-inflated (unpacked) files, so packing
+such grid properties causes a considerable loss of precision in 
+downstream data processing.
+If users express strong wishes to pack grid properties, we will
+implement new packing policies.
+An immediate workaround for those needing to pack grid properties
+now, is to use the <command>ncap2</command> packing functions or to rename the
+grid properties prior to calling <command>ncpdq</command>. 
+We welcome your feedback. 
+</para>
+<para>To reduce required memorization of these complex policy switches, 
+<command>ncpdq</command> may also be invoked via a synonym or with switches
+that imply a particular policy.
+<command>ncpack</command> is a synonym for <command>ncpdq</command> and behaves the same 
+in all respects.
+Both <command>ncpdq</command> and <command>ncpack</command> assume a default packing
+policy request of <samp>all_new</samp>.
+Hence <command>ncpack</command> may be invoked without any <samp>-P</samp> switch,
+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="1435"><code>-U</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1436"><code>--upk</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1437"><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.
+</para>
+<para>Given the menagerie of synonyms, equivalent options, and implied
+options, a short list of some equivalent commands is appropriate.
+The following commands are equivalent for packing:
+<code>ncpdq -P all_new</code>, <code>ncpdq --pck_plc=all_new</code>, and
+<code>ncpack</code>.
+The following commands are equivalent for unpacking:
+<code>ncpdq -P upk</code>, <code>ncpdq -U</code>, <code>ncpdq --pck_plc=unpack</code>, 
+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="1438"><command>alias</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1439"><command>ln -s</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1440">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="1441">packing map</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1442"><var>pck_map</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1443"><code>-M <var>pck_map</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1444"><code>--pck_map <var>pck_map</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1445"><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,
+packed type, is called the <dfn>packing map</dfn>.
+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="1446"><samp>hgh_sht</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1447"><samp>hgh_byt</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1448"><samp>flt_sht</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1449"><samp>flt_byt</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1450"><samp>nxt_lsr</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1451"><code>NC_DOUBLE</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1452"><code>NC_FLOAT</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1453"><code>NC_INT64</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1454"><code>NC_UINT64</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1455"><code>NC_INT</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1456"><code>NC_UINT</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1457"><code>NC_SHORT</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1458"><code>NC_USHORT</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1459"><code>NC_CHAR</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1460"><code>NC_BYTE</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1461"><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;
+Map: Pack [<code>NC_DOUBLE</code>,<code>NC_FLOAT</code>] to <code>NC_SHORT</code>&linebreak;
+Types copied instead of packed: [<code>NC_INT64</code>,<code>NC_UINT64</code>,<code>NC_INT</code>,<code>NC_UINT</code>,<code>NC_SHORT</code>,<code>NC_USHORT</code>,<code>NC_CHAR</code>,<code>NC_BYTE</code>,<code>NC_UBYTE</code>]&linebreak;
+<var>pck_map</var> key values: <samp>flt_sht</samp>, <samp>pck_map_flt_sht</samp>&linebreak;
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="dfn">Pack Floating Precisions to <code>NC_BYTE</code></itemformat></item>
+</tableterm><tableitem><para>Definition: Pack floating precision types to <code>NC_BYTE</code>&linebreak;
+Map: Pack [<code>NC_DOUBLE</code>,<code>NC_FLOAT</code>] to <code>NC_BYTE</code>&linebreak; 
+Types copied instead of packed: [<code>NC_INT64</code>,<code>NC_UINT64</code>,<code>NC_INT</code>,<code>NC_UINT</code>,<code>NC_SHORT</code>,<code>NC_USHORT</code>,<code>NC_CHAR</code>,<code>NC_BYTE</code>,<code>NC_UBYTE</code>]&linebreak;
+<var>pck_map</var> key values: <samp>flt_byt</samp>, <samp>pck_map_flt_byt</samp>&linebreak;
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="dfn">Pack Higher Precisions to <code>NC_SHORT</code></itemformat></item>
+</tableterm><tableitem><para>Definition: Pack higher precision types to <code>NC_SHORT</code>&linebreak;
+Map: 
+Pack [<code>NC_DOUBLE</code>,<code>NC_FLOAT</code>,<code>NC_INT64</code>,<code>NC_UINT64</code>,<code>NC_INT</code>,<code>NC_UINT</code>] to <code>NC_SHORT</code>&linebreak;
+Types copied instead of packed: [<code>NC_SHORT</code>,<code>NC_USHORT</code>,<code>NC_CHAR</code>,<code>NC_BYTE</code>,<code>NC_UBYTE</code>]&linebreak;
+<var>pck_map</var> key values: <samp>hgh_sht</samp>, <samp>pck_map_hgh_sht</samp>&linebreak;
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="dfn">Pack Higher Precisions to <code>NC_BYTE</code></itemformat></item>
+</tableterm><tableitem><para>Definition: Pack higher precision types to <code>NC_BYTE</code>&linebreak;
+Map: 
+Pack [<code>NC_DOUBLE</code>,<code>NC_FLOAT</code>,<code>NC_INT64</code>,<code>NC_UINT64</code>,<code>NC_INT</code>,<code>NC_UINT</code>,<code>NC_SHORT</code>,<code>NC_USHORT</code>] to <code>NC_BYTE</code>&linebreak;
+Types copied instead of packed: [<code>NC_CHAR</code>,<code>NC_BYTE</code>,<code>NC_UBYTE</code>]&linebreak;
+<var>pck_map</var> key values: <samp>hgh_byt</samp>, <samp>pck_map_hgh_byt</samp>&linebreak;
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="dfn">Pack to Next Lesser Precision</itemformat></item>
+</tableterm><tableitem><para>Definition: Pack each type to type of next lesser size&linebreak;
+Map: Pack [<code>NC_DOUBLE</code>,<code>NC_INT64</code>,<code>NC_UINT64</code>], to <code>NC_INT</code>. 
+Pack [<code>NC_FLOAT</code>,<code>NC_INT</code>,<code>NC_UINT</code>] to <code>NC_SHORT</code>.
+Pack [<code>NC_SHORT</code>,<code>NC_USHORT</code>] to <code>NC_BYTE</code>.&linebreak;
+Types copied instead of packed: [<code>NC_CHAR</code>,<code>NC_BYTE</code>,<code>NC_UBYTE</code>]&linebreak;
+<var>pck_map</var> key values: <samp>nxt_lsr</samp>, <samp>pck_map_nxt_lsr</samp>&linebreak;
+</para></tableitem></tableentry></table>
+<noindent></noindent>
+<para>The default <samp>all_new</samp> packing policy with the default
+<samp>flt_sht</samp> packing map reduces the typical <code>NC_FLOAT</code>-dominated
+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="1462"><var>_FillValue</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1463"><code>_FillValue</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1464"><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. 
+Hence users should be aware of some packing caveats:
+First, the interaction of packing and data equal to the
+<var>_FillValue</var> is complex.
+Test the <code>_FillValue</code> behavior by performing a pack/unpack cycle 
+to ensure data that are missing <emph>stay</emph> missing and data that are
+not misssing do not join the Air National Guard and go missing.
+This may lead you to elect a new <var>_FillValue</var>.
+Second, <code>ncpdq</code> actually allows packing into <code>NC_CHAR</code> (with,
+e.g., <samp>flt_chr</samp>).
+However, the intrinsic conversion of <code>signed char</code> to higher
+precision types is tricky for values equal to zero, i.e., for
+<code>NUL</code>.  
+Hence packing to <code>NC_CHAR</code> is not documented or advertised.  
+Pack into <code>NC_BYTE</code> (with, e.g., <samp>flt_byt</samp>) instead.
+</para>
+<html endspaces=" ">
+<a name="rvr"></a> <!&textndash; http://nco.sf.net/nco.html#rvr &textndash;>
+</html>
+</unnumberedsubsec>
+<unnumberedsubsec spaces=" "><sectiontitle>Dimension Permutation</sectiontitle>
+<para><command>ncpdq</command> re-shapes variables in <var>input-file</var> by re-ordering
+and/or reversing dimensions specified in the dimension list.
+The dimension list is a whitespace-free, comma separated list of
+dimension names, optionally prefixed by negative signs, that follows the 
+<samp>-a</samp> (or long options <samp>--arrange</samp>, <samp>--permute</samp>,
+<samp>--re-order</samp>, or <samp>--rdr</samp>) switch.  
+To re-order variables by a subset of their dimensions, specify
+these dimensions in a comma-separated list following <samp>-a</samp>, e.g., 
+<samp>-a lon,lat</samp>. 
+To reverse a dimension, prefix its name with a negative sign in the
+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="1465">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="1466">concatenation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1467">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="1468">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
+one record dimension amongst all the output variables
+<footnote><para>This limitation, imposed by the netCDF storage layer,
+may be relaxed in the future with netCDF4.</para></footnote>.
+</para>
+<para>Two special cases of dimension re-ordering and reversal deserve special
+mention. 
+First, it may be desirable to completely reverse the storage order of a
+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="1469">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>).
+To do this, include all the variable&textrsquo;s dimensions in the dimension
+re-order list in reversed order.
+Explicit examples of these two techniques appear below.
+</para>
+<tex endspaces=" ">
+NB: fxm ncpdq documentation will evolve through Fall 2004.
+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.
+Now do you feel more comfortable using it?
+
+Let $\dmnvct(\xxx)$ represent the dimensionality of the variable $\xxx$. 
+Dimensionality describes the order and sizes of dimensions.
+If $\xxx$ has rank $\dmnnbr$, then we may write $\dmnvct(\xxx)$ as the
+$\dmnnbr$-element vector 
+$$
+\dmnvct(\xxx) = [ \dmn_{1}, \dmn_{2}, \dmn_{3}, \ldots, 
+\dmn_{\dmnidx-1}, \dmn_{\dmnidx}, \dmn_{\dmnidx+1}, 
+\ldots, \dmn_{\dmnnbr-2}, \dmn_{\dmnnbr-1}, \dmn_{\dmnnbr} ] 
+$$
+where $\dmn_{\dmnidx}$ is the size of the $\dmnidx$&textrsquo;th dimension.
+
+The dimension re-order list specified with <samp>-a</samp> is the
+$\rdrnbr$-element vector 
+$$
+\rdrvct = [ \rdr_{1}, \rdr_{2}, \rdr_{3}, \ldots, 
+\rdr_{\rdridx-1}, \rdr_{\rdridx}, \rdr_{\rdridx+1}, 
+\ldots, \rdr_{\rdrnbr-2}, \rdr_{\rdrnbr-1}, \rdr_{\rdrnbr} ] 
+$$
+There need be no relation between $\dmnnbr$ and $\rdrnbr$.
+Let the $\shrnbr$-element vector $\shrvct$ be the intersection
+(i.e., the ordered set of unique shared dimensions) of $\dmnvct$ and 
+$\rdrvct$
+Then
+$$
+\eqalign{{\shrvct} &= \rdrvct \cap \dmnvct \cr
+&= [ \shr_{1}, \shr_{2}, \shr_{3}, \ldots, 
+\shr_{\shridx-1}, \shr_{\shridx}, \shr_{\shridx+1}, 
+\ldots, \shr_{\shrnbr-2}, \shr_{\shrnbr-1}, \shr_{\shrnbr} ]} 
+$$
+$\shrvct$ is empty if $\rdrvct \notin \dmnvct$.
+
+Re-ordering (or re-shaping) a variable means mapping the input state
+with dimensionality $\dmnvct(\xxx)$ to the output state with
+dimensionality $\dmnvctprm(\xxxprm)$.  
+In practice, mapping occurs in three logically distinct steps.
+First, we tranlate the user input to a one-to-one mapping $\mpp$ 
+between input and output dimensions, 
+$\dmnvct \mapsto \dmnvctprm$.
+This tentative map is final unless external constraints (typically
+netCDF restrictions) impose themselves.   
+Second, we check and, if necessary, refine the tentative mapping so that
+the re-shaped variables will co-exist in the same file without violating 
+netCDF-imposed storage restrictions. 
+This refined map specifies the final (output) dimensionality.
+Third, we translate the output dimensionality into one-dimensional  
+memory offsets for each datum according to the <w>C language</w> convention 
+for multi-dimensional array storage.
+Dimension reversal changes the ordering of data, though not the
+rank or dimensionality, and so is part of the third step. 
+
+Dimensions $\rdr$ disjoint from $\dmnvct$ play no role in re-ordering.
+The first step taken to re-order a variable is to determine $\shrvct$. 
+$\rdrvct$ is constant for all variables, whereas $\dmnvct$, and hence
+$\shrvct$, is variable-specific.
+$\shrvct$ is empty if $\rdrvct \notin \dmnvct$.
+This may be the case for some extracted variables.
+The user may explicitly specify the one-to-one mapping of input
+to output dimension order by supplying (with <samp>-a</samp>) a re-order list
+$\rdrvct$ such that $\shrnbr = \dmnnbr$. 
+In this case $\dmnsubnnnprm = \shrsubnnn$.  
+The degenerate case occurs when $\dmnvct = \shrvct$.
+This produces the identity mapping $\dmnsubnnnprm = \dmnsubnnn$.  
+
+The mapping of input to output dimension order is more complex
+when $\shrnbr \ne \dmnnbr$. 
+In this case $\dmnsubnnnprm = \dmnsubnnn$ for the $\dmnnbr-\shrnbr$
+dimensions $\dmnsubnnnprm \notin \shrvct$.
+For the $\shrnbr$ dimensions $\dmnsubnnnprm \in \shrvct$, 
+$\dmnsubnnnprm = \shrsubsss$.  
+</tex>
+
+<!-- c fxm: discuss netCDF-imposed constraints here -->
+
+<noindent></noindent>
+<html endspaces=" ">
+<a name="xmp_ncpdq"></a> <!&textndash; http://nco.sf.net/nco.html#xmp_ncpdq &textndash;>
+</html>
+<para>EXAMPLES
+</para>
+<para>Pack and unpack all variables in file <file>in.nc</file> and store the results
+in <file>out.nc</file>:  
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncpdq in.nc out.nc # Same as ncpack in.nc out.nc
+ncpdq -P all_new -M flt_sht in.nc out.nc # Defaults
+ncpdq -P all_xst in.nc out.nc
+ncpdq -P upk in.nc out.nc # Same as ncunpack in.nc out.nc
+ncpdq -U in.nc out.nc # Same as ncunpack in.nc out.nc
+</pre></example>
+<para>The first two commands pack any unpacked variable in the input file.
+They also unpack and then re-pack every packed variable.
+The third command only packs unpacked variables in the input file.
+If a variable is already packed, the third command copies it unchanged
+to the output file. 
+The fourth and fifth commands unpack any packed variables.
+If a variable is not packed, the third command copies it unchanged.
+</para>
+<para>The previous examples all utilized the default packing map.
+Suppose you wish to archive all data that are currently unpacked 
+into a form which only preserves 256 distinct values.
+Then you could specify the packing map <var>pck_map</var> as <samp>hgh_byt</samp>
+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="1470">appending variables</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1471"><samp>-A</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1472"><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>).
+</para>
+<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="1473"><command>ncl_convert2nc</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1474"><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
+ncpdq --hdf_upk -P xst_new modis.hdf modis.nc # HDF4 files
+ncpdq --hdf_upk -P xst_new modis.h5  modis.nc # HDF5 files
+
+# One-step procedure: For NCO 4.3.7--4.3.9
+# 1. Convert, unpack, and repack HDF file into netCDF file
+ncpdq --hdf4 --hdf_upk -P xst_new modis.hdf modis.nc # HDF4
+ncpdq        --hdf_upk -P xst_new modis.h5  modis.nc # HDF5
+
+# Two-step procedure: For NCO 4.3.6 and earlier
+# 1. Convert HDF file to netCDF file
+ncl_convert2nc modis.hdf
+# 2. Unpack using HDF convention and repack using netCDF convention
+ncpdq --hdf_upk -P xst_new modis.nc modis.nc
+</pre></example>
+<para><acronym><acronymword>NCO</acronymword></acronym> now
+<footnote spaces="\n"><para>Prior to <acronym><acronymword>NCO</acronymword></acronym> 4.4.0 and netCDF 4.3.1 (January, 2014),
+<acronym><acronymword>NCO</acronymword></acronym> requires the <samp>--hdf4</samp> switch to correctly read
+HDF4 input files.
+For example, <samp>ncpdq --hdf4 --hdf_upk -P xst_new modis.hdf modis.nc</samp>.
+That switch is now obsolete, though harmless for backwards compatibility.
+Prior to version 4.3.7 (October, 2013), <acronym><acronymword>NCO</acronymword></acronym> lacked the
+software necessary to workaround netCDF library flaws handling
+<acronym><acronymword>HDF4</acronymword></acronym> files, and thus <acronym><acronymword>NCO</acronymword></acronym> failed to convert
+<acronym><acronymword>HDF4</acronymword></acronym> files to netCDF files.
+In those cases, use the <command>ncl_convert2nc</command> command distributed
+with <acronym><acronymword>NCL</acronymword></acronym> to convert <acronym><acronymword>HDF4</acronymword></acronym> files to netCDF.</para></footnote>
+automatically detects <acronym><acronymword>HDF4</acronymword></acronym> files.  
+In this case it produces an output file <file>modis.nc</file> which preserves
+the <acronym><acronymword>HDF</acronymword></acronym> packing used in the input file.
+The <command>ncpdq</command> command first unpacks all packed variables using the
+<acronym><acronymword>HDF</acronymword></acronym> unpacking algorithm (as specified by <samp>--hdf_upk</samp>), 
+and then repacks those same variables using the netCDF algorithm
+(because that is the only algorithm <acronym><acronymword>NCO</acronymword></acronym> packs with).
+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
+<footnote><para><command>ncpdq</command> does not support packing data using the
+<acronym><acronymword>HDF</acronymword></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><acronymword>NCO</acronymword></acronym> to support
+packing data with <acronym><acronymword>HDF</acronymword></acronym> algorithm.</para></footnote>.
+</para>
+<para>Re-order file <file>in.nc</file> so that the dimension <code>lon</code> always
+precedes the dimension <code>lat</code> and store the results in
+<file>out.nc</file>:  
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncpdq -a lon,lat in.nc out.nc
+ncpdq -v three_dmn_var -a lon,lat in.nc out.nc
+</pre></example>
+<para>The first command re-orders every variable in the input file.
+The second command extracts and re-orders only the variable
+<code>three_dmn_var</code>. 
+</para>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1475">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
+latitude values decrease monotonically from north to south.
+Accomplish this with
+</para><example endspaces=" ">
+<pre xml:space="preserve">% ncpdq -a -lat in.nc out.nc
+% ncks -C -v lat in.nc
+lat[0]=-90
+lat[1]=90
+% ncks -C -v lat out.nc
+lat[0]=90
+lat[1]=-90
+</pre></example>
+<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="1476">long options</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1477">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.
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncpdq -a -lat in.nc out.nc # Dangerous? Whitespace before "-lat"
+ncpdq -a '-lat' in.nc out.nc # OK. Quotes protect "-" in "-lat"
+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="1478">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>: 
+</para><example endspaces=" ">
+<pre xml:space="preserve">% ncpdq -a lon,lev,lat -v three_dmn_var in.nc out.nc
+% ncks -C -v three_dmn_var in.nc
+lat[0]=-90 lev[0]=100 lon[0]=0 three_dmn_var[0]=0 
+lat[0]=-90 lev[0]=100 lon[1]=90 three_dmn_var[1]=1 
+lat[0]=-90 lev[0]=100 lon[2]=180 three_dmn_var[2]=2 
+...
+lat[1]=90 lev[2]=1000 lon[1]=90 three_dmn_var[21]=21 
+lat[1]=90 lev[2]=1000 lon[2]=180 three_dmn_var[22]=22 
+lat[1]=90 lev[2]=1000 lon[3]=270 three_dmn_var[23]=23 
+% ncks -C -v three_dmn_var out.nc
+lon[0]=0 lev[0]=100 lat[0]=-90 three_dmn_var[0]=0
+lon[0]=0 lev[0]=100 lat[1]=90 three_dmn_var[1]=12
+lon[0]=0 lev[1]=500 lat[0]=-90 three_dmn_var[2]=4
+...
+lon[3]=270 lev[1]=500 lat[1]=90 three_dmn_var[21]=19
+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="1479">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. 
+This example reverses the storage order of <code>three_dmn_var</code>: 
+</para><example endspaces=" ">
+<pre xml:space="preserve">% ncpdq -a -lat,-lev,-lon -v three_dmn_var in.nc out.nc
+% ncks -C -v three_dmn_var in.nc
+lat[0]=-90 lev[0]=100 lon[0]=0 three_dmn_var[0]=0 
+lat[0]=-90 lev[0]=100 lon[1]=90 three_dmn_var[1]=1 
+lat[0]=-90 lev[0]=100 lon[2]=180 three_dmn_var[2]=2 
+...
+lat[1]=90 lev[2]=1000 lon[1]=90 three_dmn_var[21]=21 
+lat[1]=90 lev[2]=1000 lon[2]=180 three_dmn_var[22]=22 
+lat[1]=90 lev[2]=1000 lon[3]=270 three_dmn_var[23]=23 
+% ncks -C -v three_dmn_var out.nc
+lat[0]=90 lev[0]=1000 lon[0]=270 three_dmn_var[0]=23
+lat[0]=90 lev[0]=1000 lon[1]=180 three_dmn_var[1]=22
+lat[0]=90 lev[0]=1000 lon[2]=90 three_dmn_var[2]=21
+...
+lat[1]=-90 lev[2]=100 lon[1]=180 three_dmn_var[21]=2
+lat[1]=-90 lev[2]=100 lon[2]=90 three_dmn_var[22]=1
+lat[1]=-90 lev[2]=100 lon[3]=0 three_dmn_var[23]=0
+</pre></example>
+
+<html endspaces=" ">
+<a name="dmn_rcd_mk"></a> <!&textndash; http://nco.sf.net/nco.html#dmn_rcd_mk &textndash;>
+<a name="mk_rcd_dmn"></a> <!&textndash; http://nco.sf.net/nco.html#mk_rcd_dmn &textndash;>
+</html>
+<para>Creating a record dimension named, e.g., <code>time</code>, in a file which
+has no existing record dimension is simple with <command>ncecat</command>:
+</para><example endspaces=" ">
+<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="1480">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  
+a record dimension. 
+This may be useful, for example, when the user wishes to append
+additional time slices to the data.
+As of <acronym><acronymword>NCO</acronymword></acronym> version 4.0.1 (April, 2010) the preferred method for
+doing this is with <command>ncks</command>:
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncks -O --mk_rec_dmn time in.nc out.nc # Change "time" to record dimension
+</pre></example>
+
+<para>Prior to 4.0.1, the procedure to change an existing fixed dimension into
+a record dimension required three separate commands,
+<command>ncecat</command> followed by <command>ncpdq</command>, and then <command>ncwa</command>.
+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="1481">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"
+ncwa -O -a record out.nc out.nc # Remove (degenerate) "record"
+</pre></example>
+<noindent></noindent>
+<para>The first step creates a degenerate (size equals one) record dimension
+named (by default) <code>record</code>. 
+The second step swaps the ordering of the dimensions named <code>time</code>
+and <code>record</code>.
+Since <code>time</code> now occupies the position of the first (least rapidly
+varying) dimension, it becomes the record dimension.
+The dimension named <code>record</code> is no longer a record dimension.
+The third step averages over this degenerate <code>record</code> dimension.
+Averaging over a degenerate dimension does not alter the data.
+The ordering of other dimensions in the file (<code>lat</code>, <code>lon</code>,
+etc.) is immaterial to this procedure. 
+See <ref label="ncecat-netCDF-Ensemble-Concatenator"><xrefnodename>ncecat netCDF Ensemble Concatenator</xrefnodename></ref> and 
+<ref label="ncks-netCDF-Kitchen-Sink"><xrefnodename>ncks netCDF Kitchen Sink</xrefnodename></ref> for other methods of
+changing variable dimensionality, including the record dimension. 
+</para>
+<page></page>
+<html endspaces=" ">
+<a name="ncra"></a> <!&textndash; http://nco.sf.net/nco.html#ncra &textndash;>
+</html>
+</unnumberedsubsec>
+</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="1482">averaging data</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1483">record average</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1484">record dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1485">running average</indexterm></cindex>
+<findex index="fn" spaces=" "><indexterm index="fn" number="38" mergedindex="cp">ncra</indexterm></findex>
+
+<noindent></noindent>
+<para>SYNTAX
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncra [-3] [-4] [-6] [-7] [-A] [-C] [-c]
+[--cnk_dmn nm,sz] [--cnk_map map] [--cnk_plc plc] [--cnk_scl sz]
+[-D <var>dbg</var>] [-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>][,[<var>subcycle</var>]]]] [-F]
+[-G <var>gpe_dsc</var>] [-g <var>grp</var>[,&dots;]] [-h] [--hdf] [--hdr_pad <var>nbr</var>] 
+[-L <var>dfl_lvl</var>] [-l <var>path</var>] [--mro] [-n <var>loop</var>] [--no_tmp_fl]
+[-O] [-o <var>output-file</var>] [-p <var>path</var>] [-R] [-r] [--ram_all] [--rec_apn] [--rth_dbl|flt]
+[-t <var>thr_nbr</var>] [--unn] [-v <var>var</var>[,&dots;]] [-X ...] [-x] [-y <var>op_typ</var>]
+[<var>input-files</var>] [<var>output-file</var>]
+</pre></example>
+
+<noindent></noindent>
+<para>DESCRIPTION
+</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="1486">degenerate dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1487">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="1488">multi-file operators</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1489">standard input</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1490"><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 
+(<pxref label="Large-Numbers-of-Files"><xrefnodename>Large Numbers of Files</xrefnodename></pxref>).
+</para>
+<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="1491">hyperslab</indexterm></cindex>
+Hyperslabs of the record dimension which include more than one file 
+work correctly.
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1492">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.
+</para>
+<para><command>ncra</command> weights each record (e.g., time slice) in the
+<var>input-files</var> equally.
+<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="1493">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>). 
+</para>
+<noindent></noindent>
+<html endspaces=" ">
+<a name="xmp_ncra"></a> <!&textndash; http://nco.sf.net/nco.html#xmp_ncra &textndash;>
+</html>
+<para>EXAMPLES
+</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="1494">globbing</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1495"><code>NINTAP</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1496">Processor</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1497"><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
+ncra -n 5,2,1 85.nc 8589.nc
+</pre></example>
+<para>These three methods produce identical answers.
+<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="1498">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,
+etc. 
+<acronym><acronymword>NCO</acronymword></acronym> knows how to hyperslab the record dimension across files.
+Thus, to average data from December, 1985 through February, 1986:
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncra -d time,11,13 85.nc 86.nc 87.nc 8512_8602.nc
+ncra -F -d time,12,14 85.nc 86.nc 87.nc 8512_8602.nc
+</pre></example>
+<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="1499">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=" ">
+<pre xml:space="preserve">ncra -F -d time,3,,12 -v temperature 85.nc 86.nc 87.nc 858687_03.nc
+</pre></example>
+<para><xref label="Stride"><xrefnodename>Stride</xrefnodename></xref>, for a description of the <var>stride</var> argument.
+</para>
+<para>Assume the <var>time</var> coordinate is incrementally numbered such that
+January, <w><math>1985 = 1</math></w> and December, <w><math>1989 = 60</math></w>.
+Assuming <samp>??</samp> only expands to the five desired files, the following 
+averages June, 1985&textndash;June, 1989: 
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncra -d time,6.,54. ??.nc 8506_8906.nc
+</pre></example>
+
+<page></page>
+<html endspaces=" ">
+<a name="ncrcat"></a> <!&textndash; http://nco.sf.net/nco.html#ncrcat &textndash;>
+</html>
+</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="1500">concatenation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1501">record concatenation</indexterm></cindex>
+<findex index="fn" spaces=" "><indexterm index="fn" number="39" mergedindex="cp">ncrcat</indexterm></findex>
+
+<noindent></noindent>
+<para>SYNTAX
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncrcat [-3] [-4] [-6] [-7] [-A] [-C] [-c]
+[--cnk_dmn nm,sz] [--cnk_map map] [--cnk_plc plc] [--cnk_scl sz]
+[-D <var>dbg</var>] [-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>][,[<var>subcycle</var>]]]] [-F]
+[-G <var>gpe_dsc</var>] [-g <var>grp</var>[,&dots;]] [-h] [--hdr_pad <var>nbr</var>]
+[-L <var>dfl_lvl</var>] [-l <var>path</var>] [--md5_digest] [-n <var>loop</var>] [--no_tmp_fl]
+[-O] [-o <var>output-file</var>] [-p <var>path</var>] [-R] [-r] [--ram_all] [--rec_apn]
+[-t <var>thr_nbr</var>] [--unn] [-v <var>var</var>[,&dots;]] [-X ...] [-x] 
+[<var>input-files</var>] [<var>output-file</var>]
+</pre></example>
+
+<noindent></noindent>
+<para>DESCRIPTION
+</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="1502">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="1503">multi-file operators</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1504">standard input</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1505"><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 
+(<pxref label="Large-Numbers-of-Files"><xrefnodename>Large Numbers of Files</xrefnodename></pxref>).
+</para>
+<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="1506">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="1507">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="1508">packing</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1509">unpacking</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1510"><code>add_offset</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1511"><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>).
+<command>ncrcat</command> does not unpack data, it simply <emph>copies</emph> the data
+from the <var>input-files</var>, and the metadata from the <emph>first</emph>
+<var>input-file</var>, to the <var>output-file</var>. 
+This means that data compressed with a packing convention must use
+the identical packing parameters (e.g., <code>scale_factor</code> and
+<code>add_offset</code>) for a given variable across <emph>all</emph> input files.
+Otherwise the concatenated dataset will not unpack correctly.
+The workaround for cases where the packing parameters differ across
+<var>input-files</var> requires three steps:
+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="1512">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.
+</para>
+<noindent></noindent>
+<html endspaces=" ">
+<a name="xmp_ncrcat"></a> <!&textndash; http://nco.sf.net/nco.html#xmp_ncrcat &textndash;>
+</html>
+<para>EXAMPLES
+</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="1513">globbing</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1514"><code>NINTAP</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1515">Processor</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1516"><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
+ncrcat -n 5,2,1 85.nc 8589.nc
+</pre></example>
+<noindent></noindent>
+<para>These three methods produce identical answers.
+<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="1517">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
+1986, etc. 
+<acronym><acronymword>NCO</acronymword></acronym> knows how to hyperslab the record dimension across files. 
+Thus, to concatenate data from December, 1985&textndash;February, 1986:
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncrcat -d time,11,13 85.nc 86.nc 87.nc 8512_8602.nc
+ncrcat -F -d time,12,14 85.nc 86.nc 87.nc 8512_8602.nc
+</pre></example>
+<noindent></noindent>
+<para>The file <file>87.nc</file> is superfluous, but does not cause an error.
+When <command>ncra</command> and <command>ncrcat</command> encounter a file which does 
+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="1518">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
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncrcat -F -d time,3,,12 -v temperature 85.nc 86.nc 87.nc 858687_03.nc
+</pre></example>
+<para><xref label="Stride"><xrefnodename>Stride</xrefnodename></xref>, for a description of the <var>stride</var> argument.
+</para>
+<para>Assume the <var>time</var> coordinate is incrementally numbered such that
+January, <w>1985 = 1</w> and December, <w>1989 = 60.</w>
+Assuming <code>??</code> only expands to the five desired files, the following 
+concatenates June, 1985&textndash;June, 1989: 
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncrcat -d time,6.,54. ??.nc 8506_8906.nc
+</pre></example>
+
+<page></page>
+<html endspaces=" ">
+<a name="ncrename"></a> <!&textndash; http://nco.sf.net/nco.html#ncrename &textndash;>
+</html>
+</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="1519">renaming variables</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1520">renaming groups</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1521">renaming dimensions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1522">renaming attributes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1523">variable names</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1524">dimension names</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1525">attribute names</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1526">group names</indexterm></cindex>
+<findex index="fn" spaces=" "><indexterm index="fn" number="41" mergedindex="cp">ncrename</indexterm></findex>
+
+<noindent></noindent>
+<para>SYNTAX
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncrename [-a <var>old_name</var>,<var>new_name</var>] [-a &dots;] [-D <var>dbg</var>] 
+[-d <var>old_name</var>,<var>new_name</var>] [-d &dots;] [-g <var>old_name</var>,<var>new_name</var>] [-g &dots;] 
+[-h] [--hdf] [--hdr_pad <var>nbr</var>] [-l <var>path</var>] [-O] [-o <var>output-file</var>] [-p <var>path</var>] [-R] [-r] 
+[-v <var>old_name</var>,<var>new_name</var>] [-v &dots;]
+<var>input-file</var> [[<var>output-file</var>]]
+</pre></example>
+ 
+<noindent></noindent>
+<para>DESCRIPTION
+</para>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1527"><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
+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 &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. 
+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
+whose attributes are to be renamed.
+</para>
+<para>Although <command>ncrename</command> supports full pathnames for both
+<var>old_name</var> and <var>new_name</var>, this is really &textldquo;window dressing&textrdquo;.
+The full-path to <var>new_name</var> must be identical to the full-path to 
+<var>old_name</var> in all classes of objects (attributes, variables,
+dimensions, or groups).
+In other words, <command>ncrename</command> can change only the local names
+of objects, it cannot change the location of the object in the group
+hierarchy within the file.
+Hence using a full-path in <var>new_name</var> is redundant. 
+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="1528">data safety</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1529">safeguards</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1530">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
+during the operation. 
+If only <var>input-file</var> is specified, then <command>ncrename</command> changes
+the names of the <var>input-file</var> in place without prompting and without
+creating a temporary copy of <code>input-file</code>.
+This is because the renaming operation is considered reversible if the
+user makes a mistake.
+The <var>new_name</var> can easily be changed back to <var>old_name</var> by using 
+<command>ncrename</command> one more time.
+</para>
+<para>Note that renaming a dimension to the name of a dependent variable can
+be used to invert the relationship between an independent coordinate
+variable and a dependent variable. 
+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="1531">performance</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1532">operator speed</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1533">speed</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1534">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>.
+</para>
+<noindent></noindent>
+<para>OPTIONS
+</para>
+<table commandarg="samp" spaces=" " endspaces=" ">
+<tableentry><tableterm><item spaces=" "><itemformat command="samp">-a <var>old_name</var>,<var>new_name</var></itemformat></item>
+</tableterm><tableitem><para>Attribute renaming. 
+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="1535"><code>global</code> attribute</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1536">global attributes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1537">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
+will be renamed unless the <samp>.</samp> form is used, with one exception.
+To change the attribute name for a particular variable, specify 
+the <var>old_name</var> in the format <var>old_var_name&arobase;old_att_name</var>.
+The <samp>&arobase;</samp> symbol delimits the variable from the attribute name.
+If the attribute is uniquely named (no other variables contain the
+attribute) then the <var>old_var_name&arobase;old_att_name</var> syntax is
+redundant. 
+The <var>var_nm</var> <code>global</code> has special significance&textmdash;it indicates
+that <var>att_nm</var> refers to a global or group attribute, and not to a
+variable named <code>global</code>.
+In other words, a <var>var_nm</var> of <code>global</code> is syntactically
+equivalent to a <var>var_nm</var> that is empty.
+The <var>var_name&arobase;att_name</var> syntax is accepted, though not required,
+for the <var>new_name</var>.
+</para>
+</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="samp">-d <var>old_name</var>,<var>new_name</var></itemformat></item>
+</tableterm><tableitem><para>Dimension renaming. 
+The old and new names of the dimension are specified with <samp>-d</samp>
+(or <samp>--dmn</samp>, <samp>--dimension</samp>) by the associated <var>old_name</var>
+and <var>new_name</var> values.  
+This option may be specified more than once.
+</para> 
+</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="samp">-g <var>old_name</var>,<var>new_name</var></itemformat></item>
+</tableterm><tableitem><para>Group renaming. 
+The old and new names of the group are specified with <samp>-g</samp>
+(or <samp>--grp</samp>, <samp>--group</samp>) by the associated <var>old_name</var>
+and <var>new_name</var> values.  
+This option may be specified more than once.
+This functionality is only available in <acronym><acronymword>NCO</acronymword></acronym> version 4.3.7
+(October, 2013) or later, and only when built on netCDF library version
+4.3.1-rc1 (August, 2013) or later. 
+</para> 
+</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="samp">-v <var>old_name</var>,<var>new_name</var></itemformat></item>
+</tableterm><tableitem><para>Variable renaming. 
+The old and new names of the variable are specified with <samp>-v</samp>
+(or <samp>--variable</samp>) by the associated <var>old_name</var> and
+<var>new_name</var> values.  
+This option may be specified more than once.
+</para></tableitem></tableentry></table>
+
+<noindent></noindent>
+<html endspaces=" ">
+<a name="xmp_ncrename"></a> <!&textndash; http://nco.sf.net/nco.html#xmp_ncrename &textndash;>
+</html>
+<para>EXAMPLES
+</para>
+<para>Rename the variable <code>p</code> to <code>pressure</code> and <code>t</code> to
+<code>temperature</code> in netCDF <file>in.nc</file>. 
+In this case <code>p</code> must exist in the input file (or
+<command>ncrename</command> will abort), but the presence of <code>t</code> is optional:
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncrename -v p,pressure -v .t,temperature in.nc
+</pre></example>
+
+<para>Rename the attribute <code>long_name</code> to <code>largo_nombre</code> in the
+variable <code>u</code>, and no other variables in netCDF <file>in.nc</file>. 
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncrename -a u&arobase;long_name,largo_nombre in.nc
+</pre></example>
+ 
+<para>Rename the group <code>g8</code> to <code>g20</code> in netCDF4 file
+<file>in_grp.nc</file>:   
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncrename -g g8,g20 in_grp.nc
+</pre></example>
+ 
+<para>Rename the variable <code>/g1/lon</code> to <code>longitude</code> in netCDF4
+<file>in_grp.nc</file>:
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncrename -v /g1/lon,longitude in_grp.nc
+ncrename -v /g1/lon,/g1/longitude in_grp.nc # Alternate
+</pre></example>
+ 
+<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="1538">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
+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: 
+</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
+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 <command>ncrename</command> invocations (e.g., first rename the
+variable, then 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:
+</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
+ncrename -O -v lat_T42,lat ~/foo.nc ~/foo2.nc # Also renames dimension
+ncrename -O -d lat_T42,lat ~/foo.nc ~/foo2.nc # Also renames variable
+</pre></example>
+<para>To avoid this faulty behavior, either build <acronym><acronymword>NCO</acronymword></acronym> with netCDF
+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="1539">global attributes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1540">attributes, global</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1541"><code>_FillValue</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1542"><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
+those variables which possess it), the attribute <code>hieght</code> is
+changed to <code>height</code> in the variable <code>tpt</code>, and in the
+variable <code>prs_sfc</code>, if it exists.
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncrename -a _FillValue,missing_value -a .units,CGS_units \
+  -a tpt&arobase;hieght,height -a prs_sfc&arobase;.hieght,height in.nc out.nc 
+</pre></example>
+<para>The presence and absence of the <samp>.</samp> and <samp>&arobase;</samp> features
+cause this command to execute successfully only if a number of 
+conditions are met. 
+All variables <emph>must</emph> have a <code>_FillValue</code> attribute <emph>and</emph> 
+<code>_FillValue</code> must also be a global attribute.
+The <code>units</code> attribute, on the other hand, will be renamed to
+<code>CGS_units</code> wherever it is found but need not be present in
+the file at all (either as a global or a variable attribute).
+The variable <code>tpt</code> must contain the <code>hieght</code> attribute.
+The variable <code>prs_sfc</code> need not exist, and need not contain the
+<code>hieght</code> attribute.
+</para>
+<para>Rename the global or group attribute <code>Convention</code> to
+<code>Conventions</code>
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncrename -a Convention,Conventions  in.nc # Variable and global atts.
+ncrename -a .Convention,Conventions in.nc # Variable and global atts.
+ncrename -a &arobase;Convention,Conventions  in.nc # Global atts. only
+ncrename -a &arobase;.Convention,Conventions in.nc # Global atts. only
+ncrename -a global&arobase;Convention,Conventions   in.nc # Global atts. only
+ncrename -a .global&arobase;.Convention,Conventions in.nc # Global atts. only
+</pre></example>
+<para>The examples without the <code>&arobase;</code> character attempt to change the
+attribute name in both Global or Group and variable attributes.
+The examples with the <code>&arobase;</code> character attempt to change only 
+global and group <code>Convention</code> attributes, and leave unchanged any
+<code>Convention</code> attributes attached directly to variables.
+Attributes prefixed with a period (<code>.Convention</code>) need not be
+present. 
+Attributes not prefixed with a period (<code>Convention</code>) must be
+present. 
+Variables prefixed with a period (<code>.</code> or <code>.global</code>) need not 
+be present.  
+Variables not prefixed with a period (<code>global</code>) must be present.  
+</para>
+<page></page>
+<html endspaces=" ">
+<a name="ncwa"></a> <!&textndash; http://nco.sf.net/nco.html#ncwa &textndash;>
+</html>
+</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="1543">averaging data</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1544">weighted average</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1545">masked average</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1546">broadcasting variables</indexterm></cindex>
+<findex index="fn" spaces=" "><indexterm index="fn" number="42" mergedindex="cp">ncwa</indexterm></findex>
+
+<noindent></noindent>
+<para>SYNTAX
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncwa [-3] [-4] [-6] [-7] [-A] [-a <var>dim</var>[,&dots;]] [-B <var>mask_cond</var>] [-b] [-C] [-c]
+[--cnk_dmn nm,sz] [--cnk_map map] [--cnk_plc plc] [--cnk_scl sz]
+[-D <var>dbg</var>] [-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]] [-F]
+[-G <var>gpe_dsc</var>] [-g <var>grp</var>[,&dots;]] [-h] [--hdr_pad <var>nbr</var>] [-I]
+[-L <var>dfl_lvl</var>] [-l <var>path</var>] [-M <var>mask_val</var>] [-m <var>mask_var</var>] [-N] [--no_tmp_fl]
+[-O] [-o <var>output-file</var>] [-p <var>path</var>] [-R] [-r] [--ram_all] [--rth_dbl|flt]
+[-T <var>mask_comp</var>] [-t <var>thr_nbr</var>] [--unn] [-v <var>var</var>[,&dots;]] [-w <var>weight</var>]
+[-X ...] [-x] [-y <var>op_typ</var>]
+<var>input-file</var> [<var>output-file</var>]
+</pre></example>
+
+<noindent></noindent>
+<para>DESCRIPTION
+</para>
+<para><command>ncwa</command> averages variables in a single file over arbitrary
+dimensions, with options to specify weights, masks, and normalization.   
+<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. 
+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="1547">degenerate dimension</indexterm></cindex>
+<para>Averaged dimensions are, by default, eliminated as dimensions.
+Their corresponding coordinates, if any, are output as scalar
+variables. 
+The <samp>-b</samp> switch (and its long option equivalents <samp>--rdd</samp> and 
+<samp>--retain-degenerate-dimensions</samp>) causes <command>ncwa</command> to retain
+averaged dimensions as degenerate (<w>size 1</w>) dimensions.
+This maintains the association between a dimension (or coordinate) and
+variables after averaging and simplifies, for instance, later
+concatenation along the degenerate dimension. 
+</para>
+<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="1548">arithmetic operators</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1549">hyperslab</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1550"><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>). 
+<command>ncwa</command> also handles values matching the variable&textrsquo;s
+<code>_FillValue</code> attribute correctly. 
+Moreover, <command>ncwa</command> understands how to manipulate user-specified
+weights, masks, and normalization options.
+With these options, <command>ncwa</command> can compute sophisticated averages
+(and integrals) from the command line. 
+</para>
+<html endspaces=" ">
+<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="1551"><code>-w <var>weight</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1552"><code>--weight <var>weight</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1553"><code>--wgt_var <var>weight</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1554"><code>-m <var>mask_var</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1555"><code>--mask-variable <var>mask_var</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1556"><code>--mask_variable <var>mask_var</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1557"><code>--msk_nm <var>mask_var</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1558"><code>--msk_var <var>mask_var</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1559"><code>-B <var>mask_cond</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1560"><code>--msk_cnd <var>mask_cond</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1561"><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="1562">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
+averaged by <command>ncwa</command> appear in the <var>output-file</var> as scalars.
+This allows the user to infer which dimensions may have been averaged.
+Note that that it is impossible for <command>ncwa</command> to make make a
+<var>weight</var> or <var>mask_var</var> of rank <var>W</var> conform to a <var>var</var> of
+rank <var>V</var> if <var>W > V</var>.
+This situation often arises when coordinate variables (which, by
+definition, are one dimensional) are weighted and averaged.
+<command>ncwa</command> assumes you know this is impossible and so <command>ncwa</command>
+does not attempt to broadcast <var>weight</var> or <var>mask_var</var> to conform
+to <var>var</var> in this case, nor does <command>ncwa</command> print a warning
+message telling you this, because it is so common.  
+Specifying <var>dbg > 2</var> does cause <command>ncwa</command> to emit warnings in
+these situations, however.
+</para>
+<para>Non-coordinate variables are always masked and weighted if specified.
+Coordinate variables, however, may be treated specially.
+By default, an averaged coordinate variable, e.g., <code>latitude</code>,
+appears in <var>output-file</var> averaged the same way as any other variable 
+containing an averaged dimension.
+In other words, by default <command>ncwa</command> weights and masks
+coordinate variables like all other variables.  
+This design decision was intended to be helpful but for some
+applications it may be preferable not to weight or mask coordinate
+variables just like all other variables.   
+Consider the following arguments to <command>ncwa</command>: 
+<code>-a latitude -w lat_wgt -d latitude,0.,90.</code> where <code>lat_wgt</code> is
+a weight in the <code>latitude</code> dimension.
+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="1563">coordinate variable</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1564"><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
+19981201&textmdash;before this date the default was not to weight or mask
+coordinate variables.</para></footnote>.
+In the above case, this causes the value of <code>latitude</code> in the
+<var>output-file</var> to <w>be 45.0</w>, an appealing result.
+Thus, <samp>-I</samp> specifies simple arithmetic averages for the coordinate
+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.
+<footnote><para>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 <w>30 degrees.</w></para></footnote>.  
+</para>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1565">average</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1566">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. 
+This is independent of the setting of the <samp>-I</samp> option.
+The mathematical definition of operations involving rank reduction 
+is given above (<pxref label="Operation-Types"><xrefnodename>Operation Types</xrefnodename></pxref>).
+</para>
+<menu endspaces=" ">
+<menuentry leadingtext="* "><menunode separator="::">Mask condition</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Normalization and Integration</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry></menu>
+
+<html endspaces=" ">
+<a name="mask"></a> <!&textndash; http://nco.sf.net/nco.html#mask &textndash;>
+<a name="msk"></a> <!&textndash; http://nco.sf.net/nco.html#msk &textndash;>
+<a name="-m"></a> <!&textndash; http://nco.sf.net/nco.html#-m &textndash;>
+</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="1567">mask condition</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1568">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).
+The value of~$\mskflg_{\idx}$ is always~1 unless a <var>mask\_var</var> is
+specified (with 
+<samp>-m</samp>).
+As noted above, <var>mask\_var</var> is broadcast, if possible, to conform 
+to the variable being averaged.  
+In this case, the value of~$\mskflg_{\idx}$ depends on the 
+<dfn>mask condition</dfn> also known as the <dfn>truth condition</dfn>.
+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="1569"><code>--op_rlt <var>mask_comp</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1570"><code>--mask_comparator <var>mask_comp</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1571"><code>--msk_cmp_typ <var>mask_comp</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1572"><code>--msk_cnd_sng <var>mask_cond</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1573"><code>--mask_condition <var>mask_cond</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1574"><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  
+the <samp>-B</samp> or <samp>--mask_condition</samp> switches.
+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.  
+<footnote><para>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>.</para></footnote>.
+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="1575">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>).  
+The truth <var>mask_comp</var> argument (specified with <samp>-T</samp>,
+<samp>--mask_comparator</samp>, <samp>--msk_cmp_typ</samp>, or <samp>--op_rlt</samp> may 
+be any one of the six arithmetic comparators: <kbd>eq</kbd>, <kbd>ne</kbd>,
+<kbd>gt</kbd>, <kbd>lt</kbd>, <kbd>ge</kbd>, <kbd>le</kbd>. 
+<set name="flg" line=" flg"></set>
+<tex endspaces=" ">
+These are the Fortran-style character abbreviations for the logical 
+comparisons $=$, $\neq$, $>$, $<$, $\ge$, $\le$. 
+<clear name="flg" line=" flg"></clear>
+</tex>
+These are the Fortran-style character abbreviations for the logical 
+comparisons <math>==</math>, <math>!=</math>, <math>></math>, <math><</math>, <math>>=</math>,
+<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="1576"><code>--mask-value <var>mask_val</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1577"><code>--mask_value <var>mask_val</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1578"><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>.
+Thus for the <var>i</var>&textrsquo;th element of the hyperslab to be averaged,
+the mask condition is 
+<set name="flg" line=" flg"></set>
+<tex endspaces=" ">
+{\it mask$_{\idx}$ mask\_comp mask\_val}.
+<clear name="flg" line=" flg"></clear>
+</tex>
+<math>mask(i)</math> <var>mask_comp</var> <var>mask_val</var>.
+<clear name="flg" line=" flg"></clear>
+</para>
+<tex endspaces=" ">
+Each~$\xxx_{\idx}$ is also associated with an additional
+weight~$\wgt_{\idx}$ whose value may be user-specified.
+The value of~$\wgt_{\idx}$ is identically~1 unless the user specifies a 
+weighting variable <var>weight</var> (with <samp>-w</samp>, <samp>--weight</samp>, or
+<samp>--wgt\_var</samp>). 
+In this case, the value of~$\wgt_{\idx}$ is determined by the
+<var>weight</var> variable in the <var>input-file</var>. 
+As noted above, <var>weight</var> is broadcast, if possible, to conform 
+to the variable being averaged.  
+
+$\tllnbr$ is the number of input elements $\xxx_{\idx}$ which actually
+contribute to output element $\xxx_{\jjj}$.
+$\tllnbr$ is also known as the <dfn>tally</dfn> and is defined as 
+$$
+\tllnbr = \sum_{\idx=1}^{\idx=\lmnnbr} \mssflg_{\idx} \mskflg_{\idx} 
+$$
+$\tllnbr$ is identical to the denominator of the generic averaging
+expression except for the omission of the weight $\wgt_{\idx}$.
+Thus $\tllnbr = \lmnnbr$ whenever no input points are missing values or
+are masked.  
+Whether an element contributes to the output, and thus increments
+$\tllnbr$ by one, has more to do with the above two criteria (missing
+value and masking) than with the numeric value of the element per se.
+For example, $\xxx_{\idx}=0.0$ does contribute to $\xxx_{\jjj}$
+(assuming the <code>_FillValue</code> attribute is not~0.0 and location
+$\idx$ is not masked). 
+The value $\xxx_{\idx}=0.0$ will not change the numerator of the generic 
+averaging expression, but it will change the denominator (unless its
+weight $\wgt_{\idx}=0.0$ as well).
+</tex>
+
+<html endspaces=" ">
+<a name="nrm"></a> <!&textndash; http://nco.sf.net/nco.html#nrm &textndash;>
+<a name="ntg"></a> <!&textndash; http://nco.sf.net/nco.html#ntg &textndash;>
+</html>
+</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="1579">normalization</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1580"><code>-N</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1581"><code>numerator</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1582">integration</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1583">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
+<samp>--numerator</samp>) prevents <command>ncwa</command> from dividing the weighted
+sum of the variable (the numerator in the averaging expression) by the
+weighted sum of the weights (the denominator in the averaging
+expression).   
+Thus <samp>-N</samp> tells <command>ncwa</command> to return just the numerator of the
+arithmetic expression defining the operation (<pxref label="Operation-Types"><xrefnodename>Operation Types</xrefnodename></pxref>). 
+</para>
+<para>With this normalization option, <command>ncwa</command> can integrate variables.
+Averages are first computed as sums, and then normalized to obtain the
+average. 
+The original sum (i.e., the numerator of the expression in
+<ref label="Operation-Types"><xrefnodename>Operation Types</xrefnodename></ref>) is output if default normalization is turned off
+(<w>with <samp>-N</samp></w>). 
+This sum is the integral (not the average) over the specified 
+(<w>with <samp>-a</samp></w>, or all, if none are specified) dimensions.
+The weighting variable, if specified (<w>with <samp>-w</samp></w>), plays the
+role of the differential increment and thus permits more sophisticated 
+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="1584">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 
+the integration command
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncwa -N -a lev -v lev -w lev_wgt in.nc foo.nc;ncks foo.nc
+</pre></example>
+
+<ignore>
+fxm TODO nco702
+As explained in @xref{Operation Types}, @command{ncwa} 
+ at emph{always averages} coordinate variables regardless of the arithmetic 
+operation type performed on the non-coordinate variables. 
+The single exception is shown in the above example.
+The @samp{-N} switch turns off normalization so variables which are to be
+averaged, including coordinate variables, are not normalized.
+This is equivalent to summation or integration.
+</ignore>
+
+<ignore>
+ at c NB: these masking features are deprecated
+The second normalization option tells @command{ncwa} to multiply the
+weighted average the variable (given by the averaging expression)
+by the @w{tally, @var{M}}.
+Thus this option is similar to integration---multiplying the mean value
+of a quantity by the number of gridpoints to which it applies.
+
+The third normalization option is equivalent to specifying the first two
+options simultaneously. 
+In other words this option causes @command{ncwa} to return 
+ at w{@var{M} times} the numerator of the generic averaging expression.  
+With these normalization options, @command{ncwa} can compute
+sophisticated averages (and integrals) from the command line.
+</ignore>
+
+<noindent></noindent>
+<html endspaces=" ">
+<a name="xmp_ncwa"></a> <!&textndash; http://nco.sf.net/nco.html#xmp_ncwa &textndash;>
+</html>
+<para>EXAMPLES
+</para>
+<para>Given file <file>85_0112.nc</file>:
+</para><example endspaces=" ">
+<pre xml:space="preserve">netcdf 85_0112 {
+dimensions:
+        lat = 64 ;
+        lev = 18 ;
+        lon = 128 ;
+        time = UNLIMITED ; // (12 currently)
+variables:
+        float lat(lat) ;
+        float lev(lev) ;
+        float lon(lon) ;
+        float time(time) ;
+        float scalar_var ;
+        float three_dmn_var(lat, lev, lon) ;
+        float two_dmn_var(lat, lev) ;
+        float mask(lat, lon) ;
+        float gw(lat) ;
+} 
+</pre></example>
+
+<para>Average all variables in <file>in.nc</file> over all dimensions and store
+results in <file>out.nc</file>:
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncwa in.nc out.nc
+</pre></example>
+<noindent></noindent>
+<para>All variables in <file>in.nc</file> are reduced to scalars in <file>out.nc</file> 
+since <command>ncwa</command> averages over all dimensions unless otherwise
+specified (with <samp>-a</samp>).
+</para>
+<para>Store the zonal (longitudinal) mean of <file>in.nc</file> in <file>out.nc</file>:
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncwa -a lon in.nc out1.nc
+ncwa -a lon -b in.nc out2.nc
+</pre></example>
+<noindent></noindent>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1585">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=" ">
+<pre xml:space="preserve">% ncks -C -H -v lon out1.nc
+lon = 135
+% ncks -C -H -v lon out2.nc
+lon[0] = 135
+</pre></example>
+<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="1586"><code>gw</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1587">Gaussian weights</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1588">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
+climate models.</para></footnote>: 
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncwa -w gw -a lat in.nc out.nc
+</pre></example>
+<noindent></noindent>
+<para>Here the tally is simply the size of <code>lat</code>, <w>or 64.</w>
+The sum of the Gaussian weights <w>is 2.0.</w>
+</para>
+<para>Compute the area mean over the tropical Pacific:
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncwa -w gw -a lat,lon -d lat,-20.,20. -d lon,120.,270. in.nc out.nc
+</pre></example>
+<noindent></noindent>
+<para>Here the tally is 
+<set name="flg" line=" flg"></set>
+<tex endspaces=" ">
+$64 \times 128 = 8192$.
+<clear name="flg" line=" flg"></clear>
+</tex>
+64 times 128 = 8192.
+<clear name="flg" line=" flg"></clear>
+</para>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1589"><code>ORO</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1590">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=" ">
+$ORO < 0.5$
+<clear name="flg" line=" flg"></clear>
+</tex>
+<var>ORO</var> < 0.5
+<clear name="flg" line=" flg"></clear>
+<footnote><para><code>ORO</code> stands for <dfn>Orography</dfn> in some climate models
+and in those models <math><var>ORO</var> < 0.5</math> selects ocean gridpoints.</para></footnote>: 
+</para><example endspaces=" ">
+<pre xml:space="preserve">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
+</pre></example>
+<noindent></noindent>
+<para>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>
+<footnote><para>Unfortunately the <samp>-B</samp> and <samp>--mask_condition</samp>
+options are unsupported on Windows (with the <acronym><acronymword>MVS</acronymword></acronym> compiler),
+which lacks a free, standard parser and lexer.</para></footnote>. 
+If in doubt, enclose the <var>mask_cond</var> within quotes since some
+of the comparators have special meanings to the shell.
+</para>
+<para>Assuming 70% of the gridpoints are maritime, then here the tally is
+<set name="flg" line=" flg"></set>
+<tex endspaces=" ">
+$0.70 \times 8192 \approx 5734$.
+<clear name="flg" line=" flg"></clear>
+</tex>
+0.70 times 8192 = 5734.
+<clear name="flg" line=" flg"></clear>
+</para>
+<para>Compute the global annual mean over the maritime tropical Pacific:
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncwa -B 'ORO < 0.5'      -w gw -a lat,lon,time \
+  -d lat,-20.0,20.0 -d lon,120.0,270.0 in.nc out.nc
+ncwa -m ORO -M 0.5 -T lt -w gw -a lat,lon,time \
+  -d lat,-20.0,20.0 -d lon,120.0,270.0 in.nc out.nc
+</pre></example>
+<para>Further examples will use the one-switch specification of
+<var>mask_cond</var>.  
+</para>
+<para>Determine the total area of the maritime tropical Pacific, assuming
+the variable <var>area</var> contains the area of each gridcell
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncwa -N -v area -B 'ORO < 0.5' -a lat,lon \
+  -d lat,-20.0,20.0 -d lon,120.0,270.0 in.nc out.nc
+</pre></example>
+<para>Weighting <var>area</var> (e.g., by <var>gw</var>) is not appropriate because
+<var>area</var> is <emph>already</emph> area-weighted by definition.
+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="1591">mask condition</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1592">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=" ">
+<pre xml:space="preserve"># Set masking variable and its scalar thresholds
+export msk_var='three_dmn_var_dbl' # Masking variable
+export thr_max='20' # Maximum allowed value
+export thr_min='10' # Minimum allowed value
+ncecat -O in.nc out.nc # Wrap out.nc in degenerate "record" dimension
+ncwa -O -a record -B "${msk_var} <= ${thr_max}" out.nc out.nc
+ncecat -O out.nc out.nc # Wrap out.nc in degenerate "record" dimension
+ncwa -O -a record -B "${msk_var} >= ${thr_min}" out.nc out.nc
+</pre></example>
+<para>After the first use of <command>ncwa</command>, <file>out.nc</file> contains
+<var>_FillValue</var> where <code>${msk_var} >= ${thr_max}</code>.
+The process is then repeated on the remaining data to filter out 
+points where <code>${msk_var} <= ${thr_min}</code>.
+The resulting <file>out.nc</file> contains valid data only
+where <math><var>thr_min</var> <= <var>msk_var</var> <= <var>thr_max</var></math>.
+</para>
+<html endspaces=" ">
+<a name="ctr"></a> <!&textndash; http://nco.sf.net/nco.html#ctr &textndash;>
+</html>
+</subsection>
+</section>
+</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="1593">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="1594">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&currency_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="1595">chocolate</indexterm></cindex>
+<para>Happy users have sent me a few gifts, though.
+This includes a box of imported chocolate.
+Mmm.
+Appreciation and gifts are definitely better than money.
+Naturally, I&textrsquo;m too lazy to split and send gifts to the other developers.
+However, unlike some <acronym><acronymword>NCO</acronymword></acronym> developers, I have a steady "real job".
+My intent is to split monetary donations among the active developers
+and to send them their shares via PayPal.</para></footnote>. 
+So you could be the third!
+</para>
+<html endspaces=" ">
+<a name="dvl"></a> <!&textndash; http://nco.sf.net/nco.html#dvl &textndash;>
+<a name="cnt"></a> <!&textndash; http://nco.sf.net/nco.html#cnt &textndash;>
+<a name="ppl"></a> <!&textndash; http://nco.sf.net/nco.html#ppl &textndash;>
+</html>
+<menu endspaces=" ">
+<menuentry leadingtext="* "><menunode separator="::">Contributors</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Proposals for Institutional Funding</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry></menu>
+
+<node name="Contributors" spaces=" "><nodename>Contributors</nodename><nodenext spaces=" ">Proposals for Institutional Funding</nodenext><nodeprev spaces=" ">Contributing</nodeprev><nodeup spaces=" ">Contributing</nodeup></node>
+<section spaces=" "><sectiontitle>Contributors</sectiontitle>
+<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="1596">Russ Rew</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1597">John Caron</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1598">Glenn Davis</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1599">Steve Emmerson</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1600">James Gallagher</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1601">Ed Hartnett</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1602">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, 
+John Caron,
+Glenn Davis, 
+Steve Emmerson, 
+James Gallagher, 
+Ed Hartnett, 
+and Dennis Heimbigner.
+In addition to their roles in maintaining the software stack on which
+<acronym><acronymword>NCO</acronymword></acronym> perches, Yertl-like, some of these gentlemen have advised
+or contributed to <acronym><acronymword>NCO</acronymword></acronym> specifically. That support is
+acknowledged separately below. 
+</para>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1603">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="1604">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-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,
+netCDF4 integration, external funding, project management, science
+research, releases. 
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1605">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>. 
+Type conversion for arithmetic.
+Migration to netCDF3 API.
+<command>ncap2</command> parser, lexer, <acronym><acronymword>GSL</acronymword></acronym>-support, <w>and I/O</w>.
+Multislabbing algorithm.
+Variable wildcarding.
+Numerous hacks.
+<command>ncap2</command> language.
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1606">Rorik Peterson</indexterm></cindex>
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">Rorik Peterson</itemformat></item>
+</tableterm><tableitem><para>Original autotool build support. 
+Long command-line options.
+Original UDUnits support.
+Debianization.
+Numerous bug-fixes.
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1607">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 (SWAMP).
+RPM support.
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1608">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="1609">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="1610">Russ Rew</indexterm></cindex>
+</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">Russ Rew</itemformat></item>
+</tableterm><tableitem><para>Advice on NCO structural algorithms
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1611">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="1612">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="1613">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="1614">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="1615">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="1616">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="1617">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="1618">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="1619">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="1620">Peter Campbell</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1621">Martin Dix</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1622">Mark Flanner</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1623">Markus Liebig</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1624">Keith Lindsay</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1625">Stu Muller</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1626">Mike Page</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1627">Martin Schmidt</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1628">Lori Sentman</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1629">Michael Schulz</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1630">Gary Strand</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1631">Andrew Wittenberg</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1632">George White</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1633">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, 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="1634">Daniel Baumann</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1635">Nick Bower</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1636">Luk Claes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1637">Barry deFreese</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1638">Aleksandar Jelenak</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1639">Francesco Lovergine</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1640">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="1641">Patrice Dumas</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1642">Ed Hill</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1643">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="1644">George Shapavalov</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1645">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="1646">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="1647">Alexander Hansen</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1648">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="1649">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="1650">Gavin Burris</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1651">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="1652">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="1653">Martin Otte</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1654">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="1655">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>
+<para>Please let me know if your name was omitted!
+</para>
+<html endspaces=" ">
+<a name="prp"></a> <!&textndash; http://nco.sf.net/nco.html#prp &textndash;>
+<a name="prp_sei"></a> <!&textndash; http://nco.sf.net/nco.html#prp_sei &textndash;>
+<a name="fnd"></a> <!&textndash; http://nco.sf.net/nco.html#fnd &textndash;>
+</html>
+<menu endspaces=" ">
+<menuentry leadingtext="* "><menunode separator="::  ">Proposals for Institutional Funding</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry></menu>
+
+</section>
+<node name="Proposals-for-Institutional-Funding" spaces=" "><nodename>Proposals for Institutional Funding</nodename><nodenext spaces="  "></nodenext><nodeprev spaces=" ">Contributors</nodeprev><nodeup spaces=" ">Contributing</nodeup></node>
+<section spaces=" "><sectiontitle>Proposals for Institutional Funding</sectiontitle>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1656">funding</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1657">proposals</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1658"><acronym><acronymword>NSF</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1659">server-side processing</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1660">Distributed Data Reduction & Analysis</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1661">Scientific Data Operators</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1662"><acronym><acronymword>DDRA</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1663">Server-Side Distributed Data Reduction & Analysis</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1664"><acronym><acronymword>SSDDRA</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1665"><acronym><acronymword>CCSM</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1666"><acronym><acronymword>IPCC</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1667"><acronym><acronymword>NSF</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1668"><acronym><acronymword>SDO</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1669"><acronym><acronymword>SEIII</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1670">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="1671">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> 
+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="1672"><acronym><acronymword>NASA</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1673"><acronym><acronymword>NRA</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1674"><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
+<acronym><acronymword>HDF</acronymword></acronym>-specific enhancements to <acronym><acronymword>NCO</acronymword></acronym>. 
+We plan to submit a proposal to the next suitable <acronym><acronymword>NASA</acronymword></acronym>
+<acronym><acronymword>NRA</acronymword></acronym> or <acronym><acronymword>NSF</acronymword></acronym> opportunity. 
+</para>
+<para>We are considering other interesting ideas for still more proposals.
+Please contact us if you wish to be involved with any future
+<acronym><acronymword>NCO</acronymword></acronym>-related proposals.  
+Comments on the proposals and letters of support are also very welcome.
+</para>
+<html endspaces=" ">
+<a name="quicksrt"></a> <!&textndash; http://nco.sf.net/nco.html#quicksrt &textndash;>
+</html>
+</section>
+</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="1675">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
+monthly data in either one file or multiple files. 
+</para>
+<menu endspaces=" ">
+<menuentry leadingtext="* "><menunode separator="::">Daily data in one file</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Monthly data in one file</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">One time point one file</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Multiple files with multiple time points</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry></menu>
+
+<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="1676">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="1677">monthly average</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1678">average</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1679">time-averaging</indexterm></cindex>
+</para><example endspaces=" ">
+<pre xml:space="preserve">for yyyy in {1990..2005}; do      # Loop over years
+  for moy in {1..12}; do          # Loop over months
+    mm=$( printf "%02d" ${moy} )  # Change to 2-digit format
+
+    # Average specific month yyyy-mm
+    ncra -O -d time,"${yyyy}-${mm}-01","${yyyy}-${mm}-31" \
+         in.nc in_${yyyy}${mm}.nc
+  done
+done
+
+# Concatenate monthly files together
+ncrcat -O in_??????.nc out.nc
+</pre></example>
+
+<noindent></noindent>
+<para><strong>Annual average:</strong>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1680">annual average from daily data</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1681">average</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1682">time-averaging</indexterm></cindex>
+</para><example endspaces=" ">
+<pre xml:space="preserve">for yyyy in {1990..2005}; do      # Loop over years
+  ncra -O -d time,"${yyyy}-01-01","${yyyy}-12-31" in.nc in_${yyyy}.nc
+done
+
+# Concatenate annual files together
+ncrcat -O in_????.nc out.nc
+</pre></example>
+<para>The <option>-O</option> switch means to overwrite the pre-existing files (<pxref label="Batch-Mode"><xrefnodename>Batch Mode</xrefnodename></pxref>).
+The <option>-d</option> option is to specify the range of hyperslabs (<pxref label="Hyperslabs"><xrefnodename>Hyperslabs</xrefnodename></pxref>).
+There are detailed instructions on <command>ncra</command> (<pxref label="ncra-netCDF-Record-Averager"><xrefnodename>ncra netCDF Record Averager</xrefnodename></pxref> and <command>ncrcat</command> (<pxref label="ncrcat-netCDF-Record-Concatenator"><xrefnodename>ncrcat netCDF Record Concatenator</xrefnodename></pxref>).
+<acronym><acronymword>NCO</acronymword></acronym> supports UDUnits so that we can use readable dates as time dimension (<pxref label="UDUnits-Support"><xrefnodename>UDUnits Support</xrefnodename></pxref>).
+</para>
+</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="1683">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="1684">seasonal average</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1685">average</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1686">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="1687">annual average from monthly data</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1688">average</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1689">time-averaging</indexterm></cindex>
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncra -O --mro -d time,,,12,12 in.nc out.nc
+</pre></example>
+<para>Here we use the subcycle feature (i.e., the number after the fourth comma: <samp>3</samp> in the seasonal example and the second <samp>12</samp> in the annual example) 
+to retrieve groups of records separated by regular intervals (<pxref label="Subcycle"><xrefnodename>Subcycle</xrefnodename></pxref>).
+The option <option>--mro</option> switches <command>ncra</command> to produce a Multi-Record Output instead of a single-record output.
+For example, assume <var>snd</var> is a 3D array with dimensions <code>time</code> * <code>latitude</code> * <code>longitude</code> 
+and <code>time</code> includes every month from Jan. 1990 to Dec. 2005, 192 months as total, which are 16 years.
+Let&textrsquo;s look at the following two command lines.
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncra --mro -v snd -d time,"1990-12-01",,12,3 in.nc out_mro.nc
+ncra -v snd -d time,"1990-12-01",,12,3 in.nc out_sro.nc
+</pre></example>
+<para>In the first output file, <file>out_mro.nc</file>, <var>snd</var> is still a 3D array with dimensions <code>time</code> * <code>latitude</code> * <code>longitude</code>,
+but the length of <code>time</code> now is 16, meaning 16 winters.
+In the second output file, <file>out_sro.nc</file>, the length of <code>time</code> is <w>only 1</w>.
+It is now the average of all the 16 winters.
+</para>
+<para>when using <samp>-d <var>dim</var>,min[,max]</samp> to specify the hyperslabs,
+you can leave it blank if you want to include the minimum or the maximum of the data, like we did above.
+</para>
+</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="1690">daily data</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1691">monthly data</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1692">average</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1693">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.
+For example, your daily data files may look like <file>snd_19900101.nc</file>, <file>snd_19900102.nc</file>, <file>snd_19900103.nc</file> ...
+If you want to know the monthly average of Jan 1990, you can write like,
+</para><example endspaces=" ">
+<pre xml:space="preserve">ncra -O snd_199001??.nc out.nc
+</pre></example>
+<para>You might want to use loop if you need the average of each month.
+</para><example endspaces=" ">
+<pre xml:space="preserve">for moy in {1..12}; do          # Loop over months
+  mm=$( printf "%02d" ${moy} )  # Change to 2-digit format
+
+  ncra -O snd_????${mm}??.nc out_${mm}.nc
+done
+</pre></example>
+
+</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="1694">daily data</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1695">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.
+And for seasonal averages, you can specify the three months by shell scripts.
+</para>
+<html endspaces=" ">
+<a name="cmip5"></a> <!&textndash; http://nco.sf.net/nco.html#cmip5 &textndash;>
+</html>
+</section>
+</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="1696"><acronym><acronymword>CMIP5</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.
+</ignore>
+
+<para>The fifth phase of the Coupled Model Intercomparison Project 
+(<uref><urefurl>http://cmip-pcmdi.llnl.gov/cmip5/index.html?submenuheader=0</urefurl><urefdesc spaces=" "><acronym><acronymword>CMIP5</acronymword></acronym></urefdesc></uref>) 
+provides a multi-model framework for comparing the mechanisms and
+responses of climate models from around the world.   
+However, it is a tremendous workload to retrieve a single climate
+statistic from all these models, each of which includes several ensemble 
+members.  
+Not only that, it is too often a repetitive process which impedes new
+research and hypothesis testing.  
+Our <acronym><acronymword>NASA</acronymword></acronym> <acronym><acronymword>ACCESS</acronymword></acronym> project is designed to simplify and
+accelerate this process.  
+To begin, we document below a prototypical example of <acronym><acronymword>CMIP5</acronymword></acronym>
+analysis and evaluation using traditional <acronym><acronymword>NCO</acronymword></acronym> commands on
+netCDF3-format model and <acronym><acronymword>HDF-EOS</acronymword></acronym> format observational
+(<acronym><acronymword>NASA</acronymword></acronym> <acronym><acronymword>MODIS</acronymword></acronym> satellite instrument) datasets.
+These examples complement the <acronym><acronymword>NCO</acronymword></acronym> User Guide by detailing
+in-depth data analysis in a frequently encountered &textldquo;real world&textrdquo;
+context.   
+Graphical representations of the results (<acronym><acronymword>NCL</acronymword></acronym> scripts
+available upon request) are provided to illustrate physical meaning of
+the analysis.
+<ignore>
+In 2013 we added scripts which make use of new @acronym{NCO} features
+that combine all the loops in the analysis into single commands by
+exploiting @acronym{NCO}'s new group aggregation and arithmetic
+features.   
+</ignore>
+Since <acronym><acronymword>NCO</acronymword></acronym> can process hierarchical datasets, i.e., datasets
+stored with netCDF4 groups, we present sample scripts illustrating
+group-based processing as well. 
+</para>
+<menu endspaces=" ">
+<menuentry leadingtext="* "><menunode separator="::">Combine Files</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Global Distribution of Long-term Average</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Annual Average over Regions</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Monthly Cycle</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Regrid MODIS Data</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Add Coordinates to MODIS Data</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode separator="::">Permute MODIS Coordinates</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry></menu>
+
+<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="1697">file combination</indexterm></cindex>
+<para>Sometimes, the data of one ensemble member will be stored in several
+files to reduce single file size.
+But it is not convenient to process in a batch mode.
+The following script illustrates how to concatenate these files into one.
+Key steps include: 
+</para><enumerate first="1" endspaces=" ">
+<listitem spaces=" "><para>Obtain number and names (or partial names) of files in a directory
+</para></listitem><listitem spaces=" "><para>Concatenate files along the record dimension (usually time) using 
+<command>ncrcat</command> (<pxref label="ncrcat-netCDF-Record-Concatenator"><xrefnodename>ncrcat netCDF Record Concatenator</xrefnodename></pxref>).
+</para></listitem></enumerate>
+<example endspaces=" ">
+<verbatiminclude file="xmp/cmb_fl.sh" spaces=" ">xmp/cmb_fl.sh</verbatiminclude>
+</example>
+
+<para>Right now, <acronym><acronymword>CMIP5</acronymword></acronym> model data downloaded from Earth System Grid
+Federation (<uref><urefurl>http://pcmdi9.llnl.gov/esgf-web-fe/</urefurl><urefdesc spaces=" "><acronym><acronymword>ESGF</acronymword></acronym></urefdesc></uref>) 
+will not contain <key>group</key> features yet. 
+Therefore users can aggregate the flat files into groups themselves.
+The following script shows how to aggregate models to one file.
+Each dataset becomes a group in the output file.
+There can be several levels of groups.
+In this example, we employ two experiments as the top-level.
+The second-level comprises different models.
+Some models have more than one ensemble member.
+These ensemble members are on the third level.
+In each sub-group of ensemble members, we appended two variables,
+<var>snc</var> and <var>snd</var> (these stand for snow cover and snow depth, by
+the way).
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1698"><option>--gag</option></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1699">aggregation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1700">group aggregation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1701">groups, creating</indexterm></cindex>
+</para><example endspaces=" ">
+<verbatiminclude file="xmp/cmb_fl_grp.sh" spaces=" ">xmp/cmb_fl_grp.sh</verbatiminclude>
+</example>
+
+</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="1702">spatial distribution</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1703">long-term average</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1704">average</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1705">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>
+</float>
+<noindent></noindent>
+<para>This section illustrates how to calculate the global distribution of
+long-term average (<pxref label="fgr_003aglb"><xrefnodename>fgr:glb</xrefnodename></pxref>) with either flat files or 
+<uref><urefurl>http://nco.sourceforge.net/nco.html#index-groups</urefurl><urefdesc spaces=" ">group file</urefdesc></uref>.
+Key steps include: 
+</para><enumerate first="1" endspaces=" ">
+<listitem spaces=" "><para>Average ensemble members of each model using <command>nces</command> (<pxref label="nces-netCDF-Ensemble-Statistics"><xrefnodename>nces netCDF Ensemble Statistics</xrefnodename></pxref>)
+</para></listitem><listitem spaces=" "><para>Average the record dimension using <command>ncra</command> (<pxref label="ncra-netCDF-Record-Averager"><xrefnodename>ncra netCDF Record Averager</xrefnodename></pxref>)
+</para></listitem><listitem spaces=" "><para>Store results of each model as a distinct group in a single output file using <command>ncecat</command> (<pxref label="ncrcat-netCDF-Record-Concatenator"><xrefnodename>ncrcat netCDF Record Concatenator</xrefnodename></pxref>) with the <option>--gag</option> option
+</para></listitem></enumerate>
+<para>The first example shows how to process flat files.
+</para><example endspaces=" ">
+<verbatiminclude file="xmp/glb_avg.sh" spaces=" ">xmp/glb_avg.sh</verbatiminclude>
+</example>
+
+<para>With the use of <key>group</key>, the above script
+will be shortened to just <w>TWO LINES</w>.
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1706">groups, averaging</indexterm></cindex>
+<ignore>
+Isn't it amazing or what?!
+</ignore>
+</para><example endspaces=" ">
+<pre xml:space="preserve"># Data from cmb_fl_grp.sh
+# ensemble averaging
+nces -O --nsm_grp --nsm_sfx='_avg' \
+sn_LImon_all-mdl_all-xpt_all-nsm_200001-200512.nc \
+  sn_LImon_all-mdl_all-xpt_nsm-avg.nc
+ncra -O -g 'avg$' sn_LImon_all-mdl_all-xpt_nsm-avg.nc \
+  sn_LImon_all-mdl_all-xpt_nsm-avg_tm-avg.nc
+</pre></example>
+<para>The input file, <file>sn_LImon_all-mdl_all-xpt_all-nsm_200001-200512.nc</file>, produced by <file>cmb_fl_grp.sh</file>, 
+includes all the ensemble members as groups.
+The option <samp>--nsm_grp</samp> denotes 
+that we are using <uref><urefurl>http://nco.sf.net/nco.html#nsm_grp</urefurl><urefdesc spaces=" ">group ensembles mode</urefdesc></uref> of <command>nces</command>,
+instead of <uref><urefurl>http://nco.sf.net/nco.html#nsm_fl</urefurl><urefdesc spaces=" ">file ensembles mode</urefdesc></uref>, <samp>--nsm_fl</samp>.
+The option <samp>--nsm_sfx='_avg'</samp> instructs <command>nces</command> 
+to store the output as a new child group <file>/[model]/[model name]_avg</file>,
+instead of in the parent group <file>/[model]</file>. 
+In the final output file, <file>sn_LImon_all-mdl_all-xpt_nsm-avg_tm-avg.nc</file>, 
+sub-groups with a suffix of &textlsquo;avg&textrsquo; are the long-term averages of each model.
+Here, <samp>-g 'avg$'</samp> is used to retrieve groups having &textrsquo;avg&textrsquo; at the end of their names,
+i.e., the long-term average groups.
+</para>
+</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="1707">annual average</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="1710">area-averaging</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1711">dimension order</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1712">anomalies</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1713">standard deviation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1714">renaming variables</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1715">attributes, editing</indexterm></cindex>
+<cindex index="cp" spaces="	"><indexterm index="cp" number="1716">attributes, modifying</indexterm></cindex>
+<cindex index="cp" spaces="	"><indexterm index="cp" number="1717">attributes, overwriting</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1718">regression</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1719">nco script file</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1720">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>
+</float>
+<noindent></noindent>
+<para>This section illustrates how to calculate the annual average over
+specific regions (<pxref label="fgr_003aanl"><xrefnodename>fgr:anl</xrefnodename></pxref>).
+Key steps include: 
+</para><enumerate first="1" endspaces=" ">
+<listitem spaces=" "><para>Spatial average using <command>ncap2</command> (<pxref label="ncap2-netCDF-Arithmetic-Processor"><xrefnodename>ncap2 netCDF Arithmetic Processor</xrefnodename></pxref>) and <command>ncwa</command> (<pxref label="ncwa-netCDF-Weighted-Averager"><xrefnodename>ncwa netCDF Weighted Averager</xrefnodename></pxref>); 
+</para></listitem><listitem spaces=" "><para>Change dimension order using <command>ncpdq</command> (<pxref label="ncpdq-netCDF-Permute-Dimensions-Quickly"><xrefnodename>ncpdq netCDF Permute Dimensions Quickly</xrefnodename></pxref>);
+</para></listitem><listitem spaces=" "><para>Annual average using <command>ncra</command> (<pxref label="ncra-netCDF-Record-Averager"><xrefnodename>ncra netCDF Record Averager</xrefnodename></pxref>);
+</para></listitem><listitem spaces=" "><para>Anomaly from long-term average using <command>ncbo</command> (<pxref label="ncbo-netCDF-Binary-Operator"><xrefnodename>ncbo netCDF Binary Operator</xrefnodename></pxref>);
+</para></listitem><listitem spaces=" "><para>Standard deviation using <command>ncbo</command> (<pxref label="ncbo-netCDF-Binary-Operator"><xrefnodename>ncbo netCDF Binary Operator</xrefnodename></pxref>) and <command>nces</command> (<pxref label="nces-netCDF-Ensemble-Statistics"><xrefnodename>nces netCDF Ensemble Statistics</xrefnodename></pxref>);
+</para></listitem><listitem spaces=" "><para>Rename variables using <command>ncrename</command> (<pxref label="ncrename-netCDF-Renamer"><xrefnodename>ncrename netCDF Renamer</xrefnodename></pxref>);
+</para></listitem><listitem spaces=" "><para>Edit attributions using <command>ncatted</command> (<pxref label="ncatted-netCDF-Attribute-Editor"><xrefnodename>ncatted netCDF Attribute Editor</xrefnodename></pxref>);
+</para></listitem><listitem spaces=" "><para>Linear regression using <command>ncap2</command> (<pxref label="ncap2-netCDF-Arithmetic-Processor"><xrefnodename>ncap2 netCDF Arithmetic Processor</xrefnodename></pxref>);
+</para></listitem><listitem spaces=" "><para>Use <command>ncap2</command> (<pxref label="ncap2-netCDF-Arithmetic-Processor"><xrefnodename>ncap2 netCDF Arithmetic Processor</xrefnodename></pxref>) with nco script file (i.e., <file>.nco</file> file);
+</para></listitem><listitem spaces=" "><para>Move variables around using <command>ncks</command> (<pxref label="ncks-netCDF-Kitchen-Sink"><xrefnodename>ncks netCDF Kitchen Sink</xrefnodename></pxref>).
+</para></listitem></enumerate>
+<para><strong>Flat files example</strong>
+</para><example endspaces=" ">
+<verbatiminclude file="xmp/ann_avg.sh" spaces=" ">xmp/ann_avg.sh</verbatiminclude>
+</example>
+<para><strong>gsl_rgr.nco</strong>
+</para><example endspaces=" ">
+<verbatiminclude file="xmp/gsl_rgr.nco" spaces=" ">xmp/gsl_rgr.nco</verbatiminclude>
+</example>
+
+<para>With the <key>group</key> feature, 
+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="1721">group, spatial averaging</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1722">group, temporal averaging</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1723">group, anomaly</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1724">group, standard deviation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1725">group, aggregation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1726">group, dimension permutation</indexterm></cindex>
+</para><example endspaces=" ">
+<verbatiminclude file="xmp/ann_avg_grp.sh" spaces=" ">xmp/ann_avg_grp.sh</verbatiminclude>
+</example>
+
+</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="1727">monthly average</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1728">average</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1729">time-averaging</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1730">anomalies</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1731">geographical weight</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1732">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>
+</float>
+<noindent></noindent>
+<para>This script illustrates how to calculate the monthly anomaly from the
+annual average (<pxref label="fgr_003amon"><xrefnodename>fgr:mon</xrefnodename></pxref>). 
+In order to keep only the monthly cycle,
+we will subtract the annual average of each year from the monthly data,
+instead of subtracting the long-term average.
+This is a little more complicated in coding since we need to loop over years. 
+</para>
+<para><strong>Flat files example</strong>
+</para><example endspaces=" ">
+<verbatiminclude file="xmp/mcc.sh" spaces=" ">xmp/mcc.sh</verbatiminclude>
+</example>
+<para>Using <key>group</key> feature and <uref><urefurl>http://nco.sourceforge.net/nco.html#Hyperslabs</urefurl><urefdesc spaces=" ">hyperslabs</urefdesc></uref> of <command>ncbo</command>,
+the script will be shortened.
+</para><example endspaces=" ">
+<verbatiminclude file="xmp/mcc_grp.sh" spaces=" ">xmp/mcc_grp.sh</verbatiminclude>
+</example>
+
+</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="1733">regrid</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1734">MODIS</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1735">bilinear interpolation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1736">interpolation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1737">renaming variables</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1738">renaming attributes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1739">renaming dimensions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1740">attributes, editing</indexterm></cindex>
+<cindex index="cp" spaces="	"><indexterm index="cp" number="1741">attributes, modifying</indexterm></cindex>
+<cindex index="cp" spaces="	"><indexterm index="cp" number="1742">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. 
+Here, the script illustrates how to regrid <acronym><acronymword>MODIS</acronymword></acronym> data.
+Key steps include:
+</para><enumerate first="1" endspaces=" ">
+<listitem spaces=" "><para>Regrid using bilinear interpolation (<pxref label="Bilinear-interpolation"><xrefnodename>Bilinear interpolation</xrefnodename></pxref>)
+</para></listitem><listitem spaces=" "><para>Rename variables, dimensions and attributions using <command>ncrename</command> (<pxref label="ncrename-netCDF-Renamer"><xrefnodename>ncrename netCDF Renamer</xrefnodename></pxref>).
+</para></listitem></enumerate>
+<para><strong>Main Script</strong>
+</para><example endspaces=" ">
+<verbatiminclude file="xmp/rgr.sh" spaces=" ">xmp/rgr.sh</verbatiminclude>
+</example>
+<para><strong>bi_interp.nco</strong>
+</para><example endspaces=" ">
+<verbatiminclude file="xmp/bi_interp.nco" spaces=" ">xmp/bi_interp.nco</verbatiminclude>
+</example>
+
+</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="1743">MODIS</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1744">coordinates</indexterm></cindex>
+<para><strong>Main Script</strong>
+</para><example endspaces=" ">
+<verbatiminclude file="xmp/add_crd.sh" spaces=" ">xmp/add_crd.sh</verbatiminclude>
+</example>
+<para><strong>crd.nco</strong>
+</para><example endspaces=" ">
+<verbatiminclude file="xmp/crd.nco" spaces=" ">xmp/crd.nco</verbatiminclude>
+</example>
+
+</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="1745">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
+180°E.   
+However, <acronym><acronymword>CMIP5</acronymword></acronym> orders latitude from -90°N to
+90°N, and longitude from 0°E to
+360°E.  
+This script changes the <acronym><acronymword>MODIS</acronymword></acronym> coordinates to follow the
+<acronym><acronymword>CMIP5</acronymword></acronym> convention.
+</para><example endspaces=" ">
+<verbatiminclude file="xmp/pmt_crd.sh" spaces=" ">xmp/pmt_crd.sh</verbatiminclude>
+</example>
+
+<ignore>
+ at node Hierarchical Data Files, Parallel, CMIP5 Example, Top
+section Hierarchical Data Files
+ at cindex hierarchical data
+ at cindex groups
+Hierarchical Data Files support arbitrarily nested groups.
+The following @acronym{NCO} operators now can work recursively through all groups:
+ at itemize @bullet
+ at item @command{ncbo} (@pxref{ncbo netCDF Binary Operator})
+ at item @command{ncecat} (@pxref{ncecat netCDF Ensemble Concatenator})
+ at item @command{ncks} (@pxref{ncks netCDF Kitchen Sink})
+ at item @command{ncpdq} (@pxref{ncpdq netCDF Permute Dimensions Quickly})
+ at item @command{ncwa} (@pxref{ncwa netCDF Weighted Averager})
+ at end itemize
+Here is an example showing:
+ at enumerate
+ at item How to create a hierarchical data file from multiple files using @command{ncecat} (@pxref{ncecat netCDF Ensemble Concatenator}) or @command{ncks} (@pxref{ncks netCDF Kitchen Sink});
+ at item Hyperslabs using @command{ncks} (@pxref{ncks netCDF Kitchen Sink});
+ at item Spatial average and time average using @command{ncwa} (@pxref{ncwa netCDF Weighted Averager});
+ at item Anomaly from average using @command{ncbo} (@pxref{ncbo netCDF Binary Operator}).
+ at end enumerate
+ at example
+ at verbatiminclude xmp/grp.sh
+ at end example
+</ignore>
+
+<html endspaces=" ">
+<a name="parallel"></a> <!&textndash; http://nco.sf.net/nco.html#parallel &textndash;>
+</html>
+</section>
+</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="1746"><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=" ">
+<pre xml:space="preserve">ls *historical*.nc | parallel ncks -O -d time,"1950-01-01","2000-01-01" {} 50y/{}
+</pre></example>
+
+<html endspaces=" ">
+<a name="ccsm"></a> <!&textndash; http://nco.sf.net/nco.html#ccsm &textndash;>
+</html>
+</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="1747">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.
+</para><example endspaces=" ">
+<pre xml:space="preserve">************************************************************************
+Task 0: Finding input files
+************************************************************************
+The CCSM model outputs files to a local directory like:
+
+/ptmp/zender/archive/T42x1_40
+
+Each component model has its own subdirectory, e.g., 
+
+/ptmp/zender/archive/T42x1_40/atm
+/ptmp/zender/archive/T42x1_40/cpl
+/ptmp/zender/archive/T42x1_40/ice
+/ptmp/zender/archive/T42x1_40/lnd
+/ptmp/zender/archive/T42x1_40/ocn
+
+within which model output is tagged with the particular model name
+
+/ptmp/zender/archive/T42x1_40/atm/T42x1_40.cam2.h0.0001-01.nc
+/ptmp/zender/archive/T42x1_40/atm/T42x1_40.cam2.h0.0001-02.nc
+/ptmp/zender/archive/T42x1_40/atm/T42x1_40.cam2.h0.0001-03.nc
+...
+/ptmp/zender/archive/T42x1_40/atm/T42x1_40.cam2.h0.0001-12.nc
+/ptmp/zender/archive/T42x1_40/atm/T42x1_40.cam2.h0.0002-01.nc
+/ptmp/zender/archive/T42x1_40/atm/T42x1_40.cam2.h0.0002-02.nc
+...
+
+or 
+
+/ptmp/zender/archive/T42x1_40/lnd/T42x1_40.clm2.h0.0001-01.nc
+/ptmp/zender/archive/T42x1_40/lnd/T42x1_40.clm2.h0.0001-02.nc
+/ptmp/zender/archive/T42x1_40/lnd/T42x1_40.clm2.h0.0001-03.nc
+...
+
+************************************************************************
+Task 1: Regional processing
+************************************************************************
+The first task in data processing is often creating seasonal cycles.
+Imagine a 100-year simulation with its 1200 monthly mean files.
+Our goal is to create a single file containing 12 months of data.
+Each month in the output file is the mean of 100 input files.
+
+Normally, we store the "reduced" data in a smaller, local directory.
+
+caseid='T42x1_40'
+#drc_in="${DATA}/archive/${caseid}/atm"
+drc_in="${DATA}/${caseid}"
+drc_out="${DATA}/${caseid}"
+mkdir -p ${drc_out}
+cd ${drc_out}
+
+Method 1: Assume all data in directory applies
+for mth in {1..12}; do
+  mm=`printf "%02d" $mth`
+  ncra -O -D 1 -o ${drc_out}/${caseid}_clm${mm}.nc \
+    ${drc_in}/${caseid}.cam2.h0.*-${mm}.nc 
+done # end loop over mth
+
+Method 2: Use shell 'globbing' to construct input filenames
+for mth in {1..12}; do
+  mm=`printf "%02d" $mth`
+  ncra -O -D 1 -o ${drc_out}/${caseid}_clm${mm}.nc \
+    ${drc_in}/${caseid}.cam2.h0.00??-${mm}.nc \
+    ${drc_in}/${caseid}.cam2.h0.0100-${mm}.nc
+done # end loop over mth
+
+Method 3: Construct input filename list explicitly
+for mth in {1..12}; do
+  mm=`printf "%02d" $mth`
+  fl_lst_in=''
+  for yr in {1..100}; do
+    yyyy=`printf "%04d" $yr`
+    fl_in=${caseid}.cam2.h0.${yyyy}-${mm}.nc
+    fl_lst_in="${fl_lst_in} ${caseid}.cam2.h0.${yyyy}-${mm}.nc"
+  done # end loop over yr
+  ncra -O -D 1 -o ${drc_out}/${caseid}_clm${mm}.nc -p ${drc_in} \
+    ${fl_lst_in}
+done # end loop over mth
+
+Make sure the output file averages correct input files!
+ncks -M prints global metadata: 
+
+  ncks -M ${drc_out}/${caseid}_clm01.nc
+
+The input files ncra used to create the climatological monthly mean
+will appear in the global attribute named 'history'.
+
+Use ncrcat to aggregate the climatological monthly means
+
+  ncrcat -O -D 1 \
+    ${drc_out}/${caseid}_clm??.nc ${drc_out}/${caseid}_clm_0112.nc
+
+Finally, create climatological means for reference.
+The climatological time-mean:
+
+  ncra -O -D 1 \
+    ${drc_out}/${caseid}_clm_0112.nc ${drc_out}/${caseid}_clm.nc
+
+The climatological zonal-mean:
+
+  ncwa -O -D 1 -a lon \
+    ${drc_out}/${caseid}_clm.nc ${drc_out}/${caseid}_clm_x.nc
+
+The climatological time- and spatial-mean:
+
+  ncwa -O -D 1 -a lon,lat,time -w gw \
+    ${drc_out}/${caseid}_clm.nc ${drc_out}/${caseid}_clm_xyt.nc
+
+This file contains only scalars, e.g., "global mean temperature",
+used for summarizing global results of a climate experiment.
+
+Climatological monthly anomalies = Annual Cycle: 
+Subtract climatological mean from climatological monthly means. 
+Result is annual cycle, i.e., climate-mean has been removed.
+
+  ncbo -O -D 1 -o ${drc_out}/${caseid}_clm_0112_anm.nc \
+    ${drc_out}/${caseid}_clm_0112.nc ${drc_out}/${caseid}_clm_xyt.nc
+
+************************************************************************
+Task 2: Correcting monthly averages
+************************************************************************
+The previous step appoximates all months as being equal, so, e.g.,
+February weighs slightly too much in the climatological mean.
+This approximation can be removed by weighting months appropriately.
+We must add the number of days per month to the monthly mean files.
+First, create a shell variable dpm:
+
+unset dpm # Days per month
+declare -a dpm
+dpm=(0 31 28.25 31 30 31 30 31 31 30 31 30 31) # Allows 1-based indexing
+
+Method 1: Create dpm directly in climatological monthly means
+for mth in {1..12}; do
+  mm=`printf "%02d" ${mth}`
+  ncap2 -O -s "dpm=0.0*date+${dpm[${mth}]}" \
+    ${drc_out}/${caseid}_clm${mm}.nc ${drc_out}/${caseid}_clm${mm}.nc
+done # end loop over mth
+
+Method 2: Create dpm by aggregating small files
+for mth in {1..12}; do
+  mm=`printf "%02d" ${mth}`
+  ncap2 -O -v -s "dpm=${dpm[${mth}]}" ~/nco/data/in.nc \
+    ${drc_out}/foo_${mm}.nc
+done # end loop over mth
+ncecat -O -D 1 -p ${drc_out} -n 12,2,2 foo_${mm}.nc foo.nc
+ncrename -O -D 1 -d record,time ${drc_out}/foo.nc
+ncatted -O -h \
+  -a long_name,dpm,o,c,"Days per month" \
+  -a units,dpm,o,c,"days" \
+  ${drc_out}/${caseid}_clm_0112.nc
+ncks -A -v dpm ${drc_out}/foo.nc ${drc_out}/${caseid}_clm_0112.nc
+
+Method 3: Create small netCDF file using ncgen
+cat > foo.cdl << 'EOF'
+netcdf foo { 
+dimensions:
+	time=unlimited;
+variables:
+	float dpm(time);
+	dpm:long_name="Days per month";
+	dpm:units="days";
+data:
+	dpm=31,28.25,31,30,31,30,31,31,30,31,30,31;
+}
+EOF
+ncgen -b -o foo.nc foo.cdl
+ncks -A -v dpm ${drc_out}/foo.nc ${drc_out}/${caseid}_clm_0112.nc
+
+Another way to get correct monthly weighting is to average daily
+output files, if available.  
+
+************************************************************************
+Task 3: Regional processing
+************************************************************************
+Let's say you are interested in examining the California region.
+Hyperslab your dataset to isolate the appropriate latitude/longitudes.
+
+ncks -O -D 1 -d lat,30.0,37.0 -d lon,240.0,270.0 \ 
+    ${drc_out}/${caseid}_clm_0112.nc \
+    ${drc_out}/${caseid}_clm_0112_Cal.nc
+
+The dataset is now much smaller!
+To examine particular metrics.
+
+************************************************************************
+Task 4: Accessing data stored remotely
+************************************************************************
+OPeNDAP server examples:
+
+UCI DAP servers:
+ncks -M -p http://dust.ess.uci.edu/cgi-bin/dods/nph-dods/dodsdata in.nc
+ncrcat -O -C -D 3 \
+  -p http://dust.ess.uci.edu/cgi-bin/dods/nph-dods/dodsdata \
+  -l /tmp in.nc in.nc ~/foo.nc
+
+Unidata DAP servers:
+ncks -M -p http://thredds-test.ucar.edu/thredds/dodsC/testdods in.nc
+ncrcat -O -C -D 3 \
+  -p http://thredds-test.ucar.edu/thredds/dodsC/testdods \
+  -l /tmp in.nc in.nc ~/foo.nc
+
+NOAA DAP servers:
+ncwa -O -C -a lat,lon,time -d lon,-10.,10. -d lat,-10.,10. -l /tmp -p \
+http://www.esrl.noaa.gov/psd/thredds/dodsC/Datasets/ncep.reanalysis.dailyavgs/surface \
+pres.sfc.1969.nc ~/foo.nc
+
+LLNL PCMDI IPCC OPeNDAP Data Portal: 
+ncks -M -p http://username:password&arobase;esgcet.llnl.gov/cgi-bin/dap-cgi.py/ipcc4/sresa1b/ncar_ccsm3_0 pcmdi.ipcc4.ncar_ccsm3_0.sresa1b.run1.atm.mo.xml
+
+Earth System Grid (ESG): http://www.earthsystemgrid.org
+
+caseid='b30.025.ES01' 
+CCSM3.0 1% increasing CO2 run, T42_gx1v3, 200 years starting in year 400
+Atmospheric post-processed data, monthly averages, e.g.,
+/data/zender/tmp/b30.025.ES01.cam2.h0.TREFHT.0400-01_cat_0449-12.nc
+/data/zender/tmp/b30.025.ES01.cam2.h0.TREFHT.0400-01_cat_0599-12.nc
+
+ESG supports password-protected FTP access by registered users
+NCO uses the .netrc file, if present, for password-protected FTP access 
+Syntax for accessing single file is, e.g.,
+ncks -O -D 3 \
+  -p ftp://climate.llnl.gov/sresa1b/atm/mo/tas/ncar_ccsm3_0/run1 \
+  -l /tmp tas_A1.SRESA1B_1.CCSM.atmm.2000-01_cat_2099-12.nc ~/foo.nc 
+
+# Average surface air temperature tas for SRESA1B scenario
+# This loop is illustrative and will not work until NCO correctly
+# translates '*' to FTP 'mget' all remote files
+for var in 'tas'; do
+for scn in 'sresa1b'; do
+for mdl in 'cccma_cgcm3_1 cccma_cgcm3_1_t63 cnrm_cm3 csiro_mk3_0 \
+gfdl_cm2_0 gfdl_cm2_1 giss_aom giss_model_e_h giss_model_e_r \
+iap_fgoals1_0_g inmcm3_0 ipsl_cm4 miroc3_2_hires miroc3_2_medres \
+miub_echo_g mpi_echam5 mri_cgcm2_3_2a ncar_ccsm3_0 ncar_pcm1 \
+ukmo_hadcm3 ukmo_hadgem1'; do
+for run in '1'; do
+        ncks -R -O -D 3 -p ftp://climate.llnl.gov/${scn}/atm/mo/${var}/${mdl}/run${run} -l ${DATA}/${scn}/atm/mo/${var}/${mdl}/run${run} '*' ${scn}_${mdl}_${run}_${var}_${yyyymm}_${yyyymm}.nc
+done # end loop over run
+done # end loop over mdl
+done # end loop over scn
+done # end loop over var
+
+cd sresa1b/atm/mo/tas/ukmo_hadcm3/run1/
+ncks -H -m -v lat,lon,lat_bnds,lon_bnds -M tas_A1.nc | m
+bds -x 096 -y 073 -m 33 -o ${DATA}/data/dst_3.75x2.5.nc # ukmo_hadcm3
+ncview ${DATA}/data/dst_3.75x2.5.nc
+
+# msk_rgn is California mask on ukmo_hadcm3 grid
+# area is correct area weight on ukmo_hadcm3 grid
+ncks -A -v area,msk_rgn ${DATA}/data/dst_3.75x2.5.nc \
+${DATA}/sresa1b/atm/mo/tas/ukmo_hadcm3/run1/area_msk_ukmo_hadcm3.nc 
+
+Template for standardized data:
+${scn}_${mdl}_${run}_${var}_${yyyymm}_${yyyymm}.nc
+
+e.g., raw data
+${DATA}/sresa1b/atm/mo/tas/ukmo_hadcm3/run1/tas_A1.nc
+becomes standardized data
+
+Level 0: raw from IPCC site--no changes except for name 
+         Make symbolic link name match raw data
+Template: ${scn}_${mdl}_${run}_${var}_${yyyymm}_${yyyymm}.nc
+
+ln -s -f tas_A1.nc sresa1b_ukmo_hadcm3_run1_tas_200101_209911.nc
+area_msk_ukmo_hadcm3.nc
+
+Level I: Add all variables (not standardized in time)
+         to file containing msk_rgn and area
+Template: ${scn}_${mdl}_${run}_${yyyymm}_${yyyymm}.nc
+
+/bin/cp area_msk_ukmo_hadcm3.nc sresa1b_ukmo_hadcm3_run1_200101_209911.nc
+ncks -A -v tas sresa1b_ukmo_hadcm3_run1_tas_200101_209911.nc \
+               sresa1b_ukmo_hadcm3_run1_200101_209911.nc
+ncks -A -v pr  sresa1b_ukmo_hadcm3_run1_pr_200101_209911.nc \
+               sresa1b_ukmo_hadcm3_run1_200101_209911.nc
+
+If already have file then:
+mv sresa1b_ukmo_hadcm3_run1_200101_209911.nc foo.nc
+/bin/cp area_msk_ukmo_hadcm3.nc sresa1b_ukmo_hadcm3_run1_200101_209911.nc
+ncks -A -v tas,pr foo.nc sresa1b_ukmo_hadcm3_run1_200101_209911.nc
+
+Level II: Correct # years, months
+Template: ${scn}_${mdl}_${run}_${var}_${yyyymm}_${yyyymm}.nc
+
+ncks -d time,....... file1.nc file2.nc 
+ncrcat file2.nc file3.nc sresa1b_ukmo_hadcm3_run1_200001_209912.nc
+
+Level III: Many derived products from level II, e.g., 
+
+      A. Global mean timeseries
+      ncwa -w area -a lat,lon \
+           sresa1b_ukmo_hadcm3_run1_200001_209912.nc \
+	   sresa1b_ukmo_hadcm3_run1_200001_209912_xy.nc
+
+      B. Califoria average timeseries
+      ncwa -m msk_rgn -w area -a lat,lon \
+           sresa1b_ukmo_hadcm3_run1_200001_209912.nc \
+	   sresa1b_ukmo_hadcm3_run1_200001_209912_xy_Cal.nc
+</pre></example>
+
+<html endspaces=" ">
+<a name="bibliography"></a> <!&textndash; http://nco.sf.net/nco.html#bibliography &textndash;>
+<a name="bib"></a> <!&textndash; http://nco.sf.net/nco.html#bib &textndash;>
+</html>
+</chapter>
+<node name="mybibnode" spaces=" "><nodename>mybibnode</nodename><nodenext spaces=" ">General Index</nodenext><nodeprev spaces=" ">CCSM Example</nodeprev><nodeup spaces=" ">Top</nodeup></node>
+<chapter spaces=" "><sectiontitle>References</sectiontitle>
+<itemize commandarg="bullet" endspaces=" ">
+<listitem><prepend>•</prepend>
+<anchor name="ZeM07">ZeM07</anchor><para>[ZeM07]
+<!-- c %**else if -->
+ Zender, C. S., and H. J. Mangalam (2007), Scaling Properties of Common Statistical Operators for Gridded Datasets, Int. J. High Perform. Comput. Appl., 21(4), 485-498, doi:10.1177/1094342007083802.
+</para></listitem><listitem><prepend>•</prepend>
+<anchor name="Zen08">Zen08</anchor><para>[Zen08]
+<!-- c %**else if -->
+ Zender, C. S. (2008), Analysis of Self-describing Gridded Geoscience Data with netCDF Operators (NCO), Environ. Modell. Softw., 23(10), 1338-1342, doi:10.1016/j.envsoft.2008.03.004.
+</para></listitem><listitem><prepend>•</prepend>
+<anchor name="WZJ07">WZJ07</anchor><para>[WZJ07]
+<!-- c %**else if -->
+ Wang, D. L., C. S. Zender, and S. F. Jenks (2007), DAP-enabled Server-side Data Reduction and Analysis, Proceedings of the 23rd AMS Conference on Interactive Information and Processing Systems (IIPS) for Meteorology, Oceanography, and Hydrology, Paper 3B.2, January 14-18, San Antonio, TX. American Meteorological Society, AMS Press, Boston, MA.
+</para></listitem><listitem><prepend>•</prepend>
+<anchor name="ZMW06">ZMW06</anchor><para>[ZMW06]
+<!-- c %**else if -->
+ Zender, C. S., H. Mangalam, and D. L. Wang (2006), Improving Scaling Properties of Common Statistical Operators for Gridded Geoscience Datasets, Eos Trans. AGU, 87(52), Fall Meet. Suppl., Abstract IN53B-0827.
+</para></listitem><listitem><prepend>•</prepend>
+<anchor name="ZeW07">ZeW07</anchor><para>[ZeW07]
+<!-- c %**else if -->
+ Zender, C. S., and D. L. Wang (2007), High performance distributed data reduction and analysis with the netCDF Operators (NCO), Proceedings of the 23rd AMS Conference on Interactive Information and Processing Systems (IIPS) for Meteorology, Oceanography, and Hydrology, Paper 3B.4, January 14-18, San Antonio, TX. American Meteorological Society, AMS Press, Boston, MA.
+</para></listitem><listitem><prepend>•</prepend>
+<anchor name="WZJ06">WZJ06</anchor><para>[WZJ06]
+<!-- c %**else if -->
+ Wang, D. L., C. S. Zender, and S. F. Jenks (2006), Server-side netCDF Data Reduction and Analysis, Eos Trans. AGU, 87(52), Fall Meet. Suppl., Abstract IN53B-0826.
+</para></listitem><listitem><prepend>•</prepend>
+<anchor name="WZJ073">WZJ073</anchor><para>[WZJ073]
+<!-- c %**else if -->
+ Wang, D. L., C. S. Zender, and S. F. Jenks (2007), Server-side parallel data reduction and analysis, in Advances in Grid and Pervasive Computing, Second International Conference, GPC 2007, Paris, France, May 2-4, 2007, Proceedings. IEEE Lecture Notes in Computer Science, vol. 4459, edited by C. Cerin and K.-C. Li, pp. 744-750, Springer-Verlag, Berlin/Heidelberg, doi:10.1007/978-3-540-72360-8_67.
+</para></listitem><listitem><prepend>•</prepend>
+<anchor name="WZJ074">WZJ074</anchor><para>[WZJ074]
+<!-- c %**else if -->
+ Wang, D. L., C. S. Zender and S. F. Jenks (2007), A System for Scripted Data Analysis at Remote Data Centers, Eos Trans. AGU, 88(52), Fall Meet. Suppl., Abstract IN11B-0469.
+</para></listitem><listitem><prepend>•</prepend>
+<anchor name="WZJ081">WZJ081</anchor><para>[WZJ081]
+<!-- c %**else if -->
+ Wang, D. L., C. S. Zender and S. F. Jenks (2008), Cluster Workflow Execution of Retargeted Data Analysis Scripts, Proceedings of the 8th IEEE Int&textrsquo;l Symposium on Cluster Computing and the Grid (IEEE CCGRID &textrsquo;08), pp. 449-458, Lyon, France, May 2008.
+</para></listitem><listitem><prepend>•</prepend>
+<anchor name="WZJ091">WZJ091</anchor><para>[WZJ091]
+<!-- c %**else if -->
+ Wang, D. L., C. S. Zender, and S. F. Jenks (2009), Efficient Clustered Server-side Data Analysis Workflows using SWAMP, Earth Sci. Inform., 2(3), 141-155, doi:10.1007/s12145-009-0021-z.
+</para></listitem><listitem><prepend>•</prepend>
+<anchor name="PFT88">PFT88</anchor><para>[PFT88]
+<!-- c %**else if -->
+ Press, Flannery, Teukolsky, and Vetterling (1988), Numerical Recipes in C, Cambridge Univ. Press, New York, NY.
+</para></listitem></itemize>
+
+<!-- c @node Name Index, General Index, Operators, Top -->
+<!-- c @unnumbered Function and Variable Index -->
+
+<!-- c @printindex fn -->
+
+<html endspaces=" ">
+<a name="index"></a> <!&textndash; http://nco.sf.net/nco.html#index &textndash;>
+<a name="idx"></a> <!&textndash; http://nco.sf.net/nco.html#idx &textndash;>
+</html>
+</chapter>
+<node name="General-Index" spaces=" "><nodename>General Index</nodename><nodenext spaces="  "></nodenext><nodeprev spaces=" ">mybibnode</nodeprev><nodeup spaces=" ">Top</nodeup></node>
+<unnumbered spaces=" "><sectiontitle>General Index</sectiontitle>
+
+<syncodeindex from="fn" to="cp" line=" fn cp"></syncodeindex>
+<printindex value="cp" line=" cp"></printindex>
+
+<!-- c TTFN (Ta ta for now) -->
+</unnumbered>
+<bye></bye>
+</texinfo>
diff --git a/doc/xmp/ann_avg.sh b/doc/xmp/ann_avg.sh
index fa0acdc..faa7ab8 100755
--- a/doc/xmp/ann_avg.sh
+++ b/doc/xmp/ann_avg.sh
@@ -20,24 +20,24 @@
 
 #---------------------------------------------------------------------------
 # Parameters
-drc_in='/home/wenshanw/data/cmip5/'		# Directory of input files
-drc_out='/home/wenshanw/data/cmip5/output/'	# Directory of output files
+drc_in='/home/wenshanw/data/cmip5/'         # Directory of input files
+drc_out='/home/wenshanw/data/cmip5/output/' # Directory of output files
 
-var=( 'snc' 'snd' )		# Variables
-rlm='LImon'			# Realm
-xpt=( 'historical' )		# Experiment ( could be more )
+var=( 'snc' 'snd' )                         # Variables
+rlm='LImon'                                 # Realm
+xpt=( 'historical' )                        # Experiment ( could be more )
 
-fld_out=( 'snc/' 'snd/' )		# Folders of output files
-#------------------------------------------------------------
+fld_out=( 'snc/' 'snd/' )                   # Folders of output files
+# ------------------------------------------------------------
 
-for var_id in {0..1}; do		# Loop over two variables
+for var_id in {0..1}; do                    # Loop over two variables
   # Names of all models 
   #   (ls [get file names]; cut [get the part for model names]; 
   #   sort; uniq [remove duplicates]; awk [print])
   mdl_set=$( ls ${drc_in}${var[var_id]}_${rlm}_*_${xpt[0]}_*.nc | \
     cut -d '_' -f 3 | sort | uniq -c | awk '{print $2}' )
   
-  for mdl in ${mdl_set}; do		# Loop over models
+  for mdl in ${mdl_set}; do		              # Loop over models
   	# Loop over ensemble members
     for fn in $( ls ${drc_in}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}_*.nc ); do
       pfx=$( echo ${fn} | cut -d'/' -f6 | cut -d'_' -f1-5 )
diff --git a/doc/xmp/ann_avg_grp.sh b/doc/xmp/ann_avg_grp.sh
index 231a018..eb239ce 100644
--- a/doc/xmp/ann_avg_grp.sh
+++ b/doc/xmp/ann_avg_grp.sh
@@ -4,65 +4,58 @@
 # Group data output by cmb_fl_grp.sh
 # Annual trend of each model over Greenland and Tibet 
 # Time- and spatial-average, standard deviation and anomaly
-# No regression yet (needs the help of ncap2)
-# No standard deviation yet (ncap2 or ncea)
-# No ensemble member average (ncea)
+# No regression yet (needs ncap2)
 #
 # Input files:
-# sn_LImon_all-mdl_all-xpt_all-nsm_199001-200512.nc
+# sn_LImon_all-mdl_all-xpt_all-nsm_200001-200512.nc
 #
 # Online: http://nco.sourceforge.net/nco.html#Annual-Average-over-Regions
 #
 # Execute this script: bash ann_avg_grp.sh
 #===========================================================================
-
 # Input and output directory
-drc='/media/grele_data/wenshan/cesm/historical-exp/nco_grp/grp/'
+drc='../data/grp/'
 
 # Constants
-rlm='LImon'    # Realm: LandIce; Time frequency: monthly
-tms='199001-200512'     # Timeseris
-flt='nc'     # File Type
-var='sn'      # Variable
-lbl='all-mdl_all-xpt_all-nsm'     # Label
+pfx='sn_LImon_all-mdl_all-xpt_all-nsm'
+tms='200001-200512'           # Time series
 
-## Greenland
+# Greenland
 ncwa -O -w gw -d lat,60.0,75.0 -d lon,300.0,340.0 -a lat,lon \
-  ${drc}${var}_${rlm}_${lbl}_${tms}.${flt} \
-  ${drc}${var}_${rlm}_${lbl}_${tms}_gld.${flt}
+  ${drc}${pfx}_${tms}.nc \
+  ${drc}${pfx}_${tms}_grl.nc
 # Tibet
 ncwa -O -w gw -d lat,30.0,40.0 -d lon,80.0,100.0 -a lat,lon \
-  ${drc}${var}_${rlm}_${lbl}_${tms}.${flt} \
-  ${drc}${var}_${rlm}_${lbl}_${tms}_tbt.${flt}
-# Time is no longer the record dimension in the outputs
-ncks -O --mk_rec_dmn time \
-  ${drc}${var}_${rlm}_${lbl}_${tms}_tbt.${flt} \
-  ${drc}${var}_${rlm}_${lbl}_${tms}_tbt.${flt}
-ncks -O --mk_rec_dmn time \
-  ${drc}${var}_${rlm}_${lbl}_${tms}_gld.${flt} \
-  ${drc}${var}_${rlm}_${lbl}_${tms}_gld.${flt}
+  ${drc}${pfx}_${tms}.nc \
+  ${drc}${pfx}_${tms}_tbt.nc
 
 # Aggregate 2 regions together
-ncecat -O -u rgn ${drc}${var}_${rlm}_${lbl}_${tms}_???.${flt} \
-  ${drc}${var}_${rlm}_${lbl}_${tms}_rgn2.${flt}
+ncecat -O -u rgn ${drc}${pfx}_${tms}_???.nc \
+  ${drc}${pfx}_${tms}_rgn2.nc
+
 # Change dimensions order
-ncpdq -O -a time,rgn ${drc}${var}_${rlm}_${lbl}_${tms}_rgn2.${flt} \
-  ${drc}${var}_${rlm}_${lbl}_${tms}_rgn2.${flt}
+ncpdq -O -a time,rgn ${drc}${pfx}_${tms}_rgn2.nc \
+  ${drc}${pfx}_${tms}_rgn2.nc
 
 # Remove temporary files (optional)
-rm ${drc}${var}_${rlm}_${lbl}_${tms}_???.${flt}
+rm ${drc}${pfx}_${tms}_???.nc
 
 #Annual average
-ncra -O --mro -d time,,,12,12 ${drc}${var}_${rlm}_${lbl}_${tms}_rgn2.${flt} \
-  ${drc}${var}_${rlm}_${lbl}_${tms}_rgn2_ann.${flt}
+ncra -O --mro -d time,,,12,12 ${drc}${pfx}_${tms}_rgn2.nc \
+  ${drc}${pfx}_${tms}_rgn2_ann.nc
 
 # Anomaly
 #------------------------------------------------------------
 # Long-term average
-ncwa -O -a time ${drc}${var}_${rlm}_${lbl}_${tms}_rgn2_ann.${flt} \
-  ${drc}${var}_${rlm}_${lbl}_${tms}_rgn2_clm.${flt}
+ncwa -O -a time ${drc}${pfx}_${tms}_rgn2_ann.nc \
+  ${drc}${pfx}_${tms}_rgn2_clm.nc
 # Subtract
-ncbo -O --op_typ=- ${drc}${var}_${rlm}_${lbl}_${tms}_rgn2_ann.${flt} \
-  ${drc}${var}_${rlm}_${lbl}_${tms}_rgn2_clm.${flt} \
-  ${drc}${var}_${rlm}_${lbl}_${tms}_rgn2_anm.${flt}
+ncbo -O --op_typ=- ${drc}${pfx}_${tms}_rgn2_ann.nc \
+  ${drc}${pfx}_${tms}_rgn2_clm.nc \
+  ${drc}${pfx}_${tms}_rgn2_anm.nc
 #------------------------------------------------------------
+
+# Standard Deviation: inter-annual variability 
+# RMS of the above anomaly
+ncra -O -y rmssdn ${drc}${pfx}_${tms}_rgn2_anm.nc \
+  ${drc}${pfx}_${tms}_rgn2_stddev.nc
diff --git a/doc/xmp/cmb_fl.sh b/doc/xmp/cmb_fl.sh
index d7637ae..45f0a1f 100755
--- a/doc/xmp/cmb_fl.sh
+++ b/doc/xmp/cmb_fl.sh
@@ -1,5 +1,5 @@
-#!/bin/bash     ## shell type
-shopt -s extglob  ## enable extended globbing
+#!/bin/bash      # shell type
+shopt -s extglob # enable extended globbing
 
 #===========================================================================
 # Some of the models cut one ensemble member into several files, 
@@ -24,13 +24,13 @@ shopt -s extglob  ## enable extended globbing
 # Execute this script: bash cmb_fl.sh
 #===========================================================================
 
-drc_in='/home/wenshanw/data/cmip5/'		# Directory of input files
+drc_in='/home/wenshanw/data/cmip5/' # Directory of input files
 
-var=( 'snc' 'snd' ) 	# Variables
-rlm='LImon'           # Realm
-xpt=( 'historical' )  # Experiment ( could be more )
+var=( 'snc' 'snd' )                 # Variables
+rlm='LImon'                         # Realm
+xpt=( 'historical' )                # Experiment ( could be more )
 
-for var_id in {0..1}; do	# Loop over two variables
+for var_id in {0..1}; do            # Loop over two variables
   # Names of all the models (ls [get file names]; 
   #  cut [get model names]; 
   #  sort; uniq [remove duplicates]; awk [print])
@@ -41,7 +41,7 @@ for var_id in {0..1}; do	# Loop over two variables
   echo "=============================="
   echo "There are" ${mdl_nbr} "models for" ${var[var_id]}.
   
-  for mdl in ${mdl_set}; do	# Loop over models
+  for mdl in ${mdl_set}; do	        # Loop over models
     # Names of all the ensemble members
     nsm_set=$( ls ${drc_in}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}_*.nc | \
       cut -d '_' -f 5 | sort | uniq -c | awk '{print $2}' )
@@ -51,7 +51,7 @@ for var_id in {0..1}; do	# Loop over two variables
     echo "Model" ${mdl} "includes" ${nsm_nbr} "ensemble member(s):"
     echo ${nsm_set}"."
     
-    for nsm in ${nsm_set}; do	# Loop over ensemble members
+    for nsm in ${nsm_set}; do	      # Loop over ensemble members
       # Number of files in this ensemble member
       fl_nbr=$( ls ${drc_in}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}_${nsm}_*.nc \
         | wc -w ) 
diff --git a/doc/xmp/cmb_fl_grp.sh b/doc/xmp/cmb_fl_grp.sh
index 6fab8f7..e5603d9 100644
--- a/doc/xmp/cmb_fl_grp.sh
+++ b/doc/xmp/cmb_fl_grp.sh
@@ -17,23 +17,24 @@
 # Online: http://nco.sourceforge.net/nco.html#Combine-Files
 #
 # Execute this script: bash cmb_fl_grp.sh
-##============================================================
+#============================================================
 
-# Input Directory
-drc_in='/media/grele_data/wenshan/cesm/historical-exp/nco_grp/'
-drc_out='/media/grele_data/wenshan/cesm/historical-exp/nco_grp/grp/'
+# Directories
+drc_in='../data/'
+drc_out='../data/grp/'
 
 # Constants
-rlm='LImon'    # Realm: LandIce; Time frequency: monthly
-tms='199001-200512'     # Timeseris
-flt='nc'     # File Type
+rlm='LImon'         # Realm: LandIce; Time frequency: monthly
+tms='200001-200512' # Timeseris
+flt='nc'            # File Type
 
 # Geographical weights
 # Can be skipped when ncap2 works on group data
-for fn in $( ls ${drc_in}snc_${rlm}_*_${tms}.${flt} ); do     # Loop over all snc files
+# Loop over all snc files
+for fn in $( ls ${drc_in}snc_${rlm}_*_${tms}.${flt} ); do
   ncap2 -O -s \
-    'gw = float(cos(lat*3.1415926/180.)); gw at long_name="geographical weight";\
-    gw at units="ratio"; gw at standard_name="Geographical Weight"' ${fn} ${fn}
+    'gw = float(cos(lat*3.1416/180.)); gw at long_name="geographical weight";'\
+    ${fn} ${fn}
 done
 
 var=( 'snc' 'snd' )
@@ -41,23 +42,23 @@ xpt=( 'esmHistorical' 'historical' )
 mdl=( 'CCSM4' 'CESM1-BGC' 'CESM1-CAM5' )
 
 for i in {0..1}; do     # Loop over variables
-  for j in {0..1}; do     # Loop over experiments
-    for k in {0..2}; do     # Loop over models
-      ncecat -O --glb_mtd_spr -G ${xpt[j]}/${mdl[k]}/ \
+  for j in {0..1}; do   # Loop over experiments
+    for k in {0..2}; do # Loop over models
+      ncecat -O --glb_mtd_spp -G ${xpt[j]}/${mdl[k]}/${mdl[k]}_ \
         ${drc_in}${var[i]}_${rlm}_${mdl[k]}_${xpt[j]}_*_${tms}.${flt} \
         ${drc_out}${var[i]}_${rlm}_${mdl[k]}_${xpt[j]}_all-nsm_${tms}.${flt}
       ncks -A \
         ${drc_out}${var[i]}_${rlm}_${mdl[k]}_${xpt[j]}_all-nsm_${tms}.${flt} \
         ${drc_out}${var[i]}_${rlm}_${mdl[0]}_${xpt[j]}_all-nsm_${tms}.${flt}
-    done
+    done                # Loop done: models
     ncks -A \
       ${drc_out}${var[i]}_${rlm}_${mdl[0]}_${xpt[j]}_all-nsm_${tms}.${flt} \
       ${drc_out}${var[i]}_${rlm}_${mdl[0]}_${xpt[0]}_all-nsm_${tms}.${flt}
-  done
+  done                  # Loop done: experiments
   ncks -A \
     ${drc_out}${var[i]}_${rlm}_${mdl[0]}_${xpt[0]}_all-nsm_${tms}.${flt} \
     ${drc_out}${var[0]}_${rlm}_${mdl[0]}_${xpt[0]}_all-nsm_${tms}.${flt}
-done
+done                    # Loop done: variables
 
 # Rename output file
 mv ${drc_out}${var[0]}_${rlm}_${mdl[0]}_${xpt[0]}_all-nsm_${tms}.${flt} \
@@ -82,7 +83,7 @@ rm ${drc_out}sn?_${rlm}*.nc
 # {
 #   CESM1-BGC 
 #   {
-#     00 
+#     CESM1-BGC_00 
 #     {
 #       snc(time, lat, lon)
 #       snd(time, lat, lon)
@@ -93,29 +94,28 @@ rm ${drc_out}sn?_${rlm}*.nc
 # {
 #    CCSM4
 #    {
-#      00
+#      CCSM4_00
 #      {
 #       snc(time, lat, lon)
 #       snd(time, lat, lon)
 #      }
-#      01
+#      CCSM4_01
 #      {
 #       snc(time, lat, lon)
 #       snd(time, lat, lon)
 #      }
-#      02 { ... }
-#      03 { ... }
-#      04 { ... }
-#      05 { ... }
+#      CCSM4_02 { ... }
+#      CCSM4_03 { ... }
+#      CCSM4_04 { ... }
 #    }
 #    CESM1-BGC
 #    {
-#      00 { ... }
+#      CESM1-BGC_00 { ... }
 #    }
 #    CESM1-CAM5
 #    {
-#      00 { ... }
-#      01 { ... }
-#      02 { ... }
+#      CESM1-CAM5_00 { ... }
+#      CESM1-CAM5_01 { ... }
+#      CESM1-CAM5_02 { ... }
 #    }
 # }
diff --git a/doc/xmp/glb_avg.sh b/doc/xmp/glb_avg.sh
index 4c6b501..1b290ae 100755
--- a/doc/xmp/glb_avg.sh
+++ b/doc/xmp/glb_avg.sh
@@ -18,17 +18,17 @@
 
 #---------------------------------------------------------------------------
 # Parameters
-drc_in='/home/wenshanw/data/cmip5/'		# Directory of input files
-drc_out='/home/wenshanw/data/cmip5/output/'	# Directory of output files
+drc_in='/home/wenshanw/data/cmip5/'         # Directory of input files
+drc_out='/home/wenshanw/data/cmip5/output/' # Directory of output files
 
-var=( 'snc' 'snd' )		# Variables
-rlm='LImon'			# Realm
-xpt=( 'historical' )		# Experiment ( could be more )
+var=( 'snc' 'snd' )                         # Variables
+rlm='LImon'                                 # Realm
+xpt=( 'historical' )                        # Experiment ( could be more )
 
-fld_out=( 'snc/' 'snd/' )		# Folders of output files
+fld_out=( 'snc/' 'snd/' )                   # Folders of output files
 #---------------------------------------------------------------------------
 
-for var_id in {0..1}; do	# Loop over two variables
+for var_id in {0..1}; do	                  # Loop over two variables
   # Names of all models 
   #   (ls [get file names]; cut [get the part for model names]; 
   #   sort; uniq [remove duplicates]; awk [print])
@@ -37,9 +37,10 @@ for var_id in {0..1}; do	# Loop over two variables
   # Number of models (echo [print contents]; wc [count])
   mdl_num=$( echo ${mdl_set} | wc -w )		
   
-  for mdl in ${mdl_set}; do				# Loop over models
+  for mdl in ${mdl_set}; do				          # Loop over models
   	# Average all the ensemble members of each model
-  	ncea -O -4 -d time,"1956-01-01 00:00:0.0","2005-12-31 23:59:9.9" \
+    # Use nces file ensembles mode: --nsm_fl
+  	nces --nsm_fl -O -4 -d time,"1956-01-01 00:00:0.0","2005-12-31 23:59:9.9" \
       ${drc_in}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}_*.nc \
       ${drc_out}${fld_out[var_id]}${var[var_id]}_${rlm}_${mdl}_${xpt[0]}\
       _all-nsm_195601-200512.nc
diff --git a/doc/xmp/mcc_grp.sh b/doc/xmp/mcc_grp.sh
index 745c40f..959a599 100644
--- a/doc/xmp/mcc_grp.sh
+++ b/doc/xmp/mcc_grp.sh
@@ -1,5 +1,5 @@
 #!/bin/bash
-# Complied by Wang Wenshan 2013-09-22 Sunday 21:37:11
+
 #============================================================
 # Monthly cycle of each ensemble member in Greenland
 #
@@ -10,47 +10,33 @@
 # Execute this script in command line: bash mcc_grp.sh
 #============================================================
 # Input and output directory
-drc='/media/grele_data/wenshan/cesm/historical-exp/nco_grp/grp/'
+drc='../data/grp/'
 
 # Constants
-rlm='LImon'    # Realm: LandIce; Time frequency: monthly
-tms='199001-200512'     # Timeseris
-flt='nc'     # File Type
-var='sn'      # Variable
-lbl='all-mdl_all-xpt_all-nsm'     # Label
+pfx='sn_LImon_all-mdl_all-xpt_all-nsm_200001-20051'
 
 # Greenland
 ncwa -O -w gw -d lat,60.0,75.0 -d lon,300.0,340.0 -a lat,lon \
-  ${drc}${var}_${rlm}_${lbl}_${tms}.${flt} \
-  ${drc}${var}_${rlm}_${lbl}_${tms}_gld.${flt}
-#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-# time is no longer the record dimension in the outputs
-ncks -O --mk_rec_dmn time \
-  ${drc}${var}_${rlm}_${lbl}_${tms}_gld.${flt} \
-  ${drc}${var}_${rlm}_${lbl}_${tms}_gld.${flt}
-#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+  ${drc}${pfx}.nc ${drc}${pfx}_grl
 
 # Anomaly from annual average of each year 
-for yyyy in {1990..2005}; do
+for yyyy in {2000..2005}; do
   # Annual average
   ncwa -O -d time,"${yyyy}-01-01","${yyyy}-12-31" \
-    ${drc}${var}_${rlm}_${lbl}_${tms}_gld.${flt} \
-    ${drc}${var}_${rlm}_${lbl}_${tms}_gld_${yyyy}.${flt}
+    ${drc}${pfx}_grl.nc ${drc}${pfx}_grl_${yyyy}.nc
 
   # Anomaly
   ncbo -O --op_typ=- -d time,"${yyyy}-01-01","${yyyy}-12-31" \
-    ${drc}${var}_${rlm}_${lbl}_${tms}_gld.${flt} \
-    ${drc}${var}_${rlm}_${lbl}_${tms}_gld_${yyyy}.${flt} \
-    ${drc}${var}_${rlm}_${lbl}_${tms}_gld_${yyyy}_anm.${flt}
+    ${drc}${pfx}_grl.nc ${drc}${pfx}_grl_${yyyy}.nc \
+    ${drc}${pfx}_grl_${yyyy}_anm.nc
 done
 
 # Monthly cycle
 for moy in {1..12}; do
   mm=$( printf "%02d" ${moy} )      # Change to 2-digit format
-  ncra -O -d time,"1990-${mm}-01",,12 \
-    ${drc}${var}_${rlm}_${lbl}_${tms}_gld_????_anm.${flt} \
-    ${drc}${var}_${rlm}_${lbl}_${tms}_gld_${mm}_anm.${flt}
+  ncra -O -d time,"2000-${mm}-01",,12 \
+    ${drc}${pfx}_grl_????_anm.nc ${drc}${pfx}_grl_${mm}_anm.nc
 done
 # Concatenate 12 months together
-ncrcat -O ${drc}${var}_${rlm}_${lbl}_${tms}_gld_??_anm.${flt} \
-  ${drc}${var}_${rlm}_${lbl}_${tms}_gld_mth_anm.${flt}
+ncrcat -O ${drc}${pfx}_grl_??_anm.nc \
+  ${drc}${pfx}_grl_mth_anm.nc
diff --git a/man/Makefile.am b/man/Makefile.am
index 3f242d7..801a8f4 100644
--- a/man/Makefile.am
+++ b/man/Makefile.am
@@ -1,4 +1,4 @@
-# $Header: /cvsroot/nco/nco/man/Makefile.am,v 1.7 2006/11/20 01:10:19 zender Exp $ -*-makefile-*-
+# $Header: /cvsroot/nco/nco/man/Makefile.am,v 1.8 2014/01/21 21:57:45 zender Exp $ -*-makefile-*-
 
-man_MANS = ncap.1 ncap2.1 ncatted.1 ncbo.1 ncdiff.1 ncea.1 ncecat.1 ncflint.1 ncks.1 nco.1 ncra.1 ncrename.1 ncpdq.1 ncrcat.1 ncwa.1
+man_MANS = ncap.1 ncap2.1 ncatted.1 ncbo.1 ncdiff.1 ncea.1 nces.1 ncecat.1 ncflint.1 ncks.1 nco.1 ncra.1 ncrename.1 ncpdq.1 ncrcat.1 ncwa.1
 EXTRA_DIST = $(man_MANS)
diff --git a/man/Makefile.in b/man/Makefile.in
index c467b1b..0b4265a 100644
--- a/man/Makefile.in
+++ b/man/Makefile.in
@@ -14,7 +14,7 @@
 
 @SET_MAKE@
 
-# $Header: /cvsroot/nco/nco/man/Makefile.in,v 1.107 2013/11/06 18:12:24 zender Exp $ -*-makefile-*-
+# $Header: /cvsroot/nco/nco/man/Makefile.in,v 1.110 2014/01/30 07:10:11 zender Exp $ -*-makefile-*-
 VPATH = @srcdir@
 am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
 am__make_running_with_option = \
@@ -179,6 +179,7 @@ EXEEXT = @EXEEXT@
 FGREP = @FGREP@
 GREP = @GREP@
 HAVE_ANTLR = @HAVE_ANTLR@
+HAVE_MAKEINFO = @HAVE_MAKEINFO@
 I18N_SHARE = @I18N_SHARE@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
@@ -257,7 +258,6 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
-have_makeinfo = @have_makeinfo@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -290,7 +290,7 @@ target_vendor = @target_vendor@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-man_MANS = ncap.1 ncap2.1 ncatted.1 ncbo.1 ncdiff.1 ncea.1 ncecat.1 ncflint.1 ncks.1 nco.1 ncra.1 ncrename.1 ncpdq.1 ncrcat.1 ncwa.1
+man_MANS = ncap.1 ncap2.1 ncatted.1 ncbo.1 ncdiff.1 ncea.1 nces.1 ncecat.1 ncflint.1 ncks.1 nco.1 ncra.1 ncrename.1 ncpdq.1 ncrcat.1 ncwa.1
 EXTRA_DIST = $(man_MANS)
 all: all-am
 
diff --git a/man/ncbo.1 b/man/ncbo.1
index 460768b..9737901 100644
--- a/man/ncbo.1
+++ b/man/ncbo.1
@@ -1,4 +1,4 @@
-.\" $Header: /cvsroot/nco/nco/man/ncbo.1,v 1.25 2013/11/06 17:51:13 zender Exp $ -*-nroff-*-
+.\" $Header: /cvsroot/nco/nco/man/ncbo.1,v 1.26 2014/01/06 06:46:04 zender Exp $ -*-nroff-*-
 .\" Purpose: ROFF man page for ncbo
 .\" Usage:
 .\" nroff -man ~/nco/man/ncbo.1 | less
@@ -7,7 +7,16 @@
 ncbo \- netCDF Binary Operator
 .SH SYNTAX
 ncbo [\-3] [\-4] [\-6] [\-7] [\-A] [\-\-bfr
-.IR sz ] [\-C] [\-c] [\-D 
+.IR sz ] [\-C] [\-c] 
+[\-\-cnk_byt
+.IR sz ] [\-\-cnk_dmn 
+.IR nm,sz ]
+[\-\-cnk_map 
+.IR map ]
+[\-\-cnk_plc 
+.IR plc ]
+[\-\-cnk_scl 
+.IR sz ] [\-D 
 .IR dbg_lvl ]
 [\-d 
 .IR dim ,[
@@ -328,7 +337,7 @@ ncrcat t_anm_8589_??.nc t_anm_8589_0112.nc
 .RE
 
 .\" NB: Append man_end.txt here
-.\" $Header: /cvsroot/nco/nco/man/ncbo.1,v 1.25 2013/11/06 17:51:13 zender Exp $ -*-nroff-*-
+.\" $Header: /cvsroot/nco/nco/man/ncbo.1,v 1.26 2014/01/06 06:46:04 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/ncea.1 b/man/ncea.1
index ba4a652..a1bc107 100644
--- a/man/ncea.1
+++ b/man/ncea.1
@@ -1,4 +1,4 @@
-.\" $Header: /cvsroot/nco/nco/man/ncea.1,v 1.27 2013/11/11 04:57:13 zender Exp $ -*-nroff-*-
+.\" $Header: /cvsroot/nco/nco/man/ncea.1,v 1.28 2014/01/06 06:46:04 zender Exp $ -*-nroff-*-
 .\" Purpose: ROFF man page for ncea
 .\" Usage:
 .\" nroff -man ~/nco/man/ncea.1 | less
@@ -7,7 +7,15 @@
 ncea \- netCDF Ensemble Averager
 .SH SYNTAX
 ncea [\-3] [\-4] [\-6] [\-7] [\-A] [\-\-bfr
-.IR sz ] [\-C] [\-c] [\-D 
+.IR sz ] [\-C] [\-c] [\-\-cnk_byt
+.IR sz ] [\-\-cnk_dmn 
+.IR nm,sz ]
+[\-\-cnk_map 
+.IR map ]
+[\-\-cnk_plc 
+.IR plc ]
+[\-\-cnk_scl 
+.IR sz ] [\-D 
 .IR dbg_lvl ]
 [\-d 
 .IR dim ,[
@@ -127,7 +135,7 @@ input files.
 Additionally, only data inside the tropics is included.
 
 .\" NB: Append man_end.txt here
-.\" $Header: /cvsroot/nco/nco/man/ncea.1,v 1.27 2013/11/11 04:57:13 zender Exp $ -*-nroff-*-
+.\" $Header: /cvsroot/nco/nco/man/ncea.1,v 1.28 2014/01/06 06:46:04 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/ncecat.1 b/man/ncecat.1
index c35ef2a..fe25871 100644
--- a/man/ncecat.1
+++ b/man/ncecat.1
@@ -1,4 +1,4 @@
-.\" $Header: /cvsroot/nco/nco/man/ncecat.1,v 1.31 2013/12/02 01:05:56 zender Exp $ -*-nroff-*-
+.\" $Header: /cvsroot/nco/nco/man/ncecat.1,v 1.32 2014/01/06 06:46:04 zender Exp $ -*-nroff-*-
 .\" Purpose: ROFF man page for ncecat
 .\" Usage:
 .\" nroff -man ~/nco/man/ncecat.1 | less
@@ -7,7 +7,15 @@
 ncecat \- netCDF Ensemble Concatenator
 .SH SYNTAX
 ncecat [\-3] [\-4] [\-6] [\-7] [\-A] [\-\-bfr
-.IR sz ] [\-C] [\-c] [\-D 
+.IR sz ] [\-C] [\-c] [\-\-cnk_byt
+.IR sz ] [\-\-cnk_dmn 
+.IR nm,sz ]
+[\-\-cnk_map 
+.IR map ]
+[\-\-cnk_plc 
+.IR plc ]
+[\-\-cnk_scl 
+.IR sz ] [\-D 
 .IR dbg_lvl ]
 [\-d 
 .IR dim ,[
@@ -111,7 +119,7 @@ It contains 60 months of data (which might or might not be stored in the
 record dimension, depending on the input files).
 
 .\" NB: Append man_end.txt here
-.\" $Header: /cvsroot/nco/nco/man/ncecat.1,v 1.31 2013/12/02 01:05:56 zender Exp $ -*-nroff-*-
+.\" $Header: /cvsroot/nco/nco/man/ncecat.1,v 1.32 2014/01/06 06:46:04 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/nces.1 b/man/nces.1
index 634f2ef..2e342f6 100644
--- a/man/nces.1
+++ b/man/nces.1
@@ -1,4 +1,4 @@
-.\" $Header: /cvsroot/nco/nco/man/nces.1,v 1.2 2013/12/02 01:05:56 zender Exp $ -*-nroff-*-
+.\" $Header: /cvsroot/nco/nco/man/nces.1,v 1.3 2014/01/06 06:46:04 zender Exp $ -*-nroff-*-
 .\" Purpose: ROFF man page for nces
 .\" Usage:
 .\" nroff -man ~/nco/man/nces.1 | less
@@ -7,7 +7,15 @@
 nces \- netCDF Ensemble Statistics
 .SH SYNTAX
 nces [\-3] [\-4] [\-6] [\-7] [\-A] [\-\-bfr
-.IR sz ] [\-C] [\-c] [\-D 
+.IR sz ] [\-C] [\-c] [\-\-cnk_byt
+.IR sz ] [\-\-cnk_dmn 
+.IR nm,sz ]
+[\-\-cnk_map 
+.IR map ]
+[\-\-cnk_plc 
+.IR plc ]
+[\-\-cnk_scl 
+.IR sz ] [\-D 
 .IR dbg_lvl ]
 [\-d 
 .IR dim ,[
@@ -127,7 +135,7 @@ input files.
 Additionally, only data inside the tropics is included.
 
 .\" NB: Append man_end.txt here
-.\" $Header: /cvsroot/nco/nco/man/nces.1,v 1.2 2013/12/02 01:05:56 zender Exp $ -*-nroff-*-
+.\" $Header: /cvsroot/nco/nco/man/nces.1,v 1.3 2014/01/06 06:46:04 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/ncks.1 b/man/ncks.1
index 378f860..c3794ab 100644
--- a/man/ncks.1
+++ b/man/ncks.1
@@ -1,4 +1,4 @@
-.\" $Header: /cvsroot/nco/nco/man/ncks.1,v 1.42 2013/12/02 00:31:21 zender Exp $ -*-nroff-*-
+.\" $Header: /cvsroot/nco/nco/man/ncks.1,v 1.44 2014/01/06 06:46:04 zender Exp $ -*-nroff-*-
 .\" Purpose: ROFF man page for ncks
 .\" Usage:
 .\" nroff -man ~/nco/man/ncks.1 | less
@@ -10,7 +10,8 @@ ncks [\-3] [\-4] [\-5] [\-6] [\-7] [\-A] [\-a] [\-b
 .IR bnr_fl] 
 [\-\-bfr
 .IR sz ] [\-C] [\-c] 
-[\-\-cdl] [\-\-cnk_dmn 
+[\-\-cdl] [\-\-cnk_byt
+.IR sz ] [\-\-cnk_dmn 
 .IR nm,sz ]
 [\-\-cnk_map 
 .IR map ]
@@ -31,7 +32,7 @@ dbg_lvl]
 .IR gpe_dsc ]
 [\-g  
 .IR grp [,...]]
-[\-H] [\-h] 
+[\-H] [\-h] [\-\-hdn] 
 [\-\-hdr_pad
 .IR sz ]
 [\-L 
@@ -589,7 +590,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.42 2013/12/02 00:31:21 zender Exp $ -*-nroff-*-
+.\" $Header: /cvsroot/nco/nco/man/ncks.1,v 1.44 2014/01/06 06:46:04 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/ncpdq.1 b/man/ncpdq.1
index fa11ce1..bf2135b 100644
--- a/man/ncpdq.1
+++ b/man/ncpdq.1
@@ -1,4 +1,4 @@
-.\" $Header: /cvsroot/nco/nco/man/ncpdq.1,v 1.29 2013/11/06 17:51:13 zender Exp $ -*-nroff-*-
+.\" $Header: /cvsroot/nco/nco/man/ncpdq.1,v 1.30 2014/01/06 06:46:04 zender Exp $ -*-nroff-*-
 .\" Purpose: ROFF man page for ncpdq 
 .\" Usage:
 .\" nroff -man ~/nco/man/ncpdq.1 | less
@@ -9,7 +9,15 @@ ncpdq \- netCDF Permute Dimensions Quickly, Pack Data Quietly...
 ncpdq [\-3] [\-4] [\-6] [\-7] [\-A] [\-a 
 .IR dim [,...]]
 [\-\-bfr
-.IR sz ] [\-C] [\-c] [\-D 
+.IR sz ] [\-C] [\-c] [\-\-cnk_byt
+.IR sz ] [\-\-cnk_dmn 
+.IR nm,sz ]
+[\-\-cnk_map 
+.IR map ]
+[\-\-cnk_plc 
+.IR plc ]
+[\-\-cnk_scl 
+.IR sz ] [\-D 
 .IR dbg_lvl ]
 [\-d 
 .IR dim ,[
@@ -109,7 +117,7 @@ The specified re-ordering will fail if it requires creating more than
 one record dimension amongst all the output variables.
 
 .\" NB: Append man_end.txt here
-.\" $Header: /cvsroot/nco/nco/man/ncpdq.1,v 1.29 2013/11/06 17:51:13 zender Exp $ -*-nroff-*-
+.\" $Header: /cvsroot/nco/nco/man/ncpdq.1,v 1.30 2014/01/06 06:46:04 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/ncra.1 b/man/ncra.1
index ff8b0b2..d74ccf0 100644
--- a/man/ncra.1
+++ b/man/ncra.1
@@ -1,4 +1,4 @@
-.\" $Header: /cvsroot/nco/nco/man/ncra.1,v 1.33 2013/12/02 01:05:56 zender Exp $ -*-nroff-*-
+.\" $Header: /cvsroot/nco/nco/man/ncra.1,v 1.36 2014/02/17 23:12:36 zender Exp $ -*-nroff-*-
 .\" Purpose: ROFF man page for ncra
 .\" Usage:
 .\" nroff -man ~/nco/man/ncra.1 | less
@@ -7,14 +7,22 @@
 ncra \- netCDF Record Averager
 .SH SYNTAX
 ncra [\-3] [\-4] [\-6] [\-7] [\-A] [\-\-bfr
-.IR sz ] [\-C] [\-c] [\-D 
+.IR sz ] [\-C] [\-c] [\-\-cnk_byt
+.IR sz ] [\-\-cnk_dmn 
+.IR nm,sz ]
+[\-\-cnk_map 
+.IR map ]
+[\-\-cnk_plc 
+.IR plc ]
+[\-\-cnk_scl 
+.IR sz ] [\-D 
 .IR dbg_lvl ]
 [\-d 
 .IR dim ,[
 .IR min ][,[
 .IR max ]][,
 .IR stride [[,[
-.IR duration ]]]]]
+.IR subcycle ]]]]]
 [\-\-dbl|flt] [\-F] [\-G
 .IR gpe_dsc ]
 [\-g  
@@ -27,7 +35,7 @@ ncra [\-3] [\-4] [\-6] [\-7] [\-A] [\-\-bfr
 .IR path ]
 [\-\-mro] [\-\-msa] [\-n 
 .IR loop ]
-[\-\-no_tmp_fl] [\-O] [\-p 
+[\-\-no_cll_mth] [\-\-no_tmp_fl] [\-O] [\-p 
 .IR path ]
 [\-R] [\-r] [\-\-ram_all] [\-\-rec_apn] [\-t
 .IR thr_nbr ]
@@ -136,7 +144,7 @@ ncra \-d time,6.,54. ??.nc 8506_8906.nc
 .RE
 
 .\" NB: Append man_end.txt here
-.\" $Header: /cvsroot/nco/nco/man/ncra.1,v 1.33 2013/12/02 01:05:56 zender Exp $ -*-nroff-*-
+.\" $Header: /cvsroot/nco/nco/man/ncra.1,v 1.36 2014/02/17 23:12:36 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/ncrcat.1 b/man/ncrcat.1
index f73b948..d12c837 100644
--- a/man/ncrcat.1
+++ b/man/ncrcat.1
@@ -1,4 +1,4 @@
-.\" $Header: /cvsroot/nco/nco/man/ncrcat.1,v 1.28 2013/11/06 17:51:13 zender Exp $ -*-nroff-*-
+.\" $Header: /cvsroot/nco/nco/man/ncrcat.1,v 1.30 2014/02/14 05:24:13 zender Exp $ -*-nroff-*-
 .\" Purpose: ROFF man page for ncrcat
 .\" Usage:
 .\" nroff -man ~/nco/man/ncrcat.1 | less
@@ -7,14 +7,22 @@
 ncrcat \- netCDF Record Concatenator
 .SH SYNTAX
 ncrcat [\-3] [\-4] [\-6] [\-7] [\-A] [\-\-bfr
-.IR sz ] [\-C] [\-c] [\-D
+.IR sz ] [\-C] [\-c] [\-\-cnk_byt
+.IR sz ] [\-\-cnk_dmn 
+.IR nm,sz ]
+[\-\-cnk_map 
+.IR map ]
+[\-\-cnk_plc 
+.IR plc ]
+[\-\-cnk_scl 
+.IR sz ] [\-D
 .IR dbg_lvl ]
 [\-d 
 .IR dim ,[
 .IR min ][,[
 .IR max ]][,[
 .IR stride [[,[
-.IR duration ]]]]]
+.IR subcycle ]]]]]
 [\-F] [\-G
 .IR gpe_dsc ]
 [\-g  
@@ -129,7 +137,7 @@ ncrcat \-d time,6.,54. ??.nc 8506_8906.nc
 .RE
 
 .\" NB: Append man_end.txt here
-.\" $Header: /cvsroot/nco/nco/man/ncrcat.1,v 1.28 2013/11/06 17:51:13 zender Exp $ -*-nroff-*-
+.\" $Header: /cvsroot/nco/nco/man/ncrcat.1,v 1.30 2014/02/14 05:24:13 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/ncwa.1 b/man/ncwa.1
index 847a8b2..c09673c 100644
--- a/man/ncwa.1
+++ b/man/ncwa.1
@@ -1,4 +1,4 @@
-.\" $Header: /cvsroot/nco/nco/man/ncwa.1,v 1.28 2013/12/02 01:05:56 zender Exp $ -*-nroff-*-
+.\" $Header: /cvsroot/nco/nco/man/ncwa.1,v 1.30 2014/02/17 23:12:36 zender Exp $ -*-nroff-*-
 .\" Purpose: ROFF man page for ncwa
 .\" Usage:
 .\" nroff -man ~/nco/man/ncwa.1 | less
@@ -11,7 +11,15 @@ ncwa [\-3] [\-4] [\-6] [\-7] [\-A] [\-a
 [\-B 
 .IR mask_cond] 
 [\-b] [\-\-bfr
-.IR sz ] [\-C] [\-c] [\-D
+.IR sz ] [\-C] [\-c] [\-\-cnk_byt
+.IR sz ] [\-\-cnk_dmn 
+.IR nm,sz ]
+[\-\-cnk_map 
+.IR map ]
+[\-\-cnk_plc 
+.IR plc ]
+[\-\-cnk_scl 
+.IR sz ] [\-D
 .IR dbg_lvl ]
 [\-d 
 .IR dim ,[
@@ -30,7 +38,7 @@ ncwa [\-3] [\-4] [\-6] [\-7] [\-A] [\-a
 .IR val ]
 [\-m 
 .IR mask ]
-[\-N] [\-\-no_tmp_fl] [\-O] [\-o 
+[\-N] [\-\-no_cll_mth] [\-\-no_tmp_fl] [\-O] [\-o 
 .IR output-file ]
 [\-p 
 .IR path ]
@@ -194,7 +202,7 @@ The mathematical definition of operations involving rank reduction
 is given above.
 
 .\" NB: Append man_end.txt here
-.\" $Header: /cvsroot/nco/nco/man/ncwa.1,v 1.28 2013/12/02 01:05:56 zender Exp $ -*-nroff-*-
+.\" $Header: /cvsroot/nco/nco/man/ncwa.1,v 1.30 2014/02/17 23:12:36 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/qt/nco.pri b/qt/nco.pri
index d8b0b51..9385d3c 100644
--- a/qt/nco.pri
+++ b/qt/nco.pri
@@ -8,9 +8,11 @@ unix {
  DEFINES += _BSD_SOURCE
  DEFINES += _POSIX_SOURCE
  QMAKE_CFLAGS += -std=c99
- INCLUDEPATH += /usr/local/include
- INCLUDEPATH += /usr/local
- LIBS += -L/usr/local/lib -L/usr/lib/ -lnetcdf -lhdf5_hl -lhdf5 -lgsl -lgslcblas -lm
+ #INCLUDEPATH += /usr/local/include
+ #INCLUDEPATH += /usr/local
+ INCLUDEPATH += /home/pvicente/install/netcdf-c-4.3.1.1/include
+ LIBS += -L/home/pvicente/install/netcdf-c-4.3.1.1/lib -lnetcdf
+ LIBS += -lhdf5_hl -lhdf5 -lgsl -lgslcblas -lm
  LIBS += -L/usr/lib/x86_64-linux-gnu/ -L/usr/lib/i386-linux-gnu/ -lz -ludunits2 -lexpat
  # Mac Ports netCDF locations
  LIBS += -L/opt/local/lib
@@ -32,7 +34,6 @@ win32{
  DEFINES += _CRT_SECURE_NO_WARNINGS
  DEFINES += _CRT_NONSTDC_NO_DEPRECATE
  DEFINES += NEED_STRCASECMP
- DEFINES += NEED_STRCASESTR
  # gsl
  INCLUDEPATH += $(HEADER_GSL)
  DEFINES += ENABLE_GSL
diff --git a/qt/nco.pro b/qt/nco.pro
index 82e06bf..9a12ee3 100644
--- a/qt/nco.pro
+++ b/qt/nco.pro
@@ -11,7 +11,6 @@ SUBDIRS += ncra
 SUBDIRS += ncrename
 SUBDIRS += ncwa
 SUBDIRS += ncrcat
-SUBDIRS += nces
 SUBDIRS += libnco_c++
 SUBDIRS += tst_nco_c++
 SUBDIRS += ncap2
diff --git a/src/Makefile.in b/src/Makefile.in
index 0500dd2..75254ec 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -14,7 +14,7 @@
 
 @SET_MAKE@
 
-# $Header: /cvsroot/nco/nco/src/Makefile.in,v 1.105 2013/11/06 18:12:24 zender Exp $ -*-makefile-*-
+# $Header: /cvsroot/nco/nco/src/Makefile.in,v 1.108 2014/01/30 07:10:11 zender Exp $ -*-makefile-*-
 VPATH = @srcdir@
 am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
 am__make_running_with_option = \
@@ -208,6 +208,7 @@ EXEEXT = @EXEEXT@
 FGREP = @FGREP@
 GREP = @GREP@
 HAVE_ANTLR = @HAVE_ANTLR@
+HAVE_MAKEINFO = @HAVE_MAKEINFO@
 I18N_SHARE = @I18N_SHARE@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
@@ -286,7 +287,6 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
-have_makeinfo = @have_makeinfo@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
diff --git a/src/nco++/Makefile.in b/src/nco++/Makefile.in
index fa7fd48..52f7d51 100644
--- a/src/nco++/Makefile.in
+++ b/src/nco++/Makefile.in
@@ -14,7 +14,7 @@
 
 @SET_MAKE@
 
-# $Header: /cvsroot/nco/nco/src/nco++/Makefile.in,v 1.93 2013/11/06 18:12:24 zender Exp $ -*-makefile-*-
+# $Header: /cvsroot/nco/nco/src/nco++/Makefile.in,v 1.96 2014/01/30 07:10:11 zender Exp $ -*-makefile-*-
 
 # Purpose: Template builds for nco++ directory
 # Process this file with automake to produce Makefile.in
@@ -229,6 +229,7 @@ EXEEXT = @EXEEXT@
 FGREP = @FGREP@
 GREP = @GREP@
 HAVE_ANTLR = @HAVE_ANTLR@
+HAVE_MAKEINFO = @HAVE_MAKEINFO@
 I18N_SHARE = @I18N_SHARE@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
@@ -307,7 +308,6 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
-have_makeinfo = @have_makeinfo@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
diff --git a/src/nco++/Makefile.old b/src/nco++/Makefile.old
index 04f1ad5..8ee9ce4 100644
--- a/src/nco++/Makefile.old
+++ b/src/nco++/Makefile.old
@@ -1,9 +1,9 @@
-# $Header: /cvsroot/nco/nco/src/nco++/Makefile.old,v 1.123 2013/06/08 21:34:11 zender Exp $ -*-makefile-*-
+# $Header: /cvsroot/nco/nco/src/nco++/Makefile.old,v 1.124 2013/12/31 05:14:02 zender Exp $ -*-makefile-*-
 
 # Purpose: Makefile for NCO C++ directory nco++
 # Requires GNU Make---AT&T Make chokes on GNU syntax
 
-# Copyright (C) 1994--2013 Charlie Zender
+# Copyright (C) 1994--2014 Charlie Zender
 # License: GNU General Public License (GPL) Version 3
 # See http://www.gnu.org/copyleft/gpl.html for full license text
 
diff --git a/src/nco++/NcapVar.hh b/src/nco++/NcapVar.hh
index a8e7f8e..0eec28c 100644
--- a/src/nco++/NcapVar.hh
+++ b/src/nco++/NcapVar.hh
@@ -38,7 +38,7 @@ public:
                   // 2 -- var is defined & data written
 
   bool flg_spl;   // true then var->val.vp is spline data 
-                  // e.g var->val.vp is gsl_spline*
+                  // e.g., var->val.vp is gsl_spline*
                   // this needs to be freed up using
                   // the gsl spline library call   
 
diff --git a/src/nco++/fmc_all_cls.cc b/src/nco++/fmc_all_cls.cc
index 619a253..7450c0b 100644
--- a/src/nco++/fmc_all_cls.cc
+++ b/src/nco++/fmc_all_cls.cc
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco++/fmc_all_cls.cc,v 1.63 2013/10/22 03:03:46 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco++/fmc_all_cls.cc,v 1.65 2014/02/17 23:12:39 zender Exp $ */
 
 /* Purpose: netCDF arithmetic processor class methods: families of functions/methods */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -2028,7 +2028,7 @@ var_sct * srt_cls::mst_fnd(bool &is_mtd, std::vector<RefAST> &args_vtr, fmc_cls
     // is the first value in var2. When necessary the var2 type is converted
     // to the var one type. The size of array is equal to the dimension size
     // arguments 
-    // e.g  var_out=array(1,-3, $time);  
+    // e.g.,  var_out=array(1,-3, $time);  
     //      var_out={1,-2,-5,-8,-11,-14,-17,-20,-23,-26 };        
     
      case PARRAY: {
@@ -3091,13 +3091,13 @@ double bil_cls::clc_lin_ipl(double x1,double x2, double x, double Q0,double Q1){
    When I say function(lowercase) I mean a C/C++ function
 
    When I refer to an ncap2  FUNC. I also mean a METHOD 
-   most of the FUNCS can be called as  METHODS  e.g  
+   most of the FUNCS can be called as  METHODS  e.g.,  
  
   sum=three_dmn_var_dbl.total($time) or sum=total(three_dmn_var_dbl,$time)
  
   So for a method the "first argument" is the evaluation of everything prefixing the DOT.
   The nice thing about METHODS is that you can daisy chain them together.  
-  e.g promote to type double - find avg - then convert back to short()
+  e.g., promote to type double - find avg - then convert back to short()
 
   three_avg=three_dmn_var_sht.double().avg($time).short();
   
diff --git a/src/nco++/fmc_all_cls.hh b/src/nco++/fmc_all_cls.hh
index 72ec9ea..4db7743 100644
--- a/src/nco++/fmc_all_cls.hh
+++ b/src/nco++/fmc_all_cls.hh
@@ -1,6 +1,6 @@
 /* Purpose: netCDF arithmetic processor class methods */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco++/fmc_cls.hh b/src/nco++/fmc_cls.hh
index 157cb2b..f1b7ae5 100644
--- a/src/nco++/fmc_cls.hh
+++ b/src/nco++/fmc_cls.hh
@@ -1,6 +1,6 @@
 /* Purpose: netCDF arithmetic processor class methods */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco++/fmc_gsl_cls.cc b/src/nco++/fmc_gsl_cls.cc
index 9ee2ea0..91338cc 100644
--- a/src/nco++/fmc_gsl_cls.cc
+++ b/src/nco++/fmc_gsl_cls.cc
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco++/fmc_gsl_cls.cc,v 1.67 2013/11/02 01:14:16 pvicente Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco++/fmc_gsl_cls.cc,v 1.69 2014/02/17 23:12:39 zender Exp $ */
 
 /* Purpose: netCDF arithmetic processor class methods for GSL */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -2828,7 +2828,7 @@ var_sct *gsl_cls::hnd_fnc_uerx(bool& is_mtd,std::vector<RefAST>&args_vtr,gpr_cls
       /* bomb out if max value of number generator can't be held in regular int */
       if( NCO_TYP_GSL_UINT==NC_INT &&  rng_max_lng > INT_MAX ){
         ostringstream os; 
-        os<<"Possible integer overflow. You are using the random number generator \"" <<rng_nm_sng<<"\". This can return a value up to "<<rng_max_lng<<". This is greater than "<<INT_MAX<<" - the maximium value that can be stored in the netcdf datatype NC_INT. Consider using another random number generator e.g ran0,fishman18 or knuthran. Consult the GSL manual for details. Alternatively recompile nco for netcdf4 and set the compile flag NCO_TYP_GSL_UINT=NC_UINT\n"; 
+        os<<"Possible integer overflow. You are using the random number generator \"" <<rng_nm_sng<<"\". This can return a value up to "<<rng_max_lng<<". This is greater than "<<INT_MAX<<" - the maximium value that can be stored in the netcdf datatype NC_INT. Consider using another random number generator e.g., ran0,fishman18 or knuthran. Consult the GSL manual for details. Alternatively recompile nco for netcdf4 and set the compile flag NCO_TYP_GSL_UINT=NC_UINT\n"; 
 
         err_prn(sfnm,os.str());
       } 
@@ -2875,7 +2875,7 @@ var_sct *gsl_cls::hnd_fnc_uerx(bool& is_mtd,std::vector<RefAST>&args_vtr,gpr_cls
           if( ui64p[idx]>INT_MAX ) {
 	    // bomb out if necessary  
             ostringstream os; 
-            os<<"Possible integer overflow. You have rquested the generation of integers up to the value of " <<ui64p[idx]<<" .This is greater than "<<INT_MAX<<" - the maximium value that can be stored in the netcdf datatype NC_INT. Consider using another random number generator e.g ran0,fishman18 or knuthran. Consult the GSL manual for details. Alternatively recompile nco for netcdf4 and set the compile flag NCO_TYP_GSL_UINT=NC_UINT\n"; 
+            os<<"Possible integer overflow. You have rquested the generation of integers up to the value of " <<ui64p[idx]<<" .This is greater than "<<INT_MAX<<" - the maximium value that can be stored in the netcdf datatype NC_INT. Consider using another random number generator e.g., ran0,fishman18 or knuthran. Consult the GSL manual for details. Alternatively recompile nco for netcdf4 and set the compile flag NCO_TYP_GSL_UINT=NC_UINT\n"; 
             err_prn(sfnm,os.str());
           }
           
diff --git a/src/nco++/fmc_gsl_cls.hh b/src/nco++/fmc_gsl_cls.hh
index 9e3b447..0829c4e 100644
--- a/src/nco++/fmc_gsl_cls.hh
+++ b/src/nco++/fmc_gsl_cls.hh
@@ -1,6 +1,6 @@
 /* Purpose: netCDF arithmetic processor class methods */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco++/libnco++.hh b/src/nco++/libnco++.hh
index 3fc52bb..5002ac6 100644
--- a/src/nco++/libnco++.hh
+++ b/src/nco++/libnco++.hh
@@ -1,8 +1,8 @@
-// $Header: /cvsroot/nco/nco/src/nco++/libnco++.hh,v 1.20 2013/10/22 03:03:50 zender Exp $ 
+// $Header: /cvsroot/nco/nco/src/nco++/libnco++.hh,v 1.21 2013/12/31 05:14:02 zender Exp $ 
 
 // Purpose: Prototypes, typedefs, and global variables for libnco++
 
-/* Copyright (C) 2006--2013 Charlie Zender
+/* Copyright (C) 2006--2014 Charlie Zender
    You may copy, distribute, and/or modify this software under the terms of the GNU General Public License (GPL) Version 2
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco++/map_srt_tmp.hh b/src/nco++/map_srt_tmp.hh
index ff26907..94dd523 100644
--- a/src/nco++/map_srt_tmp.hh
+++ b/src/nco++/map_srt_tmp.hh
@@ -34,7 +34,7 @@ void ncap_sort_and_map(var_sct *var, var_sct *var_mp, bool bd)
   tp=(T*)var->val.vp;  
   mp=new map_srt<T>[sz];          
 
-  // initalize array
+  // initialize array
   for(idx=0 ; idx<sz; idx++){
     mp[idx]._imp=idx;
     mp[idx]._V=tp[idx];
diff --git a/src/nco++/ncap2.cc b/src/nco++/ncap2.cc
index 315ef52..13565d3 100644
--- a/src/nco++/ncap2.cc
+++ b/src/nco++/ncap2.cc
@@ -1,10 +1,10 @@
-/* $Header: /cvsroot/nco/nco/src/nco++/ncap2.cc,v 1.179 2013/11/06 17:51:13 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco++/ncap2.cc,v 1.188 2014/02/14 05:22:17 zender Exp $ */
 
 /* ncap2 -- netCDF arithmetic processor */
 
 /* Purpose: Compute user-defined derived fields using forward algebraic notation applied to netCDF files */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    
    License: GNU General Public License (GPL) Version 3
    The full license text is at http://www.gnu.org/copyleft/gpl.html 
@@ -145,17 +145,18 @@ 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.179 2013/11/06 17:51:13 zender Exp $"; 
-  const char * const CVS_Revision="$Revision: 1.179 $";
+  const char * const CVS_Id="$Id: ncap2.cc,v 1.188 2014/02/14 05:22:17 zender Exp $"; 
+  const char * const CVS_Revision="$Revision: 1.188 $";
   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 */
   
-  cnk_sct **cnk=NULL_CEWI;
+  cnk_sct cnk; /* [sct] Chunking structure */
 
   dmn_sct **dmn_in=NULL_CEWI;  /* [lst] Dimensions in input file */
   dmn_sct *dmn_new;
   dmn_sct *dmn_item;
-    // Template lists
+
+  // Template lists
   NcapVector<dmn_sct*> dmn_in_vtr;  
   NcapVector<dmn_sct*> dmn_out_vtr;  
   
@@ -178,7 +179,7 @@ main(int argc,char **argv)
   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=0; /* [enm] Deflate level */
+  int dfl_lvl=NCO_DFL_LVL_UNDEFINED; /* [enm] Deflate level */
   int fl_nbr=0;
   int fl_in_fmt; /* [enm] Input file format */
   int fl_out_fmt=NCO_FORMAT_UNDEFINED; /* [enm] Output file format */
@@ -209,6 +210,7 @@ main(int argc,char **argv)
   nm_id_sct *xtr_lst_a=NULL_CEWI; /* Initialize to ALL variables in OUTPUT file */
   
   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 */
   size_t hdr_pad=0UL; /* [B] Pad at end of header section */
   size_t sng_lng;
@@ -247,9 +249,12 @@ main(int argc,char **argv)
       /* Long options with argument, no short option counterpart */
       {"bfr_sz_hnt",required_argument,0,0}, /* [B] Buffer size hint */
       {"buffer_size_hint",required_argument,0,0}, /* [B] Buffer size hint */
+      {"cnk_map",required_argument,0,0}, /* [nbr] Chunking map */
       {"chunk_map",required_argument,0,0}, /* [nbr] Chunking map */
       {"cnk_plc",required_argument,0,0}, /* [nbr] Chunking policy */
       {"chunk_policy",required_argument,0,0}, /* [nbr] Chunking policy */
+      {"cnk_byt",required_argument,0,0}, /* [B] Chunk size in bytes */
+      {"chunk_byte",required_argument,0,0}, /* [B] Chunk size in bytes */
       {"cnk_scl",required_argument,0,0}, /* [nbr] Chunk size scalar */
       {"chunk_scalar",required_argument,0,0}, /* [nbr] Chunk size scalar */
       {"cnk_dmn",required_argument,0,0}, /* [nbr] Chunk size */
@@ -327,11 +332,15 @@ main(int argc,char **argv)
 	bfr_sz_hnt=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
 	if(*sng_cnv_rcd) nco_sng_cnv_err(optarg,"strtoul",sng_cnv_rcd);
       } /* endif cnk */
+      if(!strcmp(opt_crr,"cnk_byt") || !strcmp(opt_crr,"chunk_byte")){
+        cnk_sz_byt=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
+        if(*sng_cnv_rcd) nco_sng_cnv_err(optarg,"strtoul",sng_cnv_rcd);
+      } /* endif cnk_byt */
       if(!strcmp(opt_crr,"cnk_dmn") || !strcmp(opt_crr,"chunk_dimension")){
 	/* Copy limit argument for later processing */
 	cnk_arg[cnk_nbr]=(char *)strdup(optarg);
 	cnk_nbr++;
-      } /* endif cnk */
+      } /* endif cnk_dmn */
       if(!strcmp(opt_crr,"cnk_scl") || !strcmp(opt_crr,"chunk_scalar")){
 	cnk_sz_scl=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
 	if(*sng_cnv_rcd) nco_sng_cnv_err(optarg,"strtoul",sng_cnv_rcd);
@@ -349,7 +358,7 @@ main(int argc,char **argv)
       if(!strcmp(opt_crr,"cln") || !strcmp(opt_crr,"mmr_cln") || !strcmp(opt_crr,"clean")) flg_cln=True; /* [flg] Clean memory prior to exit */
       if(!strcmp(opt_crr,"drt") || !strcmp(opt_crr,"mmr_drt") || !strcmp(opt_crr,"dirty")) flg_cln=False; /* [flg] Clean memory prior to exit */
       if(!strcmp(opt_crr,"fl_fmt") || !strcmp(opt_crr,"file_format")) rcd=nco_create_mode_prs(optarg,&fl_out_fmt);
-      if(!strcmp(opt_crr,"hdf4")) nco_hdf_cnv=nco_hdf4; /* [enm] Treat file as HDF4 */
+      if(!strcmp(opt_crr,"hdf4")) nco_fmt_xtn=nco_fmt_xtn_hdf4; /* [enm] Treat file as HDF4 */
       if(!strcmp(opt_crr,"hdr_pad") || !strcmp(opt_crr,"header_pad")){
         hdr_pad=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
         if(*sng_cnv_rcd) nco_sng_cnv_err(optarg,"strtoul",sng_cnv_rcd);
@@ -588,9 +597,6 @@ main(int argc,char **argv)
   fl_lst_in=nco_fl_lst_mk(argv,argc,optind,&fl_nbr,&fl_out,&FL_LST_IN_FROM_STDIN);
   if(fl_out) FL_OUT_NEW=True; else fl_out=(char *)strdup(fl_lst_in[0]);
   
-  /* Make uniform list of user-specified chunksizes */
-  if(cnk_nbr > 0) cnk=nco_cnk_prs(cnk_nbr,cnk_arg);
-
   /* Make uniform list of user-specified dimension limits */
   if(lmt_nbr > 0) lmt=nco_lmt_prs(lmt_nbr,lmt_arg);
   
@@ -635,6 +641,9 @@ main(int argc,char **argv)
     (void)nco_redef(out_id);
   } /* Existing file */
   
+  /* Create structure with all chunking information */
+  if(fl_out_fmt == NC_FORMAT_NETCDF4 || fl_out_fmt == NC_FORMAT_NETCDF4_CLASSIC) rcd+=nco_cnk_ini(fl_out,cnk_arg,cnk_nbr,cnk_map,cnk_plc,cnk_sz_byt,cnk_sz_scl,&cnk);
+
   /* Copy global attributes */
   (void)nco_att_cpy(in_id,out_id,NC_GLOBAL,NC_GLOBAL,(nco_bool)True);
 
@@ -698,19 +707,19 @@ main(int argc,char **argv)
   /* If we are appending (-A) then output file already contains dimensions/variables */
   if(FORCE_APPEND){
     int nbr_dmn_out=0;  
-    int nbr_var_fl=0;
     int nbr_xtr=0;
-    nm_id_sct *dmn_lst=NULL_CEWI;
-    nm_id_sct *xtr_lst=NULL_CEWI;
+    nm_id_sct *dmn_lst_out=NULL_CEWI;
+
     NcapVar *Nvar;
 
+    nbr_var_fl=0;
     var_sct *var_tmp;
 
     /* Form list of all dimensions in file */  
-    dmn_lst=nco_dmn_lst(out_id,&nbr_dmn_out);
+    dmn_lst_out=nco_dmn_lst(out_id,&nbr_dmn_out);
   
     //dmn_in=(dmn_sct **)nco_malloc(nbr_dmn_in*sizeof(dmn_sct *));
-    for(idx=0;idx<nbr_dmn_out;idx++) dmn_out_vtr.push_back(nco_dmn_fll(out_id,dmn_lst[idx].id,dmn_lst[idx].nm));
+    for(idx=0;idx<nbr_dmn_out;idx++) dmn_out_vtr.push_back(nco_dmn_fll(out_id,dmn_lst_out[idx].id,dmn_lst_out[idx].nm));
 
     // Sort vector
     dmn_out_vtr.sort();
@@ -728,19 +737,19 @@ main(int argc,char **argv)
     rcd=nco_inq(out_id,(int *)NULL,&nbr_var_fl,(int *)NULL,(int *)NULL);
   
     /* Make list of all new variables in output_file */  
-    xtr_lst=nco_var_lst_mk(out_id,nbr_var_fl,(char**)NULL,False,False,&nbr_xtr);      
+    xtr_lst_a=nco_var_lst_mk(out_id,nbr_var_fl,(char**)NULL,False,False,&nbr_xtr);      
     for(idx=0;idx<nbr_var_fl;idx++){
-      var_tmp=prs_arg.ncap_var_init(xtr_lst[idx].nm,false);
+      var_tmp=prs_arg.ncap_var_init(xtr_lst_a[idx].nm,false);
       Nvar=new NcapVar(var_tmp); 
       Nvar->flg_stt=2;   
       prs_arg.var_vtr.push(Nvar);
       /* Copy output attributes into var_vtr */
-      ncap_att_gnrl(xtr_lst[idx].nm, xtr_lst[idx].nm,2,&prs_arg);        
+      ncap_att_gnrl(xtr_lst_a[idx].nm, xtr_lst_a[idx].nm,2,&prs_arg);        
     } /* end loop over variables */
 
     /* Free lists */
-    dmn_lst=nco_nm_id_lst_free(dmn_lst,nbr_dmn_out);
-    xtr_lst=nco_nm_id_lst_free(xtr_lst,nbr_xtr);
+    dmn_lst_out=nco_nm_id_lst_free(dmn_lst_out,nbr_dmn_out);
+    xtr_lst_a=nco_nm_id_lst_free(xtr_lst_a,nbr_xtr);
   } /* !FORCE_APPEND */
 
   if(fl_spt_usr == NULL_CEWI){
@@ -770,7 +779,6 @@ main(int argc,char **argv)
   
   /* Make list of all new variables in output_file */  
   xtr_lst_a=nco_var_lst_mk(out_id,nbr_var_fl,var_lst_in,False,False,&nbr_lst_a);
-
   
   if(PROCESS_ALL_VARS){
     /* Get number of variables in input file */
@@ -873,7 +881,6 @@ main(int argc,char **argv)
   
   /* Write out new attributes possibly overwriting old ones */
   for(idx=0;idx<var_vtr.size();idx++){
-
    
     if(var_vtr[idx]->xpr_typ == ncap_var){
       int rcd_inq_att;
@@ -959,7 +966,7 @@ main(int argc,char **argv)
   } /* end for */
   
   /* Set chunksize parameters */
-  if(fl_out_fmt == NC_FORMAT_NETCDF4 || fl_out_fmt == NC_FORMAT_NETCDF4_CLASSIC) (void)nco_cnk_sz_set(out_id,(lmt_msa_sct **)NULL_CEWI,(int)0,&cnk_map,&cnk_plc,cnk_sz_scl,cnk,cnk_nbr);
+  if(fl_out_fmt == NC_FORMAT_NETCDF4 || fl_out_fmt == NC_FORMAT_NETCDF4_CLASSIC) (void)nco_cnk_sz_set(out_id,(lmt_msa_sct **)NULL_CEWI,(int)0,&cnk_map,&cnk_plc,cnk_sz_scl,cnk.cnk_dmn,cnk_nbr);
 
   /* Turn off default filling behavior to enhance efficiency */
   nco_set_fill(out_id,NC_NOFILL,&fll_md_old);
@@ -1019,7 +1026,7 @@ main(int argc,char **argv)
     if(lmt_nbr > 0) lmt=nco_lmt_lst_free(lmt,lmt_nbr);
     /* Free chunking information */
     for(idx=0;idx<cnk_nbr;idx++) cnk_arg[idx]=(char *)nco_free(cnk_arg[idx]);
-    if(cnk_nbr > 0) cnk=nco_cnk_lst_free(cnk,cnk_nbr);
+    if(cnk_nbr > 0) cnk.cnk_dmn=(cnk_dmn_sct **)nco_cnk_lst_free(cnk.cnk_dmn,cnk_nbr);
     /* Free dimension vectors */
     if(dmn_in_vtr.size() > 0) { 
       for(idx=0;idx<dmn_in_vtr.size();idx++)
@@ -1134,14 +1141,10 @@ ram_vars_add
   char buff[20];
   double dnan;
 #ifndef _MSC_VER
-  if( dnan=nan(buff) ){
+  if( (dnan=nan(buff)) ){
     var1=ncap_sclr_var_mk(std::string("nan"),dnan);    //double
     prs_arg->ncap_var_write(var1,true);
   }
 #endif
 
-
-
-
-
 } // end ram_vars_add()
diff --git a/src/nco++/ncap2_utl.cc b/src/nco++/ncap2_utl.cc
index 82addb3..7e444ea 100644
--- a/src/nco++/ncap2_utl.cc
+++ b/src/nco++/ncap2_utl.cc
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco++/ncap2_utl.cc,v 1.154 2013/10/22 03:03:55 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco++/ncap2_utl.cc,v 1.157 2014/02/17 23:12:39 zender Exp $ */
 
 /* Purpose: netCDF arithmetic processor */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -47,7 +47,7 @@ ncap_att_get
  prs_cls *prs_arg)
 {
   int rcd;
-  int fl_id;
+  int fl_id=int_CEWI;
   long sz;
 
   char *ln_nm;
@@ -190,7 +190,7 @@ ncap_att_gnrl
   int rcd;
   int var_id; 
   int nbr_att;
-  int fl_id;
+  int fl_id=int_CEWI;
   char att_nm[NC_MAX_NAME]; 
   const char *tmp_att_nm;
   const char scl_fct_sng[]="scale_factor"; /* [sng] Unidata standard string for scale factor */
@@ -2147,7 +2147,7 @@ ncap_dmn_mtd(
   
   str_vtr_sz=str_vtr.size();
   for(idx=0 ; idx <str_vtr_sz ; idx++){
-    // deal with position args e.g $0,$1,$2 etc
+    // deal with position args e.g., $0,$1,$2 etc
     if( str_is_num(str_vtr[idx])) {
       icnt=atoi(str_vtr[idx].c_str());
       if(icnt < nbr_dim && !dmn_vtr.find(var->dim[icnt]->nm)) 
diff --git a/src/nco++/ncoEnumTokenTypes.hpp b/src/nco++/ncoEnumTokenTypes.hpp
index a003430..55f31a5 100644
--- a/src/nco++/ncoEnumTokenTypes.hpp
+++ b/src/nco++/ncoEnumTokenTypes.hpp
@@ -1,7 +1,7 @@
 #ifndef INC_ncoEnumTokenTypes_hpp_
 #define INC_ncoEnumTokenTypes_hpp_
 
-/* $ANTLR 2.7.7 (2006-11-01): "ncoGrammer.g" -> "ncoEnumTokenTypes.hpp"$ */
+/* $ANTLR 2.7.7 (20100319): "ncoGrammer.g" -> "ncoEnumTokenTypes.hpp"$ */
 
 #ifndef CUSTOM_API
 # define CUSTOM_API
diff --git a/src/nco++/ncoGrammer.g b/src/nco++/ncoGrammer.g
index 36b042e..4a0639b 100644
--- a/src/nco++/ncoGrammer.g
+++ b/src/nco++/ncoGrammer.g
@@ -1,5 +1,5 @@
 header {
-/* $Header: /cvsroot/nco/nco/src/nco++/ncoGrammer.g,v 1.203 2013/10/22 03:03:55 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco++/ncoGrammer.g,v 1.205 2014/02/17 23:12:39 zender Exp $ */
 
 /* Purpose: ANTLR Grammar and support files for ncap2 */
 
@@ -570,7 +570,7 @@ DIM_VAL options { paraphrase="dimension identifier"; }
          )? 
    ;  
 
-// Shorthand for naming dims in method e.g $0,$1, $2 etc
+// Shorthand for naming dims in method e.g., $0,$1, $2 etc
 DIM_MTD_ID 
   options{paraphrase="dimension identifier";} 
   : '$'! (DGT)+
@@ -1293,7 +1293,7 @@ static std::vector<std::string> lpp_vtr;
         prn_sng=strdup(pstr->getText().c_str());
         (void)sng_ascii_trn(prn_sng);            
 
-        fprintf(stdout,prn_sng);
+        fprintf(stdout,"%s",prn_sng);
         prn_sng=(char*)nco_free(prn_sng);
       }    
     }
@@ -1694,7 +1694,7 @@ end0:         if(lmt->getNextSibling() && lmt->getNextSibling()->getType()==NORE
               // If the RHS has size one or is an attribute or an irregular hyperslab
               // then we neet to use the var_cst as the shape of the written variable.
               // It is possible for the cast on the LHS to have a size of one and the RHS 
-              // to have a size of one e.g if the dim(s) in the list have a size of one   
+              // to have a size of one e.g., if the dim(s) in the list have a size of one   
               bool br1=(var_cst->sz >=1 && var1->sz==1);
               bool br2=(var_cst->sz==var1->sz &&  ( ncap_var_is_att(var1) ||var1->has_dpl_dmn==-1 ));
 
diff --git a/src/nco++/ncoLexer.cpp b/src/nco++/ncoLexer.cpp
index 733ac94..585f930 100644
--- a/src/nco++/ncoLexer.cpp
+++ b/src/nco++/ncoLexer.cpp
@@ -1,4 +1,4 @@
-/* $ANTLR 2.7.7 (2006-11-01): "ncoGrammer.g" -> "ncoLexer.cpp"$ */
+/* $ANTLR 2.7.7 (20100319): "ncoGrammer.g" -> "ncoLexer.cpp"$ */
 #include "ncoLexer.hpp"
 #include <antlr/CharBuffer.hpp>
 #include <antlr/TokenStreamException.hpp>
diff --git a/src/nco++/ncoLexer.hpp b/src/nco++/ncoLexer.hpp
index 64252b0..2aeca22 100644
--- a/src/nco++/ncoLexer.hpp
+++ b/src/nco++/ncoLexer.hpp
@@ -2,7 +2,7 @@
 #define INC_ncoLexer_hpp_
 
 #include <antlr/config.hpp>
-/* $ANTLR 2.7.7 (2006-11-01): "ncoGrammer.g" -> "ncoLexer.hpp"$ */
+/* $ANTLR 2.7.7 (20100319): "ncoGrammer.g" -> "ncoLexer.hpp"$ */
 #include <antlr/CommonToken.hpp>
 #include <antlr/InputBuffer.hpp>
 #include <antlr/BitSet.hpp>
@@ -10,7 +10,7 @@
 #include <antlr/CharScanner.hpp>
 #line 1 "ncoGrammer.g"
 
-/* $Header: /cvsroot/nco/nco/src/nco++/ncoLexer.hpp,v 1.127 2013/10/18 18:15:41 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco++/ncoLexer.hpp,v 1.128 2014/02/19 17:22:12 zender Exp $ */
 
 /* Purpose: ANTLR Grammar and support files for ncap2 */
 
diff --git a/src/nco++/ncoParser.cpp b/src/nco++/ncoParser.cpp
index 976adc0..69f2f7b 100644
--- a/src/nco++/ncoParser.cpp
+++ b/src/nco++/ncoParser.cpp
@@ -1,4 +1,4 @@
-/* $ANTLR 2.7.7 (2006-11-01): "ncoGrammer.g" -> "ncoParser.cpp"$ */
+/* $ANTLR 2.7.7 (20100319): "ncoGrammer.g" -> "ncoParser.cpp"$ */
 #include "ncoParser.hpp"
 #include <antlr/NoViableAltException.hpp>
 #include <antlr/SemanticException.hpp>
diff --git a/src/nco++/ncoParser.hpp b/src/nco++/ncoParser.hpp
index ee325d0..4d0e99a 100644
--- a/src/nco++/ncoParser.hpp
+++ b/src/nco++/ncoParser.hpp
@@ -2,7 +2,7 @@
 #define INC_ncoParser_hpp_
 
 #include <antlr/config.hpp>
-/* $ANTLR 2.7.7 (2006-11-01): "ncoGrammer.g" -> "ncoParser.hpp"$ */
+/* $ANTLR 2.7.7 (20100319): "ncoGrammer.g" -> "ncoParser.hpp"$ */
 #include <antlr/TokenStream.hpp>
 #include <antlr/TokenBuffer.hpp>
 #include "ncoParserTokenTypes.hpp"
@@ -10,7 +10,7 @@
 
 #line 1 "ncoGrammer.g"
 
-/* $Header: /cvsroot/nco/nco/src/nco++/ncoParser.hpp,v 1.124 2013/10/18 18:15:41 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco++/ncoParser.hpp,v 1.125 2014/02/19 17:22:12 zender Exp $ */
 
 /* Purpose: ANTLR Grammar and support files for ncap2 */
 
diff --git a/src/nco++/ncoParserTokenTypes.hpp b/src/nco++/ncoParserTokenTypes.hpp
index 5d82af6..3ef0220 100644
--- a/src/nco++/ncoParserTokenTypes.hpp
+++ b/src/nco++/ncoParserTokenTypes.hpp
@@ -1,7 +1,7 @@
 #ifndef INC_ncoParserTokenTypes_hpp_
 #define INC_ncoParserTokenTypes_hpp_
 
-/* $ANTLR 2.7.7 (2006-11-01): "ncoGrammer.g" -> "ncoParserTokenTypes.hpp"$ */
+/* $ANTLR 2.7.7 (20100319): "ncoGrammer.g" -> "ncoParserTokenTypes.hpp"$ */
 
 #ifndef CUSTOM_API
 # define CUSTOM_API
diff --git a/src/nco++/ncoTree.cpp b/src/nco++/ncoTree.cpp
index bac65f2..057ce71 100644
--- a/src/nco++/ncoTree.cpp
+++ b/src/nco++/ncoTree.cpp
@@ -1,4 +1,4 @@
-/* $ANTLR 2.7.7 (2006-11-01): "ncoGrammer.g" -> "ncoTree.cpp"$ */
+/* $ANTLR 2.7.7 (20100319): "ncoGrammer.g" -> "ncoTree.cpp"$ */
 #include "ncoTree.hpp"
 #include <antlr/Token.hpp>
 #include <antlr/AST.hpp>
@@ -705,7 +705,7 @@ int  ncoTree::statements(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
 							prn_sng=strdup(pstr->getText().c_str());
 							(void)sng_ascii_trn(prn_sng);            
 							
-							fprintf(stdout,prn_sng);
+							fprintf(stdout,"%s",prn_sng);
 							prn_sng=(char*)nco_free(prn_sng);
 							}    
 							
@@ -2816,7 +2816,7 @@ var_sct * ncoTree::assign(ANTLR_USE_NAMESPACE(antlr)RefAST _t,
 					// If the RHS has size one or is an attribute or an irregular hyperslab
 					// then we neet to use the var_cst as the shape of the written variable.
 					// It is possible for the cast on the LHS to have a size of one and the RHS 
-					// to have a size of one e.g if the dim(s) in the list have a size of one   
+					// to have a size of one e.g., if the dim(s) in the list have a size of one   
 					bool br1=(var_cst->sz >=1 && var1->sz==1);
 					bool br2=(var_cst->sz==var1->sz &&  ( ncap_var_is_att(var1) ||var1->has_dpl_dmn==-1 ));
 					
diff --git a/src/nco++/ncoTree.hpp b/src/nco++/ncoTree.hpp
index ca5856d..f95447b 100644
--- a/src/nco++/ncoTree.hpp
+++ b/src/nco++/ncoTree.hpp
@@ -3,12 +3,12 @@
 
 #include <antlr/config.hpp>
 #include "ncoParserTokenTypes.hpp"
-/* $ANTLR 2.7.7 (2006-11-01): "ncoGrammer.g" -> "ncoTree.hpp"$ */
+/* $ANTLR 2.7.7 (20100319): "ncoGrammer.g" -> "ncoTree.hpp"$ */
 #include <antlr/TreeParser.hpp>
 
 #line 1 "ncoGrammer.g"
 
-/* $Header: /cvsroot/nco/nco/src/nco++/ncoTree.hpp,v 1.147 2013/10/18 18:15:41 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco++/ncoTree.hpp,v 1.148 2014/02/19 17:22:12 zender Exp $ */
 
 /* Purpose: ANTLR Grammar and support files for ncap2 */
 
diff --git a/src/nco++/nco_gsl.c b/src/nco++/nco_gsl.c
index 794cc6c..9a883d6 100644
--- a/src/nco++/nco_gsl.c
+++ b/src/nco++/nco_gsl.c
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/nco/nco/src/nco++/nco_gsl.c,v 1.7 2013/01/14 04:20:52 pvicente Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco++/nco_gsl.c,v 1.8 2013/12/31 05:14:02 zender Exp $ */
 
 /* Purpose: GSL functions that handle missing values */
 
@@ -9,7 +9,7 @@
    GSL and NCO are both distributed under the GPL3 license.
    The GSL code is copyright by its respective authors.
    The NCO modifications that provide missing value support are, in addition, 
-   Copyright (C) 2013--2013 Charlie Zender
+   Copyright (C) 2013--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text
 
diff --git a/src/nco++/nco_gsl.h b/src/nco++/nco_gsl.h
index c952554..0514b7d 100644
--- a/src/nco++/nco_gsl.h
+++ b/src/nco++/nco_gsl.h
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/nco/nco/src/nco++/nco_gsl.h,v 1.6 2013/01/14 01:02:14 pvicente Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco++/nco_gsl.h,v 1.7 2013/12/31 05:14:02 zender Exp $ */
 
 /* Purpose: GSL functions that handle missing values */
 
@@ -9,7 +9,7 @@
    GSL and NCO are both distributed under the GPL3 license.
    The GSL code is copyright by its respective authors.
    The NCO modifications that provide missing value support are, in addition, 
-   Copyright (C) 2013--2013 Charlie Zender
+   Copyright (C) 2013--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text
 
diff --git a/src/nco++/prs_cls.cc b/src/nco++/prs_cls.cc
index 23e8976..8f620b2 100644
--- a/src/nco++/prs_cls.cc
+++ b/src/nco++/prs_cls.cc
@@ -1,9 +1,9 @@
-/* $Header: /cvsroot/nco/nco/src/nco++/prs_cls.cc,v 1.30 2013/10/22 03:03:55 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco++/prs_cls.cc,v 1.33 2014/02/12 17:39:51 zender Exp $ */
 
 /* Purpose: netCDF arithmetic processor */
 /* prs_cls -- symbol table - class methods */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -449,7 +449,7 @@ prs_cls::ncap_var_write_omp(
     
     var_out_id=var->id;
   } 
-  rcd=nco_inq_varid_flg(out_id,var->nm,&var_out_id);
+  nco_inq_varid_flg(out_id,var->nm,&var_out_id);
   
   // Only go into define mode if necessary
   if(!bdef || var->pck_ram ){  
@@ -463,17 +463,19 @@ prs_cls::ncap_var_write_omp(
     if(!bdef){
       (void)nco_def_var(out_id,var->nm,var->type,var->nbr_dim,var->dmn_id,&var_out_id);
       
-      // set deflate, shuffle, chunking
-      if(var->nbr_dim > 0){
-	/* Set HDF Lempel-Ziv compression level, if requested */
-	if(dfl_lvl > 0) 
-	  (void)nco_def_var_deflate(out_id,var_out_id,var->shuffle,(int)True,dfl_lvl);    
-	else if(var->dfl_lvl)
-	  (void)nco_def_var_deflate(out_id,var_out_id,var->shuffle,(int)True,var->dfl_lvl);    
-	
-	/* Set chunk sizes, if requested */
-	// fxm: must first allow cnk_sz specification in ncap2.cc main()
-	//if(var->cnk_sz && var->nbr_dim > 0) (void)nco_def_var_chunking(out_id,var_id,(int)NC_CHUNKED,var->cnk_sz);
+      /* Set HDF Lempel-Ziv compression level, if requested */
+      int fl_fmt; /* [enm] Output file format */
+      (void)nco_inq_format(out_id,&fl_fmt);
+      if(fl_fmt == NC_FORMAT_NETCDF4 || fl_fmt == NC_FORMAT_NETCDF4_CLASSIC){
+	if(var->nbr_dim > 0){
+	  if(dfl_lvl >= 0) (void)nco_def_var_deflate(out_id,var_out_id,var->shuffle,(int)True,dfl_lvl); else if(var->dfl_lvl >= 0) (void)nco_def_var_deflate(out_id,var_out_id,var->shuffle,(int)True,var->dfl_lvl);    
+	  
+	  /* Set chunk sizes, if requested */
+	  // fxm: must first allow cnk_sz specification in ncap2.cc main()
+	  //if(var->cnk_sz && var->nbr_dim > 0) (void)nco_def_var_chunking(out_id,var_id,(int)NC_CHUNKED,var->cnk_sz);
+      } /* endif netCDF4 */
+
+
       } /* endif */
       
     } // bdef
@@ -564,18 +566,19 @@ void prs_cls::ncap_def_ntl_scn(void)
 	Nvar->var->nc_id=out_id;
 	Nvar->flg_stt=1;
 	
-        // Set deflation, shuffle, chunking 
-        if(var1->nbr_dim > 0){ 
-	  /* Set HDF Lempel-Ziv compression level, if requested */
-	  if(dfl_lvl > 0) 
-            (void)nco_def_var_deflate(out_id,var_id,var1->shuffle,(int)True,dfl_lvl);    
-          else if(var1->dfl_lvl)
-            (void)nco_def_var_deflate(out_id,var_id,var1->shuffle,(int)True,var1->dfl_lvl);    
-	  
-	  /* Set chunk sizes, if requested */
-	  // fxm: must first allow cnk_sz specification in ncap2.cc main()
-	  //if(var1->cnk_sz && var1->nbr_dim > 0) (void)nco_def_var_chunking(out_id,var_id,(int)NC_CHUNKED,var1->cnk_sz);
-	} /* endif */
+	/* Set HDF Lempel-Ziv compression level, if requested */
+	int fl_fmt; /* [enm] Output file format */
+	int rcd; /* [rcd] Return code */
+	(void)nco_inq_format(out_id,&fl_fmt);
+	if(fl_fmt == NC_FORMAT_NETCDF4 || fl_fmt == NC_FORMAT_NETCDF4_CLASSIC){
+	  if(var1->nbr_dim > 0){ 
+	    if(dfl_lvl >= 0) (void)nco_def_var_deflate(out_id,var_id,var1->shuffle,(int)True,dfl_lvl); else if(var1->dfl_lvl >= 0) (void)nco_def_var_deflate(out_id,var_id,var1->shuffle,(int)True,var1->dfl_lvl);    
+	    
+	    /* Set chunk sizes, if requested */
+	    // fxm: must first allow cnk_sz specification in ncap2.cc main()
+	    //if(var1->cnk_sz && var1->nbr_dim > 0) (void)nco_def_var_chunking(out_id,var_id,(int)NC_CHUNKED,var1->cnk_sz);
+	  } /* endif */
+	} /* endif netCDF4 */
 	
       } else { 
 	//deal with RAM only var        
diff --git a/src/nco++/prs_cls.hh b/src/nco++/prs_cls.hh
index c72fbe7..150a299 100644
--- a/src/nco++/prs_cls.hh
+++ b/src/nco++/prs_cls.hh
@@ -1,7 +1,7 @@
 /* Purpose: netCDF arithmetic processor -  */
 /* prs_cls -- symbol table - data members & class methods */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco++/sdo_utl.cc b/src/nco++/sdo_utl.cc
index 7b9084b..911a3e3 100644
--- a/src/nco++/sdo_utl.cc
+++ b/src/nco++/sdo_utl.cc
@@ -1,8 +1,8 @@
-// $Header: /cvsroot/nco/nco/src/nco++/sdo_utl.cc,v 1.5 2013/10/22 03:03:55 zender Exp $ 
+// $Header: /cvsroot/nco/nco/src/nco++/sdo_utl.cc,v 1.6 2013/12/31 05:14:02 zender Exp $ 
 
 // Purpose: Implementation (declaration) of SDO stand-alone utilities 
 
-/* Copyright (C) 1997--2013 Charlie Zender
+/* Copyright (C) 1997--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco++/sdo_utl.hh b/src/nco++/sdo_utl.hh
index 77cd098..b17057d 100644
--- a/src/nco++/sdo_utl.hh
+++ b/src/nco++/sdo_utl.hh
@@ -1,8 +1,8 @@
-// $Header: /cvsroot/nco/nco/src/nco++/sdo_utl.hh,v 1.5 2013/10/22 03:03:55 zender Exp $ 
+// $Header: /cvsroot/nco/nco/src/nco++/sdo_utl.hh,v 1.6 2013/12/31 05:14:02 zender Exp $ 
 
 // Purpose: Description (definition) of SDO stand-alone utilities
 
-/* Copyright (C) 1997--2013 Charlie Zender
+/* Copyright (C) 1997--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco/Makefile.in b/src/nco/Makefile.in
index 6170563..65e84b9 100644
--- a/src/nco/Makefile.in
+++ b/src/nco/Makefile.in
@@ -14,7 +14,7 @@
 
 @SET_MAKE@
 
-# $Header: /cvsroot/nco/nco/src/nco/Makefile.in,v 1.148 2013/12/02 01:12:47 zender Exp $ -*-makefile-*-
+# $Header: /cvsroot/nco/nco/src/nco/Makefile.in,v 1.151 2014/01/30 07:10:11 zender Exp $ -*-makefile-*-
 
 
 VPATH = @srcdir@
@@ -533,6 +533,7 @@ EXEEXT = @EXEEXT@
 FGREP = @FGREP@
 GREP = @GREP@
 HAVE_ANTLR = @HAVE_ANTLR@
+HAVE_MAKEINFO = @HAVE_MAKEINFO@
 I18N_SHARE = @I18N_SHARE@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
@@ -611,7 +612,6 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
-have_makeinfo = @have_makeinfo@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
diff --git a/src/nco/libnco.h b/src/nco/libnco.h
index e54cb01..3e6bb7a 100644
--- a/src/nco/libnco.h
+++ b/src/nco/libnco.h
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/libnco.h,v 1.58 2013/11/24 04:05:41 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/libnco.h,v 1.59 2013/12/31 05:14:01 zender Exp $ */
 
 /* Purpose: netCDF Operator (NCO) library */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco/mpncbo.c b/src/nco/mpncbo.c
index 472a8db..8abd5eb 100644
--- a/src/nco/mpncbo.c
+++ b/src/nco/mpncbo.c
@@ -1,11 +1,11 @@
-/* $Header: /cvsroot/nco/nco/src/nco/mpncbo.c,v 1.138 2013/12/02 01:05:56 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/mpncbo.c,v 1.142 2014/01/06 06:46:04 zender Exp $ */
 
 /* mpncbo -- netCDF binary operator */
 
 /* Purpose: Compute sum, difference, product, or ratio of specified hyperslabs of specfied variables
    from two input netCDF files and output them to a single file. */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    
    License: GNU General Public License (GPL) Version 3
    The full license text is at http://www.gnu.org/copyleft/gpl.html 
@@ -127,11 +127,11 @@ 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.138 2013/12/02 01:05:56 zender Exp $"; 
-  const char * const CVS_Revision="$Revision: 1.138 $";
+  const char * const CVS_Id="$Id: mpncbo.c,v 1.142 2014/01/06 06:46:04 zender Exp $"; 
+  const char * const CVS_Revision="$Revision: 1.142 $";
   const char * const opt_sht_lst="3467ACcD:d:FhL:l:Oo:p:rRSt:v:X:xy:-:";
   
-  cnk_sct **cnk=NULL_CEWI;
+  cnk_dmn_sct **cnk_dmn=NULL_CEWI;
 
 #if defined(__cplusplus) || defined(PGI_CC)
   ddra_info_sct ddra_info;
@@ -160,7 +160,7 @@ main(int argc,char **argv)
   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=0; /* [enm] Deflate level */
+  int dfl_lvl=NCO_DFL_LVL_UNDEFINED; /* [enm] Deflate level */
   int fl_idx;
   int fl_nbr=0;
   int fl_in_fmt_1; /* [enm] Input file format */
@@ -205,6 +205,7 @@ main(int argc,char **argv)
   nm_id_sct *xtr_lst_2=NULL; /* xtr_lst_2 may be alloc()'d from NULL with -c option */
   
   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 */
   size_t hdr_pad=0UL; /* [B] Pad at end of header section */
 
@@ -264,6 +265,8 @@ main(int argc,char **argv)
       {"chunk_map",required_argument,0,0}, /* [nbr] Chunking map */
       {"cnk_plc",required_argument,0,0}, /* [nbr] Chunking policy */
       {"chunk_policy",required_argument,0,0}, /* [nbr] Chunking policy */
+      {"cnk_byt",required_argument,0,0}, /* [B] Chunk size in bytes */
+      {"chunk_byte",required_argument,0,0}, /* [B] Chunk size in bytes */
       {"cnk_scl",required_argument,0,0}, /* [nbr] Chunk size scalar */
       {"chunk_scalar",required_argument,0,0}, /* [nbr] Chunk size scalar */
       {"cnk_dmn",required_argument,0,0}, /* [nbr] Chunk size */
@@ -346,6 +349,10 @@ main(int argc,char **argv)
 	bfr_sz_hnt=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
 	if(*sng_cnv_rcd) nco_sng_cnv_err(optarg,"strtoul",sng_cnv_rcd);
       } /* endif cnk */
+      if(!strcmp(opt_crr,"cnk_byt") || !strcmp(opt_crr,"chunk_byte")){
+        cnk_sz_byt=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
+        if(*sng_cnv_rcd) nco_sng_cnv_err(optarg,"strtoul",sng_cnv_rcd);
+      } /* endif cnk_byt */
       if(!strcmp(opt_crr,"cnk_dmn") || !strcmp(opt_crr,"chunk_dimension")){
 	/* Copy limit argument for later processing */
 	cnk_arg[cnk_nbr]=(char *)strdup(optarg);
@@ -499,7 +506,7 @@ main(int argc,char **argv)
   fl_lst_in=nco_fl_lst_mk(argv,argc,optind,&fl_nbr,&fl_out,&FL_LST_IN_FROM_STDIN);
   
   /* Make uniform list of user-specified chunksizes */
-  if(cnk_nbr > 0) cnk=nco_cnk_prs(cnk_nbr,cnk_arg);
+  if(cnk_nbr > 0) cnk_dmn=nco_cnk_prs(cnk_nbr,cnk_arg);
 
   /* Make uniform list of user-specified dimension limits */
   lmt=nco_lmt_prs(lmt_nbr,lmt_arg);
@@ -725,7 +732,7 @@ main(int argc,char **argv)
     (void)nco_var_dfn(in_id_1,fl_out,out_id,var_out,xtr_nbr_1,(dmn_sct **)NULL,(int)0,nco_pck_plc_nil,nco_pck_map_nil,dfl_lvl);
     
     /* Set chunksize parameters */
-    if(fl_out_fmt == NC_FORMAT_NETCDF4 || fl_out_fmt == NC_FORMAT_NETCDF4_CLASSIC) (void)nco_cnk_sz_set(out_id,lmt_all_lst,nbr_dmn_fl_1,&cnk_map,&cnk_plc,cnk_sz_scl,cnk,cnk_nbr);
+    if(fl_out_fmt == NC_FORMAT_NETCDF4 || fl_out_fmt == NC_FORMAT_NETCDF4_CLASSIC) (void)nco_cnk_sz_set(out_id,lmt_all_lst,nbr_dmn_fl_1,&cnk_map,&cnk_plc,cnk_sz_scl,cnk_dmn,cnk_nbr);
 
     /* Turn off default filling behavior to enhance efficiency */
     nco_set_fill(out_id,NC_NOFILL,&fll_md_old);
@@ -934,7 +941,7 @@ main(int argc,char **argv)
 	    if(RAM_OPEN) md_open=NC_WRITE|NC_SHARE|NC_DISKLESS; else md_open=NC_WRITE|NC_SHARE;
 	    rcd=nco_fl_open(fl_out_tmp,md_open,&bfr_sz_hnt,&out_id);
 	    /* Set chunksize parameters */
-	    if(fl_out_fmt == NC_FORMAT_NETCDF4 || fl_out_fmt == NC_FORMAT_NETCDF4_CLASSIC) (void)nco_cnk_sz_set(out_id,lmt_all_lst,nbr_dmn_fl_1,&cnk_map,&cnk_plc,cnk_sz_scl,cnk,cnk_nbr);
+	    if(fl_out_fmt == NC_FORMAT_NETCDF4 || fl_out_fmt == NC_FORMAT_NETCDF4_CLASSIC) (void)nco_cnk_sz_set(out_id,lmt_all_lst,nbr_dmn_fl_1,&cnk_map,&cnk_plc,cnk_sz_scl,cnk_dmn,cnk_nbr);
 
 	    /* Turn off default filling behavior to enhance efficiency */
 	    nco_set_fill(out_id,NC_NOFILL,&fll_md_old);
@@ -1040,7 +1047,7 @@ main(int argc,char **argv)
     if(aux_nbr > 0) aux=(lmt_sct **)nco_free(aux);
     /* Free chunking information */
     for(idx=0;idx<cnk_nbr;idx++) cnk_arg[idx]=(char *)nco_free(cnk_arg[idx]);
-    if(cnk_nbr > 0) cnk=nco_cnk_lst_free(cnk,cnk_nbr);
+    if(cnk_nbr > 0) cnk_dmn=nco_cnk_lst_free(cnk_dmn,cnk_nbr);
     /* Free dimension lists */
     if(nbr_dmn_xtr_1 > 0) dim_1=nco_dmn_lst_free(dim_1,nbr_dmn_xtr_1);
     if(nbr_dmn_xtr_2 > 0) dim_2=nco_dmn_lst_free(dim_2,nbr_dmn_xtr_2);
diff --git a/src/nco/mpncecat.c b/src/nco/mpncecat.c
index c9abf77..321ebd7 100644
--- a/src/nco/mpncecat.c
+++ b/src/nco/mpncecat.c
@@ -1,10 +1,10 @@
-/* $Header: /cvsroot/nco/nco/src/nco/mpncecat.c,v 1.115 2013/11/06 17:51:13 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/mpncecat.c,v 1.119 2014/01/06 06:46:04 zender Exp $ */
 
 /* ncecat -- netCDF ensemble concatenator */
 
 /* Purpose: Join variables across files into a new record variable */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    
    License: GNU General Public License (GPL) Version 3
    The full license text is at http://www.gnu.org/copyleft/gpl.html 
@@ -102,11 +102,11 @@ 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.115 2013/11/06 17:51:13 zender Exp $"; 
-  const char * const CVS_Revision="$Revision: 1.115 $";
+  const char * const CVS_Id="$Id: mpncecat.c,v 1.119 2014/01/06 06:46:04 zender Exp $"; 
+  const char * const CVS_Revision="$Revision: 1.119 $";
   const char * const opt_sht_lst="3467ACcD:d:FHhL:l:n:Oo:p:rRSt:u:v:X:x-:";
   
-  cnk_sct **cnk=NULL_CEWI;
+  cnk_dmn_sct **cnk_dmn=NULL_CEWI;
 
   dmn_sct *rec_dmn;
   dmn_sct **dim;
@@ -127,7 +127,7 @@ main(int argc,char **argv)
   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=0; /* [enm] Deflate level */
+  int dfl_lvl=NCO_DFL_LVL_UNDEFINED; /* [enm] Deflate level */
   int fl_idx;
   int fl_nbr=0;
   int fl_in_fmt; /* [enm] Input file format */
@@ -162,6 +162,7 @@ main(int argc,char **argv)
   nm_id_sct *xtr_lst=NULL; /* xtr_lst may be alloc()'d from NULL with -c option */
   
   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 */
   size_t hdr_pad=0UL; /* [B] Pad at end of header section */
   
@@ -219,6 +220,8 @@ main(int argc,char **argv)
       {"chunk_map",required_argument,0,0}, /* [nbr] Chunking map */
       {"cnk_plc",required_argument,0,0}, /* [nbr] Chunking policy */
       {"chunk_policy",required_argument,0,0}, /* [nbr] Chunking policy */
+      {"cnk_byt",required_argument,0,0}, /* [B] Chunk size in bytes */
+      {"chunk_byte",required_argument,0,0}, /* [B] Chunk size in bytes */
       {"cnk_scl",required_argument,0,0}, /* [nbr] Chunk size scalar */
       {"chunk_scalar",required_argument,0,0}, /* [nbr] Chunk size scalar */
       {"cnk_dmn",required_argument,0,0}, /* [nbr] Chunk size */
@@ -303,6 +306,10 @@ main(int argc,char **argv)
 	bfr_sz_hnt=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
 	if(*sng_cnv_rcd) nco_sng_cnv_err(optarg,"strtoul",sng_cnv_rcd);
       } /* endif cnk */
+      if(!strcmp(opt_crr,"cnk_byt") || !strcmp(opt_crr,"chunk_byte")){
+        cnk_sz_byt=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
+        if(*sng_cnv_rcd) nco_sng_cnv_err(optarg,"strtoul",sng_cnv_rcd);
+      } /* endif cnk_byt */
       if(!strcmp(opt_crr,"cnk_dmn") || !strcmp(opt_crr,"chunk_dimension")){
 	/* Copy limit argument for later processing */
 	cnk_arg[cnk_nbr]=(char *)strdup(optarg);
@@ -465,7 +472,7 @@ main(int argc,char **argv)
   fl_lst_in=nco_fl_lst_mk(argv,argc,optind,&fl_nbr,&fl_out,&FL_LST_IN_FROM_STDIN);
   
   /* Make uniform list of user-specified chunksizes */
-  if(cnk_nbr > 0) cnk=nco_cnk_prs(cnk_nbr,cnk_arg);
+  if(cnk_nbr > 0) cnk_dmn=nco_cnk_prs(cnk_nbr,cnk_arg);
   
   /* Make uniform list of user-specified dimension limits */
   lmt=nco_lmt_prs(lmt_nbr,lmt_arg);
@@ -689,7 +696,7 @@ main(int argc,char **argv)
 #endif /* !ENABLE_MPI */
     
     /* Set chunksize parameters */
-    if(fl_out_fmt == NC_FORMAT_NETCDF4 || fl_out_fmt == NC_FORMAT_NETCDF4_CLASSIC) (void)nco_cnk_sz_set(out_id,lmt_all_lst,nbr_dmn_fl,&cnk_map,&cnk_plc,cnk_sz_scl,cnk,cnk_nbr);
+    if(fl_out_fmt == NC_FORMAT_NETCDF4 || fl_out_fmt == NC_FORMAT_NETCDF4_CLASSIC) (void)nco_cnk_sz_set(out_id,lmt_all_lst,nbr_dmn_fl,&cnk_map,&cnk_plc,cnk_sz_scl,cnk_dmn,cnk_nbr);
     
     /* Turn off default filling behavior to enhance efficiency */
     nco_set_fill(out_id,NC_NOFILL,&fll_md_old);
@@ -848,7 +855,7 @@ main(int argc,char **argv)
 	      if(RAM_OPEN) md_open=NC_WRITE|NC_SHARE|NC_DISKLESS; else md_open=NC_WRITE|NC_SHARE;
 	      rcd=nco_fl_open(fl_out_tmp,md_open,&bfr_sz_hnt,&out_id);
 	      /* Set chunksize parameters */
-	      if(fl_out_fmt == NC_FORMAT_NETCDF4 || fl_out_fmt == NC_FORMAT_NETCDF4_CLASSIC) (void)nco_cnk_sz_set(out_id,lmt_all_lst,nbr_dmn_fl,&cnk_map,&cnk_plc,cnk_sz_scl,cnk,cnk_nbr);
+	      if(fl_out_fmt == NC_FORMAT_NETCDF4 || fl_out_fmt == NC_FORMAT_NETCDF4_CLASSIC) (void)nco_cnk_sz_set(out_id,lmt_all_lst,nbr_dmn_fl,&cnk_map,&cnk_plc,cnk_sz_scl,cnk_dmn,cnk_nbr);
 	      
 	      /* Turn off default filling behavior to enhance efficiency */
 	      nco_set_fill(out_id,NC_NOFILL,&fll_md_old);
@@ -935,7 +942,7 @@ main(int argc,char **argv)
     if(aux_nbr > 0) aux=(lmt_sct **)nco_free(aux);
     /* Free chunking information */
     for(idx=0;idx<cnk_nbr;idx++) cnk_arg[idx]=(char *)nco_free(cnk_arg[idx]);
-    if(cnk_nbr > 0) cnk=nco_cnk_lst_free(cnk,cnk_nbr);
+    if(cnk_nbr > 0) cnk_dmn=nco_cnk_lst_free(cnk_dmn,cnk_nbr);
     /* Free dimension lists */
     if(nbr_dmn_xtr > 0) dim=nco_dmn_lst_free(dim,nbr_dmn_xtr-1); /* NB: ncecat has one fewer input than output dimension */
     if(nbr_dmn_xtr > 0) dmn_out=nco_dmn_lst_free(dmn_out,nbr_dmn_xtr); 
diff --git a/src/nco/mpncflint.c b/src/nco/mpncflint.c
index 44bb026..def752f 100644
--- a/src/nco/mpncflint.c
+++ b/src/nco/mpncflint.c
@@ -1,10 +1,10 @@
-/* $Header: /cvsroot/nco/nco/src/nco/mpncflint.c,v 1.116 2013/11/06 17:51:13 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/mpncflint.c,v 1.120 2014/01/06 06:46:04 zender Exp $ */
 
 /* mpncflint -- netCDF file interpolator */
 
 /* Purpose: Linearly interpolate a third netCDF file from two input files */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    
    License: GNU General Public License (GPL) Version 3
    The full license text is at http://www.gnu.org/copyleft/gpl.html 
@@ -113,11 +113,11 @@ 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.116 2013/11/06 17:51:13 zender Exp $"; 
-  const char * const CVS_Revision="$Revision: 1.116 $";
+  const char * const CVS_Id="$Id: mpncflint.c,v 1.120 2014/01/06 06:46:04 zender Exp $"; 
+  const char * const CVS_Revision="$Revision: 1.120 $";
   const char * const opt_sht_lst="3467ACcD:d:Fhi:L:l:Oo:p:rRSt:v:xw:-:";
   
-  cnk_sct **cnk=NULL_CEWI;
+  cnk_dmn_sct **cnk_dmn=NULL_CEWI;
 
   dmn_sct **dim;
   dmn_sct **dmn_out;
@@ -142,7 +142,7 @@ main(int argc,char **argv)
   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=0; /* [enm] Deflate level */
+  int dfl_lvl=NCO_DFL_LVL_UNDEFINED; /* [enm] Deflate level */
   int fl_idx;
   int fl_nbr=0;
   int fl_in_fmt_1; /* [enm] Input file format */
@@ -178,6 +178,7 @@ main(int argc,char **argv)
   nm_id_sct *xtr_lst=NULL; /* xtr_lst may be alloc()'d from NULL with -c option */
   
   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 */
   size_t hdr_pad=0UL; /* [B] Pad at end of header section */
   
@@ -237,6 +238,8 @@ main(int argc,char **argv)
       {"chunk_map",required_argument,0,0}, /* [nbr] Chunking map */
       {"cnk_plc",required_argument,0,0}, /* [nbr] Chunking policy */
       {"chunk_policy",required_argument,0,0}, /* [nbr] Chunking policy */
+      {"cnk_byt",required_argument,0,0}, /* [B] Chunk size in bytes */
+      {"chunk_byte",required_argument,0,0}, /* [B] Chunk size in bytes */
       {"cnk_scl",required_argument,0,0}, /* [nbr] Chunk size scalar */
       {"chunk_scalar",required_argument,0,0}, /* [nbr] Chunk size scalar */
       {"cnk_dmn",required_argument,0,0}, /* [nbr] Chunk size */
@@ -318,6 +321,10 @@ main(int argc,char **argv)
 	bfr_sz_hnt=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
 	if(*sng_cnv_rcd) nco_sng_cnv_err(optarg,"strtoul",sng_cnv_rcd);
       } /* endif cnk */
+      if(!strcmp(opt_crr,"cnk_byt") || !strcmp(opt_crr,"chunk_byte")){
+        cnk_sz_byt=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
+        if(*sng_cnv_rcd) nco_sng_cnv_err(optarg,"strtoul",sng_cnv_rcd);
+      } /* endif cnk_byt */
       if(!strcmp(opt_crr,"cnk_dmn") || !strcmp(opt_crr,"chunk_dimension")){
 	/* Copy limit argument for later processing */
 	cnk_arg[cnk_nbr]=(char *)strdup(optarg);
@@ -504,7 +511,7 @@ main(int argc,char **argv)
   fl_lst_in=nco_fl_lst_mk(argv,argc,optind,&fl_nbr,&fl_out,&FL_LST_IN_FROM_STDIN);
   
   /* Make uniform list of user-specified chunksizes */
-  if(cnk_nbr > 0) cnk=nco_cnk_prs(cnk_nbr,cnk_arg);
+  if(cnk_nbr > 0) cnk_dmn=nco_cnk_prs(cnk_nbr,cnk_arg);
   
   /* Make uniform list of user-specified dimension limits */
   lmt=nco_lmt_prs(lmt_nbr,lmt_arg);
@@ -650,7 +657,7 @@ main(int argc,char **argv)
     (void)nco_var_dfn(in_id_1,fl_out,out_id,var_out,xtr_nbr,(dmn_sct **)NULL,(int)0,nco_pck_plc_nil,nco_pck_map_nil,dfl_lvl);
     
     /* Set chunksize parameters */
-    if(fl_out_fmt == NC_FORMAT_NETCDF4 || fl_out_fmt == NC_FORMAT_NETCDF4_CLASSIC) (void)nco_cnk_sz_set(out_id,lmt_all_lst,nbr_dmn_fl,&cnk_map,&cnk_plc,cnk_sz_scl,cnk,cnk_nbr);
+    if(fl_out_fmt == NC_FORMAT_NETCDF4 || fl_out_fmt == NC_FORMAT_NETCDF4_CLASSIC) (void)nco_cnk_sz_set(out_id,lmt_all_lst,nbr_dmn_fl,&cnk_map,&cnk_plc,cnk_sz_scl,cnk_dmn,cnk_nbr);
     
     /* Turn off default filling behavior to enhance efficiency */
     nco_set_fill(out_id,NC_NOFILL,&fll_md_old);
@@ -880,7 +887,7 @@ main(int argc,char **argv)
 	    if(RAM_OPEN) md_open=NC_WRITE|NC_SHARE|NC_DISKLESS; else md_open=NC_WRITE|NC_SHARE;
 	    rcd=nco_fl_open(fl_out_tmp,md_open,&bfr_sz_hnt,&out_id);
 	    /* Set chunksize parameters */
-	    if(fl_out_fmt == NC_FORMAT_NETCDF4 || fl_out_fmt == NC_FORMAT_NETCDF4_CLASSIC) (void)nco_cnk_sz_set(out_id,lmt_all_lst,nbr_dmn_fl,&cnk_map,&cnk_plc,cnk_sz_scl,cnk,cnk_nbr);
+	    if(fl_out_fmt == NC_FORMAT_NETCDF4 || fl_out_fmt == NC_FORMAT_NETCDF4_CLASSIC) (void)nco_cnk_sz_set(out_id,lmt_all_lst,nbr_dmn_fl,&cnk_map,&cnk_plc,cnk_sz_scl,cnk_dmn,cnk_nbr);
 	    
 	    /* Turn off default filling behavior to enhance efficiency */
 	    nco_set_fill(out_id,NC_NOFILL,&fll_md_old);
@@ -975,7 +982,7 @@ main(int argc,char **argv)
     if(aux_nbr > 0) aux=(lmt_sct **)nco_free(aux);
     /* Free chunking information */
     for(idx=0;idx<cnk_nbr;idx++) cnk_arg[idx]=(char *)nco_free(cnk_arg[idx]);
-    if(cnk_nbr > 0) cnk=nco_cnk_lst_free(cnk,cnk_nbr);
+    if(cnk_nbr > 0) cnk_dmn=nco_cnk_lst_free(cnk_dmn,cnk_nbr);
     /* Free dimension lists */
     if(nbr_dmn_xtr > 0) dim=nco_dmn_lst_free(dim,nbr_dmn_xtr);
     if(nbr_dmn_xtr > 0) dmn_out=nco_dmn_lst_free(dmn_out,nbr_dmn_xtr);
diff --git a/src/nco/mpncpdq.c b/src/nco/mpncpdq.c
index b871fd7..b73dda7 100644
--- a/src/nco/mpncpdq.c
+++ b/src/nco/mpncpdq.c
@@ -1,10 +1,10 @@
-/* $Header: /cvsroot/nco/nco/src/nco/mpncpdq.c,v 1.110 2013/11/06 17:51:13 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/mpncpdq.c,v 1.114 2014/01/06 06:46:04 zender Exp $ */
 
 /* mpncpdq -- netCDF pack, re-dimension, query */
 
 /* Purpose: Pack, re-dimension, query single netCDF file and output to a single file */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    
    License: GNU General Public License (GPL) Version 3
    The full license text is at http://www.gnu.org/copyleft/gpl.html 
@@ -119,11 +119,11 @@ 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.110 2013/11/06 17:51:13 zender Exp $"; 
-  const char * const CVS_Revision="$Revision: 1.110 $";
+  const char * const CVS_Id="$Id: mpncpdq.c,v 1.114 2014/01/06 06:46:04 zender Exp $"; 
+  const char * const CVS_Revision="$Revision: 1.114 $";
   const char * const opt_sht_lst="3467Aa:CcD:d:FhL:l:M:Oo:P:p:RrSt:v:Ux-:";
   
-  cnk_sct **cnk=NULL_CEWI;
+  cnk_dmn_sct **cnk_dmn=NULL_CEWI;
 
   dmn_sct **dim=NULL_CEWI;
   dmn_sct **dmn_out;
@@ -145,7 +145,7 @@ main(int argc,char **argv)
   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=0; /* [enm] Deflate level */
+  int dfl_lvl=NCO_DFL_LVL_UNDEFINED; /* [enm] Deflate level */
   int dmn_out_idx; /* [idx] Index over output dimension list */
   int dmn_out_idx_rec_in=NCO_REC_DMN_UNDEFINED; /* [idx] Record dimension index in output dimension list, original */
   int dmn_rdr_nbr=0; /* [nbr] Number of dimension to re-order */
@@ -187,6 +187,7 @@ main(int argc,char **argv)
   nm_id_sct *xtr_lst=NULL; /* xtr_lst may be alloc()'d from NULL with -c option */
   
   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 */
   size_t hdr_pad=0UL; /* [B] Pad at end of header section */
   
@@ -236,6 +237,8 @@ main(int argc,char **argv)
       {"chunk_map",required_argument,0,0}, /* [nbr] Chunking map */
       {"cnk_plc",required_argument,0,0}, /* [nbr] Chunking policy */
       {"chunk_policy",required_argument,0,0}, /* [nbr] Chunking policy */
+      {"cnk_byt",required_argument,0,0}, /* [B] Chunk size in bytes */
+      {"chunk_byte",required_argument,0,0}, /* [B] Chunk size in bytes */
       {"cnk_scl",required_argument,0,0}, /* [nbr] Chunk size scalar */
       {"chunk_scalar",required_argument,0,0}, /* [nbr] Chunk size scalar */
       {"cnk_dmn",required_argument,0,0}, /* [nbr] Chunk size */
@@ -325,6 +328,10 @@ main(int argc,char **argv)
 	bfr_sz_hnt=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
 	if(*sng_cnv_rcd) nco_sng_cnv_err(optarg,"strtoul",sng_cnv_rcd);
       } /* endif cnk */
+      if(!strcmp(opt_crr,"cnk_byt") || !strcmp(opt_crr,"chunk_byte")){
+        cnk_sz_byt=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
+        if(*sng_cnv_rcd) nco_sng_cnv_err(optarg,"strtoul",sng_cnv_rcd);
+      } /* endif cnk_byt */
       if(!strcmp(opt_crr,"cnk_dmn") || !strcmp(opt_crr,"chunk_dimension")){
 	/* Copy limit argument for later processing */
 	cnk_arg[cnk_nbr]=(char *)strdup(optarg);
@@ -486,7 +493,7 @@ main(int argc,char **argv)
   fl_lst_in=nco_fl_lst_mk(argv,argc,optind,&fl_nbr,&fl_out,&FL_LST_IN_FROM_STDIN);
   
   /* Make uniform list of user-specified chunksizes */
-  if(cnk_nbr > 0) cnk=nco_cnk_prs(cnk_nbr,cnk_arg);
+  if(cnk_nbr > 0) cnk_dmn=nco_cnk_prs(cnk_nbr,cnk_arg);
   
   /* Make uniform list of user-specified dimension limits */
   lmt=nco_lmt_prs(lmt_nbr,lmt_arg);
@@ -873,7 +880,7 @@ main(int argc,char **argv)
     (void)nco_var_dfn(in_id,fl_out,out_id,var_out,xtr_nbr,(dmn_sct **)NULL,(int)0,nco_pck_map,nco_pck_plc,dfl_lvl);
     
     /* Set chunksize parameters */
-    if(fl_out_fmt == NC_FORMAT_NETCDF4 || fl_out_fmt == NC_FORMAT_NETCDF4_CLASSIC) (void)nco_cnk_sz_set(out_id,lmt_all_lst,nbr_dmn_fl,&cnk_map,&cnk_plc,cnk_sz_scl,cnk,cnk_nbr);
+    if(fl_out_fmt == NC_FORMAT_NETCDF4 || fl_out_fmt == NC_FORMAT_NETCDF4_CLASSIC) (void)nco_cnk_sz_set(out_id,lmt_all_lst,nbr_dmn_fl,&cnk_map,&cnk_plc,cnk_sz_scl,cnk_dmn,cnk_nbr);
     
     /* Turn off default filling behavior to enhance efficiency */
     nco_set_fill(out_id,NC_NOFILL,&fll_md_old);
@@ -1047,7 +1054,7 @@ main(int argc,char **argv)
 	    if(RAM_OPEN) md_open=NC_WRITE|NC_SHARE|NC_DISKLESS; else md_open=NC_WRITE|NC_SHARE;
 	    rcd=nco_fl_open(fl_out_tmp,md_open,&bfr_sz_hnt,&out_id);
 	    /* Set chunksize parameters */
-	    if(fl_out_fmt == NC_FORMAT_NETCDF4 || fl_out_fmt == NC_FORMAT_NETCDF4_CLASSIC) (void)nco_cnk_sz_set(out_id,lmt_all_lst,nbr_dmn_fl,&cnk_map,&cnk_plc,cnk_sz_scl,cnk,cnk_nbr);
+	    if(fl_out_fmt == NC_FORMAT_NETCDF4 || fl_out_fmt == NC_FORMAT_NETCDF4_CLASSIC) (void)nco_cnk_sz_set(out_id,lmt_all_lst,nbr_dmn_fl,&cnk_map,&cnk_plc,cnk_sz_scl,cnk_dmn,cnk_nbr);
 	    
 	    /* Turn off default filling behavior to enhance efficiency */
 	    nco_set_fill(out_id,NC_NOFILL,&fll_md_old);
@@ -1221,7 +1228,7 @@ main(int argc,char **argv)
     if(aux_nbr > 0) aux=(lmt_sct **)nco_free(aux);
     /* Free chunking information */
     for(idx=0;idx<cnk_nbr;idx++) cnk_arg[idx]=(char *)nco_free(cnk_arg[idx]);
-    if(cnk_nbr > 0) cnk=nco_cnk_lst_free(cnk,cnk_nbr);
+    if(cnk_nbr > 0) cnk_dmn=nco_cnk_lst_free(cnk_dmn,cnk_nbr);
     /* Free dimension lists */
     if(nbr_dmn_xtr > 0) dim=nco_dmn_lst_free(dim,nbr_dmn_xtr);
     if(nbr_dmn_xtr > 0) dmn_out=nco_dmn_lst_free(dmn_out,nbr_dmn_xtr);
diff --git a/src/nco/mpncra.c b/src/nco/mpncra.c
index b215a34..df9a929 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.146 2013/12/02 17:43:32 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/mpncra.c,v 1.150 2014/01/06 06:46:05 zender Exp $ */
 
 /* This single source file may be called as three separate executables:
    ncra -- netCDF record averager
@@ -9,7 +9,7 @@
    specfied variables of multiple input netCDF files and output them 
    to a single file. */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    
    License: GNU General Public License (GPL) Version 3
    The full license text is at http://www.gnu.org/copyleft/gpl.html 
@@ -152,8 +152,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.146 2013/12/02 17:43:32 zender Exp $"; 
-  const char * const CVS_Revision="$Revision: 1.146 $";
+  const char * const CVS_Id="$Id: mpncra.c,v 1.150 2014/01/06 06:46:05 zender Exp $"; 
+  const char * const CVS_Revision="$Revision: 1.150 $";
   const char * const opt_sht_lst="3467ACcD:d:FHhL:l:n:Oo:p:P:rRSt:v:xY:y:-:";
   
   dmn_sct **dim;
@@ -172,7 +172,7 @@ main(int argc,char **argv)
   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=0; /* [enm] Deflate level */
+  int dfl_lvl=NCO_DFL_LVL_UNDEFINED; /* [enm] Deflate level */
   int fl_idx;
   int fl_nbr=0;
   int fl_in_fmt; /* [enm] Input file format */
@@ -213,6 +213,7 @@ main(int argc,char **argv)
   nm_id_sct *xtr_lst=NULL; /* xtr_lst may be alloc()'d from NULL with -c option */
   
   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 */
   size_t hdr_pad=0UL; /* [B] Pad at end of header section */
   
@@ -268,6 +269,8 @@ main(int argc,char **argv)
       {"chunk_map",required_argument,0,0}, /* [nbr] Chunking map */
       {"cnk_plc",required_argument,0,0}, /* [nbr] Chunking policy */
       {"chunk_policy",required_argument,0,0}, /* [nbr] Chunking policy */
+      {"cnk_byt",required_argument,0,0}, /* [B] Chunk size in bytes */
+      {"chunk_byte",required_argument,0,0}, /* [B] Chunk size in bytes */
       {"cnk_scl",required_argument,0,0}, /* [nbr] Chunk size scalar */
       {"chunk_scalar",required_argument,0,0}, /* [nbr] Chunk size scalar */
       {"cnk_dmn",required_argument,0,0}, /* [nbr] Chunk size */
@@ -361,6 +364,10 @@ main(int argc,char **argv)
 	bfr_sz_hnt=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
 	if(*sng_cnv_rcd) nco_sng_cnv_err(optarg,"strtoul",sng_cnv_rcd);
       } /* endif cnk */
+      if(!strcmp(opt_crr,"cnk_byt") || !strcmp(opt_crr,"chunk_byte")){
+        cnk_sz_byt=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
+        if(*sng_cnv_rcd) nco_sng_cnv_err(optarg,"strtoul",sng_cnv_rcd);
+      } /* endif cnk_byt */
       if(!strcmp(opt_crr,"cnk_dmn") || !strcmp(opt_crr,"chunk_dimension")){
 	/* Copy limit argument for later processing */
 	cnk_arg[cnk_nbr]=(char *)strdup(optarg);
@@ -529,7 +536,7 @@ main(int argc,char **argv)
   fl_lst_in=nco_fl_lst_mk(argv,argc,optind,&fl_nbr,&fl_out,&FL_LST_IN_FROM_STDIN);
   
   /* Make uniform list of user-specified chunksizes */
-  if(cnk_nbr > 0) cnk=nco_cnk_prs(cnk_nbr,cnk_arg);
+  if(cnk_nbr > 0) cnk_dmn=nco_cnk_prs(cnk_nbr,cnk_arg);
   
   /* Make uniform list of user-specified dimension limits */
   if(lmt_nbr > 0) lmt=nco_lmt_prs(lmt_nbr,lmt_arg);
@@ -707,7 +714,7 @@ main(int argc,char **argv)
     (void)nco_var_dfn(in_id,fl_out,out_id,var_out,xtr_nbr,(dmn_sct **)NULL,(int)0,nco_pck_plc_nil,nco_pck_map_nil,dfl_lvl);
     
     /* Set chunksize parameters */
-    if(fl_out_fmt == NC_FORMAT_NETCDF4 || fl_out_fmt == NC_FORMAT_NETCDF4_CLASSIC) (void)nco_cnk_sz_set(out_id,lmt_all_lst,nbr_dmn_fl,&cnk_map,&cnk_plc,cnk_sz_scl,cnk,cnk_nbr);
+    if(fl_out_fmt == NC_FORMAT_NETCDF4 || fl_out_fmt == NC_FORMAT_NETCDF4_CLASSIC) (void)nco_cnk_sz_set(out_id,lmt_all_lst,nbr_dmn_fl,&cnk_map,&cnk_plc,cnk_sz_scl,cnk_dmn,cnk_nbr);
     
     /* Turn off default filling behavior to enhance efficiency */
     (void)nco_set_fill(out_id,NC_NOFILL,&fll_md_old);
@@ -915,7 +922,7 @@ main(int argc,char **argv)
 	      if(RAM_OPEN) md_open=NC_WRITE|NC_SHARE|NC_DISKLESS; else md_open=NC_WRITE|NC_SHARE;
 	      rcd=nco_fl_open(fl_out_tmp,md_open,&bfr_sz_hnt,&out_id);
 	      /* Set chunksize parameters */
-	      if(fl_out_fmt == NC_FORMAT_NETCDF4 || fl_out_fmt == NC_FORMAT_NETCDF4_CLASSIC) (void)nco_cnk_sz_set(out_id,lmt_all_lst,nbr_dmn_fl,&cnk_map,&cnk_plc,cnk_sz_scl,cnk,cnk_nbr);
+	      if(fl_out_fmt == NC_FORMAT_NETCDF4 || fl_out_fmt == NC_FORMAT_NETCDF4_CLASSIC) (void)nco_cnk_sz_set(out_id,lmt_all_lst,nbr_dmn_fl,&cnk_map,&cnk_plc,cnk_sz_scl,cnk_dmn,cnk_nbr);
 	      
 	      /* Turn off default filling behavior to enhance efficiency */
 	      nco_set_fill(out_id,NC_NOFILL,&fll_md_old);
@@ -1170,7 +1177,7 @@ main(int argc,char **argv)
 		if(tkn_wrt_rsp == tkn_wrt_rqs_xcp){
 		  rcd=nco_fl_open(fl_out_tmp,NC_WRITE|NC_SHARE,&bfr_sz_hnt,&out_id);
 		  /* Set chunksize parameters */
-		  if(fl_out_fmt == NC_FORMAT_NETCDF4 || fl_out_fmt == NC_FORMAT_NETCDF4_CLASSIC) (void)nco_cnk_sz_set(out_id,lmt_all_lst,nbr_dmn_fl,&cnk_map,&cnk_plc,cnk_sz_scl,cnk,cnk_nbr);
+		  if(fl_out_fmt == NC_FORMAT_NETCDF4 || fl_out_fmt == NC_FORMAT_NETCDF4_CLASSIC) (void)nco_cnk_sz_set(out_id,lmt_all_lst,nbr_dmn_fl,&cnk_map,&cnk_plc,cnk_sz_scl,cnk_dmn,cnk_nbr);
 		  
 		  /* Turn off default filling behavior to enhance efficiency */
 		  nco_set_fill(out_id,NC_NOFILL,&fll_md_old);
@@ -1459,7 +1466,7 @@ main(int argc,char **argv)
     if(lmt_nbr > 0) lmt=nco_lmt_lst_free(lmt,lmt_nbr);
     /* Free chunking information */
     for(idx=0;idx<cnk_nbr;idx++) cnk_arg[idx]=(char *)nco_free(cnk_arg[idx]);
-    if(cnk_nbr > 0) cnk=nco_cnk_lst_free(cnk,cnk_nbr);
+    if(cnk_nbr > 0) cnk_dmn=nco_cnk_lst_free(cnk_dmn,cnk_nbr);
     /* Free dimension lists */
     if(nbr_dmn_xtr > 0) dim=nco_dmn_lst_free(dim,nbr_dmn_xtr);
     if(nbr_dmn_xtr > 0) dmn_out=nco_dmn_lst_free(dmn_out,nbr_dmn_xtr);
diff --git a/src/nco/mpncwa.c b/src/nco/mpncwa.c
index d49bde2..40d7745 100644
--- a/src/nco/mpncwa.c
+++ b/src/nco/mpncwa.c
@@ -1,11 +1,11 @@
-/* $Header: /cvsroot/nco/nco/src/nco/mpncwa.c,v 1.138 2013/11/06 17:51:13 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/mpncwa.c,v 1.142 2014/01/06 06:46:05 zender Exp $ */
 
 /* mpncwa -- netCDF weighted averager */
 
 /* Purpose: Compute averages of specified hyperslabs of specfied variables
    in a single input netCDF file and output them to a single file. */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    
    License: GNU General Public License (GPL) Version 3
    The full license text is at http://www.gnu.org/copyleft/gpl.html 
@@ -128,11 +128,11 @@ 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.138 2013/11/06 17:51:13 zender Exp $"; 
-  const char * const CVS_Revision="$Revision: 1.138 $";
+  const char * const CVS_Id="$Id: mpncwa.c,v 1.142 2014/01/06 06:46:05 zender Exp $"; 
+  const char * const CVS_Revision="$Revision: 1.142 $";
   const char * const opt_sht_lst="3467Aa:B:bCcD:d:FhIL:l:M:m:nNOo:p:rRST:t:v:Ww:xy:-:";
   
-  cnk_sct **cnk=NULL_CEWI;
+  cnk_dmn_sct **cnk_dmn=NULL_CEWI;
   
 #if defined(__cplusplus) || defined(PGI_CC)
   ddra_info_sct ddra_info;
@@ -161,7 +161,7 @@ main(int argc,char **argv)
   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=0; /* [enm] Deflate level */
+  int dfl_lvl=NCO_DFL_LVL_UNDEFINED; /* [enm] Deflate level */
   int dmn_avg_nbr=0;
   int fl_idx=int_CEWI;
   int fl_nbr=0;
@@ -199,6 +199,7 @@ main(int argc,char **argv)
   prs_sct prs_arg;  /* I/O [sct] Global information required in ncwa parser */
   
   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 */
   size_t hdr_pad=0UL; /* [B] Pad at end of header section */
   
@@ -257,6 +258,8 @@ main(int argc,char **argv)
       {"chunk_map",required_argument,0,0}, /* [nbr] Chunking map */
       {"cnk_plc",required_argument,0,0}, /* [nbr] Chunking policy */
       {"chunk_policy",required_argument,0,0}, /* [nbr] Chunking policy */
+      {"cnk_byt",required_argument,0,0}, /* [B] Chunk size in bytes */
+      {"chunk_byte",required_argument,0,0}, /* [B] Chunk size in bytes */
       {"cnk_scl",required_argument,0,0}, /* [nbr] Chunk size scalar */
       {"chunk_scalar",required_argument,0,0}, /* [nbr] Chunk size scalar */
       {"cnk_dmn",required_argument,0,0}, /* [nbr] Chunk size */
@@ -368,6 +371,10 @@ main(int argc,char **argv)
 	bfr_sz_hnt=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
 	if(*sng_cnv_rcd) nco_sng_cnv_err(optarg,"strtoul",sng_cnv_rcd);
       } /* endif cnk */
+      if(!strcmp(opt_crr,"cnk_byt") || !strcmp(opt_crr,"chunk_byte")){
+        cnk_sz_byt=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
+        if(*sng_cnv_rcd) nco_sng_cnv_err(optarg,"strtoul",sng_cnv_rcd);
+      } /* endif cnk_byt */
       if(!strcmp(opt_crr,"cnk_dmn") || !strcmp(opt_crr,"chunk_dimension")){
 	/* Copy limit argument for later processing */
 	cnk_arg[cnk_nbr]=(char *)strdup(optarg);
@@ -591,7 +598,7 @@ main(int argc,char **argv)
   fl_lst_in=nco_fl_lst_mk(argv,argc,optind,&fl_nbr,&fl_out,&FL_LST_IN_FROM_STDIN);
   
   /* Make uniform list of user-specified chunksizes */
-  if(cnk_nbr > 0) cnk=nco_cnk_prs(cnk_nbr,cnk_arg);
+  if(cnk_nbr > 0) cnk_dmn=nco_cnk_prs(cnk_nbr,cnk_arg);
   
   /* Make uniform list of user-specified dimension limits */
   lmt=nco_lmt_prs(lmt_nbr,lmt_arg);
@@ -804,7 +811,7 @@ main(int argc,char **argv)
 #endif /* !ENABLE_MPI */
     
     /* Set chunksize parameters */
-    if(fl_out_fmt == NC_FORMAT_NETCDF4 || fl_out_fmt == NC_FORMAT_NETCDF4_CLASSIC) (void)nco_cnk_sz_set(out_id,lmt_all_lst,nbr_dmn_fl,&cnk_map,&cnk_plc,cnk_sz_scl,cnk,cnk_nbr);
+    if(fl_out_fmt == NC_FORMAT_NETCDF4 || fl_out_fmt == NC_FORMAT_NETCDF4_CLASSIC) (void)nco_cnk_sz_set(out_id,lmt_all_lst,nbr_dmn_fl,&cnk_map,&cnk_plc,cnk_sz_scl,cnk_dmn,cnk_nbr);
     
     /* Turn off default filling behavior to enhance efficiency */
     nco_set_fill(out_id,NC_NOFILL,&fll_md_old);
@@ -1195,7 +1202,7 @@ main(int argc,char **argv)
 	      if(RAM_OPEN) md_open=NC_WRITE|NC_SHARE|NC_DISKLESS; else md_open=NC_WRITE|NC_SHARE;
 	      rcd=nco_fl_open(fl_out_tmp,md_open,&bfr_sz_hnt,&out_id);
 	      /* Set chunksize parameters */
-	      if(fl_out_fmt == NC_FORMAT_NETCDF4 || fl_out_fmt == NC_FORMAT_NETCDF4_CLASSIC) (void)nco_cnk_sz_set(out_id,lmt_all_lst,nbr_dmn_fl,&cnk_map,&cnk_plc,cnk_sz_scl,cnk,cnk_nbr);
+	      if(fl_out_fmt == NC_FORMAT_NETCDF4 || fl_out_fmt == NC_FORMAT_NETCDF4_CLASSIC) (void)nco_cnk_sz_set(out_id,lmt_all_lst,nbr_dmn_fl,&cnk_map,&cnk_plc,cnk_sz_scl,cnk_dmn,cnk_nbr);
 	      
 	      /* Turn off default filling behavior to enhance efficiency */
 	      nco_set_fill(out_id,NC_NOFILL,&fll_md_old);
@@ -1306,7 +1313,7 @@ main(int argc,char **argv)
     if(lmt_nbr > 0) lmt=nco_lmt_lst_free(lmt,lmt_nbr);
     /* Free chunking information */
     for(idx=0;idx<cnk_nbr;idx++) cnk_arg[idx]=(char *)nco_free(cnk_arg[idx]);
-    if(cnk_nbr > 0) cnk=nco_cnk_lst_free(cnk,cnk_nbr);
+    if(cnk_nbr > 0) cnk_dmn=nco_cnk_lst_free(cnk_dmn,cnk_nbr);
     /* Free dimension lists */
     if(nbr_dmn_xtr > 0) dim=nco_dmn_lst_free(dim,nbr_dmn_xtr);
     if(nbr_dmn_out > 0) dmn_out=nco_dmn_lst_free(dmn_out,nbr_dmn_out);
diff --git a/src/nco/ncap.c b/src/nco/ncap.c
index 0034ca7..4bb84ac 100644
--- a/src/nco/ncap.c
+++ b/src/nco/ncap.c
@@ -1,10 +1,10 @@
-/* $Header: /cvsroot/nco/nco/src/nco/ncap.c,v 1.277 2013/11/06 17:51:13 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/ncap.c,v 1.284 2014/01/06 19:00:49 zender Exp $ */
 
 /* ncap -- netCDF arithmetic processor */
 
 /* Purpose: Compute user-defined derived fields using forward algebraic notation applied to netCDF files */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
 
    License: GNU General Public License (GPL) Version 3
    The full license text is at http://www.gnu.org/copyleft/gpl.html 
@@ -128,11 +128,11 @@ 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.277 2013/11/06 17:51:13 zender Exp $"; 
-  const char * const CVS_Revision="$Revision: 1.277 $";
+  const char * const CVS_Id="$Id: ncap.c,v 1.284 2014/01/06 19:00:49 zender Exp $"; 
+  const char * const CVS_Revision="$Revision: 1.284 $";
   const char * const opt_sht_lst="3467ACcD:FfhL:l:n:Oo:p:Rrs:S:vx-:"; /* [sng] Single letter command line options */
 
-  cnk_sct **cnk=NULL_CEWI;
+  cnk_dmn_sct **cnk_dmn=NULL_CEWI;
 
 #if defined(__cplusplus) || defined(PGI_CC)
   ddra_info_sct ddra_info;
@@ -194,7 +194,7 @@ main(int argc,char **argv)
   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=0; /* [enm] Deflate level */
+  int dfl_lvl=NCO_DFL_LVL_UNDEFINED; /* [enm] Deflate level */
   int fl_nbr=0;
   int fl_in_fmt; /* [enm] Input file format */
   int fl_out_fmt=NCO_FORMAT_UNDEFINED; /* [enm] Output file format */
@@ -231,6 +231,7 @@ main(int argc,char **argv)
   nm_id_sct *xtr_lst_a=NULL; /* Initialize to ALL variables in OUTPUT file */
   
   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 */
   size_t hdr_pad=0UL; /* [B] Pad at end of header section */
   size_t sng_lng;
@@ -272,9 +273,12 @@ main(int argc,char **argv)
       /* Long options with argument, no short option counterpart */
       {"bfr_sz_hnt",required_argument,0,0}, /* [B] Buffer size hint */
       {"buffer_size_hint",required_argument,0,0}, /* [B] Buffer size hint */
+      {"cnk_map",required_argument,0,0}, /* [nbr] Chunking map */
       {"chunk_map",required_argument,0,0}, /* [nbr] Chunking map */
       {"cnk_plc",required_argument,0,0}, /* [nbr] Chunking policy */
       {"chunk_policy",required_argument,0,0}, /* [nbr] Chunking policy */
+      {"cnk_byt",required_argument,0,0}, /* [B] Chunk size in bytes */
+      {"chunk_byte",required_argument,0,0}, /* [B] Chunk size in bytes */
       {"cnk_scl",required_argument,0,0}, /* [nbr] Chunk size scalar */
       {"chunk_scalar",required_argument,0,0}, /* [nbr] Chunk size scalar */
       {"cnk_dmn",required_argument,0,0}, /* [nbr] Chunk size */
@@ -351,6 +355,10 @@ main(int argc,char **argv)
 	bfr_sz_hnt=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
 	if(*sng_cnv_rcd) nco_sng_cnv_err(optarg,"strtoul",sng_cnv_rcd);
       } /* endif cnk */
+      if(!strcmp(opt_crr,"cnk_byt") || !strcmp(opt_crr,"chunk_byte")){
+        cnk_sz_byt=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
+        if(*sng_cnv_rcd) nco_sng_cnv_err(optarg,"strtoul",sng_cnv_rcd);
+      } /* endif cnk_byt */
       if(!strcmp(opt_crr,"cnk_dmn") || !strcmp(opt_crr,"chunk_dimension")){
 	/* Copy limit argument for later processing */
 	cnk_arg[cnk_nbr]=(char *)strdup(optarg);
@@ -373,7 +381,7 @@ main(int argc,char **argv)
       if(!strcmp(opt_crr,"cln") || !strcmp(opt_crr,"mmr_cln") || !strcmp(opt_crr,"clean")) flg_cln=True; /* [flg] Clean memory prior to exit */
       if(!strcmp(opt_crr,"drt") || !strcmp(opt_crr,"mmr_drt") || !strcmp(opt_crr,"dirty")) flg_cln=False; /* [flg] Clean memory prior to exit */
       if(!strcmp(opt_crr,"fl_fmt") || !strcmp(opt_crr,"file_format")) rcd=nco_create_mode_prs(optarg,&fl_out_fmt);
-      if(!strcmp(opt_crr,"hdf4")) nco_hdf_cnv=nco_hdf4; /* [enm] Treat file as HDF4 */
+      if(!strcmp(opt_crr,"hdf4")) nco_fmt_xtn=nco_fmt_xtn_hdf4; /* [enm] Treat file as HDF4 */
       if(!strcmp(opt_crr,"hdf_upk") || !strcmp(opt_crr,"hdf_unpack")) nco_upk_cnv=nco_upk_HDF; /* [flg] HDF unpack convention: unpacked=scale_factor*(packed-add_offset) */
       if(!strcmp(opt_crr,"hdr_pad") || !strcmp(opt_crr,"header_pad")){
         hdr_pad=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
@@ -602,7 +610,8 @@ main(int argc,char **argv)
   fl_lst_in=nco_fl_lst_mk(argv,argc,optind,&fl_nbr,&fl_out,&FL_LST_IN_FROM_STDIN);
   
   /* Make uniform list of user-specified chunksizes */
-  if(cnk_nbr > 0) cnk=nco_cnk_prs(cnk_nbr,cnk_arg);
+  cnk_sz_byt+=0; /* CEWI */
+  if(cnk_nbr > 0) cnk_dmn=nco_cnk_prs(cnk_nbr,cnk_arg);
 
   /* Make uniform list of user-specified dimension limits */
   if(lmt_nbr > 0) lmt=nco_lmt_prs(lmt_nbr,lmt_arg);
@@ -727,7 +736,7 @@ main(int argc,char **argv)
       } /* endif */
       (void)nco_def_var(out_id,var_ycc[idx]->nm,var_ycc[idx]->type,var_ycc[idx]->nbr_dim,var_ycc[idx]->dmn_id,&var_id);
       /* Set HDF Lempel-Ziv compression level, if requested */
-      if(dfl_lvl > 0 && var_ycc[idx]->nbr_dim > 0) (void)nco_def_var_deflate(out_id,var_id,(int)True,(int)True,dfl_lvl);    
+      if(dfl_lvl >= 0 && var_ycc[idx]->nbr_dim > 0) (void)nco_def_var_deflate(out_id,var_id,(int)True,(int)True,dfl_lvl);    
       var_ycc[idx]->val.vp=nco_free(var_ycc[idx]->val.vp);
     } /* end loop over idx */
     (void)nco_enddef(out_id);
@@ -865,7 +874,7 @@ main(int argc,char **argv)
   } /* end for */
   
   /* Set chunksize parameters */
-  if(fl_out_fmt == NC_FORMAT_NETCDF4 || fl_out_fmt == NC_FORMAT_NETCDF4_CLASSIC) (void)nco_cnk_sz_set(out_id,(lmt_msa_sct **)NULL_CEWI,(int)0,&cnk_map,&cnk_plc,cnk_sz_scl,cnk,cnk_nbr);
+  if(fl_out_fmt == NC_FORMAT_NETCDF4 || fl_out_fmt == NC_FORMAT_NETCDF4_CLASSIC) (void)nco_cnk_sz_set(out_id,(lmt_msa_sct **)NULL_CEWI,(int)0,&cnk_map,&cnk_plc,cnk_sz_scl,cnk_dmn,cnk_nbr);
 
   /* Turn off default filling behavior to enhance efficiency */
   nco_set_fill(out_id,NC_NOFILL,&fll_md_old);
@@ -939,7 +948,7 @@ main(int argc,char **argv)
     if(lmt_nbr > 0) lmt=nco_lmt_lst_free(lmt,lmt_nbr);
     /* Free chunking information */
     for(idx=0;idx<cnk_nbr;idx++) cnk_arg[idx]=(char *)nco_free(cnk_arg[idx]);
-    if(cnk_nbr > 0) cnk=nco_cnk_lst_free(cnk,cnk_nbr);
+    if(cnk_nbr > 0) cnk_dmn=nco_cnk_lst_free(cnk_dmn,cnk_nbr);
     /* Free dimension lists */
     if(nbr_dmn_in > 0) dmn_in=nco_dmn_lst_free(dmn_in,nbr_dmn_in);
     if(nbr_dmn_out > 0) dmn_out=nco_dmn_lst_free(dmn_out,nbr_dmn_out);
diff --git a/src/nco/ncap.h b/src/nco/ncap.h
index 23fd3c7..0c9288a 100644
--- a/src/nco/ncap.h
+++ b/src/nco/ncap.h
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/ncap.h,v 1.97 2013/01/13 06:07:47 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/ncap.h,v 1.98 2013/12/31 05:14:01 zender Exp $ */
 
 /* Purpose: netCDF arithmetic processor definitions and function prototypes for ncap.c, ncap_utl.c, ncap_lex.l, and ncap_yacc.y */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco/ncap_lex.l b/src/nco/ncap_lex.l
index c90153e..1b76d4a 100644
--- a/src/nco/ncap_lex.l
+++ b/src/nco/ncap_lex.l
@@ -1,4 +1,4 @@
-%{ /* $Header: /cvsroot/nco/nco/src/nco/ncap_lex.l,v 1.79 2013/10/22 03:03:45 zender Exp $ -*-C-*- */
+%{ /* $Header: /cvsroot/nco/nco/src/nco/ncap_lex.l,v 1.80 2014/02/04 22:40:20 zender Exp $ -*-C-*- */
   /* Everything from here to closing brace is placed at top of lexer */
 
   /* Purpose: Token generator for ncap parser */
@@ -804,9 +804,9 @@ M_PI {return NAMED_CONSTANT;}
     (void)yyunput((int)0,(char *)NULL);
     /*    (void)yy_flex_realloc((void *)NULL,(size_t)NULL);*/
     /* Remove warnings which only occur on SGI IRIX cc */
-    yy_full_match=yy_full_match;
-    yy_full_lp=yy_full_lp;
-    yy_full_state=yy_full_state;
+    yy_full_match=yy_full_match+0;
+    yy_full_lp=yy_full_lp+0;
+    yy_full_state=yy_full_state+0;
   } /* endif False */
   
   /* Free dimension list memory */
@@ -1028,7 +1028,7 @@ ncap_ntl_scn /* [fnc] Scan command script, construct I/O lists */
     case LHS_SBS:
       /* Add dimensions defined in LHS subscripts */
       lst_t=lst_d;
-      lst_t_nbr=lst_t_nbr;
+      lst_t_nbr=lst_t_nbr+0;
       lst_d=nco_var_lst_add(lst_d,&lst_d_nbr,lval.sbs_lst->lst,lval.sbs_lst->nbr);
       if(lst_t_nbr > 0) (void)nco_nm_id_lst_free(lst_t,lst_t_nbr);
       break;
diff --git a/src/nco/ncap_utl.c b/src/nco/ncap_utl.c
index c3fa7c6..807ee19 100644
--- a/src/nco/ncap_utl.c
+++ b/src/nco/ncap_utl.c
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/ncap_utl.c,v 1.155 2013/10/22 03:03:45 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/ncap_utl.c,v 1.158 2014/02/04 22:40:20 zender Exp $ */
 
 /* Purpose: netCDF arithmetic processor */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -225,7 +225,7 @@ ncap_var_write
     /* Define variable */   
     (void)nco_def_var(prs_arg->out_id,var->nm,var->type,var->nbr_dim,var->dmn_id,&var_out_id);
     /* Set HDF Lempel-Ziv compression level, if requested */
-    if(prs_arg->dfl_lvl > 0 && var->nbr_dim > 0) (void)nco_def_var_deflate(prs_arg->out_id,var_out_id,(int)True,(int)True,prs_arg->dfl_lvl);    
+    if(prs_arg->dfl_lvl >= 0 && var->nbr_dim > 0) (void)nco_def_var_deflate(prs_arg->out_id,var_out_id,(int)True,(int)True,prs_arg->dfl_lvl);    
     /* Set chunk sizes, if requested */
     if(prs_arg->cnk_sz && var->nbr_dim > 0) (void)nco_def_var_chunking(prs_arg->out_id,var_out_id,(int)NC_CHUNKED,prs_arg->cnk_sz);
     
@@ -1245,7 +1245,7 @@ ncap_var_stretch /* [fnc] Stretch variables */
     if(nco_dbg_lvl_get() >= 1) (void)fprintf(stdout,"\n%s: WARNING Convolution not yet implemented, results of operation between %s and %s are unpredictable\n",nco_prg_nm_get(),var_lsr->nm,var_gtr->nm);
     /* Dimensions in convolution are union of dimensions in variables */
     dmn_nbr=var_lsr->nbr_dim+var_gtr->nbr_dim-var_lsr_var_gtr_dmn_shr_nbr; /* Number of dimensions in convolution */
-    dmn_nbr=dmn_nbr; /* CEWI: Avert compiler warning that variable is set but never used */
+    dmn_nbr=dmn_nbr+0; /* CEWI: Avert compiler warning that variable is set but never used */
     /* fxm: these should go away soon */
     var_lsr_out=nco_var_dpl(var_lsr);
     var_gtr_out=nco_var_dpl(var_gtr);
diff --git a/src/nco/ncap_yacc.y b/src/nco/ncap_yacc.y
index c205d9a..66a316a 100644
--- a/src/nco/ncap_yacc.y
+++ b/src/nco/ncap_yacc.y
@@ -1,10 +1,10 @@
-%{ /* $Header: /cvsroot/nco/nco/src/nco/ncap_yacc.y,v 1.65 2013/10/22 03:03:45 zender Exp $ -*-C-*- */
+%{ /* $Header: /cvsroot/nco/nco/src/nco/ncap_yacc.y,v 1.67 2014/02/04 22:40:20 zender Exp $ -*-C-*- */
   
 /* Begin C declarations section */
   
 /* Purpose: Grammar parser for ncap */
   
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
      
    License: GNU General Public License (GPL) Version 3
    The full license text is at http://www.gnu.org/copyleft/gpl.html 
@@ -620,7 +620,7 @@ var_xpr '+' var_xpr { /* Begin Addition */
     $$=$3;
   }else{ 
     $$=nco_var_pck($3,nc_typ_pck_dfl,&PCK_VAR_WITH_NEW_PCK_ATT);
-    PCK_VAR_WITH_NEW_PCK_ATT=PCK_VAR_WITH_NEW_PCK_ATT; /* CEWI */
+    PCK_VAR_WITH_NEW_PCK_ATT=PCK_VAR_WITH_NEW_PCK_ATT+0; /* CEWI */
   } /* end else */
 } /* end PACK */
 | UNPACK '(' var_xpr ')' {
@@ -775,7 +775,7 @@ yyerror /* [fnc] Print error/warning/info messages generated by parser */
   
   static nco_bool eprovoke_skip;
   
-  prs_arg=prs_arg; /* CEWI otherwise unused parameter error */
+  prs_arg=prs_arg+0; /* CEWI otherwise unused parameter error */
 
   /* if(eprovoke_skip){eprovoke_skip=False ; return 0;} */
   if(nco_dbg_lvl_get() >= nco_dbg_std){
@@ -786,7 +786,7 @@ yyerror /* [fnc] Print error/warning/info messages generated by parser */
   } /* endif dbg */
   
   if(err_sng_lcl[0] == '#') eprovoke_skip=True;
-  eprovoke_skip=eprovoke_skip; /* Do nothing except avoid compiler warnings */
+  eprovoke_skip=eprovoke_skip+0; /* CEWI Do nothing except avoid compiler warnings */
   return 0;
 } /* end yyerror() */
 
diff --git a/src/nco/ncatted.c b/src/nco/ncatted.c
index 91ab455..7beea3a 100644
--- a/src/nco/ncatted.c
+++ b/src/nco/ncatted.c
@@ -1,10 +1,10 @@
-/* $Header: /cvsroot/nco/nco/src/nco/ncatted.c,v 1.175 2013/11/01 00:09:59 pvicente Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/ncatted.c,v 1.185 2014/02/06 21:07:52 pvicente Exp $ */
 
 /* ncatted -- netCDF attribute editor */
 
 /* Purpose: Add, create, delete, or overwrite attributes in a netCDF file */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
 
    License: GNU General Public License (GPL) Version 3
    The full license text is at http://www.gnu.org/copyleft/gpl.html 
@@ -98,10 +98,6 @@
    Verify results:
    ncks -C -h ~/foo.nc | m */
 
-#if 1
-#define USE_TRV_API
-#endif
-
 #ifdef HAVE_CONFIG_H
 # include <config.h> /* Autotools tokens */
 #endif /* !HAVE_CONFIG_H */
@@ -162,8 +158,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.175 2013/11/01 00:09:59 pvicente Exp $"; 
-  const char * const CVS_Revision="$Revision: 1.175 $";
+  const char * const CVS_Id="$Id: ncatted.c,v 1.185 2014/02/06 21:07:52 pvicente Exp $"; 
+  const char * const CVS_Revision="$Revision: 1.185 $";
   const char * const opt_sht_lst="Aa:D:hl:Oo:p:Rr-:";
 
 #if defined(__cplusplus) || defined(PGI_CC)
@@ -190,6 +186,8 @@ main(int argc,char **argv)
 
   trv_tbl_sct *trv_tbl=NULL; /* [lst] Traversal table */
 
+  nco_dmn_dne_t *flg_dne=NULL; /* [lst] Flag to check if input dimension -d "does not exist" */
+ 
   static struct option opt_lng[]=
   { /* Structure ordered by short option key if possible */
     /* Long options with no argument, no short option counterpart */
@@ -258,7 +256,7 @@ main(int argc,char **argv)
       } /* endif cnk */
       if(!strcmp(opt_crr,"cln") || !strcmp(opt_crr,"mmr_cln") || !strcmp(opt_crr,"clean")) flg_cln=True; /* [flg] Clean memory prior to exit */
       if(!strcmp(opt_crr,"drt") || !strcmp(opt_crr,"mmr_drt") || !strcmp(opt_crr,"dirty")) flg_cln=False; /* [flg] Clean memory prior to exit */
-      if(!strcmp(opt_crr,"hdf4")) nco_hdf_cnv=nco_hdf4; /* [enm] Treat file as HDF4 */
+      if(!strcmp(opt_crr,"hdf4")) nco_fmt_xtn=nco_fmt_xtn_hdf4; /* [enm] Treat file as HDF4 */
       if(!strcmp(opt_crr,"hdr_pad") || !strcmp(opt_crr,"header_pad")){
         hdr_pad=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
         if(*sng_cnv_rcd) nco_sng_cnv_err(optarg,"strtoul",sng_cnv_rcd);
@@ -373,39 +371,12 @@ main(int argc,char **argv)
   trv_tbl_init(&trv_tbl); 
 
   /* Construct GTT (Group Traversal Table) */
-  (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,True,trv_tbl);
+  (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,True,&flg_dne,trv_tbl);
 
   /* Timestamp end of metadata setup and disk layout */
   rcd+=nco_ddra((char *)NULL,(char *)NULL,&ddra_info);
   ddra_info.tmr_flg=nco_tmr_rgl;
 
-
-#ifndef USE_TRV_API
-  for(int idx=0;idx<nbr_aed;idx++){
-    if(aed_lst[idx].var_nm == NULL){
-      /* Variable name is blank so edit same attribute for all variables ... */
-      for(int idx_var=0;idx_var<nbr_var_fl;idx_var++) (void)nco_aed_prc(nc_id,idx_var,aed_lst[idx]);
-    }else if(strpbrk(aed_lst[idx].var_nm,".*^$\\[]()<>+?|{}")){
-      /* Variable name contains a "regular expression" (rx) ... */
-      int xtr_nbr=1;
-      nm_id_sct *xtr_lst=NULL;
-      xtr_lst=nco_var_lst_mk(nc_id,nbr_var_fl,&aed_lst[idx].var_nm,False,False,&xtr_nbr);
-      /* Edit attribute for each matching variable */
-      for(int idx_var=0;idx_var<xtr_nbr;idx_var++) (void)nco_aed_prc(nc_id,xtr_lst[idx_var].id,aed_lst[idx]);
-      /* Free Extraction list  */
-      xtr_lst=nco_nm_id_lst_free(xtr_lst,xtr_nbr);
-    }else if(!strcasecmp(aed_lst[idx].var_nm,"global")){
-      /* Variable name indicates a global attribute ... */
-      (void)nco_aed_prc(nc_id,NC_GLOBAL,aed_lst[idx]);
-    }else{ 
-      /* Variable is a normal variable ... */
-      (void)nco_inq_varid(nc_id,aed_lst[idx].var_nm,&aed_lst[idx].id);
-      /* Edit attribute */
-      (void)nco_aed_prc(nc_id,aed_lst[idx].id,aed_lst[idx]);
-    } /* end var_nm */
-  } /* end loop over idx */
-#else /* USE_TRV_API */
-
   /* Loop input names */
   for(int idx_aed=0;idx_aed<nbr_aed;idx_aed++){
     if(aed_lst[idx_aed].var_nm == NULL){
@@ -419,7 +390,7 @@ main(int argc,char **argv)
       var_lst_in=nco_lst_prs_2D(aed_lst[idx_aed].var_nm,",",&var_lst_in_nbr);
       trv_tbl_init(&trv_tbl_rx); 
       /* Construct GTT (Group Traversal Table) */
-      (void)nco_bld_trv_tbl(nc_id,trv_pth,(int)0,NULL,(int)0,NULL,False,False,NULL,(int)0,var_lst_in,var_lst_in_nbr,False,False,False,False,trv_tbl_rx);
+      (void)nco_bld_trv_tbl(nc_id,trv_pth,(int)0,NULL,(int)0,NULL,False,False,NULL,(int)0,var_lst_in,var_lst_in_nbr,False,False,False,False,&flg_dne,trv_tbl_rx); 
       /* Edit same attribute for all variables ... */
       (void)nco_aed_prc_var_xtr(nc_id,aed_lst[idx_aed],trv_tbl_rx);
       trv_tbl_free(trv_tbl_rx);
@@ -436,7 +407,7 @@ main(int argc,char **argv)
       (void)nco_aed_prc_var_nm(nc_id,aed_lst[idx_aed],trv_tbl);
     } /* end var_nm */
   } /* Loop input names */
-#endif /* USE_TRV_API */
+
 
   /* Catenate the timestamped 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 4564a3c..eba2898 100644
--- a/src/nco/ncbo.c
+++ b/src/nco/ncbo.c
@@ -1,11 +1,11 @@
-/* $Header: /cvsroot/nco/nco/src/nco/ncbo.c,v 1.267 2013/11/06 17:51:13 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/ncbo.c,v 1.287 2014/02/14 05:22:16 zender Exp $ */
 
 /* ncbo -- netCDF binary operator */
 
 /* Purpose: Compute sum, difference, product, or ratio of specified hyperslabs of specfied variables
    from two input netCDF files and output them to a single file. */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    
    License: GNU General Public License (GPL) Version 3
    The full license text is at http://www.gnu.org/copyleft/gpl.html 
@@ -128,14 +128,15 @@ main(int argc,char **argv)
   char *opt_crr=NULL; /* [sng] String representation of current long-option name */
   char *optarg_lcl=NULL; /* [sng] Local copy of system optarg */
   char *sng_cnv_rcd=NULL_CEWI; /* [sng] strtol()/strtoul() return code */
+  char **grp_lst_in=NULL; /* [sng] User-specified list of groups */
 
   char trv_pth[]="/"; /* [sng] Root path of traversal tree */
 
-  const char * const CVS_Id="$Id: ncbo.c,v 1.267 2013/11/06 17:51:13 zender Exp $"; 
-  const char * const CVS_Revision="$Revision: 1.267 $";
+  const char * const CVS_Id="$Id: ncbo.c,v 1.287 2014/02/14 05:22:16 zender Exp $"; 
+  const char * const CVS_Revision="$Revision: 1.287 $";
   const char * const opt_sht_lst="3467ACcD:d:FG:g:hL:l:Oo:p:rRt:v:X:xzy:-:";
 
-  cnk_sct **cnk=NULL_CEWI;
+  cnk_sct cnk; /* [sct] Chunking structure */
 
 #if defined(__cplusplus) || defined(PGI_CC)
   ddra_info_sct ddra_info;
@@ -157,7 +158,7 @@ main(int argc,char **argv)
   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=0; /* [enm] Deflate level */
+  int dfl_lvl=NCO_DFL_LVL_UNDEFINED; /* [enm] Deflate level */
   int fl_idx;
   int fl_nbr=0;
   int fl_in_fmt_1; /* [enm] Input file format */
@@ -182,12 +183,15 @@ main(int argc,char **argv)
   int nbr_rec_fl_2;   /* [nbr] Number of record dimensions in file */
   int grp_dpt_fl_1;   /* [nbr] Maximum group depth (root = 0) */
   int grp_dpt_fl_2;   /* [nbr] Maximum group depth (root = 0) */ 
+  int grp_lst_in_nbr=0; /* [nbr] Number of groups explicitly specified by user */
   int nbr_grp_fl_1;   /* [nbr] Number of groups in file */
   int nbr_grp_fl_2;   /* [nbr] Number of groups in file */
   int var_ntm_fl_1;   /* [nbr] Number of non-atomic variables in file */
   int var_ntm_fl_2;   /* [nbr] Number of non-atomic variables in file */
   int nbr_var_fl_1;   /* [nbr] Number of atomic-type variables in file */
   int nbr_var_fl_2;   /* [nbr] Number of atomic-type variables in file */
+  int nbr_gpe_nm;     /* [nbr] Number of GPE entries */ 
+  int nbr_cmn_nm;     /* [nbr] Number of common entries */
   int nco_op_typ=nco_op_nil; /* [enm] Operation type */
   int opt;
   int out_id;  
@@ -197,20 +201,20 @@ main(int argc,char **argv)
   int var_lst_in_nbr=0;
 
   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 */
   size_t hdr_pad=0UL; /* [B] Pad at end of header section */
 
-  char **grp_lst_in=NULL; /* [sng] User-specified list of groups */
-  int grp_lst_in_nbr=0; /* [nbr] Number of groups explicitly specified by user */
-
   trv_tbl_sct *trv_tbl_1=NULL; /* [lst] Traversal table input file 1 */
   trv_tbl_sct *trv_tbl_2=NULL; /* [lst] Traversal table input file 2 */
 
   gpe_nm_sct *gpe_nm=NULL; /* [sct] GPE name duplicate check array */
-  int nbr_gpe_nm; /* [nbr] Number of GPE entries */ 
-
+  
   nco_cmn_t *cmn_lst=NULL; /* [sct] A list of common names */ 
-  int nbr_cmn_nm; /* [nbr] Number of common entries */
+  
+  nco_dmn_dne_t *flg_dne1=NULL; /* [lst] Flag to check if input dimension -d "does not exist" */
+  nco_dmn_dne_t *flg_dne2=NULL; /* [lst] Flag to check if input dimension -d "does not exist" */
+  nco_dmn_dne_t *flg_dne=NULL; /* [lst] Flag to check if input dimension -d "does not exist" */
 
   static struct option opt_lng[]=
     { /* Structure ordered by short option key if possible */
@@ -244,9 +248,12 @@ main(int argc,char **argv)
       /* Long options with argument, no short option counterpart */
       {"bfr_sz_hnt",required_argument,0,0}, /* [B] Buffer size hint */
       {"buffer_size_hint",required_argument,0,0}, /* [B] Buffer size hint */
+      {"cnk_map",required_argument,0,0}, /* [nbr] Chunking map */
       {"chunk_map",required_argument,0,0}, /* [nbr] Chunking map */
       {"cnk_plc",required_argument,0,0}, /* [nbr] Chunking policy */
       {"chunk_policy",required_argument,0,0}, /* [nbr] Chunking policy */
+      {"cnk_byt",required_argument,0,0}, /* [B] Chunk size in bytes */
+      {"chunk_byte",required_argument,0,0}, /* [B] Chunk size in bytes */
       {"cnk_scl",required_argument,0,0}, /* [nbr] Chunk size scalar */
       {"chunk_scalar",required_argument,0,0}, /* [nbr] Chunk size scalar */
       {"cnk_dmn",required_argument,0,0}, /* [nbr] Chunk size */
@@ -327,11 +334,15 @@ main(int argc,char **argv)
         bfr_sz_hnt=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
         if(*sng_cnv_rcd) nco_sng_cnv_err(optarg,"strtoul",sng_cnv_rcd);
       } /* endif cnk */
+      if(!strcmp(opt_crr,"cnk_byt") || !strcmp(opt_crr,"chunk_byte")){
+        cnk_sz_byt=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
+        if(*sng_cnv_rcd) nco_sng_cnv_err(optarg,"strtoul",sng_cnv_rcd);
+      } /* endif cnk_byt */
       if(!strcmp(opt_crr,"cnk_dmn") || !strcmp(opt_crr,"chunk_dimension")){
         /* Copy limit argument for later processing */
         cnk_arg[cnk_nbr]=(char *)strdup(optarg);
         cnk_nbr++;
-      } /* endif cnk */
+      } /* endif cnk_dmn */
       if(!strcmp(opt_crr,"cnk_scl") || !strcmp(opt_crr,"chunk_scalar")){
         cnk_sz_scl=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
         if(*sng_cnv_rcd) nco_sng_cnv_err(optarg,"strtoul",sng_cnv_rcd);
@@ -350,7 +361,7 @@ main(int argc,char **argv)
       if(!strcmp(opt_crr,"drt") || !strcmp(opt_crr,"mmr_drt") || !strcmp(opt_crr,"dirty")) flg_cln=False; /* [flg] Clean memory prior to exit */
       if(!strcmp(opt_crr,"ddra") || !strcmp(opt_crr,"mdl_cmp")) ddra_info.flg_ddra=flg_ddra=True; /* [flg] DDRA diagnostics */
       if(!strcmp(opt_crr,"fl_fmt") || !strcmp(opt_crr,"file_format")) rcd=nco_create_mode_prs(optarg,&fl_out_fmt);
-      if(!strcmp(opt_crr,"hdf4")) nco_hdf_cnv=nco_hdf4; /* [enm] Treat file as HDF4 */
+      if(!strcmp(opt_crr,"hdf4")) nco_fmt_xtn=nco_fmt_xtn_hdf4; /* [enm] Treat file as HDF4 */
       if(!strcmp(opt_crr,"hdf_upk") || !strcmp(opt_crr,"hdf_unpack")) nco_upk_cnv=nco_upk_HDF; /* [flg] HDF unpack convention: unpacked=scale_factor*(packed-add_offset) */
       if(!strcmp(opt_crr,"hdr_pad") || !strcmp(opt_crr,"header_pad")){
         hdr_pad=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
@@ -494,9 +505,6 @@ main(int argc,char **argv)
   /* Process positional arguments and fill in filenames */
   fl_lst_in=nco_fl_lst_mk(argv,argc,optind,&fl_nbr,&fl_out,&FL_LST_IN_FROM_STDIN);
 
-  /* Make uniform list of user-specified chunksizes */
-  if(cnk_nbr > 0) cnk=nco_cnk_prs(cnk_nbr,cnk_arg);
-
   /* Initialize thread information */
   thr_nbr=nco_openmp_ini(thr_nbr);
   in_id_1_arr=(int *)nco_malloc(thr_nbr*sizeof(int));
@@ -528,8 +536,18 @@ main(int argc,char **argv)
   in_id_2=in_id_2_arr[0];
 
   /* Construct GTT, Group Traversal Table (groups,variables,dimensions, limits) */
-  (void)nco_bld_trv_tbl(in_id_1,trv_pth,lmt_nbr,lmt_arg,aux_nbr,aux_arg,MSA_USR_RDR,FORTRAN_IDX_CNV,grp_lst_in,grp_lst_in_nbr,var_lst_in,var_lst_in_nbr,EXTRACT_ALL_COORDINATES,GRP_VAR_UNN,EXCLUDE_INPUT_LIST,EXTRACT_ASSOCIATED_COORDINATES,trv_tbl_1);
-  (void)nco_bld_trv_tbl(in_id_2,trv_pth,lmt_nbr,lmt_arg,aux_nbr,aux_arg,MSA_USR_RDR,FORTRAN_IDX_CNV,grp_lst_in,grp_lst_in_nbr,var_lst_in,var_lst_in_nbr,EXTRACT_ALL_COORDINATES,GRP_VAR_UNN,EXCLUDE_INPUT_LIST,EXTRACT_ASSOCIATED_COORDINATES,trv_tbl_2);
+  (void)nco_bld_trv_tbl(in_id_1,trv_pth,lmt_nbr,lmt_arg,aux_nbr,aux_arg,MSA_USR_RDR,FORTRAN_IDX_CNV,grp_lst_in,grp_lst_in_nbr,var_lst_in,var_lst_in_nbr,EXTRACT_ALL_COORDINATES,GRP_VAR_UNN,EXCLUDE_INPUT_LIST,EXTRACT_ASSOCIATED_COORDINATES,&flg_dne1,trv_tbl_1);
+  (void)nco_bld_trv_tbl(in_id_2,trv_pth,lmt_nbr,lmt_arg,aux_nbr,aux_arg,MSA_USR_RDR,FORTRAN_IDX_CNV,grp_lst_in,grp_lst_in_nbr,var_lst_in,var_lst_in_nbr,EXTRACT_ALL_COORDINATES,GRP_VAR_UNN,EXCLUDE_INPUT_LIST,EXTRACT_ASSOCIATED_COORDINATES,&flg_dne2,trv_tbl_2);
+
+  /* Merge DNE lists before checking */
+  flg_dne=(nco_dmn_dne_t *)nco_malloc(2*lmt_nbr*sizeof(nco_dmn_dne_t));
+
+  /* Merge "dne" lists */
+  for(int lmt_idx=0;lmt_idx<lmt_nbr;lmt_idx++) flg_dne[lmt_idx]=flg_dne1[lmt_idx]; 
+  for(int lmt_idx=lmt_nbr;lmt_idx<2*lmt_nbr;lmt_idx++) flg_dne[lmt_idx]=flg_dne2[lmt_idx]; 
+ 
+  /* Check if all input -d dimensions were found */ 
+  (void)nco_chk_dmn(lmt_nbr,flg_dne);     
 
   /* Get number of variables, dimensions, and global attributes in file, file format */
   (void)trv_tbl_inq(&nbr_glb_att_1,&nbr_grp_att_1,&nbr_att_var_1,&nbr_dmn_fl_1,&nbr_rec_fl_1,&grp_dpt_fl_1,&nbr_grp_fl_1,&var_ntm_fl_1,&nbr_var_fl_1,trv_tbl_1);
@@ -549,9 +567,12 @@ main(int argc,char **argv)
   /* Open output file */
   fl_out_tmp=nco_fl_out_open(fl_out,FORCE_APPEND,FORCE_OVERWRITE,fl_out_fmt,&bfr_sz_hnt,RAM_CREATE,RAM_OPEN,WRT_TMP_FL,&out_id);
 
+  /* Create structure with all chunking information */
+  if(fl_out_fmt == NC_FORMAT_NETCDF4 || fl_out_fmt == NC_FORMAT_NETCDF4_CLASSIC) rcd+=nco_cnk_ini(fl_out,cnk_arg,cnk_nbr,cnk_map,cnk_plc,cnk_sz_byt,cnk_sz_scl,&cnk);
+
   if(gpe){
     if(nco_dbg_lvl >= nco_dbg_fl) (void)fprintf(stderr,"%s: INFO Group Path Edit (GPE) feature enabled\n",nco_prg_nm_get());
-    if(fl_out_fmt != NC_FORMAT_NETCDF4) (void)fprintf(stderr,"%s: WARNING Group Path Edit (GPE) requires netCDF4 output format in most cases (except flattening) but user explicitly requested output format = %s. This command will fail if the output file requires netCDF4 features like groups.\n",nco_prg_nm_get(),nco_fmt_sng(fl_out_fmt));
+    if(fl_out_fmt != NC_FORMAT_NETCDF4) (void)fprintf(stderr,"%s: WARNING Group Path Edit (GPE) requires netCDF4 output format in most cases (except flattening) but user explicitly requested output format = %s. This command will fail if the output file requires netCDF4 features like groups or netCDF4 atomic types (e.g., NC_STRING, NC_UBYTE...).\n",nco_prg_nm_get(),nco_fmt_sng(fl_out_fmt));
   } /* !gpe */
 
   /* Match 2 tables (find common objects) and export common objects */
@@ -561,7 +582,7 @@ main(int argc,char **argv)
   CNV_CCM_CCSM_CF=nco_cnv_ccm_ccsm_cf_inq(in_id_1);
     
   /* Process common objects (DEFINE mode, True as flg_dfn parameter) */
-  (void)nco_prc_cmn_nm(in_id_1,in_id_2,out_id,cnk_map,cnk_plc,cnk_sz_scl,cnk,cnk_nbr,dfl_lvl,gpe,gpe_nm,nbr_gpe_nm,CNV_CCM_CCSM_CF,nco_op_typ,trv_tbl_1,trv_tbl_2,cmn_lst,nbr_cmn_nm,(nco_bool)True);
+  (void)nco_prc_cmn_nm(in_id_1,in_id_2,out_id,&cnk,dfl_lvl,gpe,gpe_nm,nbr_gpe_nm,CNV_CCM_CCSM_CF,nco_op_typ,trv_tbl_1,trv_tbl_2,cmn_lst,nbr_cmn_nm,(nco_bool)True);
 
   /* Copy global attributes from file 1 */
   (void)nco_att_cpy(in_id_1,out_id,NC_GLOBAL,NC_GLOBAL,(nco_bool)True);
@@ -581,7 +602,7 @@ main(int argc,char **argv)
   } /* hdr_pad */
 
   /* Process common objects (WRITE mode, False as flg_dfn parameter) */
-  (void)nco_prc_cmn_nm(in_id_1,in_id_2,out_id,cnk_map,cnk_plc,cnk_sz_scl,cnk,cnk_nbr,dfl_lvl,gpe,gpe_nm,nbr_gpe_nm,CNV_CCM_CCSM_CF,nco_op_typ,trv_tbl_1,trv_tbl_2,cmn_lst,nbr_cmn_nm,(nco_bool)False);
+  (void)nco_prc_cmn_nm(in_id_1,in_id_2,out_id,&cnk,dfl_lvl,gpe,gpe_nm,nbr_gpe_nm,CNV_CCM_CCSM_CF,nco_op_typ,trv_tbl_1,trv_tbl_2,cmn_lst,nbr_cmn_nm,(nco_bool)False);
 
   /* Close input netCDF files */
   for(thr_idx=0;thr_idx<thr_nbr;thr_idx++) nco_close(in_id_1_arr[thr_idx]);
@@ -619,7 +640,7 @@ main(int argc,char **argv)
     for(idx=0;idx<aux_nbr;idx++) aux_arg[idx]=(char *)nco_free(aux_arg[idx]);
     /* Free chunking information */
     for(idx=0;idx<cnk_nbr;idx++) cnk_arg[idx]=(char *)nco_free(cnk_arg[idx]);
-    if(cnk_nbr > 0) cnk=nco_cnk_lst_free(cnk,cnk_nbr); 
+    if(cnk_nbr > 0) cnk.cnk_dmn=(cnk_dmn_sct **)nco_cnk_lst_free(cnk.cnk_dmn,cnk_nbr);
     trv_tbl_free(trv_tbl_1);
     trv_tbl_free(trv_tbl_2);
     if(gpe) gpe=(gpe_sct *)nco_gpe_free(gpe);
@@ -627,8 +648,14 @@ main(int argc,char **argv)
     for(idx=0;idx<nbr_gpe_nm;idx++) gpe_nm[idx].var_nm_fll=(char *)nco_free(gpe_nm[idx].var_nm_fll);
     if(nbr_gpe_nm) gpe_nm=(gpe_nm_sct *)nco_free(gpe_nm);
     /* Memory management for common names list */
-    for(idx=0;idx<nbr_cmn_nm;idx++) cmn_lst[idx].var_nm_fll=(char *)nco_free(cmn_lst[idx].var_nm_fll);
+    for(idx=0;idx<nbr_cmn_nm;idx++) cmn_lst[idx].nm=(char *)nco_free(cmn_lst[idx].nm);
     if(nbr_cmn_nm > 0) cmn_lst=(nco_cmn_t *)nco_free(cmn_lst);
+    for(idx=0;idx<lmt_nbr;idx++) flg_dne1[idx].dim_nm=(char *)nco_free(flg_dne1[idx].dim_nm);
+    flg_dne1=(nco_dmn_dne_t *)nco_free(flg_dne1);
+    for(idx=0;idx<lmt_nbr;idx++) flg_dne2[idx].dim_nm=(char *)nco_free(flg_dne2[idx].dim_nm);
+    flg_dne2=(nco_dmn_dne_t *)nco_free(flg_dne2);
+    for(idx=0;idx<lmt_nbr;idx++) flg_dne[idx].dim_nm=(char *)nco_free(flg_dne[idx].dim_nm);
+    flg_dne=(nco_dmn_dne_t *)nco_free(flg_dne);
 
   } /* !flg_cln */
 
diff --git a/src/nco/ncecat.c b/src/nco/ncecat.c
index bd3399b..9c077a1 100644
--- a/src/nco/ncecat.c
+++ b/src/nco/ncecat.c
@@ -1,10 +1,10 @@
-/* $Header: /cvsroot/nco/nco/src/nco/ncecat.c,v 1.346 2013/11/19 01:19:11 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/ncecat.c,v 1.362 2014/02/11 16:17:23 zender Exp $ */
 
 /* ncecat -- netCDF ensemble concatenator */
 
 /* Purpose: Join variables across files with new record variable or aggregate files as groups */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
 
    License: GNU General Public License (GPL) Version 3
    The full license text is at http://www.gnu.org/copyleft/gpl.html 
@@ -124,11 +124,11 @@ 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.346 2013/11/19 01:19:11 zender Exp $"; 
-  const char * const CVS_Revision="$Revision: 1.346 $";
+  const char * const CVS_Id="$Id: ncecat.c,v 1.362 2014/02/11 16:17:23 zender Exp $"; 
+  const char * const CVS_Revision="$Revision: 1.362 $";
   const char * const opt_sht_lst="3467ACcD:d:Fg:G:HhL:l:Mn:Oo:p:rRt:u:v:X:x-:";
 
-  cnk_sct **cnk=NULL_CEWI;
+  cnk_sct cnk; /* [sct] Chunking structure */
 
 #if defined(__cplusplus) || defined(PGI_CC)
   ddra_info_sct ddra_info;
@@ -154,7 +154,7 @@ main(int argc,char **argv)
   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=0; /* [enm] Deflate level */
+  int dfl_lvl=NCO_DFL_LVL_UNDEFINED; /* [enm] Deflate level */
   int fl_idx;
   int fl_nbr=0;
   int fl_in_fmt; /* [enm] Input file format */
@@ -184,6 +184,7 @@ main(int argc,char **argv)
   md5_sct *md5=NULL; /* [sct] MD5 configuration */
 
   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 */
   size_t grp_out_lng; /* [nbr] Length of original, canonicalized GPE specification filename component */
   size_t hdr_pad=0UL; /* [B] Pad at end of header section */
@@ -197,6 +198,8 @@ main(int argc,char **argv)
 
   trv_tbl_sct *trv_tbl=NULL; /* [lst] Traversal table */
 
+  nco_dmn_dne_t *flg_dne=NULL; /* [lst] Flag to check if input dimension -d "does not exist" */
+
   static struct option opt_lng[]=
   { /* Structure ordered by short option key if possible */
     /* Long options with no argument, no short option counterpart */
@@ -234,6 +237,8 @@ main(int argc,char **argv)
     {"chunk_map",required_argument,0,0}, /* [nbr] Chunking map */
     {"cnk_plc",required_argument,0,0}, /* [nbr] Chunking policy */
     {"chunk_policy",required_argument,0,0}, /* [nbr] Chunking policy */
+    {"cnk_byt",required_argument,0,0}, /* [B] Chunk size in bytes */
+    {"chunk_byte",required_argument,0,0}, /* [B] Chunk size in bytes */
     {"cnk_scl",required_argument,0,0}, /* [nbr] Chunk size scalar */
     {"chunk_scalar",required_argument,0,0}, /* [nbr] Chunk size scalar */
     {"cnk_dmn",required_argument,0,0}, /* [nbr] Chunk size */
@@ -317,6 +322,10 @@ main(int argc,char **argv)
         bfr_sz_hnt=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
         if(*sng_cnv_rcd) nco_sng_cnv_err(optarg,"strtoul",sng_cnv_rcd);
       } /* endif cnk */
+      if(!strcmp(opt_crr,"cnk_byt") || !strcmp(opt_crr,"chunk_byte")){
+        cnk_sz_byt=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
+        if(*sng_cnv_rcd) nco_sng_cnv_err(optarg,"strtoul",sng_cnv_rcd);
+      } /* endif cnk_byt */
       if(!strcmp(opt_crr,"cnk_dmn") || !strcmp(opt_crr,"chunk_dimension")){
         /* Copy limit argument for later processing */
         cnk_arg[cnk_nbr]=(char *)strdup(optarg);
@@ -340,7 +349,7 @@ main(int argc,char **argv)
       if(!strcmp(opt_crr,"drt") || !strcmp(opt_crr,"mmr_drt") || !strcmp(opt_crr,"dirty")) flg_cln=False; /* [flg] Clean memory prior to exit */
       if(!strcmp(opt_crr,"fl_fmt") || !strcmp(opt_crr,"file_format")) rcd=nco_create_mode_prs(optarg,&fl_out_fmt);
       if(!strcmp(opt_crr,"gag") || !strcmp(opt_crr,"aggregate_group")) GROUP_AGGREGATE=True; /* [flg] Aggregate files into groups not records */
-      if(!strcmp(opt_crr,"hdf4")) nco_hdf_cnv=nco_hdf4; /* [enm] Treat file as HDF4 */
+      if(!strcmp(opt_crr,"hdf4")) nco_fmt_xtn=nco_fmt_xtn_hdf4; /* [enm] Treat file as HDF4 */
       if(!strcmp(opt_crr,"hdr_pad") || !strcmp(opt_crr,"header_pad")){
         hdr_pad=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
         if(*sng_cnv_rcd) nco_sng_cnv_err(optarg,"strtoul",sng_cnv_rcd);
@@ -509,9 +518,6 @@ main(int argc,char **argv)
   /* Process positional arguments and fill in filenames */
   fl_lst_in=nco_fl_lst_mk(argv,argc,optind,&fl_nbr,&fl_out,&FL_LST_IN_FROM_STDIN);
 
-  /* Make uniform list of user-specified chunksizes */
-  if(cnk_nbr > 0) cnk=nco_cnk_prs(cnk_nbr,cnk_arg);
-
   /* Parse filename */
   fl_in=nco_fl_nm_prs(fl_in,0,&fl_nbr,fl_lst_in,abb_arg_nbr,fl_lst_abb,fl_pth);
   /* Make sure file is on local system and is readable or die trying */
@@ -531,7 +537,10 @@ main(int argc,char **argv)
     (void)nco_inq_format(in_id,&fl_in_fmt); 
 
     /* Construct GTT, Group Traversal Table (groups,variables,dimensions, limits) */
-    (void)nco_bld_trv_tbl(in_id,trv_pth,lmt_nbr,lmt_arg,aux_nbr,aux_arg,MSA_USR_RDR,FORTRAN_IDX_CNV,grp_lst_in,grp_lst_in_nbr,var_lst_in,xtr_nbr,EXTRACT_ALL_COORDINATES,GRP_VAR_UNN,EXCLUDE_INPUT_LIST,EXTRACT_ASSOCIATED_COORDINATES,trv_tbl);
+    (void)nco_bld_trv_tbl(in_id,trv_pth,lmt_nbr,lmt_arg,aux_nbr,aux_arg,MSA_USR_RDR,FORTRAN_IDX_CNV,grp_lst_in,grp_lst_in_nbr,var_lst_in,xtr_nbr,EXTRACT_ALL_COORDINATES,GRP_VAR_UNN,EXCLUDE_INPUT_LIST,EXTRACT_ASSOCIATED_COORDINATES,&flg_dne,trv_tbl);
+
+    /* Check if all input -d dimensions were found */ 
+    (void)nco_chk_dmn(lmt_nbr,flg_dne);     
 
     /* Get number of variables, dimensions, and global attributes in file, file format */
     (void)trv_tbl_inq((int *)NULL,(int *)NULL,(int *)NULL,&nbr_dmn_fl,(int *)NULL,(int *)NULL,(int *)NULL,(int *)NULL,&nbr_var_fl,trv_tbl);
@@ -562,6 +571,9 @@ main(int argc,char **argv)
   /* Open output file */
   fl_out_tmp=nco_fl_out_open(fl_out,FORCE_APPEND,FORCE_OVERWRITE,fl_out_fmt,&bfr_sz_hnt,RAM_CREATE,RAM_OPEN,WRT_TMP_FL,&out_id);
 
+  /* Create structure with all chunking information */
+  if(fl_out_fmt == NC_FORMAT_NETCDF4 || fl_out_fmt == NC_FORMAT_NETCDF4_CLASSIC) rcd+=nco_cnk_ini(fl_out,cnk_arg,cnk_nbr,cnk_map,cnk_plc,cnk_sz_byt,cnk_sz_scl,&cnk);
+
   /* ncecat-specific operations */
   if(RECORD_AGGREGATE){
 
@@ -597,7 +609,7 @@ main(int argc,char **argv)
     } /* end loop over idx */
 
     /* Define dimensions, extracted groups, variables, and attributes in output file */
-    (void)nco_xtr_dfn(in_id,out_id,&cnk_map,&cnk_plc,cnk_sz_scl,cnk,cnk_nbr,dfl_lvl,gpe,md5,True,True,nco_pck_plc_nil,rec_dmn_nm,trv_tbl);
+    (void)nco_xtr_dfn(in_id,out_id,&cnk,dfl_lvl,gpe,md5,True,True,nco_pck_plc_nil,rec_dmn_nm,trv_tbl);
 
     /* Copy global attributes */
 #ifdef COPY_ROOT_GLOBAL_ATTRIBUTES
@@ -681,7 +693,7 @@ main(int argc,char **argv)
 	   Two versions of HDF-EOS exist: HDF-EOS2 for HDF4, and HDF-EOS5 for HDF5 */
         if(strncmp(fl_in+sfx_fst,".nc",sfx_lng) && /* netCDF standard suffix */
 	   strncmp(fl_in+sfx_fst,".H5",sfx_lng) && /* HDF5 suffix used by ICESat GLAS, e.g., GLAH05_633_2103_001_1107_3_01_0001.H5 */
-	   strncmp(fl_in+sfx_fst,".h5",sfx_lng)){ /* HDF5 suffix used by BUV, MEaSUREs Ozone, SBUV, e.g., BUV-Nimbus04_L3zm_v01-00-2012m0203t144121.h5, MSO3L3zm5_v01-02-2013m0907t142428.h5 */
+	   strncmp(fl_in+sfx_fst,".h5",sfx_lng)){ /* HDF5 suffix used by BUV, ICESat GLAS, MABEL, MEaSUREs Ozone, SBUV, e.g., BUV-Nimbus04_L3zm_v01-00-2012m0203t144121.h5, GLAH13_633_2103_001_1317_0_01_0001.h5, mabel_l2_20130927t201800_008_1.h5, MSO3L3zm5_v01-02-2013m0907t142428.h5 */
 	  sfx_lng=4L;
 	  sfx_fst=fl_in_lng-sfx_lng;
 	  if(strncmp(fl_in+sfx_fst,".cdf",sfx_lng) && /* netCDF old-fashioned suffix */
@@ -734,7 +746,7 @@ main(int argc,char **argv)
       trv_tbl_init(&trv_tbl_gpr);
 
       /* Construct GTT, Group Traversal Table (groups,variables,dimensions, limits) */
-      (void)nco_bld_trv_tbl(in_id,trv_pth,lmt_nbr_rgn,lmt_arg,aux_nbr,aux_arg,MSA_USR_RDR,FORTRAN_IDX_CNV,grp_lst_in,grp_lst_in_nbr,var_lst_in,xtr_nbr,EXTRACT_ALL_COORDINATES,GRP_VAR_UNN,EXCLUDE_INPUT_LIST,EXTRACT_ASSOCIATED_COORDINATES,trv_tbl_gpr);
+      (void)nco_bld_trv_tbl(in_id,trv_pth,lmt_nbr_rgn,lmt_arg,aux_nbr,aux_arg,MSA_USR_RDR,FORTRAN_IDX_CNV,grp_lst_in,grp_lst_in_nbr,var_lst_in,xtr_nbr,EXTRACT_ALL_COORDINATES,GRP_VAR_UNN,EXCLUDE_INPUT_LIST,EXTRACT_ASSOCIATED_COORDINATES,&flg_dne,trv_tbl_gpr);
 
       /* Get number of variables, dimensions, and global attributes in file, file format */
       (void)trv_tbl_inq((int *)NULL,(int *)NULL,(int *)NULL,&nbr_dmn_fl,(int *)NULL,(int *)NULL,(int *)NULL,(int *)NULL,&nbr_var_fl,trv_tbl_gpr);
@@ -743,7 +755,7 @@ main(int argc,char **argv)
       /* We now have final list of variables to extract. Phew. */
 
       /* Define extracted groups, variables, and attributes in output file */
-      (void)nco_xtr_dfn(in_id,out_id,&cnk_map,&cnk_plc,cnk_sz_scl,cnk,cnk_nbr,dfl_lvl,gpe,md5,CPY_GLB_METADATA,(nco_bool)True,nco_pck_plc_nil,rec_dmn_nm,trv_tbl_gpr);
+      (void)nco_xtr_dfn(in_id,out_id,&cnk,dfl_lvl,gpe,md5,CPY_GLB_METADATA,(nco_bool)True,nco_pck_plc_nil,rec_dmn_nm,trv_tbl_gpr);
 
       /* Turn off default filling behavior to enhance efficiency */
       nco_set_fill(out_id,NC_NOFILL,&fll_md_old);
@@ -883,7 +895,7 @@ main(int argc,char **argv)
     for(int idx=0;idx<aux_nbr;idx++) aux_arg[idx]=(char *)nco_free(aux_arg[idx]);
     /* Free chunking information */
     for(int idx=0;idx<cnk_nbr;idx++) cnk_arg[idx]=(char *)nco_free(cnk_arg[idx]);
-    if(cnk_nbr > 0) cnk=nco_cnk_lst_free(cnk,cnk_nbr);
+    if(cnk_nbr > 0) cnk.cnk_dmn=(cnk_dmn_sct **)nco_cnk_lst_free(cnk.cnk_dmn,cnk_nbr);
     if(RECORD_AGGREGATE){
       /* Free dimension lists */
       /* ncecat-specific memory cleanup */
@@ -898,7 +910,9 @@ main(int argc,char **argv)
       if(gpe) gpe=(gpe_sct *)nco_gpe_free(gpe);
       if(md5) md5=(md5_sct *)nco_md5_free(md5);
       /* Free traversal table */
-      trv_tbl_free(trv_tbl);  
+      trv_tbl_free(trv_tbl);
+      for(int idx=0;idx<lmt_nbr;idx++) flg_dne[idx].dim_nm=(char *)nco_free(flg_dne[idx].dim_nm);
+      if (flg_dne) flg_dne=(nco_dmn_dne_t *)nco_free(flg_dne);
     } /* RECORD_AGGREGATE */
   } /* !flg_cln */
 
diff --git a/src/nco/ncflint.c b/src/nco/ncflint.c
index 3736f7e..f655399 100644
--- a/src/nco/ncflint.c
+++ b/src/nco/ncflint.c
@@ -1,10 +1,10 @@
-/* $Header: /cvsroot/nco/nco/src/nco/ncflint.c,v 1.271 2013/11/06 17:51:13 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/ncflint.c,v 1.287 2014/02/11 16:17:23 zender Exp $ */
 
 /* ncflint -- netCDF file interpolator */
 
 /* Purpose: Linearly interpolate a third netCDF file from two input files */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
 
    License: GNU General Public License (GPL) Version 3
    The full license text is at http://www.gnu.org/copyleft/gpl.html 
@@ -116,11 +116,11 @@ 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: ncflint.c,v 1.271 2013/11/06 17:51:13 zender Exp $"; 
-  const char * const CVS_Revision="$Revision: 1.271 $";
+  const char * const CVS_Id="$Id: ncflint.c,v 1.287 2014/02/11 16:17:23 zender Exp $"; 
+  const char * const CVS_Revision="$Revision: 1.287 $";
   const char * const opt_sht_lst="3467ACcD:d:Fg:G:hi:L:l:Oo:p:rRt:v:X:xw:-:";
 
-  cnk_sct **cnk=NULL_CEWI;
+  cnk_sct cnk; /* [sct] Chunking structure */
 
 #if defined(__cplusplus) || defined(PGI_CC)
   ddra_info_sct ddra_info;
@@ -151,7 +151,7 @@ main(int argc,char **argv)
   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=0; /* [enm] Deflate level */
+  int dfl_lvl=NCO_DFL_LVL_UNDEFINED; /* [enm] Deflate level */
   int fl_idx;
   int fl_nbr=0;
   int fl_in_fmt_1; /* [enm] Input file format */
@@ -181,6 +181,7 @@ main(int argc,char **argv)
   md5_sct *md5=NULL; /* [sct] MD5 configuration */
 
   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 */
   size_t hdr_pad=0UL; /* [B] Pad at end of header section */
 
@@ -200,6 +201,8 @@ main(int argc,char **argv)
 
   trv_tbl_sct *trv_tbl=NULL; /* [lst] Traversal table */
 
+  nco_dmn_dne_t *flg_dne=NULL; /* [lst] Flag to check if input dimension -d "does not exist" */
+
   static struct option opt_lng[]=
   { /* Structure ordered by short option key if possible */
     /* Long options with no argument, no short option counterpart */
@@ -231,9 +234,12 @@ main(int argc,char **argv)
     /* Long options with argument, no short option counterpart */
     {"bfr_sz_hnt",required_argument,0,0}, /* [B] Buffer size hint */
     {"buffer_size_hint",required_argument,0,0}, /* [B] Buffer size hint */
+    {"cnk_map",required_argument,0,0}, /* [nbr] Chunking map */
     {"chunk_map",required_argument,0,0}, /* [nbr] Chunking map */
     {"cnk_plc",required_argument,0,0}, /* [nbr] Chunking policy */
     {"chunk_policy",required_argument,0,0}, /* [nbr] Chunking policy */
+    {"cnk_byt",required_argument,0,0}, /* [B] Chunk size in bytes */
+    {"chunk_byte",required_argument,0,0}, /* [B] Chunk size in bytes */
     {"cnk_scl",required_argument,0,0}, /* [nbr] Chunk size scalar */
     {"chunk_scalar",required_argument,0,0}, /* [nbr] Chunk size scalar */
     {"cnk_dmn",required_argument,0,0}, /* [nbr] Chunk size */
@@ -315,6 +321,10 @@ main(int argc,char **argv)
         bfr_sz_hnt=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
         if(*sng_cnv_rcd) nco_sng_cnv_err(optarg,"strtoul",sng_cnv_rcd);
       } /* endif cnk */
+      if(!strcmp(opt_crr,"cnk_byt") || !strcmp(opt_crr,"chunk_byte")){
+        cnk_sz_byt=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
+        if(*sng_cnv_rcd) nco_sng_cnv_err(optarg,"strtoul",sng_cnv_rcd);
+      } /* endif cnk_byt */
       if(!strcmp(opt_crr,"cnk_dmn") || !strcmp(opt_crr,"chunk_dimension")){
         /* Copy limit argument for later processing */
         cnk_arg[cnk_nbr]=(char *)strdup(optarg);
@@ -338,7 +348,7 @@ main(int argc,char **argv)
       if(!strcmp(opt_crr,"drt") || !strcmp(opt_crr,"mmr_drt") || !strcmp(opt_crr,"dirty")) flg_cln=False; /* [flg] Clean memory prior to exit */
       if(!strcmp(opt_crr,"fix_rec_crd")) FIX_REC_CRD=True; /* [flg] Do not interpolate/multiply record coordinate variables */
       if(!strcmp(opt_crr,"fl_fmt") || !strcmp(opt_crr,"file_format")) rcd=nco_create_mode_prs(optarg,&fl_out_fmt);
-      if(!strcmp(opt_crr,"hdf4")) nco_hdf_cnv=nco_hdf4; /* [enm] Treat file as HDF4 */
+      if(!strcmp(opt_crr,"hdf4")) nco_fmt_xtn=nco_fmt_xtn_hdf4; /* [enm] Treat file as HDF4 */
       if(!strcmp(opt_crr,"hdf_upk") || !strcmp(opt_crr,"hdf_unpack")) nco_upk_cnv=nco_upk_HDF; /* [flg] HDF unpack convention: unpacked=scale_factor*(packed-add_offset) */
       if(!strcmp(opt_crr,"hdr_pad") || !strcmp(opt_crr,"header_pad")){
         hdr_pad=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
@@ -513,9 +523,6 @@ main(int argc,char **argv)
   /* Process positional arguments and fill in filenames */
   fl_lst_in=nco_fl_lst_mk(argv,argc,optind,&fl_nbr,&fl_out,&FL_LST_IN_FROM_STDIN);
 
-  /* Make uniform list of user-specified chunksizes */
-  if(cnk_nbr > 0) cnk=nco_cnk_prs(cnk_nbr,cnk_arg);
-
   /* Initialize thread information */
   thr_nbr=nco_openmp_ini(thr_nbr);
   in_id_1_arr=(int *)nco_malloc(thr_nbr*sizeof(int));
@@ -552,7 +559,10 @@ main(int argc,char **argv)
   trv_tbl_init(&trv_tbl);
 
   /* Construct GTT, Group Traversal Table (groups,variables,dimensions, limits) */
-  (void)nco_bld_trv_tbl(in_id_1,trv_pth,lmt_nbr,lmt_arg,aux_nbr,aux_arg,MSA_USR_RDR,FORTRAN_IDX_CNV,grp_lst_in,grp_lst_in_nbr,var_lst_in,xtr_nbr,EXTRACT_ALL_COORDINATES,GRP_VAR_UNN,EXCLUDE_INPUT_LIST,EXTRACT_ASSOCIATED_COORDINATES,trv_tbl);
+  (void)nco_bld_trv_tbl(in_id_1,trv_pth,lmt_nbr,lmt_arg,aux_nbr,aux_arg,MSA_USR_RDR,FORTRAN_IDX_CNV,grp_lst_in,grp_lst_in_nbr,var_lst_in,xtr_nbr,EXTRACT_ALL_COORDINATES,GRP_VAR_UNN,EXCLUDE_INPUT_LIST,EXTRACT_ASSOCIATED_COORDINATES,&flg_dne,trv_tbl);
+
+  /* Check if all input -d dimensions were found */ 
+  (void)nco_chk_dmn(lmt_nbr,flg_dne);     
 
   /* Get number of variables, dimensions, and global attributes in file, file format */
   (void)trv_tbl_inq((int *)NULL,(int *)NULL,(int *)NULL,&nbr_dmn_fl,(int *)NULL,(int *)NULL,(int *)NULL,(int *)NULL,&nbr_var_fl,trv_tbl);
@@ -583,11 +593,14 @@ main(int argc,char **argv)
   /* Open output file */
   fl_out_tmp=nco_fl_out_open(fl_out,FORCE_APPEND,FORCE_OVERWRITE,fl_out_fmt,&bfr_sz_hnt,RAM_CREATE,RAM_OPEN,WRT_TMP_FL,&out_id);
 
+  /* Create structure with all chunking information */
+  if(fl_out_fmt == NC_FORMAT_NETCDF4 || fl_out_fmt == NC_FORMAT_NETCDF4_CLASSIC) rcd+=nco_cnk_ini(fl_out,cnk_arg,cnk_nbr,cnk_map,cnk_plc,cnk_sz_byt,cnk_sz_scl,&cnk);
+
   /* Transfer variable type to table. NOTE: Using var/xtr_nbr containing all variables (processed, fixed) */
   (void)nco_var_typ_trv(xtr_nbr,var,trv_tbl);         
 
   /* Define dimensions, extracted groups, variables, and attributes in output file */
-  (void)nco_xtr_dfn(in_id_1,out_id,&cnk_map,&cnk_plc,cnk_sz_scl,cnk,cnk_nbr,dfl_lvl,gpe,md5,True,True,nco_pck_plc_nil,(char *)NULL,trv_tbl);
+  (void)nco_xtr_dfn(in_id_1,out_id,&cnk,dfl_lvl,gpe,md5,True,True,nco_pck_plc_nil,(char *)NULL,trv_tbl);
 
   /* Catenate time-stamped command line to "history" global attribute */
   if(HISTORY_APPEND) (void)nco_hst_att_cat(out_id,cmd_ln);
@@ -862,20 +875,15 @@ main(int argc,char **argv)
     for(idx=0;idx<aux_nbr;idx++) aux_arg[idx]=(char *)nco_free(aux_arg[idx]);
     /* Free chunking information */
     for(idx=0;idx<cnk_nbr;idx++) cnk_arg[idx]=(char *)nco_free(cnk_arg[idx]);
-    if(cnk_nbr > 0) cnk=nco_cnk_lst_free(cnk,cnk_nbr);
-
-    /* Free variable lists */
-    /* ncflint free()s _prc variables at end of main loop */
+    if(cnk_nbr > 0) cnk.cnk_dmn=(cnk_dmn_sct **)nco_cnk_lst_free(cnk.cnk_dmn,cnk_nbr);
     var=(var_sct **)nco_free(var);
     var_out=(var_sct **)nco_free(var_out);
     var_prc_out=(var_sct **)nco_free(var_prc_out);
     if(nbr_var_fix > 0) var_fix=nco_var_lst_free(var_fix,nbr_var_fix);
     if(nbr_var_fix > 0) var_fix_out=nco_var_lst_free(var_fix_out,nbr_var_fix);
-
-    /* Free traversal table */
-
     trv_tbl_free(trv_tbl); 
-
+    for(idx=0;idx<lmt_nbr;idx++) flg_dne[idx].dim_nm=(char *)nco_free(flg_dne[idx].dim_nm);
+    if (flg_dne) flg_dne=(nco_dmn_dne_t *)nco_free(flg_dne);
     if(gpe) gpe=(gpe_sct *)nco_gpe_free(gpe);
   } /* !flg_cln */
 
diff --git a/src/nco/ncks.c b/src/nco/ncks.c
index a3186d5..d8df587 100644
--- a/src/nco/ncks.c
+++ b/src/nco/ncks.c
@@ -1,11 +1,11 @@
-/* $Header: /cvsroot/nco/nco/src/nco/ncks.c,v 1.678 2013/11/24 04:05:41 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/ncks.c,v 1.710 2014/02/17 23:12:37 zender Exp $ */
 
 /* ncks -- netCDF Kitchen Sink */
 
 /* Purpose: Extract (subsets of) variables from a netCDF file 
    Print them to screen, or copy them to a new file, or both */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
 
    License: GNU General Public License (GPL) Version 3
    The full license text is at http://www.gnu.org/copyleft/gpl.html 
@@ -53,6 +53,10 @@
    ncks -O -G level3name:-5 -v v7 ~/nco/data/in_grp.nc ~/foo.nc
    ncks -O -v time ~/in_grp.nc ~/foo.nc
    ncks -O --sysconf ~/in_grp.nc ~/foo.nc
+   ncks -C --xml_spr_chr=', ' -v two_dmn_rec_var_sng ~/nco/data/in.nc
+   ncks --cdl -v one_dmn_rec_var ~/nco/data/in.nc
+   ncks --jsn -C -v one_dmn_rec_var ~/nco/data/in.nc
+   ncks --jsn -C -m -v one_dmn_rec_var ~/nco/data/in_grp.nc
    ncks -O -m -M -v Snow_Cover_Monthly_CMG ${DATA}/hdf/MOD10CM.A2007001.005.2007108111758.hdf */
 
 #ifdef HAVE_CONFIG_H
@@ -100,14 +104,16 @@ main(int argc,char **argv)
   nco_bool FORTRAN_IDX_CNV=False; /* Option F */
   nco_bool GET_GRP_INFO=False; /* [flg] Iterate file, get group extended information */
   nco_bool GET_FILE_INFO=False; /* [flg] Get file information (#groups, #dimensions, #attributes, #variables) */
-  nco_bool GET_PRG_INFO=False; /* [flg] Get compiled program information (e.g libraries) */
+  nco_bool GET_PRG_INFO=False; /* [flg] Get compiled program information (e.g., libraries) */
   nco_bool GET_LIST=False; /* [flg] Iterate file, print variables and exit */
   nco_bool GRP_VAR_UNN=False; /* [flg] Select union of specified groups and variables */
   nco_bool HISTORY_APPEND=True; /* Option h */
   nco_bool HAVE_LIMITS=False; /* [flg] Are there user limits? (-d) */
   nco_bool MSA_USR_RDR=False; /* [flg] Multi-Slab Algorithm returns hyperslabs in user-specified order */
   nco_bool PRN_CDL=False; /* [flg] Print CDL */
+  nco_bool PRN_HDN=False; /* [flg] Print hidden attributes */
   nco_bool PRN_SRM=False; /* [flg] Print ncStream */
+  nco_bool PRN_JSN=False; /* [flg] Print JSON */
   nco_bool PRN_XML=False; /* [flg] Print XML (NcML) */
   nco_bool PRN_XML_LOCATION=True; /* [flg] Print XML location tag */
   nco_bool PRN_DMN_IDX_CRD_VAL=True; /* [flg] Print leading dimension/coordinate indices/values Option Q */
@@ -150,18 +156,20 @@ main(int argc,char **argv)
   char *opt_crr=NULL; /* [sng] String representation of current long-option name */
   char *optarg_lcl=NULL; /* [sng] Local copy of system optarg */
   char *rec_dmn_nm=NULL; /* [sng] Record dimension name */
+  char *rec_dmn_nm_fix=NULL; /* [sng] Record dimension name (Original input name without _fix prefix) */
   char *smr_sng=NULL; /* [sng] File summary string */
+  char *smr_xtn_sng=NULL; /* [sng] File extended summary string */
   char *sng_cnv_rcd=NULL_CEWI; /* [sng] strtol()/strtoul() return code */
   char *spr_chr=NULL; /* [sng] Separator for XML character types */
   char *spr_nmr=NULL; /* [sng] Separator for XML numeric types */
 
   char trv_pth[]="/"; /* [sng] Root path of traversal tree */
 
-  const char * const CVS_Id="$Id: ncks.c,v 1.678 2013/11/24 04:05:41 zender Exp $"; 
-  const char * const CVS_Revision="$Revision: 1.678 $";
+  const char * const CVS_Id="$Id: ncks.c,v 1.710 2014/02/17 23:12:37 zender Exp $"; 
+  const char * const CVS_Revision="$Revision: 1.710 $";
   const char * const opt_sht_lst="34567aABb:CcD:d:FG:g:HhL:l:MmOo:Pp:qQrRs:uv:X:xz-:";
 
-  cnk_sct **cnk=NULL_CEWI;
+  cnk_sct cnk; /* [sct] Chunking structure */
 
 #if defined(__cplusplus) || defined(PGI_CC)
   ddra_info_sct ddra_info;
@@ -185,7 +193,7 @@ main(int argc,char **argv)
   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=0; /* [enm] Deflate level */
+  int dfl_lvl=NCO_DFL_LVL_UNDEFINED; /* [enm] Deflate level */
   int dmn_nbr_fl;
   int dmn_rec_fl;
   int fl_in_fmt=NCO_FORMAT_UNDEFINED; /* [enm] Input file format */
@@ -209,11 +217,14 @@ main(int argc,char **argv)
   md5_sct *md5=NULL; /* [sct] MD5 configuration */
 
   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 */
   size_t hdr_pad=0UL; /* [B] Pad at end of header section */
 
   trv_tbl_sct *trv_tbl=NULL; /* [lst] Traversal table */
 
+  nco_dmn_dne_t *flg_dne=NULL; /* [lst] Flag to check if input dimension -d "does not exist" */
+
   static struct option opt_lng[]=
     { /* Structure ordered by short option key if possible */
       /* Long options with no argument, no short option counterpart */
@@ -232,6 +243,8 @@ main(int argc,char **argv)
       {"cmp",no_argument,0,0},
       {"compiler",no_argument,0,0},
       {"id",no_argument,0,0}, /* [flg] Print normally hidden information, like file, group, and variable IDs */
+      {"hdn",no_argument,0,0}, /* [flg] Print hidden attributes */
+      {"hidden",no_argument,0,0}, /* [flg] Print hidden attributes */
       {"lbr",no_argument,0,0},
       {"library",no_argument,0,0},
       {"mpi_implementation",no_argument,0,0},
@@ -263,7 +276,10 @@ main(int argc,char **argv)
       {"unn",no_argument,0,0}, /* [flg] Select union of specified groups and variables */
       {"version",no_argument,0,0},
       {"vrs",no_argument,0,0},
-      {"xml",no_argument,0,0}, /* [flg] Print XML (NcML) */
+      {"jsn",no_argument,0,0}, /* [flg] Print JSON */
+      {"json",no_argument,0,0}, /* [flg] Print JSON */
+      {"w10",no_argument,0,0}, /* [flg] Print JSON */
+      {"w10n",no_argument,0,0}, /* [flg] Print JSON */
       {"xml",no_argument,0,0}, /* [flg] Print XML (NcML) */
       {"ncml",no_argument,0,0}, /* [flg] Print XML (NcML) */
       {"xml_no_location",no_argument,0,0}, /* [flg] Omit XML location tag */
@@ -275,6 +291,8 @@ main(int argc,char **argv)
       {"chunk_map",required_argument,0,0}, /* [nbr] Chunking map */
       {"cnk_plc",required_argument,0,0}, /* [nbr] Chunking policy */
       {"chunk_policy",required_argument,0,0}, /* [nbr] Chunking policy */
+      {"cnk_byt",required_argument,0,0}, /* [B] Chunk size in bytes */
+      {"chunk_byte",required_argument,0,0}, /* [B] Chunk size in bytes */
       {"cnk_scl",required_argument,0,0}, /* [nbr] Chunk size scalar */
       {"chunk_scalar",required_argument,0,0}, /* [nbr] Chunk size scalar */
       {"cnk_dmn",required_argument,0,0}, /* [nbr] Chunk size */
@@ -378,26 +396,30 @@ main(int argc,char **argv)
       if(!strcmp(opt_crr,"bfr_sz_hnt") || !strcmp(opt_crr,"buffer_size_hint")){
         bfr_sz_hnt=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
         if(*sng_cnv_rcd) nco_sng_cnv_err(optarg,"strtoul",sng_cnv_rcd);
-      } /* endif cnk */
+      } /* endif bfr_sz */
+      if(!strcmp(opt_crr,"cnk_byt") || !strcmp(opt_crr,"chunk_byte")){
+        cnk_sz_byt=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
+        if(*sng_cnv_rcd) nco_sng_cnv_err(optarg,"strtoul",sng_cnv_rcd);
+      } /* endif cnk_byt */
       if(!strcmp(opt_crr,"cnk_dmn") || !strcmp(opt_crr,"chunk_dimension")){
         /* Copy limit argument for later processing */
         cnk_arg[cnk_nbr]=(char *)strdup(optarg);
         cnk_nbr++;
-      } /* endif cnk */
+      } /* endif cnk_dmn */
       if(!strcmp(opt_crr,"cnk_scl") || !strcmp(opt_crr,"chunk_scalar")){
         cnk_sz_scl=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
         if(*sng_cnv_rcd) nco_sng_cnv_err(optarg,"strtoul",sng_cnv_rcd);
-      } /* endif cnk */
+      } /* endif cnk_scl */
       if(!strcmp(opt_crr,"cnk_map") || !strcmp(opt_crr,"chunk_map")){
         /* Chunking map */
         cnk_map_sng=(char *)strdup(optarg);
         cnk_map=nco_cnk_map_get(cnk_map_sng);
-      } /* endif cnk */
+      } /* endif cnk_map */
       if(!strcmp(opt_crr,"cnk_plc") || !strcmp(opt_crr,"chunk_policy")){
         /* Chunking policy */
         cnk_plc_sng=(char *)strdup(optarg);
         cnk_plc=nco_cnk_plc_get(cnk_plc_sng);
-      } /* endif cnk */
+      } /* endif cnk_plc */
       if(!strcmp(opt_crr,"cmp") || !strcmp(opt_crr,"compiler")){
         (void)fprintf(stdout,"%s\n",nco_cmp_get());
         nco_exit(EXIT_SUCCESS);
@@ -410,12 +432,14 @@ main(int argc,char **argv)
         rec_dmn_nm=(char *)nco_malloc((strlen(fix_pfx)+strlen(optarg)+1L)*sizeof(char));
         rec_dmn_nm=strcpy(rec_dmn_nm,fix_pfx);
         rec_dmn_nm=strcat(rec_dmn_nm,optarg);
+        rec_dmn_nm_fix=strdup(optarg);
       } /* endif fix_rec_dmn */
       if(!strcmp(opt_crr,"fl_fmt") || !strcmp(opt_crr,"file_format")) rcd=nco_create_mode_prs(optarg,&fl_out_fmt);
       if(!strcmp(opt_crr,"get_grp_info") || !strcmp(opt_crr,"grp_info_get")) GET_GRP_INFO=True;
       if(!strcmp(opt_crr,"get_file_info")) GET_FILE_INFO=True;
       if(!strcmp(opt_crr,"get_prg_info")) GET_PRG_INFO=True;
-      if(!strcmp(opt_crr,"hdf4")) nco_hdf_cnv=nco_hdf4; /* [enm] Treat file as HDF4 */
+      if(!strcmp(opt_crr,"hdf4")) nco_fmt_xtn=nco_fmt_xtn_hdf4; /* [enm] Treat file as HDF4 */
+      if(!strcmp(opt_crr,"hdn") || !strcmp(opt_crr,"hidden")) PRN_HDN=True; /* [flg] Print hidden attributes */
       if(!strcmp(opt_crr,"hdr_pad") || !strcmp(opt_crr,"header_pad")){
         hdr_pad=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
         if(*sng_cnv_rcd) nco_sng_cnv_err(optarg,"strtoul",sng_cnv_rcd);
@@ -485,6 +509,7 @@ main(int argc,char **argv)
       } /* endif "vrs" */
       if(!strcmp(opt_crr,"wrt_tmp_fl") || !strcmp(opt_crr,"write_tmp_fl")) WRT_TMP_FL=True;
       if(!strcmp(opt_crr,"no_tmp_fl")) WRT_TMP_FL=False;
+      if(!strcmp(opt_crr,"jsn") || !strcmp(opt_crr,"json") || !strcmp(opt_crr,"w10") || !strcmp(opt_crr,"w10n")) PRN_JSN=True; /* [flg] Print JSON */
       if(!strcmp(opt_crr,"xml") || !strcmp(opt_crr,"ncml")) PRN_XML=True; /* [flg] Print XML (NcML) */
       if(!strcmp(opt_crr,"xml_no_location") || !strcmp(opt_crr,"ncml_no_location")){PRN_XML_LOCATION=False;PRN_XML=True;} /* [flg] Print XML location tag */
       if(!strcmp(opt_crr,"xml_spr_chr")){spr_chr=(char *)strdup(optarg);PRN_XML=True;} /* [flg] Separator for XML character types */
@@ -538,7 +563,7 @@ main(int argc,char **argv)
       break;
     case 'G': /* Apply Group Path Editing (GPE) to output group */
       gpe=nco_gpe_prs_arg(optarg);
-      fl_out_fmt=NC_FORMAT_NETCDF4; 
+      /*      fl_out_fmt=NC_FORMAT_NETCDF4; */
       break;
     case 'g': /* Copy group argument for later processing */
       /* Replace commas with hashes when within braces (convert back later) */
@@ -640,16 +665,13 @@ main(int argc,char **argv)
 
   /* Initialize traversal table */
   (void)trv_tbl_init(&trv_tbl);
-
+ 
   /* Get program info for regressions tests */
   if(GET_PRG_INFO) nco_get_prg_info();
 
   /* Process positional arguments and fill in filenames */
   fl_lst_in=nco_fl_lst_mk(argv,argc,optind,&fl_nbr,&fl_out,&FL_LST_IN_FROM_STDIN);
   
-  /* Make uniform list of user-specified chunksizes */
-  if(cnk_nbr > 0) cnk=nco_cnk_prs(cnk_nbr,cnk_arg);
-
   /* Parse filename */
   fl_in=nco_fl_nm_prs(fl_in,0,&fl_nbr,fl_lst_in,abb_arg_nbr,fl_lst_abb,fl_pth);
   /* Make sure file is on local system and is readable or die trying */
@@ -659,7 +681,10 @@ main(int argc,char **argv)
   rcd+=nco_fl_open(fl_in,md_open,&bfr_sz_hnt,&in_id);
 
   /* Construct GTT (Group Traversal Table), check -v and -g input names and create extraction list*/
-  (void)nco_bld_trv_tbl(in_id,trv_pth,lmt_nbr,lmt_arg,aux_nbr,aux_arg,MSA_USR_RDR,FORTRAN_IDX_CNV,grp_lst_in,grp_lst_in_nbr,var_lst_in,xtr_nbr,EXTRACT_ALL_COORDINATES,GRP_VAR_UNN,EXCLUDE_INPUT_LIST,EXTRACT_ASSOCIATED_COORDINATES,trv_tbl);
+  (void)nco_bld_trv_tbl(in_id,trv_pth,lmt_nbr,lmt_arg,aux_nbr,aux_arg,MSA_USR_RDR,FORTRAN_IDX_CNV,grp_lst_in,grp_lst_in_nbr,var_lst_in,xtr_nbr,EXTRACT_ALL_COORDINATES,GRP_VAR_UNN,EXCLUDE_INPUT_LIST,EXTRACT_ASSOCIATED_COORDINATES,&flg_dne,trv_tbl);
+
+  /* Check if all input -d dimensions were found */ 
+  (void)nco_chk_dmn(lmt_nbr,flg_dne);    
 
   /* Get number of variables, dimensions, and global attributes in file */
   (void)trv_tbl_inq(&att_glb_nbr,&att_grp_nbr,&att_var_nbr,&dmn_nbr_fl,&dmn_rec_fl,&grp_dpt_fl,&grp_nbr_fl,&var_ntm_fl,&var_nbr_fl,trv_tbl);
@@ -677,7 +702,7 @@ main(int argc,char **argv)
 
   /* Process --get_grp_info option if requested */ 
   if(GET_GRP_INFO){ 
-    nco_prt_trv_tbl(in_id,trv_tbl);
+    nco_prn_trv_tbl(in_id,trv_tbl);
     goto close_and_free; 
   } /* end GET_GRP_INFO */
 
@@ -731,7 +756,7 @@ main(int argc,char **argv)
     
   if(gpe){
     if(nco_dbg_lvl >= nco_dbg_fl) (void)fprintf(stderr,"%s: INFO Group Path Edit (GPE) feature enabled\n",nco_prg_nm_get());
-    if(fl_out && fl_out_fmt != NC_FORMAT_NETCDF4 && nco_dbg_lvl >= nco_dbg_std) (void)fprintf(stderr,"%s: WARNING Group Path Edit (GPE) requires netCDF4 output format in most cases (except flattening) but user explicitly requested output format = %s. This command will fail if the output file requires netCDF4 features like groups.\n",nco_prg_nm_get(),nco_fmt_sng(fl_out_fmt));
+    if(fl_out && fl_out_fmt != NC_FORMAT_NETCDF4 && nco_dbg_lvl >= nco_dbg_std) (void)fprintf(stderr,"%s: WARNING Group Path Edit (GPE) requires netCDF4 output format in most cases (except flattening) but user explicitly requested output format = %s. This command will fail if the output file requires netCDF4 features like groups, non-atomic types, or multiple record dimensions. However, it _will_ autoconvert netCDF4 atomic types (e.g., NC_STRING, NC_UBYTE...) to netCDF3 atomic types (e.g [...]
   } /* !gpe */
 
   if(fl_out){
@@ -747,8 +772,14 @@ main(int argc,char **argv)
     /* Open output file */
     fl_out_tmp=nco_fl_out_open(fl_out,FORCE_APPEND,FORCE_OVERWRITE,fl_out_fmt,&bfr_sz_hnt,RAM_CREATE,RAM_OPEN,WRT_TMP_FL,&out_id);
     
+    /* Create structure with all chunking information */
+    if(fl_out_fmt == NC_FORMAT_NETCDF4 || fl_out_fmt == NC_FORMAT_NETCDF4_CLASSIC) rcd+=nco_cnk_ini(fl_out,cnk_arg,cnk_nbr,cnk_map,cnk_plc,cnk_sz_byt,cnk_sz_scl,&cnk);
+
+    if(nco_dbg_lvl >= nco_dbg_dev) (void)nco_prn_var(in_id,trv_tbl);       
+    if(nco_dbg_lvl >= nco_dbg_dev) (void)nco_prn_var(out_id,trv_tbl); 
+
     /* Define extracted groups, variables, and attributes in output file */
-    (void)nco_xtr_dfn(in_id,out_id,&cnk_map,&cnk_plc,cnk_sz_scl,cnk,cnk_nbr,dfl_lvl,gpe,md5,PRN_GLB_METADATA,PRN_VAR_METADATA,nco_pck_plc_nil,rec_dmn_nm,trv_tbl);
+    (void)nco_xtr_dfn(in_id,out_id,&cnk,dfl_lvl,gpe,md5,PRN_GLB_METADATA,PRN_VAR_METADATA,nco_pck_plc_nil,rec_dmn_nm,trv_tbl);
 
     /* Catenate timestamped command line to "history" global attribute */
     if(HISTORY_APPEND) (void)nco_hst_att_cat(out_id,cmd_ln);
@@ -802,11 +833,13 @@ main(int argc,char **argv)
     /* No output file was specified so PRN_ tokens refer to screen printing */
     prn_fmt_sct prn_flg;
     prn_flg.cdl=PRN_CDL;
+    prn_flg.jsn=PRN_JSN;
     prn_flg.srm=PRN_SRM;
     prn_flg.xml=PRN_XML;
-    prn_flg.trd=!(PRN_CDL || PRN_XML);
+    prn_flg.trd=!(PRN_CDL || PRN_XML || PRN_JSN);
     if((prn_flg.cdl || prn_flg.xml) && nco_dbg_lvl >= nco_dbg_std) prn_flg.nfo_xtr=True; else prn_flg.nfo_xtr=False;
-    prn_flg.new_fmt=(PRN_CDL || PRN_SRM || PRN_XML || PRN_NEW_FMT);
+    prn_flg.new_fmt=(PRN_CDL || PRN_JSN || PRN_SRM || PRN_XML || PRN_NEW_FMT);
+    prn_flg.hdn=PRN_HDN;
     /* CDL must print filename stub */
     if(prn_flg.cdl || prn_flg.xml){
       fl_in_dpl=strdup(fl_in);
@@ -816,8 +849,8 @@ main(int argc,char **argv)
       if(sfx_ptr) *sfx_ptr='\0';
       prn_flg.fl_stb=fl_nm_stub;
     } /* endif CDL */
-    /* XML needs filename (unless location will be omitted) */
-    if(prn_flg.xml) prn_flg.fl_in=fl_in;
+    /* JSON and XML need filename (unless location will be omitted) */
+    if(prn_flg.xml || prn_flg.jsn) prn_flg.fl_in=fl_in;
     prn_flg.spr_nmr=spr_nmr;
     prn_flg.spr_chr=spr_chr;
     prn_flg.xml_lcn=PRN_XML_LOCATION;
@@ -850,81 +883,90 @@ main(int argc,char **argv)
       prn_flg.PRN_DMN_VAR_NM=True;
       prn_flg.PRN_MSS_VAL_BLANK=True;
     } /* endif */
-    if(prn_flg.xml){
-      prn_flg.PRN_MSS_VAL_BLANK=False;
-    } /* endif */
+    if(prn_flg.jsn){
+      /* JSON either prints metadata or data, not both */
+      if(prn_flg.PRN_VAR_DATA){
+	prn_flg.PRN_VAR_METADATA=False;
+	prn_flg.PRN_GLB_METADATA=False;
+      } /* !PRN_VAR_DATA */
+      if(prn_flg.PRN_GLB_METADATA) prn_flg.PRN_VAR_METADATA=False;
+    } /* endif JSON */
+    if(prn_flg.xml) prn_flg.PRN_MSS_VAL_BLANK=False;
 
     /* File summary */
     if(PRN_GLB_METADATA){
-      prn_flg.smr_sng=smr_sng=(char *)nco_malloc(300*sizeof(char)); /* [sng] File summary string */
-      (void)sprintf(smr_sng,"Summary of %s: filetype = %s, %i groups (max. depth = %i), %i dimensions (%i fixed, %i record), %i variables (%i atomic-type, %i non-atomic), %i attributes (%i global, %i group, %i variable)",fl_in,nco_fmt_sng(fl_in_fmt),grp_nbr_fl,grp_dpt_fl,trv_tbl->nbr_dmn,trv_tbl->nbr_dmn-dmn_rec_fl,dmn_rec_fl,var_nbr_fl+var_ntm_fl,var_nbr_fl,var_ntm_fl,att_glb_nbr+att_grp_nbr+att_var_nbr,att_glb_nbr,att_grp_nbr,att_var_nbr);
+      prn_flg.smr_sng=smr_sng=(char *)nco_malloc((strlen(fl_in)+300L*sizeof(char))); /* [sng] File summary string */
+      smr_xtn_sng=(char *)nco_malloc(300L*sizeof(char)); /* [sng] File extended summary string */
+      if(nco_dbg_lvl > nco_dbg_std) (void)sprintf(smr_xtn_sng," (representation of extended/underlying filetype %s)",nco_fmt_xtn_sng(nco_fmt_xtn_get())); else smr_xtn_sng[0]='\0';
+      (void)sprintf(smr_sng,"Summary of %s: filetype = %s%s, %i groups (max. depth = %i), %i dimensions (%i fixed, %i record), %i variables (%i atomic-type, %i non-atomic), %i attributes (%i global, %i group, %i variable)",fl_in,nco_fmt_sng(fl_in_fmt),smr_xtn_sng,grp_nbr_fl,grp_dpt_fl,trv_tbl->nbr_dmn,trv_tbl->nbr_dmn-dmn_rec_fl,dmn_rec_fl,var_nbr_fl+var_ntm_fl,var_nbr_fl,var_ntm_fl,att_glb_nbr+att_grp_nbr+att_var_nbr,att_glb_nbr,att_grp_nbr,att_var_nbr);
       if(!prn_flg.cdl && !prn_flg.xml && !prn_flg.srm) (void)fprintf(stdout,"%s\n\n",smr_sng);
     } /* endif summary */
 
     if(!prn_flg.new_fmt){
-      
+
       /* Traditional printing order/format */
       if(PRN_GLB_METADATA){
-	int dmn_ids_rec[NC_MAX_DIMS]; /* [ID] Record dimension IDs array */
-	int nbr_rec_lcl; /* [nbr] Number of record dimensions visible in root */
-	/* Get unlimited dimension information from input file/group */
-	rcd=nco_inq_unlimdims(in_id,&nbr_rec_lcl,dmn_ids_rec);
-	if(nbr_rec_lcl > 0){
-	  char dmn_nm[NC_MAX_NAME]; 
-	  long rec_dmn_sz;
-	  for(int rec_idx=0;rec_idx<nbr_rec_lcl;rec_idx++){
-	    (void)nco_inq_dim(in_id,dmn_ids_rec[rec_idx],dmn_nm,&rec_dmn_sz);
-	    (void)fprintf(stdout,"Root record dimension %d: name = %s, size = %li\n",rec_idx,dmn_nm,rec_dmn_sz);
-	  } /* end loop over rec_idx */
-	  (void)fprintf(stdout,"\n");
-	} /* NCO_REC_DMN_UNDEFINED */
-	/* Print group attributes recursively */
-	(void)nco_prn_att_trv(in_id,&prn_flg,trv_tbl);
+        int dmn_ids_rec[NC_MAX_DIMS]; /* [ID] Record dimension IDs array */
+        int nbr_rec_lcl; /* [nbr] Number of record dimensions visible in root */
+        /* Get unlimited dimension information from input file/group */
+        rcd=nco_inq_unlimdims(in_id,&nbr_rec_lcl,dmn_ids_rec);
+        if(nbr_rec_lcl > 0){
+          char dmn_nm[NC_MAX_NAME]; 
+          long rec_dmn_sz;
+          for(int rec_idx=0;rec_idx<nbr_rec_lcl;rec_idx++){
+            (void)nco_inq_dim(in_id,dmn_ids_rec[rec_idx],dmn_nm,&rec_dmn_sz);
+            (void)fprintf(stdout,"Root record dimension %d: name = %s, size = %li\n",rec_idx,dmn_nm,rec_dmn_sz);
+          } /* end loop over rec_idx */
+          (void)fprintf(stdout,"\n");
+        } /* NCO_REC_DMN_UNDEFINED */
+        /* Print group attributes recursively */
+        (void)nco_prn_att_trv(in_id,&prn_flg,trv_tbl);
       } /* !PRN_GLB_METADATA */
-      
+
       if(PRN_VAR_METADATA) (void)nco_prn_xtr_mtd(in_id,&prn_flg,trv_tbl);
       if(PRN_VAR_DATA) (void)nco_prn_xtr_val(in_id,&prn_flg,trv_tbl);
       
     }else{ 
-      
+
       /* New file dump format developed 201307 for CDL, TRD, XML, SRM */
-      
+
       if(PRN_SRM){
-	nco_srm_hdr();
-	goto close_and_free;
+        nco_srm_hdr();
+        goto close_and_free;
       } /* !PRN_SRM */
 
       if(ALPHA_BY_FULL_GROUP || ALPHA_BY_STUB_GROUP){
-	rcd+=nco_grp_prn(in_id,trv_pth,&prn_flg,trv_tbl);
+        rcd+=nco_grp_prn(in_id,trv_pth,&prn_flg,trv_tbl);
       }else{
-	trv_sct trv_obj; /* [sct] Traversal table object */
-	for(unsigned int obj_idx=0;obj_idx<trv_tbl->nbr;obj_idx++){
-	  /* Shallow copy to avoid indirection */
-	  trv_obj=trv_tbl->lst[obj_idx];
-	  /* Print this group */
-	  if(trv_obj.nco_typ == nco_obj_typ_grp){
-	    /* Print dimensions defined in this group */
-	    // (void)nco_prn_dmn_xtr(in_id,trv_tbl);
-	    /* Print group attributes */
-	    //if(PRN_GLB_METADATA) (void)nco_prn_grp_att(in_id,trv_tbl);
-	    ;
-	  } /* endif group */
-	  if(trv_obj.nco_typ == nco_obj_typ_var){
-	    if(PRN_VAR_METADATA) (void)nco_prn_xtr_mtd(in_id,&prn_flg,trv_tbl);
-	    if(PRN_VAR_DATA) (void)nco_prn_xtr_val(in_id,&prn_flg,trv_tbl);
-	  } /* endif variable */
-	} /* end loop over obj_idx */
+        trv_sct trv_obj; /* [sct] Traversal table object */
+        for(unsigned int obj_idx=0;obj_idx<trv_tbl->nbr;obj_idx++){
+          /* Shallow copy to avoid indirection */
+          trv_obj=trv_tbl->lst[obj_idx];
+          /* Print this group */
+          if(trv_obj.nco_typ == nco_obj_typ_grp){
+            /* Print dimensions defined in this group */
+            // (void)nco_prn_dmn_xtr(in_id,trv_tbl);
+            /* Print group attributes */
+            //if(PRN_GLB_METADATA) (void)nco_prn_grp_att(in_id,trv_tbl);
+            ;
+          } /* endif group */
+          if(trv_obj.nco_typ == nco_obj_typ_var){
+            if(PRN_VAR_METADATA) (void)nco_prn_xtr_mtd(in_id,&prn_flg,trv_tbl);
+            if(PRN_VAR_DATA) (void)nco_prn_xtr_val(in_id,&prn_flg,trv_tbl);
+          } /* endif variable */
+        } /* end loop over obj_idx */
       } /* end if */
     } /* endif new format */
 
     if(fl_in_dpl) fl_in_dpl=(char *)nco_free(fl_in_dpl);
   } /* !fl_out */
-  
- close_and_free: /* goto close_and_free */
-  
+
+  /* goto close_and_free */
+close_and_free: 
+
   /* Close input netCDF file */
   nco_close(in_id);
-  
+
   /* Remove local copy of file */
   if(FL_RTR_RMT_LCN && RM_RMT_FL_PST_PRC) (void)nco_fl_rm(fl_in);
   
@@ -956,13 +998,16 @@ main(int argc,char **argv)
     for(idx=0;idx<aux_nbr;idx++) aux_arg[idx]=(char *)nco_free(aux_arg[idx]);
     /* Free chunking information */
     for(idx=0;idx<cnk_nbr;idx++) cnk_arg[idx]=(char *)nco_free(cnk_arg[idx]);
-    if(cnk_nbr > 0) cnk=nco_cnk_lst_free(cnk,cnk_nbr);
+    if(cnk_nbr > 0) cnk.cnk_dmn=(cnk_dmn_sct **)nco_cnk_lst_free(cnk.cnk_dmn,cnk_nbr);
     trv_tbl_free(trv_tbl);
+    for(idx=0;idx<lmt_nbr;idx++) flg_dne[idx].dim_nm=(char *)nco_free(flg_dne[idx].dim_nm);
+    if (flg_dne) flg_dne=(nco_dmn_dne_t *)nco_free(flg_dne);
     if(gpe) gpe=(gpe_sct *)nco_gpe_free(gpe);
     if(md5) md5=(md5_sct *)nco_md5_free(md5);
     if(smr_sng) smr_sng=(char *)nco_free(smr_sng);
+    if(smr_xtn_sng) smr_xtn_sng=(char *)nco_free(smr_xtn_sng);
+    rec_dmn_nm_fix=(char *)nco_free(rec_dmn_nm_fix);
   } /* !flg_cln */
-
   
   /* End timer */ 
   ddra_info.tmr_flg=nco_tmr_end; /* [enm] Timer flag */
diff --git a/src/nco/nco.h b/src/nco/nco.h
index d015e01..68d7ac6 100644
--- a/src/nco/nco.h
+++ b/src/nco/nco.h
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco.h,v 1.440 2013/12/02 00:13:21 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco.h,v 1.489 2014/02/18 06:38:36 pvicente Exp $ */
 
 /* Purpose: netCDF Operator (NCO) definitions */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -116,6 +116,16 @@ extern "C" {
      NB: nc_inq() family returns -1 for missing record dimensions */
 #define NCO_REC_DMN_UNDEFINED -1
 
+  /* Valid netCDF4 deflation levels (dfl_lvl) range from 0..9 inclusive 
+     Variables with dfl_lvl == 0 return true for compression yet are not deflated
+     Calling deflation routine with dfl_lvl == 0 wastes time _unless_ user wishes 
+     to uncompress variable is currently deflated with dfl_lvl != 0.
+     Undefined dfl_lvl indicates user has not yet specified and intended dfl_lvl
+     This undefined value must be less than zero (and not equal to zero) so that
+     if(dfl_lvl >= 0) deflate(); only calls deflate() when user requests it. 
+     Setting dfl_lvl == 0 decompresses variable */
+#define NCO_DFL_LVL_UNDEFINED -1
+
   /* netcdf.h defines four NC_FORMAT tokens: NC_FORMAT_CLASSIC, ...
      The values are (currently) enumerated from one to four
      Operators need to check if fl_out_fmt has been user-specified
@@ -137,8 +147,8 @@ extern "C" {
      Running operators with --quiet automatically sets nco_dbg_lvl=NCO_DBG_QUIET */
 #define NCO_DBG_QUIET 0
 
-  /* Find traversal table objects via hash table rather than bruit-force strcmp() search */
-  //#define NCO_HSH_TRV_OBJ 1
+  /* Find traversal table objects via hash table rather than brute-force strcmp() search */
+#define NCO_HSH_TRV_OBJ 1
 
   /* NCO_MSS_VAL_SNG names attribute whose value is "skipped" by arithmetic, aka the missing value attribute
      Attribute name should be either "missing_value" or "_FillValue" */
@@ -165,10 +175,11 @@ extern "C" {
   char *nco_prg_nm_get(void);
   int nco_prg_id_get(void);
   unsigned short nco_dbg_lvl_get(void);
-  unsigned short nco_hdf_cnv_get(void);
+  unsigned short nco_fmt_xtn_get(void);
   unsigned short nco_mrd_cnv_get(void);
   unsigned short nco_rth_cnv_get(void);
   unsigned short nco_upk_cnv_get(void);
+  void nco_fmt_xtn_set(unsigned short nco_fmt_xtn_arg);
 
 #ifdef MAIN_PROGRAM_FILE /* Current file contains main() */
   
@@ -183,8 +194,9 @@ extern "C" {
   unsigned short nco_dbg_lvl=0; /* [enm] Debugging level */
   unsigned short nco_dbg_lvl_get(void){return nco_dbg_lvl;} /* [enm] Debugging level */
 
-  unsigned short nco_hdf_cnv=0; /* [enm] HDF convention */
-  unsigned short nco_hdf_cnv_get(void){return nco_hdf_cnv;} /* [enm] HDF convention */
+  unsigned short nco_fmt_xtn=0; /* [enm] Extended file format */
+  unsigned short nco_fmt_xtn_get(void){return nco_fmt_xtn;} /* [enm] Extended file format */
+  void nco_fmt_xtn_set(unsigned short nco_fmt_xtn_arg){nco_fmt_xtn=nco_fmt_xtn_arg;} /* [enm] Extended file format */
 
   unsigned short nco_mrd_cnv=0; /* [enm] Multiple Record Dimension convention */
   unsigned short nco_mrd_cnv_get(void){return nco_mrd_cnv;} /* [enm] Multiple Record Dimension convention */
@@ -220,6 +232,15 @@ extern "C" {
 #ifndef NC_NETCDF4
 # define NC_NETCDF4     (0x1000) /* Use netCDF-4/HDF5 format */
 #endif
+#ifndef NC_ENDIAN_NATIVE
+# define NC_ENDIAN_NATIVE 0
+#endif
+#ifndef NC_ENDIAN_LITTLE
+# define NC_ENDIAN_LITTLE 1
+#endif
+#ifndef NC_ENDIAN_BIG
+# define NC_ENDIAN_BIG    2
+#endif
 #ifndef NC_CHUNKED
 # define NC_CHUNKED (0)
 #endif
@@ -257,6 +278,31 @@ extern "C" {
 # define NC_FORMAT_NETCDF4_CLASSIC  (4) /* create netcdf-4 files, with NC_CLASSIC_MODEL. */
 #endif
 
+  /* Seven compatibility tokens introduced 20131222 in netCDF 4.3.1-rc7 netcdf.h */
+#ifndef NC_FORMAT_UNDEFINED
+# define NC_FORMAT_UNDEFINED (0)
+#else
+# define NC_HAVE_INQ_FORMAT_EXTENDED
+#endif
+#ifndef NC_FORMAT_NC3
+# define NC_FORMAT_NC3     (1)
+#endif
+#ifndef NC_FORMAT_NC_HDF5
+# define NC_FORMAT_NC_HDF5 (2) /*cdf 4 subset of HDF5 */
+#endif
+#ifndef NC_FORMAT_NC_HDF4
+# define NC_FORMAT_NC_HDF4 (3) /* netcdf 4 subset of HDF4 */
+#endif
+#ifndef NC_FORMAT_PNETCDF
+# define NC_FORMAT_PNETCDF (4)
+#endif
+#ifndef NC_FORMAT_DAP2
+# define NC_FORMAT_DAP2    (5)
+#endif
+#ifndef NC_FORMAT_DAP4
+# define NC_FORMAT_DAP4    (6)
+#endif
+
   /* Backwards-compatibility error codes for netCDF4
      Currently used only in nco_grp_utl.c and nco_netcdf.c */
 #ifndef NC_EBADGRPID
@@ -343,6 +389,8 @@ extern "C" {
 #define NCO_NOERR 1
 /* Internal NCO return code indicating failure */
 #define NCO_ERR 0
+
+
 /* UDUnits return code indicating success */
 #define UDUNITS_NOERR 0
 
@@ -371,7 +419,7 @@ extern "C" {
     ncrcat,
     ncrename,
     ncwa,
-    ncge, /* 20131018: Potential new operator */
+    ncge, /* 20131018: New operator */
     ncmv /* 20131018: Potential new operator */
   }; /* end nco_prg_id enum */
   
@@ -428,12 +476,16 @@ extern "C" {
     nco_obj_typ_nonatomic_var /*  2, Variable of non-atomic type (vlen, opaque, enum, compound, user-defined) */
   } nco_obj_typ;
   
-  enum nco_hdf_cnv{ /* [enm] HDF convention */
-    /* This currently could be implemented as a flag rather than an enum
-       General case may need more than binary option so use enum */
-    nco_hdf_nil, /* 0 No special treatment */
-    nco_hdf4 /* 1 Treat file as HDF4 */
-  }; /* end nco_hdf_cnv */
+  enum nco_fmt_xtn{ /* [enm] Extended or underlying filetype */
+    /* 20131222: Tokens defined as of netCDF 4.3.1-rc7 */
+    nco_fmt_xtn_nil=NC_FORMAT_UNDEFINED, /* 0 Undefined (more precisely, not yet defined) */
+    nco_fmt_xtn_nc3=NC_FORMAT_NC3, /* 1 netCDF3 */
+    nco_fmt_xtn_hdf5=NC_FORMAT_NC_HDF5, /* 2 HDF5 */
+    nco_fmt_xtn_hdf4=NC_FORMAT_NC_HDF4, /* 3 HDF4 */
+    nco_fmt_xtn_pnetcdf=NC_FORMAT_PNETCDF, /* 4 PnetCDF */
+    nco_fmt_xtn_dap2=NC_FORMAT_DAP2, /* 5 DAP2 */
+    nco_fmt_xtn_dap4=NC_FORMAT_DAP4, /* 6 DAP4 */
+  }; /* end nco_fmt_xtn */
 
   enum nco_mrd_cnv{ /* [enm] Multiple Record Dimension convention: for ncecat and ncpdq */
     /* This currently could be implemented as a flag rather than an enum
@@ -518,16 +570,14 @@ extern "C" {
   
   /* Limit structure */
   typedef struct { /* lmt_sct */
-
     char *nm; /* [sng] Dimension name */
     char *nm_fll; /* [sng] Full dimension name */
     char *grp_nm_fll; /* [sng] Full group where dimension is defined. Added for group support from original netCDF3 */
 
-    /* Following four flags are used only by multi-file operators ncra and ncrcat: */
-    char *drn_sng; /* User-specified string for dimension duration */
     char *max_sng; /* User-specified string for dimension maximum */
     char *min_sng; /* User-specified string for dimension minimum */
     char *mro_sng; /* User-specified string for multi-record output */
+    char *ssc_sng; /* User-specified string for dimension subcycle */
     
     char *rbs_sng; /* Used by ncra, ncrcat to re-base record coordinate (holds unit attribute from first file) */
     char *srd_sng; /* User-specified string for dimension stride */
@@ -535,28 +585,37 @@ extern "C" {
     double max_val; /* Double precision representation of maximum value of coordinate requested or implied */
     double min_val; /* Double precision representation of minimum value of coordinate requested or implied */
     double origin;   /* Used by ncra, ncrcat to re-base record coordinate */
+
     int id; /* Dimension ID */
     int lmt_typ; /* crd_val or dmn_idx */
+
     long cnt; /* # of valid elements in this dimension (including effects of stride and wrapping) */
-    long drn; /* Duration of hyperslab */
+    long ssc; /* Subcycle of hyperslab */
     long end; /* Index to end of hyperslab */
     long max_idx; /* Index of maximum requested value in dimension */
     long min_idx; /* Index of minimum requested value in dimension */
+
+    /* Following four flags are used only by multi-file operators ncra and ncrcat: */
+    long idx_end_max_abs; /* [idx] Maximum allowed index in record dimension (multi-file record dimension only) */
     long rec_dmn_sz; /* [nbr] Number of records in this file (multi-file record dimension only) */
     long rec_in_cml; /* [nbr] Cumulative number of records in all files opened so far (multi-file record dimension only) */
-    long idx_end_max_abs; /* [idx] Maximum allowed index in record dimension (multi-file record dimension only) */
+    long rec_rmn_prv_ssc; /* [nbr] Records remaining-to-be-read to complete subcycle group from previous file (multi-file record dimension only) */
     long rec_skp_ntl_spf; /* [nbr] Records skipped in initial superfluous files (multi-file record dimension only) */
     long rec_skp_vld_prv; /* [nbr] Records skipped since previous good one (multi-file record dimension only) */
-    long rec_rmn_prv_drn; /* [nbr] Records remaining-to-be-read to complete duration group from previous file (multi-file record dimension only) */
+
     long srd; /* Stride of hyperslab */
     long srt; /* Index to start of hyperslab */
+
     nco_bool flg_mro; /* True for multi-record output (used by ncra only) */
     nco_bool flg_input_complete; /* True for multi-file operators when no more files need be opened */
+
     nco_bool is_rec_dmn; /* True if record dimension, else False */
     nco_bool is_usr_spc_lmt; /* True if any part of limit is user-specified, else False */
     nco_bool is_usr_spc_max; /* True if user-specified, else False */
     nco_bool is_usr_spc_min; /* True if user-specified, else False */
+
     nco_cln_typ lmt_cln; /* Used by ncra, ncrcat to store enum of calendar-type attribute */
+
   } lmt_sct;
   
   /* Name ID structure */
@@ -648,7 +707,7 @@ extern "C" {
   typedef struct{ /* aed_sct */
     char *att_nm; /* Name of attribute */
     char *var_nm; /* Name of variable, or NULL for global attribute */
-    int id; /* Variable ID or NC_GLOBAL ( = -1) for global attribute */
+    int id; /* Variable ID or NC_GLOBAL (= -1) for global attribute */
     long sz; /* Number of elements in attribute */
     nc_type type; /* Type of attribute */
     ptr_unn val; /* Pointer to attribute value */
@@ -674,7 +733,9 @@ extern "C" {
     nco_bool cdl; /* [flg] Print CDL */
     nco_bool srm; /* [flg] Print ncStream */
     nco_bool trd; /* [flg] Print traditional NCO format */
+    nco_bool jsn; /* [flg] Print JSON */
     nco_bool xml; /* [flg] Print XML (NcML) */
+    nco_bool hdn; /* [flg] Print hidden attributes */
     nco_bool xml_lcn; /* [flg] Print XML location tag */
     nco_bool nfo_xtr; /* [flg] Print extra information in CDL/XML mode */
     nco_bool new_fmt; /* [flg] Print in new format */
@@ -710,11 +771,23 @@ extern "C" {
     ptr_unn val;
   } att_sct;
 
-  /* Chunking structure */
-  typedef struct{ /* cnk_sct */
+  /* Per-dimension chunking specification (free with nco_cnk_dmn_free()) */
+  typedef struct{ /* cnk_dmn_sct */
     char *nm; /* [sng] Dimension name */
+    char *nm_fll; /* [sng] Full dimension name */
     size_t sz; /* [nbr] Chunk size */
     nco_bool is_usr_spc_cnk; /* [flg] Chunk size was user-specified */
+  } cnk_dmn_sct;
+  
+  /* Chunking structure */
+  typedef struct{ /* cnk_sct */
+    nco_bool flg_usr_rqs; /* [flg] User requested chunking */
+    int cnk_nbr; /* [nbr] Number of user-specified chunk sizes */
+    cnk_dmn_sct **cnk_dmn; /* [sct] User-specified per-dimension chunking information */
+    int cnk_map; /* [enm] Chunking map */
+    int cnk_plc; /* [enm] Chunking policy */
+    size_t cnk_sz_scl; /* [nbr] Chunk size scalar */
+    size_t cnk_sz_byt; /* [B] Chunk size in Bytes */
   } cnk_sct;
   
   /* GTT structure to break full path name into components */
@@ -743,7 +816,7 @@ extern "C" {
     char *dmn_nm_fll;       /* [sng] Full name of dimension for *this* coordinate  */  
     char *crd_grp_nm_fll;   /* [sng] Full group name where coordinate is located */
     char *dmn_grp_nm_fll;   /* [sng] Full group name where dimension of *this* coordinate is located */
-    char nm[NC_MAX_NAME+1L];/* [sng] Name of dimension and coordinate */
+    char *nm;               /* [sng] Name of dimension and coordinate */
     nco_bool is_rec_dmn;    /* [flg] Is a record dimension? */
     size_t sz;              /* [nbr] Size of coordinate */
     nc_type var_typ;        /* [enm] NetCDF type  */  
@@ -756,7 +829,7 @@ extern "C" {
   typedef struct{ 
     char *grp_nm_fll;        /* [sng] Full group name where dimension was defined */
     char *nm_fll;            /* [sng] Dimension fully qualified name (path) */
-    char nm[NC_MAX_NAME+1L]; /* [sng] Dimension name */
+    char *nm;                /* [sng] Dimension name */
     nco_bool is_rec_dmn;     /* [flg] Is a record dimension? */
     size_t sz;               /* [nbr] Size of dimension */   
     int crd_nbr;             /* [nbr] Number of coordinate structures */
@@ -767,16 +840,33 @@ extern "C" {
     nco_bool flg_xtr;        /* [flg] Extract dimension */
   } dmn_trv_sct; 
 
+
+  /* Build a list of 'standard_name' 'latitude' and 'longitude' coordinates (Auxiliary Coordinates) */
+  typedef struct{
+    char *nm_fll;              /* [sng] Coordinate full name ('latitude' or 'longitude') */ 
+    int dmn_id;                /* [id] Dimension ID of dimension of 'latitude' and 'longitude' coordinate variables, e.g., lat_gds(gds_crd) */
+    char units[NC_MAX_NAME+1]; /* [sng] Units of 'latitude' and 'longitude' */ 
+    nc_type crd_typ;           /* [enm] netCDF type of both "latitude" and "longitude" */
+    int grp_dpt;               /* [nbr] Depth of group (root = 0) */
+  } aux_crd_sct; 
+
   /* GTT Variable dimensions:
-     Dimension have name and size, and can have an associated variable (coordinate variable) */
+  Dimension have name and size, and can have an associated variable (coordinate variable) */
   typedef struct{ 
     char *dmn_nm_fll;        /* [sng] Full dimension name */
     char *dmn_nm;            /* [sng] Dimension name */
     char *grp_nm_fll;        /* [sng] Full group where dimension is defined */
+    nco_bool is_rec_dmn;     /* [flg] Is a record dimension? */
     nco_bool is_crd_var;     /* [flg] Dimension has an associated coordinate variable */
     crd_sct *crd;            /* [sct] Pointer to coordinate variable if any */
     dmn_trv_sct *ncd;        /* [sct] Pointer to non-coordinate dimension if any */
     int dmn_id;              /* [ID] Dimension ID; same as dmn_trv_sct.id from nc_inq_vardimid() */
+
+    aux_crd_sct *lat_crd;    /* [lst] Array of 'latitude' coordinates */
+    aux_crd_sct *lon_crd;    /* [lst] Array of 'longitude' coordinates */
+    int nbr_lat_crd;         /* [nbr] Number of items in 'latitude' coordinates array */
+    int nbr_lon_crd;         /* [nbr] Number of items in 'longitude' coordinates array */
+
     /* Following are members only used by transformation operators (non-ncks) */
     nco_bool flg_dmn_avg;    /* [flg] Diferentiate between dimensions to average or keep for this variable (ncwa) */  
     nco_bool flg_rdd;        /* [flg] Retain dimension as degenerate (size 1) (ncwa) */  
@@ -800,13 +890,14 @@ extern "C" {
   typedef struct{ 
     nco_obj_typ nco_typ;              /* [enm] netCDF4 object type: group or variable */
     char *nm_fll;                     /* [sng] Fully qualified name (path) */
-    var_dmn_sct var_dmn[NC_MAX_DIMS]; /* [sct] (For variables only) Dimensions for variable object */
+    var_dmn_sct *var_dmn;             /* [sct] (For variables only) Dimensions for variable object */
     nco_bool is_crd_var;              /* [flg] (For variables only) Is a coordinate variable? (unique dimension exists in scope) */
     nco_bool is_rec_var;              /* [flg] (For variables only) Is a record variable? (is_crd_var must be True) */
     nc_type var_typ;                  /* [enm] (For variables only) NetCDF type  */  
     size_t nm_fll_lng;                /* [sng] Length of full name */
     char *grp_nm_fll;                 /* [sng] Full group name (for groups, same as nm_fll) */
-    char nm[NC_MAX_NAME+1L];          /* [sng] Relative name (i.e., variable name or last component of path name for groups) */
+    char *grp_nm;                     /* [sng] Group name (for groups, same as nm) */
+    char *nm;                         /* [sng] Relative name (i.e., variable name or last component of path name for groups) */
     size_t nm_lng;                    /* [sng] Length of short name */
     int grp_dpt;                      /* [nbr] Depth of group (root = 0) */
     int nbr_att;                      /* [nbr] Number of attributes */
@@ -814,11 +905,13 @@ extern "C" {
     int nbr_rec;                      /* [nbr] Number of record dimensions */
     int nbr_grp;                      /* [nbr] (For groups only) Number of sub-groups */   
     int nbr_var;                      /* [nbr] (For groups only) Number of variables */
+
     nco_bool flg_cf;                  /* [flg] Object matches CF-metadata extraction criteria */
     nco_bool flg_crd;                 /* [flg] Object matches coordinate extraction criteria */
     nco_bool flg_dfl;                 /* [flg] Object meets default subsetting criteria */
     nco_bool flg_gcv;                 /* [flg] Group contains matched variable */
     nco_bool flg_mch;                 /* [flg] Object matches user-specified strings */
+    nco_bool flg_mtd;                 /* [flg] Group contains only metadata */
     nco_bool flg_ncs;                 /* [flg] Group is ancestor of specified group or variable */
     nco_bool flg_nsx;                 /* [flg] Object matches intersection criteria */
     nco_bool flg_rcr;                 /* [flg] Extract group recursively */
@@ -827,11 +920,15 @@ extern "C" {
     nco_bool flg_vsg;                 /* [flg] Variable selected because group matches */
     nco_bool flg_xcl;                 /* [flg] Object matches exclusion criteria */
     nco_bool flg_xtr;                 /* [flg] Extract object */ 
+    nco_bool flg_aux;                 /* [flg] Variable contains auxiliary coordinates */ 
+    nco_bool flg_std_att_lat;         /* [flg] Variable contains 'standard_name' attribute "latitude" */ 
+    nco_bool flg_std_att_lon;         /* [flg] Variable contains 'standard_name' attribute "longitude" */ 
+
     /* Following are members only used by transformation operators (non-ncks)  */
     prc_typ_enm enm_prc_typ;          /* [enm] Processing type enumerator */
     nc_type var_typ_out;              /* [enm] NetCDF type in output file (ncflint) (ncpdq) */  
-    int dmn_idx_out_in[NC_MAX_DIMS];  /* [nbr] Dimension correspondence, output->input (ncpdq); output of nco_var_dmn_rdr_mtd() */
-    nco_bool dmn_rvr_in[NC_MAX_DIMS]; /* [flg] Reverse dimensions (ncpdq) */
+    int *dmn_idx_out_in;              /* [nbr] Dimension correspondence, output->input (ncpdq); output of nco_var_dmn_rdr_mtd() */
+    nco_bool *dmn_rvr_in;             /* [flg] Reverse dimensions (ncpdq) */
     nco_bool flg_rdr;                 /* [flg] Variable has dimensions to re-order (ncpdq) */ 
     char *rec_dmn_nm_out;             /* [sng] Record dimension name, re-ordered (ncpdq) (used as flag also for re-defined record dimension)*/
     char *grp_nm_fll_prn;             /* [sng] (ncge) Parent group full name */
@@ -867,25 +964,37 @@ extern "C" {
     struct dmn_sct_tag *xrf; /* [sct] Cross-reference to associated dimension structure (usually the structure for dimension on output) */
   } dmn_sct; /* end dmn_sct_tag */
 
-  /* Ensemble group structure (ncge). It contains a name for the group (e.g /cesm/cesm_01) and a list of variables for the group */
+  /* Ensemble group structure (ncge). It contains a name for the group (e.g., /cesm/cesm_01) and a list of variables for the group */
   typedef struct{
     char *mbr_nm_fll;       /* [sng] Goup full name */ 
-    char **var_nm_fll;      /* [sng] List of full variable names for this group (e.g /cesm/cesm_01/tas) */
+    char **var_nm_fll;      /* [sng] List of full variable names for this group (e.g., /cesm/cesm_01/tas) */
     int var_nbr;            /* [nbr] Number of variable for this group (size of above array) */ 
   } nsm_grp_sct; 
 
   /* Ensemble (ncge) */
   typedef struct{
-    char *grp_nm_fll_prn;   /* [sng] Parent group full name (key for ensemble) (e.g /cesm) */
+    char *grp_nm_fll_prn;   /* [sng] Parent group full name (key for ensemble) (e.g., /cesm) */
     nsm_grp_sct *mbr;       /* [sng] List of ensemble group member structs (size is mbr_nbr) */
-    char **var_mbr_fll;     /* [sng] List of variable ensemble members (e.g /cesm/cesm_01/tas) */
-    char **grp_mbr_fll;     /* [sng] List of group ensemble members (e.g /cesm/cesm_01) */
+    char **var_mbr_fll;     /* [sng] List of variable ensemble members (e.g., /cesm/cesm_01/tas) */
+    char **grp_mbr_fll;     /* [sng] List of group ensemble members (e.g., /cesm/cesm_01) */
     int mbr_nbr;            /* [nbr] Number of members (groups) of ensemble (i.e., number in this ensemble in this file) */ 
     int mbr_var_nbr;        /* [nbr] Number of variable members of ensemble */           
     int mbr_srt;            /* [nbr] Member offsets (multi files, keep track of new added members) */ 
     int mbr_end;            /* [nbr] Member offsets (multi files, keep track of new added members) */ 
   } nsm_sct; 
 
+  
+  /* Name structure */
+  typedef struct{ /* nm_sct */
+    char *nm;     /* [sng] Name */
+  } nm_sct;
+
+  /* Name list structure */
+  typedef struct{ /* nm_tbl_sct */
+    nm_sct *lst;  /* [sct] List of nm_sct (char * currently) */
+    int nbr;      /* [nbr] Number of items in "lst" array */
+  } nm_tbl_sct;
+
   /* GTT (Group Traversal Table) structure contains two lists
      1) lst: All objects (variables and groups) in file tree (HDF5 model)
      2) lst_dmn: All unique dimensions (in groups) in file tree (netCDF addition to HDF5) */
@@ -898,11 +1007,10 @@ extern "C" {
     trv_sct *hsh;           /* [hsh] Hash table of all trv_sct objects */
     dmn_sct *dmn_dgn;       /* [sct] (ncwa) Degenerate dimensions */
     int nbr_dmn_dgn;        /* [sct] (ncwa) Number of degenerate dimensions (size of above array) */
-    lmt_sct **lmt_rec;      /* [sct] (ncra) Record dimensions */
-    int nbr_rec;            /* [sct] (ncra) Number of record dimensions (size of above array) */
     int nsm_nbr;            /* [nbr] (ncge) Number of ensembles (i.e., number in first file) */ 
     nsm_sct *nsm;           /* [lst] (ncge) List of ensembles (size is nsm_nbr) */ 
-    char *nsm_sfx;          /* [sng] (ncge) Ensemble suffix (e.g /cesm + _avg). Store here instead of passing as function parameters (ncge only) */
+    char *nsm_sfx;          /* [sng] (ncge) Ensemble suffix (e.g., /cesm + _avg). Store here instead of passing as function parameters (ncge only) */
+    nm_tbl_sct *nsm_skp;    /* [lst] (ncge) Skip list (fixed variables to define at ensemble parent group) */ 
   } trv_tbl_sct;
  
   /* GPE duplicate name check structure */
@@ -910,30 +1018,32 @@ extern "C" {
     char *var_nm_fll; /* [sng] Fully qualified variable name */
   } gpe_nm_sct;
 
-  /* Name structure */
-  typedef struct{ /* nm_sct */
-    char *nm;     /* [sng] Name */
-  } nm_sct;
-
-  /* Name list structure */
-  typedef struct{ /* nm_tbl_sct */
-    nm_sct *lst;  /* [sct] List of nm_sct (char * currently) */
-    int nbr;      /* [nbr] Number of items in "lst" array */
-  } nm_tbl_sct;
 
   /* Common variable names; common defined as same absolute path in 2 files */
   typedef struct{		
-    char *var_nm_fll;            /* [sng] Full path of variable (can be relative) */
+    char *nm;                    /* [sng] A name */
     nco_bool flg_in_fl[2];       /* [flg] Is this name in each file?; files are [0] and [1] */
   } nco_cmn_t;
 
+  /* cell_methods structure */
+  typedef struct{ 
+    char *dmn_nm;   /* [sng] Dimension name */
+    int op_type;    /* [enm] Operation type */
+  } cell_methods_sct; 
+
   /* Limit "lmt_sct" monotonic direction */
   typedef enum {
     decreasing, /* 0 */
     increasing, /* 1 */
     not_checked /* 2 */
   } monotonic_direction_enm;
-  
+
+   /* Structure to check for valid input dimension  */
+  typedef struct {	
+    nco_bool flg_dne;           /* [flg] Flag to check if input dimension -d "does not exist" */
+    char *dim_nm;               /* [sng] Dimension name */    
+  } nco_dmn_dne_t;
+
   /* Initialize default value of each member of var_sct structure in var_dfl_set()
      Fill actual value of var_sct structure in nco_var_fll()
      free() each pointer member of var_sct structure in nco_var_free()
@@ -980,7 +1090,18 @@ extern "C" {
     size_t *cnk_sz; /* [id] Contiguous vector of chunk sizes */
     struct var_sct_tag *xrf; /* [sct] Cross-reference to associated variable structure (usually structure for variable on output) fxm: deprecate! TODO nco226 */
   } var_sct; /* end var_sct_tag */
-  
+
+   /* Dimension utility structure to share common fields; used in nco_cnk_sz_set_trv() */
+  typedef struct{ 
+    char nm[NC_MAX_NAME+1L];/* [sng] Name of dimension/coordinate */
+    char *nm_fll; /* [sng] Full dimension name */
+    nco_bool is_rec_dmn; /* [flg] Is a record dimension/coordinate? */
+    size_t sz; /* [nbr] Size of dimension/coordinate */
+    nco_bool BASIC_DMN; /* [flg] Limit is same as dimension in input file */
+    size_t dmn_cnt; /* [nbr] Hyperslabbed size of dimension */ 
+    int id; /* [id] Dimension ID */ 
+  } dmn_cmn_sct; 
+
 #ifdef __cplusplus
 } /* end extern "C" */
 #endif /* !__cplusplus */
diff --git a/src/nco/nco_att_utl.c b/src/nco/nco_att_utl.c
index 826dabe..5089fb8 100644
--- a/src/nco/nco_att_utl.c
+++ b/src/nco/nco_att_utl.c
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_att_utl.c,v 1.164 2013/12/02 20:48:45 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_att_utl.c,v 1.171 2014/01/09 00:08:43 zender Exp $ */
 
 /* Purpose: Attribute utilities */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -321,17 +321,25 @@ nco_att_cpy  /* [fnc] Copy attributes from input netCDF file to output netCDF fi
  const nco_bool PCK_ATT_CPY) /* I [flg] Copy attributes "scale_factor", "add_offset" */
 {
   /* Purpose: Copy attributes from input netCDF file to output netCDF file
-  If var_in_id == NC_GLOBAL, then copy global attributes
-  Otherwise copy only indicated variable's attributes
-  When PCK_ATT_CPY is false, copy all attributes except "scale_factor", "add_offset" */
+     If var_in_id == NC_GLOBAL, then copy global attributes
+     Otherwise copy only indicated variable's attributes
+     When PCK_ATT_CPY is false, copy all attributes except "scale_factor", "add_offset" */
 
   char att_nm[NC_MAX_NAME];
   char var_nm[NC_MAX_NAME];
 
+  int fl_fmt; /* [enm] Output file format */
   int idx;
   int nbr_att;
   int rcd; /* [enm] Return code */
 
+  long att_sz;
+
+  nc_type att_typ_in;
+  nc_type att_typ_out;
+
+  nco_bool flg_autoconvert;
+
   if(var_in_id == NC_GLOBAL){
     (void)nco_inq_natts(in_id,&nbr_att);
     if(nbr_att > NC_MAX_ATTRS) (void)fprintf(stdout,"%s: WARNING Number of global attributes is %d which exceeds number permitted by netCDF NC_MAX_ATTRS = %d\n",nco_prg_nm_get(),nbr_att,NC_MAX_ATTRS);
@@ -341,9 +349,15 @@ nco_att_cpy  /* [fnc] Copy attributes from input netCDF file to output netCDF fi
     if(nbr_att > NC_MAX_ATTRS) (void)fprintf(stdout,"%s: WARNING Variable %s has %d attributes which exceeds number permitted by netCDF NC_MAX_ATTRS = %d\n",nco_prg_nm_get(),var_nm,nbr_att,NC_MAX_ATTRS);
   } /* end else */
 
-  /* Jump back to here if current attribute is treated specially */
+  /* Jump back here if current attribute is treated specially */
   for(idx=0;idx<nbr_att;idx++){
     (void)nco_inq_attname(in_id,var_in_id,idx,att_nm);
+    (void)nco_inq_att(in_id,var_in_id,att_nm,&att_typ_in,&att_sz);
+
+    /* Reset default behavior */
+    flg_autoconvert=False;
+    att_typ_out=att_typ_in;
+
     /* Look for same attribute in output variable in output file */
     rcd=nco_inq_att_flg(out_id,var_out_id,att_nm,(nc_type *)NULL,(long *)NULL);
 
@@ -370,28 +384,60 @@ nco_att_cpy  /* [fnc] Copy attributes from input netCDF file to output netCDF fi
     if(nco_dbg_lvl_get() >= nco_dbg_std && nco_dbg_lvl_get() != nco_dbg_dev){
       if(rcd == NC_NOERR){
         if(var_out_id == NC_GLOBAL){
-          (void)fprintf(stderr,"%s: INFO Overwriting global attribute %s\n",nco_prg_nm_get(),att_nm);
+          (void)fprintf(stderr,"%s: INFO Overwriting global or group attribute %s\n",nco_prg_nm_get(),att_nm);
         }else{
           (void)fprintf(stderr,"%s: INFO Overwriting attribute %s for output variable %s\n",nco_prg_nm_get(),att_nm,var_nm);
         } /* end else */
       } /* end if */
     } /* end if dbg */
 
+    /* File format needed for autoconversion */
+    (void)nco_inq_format(out_id,&fl_fmt);
+
+    /* Allow ncks to autoconvert netCDF4 atomic types to netCDF3 output type ... */
+    if(nco_prg_id_get() == ncks && fl_fmt != NC_FORMAT_NETCDF4 && !nco_typ_nc3(att_typ_in)){
+      att_typ_out=nco_typ_nc4_nc3(att_typ_in);
+      flg_autoconvert=True;
+      if(nco_dbg_lvl_get() >= nco_dbg_std) (void)fprintf(stdout,"%s: INFO Autoconverting %s%s attribute %s from netCDF4 type %s to netCDF3 type %s\n",nco_prg_nm_get(),(var_out_id == NC_GLOBAL) ? "global or group" : "variable ",(var_out_id == NC_GLOBAL) ? "" : var_nm,att_nm,nco_typ_sng(att_typ_in),nco_typ_sng(att_typ_out));
+    } /* !flg_autoconvert */
+
     if(strcmp(att_nm,nco_mss_val_sng_get())){
-      /* Copy all attributes except _FillValue with fast library routine */
-      (void)nco_copy_att(in_id,var_in_id,att_nm,out_id,var_out_id);
+      if(flg_autoconvert){
+	var_sct att_var; /* [sct] Variable structure */
+	var_sct *att_var_ptr=NULL; /* [sct] Variable structure */
+
+	/* Initialize variable structure with minimal info. for nco_var_cnf_typ() */
+	att_var.nm=att_nm;
+	att_var.type=att_typ_in;
+	att_var.has_mss_val=False;
+	att_var.sz=att_sz;
+        att_var.val.vp=(void *)nco_malloc(att_sz*nco_typ_lng(att_typ_in)); /* Pointer to attribute value */
+        (void)nco_get_att(in_id,var_in_id,att_nm,att_var.val.vp,att_typ_in);
+
+	if(att_typ_in == NC_STRING && att_typ_out == NC_CHAR){
+	  /* Special case for string conversion:
+	     Keep first string of existing attribute (netCDF3 output attribute can only hold one string) */
+	  att_var.sz=att_sz=strlen(att_var.val.sngp[0]);
+	  rcd=nco_put_att(out_id,var_out_id,att_nm,att_typ_out,att_sz,att_var.val.sngp[0]);
+	  (void)cast_nctype_void(att_typ_out,&att_var.val);
+	  if(att_var.val.vp) att_var.val.vp=(void *)nco_free(att_var.val.vp);
+	}else{ /* !NC_STRING */
+	  att_var_ptr=nco_var_cnf_typ(att_typ_out,&att_var);
+	  rcd=nco_put_att(out_id,var_out_id,att_nm,att_typ_out,att_sz,att_var_ptr->val.vp);
+	  if(att_var_ptr->val.vp) att_var_ptr->val.vp=nco_free(att_var_ptr->val.vp);
+	} /* !NC_STRING */
+      }else{
+	/* Copy all attributes except _FillValue with fast library routine */
+	(void)nco_copy_att(in_id,var_in_id,att_nm,out_id,var_out_id);
+      } /* !Autoconvert */
     }else{
       /* Convert "_FillValue" attribute to unpacked type then copy 
-      Impose NCO convention that _FillValue is same type as variable,
-      whether variable is packed or not */
+	 Impose NCO convention that _FillValue is same type as variable,
+	 whether variable is packed or not */
       aed_sct aed;
 
-      long att_sz;
       size_t att_lng_in;
 
-      nc_type att_typ_in;
-      nc_type att_typ_out;
-
       ptr_unn mss_tmp;
 
       (void)nco_inq_att(in_id,var_in_id,att_nm,&att_typ_in,&att_sz);
@@ -413,10 +459,12 @@ nco_att_cpy  /* [fnc] Copy attributes from input netCDF file to output netCDF fi
       aed.id=out_id; /* Variable ID or NC_GLOBAL ( = -1) for global attribute */
       aed.sz=att_sz; /* Number of elements in attribute */
 
-      /* Do not convert global attributes or PCK_ATT_CPY */  
-      if(PCK_ATT_CPY || var_out_id==NC_GLOBAL) att_typ_out=att_typ_in; else (void)nco_inq_vartype(out_id,var_out_id,&att_typ_out);
+      if(!flg_autoconvert){
+	/* Do not convert global attributes or PCK_ATT_CPY */  
+	if(PCK_ATT_CPY || var_out_id==NC_GLOBAL) att_typ_out=att_typ_in; else (void)nco_inq_vartype(out_id,var_out_id,&att_typ_out);
+      } /* flg_autoconvert */
 
-      if(att_typ_out==att_typ_in){
+      if(att_typ_out == att_typ_in){
         aed.type=att_typ_out; /* Type of attribute */
         aed.val.vp=(void *)nco_malloc(nco_typ_lng(aed.type)); /* Pointer to attribute value */
         (void)nco_get_att(in_id,var_in_id,att_nm,aed.val.vp,att_typ_out);
@@ -432,7 +480,7 @@ nco_att_cpy  /* [fnc] Copy attributes from input netCDF file to output netCDF fi
       } /* att_typ_out!=att_typ_in */
 
       /* Overwrite mode causes problems with netCDF4 and "_FillValue" 
-      Use create mode instead */
+	 Use create mode instead */
       aed.mode=aed_create;
       (void)nco_aed_prc(out_id,var_out_id,aed); 
       /* Release temporary memory */
@@ -1351,6 +1399,14 @@ nco_prs_rnm_lst /* [fnc] Set old_nm, new_nm elements of rename structure */
     } /* end if */
     
     lng_arg_1=comma_1_cp-rnm_arg[idx]; 
+
+    /* If new name is absolute path, get rid of it (ncrename does in place, same group, changes, so absolute path is redundant) */
+    char *abs_1_cp=strrchr(comma_1_cp,'/');
+    /* Found path separator in new name (string after ',' ) */
+    if (abs_1_cp){
+      comma_1_cp=strrchr(comma_1_cp,'/');
+    }
+
     lng_arg_2=rnm_arg[idx]+strlen(rnm_arg[idx])-comma_1_cp-1; 
     
     /* Exit if length of either argument is zero */
diff --git a/src/nco/nco_att_utl.h b/src/nco/nco_att_utl.h
index 7e932d6..4f0ab25 100644
--- a/src/nco/nco_att_utl.h
+++ b/src/nco/nco_att_utl.h
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_att_utl.h,v 1.47 2013/07/18 20:11:04 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_att_utl.h,v 1.48 2013/12/31 05:14:01 zender Exp $ */
 
 /* Purpose: Attribute utilities */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco/nco_aux.c b/src/nco/nco_aux.c
index 280930d..b3b71cd 100644
--- a/src/nco/nco_aux.c
+++ b/src/nco/nco_aux.c
@@ -1,6 +1,6 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_aux.c,v 1.48 2013/10/22 03:03:45 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_aux.c,v 1.80 2014/02/14 05:22:16 zender Exp $ */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -43,7 +43,7 @@ nco_find_lat_lon
   int idx;
   int nvars=0;
   int rcd=NC_NOERR;
-  int ret=0;
+  int crd_nbr=0;
   int var_dimid[NC_MAX_VAR_DIMS]; /* [enm] Dimension ID */
   int var_att_nbr; /* [nbr] Number of attributes */
   int var_dmn_nbr; /* [nbr] Number of dimensions */
@@ -53,22 +53,22 @@ nco_find_lat_lon
   nc_type var_typ; /* [enm] variable type */
 
   /* Make sure CF tag exists. Currently require CF-1.0 value */
-  if(NCO_GET_ATT_CHAR(nc_id,NC_GLOBAL,"Conventions",value) || !strstr(value,"CF-1.0")){
+  if(NCO_GET_ATT_CHAR(nc_id,NC_GLOBAL,"Conventions",value) || !strstr(value,"CF-1.")){
     if(nco_dbg_lvl_get() >= nco_dbg_dev)
-    (void)fprintf(stderr,"%s: WARNING %s reports file \"Convention\" attribute is missing or not equal to \"CF-1.0\". Auxiliary coordinate support (i.e., the -X option) cannot be expected to behave well file does not support CF-1.0 metadata conventions. Continuing anyway...\n",nco_prg_nm_get(),fnc_nm);
+    (void)fprintf(stderr,"%s: WARNING %s reports file \"Convention\" attribute is missing or is present but not of the form \"CF-1.X\". Auxiliary coordinate support (i.e., the -X option) cannot be expected to behave well file does not support CF-1.X metadata conventions. Continuing anyway...\n",nco_prg_nm_get(),fnc_nm);
   } /* !CF */
 
   /* Get number of variables */
   rcd=nco_inq_nvars(nc_id,&nvars);
 
   /* For each variable, see if standard name is latitude or longitude */
-  for(idx=0;idx<nvars && ret<2;idx++){
+  for(idx=0;idx<nvars && crd_nbr<2;idx++){
     nco_inq_var(nc_id,idx,var_nm,&var_typ,&var_dmn_nbr,var_dimid,&var_att_nbr);
     lenp=0;
     if(!nco_inq_attlen_flg(nc_id,idx,"standard_name",&lenp)){
       NCO_GET_ATT_CHAR(nc_id,idx,"standard_name",value);
       value[lenp]='\0';
-      if(strcmp(value,"latitude") == 0){
+      if(!strcmp(value,"latitude")){
         strcpy(var_nm_lat,var_nm);
         *lat_id=idx;
 
@@ -83,25 +83,28 @@ nco_find_lat_lon
 
         /* Assign type; assumed same for both lat and lon */
         *crd_typ=var_typ;
-        ret++;
-      } /* end if var is lattitude */
+        crd_nbr++;
+      } /* endif latitude */
 
-      if(strcmp(value,"longitude") == 0){
+      if(!strcmp(value,"longitude")){
         strcpy(var_nm_lon,var_nm);
         *lon_id=idx;
-        ret++;
-      } /* end if var is longitude */
+        crd_nbr++;
+      } /* endif longitude */
 
-    } /* end if standard_name */
+      if(nco_dbg_lvl_get() >= nco_dbg_dev){
+        (void)fprintf(stdout,"%s: DEBUG %s variable <%s>\n",nco_prg_nm_get(),fnc_nm,
+          var_nm); 
+      }
 
-  } /* end loop over vars */
+    } /* endif standard_name */
 
+  } /* end loop over vars */
 
-  if(ret != 2){
+  if(crd_nbr != 2){
     if(nco_dbg_lvl_get() >= nco_dbg_dev) (void)fprintf(stdout,"nco_find_lat_lon() unable to identify lat/lon auxiliary coordinate variables.\n");
     return False;
-  } else return True;
-
+  }else return True;
 
 } /* end nco_find_lat_lon() */
 
@@ -141,7 +144,8 @@ nco_aux_evl
 (int in_id, 
  int aux_nbr, 
  char *aux_arg[],
- int *lmt_nbr)
+ int *lmt_nbr,
+ char *nm_dmn)                     /* O [sng] Dimension name */ 
 {
   /* Purpose: Create lmt structure of slabs of continguous cells that
      match rectangular region specified by -X arguments.
@@ -196,9 +200,7 @@ nco_aux_evl
   /* Obtain lat/lon variable names */
   has_lat_lon=nco_find_lat_lon(in_id,var_nm_lat,var_nm_lon,&units,&lat_id,&lon_id,&crd_typ);
 
-  if (has_lat_lon == False){
-    return NULL;
-  }
+  if(!has_lat_lon) return NULL;
 
   /* Obtain dimension information of lat/lon coordinates */
   rcd+=nco_get_dmn_info(in_id,lat_id,dmn_nm,&dmn_id,&dmn_sz);
@@ -226,8 +228,8 @@ nco_aux_evl
   lmt_tpl.is_usr_spc_max=True;
   lmt_tpl.flg_mro=False;
   lmt_tpl.srd_sng=(char *)strdup("1");
-  lmt_tpl.drn_sng=NULL;
-  lmt_tpl.drn_sng=NULL;
+  lmt_tpl.ssc_sng=NULL;
+  lmt_tpl.ssc_sng=NULL;
   lmt_tpl.mro_sng=NULL;
   lmt_tpl.mro_sng=NULL;
   lmt_tpl.is_rec_dmn=0;
@@ -238,7 +240,7 @@ nco_aux_evl
   lmt_tpl.end=0L;
   lmt_tpl.cnt=0L;
   lmt_tpl.srd=1L;
-  lmt_tpl.drn=1L;
+  lmt_tpl.ssc=1L;
 
   /* malloc() lmt structure to return
   No way to know exact size in advance though maximum is about dim_sz/2 */
@@ -297,7 +299,9 @@ nco_aux_evl
         cll_idx_min=-1;
       } /* end if one or more consecutive matching cells */
     } /* end loop over cells */
-    if(nco_dbg_lvl_get() > nco_dbg_scl) (void)fprintf(stdout,"%s: %s reports bounding-box %g <= %s <= %g and %g <= %s <= %g brackets %d distinct group(s) comprising %d total gridpoint(s)\n",nco_prg_nm_get(),fnc_nm,lon_min,var_nm_lon,lon_max,lat_min,var_nm_lat,lat_max,cll_grp_nbr,cll_nbr_ttl); 
+    if(nco_dbg_lvl_get() > nco_dbg_scl && nco_dbg_lvl_get() != nco_dbg_dev){
+      (void)fprintf(stdout,"%s: %s reports bounding-box %g <= %s <= %g and %g <= %s <= %g brackets %d distinct group(s) comprising %d total gridpoint(s)\n",nco_prg_nm_get(),fnc_nm,lon_min,var_nm_lon,lon_max,lat_min,var_nm_lat,lat_max,cll_grp_nbr,cll_nbr_ttl); 
+    }
   } /* end loop over user supplied -X options */
 
   /* Free allocated memory */
@@ -314,6 +318,10 @@ nco_aux_evl
   } /* end if */
 
   lmt=(lmt_sct **)nco_realloc(lmt,(*lmt_nbr)*sizeof(lmt_sct *));
+
+  /* Export dimension name */
+  strcpy(nm_dmn,dmn_nm);
+
   return lmt;
 } /* end nco_aux_evl() */
 
@@ -345,7 +353,7 @@ nco_aux_prs
   
   if(bnd_bx_sng_tmp) bnd_bx_sng_tmp=(char *)nco_free(bnd_bx_sng_tmp);
   
-  if(strcmp(units,"radians") == 0){
+  if(!strcmp(units,"radians")){
     /* WIN32 math.h does not define M_PI */
 #ifndef M_PI
 # define M_PI		3.14159265358979323846
@@ -356,3 +364,284 @@ nco_aux_prs
     *lat_max*=M_PI/180.0;
   } /* endif radians */
 } /* nco_aux_prs */
+
+
+lmt_sct **                           /* O [lst] Auxiliary coordinate limits */
+nco_aux_evl_trv
+(const int nc_id,                    /* I [ID] netCDF file ID */
+ int aux_nbr,                        /* I [sng] Number of auxiliary coordinates */
+ char *aux_arg[],                    /* I [sng] Auxiliary coordinates */
+ trv_sct *lat_trv,                   /* I [sct] "latitude" variable */
+ trv_sct *lon_trv,                   /* I [sct] "longitude" variable */
+ const nc_type crd_typ,              /* I [nbr] netCDF type of both "latitude" and "longitude" */
+ const char * const units,           /* I [sng] Units of both "latitude" and "longitude" */
+ int *aux_lmt_nbr)                   /* I/O [nbr] Number of coordinate limits */
+{
+  /* Purpose: Create lmt structure of slabs of continguous cells that
+  match rectangular region specified by -X arguments.
+  Intended for use with non-monotonic grids
+  Requires CF-1.0 conventions
+  Uses latitude/longitude centers rather than cell_bounds to detect matches
+  Code assumes units are degrees if they are not radians */
+
+  const char fnc_nm[]="nco_aux_evl_trv()";
+
+  char cll_idx_sng[100]; /* Buffer for user-assigned limit names */
+  char dmn_nm[NC_MAX_NAME];
+  char var_nm_lat[NC_MAX_NAME];
+  char var_nm_lon[NC_MAX_NAME];
+
+  dmn_sct lat;
+  dmn_sct lon;
+
+  double lat_crr; /* [dgr] Current cell latitude */
+  double lon_crr; /* [dgr] Current cell longitude */
+
+  float lat_min; /* [dgr] Lower left latitude of bounding rectangle */
+  float lat_max; /* [dgr] Upper right longitude of bounding rectangle */
+  float lon_min; /* [dgr] Lower left longitude of bounding rectangle */
+  float lon_max; /* [dgr] Upper right latitude of bounding rectangle */
+
+  int aux_idx; /* [idx] Index over user -X options */
+  int cll_grp_nbr=0; /* [nbr] Number of groups of cells within this bounding box */
+  int cll_idx; /* [idx] Cell index */
+  int cll_idx_min=-1; /* [idx] Minimum index of cell in consecutive cell set */
+  int cll_nbr_cns=0; /* [nbr] Number of consecutive cells within current group */
+  int cll_nbr_ttl=0; /* [nbr] Total number of cells within this bounding box */
+  int dmn_id=int_CEWI;
+  int lat_id;
+  int lon_id;
+  int rcd=NC_NOERR;
+  int grp_id_lat;               /* [id] Group ID */
+  int grp_id_lon;               /* [id] Group ID */
+
+  lmt_sct **lmt=NULL; /* [sct] List of returned lmt structures */
+
+  long dmn_sz=0;
+
+  void *vp_lat; /* [dgr] Latitude coordinate array, float or double */
+  void *vp_lon; /* [dgr] Longitude coordinate array, float or double */
+
+  *aux_lmt_nbr=0;
+
+  /* Obtain group ID of 'latitude' and 'longitude' from netCDF API using full group name */
+  (void)nco_inq_grp_full_ncid(nc_id,lat_trv->grp_nm_fll,&grp_id_lat);
+  (void)nco_inq_grp_full_ncid(nc_id,lon_trv->grp_nm_fll,&grp_id_lon);
+
+  /* Obtain variable ID of 'latitude' and 'longitude' */
+  (void)nco_inq_varid(grp_id_lat,lat_trv->nm,&lat_id);
+  (void)nco_inq_varid(grp_id_lon,lon_trv->nm,&lon_id);
+
+  /* Obtain dimension information of lat/lon coordinates */
+  (void)nco_get_dmn_info(grp_id_lat,lat_id,dmn_nm,&dmn_id,&dmn_sz);
+
+   /* Load latitude/longitude variables needed to search for region matches */
+  lat.type=crd_typ;
+  lat.sz=dmn_sz;
+  lat.srt=0L;
+  vp_lat=(void *)nco_malloc(dmn_sz*nco_typ_lng(lat.type));
+  lon.type=crd_typ;
+  lon.sz=dmn_sz;
+  lon.srt=0L;
+  vp_lon=(void *)nco_malloc(dmn_sz*nco_typ_lng(lon.type));
+  rcd+=nco_get_vara(grp_id_lat,lat_id,&lat.srt,&lat.sz,vp_lat,lat.type);
+  rcd+=nco_get_vara(grp_id_lon,lon_id,&lon.srt,&lon.sz,vp_lon,lon.type);
+
+  lmt_sct lmt_tpl;
+  (void)nco_lmt_init(&lmt_tpl);
+  lmt_tpl.nm=(char *)strdup(dmn_nm);
+  lmt_tpl.lmt_typ=lmt_dmn_idx;
+  lmt_tpl.is_usr_spc_lmt=True; 
+  lmt_tpl.is_usr_spc_min=True; 
+  lmt_tpl.is_usr_spc_max=True;
+  lmt_tpl.flg_mro=False;
+  lmt_tpl.srd_sng=(char *)strdup("1");
+  lmt_tpl.ssc_sng=NULL;
+  lmt_tpl.ssc_sng=NULL;
+  lmt_tpl.mro_sng=NULL;
+  lmt_tpl.mro_sng=NULL;
+  lmt_tpl.is_rec_dmn=0;
+  lmt_tpl.id=dmn_id;
+  lmt_tpl.min_idx=0;
+  lmt_tpl.max_idx=0;
+  lmt_tpl.srt=0L;
+  lmt_tpl.end=0L;
+  lmt_tpl.cnt=0L;
+  lmt_tpl.srd=1L;
+  lmt_tpl.ssc=1L;
+
+  /* malloc() lmt structure to return
+  No way to know exact size in advance though maximum is about dim_sz/2 */
+  int MAX_LMT_NBR=dmn_sz/2;
+
+  if(aux_nbr > 0) lmt=(lmt_sct **)nco_malloc(MAX_LMT_NBR*sizeof(lmt_sct *));
+
+  /* Loop over user-specified bounding boxes */
+  for(aux_idx=0;aux_idx<aux_nbr;aux_idx++){
+    /* Parse into lon_min,lat_min,lon_max,lon_max, accounting for units */
+    nco_aux_prs(aux_arg[aux_idx],units,&lon_min,&lon_max,&lat_min,&lat_max);
+    /* Current cell assumed to lay outside current bounding box */
+    cll_idx_min=-1;
+    /* Initialize number of consecutive cells inside current bounding box */
+    cll_nbr_cns=0; /* [nbr] Number of consecutive cells within current group */
+    cll_nbr_ttl=0; /* [nbr] Total number of cells within this bounding box */
+    cll_grp_nbr=0; /* [nbr] Number of groups of cells within this bounding box */
+    if(lon_min == lon_max){
+      (void)fprintf(stderr,"%s: ERROR %s reports degenerate auxiliary coordinate hyperslab with lon_min = lon_max = %g. Auxiliary coordinates do not support degenerate hyperlabs yet. This is TODO nco1010. If this feature is important to you, post your vexation to sourceforge and we will work on it.\n",nco_prg_nm_get(),fnc_nm,lon_min);
+      nco_exit(EXIT_FAILURE);
+    } /* endif */
+    if(lat_min == lat_max){
+      (void)fprintf(stderr,"%s: ERROR %s reports degenerate auxiliary coordinate hyperslab with lat_min = lat_max = %g. Auxiliary coordinates do not support degenerate hyperlabs yet. This is TODO nco1010. If this feature is important to you, post your vexation to sourceforge and we will work on it.\n",nco_prg_nm_get(),fnc_nm,lat_min);
+      nco_exit(EXIT_FAILURE);
+    } /* endif */
+    /* Loop over auxiliary coordinate cells */
+    for(cll_idx=0;cll_idx<dmn_sz;cll_idx++){
+      if(lat.type == NC_FLOAT) lat_crr=((float *)vp_lat)[cll_idx]; else lat_crr=((double *)vp_lat)[cll_idx];
+      if(lon.type == NC_FLOAT) lon_crr=((float *)vp_lon)[cll_idx]; else lon_crr=((double *)vp_lon)[cll_idx];
+      if(lon_crr >= lon_min && lon_crr <= lon_max &&
+        lat_crr >= lat_min && lat_crr <= lat_max){
+          if(cll_idx_min == -1){
+            /* First cell within current bounding box */
+            cll_idx_min=cll_idx;
+            cll_nbr_cns=1;
+          }else if(cll_idx == cll_idx_min+cll_nbr_cns){
+            /* Later, contiguous cell within current bounding box */
+            cll_nbr_cns++;
+          } /* end found matching cell */
+      }else if(cll_idx_min != -1){
+        /* Current cell is not within bounding box though immediately previous cell is */
+        sprintf(cll_idx_sng,"%d",cll_idx_min);
+        lmt_tpl.min_sng=(char *)strdup(cll_idx_sng);
+        lmt_tpl.min_idx=lmt_tpl.srt=cll_idx_min;
+        sprintf(cll_idx_sng,"%d",cll_idx_min+cll_nbr_cns-1);
+        lmt_tpl.max_sng=(char *)strdup(cll_idx_sng);
+        lmt_tpl.max_idx=lmt_tpl.end=cll_idx_min+cll_nbr_cns-1;
+        lmt_tpl.cnt=cll_nbr_cns;
+        (*aux_lmt_nbr)++;
+        if(*aux_lmt_nbr > MAX_LMT_NBR) nco_err_exit(0,"%s: Number of slabs exceeds allocated mamory");
+        lmt[(*aux_lmt_nbr)-1]=(lmt_sct *)nco_malloc(sizeof(lmt_sct));
+        *lmt[(*aux_lmt_nbr)-1]=lmt_tpl;
+        cll_grp_nbr++;
+        cll_nbr_ttl+=cll_nbr_cns;
+        /* Indicate that next cell, if any, in this bounding box requires new limit structure */
+        cll_idx_min=-1;
+      } /* end if one or more consecutive matching cells */
+    } /* end loop over cells */
+    if(nco_dbg_lvl_get() > nco_dbg_scl && nco_dbg_lvl_get() != nco_dbg_dev){
+      (void)fprintf(stdout,"%s: %s reports bounding-box %g <= %s <= %g and %g <= %s <= %g brackets %d distinct group(s) comprising %d total gridpoint(s)\n",nco_prg_nm_get(),fnc_nm,lon_min,var_nm_lon,lon_max,lat_min,var_nm_lat,lat_max,cll_grp_nbr,cll_nbr_ttl); 
+    }
+  } /* end loop over user supplied -X options */
+
+  /* Free allocated memory */
+  if(vp_lat) vp_lat=nco_free(vp_lat);
+  if(vp_lon) vp_lon=nco_free(vp_lon);
+
+  /* No limits found */
+  if(*aux_lmt_nbr == 0){
+    return NULL;
+  } /* No limits found */
+
+  lmt=(lmt_sct **)nco_realloc(lmt,(*aux_lmt_nbr)*sizeof(lmt_sct *));
+
+  return lmt;
+
+} /* nco_aux_evl_trv */
+
+nco_bool 
+nco_find_lat_lon_trv
+(const int nc_id,                    /* I [ID] netCDF file ID */
+ const trv_sct * const var_trv,      /* I [sct] Variable object that contains "standard_name" attribute */
+ const char * const attr_val,        /* I [sng] Attribute value to find ( "latitude" or "longitude" ) */
+ char **var_nm_fll,                  /* I/O [sng] Full name of variable that has "latitude" or "longitude" attributes */
+ int *dmn_id,                        /* I/O [id] Dimension ID of the diension of "latitude" and "longitude" */
+ nc_type *crd_typ,                   /* I/O [enm] netCDF type of both "latitude" and "longitude" */
+ char units[])                       /* I/O [sng] Units of both "latitude" and "longitude" */
+{
+  /* Purpose: Find auxiliary coordinate variables that map to latitude/longitude 
+     Find variables with standard_name = "latitude" and "longitude"
+     Return true if both latitude and longitude standard names are found
+     Also return needed information about these auxiliary coordinates
+     Assumes that units and types for latitude and longitude are identical
+     Caller responsible for memory management for variable names
+     Memory for unit strings must be freed by caller */
+  
+  const char fnc_nm[]="nco_find_lat_lon_trv()";
+
+  char att_nm[NC_MAX_NAME]; /* [sng] Attribute name */
+  char var_nm[NC_MAX_NAME];
+
+  int grp_id;               /* [id] Group ID */
+  int var_id;               /* [id] Variable ID */
+  int var_dimid[NC_MAX_VAR_DIMS]; /* [enm] Dimension ID */
+  int var_att_nbr;          /* [nbr] Number of attributes */
+  int var_dmn_nbr;          /* [nbr] Number of dimensions */
+
+  nc_type var_typ;          /* [enm] variable type */
+
+  assert(var_trv->nco_typ == nco_obj_typ_var);
+
+  /* Obtain group ID from netCDF API using full group name */
+  (void)nco_inq_grp_full_ncid(nc_id,var_trv->grp_nm_fll,&grp_id);
+
+  /* Obtain variable ID */
+  (void)nco_inq_varid(grp_id,var_trv->nm,&var_id);
+
+  /* Find number of attributes */
+  (void)nco_inq_var(grp_id,var_id,var_nm,&var_typ,&var_dmn_nbr,var_dimid,&var_att_nbr);
+
+  assert(var_att_nbr == var_trv->nbr_att);
+
+  /* Loop attributes */
+  for(int idx_att=0;idx_att<var_att_nbr;idx_att++){
+
+    /* Get attribute name */
+    (void)nco_inq_attname(grp_id,var_id,idx_att,att_nm);
+
+    /* Skip attribute if not "standard_name" */
+    if(strcmp(att_nm,"standard_name") != 0){
+      continue;
+    }
+
+    char value[NC_MAX_NAME+1];
+
+    long lenp;
+
+    (void)nco_inq_attlen(grp_id,var_id,"standard_name",&lenp);
+
+    NCO_GET_ATT_CHAR(grp_id,var_id,"standard_name",value);
+    value[lenp]='\0';
+
+    /* Match parameter name to find ( "latitude" or "longitude" ) */
+    if(strcmp(value,attr_val) == 0){
+
+      /* Export full name  */
+      *var_nm_fll=(char *)strdup(var_trv->nm_fll);
+
+      /* Get units; assume same for both lat and lon */
+      int rcd=nco_inq_attlen_flg(grp_id,var_id,"units",&lenp);
+      if(rcd != NC_NOERR){
+        if(nco_dbg_lvl_get() >= nco_dbg_var){
+        (void)fprintf(stdout,"nco_find_lat_lon() reports CF convention requires \"latitude\" to have units attribute\n");
+        }
+        return False;
+      }
+      NCO_GET_ATT_CHAR(grp_id,var_id,"units",units);
+      units[lenp]='\0';
+
+      if(var_dmn_nbr > 1) (void)fprintf(stderr,"%s: WARNING %s reports latitude variable %s has %d dimensions. NCO only supports hyperslabbing of auxiliary coordinate variables with a single dimension. Continuing with unpredictable results...\n",nco_prg_nm_get(),fnc_nm,var_nm,var_dmn_nbr);
+
+      /* Assign type; assumed same for both lat and lon */
+      *crd_typ=var_typ;
+
+      /* Export the dimension ID */
+      *dmn_id=var_dimid[0];
+
+      return True;
+
+    } /* Match parameter name to find ( "latitude" or "longitude" ) */
+  } /* Loop attributes */
+
+  return False;
+
+} /* end nco_find_lat_lon_trv() */
+
diff --git a/src/nco/nco_aux.h b/src/nco/nco_aux.h
index a6e028b..57a37f1 100644
--- a/src/nco/nco_aux.h
+++ b/src/nco/nco_aux.h
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_aux.h,v 1.16 2013/05/03 19:54:12 pvicente Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_aux.h,v 1.33 2014/01/13 03:29:53 pvicente Exp $ */
 
 /* Purpose: Sub-set cell-based grids using auxiliary coordinate variable */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -34,7 +34,8 @@ nco_aux_evl
 (int in_id, 
  int aux_nbr, 
  char *aux_arg[],
- int *lmt_nbr);
+ int *lmt_nbr,
+ char *nm_dmn);                 /* O [sng] Dimension name */ 
 
 nco_bool
 nco_find_lat_lon
@@ -63,6 +64,28 @@ nco_aux_prs
  float *lat_min, 
  float *lat_max);
 
+lmt_sct **                           /* O [lst] Auxiliary coordinate limits */
+nco_aux_evl_trv
+(const int nc_id,                    /* I [ID] netCDF file ID */
+ int aux_nbr,                        /* I [sng] Number of auxiliary coordinates */
+ char *aux_arg[],                    /* I [sng] Auxiliary coordinates */
+ trv_sct *lat_trv,                   /* I [sct] "latitude" variable */
+ trv_sct *lon_trv,                   /* I [sct] "longitude" variable */
+ const nc_type crd_typ,              /* I [nbr] netCDF type of both "latitude" and "longitude" */
+ const char * const units,           /* I [sng] Units of both "latitude" and "longitude" */
+ int *aux_lmt_nbr);                  /* I/O [nbr] Number of coordinate limits */
+
+nco_bool 
+nco_find_lat_lon_trv
+(const int nc_id,                    /* I [ID] netCDF file ID */
+ const trv_sct * const var_trv,      /* I [sct] Variable object that contains "standard_name" attribute */
+ const char * const attr_val,        /* I [sng] Attribute value to find ( "latitude" or "longitude" ) */
+ char **var_nm_fll,                  /* I/O [sng] Full name of variable that has "latitude" or "longitude" attributes */
+ int *dmn_id,                        /* I/O [id] Dimension ID of the diension of "latitude" and "longitude" */
+ nc_type *crd_typ,                   /* I/O [enm] netCDF type of both "latitude" and "longitude" */
+ char units[]);                      /* I/O [sng] Units of both "latitude" and "longitude" */
+
+
 #ifdef __cplusplus
 } /* end extern "C" */
 #endif /* __cplusplus */
diff --git a/src/nco/nco_bnr.c b/src/nco/nco_bnr.c
index 29b1f6d..5dc44eb 100644
--- a/src/nco/nco_bnr.c
+++ b/src/nco/nco_bnr.c
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_bnr.c,v 1.25 2013/10/22 03:03:45 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_bnr.c,v 1.26 2013/12/31 05:14:01 zender Exp $ */
 
 /* Purpose: Binary write utilities */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco/nco_bnr.h b/src/nco/nco_bnr.h
index 25770b6..34d1512 100644
--- a/src/nco/nco_bnr.h
+++ b/src/nco/nco_bnr.h
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_bnr.h,v 1.20 2013/01/13 06:07:47 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_bnr.h,v 1.21 2013/12/31 05:14:01 zender Exp $ */
 
 /* Purpose: Binary write utilities */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco/nco_cln_utl.c b/src/nco/nco_cln_utl.c
index e1b09d1..ca4f953 100644
--- a/src/nco/nco_cln_utl.c
+++ b/src/nco/nco_cln_utl.c
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_cln_utl.c,v 1.46 2013/10/22 03:03:45 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_cln_utl.c,v 1.47 2013/12/31 05:14:01 zender Exp $ */
 
 /* Purpose: Calendar utilities */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco/nco_cln_utl.h b/src/nco/nco_cln_utl.h
index 71ba2a8..f09bbac 100644
--- a/src/nco/nco_cln_utl.h
+++ b/src/nco/nco_cln_utl.h
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_cln_utl.h,v 1.34 2013/08/01 05:02:07 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_cln_utl.h,v 1.35 2013/12/31 05:14:01 zender Exp $ */
 
 /* Purpose: Calendar utilities */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco/nco_cnf_dmn.c b/src/nco/nco_cnf_dmn.c
index 1af4de8..1ecf4d7 100644
--- a/src/nco/nco_cnf_dmn.c
+++ b/src/nco/nco_cnf_dmn.c
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_cnf_dmn.c,v 1.92 2013/10/22 03:03:45 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_cnf_dmn.c,v 1.94 2014/02/18 17:44:07 zender Exp $ */
 
 /* Purpose: Conform dimensions between variables */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -209,9 +209,9 @@ nco_var_cnf_dmn /* [fnc] Stretch second variable to match dimensions of first va
     (void)nco_xrf_var(wgt,wgt_out);
 
     /* wgt_out variable was copied from template var
-    Modify key fields so its name and type are based on wgt, not var
-    wgt_out will then be hybrid between wgt and var 
-    Remainder of routine fills wgt_out's var-dimensionality with wgt-values */
+       Modify key fields so its name and type are based on wgt, not var
+       wgt_out will then be hybrid between wgt and var 
+       Remainder of routine fills wgt_out's var-dimensionality with wgt-values */
     wgt_out->nm=(char *)nco_free(wgt_out->nm);
     wgt_out->nm=(char *)strdup(wgt->nm);
     wgt_out->id=wgt->id;
@@ -227,35 +227,35 @@ nco_var_cnf_dmn /* [fnc] Stretch second variable to match dimensions of first va
       (void)memcpy(wgt_out_cp,wgt_cp,wgt_typ_sz);
     }else if(wgt->nbr_dim == 0){
       /* Lesser-ranked input variable is scalar 
-      Expansion in this degenerate case needs no index juggling (reverse-mapping)
-      Code as special case to speed-up important applications of ncap
-      for synthetic file creation */
+	 Expansion in this degenerate case needs no index juggling (reverse-mapping)
+	 Code as special case to speed-up important applications of ncap
+	 for synthetic file creation */
       var_sz=var->sz;
       for(var_lmn=0;var_lmn<var_sz;var_lmn++){
         (void)memcpy(wgt_out_cp+var_lmn*wgt_typ_sz,wgt_cp,wgt_typ_sz);      
       } /* end loop over var_lmn */
     }else{
       /* Variable (and therefore wgt_out) are arrays, not scalars */
-
+      
       /* Create forward and reverse mappings from variable's dimensions to weight's dimensions:
-
-      dmn_var_map[i] is number of elements between one value of i_th 
-      dimension of variable and next value of i_th dimension, i.e., 
-      number of elements in memory between indicial increments in i_th dimension. 
-      This is computed as product of one (1) times size of all dimensions (if any) after i_th 
-      dimension in variable.
-
-      dmn_wgt_map[i] contains analogous information, except for original weight variable
-
-      idx_wgt_var[i] contains index into variable's dimensions of i_th dimension of original weight
-      idx_var_wgt[i] contains index into original weight's dimensions of i_th dimension of variable 
-
-      Since weight is a subset of variable, some elements of idx_var_wgt may be "empty", or unused
-
-      Since mapping arrays (dmn_var_map and dmn_wgt_map) are ultimately used for a
-      memcpy() operation, they could (read: should) be computed as byte offsets, not type offsets. 
-      This is why netCDF generic hyperslab routines (ncvarputg(), ncvargetg())
-      request imap vector to specify offset (imap) vector in bytes. */
+	 
+	 dmn_var_map[i] is number of elements between one value of i_th 
+	 dimension of variable and next value of i_th dimension, i.e., 
+	 number of elements in memory between indicial increments in i_th dimension. 
+	 This is computed as product of one (1) times size of all dimensions (if any) after i_th 
+	 dimension in variable.
+	 
+	 dmn_wgt_map[i] contains analogous information, except for original weight variable
+	 
+	 idx_wgt_var[i] contains index into variable's dimensions of i_th dimension of original weight
+	 idx_var_wgt[i] contains index into original weight's dimensions of i_th dimension of variable 
+	 
+	 Since weight is a subset of variable, some elements of idx_var_wgt may be "empty", or unused
+	 
+	 Since mapping arrays (dmn_var_map and dmn_wgt_map) are ultimately used for a
+	 memcpy() operation, they could (read: should) be computed as byte offsets, not type offsets. 
+	 This is why netCDF generic hyperslab routines (ncvarputg(), ncvargetg())
+	 request imap vector to specify offset (imap) vector in bytes. */
 
       for(idx=0;idx<wgt->nbr_dim;idx++){
         for(idx_dmn=0;idx_dmn<var->nbr_dim;idx_dmn++){
@@ -295,32 +295,32 @@ nco_var_cnf_dmn /* [fnc] Stretch second variable to match dimensions of first va
       for(var_lmn=0;var_lmn<var_sz;var_lmn++){
         /* dmn_ss are corresponding indices (subscripts) into N-D array */
         /* Operations: 1 modulo, 1 pointer offset, 1 user memory fetch
-        Repetitions: \lmnnbr
-        Total Counts: \rthnbr=2\lmnnbr, \mmrusrnbr=\lmnnbr
-        NB: LHS assumed compact and cached, counted RHS offsets and fetches only */
+	   Repetitions: \lmnnbr
+	   Total Counts: \rthnbr=2\lmnnbr, \mmrusrnbr=\lmnnbr
+	   NB: LHS assumed compact and cached, counted RHS offsets and fetches only */
         dmn_ss[var_nbr_dmn_m1]=var_lmn%var_cnt[var_nbr_dmn_m1];
         for(idx=0;idx<var_nbr_dmn_m1;idx++){
           /* Operations: 1 divide, 1 modulo, 2 pointer offset, 2 user memory fetch
-          Repetitions: \lmnnbr(\dmnnbr-1)
-          Counts: \rthnbr=4\lmnnbr(\dmnnbr-1), \mmrusrnbr=2\lmnnbr(\dmnnbr-1)
-          NB: LHS assumed compact and cached, counted RHS offsets and fetches only
-          NB: Neglected loop arithmetic/compare */
+	     Repetitions: \lmnnbr(\dmnnbr-1)
+	     Counts: \rthnbr=4\lmnnbr(\dmnnbr-1), \mmrusrnbr=2\lmnnbr(\dmnnbr-1)
+	     NB: LHS assumed compact and cached, counted RHS offsets and fetches only
+	     NB: Neglected loop arithmetic/compare */
           dmn_ss[idx]=(long int)(var_lmn/dmn_var_map[idx]);
           dmn_ss[idx]%=var_cnt[idx];
         } /* end loop over dimensions */
-
+	
         /* Map (shared) N-D array indices into 1-D index into original weight data */
         wgt_lmn=0L;
         /* Operations: 1 add, 1 multiply, 3 pointer offset, 3 user memory fetch
-        Repetitions: \lmnnbr\rnkwgt
-        Counts: \rthnbr=5\lmnnbr\rnkwgt, \mmrusrnbr=3\lmnnbr\rnkwgt */
+	   Repetitions: \lmnnbr\rnkwgt
+	   Counts: \rthnbr=5\lmnnbr\rnkwgt, \mmrusrnbr=3\lmnnbr\rnkwgt */
         for(idx=0;idx<wgt_nbr_dim;idx++) wgt_lmn+=dmn_ss[idx_wgt_var[idx]]*dmn_wgt_map[idx];
-
+	
         /* Operations: 2 add, 2 multiply, 0 pointer offset, 1 system memory copy
-        Repetitions: \lmnnbr
-        Counts: \rthnbr=4\lmnnbr, \mmrusrnbr=0, \mmrsysnbr=1 */
+	   Repetitions: \lmnnbr
+	   Counts: \rthnbr=4\lmnnbr, \mmrusrnbr=0, \mmrsysnbr=1 */
         (void)memcpy(wgt_out_cp+var_lmn*wgt_typ_sz,wgt_cp+wgt_lmn*wgt_typ_sz,wgt_typ_sz);
-
+	
       } /* end loop over var_lmn */
 
     } /* end if variable (and weight) are arrays, not scalars */
@@ -392,73 +392,73 @@ nco_var_dmn_rdr_mtd /* [fnc] Change dimension ordering of variable metadata */
  nco_bool * const dmn_rvr_in) /* O [idx] Reverse dimension */
 {
   /* Purpose: Re-order dimensions in a given variable
-  dmn_rdr contains new dimension order for dimensions
-  Currently routine allows only dimension permutations, i.e., 
-  re-arranging dimensions without changing their number (variable rank).
-
-  Routine keeps track of two variables var_* whose abbreviations are:
-  in: Input variable (already hyperslabbed) with old dimension ordering
-  rdr: User-specified re-ordered dimension list. Possibly subset of dmn_in
-  out: Output (re-ordered) dimensionality specific to each variable
-
-  At first it seemed this routine could re-order input variable in place without copying it
-  Multiple constraints keep this from being practical
-  Constraints are dictated by the architectural decision to call nco_var_dmn_rdr_mtd() twice
-  Decision to call nco_var_dmn_rdr_mtd() twice is based on:
-  1. Want to parallelize loop over variables to increase throughput
-  Parallel writes to output file only possible if output file is defined in shape, order
-  Output file only definable once variable shapes, i.e., re-ordered dimensions known
-  Alternatives to calling nco_var_dmn_rdr_mtd() twice:
-  A. Each thread enters redefine() mode and adds its variable to output file
-  Internal data re-copying would be expensive and unnecessary
-  Hence Alternative A is not viable
-  B. Perform output file definition and all writes after all variable re-ordering
-  Memory consumption would increase to O(fl_in_sz) to keep all re-ordered data in memory
-  Hence Alternative B is not viable
-  2. The two calls to nco_var_dmn_rdr_mtd() accomplish the following
-  A. First call: Create var_out->dim for call to nco_var_dfn() 
-  Main thread makes first call in serial mode just prior to nco_var_dfn() 
-  No input data (AOT metadata) have been allocated or read in at this point
-  Routine exits after modifying var_out metadata for new dimension geometry
-  B. Second call: Re-order var_in->val data and place in var_out
-  Although var_out->dmn is retained between calls, intermediate information such as
-  in_out dimension mapping arrays are lost and must be re-created
-  Hence second call must re-do most of first call, then begin re-ordering
-  Routine must access un-touched var_in->dim input structure during both parts of second call
-  Hence var_in must be unmodified between first and second call
-
-  dmn_rdr is user-specified list of dimensions to be re-arranged 
-  User specifies all or only a subset of all dimensions in input file
-  For example, say user specifies -d lat,lon
-  This ensures lat precedes lon in all variables in output file
-  In this case dmn_rdr is (user-specified) list [lat,lon]
-  Input 0-D variables dimensioned [] output with dmn_out=[] (unaltered)
-  Input 1-D variables dimensioned [lat] output with dmn_out=[lat] (unaltered)
-  Input 2-D variables dimensioned [lat,lon] output with dmn_out=[lat,lon] (unaltered)
-  Input 2-D variables dimensioned [time,lev] output with dmn_out=[time,lev] (unaltered)
-  Input 2-D variables dimensioned [lon,lat] output with dmn_out=[lon,lat] (transposed)
-  Input 3-D variables dimensioned [lon,lat,time] output with dmn_out=[lat,lon,time]
-  Input 3-D variables dimensioned [time,lon,lat] output with dmn_out=[time,lat,lon]
-  Input 3-D variables dimensioned [lon,lev,lat] output with dmn_out=[lat,lev,lon]
-  Input 4-D variables dimensioned [lon,lev,lat,time] output with dmn_out=[lat,lev,lon,time]
-  Hence output dimension dmn_out list depends on each particular variable 
-  Some, or even all, dimensions in dmn_rdr may not be in dmn_in
-  Re-ordering is only necessary for variables where dmn_in and dmn_rdr share at least two dimensions
-
-  Dimension reversal:
-  Users specify dimension reversal by prefixing dimension name with negative sign
-  Host routine passes dimension reversing flags in dmn_rvr_rdr
-  Dimensions may be re-ordered, reversed, or both */
-
+     dmn_rdr contains new dimension order for dimensions
+     Currently routine allows only dimension permutations, i.e., 
+     re-arranging dimensions without changing their number (variable rank).
+     
+     Routine keeps track of two variables var_* whose abbreviations are:
+     in: Input variable (already hyperslabbed) with old dimension ordering
+     rdr: User-specified re-ordered dimension list. Possibly subset of dmn_in
+     out: Output (re-ordered) dimensionality specific to each variable
+     
+     At first it seemed this routine could re-order input variable in place without copying it
+     Multiple constraints keep this from being practical
+     Constraints are dictated by the architectural decision to call nco_var_dmn_rdr_mtd() twice
+     Decision to call nco_var_dmn_rdr_mtd() twice is based on:
+     1. Want to parallelize loop over variables to increase throughput
+     Parallel writes to output file only possible if output file is defined in shape, order
+     Output file only definable once variable shapes, i.e., re-ordered dimensions known
+     Alternatives to calling nco_var_dmn_rdr_mtd() twice:
+     A. Each thread enters redefine() mode and adds its variable to output file
+     Internal data re-copying would be expensive and unnecessary
+     Hence Alternative A is not viable
+     B. Perform output file definition and all writes after all variable re-ordering
+     Memory consumption would increase to O(fl_in_sz) to keep all re-ordered data in memory
+     Hence Alternative B is not viable
+     2. The two calls to nco_var_dmn_rdr_mtd() accomplish the following
+     A. First call: Create var_out->dim for call to nco_var_dfn() 
+     Main thread makes first call in serial mode just prior to nco_var_dfn() 
+     No input data (AOT metadata) have been allocated or read in at this point
+     Routine exits after modifying var_out metadata for new dimension geometry
+     B. Second call: Re-order var_in->val data and place in var_out
+     Although var_out->dmn is retained between calls, intermediate information such as
+     in_out dimension mapping arrays are lost and must be re-created
+     Hence second call must re-do most of first call, then begin re-ordering
+     Routine must access un-touched var_in->dim input structure during both parts of second call
+     Hence var_in must be unmodified between first and second call
+     
+     dmn_rdr is user-specified list of dimensions to be re-arranged 
+     User specifies all or only a subset of all dimensions in input file
+     For example, say user specifies -d lat,lon
+     This ensures lat precedes lon in all variables in output file
+     In this case dmn_rdr is (user-specified) list [lat,lon]
+     Input 0-D variables dimensioned [] output with dmn_out=[] (unaltered)
+     Input 1-D variables dimensioned [lat] output with dmn_out=[lat] (unaltered)
+     Input 2-D variables dimensioned [lat,lon] output with dmn_out=[lat,lon] (unaltered)
+     Input 2-D variables dimensioned [time,lev] output with dmn_out=[time,lev] (unaltered)
+     Input 2-D variables dimensioned [lon,lat] output with dmn_out=[lon,lat] (transposed)
+     Input 3-D variables dimensioned [lon,lat,time] output with dmn_out=[lat,lon,time]
+     Input 3-D variables dimensioned [time,lon,lat] output with dmn_out=[time,lat,lon]
+     Input 3-D variables dimensioned [lon,lev,lat] output with dmn_out=[lat,lev,lon]
+     Input 4-D variables dimensioned [lon,lev,lat,time] output with dmn_out=[lat,lev,lon,time]
+     Hence output dimension dmn_out list depends on each particular variable 
+     Some, or even all, dimensions in dmn_rdr may not be in dmn_in
+     Re-ordering is only necessary for variables where dmn_in and dmn_rdr share at least two dimensions
+     
+     Dimension reversal:
+     Users specify dimension reversal by prefixing dimension name with negative sign
+     Host routine passes dimension reversing flags in dmn_rvr_rdr
+     Dimensions may be re-ordered, reversed, or both */
+  
   /* 20070509 CEWI RUVICFFU: dmn_idx_rdr_in */
-
+  
   const char fnc_nm[]="nco_var_dmn_rdr_mtd()"; /* [sng] Function name */
-
+  
   char *rec_dmn_nm_out=NULL; /* [sng] Name of record dimension, if any, required by re-order */
-
+  
   dmn_sct **dmn_in=NULL; /* [sct] List of dimension structures in input order */
   dmn_sct **dmn_out; /* [sct] List of dimension structures in output order */
-
+  
   int dmn_idx_in_shr[NC_MAX_DIMS]; /* [idx] Dimension correspondence, input->share Purely diagnostic */
   int dmn_idx_in_out[NC_MAX_DIMS]; /* [idx] Dimension correspondence, input->output */
   int dmn_idx_in_rdr[NC_MAX_DIMS]; /* [idx] Dimension correspondence, input->re-order NB: Purely diagnostic */
@@ -474,13 +474,13 @@ nco_var_dmn_rdr_mtd /* [fnc] Change dimension ordering of variable metadata */
   int dmn_rdr_idx; /* [idx] Counting index for dmn_rdr */
   int dmn_shr_idx; /* [idx] Counting index for dmn_shr */
   int idx_err=-99999; /* [idx] Invalid index for debugging */
-
+  
   /* Initialize variables to reduce indirection */
   /* NB: Number of input and output dimensions are equal for pure re-orders
-  However, keep dimension numbers in separate variables to ease relax this rule in future */
+     However, keep dimension numbers in separate variables to ease relax this rule in future */
   dmn_in_nbr=var_in->nbr_dim;
   dmn_out_nbr=var_out->nbr_dim;
-
+  
   /* Initialize dimension maps to missing_value to aid debugging */
   for(dmn_out_idx=0;dmn_out_idx<dmn_out_nbr;dmn_out_idx++)
     dmn_idx_out_in[dmn_out_idx]=idx_err;
@@ -491,29 +491,29 @@ nco_var_dmn_rdr_mtd /* [fnc] Change dimension ordering of variable metadata */
     dmn_idx_shr_in[dmn_in_idx]=idx_err; /* fxm: initialize up to dmn_shr_nbr which is currently unknown */
     dmn_idx_shr_out[dmn_in_idx]=idx_err; /* fxm: initialize up to dmn_shr_nbr which is currently unknown */
   } /* end loop over dmn_in */
-
+  
   /* Initialize default correspondence and record dimension in case early return desired */
   if(var_out->is_rec_var) rec_dmn_nm_out=var_in->dim[0]->nm; /* 20130613: if netCDF3 _only_! */
   for(dmn_in_idx=0;dmn_in_idx<dmn_in_nbr;dmn_in_idx++){
     dmn_idx_out_in[dmn_in_idx]=dmn_in_idx;
     dmn_rvr_in[dmn_in_idx]=False;
   } /* end if */
-
+  
   /* Scalars are never altered by dimension re-ordering or reversal */
   if(dmn_in_nbr < 1) return rec_dmn_nm_out;
-
+  
   /* On entry to this section of code, we assume:
-  1. var_out duplicates var_in */
-
+     1. var_out duplicates var_in */
+  
   /* Create complete 1-to-1 ordered list of dimensions in new output variable */
   /* For each dimension in re-ordered dimension list... */
   for(dmn_rdr_idx=0;dmn_rdr_idx<dmn_rdr_nbr;dmn_rdr_idx++){
     /* ...see if re-order dimension exists in dmn_in dimension list... */
     for(dmn_in_idx=0;dmn_in_idx<dmn_in_nbr;dmn_in_idx++){
-
+      
       /* ...must compare by dimension IDs ...dimensions can have same names  */
       if(var_in->dim[dmn_in_idx]->id == dmn_rdr[dmn_rdr_idx]->id){
-
+	
         dmn_idx_in_rdr[dmn_in_idx]=dmn_rdr_idx;
         dmn_idx_shr_rdr[dmn_shr_nbr]=dmn_rdr_idx;
         dmn_idx_shr_in[dmn_shr_nbr]=dmn_in_idx;
@@ -523,29 +523,29 @@ nco_var_dmn_rdr_mtd /* [fnc] Change dimension ordering of variable metadata */
       } /* endif */
     } /* end loop over dmn_in */
   } /* end loop over dmn_rdr */
-
+  
   /* Map permanent list of reversed dimensions to input variable */
   for(dmn_shr_idx=0;dmn_shr_idx<dmn_shr_nbr;dmn_shr_idx++){
     dmn_rvr_in[dmn_idx_shr_in[dmn_shr_idx]]=dmn_rvr_rdr[dmn_idx_shr_rdr[dmn_shr_idx]];
   }
-
+  
   /* No dimension re-ordering is necessary if dmn_in and dmn_rdr share fewer than two dimensions
-  Dimension reversal must be done with even one shared dimension
-  Single dimension reversal, however, uses default dimension maps and return values */
+     Dimension reversal must be done with even one shared dimension
+     Single dimension reversal, however, uses default dimension maps and return values */
   if(dmn_shr_nbr < 2) return rec_dmn_nm_out;
-
+  
   /* dmn_idx_shr_out is sorted version of dmn_idx_shr_in */
   (void)memcpy((void *)(dmn_idx_shr_out),(void *)(dmn_idx_shr_in),dmn_shr_nbr*sizeof(dmn_idx_shr_in[0]));
   qsort(dmn_idx_shr_out,(size_t)dmn_shr_nbr,sizeof(dmn_idx_shr_out[0]),nco_cmp_int);
-
+  
   /* Initialize final map to no re-ordering */
   for(dmn_in_idx=0;dmn_in_idx<dmn_in_nbr;dmn_in_idx++) 
     dmn_idx_in_out[dmn_in_idx]=dmn_in_idx;
-
+  
   /* Splice-in re-ordered dimension location for each shared dimension */
   for(dmn_shr_idx=0;dmn_shr_idx<dmn_shr_nbr;dmn_shr_idx++)
     dmn_idx_in_out[dmn_idx_shr_in[dmn_shr_idx]]=dmn_idx_shr_out[dmn_shr_idx];
-
+  
   if(nco_dbg_lvl_get() > nco_dbg_scl){
     (void)fprintf(stdout,"%s: DEBUG %s variable %s shares %d of its %d dimensions with the %d dimensions in the re-order list\n",nco_prg_nm_get(),fnc_nm,var_in->nm,dmn_shr_nbr,var_in->nbr_dim,dmn_rdr_nbr);
     (void)fprintf(stdout,"shr_idx\tshr_rdr\tshr_in\tshr_out\n");
@@ -563,43 +563,43 @@ nco_var_dmn_rdr_mtd /* [fnc] Change dimension ordering of variable metadata */
   /* Create full dmn_out list */
   dmn_in=var_in->dim;
   dmn_out=(dmn_sct **)nco_malloc(dmn_out_nbr*sizeof(dmn_sct *));
-
+  
   /* Assign dimension structures to new dimension list in correct order
-  Remember: dmn_in has dimension IDs relative to input file 
-  Copy dmn_in->xrf to get dimension IDs relative to output file (once they are defined) 
-  Oh come on, it only seems like cheating! */
+     Remember: dmn_in has dimension IDs relative to input file 
+     Copy dmn_in->xrf to get dimension IDs relative to output file (once they are defined) 
+     Oh come on, it only seems like cheating! */
   for(dmn_out_idx=0;dmn_out_idx<dmn_out_nbr;dmn_out_idx++){
     dmn_out[dmn_out_idx]=dmn_in[dmn_idx_out_in[dmn_out_idx]]->xrf;
   }
-
+  
   /* Re-ordered output dimension list dmn_out now comprises correctly ordered but 
-  otherwise verbatim copies of dmn_out structures in calling routine */
-
+     otherwise verbatim copies of dmn_out structures in calling routine */
+  
   /* Free var_out's old dimension list */
   var_out->dim=(dmn_sct **)nco_free(var_out->dim);
   /* Replace old with new dimension list */
   var_out->dim=dmn_out;
-
+  
   /* NB: var_out is now in an inconsistent state 
-  var_out->dim refers to re-ordered dimensions 
-  However, var_out->dmn_id,cnt,srt,end,srd refer still duplicate var_in members
-  They refer to old dimension ordering in input file
-  nco_cnf_dmn_rdr_mtd() implicitly assumes that only nco_cnf_dmn_rdr_mtd() modifies var_out 
-  Call to nco_cnf_dmn_rdr_val() for this variable performs actual re-ordering
-  The interim inconsistent state is required for dimension IDs because 
-  output dimension IDs are not known until nco_dmn_dfn() which cannot 
-  (or, at least, should not) occur until output record dimension is known.
-  Interim modifications of var_out by any other routine are dangerous! */
-
+     var_out->dim refers to re-ordered dimensions 
+     However, var_out->dmn_id,cnt,srt,end,srd refer still duplicate var_in members
+     They refer to old dimension ordering in input file
+     nco_cnf_dmn_rdr_mtd() implicitly assumes that only nco_cnf_dmn_rdr_mtd() modifies var_out 
+     Call to nco_cnf_dmn_rdr_val() for this variable performs actual re-ordering
+     The interim inconsistent state is required for dimension IDs because 
+     output dimension IDs are not known until nco_dmn_dfn() which cannot 
+     (or, at least, should not) occur until output record dimension is known.
+     Interim modifications of var_out by any other routine are dangerous! */
+  
   /* This is clear at date written (20040727), but memories are short
-  Hence we modify var_out->dmn_id,cnt,srt,end,srd to contain re-ordered values now
-  This makes it safer to var_out->dmn_id,cnt,srt,end,srd before second call to nco_cnf_dmn_rdr()
-  If dmn_out->id does depend on record dimension identity, then this update will do no good
-  Hence, we must re-update dmn_out->id after nco_dmn_dfn() in nco_cnf_dmn_rdr_val()
-  Structures should be completely consistent at that point
-  Not updating these structures (at least dmn_out->id) is equivalent to assuming that
-  dmn_out->id does not depend on record dimension identity, which is an ASSUMPTION
-  that may currently be true, but netCDF API does not guarantee as always true. */
+     Hence we modify var_out->dmn_id,cnt,srt,end,srd to contain re-ordered values now
+     This makes it safer to var_out->dmn_id,cnt,srt,end,srd before second call to nco_cnf_dmn_rdr()
+     If dmn_out->id does depend on record dimension identity, then this update will do no good
+     Hence, we must re-update dmn_out->id after nco_dmn_dfn() in nco_cnf_dmn_rdr_val()
+     Structures should be completely consistent at that point
+     Not updating these structures (at least dmn_out->id) is equivalent to assuming that
+     dmn_out->id does not depend on record dimension identity, which is an ASSUMPTION
+     that may currently be true, but netCDF API does not guarantee as always true. */
   for(dmn_out_idx=0;dmn_out_idx<dmn_out_nbr;dmn_out_idx++){
     /* NB: Change dmn_id,cnt,srt,end,srd together to minimize chances of forgetting one */
     var_out->dmn_id[dmn_out_idx]=dmn_out[dmn_out_idx]->id;
@@ -608,14 +608,12 @@ nco_var_dmn_rdr_mtd /* [fnc] Change dimension ordering of variable metadata */
     var_out->end[dmn_out_idx]=dmn_out[dmn_out_idx]->end;
     var_out->srd[dmn_out_idx]=dmn_out[dmn_out_idx]->srd;
   } /* end loop over dmn_out */
-
-
+  
   if(var_out->is_rec_var){
     /* Which dimension in output dimension list is scheduled to be record dimension? */
     for(dmn_out_idx=0;dmn_out_idx<dmn_out_nbr;dmn_out_idx++)
-      if(dmn_out[dmn_out_idx]->is_rec_dmn){
-        break;
-      }
+      if(dmn_out[dmn_out_idx]->is_rec_dmn) break;
+
     if(dmn_out_idx != dmn_out_nbr){
       dmn_idx_rec_out=dmn_out_idx;
       /* Request that first dimension be record dimension */
@@ -623,15 +621,15 @@ nco_var_dmn_rdr_mtd /* [fnc] Change dimension ordering of variable metadata */
       if(nco_dbg_lvl_get() >= nco_dbg_scl && dmn_idx_rec_out != 0) (void)fprintf(stdout,"%s: INFO %s for variable %s reports old input record dimension %s is now ordinal dimension %d, new record dimension must be %s\n",nco_prg_nm_get(),fnc_nm,var_in->nm,dmn_out[dmn_idx_rec_out]->nm,dmn_idx_rec_out,dmn_out[0]->nm);
     }else{
       /* 20121009: 
-      This block only reached by variables that will change from record in input file to fixed in output file
-      Leave is_rec_var as True here for those variables
-      Change is_rec_var to false in "if(REDEFINED_RECORD_DIMENSION)" block of ncpdq.c instead
-      Yes, this leaves the metadata in an inconsistent state 
-      However, changing all these flags in one place in ncpdq.c main() is clearer */
+	 This block only reached by variables that will change from record in input file to fixed in output file
+	 Leave is_rec_var as True here for those variables
+	 Change is_rec_var to false in "if(REDEFINED_RECORD_DIMENSION)" block of ncpdq.c instead
+	 Yes, this leaves the metadata in an inconsistent state 
+	 However, changing all these flags in one place in ncpdq.c main() is clearer */
       ;
     } /* end else */
   } /* endif record variable */
-
+  
   if(nco_dbg_lvl_get() > nco_dbg_var){
     for(dmn_in_idx=0;dmn_in_idx<dmn_in_nbr;dmn_in_idx++)
       (void)fprintf(stdout,"%s: DEBUG %s variable %s re-order maps dimension %s from (ordinal,ID)=(%d,%d) to (%d,unknown)\n",nco_prg_nm_get(),fnc_nm,var_in->nm,var_in->dim[dmn_in_idx]->nm,dmn_in_idx,var_in->dmn_id[dmn_in_idx],dmn_idx_in_out[dmn_in_idx]);
diff --git a/src/nco/nco_cnf_dmn.h b/src/nco/nco_cnf_dmn.h
index b71b505..37c20a8 100644
--- a/src/nco/nco_cnf_dmn.h
+++ b/src/nco/nco_cnf_dmn.h
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_cnf_dmn.h,v 1.38 2013/01/13 06:07:47 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_cnf_dmn.h,v 1.39 2013/12/31 05:14:01 zender Exp $ */
 
 /* Purpose: Conform dimensions */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco/nco_cnf_typ.c b/src/nco/nco_cnf_typ.c
index 8b81929..a6d2c26 100644
--- a/src/nco/nco_cnf_typ.c
+++ b/src/nco/nco_cnf_typ.c
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_cnf_typ.c,v 1.73 2013/12/02 01:05:56 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_cnf_typ.c,v 1.76 2014/02/19 21:36:44 pvicente Exp $ */
 
 /* Purpose: Conform variable types */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -197,8 +197,8 @@ nco_cnv_mss_val_typ  /* [fnc] Convert missing_value, if any, to mss_val_out_typ
   if(!var->has_mss_val || var_in_typ == mss_val_out_typ) return var; 
 
   /* Simple error-checking and diagnostics */
-  if(nco_dbg_lvl_get() >= nco_dbg_scl){
-    (void)fprintf(stdout,"%s: DEBUG %s NCO_MSS_VAL_SNG attribute of variable %s from type %s to type %s\n",nco_prg_nm_get(),mss_val_out_typ > var_in_typ ? "Promoting" : "Demoting",var->nm,nco_typ_sng(var_in_typ),nco_typ_sng(mss_val_out_typ));
+  if(nco_dbg_lvl_get() >= nco_dbg_scl && nco_dbg_lvl_get() != nco_dbg_dev){
+    (void)fprintf(stdout,"%s: %s NCO_MSS_VAL_SNG attribute of variable %s from type %s to type %s\n",nco_prg_nm_get(),mss_val_out_typ > var_in_typ ? "Promoting" : "Demoting",var->nm,nco_typ_sng(var_in_typ),nco_typ_sng(mss_val_out_typ));
   } /* end if */
   
   /* Sequence of following commands is important (copy before overwriting!) */
@@ -262,7 +262,7 @@ nco_var_cnf_typ /* [fnc] Return copy of input variable typecast to desired type
   
   /* Simple error-checking and diagnostics */
   if(nco_dbg_lvl_get() >= nco_dbg_scl && nco_dbg_lvl_get() != nco_dbg_dev){
-    (void)fprintf(stdout,"%s: DEBUG %s variable %s from type %s to type %s\n",nco_prg_nm_get(),var_out_typ > var_in_typ ? "Promoting" : "Demoting",var_in->nm,nco_typ_sng(var_in_typ),nco_typ_sng(var_out_typ));
+    (void)fprintf(stdout,"%s: %s variable %s from type %s to type %s\n",nco_prg_nm_get(),var_out_typ > var_in_typ ? "Promoting" : "Demoting",var_in->nm,nco_typ_sng(var_in_typ),nco_typ_sng(var_out_typ));
   } /* end if */
   
   /* Move current variable values to swap location */
@@ -570,8 +570,8 @@ nco_var_cnf_typ_tst /* [fnc] Return copy of input variable typecast to desired t
   var_in_typ=var_in->type;
   
   /* Simple error-checking and diagnostics */
-  if(nco_dbg_lvl_get() >= nco_dbg_scl){
-    (void)fprintf(stdout,"%s: DEBUG %s variable %s from type %s to type %s\n",nco_prg_nm_get(),var_out_typ > var_in_typ ? "Promoting" : "Demoting",var_in->nm,nco_typ_sng(var_in_typ),nco_typ_sng(var_out_typ));
+  if(nco_dbg_lvl_get() >= nco_dbg_scl && nco_dbg_lvl_get() != nco_dbg_dev){
+    (void)fprintf(stdout,"%s: %s variable %s from type %s to type %s\n",nco_prg_nm_get(),var_out_typ > var_in_typ ? "Promoting" : "Demoting",var_in->nm,nco_typ_sng(var_in_typ),nco_typ_sng(var_out_typ));
   } /* end if */
   
   /* Move current variable values to swap location */
@@ -1251,7 +1251,7 @@ nco_scv_cnf_typ /* [fnc] Convert scalar attribute to typ_new using C implicit co
 
 nco_bool /* O [flg] Input is signed type */
 nco_typ_sgn /* [fnc] Identify signed types */
-(nc_type typ_in) /* I [enm] Type to check for signedness */
+(const nc_type typ_in) /* I [enm] Type to check for signedness */
 {
   nco_bool flg_sgn=True; /* CEWI */
 
@@ -1278,6 +1278,62 @@ nco_typ_sgn /* [fnc] Identify signed types */
   return flg_sgn;
 } /* end nco_typ_sgn */
 
+nco_bool /* O [flg] Input is netCDF3 atomic type */
+nco_typ_nc3 /* [fnc] Identify netCDF3 atomic types */
+(nc_type typ_in) /* I [enm] Type to check netCDF3 compliance */
+{
+  nco_bool flg_nc3=True; /* CEWI */
+
+  switch(typ_in){
+  case NC_FLOAT: 
+  case NC_DOUBLE: 
+  case NC_INT: 
+  case NC_SHORT: 
+  case NC_BYTE: 
+  case NC_CHAR: 
+    flg_nc3=True;
+    break;       
+  case NC_STRING: 
+  case NC_INT64: 
+  case NC_UBYTE: 
+  case NC_USHORT:
+  case NC_UINT:
+  case NC_UINT64:
+    flg_nc3=False;
+    break;
+  case NC_NAT: 
+  default: nco_dfl_case_nc_type_err(); break;
+  } /* end switch */
+  return flg_nc3;
+} /* end nco_typ_nc3 */
+
+nc_type /* O [enm] netCDF3 type */
+nco_typ_nc4_nc3 /* [fnc] Convert netCDF4 to netCDF3 atomic type */
+(const nc_type typ_nc4) /* I [enm] netCDF4 type */
+{
+  /* Purpose: Perform intelligent type conversion from netCDF4->3 type */
+
+  /* Already netCDF3 type */
+  if(nco_typ_nc3(typ_nc4)) return typ_nc4;
+
+  switch(typ_nc4){
+  case NC_UBYTE:
+    return NC_SHORT;
+    break;
+  case NC_USHORT:
+  case NC_UINT:
+  case NC_INT64:
+  case NC_UINT64:
+    return NC_INT;
+    break;
+  case NC_STRING: 
+    return NC_CHAR;
+    break;
+  case NC_NAT:
+  default: nco_dfl_case_nc_type_err(); break;
+  } /* end switch */
+  return typ_nc4;
+} /* end nco_typ_nc4_nc3 */
 
 nc_type /* O [enm] Return Highest type */
 ncap_typ_hgh /* [fnc] Return Highest type */
@@ -1367,7 +1423,7 @@ ncap_var_retype /* [fnc] Promote variable to higher common precision */
 {
   /* Threads: Routine is thread safe and makes no unsafe routines */
 
-  /* Purpose: Perform intelligent type conversion with the netCDF3/4 types */
+  /* Purpose: Perform intelligent type conversion with netCDF3/4 types */
   nc_type typ_hgh;
 
   typ_hgh=ncap_typ_hgh(var_1->type,var_2->type);
@@ -1418,5 +1474,3 @@ ncap_var_scv_cnf_typ_hgh_prc /* [fnc] Promote arguments to higher precision if n
   } /* endif */
 
 } /* end ncap_var_scv_cnf_typ_hgh_prc() */
-
-
diff --git a/src/nco/nco_cnf_typ.h b/src/nco/nco_cnf_typ.h
index 45c4920..d4666c6 100644
--- a/src/nco/nco_cnf_typ.h
+++ b/src/nco/nco_cnf_typ.h
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_cnf_typ.h,v 1.40 2013/07/16 18:39:43 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_cnf_typ.h,v 1.42 2013/12/31 05:14:01 zender Exp $ */
 
 /* Purpose: Conform variable types */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -78,13 +78,11 @@ nco_scv_cnf_typ /* [fnc] Convert scalar attribute to typ_new using C implicit co
 (const nc_type typ_new, /* I [enm] Type to convert scv_old to */
  scv_sct * const scv_old); /* I/O [sct] Scalar value to convert */
 
-
 nc_type /* O [enm] Return Highest type */
 ncap_typ_hgh /* [fnc] Promote variable to higher common precision */
 (nc_type typ_1,  /* I [enm] type */
  nc_type typ_2); /* I [enm] type */
 
-
 nc_type /* O [enm] Highest precision of input variables */
 ncap_var_retype /* [fnc] Promote variable to higher common precision */
 (var_sct *var_1, /* I/O [sct] Variable */
@@ -102,7 +100,15 @@ ncap_var_scv_cnf_typ_hgh_prc /* [fnc] Promote arguments to higher precision if n
 
 nco_bool /* O [flg] Input is signed type */
 nco_typ_sgn /* [fnc] Identify signed types */
-(nc_type typ_in); /* I [enm] Type to check for signedness */
+(const nc_type typ_in); /* I [enm] Type to check for signedness */
+
+nco_bool /* O [flg] Input is netCDF3 atomic type */
+nco_typ_nc3 /* [fnc] Identify netCDF3 atomic types */
+(const nc_type typ_in); /* I [enm] Type to check netCDF3 compliance */
+
+nc_type /* O [enm] netCDF3 type */
+nco_typ_nc4_nc3 /* [fnc] Convert netCDF4 to netCDF3 atomic type */
+(const nc_type typ_nc4); /* I [enm] netCDF4 type */
 
 #ifdef __cplusplus
 } /* end extern "C" */
diff --git a/src/nco/nco_cnk.c b/src/nco/nco_cnk.c
index a720afb..031d24e 100644
--- a/src/nco/nco_cnk.c
+++ b/src/nco/nco_cnk.c
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_cnk.c,v 1.65 2013/12/02 01:05:56 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_cnk.c,v 1.119 2014/02/19 21:58:56 zender Exp $ */
 
 /* Purpose: NCO utilities for chunking */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -21,6 +21,10 @@
    ncks -O -4 -D 4 --cnk_plc=all ~/foo.nc ~/foo.nc # Chunk chunked data
    ncks -O -4 -D 4 --cnk_plc=uck ~/nco/data/in.nc ~/foo.nc # Unchunk unchunked data
 
+   ncks -O -C --cnk_plc=xst --cnk_map=xst -g g13 -v one,two,three,four -p ~/nco/data in_grp.nc ~/foo.nc
+   ncks -O -4 -C --cnk_plc=all --cnk_map=lfp ~/nco/data/in.nc ~/foo.nc
+   ncks -C -m --hdn --cdl ~/foo.nc
+
    ncecat testing:
    ncecat -O -4 -D 4 --cnk_plc=all -p ~/nco/data in.nc in.nc ~/foo.nc
    ncecat -O -4 -D 4 --cnk_plc=g2d --cnk_map=rd1 --cnk_dmn lat,64 --cnk_dmn lon,128 -p ${DATA}/dstmch90 dstmch90_clm.nc dstmch90_clm.nc ~/foo.nc
@@ -29,7 +33,13 @@
    ncwa -O -4 -D 4 -a time --cnk_plc=g2d --cnk_map=rd1 --cnk_dmn lat,32 --cnk_dmn lon,128 -p ${DATA}/dstmch90 dstmch90_clm_0112.nc ~/foo.nc
 
    Advanced Chunking:
-   http://hdfeos.org/workshops/ws13/presentations/day1/HDF5-EOSXIII-Advanced-Chunking.ppt */
+   http://hdfeos.org/workshops/ws13/presentations/day1/HDF5-EOSXIII-Advanced-Chunking.ppt
+   http://www.hdfgroup.org/HDF5/doc/H5.user/Chunking.html
+   http://www.unidata.ucar.edu/blogs/developer/en/entry/chunking_data_why_it_matters
+   http://www.unidata.ucar.edu/blogs/developer/en/entry/chunking_data_choosing_shapes
+
+   http://www.unidata.ucar.edu/software/netcdf/docs/default_chunking_4_0_1.html
+   http://www.unidata.ucar.edu/software/netcdf/docs_rc/default_chunking_4_1.html */
 
 #include "nco_cnk.h" /* Chunking */
 
@@ -49,6 +59,12 @@ nco_cnk_map_sng_get /* [fnc] Convert chunking map enum to string */
     return "scl";
   case nco_cnk_map_prd:
     return "prd";
+  case nco_cnk_map_lfp:
+    return "lfp";
+  case nco_cnk_map_xst:
+    return "xst";
+  case nco_cnk_map_rew:
+    return "rew";
   default: nco_dfl_case_cnk_map_err(); break;
   } /* end switch */
   /* Some compilers, e.g., SGI cc, need return statement to end non-void functions */
@@ -71,6 +87,8 @@ nco_cnk_plc_sng_get /* [fnc] Convert chunking policy enum to string */
     return "g3d";
   case nco_cnk_plc_xpl: 
     return "xpl";
+  case nco_cnk_plc_xst:
+    return "xst";
   case nco_cnk_plc_uck:
     return "uck";
   default: nco_dfl_case_cnk_plc_err(); break;
@@ -105,12 +123,79 @@ nco_dfl_case_cnk_plc_err(void) /* [fnc] Print error and exit for illegal switch(
   nco_err_exit(0,fnc_nm);
 } /* end nco_dfl_case_cnk_plc_err() */
 
-cnk_sct ** /* O [sct] Structure list with user-specified chunking information */
+int /* [rcd] Return code */
+nco_cnk_ini /* [fnc] Create structure with all chunking information */
+(const char * const fl_out, /* I [sng] Output filename */
+ CST_X_PTR_CST_PTR_CST_Y(char,cnk_arg), /* I [sng] List of user-specified chunksizes */
+ const int cnk_nbr, /* I [nbr] Number of chunksizes specified */
+ const int cnk_map, /* I [enm] Chunking map */
+ const int cnk_plc, /* I [enm] Chunking policy */
+ const size_t cnk_sz_byt, /* I [B] Chunk size in bytes */
+ const size_t cnk_sz_scl, /* I [nbr] Chunk size scalar */
+ cnk_sct * const cnk) /* O [sct] Chunking structure */
+{
+  /* Purpose: Create structure with all chunking information */
+  int rcd=0; /* [enm] Return code  */
+
+  size_t fl_sys_blk_sz=0UL; /* [nbr] File system blocksize for I/O */
+
+  /* Initialize */
+  cnk->flg_usr_rqs=False;
+  cnk->cnk_dmn=NULL_CEWI;
+  cnk->cnk_nbr=cnk_nbr;
+  cnk->cnk_map=cnk_map;
+  cnk->cnk_plc=cnk_plc;
+  cnk->cnk_sz_scl=cnk_sz_scl;
+  cnk->cnk_sz_byt=cnk_sz_byt; /* For now, let cnk_sz_scl play double duty */
+
+  /* Did user explicitly request chunking? */
+  if(cnk_nbr > 0 || cnk_sz_byt > 0UL || cnk_sz_scl > 0UL || cnk_map != nco_cnk_map_nil || cnk_plc != nco_cnk_plc_nil) cnk->flg_usr_rqs=True;
+
+  /* Chunks are atomic unit of HDF5 read/write
+     Variables are compressed and check-summed one chunk at-a-time
+     Set NCO_CNK_SZ_BYT_DFL to system blocksize, if known
+     Setting chunksize equal to system blocksize thought to minimize disk head movement, be most efficient 
+     Blocksize is related to default buffer; check this with
+     ncks -O -4 -D 6 -v one ~/nco/data/in.nc ~/foo.nc
+     Buffer is at least twice and sometimes sixteen times Blocksize:
+
+                         Blocksize Buffer
+     Linux default            4096 8192
+     Yellowstone /home       32768 524288
+     Yellowstong /glade     131072 524288
+     Yellowstong /tmp         4096 524288 <-- probably hardcoded default not actual blocksize reported */
+
+  /* Discover blocksize if possible */
+  fl_sys_blk_sz=nco_fl_blocksize(fl_out);
+
+  /* Linux default blocksize is 4096 B */
+#define NCO_CNK_SZ_BYT_DFL 4096
+  if(cnk_sz_byt > 0ULL){
+    /* Use user-specified chunk size if available */
+    cnk->cnk_sz_byt=cnk_sz_byt;
+  }else{
+    /* Otherwise use filesystem blocksize if valid, otherwise use Linux default */
+    cnk->cnk_sz_byt= (fl_sys_blk_sz > 0ULL) ? fl_sys_blk_sz : NCO_CNK_SZ_BYT_DFL;
+  } /* end else */
+    
+  if(cnk_sz_byt <= 0ULL) cnk->cnk_sz_byt=NCO_CNK_SZ_BYT_DFL;
+
+  /* Make uniform list of user-specified per-dimension chunksizes */
+  if(cnk->cnk_nbr > 0) cnk->cnk_dmn=nco_cnk_prs(cnk_nbr,cnk_arg);
+
+  /* Set actual chunk policy and map to defaults as necessary */
+  if(cnk_map == nco_cnk_map_nil) cnk->cnk_map=nco_cnk_map_get((char *)NULL);
+  if(cnk_plc == nco_cnk_plc_nil) cnk->cnk_plc=nco_cnk_plc_get((char *)NULL);
+
+  return rcd;
+} /* end nco_cnk_ini() */
+
+cnk_dmn_sct ** /* O [sct] Structure list with user-specified per-dimension chunking information */
 nco_cnk_prs /* [fnc] Create chunking structures with name and chunksize elements */
 (const int cnk_nbr, /* I [nbr] Number of chunksizes specified */
  CST_X_PTR_CST_PTR_CST_Y(char,cnk_arg)) /* I [sng] List of user-specified chunksizes */
 {
-  /* Purpose: Determine name and chunksize elements from user arguments
+  /* Purpose: Determine name and per-dimension chunksize elements from user arguments
      Routine merely evaluates syntax of input expressions and does not 
      attempt to validate dimensions or chunksizes against input file.
      Routine based on nco_lmt_prs() */
@@ -124,12 +209,12 @@ nco_cnk_prs /* [fnc] Create chunking structures with name and chunksize elements
   
   const char dlm_sng[]=",";
   
-  cnk_sct **cnk=NULL_CEWI;
+  cnk_dmn_sct **cnk_dmn=NULL_CEWI;
   
   int idx;
   int arg_nbr;
   
-  if(cnk_nbr > 0) cnk=(cnk_sct **)nco_malloc(cnk_nbr*sizeof(cnk_sct *));
+  if(cnk_nbr > 0) cnk_dmn=(cnk_dmn_sct **)nco_malloc(cnk_nbr*sizeof(cnk_dmn_sct *));
   for(idx=0;idx<cnk_nbr;idx++){
     /* Process chunksize specifications as normal text list */
     /* fxm: probably need to free arg_lst sometime... */
@@ -151,64 +236,67 @@ nco_cnk_prs /* [fnc] Create chunking structures with name and chunksize elements
        Hopefully, in routines that follow, branch followed when dimension has
        all default settings specified (e.g.,"-d foo,,,,") yields same answer
        as branch for which no hyperslab along that dimension was set. */
-    cnk[idx]=(cnk_sct *)nco_malloc(sizeof(cnk_sct));
-    cnk[idx]->nm=NULL;
-    cnk[idx]->is_usr_spc_cnk=True; /* True if any part of limit is user-specified, else False */
-    
-    /* Fill-in structure */
-    cnk[idx]->nm=arg_lst[0];
+    cnk_dmn[idx]=(cnk_dmn_sct *)nco_malloc(sizeof(cnk_dmn_sct));
+    cnk_dmn[idx]->nm=NULL;
+    cnk_dmn[idx]->nm_fll=NULL;
+    cnk_dmn[idx]->is_usr_spc_cnk=True; /* True if any part of limit is user-specified, else False */
+
+    /* Parse input name into a temporary string and inquire if name is absolute or relative */
+    char *sng_tmp=arg_lst[0];
+    nco_bool is_fll_pth=nco_is_fll_pth(sng_tmp);
+    if(is_fll_pth) cnk_dmn[idx]->nm_fll=(char *)strdup(sng_tmp); else cnk_dmn[idx]->nm=(char *)strdup(sng_tmp);
+
     /* 20130711: Debian Mayhem project bug #716602 shows unsanitized input can cause core-dump _inside_ strtoul() */
-    cnk[idx]->sz=strtoul(arg_lst[1],&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
-    if(*sng_cnv_rcd) nco_sng_cnv_err(arg_lst[1],"strtoul",sng_cnv_rcd);
-    
+    cnk_dmn[idx]->sz=strtoul(arg_lst[1],&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
+    if(*sng_cnv_rcd) nco_sng_cnv_err(arg_lst[1],"strtoul",sng_cnv_rcd);   
+
     /* Free current pointer array to strings
        Strings themselves are untouched and will be free()'d with chunk structures 
        in nco_cnk_lst_free() */
     arg_lst=(char **)nco_free(arg_lst);
   } /* end loop over cnk structure list */
   
-  return cnk;
+  return cnk_dmn;
 } /* end nco_cnk_prs() */
 
-cnk_sct ** /* O [sct] Pointer to free'd structure list */
+cnk_dmn_sct ** /* O [sct] Pointer to free'd structure list */
 nco_cnk_lst_free /* [fnc] Free memory associated with chunking structure list */
-(cnk_sct **cnk_lst, /* I/O [sct] Chunking structure list to free */
+(cnk_dmn_sct **cnk_lst, /* I/O [sct] Chunking structure list to free */
  const int cnk_nbr) /* I [nbr] Number of chunking structures in list */
 {
   /* Threads: Routine is thread safe and calls no unsafe routines */
   /* Purpose: Free all memory associated with dynamically allocated chunking structure list */
   int idx;
 
-  for(idx=0;idx<cnk_nbr;idx++){
-    cnk_lst[idx]=nco_cnk_free(cnk_lst[idx]);
-  } /* end loop over idx */
+  for(idx=0;idx<cnk_nbr;idx++) 
+    cnk_lst[idx]=nco_cnk_dmn_free(cnk_lst[idx]);
 
   /* Free structure pointer last */
-  cnk_lst=(cnk_sct **)nco_free(cnk_lst);
+  cnk_lst=(cnk_dmn_sct **)nco_free(cnk_lst);
 
   return cnk_lst;
 } /* end nco_cnk_lst_free() */
 
-cnk_sct * /* O [sct] Pointer to free'd chunking structure */
-nco_cnk_free /* [fnc] Free all memory associated with chunking structure */
-(cnk_sct *cnk) /* I/O [sct] Chunking structure to free */
+cnk_dmn_sct * /* O [sct] Pointer to free'd chunking structure */
+nco_cnk_dmn_free /* [fnc] Free all memory associated with chunking structure */
+(cnk_dmn_sct *cnk_dmn) /* I/O [sct] Chunking structure to free */
 {
   /* Threads: Routine is thread safe and calls no unsafe routines */
   /* Purpose: Free all memory associated with a dynamically allocated chunking structure */
-  cnk->nm=(char *)nco_free(cnk->nm);
+  if(cnk_dmn->nm) cnk_dmn->nm=(char *)nco_free(cnk_dmn->nm);
+  if(cnk_dmn->nm_fll) cnk_dmn->nm_fll=(char *)nco_free(cnk_dmn->nm_fll);
   /* Free structure pointer last */
-  cnk=(cnk_sct *)nco_free(cnk);
+  if(cnk_dmn) cnk_dmn=(cnk_dmn_sct *)nco_free(cnk_dmn);
 
   return NULL;
-} /* end nco_cnk_free() */
+} /* end nco_cnk_dmn_free() */
 
 int /* O [enm] Chunking map */
 nco_cnk_map_get /* [fnc] Convert user-specified chunking map to key */
 (const char *nco_cnk_map_sng) /* [sng] User-specified chunking map */
 {
-  /* Purpose: Process ncpdq '-P' command line argument
-     Convert user-specified string to chunking map
-     Return nco_cnk_map_nil by default */
+  /* Purpose: Convert user-specified string to chunking map
+     Return nco_cnk_map_rd1 by default */
   const char fnc_nm[]="nco_cnk_map_get()"; /* [sng] Function name */
   char *nco_prg_nm; /* [sng] Program name */
   nco_prg_nm=nco_prg_nm_get(); /* [sng] Program name */
@@ -228,6 +316,12 @@ nco_cnk_map_get /* [fnc] Convert user-specified chunking map to key */
   if(!strcmp(nco_cnk_map_sng,"cnk_map_scl")) return nco_cnk_map_scl;
   if(!strcmp(nco_cnk_map_sng,"prd")) return nco_cnk_map_prd;
   if(!strcmp(nco_cnk_map_sng,"cnk_map_prd")) return nco_cnk_map_prd;
+  if(!strcmp(nco_cnk_map_sng,"lfp")) return nco_cnk_map_lfp;
+  if(!strcmp(nco_cnk_map_sng,"cnk_map_lfp")) return nco_cnk_map_lfp;
+  if(!strcmp(nco_cnk_map_sng,"xst")) return nco_cnk_map_xst;
+  if(!strcmp(nco_cnk_map_sng,"cnk_map_xst")) return nco_cnk_map_xst;
+  if(!strcmp(nco_cnk_map_sng,"rew")) return nco_cnk_map_rew;
+  if(!strcmp(nco_cnk_map_sng,"cnk_map_rew")) return nco_cnk_map_rew;
 
   (void)fprintf(stderr,"%s: ERROR %s reports unknown user-specified chunking map %s\n",nco_prg_nm_get(),fnc_nm,nco_cnk_map_sng);
   nco_exit(EXIT_FAILURE);
@@ -238,8 +332,7 @@ int /* O [enm] Chunking policy */
 nco_cnk_plc_get /* [fnc] Convert user-specified chunking policy to key */
 (const char *nco_cnk_plc_sng) /* [sng] User-specified chunking policy */
 {
-  /* Purpose: Process ncpdq '-P' command line argument
-     Convert user-specified string to chunking operation type 
+  /* Purpose: Convert user-specified string to chunking operation type 
      Return nco_cnk_plc_g2d by default */
   const char fnc_nm[]="nco_cnk_plc_get()"; /* [sng] Function name */
   char *nco_prg_nm; /* [sng] Program name */
@@ -265,6 +358,9 @@ nco_cnk_plc_get /* [fnc] Convert user-specified chunking policy to key */
   if(!strcmp(nco_cnk_plc_sng,"xpl")) return nco_cnk_plc_xpl;
   if(!strcmp(nco_cnk_plc_sng,"cnk_xpl")) return nco_cnk_plc_xpl;
   if(!strcmp(nco_cnk_plc_sng,"plc_xpl")) return nco_cnk_plc_xpl;
+  if(!strcmp(nco_cnk_plc_sng,"xst")) return nco_cnk_plc_xst;
+  if(!strcmp(nco_cnk_plc_sng,"cnk_xst")) return nco_cnk_plc_xst;
+  if(!strcmp(nco_cnk_plc_sng,"plc_xst")) return nco_cnk_plc_xst;
   if(!strcmp(nco_cnk_plc_sng,"uck")) return nco_cnk_plc_uck;
   if(!strcmp(nco_cnk_plc_sng,"cnk_uck")) return nco_cnk_plc_uck;
   if(!strcmp(nco_cnk_plc_sng,"plc_uck")) return nco_cnk_plc_uck;
@@ -300,7 +396,7 @@ nco_cnk_sz_get /* [fnc] Determine chunksize array */
  const int cnk_map, /* I [enm] Chunking map */
  const int cnk_plc, /* I [enm] Chunking policy */
  const size_t cnk_sz_scl, /* I [nbr] Chunk size scalar */
- CST_X_PTR_CST_PTR_CST_Y(cnk_sct,cnk), /* I [sct] Chunking information */
+ CST_X_PTR_CST_PTR_CST_Y(cnk_dmn_sct,cnk_dmn), /* I [sct] Chunking information */
  const int cnk_nbr) /* I [nbr] Number of dimensions with user-specified chunking */
 {
   /* Purpose: Use chunking map and policy to determine chunksize list */
@@ -369,14 +465,14 @@ nco_cnk_sz_set /* [fnc] Set chunksize parameters */
  int * const cnk_map_ptr, /* I/O [enm] Chunking map */
  int * const cnk_plc_ptr, /* I/O [enm] Chunking policy */
  const size_t cnk_sz_scl, /* I [nbr] Chunk size scalar */
- CST_X_PTR_CST_PTR_CST_Y(cnk_sct,cnk), /* I [sct] Chunking information */
+ CST_X_PTR_CST_PTR_CST_Y(cnk_dmn_sct,cnk_dmn), /* I [sct] Chunking information */
  const int cnk_nbr) /* I [nbr] Number of dimensions with user-specified chunking */
 {
   /* Purpose: Use chunking map and policy to determine chunksize list */
   const char fnc_nm[]="nco_cnk_sz_set()"; /* [sng] Function name */
 
-  char dmn_nm[NC_MAX_NAME];
-  char var_nm[NC_MAX_NAME];
+  char dmn_nm[NC_MAX_NAME+1L];
+  char var_nm[NC_MAX_NAME+1L];
 
   int *dmn_id;
 
@@ -399,7 +495,7 @@ nco_cnk_sz_set /* [fnc] Set chunksize parameters */
 
   nco_bool flg_cnk=False; /* [flg] Chunking requested */
   nco_bool is_rec_var; /* [flg] Record variable */
-  nco_bool is_chk_var; /* [flg] Checksummed variable */
+  nco_bool is_chk_var; /* [flg] Check-summed variable */
   nco_bool is_cmp_var; /* [flg] Compressed variable */
   nco_bool is_chunked; /* [flg] Chunked variable */
   nco_bool must_be_chunked; /* [flg] Variable must be chunked */
@@ -415,8 +511,8 @@ nco_cnk_sz_set /* [fnc] Set chunksize parameters */
   if(!flg_cnk) return;
 
   /* Set actual chunk policy and map to defaults as necessary
-  This rather arcane procedure saves a few lines of code in calling program
-  (because defaults not set there) while maintaining correctness of arguments */
+     This rather arcane procedure saves a few lines of code in calling program
+     (because defaults not set there) while maintaining correctness of arguments */
   if(*cnk_map_ptr == nco_cnk_map_nil) *cnk_map_ptr=nco_cnk_map_get((char *)NULL);
   if(*cnk_plc_ptr == nco_cnk_plc_nil) *cnk_plc_ptr=nco_cnk_plc_get((char *)NULL);
   cnk_map=*cnk_map_ptr;
@@ -448,7 +544,7 @@ nco_cnk_sz_set /* [fnc] Set chunksize parameters */
     (void)fprintf(stderr,"cnk_sz_scl: %lu\n",(unsigned long)cnk_sz_scl);
     if(cnk_nbr > 0){
       (void)fprintf(stderr,"idx dmn_nm\tcnk_sz:\n");
-      for(cnk_idx=0;cnk_idx<cnk_nbr;cnk_idx++) (void)fprintf(stderr,"%2d %s\t%lu\n",cnk_idx,cnk[cnk_idx]->nm,(unsigned long)cnk[cnk_idx]->sz);
+      for(cnk_idx=0;cnk_idx<cnk_nbr;cnk_idx++) (void)fprintf(stderr,"%2d %s\t%lu\n",cnk_idx,cnk_dmn[cnk_idx]->nm,(unsigned long)cnk_dmn[cnk_idx]->sz);
     } /* cnk_nbr == 0 */
   } /* endif dbg */
 
@@ -474,7 +570,7 @@ nco_cnk_sz_set /* [fnc] Set chunksize parameters */
     srg_typ=NC_CONTIGUOUS; /* [enm] Storage type */
     cnk_sz=(size_t *)NULL; /* [nbr] Chunksize list */
     is_rec_var=False; /* [flg] Record variable */
-    is_chk_var=False; /* [flg] Checksummed variable */
+    is_chk_var=False; /* [flg] Check-summed variable */
     is_cmp_var=False; /* [flg] Compressed variable */
     is_chunked=False; /* [flg] Chunked variable */
 
@@ -501,7 +597,7 @@ nco_cnk_sz_set /* [fnc] Set chunksize parameters */
     (void)nco_inq_var_deflate(nc_id,var_idx,NULL,&deflate,NULL);
     if(deflate) is_cmp_var=True; 
 
-    /* Is variable checksummed? */
+    /* Is variable check-summed? */
     (void)nco_inq_var_fletcher32(nc_id,var_idx,&chk_typ);
     if(chk_typ != NC_NOCHECKSUM) is_chk_var=True;
 
@@ -511,27 +607,27 @@ nco_cnk_sz_set /* [fnc] Set chunksize parameters */
     /* Is variable currently chunked? */
     is_chunked=nco_cnk_dsk_inq(nc_id,var_idx);
 
-    /* Explicitly turn off chunking for arrays that are... */
+    /* Explicitly turn-off chunking for arrays that are... */
     if((cnk_plc == nco_cnk_plc_g2d && dmn_nbr < 2) || /* ...much too small... */
-      (cnk_plc == nco_cnk_plc_g3d && dmn_nbr < 3) || /* ...too small... */
-      (cnk_plc == nco_cnk_plc_uck) || /* ...intentionally unchunked... */
-      False){
-        /* If variable is chunked */
-        if(is_chunked){
-          if(must_be_chunked){
-            if(nco_dbg_lvl_get() >= nco_dbg_var) (void)fprintf(stderr,"%s: INFO %s %s must be chunked (record, compressed, or checksummed variable)\n",nco_prg_nm_get(),fnc_nm,var_nm);
-          }else{
-            /* Turn off chunking for this variable */
-            if(nco_dbg_lvl_get() >= nco_dbg_var) (void)fprintf(stderr,"%s: INFO %s unchunking %s\n",nco_prg_nm_get(),fnc_nm,var_nm);
-            (void)nco_def_var_chunking(nc_id,var_idx,srg_typ,cnk_sz);
-          } /* !must_be_chunked */
-        }else{ /* !chunked */
-          if(nco_dbg_lvl_get() >= nco_dbg_var) (void)fprintf(stderr,"%s: INFO %s not unchunking %s because it is not chunked\n",nco_prg_nm_get(),fnc_nm,var_nm);
-        } /* !chunked */
+       (cnk_plc == nco_cnk_plc_g3d && dmn_nbr < 3) || /* ...too small... */
+       (cnk_plc == nco_cnk_plc_uck) || /* ...intentionally unchunked... */
+       False){
+      /* If variable is chunked */
+      if(is_chunked){
+	if(must_be_chunked){
+	  if(nco_dbg_lvl_get() >= nco_dbg_var) (void)fprintf(stderr,"%s: INFO %s %s must be chunked (record, compressed, or check-summed variable)\n",nco_prg_nm_get(),fnc_nm,var_nm);
+	}else{
+	  /* Turn-off chunking for this variable */
+	  if(nco_dbg_lvl_get() >= nco_dbg_var) (void)fprintf(stderr,"%s: INFO %s unchunking %s\n",nco_prg_nm_get(),fnc_nm,var_nm);
+	  (void)nco_def_var_chunking(nc_id,var_idx,srg_typ,cnk_sz);
+	} /* !must_be_chunked */
+      }else{ /* !chunked */
+	if(nco_dbg_lvl_get() >= nco_dbg_var) (void)fprintf(stderr,"%s: INFO %s not unchunking %s because it is not chunked\n",nco_prg_nm_get(),fnc_nm,var_nm);
+      } /* !chunked */
         /* Free space holding dimension IDs before skipping to next variable */
-        dmn_id=(int *)nco_free(dmn_id);
-        /* Skip to next variable in loop */
-        continue;
+      dmn_id=(int *)nco_free(dmn_id);
+      /* Skip to next variable in loop */
+      continue;
     } /* end if */
 
     /* Variable will definitely be chunked */
@@ -567,7 +663,7 @@ nco_cnk_sz_set /* [fnc] Set chunksize parameters */
           goto cnk_xpl_override;
         } /* !nco_cnk_map_rd1 */
         /* Record dimension size in output file is zero until first write
-        Obtain record dimension size from lmt_all structure */
+	   Obtain record dimension size from lmt_all structure */
         if(lmt_all_lst[lmt_idx_rec]->BASIC_DMN){
           /* When not hyperslabbed, use input record dimension size ... */
           cnk_sz[dmn_idx]=lmt_all_lst[lmt_idx_rec]->dmn_sz_org;
@@ -604,23 +700,23 @@ cnk_xpl_override: /* end goto */
       /* Explicit chunk specifications override all else */
       for(cnk_idx=0;cnk_idx<cnk_nbr;cnk_idx++){
         /* Match on name not ID */
-        if(!strcmp(cnk[cnk_idx]->nm,dmn_nm)){
-          cnk_sz[dmn_idx]=cnk[cnk_idx]->sz;
+        if(!strcmp(cnk_dmn[cnk_idx]->nm,dmn_nm)){
+          cnk_sz[dmn_idx]=cnk_dmn[cnk_idx]->sz;
           if(dmn_id[dmn_idx] == rcd_dmn_id){
             if(lmt_all_lst[lmt_idx_rec]->BASIC_DMN){
               if(cnk_sz[dmn_idx] > (size_t)lmt_all_lst[lmt_idx_rec]->dmn_sz_org){
-                (void)fprintf(stderr,"%s: WARNING %s allowing user-specified record dimension chunksize = %lu for %s to exceed record dimension size in input file = %lu. May fail if output file is not concatenated from multiple inputs.\n",nco_prg_nm_get(),fnc_nm,(unsigned long)cnk[cnk_idx]->sz,dmn_nm,lmt_all_lst[lmt_idx_rec]->dmn_sz_org);
+                (void)fprintf(stderr,"%s: WARNING %s allowing user-specified record dimension chunksize = %lu for %s to exceed record dimension size in input file = %lu. May fail if output file is not concatenated from multiple inputs.\n",nco_prg_nm_get(),fnc_nm,(unsigned long)cnk_dmn[cnk_idx]->sz,dmn_nm,lmt_all_lst[lmt_idx_rec]->dmn_sz_org);
               } /* endif too big */
             }else{ /* !BASIC_DMN */
               if(cnk_sz[dmn_idx] > (size_t)lmt_all_lst[lmt_idx_rec]->dmn_cnt){
-                (void)fprintf(stderr,"%s: WARNING %s allowing user-specified record dimension chunksize = %lu for %s to exceed user-specified record dimension hyperslab size in input file = %lu. May fail if output file is not concatenated from multiple inputs.\n",nco_prg_nm_get(),fnc_nm,(unsigned long)cnk[cnk_idx]->sz,dmn_nm,lmt_all_lst[lmt_idx_rec]->dmn_cnt);
+                (void)fprintf(stderr,"%s: WARNING %s allowing user-specified record dimension chunksize = %lu for %s to exceed user-specified record dimension hyperslab size in input file = %lu. May fail if output file is not concatenated from multiple inputs.\n",nco_prg_nm_get(),fnc_nm,(unsigned long)cnk_dmn[cnk_idx]->sz,dmn_nm,lmt_all_lst[lmt_idx_rec]->dmn_cnt);
               } /* endif too big */
             } /* !BASIC_DMN */
           }else{ /* !rcd_dmn_id */
             if(cnk_sz[dmn_idx] > (size_t)dmn_sz){
               /* dmn_sz of record dimension may (will) be zero in output file
-              Non-record dimensions, though, must have cnk_sz <= dmn_sz */
-              (void)fprintf(stderr,"%s: WARNING %s trimming user-specified chunksize = %lu to %s size = %lu\n",nco_prg_nm_get(),fnc_nm,(unsigned long)cnk[cnk_idx]->sz,dmn_nm,dmn_sz);
+		 Non-record dimensions, though, must have cnk_sz <= dmn_sz */
+              (void)fprintf(stderr,"%s: WARNING %s trimming user-specified chunksize = %lu to %s size = %lu\n",nco_prg_nm_get(),fnc_nm,(unsigned long)cnk_dmn[cnk_idx]->sz,dmn_nm,dmn_sz);
               /* Trim else out-of-bounds sizes will fail in HDF library in nc_enddef() */
               cnk_sz[dmn_idx]=(size_t)dmn_sz;
             } /* endif */
@@ -640,7 +736,7 @@ cnk_xpl_override: /* end goto */
       } /* end loop over dmn */
     } /* endif dbg */
 
-    /* Turn chunking on for this variable */
+    /* Turn-on chunking for this variable */
     (void)nco_def_var_chunking(nc_id,var_idx,srg_typ,cnk_sz);
 
     /* Free space holding dimension IDs and chunksizes */
@@ -653,167 +749,195 @@ cnk_xpl_override: /* end goto */
 } /* end nco_cnk_sz_set() */
 
 void
-nco_cnk_sz_set_trv                     /* [fnc] Set chunksize parameters (GTT version of nco_cnk_sz_set() ) */
-(const int grp_id,                     /* I [id] netCDF group ID in output file */
- int * const cnk_map_ptr,              /* I/O [enm] Chunking map */
- int * const cnk_plc_ptr,              /* I/O [enm] Chunking policy */
- const size_t cnk_sz_scl,              /* I [nbr] Chunk size scalar */
- CST_X_PTR_CST_PTR_CST_Y(cnk_sct,cnk), /* I [sct] Chunking information */
- const int cnk_nbr,                    /* I [nbr] Number of dimensions with user-specified chunking */
- const trv_sct * const var_trv)        /* I [sct] Variable Object */
+nco_cnk_sz_set_trv /* [fnc] Set chunksize parameters (GTT version of nco_cnk_sz_set() ) */
+(const int grp_id_in, /* I [id] netCDF group ID in input file */
+ const int grp_id_out, /* I [id] netCDF group ID in output file */
+ const cnk_sct * const cnk, /* I [sct] Chunking structure */
+ const char * const var_nm,  /* I [sng] Name of variable */
+ const dmn_cmn_sct * const dmn_cmn) /* I [sct] Dimension structure in output file */
 {
   /* Purpose: Use chunking map and policy to determine chunksize list
-  Adapted from nco_cnk_sz_set() to GTT:
-  1) Instead of a loop for all varibales, this functions does one variable, the object parameter variable
-  2) In the dimension loop, the dimension object is obtained from variable object...much simpler 
-  */
+     Adapted from nco_cnk_sz_set() to GTT:
+     1) Instead of loop for all variables, this functions chunks one variable
+     2) In dimension loop, dimension object is obtained from variable object */
 
   const char fnc_nm[]="nco_cnk_sz_set_trv()"; /* [sng] Function name */
 
-  char var_nm[NC_MAX_NAME];  /* [sng] Variable name */
-
-  nc_type var_typ_dsk;       /* [nbr] Variable type */
+  cnk_dmn_sct **cnk_dmn;
 
-  nco_bool flg_cnk=False;    /* [flg] Chunking requested */
-  nco_bool is_rec_var;       /* [flg] Record variable */
-  nco_bool is_chk_var;       /* [flg] Checksummed variable */
-  nco_bool is_cmp_var;       /* [flg] Compressed variable */
-  nco_bool is_chunked;       /* [flg] Chunked variable */
-  nco_bool must_be_chunked;  /* [flg] Variable must be chunked */
+  int chk_typ; /* [enm] Checksum type */
+  int cnk_idx; /* [idx] Chunk dimension index */
+  int cnk_map; /* [enm] Chunking map */
+  int cnk_nbr; /* [nbr] Number of chunk sizes */
+  int cnk_plc; /* [enm] Chunking policy */
+  int deflate; /* [enm] Deflate filter is on */
+  int dmn_idx; /* [idx] Dimension index */
+  int dmn_nbr; /* [nbr] Number of dimensions for variable */
+  int fl_fmt; /* [enm] Input file format */
+  int shuffle; /* [enm] Shuffle filter is on */
+  int srg_typ; /* [enm] Storage type */
+  int var_id_in; /* [ID] Variable ID in input file */
+  int var_id_out; /* [ID] Variable ID in output file */
+  int var_dimid[NC_MAX_VAR_DIMS]; /* [lst] Dimension IDs */
 
-  int cnk_map;               /* [enm] Chunking map */
-  int cnk_plc;               /* [enm] Chunking policy */
-  int fl_fmt;                /* [enm] Input file format */
-  int var_id;                /* [ID] Variable ID */
-  int nbr_dmn;               /* [nbr] Number of dimensions for variable */
-  int srg_typ;               /* [enm] Storage type */
-  int deflate;               /* [enm] Deflate filter is on */
-  int chk_typ;               /* [enm] Checksum type */
+  nc_type var_typ_dsk; /* [nbr] Variable type */
 
-  size_t cnk_sz[NC_MAX_DIMS];/* [nbr] Chunksize list */
-  size_t cnk_sz_dfl;         /* [nbr] Chunksize default */
+  nco_bool flg_usr_rqs; /* [flg] User requested checking */
+  nco_bool is_rec_var; /* [flg] Record variable */
+  nco_bool is_chk_var; /* [flg] Check-summed variable */
+  nco_bool is_cmp_var; /* [flg] Compressed variable */
+  nco_bool is_chunked; /* [flg] Chunked variable */
+  nco_bool is_xpl_cnk; /* [flg] Explicitly chunked variable */
+  nco_bool must_be_chunked; /* [flg] Variable must be chunked */
+  nco_bool flg_mch[NC_MAX_VAR_DIMS]; /* [flg] Name match (absolute or relative) between chunking structure 'cnk_sct' and dimension 'dmn_cmn' */
 
-  /* Did user explicitly request chunking? */
-  if(cnk_nbr > 0 || cnk_sz_scl > 0UL || *cnk_map_ptr != nco_cnk_map_nil || *cnk_plc_ptr != nco_cnk_plc_nil){
-    flg_cnk=True;
-  }
+  size_t *cnk_sz=NULL; /* [nbr] Chunksize list */
+  size_t cnk_sz_dfl; /* [nbr] Chunksize default */
+  size_t cnk_sz_scl; /* [nbr] Chunk size scalar */
+  size_t typ_sz; /* [B] Bytes per value */
 
-  if(!flg_cnk) return;
+  static short FIRST_CALL=True;
 
-  if(nco_dbg_lvl_get() == nco_dbg_old){
-    (void)fprintf(stdout,"%s: INFO %s defining chunk for <%s>\n",nco_prg_nm_get(),fnc_nm,
-      var_trv->nm_fll);
-  }
+  unsigned long long cnk_sz_byt; /* [B] Desired bytes per chunk (e.g., system blocksize) */
 
-  /* This object must be a variable */
-  assert(var_trv->nco_typ == nco_obj_typ_var);
+  /* Initialize local convenience variables */
+  flg_usr_rqs=cnk->flg_usr_rqs;
+  cnk_nbr=cnk->cnk_nbr;
+  cnk_map=cnk->cnk_map;
+  cnk_plc=cnk->cnk_plc;
+  cnk_sz_scl=cnk->cnk_sz_scl;
+  cnk_sz_byt=cnk->cnk_sz_byt;
+  cnk_dmn=cnk->cnk_dmn;
 
-  /* Set actual chunk policy and map to defaults as necessary
-  This rather arcane procedure saves a few lines of code in calling program
-  (because defaults not set there) while maintaining correctness of arguments */
-  if(*cnk_map_ptr == nco_cnk_map_nil) *cnk_map_ptr=nco_cnk_map_get((char *)NULL);
-  if(*cnk_plc_ptr == nco_cnk_plc_nil) *cnk_plc_ptr=nco_cnk_plc_get((char *)NULL);
-  cnk_map=*cnk_map_ptr;
-  cnk_plc=*cnk_plc_ptr;
+  /* Only use NCO chunking when user explicitly sets a chunking option */
+  if(!flg_usr_rqs) return;
 
   /* Bail on unsupported options */
-  if(cnk_plc == nco_cnk_plc_xpl){
-    (void)fprintf(stderr,"%s: ERROR cnk_plc = %s not yet supported\n",nco_prg_nm_get(),nco_cnk_plc_sng_get(cnk_plc));
+  if(cnk_map == nco_cnk_map_nil){
+    (void)fprintf(stderr,"%s: ERROR cnk_map = %s not yet supported\n",nco_prg_nm_get(),nco_cnk_map_sng_get(cnk_map));
     nco_exit(EXIT_FAILURE);
   } /* endif */
 
   /* Does output file support chunking? */
-  (void)nco_inq_format(grp_id,&fl_fmt);
+  (void)nco_inq_format(grp_id_out,&fl_fmt);
   if(fl_fmt != NC_FORMAT_NETCDF4 && fl_fmt != NC_FORMAT_NETCDF4_CLASSIC){
     (void)fprintf(stderr,"%s: WARNING Output file format is %s so chunking request will be ignored\n",nco_prg_nm_get(),nco_fmt_sng(fl_fmt));
     return;
   } /* endif dbg */
 
   /* Vet input */
-  if(cnk_map == nco_cnk_map_scl && cnk_sz_scl <= 0){
+  if(cnk_map == nco_cnk_map_scl && cnk_sz_scl <= 0UL){
     (void)fprintf(stderr,"%s: ERROR cnk_sz_scl = %lu must be greater than 0\n",nco_prg_nm_get(),(unsigned long)cnk_sz_scl);
     nco_exit(EXIT_FAILURE);
   } /* endif cnk_sz_scl */
 
-  if(nco_dbg_lvl_get() >= nco_dbg_fl) (void)fprintf(stdout,"%s: INFO Requested chunking or unchunking\n",nco_prg_nm_get());
-  if(nco_dbg_lvl_get() >= nco_dbg_scl){
-    (void)fprintf(stdout,"cnk_plc: %s\n",nco_cnk_plc_sng_get(cnk_plc));
-    (void)fprintf(stdout,"cnk_map: %s\n",nco_cnk_map_sng_get(cnk_map));
-    (void)fprintf(stdout,"cnk_sz_scl: %lu\n",(unsigned long)cnk_sz_scl);
-    if(cnk_nbr > 0){
-      (void)fprintf(stdout,"idx dmn_nm\tcnk_sz:\n");
-      for(int cnk_idx=0;cnk_idx<cnk_nbr;cnk_idx++) (void)fprintf(stdout,"%2d %s\t%lu\n",cnk_idx,cnk[cnk_idx]->nm,(unsigned long)cnk[cnk_idx]->sz);
-    } /* cnk_nbr == 0 */
+  if(FIRST_CALL && nco_dbg_lvl_get() >= nco_dbg_fl && nco_dbg_lvl_get() != nco_dbg_dev){
+    (void)fprintf(stdout,"%s: INFO User requested chunking or unchunking\n",nco_prg_nm_get());
+    if(nco_dbg_lvl_get() >= nco_dbg_scl  && nco_dbg_lvl_get() != nco_dbg_dev){
+      (void)fprintf(stdout,"cnk_plc, cnk_map: %s, %s\n",nco_cnk_plc_sng_get(cnk_plc),nco_cnk_map_sng_get(cnk_map));
+      (void)fprintf(stdout,"cnk_sz_scl, cnk_sz_byt: %lu, %lu\n",(unsigned long)cnk_sz_scl,(unsigned long)cnk_sz_byt);
+      if(cnk_nbr > 0){
+        (void)fprintf(stdout,"idx dmn_nm\tcnk_sz:\n");
+        for(cnk_idx=0;cnk_idx<cnk_nbr;cnk_idx++)
+	  (void)fprintf(stdout,"%2d %s\t%lu\n",cnk_idx,cnk_dmn[cnk_idx]->nm,(unsigned long)cnk_dmn[cnk_idx]->sz);
+      } /* cnk_nbr == 0 */
+    } /* endif dbg */
   } /* endif dbg */
+  FIRST_CALL=False;
 
   /* Initialize storage type for this variable */
   srg_typ=NC_CONTIGUOUS; /* [enm] Storage type */
   is_rec_var=False; /* [flg] Record variable */
-  is_chk_var=False; /* [flg] Checksummed variable */
+  is_chk_var=False; /* [flg] Check-summed variable */
   is_cmp_var=False; /* [flg] Compressed variable */
   is_chunked=False; /* [flg] Chunked variable */
+  is_xpl_cnk=False; /* [flg] Explicitly chunked variable */
 
   /* Obtain variable ID using group ID */
-  (void)nco_inq_varid(grp_id,var_trv->nm,&var_id);
+  (void)nco_inq_varid(grp_id_out,var_nm,&var_id_out);
+  (void)nco_inq_varid(grp_id_in,var_nm,&var_id_in);
 
   /* Get type and number of dimensions for variable */
-  (void)nco_inq_var(grp_id,var_id,var_nm,&var_typ_dsk,&nbr_dmn,(int *)NULL,(int *)NULL);
-
-  assert(strcmp(var_nm,var_trv->nm) == 0);
-
-  /* Skip chunking calls for scalars */
-  if(nbr_dmn == 0){
+  (void)nco_inq_var(grp_id_out,var_id_out,(char *)NULL,&var_typ_dsk,&dmn_nbr,var_dimid,(int *)NULL);
+  typ_sz=nco_typ_lng(var_typ_dsk);
 
+  if(dmn_nbr == 0){
     if(nco_dbg_lvl_get() == nco_dbg_old) (void)fprintf(stdout,"%s: INFO %s skipping scalar...\n",nco_prg_nm_get(),fnc_nm);
-
     return; 
-  }/* Skip chunking calls for scalars */
+  } /* dmn_nbr */
 
-  /* Is this a record variable?..Handy object variable already knows this */
-  is_rec_var=var_trv->is_rec_var; 
+  /* Does variable contain a record dimension? */
+  for(dmn_idx=0;dmn_idx<dmn_nbr;dmn_idx++)
+    if(dmn_cmn[dmn_idx].is_rec_dmn) is_rec_var=True;
 
   /* Is variable compressed? */
-  (void)nco_inq_var_deflate(grp_id,var_id,NULL,&deflate,NULL);
+  (void)nco_inq_var_deflate(grp_id_out,var_id_out,&shuffle,&deflate,(int *)NULL);
   if(deflate) is_cmp_var=True; 
 
-  /* Is variable checksummed? */
-  (void)nco_inq_var_fletcher32(grp_id,var_id,&chk_typ);
+  /* Is variable check-summed? */
+  (void)nco_inq_var_fletcher32(grp_id_out,var_id_out,&chk_typ);
   if(chk_typ != NC_NOCHECKSUM) is_chk_var=True;
 
   /* Must variable be chunked? */
   if(is_rec_var || is_chk_var || is_cmp_var) must_be_chunked=True; else must_be_chunked=False;
 
   /* Is variable currently chunked? */
-  is_chunked=nco_cnk_dsk_inq(grp_id,var_id);
+  if(nco_fmt_xtn_get() != nco_fmt_xtn_hdf4) is_chunked=nco_cnk_dsk_inq(grp_id_in,var_id_in);
 
-  /* Explicitly turn off chunking for arrays that are... */
-  if((cnk_plc == nco_cnk_plc_g2d && nbr_dmn < 2) || /* ...much too small... */
-    (cnk_plc == nco_cnk_plc_g3d && nbr_dmn < 3) || /* ...too small... */
-    (cnk_plc == nco_cnk_plc_uck) || /* ...intentionally unchunked... */
-    False){
+  /* Does this variable have any user-chunked dimensions? */
+  if(cnk_plc == nco_cnk_plc_xpl){
+    for(dmn_idx=0;dmn_idx<dmn_nbr;dmn_idx++)
+      for(cnk_idx=0;cnk_idx<cnk_nbr;cnk_idx++){
+        if(cnk_dmn[cnk_idx]->nm_fll){
+          if(!strcmp(cnk_dmn[cnk_idx]->nm_fll,dmn_cmn[dmn_idx].nm_fll)) break;
+        }else{
+          if(!strcmp(cnk_dmn[cnk_idx]->nm,dmn_cmn[dmn_idx].nm)) break;
+        } /* end else */
+      } /* end loop over cnk_idx */
+    if(dmn_idx != dmn_nbr) is_xpl_cnk=True;
+  } /* end plc_xpl */
+
+  if(must_be_chunked){
+    /* Some variables simply must be chunked */
+    if(nco_dbg_lvl_get() >= nco_dbg_var && nco_dbg_lvl_get() != nco_dbg_dev) (void)fprintf(stdout,"%s: INFO %s %s must be chunked (record, compressed, or check-summed variable)\n",nco_prg_nm_get(),fnc_nm,var_nm);
+  }else{
+    /* Explicitly turn-off chunking for arrays that are... */
+    if((cnk_plc == nco_cnk_plc_xpl && !is_xpl_cnk) || /* ...not explicitly chunked... */
+       (cnk_plc == nco_cnk_plc_xst && !is_chunked) || /* ...not already chunked... */
+       (cnk_plc == nco_cnk_plc_g2d && dmn_nbr < 2) || /* ...much too small... */
+       (cnk_plc == nco_cnk_plc_g3d && dmn_nbr < 3) || /* ...too small... */
+       (cnk_plc == nco_cnk_plc_uck) || /* ...intentionally unchunked... */
+       False){
       /* If variable is chunked */
       if(is_chunked){
-        if(must_be_chunked){
-          if(nco_dbg_lvl_get() >= nco_dbg_var) (void)fprintf(stdout,"%s: INFO %s %s must be chunked (record, compressed, or checksummed variable)\n",nco_prg_nm_get(),fnc_nm,var_trv->nm_fll);
-        }else{
-          /* Turn off chunking for this variable */
-          if(nco_dbg_lvl_get() >= nco_dbg_var) (void)fprintf(stdout,"%s: INFO %s unchunking %s\n",nco_prg_nm_get(),fnc_nm,var_trv->nm_fll);
-          (void)nco_def_var_chunking(grp_id,var_id,srg_typ,cnk_sz);
-        } /* !must_be_chunked */
+	/* Turn-off chunking for this variable */
+	if(nco_dbg_lvl_get() >= nco_dbg_var && nco_dbg_lvl_get() != nco_dbg_dev) (void)fprintf(stdout,"%s: INFO %s unchunking %s\n",nco_prg_nm_get(),fnc_nm,var_nm);
+	if(shuffle) (void)fprintf(stdout,"%s: WARNING %s reports variable %s has shuffle flag set before unchunking. Expect the worst.",nco_prg_nm_get(),fnc_nm,var_nm);
+	(void)nco_def_var_chunking(grp_id_out,var_id_out,srg_typ,cnk_sz);
       }else{ /* !chunked */
-        if(nco_dbg_lvl_get() >= nco_dbg_var) (void)fprintf(stdout,"%s: INFO %s not unchunking %s because it is not chunked\n",nco_prg_nm_get(),fnc_nm,var_trv->nm_fll);
+	if(nco_dbg_lvl_get() >= nco_dbg_var && nco_dbg_lvl_get() != nco_dbg_dev) (void)fprintf(stdout,"%s: INFO %s not unchunking %s because it is not chunked\n",nco_prg_nm_get(),fnc_nm,var_nm);
       } /* !chunked */
-
-      if(nco_dbg_lvl_get() == nco_dbg_old) (void)fprintf(stdout,"%s: INFO %s skipping...\n",nco_prg_nm_get(),fnc_nm);
-
-      /* Skip to next variable in loop. NOTE: loop in nco_cnk_sz_set(), here return */
+      /* Return control to calling routine
+	 NB: Here is where loop in original nco_cnk_sz_set() continues to next variable */
       return;
-  } /* Explicitly turn off chunking for arrays that are... */
-
+    } /* !turn-off chunking */
+  } /* !must_be_chunked */
 
-  /* Variable will definitely be chunked */
+  /* Since routine has not returned yet, this variable will definitely be chunked */
   srg_typ=NC_CHUNKED; /* [enm] Storage type */
-  if(nco_dbg_lvl_get() >= nco_dbg_var) (void)fprintf(stdout,"%s: INFO %s %schunking %s\n",nco_prg_nm_get(),fnc_nm,(is_chunked ? "re-" : "" ),var_trv->nm_fll);
+  if(nco_dbg_lvl_get() >= nco_dbg_var && nco_dbg_lvl_get() != nco_dbg_dev) (void)fprintf(stdout,"%s: INFO %s %schunking %s\n",nco_prg_nm_get(),fnc_nm,(is_chunked ? "re-" : "" ),var_nm);
+
+  /* Allocate space to hold chunksizes */
+  cnk_sz=(size_t *)nco_malloc(dmn_nbr*sizeof(size_t));    
+
+  if(cnk_map == nco_cnk_map_xst){
+    /* Set chunksizes to existing sizes for this variable */
+    if(is_chunked){
+      (void)nco_inq_var_chunking(grp_id_in,var_id_in,(int *)NULL,cnk_sz);
+      /* Allow existing chunksizes to be over-ridden by explicitly specified chunksizes */
+      goto cnk_xpl_override;
+    } /* !is_chunked */
+  } /* !nco_cnk_map_xst */
 
   /* Default "equal" chunksize for each dimension */
   cnk_sz_dfl=cnk_sz_scl;
@@ -822,71 +946,24 @@ nco_cnk_sz_set_trv                     /* [fnc] Set chunksize parameters (GTT ve
     double cnk_sz_eql_dbl; /* [nbr] Chunksize equal, double precision */
     double cnk_sz_dfl_dbl; /* [nbr] Chunksize default, double precision */
     cnk_sz_prd_dbl=cnk_sz_scl;
-    cnk_sz_eql_dbl=pow(cnk_sz_prd_dbl,1.0/nbr_dmn);
+    cnk_sz_eql_dbl=pow(cnk_sz_prd_dbl,1.0/dmn_nbr);
     cnk_sz_dfl_dbl=ceil(cnk_sz_eql_dbl);
     cnk_sz_dfl=(size_t)cnk_sz_dfl_dbl;
   } /* endif map_prd */
 
+  /* Set "reasonable" defaults */
+  for(dmn_idx=0;dmn_idx<dmn_nbr;dmn_idx++){
 
-  /* A utility struct to share common fields */
-  typedef struct{ 
-    char nm[NC_MAX_NAME+1L];/* [sng] Name of dimension/coordinate */
-    nco_bool is_rec_dmn;    /* [flg] Is a record dimension/coordinate? */
-    size_t sz;              /* [nbr] Size of dimension/coordinate */
-    nco_bool BASIC_DMN;     /* [flg] Limit is same as dimension in input file */
-    long dmn_cnt;           /* [nbr] Hyperslabbed size of dimension */  
-  } dmn_cmn_sct; 
-
-  dmn_cmn_sct dmn_cmn[NC_MAX_DIMS];
-
-
-  /* Loop dimensions */
-  for(int dmn_idx=0;dmn_idx<nbr_dmn;dmn_idx++){
-
-    dmn_trv_sct *dmn_trv=NULL; /* [sct] Unique dimension */
-    crd_sct *crd=NULL; /* [sct] Coordinate dimension */
-
-    /* This dimension has a coordinate variable */
-    if (var_trv->var_dmn[dmn_idx].is_crd_var == True){
-
-      /* Get coordinate from table */
-      crd=var_trv->var_dmn[dmn_idx].crd;
-      dmn_cmn[dmn_idx].sz=crd->sz;
-      dmn_cmn[dmn_idx].is_rec_dmn=crd->is_rec_dmn;
-      dmn_cmn[dmn_idx].BASIC_DMN=crd->lmt_msa.BASIC_DMN;
-      dmn_cmn[dmn_idx].dmn_cnt=crd->lmt_msa.dmn_cnt;
-      strcpy(dmn_cmn[dmn_idx].nm,crd->nm);
-
-      /* This dimension does not has a coordinate variable, it must have a unique dimension */
-    }else if (var_trv->var_dmn[dmn_idx].is_crd_var == False){
-
-      /* Get unique dimesion from table */
-      dmn_trv=var_trv->var_dmn[dmn_idx].ncd;
-      dmn_cmn[dmn_idx].sz=dmn_trv->sz;
-      dmn_cmn[dmn_idx].BASIC_DMN=dmn_trv->lmt_msa.BASIC_DMN;
-      dmn_cmn[dmn_idx].dmn_cnt=dmn_trv->lmt_msa.dmn_cnt;
-      strcpy(dmn_cmn[dmn_idx].nm,dmn_trv->nm);
-
-      /* This dimension must have either a coordinate or a dimension */
-    }else{
-      assert(0);
-    }
-  }
-
-  /* Loop dimensions */
-  for(int dmn_idx=0;dmn_idx<nbr_dmn;dmn_idx++){
-
-    /* Is this the record dimension? */
-    if(dmn_cmn[dmn_idx].is_rec_dmn == True){
+    /* Is this a record dimension? */
+    if(dmn_cmn[dmn_idx].is_rec_dmn){
       /* Does policy specify record dimension treatment? */
       if(cnk_map == nco_cnk_map_rd1){
         cnk_sz[dmn_idx]=1UL;
-        /* This may still be over-ridden by explicitly specified chunksize */
-        goto cnk_xpl_override;
+        /* Record chunksize has beeen set and may still be over-ridden by explicitly specified record chunksize */
+        continue;
       } /* !nco_cnk_map_rd1 */
       /* Record dimension size in output file is zero until first write
-      Obtain record dimension size from lmt_all structure (for nco_cnk_sz_set()).
-      NOTE: <GTT> Here using dimesion object... much simpler */
+	 Obtain record dimension size from lmt_all structure (for nco_cnk_sz_set()) */
       if(dmn_cmn[dmn_idx].BASIC_DMN){
         /* When not hyperslabbed, use input record dimension size ... */
         cnk_sz[dmn_idx]=dmn_cmn[dmn_idx].sz;
@@ -895,20 +972,100 @@ nco_cnk_sz_set_trv                     /* [fnc] Set chunksize parameters (GTT ve
         cnk_sz[dmn_idx]=dmn_cmn[dmn_idx].dmn_cnt;
       } /* !BASIC_DMN */
     }else{ /* !record dimension */
-      /* Set non-record dimensions to default, possibly over-ride later */
+      /* Set non-record dimensions to default, possibly override later */
       cnk_sz[dmn_idx]=dmn_cmn[dmn_idx].sz;
-      if(dmn_cmn[dmn_idx].sz == 0L){
-        (void)fprintf(stdout,"%s: ERROR %s reports variable <%s> has dim_sz == 0L for non-record dimension <%s>. This should not occur and it will cause chunking to fail...\n",
-          nco_prg_nm_get(),fnc_nm,var_trv->nm_fll,dmn_cmn[dmn_idx].nm);
-      } /* endif err */
+      if(dmn_cmn[dmn_idx].sz == 0L) (void)fprintf(stdout,"%s: ERROR %s reports variable %s has dim_sz == 0L for non-record dimension %s. This should not occur and it will cause chunking to fail...\n",nco_prg_nm_get(),fnc_nm,var_nm,dmn_cmn[dmn_idx].nm);
     } /* !record dimension */
 
+  } /* end loop over dimensions */
+
+  if(cnk_map == nco_cnk_map_lfp){
+    /* Set "Lefter Product" chunksizes
+       Reasonable defaults have been set for all dimensions, now adjust lefter dimensions to match overall size */
+    int dmn_idx_1st_rec;
+    int dmn_nbr_lft;
+    double cnk_sz_prd_rgt=1.0;
+    double cnk_sz_prd_lft;
+    double cnk_val_nbr;
+    double cnk_sz_lft_dbl;
+    size_t cnk_sz_lft;
+
+    cnk_val_nbr=cnk_sz_byt/(double)typ_sz;
+
+    /* Use default sizes on all righter dimensions than first record dimension */
+    for(dmn_idx=dmn_nbr-1;dmn_idx>=0;dmn_idx--) /* NB: reverse loop */
+      if(dmn_cmn[dmn_idx].is_rec_dmn) break;
+    dmn_idx_1st_rec=dmn_idx;
+
+    /* Find product of all righter chunksizes */
+    for(dmn_idx=dmn_nbr-1;dmn_idx>=dmn_idx_1st_rec+1;dmn_idx--) cnk_sz_prd_rgt*=cnk_sz[dmn_idx];
+    /* Derive product of all lefter chunksizes */
+    cnk_sz_prd_lft=cnk_val_nbr/cnk_sz_prd_rgt;
+    /* How many lefter chunksizes are there? */
+    dmn_nbr_lft=dmn_idx_1st_rec+1;
+    cnk_sz_lft_dbl=pow(cnk_sz_prd_lft,1.0/dmn_nbr_lft);
+    cnk_sz_lft=(size_t)cnk_sz_lft_dbl;
+    /* Assign remaining chunkspace equally amongst lefter dimensions */
+    for(dmn_idx=0;dmn_idx<=dmn_idx_1st_rec;dmn_idx++) cnk_sz[dmn_idx]=cnk_sz_lft;
+
+    /* Allow existing chunksizes to be over-ridden by explicitly specified chunksizes */
+    goto cnk_xpl_override;
+  } /* !nco_cnk_map_lfp */
+
+  if(cnk_map == nco_cnk_map_rew){
+    /* Described by Russ Rew at http://www.unidata.ucar.edu/staff/russ/public/chunk_shape_3D.py
+       ncks -O -C -4 -D 6 -v four_dmn_rec_var --cnk_map=rew -p ~/nco/data in.nc ~/foo.nc */
+    double cnk_val_nbr;
+    double dmn_sz_prd=1.0; /* [nbr] Number of elements in output variable */
+    double cnk_nbr_xct; /* [nbr] Exact number of ideal chunks needed to store variable */
+    double cnk_nbr_2D_axs; /* [nbr] Exact number of ideal chunks along each 2D axis */
+    double fct_ncr=1.0; /* [frc] Factor by which to increase chunk size */
+    size_t *var_shp; /* [nbr] Shape of variable */
+
+    /* Allocate space to hold variable shape */
+    var_shp=(size_t *)nco_malloc(dmn_nbr*sizeof(size_t));    
+
+    cnk_val_nbr=cnk_sz_byt/(double)typ_sz;
+    for(dmn_idx=0;dmn_idx<=dmn_nbr-1;dmn_idx++){
+      /* Store shape for future use */
+      /* 20140131: fxm this gets wrong value for input record dimension size unless hyperslabbed. Why? */
+      if(dmn_cmn[dmn_idx].is_rec_dmn) var_shp[dmn_idx]= (dmn_cmn[dmn_idx].BASIC_DMN) ? dmn_cmn[dmn_idx].dmn_cnt : dmn_cmn[dmn_idx].sz; else var_shp[dmn_idx]= (dmn_cmn[dmn_idx].BASIC_DMN) ? dmn_cmn[dmn_idx].sz : dmn_cmn[dmn_idx].dmn_cnt;
+      assert(var_shp[dmn_idx] > 0L);
+      /* Determine hyperslab size */
+      dmn_sz_prd*=var_shp[dmn_idx];
+    } /* end loop over dmn_idx */
+    
+    cnk_nbr_xct=dmn_sz_prd/cnk_val_nbr;
+    cnk_nbr_2D_axs=pow(cnk_nbr_xct,0.25);
 
-    /* Propagate scalar chunksize, if specified */
-    if(cnk_sz_dfl > 0UL){
-      /* Is this the record dimension? */
-      if(dmn_cmn[dmn_idx].is_rec_dmn == True){
-        /* NOTE: <GTT> Here using dimesion object... much simpler */ 
+    if(var_shp[0]/(cnk_nbr_2D_axs*cnk_nbr_2D_axs) < 1.0){
+      cnk_sz[0]=1L;
+      cnk_nbr_2D_axs=1.0/sqrt((double)var_shp[0]);
+    }else{
+      cnk_sz[0]=var_shp[0]/(cnk_nbr_2D_axs*cnk_nbr_2D_axs);
+    } /* endif */
+
+    for(dmn_idx=1;dmn_idx<=dmn_nbr-1;dmn_idx++) /* NB: Start at 1 */
+      if(var_shp[dmn_idx]/cnk_nbr_2D_axs < 1.0) fct_ncr*=cnk_nbr_2D_axs/var_shp[dmn_idx];
+    for(dmn_idx=1;dmn_idx<=dmn_nbr-1;dmn_idx++) /* NB: Start at 1 */
+      if(var_shp[dmn_idx]/cnk_nbr_2D_axs < 1.0) cnk_sz[dmn_idx]=1L; else cnk_sz[dmn_idx]=fct_ncr*var_shp[dmn_idx]/cnk_nbr_2D_axs;
+
+    if(nco_dbg_lvl_get() >= nco_dbg_var){
+      (void)fprintf(stdout,"map rew debugging:\n");
+      (void)fprintf(stdout,"cnk_nbr_xct = %g, cnk_val_nbr = %g, dmn_sz_prd = %g\n",cnk_nbr_xct,cnk_val_nbr,dmn_sz_prd);
+      (void)fprintf(stdout,"idx dmn_nm\tdmn_sz\tvar_shp\tcnk_sz:\n");
+      for(dmn_idx=0;dmn_idx<dmn_nbr;dmn_idx++) (void)fprintf(stdout,"%2d %s\t\t%lu\t%lu\t%lu\n",dmn_idx,dmn_cmn[dmn_idx].nm,(unsigned long)dmn_cmn[dmn_idx].sz,(unsigned long)var_shp[dmn_idx],(unsigned long)cnk_sz[dmn_idx]);
+    } /* endif dbg */
+
+    /* Free shape space */
+    if(var_shp) var_shp=(size_t *)nco_free(var_shp);    
+  } /* !nco_cnk_map_rew */
+
+  /* Override "reasonable" defaults with explicitly set uniform scalar chunksize, if any */
+  if(cnk_sz_dfl > 0UL){
+    for(dmn_idx=0;dmn_idx<dmn_nbr;dmn_idx++){
+      /* Is this a record dimension? */
+      if(dmn_cmn[dmn_idx].is_rec_dmn){
         if(dmn_cmn[dmn_idx].BASIC_DMN){
           /* When not hyperslabbed, use input record dimension size ... */
           cnk_sz[dmn_idx]=(cnk_sz_dfl <= (size_t)dmn_cmn[dmn_idx].sz) ? cnk_sz_dfl : (size_t)dmn_cmn[dmn_idx].sz;
@@ -916,62 +1073,84 @@ nco_cnk_sz_set_trv                     /* [fnc] Set chunksize parameters (GTT ve
           /* ... and when hyperslabbed, use user-specified count */
           cnk_sz[dmn_idx]=(cnk_sz_dfl <= (size_t)dmn_cmn[dmn_idx].dmn_cnt) ? cnk_sz_dfl : (size_t)dmn_cmn[dmn_idx].dmn_cnt;
         } /* !BASIC_DMN */
-      }else{ /* !rcd_dmn_id */
+      }else{ /* !rec_dmn_id */
         /* Non-record sizes default to cnk_sz_dfl or to dimension size */
-        cnk_sz[dmn_idx]=(cnk_sz_dfl <= (size_t)dmn_cmn[dmn_idx].sz) ? cnk_sz_dfl : (size_t)dmn_cmn[dmn_idx].sz;
-      } /* Is this the record dimension? */
-    } /* !cnk_sz_dfl */
-
+	//        cnk_sz[dmn_idx]=(cnk_sz_dfl <= (size_t)dmn_cmn[dmn_idx].sz) ? cnk_sz_dfl : (size_t)dmn_cmn[dmn_idx].sz;
+        cnk_sz[dmn_idx]=(cnk_sz_dfl <= (size_t)dmn_cmn[dmn_idx].sz) ? cnk_sz_dfl : (size_t)dmn_cmn[dmn_idx].dmn_cnt;
+      } /* !is_rec_dmn */
+    } /* end loop over dimensions */
+  } /* !cnk_sz_dfl */
 
 cnk_xpl_override: /* end goto */
 
+  /* Override "reasonable" defaults with explicitly set per-dimension sizes, if any */
+  for(dmn_idx=0;dmn_idx<dmn_nbr;dmn_idx++){
 
-    /* Explicit chunk specifications override all else */
-    for(int cnk_idx=0;cnk_idx<cnk_nbr;cnk_idx++){
+    /* Initialize to false then override */
+    flg_mch[dmn_idx]=False;
 
-      /* Match on name not ID */
-      /* fxm pvn check origin of chunk names */
-      if(!strcmp(cnk[cnk_idx]->nm,dmn_cmn[dmn_idx].nm)){
-        cnk_sz[dmn_idx]=cnk[cnk_idx]->sz;
+    for(cnk_idx=0;cnk_idx<cnk_nbr;cnk_idx++){
 
-        /* Is this the record dimension? */
-        if(dmn_cmn[dmn_idx].is_rec_dmn == True){
+      if(cnk_dmn[cnk_idx]->nm_fll){
+        if(!strcmp(cnk_dmn[cnk_idx]->nm_fll,dmn_cmn[dmn_idx].nm_fll)) flg_mch[dmn_idx]=True;
+      }else{
+        if(!strcmp(cnk_dmn[cnk_idx]->nm,dmn_cmn[dmn_idx].nm)) flg_mch[dmn_idx]=True;
+      } /* end else */
+
+      /* Name match found */
+      if(flg_mch[dmn_idx]){
+        cnk_sz[dmn_idx]=cnk_dmn[cnk_idx]->sz;
+        /* Is this a record dimension? */
+        if(dmn_cmn[dmn_idx].is_rec_dmn){
+          /* dmn_sz of record dimension can/will be zero in output file
+	     Allow (though warn) when cnk_sz > dmn_sz in such cases */
           if(dmn_cmn[dmn_idx].BASIC_DMN){
             if(cnk_sz[dmn_idx] > (size_t)dmn_cmn[dmn_idx].sz){
-              (void)fprintf(stderr,"%s: WARNING %s allowing user-specified record dimension chunksize = %lu for %s to exceed record dimension size in input file = %lu. May fail if output file is not concatenated from multiple inputs.\n",
-                nco_prg_nm_get(),fnc_nm,(unsigned long)cnk[cnk_idx]->sz,dmn_cmn[dmn_idx].nm,(unsigned long)dmn_cmn[dmn_idx].sz);
+              (void)fprintf(stderr,"%s: WARNING %s allowing user-specified record dimension %s chunksize %lu which exceeds current record dimension size in output file = %lu. May fail if output file is not concatenated from multiple inputs.\n",nco_prg_nm_get(),fnc_nm,dmn_cmn[dmn_idx].nm,(unsigned long)cnk_dmn[cnk_idx]->sz,(unsigned long)dmn_cmn[dmn_idx].sz);
             } /* endif too big */
           }else{ /* !BASIC_DMN */
             if(cnk_sz[dmn_idx] > (size_t)dmn_cmn[dmn_idx].dmn_cnt){
-              (void)fprintf(stderr,"%s: WARNING %s allowing user-specified record dimension chunksize = %lu for %s to exceed user-specified record dimension hyperslab size in input file = %lu. May fail if output file is not concatenated from multiple inputs.\n",
-                nco_prg_nm_get(),fnc_nm,(unsigned long)cnk[cnk_idx]->sz,dmn_cmn[dmn_idx].nm,dmn_cmn[dmn_idx].dmn_cnt);
+              (void)fprintf(stderr,"%s: WARNING %s allowing user-specified record dimension %s chunksize = %lu which exceeds user-specified record dimension input hyperslab size = %lu. May fail if output file is not concatenated from multiple inputs.\n",nco_prg_nm_get(),fnc_nm,dmn_cmn[dmn_idx].nm,(unsigned long)cnk_dmn[cnk_idx]->sz,(unsigned long)dmn_cmn[dmn_idx].dmn_cnt);
             } /* endif too big */
           } /* !BASIC_DMN */
         }else{ /* !rcd_dmn_id */
           if(cnk_sz[dmn_idx] > (size_t)dmn_cmn[dmn_idx].sz){
-            /* dmn_sz of record dimension may (will) be zero in output file
-            Non-record dimensions, though, must have cnk_sz <= dmn_sz */
-            (void)fprintf(stderr,"%s: WARNING %s trimming user-specified chunksize = %lu to %s size = %lu\n",
-              nco_prg_nm_get(),fnc_nm,(unsigned long)cnk[cnk_idx]->sz,dmn_cmn[dmn_idx].nm,(unsigned long)dmn_cmn[dmn_idx].sz);
+            /* Unlike record dimensions, non-record dimensions must have cnk_sz <= dmn_sz */
+            (void)fprintf(stderr,"%s: WARNING %s trimming user-specified fixed dimension %s chunksize from %lu to %lu\n",nco_prg_nm_get(),fnc_nm,dmn_cmn[dmn_idx].nm,(unsigned long)cnk_dmn[cnk_idx]->sz,(unsigned long)dmn_cmn[dmn_idx].sz);
             /* Trim else out-of-bounds sizes will fail in HDF library in nc_enddef() */
             cnk_sz[dmn_idx]=(size_t)dmn_cmn[dmn_idx].sz;
           } /* endif */
         } /* !rcd_dmn_id */
         break;
       } /* cnk_nm != dmn_nm */
-    } /* end loop over cnk */
-
-  }/* Loop dimensions */
+    } /* end loop over dimensions */
+  } /* end loop over cnk */
+
+  /* Status: Previous block implemented per-dimension checks on user-requested chunksizes only
+     Block below implements similar final safety check for ALL dimensions and ALL chunking maps
+     Check trims fixed (not record) dimension chunksize to never be larger than dimension size */
+  for(dmn_idx=0;dmn_idx<dmn_nbr;dmn_idx++){
+    if(cnk_sz[dmn_idx] > (size_t)dmn_cmn[dmn_idx].sz){
+      if(!dmn_cmn[dmn_idx].is_rec_dmn){
+        /* Unlike record dimensions, non-record dimensions must have cnk_sz <= dmn_sz */
+        (void)fprintf(stderr,"%s: WARNING %s final check trimming %s chunksize from %lu to %lu\n",nco_prg_nm_get(),fnc_nm,dmn_cmn[dmn_idx].nm,(unsigned long)cnk_sz[dmn_idx],(unsigned long)dmn_cmn[dmn_idx].sz);
+        /* Trim else out-of-bounds sizes will fail in HDF library in nc_enddef() */
+        cnk_sz[dmn_idx]=(size_t)dmn_cmn[dmn_idx].sz;
+      } /* rcd_dmn_id */
+    } /* end if */
+  } /* end loop over dmn */
 
+  if(nco_dbg_lvl_get() >= nco_dbg_var && nco_dbg_lvl_get() != nco_dbg_dev){
+    /* Dimensions and chunksizes used by variable in output file */
+    (void)fprintf(stdout,"idx dmn_nm\tdmn_sz\tcnk_sz:\n");
+    for(dmn_idx=0;dmn_idx<dmn_nbr;dmn_idx++) (void)fprintf(stdout,"%2d %s\t%lu\t%lu\n",dmn_idx,dmn_cmn[dmn_idx].nm_fll,(unsigned long)dmn_cmn[dmn_idx].sz,(unsigned long)cnk_sz[dmn_idx]);
+  } /* endif dbg */
 
+  /* Set storage (chunked or contiguous) for this variable */
+  (void)nco_def_var_chunking(grp_id_out,var_id_out,srg_typ,cnk_sz);
 
-  /* Turn chunking on for this variable */
-  (void)nco_def_var_chunking(grp_id,var_id,srg_typ,cnk_sz);
+  /* Free space holding dimension IDs and chunksizes */
+  if(cnk_sz) cnk_sz=(size_t *)nco_free(cnk_sz);
 
   return;
 } /* nco_cnk_sz_set_trv() */
-
-
-
-
-
diff --git a/src/nco/nco_cnk.h b/src/nco/nco_cnk.h
index 136468a..afe10b0 100644
--- a/src/nco/nco_cnk.h
+++ b/src/nco/nco_cnk.h
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_cnk.h,v 1.22 2013/07/16 22:24:10 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_cnk.h,v 1.37 2014/02/01 02:52:30 zender Exp $ */
 
 /* Purpose: Description (definition) of chunking functions */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -22,6 +22,7 @@
 
 /* Personal headers */
 #include "nco.h" /* netCDF Operator (NCO) definitions */
+#include "nco_fl_utl.h" /* File manipulation */
 #include "nco_grp_utl.h" /* Group utilities */
 #include "nco_lst_utl.h" /* List utilities */
 #include "nco_mmr.h" /* Memory management */
@@ -34,7 +35,8 @@ enum nco_cnk_plc{ /* [enm] Chunking policy */
   nco_cnk_plc_g2d, /* 2 [enm] Chunk variables >= two dimensions */
   nco_cnk_plc_g3d, /* 3 [enm] Chunk variables >= three dimensions */
   nco_cnk_plc_xpl, /* 4 [enm] Chunk variables with explicitly chunked dimensions */
-  nco_cnk_plc_uck /* 5 [enm] Unchunk all chunked variables */
+  nco_cnk_plc_xst, /* 5 [enm] Chunk variables that are chunked in input */
+  nco_cnk_plc_uck /* 6 [enm] Unchunk all chunked variables */
 }; /* end nco_cnk_plc enum */
 
 /* Chunking type maps: */
@@ -43,7 +45,10 @@ enum nco_cnk_map{ /* [enm] Chunking conversion map */
   nco_cnk_map_dmn, /* 1 [enm] Chunksize equals dimension size */
   nco_cnk_map_rd1, /* 2 [enm] Chunksize equals dimension size except record dimension has size one */
   nco_cnk_map_scl, /* 3 [enm] Chunksize equals scalar size specified */
-  nco_cnk_map_prd /* 4 [enm] Chunksize product is scalar size specified */
+  nco_cnk_map_prd, /* 4 [enm] Chunksize product is scalar size specified */
+  nco_cnk_map_lfp, /* 5 [enm] Chunksizes of lefter dimensions flexes to matches scalar size specified */
+  nco_cnk_map_xst, /* 6 [enm] Chunksize equals chunk-sizes in input file */
+  nco_cnk_map_rew /* 7 [enm] Chunksize balances access to 1D and 2D slabs of 3D variable */
 }; /* end nco_cnk_map enum */
 
 #ifdef __cplusplus
@@ -64,19 +69,30 @@ const char * /* O [sng] Chunking policy string */
 nco_cnk_plc_sng_get /* [fnc] Convert chunking policy enum to string */
 (const int nco_cnk_plc); /* I [enm] Chunking policy */
 
-cnk_sct ** /* O [sct] Structure list with user-specified chunking information */
+int /* [rcd] [enm] Return code */
+nco_cnk_ini /* [fnc] Create structure with all chunking information */
+(const char * const fl_out, /* I [sng] Output filename */
+ CST_X_PTR_CST_PTR_CST_Y(char,cnk_arg), /* I [sng] List of user-specified chunksizes */
+ const int cnk_nbr, /* I [nbr] Number of chunksizes specified */
+ const int cnk_map, /* I [enm] Chunking map */
+ const int cnk_plc, /* I [enm] Chunking policy */
+ const size_t cnk_sz_byt, /* I [B] Chunk size in bytes */
+ const size_t cnk_sz_scl, /* I [nbr] Chunk size scalar */
+ cnk_sct * const cnk); /* O [sct] Chunking structure */
+
+cnk_dmn_sct ** /* O [sct] Structure list with user-specified per-dimension chunking information */
 nco_cnk_prs /* [fnc] Create chunking structures with name and chunksize elements */
 (const int cnk_nbr, /* I [nbr] Number of chunksizes specified */
  CST_X_PTR_CST_PTR_CST_Y(char,cnk_arg)); /* I [sng] List of user-specified chunksizes */
 
-cnk_sct ** /* O [sct] Pointer to free'd structure list */
+cnk_dmn_sct ** /* O [sct] Pointer to free'd structure list */
 nco_cnk_lst_free /* [fnc] Free memory associated with chunking structure list */
-(cnk_sct **cnk_lst, /* I/O [sct] Chunking structure list to free */
+(cnk_dmn_sct **cnk_lst, /* I/O [sct] Chunking structure list to free */
  const int cnk_nbr); /* I [nbr] Number of chunking structures in list */
 
-cnk_sct * /* O [sct] Pointer to free'd chunking structure */
-nco_cnk_free /* [fnc] Free all memory associated with chunking structure */
-(cnk_sct *cnk); /* I/O [sct] Chunking structure to free */
+cnk_dmn_sct * /* O [sct] Pointer to free'd chunking structure */
+nco_cnk_dmn_free /* [fnc] Free all memory associated with chunking structure */
+(cnk_dmn_sct *cnk_dmn); /* I/O [sct] Chunking structure to free */
 
 void
 nco_cnk_sz_set /* [fnc] Set chunksize parameters */
@@ -86,9 +102,17 @@ nco_cnk_sz_set /* [fnc] Set chunksize parameters */
  int * const cnk_map_ptr, /* I/O [enm] Chunking map */
  int * const cnk_plc_ptr, /* I/O [enm] Chunking policy */
  const size_t cnk_sz_scl, /* I [nbr] Chunk size scalar */
- CST_X_PTR_CST_PTR_CST_Y(cnk_sct,cnk), /* I [sct] Chunking information */
+ CST_X_PTR_CST_PTR_CST_Y(cnk_dmn_sct,cnk_dmn), /* I [sct] Chunking information */
  const int cnk_nbr); /* I [nbr] Number of dimensions with user-specified chunking */
 
+void
+nco_cnk_sz_set_trv /* [fnc] Set chunksize parameters (GTT version of nco_cnk_sz_set() ) */
+(const int grp_id_in, /* I [id] netCDF group ID in input file */
+ const int grp_id_out, /* I [id] netCDF group ID in output file */
+ const cnk_sct * const cnk, /* I [sct] Chunking structure */
+ const char * const var_nm,  /* I [sng] Name of variable */
+ const dmn_cmn_sct * const dmn_cmn); /* I [sct] Dimension structure in output file */
+
 int /* O [enm] Chunking map */
 nco_cnk_map_get /* [fnc] Convert user-specified chunking map to key */
 (const char *nco_cnk_map_sng); /* [sng] User-specified chunking map */
@@ -110,7 +134,7 @@ nco_cnk_sz_get /* [fnc] Determine chunksize array */
  const int cnk_map, /* I [enm] Chunking map */
  const int cnk_plc, /* I [enm] Chunking policy */
  const size_t cnk_sz_scl, /* I [nbr] Chunk size scalar */
- CST_X_PTR_CST_PTR_CST_Y(cnk_sct,cnk), /* I [sct] Chunking information */
+ CST_X_PTR_CST_PTR_CST_Y(cnk_dmn_sct,cnk_dmn), /* I [sct] Chunking information */
  const int cnk_nbr); /* I [nbr] Number of dimensions with user-specified chunking */
 
 nco_bool /* O [flg] NCO will attempt to chunk variable */
@@ -118,18 +142,6 @@ nco_is_chunkable /* [fnc] Will NCO attempt to chunk variable? */
 (const nc_type nc_typ_in); /* I [enm] Type of input variable */
 #endif /* endif 0 */
 
-
-void
-nco_cnk_sz_set_trv                     /* [fnc] Set chunksize parameters (GTT version of nco_cnk_sz_set() ) */
-(const int grp_id,                     /* I [id] netCDF group ID in output file */
- int * const cnk_map_ptr,              /* I/O [enm] Chunking map */
- int * const cnk_plc_ptr,              /* I/O [enm] Chunking policy */
- const size_t cnk_sz_scl,              /* I [nbr] Chunk size scalar */
- CST_X_PTR_CST_PTR_CST_Y(cnk_sct,cnk), /* I [sct] Chunking information */
- const int cnk_nbr,                    /* I [nbr] Number of dimensions with user-specified chunking */
- const trv_sct * const var_trv);        /* I [sct] Variable Object */
-
-
 #ifdef __cplusplus
 } /* end extern "C" */
 #endif /* __cplusplus */
diff --git a/src/nco/nco_cnv_arm.c b/src/nco/nco_cnv_arm.c
index 5db3946..c4c6ee3 100644
--- a/src/nco/nco_cnv_arm.c
+++ b/src/nco/nco_cnv_arm.c
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_cnv_arm.c,v 1.33 2013/10/22 03:03:45 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_cnv_arm.c,v 1.35 2013/12/31 05:14:01 zender Exp $ */
 
 /* Purpose: ARM conventions, e.g., http://www.arm.gov/data/time.stm */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -138,7 +138,7 @@ nco_cnv_arm_time_install /* [fnc] Add time variable to concatenated ARM files */
   (void)nco_def_var(nc_id,time_sng,NC_DOUBLE,1,&time_dmn_id,&time_id);
 
   /* Set HDF Lempel-Ziv compression level, if requested */
-  if(dfl_lvl > 0) (void)nco_def_var_deflate(nc_id,time_id,(int)True,(int)True,dfl_lvl);
+  if(dfl_lvl >= 0) (void)nco_def_var_deflate(nc_id,time_id,(int)True,(int)True,dfl_lvl);
 
   /* Add attributes for time variable */
   (void)nco_put_att(nc_id,time_id,units_sng,NC_CHAR,(long int)(strlen(att_units)+1UL),(const void *)att_units);
diff --git a/src/nco/nco_cnv_arm.h b/src/nco/nco_cnv_arm.h
index 5edd287..8b129a1 100644
--- a/src/nco/nco_cnv_arm.h
+++ b/src/nco/nco_cnv_arm.h
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_cnv_arm.h,v 1.28 2013/01/13 06:07:47 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_cnv_arm.h,v 1.29 2013/12/31 05:14:01 zender Exp $ */
 
 /* Purpose: ARM conventions */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco/nco_cnv_csm.c b/src/nco/nco_cnv_csm.c
index dcfea2c..3f2d99d 100644
--- a/src/nco/nco_cnv_csm.c
+++ b/src/nco/nco_cnv_csm.c
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_cnv_csm.c,v 1.64 2013/11/13 20:31:34 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_cnv_csm.c,v 1.111 2014/02/19 04:27:43 zender Exp $ */
 
 /* Purpose: CCM/CCSM/CF conventions */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -224,26 +224,215 @@ nco_cnv_cf_crd_add /* [fnc] Add coordinates defined by CF convention */
   
 } /* end nco_cnv_cf_crd_add() */
 
-int /* [rcd] Return code */
-nco_cnv_cf_cll_mth_add /* [fnc] Add cell_methods attributes */
-(const int nc_id, /* I netCDF file ID */
- var_sct * const * const var, /* I [sct] Variable to reduce (e.g., average) (destroyed) */
- const int nbr_var, /* I [nbr] Number of variables to be defined */
- dmn_sct * const * const dim, /* I [sct] Dimensions over which to reduce variable */
- const int nbr_dim, /* I [sct] Number of dimensions to reduce variable over */
- const int nco_op_typ) /* I [enm] Operation type, default is average */
+int                                  /* [rcd] Return code */
+nco_cnv_cf_cll_mth_add               /* [fnc] Add cell_methods attributes */
+(const int out_id,                   /* I [id] netCDF file ID */
+ var_sct * const * const var,        /* I [sct] Variable to reduce (e.g., average) (destroyed) */
+ const int var_nbr,                  /* I [nbr] Number of variables to be defined */
+ dmn_sct * const * const dmn_rdc,        /* I [sct] Dimensions over which to reduce variable */
+ const int dmn_nbr_rdc,                  /* I [sct] Number of dimensions to reduce variable over */
+ const int nco_op_typ,               /* I [enm] Operation type, default is average */
+ gpe_sct *gpe,                       /* [sng] Group Path Editing (GPE) structure */
+ const trv_tbl_sct * const trv_tbl)  /* I [sct] Traversal table */
 {
   /* Purpose: Add/modify cell_methods attribute according to CF convention
-     http://www.cgd.ucar.edu/cms/eaton/cf-metadata/CF-1.0.html#cell-methods
-     http://www.cgd.ucar.edu/cms/eaton/cf-metadata/CF-1.0.html#sub_app
-     http://cf-pcmdi.llnl.gov/documents/cf-conventions/1.7-draft1/cf-conventions.html#cell-methods */
+     http://cf-pcmdi.llnl.gov/documents/cf-conventions/1.7-draft1/cf-conventions.html#cell-methods
+     
+     cell_methods values and description:
+     point	: Data values are representative of points in space or time (instantaneous)
+     sum	: Data values are representative of a sum or accumulation over the cell
+     maximum	: Maximum
+     median	: Median
+     mid_range	: Average of maximum and minimum
+     minimum	: Minimum
+     mean	: Mean (average value)
+     mode	: Mode (most common value)
+     range	: Absolute difference between maximum and minimum
+     standard_deviation : Standard deviation
+     variance	: Variance
+     
+     NCO operation types:
+     avg Mean value
+     sqravg Square of the mean
+     avgsqr Mean of sum of squares
+     max Maximium value
+     min Minimium value
+     rms Root-mean-square (normalized by N)
+     rmssdn Root-mean square (normalized by N-1)
+     sqrt Square root of the mean
+     ttl Sum of values */
 
   const char fnc_nm[]="nco_cnv_cf_cll_mth_add()"; /* [sng] Function name */
 
+  aed_sct aed; /* [sct] Structure containing information necessary to edit */
+
+  char att_op_sng[8]; /* [sng] Operation type (longest is nco_op_max which translates to "maximum") */
+
+  char *att_val_cpy; /* [sng] Copy of attribute */
+  char *grp_out_fll=NULL; /* [sng] Group name */
+
+  int *dmn_mch; /* [idx] Indices of dimensions reduced in this variable */
+
+  int dmn_idx_rdc;
+  int dmn_idx_var;
+  int dmn_nbr_mch; /* [nbr] Number of dimension names to add to cell_methods */
+  int grp_out_id; /* [ID] Group ID (output) */
+  int nco_op_typ_lcl; /* [enm] Operation type, default is average */
   int rcd=NC_NOERR; /* [rcd] Return code */
+  int var_idx;
+  int var_out_id; /* [ID] Variable ID (output) */
+
+  nc_type att_typ; /* [nbr] Attribute type */
+
+  trv_sct *var_trv=NULL;  /* [sct] Variable GTT object */
 
-  rcd=0*(nbr_dim+(int)strlen(fnc_nm)+nc_id+sizeof(var)+nbr_var+sizeof(dim)+nco_op_typ);
+  /* Initialize unchanging structure members */
+  aed.att_nm=strdup("cell_methods");
+  aed.type=NC_CHAR;
 
-  return rcd;
+  /* Allocate space for maximum number of matching dimensions */
+  dmn_mch=(int *)nco_calloc(dmn_nbr_rdc,sizeof(int));
   
+  /* Process all variables */
+  for(var_idx=0;var_idx<var_nbr;var_idx++){ 
+
+    /* Obtain variable GTT object using full variable name */
+    var_trv=trv_tbl_var_nm_fll(var[var_idx]->nm_fll,trv_tbl);
+
+    /* Edit group name for output */
+    if(gpe) grp_out_fll=nco_gpe_evl(gpe,var_trv->grp_nm_fll); else grp_out_fll=(char *)strdup(var_trv->grp_nm_fll);
+
+    /* Obtain output group ID using full group name */
+    (void)nco_inq_grp_full_ncid(out_id,grp_out_fll,&grp_out_id);
+
+    /* Memory management after current extracted group */
+    if(grp_out_fll) grp_out_fll=(char *)nco_free(grp_out_fll);
+
+    /* Get variable ID */
+    (void)nco_inq_varid(grp_out_id,var_trv->nm,&var_out_id);
+
+    /* Initialize attribute-edit structure for this variable */
+    aed.var_nm=var_trv->nm;
+    aed.id=var_out_id;
+    aed.sz=0L;
+    dmn_nbr_mch=0;
+
+    /* Format: blank-separated phrases of form "dmn1[, dmn2[...]]: op_typ" */ 
+    for(dmn_idx_var=0;dmn_idx_var<var_trv->nbr_dmn;dmn_idx_var++){
+      for(dmn_idx_rdc=0;dmn_idx_rdc<dmn_nbr_rdc;dmn_idx_rdc++){
+	/* 20140216 fxm: broken? should compare full names not short names? */
+        if(!strcmp(var_trv->var_dmn[dmn_idx_var].dmn_nm,dmn_rdc[dmn_idx_rdc]->nm)){
+	  /* Add length of each matching dimension to accumulating attribute size */
+          aed.sz+=strlen(dmn_rdc[dmn_idx_rdc]->nm);
+          dmn_mch[dmn_nbr_mch++]=dmn_idx_rdc;
+        } /* !match */
+      } /* dmn_idx_rdc */
+    } /* dmn_idx_var */
+    
+    assert(dmn_nbr_mch != 0);
+
+    /* Preserve rule to always return averages (never extrema or other statistics) of coordinates */
+    if(var[var_idx]->is_crd_var) nco_op_typ_lcl=nco_op_avg; else nco_op_typ_lcl=nco_op_typ;
+    /* NUL-terminate before concatenation */
+    att_op_sng[0]='\0';
+    switch(nco_op_typ_lcl){
+      /* Next four operations are defined in CF Conventions */
+    case nco_op_avg: strcpy(att_op_sng,"mean"); break;
+    case nco_op_min: strcpy(att_op_sng,"minimum"); break;
+    case nco_op_max: strcpy(att_op_sng,"maximum"); break;
+    case nco_op_ttl: strcpy(att_op_sng,"sum"); break;
+      /* Remaining operations are supported by NCO yet are not in CF Conventions */
+    case nco_op_sqravg: strcpy(att_op_sng,"sqravg"); break; /* Square of mean */
+    case nco_op_avgsqr: strcpy(att_op_sng,"avgsqr"); break; /* Mean of sum of squares */
+    case nco_op_sqrt: strcpy(att_op_sng,"sqrt"); break; /* Square root of mean */ 
+    case nco_op_rms: strcpy(att_op_sng,"rms"); break; /* Root-mean-square (normalized by N) */
+    case nco_op_rmssdn: strcpy(att_op_sng,"rmssdn"); break; /* Root-mean square normalized by N-1 */
+    case nco_op_nil: /* nco_op_nil, Undefined operation type */
+      if(nco_dbg_lvl_get() >= nco_dbg_var) (void)fprintf(stdout,"%s: DEBUG %s reports variable %s cell_method not implemented for operation %d\n",nco_prg_nm_get(),fnc_nm,var_trv->nm_fll,nco_op_typ);
+      continue;
+    } /* End switch */
+    
+    /* Initialize to size of ": " plus length of operation string */
+    aed.sz+=2L+strlen(att_op_sng);
+    /* Add room for commas and spaces, i.e., "dmn1, dmn2, dmn3" */
+    if(dmn_nbr_mch > 1) aed.sz+=2*(dmn_nbr_mch-1);
+    /* Add room for NUL-terminator */
+    aed.val.cp=(char *)nco_malloc((aed.sz+1L)*sizeof(char));
+    aed.val.cp[0]='\0';
+
+    /* Build single string by concatenating known matches */
+    for(int dmn_idx_mch=0;dmn_idx_mch<dmn_nbr_mch;dmn_idx_mch++){
+      (void)strcat(aed.val.cp,dmn_rdc[dmn_mch[dmn_idx_mch]]->nm);
+      if(dmn_idx_mch<dmn_nbr_mch-1) (void)strcat(aed.val.cp,", ");
+    } /* dmn_idx_mch>=dmn_nbr_mch */
+    (void)strcat(aed.val.cp,": ");
+    (void)strcat(aed.val.cp,att_op_sng);
+
+    /* Does variable already have "cell_methods" attribute? */
+    rcd=nco_inq_att_flg(grp_out_id,var_out_id,"cell_methods",&att_typ,(long *)NULL);
+    if(rcd == NC_NOERR){
+      aed.mode=aed_append;
+      if(att_typ == NC_STRING) (void)fprintf(stderr,"%s: WARNING %s reports existing cell_methods attribute for variable %s is type NC_STRING. Unpredictable results...\n",nco_prg_nm_get(),fnc_nm,aed.var_nm);
+      if(att_typ != NC_STRING && att_typ != NC_CHAR) (void)fprintf(stderr,"%s: WARNING %s reports existing cell_methods attribute for variable %s is type %s. Unpredictable results...\n",nco_prg_nm_get(),fnc_nm,aed.var_nm,nco_typ_sng(att_typ));
+      /* Insert space between existing attribute and appended attribute */
+      att_val_cpy=(char *)strdup(aed.val.cp);
+      aed.val.cp=(char *)nco_realloc(aed.val.cp,(++aed.sz)*sizeof(char));
+      aed.val.cp[0]=' ';
+      aed.val.cp[1]='\0';
+      (void)strcat(aed.val.cp,att_val_cpy);
+      if(att_val_cpy) att_val_cpy=(char *)nco_free(att_val_cpy);
+    }else{
+      aed.mode=aed_create;
+    } /* endif attribute exists */
+
+    /* Edit attribute */
+    (void)nco_aed_prc(grp_out_id,var_out_id,aed);
+
+    if(aed.val.cp) aed.val.cp=(char *)nco_free(aed.val.cp);
+
+  } /* var_idx>=var_nbr */
+
+  if(aed.att_nm) aed.att_nm=(char *)nco_free(aed.att_nm);
+  if(dmn_mch) dmn_mch=(int *)nco_free(dmn_mch);
+
+  return NC_NOERR;
+
 } /* end nco_cnv_cf_cll_mth_add() */
+
+int
+nco_rdc_sng_to_op_typ /* [fnc] Convert operation string to integer */
+(const char * const att_op_sng) /* [fnc] Operation string */
+{           
+  if(!strcmp(att_op_sng,"mean")) return nco_op_avg;
+  if(!strcmp(att_op_sng,"minimum")) return nco_op_min;
+  if(!strcmp(att_op_sng,"maximum")) return nco_op_max;
+  if(!strcmp(att_op_sng,"sum")) return nco_op_ttl;
+  if(!strcmp(att_op_sng,"sqravg")) return nco_op_sqravg;
+  if(!strcmp(att_op_sng,"avgsqr")) return nco_op_avgsqr;
+  if(!strcmp(att_op_sng,"sqrt")) return nco_op_sqrt;
+  if(!strcmp(att_op_sng,"rms")) return nco_op_rms;
+  if(!strcmp(att_op_sng,"rmssdn")) return nco_op_rmssdn;
+
+  return False; /* Statement should not be reached */
+} /* nco_rdc_sng_to_op_typ() */
+
+const char * /* O [sng] String describing operation type */
+nco_op_typ_to_rdc_sng /* [fnc] Convert operation type to string */
+(const int nco_op_typ) /* I [enm] Operation type */
+{           
+  switch(nco_op_typ){
+  case nco_op_avg: return "mean";
+  case nco_op_min: return "minimum";
+  case nco_op_max: return "maximum";
+  case nco_op_ttl: return "sum";
+  case nco_op_sqravg: return "sqravg";
+  case nco_op_avgsqr: return "avgsqr";
+  case nco_op_sqrt: return "sqrt";
+  case nco_op_rms: return "rms";
+  case nco_op_rmssdn: return "rmssdn";
+  default: 
+    nco_dfl_case_nc_type_err(); break;
+  } /* end switch */
+
+  return False; /* Statement should not be reached */
+} /* nco_op_typ_to_rdc_sng() */
diff --git a/src/nco/nco_cnv_csm.h b/src/nco/nco_cnv_csm.h
index 66975cf..9436bdb 100644
--- a/src/nco/nco_cnv_csm.h
+++ b/src/nco/nco_cnv_csm.h
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_cnv_csm.h,v 1.34 2013/01/13 06:07:47 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_cnv_csm.h,v 1.42 2014/02/17 23:12:38 zender Exp $ */
 
 /* Purpose: CCM/CCSM/CF conventions */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -47,14 +47,24 @@ nco_cnv_cf_crd_add /* [fnc] Add coordinates defined by CF convention */
  nm_id_sct *xtr_lst, /* I/O current extraction list (destroyed) */
  int * const xtr_nbr); /* I/O number of variables in current extraction list */
 
-int /* [rcd] Return code */
-nco_cnv_cf_cll_mth_add /* [fnc] Add cell_methods attributes */
-(const int nc_id, /* I netCDF file ID */
- var_sct * const * const var, /* I [sct] Variable to reduce (e.g., average) (destroyed) */
- const int nbr_var, /* I [nbr] Number of variables to be defined */
- dmn_sct * const * const dim, /* I [sct] Dimensions over which to reduce variable */
- const int nbr_dim, /* I [sct] Number of dimensions to reduce variable over */
- const int nco_op_typ); /* I [enm] Operation type, default is average */
+int                                  /* [rcd] Return code */
+nco_cnv_cf_cll_mth_add               /* [fnc] Add cell_methods attributes */
+(const int out_id,                   /* I [id] netCDF file ID */
+ var_sct * const * const var,        /* I [sct] Variable to reduce (e.g., average) (destroyed) */
+ const int var_nbr,                  /* I [nbr] Number of variables to be defined */
+ dmn_sct * const * const dmn,        /* I [sct] Dimensions over which to reduce variable */
+ const int dmn_nbr,                  /* I [sct] Number of dimensions to reduce variable over */
+ const int nco_op_typ,               /* I [enm] Operation type, default is average */
+ gpe_sct *gpe,                       /* [sng] Group Path Editing (GPE) structure */
+ const trv_tbl_sct * const trv_tbl); /* I [sct] Traversal table */
+
+int /* I [enm] Operation type */
+nco_rdc_sng_to_op_typ /* [fnc] Convert operation string to integer */
+(const char * const att_op_sng); /* I [sng] Operation string */
+
+const char * /* O [sng] String describing operation type */
+nco_op_typ_to_rdc_sng /* [fnc] Convert operation type to string */
+(const int nco_op_typ); /* I [enm] Operation type */
 
 #ifdef __cplusplus
 } /* end extern "C" */
diff --git a/src/nco/nco_ctl.c b/src/nco/nco_ctl.c
index ad97a11..65a4241 100644
--- a/src/nco/nco_ctl.c
+++ b/src/nco/nco_ctl.c
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_ctl.c,v 1.441 2013/12/03 00:28:01 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_ctl.c,v 1.463 2014/02/17 23:17:21 zender Exp $ */
 
 /* Purpose: Program flow control functions */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -686,7 +686,7 @@ nco_cnf_prn(void) /* [fnc] Print NCO configuration and help text */
 #define TKN2YESNO(x) ((x+0) ? ("No"):("Yes"))
   /* NB: Keep configuration option tokens consistent among configure.ac, bld/Makefile, and nco_ctl.c
      Alphabetize list by first word in English text description of token */
-  (void)fprintf(stdout,"Configuration Option:\tActive?\tMeaning or Reference:\nCheck _FillValue\t%s\thttp://nco.sf.net/nco.html#mss_val\nCheck missing_value\t%s\thttp://nco.sf.net/nco.html#mss_val\nCompressed netCDF3\t%s\thttp://nco.sf.net/nco.html#znetcdf (pre-alpha)\nDAP clients (libdap)\t%s\thttp://nco.sf.net/nco.html#dap\nDAP clients (libnetcdf)\t%s\thttp://nco.sf.net/nco.html#dap\nDebugging: Custom\t%s\tPedantic, bounds checking (slowest execution)\nDebugging: Symbols\t%s\tProduce s [...]
+  (void)fprintf(stdout,"Configuration Option:\tActive?\tMeaning or Reference:\nCheck _FillValue\t%s\thttp://nco.sf.net/nco.html#mss_val\nCheck missing_value\t%s\thttp://nco.sf.net/nco.html#mss_val\nCompressed netCDF3\t%s\thttp://nco.sf.net/nco.html#znetcdf (pre-alpha)\nDAP clients (libdap)\t%s\thttp://nco.sf.net/nco.html#dap\nDAP clients (libnetcdf)\t%s\thttp://nco.sf.net/nco.html#dap\nDebugging: Custom\t%s\tPedantic, bounds checking (slowest execution)\nDebugging: Symbols\t%s\tProduce s [...]
 		(!strcmp("_FillValue",nco_mss_val_sng_get())) ? "Yes" : "No",
 		(!strcmp("missing_value",nco_mss_val_sng_get())) ? "Yes" : "No",
 #if defined(ENABLE_ZNETCDF) && (ENABLE_ZNETCDF)
@@ -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 "Hungarian Goulash\n";
+  return "Dreams about Laura at Co-op, Shari in restaurant, John at conference\n";
 } /* end nco_nmn_get() */
 
 char * /* O [sng] nm_in stripped of any path (i.e., program name stub) */ 
@@ -910,41 +910,41 @@ nco_usg_prn(void)
 
   switch(prg_lcl){
   case ncap:
-    opt_sng=(char *)strdup("[-3] [-4] [-6] [-7] [-A] [--bfr sz] [-C] [-c] [--cnk_dmn nm,sz] [--cnk_map map] [--cnk_plc plc] [--cnk_scl sz] [-D nco_dbg_lvl] [-F] [-f] [--fl_fmt fmt] [-h] [--hdf] [--hdr_pad nbr] [-L lvl] [-l path] [--no_tmp_fl] [-O] [-o out.nc] [-p path] [-R] [-r] [--ram_all] [-s algebra] [-S fl.nco] [-t thr_nbr] [-v] in.nc [out.nc]\n");
+    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] [-F] [-f] [--fl_fmt fmt] [-h] [--hdf] [--hdr_pad nbr] [-L lvl] [-l path] [--no_tmp_fl] [-O] [-o out.nc] [-p path] [-R] [-r] [--ram_all] [-s algebra] [-S fl.nco] [-t thr_nbr] [-v] in.nc [out.nc]\n");
     break;
   case ncatted:
     opt_sng=(char *)strdup("[-a ...] [--bfr sz] [-D nco_dbg_lvl] [-h] [--hdr_pad nbr] [-l path] [-O] [-o out.nc] [-p path] [-R] [-r] in.nc [[out.nc]]\n");
     break;
   case ncbo:
-    opt_sng=(char *)strdup("[-3] [-4] [-6] [-7] [-A] [--bfr sz] [-C] [-c] [--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] [--msa] [-n ...] [--no_tmp_fl] [-O] [-o out.nc] [-p path] [-R] [-r] [--ram_all] [-t thr_nbr] [--unn] [-v ...] [-X box] [-x] [-y op_typ] in_1.nc in_2.nc [out.nc]\n");
+    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] [--fl_fmt fmt] [-G grp:lvl] [-g ...] [-h] [--hdf] [--hdr_pad nbr] [-L lvl] [-l path] [--msa] [-n ...] [--no_tmp_fl] [-O] [-o out.nc] [-p path] [-R] [-r] [--ram_all] [-t thr_nbr] [--unn] [-v ...] [-X box] [-x] [-y op_typ] in_1.nc in_2.nc [out.nc]\n");
     break;
   case ncflint:
-    opt_sng=(char *)strdup("[-3] [-4] [-6] [-7] [-A] [--bfr sz] [-C] [-c] [--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");
+    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_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 ...] [-H] [-h] [--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] [--ram_all] [-s format] [-u] [--unn] [-v ...] [-X  [...]
+    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 ...] [-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] [--ram_all] [-s format] [-u [...]
     break;
   case ncpdq:
-    opt_sng=(char *)strdup("[-3] [-4] [-6] [-7] [-A] [-a ...] [--bfr sz] [-C] [-c] [--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");
+    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");
     break;
   case ncra:
-    opt_sng=(char *)strdup("[-3] [-4] [-6] [-7] [-A] [--bfr sz] [-C] [-c] [--cnk_dmn nm,sz] [--cnk_map map] [--cnk_plc plc] [--cnk_scl sz] [-D nco_dbg_lvl] [-d ...]  [--dbl|flt] [-F] [--fl_fmt fmt] [-G grp:lvl] [-g ...] [-H] [-h] [--hdf] [--hdr_pad nbr] [-L lvl] [-l path] [--mro] [--msa] [-n ...] [--no_tmp_fl] [-O] [-o out.nc] [-p path] [-R] [-r] [--ram_all] [--rec_apn] [-t thr_nbr] [--unn] [-v ...] [-X box] [-x] [-y op_typ] in.nc [...] [out.nc]\n");
+    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 ...]  [--dbl|flt] [-F] [--fl_fmt fmt] [-G grp:lvl] [-g ...] [-H] [-h] [--hdf] [--hdr_pad nbr] [-L lvl] [-l path] [--mro] [--msa] [-n ...] [--no_cll_mth] [--no_tmp_fl] [-O] [-o out.nc] [-p path] [-R] [-r] [--ram_all] [--rec_apn] [-t thr_nbr] [--unn] [-v ...] [-X box] [-x] [-y op_typ] in.nc [...] [out.nc]\n");
     break;
   case ncfe:
   case ncge:
-    opt_sng=(char *)strdup("[-3] [-4] [-6] [-7] [-A] [--bfr sz] [-C] [-c] [--cnk_dmn nm,sz] [--cnk_map map] [--cnk_plc plc] [--cnk_scl sz] [-D nco_dbg_lvl] [-d ...]  [--dbl|flt] [-F] [--fl_fmt fmt] [-G grp:lvl] [-g ...] [-H] [-h] [--hdf] [--hdr_pad nbr] [-L lvl] [-l path] [--msa] [-n ...] [--no_tmp_fl] [--nsm_fl] [--nsm_grp] [--nsm_sfx] [-O] [-o out.nc] [-p path] [-R] [-r] [--ram_all] [-t thr_nbr] [--unn] [-v ...] [-X box] [-x] [-y op_typ] in.nc [...] [out.nc]\n");
+    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 ...]  [--dbl|flt] [-F] [--fl_fmt fmt] [-G grp:lvl] [-g ...] [-H] [-h] [--hdf] [--hdr_pad nbr] [-L lvl] [-l path] [--msa] [-n ...] [--no_tmp_fl] [--nsm_fl] [--nsm_grp] [--nsm_sfx] [-O] [-o out.nc] [-p path] [-R] [-r] [--ram_all] [-t thr_nbr] [--unn] [-v ...] [-X box] [-x] [-y op_typ] in.nc [...] [out.nc]\n");
     break;
   case ncrcat:
-    opt_sng=(char *)strdup("[-3] [-4] [-6] [-7] [-A] [--bfr sz] [-C] [-c] [--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] [-h] [--hdr_pad nbr] [-L lvl] [-l path] [--md5_digest] [--msa] [-n ...] [--no_tmp_fl] [-O] [-o out.nc] [-p path] [-R] [-r] [--ram_all] [--rec_apn] [-t thr_nbr] [--unn] [-v ...] [-X box] [-x] in.nc [...] [out.nc]\n");
+    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] [--fl_fmt fmt] [-G grp:lvl] [-g ...] [-H] [-h] [--hdr_pad nbr] [-L lvl] [-l path] [--md5_digest] [--msa] [-n ...] [--no_tmp_fl] [-O] [-o out.nc] [-p path] [-R] [-r] [--ram_all] [--rec_apn] [-t thr_nbr] [--unn] [-v ...] [-X box] [-x] in.nc [...] [out.nc]\n");
     break;
   case ncecat:
-    opt_sng=(char *)strdup("[-3] [-4] [-6] [-7] [-A] [--bfr sz] [-C] [-c] [--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 ...] [--gag] [-H] [-h] [--hdr_pad nbr] [-L lvl] [-l path] [-M] [--md5_digest] [--mrd] [--msa] [-n ...] [--no_tmp_fl] [-O] [-o out.nc] [-p path] [-R] [-r] [--ram_all] [-t thr_nbr] [-u ulm_nm] [--unn] [-v ...] [-X box] [-x] in.nc [...] [out.nc]\n");
+    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] [--fl_fmt fmt] [-G grp:lvl] [-g ...] [--gag] [-H] [-h] [--hdr_pad nbr] [-L lvl] [-l path] [-M] [--md5_digest] [--mrd] [--msa] [-n ...] [--no_tmp_fl] [-O] [-o out.nc] [-p path] [-R] [-r] [--ram_all] [-t thr_nbr] [-u ulm_nm] [--unn] [-v ...] [-X box] [-x] in.nc [...] [out.nc]\n");
     break;
   case ncrename:
     opt_sng=(char *)strdup("[-a ...] [--bfr sz] [-D nco_dbg_lvl] [-d ...] [-g ...] [-h] [--hdr_pad nbr] [-l path] [-O] [-o out.nc] [-p path] [-R] [-r] [-v ...] in.nc [[out.nc]]\n");
     break;
   case ncwa:
-    opt_sng=(char *)strdup("[-3] [-4] [-6] [-7] [-A] [-a ...] [-B mask_cond] [-b] [--bfr sz] [-C] [-c] [--cnk_dmn nm,sz] [--cnk_map map] [--cnk_plc plc] [--cnk_scl sz] [-D nco_dbg_lvl] [-d ...]  [--dbl|flt] [-F] [--fl_fmt fmt] [-G grp:lvl] [-g ...] [-h] [--hdf] [--hdr_pad nbr] [-I] [-L lvl] [-l path] [-m mask] [-M mask_val] [-N] [--no_tmp_fl] [-O] [-o out.nc] [-p path] [-R] [-r] [--ram_all] [-T mask_comp] [-t thr_nbr] [--unn] [-v ...] [-w wgt] [-x] [-y op_typ] in.nc [out.nc]\n");
+    opt_sng=(char *)strdup("[-3] [-4] [-6] [-7] [-A] [-a ...] [-B mask_cond] [-b] [--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 ...]  [--dbl|flt] [-F] [--fl_fmt fmt] [-G grp:lvl] [-g ...] [-h] [--hdf] [--hdr_pad nbr] [-I] [-L lvl] [-l path] [-m mask] [-M mask_val] [-N] [--no_cll_mth] [--no_tmp_fl] [-O] [-o out.nc] [-p path] [-R] [-r] [--ram_all] [-T mask_comp] [-t thr_nbr] [--unn] [-v ...] [-w wgt] [-x] [-y op_ty [...]
     break;
   default: nco_dfl_case_prg_id_err(); break;
   } /* end switch */
@@ -983,27 +983,27 @@ nco_usg_prn(void)
   if(strstr(opt_sng,"[-c]")) (void)fprintf(stdout,"-c, --crd, --coords\tCoordinate variables will all be processed\n");
   if(strstr(opt_sng,"--cdl")) (void)fprintf(stdout,"    --cdl\t\tPrint CDL (netCDF lingua franca used by ncdump/ncgen)\n");
   if(strstr(opt_sng,"--cnk_dmn")) (void)fprintf(stdout,"    --cnk_dmn, --chunk_dimension nm,sz\tChunksize of dimension nm is sz\n");
-  if(strstr(opt_sng,"--cnk_map")) (void)fprintf(stdout,"    --cnk_map, --chunk_map map\t\tChunking map [dmn,rd1,prd,xpl]\n");
-  if(strstr(opt_sng,"--cnk_plc")) (void)fprintf(stdout,"    --cnk_plc, --chunk_policy plc\tChunking policy [all,g2d,g3d,xpl,uck]\n");
+  if(strstr(opt_sng,"--cnk_map")) (void)fprintf(stdout,"    --cnk_map, --chunk_map map\t\tChunking map [dmn,lfp,prd,rd1,rew,scl,xpl,xst]\n");
+  if(strstr(opt_sng,"--cnk_plc")) (void)fprintf(stdout,"    --cnk_plc, --chunk_policy plc\tChunking policy [all,g2d,g3d,xpl,xst,uck]\n");
   if(strstr(opt_sng,"--cnk_scl")) (void)fprintf(stdout,"    --cnk_scl, --chunk_scalar sz\tChunksize scalar (for all dimensions)\n");
-  if(strstr(opt_sng,"[-D")) (void)fprintf(stdout,"-D, --dbg_lvl, --debug-level nco_dbg_lvl\tDebugging level\n");
+  if(strstr(opt_sng,"[-D")) (void)fprintf(stdout,"-D, --dbg_lvl, --debug-level lvl\tDebug-level is lvl\n");
   if(strstr(opt_sng,"[-d")){
     if(prg_lcl == ncrename) (void)fprintf(stdout,"-d, --dmn, --dimension old_dim,new_dim Dimension's old and new names\n");
-    else if(prg_lcl == ncra || prg_lcl == ncrcat) (void)fprintf(stdout,"-d, --dmn, --dimension dim,[min][,[max][[[,stride[,duration]]]]] Dimension's limits, stride, duration in hyperslab\n");
+    else if(prg_lcl == ncra || prg_lcl == ncrcat) (void)fprintf(stdout,"-d, --dmn, --dimension dim,[min][,[max][[[,stride[,subcycle]]]]] Dimension's limits, stride, subcycle in hyperslab\n");
     else (void)fprintf(stdout,"-d, --dmn, --dimension dim,[min][,[max]][,[stride]] Dimension's limits and stride in hyperslab\n");
   } /* end if -d */
   if(strstr(opt_sng,"--dbl|flt")) (void)fprintf(stdout,"    --dbl, --flt, --rth_dbl|flt\tdbl: Always promote single- to double-precision b4 arithmetic (default). flt: OK with single-precision arithmetic.\n");
   if(strstr(opt_sng,"[-F]")) (void)fprintf(stdout,"-F, --ftn, --fortran\tFortran indexing conventions (1-based) for I/O\n");
   if(strstr(opt_sng,"[-f]")) (void)fprintf(stdout,"-f, --fnc_tbl, --prn_fnc_tbl\tPrint function table\n");
   if(strstr(opt_sng,"--fix_rec_crd")) (void)fprintf(stdout,"    --fix_rec_crd\tDo not interpolate/multiply record coordinate variables\n");
-  if(strstr(opt_sng,"--fix_rec_dmn dim")) (void)fprintf(stdout,"    --fix_rec_dmn dim\tChange dimension dim to fixed dimension in output file\n");
+  if(strstr(opt_sng,"--fix_rec_dmn dim")) (void)fprintf(stdout,"    --fix_rec_dmn dim\tChange dimension dim (or all) to fixed dimension in output file\n");
 #ifdef ENABLE_NETCDF4
   if(strstr(opt_sng,"--fl_fmt")) (void)fprintf(stdout,"    --fl_fmt, --file_format fmt\tFile format [classic,64bit,netcdf4,netcdf4_classic]\n");
 #else /* !ENABLE_NETCDF4 */
   if(strstr(opt_sng,"--fl_fmt")) (void)fprintf(stdout,"    --fl_fmt, --file_format fmt\tFile format [classic,64bit]\n");
 #endif /* !ENABLE_NETCDF4 */
 #ifdef ENABLE_NETCDF4
-  if(strstr(opt_sng,"--gag")) (void)fprintf(stdout,"  --gag, --aggregate_group\tGroup Aggregation (not Record Aggregation)\n");
+  if(strstr(opt_sng,"--gag")) (void)fprintf(stdout,"    --gag, --aggregate_group\tGroup Aggregation (not Record Aggregation)\n");
   if(strstr(opt_sng,"[-G")) (void)fprintf(stdout,"-G, --gpe [grp_nm][:[lvl]]\tGroup Path Editing path, levels to replace\n");
   if(strstr(opt_sng,"[-g")){
     if(prg_lcl == ncrename) (void)fprintf(stdout,"-g, --grp --group\told_grp,new_grp Group's old and new names\n");
@@ -1015,6 +1015,7 @@ nco_usg_prn(void)
     if(nco_is_mfo(prg_lcl)) (void)fprintf(stdout,"-H, --fl_lst_in, --file_list\tDo not create \"input_file_list\" global attribute\n");
   } /* end if -H */
   if(strstr(opt_sng,"[-h]")) (void)fprintf(stdout,"-h, --hst, --history\tDo not append to \"history\" global attribute\n");
+  if(strstr(opt_sng,"--hdn")) (void)fprintf(stdout,"    --hdn, --hidden\tPrint hidden (aka special) attributes\n");
   if(strstr(opt_sng,"--hdf")) (void)fprintf(stdout,"    --hdf_upk, --hdf_upk\tHDF unpack convention: unpacked=scale_factor*(packed-add_offset)\n");
   if(strstr(opt_sng,"--hdr_pad")) (void)fprintf(stdout,"    --hdr_pad, --header_pad\tPad output header with nbr bytes\n");
   if(strstr(opt_sng,"[-i var,val]")) (void)fprintf(stdout,"-i, --ntp, --interpolate var,val\tInterpolant and value\n");
@@ -1043,6 +1044,7 @@ nco_usg_prn(void)
     if(prg_lcl != ncwa) (void)fprintf(stdout,"-n, --nintap nbr_files,[nbr_numeric_chars[,increment]] NINTAP-style abbreviation of file list\n");
   } /* end if -n */
   if(strstr(opt_sng,"--no_blank")) (void)fprintf(stdout,"    --no_blank\t\tPrint numeric missing values instead of blanks (underscores)\n");
+  if(strstr(opt_sng,"--no_cll_mth")) (void)fprintf(stdout,"    --no_cll_mth\tDo not add/modify cell_methods attributes\n");
   if(strstr(opt_sng,"--no_tmp_fl")) (void)fprintf(stdout,"    --no_tmp_fl\t\tDo not write output to temporary file\n");
   if(strstr(opt_sng,"--nsm_fl")) (void)fprintf(stdout,"    --nsm_fl, --ensemble_file\tEnsembles comprise equally weighted files\n");
   if(strstr(opt_sng,"--nsm_grp")) (void)fprintf(stdout,"    --nsm_grp, --ensemble_group\tEnsembles comprise equally weighted groups\n");
diff --git a/src/nco/nco_ctl.h b/src/nco/nco_ctl.h
index 9e04346..23c4550 100644
--- a/src/nco/nco_ctl.h
+++ b/src/nco/nco_ctl.h
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_ctl.h,v 1.46 2013/10/22 03:03:45 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_ctl.h,v 1.47 2013/12/31 05:14:01 zender Exp $ */
 
 /* Purpose: Program flow control functions */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco/nco_dbg.c b/src/nco/nco_dbg.c
index 0aaf1ea..8d9c984 100644
--- a/src/nco/nco_dbg.c
+++ b/src/nco/nco_dbg.c
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_dbg.c,v 1.20 2013/10/22 03:03:45 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_dbg.c,v 1.21 2013/12/31 05:14:01 zender Exp $ */
 
 /* Purpose: Debugging */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco/nco_dbg.h b/src/nco/nco_dbg.h
index 03033ef..d4d6711 100644
--- a/src/nco/nco_dbg.h
+++ b/src/nco/nco_dbg.h
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_dbg.h,v 1.18 2013/01/13 06:07:47 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_dbg.h,v 1.19 2013/12/31 05:14:01 zender Exp $ */
 
 /* Purpose: Debugging */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco/nco_dmn_utl.c b/src/nco/nco_dmn_utl.c
index 40f70d0..1718fa1 100644
--- a/src/nco/nco_dmn_utl.c
+++ b/src/nco/nco_dmn_utl.c
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_dmn_utl.c,v 1.66 2013/10/22 03:03:45 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_dmn_utl.c,v 1.68 2014/01/02 22:56:39 zender Exp $ */
 
 /* Purpose: Dimension utilities */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -140,7 +140,7 @@ void
 nco_dmn_cnk_mrg /* [fnc] Merge chunking information into dimension structures */
 (dmn_sct ** const dmn, /* I [sct] Dimension structures to modify */
  const int nbr_dmn, /* I [nbr] Number of dimension structures in structure list */
- CST_X_PTR_CST_PTR_CST_Y(cnk_sct,cnk), /* I [sct] Chunking information */
+ CST_X_PTR_CST_PTR_CST_Y(cnk_dmn_sct,cnk_dmn), /* I [sct] Chunking information */
  const int cnk_nbr) /* I [nbr] Number of dimensions with user-specified chunking */
 {
   /* Purpose: Merge chunking information into dimension structures */
@@ -151,8 +151,8 @@ nco_dmn_cnk_mrg /* [fnc] Merge chunking information into dimension structures */
     /* Does this dimension have user-specified chunking? */
     for(cnk_idx=0;cnk_idx<cnk_nbr;cnk_idx++){
       /* Match on name not ID so nco_dmn_cnk_mrg() works on any input file */
-      if(!strcmp(cnk[cnk_idx]->nm,dmn[dmn_idx]->nm)){
-	dmn[dmn_idx]->cnk_sz=cnk[cnk_idx]->sz;
+      if(!strcmp(cnk_dmn[cnk_idx]->nm,dmn[dmn_idx]->nm)){
+	dmn[dmn_idx]->cnk_sz=cnk_dmn[cnk_idx]->sz;
 	break;
       } /* end if */
     } /* end loop over cnk_idx */
diff --git a/src/nco/nco_dmn_utl.h b/src/nco/nco_dmn_utl.h
index 2ddad66..6235817 100644
--- a/src/nco/nco_dmn_utl.h
+++ b/src/nco/nco_dmn_utl.h
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_dmn_utl.h,v 1.47 2013/06/17 05:24:33 pvicente Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_dmn_utl.h,v 1.49 2014/01/02 22:56:39 zender Exp $ */
 
 /* Purpose: Dimension utilities */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -66,7 +66,7 @@ void
 nco_dmn_cnk_mrg /* [fnc] Merge chunking information into dimension structures */
 (dmn_sct ** const dmn, /* I [sct] Dimension structures to modify */
  const int nbr_dmn, /* I [nbr] Number of dimension structures in structure list */
- CST_X_PTR_CST_PTR_CST_Y(cnk_sct,cnk), /* I [sct] Chunking information */
+ CST_X_PTR_CST_PTR_CST_Y(cnk_dmn_sct,cnk_dmn), /* I [sct] Chunking information */
  const int cnk_nbr); /* I [nbr] Number of dimensions with user-specified chunking */
 
 void
diff --git a/src/nco/nco_fl_utl.c b/src/nco/nco_fl_utl.c
index ac23067..11f1428 100644
--- a/src/nco/nco_fl_utl.c
+++ b/src/nco/nco_fl_utl.c
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_fl_utl.c,v 1.228 2013/12/02 00:13:21 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_fl_utl.c,v 1.239 2014/02/20 18:25:45 zender Exp $ */
 
 /* Purpose: File manipulation */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -104,7 +104,7 @@ nco_fl_fmt_vet /* [fnc] Verify output file format supports requested actions */
 {
   /* Purpose: Verify output file format supports requested actions */
   if(cnk_nbr > 0 && !(fl_fmt == NC_FORMAT_NETCDF4 || fl_fmt == NC_FORMAT_NETCDF4_CLASSIC)) (void)fprintf(stdout,"%s: WARNING Attempt to chunk variables in output file which has netCDF format %s. Chunking is only supported by netCDF filetypes NC_FORMAT_NETCDF4 and NC_FORMAT_NETCDF4_CLASSIC. Command will attempt to complete but without chunking. HINT: re-run command and change output type to netCDF4 using \"-4\", \"--fl_fmt=netcdf4\", or \"--fl_fmt=netcdf4_classic\" option.\n",nco_prg_nm_g [...]
-  if(dfl_lvl > 0 && !(fl_fmt == NC_FORMAT_NETCDF4 || fl_fmt == NC_FORMAT_NETCDF4_CLASSIC)) (void)fprintf(stdout,"%s: WARNING Attempt to deflate (compress) variables in output file which has netCDF format %s. Deflation is only supported by netCDF filetypes NC_FORMAT_NETCDF4 and NC_FORMAT_NETCDF4_CLASSIC. Command will attempt to complete but without deflation. HINT: re-run command and change output type to netCDF4 using \"-4\", \"--fl_fmt=netcdf4\", or \"--fl_fmt=netcdf4_classic\" option.\ [...]
+  if(dfl_lvl >= 0 && !(fl_fmt == NC_FORMAT_NETCDF4 || fl_fmt == NC_FORMAT_NETCDF4_CLASSIC)) (void)fprintf(stdout,"%s: WARNING Attempt to deflate (compress) variables in output file which has netCDF format %s. Deflation is only supported by netCDF filetypes NC_FORMAT_NETCDF4 and NC_FORMAT_NETCDF4_CLASSIC. Command will attempt to complete but without deflation. HINT: re-run command and change output type to netCDF4 using \"-4\", \"--fl_fmt=netcdf4\", or \"--fl_fmt=netcdf4_classic\" option. [...]
 } /* end nco_nco_fl_fmt_vet() */
 
 void
@@ -166,8 +166,6 @@ nco_fl_chmod /* [fnc] Ensure file is user/owner-writable */
      Uses chmod() C-library call rather than chmod shell program
      Routine assumes that output file already exists, but is of unknown mode */
 
-  //  blksize_t fl_sys_blk_sz; /* [nbr] File system blocksize for I/O */
-
   const char fnc_nm[]="nco_fl_chmod()"; /* [sng] Function name */
   
   int rcd_sys;
@@ -187,16 +185,12 @@ nco_fl_chmod /* [fnc] Ensure file is user/owner-writable */
      S_IRWXU    00700     mask for file owner permissions
      S_IWUSR    00200     owner has write permission
      Method of checking: 
-     First  bit-wise "and" (& S_IRWXU) uses mask to strips full, multibyte, file mode flag of all but user/owner byte 
-     Second bit-wise "and" (& S_IWUSR) is only "true" (non-zero) is owner write permission is set */
+     First  bit-wise "and" (& S_IRWXU) uses mask to strip full, multibyte, file mode flag of all but user/owner byte 
+     Second bit-wise "and" (& S_IWUSR) is "true" (non-zero) iff owner write permission is set */
   fl_md=stat_sct.st_mode;
-  /* Blocksize information in stat structure:
-     blksize_t st_blksize blocksize for file system I/O */
-  // fl_sys_blk_sz=stat_sct.st_blksize;
   fl_usr_md=fl_md & S_IRWXU;
   fl_usr_wrt_md=fl_usr_md & S_IWUSR;
   if(nco_dbg_lvl_get() >= nco_dbg_scl) (void)fprintf(stderr,"%s: %s reports permissions for file %s are (octal) = %lo\n",nco_prg_nm_get(),fnc_nm,fl_nm,(unsigned long)fl_md);
-  // if(nco_dbg_lvl_get() >= nco_dbg_scl) (void)fprintf(stderr,"%s: %s reports preferred filesystem I/O block size: %ld bytes\n",nco_prg_nm_get(),fnc_nm,(long)fl_sys_blk_sz);
   if(!fl_usr_wrt_md){
     /* Set user-write bit of output file */
     fl_md=fl_md | S_IWUSR;
@@ -219,11 +213,13 @@ nco_fl_cp /* [fnc] Copy first file to second */
  const char * const fl_dst) /* I [sng] Name of destination file */
 {
   /* Purpose: Copy first file to second */
-  char *cp_cmd;
+  char *cmd_cp;
+  char *fl_dst_cdl;
+  char *fl_src_cdl;
 #ifdef _MSC_VER
-  const char cp_cmd_fmt[]="copy %s %s";
+  const char cmd_cp_fmt[]="copy %s %s";
 #else /* !_MSC_VER */
-  const char cp_cmd_fmt[]="cp %s %s";
+  const char cmd_cp_fmt[]="cp %s %s";
 #endif /* !_MSC_VER */
 
   int rcd;
@@ -235,17 +231,25 @@ nco_fl_cp /* [fnc] Copy first file to second */
     return;
   } /* end if */
 
+  /* 20131227 Allow for whitespace characters in fl_dst 
+     Assume CDL translation results in acceptable name for shell commands */
+  fl_src_cdl=nm2sng_cdl(fl_src);
+  fl_dst_cdl=nm2sng_cdl(fl_dst);
+
   /* Construct and execute copy command */
-  cp_cmd=(char *)nco_malloc((strlen(cp_cmd_fmt)+strlen(fl_src)+strlen(fl_dst)-fmt_chr_nbr+1UL)*sizeof(char));
-  if(nco_dbg_lvl_get() >= nco_dbg_std) (void)fprintf(stderr,"%s: Copying %s to %s...",nco_prg_nm_get(),fl_src,fl_dst);
-  (void)sprintf(cp_cmd,cp_cmd_fmt,fl_src,fl_dst);
-  rcd=system(cp_cmd);
+  cmd_cp=(char *)nco_malloc((strlen(cmd_cp_fmt)+strlen(fl_src_cdl)+strlen(fl_dst_cdl)-fmt_chr_nbr+1UL)*sizeof(char));
+  if(nco_dbg_lvl_get() >= nco_dbg_std) (void)fprintf(stderr,"%s: Copying %s to %s...",nco_prg_nm_get(),fl_src_cdl,fl_dst_cdl);
+  (void)sprintf(cmd_cp,cmd_cp_fmt,fl_src_cdl,fl_dst_cdl);
+  rcd=system(cmd_cp);
   if(rcd == -1){
-    (void)fprintf(stdout,"%s: ERROR nco_fl_cp() is unable to execute cp command \"%s\"\n",nco_prg_nm_get(),cp_cmd);
+    (void)fprintf(stdout,"%s: ERROR nco_fl_cp() is unable to execute cp command \"%s\"\n",nco_prg_nm_get(),cmd_cp);
     nco_exit(EXIT_FAILURE);
   } /* end if */
-  cp_cmd=(char *)nco_free(cp_cmd);
   if(nco_dbg_lvl_get() >= nco_dbg_std) (void)fprintf(stderr,"done\n");
+
+  cmd_cp=(char *)nco_free(cmd_cp);
+  if(fl_dst_cdl) fl_dst_cdl=(char *)nco_free(fl_dst_cdl);
+  if(fl_src_cdl) fl_src_cdl=(char *)nco_free(fl_src_cdl);
 } /* end nco_fl_cp() */
 
 #ifdef _MSC_VER
@@ -1137,6 +1141,9 @@ nco_fl_mv /* [fnc] Move first file to second */
 {
   /* Purpose: Move first file to second */
   char *cmd_mv;
+  char *fl_dst_cdl;
+  char *fl_src_cdl;
+
 #ifdef _MSC_VER
   const char cmd_mv_fmt[]="move %s %s";
 #else /* !_MSC_VER */
@@ -1152,17 +1159,25 @@ nco_fl_mv /* [fnc] Move first file to second */
     return;
   } /* end if */
 
-  /* Construct and execute copy command */
-  cmd_mv=(char *)nco_malloc((strlen(cmd_mv_fmt)+strlen(fl_src)+strlen(fl_dst)-fmt_chr_nbr+1UL)*sizeof(char));
-  if(nco_dbg_lvl_get() >= nco_dbg_std) (void)fprintf(stderr,"%s: INFO Moving %s to %s...",nco_prg_nm_get(),fl_src,fl_dst);
-  (void)sprintf(cmd_mv,cmd_mv_fmt,fl_src,fl_dst);
+  /* 20131227 Allow for whitespace characters in fl_dst 
+     Assume CDL translation results in acceptable name for shell commands */
+  fl_src_cdl=nm2sng_cdl(fl_src);
+  fl_dst_cdl=nm2sng_cdl(fl_dst);
+
+  /* Construct and execute move command */
+  cmd_mv=(char *)nco_malloc((strlen(cmd_mv_fmt)+strlen(fl_src_cdl)+strlen(fl_dst_cdl)-fmt_chr_nbr+1UL)*sizeof(char));
+  if(nco_dbg_lvl_get() >= nco_dbg_std) (void)fprintf(stderr,"%s: INFO Moving %s to %s...",nco_prg_nm_get(),fl_src_cdl,fl_dst_cdl);
+  (void)sprintf(cmd_mv,cmd_mv_fmt,fl_src_cdl,fl_dst_cdl);
   rcd_sys=system(cmd_mv);
   if(rcd_sys == -1){
     (void)fprintf(stdout,"%s: ERROR nco_fl_mv() unable to execute mv command \"%s\"\n",nco_prg_nm_get(),cmd_mv);
     nco_exit(EXIT_FAILURE);
   } /* end if */
-  cmd_mv=(char *)nco_free(cmd_mv);
   if(nco_dbg_lvl_get() >= nco_dbg_std) (void)fprintf(stderr,"done\n");
+
+  cmd_mv=(char *)nco_free(cmd_mv);
+  if(fl_dst_cdl) fl_dst_cdl=(char *)nco_free(fl_dst_cdl);
+  if(fl_src_cdl) fl_src_cdl=(char *)nco_free(fl_src_cdl);
 } /* end nco_fl_mv() */
 
 char * /* O [sng] Name of file to retrieve */
@@ -1298,7 +1313,7 @@ nco_fl_nm_prs /* [fnc] Construct file name from input arguments */
       sng=(char *)nco_free(sng);
     } /* end else */
 
-    /* Windows uses backslash for path separator; escape the character */
+    /* Windows uses backslash for path separator; escape that character */
     if(is_url) (void)strcat(fl_nm,"/"); else (void)strcat(fl_nm,"\\");
    
 #else /* !_MSC_VER */
@@ -1323,8 +1338,12 @@ nco_fl_open /* [fnc] Open file using appropriate buffer size hints and verbosity
 {
   /* Purpose: Open file using appropriate buffer size hints and verbosity
      ncks -O -D 3 --bfr_sz=8192 ~/nco/data/in.nc ~/foo.nc */
+  const char fnc_nm[]="nco_fl_open()"; /* [sng] Function name */
 
   int rcd=NC_NOERR; /* [rcd] Return code */
+  int fl_fmt_xtn_prv; /* I [enm] Previous extended file format */
+  int fl_fmt_xtn_crr; /* I [enm] Current  extended file format */
+  int mode; /* I [enm] Mode flag for nc_inq_format_extended() call */
 
   nco_bool flg_rqs_vrb_mpl; /* [flg] Sufficiently verbose implicit request */
   nco_bool flg_rqs_vrb_xpl; /* [flg] Sufficiently verbose explicit request */
@@ -1338,21 +1357,85 @@ nco_fl_open /* [fnc] Open file using appropriate buffer size hints and verbosity
   flg_rqs_vrb_mpl = ((bfr_sz_hnt == NULL || *bfr_sz_hnt == NC_SIZEHINT_DEFAULT) && nco_dbg_lvl_get() >= nco_dbg_var) ? True : False;
 
   /* Is request explicit and sufficiently verbose? */
-  flg_rqs_vrb_xpl = ((bfr_sz_hnt != NULL && *bfr_sz_hnt != NC_SIZEHINT_DEFAULT) && nco_dbg_lvl_get() >= nco_dbg_fl ) ? True : False;
+  flg_rqs_vrb_xpl = ((bfr_sz_hnt != NULL && *bfr_sz_hnt != NC_SIZEHINT_DEFAULT) && nco_dbg_lvl_get() >= nco_dbg_fl)  ? True : False;
 
   /* Print implicit or explicit buffer request depending on debugging level */
-  if(flg_rqs_vrb_mpl) (void)fprintf(stderr,"%s: INFO nc__open() will request file buffer of default size\n",nco_prg_nm_get()); 
-  if(flg_rqs_vrb_xpl) (void)fprintf(stderr,"%s: INFO nc__open() will request file buffer size = %lu bytes\n",nco_prg_nm_get(),(unsigned long)*bfr_sz_hnt); 
+  if(flg_rqs_vrb_mpl) (void)fprintf(stderr,"%s: INFO %s reports nc__open() will request file buffer of default size\n",nco_prg_nm_get(),fnc_nm); 
+  if(flg_rqs_vrb_xpl) (void)fprintf(stderr,"%s: INFO %s reports nc__open() will request file buffer size = %lu bytes\n",nco_prg_nm_get(),fnc_nm,(unsigned long)*bfr_sz_hnt); 
 
   /* Pass local copy of size hint otherwise user-specified value is overwritten on first call */
   rcd=nco__open(fl_nm,md_open,&bfr_sz_hnt_lcl,nc_id);
   
   /* Print results using same verbosity criteria
      NB: bfr_sz_hnt_lcl is never NULL because nco__open() always returns a valid size */
-  if(flg_rqs_vrb_mpl || flg_rqs_vrb_xpl) (void)fprintf(stderr,"%s: INFO nc__open() opened file with buffer size = %lu bytes\n",nco_prg_nm_get(),(unsigned long)bfr_sz_hnt_lcl);
+  if(flg_rqs_vrb_mpl || flg_rqs_vrb_xpl) (void)fprintf(stderr,"%s: INFO %s reports nc__open() opened file with buffer size = %lu bytes\n",nco_prg_nm_get(),fnc_nm,(unsigned long)bfr_sz_hnt_lcl);
+
+  /* 20131222: Update underlying file-type using new nc_inq_format_extended() function */
+  fl_fmt_xtn_prv=nco_fmt_xtn_get();
+  rcd+=nco_inq_format_extended(*nc_id,&fl_fmt_xtn_crr,&mode);
+  if(fl_fmt_xtn_prv != nco_fmt_xtn_nil){
+    /* Complain if set value of extended type does not match current type */
+    if(fl_fmt_xtn_prv != fl_fmt_xtn_crr) (void)fprintf(stderr,"%s: INFO %s reports current extended filetype = %s does not equal previous extended filetype = %s. This is expected when NCO is instructed to convert filetypes, i.e., to read from one type and write to another. However, it could also indicate an unexpected change in input dataset type that the user should be cognizant of.\n",nco_prg_nm_get(),fnc_nm,nco_fmt_xtn_sng(fl_fmt_xtn_crr),nco_fmt_xtn_sng(fl_fmt_xtn_prv));
+  }else{
+    /* Set undefined extended file type to actual extended filetype */
+    nco_fmt_xtn_set(fl_fmt_xtn_crr);
+  } /* endif */
+  if(nco_dbg_lvl_get() >= nco_dbg_fl) (void)fprintf(stderr,"%s: INFO Extended filetype of %s is %s, mode = %d\n",nco_prg_nm_get(),fl_nm,nco_fmt_xtn_sng(fl_fmt_xtn_crr),mode);
 
   return rcd;
-} /* end nco_fl_open */
+} /* end nco_fl_open() */
+
+size_t /* [B] Blocksize */
+nco_fl_blocksize /* [fnc] Find blocksize of filesystem will or does contain this file */
+(const char * const fl_out) /* [sng] Filename */
+{
+  /* Purpose: Find blocksize of filesystem will or does contain this file */
+  const char fnc_nm[]="nco_fl_blocksize()"; /* [sng] Function name */
+  const char sls_chr='/';   /* [chr] Slash character */
+  
+  char *drc_out; /* [sng] Directory containing output file */
+  char *sls_ptr; /* [sng] Pointer to slash */
+  
+  int rcd_stt=0; /* [rcd] Return code from stat() */
+  
+  size_t fl_sys_blk_sz=0UL; /* [nbr] File system blocksize for I/O */
+
+  struct stat stat_sct;
+
+  drc_out=(char *)strdup(fl_out);
+  
+  /* Find last occurence of '/' */
+  sls_ptr=strrchr(drc_out,sls_chr);
+  
+  if(sls_ptr){
+    /* Filename includes path component(s)
+       NUL-terminate file name at last slash */
+    *sls_ptr='\0';
+  }else{
+    /* Filename is relative to local directory
+       Replace filename by local directory specification, i.e., by UNIX "."  */
+    drc_out[0]='.'; 
+    drc_out[1]='\0'; 
+  } /* endif */
+
+  /* Blocksize information in stat structure:
+     blksize_t st_blksize blocksize for file system I/O
+     20140105: Although blksize_t defined in stat(), there is actually no Linux type named blksize_t 
+     Use size_t instead */
+  rcd_stt=stat(drc_out,&stat_sct);
+  if(rcd_stt == -1){
+    (void)fprintf(stdout,"%s: ERROR %s reports output file directory %s does not exist, unable to stat()\n",nco_prg_nm_get(),fnc_nm,drc_out);
+    nco_exit(EXIT_FAILURE);
+  } /* end if */
+#ifndef _MSC_VER
+  fl_sys_blk_sz=(size_t)stat_sct.st_blksize;
+#endif /* _MSC_VER */
+  if(nco_dbg_lvl_get() >= nco_dbg_fl) (void)fprintf(stderr,"%s: INFO %s reports preferred output filesystem I/O block size: %ld bytes\n",nco_prg_nm_get(),fnc_nm,(long)fl_sys_blk_sz);
+  
+  if(drc_out) drc_out=(char *)nco_free(drc_out);
+
+  return fl_sys_blk_sz;
+} /* end nco_fl_blocksize() */
 
 char * /* O [sng] Name of temporary file actually opened */
 nco_fl_out_open /* [fnc] Open output file subject to availability and user input */
@@ -1389,7 +1472,7 @@ nco_fl_out_open /* [fnc] Open output file subject to availability and user input
   pid_t pid; /* Process ID */
 
   size_t bfr_sz_hnt_lcl; /* [B] Buffer size hint */
-
+  
   struct stat stat_sct;
 
   /* Make sure output is possible */
@@ -1463,7 +1546,7 @@ nco_fl_out_open /* [fnc] Open output file subject to availability and user input
     /* 20020812: Cray OS does not support mkstemp() */
     fl_out_hnd=creat(mktemp(fl_out_tmp_sys),0600);
 #endif /* !HAVE_MKSTEMP */
-    fl_out_hnd=fl_out_hnd; /* Removes compiler warning on SGI */
+    fl_out_hnd=fl_out_hnd+0; /* CEWI Removes compiler warning on SGI */
     if(nco_dbg_lvl_get() >= nco_dbg_scl) (void)fprintf(stdout,"%s: %s reports strlen(fl_out_tmp_sys) = %ld, fl_out_tmp_sys = %s, \n",nco_prg_nm_get(),fnc_nm,(long)strlen(fl_out_tmp_sys),fl_out_tmp_sys);
     fl_out_tmp_sys=(char *)nco_free(fl_out_tmp_sys);
   } /* endif dbg */
diff --git a/src/nco/nco_fl_utl.h b/src/nco/nco_fl_utl.h
index 03d7810..711a173 100644
--- a/src/nco/nco_fl_utl.h
+++ b/src/nco/nco_fl_utl.h
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_fl_utl.h,v 1.72 2013/01/19 04:29:16 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_fl_utl.h,v 1.76 2014/02/04 20:58:53 zender Exp $ */
 
 /* Purpose: File manipulation */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -36,7 +36,6 @@
 typedef int pid_t;
 #endif /* !_MSC_VER */
 
-#include <sys/types.h> /* needed for _res */
 #ifndef WIN32
 # include <arpa/nameser.h> /* needed for _res */
 # include <resolv.h> /* Internet structures for _res */
@@ -132,6 +131,10 @@ nco_fl_nm_prs /* [fnc] Construct file name from input arguments */
  CST_X_PTR_CST_PTR_CST_Y(char,fl_lst_abb), /* I [sng] NINTAP-style arguments, if any */
  const char * const fl_pth); /* I [sng] Path prefix for files in fl_lst_in */
 
+size_t /* [B] Blocksize */
+nco_fl_blocksize /* [fnc] Find blocksize of filesystem will or does contain this file */
+(const char * const fl_out); /* [sng] Filename */
+
 char * /* O [sng] Name of temporary file actually opened */
 nco_fl_out_open /* [fnc] Open output file subject to availability and user input */
 (const char * const fl_out, /* I [sng] Name of file to open */
diff --git a/src/nco/nco_grp_trv.c b/src/nco/nco_grp_trv.c
index da7a57a..9f913a8 100644
--- a/src/nco/nco_grp_trv.c
+++ b/src/nco/nco_grp_trv.c
@@ -1,14 +1,11 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_grp_trv.c,v 1.250 2013/12/02 20:14:49 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_grp_trv.c,v 1.274 2014/02/18 06:38:36 pvicente Exp $ */
 
 /* Purpose: netCDF4 traversal storage */
 
-/* Copyright (C) 2011--2013 Charlie Zender
+/* Copyright (C) 2011--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
-/* Testing:
-   ncks -D 1 ~/nco/data/in_grp.nc */
-
 /* This file contains the API for low level group data structures:
    Group Traversal Table (GTT): functions prefixed with "trv_tbl_"
    It does not include any netCDF API calls */
@@ -33,15 +30,13 @@ trv_tbl_init                           /* [fnc] GTT initialize */
   tb->nbr_dmn_dgn=0;
   tb->dmn_dgn=NULL;
 
-  /* Record dimensions used by ncra */
-  tb->nbr_rec=0;
-  tb->lmt_rec=NULL;
-
   /* Ensembles */
   tb->nsm_nbr=0;
   tb->nsm=NULL;
   tb->nsm_sfx=NULL;
 
+  tb->nsm_skp=NULL;
+
   *tbl=tb;
 } /* trv_tbl_init() */
  
@@ -53,6 +48,8 @@ trv_tbl_free                           /* [fnc] GTT free memory */
   /* Object (group/variable) list */
   for(unsigned idx=0;idx<tbl->nbr;idx++){
     tbl->lst[idx].nm_fll=(char *)nco_free(tbl->lst[idx].nm_fll);
+    tbl->lst[idx].nm=(char *)nco_free(tbl->lst[idx].nm);
+    tbl->lst[idx].grp_nm=(char *)nco_free(tbl->lst[idx].grp_nm);
     tbl->lst[idx].grp_nm_fll=(char *)nco_free(tbl->lst[idx].grp_nm_fll);
     tbl->lst[idx].grp_nm_fll_prn=(char *)nco_free(tbl->lst[idx].grp_nm_fll_prn);
     tbl->lst[idx].nsm_nm=(char *)nco_free(tbl->lst[idx].nsm_nm);
@@ -61,33 +58,53 @@ trv_tbl_free                           /* [fnc] GTT free memory */
 
     /* Dimensions */
     for(int dmn_idx=0;dmn_idx<tbl->lst[idx].nbr_dmn;dmn_idx++){
-      tbl->lst[idx].var_dmn[dmn_idx].dmn_nm_fll=(char *)nco_free(tbl->lst[idx].var_dmn[dmn_idx].dmn_nm_fll);
-      tbl->lst[idx].var_dmn[dmn_idx].dmn_nm=(char *)nco_free(tbl->lst[idx].var_dmn[dmn_idx].dmn_nm);
-      tbl->lst[idx].var_dmn[dmn_idx].grp_nm_fll=(char *)nco_free(tbl->lst[idx].var_dmn[dmn_idx].grp_nm_fll);
-
-      /* Coordinate structure */ 
-      if(tbl->lst[idx].var_dmn[dmn_idx].crd){
-        tbl->lst[idx].var_dmn[dmn_idx].crd->crd_nm_fll=(char *)nco_free(tbl->lst[idx].var_dmn[dmn_idx].crd->crd_nm_fll);
-        tbl->lst[idx].var_dmn[dmn_idx].crd->dmn_nm_fll=(char *)nco_free(tbl->lst[idx].var_dmn[dmn_idx].crd->dmn_nm_fll);
-        tbl->lst[idx].var_dmn[dmn_idx].crd->crd_grp_nm_fll=(char *)nco_free(tbl->lst[idx].var_dmn[dmn_idx].crd->crd_grp_nm_fll);
-        tbl->lst[idx].var_dmn[dmn_idx].crd->dmn_grp_nm_fll=(char *)nco_free(tbl->lst[idx].var_dmn[dmn_idx].crd->dmn_grp_nm_fll);
-
-        tbl->lst[idx].var_dmn[dmn_idx].crd->lmt_msa.dmn_nm=(char *)nco_free(tbl->lst[idx].var_dmn[dmn_idx].crd->lmt_msa.dmn_nm);
-
-        for(int lmt_idx=0;lmt_idx<tbl->lst[idx].var_dmn[dmn_idx].crd->lmt_msa.lmt_dmn_nbr;lmt_idx++){
-          tbl->lst[idx].var_dmn[dmn_idx].crd->lmt_msa.lmt_dmn[lmt_idx]=nco_lmt_free(tbl->lst[idx].var_dmn[dmn_idx].crd->lmt_msa.lmt_dmn[lmt_idx]);
-        }  
-        tbl->lst[idx].var_dmn[dmn_idx].crd->lmt_msa.lmt_dmn=(lmt_sct **)nco_free(tbl->lst[idx].var_dmn[dmn_idx].crd->lmt_msa.lmt_dmn);
-        tbl->lst[idx].var_dmn[dmn_idx].crd=(crd_sct *)nco_free(tbl->lst[idx].var_dmn[dmn_idx].crd);
-      } /* Coordinate structure */ 
-
-    } /* Dimensions */
+
+      /* If dimensions exist (only for variables ) */
+      if (tbl->lst[idx].var_dmn){
+        tbl->lst[idx].var_dmn[dmn_idx].dmn_nm_fll=(char *)nco_free(tbl->lst[idx].var_dmn[dmn_idx].dmn_nm_fll);
+        tbl->lst[idx].var_dmn[dmn_idx].dmn_nm=(char *)nco_free(tbl->lst[idx].var_dmn[dmn_idx].dmn_nm);
+        tbl->lst[idx].var_dmn[dmn_idx].grp_nm_fll=(char *)nco_free(tbl->lst[idx].var_dmn[dmn_idx].grp_nm_fll);
+
+        int nbr_lat_crd=tbl->lst[idx].var_dmn[dmn_idx].nbr_lat_crd;
+        for(int idx_crd=0;idx_crd<nbr_lat_crd;idx_crd++){     
+          tbl->lst[idx].var_dmn[dmn_idx].lat_crd[idx_crd].nm_fll=(char *)nco_free(tbl->lst[idx].var_dmn[dmn_idx].lat_crd[idx_crd].nm_fll); 
+        }   
+        int nbr_lon_crd=tbl->lst[idx].var_dmn[dmn_idx].nbr_lon_crd;
+        for(int idx_crd=0;idx_crd<nbr_lon_crd;idx_crd++){     
+          tbl->lst[idx].var_dmn[dmn_idx].lon_crd[idx_crd].nm_fll=(char *)nco_free(tbl->lst[idx].var_dmn[dmn_idx].lon_crd[idx_crd].nm_fll); 
+        }    
+
+        /* Coordinate structure */ 
+        if(tbl->lst[idx].var_dmn[dmn_idx].crd){
+          tbl->lst[idx].var_dmn[dmn_idx].crd->crd_nm_fll=(char *)nco_free(tbl->lst[idx].var_dmn[dmn_idx].crd->crd_nm_fll);
+          tbl->lst[idx].var_dmn[dmn_idx].crd->dmn_nm_fll=(char *)nco_free(tbl->lst[idx].var_dmn[dmn_idx].crd->dmn_nm_fll);
+          tbl->lst[idx].var_dmn[dmn_idx].crd->crd_grp_nm_fll=(char *)nco_free(tbl->lst[idx].var_dmn[dmn_idx].crd->crd_grp_nm_fll);
+          tbl->lst[idx].var_dmn[dmn_idx].crd->dmn_grp_nm_fll=(char *)nco_free(tbl->lst[idx].var_dmn[dmn_idx].crd->dmn_grp_nm_fll);
+          tbl->lst[idx].var_dmn[dmn_idx].crd->nm=(char *)nco_free(tbl->lst[idx].var_dmn[dmn_idx].crd->nm);
+
+          tbl->lst[idx].var_dmn[dmn_idx].crd->lmt_msa.dmn_nm=(char *)nco_free(tbl->lst[idx].var_dmn[dmn_idx].crd->lmt_msa.dmn_nm);
+
+          for(int lmt_idx=0;lmt_idx<tbl->lst[idx].var_dmn[dmn_idx].crd->lmt_msa.lmt_dmn_nbr;lmt_idx++){
+            tbl->lst[idx].var_dmn[dmn_idx].crd->lmt_msa.lmt_dmn[lmt_idx]=nco_lmt_free(tbl->lst[idx].var_dmn[dmn_idx].crd->lmt_msa.lmt_dmn[lmt_idx]);
+          }  
+          tbl->lst[idx].var_dmn[dmn_idx].crd->lmt_msa.lmt_dmn=(lmt_sct **)nco_free(tbl->lst[idx].var_dmn[dmn_idx].crd->lmt_msa.lmt_dmn);
+          tbl->lst[idx].var_dmn[dmn_idx].crd=(crd_sct *)nco_free(tbl->lst[idx].var_dmn[dmn_idx].crd);
+        } /* Coordinate structure */ 
+
+      } /* Dimensions */
+      
+      tbl->lst[idx].var_dmn=(var_dmn_sct *)nco_free(tbl->lst[idx].var_dmn);
+      tbl->lst[idx].dmn_idx_out_in=(int *)nco_free(tbl->lst[idx].dmn_idx_out_in);
+      tbl->lst[idx].dmn_rvr_in=(nco_bool *)nco_free(tbl->lst[idx].dmn_rvr_in);
+
+    } /* If dimensions exist (only for variables ) */
   } /* Object (group/variable) list */ 
 
   tbl->lst=(trv_sct *)nco_free(tbl->lst);
 
   /* Dimension list */
   for(unsigned int dmn_idx=0;dmn_idx<tbl->nbr_dmn;dmn_idx++){
+    tbl->lst_dmn[dmn_idx].nm=(char *)nco_free(tbl->lst_dmn[dmn_idx].nm);
     tbl->lst_dmn[dmn_idx].nm_fll=(char *)nco_free(tbl->lst_dmn[dmn_idx].nm_fll);
     tbl->lst_dmn[dmn_idx].grp_nm_fll=(char *)nco_free(tbl->lst_dmn[dmn_idx].grp_nm_fll);
     tbl->lst_dmn[dmn_idx].lmt_msa.dmn_nm=(char *)nco_free(tbl->lst_dmn[dmn_idx].lmt_msa.dmn_nm);
@@ -120,10 +137,6 @@ trv_tbl_free                           /* [fnc] GTT free memory */
 
   /* Members used only by transformation operators (non-ncks) */
 
-  /* (ncra) Record dimensions */
-  for(int idx=0;idx<tbl->nbr_rec;idx++)
-    tbl->lmt_rec[idx]=nco_lmt_free(tbl->lmt_rec[idx]);
-
   /* (ncwa) Degenerate dimensions */
   tbl->dmn_dgn=(dmn_sct *)nco_free(tbl->dmn_dgn); 
 
@@ -144,6 +157,12 @@ trv_tbl_free                           /* [fnc] GTT free memory */
 
   tbl->nsm_sfx=(char *)nco_free(tbl->nsm_sfx);  
 
+  if(tbl->nsm_skp){
+    for(int idx=0;idx<tbl->nsm_skp->nbr;idx++){
+      tbl->nsm_skp->lst[idx].nm=(char *)nco_free(tbl->nsm_skp->lst[idx].nm);
+    }
+  }
+
   tbl=(trv_tbl_sct *)nco_free(tbl);
 } /* end trv_tbl_free() */
 
@@ -222,6 +241,20 @@ trv_tbl_prn_flg_mch                  /* [fnc] Print table items that have .flg_m
   } /* end loop over trv_tbl */
 } /* end trv_tbl_prn_flg_mch() */
 
+void 
+trv_tbl_prn_flg_xtr                  /* [fnc] Print table items that have .flg_xtr  */
+(const char * const fnc_nm,          /* I [sng] Function name  */
+ const trv_tbl_sct * const trv_tbl)  /* I [sct] Traversal table */
+{
+  (void)fprintf(stdout,"%s: INFO %s reports extracted objects:\n",nco_prg_nm_get(),fnc_nm);
+ /* Print all matching objects from traversal table */
+  trv_sct trv_obj;
+  for(unsigned int tbl_idx=0;tbl_idx<trv_tbl->nbr;tbl_idx++){
+    trv_obj=trv_tbl->lst[tbl_idx];
+    if(trv_obj.flg_xtr) (void)fprintf(stdout,"%s\n",trv_obj.nm_fll);
+  } /* end loop over trv_tbl */
+} /* end trv_tbl_prn_flg_xtr() */
+
 void                          
 trv_tbl_prn                          /* [fnc] Print table with -z */
 (const trv_tbl_sct * const trv_tbl)  /* I [sct] Traversal table */  
@@ -246,16 +279,16 @@ trv_tbl_fnd_var_nm_fll                /* [fnc] Check if "var_nm_fll" is in table
 } /* end trv_tbl_fnd_var_nm_fll() */
 
 trv_sct *                             /* O [sct] Table object */
-trv_tbl_var_nm_fll                    /* [fnc] Return object from full name key */
+trv_tbl_var_nm_fll                    /* [fnc] Return variable object from full name key */
 (const char * const var_nm_fll,       /* I [sng] Variable name to find */
  const trv_tbl_sct * const trv_tbl)   /* I [sct] Traversal table */
 {
-  /* Purpose: Return object with given full name */
+  /* Purpose: Return variable object with given full name */
 
 #ifdef NCO_HSH_TRV_OBJ
   trv_sct *trv_obj; /* [sct] GTT object structure */
   HASH_FIND_STR(trv_tbl->hsh,var_nm_fll,trv_obj);
-  return trv_obj;
+  if(trv_obj && trv_obj->nco_typ == nco_obj_typ_var) return trv_obj; else return NULL;
 #else /* !NCO_HSH_TRV_OBJ */
   for(unsigned uidx=0;uidx<trv_tbl->nbr;uidx++)
     if(trv_tbl->lst[uidx].nco_typ == nco_obj_typ_var && !strcmp(var_nm_fll,trv_tbl->lst[uidx].nm_fll)) return &trv_tbl->lst[uidx];
@@ -265,19 +298,37 @@ trv_tbl_var_nm_fll                    /* [fnc] Return object from full name key
 
 } /* trv_tbl_var_nm_fll() */
 
+trv_sct *                             /* O [sct] Table object */
+trv_tbl_grp_nm_fll                    /* [fnc] Return group object from full name key */
+(const char * const grp_nm_fll,       /* I [sng] Group name to find */
+ const trv_tbl_sct * const trv_tbl)   /* I [sct] Traversal table */
+{
+  /* Purpose: Return group object with given full name */
+
+  for(unsigned uidx=0;uidx<trv_tbl->nbr;uidx++){
+    if(trv_tbl->lst[uidx].nco_typ == nco_obj_typ_grp && 
+      strcmp(grp_nm_fll,trv_tbl->lst[uidx].nm_fll) == 0){
+      return &trv_tbl->lst[uidx];
+    }
+  }
+
+  return NULL;
+} /* trv_tbl_grp_nm_fll() */
+
 void
 trv_tbl_mrk_xtr                       /* [fnc] Mark extraction flag in table for "var_nm_fll" */
 (const char * const var_nm_fll,       /* I [sng] Variable name to find */
- const trv_tbl_sct * const trv_tbl)   /* I [sct] Traversal table */
+ const nco_bool flg_xtr,              /* I [flg] Flag (True or False) */
+ trv_tbl_sct * const trv_tbl)         /* I/O [sct] Traversal table */
 {
 
 #ifdef NCO_HSH_TRV_OBJ
   trv_sct *trv_obj; /* [sct] GTT object structure */
   HASH_FIND_STR(trv_tbl->hsh,var_nm_fll,trv_obj);
-  if(trv_obj) trv_obj->flg_xtr=True;
+  if(trv_obj) trv_obj->flg_xtr=flg_xtr;
 #else /* !NCO_HSH_TRV_OBJ */
   for(unsigned uidx=0;uidx<trv_tbl->nbr;uidx++)
-    if(!strcmp(var_nm_fll,trv_tbl->lst[uidx].nm_fll)) trv_tbl->lst[uidx].flg_xtr=True;
+    if(!strcmp(var_nm_fll,trv_tbl->lst[uidx].nm_fll)) trv_tbl->lst[uidx].flg_xtr=flg_xtr;
 #endif /* !NCO_HSH_TRV_OBJ */
 
   return;
@@ -287,7 +338,7 @@ void
 trv_tbl_mrk_prc_fix                    /* [fnc] Mark fixed/processed flag in table for "var_nm_fll" */
 (const char * const var_nm_fll,        /* I [sng] Variable name to find */
  prc_typ_enm typ_prc,                  /* I [enm] Processing type */
- const trv_tbl_sct * const trv_tbl)    /* I [sct] Traversal table */
+ trv_tbl_sct * const trv_tbl)          /* I/O [sct] Traversal table */
 {
   for(unsigned uidx=0;uidx<trv_tbl->nbr;uidx++){
     if(!strcmp(var_nm_fll,trv_tbl->lst[uidx].nm_fll)){
@@ -342,8 +393,8 @@ trv_tbl_srt                            /* [fnc] Sort traversal table */
 
 void                          
 trv_tbl_mch                            /* [fnc] Match 2 tables (find common objects) and export common objects  */
-(trv_tbl_sct * const trv_tbl_1,        /* I/O [sct] GTT (Group Traversal Table) */
- trv_tbl_sct * const trv_tbl_2,        /* I/O [sct] GTT (Group Traversal Table) */
+(const trv_tbl_sct * const trv_tbl_1,  /* I [sct] GTT (Group Traversal Table) */
+ const trv_tbl_sct * const trv_tbl_2,  /* I [sct] GTT (Group Traversal Table) */
  nco_cmn_t **cmn_lst,                  /* I/O [sct] List of common names */
  int * nbr_cmn_nm)                     /* I/O [nbr] Number of common names */
 {
@@ -358,7 +409,10 @@ trv_tbl_mch                            /* [fnc] Match 2 tables (find common obje
      
      Used in ncbo; ncbo performs binary operations on variables in file 1 and matching variables
      (those with the same name) in file 2 and stores results in file 3.
-     This function detects common absolute names in tables 1 and 2 and does ncbo binary operation */
+     This function detects common absolute names in tables 1 and 2 and does ncbo binary operation 
+     
+     NB: cosequential match algorithm requires alphabetical sorted full names. The table is sorted in nco_bld_trv_tbl() only for ncbo
+     */
   
   const char fnc_nm[]="trv_tbl_mch()"; /* [sng] Function name */
   
@@ -371,18 +425,6 @@ trv_tbl_mch                            /* [fnc] Match 2 tables (find common obje
 
   nco_bool flg_more_names_exist; /* [flg] Are there more names to process? */
 
-  /* Tables must be sorted */
-  (void)trv_tbl_srt(trv_tbl_1);
-  (void)trv_tbl_srt(trv_tbl_2);
-
-#ifdef NCO_HSH_TRV_OBJ
-  /* Rebuild hash table after traversal table re-ordering */
-  HASH_CLEAR(hh,trv_tbl_1->hsh);
-  HASH_CLEAR(hh,trv_tbl_2->hsh);
-  (void)nco_trv_hsh_bld(trv_tbl_1);
-  (void)nco_trv_hsh_bld(trv_tbl_2);
-#endif /* !NCO_HSH_TRV_OBJ */
-
   if(nco_dbg_lvl_get() == nco_dbg_old){
     (void)fprintf(stdout,"%s: INFO %s reports Sorted table 1\n",nco_prg_nm_get(),fnc_nm);
     (void)trv_tbl_prn(trv_tbl_1);
@@ -417,7 +459,7 @@ trv_tbl_mch                            /* [fnc] Match 2 tables (find common obje
     if(!nco_cmp){
       (*cmn_lst)[idx_lst].flg_in_fl[0]=True;
       (*cmn_lst)[idx_lst].flg_in_fl[1]=True;
-      (*cmn_lst)[idx_lst].var_nm_fll=strdup(trv_1.nm_fll);
+      (*cmn_lst)[idx_lst].nm=strdup(trv_1.nm_fll);
       idx_lst++;
 
       idx_tbl_1++;
@@ -427,7 +469,7 @@ trv_tbl_mch                            /* [fnc] Match 2 tables (find common obje
 
       (*cmn_lst)[idx_lst].flg_in_fl[0]=True;
       (*cmn_lst)[idx_lst].flg_in_fl[1]=False;
-      (*cmn_lst)[idx_lst].var_nm_fll=strdup(trv_1.nm_fll);
+      (*cmn_lst)[idx_lst].nm=strdup(trv_1.nm_fll);
       idx_lst++;
 
       if(nco_dbg_lvl_get() == nco_dbg_old)(void)fprintf(stdout,"%s: INFO %s reports tbl_1[%d]:%s\n",nco_prg_nm_get(),fnc_nm,idx_tbl_1,trv_1.nm_fll);
@@ -436,7 +478,7 @@ trv_tbl_mch                            /* [fnc] Match 2 tables (find common obje
       /* Name(1) is greater than Name(2), read next name from List 2 */
       (*cmn_lst)[idx_lst].flg_in_fl[0]=False;
       (*cmn_lst)[idx_lst].flg_in_fl[1]=True;
-      (*cmn_lst)[idx_lst].var_nm_fll=strdup(trv_2.nm_fll);
+      (*cmn_lst)[idx_lst].nm=strdup(trv_2.nm_fll);
       idx_lst++;
 
       if(nco_dbg_lvl_get() == nco_dbg_old)(void)fprintf(stdout,"%s: INFO %s reports tbl_2[%d]:%s\n",nco_prg_nm_get(),fnc_nm,idx_tbl_2,trv_2.nm_fll);
@@ -453,7 +495,7 @@ trv_tbl_mch                            /* [fnc] Match 2 tables (find common obje
     while(idx_tbl_1 < nbr_tbl_1){
       (*cmn_lst)[idx_lst].flg_in_fl[0]=True;
       (*cmn_lst)[idx_lst].flg_in_fl[1]=False;
-      (*cmn_lst)[idx_lst].var_nm_fll=strdup(trv_tbl_1->lst[idx_tbl_1].nm_fll);
+      (*cmn_lst)[idx_lst].nm=strdup(trv_tbl_1->lst[idx_tbl_1].nm_fll);
       idx_lst++;
 
       if(nco_dbg_lvl_get() == nco_dbg_old) (void)fprintf(stdout,"%s: INFO %s reports tbl_1[%d]:%s\n",nco_prg_nm_get(),fnc_nm,idx_tbl_1,trv_tbl_1->lst[idx_tbl_1].nm_fll);
@@ -466,7 +508,7 @@ trv_tbl_mch                            /* [fnc] Match 2 tables (find common obje
     while(idx_tbl_2 < nbr_tbl_2){
       (*cmn_lst)[idx_lst].flg_in_fl[0]=False;
       (*cmn_lst)[idx_lst].flg_in_fl[1]=True;
-      (*cmn_lst)[idx_lst].var_nm_fll=strdup(trv_tbl_2->lst[idx_tbl_2].nm_fll);
+      (*cmn_lst)[idx_lst].nm=strdup(trv_tbl_2->lst[idx_tbl_2].nm_fll);
       idx_lst++;
 
       if(nco_dbg_lvl_get() == nco_dbg_old)(void)fprintf(stdout,"%s: INFO %s reports tbl_2[%d]:%s\n",nco_prg_nm_get(),fnc_nm,idx_tbl_2,trv_tbl_2->lst[idx_tbl_2].nm_fll);
@@ -493,7 +535,7 @@ trv_tbl_cmn_nm_prt                         /* [fnc] Print list of common objects
     char c1, c2;
     c1 = (cmn_lst[idx].flg_in_fl[0]) ? 'x' : ' ';
     c2 = (cmn_lst[idx].flg_in_fl[1]) ? 'x' : ' ';
-    (void)fprintf(stdout,"%5c %6c    %-15s\n", c1, c2, cmn_lst[idx].var_nm_fll);
+    (void)fprintf(stdout,"%5c %6c    %-15s\n", c1, c2, cmn_lst[idx].nm);
   } /* end loop over idx */
   (void)fprintf(stdout,"\n");
 
@@ -531,7 +573,7 @@ void
 nco_dmn_set_msa                       /* [fnc] Update dimension with hyperslabbed size */
 (const int dmn_id,                    /* I [id] Unique dimension ID */
  const long dmn_cnt,                  /* I [nbr] New dimension size */
- const trv_tbl_sct *trv_tbl)          /* I/O [sct] GTT (Group Traversal Table) */
+ trv_tbl_sct * const trv_tbl)         /* I/O [sct] GTT (Group Traversal Table) */
 {
   /* Search table dimension list and compared IDs */
   for(unsigned int dmn_idx=0;dmn_idx<trv_tbl->nbr_dmn;dmn_idx++)
@@ -541,20 +583,6 @@ nco_dmn_set_msa                       /* [fnc] Update dimension with hyperslabbe
   return;
 } /* nco_dmn_set_msa() */
 
-long                                  /* O [nbr] Hyperslabbed size */
-nco_dmn_get_msa                       /* [fnc] Update dimension with hyperslabbed size */
-(const int dmn_id,                    /* I [id] Unique dimension ID */
- const trv_tbl_sct *trv_tbl)          /* I/O [sct] GTT (Group Traversal Table) */
-{
-  /* Search table dimension list and compare IDs */
-  for(unsigned int dmn_idx=0;dmn_idx<trv_tbl->nbr_dmn;dmn_idx++)
-    if(dmn_id == trv_tbl->lst_dmn[dmn_idx].dmn_id)
-      return trv_tbl->lst_dmn[dmn_idx].lmt_msa.dmn_cnt;
-     
-  assert(0);
-  return -1;
-} /* nco_dmn_get_msa() */
-
 void
 nco_trv_hsh_del /* Delete hash table */
 (trv_tbl_sct * const trv_tbl) /* I/O [sct] Traversal table */
@@ -604,12 +632,23 @@ nco_trv_hsh_bld /* Hash traversal table for fastest access */
      trv_sct *trv_obj;
      HASH_FIND_STR(trv_tbl->hsh,nm_fll,trv_obj);
      return trv_obj;
+     fxm: this does not work yet!!! must check that trv_obj->obj_typ=nco_obj_typ_var!!! why???
      Input key argument (nm_fll field) is unchanged
      However, HASH_FIND_STR() macro treats key as (i.e., casts it to) unsigned bytes internally
      Hence  -Wcast_qual causes compiler complaint if key argument is const char * const nm_fll
      Potential workarounds:
      1. Eliminate -Wcast_qual from compiler settings
-        Verified this works
+        Verified that this does work
+	Unpalatable because it weakens static checking on rest of code
+	Use GNU Make Target-specific variables to restrict lax flags to files with hash prototypes, e.g.,
+	# Target-specific variable values syntax TARGET ... : VARIABLE-ASSIGNMENT
+	# Rules begin in leftmost column else interpreted as commands
+	ifneq (${null},$(findstring ${PVM_ARCH},LINUXALPHALINUXAMD64LINUXARMFREEBSD))
+	ifeq (gcc,$(firstword ${CC}))
+	${MY_OBJ_DIR}/nco_grp_trv.o : CFLAGS := $(filter-out -Wcast-qual,${CFLAGS})
+	${MY_OBJ_DIR}/nco_grp_trv.o : CXXFLAGS := $(filter-out -Wcast-qual,${CXXFLAGS})
+	endif # endif GCC
+	endif # endif LINUX
      2. Change function prototype to non-const key
         This eliminates compiler warnings at cost of introducing non-typesafe code paths
 	Move all hash-lookup functions into single file that does not get -Wcast_qual?
@@ -621,7 +660,7 @@ nco_trv_hsh_bld /* Hash traversal table for fastest access */
         HASH_FIND_STR(trv_tbl->hsh,hsh_key,trv_obj);
         if(hsh_key) hsh_key=(char *)nco_free(hsh_key); */
 
-  /* NB: Hash table must be NULL-initialized */
+  /* NB: Hash table MUST be NULL-initialized */
   trv_tbl->hsh=NULL;
 
   for(unsigned int tbl_idx=0;tbl_idx<trv_tbl->nbr;tbl_idx++){
@@ -638,7 +677,6 @@ nco_trv_hsh_bld /* Hash traversal table for fastest access */
 
 } /* end trv_tbl_hsh() */
 
-
 void 
 nco_nm_srt                             /* [fnc] Sort traversal table */
 (char **nm_lst,                        /* I [sng] List of names */
@@ -709,7 +747,7 @@ nco_nm_mch                             /* [fnc] Match 2 lists of strings and mar
     if(!nco_cmp){
       (*cmn_lst)[idx_lst].flg_in_fl[0]=True;
       (*cmn_lst)[idx_lst].flg_in_fl[1]=True;
-      (*cmn_lst)[idx_lst].var_nm_fll=strdup(nm_1);
+      (*cmn_lst)[idx_lst].nm=strdup(nm_1);
       idx_lst++;
       idx_tbl_1++;
       idx_tbl_2++;
@@ -719,14 +757,14 @@ nco_nm_mch                             /* [fnc] Match 2 lists of strings and mar
       /* Name(1) is less than Name(2), read next name from List 1  */
       (*cmn_lst)[idx_lst].flg_in_fl[0]=True;
       (*cmn_lst)[idx_lst].flg_in_fl[1]=False;
-      (*cmn_lst)[idx_lst].var_nm_fll=strdup(nm_1);
+      (*cmn_lst)[idx_lst].nm=strdup(nm_1);
       idx_lst++; 
       idx_tbl_1++;
     }else{
       /* Name(1) is greater than Name(2), read next name from List 2 */
       (*cmn_lst)[idx_lst].flg_in_fl[0]=False;
       (*cmn_lst)[idx_lst].flg_in_fl[1]=True;
-      (*cmn_lst)[idx_lst].var_nm_fll=strdup(nm_2);
+      (*cmn_lst)[idx_lst].nm=strdup(nm_2);
       idx_lst++;   
       idx_tbl_2++;
     } /* end nco_cmp */
@@ -741,7 +779,7 @@ nco_nm_mch                             /* [fnc] Match 2 lists of strings and mar
     while(idx_tbl_1 < nbr_tbl_1){
       (*cmn_lst)[idx_lst].flg_in_fl[0]=True;
       (*cmn_lst)[idx_lst].flg_in_fl[1]=False;
-      (*cmn_lst)[idx_lst].var_nm_fll=strdup(nm_lst_1[idx_tbl_1]);
+      (*cmn_lst)[idx_lst].nm=strdup(nm_lst_1[idx_tbl_1]);
       idx_lst++;
       idx_tbl_1++;
     } /* end while */
@@ -752,7 +790,7 @@ nco_nm_mch                             /* [fnc] Match 2 lists of strings and mar
     while(idx_tbl_2 < nbr_tbl_2){
       (*cmn_lst)[idx_lst].flg_in_fl[0]=False;
       (*cmn_lst)[idx_lst].flg_in_fl[1]=True;
-      (*cmn_lst)[idx_lst].var_nm_fll=strdup(nm_lst_2[idx_tbl_2]);
+      (*cmn_lst)[idx_lst].nm=strdup(nm_lst_2[idx_tbl_2]);
       idx_lst++;
       idx_tbl_2++;
     } /* end while */
@@ -765,17 +803,11 @@ nco_nm_mch                             /* [fnc] Match 2 lists of strings and mar
 
 void
 trv_tbl_mrk_nsm_mbr                    /* [fnc] Mark ensemble member flag in table for "var_nm_fll" */
-(const char * const var_nm_fll,       /* I [sng] Variable name to find */
- const nco_bool flg_nsm_tpl,          /* I [flg] Variable is template member */
- const char * const grp_nm_fll_prn,   /* I [sng] Parent group full name (key for ensemble) */
- const trv_tbl_sct * const trv_tbl)   /* I [sct] Traversal table */
+(const char * const var_nm_fll,        /* I [sng] Variable name to find */
+ const nco_bool flg_nsm_tpl,           /* I [flg] Variable is template member */
+ const char * const grp_nm_fll_prn,    /* I [sng] Parent group full name (key for ensemble) */
+ trv_tbl_sct * const trv_tbl)          /* I/O [sct] Traversal table */
 {
-#ifdef NCO_HSH_TRV_OBJ
-  trv_sct *trv_obj; /* [sct] GTT object structure */
-  HASH_FIND_STR(trv_tbl->hsh,var_nm_fll,trv_obj);
-  if(trv_obj) trv_obj->flg_nsm_mbr=True;
-  assert(0); 
-#else /* !NCO_HSH_TRV_OBJ */
   for(unsigned uidx=0;uidx<trv_tbl->nbr;uidx++){
     if(trv_tbl->lst[uidx].nco_typ == nco_obj_typ_var && strcmp(var_nm_fll,trv_tbl->lst[uidx].nm_fll) == 0){
       trv_tbl->lst[uidx].flg_nsm_mbr=True;
@@ -783,7 +815,6 @@ trv_tbl_mrk_nsm_mbr                    /* [fnc] Mark ensemble member flag in tab
       if (flg_nsm_tpl) trv_tbl->lst[uidx].flg_nsm_tpl=True;
     }
   }
-#endif /* !NCO_HSH_TRV_OBJ */
 
   return;
 } /* end trv_tbl_mrk_nsm_mbr() */
@@ -816,7 +847,7 @@ nco_lst_ins                            /* [fnc] Utility function to detect inser
   /* Loop constructed array to see if already inserted */
   for(int idx_nm=0;idx_nm<nbr_nm;idx_nm++){
       /* Match */
-      if(strcmp(cmn_lst[idx_nm].var_nm_fll,nm) == 0){
+      if(strcmp(cmn_lst[idx_nm].nm,nm) == 0){
         /* Mark as inserted in array */
         return True;
       }  /* Match */
@@ -830,7 +861,7 @@ nco_lst_ins                            /* [fnc] Utility function to detect inser
 char *                                 /* O [sng] Full path with suffix */
 nco_bld_nsm_sfx                        /* [fnc] Build ensemble suffix */
 (const char * const grp_nm_fll_prn,    /* I [sng] Absolute group name of ensemble root */
- trv_tbl_sct * const trv_tbl)          /* I/O [sct] Traversal table */
+ const trv_tbl_sct * const trv_tbl)    /* I [sct] Traversal table */
 {
   assert(trv_tbl->nsm_sfx);
 
@@ -855,3 +886,32 @@ nco_bld_nsm_sfx                        /* [fnc] Build ensemble suffix */
   return NULL;
 
 } /* nco_bld_nsm_sfx() */
+
+nco_bool                              
+nco_is_fll_pth                         /* [fnc] Utility function to inquire if a string is a full path */
+(const char * const str)               /* I [sng] A string to inquire */
+{
+  const char *sbs_srt; /* [sng] Location of string match start in parameter string */
+
+  /* If parameter string contains any slash character '/' , assume it's a full path */
+  sbs_srt=strstr(str,"/");
+  if (sbs_srt) return True;
+  return False;
+
+} /* nco_is_fll_pth() */
+
+
+char *
+nco_strrstr                            /* [fnc] Searches a substring starting from the end */
+(const char *str,                      /* [fnc] String */
+ const char *str_fnd)                  /* [fnc] String to find */
+{
+  char *ptr;
+  char *lst=NULL;
+
+  ptr = (char*)str;
+  while((ptr = strstr(ptr, str_fnd))){
+    lst = ptr++;
+  }
+  return lst;
+} /* nco_strrstr() */
diff --git a/src/nco/nco_grp_trv.h b/src/nco/nco_grp_trv.h
index f150068..f30f428 100644
--- a/src/nco/nco_grp_trv.h
+++ b/src/nco/nco_grp_trv.h
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_grp_trv.h,v 1.103 2013/12/02 20:14:49 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_grp_trv.h,v 1.113 2014/02/15 20:21:08 pvicente Exp $ */
 
 /* Purpose: netCDF4 traversal storage */
 
-/* Copyright (C) 2011--2013 Charlie Zender
+/* Copyright (C) 2011--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -69,16 +69,22 @@ trv_tbl_var_nm_fll                     /* [fnc] Return object from full name key
 (const char * const var_nm_fll,        /* I [sng] Variable name to find */
  const trv_tbl_sct * const trv_tbl);   /* I [sct] Traversal table */
 
+trv_sct *                              /* O [sct] Table object */
+trv_tbl_grp_nm_fll                     /* [fnc] Return group object from full name key */
+(const char * const grp_nm_fll,        /* I [sng] Group name to find */
+ const trv_tbl_sct * const trv_tbl);   /* I [sct] Traversal table */
+
 void
 trv_tbl_mrk_xtr                        /* [fnc] Mark extraction flag in table for "var_nm_fll" */
 (const char * const var_nm_fll,        /* I [sng] Variable name to find */
- const trv_tbl_sct * const trv_tbl);   /* I [sct] Traversal table */
+ const nco_bool flg_xtr,               /* I [flg] Flag (True or False) */
+ trv_tbl_sct * const trv_tbl);         /* I/O [sct] Traversal table */
 
 void
 trv_tbl_mrk_prc_fix                    /* [fnc] Mark fixed/processed flag in table for "var_nm_fll" */
 (const char * const var_nm_fll,        /* I [sng] Variable name to find */
  prc_typ_enm typ_prc,                  /* I [enm] Processing type */
- const trv_tbl_sct * const trv_tbl);   /* I [sct] Traversal table */
+ trv_tbl_sct * const trv_tbl);         /* I/O [sct] Traversal table */
 
 void 
 trv_tbl_prn_xtr                        /* [fnc] Print extraction flag of traversal table */
@@ -95,11 +101,16 @@ trv_tbl_inq_dpt                        /* [fnc] Return number of depth 1 groups
 
 void                          
 trv_tbl_mch                            /* [fnc] Match 2 tables (find common objects) and export common objects  */
-(trv_tbl_sct * const trv_tbl_1,        /* I/O [sct] GTT (Group Traversal Table) */
- trv_tbl_sct * const trv_tbl_2,        /* I/O [sct] GTT (Group Traversal Table) */
+(const trv_tbl_sct * const trv_tbl_1,  /* I [sct] GTT (Group Traversal Table) */
+ const trv_tbl_sct * const trv_tbl_2,  /* I [sct] GTT (Group Traversal Table) */
  nco_cmn_t **cmn_lst,                  /* I/O [sct] List of common names */
  int * nbr_cmn_nm);                    /* I/O [nbr] Number of common names entries */
 
+void 
+trv_tbl_prn_flg_xtr                   /* [fnc] Print table items that have .flg_xtr  */
+(const char * const fnc_nm,           /* I [sng] Function name  */
+ const trv_tbl_sct * const trv_tbl);  /* I [sct] Traversal table */
+
 void                          
 trv_tbl_cmn_nm_prt                     /* [fnc] Print list of common objects (same absolute path) */
 (const nco_cmn_t * const cmn_lst,      /* I [sct] List of common names */
@@ -114,12 +125,7 @@ void
 nco_dmn_set_msa                       /* [fnc] Update dimension with hyperslabbed size */
 (const int dmn_id,                    /* I [id] Unique dimension ID */
  const long dmn_cnt,                  /* I [nbr] New dimension size */
- const trv_tbl_sct *trv_tbl);         /* I/O [sct] GTT (Group Traversal Table) */
-
-long                                  /* O hyperslabbed size */
-nco_dmn_get_msa                       /* [fnc] Update dimension with hyperslabbed size */
-(const int dmn_id,                    /* I [id] Unique dimension ID */
- const trv_tbl_sct *trv_tbl);         /* I/O [sct] GTT (Group Traversal Table) */
+ trv_tbl_sct * const trv_tbl);        /* I/O [sct] GTT (Group Traversal Table) */
 
 void 
 nco_trv_hsh_bld                       /* Hash traversal table for fastest access */
@@ -146,10 +152,10 @@ nco_nm_mch                             /* [fnc] Match 2 lists of strings and mar
 
 void
 trv_tbl_mrk_nsm_mbr                    /* [fnc] Mark ensemble member flag in table for "var_nm_fll" */
-(const char * const var_nm_fll,       /* I [sng] Variable name to find */
- const nco_bool flg_nsm_tpl,          /* I [flg] Variable is template member */
- const char * const grp_nm_fll_prn,   /* I [sng] Parent group full name (key for ensemble) */
- const trv_tbl_sct * const trv_tbl);  /* I [sct] Traversal table */
+(const char * const var_nm_fll,        /* I [sng] Variable name to find */
+ const nco_bool flg_nsm_tpl,           /* I [flg] Variable is template member */
+ const char * const grp_nm_fll_prn,    /* I [sng] Parent group full name (key for ensemble) */
+ trv_tbl_sct * const trv_tbl);         /* I/O [sct] Traversal table */
 
 char *                                 /* O [sng] Full path  */
 nco_bld_nm_fll                         /* [fnc] Utility function to build a full path */
@@ -165,7 +171,16 @@ nco_lst_ins                            /* [fnc] Utility function to detect inser
 char *                                 /* O [sng] Full path with suffix */
 nco_bld_nsm_sfx                        /* [fnc] Build ensemble suffix */
 (const char * const grp_nm_fll_prn,    /* I [sng] Absolute group name of ensemble root */
- trv_tbl_sct * const trv_tbl);         /* I/O [sct] Traversal table */
+ const trv_tbl_sct * const trv_tbl);   /* I [sct] Traversal table */
+
+nco_bool                              
+nco_is_fll_pth                         /* [fnc] Utility function to inquire if a string is a full path */
+(const char * const str);              /* I [sng] A string to inquire */
+
+char *
+nco_strrstr                            /* [fnc] Searches a substring starting from the end */
+(const char *str,                      /* [fnc] String */
+ const char *str_fnd);                 /* [fnc] String to find */
 
 
 #endif /* NCO_GRP_TRV_H */
diff --git a/src/nco/nco_grp_utl.c b/src/nco/nco_grp_utl.c
index 8e941c1..2b21340 100644
--- a/src/nco/nco_grp_utl.c
+++ b/src/nco/nco_grp_utl.c
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_grp_utl.c,v 1.1091 2013/12/02 23:26:01 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_grp_utl.c,v 1.1263 2014/02/19 23:12:21 pvicente Exp $ */
 
 /* Purpose: Group utilities */
 
-/* Copyright (C) 2011--2013 Charlie Zender
+/* Copyright (C) 2011--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -96,6 +96,7 @@ nco_def_grp_full                      /* [fnc] Ensure all components of group pa
  int * const grp_out_id)              /* O [ID] Deepest group ID */
 {
   /* Purpose: Ensure all components of full path name exist and return ID of deepest group */
+
   char *grp_pth=NULL; /* [sng] Full group path */
   char *grp_pth_dpl=NULL; /* [sng] Full group path memory duplicate */
   char *sls_ptr; /* [sng] Pointer to slash */
@@ -124,9 +125,7 @@ nco_def_grp_full                      /* [fnc] Ensure all components of group pa
     grp_id_prn=*grp_out_id;
     
     /* If current group is not defined, define it */
-    if(nco_inq_ncid_flg(grp_id_prn,grp_pth,grp_out_id)){
-      nco_def_grp(grp_id_prn,grp_pth,grp_out_id);
-    }
+    if(nco_inq_ncid_flg(grp_id_prn,grp_pth,grp_out_id)) nco_def_grp(grp_id_prn,grp_pth,grp_out_id);
 
     /* Point to next group, if any */
     if(sls_ptr) grp_pth=sls_ptr+1; else break;
@@ -259,21 +258,19 @@ nco_grp_stk_free                      /* [fnc] Free group stack */
 } /* end nco_grp_stk_free() */
 
 void
-nco_prt_grp_nm_fll                    /* [fnc] Debug function to print group full name from ID */
+nco_prn_grp_nm_fll                    /* [fnc] Debug function to print group full name from ID */
 (const int grp_id)                    /* I [ID] Group ID */
 {
+#if defined(HAVE_NETCDF4_H)
   size_t grp_nm_lng;
   char *grp_nm_fll;
-
-#if defined(HAVE_NETCDF4_H) 
-  (void)nco_inq_grpname_full(grp_id, &grp_nm_lng, NULL);
+  (void)nco_inq_grpname_full(grp_id,&grp_nm_lng,NULL);
   grp_nm_fll=(char*)nco_malloc(grp_nm_lng+1L);
-  (void)nco_inq_grpname_full(grp_id, &grp_nm_lng, grp_nm_fll);
+  (void)nco_inq_grpname_full(grp_id,&grp_nm_lng,grp_nm_fll);
   (void)fprintf(stdout,"<%s>",grp_nm_fll);
   grp_nm_fll=(char*)nco_free(grp_nm_fll);
 #endif
-
-} /* nco_inq_prt_nm_fll() */
+} /* nco_prn_grp_nm_fll() */
 
 int                                  /* [rcd] Return code */
 nco_grp_dfn                          /* [fnc] Define groups in output file */
@@ -344,8 +341,7 @@ nco_get_sls_chr_cnt                   /* [fnc] Get number of slash characterrs i
   if(nco_dbg_lvl_get() == nco_dbg_old) (void)fprintf(stdout,"Looking '/' in \"%s\"...",nm_fll);
 
   ptr_chr=strchr(nm_fll,'/');
-  while (ptr_chr!=NULL)
-  {
+  while(ptr_chr){
     psn_chr=ptr_chr-nm_fll;
 
     if(nco_dbg_lvl_get() == nco_dbg_old) (void)fprintf(stdout," ::found at %d",psn_chr);
@@ -353,7 +349,7 @@ nco_get_sls_chr_cnt                   /* [fnc] Get number of slash characterrs i
     ptr_chr=strchr(ptr_chr+1,'/');
 
     nbr_sls_chr++;
-  }
+  } /* end while */
 
   if(nco_dbg_lvl_get()== nco_dbg_old) (void)fprintf(stdout,"\n");
   return nbr_sls_chr;
@@ -365,7 +361,7 @@ nco_get_sng_pth_sct                   /* [fnc] Get full name token structure (pa
 (char * const nm_fll,                 /* I [sng] Full name  */ 
  sng_pth_sct ***str_pth_lst)          /* I/O [sct] List of path components  */    
 {
-  /* Purpose: Break a full path name into components separated by the slash character (netCDF4 path separator) 
+  /* Purpose: Break full path name into components separated by slash character (netCDF4 path separator) 
   
   strtok()
   A sequence of calls to this function split str into tokens, which are sequences of contiguous characters 
@@ -405,8 +401,7 @@ nco_get_sng_pth_sct                   /* [fnc] Get full name token structure (pa
 
   ptr_chr=strchr(nm_fll,'/');
 
-  while (ptr_chr!=NULL)
-  {
+  while(ptr_chr){
     if(nco_dbg_lvl_get() == nco_dbg_old) (void)fprintf(stdout,"#%s ",ptr_chr_tok);
 
     psn_chr=ptr_chr-nm_fll;
@@ -417,13 +412,13 @@ nco_get_sng_pth_sct                   /* [fnc] Get full name token structure (pa
     (*str_pth_lst)[nbr_sls_chr]->nm=strdup(ptr_chr_tok);
     (*str_pth_lst)[nbr_sls_chr]->psn=psn_chr;
 
-    /* The point where the last token was found is kept internally by the function */
-    ptr_chr_tok = strtok (NULL, "/");
+    /* Point where last token was found is kept internally by function */
+    ptr_chr_tok=strtok(NULL,"/");
 
     ptr_chr=strchr(ptr_chr+1,'/');
 
     nbr_sls_chr++;   
-  }
+  } /* end while */
 
   if(nco_dbg_lvl_get() == nco_dbg_old)(void)fprintf(stdout,"\n");
 
@@ -446,7 +441,7 @@ nco_prn_att_trv /* [fnc] Traverse tree to print all group and global attributes
 
   for(unsigned uidx=0;uidx<trv_tbl->nbr;uidx++){
     trv_sct trv=trv_tbl->lst[uidx];
-    if(trv.nco_typ == nco_obj_typ_grp){
+    if(trv.nco_typ == nco_obj_typ_grp && trv.flg_xtr){
       /* Obtain group ID from netCDF API using full group name */
       (void)nco_inq_grp_full_ncid(nc_id,trv.nm_fll,&grp_id);
 
@@ -469,17 +464,18 @@ nco_trv_rx_search /* [fnc] Search for pattern matches in traversal table */
  trv_tbl_sct * const trv_tbl) /* I/O [sct] Traversal table */
 {
   /* Purpose: Set flags indicating whether each list member matches given regular expression
-     NB: This function only writes True to the match flag, it never writes False.
+     NB: This function only writes True to match flag, it never writes False
      Input flags are assumed to be stateful, and may contain Trues from previous calls */
 
-  char *sng2mch; /* [sng] String to match to regular expression */
-  const char sls_chr='/'; /* [chr] Slash character */
-
   int mch_nbr=0;
+
 #ifndef NCO_HAVE_REGEX_FUNCTIONALITY
   (void)fprintf(stdout,"%s: ERROR: Sorry, wildcarding (extended regular expression matches to variables) was not built into this NCO executable, so unable to compile regular expression \"%s\".\nHINT: Make sure libregex.a is on path and re-build NCO.\n",nco_prg_nm_get(),rx_sng);
   nco_exit(EXIT_FAILURE);
 #else /* NCO_HAVE_REGEX_FUNCTIONALITY */
+  char *sng2mch; /* [sng] String to match to regular expression */
+  const char sls_chr='/'; /* [chr] Slash character */
+
   int err_id;
   int flg_cmp; /* Comparison flags */
   int flg_exe; /* Execution flages */
@@ -535,7 +531,6 @@ nco_trv_rx_search /* [fnc] Search for pattern matches in traversal table */
       if(strchr(rx_sng,sls_chr)) sng2mch=trv_tbl->lst[obj_idx].nm_fll; else sng2mch=trv_tbl->lst[obj_idx].nm; 
       if(!regexec(rx,sng2mch,rx_prn_sub_xpr_nbr,result,flg_exe)){
         trv_tbl->lst[obj_idx].flg_mch=True;
-        trv_tbl->lst[obj_idx].flg_xtr=True;
         mch_nbr++;
       } /* end if match */
     } /* end if obj_typ */
@@ -575,7 +570,7 @@ nco_xtr_mk                            /* [fnc] Check -v and -g input names and c
      ncks -O -D 5 -g g1.+ -v v1,sc. ~/nco/data/in_grp.nc ~/foo.nc
      ncks -O -D 5 -v scl,/g1/g1g1/v1 ~/nco/data/in_grp.nc ~/foo.nc
      ncks -O -D 5 -g g3g.+,g9/ -v scl,/g1/g1g1/v1 ~/nco/data/in_grp.nc ~/foo.nc */
-  
+
   const char fnc_nm[]="nco_xtr_mk()"; /* [sng] Function name */
   const char sls_chr='/'; /* [chr] Slash character */
   
@@ -735,7 +730,7 @@ nco_xtr_mk                            /* [fnc] Check -v and -g input names and c
                   var_mch_srt=usr_sng+usr_sng_lng-trv_obj.nm_lng;
                   if(!strcmp(var_mch_srt,trv_obj.nm)) flg_var_cnd=True;
                 } /* endif */
-                if(nco_dbg_lvl_get() >= nco_dbg_sbr) (void)fprintf(stderr,"%s: INFO %s reports variable %s %s additional conditions for variable match with %s.\n",nco_prg_nm_get(),fnc_nm,usr_sng,(flg_var_cnd) ? "meets" : "fails",trv_obj.nm_fll);
+                if(nco_dbg_lvl_get() >= nco_dbg_sbr && nco_dbg_lvl_get() != nco_dbg_dev) (void)fprintf(stderr,"%s: INFO %s reports variable %s %s additional conditions for variable match with %s.\n",nco_prg_nm_get(),fnc_nm,usr_sng,(flg_var_cnd) ? "meets" : "fails",trv_obj.nm_fll);
               } /* endif var */
 
               /* If anchoring, match must begin at root */
@@ -760,13 +755,16 @@ nco_xtr_mk                            /* [fnc] Check -v and -g input names and c
                   trv_tbl->lst[tbl_idx].flg_rcr=flg_rcr_mch_grp;
                 } /* end flags */
               }  /* !nco_obj_typ_var */
-              /* Set flags for groups and variables associated with this object */
-              if(trv_tbl->lst[tbl_idx].flg_mch) nco_flg_set_grp_var_ass(trv_obj.grp_nm_fll,obj_typ,trv_tbl);
 
               /* Set function return condition */
               if(trv_tbl->lst[tbl_idx].flg_mch) flg_usr_mch_obj=True;
 
               if(nco_dbg_lvl_get() == nco_dbg_old){
+		/* Redundant call to nco_flg_set_grp_var_ass() here in debugging mode only to set flags for following print statements 
+		   Essential call to nco_flg_set_grp_var_ass() occurs after itr loop
+		   Most debugging info is available in debugging section at routine end
+		   However, group boundary/anchoring/recursion info is only available here */
+		if(trv_tbl->lst[tbl_idx].flg_mch) nco_flg_set_grp_var_ass(trv_obj.grp_nm_fll,obj_typ,trv_tbl);
                 (void)fprintf(stderr,"%s: INFO %s reports %s %s matches filepath %s. Begins on boundary? %s. Ends on boundary? %s. Extract? %s.",nco_prg_nm_get(),fnc_nm,(obj_typ == nco_obj_typ_grp) ? "group" : "variable",usr_sng,trv_obj.nm_fll,(flg_pth_srt_bnd) ? "Yes" : "No",(flg_pth_end_bnd) ? "Yes" : "No",(trv_tbl->lst[tbl_idx].flg_mch) ?  "Yes" : "No");
                 if(obj_typ == nco_obj_typ_grp) (void)fprintf(stderr," Anchored? %s.",(flg_ncr_mch_grp) ? "Yes" : "No");
                 if(obj_typ == nco_obj_typ_grp) (void)fprintf(stderr," Recursive? %s.",(trv_tbl->lst[tbl_idx].flg_rcr) ? "Yes" : "No");
@@ -775,7 +773,7 @@ nco_xtr_mk                            /* [fnc] Check -v and -g input names and c
                 if(obj_typ == nco_obj_typ_var) (void)fprintf(stderr," flg_vfp? %s.",(trv_tbl->lst[tbl_idx].flg_vfp) ? "Yes" : "No");
                 if(obj_typ == nco_obj_typ_var) (void)fprintf(stderr," flg_vsg? %s.",(trv_tbl->lst[tbl_idx].flg_vsg) ? "Yes" : "No");
                 (void)fprintf(stderr,"\n");
-              } /* end if */
+              } /* end if dbg */
 
             } /* endif strstr() */
           } /* endif nco_obj_typ */
@@ -790,7 +788,7 @@ nco_xtr_mk                            /* [fnc] Check -v and -g input names and c
 
     } /* obj_idx */
 
-    if(nco_dbg_lvl_get() >= nco_dbg_sbr){
+    if(nco_dbg_lvl_get() >= nco_dbg_sbr && nco_dbg_lvl_get() != nco_dbg_dev){
       (void)fprintf(stdout,"%s: INFO %s reports following %s match sub-setting and regular expressions:\n",nco_prg_nm_get(),fnc_nm,(obj_typ == nco_obj_typ_grp) ? "groups" : "variables");
       trv_tbl_prn_flg_mch(trv_tbl,obj_typ);
     } /* endif dbg */
@@ -798,16 +796,24 @@ nco_xtr_mk                            /* [fnc] Check -v and -g input names and c
   } /* itr_idx */
 
   /* Compute intersection of groups and variables if necessary
-  Intersection criteria flag, flg_nsx, is satisfied by default. Unset later when necessary. */
+     Intersection criteria flag, flg_nsx, is satisfied by default. Unset later when necessary. */
   for(unsigned int obj_idx=0;obj_idx<trv_tbl->nbr;obj_idx++) trv_tbl->lst[obj_idx].flg_nsx=True;
 
+  /* Each object with flg_mch set needs to have its associated objects set
+     An object (group or variable) may have had its flg_mch set multiple times, e.g., once via rx and once via explicit listing
+     And since rx's often match multiple objects, no sense in flagging associated objects inside rx loop
+     Now all -g and -v constraints have been evaluated (after itr loop)
+     Now speed through table once and set associated objects for all groups and variable flagged with flg_mch */
+  for(unsigned int obj_idx=0;obj_idx<trv_tbl->nbr;obj_idx++)
+    if(trv_tbl->lst[obj_idx].flg_mch) nco_flg_set_grp_var_ass(trv_tbl->lst[obj_idx].grp_nm_fll,trv_tbl->lst[obj_idx].nco_typ,trv_tbl);
+
   /* Union is same as intersection if either variable or group list is empty, otherwise check intersection criteria */
   if(flg_unn || !grp_xtr_nbr || !var_xtr_nbr) flg_unn_ffc=True; else flg_unn_ffc=False;
   if(!flg_unn_ffc){
     for(unsigned int obj_idx=0;obj_idx<trv_tbl->nbr;obj_idx++){
       var_obj=trv_tbl->lst[obj_idx];
       if(var_obj.nco_typ == nco_obj_typ_var){
-        /* Cancel (non-full-path) variable match unless variable is also in user-specified group */
+        /* Cancel (non-full-path) variable intersection match unless variable is also in user-specified group */
         if(var_obj.flg_mch && !var_obj.flg_vfp){
           for(unsigned int obj2_idx=0;obj2_idx<trv_tbl->nbr;obj2_idx++){
             grp_obj=trv_tbl->lst[obj2_idx];
@@ -819,8 +825,17 @@ nco_xtr_mk                            /* [fnc] Check -v and -g input names and c
     } /* end loop over obj_idx */
   } /* flg_unn */
 
+  /* Does matched or default group contain only metadata? 
+     Flag used in nco_xtr_grp_mrk() to preserve metadata-only groups on extraction list */
+  for(unsigned int obj_idx=0;obj_idx<trv_tbl->nbr;obj_idx++)
+    if(trv_tbl->lst[obj_idx].nco_typ == nco_obj_typ_grp)
+      if(trv_tbl->lst[obj_idx].flg_mch || trv_tbl->lst[obj_idx].flg_dfl)
+	if(!trv_tbl->lst[obj_idx].nbr_var) 
+	  trv_tbl->lst[obj_idx].flg_mtd=True;
+
   /* Combine previous flags into initial extraction flag */
   for(unsigned int obj_idx=0;obj_idx<trv_tbl->nbr;obj_idx++){
+
     /* Extract object if ... */
     if(
       (flg_unn_ffc && trv_tbl->lst[obj_idx].flg_mch) || /* ...union mode object matches user-specified string... */
@@ -845,6 +860,7 @@ nco_xtr_mk                            /* [fnc] Check -v and -g input names and c
       if(trv_obj.nco_typ == nco_obj_typ_var) (void)fprintf(stderr," flg_vsg? %s.",(trv_obj.flg_vsg) ? "Yes" : "No");
       if(trv_obj.nco_typ == nco_obj_typ_grp) (void)fprintf(stderr," flg_gcv? %s.",(trv_obj.flg_gcv) ? "Yes" : "No");
       if(trv_obj.nco_typ == nco_obj_typ_grp) (void)fprintf(stderr," flg_ncs? %s.",(trv_obj.flg_ncs) ? "Yes" : "No");
+      if(trv_obj.nco_typ == nco_obj_typ_grp) (void)fprintf(stderr," flg_nsx? %s.",(trv_obj.flg_nsx) ? "Yes" : "No");
       (void)fprintf(stderr,"\n");
     } /* end loop over obj_idx */
   } /* endif dbg */
@@ -860,16 +876,25 @@ void
 nco_xtr_xcl                           /* [fnc] Convert extraction list to exclusion list */
 (trv_tbl_sct * const trv_tbl)         /* I/O [sct] GTT (Group Traversal Table) */
 {
-  /* Purpose: Convert extraction list to exclusion list */
+  /* Purpose: Convert extraction list to exclusion list
+     NB: Exclusion is ambiguous for groups
+     Consider, e.g., ncks -x -v /g1/v1 
+     Should that exclude g1 completely? what about other variables like /g1/v2?
+     Hence, the exclusion flag should not always be used to permanant exclude groups
+     On the other hand, there are some uses where the exclusion flag should exclude groups
+     Consider, e.g., ncks -x -g g1
+     In this case g1 and all descendents should be excluded
+     Given that, here is how this routine and NCO actually uses flg_xcl:
+     For variables, -x sets the exclusion flag and is "permanent", i.e., removes variable from extraction list
+     For groups, -x sets the exclusion flag but is not "permanent"---it does not group from extraction list
+     Instead it is used to help determine whether group should be excluded for metadata-only containing groups 
+     Group extraction is reset and done from scratch (except for flg_xcl/flg_mtd) in nco_xtr_grp_mrk() */
 
-  const char fnc_nm[]="nco_xtr_xcl()"; /* [sng] Function name */
 
-  for(unsigned uidx=0;uidx<trv_tbl->nbr;uidx++)
-    if(trv_tbl->lst[uidx].nco_typ == nco_obj_typ_var) 
-      trv_tbl->lst[uidx].flg_xtr=!trv_tbl->lst[uidx].flg_xtr;
-
-  /* Print extraction list in debug mode */
-  if(nco_dbg_lvl_get() == nco_dbg_old) (void)trv_tbl_prn_xtr(trv_tbl,fnc_nm);
+  for(unsigned uidx=0;uidx<trv_tbl->nbr;uidx++){
+    trv_tbl->lst[uidx].flg_xtr=!trv_tbl->lst[uidx].flg_xtr; /* Toggle extraction flag */
+    trv_tbl->lst[uidx].flg_xcl=!trv_tbl->lst[uidx].flg_xcl; /* Mark that this object was explicitly excluded */
+  } /* end for */
 
   return;
 } /* end nco_xtr_xcl() */
@@ -879,25 +904,15 @@ nco_xtr_crd_add                       /* [fnc] Add all coordinates to extraction
 (trv_tbl_sct * const trv_tbl)         /* I/O [sct] GTT (Group Traversal Table) */
 {
   /* Purpose: Add all coordinates to extraction list
-  Find all coordinates (variables with same names and sizes as dimensions) and
-  ensure they are marked for extraction */
+     Find all coordinates (variables with same names and sizes as dimensions) and
+     ensure they are marked for extraction */
 
   const char fnc_nm[]="nco_xtr_crd_add()"; /* [sng] Function name */
 
-  /* Loop table */
-  for(unsigned idx_var=0;idx_var<trv_tbl->nbr;idx_var++){
-
-    /* Filter variables  */
-    if(trv_tbl->lst[idx_var].nco_typ == nco_obj_typ_var){
-      trv_sct var_trv=trv_tbl->lst[idx_var]; 
-
-      /* If variable is coordinate variable then mark it for extraction ...simple */
-      if(var_trv.is_crd_var){
-        trv_tbl->lst[idx_var].flg_xtr=True;
-      }
-
-    } /* Filter variables  */
-  } /* Loop table */
+  /* If variable is coordinate variable then mark it for extraction */
+  for(unsigned idx_var=0;idx_var<trv_tbl->nbr;idx_var++)
+    if(trv_tbl->lst[idx_var].nco_typ == nco_obj_typ_var)
+      if(trv_tbl->lst[idx_var].is_crd_var) trv_tbl->lst[idx_var].flg_xtr=True;
 
   /* Print extraction list in debug mode */
   if(nco_dbg_lvl_get() == nco_dbg_old) (void)trv_tbl_prn_xtr(trv_tbl,fnc_nm);
@@ -920,11 +935,13 @@ nco_xtr_cf_add                        /* [fnc] Add to extraction list variables
 
   /* Search for and add CF-compliant bounds and coordinates to extraction list */
   for(unsigned uidx=0;uidx<trv_tbl->nbr;uidx++){
-    trv_sct trv=trv_tbl->lst[uidx];
-    if(trv.nco_typ == nco_obj_typ_var && trv.flg_xtr) (void)nco_xtr_cf_prv_add(nc_id,&trv,cf_nm,trv_tbl);
+    trv_sct trv_obj=trv_tbl->lst[uidx];
+    /* Filter extracted variables */
+    if(trv_obj.nco_typ == nco_obj_typ_var && trv_obj.flg_xtr){
+      (void)nco_xtr_cf_prv_add(nc_id,&trv_obj,cf_nm,trv_tbl);
+    } /* Filter extracted variables */
   } /* end loop over table */
 
-
   /* Print extraction list in debug mode */
   if(nco_dbg_lvl_get() == nco_dbg_old) (void)trv_tbl_prn_xtr(trv_tbl,fnc_nm);
 
@@ -939,8 +956,8 @@ nco_xtr_cf_prv_add                    /* [fnc] Add specified CF-compliant coordi
  trv_tbl_sct * const trv_tbl)         /* I/O [sct] GTT (Group Traversal Table) */
 {
   /* Detect associated coordinates specified by CF "bounds" or "coordinates" convention for single variable
-     Private routine called by nco_xtr_cf_add()
-     http://cf-pcmdi.llnl.gov/documents/cf-conventions/1.1/cf-conventions.html#coordinate-system */ 
+  Private routine called by nco_xtr_cf_add()
+  http://cf-pcmdi.llnl.gov/documents/cf-conventions/1.1/cf-conventions.html#coordinate-system */ 
 
   char **cf_lst; /* [sng] 1D array of list elements */
 
@@ -998,25 +1015,50 @@ nco_xtr_cf_prv_add                    /* [fnc] Add specified CF-compliant coordi
         char *cf_lst_var=cf_lst[idx_cf];
         if(!cf_lst_var) continue;
 
-        nco_bool flg_cf_fnd=False; /* [flg] Used to print an error message that CF variable was not found */
+        char *cf_lst_var_nm_fll;  /* [sng] Built full name of 'CF' variable to find */
+        const char sls_chr='/';   /* [chr] Slash character */
+        const char sls_sng[]="/"; /* [sng] Slash string */
+        char *ptr_chr;            /* [sng] Pointer to character '/' in full name */
+        int psn_chr;              /* [nbr] Position of character '/' in in full name */
+
+        /* Construct full name of 'CF' variable to find using the full group name where variable resides */
+        cf_lst_var_nm_fll=(char *)nco_malloc(strlen(var_trv->grp_nm_fll)+strlen(cf_lst_var)+2L);
+        strcpy(cf_lst_var_nm_fll,var_trv->grp_nm_fll);
+        if(strcmp(var_trv->grp_nm_fll,sls_sng)) strcat(cf_lst_var_nm_fll,sls_sng);
+        strcat(cf_lst_var_nm_fll,cf_lst_var);
 
-        /* Does CF-variable actually exist in input file, at least by its short name?. Find them all... */
-        for(unsigned uidx=0;uidx<trv_tbl->nbr;uidx++){
-          trv_sct trv=trv_tbl->lst[uidx];
-          if(trv.nco_typ == nco_obj_typ_var && !strcmp(trv.nm,cf_lst_var)){
+        /* Find last occurence of '/' */
+        ptr_chr=strrchr(cf_lst_var_nm_fll,sls_chr);
+        psn_chr=ptr_chr-cf_lst_var_nm_fll;
+        while(ptr_chr){
 
-            /* Mark variable for extraction */
-            trv_tbl->lst[uidx].flg_cf=True;
-            trv_tbl->lst[uidx].flg_xtr=True;
-            flg_cf_fnd=True;
-          }
-        } /* end loop over uidx */
+          /* If variable is on list */
+          if(trv_tbl_fnd_var_nm_fll(cf_lst_var_nm_fll,trv_tbl)){
 
-        /* CF not found ? */
-        if(!flg_cf_fnd){     
-          (void)fprintf(stderr,"%s: WARNING Variable %s, specified in \"%s\" attribute of variable %s, is not present in input file\n",
-            nco_prg_nm_get(),cf_lst[idx_cf],cf_nm,var_trv->nm_fll);
-        } /* CF not found ? */
+            /* Mark it for extraction */
+            (void)trv_tbl_mrk_xtr(cf_lst_var_nm_fll,True,trv_tbl);
+
+            /* Exclude ancestor with lower scope (closer to root) variables, add only the most in scope (usually in same group) */
+            break;
+
+          } /* If variable is on list, mark it for extraction */
+
+          cf_lst_var_nm_fll[psn_chr]='\0';
+          ptr_chr=strrchr(cf_lst_var_nm_fll,sls_chr);
+          /* Re-add variable name to shortened path */
+          if(ptr_chr){
+            psn_chr=ptr_chr-cf_lst_var_nm_fll;
+            cf_lst_var_nm_fll[psn_chr]='\0';
+            if(strcmp(var_trv->grp_nm_fll,sls_sng)) strcat(cf_lst_var_nm_fll,sls_sng);
+            strcat(cf_lst_var_nm_fll,cf_lst_var);
+            ptr_chr=strrchr(cf_lst_var_nm_fll,sls_chr);
+            psn_chr=ptr_chr-cf_lst_var_nm_fll;
+          } /* !ptr_chr */
+        } /* end while */
+
+        /* Free allocated */
+        if(cf_lst_var_nm_fll) cf_lst_var_nm_fll=(char *)nco_free(cf_lst_var_nm_fll);
+    
       } /* end loop over idx_cf */
 
       /* Free allocated memory */
@@ -1029,8 +1071,6 @@ nco_xtr_cf_prv_add                    /* [fnc] Add specified CF-compliant coordi
   return;
 } /* nco_xtr_cf_prv_add() */
 
-
-
 nm_id_sct *                           /* O [sct] Extraction list */  
 nco_trv_tbl_nm_id                     /* [fnc] Create extraction list of nm_id_sct from traversal table */
 (const int nc_id_in,                  /* I [ID] netCDF input file ID */
@@ -1066,9 +1106,9 @@ nco_trv_tbl_nm_id                     /* [fnc] Create extraction list of nm_id_s
       (void)nco_inq_varid(grp_id_in,trv_tbl->lst[uidx].nm,&var_id);
 
       /* 20130213: Necessary to allow MM3->MM4 and MM4->MM3 workarounds
-      Store in/out group IDs as determined in nco_xtr_dfn() 
-      In MM3/4 cases, either grp_in_id or grp_out_id are always root
-      Other is always root unless GPE is used */
+	 Store in/out group IDs as determined in nco_xtr_dfn() 
+	 In MM3/4 cases, either grp_in_id or grp_out_id are always root
+	 Other is always root unless GPE is used */
       xtr_lst[nbr_tbl].grp_id_in=grp_id_in;
       xtr_lst[nbr_tbl].grp_id_out=grp_id_out;
       xtr_lst[nbr_tbl].id=var_id;
@@ -1098,8 +1138,11 @@ nco_xtr_crd_ass_add                   /* [fnc] Add to extraction list all coordi
 
   long dmn_sz;                 /* [nbr] Dimension size */  
 
+  /* Loop table */
   for(unsigned uidx=0;uidx<trv_tbl->nbr;uidx++){
     trv_sct var_trv=trv_tbl->lst[uidx];
+
+    /* Filter variables to extract */
     if(var_trv.nco_typ == nco_obj_typ_var && var_trv.flg_xtr){
 
       /* Obtain group ID using full group name */
@@ -1123,11 +1166,7 @@ nco_xtr_crd_ass_add                   /* [fnc] Add to extraction list all coordi
         (void)nco_inq_dim(grp_id,dmn_id_var[idx_var_dim],dmn_nm_var,&dmn_sz);
 
         char dmn_nm_grp[NC_MAX_NAME];    /* [sng] Dimension name for *group*  */ 
-        const char sls_chr='/'; /* [chr] Slash character */
-        const char sls_sng[]="/"; /* [sng] Slash string */
-        char *ptr_chr; /* [sng] Pointer to character '/' in full name */
-        int psn_chr; /* [nbr] Position of character '/' in in full name */
-
+        
         const int flg_prn=1;         /* [flg] Dimensions in all parent groups will also be retrieved */ 
 
         int dmn_id_grp[NC_MAX_DIMS]; /* [id] Dimensions IDs array */
@@ -1139,7 +1178,7 @@ nco_xtr_crd_ass_add                   /* [fnc] Add to extraction list all coordi
         /* Obtain dimension IDs */
         (void)nco_inq_dimids(grp_id,&nbr_dmn_grp,dmn_id_grp,flg_prn);
 
-        /* List dimensions */
+        /* Loop dimensions visible to group  */
         for(int idx_dmn=0;idx_dmn<nbr_dmn_grp;idx_dmn++){
 
           /* Get dimension info */
@@ -1147,7 +1186,11 @@ nco_xtr_crd_ass_add                   /* [fnc] Add to extraction list all coordi
 
           /* Does dimension match requested variable name (i.e., is it a coordinate variable?) */ 
           if(!strcmp(dmn_nm_grp,dmn_nm_var)){
-            char *dmn_nm_fll;
+            char *dmn_nm_fll;         /* [sng] Built dimension full name */
+            const char sls_chr='/';   /* [chr] Slash character */
+            const char sls_sng[]="/"; /* [sng] Slash string */
+            char *ptr_chr;            /* [sng] Pointer to character '/' in full name */
+            int psn_chr;              /* [nbr] Position of character '/' in in full name */
 
             /* Construct full (dimension/coordinate) name using the full group name where original variable resides */
             dmn_nm_fll=(char *)nco_malloc(strlen(var_trv.grp_nm_fll)+strlen(dmn_nm_grp)+2L);
@@ -1163,8 +1206,18 @@ nco_xtr_crd_ass_add                   /* [fnc] Add to extraction list all coordi
             ptr_chr=strrchr(dmn_nm_fll,sls_chr);
             psn_chr=ptr_chr-dmn_nm_fll;
             while(ptr_chr){
-              /* If variable is on list, mark it for extraction */
-              if(trv_tbl_fnd_var_nm_fll(dmn_nm_fll,trv_tbl)) (void)trv_tbl_mrk_xtr(dmn_nm_fll,trv_tbl);
+
+              /* If variable is on list */
+              if(trv_tbl_fnd_var_nm_fll(dmn_nm_fll,trv_tbl)){
+
+                /* Mark it for extraction */
+                (void)trv_tbl_mrk_xtr(dmn_nm_fll,True,trv_tbl);
+
+                /* Subsetting should exclude ancestor with lower scope (closer to root) coordinates, add only the most in scope (usually in same group) */
+                break;
+
+              } /* If variable is on list, mark it for extraction */
+
               dmn_nm_fll[psn_chr]='\0';
               ptr_chr=strrchr(dmn_nm_fll,sls_chr);
               if(ptr_chr){
@@ -1181,32 +1234,30 @@ nco_xtr_crd_ass_add                   /* [fnc] Add to extraction list all coordi
             /* Free allocated */
             if(dmn_nm_fll) dmn_nm_fll=(char *)nco_free(dmn_nm_fll);
 
-          } /* end strcmp() */
-        } /* end loop over idx_dmn */
-
-
-      } /* End loop over idx_var_dim: list dimensions for variable */
-    } /* end nco_obj_typ_var */
-  } /* end uidx  */
+          } /* Does dimension match requested variable name (i.e., is it a coordinate variable?) */ 
+        }  /* Loop dimensions visible to group  */
+      } /* Loop over dimensions of variable */
+    } /* Filter variables to extract */
+  } /* Loop table */
   return;
 } /* end nco_xtr_crd_ass_cdf_add */
 
 void
-nco_get_prg_info(void)                 /* [fnc] Get program info */
+nco_get_prg_info(void) /* [fnc] Get program info */
 {
-  /* fxm: this routine is a kludge for Perl in nco_bm.pl and should be eliminated at first opportunity */
-  int ret=10;
+  /* fxm: routine is a kludge for Perl in nco_bm.pl and should be eliminated at first opportunity */
+  int rcd=10;
 #ifndef HAVE_NETCDF4_H 
-  ret=20;
+  rcd=20;
 #else /* HAVE_NETCDF4_H */
 #ifdef ENABLE_NETCDF4 
-  ret=30;
+  rcd=30;
 #else /* HAVE_NETCDF4_H */
-  ret=40;
+  rcd=40;
 #endif /* ENABLE_NETCDF4 */
 #endif /* HAVE_NETCDF4_H */
 
-  exit(ret);
+  exit(rcd);
 } /* end nco_get_prg_info() */
 
 void 
@@ -1215,10 +1266,7 @@ nco_xtr_lst_prn                            /* [fnc] Print name-ID structure list
  const int nm_id_nbr)                  /* I [nbr] Number of name-ID structures in list */
 {
   (void)fprintf(stdout,"%s: INFO List: %d extraction variables\n",nco_prg_nm_get(),nm_id_nbr); 
-  for(int idx=0;idx<nm_id_nbr;idx++){
-    nm_id_sct nm_id=nm_id_lst[idx];
-    (void)fprintf(stdout,"[%d] %s\n",idx,nm_id.nm); 
-  } 
+  for(int idx=0;idx<nm_id_nbr;idx++) (void)fprintf(stdout,"[%d] %s\n",idx,nm_id_lst[idx].nm); 
 } /* end nco_xtr_lst_prn() */
 
 void
@@ -1327,10 +1375,20 @@ nco_xtr_grp_mrk                      /* [fnc] Mark extracted groups */
      Could be performed before or after writing variables
      Used to be part of nco_xtr_dfn()
      However, ncks print functions need group extraction flag set for printing
-     As of 20130716 we isolate this flag-setting from actual copying still done in nco_xtr_dfn() */
+     As of 20130716 we isolate this flag-setting in nco_xtr_grp_mrk()
+     Actual group copying still done in nco_xtr_dfn() */
 
   const char sls_sng[]="/"; /* [sng] Slash string */
-  
+
+  char *grp_fll_sls; /* [sng] Full group name with slash appended */
+  char *sbs_srt; /* [sng] Location of user-string match start in object path */
+
+  nco_bool flg_pth_srt_bnd; /* [flg] String begins at path component boundary */
+  nco_bool flg_pth_end_bnd; /* [flg] String ends   at path component boundary */
+
+  unsigned int grp_idx;
+  unsigned int obj_idx;
+
   /* Goal here is to annotate which groups will appear in output
      Need to know in order to efficiently copy their metadata
      Definition of flags in extraction table is operational
@@ -1342,24 +1400,25 @@ nco_xtr_grp_mrk                      /* [fnc] Mark extracted groups */
      For instance, the exclusion flag (-x) is ambiguous for groups
      Also identification of associated coordinates and auxiliary coordinates occurs after nco_xtr_mk()
      Associated and auxiliary coordinates may be in distant groups
-     Hence no better place than nco_xtr_dfn() to finally identify ancestor groups */
+     Hence no better place than nco_xtr_grp_mrk() to finally identify ancestor groups */
   
   /* Set extraction flag for groups if ancestors of extracted variables */
-  for(unsigned grp_idx=0;grp_idx<trv_tbl->nbr;grp_idx++){
+  for(grp_idx=0;grp_idx<trv_tbl->nbr;grp_idx++){
     /* For each group ... */
     if(trv_tbl->lst[grp_idx].nco_typ == nco_obj_typ_grp){
-      char *sbs_srt; /* [sng] Location of user-string match start in object path */
-      char *grp_fll_sls=NULL; /* [sng] Full group name with slash appended */
-      /* Initialize extraction flag to False and overwrite later iff ... */
-      trv_tbl->lst[grp_idx].flg_xtr=False;
+      /* Metadata-only containing groups already have flg_mtd set in nco_xtr_mk()
+	 Variable ancestry may not affect such groups, especially if they are leaf groups
+	 Set extraction flag to True (then continue) iff matching groups contain only metadata
+	 Otherwise set initialize extraction flag to False and overwrite later based on descendent variables */
+      if((trv_tbl->lst[grp_idx].flg_xtr=(!trv_tbl->lst[grp_idx].flg_xcl && trv_tbl->lst[grp_idx].flg_mtd))) continue;
       if(!strcmp(trv_tbl->lst[grp_idx].grp_nm_fll,sls_sng)){
 	/* Manually mark root group as extracted because matching algorithm below fails for root group 
 	   (it looks for "//" in variable names) */
 	trv_tbl->lst[grp_idx].flg_xtr=True;
 	continue;
       } /* endif root group */
-      grp_fll_sls=(char *)strdup(trv_tbl->lst[grp_idx].grp_nm_fll);
-      grp_fll_sls=(char *)nco_realloc(grp_fll_sls,(strlen(grp_fll_sls)+2L)*sizeof(char));
+      grp_fll_sls=(char *)strdup(trv_tbl->lst[grp_idx].nm_fll);
+      grp_fll_sls=(char *)nco_realloc(grp_fll_sls,(trv_tbl->lst[grp_idx].nm_fll_lng+2L)*sizeof(char));
       strcat(grp_fll_sls,sls_sng);
       /* ... loop through ... */
       for(unsigned idx_var=0;idx_var<trv_tbl->nbr;idx_var++){
@@ -1367,29 +1426,72 @@ nco_xtr_grp_mrk                      /* [fnc] Mark extracted groups */
 	if(trv_tbl->lst[idx_var].nco_typ == nco_obj_typ_var && trv_tbl->lst[idx_var].flg_xtr){
 	  /* ... finds that full path to current group is contained in an extracted variable path ... */
 	  if((sbs_srt=strstr(trv_tbl->lst[idx_var].nm_fll,grp_fll_sls))){
+	    flg_pth_srt_bnd=False;
+	    flg_pth_end_bnd=False;
 	    /* ... and _begins_ a full group path of that variable ... */
-	    if(sbs_srt == trv_tbl->lst[idx_var].nm_fll){
+	    if(sbs_srt == trv_tbl->lst[idx_var].nm_fll) flg_pth_srt_bnd=True;
+	    /* Match ends on path component boundary, directly on a slash, because we added slash before matching */
+	    flg_pth_end_bnd=True;
+	    if(flg_pth_srt_bnd && flg_pth_end_bnd){
 	      /* ... and mark _only_ those groups for extraction... */
 	      trv_tbl->lst[grp_idx].flg_xtr=True;
-	      continue;
+	      break;
 	    } /* endif */
 	  } /* endif full group path */
-	} /* endif extracted variable */
+	} /* endif extracted variable */ 
       } /* end loop over idx_var */
       if(grp_fll_sls) grp_fll_sls=(char *)nco_free(grp_fll_sls);
     } /* endif group */
   } /* end loop over grp_idx */
+
+  /* Current status of flg_xtr for groups is that it has been set 
+     1. For all user-specified groups
+     2. For default (non user-specified) groups
+     3. For metadata-only groups that do not conflict with the above
+     What is lacking here is extraction flags for ancestors of all extracted groups
+     Ancestor flags have been set in nco_xtr_mk() but must be discarded and reset
+     for same reasons that group flags in nco_xtr_mk() are unreliable for final list.
+     This loop ensures groups are marked for extraction if any descendents are marked
+     Mainly (only?) this catches ancestors of metadata only groups
+     This loop is not necessary for _copying_ files because nco_xtr_dfn() algorithm handles ancestors
+     This loop _is_ necessary for _printing_ files because nco_grp_prn() algorithm does not handle ancestors
+     Set extraction flag for groups if ancestors of extracted groups */
+
+  for(grp_idx=0;grp_idx<trv_tbl->nbr;grp_idx++){
+    /* For each group that is not yet on extraction list ... */
+    if(trv_tbl->lst[grp_idx].nco_typ == nco_obj_typ_grp && !trv_tbl->lst[grp_idx].flg_xtr){
+      grp_fll_sls=(char *)strdup(trv_tbl->lst[grp_idx].nm_fll);
+      grp_fll_sls=(char *)nco_realloc(grp_fll_sls,(trv_tbl->lst[grp_idx].nm_fll_lng+2L)*sizeof(char));
+      strcat(grp_fll_sls,sls_sng);
+      /* Search for its path as a component of an extracted group path */
+      for(obj_idx=0;obj_idx<trv_tbl->nbr;obj_idx++){
+	if(trv_tbl->lst[obj_idx].nco_typ == nco_obj_typ_grp && trv_tbl->lst[obj_idx].flg_xtr){
+	  if((sbs_srt=strstr(trv_tbl->lst[obj_idx].nm_fll,grp_fll_sls))){
+	    flg_pth_srt_bnd=False;
+	    flg_pth_end_bnd=False;
+	    /* Ancestor groups must match start of extracted group */
+	    if(sbs_srt == trv_tbl->lst[obj_idx].nm_fll) flg_pth_srt_bnd=True;
+	    /* Match ends on path component boundary, directly on a slash, because we added slash before matching */
+	    flg_pth_end_bnd=True;
+	    if(flg_pth_srt_bnd && flg_pth_end_bnd){
+	      trv_tbl->lst[grp_idx].flg_ncs=True;
+	      trv_tbl->lst[grp_idx].flg_xtr=True;
+	      continue;
+	    } /* endif current group is ancestor of extracted group */
+	  } /* endif current group may be ancestor of extracted group */
+	} /* endif extracted group */
+      } /* end loop over obj_idx */
+      if(grp_fll_sls) grp_fll_sls=(char *)nco_free(grp_fll_sls);
+    } /* endif group */
+  } /* end loop over grp_idx */
+
 } /* end nco_xtr_grp_mrk() */
 
 void
 nco_xtr_dfn                          /* [fnc] Define extracted groups, variables, and attributes in output file */
 (const int nc_id,                    /* I [ID] netCDF input file ID */
  const int nc_out_id,                /* I [ID] netCDF output file ID */
- int * const cnk_map_ptr,            /* I [enm] Chunking map */
- int * const cnk_plc_ptr,            /* I [enm] Chunking policy */
- const size_t cnk_sz_scl,            /* I [nbr] Chunk size scalar */
- CST_X_PTR_CST_PTR_CST_Y(cnk_sct,cnk), /* I [sct] Chunking information */
- const int cnk_nbr,                  /* I [nbr] Number of dimensions with user-specified chunking */
+ const cnk_sct * const cnk,          /* I [sct] Chunking structure */
  const int dfl_lvl,                  /* I [enm] Deflate level [0..9] */
  const gpe_sct * const gpe,          /* I [sct] GPE structure */
  const md5_sct * const md5,          /* I [sct] MD5 configuration */
@@ -1403,7 +1505,6 @@ nco_xtr_dfn                          /* [fnc] Define extracted groups, variables
      rec_dmn_nm, if any, is name requested for (netCDF3) sole record dimension */
 
   const char fnc_nm[]="nco_xtr_dfn()"; /* [sng] Function name */
-  const char sls_sng[]="/"; /* [sng] Slash string */
 
   char *grp_out_fll; /* [sng] Group name */
 
@@ -1429,60 +1530,8 @@ nco_xtr_dfn                          /* [fnc] Define extracted groups, variables
 
   /* Isolate extra complexity of copying group metadata */
   if(CPY_GRP_METADATA){
-    /* Block can be performed before or after writing variables
-    Perhaps it should be turned into an explicit function call */
-
-    /* Goal here is to annotate which groups will appear in output
-    Need to know in order to efficiently copy their metadata
-    Definition of flags in extraction table is operational
-    Could create a new flag just for this
-    Instead, we re-purpose the extraction flag, flg_xtr, for groups
-    Could re-purpose flg_ncs too with same effect
-    nco_xtr_mk() sets flg_xtr for groups, like variables, that match user-specified strings
-    Later processing makes flg_xtr for groups unreliable
-    For instance, the exclusion flag (-x) is ambiguous for groups
-    Also identification of associated coordinates and auxiliary coordinates occurs after nco_xtr_mk()
-    Associated and auxiliary coordinates may be in distant groups
-    Hence no better place than nco_xtr_dfn() to finally identify ancestor groups */
-
-    /* Set extraction flag for groups if ancestors of extracted variables */
-    for(unsigned grp_idx=0;grp_idx<trv_tbl->nbr;grp_idx++){
-      /* For each group ... */
-      if(trv_tbl->lst[grp_idx].nco_typ == nco_obj_typ_grp){
-        char *sbs_srt; /* [sng] Location of user-string match start in object path */
-        char *grp_fll_sls=NULL; /* [sng] Full group name with slash appended */
-        /* Initialize extraction flag to False and overwrite later iff ... */
-        trv_tbl->lst[grp_idx].flg_xtr=False;
-        if(!strcmp(trv_tbl->lst[grp_idx].grp_nm_fll,sls_sng)){
-          /* Manually mark root group as extracted because matching algorithm below fails for root group 
-          (it looks for "//" in variable names) */
-          trv_tbl->lst[grp_idx].flg_xtr=True;
-          continue;
-        } /* endif root group */
-        grp_fll_sls=(char *)strdup(trv_tbl->lst[grp_idx].grp_nm_fll);
-        grp_fll_sls=(char *)nco_realloc(grp_fll_sls,(strlen(grp_fll_sls)+2L)*sizeof(char));
-        strcat(grp_fll_sls,sls_sng);
-        /* ... loop through ... */
-        for(unsigned idx_var=0;idx_var<trv_tbl->nbr;idx_var++){
-          /* ... all variables to be extracted ... */
-          if(trv_tbl->lst[idx_var].nco_typ == nco_obj_typ_var && trv_tbl->lst[idx_var].flg_xtr){
-            /* ... finds that full path to current group is contained in an extracted variable path ... */
-            if((sbs_srt=strstr(trv_tbl->lst[idx_var].nm_fll,grp_fll_sls))){
-              /* ... and _begins_ a full group path of that variable ... */
-              if(sbs_srt == trv_tbl->lst[idx_var].nm_fll){
-                /* ... and mark _only_ those groups for extraction... */
-                trv_tbl->lst[grp_idx].flg_xtr=True;
-                continue;
-              } /* endif */
-            } /* endif full group path */
-          } /* endif extracted variable */
-        } /* end loop over idx_var */
-        if(grp_fll_sls) grp_fll_sls=(char *)nco_free(grp_fll_sls);
-      } /* endif group */
-    } /* end loop over grp_idx */
-
     /* Extraction flag for groups was set in nco_xtr_grp_mrk() 
-    This loop defines those groups in output file and copies their metadata */
+       This loop defines those groups in output file and copies their metadata */
     for(unsigned uidx=0;uidx<trv_tbl->nbr;uidx++){
       trv_sct grp_trv=trv_tbl->lst[uidx];
 
@@ -1493,29 +1542,28 @@ nco_xtr_dfn                          /* [fnc] Define extracted groups, variables
         (void)nco_inq_grp_full_ncid(nc_id,grp_trv.grp_nm_fll,&grp_id);
 
         /* ncge case */ 
-        if(nco_prg_id_get() == ncge ){ 
+        if(nco_prg_id_get() == ncge){
 
-          /* Is ensemble parent group */
           if(grp_trv.flg_nsm_prn){
-            /* Check if suffix needed. Appends to default name (e.g /cesm + _avg) */
+	    /* Ensemble parent groups */
             if(trv_tbl->nsm_sfx){
-              /* Just define (append) and forget a new name */
+              /* Define new name by appending suffix (e.g., /cesm + _avg) */
               char *nm_fll_sfx=nco_bld_nsm_sfx(grp_trv.grp_nm_fll_prn,trv_tbl);
-              /* Use the new name */
+              /* Use then delete new name */
               if(gpe) grp_out_fll=nco_gpe_evl(gpe,nm_fll_sfx); else grp_out_fll=(char *)strdup(nm_fll_sfx);
               nm_fll_sfx=(char *)nco_free(nm_fll_sfx);
-            }else {
+            }else{
               if(gpe) grp_out_fll=nco_gpe_evl(gpe,grp_trv.grp_nm_fll_prn); else grp_out_fll=(char *)strdup(grp_trv.grp_nm_fll_prn);
-            } /* ! Suffix */
-            /* If group is an ensemble member, do not create it in the same location as input */
-          } else if (grp_trv.flg_nsm_mbr){
+            } /* !nsm_sfx */
+          }else if(grp_trv.flg_nsm_mbr){
+            /* If group is ensemble member, do not create it in same location as input */
             continue;
-          } else {
+          }else{
             /* Regular group */
             if(gpe) grp_out_fll=nco_gpe_evl(gpe,grp_trv.grp_nm_fll); else grp_out_fll=(char *)strdup(grp_trv.grp_nm_fll);
-          } /* ! Ensemble parent group */
+          } /* !flg_nsm_prn */
 
-        }else {
+        }else{
           /* Non ncge case: Edit group name for output */
           if(gpe) grp_out_fll=nco_gpe_evl(gpe,grp_trv.grp_nm_fll); else grp_out_fll=(char *)strdup(grp_trv.grp_nm_fll);
         } /* !ncge */
@@ -1549,25 +1597,23 @@ nco_xtr_dfn                          /* [fnc] Define extracted groups, variables
 
       /* ncge */
       if(nco_prg_id_get() == ncge){
-        /* If variable is an ensemble member, do not create it in the same location as input */
-        if (var_trv.flg_nsm_mbr == True){
-          
-          /* Check if suffix needed. Appends to default name */
+        /* If variable is in an ensemble member, do not create it in same location as input */
+        if(var_trv.flg_nsm_mbr){
           if(trv_tbl->nsm_sfx){
-            /* Just define (append) and forget a new name */
+            /* Define new name by appending suffix (e.g., /cesm + _avg) */
             char *nm_fll_sfx=nco_bld_nsm_sfx(var_trv.grp_nm_fll_prn,trv_tbl);
-            /* Use the new name */
+            /* Use then delete new name */
             if(gpe) grp_out_fll=nco_gpe_evl(gpe,nm_fll_sfx); else grp_out_fll=(char *)strdup(nm_fll_sfx);
             nm_fll_sfx=(char *)nco_free(nm_fll_sfx);
-          } else { /* Non suffix case */
+          }else{ /* Non suffix case */
             if(gpe) grp_out_fll=nco_gpe_evl(gpe,var_trv.nsm_nm); else grp_out_fll=(char *)strdup(var_trv.nsm_nm);
           } /* !trv_tbl->nsm_sfx */
 
         }else{
           /* Edit group name for output */
           if(gpe) grp_out_fll=nco_gpe_evl(gpe,var_trv.grp_nm_fll); else grp_out_fll=(char *)strdup(var_trv.grp_nm_fll);
-        } /* ! ensemble member  */
-      }else {
+        } /* !flg_nsm_mbr  */
+      }else{
         /* Edit group name for output */
         if(gpe) grp_out_fll=nco_gpe_evl(gpe,var_trv.grp_nm_fll); else grp_out_fll=(char *)strdup(var_trv.grp_nm_fll);
       } /* !ncge */
@@ -1579,20 +1625,15 @@ nco_xtr_dfn                          /* [fnc] Define extracted groups, variables
       if(nco_prg_id_get() == ncge){
         /* Is requested variable in output file? */
         int rcd=nco_inq_varid_flg(grp_out_id,var_trv.nm,&var_out_id);
-        /* Yes, get out of dodge... this is just to avoid GPE failure on duplicate definition */
-        if (rcd == 0){
-          continue;
-        }
+        /* Yes, get outta' Dodge... avoid GPE failure on duplicate definition */
+        if(rcd == 0) continue;
       } /* ncge */
 
-      /* Detect duplicate GPE names in advance, then exit with helpful error */
+      /* Detect duplicate GPE names in advance, then exit() with helpful error */
       if(gpe) nco_gpe_chk(grp_out_fll,var_trv.nm,&gpe_nm,&nbr_gpe_nm);                       
 
       /* Define variable in output file */
-      var_out_id=nco_cpy_var_dfn_trv(nc_id,nc_out_id,grp_out_fll,dfl_lvl,gpe,rec_dmn_nm,&var_trv,trv_tbl);
-
-      /* Set chunksize parameters */
-      if(fl_fmt == NC_FORMAT_NETCDF4 || fl_fmt == NC_FORMAT_NETCDF4_CLASSIC) (void)nco_cnk_sz_set_trv(grp_out_id,cnk_map_ptr,cnk_plc_ptr,cnk_sz_scl,cnk,cnk_nbr,&var_trv);
+      var_out_id=nco_cpy_var_dfn_trv(nc_id,nc_out_id,cnk,grp_out_fll,dfl_lvl,gpe,rec_dmn_nm,&var_trv,trv_tbl);
 
       /* Copy variable's attributes */
       if(CPY_VAR_METADATA){
@@ -1723,9 +1764,9 @@ nco_xtr_wrt                           /* [fnc] Write extracted data to output fi
 
         if(nco_dbg_lvl_get() >= nco_dbg_vrb){
           (void)fprintf(stdout,"%s: INFO %s writing variable <%s> from ",nco_prg_nm_get(),fnc_nm,trv.nm_fll);        
-          (void)nco_prt_grp_nm_fll(grp_id_in);
+          (void)nco_prn_grp_nm_fll(grp_id_in);
           (void)fprintf(stdout," to ");   
-          (void)nco_prt_grp_nm_fll(grp_id_out);
+          (void)nco_prn_grp_nm_fll(grp_id_out);
           (void)fprintf(stdout,"\n");
         } /* endif dbg */
 
@@ -1743,23 +1784,19 @@ nco_xtr_wrt                           /* [fnc] Write extracted data to output fi
 } /* end nco_xtr_wrt() */
 
 void                          
-nco_prt_dmn /* [fnc] Print dimensions for a group  */
+nco_prn_dmn /* [fnc] Print dimensions for a group  */
 (const int nc_id, /* I [ID] File ID */
  const char * const grp_nm_fll) /* I [sng] Full name of group */
 {
-  char dmn_nm[NC_MAX_NAME]; /* [sng] Dimension name */ 
-
-  const int flg_prn=0; /* [flg] Retrieve all dimensions in parent groups */        
+  char dmn_nm[NC_MAX_NAME];     /* [sng] Dimension name */ 
 
-  int dmn_ids[NC_MAX_DIMS]; /* [nbr] Dimensions IDs array */
+  int *dmn_ids;                 /* [nbr] Dimensions IDs array */
   int dmn_ids_ult[NC_MAX_DIMS]; /* [nbr] Unlimited dimensions IDs array */
-  int grp_id; /* [ID]  Group ID */
-  int nbr_att; /* [nbr] Number of attributes */
-  int nbr_dmn; /* [nbr] Number of dimensions */
-  int nbr_dmn_ult; /* [nbr] Number of unlimited dimensions */
-  int nbr_var; /* [nbr] Number of variables */
+  int grp_id;                   /* [ID]  Group ID */
+  int nbr_dmn;                  /* [nbr] Number of dimensions */
+  int nbr_dmn_ult;              /* [nbr] Number of unlimited dimensions */
 
-  long dmn_sz; /* [nbr] Dimension size */
+  long dmn_sz;                  /* [nbr] Dimension size */
 
   /* Obtain group ID from netCDF API using full group name */
   (void)nco_inq_grp_full_ncid(nc_id,grp_nm_fll,&grp_id);
@@ -1767,11 +1804,8 @@ nco_prt_dmn /* [fnc] Print dimensions for a group  */
   /* Obtain unlimited dimensions for group */
   (void)nco_inq_unlimdims(grp_id,&nbr_dmn_ult,dmn_ids_ult);
 
-  /* Obtain number of dimensions for group */
-  (void)nco_inq(grp_id,&nbr_dmn,&nbr_var,&nbr_att,NULL);
-
   /* Obtain dimensions IDs for group */
-  (void)nco_inq_dimids(grp_id,&nbr_dmn,dmn_ids,flg_prn);
+  dmn_ids=nco_dmn_malloc(nc_id,grp_nm_fll,&nbr_dmn);
 
   /* List dimensions using obtained group ID */
   for(int dnm_idx=0;dnm_idx<nbr_dmn;dnm_idx++){
@@ -1790,7 +1824,9 @@ nco_prt_dmn /* [fnc] Print dimensions for a group  */
     if(!is_rec_dim) (void)fprintf(stdout," #%d dimension: '%s'(%li)\n",dmn_ids[dnm_idx],dmn_nm,dmn_sz);
 
   } /* end dnm_idx dimensions */
-} /* end nco_prt_dmn() */
+
+  dmn_ids=(int *)nco_free(dmn_ids);
+} /* end nco_prn_dmn() */
 
 void                          
 nco_bld_dmn_ids_trv                   /* [fnc] Build dimension info for all variables */
@@ -1873,7 +1909,7 @@ nco_bld_dmn_ids_trv                   /* [fnc] Build dimension info for all vari
 
           (void)fprintf(stdout,"%s: INFO %s reports variable <%s> with duplicate dimensions\n",nco_prg_nm_get(),fnc_nm,var_trv.nm_fll);
           (void)fprintf(stdout,"%s: ERROR netCDF file with duplicate dimension IDs detected. Please use netCDF version at least 4.3.0.\n",nco_prg_nm_get());
-          (void)nco_prt_trv_tbl(nc_id,trv_tbl);
+          (void)nco_prn_trv_tbl(nc_id,trv_tbl);
           nco_exit(EXIT_FAILURE);
         }
 
@@ -1882,6 +1918,9 @@ nco_bld_dmn_ids_trv                   /* [fnc] Build dimension info for all vari
 
         /* Store full group name where dimension is located */
         trv_tbl->lst[idx_var].var_dmn[idx_dmn_var].grp_nm_fll=strdup(dmn_trv->grp_nm_fll);
+
+        /* Mark as record dimension if so */
+        trv_tbl->lst[idx_var].var_dmn[idx_dmn_var].is_rec_dmn=dmn_trv->is_rec_dmn;
       }
 
     } /* Filter variables */
@@ -1965,7 +2004,8 @@ nco_grp_itr                            /* [fnc] Populate traversal table by exam
   /* Add this element (a group) to table */
   trv_tbl->lst[idx].nco_typ=nco_obj_typ_grp;          /* [enm] netCDF4 object type: group or variable */
 
-  strcpy(trv_tbl->lst[idx].nm,grp_nm);            /* [sng] Relative name (i.e., variable name or last component of path name for groups) */
+  trv_tbl->lst[idx].nm=strdup(grp_nm);            /* [sng] Relative name (i.e., variable name or last component of path name for groups) */
+  trv_tbl->lst[idx].grp_nm=strdup(grp_nm);        /* [sng] Group name */
   trv_tbl->lst[idx].nm_lng=strlen(grp_nm);        /* [sng] Length of short name */
   trv_tbl->lst[idx].grp_nm_fll=strdup(grp_nm_fll);/* [sng] Full group name (for groups, same as nm_fll) */
   trv_tbl->lst[idx].nm_fll=strdup(grp_nm_fll);    /* [sng] Fully qualified name (path) */
@@ -1976,6 +2016,7 @@ nco_grp_itr                            /* [fnc] Populate traversal table by exam
   trv_tbl->lst[idx].flg_dfl=False;                /* [flg] Object meets default subsetting criteria */
   trv_tbl->lst[idx].flg_gcv=False;                /* [flg] Group contains matched variable */
   trv_tbl->lst[idx].flg_mch=False;                /* [flg] Object matches user-specified strings */
+  trv_tbl->lst[idx].flg_mtd=False;                /* [flg] Group contains only metadata */
   trv_tbl->lst[idx].flg_ncs=False;                /* [flg] Group is ancestor of specified group or variable */
   trv_tbl->lst[idx].flg_nsx=False;                /* [flg] Object matches intersection criteria */
   trv_tbl->lst[idx].flg_rcr=False;                /* [flg] Extract group recursively */
@@ -1985,6 +2026,10 @@ nco_grp_itr                            /* [fnc] Populate traversal table by exam
   trv_tbl->lst[idx].flg_xcl=False;                /* [flg] Object matches exclusion criteria */
   trv_tbl->lst[idx].flg_xtr=False;                /* [flg] Extract object */
   trv_tbl->lst[idx].flg_rdr=False;                /* [flg] Variable has dimensions to re-order (ncpdq) */
+  trv_tbl->lst[idx].flg_aux=False;                /* [flg] Variable contains auxiliary coordinates */
+  trv_tbl->lst[idx].flg_std_att_lat=False;        /* [flg] Variable contains 'standard_name' attribute "latitude" */ 
+  trv_tbl->lst[idx].flg_std_att_lon=False;        /* [flg] Variable contains 'standard_name' attribute "longitude" */ 
+
   trv_tbl->lst[idx].rec_dmn_nm_out=NULL;          /* [sng] Record dimension name, re-ordered */ 
   trv_tbl->lst[idx].grp_dpt=grp_dpt;              /* [nbr] Depth of group (root = 0) */
   trv_tbl->lst[idx].nbr_dmn=nbr_dmn_grp;          /* [nbr] Number of dimensions */
@@ -2005,19 +2050,12 @@ nco_grp_itr                            /* [fnc] Populate traversal table by exam
   trv_tbl->lst[idx].flg_nsm_tpl=False;            /* [flg] Group is, or variable is in, template member group */
   trv_tbl->lst[idx].nsm_nm=NULL;                  /* [sng] (ncge) Ensemble parent group name i.e., full path to ensemble parent */ 
 
-  /* Variable dimensions  */
-  for(int idx_dmn_var=0;idx_dmn_var<NC_MAX_DIMS;idx_dmn_var++){
-    trv_tbl->lst[idx].var_dmn[idx_dmn_var].dmn_nm_fll=NULL;
-    trv_tbl->lst[idx].var_dmn[idx_dmn_var].dmn_nm=NULL;
-    trv_tbl->lst[idx].var_dmn[idx_dmn_var].grp_nm_fll=NULL;
-    trv_tbl->lst[idx].var_dmn[idx_dmn_var].is_crd_var=nco_obj_typ_err;
-    trv_tbl->lst[idx].var_dmn[idx_dmn_var].crd=NULL;
-    trv_tbl->lst[idx].var_dmn[idx_dmn_var].ncd=NULL;
-    trv_tbl->lst[idx].var_dmn[idx_dmn_var].dmn_id=nco_obj_typ_err;
-    /* Assume dimension is to keep on output */
-    trv_tbl->lst[idx].var_dmn[idx_dmn_var].flg_dmn_avg=False;
-    trv_tbl->lst[idx].var_dmn[idx_dmn_var].flg_rdd=False;   
-  } /* end loop over dimensions */
+  /* Variable dimensions. For groups there are no variable dimensions  */
+  trv_tbl->lst[idx].var_dmn=NULL;
+
+  /* ncpdq dimension arrays  */
+  trv_tbl->lst[idx].dmn_idx_out_in=NULL;
+  trv_tbl->lst[idx].dmn_rvr_in=NULL;
 
   /* Iterate variables for this group */
   for(int idx_var=0;idx_var<nbr_var;idx_var++){
@@ -2028,6 +2066,7 @@ nco_grp_itr                            /* [fnc] Populate traversal table by exam
     /* Get dimension IDs for variable */
     (void)nco_inq_vardimid(grp_id,idx_var,dmn_id_var);
 
+
     /* Allocate path buffer and include space for trailing NUL */ 
     var_nm_fll=(char *)nco_malloc(strlen(grp_nm_fll)+strlen(var_nm)+2L);
 
@@ -2060,9 +2099,10 @@ nco_grp_itr                            /* [fnc] Populate traversal table by exam
     /* Add this element, a variable, to table. NB: nbr_var, nbr_grp, flg_rcr not valid here */
     trv_tbl->lst[idx].nco_typ=obj_typ;
 
-    strcpy(trv_tbl->lst[idx].nm,var_nm);
+    trv_tbl->lst[idx].nm=strdup(var_nm); 
     trv_tbl->lst[idx].nm_lng=strlen(var_nm);
     trv_tbl->lst[idx].grp_nm_fll=strdup(grp_nm_fll);
+    trv_tbl->lst[idx].grp_nm=strdup(grp_nm);        
     trv_tbl->lst[idx].nm_fll=strdup(var_nm_fll);
     trv_tbl->lst[idx].nm_fll_lng=strlen(var_nm_fll);  
 
@@ -2071,6 +2111,7 @@ nco_grp_itr                            /* [fnc] Populate traversal table by exam
     trv_tbl->lst[idx].flg_dfl=False; 
     trv_tbl->lst[idx].flg_gcv=False; 
     trv_tbl->lst[idx].flg_mch=False; 
+    trv_tbl->lst[idx].flg_mtd=False; 
     trv_tbl->lst[idx].flg_ncs=False; 
     trv_tbl->lst[idx].flg_nsx=False; 
     trv_tbl->lst[idx].flg_rcr=False; 
@@ -2080,6 +2121,10 @@ nco_grp_itr                            /* [fnc] Populate traversal table by exam
     trv_tbl->lst[idx].flg_xcl=False; 
     trv_tbl->lst[idx].flg_xtr=False;
     trv_tbl->lst[idx].flg_rdr=False;
+    trv_tbl->lst[idx].flg_aux=False;
+    trv_tbl->lst[idx].flg_std_att_lat=False;   
+    trv_tbl->lst[idx].flg_std_att_lon=False; 
+
     trv_tbl->lst[idx].rec_dmn_nm_out=NULL;                     
     trv_tbl->lst[idx].grp_dpt=grp_dpt; 
     trv_tbl->lst[idx].nbr_att=nbr_att;
@@ -2101,17 +2146,27 @@ nco_grp_itr                            /* [fnc] Populate traversal table by exam
     trv_tbl->lst[idx].nsm_nm=NULL;
 
     /* Variable dimensions */
-    for(int idx_dmn_var=0;idx_dmn_var<NC_MAX_DIMS;idx_dmn_var++){
+    trv_tbl->lst[idx].var_dmn=(var_dmn_sct *)nco_malloc(nbr_dmn_var*sizeof(var_dmn_sct));
+
+    trv_tbl->lst[idx].dmn_idx_out_in=NULL;
+    trv_tbl->lst[idx].dmn_rvr_in=NULL;
+
+    for(int idx_dmn_var=0;idx_dmn_var<nbr_dmn_var;idx_dmn_var++){
       trv_tbl->lst[idx].var_dmn[idx_dmn_var].dmn_nm=NULL;
       trv_tbl->lst[idx].var_dmn[idx_dmn_var].dmn_nm_fll=NULL;
       trv_tbl->lst[idx].var_dmn[idx_dmn_var].grp_nm_fll=NULL;
       trv_tbl->lst[idx].var_dmn[idx_dmn_var].is_crd_var=nco_obj_typ_err;
+      trv_tbl->lst[idx].var_dmn[idx_dmn_var].is_rec_dmn=nco_obj_typ_err;
       trv_tbl->lst[idx].var_dmn[idx_dmn_var].crd=NULL;
       trv_tbl->lst[idx].var_dmn[idx_dmn_var].ncd=NULL;
       trv_tbl->lst[idx].var_dmn[idx_dmn_var].dmn_id=nco_obj_typ_err;
       /* Assume dimension is to keep on output */
       trv_tbl->lst[idx].var_dmn[idx_dmn_var].flg_dmn_avg=False;
-      trv_tbl->lst[idx].var_dmn[idx_dmn_var].flg_rdd=False;   
+      trv_tbl->lst[idx].var_dmn[idx_dmn_var].flg_rdd=False;  
+      trv_tbl->lst[idx].var_dmn[idx_dmn_var].lat_crd=NULL;
+      trv_tbl->lst[idx].var_dmn[idx_dmn_var].lon_crd=NULL;
+      trv_tbl->lst[idx].var_dmn[idx_dmn_var].nbr_lat_crd=0;
+      trv_tbl->lst[idx].var_dmn[idx_dmn_var].nbr_lon_crd=0;
     }
 
     /* Variable dimensions; store what we know at this time: relative name and ID */
@@ -2181,7 +2236,7 @@ nco_grp_itr                            /* [fnc] Populate traversal table by exam
     strcat(dmn_nm_fll,dmn_nm);
 
     /* Store object */
-    strcpy(trv_tbl->lst_dmn[idx].nm,dmn_nm);            
+    trv_tbl->lst_dmn[idx].nm=strdup(dmn_nm); 
     trv_tbl->lst_dmn[idx].grp_nm_fll=strdup(grp_nm_fll); 
     trv_tbl->lst_dmn[idx].nm_fll=strdup(dmn_nm_fll);    
     trv_tbl->lst_dmn[idx].sz=dmn_sz;                            
@@ -2376,7 +2431,7 @@ nco_bld_crd_var_trv                   /* [fnc] Build GTT "crd_sct" coordinate va
             trv_tbl->lst_dmn[idx_dmn].crd[crd_idx]->dmn_grp_nm_fll=strdup(dmn_trv.grp_nm_fll);
 
             /* Store relative name (same for dimension and variable) */
-            strcpy(trv_tbl->lst_dmn[idx_dmn].crd[crd_idx]->nm,var_trv.nm);
+            trv_tbl->lst_dmn[idx_dmn].crd[crd_idx]->nm=strdup(var_trv.nm);
 
             /* Is a record dimension(variable) if the dimennsion is a record dimension */
             trv_tbl->lst_dmn[idx_dmn].crd[crd_idx]->is_rec_dmn=dmn_trv.is_rec_dmn;
@@ -2433,11 +2488,11 @@ prt_lmt                             /* [fnc] Print limit  */
 
 
 void                          
-nco_prt_trv_tbl                      /* [fnc] Print GTT (Group Traversal Table) for debugging  with --get_grp_info  */
+nco_prn_trv_tbl                      /* [fnc] Print GTT (Group Traversal Table) */
 (const int nc_id,                    /* I [ID] File ID */
  const trv_tbl_sct * const trv_tbl)  /* I [sct] GTT (Group Traversal Table) */
 {
-  /* Groups */
+  /* Purpose: print GTT (Group Traversal Table); usage ncks --get_grp_info ~/nco/data/in_grp.nc  */
 
   int nbr_dmn;      /* [nbr] Total number of unique dimensions */
   int nbr_crd;      /* [nbr] Total number of coordinate variables */
@@ -2454,7 +2509,7 @@ nco_prt_trv_tbl                      /* [fnc] Print GTT (Group Traversal Table)
         trv.nm_fll,trv.nbr_grp,trv.nbr_dmn,trv.nbr_rec,trv.nbr_att,trv.nbr_var); 
 
       /* Print dimensions for group */
-      (void)nco_prt_dmn(nc_id,trv.nm_fll);
+      (void)nco_prn_dmn(nc_id,trv.nm_fll);
 
       nbr_dmn+=trv.nbr_dmn;
 
@@ -2575,7 +2630,7 @@ nco_prt_trv_tbl                      /* [fnc] Print GTT (Group Traversal Table)
 
   assert(nbr_crd_var == nbr_crd);
 
-} /* nco_prt_trv_tbl() */
+} /* nco_prn_trv_tbl() */
 
 
 void                          
@@ -2826,6 +2881,7 @@ nco_scp_var_crd                       /* [fnc] Return in scope coordinate for va
 
   */
 
+
   /* If more than one coordinate, sort them by group depth */
   if(dmn_trv->crd_nbr>1) qsort(dmn_trv->crd,(size_t)dmn_trv->crd_nbr,sizeof(crd_sct *),nco_cmp_crd_dpt);
 
@@ -2912,7 +2968,8 @@ nco_bld_var_dmn                       /* [fnc] Assign variables dimensions to ei
             trv_tbl->lst[idx_var].var_dmn[idx_dmn_var].crd->dmn_nm_fll=(char *)strdup(crd->dmn_nm_fll);
             trv_tbl->lst[idx_var].var_dmn[idx_dmn_var].crd->crd_grp_nm_fll=(char *)strdup(crd->crd_grp_nm_fll);
             trv_tbl->lst[idx_var].var_dmn[idx_dmn_var].crd->dmn_grp_nm_fll=(char *)strdup(crd->dmn_grp_nm_fll);
-            strcpy(trv_tbl->lst[idx_var].var_dmn[idx_dmn_var].crd->nm,crd->nm);
+            trv_tbl->lst[idx_var].var_dmn[idx_dmn_var].crd->nm=(char *)strdup(crd->nm);
+
             trv_tbl->lst[idx_var].var_dmn[idx_dmn_var].crd->is_rec_dmn=crd->is_rec_dmn;
             trv_tbl->lst[idx_var].var_dmn[idx_dmn_var].crd->sz=crd->sz;
             trv_tbl->lst[idx_var].var_dmn[idx_dmn_var].crd->var_typ=crd->var_typ;
@@ -2966,7 +3023,6 @@ nco_bld_var_dmn                       /* [fnc] Assign variables dimensions to ei
     } /* Filter variables  */
   } /* Loop table */
 
-
   /* Check if bool array is all filled  */
   /* Loop table */
   for(unsigned idx_var=0;idx_var<trv_tbl->nbr;idx_var++){
@@ -2981,7 +3037,6 @@ nco_bld_var_dmn                       /* [fnc] Assign variables dimensions to ei
     } /* Filter variables  */
   } /* Loop table */
 
-
 } /* nco_bld_var_dmn() */
 
 void                          
@@ -3146,54 +3201,8 @@ nco_get_rec_dmn_nm                     /* [fnc] Return array of record names  */
 
 } /* nco_get_rec_dmn_nm() */
 
-void
-nco_bld_aux_crd                       /* [fnc] Parse auxiliary coordinates */
-(const int nc_id,                     /* I [ID] netCDF file ID */
- const int aux_nbr,                   /* I [nbr] Number of auxiliary coordinates */
- char *aux_arg[],                     /* I [sng] Auxiliary coordinates */
- int *lmt_nbr,                        /* I/O [nbr] Number of user-specified dimension limits */
- lmt_sct ***lmt,                      /* I/O [sct] Limit structure  */
- const trv_tbl_sct * const trv_tbl)   /* I [sct] GTT (Group Traversal Table) */
-{
-  const char fnc_nm[]="nco_bld_aux_crd()"; /* [sng] Function name */
-
-  int aux_idx_nbr;
-  int grp_id;
-
-  /* Loop table */
-  for(unsigned idx_var=0;idx_var<trv_tbl->nbr;idx_var++){
-    trv_sct var_trv=trv_tbl->lst[idx_var];
-
-    /* Filter variables to extract */ 
-    if(var_trv.nco_typ == nco_obj_typ_var && var_trv.flg_xtr){
-
-      lmt_sct **aux=NULL_CEWI; /* Auxiliary coordinate limits */
-
-      /* Obtain group ID where variable is located using full group name */
-      (void)nco_inq_grp_full_ncid(nc_id,var_trv.grp_nm_fll,&grp_id);
-
-      aux_idx_nbr=0;
-
-      aux=nco_aux_evl(grp_id,aux_nbr,aux_arg,&aux_idx_nbr);
 
-      if(nco_dbg_lvl_get() == nco_dbg_old){
-        (void)fprintf(stdout,"%s: DEBUG %s variable [%d]<%s> (%d) limits\n",nco_prg_nm_get(),fnc_nm,idx_var,trv_tbl->lst[idx_var].nm_fll,aux_idx_nbr);     
-      }
-
-      if(aux_idx_nbr > 0){
-        assert(aux);
-        (*lmt)=(lmt_sct **)nco_realloc((*lmt),(*lmt_nbr+aux_idx_nbr)*sizeof(lmt_sct *));
-        int lmt_nbr_new=*lmt_nbr+aux_idx_nbr;
-        int aux_idx=0;
-        for(int lmt_idx=*lmt_nbr;lmt_idx<lmt_nbr_new;lmt_idx++) (*lmt)[lmt_idx]=aux[aux_idx++];
-        *lmt_nbr=lmt_nbr_new;
-
-        aux=(lmt_sct **)nco_free(aux); 
-      }
 
-    } /* Filter variables */ 
-  } /* Loop table */
-} /* nco_bld_aux_crd() */
 
 var_sct **                            /* O [sct] Variable list */  
 nco_fll_var_trv                       /* [fnc] Fill-in variable structure list for all extracted variables */
@@ -3308,7 +3317,7 @@ nco_var_trv                           /* [fnc] Fill-in variable structure list f
 } /* nco_var_trv() */
 
 void
-nco_cpy_fix_var_trv                   /* [fnc] Copy processing type fixed variables from input to output file */
+nco_cpy_fix_var_trv                   /* [fnc] Copy fixed variables from input to output file */
 (const int nc_id,                     /* I [ID] netCDF input file ID */
  const int out_id,                    /* I [ID] netCDF output file ID */
  const gpe_sct * const gpe,           /* I [sng] GPE structure */
@@ -3344,9 +3353,9 @@ nco_cpy_fix_var_trv                   /* [fnc] Copy processing type fixed variab
 
       if(nco_dbg_lvl_get() == nco_dbg_old){
         (void)fprintf(stdout,"%s: INFO writing fixed variable <%s> from ",nco_prg_nm_get(),var_trv.nm_fll);        
-        (void)nco_prt_grp_nm_fll(grp_id_in);
+        (void)nco_prn_grp_nm_fll(grp_id_in);
         (void)fprintf(stdout," to ");   
-        (void)nco_prt_grp_nm_fll(grp_id_out);
+        (void)nco_prn_grp_nm_fll(grp_id_out);
         (void)fprintf(stdout,"\n");
       } /* endif dbg */       
 
@@ -3366,11 +3375,7 @@ nco_prc_cmn                            /* [fnc] Process objects (ncbo only) */
 (const int nc_id_1,                    /* I [id] netCDF input-file ID */
  const int nc_id_2,                    /* I [id] netCDF input-file ID */
  const int nc_out_id,                  /* I [id] netCDF output-file ID */
- int cnk_map,                          /* I [enm] Chunking map */
- int cnk_plc,                          /* I [enm] Chunking policy */
- const size_t cnk_sz_scl,              /* I [nbr] Chunk size scalar */
- CST_X_PTR_CST_PTR_CST_Y(cnk_sct,cnk), /* I [sct] Chunking information */
- const int cnk_nbr,                    /* I [nbr] Number of dimensions with user-specified chunking */
+ const cnk_sct * const cnk,            /* I [sct] Chunking structure */
  const int dfl_lvl,                    /* I [enm] Deflate level [0..9] */
  const gpe_sct * const gpe,            /* I [sct] GPE structure */
  gpe_nm_sct *gpe_nm,                   /* I/O [sct] GPE name duplicate check array */
@@ -3382,8 +3387,8 @@ nco_prc_cmn                            /* [fnc] Process objects (ncbo only) */
  const int nco_op_typ,                 /* I [enm] Operation type (command line -y) */
  trv_sct * trv_1,                      /* I [sct] Table object */
  trv_sct * trv_2,                      /* I [sct] Table object */
- const trv_tbl_sct * const trv_tbl_1,  /* I [sct] GTT (Group Traversal Table) */
- const trv_tbl_sct * const trv_tbl_2,  /* I [sct] GTT (Group Traversal Table) */
+ trv_tbl_sct * const trv_tbl_1,        /* I/O [sct] GTT (Group Traversal Table) */
+ trv_tbl_sct * const trv_tbl_2,        /* I/O [sct] GTT (Group Traversal Table) */
  nco_bool flg_grp_1,                   /* I [flg] Use table 1 as template for group creation on True, otherwise use table 2 */
  const nco_bool flg_dfn)               /* I [flg] Action type (True for define variables, False when write variables ) */
 {
@@ -3394,7 +3399,7 @@ nco_prc_cmn                            /* [fnc] Process objects (ncbo only) */
   int grp_id_1;                  /* [id] Group ID in input file */
   int grp_id_2;                  /* [id] Group ID in input file */
   int grp_out_id;                /* [id] Group ID in output file */ 
-  int nco_prg_id;                    /* [enm] Program ID */
+  int nco_prg_id;                /* [enm] Program ID */
   int var_id_1;                  /* [id] Variable ID in input file */
   int var_id_2;                  /* [id] Variable ID in input file */
   int var_out_id;                /* [id] Variable ID in output file */
@@ -3410,8 +3415,6 @@ nco_prc_cmn                            /* [fnc] Process objects (ncbo only) */
   prc_typ_enm prc_typ_1;         /* [enm] Processing type */
   prc_typ_enm prc_typ_2;         /* [enm] Processing type */
 
-  trv_sct *rnk_gtr;              /* [sct] Object of greater or equal rank */
-
   assert(trv_1->nco_typ == nco_obj_typ_var);
   assert(trv_1->flg_xtr);
 
@@ -3444,14 +3447,13 @@ nco_prc_cmn                            /* [fnc] Process objects (ncbo only) */
   var_prc_2=nco_var_fll_trv(grp_id_2,var_id_2,trv_2,trv_tbl_2);
 
   if(var_prc_1->nbr_dim >= var_prc_2->nbr_dim) RNK_1_GTR=True; else RNK_1_GTR=False;
-  rnk_gtr= (RNK_1_GTR) ? trv_1 : trv_2;
   var_prc_gtr= (RNK_1_GTR) ? var_prc_1 : var_prc_2;
   var_prc_lsr= (RNK_1_GTR) ? var_prc_2 : var_prc_1;
   var_prc_out= (RNK_1_GTR) ? nco_var_dpl(var_prc_1) : nco_var_dpl(var_prc_2);
 
   /* Get processing type */
-  (void)nco_var_lst_dvd_trv(var_prc_1,var_prc_out,CNV_CCM_CCSM_CF,FIX_REC_CRD,cnk_map,cnk_plc,dmn_xcl,nbr_dmn_xcl,&prc_typ_1); 
-  (void)nco_var_lst_dvd_trv(var_prc_2,var_prc_out,CNV_CCM_CCSM_CF,FIX_REC_CRD,cnk_map,cnk_plc,dmn_xcl,nbr_dmn_xcl,&prc_typ_2); 
+  (void)nco_var_lst_dvd_trv(var_prc_1,var_prc_out,CNV_CCM_CCSM_CF,FIX_REC_CRD,nco_pck_map_nil,nco_pck_plc_nil,dmn_xcl,nbr_dmn_xcl,&prc_typ_1); 
+  (void)nco_var_lst_dvd_trv(var_prc_2,var_prc_out,CNV_CCM_CCSM_CF,FIX_REC_CRD,nco_pck_map_nil,nco_pck_plc_nil,dmn_xcl,nbr_dmn_xcl,&prc_typ_2); 
 
   /* Conform type and rank for processed variables */
   if(prc_typ_1 == prc_typ && prc_typ_2 == prc_typ){
@@ -3532,10 +3534,7 @@ nco_prc_cmn                            /* [fnc] Process objects (ncbo only) */
     if(!rec_dmn_nm && rec_dmn_nm_2->lst) rec_dmn_nm=(char *)strdup(rec_dmn_nm_2->lst[0].nm);
 
     /* Define variable in output file. NB: Use file/variable of greater rank as template */
-    var_out_id= (RNK_1_GTR) ? nco_cpy_var_dfn_trv(nc_id_1,nc_out_id,grp_out_fll,dfl_lvl,gpe,rec_dmn_nm,trv_1,trv_tbl_1) : nco_cpy_var_dfn_trv(nc_id_2,nc_out_id,grp_out_fll,dfl_lvl,gpe,rec_dmn_nm,trv_2,trv_tbl_2);
-
-    /* Set chunksize parameters */
-    if(fl_fmt == NC_FORMAT_NETCDF4 || fl_fmt == NC_FORMAT_NETCDF4_CLASSIC) (void)nco_cnk_sz_set_trv(grp_out_id,&cnk_map,&cnk_plc,cnk_sz_scl,cnk,cnk_nbr,rnk_gtr);
+    var_out_id= (RNK_1_GTR) ? nco_cpy_var_dfn_trv(nc_id_1,nc_out_id,cnk,grp_out_fll,dfl_lvl,gpe,rec_dmn_nm,trv_1,trv_tbl_1) : nco_cpy_var_dfn_trv(nc_id_2,nc_out_id,cnk,grp_out_fll,dfl_lvl,gpe,rec_dmn_nm,trv_2,trv_tbl_2);
 
     /* Copy variable's attributes */
     if(RNK_1_GTR) (void)nco_att_cpy(grp_id_1,grp_out_id,var_id_1,var_out_id,PCK_ATT_CPY); else (void)nco_att_cpy(grp_id_2,grp_out_id,var_id_2,var_out_id,PCK_ATT_CPY);
@@ -3626,14 +3625,10 @@ nco_prc_cmn                            /* [fnc] Process objects (ncbo only) */
 } /* nco_prc_cmn() */
 
 void                          
-nco_cpy_fix                            /* [fnc] Copy processing type fixed object (ncbo only) */
+nco_cpy_fix                            /* [fnc] Copy fixed object (ncbo only) */
 (const int nc_id_1,                    /* I [id] netCDF input-file ID */
  const int nc_out_id,                  /* I [id] netCDF output-file ID */
- int cnk_map,                          /* I [enm] Chunking map */
- int cnk_plc,                          /* I [enm] Chunking policy */
- const size_t cnk_sz_scl,              /* I [nbr] Chunk size scalar */
- CST_X_PTR_CST_PTR_CST_Y(cnk_sct,cnk), /* I [sct] Chunking information */
- const int cnk_nbr,                    /* I [nbr] Number of dimensions with user-specified chunking */
+ const cnk_sct * const cnk,            /* I [sct] Chunking structure */
  const int dfl_lvl,                    /* I [enm] Deflate level [0..9] */
  const gpe_sct * const gpe,            /* I [sct] GPE structure */
  gpe_nm_sct *gpe_nm,                   /* I/O [sct] GPE name duplicate check array */
@@ -3643,7 +3638,7 @@ nco_cpy_fix                            /* [fnc] Copy processing type fixed objec
  CST_X_PTR_CST_PTR_CST_Y(dmn_sct,dmn_xcl),   /* I [sct] Dimensions not allowed in fixed variables */
  const int nbr_dmn_xcl,                /* I [nbr] Number of altered dimensions */
  trv_sct *trv_1,                       /* I/O [sct] Table object (nco_cpy_var_dfn_trv) */
- const trv_tbl_sct * const trv_tbl_1,  /* I [sct] GTT (Group Traversal Table) */
+ trv_tbl_sct * const trv_tbl_1,        /* I/O [sct] GTT (Group Traversal Table) */
  const nco_bool flg_dfn)               /* I [flg] Action type (True for define variables, False when write variables ) */
 {
   char *grp_out_fll;             /* [sng] Group name */
@@ -3683,19 +3678,19 @@ nco_cpy_fix                            /* [fnc] Copy processing type fixed objec
   /* Allocate variable structure and fill with metadata */
   var_prc_1=nco_var_fll_trv(grp_id_1,var_id_1,trv_1,trv_tbl_1);     
 
-  var_prc_out= nco_var_dpl(var_prc_1);
-  (void)nco_var_lst_dvd_trv(var_prc_1,var_prc_out,CNV_CCM_CCSM_CF,FIX_REC_CRD,cnk_map,cnk_plc,dmn_xcl,nbr_dmn_xcl,&prc_typ_1); 
+  var_prc_out=nco_var_dpl(var_prc_1);
+  (void)nco_var_lst_dvd_trv(var_prc_1,var_prc_out,CNV_CCM_CCSM_CF,FIX_REC_CRD,nco_pck_map_nil,nco_pck_plc_nil,dmn_xcl,nbr_dmn_xcl,&prc_typ_1); 
 
   if(prc_typ_1 != fix_typ){
-    var_prc_1->val.vp=nco_free(var_prc_1->val.vp);
-    var_prc_1=(var_sct *)nco_free(var_prc_1);
+    var_prc_1->val.vp=nco_free(var_prc_1->val.vp);
+    var_prc_1=(var_sct *)nco_free(var_prc_1);
     var_prc_out=(var_sct *)nco_free(var_prc_out);
     grp_out_fll=(char *)nco_free(grp_out_fll);
     return;
   } /* endif */
 
-  /* Define mode */
   if(flg_dfn){  
+    /* Define mode */
     nco_bool PCK_ATT_CPY; /* [flg] Copy attributes "scale_factor", "add_offset" */
 
     PCK_ATT_CPY=nco_pck_cpy_att(nco_prg_id,nco_pck_plc_nil,var_prc_1);
@@ -3706,16 +3701,14 @@ nco_cpy_fix                            /* [fnc] Copy processing type fixed objec
     /* Detect duplicate GPE names in advance, then exit with helpful error */
     if(gpe)(void)nco_gpe_chk(grp_out_fll,trv_1->nm,&gpe_nm,&nbr_gpe_nm);                       
 
-    /* Define variable in output file. */
-    var_out_id=nco_cpy_var_dfn_trv(nc_id_1,nc_out_id,grp_out_fll,dfl_lvl,gpe,(char *)NULL,trv_1,trv_tbl_1);
-
-    /* Set chunksize parameters */
-    if(fl_fmt == NC_FORMAT_NETCDF4 || fl_fmt == NC_FORMAT_NETCDF4_CLASSIC) (void)nco_cnk_sz_set_trv(grp_out_id,&cnk_map,&cnk_plc,cnk_sz_scl,cnk,cnk_nbr,trv_1);
+    /* Define variable in output file */
+    var_out_id=nco_cpy_var_dfn_trv(nc_id_1,nc_out_id,cnk,grp_out_fll,dfl_lvl,gpe,(char *)NULL,trv_1,trv_tbl_1);
 
     /* Copy variable's attributes */
     (void)nco_att_cpy(grp_id_1,grp_out_id,var_id_1,var_out_id,PCK_ATT_CPY); 
 
-  }else{ /* Write mode */
+  }else{ /* !flg_dfn */
+    /* Write mode */
 
     /* Get group ID */
     (void)nco_inq_grp_full_ncid(nc_out_id,grp_out_fll,&grp_out_id);
@@ -3726,11 +3719,11 @@ nco_cpy_fix                            /* [fnc] Copy processing type fixed objec
     /* Copy non-processed variable */
     (void)nco_cpy_var_val_mlt_lmt_trv(grp_id_1,grp_out_id,(FILE *)NULL,md5,trv_1); 
   
-  } /* Write mode */
+  } /* !flg_dfn */
 
   /* Free allocated variable structures */
-  var_prc_1->val.vp=nco_free(var_prc_1->val.vp);
-  var_prc_1=(var_sct *)nco_free(var_prc_1);
+  var_prc_1->val.vp=nco_free(var_prc_1->val.vp);
+  var_prc_1=(var_sct *)nco_free(var_prc_1);
   var_prc_out=(var_sct *)nco_free(var_prc_out);
 
   /* Free output path name */
@@ -3783,11 +3776,7 @@ nco_rel_mch                            /* [fnc] Relative match of object in tabl
 (const int nc_id_1,                    /* I [id] netCDF input-file ID from file 1 */
  const int nc_id_2,                    /* I [id] netCDF input-file ID from file 2 */
  const int nc_out_id,                  /* I [id] netCDF output-file ID */
- int cnk_map,                          /* I [enm] Chunking map */
- int cnk_plc,                          /* I [enm] Chunking policy */
- const size_t cnk_sz_scl,              /* I [nbr] Chunk size scalar */
- CST_X_PTR_CST_PTR_CST_Y(cnk_sct,cnk), /* I [sct] Chunking information */
- const int cnk_nbr,                    /* I [nbr] Number of dimensions with user-specified chunking */
+ const cnk_sct * const cnk,            /* I [sct] Chunking structure */
  const int dfl_lvl,                    /* I [enm] Deflate level [0..9] */
  const gpe_sct * const gpe,            /* I [sct] GPE structure */
  gpe_nm_sct *gpe_nm,                   /* I/O [sct] GPE name duplicate check array */
@@ -3797,8 +3786,8 @@ nco_rel_mch                            /* [fnc] Relative match of object in tabl
  trv_sct * var_trv,                    /* I [sct] Table variable object (can be from table 1 or 2) */
  nco_bool flg_tbl_1,                   /* I [flg] Table variable object is from table1 for True, otherwise is from table 2 */
  nco_bool flg_grp_1,                   /* I [flg] Use table 1 as template for group creation on True, otherwise use table 2 */
- const trv_tbl_sct * const trv_tbl_1,  /* I [sct] GTT (Group Traversal Table) */
- const trv_tbl_sct * const trv_tbl_2,  /* I [sct] GTT (Group Traversal Table) */
+ trv_tbl_sct * const trv_tbl_1,        /* I/O [sct] GTT (Group Traversal Table) */
+ trv_tbl_sct * const trv_tbl_2,        /* I/O [sct] GTT (Group Traversal Table) */
  const nco_bool flg_dfn)               /* I [flg] Action type (True for define variables, False when write variables ) */
 {
   nco_bool rel_mch; /* [flg] A match was found */
@@ -3811,7 +3800,7 @@ nco_rel_mch                            /* [fnc] Relative match of object in tabl
       if(trv_tbl_2->lst[uidx].nco_typ == nco_obj_typ_var && !strcmp(var_trv->nm,trv_tbl_2->lst[uidx].nm)){
         trv_sct *trv_2=&trv_tbl_2->lst[uidx];
         rel_mch=True;
-        (void)nco_prc_cmn(nc_id_1,nc_id_2,nc_out_id,cnk_map,cnk_plc,cnk_sz_scl,cnk,cnk_nbr,dfl_lvl,gpe,gpe_nm,nbr_gpe_nm,CNV_CCM_CCSM_CF,(nco_bool)False,(dmn_sct **)NULL,(int)0,nco_op_typ,var_trv,trv_2,trv_tbl_1,trv_tbl_2,flg_grp_1,flg_dfn);
+        (void)nco_prc_cmn(nc_id_1,nc_id_2,nc_out_id,cnk,dfl_lvl,gpe,gpe_nm,nbr_gpe_nm,CNV_CCM_CCSM_CF,(nco_bool)False,(dmn_sct **)NULL,(int)0,nco_op_typ,var_trv,trv_2,trv_tbl_1,trv_tbl_2,flg_grp_1,flg_dfn);
       } /* A relative match was found */
     } /* Loop table 2 */
 
@@ -3821,7 +3810,7 @@ nco_rel_mch                            /* [fnc] Relative match of object in tabl
       if(trv_tbl_1->lst[uidx].nco_typ == nco_obj_typ_var && !strcmp(var_trv->nm,trv_tbl_1->lst[uidx].nm)){
         trv_sct *trv_1=&trv_tbl_1->lst[uidx];
         rel_mch=True;
-        (void)nco_prc_cmn(nc_id_1,nc_id_2,nc_out_id,cnk_map,cnk_plc,cnk_sz_scl,cnk,cnk_nbr,dfl_lvl,gpe,gpe_nm,nbr_gpe_nm,CNV_CCM_CCSM_CF,(nco_bool)False,(dmn_sct **)NULL,(int)0,nco_op_typ,trv_1,var_trv,trv_tbl_1,trv_tbl_2,flg_grp_1,flg_dfn);
+        (void)nco_prc_cmn(nc_id_1,nc_id_2,nc_out_id,cnk,dfl_lvl,gpe,gpe_nm,nbr_gpe_nm,CNV_CCM_CCSM_CF,(nco_bool)False,(dmn_sct **)NULL,(int)0,nco_op_typ,trv_1,var_trv,trv_tbl_1,trv_tbl_2,flg_grp_1,flg_dfn);
       } /* A relative match was found */
     } /* Loop table 2 */
   } /* !flg_tbl_1 */
@@ -3835,11 +3824,7 @@ nco_prc_cmn_nm                         /* [fnc] Process common objects from a co
 (const int nc_id_1,                    /* I [id] netCDF input-file ID */
  const int nc_id_2,                    /* I [id] netCDF input-file ID */
  const int nc_out_id,                  /* I [id] netCDF output-file ID */
- int cnk_map,                          /* I [enm] Chunking map */
- int cnk_plc,                          /* I [enm] Chunking policy */
- const size_t cnk_sz_scl,              /* I [nbr] Chunk size scalar */
- CST_X_PTR_CST_PTR_CST_Y(cnk_sct,cnk), /* I [sct] Chunking information */
- const int cnk_nbr,                    /* I [nbr] Number of dimensions with user-specified chunking */
+ const cnk_sct * const cnk,            /* I [sct] Chunking structure */
  const int dfl_lvl,                    /* I [enm] Deflate level [0..9] */
  const gpe_sct * const gpe,            /* I [sct] GPE structure */
  gpe_nm_sct *gpe_nm,                   /* I/O [sct] GPE name duplicate check array */
@@ -3852,7 +3837,7 @@ nco_prc_cmn_nm                         /* [fnc] Process common objects from a co
  const int nbr_cmn_nm,                 /* I [nbr] Number of common names entries */
  const nco_bool flg_dfn)               /* I [flg] Action type (True for define variables, False when write variables ) */
 {
-  /* Purpose: fxm */
+  /* Purpose: Process common objects from a common mames list (ncbo only) */
  
   const char fnc_nm[]="nco_prc_cmn_nm()"; /* [sng] Function name */
 
@@ -3870,8 +3855,8 @@ nco_prc_cmn_nm                         /* [fnc] Process common objects from a co
 
     nco_bool has_mch;  /* [flg] A relative match was found in file 1 or 2 */
 
-    trv_1=trv_tbl_var_nm_fll(cmn_lst[idx].var_nm_fll,trv_tbl_1);
-    trv_2=trv_tbl_var_nm_fll(cmn_lst[idx].var_nm_fll,trv_tbl_2);
+    trv_1=trv_tbl_var_nm_fll(cmn_lst[idx].nm,trv_tbl_1);
+    trv_2=trv_tbl_var_nm_fll(cmn_lst[idx].nm,trv_tbl_2);
 
     /* Object exists and is flagged for extraction in both files */
     if(trv_1 && trv_2 && cmn_lst[idx].flg_in_fl[0] && cmn_lst[idx].flg_in_fl[1] && trv_1->flg_xtr && trv_2->flg_xtr){
@@ -3879,7 +3864,7 @@ nco_prc_cmn_nm                         /* [fnc] Process common objects from a co
       if(nco_dbg_lvl_get() == nco_dbg_old) (void)fprintf(stdout,"%s: INFO %s reports common element to output:%s\n",nco_prg_nm_get(),fnc_nm,trv_1->nm_fll); 
 
       /* Process common object */
-      (void)nco_prc_cmn(nc_id_1,nc_id_2,nc_out_id,cnk_map,cnk_plc,cnk_sz_scl,cnk,cnk_nbr,dfl_lvl,gpe,gpe_nm,nbr_gpe_nm,CNV_CCM_CCSM_CF,(nco_bool)False,(dmn_sct **)NULL,(int)0,nco_op_typ,trv_1,trv_2,trv_tbl_1,trv_tbl_2,True,flg_dfn);
+      (void)nco_prc_cmn(nc_id_1,nc_id_2,nc_out_id,cnk,dfl_lvl,gpe,gpe_nm,nbr_gpe_nm,CNV_CCM_CCSM_CF,(nco_bool)False,(dmn_sct **)NULL,(int)0,nco_op_typ,trv_1,trv_2,trv_tbl_1,trv_tbl_2,True,flg_dfn);
 
     }else{
       /* Object exists and is flagged for extraction only in one file */
@@ -3893,10 +3878,10 @@ nco_prc_cmn_nm                         /* [fnc] Process common objects from a co
           if(nco_dbg_lvl_get() == nco_dbg_old) (void)fprintf(stdout,"%s: INFO %s reports element in file 1 to output:%s\n",nco_prg_nm_get(),fnc_nm,trv_1->nm_fll);
 
           /* Try relative match in file 2 */
-          has_mch=nco_rel_mch(nc_id_1,nc_id_2,nc_out_id,cnk_map,cnk_plc,cnk_sz_scl,cnk,cnk_nbr,dfl_lvl,gpe,gpe_nm,nbr_gpe_nm,CNV_CCM_CCSM_CF,nco_op_typ,trv_1,True,True,trv_tbl_1,trv_tbl_2,flg_dfn);
+          has_mch=nco_rel_mch(nc_id_1,nc_id_2,nc_out_id,cnk,dfl_lvl,gpe,gpe_nm,nbr_gpe_nm,CNV_CCM_CCSM_CF,nco_op_typ,trv_1,True,True,trv_tbl_1,trv_tbl_2,flg_dfn);
 
           /* Match not found in file 2, copy instead object from file 1 as fixed to output */
-          if(!has_mch) (void)nco_cpy_fix(nc_id_1,nc_out_id,cnk_map,cnk_plc,cnk_sz_scl,cnk,cnk_nbr,dfl_lvl,gpe,gpe_nm,nbr_gpe_nm,CNV_CCM_CCSM_CF,(nco_bool)False,(dmn_sct **)NULL,(int)0,trv_1,trv_tbl_1,flg_dfn);
+          if(!has_mch) (void)nco_cpy_fix(nc_id_1,nc_out_id,cnk,dfl_lvl,gpe,gpe_nm,nbr_gpe_nm,CNV_CCM_CCSM_CF,(nco_bool)False,(dmn_sct **)NULL,(int)0,trv_1,trv_tbl_1,flg_dfn);
 
         }else if(trv_2 && cmn_lst[idx].flg_in_fl[0] == False && cmn_lst[idx].flg_in_fl[1] && trv_2->flg_xtr){
 	  /* Object exists and is flagged for extraction only in file 2 */
@@ -3904,10 +3889,10 @@ nco_prc_cmn_nm                         /* [fnc] Process common objects from a co
           if(nco_dbg_lvl_get() == nco_dbg_old) (void)fprintf(stdout,"%s: INFO %s reports element in file 2 to output:%s\n",nco_prg_nm_get(),fnc_nm,trv_2->nm_fll);
 
           /* Try relative match in file 1 */
-          has_mch=nco_rel_mch(nc_id_1,nc_id_2,nc_out_id,cnk_map,cnk_plc,cnk_sz_scl,cnk,cnk_nbr,dfl_lvl,gpe,gpe_nm,nbr_gpe_nm,CNV_CCM_CCSM_CF,nco_op_typ,trv_2,False,True,trv_tbl_1,trv_tbl_2,flg_dfn);
+          has_mch=nco_rel_mch(nc_id_1,nc_id_2,nc_out_id,cnk,dfl_lvl,gpe,gpe_nm,nbr_gpe_nm,CNV_CCM_CCSM_CF,nco_op_typ,trv_2,False,True,trv_tbl_1,trv_tbl_2,flg_dfn);
 
           /* Match not found in file 2, copy instead object from file 2 as fixed to output */
-          if(!has_mch) (void)nco_cpy_fix(nc_id_2,nc_out_id,cnk_map,cnk_plc,cnk_sz_scl,cnk,cnk_nbr,dfl_lvl,gpe,gpe_nm,nbr_gpe_nm,CNV_CCM_CCSM_CF,(nco_bool)False,(dmn_sct **)NULL,(int)0,trv_2,trv_tbl_2,flg_dfn);
+          if(!has_mch) (void)nco_cpy_fix(nc_id_2,nc_out_id,cnk,dfl_lvl,gpe,gpe_nm,nbr_gpe_nm,CNV_CCM_CCSM_CF,(nco_bool)False,(dmn_sct **)NULL,(int)0,trv_2,trv_tbl_2,flg_dfn);
 
         } /* fl_2 */
 
@@ -3921,10 +3906,10 @@ nco_prc_cmn_nm                         /* [fnc] Process common objects from a co
           if(nco_dbg_lvl_get() == nco_dbg_old) (void)fprintf(stdout,"%s: INFO %s reports element in file 1 to output:%s\n",nco_prg_nm_get(),fnc_nm,trv_1->nm_fll);
 
           /* Try relative match in file 2 */
-          has_mch=nco_rel_mch(nc_id_1,nc_id_2,nc_out_id,cnk_map,cnk_plc,cnk_sz_scl,cnk,cnk_nbr,dfl_lvl,gpe,gpe_nm,nbr_gpe_nm,CNV_CCM_CCSM_CF,nco_op_typ,trv_1,True,False,trv_tbl_1,trv_tbl_2,flg_dfn);
+          has_mch=nco_rel_mch(nc_id_1,nc_id_2,nc_out_id,cnk,dfl_lvl,gpe,gpe_nm,nbr_gpe_nm,CNV_CCM_CCSM_CF,nco_op_typ,trv_1,True,False,trv_tbl_1,trv_tbl_2,flg_dfn);
 
           /* Match was not found in file 2, copy instead object from file 1 as fixed to output */
-          if(!has_mch) (void)nco_cpy_fix(nc_id_1,nc_out_id,cnk_map,cnk_plc,cnk_sz_scl,cnk,cnk_nbr,dfl_lvl,gpe,gpe_nm,nbr_gpe_nm,CNV_CCM_CCSM_CF,(nco_bool)False,(dmn_sct **)NULL,(int)0,trv_1,trv_tbl_1,flg_dfn);
+          if(!has_mch) (void)nco_cpy_fix(nc_id_1,nc_out_id,cnk,dfl_lvl,gpe,gpe_nm,nbr_gpe_nm,CNV_CCM_CCSM_CF,(nco_bool)False,(dmn_sct **)NULL,(int)0,trv_1,trv_tbl_1,flg_dfn);
 
         }else if(trv_2 && cmn_lst[idx].flg_in_fl[0] == False && cmn_lst[idx].flg_in_fl[1] && trv_2->flg_xtr){
 	  /* Object exists and is flagged for extraction only in file 2 */
@@ -3932,10 +3917,10 @@ nco_prc_cmn_nm                         /* [fnc] Process common objects from a co
           if(nco_dbg_lvl_get() == nco_dbg_old) (void)fprintf(stdout,"%s: INFO %s reports element in file 2 to output:%s\n",nco_prg_nm_get(),fnc_nm,trv_2->nm_fll);
 
           /* Try relative match in file 1 */
-          has_mch=nco_rel_mch(nc_id_1,nc_id_2,nc_out_id,cnk_map,cnk_plc,cnk_sz_scl,cnk,cnk_nbr,dfl_lvl,gpe,gpe_nm,nbr_gpe_nm,CNV_CCM_CCSM_CF,nco_op_typ,trv_2,False,False,trv_tbl_1,trv_tbl_2,flg_dfn);
+          has_mch=nco_rel_mch(nc_id_1,nc_id_2,nc_out_id,cnk,dfl_lvl,gpe,gpe_nm,nbr_gpe_nm,CNV_CCM_CCSM_CF,nco_op_typ,trv_2,False,False,trv_tbl_1,trv_tbl_2,flg_dfn);
 
           /* Match not found in file 2, copy instead object from file 2 as fixed to output */
-          if(!has_mch) (void)nco_cpy_fix(nc_id_2,nc_out_id,cnk_map,cnk_plc,cnk_sz_scl,cnk,cnk_nbr,dfl_lvl,gpe,gpe_nm,nbr_gpe_nm,CNV_CCM_CCSM_CF,(nco_bool)False,(dmn_sct **)NULL,(int)0,trv_2,trv_tbl_2,flg_dfn);
+          if(!has_mch) (void)nco_cpy_fix(nc_id_2,nc_out_id,cnk,dfl_lvl,gpe,gpe_nm,nbr_gpe_nm,CNV_CCM_CCSM_CF,(nco_bool)False,(dmn_sct **)NULL,(int)0,trv_2,trv_tbl_2,flg_dfn);
 
         } /* fl_2 */
 
@@ -4216,25 +4201,25 @@ nco_var_fll_trv                       /* [fnc] Allocate variable structure and f
   (void)nco_pck_dsk_inq(grp_id,var);
 
   /* Set deflate and chunking to defaults */  
-  var->dfl_lvl=0; /* [enm] Deflate level */
+  var->dfl_lvl=NCO_DFL_LVL_UNDEFINED; /* [enm] Deflate level */
   var->shuffle=False; /* [flg] Turn on shuffle filter */
 
   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_hdf_cnv_get() != nco_hdf4) && (fl_fmt == NC_FORMAT_NETCDF4 || fl_fmt == NC_FORMAT_NETCDF4_CLASSIC)){
+  if((nco_fmt_xtn_get() != nco_fmt_xtn_hdf4) && (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);    
     (void)nco_inq_var_chunking(grp_id,var->id,&srg_typ,var->cnk_sz);   
   } /* endif */
 
-  /* Get enm_prc_typ from GTT */  
+  /* Get enm_prc_typ from GTT */
   for(unsigned uidx=0;uidx<trv_tbl->nbr;uidx++){
-    if(strcmp(var->nm_fll,trv_tbl->lst[uidx].nm_fll) == 0){
-      if(trv_tbl->lst[uidx].enm_prc_typ == prc_typ) {
+    if(!strcmp(var->nm_fll,trv_tbl->lst[uidx].nm_fll)){
+      if(trv_tbl->lst[uidx].enm_prc_typ == prc_typ){
         var->is_fix_var=0;
-      } else if(trv_tbl->lst[uidx].enm_prc_typ == fix_typ) {
+      }else if(trv_tbl->lst[uidx].enm_prc_typ == fix_typ){
         var->is_fix_var=1;
       } 
       break;
@@ -4249,16 +4234,16 @@ int                                 /* O [id] Output file variable ID */
 nco_cpy_var_dfn_trv                 /* [fnc] Define specified variable in output file */
 (const int nc_in_id,                /* I [ID] netCDF input file ID */
  const int nc_out_id,               /* I [ID] netCDF output file ID */
+ const cnk_sct * const cnk,         /* I [sct] Chunking structure */
  const char * const grp_out_fll,    /* I [sng] Output group name */
  const int dfl_lvl,                 /* I [enm] Deflate level [0..9] */
  const gpe_sct * const gpe,         /* I [sct] GPE structure */
  const char * const rec_dmn_nm_cst, /* I [sng] User-specified record dimension, if any, to create or fix in output file */
  trv_sct *var_trv,                  /* I/O [sct] Object to write (variable) trv_map_dmn_set() is O */
- const trv_tbl_sct * const trv_tbl) /* I [sct] GTT (Group Traversal Table) */
+ trv_tbl_sct * const trv_tbl)       /* I/O [sct] GTT (Group Traversal Table) */
 {
   /* Purpose: Copy variable metadata from input netCDF file to output netCDF file
   Routine was based on nco_cpy_var_dfn_lmt(), and differed trivially from it
-  Now merged into one call that always takes limit information?
   Routine truncates dimensions in variable definition in output file according to user-specified limits
   Routine copies variable-by-variable
   20130126: csz 
@@ -4275,12 +4260,14 @@ nco_cpy_var_dfn_trv                 /* [fnc] Define specified variable in output
   char *rec_dmn_nm=NULL;                 /* [sng] User-specified record dimension name */
   char *rec_dmn_nm_mlc=NULL;             /* [sng] Local copy of rec_dmn_nm_cst, which may be encoded */
   char *grp_dmn_out_fll=NULL;            /* [sng] Group name of dimension in output */
-  char dmn_nm[NC_MAX_NAME];              /* [sng] Dimension names  */
-  char dmn_nm_grp[NC_MAX_NAME];          /* [sng] Dimension names for group */  
+  char dmn_nm[NC_MAX_NAME];              /* [sng] Dimension name  */
+  char dmn_nm_grp[NC_MAX_NAME];          /* [sng] Dimension name for group */  
 
   int dmn_in_id_var[NC_MAX_DIMS];        /* [id] Dimension IDs array for input variable */
   int dmn_out_id[NC_MAX_DIMS];           /* [id] Dimension IDs array for output variable */
   int dmn_out_id_grp[NC_MAX_DIMS];       /* [id] Dimension IDs array in output group */ 
+  int dmn_idx_in_out[NC_MAX_DIMS];       /* [idx] Dimension correspondence, input->output (ncpdq) */
+  int dmn_out_id_tmp[NC_MAX_DIMS];       /* [idx] Copy of dmn_out_id (ncpdq) */
   int rec_dmn_out_id;                    /* [id] Record dimension for output variable */
   int var_in_id;                         /* [id] Variable ID */
   int var_out_id;                        /* [id] Variable ID */
@@ -4298,9 +4285,6 @@ nco_cpy_var_dfn_trv                 /* [fnc] Define specified variable in output
   int grp_in_id;                         /* [id] Group ID */
   int grp_out_id;                        /* [id] Group ID */
 
-  int dmn_idx_in_out[NC_MAX_DIMS];       /* [idx] Dimension correspondence, input->output (ncpdq) */
-  int dmn_out_id_tmp[NC_MAX_DIMS];       /* [idx] Copy of dmn_out_id (ncpdq) */
-
   long dmn_cnt;                          /* [nbr] Hyperslabbed size of dimension */  
   long dmn_sz;                           /* [nbr] Size of dimension (on input)  */  
   long dmn_sz_grp;                       /* [sng] Dimension size for group  */  
@@ -4310,25 +4294,57 @@ nco_cpy_var_dfn_trv                 /* [fnc] Define specified variable in output
 
   nco_bool CRR_DMN_IS_REC_IN_INPUT;      /* [flg] Current dimension of variable is record dimension of variable in input file/group */
   nco_bool DFN_CRR_DMN_AS_REC_IN_OUTPUT; /* [flg] Define current dimension as record dimension in output file */
+  nco_bool FIX_ALL_REC_DMN=False;        /* [flg] Fix all record dimensions */
   nco_bool FIX_REC_DMN=False;            /* [flg] Fix record dimension (opposite of MK_REC_DMN) */
   nco_bool NEED_TO_DEFINE_DIM;           /* [flg] Dimension needs to be defined in *this* group */  
   nco_bool DEFINE_DIM[NC_MAX_DIMS];      /* [flg] Defined dimension (always True, except for ncwa)  */  
 
   dmn_trv_sct *dmn_trv;                  /* [sct] Unique dimension object */
+  
+  dmn_cmn_sct dmn_cmn[NC_MAX_DIMS];      /* [sct] Dimension information on output */
 
   rec_dmn_out_id=NCO_REC_DMN_UNDEFINED;
 
   for(int idx_dmn=0;idx_dmn<NC_MAX_DIMS;idx_dmn++) dmn_out_id[idx_dmn]=NCO_REC_DMN_UNDEFINED;
 
-  /* File format needed for decision tree and to enable netCDF4 features */
+  /* File format needed for decision tree and to enable netCDF4 features like chunking */
   (void)nco_inq_format(nc_out_id,&fl_fmt);
 
   /* Local copy of object name */ 
-  strcpy(var_nm,var_trv->nm);       
+  strcpy(var_nm,var_trv->nm);     
+
+  /* Initialize output dimensions to input sizes */
+  for(int idx_dmn=0;idx_dmn<var_trv->nbr_dmn;idx_dmn++){
+    /* Dimensions exist */
+    if(var_trv->var_dmn){
+      dmn_trv=NULL; /* [sct] Unique dimension */
+      crd_sct *crd=NULL; /* [sct] Coordinate dimension */
+      dmn_cmn[idx_dmn].nm_fll=var_trv->var_dmn[idx_dmn].dmn_nm_fll;
+      dmn_cmn[idx_dmn].id=nco_obj_typ_err;
+      /* This dimension has a coordinate variable */
+      if(var_trv->var_dmn[idx_dmn].is_crd_var){
+        /* Get coordinate from table */
+        crd=var_trv->var_dmn[idx_dmn].crd;
+        dmn_cmn[idx_dmn].sz=crd->sz;
+        dmn_cmn[idx_dmn].is_rec_dmn=crd->is_rec_dmn;
+        dmn_cmn[idx_dmn].BASIC_DMN=crd->lmt_msa.BASIC_DMN;
+        dmn_cmn[idx_dmn].dmn_cnt=crd->lmt_msa.dmn_cnt;
+        strcpy(dmn_cmn[idx_dmn].nm,crd->nm);
+      }else{
+        /* Get unique dimension from table */
+        dmn_trv=var_trv->var_dmn[idx_dmn].ncd;
+        dmn_cmn[idx_dmn].sz=dmn_trv->sz;
+        dmn_cmn[idx_dmn].is_rec_dmn=dmn_trv->is_rec_dmn;
+        dmn_cmn[idx_dmn].BASIC_DMN=dmn_trv->lmt_msa.BASIC_DMN;
+        dmn_cmn[idx_dmn].dmn_cnt=dmn_trv->lmt_msa.dmn_cnt;
+        strcpy(dmn_cmn[idx_dmn].nm,dmn_trv->nm);
+      } /* This dimension has a coordinate variable */
+    } /* Dimensions exist */
+  } /* Loop over dimensions */
 
   /* Recall:
-  1. Dimensions must be defined before variables
-  2. Variables must be defined before attributes */
+     1. Dimensions must be defined before variables
+     2. Variables must be defined before attributes */
 
   /* Get output group ID */
   (void)nco_inq_grp_full_ncid(nc_out_id,grp_out_fll,&grp_out_id);
@@ -4371,7 +4387,11 @@ nco_cpy_var_dfn_trv                 /* [fnc] Define specified variable in output
     For simplicity, work with canonical name rec_dmn_nm */
     rec_dmn_nm_mlc=strdup(rec_dmn_nm_cst);
     /* Parse rec_dmn_nm argument */
-    if(!strncmp("fix_",rec_dmn_nm_mlc,(size_t)4)){
+    if(!strcmp("fix_all",rec_dmn_nm_mlc)){
+      FIX_ALL_REC_DMN=True;
+      FIX_REC_DMN=True;
+      rec_dmn_nm=rec_dmn_nm_mlc+4;
+    }else if(!strncmp("fix_",rec_dmn_nm_mlc,(size_t)4)){
       FIX_REC_DMN=True; /* [flg] Fix record dimension */
       rec_dmn_nm=rec_dmn_nm_mlc+4;
     }else{
@@ -4387,27 +4407,28 @@ nco_cpy_var_dfn_trv                 /* [fnc] Define specified variable in output
     rec_dmn_nm=(char *)strdup(var_trv->rec_dmn_nm_out);
   } /* endif */
 
-  /* Is requested record dimension in input file? */
+  /* Is requested record dimension in this group ? */
   if(rec_dmn_nm){
 
-    /* ncks */
     if(nco_prg_id == ncks){
-      /* NB: Following lines works on libnetcdf 4.2.1+ but not on 4.1.1- (broken in netCDF library)
-      rcd=nco_inq_dimid_flg(grp_in_id,rec_dmn_nm,(int *)NULL); */
-      int rec_dmn_id_dmy;
-      rcd=nco_inq_dimid_flg(grp_in_id,rec_dmn_nm,&rec_dmn_id_dmy);
-      if(rcd != NC_NOERR){
-        (void)fprintf(stdout,"%s: ERROR User specifically requested that dimension \"%s\" be %s dimension in output file. However, this dimension is not visible in input file by variable %s. HINT: Perhaps it is mis-spelled? HINT: Verify \"%s\" is used in a variable that will appear in output file, or eliminate --fix_rec_dmn/--mk_rec_dmn switch from command-line.\n",nco_prg_nm_get(),rec_dmn_nm,(FIX_REC_DMN) ? "fixed" : "record",var_nm,rec_dmn_nm);
-        nco_exit(EXIT_FAILURE);
-      } /* endif */
-
-      /* Does variable contain requested record dimension? */
-      for(int idx_dmn=0;idx_dmn<nbr_dmn_var;idx_dmn++){
-        if(dmn_in_id_var[idx_dmn] == rec_dmn_id_dmy){
-          if(nco_dbg_lvl_get() == nco_dbg_old) (void)fprintf(stderr,"%s: INFO %s reports variable %s contains user-specified record dimension %s\n",nco_prg_nm_get(),fnc_nm,var_nm,rec_dmn_nm);
-          break;
-        } /* endif */
-      } /* end loop over idx_dmn */
+      if(!FIX_ALL_REC_DMN){
+        int rec_dmn_id_dmy;
+        rcd=nco_inq_dimid_flg(grp_in_id,rec_dmn_nm,&rec_dmn_id_dmy);
+        /* Record name not found in this group */
+        if(rcd != NC_NOERR){
+          /* Nothing to do, error cheking for invalid dimension names was made at start */     
+        } /* endif rcd != NC_NOERR */
+
+        if(rcd == NC_NOERR){
+          /* Does variable contain requested record dimension? */
+          for(int idx_dmn=0;idx_dmn<nbr_dmn_var;idx_dmn++){
+            if(dmn_in_id_var[idx_dmn] == rec_dmn_id_dmy){
+              if(nco_dbg_lvl_get() == nco_dbg_old) (void)fprintf(stderr,"%s: INFO %s reports variable %s contains user-specified record dimension %s\n",nco_prg_nm_get(),fnc_nm,var_nm,rec_dmn_nm);
+              break;
+            } /* endif */
+          } /* end loop over idx_dmn */
+        } /* endif rcd == NC_NOERR */
+      } /* FIX_ALL_REC_DMN */
 
     }else if(nco_prg_id == ncecat){
       /* Is dimension already defined in output? If not, define it */
@@ -4482,7 +4503,7 @@ nco_cpy_var_dfn_trv                 /* [fnc] Define specified variable in output
 
       if(nco_dbg_lvl_get() == nco_dbg_old){
         (void)fprintf(stdout,"%s: DEBUG %s need to define dimension '%s' in ",nco_prg_nm_get(),fnc_nm,dmn_nm);
-        (void)nco_prt_grp_nm_fll(grp_dmn_out_id);
+        (void)nco_prn_grp_nm_fll(grp_dmn_out_id);
         (void)fprintf(stdout,"\n");
       } /* endif dbg */
 
@@ -4494,12 +4515,15 @@ nco_cpy_var_dfn_trv                 /* [fnc] Define specified variable in output
       /* Is dimension unlimited in input file? Handy unique dimension has all this info */
       CRR_DMN_IS_REC_IN_INPUT=dmn_trv->is_rec_dmn;
 
-      /* User requested (with --fix_rec_dmn or --mk_rec_dmn) to treat a certain dimension specially */
-      if(rec_dmn_nm){
+      if(FIX_ALL_REC_DMN){
+        DFN_CRR_DMN_AS_REC_IN_OUTPUT=False;
+        if(CRR_DMN_IS_REC_IN_INPUT && nco_dbg_lvl_get() >= nco_dbg_std) (void)fprintf(stderr,"%s: INFO %s is defining all input record dimensions including this one, %s, as fixed dimensions in output file per user request\n",nco_prg_nm_get(),fnc_nm,dmn_nm);
+      }else if(rec_dmn_nm){
+        /* User requested (with --fix_rec_dmn or --mk_rec_dmn) to treat a certain dimension specially */
         /* ... and this dimension is that dimension, i.e., the user-specified dimension ... */
         if(!strcmp(dmn_nm,rec_dmn_nm)){
           /* ... then honor user's request to define it as a fixed or record dimension ... */
-          if(nco_dbg_lvl_get() >= nco_dbg_std) (void)fprintf(stderr,"%s: INFO %s is defining dimension %s as record dimension in output file per user request\n",nco_prg_nm_get(),fnc_nm,rec_dmn_nm);
+          if(nco_dbg_lvl_get() >= nco_dbg_std) (void)fprintf(stderr,"%s: INFO %s is defining dimension %s as %s dimension in output file per user request\n",nco_prg_nm_get(),fnc_nm,rec_dmn_nm,(FIX_REC_DMN) ? "fixed" : "record");
           if(FIX_REC_DMN) DFN_CRR_DMN_AS_REC_IN_OUTPUT=False; else DFN_CRR_DMN_AS_REC_IN_OUTPUT=True;
         }else{ /* strcmp() */
           if(FIX_REC_DMN){
@@ -4543,7 +4567,7 @@ nco_cpy_var_dfn_trv                 /* [fnc] Define specified variable in output
       }else{ /* !rec_dmn_nm */
         /* ... no user-specified record dimension so define dimension in output same as in input ... */
         if(CRR_DMN_IS_REC_IN_INPUT) DFN_CRR_DMN_AS_REC_IN_OUTPUT=True; else DFN_CRR_DMN_AS_REC_IN_OUTPUT=False;
-      } /* !rec_dmn_nm */ 
+      } /* !rec_dmn_nm && !FIX_ALL_REC_DMN */ 
 
       /* At long last ... */
 
@@ -4555,18 +4579,24 @@ nco_cpy_var_dfn_trv                 /* [fnc] Define specified variable in output
         long cnt;
         if(var_trv->var_dmn[idx_dmn].is_crd_var) cnt=var_trv->var_dmn[idx_dmn].crd->lmt_msa.dmn_cnt; else cnt=var_trv->var_dmn[idx_dmn].ncd->lmt_msa.dmn_cnt;
         (void)nco_dmn_set_msa(var_dim_id,cnt,trv_tbl);  
-
+        /* Update output dimension info */
+        dmn_cmn[idx_dmn].is_rec_dmn=True;
       }else{ /* Get size from GTT */
-
+        /* Update output dimension info */
+        dmn_cmn[idx_dmn].is_rec_dmn=False;
         if(var_trv->var_dmn[idx_dmn].is_crd_var){
           dmn_cnt=var_trv->var_dmn[idx_dmn].crd->lmt_msa.dmn_cnt;
-          /* Update GTT dimension */
-          (void)nco_dmn_set_msa(var_dim_id,dmn_cnt,trv_tbl);        
         }else{ /* !is_crd_var */
           dmn_cnt=var_trv->var_dmn[idx_dmn].ncd->lmt_msa.dmn_cnt;
-          /* Update GTT dimension */
-          (void)nco_dmn_set_msa(var_dim_id,dmn_cnt,trv_tbl);  
         } /* !is_crd_var */
+        /* 20140108: Converting variables with multiple record dimensions and empty input to all fixed dimensions and netCDF3 output
+        Empty input means size is zero so dmn_cnt looks like NC_UNLIMITED, i.e., a record dimension
+        In other words, there is no good way to "fix" a record dimension for a variable with no records/data
+        Workaround is to arbitrarily assign such dimensions a size of 1 so they are fixed output, and still have no data
+        This ugly hack seems to work and is only invoked in this extreme corner case so may be OK */
+        if(dmn_cnt == 0) dmn_cnt=1;
+        /* Update GTT dimension */
+        (void)nco_dmn_set_msa(var_dim_id,dmn_cnt,trv_tbl);  
       } /* !DFN_CRR_DMN_AS_REC_IN_OUTPUT */
 
       /* ncwa */
@@ -4582,17 +4612,12 @@ nco_cpy_var_dfn_trv                 /* [fnc] Define specified variable in output
             if(dmn_trv->is_rec_dmn) dmn_cnt=NC_UNLIMITED;
             break;
           } /* Compare ID */
-        } /* Degenerate dimensions */
+        } /* !Degenerate */
         if(var_trv->var_dmn[idx_dmn].flg_rdd){
           found_dim=True;
-          /* If dimension was to be record keep it that way */
-          if(DFN_CRR_DMN_AS_REC_IN_OUTPUT){
-            dmn_cnt=NC_UNLIMITED;
-          } else {
-            /* Otherwise define the degenerate size of 1 */
-            dmn_cnt=1;
-          }
-        }
+          /* If dimension was to be record keep it that way, otherwise define degenerate size of 1 */
+          if(DFN_CRR_DMN_AS_REC_IN_OUTPUT) dmn_cnt=NC_UNLIMITED; else dmn_cnt=1;
+        } 
         if(!found_dim){
           DEFINE_DIM[idx_dmn]=False;
           nbr_dmn_var_out--;    
@@ -4603,6 +4628,8 @@ nco_cpy_var_dfn_trv                 /* [fnc] Define specified variable in output
       if(DEFINE_DIM[idx_dmn]){
         /* Define dimension and obtain dimension ID */
         (void)nco_def_dim(grp_dmn_out_id,dmn_nm,dmn_cnt,&dmn_id_out);
+        /* Redefine output dimension array for this dimension */
+        (void)nco_dfn_dmn(dmn_nm,dmn_cnt,dmn_id_out,dmn_cmn,var_trv->nbr_dmn);
         /* Assign defined ID to dimension ID array for the variable */
         dmn_out_id[idx_dmn]=dmn_id_out; 
       } /* !DEFINE_DIM */
@@ -4612,7 +4639,7 @@ nco_cpy_var_dfn_trv                 /* [fnc] Define specified variable in output
 
     } /* end if dimension is not yet defined */
 
-    /* Die informatively if record dimension is not first dimension */
+    /* Die informatively if record dimension is not first dimension in netCDF3 output */
     if(idx_dmn > 0 && dmn_out_id[idx_dmn] == rec_dmn_out_id && fl_fmt != NC_FORMAT_NETCDF4 && DEFINE_DIM[idx_dmn]){
       (void)fprintf(stdout,"%s: ERROR User defined the output record dimension to be \"%s\". Yet in the variable \"%s\" this is dimension number %d. The output file adheres to the netCDF3 API which only supports the record dimension as the first (i.e., least rapidly varying) dimension. Consider using ncpdq to permute the location of the record dimension in the output file.\n",nco_prg_nm_get(),rec_dmn_nm,var_nm,idx_dmn+1);  
       nco_exit(EXIT_FAILURE);
@@ -4656,7 +4683,6 @@ nco_cpy_var_dfn_trv                 /* [fnc] Define specified variable in output
 
     /* Loop dimensions */
     for(int idx_dmn=0;idx_dmn<nbr_dmn_var;idx_dmn++) dmn_out_id[idx_dmn+1]=dmn_tmp_id[idx_dmn];
-
   } /* !ncecat */
 
   /* netCDF type in output variable (usually same as input) */ 
@@ -4666,7 +4692,7 @@ nco_cpy_var_dfn_trv                 /* [fnc] Define specified variable in output
   if(nco_prg_id == ncflint || nco_prg_id == ncpdq){
 
     /* If initialization value was changed, then set output type to new type */
-    if(var_trv->var_typ_out != err_typ) var_typ_out=var_trv->var_typ_out; else var_typ_out=var_typ;
+    if(var_trv->var_typ_out != (nc_type)err_typ) var_typ_out=var_trv->var_typ_out; else var_typ_out=var_typ;
 
   }else if(nco_prg_id != ncbo){
     int var_id;        /* [id] Variable ID */
@@ -4687,9 +4713,7 @@ nco_cpy_var_dfn_trv                 /* [fnc] Define specified variable in output
 
   /* Special case for ncwa */
   if(nco_prg_id == ncwa){
-
-    int dmn_ids_out[NC_MAX_DIMS];  /* [id] Dimension IDs array for output variable (ncwa can skip some dimensions, rearranje) */
-
+    int dmn_ids_out[NC_MAX_DIMS];  /* [id] Dimension IDs array for output variable (ncwa can skip some dimensions, rearrange) */
     int idx_dmn_def=0;
     for(int idx_dmn=0;idx_dmn<nbr_dmn_var;idx_dmn++){
       if(DEFINE_DIM[idx_dmn]){
@@ -4703,7 +4727,11 @@ nco_cpy_var_dfn_trv                 /* [fnc] Define specified variable in output
 
   }else{ /* !ncwa */
 
-    /* Finally... define variable in output file */
+    /* Allow ncks to autoconvert netCDF4 atomic types to netCDF3 output type ... */
+    if(nco_prg_id == ncks && fl_fmt != NC_FORMAT_NETCDF4 && !nco_typ_nc3(var_typ_out)) var_typ_out=nco_typ_nc4_nc3(var_typ_out);
+    /* fxm TODO nco1106 too complicated--need phony dimensions for NC_CHAR array length */
+    /*      if(var_typ_out == NC_STRING) nbr_dmn_var_out++; */ 
+
     (void)nco_def_var(grp_out_id,var_nm,var_typ_out,nbr_dmn_var_out,dmn_out_id,&var_out_id);
 
   } /* !ncwa */
@@ -4719,10 +4747,72 @@ nco_cpy_var_dfn_trv                 /* [fnc] Define specified variable in output
       /* Copy original deflation settings */
       if(deflate || shuffle) (void)nco_def_var_deflate(grp_out_id,var_out_id,shuffle,deflate,dfl_lvl_in);
       /* Overwrite HDF Lempel-Ziv compression level, if requested */
-      if(dfl_lvl > 0) (void)nco_def_var_deflate(grp_out_id,var_out_id,(int)True,(int)True,dfl_lvl);
+      if(dfl_lvl == 0) deflate=(int)False; else deflate=(int)True;
+      /* Turn-off shuffle when uncompressing otherwise chunking requests may fail */
+      if(dfl_lvl == 0) shuffle=(int)False;
+      if(dfl_lvl >= 0) (void)nco_def_var_deflate(grp_out_id,var_out_id,shuffle,deflate,dfl_lvl);
     } /* endif */
 
-    /* NB: Copy/set chunking information in nco_cnk_sz_set(), not here! */
+    /* Chunking routine called only when user explicitly sets a chunking option */
+    if(cnk && cnk->flg_usr_rqs){
+
+      /* Define extra dimension on output (e.g., ncecat adds "record" dimension) */
+      if(nco_prg_id == ncecat && rec_dmn_nm && var_trv->enm_prc_typ == prc_typ){ 
+        /* Temporary store for old dimensions */
+        dmn_cmn_sct dmn_cmn_tmp[NC_MAX_DIMS];
+        for(int idx_dmn=0;idx_dmn<nbr_dmn_var_out;idx_dmn++) dmn_cmn_tmp[idx_dmn]=dmn_cmn[idx_dmn];
+        /* Define record dimension made for ncecat */
+        dmn_cmn[0].sz=NC_UNLIMITED;
+        dmn_cmn[0].is_rec_dmn=True;
+        dmn_cmn[0].BASIC_DMN=True;
+        dmn_cmn[0].dmn_cnt=NC_UNLIMITED;
+        strcpy(dmn_cmn[0].nm,rec_dmn_nm);
+        /* Define full name */ 
+        dmn_cmn[0].nm_fll=nco_bld_nm_fll(var_trv->grp_nm_fll,rec_dmn_nm);
+	/* Move up to make room for inserted dimension at 0 index */
+        for(int idx_dmn=0;idx_dmn<nbr_dmn_var_out;idx_dmn++) dmn_cmn[idx_dmn+1]=dmn_cmn_tmp[idx_dmn];
+      } /* !ncecat */
+
+      /* Special case for ncwa */
+      if(nco_prg_id == ncwa){
+        int idx_dmn_def=0;
+        /* Loop dimensions. NB use original input dimensions for this loop */
+        for(int idx_dmn=0;idx_dmn<var_trv->nbr_dmn;idx_dmn++){
+          if(DEFINE_DIM[idx_dmn]){
+            /* Redefine the array */
+            dmn_cmn[idx_dmn_def]=dmn_cmn[idx_dmn];
+            idx_dmn_def++;
+          } /* DEFINE_DIM[idx_dmn]) */
+        } /* Loop dimensions */
+      } /* !ncwa */
+
+      /* Special case for ncpdq */
+      if(nco_prg_id == ncpdq && nbr_dmn_var > 1){
+        int var_id_out; /* [id] Variable ID */
+        int var_dmn_nbr; /* [nbr] Number of dimensions */
+        int var_dimid[NC_MAX_VAR_DIMS]; /* [lst] Dimension IDs */
+        (void)nco_inq_varid(grp_out_id,var_trv->nm,&var_id_out);
+        (void)nco_inq_var(grp_out_id,var_id_out,var_nm,&var_typ,&var_dmn_nbr,var_dimid,NULL);
+        /* Sanity check */
+        assert(nbr_dmn_var == var_trv->nbr_dmn);
+        assert(nbr_dmn_var == var_dmn_nbr);
+        /* Loop dimensions */
+        for(int idx_dmn=0;idx_dmn<nbr_dmn_var;idx_dmn++){
+          (void)nco_inq_dim(grp_out_id,var_dimid[idx_dmn],dmn_nm,&dmn_sz);
+          /* If output dimension name differs from input there was a swap */
+          if(strcmp(dmn_nm,dmn_cmn[idx_dmn].nm)){
+            /* Swap array for these 2 names */
+            (void)nco_dmn_swap(dmn_nm,dmn_cmn[idx_dmn].nm,dmn_cmn,nbr_dmn_var);
+          } /* endif */
+        } /* idx_dmn */
+      } /* !ncpdq */
+
+      /* Set chunksize parameters */
+      (void)nco_cnk_sz_set_trv(grp_in_id,grp_out_id,cnk,var_trv->nm,dmn_cmn);
+
+      if(nco_prg_id == ncecat && rec_dmn_nm && var_trv->enm_prc_typ == prc_typ) dmn_cmn[0].nm_fll=(char *)nco_free(dmn_cmn[0].nm_fll);
+
+    } /* !flg_usr_rqs */
 
   } /* !NC_FORMAT_NETCDF4 */ 
 
@@ -4733,6 +4823,61 @@ nco_cpy_var_dfn_trv                 /* [fnc] Define specified variable in output
 } /* end nco_cpy_var_dfn_trv() */
 
 void
+nco_dmn_swap                           /* [fnc] Swap dimensions */
+(const char * const dmn_nm_1,          /* I [sng] Name of dimension 1 */
+ const char * const dmn_nm_2,          /* I [sng] Name of dimension 2 */
+ dmn_cmn_sct *dmn_cmn,                 /* I/O [sct] Dimension structure array */
+ const int nbr_dmn)                    /* I [nbr] Number of dimensions (size of above array) */
+{
+  dmn_cmn_sct dmn_cmn_tmp;
+  int dmn_nm_1_idx;
+  int dmn_nm_2_idx;
+
+  /* Loop dimensions */
+  for(int idx_dmn=0;idx_dmn<nbr_dmn;idx_dmn++){
+    /* Find index of name 1 */
+    if(strcmp(dmn_nm_1,dmn_cmn[idx_dmn].nm) == 0){
+      dmn_nm_1_idx=idx_dmn;
+    } /* Find index of name 1 */
+  } /* Loop dimensions */
+
+  /* Loop dimensions */
+  for(int idx_dmn=0;idx_dmn<nbr_dmn;idx_dmn++){
+    /* Find index of name 2 */
+    if(strcmp(dmn_nm_2,dmn_cmn[idx_dmn].nm) == 0){
+      dmn_nm_2_idx=idx_dmn;
+    } /* Find index of name 2 */
+  } /* Loop dimensions */
+
+  /* Swap */
+  dmn_cmn_tmp=dmn_cmn[dmn_nm_1_idx];
+  dmn_cmn[dmn_nm_1_idx]=dmn_cmn[dmn_nm_2_idx];
+  dmn_cmn[dmn_nm_2_idx]=dmn_cmn_tmp;
+
+} /* nco_dmn_swap */
+
+
+void
+nco_dfn_dmn                            /* [fnc] Define dimension size and ID in array */
+(const char * const dmn_nm,            /* I [sng] Name of dimension */
+ const long dmn_sz,                    /* I [nbr] Size of dimension */
+ const int dmn_id,                     /* I [id] ID of dimension */
+ dmn_cmn_sct *dmn_cmn,                 /* I/O [sct] Dimension structure array */
+ const int nbr_dmn)                    /* I [nbr] Number of dimensions (size of above array) */
+{
+  /* Loop dimensions */
+  for(int idx_dmn=0;idx_dmn<nbr_dmn;idx_dmn++){
+    /* Find dimension */
+    if(strcmp(dmn_nm,dmn_cmn[idx_dmn].nm) == 0){
+      dmn_cmn[idx_dmn].sz=dmn_sz;
+      dmn_cmn[idx_dmn].id=dmn_id;
+      return;
+    } /* Find dimension */
+  } /* Loop dimensions */
+
+} /* nco_dmn_dfn */
+
+void
 nco_dmn_rdr_trv                        /* [fnc] Transfer dimension structures to be re-ordered (ncpdq) into GTT */
 (int **dmn_idx_out_in,                 /* I [idx] Dimension correspondence, output->input, output of nco_var_dmn_rdr_mtd() */
  const int nbr_var_prc,                /* I [nbr] Size of above array (number of processed variables) */
@@ -4847,6 +4992,9 @@ nco_var_dmn_rdr_mtd_trv               /* [fnc] Determine and set new dimensional
     /* nco_var_dmn_rdr_mtd() does re-order heavy lifting */
     rec_dmn_nm_out_crr=nco_var_dmn_rdr_mtd(var_prc[idx_var_prc],var_prc_out[idx_var_prc],dmn_rdr,dmn_rdr_nbr,dmn_idx_out_in,dmn_rvr_rdr,dmn_rvr_in);
 
+    var_trv->dmn_idx_out_in=(int *)nco_malloc(var_trv->nbr_dmn*sizeof(int));
+    var_trv->dmn_rvr_in=(nco_bool *)nco_malloc(var_trv->nbr_dmn*sizeof(nco_bool));
+
     /* Transfer dimension structures to be re-ordered into GTT */
     for(int idx_dmn=0;idx_dmn<var_trv->nbr_dmn;idx_dmn++){
       var_trv->dmn_idx_out_in[idx_dmn]=dmn_idx_out_in[idx_dmn];
@@ -5541,7 +5689,7 @@ nco_dmn_msa_tbl                       /* [fnc] Update all GTT dimensions with hy
 (const int grp_in_id,                 /* I [id] netCDF input group ID */
  const char * const rec_dmn_nm_cst,   /* I [sng] User-specified record dimension, if any, to create or fix in output file */
  trv_sct *var_trv,                    /* I/O [sct] Object to write (variable) trv_map_dmn_set() is O */
- const trv_tbl_sct * const trv_tbl)   /* I [sct] GTT (Group Traversal Table) */
+ trv_tbl_sct * const trv_tbl)         /* I/O [sct] GTT (Group Traversal Table) */
 {
   /* Purpose: Update all GTT dimensions with hyperslabbed size */
 
@@ -5557,9 +5705,9 @@ nco_dmn_msa_tbl                       /* [fnc] Update all GTT dimensions with hy
   int fl_fmt;                            /* [enm] Output file format */
   int nbr_dmn_var;                       /* [nbr] Number of dimensions for variable */
   int rcd=NC_NOERR;                      /* [rcd] Return code */
-  int nco_prg_id;                            /* [enm] Program ID */
-  int var_dim_id;                        /* [id] Variable dimension ID */   
- 
+  int nco_prg_id;                        /* [enm] Program ID */
+  int var_dim_id;                        /* [id] Variable dimension ID */ 
+
   long dmn_cnt;                          /* [sng] Hyperslabbed dimension size  */  
   long dmn_sz;                           /* [sng] Dimension size  */  
 
@@ -5567,6 +5715,7 @@ nco_dmn_msa_tbl                       /* [fnc] Update all GTT dimensions with hy
 
   nco_bool CRR_DMN_IS_REC_IN_INPUT;      /* [flg] Current dimension of variable is record dimension of variable in input file/group */
   nco_bool DFN_CRR_DMN_AS_REC_IN_OUTPUT; /* [flg] Define current dimension as record dimension in output file */
+  nco_bool FIX_ALL_REC_DMN=False;        /* [flg] Fix all record dimensions */
   nco_bool FIX_REC_DMN=False;            /* [flg] Fix record dimension (opposite of MK_REC_DMN) */
   nco_bool NEED_TO_DEFINE_DIM;           /* [flg] Dimension needs to be defined in *this* group */  
 
@@ -5603,7 +5752,11 @@ nco_dmn_msa_tbl                       /* [fnc] Update all GTT dimensions with hy
     For simplicity, work with canonical name rec_dmn_nm */
     rec_dmn_nm_mlc=strdup(rec_dmn_nm_cst);
     /* Parse rec_dmn_nm argument */
-    if(!strncmp("fix_",rec_dmn_nm_mlc,(size_t)4)){
+    if(!strcmp("fix_all",rec_dmn_nm_mlc)){
+      FIX_ALL_REC_DMN=True;
+      FIX_REC_DMN=True;
+      rec_dmn_nm=rec_dmn_nm_mlc+4;
+    }else if(!strncmp("fix_",rec_dmn_nm_mlc,(size_t)4)){
       FIX_REC_DMN=True; /* [flg] Fix record dimension */
       rec_dmn_nm=rec_dmn_nm_mlc+4;
     }else{
@@ -5627,22 +5780,24 @@ nco_dmn_msa_tbl                       /* [fnc] Update all GTT dimensions with hy
 
     /* ncks */
     if(nco_prg_id == ncks){
-      /* NB: Following lines works on libnetcdf 4.2.1+ but not on 4.1.1- (broken in netCDF library)
-      rcd=nco_inq_dimid_flg(grp_in_id,rec_dmn_nm,(int *)NULL); */
-      int rec_dmn_id_dmy;
-      rcd=nco_inq_dimid_flg(grp_in_id,rec_dmn_nm,&rec_dmn_id_dmy);
-      if(rcd != NC_NOERR){
-        (void)fprintf(stdout,"%s: ERROR User specifically requested that dimension \"%s\" be %s dimension in output file. However, this dimension is not visible in input file by variable %s. HINT: Perhaps it is mis-spelled? HINT: Verify \"%s\" is used in a variable that will appear in output file, or eliminate --fix_rec_dmn/--mk_rec_dmn switch from command-line.\n",nco_prg_nm_get(),rec_dmn_nm,(FIX_REC_DMN) ? "fixed" : "record",var_nm,rec_dmn_nm);
-        nco_exit(EXIT_FAILURE);
-      } /* endif */
-
-      /* Does variable contain requested record dimension? */
-      for(int idx_dmn=0;idx_dmn<nbr_dmn_var;idx_dmn++){
-        if(dmn_in_id_var[idx_dmn] == rec_dmn_id_dmy){
-          if(nco_dbg_lvl_get() == nco_dbg_old) (void)fprintf(stderr,"%s: INFO %s reports variable %s contains user-specified record dimension %s\n",nco_prg_nm_get(),fnc_nm,var_nm,rec_dmn_nm);
-          break;
-        } /* endif */
-      } /* end loop over idx_dmn */
+      if(!FIX_ALL_REC_DMN){
+        int rec_dmn_id_dmy;   
+        rcd=nco_inq_dimid_flg(grp_in_id,rec_dmn_nm,&rec_dmn_id_dmy);
+        /* Record name not found in this group */
+        if(rcd != NC_NOERR){
+          /* Nothing to do, error cheking for invalid dimension names was made at start */     
+        } /* endif rcd != NC_NOERR */
+
+        if(rcd == NC_NOERR){
+          /* Does variable contain requested record dimension? */
+          for(int idx_dmn=0;idx_dmn<nbr_dmn_var;idx_dmn++){
+            if(dmn_in_id_var[idx_dmn] == rec_dmn_id_dmy){
+              if(nco_dbg_lvl_get() == nco_dbg_old) (void)fprintf(stderr,"%s: INFO %s reports variable %s contains user-specified record dimension %s\n",nco_prg_nm_get(),fnc_nm,var_nm,rec_dmn_nm);
+              break;
+            } /* endif */
+          } /* end loop over idx_dmn */
+        } /* endif rcd == NC_NOERR */
+      } /* FIX_ALL_REC_DMN */
 
       /* ncecat */
     }else if(nco_prg_id == ncecat){
@@ -5676,12 +5831,15 @@ nco_dmn_msa_tbl                       /* [fnc] Update all GTT dimensions with hy
       /* Is dimension unlimited in input file? Handy unique dimension has all this info */
       CRR_DMN_IS_REC_IN_INPUT=dmn_trv->is_rec_dmn;
 
-      /* User requested (with --fix_rec_dmn or --mk_rec_dmn) to treat a certain dimension specially */
-      if(rec_dmn_nm){
+      if(FIX_ALL_REC_DMN){
+        DFN_CRR_DMN_AS_REC_IN_OUTPUT=False;
+        if(CRR_DMN_IS_REC_IN_INPUT && nco_dbg_lvl_get() >= nco_dbg_std) (void)fprintf(stderr,"%s: INFO %s is defining all input record dimensions, including this one, %s, as fixed dimensions in output file per user request\n",nco_prg_nm_get(),fnc_nm,dmn_nm);
+      }else if(rec_dmn_nm){
+        /* User requested (with --fix_rec_dmn or --mk_rec_dmn) to treat a certain dimension specially */
         /* ... and this dimension is that dimension, i.e., the user-specified dimension ... */
         if(!strcmp(dmn_nm,rec_dmn_nm)){
           /* ... then honor user's request to define it as a fixed or record dimension ... */
-          if(nco_dbg_lvl_get() >= nco_dbg_std) (void)fprintf(stderr,"%s: INFO %s is defining dimension %s as record dimension in output file per user request\n",nco_prg_nm_get(),fnc_nm,rec_dmn_nm);
+          if(nco_dbg_lvl_get() >= nco_dbg_std) (void)fprintf(stderr,"%s: INFO %s is defining dimension %s as %s dimension in output file per user request\n",nco_prg_nm_get(),fnc_nm,rec_dmn_nm,(FIX_REC_DMN) ? "fixed" : "record");
           if(FIX_REC_DMN) DFN_CRR_DMN_AS_REC_IN_OUTPUT=False; else DFN_CRR_DMN_AS_REC_IN_OUTPUT=True;
         }else{ /* strcmp() */
           if(FIX_REC_DMN){
@@ -5709,7 +5867,7 @@ nco_dmn_msa_tbl                       /* [fnc] Update all GTT dimensions with hy
       }else{ /* !rec_dmn_nm */
         /* ... no user-specified record dimension so define dimension in output same as in input ... */
         if(CRR_DMN_IS_REC_IN_INPUT) DFN_CRR_DMN_AS_REC_IN_OUTPUT=True; else DFN_CRR_DMN_AS_REC_IN_OUTPUT=False;
-      } /* !rec_dmn_nm */ 
+      } /* !rec_dmn_nm && !FIX_ALL_REC_DMN */ 
 
       /* At long last ... */
 
@@ -5790,9 +5948,6 @@ nco_dmn_lst_ass_var_trv                /* [fnc] Create list of all dimensions as
 
   nco_bool dmn_flg; /* [flg] Is dimension already inserted in output array  */  
 
-  /* Used only by ncpdq , ncwa */
-  assert(nco_prg_id_get() == ncpdq || nco_prg_id_get() == ncwa);
-
   nbr_dmn=0;
 
   /* Traverse table and match relative dimension names */
@@ -5829,6 +5984,7 @@ nco_dmn_lst_ass_var_trv                /* [fnc] Create list of all dimensions as
         if(!dmn_flg){
 
           /* Add one more element to array  */
+          (*dmn)=(dmn_sct **)nco_realloc((*dmn),(nbr_dmn+1)*sizeof(dmn_sct *));
           (*dmn)[nbr_dmn]=(dmn_sct *)nco_malloc(sizeof(dmn_sct));
 
           /* Get size from GTT. NOTE use index idx_dmn_var */
@@ -5869,11 +6025,9 @@ nco_dmn_lst_ass_var_trv                /* [fnc] Create list of all dimensions as
 
   if(nco_dbg_lvl_get() >= nco_dbg_dev){ 
     (void)fprintf(stdout,"%s: DEBUG %s dimensions to export: ",nco_prg_nm_get(),fnc_nm);        
-    for(int idx_dmn=0;idx_dmn<nbr_dmn;idx_dmn++){
-      (void)fprintf(stdout,"#%d<%s> : ",(*dmn)[idx_dmn]->id,(*dmn)[idx_dmn]->nm);        
-    }
+    for(int idx_dmn=0;idx_dmn<nbr_dmn;idx_dmn++) (void)fprintf(stdout,"#%d<%s> : ",(*dmn)[idx_dmn]->id,(*dmn)[idx_dmn]->nm);        
     (void)fprintf(stdout,"\n");    
-  } 
+  } /* endif */
 
   return;
 } /* end nco_dmn_lst_ass_var_trv() */
@@ -5890,23 +6044,21 @@ nco_dmn_avg_mk                         /* [fnc] Build dimensions to average(ncwa
 {
   /* Purpose: Create list of dimensions from list of dimension name strings (function based in nco_xtr_mk() ) */
 
-  /* 
-  Dimensions to average/not average are built using these 3 functions:
-
-  nco_dmn_avg_mk() Build dimensions to average array from input dimension names 
-  nco_dmn_out_mk() Build dimensions array to keep on output
-  nco_dmn_id_mk()  Mark flag average for all dimensions that have the input ID 
-
-  nco_dmn_avg_mk() parses -a names and exports an array of dmn_sct; it marks the flag "flg_dmn_avg" of "var_dmn_sct"
-  as True, if the dimension is to be averaged.
-
-  Since variables share dimensions, this flag has to be marked to all variable's dimensions that have it;
-  This broadcast is made in nco_dmn_id_mk(), using the unique dimension ID as key.
-
-  nco_dmn_out_mk() checks this flag, and if the dimension is not to be averaged, it is added to an array of dmn_sct,
-  dimensions on output.
-  */
-
+  /* Dimensions to average/not average are built using these 3 functions:
+     
+     nco_dmn_avg_mk() Build dimensions to average array from input dimension names 
+     nco_dmn_out_mk() Build dimensions array to keep on output
+     nco_dmn_id_mk()  Mark flag average for all dimensions that have the input ID 
+     
+     nco_dmn_avg_mk() parses -a names and exports an array of dmn_sct; it marks the flag "flg_dmn_avg" of "var_dmn_sct"
+     as True, if the dimension is to be averaged.
+     
+     Since variables share dimensions, this flag has to be marked to all variable's dimensions that have it;
+     This broadcast is made in nco_dmn_id_mk(), using the unique dimension ID as key.
+     
+     nco_dmn_out_mk() checks this flag, and if the dimension is not to be averaged, it is added to an array of dmn_sct,
+     dimensions on output. */
+  
   const char fnc_nm[]="nco_dmn_avg_mk()"; /* [sng] Function name  */
   const char sls_chr='/';   /* [chr] Slash character */
 
@@ -5948,8 +6100,9 @@ nco_dmn_avg_mk                         /* [fnc] Build dimensions to average(ncwa
     if(strpbrk(usr_sng,".*^$\\[]()<>+?|{}")){
       /* ... and regular expression library is present */
 #ifdef NCO_HAVE_REGEX_FUNCTIONALITY
-
-
+      /* fxm 20131217 TODO */ 
+      (void)fprintf(stdout,"%s: ERROR: Sorry, wildcarding (extended regular expression matches to variables) is not implemented for -a option.\n",nco_prg_nm_get()); 
+      nco_exit(EXIT_FAILURE); 
 #else /* !NCO_HAVE_REGEX_FUNCTIONALITY */
       (void)fprintf(stdout,"%s: ERROR: Sorry, wildcarding (extended regular expression matches to variables) was not built into this NCO executable, so unable to compile regular expression \"%s\".\nHINT: Make sure libregex.a is on path and re-build NCO.\n",nco_prg_nm_get(),usr_sng);
       nco_exit(EXIT_FAILURE);
@@ -5984,13 +6137,13 @@ nco_dmn_avg_mk                         /* [fnc] Build dimensions to average(ncwa
           /* Dimension name full */
           char *dmn_nm_fll=trv_obj.var_dmn[idx_var_dmn].dmn_nm_fll;
 
-          /* Dimension name full lenght */
+          /* Dimension name full length */
           size_t dmn_nm_fll_lng=strlen(dmn_nm_fll);
 
           /* Dimension name relative */
           char *dmn_nm=trv_obj.var_dmn[idx_var_dmn].dmn_nm;
 
-          /* Dimension name relative lenght */
+          /* Dimension name relative length */
           size_t dmn_nm_lng=strlen(dmn_nm);
 
           /* Look for partial match, not necessarily on path boundaries */
@@ -6017,12 +6170,9 @@ nco_dmn_avg_mk                         /* [fnc] Build dimensions to average(ncwa
             /* Additional condition is user-supplied string must end with short form of dimension name */
             if(dmn_nm_lng <= usr_sng_lng){
               var_mch_srt=usr_sng+usr_sng_lng-dmn_nm_lng;
-              if(!strcmp(var_mch_srt,dmn_nm)){
-                flg_var_cnd=True;
-              }
+              if(!strcmp(var_mch_srt,dmn_nm)) flg_var_cnd=True;
             } /* Additional condition  */
 
-
             /* Must meet necessary flags */
             if(flg_pth_srt_bnd && flg_pth_end_bnd && flg_var_cnd){
 
@@ -6053,7 +6203,7 @@ nco_dmn_avg_mk                         /* [fnc] Build dimensions to average(ncwa
                   dmn_cnt=trv_obj.var_dmn[idx_var_dmn].crd->lmt_msa.dmn_cnt;
                   dmn_sz=trv_obj.var_dmn[idx_var_dmn].crd->sz;
                   (*dmn_avg)[nbr_avg_dmn]->is_crd_dmn=True;
-                }else {
+                }else{
                   dmn_cnt=trv_obj.var_dmn[idx_var_dmn].ncd->lmt_msa.dmn_cnt;
                   dmn_sz=trv_obj.var_dmn[idx_var_dmn].ncd->sz;
                   (*dmn_avg)[nbr_avg_dmn]->is_crd_dmn=False;
@@ -6094,18 +6244,14 @@ nco_dmn_avg_mk                         /* [fnc] Build dimensions to average(ncwa
 
   if(nco_dbg_lvl_get() >= nco_dbg_dev){ 
     (void)fprintf(stdout,"%s: DEBUG %s dimensions to average: ",nco_prg_nm_get(),fnc_nm);        
-    for(int idx_dmn=0;idx_dmn<nbr_avg_dmn;idx_dmn++){
-      (void)fprintf(stdout,"#%d<%s> : ",(*dmn_avg)[idx_dmn]->id,(*dmn_avg)[idx_dmn]->nm);        
-    }
+    for(int idx_dmn=0;idx_dmn<nbr_avg_dmn;idx_dmn++) (void)fprintf(stdout,"#%d<%s> : ",(*dmn_avg)[idx_dmn]->id,(*dmn_avg)[idx_dmn]->nm);
     (void)fprintf(stdout,"\n");    
-  } 
+  } /* endif dbg */
 
   return;
 
 } /* nco_dmn_avg_mk() */
 
-
-
 void
 nco_dmn_out_mk                         /* [fnc] Build dimensions array to keep on output */
 (dmn_sct **dmn_xtr,                    /* I [sct] Array of dimensions associated with variables to be extracted  */
@@ -6167,12 +6313,10 @@ nco_dmn_out_mk                         /* [fnc] Build dimensions array to keep o
 
               /* If this dimension is not in output array */
               if(!flg_dmn_ins){
-
                 /* Output list comprises non-averaged and, if specified, degenerate dimensions */
                 (*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 */
             } /* Match by ID */
           } /* Search dimensions to be extracted  */
@@ -6186,11 +6330,9 @@ nco_dmn_out_mk                         /* [fnc] Build dimensions array to keep o
 
   if(nco_dbg_lvl_get() >= nco_dbg_dev){ 
     (void)fprintf(stdout,"%s: DEBUG %s dimensions to keep on output: ",nco_prg_nm_get(),fnc_nm);        
-    for(int idx_dmn=0;idx_dmn<nbr_out_dmn;idx_dmn++){
-      (void)fprintf(stdout,"#%d<%s> : ",(*dmn_out)[idx_dmn]->id,(*dmn_out)[idx_dmn]->nm);        
-    }
+    for(int idx_dmn=0;idx_dmn<nbr_out_dmn;idx_dmn++) (void)fprintf(stdout,"#%d<%s> : ",(*dmn_out)[idx_dmn]->id,(*dmn_out)[idx_dmn]->nm);
     (void)fprintf(stdout,"\n");       
-  } 
+  } /* endif dbg */
 
   return;
 
@@ -6241,7 +6383,8 @@ void
 nco_bld_rec_dmn                       /* [fnc] Build record dimensions array */
 (const int nc_id,                     /* I [ID] netCDF input file ID */
  const nco_bool FORTRAN_IDX_CNV,      /* I [flg] Hyperslab indices obey Fortran convention */
- const nco_bool flg_rec_all,          /* I [flg] Retrieve all records */
+ lmt_sct ***lmt_rec,                  /* I/O [lst] (ncra) Record dimensions */
+ int *nbr_rec,                        /* I/O [nbr] (ncra) Number of record dimensions (size of above array) */
  trv_tbl_sct * trv_tbl)               /* I/O [sct] GTT (Group Traversal Table) */
 {
   const char fnc_nm[]="nco_bld_rec_dmn()"; /* [sng] Function name  */
@@ -6253,20 +6396,25 @@ nco_bld_rec_dmn                       /* [fnc] Build record dimensions array */
 
   nco_bool flg_dmn_ins;    /* [flg] Is dimension already inserted in output array  */  
 
+  int rec_nbr;             /* [sct] Number of record dimensions to export */
+
 #ifndef ENABLE_UDUNITS
   nco_bool flg_prn=False;
 #endif /* !ENABLE_UDUNITS */
 
-  /* Used only by ncra */
-  assert(nco_prg_id_get() == ncra || nco_prg_id_get() == ncrcat || nco_prg_id_get() == ncfe || nco_prg_id_get() == ncge);
+  /* Initialize */
+  rec_nbr=0;
+
+  /* Used only by record operators ncra,ncrcat */
+  assert(nco_prg_id_get() == ncra || nco_prg_id_get() == ncrcat);
 
   /* Loop table */
   for(unsigned int idx_tbl=0;idx_tbl<trv_tbl->nbr;idx_tbl++){
 
     trv_sct var_trv=trv_tbl->lst[idx_tbl];
 
-    /* Is variable (extract records regardless of variable is to be extracted or only if to be extracted) */
-    if(flg_rec_all ? (var_trv.nco_typ == nco_obj_typ_var) : (var_trv.nco_typ == nco_obj_typ_var && var_trv.flg_xtr)){
+    /* Filter extracted variables  */
+    if(var_trv.nco_typ == nco_obj_typ_var && var_trv.flg_xtr){
 
       /* Loop variable dimensions */
       for(int idx_var_dmn=0;idx_var_dmn<var_trv.nbr_dmn;idx_var_dmn++){
@@ -6284,10 +6432,10 @@ nco_bld_rec_dmn                       /* [fnc] Build record dimensions array */
         if(dmn_trv->is_rec_dmn){
 
           /* Loop constructed array of output dimensions to see if already inserted  */
-          for(int idx_dmn_out=0;idx_dmn_out<trv_tbl->nbr_rec;idx_dmn_out++){
+          for(int idx_dmn_out=0;idx_dmn_out<rec_nbr;idx_dmn_out++){
 
             /* Match by ID */
-            if(dmn_id == trv_tbl->lmt_rec[idx_dmn_out]->id){
+            if(dmn_id == (*lmt_rec)[idx_dmn_out]->id){
               /* Mark as inserted in array */
               flg_dmn_ins=True;
               break;
@@ -6297,8 +6445,9 @@ nco_bld_rec_dmn                       /* [fnc] Build record dimensions array */
           /* If this dimension is not in output array */
           if(!flg_dmn_ins){
 
-            /* Add to GTT */
-            trv_tbl->lmt_rec=(lmt_sct **)nco_realloc(trv_tbl->lmt_rec,(trv_tbl->nbr_rec+1)*sizeof(lmt_sct *));
+            /* Add one more element to array  */
+            (*lmt_rec)=(lmt_sct **)nco_realloc((*lmt_rec),(rec_nbr+1)*sizeof(lmt_sct *));
+            (*lmt_rec)[rec_nbr]=(lmt_sct *)nco_malloc(sizeof(lmt_sct));
 
             /* Obtain group ID using full group name */
             (void)nco_inq_grp_full_ncid(nc_id,var_trv.grp_nm_fll,&grp_id);
@@ -6309,11 +6458,11 @@ nco_bld_rec_dmn                       /* [fnc] Build record dimensions array */
               crd_sct *crd=var_trv.var_dmn[idx_var_dmn].crd;
 
               /* Create stand-alone limit structure for given dimension */
-              trv_tbl->lmt_rec[trv_tbl->nbr_rec]=nco_lmt_sct_mk(grp_id,dmn_id,crd->lmt_msa.lmt_dmn,crd->lmt_msa.lmt_dmn_nbr,FORTRAN_IDX_CNV);
+              (*lmt_rec)[rec_nbr]=nco_lmt_sct_mk(grp_id,dmn_id,crd->lmt_msa.lmt_dmn,crd->lmt_msa.lmt_dmn_nbr,FORTRAN_IDX_CNV);
 
               /* Insert full group name, key for group ID match */
-              trv_tbl->lmt_rec[trv_tbl->nbr_rec]->grp_nm_fll=(char *)strdup(crd->crd_grp_nm_fll);
-              trv_tbl->lmt_rec[trv_tbl->nbr_rec]->nm_fll=(char *)strdup(crd->dmn_nm_fll);
+              (*lmt_rec)[rec_nbr]->grp_nm_fll=(char *)strdup(crd->crd_grp_nm_fll);
+              (*lmt_rec)[rec_nbr]->nm_fll=(char *)strdup(crd->dmn_nm_fll);
 
               /* b) case of dimension only (there is no coordinate variable for this dimension */
             }else{
@@ -6321,17 +6470,17 @@ nco_bld_rec_dmn                       /* [fnc] Build record dimensions array */
               dmn_trv_sct *ncd=var_trv.var_dmn[idx_var_dmn].ncd;
 
               /* Create stand-alone limit structure for given dimension */
-              trv_tbl->lmt_rec[trv_tbl->nbr_rec]=nco_lmt_sct_mk(grp_id,dmn_id,ncd->lmt_msa.lmt_dmn,ncd->lmt_msa.lmt_dmn_nbr,FORTRAN_IDX_CNV);
+              (*lmt_rec)[rec_nbr]=nco_lmt_sct_mk(grp_id,dmn_id,ncd->lmt_msa.lmt_dmn,ncd->lmt_msa.lmt_dmn_nbr,FORTRAN_IDX_CNV);
 
               /* Insert full group name, key for group ID match */
-              trv_tbl->lmt_rec[trv_tbl->nbr_rec]->grp_nm_fll=(char *)strdup(ncd->grp_nm_fll);
-              trv_tbl->lmt_rec[trv_tbl->nbr_rec]->nm_fll=(char *)strdup(ncd->nm_fll);
+              (*lmt_rec)[rec_nbr]->grp_nm_fll=(char *)strdup(ncd->grp_nm_fll);
+              (*lmt_rec)[rec_nbr]->nm_fll=(char *)strdup(ncd->nm_fll);
 
             } /* b) case of dimension only (there is no coordinate variable for this dimension */
             
-            trv_tbl->lmt_rec[trv_tbl->nbr_rec]->lmt_cln=cln_nil; 
-            trv_tbl->lmt_rec[trv_tbl->nbr_rec]->origin=0.0;
-            trv_tbl->lmt_rec[trv_tbl->nbr_rec]->rbs_sng=NULL;
+            (*lmt_rec)[rec_nbr]->lmt_cln=cln_nil; 
+            (*lmt_rec)[rec_nbr]->origin=0.0;
+            (*lmt_rec)[rec_nbr]->rbs_sng=NULL;
 
             /* Check if coordinate variable */
             int rcd=nco_inq_varid_flg(grp_id,var_trv.var_dmn[idx_var_dmn].dmn_nm,&var_id);
@@ -6339,24 +6488,25 @@ nco_bld_rec_dmn                       /* [fnc] Build record dimensions array */
             /* Obtain record coordinate metadata */
             if(rcd == NC_NOERR){ 
               char *cln_att_sng=NULL;     
-              trv_tbl->lmt_rec[trv_tbl->nbr_rec]->rbs_sng=nco_lmt_get_udu_att(grp_id,var_id,"units"); 
+              (*lmt_rec)[rec_nbr]->rbs_sng=nco_lmt_get_udu_att(grp_id,var_id,"units"); 
               cln_att_sng=nco_lmt_get_udu_att(grp_id,var_id,"calendar"); 
-              trv_tbl->lmt_rec[trv_tbl->nbr_rec]->lmt_cln=nco_cln_get_cln_typ(cln_att_sng); 
+              (*lmt_rec)[rec_nbr]->lmt_cln=nco_cln_get_cln_typ(cln_att_sng); 
               if(cln_att_sng) cln_att_sng=(char*)nco_free(cln_att_sng);  
             }
 
             /* Store ID */
-            trv_tbl->lmt_rec[trv_tbl->nbr_rec]->id=dmn_id;
+            (*lmt_rec)[rec_nbr]->id=dmn_id;
 
 #ifndef ENABLE_UDUNITS
             if(nco_dbg_lvl_get() >= nco_dbg_vrb && nco_dbg_lvl_get() != nco_dbg_dev && flg_prn == False){
-              if(trv_tbl->lmt_rec[trv_tbl->nbr_rec]->rbs_sng) (void)fprintf(stderr,"%s: WARNING Record coordinate %s has a \"units\" attribute but NCO was built without UDUnits. NCO is therefore unable to detect and correct for inter-file unit re-basing issues. See http://nco.sf.net/nco.html#rbs for more information.\n%s: HINT Re-build or re-install NCO enabled with UDUnits.\n",nco_prg_nm_get(),trv_tbl->lmt_rec[trv_tbl->nbr_rec]->nm,nco_prg_nm_get());
+              if((*lmt_rec)[rec_nbr]->rbs_sng) (void)fprintf(stderr,"%s: WARNING Record coordinate %s has a \"units\" attribute but NCO was built without UDUnits. NCO is therefore unable to detect and correct for inter-file unit re-basing issues. See http://nco.sf.net/nco.html#rbs for more information.\n%s: HINT Re-build or re-install NCO enabled with UDUnits.\n",
+                nco_prg_nm_get(),(*lmt_rec)[rec_nbr]->nm,nco_prg_nm_get());
               flg_prn=True;
             }
 #endif /* !ENABLE_UDUNITS */
 
             /* Increase array size */
-            trv_tbl->nbr_rec++;
+            rec_nbr++;
 
           }  /* If this dimension is not in output array */
 
@@ -6365,23 +6515,26 @@ nco_bld_rec_dmn                       /* [fnc] Build record dimensions array */
     } /* Variable to extract */
   } /* Loop table */
 
-  if(nco_dbg_lvl_get() == nco_dbg_old){ 
+  if(nco_dbg_lvl_get() >= nco_dbg_dev){ 
     (void)fprintf(stdout,"%s: DEBUG %s record dimensions to process: ",nco_prg_nm_get(),fnc_nm);        
-    for(int idx_rec=0;idx_rec<trv_tbl->nbr_rec;idx_rec++){
-      (void)fprintf(stdout,"#%d<%s/%s> : ",trv_tbl->lmt_rec[idx_rec]->id,trv_tbl->lmt_rec[idx_rec]->grp_nm_fll,trv_tbl->lmt_rec[idx_rec]->nm);        
+    for(int idx_rec=0;idx_rec<rec_nbr;idx_rec++){
+      (void)fprintf(stdout,"#%d<%s/%s> : ",(*lmt_rec)[idx_rec]->id,(*lmt_rec)[idx_rec]->grp_nm_fll,(*lmt_rec)[idx_rec]->nm);        
     }
     (void)fprintf(stdout,"\n");       
   } 
 
+  /* Export */
+  *nbr_rec=rec_nbr;
+
   return;
 
 } /* nco_bld_rec_dmn() */
 
 void
-nco_prt_tbl_lmt                       /* [fnc] Print table limits */
+nco_prn_tbl_lmt                       /* [fnc] Print table limits */
 (trv_tbl_sct * const trv_tbl)         /* I/O [sct] Traversal table */
 {
-  const char fnc_nm[]="nco_prt_tbl_lmt()"; /* [sng] Function name  */
+  const char fnc_nm[]="nco_prn_tbl_lmt()"; /* [sng] Function name  */
 
   /* Loop table */
   for(unsigned int idx_tbl=0;idx_tbl<trv_tbl->nbr;idx_tbl++){
@@ -6432,8 +6585,7 @@ nco_prt_tbl_lmt                       /* [fnc] Print table limits */
     } /* Is variable */
   } /* Loop table */
 
-} /* nco_prt_tbl_lmt() */
-
+} /* nco_prn_tbl_lmt() */
 
 void
 nco_bld_trv_tbl                       /* [fnc] Construct GTT, Group Traversal Table (groups,variables,dimensions, limits)   */
@@ -6452,18 +6604,72 @@ nco_bld_trv_tbl                       /* [fnc] Construct GTT, Group Traversal Ta
  const nco_bool EXTRACT_ALL_COORDINATES,  /* I [flg] Process all coordinates */ 
  const nco_bool flg_unn,              /* I [flg] Select union of specified groups and variables */
  const nco_bool EXCLUDE_INPUT_LIST,   /* I [flg] Exclude rather than extract groups and variables specified with -v */ 
- const nco_bool EXTRACT_ASSOCIATED_COORDINATES,  /* I [flg] Extract all coordinates associated with extracted variables? */ 
+ const nco_bool EXTRACT_ASSOCIATED_COORDINATES,  /* I [flg] Extract all coordinates associated with extracted variables? */
+ nco_dmn_dne_t **flg_dne,             /* I/O [lst] Flag to check if input dimension -d "does not exist" */
  trv_tbl_sct * const trv_tbl)         /* I/O [sct] Traversal table */
 {
-  /* Purpose: Construct GTT, Group Traversal Table (groups,variables,dimensions, limits) */
-
-  lmt_sct **lmt=NULL_CEWI;  /* [sct] User defined limits */
+  /* Purpose: Construct GTT, Group Traversal Table (groups, variables, dimensions, limits) 
+     
+     Return value: Check for valid input; NC_NOERR (0) or > 0 for a user input error, used to go to close_and_free on main
+     
+     Notes:
+     * Dimension limit structures are handled internally in this function and not exported
+     * Call sequence is important: 
+     1) nco_trv_hsh_bld() must be called after nco_grp_itr() because other functions use hash table 
+     2) nco_grp_itr() must be first, main iterator function. Then
+     nco_bld_dmn_ids_trv()
+     nco_bld_crd_rec_var_trv()
+     nco_bld_crd_var_trv()
+     nco_has_crd_dmn_scp()
+     nco_bld_var_dmn()
+     complete structures for the traversal table to be completed.
+     Then, user options functions are called:
+     nco_xtr_mk()
+     nco_xtr_xcl()
+     nco_xtr_crd_add()
+     nco_xtr_crd_ass_add()
+     nco_xtr_cf_add()
+     Limits related function must be called in order:
+     nco_lmt_prs()
+     nco_prs_aux_crd()
+     nco_chk_dmn_in()
+     Two functions called for specific operators are:
+     ncbo: trv_tbl_srt()
+     nces nco_bld_nsm() */
+  
+  const char fnc_nm[]="nco_bld_trv_tbl()"; /* [sng] Function name  */
 
   nco_bool CNV_CCM_CCSM_CF; /* [flg] File adheres to NCAR CCM/CCSM/CF conventions */
 
-  /* Construct traversal table objects (groups,variables) */
+  lmt_sct **lmt=NULL_CEWI;  /* [sct] User defined limits */
+
+  /* Construct traversal table objects (groups, variables) */
   (void)nco_grp_itr(nc_id,(char *)NULL,grp_pth,trv_tbl);
 
+  /* Build dimension information for all variables (match dimension IDs) */
+  (void)nco_bld_dmn_ids_trv(nc_id,trv_tbl);
+
+  /* Build "is_crd_var" and "is_rec_var" members for all variables */
+  (void)nco_bld_crd_rec_var_trv(trv_tbl);
+
+  /* Build GTT "crd_sct" coordinate variable structure */
+  (void)nco_bld_crd_var_trv(trv_tbl);
+
+  /* Variables in dimension's scope? */
+  (void)nco_has_crd_dmn_scp(trv_tbl);
+
+  /* Assign variables' dimensions to either coordinates or dimension structs */
+  (void)nco_bld_var_dmn(trv_tbl);       
+
+  /* ncbo co-sequential match algorithm requires alphabetical sorted full names. Do it here, to avoid rebuilding hash table */
+  if(nco_prg_id_get() == ncbo) (void)trv_tbl_srt(trv_tbl);
+
+  /* Hash traversal table for faster access */
+  (void)nco_trv_hsh_bld(trv_tbl);
+
+  /* Build auxiliary coordinates information into table */
+  if(aux_nbr) (void)nco_bld_crd_aux(nc_id,trv_tbl);        
+
   /* Check -v and -g input names and create extraction list */
   (void)nco_xtr_mk(grp_lst_in,grp_lst_in_nbr,var_lst_in,var_xtr_nbr,EXTRACT_ALL_COORDINATES,flg_unn,trv_tbl);
 
@@ -6490,49 +6696,79 @@ nco_bld_trv_tbl                       /* [fnc] Construct GTT, Group Traversal Ta
   /* Mark extracted groups */
   (void)nco_xtr_grp_mrk(trv_tbl);
 
-  /* Build dimension information for all variables (match dimension IDs) */
-  (void)nco_bld_dmn_ids_trv(nc_id,trv_tbl);
+  /* Parse auxiliary coordinates and build found limits directly into table (auxiliary limits are not merged into regular limits ) */
+  if(aux_nbr) (void)nco_prs_aux_crd(nc_id,aux_nbr,aux_arg,FORTRAN_IDX_CNV,MSA_USR_RDR,EXTRACT_ASSOCIATED_COORDINATES,trv_tbl);
 
-  /* Build "is_crd_var" and "is_rec_var" members for all variables */
-  (void)nco_bld_crd_rec_var_trv(trv_tbl);
-
-  /* Build GTT "crd_sct" coordinate variable structure */
-  (void)nco_bld_crd_var_trv(trv_tbl);
-
-  /* Variables in dimension's scope? */
-  (void)nco_has_crd_dmn_scp(trv_tbl);
-
-  /* Assign variables' dimensions to either coordinates or dimension structs */
-  (void)nco_bld_var_dmn(trv_tbl);
-
-  /* Make uniform list of user-specified dimension limits */
-  if(lmt_nbr) lmt=nco_lmt_prs(lmt_nbr,lmt_arg);
+  /* Add dimension limits */
+  if(lmt_nbr){
+    lmt=nco_lmt_prs(lmt_nbr,lmt_arg);
+    (void)nco_bld_lmt(nc_id,MSA_USR_RDR,lmt_nbr,lmt,FORTRAN_IDX_CNV,trv_tbl);
+  } /* !lmt_nbr */
 
-  /* Parse auxiliary coordinates */
-  if(aux_nbr) (void)nco_bld_aux_crd(nc_id,aux_nbr,aux_arg,&lmt_nbr,&lmt,trv_tbl); 
+  /* Build ensembles */
+  if(nco_prg_id_get() == ncge) (void)nco_bld_nsm(nc_id,trv_tbl);
 
-  /* Add dimension limits */
-  if(lmt_nbr) (void)nco_bld_lmt(nc_id,MSA_USR_RDR,lmt_nbr,lmt,FORTRAN_IDX_CNV,trv_tbl);
+   /* Check valid input (limits) */
+  if(lmt_nbr) (void)nco_chk_dmn_in(lmt_nbr,lmt,flg_dne,trv_tbl);
 
+  /* Free limits */
   if(lmt_nbr){
     for(int idx=0;idx<lmt_nbr;idx++) lmt[idx]=nco_lmt_free(lmt[idx]);
     lmt=(lmt_sct **)nco_free(lmt);
   } /* !lmt_nbr */
 
-  /* Hash traversal table for fastest access */
-  (void)nco_trv_hsh_bld(trv_tbl);
+  if(nco_dbg_lvl_get() == nco_dbg_old) trv_tbl_prn_flg_xtr(fnc_nm,trv_tbl);
 
-  /* Build ensembles */
-  if(nco_prg_id_get() == ncge) (void)nco_bld_nsm(nc_id,trv_tbl);
+  return;
 
 } /* nco_bld_trv_tbl() */
 
 void
+nco_chk_dmn                           /* [fnc] Check valid dimension names */
+(const int lmt_nbr,                   /* I [nbr] number of dimensions with limits */
+ nco_dmn_dne_t * flg_dne)             /* I [lst] Flag to check if input dimension -d "does not exist" */
+{
+  /* Check if all input -d dimensions were found */ 
+  for(int lmt_idx=0;lmt_idx<lmt_nbr;lmt_idx++){
+    /* Check this flag */
+    if(flg_dne[lmt_idx].flg_dne){
+      (void)fprintf(stdout,"%s: ERROR dimension %s is not in input file\n",nco_prg_nm_get(),flg_dne[lmt_idx].dim_nm);
+      flg_dne=(nco_dmn_dne_t *)nco_free(flg_dne);
+      nco_exit(EXIT_FAILURE);
+    } /* Check this flag */
+  } /* Check if all input -d dimensions were found */
+} /* nco_chk_dmn() */
+
+void
+nco_chk_dmn_in                        /* [fnc] Check input dimensions */
+(int lmt_nbr,                         /* I [nbr] Number of user-specified dimension limits */
+ lmt_sct **lmt,                       /* I [sct] Structure comming from nco_lmt_prs() */
+ nco_dmn_dne_t **dne_lst,             /* I/O [lst] Flag to check if input dimension -d "does not exist" */
+ const trv_tbl_sct * const trv_tbl)   /* I [sct] Traversal table */
+{ 
+  (*dne_lst)=(nco_dmn_dne_t *)nco_malloc(lmt_nbr*sizeof(nco_dmn_dne_t));
+
+  /* Be pessimistic and assume invalid user input */
+  for(int lmt_idx=0;lmt_idx<lmt_nbr;lmt_idx++) (*dne_lst)[lmt_idx].flg_dne=True; 
+
+  /* Loop input name list */
+  for(int lmt_idx=0;lmt_idx<lmt_nbr;lmt_idx++){
+    assert(lmt[lmt_idx]->nm);
+
+    (*dne_lst)[lmt_idx].dim_nm=(char *) strdup(lmt[lmt_idx]->nm);
+
+    /* Match input relative name to dimension relative name */ 
+    for(unsigned int dmn_idx=0;dmn_idx<trv_tbl->nbr_dmn;dmn_idx++)
+      if(!strcmp(lmt[lmt_idx]->nm,trv_tbl->lst_dmn[dmn_idx].nm)) (*dne_lst)[lmt_idx].flg_dne=False; 
+  } /* Loop input name list */
+} /* nco_chk_dmn_in() */
+
+void
 nco_bld_lmt                           /* [fnc] Assign user specified dimension limits to traversal table */
 (const int nc_id,                     /* I [ID] netCDF file ID */
  nco_bool MSA_USR_RDR,                /* I [flg] Multi-Slab Algorithm returns hyperslabs in user-specified order */
  int lmt_nbr,                         /* I [nbr] Number of user-specified dimension limits */
- lmt_sct **lmt,                       /* I [sct] Structure comming from nco_lmt_prs() */
+ lmt_sct **lmt,                       /* I [sct] Limit array. Structure comming from nco_lmt_prs() */
  nco_bool FORTRAN_IDX_CNV,            /* I [flg] Hyperslab indices obey Fortran convention */
  trv_tbl_sct * const trv_tbl)         /* I/O [sct] Traversal table */
 {
@@ -6540,7 +6776,7 @@ nco_bld_lmt                           /* [fnc] Assign user specified dimension l
   At this point "lmt" was parsed from nco_lmt_prs(); only the relative names and  min, max, stride are known 
   Steps:
 
-  Step 1) Find the total numbers of matches for a dimension
+  Find the total numbers of matches for a dimension
   ncks -d lon,0,0,1  ~/nco/data/in_grp.nc
   Here "lmt_nbr" is 1 and there is 1 match at most
   ncks -d lon,0,0,1 -d lon,0,0,1 -d lat,0,0,1  ~/nco/data/in_grp.nc
@@ -6549,11 +6785,9 @@ nco_bld_lmt                           /* [fnc] Assign user specified dimension l
   a) case of coordinate variables
   b) case of dimension only (there is no coordinate variable for that dimension)
 
-  Step 2) Allocate and initialize counter index for number of limits to zero for a dimension;  
-  "lmt_dmn_nbr" needed from Step 1; initialize dimension structure limit information
   Deep copy matches to table, match at the current index, increment current index
 
-  Step 3) Apply MSA for each Dimension in a new cycle (that now has all its limits in place :-) ) 
+  Apply MSA for each Dimension in a new cycle (that now has all its limits in place :-) ) 
   At this point lmt_sct is no longer needed;  
 
   Tests:
@@ -6562,9 +6796,7 @@ nco_bld_lmt                           /* [fnc] Assign user specified dimension l
   ncks -D 11 -d time,8,2 -v time -H ~/nco/data/in_grp.nc # wrapped limit
   */
 
-  /* Step 1) Find the total numbers of limit matches for a dimension and/or a coordinate variable */
-
-  /* Loop table step 1 */
+  /* Loop table */
   for(unsigned int idx_tbl=0;idx_tbl<trv_tbl->nbr;idx_tbl++){
 
     trv_sct var_trv=trv_tbl->lst[idx_tbl];
@@ -6578,8 +6810,6 @@ nco_bld_lmt                           /* [fnc] Assign user specified dimension l
         /* Loop input name list */
         for(int lmt_idx=0;lmt_idx<lmt_nbr;lmt_idx++){
 
-          assert(lmt[lmt_idx]->nm);
-
           /* Match input relative name to dimension relative name */ 
           if(strcmp(lmt[lmt_idx]->nm,var_trv.var_dmn[idx_var_dmn].dmn_nm) == 0){
 
@@ -6591,54 +6821,19 @@ nco_bld_lmt                           /* [fnc] Assign user specified dimension l
               /* Increment number of dimension limits for this dimension */
               trv_tbl->lst[idx_tbl].var_dmn[idx_var_dmn].crd->lmt_msa.lmt_dmn_nbr++;
 
-              /* b) case of dimension only (there is no coordinate variable for this dimension */
-            }else{
-
-              /* Increment number of dimension limits for this dimension */
-              trv_tbl->lst[idx_tbl].var_dmn[idx_var_dmn].ncd->lmt_msa.lmt_dmn_nbr++; 
-
-            } /* b) case of dimension only (there is no coordinate variable for this dimension */
-
-          } /* Match input relative name to dimension relative name */ 
-        } /* Loop input name list */
-      } /* Loop variable dimensions */
-    } /* Is variable to extract  */
-  } /* Loop table step 1 */
-
-
-
-  /* Loop table step 2 */
-  for(unsigned int idx_tbl=0;idx_tbl<trv_tbl->nbr;idx_tbl++){
-
-    trv_sct var_trv=trv_tbl->lst[idx_tbl];
-
-    /* Is variable to extract  */
-    if(var_trv.nco_typ == nco_obj_typ_var && var_trv.flg_xtr){
-
-      /* Loop variable dimensions */
-      for(int idx_var_dmn=0;idx_var_dmn<var_trv.nbr_dmn;idx_var_dmn++){
-
-        /* Loop input name list */
-        for(int lmt_idx=0;lmt_idx<lmt_nbr;lmt_idx++){
-
-          /* Match input relative name to dimension relative name */ 
-          if(strcmp(lmt[lmt_idx]->nm,var_trv.var_dmn[idx_var_dmn].dmn_nm) == 0){
-
-            /*  The limits have to be separated to */
-
-            /* a) case where the dimension has coordinate variables */
-            if(var_trv.var_dmn[idx_var_dmn].crd){
-
-              int lmt_dmn_nbr=trv_tbl->lst[idx_tbl].var_dmn[idx_var_dmn].crd->lmt_msa.lmt_dmn_nbr;
-
-              trv_tbl->lst[idx_tbl].var_dmn[idx_var_dmn].crd->lmt_msa.lmt_dmn=(lmt_sct **)nco_malloc(lmt_dmn_nbr*sizeof(lmt_sct *));
+              int nbr_lmt=trv_tbl->lst[idx_tbl].var_dmn[idx_var_dmn].crd->lmt_msa.lmt_dmn_nbr;
+              trv_tbl->lst[idx_tbl].var_dmn[idx_var_dmn].crd->lmt_msa.lmt_dmn=(lmt_sct **)nco_realloc(
+                trv_tbl->lst[idx_tbl].var_dmn[idx_var_dmn].crd->lmt_msa.lmt_dmn,nbr_lmt*sizeof(lmt_sct *));
 
               /* b) case of dimension only (there is no coordinate variable for this dimension */
             }else{
 
-              int lmt_dmn_nbr=trv_tbl->lst[idx_tbl].var_dmn[idx_var_dmn].ncd->lmt_msa.lmt_dmn_nbr;
+              /* Increment number of dimension limits for this dimension */
+              trv_tbl->lst[idx_tbl].var_dmn[idx_var_dmn].ncd->lmt_msa.lmt_dmn_nbr++;
 
-              trv_tbl->lst[idx_tbl].var_dmn[idx_var_dmn].ncd->lmt_msa.lmt_dmn=(lmt_sct **)nco_malloc(lmt_dmn_nbr*sizeof(lmt_sct *));
+              int nbr_lmt=trv_tbl->lst[idx_tbl].var_dmn[idx_var_dmn].ncd->lmt_msa.lmt_dmn_nbr;
+              trv_tbl->lst[idx_tbl].var_dmn[idx_var_dmn].ncd->lmt_msa.lmt_dmn=(lmt_sct **)nco_realloc(
+                trv_tbl->lst[idx_tbl].var_dmn[idx_var_dmn].ncd->lmt_msa.lmt_dmn,nbr_lmt*sizeof(lmt_sct *));
 
             } /* b) case of dimension only (there is no coordinate variable for this dimension */
 
@@ -6646,11 +6841,11 @@ nco_bld_lmt                           /* [fnc] Assign user specified dimension l
         } /* Loop input name list */
       } /* Loop variable dimensions */
     } /* Is variable to extract  */
-  } /* Loop table step 2 */
+  } /* Loop table  */
 
   /* Store matches in table, match at the current index, increment current index */
 
-  /* Loop table step 2 */
+  /* Loop table  */
   for(unsigned int idx_tbl=0;idx_tbl<trv_tbl->nbr;idx_tbl++){
 
     trv_sct var_trv=trv_tbl->lst[idx_tbl];
@@ -6699,7 +6894,7 @@ nco_bld_lmt                           /* [fnc] Assign user specified dimension l
               (void)nco_lmt_cpy(lmt[lmt_idx],trv_tbl->lst[idx_tbl].var_dmn[idx_var_dmn].crd->lmt_msa.lmt_dmn[lmt_crr]);
 
             }else{
-	      /* b) Dimension only (no coordinate variable for this dimension) */
+              /* b) Dimension only (no coordinate variable for this dimension) */
 
               dmn_trv_sct *ncd=trv_tbl->lst[idx_tbl].var_dmn[idx_var_dmn].ncd;
 
@@ -6735,7 +6930,7 @@ nco_bld_lmt                           /* [fnc] Assign user specified dimension l
     } /* Is variable to extract  */
   } /* Loop table step 2 */
 
-  /* Step 3) Apply MSA for each Dimension in new cycle (that now has all its limits in place) */
+  /*  Apply MSA for each Dimension in new cycle (that now has all its limits in place) */
 
   /* Loop table step 3 */
   for(unsigned int idx_tbl=0;idx_tbl<trv_tbl->nbr;idx_tbl++){
@@ -6814,7 +7009,7 @@ nco_bld_lmt                           /* [fnc] Assign user specified dimension l
 
               if(nco_dbg_lvl_get() >= nco_dbg_fl){
                 if(flg_ovl) (void)fprintf(stdout,"%s: coordinate \"%s\" has overlapping hyperslabs\n",nco_prg_nm_get(),crd->nm); else (void)fprintf(stdout,"%s: coordinate \"%s\" has distinct hyperslabs\n",nco_prg_nm_get(),crd->nm); 
-	      } /* endif */
+              } /* endif */
 
             }else{
 
@@ -6876,7 +7071,7 @@ nco_bld_lmt                           /* [fnc] Assign user specified dimension l
 
               if(nco_dbg_lvl_get() >= nco_dbg_fl){
                 if(flg_ovl) (void)fprintf(stdout,"%s: dimension \"%s\" has overlapping hyperslabs\n",nco_prg_nm_get(),ncd->nm); else (void)fprintf(stdout,"%s: dimension \"%s\" has distinct hyperslabs\n",nco_prg_nm_get(),ncd->nm); 
-	      } /* endif */
+              } /* endif */
 
             } /* b) case of dimension only (there is no coordinate variable for this dimension */
 
@@ -6889,10 +7084,10 @@ nco_bld_lmt                           /* [fnc] Assign user specified dimension l
 } /* nco_bld_lmt() */
 
 void 
-nco_msa_var_get_elm_trv             /* [fnc] Read a used defined limit */
+nco_msa_var_get_lmn_trv             /* [fnc] Read a used 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 (trv_tbl->lmt_rec[idx_rec]->nm_fll ) */
+ const char * const rec_nm_fll,     /* I [sng] Full name of record being done in loop ((*lmt_rec)[idx_rec]->nm_fll ) */
  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) */
 {
@@ -6900,7 +7095,7 @@ nco_msa_var_get_elm_trv             /* [fnc] Read a used defined limit */
 
   int lmt_dmn_nbr;
 
-  nco_bool flg_lmt=False; /* [flg] Allocate a custom limit */
+  nco_bool flg_lmt=False; /* [flg] Allocate custom limit */
 
   trv_sct *var_trv;
 
@@ -6939,7 +7134,7 @@ nco_msa_var_get_elm_trv             /* [fnc] Read a used defined limit */
           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 ...Jesuzz */
+          /* And set start, count, stride to match current record ... */
           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=1;
@@ -6991,7 +7186,7 @@ nco_msa_var_get_elm_trv             /* [fnc] Read a used defined limit */
   /* Retrieve variable from disk into memory */
   (void)nco_msa_var_get_trv(nc_id,var_prc,trv_tbl);
 
-  /* Free the artificial limit and reset the number of limits */
+  /* 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){
@@ -7013,12 +7208,12 @@ nco_msa_var_get_elm_trv             /* [fnc] Read a used defined limit */
     } /* Match current record  */
   } /* Loop dimensions */
 
-} /* nco_msa_var_get_elm_trv() */
+} /* nco_msa_var_get_lmn_trv() */
 
 nco_bool                             /* O [flg] Skip variable  */
 nco_skp_var                          /* [fnc] Skip variable while doing record   */
 (const var_sct * const var_prc,      /* I [sct] Processed 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] Full name of record being done in loop  */
  const trv_tbl_sct * const trv_tbl)  /* I [sct] Traversal table */
 {
   nco_bool flg_skp;     /* [flg] Skip variable  */
@@ -7049,78 +7244,108 @@ nco_skp_var                          /* [fnc] Skip variable while doing record
 
 } /* nco_skp_var() */
 
-var_sct *                             /* O [sct] Variable (weight) */  
+var_sct *                             /* O [sct] Variable (weight/mask) */  
 nco_var_get_wgt_trv                   /* [fnc] Retrieve weighting or mask variable */
 (const int nc_id,                     /* I [id] netCDF file ID */
- const char * const wgt_nm,           /* I [sng] Weight variable name (relative) */
+ const char * const wgt_nm,           /* I [sng] Weight variable name (relative or absolute) */
  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 */
 {
   /* Purpose: Return the variable (weight or mask) that is in scope of variable that needs the weight/mask variable */
 
-  /* NB: currently detect same group only */
-
   int nbr_wgt=0;     /* [nbr] Number of weight/mask variables in file */
   int grp_id;        /* [ID] Group ID */
   int var_id;        /* [ID] Variable ID */
-  int idx_wgt;
+  int idx_wgt;       /* [nbr] Weight array counter */
 
-  trv_sct **wgt_trv=NULL; /* [sct] Weight/mask list */
+  /* Detect if the weight variable name is relative or absolute */
 
-  /* Loop table */
-  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++;
+  /* If first character is '/' then assume absolute path */
 
-  /* Fill-in variable structure list for all weights */
-  wgt_trv=(trv_sct **)nco_malloc(nbr_wgt*sizeof(trv_sct *));
+  if ('/' == wgt_nm[0]){
 
-  idx_wgt=0;
+    /* Obtain variable GTT object using full variable name */
+    trv_sct *wgt_trv=trv_tbl_var_nm_fll(wgt_nm,trv_tbl);
 
-  /* Loop table */
-  for(unsigned tbl_idx=0;tbl_idx<trv_tbl->nbr;tbl_idx++){
+    var_sct *wgt_var;
 
-    /* Filter by name  */
-    if(trv_tbl->lst[tbl_idx].nco_typ == nco_obj_typ_var && (!strcmp(trv_tbl->lst[tbl_idx].nm,wgt_nm))){
-      wgt_trv[idx_wgt]=&trv_tbl->lst[tbl_idx]; 
-      idx_wgt++;
-    } /* Filter variables  */
-  } /* Loop table */
+    /* Obtain group ID from API using full group name */
+    (void)nco_inq_grp_full_ncid(nc_id,wgt_trv->grp_nm_fll,&grp_id);
 
-  /* Loop table */
-  for(unsigned idx_var=0;idx_var<trv_tbl->nbr;idx_var++){
+    /* Get variable ID */
+    (void)nco_inq_varid(grp_id,wgt_trv->nm,&var_id);
 
-    /* Find the variable that needs the weight  */
-    if(trv_tbl->lst[idx_var].nco_typ == nco_obj_typ_var 
-      && trv_tbl->lst[idx_var].flg_xtr
-      && (strcmp(trv_tbl->lst[idx_var].nm_fll,var->nm_fll) == 0)){
-        trv_sct var_trv=trv_tbl->lst[idx_var];  
+    /* Transfer from table to local variable  */
+    wgt_var=nco_var_fll_trv(grp_id,var_id,wgt_trv,trv_tbl);
 
-        /* Loop over weights */
-        for(idx_wgt=0;idx_wgt<nbr_wgt;idx_wgt++){
-          /* Same group  */ 
-          if(!strcmp(wgt_trv[idx_wgt]->grp_nm_fll,var_trv.grp_nm_fll)){ 
-            var_sct *wgt;
+    /* Retrieve variable NB: using GTT version, that "knows" all the limits  */
+    (void)nco_msa_var_get_trv(nc_id,wgt_var,trv_tbl);
 
-            /* Obtain group ID from API using full group name */
-            (void)nco_inq_grp_full_ncid(nc_id,wgt_trv[idx_wgt]->grp_nm_fll,&grp_id);
+    return wgt_var;
 
-            /* Get variable ID */
-            (void)nco_inq_varid(grp_id,wgt_trv[idx_wgt]->nm,&var_id);
 
-            /* Transfer from table to local variable  */
-            wgt=nco_var_fll_trv(grp_id,var_id,wgt_trv[idx_wgt],trv_tbl);
+    /* Relative name; search all names in table */
+  } else {
 
-            /* Retrieve variable NB: using GTT version, that "knows" all the limits  */
-            (void)nco_msa_var_get_trv(nc_id,wgt,trv_tbl);
+    trv_sct **wgt_trv=NULL; /* [sct] Weight/mask list */
 
-            wgt_trv=(trv_sct **)nco_free(wgt_trv);
+    /* Loop table */
+    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++;
+    }
 
-            return wgt;
+    /* Fill-in variable structure list for all weights */
+    wgt_trv=(trv_sct **)nco_malloc(nbr_wgt*sizeof(trv_sct *));
 
-          }  /* Same group  */ 
-        } /* Loop over weights */
-    } /* Filter variables  */
-  } /* Loop table */
+    idx_wgt=0;
+
+    /* Loop table */
+    for(unsigned tbl_idx=0;tbl_idx<trv_tbl->nbr;tbl_idx++){
+
+      /* Filter by name  */
+      if(trv_tbl->lst[tbl_idx].nco_typ == nco_obj_typ_var && (!strcmp(trv_tbl->lst[tbl_idx].nm,wgt_nm))){
+        wgt_trv[idx_wgt]=&trv_tbl->lst[tbl_idx]; 
+        idx_wgt++;
+      } /* Filter variables  */
+    } /* Loop table */
+
+    /* Loop table */
+    for(unsigned idx_var=0;idx_var<trv_tbl->nbr;idx_var++){
+
+      /* Find the variable that needs the weight  */
+      if(trv_tbl->lst[idx_var].nco_typ == nco_obj_typ_var 
+        && trv_tbl->lst[idx_var].flg_xtr
+        && (strcmp(trv_tbl->lst[idx_var].nm_fll,var->nm_fll) == 0)){
+          trv_sct var_trv=trv_tbl->lst[idx_var];  
+
+          /* Loop over weights */
+          for(idx_wgt=0;idx_wgt<nbr_wgt;idx_wgt++){
+            /* Same group  */ 
+            if(!strcmp(wgt_trv[idx_wgt]->grp_nm_fll,var_trv.grp_nm_fll)){ 
+              var_sct *wgt_var;
+
+              /* Obtain group ID from API using full group name */
+              (void)nco_inq_grp_full_ncid(nc_id,wgt_trv[idx_wgt]->grp_nm_fll,&grp_id);
+
+              /* Get variable ID */
+              (void)nco_inq_varid(grp_id,wgt_trv[idx_wgt]->nm,&var_id);
+
+              /* Transfer from table to local variable  */
+              wgt_var=nco_var_fll_trv(grp_id,var_id,wgt_trv[idx_wgt],trv_tbl);
+
+              /* Retrieve variable NB: using GTT version, that "knows" all the limits  */
+              (void)nco_msa_var_get_trv(nc_id,wgt_var,trv_tbl);
+
+              wgt_trv=(trv_sct **)nco_free(wgt_trv);
+
+              return wgt_var;
+
+            }  /* Same group  */ 
+          } /* Loop over weights */
+      } /* Filter variables  */
+    } /* Loop table */
+
+  }
 
   return NULL;
 
@@ -7614,7 +7839,7 @@ nco_var_has_cf                        /* [fnc] Variable has CF-compliant informa
         if(!cf_lst_var) continue;
       } /* end loop over idx_cf */
 
-      /* Return cf_lst_var, associated name (e.g "lat_bounds"). NB: Assumption only 1 associated name */
+      /* Return cf_lst_var, associated name (e.g., "lat_bounds"). NB: Assumption only 1 associated name */
       char *cf_lst_var=strdup(cf_lst[0]);
 
       /* Free allocated memory */
@@ -7661,7 +7886,7 @@ nco_nm_skp                             /* [fnc] Extract list of variable names t
   for(int idx_var=0;idx_var<nbr_cmn_nm;idx_var++){
 
     /* Define variable full name (NB: cmn_lst->var_nm_fll is relative here) */
-    var_nm_fll=nco_bld_nm_fll(grp_nm_fll,cmn_lst[idx_var].var_nm_fll);
+    var_nm_fll=nco_bld_nm_fll(grp_nm_fll,cmn_lst[idx_var].nm);
 
     /* Obtain variable GTT object using full variable name */
     var_trv=trv_tbl_var_nm_fll(var_nm_fll,trv_tbl);
@@ -7672,7 +7897,7 @@ nco_nm_skp                             /* [fnc] Extract list of variable names t
       lst_ins=nco_lst_ins(var_nm_fll,*skp_lst,idx_skp);
       /* Insert in list */
       if (lst_ins == False){
-        (*skp_lst)[idx_skp].var_nm_fll=strdup(var_nm_fll);
+        (*skp_lst)[idx_skp].nm=strdup(var_nm_fll);
         idx_skp++;
       } /* Insert in list */
     } /* Avoid coordinate variables */ 
@@ -7684,7 +7909,7 @@ nco_nm_skp                             /* [fnc] Extract list of variable names t
       lst_ins=nco_lst_ins(var_nm_fll,*skp_lst,idx_skp);
       /* Insert in list */
       if (lst_ins == False){
-        (*skp_lst)[idx_skp].var_nm_fll=strdup(var_nm_fll);
+        (*skp_lst)[idx_skp].nm=strdup(var_nm_fll);
         idx_skp++;
       } /* Insert in list */
     } /* Avoid special "CF" variables ('bounds', 'coordinates') */ 
@@ -7694,14 +7919,14 @@ nco_nm_skp                             /* [fnc] Extract list of variable names t
       /* Second Loop input (relative) names */
       for(int idx_var_2=0;idx_var_2<nbr_cmn_nm;idx_var_2++){
         /* Match (NB: cmn_lst->var_nm_fll is relative here) */
-        if(strcmp(var_cf,cmn_lst[idx_var_2].var_nm_fll) == 0){
+        if(strcmp(var_cf,cmn_lst[idx_var_2].nm) == 0){
           char *var_nm_fll_2;  /* [sng] Variable full name */
-          var_nm_fll_2=nco_bld_nm_fll(grp_nm_fll,cmn_lst[idx_var_2].var_nm_fll);
+          var_nm_fll_2=nco_bld_nm_fll(grp_nm_fll,cmn_lst[idx_var_2].nm);
           /* Utility function to detect inserted names in a name list */
           lst_ins=nco_lst_ins(var_nm_fll_2,*skp_lst,idx_skp);
           /* Insert in list */
           if (lst_ins == False){
-            (*skp_lst)[idx_skp].var_nm_fll=strdup(var_nm_fll_2);
+            (*skp_lst)[idx_skp].nm=strdup(var_nm_fll_2);
             idx_skp++;
           } /* Insert in list */
         } /* Match */
@@ -7723,7 +7948,7 @@ nco_nm_skp                             /* [fnc] Extract list of variable names t
 
   if(nco_dbg_lvl_get() == nco_dbg_old){
     (void)fprintf(stdout,"%s: DEBUG %s list of variables to skip for template definition\n",nco_prg_nm_get(),fnc_nm); 
-    for(int idx_var=0;idx_var<idx_skp;idx_var++) (void)fprintf(stdout,"%s: DEBUG %s <%s>\n",nco_prg_nm_get(),fnc_nm,(*skp_lst)[idx_var].var_nm_fll); 
+    for(int idx_var=0;idx_var<idx_skp;idx_var++) (void)fprintf(stdout,"%s: DEBUG %s <%s>\n",nco_prg_nm_get(),fnc_nm,(*skp_lst)[idx_var].nm); 
   }
 
 } /* nco_nm_skp() */
@@ -7747,7 +7972,8 @@ nco_bld_nsm                           /* [fnc] Build ensembles */
   int nbr_skp_nm;                      /* [nbr] Number of names to avoid for template definition (array skp_lst) */
   int nsm_nbr=0;                       /* [nbr] Ensemble counter */
 
-  nco_bool flg_nsm_tpl;                /* [flg] Variable is template */           
+  nco_bool flg_nsm_tpl;                /* [flg] Variable is template */       
+  nco_bool flg_ini_skp=False;
 
   nco_cmn_t *cmn_lst=NULL;             /* [sct] A list of common names */ 
   nco_cmn_t *skp_lst=NULL;             /* [sct] A list of skip ('skp') names (NB: using same sct as common names, with different meaning) */ 
@@ -7870,7 +8096,26 @@ nco_bld_nsm                           /* [fnc] Build ensembles */
             if (nbr_cmn_nm && nm_lst_1_nbr == nm_lst_2_nbr && nm_lst_1_nbr == nbr_cmn_nm){
 
               /* Define a list of variables to avoid for template definition */
-              (void)nco_nm_skp(nc_id,trv_2.grp_nm_fll,cmn_lst,nbr_cmn_nm,&skp_lst,&nbr_skp_nm,trv_tbl);    
+              (void)nco_nm_skp(nc_id,trv_2.grp_nm_fll,cmn_lst,nbr_cmn_nm,&skp_lst,&nbr_skp_nm,trv_tbl);  
+
+              /* Mark the skip names as non extracted variables */ 
+              for(int idx_skp=0;idx_skp<nbr_skp_nm;idx_skp++){ 
+                (void)trv_tbl_mrk_xtr(skp_lst[idx_skp].nm,False,trv_tbl); 
+              } 
+
+              if (flg_ini_skp == False){
+
+                trv_tbl->nsm_skp=(nm_tbl_sct *)nco_malloc(sizeof(nm_tbl_sct));
+                trv_tbl->nsm_skp->nbr=nbr_skp_nm;
+                trv_tbl->nsm_skp->lst=NULL; 
+                trv_tbl->nsm_skp->lst=(nm_sct *)nco_realloc(trv_tbl->nsm_skp->lst,(nbr_skp_nm)*sizeof(nm_sct));
+                for(int idx_skp=0;idx_skp<nbr_skp_nm;idx_skp++){ 
+                  /* Duplicate string into list */
+                  trv_tbl->nsm_skp->lst[idx_skp].nm=strdup(skp_lst[idx_skp].nm);
+                } 
+                flg_ini_skp=True;
+              }
+
 
               /* Assume not yet inserted in array */
               nco_bool flg_ins=False;
@@ -7907,14 +8152,14 @@ nco_bld_nsm                           /* [fnc] Build ensembles */
                 for(int idx_var=0;idx_var<nbr_cmn_nm;idx_var++){
 
                   /* Define variable full name (NB: cmn_lst->var_nm_fll is relative here) */
-                  char *var_nm_fll=nco_bld_nm_fll(trv_2.grp_nm_fll,cmn_lst[idx_var].var_nm_fll);
+                  char *var_nm_fll=nco_bld_nm_fll(trv_2.grp_nm_fll,cmn_lst[idx_var].nm);
               
                   /* Template criteria: check the names to skip built above in nco_nm_skp() */
                   flg_nsm_tpl=True;
                   /* Loop skip names */
                   for(int idx_skp=0;idx_skp<nbr_skp_nm;idx_skp++){
                     /* Match */
-                    if(strcmp(var_nm_fll,skp_lst[idx_skp].var_nm_fll) == 0){
+                    if(strcmp(var_nm_fll,skp_lst[idx_skp].nm) == 0){
                       flg_nsm_tpl=False;
                     }  /* Match */
                   } /* Loop skip  names */
@@ -7969,36 +8214,41 @@ nco_bld_nsm                           /* [fnc] Build ensembles */
     }  /* 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);
-    } 
+  if(nco_dbg_lvl_get() >= nco_dbg_fl){
+    nco_prn_nsm(trv_tbl);
   }
 
-  if(nco_dbg_lvl_get() >= nco_dbg_dev){
-    (void)fprintf(stdout,"%s: DEBUG %s list of templates\n",nco_prg_nm_get(),fnc_nm); 
-    int idx_tpl=0;
-    for(unsigned uidx=0;uidx<trv_tbl->nbr;uidx++){
-      if(trv_tbl->lst[uidx].flg_nsm_tpl){
-        (void)fprintf(stdout,"%s: DEBUG %s <template> %d <%s>\n",nco_prg_nm_get(),fnc_nm,idx_tpl,trv_tbl->lst[uidx].nm_fll); 
-        idx_tpl++;
-      }
+  assert(nsm_nbr == trv_tbl->nsm_nbr);
+} /* nco_bld_nsm() */
+
+
+void
+nco_prn_nsm                                 /* [fnc] Print ensembles  */                                
+(const trv_tbl_sct * const trv_tbl)         /* I [sct] Traversal table */
+{
+  (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);
+  } 
+
+  (void)fprintf(stdout,"%s: list of templates\n",nco_prg_nm_get()); 
+  int idx_tpl=0;
+  for(unsigned uidx=0;uidx<trv_tbl->nbr;uidx++){
+    if(trv_tbl->lst[uidx].flg_nsm_tpl){
+      (void)fprintf(stdout,"%s: <template> %d <%s>\n",nco_prg_nm_get(),idx_tpl,trv_tbl->lst[uidx].nm_fll); 
+      idx_tpl++;
     }
   }
 
-  if(nco_dbg_lvl_get() >= nco_dbg_dev){
-    (void)fprintf(stdout,"%s: DEBUG %s list of ensemble members\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 <ensemble %d> <%s>\n",nco_prg_nm_get(),fnc_nm,idx_nsm,trv_tbl->nsm[idx_nsm].grp_nm_fll_prn);
-      for(int idx_mbr=0;idx_mbr<trv_tbl->nsm[idx_nsm].mbr_nbr;idx_mbr++){
-        (void)fprintf(stdout,"%s: DEBUG %s \t <member %d> <%s>\n",nco_prg_nm_get(),fnc_nm,idx_mbr,trv_tbl->nsm[idx_nsm].grp_mbr_fll[idx_mbr]); 
-      }
+  (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++){
+    (void)fprintf(stdout,"%s: <ensemble %d> <%s>\n",nco_prg_nm_get(),idx_nsm,trv_tbl->nsm[idx_nsm].grp_nm_fll_prn);
+    for(int idx_mbr=0;idx_mbr<trv_tbl->nsm[idx_nsm].mbr_nbr;idx_mbr++){
+      (void)fprintf(stdout,"%s: \t <member %d> <%s>\n",nco_prg_nm_get(),idx_mbr,trv_tbl->nsm[idx_nsm].grp_mbr_fll[idx_mbr]); 
     }
   }
 
-  assert(nsm_nbr == trv_tbl->nsm_nbr);
-} /* nco_bld_nsm() */
+} /* nco_prn_nsm() */
 
 void
 nco_nsm_ncr                           /* [fnc] Increase ensembles (more than 1 file cases) */
@@ -8016,8 +8266,11 @@ nco_nsm_ncr                           /* [fnc] Increase ensembles (more than 1 f
   int nbr_grp;        /* [nbr] Number of sub-groups */
   int *grp_ids;       /* [id] Sub-group IDs array */
   int mbr_srt;        /* [nbr] Offset */
+  int rcd=NC_NOERR;   /* [rcd] Return code */
+  int dmn_id_var_2[NC_MAX_DIMS];     /* [ID] Dimensions IDs array for variable */
+  int nbr_dmn_var_2;                 /* [nbr] Number of dimensions for variable */
 
-  size_t grp_nm_lng;  /* [nbr] Group name lenght */
+  size_t grp_nm_lng;  /* [nbr] Group name length */
 
   trv_sct *var_trv;   /* [sct] Variable GTT object */
 
@@ -8028,12 +8281,23 @@ nco_nsm_ncr                           /* [fnc] Increase ensembles (more than 1 f
     mbr_srt=trv_tbl->nsm[idx_nsm].mbr_end;
     trv_tbl->nsm[idx_nsm].mbr_srt=mbr_srt;
 
+
     if(nco_dbg_lvl_get() >= nco_dbg_dev){
-      (void)fprintf(stdout,"%s: DEBUG <ensemble %d> <%s>\n",nco_prg_nm_get(),idx_nsm,trv_tbl->nsm[idx_nsm].grp_nm_fll_prn);
+      (void)fprintf(stdout,"%s: DEBUG %s <ensemble %d> <%s>\n",nco_prg_nm_get(),fnc_nm,idx_nsm,trv_tbl->nsm[idx_nsm].grp_nm_fll_prn);
     }
 
     /* Obtain group ID of current ensemble using full group name */
-    (void)nco_inq_grp_full_ncid(nc_id,trv_tbl->nsm[idx_nsm].grp_nm_fll_prn,&grp_id);
+    rcd+=nco_inq_grp_full_ncid_flg(nc_id,trv_tbl->nsm[idx_nsm].grp_nm_fll_prn,&grp_id);
+
+    /* Group must exist (file # call > 1 ), if not print error */
+    if(rcd != NC_NOERR){
+      (void)fprintf(stdout,"%s: ERROR ensemble <%s> does not exist\n",nco_prg_nm_get(),trv_tbl->nsm[idx_nsm].grp_nm_fll_prn); 
+      (void)fprintf(stdout,"%s: List of ensembles is\n",nco_prg_nm_get()); 
+      for(int idx=0;idx<trv_tbl->nsm_nbr;idx++){
+        (void)fprintf(stdout,"%s: <%s>\n",nco_prg_nm_get(),trv_tbl->nsm[idx].grp_nm_fll_prn);
+        nco_exit(EXIT_FAILURE);
+      } 
+    }
 
     /* Get number of sub-groups */
     (void)nco_inq_grps(grp_id,&nbr_grp,(int *)NULL);
@@ -8043,7 +8307,7 @@ nco_nsm_ncr                           /* [fnc] Increase ensembles (more than 1 f
     /* Loop sub-groups */
     for(int idx_grp=0;idx_grp<nbr_grp;idx_grp++){ 
 
-      /* Get group name lenght */
+      /* Get group name length */
       (void)nco_inq_grpname_len(grp_ids[idx_grp],&grp_nm_lng);
       grp_nm=(char *)nco_malloc(grp_nm_lng+1L);
 
@@ -8065,15 +8329,51 @@ nco_nsm_ncr                           /* [fnc] Increase ensembles (more than 1 f
         /* Loop over members (variables) of old ensemble (NB: Assumption, same number of variables for new ensembles) */
         for(int idx_mbr=0;idx_mbr<trv_tbl->nsm[idx_nsm].mbr_var_nbr;idx_mbr++){
 
-          /* Obtain variable GTT object for the member variable in ensemble */ 
+          /* Obtain variable GTT object for the member variable in ensemble */
           var_trv=trv_tbl_var_nm_fll(trv_tbl->nsm[idx_nsm].var_mbr_fll[idx_mbr],trv_tbl);
 
+          if(nco_dbg_lvl_get() >= nco_dbg_dev){
+            if (var_trv) (void)fprintf(stdout,"%s: DEBUG %s retrieving variable <%s>\n",nco_prg_nm_get(),fnc_nm,trv_tbl->nsm[idx_nsm].var_mbr_fll[idx_mbr]);
+          }
+
+          if(nco_dbg_lvl_get() >= nco_dbg_dev){
+            if (!var_trv) (void)fprintf(stdout,"%s: DEBUG %s variable <%s> does not exist\n",nco_prg_nm_get(),fnc_nm,trv_tbl->nsm[idx_nsm].var_mbr_fll[idx_mbr]);
+          }
+
           /* Match relative name  */
-          if(strcmp(nm_lst_1[idx_var],var_trv->nm) == 0){
+          if(var_trv && strcmp(nm_lst_1[idx_var],var_trv->nm) == 0){
 
             /* Build new variable name */
             char *var_nm_fll=nco_bld_nm_fll(grp_nm_fll,nm_lst_1[idx_var]);
 
+            /* Check variables from 2nd file (no table, using API) */
+
+            /* Get number of dimensions */
+            (void)nco_inq_var(grp_ids[idx_grp],idx_var,var_trv->nm,NULL,&nbr_dmn_var_2,(int *)NULL,(int *)NULL);
+
+            /* Get dimension IDs for variable */
+            (void)nco_inq_vardimid(grp_ids[idx_grp],idx_var,dmn_id_var_2);
+
+            /* Check dimensions between ensembles from 1st and 2nd files */
+            for(int idx_dmn_1=0;idx_dmn_1<var_trv->nbr_dmn;idx_dmn_1++){
+              dmn_trv_sct *dmn_trv_1=nco_dmn_trv_sct(var_trv->var_dmn[idx_dmn_1].dmn_id,trv_tbl);
+              for(int idx_dmn_2=0;idx_dmn_2<nbr_dmn_var_2;idx_dmn_2++){
+
+                char dmn_nm_var[NC_MAX_NAME+1]; /* [sng] Dimension name */
+                long dmn_sz_var;                /* [nbr] Dimension size */ 
+
+                /* Get dimension size */
+                (void)nco_inq_dim(grp_ids[idx_grp],dmn_id_var_2[idx_dmn_2],dmn_nm_var,&dmn_sz_var);
+
+                if(dmn_trv_1->sz != (size_t)dmn_sz_var){
+                  (void)fprintf(stdout,"%s: ERROR variable <%s> has non conforming dimension %ld, expecting %ld\n",nco_prg_nm_get(),
+                    var_nm_fll,dmn_sz_var,dmn_trv_1->sz); 
+                  nco_exit(EXIT_FAILURE);
+                }
+              }
+            } /* Check dimensions between ensembles from 1st and 2nd files */
+
+
             /* Variable ensemble members */
             int mbr_var_nbr=trv_tbl->nsm[idx_nsm].mbr_var_nbr;          
             trv_tbl->nsm[idx_nsm].mbr_var_nbr++;   
@@ -8126,14 +8426,720 @@ nco_nsm_ncr                           /* [fnc] Increase ensembles (more than 1 f
 
   } /* Loop over ensembles in table */
 
-  if(nco_dbg_lvl_get() >= nco_dbg_dev){
-    (void)fprintf(stdout,"%s: DEBUG %s list of ensemble members\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 <ensemble %d> <%s>\n",nco_prg_nm_get(),fnc_nm,idx_nsm,trv_tbl->nsm[idx_nsm].grp_nm_fll_prn);
-      for(int idx_mbr=0;idx_mbr<trv_tbl->nsm[idx_nsm].mbr_nbr;idx_mbr++){
-        (void)fprintf(stdout,"%s: DEBUG %s \t <member %d> <%s>\n",nco_prg_nm_get(),fnc_nm,idx_mbr,trv_tbl->nsm[idx_nsm].grp_mbr_fll[idx_mbr]); 
-      }
-    }
+  if(nco_dbg_lvl_get() >= nco_dbg_fl){
+    (void)fprintf(stdout,"%s: New list of ensembles\n",nco_prg_nm_get()); 
+    nco_prn_nsm(trv_tbl);
   }
 
 } /* nco_nsm_ncr() */
+
+int                                    /* O [enm] Comparison result [<,=,>] 0 iff val_1 [<,==,>] val_2 */
+nco_cmp_aux_crd_dpt                    /* [fnc] Compare two aux_crd_sct's by group depth */
+(const void *val_1,                    /* I [sct] aux_crd_sct * to compare */
+ const void *val_2)                    /* I [sct] aux_crd_sct * to compare */
+{
+  /* Purpose: Compare two aux_crd_sct's by group depth structure member
+     Function is suitable for argument to ANSI C qsort() routine in stdlib.h */
+
+  const aux_crd_sct * const crd_1=(const aux_crd_sct *)val_1;
+  const aux_crd_sct * const crd_2=(const aux_crd_sct *)val_2;
+
+  if(crd_1->grp_dpt > crd_2->grp_dpt) return 1;
+  else if(crd_1->grp_dpt < crd_2->grp_dpt) return -1;
+  else return 0;
+
+} /* nco_cmp_aux_crd_dpt() */
+
+
+void
+nco_prs_aux_crd                       /* [fnc] Parse auxiliary coordinates */
+(const int nc_id,                     /* I [ID] netCDF file ID */
+ const int aux_nbr,                   /* I [nbr] Number of auxiliary coordinates */
+ char *aux_arg[],                     /* I [sng] Auxiliary coordinates */
+ const nco_bool FORTRAN_IDX_CNV,      /* I [flg] Hyperslab indices obey Fortran convention */
+ const nco_bool MSA_USR_RDR,          /* I [flg] Multi-Slab Algorithm returns hyperslabs in user-specified order */
+ const nco_bool EXTRACT_ASSOCIATED_COORDINATES,  /* I [flg] Extract all coordinates associated with extracted variables? */
+ trv_tbl_sct * const trv_tbl)         /* I/O [sct] GTT (Group Traversal Table) */
+{
+  const char fnc_nm[]="nco_prs_aux_crd()"; /* [sng] Function name */
+
+  /* Loop table  */
+  for(unsigned idx_tbl=0;idx_tbl<trv_tbl->nbr;idx_tbl++){
+
+    /* Filter variables to extract */ 
+    if(trv_tbl->lst[idx_tbl].nco_typ == nco_obj_typ_var && trv_tbl->lst[idx_tbl].flg_xtr){
+
+      trv_sct var_trv=trv_tbl->lst[idx_tbl];
+
+      /* Filter variables with auxiliary coordinates */ 
+      if(var_trv.flg_aux){
+
+        if(nco_dbg_lvl_get() >= nco_dbg_dev){
+          (void)fprintf(stdout,"%s: DEBUG %s variable <%s>\n",nco_prg_nm_get(),fnc_nm,
+            trv_tbl->lst[idx_tbl].nm_fll); 
+        }
+
+        int dmn_idx_fnd=-1; /* [nbr] Index of dimension that has the coordinate */
+        int dmn_id_fnd_lat=-1;  /* [id] ID of dimension that has the latitude coordinate */
+        int dmn_id_fnd_lon=-1;  /* [id] ID of dimension that has the longituee coordinate */
+
+        trv_sct *lat_trv=NULL;
+        trv_sct *lon_trv=NULL;      
+
+        /* Loop dimensions, look for latitude  */
+        for(int idx_dmn=0;idx_dmn<var_trv.nbr_dmn;idx_dmn++){
+          /* Has 'latitude' auxiliary coordinates  */
+          if (var_trv.var_dmn[idx_dmn].nbr_lat_crd){
+            /* Use the coordinate with lower group depth (index 0) (These were already sorted ) */
+            lat_trv=trv_tbl_var_nm_fll(var_trv.var_dmn[idx_dmn].lat_crd[0].nm_fll,trv_tbl);
+            dmn_idx_fnd=idx_dmn;
+            dmn_id_fnd_lat=var_trv.var_dmn[idx_dmn].lat_crd[0].dmn_id;
+            break;
+          } /* Has 'latitude' auxiliary coordinates  */
+        } /* Loop dimensions, look for latitude  */
+
+        /* Loop dimensions, look for longitude  */
+        for(int idx_dmn=0;idx_dmn<var_trv.nbr_dmn;idx_dmn++){
+          /* Has 'longitude' auxiliary coordinates  */
+          if (var_trv.var_dmn[idx_dmn].nbr_lon_crd){
+            /* Use the coordinate with lower group depth (index 0) (These were already sorted ) */
+            lon_trv=trv_tbl_var_nm_fll(var_trv.var_dmn[idx_dmn].lon_crd[0].nm_fll,trv_tbl);
+            dmn_idx_fnd=idx_dmn;
+            dmn_id_fnd_lon=var_trv.var_dmn[idx_dmn].lon_crd[0].dmn_id;
+            break;
+          } /* Has 'longitude' auxiliary coordinates  */
+        } /* Loop dimensions, look for longitude  */
+
+        /* Auxiliary coordinates found */
+        if (lat_trv && lon_trv){
+
+          lmt_sct **aux=NULL_CEWI;   /* Auxiliary coordinate limits */
+          int aux_lmt_nbr;           /* Number of auxiliary coordinate limits */
+          nc_type crd_typ;           /* [enm] netCDF type of both "latitude" and "longitude" */
+          char units[NC_MAX_NAME+1];
+
+          aux_lmt_nbr=0;
+          crd_typ=trv_tbl->lst[idx_tbl].var_dmn[dmn_idx_fnd].lat_crd[0].crd_typ;
+          strcpy(units,trv_tbl->lst[idx_tbl].var_dmn[dmn_idx_fnd].lat_crd[0].units);
+
+          aux=nco_aux_evl_trv(nc_id,aux_nbr,aux_arg,lat_trv,lon_trv,crd_typ,units,&aux_lmt_nbr);
+
+          /* Mark both 'latitude' and 'longitude' for extraction */
+          if(EXTRACT_ASSOCIATED_COORDINATES){
+            (void)trv_tbl_mrk_xtr(lat_trv->nm_fll,True,trv_tbl);
+            (void)trv_tbl_mrk_xtr(lon_trv->nm_fll,True,trv_tbl);
+          }
+
+          /* Found limits */
+          if(aux_lmt_nbr > 0 ){  
+
+            if(nco_dbg_lvl_get() >= nco_dbg_dev){
+              (void)fprintf(stdout,"%s: DEBUG %s variable <%s> (%d) limits\n",nco_prg_nm_get(),fnc_nm,
+                trv_tbl->lst[idx_tbl].nm_fll,aux_lmt_nbr); 
+            }
+
+            lmt_sct **lmt=aux;
+            int lmt_dmn_nbr=aux_lmt_nbr;
+
+            /* The dimension IDs of both 'latitude' and 'longitude' must refer to the same dimemsion (e.g., 'gds_crd) ) */
+            assert(dmn_id_fnd_lon == dmn_id_fnd_lat);
+
+            /* Apply limits to variable in table */
+            (void)nco_lmt_aux_tbl(nc_id,lmt,lmt_dmn_nbr,var_trv.nm_fll,dmn_id_fnd_lat,FORTRAN_IDX_CNV,MSA_USR_RDR,trv_tbl);
+
+            /*  Apply limits to *all* 'latitude', 'longitude' variables that share the same ID */
+            (void)nco_lmt_std_att_lat_lon(nc_id,lmt,lmt_dmn_nbr,dmn_id_fnd_lat,FORTRAN_IDX_CNV,MSA_USR_RDR,trv_tbl);   
+
+            /* Get unique dimension object from unique dimension ID (e.g., 'gds_crd) */
+            dmn_trv_sct *dmn_trv=nco_dmn_trv_sct(dmn_id_fnd_lat,trv_tbl);
+
+            /* The dimension IDs of both 'latitude' and 'longitude' must refer to the same dimemsion (e.g., 'gds_crd) ) */
+            assert(dmn_id_fnd_lon == dmn_trv->dmn_id);
+
+            /*  Apply limits to the coordinate (e.g., 'gds_crd)  */
+            (void)nco_lmt_aux_tbl(nc_id,lmt,lmt_dmn_nbr,dmn_trv->nm_fll,dmn_id_fnd_lat,FORTRAN_IDX_CNV,MSA_USR_RDR,trv_tbl);
+
+          } /* Found limits */
+
+          /* Free limits exported from nco_aux_evl_trv() */
+          aux=(lmt_sct **)nco_free(aux);  
+
+        } /* Auxiliary coordinates found */
+      } /* Filter variables with auxiliary coordinates */ 
+    }  /* Filter variables to extract */ 
+  } /* Loop table  */
+
+  return;
+} /* nco_prs_aux_crd() */
+
+
+void
+nco_lmt_aux_tbl                       /* [fnc] Apply limits to variable in table */
+(const int nc_id,                     /* I [ID] netCDF file ID */
+ lmt_sct **lmt,                       /* I [sct] Limits */
+ const int nbr_lmt,                   /* I [nbr] Number of limits */
+ const char * const var_nm_fll,       /* I [sng] Variable full name */
+ const int dmn_id,                    /* I [id] ID of dimension to apply the limits */
+ nco_bool FORTRAN_IDX_CNV,            /* I [flg] Hyperslab indices obey Fortran convention */
+ nco_bool MSA_USR_RDR,                /* I [flg] Multi-Slab Algorithm returns hyperslabs in user-specified order */
+ trv_tbl_sct * const trv_tbl)         /* I/O [sct] GTT (Group Traversal Table) */
+{
+  /* Loop table  */
+  for(unsigned idx_tbl=0;idx_tbl<trv_tbl->nbr;idx_tbl++){
+    /* Match variable  */
+    if(trv_tbl->lst[idx_tbl].nco_typ == nco_obj_typ_var && !strcmp(var_nm_fll,trv_tbl->lst[idx_tbl].nm_fll)){
+
+      trv_sct var_trv=trv_tbl->lst[idx_tbl];
+
+      /* Loop dimensions  */
+      for(int idx_dmn=0;idx_dmn<var_trv.nbr_dmn;idx_dmn++){
+        /* Match index  */
+        if(dmn_id == var_trv.var_dmn[idx_dmn].dmn_id){
+
+          /* Apply limits */
+          (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  */
+
+    }  /* Match variable  */
+  } /* Loop table  */
+
+  return;
+} /* nco_lmt_aux_tbl() */
+
+
+
+void
+nco_lmt_std_att_lat_lon               /* [fnc] Apply limits to variable in table that contains 'standard_name' attribute "latitude" */
+(const int nc_id,                     /* I [ID] netCDF file ID */
+ lmt_sct **lmt,                       /* I [sct] Limits */
+ const int nbr_nbr,                   /* I [nbr] Number of limits */
+ const int dmn_id,                    /* I [id] ID of dimension to apply the limits */
+ nco_bool FORTRAN_IDX_CNV,            /* I [flg] Hyperslab indices obey Fortran convention */
+ nco_bool MSA_USR_RDR,                /* I [flg] Multi-Slab Algorithm returns hyperslabs in user-specified order */
+ trv_tbl_sct * const trv_tbl)         /* I/O [sct] GTT (Group Traversal Table) */
+{
+  /* Loop table  */
+  for(unsigned idx_tbl=0;idx_tbl<trv_tbl->nbr;idx_tbl++){
+    /* Match variable that has 'standard_name' flag */
+    if(trv_tbl->lst[idx_tbl].nco_typ == nco_obj_typ_var && 
+      (trv_tbl->lst[idx_tbl].flg_std_att_lat || trv_tbl->lst[idx_tbl].flg_std_att_lon)){
+
+        trv_sct var_trv=trv_tbl->lst[idx_tbl];
+
+        /* Loop dimensions  */
+        for(int idx_dmn=0;idx_dmn<var_trv.nbr_dmn;idx_dmn++){
+          /* Match index  */
+          if(dmn_id == var_trv.var_dmn[idx_dmn].dmn_id){
+
+            /* Apply limits */
+            (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  */
+
+    }  /* Match variable  */
+  } /* Loop table  */
+
+  return;
+} /* nco_lmt_std_att_lat_lon() */
+
+
+
+void
+nco_lmt_aux                           /* [fnc] Apply auxiliary -X limits (Auxiliary function called by different functions ) */
+(const int nc_id,                     /* I [ID] netCDF file ID */
+ lmt_sct **lmt,                       /* I [sct] Limits */
+ const int nbr_nbr,                   /* I [nbr] Number of limits */
+ nco_bool FORTRAN_IDX_CNV,            /* I [flg] Hyperslab indices obey Fortran convention */
+ nco_bool MSA_USR_RDR,                /* I [flg] Multi-Slab Algorithm returns hyperslabs in user-specified order */
+ const int idx_tbl,                   /* I [nbr] Table index */
+ const int idx_dmn,                   /* I [nbr] Dimension index */
+ trv_tbl_sct * const trv_tbl)         /* I/O [sct] GTT (Group Traversal Table) */
+{
+
+  /* a) case where the dimension has coordinate variables */
+  if(trv_tbl->lst[idx_tbl].var_dmn[idx_dmn].crd){
+
+    /* For this call (-X) the *same* limits are applied to all coordinates, and other variables might apply
+    them too, so make sure they are applied only once by setting -1 in lmt_crr */
+
+    if (trv_tbl->lst[idx_tbl].var_dmn[idx_dmn].crd->lmt_msa.lmt_crr == -1) return;
+
+    trv_tbl->lst[idx_tbl].var_dmn[idx_dmn].crd->lmt_msa.lmt_crr=-1;
+
+    /* Loop limits */
+    for(int idx_lmt=0;idx_lmt<nbr_nbr;idx_lmt++){
+
+      /* Increment number of dimension limits for this dimension */
+      trv_tbl->lst[idx_tbl].var_dmn[idx_dmn].crd->lmt_msa.lmt_dmn_nbr++;
+
+      int nbr_lmt=trv_tbl->lst[idx_tbl].var_dmn[idx_dmn].crd->lmt_msa.lmt_dmn_nbr;
+      trv_tbl->lst[idx_tbl].var_dmn[idx_dmn].crd->lmt_msa.lmt_dmn=(lmt_sct **)nco_realloc(
+        trv_tbl->lst[idx_tbl].var_dmn[idx_dmn].crd->lmt_msa.lmt_dmn,nbr_lmt*sizeof(lmt_sct *));
+
+      crd_sct *crd=trv_tbl->lst[idx_tbl].var_dmn[idx_dmn].crd;
+
+      /* Limit is same as dimension in input file? */
+      trv_tbl->lst[idx_tbl].var_dmn[idx_dmn].crd->lmt_msa.BASIC_DMN=False;
+
+      /* Parse user-specified limits into hyperslab specifications. NOTE: Use True parameter and "crd" */
+      (void)nco_lmt_evl_dmn_crd(nc_id,0L,FORTRAN_IDX_CNV,crd->crd_grp_nm_fll,crd->nm,crd->sz,crd->is_rec_dmn,True,lmt[idx_lmt]);
+
+      /* Alloc this limit */
+      trv_tbl->lst[idx_tbl].var_dmn[idx_dmn].crd->lmt_msa.lmt_dmn[idx_lmt]=(lmt_sct *)nco_malloc(sizeof(lmt_sct));
+
+      /* Initialize this entry */
+      (void)nco_lmt_init(trv_tbl->lst[idx_tbl].var_dmn[idx_dmn].crd->lmt_msa.lmt_dmn[idx_lmt]);
+
+      /* Store dimension ID */
+      lmt[idx_lmt]->id=crd->dmn_id;
+
+      /* Store this valid input; deep-copy to table */ 
+      (void)nco_lmt_cpy(lmt[idx_lmt],trv_tbl->lst[idx_tbl].var_dmn[idx_dmn].crd->lmt_msa.lmt_dmn[idx_lmt]);
+
+    } /* Loop limits */
+
+      /* Apply MSA for each Dimension in new cycle (that now has all its limits in place) */
+
+    /* Loop limits */
+    for(int idx_lmt=0;idx_lmt<nbr_nbr;idx_lmt++){
+
+      crd_sct *crd=trv_tbl->lst[idx_tbl].var_dmn[idx_dmn].crd;
+
+      /* Adapted from original MSA loop in nco_msa_lmt_all_ntl(); differences are marked GTT specific */
+
+      nco_bool flg_ovl; /* [flg] Limits overlap */
+
+      /* GTT: If this coordinate has no limits, continue */
+      if(trv_tbl->lst[idx_tbl].var_dmn[idx_dmn].crd->lmt_msa.lmt_dmn_nbr == 0) continue;
+
+      /* ncra/ncrcat have only one limit for record dimension so skip evaluation otherwise this messes up multi-file operation */
+      if(crd->is_rec_dmn && (nco_prg_id_get() == ncra || nco_prg_id_get() == ncrcat)) continue;
+
+      /* Split-up wrapped limits. NOTE: using deep copy version nco_msa_wrp_splt_cpy() */   
+      (void)nco_msa_wrp_splt_cpy(&trv_tbl->lst[idx_tbl].var_dmn[idx_dmn].crd->lmt_msa);
+
+      /* Wrapped hyperslabs are dimensions broken into the "wrong" order, e.g., from
+      -d time,8,2 broken into -d time,8,9 -d time,0,2 
+      WRP flag set only when list contains dimensions split as above */
+      if(trv_tbl->lst[idx_tbl].var_dmn[idx_dmn].crd->lmt_msa.WRP){
+
+        /* Find and store size of output dim */  
+        (void)nco_msa_clc_cnt(&trv_tbl->lst[idx_tbl].var_dmn[idx_dmn].crd->lmt_msa); 
+
+        continue;
+      } /* End WRP flag set */
+
+      /* Single slab---no analysis needed */  
+      if(trv_tbl->lst[idx_tbl].var_dmn[idx_dmn].crd->lmt_msa.lmt_dmn_nbr == 1){
+
+        (void)nco_msa_clc_cnt(&trv_tbl->lst[idx_tbl].var_dmn[idx_dmn].crd->lmt_msa);  
+
+        continue;    
+      } /* End Single slab */
+
+      /* Does Multi-Slab Algorithm returns hyperslabs in user-specified order? */
+      if(MSA_USR_RDR){
+        trv_tbl->lst[idx_tbl].var_dmn[idx_dmn].crd->lmt_msa.MSA_USR_RDR=True;
+
+        /* Find and store size of output dimension */  
+        (void)nco_msa_clc_cnt(&trv_tbl->lst[idx_tbl].var_dmn[idx_dmn].crd->lmt_msa);  
+
+        continue;
+      } /* End MSA_USR_RDR */
+
+      /* Sort limits */
+      (void)nco_msa_qsort_srt(&trv_tbl->lst[idx_tbl].var_dmn[idx_dmn].crd->lmt_msa);
+
+      /* Check for overlap */
+      flg_ovl=nco_msa_ovl(&trv_tbl->lst[idx_tbl].var_dmn[idx_dmn].crd->lmt_msa); 
+
+      /* Find and store size of output dimension */  
+      (void)nco_msa_clc_cnt(&trv_tbl->lst[idx_tbl].var_dmn[idx_dmn].crd->lmt_msa);
+
+      if(nco_dbg_lvl_get() >= nco_dbg_fl){
+        if(flg_ovl) (void)fprintf(stdout,"%s: coordinate \"%s\" has overlapping hyperslabs\n",nco_prg_nm_get(),crd->nm); else (void)fprintf(stdout,"%s: coordinate \"%s\" has distinct hyperslabs\n",nco_prg_nm_get(),crd->nm); 
+      } /* endif */
+
+    } /* Loop limits */
+  } /* a) case where the dimension has coordinate variables */
+
+  return;
+} /* nco_lmt_aux() */
+
+
+void
+nco_bld_crd_aux                       /* [fnc] Build auxiliary coordinates information into table */
+(const int nc_id,                     /* I [ID] netCDF file ID */
+ trv_tbl_sct *trv_tbl)                /* I [sct] GTT (Group Traversal Table) */
+{
+  const char fnc_nm[]="nco_bld_crd_aux()"; /* [sng] Function name */
+
+  /* Look for 'standard_name' 'latitude' and 'longitude' attributes */
+
+  char *var_nm_fll=NULL;
+
+  int dmn_id; /* [id] Dimension ID of dimension of 'latitude' and 'longitude' coordinate variables, e.g., lat_gds(gds_crd) */
+
+  nc_type crd_typ;
+
+  /* Loop table  */
+  for(unsigned idx_var=0;idx_var<trv_tbl->nbr;idx_var++){
+    /* Filter variables */
+    trv_sct var_trv=trv_tbl->lst[idx_var];
+
+    nco_bool has_lat;
+    nco_bool has_lon;
+
+    /* Filter variables. */ 
+    if(var_trv.nco_typ == nco_obj_typ_var){
+
+      char units_lat[NC_MAX_NAME+1];
+      char units_lon[NC_MAX_NAME+1];
+
+      has_lat=nco_find_lat_lon_trv(nc_id,&var_trv,"latitude",&var_nm_fll,&dmn_id,&crd_typ,units_lat);
+
+      if (has_lat){
+
+        /* Variable contains 'standard_name' attribute "latitude" */ 
+        trv_tbl->lst[idx_var].flg_std_att_lat=True; 
+
+        /* Loop table  */
+        for(unsigned idx_crd=0;idx_crd<trv_tbl->nbr;idx_crd++){
+          /* Filter */
+          if(trv_tbl->lst[idx_crd].nco_typ == nco_obj_typ_var &&
+            trv_tbl->lst[idx_crd].nbr_dmn >=2 &&
+            trv_tbl->lst[idx_crd].is_crd_var == False){
+              /* Loop dimensions  */
+              for(int idx_dmn=0;idx_dmn<trv_tbl->lst[idx_crd].nbr_dmn;idx_dmn++){
+                /* Match dimension */
+                if (trv_tbl->lst[idx_crd].var_dmn[idx_dmn].dmn_id == dmn_id){
+                  /* Check if possible 'latitude' (var_trv) is in scope */
+                  if (nco_var_scp(&trv_tbl->lst[idx_crd],&var_trv,trv_tbl)){
+
+                    trv_tbl->lst[idx_crd].flg_aux=True;
+
+                    /* Insert item into list */
+                    trv_tbl->lst[idx_crd].var_dmn[idx_dmn].nbr_lat_crd++;
+                    int nbr_lat_crd=trv_tbl->lst[idx_crd].var_dmn[idx_dmn].nbr_lat_crd;
+                    trv_tbl->lst[idx_crd].var_dmn[idx_dmn].lat_crd=(aux_crd_sct *)nco_realloc(
+                      trv_tbl->lst[idx_crd].var_dmn[idx_dmn].lat_crd,nbr_lat_crd*sizeof(aux_crd_sct));
+                    trv_tbl->lst[idx_crd].var_dmn[idx_dmn].lat_crd[nbr_lat_crd-1].nm_fll=strdup(var_nm_fll);
+                    trv_tbl->lst[idx_crd].var_dmn[idx_dmn].lat_crd[nbr_lat_crd-1].dmn_id=dmn_id;
+                    trv_tbl->lst[idx_crd].var_dmn[idx_dmn].lat_crd[nbr_lat_crd-1].grp_dpt=var_trv.grp_dpt;
+                    trv_tbl->lst[idx_crd].var_dmn[idx_dmn].lat_crd[nbr_lat_crd-1].crd_typ=crd_typ;
+                    strcpy(trv_tbl->lst[idx_crd].var_dmn[idx_dmn].lat_crd[nbr_lat_crd-1].units,units_lat);
+
+                  } /* Is in scope */
+                } /* Match dimension */
+              } /* Loop dimensions  */
+          } /* Filter */
+        } /* Loop table  */
+
+      } /* has_lat */
+
+      has_lon=nco_find_lat_lon_trv(nc_id,&var_trv,"longitude",&var_nm_fll,&dmn_id,&crd_typ,units_lon);
+
+      if (has_lon){
+
+        /* Variable contains 'standard_name' attribute "longitude" */ 
+        trv_tbl->lst[idx_var].flg_std_att_lon=True; 
+
+         /* Loop table  */
+        for(unsigned idx_crd=0;idx_crd<trv_tbl->nbr;idx_crd++){
+          /* Filter */
+          if(trv_tbl->lst[idx_crd].nco_typ == nco_obj_typ_var &&
+            trv_tbl->lst[idx_crd].nbr_dmn >=2 &&
+            trv_tbl->lst[idx_crd].is_crd_var == False){
+              /* Loop dimensions  */
+              for(int idx_dmn=0;idx_dmn<trv_tbl->lst[idx_crd].nbr_dmn;idx_dmn++){
+                /* Match dimension */
+                if (trv_tbl->lst[idx_crd].var_dmn[idx_dmn].dmn_id == dmn_id){
+                  /* Check if possible 'longitude' (var_trv) is in scope */
+                  if (nco_var_scp(&trv_tbl->lst[idx_crd],&var_trv,trv_tbl)){
+
+                    trv_tbl->lst[idx_crd].flg_aux=True; 
+
+                    /* Insert item into list */
+                    trv_tbl->lst[idx_crd].var_dmn[idx_dmn].nbr_lon_crd++;
+                    int nbr_lon_crd=trv_tbl->lst[idx_crd].var_dmn[idx_dmn].nbr_lon_crd;
+                    trv_tbl->lst[idx_crd].var_dmn[idx_dmn].lon_crd=(aux_crd_sct *)nco_realloc(
+                      trv_tbl->lst[idx_crd].var_dmn[idx_dmn].lon_crd,nbr_lon_crd*sizeof(aux_crd_sct));
+                    trv_tbl->lst[idx_crd].var_dmn[idx_dmn].lon_crd[nbr_lon_crd-1].nm_fll=strdup(var_nm_fll);
+                    trv_tbl->lst[idx_crd].var_dmn[idx_dmn].lon_crd[nbr_lon_crd-1].dmn_id=dmn_id;
+                    trv_tbl->lst[idx_crd].var_dmn[idx_dmn].lon_crd[nbr_lon_crd-1].grp_dpt=var_trv.grp_dpt;
+                    trv_tbl->lst[idx_crd].var_dmn[idx_dmn].lon_crd[nbr_lon_crd-1].crd_typ=crd_typ;
+                    strcpy(trv_tbl->lst[idx_crd].var_dmn[idx_dmn].lon_crd[nbr_lon_crd-1].units,units_lat);
+
+                  } /* Is in scope */
+                } /* Match dimension */
+              } /* Loop dimensions  */
+          } /* Filter */
+        } /* Loop table  */
+        
+      } /* has_lon */
+    } /* Filter variables to extract */ 
+  } /* Loop table */
+
+  /* Sort the array of 'latitude' and 'longitude' coordinate variables by group depth and choose the most in scope variables */
+
+  /* Loop table  */
+  for(unsigned idx_var=0;idx_var<trv_tbl->nbr;idx_var++){
+
+    /* Filter variables with auxiliary coordinates */ 
+    if(trv_tbl->lst[idx_var].flg_aux){
+
+      assert(trv_tbl->lst[idx_var].nco_typ == nco_obj_typ_var);
+
+      /* Loop dimensions  */
+      for(int idx_dmn=0;idx_dmn<trv_tbl->lst[idx_var].nbr_dmn;idx_dmn++){
+
+        /* Has 'latitude' auxiliary coordinates  */
+        if (trv_tbl->lst[idx_var].var_dmn[idx_dmn].nbr_lat_crd){
+
+          int nbr_lat_crd=trv_tbl->lst[idx_var].var_dmn[idx_dmn].nbr_lat_crd;
+
+          /* Sort them by group depth */
+          qsort(trv_tbl->lst[idx_var].var_dmn[idx_dmn].lat_crd,(size_t)nbr_lat_crd,sizeof(trv_tbl->lst[idx_var].var_dmn[idx_dmn].lat_crd[0]),nco_cmp_aux_crd_dpt);
+
+          if(nco_dbg_lvl_get() >= nco_dbg_dev){
+            (void)fprintf(stdout,"%s: DEBUG %s variable with auxiliary coordinates <%s>:<%s>\n",nco_prg_nm_get(),fnc_nm,
+              trv_tbl->lst[idx_var].nm_fll,trv_tbl->lst[idx_var].var_dmn[idx_dmn].dmn_nm_fll); 
+            for(int idx_crd=0;idx_crd<nbr_lat_crd;idx_crd++){
+              (void)fprintf(stdout,"%s: DEBUG %s <%s> dpt=%d\n",nco_prg_nm_get(),fnc_nm,
+                trv_tbl->lst[idx_var].var_dmn[idx_dmn].lat_crd[idx_crd].nm_fll,
+                trv_tbl->lst[idx_var].var_dmn[idx_dmn].lat_crd[idx_crd].grp_dpt);
+            }   
+          }
+
+        } /* Has 'latitude' auxiliary coordinates  */
+
+        /* Has 'longitude' auxiliary coordinates  */
+        if (trv_tbl->lst[idx_var].var_dmn[idx_dmn].nbr_lon_crd){
+
+          int nbr_lon_crd=trv_tbl->lst[idx_var].var_dmn[idx_dmn].nbr_lon_crd;
+
+          /* Sort them by group depth */
+          qsort(trv_tbl->lst[idx_var].var_dmn[idx_dmn].lon_crd,(size_t)nbr_lon_crd,sizeof(trv_tbl->lst[idx_var].var_dmn[idx_dmn].lon_crd[0]),nco_cmp_aux_crd_dpt);
+
+          if(nco_dbg_lvl_get() >= nco_dbg_dev){
+            (void)fprintf(stdout,"%s: DEBUG %s variable with auxiliary coordinates <%s>:<%s>\n",nco_prg_nm_get(),fnc_nm,
+              trv_tbl->lst[idx_var].nm_fll,trv_tbl->lst[idx_var].var_dmn[idx_dmn].dmn_nm_fll); 
+            for(int idx_crd=0;idx_crd<nbr_lon_crd;idx_crd++){
+              (void)fprintf(stdout,"%s: DEBUG %s <%s> dpt=%d\n",nco_prg_nm_get(),fnc_nm,
+                trv_tbl->lst[idx_var].var_dmn[idx_dmn].lon_crd[idx_crd].nm_fll,
+                trv_tbl->lst[idx_var].var_dmn[idx_dmn].lon_crd[idx_crd].grp_dpt);
+            }   
+          }
+
+        } /* Has 'longitude' auxiliary coordinates  */
+      } /* Loop dimensions  */
+    } /* Filter variables with auxiliary coordinates */ 
+  } /* Loop table  */
+
+  return;
+} /* nco_bld_crd_aux() */
+
+nco_bool                               /* O [flg] True if variable 1 is in scope of variable 2 */
+nco_var_scp                            /* [fnc] Is variable 1 is in scope of variable 2 */
+(const trv_sct * const var_trv_1,      /* I [sct] Variable 1 */
+ const trv_sct * const var_trv_2,      /* I [sct] Variable 2 (use case , find 'latitude in scope )*/
+ const trv_tbl_sct * const trv_tbl)    /* I [sct] Traversal table */
+{
+
+  /* Same group */
+  if (strcmp(var_trv_1->grp_nm_fll,var_trv_2->grp_nm_fll) == 0){
+    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){
+
+    char *grp_nm_fll_prn_2=var_trv_2->grp_nm_fll_prn; /* [sct] Parent group */
+    trv_sct *grp_prn_2;
+
+    grp_prn_2=trv_tbl_grp_nm_fll(grp_nm_fll_prn_2,trv_tbl);
+
+    /* 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 */
+
+      /* Exit loop when root reached */
+      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 */
+
+  }
+
+  return False;
+} /* 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 */        
+
+  int *dmn_ids;          /* [nbr] Dimensions IDs array */
+  int grp_id;            /* [ID]  Group ID */
+  int nbr_dmn;           /* [nbr] Number of dimensions */
+
+  /* Obtain group ID from netCDF API using full group name */
+  (void)nco_inq_grp_full_ncid(nc_id,grp_nm_fll,&grp_id);
+
+  /* Obtain number of dimensions for group */
+  (void)nco_inq(grp_id,&nbr_dmn,(int *)NULL,(int *)NULL,(int *)NULL);
+
+  /* Alloc array */
+  dmn_ids=(int *)nco_malloc(nbr_dmn*sizeof(int));
+
+  /* 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;
+}
+
+void
+nco_prn_var                           /* [fnc] Print variable (debug only) */
+(const int nc_id,                     /* I [ID] netCDF file ID (Input or output file) */
+ trv_tbl_sct * const trv_tbl)         /* I/O [sct] Traversal table */
+{
+  const char fnc_nm[]="nco_prn_var()"; /* [sng] Function name  */
+
+  int grp_id;
+  int var_id;
+  nc_type var_typ;
+  int nbr_dmn;
+
+  /* Loop table */
+  for(unsigned int idx_tbl=0;idx_tbl<trv_tbl->nbr;idx_tbl++){
+
+    trv_sct var_trv=trv_tbl->lst[idx_tbl];
+
+    /* Is variable */
+    if(var_trv.nco_typ == nco_obj_typ_var){
+
+      (void)nco_inq_grp_full_ncid(nc_id,var_trv.grp_nm_fll,&grp_id);
+      (void)nco_inq_varid(grp_id,var_trv.nm,&var_id);   
+      (void)nco_inq_var(grp_id,var_id,(char *)NULL,&var_typ,&nbr_dmn,(int *)NULL,(int *)NULL);
+
+      if(nco_dbg_lvl_get() >= nco_dbg_dev) (void)fprintf(stdout,"%s: DEBUG %s variable <%s> Type: %d\n",nco_prg_nm_get(),fnc_nm,var_trv.nm_fll,var_typ); 
+
+    } /* Is variable */
+  } /* Loop table */
+} /* nco_prn_var() */
+
+void
+nco_dmn_lmt                            /* [fnc] Convert a lmt_sct array to dmn_sct (name only) */
+(lmt_sct **lmt,                        /* I [lst] lmt_sct array  */
+ const int nbr_lmt,                    /* I [nbr] Size of lmt_sct array  */
+ dmn_sct ***dmn)                       /* O [sct] dmn_sct array  */
+{
+  for(int idx=0;idx<nbr_lmt;idx++){
+    (*dmn)[idx]=(dmn_sct *)nco_malloc(sizeof(dmn_sct));
+    (*dmn)[idx]->nm=(char *)strdup(lmt[idx]->nm);
+    (*dmn)[idx]->id=-1;
+    (*dmn)[idx]->nc_id=-1;
+    (*dmn)[idx]->xrf=NULL;
+    (*dmn)[idx]->val.vp=NULL;
+    (*dmn)[idx]->is_rec_dmn=lmt[idx]->is_rec_dmn;
+    (*dmn)[idx]->cnt=-1;
+    (*dmn)[idx]->sz=-1;
+    (*dmn)[idx]->srt=-1;
+    (*dmn)[idx]->end=-1;
+    (*dmn)[idx]->srd=-1;
+    (*dmn)[idx]->cid=-1;
+    (*dmn)[idx]->cnk_sz=-1;
+    (*dmn)[idx]->type=(nc_type)-1;
+  }  
+
+  return;
+
+} /* end nco_dmn_lmt() */
+
+void
+nco_nsm_dfn_wrt                       /* [fnc] Define OR write ensemble fixed variables */
+(const int nc_id,                    /* I [ID] netCDF input file ID */
+ const int nc_out_id,                /* I [ID] netCDF output file ID */
+ const cnk_sct * const cnk,          /* I [sct] Chunking structure */
+ const int dfl_lvl,                  /* I [enm] Deflate level [0..9] */
+ const gpe_sct * const gpe,          /* I [sct] GPE structure */
+ const nco_bool flg_def,              /* [fnc] Define OR write */
+ trv_tbl_sct * const trv_tbl)         /* I/O [sct] Traversal table */
+{
+  const char fnc_nm[]="nco_nsm_dfn_wrt()"; /* [sng] Function name */
+
+  char *grp_out_fll;
+
+  /* ncge */
+  if(nco_prg_id_get() == ncge){
+
+    int grp_id_in;  /* [ID] Group ID */
+    int grp_id_out; /* [ID] Group ID */
+
+    trv_sct trv_obj;
+
+    /* Loop table */
+    for(unsigned int tbl_idx=0;tbl_idx<trv_tbl->nbr;tbl_idx++){
+      trv_obj=trv_tbl->lst[tbl_idx];
+
+      /* Find ensemble parent group */ 
+      if (trv_obj.flg_nsm_prn){
+
+        if(nco_dbg_lvl_get() >= nco_dbg_dev){
+          (void)fprintf(stdout,"%s: INFO %s creating variables in ensemble parent group <%s>",nco_prg_nm_get(),fnc_nm,
+            trv_obj.grp_nm_fll_prn);
+        }  
+
+        /* Get output group */
+
+        if(trv_tbl->nsm_sfx){
+          /* Define new name by appending suffix (e.g., /cesm + _avg) */
+          char *nm_fll_sfx=nco_bld_nsm_sfx(trv_obj.grp_nm_fll_prn,trv_tbl);
+          /* Use then delete new name */
+          if(gpe) grp_out_fll=nco_gpe_evl(gpe,nm_fll_sfx); else grp_out_fll=(char *)strdup(nm_fll_sfx);
+          nm_fll_sfx=(char *)nco_free(nm_fll_sfx);
+        }else{ /* Non suffix case */
+          if(gpe) grp_out_fll=nco_gpe_evl(gpe,trv_obj.grp_nm_fll_prn); else grp_out_fll=(char *)strdup(trv_obj.grp_nm_fll_prn);
+        } /* !trv_tbl->nsm_sfx */
+
+        /* Define variables (fixed coordinate variables) in output file */
+
+        if(trv_tbl->nsm_skp){
+          for(int idx=0;idx<trv_tbl->nsm_skp->nbr;idx++){
+            trv_sct *var_trv=trv_tbl_var_nm_fll(trv_tbl->nsm_skp->lst[idx].nm,trv_tbl);
+
+            if (flg_def == True)
+            (void)nco_cpy_var_dfn_trv(nc_id,nc_out_id,cnk,grp_out_fll,dfl_lvl,gpe,NULL,var_trv,trv_tbl);
+            /* Obtain group IDs using full group name */
+            (void)nco_inq_grp_full_ncid(nc_id,var_trv->grp_nm_fll,&grp_id_in);
+            (void)nco_inq_grp_full_ncid(nc_out_id,grp_out_fll,&grp_id_out);
+
+            /* Copy variable data (NB: var_trv contains variable) */
+            if (flg_def == False)
+            (void)nco_cpy_var_val_mlt_lmt_trv(grp_id_in,grp_id_out,(FILE *)NULL,NULL,var_trv);
+          }
+        }
+
+        break;
+      } /* Find ensemble parent group */ 
+    } /* Loop table */
+  } /* ncge */
+
+} /* nco_nsm_dfn_wrt() */
diff --git a/src/nco/nco_grp_utl.h b/src/nco/nco_grp_utl.h
index 6a5b8c7..f42d2f6 100644
--- a/src/nco/nco_grp_utl.h
+++ b/src/nco/nco_grp_utl.h
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_grp_utl.h,v 1.418 2013/12/02 20:14:50 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_grp_utl.h,v 1.461 2014/02/19 21:36:44 pvicente Exp $ */
 
 /* Purpose: Group utilities */
 
-/* Copyright (C) 2011--2013 Charlie Zender
+/* Copyright (C) 2011--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -130,7 +130,7 @@ nco_get_sng_pth_sct                   /* [fnc] Get string path structure  */
  sng_pth_sct ***str_pth_lst);         /* I/O [sct] List of path components  */  
 
 void
-nco_prt_grp_nm_fll                   /* [fnc] Debug function to print group full name from ID */
+nco_prn_grp_nm_fll                   /* [fnc] Debug function to print group full name from ID */
 (const int grp_id);                  /* I [ID] Group ID */
 
 nco_bool                             /* O [flg] All user-specified names are in file */
@@ -190,7 +190,7 @@ nco_xtr_lst_prn                        /* [fnc] Print name-ID structure list */
  const int nm_id_nbr);                 /* I [nbr] Number of name-ID structures in list */
 
 void                          
-nco_prt_dmn                           /* [fnc] Print dimensions for a group  */
+nco_prn_dmn                           /* [fnc] Print dimensions for a group  */
 (const int nc_id,                     /* I [ID] File ID */
  const char * const grp_nm_fll);      /* I [sng] Full name of group */
 
@@ -218,11 +218,7 @@ void
 nco_xtr_dfn                           /* [fnc] Define extracted groups, variables, and attributes in output file */
 (const int nc_id,                     /* I [ID] netCDF input file ID */
  const int nc_out_id,                 /* I [ID] netCDF output file ID */
- int * const cnk_map_ptr,             /* I [enm] Chunking map */
- int * const cnk_plc_ptr,             /* I [enm] Chunking policy */
- const size_t cnk_sz_scl,             /* I [nbr] Chunk size scalar */
- CST_X_PTR_CST_PTR_CST_Y(cnk_sct,cnk), /* I [sct] Chunking information */
- const int cnk_nbr,                   /* I [nbr] Number of dimensions with user-specified chunking */
+ const cnk_sct * const cnk,           /* I [sct] Chunking structure */
  const int dfl_lvl,                   /* I [enm] Deflate level [0..9] */
  const gpe_sct * const gpe,           /* I [sng] GPE structure */
  const md5_sct * const md5,           /* I [sct] MD5 configuration */
@@ -264,7 +260,7 @@ nco_bld_crd_var_trv                   /* [fnc] Build GTT "crd_sct" coordinate va
 (trv_tbl_sct * const trv_tbl);        /* I/O [sct] GTT (Group Traversal Table) */
 
 void                          
-nco_prt_trv_tbl                      /* [fnc] Print GTT (Group Traversal Table) for debugging  with --get_grp_info  */
+nco_prn_trv_tbl                      /* [fnc] Print GTT (Group Traversal Table) for debugging  with --get_grp_info  */
 (const int nc_id,                    /* I [ID] File ID */
  const trv_tbl_sct * const trv_tbl); /* I [sct] GTT (Group Traversal Table) */
 
@@ -311,13 +307,14 @@ nco_get_rec_dmn_nm                     /* [fnc] Return array of record names  */
  nm_tbl_sct ** rec_dmn_nm);            /* I/O [sct] Array of record names */
  
 void
-nco_bld_aux_crd                       /* [fnc] Parse auxiliary coordinates */
+nco_prs_aux_crd                       /* [fnc] Parse auxiliary coordinates */
 (const int nc_id,                     /* I [ID] netCDF file ID */
  const int aux_nbr,                   /* I [nbr] Number of auxiliary coordinates */
  char *aux_arg[],                     /* I [sng] Auxiliary coordinates */
- int *lmt_nbr,                        /* I/O [nbr] Number of user-specified dimension limits */
- lmt_sct ***lmt,                      /* I/O [sct] Limit structure  */
- const trv_tbl_sct * const trv_tbl);  /* I [sct] GTT (Group Traversal Table) */
+ const nco_bool FORTRAN_IDX_CNV,      /* I [flg] Hyperslab indices obey Fortran convention */
+ const nco_bool MSA_USR_RDR,          /* I [flg] Multi-Slab Algorithm returns hyperslabs in user-specified order */
+ const nco_bool EXTRACT_ASSOCIATED_COORDINATES,  /* I [flg] Extract all coordinates associated with extracted variables? */
+ trv_tbl_sct * const trv_tbl);        /* I/O [sct] GTT (Group Traversal Table) */
 
 var_sct **                            /* O [sct] Variable list */  
 nco_fll_var_trv                       /* [fnc] Fill-in variable structure list for all extracted variables */
@@ -333,7 +330,7 @@ nco_var_trv                           /* [fnc] Fill-in variable structure list f
  const trv_tbl_sct * const trv_tbl);  /* I [sct] Traversal table */
 
 void
-nco_cpy_fix_var_trv                   /* [fnc] Copy processing type fixed variables from input to output file */
+nco_cpy_fix_var_trv                   /* [fnc] Copy fixed variables from input to output file */
 (const int nc_id,                     /* I [ID] netCDF input file ID */
  const int out_id,                    /* I [ID] netCDF output file ID */
  const gpe_sct * const gpe,           /* I [sng] GPE structure */
@@ -344,11 +341,7 @@ nco_prc_cmn                            /* [fnc] Process objects (ncbo only) */
 (const int nc_id_1,                    /* I [id] netCDF input-file ID */
  const int nc_id_2,                    /* I [id] netCDF input-file ID */
  const int nc_out_id,                  /* I [id] netCDF output-file ID */
- int cnk_map,                          /* I [enm] Chunking map */
- int cnk_plc,                          /* I [enm] Chunking policy */
- const size_t cnk_sz_scl,              /* I [nbr] Chunk size scalar */
- CST_X_PTR_CST_PTR_CST_Y(cnk_sct,cnk), /* I [sct] Chunking information */
- const int cnk_nbr,                    /* I [nbr] Number of dimensions with user-specified chunking */
+ const cnk_sct * const cnk,            /* I [sct] Chunking structure */
  const int dfl_lvl,                    /* I [enm] Deflate level [0..9] */
  const gpe_sct * const gpe,            /* I [sct] GPE structure */
  gpe_nm_sct *gpe_nm,                   /* I/O [sct] GPE name duplicate check array */
@@ -360,20 +353,16 @@ nco_prc_cmn                            /* [fnc] Process objects (ncbo only) */
  const int nco_op_typ,                 /* I [enm] Operation type (command line -y) */
  trv_sct * trv_1,                      /* I [sct] Table object */
  trv_sct * trv_2,                      /* I [sct] Table object */
- const trv_tbl_sct * const trv_tbl_1,  /* I [sct] GTT (Group Traversal Table) */
- const trv_tbl_sct * const trv_tbl_2,  /* I [sct] GTT (Group Traversal Table) */
+ trv_tbl_sct * const trv_tbl_1,        /* I/O [sct] GTT (Group Traversal Table) */
+ trv_tbl_sct * const trv_tbl_2,        /* I/O [sct] GTT (Group Traversal Table) */
  nco_bool flg_grp_1,                   /* I [flg] Use table 1 as template for group creation on True, otherwise use table 2 */
  const nco_bool flg_dfn);              /* I [flg] Action type (True for define variables, False when write variables ) */
 
 void                          
-nco_cpy_fix                            /* [fnc] Copy processing type fixed object (ncbo only) */
+nco_cpy_fix                            /* [fnc] Copy fixed object (ncbo only) */
 (const int nc_id_1,                    /* I [id] netCDF input-file ID */
  const int nc_out_id,                  /* I [id] netCDF output-file ID */
- int cnk_map,                          /* I [enm] Chunking map */
- int cnk_plc,                          /* I [enm] Chunking policy */
- const size_t cnk_sz_scl,              /* I [nbr] Chunk size scalar */
- CST_X_PTR_CST_PTR_CST_Y(cnk_sct,cnk), /* I [sct] Chunking information */
- const int cnk_nbr,                    /* I [nbr] Number of dimensions with user-specified chunking */
+ const cnk_sct * const cnk,            /* I [sct] Chunking structure */
  const int dfl_lvl,                    /* I [enm] Deflate level [0..9] */
  const gpe_sct * const gpe,            /* I [sct] GPE structure */
  gpe_nm_sct *gpe_nm,                   /* I/O [sct] GPE name duplicate check array */
@@ -383,7 +372,7 @@ nco_cpy_fix                            /* [fnc] Copy processing type fixed objec
  CST_X_PTR_CST_PTR_CST_Y(dmn_sct,dmn_xcl),   /* I [sct] Dimensions not allowed in fixed variables */
  const int nbr_dmn_xcl,                /* I [nbr] Number of altered dimensions */
  trv_sct *trv_1,                       /* I/O [sct] Table object */
- const trv_tbl_sct * const trv_tbl_1,  /* I [sct] GTT (Group Traversal Table) */
+ trv_tbl_sct * const trv_tbl_1,        /* I [sct] GTT (Group Traversal Table) */
  const nco_bool flg_dfn);              /* I [flg] Action type (True for define variables, False when write variables ) */
 
 nco_bool                               /* O [flg] Copy packing attributes */
@@ -397,11 +386,7 @@ nco_rel_mch                            /* [fnc] Relative match of object in tabl
 (const int nc_id_1,                    /* I [id] netCDF input-file ID from file 1 */
  const int nc_id_2,                    /* I [id] netCDF input-file ID from file 2 */
  const int nc_out_id,                  /* I [id] netCDF output-file ID */
- int cnk_map,                          /* I [enm] Chunking map */
- int cnk_plc,                          /* I [enm] Chunking policy */
- const size_t cnk_sz_scl,              /* I [nbr] Chunk size scalar */
- CST_X_PTR_CST_PTR_CST_Y(cnk_sct,cnk), /* I [sct] Chunking information */
- const int cnk_nbr,                    /* I [nbr] Number of dimensions with user-specified chunking */
+ const cnk_sct * const cnk,            /* I [sct] Chunking structure */
  const int dfl_lvl,                    /* I [enm] Deflate level [0..9] */
  const gpe_sct * const gpe,            /* I [sct] GPE structure */
  gpe_nm_sct *gpe_nm,                   /* I/O [sct] GPE name duplicate check array */
@@ -411,8 +396,8 @@ nco_rel_mch                            /* [fnc] Relative match of object in tabl
  trv_sct * var_trv,                    /* I [sct] Table variable object (can be from table 1 or 2) */
  nco_bool flg_tbl_1,                   /* I [flg] Table variable object is from table1 for True, otherwise is from table 2 */
  nco_bool flg_grp_1,                   /* I [flg] Use table 1 as template for group creation on True, otherwise use table 2 */
- const trv_tbl_sct * const trv_tbl_1,  /* I [sct] GTT (Group Traversal Table) */
- const trv_tbl_sct * const trv_tbl_2,  /* I [sct] GTT (Group Traversal Table) */
+ trv_tbl_sct * const trv_tbl_1,        /* I/O [sct] GTT (Group Traversal Table) */
+ trv_tbl_sct * const trv_tbl_2,        /* I/O [sct] GTT (Group Traversal Table) */
  const nco_bool flg_dfn);              /* I [flg] Action type (True for define variables, False when write variables ) */
 
 void                          
@@ -420,11 +405,7 @@ nco_prc_cmn_nm                         /* [fnc] Process common objects from a co
 (const int nc_id_1,                    /* I [id] netCDF input-file ID */
  const int nc_id_2,                    /* I [id] netCDF input-file ID */
  const int nc_out_id,                  /* I [id] netCDF output-file ID */
- int cnk_map,                          /* I [enm] Chunking map */
- int cnk_plc,                          /* I [enm] Chunking policy */
- const size_t cnk_sz_scl,              /* I [nbr] Chunk size scalar */
- CST_X_PTR_CST_PTR_CST_Y(cnk_sct,cnk), /* I [sct] Chunking information */
- const int cnk_nbr,                    /* I [nbr] Number of dimensions with user-specified chunking */
+ const cnk_sct * const cnk,            /* I [sct] Chunking structure */
  const int dfl_lvl,                    /* I [enm] Deflate level [0..9] */
  const gpe_sct * const gpe,            /* I [sct] GPE structure */
  gpe_nm_sct *gpe_nm,                   /* I/O [sct] GPE name duplicate check array */
@@ -462,12 +443,13 @@ int                                    /* O [id] Output file variable ID */
 nco_cpy_var_dfn_trv                    /* [fnc] Define specified variable in output file */
 (const int nc_in_id,                   /* I [ID] netCDF input file ID */
  const int nc_out_id,                  /* I [ID] netCDF output file ID */
+ const cnk_sct * const cnk,            /* I [sct] Chunking structure */
  const char * const grp_out_fll,       /* I [sng] Output group name */
  const int dfl_lvl,                    /* I [enm] Deflate level [0..9] */
  const gpe_sct * const gpe,            /* I [sct] GPE structure */
  const char * const rec_dmn_nm_cst,    /* I [sng] User-specified record dimension, if any, to create or fix in output file */
  trv_sct *var_trv,                     /* I/O [sct] Object to write (variable) */
- const trv_tbl_sct * const trv_tbl);   /* I [sct] GTT (Group Traversal Table) */
+ trv_tbl_sct * const trv_tbl);         /* I/O [sct] GTT (Group Traversal Table) */
 
 void
 nco_dmn_rdr_trv                        /* [fnc] Transfer dimension structures to be re-ordered (ncpdq) into GTT */
@@ -526,7 +508,7 @@ nco_dmn_msa_tbl                       /* [fnc] Define specified variable in outp
 (const int grp_in_id,                 /* I [id] netCDF input group ID */
  const char * const rec_dmn_nm_cst,   /* I [sng] User-specified record dimension, if any, to create or fix in output file */
  trv_sct *var_trv,                    /* I/O [sct] Object to write (variable) trv_map_dmn_set() is O */
- const trv_tbl_sct * const trv_tbl);  /* I [sct] GTT (Group Traversal Table) */
+ trv_tbl_sct * const trv_tbl);        /* I/O [sct] GTT (Group Traversal Table) */
 
 void                          
 nco_dmn_dgn_tbl                       /* [fnc] Transfer degenerated dimensions information into GTT  */
@@ -569,11 +551,12 @@ void
 nco_bld_rec_dmn                       /* [fnc] Build record dimensions array */
 (const int nc_id,                     /* I [ID] netCDF input file ID */
  const nco_bool FORTRAN_IDX_CNV,      /* I [flg] Hyperslab indices obey Fortran convention */
- const nco_bool flg_rec_all,          /* I [flg] Retrieve all records */
+ lmt_sct ***lmt_rec,                  /* I/O [lst] (ncra) Record dimensions */
+ int *nbr_rec,                        /* I/O [nbr] (ncra) Number of record dimensions (size of above array) */
  trv_tbl_sct * trv_tbl);              /* I/O [sct] GTT (Group Traversal Table) */
 
 void
-nco_prt_tbl_lmt                       /* [fnc] Print table limits */
+nco_prn_tbl_lmt                       /* [fnc] Print table limits */
 (trv_tbl_sct * const trv_tbl);        /* I/O [sct] Traversal table */
 
 void
@@ -594,6 +577,7 @@ nco_bld_trv_tbl                       /* [fnc] Construct GTT, Group Traversal Ta
  const nco_bool flg_unn,              /* I [flg] Select union of specified groups and variables */
  const nco_bool EXCLUDE_INPUT_LIST,   /* I [flg] Exclude rather than extract groups and variables specified with -v */ 
  const nco_bool EXTRACT_ASSOCIATED_COORDINATES,  /* I [flg] Extract all coordinates associated with extracted variables? */ 
+ nco_dmn_dne_t **flg_dne,             /* I/O [lst] Flag to check if input dimension -d "does not exist" */
  trv_tbl_sct * const trv_tbl);        /* I/O [sct] Traversal table */
 
 void
@@ -607,7 +591,7 @@ nco_bld_lmt                           /* [fnc] Assign user specified dimension l
 
 
 void 
-nco_msa_var_get_elm_trv             /* [fnc] Read a used defined limit */
+nco_msa_var_get_lmn_trv             /* [fnc] Read a used 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 (trv_tbl->lmt_rec[idx_rec]->nm_fll ) */
@@ -699,10 +683,117 @@ nco_var_has_cf                        /* [fnc] Variable has CF-compliant informa
  nco_bool *flg_cf_fnd);               /* I/O [flg] CF variable was found */
 
 void
+nco_chk_dmn                           /* [fnc] Check valid dimension names */
+(const int lmt_nbr,                   /* I [nbr] number of dimensions with limits */
+ nco_dmn_dne_t * flg_dne);            /* I [lst] Flag to check if input dimension -d "does not exist" */
+
+void
+nco_chk_dmn_in                        /* [fnc] Check input dimensions */
+(int lmt_nbr,                         /* I [nbr] Number of user-specified dimension limits */
+ lmt_sct **lmt,                       /* I [sct] Structure comming from nco_lmt_prs() */
+ nco_dmn_dne_t **dne_lst,             /* I/O [lst] Flag to check if input dimension -d "does not exist" */
+ const trv_tbl_sct * const trv_tbl);  /* I [sct] Traversal table */
+
+nco_bool                               /* O [flg] True if variable 1 is in scope of variable 2 */
+nco_var_scp                            /* [fnc] Is variable 1 is in scope of variable 2 */
+(const trv_sct * const var_trv_1,      /* I [sct] Variable 1 */
+ const trv_sct * const var_trv_2,      /* I [sct] Variable 2 */
+ const trv_tbl_sct * const trv_tbl);   /* I [sct] Traversal table */
+
+void
+nco_dmn_swap                           /* [fnc] Swap dimensions */
+(const char * const dmn_nm_1,          /* I [sng] Name of dimension 1 */
+ const char * const dmn_nm_2,          /* I [sng] Name of dimension 2 */
+ dmn_cmn_sct *dmn_cmn,                 /* I/O [sct] Dimension structure array */
+ const int nbr_dmn);                   /* I [nbr] Number of dimensions (size of above array) */
+
+void
+nco_dfn_dmn                            /* [fnc] Define dimension size and ID in array */
+(const char * const dmn_nm,            /* I [sng] Name of dimension */
+ const long dmn_sz,                    /* I [nbr] Size of dimension */
+ const int dmn_id,                     /* I [id] ID of dimension */
+ dmn_cmn_sct *dmn_cmn,                 /* I/O [sct] Dimension structure array */
+ const int nbr_dmn);                   /* I [nbr] Number of dimensions (size of above array) */
+
+int                                    /* O [enm] Comparison result [<,=,>] 0 iff val_1 [<,==,>] val_2 */
+nco_cmp_aux_crd_dpt                    /* [fnc] Compare two aux_crd_sct's by group depth */
+(const void *val_1,                    /* I [sct] aux_crd_sct * to compare */
+ const void *val_2);                   /* I [sct] aux_crd_sct * to compare */
+
+void
+nco_bld_crd_aux                        /* [fnc] Build auxiliary coordinates information into table */
+(const int nc_id,                      /* I [ID] netCDF file ID */
+ trv_tbl_sct *trv_tbl);                /* I [sct] GTT (Group Traversal Table) */
+
+void
+nco_lmt_aux_tbl                       /* [fnc] Apply limits to variable in table */
+(const int nc_id,                     /* I [ID] netCDF file ID */
+ lmt_sct **lmt,                       /* I [sct] Limits */
+ const int nbr_lmt,                   /* I [nbr] Number of limits */
+ const char * const var_nm_fll,       /* I [sng] Variable full name */
+ const int dmn_id,                    /* I [id] ID of dimension to apply the limits */
+ nco_bool FORTRAN_IDX_CNV,            /* I [flg] Hyperslab indices obey Fortran convention */
+ nco_bool MSA_USR_RDR,                /* I [flg] Multi-Slab Algorithm returns hyperslabs in user-specified order */
+ trv_tbl_sct * const trv_tbl);        /* I/O [sct] GTT (Group Traversal Table) */
+
+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 *nbr_dmn);                        /* I/O [nbr] Number of dimensions in group */
+
+void
+nco_lmt_std_att_lat_lon               /* [fnc] Apply limits to variable in table that contains 'standard_name' attribute "latitude" */
+(const int nc_id,                     /* I [ID] netCDF file ID */
+ lmt_sct **lmt,                       /* I [sct] Limits */
+ const int nbr_nbr,                   /* I [nbr] Number of limits */
+ const int dmn_id,                    /* I [id] ID of dimension to apply the limits */
+ nco_bool FORTRAN_IDX_CNV,            /* I [flg] Hyperslab indices obey Fortran convention */
+ nco_bool MSA_USR_RDR,                /* I [flg] Multi-Slab Algorithm returns hyperslabs in user-specified order */
+ trv_tbl_sct * const trv_tbl);       /* I/O [sct] GTT (Group Traversal Table) */
+
+void
+nco_lmt_aux                           /* [fnc] Apply auxiliary -X limits (Auxiliary function called by different functions ) */
+(const int nc_id,                     /* I [ID] netCDF file ID */
+ lmt_sct **lmt,                       /* I [sct] Limits */
+ const int nbr_nbr,                   /* I [nbr] Number of limits */
+ nco_bool FORTRAN_IDX_CNV,            /* I [flg] Hyperslab indices obey Fortran convention */
+ nco_bool MSA_USR_RDR,                /* I [flg] Multi-Slab Algorithm returns hyperslabs in user-specified order */
+ const int idx_tbl,                   /* I [nbr] Table index */
+ const int idx_dmn,                   /* I [nbr] Dimension index */
+ trv_tbl_sct * const trv_tbl);        /* I/O [sct] GTT (Group Traversal Table) */
+
+void
+nco_prn_var                           /* [fnc] Print variable (debug only) */
+(const int nc_id,                     /* I [ID] netCDF file ID (Input or output file) */
+ trv_tbl_sct * const trv_tbl);        /* I/O [sct] Traversal table */
+
+void
+nco_dmn_lmt                            /* [fnc] Convert a lmt_sct array to dmn_sct (name only) */
+(lmt_sct **lmt,                        /* I [lst] lmt_sct array  */
+ const int nbr_lmt,                    /* I [nbr] Size of lmt_sct array  */
+ dmn_sct ***dmn);                      /* O [sct] dmn_sct array  */
+
+void
+nco_nsm_dfn_wrt                       /* [fnc] Define OR write ensemble fixed variables */
+(const int nc_id,                     /* I [ID] netCDF input file ID */
+ const int nc_out_id,                 /* I [ID] netCDF output file ID */
+ const cnk_sct * const cnk,           /* I [sct] Chunking structure */
+ const int dfl_lvl,                   /* I [enm] Deflate level [0..9] */
+ const gpe_sct * const gpe,           /* I [sct] GPE structure */
+ const nco_bool flg_def,              /* [fnc] Define OR write */
+ trv_tbl_sct * const trv_tbl);        /* I/O [sct] Traversal table */
+
+
+void
 nco_nsm_ncr                           /* [fnc] Increase ensembles (more than 1 file cases) */
 (const int nc_id,                     /* I [id] netCDF file ID */
  trv_tbl_sct * const trv_tbl);        /* I/O [sct] Traversal table */
 
+void
+nco_prn_nsm                           /* [fnc] Print ensembles  */                                
+(const trv_tbl_sct * const trv_tbl);  /* I [sct] Traversal table */
+
 #ifdef __cplusplus
 } /* end extern "C" */
 #endif /* __cplusplus */
diff --git a/src/nco/nco_lmt.c b/src/nco/nco_lmt.c
index 66c312a..7c76f9f 100644
--- a/src/nco/nco_lmt.c
+++ b/src/nco/nco_lmt.c
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_lmt.c,v 1.200 2013/10/22 03:03:45 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_lmt.c,v 1.208 2014/02/14 05:22:17 zender Exp $ */
 
 /* Purpose: Hyperslab limits */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -15,7 +15,7 @@ nco_lmt_init /* [fnc] Initialize limit to NULL/invalid values */
   lmt->nm=NULL;              /* [sng] Dimension name */
   lmt->nm_fll=NULL;          /* [sng] Full dimension name */
   lmt->grp_nm_fll=NULL;      /* [sng] Full group where dimension is defined */
-  lmt->drn_sng=NULL;         /* [sng] User-specified string for dimension duration */
+  lmt->ssc_sng=NULL;         /* [sng] User-specified string for dimension subcycle */
   lmt->max_sng=NULL;         /* [sng] User-specified string for dimension maximum */
   lmt->min_sng=NULL;         /* [sng] User-specified string for dimension minimum */
   lmt->mro_sng=NULL;         /* [sng] User-specified string for multi-record output */
@@ -31,16 +31,16 @@ nco_lmt_init /* [fnc] Initialize limit to NULL/invalid values */
   lmt->lmt_typ=-1;           /* [enm] Limit type (0, Coordinate value limit, 1, Dimension index limit, 2, UDUnits string )  */
 
   lmt->cnt=-1;               /* [nbr] Valid elements in this dimension (including effects of stride and wrapping) */
-  lmt->drn=-1;               /* [nbr] Duration of hyperslab */
+  lmt->ssc=-1;               /* [nbr] Subcycle of hyperslab */
   lmt->end=-1;               /* [nbr] Index to end of hyperslab */
   lmt->max_idx=-1;           /* [nbr] Index of maximum requested value in dimension */
   lmt->min_idx=-1;           /* [nbr] Index of minimum requested value in dimension */
   lmt->rec_dmn_sz=-1;        /* [nbr] Number of records in this file (multi-file record dimension only) */
   lmt->rec_in_cml=-1;        /* [nbr] Cumulative number of records in all files opened so far (multi-file record dimension only) */
-  lmt->idx_end_max_abs=-1;   /* [[nbr]] Maximum allowed index in record dimension (multi-file record dimension only) */
+  lmt->idx_end_max_abs=-1;   /* [nbr] Maximum allowed index in record dimension (multi-file record dimension only) */
   lmt->rec_skp_ntl_spf=-1;   /* [nbr] Records skipped in initial superfluous files (multi-file record dimension only) */
   lmt->rec_skp_vld_prv=-1;   /* [nbr] Records skipped since previous good one (multi-file record dimension only) */
-  lmt->rec_rmn_prv_drn=-1;   /* [nbr] Records remaining-to-be-read to complete duration group from previous file (multi-file record dimension only) */
+  lmt->rec_rmn_prv_ssc=-1;   /* [nbr] Records remaining-to-be-read to complete subcycle group from previous file (multi-file record dimension only) */
   lmt->srd=-1;               /* [nbr] Stride of hyperslab */
   lmt->srt=-1;               /* [nbr] Index to start of hyperslab */
 
@@ -59,7 +59,7 @@ nco_lmt_prt /* [fnc] Print a Limit structure */
 (lmt_sct *lmt) /* I/O [sct] Limit structure to print */
 {
   (void)fprintf(stdout,"Name: %s\n",lmt->nm);
-  (void)fprintf(stdout,"User-specified string for dimension duration: %s\n",lmt->drn_sng);
+  (void)fprintf(stdout,"User-specified string for dimension subcycle: %s\n",lmt->ssc_sng);
   (void)fprintf(stdout,"User-specified string for dimension maximum : %s\n",lmt->max_sng);
   (void)fprintf(stdout,"User-specified string for dimension minimum: %s\n",lmt->min_sng);
   (void)fprintf(stdout,"User-specified string for multi-record output: %s\n",lmt->mro_sng);
@@ -75,7 +75,7 @@ nco_lmt_prt /* [fnc] Print a Limit structure */
   (void)fprintf(stdout,"Limit type: %d\n",lmt->lmt_typ);
 
   (void)fprintf(stdout,"Valid elements: %li\n",lmt->cnt);
-  (void)fprintf(stdout,"Duration of hyperslab: %li\n",lmt->drn);
+  (void)fprintf(stdout,"Subcycle of hyperslab: %li\n",lmt->ssc);
   (void)fprintf(stdout,"Index to end of hyperslab: %li\n",lmt->end);
   (void)fprintf(stdout,"Index of maximum requested value: %li\n",lmt->max_idx);
   (void)fprintf(stdout,"Index of minimum requested value: %li\n",lmt->min_idx);
@@ -84,7 +84,7 @@ nco_lmt_prt /* [fnc] Print a Limit structure */
   (void)fprintf(stdout,"Maximum allowed index in record dimension: %li\n",lmt->idx_end_max_abs);
   (void)fprintf(stdout,"Records skipped in initial superfluous files: %li\n",lmt->rec_skp_ntl_spf);
   (void)fprintf(stdout,"Records skipped since previous good one: %li\n",lmt->rec_skp_vld_prv);
-  (void)fprintf(stdout,"Records remaining-to-be-read: %li\n",lmt->rec_rmn_prv_drn);
+  (void)fprintf(stdout,"Records remaining-to-be-read: %li\n",lmt->rec_rmn_prv_ssc);
   (void)fprintf(stdout,"Stride of hyperslab: %li\n",lmt->srd);
   (void)fprintf(stdout,"Index to start of hyperslab: %li\n",lmt->srt);
 
@@ -115,7 +115,7 @@ nco_lmt_cpy /* [fnc] Deep-copy a Limit structure */
   if(lmt1->max_sng) lmt2->max_sng=(char *)strdup(lmt1->max_sng);
   if(lmt1->min_sng) lmt2->min_sng=(char *)strdup(lmt1->min_sng);
 
-  if(lmt1->drn_sng) lmt2->drn_sng=(char *)strdup(lmt1->drn_sng);      
+  if(lmt1->ssc_sng) lmt2->ssc_sng=(char *)strdup(lmt1->ssc_sng);      
   if(lmt1->mro_sng) lmt2->mro_sng=(char *)strdup(lmt1->mro_sng);
   if(lmt1->rbs_sng) lmt2->rbs_sng=(char *)strdup(lmt1->rbs_sng);
   if(lmt1->srd_sng) lmt2->srd_sng=(char *)strdup(lmt1->srd_sng);
@@ -129,7 +129,7 @@ nco_lmt_cpy /* [fnc] Deep-copy a Limit structure */
   lmt2->lmt_typ=lmt1->lmt_typ;
 
   lmt2->cnt=lmt1->cnt;
-  lmt2->drn=lmt1->drn;
+  lmt2->ssc=lmt1->ssc;
   lmt2->end=lmt1->end;
   lmt2->max_idx=lmt1->max_idx;
   lmt2->min_idx=lmt1->min_idx;
@@ -138,7 +138,7 @@ nco_lmt_cpy /* [fnc] Deep-copy a Limit structure */
   lmt2->idx_end_max_abs=lmt1->idx_end_max_abs;
   lmt2->rec_skp_ntl_spf=lmt1->rec_skp_ntl_spf;
   lmt2->rec_skp_vld_prv=lmt1->rec_skp_vld_prv;
-  lmt2->rec_rmn_prv_drn=lmt1->rec_rmn_prv_drn;
+  lmt2->rec_rmn_prv_ssc=lmt1->rec_rmn_prv_ssc;
   lmt2->srd=lmt1->srd;
   lmt2->srt=lmt1->srt;
 
@@ -162,7 +162,7 @@ nco_lmt_free /* [fnc] Free memory associated with limit structure */
   lmt->nm_fll=(char *)nco_free(lmt->nm_fll);
   lmt->grp_nm_fll=(char *)nco_free(lmt->grp_nm_fll);
 
-  lmt->drn_sng=(char *)nco_free(lmt->drn_sng);
+  lmt->ssc_sng=(char *)nco_free(lmt->ssc_sng);
   lmt->max_sng=(char *)nco_free(lmt->max_sng);
   lmt->min_sng=(char *)nco_free(lmt->min_sng);
   lmt->mro_sng=(char *)nco_free(lmt->mro_sng);
@@ -233,15 +233,15 @@ nco_lmt_sct_mk /* [fnc] Create stand-alone limit structure for given dimension *
  const nco_bool FORTRAN_IDX_CNV) /* I [flg] Hyperslab indices obey Fortran convention */
 {
   /* Purpose: Create stand-alone limit structure just for given dimension
-  ncra.c calls nco_lmt_sct_mk() to generate record dimension limit structure
-
-  This is a complex routine fundamental to most of NCO
-  It is easy to make subtle errors when changing it
-  Please ask CSZ to review any significant patches to this routine */
-
+     ncra.c calls nco_lmt_sct_mk() to generate record dimension limit structure
+     
+     This is a complex routine fundamental to most of NCO
+     It is easy to make subtle errors when changing it
+     Please ask CSZ to review any significant patches to this routine */
+  
   int idx;
   int rcd; /* [rcd] Return code */
-
+  
   lmt_sct *lmt_dim;
 
   lmt_dim=(lmt_sct *)nco_malloc(sizeof(lmt_sct));
@@ -250,11 +250,11 @@ nco_lmt_sct_mk /* [fnc] Create stand-alone limit structure for given dimension *
   lmt_dim->is_usr_spc_lmt=False; /* True if any part of limit is user-specified, else False */
   lmt_dim->is_usr_spc_max=False; /* True if user-specified, else False */
   lmt_dim->is_usr_spc_min=False; /* True if user-specified, else False */
-  /* rec_skp_ntl_spf, rec_skp_vld_prv, rec_in_cml, and rec_rmn_prv_drn only used for MFO record dimension */
+  /* rec_skp_ntl_spf, rec_skp_vld_prv, rec_in_cml, and rec_rmn_prv_ssc only used for MFO record dimension */
   lmt_dim->rec_skp_ntl_spf=0L; /* Number of records skipped in initial superfluous files */
   lmt_dim->rec_skp_vld_prv=0L; /* Number of records skipped since previous good one */
   lmt_dim->rec_in_cml=0L; /* Number of records, read or not, in previously processed files */
-  lmt_dim->rec_rmn_prv_drn=0L; /* Records remaining-to-be-read to complete duration group from previous file */
+  lmt_dim->rec_rmn_prv_ssc=0L; /* Records remaining-to-be-read to complete subcycle group from previous file */
 
   for(idx=0;idx<lmt_nbr;idx++){
     /* Copy user-specified limits, if any */
@@ -273,7 +273,7 @@ nco_lmt_sct_mk /* [fnc] Create stand-alone limit structure for given dimension *
         lmt_dim->is_usr_spc_min=True; /* True if user-specified, else False */
       } /* end if */
       if(lmt[idx]->srd_sng) lmt_dim->srd_sng=(char *)strdup(lmt[idx]->srd_sng); else lmt_dim->srd_sng=NULL;
-      if(lmt[idx]->drn_sng) lmt_dim->drn_sng=(char *)strdup(lmt[idx]->drn_sng); else lmt_dim->drn_sng=NULL;
+      if(lmt[idx]->ssc_sng) lmt_dim->ssc_sng=(char *)strdup(lmt[idx]->ssc_sng); else lmt_dim->ssc_sng=NULL;
       if(lmt[idx]->mro_sng) lmt_dim->mro_sng=(char *)strdup(lmt[idx]->mro_sng); else lmt_dim->mro_sng=NULL;
       lmt_dim->nm=(char *)strdup(lmt[idx]->nm);
       break;
@@ -297,23 +297,23 @@ nco_lmt_sct_mk /* [fnc] Create stand-alone limit structure for given dimension *
 
     lmt_dim->nm=(char *)strdup(dmn_nm);
     lmt_dim->srd_sng=NULL;
-    lmt_dim->drn_sng=NULL;
+    lmt_dim->ssc_sng=NULL;
     lmt_dim->mro_sng=NULL;
     /* Generate min and max strings to look as if user had specified them
-    Adjust accordingly if FORTRAN_IDX_CNV was requested for other dimensions
-    These sizes will later be decremented in nco_lmt_evl() where all information
-    is converted internally to C-based indexing representation.
-    Ultimately this problem arises because I want nco_lmt_evl() to think the
-    user always did specify this dimension's hyperslab.
-    Otherwise, problems arise when FORTRAN_IDX_CNV is specified by the user 
-    along with explicit hypersalbs for some dimensions excluding the record
-    dimension.
-    Then, when nco_lmt_sct_mk() creates the record dimension structure, it must
-    be created consistently with the FORTRAN_IDX_CNV flag for the other dimensions.
-    In order to do that, fill in max_sng, min_sng, and srd_sng
-    arguments with strings as if they had been read from keyboard.
-    An alternate solution is to add flag to lmt_sct indicating whether this
-    limit struct had been automatically generated and then act accordingly. */
+       Adjust accordingly if FORTRAN_IDX_CNV was requested for other dimensions
+       These sizes will later be decremented in nco_lmt_evl() where all information
+       is converted internally to C-based indexing representation.
+       Ultimately this problem arises because I want nco_lmt_evl() to think the
+       user always did specify this dimension's hyperslab.
+       Otherwise, problems arise when FORTRAN_IDX_CNV is specified by the user 
+       along with explicit hypersalbs for some dimensions excluding the record
+       dimension.
+       Then, when nco_lmt_sct_mk() creates the record dimension structure, it must
+       be created consistently with the FORTRAN_IDX_CNV flag for the other dimensions.
+       In order to do that, fill in max_sng, min_sng, and srd_sng
+       arguments with strings as if they had been read from keyboard.
+       An alternate solution is to add flag to lmt_sct indicating whether this
+       limit struct had been automatically generated and then act accordingly. */
     /* Decrement cnt to C-index value if necessary */
     if(!FORTRAN_IDX_CNV) cnt--; 
     if(cnt < 0L){
@@ -323,7 +323,7 @@ nco_lmt_sct_mk /* [fnc] Create stand-alone limit structure for given dimension *
       return False;
     } /* end if */
     /* cnt < 10 covers negative numbers and SIGFPE from log10(cnt==0) 
-    Adding 1 is required for cnt=10,100,1000... */
+       Adding 1 is required for cnt=10,100,1000... */
     if(cnt < 10L) max_sng_sz=1; else max_sng_sz=1+(int)ceil(log10((double)cnt));
     /* Add one for NUL terminator */
     lmt_dim->max_sng=(char *)nco_malloc(sizeof(char)*(max_sng_sz+1));
@@ -345,10 +345,10 @@ nco_lmt_prs /* [fnc] Create limit structures with name, min_sng, max_sng element
  CST_X_PTR_CST_PTR_CST_Y(char,lmt_arg)) /* I [sng] List of user-specified dimension limits */
 {
   /* Purpose: Set name, min_sng, max_sng elements of comma separated list of names and ranges. 
-  Routine merely evaluates syntax of input expressions and does validate dimensions or
-  ranges against those present in input netCDF file. */
+     Routine merely evaluates syntax of input expressions and does validate dimensions or
+     ranges against those present in input netCDF file. */
 
-  /* Valid syntax adheres to nm,[min_sng][,[max_sng][,[srd_sng][,[drn_sng]]]] */
+  /* Valid syntax adheres to nm,[min_sng][,[max_sng][,[srd_sng][,[ssc_sng]]]] */
 
   char **arg_lst;
 
@@ -387,8 +387,8 @@ nco_lmt_prs /* [fnc] Create limit structures with name, min_sng, max_sng element
     }else if(arg_nbr == 4 && arg_lst[3] == NULL){ /* Stride should be specified */
       msg_sng=strdup("Stride must be specified (and be a positive integer)");
       NCO_SYNTAX_ERROR=True;
-    }else if(arg_nbr == 5 && arg_lst[4] == NULL){ /* Duration should be specified */
-      msg_sng=strdup("Duration must be specified (and be a positive integer)");
+    }else if(arg_nbr == 5 && arg_lst[4] == NULL){ /* Subcycle should be specified */
+      msg_sng=strdup("Subcycle must be specified (and be a positive integer)");
       NCO_SYNTAX_ERROR=True;
     }else if(arg_nbr == 6 && arg_lst[5] == NULL){ /* Group-mode should be specified */
       msg_sng=strdup("Group-mode must be specified (as 'm' or 'M')");
@@ -403,12 +403,12 @@ nco_lmt_prs /* [fnc] Create limit structures with name, min_sng, max_sng element
 
     /* Initialize structure */
     /* lmt strings that are not explicitly set by user remain NULL, i.e., 
-    specifying default setting will appear as if nothing at all was set.
-    Hopefully, in routines that follow, branch followed when dimension has
-    all default settings specified (e.g.,"-d foo,,,,") yields same answer
-    as branch for which no hyperslab along that dimension was set. */
+       specifying default setting will appear as if nothing at all was set.
+       Hopefully, in routines that follow, branch followed when dimension has
+       all default settings specified (e.g.,"-d foo,,,,") yields same answer
+       as branch for which no hyperslab along that dimension was set. */
     lmt[idx]=(lmt_sct *)nco_malloc(sizeof(lmt_sct));
-
+    
     /* Initialize to NULL/invalid */
     (void)nco_lmt_init(lmt[idx]);
 
@@ -417,7 +417,7 @@ nco_lmt_prs /* [fnc] Create limit structures with name, min_sng, max_sng element
     lmt[idx]->min_sng=NULL;
     lmt[idx]->max_sng=NULL;
     lmt[idx]->srd_sng=NULL;
-    lmt[idx]->drn_sng=NULL;
+    lmt[idx]->ssc_sng=NULL;
     lmt[idx]->mro_sng=NULL;
     /* rec_skp_ntl_spf is used for record dimension in multi-file operators */
     lmt[idx]->rec_skp_ntl_spf=0L; /* Number of records skipped in initial superfluous files */
@@ -429,7 +429,7 @@ nco_lmt_prs /* [fnc] Create limit structures with name, min_sng, max_sng element
     if(arg_nbr <= 2) lmt[idx]->max_sng=(char *)strdup(arg_lst[1]);
     if(arg_nbr > 2) lmt[idx]->max_sng=arg_lst[2]; 
     if(arg_nbr > 3) lmt[idx]->srd_sng=arg_lst[3];
-    if(arg_nbr > 4) lmt[idx]->drn_sng=arg_lst[4];
+    if(arg_nbr > 4) lmt[idx]->ssc_sng=arg_lst[4];
     if(arg_nbr > 5) lmt[idx]->mro_sng=arg_lst[5];
 
     if(lmt[idx]->max_sng == NULL) lmt[idx]->is_usr_spc_max=False; else lmt[idx]->is_usr_spc_max=True;
@@ -440,11 +440,11 @@ nco_lmt_prs /* [fnc] Create limit structures with name, min_sng, max_sng element
     lmt[idx]->rbs_sng=NULL_CEWI;
     lmt[idx]->lmt_cln=cln_nil;
 
-    /* 20130903: Initialize cumulative number of records in all files opened so far (multi-file record dimension only) */
+    /* 20130903: Initialize cumulative number of records in all files opened so far (multi-file record dimension only) */
     lmt[idx]->rec_in_cml=0L;
 
     /* Free current pointer array to strings, leaving untouched the strings themselves
-    They will be free()'d with limit structures in nco_lmt_lst_free() */
+       They will be free()'d with limit structures in nco_lmt_lst_free() */
     arg_lst=(char **)nco_free(arg_lst);
   } /* End loop over lmt structure list */
 
@@ -509,7 +509,7 @@ nco_lmt_get_udu_att /* Returns specified attribute otherwise NULL */
 } /* end nco_lmt_get_udu_att() */
 
 void
-nco_prt_lmt                    /* [fnc] Print limit information */
+nco_prn_lmt                    /* [fnc] Print limit information */
 (lmt_sct lmt,                  /* I [sct] Limit structure */
  int min_lmt_typ,              /* I [nbr] Limit type */
  nco_bool FORTRAN_IDX_CNV,     /* I [flg] Hyperslab indices obey Fortran convention */
@@ -539,8 +539,8 @@ nco_prt_lmt                    /* [fnc] Print limit information */
   (void)fprintf(stderr,"min_sng = %s\n",lmt.min_sng == NULL ? "NULL" : lmt.min_sng);
   (void)fprintf(stderr,"max_sng = %s\n",lmt.max_sng == NULL ? "NULL" : lmt.max_sng);
   (void)fprintf(stderr,"srd_sng = %s\n",lmt.srd_sng == NULL ? "NULL" : lmt.srd_sng);
-  (void)fprintf(stderr,"drn_sng = %s\n",lmt.drn_sng == NULL ? "NULL" : lmt.drn_sng);
-  (void)fprintf(stderr,"mro_sng = %s\n",lmt.drn_sng == NULL ? "NULL" : lmt.mro_sng);
+  (void)fprintf(stderr,"ssc_sng = %s\n",lmt.ssc_sng == NULL ? "NULL" : lmt.ssc_sng);
+  (void)fprintf(stderr,"mro_sng = %s\n",lmt.ssc_sng == NULL ? "NULL" : lmt.mro_sng);
   (void)fprintf(stderr,"monotonic_direction = %s\n",(monotonic_direction == not_checked) ? "not checked" : (monotonic_direction == increasing) ? "increasing" : "decreasing");
   (void)fprintf(stderr,"min_val = %g\n",lmt.min_val);
   (void)fprintf(stderr,"max_val = %g\n",lmt.max_val);
@@ -550,16 +550,16 @@ nco_prt_lmt                    /* [fnc] Print limit information */
   (void)fprintf(stderr,"end = %li\n",lmt.end);
   (void)fprintf(stderr,"cnt = %li\n",lmt.cnt);
   (void)fprintf(stderr,"srd = %li\n",lmt.srd);
-  (void)fprintf(stderr,"drn = %li\n",lmt.drn);
+  (void)fprintf(stderr,"ssc = %li\n",lmt.ssc);
   (void)fprintf(stderr,"WRP = %s\n",lmt.srt > lmt.end ? "YES" : "NO");
   (void)fprintf(stderr,"SRD = %s\n",lmt.srd != 1L ? "YES" : "NO");
-  (void)fprintf(stderr,"DRN = %s\n",lmt.drn != 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");
 }
 
 void
 nco_lmt_evl /* [fnc] Parse user-specified limits into hyperslab specifications */
-(int nc_id, /* I [idx] netCDF file ID */
+(const int grp_id, /* I [idx] netCDF group ID */
  lmt_sct *lmt_ptr, /* I/O [sct] Structure from nco_lmt_prs() or from nco_lmt_sct_mk() to hold dimension limit information */
  long rec_usd_cml, /* I [nbr] Number of valid records already processed (only used for record dimensions in multi-file operators) */
  nco_bool FORTRAN_IDX_CNV) /* I [flg] Hyperslab indices obey Fortran convention */
@@ -606,12 +606,12 @@ nco_lmt_evl /* [fnc] Parse user-specified limits into hyperslab specifications *
   lmt.flg_mro=False;
   lmt.max_val=0.0;
   lmt.min_val=0.0;
-  lmt.drn=1L;
+  lmt.ssc=1L;
   lmt.srd=1L;
   lmt.flg_input_complete=False;
 
-  /* Get dimension ID */
-  rcd=nco_inq_dimid_flg(nc_id,lmt.nm,&lmt.id);
+  /* Get dimension ID from name */
+  rcd=nco_inq_dimid_flg(grp_id,lmt.nm,&lmt.id);
   if(rcd != NC_NOERR){
     (void)fprintf(stdout,"%s: ERROR dimension %s is not in input file\n",nco_prg_nm_get(),lmt.nm);
     nco_exit(EXIT_FAILURE);
@@ -623,32 +623,26 @@ nco_lmt_evl /* [fnc] Parse user-specified limits into hyperslab specifications *
      the limit is a record limit may be tested.
      Program defensively and define this flag in all cases. */
 
-  (void)nco_inq_format(nc_id,&fl_fmt);
+  (void)nco_inq_format(grp_id,&fl_fmt);
 
-   /* Obtain unlimited dimensions */
-  (void)nco_inq_unlimdims(nc_id,&nbr_dmn_ult,dmn_ids_ult);
+   /* Obtain unlimited dimensions for group */
+  (void)nco_inq_unlimdims(grp_id,&nbr_dmn_ult,dmn_ids_ult);
 
   rec_dmn_id=-1; 
 
   if(fl_fmt == NC_FORMAT_NETCDF4){
-    /* Loop dimensions */
-    for(int idx_dmn=0;idx_dmn<nbr_dmn_ult;idx_dmn++){
-      /* Match ID found by name; name is the same for multi -file operators  */
-      if (lmt.id == dmn_ids_ult[idx_dmn]){
-        rec_dmn_id=dmn_ids_ult[idx_dmn];
-      } /* Match ID found by name  */
-    } /* Loop dimensions */
-
-    /* NetCDF3 case */
-  } else {
+    for(int idx_dmn=0;idx_dmn<nbr_dmn_ult;idx_dmn++)
+      /* Match IDs to get the ID of the record (both IDs from 'dmn_ids_ult' and 'lmt' are obtained here, and function is called on ncra file loop */
+      if(lmt.id == dmn_ids_ult[idx_dmn]) rec_dmn_id=dmn_ids_ult[idx_dmn];
+  }else{
     rec_dmn_id=dmn_ids_ult[0];
-  } /* NetCDF3 case */
+  } /* !netCDF4 */
 
   if(lmt.id == rec_dmn_id) lmt.is_rec_dmn=True; else lmt.is_rec_dmn=False;
   if(lmt.is_rec_dmn && (nco_prg_id == ncra || nco_prg_id == ncrcat)) rec_dmn_and_mfo=True; else rec_dmn_and_mfo=False;
 
   /* Get dimension size */
-  (void)nco_inq_dimlen(nc_id,lmt.id,&dim.sz);
+  (void)nco_inq_dimlen(grp_id,lmt.id,&dim.sz);
 
   /* Shortcut to avoid indirection */
   dmn_sz=dim.sz;
@@ -676,22 +670,22 @@ nco_lmt_evl /* [fnc] Parse user-specified limits into hyperslab specifications *
     } /* end if */
   } /* !lmt.srd_sng */
 
-  if(lmt.drn_sng){
-    if(strchr(lmt.drn_sng,'.') || strchr(lmt.drn_sng,'e') || strchr(lmt.drn_sng,'E') || strchr(lmt.drn_sng,'d') || strchr(lmt.drn_sng,'D')){
-      (void)fprintf(stdout,"%s: ERROR Requested duration for %s, %s, must be integer\n",nco_prg_nm_get(),lmt.nm,lmt.drn_sng);
+  if(lmt.ssc_sng){
+    if(strchr(lmt.ssc_sng,'.') || strchr(lmt.ssc_sng,'e') || strchr(lmt.ssc_sng,'E') || strchr(lmt.ssc_sng,'d') || strchr(lmt.ssc_sng,'D')){
+      (void)fprintf(stdout,"%s: ERROR Requested subcycle for %s, %s, must be integer\n",nco_prg_nm_get(),lmt.nm,lmt.ssc_sng);
       nco_exit(EXIT_FAILURE);
     } /* end if */
-    lmt.drn=strtol(lmt.drn_sng,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
-    if(*sng_cnv_rcd) nco_sng_cnv_err(lmt.drn_sng,"strtol",sng_cnv_rcd);
-    if(lmt.drn < 1L){
-      (void)fprintf(stdout,"%s: ERROR Duration for %s is %li but must be > 0\n",nco_prg_nm_get(),lmt.nm,lmt.drn);
+    lmt.ssc=strtol(lmt.ssc_sng,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
+    if(*sng_cnv_rcd) nco_sng_cnv_err(lmt.ssc_sng,"strtol",sng_cnv_rcd);
+    if(lmt.ssc < 1L){
+      (void)fprintf(stdout,"%s: ERROR Subcycle for %s is %li but must be > 0\n",nco_prg_nm_get(),lmt.nm,lmt.ssc);
       nco_exit(EXIT_FAILURE);
     } /* end if */
     if(nco_prg_id != ncra && nco_prg_id != ncrcat){
-      (void)fprintf(stdout,"%s: ERROR Duration only implemented for ncra and ncrcat\n",nco_prg_nm_get());
+      (void)fprintf(stdout,"%s: ERROR Subcycle only implemented for ncra and ncrcat\n",nco_prg_nm_get());
       nco_exit(EXIT_FAILURE);
     } /* end ncra */
-  } /* !lmt.drn_sng */
+  } /* !lmt.ssc_sng */
 
   if(lmt.mro_sng){
     if(strcasecmp(lmt.mro_sng,"m")){
@@ -701,7 +695,7 @@ nco_lmt_evl /* [fnc] Parse user-specified limits into hyperslab specifications *
     lmt.flg_mro=True;
   } /* !lmt.mro_sng */
 
-  /* In case flg_mro is set in ncra2.c by --mro */
+  /* In case flg_mro is set in ncra.c by --mro */
   if(lmt.flg_mro){
     if(nco_prg_id == ncrcat){
       (void)fprintf(stdout,"%s: INFO Specifying Multi-Record Output (MRO) option ('m', 'M', or --mro) is redundant. MRO is always true for ncrcat.\n",nco_prg_nm_get());
@@ -718,17 +712,17 @@ nco_lmt_evl /* [fnc] Parse user-specified limits into hyperslab specifications *
   }else{
     /* min_sng and max_sng are not both NULL */
     /* Limit is coordinate value if string contains decimal point or is in exponential format 
-    Otherwise limit is interpreted as zero-based dimension offset */
+       Otherwise limit is interpreted as zero-based dimension offset */
     if(lmt.min_sng) min_lmt_typ=nco_lmt_typ(lmt.min_sng);
     if(lmt.max_sng) max_lmt_typ=nco_lmt_typ(lmt.max_sng);
 
     /* Copy lmt_typ from defined limit to undefined */
-    if(lmt.min_sng == NULL) min_lmt_typ=max_lmt_typ;
-    if(lmt.max_sng == NULL) max_lmt_typ=min_lmt_typ;
+    if(!lmt.min_sng) min_lmt_typ=max_lmt_typ;
+    if(!lmt.max_sng) max_lmt_typ=min_lmt_typ;
   } /* end else */
 
   /* Both min_lmt_typ and max_lmt_typ are now defined
-  Continue only if both limits are of the same type */
+     Continue only if both limits are of the same type */
   if(min_lmt_typ != max_lmt_typ){
     (void)fprintf(stdout,"%s: ERROR -d %s,%s,%s\n",nco_prg_nm_get(),lmt.nm,lmt.min_sng,lmt.max_sng);
     (void)fprintf(stdout,"Limits on dimension \"%s\" must be of same numeric type:\n",lmt.nm);
@@ -742,12 +736,12 @@ nco_lmt_evl /* [fnc] Parse user-specified limits into hyperslab specifications *
   /* Coordinate re-basing code */
   lmt.origin=0.0;
   /* Get variable ID of coordinate */
-  rcd=nco_inq_varid_flg(nc_id,lmt.nm,&dim.cid);
+  rcd=nco_inq_varid_flg(grp_id,lmt.nm,&dim.cid);
   if(rcd == NC_NOERR){
     char *cln_sng=NULL_CEWI;
 
-    fl_udu_sng=nco_lmt_get_udu_att(nc_id,dim.cid,"units"); /* Units attribute of coordinate variable */
-    cln_sng=nco_lmt_get_udu_att(nc_id,dim.cid,"calendar"); /* Calendar attribute */
+    fl_udu_sng=nco_lmt_get_udu_att(grp_id,dim.cid,"units"); /* Units attribute of coordinate variable */
+    cln_sng=nco_lmt_get_udu_att(grp_id,dim.cid,"calendar"); /* Calendar attribute */
 
     if(rec_dmn_and_mfo && fl_udu_sng && lmt.rbs_sng){ 
 #ifdef ENABLE_UDUNITS
@@ -756,7 +750,7 @@ nco_lmt_evl /* [fnc] Parse user-specified limits into hyperslab specifications *
 #endif /* !ENABLE_UDUNITS */
     } /* endif */
 
-    /* ncra and ncrcat read the "calendar" attribute in main() 
+    /* ncra and ncrcat read "calendar" attribute in main() 
        Avoid multiple reads of calendar attribute in multi-file operations */
     if(!rec_dmn_and_mfo){
       if(cln_sng) lmt.lmt_cln=nco_cln_get_cln_typ(cln_sng); else lmt.lmt_cln=cln_nil;
@@ -776,12 +770,12 @@ nco_lmt_evl /* [fnc] Parse user-specified limits into hyperslab specifications *
     long dmn_srt=0L;
 
     /* Get coordinate type */
-    (void)nco_inq_vartype(nc_id,dim.cid,&dim.type);
+    (void)nco_inq_vartype(grp_id,dim.cid,&dim.type);
 
     /* Warn when coordinate type is weird */
     if(dim.type == NC_BYTE || dim.type == NC_UBYTE || dim.type == NC_CHAR || dim.type == NC_STRING) (void)fprintf(stderr,"\n%s: WARNING Coordinate %s is type %s. Dimension truncation is unpredictable.\n",nco_prg_nm_get(),lmt.nm,nco_typ_sng(dim.type));
 
-    /* if(lmt.drn != 1L) (void)fprintf(stderr,"\n%s: WARNING Hyperslabs for %s are based on coordinate values rather than dimension indices. The behavior of the duration hyperslab argument is ill-defined, unpredictable, and unsupported for coordinate-based hyperslabs. Only min, max, and stride are supported for coordinate-value based hyperslabbing. Duration may or may not work as you intend. Use at your own risk.\n",nco_prg_nm_get(),lmt.nm); */
+    /* if(lmt.ssc != 1L) (void)fprintf(stderr,"\n%s: WARNING Hyperslabs for %s are based on coordinate values rather than dimension indices. The behavior of the subcycle hyperslab argument is ill-defined, unpredictable, and unsupported for coordinate-based hyperslabs. Only min, max, and stride are supported for coordinate-value based hyperslabbing. Subcycle may or may not work as you intend. Use at your own risk.\n",nco_prg_nm_get(),lmt.nm); */
 
     /* Allocate enough space to hold coordinate */
     dmn_val_dp=(double *)nco_malloc(dmn_sz*nco_typ_lng(NC_DOUBLE));
@@ -791,10 +785,10 @@ nco_lmt_evl /* [fnc] Parse user-specified limits into hyperslab specifications *
 #endif /* _OPENMP */
     { /* begin OpenMP critical */
       /* Block is critical for identical in_id's
-      Block is thread-safe for distinct in_id's */
+	 Block is thread-safe for distinct in_id's */
       /* 20110221: replace nco_get_vara() with nc_get_vara_double() */
       /* Retrieve this coordinate */
-      nc_get_vara_double(nc_id,dim.cid,(const size_t *)&dmn_srt,(const size_t *)&dmn_sz,dmn_val_dp);
+      nc_get_vara_double(grp_id,dim.cid,(const size_t *)&dmn_srt,(const size_t *)&dmn_sz,dmn_val_dp);
     } /* end OpenMP critical */
 
     /* Officially change type */
@@ -864,20 +858,20 @@ nco_lmt_evl /* [fnc] Parse user-specified limits into hyperslab specifications *
 
     /* Fail when... */
     if(
-      /* Following condition added 20000508, changes behavior of single point 
-      hyperslabs depending on whether hyperslab occurs in record dimension
-      during multi-file operator operation.
-      Altered behavior of single point hyperslabs so that single point
-      hyperslabs in the record coordinate (i.e., -d time,1.0,1.0) may be
-      treated differently than single point hyperslabs in other
-      coordinates. Multifile operators will skip files if single point
-      hyperslabs in record coordinate lay outside record coordinate
-      range of file. For non-record coordinates (and for all operators
-      besides ncra and ncrcat on record coordinates), single point
-      hyperslabs will choose the closest value rather than skip the file
-      (I believe). This should be verified. */
-      /* User specified single point, coordinate is not wrapped, and both extrema fall outside valid crd range */
-      (rec_dmn_and_mfo && (lmt.min_val == lmt.max_val) && ((lmt.min_val > dmn_max) || (lmt.max_val < dmn_min))) ||
+       /* Following condition added 20000508, changes behavior of single point 
+	  hyperslabs depending on whether hyperslab occurs in record dimension
+	  during multi-file operator operation.
+	  Altered behavior of single point hyperslabs so that single point
+	  hyperslabs in the record coordinate (i.e., -d time,1.0,1.0) may be
+	  treated differently than single point hyperslabs in other
+	  coordinates. Multifile operators will skip files if single point
+	  hyperslabs in record coordinate lay outside record coordinate
+	  range of file. For non-record coordinates (and for all operators
+	  besides ncra and ncrcat on record coordinates), single point
+	  hyperslabs will choose the closest value rather than skip the file
+	  (I believe). This should be verified. */
+       /* User specified single point, coordinate is not wrapped, and both extrema fall outside valid crd range */
+       (rec_dmn_and_mfo && (lmt.min_val == lmt.max_val) && ((lmt.min_val > dmn_max) || (lmt.max_val < dmn_min))) ||
       /* User did not specify single point, coordinate is not wrapped, and either extrema falls outside valid crd range */
       ((lmt.min_val < lmt.max_val) && ((lmt.min_val > dmn_max) || (lmt.max_val < dmn_min))) ||
       /* User did not specify single point, coordinate is wrapped, and both extrema fall outside valid crd range */
@@ -917,15 +911,15 @@ nco_lmt_evl /* [fnc] Parse user-specified limits into hyperslab specifications *
     }else{ /* min_val != max_val */
 
       /* Bracket specified extrema:
-      Should no coordinate values match the given criteria, flag the index with -1L
-      We defined the valid syntax such that single half range with -1L is not an error
-      This causes "-d lon,100.0,-100.0" to select [-180.0] when lon=[-180.0,-90.0,0.0,90.0] 
-      because one of the specified half-ranges is valid (there are coordinates < -100.0).
-      However, "-d lon,100.0,-200.0" should fail when lon=[-180.0,-90.0,0.0,90.0] because both 
-      of the specified half-ranges are invalid (no coordinate is > 100.0 or < -200.0).
-      -1L flags are replaced with correct indices (0L or dmn_sz-1L) following search loop block.
-      Overwriting -1L flags with 0L or dmn_sz-1L later is more heuristic than setting them = 0L here,
-      since 0L is valid search result. */
+	 Should no coordinate values match the given criteria, flag the index with -1L
+	 We defined the valid syntax such that single half range with -1L is not an error
+	 This causes "-d lon,100.0,-100.0" to select [-180.0] when lon=[-180.0,-90.0,0.0,90.0] 
+	 because one of the specified half-ranges is valid (there are coordinates < -100.0).
+	 However, "-d lon,100.0,-200.0" should fail when lon=[-180.0,-90.0,0.0,90.0] because both 
+	 of the specified half-ranges are invalid (no coordinate is > 100.0 or < -200.0).
+	 -1L flags are replaced with correct indices (0L or dmn_sz-1L) following search loop block.
+	 Overwriting -1L flags with 0L or dmn_sz-1L later is more heuristic than setting them = 0L here,
+	 since 0L is valid search result. */
       if(monotonic_direction == increasing){
         if(lmt.min_sng){
           /* Find index of smallest coordinate greater than min_val */
@@ -940,11 +934,11 @@ nco_lmt_evl /* [fnc] Parse user-specified limits into hyperslab specifications *
           if(tmp_idx != -1L) lmt.max_idx=tmp_idx; else lmt.max_idx=-1L;
         } /* end if */
         /* 20110221: csz fix hyperslab bug TODO nco1007 triggered by
-        ncks -O -v lat -d lat,20.,20.001 ~/nco/data/in.nc ~/foo.nc
-        This returned all values but should have returned none
-        Algorithm was broken because, although valid min and max indices existed,
-        they contained the empty set. 
-        Now when this happens, set flg_no_data_err block */
+	   ncks -O -v lat -d lat,20.,20.001 ~/nco/data/in.nc ~/foo.nc
+	   This returned all values but should have returned none
+	   Algorithm was broken because, although valid min and max indices existed,
+	   they contained the empty set. 
+	   Now when this happens, set flg_no_data_err block */
         if( /* Points are not wrapped ... */
           (lmt.min_val < lmt.max_val) && 
           /* ... and valid indices were found for both bracketing points... */
@@ -974,8 +968,8 @@ nco_lmt_evl /* [fnc] Parse user-specified limits into hyperslab specifications *
       } /* end else monotonic_direction == decreasing */
 
       /* Case where both min_idx and max_idx = -1 was flagged as error above
-      Case of wrapped coordinate: Either, but not both, of min_idx or max_idx will be flagged with -1
-      See explanation above */
+	 Case of wrapped coordinate: Either, but not both, of min_idx or max_idx will be flagged with -1
+	 See explanation above */
       if(lmt.min_idx == -1L && (lmt.min_val > lmt.max_val)) lmt.min_idx=0L;
       if(lmt.max_idx == -1L && (lmt.min_val > lmt.max_val)) lmt.max_idx=dmn_sz-1L;
 
@@ -1024,22 +1018,22 @@ nco_lmt_evl /* [fnc] Parse user-specified limits into hyperslab specifications *
     /* Convert limit strings to zero-based indicial offsets */
 
     /* Specifying stride alone, but not min or max, is legal, e.g., -d time,,,2
-    Thus is_usr_spc_lmt may be True, even though one or both of min_sng, max_sng is NULL
-    Furthermore, both min_sng and max_sng are artifically created by nco_lmt_sct_mk()
-    for record dimensions when the user does not explicitly specify limits.
-    In this case, min_sng_and max_sng are non-NULL though no limits were specified
-    In fact, min_sng and max_sng are set to the minimum and maximum string
-    values of the first file processed.
-    However, we can tell if these strings were artificially generated because 
-    nco_lmt_sct_mk() sets the is_usr_spc_lmt flag to False in such cases.
-    Subsequent files may have different numbers of records, but nco_lmt_sct_mk()
-    is only called once.
-    Thus we must update min_idx and max_idx here for each file
-    This causes min_idx and max_idx to be out of sync with min_sng and max_sng, 
-    which are only set in nco_lmt_sct_mk() for the first file.
-    In hindsight, artificially generating min_sng and max_sng may be bad idea */
+       Thus is_usr_spc_lmt may be True, even though one or both of min_sng, max_sng is NULL
+       Furthermore, both min_sng and max_sng are artifically created by nco_lmt_sct_mk()
+       for record dimensions when the user does not explicitly specify limits.
+       In this case, min_sng_and max_sng are non-NULL though no limits were specified
+       In fact, min_sng and max_sng are set to the minimum and maximum string
+       values of the first file processed.
+       However, we can tell if these strings were artificially generated because 
+       nco_lmt_sct_mk() sets the is_usr_spc_lmt flag to False in such cases.
+       Subsequent files may have different numbers of records, but nco_lmt_sct_mk()
+       is only called once.
+       Thus we must update min_idx and max_idx here for each file
+       This causes min_idx and max_idx to be out of sync with min_sng and max_sng, 
+       which are only set in nco_lmt_sct_mk() for the first file.
+       In hindsight, artificially generating min_sng and max_sng may be bad idea */
     /* Following logic is messy, but hard to simplify */
-    if(lmt.min_sng == NULL || !lmt.is_usr_spc_lmt){
+    if(!lmt.min_sng || !lmt.is_usr_spc_lmt){
       /* No user-specified value available--generate minimal dimension index */
       if(FORTRAN_IDX_CNV) lmt.min_idx=1L; else lmt.min_idx=0L;
     }else{
@@ -1047,7 +1041,7 @@ nco_lmt_evl /* [fnc] Parse user-specified limits into hyperslab specifications *
       lmt.min_idx=strtol(lmt.min_sng,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
       if(*sng_cnv_rcd) nco_sng_cnv_err(lmt.min_sng,"strtol",sng_cnv_rcd);
     } /* end if */
-    if(lmt.max_sng == NULL || !lmt.is_usr_spc_lmt){
+    if(!lmt.max_sng || !lmt.is_usr_spc_lmt){
       /* No user-specified value available---generate maximal dimension index */
       if(FORTRAN_IDX_CNV) lmt.max_idx=dmn_sz; else lmt.max_idx=dmn_sz-1L;
     }else{
@@ -1080,9 +1074,9 @@ nco_lmt_evl /* [fnc] Parse user-specified limits into hyperslab specifications *
     }else if(lmt.max_idx < 0L){
       msg_sng=strdup("Maximum index is too negative");
       NCO_SYNTAX_ERROR=True;
-    }else if(lmt.drn > lmt.srd){
-      (void)fprintf(stdout,"%s: ERROR User-specified duration exceeds stride for %s: %li > %li\n",nco_prg_nm_get(),lmt.nm,lmt.drn,lmt.srd);
-      msg_sng=strdup("Duration exceeds stride");
+    }else if(lmt.ssc > lmt.srd){
+      (void)fprintf(stdout,"%s: ERROR User-specified subcycle exceeds stride for %s: %li > %li\n",nco_prg_nm_get(),lmt.nm,lmt.ssc,lmt.srd);
+      msg_sng=strdup("Subcycle exceeds stride");
       NCO_SYNTAX_ERROR=True;
     }else if(!rec_dmn_and_mfo && lmt.min_idx >= dmn_sz){
       msg_sng=strdup("Minimum index greater than size in non-MFO");
@@ -1096,30 +1090,30 @@ nco_lmt_evl /* [fnc] Parse user-specified limits into hyperslab specifications *
       nco_exit(EXIT_FAILURE);
     } /* !NCO_SYNTAX_ERROR */
 
-    /* NB: Duration is officially supported only for ncra and ncrcat (record dimension only) */
-    if(lmt.drn != 1L && !rec_dmn_and_mfo) (void)fprintf(stderr,"%s: WARNING Duration argument is only supported for the record dimension on ncra and ncrcat operations\n",nco_prg_nm_get());
+    /* NB: Subcycle is officially supported only for ncra and ncrcat (record dimension only) */
+    if(lmt.ssc != 1L && !rec_dmn_and_mfo) (void)fprintf(stderr,"%s: WARNING Subcycle argument is only supported for the record dimension on ncra and ncrcat operations\n",nco_prg_nm_get());
 
     /* Logic depends on whether this is record dimension in multi-file operator */
     if(!rec_dmn_and_mfo || !lmt.is_usr_spc_lmt){
       /* For non-record dimensions and for record dimensions where limit 
-      was automatically generated (to include whole file), starting
-      and ending indices are simply minimum and maximum indices already 
-      in structure */
+	 was automatically generated (to include whole file), starting
+	 and ending indices are simply minimum and maximum indices already 
+	 in structure */
       lmt.srt=lmt.min_idx;
       lmt.end=lmt.max_idx;
     }else{
       /* Initialize rec_skp_vld_prv to 0L on first call to nco_lmt_evl() 
-      This is necessary due to intrinsic hysterisis of rec_skp_vld_prv
-      rec_skp_vld_prv is used only by multi-file operators
-      rec_skp_vld_prv counts records skipped at end of previous valid file
-      rec_usd_cml and rec_skp_ntl_spf are both zero only for first file */
+	 This is necessary due to intrinsic hysterisis of rec_skp_vld_prv
+	 rec_skp_vld_prv is used only by multi-file operators
+	 rec_skp_vld_prv counts records skipped at end of previous valid file
+	 rec_usd_cml and rec_skp_ntl_spf are both zero only for first file */
       if(rec_usd_cml == 0L && lmt.rec_skp_ntl_spf == 0L) lmt.rec_skp_vld_prv=0L;
-
+      
       /* For record dimensions with user-specified limit, allow possibility 
-      that limit pertains to record dimension in a multi-file operator.
-      Then user-specified maximum index may exceed number of records in any one file
-      Thus lmt.srt does not necessarily equal lmt.min_idx and 
-      lmt.end does not necessarily equal lmt.max_idx */
+	 that limit pertains to record dimension in a multi-file operator.
+	 Then user-specified maximum index may exceed number of records in any one file
+	 Thus lmt.srt does not necessarily equal lmt.min_idx and 
+	 lmt.end does not necessarily equal lmt.max_idx */
       /* NB: Stride is officially supported for ncks (all dimensions) and for ncra and ncrcat (record dimension only) */
       if(lmt.srd != 1L && nco_prg_id != ncks && !lmt.is_rec_dmn) (void)fprintf(stderr,"%s: WARNING Stride argument for non-record dimension is only supported by ncks, use at your own risk...\n",nco_prg_nm_get());
 
@@ -1133,16 +1127,6 @@ nco_lmt_evl /* [fnc] Parse user-specified limits into hyperslab specifications *
         /* Maximum allowed index in record dimension */
         lmt.idx_end_max_abs=end_max_lcl;
 
-        /* Are we past file containing end_max_lcl yet? */
-        if(end_max_lcl < lmt.rec_in_cml){
-          /* This and all subsequent files are superfluous because all requested records have already been read 
-          Optimize MFOs by checking "input complete" flag to jump out of file loop
-          Saves time because no other input files will be opened */
-          lmt.flg_input_complete=True;
-          flg_no_data_ok=True;
-          goto no_data_ok;
-        } /* endif past end_max_lcl */
-
         /* Have we reached file containing srt_min_lcl yet? */
         if(srt_min_lcl > lmt.rec_in_cml+dmn_sz-1L){
           /* This and all previous files are superfluous because the starting record is in a subsequent file */
@@ -1151,8 +1135,8 @@ nco_lmt_evl /* [fnc] Parse user-specified limits into hyperslab specifications *
         } /* endif srt_min_lcl in future file */
 
         /* Until records have been used, start index is srt_min_lcl adjusted for records contained in all previous files
-        Thereafter start index loses memory of/dependence on absolute start index, and only cares for how many records,
-        if any, were skipped since last valid record. This number, modulo stride, is new start index. */
+	   Thereafter start index loses memory of/dependence on absolute start index, and only cares for how many records,
+	   if any, were skipped since last valid record. This number, modulo stride, is new start index. */
         if(rec_usd_cml == 0L) lmt.srt=srt_min_lcl-lmt.rec_in_cml; else lmt.srt=lmt.srd-1L-lmt.rec_skp_vld_prv%lmt.srd;
 
         if(lmt.srt > dmn_sz-1L){
@@ -1163,6 +1147,32 @@ nco_lmt_evl /* [fnc] Parse user-specified limits into hyperslab specifications *
 
         lmt.end=(end_max_lcl < lmt.rec_in_cml+dmn_sz) ? end_max_lcl-lmt.rec_in_cml : dmn_sz-1L;
 
+	/* If lmt.srt <= lmt.end then then there are (may be?) valid records in current file
+	   If lmt.srt > lmt.end then all desired data (for this dimension) were definitely read in previous file(s)
+	   This happens when user-specified lmt.max_idx is not desired (because min_idx+N*stride skips over it)
+	   Then we would first find out right here that all desired data have been read
+	   Test for end_max_lcl above does not catch this case because we are _in_ (not beyond) file with end_max_lcl */
+
+        /* Are we past file containing end_max_lcl yet? */
+        if(end_max_lcl < lmt.rec_in_cml){
+          /* This and all subsequent files are superfluous because all requested records have already been read 
+	     Optimize MFOs by checking "input complete" flag to jump out of file loop
+	     Saves time because no other input files will be opened */
+          lmt.flg_input_complete=True;
+          flg_no_data_ok=True;
+          goto no_data_ok;
+        } /* endif past end_max_lcl */
+        
+        if((end_max_lcl < lmt.rec_in_cml) || /* Are we past file containing end_max_lcl yet? */
+	   (lmt.srt > lmt.end)){ /* Does stride put first index beyond last possible index? */
+          /* This and all subsequent files are superfluous because all requested records have already been read 
+	     Optimize MFOs by checking "input complete" flag to jump out of file loop
+	     Saves time because no other input files will be opened */
+          lmt.flg_input_complete=True;
+          flg_no_data_ok=True;
+          goto no_data_ok;
+        } /* endif already past end_max_lcl or will stride over end_max_lcl */
+
       } /* end block hides scope of local internal variables */
 
       /* If we are here then there are valid records in current file */
@@ -1172,7 +1182,7 @@ nco_lmt_evl /* [fnc] Parse user-specified limits into hyperslab specifications *
   } /* end else limit arguments are hyperslab indices */
 
   /* NB: MFO record dimension never reaches this block if current file is superfluous
-  In that case code has already branched down to flg_data_ok or flg_data_err */
+     In that case code has already branched down to flg_data_ok or flg_data_err */
   if(rec_dmn_and_mfo){ 
     /* NB: This is---and must be---performed as integer arithmetic */ 
     cnt_rmn_crr=1L+(lmt.end-lmt.srt)/lmt.srd;  
@@ -1185,8 +1195,8 @@ nco_lmt_evl /* [fnc] Parse user-specified limits into hyperslab specifications *
   } /* !rec_dmn_and_mfo */      
 
   /* Compute cnt from srt, end, and srd
-  This is fine for multi-file record dimensions since those operators read-in one
-  record at a time and thus never actually use lmt.cnt for record dimension. */
+     This is fine for multi-file record dimensions since those operators read-in one
+     record at a time and thus never actually use lmt.cnt for record dimension. */
   if(lmt.srd == 1L){
     if(lmt.srt <= lmt.end) lmt.cnt=lmt.end-lmt.srt+1L; else lmt.cnt=dmn_sz-lmt.srt+lmt.end+1L;
   }else{
@@ -1194,13 +1204,13 @@ nco_lmt_evl /* [fnc] Parse user-specified limits into hyperslab specifications *
   } /* end else */
 
   /* NB: Degenerate cases of WRP && SRD exist for which dmn_cnt_2 == 0
-  This occurs when srd is large enough, or max_idx small enough, 
-  such that no values are selected in the second read. 
-  e.g., "-d lon,60,0,10" if sz(lon)=128 has dmn_cnt_2 == 0
-  Since netCDF library reports an error reading and writing cnt=0 dimensions, kludge is necessary
-  Syntax ensures that it is always the second read, not the first, which is obviated
-  Therefore we convert these degenerate cases into non-wrapped coordinates to be processed by single read 
-  For these degenerate cases only, [srt,end] are not a permutation of [min_idx,max_idx] */
+     This occurs when srd is large enough, or max_idx small enough, 
+     such that no values are selected in the second read. 
+     e.g., "-d lon,60,0,10" if sz(lon)=128 has dmn_cnt_2 == 0
+     Since netCDF library reports an error reading and writing cnt=0 dimensions, kludge is necessary
+     Syntax ensures that it is always the second read, not the first, which is obviated
+     Therefore we convert these degenerate cases into non-wrapped coordinates to be processed by single read 
+     For these degenerate cases only, [srt,end] are not a permutation of [min_idx,max_idx] */
   if(
     (lmt.srd != 1L) && /* SRD */
     (lmt.srt > lmt.end) && /* WRP */
@@ -1223,12 +1233,12 @@ nco_lmt_evl /* [fnc] Parse user-specified limits into hyperslab specifications *
   } /* end if */
 
   /* Cases where domain brackets no data, in error, have counts set to zero here
-  This kludge allows codepaths for both WRP and out-of-domain to flow without goto statements
-  Out-of-domain errors will soon exit with error, while WRP conditions will proceed */
+     This kludge allows codepaths for both WRP and out-of-domain to flow without goto statements
+     Out-of-domain errors will soon exit with error, while WRP conditions will proceed */
   if(flg_no_data_err) lmt.cnt=0L;
 
   /* Exit when valid bracketed range contains no coordinates and that is not legal,
-  i.e., this is not a superfluous file in an MFO */
+     i.e., this is not a superfluous file in an MFO */
   if(lmt.cnt == 0){
     if(lmt.lmt_typ == lmt_crd_val) (void)fprintf(stdout,"%s: ERROR Domain %g <= %s <= %g brackets no coordinate values.\n",nco_prg_nm_get(),lmt.min_val,lmt.nm,lmt.max_val); 
     if(lmt.lmt_typ == lmt_dmn_idx) (void)fprintf(stdout,"%s: ERROR Empty domain for %s\n",nco_prg_nm_get(),lmt.nm); 
@@ -1236,15 +1246,15 @@ nco_lmt_evl /* [fnc] Parse user-specified limits into hyperslab specifications *
   } /* end if */
 
   /* Coordinate-valued limits that bracket no values in current file jump here with goto
-  Index-valued limits with no values in current file flow here naturally */
+     Index-valued limits with no values in current file flow here naturally */
 no_data_ok: /* end goto */
   if(flg_no_data_ok){
     /* File is superfluous (contributes no data) to specified hyperslab
-    Set output parameters to well-defined state
-    This state must not cause ncra or ncrcat to retrieve any data
-    ncra and ncrcat use loops for the record dimension, so this is
-    accomplished by setting loop control values (lmt_rec.srt > lmt_rec.end)
-    that cause record loop always to be skipped (never entered) */
+       Set output parameters to well-defined state
+       This state must not cause ncra or ncrcat to retrieve any data
+       ncra and ncrcat use loops for the record dimension, so this is
+       accomplished by setting loop control values (lmt_rec.srt > lmt_rec.end)
+       that cause record loop always to be skipped (never entered) */
     lmt.srt=-1L;
     lmt.end=lmt.srt-1L;
     lmt.cnt=-1L;
@@ -1257,16 +1267,16 @@ no_data_ok: /* end goto */
   } /* endif */
 
   /* Accumulate count of records in all opened files, including this one
-  Increment here at end so this structure member includes records from current file 
-  only at end of this routine, where it can only be used diagnostically
-  NB: Location of this augmentation is important! Moving it would have side-effects! */
+     Increment here at end so this structure member includes records from current file 
+     only at end of this routine, where it can only be used diagnostically
+     NB: Location of this augmentation is important! Moving it would have side-effects! */
   lmt.rec_in_cml+=dmn_sz;
 
   /* Place contents of working structure in location of returned structure */
   *lmt_ptr=lmt;
 
   if(nco_dbg_lvl_get() == nco_dbg_old){
-    (void)nco_prt_lmt(lmt,min_lmt_typ,FORTRAN_IDX_CNV,flg_no_data_ok,rec_usd_cml,monotonic_direction,rec_dmn_and_mfo,cnt_rmn_ttl,cnt_rmn_crr,rec_skp_vld_prv_dgn);
+    (void)nco_prn_lmt(lmt,min_lmt_typ,FORTRAN_IDX_CNV,flg_no_data_ok,rec_usd_cml,monotonic_direction,rec_dmn_and_mfo,cnt_rmn_ttl,cnt_rmn_crr,rec_skp_vld_prv_dgn);
   } /* end dbg */
 
   if(lmt.srt > lmt.end && !flg_no_data_ok){
@@ -1354,7 +1364,7 @@ nco_lmt_evl_dmn_crd            /* [fnc] Parse user-specified limits into hypersl
   lmt.flg_mro=False;
   lmt.max_val=0.0;
   lmt.min_val=0.0;
-  lmt.drn=1L;
+  lmt.ssc=1L;
   lmt.srd=1L;
   lmt.flg_input_complete=False;
 
@@ -1413,22 +1423,22 @@ nco_lmt_evl_dmn_crd            /* [fnc] Parse user-specified limits into hypersl
     } /* end if */
   } /* !lmt.srd_sng */
 
-  if(lmt.drn_sng){
-    if(strchr(lmt.drn_sng,'.') || strchr(lmt.drn_sng,'e') || strchr(lmt.drn_sng,'E') || strchr(lmt.drn_sng,'d') || strchr(lmt.drn_sng,'D')){
-      (void)fprintf(stdout,"%s: ERROR Requested duration for %s, %s, must be integer\n",nco_prg_nm_get(),lmt.nm,lmt.drn_sng);
+  if(lmt.ssc_sng){
+    if(strchr(lmt.ssc_sng,'.') || strchr(lmt.ssc_sng,'e') || strchr(lmt.ssc_sng,'E') || strchr(lmt.ssc_sng,'d') || strchr(lmt.ssc_sng,'D')){
+      (void)fprintf(stdout,"%s: ERROR Requested subcycle for %s, %s, must be integer\n",nco_prg_nm_get(),lmt.nm,lmt.ssc_sng);
       nco_exit(EXIT_FAILURE);
     } /* end if */
-    lmt.drn=strtol(lmt.drn_sng,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
-    if(*sng_cnv_rcd) nco_sng_cnv_err(lmt.drn_sng,"strtol",sng_cnv_rcd);
-    if(lmt.drn < 1L){
-      (void)fprintf(stdout,"%s: ERROR Duration for %s is %li but must be > 0\n",nco_prg_nm_get(),lmt.nm,lmt.drn);
+    lmt.ssc=strtol(lmt.ssc_sng,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
+    if(*sng_cnv_rcd) nco_sng_cnv_err(lmt.ssc_sng,"strtol",sng_cnv_rcd);
+    if(lmt.ssc < 1L){
+      (void)fprintf(stdout,"%s: ERROR Subcycle for %s is %li but must be > 0\n",nco_prg_nm_get(),lmt.nm,lmt.ssc);
       nco_exit(EXIT_FAILURE);
     } /* end if */
     if(nco_prg_id != ncra && nco_prg_id != ncrcat){
-      (void)fprintf(stdout,"%s: ERROR Duration only implemented for ncra and ncrcat\n",nco_prg_nm_get());
+      (void)fprintf(stdout,"%s: ERROR Subcycle only implemented for ncra and ncrcat\n",nco_prg_nm_get());
       nco_exit(EXIT_FAILURE);
     } /* end ncra */
-  } /* !lmt.drn_sng */
+  } /* !lmt.ssc_sng */
 
   if(lmt.mro_sng){
     if(strcasecmp(lmt.mro_sng,"m")){
@@ -1438,7 +1448,7 @@ nco_lmt_evl_dmn_crd            /* [fnc] Parse user-specified limits into hypersl
     lmt.flg_mro=True;
   } /* !lmt.mro_sng */
 
-  /* In case flg_mro is set in ncra2.c by --mro */
+  /* In case flg_mro is set in ncra.c by --mro */
   if(lmt.flg_mro){
     if(nco_prg_id == ncrcat){
       (void)fprintf(stdout,"%s: INFO Specifying Multi-Record Output (MRO) option ('m', 'M', or --mro) is redundant. MRO is always true for ncrcat.\n",nco_prg_nm_get());
@@ -1480,7 +1490,7 @@ nco_lmt_evl_dmn_crd            /* [fnc] Parse user-specified limits into hypersl
   lmt.origin=0.0;
 
   /* If there is a coordinate variable */
-  if (is_crd){
+  if(is_crd){
 
     /* Get variable ID of coordinate. NOTE: using group ID */
     (void)nco_inq_varid(grp_id,lmt.nm,&dim.cid);
@@ -1498,14 +1508,13 @@ nco_lmt_evl_dmn_crd            /* [fnc] Parse user-specified limits into hypersl
     } /* endif */
 
     /* ncra and ncrcat read the "calendar" attribute in main() 
-    Avoid multiple reads of calendar attritbute in multi-file operations */
+       Avoid multiple reads of calendar attribute in multi-file operations */
     if(!rec_dmn_and_mfo){
       if(cln_sng) lmt.lmt_cln=nco_cln_get_cln_typ(cln_sng); else lmt.lmt_cln=cln_nil;
     } /* endif */
     if(cln_sng) cln_sng=(char *)nco_free(cln_sng);
   } /* End Needed only to read variable, if dimension is a coordinate variable */
 
-
   if((lmt.lmt_typ == lmt_crd_val) || (lmt.lmt_typ == lmt_udu_sng)){
     double *dmn_val_dp=NULL;
 
@@ -1528,7 +1537,7 @@ nco_lmt_evl_dmn_crd            /* [fnc] Parse user-specified limits into hypersl
 #endif /* _OPENMP */
     { /* begin OpenMP critical */
       /* Block is critical for identical in_id's
-      Block is thread-safe for distinct in_id's */
+	 Block is thread-safe for distinct in_id's */
       /* 20110221: replace nco_get_vara() with nc_get_vara_double() */
       /* Retrieve this coordinate */
       int rcd;
@@ -1594,7 +1603,7 @@ nco_lmt_evl_dmn_crd            /* [fnc] Parse user-specified limits into hypersl
       } /* !lmt.max_sng */
 
       /* Re-base coordinates as necessary in multi-file operatators (MFOs)
-      lmt.origin was calculated earlier in routine */
+	 lmt.origin was calculated earlier in routine */
       if(rec_dmn_and_mfo){ 
         if(lmt.min_sng) lmt.min_val-=lmt.origin;
         if(lmt.max_sng) lmt.max_val-=lmt.origin;   
@@ -1606,18 +1615,18 @@ nco_lmt_evl_dmn_crd            /* [fnc] Parse user-specified limits into hypersl
 
     /* Fail when... */
     if(
-      /* Following condition added 20000508, changes behavior of single point 
-      hyperslabs depending on whether hyperslab occurs in record dimension
-      during multi-file operator operation.
-      Altered behavior of single point hyperslabs so that single point
-      hyperslabs in the record coordinate (i.e., -d time,1.0,1.0) may be
-      treated differently than single point hyperslabs in other
-      coordinates. Multifile operators will skip files if single point
-      hyperslabs in record coordinate lay outside record coordinate
-      range of file. For non-record coordinates (and for all operators
-      besides ncra and ncrcat on record coordinates), single point
-      hyperslabs will choose the closest value rather than skip the file
-      (I believe). This should be verified. */
+       /* Following condition added 20000508, changes behavior of single point 
+	  hyperslabs depending on whether hyperslab occurs in record dimension
+	  during multi-file operator operation.
+	  Altered behavior of single point hyperslabs so that single point
+	  hyperslabs in the record coordinate (i.e., -d time,1.0,1.0) may be
+	  treated differently than single point hyperslabs in other
+	  coordinates. Multifile operators will skip files if single point
+	  hyperslabs in record coordinate lay outside record coordinate
+	  range of file. For non-record coordinates (and for all operators
+	  besides ncra and ncrcat on record coordinates), single point
+	  hyperslabs will choose the closest value rather than skip the file
+	  (I believe). This should be verified. */
       /* User specified single point, coordinate is not wrapped, and both extrema fall outside valid crd range */
       (rec_dmn_and_mfo && (lmt.min_val == lmt.max_val) && ((lmt.min_val > dmn_max) || (lmt.max_val < dmn_min))) ||
       /* User did not specify single point, coordinate is not wrapped, and either extrema falls outside valid crd range */
@@ -1659,15 +1668,15 @@ nco_lmt_evl_dmn_crd            /* [fnc] Parse user-specified limits into hypersl
     }else{ /* min_val != max_val */
 
       /* Bracket specified extrema:
-      Should no coordinate values match the given criteria, flag the index with -1L
-      We defined the valid syntax such that single half range with -1L is not an error
-      This causes "-d lon,100.0,-100.0" to select [-180.0] when lon=[-180.0,-90.0,0.0,90.0] 
-      because one of the specified half-ranges is valid (there are coordinates < -100.0).
-      However, "-d lon,100.0,-200.0" should fail when lon=[-180.0,-90.0,0.0,90.0] because both 
-      of the specified half-ranges are invalid (no coordinate is > 100.0 or < -200.0).
-      -1L flags are replaced with correct indices (0L or dmn_sz-1L) following search loop block.
-      Overwriting -1L flags with 0L or dmn_sz-1L later is more heuristic than setting them = 0L here,
-      since 0L is valid search result. */
+	 Should no coordinate values match the given criteria, flag the index with -1L
+	 We defined the valid syntax such that single half range with -1L is not an error
+	 This causes "-d lon,100.0,-100.0" to select [-180.0] when lon=[-180.0,-90.0,0.0,90.0] 
+	 because one of the specified half-ranges is valid (there are coordinates < -100.0).
+	 However, "-d lon,100.0,-200.0" should fail when lon=[-180.0,-90.0,0.0,90.0] because both 
+	 of the specified half-ranges are invalid (no coordinate is > 100.0 or < -200.0).
+	 -1L flags are replaced with correct indices (0L or dmn_sz-1L) following search loop block.
+	 Overwriting -1L flags with 0L or dmn_sz-1L later is more heuristic than setting them = 0L here,
+	 since 0L is valid search result. */
       if(monotonic_direction == increasing){
         if(lmt.min_sng){
           /* Find index of smallest coordinate greater than min_val */
@@ -1682,17 +1691,17 @@ nco_lmt_evl_dmn_crd            /* [fnc] Parse user-specified limits into hypersl
           if(tmp_idx != -1L) lmt.max_idx=tmp_idx; else lmt.max_idx=-1L;
         } /* end if */
         /* 20110221: csz fix hyperslab bug TODO nco1007 triggered by
-        ncks -O -v lat -d lat,20.,20.001 ~/nco/data/in.nc ~/foo.nc
-        This returned all values but should have returned none
-        Algorithm was broken because, although valid min and max indices existed,
-        they contained the empty set. 
-        Now when this happens, set flg_no_data_err block */
+	   ncks -O -v lat -d lat,20.,20.001 ~/nco/data/in.nc ~/foo.nc
+	   This returned all values but should have returned none
+	   Algorithm was broken because, although valid min and max indices existed,
+	   they contained the empty set. 
+	   Now when this happens, set flg_no_data_err block */
         if( /* Points are not wrapped ... */
-          (lmt.min_val < lmt.max_val) && 
-          /* ... and valid indices were found for both bracketing points... */
-          (lmt.min_idx != -1L && lmt.max_idx != -1L) &&
-          /* ...and indices contain empty set, i.e., min_idx > max_idx for increasing data... */
-          lmt.min_idx > lmt.max_idx) flg_no_data_err=True;
+	   (lmt.min_val < lmt.max_val) && 
+	   /* ... and valid indices were found for both bracketing points... */
+	   (lmt.min_idx != -1L && lmt.max_idx != -1L) &&
+	   /* ...and indices contain empty set, i.e., min_idx > max_idx for increasing data... */
+	   lmt.min_idx > lmt.max_idx) flg_no_data_err=True;
         /* end if monotonic_direction == increasing */
       }else{ /* monotonic_direction == decreasing */
         if(lmt.min_sng){
@@ -1716,8 +1725,8 @@ nco_lmt_evl_dmn_crd            /* [fnc] Parse user-specified limits into hypersl
       } /* end else monotonic_direction == decreasing */
 
       /* Case where both min_idx and max_idx = -1 was flagged as error above
-      Case of wrapped coordinate: Either, but not both, of min_idx or max_idx will be flagged with -1
-      See explanation above */
+	 Case of wrapped coordinate: Either, but not both, of min_idx or max_idx will be flagged with -1
+	 See explanation above */
       if(lmt.min_idx == -1L && (lmt.min_val > lmt.max_val)) lmt.min_idx=0L;
       if(lmt.max_idx == -1L && (lmt.min_val > lmt.max_val)) lmt.max_idx=dmn_sz-1L;
 
@@ -1766,20 +1775,20 @@ nco_lmt_evl_dmn_crd            /* [fnc] Parse user-specified limits into hypersl
     /* Convert limit strings to zero-based indicial offsets */
 
     /* Specifying stride alone, but not min or max, is legal, e.g., -d time,,,2
-    Thus is_usr_spc_lmt may be True, even though one or both of min_sng, max_sng is NULL
-    Furthermore, both min_sng and max_sng are artifically created by nco_lmt_sct_mk()
-    for record dimensions when the user does not explicitly specify limits.
-    In this case, min_sng_and max_sng are non-NULL though no limits were specified
-    In fact, min_sng and max_sng are set to the minimum and maximum string
-    values of the first file processed.
-    However, we can tell if these strings were artificially generated because 
-    nco_lmt_sct_mk() sets the is_usr_spc_lmt flag to False in such cases.
-    Subsequent files may have different numbers of records, but nco_lmt_sct_mk()
-    is only called once.
-    Thus we must update min_idx and max_idx here for each file
-    This causes min_idx and max_idx to be out of sync with min_sng and max_sng, 
-    which are only set in nco_lmt_sct_mk() for the first file.
-    In hindsight, artificially generating min_sng and max_sng may be bad idea */
+       Thus is_usr_spc_lmt may be True, even though one or both of min_sng, max_sng is NULL
+       Furthermore, both min_sng and max_sng are artifically created by nco_lmt_sct_mk()
+       for record dimensions when the user does not explicitly specify limits.
+       In this case, min_sng_and max_sng are non-NULL though no limits were specified
+       In fact, min_sng and max_sng are set to the minimum and maximum string
+       values of the first file processed.
+       However, we can tell if these strings were artificially generated because 
+       nco_lmt_sct_mk() sets the is_usr_spc_lmt flag to False in such cases.
+       Subsequent files may have different numbers of records, but nco_lmt_sct_mk()
+       is only called once.
+       Thus we must update min_idx and max_idx here for each file
+       This causes min_idx and max_idx to be out of sync with min_sng and max_sng, 
+       which are only set in nco_lmt_sct_mk() for the first file.
+       In hindsight, artificially generating min_sng and max_sng may be bad idea */
     /* Following logic is messy, but hard to simplify */
     if(lmt.min_sng == NULL || !lmt.is_usr_spc_lmt){
       /* No user-specified value available--generate minimal dimension index */
@@ -1822,9 +1831,9 @@ nco_lmt_evl_dmn_crd            /* [fnc] Parse user-specified limits into hypersl
     }else if(lmt.max_idx < 0L){
       msg_sng=strdup("Maximum index is too negative");
       NCO_SYNTAX_ERROR=True;
-    }else if(lmt.drn > lmt.srd){
-      (void)fprintf(stdout,"%s: ERROR User-specified duration exceeds stride for %s: %li > %li\n",nco_prg_nm_get(),lmt.nm,lmt.drn,lmt.srd);
-      msg_sng=strdup("Duration exceeds stride");
+    }else if(lmt.ssc > lmt.srd){
+      (void)fprintf(stdout,"%s: ERROR User-specified subcycle exceeds stride for %s: %li > %li\n",nco_prg_nm_get(),lmt.nm,lmt.ssc,lmt.srd);
+      msg_sng=strdup("Subcycle exceeds stride");
       NCO_SYNTAX_ERROR=True;
     }else if(!rec_dmn_and_mfo && lmt.min_idx >= dmn_sz){
       msg_sng=strdup("Minimum index greater than size in non-MFO");
@@ -1842,30 +1851,30 @@ nco_lmt_evl_dmn_crd            /* [fnc] Parse user-specified limits into hypersl
       nco_exit(EXIT_FAILURE);
     } /* !NCO_SYNTAX_ERROR */
 
-    /* NB: Duration is officially supported only for ncra and ncrcat (record dimension only) */
-    if(lmt.drn != 1L && !rec_dmn_and_mfo) (void)fprintf(stderr,"%s: WARNING Duration argument is only supported for the record dimension on ncra and ncrcat operations\n",nco_prg_nm_get());
+    /* NB: Subcycle is officially supported only for ncra and ncrcat (record dimension only) */
+    if(lmt.ssc != 1L && !rec_dmn_and_mfo) (void)fprintf(stderr,"%s: WARNING Subcycle argument is only supported for the record dimension on ncra and ncrcat operations\n",nco_prg_nm_get());
 
     /* Logic depends on whether this is record dimension in multi-file operator */
     if(!rec_dmn_and_mfo || !lmt.is_usr_spc_lmt){
       /* For non-record dimensions and for record dimensions where limit 
-      was automatically generated (to include whole file), starting
-      and ending indices are simply minimum and maximum indices already 
-      in structure */
+	 was automatically generated (to include whole file), starting
+	 and ending indices are simply minimum and maximum indices already 
+	 in structure */
       lmt.srt=lmt.min_idx;
       lmt.end=lmt.max_idx;
     }else{
       /* Initialize rec_skp_vld_prv to 0L on first call to nco_lmt_evl() 
-      This is necessary due to intrinsic hysterisis of rec_skp_vld_prv
-      rec_skp_vld_prv is used only by multi-file operators
-      rec_skp_vld_prv counts records skipped at end of previous valid file
-      rec_usd_cml and rec_skp_ntl_spf are both zero only for first file */
+	 This is necessary due to intrinsic hysterisis of rec_skp_vld_prv
+	 rec_skp_vld_prv is used only by multi-file operators
+	 rec_skp_vld_prv counts records skipped at end of previous valid file
+	 rec_usd_cml and rec_skp_ntl_spf are both zero only for first file */
       if(rec_usd_cml == 0L && lmt.rec_skp_ntl_spf == 0L) lmt.rec_skp_vld_prv=0L;
 
       /* For record dimensions with user-specified limit, allow possibility 
-      that limit pertains to record dimension in a multi-file operator.
-      Then user-specified maximum index may exceed number of records in any one file
-      Thus lmt.srt does not necessarily equal lmt.min_idx and 
-      lmt.end does not necessarily equal lmt.max_idx */
+	 that limit pertains to record dimension in a multi-file operator.
+	 Then user-specified maximum index may exceed number of records in any one file
+	 Thus lmt.srt does not necessarily equal lmt.min_idx and 
+	 lmt.end does not necessarily equal lmt.max_idx */
       /* NB: Stride is officially supported for ncks (all dimensions) and for ncra and ncrcat (record dimension only) */
       if(lmt.srd != 1L && nco_prg_id != ncks && !lmt.is_rec_dmn) (void)fprintf(stderr,"%s: WARNING Stride argument for non-record dimension is only supported by ncks, use at your own risk...\n",nco_prg_nm_get());
 
@@ -1882,8 +1891,8 @@ nco_lmt_evl_dmn_crd            /* [fnc] Parse user-specified limits into hypersl
         /* Are we past file containing end_max_lcl yet? */
         if(end_max_lcl < lmt.rec_in_cml){
           /* This and all subsequent files are superfluous because all requested records have already been read 
-          Optimize MFOs by checking "input complete" flag to jump out of file loop
-          Saves time because no other input files will be opened */
+	     Optimize MFOs by checking "input complete" flag to jump out of file loop
+	     Saves time because no other input files will be opened */
           lmt.flg_input_complete=True;
           flg_no_data_ok=True;
           goto no_data_ok;
@@ -1897,8 +1906,8 @@ nco_lmt_evl_dmn_crd            /* [fnc] Parse user-specified limits into hypersl
         } /* endif srt_min_lcl in future file */
 
         /* Until records have been used, start index is srt_min_lcl adjusted for records contained in all previous files
-        Thereafter start index loses memory of/dependence on absolute start index, and only cares for how many records,
-        if any, were skipped since last valid record. This number, modulo stride, is new start index. */
+	   Thereafter start index loses memory of/dependence on absolute start index, and only cares for how many records,
+	   if any, were skipped since last valid record. This number, modulo stride, is new start index. */
         if(rec_usd_cml == 0L) lmt.srt=srt_min_lcl-lmt.rec_in_cml; else lmt.srt=lmt.srd-1L-lmt.rec_skp_vld_prv%lmt.srd;
 
         if(lmt.srt > dmn_sz-1L){
@@ -1918,7 +1927,7 @@ nco_lmt_evl_dmn_crd            /* [fnc] Parse user-specified limits into hypersl
   } /* end else limit arguments are hyperslab indices */
 
   /* NB: MFO record dimension never reaches this block if current file is superfluous
-  In that case code has already branched down to flg_data_ok or flg_data_err */
+     In that case code has already branched down to flg_data_ok or flg_data_err */
   if(rec_dmn_and_mfo){ 
     /* NB: This is---and must be---performed as integer arithmetic */ 
     cnt_rmn_crr=1L+(lmt.end-lmt.srt)/lmt.srd;  
@@ -1931,8 +1940,8 @@ nco_lmt_evl_dmn_crd            /* [fnc] Parse user-specified limits into hypersl
   } /* !rec_dmn_and_mfo */      
 
   /* Compute cnt from srt, end, and srd
-  This is fine for multi-file record dimensions since those operators read-in one
-  record at a time and thus never actually use lmt.cnt for record dimension. */
+     This is fine for multi-file record dimensions since those operators read-in one
+     record at a time and thus never actually use lmt.cnt for record dimension. */
   if(lmt.srd == 1L){
     if(lmt.srt <= lmt.end) lmt.cnt=lmt.end-lmt.srt+1L; else lmt.cnt=dmn_sz-lmt.srt+lmt.end+1L;
   }else{
@@ -1940,13 +1949,13 @@ nco_lmt_evl_dmn_crd            /* [fnc] Parse user-specified limits into hypersl
   } /* end else */
 
   /* NB: Degenerate cases of WRP && SRD exist for which dmn_cnt_2 == 0
-  This occurs when srd is large enough, or max_idx small enough, 
-  such that no values are selected in the second read. 
-  e.g., "-d lon,60,0,10" if sz(lon)=128 has dmn_cnt_2 == 0
-  Since netCDF library reports an error reading and writing cnt=0 dimensions, kludge is necessary
-  Syntax ensures that it is always the second read, not the first, which is obviated
-  Therefore we convert these degenerate cases into non-wrapped coordinates to be processed by single read 
-  For these degenerate cases only, [srt,end] are not a permutation of [min_idx,max_idx] */
+     This occurs when srd is large enough, or max_idx small enough, 
+     such that no values are selected in the second read. 
+     e.g., "-d lon,60,0,10" if sz(lon)=128 has dmn_cnt_2 == 0
+     Since netCDF library reports an error reading and writing cnt=0 dimensions, kludge is necessary
+     Syntax ensures that it is always the second read, not the first, which is obviated
+     Therefore we convert these degenerate cases into non-wrapped coordinates to be processed by single read 
+     For these degenerate cases only, [srt,end] are not a permutation of [min_idx,max_idx] */
   if(
     (lmt.srd != 1L) && /* SRD */
     (lmt.srt > lmt.end) && /* WRP */
@@ -1969,12 +1978,12 @@ nco_lmt_evl_dmn_crd            /* [fnc] Parse user-specified limits into hypersl
   } /* end if */
 
   /* Cases where domain brackets no data, in error, have counts set to zero here
-  This kludge allows codepaths for both WRP and out-of-domain to flow without goto statements
-  Out-of-domain errors will soon exit with error, while WRP conditions will proceed */
+     This kludge allows codepaths for both WRP and out-of-domain to flow without goto statements
+     Out-of-domain errors will soon exit with error, while WRP conditions will proceed */
   if(flg_no_data_err) lmt.cnt=0L;
 
   /* Exit when valid bracketed range contains no coordinates and that is not legal,
-  i.e., this is not a superfluous file in an MFO */
+     i.e., this is not a superfluous file in an MFO */
   if(lmt.cnt == 0){
     if(lmt.lmt_typ == lmt_crd_val) (void)fprintf(stdout,"%s: ERROR Domain %g <= %s <= %g brackets no coordinate values.\n",nco_prg_nm_get(),lmt.min_val,lmt.nm,lmt.max_val); 
     if(lmt.lmt_typ == lmt_dmn_idx) (void)fprintf(stdout,"%s: ERROR Empty domain for %s\n",nco_prg_nm_get(),lmt.nm); 
@@ -1982,15 +1991,15 @@ nco_lmt_evl_dmn_crd            /* [fnc] Parse user-specified limits into hypersl
   } /* end if */
 
   /* Coordinate-valued limits that bracket no values in current file jump here with goto
-  Index-valued limits with no values in current file flow here naturally */
+     Index-valued limits with no values in current file flow here naturally */
 no_data_ok: /* end goto */
   if(flg_no_data_ok){
     /* File is superfluous (contributes no data) to specified hyperslab
-    Set output parameters to well-defined state
-    This state must not cause ncra or ncrcat to retrieve any data
-    ncra and ncrcat use loops for the record dimension, so this is
-    accomplished by setting loop control values (lmt_rec.srt > lmt_rec.end)
-    that cause record loop always to be skipped (never entered) */
+       Set output parameters to well-defined state
+       This state must not cause ncra or ncrcat to retrieve any data
+       ncra and ncrcat use loops for the record dimension, so this is
+       accomplished by setting loop control values (lmt_rec.srt > lmt_rec.end)
+       that cause record loop always to be skipped (never entered) */
     lmt.srt=-1L;
     lmt.end=lmt.srt-1L;
     lmt.cnt=-1L;
@@ -2003,16 +2012,16 @@ no_data_ok: /* end goto */
   } /* endif */
 
   /* Accumulate count of records in all opened files, including this one
-  Increment here at end so this structure member includes records from current file 
-  only at end of this routine, where it can only be used diagnostically
-  NB: Location of this augmentation is important! Moving it would have side-effects! */
+     Increment here at end so this structure member includes records from current file 
+     only at end of this routine, where it can only be used diagnostically
+     NB: Location of this augmentation is important! Moving it would have side-effects! */
   lmt.rec_in_cml+=dmn_sz;
 
   /* Place contents of working structure in location of returned structure */
   *lmt_ptr=lmt;
 
   if(nco_dbg_lvl_get() == nco_dbg_old){
-    (void)nco_prt_lmt(lmt,min_lmt_typ,FORTRAN_IDX_CNV,flg_no_data_ok,rec_usd_cml,monotonic_direction,rec_dmn_and_mfo,cnt_rmn_ttl,cnt_rmn_crr,rec_skp_vld_prv_dgn);
+    (void)nco_prn_lmt(lmt,min_lmt_typ,FORTRAN_IDX_CNV,flg_no_data_ok,rec_usd_cml,monotonic_direction,rec_dmn_and_mfo,cnt_rmn_ttl,cnt_rmn_crr,rec_skp_vld_prv_dgn);
   } /* end dbg */
 
   if(lmt.srt > lmt.end && !flg_no_data_ok){
diff --git a/src/nco/nco_lmt.h b/src/nco/nco_lmt.h
index 2e9a7dd..e07795a 100644
--- a/src/nco/nco_lmt.h
+++ b/src/nco/nco_lmt.h
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_lmt.h,v 1.66 2013/06/08 06:31:40 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_lmt.h,v 1.69 2014/01/28 07:15:55 pvicente Exp $ */
 
 /* Purpose: Hyperslab limits */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -63,7 +63,7 @@ nco_lmt_cpy /* [fnc] Deep-copy a Limit structure */
 
 void
 nco_lmt_evl /* [fnc] Parse user-specified limits into hyperslab specifications */
-(int nc_id, /* I [idx] netCDF file ID */
+(const int grp_id, /* I [idx] netCDF group ID */
  lmt_sct *lmt_ptr, /* I/O [sct] Structure from nco_lmt_prs() or from nco_lmt_sct_mk() to hold dimension limit information */
  long cnt_crr, /* I [nbr] Number of valid records already processed (only used for record dimensions in multi-file operators) */
  nco_bool FORTRAN_IDX_CNV); /* I [flg] Hyperslab indices obey Fortran convention */
@@ -110,7 +110,7 @@ nco_lmt_typ /* [fnc] Determine limit type */
 (char *sng);/* I [ptr] Pointer to limit string */
 
 void
-nco_prt_lmt                    /* [fnc] Print limit information */
+nco_prn_lmt                    /* [fnc] Print limit information */
 (lmt_sct lmt,                  /* I [sct] Limit structure */
  int min_lmt_typ,              /* I [nbr] Limit type */
  nco_bool FORTRAN_IDX_CNV,     /* I [flg] Hyperslab indices obey Fortran convention */
diff --git a/src/nco/nco_lst_utl.c b/src/nco/nco_lst_utl.c
index d796287..95a4821 100644
--- a/src/nco/nco_lst_utl.c
+++ b/src/nco/nco_lst_utl.c
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_lst_utl.c,v 1.83 2013/10/22 03:03:46 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_lst_utl.c,v 1.84 2013/12/31 05:14:02 zender Exp $ */
 
 /* Purpose: List utilities */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco/nco_lst_utl.h b/src/nco/nco_lst_utl.h
index ec12192..3f35ae3 100644
--- a/src/nco/nco_lst_utl.h
+++ b/src/nco/nco_lst_utl.h
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_lst_utl.h,v 1.52 2013/06/17 05:24:33 pvicente Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_lst_utl.h,v 1.54 2014/01/06 06:46:05 zender Exp $ */
 
 /* Purpose: List utilities */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -24,7 +24,7 @@
 #ifdef HAVE_REGEX_H 
 /* 20120213: Linux GCC 4.6 man page says regex.h depends on (non-present) sys/types.h */
 # ifdef MACOSX
-#  include <sys/types.h> /* 20040822: Provide off_t required by Mac OS X regex.h */
+#  include <sys/types.h> /*19950312: _res, 20040822: Mac OS X off_t required by regex.h */
 # endif /* !MACOSX */
 # include <regex.h> /* POSIX regular expressions library */
 #endif /* HAVE_REGEX_H */
diff --git a/src/nco/nco_md5.c b/src/nco/nco_md5.c
index 603e315..578d911 100644
--- a/src/nco/nco_md5.c
+++ b/src/nco/nco_md5.c
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_md5.c,v 1.20 2013/10/22 03:03:46 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_md5.c,v 1.21 2013/12/31 05:14:02 zender Exp $ */
 
 /* Purpose: NCO utilities for MD5 digests */
 
-/* Copyright (C) 2012--2013 Charlie Zender
+/* Copyright (C) 2012--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -197,7 +197,7 @@ nco_md5_chk_ram /* [fnc] Perform MD5 digest on hyperslab in RAM */
   L. Peter Deutsch
   ghost at aladdin.com
 */
-/* $Id: nco_md5.c,v 1.20 2013/10/22 03:03:46 zender Exp $ */
+/* $Id: nco_md5.c,v 1.21 2013/12/31 05:14:02 zender Exp $ */
 /*
   Independent implementation of MD5 (RFC 1321).
   
diff --git a/src/nco/nco_md5.h b/src/nco/nco_md5.h
index 71e01a5..79f0135 100644
--- a/src/nco/nco_md5.h
+++ b/src/nco/nco_md5.h
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_md5.h,v 1.14 2013/07/25 19:50:58 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_md5.h,v 1.15 2013/12/31 05:14:02 zender Exp $ */
 
 /* Purpose: Description (definition) of MD5 digest functions */
 
-/* Copyright (C) 2012--2013 Charlie Zender
+/* Copyright (C) 2012--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -93,7 +93,7 @@ extern "C" {
   ghost at aladdin.com
   
 */
-/* $Id: nco_md5.h,v 1.14 2013/07/25 19:50:58 zender Exp $ */
+/* $Id: nco_md5.h,v 1.15 2013/12/31 05:14:02 zender Exp $ */
 /*
   Independent implementation of MD5 (RFC 1321).
   
diff --git a/src/nco/nco_mmr.c b/src/nco/nco_mmr.c
index ec22f56..700902b 100644
--- a/src/nco/nco_mmr.c
+++ b/src/nco/nco_mmr.c
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_mmr.c,v 1.63 2013/12/02 01:05:56 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_mmr.c,v 1.64 2013/12/31 05:14:02 zender Exp $ */
 
 /* Purpose: Memory management */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco/nco_mmr.h b/src/nco/nco_mmr.h
index f652f6c..bdb30b6 100644
--- a/src/nco/nco_mmr.h
+++ b/src/nco/nco_mmr.h
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_mmr.h,v 1.36 2013/06/25 19:31:46 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_mmr.h,v 1.37 2013/12/31 05:14:02 zender Exp $ */
 
 /* Purpose: Memory management */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco/nco_mpi.h b/src/nco/nco_mpi.h
index 34d0f50..544da82 100644
--- a/src/nco/nco_mpi.h
+++ b/src/nco/nco_mpi.h
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_mpi.h,v 1.21 2013/01/13 06:07:47 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_mpi.h,v 1.22 2013/12/31 05:14:02 zender Exp $ */
 
 /* Purpose: MPI utilities */
 
@@ -13,7 +13,7 @@
    I am not yet sure I want _any_ MPI dependencies in libnco.a 
    Cross-platform link weirdness (e.g., AIX) makes avoiding this desirable */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco/nco_msa.c b/src/nco/nco_msa.c
index 47de562..7ec6471 100644
--- a/src/nco/nco_msa.c
+++ b/src/nco/nco_msa.c
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_msa.c,v 1.228 2013/11/22 04:40:05 pvicente Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_msa.c,v 1.238 2014/02/14 05:22:17 zender Exp $ */
 
 /* Purpose: Multi-slabbing algorithm */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -585,12 +585,12 @@ nco_msa_lmt_all_ntl
     lmt_rgl->end=dmn_sz-1L;
     lmt_rgl->cnt=dmn_sz;
     lmt_rgl->srd=1L;
-    lmt_rgl->drn=1L;
+    lmt_rgl->ssc=1L;
     lmt_rgl->flg_mro=False;
     lmt_rgl->min_sng=NULL;
     lmt_rgl->max_sng=NULL;
     lmt_rgl->srd_sng=NULL;
-    lmt_rgl->drn_sng=NULL;
+    lmt_rgl->ssc_sng=NULL;
     lmt_rgl->mro_sng=NULL;
     lmt_rgl->rbs_sng=NULL;
     lmt_rgl->origin=0.0;
@@ -1162,35 +1162,38 @@ nco_cpy_var_val_mlt_lmt_trv         /* [fnc] Copy variable data from input to ou
  const trv_sct * const var_trv)     /* I [sct] Object to write (variable) */
 {
   /* Purpose: Copy variable data from input netCDF file to output netCDF file 
-  Routine truncates dimensions in variable definition in output file according to user-specified limits.
-  Routine copies variable-by-variable, old-style, used only by ncks 
+     Routine truncates dimensions in variable definition in output file according to user-specified limits
+     Routine copies variable-by-variable, old-style, used only by ncks 
 
-  "GTT" changes from the original nco_cpy_var_val_mlt_lmt():
-   Object to write (variable) is passed as parameter
-  */
+     "GTT" changes from the original nco_cpy_var_val_mlt_lmt():
+     Object to write (variable) is passed as parameter */
+
+  const char fnc_nm[]="nco_cpy_var_val_mlt_lmt_trv()"; /* [sng] Function name  */
 
   char var_nm[NC_MAX_NAME+1];      /* [sng] Variable name (local copy of object name) */ 
 
+  int fl_fmt;                      /* [enm] Output file format */
   int nbr_dim;                     /* [nbr] Number of dimensions */
   int nbr_dmn_in;                  /* [nbr] Number of dimensions */
   int nbr_dmn_out;                 /* [nbr] Number of dimensions */
   int var_in_id;                   /* [nbr] Variable ID */
   int var_out_id;                  /* [nbr] Variable ID */
 
-  long *dmn_map_cnt;               /* [nbr] Contiguous vector of lengths of hyperslab on disk */
-  long *dmn_map_srt;               /* [nbr] Contiguous vector of indices to start of hyperslab on disk */
-
-  long var_sz=1L;                  /* [nbr] Variable size */
-
-  nc_type var_typ;                 /* [nbr] Variable type  */
+  long *dmn_map_cnt=NULL;          /* [nbr] Contiguous vector of lengths of hyperslab on disk */
+  long *dmn_map_srt=NULL;          /* [nbr] Contiguous vector of indices to start of hyperslab on disk */
 
-  var_sct vara;                    /* [sct] Variable structure, to hold basic data in_id, var_id, nctype for recusive routine */
+  nc_type var_typ_in;              /* [nbr] Variable type input */
+  nc_type var_typ_out;             /* [nbr] Variable type output */
 
-  void *void_ptr;                  /* [nbr] Pointer to data */
+  var_sct var_in;                  /* [sct] Variable structure */
+  var_sct var_out;                 /* [sct] Variable structure */
+  var_sct *var_out_ptr;            /* [sct] Variable structure, used for nco_var_cnf_typ() */
 
   lmt_msa_sct **lmt_msa=NULL_CEWI; /* [sct] MSA Limits for only for variable dimensions  */          
   lmt_sct **lmt=NULL_CEWI;         /* [sct] Auxiliary Limit used in MSA */
 
+  nco_bool flg_write=True;
+
   assert(nco_obj_typ_var == var_trv->nco_typ);
 
   /* Local copy of object name */ 
@@ -1201,89 +1204,115 @@ nco_cpy_var_val_mlt_lmt_trv         /* [fnc] Copy variable data from input to ou
   (void)nco_inq_varid(out_id,var_nm,&var_out_id);
 
   /* Get type and number of dimensions for variable */
-  (void)nco_inq_var(out_id,var_out_id,(char *)NULL,&var_typ,&nbr_dmn_out,(int *)NULL,(int *)NULL);
-  (void)nco_inq_var(in_id,var_in_id,(char *)NULL,&var_typ,&nbr_dmn_in,(int *)NULL,(int *)NULL);
+  (void)nco_inq_var(in_id,var_in_id,(char *)NULL,&var_typ_in,&nbr_dmn_in,(int *)NULL,(int *)NULL);
+  (void)nco_inq_var(out_id,var_out_id,(char *)NULL,&var_typ_out,&nbr_dmn_out,(int *)NULL,(int *)NULL);
   if(nbr_dmn_out != nbr_dmn_in){
     (void)fprintf(stderr,"%s: ERROR attempt to write %d-dimensional input variable %s to %d-dimensional space in output file\nHINT: When using -A (append) option, all appended variables must be the same rank in the input file as in the output file. The ncwa operator is useful at ridding variables of extraneous (size = 1) dimensions. See how at http://nco.sf.net/nco.html#ncwa\nIf you wish to completely replace the existing output file definition and values of the variable %s by those in t [...]
     nco_exit(EXIT_FAILURE);
   } /* endif */
   nbr_dim=nbr_dmn_out;
 
-  /* Deal with scalar variables */
-  if(nbr_dim == 0){
-    var_sz=1L;
-    void_ptr=nco_malloc(nco_typ_lng(var_typ));
-
-    /* Read */
-    (void)nco_get_var1(in_id,var_in_id,0L,void_ptr,var_typ);
-
-    /* Write */
-    (void)nco_put_var1(out_id,var_out_id,0L,void_ptr,var_typ);
-
-    /* Perform MD5 digest of input and output data if requested */
-    if(md5)
-      if(md5->dgs)
-	(void)nco_md5_chk(md5,var_nm,var_sz*nco_typ_lng(var_typ),out_id,(long *)NULL,(long *)NULL,void_ptr);
-
-    /* Write unformatted binary data */
-    if(fp_bnr) nco_bnr_wrt(fp_bnr,var_nm,var_sz,var_typ,void_ptr);
-
-    /* Done */
-    (void)nco_free(void_ptr);
-    return;
-  } /* End Deal with scalar variables */
-
-  /* Allocate local MSA */
-  lmt_msa=(lmt_msa_sct **)nco_malloc(var_trv->nbr_dmn*sizeof(lmt_msa_sct *));
-  lmt=(lmt_sct **)nco_malloc(var_trv->nbr_dmn*sizeof(lmt_sct *));
-
-   /* Copy from table to local MSA */
-  (void)nco_cpy_msa_lmt(var_trv,&lmt_msa);
-  
-  /* Dimension vectors */
-  dmn_map_cnt=(long *)nco_malloc(nbr_dim*sizeof(long));
-  dmn_map_srt=(long *)nco_malloc(nbr_dim*sizeof(long));
-
-  /* Loop dimensions */
-  for(int dmn_idx=0;dmn_idx<nbr_dim;dmn_idx++){
+  /* Initialize variable structure with minimal info. for nco_msa_rcr_clc() and possibly nco_var_cnf_typ() */
+  var_in.nm=var_nm;
+  var_in.id=var_in_id;
+  var_in.nc_id=in_id;
+  var_in.type=var_typ_in;
+  var_in.has_mss_val=False;
 
-    /* Store in arrays */
-    dmn_map_cnt[dmn_idx]=lmt_msa[dmn_idx]->dmn_cnt;
-    dmn_map_srt[dmn_idx]=0L;
-  } /* End loop dimensions */
-
-
-  /* Initalize variable structure with in_id, var_in_id, nctype, etc., so recursive routine can read data */
-  vara.nm=var_nm;
-  vara.id=var_in_id;
-  vara.nc_id=in_id;
-  vara.type=var_typ;
-
-  /* Call super-dooper recursive routine */
-  void_ptr=nco_msa_rcr_clc((int)0,nbr_dim,lmt,lmt_msa,&vara);
-
-  /* After MSA, we have the size to write */
-  var_sz=vara.sz;
-
-  /* Write variable */
-  (void)nco_put_vara(out_id,var_out_id,dmn_map_srt,dmn_map_cnt,void_ptr,var_typ);
+  /* Scalar */
+  if(nbr_dim == 0){
+    var_in.sz=1L;
+    var_in.val.vp=nco_malloc(nco_typ_lng(var_typ_in));
+    (void)nco_get_var1(in_id,var_in_id,0L,var_in.val.vp,var_typ_in);
+    var_out=var_in;
+  } /* !Scalar */
+
+  /* Array */
+  if(nbr_dim > 0){
+    /* Allocate local MSA */
+    lmt_msa=(lmt_msa_sct **)nco_malloc(var_trv->nbr_dmn*sizeof(lmt_msa_sct *));
+    lmt=(lmt_sct **)nco_malloc(var_trv->nbr_dmn*sizeof(lmt_sct *));
+    
+    /* Copy from table to local MSA */
+    (void)nco_cpy_msa_lmt(var_trv,&lmt_msa);
+    
+    /* Dimension vectors */
+    dmn_map_cnt=(long *)nco_malloc(nbr_dim*sizeof(long));
+    dmn_map_srt=(long *)nco_malloc(nbr_dim*sizeof(long));
+    
+    for(int dmn_idx=0;dmn_idx<nbr_dim;dmn_idx++){
+      /* Store in arrays */
+      dmn_map_cnt[dmn_idx]=lmt_msa[dmn_idx]->dmn_cnt;
+      dmn_map_srt[dmn_idx]=0L;
+    } /* end loop over dmn_idx */
+
+    /* Call super-dooper recursive routine (this sets var_in.sz) */
+    var_in.val.vp=nco_msa_rcr_clc((int)0,nbr_dim,lmt,lmt_msa,&var_in);
+    var_out=var_in;
+  } /* !Array */
+
+  /* Allow ncks to autoconvert netCDF4 atomic types to netCDF3 output type ... */
+  if(nco_prg_id_get() == ncks){
+    /* File format needed for decision tree and to enable netCDF4 features */
+    (void)nco_inq_format(out_id,&fl_fmt);
+    if(fl_fmt != NC_FORMAT_NETCDF4 && !nco_typ_nc3(var_typ_in)){
+      if(nco_dbg_lvl_get() >= nco_dbg_std) (void)fprintf(stdout,"%s: INFO Autoconverting variable %s from netCDF4 type %s to netCDF3 type %s\n",nco_prg_nm_get(),var_nm,nco_typ_sng(var_typ_in),nco_typ_sng(nco_typ_nc4_nc3(var_typ_out)));
+      var_typ_out=nco_typ_nc4_nc3(var_typ_in);
+
+      if(var_typ_in == NC_STRING && var_typ_out == NC_CHAR){
+	/* Special case for string conversion:
+	   20131227: Currently limited to translating string variables that contain only one string
+	   Too many other limits on string translation to list them all :)
+	   This only handles plain strings */
+	if(var_out.sz > 1L){
+	  (void)fprintf(stdout,"%s: ERROR Unable to autoconvert. %s reports string variable %s contains %li strings. Autoconversion of string variables is currently limited to string variables that contain a single string, not an array of strings. And even single strings are currently translated incorrectly because each string is typically a distinct size, meaning a distinct phony dimension would need to be created for every single string and NCO is loathe to do that. Complaints? Let us know.\n [...]
+	  nco_exit(EXIT_FAILURE);
+	} /* endif err */
+
+	var_out=var_in;
+	var_out.sz=strlen(var_out.val.sngp[0]);
+	nbr_dim++;
+	if(nbr_dim == 1){
+	  dmn_map_cnt=(long *)nco_malloc(nbr_dim*sizeof(long));
+	  dmn_map_srt=(long *)nco_malloc(nbr_dim*sizeof(long));
+	} /* nbr_dim != 1 */
+	// Following line would be correct were an adequately sized phony dimension declared and ready to accept this many characters
+	// dmn_map_cnt[0]=var_out.sz;
+	dmn_map_cnt[0]=1L;
+	dmn_map_srt[0]=0L;
+	(void)nco_put_vara(out_id,var_out_id,dmn_map_srt,dmn_map_cnt,var_out.val.sngp[0],var_typ_out);
+	(void)cast_nctype_void(var_typ_out,&var_out.val);
+	flg_write=False;
+      }else{ /* !NC_STRING */
+	var_out_ptr=nco_var_cnf_typ(var_typ_out,&var_in);
+	var_out=*var_out_ptr;
+      } /* !NC_STRING */
+      
+    } /* !autoconvert */
+  } /* !ncks */
+
+  /* Write */
+  if(flg_write){
+    if(nbr_dim == 0) (void)nco_put_var1(out_id,var_out_id,0L,var_out.val.vp,var_typ_out); else (void)nco_put_vara(out_id,var_out_id,dmn_map_srt,dmn_map_cnt,var_out.val.vp,var_typ_out);
+  } /* !flg_write */
 
   /* Perform MD5 digest of input and output data if requested */
   if(md5)
     if(md5->dgs)
-      (void)nco_md5_chk(md5,var_nm,var_sz*nco_typ_lng(var_typ),out_id,dmn_map_srt,dmn_map_cnt,void_ptr);
+      (void)nco_md5_chk(md5,var_nm,var_out.sz*nco_typ_lng(var_typ_out),out_id,dmn_map_srt,dmn_map_cnt,var_out.val.vp);
 
   /* Write unformatted binary data */
-  if(fp_bnr) nco_bnr_wrt(fp_bnr,var_nm,var_sz,var_typ,void_ptr);
+  if(fp_bnr) nco_bnr_wrt(fp_bnr,var_nm,var_out.sz,var_typ_in,var_out.val.vp);
 
   /* Free */
-  (void)nco_free(void_ptr);
-  (void)nco_free(dmn_map_cnt);
-  (void)nco_free(dmn_map_srt);
+  if(var_out.val.vp) var_out.val.vp=(void *)nco_free(var_out.val.vp);
+  if(dmn_map_cnt) dmn_map_cnt=(long *)nco_free(dmn_map_cnt);
+  if(dmn_map_srt) dmn_map_srt=(long *)nco_free(dmn_map_srt);
 
-  /* Free  */
-  (void)nco_lmt_msa_free(var_trv->nbr_dmn,lmt_msa);
-  lmt=(lmt_sct **)nco_free(lmt);
+  if(lmt){
+    (void)nco_lmt_msa_free(var_trv->nbr_dmn,lmt_msa);
+    lmt=(lmt_sct **)nco_free(lmt);
+  } /* endif */
 
   return;
 } /* end nco_cpy_var_val_mlt_lmt_trv() */
diff --git a/src/nco/nco_msa.h b/src/nco/nco_msa.h
index a83ed04..413d0da 100644
--- a/src/nco/nco_msa.h
+++ b/src/nco/nco_msa.h
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_msa.h,v 1.80 2013/09/11 22:07:11 pvicente Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_msa.h,v 1.81 2013/12/31 05:14:02 zender Exp $ */
 
 /* Purpose: Multi-slabbing algorithm */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco/nco_mss_val.c b/src/nco/nco_mss_val.c
index 5993968..bf128d6 100644
--- a/src/nco/nco_mss_val.c
+++ b/src/nco/nco_mss_val.c
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_mss_val.c,v 1.52 2013/11/16 22:00:58 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_mss_val.c,v 1.53 2013/12/31 05:14:02 zender Exp $ */
 
 /* Purpose: Missing value utilities */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco/nco_mss_val.h b/src/nco/nco_mss_val.h
index 6e589af..620a350 100644
--- a/src/nco/nco_mss_val.h
+++ b/src/nco/nco_mss_val.h
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_mss_val.h,v 1.34 2013/07/16 04:26:06 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_mss_val.h,v 1.35 2013/12/31 05:14:02 zender Exp $ */
 
 /* Purpose: Missing value utilities */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco/nco_netcdf.c b/src/nco/nco_netcdf.c
index b582912..3f88bf3 100644
--- a/src/nco/nco_netcdf.c
+++ b/src/nco/nco_netcdf.c
@@ -1,12 +1,13 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_netcdf.c,v 1.211 2013/11/16 15:20:07 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_netcdf.c,v 1.234 2014/02/19 17:44:13 zender Exp $ */
 
 /* Purpose: NCO wrappers for netCDF C library */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
 #include "nco_netcdf.h" /* NCO wrappers for netCDF C library */
+
 /* Utility routines not defined by netCDF library, but useful in working with it */
 void
 nco_err_exit /* [fnc] Print netCDF error message, routine name, then exit */
@@ -31,20 +32,23 @@ nco_err_exit /* [fnc] Print netCDF error message, routine name, then exit */
 #endif /* !NCO_ABORT_ON_ERROR */
 
   switch(rcd){
-  case NC_EINVAL: (void)fprintf(stdout,"ERROR NC_EINVAL Invalid argument\nHINT: NC_EINVAL errors can occur for at least two reasons. The first is 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. The second is when HDF4-enabled NCO attempts to di [...]
-  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 -3 [...]
-#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 HDF-EOS2 or HDF4 file. In this case it may be possible to access the input files using NCO if NCO is first re-linked to a version of netCDF configured with the --enable-hdf4 option. This is a non-standard netCDF build option described here: http://www.unidata.ucar.edu/soft [...]
-#endif
-  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 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 */
-    (void)fprintf(stdout,"Are your input files netCDF4 format?  (http://nco.sf.net/nco.html#fmt_inq shows how to tell.) If so then installing or re-building a netCDF4-compatible version of NCO should solve this problem. First upgrade netCDF to version 4.x, then install NCO using those netCDF 4.x libraries.\n2. NC_ENOTNC can occur when users attempt to utilize diskless (i.e., RAM) files.  In this case remove the diskless switches (e.g., --ram or --diskless) and then re-issue the command. \n");
+  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_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 */
-    (void)fprintf(stdout,"2. NCO attempts to utilize diskless (i.e., RAM) files.  In this case remove the diskless switches (e.g., --ram or --diskless) and then re-issue the command.\n3. NCO attempts to read other non-supported filetypes, e.g., HDF4, HDF-EOS2. In this case it may be possible to access the input files using NCO if NCO is first re-linked to a version of netCDF configured with the --enable-hdf4 option. This is a non-standard netCDF build option described here: http://www.un [...]
-  case NC_ERANGE: (void)fprintf(stdout,"ERROR NC_ERANGE Result not representable in output file\nHINT: NC_ERANGE errors typically occur after an arithmetic operation results in a value not representible by the output variable type when NCO attempts to write those values to an output file.  Possible workaround: Promote the variable to higher precision before attempting arithmetic.  For example,\nncap2 -O -s \'foo=double(foo);\' in.nc in.nc\nFor more details, see http://nco.sf.net/nco.html [...]
+  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 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 */ 
+     (void)fprintf(stdout,"Are your input files netCDF4 format?  (http://nco.sf.net/nco.html#fmt_inq shows how to tell.) If so then installing or re-building a netCDF4-compatible version of NCO should solve this problem. First upgrade netCDF to version 4.x, then install NCO using those netCDF 4.x libraries.\n2. NC_ENOTNC can occur when users attempt to utilize diskless (i.e., RAM) files.  In this case remove the diskless switches (e.g., --ram or --diskless) and then re-issue the command. \n"); 
+#endif /* !ENABLE_NETCDF4 */ 
+     (void)fprintf(stdout,"2. NCO attempts to utilize diskless (i.e., RAM) files.  In this case remove the diskless switches (e.g., --ram or --diskless) and then re-issue the command.\n3. NCO attempts to read other non-supported filetypes, e.g., HDF4, HDF-EOS2. In this case it may be possible to access the input files using NCO if NCO is first re-linked to a version of netCDF configured with the --enable-hdf4 option. This is a non-standard netCDF build option described here: http://www.u [...]
+  case NC_ERANGE: (void)fprintf(stdout,"ERROR NC_ERANGE Result not representable in output file\nHINT: NC_ERANGE errors typically occur after an arithmetic operation results in a value not representible by the output variable type when NCO attempts to write those values to an output file.  Possible workaround: Promote the variable to higher precision before attempting arithmetic.  For example,\nncap2 -O -s \'foo=double(foo);\' in.nc in.nc\nFor more details, see http://nco.sf.net/nco.html [...]
+  case NC_EUNLIMIT: (void)fprintf(stdout,"ERROR NC_UNLIMIT NC_UNLIMITED size already in use\nHINT: NC_EUNLIMIT errors can occur when attempting to convert netCDF4 classic files that contain multiple record dimensions into a netCDF3 file that allows only one record dimension. In this case, try first fixing the excess record dimension(s) (with, e.g., ncks --fix_rec_dmn) and then convert to netCDF3. For more details, see http://nco.sf.net/nco.html#fix_rec_dmn\n"); break;
   case NC_EVARSIZE: (void)fprintf(stdout,"ERROR NC_EVARSIZE One or more variable sizes violate format constraints\nHINT: NC_EVARSIZE errors can occur when attempting to aggregate netCDF3 classic files together into outputs that exceed the capacity of the netCDF3 classic file format, e.g., a variable with size in excess of 2^31 bytes. In this case, try altering the output file type to netCDF3 classic with 64-bit offsets (with --64) or to netCDF4 (with -4). For more details, see http://nco [...]
   } /* end switch */
 
@@ -393,6 +397,7 @@ const char * /* O [sng] String describing file format */
 nco_fmt_sng /* [fnc] Convert netCDF file format enum to string */
 (const int fl_fmt) /* I [enm] netCDF file format */
 {
+  /* Purpose: Convert netCDF file format enum to string */
   switch(fl_fmt){
   case NC_FORMAT_CLASSIC:
     return "NC_FORMAT_CLASSIC";
@@ -409,6 +414,74 @@ nco_fmt_sng /* [fnc] Convert netCDF file format enum to string */
   return (char *)NULL;
 } /* end nco_fmt_sng() */
 
+const char * /* O [sng] String describing file format for hidden attributes */
+nco_fmt_hdn_sng /* [fnc] Convert netCDF file format enum to string for hidden attributes */
+(const int fl_fmt) /* I [enm] netCDF file format */
+{
+  /* Purpose: Convert netCDF file format enum to string for hidden attributes
+     20131229: String values obtained from ncgen man page */
+  switch(fl_fmt){
+  case NC_FORMAT_CLASSIC:
+    return "classic";
+  case NC_FORMAT_64BIT:
+    return "64-bit offset";
+  case NC_FORMAT_NETCDF4:
+    return "netCDF-4";
+  case NC_FORMAT_NETCDF4_CLASSIC:
+    return "netCDF-4 classic model";
+  default: nco_dfl_case_nc_type_err(); break;
+  } /* end switch */
+
+  /* Some compilers, e.g., SGI cc, need return statement to end non-void functions */
+  return (char *)NULL;
+} /* end nco_fmt_hdn_sng() */
+
+const char * /* O [sng] String describing extended file format */
+nco_fmt_xtn_sng /* [fnc] Convert netCDF extended file format enum to string */
+(const int fl_fmt_xtn) /* I [enm] netCDF extended file format */
+{
+  /* Purpose: Convert netCDF extended file format enum to string */
+  switch(fl_fmt_xtn){
+  case NC_FORMAT_NC3:
+    return "NC_FORMAT_NC3";
+  case NC_FORMAT_NC_HDF5:
+    return "NC_FORMAT_HDF5";
+  case NC_FORMAT_NC_HDF4:
+    return "NC_FORMAT_HDF4";
+  case NC_FORMAT_PNETCDF:
+    return "NC_FORMAT_PNETCDF";
+  case NC_FORMAT_DAP2:
+    return "NC_FORMAT_DAP2";
+  case NC_FORMAT_DAP4:
+    return "NC_FORMAT_DAP4";
+  case NC_FORMAT_UNDEFINED:
+    return "NC_FORMAT_UNDEFINED";
+  default: nco_dfl_case_nc_type_err(); break;
+  } /* end switch */
+
+  /* Some compilers, e.g., SGI cc, need return statement to end non-void functions */
+  return (char *)NULL;
+} /* end nco_fmt_xtn_sng() */
+
+const char * /* O [sng] String describing endianness for hidden attributes */
+nco_ndn_sng /* [fnc] Convert netCDF endianness enum to string for hidden attributes */
+(const int flg_ndn) /* I [enm] netCDF endianness */
+{
+  /* Purpose: Convert netCDF endianness enum to string for hidden attributes */
+  switch(flg_ndn){
+  case NC_ENDIAN_NATIVE:
+    return "classic";
+  case NC_ENDIAN_LITTLE:
+    return "little";
+  case NC_ENDIAN_BIG:
+    return "big";
+  default: nco_dfl_case_nc_type_err(); break;
+  } /* end switch */
+
+  /* Some compilers, e.g., SGI cc, need return statement to end non-void functions */
+  return (char *)NULL;
+} /* end nco_ndn_sng() */
+
 void
 nco_dfl_case_nc_type_err(void) /* [fnc] Print error and exit for illegal switch(nc_type) case */
 {
@@ -675,6 +748,29 @@ nco_inq_format(const int nc_id,int * const fl_fmt)
   return rcd;
 } /* end nco_inq_format() */
 
+#ifndef NC_HAVE_INQ_FORMAT_EXTENDED
+int nc_inq_format_extended(const int nc_id,int * const fl_fmt,int * const mode)
+{
+  /* Purpose: 20131222: Stub for nc_inq_format_extended(), which appeared in netCDF 4.3.1-rc7
+     Forward compatibility prototype required for systems with netCDF < 4.3.1 */
+  int rcd=NC_NOERR;
+  *fl_fmt=NC_FORMAT_UNDEFINED; /* [enm] Output file format */
+  *mode=0; /* [enm] Output file format */
+  return NC_NOERR+0*nc_id+0*rcd; /* CEWI */
+} /* end nc_inq_format_extended() */
+#endif /* !NC_HAVE_INQ_FORMAT_EXTENDED */
+int
+nco_inq_format_extended(const int nc_id,int * const fl_fmt,int * const mode)
+{
+  /* Purpose: Wrapper for nc_inq_format_extended() */
+  int rcd=NC_NOERR;
+  /* NB: 20131222: Function nc_inq_format_extended(int ncid,int *formatp,int *mode) appeared in netCDF 4.3.1-rc7
+     Forward compatibility prototype required for systems with netCDF < 4.3.1 */
+  rcd=nc_inq_format_extended(nc_id,fl_fmt,mode);
+  if(rcd != NC_NOERR) nco_err_exit(rcd,"nco_inq_format_extended()");
+  return rcd;
+} /* end nco_inq_format_extended() */
+
 #ifdef HAVE_NETCDF4_H
 int
 nco_inq_ncid(const int nc_id,const char * const grp_nm,int * const grp_id)
@@ -748,6 +844,31 @@ nco_inq_unlimdim_flg(const int nc_id,int * const rec_dmn_id)
   if(rcd != NC_NOERR) nco_err_exit(rcd,"nco_inq_unlimdim_flg()");
   return rcd;
 } /* end nco_inq_unlimdim_flg() */
+
+int nco_get_chunk_cache
+(size_t * const sz_byt, /* [B] Raw data chunk cache size */
+ size_t * const cnk_nbr_hsh, /* [nbr] Chunk slots in raw data chunk cache hash table */
+ float * const pmp_fvr_frc) /* [frc] Preemption favor fraction */
+{
+  /* Purpose: Wrapper for nc_get_chunk_cache() */
+  int rcd;
+  rcd=nc_get_chunk_cache(sz_byt,cnk_nbr_hsh,pmp_fvr_frc);
+  if(rcd != NC_NOERR) nco_err_exit(rcd,"nco_get_chunk_cache()");
+  return rcd;
+} /* end nco_get_chunk_cache() */
+
+int nco_set_chunk_cache
+(const size_t sz_byt, /* [B] Raw data chunk cache size */
+ const size_t cnk_nbr_hsh, /* [nbr] Chunk slots in raw data chunk cache hash table */
+ const float pmp_fvr_frc) /* [frc] Preemption favor fraction */
+{
+  /* Purpose: Wrapper for nc_set_chunk_cache() */
+  int rcd;
+  rcd=nc_set_chunk_cache(sz_byt,cnk_nbr_hsh,pmp_fvr_frc);
+  if(rcd != NC_NOERR) nco_err_exit(rcd,"nco_set_chunk_cache()");
+  return rcd;
+} /* end nco_set_chunk_cache() */
+
 /* End File routines */
 
 /* Begin Group routines (_grp) */
@@ -786,7 +907,7 @@ nc_rename_grp(int grp_id,const char * const grp_nm)
   int rcd;
   rcd=NC_NOERR;
   rcd+=nco_inq_grpname(grp_id,grp_nm_old);
-  (void)fprintf(stdout,"INFO: %s reports attempt to rename group \"%s\" to \"%s\" was foiled because libnetcdf.a does not contain nc_rename_grp(). To obtain this functionality, please rebuild NCO against netCDF library version 4.3.1 (to be released ~201309XX) or later.\nContinuing as though nothing untoward happened...\n",fnc_nm,grp_nm_old,grp_nm);
+  (void)fprintf(stdout,"INFO: %s reports attempt to rename group \"%s\" to \"%s\" was foiled because libnetcdf.a does not contain nc_rename_grp(). To obtain this functionality, please rebuild NCO against netCDF library version 4.3.1-pre1 (released ~201309) or later.\nContinuing as though nothing untoward happened...\n",fnc_nm,grp_nm_old,grp_nm);
   if(rcd != NC_NOERR) nco_err_exit(rcd,"nc_rename_grp()");
   return rcd;
 } /* end nc_rename_grp() */
@@ -1057,7 +1178,7 @@ int nco_def_var_chunking
   int rcd;
   /* NB: 20090713: netCDF4 API for nc_def_var_chunking() changed ~200906 
      Before that a weak netCDF4 prototype did not make cnk_sz const
-     After I notified them of this, Unidata changed prototype to 
+     After I notified Unidata of this, they changed prototype to 
      const size_t * const cnk_sz
      This API change may cause confusion/differences when compiling
      NCO with netCDF4 versions pre- and post-200906, e.g., 
@@ -1079,7 +1200,10 @@ int nco_def_var_deflate
 {
   /* Purpose: Wrapper for nc_def_var_deflate() */
   int rcd;
-  rcd=nc_def_var_deflate(nc_id,var_id,shuffle,deflate,dfl_lvl);
+  int deflate_new;
+  /* 20131204: Turn-off deflate filter when dfl_lvl == 0 */
+  if(dfl_lvl == 0) deflate_new=0; else deflate_new=deflate;
+  rcd=nc_def_var_deflate(nc_id,var_id,shuffle,deflate_new,dfl_lvl);
   if(rcd != NC_NOERR) nco_err_exit(rcd,"nco_def_var_deflate()");
   return rcd;
 } /* end nco_def_var_deflate() */
@@ -1142,6 +1266,72 @@ nco_inq_var_deflate
 } /* end nco_inq_var_deflate() */
 
 int
+nco_inq_var_endian
+(const int nc_id, /* I [ID] netCDF ID */
+ const int var_id, /* I [ID] Variable ID */
+ int * const ndn_typ) /* O [enm] Endianness */
+{
+  /* Purpose: Wrapper for nc_inq_var_endian() */
+  /* NB: netCDF endian inquire function only works on netCDF4 files
+     NCO wrapper works on netCDF3 and netCDF4 files */
+  int rcd;
+  int fl_fmt; /* [enm] Input file format */
+  rcd=nco_inq_format(nc_id,&fl_fmt);
+  if(fl_fmt == NC_FORMAT_NETCDF4 || fl_fmt == NC_FORMAT_NETCDF4_CLASSIC){
+    rcd=nc_inq_var_endian(nc_id,var_id,ndn_typ);
+  }else{ /* !netCDF4 */
+    if(ndn_typ) *ndn_typ=NC_ENDIAN_NATIVE;
+  } /* !netCDF4 */
+  if(rcd != NC_NOERR) nco_err_exit(rcd,"nco_inq_var_endian()");
+  return rcd;
+} /* end nco_inq_var_endian() */
+
+int
+nco_inq_var_fill
+(const int nc_id, /* I [ID] netCDF ID */
+ const int var_id, /* I [ID] Variable ID */
+ int * const fll_nil, /* O [enm] NO_FILL */
+ void * const fll_val) /* O [enm] Fill value */
+{
+  /* Purpose: Wrapper for nc_inq_var_fill() */
+  /* NB: netCDF fill inquire function only works on netCDF4 files
+     NCO wrapper works on netCDF3 and netCDF4 files */
+  int rcd;
+  int fl_fmt; /* [enm] Input file format */
+  rcd=nco_inq_format(nc_id,&fl_fmt);
+  if(fl_fmt == NC_FORMAT_NETCDF4 || fl_fmt == NC_FORMAT_NETCDF4_CLASSIC){
+    rcd=nc_inq_var_fill(nc_id,var_id,fll_nil,fll_val);
+  }else{ /* !netCDF4 */
+    if(fll_nil) *fll_nil=0;
+    /* fxm: implement netCDF3-compatible function which returns real fill values based on variable type
+       This could be based on nco_mss_val_get() */
+    if(fll_val) assert(0);
+    rcd=NC_NOERR;
+  } /* !netCDF4 */
+  if(rcd != NC_NOERR) nco_err_exit(rcd,"nco_inq_var_fill()");
+  return rcd;
+} /* end nco_inq_var_fill() */
+
+int
+nco_def_var_fletcher32
+(const int nc_id, /* I [ID] netCDF ID */
+ const int var_id, /* I [ID] Variable ID */
+ const int chk_typ) /* I [enm] Checksum type */
+{
+  /* Purpose: Wrapper for nc_def_var_fletcher32() */
+  /* NB: netCDF fletcher32 set function only works on netCDF4 files
+     NCO wrapper works on netCDF3 and netCDF4 files */
+  int rcd=NC_NOERR;
+  int fl_fmt; /* [enm] Input file format */
+  rcd=nco_inq_format(nc_id,&fl_fmt);
+  if(fl_fmt == NC_FORMAT_NETCDF4 || fl_fmt == NC_FORMAT_NETCDF4_CLASSIC){
+    rcd=nc_def_var_fletcher32(nc_id,var_id,chk_typ);
+  } /* !netCDF4 */
+  if(rcd != NC_NOERR) nco_err_exit(rcd,"nco_def_var_fletcher32()");
+  return rcd;
+} /* end nco_def_var_fletcher32() */
+
+int
 nco_inq_var_fletcher32
 (const int nc_id, /* I [ID] netCDF ID */
  const int var_id, /* I [ID] Variable ID */
@@ -1150,7 +1340,7 @@ nco_inq_var_fletcher32
   /* Purpose: Wrapper for nc_inq_var_fletcher32() */
   /* NB: netCDF fletcher32 inquire function only works on netCDF4 files
      NCO wrapper works on netCDF3 and netCDF4 files */
-  int rcd;
+  int rcd=NC_NOERR;
   int fl_fmt; /* [enm] Input file format */
   rcd=nco_inq_format(nc_id,&fl_fmt);
   if(fl_fmt == NC_FORMAT_NETCDF4 || fl_fmt == NC_FORMAT_NETCDF4_CLASSIC){
@@ -1735,7 +1925,12 @@ int nc_def_var_chunking(const int nc_id,const int var_id,const int srg_typ,size_
 int nc_inq_var_chunking(const int nc_id,const int var_id,int * const srg_typ,size_t *const cnk_sz){*srg_typ=(size_t)NC_CONTIGUOUS;*cnk_sz=(size_t)NULL;return 1;}
 int nc_def_var_deflate(const int nc_id,const int var_id,const int shuffle,const int deflate,const int dfl_lvl){return 1;}
 int nc_inq_var_deflate(const int nc_id,const int var_id,int * const shuffle, int * const deflate,int * const dfl_lvl){if(shuffle) *shuffle=0;if(deflate) *deflate=0;if(dfl_lvl) *dfl_lvl=0;return 1;}
+int nc_inq_var_endian(const int nc_id,const int var_id,int * const ndn_typ){if(ndn_typ) *ndn_typ=0;return 1;}
+int nc_def_var_fletcher32(const int nc_id,const int var_id,const int chk_typ){return 1;}
 int nc_inq_var_fletcher32(const int nc_id,const int var_id,int * const chk_typ){if(chk_typ) *chk_typ=NC_NOCHECKSUM;return 1;}
+int nc_inq_var_fill(const int nc_id,const int var_id,int * const fll_nil,void * const fll_val){if(fll_nil) *fll_nil=0;if(fll_val) assert(0);return 1;}
+int nc_get_chunk_cache(size_t * const sz_byt,size_t * const cnk_nbr_hsh,float * const pmp_fvr_frc){if(sz_byt) *sz_byt=0L;if(cnk_nbr_hsh) *cnk_nbr_hsh=0L;if(pmp_fvr_frc) *pmp_fvr_frc=0.0f;return 1;}
+int nc_set_chunk_cache(const size_t sz_byt,const size_t cnk_nbr_hsh,const float pmp_fvr_frc){return 1;}
 #endif /* HAVE_NETCDF4_H */
 #if !defined(HAVE_NETCDF4_H) 
 /* Stubs thus present a fake library for manipulating netCDF3 files with the netCDF4 API
diff --git a/src/nco/nco_netcdf.h b/src/nco/nco_netcdf.h
index 22a5a34..7b60704 100644
--- a/src/nco/nco_netcdf.h
+++ b/src/nco/nco_netcdf.h
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_netcdf.h,v 1.103 2013/11/16 15:20:07 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_netcdf.h,v 1.112 2014/02/06 00:48:18 zender Exp $ */
 
 /* Purpose: NCO wrappers for netCDF C library */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -72,8 +72,14 @@
 #ifndef NC_FORMAT_NETCDF4_CLASSIC
 # define NC_FORMAT_NETCDF4_CLASSIC  (4) /* create netcdf-4 files, with NC_CLASSIC_MODEL. */
 #endif
-#ifndef NC_CHUNKED
-# define NC_CHUNKED (0)
+#ifndef NC_ENDIAN_NATIVE
+# define NC_ENDIAN_NATIVE 0
+#endif
+#ifndef NC_ENDIAN_LITTLE
+# define NC_ENDIAN_LITTLE 1
+#endif
+#ifndef NC_ENDIAN_BIG
+# define NC_ENDIAN_BIG    2
 #endif
 #ifndef NC_CONTIGUOUS
 # define NC_CONTIGUOUS (1)
@@ -82,9 +88,37 @@
 # define NC_NOCHECKSUM 0
 #endif
 
+  /* Seven compatibility tokens introduced 20131222 in netCDF 4.3.1-rc7 netcdf.h */
+#ifndef NC_FORMAT_UNDEFINED
+# define NC_FORMAT_UNDEFINED (0)
+#else
+# define NC_HAVE_INQ_FORMAT_EXTENDED
+#endif
+#ifndef NC_FORMAT_NC3
+# define NC_FORMAT_NC3     (1)
+#endif
+#ifndef NC_FORMAT_NC_HDF5
+# define NC_FORMAT_NC_HDF5 (2) /*cdf 4 subset of HDF5 */
+#endif
+#ifndef NC_FORMAT_NC_HDF4
+# define NC_FORMAT_NC_HDF4 (3) /* netcdf 4 subset of HDF4 */
+#endif
+#ifndef NC_FORMAT_PNETCDF
+# define NC_FORMAT_PNETCDF (4)
+#endif
+#ifndef NC_FORMAT_DAP2
+# define NC_FORMAT_DAP2    (5)
+#endif
+#ifndef NC_FORMAT_DAP4
+# define NC_FORMAT_DAP4    (6)
+#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
+# ifndef NC_ECANTWRITE
+#  define NC_ECANTWRITE    (-103)    /**< Can't write. */
+# endif
 # ifndef NC_EBADGRPID
 #  define NC_EBADGRPID (-116)    /**< Bad group ID. */
 # endif
@@ -129,6 +163,10 @@ const char * /* O [sng] Native XML type */
 xml_typ_nm /* [fnc] Return string describing native XML type */
 (const nc_type type); /* I [enm] netCDF type */
 
+const char * /* O [sng] String describing extended file format */
+nco_fmt_xtn_sng /* [fnc] Convert netCDF extended file format enum to string */
+(const int fl_fmt_xtn); /* I [enm] netCDF extended file format */
+
 const char * /* O [sng] Native Fortran77 type */
 f77_typ_nm /* [fnc] Return string describing native Fortran77 type */
 (const nc_type type); /* I [enm] netCDF type */
@@ -168,6 +206,14 @@ nco_typ_sng /* [fnc] Convert netCDF type enum to string */
 const char * /* O [sng] String describing file format */
 nco_fmt_sng /* [fnc] Convert netCDF file format enum to string */
 (const int fl_fmt); /* I [enm] netCDF file format */
+
+const char * /* O [sng] String describing file format for hidden attributes */
+nco_fmt_hdn_sng /* [fnc] Convert netCDF file format enum to string for hidden attributes */
+(const int fl_fmt); /* I [enm] netCDF file format */
+
+const char * /* O [sng] String describing endianness for hidden attributes */
+nco_ndn_sng /* [fnc] Convert netCDF endianness enum to string for hidden attributes */
+(const int flg_ndn); /* I [enm] netCDF endianness */
 /* End Utility Routines */
 
 #if 0
@@ -197,9 +243,14 @@ int nco_close(const int nc_id);
 int nco_inq(const int nc_id,int * const dmn_nbr_fl,int * const var_nbr_fl,int * const att_glb_nbr,int * const rec_dmn_id);
 #if NEED_NC_INQ_FORMAT
 /* Stub for nc_inq_format(), which appeared in netCDF 3.6.1 or 3.6.2 */
-int nc_inq_format(int nc_id, int * const fl_fmt);
+int nc_inq_format(int nc_id,int * const fl_fmt);
 #endif /* !NEED_NC_INQ_FORMAT */
 int nco_inq_format(const int nc_id,int * const fl_fmt);
+#ifndef NC_HAVE_INQ_FORMAT_EXTENDED
+/* 20131222: Stub for nc_inq_format_extended(), which appeared in netCDF 4.3.1-rc7 */
+int nc_inq_format_extended(int nc_id,int * const fl_fmt,int * const mode);
+#endif /* !NC_HAVE_INQ_FORMAT_EXTENDED */
+int nco_inq_format_extended(const int nc_id,int * const fl_fmt,int * const mode);
 int nco_inq_ncid(const int nc_id,const char * const grp_nm,int * const grp_id);
 int nco_inq_ncid_flg(const int nc_id,const char * const grp_nm,int * const grp_id);
 int nco_inq_ndims(const int nc_id,int * const dmn_nbr_fl);
@@ -207,6 +258,8 @@ int nco_inq_nvars(const int nc_id,int * const var_nbr_fl);
 int nco_inq_natts(const int nc_id,int * const att_glb_nbr);
 int nco_inq_unlimdim(const int nc_id,int * const rec_dmn_id);
 int nco_inq_unlimdim_flg(const int nc_id,int * const rec_dmn_id);
+int nco_get_chunk_cache(size_t * const sz_byt,size_t * const cnk_nbr_hsh,float * const pmp_fvr_frc);
+int nco_set_chunk_cache(const size_t sz_byt,const size_t cnk_nbr_hsh,const float pmp_fvr_frc);
 /* End File routines */
 
 /* Begin Group routines (_grp) */
@@ -244,9 +297,12 @@ int nco_copy_var(const int nc_in_id,const int var_id,const int nc_out_id);
 int nco_def_var(const int nc_id,const char * const var_nm,const nc_type var_typ,const int dmn_nbr,const int * const dmn_id,int * const var_id);
 int nco_def_var_chunking(const int nc_id,const int var_id,const int srg_typ,const size_t * const cnk_sz);
 int nco_def_var_deflate(const int nc_id,const int var_id,const int shuffle,const int deflate,const int dfl_lvl);
+int nco_def_var_fletcher32(const int nc_id,const int var_id,const int chk_typ);
 int nco_inq_var(const int nc_id,const int var_id,char * const var_nm,nc_type * const var_typ,int * const dmn_nbr,int * const dmn_id,int * const nbr_att);
 int nco_inq_var_chunking(const int nc_id,const int var_id,int * const srg_typ,size_t * const cnk_sz);
 int nco_inq_var_deflate(const int nc_id,const int var_id,int * const shuffle,int * const deflate,int * const dfl_lvl);
+int nco_inq_var_endian(const int nc_id,const int var_id,int * const ndn_typ);
+int nco_inq_var_fill(const int nc_id,const int var_id,int * const fll_nil,void * const fll_val);
 int nco_inq_var_fletcher32(const int nc_id,const int var_id,int * const chk_typ);
 int nco_inq_var_packing(const int nc_id,const int var_id,int * const packing);
 int nco_inq_vardimid(const int nc_id,const int var_id,int * const dmn_id);
@@ -303,8 +359,13 @@ int nco_get_att(const int nc_id,const int var_id,const char * const att_nm,void
 # endif /* !NC_HAVE_NEW_CHUNKING_API */
   int nc_inq_var_chunking(const int nc_id,const int var_id,int * const srg_typ,size_t * const cnk_sz);
   int nc_def_var_deflate(const int nc_id,const int var_id,const int shuffle,const int deflate,const int dfl_lvl);
+  int nc_def_var_fletcher32(const int nc_id,const int var_id,const int chk_typ);
   int nc_inq_var_deflate(const int nc_id,const int var_id,int * const shuffle, int * const deflate,int * const dfl_lvl);
+  int nc_inq_var_endian(const int nc_id,const int var_id,int * const ndn_typ);
+  int nc_inq_var_fill(const int nc_id,const int var_id,int * const fll_nil,void * const fll_val);
   int nc_inq_var_fletcher32(const int nc_id,const int var_id,int * const chk_typ);
+  int nc_get_chunk_cache(size_t * const sz_byt,size_t * const cnk_nbr_hsh,float * const pmp_fvr_frc);
+  int nc_set_chunk_cache(const size_t sz_byt,const size_t cnk_nbr_hsh,const float pmp_fvr_frc);
 #endif /* HAVE_NETCDF4_H */
 #ifndef HAVE_NETCDF4_H
   int NCO_GET_VAR1_UBYTE(const int nc_id,const int var_id,const size_t *srt,nco_ubyte *ubp);
diff --git a/src/nco/nco_omp.c b/src/nco/nco_omp.c
index 38885b7..ba60d11 100644
--- a/src/nco/nco_omp.c
+++ b/src/nco/nco_omp.c
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_omp.c,v 1.62 2013/12/02 00:13:21 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_omp.c,v 1.69 2014/02/19 22:22:28 zender Exp $ */
 
 /* Purpose: OpenMP utilities */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -88,9 +88,9 @@ nco_openmp_ini /* [fnc] Initialize OpenMP threading environment */
     thr_nbr_max=omp_get_max_threads(); /* [nbr] Maximum number of threads system allows */
   } /* end error */
 
-  if(nco_dbg_lvl_get() >= nco_dbg_scl){
+  if(nco_dbg_lvl_get() >= nco_dbg_scl && nco_dbg_lvl_get() != nco_dbg_dev){
     if((nvr_OMP_NUM_THREADS=getenv("OMP_NUM_THREADS"))) ntg_OMP_NUM_THREADS=(int)strtol(nvr_OMP_NUM_THREADS,&sng_cnv_rcd,NCO_SNG_CNV_BASE10); /* [sng] Environment variable OMP_NUM_THREADS */
-    if(sng_cnv_rcd) nco_sng_cnv_err(nvr_OMP_NUM_THREADS,"strtol",sng_cnv_rcd);
+    if(nvr_OMP_NUM_THREADS && *sng_cnv_rcd) nco_sng_cnv_err(nvr_OMP_NUM_THREADS,"strtol",sng_cnv_rcd);
     (void)fprintf(fp_stderr,"%s: INFO Environment variable OMP_NUM_THREADS ",nco_prg_nm_get());
     if(ntg_OMP_NUM_THREADS > 0) (void)fprintf(fp_stderr,"= %d\n",ntg_OMP_NUM_THREADS); else (void)fprintf(fp_stderr,"does not exist\n");
     (void)fprintf(fp_stderr,"%s: INFO Number of processors available is %d\n",nco_prg_nm_get(),prc_nbr_max);
@@ -129,7 +129,9 @@ nco_openmp_ini /* [fnc] Initialize OpenMP threading environment */
     case ncrcat: 
       /* ncecat and ncrcat are extremely I/O intensive 
 	 Maximum efficiency when one thread reads from input file while other writes to output file */
-      thr_nbr_max_fsh=2;
+      // 20140219: Turn-off OpenMP until thoroughly tested
+      // thr_nbr_max_fsh=2;
+      thr_nbr_max_fsh=1;
       break;
       /* Operators with higher maximum pre-set thread limit (NB: not all of these are threaded!) */
     case ncbo: 
@@ -142,7 +144,9 @@ nco_openmp_ini /* [fnc] Initialize OpenMP threading environment */
     case ncrename: 
     case ncwa: 
     case ncge:
-      thr_nbr_max_fsh=4;
+      // 20140219: Turn-off OpenMP until thoroughly tested
+      // thr_nbr_max_fsh=4;
+      thr_nbr_max_fsh=1;
       break;
     default: nco_dfl_case_prg_id_err(); break;
     } /* end case */
diff --git a/src/nco/nco_omp.h b/src/nco/nco_omp.h
index aac7b7d..630e451 100644
--- a/src/nco/nco_omp.h
+++ b/src/nco/nco_omp.h
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_omp.h,v 1.30 2013/01/13 06:07:47 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_omp.h,v 1.31 2013/12/31 05:14:02 zender Exp $ */
 
 /* Purpose: OpenMP utilities */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco/nco_pck.c b/src/nco/nco_pck.c
index 3b3c6d9..b20b07b 100644
--- a/src/nco/nco_pck.c
+++ b/src/nco/nco_pck.c
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_pck.c,v 1.97 2013/12/02 01:05:56 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_pck.c,v 1.98 2013/12/31 05:14:02 zender Exp $ */
 
 /* Purpose: NCO utilities for packing and unpacking variables */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco/nco_pck.h b/src/nco/nco_pck.h
index 9c06e85..3be4c7c 100644
--- a/src/nco/nco_pck.h
+++ b/src/nco/nco_pck.h
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_pck.h,v 1.51 2013/07/30 07:20:07 pvicente Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_pck.h,v 1.52 2013/12/31 05:14:02 zender Exp $ */
 
 /* Purpose: Description (definition) of packing/unpacking functions */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco/nco_prn.c b/src/nco/nco_prn.c
index 77779eb..02690ae 100644
--- a/src/nco/nco_prn.c
+++ b/src/nco/nco_prn.c
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_prn.c,v 1.196 2013/11/24 04:05:41 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_prn.c,v 1.218 2014/02/19 17:44:13 zender Exp $ */
 
 /* Purpose: Print variables, attributes, metadata */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -44,9 +44,12 @@ nco_prn_att /* [fnc] Print all attributes of single variable or group */
 
   float val_flt;
 
+  int att_nbr_ttl;
+  int att_nbr_vsb;
+  int dmn_nbr=0;
+  int fl_fmt; /* I [enm] File format */
   int grp_id_prn;
   int idx;
-  int nbr_att;
   int prn_ndn=0; /* [nbr] Indentation for printing */
   int rcd=NC_NOERR; /* [rcd] Return code */
   int rcd_prn;
@@ -58,53 +61,205 @@ nco_prn_att /* [fnc] Print all attributes of single variable or group */
   long sng_lng; /* [nbr] Length of NC_CHAR string */
   long sng_lngm1; /* [nbr] Length minus one of NC_CHAR string */
   
-  nco_bool has_fll_val=False; /* [flg] Has _FillValue attribute */
+  nc_type var_typ;
+
+  const nco_bool CDL=prn_flg->cdl; /* [flg] CDL output */
+  const nco_bool XML=prn_flg->xml; /* [flg] XML output */
+  const nco_bool TRD=prn_flg->trd; /* [flg] Traditional output */
+  const nco_bool JSN=prn_flg->jsn; /* [flg] JSON output */
+  const nco_bool CDL_OR_JSN=prn_flg->cdl || prn_flg->jsn; /* [flg] CDL or JSON output */
+  const nco_bool CDL_OR_TRD=prn_flg->cdl || prn_flg->trd; /* [flg] CDL or Traditional output */
+  const nco_bool CDL_OR_JSN_OR_XML=prn_flg->cdl || prn_flg->jsn || prn_flg->xml; /* [flg] CDL or JSON or XML output */
+
+  //nco_bool has_fll_val=False; /* [flg] Has _FillValue attribute */
 
   nco_string sng_val; /* [sng] Current string */
 
   prn_ndn=prn_flg->ndn;
   if(var_id == NC_GLOBAL){
     /* Get number of global attributes in group */
-    (void)nco_inq(grp_id,(int *)NULL,(int *)NULL,&nbr_att,(int *)NULL);
+    (void)nco_inq(grp_id,(int *)NULL,(int *)NULL,&att_nbr_vsb,(int *)NULL);
     /* Which group is this? */
     rcd=nco_inq_grp_parent_flg(grp_id,&grp_id_prn);
-    if(rcd == NC_ENOGRP) (void)strcpy(src_sng,(prn_flg->cdl) ? "" : "Global"); else (void)strcpy(src_sng,(prn_flg->cdl) ? "" : "Group");
-    if(prn_flg->cdl) prn_ndn+=prn_flg->sxn_fst;
+    if(rcd == NC_ENOGRP) (void)strcpy(src_sng,(CDL) ? "" : "Global"); else (void)strcpy(src_sng,(CDL) ? "" : "Group");
+    if(CDL) prn_ndn+=prn_flg->sxn_fst;
   }else{
     /* Get name and number of attributes for variable */
-    (void)nco_inq_var(grp_id,var_id,src_sng,(nc_type *)NULL,(int *)NULL,(int *)NULL,&nbr_att);
-    if(prn_flg->cdl) prn_ndn+=2*prn_flg->var_fst;
-    if(prn_flg->xml) prn_ndn+=prn_flg->sxn_fst;
-    if(prn_flg->new_fmt && prn_flg->trd) prn_ndn+=prn_flg->var_fst;
+    (void)nco_inq_var(grp_id,var_id,src_sng,&var_typ,&dmn_nbr,(int *)NULL,&att_nbr_vsb);
+    if(CDL) prn_ndn+=2*prn_flg->var_fst;
+    if(XML) prn_ndn+=prn_flg->sxn_fst;
+    if(prn_flg->new_fmt && TRD) prn_ndn+=prn_flg->var_fst;
   } /* end else */
 
   /* Allocate space for attribute names and types */
-  if(nbr_att > 0) att=(att_sct *)nco_malloc(nbr_att*sizeof(att_sct));
+  att_nbr_ttl=att_nbr_vsb;
+  assert(att_nbr_ttl >= 0);
+  if(att_nbr_ttl > 0) att=(att_sct *)nco_malloc(att_nbr_ttl*sizeof(att_sct));
     
-  /* Get attributes' names, types, lengths, and values */
-  for(idx=0;idx<nbr_att;idx++){
-
-    att[idx].nm=(char *)nco_malloc(NC_MAX_NAME*sizeof(char));
-    (void)nco_inq_attname(grp_id,var_id,idx,att[idx].nm);
-    (void)nco_inq_att(grp_id,var_id,att[idx].nm,&att[idx].type,&att[idx].sz);
+  rcd=nco_inq_format(grp_id,&fl_fmt);
+
+  if(prn_flg->hdn && ((fl_fmt == NC_FORMAT_NETCDF4) || (fl_fmt == NC_FORMAT_NETCDF4_CLASSIC))){
+    char *val_hdn_sng=NULL;
+    int chk_typ; /* [enm] Checksum type [0..9] */
+    int deflate; /* [flg] Deflation is on */
+    int dfl_lvl; /* [enm] Deflate level [0..9] */
+    int flg_ndn=NC_ENDIAN_NATIVE; /* [enm] _Endianness */
+    int fll_nil; /* [flg] NO_FILL */
+    int shuffle; /* [flg] Shuffling is on */
+    int srg_typ; /* [enm] Storage type */
+    size_t cnk_sz[NC_MAX_DIMS]; /* [nbr] Chunk sizes */
+    if(var_id == NC_GLOBAL){
+      /* _Format */
+      if(!XML){
+	rcd=nco_inq_grp_parent_flg(grp_id,&grp_id_prn);
+	if(rcd == NC_ENOGRP){
+	  /* _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("_Format");
+	  att[idx].type=NC_CHAR;
+	  val_hdn_sng=strdup(nco_fmt_hdn_sng(fl_fmt));
+	  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){
+	/* _NOFILL */
+	rcd=nco_inq_var_fill(grp_id,var_id,&fll_nil,(int *)NULL);
+	if(fll_nil){
+	  /* Print _NOFILL for variables that are not pre-filled */
+	  idx=att_nbr_ttl++;
+	  att=(att_sct *)nco_realloc(att,att_nbr_ttl*sizeof(att_sct));
+	  att[idx].nm=(char *)strdup("_NOFILL");
+	  att[idx].type=NC_INT;
+	  att_sz=att[idx].sz=1L;
+	  att[idx].val.vp=(void *)nco_malloc(att_sz*nco_typ_lng(att[idx].type));
+	  att[idx].val.ip[0]=fll_nil;
+	} /* !fll_nil */
+	/* _Storage */
+	rcd=nco_inq_var_chunking(grp_id,var_id,&srg_typ,cnk_sz);
+	if(!XML){
+	  if(dmn_nbr > 0){
+	    /* Print _Storage for arrays */
+	    idx=att_nbr_ttl++;
+	    att=(att_sct *)nco_realloc(att,att_nbr_ttl*sizeof(att_sct));
+	    att[idx].nm=(char *)strdup("_Storage");
+	    att[idx].type=NC_CHAR;
+	    val_hdn_sng= (srg_typ == NC_CONTIGUOUS) ? (char *)strdup("contiguous") : (char *)strdup("chunked");
+	    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);
+	  } /* !dmn_nbr */	
+	} /* !xml */
+	/* _ChunkSizes */
+	if(srg_typ == NC_CHUNKED){
+	  /* Print _ChunkSizes for chunked arrays */
+	  idx=att_nbr_ttl++;
+	  att=(att_sct *)nco_realloc(att,att_nbr_ttl*sizeof(att_sct));
+	  // Prior to ~20140105, NcML generated _ChunkSize (singular) attribute, not _Chunksizes (netCDFJava #JQM-616814, JIRA TDS-517)
+	  //	  att[idx].nm= (XML) ? (char *)strdup("_ChunkSize") : (char *)strdup("_ChunkSizes");
+	  att[idx].nm=(char *)strdup("_ChunkSizes");
+	  att[idx].type=NC_INT;
+	  att_sz=att[idx].sz=dmn_nbr;
+	  att[idx].val.vp=(void *)nco_malloc(att_sz*nco_typ_lng(att[idx].type));
+	  for(int dmn_idx=0;dmn_idx<dmn_nbr;dmn_idx++) att[idx].val.ip[dmn_idx]=cnk_sz[dmn_idx];
+	} /* srg_typ != NC_CHUNKED */
+	/* _DeflateLevel */
+	if(!XML){
+	  rcd=nco_inq_var_deflate(grp_id,var_id,&shuffle,&deflate,&dfl_lvl);
+	  if(deflate){
+	    /* Print _DeflateLevel for deflated variables */
+	    idx=att_nbr_ttl++;
+	    att=(att_sct *)nco_realloc(att,att_nbr_ttl*sizeof(att_sct));
+	    att[idx].nm=(char *)strdup("_DeflateLevel");
+	    att[idx].type=NC_INT;
+	    att_sz=att[idx].sz=1L;
+	    att[idx].val.vp=(void *)nco_malloc(att_sz*nco_typ_lng(att[idx].type));
+	    att[idx].val.ip[0]=dfl_lvl;
+	  } /* !deflate */
+	} /* !xml */
+	/* _Shuffle */
+	if(!XML){
+	  if(shuffle){
+	    /* Print _Shuffle for shuffled variables */
+	    idx=att_nbr_ttl++;
+	    att=(att_sct *)nco_realloc(att,att_nbr_ttl*sizeof(att_sct));
+	    att[idx].nm=(char *)strdup("_Shuffle");
+	    att[idx].type=NC_CHAR;
+	    val_hdn_sng=strdup("true");
+	    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);
+	  } /* !shuffle */
+	} /* !xml */
+	/* _Fletcher32 */
+	if(!XML){
+	  rcd=nco_inq_var_fletcher32(grp_id,var_id,&chk_typ);
+	  if(chk_typ){
+	    /* Print _Fletcher32 for checksummed variables */
+	    idx=att_nbr_ttl++;
+	    att=(att_sct *)nco_realloc(att,att_nbr_ttl*sizeof(att_sct));
+	    att[idx].nm=(char *)strdup("_Fletcher32");
+	    att[idx].type=NC_CHAR;
+	    val_hdn_sng=strdup("true");
+	    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);
+	  } /* !chk_typ */
+	} /* !xml */
+	/* _Endianness */
+	if(!XML){
+	  if((var_typ == NC_USHORT) || (var_typ == NC_SHORT) || (var_typ == NC_UINT) || (var_typ == NC_INT) || (var_typ == NC_UINT64) || (var_typ == NC_INT64)){
+	    /* _Endianness variable attribute always printed for integer types */
+	    idx=att_nbr_ttl++;
+	    att=(att_sct *)nco_realloc(att,att_nbr_ttl*sizeof(att_sct));
+	    att[idx].nm=(char *)strdup("_Endianness");
+	    att[idx].type=NC_CHAR;
+	    rcd+=nco_inq_var_endian(grp_id,var_id,&flg_ndn);
+	    val_hdn_sng=strdup(nco_ndn_sng(flg_ndn));
+	    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);
+	  } /* !INT */
+	} /* !xml */
+      } /* !HDF4 */
+    } /* !NC_GLOBAL */
+  } /* !hdn, NC_FORMAT_NETCDF4, NC_FORMAT_NETCDF4_CLASSIC */
 
+  /* Get attributes' names, types, lengths, and values */
+  for(idx=0;idx<att_nbr_ttl;idx++){
+
+    if(idx <= att_nbr_vsb-1){
+      /* Visible attributes get standard treatment */
+      att[idx].nm=(char *)nco_malloc(NC_MAX_NAME*sizeof(char));
+      (void)nco_inq_attname(grp_id,var_id,idx,att[idx].nm);
+      (void)nco_inq_att(grp_id,var_id,att[idx].nm,&att[idx].type,&att[idx].sz);
+      /* Allocate enough space to hold attribute */
+      att[idx].val.vp=(void *)nco_malloc(att[idx].sz*nco_typ_lng(att[idx].type));
+      (void)nco_get_att(grp_id,var_id,att[idx].nm,att[idx].val.vp,att[idx].type);
+    } /* idx == att_nbr */
+    
     /* Copy value to avoid indirection in loop over att_sz */
     att_sz=att[idx].sz;
     att_szm1=att_sz-1L;
 
-    /* Allocate enough space to hold attribute */
-    att[idx].val.vp=(void *)nco_malloc(att_sz*nco_typ_lng(att[idx].type));
-    (void)nco_get_att(grp_id,var_id,att[idx].nm,att[idx].val.vp,att[idx].type);
-    
-    if(prn_flg->cdl){
+    if(CDL){
       nm_cdl=nm2sng_cdl(att[idx].nm);
       (void)fprintf(stdout,"%*s%s%s:%s = ",prn_ndn,spc_sng,(att[idx].type == NC_STRING) ? "string " : "",src_sng,nm_cdl); 
       nm_cdl=(char *)nco_free(nm_cdl);
     } /* !cdl */
-    if(prn_flg->trd) (void)fprintf(stdout,"%*s%s attribute %i: %s, size = %li %s, value = ",prn_ndn,spc_sng,src_sng,idx,att[idx].nm,att_sz,nco_typ_sng(att[idx].type));
+    if(JSN) (void)fprintf(stdout,"{\"name\": \"%s\", \"value\": ",att[idx].nm);
+    if(TRD) (void)fprintf(stdout,"%*s%s attribute %i: %s, size = %li %s, value = ",prn_ndn,spc_sng,src_sng,idx,att[idx].nm,att_sz,nco_typ_sng(att[idx].type));
 
     spr_sng=cma_sng; /* [sng] Output separator string */
-    if(prn_flg->xml){
+    if(XML){
       /* Official NcML XML Schema is here:
 	 http://www.unidata.ucar.edu/software/thredds/current/netcdf-java/ncml/v2.2/AnnotatedSchema4.html
 	 http://www.unidata.ucar.edu/schemas/netcdf/ncml-2.2.xsd */
@@ -122,7 +277,7 @@ nco_prn_att /* [fnc] Print all attributes of single variable or group */
 	 Hence neither does ncks */
       if(att[idx].type != NC_STRING && att[idx].type != NC_CHAR) (void)fprintf(stdout," type=\"%s\"",xml_typ_nm(att[idx].type));
       
-      /* Print hidden attributes of attributes */
+      /* Print hidden attributes */
       // if(nco_xml_typ_rqr_nsg_att(att[idx].type)) (void)fprintf(stdout,""); /* toolsui shows no way to indicate unsigned types for attributes? */
 
       /* Print separator element for non-whitespace separators */
@@ -149,14 +304,14 @@ nco_prn_att /* [fnc] Print all attributes of single variable or group */
       (void)fprintf(stdout," value=\"");
 
       /* XML-mode if dataset defines its own _FillValue for this variable? */
-      if(!(int)strcasecmp(att[idx].nm,nco_mss_val_sng_get())) has_fll_val=True;
+      // if(!(int)strcasecmp(att[idx].nm,nco_mss_val_sng_get())) has_fll_val=True;
     } /* !xml */
     
     /* Typecast pointer to values before access */
     (void)cast_void_nctype(att[idx].type,&att[idx].val);
 
-    (void)sprintf(att_sng_pln,"%s",(prn_flg->cdl) ? nco_typ_fmt_sng_att_cdl(att[idx].type) : (prn_flg->xml) ? nco_typ_fmt_sng_att_xml(att[idx].type) : nco_typ_fmt_sng(att[idx].type));
-    (void)sprintf(att_sng_dlm,"%s%%s",(prn_flg->cdl) ? nco_typ_fmt_sng_att_cdl(att[idx].type) : (prn_flg->xml) ? nco_typ_fmt_sng_att_xml(att[idx].type) : nco_typ_fmt_sng(att[idx].type));
+    (void)sprintf(att_sng_pln,"%s",(CDL_OR_JSN) ? nco_typ_fmt_sng_att_cdl(att[idx].type) : (XML) ? nco_typ_fmt_sng_att_xml(att[idx].type) : nco_typ_fmt_sng(att[idx].type));
+    (void)sprintf(att_sng_dlm,"%s%%s",(CDL_OR_JSN) ? nco_typ_fmt_sng_att_cdl(att[idx].type) : (XML) ? nco_typ_fmt_sng_att_xml(att[idx].type) : nco_typ_fmt_sng(att[idx].type));
     switch(att[idx].type){
     case NC_FLOAT:
       for(lmn=0;lmn<att_sz;lmn++){
@@ -191,7 +346,7 @@ nco_prn_att /* [fnc] Print all attributes of single variable or group */
     case NC_CHAR:
       for(lmn=0;lmn<att_sz;lmn++){
 	chr_val=att[idx].val.cp[lmn];
-	if(prn_flg->cdl || prn_flg->xml){
+	if(CDL_OR_JSN_OR_XML){
 	  val_sng[0]='\0';
 	  if(lmn == 0L){
 	    sng_lng=att_sz;
@@ -201,13 +356,13 @@ nco_prn_att /* [fnc] Print all attributes of single variable or group */
 	  } /* endif first element of string array */
 	  /* New string begins each element where penultimate dimension changes */
 	  if(lmn%sng_lng == 0L){
-	    if(prn_flg->cdl) (void)fprintf(stdout,"\"");
+	    if(CDL_OR_JSN) (void)fprintf(stdout,"\"");
 	    sng_val_sng[0]='\0';
 	  } /* endif new string */
-	  (void)strcat(sng_val_sng,(prn_flg->cdl) ? chr2sng_cdl(chr_val,val_sng) : chr2sng_xml(chr_val,val_sng));
-	  if(chr_val == '\n' && lmn != att_szm1 && prn_flg->cdl) (void)sprintf(sng_val_sng,"%s\",\n%*s\"",sng_val_sng_cpy,prn_ndn+prn_flg->var_fst,spc_sng);
+	  (void)strcat(sng_val_sng,(CDL_OR_JSN) ? chr2sng_cdl(chr_val,val_sng) : chr2sng_xml(chr_val,val_sng));
+	  if(chr_val == '\n' && lmn != att_szm1 && CDL_OR_JSN) (void)sprintf(sng_val_sng,"%s\",\n%*s\"",sng_val_sng_cpy,prn_ndn+prn_flg->var_fst,spc_sng);
 	  if(lmn%sng_lng == sng_lngm1){
-	    (void)fprintf(stdout,"%s%s",sng_val_sng,(prn_flg->xml) ? "" : "\"");
+	    (void)fprintf(stdout,"%s%s",sng_val_sng,(CDL_OR_JSN) ? "\"" : "");
 	    /* Print separator after non-final string */
 	    if(lmn != att_szm1) (void)fprintf(stdout,"%s",spr_sng);
 	  } /* endif string end */
@@ -241,21 +396,21 @@ nco_prn_att /* [fnc] Print all attributes of single variable or group */
 	sng_val=att[idx].val.sngp[lmn];
 	sng_lng=strlen(sng_val);
 	sng_lngm1=sng_lng-1UL;
-	if(prn_flg->cdl || prn_flg->xml){
+	if(CDL_OR_JSN_OR_XML){
 	  /* Worst case is printable strings are six or four times longer than unformatted, i.e., '\"' == """ or '\\' == "\\\\" */
 	  sng_val_sng=(char *)nco_malloc(6*sng_lng+1UL);
-	  if(prn_flg->cdl) (void)fprintf(stdout,"\"");
+	  if(CDL) (void)fprintf(stdout,"\"");
 	  sng_val_sng[0]='\0';
 	  for(chr_idx=0;chr_idx<sng_lng;chr_idx++){
 	    val_sng[0]='\0';
 	    chr_val=sng_val[chr_idx];
-	    (void)strcat(sng_val_sng,(prn_flg->cdl) ? chr2sng_cdl(chr_val,val_sng) : chr2sng_xml(chr_val,val_sng));
+	    (void)strcat(sng_val_sng,(CDL) ? chr2sng_cdl(chr_val,val_sng) : chr2sng_xml(chr_val,val_sng));
 	  } /* end loop over character */
-	  (void)fprintf(stdout,"%s%s",sng_val_sng,(prn_flg->xml) ? "" : "\"");
+	  (void)fprintf(stdout,"%s%s",sng_val_sng,(XML) ? "" : "\"");
 	  /* Print separator after non-final string */
 	  if(lmn != att_szm1) (void)fprintf(stdout,"%s",spr_sng);
 	  sng_val_sng=(char *)nco_free(sng_val_sng);
-	}else{ /* Traditional */
+	}else if(TRD){ /* Traditional */
 	  (void)fprintf(stdout,att_sng_dlm,att[idx].val.sngp[lmn],(lmn != att_szm1) ? spr_sng : "");
 	} /* endelse CDL, XML, Traditional */
       } /* end loop over element */
@@ -263,23 +418,26 @@ nco_prn_att /* [fnc] Print all attributes of single variable or group */
     default: nco_dfl_case_nc_type_err();
       break;
     } /* end switch */
-    if(prn_flg->cdl) (void)fprintf(stdout," ;\n");
-    if(prn_flg->trd) (void)fprintf(stdout,"\n");
-    if(prn_flg->xml) (void)fprintf(stdout,"\" />\n");
+    if(CDL) (void)fprintf(stdout," ;\n");
+    if(JSN) (void)fprintf(stdout,"}%s",(idx < att_nbr_ttl-1) ? ", " : "");
+    if(TRD) (void)fprintf(stdout,"\n");
+    if(XML) (void)fprintf(stdout,"\" />\n");
     rcd_prn+=0; /* CEWI */
     
   } /* end loop over attributes */
 
-  if(!prn_flg->new_fmt && !prn_flg->xml) (void)fprintf(stdout,"\n");
+  if(!prn_flg->new_fmt && CDL_OR_TRD) (void)fprintf(stdout,"\n");
   (void)fflush(stdout);
   
-  /* Print any hidden attributes */
-  if(prn_flg->xml && var_id != NC_GLOBAL){
+  /* Print additional hidden attributes */
+  if(XML && var_id != NC_GLOBAL){
     /* _FillValue, _Netcdf4Dimid, _Unsigned:
        _FillValue: No documentation. Seems like a kludge.
        Set to -1 for unsigned types: ubyte, ushort, uint, 
        Set to -2 for unsigned types: uint64
        How will kludge work when unsigned variable already has _FillValue?
+       20131231 Based on netCDFJava VKJ-807633 discussion, this is a bug, an artifact of HDF5
+       Do not emulate toolsUI _FillValue behavior for unsigned types
 
        _Netcdf4Dimid: https://bugtracking.unidata.ucar.edu/browse/NCF-244
        "Netcdf4Dimid is an artifact stored in the HDF5 dataset of a dimension scale variable to record dimids when nc_enddef() detects that the coordinate variables have a different creation order than the corresponding dimensions. In that case, the documentation says: If this attribute is present on any dimension scale, it must be present on all dimension scales in the file."
@@ -292,17 +450,18 @@ nco_prn_att /* [fnc] Print all attributes of single variable or group */
     nc_type var_type;
     (void)nco_inq_vartype(grp_id,var_id,&var_type);
     if(nco_xml_typ_rqr_nsg_att(var_type)) (void)fprintf(stdout,"%*s<attribute name=\"_Unsigned\" value=\"true\" />\n",prn_ndn,spc_sng);
-    if(nco_xml_typ_rqr_flv_att(var_type) && !has_fll_val) (void)fprintf(stdout,"%*s<attribute name=\"_FillValue\" type=\"%s\" value=\"%d\" />\n",prn_ndn,spc_sng,xml_typ_nm(var_type),(var_type == NC_UINT64) ? -2 : -1);
+    /* 20131231: Emulate toolsUI 4.3 _FillValue behavior for unsigned types (present in NCO 4.3.7-4.3.9, deprecated in 4.4.0 */
+    // if(nco_xml_typ_rqr_flv_att(var_type) && !has_fll_val) (void)fprintf(stdout,"%*s<attribute name=\"_FillValue\" type=\"%s\" value=\"%d\" />\n",prn_ndn,spc_sng,xml_typ_nm(var_type),(var_type == NC_UINT64) ? -2 : -1);
   } /* !xml */
 
   /* Free space holding attribute values */
-  for(idx=0;idx<nbr_att;idx++){
+  for(idx=0;idx<att_nbr_ttl;idx++){
     att[idx].val.vp=nco_free(att[idx].val.vp);
     att[idx].nm=(char *)nco_free(att[idx].nm);
   } /* end loop over attributes */
 
   /* Free rest of space allocated for attribute information */
-  if(nbr_att > 0) att=(att_sct *)nco_free(att);
+  if(att_nbr_ttl > 0) att=(att_sct *)nco_free(att);
 
 } /* end nco_prn_att() */
 
@@ -1010,7 +1169,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_hdf_cnv_get() != nco_hdf4){
+  if(nco_fmt_xtn_get() != nco_fmt_xtn_hdf4){
     (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 */
@@ -1048,8 +1207,8 @@ 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_hdf_cnv_get() == nco_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_hdf_cnv_get() != nco_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 && (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->xml) (void)fprintf(stdout,"%*s<variable name=\"%s\" type=\"%s\"",prn_ndn,spc_sng,var_trv->nm,xml_typ_nm(var_typ));
 
@@ -1073,18 +1232,18 @@ nco_prn_var_dfn                     /* [fnc] Print variable metadata */
 
     sz_sng[0]='\0';
     for(dmn_idx=0;dmn_idx<nbr_dim-1;dmn_idx++){
-      (void)sprintf(sng_foo,"%li*",dmn_sz[dmn_idx]);
+      (void)sprintf(sng_foo,"%li*",(long)dmn_sz[dmn_idx]);
       (void)strcat(sz_sng,sng_foo);
     } /* end loop over dim */
-    (void)sprintf(sng_foo,"%li*sizeof(%s)",dmn_sz[dmn_idx],nco_typ_sng(var_typ));
+    (void)sprintf(sng_foo,"%li*sizeof(%s)",(long)dmn_sz[dmn_idx],nco_typ_sng(var_typ));
     (void)strcat(sz_sng,sng_foo);
 
     for(dmn_idx=0;dmn_idx<nbr_dim;dmn_idx++) var_sz*=dmn_sz[dmn_idx];
-    if(nco_hdf_cnv_get() != nco_hdf4) (void)nco_inq_var_deflate(grp_id,var_id,&shuffle,&deflate,&dfl_lvl);
+    if(nco_fmt_xtn_get() != nco_fmt_xtn_hdf4) (void)nco_inq_var_deflate(grp_id,var_id,&shuffle,&deflate,&dfl_lvl);
 
     if(prn_flg->trd){
-      if((nco_hdf_cnv_get() != nco_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_hdf_cnv_get() == nco_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) && 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);
       (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 */
 
@@ -1104,22 +1263,14 @@ nco_prn_var_dfn                     /* [fnc] Print variable metadata */
   if(prn_flg->trd){
     for(dmn_idx=0;dmn_idx<var_trv->nbr_dmn;dmn_idx++){
 
-      /* Define a "unsigned long" type instead of "size_t" for output, since %zu is only available for C99, using %lu common C89 version */
-      unsigned long cnk_sz_lon=(unsigned long)cnk_sz[dmn_idx];
-
+      /* Casting from "size_t" to "unsigned long" necessary since %zu format only available in C99 */
       /* Coordinate dimension */
       if(var_trv->var_dmn[dmn_idx].is_crd_var){
 
         crd_sct *crd=var_trv->var_dmn[dmn_idx].crd;
 
         /* NOTE: Use hyperslabbed sizes for dimension size */
-        if(srg_typ == NC_CHUNKED){
-          (void)fprintf(stdout,"%*s%s dimension %i: %s, size = %li %s, chunksize = %lu (",
-            prn_ndn,spc_sng,var_trv->nm,dmn_idx,(!strcmp(crd->dmn_grp_nm_fll,var_trv->grp_nm_fll)) ? crd->nm : crd->dmn_nm_fll,crd->lmt_msa.dmn_cnt,nco_typ_sng(crd->var_typ),cnk_sz_lon);
-        }else{
-          (void)fprintf(stdout,"%*s%s dimension %i: %s, size = %li %s (",
-            prn_ndn,spc_sng,var_trv->nm,dmn_idx,(!strcmp(crd->dmn_grp_nm_fll,var_trv->grp_nm_fll)) ? crd->nm : crd->dmn_nm_fll,crd->lmt_msa.dmn_cnt,nco_typ_sng(crd->var_typ));
-        }
+        if(srg_typ == NC_CHUNKED) (void)fprintf(stdout,"%*s%s dimension %i: %s, size = %li %s, chunksize = %lu (",prn_ndn,spc_sng,var_trv->nm,dmn_idx,(!strcmp(crd->dmn_grp_nm_fll,var_trv->grp_nm_fll)) ? crd->nm : crd->dmn_nm_fll,crd->lmt_msa.dmn_cnt,nco_typ_sng(crd->var_typ),(unsigned long)cnk_sz[dmn_idx]); else (void)fprintf(stdout,"%*s%s dimension %i: %s, size = %li %s (",prn_ndn,spc_sng,var_trv->nm,dmn_idx,(!strcmp(crd->dmn_grp_nm_fll,var_trv->grp_nm_fll)) ? crd->nm : crd->dmn_nm_fll, [...]
 
         (void)fprintf(stdout,"%soordinate is %s)",(CRR_DMN_IS_REC_IN_INPUT[dmn_idx]) ? "Record c" : "C",(!strcmp(crd->crd_grp_nm_fll,var_trv->grp_nm_fll)) ? crd->nm : crd->crd_nm_fll);
 
@@ -1129,11 +1280,7 @@ nco_prn_var_dfn                     /* [fnc] Print variable metadata */
         dmn_trv_sct *dmn_trv=var_trv->var_dmn[dmn_idx].ncd;
 
         /* NOTE: Use hyperslabbed sizes for dimension size */
-        if(srg_typ == NC_CHUNKED){
-          (void)fprintf(stdout,"%*s%s dimension %i: %s, size = %li, chunksize = %lu (",prn_ndn,spc_sng,var_trv->nm,dmn_idx,(!strcmp(dmn_trv->grp_nm_fll,var_trv->grp_nm_fll)) ? dmn_trv->nm : dmn_trv->nm_fll,dmn_trv->lmt_msa.dmn_cnt,cnk_sz_lon);
-        }else{
-          (void)fprintf(stdout,"%*s%s dimension %i: %s, size = %li (",prn_ndn,spc_sng,var_trv->nm,dmn_idx,(!strcmp(dmn_trv->grp_nm_fll,var_trv->grp_nm_fll)) ? dmn_trv->nm : dmn_trv->nm_fll,dmn_trv->lmt_msa.dmn_cnt);
-        }
+        if(srg_typ == NC_CHUNKED) (void)fprintf(stdout,"%*s%s dimension %i: %s, size = %li, chunksize = %lu (",prn_ndn,spc_sng,var_trv->nm,dmn_idx,(!strcmp(dmn_trv->grp_nm_fll,var_trv->grp_nm_fll)) ? dmn_trv->nm : dmn_trv->nm_fll,dmn_trv->lmt_msa.dmn_cnt,(unsigned long)cnk_sz[dmn_idx]); else (void)fprintf(stdout,"%*s%s dimension %i: %s, size = %li (",prn_ndn,spc_sng,var_trv->nm,dmn_idx,(!strcmp(dmn_trv->grp_nm_fll,var_trv->grp_nm_fll)) ? dmn_trv->nm : dmn_trv->nm_fll,dmn_trv->lmt_msa.dmn_cnt);
         (void)fprintf(stdout,"%son-coordinate dimension)",(CRR_DMN_IS_REC_IN_INPUT[dmn_idx]) ? "Record n" : "N");
 
       } /* end non-coordinate dimension */
@@ -1231,6 +1378,14 @@ nco_prn_var_val_trv /* [fnc] Print variable data (GTT version) */
   long var_dsk;                              /* [nbr] Variable index relative to disk */
   long var_szm1;
 
+  const nco_bool CDL=prn_flg->cdl; /* [flg] CDL output */
+  const nco_bool XML=prn_flg->xml; /* [flg] XML output */
+  const nco_bool TRD=prn_flg->trd; /* [flg] Traditional output */
+  const nco_bool JSN=prn_flg->jsn; /* [flg] JSON output */
+  const nco_bool CDL_OR_JSN=prn_flg->cdl || prn_flg->jsn; /* [flg] CDL or JSON output */
+  const nco_bool CDL_OR_TRD=prn_flg->cdl || prn_flg->trd; /* [flg] CDL or Traditional output */
+  const nco_bool CDL_OR_JSN_OR_XML=prn_flg->cdl || prn_flg->jsn || prn_flg->xml; /* [flg] CDL or JSON or XML output */
+
   nco_bool is_mss_val=False;                 /* [flg] Current value is missing value */
   nco_bool MALLOC_UNITS_SNG=False;           /* [flg] Allocated memory for units string */
 
@@ -1239,8 +1394,8 @@ nco_prn_var_val_trv /* [fnc] Print variable data (GTT version) */
   var_sct var;                               /* [sct] Variable structure */
   var_sct var_crd;                           /* [sct] Variable structure for associated coordinate variable */
 
-  if(prn_flg->new_fmt && !prn_flg->xml) prn_ndn=prn_flg->ndn+prn_flg->var_fst;
-  if(prn_flg->xml) prn_ndn=prn_flg->ndn;
+  if(prn_flg->new_fmt && CDL_OR_TRD) prn_ndn=prn_flg->ndn+prn_flg->var_fst;
+  if(XML) prn_ndn=prn_flg->ndn;
 
   /* Obtain group ID where variable is located using full group name */
   (void)nco_inq_grp_full_ncid(nc_id,var_trv->grp_nm_fll,&grp_id);
@@ -1349,7 +1504,7 @@ nco_prn_var_val_trv /* [fnc] Print variable data (GTT version) */
   } /* end if dlm_sng */
 
   spr_sng=cma_sng; /* [sng] Output separator string */
-  if(prn_flg->cdl || prn_flg->xml){
+  if(CDL_OR_JSN_OR_XML){
     char fmt_sng[NCO_MAX_LEN_FMT_SNG];
     dmn_trv_sct *dmn_trv; /* [sct] Unique dimension object */
     int cpd_rec_dmn_idx[NC_MAX_DIMS]; /* [idx] Indices of non-leading record dimensions */
@@ -1359,12 +1514,13 @@ nco_prn_var_val_trv /* [fnc] Print variable data (GTT version) */
     nco_bool cpd_rec_dmn[NC_MAX_DIMS]; /* [flg] Dimension is compound */
     char * (*chr2sng_sf)(const char chr_val, /* I [chr] Character to process */
 			  char * const val_sng); /* I/O [sng] String to stuff printable result into */
-    if(prn_flg->cdl) chr2sng_sf=chr2sng_cdl; else chr2sng_sf=chr2sng_xml;
-    if(prn_flg->cdl) (void)sprintf(fmt_sng,"%s",nco_typ_fmt_sng_var_cdl(var.type));
-    if(prn_flg->xml) (void)sprintf(fmt_sng,"%s",nco_typ_fmt_sng_att_xml(var.type));
+    if(CDL) chr2sng_sf=chr2sng_cdl; else chr2sng_sf=chr2sng_xml;
+    if(CDL_OR_JSN) (void)sprintf(fmt_sng,"%s",nco_typ_fmt_sng_var_cdl(var.type));
+    if(XML) (void)sprintf(fmt_sng,"%s",nco_typ_fmt_sng_att_xml(var.type));
+    if(JSN) (void)fprintf(stdout,"\"data\": [");
 
     nm_cdl=nm2sng_cdl(var_nm);
-    if(prn_flg->xml){
+    if(XML){
       /* User may override default separator string for XML only */
       if(var.type == NC_STRING || var.type == NC_CHAR) spr_sng= (prn_flg->spr_chr) ? prn_flg->spr_chr : spr_xml_chr; else spr_sng= (prn_flg->spr_nmr) ? prn_flg->spr_nmr : spr_xml_nmr;
 
@@ -1402,7 +1558,7 @@ nco_prn_var_val_trv /* [fnc] Print variable data (GTT version) */
       } /* var.sz */
       (void)fprintf(stdout,">");
     } /* !xml */
-    if(prn_flg->cdl) (void)fprintf(stdout,"%*s%s = ",prn_ndn,spc_sng,nm_cdl);
+    if(CDL) (void)fprintf(stdout,"%*s%s = ",prn_ndn,spc_sng,nm_cdl);
     nm_cdl=(char *)nco_free(nm_cdl);
     var_szm1=var.sz-1L;
     is_compound=nco_prn_cpd_chk(var_trv,trv_tbl);
@@ -1453,9 +1609,9 @@ nco_prn_var_val_trv /* [fnc] Print variable data (GTT version) */
         case NC_CHAR: 
           chr_val=var.val.cp[lmn];
           if(var.nbr_dim == 0){
-            if(!prn_flg->xml) (void)fprintf(stdout,"\"");
+            if(CDL_OR_TRD) (void)fprintf(stdout,"\"");
             if(chr_val != '\0') (void)fprintf(stdout,"%s",(*chr2sng_sf)(chr_val,val_sng));
-            if(!prn_flg->xml) (void)fprintf(stdout,"\"");
+            if(CDL_OR_TRD) (void)fprintf(stdout,"\"");
             val_sng[0]='\0';
           }else{ /* var.nbr_dim > 0 */
             /* Multi-dimensional string arrays of NC_CHAR */
@@ -1468,13 +1624,13 @@ nco_prn_var_val_trv /* [fnc] Print variable data (GTT version) */
             } /* endif first element of string array */
             /* New string begins each element where penultimate dimension changes */
             if(lmn%sng_lng == 0L){
-              if(prn_flg->cdl) (void)fprintf(stdout,"\"");
+              if(CDL) (void)fprintf(stdout,"\"");
               sng_val_sng[0]='\0';
             } /* endif new string */
             if(chr_val != '\0') (void)fprintf(stdout,"%s",(*chr2sng_sf)(chr_val,val_sng));
             if(chr_val == '\n' && lmn != var_szm1) (void)sprintf(sng_val_sng,"%s\",\n%*s\"",sng_val_sng_cpy,prn_ndn+prn_flg->var_fst,spc_sng);
             if(lmn%sng_lng == sng_lngm1){
-              (void)fprintf(stdout,"%s%s",sng_val_sng,(prn_flg->cdl) ? "\"" : "");
+              (void)fprintf(stdout,"%s%s",sng_val_sng,(CDL) ? "\"" : "");
               /* Print separator after non-final string */
               if(lmn != var_szm1) (void)fprintf(stdout,"%s",spr_sng);
             } /* endif string end */
@@ -1493,14 +1649,14 @@ nco_prn_var_val_trv /* [fnc] Print variable data (GTT version) */
           sng_lngm1=sng_lng-1UL;
           /* Worst case is printable strings are six or four times longer than unformatted, i.e., '\"' == """ or '\\' == "\\\\" */
           sng_val_sng=(char *)nco_malloc(6*sng_lng+1UL);
-          if(prn_flg->cdl) (void)fprintf(stdout,"\"");
+          if(CDL) (void)fprintf(stdout,"\"");
           sng_val_sng[0]='\0';
           for(chr_idx=0;chr_idx<sng_lng;chr_idx++){
             val_sng[0]='\0';
             chr_val=sng_val[chr_idx];
 	    (void)strcat(sng_val_sng,(*chr2sng_sf)(chr_val,val_sng));
           } /* end loop over character */
-          (void)fprintf(stdout,"%s%s",sng_val_sng,(prn_flg->xml) ? "" : "\"");
+          (void)fprintf(stdout,"%s%s",sng_val_sng,(XML) ? "" : "\"");
           /* Print separator after non-final string */
           if(lmn != var_szm1) (void)fprintf(stdout,"%s",spr_sng);
           sng_val_sng=(char *)nco_free(sng_val_sng);
@@ -1511,10 +1667,11 @@ nco_prn_var_val_trv /* [fnc] Print variable data (GTT version) */
       if(var.type != NC_CHAR && var.type != NC_STRING) (void)fprintf(stdout,"%s%s",val_sng,(lmn != var_szm1) ? spr_sng : "");
     } /* end loop over element */
     rcd_prn+=0; /* CEWI */
-    if(prn_flg->cdl) (void)fprintf(stdout," ;\n");
-    if(prn_flg->xml) (void)fprintf(stdout,"</values>\n");
+    if(CDL) (void)fprintf(stdout," ;\n");
+    if(XML) (void)fprintf(stdout,"</values>\n");
+    if(JSN) (void)fprintf(stdout,"], ");
 
-  } /* end if prn_flg->cdl || prn_flg->xml */
+  } /* end if CDL_OR_JSN_OR_XML */
 
   if(prn_flg->PRN_DMN_UNITS){
     const char units_nm[]="units"; /* [sng] Name of units attribute */
@@ -1536,7 +1693,7 @@ nco_prn_var_val_trv /* [fnc] Print variable data (GTT version) */
     } /* end if */
   } /* end if PRN_DMN_UNITS */
 
-  if(var.nbr_dim == 0 && !dlm_sng && !prn_flg->cdl && !prn_flg->xml){
+  if(var.nbr_dim == 0 && !dlm_sng && TRD){
     /* Variable is scalar, byte, or character */
     lmn=0L;
     if(prn_flg->PRN_MSS_VAL_BLANK) is_mss_val = var.has_mss_val ? !memcmp(var.val.vp,var.mss_val.vp,(size_t)val_sz_byt) : False; 
@@ -1594,7 +1751,7 @@ nco_prn_var_val_trv /* [fnc] Print variable data (GTT version) */
     } /* !is_mss_val */
   } /* end if variable is scalar, byte, or character */
 
-  if(var.nbr_dim > 0 && !dlm_sng && !prn_flg->cdl && !prn_flg->xml){
+  if(var.nbr_dim > 0 && !dlm_sng && TRD){
 
     /* Create mod_map_in */
     for(int idx=0;idx<var.nbr_dim;idx++) mod_map_in[idx]=1L;
@@ -1907,12 +2064,23 @@ nco_grp_prn /* [fnc] Recursively print group contents */
   int var_idx;                     /* [idx] Variable index */
   int var_nbr_xtr;                 /* [nbr] Number of extracted variables */
 
+  const nco_bool CDL=prn_flg->cdl; /* [flg] CDL output */
+  const nco_bool XML=prn_flg->xml; /* [flg] XML output */
+  const nco_bool TRD=prn_flg->trd; /* [flg] Traditional output */
+  const nco_bool SRM=prn_flg->srm; /* [flg] Stream output */
+  const nco_bool JSN=prn_flg->jsn; /* [flg] JSON output */
+  const nco_bool CDL_OR_XML=prn_flg->cdl || prn_flg->xml; /* [flg] CDL or XML output */
+  const nco_bool CDL_OR_TRD=prn_flg->cdl || prn_flg->trd; /* [flg] CDL or Traditional output */
+  const nco_bool CDL_OR_JSN_OR_TRD=prn_flg->cdl || prn_flg->jsn || prn_flg->trd; /* [flg] CDL or JSON or Traditional output */
+  const nco_bool CDL_OR_TRD_OR_XML=prn_flg->cdl || prn_flg->trd || prn_flg->xml; /* [flg] CDL or Traditional or XML output */
+
   nm_id_sct *dmn_lst; /* [sct] Dimension list */
   nm_id_sct *var_lst; /* [sct] Variable list */
 
   unsigned int dmn_idx; /* [idx] Index over dimensions */
   unsigned int dmn_nbr; /* [nbr] Number of dimensions defined in group */
   unsigned int obj_idx; /* [idx] Index over traversal table */
+  unsigned int obj_idx_crr; /* [idx] Object index for this group */
 
   /* Initialize */
   dmn_nbr=0; /* [nbr] Number of dimensions defined in group */
@@ -1928,6 +2096,7 @@ nco_grp_prn /* [fnc] Recursively print group contents */
   (void)nco_inq_grp_full_ncid(nc_id,grp_nm_fll,&grp_id);
 
   /* Obtain group information */
+  obj_idx_crr=obj_idx;
   grp_dpt=trv_tbl->lst[obj_idx].grp_dpt;
   nbr_att=trv_tbl->lst[obj_idx].nbr_att;
   nbr_var=trv_tbl->lst[obj_idx].nbr_var;
@@ -1958,35 +2127,34 @@ nco_grp_prn /* [fnc] Recursively print group contents */
   /* Sort dimensions alphabetically */
   if(dmn_nbr > 1) dmn_lst=nco_lst_srt_nm_id(dmn_lst,dmn_nbr,prn_flg->ALPHA_BY_STUB_GROUP);
 
-  if(prn_flg->xml){
+  if(XML){
     if(grp_dpt == 0){
       if(prn_flg->xml_lcn) (void)fprintf(stdout,"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<netcdf xmlns=\"http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2\" location=\"%s\">\n",prn_flg->fl_in); else (void)fprintf(stdout,"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<netcdf xmlns=\"http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2\">\n");
       if(prn_flg->nfo_xtr) (void)fprintf(stdout,"%*s<!-- %s -->\n",prn_flg->sxn_fst,spc_sng,prn_flg->smr_sng);
     }else{ /* grp_dpt != 0 */
       (void)fprintf(stdout,"%*s<group name=\"%s\">\n",grp_dpt*prn_flg->spc_per_lvl,spc_sng,trv_tbl->lst[obj_idx].nm);
     } /* grp_dpt != 0 */
-  }else if(prn_flg->srm){ /* !xml */
+  }else if(SRM){ /* !xml */
     /* https://www.unidata.ucar.edu/software/thredds/current/netcdf-java/stream/NcStream.html */
-    
-  }else{ /* !xml */
+  }else if(CDL_OR_TRD){ /* !xml */
     nm_cdl=nm2sng_cdl(nco_gpe_evl_stb(prn_flg->gpe,trv_tbl->lst[obj_idx].nm_fll));
-    if(grp_dpt == 0 && prn_flg->cdl) (void)fprintf(stdout,"netcdf %s {",prn_flg->fl_stb); else (void)fprintf(stdout,"%*sgroup: %s {",grp_dpt*prn_flg->spc_per_lvl,spc_sng,nm_cdl);
+    if(grp_dpt == 0 && CDL) (void)fprintf(stdout,"netcdf %s {",prn_flg->fl_stb); else (void)fprintf(stdout,"%*sgroup: %s {",grp_dpt*prn_flg->spc_per_lvl,spc_sng,nm_cdl);
     nm_cdl=(char *)nco_free(nm_cdl);
     if(prn_flg->fll_pth) (void)fprintf(stdout," // fullname: %s\n",nco_gpe_evl(prn_flg->gpe,grp_nm_fll)); else (void)fprintf(stdout,"\n");
-    if(grp_dpt == 0 && prn_flg->nfo_xtr) (void)fprintf(stdout,"%*s// %s\n",prn_flg->sxn_fst,spc_sng,prn_flg->smr_sng);
+    if(grp_dpt == 0 && prn_flg->nfo_xtr && prn_flg->PRN_GLB_METADATA) (void)fprintf(stdout,"%*s// %s\n",prn_flg->sxn_fst,spc_sng,prn_flg->smr_sng);
     if(grp_dpt == 0 && prn_flg->nfo_xtr) (void)fprintf(stdout,"%*s// ncgen -k netCDF-4 -b -o %s.nc %s.cdl\n",prn_flg->sxn_fst,spc_sng,prn_flg->fl_stb,prn_flg->fl_stb);
-  } /* !xml */
+  } /* !XML */
 
   /* Print dimension information for group */
   prn_ndn=prn_flg->ndn=prn_flg->sxn_fst+grp_dpt*prn_flg->spc_per_lvl;
-  if(dmn_nbr > 0 && !prn_flg->xml) (void)fprintf(stdout,"%*sdimensions:\n",prn_flg->ndn,spc_sng);
-  if(prn_flg->cdl) prn_ndn+=prn_flg->var_fst;
+  if(dmn_nbr > 0 && CDL_OR_TRD) (void)fprintf(stdout,"%*sdimensions:\n",prn_flg->ndn,spc_sng);
+  if(CDL) prn_ndn+=prn_flg->var_fst;
   for(dmn_idx=0;dmn_idx<dmn_nbr;dmn_idx++){
-    if(prn_flg->xml){
+    if(XML){
       (void)fprintf(stdout,"%*s<dimension name=\"%s\" length=\"%lu\" %s/>\n",prn_ndn,spc_sng,dmn_lst[dmn_idx].nm,(unsigned long)trv_tbl->lst_dmn[dmn_lst[dmn_idx].id].lmt_msa.dmn_cnt,trv_tbl->lst_dmn[dmn_lst[dmn_idx].id].is_rec_dmn ? "isUnlimited=\"true\" " : "");
-    }else{ /* !XML */
+    }else if(CDL_OR_TRD){ /* !XML */
       nm_cdl=nm2sng_cdl(dmn_lst[dmn_idx].nm);
-      if(trv_tbl->lst_dmn[dmn_lst[dmn_idx].id].is_rec_dmn) (void)fprintf(stdout,"%*s%s = UNLIMITED%s// (%lu currently)\n",prn_ndn,spc_sng,nm_cdl,(prn_flg->cdl) ? " ; " : " ",(unsigned long)trv_tbl->lst_dmn[dmn_lst[dmn_idx].id].lmt_msa.dmn_cnt); else (void)fprintf(stdout,"%*s%s = %lu%s\n",prn_ndn,spc_sng,nm_cdl,(unsigned long)trv_tbl->lst_dmn[dmn_lst[dmn_idx].id].lmt_msa.dmn_cnt,(prn_flg->cdl) ? " ;" : "");
+      if(trv_tbl->lst_dmn[dmn_lst[dmn_idx].id].is_rec_dmn) (void)fprintf(stdout,"%*s%s = UNLIMITED%s// (%lu currently)\n",prn_ndn,spc_sng,nm_cdl,(CDL) ? " ; " : " ",(unsigned long)trv_tbl->lst_dmn[dmn_lst[dmn_idx].id].lmt_msa.dmn_cnt); else (void)fprintf(stdout,"%*s%s = %lu%s\n",prn_ndn,spc_sng,nm_cdl,(unsigned long)trv_tbl->lst_dmn[dmn_lst[dmn_idx].id].lmt_msa.dmn_cnt,(CDL) ? " ;" : "");
       nm_cdl=(char *)nco_free(nm_cdl);
     } /* !XML */
   } /* end loop over dimension */
@@ -2041,36 +2209,40 @@ nco_grp_prn /* [fnc] Recursively print group contents */
   /* Sort variables alphabetically */
   if(var_nbr_xtr > 1) var_lst=nco_lst_srt_nm_id(var_lst,var_nbr_xtr,prn_flg->ALPHA_BY_STUB_GROUP);
 
+  if(JSN) (void)fprintf(stdout,"{\n");
+
   /* Print variable information for group */
-  if(var_nbr_xtr > 0 && !prn_flg->xml) (void)fprintf(stdout,"\n%*svariables:\n",prn_flg->ndn,spc_sng);
+  if(var_nbr_xtr > 0 && CDL_OR_TRD) (void)fprintf(stdout,"\n%*svariables:\n",prn_flg->ndn,spc_sng);
   for(var_idx=0;var_idx<var_nbr_xtr;var_idx++){
     trv_sct var_trv=trv_tbl->lst[var_lst[var_idx].id];
 
     /* Print variable full name */
-    if(var_trv.grp_dpt > 0 && prn_flg->fll_pth && prn_flg->trd) (void)fprintf(stdout,"%*s%s\n",prn_flg->ndn,spc_sng,var_trv.nm_fll);
+    if(var_trv.grp_dpt > 0 && prn_flg->fll_pth && TRD) (void)fprintf(stdout,"%*s%s\n",prn_flg->ndn,spc_sng,var_trv.nm_fll);
 
     /* Print variable metadata */ 
-    if(prn_flg->PRN_VAR_METADATA || prn_flg->cdl || prn_flg->xml) (void)nco_prn_var_dfn(nc_id,prn_flg,&var_trv);
+    if(prn_flg->PRN_VAR_METADATA || CDL_OR_XML) (void)nco_prn_var_dfn(nc_id,prn_flg,&var_trv);
 
     /* Obtain variable ID using group ID */
     (void)nco_inq_varid(grp_id,var_trv.nm,&var_id);
 
     /* Print variable attributes */
-    if(prn_flg->PRN_VAR_METADATA) (void)nco_prn_att(grp_id,prn_flg,var_id);
+    if(JSN && prn_flg->PRN_VAR_METADATA) (void)fprintf(stdout,"\"attributes\": [");
+    if(CDL_OR_TRD_OR_XML || (JSN && prn_flg->PRN_VAR_METADATA)) (void)nco_prn_att(grp_id,prn_flg,var_id);
+    if(JSN && prn_flg->PRN_VAR_METADATA) (void)fprintf(stdout,"], \n");
 
-    if(prn_flg->xml && prn_flg->PRN_VAR_DATA) (void)nco_prn_var_val_trv(nc_id,prn_flg,&trv_tbl->lst[var_lst[var_idx].id],trv_tbl);
-    if(prn_flg->xml && (prn_flg->PRN_VAR_DATA || prn_flg->PRN_VAR_METADATA)) (void)fprintf(stdout,"%*s</variable>\n",prn_ndn,spc_sng);
+    if(XML && prn_flg->PRN_VAR_DATA) (void)nco_prn_var_val_trv(nc_id,prn_flg,&trv_tbl->lst[var_lst[var_idx].id],trv_tbl);
+    if(XML && (prn_flg->PRN_VAR_DATA || prn_flg->PRN_VAR_METADATA)) (void)fprintf(stdout,"%*s</variable>\n",prn_ndn,spc_sng);
 
-    if(var_idx != var_nbr_xtr-1 && !prn_flg->xml) (void)fprintf(stdout,"\n");
+    if(var_idx != var_nbr_xtr-1 && CDL_OR_TRD) (void)fprintf(stdout,"\n");
   } /* end loop over var_idx */
 
   /* Print attribute information for group */
-  if(nbr_att > 0 && prn_flg->PRN_GLB_METADATA && !prn_flg->xml) (void)fprintf(stdout,"\n%*s%s%sattributes:\n",prn_flg->ndn,spc_sng,(prn_flg->cdl) ? "// " : "",(grp_dpt == 0) ? "global " : "group ");
-  if(nbr_att > 0 && prn_flg->PRN_GLB_METADATA) nco_prn_att(grp_id,prn_flg,NC_GLOBAL);
+  if((nbr_att > 0 || (prn_flg->hdn && grp_dpt == 0)) && prn_flg->PRN_GLB_METADATA && CDL_OR_TRD) (void)fprintf(stdout,"\n%*s%s%sattributes:\n",prn_flg->ndn,spc_sng,(CDL) ? "// " : "",(grp_dpt == 0) ? "global " : "group ");
+  if((nbr_att > 0 || (prn_flg->hdn && grp_dpt == 0)) && prn_flg->PRN_GLB_METADATA) nco_prn_att(grp_id,prn_flg,NC_GLOBAL);
 
   /* Print data for group */
-  if(var_nbr_xtr > 0 && prn_flg->PRN_VAR_DATA && !prn_flg->xml){
-    (void)fprintf(stdout,"\n%*sdata:\n",prn_flg->ndn,spc_sng);
+  if(CDL_OR_JSN_OR_TRD && var_nbr_xtr > 0 && prn_flg->PRN_VAR_DATA){
+    if(CDL_OR_TRD) (void)fprintf(stdout,"\n%*sdata:\n",prn_flg->ndn,spc_sng);
     for(var_idx=0;var_idx<var_nbr_xtr;var_idx++) (void)nco_prn_var_val_trv(nc_id,prn_flg,&trv_tbl->lst[var_lst[var_idx].id],trv_tbl);
   } /* end if */
 
@@ -2081,6 +2253,8 @@ nco_grp_prn /* [fnc] Recursively print group contents */
   grp_ids=(int *)nco_malloc(nbr_grp*sizeof(int)); 
   rcd+=nco_inq_grps(grp_id,(int *)NULL,grp_ids);
 
+  if(JSN && prn_flg->PRN_GLB_METADATA) (void)fprintf(stdout,"\"nodes\": [");
+
   /* Call recursively for all extracted subgroups */
   for(grp_idx=0;grp_idx<nbr_grp;grp_idx++){
     char *sub_grp_nm_fll=NULL; /* [sng] Sub group path */
@@ -2089,6 +2263,8 @@ nco_grp_prn /* [fnc] Recursively print group contents */
     /* Get sub-group name */
     rcd+=nco_inq_grpname(gid,grp_nm);
 
+    if(JSN) (void)fprintf(stdout,"{\"name\": \"%s\"}%s",grp_nm,(grp_idx == nbr_grp-1) ? "" : ", ");
+
     /* Allocate path buffer including space for trailing NUL */ 
     sub_grp_nm_fll=(char *)nco_malloc(strlen(grp_nm_fll)+strlen(grp_nm)+2L);
 
@@ -2107,16 +2283,22 @@ nco_grp_prn /* [fnc] Recursively print group contents */
 	if(!strcmp(trv_tbl->lst[obj_idx].grp_nm_fll,sub_grp_nm_fll))
 	  break;
     
-    /* Is sub-group to be extracted? */
-    if(trv_tbl->lst[obj_idx].flg_xtr) rcd+=nco_grp_prn(nc_id,sub_grp_nm_fll,prn_flg,trv_tbl);
+    /* Is sub-group to be extracted? If so, recurse */
+    if(!JSN && trv_tbl->lst[obj_idx].flg_xtr) rcd+=nco_grp_prn(nc_id,sub_grp_nm_fll,prn_flg,trv_tbl);
 
     /* Free constructed name */
     sub_grp_nm_fll=(char *)nco_free(sub_grp_nm_fll);
   } /* end loop over grp_idx */
 
-  if(prn_flg->xml && grp_dpt == 0) (void)fprintf(stdout,"</netcdf>\n"); 
-  if(prn_flg->xml && grp_dpt != 0) (void)fprintf(stdout,"%*s</group>\n",grp_dpt*prn_flg->spc_per_lvl,spc_sng); 
-  if(prn_flg->cdl) (void)fprintf(stdout,"%*s} // group %s\n",grp_dpt*prn_flg->spc_per_lvl,spc_sng,(grp_dpt == 0) ? grp_nm_fll : nco_gpe_evl(prn_flg->gpe,grp_nm_fll));
+  if(JSN && prn_flg->PRN_GLB_METADATA) (void)fprintf(stdout,"], \n"); /* End node-list */
+  if(JSN) (void)fprintf(stdout,"\"w10n\": [{\"name\": \"spec\", \"value\": \"draft-20091228\"}, {\"name\": \"application\", \"value\": \"%s\"}, {\"name\": \"type\", \"value\": \"%s\"}, {\"name\": \"path\", \"value\": \"%s\"}, {\"name\": \"identifier\", \"value\": \"/\"}]}, \n",nco_prg_nm_get(),jsn_fmt_xtn_nm(nco_fmt_xtn_get()),prn_flg->fl_in);
+  if(JSN && prn_flg->PRN_GLB_METADATA) (void)fprintf(stdout,"\"name\": \"%s\"\n",(grp_dpt == 0) ? "" : trv_tbl->lst[obj_idx_crr].nm);
+
+  /* Mark end of output */
+  if(CDL_OR_TRD) (void)fprintf(stdout,"%*s} // group %s\n",grp_dpt*prn_flg->spc_per_lvl,spc_sng,(grp_dpt == 0) ? grp_nm_fll : nm2sng_cdl(nco_gpe_evl(prn_flg->gpe,grp_nm_fll)));
+  if(JSN) (void)fprintf(stdout,"}\n");
+  if(XML && grp_dpt == 0) (void)fprintf(stdout,"</netcdf>\n"); 
+  if(XML && grp_dpt != 0) (void)fprintf(stdout,"%*s</group>\n",grp_dpt*prn_flg->spc_per_lvl,spc_sng); 
 
   return rcd;
 } /* end nco_grp_prn() */
@@ -2199,3 +2381,43 @@ nco_xml_typ_rqr_flv_att /* [fnc] Does type require hidden _FillValue attribute f
   /* Some compilers, e.g., SGI cc, need return statement to end non-void functions */
   return False;
 } /* end nco_xml_typ_rqr_flv_att() */
+
+void
+nco_dfl_case_fmt_xtn_err(void) /* [fnc] Print error and exit for illegal switch(nco_fmt_xtn) case */
+{
+  /* Purpose: Convenience routine for printing error and exiting when
+     switch(nco_fmt_xtn) statement receives an illegal default case
+
+     Placing this in its own routine also has the virtue of saving many lines
+     of code since this function is used in many many switch() statements. */
+  const char fnc_nm[]="nco_dfl_case_fmt_xtn_err()";
+  (void)fprintf(stdout,"%s: ERROR switch(nco_fmt_xtn) statement fell through to default case, which is unsafe. This catch-all error handler ensures all switch(nco_fmt_xtn) statements are fully enumerated. Exiting...\n",fnc_nm);
+  nco_err_exit(0,fnc_nm);
+} /* end nco_dfl_case_fmt_xtn_err() */
+
+const char * /* O [sng] JSON file type */
+jsn_fmt_xtn_nm /* [fnc] Return string describing JSON filetype */
+(const int fl_fmt_xtn) /* I [enm] Extended filetype */
+{
+  /* Purpose: Divine JSON filetype string from netCDF exteded filetype enum */
+  switch(fl_fmt_xtn){
+  case nco_fmt_xtn_nil: /* 0 NC_FORMAT_UNDEFINED Undefined (more precisely, not yet defined) */
+    return "nil";
+  case nco_fmt_xtn_nc3: /* 1 NC_FORMAT_NC3 netCDF3 */
+    return "nc3";
+  case nco_fmt_xtn_hdf5: /* 2 NC_FORMAT_NC_HDF5 HDF5 */
+    return "hdf5";
+  case nco_fmt_xtn_hdf4: /* 3 NC_FORMAT_NC_HDF4 HDF4 */
+    return "hdf4";
+  case nco_fmt_xtn_pnetcdf: /* 4 NC_FORMAT_PNETCDF PnetCDF */
+    return "pnetcdf";
+  case nco_fmt_xtn_dap2: /* 5 NC_FORMAT_DAP2 DAP2 */
+    return "dap2";
+  case nco_fmt_xtn_dap4: /* 6 NC_FORMAT_DAP4 DAP4 */
+    return "dap4";
+  default: nco_dfl_case_fmt_xtn_err(); break;
+  } /* end switch */
+
+  /* Some compilers, e.g., SGI cc, need return statement to end non-void functions */
+  return (char *)NULL;
+} /* end jsn_fmt_xtn_nm() */
diff --git a/src/nco/nco_prn.h b/src/nco/nco_prn.h
index 87f8922..8c81b69 100644
--- a/src/nco/nco_prn.h
+++ b/src/nco/nco_prn.h
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_prn.h,v 1.50 2013/11/16 22:00:58 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_prn.h,v 1.52 2014/02/06 00:48:18 zender Exp $ */
 
 /* Purpose: Print variables, attributes, metadata */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -112,6 +112,14 @@ nco_bool /* O [flg] Type requires hidden attribute string */
 nco_xml_typ_rqr_nsg_att /* [fnc] Does type require hidden _Unsigned attribute for XML representation? */
 (const nc_type nco_typ); /* I [enm] netCDF type */
 
+void
+nco_dfl_case_fmt_xtn_err /* [fnc] Print error and exit for illegal switch(nco_fmt_xtn) case */
+(void);
+
+const char * /* O [sng] JSON file type */
+jsn_fmt_xtn_nm /* [fnc] Return string describing JSON filetype */
+(const int fl_fmt_xtn); /* I [enm] Extended filetype */
+
 #ifdef __cplusplus
 } /* end extern "C" */
 #endif /* __cplusplus */
diff --git a/src/nco/nco_rec_var.c b/src/nco/nco_rec_var.c
index df60b4b..746b51b 100644
--- a/src/nco/nco_rec_var.c
+++ b/src/nco/nco_rec_var.c
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_rec_var.c,v 1.28 2013/10/22 03:03:46 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_rec_var.c,v 1.29 2013/12/31 05:14:02 zender Exp $ */
 
 /* Purpose: Record variable utilities */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco/nco_rec_var.h b/src/nco/nco_rec_var.h
index f1c7c5b..75ca0a6 100644
--- a/src/nco/nco_rec_var.h
+++ b/src/nco/nco_rec_var.h
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_rec_var.h,v 1.20 2013/01/13 06:07:47 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_rec_var.h,v 1.21 2013/12/31 05:14:02 zender Exp $ */
 
 /* Purpose: Record variable utilities */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco/nco_rth_flt.c b/src/nco/nco_rth_flt.c
index 72e4e04..ca4b5bf 100644
--- a/src/nco/nco_rth_flt.c
+++ b/src/nco/nco_rth_flt.c
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_rth_flt.c,v 1.37 2013/10/22 03:03:46 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_rth_flt.c,v 1.38 2013/12/31 05:14:02 zender Exp $ */
 
 /* Purpose: Float-precision arithmetic, MSVC macros */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco/nco_rth_flt.h b/src/nco/nco_rth_flt.h
index 2fc36e3..cd434d4 100644
--- a/src/nco/nco_rth_flt.h
+++ b/src/nco/nco_rth_flt.h
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_rth_flt.h,v 1.50 2013/07/25 19:45:57 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_rth_flt.h,v 1.51 2013/12/31 05:14:02 zender Exp $ */
 
 /* Purpose: Float-precision arithmetic, MSVC macros */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco/nco_rth_utl.c b/src/nco/nco_rth_utl.c
index 01cb465..7443403 100644
--- a/src/nco/nco_rth_utl.c
+++ b/src/nco/nco_rth_utl.c
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_rth_utl.c,v 1.61 2013/12/02 01:05:56 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_rth_utl.c,v 1.69 2014/02/17 23:12:38 zender Exp $ */
 
 /* Purpose: Arithmetic controls and utilities */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -39,8 +39,7 @@ nco_opr_nrm /* [fnc] Normalization of arithmetic operations for ncra/nces */
  const int nbr_var_prc, /* I [nbr] Number of processed variables */
  X_CST_PTR_CST_PTR_Y(var_sct,var_prc), /* I [sct] Variables in input file */
  X_CST_PTR_CST_PTR_Y(var_sct,var_prc_out), /* I/O [sct] Variables in output file */
- const nco_bool flg_nrm, /* I [flg] This record needs normalization */
- 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] Full name of record dimension */
  const trv_tbl_sct * const trv_tbl) /* I [sct] Traversal table */
 {
   /* Purpose: Normalize appropriate ncra/nces operation (avg, min, max, ttl, ...) on operands
@@ -59,18 +58,16 @@ nco_opr_nrm /* [fnc] Normalization of arithmetic operations for ncra/nces */
 #endif /* !_OPENMP */
   for(idx=0;idx<nbr_var_prc_cpy;idx++){
 
-    /* Skip variable if does not relate to current record */
-    if (rec_nm_fll){
+    /* In normalizations over record dimension, only normalize those variables that contain current record dimension */
+    if(rec_nm_fll){
       nco_bool flg_skp=nco_skp_var(var_prc[idx],rec_nm_fll,trv_tbl);
-      if (flg_skp){
-        continue;
-      }
-    }
+      if(flg_skp) continue;
+    } /* !rec_nm_fll */
 
     if(var_prc[idx]->is_crd_var){
       /* Return linear averages of coordinates unless computing extrema
-      Prevent coordinate variables from encountering nco_var_nrm_sdn() */
-      (void)nco_var_nrm(var_prc_out[idx]->type,var_prc_out[idx]->sz,var_prc[idx]->has_mss_val,var_prc[idx]->mss_val,var_prc[idx]->tally,var_prc_out[idx]->val);
+	 Prevent coordinate variables from encountering nco_var_nrm_sdn() */
+      (void)nco_var_nrm(var_prc_out[idx]->type,var_prc_out[idx]->sz,var_prc[idx]->has_mss_val,var_prc_out[idx]->mss_val,var_prc[idx]->tally,var_prc_out[idx]->val);
     }else{ /* !var_prc[idx]->is_crd_var */
       switch(nco_op_typ_cpy){
       case nco_op_avg: /* Normalize sum by tally to create mean */
@@ -78,17 +75,16 @@ nco_opr_nrm /* [fnc] Normalization of arithmetic operations for ncra/nces */
       case nco_op_sqravg: /* Normalize sum by tally to create mean */
       case nco_op_rms: /* Normalize sum of squares by tally to create mean square */
       case nco_op_avgsqr: /* Normalize sum of squares by tally to create mean square */
-        (void)nco_var_nrm(var_prc_out[idx]->type,var_prc_out[idx]->sz,var_prc[idx]->has_mss_val,var_prc[idx]->mss_val,var_prc[idx]->tally,var_prc_out[idx]->val);
-
+        (void)nco_var_nrm(var_prc_out[idx]->type,var_prc_out[idx]->sz,var_prc[idx]->has_mss_val,var_prc_out[idx]->mss_val,var_prc[idx]->tally,var_prc_out[idx]->val);
         break;
       case nco_op_rmssdn: /* Normalize sum of squares by tally-1 to create mean square for sdn */
-        (void)nco_var_nrm_sdn(var_prc_out[idx]->type,var_prc_out[idx]->sz,var_prc[idx]->has_mss_val,var_prc[idx]->mss_val,var_prc[idx]->tally,var_prc_out[idx]->val);
+        (void)nco_var_nrm_sdn(var_prc_out[idx]->type,var_prc_out[idx]->sz,var_prc[idx]->has_mss_val,var_prc_out[idx]->mss_val,var_prc[idx]->tally,var_prc_out[idx]->val);
         break;
       case nco_op_min: /* Minimum is already in buffer, do nothing */
       case nco_op_max: /* Maximum is already in buffer, do nothing */
         break;
       case nco_op_ttl: /* Total is already in buffer, stuff missing values into elements with zero tally */
-        (void)nco_var_tll_zro_mss_val(var_prc_out[idx]->type,var_prc_out[idx]->sz,var_prc[idx]->has_mss_val,var_prc[idx]->mss_val,var_prc[idx]->tally,var_prc_out[idx]->val);
+        (void)nco_var_tll_zro_mss_val(var_prc_out[idx]->type,var_prc_out[idx]->sz,var_prc[idx]->has_mss_val,var_prc_out[idx]->mss_val,var_prc[idx]->tally,var_prc_out[idx]->val);
         break;
       default:
         break;
@@ -98,7 +94,7 @@ nco_opr_nrm /* [fnc] Normalization of arithmetic operations for ncra/nces */
       case nco_op_rms: /* Take root of mean of sum of squares to create root mean square */
       case nco_op_rmssdn: /* Take root of sdn mean of sum of squares to create root mean square for sdn */
       case nco_op_sqrt: /* Take root of mean to create root mean */
-        (void)nco_var_sqrt(var_prc_out[idx]->type,var_prc_out[idx]->sz,var_prc[idx]->has_mss_val,var_prc[idx]->mss_val,var_prc[idx]->tally,var_prc_out[idx]->val,var_prc_out[idx]->val);
+        (void)nco_var_sqrt(var_prc_out[idx]->type,var_prc_out[idx]->sz,var_prc[idx]->has_mss_val,var_prc_out[idx]->mss_val,var_prc[idx]->tally,var_prc_out[idx]->val,var_prc_out[idx]->val);
         break;
       case nco_op_sqravg: /* Square mean to create square of the mean (for sdn) */
         (void)nco_var_mlt(var_prc_out[idx]->type,var_prc_out[idx]->sz,var_prc_out[idx]->has_mss_val,var_prc_out[idx]->mss_val,var_prc_out[idx]->val,var_prc_out[idx]->val);
@@ -152,7 +148,7 @@ nco_opr_drv /* [fnc] Intermediate control of arithmetic operations for ncra/nces
     if(idx_rec == 0) (void)nco_var_copy(var_prc->type,var_prc->sz,var_prc->val,var_prc_out->val); else (void)nco_var_max_bnr(var_prc_out->type,var_prc_out->sz,var_prc->has_mss_val,var_prc->mss_val,var_prc->val,var_prc_out->val);
     break;	
   case nco_op_ttl: /* Total */
-    /* NB: copying input to output on first loop for nco_op_ttl, in similar manner to nco_op_[max/min], can work
+    /* NB: Copying input to output on first loop for nco_op_ttl, in similar manner to nco_op_[max/min], can work
        However, copying with nco_var_copy() would not change the tally variable, leaving it equal to zero
        Then an extra step would be necessary to set tally equal to one where missing values were not present
        Otherwise, e.g., ensemble averages of one file would never have non-zero tallies
@@ -182,6 +178,33 @@ nco_opr_drv /* [fnc] Intermediate control of arithmetic operations for ncra/nces
   } /* end switch */
 } /* end nco_opr_drv() */
 
+const char * /* O [enm] Arithmetic operation */
+nco_op_typ_cf_sng /* [fnc] Convert arithmetic operation type enum to string */
+(const int nco_op_typ) /* I [enm] Arithmetic operation type */
+{
+  /* Purpose: Convert arithmetic operation type enum to string for use in CF Cell Methods 
+     http://cf-pcmdi.llnl.gov/documents/cf-conventions/1.7-draft1/cf-conventions.html#appendix-cell-methods */
+  switch(nco_op_typ){
+  case nco_op_avg: return "mean"; break; /* [enm] Average */
+  case nco_op_min: return "minimum"; break; /* [enm] Minimum value */
+  case nco_op_max: return "maximum"; break; /* [enm] Maximum value */
+  case nco_op_ttl: return "sum"; break; /* [enm] Linear sum */
+  case nco_op_sqravg: return "TBD"; break; /* [enm] Square of mean */
+  case nco_op_avgsqr: return "variance"; break; /* [enm] Mean of sum of squares */
+  case nco_op_sqrt: return "TBD"; break; /* [enm] Square root of mean */
+  case nco_op_rms: return "TBD"; break; /* [enm] Root-mean-square (normalized by N) */
+  case nco_op_rmssdn: return "TBD"; break; /* [enm] Root-mean square normalized by N-1 */
+  case nco_op_add:
+  case nco_op_sbt:
+  case nco_op_mlt:
+  case nco_op_dvd:
+  case nco_op_nil:
+  default:
+    return "BROKEN";
+    break; /* [enm] Nil or undefined operation type */
+  } /* end switch */
+} /* end nco_op_typ_cf_sng() */
+
 int /* O [enm] Arithmetic operation */
 nco_op_typ_get /* [fnc] Convert user-specified operation into operation key */
 (const char * const nco_op_sng) /* I [sng] User-specified operation */
@@ -212,24 +235,24 @@ nco_op_typ_get /* [fnc] Convert user-specified operation into operation key */
     nco_exit(EXIT_FAILURE);
   } /* endif */
 
-  if(!strcmp(nco_op_sng,"avg")) return nco_op_avg;
+  if(!strcmp(nco_op_sng,"avg") || !strcmp(nco_op_sng,"average") || !strcmp(nco_op_sng,"mean")) return nco_op_avg;
   if(!strcmp(nco_op_sng,"avgsqr")) return nco_op_avgsqr;
-  if(!strcmp(nco_op_sng,"max")) return nco_op_max;
-  if(!strcmp(nco_op_sng,"min")) return nco_op_min;
-  if(!strcmp(nco_op_sng,"rms")) return nco_op_rms;
+  if(!strcmp(nco_op_sng,"max") || !strcmp(nco_op_sng,"maximum")) return nco_op_max;
+  if(!strcmp(nco_op_sng,"min") || !strcmp(nco_op_sng,"minimum")) return nco_op_min;
+  if(!strcmp(nco_op_sng,"rms") || !strcmp(nco_op_sng,"root-mean-square")) return nco_op_rms;
   if(!strcmp(nco_op_sng,"rmssdn")) return nco_op_rmssdn;
   if(!strcmp(nco_op_sng,"sqravg")) return nco_op_sqravg;
-  if(!strcmp(nco_op_sng,"sqrt")) return nco_op_sqrt;
-  if(!strcmp(nco_op_sng,"total") || !strcmp(nco_op_sng,"ttl")) return nco_op_ttl;
+  if(!strcmp(nco_op_sng,"sqrt") || !strcmp(nco_op_sng,"square-root")) return nco_op_sqrt;
+  if(!strcmp(nco_op_sng,"total") || !strcmp(nco_op_sng,"ttl") || !strcmp(nco_op_sng,"sum")) return nco_op_ttl;
 
   if(!strcmp(nco_op_sng,"add") || !strcmp(nco_op_sng,"+") || !strcmp(nco_op_sng,"addition")) return nco_op_add;
   if(!strcmp(nco_op_sng,"sbt") || !strcmp(nco_op_sng,"-") || !strcmp(nco_op_sng,"dff") || !strcmp(nco_op_sng,"diff") || !strcmp(nco_op_sng,"sub") || !strcmp(nco_op_sng,"subtract") || !strcmp(nco_op_sng,"subtraction")) return nco_op_sbt;
   if(!strcmp(nco_op_sng,"dvd") || !strcmp(nco_op_sng,"/") || !strcmp(nco_op_sng,"divide") || !strcmp(nco_op_sng,"division")) return nco_op_dvd;
   if(!strcmp(nco_op_sng,"mlt") || !strcmp(nco_op_sng,"*") || !strcmp(nco_op_sng,"mult") || !strcmp(nco_op_sng,"multiply") || !strcmp(nco_op_sng,"multiplication")) return nco_op_mlt;
 
-  (void)fprintf(stderr,"%s: ERROR %s reports unknown user-specified operation type %s\n",nco_prg_nm,fnc_nm,nco_op_sng);
+  (void)fprintf(stderr,"%s: ERROR %s reports unknown user-specified operation type \"%s\"\n",nco_prg_nm,fnc_nm,nco_op_sng);
   (void)fprintf(stderr,"%s: HINT Valid operation type (op_typ) choices:\n",nco_prg_nm);
-  if(nco_prg_id == ncbo) (void)fprintf(stderr,"addition: add,+,addition\nsubtration: sbt,-,dff,diff,sub,subtract,subtraction\nmultiplication: mlt,*,mult,multiply,multiplication\ndivision: dvd,/,divide,division\n"); else (void)fprintf(stderr,"min,max,ttl,total,sqrt,sqravg,avgsqr,rms,rmssdn");
+  if(nco_prg_id == ncbo) (void)fprintf(stderr,"addition: add,+,addition\nsubtraction: sbt,-,dff,diff,sub,subtract,subtraction\nmultiplication: mlt,*,mult,multiply,multiplication\ndivision: dvd,/,divide,division\n"); else (void)fprintf(stderr,"min or minimum, max or maximum, ttl or total or sum, avg or average or mean, sqrt or square-root, sqravg, avgsqr, rms or root-mean-square, rmssdn\n");
   nco_exit(EXIT_FAILURE);
   return False; /* Statement should not be reached */
 } /* end nco_op_typ_get() */
diff --git a/src/nco/nco_rth_utl.h b/src/nco/nco_rth_utl.h
index 59efc24..ad988a4 100644
--- a/src/nco/nco_rth_utl.h
+++ b/src/nco/nco_rth_utl.h
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_rth_utl.h,v 1.39 2013/12/02 01:05:56 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_rth_utl.h,v 1.43 2014/01/03 19:44:44 zender Exp $ */
 
 /* Purpose: Arithmetic controls and utilities */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -47,14 +47,17 @@ int /* O [enm] Arithmetic operation */
 nco_op_typ_get /* [fnc] Convert user-specified operation into operation key */
 (const char * const nco_op_sng); /* I [sng] User-specified operation */
 
+const char * /* O [enm] Arithmetic operation */
+nco_op_typ_cf_sng /* [fnc] Convert arithmetic operation type enum to string */
+(const int nco_op_typ); /* I [enm] Arithmetic operation type */
+
 void 
 nco_opr_nrm /* [fnc] Normalization of arithmetic operations for ncra/nces */
 (const int nco_op_typ, /* I [enm] Operation type */
  const int nbr_var_prc, /* I [nbr] Number of processed variables */
  X_CST_PTR_CST_PTR_Y(var_sct,var_prc), /* I [sct] Variables in input file */
  X_CST_PTR_CST_PTR_Y(var_sct,var_prc_out), /* I/O [sct] Variables in output file */
- const nco_bool flg_nrm, /* I [flg] This record needs normalization */
- 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] Full name of record dimension */
  const trv_tbl_sct * const trv_tbl); /* I [sct] Traversal table */
 
 void 
diff --git a/src/nco/nco_scl_utl.c b/src/nco/nco_scl_utl.c
index 3d6aed1..098a023 100644
--- a/src/nco/nco_scl_utl.c
+++ b/src/nco/nco_scl_utl.c
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_scl_utl.c,v 1.30 2013/10/22 03:03:46 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_scl_utl.c,v 1.31 2013/12/31 05:14:02 zender Exp $ */
 
 /* Purpose: Scalar utilities */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco/nco_scl_utl.h b/src/nco/nco_scl_utl.h
index 8c9e102..169317a 100644
--- a/src/nco/nco_scl_utl.h
+++ b/src/nco/nco_scl_utl.h
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_scl_utl.h,v 1.23 2013/01/13 06:07:47 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_scl_utl.h,v 1.24 2013/12/31 05:14:02 zender Exp $ */
 
 /* Purpose: Scalar utilities */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco/nco_scm.c b/src/nco/nco_scm.c
index 733f437..737e6d4 100644
--- a/src/nco/nco_scm.c
+++ b/src/nco/nco_scm.c
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_scm.c,v 1.51 2013/10/22 03:03:46 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_scm.c,v 1.52 2013/12/31 05:14:02 zender Exp $ */
 
 /* Purpose: Software configuration management */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -30,7 +30,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_3_9 $";
+  char cvs_Name[]="$Name: nco-4_4_2 $";
   const char dlr_nm_cln_spc[]="$Name: "; /* [sng] Dollar name colon space */
   const char nco_sng[]="nco"; 
   const char spc_dlr[]=" $"; /* [sng] Space dollar */
@@ -147,7 +147,7 @@ void
 nco_cpy_prn(void) /* [fnc] Print copyright notice */
 {
   /* Purpose: Print copyright notice */
-  (void)fprintf(stderr,"Copyright (C) 1995--2013 Charlie Zender\n");
+  (void)fprintf(stderr,"Copyright (C) 1995--2014 Charlie Zender\n");
   (void)fprintf(stdout,"NCO is free software and comes with a BIG FAT KISS and ABOLUTELY NO WARRANTY\nLicense: GNU General Public License (GPL) Version 3\n");
 } /* end copyright_prn() */
 
diff --git a/src/nco/nco_scm.h b/src/nco/nco_scm.h
index fd78f1a..4b72e3a 100644
--- a/src/nco/nco_scm.h
+++ b/src/nco/nco_scm.h
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_scm.h,v 1.24 2013/01/13 06:07:47 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_scm.h,v 1.25 2013/12/31 05:14:02 zender Exp $ */
 
 /* Purpose: Software configuration management */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco/nco_sng_utl.c b/src/nco/nco_sng_utl.c
index a9a0b80..8cb95d6 100644
--- a/src/nco/nco_sng_utl.c
+++ b/src/nco/nco_sng_utl.c
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_sng_utl.c,v 1.66 2013/10/22 03:03:46 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_sng_utl.c,v 1.72 2014/01/29 20:59:19 pvicente Exp $ */
 
 /* Purpose: String utilities */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -15,36 +15,26 @@ strcasecmp /* [fnc] Lexicographical case-insensitive string comparison */
  const char * const sng_2) /* I [sng] Second string */
 {
   /* Copy of (const) input strings */
-  char *sng_1_c=strdup(sng_1);
-  char *sng_2_c=strdup(sng_2);
-
+  char *sng_1_c;
+  char *sng_2_c;
   char chr_1;
   char chr_2;
+
+  sng_1_c=(char *)sng_1;
+  sng_2_c=(char *)sng_2;
+
   while(1){
     chr_1=tolower(*sng_1_c++);
     chr_2=tolower(*sng_2_c++);
     if(chr_1 < chr_2){
-      /* Use free() not nco_free() to keep this more like a generic (non-NCO) library function */
-#ifndef _MSC_VER
-      sng_1_c=(char *)free(sng_1_c);
-      sng_2_c=(char *)free(sng_2_c);
-#endif /* _MSC_VER */
       return -1;
-    }
+    } /* end if */
     if(chr_1 > chr_2){
-#ifndef _MSC_VER
-      sng_1_c=(char *)free(sng_1_c);
-      sng_2_c=(char *)free(sng_2_c);
-#endif /* _MSC_VER */
       return 1;
-    }
+    } /* end if */
     if(chr_1 == 0){
-#ifndef _MSC_VER
-      sng_1_c=(char *)free(sng_1_c);
-      sng_2_c=(char *)free(sng_2_c);
-#endif
       return 0;
-    }
+    } /* end if */
   } /* end while */
 } /* end strcasecmp() */
 #endif /* !NEED_STRCASECMP */
diff --git a/src/nco/nco_sng_utl.h b/src/nco/nco_sng_utl.h
index 8fbd1ce..f8c6499 100644
--- a/src/nco/nco_sng_utl.h
+++ b/src/nco/nco_sng_utl.h
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_sng_utl.h,v 1.43 2013/10/05 23:22:25 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_sng_utl.h,v 1.44 2013/12/31 05:14:02 zender Exp $ */
 
 /* Purpose: String utilities */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco/nco_srm.c b/src/nco/nco_srm.c
index dd13b0a..f68adad 100644
--- a/src/nco/nco_srm.c
+++ b/src/nco/nco_srm.c
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_srm.c,v 1.1 2013/11/24 04:06:09 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_srm.c,v 1.2 2013/12/31 05:14:02 zender Exp $ */
 
 /* Purpose: Streams */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco/nco_srm.h b/src/nco/nco_srm.h
index 5d3ca06..8590352 100644
--- a/src/nco/nco_srm.h
+++ b/src/nco/nco_srm.h
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_srm.h,v 1.1 2013/11/24 04:06:09 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_srm.h,v 1.2 2013/12/31 05:14:02 zender Exp $ */
 
 /* Purpose: Streams */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco/nco_typ.h b/src/nco/nco_typ.h
index 90fde4c..dac32b7 100644
--- a/src/nco/nco_typ.h
+++ b/src/nco/nco_typ.h
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_typ.h,v 1.36 2013/02/09 00:19:38 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_typ.h,v 1.37 2013/12/31 05:14:02 zender Exp $ */
 
 /* Purpose: Type definitions, opaque types */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco/nco_var_avg.c b/src/nco/nco_var_avg.c
index 7396222..ead95a2 100644
--- a/src/nco/nco_var_avg.c
+++ b/src/nco/nco_var_avg.c
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_var_avg.c,v 1.74 2013/12/02 20:48:45 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_var_avg.c,v 1.79 2014/02/13 03:21:49 zender Exp $ */
 
 /* Purpose: Average variables */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -19,30 +19,30 @@ nco_var_avg /* [fnc] Reduce given variable over specified dimensions */
 {
   /* Threads: Routine is thread safe and calls no unsafe routines */
   /* Purpose: Reduce given variable over specified dimensions 
-  "Reduce" means to rank-reduce variable by performing arithmetic operation
-  Output variable is duplicate of input variable, except for averaging dimensions
-  Default operation is averaging, but nco_op_typ can also be min, max, etc.
-  nco_var_avg() overwrites contents, if any, of tally array with number of valid input elements contributing to each valid output element
-
-  Input variable structure is destroyed and routine returns resized, partially reduced variable
-  For some operations, such as min, max, ttl, variable returned by nco_var_avg() is complete and need not be further processed
-  For averaging operation, output variable must be normalized by its tally array
-  In other words, nco_var_nrm() should be called subsequently if normalization is desired
-  Normalization is not done internally to nco_var_avg() to allow user more flexibility */ 
-
+     "Reduce" means to rank-reduce variable by performing arithmetic operation
+     Output variable is duplicate of input variable, except for averaging dimensions
+     Default operation is averaging, but nco_op_typ can also be min, max, etc.
+     nco_var_avg() overwrites contents, if any, of tally array with number of valid input elements contributing to each valid output element
+
+     Input variable structure is destroyed and routine returns resized, partially reduced variable
+     For some operations, such as min, max, ttl, variable returned by nco_var_avg() is complete and need not be further processed
+     For averaging operation, output variable must be normalized by its tally array
+     In other words, nco_var_nrm() should be called subsequently if normalization is desired
+     Normalization is not done internally to nco_var_avg() to allow user more flexibility */ 
+  
   /* Routine keeps track of three variables whose abbreviations are:
-  avg: Array of averaging blocks, each a contiguous arrangement of all 
-  elements of var which contribute to a single element of fix.
-  fix: Output (averaged) variable
-  rdd: Output (averaged) variable which retains degenerate dimensions
-  var: Input variable (already hyperslabbed)
-
-  It is easier to implement averaging as if all averaged dimensions are eliminated
-  This presumption allows us to ignore degenerate dimension indices
-  Including degenerate dimensions in fix would also complicate MRV-detection code 
-  The core averaging algorithm treats input data as single 1-D array
-  To retain degenerate dimensions, fxm */
-
+     avg: Array of averaging blocks, each a contiguous arrangement of all 
+     elements of var which contribute to a single element of fix.
+     fix: Output (averaged) variable
+     rdd: Output (averaged) variable which retains degenerate dimensions
+     var: Input variable (already hyperslabbed)
+     
+     It is easier to implement averaging as if all averaged dimensions are eliminated
+     This presumption allows us to ignore degenerate dimension indices
+     Including degenerate dimensions in fix would also complicate MRV-detection code 
+     The core averaging algorithm treats input data as single 1-D array
+     To retain degenerate dimensions, fxm */
+  
   nco_bool AVG_DMN_ARE_MRV=False; /* [flg] Avergaging dimensions are MRV dimensions */
 
   dmn_sct **dmn_avg;
@@ -58,6 +58,7 @@ nco_var_avg /* [fnc] Reduce given variable over specified dimensions */
   int dmn_fix_nbr;
   int dmn_var_nbr;
   int dmn_rdd_nbr; /* flg_rdd ? dmn_var_nbr : dmn_fix_nbr */
+  int nco_op_typ_lcl; /* [enm] Operation type, default is average */
 
   long avg_sz=int_CEWI;
   long fix_sz;
@@ -69,11 +70,11 @@ nco_var_avg /* [fnc] Reduce given variable over specified dimensions */
   fix=nco_var_dpl(var);
 
   /* Create lists of averaging and fixed dimensions (in order of their appearance 
-  in the variable). We do not know a priori how many dimensions remain in the 
-  output (averaged) variable, but dmn_var_nbr is an upper bound. Similarly, we do
-  not know a priori how many of the dimensions in the input list of averaging 
-  dimensions (dim) actually occur in the current variable, so we do not know
-  dmn_avg_nbr, but nbr_dim is an upper bound on it. */
+     in the variable). We do not know a priori how many dimensions remain in the 
+     output (averaged) variable, but dmn_var_nbr is an upper bound. Similarly, we do
+     not know a priori how many of the dimensions in the input list of averaging 
+     dimensions (dim) actually occur in the current variable, so we do not know
+     dmn_avg_nbr, but nbr_dim is an upper bound on it. */
   dmn_var_nbr=var->nbr_dim;
   dmn_fix_nbr=0;
   dmn_avg_nbr=0;
@@ -82,11 +83,11 @@ nco_var_avg /* [fnc] Reduce given variable over specified dimensions */
   for(idx=0;idx<dmn_var_nbr;idx++){
     for(idx_dmn=0;idx_dmn<nbr_dim;idx_dmn++){
       /* Comparing dimension IDs is faster than comparing dimension names 
-      but requires assumption that all dimensions are from same file */
+	 but requires assumption that all dimensions are from same file */
       if(var->dmn_id[idx] == dim[idx_dmn]->id){
         /* Although structures in dim are never altered, linking them into
-        dmn_avg list makes them vulnerable to manipulation and forces 
-        dim to lose const protection in prototype */
+	   dmn_avg list makes them vulnerable to manipulation and forces 
+	   dim to lose const protection in prototype */
         dmn_avg[dmn_avg_nbr]=dim[idx_dmn];
         /* idx_avg_var[i]=j means that ith averaging dimension is jth dimension of var */
         idx_avg_var[dmn_avg_nbr]=idx;
@@ -109,23 +110,23 @@ nco_var_avg /* [fnc] Reduce given variable over specified dimensions */
 
   if(dmn_avg_nbr == 0){
     /* 20050517: ncwa only calls nco_var_avg() with variables containing averaging dimensions
-    Variables without averaging dimensions are in the var_fix list 
-    We preserve nco_var_avg() capability to work on var_fix variables for future flexibility */
+       Variables without averaging dimensions are in the var_fix list 
+       Preserve nco_var_avg() capability to work on var_fix variables for future flexibility */
     (void)fprintf(stderr,"%s: WARNING %s does not contain any averaging dimensions\n",nco_prg_nm_get(),fix->nm);
     /* Variable does not contain any averaging dimensions so we are done
-    For consistency, return copy of variable held in fix and free() original
-    Hence, nco_var_avg() always destroys original input and returns valid output */
+       For consistency, return copy of variable held in fix and free() original
+       Hence, nco_var_avg() always destroys original input and returns valid output */
     goto cln_and_xit;
   } /* end if */
 
   /* Use dmn_rdd_nbr rather than dmn_fix_nbr for dmn_fix memory management
-  When flg_rdd is true, than malloc() and reallloc() will create/leave enough
-  room in dmn_fix arrays to ultimately hold all dmn_rdd data
-  However, dmn_fix_nbr remains same in flg_rdd and !flg_rdd cases
-  Hence loops and averaging algorithm itself need not be re-coded
-  Reconcile contents of dmn_fix structures with dengenerate dimensions at end */
+     When flg_rdd is true, than malloc() and reallloc() will create/leave enough
+     room in dmn_fix arrays to ultimately hold all dmn_rdd data
+     However, dmn_fix_nbr remains same in flg_rdd and !flg_rdd cases
+     Hence loops and averaging algorithm itself need not be re-coded
+     Reconcile contents of dmn_fix structures with dengenerate dimensions at end */
   dmn_rdd_nbr=flg_rdd ? dmn_var_nbr : dmn_fix_nbr;
-
+  
   /* Free extra list space */
   dmn_fix=(dmn_sct **)nco_realloc(dmn_fix,dmn_rdd_nbr*sizeof(dmn_sct *));
   dmn_avg=(dmn_sct **)nco_realloc(dmn_avg,dmn_avg_nbr*sizeof(dmn_sct *));
@@ -169,8 +170,8 @@ nco_var_avg /* [fnc] Reduce given variable over specified dimensions */
 
   if(avg_sz == 1L){
     /* If averaging block size is 1L, input and output value arrays are identical 
-    var->val was copied to fix->val by nco_var_dpl() at beginning of routine
-    Only one task remains: to set fix->tally appropriately */
+       var->val was copied to fix->val by nco_var_dpl() at beginning of routine
+       Only one task remains: to set fix->tally appropriately */
     long *fix_tally;
 
     fix_tally=fix->tally;
@@ -195,8 +196,8 @@ nco_var_avg /* [fnc] Reduce given variable over specified dimensions */
   } /* end if avg_sz == 1L */
 
   /* Distribute all elements of input hyperslab into averaging block in avg_val
-  Each block contains avg_sz elements in contiguous buffer 
-  Reduction step then "reduces" each block into single output element */
+     Each block contains avg_sz elements in contiguous buffer 
+     Reduction step then "reduces" each block into single output element */
   if(avg_sz != 1L){
     ptr_unn avg_val;
 
@@ -204,8 +205,8 @@ nco_var_avg /* [fnc] Reduce given variable over specified dimensions */
     var_sz=var->sz;
 
     /* Value buffer of size var_sz is currently duplicate of input values
-    MRV algorithm uses these values without re-arranging
-    General collection algorithm overwrites avg_val with averaging blocks */
+       MRV algorithm uses these values without re-arranging
+       General collection algorithm overwrites avg_val with averaging blocks */
     avg_val=fix->val;
     /* Create new value buffer for output (averaged) size */
     fix->val.vp=(void *)nco_malloc(fix_sz*nco_typ_lng(fix->type));
@@ -215,15 +216,15 @@ nco_var_avg /* [fnc] Reduce given variable over specified dimensions */
     (void)nco_var_zero(fix->type,fix_sz,fix->val);
 
     /* Complex expensive collection step for creating averaging blocks works 
-    in all cases though is unnecessary in one important case.
-    No re-arrangement is necessary when averaging dimensions are most rapidly varying 
-    (MRV) dimensions because original variable is stored in averaging block order.
-    Averaging dimensions are MRV dimensions iff dmn_fix_nbr fixed dimensions are 
-    one-to-one with first dmn_fix_nbr input dimensions. 
-    Alternatively, could compare dmn_avg_nbr averaging dimensions to last 
-    dmn_avg_nbr dimensions of input variable.
-    However, averaging dimensions may appear in any order so it is more
-    straightforward to compare fixed dimensions to LRV input dimensions. */
+       in all cases though is unnecessary in one important case.
+       No re-arrangement is necessary when averaging dimensions are most rapidly varying 
+       (MRV) dimensions because original variable is stored in averaging block order.
+       Averaging dimensions are MRV dimensions iff dmn_fix_nbr fixed dimensions are 
+       one-to-one with first dmn_fix_nbr input dimensions. 
+       Alternatively, could compare dmn_avg_nbr averaging dimensions to last 
+       dmn_avg_nbr dimensions of input variable.
+       However, averaging dimensions may appear in any order so it is more
+       straightforward to compare fixed dimensions to LRV input dimensions. */
     for(idx=0;idx<dmn_fix_nbr;idx++) 
       if(idx_fix_var[idx] != idx) break;
     if(idx == dmn_fix_nbr){
@@ -232,9 +233,9 @@ nco_var_avg /* [fnc] Reduce given variable over specified dimensions */
     } /* idx != dmn_fix_nbr */
 
     /* MRV algorithm simply skips this collection step 
-    Some DDRA benchmarks need to know cost of collection
-    Always invoke collection step by uncommenting following line: */
-    /*    AVG_DMN_ARE_MRV=False;*/
+       Some DDRA benchmarks need to know cost of collection
+       Always invoke collection step by uncommenting following line: */
+    /* AVG_DMN_ARE_MRV=False;*/
     if(!AVG_DMN_ARE_MRV){
       /* Dreaded, expensive collection algorithm sorts input into averaging blocks */
       char *avg_cp;
@@ -280,16 +281,16 @@ nco_var_avg /* [fnc] Reduce given variable over specified dimensions */
       for(var_lmn=0;var_lmn<var_sz;var_lmn++){
         /* dmn_ss are corresponding indices (subscripts) into N-D array */
         /* Operations: 1 modulo, 1 pointer offset, 1 user memory fetch
-        Repetitions: \lmnnbr
-        Total Counts: \rthnbr=2\lmnnbr, \mmrusrnbr=\lmnnbr
-        NB: LHS assumed compact and cached, counted RHS offsets and fetches only */
+	   Repetitions: \lmnnbr
+	   Total Counts: \rthnbr=2\lmnnbr, \mmrusrnbr=\lmnnbr
+	   NB: LHS assumed compact and cached, counted RHS offsets and fetches only */
         dmn_ss[dmn_var_nbr_m1]=var_lmn%var_cnt[dmn_var_nbr_m1];
         for(idx=0;idx<dmn_var_nbr_m1;idx++){
           /* Operations: 1 divide, 1 modulo, 2 pointer offset, 2 user memory fetch
-          Repetitions: \lmnnbr(\dmnnbr-1)
-          Counts: \rthnbr=4\lmnnbr(\dmnnbr-1), \mmrusrnbr=2\lmnnbr(\dmnnbr-1)
-          NB: LHS assumed compact and cached, counted RHS offsets and fetches only
-          NB: Neglected loop arithmetic/compare */
+	     Repetitions: \lmnnbr(\dmnnbr-1)
+	     Counts: \rthnbr=4\lmnnbr(\dmnnbr-1), \mmrusrnbr=2\lmnnbr(\dmnnbr-1)
+	     NB: LHS assumed compact and cached, counted RHS offsets and fetches only
+	     NB: Neglected loop arithmetic/compare */
           dmn_ss[idx]=(long)(var_lmn/dmn_var_map[idx]);
           dmn_ss[idx]%=var_cnt[idx];
         } /* end loop over dimensions */
@@ -297,38 +298,39 @@ nco_var_avg /* [fnc] Reduce given variable over specified dimensions */
         /* Map variable's N-D array indices into a 1-D index into averaged data */
         fix_lmn=0L;
         /* Operations: 1 add, 1 multiply, 3 pointer offset, 3 user memory fetch
-        Repetitions: \lmnnbr(\dmnnbr-\avgnbr)
-        Counts: \rthnbr=5\lmnnbr(\dmnnbr-\avgnbr), \mmrusrnbr=3\lmnnbr(\dmnnbr-\avgnbr) */
+	   Repetitions: \lmnnbr(\dmnnbr-\avgnbr)
+	   Counts: \rthnbr=5\lmnnbr(\dmnnbr-\avgnbr), \mmrusrnbr=3\lmnnbr(\dmnnbr-\avgnbr) */
         for(idx=0;idx<dmn_fix_nbr;idx++) fix_lmn+=dmn_ss[idx_fix_var[idx]]*dmn_fix_map[idx];
 
         /* Map N-D array indices into 1-D offset from group offset */
         avg_lmn=0L;
         /* Operations: 1 add, 1 multiply, 3 pointer offset, 3 user memory fetch
-        Repetitions: \lmnnbr\avgnbr
-        Counts: \rthnbr=5\lmnnbr\avgnbr, \mmrusrnbr=3\lmnnbr\avgnbr */
+	   Repetitions: \lmnnbr\avgnbr
+	   Counts: \rthnbr=5\lmnnbr\avgnbr, \mmrusrnbr=3\lmnnbr\avgnbr */
         for(idx=0;idx<dmn_avg_nbr;idx++) avg_lmn+=dmn_ss[idx_avg_var[idx]]*dmn_avg_map[idx];
 
         /* Copy current element in input array into its slot in sorted avg_val */
         /* Operations: 3 add, 3 multiply, 0 pointer offset, 1 system memory copy
-        Repetitions: \lmnnbr
-        Counts: \rthnbr=6\lmnnbr, \mmrusrnbr=0, \mmrsysnbr=1 */
+	   Repetitions: \lmnnbr
+	   Counts: \rthnbr=6\lmnnbr, \mmrusrnbr=0, \mmrsysnbr=1 */
         (void)memcpy(avg_cp+(fix_lmn*avg_sz+avg_lmn)*typ_sz,var_cp+var_lmn*typ_sz,(size_t)typ_sz);
       } /* end loop over var_lmn */
     } /* AVG_DMN_ARE_MRV */
 
     /* Input data are now sorted and stored (in avg_val) in blocks (of length avg_sz)
-    in same order as blocks' average values will appear in output buffer. 
-    Averaging routines can take advantage of this by casting avg_val to 
-    two dimensional variable and averaging over inner dimension. 
-    nco_var_avg_rdc_*() sets tally array */
-    switch(nco_op_typ){
+       in same order as blocks' average values will appear in output buffer. 
+       Averaging routines can take advantage of this by casting avg_val to 
+       two dimensional variable and averaging over inner dimension. 
+       nco_var_avg_rdc_*() sets tally array */
+    if(var->is_crd_var) nco_op_typ_lcl=nco_op_avg; else nco_op_typ_lcl=nco_op_typ;
+    switch(nco_op_typ_lcl){
     case nco_op_max:
       (void)nco_var_avg_rdc_max(fix->type,var_sz,fix_sz,fix->has_mss_val,fix->mss_val,avg_val,fix->val);
       break;
     case nco_op_min:
       (void)nco_var_avg_rdc_min(fix->type,var_sz,fix_sz,fix->has_mss_val,fix->mss_val,avg_val,fix->val);
       break;
-    case nco_op_avg: /* Operations: Previous=none, Current=sum, Next=normalize and root */
+    case nco_op_avg: /* Operations: Previous=none, Current=sum, Next=normalize */
     case nco_op_sqravg: /* Operations: Previous=none, Current=sum, Next=normalize and square */
     case nco_op_avgsqr: /* Operations: Previous=square, Current=sum, Next=normalize */
     case nco_op_rms: /* Operations: Previous=square, Current=sum, Next=normalize and root */
@@ -346,7 +348,7 @@ nco_var_avg /* [fnc] Reduce given variable over specified dimensions */
   /* Retain degenerate dimensions? */
   if(flg_rdd){
     /* Simplest way to retain degenerate dimensions is average over them,
-    then insert degenerate dimensions back into list at end */
+       then insert degenerate dimensions back into list at end */
 
     /* Get rid of averaged dimensions */
     fix->nbr_dim=dmn_rdd_nbr;
@@ -370,8 +372,8 @@ nco_var_avg /* [fnc] Reduce given variable over specified dimensions */
   } /* !flg_rdd */
 
   /* Jump here when variable is not to be reduced. This occurs when
-  1. Variable contains no averaging dimensions
-  2. Averaging block size is 1 */
+     1. Variable contains no averaging dimensions
+     2. Averaging block size is 1 */
 cln_and_xit:
 
   /* Free input variable */
@@ -401,25 +403,25 @@ nco_var_avg_rdc_ttl /* [fnc] Sum blocks of op1 into each element of op2 */
 {
   /* Threads: Routine is thread safe and calls no unsafe routines */
   /* Purpose: Sum values in each contiguous block of first operand and place
-  result in corresponding element in second operand. 
-  Currently arithmetic operation performed is summation of elements in op1
-  Input operands are assumed to have conforming types, but not dimensions or sizes
-  nco_var_avg_rdc_ttl() knows nothing about dimensions
-  Routine is one dimensional array operator acting serially on each element of input buffer op1
-  Calling rouine knows exactly how rank of output, op2, is reduced from rank of input
-  Routine only does summation rather than averaging in order to remain flexible
-  Operations which require normalization, e.g., averaging, must call nco_var_nrm() 
-  or nco_var_dvd() to divide sum set in this routine by tally set in this routine. */
-
+     result in corresponding element in second operand. 
+     Currently arithmetic operation performed is summation of elements in op1
+     Input operands are assumed to have conforming types, but not dimensions or sizes
+     nco_var_avg_rdc_ttl() knows nothing about dimensions
+     Routine is one dimensional array operator acting serially on each element of input buffer op1
+     Calling rouine knows exactly how rank of output, op2, is reduced from rank of input
+     Routine only does summation rather than averaging in order to remain flexible
+     Operations which require normalization, e.g., averaging, must call nco_var_nrm() 
+     or nco_var_dvd() to divide sum set in this routine by tally set in this routine. */
+  
   /* Each operation has GNUC and non-GNUC blocks:
-  GNUC: Utilize (non-ANSI-compliant) compiler support for local automatic arrays
-  This results in more elegent loop structure and, theoretically, in faster performance
-  20040225: In reality, the GNUC non-ANSI blocks fail on some large files
-  This may be because they allocate significant local storage on the stack
-
-  non-GNUC: Fully ANSI-compliant structure
-  Fortran: Support deprecated */
-
+     GNUC: Utilize (non-ANSI-compliant) compiler support for local automatic arrays
+     This results in more elegent loop structure and, theoretically, in faster performance
+     20040225: In reality, the GNUC non-ANSI blocks fail on some large files
+     This may be because they allocate significant local storage on the stack
+     
+     non-GNUC: Fully ANSI-compliant structure
+     Fortran: Support deprecated */
+  
 #define FXM_NCO315 1
 #ifdef FXM_NCO315
   long idx_op1;
@@ -427,24 +429,25 @@ nco_var_avg_rdc_ttl /* [fnc] Sum blocks of op1 into each element of op2 */
   const long sz_blk=sz_op1/sz_op2;
   long idx_op2;
   long idx_blk;
+
   double mss_val_dbl=double_CEWI;
   float mss_val_flt=float_CEWI;
-  nco_char mss_val_char;
-  nco_ubyte mss_val_ubyte;
-  nco_string mss_val_string;
-  nco_byte mss_val_byte;
+  nco_byte mss_val_byte=nco_byte_CEWI;
   nco_int mss_val_ntg=nco_int_CEWI;
+  nco_int64 mss_val_int64=nco_int64_CEWI;
   nco_short mss_val_short=nco_short_CEWI;
-  nco_ushort mss_val_ushort=nco_ushort_CEWI;
+  nco_ubyte mss_val_ubyte=nco_ubyte_CEWI;
   nco_uint mss_val_uint=nco_uint_CEWI;
-  nco_int64 mss_val_int64=nco_int64_CEWI;
   nco_uint64 mss_val_uint64=nco_uint64_CEWI;
+  nco_ushort mss_val_ushort=nco_ushort_CEWI;
+  nco_char mss_val_char=nco_char_CEWI;
+  nco_string mss_val_string=nco_string_CEWI;
 
   /* Typecast pointer to values before access */
   (void)cast_void_nctype(type,&op1);
   (void)cast_void_nctype(type,&op2);
   if(has_mss_val) (void)cast_void_nctype(type,&mss_val);
-
+  
   if(has_mss_val){
     switch(type){
     case NC_FLOAT: mss_val_flt=*mss_val.fp; break;
@@ -452,17 +455,17 @@ nco_var_avg_rdc_ttl /* [fnc] Sum blocks of op1 into each element of op2 */
     case NC_SHORT: mss_val_short=*mss_val.sp; break;
     case NC_INT: mss_val_ntg=*mss_val.ip; break;
     case NC_BYTE: mss_val_byte=*mss_val.bp; break;
-    case NC_CHAR: mss_val_char=*mss_val.cp; break;
     case NC_UBYTE: mss_val_ubyte=*mss_val.ubp; break;
     case NC_USHORT: mss_val_ushort=*mss_val.usp; break;
     case NC_UINT: mss_val_uint=*mss_val.uip; break;
     case NC_INT64: mss_val_int64=*mss_val.i64p; break;
     case NC_UINT64: mss_val_uint64=*mss_val.ui64p; break;
+    case NC_CHAR: mss_val_char=*mss_val.cp; break;
     case NC_STRING: mss_val_string=*mss_val.sngp; break;
     default: nco_dfl_case_nc_type_err(); break;
     } /* end switch */
   } /* endif */
-
+  
   switch(type){
   case NC_FLOAT:
 #define FXM_NCO315 1
@@ -471,13 +474,13 @@ nco_var_avg_rdc_ttl /* [fnc] Sum blocks of op1 into each element of op2 */
     if(!has_mss_val){ 
       for(idx_op2=0;idx_op2<sz_op2;idx_op2++){
         /* Operations: 1 multiply 
-        Repetitions: \dmnszavg^(\dmnnbr-\avgnbr)
-        Total Counts: \rthnbr=\dmnszavg^(\dmnnbr-\avgnbr) */
+	   Repetitions: \dmnszavg^(\dmnnbr-\avgnbr)
+	   Total Counts: \rthnbr=\dmnszavg^(\dmnnbr-\avgnbr) */
         const long blk_off=idx_op2*sz_blk;
         /* Operations: 1 fp add, 3 pointer offsets, 3 user memory fetch
-        Repetitions: \lmnnbr
-        Total Counts: \flpnbr=\lmnnbr, \rthnbr=3\lmnnbr, \mmrusrnbr=3\lmnnbr,
-        NB: Counted LHS+RHS+tally offsets and fetches */
+	   Repetitions: \lmnnbr
+	   Total Counts: \flpnbr=\lmnnbr, \rthnbr=3\lmnnbr, \mmrusrnbr=3\lmnnbr,
+	   NB: Counted LHS+RHS+tally offsets and fetches */
         for(idx_blk=0;idx_blk<sz_blk;idx_blk++) op2.fp[idx_op2]+=op1.fp[blk_off+idx_blk];
         tally[idx_op2]=sz_blk;
       } /* end loop over idx_op2 */
@@ -874,16 +877,146 @@ nco_var_avg_rdc_ttl /* [fnc] Sum blocks of op1 into each element of op2 */
     } /* end if */
 #endif /* __GNUC__ */
     break;
-  case NC_BYTE: mss_val_byte=mss_val_byte; break; /* CEWI */
-  case NC_CHAR: mss_val_char=mss_val_char; break; /* CEWI */
-  case NC_UBYTE: mss_val_ubyte=mss_val_ubyte; break; /* CEWI */
-  case NC_STRING: mss_val_string=mss_val_string; break; /* CEWI */
+  case NC_BYTE:
+#define FXM_NCO315 1
+#ifdef FXM_NCO315
+    /* ANSI-compliant branch */
+    if(!has_mss_val){
+      for(idx_op2=0;idx_op2<sz_op2;idx_op2++){
+        const long blk_off=idx_op2*sz_blk;
+        for(idx_blk=0;idx_blk<sz_blk;idx_blk++) op2.bp[idx_op2]+=op1.bp[blk_off+idx_blk];
+        tally[idx_op2]=sz_blk;
+      } /* end loop over idx_op2 */
+    }else{
+      for(idx_op2=0;idx_op2<sz_op2;idx_op2++){
+        const long blk_off=idx_op2*sz_blk;
+        for(idx_blk=0;idx_blk<sz_blk;idx_blk++){
+          idx_op1=blk_off+idx_blk;
+          if(op1.bp[idx_op1] != mss_val_byte){
+            op2.bp[idx_op2]+=op1.bp[idx_op1];
+            tally[idx_op2]++;
+          } /* end if */
+        } /* end loop over idx_blk */
+        if(tally[idx_op2] == 0L) op2.bp[idx_op2]=mss_val_byte;
+      } /* end loop over idx_op2 */
+    } /* end else */
+#else /* __GNUC__ */
+    /* Compiler supports local automatic arrays. Not ANSI-compliant, but more elegant. */
+    if(True){
+      nco_byte op1_2D[sz_op2][sz_blk];
+      (void)memcpy((void *)op1_2D,(void *)(op1.bp),sz_op1*nco_typ_lng(type));
+      if(!has_mss_val){
+        for(idx_op2=0;idx_op2<sz_op2;idx_op2++){
+          for(idx_blk=0;idx_blk<sz_blk;idx_blk++) op2.bp[idx_op2]+=op1_2D[idx_op2][idx_blk];
+          tally[idx_op2]=sz_blk;
+        } /* end loop over idx_op2 */
+      }else{
+        for(idx_op2=0;idx_op2<sz_op2;idx_op2++){
+          for(idx_blk=0;idx_blk<sz_blk;idx_blk++){
+            if(op1_2D[idx_op2][idx_blk] != mss_val_byte){
+              op2.bp[idx_op2]+=op1_2D[idx_op2][idx_blk];
+              tally[idx_op2]++;
+            } /* end if */
+          } /* end loop over idx_blk */
+          if(tally[idx_op2] == 0L) op2.bp[idx_op2]=mss_val_byte;
+        } /* end loop over idx_op2 */
+      } /* end else */
+    } /* end if */
+#endif /* __GNUC__ */
+    break;
+  case NC_UBYTE:
+#define FXM_NCO315 1
+#ifdef FXM_NCO315
+    /* ANSI-compliant branch */
+    if(!has_mss_val){
+      for(idx_op2=0;idx_op2<sz_op2;idx_op2++){
+        const long blk_off=idx_op2*sz_blk;
+        for(idx_blk=0;idx_blk<sz_blk;idx_blk++) op2.ubp[idx_op2]+=op1.ubp[blk_off+idx_blk];
+        tally[idx_op2]=sz_blk;
+      } /* end loop over idx_op2 */
+    }else{
+      for(idx_op2=0;idx_op2<sz_op2;idx_op2++){
+        const long blk_off=idx_op2*sz_blk;
+        for(idx_blk=0;idx_blk<sz_blk;idx_blk++){
+          idx_op1=blk_off+idx_blk;
+          if(op1.ubp[idx_op1] != mss_val_ubyte){
+            op2.ubp[idx_op2]+=op1.ubp[idx_op1];
+            tally[idx_op2]++;
+          } /* end if */
+        } /* end loop over idx_blk */
+        if(tally[idx_op2] == 0L) op2.ubp[idx_op2]=mss_val_ubyte;
+      } /* end loop over idx_op2 */
+    } /* end else */
+#else /* __GNUC__ */
+    /* Compiler supports local automatic arrays. Not ANSI-compliant, but more elegant. */
+    if(True){
+      nco_ubyte op1_2D[sz_op2][sz_blk];
+      (void)memcpy((void *)op1_2D,(void *)(op1.ubp),sz_op1*nco_typ_lng(type));
+      if(!has_mss_val){
+        for(idx_op2=0;idx_op2<sz_op2;idx_op2++){
+          for(idx_blk=0;idx_blk<sz_blk;idx_blk++) op2.ubp[idx_op2]+=op1_2D[idx_op2][idx_blk];
+          tally[idx_op2]=sz_blk;
+        } /* end loop over idx_op2 */
+      }else{
+        for(idx_op2=0;idx_op2<sz_op2;idx_op2++){
+          for(idx_blk=0;idx_blk<sz_blk;idx_blk++){
+            if(op1_2D[idx_op2][idx_blk] != mss_val_ubyte){
+              op2.ubp[idx_op2]+=op1_2D[idx_op2][idx_blk];
+              tally[idx_op2]++;
+            } /* end if */
+          } /* end loop over idx_blk */
+          if(tally[idx_op2] == 0L) op2.ubp[idx_op2]=mss_val_ubyte;
+        } /* end loop over idx_op2 */
+      } /* end else */
+    } /* end if */
+#endif /* __GNUC__ */
+    break;
+  case NC_CHAR:
+    /* Only allow ANSI-compliant branch. "total" is assigned value of first element of block */
+    if(!has_mss_val){
+      for(idx_op2=0;idx_op2<sz_op2;idx_op2++){
+        const long blk_off=idx_op2*sz_blk;
+        op2.cp[idx_op2]=op1.cp[blk_off];
+        tally[idx_op2]=1L;
+      } /* end loop over idx_op2 */
+    }else{
+      for(idx_op2=0;idx_op2<sz_op2;idx_op2++){
+        const long blk_off=idx_op2*sz_blk;
+	idx_op1=blk_off;
+	if(op1.cp[idx_op1] != mss_val_char){
+	  op2.cp[idx_op2]=op1.cp[idx_op1];
+	  tally[idx_op2]=1L;
+	} /* end if */
+        if(tally[idx_op2] == 0L) op2.cp[idx_op2]=mss_val_char;
+      } /* end loop over idx_op2 */
+    } /* end else */
+    break;
+  case NC_STRING: 
+    /* Only allow ANSI-compliant branch. "total" is assigned value of first element of block */
+    if(!has_mss_val){
+      for(idx_op2=0;idx_op2<sz_op2;idx_op2++){
+        const long blk_off=idx_op2*sz_blk;
+        op2.sngp[idx_op2]=op1.sngp[blk_off];
+        tally[idx_op2]=1L;
+      } /* end loop over idx_op2 */
+    }else{
+      for(idx_op2=0;idx_op2<sz_op2;idx_op2++){
+        const long blk_off=idx_op2*sz_blk;
+	idx_op1=blk_off;
+	if(op1.sngp[idx_op1] != mss_val_string){
+	  op2.sngp[idx_op2]=op1.sngp[idx_op1];
+	  tally[idx_op2]=1L;
+	} /* end if */
+        if(tally[idx_op2] == 0L) op2.sngp[idx_op2]=mss_val_string;
+      } /* end loop over idx_op2 */
+    } /* end else */
+    break;
   default: nco_dfl_case_nc_type_err(); break;
   } /* end switch */
-
+  
   /* NB: it is not neccessary to un-typecast pointers to values after access 
-  because we have only operated on local copies of them. */
-
+     because we have only operated on local copies of them. */
+  
 } /* end nco_var_avg_rdc_ttl() */
 
 void
@@ -897,14 +1030,14 @@ nco_var_avg_rdc_min /* [fnc] Place minimum of op1 blocks into each element of op
  ptr_unn op2) /* O [sct] Minimum of each block of op1 */
 {
   /* Purpose: Find minimum value of each contiguous block of first operand and place
-  result in corresponding element in second operand. Operands are assumed to have
-  conforming types, but not dimensions or sizes. */
-
+     result in corresponding element in second operand. Operands are assumed to have
+     conforming types, but not dimensions or sizes. */
+  
   /* nco_var_avg_rdc_min() is derived from nco_var_avg_rdc_ttl()
-  Routines are very similar but tallies are not incremented
-  See nco_var_avg_rdc_ttl() for more algorithmic documentation
-  nco_var_avg_rdc_max() is derived from nco_var_avg_rdc_min() */
-
+     Routines are very similar but tallies are not incremented
+     See nco_var_avg_rdc_ttl() for more algorithmic documentation
+     nco_var_avg_rdc_max() is derived from nco_var_avg_rdc_min() */
+  
 #define FXM_NCO315 1
 #ifdef FXM_NCO315
   long idx_op1;
@@ -912,27 +1045,27 @@ nco_var_avg_rdc_min /* [fnc] Place minimum of op1 blocks into each element of op
   const long sz_blk=sz_op1/sz_op2;
   long idx_op2;
   long idx_blk;
-
+  
   double mss_val_dbl=double_CEWI;
   float mss_val_flt=float_CEWI;
+  nco_byte mss_val_byte=nco_byte_CEWI;
   nco_int mss_val_ntg=nco_int_CEWI;
+  nco_int64 mss_val_int64=nco_int64_CEWI;
   nco_short mss_val_short=nco_short_CEWI;
-  nco_ushort mss_val_ushort=nco_ushort_CEWI;
+  nco_ubyte mss_val_ubyte=nco_ubyte_CEWI;
   nco_uint mss_val_uint=nco_uint_CEWI;
-  nco_int64 mss_val_int64=nco_int64_CEWI;
   nco_uint64 mss_val_uint64=nco_uint64_CEWI;
-  nco_char mss_val_char;
-  nco_ubyte mss_val_ubyte;
-  nco_string mss_val_string;
-  nco_byte mss_val_byte;
-
+  nco_ushort mss_val_ushort=nco_ushort_CEWI;
+  nco_char mss_val_char=nco_char_CEWI;
+  nco_string mss_val_string=nco_string_CEWI;
+  
   nco_bool flg_mss=False; /* [flg] Block has valid (non-missing) values */
-
+  
   /* Typecast pointer to values before access */
   (void)cast_void_nctype(type,&op1);
   (void)cast_void_nctype(type,&op2);
   if(has_mss_val) (void)cast_void_nctype(type,&mss_val);
-
+  
   if(has_mss_val){
     switch(type){
     case NC_FLOAT: mss_val_flt=*mss_val.fp; break;
@@ -940,20 +1073,19 @@ nco_var_avg_rdc_min /* [fnc] Place minimum of op1 blocks into each element of op
     case NC_SHORT: mss_val_short=*mss_val.sp; break;
     case NC_INT: mss_val_ntg=*mss_val.ip; break;
     case NC_BYTE: mss_val_byte=*mss_val.bp; break;
-    case NC_CHAR: mss_val_char=*mss_val.cp; break;
     case NC_UBYTE: mss_val_ubyte=*mss_val.ubp; break;
     case NC_USHORT: mss_val_ushort=*mss_val.usp; break;
     case NC_UINT: mss_val_uint=*mss_val.uip; break;
     case NC_INT64: mss_val_int64=*mss_val.i64p; break;
     case NC_UINT64: mss_val_uint64=*mss_val.ui64p; break;
+    case NC_CHAR: mss_val_char=*mss_val.cp; break;
     case NC_STRING: mss_val_string=*mss_val.sngp; break;
     default: nco_dfl_case_nc_type_err(); break;
     } /* end switch */
   } /* endif */
-
+  
   switch(type){
   case NC_FLOAT:
-
 #define FXM_NCO315 1
 #ifdef FXM_NCO315
     /* ANSI-compliant branch */
@@ -1361,15 +1493,153 @@ nco_var_avg_rdc_min /* [fnc] Place minimum of op1 blocks into each element of op
     } /* end if */
 #endif /* __GNUC__ */
     break;
-  case NC_BYTE: mss_val_byte=mss_val_byte; break; /* CEWI */
-  case NC_CHAR: mss_val_char=mss_val_char; break; /* CEWI */
-  case NC_UBYTE: mss_val_ubyte=mss_val_ubyte; break; /* CEWI */
-  case NC_STRING: mss_val_string=mss_val_string; break; /* CEWI */
+  case NC_BYTE:
+#define FXM_NCO315 1
+#ifdef FXM_NCO315
+    /* ANSI-compliant branch */
+    if(!has_mss_val){
+      for(idx_op2=0;idx_op2<sz_op2;idx_op2++){
+        const long blk_off=idx_op2*sz_blk;
+        op2.bp[idx_op2]=op1.bp[blk_off];
+        for(idx_blk=1;idx_blk<sz_blk;idx_blk++) 
+          if(op2.bp[idx_op2] > op1.bp[blk_off+idx_blk]) op2.bp[idx_op2]=op1.bp[blk_off+idx_blk];
+      } /* end loop over idx_op2 */
+    }else{
+      for(idx_op2=0;idx_op2<sz_op2;idx_op2++){
+        const long blk_off=idx_op2*sz_blk;
+        flg_mss=False;
+        for(idx_blk=0;idx_blk<sz_blk;idx_blk++){
+          idx_op1=blk_off+idx_blk;
+          if(op1.bp[idx_op1] != mss_val_byte){
+            if(!flg_mss || op2.bp[idx_op2] > op1.bp[idx_op1]) op2.bp[idx_op2]=op1.bp[idx_op1];
+            flg_mss=True;
+          } /* end if */
+        } /* end loop over idx_blk */
+        if(!flg_mss) op2.bp[idx_op2]=mss_val_byte;
+      } /* end loop over idx_op2 */
+    } /* end else */
+#else /* __GNUC__ */
+    /* Compiler supports local automatic arrays. Not ANSI-compliant, but more elegant. */
+    if(True){
+      nco_byte op1_2D[sz_op2][sz_blk];
+      (void)memcpy((void *)op1_2D,(void *)(op1.bp),sz_op1*nco_typ_lng(type));
+      if(!has_mss_val){
+        for(idx_op2=0;idx_op2<sz_op2;idx_op2++){
+          op2.bp[idx_op2]=op1_2D[idx_op2][0];
+          for(idx_blk=1;idx_blk<sz_blk;idx_blk++) 
+            if(op2.bp[idx_op2] > op1_2D[idx_op2][idx_blk]) op2.bp[idx_op2]=op1_2D[idx_op2][idx_blk];
+        } /* end loop over idx_op2 */
+      }else{
+        for(idx_op2=0;idx_op2<sz_op2;idx_op2++){
+          flg_mss=False;
+          for(idx_blk=0;idx_blk<sz_blk;idx_blk++){
+            if(op1_2D[idx_op2][idx_blk] != mss_val_byte){
+              if(!flg_mss  || op2.bp[idx_op2] > op1_2D[idx_op2][idx_blk]) op2.bp[idx_op2]=op1_2D[idx_op2][idx_blk];	      
+              flg_mss=True;
+            } /* end if */
+          } /* end loop over idx_blk */
+          if(!flg_mss) op2.bp[idx_op2]=mss_val_byte;
+        } /* end loop over idx_op2 */
+      } /* end else */
+    } /* end if */
+#endif /* __GNUC__ */
+    break;
+  case NC_UBYTE:
+#define FXM_NCO315 1
+#ifdef FXM_NCO315
+    /* ANSI-compliant branch */
+    if(!has_mss_val){
+      for(idx_op2=0;idx_op2<sz_op2;idx_op2++){
+        const long blk_off=idx_op2*sz_blk;
+        op2.ubp[idx_op2]=op1.ubp[blk_off];
+        for(idx_blk=1;idx_blk<sz_blk;idx_blk++) 
+          if(op2.ubp[idx_op2] > op1.ubp[blk_off+idx_blk]) op2.ubp[idx_op2]=op1.ubp[blk_off+idx_blk];
+      } /* end loop over idx_op2 */
+    }else{
+      for(idx_op2=0;idx_op2<sz_op2;idx_op2++){
+        const long blk_off=idx_op2*sz_blk;
+        flg_mss=False;
+        for(idx_blk=0;idx_blk<sz_blk;idx_blk++){
+          idx_op1=blk_off+idx_blk;
+          if(op1.ubp[idx_op1] != mss_val_ubyte){
+            if(!flg_mss || op2.ubp[idx_op2] > op1.ubp[idx_op1]) op2.ubp[idx_op2]=op1.ubp[idx_op1];
+            flg_mss=True;
+          } /* end if */
+        } /* end loop over idx_blk */
+        if(!flg_mss) op2.ubp[idx_op2]=mss_val_ubyte;
+      } /* end loop over idx_op2 */
+    } /* end else */
+#else /* __GNUC__ */
+    /* Compiler supports local automatic arrays. Not ANSI-compliant, but more elegant. */
+    if(True){
+      nco_ubyte op1_2D[sz_op2][sz_blk];
+      (void)memcpy((void *)op1_2D,(void *)(op1.ubp),sz_op1*nco_typ_lng(type));
+      if(!has_mss_val){
+        for(idx_op2=0;idx_op2<sz_op2;idx_op2++){
+          op2.ubp[idx_op2]=op1_2D[idx_op2][0];
+          for(idx_blk=1;idx_blk<sz_blk;idx_blk++) 
+            if(op2.ubp[idx_op2] > op1_2D[idx_op2][idx_blk]) op2.ubp[idx_op2]=op1_2D[idx_op2][idx_blk];
+        } /* end loop over idx_op2 */
+      }else{
+        for(idx_op2=0;idx_op2<sz_op2;idx_op2++){
+          flg_mss=False;
+          for(idx_blk=0;idx_blk<sz_blk;idx_blk++){
+            if(op1_2D[idx_op2][idx_blk] != mss_val_ubyte){
+              if(!flg_mss  || op2.ubp[idx_op2] > op1_2D[idx_op2][idx_blk]) op2.ubp[idx_op2]=op1_2D[idx_op2][idx_blk];	      
+              flg_mss=True;
+            } /* end if */
+          } /* end loop over idx_blk */
+          if(!flg_mss) op2.ubp[idx_op2]=mss_val_ubyte;
+        } /* end loop over idx_op2 */
+      } /* end else */
+    } /* end if */
+#endif /* __GNUC__ */
+    break;
+  case NC_CHAR:
+    /* Only allow ANSI-compliant branch. "min" is assigned value of first element of block */
+    if(!has_mss_val){
+      for(idx_op2=0;idx_op2<sz_op2;idx_op2++){
+        const long blk_off=idx_op2*sz_blk;
+        op2.cp[idx_op2]=op1.cp[blk_off];
+      } /* end loop over idx_op2 */
+    }else{
+      for(idx_op2=0;idx_op2<sz_op2;idx_op2++){
+        const long blk_off=idx_op2*sz_blk;
+        flg_mss=False;
+	idx_op1=blk_off;
+	if(op1.cp[idx_op1] != mss_val_char){
+	  if(!flg_mss) op2.cp[idx_op2]=op1.cp[idx_op1];
+	  flg_mss=True;
+	} /* end if */
+        if(!flg_mss) op2.cp[idx_op2]=mss_val_char;
+      } /* end loop over idx_op2 */
+    } /* end else */
+    break;
+  case NC_STRING: 
+    /* Only allow ANSI-compliant branch. "min" is assigned value of first element of block */
+    if(!has_mss_val){
+      for(idx_op2=0;idx_op2<sz_op2;idx_op2++){
+        const long blk_off=idx_op2*sz_blk;
+        op2.sngp[idx_op2]=op1.sngp[blk_off];
+      } /* end loop over idx_op2 */
+    }else{
+      for(idx_op2=0;idx_op2<sz_op2;idx_op2++){
+        const long blk_off=idx_op2*sz_blk;
+        flg_mss=False;
+	idx_op1=blk_off;
+	if(op1.sngp[idx_op1] != mss_val_string){
+	  if(!flg_mss) op2.sngp[idx_op2]=op1.sngp[idx_op1];
+	  flg_mss=True;
+	} /* end if */
+        if(!flg_mss) op2.sngp[idx_op2]=mss_val_string;
+      } /* end loop over idx_op2 */
+    } /* end else */
+    break;
   default: nco_dfl_case_nc_type_err(); break;
   } /* end  switch */
 
   /* NB: it is not neccessary to un-typecast pointers to values after access 
-  because we have only operated on local copies of them. */
+     because we have only operated on local copies of them. */
 
 } /* end nco_var_avg_rdc_min() */
 
@@ -1384,14 +1654,14 @@ nco_var_avg_rdc_max /* [fnc] Place maximum of op1 blocks into each element of op
  ptr_unn op2) /* O [sct] Maximum of each block of op1 */
 {
   /* Purpose: Find maximum value of each contiguous block of first operand and place
-  result in corresponding element in second operand. Operands are assumed to have
-  conforming types, but not dimensions or sizes. */
-
+     result in corresponding element in second operand. Operands are assumed to have
+     conforming types, but not dimensions or sizes. */
+  
   /* nco_var_avg_rdc_min() is derived from nco_var_avg_rdc_ttl()
-  Routines are very similar but tallies are not incremented
-  See nco_var_avg_rdc_ttl() for more algorithmic documentation
-  nco_var_avg_rdc_max() is derived from nco_var_avg_rdc_min() */
-
+     Routines are very similar but tallies are not incremented
+     See nco_var_avg_rdc_ttl() for more algorithmic documentation
+     nco_var_avg_rdc_max() is derived from nco_var_avg_rdc_min() */
+  
 #define FXM_NCO315 1
 #ifdef FXM_NCO315
   long idx_op1;
@@ -1402,17 +1672,17 @@ nco_var_avg_rdc_max /* [fnc] Place maximum of op1 blocks into each element of op
 
   double mss_val_dbl=double_CEWI;
   float mss_val_flt=float_CEWI;
+  nco_byte mss_val_byte=nco_byte_CEWI;
   nco_int mss_val_ntg=nco_int_CEWI;
+  nco_int64 mss_val_int64=nco_int64_CEWI;
   nco_short mss_val_short=nco_short_CEWI;
-  nco_ushort mss_val_ushort=nco_ushort_CEWI;
+  nco_ubyte mss_val_ubyte=nco_ubyte_CEWI;
   nco_uint mss_val_uint=nco_uint_CEWI;
-  nco_int64 mss_val_int64=nco_int64_CEWI;
   nco_uint64 mss_val_uint64=nco_uint64_CEWI;
-  nco_char mss_val_char;
-  nco_ubyte mss_val_ubyte;
-  nco_string mss_val_string;
-  nco_byte mss_val_byte;
-
+  nco_ushort mss_val_ushort=nco_ushort_CEWI;
+  nco_char mss_val_char=nco_char_CEWI;
+  nco_string mss_val_string=nco_string_CEWI;
+  
   nco_bool flg_mss=False;
 
   /* Typecast pointer to values before access */
@@ -1427,12 +1697,12 @@ nco_var_avg_rdc_max /* [fnc] Place maximum of op1 blocks into each element of op
     case NC_SHORT: mss_val_short=*mss_val.sp; break;
     case NC_INT: mss_val_ntg=*mss_val.ip; break;
     case NC_BYTE: mss_val_byte=*mss_val.bp; break;
-    case NC_CHAR: mss_val_char=*mss_val.cp; break;
     case NC_UBYTE: mss_val_ubyte=*mss_val.ubp; break;
     case NC_USHORT: mss_val_ushort=*mss_val.usp; break;
     case NC_UINT: mss_val_uint=*mss_val.uip; break;
     case NC_INT64: mss_val_int64=*mss_val.i64p; break;
     case NC_UINT64: mss_val_uint64=*mss_val.ui64p; break;
+    case NC_CHAR: mss_val_char=*mss_val.cp; break;
     case NC_STRING: mss_val_string=*mss_val.sngp; break;
     default: nco_dfl_case_nc_type_err(); break;
     } /* end switch */
@@ -1440,7 +1710,6 @@ nco_var_avg_rdc_max /* [fnc] Place maximum of op1 blocks into each element of op
 
   switch(type){
   case NC_FLOAT:
-
 #define FXM_NCO315 1
 #ifdef FXM_NCO315
     /* ANSI-compliant branch */
@@ -1848,14 +2117,152 @@ nco_var_avg_rdc_max /* [fnc] Place maximum of op1 blocks into each element of op
     } /* end if */
 #endif /* __GNUC__ */
     break;
-  case NC_BYTE: mss_val_byte=mss_val_byte; break; /* CEWI */
-  case NC_CHAR: mss_val_char=mss_val_char; break; /* CEWI */
-  case NC_UBYTE: mss_val_ubyte=mss_val_ubyte; break; /* CEWI */
-  case NC_STRING: mss_val_string=mss_val_string; break; /* CEWI */
+  case NC_BYTE:
+#define FXM_NCO315 1
+#ifdef FXM_NCO315
+    /* ANSI-compliant branch */
+    if(!has_mss_val){
+      for(idx_op2=0;idx_op2<sz_op2;idx_op2++){
+        const long blk_off=idx_op2*sz_blk;
+        op2.bp[idx_op2]=op1.bp[blk_off];
+        for(idx_blk=1;idx_blk<sz_blk;idx_blk++) 
+          if(op2.bp[idx_op2] < op1.bp[blk_off+idx_blk]) op2.bp[idx_op2]=op1.bp[blk_off+idx_blk];
+      } /* end loop over idx_op2 */
+    }else{
+      for(idx_op2=0;idx_op2<sz_op2;idx_op2++){
+        const long blk_off=idx_op2*sz_blk;
+        flg_mss=False;
+        for(idx_blk=0;idx_blk<sz_blk;idx_blk++){
+          idx_op1=blk_off+idx_blk;
+          if(op1.bp[idx_op1] != mss_val_byte){
+            if(!flg_mss || op2.bp[idx_op2] < op1.bp[idx_op1]) op2.bp[idx_op2]=op1.bp[idx_op1];
+            flg_mss=True;
+          } /* end if */
+        } /* end loop over idx_blk */
+        if(!flg_mss) op2.bp[idx_op2]=mss_val_byte;
+      } /* end loop over idx_op2 */
+    } /* end else */
+#else /* __GNUC__ */
+    /* Compiler supports local automatic arrays. Not ANSI-compliant, but more elegant. */
+    if(True){
+      nco_byte op1_2D[sz_op2][sz_blk];
+      (void)memcpy((void *)op1_2D,(void *)(op1.bp),sz_op1*nco_typ_lng(type));
+      if(!has_mss_val){
+        for(idx_op2=0;idx_op2<sz_op2;idx_op2++){
+          op2.bp[idx_op2]=op1_2D[idx_op2][0];
+          for(idx_blk=1;idx_blk<sz_blk;idx_blk++) 
+            if(op2.bp[idx_op2] < op1_2D[idx_op2][idx_blk]) op2.bp[idx_op2]=op1_2D[idx_op2][idx_blk];
+        } /* end loop over idx_op2 */
+      }else{
+        for(idx_op2=0;idx_op2<sz_op2;idx_op2++){
+          flg_mss=False;
+          for(idx_blk=0;idx_blk<sz_blk;idx_blk++){
+            if(op1_2D[idx_op2][idx_blk] != mss_val_byte){
+              if(!flg_mss  || op2.bp[idx_op2] < op1_2D[idx_op2][idx_blk]) op2.bp[idx_op2]=op1_2D[idx_op2][idx_blk];	      
+              flg_mss=True;
+            } /* end if */
+          } /* end loop over idx_blk */
+          if(!flg_mss) op2.bp[idx_op2]=mss_val_byte;
+        } /* end loop over idx_op2 */
+      } /* end else */
+    } /* end if */
+#endif /* __GNUC__ */
+    break;
+  case NC_UBYTE:
+#define FXM_NCO315 1
+#ifdef FXM_NCO315
+    /* ANSI-compliant branch */
+    if(!has_mss_val){
+      for(idx_op2=0;idx_op2<sz_op2;idx_op2++){
+        const long blk_off=idx_op2*sz_blk;
+        op2.ubp[idx_op2]=op1.ubp[blk_off];
+        for(idx_blk=1;idx_blk<sz_blk;idx_blk++) 
+          if(op2.ubp[idx_op2] < op1.ubp[blk_off+idx_blk]) op2.ubp[idx_op2]=op1.ubp[blk_off+idx_blk];
+      } /* end loop over idx_op2 */
+    }else{
+      for(idx_op2=0;idx_op2<sz_op2;idx_op2++){
+        const long blk_off=idx_op2*sz_blk;
+        flg_mss=False;
+        for(idx_blk=0;idx_blk<sz_blk;idx_blk++){
+          idx_op1=blk_off+idx_blk;
+          if(op1.ubp[idx_op1] != mss_val_ubyte){
+            if(!flg_mss || op2.ubp[idx_op2] < op1.ubp[idx_op1]) op2.ubp[idx_op2]=op1.ubp[idx_op1];
+            flg_mss=True;
+          } /* end if */
+        } /* end loop over idx_blk */
+        if(!flg_mss) op2.ubp[idx_op2]=mss_val_ubyte;
+      } /* end loop over idx_op2 */
+    } /* end else */
+#else /* __GNUC__ */
+    /* Compiler supports local automatic arrays. Not ANSI-compliant, but more elegant. */
+    if(True){
+      nco_ubyte op1_2D[sz_op2][sz_blk];
+      (void)memcpy((void *)op1_2D,(void *)(op1.ubp),sz_op1*nco_typ_lng(type));
+      if(!has_mss_val){
+        for(idx_op2=0;idx_op2<sz_op2;idx_op2++){
+          op2.ubp[idx_op2]=op1_2D[idx_op2][0];
+          for(idx_blk=1;idx_blk<sz_blk;idx_blk++) 
+            if(op2.ubp[idx_op2] < op1_2D[idx_op2][idx_blk]) op2.ubp[idx_op2]=op1_2D[idx_op2][idx_blk];
+        } /* end loop over idx_op2 */
+      }else{
+        for(idx_op2=0;idx_op2<sz_op2;idx_op2++){
+          flg_mss=False;
+          for(idx_blk=0;idx_blk<sz_blk;idx_blk++){
+            if(op1_2D[idx_op2][idx_blk] != mss_val_ubyte){
+              if(!flg_mss  || op2.ubp[idx_op2] < op1_2D[idx_op2][idx_blk]) op2.ubp[idx_op2]=op1_2D[idx_op2][idx_blk];	      
+              flg_mss=True;
+            } /* end if */
+          } /* end loop over idx_blk */
+          if(!flg_mss) op2.ubp[idx_op2]=mss_val_ubyte;
+        } /* end loop over idx_op2 */
+      } /* end else */
+    } /* end if */
+#endif /* __GNUC__ */
+    break;
+  case NC_CHAR:
+    /* Only allow ANSI-compliant branch. "max" is assigned value of first element of block */
+    if(!has_mss_val){
+      for(idx_op2=0;idx_op2<sz_op2;idx_op2++){
+        const long blk_off=idx_op2*sz_blk;
+        op2.cp[idx_op2]=op1.cp[blk_off];
+      } /* end loop over idx_op2 */
+    }else{
+      for(idx_op2=0;idx_op2<sz_op2;idx_op2++){
+        const long blk_off=idx_op2*sz_blk;
+        flg_mss=False;
+	idx_op1=blk_off;
+	if(op1.cp[idx_op1] != mss_val_char){
+	  if(!flg_mss) op2.cp[idx_op2]=op1.cp[idx_op1];
+	  flg_mss=True;
+	} /* end if */
+        if(!flg_mss) op2.cp[idx_op2]=mss_val_char;
+      } /* end loop over idx_op2 */
+    } /* end else */
+    break;
+  case NC_STRING: 
+    /* Only allow ANSI-compliant branch. "max" is assigned value of first element of block */
+    if(!has_mss_val){
+      for(idx_op2=0;idx_op2<sz_op2;idx_op2++){
+        const long blk_off=idx_op2*sz_blk;
+        op2.sngp[idx_op2]=op1.sngp[blk_off];
+      } /* end loop over idx_op2 */
+    }else{
+      for(idx_op2=0;idx_op2<sz_op2;idx_op2++){
+        const long blk_off=idx_op2*sz_blk;
+        flg_mss=False;
+	idx_op1=blk_off;
+	if(op1.sngp[idx_op1] != mss_val_string){
+	  if(!flg_mss) op2.sngp[idx_op2]=op1.sngp[idx_op1];
+	  flg_mss=True;
+	} /* end if */
+        if(!flg_mss) op2.sngp[idx_op2]=mss_val_string;
+      } /* end loop over idx_op2 */
+    } /* end else */
+    break;
   default: nco_dfl_case_nc_type_err(); break;
   } /* end  switch */
 
   /* NB: it is not neccessary to un-typecast pointers to values after access 
-  because we have only operated on local copies of them. */
+     because we have only operated on local copies of them. */
 
 } /* end nco_var_avg_rdc_max() */
diff --git a/src/nco/nco_var_avg.h b/src/nco/nco_var_avg.h
index 05c298d..4948e5c 100644
--- a/src/nco/nco_var_avg.h
+++ b/src/nco/nco_var_avg.h
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_var_avg.h,v 1.26 2013/07/16 18:39:43 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_var_avg.h,v 1.27 2013/12/31 05:14:02 zender Exp $ */
 
 /* Purpose: Average variables */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco/nco_var_lst.c b/src/nco/nco_var_lst.c
index 188d716..8cd9eca 100644
--- a/src/nco/nco_var_lst.c
+++ b/src/nco/nco_var_lst.c
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_var_lst.c,v 1.163 2013/12/02 01:05:56 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_var_lst.c,v 1.166 2014/01/03 06:04:07 zender Exp $ */
 
 /* Purpose: Variable list utilities */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -898,13 +898,13 @@ nco_var_lst_dvd /* [fnc] Divide input lists into output lists */
   for(idx=0;idx<nbr_var;idx++){
 
     /* ncge case */
-    if (nco_prg_id == ncge){
+    if(nco_prg_id == ncge){
       /* Mark all variables as fixed and later detect ensemble variable in table to mark as processed */
       var_op_typ[idx]=fix_typ;
     }else{
       /* Initialize operation type to processed. Change to fixed where warranted later. */
       var_op_typ[idx]=prc_typ;
-    } /* ! ncge case */
+    } /* !ncge case */
 
     var_nm=var[idx]->nm;
     var_typ=var[idx]->type;
@@ -952,7 +952,7 @@ nco_var_lst_dvd /* [fnc] Divide input lists into output lists */
       /* Obtain variable GTT object using full variable name */
       var_trv=trv_tbl_var_nm_fll(var[idx]->nm_fll,trv_tbl);
       /* If variable is template, mark as processed */
-      if (var_trv->flg_nsm_tpl && var_trv->nco_typ == nco_obj_typ_var){
+      if(var_trv->flg_nsm_tpl && var_trv->nco_typ == nco_obj_typ_var){
         assert(var_trv->flg_nsm_mbr == True);
         var_op_typ[idx]=prc_typ;
       }
@@ -1087,16 +1087,16 @@ nco_var_lst_dvd /* [fnc] Divide input lists into output lists */
       /* Do nothing */
       break;
     case ncbo:
-      (void)fprintf(stdout,"%s: HINT Extraction list must contain a non-coordinate variable that is not NC_CHAR, or NC_STRING in order to perform a binary operation (e.g., subtraction)\n",nco_prg_nm_get());
+      (void)fprintf(stdout,"%s: HINT Extraction list must contain a non-coordinate variable that is not NC_CHAR or NC_STRING in order to perform a binary operation (e.g., subtraction)\n",nco_prg_nm_get());
       break;
     case ncfe:
-      (void)fprintf(stdout,"%s: HINT Extraction list must contain a non-coordinate variable that is not NC_CHAR, or NC_STRING\n",nco_prg_nm_get());
+      (void)fprintf(stdout,"%s: HINT Extraction list must contain a non-coordinate variable that is not NC_CHAR or NC_STRING\n",nco_prg_nm_get());
       break;
     case ncecat:
       (void)fprintf(stdout,"%s: HINT Extraction list must contain a non-coordinate variable\n",nco_prg_nm_get());
       break;
     case ncflint:
-      (void)fprintf(stdout,"%s: HINT Extraction list must contain a variable that is not NC_CHAR, or NC_STRING\n",nco_prg_nm_get());
+      (void)fprintf(stdout,"%s: HINT Extraction list must contain a variable that is not NC_CHAR or NC_STRING\n",nco_prg_nm_get());
       break;
     case ncks:
       /* Do nothing */
@@ -1105,7 +1105,7 @@ nco_var_lst_dvd /* [fnc] Divide input lists into output lists */
       (void)fprintf(stdout,"%s: HINT Extraction list must contain a variable that shares at least one dimension with the re-order list\n",nco_prg_nm_get());
       break;
     case ncra:
-      (void)fprintf(stdout,"%s: HINT Extraction list must contain a record variable that is not NC_CHAR, or NC_STRING\n",nco_prg_nm_get());
+      (void)fprintf(stdout,"%s: HINT Extraction list must contain a record variable that is not NC_CHAR or NC_STRING\n",nco_prg_nm_get());
       break;
     case ncrcat:
       (void)fprintf(stdout,"%s: HINT Extraction list must contain a record variable which to concatenate\n",nco_prg_nm_get());
@@ -1260,32 +1260,32 @@ nco_var_lst_dvd_trv                          /* [fnc] Divide input lists into ou
     /* NB: all !strcmp()'s except "msk_" which uses strstr() */
     if(is_sz_rnk_prv_rth_opr && (!strcmp(var_nm,"hyam") || !strcmp(var_nm,"hybm") || !strcmp(var_nm,"hyai") || !strcmp(var_nm,"hybi") || !strcmp(var_nm,"gw") || !strcmp(var_nm,"lon_bnds") || !strcmp(var_nm,"lat_bnds") || !strcmp(var_nm,"area") || !strcmp(var_nm,"ORO") || !strcmp(var_nm,"date") || !strcmp(var_nm,"datesec") || (strstr(var_nm,"msk_") == var_nm))) var_op_typ=fix_typ;
     /* Known "multi-dimensional coordinates" in CCSM-like model output:
-    lat, lon, lev are normally 1-D coordinates
-    Known exceptions:
-    lat and lon are "2-D coordinates" in NARCCAP output
-    NARCCAP specifies lat and lon in "coordinates" attribute of 2-D fields
-    latixy and longxy are "2-D coordinates" in CLM output
-    CLM does not specify latixy and longxy in "coordinates" attribute of any fields
-    NARCCAP output gives all "coordinate-like" fields an "axis" attribute
-    This includes the record coordinate (i.e., "time") which both ncra and ncwa _should_ process
-    CLM does not give an "axis" attribute to any fields
-    One method of chasing down all "coordinate-like" fields is to look
-    for the field name in the "coordinates" attribute of any variable.
-    However, this will miss (false-negative) the case when no variables 
-    use an N-D coordinate-like variable as a coordinate. 
-    And this may hit (false-positive) the record coordinate (often "time")
-    which should be averaged by ncra, though perhaps not by nces.
-    "coordinate-like" variables that should be "fixed", and not
-    differenced, interpolated, or ensemble-averaged, include those 
-    satisfying these conditions:
-    0. Traditional coordinate (1-D variable same name as its dimension)
-    1. Present in a "coordinates" attribute (except "time" for ncra)
-    2. Present in a "bounds" attribute (except "time_bnds" for ncra)
-    3. Contain an "axis" attribute (except "time") fxm not done yet
-    4. Found in empirical list of variables
-    NB: In the above algorithm discussion, "time" is my shorthand 
-    for "the record variable, if any" */
-
+       lat, lon, lev are normally 1-D coordinates
+       Known exceptions:
+       lat and lon are "2-D coordinates" in NARCCAP output
+       NARCCAP specifies lat and lon in "coordinates" attribute of 2-D fields
+       latixy and longxy are "2-D coordinates" in CLM output
+       CLM does not specify latixy and longxy in "coordinates" attribute of any fields
+       NARCCAP output gives all "coordinate-like" fields an "axis" attribute
+       This includes the record coordinate (i.e., "time") which both ncra and ncwa _should_ process
+       CLM does not give an "axis" attribute to any fields
+       One method of chasing down all "coordinate-like" fields is to look
+       for the field name in the "coordinates" attribute of any variable.
+       However, this will miss (false-negative) the case when no variables 
+       use an N-D coordinate-like variable as a coordinate. 
+       And this may hit (false-positive) the record coordinate (often "time")
+       which should be averaged by ncra, though perhaps not by nces.
+       "coordinate-like" variables that should be "fixed", and not
+       differenced, interpolated, or ensemble-averaged, include those 
+       satisfying these conditions:
+       0. Traditional coordinate (1-D variable same name as its dimension)
+       1. Present in a "coordinates" attribute (except "time" for ncra)
+       2. Present in a "bounds" attribute (except "time_bnds" for ncra)
+       3. Contain an "axis" attribute (except "time") fxm not done yet
+       4. Found in empirical list of variables
+       NB: In the above algorithm discussion, "time" is my shorthand 
+       for "the record variable, if any" */
+    
     /* Conditions #1 and #2 are already implemented above in the case() statement */
     /* Check condition #4 above: */
     if(is_sz_rnk_prv_rth_opr && (!strcmp(var_nm,"lat") || !strcmp(var_nm,"lon") || !strcmp(var_nm,"lev") || !strcmp(var_nm,"longxy") || !strcmp(var_nm,"latixy") )) var_op_typ=fix_typ;
@@ -1310,4 +1310,3 @@ nco_var_lst_dvd_trv                          /* [fnc] Divide input lists into ou
   *prc=var_op_typ;
 
 } /* end nco_var_lst_dvd_trv */
-
diff --git a/src/nco/nco_var_lst.h b/src/nco/nco_var_lst.h
index 1f9d457..426959f 100644
--- a/src/nco/nco_var_lst.h
+++ b/src/nco/nco_var_lst.h
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_var_lst.h,v 1.71 2013/11/02 22:35:27 pvicente Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_var_lst.h,v 1.73 2014/01/06 06:46:05 zender Exp $ */
 
 /* Purpose: Variable list utilities */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -25,7 +25,7 @@
 #ifdef HAVE_REGEX_H 
 /* 20120213: Linux GCC 4.6 man page says regex.h depends on (non-present) sys/types.h */
 # ifdef MACOSX
-#  include <sys/types.h> /* 20040822: Provide off_t required by Mac OS X regex.h */
+#  include <sys/types.h> /*19950312: _res, 20040822: Mac OS X off_t required by regex.h */
 # endif /* !MACOSX */
 # include <regex.h> /* POSIX regular expressions library */
 #endif /* HAVE_REGEX_H */
diff --git a/src/nco/nco_var_rth.c b/src/nco/nco_var_rth.c
index b82ac3b..a6b369e 100644
--- a/src/nco/nco_var_rth.c
+++ b/src/nco/nco_var_rth.c
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_var_rth.c,v 1.67 2013/12/02 01:05:56 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_var_rth.c,v 1.69 2014/02/13 04:38:12 zender Exp $ */
 
 /* Purpose: Variable arithmetic */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -2639,7 +2639,7 @@ nco_var_zero /* [fnc] Zero value of first operand */
   } /* end switch */
   
 #if 0
-  /* Presumably this old method used until 20050321 is slower because of pointer de-referencing */
+  /* Presumably this old method (used until 20050321) is slower because of pointer de-referencing */
   long idx;
   
   /* Typecast pointer to values before access */
diff --git a/src/nco/nco_var_rth.h b/src/nco/nco_var_rth.h
index fce0c20..eaae65d 100644
--- a/src/nco/nco_var_rth.h
+++ b/src/nco/nco_var_rth.h
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_var_rth.h,v 1.37 2013/07/16 18:39:43 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_var_rth.h,v 1.38 2013/12/31 05:14:02 zender Exp $ */
 
 /* Purpose: Variable arithmetic */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco/nco_var_scv.c b/src/nco/nco_var_scv.c
index 9741c79..fc547b8 100644
--- a/src/nco/nco_var_scv.c
+++ b/src/nco/nco_var_scv.c
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_var_scv.c,v 1.38 2013/10/05 07:36:30 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_var_scv.c,v 1.39 2013/12/31 05:14:02 zender Exp $ */
 
 /* Purpose: Arithmetic between variables and scalar values */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco/nco_var_scv.h b/src/nco/nco_var_scv.h
index e2ab9f9..8c2439b 100644
--- a/src/nco/nco_var_scv.h
+++ b/src/nco/nco_var_scv.h
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_var_scv.h,v 1.27 2013/07/16 18:39:43 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_var_scv.h,v 1.28 2013/12/31 05:14:02 zender Exp $ */
 
 /* Purpose: Arithmetic between variables and scalar values */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco/nco_var_utl.c b/src/nco/nco_var_utl.c
index d9d465b..cfc321f 100644
--- a/src/nco/nco_var_utl.c
+++ b/src/nco/nco_var_utl.c
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_var_utl.c,v 1.350 2013/10/22 03:03:46 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_var_utl.c,v 1.357 2014/02/14 05:22:17 zender Exp $ */
 
 /* Purpose: Variable utilities */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -911,7 +911,15 @@ nco_var_free /* [fnc] Free all memory associated with variable structure */
   /* Purpose: Free all memory associated with a dynamically allocated variable structure */
 
   /* String values must be deep-free'd, everything else is a flat buffer */
-  if(var->type == (nc_type)NC_STRING && var->val.vp != (void *)NULL) var->val.vp=(void *)nco_sng_lst_free((char **)var->val.vp,var->sz); else var->val.vp=nco_free(var->val.vp);
+  if(var->type == (nc_type)NC_STRING){
+    /* 20140212: ncwa may free this memory twice because reduced variable not created correctly in nco_var_avg()
+       Temporarily only free string variables during debugging */
+    if(nco_dbg_lvl_get() == nco_dbg_crr)
+      if(var->val.vp) var->val.vp=(void *)nco_sng_lst_free((char **)var->val.vp,var->sz);
+  }else{
+    if(var->val.vp) var->val.vp=nco_free(var->val.vp);
+  } /* endif */
+
   var->nm=(char *)nco_free(var->nm);
   var->nm_fll=(char *)nco_free(var->nm_fll);
   var->mss_val.vp=nco_free(var->mss_val.vp);
@@ -990,7 +998,7 @@ var_dfl_set /* [fnc] Set defaults for each member of variable structure */
   var->srd=(long *)NULL;
   var->undefined=False; /* [flg] Used by ncap parser */
   var->is_fix_var=True; /* Is this a fixed (non-processed) variable? */
-  var->dfl_lvl=0; /* [enm] Deflate level */
+  var->dfl_lvl=NCO_DFL_LVL_UNDEFINED; /* [enm] Deflate level */
   var->shuffle=False; /* [flg] Turn on shuffle filter */
   /* Members related to packing */
   var->has_scl_fct=False; /* [flg] Valid scale_factor attribute exists */
@@ -1135,7 +1143,10 @@ nco_var_dfn /* [fnc] Define variables and write their attributes to output file
             if(deflate || shuffle) (void)nco_def_var_deflate(out_id,var[idx]->id,deflate,shuffle,dfl_lvl_in);
           } /* endif */
           /* Overwrite HDF Lempel-Ziv compression level, if requested */
-          if(dfl_lvl > 0) (void)nco_def_var_deflate(out_id,var[idx]->id,(int)True,(int)True,dfl_lvl);
+	  if(dfl_lvl == 0) deflate=(int)False; else deflate=(int)True;
+	  /* Turn-off shuffle when uncompressing otherwise chunking requests may fail */
+	  if(dfl_lvl == 0) shuffle=(int)False; 
+          if(dfl_lvl >= 0) (void)nco_def_var_deflate(out_id,var[idx]->id,shuffle,deflate,dfl_lvl);
         } /* endif */
       } /* endif netCDF4 */
 
@@ -1461,13 +1472,13 @@ nco_var_mtd_refresh /* [fnc] Update variable metadata (dmn_nbr, ID, mss_val, typ
   } /* endif err */
 
   /* 20100923: Any need to refresh storage properties (shuffle,deflate,dfl_lvl,cnk_sz) here?
-  Certainly they can change between files, that alone is not reason to refresh them
-  Unlike missing values, storage properties in input are transparent to arithmetic
-  The netCDF/HDF5 I/O layer handles all this transparently
-  Moreover, output storage properties must be set just after variable definition, long before nco_var_mtd_refresh()
-  So storage properties of variable in current file cannot affect arithmetic, nor output
-  Hence there is no reason to track current storage properties in var_sct
-  However, if that ever changes, here are hooks to do so */
+     Certainly they can change between files, that alone is not reason to refresh them
+     Unlike missing values, storage properties in input are transparent to arithmetic
+     The netCDF/HDF5 I/O layer handles all this transparently
+     Moreover, output storage properties must be set just after variable definition, long before nco_var_mtd_refresh()
+     So storage properties of variable in current file cannot affect arithmetic, nor output
+     Hence there is no reason to track current storage properties in var_sct
+     However, if that ever changes, here are hooks to do so */
   if(False && var->nbr_dim > 0){
     int deflate; /* [flg] Turn on deflate filter */
     int srg_typ; /* [enm] Storage type */
@@ -1483,9 +1494,9 @@ nco_var_mtd_refresh /* [fnc] Update variable metadata (dmn_nbr, ID, mss_val, typ
 
 #if 0
   /* PJR requested warning to be added when multiple file operators worked on 
-  variables with missing_value since so many things could go wrong
-  Now un-necessary since multi-file packing ostensibly works
-  Leave code here in case we find it does not work */
+     variables with missing_value since so many things could go wrong
+     Now un-necessary since multi-file packing ostensibly works
+     Leave code here in case we find it does not work */
   if(nco_is_rth_opr(nco_prg_id_get()) && var->pck_dsk){
     if(var->has_mss_val) (void)fprintf(stdout,"%s: WARNING Variable \"%s\" is packed and has valid \"NCO_MSS_VAL_SNG\" attribute in multi-file arithmetic operator. Arithmetic on this variable will only be correct if...\n",nco_prg_nm_get(),var_nm);
   } /* endif variable is packed */
@@ -1495,7 +1506,7 @@ nco_var_mtd_refresh /* [fnc] Update variable metadata (dmn_nbr, ID, mss_val, typ
 
 void
 nco_var_srd_srt_set /* [fnc] Assign zero to start and unity to stride vectors in variables */
-(var_sct ** const var, /* I [sct] Variables whose duration, start, and stride arrays to set */
+(var_sct ** const var, /* I [sct] Variables whose subcycle, start, and stride arrays to set */
  const int nbr_var) /* I [nbr] Number of structures in variable structure list */
 {
   /* Purpose: Zero start (srt) and stride (srd) arrays of variable 
@@ -1670,7 +1681,7 @@ nco_var_fll /* [fnc] Allocate variable structure and fill with metadata */
   (void)nco_pck_dsk_inq(nc_id,var);
 
   /* Set deflate and chunking to defaults */  
-  var->dfl_lvl=0; /* [enm] Deflate level */
+  var->dfl_lvl=NCO_DFL_LVL_UNDEFINED; /* [enm] Deflate level */
   var->shuffle=False; /* [flg] Turn on shuffle filter */
 
   for(idx=0;idx<var->nbr_dim;idx++) var->cnk_sz[idx]=(size_t)0L;
diff --git a/src/nco/nco_var_utl.h b/src/nco/nco_var_utl.h
index 1e9902e..500de37 100644
--- a/src/nco/nco_var_utl.h
+++ b/src/nco/nco_var_utl.h
@@ -1,8 +1,8 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_var_utl.h,v 1.101 2013/07/25 03:39:59 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_var_utl.h,v 1.103 2014/02/14 05:22:17 zender Exp $ */
 
 /* Purpose: Variable utilities */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -132,7 +132,7 @@ nco_var_mtd_refresh /* [fnc] Update variable metadata (dmn_nbr, ID, mss_val, typ
   
 void
 nco_var_srd_srt_set /* [fnc] Assign zero to start and unity to stride vectors in variables */
-(var_sct ** const var, /* I [sct] Variables whose duration, start, and stride arrays to set */
+(var_sct ** const var, /* I [sct] Variables whose subcycle, start, and stride arrays to set */
  const int nbr_var); /* I [nbr] Number of structures in variable structure list */
   
 void
diff --git a/src/nco/ncpdq.c b/src/nco/ncpdq.c
index c5153b1..972d03f 100644
--- a/src/nco/ncpdq.c
+++ b/src/nco/ncpdq.c
@@ -1,10 +1,10 @@
-/* $Header: /cvsroot/nco/nco/src/nco/ncpdq.c,v 1.374 2013/11/06 17:51:13 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/ncpdq.c,v 1.391 2014/02/11 16:17:24 zender Exp $ */
 
 /* ncpdq -- netCDF pack, re-dimension, query */
 
 /* Purpose: Pack, re-dimension, query single netCDF file and output to a single file */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
 
    License: GNU General Public License (GPL) Version 3
    The full license text is at http://www.gnu.org/copyleft/gpl.html 
@@ -120,11 +120,11 @@ 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.374 2013/11/06 17:51:13 zender Exp $"; 
-  const char * const CVS_Revision="$Revision: 1.374 $";
+  const char * const CVS_Id="$Id: ncpdq.c,v 1.391 2014/02/11 16:17:24 zender Exp $"; 
+  const char * const CVS_Revision="$Revision: 1.391 $";
   const char * const opt_sht_lst="3467Aa:CcD:d:Fg:G:hL:l:M:Oo:P:p:Rrt:v:UxZ-:";
 
-  cnk_sct **cnk=NULL_CEWI;
+  cnk_sct cnk; /* [sct] Chunking structure */
 
 #if defined(__cplusplus) || defined(PGI_CC)
   ddra_info_sct ddra_info;
@@ -154,7 +154,7 @@ main(int argc,char **argv)
   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=0; /* [enm] Deflate level */
+  int dfl_lvl=NCO_DFL_LVL_UNDEFINED; /* [enm] Deflate level */
   int dmn_rdr_nbr=0; /* [nbr] Number of dimension to re-order */
   int dmn_rdr_nbr_in=0; /* [nbr] Original number of dimension to re-order */
   int fl_idx=int_CEWI;
@@ -186,6 +186,7 @@ main(int argc,char **argv)
   md5_sct *md5=NULL; /* [sct] MD5 configuration */
 
   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 */
   size_t hdr_pad=0UL; /* [B] Pad at end of header section */
 
@@ -198,6 +199,8 @@ main(int argc,char **argv)
 
   trv_tbl_sct *trv_tbl=NULL; /* [lst] Traversal table */
 
+  nco_dmn_dne_t *flg_dne=NULL; /* [lst] Flag to check if input dimension -d "does not exist" */
+
   static struct option opt_lng[]=
   { /* Structure ordered by short option key if possible */
     /* Long options with no argument, no short option counterpart */
@@ -230,9 +233,12 @@ main(int argc,char **argv)
     /* Long options with argument, no short option counterpart */
     {"bfr_sz_hnt",required_argument,0,0}, /* [B] Buffer size hint */
     {"buffer_size_hint",required_argument,0,0}, /* [B] Buffer size hint */
+    {"cnk_map",required_argument,0,0}, /* [nbr] Chunking map */
     {"chunk_map",required_argument,0,0}, /* [nbr] Chunking map */
     {"cnk_plc",required_argument,0,0}, /* [nbr] Chunking policy */
     {"chunk_policy",required_argument,0,0}, /* [nbr] Chunking policy */
+    {"cnk_byt",required_argument,0,0}, /* [B] Chunk size in bytes */
+    {"chunk_byte",required_argument,0,0}, /* [B] Chunk size in bytes */
     {"cnk_scl",required_argument,0,0}, /* [nbr] Chunk size scalar */
     {"chunk_scalar",required_argument,0,0}, /* [nbr] Chunk size scalar */
     {"cnk_dmn",required_argument,0,0}, /* [nbr] Chunk size */
@@ -323,6 +329,10 @@ main(int argc,char **argv)
         bfr_sz_hnt=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
         if(*sng_cnv_rcd) nco_sng_cnv_err(optarg,"strtoul",sng_cnv_rcd);
       } /* endif cnk */
+      if(!strcmp(opt_crr,"cnk_byt") || !strcmp(opt_crr,"chunk_byte")){
+        cnk_sz_byt=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
+        if(*sng_cnv_rcd) nco_sng_cnv_err(optarg,"strtoul",sng_cnv_rcd);
+      } /* endif cnk_byt */
       if(!strcmp(opt_crr,"cnk_dmn") || !strcmp(opt_crr,"chunk_dimension")){
         /* Copy limit argument for later processing */
         cnk_arg[cnk_nbr]=(char *)strdup(optarg);
@@ -345,7 +355,7 @@ main(int argc,char **argv)
       if(!strcmp(opt_crr,"cln") || !strcmp(opt_crr,"mmr_cln") || !strcmp(opt_crr,"clean")) flg_cln=True; /* [flg] Clean memory prior to exit */
       if(!strcmp(opt_crr,"drt") || !strcmp(opt_crr,"mmr_drt") || !strcmp(opt_crr,"dirty")) flg_cln=False; /* [flg] Clean memory prior to exit */
       if(!strcmp(opt_crr,"fl_fmt") || !strcmp(opt_crr,"file_format")) rcd=nco_create_mode_prs(optarg,&fl_out_fmt);
-      if(!strcmp(opt_crr,"hdf4")) nco_hdf_cnv=nco_hdf4; /* [enm] Treat file as HDF4 */
+      if(!strcmp(opt_crr,"hdf4")) nco_fmt_xtn=nco_fmt_xtn_hdf4; /* [enm] Treat file as HDF4 */
       if(!strcmp(opt_crr,"hdf_upk") || !strcmp(opt_crr,"hdf_unpack")) nco_upk_cnv=nco_upk_HDF; /* [flg] HDF unpack convention: unpacked=scale_factor*(packed-add_offset) */
       if(!strcmp(opt_crr,"hdr_pad") || !strcmp(opt_crr,"header_pad")){
         hdr_pad=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
@@ -509,13 +519,9 @@ main(int argc,char **argv)
     nco_exit(EXIT_FAILURE);
   } /* endif */
 
-
   /* Process positional arguments and fill in filenames */
   fl_lst_in=nco_fl_lst_mk(argv,argc,optind,&fl_nbr,&fl_out,&FL_LST_IN_FROM_STDIN);
 
-  /* Make uniform list of user-specified chunksizes */
-  if(cnk_nbr > 0) cnk=nco_cnk_prs(cnk_nbr,cnk_arg);
-
   /* Initialize thread information */
   thr_nbr=nco_openmp_ini(thr_nbr);
   in_id_arr=(int *)nco_malloc(thr_nbr*sizeof(int));
@@ -532,7 +538,10 @@ main(int argc,char **argv)
   (void)nco_inq_format(in_id,&fl_in_fmt);
 
   /* Construct GTT, Group Traversal Table (groups,variables,dimensions, limits) */
-  (void)nco_bld_trv_tbl(in_id,trv_pth,lmt_nbr,lmt_arg,aux_nbr,aux_arg,MSA_USR_RDR,FORTRAN_IDX_CNV,grp_lst_in,grp_lst_in_nbr,var_lst_in,xtr_nbr,EXTRACT_ALL_COORDINATES,GRP_VAR_UNN,EXCLUDE_INPUT_LIST,EXTRACT_ASSOCIATED_COORDINATES,trv_tbl);
+  (void)nco_bld_trv_tbl(in_id,trv_pth,lmt_nbr,lmt_arg,aux_nbr,aux_arg,MSA_USR_RDR,FORTRAN_IDX_CNV,grp_lst_in,grp_lst_in_nbr,var_lst_in,xtr_nbr,EXTRACT_ALL_COORDINATES,GRP_VAR_UNN,EXCLUDE_INPUT_LIST,EXTRACT_ASSOCIATED_COORDINATES,&flg_dne,trv_tbl);
+
+  /* Check if all input -d dimensions were found */ 
+  (void)nco_chk_dmn(lmt_nbr,flg_dne);     
 
   /* Create reversed dimension list */
   if(dmn_rdr_nbr_in > 0){
@@ -546,7 +555,7 @@ main(int argc,char **argv)
     for(unsigned int idx_tbl=0;idx_tbl<trv_tbl->nbr;idx_tbl++){
       trv_sct var_trv=trv_tbl->lst[idx_tbl];
       /* Is variable to extract  */
-      if (var_trv.nco_typ == nco_obj_typ_var && var_trv.flg_xtr){
+      if(var_trv.nco_typ == nco_obj_typ_var && var_trv.flg_xtr){
         /* Loop variable dimensions */
         for(int idx_dmn=0;idx_dmn<var_trv.nbr_dmn;idx_dmn++){
 
@@ -560,21 +569,18 @@ main(int argc,char **argv)
             if(dmn_rdr_lst_in[idx_rdr][0] == '-'){
               optarg_lcl=(char *)strdup(dmn_rdr_lst_in[idx_rdr]+1);         
               flg_is_rvr=True;
-            } /* Does it have a '-' ? */  
+            } /* !flg_is_rvr */  
 
             /* Compare with dimension name */
-            if (optarg_lcl && strcmp(optarg_lcl,var_trv.var_dmn[idx_dmn].dmn_nm) == 0) {
-              /* Increment number of matches */
-              dmn_rdr_nbr_trv++;
-            } /* Compare with dimension name */
+            if(optarg_lcl && !strcmp(optarg_lcl,var_trv.var_dmn[idx_dmn].dmn_nm)) dmn_rdr_nbr_trv++;
 
-            if (flg_is_rvr){
+            if(flg_is_rvr){
               assert(optarg_lcl);
               dmn_rvr_rdr[idx_dmn_rdr_nbr_trv]=True;
               optarg_lcl=(char *)nco_free(optarg_lcl); 
-            } else {
+            }else{
               dmn_rvr_rdr[idx_dmn_rdr_nbr_trv]=False;
-            }
+            } /* !flg_is_rvr */
             idx_dmn_rdr_nbr_trv++;
 
           } /* Loop input -a names */
@@ -589,11 +595,10 @@ main(int argc,char **argv)
         optarg_lcl=dmn_rdr_lst_in[idx_rdr];
         dmn_rdr_lst_in[idx_rdr]=(char *)strdup(optarg_lcl+1);
         optarg_lcl=(char *)nco_free(optarg_lcl);
-      }
+      } /* endif */
     } /* Strip all '-'  */
   } /* Create reversed dimension list */
 
-
   /* Get number of variables, dimensions, and global attributes in file, file format */
   (void)trv_tbl_inq((int *)NULL,(int *)NULL,(int *)NULL,&nbr_dmn_fl,(int *)NULL,(int *)NULL,(int *)NULL,(int *)NULL,&nbr_var_fl,trv_tbl);
 
@@ -653,7 +658,9 @@ main(int argc,char **argv)
 
   /* Open output file */
   fl_out_tmp=nco_fl_out_open(fl_out,FORCE_APPEND,FORCE_OVERWRITE,fl_out_fmt,&bfr_sz_hnt,RAM_CREATE,RAM_OPEN,WRT_TMP_FL,&out_id);
-  if(nco_dbg_lvl >= nco_dbg_sbr) (void)fprintf(stderr,"Input, output file IDs = %d, %d\n",in_id,out_id);
+
+  /* Create structure with all chunking information */
+  if(fl_out_fmt == NC_FORMAT_NETCDF4 || fl_out_fmt == NC_FORMAT_NETCDF4_CLASSIC) rcd+=nco_cnk_ini(fl_out,cnk_arg,cnk_nbr,cnk_map,cnk_plc,cnk_sz_byt,cnk_sz_scl,&cnk);
 
   /* Catenate time-stamped command line to "history" global attribute */
   if(HISTORY_APPEND) (void)nco_hst_att_cat(out_id,cmd_ln);
@@ -683,7 +690,7 @@ main(int argc,char **argv)
   } /* nco_pck_plc == nco_pck_plc_nil */
 
   /* Define dimensions, extracted groups, variables, and attributes in output file. NOTE. record name is NULL */
-  (void)nco_xtr_dfn(in_id,out_id,&cnk_map,&cnk_plc,cnk_sz_scl,cnk,cnk_nbr,dfl_lvl,gpe,md5,True,True,nco_pck_plc,(char *)NULL,trv_tbl);
+  (void)nco_xtr_dfn(in_id,out_id,&cnk,dfl_lvl,gpe,md5,True,True,nco_pck_plc,(char *)NULL,trv_tbl);
 
   /* Catenate time-stamped command line to "history" global attribute */
   if(HISTORY_APPEND) (void)nco_hst_att_cat(out_id,cmd_ln);
@@ -923,7 +930,7 @@ main(int argc,char **argv)
     for(idx=0;idx<aux_nbr;idx++) aux_arg[idx]=(char *)nco_free(aux_arg[idx]);
     /* Free chunking information */
     for(idx=0;idx<cnk_nbr;idx++) cnk_arg[idx]=(char *)nco_free(cnk_arg[idx]);
-    if(cnk_nbr > 0) cnk=nco_cnk_lst_free(cnk,cnk_nbr);
+    if(cnk_nbr > 0) cnk.cnk_dmn=(cnk_dmn_sct **)nco_cnk_lst_free(cnk.cnk_dmn,cnk_nbr);
     /* Free dimension lists */
     if(nbr_dmn_xtr > 0) dim=nco_dmn_lst_free(dim,nbr_dmn_xtr);
     if(nbr_dmn_xtr > 0) dmn_out=nco_dmn_lst_free(dmn_out,nbr_dmn_xtr);
@@ -934,8 +941,9 @@ main(int argc,char **argv)
     var_prc_out=(var_sct **)nco_free(var_prc_out);
     var_fix=(var_sct **)nco_free(var_fix);
     var_fix_out=(var_sct **)nco_free(var_fix_out);
-    /* Free traversal table */
     trv_tbl_free(trv_tbl); 
+    for(idx=0;idx<lmt_nbr;idx++) flg_dne[idx].dim_nm=(char *)nco_free(flg_dne[idx].dim_nm);
+    if (flg_dne) flg_dne=(nco_dmn_dne_t *)nco_free(flg_dne);
     if(gpe) gpe=(gpe_sct *)nco_gpe_free(gpe);
   } /* !flg_cln */
 
diff --git a/src/nco/ncra.c b/src/nco/ncra.c
index d57960c..5c57731 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.468 2013/12/02 20:14:50 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/ncra.c,v 1.515 2014/02/19 15:04:13 zender Exp $ */
 
 /* This single source file compiles into three separate executables:
    ncra -- netCDF record averager
@@ -9,7 +9,7 @@
    specfied variables of multiple input netCDF files and output them 
    to a single file. */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
    
    License: GNU General Public License (GPL) Version 3
    The full license text is at http://www.gnu.org/copyleft/gpl.html 
@@ -113,34 +113,6 @@ inline long max_lng(long a, long b){return (a > b) ? a : b;}
 int
 main(int argc,char **argv)
 {
-  nco_bool CNV_ARM;
-  nco_bool CNV_CCM_CCSM_CF;
-  nco_bool EXCLUDE_INPUT_LIST=False; /* Option c */
-  nco_bool EXTRACT_ALL_COORDINATES=False; /* Option c */
-  nco_bool EXTRACT_ASSOCIATED_COORDINATES=True; /* Option C */
-  nco_bool FLG_BFR_NRM=False; /* [flg] Current output buffers need normalization */
-  nco_bool FLG_MRO=False; /* [flg] Multi-Record Output */
-  nco_bool FL_LST_IN_APPEND=True; /* Option H */
-  nco_bool FL_LST_IN_FROM_STDIN=False; /* [flg] fl_lst_in comes from stdin */
-  nco_bool FL_RTR_RMT_LCN;
-  nco_bool FORCE_APPEND=False; /* Option A */
-  nco_bool FORCE_OVERWRITE=False; /* Option O */
-  nco_bool FORTRAN_IDX_CNV=False; /* Option F */
-  nco_bool GRP_VAR_UNN=False; /* [flg] Select union of specified groups and variables */
-  nco_bool HISTORY_APPEND=True; /* Option h */
-  nco_bool MSA_USR_RDR=False; /* [flg] Multi-Slab Algorithm returns hyperslabs in user-specified order */
-  nco_bool RAM_CREATE=False; /* [flg] Create file in RAM */
-  nco_bool RAM_OPEN=False; /* [flg] Open (netCDF3-only) file(s) in RAM */
-  nco_bool REC_APN=False; /* [flg] Append records directly to output file */
-  nco_bool REC_FRS_GRP=False; /* [flg] Record is first in current group */
-  nco_bool *REC_LST_DSR=NULL; /* [flg] Record is last desired from all input files */
-  nco_bool REC_LST_GRP=False; /* [flg] Record is last in current group */
-  nco_bool REC_SRD_LST=False; /* [flg] Record belongs to last stride of current file */
-  nco_bool RM_RMT_FL_PST_PRC=True; /* Option R */
-  nco_bool WRT_TMP_FL=True; /* [flg] Write output to temporary file */
-  nco_bool flg_cln=True; /* [flg] Clean memory prior to exit */
-  nco_bool flg_rec_all; /*[flg] Retrieve all records */
-
   char **fl_lst_abb=NULL; /* Option n */
   char **fl_lst_in;
   char **grp_lst_in=NULL_CEWI;
@@ -165,11 +137,11 @@ 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.468 2013/12/02 20:14:50 zender Exp $"; 
-  const char * const CVS_Revision="$Revision: 1.468 $";
+  const char * const CVS_Id="$Id: ncra.c,v 1.515 2014/02/19 15:04:13 zender Exp $"; 
+  const char * const CVS_Revision="$Revision: 1.515 $";
   const char * const opt_sht_lst="3467ACcD:d:FG:g:HhL:l:n:Oo:p:P:rRt:v:X:xY:y:-:";
 
-  cnk_sct **cnk=NULL_CEWI;
+  cnk_sct cnk; /* [sct] Chunking structure */
 
 #if defined(__cplusplus) || defined(PGI_CC)
   ddra_info_sct ddra_info;
@@ -198,11 +170,12 @@ main(int argc,char **argv)
   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=0; /* [enm] Deflate level */
+  int dfl_lvl=NCO_DFL_LVL_UNDEFINED; /* [enm] Deflate level */
   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_lst_in_nbr=0; /* [nbr] Number of groups explicitly specified by user */
   int idx=int_CEWI;
@@ -214,6 +187,8 @@ main(int argc,char **argv)
   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;
@@ -233,14 +208,47 @@ main(int argc,char **argv)
   long *rec_in_cml=NULL;  /* [nbr] Number of records, read or not, in all processed files */
   long *rec_usd_cml=NULL; /* [nbr] Cumulative number of input records used (catenated by ncrcat or operated on by ncra) */
   long rec_dmn_sz=0L; /* [idx] Size of record dimension, if any, in current file (increments by srd) */
-  long rec_rmn_prv_drn=0L; /* [idx] Records remaining to be read in current duration group */
+  long rec_rmn_prv_ssc=0L; /* [idx] Records remaining to be read in current subcycle group */
 
   md5_sct *md5=NULL; /* [sct] MD5 configuration */
 
+  nco_bool *REC_LST_DSR=NULL; /* [flg] Record is last desired from all input files */
+  nco_bool *flg_input_complete=NULL; /* [flg] All requested records in record dimension have been read */
+
+  nco_bool CNV_ARM;
+  nco_bool CNV_CCM_CCSM_CF;
+  nco_bool EXCLUDE_INPUT_LIST=False; /* Option c */
+  nco_bool EXTRACT_ALL_COORDINATES=False; /* Option c */
+  nco_bool EXTRACT_ASSOCIATED_COORDINATES=True; /* Option C */
+  nco_bool FLG_BFR_NRM=False; /* [flg] Current output buffers need normalization */
+  nco_bool FLG_MRO=False; /* [flg] Multi-Record Output */
+  nco_bool FL_LST_IN_APPEND=True; /* Option H */
+  nco_bool FL_LST_IN_FROM_STDIN=False; /* [flg] fl_lst_in comes from stdin */
+  nco_bool FL_RTR_RMT_LCN;
+  nco_bool FORCE_APPEND=False; /* Option A */
+  nco_bool FORCE_OVERWRITE=False; /* Option O */
+  nco_bool FORTRAN_IDX_CNV=False; /* Option F */
+  nco_bool GRP_VAR_UNN=False; /* [flg] Select union of specified groups and variables */
+  nco_bool HISTORY_APPEND=True; /* Option h */
+  nco_bool MSA_USR_RDR=False; /* [flg] Multi-Slab Algorithm returns hyperslabs in user-specified order */
+  nco_bool RAM_CREATE=False; /* [flg] Create file in RAM */
+  nco_bool RAM_OPEN=False; /* [flg] Open (netCDF3-only) file(s) in RAM */
+  nco_bool REC_APN=False; /* [flg] Append records directly to output file */
+  nco_bool REC_FRS_GRP=False; /* [flg] Record is first in current group */
+  nco_bool REC_LST_GRP=False; /* [flg] Record is last in current group */
+  nco_bool REC_SRD_LST=False; /* [flg] Record belongs to last stride of current file */
+  nco_bool RM_RMT_FL_PST_PRC=True; /* Option R */
+  nco_bool WRT_TMP_FL=True; /* [flg] Write output to temporary file */
+  nco_bool flg_cll_mth=True; /* [flg] Add/modify cell_methods attributes */
+  nco_bool flg_cln=True; /* [flg] Clean memory prior to exit */
+  nco_bool flg_skp1; /* [flg] Current record is not dimension of this variable */
+  nco_bool flg_skp2; /* [flg] Current record is not dimension of this variable */
+
   nco_int base_time_srt=nco_int_CEWI;
   nco_int base_time_crr=nco_int_CEWI;
 
   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 */
   size_t hdr_pad=0UL; /* [B] Pad at end of header section */
 
@@ -255,9 +263,16 @@ main(int argc,char **argv)
 
   trv_tbl_sct *trv_tbl;    /* [lst] Traversal table */
 
+  nco_dmn_dne_t *flg_dne=NULL; /* [lst] Flag to check if input dimension -d "does not exist" */
+
+  lmt_sct **lmt_rec=NULL; /* [lst] (ncra) Record dimensions */
+
   static struct option opt_lng[]=
   { /* Structure ordered by short option key if possible */
     /* Long options with no argument, no short option counterpart */
+    {"cll_mth",no_argument,0,0}, /* [flg] Add/modify cell_methods attributes */
+    {"cell_methods",no_argument,0,0}, /* [flg] Add/modify cell_methods attributes */
+    {"no_cll_mth",no_argument,0,0}, /* [flg] Do not add/modify cell_methods attributes */
     {"cln",no_argument,0,0}, /* [flg] Clean memory prior to exit */
     {"clean",no_argument,0,0}, /* [flg] Clean memory prior to exit */
     {"mmr_cln",no_argument,0,0}, /* [flg] Clean memory prior to exit */
@@ -277,6 +292,8 @@ main(int argc,char **argv)
     {"multi_record_output",no_argument,0,0}, /* [flg] Multi-Record Output */
     {"msa_usr_rdr",no_argument,0,0}, /* [flg] Multi-Slab Algorithm returns hyperslabs in user-specified order */
     {"msa_user_order",no_argument,0,0}, /* [flg] Multi-Slab Algorithm returns hyperslabs in user-specified order */
+    {"nsm_fl",no_argument,0,0},
+    {"nsm_grp",no_argument,0,0},
     {"ram_all",no_argument,0,0}, /* [flg] Open (netCDF3) and create file(s) in RAM */
     {"create_ram",no_argument,0,0}, /* [flg] Create file in RAM */
     {"open_ram",no_argument,0,0}, /* [flg] Open (netCDF3) file(s) in RAM */
@@ -291,9 +308,12 @@ main(int argc,char **argv)
     /* Long options with argument, no short option counterpart */
     {"bfr_sz_hnt",required_argument,0,0}, /* [B] Buffer size hint */
     {"buffer_size_hint",required_argument,0,0}, /* [B] Buffer size hint */
+    {"cnk_map",required_argument,0,0}, /* [nbr] Chunking map */
     {"chunk_map",required_argument,0,0}, /* [nbr] Chunking map */
     {"cnk_plc",required_argument,0,0}, /* [nbr] Chunking policy */
     {"chunk_policy",required_argument,0,0}, /* [nbr] Chunking policy */
+    {"cnk_byt",required_argument,0,0}, /* [B] Chunk size in bytes */
+    {"chunk_byte",required_argument,0,0}, /* [B] Chunk size in bytes */
     {"cnk_scl",required_argument,0,0}, /* [nbr] Chunk size scalar */
     {"chunk_scalar",required_argument,0,0}, /* [nbr] Chunk size scalar */
     {"cnk_dmn",required_argument,0,0}, /* [nbr] Chunk size */
@@ -301,8 +321,6 @@ main(int argc,char **argv)
     {"fl_fmt",required_argument,0,0},
     {"hdr_pad",required_argument,0,0},
     {"header_pad",required_argument,0,0},
-    {"nsm_fl",required_argument,0,0},
-    {"nsm_grp",required_argument,0,0},
     {"nsm_sfx",required_argument,0,0},
     {"ensemble_suffix",required_argument,0,0},
     /* Long options with short counterparts */
@@ -388,6 +406,10 @@ main(int argc,char **argv)
         bfr_sz_hnt=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
         if(*sng_cnv_rcd) nco_sng_cnv_err(optarg,"strtoul",sng_cnv_rcd);
       } /* endif cnk */
+      if(!strcmp(opt_crr,"cnk_byt") || !strcmp(opt_crr,"chunk_byte")){
+        cnk_sz_byt=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
+        if(*sng_cnv_rcd) nco_sng_cnv_err(optarg,"strtoul",sng_cnv_rcd);
+      } /* endif cnk_byt */
       if(!strcmp(opt_crr,"cnk_dmn") || !strcmp(opt_crr,"chunk_dimension")){
         /* Copy limit argument for later processing */
         cnk_arg[cnk_nbr]=(char *)strdup(optarg);
@@ -407,13 +429,14 @@ main(int argc,char **argv)
         cnk_plc_sng=(char *)strdup(optarg);
         cnk_plc=nco_cnk_plc_get(cnk_plc_sng);
       } /* endif cnk */
-
+      if(!strcmp(opt_crr,"cll_mth") || !strcmp(opt_crr,"cell_methods")) flg_cll_mth=True; /* [flg] Add/modify cell_methods attributes */
+      if(!strcmp(opt_crr,"no_cll_mth") || !strcmp(opt_crr,"no_cell_methods")) flg_cll_mth=False; /* [flg] Add/modify cell_methods attributes */
       if(!strcmp(opt_crr,"cln") || !strcmp(opt_crr,"mmr_cln") || !strcmp(opt_crr,"clean")) flg_cln=True; /* [flg] Clean memory prior to exit */
       if(!strcmp(opt_crr,"drt") || !strcmp(opt_crr,"mmr_drt") || !strcmp(opt_crr,"dirty")) flg_cln=False; /* [flg] Clean memory prior to exit */
       if(!strcmp(opt_crr,"fl_fmt") || !strcmp(opt_crr,"file_format")) rcd=nco_create_mode_prs(optarg,&fl_out_fmt);
       if(!strcmp(opt_crr,"dbl") || !strcmp(opt_crr,"rth_dbl")) nco_rth_cnv=nco_rth_flt_dbl; /* [flg] Arithmetic convention: promote float to double */
       if(!strcmp(opt_crr,"flt") || !strcmp(opt_crr,"rth_flt")) nco_rth_cnv=nco_rth_flt_flt; /* [flg] Arithmetic convention: keep single-precision */
-      if(!strcmp(opt_crr,"hdf4")) nco_hdf_cnv=nco_hdf4; /* [enm] Treat file as HDF4 */
+      if(!strcmp(opt_crr,"hdf4")) nco_fmt_xtn=nco_fmt_xtn_hdf4; /* [enm] Treat file as HDF4 */
       if(!strcmp(opt_crr,"hdf_upk") || !strcmp(opt_crr,"hdf_unpack")) nco_upk_cnv=nco_upk_HDF; /* [flg] HDF unpack convention: unpacked=scale_factor*(packed-add_offset) */
       if(!strcmp(opt_crr,"hdr_pad") || !strcmp(opt_crr,"header_pad")){
         hdr_pad=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
@@ -592,9 +615,6 @@ main(int argc,char **argv)
   /* Process positional arguments and fill in filenames */
   fl_lst_in=nco_fl_lst_mk(argv,argc,optind,&fl_nbr,&fl_out,&FL_LST_IN_FROM_STDIN);
 
-  /* Make uniform list of user-specified chunksizes */
-  if(cnk_nbr > 0) cnk=nco_cnk_prs(cnk_nbr,cnk_arg);
-
   /* Initialize thread information */
   thr_nbr=nco_openmp_ini(thr_nbr);
   in_id_arr=(int *)nco_malloc(thr_nbr*sizeof(int));
@@ -613,32 +633,40 @@ main(int argc,char **argv)
   trv_tbl_init(&trv_tbl); 
 
   /* Construct GTT, Group Traversal Table (groups,variables,dimensions, limits) */
-  (void)nco_bld_trv_tbl(in_id,trv_pth,lmt_nbr,lmt_arg,aux_nbr,aux_arg,MSA_USR_RDR,FORTRAN_IDX_CNV,grp_lst_in,grp_lst_in_nbr,var_lst_in,var_lst_in_nbr,EXTRACT_ALL_COORDINATES,GRP_VAR_UNN,EXCLUDE_INPUT_LIST,EXTRACT_ASSOCIATED_COORDINATES,trv_tbl);
+  (void)nco_bld_trv_tbl(in_id,trv_pth,lmt_nbr,lmt_arg,aux_nbr,aux_arg,MSA_USR_RDR,FORTRAN_IDX_CNV,grp_lst_in,grp_lst_in_nbr,var_lst_in,var_lst_in_nbr,EXTRACT_ALL_COORDINATES,GRP_VAR_UNN,EXCLUDE_INPUT_LIST,EXTRACT_ASSOCIATED_COORDINATES,&flg_dne,trv_tbl);
+
+  /* Check if all input -d dimensions were found */ 
+  (void)nco_chk_dmn(lmt_nbr,flg_dne);     
 
   /* Store ncge ensemble suffix in table */
   if(nco_prg_id == ncge && nsm_sfx) trv_tbl->nsm_sfx=nsm_sfx;
 
   /* Get number of variables, dimensions, and global attributes in file, file format */
-  (void)trv_tbl_inq((int *)NULL,(int *)NULL,(int *)NULL,&nbr_dmn_fl,(int *)NULL,(int *)NULL,(int *)NULL,(int *)NULL,&nbr_var_fl,trv_tbl);
+  (void)trv_tbl_inq((int *)NULL,(int *)NULL,(int *)NULL,&nbr_dmn_fl,&dmn_rec_fl,(int *)NULL,(int *)NULL,(int *)NULL,&nbr_var_fl,trv_tbl);
+
+  /* Record handling operators only */
+  if(nco_prg_id == ncra || nco_prg_id == ncrcat){
 
-  flg_rec_all= (nco_prg_id == ncra || nco_prg_id == ncrcat) ? False : True;
+    /* Build record dimensions array */
+    (void)nco_bld_rec_dmn(in_id,FORTRAN_IDX_CNV,&lmt_rec,&nbr_rec,trv_tbl);  
 
-  /* Build record dimensions array */
-  (void)nco_bld_rec_dmn(in_id,FORTRAN_IDX_CNV,flg_rec_all,trv_tbl);  
+    /* Allocate arrays for multi-records cases */
+    flg_input_complete=(nco_bool *)nco_malloc(nbr_rec*sizeof(nco_bool));
+    idx_rec_out=(long *)nco_malloc(nbr_rec*sizeof(long));
+    rec_in_cml=(long *)nco_malloc(nbr_rec*sizeof(long));
+    rec_usd_cml=(long *)nco_malloc(nbr_rec*sizeof(long));
+    REC_LST_DSR=(nco_bool *)nco_malloc(nbr_rec*sizeof(nco_bool));
 
-  /* Allocate arrays for multi-records cases */
-  idx_rec_out=(long *)nco_malloc(trv_tbl->nbr_rec*sizeof(long));
-  rec_in_cml=(long *)nco_malloc(trv_tbl->nbr_rec*sizeof(long));
-  rec_usd_cml=(long *)nco_malloc(trv_tbl->nbr_rec*sizeof(long));
-  REC_LST_DSR=(nco_bool *)nco_malloc(trv_tbl->nbr_rec*sizeof(nco_bool));
+    /* Initialize arrays for multi-records cases */
+    for(idx_rec=0;idx_rec<nbr_rec;idx_rec++){
+      flg_input_complete[idx_rec]=False;
+      idx_rec_out[idx_rec]=0L;
+      rec_in_cml[idx_rec]=0L;
+      rec_usd_cml[idx_rec]=0L;
+      REC_LST_DSR[idx_rec]=False;
+    } /* Initialize arrays */
 
-  /* Initialize arrays for multi-records cases */
-  for(idx_rec=0;idx_rec<trv_tbl->nbr_rec;idx_rec++){
-    idx_rec_out[idx_rec]=0L;
-    rec_in_cml[idx_rec]=0L;
-    rec_usd_cml[idx_rec]=0L;
-    REC_LST_DSR[idx_rec]=False;
-  } /* Initialize arrays */
+  } /* Record handling operators only */
 
   /* Is this an ARM-format data file? */
   CNV_ARM=nco_cnv_arm_inq(in_id);
@@ -677,23 +705,45 @@ main(int argc,char **argv)
   /* Open output file */
   fl_out_tmp=nco_fl_out_open(fl_out,FORCE_APPEND,FORCE_OVERWRITE,fl_out_fmt,&bfr_sz_hnt,RAM_CREATE,RAM_OPEN,WRT_TMP_FL,&out_id);
 
-  /* Copy global attributes */
-  (void)nco_att_cpy(in_id,out_id,NC_GLOBAL,NC_GLOBAL,(nco_bool)True);
+  /* Create structure with all chunking information */
+  if(fl_out_fmt == NC_FORMAT_NETCDF4 || fl_out_fmt == NC_FORMAT_NETCDF4_CLASSIC) rcd+=nco_cnk_ini(fl_out,cnk_arg,cnk_nbr,cnk_map,cnk_plc,cnk_sz_byt,cnk_sz_scl,&cnk);
+
+  /* Define dimensions, extracted groups, variables, and attributes in output file */
+  (void)nco_xtr_dfn(in_id,out_id,&cnk,dfl_lvl,gpe,md5,True,True,nco_pck_plc_nil,(char *)NULL,trv_tbl);
+
+  /* Define ensemble fixed variables (True parameter) */
+  if(nco_prg_id_get() == ncge) (void)nco_nsm_dfn_wrt(in_id,out_id,&cnk,dfl_lvl,gpe,True,trv_tbl); 
 
   /* Catenate time-stamped command line to "history" global attribute */
   if(HISTORY_APPEND) (void)nco_hst_att_cat(out_id,cmd_ln);
+  if(thr_nbr > 0 && HISTORY_APPEND) (void)nco_thr_att_cat(out_id,thr_nbr);
 
   /* Add input file list global attribute */
   if(FL_LST_IN_APPEND && HISTORY_APPEND && FL_LST_IN_FROM_STDIN) (void)nco_fl_lst_att_cat(out_id,fl_lst_in,fl_nbr);
 
-  if(thr_nbr > 0 && HISTORY_APPEND) (void)nco_thr_att_cat(out_id,thr_nbr);
-
-  /* Define dimensions, extracted groups, variables, and attributes in output file */
-  (void)nco_xtr_dfn(in_id,out_id,&cnk_map,&cnk_plc,cnk_sz_scl,cnk,cnk_nbr,dfl_lvl,gpe,md5,True,True,nco_pck_plc_nil,(char *)NULL,trv_tbl);
-
   /* Turn off default filling behavior to enhance efficiency */
   (void)nco_set_fill(out_id,NC_NOFILL,&fll_md_old);
 
+  /* Add cell_methods attributes (before exiting define mode) */
+  if(nco_prg_id == ncra){
+    dmn_sct **dmn=NULL_CEWI;
+    int nbr_dmn=nbr_rec;
+    /* Allocate  */
+    dmn=(dmn_sct **)nco_malloc(nbr_dmn*sizeof(dmn_sct *));
+    /* Make dimension array from limit records array */
+    (void)nco_dmn_lmt(lmt_rec,nbr_dmn,&dmn);
+    /* Add cell_methods attributes (pass as dimension argument a records-only array) */
+    if(flg_cll_mth){
+      if(nco_dbg_lvl_get() >= nco_dbg_dev){
+	(void)fprintf(stdout,"%s: DEBUG dimension list to nco_cnv_cf_cll_mth_add()\n",nco_prg_nm_get());
+	for(idx=0;idx<nbr_dmn;idx++) (void)fprintf(stdout,"%s: DEBUG %s\n",nco_prg_nm_get(),dmn[idx]->nm);
+	for(idx=0;idx<nbr_var_prc;idx++) (void)fprintf(stdout,"%s: DEBUG %s\n",nco_prg_nm_get(),var_prc_out[idx]->nm_fll);
+      } /* endif dbg */
+      rcd+=nco_cnv_cf_cll_mth_add(out_id,var_prc_out,nbr_var_prc,dmn,nbr_dmn,nco_op_typ,gpe,trv_tbl); 
+    } /* !flg_cll_mth */
+    if(nbr_dmn > 0) dmn=nco_dmn_lst_free(dmn,nbr_dmn);
+  } /* !ncra */
+
   /* Take output file out of define mode */
   if(hdr_pad == 0UL){
     (void)nco_enddef(out_id);
@@ -706,7 +756,10 @@ main(int argc,char **argv)
   (void)nco_var_srd_srt_set(var_out,xtr_nbr);
 
   /* Copy variable data for non-processed variables */
-  (void)nco_cpy_fix_var_trv(in_id,out_id,gpe,trv_tbl);  
+  (void)nco_cpy_fix_var_trv(in_id,out_id,gpe,trv_tbl); 
+
+  /* Write ensemble fixed variables (False parameter) */
+  if(nco_prg_id_get() == ncge) (void)nco_nsm_dfn_wrt(in_id,out_id,&cnk,dfl_lvl,gpe,False,trv_tbl); 
 
   /* Close first input netCDF file */
   nco_close(in_id);
@@ -750,7 +803,7 @@ main(int argc,char **argv)
     if(nco_prg_id == ncge){
       /* Refresh ensembles */
       if(fl_idx > 0) (void)nco_nsm_ncr(in_id,trv_tbl);         
-    } else { /* ! ncge */
+    }else{ /* ! ncge */
       /* Variables may have different ID, missing_value, type, in each file */
       for(idx=0;idx<nbr_var_prc;idx++){
         /* Obtain variable GTT object using full variable name */
@@ -763,30 +816,30 @@ main(int argc,char **argv)
 
     if(nco_prg_id == ncra || nco_prg_id == ncrcat){ /* ncfe and ncge jump to else branch */
 
-      /* Loop over number of records to process */
-      for(idx_rec=0;idx_rec<trv_tbl->nbr_rec;idx_rec++){
+      /* Loop over number of different record variables in file */
+      for(idx_rec=0;idx_rec<nbr_rec;idx_rec++){
 
         /* Obtain group ID using full group name */
-        (void)nco_inq_grp_full_ncid(in_id,trv_tbl->lmt_rec[idx_rec]->grp_nm_fll,&grp_id);
+        (void)nco_inq_grp_full_ncid(in_id,lmt_rec[idx_rec]->grp_nm_fll,&grp_id);
 
         /* Fill record array */
-        (void)nco_lmt_evl(grp_id,trv_tbl->lmt_rec[idx_rec],rec_usd_cml[idx_rec],FORTRAN_IDX_CNV);
+        (void)nco_lmt_evl(grp_id,lmt_rec[idx_rec],rec_usd_cml[idx_rec],FORTRAN_IDX_CNV);
 
         if(REC_APN){
           /* Append records directly to output file */
           int rec_dmn_out_id=NCO_REC_DMN_UNDEFINED;
           /* Get group ID using record group full name */
-          (void)nco_inq_grp_full_ncid(out_id,trv_tbl->lmt_rec[idx_rec]->nm_fll,&grp_out_id);
-
-          /* TO_DO: this assumes only 1 record in this group */
-          (void)nco_inq_dimid(grp_out_id,trv_tbl->lmt_rec[idx_rec]->nm,&rec_dmn_out_id);
+          (void)nco_inq_grp_full_ncid(out_id,lmt_rec[idx_rec]->grp_nm_fll,&grp_out_id);
+          /* Get the dimension ID (rec_dmn_out_id) of the current record, from its name */
+          (void)nco_inq_dimid(grp_out_id,lmt_rec[idx_rec]->nm,&rec_dmn_out_id);
+          /* Get the size of the record  */
           (void)nco_inq_dimlen(grp_out_id,rec_dmn_out_id,&idx_rec_out[idx_rec]);
         } /* !REC_APN */
 
-        if(nco_dbg_lvl_get() == nco_dbg_old) (void)fprintf(fp_stdout,"%s: DEBUG record [%d] #%d<%s>(%ld)\n",nco_prg_nm_get(),idx_rec,trv_tbl->lmt_rec[idx_rec]->id,trv_tbl->lmt_rec[idx_rec]->nm_fll,trv_tbl->lmt_rec[idx_rec]->rec_dmn_sz);                    
+        if(nco_dbg_lvl_get() == nco_dbg_old) (void)fprintf(fp_stdout,"%s: DEBUG record [%d] #%d<%s>(%ld)\n",nco_prg_nm_get(),idx_rec,lmt_rec[idx_rec]->id,lmt_rec[idx_rec]->nm_fll,lmt_rec[idx_rec]->rec_dmn_sz);                    
         /* Two distinct ways to specify MRO are --mro and -d dmn,a,b,c,d,[m,M] */
-        if(FLG_MRO) trv_tbl->lmt_rec[idx_rec]->flg_mro=True;
-        if(trv_tbl->lmt_rec[idx_rec]->flg_mro) FLG_MRO=True;
+        if(FLG_MRO) lmt_rec[idx_rec]->flg_mro=True;
+        if(lmt_rec[idx_rec]->flg_mro) FLG_MRO=True;
 
         /* NB: nco_cnv_arm_base_time_get() with same nc_id contains OpenMP critical region */
         if(CNV_ARM) base_time_crr=nco_cnv_arm_base_time_get(in_id);
@@ -796,53 +849,53 @@ main(int argc,char **argv)
 
         /* This file may be superfluous though valid data will be found in upcoming files */
         if(nco_dbg_lvl >= nco_dbg_std)
-          if((trv_tbl->lmt_rec[idx_rec]->srt > trv_tbl->lmt_rec[idx_rec]->end) && (trv_tbl->lmt_rec[idx_rec]->rec_rmn_prv_drn == 0L))
+          if((lmt_rec[idx_rec]->srt > lmt_rec[idx_rec]->end) && (lmt_rec[idx_rec]->rec_rmn_prv_ssc == 0L))
             (void)fprintf(fp_stdout,gettext("%s: INFO %s (input file %d) is superfluous\n"),nco_prg_nm_get(),fl_in,fl_idx);
 
-        rec_dmn_sz=trv_tbl->lmt_rec[idx_rec]->rec_dmn_sz;
-        rec_rmn_prv_drn=trv_tbl->lmt_rec[idx_rec]->rec_rmn_prv_drn; /* Local copy may be decremented later */
-        idx_rec_crr_in= (rec_rmn_prv_drn > 0L) ? 0L : trv_tbl->lmt_rec[idx_rec]->srt;
+        rec_dmn_sz=lmt_rec[idx_rec]->rec_dmn_sz;
+        rec_rmn_prv_ssc=lmt_rec[idx_rec]->rec_rmn_prv_ssc; /* Local copy may be decremented later */
+        idx_rec_crr_in= (rec_rmn_prv_ssc > 0L) ? 0L : lmt_rec[idx_rec]->srt;
 
-        /* Master loop over records in current file */
+        /* Master while loop over records in current file */
         while(idx_rec_crr_in >= 0L && idx_rec_crr_in < rec_dmn_sz){
           /* Following logic/assumptions built-in to this loop:
-          idx_rec_crr_in points to valid record before loop is entered
-          Loop is never entered if this file has no valid records
-          Much conditional logic needed to prescribe group position and next record
+	     idx_rec_crr_in points to valid record before loop is entered
+	     Loop is never entered if this file has no valid records
+	     Much conditional logic needed to prescribe group position and next record
 
-          Index juggling:
-          idx_rec_crr_in: Index of current record in current input file (increments by 1 for drn then srd-drn ...)
-          idx_rec_out: Index of record in output file
-          lmt_rec->rec_rmn_prv_drn: Structure member, at start of this while loop, contains records remaining-to-be-read to complete duration group from previous file. Structure member remains constant until next file is read.
-          rec_in_cml: Cumulative number of records, read or not, in all files opened so far. Similar to lmt_rec->rec_in_cml but augmented at end of record loop, rather than prior to record loop.
-          rec_rmn_prv_drn: Local copy initialized from lmt_rec structure member begins with above, and then is set to and tracks number of records remaining remaining in current group. This means it is decremented from drn_nbr->0 for each group contained in current file.
-          rec_usd_cml: Cumulative number of input records used (catenated by ncrcat or operated on by ncra)
+	     Index juggling:
+	     idx_rec_crr_in: Index of current record in current input file (increments by 1 for ssc then srd-ssc ...)
+	     idx_rec_out: Index of record in output file
+	     lmt_rec->rec_rmn_prv_ssc: Structure member, at start of this while loop, contains records remaining-to-be-read to complete subcycle group from previous file. Structure member remains constant until next file is read.
+	     rec_in_cml: Cumulative number of records, read or not, in all files opened so far. Similar to lmt_rec->rec_in_cml but augmented at end of record loop, rather than prior to record loop.
+	     rec_rmn_prv_ssc: Local copy initialized from lmt_rec structure member begins with above, and then is set to and tracks number of records remaining remaining in current group. This means it is decremented from ssc_nbr->0 for each group contained in current file.
+	     rec_usd_cml: Cumulative number of input records used (catenated by ncrcat or operated on by ncra)
 
-          Flag juggling:
-          REC_LST_DSR is "sloppy"---it is only set in last input file. If last file(s) is/are superfluous, REC_LST_DSR is never set and final normalization is done outside file and record loops (along with ncfe normalization). FLG_BFR_NRM indicates these situations and allow us to be "sloppy" in setting REC_LST_DSR. */
+	     Flag juggling:
+	     REC_LST_DSR is "sloppy"---it is only set in last input file. If last file(s) is/are superfluous, REC_LST_DSR is never set and final normalization is done outside file and record loops (along with nces normalization). FLG_BFR_NRM indicates these situations and allow us to be "sloppy" in setting REC_LST_DSR. */
 
           /* Last stride in file has distinct index-augmenting behavior */
-          if(idx_rec_crr_in >= trv_tbl->lmt_rec[idx_rec]->end) REC_SRD_LST=True; else REC_SRD_LST=False;
+          if(idx_rec_crr_in >= lmt_rec[idx_rec]->end) REC_SRD_LST=True; else REC_SRD_LST=False;
           /* Even strides commence group beginnings */
-          if(rec_rmn_prv_drn == 0L) REC_FRS_GRP=True; else REC_FRS_GRP=False;
-          /* Each group comprises DRN records */
-          if(REC_FRS_GRP) rec_rmn_prv_drn=trv_tbl->lmt_rec[idx_rec]->drn;
+          if(rec_rmn_prv_ssc == 0L) REC_FRS_GRP=True; else REC_FRS_GRP=False;
+          /* Each group comprises SSC records */
+          if(REC_FRS_GRP) rec_rmn_prv_ssc=lmt_rec[idx_rec]->ssc;
           /* Final record triggers normalization regardless of its location within group */
-          if(fl_idx == fl_nbr-1 && idx_rec_crr_in == min_int(trv_tbl->lmt_rec[idx_rec]->end+trv_tbl->lmt_rec[idx_rec]->drn-1L,rec_dmn_sz-1L)) REC_LST_DSR[idx_rec]=True;
+          if(fl_idx == fl_nbr-1 && idx_rec_crr_in == min_int(lmt_rec[idx_rec]->end+lmt_rec[idx_rec]->ssc-1L,rec_dmn_sz-1L)) REC_LST_DSR[idx_rec]=True;
           /* ncra normalization/writing code must know last record in current group (LRCG) for both MRO and non-MRO */
-          if(rec_rmn_prv_drn == 1L) REC_LST_GRP=True; else REC_LST_GRP=False;
+          if(rec_rmn_prv_ssc == 1L) REC_LST_GRP=True; else REC_LST_GRP=False;
 
           /* Process all variables in current record */
           if(nco_dbg_lvl >= nco_dbg_scl) (void)fprintf(fp_stdout,gettext("%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)
+#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)
 #endif /* !_OPENMP */
           for(idx=0;idx<nbr_var_prc;idx++){
 
             /* Skip variable if does not relate to current record */
-            nco_bool flg_skp=nco_skp_var(var_prc[idx],trv_tbl->lmt_rec[idx_rec]->nm_fll,trv_tbl);
-            if(flg_skp) continue;
+            flg_skp1=nco_skp_var(var_prc[idx],lmt_rec[idx_rec]->nm_fll,trv_tbl);
+            if(flg_skp1) continue;
 
             in_id=in_id_arr[omp_get_thread_num()];
             if(nco_dbg_lvl >= nco_dbg_var) rcd+=nco_var_prc_crr_prn(idx,var_prc[idx]->nm_fll);
@@ -853,29 +906,30 @@ main(int argc,char **argv)
             /* Obtain group ID using full group name */
             (void)nco_inq_grp_full_ncid(in_id,var_trv->grp_nm_fll,&grp_id);
             /* Edit group name for output */
-            if(gpe) grp_out_fll=nco_gpe_evl(gpe,var_trv->grp_nm_fll); else grp_out_fll=(char *)strdup(var_trv->grp_nm_fll);
+            grp_out_fll=NULL;
+            if(gpe) grp_out_fll=nco_gpe_evl(gpe,var_trv->grp_nm_fll); else grp_out_fll=var_trv->grp_nm_fll;
             /* Obtain output group ID using full group name */
             (void)nco_inq_grp_full_ncid(out_id,grp_out_fll,&grp_out_id);
             /* Get variable ID */
             (void)nco_inq_varid(grp_out_id,var_trv->nm,&var_out_id);
             /* Memory management after current extracted group */
-            if(grp_out_fll) grp_out_fll=(char *)nco_free(grp_out_fll);
+            if(gpe && grp_out_fll) grp_out_fll=(char *)nco_free(grp_out_fll);
 
             /* 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_elm_trv(in_id,var_prc[idx],trv_tbl->lmt_rec[idx_rec]->nm_fll,idx_rec_crr_in,trv_tbl);
+            /* 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);
 
             if(nco_prg_id == ncra) FLG_BFR_NRM=True; /* [flg] Current output buffers need normalization */
 
             /* Re-base record coordinate and bounds if necessary (e.g., time, time_bnds) */
-            if(trv_tbl->lmt_rec[idx_rec]->origin != 0.0 && (var_prc[idx]->is_crd_var || nco_is_spc_in_bnd_att(grp_id,var_prc[idx]->id))){
+            if(lmt_rec[idx_rec]->origin != 0.0 && (var_prc[idx]->is_crd_var || nco_is_spc_in_bnd_att(grp_id,var_prc[idx]->id))){
               var_sct *var_crd;
               scv_sct scv;
               /* De-reference */
               var_crd=var_prc[idx];
-              scv.val.d=trv_tbl->lmt_rec[idx_rec]->origin;              
+              scv.val.d=lmt_rec[idx_rec]->origin;              
               scv.type=NC_DOUBLE;  
               /* Convert scalar to variable type */
               nco_scv_cnf_typ(var_crd->type,&scv);
@@ -891,14 +945,14 @@ main(int argc,char **argv)
                 (void)nco_var_zero(var_prc_out[idx]->type,var_prc_out[idx]->sz,var_prc_out[idx]->val);
               } /* end if flg_rth_ntl */
 
-              /* Do not promote un-averagable types (NC_CHAR, NC_STRING)
-              Stuff first record into output buffer regardless of nco_op_typ; ignore later records (rec_usd_cml > 1)
-              Temporarily fixes TODO nco941 */
-              if(var_prc[idx]->type == NC_CHAR){
+              if(var_prc[idx]->type == NC_CHAR || var_prc[idx]->type == NC_STRING){
+		/* Do not promote un-averagable types (NC_CHAR, NC_STRING)
+		   Stuff their first record into output buffer regardless of nco_op_typ, and ignore later records (rec_usd_cml > 1)
+		   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
-                Output variable type is "sticky" so only convert on first record */
+		   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[idx]=nco_var_cnf_typ(var_prc_out[idx]->type,var_prc[idx]);
                 /* Perform arithmetic operations: avg, min, max, ttl, ... */
@@ -917,8 +971,7 @@ main(int argc,char **argv)
 #ifdef _OPENMP
 #pragma omp critical
 #endif /* _OPENMP */
-              if(var_prc_out[idx]->sz_rec > 1L) (void)nco_put_vara(grp_out_id,var_prc_out[idx]->id,var_prc_out[idx]->srt,var_prc_out[idx]->cnt,var_prc[idx]->val.vp,var_prc_out[idx]->type); 
-              else (void)nco_put_var1(grp_out_id,var_prc_out[idx]->id,var_prc_out[idx]->srt,var_prc[idx]->val.vp,var_prc_out[idx]->type);
+              if(var_prc_out[idx]->sz_rec > 1L) (void)nco_put_vara(grp_out_id,var_prc_out[idx]->id,var_prc_out[idx]->srt,var_prc_out[idx]->cnt,var_prc[idx]->val.vp,var_prc_out[idx]->type); else (void)nco_put_var1(grp_out_id,var_prc_out[idx]->id,var_prc_out[idx]->srt,var_prc[idx]->val.vp,var_prc_out[idx]->type);
               /* Perform MD5 digest of input and output data if requested */
               if(md5) (void)nco_md5_chk(md5,var_prc_out[idx]->nm,var_prc_out[idx]->sz*nco_typ_lng(var_prc_out[idx]->type),grp_out_id,var_prc_out[idx]->srt,var_prc_out[idx]->cnt,var_prc[idx]->val.vp);
             } /* end if ncrcat */
@@ -926,9 +979,9 @@ 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 
-            Do not convert after last record otherwise normalization fails 
-            due to wrong missing_value type (needs promoted type, not unpacked type) */
+	       Otherwise missing_value will be double-promoted when next record read
+	       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);
             /* Free current input buffer */
             var_prc[idx]->val.vp=nco_free(var_prc[idx]->val.vp);
@@ -936,16 +989,23 @@ main(int argc,char **argv)
 
           if(nco_prg_id == ncra && ((FLG_MRO && REC_LST_GRP) || REC_LST_DSR[idx_rec])){
             /* Normalize, multiply, etc where necessary: ncra and nces normalization blocks are identical, 
-            except ncra normalizes after every drn records, while nces normalizes once, after files loop. */
-            (void)nco_opr_nrm(nco_op_typ,nbr_var_prc,var_prc,var_prc_out,True,trv_tbl->lmt_rec[idx_rec]->nm_fll,trv_tbl);
+	       except ncra normalizes after every ssc records, while nces normalizes once, after files loop. 
+	       20131210: nco_cnv_mss_val_typ() can cause type of var_prc to be out-of-sync with var_prc_out
+	       nco_cnv_mss_val_typ() above works correctly for case of packing/unpacking, not for rth_dbl
+	       Options:
+	       1. Avoid nco_cnv_mss_val_typ() above if rth_dbl is invoked. Keep it for packing.
+	       2. In nco_opr_nrm() below, use mss_val from var_prc_out not var_prc
+	       Problem is var_prc[idx]->mss_val is typ_upk while var_prc_out is type, so normalization
+	       sets missing var_prc_out value to var_prc[idx]->mss_val read as type */
+            (void)nco_opr_nrm(nco_op_typ,nbr_var_prc,var_prc,var_prc_out,lmt_rec[idx_rec]->nm_fll,trv_tbl);
             FLG_BFR_NRM=False; /* [flg] Current output buffers need normalization */
 
             /* Copy averages to output file */
             for(idx=0;idx<nbr_var_prc;idx++){
 
-              /* Skip variable if does not relate to current record */
-              nco_bool flg_skp=nco_skp_var(var_prc[idx],trv_tbl->lmt_rec[idx_rec]->nm_fll,trv_tbl);
-              if(flg_skp) continue;
+              /* Skip variables that do not contain current record dimension */
+              flg_skp2=nco_skp_var(var_prc[idx],lmt_rec[idx_rec]->nm_fll,trv_tbl);
+              if(flg_skp2) continue;
 
               /* Obtain variable GTT object using full variable name */
               var_trv=trv_tbl_var_nm_fll(var_prc_out[idx]->nm_fll,trv_tbl);
@@ -973,36 +1033,36 @@ main(int argc,char **argv)
           if(REC_SRD_LST){
             /* Last index depends on whether user-specified end was exact, sloppy, or caused truncation */
             long end_max_crr;
-            end_max_crr=min_lng(trv_tbl->lmt_rec[idx_rec]->idx_end_max_abs-rec_in_cml[idx_rec],min_lng(trv_tbl->lmt_rec[idx_rec]->end+trv_tbl->lmt_rec[idx_rec]->drn-1L,rec_dmn_sz-1L));
-            if(--rec_rmn_prv_drn > 0L && idx_rec_crr_in < end_max_crr) idx_rec_crr_in++; else break;
+            end_max_crr=min_lng(lmt_rec[idx_rec]->idx_end_max_abs-rec_in_cml[idx_rec],min_lng(lmt_rec[idx_rec]->end+lmt_rec[idx_rec]->ssc-1L,rec_dmn_sz-1L));
+            if(--rec_rmn_prv_ssc > 0L && idx_rec_crr_in < end_max_crr) idx_rec_crr_in++; else break;
           }else{ /* !REC_SRD_LST */
-            if(--rec_rmn_prv_drn > 0L) idx_rec_crr_in++; else idx_rec_crr_in+=trv_tbl->lmt_rec[idx_rec]->srd-trv_tbl->lmt_rec[idx_rec]->drn+1L;
+            if(--rec_rmn_prv_ssc > 0L) idx_rec_crr_in++; else idx_rec_crr_in+=lmt_rec[idx_rec]->srd-lmt_rec[idx_rec]->ssc+1L;
           } /* !REC_SRD_LST */
 
-        } /* end master while loop over records in current file */
+        } /* end idx_rec_crr_in master while loop over records in current file */
 
         rec_in_cml[idx_rec]+=rec_dmn_sz; /* [nbr] Cumulative number of records in all files opened so far */
-        trv_tbl->lmt_rec[idx_rec]->rec_rmn_prv_drn=rec_rmn_prv_drn;
+        lmt_rec[idx_rec]->rec_rmn_prv_ssc=rec_rmn_prv_ssc;
 
         if(fl_idx == fl_nbr-1){
           /* Warn if other than number of requested records were read */
-          if(trv_tbl->lmt_rec[idx_rec]->lmt_typ == lmt_dmn_idx && trv_tbl->lmt_rec[idx_rec]->is_usr_spc_min && trv_tbl->lmt_rec[idx_rec]->is_usr_spc_max){
-            long drn_grp_nbr_max; /* [nbr] Duration groups that start within range */
+          if(lmt_rec[idx_rec]->lmt_typ == lmt_dmn_idx && lmt_rec[idx_rec]->is_usr_spc_min && lmt_rec[idx_rec]->is_usr_spc_max){
+            long ssc_grp_nbr_max; /* [nbr] Subcycle groups that start within range */
             long rec_nbr_rqs; /* Number of records user requested */
-            long rec_nbr_rqs_max; /* [nbr] Records that would be used by drn_grp_nbr_max groups */
+            long rec_nbr_rqs_max; /* [nbr] Records that would be used by ssc_grp_nbr_max groups */
             long rec_nbr_spn_act; /* [nbr] Records available within user-specified range */
-            long rec_nbr_spn_max; /* [nbr] Minimum record number spanned by drn_grp_nbr_max groups */
+            long rec_nbr_spn_max; /* [nbr] Minimum record number spanned by ssc_grp_nbr_max groups */
             long rec_nbr_trn; /* [nbr] Records truncated in last group */
             long srd_nbr_flr; /* [nbr] Whole strides that fit within specified range */
             /* Number of whole strides that fit within specified range */
-            srd_nbr_flr=(trv_tbl->lmt_rec[idx_rec]->max_idx-trv_tbl->lmt_rec[idx_rec]->min_idx)/trv_tbl->lmt_rec[idx_rec]->srd;
-            drn_grp_nbr_max=1L+srd_nbr_flr;
+            srd_nbr_flr=(lmt_rec[idx_rec]->max_idx-lmt_rec[idx_rec]->min_idx)/lmt_rec[idx_rec]->srd;
+            ssc_grp_nbr_max=1L+srd_nbr_flr;
             /* Number of records that would be used by N groups */
-            rec_nbr_rqs_max=drn_grp_nbr_max*trv_tbl->lmt_rec[idx_rec]->drn;
+            rec_nbr_rqs_max=ssc_grp_nbr_max*lmt_rec[idx_rec]->ssc;
             /* Minimum record number spanned by N groups of size D is N-1 strides, plus D-1 trailing members of last group */
-            rec_nbr_spn_max=trv_tbl->lmt_rec[idx_rec]->srd*(drn_grp_nbr_max-1L)+trv_tbl->lmt_rec[idx_rec]->drn;
+            rec_nbr_spn_max=lmt_rec[idx_rec]->srd*(ssc_grp_nbr_max-1L)+lmt_rec[idx_rec]->ssc;
             /* Actual number of records available within range */
-            rec_nbr_spn_act=1L+trv_tbl->lmt_rec[idx_rec]->max_idx-trv_tbl->lmt_rec[idx_rec]->min_idx;
+            rec_nbr_spn_act=1L+lmt_rec[idx_rec]->max_idx-lmt_rec[idx_rec]->min_idx;
             /* Number truncated in last group */
             rec_nbr_trn=max_int(rec_nbr_spn_max-rec_nbr_spn_act,0L);
             /* Records requested is maximum minus any truncated in last group */
@@ -1016,9 +1076,9 @@ main(int argc,char **argv)
           } /* end if */
         } /* end if */
 
-      } /* Loop over number of records to process */
+      } /* end idx_rec loop over different record variables to process */
 
-      /* End of ncra, ncrcat section */
+      /* End ncra, ncrcat section */
     }else if(nco_prg_id == ncfe){ /* ncfe */
 
 #ifdef _OPENMP
@@ -1069,7 +1129,10 @@ main(int argc,char **argv)
       trv_tbl_init(&trv_tbl1); 
 
       /* Construct GTT using current file ID */
-      (void)nco_bld_trv_tbl(in_id,trv_pth,lmt_nbr,lmt_arg,aux_nbr,aux_arg,MSA_USR_RDR,FORTRAN_IDX_CNV,grp_lst_in,grp_lst_in_nbr,var_lst_in,var_lst_in_nbr,EXTRACT_ALL_COORDINATES,GRP_VAR_UNN,EXCLUDE_INPUT_LIST,EXTRACT_ASSOCIATED_COORDINATES,trv_tbl1);
+      (void)nco_bld_trv_tbl(in_id,trv_pth,lmt_nbr,lmt_arg,aux_nbr,aux_arg,MSA_USR_RDR,FORTRAN_IDX_CNV,grp_lst_in,grp_lst_in_nbr,var_lst_in,var_lst_in_nbr,EXTRACT_ALL_COORDINATES,GRP_VAR_UNN,EXCLUDE_INPUT_LIST,EXTRACT_ASSOCIATED_COORDINATES,&flg_dne,trv_tbl1);
+
+      /* Check if all input -d dimensions were found */ 
+      (void)nco_chk_dmn(lmt_nbr,flg_dne);     
 
       /* Loop over ensembles in current file */
       for(int idx_nsm=0;idx_nsm<trv_tbl->nsm_nbr;idx_nsm++){ 
@@ -1138,43 +1201,55 @@ main(int argc,char **argv)
 
     if(nco_dbg_lvl >= nco_dbg_scl) (void)fprintf(fp_stderr,"\n");
 
-    /* Our data tanks are already full */
+    /* Close input netCDF file */
+    for(thr_idx=0;thr_idx<thr_nbr;thr_idx++) nco_close(in_id_arr[thr_idx]);
+
+    /* Dispose local copy of file */
+    if(FL_RTR_RMT_LCN && RM_RMT_FL_PST_PRC) (void)nco_fl_rm(fl_in);
+
+    /* Are all our data tanks already full? */
     if(nco_prg_id == ncra || nco_prg_id == ncrcat){
-      /* Loop records */
-      for(idx_rec=0;idx_rec<trv_tbl->nbr_rec;idx_rec++){
-        if(trv_tbl->lmt_rec[idx_rec]->flg_input_complete){
-          /* NB: TODO nco1066 move input_complete break to precede record loop but remember to close open filehandles */
-          if(nco_dbg_lvl >= nco_dbg_std) (void)fprintf(fp_stderr,"%s: INFO All requested records were found within the first %d input file%s, next file was opened then skipped, and remaining %d input file%s will not be opened\n",nco_prg_nm_get(),fl_idx,(fl_idx == 1) ? "" : "s",fl_nbr-fl_idx-1,(fl_nbr-fl_idx-1 == 1) ? "" : "s");
-          break;
-        } /* endif superfluous */
-      } /* Loop records */
+      for(idx_rec=0;idx_rec<nbr_rec;idx_rec++){
+	if(!flg_input_complete[idx_rec]){
+	  if((flg_input_complete[idx_rec]=lmt_rec[idx_rec]->flg_input_complete)){
+	    /* NB: TODO nco1066 move input_complete break to precede record loop but remember to close open filehandles */
+	    /* 20131209: Rewritten so file skipped only once all record dimensions have flg_input_complete
+	       Warnings about superfluous files printed only once per dimension
+	       fxm: use flg_input_complete[idx_rec] to skip completed entries in main record dimension loop above */
+	    if(nco_dbg_lvl >= nco_dbg_std) (void)fprintf(fp_stderr,"%s: INFO All requested records for record dimension #%d (%s) were found within the first %d input file%s, next file was opened then skipped, and remaining %d input file%s need not be opened\n",nco_prg_nm_get(),idx_rec,lmt_rec[idx_rec]->nm_fll,fl_idx,(fl_idx == 1) ? "" : "s",fl_nbr-fl_idx-1,(fl_nbr-fl_idx-1 == 1) ? "" : "s");
+	    flg_input_complete_nbr++;
+	  } /* endif superfluous */
+	} /* endif not already known to be complete */
+      } /* end loop over record dimensions */
+      /* Once all record dimensions are complete, break-out of file loop */
+      if(flg_input_complete_nbr == nbr_rec) break;
     } /* endif ncra || ncrcat */
 
   } /* end loop over fl_idx */
 
-  /* Duration argument warning */
-  if(nco_prg_id == ncra || nco_prg_id == ncrcat){ /* fxm: Remove this or make DBG when crd_val DRN/MRO is predictable? */
+  /* Subcycle argument warning */
+  if(nco_prg_id == ncra || nco_prg_id == ncrcat){ /* fxm: Remove this or make DBG when crd_val SSC/MRO is predictable? */
     /* Loop records */
-    for(idx_rec=0;idx_rec<trv_tbl->nbr_rec;idx_rec++){
-      /* Check duration for each record */
-      if(trv_tbl->lmt_rec[idx_rec]->drn != 1L && (trv_tbl->lmt_rec[idx_rec]->lmt_typ == lmt_crd_val || trv_tbl->lmt_rec[idx_rec]->lmt_typ == lmt_udu_sng)){
-        (void)fprintf(stderr,"\n%s: WARNING Duration argument DRN used in hyperslab specification for %s which will be determined based on coordinate values rather than dimension indices. The behavior of the duration hyperslab argument is ambiguous for coordinate-based hyperslabs---it could mean select the first DRN elements that are within the min and max coordinate values beginning with each strided point, or it could mean always select the first _consecutive_ DRN elements beginning wi [...]
-      } /* Check duration for each record */
+    for(idx_rec=0;idx_rec<nbr_rec;idx_rec++){
+      /* Check subcycle for each record */
+      if(lmt_rec[idx_rec]->ssc != 1L && (lmt_rec[idx_rec]->lmt_typ == lmt_crd_val || lmt_rec[idx_rec]->lmt_typ == lmt_udu_sng)){
+        (void)fprintf(stderr,"\n%s: WARNING Subcycle argument SSC used in hyperslab specification for %s which will be determined based on coordinate values rather than dimension indices. The behavior of the subcycle hyperslab argument is ambiguous for coordinate-based hyperslabs---it could mean select the first SSC elements that are within the min and max coordinate values beginning with each strided point, or it could mean always select the first _consecutive_ SSC elements beginning wi [...]
+      } /* Check subcycle for each record */
     } /* Loop records */
-  } /* Duration argument warning */
+  } /* Subcycle argument warning */
 
   /* Normalize, multiply, etc where necessary: ncra and nces normalization blocks are identical, 
-  except ncra normalizes after every DRN records, while nces normalizes once, after all files.
-  Occassionally last input file(s) is/are superfluous so REC_LST_DSR never set
-  In such cases FLG_BFR_NRM is still true, indicating ncra still needs normalization
-  FLG_BFR_NRM is always true here for ncfe and ncge */
-  if(FLG_BFR_NRM) (void)nco_opr_nrm(nco_op_typ,nbr_var_prc,var_prc,var_prc_out,True,(char *)NULL,(trv_tbl_sct *)NULL);
+     except ncra normalizes after every SSC records, while nces normalizes once, after all files.
+     Occassionally last input file(s) is/are superfluous so REC_LST_DSR never set
+     In such cases FLG_BFR_NRM is still true, indicating ncra still needs normalization
+     FLG_BFR_NRM is always true here for ncfe and ncge */
+  if(FLG_BFR_NRM) (void)nco_opr_nrm(nco_op_typ,nbr_var_prc,var_prc,var_prc_out,(char *)NULL,(trv_tbl_sct *)NULL);
 
   /* Manually fix YYMMDD date which was mangled by averaging */
   if(CNV_CCM_CCSM_CF && nco_prg_id == ncra) (void)nco_cnv_ccm_ccsm_cf_date(grp_out_id,var_out,xtr_nbr);
 
   /* Add time variable to output file
-  NB: nco_cnv_arm_time_install() contains OpenMP critical region */
+     NB: nco_cnv_arm_time_install() contains OpenMP critical region */
   if(CNV_ARM && nco_prg_id == ncrcat) (void)nco_cnv_arm_time_install(grp_out_id,base_time_srt,dfl_lvl);
 
   /* Copy averages to output file for ncfe and ncge always and for ncra when trailing file(s) was/were superfluous */
@@ -1189,12 +1264,12 @@ main(int argc,char **argv)
 
         /* Check if suffix needed. Appends to default name */
         if(trv_tbl->nsm_sfx){
-          /* Just define (append) and forget a new name */
+          /* Define (append) then use and forget new name */
           char *nm_fll_sfx=nco_bld_nsm_sfx(var_trv->grp_nm_fll_prn,trv_tbl);
-          /* Use the new name */
+          /* Use new name */
           if(gpe) grp_out_fll=nco_gpe_evl(gpe,nm_fll_sfx); else grp_out_fll=(char *)strdup(nm_fll_sfx);
           nm_fll_sfx=(char *)nco_free(nm_fll_sfx);
-        } else { /* Non suffix case */
+        }else{ /* Non suffix case */
           if(gpe) grp_out_fll=nco_gpe_evl(gpe,var_trv->nsm_nm); else grp_out_fll=(char *)strdup(var_trv->nsm_nm);
         } /* !trv_tbl->nsm_sfx */
 
@@ -1231,12 +1306,6 @@ main(int argc,char **argv)
     } /* end loop over idx */
   } /* endif ncra || nces */
 
-  /* Close input netCDF file */
-  for(thr_idx=0;thr_idx<thr_nbr;thr_idx++) nco_close(in_id_arr[thr_idx]);
-
-  /* Dispose local copy of file */
-  if(FL_RTR_RMT_LCN && RM_RMT_FL_PST_PRC) (void)nco_fl_rm(fl_in);
-
   /* Close output file and move it from temporary to permanent location */
   (void)nco_fl_out_cls(fl_out,fl_out_tmp,out_id);
 
@@ -1264,7 +1333,7 @@ main(int argc,char **argv)
     for(idx=0;idx<aux_nbr;idx++) aux_arg[idx]=(char *)nco_free(aux_arg[idx]);
     /* Free chunking information */
     for(idx=0;idx<cnk_nbr;idx++) cnk_arg[idx]=(char *)nco_free(cnk_arg[idx]);
-    if(cnk_nbr > 0) cnk=nco_cnk_lst_free(cnk,cnk_nbr);
+    if(cnk_nbr > 0) cnk.cnk_dmn=(cnk_dmn_sct **)nco_cnk_lst_free(cnk.cnk_dmn,cnk_nbr);
     /* Free dimension lists */
     if(nbr_dmn_xtr > 0) dim=nco_dmn_lst_free(dim,nbr_dmn_xtr);
     if(nbr_dmn_xtr > 0) dmn_out=nco_dmn_lst_free(dmn_out,nbr_dmn_xtr);
@@ -1278,10 +1347,13 @@ main(int argc,char **argv)
     if(md5) md5=(md5_sct *)nco_md5_free(md5);
 
     (void)trv_tbl_free(trv_tbl);
-    idx_rec_out=(long *)nco_free(idx_rec_out);
-    rec_in_cml=(long *)nco_free(rec_in_cml);
-    rec_usd_cml=(long *)nco_free(rec_usd_cml);
-    REC_LST_DSR=(nco_bool *)nco_free(REC_LST_DSR);
+    for(idx=0;idx<lmt_nbr;idx++) flg_dne[idx].dim_nm=(char *)nco_free(flg_dne[idx].dim_nm);
+    if (flg_dne) flg_dne=(nco_dmn_dne_t *)nco_free(flg_dne);
+    if(flg_input_complete) flg_input_complete=(nco_bool *)nco_free(flg_input_complete);
+    if(idx_rec_out) idx_rec_out=(long *)nco_free(idx_rec_out);
+    if(rec_in_cml) rec_in_cml=(long *)nco_free(rec_in_cml);
+    if(rec_usd_cml) rec_usd_cml=(long *)nco_free(rec_usd_cml);
+    if(REC_LST_DSR) REC_LST_DSR=(nco_bool *)nco_free(REC_LST_DSR);
 
   } /* !flg_cln */
 
diff --git a/src/nco/ncrename.c b/src/nco/ncrename.c
index c4d5f9b..3a58727 100644
--- a/src/nco/ncrename.c
+++ b/src/nco/ncrename.c
@@ -1,10 +1,10 @@
-/* $Header: /cvsroot/nco/nco/src/nco/ncrename.c,v 1.183 2013/10/22 03:03:46 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/ncrename.c,v 1.191 2014/02/05 23:27:26 pvicente Exp $ */
 
 /* ncrename -- netCDF renaming operator */
 
 /* Purpose: Rename dimensions, variables, and attributes of a netCDF file */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
 
    License: GNU General Public License (GPL) Version 3
    The full license text is at http://www.gnu.org/copyleft/gpl.html 
@@ -36,10 +36,6 @@
    ncrename -O -d old_dim1,new_dim1 -v old_var1,new_var1 -v old_var2,new_var2 -a old_att1,new_att1 ~/nco/data/in.nc ~/foo.nc
    ncrename -O -d lon,new_lon -v scalar_var,new_scalar_var -a long_name,new_long_name ~/nco/data/in.nc ~/foo.nc */
 
-#if 1
-#define USE_TRV_API
-#endif
-
 #ifdef HAVE_CONFIG_H
 # include <config.h> /* Autotools tokens */
 #endif /* !HAVE_CONFIG_H */
@@ -104,8 +100,8 @@ main(int argc,char **argv)
 
   char var_nm[NC_MAX_NAME+1];
 
-  const char * const CVS_Id="$Id: ncrename.c,v 1.183 2013/10/22 03:03:46 zender Exp $"; 
-  const char * const CVS_Revision="$Revision: 1.183 $";
+  const char * const CVS_Id="$Id: ncrename.c,v 1.191 2014/02/05 23:27:26 pvicente Exp $"; 
+  const char * const CVS_Revision="$Revision: 1.191 $";
   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 */
@@ -121,9 +117,6 @@ main(int argc,char **argv)
 
   int abb_arg_nbr=0;
   int fl_nbr=0;
-#ifndef USE_TRV_API
-  int idx;
-#endif
   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 */
@@ -139,11 +132,11 @@ main(int argc,char **argv)
   rnm_sct *grp_rnm_lst=NULL_CEWI;
   rnm_sct *att_rnm_lst=NULL_CEWI;
 
-  trv_tbl_sct *trv_tbl; /* [lst] Traversal table */
-
   size_t bfr_sz_hnt=NC_SIZEHINT_DEFAULT; /* [B] Buffer size hint */
   size_t hdr_pad=0UL; /* [B] Pad at end of header section */
 
+  trv_tbl_sct *trv_tbl; /* [lst] Traversal table */
+
   static struct option opt_lng[] =
   { /* Structure ordered by short option key if possible */
     /* Long options with no argument, no short option counterpart */
@@ -215,7 +208,7 @@ main(int argc,char **argv)
       } /* endif cnk */
       if(!strcmp(opt_crr,"cln") || !strcmp(opt_crr,"mmr_cln") || !strcmp(opt_crr,"clean")) flg_cln=True; /* [flg] Clean memory prior to exit */
       if(!strcmp(opt_crr,"drt") || !strcmp(opt_crr,"mmr_drt") || !strcmp(opt_crr,"dirty")) flg_cln=False; /* [flg] Clean memory prior to exit */
-      if(!strcmp(opt_crr,"hdf4")) nco_hdf_cnv=nco_hdf4; /* [enm] Treat file as HDF4 */
+      if(!strcmp(opt_crr,"hdf4")) nco_fmt_xtn=nco_fmt_xtn_hdf4; /* [enm] Treat file as HDF4 */
       if(!strcmp(opt_crr,"hdr_pad") || !strcmp(opt_crr,"header_pad")){
         hdr_pad=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
         if(*sng_cnv_rcd) nco_sng_cnv_err(optarg,"strtoul",sng_cnv_rcd);
@@ -339,191 +332,11 @@ main(int argc,char **argv)
   rcd+=nco_ddra((char *)NULL,(char *)NULL,&ddra_info);
   ddra_info.tmr_flg=nco_tmr_rgl;
 
-#ifndef USE_TRV_API
-  /* Without further ado, change names */
-  for(idx=0;idx<nbr_var_rnm;idx++){
-    if(var_rnm_lst[idx].old_nm[0] == opt_chr){
-      rcd=nco_inq_varid_flg(nc_id,var_rnm_lst[idx].old_nm+1L,&var_rnm_lst[idx].id);
-      if(rcd == NC_NOERR){
-        (void)nco_rename_var(nc_id,var_rnm_lst[idx].id,var_rnm_lst[idx].new_nm);
-        if(nco_dbg_lvl >= nco_dbg_std) (void)fprintf(stderr,"%s: Renamed variable \'%s\' to \'%s\'\n",nco_prg_nm,var_rnm_lst[idx].old_nm+1L,var_rnm_lst[idx].new_nm);
-      }else{
-        (void)fprintf(stderr,"%s: WARNING Variable \"%s\" not present in %s, skipping it.\n",nco_prg_nm,var_rnm_lst[idx].old_nm+1L,fl_in);
-        /* Reset error code */
-        rcd=NC_NOERR; 
-      } /* end if */
-    }else{ /* Variable name does not contain opt_chr so variable presence is required */
-      rcd=nco_inq_varid(nc_id,var_rnm_lst[idx].old_nm,&var_rnm_lst[idx].id);
-      (void)nco_rename_var(nc_id,var_rnm_lst[idx].id,var_rnm_lst[idx].new_nm);
-      if(nco_dbg_lvl >= nco_dbg_std) (void)fprintf(stderr,"%s: Renamed variable \'%s\' to \'%s\'\n",nco_prg_nm,var_rnm_lst[idx].old_nm,var_rnm_lst[idx].new_nm);
-    } /* end else */
-  } /* end loop over idx */
-
-  for(idx=0;idx<nbr_grp_rnm;idx++){
-    if(grp_rnm_lst[idx].old_nm[0] == opt_chr){
-      rcd=nco_inq_grp_ncid_flg(nc_id,grp_rnm_lst[idx].old_nm+1L,&grp_rnm_lst[idx].id);
-      if(rcd == NC_NOERR){
-        (void)nco_rename_grp(grp_rnm_lst[idx].id,grp_rnm_lst[idx].new_nm);
-        if(nco_dbg_lvl >= nco_dbg_std) (void)fprintf(stderr,"%s: Renamed group \'%s\' to \'%s\'\n",nco_prg_nm,grp_rnm_lst[idx].old_nm+1L,grp_rnm_lst[idx].new_nm);
-      }else{
-        (void)fprintf(stderr,"%s: WARNING Group \"%s\" not present in %s, skipping it.\n",nco_prg_nm,grp_rnm_lst[idx].old_nm+1L,fl_in);
-        /* Reset error code */
-        rcd=NC_NOERR; 
-      } /* end if */
-    }else{ /* Group name does not contain opt_chr so group presence is required */
-      rcd=nco_inq_grp_ncid(nc_id,grp_rnm_lst[idx].old_nm,&grp_rnm_lst[idx].id);
-      (void)nco_rename_grp(grp_rnm_lst[idx].id,grp_rnm_lst[idx].new_nm);
-      if(nco_dbg_lvl >= nco_dbg_std) (void)fprintf(stderr,"%s: Renamed group \'%s\' to \'%s\'\n",nco_prg_nm,grp_rnm_lst[idx].old_nm,grp_rnm_lst[idx].new_nm);
-    } /* end else */
-  } /* end loop over idx */
-
-  for(idx=0;idx<nbr_dmn_rnm;idx++){
-    if(dmn_rnm_lst[idx].old_nm[0] == opt_chr){
-
-      rcd=nco_inq_dimid_flg(nc_id,dmn_rnm_lst[idx].old_nm+1L,&dmn_rnm_lst[idx].id);
-      if(rcd == NC_NOERR){
-        (void)nco_rename_dim(nc_id,dmn_rnm_lst[idx].id,dmn_rnm_lst[idx].new_nm);
-        if(nco_dbg_lvl >= nco_dbg_std) (void)fprintf(stderr,"%s: Renamed dimension \'%s\' to \'%s\'\n",nco_prg_nm,dmn_rnm_lst[idx].old_nm+1L,dmn_rnm_lst[idx].new_nm);
-      }else{
-        (void)fprintf(stderr,"%s: WARNING Dimension \'%s\' not present in %s, skipping it.\n",nco_prg_nm,dmn_rnm_lst[idx].old_nm+1L,fl_in);
-        /* Reset error code */
-        rcd=NC_NOERR; 
-      } /* end if */
-
-    }else{
-      rcd=nco_inq_dimid(nc_id,dmn_rnm_lst[idx].old_nm,&dmn_rnm_lst[idx].id);
-      (void)nco_rename_dim(nc_id,dmn_rnm_lst[idx].id,dmn_rnm_lst[idx].new_nm);
-      if(nco_dbg_lvl >= nco_dbg_std) (void)fprintf(stderr,"%s: Renamed dimension \'%s\' to \'%s\'\n",nco_prg_nm,dmn_rnm_lst[idx].old_nm,dmn_rnm_lst[idx].new_nm);
-    } /* end else */
-  } /* end loop over idx */
-
-  if(nbr_att_rnm > 0){
-    int nbr_var_fl;
-
-    /* Get number of variables in file */
-    (void)nco_inq(nc_id,(int *)NULL,&nbr_var_fl,(int *)NULL,(int *)NULL);
-
-    for(idx=0;idx<nbr_att_rnm;idx++){
-      int var_id;
-      int nbr_rnm=0;
-      int rcd_att=0;
-
-      /* Rename attribute of single variable... */
-      if(strchr(att_rnm_lst[idx].old_nm,dlm_chr)){
-        /* Extract variable name from old name */
-        rcd_att=nco_prs_att((att_rnm_lst+idx),var_nm,&IS_GLB_GRP_ATT);
-        if(!rcd_att){
-          (void)fprintf(stderr,"%s: ERROR Could not parse var_nm at att_nm string \"%s\"\n",nco_prg_nm,att_rnm_lst[idx].old_nm);
-          nco_exit(EXIT_FAILURE);
-        } /* end if */ 
-        /* Get var_id of variable */
-        if(IS_GLB_GRP_ATT){
-          (void)fprintf(stderr,"%s: INFO Assuming \"%s\" refers to a Global or Group attribute\n",nco_prg_nm,att_rnm_lst[idx].old_nm);
-          var_id=NC_GLOBAL;
-        }else{ /* !IS_GLB_GRP_ATT */
-          if(var_nm[0] == opt_chr){
-            rcd=nco_inq_varid_flg(nc_id,var_nm+1L,&var_id);
-            if(rcd != NC_NOERR){
-              (void)fprintf(stderr,"%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 */
-            rcd=nco_inq_varid(nc_id,var_nm,&var_id);
-          } /* end if */
-        } /* !IS_GLB_GRP_ATT */
-        if(rcd == NC_NOERR){
-          if(att_rnm_lst[idx].old_nm[0] == opt_chr){
-            /* Preceding opt_chr means attribute need not be present */
-            rcd=nco_inq_attid_flg(nc_id,var_id,att_rnm_lst[idx].old_nm+1L,&att_rnm_lst[idx].id);	  
-            if(rcd == NC_NOERR){
-              (void)nco_rename_att(nc_id,var_id,att_rnm_lst[idx].old_nm+1L,att_rnm_lst[idx].new_nm);
-              nbr_rnm++;
-              if(nco_dbg_lvl >= nco_dbg_std) (void)fprintf(stderr,"%s: Renamed attribute \'%s\' to \'%s\' for variable \'%s\'\n",nco_prg_nm,att_rnm_lst[idx].old_nm+1L,att_rnm_lst[idx].new_nm,(var_nm[0] == opt_chr ? var_nm+1L : var_nm));
-            }else{
-              (void)fprintf(stderr,"%s: WARNING Attribute \'%s\' not present in variable \'%s\'\n",nco_prg_nm,att_rnm_lst[idx].old_nm+1L,(var_nm[0] == opt_chr ? var_nm+1L : var_nm));
-            } /* endelse */
-          }else{ 
-            /* Attribute must be present */
-            rcd=nco_inq_attid(nc_id,var_id,att_rnm_lst[idx].old_nm,&att_rnm_lst[idx].id);
-            if(rcd == NC_NOERR){
-              (void)nco_rename_att(nc_id,var_id,att_rnm_lst[idx].old_nm,att_rnm_lst[idx].new_nm);
-              nbr_rnm++;
-              if(nco_dbg_lvl >= nco_dbg_std) (void)fprintf(stderr,"%s: Renamed attribute \'%s\' to \'%s\' for variable \'%s\'\n",nco_prg_nm,att_rnm_lst[idx].old_nm,att_rnm_lst[idx].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(stderr,"%s: WARNING variable \'%s\' not present in %s\n",nco_prg_nm,var_nm,fl_in);
-        }  /* variable not present */
-        /* end if renaming single variable */
-      }else{ /* ...or rename attribute for all variables... */
-        for(var_id=NC_GLOBAL;var_id<nbr_var_fl;var_id++){ /* Start loop at NC_GLOBAL (-1) for global attributes */
-          if(var_id > NC_GLOBAL) (void)nco_inq_varname(nc_id,var_id,var_nm);
-          if(att_rnm_lst[idx].old_nm[0] == opt_chr){
-            /* Rename attribute if variable contains attribute else do nothing */
-            rcd=nco_inq_attid_flg(nc_id,var_id,att_rnm_lst[idx].old_nm+1L,&att_rnm_lst[idx].id);
-            if(rcd == NC_NOERR){
-              (void)nco_rename_att(nc_id,var_id,att_rnm_lst[idx].old_nm+1L,att_rnm_lst[idx].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(stderr,"%s: Renamed attribute \'%s\' to \'%s\' for variable \'%s\'\n",nco_prg_nm,att_rnm_lst[idx].old_nm+1L,att_rnm_lst[idx].new_nm,var_nm);
-              }else{
-                if(nco_dbg_lvl >= nco_dbg_std) (void)fprintf(stderr,"%s: Renamed global or group attribute \'%s\' to \'%s\'\n",nco_prg_nm,att_rnm_lst[idx].old_nm+1L,att_rnm_lst[idx].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(nc_id,var_id,att_rnm_lst[idx].old_nm,&att_rnm_lst[idx].id);
-            if(rcd == NC_NOERR){
-              (void)nco_rename_att(nc_id,var_id,att_rnm_lst[idx].old_nm,att_rnm_lst[idx].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(stderr,"%s: Renamed attribute \'%s\' to \'%s\' for variable \'%s\'\n",nco_prg_nm,att_rnm_lst[idx].old_nm,att_rnm_lst[idx].new_nm,var_nm);
-              }else{
-                IS_GLB_GRP_ATT=True; /* [flg] Attribute is Global or Group attribute */
-                if(IS_GLB_GRP_ATT) (void)fprintf(stderr,"%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].old_nm); 
-                if(nco_dbg_lvl >= nco_dbg_std) (void)fprintf(stderr,"%s: Renamed global or group attribute \'%s\' to \'%s\'\n",nco_prg_nm,att_rnm_lst[idx].old_nm,att_rnm_lst[idx].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(stderr,"%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 */
-        } /* end loop over var_id */
-      } /* 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].old_nm[0] == opt_chr){
-          (void)fprintf(stderr,"%s: WARNING Attribute \'%s\' not renamed because not found in searched variable(s)\n",nco_prg_nm,att_rnm_lst[idx].old_nm+1L);
-        }else{
-          (void)fprintf(stdout,"%s: ERROR Attribute \'%s\' not present in %s, aborting.\n",nco_prg_nm,att_rnm_lst[idx].old_nm,fl_in);
-          nco_exit(EXIT_FAILURE);
-        } /* end else */
-      } /* nbr_rnm */
-    } /* end loop over attributes to rename */
-  } /* end if renaming attributes */
-
-#else /* USE_TRV_API */
-
   /* Initialize traversal table */ 
   trv_tbl_init(&trv_tbl); 
 
   /* 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,True,trv_tbl);
+  (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,True,NULL,trv_tbl);
 
   /* Loop input variable names */
   for(int idx_var=0;idx_var<nbr_var_rnm;idx_var++){
@@ -761,7 +574,6 @@ main(int argc,char **argv)
       } /* end else */
     } /* nbr_rnm */
   } /* end loop over attributes to rename */
-#endif /* USE_TRV_API */
 
   /* Catenate timestamped command line to "history" global attribute */
   if(HISTORY_APPEND) (void)nco_hst_att_cat(nc_id,cmd_ln);
@@ -808,10 +620,7 @@ main(int argc,char **argv)
     if(fl_lst_in && fl_lst_abb == NULL) fl_lst_in=nco_sng_lst_free(fl_lst_in,fl_nbr); 
     if(fl_lst_in && fl_lst_abb) fl_lst_in=nco_sng_lst_free(fl_lst_in,1);
     if(fl_lst_abb) fl_lst_abb=nco_sng_lst_free(fl_lst_abb,abb_arg_nbr);
-
-#ifdef USE_TRV_API
     (void)trv_tbl_free(trv_tbl);
-#endif /* !USE_TRV_API */
   } /* !flg_cln */
 
   /* End timer */ 
diff --git a/src/nco/ncwa.c b/src/nco/ncwa.c
index ac5c1be..29b65e5 100644
--- a/src/nco/ncwa.c
+++ b/src/nco/ncwa.c
@@ -1,11 +1,11 @@
-/* $Header: /cvsroot/nco/nco/src/nco/ncwa.c,v 1.382 2013/11/12 23:50:57 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/ncwa.c,v 1.409 2014/02/17 23:12:39 zender Exp $ */
 
 /* ncwa -- netCDF weighted averager */
 
 /* Purpose: Compute averages of specified hyperslabs of specfied variables
    in a single input netCDF file and output them to a single file. */
 
-/* Copyright (C) 1995--2013 Charlie Zender
+/* Copyright (C) 1995--2014 Charlie Zender
 
    License: GNU General Public License (GPL) Version 3
    The full license text is at http://www.gnu.org/copyleft/gpl.html 
@@ -104,6 +104,7 @@ main(int argc,char **argv)
   nco_bool RM_RMT_FL_PST_PRC=True; /* Option R */
   nco_bool WGT_MSK_CRD_VAR=True; /* [flg] Weight and/or mask coordinate variables */
   nco_bool WRT_TMP_FL=True; /* [flg] Write output to temporary file */
+  nco_bool flg_cll_mth=True; /* [flg] Add/modify cell_methods attributes */
   nco_bool flg_cln=True; /* [flg] Clean memory prior to exit */
   nco_bool flg_ddra=False; /* [flg] DDRA diagnostics */
   nco_bool flg_rdd=False; /* [flg] Retain degenerate dimensions */
@@ -133,11 +134,11 @@ 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.382 2013/11/12 23:50:57 zender Exp $"; 
-  const char * const CVS_Revision="$Revision: 1.382 $";
+  const char * const CVS_Id="$Id: ncwa.c,v 1.409 2014/02/17 23:12:39 zender Exp $"; 
+  const char * const CVS_Revision="$Revision: 1.409 $";
   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=NULL_CEWI;
+  cnk_sct cnk; /* [sct] Chunking structure */
 
 #if defined(__cplusplus) || defined(PGI_CC)
   ddra_info_sct ddra_info;
@@ -156,7 +157,7 @@ main(int argc,char **argv)
   extern int optind;
 
   /* Using naked stdin/stdout/stderr in parallel region generates warning
-  Copy appropriate filehandle to variable scoped shared in parallel clause */
+     Copy appropriate filehandle to variable scoped shared in parallel clause */
   FILE * const fp_stderr=stderr; /* [fl] stderr filehandle CEWI */
   FILE * const fp_stdout=stdout; /* [fl] stdout filehandle CEWI */
 
@@ -167,7 +168,7 @@ main(int argc,char **argv)
   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=0; /* [enm] Deflate level */
+  int dfl_lvl=NCO_DFL_LVL_UNDEFINED; /* [enm] Deflate level */
   int dmn_avg_nbr=0;
   int fl_idx=int_CEWI;
   int fl_nbr=0;
@@ -198,6 +199,7 @@ main(int argc,char **argv)
   md5_sct *md5=NULL; /* [sct] MD5 configuration */
 
   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 */
   size_t hdr_pad=0UL; /* [B] Pad at end of header section */
 
@@ -211,6 +213,8 @@ main(int argc,char **argv)
 
   trv_tbl_sct *trv_tbl=NULL; /* [lst] Traversal table */
 
+  nco_dmn_dne_t *flg_dne=NULL; /* [lst] Flag to check if input dimension -d "does not exist" */
+
   gpe_sct *gpe=NULL; /* [sng] Group Path Editing (GPE) structure */
 
 #ifndef _MSC_VER
@@ -220,6 +224,9 @@ main(int argc,char **argv)
   static struct option opt_lng[]=
   { /* Structure ordered by short option key if possible */
     /* Long options with no argument, no short option counterpart */
+    {"cll_mth",no_argument,0,0}, /* [flg] Add/modify cell_methods attributes */
+    {"cell_methods",no_argument,0,0}, /* [flg] Add/modify cell_methods attributes */
+    {"no_cll_mth",no_argument,0,0}, /* [flg] Do not add/modify cell_methods attributes */
     {"cln",no_argument,0,0}, /* [flg] Clean memory prior to exit */
     {"clean",no_argument,0,0}, /* [flg] Clean memory prior to exit */
     {"mmr_cln",no_argument,0,0}, /* [flg] Clean memory prior to exit */
@@ -247,9 +254,12 @@ main(int argc,char **argv)
     /* Long options with argument, no short option counterpart */
     {"bfr_sz_hnt",required_argument,0,0}, /* [B] Buffer size hint */
     {"buffer_size_hint",required_argument,0,0}, /* [B] Buffer size hint */
+    {"cnk_map",required_argument,0,0}, /* [nbr] Chunking map */
     {"chunk_map",required_argument,0,0}, /* [nbr] Chunking map */
     {"cnk_plc",required_argument,0,0}, /* [nbr] Chunking policy */
     {"chunk_policy",required_argument,0,0}, /* [nbr] Chunking policy */
+    {"cnk_byt",required_argument,0,0}, /* [B] Chunk size in bytes */
+    {"chunk_byte",required_argument,0,0}, /* [B] Chunk size in bytes */
     {"cnk_scl",required_argument,0,0}, /* [nbr] Chunk size scalar */
     {"chunk_scalar",required_argument,0,0}, /* [nbr] Chunk size scalar */
     {"cnk_dmn",required_argument,0,0}, /* [nbr] Chunk size */
@@ -332,8 +342,8 @@ main(int argc,char **argv)
   ddra_info.tmr_flg=nco_tmr_mtd;
   cmd_ln=nco_cmd_ln_sng(argc,argv);
 
-  NORMALIZE_BY_TALLY=NORMALIZE_BY_TALLY; /* CEWI: Avert compiler warning that variable is set but never used */
-  NORMALIZE_BY_WEIGHT=NORMALIZE_BY_WEIGHT; /* CEWI: Avert compiler warning that variable is set but never used */
+  NORMALIZE_BY_TALLY=NORMALIZE_BY_TALLY+0; /* CEWI: Avert compiler warning that variable is set but never used */
+  NORMALIZE_BY_WEIGHT=NORMALIZE_BY_WEIGHT+0; /* CEWI: Avert compiler warning that variable is set but never used */
 
   /* Get program name and set program enum (e.g., nco_prg_id=ncra) */
   nco_prg_nm=nco_prg_prs(argv[0],&nco_prg_id);
@@ -351,12 +361,16 @@ main(int argc,char **argv)
       if(!strcmp(opt_crr,"bfr_sz_hnt") || !strcmp(opt_crr,"buffer_size_hint")){
         bfr_sz_hnt=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
         if(*sng_cnv_rcd) nco_sng_cnv_err(optarg,"strtoul",sng_cnv_rcd);
-      } /* endif cnk */
+      } /* endif bfr_sz */
+      if(!strcmp(opt_crr,"cnk_byt") || !strcmp(opt_crr,"chunk_byte")){
+        cnk_sz_byt=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
+        if(*sng_cnv_rcd) nco_sng_cnv_err(optarg,"strtoul",sng_cnv_rcd);
+      } /* endif cnk_byt */
       if(!strcmp(opt_crr,"cnk_dmn") || !strcmp(opt_crr,"chunk_dimension")){
         /* Copy limit argument for later processing */
         cnk_arg[cnk_nbr]=(char *)strdup(optarg);
         cnk_nbr++;
-      } /* endif cnk */
+      } /* endif cnk_dmn */
       if(!strcmp(opt_crr,"cnk_scl") || !strcmp(opt_crr,"chunk_scalar")){
         cnk_sz_scl=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
         if(*sng_cnv_rcd) nco_sng_cnv_err(optarg,"strtoul",sng_cnv_rcd);
@@ -371,13 +385,15 @@ main(int argc,char **argv)
         cnk_plc_sng=(char *)strdup(optarg);
         cnk_plc=nco_cnk_plc_get(cnk_plc_sng);
       } /* endif cnk */
+      if(!strcmp(opt_crr,"cll_mth") || !strcmp(opt_crr,"cell_methods")) flg_cll_mth=True; /* [flg] Add/modify cell_methods attributes */
+      if(!strcmp(opt_crr,"no_cll_mth") || !strcmp(opt_crr,"no_cell_methods")) flg_cll_mth=False; /* [flg] Add/modify cell_methods attributes */
       if(!strcmp(opt_crr,"cln") || !strcmp(opt_crr,"mmr_cln") || !strcmp(opt_crr,"clean")) flg_cln=True; /* [flg] Clean memory prior to exit */
       if(!strcmp(opt_crr,"drt") || !strcmp(opt_crr,"mmr_drt") || !strcmp(opt_crr,"dirty")) flg_cln=False; /* [flg] Clean memory prior to exit */
       if(!strcmp(opt_crr,"ddra") || !strcmp(opt_crr,"mdl_cmp")) ddra_info.flg_ddra=flg_ddra=True; /* [flg] DDRA diagnostics */
       if(!strcmp(opt_crr,"fl_fmt") || !strcmp(opt_crr,"file_format")) rcd=nco_create_mode_prs(optarg,&fl_out_fmt);
       if(!strcmp(opt_crr,"dbl") || !strcmp(opt_crr,"rth_dbl")) nco_rth_cnv=nco_rth_flt_dbl; /* [flg] Arithmetic convention: promote float to double */
       if(!strcmp(opt_crr,"flt") || !strcmp(opt_crr,"rth_flt")) nco_rth_cnv=nco_rth_flt_flt; /* [flg] Arithmetic convention: keep single-precision */
-      if(!strcmp(opt_crr,"hdf4")) nco_hdf_cnv=nco_hdf4; /* [enm] Treat file as HDF4 */
+      if(!strcmp(opt_crr,"hdf4")) nco_fmt_xtn=nco_fmt_xtn_hdf4; /* [enm] Treat file as HDF4 */
       if(!strcmp(opt_crr,"hdf_upk") || !strcmp(opt_crr,"hdf_unpack")) nco_upk_cnv=nco_upk_HDF; /* [flg] HDF unpack convention: unpacked=scale_factor*(packed-add_offset) */
       if(!strcmp(opt_crr,"hdr_pad") || !strcmp(opt_crr,"header_pad")){
         hdr_pad=strtoul(optarg,&sng_cnv_rcd,NCO_SNG_CNV_BASE10);
@@ -425,7 +441,7 @@ main(int argc,char **argv)
 #ifdef _MSC_VER
       (void)fprintf(fp_stdout,"%s: ERROR -B and --mask_condition options unsupported on Windows, which lacks a free, standard parser and lexer. HINT: Break condition into component -m -T -M switches, e.g., use -m ORO -T lt -M 1.0 instead of -B \"ORO < 1\"\n",nco_prg_nm);
       nco_exit(EXIT_FAILURE);
-#endif
+#endif /* !_MSC_VER */
       break;
     case 'b': /* [flg] Retain degenerate dimensions */
       flg_rdd=True;
@@ -449,7 +465,7 @@ main(int argc,char **argv)
       break;
     case 'G': /* Apply Group Path Editing (GPE) to output group */
       /* NB: GNU getopt() optional argument syntax is ugly (requires "=" sign) so avoid it
-      http://stackoverflow.com/questions/1052746/getopt-does-not-parse-optional-arguments-to-parameters */
+	 http://stackoverflow.com/questions/1052746/getopt-does-not-parse-optional-arguments-to-parameters */
       gpe=nco_gpe_prs_arg(optarg);
       fl_out_fmt=NC_FORMAT_NETCDF4; 
       break;
@@ -593,9 +609,6 @@ main(int argc,char **argv)
   /* Process positional arguments and fill in filenames */
   fl_lst_in=nco_fl_lst_mk(argv,argc,optind,&fl_nbr,&fl_out,&FL_LST_IN_FROM_STDIN);
 
-  /* Make uniform list of user-specified chunksizes */
-  if(cnk_nbr > 0) cnk=nco_cnk_prs(cnk_nbr,cnk_arg);
-
   /* Initialize thread information */
   thr_nbr=nco_openmp_ini(thr_nbr);
   in_id_arr=(int *)nco_malloc(thr_nbr*sizeof(int));
@@ -611,7 +624,7 @@ main(int argc,char **argv)
   (void)nco_inq_format(in_id,&fl_in_fmt);
 
   /* Construct GTT, Group Traversal Table (groups,variables,dimensions, limits) */
-  (void)nco_bld_trv_tbl(in_id,trv_pth,lmt_nbr,lmt_arg,aux_nbr,aux_arg,MSA_USR_RDR,FORTRAN_IDX_CNV,grp_lst_in,grp_lst_in_nbr,var_lst_in,xtr_nbr,EXTRACT_ALL_COORDINATES,GRP_VAR_UNN,EXCLUDE_INPUT_LIST,EXTRACT_ASSOCIATED_COORDINATES,trv_tbl);
+  (void)nco_bld_trv_tbl(in_id,trv_pth,lmt_nbr,lmt_arg,aux_nbr,aux_arg,MSA_USR_RDR,FORTRAN_IDX_CNV,grp_lst_in,grp_lst_in_nbr,var_lst_in,xtr_nbr,EXTRACT_ALL_COORDINATES,GRP_VAR_UNN,EXCLUDE_INPUT_LIST,EXTRACT_ASSOCIATED_COORDINATES,&flg_dne,trv_tbl);
 
   /* Get number of variables, dimensions, and global attributes in file, file format */
   (void)trv_tbl_inq((int *)NULL,(int *)NULL,(int *)NULL,&nbr_dmn_fl,(int *)NULL,(int *)NULL,(int *)NULL,(int *)NULL,&nbr_var_fl,trv_tbl);
@@ -622,13 +635,11 @@ main(int argc,char **argv)
   /* Find dimensions associated with variables to be extracted */
   (void)nco_dmn_lst_ass_var_trv(in_id,trv_tbl,&nbr_dmn_xtr,&dim);
 
-  /* Not specifying any dimensions is interpreted as specifying all dimensions. GTT: using dmn_sct* (dim) */
+  /* Not specifying any dimensions is interpreted as specifying all dimensions */
   if(dmn_avg_nbr == 0){
     dmn_avg_nbr=nbr_dmn_xtr;
     dmn_avg_lst_in=(char **)nco_malloc(dmn_avg_nbr*sizeof(char *));
-    for(idx=0;idx<dmn_avg_nbr;idx++){
-      dmn_avg_lst_in[idx]=(char *)strdup(dim[idx]->nm);
-    } /* end loop over idx */
+    for(idx=0;idx<dmn_avg_nbr;idx++) dmn_avg_lst_in[idx]=(char *)strdup(dim[idx]->nm);
     if(nco_dbg_lvl >= nco_dbg_std) (void)fprintf(stderr,"%s: INFO No dimensions specified with -a, therefore reducing (averaging, taking minimum, etc.) over all dimensions\n",nco_prg_nm);
   } /* end if dmn_avg_nbr == 0 */
 
@@ -685,10 +696,12 @@ main(int argc,char **argv)
 
   /* Open output file */
   fl_out_tmp=nco_fl_out_open(fl_out,FORCE_APPEND,FORCE_OVERWRITE,fl_out_fmt,&bfr_sz_hnt,RAM_CREATE,RAM_OPEN,WRT_TMP_FL,&out_id);
-  if(nco_dbg_lvl >= nco_dbg_scl) (void)fprintf(stderr,"Input, output file IDs = %d, %d\n",in_id,out_id);
+
+  /* Create structure with all chunking information */
+  if(fl_out_fmt == NC_FORMAT_NETCDF4 || fl_out_fmt == NC_FORMAT_NETCDF4_CLASSIC) rcd+=nco_cnk_ini(fl_out,cnk_arg,cnk_nbr,cnk_map,cnk_plc,cnk_sz_byt,cnk_sz_scl,&cnk);
 
   /* Define dimensions, extracted groups, variables, and attributes in output file.  */
-  (void)nco_xtr_dfn(in_id,out_id,&cnk_map,&cnk_plc,cnk_sz_scl,cnk,cnk_nbr,dfl_lvl,gpe,md5,True,True,nco_pck_plc_nil,(char *)NULL,trv_tbl);
+  (void)nco_xtr_dfn(in_id,out_id,&cnk,dfl_lvl,gpe,md5,True,True,nco_pck_plc_nil,(char *)NULL,trv_tbl);
 
   /* Catenate time-stamped command line to "history" global attribute */
   if(HISTORY_APPEND) (void)nco_hst_att_cat(out_id,cmd_ln);
@@ -732,6 +745,9 @@ main(int argc,char **argv)
   /* Turn off default filling behavior to enhance efficiency */
   nco_set_fill(out_id,NC_NOFILL,&fll_md_old);
 
+  /* Add cell_methods attributes (before exiting define mode) */
+  if(flg_cll_mth) rcd+=nco_cnv_cf_cll_mth_add(out_id,var_prc_out,nbr_var_prc,dmn_avg,dmn_avg_nbr,nco_op_typ,gpe,trv_tbl);
+
   /* Take output file out of define mode */
   if(hdr_pad == 0UL){
     (void)nco_enddef(out_id);
@@ -772,9 +788,9 @@ main(int argc,char **argv)
 
 #ifdef _OPENMP
     /* OpenMP notes:
-    firstprivate(): msk_out and wgt_out must be NULL on first call to nco_var_cnf_dmn()
-    shared(): msk and wgt are not altered within loop
-    private(): wgt_avg does not need initialization */
+       firstprivate(): msk_out and wgt_out must be NULL on first call to nco_var_cnf_dmn()
+       shared(): msk and wgt are not altered within loop
+       private(): wgt_avg does not need initialization */
 #pragma omp parallel for default(none) firstprivate(DO_CONFORM_MSK,DO_CONFORM_WGT,ddra_info) private(idx,in_id,wgt_avg) shared(MULTIPLY_BY_TALLY,MUST_CONFORM,NRM_BY_DNM,WGT_MSK_CRD_VAR,nco_dbg_lvl,dmn_avg,dmn_avg_nbr,flg_ddra,flg_rdd,gpe,in_id_arr,msk_nm,msk_val,nbr_var_prc,nco_op_typ,op_typ_rlt,out_id,nco_prg_nm,rcd,trv_tbl,var_prc,var_prc_out,wgt_nm)
 #endif /* !_OPENMP */
 
@@ -867,7 +883,7 @@ main(int argc,char **argv)
       /* Check weight found for this variable, using wgt */
       if(wgt && (!var_prc[idx]->is_crd_var || WGT_MSK_CRD_VAR)){
         /* fxm: nco_var_cnf_dmn() has bug where it does not allocate tally array
-        for weights that do already conform to var_prc. TODO #114. */
+	   for weights that do already conform to var_prc. TODO #114. */
         wgt_out=nco_var_cnf_dmn(var_prc[idx],wgt,wgt_out,MUST_CONFORM,&DO_CONFORM_WGT);
         if(DO_CONFORM_WGT){
           wgt_out=nco_var_cnf_typ(var_prc[idx]->type,wgt_out);
@@ -880,23 +896,25 @@ main(int argc,char **argv)
       (void)memcpy((void *)(var_prc_out[idx]->val.vp),(void *)(var_prc[idx]->val.vp),var_prc_out[idx]->sz*nco_typ_lng(var_prc_out[idx]->type));
       /* 20050516: fxm: destruction of var_prc_out in nco_var_avg() leaves dangling pointers in var_out? */
       /* Reduce variable over specified dimensions (tally array is set here)
-      NB: var_prc_out[idx] is new, so corresponding var_out[idx] is dangling */
+	 NB: var_prc_out[idx] is new, so corresponding var_out[idx] is dangling
+	 nco_var_avg() will perform nco_op_typ on all variables except coordinate variables
+	 nco_var_avg() always performs averaging on coordinate variables */
       var_prc_out[idx]=nco_var_avg(var_prc_out[idx],dmn_avg,dmn_avg_nbr,nco_op_typ,flg_rdd,&ddra_info);
       /* var_prc_out[idx]->val now holds numerator of averaging expression documented in NCO User's Guide
-      Denominator is also tricky due to sundry normalization options
-      These logical switches are VERY tricky---be careful modifying them */
+	 Denominator is also tricky due to sundry normalization options
+	 These logical switches are VERY tricky---be careful modifying them */
       if(NRM_BY_DNM && DO_CONFORM_WGT && (!var_prc[idx]->is_crd_var || WGT_MSK_CRD_VAR)){
         /* Duplicate wgt_out as wgt_avg so that wgt_out is not contaminated by any
-        averaging operation and may be re-used on next variable.
-        Free wgt_avg after each use but continue to re-use wgt_out */
+	   averaging operation and may be re-used on next variable.
+	   Free wgt_avg after each use but continue to re-use wgt_out */
         wgt_avg=nco_var_dpl(wgt_out);
 
         if(var_prc[idx]->has_mss_val){
           double mss_val_dbl=double_CEWI;
           /* Set denominator to missing value at all locations where variable is missing value
-          If this is accomplished by setting weight to missing value wherever variable is missing value
-          then weight must not be re-used by next variable (which might conform but have missing values in different locations)
-          This is one good reason to copy wgt_out into disposable wgt_avg for each new variable */
+	     If this is accomplished by setting weight to missing value wherever variable is missing value
+	     then weight must not be re-used by next variable (which might conform but have missing values in different locations)
+	     This is one good reason to copy wgt_out into disposable wgt_avg for each new variable */
           /* First, make sure wgt_avg has same missing value as variable */
           (void)nco_mss_val_cp(var_prc[idx],wgt_avg);
           /* Copy missing value into double precision variable */
@@ -910,7 +928,7 @@ main(int argc,char **argv)
           case NC_INT64: mss_val_dbl=wgt_avg->mss_val.i64p[0]; break;
           case NC_UINT64: mss_val_dbl=wgt_avg->mss_val.ui64p[0]; break;
           case NC_BYTE: mss_val_dbl=wgt_avg->mss_val.bp[0]; break;
-          case NC_UBYTE: mss_val_dbl=wgt_avg->mss_val.cp[0]; break;
+          case NC_UBYTE: mss_val_dbl=wgt_avg->mss_val.ubp[0]; break;
           case NC_CHAR: mss_val_dbl=wgt_avg->mss_val.cp[0]; break;
           case NC_STRING: break; /* Do nothing */
           default: nco_dfl_case_nc_type_err(); break;
@@ -924,8 +942,8 @@ main(int argc,char **argv)
 
         if(msk && DO_CONFORM_MSK){
           /* Must mask weight in same fashion as variable was masked
-          If msk and var did not conform then do not mask wgt
-          Ensure wgt_avg has a missing value */
+	     If msk and var did not conform then do not mask wgt
+	     Ensure wgt_avg has a missing value */
           if(!wgt_avg->has_mss_val){
             wgt_avg->has_mss_val=True;
             wgt_avg->mss_val=nco_mss_val_mk(wgt_avg->type);
@@ -935,10 +953,10 @@ main(int argc,char **argv)
         } /* endif weight must be masked */
 
         /* fxm: temporary kludge to make sure weight has tally space
-        wgt_avg may lack valid tally array in ncwa because wgt_avg is created, 
-        sometimes, before the tally array for var_prc_out[idx] is created. 
-        When this occurs the nco_var_dpl() call in nco_var_cnf_dmn() does not copy
-        tally array into wgt_avg. See related note about this above. TODO #114.*/
+	   wgt_avg may lack valid tally array in ncwa because wgt_avg is created, 
+	   sometimes, before the tally array for var_prc_out[idx] is created. 
+	   When this occurs the nco_var_dpl() call in nco_var_cnf_dmn() does not copy
+	   tally array into wgt_avg. See related note about this above. TODO #114.*/
         if(wgt_avg->sz > 0)
           if((wgt_avg->tally=(long *)nco_realloc(wgt_avg->tally,wgt_avg->sz*sizeof(long))) == NULL){
             (void)fprintf(fp_stdout,"%s: ERROR Unable to realloc() %ld*%ld bytes for tally buffer for weight %s in main()\n",nco_prg_nm_get(),wgt_avg->sz,(long)sizeof(long),wgt_avg->nm);
@@ -950,7 +968,7 @@ main(int argc,char **argv)
           if(MULTIPLY_BY_TALLY){
             /* NB: Currently this is not implemented */
             /* Multiply numerator (weighted sum of variable) by tally 
-            We deviously accomplish this by dividing denominator by tally */
+	       We deviously accomplish this by dividing denominator by tally */
             (void)nco_var_nrm(wgt_avg->type,wgt_avg->sz,wgt_avg->has_mss_val,wgt_avg->mss_val,wgt_avg->tally,wgt_avg->val);
           } /* endif */
           /* Divide numerator by denominator */
@@ -963,20 +981,20 @@ main(int argc,char **argv)
             (nco_op_typ != nco_op_min) && /* ...operation is not min() and... */
             (nco_op_typ != nco_op_max) && /* ...operation is not max() and... */
             (nco_op_typ != nco_op_ttl || /* ...operation is not ttl() or... */
-            var_prc[idx]->is_crd_var) /* ...variable is a coordinate */
+	     var_prc[idx]->is_crd_var) /* ...variable is a coordinate */
             ){ /* Divide numerator by masked, averaged, weights */
-              (void)nco_var_dvd(var_prc_out[idx]->type,var_prc_out[idx]->sz,var_prc_out[idx]->has_mss_val,var_prc_out[idx]->mss_val,wgt_avg->val,var_prc_out[idx]->val);
+	    (void)nco_var_dvd(var_prc_out[idx]->type,var_prc_out[idx]->sz,var_prc_out[idx]->has_mss_val,var_prc_out[idx]->mss_val,wgt_avg->val,var_prc_out[idx]->val);
           } /* endif */
           /* Free wgt_avg, but keep wgt_out, after each use */
           if(wgt_avg) wgt_avg=nco_var_free(wgt_avg);
           /* End of branch for normalization when weights were specified */
       }else if(NRM_BY_DNM){
         /* Branch for normalization when no weights were specified
-        Normalization is just due to tally */
+	   Normalization is just due to tally */
         if(var_prc[idx]->is_crd_var){
-          /* Return linear averages of coordinates unless computing extrema
-          Prevent coordinate variables from encountering nco_var_nrm_sdn() */
-          if((nco_op_typ != nco_op_min) && (nco_op_typ != nco_op_max)) (void)nco_var_nrm(var_prc_out[idx]->type,var_prc_out[idx]->sz,var_prc_out[idx]->has_mss_val,var_prc_out[idx]->mss_val,var_prc_out[idx]->tally,var_prc_out[idx]->val);
+          /* Always return averages (never extrema or other statistics) of coordinates
+	     Prevent coordinate variables from encountering nco_var_nrm_sdn() */
+          (void)nco_var_nrm(var_prc_out[idx]->type,var_prc_out[idx]->sz,var_prc_out[idx]->has_mss_val,var_prc_out[idx]->mss_val,var_prc_out[idx]->tally,var_prc_out[idx]->val);
         }else{ /* !var_prc[idx]->is_crd_var */
           switch(nco_op_typ){
           case nco_op_avg: /* Normalize sum by tally to create mean */
@@ -1021,6 +1039,7 @@ main(int argc,char **argv)
           break;
         } /* end switch */
       } /* var_prc[idx]->is_crd_var */
+
       /* Free tally buffer */
       var_prc_out[idx]->tally=(long *)nco_free(var_prc_out[idx]->tally);
 
@@ -1056,11 +1075,11 @@ main(int argc,char **argv)
 
       if(flg_ddra){
         /* DDRA diagnostics
-        Usage:
-        ncwa -O -C --mdl -a lat,lon,time -w lat ~/nco/data/in.nc ~/foo.nc
-        ncwa -O -C --mdl -a lat,lon -w lat ${DATA}/nco_bm/stl_5km.nc ~/foo.nc
-        ncwa -O -C --mdl -a lat,lon,time -w lat ${DATA}/nco_bm/gcm_T85.nc ~/foo.nc */
-
+	   Usage:
+	   ncwa -O -C --mdl -a lat,lon,time -w lat ~/nco/data/in.nc ~/foo.nc
+	   ncwa -O -C --mdl -a lat,lon -w lat ${DATA}/nco_bm/stl_5km.nc ~/foo.nc
+	   ncwa -O -C --mdl -a lat,lon,time -w lat ${DATA}/nco_bm/gcm_T85.nc ~/foo.nc */
+	
         /* Assign remaining input for DDRA diagnostics */
         ddra_info.lmn_nbr=var_prc[idx]->sz; /* [nbr] Variable size */
         if(wgt) ddra_info.lmn_nbr_wgt=wgt->sz; /* [nbr] Weight size */
@@ -1128,7 +1147,7 @@ main(int argc,char **argv)
     if(var_lst_in_nbr > 0) var_lst_in=nco_sng_lst_free(var_lst_in,var_lst_in_nbr);
     /* Free chunking information */
     for(idx=0;idx<cnk_nbr;idx++) cnk_arg[idx]=(char *)nco_free(cnk_arg[idx]);
-    if(cnk_nbr > 0) cnk=nco_cnk_lst_free(cnk,cnk_nbr);
+    if(cnk_nbr > 0) cnk.cnk_dmn=(cnk_dmn_sct **)nco_cnk_lst_free(cnk.cnk_dmn,cnk_nbr);
     /* Free dimension lists */
     if(nbr_dmn_xtr > 0) dim=nco_dmn_lst_free(dim,nbr_dmn_xtr);
     if(nbr_dmn_out > 0) dmn_out=nco_dmn_lst_free(dmn_out,nbr_dmn_out);
@@ -1140,6 +1159,8 @@ main(int argc,char **argv)
     var_prc=(var_sct **)nco_free(var_prc);
     var_fix=(var_sct **)nco_free(var_fix);
     var_out=(var_sct **)nco_free(var_out);
+    for(idx=0;idx<lmt_nbr;idx++) flg_dne[idx].dim_nm=(char *)nco_free(flg_dne[idx].dim_nm);
+    if (flg_dne) flg_dne=(nco_dmn_dne_t *)nco_free(flg_dne);
   } /* !flg_cln */
 
   /* End timer */ 
diff --git a/src/nco_c++/Makefile.in b/src/nco_c++/Makefile.in
index fcd7fe9..49be990 100644
--- a/src/nco_c++/Makefile.in
+++ b/src/nco_c++/Makefile.in
@@ -14,7 +14,7 @@
 
 @SET_MAKE@
 
-# $Header: /cvsroot/nco/nco/src/nco_c++/Makefile.in,v 1.108 2013/11/06 18:12:24 zender Exp $ -*-makefile-*-
+# $Header: /cvsroot/nco/nco/src/nco_c++/Makefile.in,v 1.111 2014/01/30 07:10:11 zender Exp $ -*-makefile-*-
 
 
 VPATH = @srcdir@
@@ -420,6 +420,7 @@ EXEEXT = @EXEEXT@
 FGREP = @FGREP@
 GREP = @GREP@
 HAVE_ANTLR = @HAVE_ANTLR@
+HAVE_MAKEINFO = @HAVE_MAKEINFO@
 I18N_SHARE = @I18N_SHARE@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
@@ -498,7 +499,6 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
-have_makeinfo = @have_makeinfo@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
diff --git a/src/nco_c++/Makefile.old b/src/nco_c++/Makefile.old
index 14e2345..192be63 100644
--- a/src/nco_c++/Makefile.old
+++ b/src/nco_c++/Makefile.old
@@ -1,9 +1,9 @@
-# $Header: /cvsroot/nco/nco/src/nco_c++/Makefile.old,v 1.104 2013/06/08 06:36:57 zender Exp $ -*-makefile-*-
+# $Header: /cvsroot/nco/nco/src/nco_c++/Makefile.old,v 1.105 2013/12/31 05:14:02 zender Exp $ -*-makefile-*-
 
 # Purpose: Makefile for libnco_c++ module nco_c++
 # Requires GNU Make---AT&T Make chokes on GNU syntax
 
-# Copyright (C) 1994--2013 Charlie Zender
+# Copyright (C) 1994--2014 Charlie Zender
 # License: GNU General Public License (GPL) Version 3
 # See http://www.gnu.org/copyleft/gpl.html for full license text
 
diff --git a/src/nco_c++/libnco_c++.hh b/src/nco_c++/libnco_c++.hh
index 4d8bf5f..1164950 100644
--- a/src/nco_c++/libnco_c++.hh
+++ b/src/nco_c++/libnco_c++.hh
@@ -1,8 +1,8 @@
-// $Header: /cvsroot/nco/nco/src/nco_c++/libnco_c++.hh,v 1.18 2013/10/22 03:03:55 zender Exp $ 
+// $Header: /cvsroot/nco/nco/src/nco_c++/libnco_c++.hh,v 1.19 2013/12/31 05:14:02 zender Exp $ 
 
 // Purpose: Prototypes, typedefs, and global variables for libnco_c++
 
-/* Copyright (C) 2001--2013 Charlie Zender
+/* Copyright (C) 2001--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco_c++/nco_att.cc b/src/nco_c++/nco_att.cc
index 7cac5ce..9052bb9 100644
--- a/src/nco_c++/nco_att.cc
+++ b/src/nco_c++/nco_att.cc
@@ -1,8 +1,8 @@
-// $Header: /cvsroot/nco/nco/src/nco_c++/nco_att.cc,v 1.21 2013/01/13 06:07:49 zender Exp $ 
+// $Header: /cvsroot/nco/nco/src/nco_c++/nco_att.cc,v 1.22 2013/12/31 05:14:02 zender Exp $ 
 
 // Implementation (declaration) of C++ interface to netCDF attribute routines
 
-/* Copyright (C) 2001--2013 Charlie Zender
+/* Copyright (C) 2001--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco_c++/nco_att.hh b/src/nco_c++/nco_att.hh
index 89b55f8..8da59dc 100644
--- a/src/nco_c++/nco_att.hh
+++ b/src/nco_c++/nco_att.hh
@@ -1,8 +1,8 @@
-// $Header: /cvsroot/nco/nco/src/nco_c++/nco_att.hh,v 1.19 2013/01/13 06:07:49 zender Exp $ 
+// $Header: /cvsroot/nco/nco/src/nco_c++/nco_att.hh,v 1.20 2013/12/31 05:14:02 zender Exp $ 
 
 // Purpose: Description (definition) of C++ interface to netCDF attribute routines
 
-/* Copyright (C) 2001--2013 Charlie Zender
+/* Copyright (C) 2001--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco_c++/nco_dmn.cc b/src/nco_c++/nco_dmn.cc
index ea1fed4..eb352aa 100644
--- a/src/nco_c++/nco_dmn.cc
+++ b/src/nco_c++/nco_dmn.cc
@@ -1,8 +1,8 @@
-// $Header: /cvsroot/nco/nco/src/nco_c++/nco_dmn.cc,v 1.16 2013/01/13 06:07:49 zender Exp $ 
+// $Header: /cvsroot/nco/nco/src/nco_c++/nco_dmn.cc,v 1.17 2013/12/31 05:14:02 zender Exp $ 
 
 // Implementation (declaration) of C++ interface to netCDF dimension routines
 
-/* Copyright (C) 2001--2013 Charlie Zender
+/* Copyright (C) 2001--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco_c++/nco_dmn.hh b/src/nco_c++/nco_dmn.hh
index 658037a..2a72e7b 100644
--- a/src/nco_c++/nco_dmn.hh
+++ b/src/nco_c++/nco_dmn.hh
@@ -1,8 +1,8 @@
-// $Header: /cvsroot/nco/nco/src/nco_c++/nco_dmn.hh,v 1.15 2013/01/13 06:07:49 zender Exp $ 
+// $Header: /cvsroot/nco/nco/src/nco_c++/nco_dmn.hh,v 1.16 2013/12/31 05:14:02 zender Exp $ 
 
 // Purpose: Description (definition) of C++ interface to netCDF dimension routines
 
-/* Copyright (C) 2001--2013 Charlie Zender
+/* Copyright (C) 2001--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco_c++/nco_fl.cc b/src/nco_c++/nco_fl.cc
index 965639c..9527fe7 100644
--- a/src/nco_c++/nco_fl.cc
+++ b/src/nco_c++/nco_fl.cc
@@ -1,8 +1,8 @@
-// $Header: /cvsroot/nco/nco/src/nco_c++/nco_fl.cc,v 1.16 2013/01/13 06:07:49 zender Exp $ 
+// $Header: /cvsroot/nco/nco/src/nco_c++/nco_fl.cc,v 1.17 2013/12/31 05:14:02 zender Exp $ 
 
 // Purpose: Implementation (declaration) of C++ interface to netCDF file-level routines
 
-/* Copyright (C) 2001--2013 Charlie Zender
+/* Copyright (C) 2001--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco_c++/nco_fl.hh b/src/nco_c++/nco_fl.hh
index 8e4e609..24d067f 100644
--- a/src/nco_c++/nco_fl.hh
+++ b/src/nco_c++/nco_fl.hh
@@ -1,8 +1,8 @@
-// $Header: /cvsroot/nco/nco/src/nco_c++/nco_fl.hh,v 1.15 2013/01/13 06:07:49 zender Exp $ 
+// $Header: /cvsroot/nco/nco/src/nco_c++/nco_fl.hh,v 1.16 2013/12/31 05:14:02 zender Exp $ 
 
 // Purpose: Description (definition) of C++ interface to netCDF file-level routines
 
-/* Copyright (C) 2001--2013 Charlie Zender
+/* Copyright (C) 2001--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco_c++/nco_hgh.cc b/src/nco_c++/nco_hgh.cc
index d6593dc..5d04f2c 100644
--- a/src/nco_c++/nco_hgh.cc
+++ b/src/nco_c++/nco_hgh.cc
@@ -1,8 +1,8 @@
-// $Header: /cvsroot/nco/nco/src/nco_c++/nco_hgh.cc,v 1.19 2013/10/22 03:03:56 zender Exp $ 
+// $Header: /cvsroot/nco/nco/src/nco_c++/nco_hgh.cc,v 1.20 2013/12/31 05:14:02 zender Exp $ 
 
 // Implementation (declaration) of C++ interface to high-level NCO utilities
 
-/* Copyright (C) 2001--2013 Charlie Zender
+/* Copyright (C) 2001--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco_c++/nco_hgh.hh b/src/nco_c++/nco_hgh.hh
index 6e4cf02..ca1c1e2 100644
--- a/src/nco_c++/nco_hgh.hh
+++ b/src/nco_c++/nco_hgh.hh
@@ -1,8 +1,8 @@
-// $Header: /cvsroot/nco/nco/src/nco_c++/nco_hgh.hh,v 1.15 2013/01/13 06:07:49 zender Exp $ 
+// $Header: /cvsroot/nco/nco/src/nco_c++/nco_hgh.hh,v 1.16 2013/12/31 05:14:02 zender Exp $ 
 
 // Purpose: Description (definition) of high-level NCO routines
 
-/* Copyright (C) 2001--2013 Charlie Zender
+/* Copyright (C) 2001--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco_c++/nco_utl.cc b/src/nco_c++/nco_utl.cc
index bb61bd4..a893866 100644
--- a/src/nco_c++/nco_utl.cc
+++ b/src/nco_c++/nco_utl.cc
@@ -1,8 +1,8 @@
-// $Header: /cvsroot/nco/nco/src/nco_c++/nco_utl.cc,v 1.27 2013/01/13 06:07:49 zender Exp $ 
+// $Header: /cvsroot/nco/nco/src/nco_c++/nco_utl.cc,v 1.28 2013/12/31 05:14:02 zender Exp $ 
 
 // Implementation (declaration) of C++ interface utilities for netCDF routines
 
-/* Copyright (C) 2001--2013 Charlie Zender
+/* Copyright (C) 2001--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco_c++/nco_utl.hh b/src/nco_c++/nco_utl.hh
index d1dbc33..f679400 100644
--- a/src/nco_c++/nco_utl.hh
+++ b/src/nco_c++/nco_utl.hh
@@ -1,8 +1,8 @@
-// $Header: /cvsroot/nco/nco/src/nco_c++/nco_utl.hh,v 1.27 2013/01/13 06:07:49 zender Exp $ 
+// $Header: /cvsroot/nco/nco/src/nco_c++/nco_utl.hh,v 1.28 2013/12/31 05:14:02 zender Exp $ 
 
 // Purpose: Description (definition) of C++ interface utilities for netCDF routines
 
-/* Copyright (C) 2001--2013 Charlie Zender
+/* Copyright (C) 2001--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco_c++/nco_var.cc b/src/nco_c++/nco_var.cc
index f1c5661..82bf5c1 100644
--- a/src/nco_c++/nco_var.cc
+++ b/src/nco_c++/nco_var.cc
@@ -1,8 +1,8 @@
-// $Header: /cvsroot/nco/nco/src/nco_c++/nco_var.cc,v 1.35 2013/01/13 06:07:49 zender Exp $ 
+// $Header: /cvsroot/nco/nco/src/nco_c++/nco_var.cc,v 1.36 2013/12/31 05:14:02 zender Exp $ 
 
 // Purpose: Implementation (declaration) of C++ interface to netCDF variable routines
 
-/* Copyright (C) 2001--2013 Charlie Zender
+/* Copyright (C) 2001--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco_c++/nco_var.hh b/src/nco_c++/nco_var.hh
index d20667f..b4035d8 100644
--- a/src/nco_c++/nco_var.hh
+++ b/src/nco_c++/nco_var.hh
@@ -1,8 +1,8 @@
-// $Header: /cvsroot/nco/nco/src/nco_c++/nco_var.hh,v 1.31 2013/01/13 06:07:49 zender Exp $ 
+// $Header: /cvsroot/nco/nco/src/nco_c++/nco_var.hh,v 1.32 2013/12/31 05:14:02 zender Exp $ 
 
 // Purpose: Description (definition) of C++ interface to netCDF variable routines
 
-/* Copyright (C) 2001--2013 Charlie Zender
+/* Copyright (C) 2001--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
diff --git a/src/nco_c++/tst.cc b/src/nco_c++/tst.cc
index 41cdf8c..65b75f8 100644
--- a/src/nco_c++/tst.cc
+++ b/src/nco_c++/tst.cc
@@ -1,8 +1,8 @@
-// $Header: /cvsroot/nco/nco/src/nco_c++/tst.cc,v 1.39 2013/10/22 03:12:11 zender Exp $
+// $Header: /cvsroot/nco/nco/src/nco_c++/tst.cc,v 1.40 2013/12/31 05:14:02 zender Exp $
 
 // Purpose: Test for C++ programs using libnco_c++ API
 
-/* Copyright (C) 2001--2013 Charlie Zender
+/* Copyright (C) 2001--2014 Charlie Zender
    License: GNU General Public License (GPL) Version 3
    See http://www.gnu.org/copyleft/gpl.html for full license text */
 
@@ -58,10 +58,10 @@ int main(int argc,char **argv)
   long sz_nbr(1); // [nbr] Number of sizes
   register long idx; // [idx] Counting index
 
-  const std::string CVS_Date("$Date: 2013/10/22 03:12:11 $"); // [sng] CVS date string
-  const std::string CVS_Header("$Header: /cvsroot/nco/nco/src/nco_c++/tst.cc,v 1.39 2013/10/22 03:12:11 zender Exp $"); // [sng] CVS header string
-  const std::string CVS_Id("$Id: tst.cc,v 1.39 2013/10/22 03:12:11 zender Exp $"); // [sng] CVS identification string
-  const std::string CVS_Revision("$Revision: 1.39 $"); // [sng] CVS revision string
+  const std::string CVS_Date("$Date: 2013/12/31 05:14:02 $"); // [sng] CVS date string
+  const std::string CVS_Header("$Header: /cvsroot/nco/nco/src/nco_c++/tst.cc,v 1.40 2013/12/31 05:14:02 zender Exp $"); // [sng] CVS header string
+  const std::string CVS_Id("$Id: tst.cc,v 1.40 2013/12/31 05:14:02 zender Exp $"); // [sng] CVS identification string
+  const std::string CVS_Revision("$Revision: 1.40 $"); // [sng] CVS revision string
   const std::string date_cvs(CVS_Date.length() > 7 ? CVS_Date.substr(7,19) : static_cast<std::string>("Unknown")); // [sng] Date from CVS
   const std::string sbr_nm("main"); // [sng] Subroutine name
   const std::string prg_nm("libnco_c++"); // [sng] Program name

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